changeset 83550:17e0dd217877

Merged from emacs@sv.gnu.org. Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-536 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-537 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-538 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-539 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-540 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-541 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-542 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-543 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-544 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-545 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-546 Update from erc--emacs--22 * emacs@sv.gnu.org/emacs--devo--0--patch-547 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-548 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-549 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-550 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-551 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-552 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-553 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-554 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-555 erc-iswitchb: Temporarily enable iswitchb mode * emacs@sv.gnu.org/emacs--devo--0--patch-556 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-557 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-558 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-559 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-560 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-561 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-562 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-563 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-564 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-565 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-566 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-567 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-568 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-569 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-570 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-571 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-572 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-573 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-574 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-575 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-576 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-577 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-578 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-579 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-580 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-581 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-582 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-583 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-584 Fix admin/quick-install-emacs to work with recent versions of autoconf * emacs@sv.gnu.org/gnus--rel--5.10--patch-171 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-172 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-173 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-174 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-175 Update from CVS: lisp/legacy-gnus-agent.el: Add Copyright notice. * emacs@sv.gnu.org/gnus--rel--5.10--patch-176 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-177 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-178 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-179 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-180 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-181 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-182 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-183 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-184 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-185 Merge from emacs--devo--0 git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-590
author Karoly Lorentey <lorentey@elte.hu>
date Mon, 01 Jan 2007 17:38:32 +0000
parents 8d80de0a1ac6 (current diff) 65f7f7adff78 (diff)
children d9dc7e67ad3f
files ChangeLog admin/FOR-RELEASE configure configure.in etc/TODO lib-src/emacsclient.c lib-src/etags.c lisp/ChangeLog lisp/allout.el lisp/bindings.el lisp/double.el lisp/ebuff-menu.el lisp/echistory.el lisp/edmacro.el lisp/emacs-lisp/cl-specs.el lisp/emacs-lisp/eldoc.el lisp/emulation/cua-base.el lisp/erc/erc-list.el lisp/files.el lisp/forms.el lisp/frame.el lisp/help-fns.el lisp/international/encoded-kb.el lisp/international/iso-transl.el lisp/international/mule-cmds.el lisp/international/mule.el lisp/ldefs-boot.el lisp/mail/metamail.el lisp/menu-bar.el lisp/mh-e/ChangeLog lisp/net/rlogin.el lisp/obsolete/keyswap.el lisp/obsolete/rsz-mini.el lisp/progmodes/autoconf.el lisp/progmodes/gdb-ui.el lisp/progmodes/idlwave.el lisp/progmodes/vhdl-mode.el lisp/scroll-bar.el lisp/simple.el lisp/startup.el lisp/subr.el lisp/talk.el lisp/term/AT386.el lisp/term/iris-ansi.el lisp/term/mac-win.el lisp/term/news.el lisp/term/tvi970.el lisp/term/vt100.el lisp/term/wyse50.el lisp/term/x-win.el lisp/term/xterm.el lisp/type-break.el lisp/url/url-gw.el lisp/url/url-http.el lisp/url/url-proxy.el lisp/url/url.el lisp/vc-hooks.el lisp/whitespace.el lispref/ChangeLog lispref/elisp.texi man/ChangeLog man/emacs.texi man/frames.texi oldXMenu/Activate.c oldXMenu/AddPane.c oldXMenu/AddSel.c oldXMenu/ChgPane.c oldXMenu/ChgSel.c oldXMenu/Create.c oldXMenu/DelPane.c oldXMenu/DelSel.c oldXMenu/Destroy.c oldXMenu/Error.c oldXMenu/EvHand.c oldXMenu/FindPane.c oldXMenu/FindSel.c oldXMenu/InsPane.c oldXMenu/InsSel.c oldXMenu/Internal.c oldXMenu/Locate.c oldXMenu/Post.c oldXMenu/Recomp.c oldXMenu/SetAEQ.c oldXMenu/SetFrz.c oldXMenu/SetPane.c oldXMenu/SetSel.c oldXMenu/X10.h oldXMenu/XMenu.h oldXMenu/XMenuInt.h oldXMenu/copyright.h src/.gdbinit src/Makefile.in src/buffer.c src/callint.c src/callproc.c src/coding.c src/coding.h src/config.in src/data.c src/emacs.c src/fileio.c src/fontset.c src/frame.h src/gtkutil.c src/keyboard.c src/keyboard.h src/keymap.c src/lread.c src/macfns.c src/macterm.c src/macterm.h src/minibuf.c src/msdos.c src/prefix-args.c src/process.c src/regex.c src/w32term.c src/window.c src/xdisp.c src/xterm.c
diffstat 740 files changed, 8182 insertions(+), 4929 deletions(-) [+]
line wrap: on
line diff
--- a/AUTHORS	Sun Dec 03 15:12:18 2006 +0000
+++ b/AUTHORS	Mon Jan 01 17:38:32 2007 +0000
@@ -3,8 +3,6 @@
 their public spirit, we list here in alphabetical order a condensed
 list of their contributions.
 
-"$,1 a(Bukasz Demianiuk": changed erc.el
-
 Aaron Larson: changed bibtex.el
 
 Aaron S. Hawley: changed files.texi files.el isearch.el misc.texi
@@ -23,6 +21,8 @@
 
 Agustin Martin: changed flyspell.el ispell.el
 
+Agust,Am(Bn Mart,Am(Bn: changed flyspell.el
+
 Aidan Kehoe: changed lread.c mm-util.el erc.el objects.texi
 
 Ake Stenhoff: wrote imenu.el
@@ -36,8 +36,8 @@
 Alan Mackenzie: wrote cc-awk.el
 and changed cc-cmds.el cc-mode.el cc-defs.el cc-engine.el cc-vars.el
   cc-langs.el cc-styles.el cc-mode.texi lread.c cc-fonts.el cc-align.el
-  cc-subword.el isearch.el programs.texi search.texi subr.el text.texi
-  buffers.texi cc-fix.el cc-mode-19.el ebrowse.el and 15 other files
+  programs.texi cc-subword.el isearch.el lisp.el search.texi subr.el
+  text.texi buffers.texi cc-fix.el cc-mode-19.el and 16 other files
 
 Alan Shutko: changed diary-lib.el calendar.el bindings.el cal-hebrew.el
   easy-mmode.el gnus-sum.el ibuf-ext.el ibuffer.el lunar.el macros.el
@@ -81,10 +81,12 @@
 
 Alfred Correira: changed generic-x.el
 
-Alfred M. Szmidt: changed compile.el html2text.el
+Alfred M. Szmidt: changed compile.el html2text.el openbsd.h
 
 Alfredo Finelli: changed TUTORIAL.it
 
+Alin C. Soare: changed hexl.el
+
 Ami Fischman: changed calendar.el diary-lib.el
 
 Anders Holst: wrote hippie-exp.el
@@ -100,7 +102,7 @@
 Andre Srinivasan: changed gnus-group.el gnus-sum.el gnus.texi
   mm-decode.el mml.el nnmail.el
 
-Andrea Russo: changed info-look.el
+Andrea Russo: changed erc-dcc.el info-look.el
 
 Andreas B,A|(Bsching: changed emacsclient.c
 
@@ -119,14 +121,14 @@
 
 Andreas Luik: changed xfns.c xterm.c
 
-Andreas Schwab: changed Makefile.in files.el lisp.h xdisp.c alloc.c
-  configure.in fns.c print.c coding.c dired.el editfns.c info.el eval.c
+Andreas Schwab: changed Makefile.in files.el lisp.h xdisp.c configure.in
+  alloc.c fns.c print.c coding.c dired.el editfns.c info.el eval.c
   fileio.c simple.el buffer.c minibuf.c xterm.c emacs.c keyboard.c
-  process.c and 446 other files
-
-Andreas Seltenreich: changed nnweb.el gnus.texi battery.el gnus-art.el
-  gnus-ml.el gnus-srvr.el gnus-start.el gnus-util.el gnus.el mm-url.el
-  mm-uu.el nnslashdot.el url-cookie.el url-http.el
+  process.c and 448 other files
+
+Andreas Seltenreich: changed nnweb.el gnus.texi mm-uu.el nnslashdot.el
+  battery.el easy-mmode.el gnus-art.el gnus-ml.el gnus-srvr.el
+  gnus-start.el gnus-util.el gnus.el mm-url.el url-cookie.el url-http.el
 
 Andrew Choi: wrote mac-win.el
 and changed macterm.c mac.c macfns.c INSTALL macmenu.c darwin.h macterm.h
@@ -164,8 +166,8 @@
 Arne Georg Gleditsch: changed gnus-sum.el
 
 Arne J,Ax(Brgensen: wrote latexenc.el
-and changed smime.el gnus-art.el gnus-sieve.el message.el mm-decode.el
-  mule-conf.el nnimap.el nnrss.el wid-edit.el
+and changed smime.el gnus-art.el gnus-sieve.el ldap.el message.el
+  mm-decode.el mule-conf.el nnimap.el nnrss.el wid-edit.el
 
 Artem Chuprina: changed message.el
 
@@ -192,7 +194,8 @@
 Ben Key: changed w32.c w32fns.c w32menu.c makefile.w32-in w32.h w32term.c
   emacs.c gmake.defs ms-w32.h nmake.defs sound.c
 
-Ben North: changed fill.el isearch.el lisp-mode.el w32term.c xfaces.c
+Ben North: changed fill.el isearch.el lisp-mode.el paren.el w32term.c
+  xfaces.c
 
 Benjamin Drieu: wrote pong.el
 
@@ -250,7 +253,7 @@
 
 Bob Halley: changed esh-io.el
 
-Bob Rogers: changed ffap.el
+Bob Rogers: changed ffap.el thingatpt.el
 
 Bob Weiner: changed info.el quail.el
 
@@ -326,17 +329,17 @@
   url-file.el url-handlers.el url-http.el url-nfs.el
 
 Chong Yidong: changed cus-edit.el simple.el custom.el display.texi
-  longlines.el files.el text.texi custom.texi files.texi keyboard.c
-  wid-edit.el compile.el cus-theme.el frames.texi info.el misc.texi
-  mouse.el xterm.c image-mode.el keymaps.texi sendmail.el
-  and 176 other files
+  longlines.el files.el text.texi custom.texi files.texi info.el
+  keyboard.c mouse.el wid-edit.el xterm.c compile.el cus-theme.el
+  frames.texi misc.texi startup.el image-mode.el keymaps.texi
+  and 182 other files
 
 Chris Hanson: changed xscheme.el scheme.el xterm.c hpux.h x11term.c
   hp9000s300.h keyboard.c process.c texinfmt.el emacsclient.c sort.el
   syntax.c texnfo-upd.el x11fns.c xfns.c dired.el fileio.c hp9000s800.h
   indent.c info.el man.el and 17 other files
 
-Chris Moore: changed dired.el wdired.el
+Chris Moore: changed dired.el Makefile.in gnus-sum.el wdired.el
 
 Chris Prince: changed w32term.c
 
@@ -355,7 +358,8 @@
 
 Christoph Bauer: changed configure.in
 
-Christoph Conrad: changed gnus-agent.el gnus-score.el qp.el
+Christoph Conrad: changed gnus-agent.el gnus-score.el makefile.w32-in
+  qp.el
 
 Christoph Wedler: wrote antlr-mode.el
 and changed format.el gnus-art.el gnus-picon.el message.el register.el
@@ -566,11 +570,11 @@
 
 Dhruva Krishnamurthy: changed makefile.w32-in
 
-Diane Murray: changed erc.el erc-button.el erc-menu.el erc-match.el
-  erc-track.el erc-nets.el erc-backend.el erc-list.el erc-nickserv.el
-  erc-autoaway.el erc-stamp.el erc-compat.el erc-goodies.el erc-log.el
-  Makefile erc-fill.el erc-ibuffer.el erc-notify.el erc-ring.el
-  erc-speak.el erc-speedbar.el and 25 other files
+Diane Murray: changed erc.el erc-menu.el erc-button.el erc-match.el
+  erc-track.el erc-backend.el erc-nets.el erc-list.el erc-autoaway.el
+  erc-nickserv.el erc-compat.el erc-stamp.el erc-goodies.el
+  erc-ibuffer.el erc-log.el Makefile erc-dcc.el erc-fill.el
+  erc-nicklist.el erc-notify.el erc-ring.el and 30 other files
 
 Dick King: wrote uniquify.el
 
@@ -628,9 +632,9 @@
 
 Eli Zaretskii: wrote codepage.el rxvt.el tty-colors.el
 and changed msdos.c Makefile.in makefile.w32-in files.el info.el fileio.c
-  startup.el mainmake.v2 config.bat menu-bar.el pc-win.el rmail.el
-  simple.el internal.el msdos.h xfaces.c frame.c dosfns.c faces.el
-  frame.el emacs.c and 518 other files
+  startup.el mainmake.v2 config.bat menu-bar.el pc-win.el msdos.h
+  rmail.el simple.el internal.el xfaces.c frame.c dosfns.c emacs.c
+  faces.el frame.el and 521 other files
 
 Emanuele Giaquinta: changed rxvt.el configure.in etags.c frame.el
   sh-script.el text.texi
@@ -659,7 +663,7 @@
 Eric Eide: changed gnus-xmas.el
 
 Eric Hanchrow: changed TUTORIAL.es abbrev.el autorevert.el delphi.el
-  dired.el emacsclient.c ispell.el make-dist
+  dired.el emacsclient.c erc.el ispell.el make-dist
 
 ,AI(Bric Jacoboni: changed fr-refcard.tex
 
@@ -835,10 +839,10 @@
   xsmfns.c
 
 Glenn Morris: changed f90.el calendar.el diary-lib.el fortran.el
-  calendar.texi appt.el sh-script.el timeclock.el cal-menu.el
+  calendar.texi appt.el sh-script.el timeclock.el cal-menu.el Makefile.in
   cal-hebrew.el cal-islam.el files.el holidays.el programs.texi
-  scroll-all.el startup.el cal-coptic.el cal-julian.el cal-move.el
-  cal-tex.el cal-x.el and 41 other files
+  scroll-all.el startup.el abbrevs.texi cal-coptic.el cal-julian.el
+  cal-move.el and 59 other files
 
 Glynn Clements: wrote gamegrid.el snake.el tetris.el
 
@@ -978,8 +982,8 @@
 
 Iwamuro Motonori: changed gnus-kill.el
 
-J.D. Smith: changed idlwave.el idlw-shell.el idlw-rinfo.el
-  idlw-toolbar.el idlw-help.el vc.el bibtex.el comint.el files.texi
+J.D. Smith: changed idlwave.el idlw-shell.el idlw-help.el idlw-rinfo.el
+  idlw-toolbar.el vc.el bibtex.el comint.el files.texi hideshow.el
   idlw-complete-structtag.el idlwave.texi misc.texi mouse.el
 
 Jaap-Henk Hoepman: changed mm-decode.el
@@ -1012,10 +1016,10 @@
 and changed bytecode.c mail-extr.el subr.el
 
 Jan Dj,Ad(Brv: wrote dnd.el x-dnd.el
-and changed gtkutil.c xterm.c xfns.c xmenu.c xterm.h gtkutil.h
-  configure.in x-win.el Makefile.in frames.texi keyboard.c config.in
+and changed gtkutil.c xterm.c xfns.c xmenu.c xterm.h configure.in
+  gtkutil.h x-win.el Makefile.in frames.texi keyboard.c config.in
   configure xselect.c emacs.c alloc.c xlwmenu.c xresources.texi frame.c
-  startup.el xdisp.c and 174 other files
+  startup.el xdisp.c and 175 other files
 
 Jan Nieuwenhuizen: changed info.el TUTORIAL.nl emacs.c emacsclient.c
   gnus-start.el gud.el nnmh.el server.el startup.el
@@ -1182,6 +1186,8 @@
 
 John Hughes: changed term.c
 
+John J Foerch: changed erc-stamp.el
+
 John Mongan: changed f90.el
 
 John Paul Wallington: changed ibuffer.el ibuf-ext.el subr.el files.el
@@ -1258,13 +1264,15 @@
 
 Jouni K Seppanen: changed nnimap.el
 
+Jouni K. Sepp,Ad(Bnen: changed mm-url.el
+
 Juan Le,As(Bn Lahoz Garc,Am(Ba: wrote wdired.el
 and changed files.el perl-mode.el
 
-Juanma Barranquero: changed makefile.w32-in help-fns.el subr.el faces.el
-  files.el w32fns.c bs.el cperl-mode.el eval.c org.el replace.el
-  simple.el sh-script.el vhdl-mode.el ada-mode.el allout.el comint.el
-  emacsclient.c idlwave.el process.c w32-win.el and 584 other files
+Juanma Barranquero: changed makefile.w32-in subr.el help-fns.el faces.el
+  files.el w32fns.c emacsclient.c replace.el bs.el buffer.c cperl-mode.el
+  eval.c org.el simple.el xdisp.c idlwave.el sh-script.el vhdl-mode.el
+  ada-mode.el allout.el comint.el and 619 other files
 
 Juergen Hoetzel: changed url-handlers.el
 
@@ -1343,9 +1351,9 @@
 
 Katsumi Yamaoka: wrote canlock.el
 and changed gnus-art.el message.el gnus-sum.el gnus.texi mm-decode.el
-  mm-view.el gnus-util.el gnus-msg.el mm-util.el gnus.el lpath.el
+  mm-view.el gnus-util.el mm-util.el gnus-msg.el gnus.el lpath.el
   gnus-group.el gnus-start.el rfc2047.el dgnushack.el mm-uu.el
-  gnus-agent.el mml.el nntp.el nnrss.el rfc2231.el and 71 other files
+  gnus-agent.el mml.el nntp.el nnrss.el rfc2231.el and 72 other files
 
 Kaveh R. Ghazi: changed delta88k.h xterm.c
 
@@ -1405,32 +1413,33 @@
   s/ms-w32.h scroll.c startup.el sysdep.c term.c unexw32.c w32.c
   and 16 other files
 
-Kevin Greiner: changed gnus-agent.el gnus-start.el gnus-sum.el
-  gnus-int.el gnus.el nntp.el gnus-util.el gnus-group.el gnus-cus.el
-  gnus-range.el legacy-gnus-agent.el gnus-art.el gnus-cache.el
-  gnus-srvr.el nnagent.el nnheader.el dgnushack.el gnus-async.el
-  gnus-draft.el gnus-registry.el gnus-salt.el and 4 other files
+Kevin Greiner: wrote legacy-gnus-agent.el
+and changed gnus-agent.el gnus-start.el gnus-sum.el gnus-int.el gnus.el
+  nntp.el gnus-util.el gnus-group.el gnus-cus.el gnus-range.el
+  gnus-art.el gnus-cache.el gnus-srvr.el nnagent.el nnheader.el
+  dgnushack.el gnus-async.el gnus-draft.el gnus-registry.el gnus-salt.el
+  gnus-uu.el and 3 other files
 
 Kevin Layer: changed w32proc.c
 
-Kevin Rodgers: changed compile.el mailabbrev.el dired-x.el simple.el
-  ange-ftp.el byte-opt.el desktop.el dired-x.texi ffap.el files.el
-  flyspell.el isearch.el lisp.el loadhist.el mailalias.el menu-bar.el
-  print.c replace.el sendmail.el vc.el xfns.c
+Kevin Rodgers: changed compile.el mailabbrev.el dired-x.el files.el
+  simple.el ange-ftp.el byte-opt.el desktop.el dired-x.texi ffap.el
+  files.texi flyspell.el isearch.el lisp.el loadhist.el mailalias.el
+  menu-bar.el print.c replace.el sendmail.el vc.el xfns.c
 
 Kevin Ryde: wrote info-xref.el
 and changed info-look.el info.el gnus-art.el gnus-sum.el mailcap.el
   os.texi text.texi MORE.STUFF cc-align.el cmdargs.texi compile.texi
   display.texi em-alias.el em-dirs.el em-hist.el em-unix.el
-  emacs-lisp-intro.texi ffap.el frames.texi glossary.texi gnus.texi
-  and 14 other files
+  emacs-lisp-intro.texi etags.c ffap.el frames.texi glossary.texi
+  and 15 other files
 
 Kim F. Storm: wrote bindat.el cua-base.el cua-gmrk.el cua-rect.el ido.el
   keypad.el kmacro.el
-and changed xdisp.c dispextern.h simple.el window.c xterm.c keyboard.c
-  process.c subr.el w32term.c dispnew.c lisp.h fringe.c macterm.c
-  display.texi fns.c alloc.c xfaces.c xfns.c xterm.h keymap.c .gdbinit
-  and 240 other files
+and changed xdisp.c dispextern.h simple.el process.c window.c keyboard.c
+  xterm.c subr.el w32term.c dispnew.c lisp.h fringe.c macterm.c
+  display.texi fns.c alloc.c xfaces.c xfns.c xterm.h .gdbinit info.el
+  and 243 other files
 
 Kim-Minh Kaplan: changed gnus-picon.el gnus-sum.el gnus-start.el
   gnus-win.el gnus-xmas.el gnus.texi message.el nndraft.el nnml.el
@@ -1445,8 +1454,8 @@
 Koaunghi Un: wrote hanja3.el
 and changed hanja.el hangul.el hangul3.el hanja-jis.el symbol-ksc.el
 
-Kobayashi Yasuhiro: changed w32fns.c configure.bat info.el w32term.c
-  w32term.h window.c xfns.c
+Kobayashi Yasuhiro: changed w32fns.c configure.bat indent.c info.el
+  w32term.c w32term.h window.c xfns.c
 
 Kohtala Marko: changed info.el
 
@@ -1477,7 +1486,7 @@
 Lars Brinkhoff: changed building.texi config.in configure configure.in
   editfns.c fns.c os.texi
 
-Lars Hansen: changed desktop.el info.el mh-e.el tramp.el dired-x.el
+Lars Hansen: changed desktop.el tramp.el info.el mh-e.el dired-x.el
   dired-x.texi dired.el ls-lisp.el rmail.el dired.c files.texi grp.h
   hilit-chg.el misc.texi url-auth.el url-cache.el url-dired.el url-ftp.el
   url-irc.el url-misc.el url-news.el and 39 other files
@@ -1521,15 +1530,17 @@
 
 Leigh Stoller: changed emacsclient.c emacsserver.c server.el
 
-Lennart Borgman: changed window.el ada-xref.el filesets.el flymake.el
-  help-fns.el mouse.el recentf.el shell.el texinfmt.el tutorial.el
-  w32term.c w32term.h
+Lennart Borgman: changed tutorial.el window.el ada-xref.el emacsclient.c
+  filesets.el flymake.el help-fns.el mouse.el recentf.el shell.el
+  texinfmt.el w32term.c w32term.h
 
 Lennart Staflin: changed dired.el diary-ins.el diary-lib.el tq.el xdisp.c
 
 Leonard H. Tower Jr.: changed rnews.el rnewspost.el emacsbug.el
   rmailout.el
 
+Liam Healy: changed outline.el
+
 Lloyd Zusman: changed mml.el
 
 Luc Teirlinck: wrote help-at-pt.el
@@ -1538,6 +1549,8 @@
   comint.el custom.texi emacs.texi fns.c frame.el ielm.el minibuf.texi
   modes.texi variables.texi buffers.texi and 215 other files
 
+$,1 a(Bukasz Demianiuk: changed erc.el
+
 Lucid, Inc.: changed byte-opt.el byte-run.el bytecode.c bytecomp.el
   delsel.el disass.el faces.el font-lock.el lmenu.el lselect.el
   mailabbrev.el select.el xfaces.c xselect.c
@@ -1559,8 +1572,8 @@
 
 Maciek Pasternacki: changed nnrss.el
 
-Magnus Henoch: changed url-http.el ispell.el url-gw.el url-parse.el
-  url.el autoinsert.el rcirc.el url-https.el
+Magnus Henoch: changed url-http.el ispell.el url.el url-gw.el
+  url-parse.el autoinsert.el rcirc.el url-https.el url-proxy.el
 
 Manuel Serrano: wrote flyspell.el
 
@@ -1590,14 +1603,14 @@
 
 Marien Zwart: changed python.el
 
-Mario Lang: wrote erc-button.el erc-ibuffer.el erc-imenu.el erc-list.el
-  erc-menu.el erc-netsplit.el erc-networks.el erc-notify.el
-  erc-speedbar.el erc-stamp.el erc-track.el erc-xdcc.el
+Mario Lang: wrote erc-button.el erc-ibuffer.el erc-imenu.el erc-menu.el
+  erc-netsplit.el erc-networks.el erc-notify.el erc-speedbar.el
+  erc-stamp.el erc-track.el erc-xdcc.el
 and changed erc.el erc-dcc.el erc-speak.el Makefile erc-bbdb.el
-  erc-complete.el erc-pcomplete.el erc-chess.el erc-fill.el battery.el
-  erc-match.el erc-autojoin.el erc-nets.el erc-nickserv.el erc-ring.el
-  diff.el erc-ezbounce.el erc-identd.el erc-lang.el erc-log.el
-  erc-macs.el and 5 other files
+  erc-complete.el erc-pcomplete.el erc-chess.el erc-fill.el erc-list.el
+  battery.el erc-match.el erc-autojoin.el erc-nets.el erc-nickserv.el
+  erc-ring.el diff.el erc-ezbounce.el erc-identd.el erc-lang.el
+  erc-log.el and 6 other files
 
 Mark A. Hershberger: changed xml.el nnrss.el mm-url.el cperl-mode.el
   gnus-group.el
@@ -1669,7 +1682,7 @@
 Martin Rudalics: changed cus-edit.el wid-edit.el flyspell.el cus-start.el
   files.el font-lock.el insdel.c macmenu.c syntax.c w32menu.c window.el
   xdisp.c xmenu.c buffer.c buffer.h casefiddle.c cperl-mode.el custom.el
-  dispextern.h dnd.el editfns.c and 25 other files
+  dispextern.h dnd.el editfns.c and 26 other files
 
 Martin Stjernholm: wrote cc-bytecomp.el
 and changed cc-engine.el cc-cmds.el cc-langs.el cc-defs.el cc-mode.el
@@ -1687,12 +1700,13 @@
 and changed gnuspost.el
 
 Masatake Yamato: wrote cc-subword.el ld-script.el
-and changed etags.el asm-mode.el xdisp.c bindings.el hexl.el man.el
+and changed etags.el asm-mode.el hexl.el xdisp.c bindings.el man.el
   simple.el wid-edit.el add-log.el compile.el faces.el pcvs.el
   register.el ruler-mode.el buffer.c cus-face.el dired-x.el display.texi
-  etags.c font-lock.el gdb-ui.el and 58 other files
-
-Masayuki Ataka: changed texinfmt.el texinfo.el characters.el make-mode.el
+  etags.c font-lock.el gdb-ui.el and 59 other files
+
+Masayuki Ataka: changed texinfmt.el texinfo.el characters.el cmuscheme.el
+  make-mode.el
 
 Masayuki Fujii: changed dnd.el w32-win.el
 
@@ -1773,16 +1787,16 @@
 
 Michael Olson: changed erc.el erc-backend.el Makefile erc.texi
   erc-stamp.el erc-log.el erc-autoaway.el erc-identd.el erc-track.el
-  erc-match.el erc-dcc.el erc-notify.el erc-goodies.el erc-ibuffer.el
-  erc-list.el erc-pcomplete.el erc-spelling.el erc-bbdb.el erc-compat.el
-  erc-nicklist.el erc-*.el and 42 other files
+  erc-match.el erc-dcc.el erc-list.el erc-notify.el erc-goodies.el
+  erc-ibuffer.el erc-nicklist.el erc-pcomplete.el erc-spelling.el
+  erc-bbdb.el erc-compat.el erc-fill.el and 42 other files
 
 Michael Piotrowski: changed gnus-sum.el ps-print.el
 
 Michael R. Cook: changed gnus-topic.el gnus-art.el gnus-sum.el
 
-Michael R. Mauger: changed sql.el cua-base.el custom.el facemenu.el
-  recentf.el replace.el tramp.el w32fns.c
+Michael R. Mauger: changed sql.el emacsclient.c cua-base.el custom.el
+  facemenu.el recentf.el replace.el tramp.el w32fns.c
 
 Michael R. Wolf: changed ange-ftp.el
 
@@ -1805,9 +1819,10 @@
 
 Michal Nazarewicz: changed ispell.el
 
-Micha,Ak(Bl Cadilhac: changed ido.el ispell.el battery.el blackbox.el
-  cus-edit.el dispnew.c info.el life.el lpr.el make-mode.el pong.el
-  print.c process.c rect.el startup.el subr.el uni-input.el zone.el
+Micha,Ak(Bl Cadilhac: changed ido.el ispell.el anti.texi battery.el
+  blackbox.el cmuscheme.el cus-edit.el dispnew.c faq.texi flyspell.el
+  glasses.el info.el life.el lpr.el make-mode.el misc.texi pong.el
+  print.c process.c rect.el shell.el and 5 other files
 
 Michelangelo Grigni: wrote ffap.el
 and changed gnus-score.el
@@ -1874,7 +1889,7 @@
 Nagy Andras: wrote gnus-sieve.el
 and changed imap.el gnus.el
 
-Nakaji Hiroyuki: changed mm-util.el
+Nakaji Hiroyuki: changed amdx86-64.h configure configure.in mm-util.el
 
 Nakamura Toshikazu: changed w32fns.c
 
@@ -1899,7 +1914,7 @@
 and changed gud.el building.texi tooltip.el speedbar.el bindings.el
   thumbs.el DEBUG cc-mode.el frames.texi subr.el xt-mouse.el .gdbinit
   comint.el display.texi help-mode.el descr-text.el gud-display.pbm
-  speedbar.texi tumme.el xdisp.c byte-run.el and 112 other files
+  speedbar.texi tumme.el xdisp.c byte-run.el and 113 other files
 
 Nico Francois: changed w32fns.c w32inevt.c w32menu.c
 
@@ -2006,8 +2021,9 @@
   coding.c eval.c fileio.c flyspell.el fns.c indent.c callint.c
   cus-start.el and 703 other files
 
-Pavel Kobiakov: wrote flymake.el
-and changed flymake.texi
+Pavel Kobiakov: changed flymake.el flymake.texi
+
+Pavel Kobyakov: wrote flymake.el
 
 Per Abrahamsen: wrote cpp.el cus-dep.el cus-edit.el cus-face.el
   cus-start.el custom.el double.el gnus-cite.el gnus-cus.el gnus-score.el
@@ -2132,7 +2148,7 @@
   gnus-group.el gnus-faq.texi gnus-util.el mml.el gnus-start.el
   mm-util.el gnus-agent.el gnus-msg.el gnus-score.el message.texi
   files.el spam-report.el mm-decode.el nnweb.el spam.el deuglify.el
-  and 162 other files
+  and 163 other files
 
 Remek Trzaska: changed gnus-ems.el
 
@@ -2227,9 +2243,9 @@
 and changed files.el find-file.el
 
 Romain Francoise: changed faq.texi dired-x.el ibuf-ext.el Makefile.in
-  compile.el message.el puresize.h replace.el subr.el files.texi
-  gnus-fun.el gnus.texi help-fns.el make-dist rcirc.el antlr-mode.el
-  bookmark.el buffer.c comint.el diary-lib.el dired.el
+  compile.el message.el puresize.h replace.el subr.el comint.el
+  files.texi gnus-fun.el gnus.texi help-fns.el make-dist rcirc.el
+  antlr-mode.el bookmark.el buffer.c diary-lib.el dired.el
   and 126 other files
 
 Roman Belenov: changed which-func.el
@@ -2350,7 +2366,7 @@
 and changed comint.el font-lock.el shell.el rmail.el fortran.el
   sendmail.el subr.el dired.el sh-script.el texinfo.el add-log.el
   compile.el outline.el help.el menu-bar.el perl-mode.el ps-print.el
-  rmailsum.el bytecomp.el data.c faces.el and 57 other files
+  rmailsum.el bytecomp.el cc-fonts.el data.c and 57 other files
 
 Skip Collins: changed w32fns.c w32term.c w32term.h
 
@@ -2370,7 +2386,7 @@
 and changed vc.el font-lock.el pcvs.el newcomment.el subr.el lisp.h
   keyboard.c keymap.c tex-mode.el fill.el alloc.c compile.el files.el
   regex.c easy-mmode.el simple.el info.el syntax.c vc-hooks.el xdisp.c
-  sh-script.el and 512 other files
+  sh-script.el and 513 other files
 
 Steinar Bang: changed imap.el
 
@@ -2610,7 +2626,7 @@
 Vinicius Jose Latorre: wrote delim-col.el ebnf-abn.el ebnf-bnf.el
   ebnf-dtd.el ebnf-ebx.el ebnf-iso.el ebnf-otz.el ebnf-yac.el ebnf2ps.el
   printing.el ps-mule.el
-and changed ps-print.el ps-prin1.ps ps-prin0.ps ps-prin3.ps ps-bdf.el
+and changed ps-print.el ps-prin1.ps ps-bdf.el ps-prin0.ps ps-prin3.ps
   ps-prin2.ps lpr.el subr.el ps-print-def.el ps-print0.ps ps-vars.el
 
 Vivek Dasmohapatra: changed emacs.c sh-script.el xterm.c xterm.h
@@ -2647,6 +2663,8 @@
   url-cid.el url-dired.el url-expand.el url-ftp.el url-history.el
   url-irc.el and 6 other files
 
+William Smith: changed strftime.c
+
 William Sommerfeld: wrote emacsclient.c emacsserver.c scribe.el server.el
 
 Wilson H. Tien: changed unexelf.c
@@ -2677,9 +2695,9 @@
 Yagi Tatsuya: changed gnus-art.el gnus-start.el
 
 Yamamoto Mitsuharu: changed macterm.c macfns.c mac-win.el mac.c macterm.h
-  macgui.h macmenu.c image.c macselect.c keyboard.c xdisp.c makefile.MPW
-  emacs.c config.h macos.texi xfaces.c Makefile.in darwin.h INSTALL
-  dispextern.h dispnew.c and 71 other files
+  macgui.h macmenu.c image.c macselect.c keyboard.c xdisp.c emacs.c
+  makefile.MPW config.h macos.texi xfaces.c INSTALL Makefile.in darwin.h
+  configure configure.in and 71 other files
 
 Yann Dirson: changed imenu.el
 
--- a/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,57 @@
+2006-12-26  Andreas Schwab  <schwab@suse.de>
+
+	* Makefile.in (datarootdir): Define.
+
+2006-12-24  Richard Stallman  <rms@gnu.org>
+
+	* configure.in: Require Autoconf 2.61.
+
+2006-12-22  Mark Davies  <mark@mcs.vuw.ac.nz>
+
+	* configure.in: Add support for NetBSD on x86-64, hp800 and sh3el.
+	Remove redundant entry for powerpc-apple-netbsd.
+
+	* configure: Regenerate.
+
+2006-12-22  Chong Yidong  <cyd@stupidchicken.com>
+
+	* configure: Regenerate with autoconf 2.61.
+
+2006-12-20  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
+
+	* configure.in: Detect alsa/asoundlib.h also.
+	* configure: Regenerate.
+
+2006-12-19  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
+
+	* configure.in: Check if GTK+ compiles at all.
+
+2006-12-10  Andreas Schwab  <schwab@suse.de>
+
+	* configure.in: Remove check for struct timezone, its result is
+	never used.
+
+2006-12-08  NAKAJI Hiroyuki  <nakaji@jp.freebsd.org>  (tiny change)
+
+	* configure.in: Add support for Solaris 10 on x86-64.
+
+2006-12-08  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
+
+	* INSTALL (DETAILED BUILDING AND INSTALLATION): Document usage
+	of PKG_CONFIG_PATH.
+
+2006-12-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* configure.in (HAVE_SYNC): New test.
+
+2006-12-03  Glenn Morris  <rgm@gnu.org>
+
+	* Makefile.in: Fix Copyright format.
+
+	* configure.in (AH_TOP): Add missing Copyright year.
+
+	* update-subdirs: Add missing Copyright years.
+
 2006-11-27  Chris Moore  <christopher.ian.moore@gmail.com>  (tiny change)
 
 	* Makefile.in: Touch only the parts of the share/emacs directory
@@ -7,21 +61,15 @@
 
 	* configure.in (HAVE_X86_64_LIB64_DIR): New test.
 
-	* configure: Regenerate.
-
 2006-11-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
 	* configure.in (HAVE_CANCELMENUTRACKING): Remove test.
 
-	* configure: Regenerate.
-
 2006-11-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
 	* configure.in: Prefer X11 to Carbon only when some X-specific
 	option is specified (Thanks to Jan Dj,Ad(Brv and Andreas Schwab).
 
-	* configure: Regenerate.
-
 2006-11-04  Romain Francoise  <romain@orebokech.com>
 
 	* Makefile.in (bootstrap-clean-before): Fix typo.
@@ -36,10 +84,6 @@
 	* make-dist: Add makefile.w32-in to the man, lispref and lispintro
 	directories.
 
-2006-10-29  Chong Yidong  <cyd@stupidchicken.com>
-
-	* configure: Regenerate using autoconf 2.59.
-
 2006-10-29  Jeramey Crawford  <jeramey@jeramey.com>
 
 	* configure.in: Enable x86-64 OpenBSD compilation.
@@ -57,26 +101,12 @@
 
 	* README: Bump version number to 22.0.90.
 
-	* AUTHORS: Regenerate.
-
-	* configure: Regenerate.
-
 2006-10-23  Andreas Schwab  <schwab@suse.de>
 
 	* configure.in: Make sure x_default_search_path is always set even
 	when x_libraries is empty, and look in .../share as well for each
 	library directory.
 
-	* configure: Regenerate.
-
-2006-10-03  Kim F. Storm  <storm@cua.dk>
-
-	* AUTHORS: Regenerate.
-
-2006-09-30  Eli Zaretskii  <eliz@gnu.org>
-
-	* configure: Regenerate.
-
 2006-09-28  Kenichi Handa  <handa@m17n.org>
 
 	* configure.in (locallisppath): Don't include leim dir.
@@ -92,10 +122,6 @@
 	* make-dist (EMACS): Exit and fail if the EMACS environment
 	variable is set to something other than an absolute file name.
 
-2006-09-07  Kim F. Storm  <storm@cua.dk>
-
-	* AUTHORS: Regenerate.
-
 2006-08-16  Andreas Schwab  <schwab@suse.de>
 
 	* configure.in (PKG_CHECK_MODULES): Use AS_MESSAGE_LOG_FD instead
@@ -111,10 +137,6 @@
 	$PKG_CONFIG --exists "$2" to config.log.
 	* configure: Regenerate.
 
-2006-07-14  Kim F. Storm  <storm@cua.dk>
-
-	* AUTHORS: Regenerate.
-
 2006-07-08  Richard Stallman  <rms@gnu.org>
 
 	* INSTALL (DETAILED BUILDING AND INSTALLATION): Minor corrections.
@@ -126,8 +148,6 @@
 
 2006-07-08  Eli Zaretskii  <eliz@gnu.org>
 
-	* configure: Regenerate.
-
 	* configure.in (PKG_CHECK_MODULES): Redirect stderr of pkg-config
 	to /dev/null, since we don't need the error message, just the
 	exit status.
@@ -153,22 +173,13 @@
 
 	* CONTRIBUTE: New file.
 
-2006-06-25  Kim F. Storm  <storm@cua.dk>
-
-	* AUTHORS: Regenerate.
-
 2006-06-24  Eli Zaretskii  <eliz@gnu.org>
 
 	* INSTALL: Mention www.nongnu.org pages that list free Unicode fonts.
 
-2006-06-05  Kim F. Storm  <storm@cua.dk>
-
-	* AUTHORS: Regenerate.
-
 2006-05-18  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* configure.in: Add check for ALSA.
-	* configure: Regenerate.
 
 2006-05-06  Eli Zaretskii  <eliz@gnu.org>
 
@@ -180,10 +191,6 @@
 
 	* Copyright (sources/emacs): Update copyright year(s).
 
-2006-04-01  Eli Zaretskii  <eliz@gnu.org>
-
-	* configure: Regenerate.
-
 2006-04-01  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)
 
 	* configure.in (HAVE_XAW3D): Disable Xaw3d check if
@@ -207,10 +214,6 @@
 	* Makefile.in (install, uninstall): Add DESTDIR variable to
 	support staged installations.
 
-2006-02-14  Eli Zaretskii  <eliz@gnu.org>
-
-	* configure: Regenerate.
-
 2006-02-14  Richard M. Stallman  <rms@gnu.org>
 
 	* configure.in (s390x-*-linux-gnu*): New configuration.
@@ -218,7 +221,6 @@
 2006-01-31  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* configure.in: Require GTK 2.4 or newer.
-	* configure: Regenerate.
 
 2006-01-29  Michael Olson  <mwolson@gnu.org>
 
@@ -242,12 +244,10 @@
 
 	* configure.in: Move AC_AIX and AC_GNU_SOURCE before first compile
 	check.
-	* configure: Regenerate.
 
 2006-01-02  Chong Yidong  <cyd@stupidchicken.com>
 
 	* configure.in: Use -Wno-pointer-sign if available.
-	* configure: Regenerate.
 
 2005-12-29  Andreas Schwab  <schwab@suse.de>
 
@@ -276,14 +276,12 @@
 2005-11-01  Romain Francoise  <romain@orebokech.com>
 
 	* configure.in: Check for gzip.
-	* configure: Regenerate.
 
 	* Makefile.in (install): Compress source files.
 
 2005-10-24  Steven Tamm  <steventamm@mac.com>
 
 	* configure.in: Fix darwin386 configuration issue.
-	* configure: Regenerate.
 
 2005-10-22  Eli Zaretskii  <eliz@gnu.org>
 
@@ -310,7 +308,6 @@
 
 	* configure.in: Prefer Carbon if --enable-carbon-app or
 	--with-carbon is explicitly specified even when X11 is detected.
-	* configure: Regenerate.
 
 2005-09-15  Ulf Jasper  <ulf.jasper@web.de>
 
@@ -318,16 +315,11 @@
 	Handle newsticker manual.
 	(info): Add - to commands.
 
-2005-09-11  Kim F. Storm  <storm@cua.dk>
-
-	* AUTHORS: Regenerate.
-
 2005-09-10  Giuseppe Scrivano  <gscrivano@gmail.com>
 
 	Remove the MAXPATHLEN limitations:
 
 	* configure.in (AC_CHECK_FUNCS): Check for get_current_dir_name.
-	* configure: Regenerate.
 
 2005-09-09  Eli Zaretskii  <eliz@gnu.org>
 
@@ -361,7 +353,6 @@
 2005-07-06  Lute Kamstra  <lute@gnu.org>
 
 	* configure.in: Fix capitalization.
-	* configure: Regenerate.
 
 2005-07-04  Lute Kamstra  <lute@gnu.org>
 
@@ -375,24 +366,20 @@
 2005-06-08  Steven Tamm  <steventamm@mac.com>
 
 	* configure.in: Support Darwin/MacOSX on Intel
-	* configure: Regenerate.
 
 2005-06-06  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* configure.in (HAVE_CANCELMENUTRACKING): New test.
-	* configure: Regenerate.
 
 2005-05-11  J,Ai(Br,At(Bme Marant  <jmarant@marant.org>
 
 	* configure.in: Add --enable-locallisppath.
-	* configure: Regenerate.
 
 2005-05-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
 	* configure.in: Don't check HAVE_CARBON if HAVE_X11 is set to yes.
 	Check HAVE_CARBON before USE_TOOLKIT_SCROLL_BARS.  Define
 	USE_TOOLKIT_SCROLL_BARS by default if HAVE_CARBON is set to yes.
-	* configure: Regenerate.
 
 2005-05-07  J,Ai(Br,At(Bme Marant  <jerome@marant.org>
 
@@ -403,12 +390,10 @@
 2005-04-23  Andreas Schwab  <schwab@suse.de>
 
 	* configure.in: Remove duplicate match for powerpc configuration.
-	* configure: Regenerate.
 
 2005-04-20  Thien-Thi Nguyen  <ttn@gnu.org>
 
 	* configure.in: Check for <pwd.h>.
-	* configure: Regenerate.
 
 2005-04-14  Lute Kamstra  <lute@gnu.org>
 
@@ -429,12 +414,10 @@
 2005-03-10  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* configure.in: Only add XASSERTS to cppflags.
-	* configure: Regenerate.
 
 2005-03-04  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* configure.in: Added --enable-asserts.
-	* configure: Regenerate.
 
 2005-02-09  Kim F. Storm  <storm@cua.dk>
 
@@ -444,7 +427,6 @@
 2005-01-19  Steven Tamm  <steventamm@mac.com>
 
 	* configure.in: Check for <sys/utsname.h>.
-	* configure: Regenerate.
 
 2004-12-11  Kim F. Storm  <storm@cua.dk>
 
@@ -465,7 +447,6 @@
 
 	* configure.in: If $HAVE_GTK_FILE_CHOOSER = yes, check for
 	pthreads and define HAVE_GTK_AND_PTHREAD.
-	* configure: Regenerate.
 
 2004-12-05  Richard M. Stallman  <rms@gnu.org>
 
@@ -499,7 +480,6 @@
 2004-11-06  Lars Brinkhoff  <lars@nocrew.org>
 
 	* configure.in: Add check for getrusage.
-	* configure: Regenerate.
 
 2004-11-02  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
@@ -508,18 +488,14 @@
 	(HAVE_GTK): Only set with_toolkit_scroll_bars if not explicitly set
 	to no.
 
-	* configure: Rebuild.
-
 2004-10-20  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* configure.in (HAVE_PERSONALITY_LINUX32): New test if PER_LINUX32
 	can be set.  Remove SETARCH test.
-	* configure: Rebuild.
 
 2004-10-08  Steven Tamm  <steventamm@mac.com>
 
 	* configure.in (HAVE_MALLOC_MALLOC_H): Test for malloc/malloc.h
-	* configure: Rebuild.
 
 2004-10-06  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
@@ -539,12 +515,10 @@
 2004-09-25  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* configure.in (HAVE_EXECSHIELD): Only define on x86.
-	* configure: Rebuild.
 
 2004-09-24  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* configure.in: Check for exec-shield.
-	* configure: Rebuild.
 
 2004-08-06  Andreas Schwab  <schwab@suse.de>
 
@@ -652,7 +626,7 @@
 
 	* make-dist (lispref): Do include lispref/index.texi.
 
-2004-01-06  Eric Hanchrow <offby1@blarg.net> (tiny change)
+2004-01-06  Eric Hanchrow  <offby1@blarg.net>  (tiny change)
 
 	* make-dist (tempdir): Include cursors in nt/icons.
 
@@ -683,7 +657,6 @@
 
 	* configure.in (powerpc-apple-darwin*): Use ${CC-cc} instead of
 	hardcoding gcc.
-	* configure: Rebuild.
 
 2003-11-16  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
@@ -760,10 +733,6 @@
 
 	* configure.in: Fix XRegisterIMInstantiateCallback check for gcc.
 
-2003-06-26  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
-
-	* configure: Regenerate.
-
 2003-06-23  Dave Love  <fx@gnu.org>
 
 	* configure.in: Check for sys/_mbstate_t.h.
@@ -864,13 +833,7 @@
 	* Makefile.in: Use @EXEEXT@ for Cygwin.
 	Use USERNAME if LOGNAME is not set (for Cygwin).
 
-	* configure.in:
-	* configure: Add opsys=cygwin.
-
-2003-01-29  Kim F. Storm  <storm@cua.dk>
-
-	* AUTHORS: Regenerate using new format (after fixing numerous
-	formatting errors in the ChangeLog files).
+	* configure.in: Add opsys=cygwin.
 
 2003-01-22  Andreas Schwab  <schwab@suse.de>
 
@@ -911,7 +874,7 @@
 
 	* Makefile.in (INSTALL_INFO): Get install-info command from configure.
 
-	* configure.in: Add tests for install-info
+	* configure.in: Add tests for install-info.
 
 2002-12-09  Markus Rost  <rost@math.ohio-state.edu>
 
@@ -1361,7 +1324,7 @@
 
 2001-11-06  Sam Steingold  <sds@gnu.org>
 
-	* configure.in: Added a check for <nlist.h>
+	* configure.in: Added a check for <nlist.h>.
 
 2001-11-01  Pavel Jan,Am(Bk  <Pavel@Janik.cz>
 
@@ -1899,7 +1862,7 @@
 
 2000-06-02  Dave Love  <fx@gnu.org>
 
-	* Makefile.in: (install-arch-indep): Add pcl-cvs to list of info
+	* Makefile.in (install-arch-indep): Add pcl-cvs to list of info
 	files.
 
 	* configure.in: Don't specify -n32 flag for mips-sgi-irix6.5.
@@ -1934,8 +1897,8 @@
 
 2000-05-05  Gerd Moellmann  <gerd@gnu.org>
 
-	* make-dist: Make a link for lib-src/grep-changelog.  Copy
-	install-sh.
+	* make-dist: Make a link for lib-src/grep-changelog.
+	Copy install-sh.
 
 2000-05-01  Eli Zaretskii  <eliz@is.elta.co.il>
 
@@ -2059,7 +2022,7 @@
 
 1999-12-04  Dave Love  <fx@gnu.org>
 
-	* Makefile.in: (install-arch-indep): Depend on `info'.
+	* Makefile.in (install-arch-indep): Depend on `info'.
 	(install-strip): Use `install' as sub-make target.
 
 1999-11-23  Ken Raeburn  <raeburn@gnu.org>
@@ -6400,8 +6363,8 @@
 ;; add-log-time-zone-rule: t
 ;; End:
 
-    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2006
-	Free Software Foundation, Inc.
+    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
+	2003, 2004, 2005, 2006  Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/INSTALL	Sun Dec 03 15:12:18 2006 +0000
+++ b/INSTALL	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 GNU Emacs Installation Guide
-Copyright (c) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2006 
-Free software Foundation, Inc.
+Copyright (c) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2003, 2004,
+2005, 2006  Free Software Foundation, Inc.
 See the end of the file for copying permissions.
 
 
@@ -383,6 +383,16 @@
 switch to the compiler, and link against libfoo.a and libbar.a
 libraries in addition to the standard ones.
 
+For some libraries, like Gtk+, fontconfig and ALSA, `configure' use 
+pkg-config to find where those libraries are installed. 
+If you wan't pkg-config to look in special directories, you have to set 
+the environment variable PKG_CONFIG_PATH to point to the directories 
+where the .pc-files for those libraries are.
+For example:
+
+ PKG_CONFIG_PATH='/usr/local/alsa/lib/pkgconfig:/opt/gtk+-2.8/lib/pkgconfig' \
+   ./configure
+
 The work of `configure' can be done by editing various files in the
 distribution, but using `configure' is easier.  See the section called
 "CONFIGURATION BY HAND" below if you want to do the configuration
--- a/Makefile.in	Sun Dec 03 15:12:18 2006 +0000
+++ b/Makefile.in	Mon Jan 01 17:38:32 2007 +0000
@@ -2,8 +2,8 @@
 # DIST: make most of the changes to this file you might want, so try
 # DIST: that first.
 
-# Copyright (C) 1992,93,94,95,96,97,98,1999,2000,01,02,03,04,2005,2006
-#   Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+#   2001, 2002, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
@@ -110,6 +110,10 @@
 # run directly (like etags).
 bindir=@bindir@
 
+# The root of the directory tree for read-only architecture-independent
+# data files.  ${datadir}, ${infodir} and ${mandir} are based on this.
+datarootdir=@datarootdir@
+
 # Where to install architecture-independent data files.	 ${lispdir}
 # and ${etcdir} are subdirectories of this.
 datadir=@datadir@
--- a/admin/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/admin/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,8 @@
+2007-01-01  Miles Bader  <miles@gnu.org>
+
+	* quick-install-emacs (get_config_var): Deal with weird magic
+	string inserted by recent versions of autoconf.
+
 2006-11-25  Juanma Barranquero  <lekktu@gmail.com>
 
 	* admin.el (set-version): Set version number in
@@ -400,7 +405,8 @@
 ;; add-log-time-zone-rule: t
 ;; End:
 
-    Copyright (C) 2001 Free Software Foundation, Inc.
+    Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+	Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/admin/FOR-RELEASE	Sun Dec 03 15:12:18 2006 +0000
+++ b/admin/FOR-RELEASE	Mon Jan 01 17:38:32 2007 +0000
@@ -41,21 +41,56 @@
 ** henman@it.to-be.co.jp 09 Aug 2006: ispell.el problem on Cygwin.
   (Did we decide that is unreproducible?)
 
+** make-network-process :nowait t doesn't work for non-local targets
+   on Windows.  This has been "fixed" for Emacs 22 by defining
+   BROKEN_NON_BLOCKING_CONNECT in ms-w32.h.
+
+
 * BUGS
 
-** Document use of gpg-agent
+** document gpg-agent.
+
+** Need papers from Rubini for his code in t-mouse.el
+  Sent instructions.
+
+** lennart.borgman.073@student.lu.se, Dec 21:
+  Saving when the coding system can't code all buffer characters
+
+** Bug in ESHELL that Wiegley is supposed to fix.
 
-** monnier@iro.umontreal.ca, Nov 24: 
-  gnus-summary-tick-article-forward doesn't work any more?
+** How should C-x C-v ask about saving?
+
+** lennart.borgman.073@student.lu.se, Dec 16:
+  compilation-previous-error fails if first error is at start of buffer
+
+** CC mode fixes to be installed.
+
+** W3 status with latest url package.
+
+** Fix up the notices in oldXMenu properly.
 
-** jpff@codemist.co.uk, Nov 23: Problem in reading mail
-  Error is Invalid search bound
+** bruno@clisp.org's patches for location of Info file directory.
+
+** disumu@x3y2z1.net, Nov 22:
+  URL not following some 302 redirects after recent changes
+
+** Give recommendations for redefining window manager keys
+  to avoid interference with Emacs.
 
-** rgm@gnu.org, Nov 29: mouse and horizontal scrolling with long lines
+** lennart.borgman.073@student.lu.se, Dec 29:
+  How global is a define-global-minor-mode mode
+He says that customizing such a mode simply does not work.
+RMS says that there is no code in the generated defcustom,
+or elsewhere in the generated code, to implement setting that variable
+through the custom mechanism.
 
-** christopher.ian.moore@gmail.com, Nov 30: too much recursion in gnus-sort-threads-1.
+** b.riefenstahl@turtle-trading.net, Dec 29:
+  GTK build crashes under X
 
-** rmg@gnu.org, Nov 29: saved user abbrevs and system abbrevs
+** dooglus@gmail.com, Dec 29: 4 week-old pretest bugs
+  Two GTK version bugs.
+
+** pgg bugs reported by rms.
 
 * DOCUMENTATION
 
--- a/admin/admin.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/admin/admin.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; admin.el --- utilities for Emacs administration
 
-;; Copyright (C) 2001, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+;;   Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
--- a/admin/alloc-colors.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/admin/alloc-colors.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 /* Allocate X colors.  Used for testing with dense colormaps.
-   Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+     Foundation, Inc.
 
 This file is part of GNU Emacs.
 
--- a/admin/build-configs	Sun Dec 03 15:12:18 2006 +0000
+++ b/admin/build-configs	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 #! /usr/bin/perl
 
-# Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+#   Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
--- a/admin/cus-test.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/admin/cus-test.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; cus-test.el --- tests for custom types and load problems
 
-;; Copyright (C) 1998, 2000, 2002, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000, 2002, 2003, 2004, 2005, 2006  Free
+;;   Software Foundation, Inc.
 
 ;; Author: Markus Rost <markus.rost@mathematik.uni-regensburg.de>
 ;; Maintainer: Markus Rost <rost@math.ohio-state.edu>
--- a/admin/diff-tar-files	Sun Dec 03 15:12:18 2006 +0000
+++ b/admin/diff-tar-files	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+#   Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
--- a/admin/make-emacs	Sun Dec 03 15:12:18 2006 +0000
+++ b/admin/make-emacs	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 #! /usr/bin/perl
 
-# Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+#   Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
--- a/admin/quick-install-emacs	Sun Dec 03 15:12:18 2006 +0000
+++ b/admin/quick-install-emacs	Mon Jan 01 17:38:32 2007 +0000
@@ -136,7 +136,7 @@
 CONFIG_STATUS="$BUILD/config.status"
 get_config_var ()
 {
-  if ! sed -n "s/^s\(.\)@$1@\1\(.*\)\1.*$/\2/p" $CONFIG_STATUS | sed q | grep ''
+  if ! sed -n "s/^s\(.\)@$1@\1\(|#_!!_#|\)*\(.*\)\1.*$/\3/p" $CONFIG_STATUS | sed q | grep ''
   then
     echo 1>&2 "$me: $1: Configuration variable not found in $CONFIG_STATUS"
     exit 4
--- a/admin/revdiff	Sun Dec 03 15:12:18 2006 +0000
+++ b/admin/revdiff	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 #! /usr/bin/perl
 
-# Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+#   Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
--- a/config.bat	Sun Dec 03 15:12:18 2006 +0000
+++ b/config.bat	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,8 @@
 @echo off
 rem   ----------------------------------------------------------------------
 rem   Configuration script for MSDOS
-rem   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2004, 2006
-rem   Free Software Foundation, Inc.
+rem   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003
+rem   2004, 2005, 2006  Free Software Foundation, Inc.
 
 rem   This file is part of GNU Emacs.
 
--- a/configure	Sun Dec 03 15:12:18 2006 +0000
+++ b/configure	Mon Jan 01 17:38:32 2007 +0000
@@ -683,6 +683,7 @@
 PKG_CONFIG
 ALSA_CFLAGS
 ALSA_LIBS
+
 CFLAGS_SOUND
 SET_MAKE
 XMKMF
@@ -2223,7 +2224,6 @@
       m68k-*-netbsd*)
 			# This is somewhat bogus.
 			machine=hp9000s300 ;;
-      powerpc-apple-netbsd*) machine=macppc ;;
       mips-*-netbsd*)	machine=pmax ;;
       mipsel-*-netbsd*)	machine=pmax ;;
       mipseb-*-netbsd*)	machine=pmax ;;
@@ -2232,6 +2232,9 @@
       sparc*-*-netbsd*)	machine=sparc ;;
       vax-*-netbsd*)	machine=vax ;;
       arm-*-netbsd*)	machine=arm ;;
+      x86_64-*-netbsd*)	machine=amdx86-64 ;;
+      hppa-*-netbsd*)	machine=hp800 ;;
+      shle-*-netbsd*)	machine=sh3el ;;
     esac
   ;;
 
@@ -2914,6 +2917,7 @@
       m68* )		machine=sun3 ;;
       i[3456]86-sun-sunos[34]* )	machine=sun386 ;;
       i[3456]86-*-* )     machine=intel386 ;;
+      amd64-*-*|x86_64-*-*)	machine=amdx86-64 ;;
       powerpcle* )      machine=powerpcle ;;
       powerpc* | rs6000* )  machine=ibmrs6000 ;;
       sparc* )		machine=sparc ;;
@@ -6354,6 +6358,103 @@
   fi
 
   if test $HAVE_ALSA = yes; then
+    SAVE_CFLAGS="$CFLAGS"
+    SAVE_LDFLAGS="$LDFLAGS"
+    CFLAGS="$ALSA_CFLAGS $CFLAGS"
+    LDFLAGS="$ALSA_LIBS $LDFLAGS"
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <asoundlib.h>
+int
+main ()
+{
+snd_lib_error_set_handler (0);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  emacs_alsa_normal=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	emacs_alsa_normal=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    if test "$emacs_alsa_normal" != yes; then
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <alsa/asoundlib.h>
+int
+main ()
+{
+snd_lib_error_set_handler (0);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  emacs_alsa_subdir=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	emacs_alsa_subdir=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+      if test "$emacs_alsa_subdir" != yes; then
+        { { echo "$as_me:$LINENO: error: pkg-config found alsa, but it does not compile.  See config.log for error messages." >&5
+echo "$as_me: error: pkg-config found alsa, but it does not compile.  See config.log for error messages." >&2;}
+   { (exit 1); exit 1; }; }
+      fi
+      ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE"
+    fi
+
+    CFLAGS="$SAVE_CFLAGS"
+    LDFLAGS="$SAVE_LDFLAGS"
     LIBSOUND="$LIBSOUND $ALSA_LIBS"
     CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
 
@@ -6361,6 +6462,7 @@
 #define HAVE_ALSA 1
 _ACEOF
 
+
   fi
 
 fi
@@ -10804,6 +10906,9 @@
 fi
 
 HAVE_GTK=no
+if test "${with_gtk}" = "yes" && test "$USE_X_TOOLKIT" = "gtk"; then
+  USE_X_TOOLKIT=none
+fi
 if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then
   if test "$USE_X_TOOLKIT" != "none" && test "$USE_X_TOOLKIT" != "maybe"; then
     { { echo "$as_me:$LINENO: error: Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}" >&5
@@ -10924,6 +11029,107 @@
   C_SWITCH_X_SITE="$C_SWITCH_X_SITE $GTK_CFLAGS"
   CFLAGS="$CFLAGS $GTK_CFLAGS"
   LIBS="$GTK_LIBS $LIBS"
+    GTK_COMPILES=no
+
+for ac_func in gtk_main
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+ GTK_COMPILES=yes
+fi
+done
+
+  if test "${GTK_COMPILES}" != "yes"; then
+    { { echo "$as_me:$LINENO: error: Gtk+ wanted, but it does not compile, see config.log.  Maybe some x11-devel files missing?" >&5
+echo "$as_me: error: Gtk+ wanted, but it does not compile, see config.log.  Maybe some x11-devel files missing?" >&2;}
+   { (exit 1); exit 1; }; };
+  fi
+
   HAVE_GTK=yes
 
 cat >>confdefs.h <<\_ACEOF
@@ -14634,6 +14840,7 @@
 
 
 
+
 for ac_func in gethostname getdomainname dup2 \
 rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \
 random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime res_init setsid \
@@ -14641,7 +14848,7 @@
 utimes setrlimit setpgid getcwd getwd shutdown getaddrinfo \
 __fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \
 sendto recvfrom getsockopt setsockopt getsockname getpeername \
-gai_strerror mkstemp getline getdelim mremap memmove fsync bzero \
+gai_strerror mkstemp getline getdelim mremap memmove fsync sync bzero \
 memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -17243,11 +17450,13 @@
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0);
+#include <sys/types.h> /* for off_t */
+     #include <stdio.h>
+int
+main ()
+{
+int (*fp) (FILE *, off_t, int) = fseeko;
+     return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
   ;
   return 0;
 }
@@ -17287,11 +17496,13 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #define _LARGEFILE_SOURCE 1
-#include <stdio.h>
-int
-main ()
-{
-return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0);
+#include <sys/types.h> /* for off_t */
+     #include <stdio.h>
+int
+main ()
+{
+int (*fp) (FILE *, off_t, int) = fseeko;
+     return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
   ;
   return 0;
 }
@@ -20835,366 +21046,6 @@
   fi
 fi
 
-# This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
-{ echo "$as_me:$LINENO: checking for struct tm.tm_zone" >&5
-echo $ECHO_N "checking for struct tm.tm_zone... $ECHO_C" >&6; }
-if test "${ac_cv_member_struct_tm_tm_zone+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <$ac_cv_struct_tm>
-
-
-int
-main ()
-{
-static struct tm ac_aggr;
-if (ac_aggr.tm_zone)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_member_struct_tm_tm_zone=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <$ac_cv_struct_tm>
-
-
-int
-main ()
-{
-static struct tm ac_aggr;
-if (sizeof ac_aggr.tm_zone)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_member_struct_tm_tm_zone=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_member_struct_tm_tm_zone=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5
-echo "${ECHO_T}$ac_cv_member_struct_tm_tm_zone" >&6; }
-if test $ac_cv_member_struct_tm_tm_zone = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_TM_TM_ZONE 1
-_ACEOF
-
-
-fi
-
-if test "$ac_cv_member_struct_tm_tm_zone" = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TM_ZONE 1
-_ACEOF
-
-else
-  { echo "$as_me:$LINENO: checking whether tzname is declared" >&5
-echo $ECHO_N "checking whether tzname is declared... $ECHO_C" >&6; }
-if test "${ac_cv_have_decl_tzname+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <time.h>
-
-int
-main ()
-{
-#ifndef tzname
-  (void) tzname;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_tzname=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_have_decl_tzname=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_tzname" >&5
-echo "${ECHO_T}$ac_cv_have_decl_tzname" >&6; }
-if test $ac_cv_have_decl_tzname = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_TZNAME 1
-_ACEOF
-
-
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_TZNAME 0
-_ACEOF
-
-
-fi
-
-
-  { echo "$as_me:$LINENO: checking for tzname" >&5
-echo $ECHO_N "checking for tzname... $ECHO_C" >&6; }
-if test "${ac_cv_var_tzname+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <time.h>
-#if !HAVE_DECL_TZNAME
-extern char *tzname[];
-#endif
-
-int
-main ()
-{
-return tzname[0][0];
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_var_tzname=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_var_tzname=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5
-echo "${ECHO_T}$ac_cv_var_tzname" >&6; }
-  if test $ac_cv_var_tzname = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TZNAME 1
-_ACEOF
-
-  fi
-fi
-
-
-if test "$ac_cv_func_gettimeofday" = yes; then
-  { echo "$as_me:$LINENO: checking for struct timezone" >&5
-echo $ECHO_N "checking for struct timezone... $ECHO_C" >&6; }
-if test "${emacs_cv_struct_timezone+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/time.h>
-int
-main ()
-{
-struct timezone tz;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-              if test "$cross_compiling" = yes; then
-  emacs_cv_struct_timezone=yes
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#ifdef TIME_WITH_SYS_TIME
-#include <sys/time.h>
-#include <time.h>
-#else
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#else
-#include <time.h>
-#endif
-#endif
-main () {
-  struct timeval time;
-  struct timezone dummy;
-  exit (gettimeofday (&time, &dummy));
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  emacs_cv_struct_timezone=yes
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-emacs_cv_struct_timezone=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	emacs_cv_struct_timezone=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $emacs_cv_struct_timezone" >&5
-echo "${ECHO_T}$emacs_cv_struct_timezone" >&6; }
-fi
-
 ok_so_far=yes
 { echo "$as_me:$LINENO: checking for socket" >&5
 echo $ECHO_N "checking for socket... $ECHO_C" >&6; }
--- a/configure.in	Sun Dec 03 15:12:18 2006 +0000
+++ b/configure.in	Mon Jan 01 17:38:32 2007 +0000
@@ -23,7 +23,7 @@
 dnl  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 dnl  Boston, MA 02110-1301, USA.
 
-AC_PREREQ(2.54)dnl
+AC_PREREQ(2.61)dnl
 AC_INIT(src/lisp.h)
 AC_CONFIG_HEADER(src/config.h:src/config.in)
 
@@ -260,7 +260,6 @@
       m68k-*-netbsd*)
 			# This is somewhat bogus.
 			machine=hp9000s300 ;;
-      powerpc-apple-netbsd*) machine=macppc ;;
       mips-*-netbsd*)	machine=pmax ;;
       mipsel-*-netbsd*)	machine=pmax ;;
       mipseb-*-netbsd*)	machine=pmax ;;
@@ -269,6 +268,9 @@
       sparc*-*-netbsd*)	machine=sparc ;;
       vax-*-netbsd*)	machine=vax ;;
       arm-*-netbsd*)	machine=arm ;;
+      x86_64-*-netbsd*)	machine=amdx86-64 ;;
+      hppa-*-netbsd*)	machine=hp800 ;;
+      shle-*-netbsd*)	machine=sh3el ;;
     esac
   ;;
 
@@ -951,6 +953,7 @@
       m68* )		machine=sun3 ;;
       i[3456]86-sun-sunos[34]* )	machine=sun386 ;;
       i[3456]86-*-* )     machine=intel386 ;;
+      amd64-*-*|x86_64-*-*)	machine=amdx86-64 ;;
       powerpcle* )      machine=powerpcle ;;
       powerpc* | rs6000* )  machine=ibmrs6000 ;;
       sparc* )		machine=sparc ;;
@@ -1566,9 +1569,30 @@
   fi
   PKG_CHECK_MODULES(ALSA, $ALSA_MODULES, HAVE_ALSA=yes, HAVE_ALSA=no)
   if test $HAVE_ALSA = yes; then
+    SAVE_CFLAGS="$CFLAGS"
+    SAVE_LDFLAGS="$LDFLAGS"
+    CFLAGS="$ALSA_CFLAGS $CFLAGS"
+    LDFLAGS="$ALSA_LIBS $LDFLAGS"
+    AC_TRY_COMPILE([#include <asoundlib.h>], [snd_lib_error_set_handler (0);],
+                    emacs_alsa_normal=yes,
+	            emacs_alsa_normal=no)
+    if test "$emacs_alsa_normal" != yes; then
+      AC_TRY_COMPILE([#include <alsa/asoundlib.h>],
+                     [snd_lib_error_set_handler (0);],
+                     emacs_alsa_subdir=yes,
+	             emacs_alsa_subdir=no)
+      if test "$emacs_alsa_subdir" != yes; then
+        AC_MSG_ERROR([pkg-config found alsa, but it does not compile.  See config.log for error messages.])
+      fi
+      ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE"
+    fi
+
+    CFLAGS="$SAVE_CFLAGS"
+    LDFLAGS="$SAVE_LDFLAGS"
     LIBSOUND="$LIBSOUND $ALSA_LIBS"
     CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
     AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if ALSA is available.])
+    AC_SUBST()
   fi
   AC_SUBST(CFLAGS_SOUND)
 fi
@@ -2042,6 +2066,9 @@
 fi
 
 HAVE_GTK=no
+if test "${with_gtk}" = "yes" && test "$USE_X_TOOLKIT" = "gtk"; then
+  USE_X_TOOLKIT=none
+fi
 if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then
   if test "$USE_X_TOOLKIT" != "none" && test "$USE_X_TOOLKIT" != "maybe"; then
     AC_MSG_ERROR([Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}]);
@@ -2061,6 +2088,13 @@
   C_SWITCH_X_SITE="$C_SWITCH_X_SITE $GTK_CFLAGS"
   CFLAGS="$CFLAGS $GTK_CFLAGS"
   LIBS="$GTK_LIBS $LIBS"
+  dnl Try to compile a simple GTK program.
+  GTK_COMPILES=no
+  AC_CHECK_FUNCS(gtk_main, GTK_COMPILES=yes)
+  if test "${GTK_COMPILES}" != "yes"; then
+    AC_MSG_ERROR([Gtk+ wanted, but it does not compile, see config.log.  Maybe some x11-devel files missing?]);
+  fi
+  
   HAVE_GTK=yes
   AC_DEFINE(HAVE_GTK, 1, [Define to 1 if using GTK.])
   USE_X_TOOLKIT=none
@@ -2492,7 +2526,7 @@
 utimes setrlimit setpgid getcwd getwd shutdown getaddrinfo \
 __fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \
 sendto recvfrom getsockopt setsockopt getsockname getpeername \
-gai_strerror mkstemp getline getdelim mremap memmove fsync bzero \
+gai_strerror mkstemp getline getdelim mremap memmove fsync sync bzero \
 memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign)
 
 AC_CHECK_HEADERS(sys/un.h)
@@ -2653,38 +2687,6 @@
   fi
 fi
 
-# This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
-AC_STRUCT_TIMEZONE
-
-dnl Note that AC_STRUCT_TIMEZONE doesn't do what you might expect.
-if test "$ac_cv_func_gettimeofday" = yes; then
-  AC_CACHE_CHECK([for struct timezone], emacs_cv_struct_timezone,
-    [AC_TRY_COMPILE([#include <sys/time.h>],
-    [struct timezone tz;],
-    dnl It may be that we can't call gettimeofday with a non-null pointer,
-    dnl even though we have struct timezone (e.g. HPUX).  In that case
-    dnl we'll lie about struct timezone.
-    [AC_TRY_RUN([
-#ifdef TIME_WITH_SYS_TIME
-#include <sys/time.h>
-#include <time.h>
-#else
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#else
-#include <time.h>
-#endif
-#endif
-main () {
-  struct timeval time;
-  struct timezone dummy;
-  exit (gettimeofday (&time, &dummy));
-}],
-      emacs_cv_struct_timezone=yes,
-      emacs_cv_struct_timezone=no, emacs_cv_struct_timezone=yes)],
-    emacs_cv_struct_timezone=no)])
-fi
-
 ok_so_far=yes
 AC_CHECK_FUNC(socket, , ok_so_far=no)
 if test $ok_so_far = yes; then
@@ -2877,7 +2879,7 @@
 fi
 
 AH_TOP([/* GNU Emacs site configuration template file.
-   Copyright (C) 1988, 1993, 1994, 1999, 2000, 2002, 2004, 2005, 2006
+   Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005, 2006
              Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
--- a/etc/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/etc/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,22 @@
+2006-12-17  Richard Stallman  <rms@gnu.org>
+
+	* TUTORIAL: Say that C-d and DEL with arg do killing.
+
+2006-12-16  Eli Zaretskii  <eliz@gnu.org>
+
+	* PROBLEMS: Document problems with rebasing Cygwin DLLs.
+
+2006-12-08  Michael Olson  <mwolson@gnu.org>
+
+	* ERC-NEWS: Note that the list module has been removed.
+
+2006-12-05  Micha,Ak(Bl Cadilhac  <michael.cadilhac@lrde.org>
+
+	* NEWS (Changes to cmuscheme): Mention the alternative for
+	`~/.emacs_SCHEMEPROG' which is `~/.emacs.d/init_SCHEMEPROG.scm'.
+	(Init file changes): Same for `~/.emacs_SHELL' versus
+	`~/.emacs.d/init_SHELL.sh'.
+
 2006-12-01  Juanma Barranquero  <lekktu@gmail.com>
 
 	* DEVEL.HUMOR: Another entry.
@@ -111,8 +130,7 @@
 
 2006-09-03  Diane Murray  <disumu@x3y2z1.net>
 
-	* erc.texi (Getting Started, Connecting): Changed erc-select to
-	erc.
+	* erc.texi (Getting Started, Connecting): Changed erc-select to erc.
 
 2006-09-02  Juri Linkov  <juri@jurta.org>
 
@@ -1373,7 +1391,7 @@
 2004-09-16  Dan Nicolaescu  <dann@ics.uci.edu>
 
 	* e/eterm.ti: Change the strings for smso and rmso.
-	e/eterm: Regenerate.
+	* e/eterm: Regenerate.
 
 2004-09-09  Thien-Thi Nguyen  <ttn@gnu.org>
 
@@ -2516,7 +2534,7 @@
 	* EUROPE: Renamed to ORDERS.EUROPE.  DISTRIB now has a pointer
 	to it at the beginning.
 
-	* OOOONEWS, OOOONEWS: Nuked.  It's version  19 --- nobody needs the
+	* OOOONEWS, OOOONEWS: Nuked.  It's version 19 --- nobody needs the
 	version 15 and 17 files anymore.
 
 	All files marked "Nuked" have actually been moved to =-prefixed
--- a/etc/ERC-NEWS	Sun Dec 03 15:12:18 2006 +0000
+++ b/etc/ERC-NEWS	Mon Jan 01 17:38:32 2007 +0000
@@ -10,6 +10,11 @@
 
 ** Changes and additions to modules
 
+*** Channel lists (erc-list.el)
+
+**** This has been removed from Emacs 22, since a major contributor
+to it has not yet assigned changes.
+
 *** Channel tracking (erc-track.el)
 
 **** Use mouse-face and help-echo for channel names in the mode-line.
--- a/etc/NEWS	Sun Dec 03 15:12:18 2006 +0000
+++ b/etc/NEWS	Mon Jan 01 17:38:32 2007 +0000
@@ -6,10 +6,10 @@
 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.
+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.
+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.
@@ -235,8 +235,8 @@
 +++
 ** Init file changes
 If the init file ~/.emacs does not exist, Emacs will try
-~/.emacs.d/init.el or ~/.emacs.d/init.elc.  You can also put the shell
-init file .emacs_SHELL under ~/.emacs.d.
+~/.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 now reads the standard abbrevs file ~/.abbrev_defs
@@ -681,7 +681,8 @@
 
 +++
 *** find-alternate-file replaces the current file with multiple files,
-when the file name contains wildcard characters.
+when the file name contains wildcard characters.  It now asks if you
+wish save your changes and not just offer to kill the buffer.
 
 +++
 *** Auto Compression mode is now enabled by default.
@@ -915,6 +916,11 @@
 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.
+
 ** Cursor display changes:
 
 +++
@@ -1870,10 +1876,10 @@
 or local keymaps.
 
 +++
-** The new kmacro package provides a simpler user interface to
-emacs' keyboard macro facilities.
-
-Basically, it uses two function keys (default F3 and F4) like this:
+** 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.
@@ -1888,8 +1894,8 @@
 C-x C-k C-a, and C-x C-k C-f.  See the commentary in kmacro.el
 for more commands.
 
-The normal macro bindings C-x (, C-x ), and C-x e now interfaces to
-the keyboard macro ring.
+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.
@@ -2030,6 +2036,12 @@
 
 * Changes in Specialized Modes and Packages in Emacs 22.1:
 
+** 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 Dired
 
 +++
@@ -2162,9 +2174,9 @@
 *** Emacs now offers to start Scheme if the user tries to
 evaluate a Scheme expression but no Scheme subprocess is running.
 
-*** If a file `.emacs_NAME' (where NAME is the name of the Scheme interpreter)
-exists in the user's home directory or in ~/.emacs.d, its
-contents are sent to the Scheme subprocess upon startup.
+*** 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
@@ -3304,8 +3316,12 @@
 ** Calendar changes:
 
 +++
+*** 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 old key bindings still work too.)
+the calendar left or right.
 
 +++
 *** There is a new calendar package, icalendar.el, that can be used to
@@ -3777,6 +3793,11 @@
 
 * Incompatible Lisp Changes in Emacs 22.1
 
++++
+** The `read-file-name' function now returns a null string if the
+user just types RET.
+
++++
 ** 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
@@ -3813,8 +3834,15 @@
 ** The variable `memory-full' now remains t until
 there is no longer a shortage of memory.
 
++++
 ** When Emacs receives a USR1 or USR2 signal, this generates
-an input event: usr1-signal or usr2-signal.
+input events: sigusr1 or sigusr2.  Use special-event-map to
+handle these events.
+
++++
+** A hex or octal escape in a string constant forces the string to
+be multibyte or unibyte, respectively.
+
 
 * Lisp Changes in Emacs 22.1
 
@@ -4547,6 +4575,10 @@
 *** 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.
+
 ** Input changes:
 
 +++
@@ -4556,7 +4588,7 @@
 this time elapses, the functions stop waiting and return nil.
 
 +++
-*** An interactive specification can now use the code letter 'U' to get
+*** 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.
 
@@ -5512,10 +5544,25 @@
 ** Major mode mechanism changes:
 
 +++
-*** `set-auto-mode' now gives the interpreter magic line (if present)
-precedence over the file name.  Likewise an `<?xml' or `<!DOCTYPE'
-declaration will give the buffer XML or SGML mode, based on the new
-variable `magic-mode-alist'.
+*** 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.PY
+is opened in python-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.
+
++++
+*** New variable `magic-mode-alist' determines major mode for a file by
+looking at the file contents.  It takes precedence over `auto-mode-alist'.
+
++++
+*** An interpreter magic line (if present) takes precedence over the
+file name when setting the major mode.
+
++++
+*** XML or SGML major mode is selected when file starts with an `<?xml'
+or `<!DOCTYPE' declaration.
 
 +++
 *** Use the new function `run-mode-hooks' to run the major mode's mode hook.
--- a/etc/PROBLEMS	Sun Dec 03 15:12:18 2006 +0000
+++ b/etc/PROBLEMS	Mon Jan 01 17:38:32 2007 +0000
@@ -2115,6 +2115,34 @@
 more permanent work around is to change it to another key combination,
 or disable it in the keyboard control panel.
 
+** Cygwin build of Emacs hangs after rebasing Cygwin DLLs
+
+Usually, on Cygwin, one needs to rebase the DLLs if an application
+aborts with a message like this:
+
+  C:\cygwin\bin\python.exe: *** unable to remap C:\cygwin\bin\cygssl.dll to
+  same address as parent(0xDF0000) != 0xE00000
+
+However, since Cygwin DLL 1.5.17 was released, after such rebasing,
+Emacs hangs.
+
+This was reported to happen for Emacs 21.2 and also for the pretest of
+Emacs 22.1 on Cygwin.
+
+To work around this, build Emacs like this:
+
+  LDFLAGS='-Wl,--enable-auto-import -Wl,--enable-auto-image-base' ./configure
+  make LD='$(CC)'
+  make LD='$(CC)' install
+
+This produces an Emacs binary that is independent of rebasing.
+
+Note that you _must_ use LD='$(CC)' in the last two commands above, to
+prevent GCC from passing the "--image-base 0x20000000" option to the
+linker, which is what it does by default.  That option produces an
+Emacs binary with the base address 0x20000000, which will cause Emacs
+to hang after Cygwin DLLs are rebased.
+
 ** Interrupting Cygwin port of Bash from Emacs doesn't work.
 
 Cygwin 1.x builds of the ported Bash cannot be interrupted from the
--- a/etc/TODO	Sun Dec 03 15:12:18 2006 +0000
+++ b/etc/TODO	Mon Jan 01 17:38:32 2007 +0000
@@ -87,6 +87,8 @@
   with evaluating definitions of the same function from different files,
   recording which file the latest definition came from.
 
+** make back_comment use syntax-ppss or equivalent.
+
 * Important features:
 
 ** Provide user-friendly ways to list all available font families,
@@ -493,10 +495,24 @@
 
 * Internal changes
 
+** Merge ibuffer.el and buff-menu.el.
+   More specifically do what's needed to make ibuffer.el the default,
+   or just an extension of buff-menu.el.
+
+** Use pcomplete by default in shell-mode.
+   This means to make it behave (by default) more like the current code.
+   Use it also for read-shell-command, M-x compile, ...
+
+** Merge sendmail.el and messages.el.
+   Probably not a complete merge, but at least arrange for messages.el to be
+   a derived mode of sendmail.el.  Or arrange for messages.el to be split
+   into a small core and "the rest" so that we use less resources as long as
+   we stick to the features provided in sendmail.el.
+
 ** Replace gmalloc.c with the modified Doug Lea code from the current
-  GNU libc so that the special mmapping of buffers can be removed --
-  that apparently loses under Solaris, at least. [fx has mostly done
-  this.]
+   GNU libc so that the special mmapping of buffers can be removed --
+   that apparently loses under Solaris, at least. [fx has mostly done
+   this.]
 
 ** Rewrite make-docfile to be clean and maintainable.
 
--- a/etc/TUTORIAL	Sun Dec 03 15:12:18 2006 +0000
+++ b/etc/TUTORIAL	Mon Jan 01 17:38:32 2007 +0000
@@ -384,7 +384,8 @@
 commands that can remove a lot of text kill the text (they set up so
 that you can yank the text), while the commands that remove just one
 character, or only remove blank lines and spaces, do deletion (so you
-cannot yank that text).
+cannot yank that text).  <Delback> and C-d  do deletion in the simplest
+case, with no argument.  When given an argument, they kill instead.
 
 >> Move the cursor to the  beginning of a line which is not empty.
    Then type C-k to kill the text on that line.
--- a/etc/edt-user.doc	Sun Dec 03 15:12:18 2006 +0000
+++ b/etc/edt-user.doc	Mon Jan 01 17:38:32 2007 +0000
@@ -5,8 +5,8 @@
 Copyright (C) 1986, 1992, 1994, 1995, 1999, 2000, 2002, 2003, 2004,
    2005, 2006 Free Software Foundation, Inc.
 
-Author: Kevin Gallagher <kevingal@onramp.net>
-Maintainer: Kevin Gallagher <kevingal@onramp.net>
+Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
+Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 Keywords: emulations
 
 This file is part of GNU Emacs.
@@ -928,7 +928,7 @@
 G-HELP: Emacs Help                |   PAGE   |Scroll Win|Open Line |  DEL W   |
    DO: Execute extended command   |    (7)   |    (8)   |    (9)   |   (-)    |
   C-a: Beginning of Line          |Ex Ext Cmd|Fill Parag|Elim Tabs |  UND W   |
-  C-b: Switch to Buffer           +----------+----------+----------+----------+
+  C-b: Backward Character         +----------+----------+----------+----------+
   C-d: Delete Character           |  ADVANCE |  BACKUP  | CUT/COPY |  DEL C   |
   C-e: End of Line                |    (4)   |    (5)   |    (6)   |   (,)    |
   C-f: Forward Character          |   BOTTOM |    TOP   |   Yank   |  UND C   |
--- a/leim/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,28 @@
+2006-12-26  Andreas Schwab  <schwab@suse.de>
+
+	* Makefile.in (datarootdir): Define.
+
+2006-12-20  Eli Zaretskii  <eliz@gnu.org>
+
+	* Makefile.in (leim-list.el): Depend on ${TIT-MISC}, not
+	${NON-TIT-MISC}.
+
+2006-12-09  Juanma Barranquero  <lekktu@gmail.com>
+
+	* quail/latin-alt.el ("scandinavian-alt-postfix"): Fix typo.
+
+	* quail/uni-input.el (ucs-input-help): Fix title of ucs input method.
+
+2006-12-09  Eli Zaretskii  <eliz@gnu.org>
+
+	* makefile.w32-in (leim-list.el): Depend on leim-ext.el as well.
+	Run Emacs to append non-empty non-comment lines in leim-ext.el
+	to leim-list.el.
+
+2006-12-05  Juanma Barranquero  <lekktu@gmail.com>
+
+	* makefile.w32-in (MISC): Add $(srcdir)/quail/sisheng.elc.
+
 2006-11-29  Juanma Barranquero  <lekktu@gmail.com>
 
 	* quail/greek.el ("greek-mizuochi"): Remove spurious initial newline
--- a/leim/Makefile.in	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/Makefile.in	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 # Makefile for leim subdirectory in GNU Emacs.
 # Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 #   Free Software Foundation, Inc.
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 #   National Institute of Advanced Industrial Science and Technology (AIST)
 #   Registration Number H14PRO021
 
@@ -29,6 +29,7 @@
 # Here are the things that we expect ../configure to edit.
 version=@version@
 prefix=@prefix@
+datarootdir=@datarootdir@
 datadir=@datadir@
 srcdir=@srcdir@
 
@@ -203,7 +204,7 @@
 	  -f batch-miscdic-convert -dir quail ${srcdir}/MISC-DIC; \
 	  echo "changed" > $@
 
-leim-list.el: ${SUBDIRS} ${NON-TIT-MISC} changed.tit changed.misc ${srcdir}/leim-ext.el
+leim-list.el: ${SUBDIRS} ${TIT-MISC} changed.tit changed.misc ${srcdir}/leim-ext.el
 	${RUN-EMACS}  -l ${buildlisppath}/international/quail \
 	  -f batch-byte-compile-if-not-done ${TIT-MISC:.elc=.el}
 	if [ x`(cd ${srcdir} && /bin/pwd)` = x`(/bin/pwd)` ] ; then \
--- a/leim/leim-ext.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/leim-ext.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,8 @@
-;; leim-ext.el -- extra leim configulation	-*- coding:iso-2022-7bit; -*-
+;; leim-ext.el -- extra leim configuration	-*- coding:iso-2022-7bit; -*-
 
 ;; Copyright (C) 2004, 2006
 ;;   Free Software Foundation, Inc.
-;; Copyright (C) 2004, 2005
+;; Copyright (C) 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H13PRO009
 
--- a/leim/makefile.w32-in	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/makefile.w32-in	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 # -*- Makefile -*- for leim subdirectory in GNU Emacs on the Microsoft W32 API.
 # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
 #   Free Software Foundation, Inc.
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 #   National Institute of Advanced Industrial Science and Technology (AIST)
 #   Registration Number H14PRO021
 
@@ -119,7 +119,8 @@
 	$(srcdir)/quail/ethiopic.elc \
 	$(srcdir)/quail/ipa.elc \
 	$(srcdir)/quail/hebrew.elc \
-	$(srcdir)/quail/georgian.elc
+	$(srcdir)/quail/georgian.elc \
+	$(srcdir)/quail/sisheng.elc
 
 MISC_DIC=\
 	quail/tsang-b5.elc	\
@@ -183,11 +184,12 @@
 	    -f batch-byte-compile $(MISC_DIC:.elc=.el)
 
 #
-# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
+# WARNING: Do NOT split the parts inside $(ARGQUOTE)s into multiple lines as
 #          this can break with GNU Make 3.81 and later if sh.exe is used.
-leim-list.el: $(SUBDIRS) $(WORLD)
+leim-list.el: $(SUBDIRS) $(WORLD) $(srcdir)/leim-ext.el
 	$(RUN_EMACS) -l $(buildlisppath)/international/quail \
 	    --eval $(ARGQUOTE)(update-leim-list-file $(DQUOTE).$(DQUOTE))$(ARGQUOTE)
+	$(RUN_EMACS) --eval $(ARGQUOTE)(w32-append-code-lines $(DQUOTE)$@$(DQUOTE) $(DQUOTE)$(srcdir)/leim-ext.el$(DQUOTE))$(ARGQUOTE)
 
 install: all
 	- mkdir "$(INSTALLDIR)"
--- a/leim/quail/cyril-jis.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/cyril-jis.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; cyril-jis.el --- Quail package for inputting JISX0208 Cyrillic letters
 
 ;; Copyright (C) 2001, 2006  Free Software Foundation, Inc.
-;; Copyright (C) 1997
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/cyrillic.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/cyrillic.el	Mon Jan 01 17:38:32 2007 +0000
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   Free Software Foundation, Inc.
-;; Copyright (C) 1997, 2003
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/ethiopic.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/ethiopic.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ethiopic.el --- Quail package for inputting Ethiopic characters  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1997, 1998, 1999, 2001, 2006
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/greek.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/greek.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; greek.el --- Quail package for inputting Greek -*-coding: iso-2022-7bit-*-
 
 ;; Copyright (C) 2001, 2002, 2003, 2004, 2006  Free Software Foundation, Inc.
-;; Copyright (C) 1997, 2001
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/hangul.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/hangul.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; hangul.el --- Quail package for inputting Korean Hangul characters  -*-coding: iso-2022-7bit;-*-
 
 ;; Copyright (C) 2002, 2006  Free Software Foundation, Inc.
-;; Copyright (C) 1997
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/hangul3.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/hangul3.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; hangul3.el --- Quail package for inputting Korean Hangul characters  -*-coding: iso-2022-7bit;-*-
 
 ;; Copyright (C) 1997, 1998, 2001, 2002, 2006  Free Software Foundation, Inc.
-;; Copyright (C) 1997, 2002
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/hanja-jis.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/hanja-jis.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; hanja-jis.el --- Quail package for inputting Korean Hanja (JISX0208)  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1997
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/hanja.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/hanja.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; hanja.el --- Quail-package for Korean Hanja (KSC5601)  -*-coding: iso-2022-7bit;-*-
 
 ;; Copyright (C) 1997, 2006 Free Software Foundation, Inc.
-;; Copyright (C) 1997
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/hebrew.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/hebrew.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; hebrew.el --- Quail package for inputting Hebrew characters  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1999
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/ipa.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/ipa.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ipa.el --- Quail package for inputting IPA characters  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1997
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/japanese.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/japanese.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; japanese.el --- Quail package for inputting Japanese  -*-coding: iso-2022-7bit;-*-
 
 ;; Copyright (C) 2001, 2006  Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2005
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/lao.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/lao.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; lao.el --- Quail package for inputting Lao characters  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1997, 1999, 2004
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/latin-alt.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/latin-alt.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; latin-alt.el --- Quail package for inputting various European characters -*-coding: iso-2022-7bit;-*-
 
 ;; Copyright (C) 1997, 1998, 2001, 2002, 2006  Free Software Foundation, Inc.
-;; Copyright (C) 1999
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
@@ -1289,7 +1289,7 @@
 (quail-define-package
  "scandinavian-alt-postfix" "Latin-1" "SC<" t
  "Scandinavian input method with postfix modifiers
-Supported languages are Swidish, Norwegian, Danish, and Finnish.
+Supported languages are Swedish, Norwegian, Danish, and Finnish.
 
 ae -> ,Af(B
 oe -> ,Ax(B
--- a/leim/quail/latin-ltx.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/latin-ltx.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; latin-ltx.el --- Quail package for TeX-style input -*-coding: utf-8;-*-
 
 ;; Copyright (C) 2001, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-;; Copyright (C) 2001, 2005
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/latin-post.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/latin-post.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; latin-post.el --- Quail packages for inputting various European characters  -*-coding: iso-2022-7bit;-*-
 
 ;; Copyright (C) 1997, 1998, 2001, 2002, 2006 Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1999
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/latin-pre.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/latin-pre.el	Mon Jan 01 17:38:32 2007 +0000
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006
 ;;   Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1998, 1999, 2000, 2005
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/lrt.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/lrt.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; lrt.el --- Quail package for inputting Lao characters by LRT method  -*-coding: iso-2022-7bit;-*-
 
 ;; Copyright (C) 1998, 2006  Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1999
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/py-punct.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/py-punct.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; py-punct.el --- Quail packages for Chinese (pinyin + extra symbols)  -*-coding: iso-2022-7bit;-*-
 
 ;; Copyright (C) 2001, 2006 Free Software Foundation, Inc.
-;; Copyright (C) 1997, 2000
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/pypunct-b5.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/pypunct-b5.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; pypunct-b5.el --- Quail packages for Chinese (pinyin + extra symbols)
 
-;; Copyright (C) 1997, 2000, 2003
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/symbol-ksc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/symbol-ksc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; symbol-ksc.el --- Quail-package for Korean Symbol (KSC5601)
 
 ;; Copyright (C) 1997, 2005, 2006  Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1998
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/thai.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/thai.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; thai.el --- Quail package for inputting Thai characters
 
-;; Copyright (C) 1995, 1997, 1999, 2005
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/tibetan.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/tibetan.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; tibetan.el --- Quail package for inputting Tibetan characters
 
 ;; Copyright (C) 1997, 2006  Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1998, 1999, 2000
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/leim/quail/uni-input.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/uni-input.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; uni-input.el --- Hex Unicode input method
 
 ;; Copyright (C) 2001, 2003, 2006  Free Software Foundation, Inc.
-;; Copyright (C) 2004
+;; Copyright (C) 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
@@ -149,7 +149,7 @@
   (interactive)
   (with-output-to-temp-buffer "*Help*"
     (princ "\
-Input method: ucs (mode line indicator:U)
+Input method: ucs (mode line indicator:U+)
 
 Input as Unicode: U<hex> or u<hex>, where <hex> is a four-digit hex number.")))
 
--- a/leim/quail/viqr.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/leim/quail/viqr.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; viqr.el --- Quail packages for inputting Vietnamese with VIQR system  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1997
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lib-src/.cvsignore	Sun Dec 03 15:12:18 2006 +0000
+++ b/lib-src/.cvsignore	Mon Jan 01 17:38:32 2007 +0000
@@ -24,3 +24,4 @@
 blessmail
 *-spd
 *.pdb
+stamp_BLD
--- a/lib-src/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/lib-src/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,48 @@
+2006-12-28  Francesco Potort,Al(B  <pot@gnu.org>
+
+	* etags.c (readline): When creating a relative file name from a
+	#line directive, leave the file name alone.  The previous
+	behaviour was to make it relative to the tags file directory,
+	under the hypothesis that the #line directive file name was
+	relative to the directory of the tagged file.  That hypothesis is
+	wrong with Cpp and Lex.
+	(Makefile_targets): Do not include spaces in tag names.
+
+2006-12-22  Eli Zaretskii  <eliz@gnu.org>
+
+	* makefile.w32-in (make-docfile, ctags, etags, ebrowse, hexl)
+	(movemail, fakemail, sorted-doc, digest-doc, emacsclient)
+	(test-distrib, $(DOC), all): depend on stamp_BLD instead of $(BLD).
+	($(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O))
+	($(BLD)/sorted-doc.$(O) $(BLD)/digest-doc.$(O))
+	($(BLD)/test-distrib.$(O) $(GETOPTOBJS) $(MOVEMAILOBJS))
+	($(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O))
+	($(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O)): Depend on stamp_BLD.
+	(clean): Delete stamp_BLD.
+
+2006-12-20  Francesco Potort,Al(B  <pot@gnu.org>
+
+	* etags.c (C_entries): DEFUN names were longer by one: corrected.
+
+2006-12-18  Juanma Barranquero  <lekktu@gmail.com>
+
+	* emacsclient.c [WINDOWSNT] (set_fg, get_wc): New variables.
+	[WINDOWSNT] (w32_find_emacs_process, w32_give_focus): New functions.
+	(main) [WINDOWSNT]: Remove code to release the focus; call
+	w32_give_focus instead.
+
+2006-12-15  Juanma Barranquero  <lekktu@gmail.com>
+
+	* emacsclient.c (w32_execvp): New function; wrapper for `execvp'.
+	(execvp) [WINDOWSNT]: Redefine to `w32_execvp'.
+	(fail): Remove Windows-specific fix (subsumed into w32_execvp).
+	Suggestions and comment by Eli Zaretskii.
+
+2006-12-06  Christoph Conrad  <christoph.conrad@gmx.de>
+
+	* makefile.w32-in ($(BLD)/emacsclient.exe, $(BLD)/emacsclientw.exe):
+	Use $(USER32) for compatibility with Visual Studio .NET 2003.
+
 2006-11-30  Juanma Barranquero  <lekktu@gmail.com>
 
 	* emacsclient.c (emacs_pid): New variable.
@@ -14,11 +59,11 @@
 	(set_tcp_socket): Make the message for non-local connections
 	informational rather than an error.
 
-2006-11-28  Kevin Ryde <user42@zip.com.au>  (tiny change)
+2006-11-28  Kevin Ryde  <user42@zip.com.au>
 
 	* etags.c (readline): Check for double quote after #line.
 
-2006-11-28  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>  (tiny change)
+2006-11-28  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* etags.c (readline): sscanf could in principle return 2.
 
@@ -50,8 +95,8 @@
 
 2006-11-24  Michael Mauger  <mmaug@yahoo.com>
 
-	* emacsclient.c (file_name_absolute_p) [WINDOWSNT]: Support
-	absolute file names with forward slashes.
+	* emacsclient.c (file_name_absolute_p) [WINDOWSNT]: Support absolute
+	file names with forward slashes.
 
 2006-11-23  Juanma Barranquero  <lekktu@gmail.com>
 
@@ -442,10 +487,9 @@
 
 2005-07-13  Ken Raeburn  <raeburn@gnu.org>
 
-	* pop.c: Don't include des.h (or variants thereof); krb.h will do
-	it.
-	(sendline): Add the \r\n to the line in a temporary buffer, and
-	write it all at once.
+	* pop.c: Don't include des.h (or variants thereof); krb.h will do it.
+	(sendline): Add the \r\n to the line in a temporary buffer, and write
+	it all at once.
 
 2005-07-04  Lute Kamstra  <lute@gnu.org>
 
@@ -485,10 +529,9 @@
 
 2005-02-04  Andreas Schwab  <schwab@suse.de>
 
-	* movemail.c (fatal): Accept third parameter and pass down to
-	error.
-	(pfatal_with_name): Pass error string as format parameter instead
-	of as part of format string.
+	* movemail.c (fatal): Accept third parameter and pass down to error.
+	(pfatal_with_name): Pass error string as format parameter instead of
+	as part of format string.
 	(pfatal_and_delete): Likewise.
 	(main): Adjust call to fatal.
 	(xmalloc): Likewise.
@@ -499,8 +542,7 @@
 
 2004-12-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
-	* make-docfile.c: Include stdlib.h even if WINDOWSNT is not
-	defined.
+	* make-docfile.c: Include stdlib.h even if WINDOWSNT is not defined.
 
 2004-12-15  Andreas Schwab  <schwab@suse.de>
 
@@ -566,8 +608,7 @@
 
 2004-05-10  Thien-Thi Nguyen  <ttn@gnu.org>
 
-	* test-distrib.c (main): For failing cases, exit with
-	`EXIT_FAILURE'.
+	* test-distrib.c (main): For failing cases, exit with `EXIT_FAILURE'.
 
 2004-05-08  Jason Rumney  <jasonr@gnu.org>
 
@@ -740,8 +781,7 @@
 
 2003-04-27  Oliver Scholz  <alkibiades@gmx.de>
 
-	* update-game-score.c (read_scores): Fix corruption of scores on
-	read.
+	* update-game-score.c (read_scores): Fix corruption of scores on read.
 
 2003-04-12  Stefan Monnier  <monnier@cs.yale.edu>
 
--- a/lib-src/emacsclient.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/lib-src/emacsclient.c	Mon Jan 01 17:38:32 2007 +0000
@@ -301,16 +301,15 @@
 /* Message functions. */
 
 #ifdef WINDOWSNT
-/* I first tried to check for STDOUT.  The check did not work,
-   I get a valid handle also in nonconsole apps.
-   Instead I test for console title, which seems to work.  */
 int
-w32_window_app()
+w32_window_app ()
 {
   static int window_app = -1;
   char szTitle[MAX_PATH];
 
   if (window_app < 0)
+    /* Checking for STDOUT does not work; it's a valid handle also in
+       nonconsole apps.  Testing for the console title seems to work. */
     window_app = (GetConsoleTitleA (szTitle, MAX_PATH) == 0);
 
   return window_app;
@@ -488,9 +487,7 @@
   if (alternate_editor)
     {
       int i = optind - 1;
-#ifdef WINDOWSNT
-      main_argv[i] = (char *)alternate_editor;
-#endif
+
       execvp (alternate_editor, main_argv + i);
       message (TRUE, "%s: error executing alternate editor \"%s\"\n",
 	       progname, alternate_editor);
@@ -683,7 +680,7 @@
 }
 
 #ifdef WINDOWSNT
-/* Wrapper to make WSACleanup a cdecl, as required by atexit().  */
+/* Wrapper to make WSACleanup a cdecl, as required by atexit.  */
 void
 __cdecl close_winsock ()
 {
@@ -707,10 +704,47 @@
 #endif /* WINDOWSNT */
 
 
+#ifdef WINDOWSNT
+
+/*
+  execvp wrapper for Windows. Quotes arguments with embedded spaces.
+
+  This is necessary due to the broken implementation of exec* routines in
+  the Microsoft libraries: they concatenate the arguments together without
+  quoting special characters, and pass the result to CreateProcess, with
+  predictably bad results.  By contrast, Posix execvp passes the arguments
+  directly into the argv array of the child process.
+*/
+int
+w32_execvp (path, argv)
+     char *path;
+     char **argv;
+{
+  int i;
+
+  /* Required to allow a .BAT script as alternate editor.  */
+  argv[0] = (char *) alternate_editor;
+
+  for (i = 0; argv[i]; i++)
+    if (strchr (argv[i], ' '))
+      {
+	char *quoted = alloca (strlen (argv[i]) + 3);
+	sprintf (quoted, "\"%s\"", argv[i]);
+	argv[i] = quoted;
+      }
+
+  return execvp (path, argv);
+}
+
+#undef execvp
+#define execvp w32_execvp
+
+#endif /* WINDOWSNT */
+
 /*
  * Read the information needed to set up a TCP comm channel with
  * the Emacs server: host, port, pid and authentication string.
-*/
+ */
 int
 get_server_config (server, authentication)
      struct sockaddr_in *server;
@@ -1145,6 +1179,62 @@
   exit (EXIT_FAILURE);
 }
 
+#ifdef WINDOWSNT
+FARPROC set_fg;  /* Pointer to AllowSetForegroundWindow.  */
+FARPROC get_wc;  /* Pointer to RealGetWindowClassA.  */
+
+BOOL CALLBACK
+w32_find_emacs_process (hWnd, lParam)
+     HWND hWnd;
+     LPARAM lParam;
+{
+  DWORD pid;
+  char class[6];
+
+  /* Reject any window not of class "Emacs".  */
+  if (! get_wc (hWnd, class, sizeof (class))
+      || strcmp (class, "Emacs"))
+    return TRUE;
+
+  /* We only need the process id, not the thread id.  */
+  (void) GetWindowThreadProcessId (hWnd, &pid);
+
+  /* Not the one we're looking for.  */
+  if (pid != (DWORD) emacs_pid) return TRUE;
+
+  /* OK, let's raise it.  */
+  set_fg (emacs_pid);
+
+  /* Stop enumeration.  */
+  return FALSE;
+}
+
+/*
+ * Search for a window of class "Emacs" and owned by a process with
+ * process id = emacs_pid.  If found, allow it to grab the focus.
+ */
+void
+w32_give_focus ()
+{
+  HMODULE hUser32;
+
+  /* It should'nt happen when dealing with TCP sockets.  */
+  if (!emacs_pid) return;
+
+  if (!(hUser32 = LoadLibrary ("user32.dll"))) return;
+
+  /* Modern Windows restrict which processes can set the foreground window.
+     emacsclient can allow Emacs to grab the focus by calling the function
+     AllowSetForegroundWindow.  Unfortunately, older Windows (W95, W98 and
+     NT) lack this function, so we have to check its availability.  */
+  if ((set_fg = GetProcAddress (hUser32, "AllowSetForegroundWindow"))
+      && (get_wc = GetProcAddress (hUser32, "RealGetWindowClassA")))
+    EnumWindows (w32_find_emacs_process, (LPARAM) 0);
+
+  FreeLibrary (hUser32);
+}
+#endif
+
 int
 main (argc, argv)
      int argc;
@@ -1184,24 +1274,7 @@
     }
 
 #ifdef WINDOWSNT
-  /*
-    Modern Windows restrict which processes can set the foreground window.
-    emacsclient can allow Emacs to grab the focus by calling the function
-    AllowSetForegroundWindow().  Unfortunately, older Windows (W95, W98
-    and NT) lack this function, so we have to check its availability.
-  */
-  if (emacs_pid)
-    {
-      HMODULE hUser32;
-
-      if (hUser32 = LoadLibrary ("user32.dll"))
-	{
-	  FARPROC set_fg;
-	  if (set_fg = GetProcAddress (hUser32, "AllowSetForegroundWindow"))
-	    set_fg (emacs_pid);
-	  FreeLibrary (hUser32);
-	}
-    }
+  w32_give_focus ();
 #endif
 
   /* First of all, send our version number for verification. */
--- a/lib-src/etags.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/lib-src/etags.c	Mon Jan 01 17:38:32 2007 +0000
@@ -41,7 +41,7 @@
  * configuration file containing regexp definitions for etags.
  */
 
-char pot_etags_version[] = "@(#) pot revision number is $Revision: 3.61 $";
+char pot_etags_version[] = "@(#) pot revision number is 17.25";
 
 #define	TRUE	1
 #define	FALSE	0
@@ -3163,7 +3163,7 @@
 make_C_tag (isfun)
      bool isfun;
 {
-  /* This function should never be called when token.valid is FALSE, but
+  /* This function is never called when token.valid is FALSE, but
      we must protect against invalid input or internal errors. */
   if (!DEBUG && !token.valid)
     return;
@@ -3493,7 +3493,6 @@
 				  off += 1;
 				  len -= 1;
 				}
-			      len = toklen;
 			      linebuffer_setlen (&token_name, len);
 			      strncpy (token_name.buffer,
 				       newlb.buffer + off, len);
@@ -4687,8 +4686,16 @@
       while (*bp != '\0' && *bp != '=' && *bp != ':')
 	bp++;
       if (*bp == ':' || (globals && *bp == '='))
-	make_tag (lb.buffer, bp - lb.buffer, TRUE,
-		  lb.buffer, bp - lb.buffer + 1, lineno, linecharno);
+	{
+	  /* We should detect if there is more than one tag, but we do not.
+	     We just skip initial and final spaces. */
+	  char * namestart = skip_spaces (lb.buffer);
+	  while (--bp > namestart)
+	    if (!notinname (*bp))
+	      break;
+	  make_tag (namestart, bp - namestart + 1, TRUE,
+		    lb.buffer, bp - lb.buffer + 2, lineno, linecharno);
+	}
     }
 }
 
@@ -6278,7 +6285,7 @@
 		  name = lbp->buffer + start;
 		  *endp = '\0';
 		  canonicalize_filename (name); /* for DOS */
-		  taggedabsname = absolute_filename (name, curfdp->infabsdir);
+		  taggedabsname = absolute_filename (name, tagfiledir);
 		  if (filename_is_absolute (name)
 		      || filename_is_absolute (curfdp->infname))
 		    taggedfname = savestr (taggedabsname);
--- a/lib-src/makefile.w32-in	Sun Dec 03 15:12:18 2006 +0000
+++ b/lib-src/makefile.w32-in	Mon Jan 01 17:38:32 2007 +0000
@@ -24,7 +24,7 @@
 
 .PHONY: $(ALL)
 
-VERSION		= 22.0.91
+VERSION		= 22.0.92
 
 LOCAL_FLAGS	= -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \
 		  -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \
@@ -45,18 +45,18 @@
 $(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O)
 		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS)
 
-make-docfile:	$(BLD) $(BLD)/make-docfile.exe
-ctags:		$(BLD) $(BLD)/ctags.exe
-etags:		$(BLD) $(BLD)/etags.exe
-ebrowse:        $(BLD) $(BLD)/ebrowse.exe
-hexl:		$(BLD) $(BLD)/hexl.exe
-movemail:	$(BLD) $(BLD)/movemail.exe
-fakemail:	$(BLD) $(BLD)/fakemail.exe
-sorted-doc:	$(BLD) $(BLD)/sorted-doc.exe
-digest-doc:	$(BLD) $(BLD)/digest-doc.exe
-emacsclient:	$(BLD) $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe
+make-docfile:	stamp_BLD $(BLD)/make-docfile.exe
+ctags:		stamp_BLD $(BLD)/ctags.exe
+etags:		stamp_BLD $(BLD)/etags.exe
+ebrowse:        stamp_BLD $(BLD)/ebrowse.exe
+hexl:		stamp_BLD $(BLD)/hexl.exe
+movemail:	stamp_BLD $(BLD)/movemail.exe
+fakemail:	stamp_BLD $(BLD)/fakemail.exe
+sorted-doc:	stamp_BLD $(BLD)/sorted-doc.exe
+digest-doc:	stamp_BLD $(BLD)/digest-doc.exe
+emacsclient:	stamp_BLD $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe
 
-test-distrib:	$(BLD) $(BLD)/test-distrib.exe
+test-distrib:	stamp_BLD $(BLD)/test-distrib.exe
 	"$(BLD)/test-distrib.exe" "$(SRC)/testfile"
 
 GETOPTOBJS = $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O)
@@ -82,11 +82,11 @@
 
 $(BLD)/emacsclient.exe:		$(ECLIENTOBJS)
 # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
-		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(LIBS)
+		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(LIBS)
 
 $(BLD)/emacsclientw.exe:	$(ECLIENTOBJS) $(TRES)
 # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
-		$(LINK) $(LINK_OUT)$@ $(TRES) -mwindows $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(LIBS)
+		$(LINK) $(LINK_OUT)$@ $(TRES) -mwindows $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(LIBS)
 
 # emacsclient.$(O) depends on makefile.w32-in because makefile.w32-in
 # can be edited to define VERSION string, which is part of ECLIENT_CFLAGS.
@@ -285,7 +285,7 @@
 	- $(DEL) temacs.exe
 
 DOC	      = DOC
-$(DOC):		$(BLD) $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp2)
+$(DOC):		stamp_BLD $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp2)
 		- $(DEL) $(DOC)
 		"$(THISDIR)/$(BLD)/make-docfile" -o $(DOC) -d ../src $(obj)
 		"$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp1)
@@ -301,7 +301,7 @@
 #
 # Build the executables
 #
-all:		$(BLD) $(ALL) $(DOC)
+all:		stamp_BLD $(ALL) $(DOC)
 
 #
 # Assuming INSTALL_DIR is defined, build and install emacs in it.
@@ -329,6 +329,7 @@
 		- $(DEL) ctags.c
 		- $(DEL) getopt.h
 		- $(DEL_TREE) $(OBJDIR)
+		- $(DEL) stamp_BLD
 
 cleanall:	clean
 		- $(DEL_TREE) obj
@@ -482,3 +483,16 @@
 	$(EMACS_ROOT)/src/s/ms-w32.h \
 	$(EMACS_ROOT)/src/m/intel386.h \
 	$(EMACS_ROOT)/lib-src/../src/config.h
+
+# The following dependencies are for supporting parallel builds, where
+# we must make sure $(BLD) exists before any compilation starts.
+#
+$(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O): stamp_BLD
+
+$(BLD)/sorted-doc.$(O) $(BLD)/digest-doc.$(O): stamp_BLD
+
+$(BLD)/test-distrib.$(O) $(GETOPTOBJS) $(MOVEMAILOBJS): stamp_BLD
+
+$(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD
+
+$(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O): stamp_BLD
--- a/lisp/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,17 +1,780 @@
+2006-12-31  Romain Francoise  <romain@orebokech.com>
+
+	* net/tramp.el (tramp-default-method): Don't use `symbol-function'.
+
+2006-12-31  Kim F. Storm  <storm@cua.dk>
+
+	* files.el (auto-mode-case-fold): New defcustom.
+	(set-auto-mode): If non-nil, perform second case-sensitive pass
+	through auto-mode-alist if first pass failed.
+
+2006-12-30  Richard Stallman  <rms@gnu.org>
+
+	* emacs-lisp/easy-mmode.el (define-global-minor-mode): Doc fix.
+
+2006-12-30  Ken Manheimer  <ken.manheimer@gmail.com>
+
+	* allout.el (allout-encrypt-string): Handle symmetric-key
+	passphrase caching but leave keypair caching to pgg.
+
+2006-12-30  Michael Albinus  <michael.albinus@gmx.de>
+
+	Sync with Tramp 2.0.55.
+
+	* net/tramp.el (tramp-completion-mode): Use `wholenump' instead of
+	`integerp'.  `char-equal' could fail else in case of negative
+	numbers.  Reported by Toby Speight <T.M.Speight.90@cantab.net>.
+	(top): Check for `font-lock-add-keywords' before calling; it
+	doesn't exist under XEmacs.
+	(tramp-yn-prompt-regexp): Fix regexp.  Add question from plink.
+	(tramp-completion-mode): Remove clause (not
+	tramp-unified-filenames), because the function is called in other
+	context too, where this check results in wrong results in the
+	XEmacs case on Windows.
+	(tramp-touch): UTC handling is not possible for XEmacs.
+
+2006-12-30  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
+
+	* scroll-bar.el (previous-scroll-bar-mode): New variable
+	(set-scroll-bar-mode): Set previous-scroll-bar-mode.
+	(scroll-bar-mode): Use previous-scroll-bar-mode if set.
+
+	* term/x-win.el: Set scroll bar mode to right if set by X resources.
+
+2006-12-30  Richard Stallman  <rms@gnu.org>
+
+	* files.el (make-backup-file-name-1): Precompute abs name
+	but don't lose the relative name.
+
+	* international/mule-cmds.el (select-safe-coding-system-interactively):
+	Fix message.
+
+2006-12-30  Kevin Rodgers  <kevin.d.rodgers@gmail.com>
+
+	* files.el (backup-buffer): Show entire backup file name in msg.
+
+2006-12-30  Juanma Barranquero  <lekktu@gmail.com>
+
+	* image.el (image-type-header-regexps, image-type-from-data)
+	(image-type-from-buffer, image-type-from-file-header):
+	Revert changes from 2006-12-26.
+	(image-type-auto-detectable): New variable.
+	(image-type-auto-detected-p): New function.
+
+	* files.el (magic-mode-alist): Detect image files with
+	`image-type-auto-detected-p' instead of `image-type-from-buffer'.
+
+2006-12-29  Nick Roberts  <nickrob@snap.net.nz>
+
+	* dired.el (dired-sort-other): Move test for dired-mode...
+	(dired-sort-set-modeline): ...to here.
+
+2006-12-29  Micha,Ak(Bl Cadilhac  <michael.cadilhac@lrde.org>
+
+	* textmodes/fill.el (fill-comment-paragraph): Document 2006-12-24
+	change.  Suggested by Stefan Monnier.
+
+2006-12-29  Kim F. Storm  <storm@cua.dk>
+
+	* emacs-lisp/bindat.el (bindat--unpack-group, bindat--length-group)
+	(bindat--pack-group): Let-bind COUNT during repeat block evaluation.
+
+2006-12-27  Kim F. Storm  <storm@cua.dk>
+
+	* emacs-lisp/authors.el (authors-aliases): Anchor FSF alias regexp,
+	so it doesn't accidentally match an fsf.org mail address.
+	(authors-renamed-files-alist): Add tcover-*.el.
+
+2006-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* vc-arch.el (vc-arch-find-version): New function.
+
+	* vc-hooks.el (vc-version-backup-file-name): Revision names may be
+	composed of arbitrary characters (even /) in some systems.
+
+2006-12-27  Eli Zaretskii  <eliz@gnu.org>
+
+	* international/mule-cmds.el (select-safe-coding-system-interactively):
+	Improve the message in the *Warning* buffer.
+
+2006-12-27  Kim F. Storm  <storm@cua.dk>
+
+	* ido.el (ido-set-matches-1): Fix last change.  If default item is
+	current buffer, it is ok to be first.
+
+2006-12-27  Kenichi Handa  <handa@m17n.org>
+
+	* international/mule-cmds.el (select-safe-coding-system-interactively):
+	Improve the message in *Warning* buffer.
+
+2006-12-27  Kim F. Storm  <storm@cua.dk>
+
+	* ido.el (ido-set-matches-1): Never put current buffer first if
+	there are other matches.
+
+2006-12-26  Nick Roberts  <nickrob@snap.net.nz>
+
+	* progmodes/gdb-ui.el (gud-watch): Allow duplicate names for watch
+	expressions.
+	(gdb-var-delete): Handle duplicate names.  Print message for non
+	root expressions.
+	(gdb-partial-output-name): Start buffer name with a space.
+	(gdb-info-breakpoints-custom, gdb-reset): Handle space in above
+	buffer name.
+
+2006-12-26  Micha,Ak(Bl Cadilhac  <michael.cadilhac@lrde.org>
+
+	* mail/footnote.el (Footnote-insert-footnote): Fix the search of the
+	last footnote when `footnote-spaced-footnotes' is nil.
+
+2006-12-26  Richard Stallman  <rms@gnu.org>
+
+	* cus-edit.el (custom-browse-sort-alphabetically)
+	(custom-buffer-sort-alphabetically)
+	(custom-menu-sort-alphabetically): Doc fixes.  Add autoloads.
+
+	* image.el (image-type-header-regexps): Change element format
+	to include third item NOT-ALWAYS.
+	(image-type-from-data): Handle new format.
+	(image-type-from-buffer): Handle new format.  New arg INCLUDE-MAYBES.
+	(image-type-from-file-header): Pass t for INCLUDE-MAYBES.
+
+2006-12-26  Guanpeng Xu  <herberteuler@hotmail.com>  (tiny change)
+
+	* add-log.el (add-log-current-defun): Call `forward-sexp'
+	multiple times to pick a member function name defined as
+	part of nested classes/namespaces.
+
+2006-12-26  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+
+	* emacs-lisp/easymenu.el (easy-menu-change): New arg MAP to indicate
+	which keymap should be used to change menu.  It does not affect any
+	existent code.
+
+2006-12-26  Richard Stallman  <rms@gnu.org>
+
+	* textmodes/fill.el (fill-paragraph): Check for a minibuffer
+	rather than for being in a minibuffer window.
+
+2006-12-25  Daiki Ueno  <ueno@unixuser.org>
+
+	* pgg-def.el (pgg-passphrase-coding-system): Default to nil instead of
+	locale-coding-system.
+	* pgg-gpg.el (pgg-gpg-process-region): Encode passphrase with eol-type
+	LF.
+
+2006-12-25  Michael R. Mauger  <mmaug@yahoo.com>
+
+	* progmodes/sql.el (sql-mode-abbrev-table): Corrected initialization.
+	(sql-mode-syntax-table): Disable double quoted strings.
+	(sql-mode-font-lock-object-name): Added TYPE and TYPE BODY.
+
+2006-12-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* startup.el (fancy-splash-last-input-event): New variable.
+	(fancy-splash-special-event-action): New function.
+	(fancy-splash-screens): Temporarily bind special events to it.
+	Execute command for saved special event before exiting from
+	recursive editing.
+
+	* term/mac-win.el (mac-keyboard-translate-char, mac-unread-string):
+	New functions.
+	(mac-ts-update-active-input-area, mac-ts-unicode-for-key-event):
+	Use mac-unread-string.
+
+2006-12-24  Micha,Ak(Bl Cadilhac  <michael.cadilhac@lrde.org>
+
+	* textmodes/fill.el (fill-comment-paragraph): Prevent the use of
+	an optimized comment regexp if `comment-start-skip' uses a ^.
+	* bs.el (bs--up): Remove interactive spec.
+
+2006-12-24  Chong Yidong  <cyd@stupidchicken.com>
+
+	* woman.el (woman-decode-buffer): Signal error for alien macro sets.
+	Suggested by James Cloos.
+
+2006-12-24  Kevin Ryde  <user42@zip.com.au>
+
+	* calendar/cal-dst.el (calendar-dst-starts): Default to second Sunday
+	in March.
+	(calendar-dst-ends): Default to first Sunday in November.
+
+2006-12-24  Ken Manheimer  <ken.manheimer@gmail.com>
+
+	* allout.el (allout-encrypt-string): Inhibit use of agent within
+	body of let form where encryption happens.  Acknowledge non-use of
+	gpg-agent in docstring.
+	(allout-toggle-subtree-encryption): Acknowledge non-use of
+	gpg-agent in docstring.
+
+2006-12-24  Chong Yidong  <cyd@stupidchicken.com>
+
+	* custom.el (custom-add-frequent-value): Alias for custom-add-option.
+
+2006-12-23  Michael Kifer  <kifer@cs.stonybrook.edu>
+
+	* ediff-diff.el (ediff-diff-options): Clarify docstring.
+	(ediff-setup-diff-regions): Disallow -u in ediff-diff-options.
+
+	* viper-cmd.el (viper-post-command-sentinel): Protect against errors
+	in hooks.
+	(viper-add-newline-at-eob-if-necessary): Add newline only if we
+	actually modify buffer; ignore errors if occur.
+
+2006-12-23  Chong Yidong  <cyd@stupidchicken.com>
+
+	* calendar/calendar.el (calendar-mode-map): Switch < and >.
+	(calendar-mode-line-format): Use mouse-1 bindings, and tweak
+	formatting.
+
+2006-12-23  Richard Stallman  <rms@gnu.org>
+
+	* simple.el (delete-horizontal-space): Doc fix.
+
+2006-12-23  Eli Zaretskii  <eliz@gnu.org>
+
+	* makefile.w32-in (bootstrap-clean): Run bootstrap-clean-$(SHELLTYPE)
+	explicitly in a recursive Make, not implicitly through prerequisites,
+	since the latter is wrong under parallel builds.
+
+2006-12-22  Eli Zaretskii  <eliz@gnu.org>
+
+	* w32-fns.el (convert-standard-filename): Wrap in save-match-data.
+
+2006-12-22  Kevin Rodgers  <kevin.d.rodgers@gmail.com>  (tiny change)
+
+	* progmodes/sh-script.el (sh-make-vars-local): Fix a typo in
+	message string.
+
+2006-12-22  Ben North  <ben@redfrontdoor.org>  (tiny change)
+
+	* outline.el (outline-next-visible-heading): Fix the case with a
+	header at end-of-file with no final newline.
+
+2006-12-22  Robert Thorpe  <rthorpe@realworldtech.com>  (tiny change)
+
+	* indent.el (tab-always-indent): Doc fix.
+
+2006-12-22  Chong Yidong  <cyd@stupidchicken.com>
+
+	* info.el (Info-fontify-maximum-menu-size): Bump to 1000000.
+	(Info-fontify-node): Do fontify indices.
+
+	* tutorial.el (tutorial--detailed-help): Remove unnecessary link
+	to the Emacs Lisp reference manual.
+	(tutorial--tab-map): Remove.  All callers changed.
+	(tutorial--find-changed-keys): New elt QUIET, used to...
+	(tutorial--display-changes): ...ensure that warning messages are
+	only issued once per changed key.
+	(tutorial--remove-remarks): Delete unused code-path.
+	(lang-strings): Remove extraneous formatting.
+	(tutorial--save-tutorial): Prompt before saving tutorial state.
+
+2006-12-21  Chong Yidong  <cyd@stupidchicken.com>
+
+	* tutorial.el: Remove `cl' requirement.  Clean up whitespace.
+	Replace '?\ ' by '?\s' throughout.
+	(tutorial-warning-face): Inherit font-lock-warning-face.  Move to
+	`help' custom group.
+	(tutorial--key-description): New function.
+	(tutorial--display-changes): Remove redundant arg.  Scan for all
+	key sequences to avoid false matches.  Cleanup.
+	(tutorial--saved-dir): Save to a subdirectory in .emacs.d to
+	reduce homedir pollution.
+	(help-with-tutorial): Call tutorial--display-changes with no arg.
+
+2006-12-21  Carsten Dominik  <dominik@science.uva.nl>
+
+	* textmodes/org.el (org-mode-map): Bind org-complete also to M-\t.
+
+2006-12-20  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-default-method): We still need to check for
+	`executable-find', because it is not bound under Emacs 20.
+	(tramp-handle-file-name-completion)
+	(tramp-completion-handle-file-name-completion): Handle optional
+	parameter PREDICATE.
+	(tramp-find-default-method): Add code for default values.
+
+2006-12-20  Nick Roberts  <nickrob@snap.net.nz>
+
+	* progmodes/gdb-ui.el (gdb-stopped): After attaching to a process
+	make gud-go send "continue".
+
+2006-12-19  Juanma Barranquero  <lekktu@gmail.com>
+
+	* image.el (image-type-header-regexps): Be more specific detecting `pbm'
+	and `png' files.  Use non-capturing parenthesis for `tiff' regexp.
+
+2006-12-19  Kim F. Storm  <storm@cua.dk>
+
+	* bindings.el: Bind sigusr1 and sigusr2 in special-event-map
+	instead of global-map.
+
+	* files.el (magic-mode-alist): Allow matching file type by
+	calling a function at bob.  Check for image types by calling
+	image-type-from-buffer.  Suggested by Juanma Barranquero.
+	(set-auto-mode): Do it.
+
+2006-12-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-methods): Introduce new method `scpc'.
+	Remove "ControlMaster" option from the other `scp*' methods.
+	(tramp-default-method): Check for ssh-agent before setting to `scp'.
+
+2006-12-18  Carsten Dominik  <dominik@science.uva.nl>
+
+	* textmodes/org.el (org-mode): Show context after isearch.
+	(org-show-siblings): New function.
+	(org-show-context): Use `org-show-siblings'.
+
+2006-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* emacs-lisp/syntax.el (syntax-ppss-flush-cache, syntax-ppss):
+	Use syntax-ppss-toplevel-pos.
+
+2006-12-18  Carsten Dominik  <dominik@science.uva.nl>
+
+	* textmodes/org.el (org-current-line): Make sure that lines are
+	counted from beginning of buffer.
+	(org-table-copy-region, org-table-paste-rectangle): Make sure that
+	lines are counted from beginning of buffer.
+
+2006-12-17  Chong Yidong  <cyd@stupidchicken.com>
+
+	* info.el (Info-build-node-completions): Signal error if tag-table
+	marker is not found.
+
+	* pgg-gpg.el (pgg-gpg-use-agent): Default to t.
+
+2006-12-17  Alan Mackenzie  <acm@muc.de>
+
+	* emacs-lisp/lisp.el (beginning-of-defun-raw): Optimise (for
+	speed) the case when open-paren-in-column-0-is-defun-start is nil.
+	Based on code by Martin Rudalics.
+
+	* progmodes/cc-mode.el (c-basic-common-init): Don't set
+	open-paren-in-column-0-is-defun-start to nil any more.
+
+2006-12-17  Richard Stallman  <rms@gnu.org>
+
+	* simple.el (delete-horizontal-space): Use prefix arg.
+
+	* help-fns.el (describe-variable): Improve blank separator lines.
+
+	* files.el (magic-mode-alist): Mark as risky.
+
+	* files.el (make-backup-file-name-1):
+	Expand backup-directory explicitly.
+
+2006-12-17  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-default-method): Before setting to "pscp",
+	check whether package password.el is loaded, or Pageant is running.
+
+2006-12-17  Ulf Jasper  <ulf.jasper@web.de>
+
+	* calendar/icalendar.el (icalendar-version): Increase to "0.14".
+	(icalendar--rris): First try Emacs, then XEmacs.
+	(icalendar--convert-ical-to-diary): Doc fix.
+	Insert newline at end of target file.
+
+2006-12-17  Kim F. Storm  <storm@cua.dk>
+
+	* outline.el (outline-isearch-open-invisible-function): New defvar.
+	(outline-flag-region): Use it if non-nil for isearch-open-invisible
+	overlay property instead of outline-isearch-open-invisible.
+
+2006-12-16  Kim F. Storm  <storm@cua.dk>
+
+	* ido.el (ido-completion-help): Build ido-cur-list and ido-matches
+	if ido-directory-too-big is set on entry.
+	(ido-toggle-ignore, ido-completion-help): Print message while
+	reading big directory.
+
+2006-12-15  Richard Stallman  <rms@gnu.org>
+
+	* shell.el (shell): Doc fix.
+
+2006-12-15  Kevin Gallagher <Kevin.Gallagher@boeing.com>
+
+	* emulation/edt.el (edt-xserver):
+	* emulation/edt-mapper.el (edt-xserver): Replace `/' with a `-',
+	to fix a problem on Cygwin.
+
+	* emulation/edt.el
+	* emulation/edt-mapper.el
+	* emulation/edt-lk201.el
+	* emulation/edt-pc.el
+	* emulation/edt-vt100.el: Update maintainer's email address.
+
+2006-12-15  Simon Marshall  <simon@gnu.org>
+
+	* progmodes/cc-fonts.el (c-font-lock-declarations): Fix previous
+	change.
+
+2006-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* term/mac-win.el (mac-atsu-font-table): Remove defvar.
+	(mac-handle-font-selection): Use mac-atsu-font-face-attributes
+	instead of mac-atsu-font-table.
+	(fontset-default): Specify argument MAXIMUM in x-list-fonts calls.
+
+2006-12-14  Stephen Leake  <stephen_leake@member.fsf.org>
+
+	* align.el (align-match-tex-pattern): Fix a rare bug which
+	hanged Emacs.
+
+2006-12-14  Richard Stallman  <rms@gnu.org>
+
+	* startup.el (use-fancy-splash-screens-p): Use frame-height
+	instead of window-height.  Pass frame to image-size.
+
+2006-12-13  Kenichi Handa  <handa@m17n.org>
+
+	* international/mule-cmds.el (set-locale-environment):
+	Set default-sendmail-coding-system too.
+
+2006-12-12  J.D. Smith  <jdsmith@as.arizona.edu>
+
+	* progmodes/idlw-help.el: Fix copyright notice.
+
+2006-12-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): New fun.
+
+2006-12-11  Juanma Barranquero  <lekktu@gmail.com>
+
+	* subr.el (unread-command-char): Reformat obsolescence info.
+
+2006-12-11  Richard Stallman  <rms@gnu.org>
+
+	* emacs-lisp/cl-macs.el (defstruct): Suppress warnings
+	about calls to cl-struct-setf-expander.
+
+2006-12-11  Juanma Barranquero  <lekktu@gmail.com>
+
+	* ediff-merg.el (ediff-show-clashes-only): Doc fix.
+	(ediff-combination-pattern): Fix typo in docstring.
+
+	* textmodes/refer.el (refer-find-entry): Doc fix.
+	(refer-bib-files-regexp, refer-bib-directory, refer-bib-files)
+	(refer-cache-bib-files, refer-find-next-entry, refer-yank-key):
+	Fix tipos in docstrings.
+
+	* progmodes/idlwave.el (idlwave-library-path): Fix typos in docstring.
+
+2006-12-10  Kim F. Storm  <storm@cua.dk>
+
+	* ido.el (ido-init-completion-maps): Remap backward-kill-word
+	instead of binding M-backspace.
+
+2006-12-10  Juanma Barranquero  <lekktu@gmail.com>
+
+	* replace.el (replace-match-data, replace-match-maybe-edit):
+	* calc/calc-aent.el (calc-eval-error):
+	* emulation/vi.el (vi-char-argument):
+	* progmodes/cc-langs.el (c-at-vsemi-p-fn)
+	(c-vsemi-status-unknown-p-fn): Doc fixes.
+
+2006-12-10  Chong Yidong  <cyd@stupidchicken.com>
+
+	* menu-bar.el (menu-bar-showhide-menu, menu-bar-tools-menu)
+	(menu-bar-help-menu): Tooltip fixes.  Suggested by Francis Wright.
+
+2006-12-10  Masatake YAMATO  <jet@gyve.org>
+
+	* progmodes/ld-script.el (ld-script-keywords): Fix a typo.
+
+2006-12-09  Chong Yidong  <cyd@stupidchicken.com>
+
+	* mouse-sel.el (mouse-sel-mode): Register mouse-2 as a click type.
+
+	* man.el (Man-xref-button-action): New function.  If the
+	`Man-target-string' button property is a function, assume it
+	accepts a position argument.
+	(Man-abstract-xref-man-page): Use it.
+	(Man-default-man-entry): New optional arg POS.
+
+	* wdired.el (wdired-preprocess-symlinks): Make the spaces after
+	symlink arrows read-only and non-rear-sticky.
+
+2006-12-09  Martin Rudalics  <rudalics@gmx.at>
+
+	* wdired.el (wdired-change-to-wdired-mode, wdired-finish-edit)
+        (wdired-search-and-rename): Simplify code.
+	(wdired-preprocess-files, wdired-preprocess-perms): Make
+        read-only property of preceding character rear-nonsticky to
+        avoid that it can be modified.  Put old-name and old-link
+        properties on character preceding name and replace
+        put-text-property by add-text-properties.
+        (wdired-get-filename, wdired-get-previous-link): Get old-name
+        and old-link properties from character preceding name and
+        simplify code.
+	(wdired-preprocess-perms, wdired-set-bit, wdired-toggle-bit)
+        (wdired-perms-to-number): Make local-map property
+        rear-nonsticky to avoid that text following permissions may be
+        modified.  Use add-text-properties instead of put-text-property
+        when changing a permission bit.
+	(wdired-change-to-dired-mode): Remove stickiness properties.
+
+2006-12-09  Juanma Barranquero  <lekktu@gmail.com>
+
+	* international/mule-cmds.el (register-input-method): Doc fix.
+
+2006-12-09  Masayuki Ataka  <masayuki.ataka@gmail.com>  (tiny change)
+
+	* cmuscheme.el (scheme-start-file): Use `let*', not `let'.
+
+2006-12-09  Micha,Ak(Bl Cadilhac  <michael.cadilhac@lrde.org>
+
+	* textmodes/flyspell.el (flyspell-hack-local-variables-hook): New.
+	Force buffer local defs evaluation on local variables loading.
+	(flyspell-mode-on, flyspell-mode-off): Use it in
+	`hack-local-variables-hook'.
+
+2006-12-09  Eli Zaretskii  <eliz@gnu.org>
+
+	* emacs-lisp/find-func.el (find-variable): Doc fix.
+
+	* help-fns.el (variable-at-point): Doc fix.
+
+	* w32-fns.el (w32-append-code-lines): New function.
+
+2006-12-09  Romain Francoise  <romain@orebokech.com>
+
+	* comint.el (comint-insert-input): Delete obsolete comment.
+
+2006-12-08  Kevin Rodgers  <ihs_4664@yahoo.com>
+
+	* files.el (insert-file-1): Compare file size to
+	large-file-warning-threshold and request confirmation when
+	warranted.
+
+2006-12-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* net/browse-url.el (browse-url): Set DISPLAY to the one of the
+	current frame, in case we're connected to several displays.
+
+2006-12-08  Juanma Barranquero  <lekktu@gmail.com>
+
+	* frame.el (other-frame): Doc fix.
+	(set-frame-parameter): Fix typo in docstring.
+
+2006-12-07  Kim F. Storm  <storm@cua.dk>
+
+	* info.el (Info-index): Strip leading colon from topic.
+
+2006-12-07  Nick Roberts  <nickrob@snap.net.nz>
+
+	* progmodes/gud.el (gud-speedbar-buttons): Deal with references
+	to pointers.
+
+2006-12-05  J.D. Smith  <jdsmith@as.arizona.edu>
+
+	* progmodes/idlwave.el (idlwave-xml-create-class-method-lists):
+	Trim out spurious class inheritance "None" entries.
+
+2006-12-05  Kim F. Storm  <storm@cua.dk>
+
+	* emulation/cua-base.el (cua-paste-pop-rotate-temporarily): Doc fix.
+	(cua-paste-pop): Rework last change for
+	cua-paste-pop-rotate-temporarily, so first M-y and C-y works alike,
+	pasting the head of the kill-ring, and prefix arg C-u M-y inserts the
+	text inserted by the last M-y command.
+
+2006-12-05  Micha,Ak(Bl Cadilhac  <michael.cadilhac@lrde.org>
+
+	* cmuscheme.el (run-scheme, scheme-start-file): Search the start
+	file in ~/.emacs.d as `init_SCHEMENAME.scm' instead.
+
+	* shell.el (shell): Search the start file in ~/.emacs.d as
+	`init_SHELLNAME.sh' instead.
+
+2006-12-05  Glenn Morris  <rgm@gnu.org>
+
+	* progmodes/cperl-mode.el (cperl-mode)
+	* progmodes/f90.el (f90-mode-abbrev-table)
+	* progmodes/fortran.el (fortran-mode-abbrev-table)
+	* progmodes/octave-mod.el (octave-abbrev-table)
+	* progmodes/sql.el (sql-mode-abbrev-table): Define abbrevs even
+	if abbrev-table is non-nil (saved user abbrevs may have been restored).
+
+	* progmodes/vhdl-mode.el (vhdl-mode-abbrev-table-init): Do not
+	clear abbrev table, else saved abbrevs will not be restored.
+
+2006-12-04  Juanma Barranquero  <lekktu@gmail.com>
+
+	* facemenu.el (facemenu-unlisted-faces): Put obsolescence info in
+	the call to `make-obsolete-variable', not in the docstring.
+
+2006-12-04  Chong Yidong  <cyd@stupidchicken.com>
+
+	* facemenu.el (facemenu-unlisted-faces): Define as obsolete variable.
+
+2006-12-04  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+
+	* progmodes/ebnf-abn.el:
+	* progmodes/ebnf-bnf.el:
+	* progmodes/ebnf-dtd.el:
+	* progmodes/ebnf-ebx.el:
+	* progmodes/ebnf-iso.el:
+	* progmodes/ebnf-otz.el:
+	* progmodes/ebnf-yac.el:
+	* progmodes/ebnf2ps.el:
+	* delim-col.el:
+	* printing.el:
+	* ps-bdf.el:
+	* ps-mule.el:
+	* ps-print.el: Remove 'Time-stamp' comment mark.
+
+	* printing.el (pr-menu-bind): Replace 'easy-menu-change' by
+	'easy-menu-add-item' when called in Emacs 21 or higher.
+
+2006-12-04  Stephen Leake  <stephen_leake@stephe-leake.org>
+
+	* progmodes/ada-xref.el (ada-check-current): Doc fix.
+	(ada-make-body-gnatstub): Doc fix.  Remove redundant `progn'.
+
+2006-12-04  Kim F. Storm  <storm@cua.dk>
+
+	* bindings.el (global-map): Bind [signal t] to ignore, to have
+	user signals ignored by default.
+
+2006-12-04  Juanma Barranquero  <lekktu@gmail.com>
+
+	* descr-text.el (describe-char-unicode-data): Use a hidden buffer for
+	Unicode data file pointed to by `describe-char-unicodedata-file'.
+
+2006-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* textmodes/sgml-mode.el (sgml-font-lock-keywords-1): Fix pathological
+	O(n^2) regexp-search by anchoring the search.
+
+2006-12-04  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* whitespace.el (whitespace-cleanup-internal): Use current
+	argument for recursive call.
+
+2006-12-04  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-methods): Add "ControlPath" and
+	"ControlMaster" to scp, scp1 and scp2 methods.  Suggested by
+	Andreas Schwab <schwab@suse.de>.
+	(tramp-do-copy-or-rename-file-out-of-band)
+	(tramp-open-connection-rsh): Compute format spec for ?t.
+	(tramp-process-actions): Trace command parameters.
+
+2006-12-04  Nick Roberts  <nickrob@snap.net.nz>
+
+	* simple.el (toggle-truncate-lines): Clarify doc string.
+
+	* progmodes/gdb-ui.el (gdb-var-delete-children): New function.
+	(gdb-speedbar-expand-node): Use it.
+
+2006-12-04  Richard Stallman  <rms@gnu.org>
+
+	* progmodes/python.el (python-indent): Add safe-local-variable prop.
+
+	* dired.el (dired-revert): Turn off dired-after-readin-hook
+	around call to dired-readin.
+
+	* menu-bar.el (menu-bar-make-toggle): Add "globally"
+	to echo area messages.
+	<indicate-empty-lines, case-fold-search>:
+	Add "globally" to Help string.
+	<case-fold-search>: MESSAGE arg need not say "globally".
+	(menu-bar-edit-menu <paste-from-menu>): Rename from select-and-paste.
+
+2006-12-03  Liam Healy  <lnp@healy.washington.dc.us>  (tiny change)
+
+	* outline.el (outline-end-of-subtree): Don't leave an empty
+	line hidden as we would a real next heading.
+
+2006-12-03  Ken Manheimer  <ken.manheimer@gmail.com>
+
+	* allout.el (allout-ascend): Add an optional argument to preserve
+	original position of point when unsuccessful.  Also, fix a
+	docstring error.
+	(allout-yank-processing): Fix depth shift of multiple-topic so yanks
+	work again, using allout-ascend's new option.
+	(allout-setup-mode-map): Extract from allout-mode to initialize
+	allout-mode-map.  Call it on file load, so the mode docstring
+	substitutions work even if allout mode has not yet been invoked.
+	(allout-mode): Use new allout-setup-mode-map to track any keybinding
+	customizations since the map was last processed.  Also,	refine the
+	docstring so it's ship-shape for release.
+	(allout-default-layout, allout-beginning-of-line-cycles)
+	(allout-distinctive-bullets-string, allout-use-mode-specific-leader)
+	(allout-encrypt-unencrypted-on-saves, allout-inhibit-auto-fill)
+	(allout-version, allout-layout, allout-infer-body-reindent)
+	(allout-infer-header-lead-and-primary-bullet, allout-view-change-hook)
+	(allout-init, allout-mode, allout-next-heading, allout-chart-subtree)
+	(allout-previous-heading, allout-goto-prefix-doublechecked)
+	(allout-current-bullet-pos, allout-next-sibling-leap)
+	(allout-pre-command-business, allout-encrypted-type-prefix)
+	(allout-make-topic-prefix, allout-open-topic, allout-rebullet-heading)
+	(allout-rebullet-topic, allout-rebullet-topic-grunt)
+	(allout-flag-region, allout-expose-topic, allout-expose-topic)
+	(allout-old-expose-topic, allout-listify-exposed)
+	(allout-process-exposed, allout-latex-verb-quote)
+	(allout-latex-verbatim-quote-curr-line, allout-adjust-file-variable)
+	(allout-toggle-current-subtree-encryption)
+	(allout-toggle-subtree-encryption, allout-bullet-isearch):
+	Remove extraneous open-paren and close paren string escapes.
+
+2006-12-03  Juanma Barranquero  <lekktu@gmail.com>
+
+	* progmodes/ada-xref.el (is-windows, ada-find-in-src-path): Doc fixes.
+	(ada-xref-pos-ring-max, ada-xref-project-files, ada-xref-initialize)
+	(ada-prj-default-comp-cmd, ada-quote-cmd, ada-compile-current):
+	Fix typos in docstrings.
+
+2006-12-03  Glenn Morris  <rgm@gnu.org>
+
+	* progmodes/cc-align.el
+	* progmodes/cc-awk.el
+	* progmodes/cc-cmds.el
+	* progmodes/cc-compat.el
+	* progmodes/cc-defs.el
+	* progmodes/cc-engine.el
+	* progmodes/cc-langs.el
+	* progmodes/cc-menus.el
+	* progmodes/cc-mode.el
+	* progmodes/cc-styles.el
+	* progmodes/cc-vars.el
+	* progmodes/vhdl-mode.el: Fix Copyright format.
+
+2006-12-02  Chong Yidong  <cyd@stupidchicken.com>
+
+	* mouse.el (mouse-drag-track): Suppress automatic hscrolling for
+	initial down event.
+
+2006-12-02  Kim F. Storm  <storm@cua.dk>
+
+	* emulation/cua-base.el (cua-toggle-set-mark): Doc fix.
+	(cua-repeat-replace-region): Make M-v more robust.
+	(cua-paste-pop-rotate-temporarily): New defcustom.
+	(cua-paste-pop): Use it.
+	(cua-auto-mark-last-change): New defcustom.
+	(cua-pop-to-last-change): New helper function.
+	(cua-set-mark): Use them.
+
 2006-12-01  Nick Roberts  <nickrob@snap.net.nz>
 
-	* menu-bar.el (toggle-case-fold-search): Clarfify doc/help string and
+	* menu-bar.el (toggle-case-fold-search): Clarify doc/help string and
 	mini-buffer message.
 
 2006-12-01  Juanma Barranquero  <lekktu@gmail.com>
 
 	* descr-text.el (describe-char-unicodedata-file): Fix typo in docstring.
 
-2006-12-01  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+2006-12-01  Ben North  <ben@redfrontdoor.org>
 
 	* paren.el: Fix the highlight overlay extension when the user types a
-	sequence of char very fast just after the open parenthesis.
-	Suggested by Ben North <ben@redfrontdoor.org>.
+	sequence of char very fast just before the open parenthesis.
+
+2006-12-01  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 
 	* ps-mule.el: Eliminate Emacs 20 compatibility.
 
@@ -81,8 +844,8 @@
 
 2006-11-29  J.D. Smith  <jdsmith@as.arizona.edu>
 
-	* progmodes/idlwave.el (idlwave-auto-fill): Remove
-	paragraph-start let to prevent auto-fill giving up.
+	* progmodes/idlwave.el (idlwave-auto-fill):
+	Remove paragraph-start let to prevent auto-fill giving up.
 
 2006-11-28  Juanma Barranquero  <lekktu@gmail.com>
 
@@ -90,8 +853,8 @@
 
 2006-11-27  Andreas Seltenreich  <uwi7@rz.uni-karlsruhe.de>
 
-	* emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): Fix
-	interactive spec of the functions getting defined to make them
+	* emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
+	Fix interactive spec of the functions getting defined to make them
 	work as documented.
 
 2006-11-28  Chong Yidong  <cyd@stupidchicken.com>
@@ -2337,7 +3100,7 @@
 
 	* add-log.el (add-log-current-defun): Use `forward-sexp'
 	instead of `forward-word' to pick c++::symbol.
-	Reported by Herbert Euler <herberteuler@hotmail.com>.
+	Reported by Guanpeng Xu <herberteuler@hotmail.com>.
 
 2006-09-22  Kenichi Handa  <handa@m17n.org>
 
@@ -2966,7 +3729,7 @@
 
 2006-09-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
-	* term/mac-win.el: (show-hide-font-panel): New HI command ID symbol.
+	* term/mac-win.el (show-hide-font-panel): New HI command ID symbol.
 	(mac-apple-event-map): Define its handler.
 
 2006-09-07  Toby Allsopp  <Toby.Allsopp@navman.com>  (tiny change)
@@ -4178,7 +4941,7 @@
 
 2006-07-20  Jay Belanger  <belanger@truman.edu>
 
-	* calc.el (calc-previous-alg-entry):  Remove variable.
+	* calc.el (calc-previous-alg-entry): Remove variable.
 
 	* calc-aent.el (calc-alg-entry-history, calc-quick-calc-history):
 	New variables.
@@ -5716,8 +6479,8 @@
 	load-path.  Put a regexp matching the file name into
 	after-load-alist, rather than the name itself.
 
-	* subr.el: New functions load-history-regexp,
-	load-history-filename-element, do-after-load-evaluation.
+	* subr.el (load-history-regexp, load-history-filename-element)
+	(do-after-load-evaluation): New functions.
 
 	* international/mule.el (load-with-code-conversion): Do the
 	eval-after-load stuff by calling do-after-load-evaluation.
--- a/lisp/ChangeLog.1	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog.1	Mon Jan 01 17:38:32 2007 +0000
@@ -3246,7 +3246,8 @@
 		Set current buffer variables from defaults
 		in case user's init file has changed them.
 
-    Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+    Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 2005, 2006
+    Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/ChangeLog.10	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog.10	Mon Jan 01 17:38:32 2007 +0000
@@ -68,9 +68,9 @@
 	superseding the old separate derived mode in awk-mode.el.
 
 	* progmodes/cc-vars.el, cc-mode-19.el, progmodes/cc-langs.el,
-	progmodes/cc-mode.el, progmodes/cc-defs.el,
-	progmodes/cc-engine.el, progmodes/cc-fonts.el: Changes for the
-	new AWK support.
+	* progmodes/cc-mode.el, progmodes/cc-defs.el,
+	* progmodes/cc-engine.el, progmodes/cc-fonts.el:
+	Changes for the new AWK support.
 
 2003-07-03  Martin Stjernholm  <bug-cc-mode@gnu.org>
 
@@ -101,7 +101,7 @@
 	emacsen that doesn't have it.
 
 	* progmodes/cc-styles.el, progmodes/cc-vars.el,
-	progmodes/cc-cmds.el: Fixes for the syntactic symbols for
+	* progmodes/cc-cmds.el: Fixes for the syntactic symbols for
 	module and composition blocks.
 
 	* progmodes/cc-mode.el (c-basic-common-init):
@@ -122,8 +122,8 @@
 	macros in C99.
 
 	* progmodes/cc-menus.el, progmodes/cc-langs.el,
-	progmodes/cc-engine.el, progmodes/cc-fonts.el,
-	progmodes/cc-cmds.el: Fixed various regexps to use POSIX char
+	* progmodes/cc-engine.el, progmodes/cc-fonts.el,
+	* progmodes/cc-cmds.el: Fixed various regexps to use POSIX char
 	classes when that is supported.
 
 	* progmodes/cc-defs.el (c-alpha, c-alnum, c-digit, c-upper, c-lower):
@@ -170,7 +170,6 @@
 
 	* progmodes/cc-engine.el: Fixes in face handling to cope with
 	doc comments.
-
 	(c-find-decl-spots): More failsafe skipping of comments and
 	strings that only have been partially fontified.
 
@@ -294,7 +293,7 @@
 	properties completely.
 
 	* progmodes/cc-fonts.el (c-cpp-matchers): Handle line
-	continuations in cpp expressions. Do not fontify symbols after
+	continuations in cpp expressions.  Do not fontify symbols after
 	#ifdef etc as variables since that isn't consistent with how
 	the face is used elsewhere (i.e. only for the definition of
 	the symbol).
@@ -492,9 +491,8 @@
 	directives are now considered part of the keywords to make
 	things easier.
 
-	* progmodes/cc-defs.el: (c-(up|down)-list-(forward|backward)):
+	* progmodes/cc-defs.el (c-(up|down)-list-(forward|backward)):
 	Make the position optional and added docstrings.
-
 	(c-go-(up|down)-list-(forward|backward)): Add variants of the
 	above that move point and return successfulness instead.
 
@@ -668,10 +666,9 @@
 	each (X)Emacs flavor.
 
 	* progmodes/cc-vars.el, progmodes/cc-defs.el,
-	progmodes/cc-engine.el, progmodes/cc-mode.el:
+	* progmodes/cc-engine.el, progmodes/cc-mode.el:
 	Use `lookup-syntax-properties' in XEmacs to control whether the
 	syntax-table property has any effect or not.
-
 	(c-parse-sexp-lookup-properties): New macro that expands to either
 	`parse-sexp-lookup-properties' or `lookup-syntax-properties'.
 
@@ -742,7 +739,7 @@
 	(c-simple-skip-symbol-backward, c-syntactic-content)
 	(c-remove-<>-paren-properties): New helper functions.
 
-	* progmodes/cc-defs.el: (c-clear-char-syntax)
+	* progmodes/cc-defs.el (c-clear-char-syntax)
 	(c-mark-paren-open, c-mark-paren-close): New support functions
 	to handle syntactic properties on C++ template arglist brackets.
 	(c-put-type-face, c-put-reference-face): Helpers to put faces on
@@ -750,12 +747,12 @@
 	in progmodes/cc-engine.el.
 
 	* progmodes/cc-engine.el, progmodes/cc-fonts.el,
-	progmodes/cc-langs.el: Fix the names on a number of regexp
+	* progmodes/cc-langs.el: Fix the names on a number of regexp
 	language variables to conform to the nomenclature and
 	shortened some names.
 
 	* progmodes/cc-align.el, progmodes/cc-cmds.el,
-	progmodes/cc-fonts.el, progmodes/cc-engine.el
+	* progmodes/cc-fonts.el, progmodes/cc-engine.el
 	(c-syntactic-re-search-forward): Remove the COUNT argument
 	since it's never used.  Add an argument to tell which
 	subexpression whose end should be tested for syntactic
@@ -803,7 +800,6 @@
 	This fixes a performance problem that could occur when
 	`fill-paragraph' is used in font lock mode on a comment at the
 	end of a large class or function.
-
 	(c-state-cache-start): Fix buffer localness.
 
 	* progmodes/cc-langs.el: Updates from the C99 standard (or
@@ -842,7 +838,6 @@
 	table for types: If a name is recognized as a type in a
 	declaration it's added in an obarray to be able to recognize
 	it in other ambiguous declarations.
-
 	(c-remove-ws): New helper function to canonicalize fully
 	qualified identifiers for `c-found-types'.
 
@@ -851,14 +846,12 @@
 
 	* progmodes/cc-align.el (c-lineup-arglist-close-under-paren):
 	Work correctly with nested arglist-cont-nonempty symbols.
-
 	(c-lineup-arglist-operators): New lineup function to line up infix
 	operators under the open paren of the surrounding sexp.
 
 	* progmodes/cc-engine.el (c-forward-syntactic-ws): Fix a bug
 	that could cause an infinite loop if something that looks like
 	a macro begins in the middle of a line.
-
 	(c-parse-state): Fix a bug that could cause `c-state-cache'
 	to contain two conses in sequence when there's an unbalanced
 	open paren in a macro.
@@ -874,13 +867,11 @@
 	string, or a macro.
 
 	* progmodes/cc-align.el, progmodes/cc-cmds.el,
-	progmodes/cc-engine.el (c-forward-single-comment,
-	c-forward-comments, c-backward-single-comment,
-	c-backward-comments): New replacements for `c-forward-comment'
-	that wraps `forward-comment' more efficiently in each of the
-	four different cases it's actually used.  These replacements
-	also treats line continuations as whitespace.
-
+	* progmodes/cc-engine.el (c-forward-single-comment)
+	(c-forward-comments, c-backward-single-comment, c-backward-comments):
+	New replacements for `c-forward-comment' that wraps `forward-comment'
+	more efficiently in each of the four different cases it's actually
+	used.  These replacements also treats line continuations as whitespace.
 	(c-forward-comment): Remove.  The four different cases above
 	are basically different, so it's better to make them into
 	separate functions than choose between them at runtime using
@@ -936,7 +927,7 @@
 	matter.
 
 	* progmodes/cc-align.el, progmodes/cc-defs.el,
-	progmodes/cc-engine.el, progmodes/cc-vars.el
+	* progmodes/cc-engine.el, progmodes/cc-vars.el
 	(c-guess-basic-syntax, c-calc-offset)
 	(c-get-syntactic-indentation, c-syntactic-context):
 	Extend the representation of the syntactic context: Previously it was
@@ -990,16 +981,13 @@
 	position for defun-open in K&R style functions.
 
 	* progmodes/cc-engine.el (c-in-knr-argdecl): Don't trip up on macros.
-
 	(c-search-decl-header-end): Handle C++ template arguments more
 	correctly.
-
 	(c-beginning-of-decl-1): Fix when the declaration is first in a macro.
 
 	* progmodes/cc-engine.el (c-beginning-of-decl-1): Better way
 	to handle protection labels, one which doesn't get confused by
 	inherit colons.
-
 	(c-end-of-decl-1): Don't treat functions that have "class" or
 	"struct" in the return type as classes or structs.
 
@@ -1074,7 +1062,7 @@
 	(iswitchb-xemacs): Delete variable and use (featurep 'xemacs)
 	and fboundp instead.
 	(iswitchb-completions): Remove two redundant arguments and local
-	variables. (All above from Stefan Monnier).
+	variables.  (All above from Stefan Monnier).
 
 2003-06-20  Masatake YAMATO  <jet@gyve.org>
 
@@ -1182,7 +1170,7 @@
 	(gud-find-c-expr): Simplify.
 
 	* progmodes/fortran.el (fortran-gud-syntax-table): Syntax table
-	for parsing Fortran expressions for gud-print. (Stefan Monnier)
+	for parsing Fortran expressions for gud-print.  (Stefan Monnier)
 	(fortran-mode): Add local variable gud-find-expr.
 
 	* progmodes/cc-mode.el (c-mode): Add local variable gud-find-expr.
@@ -1230,7 +1218,7 @@
 	(tramp-file-name-handler): Do not invoke the old remote-shell handler.
 	(tramp-find-foreign-file-name-handler): Return after first match
 	is found.  From Francis Litterio <franl@world.std.com>.
-	(tramp-handle-file-newer-than-file-p):  `tramp-time-diff' returns
+	(tramp-handle-file-newer-than-file-p): `tramp-time-diff' returns
 	integer, not list.  Do not apply `car' to the return value of
 	`tramp-time-diff'.  Reported by David D. Smith
 	<ultrasoul@ultrasoul.com>.
@@ -1285,7 +1273,7 @@
 
 	* emacs-lisp/debug.el (debug): Fix call to message.
 
-2003-06-16  Michael Mauger  <mmaug@yahoo.com> (tiny change)
+2003-06-16  Michael Mauger  <mmaug@yahoo.com>  (tiny change)
 
 	* emulation/cua-base.el (cua-mode): Use explicit arg to turn off
 	minor modes.
@@ -1460,7 +1448,7 @@
 
 	* info.el (Info-fontify-node): Don't refill over lines ending in a
 	period; this should fix problems with lists like one in the
-	(emacs)Library Keywords section.
+	"(emacs)Library Keywords" section.
 
 2003-06-05  Markus Rost  <rost@math.ohio-state.edu>
 
@@ -1652,7 +1640,7 @@
 	* textmodes/bibtex.el: Long overdue merge.
 	Don't require `compile' since it seems unnecessary.
 	For all internal variables and functions the docstring comments have
-	been converted into proper docstrings
+	been converted into proper docstrings.
 	(bibtex-maintainer-address, bibtex-maintainer-salutation)
 	(bibtex-version): Remove support for bug reporting.
 	(bibtex-field-delimiters, bibtex-entry-delimiters)
@@ -2012,7 +2000,7 @@
 
 	* international/mule.el (ctext-non-standard-encodings-alist):
 	Rename from non-standard-icccm-encodings-alist.
-	(ctext-non-standard-encodings-regexp): New variable
+	(ctext-non-standard-encodings-regexp): New variable.
 	(ctext-post-read-conversion): Full rewrite.
 	(ctext-non-standard-designations-alist): Rename from
 	non-standard-designations-alist.
@@ -2182,8 +2170,8 @@
 	(gdb-display-source-buffer): Display assembler during execution,
 	when requested.
 	(gud-menu-map): Add a toggle button to menubar for gdb-many-windows.
-	(gdb-many-windows): Define explicitly as a function and a variable
-	(formerly as a minor mode). These need to be global so layout can
+	(gdb-many-windows): Define explicitly as a function and a variable.
+	(formerly as a minor mode).  These need to be global so layout can
 	be reset from any buffer.
 	(gdb-assembler-mode): Keep fringe outside margin as the overlay
 	arrow is not used for assembler.
@@ -2257,7 +2245,7 @@
 
 	* net/tramp-efs.el: New file.
 
-2003-05-24 Michael Albinus  <Michael.Albinus@alcatel.de>
+2003-05-24  Michael Albinus  <Michael.Albinus@alcatel.de>
 
 	* net/tramp.el (tramp-handle-file-truename): `sym' shouldn't be
 	quoted.
@@ -2302,7 +2290,7 @@
 	(forms--mode-commands): Don't bind \t in the maps where
 	we call forms--mode-commands1.
 
-2003-05-23  Taro Kawagishi <tarok@acm.org>
+2003-05-23  Taro Kawagishi  <tarok@acm.org>
 
 	* arc-mode.el (archive-lzh-summarize): Calculate correct total
 	header size for LZH level 1 header.
@@ -2396,7 +2384,7 @@
 	choices buffer.
 	(ispell-show-choices): Directly select `choices-window'.
 	(ispell-help): Use default buffer size for electric help.
-	(ispell-adjusted-window-height): Correct for xemacs detection.
+	(ispell-adjusted-window-height): Correct for XEmacs detection.
 	(ispell-start-process): Don't double specify dictionary file name.
 	(ispell-init-process): Set `ispell-library-path' each call.
 	(ispell-change-dictionary): Now only completes valid dictionaries.
@@ -2674,7 +2662,7 @@
 	(gdb-invalidate-breakpoints-and-assembler): Remove.
 	(gdb-current-address): Remove.
 	(gdb-previous-address): New variable.
-	(gud-until): Extend to work in Assembler buffer
+	(gud-until): Extend to work in Assembler buffer.
 	(gdb-append-to-inferior-io): Select IO buffer when there is output.
 	(gdb-assembler-custom): Try to get line marker (arrow) to display
 	in window.  Correct parsing for OS dependent output syntax of Gdb
@@ -3343,7 +3331,7 @@
 	(ada-prj-find-prj-file): New parameter FILE.
 	(ada-parse-prj-file): Take into account the ADA_INCLUDE_PATH and
 	ADA_OBJECTS_PATH environment variables.  Minor reorganization of the
-	code
+	code.
 	(ada-get-all-references): Add support for GNAT 3.16 cross-references.
 
 	* progmodes/ada-prj.el (ada-prj-add-keymap): Move to ada-mode.el
@@ -3448,7 +3436,7 @@
 	(recentf-sort-directories-ascending)
 	(recentf-sort-directories-descending)
 	(recentf-show-basenames-ascending)
-	(recentf-show-basenames-descending: In-line.   Better code.  Doc fix.
+	(recentf-show-basenames-descending): In-line.  Better code.  Doc fix.
 	(recentf-show-basenames)
 	(recentf-relative-filter): Better code.  Doc fix.
 	(recentf-arrange-by-rule-subfilter): Doc fix.  Improve :set code.
@@ -3768,7 +3756,7 @@
 
 	* font-core.el (font-lock-maximum-size, font-lock-verbose): Remove.
 	(font-lock-multiline, font-lock-fontified, font-lock-set-defaults):
-	Move back to font-lock.el
+	Move back to font-lock.el.
 	(font-lock-default-function): Use font-lock-mode-internal.
 
 	* files.el (auto-mode-alist): Add entries for *.ins and *.dtx.
@@ -3831,7 +3819,7 @@
 2003-04-13  Masatake YAMATO  <jet@gyve.org>
 
 	* bindings.el (toplevel): Don't change the face
-	of major-mode on the mode line. Setting the face on
+	of major-mode on the mode line.  Setting the face on
 	the mode line code is installed by my mistake in
 	my last change.
 
@@ -3876,7 +3864,7 @@
 	(describe-minor-mode-from-symbol):
 	Renamed from (old) describe-minor-mode.
 	Use describe-minor-mode-completion-table-for-symbol.
-	Don't use eval. Just use symbol-name.
+	Don't use eval.  Just use symbol-name.
 	(describe-minor-mode-from-indicator): Document is updated.
 	Use `format-mode-line'.
 	Use describe-minor-mode-from-symbol instead of describe-minor-mode.
@@ -3933,9 +3921,9 @@
 2003-04-11  Masatake YAMATO  <jet@gyve.org>
 
 	* progmodes/etags.el (select-tags-table-mode-map):
-	Don't create new keymap. Instead copy from button-buffer-map.
+	Don't create new keymap.  Instead copy from button-buffer-map.
 	Bind push-button to `t' instead of binding
-	select-tags-table-select directly
+	select-tags-table-select directly.
 	(tags-select-tags-table): New button.
 	(select-tags-table): Put a button for each selections.
 
@@ -4070,14 +4058,14 @@
 	* international/utf-16.el (utf-16-le-decode-loop)
 	(utf-16-be-decode-loop): New temporary variables.
 	(ccl-decode-mule-utf-16-le): Use utf-16-le-decode-loop.
-	(ccl-decode-mule-utf-16-be): Use utf-16-be-decode-loop
+	(ccl-decode-mule-utf-16-be): Use utf-16-be-decode-loop.
 	(ccl-decode-mule-utf-16-le-with-signature)
 	(ccl-decode-mule-utf-16-be-with-signature)
 	(ccl-decode-mule-utf-16): New CCL programs.
 	(utf-16-le-encode-loop, utf-16-be-encode-loop): New temporary
 	variables.
 	(ccl-encode-mule-utf-16-le): Use utf-16-le-encode-loop.
-	(ccl-encode-mule-utf-16-be): Use utf-16-be-encode-loop
+	(ccl-encode-mule-utf-16-be): Use utf-16-be-encode-loop.
 	(ccl-encode-mule-utf-16-le-with-signature)
 	(ccl-encode-mule-utf-16-be-with-signature): New CCL programs.
 	(mule-utf-16-post-read-conversion): New function.
@@ -4124,7 +4112,7 @@
 	the same order as that in the buffer list,
 	(desktop-save): Put buffers in the order given in desktop file,
 	regardless of what handlers do.
-	(desktop-file-version): New variable. Version number of desktop
+	(desktop-file-version): New variable.  Version number of desktop
 	file format.
 	(desktop-create-buffer-form): Variable deleted.
 	(desktop-save): New customizable variable.
@@ -4134,14 +4122,14 @@
 	(desktop-file-name): New function to convert a filename to the
 	format specified in `desktop-file-name-format'.
 	(desktop-create-buffer): Parameters renamed to descriptive
-	systematic names. These parameters are visible to handlers.
+	systematic names.  These parameters are visible to handlers.
 	Renames:
 	ver    -> desktop-file-version
 	mim    -> desktop-buffer-minor-modes
 	pt     -> desktop-buffer-point
 	mk     -> desktop-buffer-mark
 	ro     -> desktop-buffer-read-only
-	locals -> desktop-buffer-locals
+	locals -> desktop-buffer-locals.
 	(desktop-buffer-major-mode, desktop-buffer-file-name)
 	(desktop-buffer-name): Delete unused customizable variables.
 	(desktop-buffer-misc): Delete unused variable.
@@ -4157,7 +4145,7 @@
 	(desktop-change-dir): New function.
 	(desktop-save-in-load-dir): New function.  Save desktop in
 	directory from which it was loaded.
-	(desktop-revert): New function. Revert to the last loaded desktop.
+	(desktop-revert): New function.  Revert to the last loaded desktop.
 
 2003-04-06  Masatake YAMATO  <jet@gyve.org>
 
@@ -5354,8 +5342,8 @@
 	of buffer.  This enables recognition of end of HERE-doc "as one types".
 	Require "\n" after trailing tag of HERE-doc.
 	\( made non-quoting outside of string/comment (gdj-contributed).
-	Likewise for \$.  Remove `here-doc-group' text property at start
-	(makes this property reliable).
+	Likewise for \$.  Remove `here-doc-group' text property at
+	start (makes this property reliable).
 	Text property `first-format-line' ==> t.
 	Do not recognize $opt_s and $opt::s as s///.
 	(cperl-after-block-p): Optional arg pre-block to check for a pre-block
@@ -5624,7 +5612,7 @@
 	Face markup of calendar and diary displays: Any entry line that
 	ends with [foo:value] where foo is a face attribute (except :box
 	:stipple) or with [face:blah] tags, will have these values applied
-	to the calendar and fancy diary displays. These attributes "stack"
+	to the calendar and fancy diary displays.  These attributes "stack"
 	on calendar displays.  File-wide attributes can be defined as
 	follows: the first line matching "^# [tag:value]" defines the
 	value for that particular tag.  All of the tags' regexps can be
@@ -5919,7 +5907,7 @@
 	I did it accidently.  Infinite loop ...
 	(tramp-get-device): `tramp-make-tramp-file-name' must not be
 	called with NIL path.  It fails in case of multi-method.
-	(tramp-file-name-for-operation):  Apply `expand-file-name' for
+	(tramp-file-name-for-operation): Apply `expand-file-name' for
 	relative file names only.  Otherwise there might be problems if
 	the default directory is another Tramp directory as the directory
 	the file is based on.
@@ -5968,7 +5956,7 @@
 
 	* net/tramp-smb.el (tramp-smb-file-name-handler-alist):
 	Apply `tramp-handle-directory-file-name'.
-	(tramp-smb-handle-file-attributes):  Apply `tramp-get-device'.
+	(tramp-smb-handle-file-attributes): Apply `tramp-get-device'.
 	ATIME and CTIME are (0 0) now (= "don't know"), which is more honest.
 	(tramp-smb-handle-make-directory): Use Emacs file name primitives
 	instead of calling tramp-smb-handle-* equivalents directly.
@@ -6072,7 +6060,7 @@
 	regexp subpattern 5)
 	(time-stamp-pattern): Initialize to nil to avoid regexp work in
 	default case.
-	(time-stamp-string): Call set-time-zone-rule instead of setenv
+	(time-stamp-string): Call set-time-zone-rule instead of setenv.
 	(time-stamp-hhmmss): Remove (not needed after all).
 	(time-stamp-month-dd-yyyy, time-stamp-dd/mm/yyyy)
 	(time-stamp-mon-dd-yyyy, time-stamp-dd-mon-yy, time-stamp-yy/mm/dd)
@@ -6260,7 +6248,7 @@
 	of unrecognized entries indicating syntax errors in ChangeLog files.
 	(authors-coding-system): New variable.
 	(authors-many-files): Update doc string.
-	(authors-aliases): Change format. Now one entry with multiple
+	(authors-aliases): Change format.  Now one entry with multiple
 	aliases per author.
 	(authors-valid-file-names, authors-renamed-files-alist)
 	(authors-renamed-files-regexps): New variables.
@@ -6363,7 +6351,7 @@
 
 2003-01-25  Bill Wohler  <wohler@newt.com>
 
-	* mh-e: Created directory. ChangeLog will appear in a week when we
+	* mh-e: Created directory.  ChangeLog will appear in a week when we
 	release version 7.2.
 
 	* mail/mh-alias.el, mail/mh-comp.el, mail/mh-customize.el, mail/mh-e.el,
@@ -6532,7 +6520,7 @@
 
 	* gud.el (gud-display-line): If the current file is newer than its
 	buffer, offer to reread the file.
-	(gud-keep-buffer): New buffer local variable. Ensures offer to
+	(gud-keep-buffer): New buffer local variable.  Ensures offer to
 	reread file is made just once.
 
 2003-01-20  Stefan Monnier  <monnier@cs.yale.edu>
@@ -6735,10 +6723,10 @@
 
 2003-01-13  Markus Rost  <rost@math.ohio-state.edu>
 
-	* cus-dep.el (custom-make-dependencies):  Don't set standard-value
+	* cus-dep.el (custom-make-dependencies): Don't set standard-value
 	and version numbers for variables.  Handle faces.
 
-	* cus-edit.el (customize-changed-options):  Doc addition.  Load the
+	* cus-edit.el (customize-changed-options): Doc addition.  Load the
 	version deps earlier.  Use other tests for groups and variables.
 	Handle faces.
 
@@ -6862,7 +6850,7 @@
 2003-01-11  Nick Roberts  <nick@nick.uklinux.net>
 
 	* gud.el (gud-kill-buffer-hook): Save gud-minor-mode type.
-	(gud-reset): New function. Reset environment at end of debugging.
+	(gud-reset): New function.  Reset environment at end of debugging.
 	(gud-sentinel): Call gud-reset or gdb-reset.
 	(gud-menu-map, gud-tool-bar-map, gdb): Change gud-goto to gud-until.
 
@@ -6870,7 +6858,7 @@
 	to find out if variable shuld be dereferenced.
 	(gud-display1): Exit if there is `No symbol'.
 	(gdb-expressions-mode-map): Correction to key-binding.
-	(gdb-reset): New function. Reset environment at end of debugging.
+	(gdb-reset): New function.  Reset environment at end of debugging.
 	(gdb-quit): Remove.
 
 2003-01-10  Dave Love  <fx@gnu.org>
@@ -6960,7 +6948,7 @@
 	* cus-edit.el (custom-variable-prompt): Doc change.
 	Use custom-variable-p.
 	(customize-option): Remove search in loaddefs.el.
-	(customize-apropos):  Use custom-variable-p.
+	(customize-apropos): Use custom-variable-p.
 	(custom-save-variables): Use custom-variable-p to detect
 	non-rogue variables.
 
@@ -7159,7 +7147,7 @@
 	(gdb-mouse-goto-breakpoint, gdb-frames-select): New functions.
 	(gdb-frames-mouse-select): Simplify.
 	Make keybindings (gdb-goto-breakpoint, gdb-frames-select, etc)
-	consistent with other modes in emacs.
+	consistent with other modes in Emacs.
 	(gdb-display-source-buffer): Return window of source buffer
 	for (gud-display-line).
 
@@ -7395,8 +7383,8 @@
 
 2002-12-21  Nick Roberts  <nick@nick.uklinux.net>
 
-	* gdb-ui.el: Remove the concept of an instance. This means that
-	a lot of functions have been renamed. Accessors are prefixed with
+	* gdb-ui.el: Remove the concept of an instance.  This means that
+	a lot of functions have been renamed.  Accessors are prefixed with
 	gdb-get, setters with gdb-set and the word instance has been
 	removed from many function and variable names.
 	(gdb-display-buffer): Protect source buffer as well
@@ -7575,7 +7563,7 @@
 2002-12-13  Markus Rost  <rost@math.ohio-state.edu>
 
 	* emacs-lisp/easy-mmode.el (define-minor-mode):
-	Use `custom-current-group'. Pass all groups to the hook.
+	Use `custom-current-group'.  Pass all groups to the hook.
 	(easy-mmode-define-global-mode): Use `custom-current-group'.
 
 	* international/mule-cmds.el (current-language-environment):
@@ -7972,7 +7960,7 @@
 2002-12-02  Fran,Ag(Bois Pinard  <pinard@iro.umontreal.ca>
 
 	* progmodes/make-mode.el (makefile-font-lock-keywords): Highlight
-	more make keywords:  defined, endef, override, export, unexport
+	more make keywords: defined, endef, override, export, unexport
 	and vpath.
 
 2002-12-02  Dave Love  <fx@gnu.org>
@@ -7993,7 +7981,7 @@
 2002-11-30  Nick Roberts  <nick@nick.uklinux.net>
 
 	* gdb-ui.el (gdb-many-windows): Define as a minor mode.
-	(toggle-gdb-windows): Remove. (Patch from Stefan Monnier)
+	(toggle-gdb-windows): Remove.  (Patch from Stefan Monnier)
 
 	* tooltip.el (tooltip-gud-process-output): Handle annotations that
 	are output with gdba in gdb-ui.el.
@@ -8028,7 +8016,7 @@
 	Make search for message delimiter case-sensitive.
 
 	* simple.el (yank-window-start): New variable.
-	(yank): Record yank-window-start
+	(yank): Record yank-window-start.
 	(yank-pop): Use yank-window-start.
 
 	* info.el (Info-additional-directory-list): Doc fix.
@@ -8115,7 +8103,7 @@
 	* tooltip.el (tooltip-gud-print-command): Add server prefix to the
 	print command for gdb to keep it out of the command history.
 
-	* gdb-ui.el: Major re-organisation. Simplify legacy gdba
+	* gdb-ui.el: Major re-organisation.  Simplify legacy gdba
 	code to allow only one gdb process.
 
 2002-11-23  Markus Rost  <rost@math.ohio-state.edu>
@@ -8129,7 +8117,7 @@
 
 2002-11-21  Nick Roberts  <nick@nick.uklinux.net>
 
-	* gdb-ui.el : General tidying. Patches from Stefan Monnier.
+	* gdb-ui.el : General tidying.  Patches from Stefan Monnier.
 
 2002-11-20  Simon Josefsson  <jas@extundo.com>
 
@@ -9372,11 +9360,11 @@
 	append slash only if result doesn't end in a slash already.
 	(tramp-handle-file-truename): Restructure logic.  If list of steps
 	is nil, return "/" as the real name.
-	(tramp-completion-mode): Add "\\(" and "\\)". Otherwise,
+	(tramp-completion-mode): Add "\\(" and "\\)".  Otherwise,
 	`match-string' doesn't make sense.  From Michael Albinus.
-	(tramp-host-with-port-regexp): New defcustom. Equal to previous
+	(tramp-host-with-port-regexp): New defcustom.  Equal to previous
 	`tramp-host-regexp'.  From Michael Albinus.
-	(tramp-host-regexp): Taken off hashes in host names. Otherwise,
+	(tramp-host-regexp): Taken off hashes in host names.  Otherwise,
 	scanning files like .rhosts would take comments as host names.
 	From Michael Albinus.
 	(tramp-file-name-structure, tramp-multi-file-name-hop-structure):
@@ -9441,8 +9429,8 @@
 	menu pseudo-keys generated by easymenu which are lowercase in
 	Emacs 22.1.
 
-	* progmodes/ada-xref.el
-	(ada-xref-update-project-menu,ada-add-ada-menu): Ditto.
+	* progmodes/ada-xref.el (ada-xref-update-project-menu)
+	(ada-add-ada-menu): Ditto.
 
 2002-10-03  John Paul Wallington  <jpw@shootybangbang.com>
 
@@ -10009,7 +9997,7 @@
 	(occur-next, occur-prev): Use it.
 
 	* progmodes/sh-script.el (sh-mark-init): Don't set `occur-buffer'.
-	(sh-mark-line): Likewise. Use 'occur-target and 'occur-match
+	(sh-mark-line): Likewise.  Use 'occur-target and 'occur-match
 	instead of 'occur and 'occur-point.
 
 	* eshell/em-unix.el (eshell-occur-mode-mouse-goto)
@@ -10096,7 +10084,7 @@
 	(tramp-parse-netrc, tramp-parse-netrc-group): New functions.
 	(tramp-user-regexp): " \t" are not user regexp characters.
 	(tramp-completion-handle-file-name-all-completions):
-	Remove Ange-FTP cmpletion. It has a bug not handling the "/ftp:" prefix
+	Remove Ange-FTP cmpletion.  It has a bug not handling the "/ftp:" prefix
 	completely, and it returns local completions as well.
 	(tramp-completion-function-alist-ftp): New constant.
 	(tramp-completion-function-alist): Add completion function for "ftp".
@@ -10275,27 +10263,26 @@
 2002-09-07  Michael Albinus  <Michael.Albinus@alcatel.de>
 
 	* net/tramp.el (tramp-methods): Remove `tramp-completion-function'
-	entries. They are handled now by `tramp-completion-function-alist'.
-	(tramp-completion-function): Defvar removed. I've never used
-	it. Hmm.
+	entries.  They are handled now by `tramp-completion-function-alist'.
+	(tramp-completion-function): Defvar removed.  I've never used it.  Hmm.
 	(tramp-get-completion-function)
 	(tramp-get-completion-rsh, tramp-get-completion-ssh)
 	(tramp-get-completion-telnet, tramp-get-completion-su):
 	Functions removed as well.  Not necessary any longer due to extended
 	customization means.
-	(tramp-completion-function-alist): New defcustom. Holds all
+	(tramp-completion-function-alist): New defcustom.  Holds all
 	FUNCTION FILE pairs used for user and host name completion
 	relevant for METHOD.
 	(tramp-completion-function-alist-rsh)
 	(tramp-completion-function-alist-ssh)
 	(tramp-completion-function-alist-telnet)
 	(tramp-completion-function-alist-su): Defconst for initializing
-	`tramp-completion-function-alist'. Unfortunately, mainly UNIX-like
-	values are known for me until now. Needs to be completed for at
+	`tramp-completion-function-alist'.  Unfortunately, mainly UNIX-like
+	values are known for me until now.  Needs to be completed for at
 	least VMS++ like operating systems.
 	(tramp-set-completion-function)
 	(tramp-get-completion-function): New functions for configuration
-	of `tramp-completion-function-alist'. The old definition of
+	of `tramp-completion-function-alist'.  The old definition of
 	`tramp-get-completion-function' has been discarded.
 	(tramp-completion-handle-file-name-all-completions):
 	Change function call for user/host completion according to definition
@@ -10332,7 +10319,7 @@
 	(tramp-get-completion-user-host): Accept user names as they are if
 	typed until "@".
 	(tramp-completion-mode): Replace `last-input-char' by modern
-	`last-input-event'. Check for `event-modifiers'.
+	`last-input-event'.  Check for `event-modifiers'.
 
 2002-09-06  Kai Gro,A_(Bjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
 
@@ -10391,8 +10378,8 @@
 	(tramp-make-multi-tramp-file-format-unified)
 	(tramp-make-multi-tramp-file-format-separate): Removed.
 	(tramp-make-tramp-file-name): Allow partial tramp file
-	names. Generate tramp file format on-the-fly depending on
-	parameters. Apply atomar format strings resp expressions.
+	names.  Generate tramp file format on-the-fly depending on
+	parameters.  Apply atomar format strings resp expressions.
 	(tramp-get-completion-methods)
 	(tramp-get-completion-user-host): Apply `tramp-make-tramp-file-name'.
 	(tramp-parse-hosts-group): Take all host names and IP addresses
@@ -10444,7 +10431,7 @@
 
 	* net/tramp.el (tramp-get-completion-methods)
 	(tramp-get-completion-rsh)
-	(tramp-get-completion-ssh): Add "[" for Xemacs.
+	(tramp-get-completion-ssh): Add "[" for XEmacs.
 	(tramp-completion-file-name-regexp-separate): Expression adapted.
 	(tramp-completion-file-name-handler-alist): Add handler for
 	`file-name-directory' and `file-name-nondirectory'.
@@ -10455,7 +10442,7 @@
 	(tramp-completion-handle-file-name-all-completions):
 	Apply `tramp-completion-run-real-handler'.
 	(tramp-parse-rhosts)
-	(tramp-parse-shosts): Use `with-temp-buffer'. `result$,1!=(B renamed to
+	(tramp-parse-shosts): Use `with-temp-buffer'.  `result' renamed to
 	`res' (otherwise side effects in XEmacs).
 
 2002-08-24  Michael Albinus  <Michael.Albinus@alcatel.de>
@@ -10470,7 +10457,7 @@
 	(tramp-get-completion-ssh): Doc string tuned.
 	(tramp-methods): Doc string and custom type extended for
 	`tramp-completion-function'.
-	(tramp-completion-function): Variable added. Is it really used?
+	(tramp-completion-function): Variable added.  Is it really used?
 	Other variables like `tramp-completion-function' aren't used.
 	(tramp-completion-file-name-handler-alist): Add handler for
 	`file-name-completion'.
@@ -10518,7 +10505,7 @@
 
 	* net/tramp.el (tramp-invoke-ange-ftp): `tramp-disable-ange-ftp'
 	must be called again after activating `ange-ftp'.
-	(tramp-ange-ftp-file-name-p): Check for Xemacs.
+	(tramp-ange-ftp-file-name-p): Check for XEmacs.
 
 2002-08-08  Michael Albinus  <Michael.Albinus@alcatel.de>
 
@@ -10528,7 +10515,7 @@
 	tramp-invoke-ange-ftp 'write-region.
 	(tramp-handle-set-file-modes): Change order of FILENAME and MODE
 	passing to tramp-invoke-ange-ftp 'set-file-modes.
-	(tramp-flatten-list): New function. Maybe this functionality does
+	(tramp-flatten-list): New function.  Maybe this functionality does
 	exist already elsewhere in the libraries.
 	(tramp-invoke-ange-ftp): Apply `tramp-flatten-list' to parameter
 	list in order to avoid nested lists, f.e. when invoked from
@@ -10660,7 +10647,7 @@
 
 2002-09-18  Luc Teirlinck  <teirllm@mail.auburn.edu>
 
-	* ielm.el: (*1, *2, *3): New variables.
+	* ielm.el (*1, *2, *3): New variables.
 	(ielm-eval-input): Make temporary buffers current on entry and
 	exit to the let bindings for *, ** and ***.
 	(inferior-emacs-lisp-mode): Mention *1, *2 and *3 in the docstring.
@@ -10961,7 +10948,7 @@
 2002-09-12  Simon Josefsson  <jas@extundo.com>
 
 	* mail/smtpmail.el (smtpmail-send-it): Don't use : in filenames
-	(for cygwin). Suggested by Andrew Senior <aws@watson.ibm.com>.
+	(for cygwin).  Suggested by Andrew Senior <aws@watson.ibm.com>.
 	Use expand-file-name.  Also don't require time-stamp.
 
 2002-09-11  Richard M. Stallman  <rms@gnu.org>
@@ -11259,7 +11246,7 @@
 2002-09-08  Kim F. Storm  <storm@cua.dk>
 
 	* kmacro.el (kmacro-end-and-call-macro): New command to end and
-	call keyboard macro in one step. Bind it to C-x e by default.
+	call keyboard macro in one step.  Bind it to C-x e by default.
 	(kmacro-call-macro): Use format-kbd-macro.
 	(kmacro-step-edit-macro): New command to interactively step edit
 	and execute last keyboard macro.
@@ -11459,7 +11446,7 @@
 
 	From Michael Albinus <Michael.Albinus@alcatel.de>:
 	* net/tramp.el (tramp-invoke-ange-ftp):
-	(tramp-ange-ftp-file-name-p): Check for Xemacs.
+	(tramp-ange-ftp-file-name-p): Check for XEmacs.
 	(tramp-do-copy-or-rename-file): Don't pass KEEP-DATE to
 	tramp-invoke-ange-ftp 'rename.
 	(tramp-handle-write-region): Don't pass LOCKNAME and CONFIRM to
@@ -12552,7 +12539,7 @@
 
 	* warnings.el (lwarn, warn, warning-levels): Doc fix.
 	(warning-suppress-log-types): Fix typo.
-	(display-warning): Fix typo. Remove useless assignment to free variable
+	(display-warning): Fix typo.  Remove useless assignment to free variable
 	`group-string'.
 
 2002-07-25  Markus Rost  <rost@math.ohio-state.edu>
@@ -12758,8 +12745,8 @@
 
 	* textmodes/reftex-vars.el (reftex-index-verify-function): New option.
 	(reftex-bibliography-commands): New option.
-	(reftex-toc-split-windows-horizontally): New option
-	(reftex-toc-split-windows-horizontally-fraction): New option
+	(reftex-toc-split-windows-horizontally): New option.
+	(reftex-toc-split-windows-horizontally-fraction): New option.
 	(reftex-include-file-commands): New option.
 	(reftex-cite-format-builtin): Added ?n for nocite.
 
@@ -12768,7 +12755,7 @@
 
 	* textmodes/reftex-toc.el (reftex-re-enlarge):
 	Handle horizontal splitting.
-	(reftex-toc): Handle horizontal splitting
+	(reftex-toc): Handle horizontal splitting.
 	(reftex-last-window-width): New variable.
 
 	* textmodes/reftex-parse.el (reftex-locate-bibliography-files):
@@ -13371,8 +13358,8 @@
 	* files.el (after-find-file): Don't check for read-only status
 	of files just created (and not yet saved on disk).
 
-	* ido.el (ido-completion-help): Changed xemacs specific code to
-	avoid byte compiler warning in GNU emacs.
+	* ido.el (ido-completion-help): Changed XEmacs specific code to
+	avoid byte compiler warning in GNU Emacs.
 	(ido-set-matches1): Use regexp-quote instead of identity.
 	(ido-complete-space): New function.
 	(ido-define-mode-map): Bind it to SPACE.
@@ -13696,7 +13683,7 @@
 	* faces.el (describe-face): Capitalize "not documented" message.
 
 	* help-fns.el (describe-variable): Likewise.
-	(describe-function-1): Likewise. Also, document the obsolescence
+	(describe-function-1): Likewise.  Also, document the obsolescence
 	of the function, if applicable.
 
 2002-06-26  Juanma Barranquero  <lektu@terra.es>
@@ -14169,7 +14156,7 @@
 	(comint-send-input, comint-output-filter): Use text properties
 	instead of overlays.
 	(comint-insert-clicked-input): Rewrite to work with text
-	properties as well as overlays
+	properties as well as overlays.
 	(comint-snapshot-last-prompt): Snapshot using text properties.
 	(comint-get-old-input-default, comint-extract-string): Don't copy
 	text properties.
@@ -14190,7 +14177,7 @@
 	(italic): Try underlining for displays that don't support real italics.
 	* cus-edit.el (custom-display): Add support for `supports' predicate.
 	* term/tty-colors.el (color-name-rgb-alist): Use 16-bit RGB values
-	instead of 8-bit, for consistency with the rest of emacs.
+	instead of 8-bit, for consistency with the rest of Emacs.
 	(tty-color-canonicalize): Only copy COLOR if we need to change it.
 	(tty-color-approximate): Scale values from `color-name-rgb-alist'
 	appropriately.  Return the whole color description, rather than
@@ -14553,7 +14540,7 @@
 
 2002-05-24  Glenn Morris  <gmorris@ast.cam.ac.uk>
 
-	* progmodes/f90.el: (f90-end-of-subprogram): Remove the final
+	* progmodes/f90.el (f90-end-of-subprogram): Remove the final
 	`forward-line'.
 	(f90-end-of-block, f90-beginning-of-block, f90-next-block-end)
 	(f90-previous-block-start): New navigation commands.
@@ -14587,7 +14574,7 @@
 	(apropos-calc-scores, apropos-score-str, apropos-score-doc)
 	(apropos-score-symbol): New functions.
 	(apropos-command, apropos, apropos-value, apropos-documentation):
-	Allow keywords in addition to regexp. Added scoring.
+	Allow keywords in addition to regexp.  Added scoring.
 	(apropos-documentation-check-doc-file)
 	(apropos-documentation-check-elc-file): Added scoring.
 	(apropos-print): Sort according to score.
@@ -15271,7 +15258,7 @@
 	(mouse-wheel-scroll-screen): Remove.
 	([mouse-wheel], [C-mouse-wheel], [S-mouse-wheel]): Use mwheel-scroll.
 
-	* w32-vars.el: (mouse-wheel-scroll-amount): Remove.
+	* w32-vars.el (mouse-wheel-scroll-amount): Remove.
 
 2002-05-04  Markus Rost  <rost@math.ohio-state.edu>
 
@@ -15673,9 +15660,9 @@
 	(sendmail-send-it): Use it.
 
 	* mail/smtpmail.el (smtpmail-queue-counter): New variable.
-	(smtpmail-send-it): Use it to construct new queue filenames
-	(needed if you send more than one message per second, which is
-	possible if you use Gnus Agent).
+	(smtpmail-send-it): Use it to construct new queue filenames (needed
+	if you send more than one message per second, which is possible if
+	you use Gnus Agent).
 
 	* mail/smtpmail.el (smtpmail-auth-credentials): Support netrc
 	files as well.
@@ -15950,8 +15937,8 @@
 
 2002-04-22  Pavel Jan,Am(Bk  <Pavel@Janik.cz>
 
-	* international/mule-diag.el (list-input-methods-1): Doc fix
-	(LEIM is now part of the standard distribution).
+	* international/mule-diag.el (list-input-methods-1): Doc fix (LEIM is
+	now part of the standard distribution).
 
 	* tmm.el (tmm-completion-prompt): Doc fix.
 
@@ -15964,14 +15951,14 @@
 
 2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
 
-	* progmodes/cc-mode.el: (c-define-abbrev-table): New function to
+	* progmodes/cc-mode.el (c-define-abbrev-table): New function to
 	pass the SYSTEM-FLAG to `define-abbrev' in a way that works in
 	emacsen that doesn't support it.
 
 2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
 
 	* progmodes/cc-align.el, progmodes/cc-engine.el,
-	progmodes/cc-styles.el, progmodes/cc-vars.el
+	* progmodes/cc-styles.el, progmodes/cc-vars.el
 	(c-guess-basic-syntax, c-lineup-topmost-intro-cont):
 	Find correct anchor for statement-cont in top level constructs.
 	Analyze variable initializations in top level constructs as
@@ -16480,7 +16467,7 @@
 	and macros.
 
 	(c-in-literal): No longer recognizes macros as literals by
-	default. An extra flag argument is required to do that.
+	default.  An extra flag argument is required to do that.
 
 	(c-macro-start, c-query-macro-start)
 	(c-query-and-set-macro-start): Added a cache for the macro
@@ -16668,9 +16655,9 @@
 	(c-least-enclosing-brace): Added optional second arg to limit
 	the search to before a certain point.
 
-	* progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug
-	which could cause incorrect analysis if a cached state is used
-	(usually only happens when an electric key reindents a line).
+	* progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug which
+	could cause incorrect analysis if a cached state is used (usually
+	only happens when an electric key reindents a line).
 
 2002-04-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
 
@@ -16848,9 +16835,9 @@
 	(scroll-all-beginning-of-buffer-all, scroll-all-end-of-buffer-all):
 	New functions.
 
-	* files.el: (auto-mode-alist): .f95 files in f90-mode.
-
-	* progmodes/fortran.el: (fortran-beginning-do): Make regexp match
+	* files.el (auto-mode-alist): .f95 files in f90-mode.
+
+	* progmodes/fortran.el (fortran-beginning-do): Make regexp match
 	a DO statement irrespective of numeric label.
 
 2002-04-20  Glenn Morris  <gmorris@ast.cam.ac.uk>
@@ -16956,7 +16943,7 @@
 
 2002-04-16  Michael Kifer  <kifer@cs.stonybrook.edu>
 
-	* viper-ex.el: Patch by Samuel Padgett. Copyright papers received.
+	* viper-ex.el: Patch by Samuel Padgett.  Copyright papers received.
 	(viper-ex-print-buf-name): New variable.
 	(viper-ex-print-buf): New variable.
 	(ex-token-alist): Invoke ex-print on ":print" Ex commands.
@@ -17448,7 +17435,7 @@
 2002-04-02  Mike Williams  <mdub@bigfoot.com>
 
 	* textmodes/sgml-mode.el (sgml-close-tag): Rename from
-	sgml-insert-end-tag. Simplify by using sgml-lexical-context.
+	sgml-insert-end-tag.  Simplify by using sgml-lexical-context.
 	(sgml-get-context): Remove use of sgml-inside-tag-p.
 	(sgml-inside-tag-p): Remove.
 	(sgml-looking-back-at): Short-circuit at beg of buffer.
@@ -17493,7 +17480,7 @@
 
 	* textmodes/xml-lite.el: Removed much redundant stuff.
 	(xml-lite-parse-tag-backward): Simplify parsing by assuming we
-	always start within text. Make use of sgml-unclosed-tag-p.
+	always start within text.  Make use of sgml-unclosed-tag-p.
 
 2002-04-01  Ville Skytt,Ad(B  <ville.skytta@xemacs.org>
 
@@ -18368,7 +18355,7 @@
 
 	* ediff-init.el: Comments.
 
-	* ediff-hook.el: Got rid of autoloads. Not needed, since the hook
+	* ediff-hook.el: Got rid of autoloads.  Not needed, since the hook
 	is loaded.
 
 	* ediff-mult.el (ediff-intersect-directories)
@@ -18377,13 +18364,13 @@
 	(ediff-draw-dir-diffs): Now supports the "C" command in directory
 	difference buffer.
 	(ediff-dir-diff-copy-file): New function that implements copying
-	of files from one Ediff dir to another
+	of files from one Ediff dir to another.
 	(ediff-bury-dir-diffs-buffer): Kills the buffer instead.
 	(ediff-append-custom-diff): Better error msgs.
 
 	* ediff-util.el (ediff-compute-custom-diffs-maybe): Buglet fix.
 	(ediff-inferior-compare-regions): Use
-	ediff-clone-buffer-for-region-comparison. Better and simpler interface.
+	ediff-clone-buffer-for-region-comparison.  Better and simpler interface.
 
 	* ediff.el (ediff-directories-internal): Cleanup.
 	(ediff-clone-buffer-for-region-comparison): Better interface.
@@ -18735,7 +18722,7 @@
 
 2002-02-22  Eli Zaretskii  <eliz@is.elta.co.il>
 
-	Support for ICCCM  Extended Segments in X selections:
+	Support for ICCCM Extended Segments in X selections:
 
 	* international/mule-conf.el (ctext-no-compositions): New coding
 	system.
@@ -19060,8 +19047,7 @@
 	`current-language-environment' and `default-input-method' when
 	marked as customized.
 
-	* international/mule-cmds.el
-	(setup-specified-language-environment):
+	* international/mule-cmds.el (setup-specified-language-environment):
 	Mark `current-language-environment' as customized.
 	(set-input-method): Mark `default-input-method' as customized when
 	called interactively.
@@ -19140,7 +19126,7 @@
 2002-02-10  Michael Kifer  <kifer@cs.stonybrook.edu>
 
 	* viper-util.el (viper-read-key-sequence): Fix so it'll read
-	fast key sequences in emacs native mode
+	fast key sequences in Emacs native mode.
 	(viper-events-to-keys): Delete.
 
 	* viper.el (describe-key, describe-key-briefly): Get rid of
@@ -19150,7 +19136,7 @@
 	Use ediff-has-gutter-support.
 
 	* ediff-util.el (ediff-dispose-of-variant-according-to-user):
-	check if buff is alive.
+	Check if buff is alive.
 
 	* ediff.el: Typo in comment.
 
@@ -19398,7 +19384,7 @@
 	* textmodes/flyspell.el (flyspell-issue-message-flag): New user option.
 	(flyspell-mode-on, flyspell-notify-misspell)
 	(flyspell-small-region, flyspell-external-point-words)
-	(flyspell-large-region): Use it
+	(flyspell-large-region): Use it.
 	(flyspell-before-incorrect-word-string)
 	(flyspell-after-incorrect-word-string): New user options.
 	(make-flyspell-overlay): Use them.
@@ -19705,7 +19691,7 @@
 
 2002-01-20  Colin Walters  <walters@verbum.org>
 
-	* ibuffer.el: (toplevel) Require `ibuf-ext', which is now compiled
+	* ibuffer.el (toplevel): Require `ibuf-ext', which is now compiled
 	with `byte-compile-dynamic'.
 	(ibuffer-default-directory, toplevel): Doc files.
 
@@ -19884,7 +19870,7 @@
 	Move view-emacs-FAQ from F to C-f.
 	Move view-emacs-problems from P to C-e.
 	Bindings moved here from mule-cmds.el.
-	C-l binding for describe-language-environment deleted
+	C-l binding for describe-language-environment deleted.
 	(help-for-help): Update for all these changes.
 
 	* emacs-lisp/copyright.el (copyright-regexp): Make (C) optional.
@@ -20049,12 +20035,12 @@
 2002-01-07  Michael Kifer  <kifer@cs.stonybrook.edu>
 
 	* viper-init.el (viper-cond-compile-for-xemacs-or-emacs):
-	new macro that replaces viper-emacs-p and viper-xemacs-p in many
-	cases. Used to reduce the number of warnings.
+	New macro that replaces viper-emacs-p and viper-xemacs-p in many
+	cases.  Used to reduce the number of warnings.
 
 	* viper-cmd.el: Use viper-cond-compile-for-xemacs-or-emacs.
 	(viper-standard-value): Move here from viper.el.
-	(viper-set-unread-command-events): Move to viper-util.el
+	(viper-set-unread-command-events): Move to viper-util.el.
 	(viper-check-minibuffer-overlay): Make sure
 	viper-minibuffer-overlay is moved to cover the entire input field.
 
@@ -20265,8 +20251,8 @@
 
 2002-01-03  Pavel Jan,Am(Bk  <Pavel@Janik.cz>
 
-	* time.el (display-time-load-average-threshold): Fix defcustom
-	(add type and group).
+	* time.el (display-time-load-average-threshold):
+	Fix defcustom (add type and group).
 
 	* net/ange-ftp.el (ange-ftp-shell-command): Remove port
 	specification from the hostname.
@@ -21003,7 +20989,7 @@
 
 	* language/ind-util.el: Don't require cl.
 	(indian-glyph-char, indian-glyph-max-char)
-	(indian-char-glyph): Moved from indian.el
+	(indian-char-glyph): Moved from indian.el.
 	(indian--puthash-char, mapthread): Don't quote lambda.
 	(indian--map): New function.
 	(indian--puthash-v, indian--puthash-c, indian--puthash-m)
@@ -21766,7 +21752,7 @@
 
 2001-11-25  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
-	* mail/rmail.el (rmail-enable-mime-composing): New. A lightweight
+	* mail/rmail.el (rmail-enable-mime-composing): New.  A lightweight
 	version of rmail-enable-mime.
 	(rmail-forward): Use it.
 
@@ -21888,8 +21874,8 @@
 
 2001-11-22  Colin Walters  <walters@debian.org>
 
-	* calc/calc-misc.el (calc-info): Don't perform voodoo, just
-	(info "Calc").
+	* calc/calc-misc.el (calc-info): Don't perform voodoo,
+	just (info "Calc").
 	(report-calc-bug): Use reporter.el.
 
 	* mail/reporter.el (reporter-submit-bug-report): Doc fixes.
@@ -22028,7 +22014,7 @@
 
 	* emacs-lisp/lisp.el (mark-sexp): Mark more if repeated.
 
-	* progmodes/cc-engine.el (c-parse-state): Typo. From Martin Stjernholm.
+	* progmodes/cc-engine.el (c-parse-state): Typo.  From Martin Stjernholm.
 
 	* mwheel.el (mouse-wheel-scroll-amount): Allow float values.
 	(mouse-wheel-progessive-speed): New var.
@@ -22600,7 +22586,7 @@
 	* calc/calc-macs.el (calc-record-compilation-date-macro): Return a
 	simple `setq' form.
 
-	* calc/calc-ext.el: (toplevel): Require calc.
+	* calc/calc-ext.el (toplevel): Require calc.
 	(calc-fancy-prefix-map): New.
 	(calc-fancy-prefix): Use it.
 	(calc-fancy-prefix-other-key): New.
@@ -23233,7 +23219,7 @@
 
 2001-10-26  Jason Rumney  <jasonr@gnu.org>
 
-	* w32-fns.el: (w32-charset-info-alist): Use ANSI for iso10646-1
+	* w32-fns.el (w32-charset-info-alist): Use ANSI for iso10646-1
 	when UNICODE is not defined.
 
 2001-10-26  Sam Steingold  <sds@gnu.org>
@@ -23267,7 +23253,7 @@
 	(ps-mode-menu-main): Submenu with options on/off was replaced with
 	a toggle button.
 	(ps-mode, ps-run-mode): Define with `define-derived-mode'
-	(ps-mode): Autoload cookie added on same line as comment
+	(ps-mode): Autoload cookie added on same line as comment.
 	(ps-mode-tabkey, ps-mode-backward-delete-char):
 	(ps-mode-r-balance): Replace `delete-horizontal-space' and
 	`indent-to' with `indent-line-to'
@@ -23547,7 +23533,8 @@
 ;; coding: iso-2022-7bit
 ;; End:
 
-    Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+    Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+    Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/ChangeLog.11	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog.11	Mon Jan 01 17:38:32 2007 +0000
@@ -14336,7 +14336,7 @@
 ;; coding: iso-2022-7bit
 ;; End:
 
-    Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+    Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/ChangeLog.2	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog.2	Mon Jan 01 17:38:32 2007 +0000
@@ -3994,7 +3994,8 @@
 
 See ChangeLog.1 for earlier changes.
 
-    Copyright (C) 1986, 1987, 1988 Free Software Foundation, Inc.
+    Copyright (C) 1986, 1987, 1988, 2001, 2002, 2003, 2004, 2005, 2006
+    Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/ChangeLog.3	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog.3	Mon Jan 01 17:38:32 2007 +0000
@@ -12615,7 +12615,8 @@
 
 See ChangeLog.2 for earlier changes.
 
-    Copyright (C) 1989, 1993 Free Software Foundation, Inc.
+    Copyright (C) 1989, 1993, 2001, 2002, 2003, 2004, 2005, 2006
+    Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/ChangeLog.4	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog.4	Mon Jan 01 17:38:32 2007 +0000
@@ -8939,7 +8939,8 @@
 
 See ChangeLog.3 for earlier changes.
 
-    Copyright (C) 1993, 1994 Free Software Foundation, Inc.
+    Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006
+    Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/ChangeLog.5	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog.5	Mon Jan 01 17:38:32 2007 +0000
@@ -9261,7 +9261,8 @@
 
 See ChangeLog.4 for earlier changes.
 
-    Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+    Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006
+    Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/ChangeLog.6	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog.6	Mon Jan 01 17:38:32 2007 +0000
@@ -8021,7 +8021,8 @@
 
 See ChangeLog.5 for earlier changes.
 
-    Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+    Copyright (C) 1995, 1996, 2001, 2002, 2003, 2004, 2005, 2006
+    Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/ChangeLog.7	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog.7	Mon Jan 01 17:38:32 2007 +0000
@@ -23139,7 +23139,8 @@
 
 See ChangeLog.6 for earlier changes.
 
-    Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+    Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006
+    Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/ChangeLog.8	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog.8	Mon Jan 01 17:38:32 2007 +0000
@@ -10012,7 +10012,8 @@
 
 See ChangeLog.7 for earlier changes.
 
-    Copyright (C) 1999 Free Software Foundation, Inc.
+    Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006
+    Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/ChangeLog.9	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ChangeLog.9	Mon Jan 01 17:38:32 2007 +0000
@@ -20695,7 +20695,8 @@
 ;; coding: iso-2022-7bit
 ;; End:
 
-    Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
+    Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/abbrev.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/abbrev.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; abbrev.el --- abbrev mode commands for Emacs
 
-;; Copyright (C) 1985, 1986, 1987, 1992, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 1987, 1992, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/abbrevlist.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/abbrevlist.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; abbrevlist.el --- list one abbrev table alphabetically ordered
 
-;; Copyright (C) 1986, 1992, 2002, 2003, 2004,
+;; Copyright (C) 1986, 1992, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 ;; Suggested by a previous version by Gildea.
 
--- a/lisp/add-log.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/add-log.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; add-log.el --- change log maintenance commands for Emacs
 
-;; Copyright (C) 1985, 1986, 1988, 1993, 1994, 1997, 1998, 2000, 2002,
-;;   2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1986, 1988, 1993, 1994, 1997, 1998, 2000, 2001,
+;;   2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: tools
@@ -916,7 +916,19 @@
 			       ;; Include certain keywords if they
 			       ;; precede the name.
 			       (setq middle (point))
-			       (forward-sexp -1)
+			       ;; Single (forward-sexp -1) invocation is
+			       ;; not enough for C++ member function defined 
+			       ;; as part of nested class and/or namespace 
+			       ;; like:
+			       ;;
+			       ;;   void 
+			       ;;   foo::bar::baz::bazz ()
+			       ;;   { ...
+			       ;; 
+			       ;; Here we have to move the point to 
+			       ;; the beginning of foo, not bazz.
+			       (while (not (looking-back "\\(^\\|[ \t]\\)"))
+				 (forward-sexp -1))
 			       ;; Is this C++ method?
 			       (when (and (< 2 middle)
 					  (string= (buffer-substring (- middle 2)
--- a/lisp/align.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/align.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,9 +1,10 @@
 ;;; align.el --- align text to a specific column, by regexp
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
-;; Author: John Wiegley <johnw@gnu.org>
+;; Author: John Wiegley <johnw@gnu.org> 
+;; Maintainer: FSF
 ;; Keywords: convenience languages lisp
 
 ;; This file is part of GNU Emacs.
@@ -1074,7 +1075,7 @@
 			   (eq (char-before pos) ?\\))
 		 (setq count (1+ count) pos (1- pos)))
 	       (eq (mod count 2) 1))
-	     (goto-char (match-beginning 2))))
+	     (goto-char (match-beginning (if reverse 1 2)))))
     result))
 
 (defun align-new-section-p (beg end separator)
--- a/lisp/allout.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/allout.el	Mon Jan 01 17:38:32 2007 +0000
@@ -45,7 +45,9 @@
 ;;  - Symmetric-key and key-pair topic encryption, plus symmetric passphrase
 ;;    mnemonic support, with verification against an established passphrase
 ;;    (using a stashed encrypted dummy string) and user-supplied hint
-;;    maintenance.  (See allout-toggle-current-subtree-encryption docstring.)
+;;    maintenance.  (See allout-toggle-current-subtree-encryption docstring.
+;;    Currently only GnuPG encryption is supported, and integration
+;;    with gpg-agent is not yet implemented.)
 ;;  - Automatic topic-number maintenance
 ;;  - "Hot-spot" operation, for single-keystroke maneuvering and
 ;;    exposure control (see the allout-mode docstring)
@@ -162,7 +164,7 @@
  :   - repeat spec - apply the preceeding element to all siblings at
        current level, *up to* those siblings that would be covered by specs
        following the `:' on the list.  Ie, apply to all topics at level but
-       trailing ones accounted for by trailing specs.  \(Only the first of
+       trailing ones accounted for by trailing specs.  (Only the first of
        multiple colons at the same level is honored - later ones are ignored.)
  *   - completely exposes the topic, including bodies
  +   - exposes all subtopics, but not the bodies
@@ -230,9 +232,9 @@
  - if the cursor is on the headline and not the start of the headline:
    then it goes to the start of the headline
  - if the cursor is on the start of the headline:
-   then it goes to the bullet character \(for hotspot navigation\)
+   then it goes to the bullet character (for hotspot navigation)
  - if the cursor is on the bullet character:
-   then it goes to the first column of that line \(the headline\)
+   then it goes to the first column of that line (the headline)
  - if the cursor is on the first column of the headline:
    then it goes to the start of the headline within the item body.
 
@@ -324,14 +326,14 @@
 
 These bullets are used to distinguish topics from the run-of-the-mill
 ones.  They are not used in the standard topic headers created by
-the topic-opening, shifting, and rebulleting \(eg, on topic shift,
+the topic-opening, shifting, and rebulleting (eg, on topic shift,
 topic paste, blanket rebulleting) routines, but are offered among the
 choices for rebulleting.  They are not altered by the above automatic
 rebulleting, so they can be used to characterize topics, eg:
 
  `?' question topics
- `\(' parenthetic comment \(with a matching close paren inside)
- `[' meta-note \(with a matching close ] inside)
+ `(' parenthetic comment (with a matching close paren inside)
+ `[' meta-note (with a matching close ] inside)
  `\"' a quotation
  `=' value settings
  `~' \"more or less\"
@@ -367,13 +369,13 @@
 do not escape any regulare-expression characters.
 
 Value t means to first check for assoc value in `allout-mode-leaders'
-alist, then use comment-start string, if any, then use default \(`.').
+alist, then use comment-start string, if any, then use default (`.').
 \(See note about use of comment-start strings, below.)
 
 Set to the symbol for either of `allout-mode-leaders' or
 `comment-start' to use only one of them, respectively.
 
-Value nil means to always use the default \(`.') and leave
+Value nil means to always use the default (`.') and leave
 `allout-primary-bullet' unaltered.
 
 comment-start strings that do not end in spaces are tripled in
@@ -605,7 +607,7 @@
 mostly covers both deliberate file writes and auto-saves.
 
  - Yes: encrypt all topics pending encryption, even if it's the one
-        currently being edited.  \(In that case, the currently edited topic
+        currently being edited.  (In that case, the currently edited topic
         will be automatically decrypted before any user interaction, so they
         can continue editing but the copy on the file system will be
         encrypted.)
@@ -619,7 +621,7 @@
  - No: leave it to the user to encrypt any unencrypted topics.
 
 For practical reasons, auto-saves always use the 'except-current policy
-when auto-encryption is enabled.  \(Otherwise, spurious passphrase prompts
+when auto-encryption is enabled.  (Otherwise, spurious passphrase prompts
 and unavoidable timing collisions are too disruptive.)  If security for a
 file requires that even the current topic is never auto-saved in the clear,
 disable auto-saves for that file."
@@ -717,8 +719,8 @@
 
 You can customize this setting to set it for all allout buffers, or set it
 in individual buffers if you want to inhibit auto-fill only in particular
-buffers.  \(You could use a function on `allout-mode-hook' to inhibit
-auto-fill according, eg, to the major mode.\)
+buffers.  (You could use a function on `allout-mode-hook' to inhibit
+auto-fill according, eg, to the major mode.)
 
 If you don't set this and auto-fill-mode is enabled, allout will use the
 value that `normal-auto-fill-function', if any, when allout mode starts, or
@@ -783,7 +785,7 @@
 ;;;_  : Version
 ;;;_   = allout-version
 (defvar allout-version "2.2.1"
-  "Version of currently loaded outline package.  \(allout.el)")
+  "Version of currently loaded outline package.  (allout.el)")
 ;;;_   > allout-version
 (defun allout-version (&optional here)
   "Return string describing the loaded outline version."
@@ -800,7 +802,7 @@
 (defvar allout-layout nil            ; LEAVE GLOBAL VALUE NIL - see docstring.
   "Buffer-specific setting for allout layout.
 
-In buffers where this is non-nil \(and if `allout-init' has been run, to
+In buffers where this is non-nil (and if `allout-init' has been run, to
 enable this behavior), `allout-mode' will be automatically activated.  The
 layout dictated by the value will be used to set the initial exposure when
 `allout-mode' is activated.
@@ -812,12 +814,12 @@
 example, the following lines at the bottom of an Emacs Lisp file:
 
 ;;;Local variables:
-;;;allout-layout: \(0 : -1 -1 0)
+;;;allout-layout: (0 : -1 -1 0)
 ;;;End:
 
 dictate activation of `allout-mode' mode when the file is visited
 \(presuming allout-init was already run), followed by the
-equivalent of `\(allout-expose-topic 0 : -1 -1 0)'.  \(This is
+equivalent of `(allout-expose-topic 0 : -1 -1 0)'.  (This is
 the layout used for the allout.el source file.)
 
 `allout-default-layout' describes the specification format.
@@ -930,7 +932,7 @@
        `allout-use-mode-specific-leader'
 and    `allout-mode-leaders'.
 
-Apply this via \(re)activation of `allout-mode', rather than
+Apply this via (re)activation of `allout-mode', rather than
 invoking it directly."
   (let* ((use-leader (and (boundp 'allout-use-mode-specific-leader)
 			  (if (or (stringp allout-use-mode-specific-leader)
@@ -977,7 +979,7 @@
 (defun allout-infer-body-reindent ()
   "Determine proper setting for `allout-reindent-bodies'.
 
-Depends on default setting of `allout-reindent-bodies' \(which see)
+Depends on default setting of `allout-reindent-bodies' (which see)
 and presence of setting for `comment-start', to tell whether the
 file is programming code."
   (if (and allout-reindent-bodies
@@ -1295,7 +1297,7 @@
   "Symbol for use as allout invisible-text overlay category.")
 ;;;_   x allout-view-change-hook
 (defvar allout-view-change-hook nil
-  "*\(Deprecated\) A hook run after allout outline exposure changes.
+  "*(Deprecated) A hook run after allout outline exposure changes.
 
 Switch to using `allout-exposure-change-hook' instead.  Both hooks are
 currently respected, but the other conveys the details of the exposure
@@ -1531,12 +1533,12 @@
 
 MODE is one of the following symbols:
 
- - nil \(or no argument) deactivate auto-activation/layout;
+ - nil (or no argument) deactivate auto-activation/layout;
  - `activate', enable auto-activation only;
  - `ask', enable auto-activation, and enable auto-layout but with
    confirmation for layout operation solicited from user each time;
  - `report', just report and return the current auto-activation state;
- - anything else \(eg, t) for auto-activation and auto-layout, without
+ - anything else (eg, t) for auto-activation and auto-layout, without
    any confirmation check.
 
 Use this function to setup your Emacs session for automatic activation
@@ -1598,7 +1600,7 @@
 			((eq mode 'ask)
 			 (message
 			  (concat "Outline mode auto-activation and "
-				  "-layout \(upon confirmation) enabled."))
+				  "-layout (upon confirmation) enabled."))
 			 'ask)
 			((message
 			  "Outline mode auto-activation and -layout enabled.")
@@ -1649,92 +1651,111 @@
 Allout outline mode provides extensive outline oriented formatting and
 manipulation.  It enables structural editing of outlines, as well as
 navigation and exposure.  It also is specifically aimed at
-accommodating syntax-sensitive text like programming languages.  \(For
+accommodating syntax-sensitive text like programming languages.  (For
 an example, see the allout code itself, which is organized as an allout
 outline.)
 
-In addition to outline navigation and exposure, allout includes:
-
- - topic-oriented repositioning, promotion/demotion, cut, and paste
- - integral outline exposure-layout
+In addition to typical outline navigation and exposure, allout includes:
+
+ - topic-oriented authoring, including keystroke-based topic creation,
+   repositioning, promotion/demotion, cut, and paste
  - incremental search with dynamic exposure and reconcealment of hidden text
- - automatic topic-number maintenance
+ - adjustable format, so programming code can be developed in outline-structure
  - easy topic encryption and decryption
- - \"Hot-spot\" operation, for single-keystroke maneuvering and
-    exposure control.  \(See the allout-mode docstring.)
+ - \"Hot-spot\" operation, for single-keystroke maneuvering and exposure control
+ - integral outline layout, for automatic initial exposure when visiting a file
+ - independent extensibility, using comprehensive exposure and authoring hooks
 
 and many other features.
 
-Below is a description of the bindings, and then explanation of
+Below is a description of the key bindings, and then explanation of
 special `allout-mode' features and terminology.  See also the outline
 menubar additions for quick reference to many of the features, and see
 the docstring of the function `allout-init' for instructions on
 priming your emacs session for automatic activation of `allout-mode'.
 
-
-The bindings are dictated by the `allout-keybindings-list' and
-`allout-command-prefix' variables.
-
-	Navigation:				   Exposure Control:
-	----------                                 ----------------
-\\[allout-next-visible-heading] allout-next-visible-heading     | \\[allout-hide-current-subtree] allout-hide-current-subtree
-\\[allout-previous-visible-heading] allout-previous-visible-heading | \\[allout-show-children] allout-show-children
-\\[allout-up-current-level] allout-up-current-level         | \\[allout-show-current-subtree] allout-show-current-subtree
-\\[allout-forward-current-level] allout-forward-current-level    | \\[allout-show-current-entry] allout-show-current-entry
-\\[allout-backward-current-level] allout-backward-current-level   | \\[allout-show-all] allout-show-all
-\\[allout-end-of-entry] allout-end-of-entry
-\\[allout-beginning-of-current-entry] allout-beginning-of-current-entry, alternately, goes to hot-spot
-
-	Topic Header Production:
-	-----------------------
-\\[allout-open-sibtopic]	allout-open-sibtopic	Create a new sibling after current topic.
-\\[allout-open-subtopic]	allout-open-subtopic	... an offspring of current topic.
-\\[allout-open-supertopic]	allout-open-supertopic	... a sibling of the current topic's parent.
-
-	Topic Level and Prefix Adjustment:
-	---------------------------------
-\\[allout-shift-in]	allout-shift-in	Shift current topic and all offspring deeper.
-\\[allout-shift-out]	allout-shift-out	... less deep.
-\\[allout-rebullet-current-heading]	allout-rebullet-current-heading Prompt for alternate bullet for
-					 current topic.
-\\[allout-rebullet-topic]	allout-rebullet-topic	Reconcile bullets of topic and its offspring
-				- distinctive bullets are not changed, others
-				  alternated according to nesting depth.
-\\[allout-number-siblings]	allout-number-siblings	Number bullets of topic and siblings - the
-				offspring are not affected.  With repeat
-				count, revoke numbering.
-
-	Topic-oriented Killing and Yanking:
-	----------------------------------
-\\[allout-kill-topic]	allout-kill-topic	Kill current topic, including offspring.
-\\[allout-copy-topic-as-kill]	allout-copy-topic-as-kill Copy current topic, including offspring.
-\\[allout-kill-line]	allout-kill-line	kill-line, attending to outline structure.
-\\[allout-copy-line-as-kill]	allout-copy-line-as-kill Copy line but don't delete it.
-\\[allout-yank]	allout-yank		Yank, adjusting depth of yanked topic to
-				depth of heading if yanking into bare topic
-				heading (ie, prefix sans text).
-\\[allout-yank-pop]	allout-yank-pop	Is to allout-yank as yank-pop is to yank
-
-	Topic-oriented Encryption:
-	-------------------------
-\\[allout-toggle-current-subtree-encryption]	allout-toggle-current-subtree-encryption Encrypt/Decrypt topic content
-
-	Misc commands:
-	-------------
-M-x outlineify-sticky		Activate outline mode for current buffer,
-				and establish a default file-var setting
-				for `allout-layout'.
-\\[allout-mark-topic]   	allout-mark-topic
-\\[allout-copy-exposed-to-buffer]     allout-copy-exposed-to-buffer
-				Duplicate outline, sans concealed text, to
-				buffer with name derived from derived from that
-				of current buffer - \"*BUFFERNAME exposed*\".
-\\[allout-flatten-exposed-to-buffer]	allout-flatten-exposed-to-buffer
-				Like above 'copy-exposed', but convert topic
-				prefixes to section.subsection... numeric
-				format.
-\\[eval-expression] (allout-init t)	Setup Emacs session for outline mode
-				auto-activation.
+The bindings are dictated by the customizable `allout-keybindings-list'
+variable.  We recommend customizing `allout-command-prefix' to use just
+`\\C-c' as the command prefix, if the allout bindings don't conflict with
+any personal bindings you have on \\C-c.  In any case, outline structure
+navigation and authoring is simplified by positioning the cursor on an
+item's bullet character, the \"hot-spot\" - then you can invoke allout
+commands with just the un-prefixed, un-control-shifted command letters.
+This is described further in the HOT-SPOT Operation section.
+
+        Exposure Control:
+        ----------------
+\\[allout-hide-current-subtree]   `allout-hide-current-subtree'
+\\[allout-show-children] `allout-show-children'
+\\[allout-show-current-subtree] `allout-show-current-subtree'
+\\[allout-show-current-entry] `allout-show-current-entry'
+\\[allout-show-all]   `allout-show-all'
+
+        Navigation:
+        ----------
+\\[allout-next-visible-heading] `allout-next-visible-heading'
+\\[allout-previous-visible-heading] `allout-previous-visible-heading'
+\\[allout-up-current-level] `allout-up-current-level'
+\\[allout-forward-current-level] `allout-forward-current-level'
+\\[allout-backward-current-level] `allout-backward-current-level'
+\\[allout-end-of-entry] `allout-end-of-entry'
+\\[allout-beginning-of-current-entry] `allout-beginning-of-current-entry' (alternately, goes to hot-spot)
+\\[allout-beginning-of-line]  `allout-beginning-of-line' - like regular beginning-of-line, but
+     if immediately repeated cycles to the beginning of the current item
+     and then to the hot-spot (if `allout-beginning-of-line-cycles' is set).
+
+
+        Topic Header Production:
+        -----------------------
+\\[allout-open-sibtopic] `allout-open-sibtopic' Create a new sibling after current topic.
+\\[allout-open-subtopic]   `allout-open-subtopic' ... an offspring of current topic.
+\\[allout-open-supertopic] `allout-open-supertopic' ... a sibling of the current topic's parent.
+
+        Topic Level and Prefix Adjustment:
+        ---------------------------------
+\\[allout-shift-in] `allout-shift-in'   Shift current topic and all offspring deeper
+\\[allout-shift-out] `allout-shift-out' ... less deep
+\\[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for
+            current topic
+\\[allout-rebullet-topic] `allout-rebullet-topic'   Reconcile bullets of topic and
+            its' offspring - distinctive bullets are not changed, others
+            are alternated according to nesting depth.
+\\[allout-number-siblings] `allout-number-siblings'  Number bullets of topic and siblings -
+           the offspring are not affected.
+           With repeat count, revoke numbering.
+
+        Topic-oriented Killing and Yanking:
+        ----------------------------------
+\\[allout-kill-topic] `allout-kill-topic'   Kill current topic, including offspring.
+\\[allout-copy-topic-as-kill] `allout-copy-topic-as-kill' Copy current topic, including offspring.
+\\[allout-kill-line]     `allout-kill-line'    kill-line, attending to outline structure.
+\\[allout-copy-line-as-kill]     `allout-copy-line-as-kill' Copy line but don't delete it.
+\\[allout-yank] `allout-yank'        Yank, adjusting depth of yanked topic to
+                             depth of heading if yanking into bare topic
+                             heading (ie, prefix sans text).
+\\[allout-yank-pop]     `allout-yank-pop'       Is to allout-yank as yank-pop is to yank
+
+        Topic-oriented Encryption:
+        -------------------------
+\\[allout-toggle-current-subtree-encryption] `allout-toggle-current-subtree-encryption'
+          Encrypt/Decrypt topic content
+
+        Misc commands:
+        -------------
+M-x outlineify-sticky       Activate outline mode for current buffer,
+                            and establish a default file-var setting
+                            for `allout-layout'.
+\\[allout-mark-topic]       `allout-mark-topic'
+\\[allout-copy-exposed-to-buffer] `allout-copy-exposed-to-buffer'
+                            Duplicate outline, sans concealed text, to
+                            buffer with name derived from derived from that
+                            of current buffer - \"*BUFFERNAME exposed*\".
+\\[allout-flatten-exposed-to-buffer] `allout-flatten-exposed-to-buffer'
+                            Like above 'copy-exposed', but convert topic
+                            prefixes to section.subsection... numeric
+                            format.
+\\[eval-expression] (allout-init t) Setup Emacs session for outline mode
+                            auto-activation.
 
                   Topic Encryption
 
@@ -1742,17 +1763,22 @@
 symmetric and key-pair modes, passphrase timeout, passphrase
 consistency checking, user-provided hinting for symmetric key
 mode, and auto-encryption of topics pending encryption on save.
-\(Topics pending encryption are, by default, automatically
-encrypted during file saves; if you're editing the contents of
-such a topic, it is automatically decrypted for continued
-editing.)  The aim is reliable topic privacy while preventing
-accidents like neglected encryption before saves, forgetting
-which passphrase was used, and other practical pitfalls.
-
-See `allout-toggle-current-subtree-encryption' function docstring and
-`allout-encrypt-unencrypted-on-saves' customization variable for details.
-
-		 HOT-SPOT Operation
+
+Topics pending encryption are, by default, automatically
+encrypted during file saves.  If the contents of the topic
+containing the cursor was encrypted for a save, it is
+automatically decrypted for continued editing.
+
+The aim of these measures is reliable topic privacy while
+preventing accidents like neglected encryption before saves,
+forgetting which passphrase was used, and other practical
+pitfalls.
+
+See `allout-toggle-current-subtree-encryption' function docstring
+and `allout-encrypt-unencrypted-on-saves' customization variable
+for details.
+
+                 HOT-SPOT Operation
 
 Hot-spot operation provides a means for easy, single-keystroke outline
 navigation and exposure control.
@@ -1765,85 +1791,108 @@
 
 Thus, by positioning the cursor on a topic bullet, you can
 execute the outline navigation and manipulation commands with a
-single keystroke.  Regular navigation keys (eg, \\[forward-char], \\[next-line]) never get
+single keystroke.  Regular navigation keys (eg, \\[forward-char], \\[next-line]) don't get
 this special translation, so you can use them to get out of the
-hot-spot and back to normal operation.
-
-Note that the command `allout-beginning-of-current-entry' \(\\[allout-beginning-of-current-entry]\)
-will move to the hot-spot when the cursor is already located at the
-beginning of the current entry, so you usually can hit \\[allout-beginning-of-current-entry]
-twice in a row to get to the hot-spot.
-
-			    Terminology
+hot-spot and back to normal editing operation.
+
+In allout-mode, the normal beginning-of-line command (\\[allout-beginning-of-line]]) is
+replaced with one that makes it easy to get to the hot-spot.  If you
+repeat it immediately it cycles (if `allout-beginning-of-line-cycles'
+is set) to the beginning of the item and then, if you hit it again
+immediately, to the hot-spot.  Similarly, `allout-beginning-of-current-entry'
+\(\\[allout-beginning-of-current-entry]) moves to the hot-spot when the cursor is already located
+at the beginning of the current entry.
+
+                             Extending Allout
+
+Allout exposure and authoring activites all have associated
+hooks, by which independent code can cooperate with allout
+without changes to the allout core.  Here are key ones:
+
+`allout-mode-hook'
+`allout-mode-deactivate-hook'
+`allout-exposure-change-hook'
+`allout-structure-added-hook'
+`allout-structure-deleted-hook'
+`allout-structure-shifted-hook'
+
+                            Terminology
 
 Topic hierarchy constituents - TOPICS and SUBTOPICS:
 
-TOPIC:	A basic, coherent component of an Emacs outline.  It can
-	contain and be contained by other topics.
-CURRENT topic:
-	The visible topic most immediately containing the cursor.
-DEPTH:	The degree of nesting of a topic; it increases with
-	containment.  Also called the:
-LEVEL:	The same as DEPTH.
+ITEM:   A unitary outline element, including the HEADER and ENTRY text.
+TOPIC:  An ITEM and any ITEMs contained within it, ie having greater DEPTH
+        and with no intervening items of lower DEPTH than the container.
+CURRENT ITEM:
+        The visible ITEM most immediately containing the cursor.
+DEPTH:  The degree of nesting of an ITEM; it increases with containment.
+        The DEPTH is determined by the HEADER PREFIX.  The DEPTH is also
+        called the:
+LEVEL:  The same as DEPTH.
 
 ANCESTORS:
-	The topics that contain a topic.
-PARENT:	A topic's immediate ancestor.  It has a depth one less than
-	the topic.
+        Those ITEMs whose TOPICs contain an ITEM.
+PARENT: An ITEM's immediate ANCESTOR.  It has a DEPTH one less than that
+        of the ITEM.
 OFFSPRING:
-	The topics contained by a topic;
+        The ITEMs contained within an ITEM's TOPIC.
 SUBTOPIC:
-	An immediate offspring of a topic;
-CHILDREN:
-	The immediate offspring of a topic.
+        An OFFSPRING of its ANCESTOR TOPICs.
+CHILD:
+        An immediate SUBTOPIC of its PARENT.
 SIBLINGS:
-	Topics having the same parent and depth.
+        TOPICs having the same PARENT and DEPTH.
 
 Topic text constituents:
 
-HEADER:	The first line of a topic, include the topic PREFIX and header
-	text.
-PREFIX: The leading text of a topic which distinguishes it from normal
-        text.  It has a strict form, which consists of a prefix-lead
-        string, padding, and a bullet.  The bullet may be followed by a
+HEADER: The first line of an ITEM, include the ITEM PREFIX and HEADER
+        text.
+ENTRY:  The text content of an ITEM, before any OFFSPRING, but including
+        the HEADER text and distinct from the ITEM PREFIX.
+BODY:   Same as ENTRY.
+PREFIX: The leading text of an ITEM which distinguishes it from normal
+        ENTRY text.  Allout recognizes the outline structure according
+        to the strict PREFIX format.  It consists of a PREFIX-LEAD string,
+        PREFIX-PADDING, and a BULLET.  The BULLET might be followed by a
         number, indicating the ordinal number of the topic among its
-        siblings, a space, and then the header text.
-
-	The relative length of the PREFIX determines the nesting depth
-	of the topic.
+        siblings, or an asterisk indicating encryption, plus an optional
+        space.  After that is the ITEM HEADER text, which is not part of
+        the PREFIX.
+
+        The relative length of the PREFIX determines the nesting DEPTH
+        of the ITEM.
 PREFIX-LEAD:
-	The string at the beginning of a topic prefix, normally a `.'.
-	It can be customized by changing the setting of
-	`allout-header-prefix' and then reinitializing `allout-mode'.
-
-	By setting the prefix-lead to the comment-string of a
-	programming language, you can embed outline structuring in
-	program code without interfering with the language processing
-	of that code.  See `allout-use-mode-specific-leader'
-	docstring for more detail.
+        The string at the beginning of a HEADER PREFIX, by default a `.'.
+        It can be customized by changing the setting of
+        `allout-header-prefix' and then reinitializing `allout-mode'.
+
+        When the PREFIX-LEAD is set to the comment-string of a
+        programming language, outline structuring can be embedded in
+        program code without interfering with processing of the text
+        (by emacs or the language processor) as program code.  This
+        setting happens automatically when allout mode is used in
+        programming-mode buffers.  See `allout-use-mode-specific-leader'
+        docstring for more detail.
 PREFIX-PADDING:
-	Spaces or asterisks which separate the prefix-lead and the
-	bullet, determining the depth of the topic.
-BULLET: A character at the end of the topic prefix, it must be one of
-	the characters listed on `allout-plain-bullets-string' or
+        Spaces or asterisks which separate the PREFIX-LEAD and the
+        bullet, determining the ITEM's DEPTH.
+BULLET: A character at the end of the ITEM PREFIX, it must be one of
+        the characters listed on `allout-plain-bullets-string' or
         `allout-distinctive-bullets-string'.  (See the documentation
         for these variables for more details.)  The default choice of
-	bullet when generating topics varies in a cycle with the depth of
-	the topic.
-ENTRY:	The text contained in a topic before any offspring.
-BODY:	Same as ENTRY.
-
+        BULLET when generating ITEMs varies in a cycle with the DEPTH of
+        the ITEM.
 
 EXPOSURE:
- 	The state of a topic which determines the on-screen visibility
-	of its offspring and contained text.
+        The state of a TOPIC which determines the on-screen visibility
+        of its OFFSPRING and contained ENTRY text.
 CONCEALED:
-	Topics and entry text whose display is inhibited.  Contiguous
-	units of concealed text is represented by `...' ellipses.
-
-	Concealed topics are effectively collapsed within an ancestor.
-CLOSED:	A topic whose immediate offspring and body-text is concealed.
-OPEN:	A topic that is not closed, though its offspring or body may be."
+        TOPICs and ENTRY text whose EXPOSURE is inhibited.  Concealed
+        text is represented by \"...\" ellipses.
+
+        CONCEALED TOPICs are effectively collapsed within an ANCESTOR.
+CLOSED: A TOPIC whose immediate OFFSPRING and body-text is CONCEALED.
+OPEN:	A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be."
 ;;;_    . Code
   (interactive "P")
 
@@ -1934,22 +1983,8 @@
          extend))
 
       ;; Produce map from current version of allout-keybindings-list:
-      (setq allout-mode-map
-            (produce-allout-mode-map allout-keybindings-list))
-      (substitute-key-definition 'beginning-of-line
-                                 'allout-beginning-of-line
-                                 allout-mode-map global-map)
-      (substitute-key-definition 'move-beginning-of-line
-                                 'allout-beginning-of-line
-                                 allout-mode-map global-map)
-      (substitute-key-definition 'end-of-line
-                                 'allout-end-of-line
-                                 allout-mode-map global-map)
-      (substitute-key-definition 'move-end-of-line
-                                 'allout-end-of-line
-                                 allout-mode-map global-map)
+      (allout-setup-mode-map)
       (produce-allout-mode-menubar-entries)
-      (fset 'allout-mode-map allout-mode-map)
 
       ;; Include on minor-mode-map-alist, if not already there:
       (if (not (member '(allout-mode . allout-mode-map)
@@ -2039,6 +2074,31 @@
     allout-mode
     )					; let*
   )  					; defun
+
+(defun allout-setup-mode-map ()
+  "Establish allout-mode bindings."
+  (setq-default allout-mode-map
+                (produce-allout-mode-map allout-keybindings-list))
+  (setq allout-mode-map
+        (produce-allout-mode-map allout-keybindings-list))
+  (substitute-key-definition 'beginning-of-line
+                             'allout-beginning-of-line
+                             allout-mode-map global-map)
+  (substitute-key-definition 'move-beginning-of-line
+                             'allout-beginning-of-line
+                             allout-mode-map global-map)
+  (substitute-key-definition 'end-of-line
+                             'allout-end-of-line
+                             allout-mode-map global-map)
+  (substitute-key-definition 'move-end-of-line
+                             'allout-end-of-line
+                             allout-mode-map global-map)
+  (fset 'allout-mode-map allout-mode-map))
+
+;; ensure that allout-mode-map has some setting even if allout-mode hasn't
+;; been invoked:
+(allout-setup-mode-map)
+
 ;;;_  > allout-minor-mode
 (defalias 'allout-minor-mode 'allout-mode)
 
@@ -2453,7 +2513,7 @@
             (t (allout-end-of-entry))))))
 ;;;_   > allout-next-heading ()
 (defsubst allout-next-heading ()
-  "Move to the heading for the topic \(possibly invisible) after this one.
+  "Move to the heading for the topic (possibly invisible) after this one.
 
 Returns the location of the heading, or nil if none found.
 
@@ -2476,7 +2536,7 @@
   (if (not (allout-goto-prefix-doublechecked)) (allout-next-heading)))
 ;;;_   > allout-previous-heading ()
 (defun allout-previous-heading ()
-  "Move to the prior \(possibly invisible) heading line.
+  "Move to the prior (possibly invisible) heading line.
 
 Return the location of the beginning of the heading, or nil if not found.
 
@@ -2526,7 +2586,7 @@
 (defun allout-chart-subtree (&optional levels visible orig-depth prev-depth)
   "Produce a location \"chart\" of subtopics of the containing topic.
 
-Optional argument LEVELS specifies a depth limit \(relative to start
+Optional argument LEVELS specifies a depth limit (relative to start
 depth) for the chart.  Null LEVELS means no limit.
 
 When optional argument VISIBLE is non-nil, the chart includes
@@ -2663,7 +2723,7 @@
     result))
 ;;;_   X allout-chart-spec (chart spec &optional exposing)
 ;; (defun allout-chart-spec (chart spec &optional exposing)
-;;   "Not yet \(if ever) implemented.
+;;   "Not yet (if ever) implemented.
 
 ;; Produce exposure directives given topic/subtree CHART and an exposure SPEC.
 
@@ -2684,7 +2744,7 @@
 ;;  - bare positive values indicate that this topic header should be
 ;;    opened.
 ;;  - Lists signify the beginning and end points of regions that should
-;;    be flagged, and the flag to employ.  (For concealment: `\(\?r\)', and
+;;    be flagged, and the flag to employ.  (For concealment: `(\?r)', and
 ;;    exposure:"
 ;;   (while spec
 ;;     (cond ((listp spec)
@@ -2721,7 +2781,7 @@
 (defun allout-goto-prefix-doublechecked ()
   "Put point at beginning of immediately containing outline topic.
 
-Like `allout-goto-prefix', but shallow topics \(according to
+Like `allout-goto-prefix', but shallow topics (according to
 `allout-doublecheck-at-and-shallower') are checked and
 disqualified for child containment discontinuity, according to
 `allout-aberrant-container-p'."
@@ -2749,7 +2809,7 @@
     (allout-current-depth)))
 ;;;_   > allout-current-bullet-pos ()
 (defun allout-current-bullet-pos ()
-  "Return position of current \(visible) topic's bullet."
+  "Return position of current (visible) topic's bullet."
 
   (if (not (allout-current-depth))
       nil
@@ -2887,19 +2947,31 @@
         (if (interactive-p) (allout-end-of-prefix))
         (and last-ascended allout-recent-depth))))
 ;;;_   > allout-ascend ()
-(defun allout-ascend ()
-  "Ascend one level, returning t if successful, nil if not."
+(defun allout-ascend (&optional dont-move-if-unsuccessful)
+  "Ascend one level, returning resulting depth if successful, nil if not.
+
+Point is left at the beginning of the level whether or not
+successful, unless optional DONT-MOVE-IF-UNSUCCESSFUL is set, in
+which case point is returned to its original starting location."
+  (if dont-move-if-unsuccessful
+      (setq dont-move-if-unsuccessful (point)))
   (prog1
       (if (allout-beginning-of-level)
           (let ((bolevel (point))
                 (bolevel-depth allout-recent-depth))
             (allout-previous-heading)
-            (if (< allout-recent-depth bolevel-depth)
-                allout-recent-depth
-              ;; some topic after file's first is at lower depth than first:
-              (goto-char bolevel)
-              (allout-depth)
-              nil)))
+            (cond ((< allout-recent-depth bolevel-depth)
+                   allout-recent-depth)
+                  ((= allout-recent-depth bolevel-depth)
+                   (if dont-move-if-unsuccessful
+                       (goto-char dont-move-if-unsuccessful))
+                   (allout-depth)
+                   nil)
+                  (t
+                   ;; some topic after very first is lower depth than first:
+                   (goto-char bolevel)
+                   (allout-depth)
+                   nil))))
     (if (interactive-p) (allout-end-of-prefix))))
 ;;;_   > allout-descend-to-depth (depth)
 (defun allout-descend-to-depth (depth)
@@ -2990,7 +3062,7 @@
 
 Costs more than regular `allout-next-sibling' for short traversals:
 
- - we have to check the prior \(next, if travelling backwards)
+ - we have to check the prior (next, if travelling backwards)
    item to confirm connectivity with the prior topic, and
  - if confirmed, we have to reestablish the allout-recent-* settings with
    some extra navigation
@@ -3219,7 +3291,7 @@
 the cursor which has moved as a result of such reinterpretation is
 positioned on the bullet character of the destination topic.
 
-The upshot is that you can get easy, single \(ie, unmodified\) key
+The upshot is that you can get easy, single (ie, unmodified) key
 outline maneuvering operations by positioning the cursor on the bullet
 char.  When in this mode you can use regular cursor-positioning
 command/keystrokes to relocate the cursor off of a bullet character to
@@ -3329,7 +3401,7 @@
                    (allout-get-bullet)))))
 ;;;_   > allout-encrypted-type-prefix (&optional prefix)
 (defun allout-encrypted-type-prefix (&optional prefix)
-  "True if current header prefix bullet is for an encrypted entry \(body)."
+  "True if current header prefix bullet is for an encrypted entry (body)."
   (and allout-topic-encryption-bullet
         (string= allout-topic-encryption-bullet
                  (if prefix
@@ -3380,8 +3452,8 @@
 
 If SOLICIT is non-nil, then the choice of bullet is solicited from
 user.  If it's a character, then that character is offered as the
-default, otherwise the one suited to the context \(according to
-distinction or depth) is offered.  \(This overrides other options,
+default, otherwise the one suited to the context (according to
+distinction or depth) is offered.  (This overrides other options,
 including, eg, a distinctive PRIOR-BULLET.)  If non-nil, then the
 context-specific bullet is used.
 
@@ -3505,7 +3577,7 @@
 
 When adding an offspring, it will be added immediately after the parent if
 the other offspring are exposed, or after the last child if the offspring
-are hidden.  \(The intervening offspring will be exposed in the latter
+are hidden.  (The intervening offspring will be exposed in the latter
 case.)
 
 If OFFER-RECENT-BULLET is true, offer to use the bullet of the prior sibling.
@@ -3823,7 +3895,7 @@
 
 If SOLICIT is non-nil, then the choice of bullet is solicited from
 user.  If it's a character, then that character is offered as the
-default, otherwise the one suited to the context \(according to
+default, otherwise the one suited to the context (according to
 distinction or depth) is offered.  If non-nil, then the
 context-specific bullet is just used.
 
@@ -3921,7 +3993,7 @@
 Descends into invisible as well as visible topics, however.
 
 When optional sans-offspring is non-nil, subtopics are not
-shifted.  \(Shifting a topic outwards without shifting its
+shifted.  (Shifting a topic outwards without shifting its
 offspring is disallowed, since this would create a \"containment
 discontinuity\", where the depth difference between a topic and
 its immediate offspring is greater than one.)
@@ -3962,7 +4034,7 @@
 itself: STARTING-DEPTH, STARTING-POINT, and INDEX.
 
 Finally, if optional SANS-OFFSPRING is non-nil then the offspring
-are not shifted.  \(Shifting a topic outwards without shifting
+are not shifted.  (Shifting a topic outwards without shifting
 its offspring is disallowed, since this would create a
 \"containment discontinuity\", where the depth difference between
 a topic and its immediate offspring is greater than one..)"
@@ -4445,7 +4517,7 @@
                   (while more
                     (allout-back-to-current-heading)
                                         ; go as high as we can in each bunch:
-                    (while (allout-ascend))
+                    (while (allout-ascend t))
                     (save-excursion
                       (allout-unprotected
                        (allout-rebullet-topic-grunt (- adjust-to-depth
@@ -4598,9 +4670,9 @@
   "Conceal text between FROM and TO if FLAG is non-nil, else reveal it.
 
 Exposure-change hook `allout-exposure-change-hook' is run with the same
-arguments as this function, after the exposure changes are made.  \(The old
+arguments as this function, after the exposure changes are made.  (The old
 `allout-view-change-hook' is being deprecated, and eventually will not be
-invoked.\)"
+invoked.)"
 
   ;; We use outline invisibility spec.
   (remove-overlays from to 'category 'allout-exposure-category)
@@ -4900,7 +4972,7 @@
 
 Successive specs on a list are applied to successive sibling topics.
 
-A simple spec \(either a number, one of a few symbols, or the null
+A simple spec (either a number, one of a few symbols, or the null
 list) dictates the exposure for the corresponding topic.
 
 Non-null lists recursively designate exposure specs for respective
@@ -4923,7 +4995,7 @@
        apply prior element to all siblings at current level, *up to*
        those siblings that would be covered by specs following the `:'
        on the list.  Ie, apply to all topics at level but the last
-       ones.  \(Only first of multiple colons at same level is
+       ones.  (Only first of multiple colons at same level is
        respected - subsequent ones are discarded.)
   *  - completely opens the topic, including bodies.
   +  - shows all the sub headers, but not the bodies
@@ -5006,7 +5078,7 @@
 ;;;_   > allout-old-expose-topic (spec &rest followers)
 (defun allout-old-expose-topic (spec &rest followers)
 
-  "Deprecated.  Use `allout-expose-topic' \(with different schema
+  "Deprecated.  Use `allout-expose-topic' (with different schema
 format) instead.
 
 Dictate wholesale exposure scheme for current topic, according to SPEC.
@@ -5203,7 +5275,7 @@
 
  list - Present prefix as numeric section.subsection..., starting with
 	section indicated by the list, innermost nesting first.
- `indent' \(symbol) -  Convert header prefixes to all white space,
+ `indent' (symbol) -  Convert header prefixes to all white space,
 		       except for distinctive bullets.
 
 The elements of the list produced are lists that represents a topic
@@ -5332,7 +5404,7 @@
  X`flat-indented' - Prefix is like `flat' for first topic at each
  X		   level, but subsequent topics have only leaf topic
  X		   number, padded with blanks to line up with first.
- `indent' \(symbol) -  Convert header prefixes to all white space,
+ `indent' (symbol) -  Convert header prefixes to all white space,
 		       except for distinctive bullets.
 
 Defaults:
@@ -5484,7 +5556,7 @@
 ;;;_   > allout-latex-verb-quote (string &optional flow)
 (defun allout-latex-verb-quote (string &optional flow)
   "Return copy of STRING for literal reproduction across LaTeX processing.
-Expresses the original characters \(including carriage returns) of the
+Expresses the original characters (including carriage returns) of the
 string across LaTeX processing."
   (mapconcat (function
 	      (lambda (char)
@@ -5496,9 +5568,9 @@
 	     ""))
 ;;;_   > allout-latex-verbatim-quote-curr-line ()
 (defun allout-latex-verbatim-quote-curr-line ()
-  "Express line for exact \(literal) representation across LaTeX processing.
-
-Adjust line contents so it is unaltered \(from the original line)
+  "Express line for exact (literal) representation across LaTeX processing.
+
+Adjust line contents so it is unaltered (from the original line)
 across LaTeX processing, within the context of a `verbatim'
 environment.  Leaves point at the end of the line."
   (let ((inhibit-field-text-motion t))
@@ -5673,29 +5745,29 @@
   "Encrypt clear or decrypt encoded text of visibly-containing topic's contents.
 
 Optional FETCH-PASS universal argument provokes key-pair encryption with
-single universal argument.  With doubled universal argument \(value = 16),
+single universal argument.  With doubled universal argument (value = 16),
 it forces prompting for the passphrase regardless of availability from the
 passphrase cache.  With no universal argument, the appropriate passphrase
 is obtained from the cache, if available, else from the user.
 
-Currently only GnuPG encryption is supported.
-
-\**NOTE WELL** that the encrypted text must be ascii-armored.  For gnupg
+Only GnuPG encryption is supported.
+
+\*NOTE WELL* that the encrypted text must be ascii-armored.  For gnupg
 encryption, include the option ``armor'' in your ~/.gnupg/gpg.conf file.
 
 Both symmetric-key and key-pair encryption is implemented.  Symmetric is
-the default, use a single \(x4) universal argument for keypair mode.
+the default, use a single (x4) universal argument for keypair mode.
 
 Encrypted topic's bullet is set to a `~' to signal that the contents of the
-topic \(body and subtopics, but not heading) is pending encryption or
+topic (body and subtopics, but not heading) is pending encryption or
 encrypted.  `*' asterisk immediately after the bullet signals that the body
 is encrypted, its' absence means the topic is meant to be encrypted but is
 not.  When a file with topics pending encryption is saved, topics pending
 encryption are encrypted.  See allout-encrypt-unencrypted-on-saves for
 auto-encryption specifics.
 
-\**NOTE WELL** that automatic encryption that happens during saves will
-default to symmetric encryption - you must manually \(re)encrypt key-pair
+\*NOTE WELL* that automatic encryption that happens during saves will
+default to symmetric encryption - you must deliberately (re)encrypt key-pair
 encrypted topics if you want them to continue to use the key-pair cipher.
 
 Level-one topics, with prefix consisting solely of an `*' asterisk, cannot be
@@ -5707,10 +5779,8 @@
 The encryption passphrase is solicited if not currently available in the
 passphrase cache from a recent encryption action.
 
-The solicited passphrase is retained for reuse in a buffer-specific cache
-for some set period of time \(default, 60 seconds), after which the string
-is nulled.  The passphrase cache timeout is customized by setting
-`pgg-passphrase-cache-expiry'.
+The solicited passphrase is retained for reuse in a cache, if enabled.  See
+`pgg-cache-passphrase' and `pgg-passphrase-cache-expiry' for details.
 
   Symmetric Passphrase Hinting and Verification
 
@@ -5731,7 +5801,7 @@
 Similarly, `allout-passphrase-hint-string' stores a user-provided reminder
 about their passphrase, and `allout-passphrase-hint-handling' specifies
 when the hint is presented, or if passphrase hints are disabled.  If
-enabled \(see the `allout-passphrase-hint-handling' docstring for details),
+enabled (see the `allout-passphrase-hint-handling' docstring for details),
 the hint string is stored in the local-variables section of the file, and
 solicited whenever the passphrase is changed."
   (interactive "P")
@@ -5742,15 +5812,16 @@
   )
 ;;;_  > allout-toggle-subtree-encryption (&optional fetch-pass)
 (defun allout-toggle-subtree-encryption (&optional fetch-pass)
-  "Encrypt clear text or decrypt encoded topic contents \(body and subtopics.)
+  "Encrypt clear text or decrypt encoded topic contents (body and subtopics.)
 
 Optional FETCH-PASS universal argument provokes key-pair encryption with
-single universal argument.  With doubled universal argument \(value = 16),
+single universal argument.  With doubled universal argument (value = 16),
 it forces prompting for the passphrase regardless of availability from the
 passphrase cache.  With no universal argument, the appropriate passphrase
 is obtained from the cache, if available, else from the user.
 
-Currently only GnuPG encryption is supported.
+Currently only GnuPG encryption is supported, and integration
+with gpg-agent is not yet implemented.
 
 \**NOTE WELL** that the encrypted text must be ascii-armored.  For gnupg
 encryption, include the option ``armor'' in your ~/.gnupg/gpg.conf file.
@@ -5926,7 +5997,11 @@
          (rejected (or rejected 0))
          (rejections-left (- allout-encryption-ciphertext-rejection-ceiling
                              rejected))
-         result-text status)
+         result-text status
+         ;; Inhibit gpg-agent use for symmetric keys in the scope of this let:
+         (pgg-gpg-use-agent (if (equal key-type 'keypair)
+                                pgg-gpg-use-agent
+                              nil)))
 
     (if (and fetch-pass (not passphrase))
         ;; Force later fetch by evicting passphrase from the cache.
@@ -5934,12 +6009,9 @@
 
     (catch 'encryption-failed
 
-        ;; Obtain the passphrase if we don't already have one and we're not
-        ;; doing a keypair encryption:
-        (if (not (or passphrase
-                     (and (equal key-type 'keypair)
-                          (not decrypt))))
-
+        ;; We handle only symmetric-key passphrase caching.
+        (if (and (not passphrase)
+                 (not (equal key-type 'keypair)))
             (setq passphrase (allout-obtain-passphrase for-key
                                                        target-cache-id
                                                        target-prompt-id
@@ -6489,7 +6561,7 @@
 When enabled, an entry for the variable is created if not already present,
 or changed if established with a different value.  The section for the file
 variables, itself, is created if not already present.  When created, the
-section lines \(including the section line) exist as second-level topics in
+section lines (including the section line) exist as second-level topics in
 a top-level topic at the end of the file.
 
 `enable-local-variables' must be true for any of this to happen."
@@ -6818,7 +6890,7 @@
 ;;;_ #10 Unfinished
 ;;;_  > allout-bullet-isearch (&optional bullet)
 (defun allout-bullet-isearch (&optional bullet)
-  "Isearch \(regexp) for topic with bullet BULLET."
+  "Isearch (regexp) for topic with bullet BULLET."
   (interactive)
   (if (not bullet)
       (setq bullet (solicit-char-in-string
--- a/lisp/arc-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/arc-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; arc-mode.el --- simple editing of archives
 
-;; Copyright (C) 1995, 1997, 1998, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1997, 1998, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Morten Welinder <terra@gnu.org>
--- a/lisp/array.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/array.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; array.el --- array editing commands for GNU Emacs
 
-;; Copyright (C) 1987, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1987, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author David M. Brown
--- a/lisp/autoarg.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/autoarg.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; autoarg.el --- make digit keys supply prefix args
 
-;; Copyright (C) 1998, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author:  Dave Love <fx@gnu.org>
--- a/lisp/autoinsert.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/autoinsert.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; autoinsert.el --- automatic mode-dependent insertion of text into new files
 
-;; Copyright (C) 1985, 1986, 1987, 1994, 1995, 1998, 2000, 2002, 2003,
-;;   2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1986, 1987, 1994, 1995, 1998, 2000, 2001, 2002,
+;;   2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Charlie Martin <crm@cs.duke.edu>
 ;; Adapted-By: Daniel Pfeiffer <occitan@esperanto.org>
--- a/lisp/avoid.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/avoid.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; avoid.el --- make mouse pointer stay out of the way of editing
 
-;; Copyright (C) 1993, 1994, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1994, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
--- a/lisp/bindings.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/bindings.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1072,6 +1072,10 @@
 
 (define-key ctl-x-4-map "c" 'clone-indirect-buffer-other-window)
 
+;; Signal handlers
+(define-key special-event-map [sigusr1] 'ignore)
+(define-key special-event-map [sigusr2] 'ignore)
+
 ;; Don't look for autoload cookies in this file.
 ;; Local Variables:
 ;; no-update-autoloads: t
--- a/lisp/bs.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/bs.el	Mon Jan 01 17:38:32 2007 +0000
@@ -999,7 +999,6 @@
 (defun bs--up ()
   "Move cursor vertically up one line.
 If on top of buffer list go to last line."
-  (interactive "p")
   (if (> (count-lines 1 (point)) bs-header-lines-length)
       (forward-line -1)
     (goto-char (point-max))
--- a/lisp/calc/calc-aent.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/calc/calc-aent.el	Mon Jan 01 17:38:32 2007 +0000
@@ -232,9 +232,9 @@
 
 (defvar calc-eval-error nil
   "Determines how calc handles errors.
-NIL means return a list containing the character position of error.
+If nil, return a list containing the character position of error.
 STRING means return error message as string rather than list.
-T means abort and give an error message.")
+The value t means abort and give an error message.")
 
 (defun calc-eval-error (msg)
   (if calc-eval-error
@@ -700,10 +700,10 @@
 			  (math-read-token))))))
 	    ((or (and (>= ch ?0) (<= ch ?9))
 		 (and (eq ch '?\.)
-		      (eq (string-match "\\.[0-9]" math-exp-str math-exp-pos) 
+		      (eq (string-match "\\.[0-9]" math-exp-str math-exp-pos)
                           math-exp-pos))
 		 (and (eq ch '?_)
-		      (eq (string-match "_\\.?[0-9]" math-exp-str math-exp-pos) 
+		      (eq (string-match "_\\.?[0-9]" math-exp-str math-exp-pos)
                           math-exp-pos)
 		      (or (eq math-exp-pos 0)
 			  (and (memq calc-language '(nil flat big unform
@@ -713,7 +713,7 @@
 				   (1- math-exp-pos))))))
 	     (or (and (eq calc-language 'c)
 		      (string-match "0[xX][0-9a-fA-F]+" math-exp-str math-exp-pos))
-		 (string-match "_?\\([0-9]+.?0*@ *\\)?\\([0-9]+.?0*' *\\)?\\(0*\\([2-9]\\|1[0-4]\\)\\(#\\|\\^\\^\\)[0-9a-dA-D.]+[eE][-+_]?[0-9]+\\|0*\\([2-9]\\|[0-2][0-9]\\|3[0-6]\\)\\(#\\|\\^\\^\\)[0-9a-zA-Z:.]+\\|[0-9]+:[0-9:]+\\|[0-9.]+\\([eE][-+_]?[0-9]+\\)?\"?\\)?" 
+		 (string-match "_?\\([0-9]+.?0*@ *\\)?\\([0-9]+.?0*' *\\)?\\(0*\\([2-9]\\|1[0-4]\\)\\(#\\|\\^\\^\\)[0-9a-dA-D.]+[eE][-+_]?[0-9]+\\|0*\\([2-9]\\|[0-2][0-9]\\|3[0-6]\\)\\(#\\|\\^\\^\\)[0-9a-zA-Z:.]+\\|[0-9]+:[0-9:]+\\|[0-9.]+\\([eE][-+_]?[0-9]+\\)?\"?\\)?"
                                math-exp-str math-exp-pos))
 	     (setq math-exp-token 'number
 		   math-expr-data (math-match-substring math-exp-str 0)
@@ -751,7 +751,7 @@
 		   math-expr-data (math-match-substring math-exp-str 0)
 		   math-exp-pos (match-end 0)))
 	    ((and (eq ch ?\")
-		  (string-match "\\(\"\\([^\"\\]\\|\\\\.\\)*\\)\\(\"\\|\\'\\)" 
+		  (string-match "\\(\"\\([^\"\\]\\|\\\\.\\)*\\)\\(\"\\|\\'\\)"
                                 math-exp-str math-exp-pos))
 	     (if (eq calc-language 'eqn)
 		 (progn
@@ -765,9 +765,9 @@
 		     math-exp-pos (match-end 0))))
 	    ((and (= ch ?\\) (eq calc-language 'tex)
 		  (< math-exp-pos (1- (length math-exp-str))))
-	     (or (string-match "\\\\hbox *{\\([a-zA-Z0-9]+\\)}" 
+	     (or (string-match "\\\\hbox *{\\([a-zA-Z0-9]+\\)}"
                                math-exp-str math-exp-pos)
-		 (string-match "\\(\\\\\\([a-zA-Z]+\\|[^a-zA-Z]\\)\\)" 
+		 (string-match "\\(\\\\\\([a-zA-Z]+\\|[^a-zA-Z]\\)\\)"
                                math-exp-str math-exp-pos))
 	     (setq math-exp-token 'symbol
 		   math-exp-pos (match-end 0)
@@ -791,11 +791,11 @@
 			     (aset math-exp-str right ?\])))))))
 	    ((and (= ch ?\\) (eq calc-language 'latex)
 		  (< math-exp-pos (1- (length math-exp-str))))
-	     (or (string-match "\\\\hbox *{\\([a-zA-Z0-9]+\\)}" 
+	     (or (string-match "\\\\hbox *{\\([a-zA-Z0-9]+\\)}"
                                math-exp-str math-exp-pos)
-                 (string-match "\\\\text *{\\([a-zA-Z0-9]+\\)}" 
+                 (string-match "\\\\text *{\\([a-zA-Z0-9]+\\)}"
                                math-exp-str math-exp-pos)
-		 (string-match "\\(\\\\\\([a-zA-Z]+\\|[^a-zA-Z]\\)\\)" 
+		 (string-match "\\(\\\\\\([a-zA-Z]+\\|[^a-zA-Z]\\)\\)"
                                math-exp-str math-exp-pos))
 	     (setq math-exp-token 'symbol
 		   math-exp-pos (match-end 0)
@@ -821,7 +821,7 @@
                                  (string= envname "pmatrix"))
                              (if (string-match (concat "\\\\end{" envname "}")
                                                math-exp-str math-exp-pos)
-                                 (setq math-exp-str 
+                                 (setq math-exp-str
                                        (replace-match "]" t t math-exp-str))
                                (error "%s" (concat "No closing \\end{" envname "}"))))))
                       ((and (eq (nth 1 code) 'mat)
@@ -852,7 +852,7 @@
 	     (setq math-exp-token 'punc
 		   math-expr-data (math-match-substring math-exp-str 0)
 		   math-exp-pos (match-end 0))
-	     (and (eq (string-match "\\\\dots\\." math-exp-str math-exp-pos) 
+	     (and (eq (string-match "\\\\dots\\." math-exp-str math-exp-pos)
                       math-exp-pos)
 		  (setq math-exp-pos (match-end 0)))
 	     (if (memq (aref math-expr-data 0) '(?~ ?^))
--- a/lisp/calendar/cal-dst.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/calendar/cal-dst.el	Mon Jan 01 17:38:32 2007 +0000
@@ -53,7 +53,8 @@
   :group 'calendar)
 
 (defvar calendar-current-time-zone-cache nil
-  "Cache for result of calendar-current-time-zone.")
+  "Cache for result of `calendar-current-time-zone'.")
+(put 'calendar-current-time-zone-cache 'risky-local-variable t)
 
 (defvar calendar-system-time-basis
   (calendar-absolute-from-gregorian '(1 1 1970))
@@ -345,8 +346,9 @@
                       (cadr (calendar-dst-find-startend year))
                     (nth 4 calendar-current-time-zone-cache))))
         (if expr (eval expr)))
+      ;; New US rules commencing 2007.	ftp://elsie.nci.nih.gov/pub/.
       (and (not (zerop calendar-daylight-time-offset))
-           (calendar-nth-named-day 1 0 4 year))))
+           (calendar-nth-named-day 2 0 3 year))))
 
 (defun calendar-dst-ends (year)
   "Return the date of YEAR on which Daylight Saving Time ends.
@@ -355,8 +357,9 @@
                       (nth 2 (calendar-dst-find-startend year))
                     (nth 5 calendar-current-time-zone-cache))))
         (if expr (eval expr)))
+      ;; New US rules commencing 2007.	ftp://elsie.nci.nih.gov/pub/.
       (and (not (zerop calendar-daylight-time-offset))
-           (calendar-nth-named-day -1 0 10 year))))
+           (calendar-nth-named-day 1 0 11 year))))
 
 
 ;;;###autoload
--- a/lisp/calendar/calendar.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/calendar/calendar.el	Mon Jan 01 17:38:32 2007 +0000
@@ -2199,12 +2199,12 @@
                  downcase-region upcase-region kill-region
                  copy-region-as-kill capitalize-region write-region))
       (define-key map (vector 'remap c) 'calendar-not-implemented))
-    (define-key map ">"     'scroll-calendar-right)
-    (define-key map "\C-x>" 'scroll-calendar-right)
+    (define-key map "<"     'scroll-calendar-right)
+    (define-key map "\C-x<" 'scroll-calendar-right)
     (define-key map [prior] 'scroll-calendar-right-three-months)
     (define-key map "\ev"   'scroll-calendar-right-three-months)
-    (define-key map "<"     'scroll-calendar-left)
-    (define-key map "\C-x<" 'scroll-calendar-left)
+    (define-key map ">"     'scroll-calendar-left)
+    (define-key map "\C-x>" 'scroll-calendar-left)
     (define-key map [next]  'scroll-calendar-left-three-months)
     (define-key map "\C-v"  'scroll-calendar-left-three-months)
     (define-key map "\C-b"  'calendar-backward-day)
@@ -2337,42 +2337,40 @@
 
 (defvar calendar-mode-line-format
   (list
-   (propertize (substitute-command-keys
-		"\\<calendar-mode-map>\\[scroll-calendar-left]")
-	       'help-echo "mouse-2: scroll left"
+   (propertize "<"
+	       'help-echo "mouse-1: previous month"
 	       'mouse-face 'mode-line-highlight
-	       'keymap (make-mode-line-mouse-map 'mouse-2
-						 'mouse-scroll-calendar-left))
+	       'keymap (make-mode-line-mouse-map 'mouse-1
+						 'mouse-scroll-calendar-right))
    "Calendar"
    (concat
     (propertize
      (substitute-command-keys
       "\\<calendar-mode-map>\\[calendar-goto-info-node] info")
-     'help-echo "mouse-2: read Info on Calendar"
+     'help-echo "mouse-1: read Info on Calendar"
      'mouse-face 'mode-line-highlight
-     'keymap (make-mode-line-mouse-map 'mouse-2 'calendar-goto-info-node))
-    "/"
+     'keymap (make-mode-line-mouse-map 'mouse-1 'calendar-goto-info-node))
+    " / "
     (propertize
      (substitute-command-keys
-     "\\<calendar-mode-map>\\[calendar-other-month] other")
-     'help-echo "mouse-2: choose another month"
+     " \\<calendar-mode-map>\\[calendar-other-month] other")
+     'help-echo "mouse-1: choose another month"
      'mouse-face 'mode-line-highlight
      'keymap (make-mode-line-mouse-map
-	      'mouse-2 'mouse-calendar-other-month))
-    "/"
+	      'mouse-1 'mouse-calendar-other-month))
+    " / "
     (propertize
      (substitute-command-keys
      "\\<calendar-mode-map>\\[calendar-goto-today] today")
-     'help-echo "mouse-2: go to today's date"
+     'help-echo "mouse-1: go to today's date"
      'mouse-face 'mode-line-highlight
-     'keymap (make-mode-line-mouse-map 'mouse-2 #'calendar-goto-today)))
+     'keymap (make-mode-line-mouse-map 'mouse-1 #'calendar-goto-today)))
    '(calendar-date-string (calendar-current-date) t)
-   (propertize (substitute-command-keys
-		"\\<calendar-mode-map>\\[scroll-calendar-right]")
-	       'help-echo "mouse-2: scroll right"
+   (propertize ">"
+	       'help-echo "mouse-1: next month"
 	       'mouse-face 'mode-line-highlight
 	       'keymap (make-mode-line-mouse-map
-			'mouse-2 'mouse-scroll-calendar-right)))
+			'mouse-1 'mouse-scroll-calendar-left)))
   "The mode line of the calendar buffer.
 
 This must be a list of items that evaluate to strings--those strings are
--- a/lisp/calendar/icalendar.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/calendar/icalendar.el	Mon Jan 01 17:38:32 2007 +0000
@@ -73,6 +73,10 @@
 
 ;;  * Import from ical to diary:
 ;;    + Need more properties for icalendar-import-format
+;;      (added all that Mozilla Calendar uses)
+;;      From iCal specifications (RFC2445: 4.8.1), icalendar.el lacks
+;;      ATTACH, CATEGORIES, COMMENT, GEO, PERCENT-COMPLETE (VTODO),
+;;      PRIORITY, RESOURCES) not considering date/time and time-zone
 ;;    + check vcalendar version
 ;;    + check (unknown) elements
 ;;    + recurring events!
@@ -97,7 +101,7 @@
 
 ;;; Code:
 
-(defconst icalendar-version "0.13"
+(defconst icalendar-version "0.14"
   "Version number of icalendar.el.")
 
 ;; ======================================================================
@@ -226,12 +230,12 @@
   "Replace regular expression in string.
 Pass ARGS to `replace-regexp-in-string' (Emacs) or to
 `replace-in-string' (XEmacs)."
+  (if (fboundp 'replace-regexp-in-string)
+      ;; Emacs:
+      (apply 'replace-regexp-in-string args)
   ;; XEmacs:
-  (if (fboundp 'replace-in-string)
-      (save-match-data ;; apparently XEmacs needs save-match-data
-        (apply 'replace-in-string args))
-    ;; Emacs:
-    (apply 'replace-regexp-in-string args)))
+    (save-match-data ;; apparently XEmacs needs save-match-data
+      (apply 'replace-in-string args))))
 
 (defun icalendar--read-element (invalue inparams)
   "Recursively read the next iCalendar element in the current buffer.
@@ -1549,7 +1553,7 @@
 (defun icalendar--convert-ical-to-diary (ical-list diary-file
                                                    &optional do-not-ask
                                                    non-marking)
-  "Convert Calendar data to an Emacs diary file.
+  "Convert iCalendar data to an Emacs diary file.
 Import VEVENTS from the iCalendar object ICAL-LIST and saves them to a
 DIARY-FILE.  If DO-NOT-ASK is nil the user is asked for each event
 whether to actually import it.  NON-MARKING determines whether diary
@@ -1680,6 +1684,13 @@
          (setq error-string (format "%s\n%s\nCannot handle this event: %s"
                                     error-val error-string e))
          (message "%s" error-string))))
+    ;; insert final newline
+    (let ((b (find-buffer-visiting diary-file)))
+      (when b
+        (save-current-buffer
+          (set-buffer b)
+          (goto-char (point-max))
+          (insert "\n"))))
     (if found-error
         (save-current-buffer
           (set-buffer (get-buffer-create "*icalendar-errors*"))
--- a/lisp/case-table.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/case-table.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; case-table.el --- code to extend the character set and support case tables
 
-;; Copyright (C) 1988, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
--- a/lisp/cdl.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/cdl.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; cdl.el --- Common Data Language (CDL) utility functions for GNU Emacs
 
-;; Copyright (C) 1993, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: ATAE@spva.physics.imperial.ac.uk (Ata Etemadi)
--- a/lisp/chistory.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/chistory.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; chistory.el --- list command history
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
--- a/lisp/cmuscheme.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/cmuscheme.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; cmuscheme.el --- Scheme process in a buffer. Adapted from tea.el
 
-;; Copyright (C) 1988, 1994, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1988, 1994, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Olin Shivers <olin.shivers@cs.cmu.edu>
@@ -244,7 +244,8 @@
 If there is a process already running in `*scheme*', switch to that buffer.
 With argument, allows you to edit the command line (default is value
 of `scheme-program-name').
-If a file `~/.emacs_SCHEMENAME' exists, it is given as initial input.
+If the file `~/.emacs_SCHEMENAME' or `~/.emacs.d/init_SCHEMENAME.scm' exists,
+it is given as initial input.
 Note that this may lose due to a timing error if the Scheme processor
 discards input when it starts up.
 Runs the hook `inferior-scheme-mode-hook' \(after the `comint-mode-hook'
@@ -268,12 +269,12 @@
   "Return the name of the start file corresponding to PROG.
 Search in the directories \"~\" and \"~/.emacs.d\", in this
 order.  Return nil if no start file found."
-  (let* ((name (concat ".emacs_" (file-name-nondirectory prog)))
-         (start-file (concat "~/" name)))
+  (let* ((progname (file-name-nondirectory prog))
+	 (start-file (concat "~/.emacs_" progname))
+	 (alt-start-file (concat "~/.emacs.d/init_" progname ".scm")))
     (if (file-exists-p start-file)
         start-file
-      (let ((start-file (concat "~/.emacs.d/" name)))
-        (and (file-exists-p start-file) start-file)))))
+      (and (file-exists-p alt-start-file) alt-start-file))))
 
 (defun scheme-send-region (start end)
   "Send the current region to the inferior Scheme process."
--- a/lisp/comint.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/comint.el	Mon Jan 01 17:38:32 2007 +0000
@@ -132,7 +132,7 @@
 ;;  comint-eol-on-send			boolean	...
 ;;  comint-process-echoes		boolean	...
 ;;  comint-scroll-to-bottom-on-input	symbol	For scroll behavior
-;;  comint-scroll-to-bottom-on-output	symbol	...
+;;  comint-move-point-for-output	symbol	...
 ;;  comint-scroll-show-maximum-output	boolean	...
 ;;  comint-accum-marker			maker	  For comint-accumulate
 ;;
@@ -804,8 +804,6 @@
 
 (defun comint-insert-input (event)
   "In a Comint buffer, set the current input to the previous input at point."
-  ;; This doesn't use "e" because it is supposed to work
-  ;; for events without parameters.
   (interactive "e")
   (mouse-set-point event)
   (let ((pos (point)))
--- a/lisp/compare-w.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/compare-w.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; compare-w.el --- compare text between windows for Emacs
 
-;; Copyright (C) 1986, 1989, 1993, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1986, 1989, 1993, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/complete.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/complete.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; complete.el --- partial completion mechanism plus other goodies
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 1999, 2000, 2002, 2003, 2004,
-;;   2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 1999, 2000, 2001, 2002, 2003,
+;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Keywords: abbrev convenience
--- a/lisp/completion.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/completion.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; completion.el --- dynamic word-completion code
 
-;; Copyright (C) 1990, 1993, 1995, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1990, 1993, 1995, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/composite.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/composite.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; composite.el --- support character composition
 
-;; Copyright (C) 1999, 2000
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/cus-dep.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/cus-dep.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; cus-dep.el --- find customization dependencies
 ;;
-;; Copyright (C) 1997, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
--- a/lisp/cus-edit.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/cus-edit.el	Mon Jan 01 17:38:32 2007 +0000
@@ -679,8 +679,9 @@
 
 ;;; Sorting.
 
+;;;###autoload
 (defcustom custom-browse-sort-alphabetically nil
-  "If non-nil, sort members of each customization group alphabetically."
+  "If non-nil, sort customization group alphabetically in `custom-browse'."
   :type 'boolean
   :group 'custom-browse)
 
@@ -698,8 +699,9 @@
   :type 'boolean
   :group 'custom-browse)
 
+;;;###autoload
 (defcustom custom-buffer-sort-alphabetically nil
-  "If non-nil, sort members of each customization group alphabetically."
+  "If non-nil, sort each customization group alphabetically in Custom buffer."
   :type 'boolean
   :group 'custom-buffer)
 
@@ -712,8 +714,9 @@
 		 (const :tag "none" nil))
   :group 'custom-buffer)
 
+;;;###autoload
 (defcustom custom-menu-sort-alphabetically nil
-  "If non-nil, sort members of each customization group alphabetically."
+  "If non-nil, sort each customization group alphabetically in menus."
   :type 'boolean
   :group 'custom-menu)
 
--- a/lisp/custom.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/custom.el	Mon Jan 01 17:38:32 2007 +0000
@@ -536,6 +536,7 @@
   (let ((options (get symbol 'custom-options)))
     (unless (member option options)
       (put symbol 'custom-options (cons option options)))))
+(defalias 'custom-add-frequent-value 'custom-add-option)
 
 (defun custom-add-link (symbol widget)
   "To the custom option SYMBOL add the link WIDGET."
--- a/lisp/cvs-status.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/cvs-status.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; cvs-status.el --- major mode for browsing `cvs status' output -*- coding: utf-8 -*-
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
--- a/lisp/delim-col.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/delim-col.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,11 +1,10 @@
 ;;; delim-col.el --- prettify all columns in a region or rectangle
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
-;; Time-stamp: <2006/09/15 17:35:06 vinicius>
 ;; Version: 2.1
 ;; Keywords: internal
 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
--- a/lisp/descr-text.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/descr-text.el	Mon Jan 01 17:38:32 2007 +0000
@@ -212,11 +212,10 @@
   (when describe-char-unicodedata-file
     (unless (file-exists-p describe-char-unicodedata-file)
       (error "`unicodedata-file' %s not found" describe-char-unicodedata-file))
-    (with-current-buffer
-	;; Find file in fundamental mode to avoid, e.g. flyspell turned
-	;; on for .txt.  Don't use RAWFILE arg in case of DOS line endings.
-	(let ((auto-mode-alist))
-	  (find-file-noselect describe-char-unicodedata-file))
+    (with-current-buffer (get-buffer-create " *Unicode Data*")
+      (when (zerop (buffer-size))
+	;; Don't use -literally in case of DOS line endings.
+	(insert-file-contents describe-char-unicodedata-file))
       (goto-char (point-min))
       (let ((hex (format "%04X" char))
 	    found first last)
--- a/lisp/dired.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/dired.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1045,9 +1045,9 @@
     ;; treat top level dir extra (it may contain wildcards)
     (dired-uncache
      (if (consp dired-directory) (car dired-directory) dired-directory))
-    (dired-readin)
+    ;; Run dired-after-readin-hook just once, below.
     (let ((dired-after-readin-hook nil))
-      ;; don't run that hook for each subdir...
+      (dired-readin)
       (dired-insert-old-subdirs old-subdir-alist))
     (dired-mark-remembered mark-alist)	; mark files that were marked
     ;; ... run the hook for the whole buffer, and only after markers
@@ -3098,15 +3098,18 @@
   ;; Modeline display of "by name" or "by date" guarantees the user a
   ;; match with the corresponding regexps.  Non-matching switches are
   ;; shown literally.
-  (setq mode-name
-	(let (case-fold-search)
-	  (cond ((string-match dired-sort-by-name-regexp dired-actual-switches)
-		 "Dired by name")
-		((string-match dired-sort-by-date-regexp dired-actual-switches)
-		 "Dired by date")
-		(t
-		 (concat "Dired " dired-actual-switches)))))
-  (force-mode-line-update))
+  (when (eq major-mode 'dired-mode)
+    (setq mode-name
+	  (let (case-fold-search)
+	    (cond ((string-match 
+		    dired-sort-by-name-regexp dired-actual-switches)
+		   "Dired by name")
+		  ((string-match
+		    dired-sort-by-date-regexp dired-actual-switches)
+		   "Dired by date")
+		  (t
+		   (concat "Dired " dired-actual-switches)))))
+    (force-mode-line-update)))
 
 (defun dired-sort-toggle-or-edit (&optional arg)
   "Toggle between sort by date/name and refresh the dired buffer.
@@ -3162,7 +3165,7 @@
 With optional second arg NO-REVERT, don't refresh the listing afterwards."
   (dired-sort-R-check switches)
   (setq dired-actual-switches switches)
-  (if (eq major-mode 'dired-mode) (dired-sort-set-modeline))
+  (dired-sort-set-modeline)
   (or no-revert (revert-buffer)))
 
 (defvar dired-subdir-alist-pre-R nil
--- a/lisp/dirtrack.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/dirtrack.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; dirtrack.el --- Directory Tracking by watching the prompt
 
-;; Copyright (C) 1996, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Peter Breton <pbreton@cs.umb.edu>
--- a/lisp/disp-table.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/disp-table.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; disp-table.el --- functions for dealing with char tables
 
-;; Copyright (C) 1987, 1994, 1995, 1999, 2002, 2003, 2004,
+;; Copyright (C) 1987, 1994, 1995, 1999, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Erik Naggum <erik@naggum.no>
--- a/lisp/dos-fns.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/dos-fns.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; dos-fns.el --- MS-Dos specific functions
 
-;; Copyright (C) 1991, 1993, 1995, 1996, 2002, 2003, 2004,
+;; Copyright (C) 1991, 1993, 1995, 1996, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: Morten Welinder <terra@diku.dk>
--- a/lisp/dos-vars.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/dos-vars.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; dos-vars.el --- MS-Dos specific user options
 
-;; Copyright (C) 1998, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/dos-w32.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/dos-w32.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;; dos-w32.el --- Functions shared among MS-DOS and W32 (NT/95) platforms
 
-;; Copyright (C) 1996, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: Geoff Voelker <voelker@cs.washington.edu>
--- a/lisp/double.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/double.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; double.el --- support for keyboard remapping with double clicking
 
-;; Copyright (C) 1994, 1997, 1998, 2002, 2003, 2004,
+;; Copyright (C) 1994, 1997, 1998, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
--- a/lisp/ebuff-menu.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ebuff-menu.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ebuff-menu.el --- electric-buffer-list mode
 
-;; Copyright (C) 1985, 1986, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Richard Mlynarik <mly@ai.mit.edu>
--- a/lisp/echistory.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/echistory.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; echistory.el --- Electric Command History Mode
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
--- a/lisp/ediff-diff.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ediff-diff.el	Mon Jan 01 17:38:32 2007 +0000
@@ -133,9 +133,13 @@
 (defcustom ediff-diff-options ""
   "*Options to pass to `ediff-diff-program'.
 If Unix diff is used as `ediff-diff-program',
- then a useful option is `-w', to ignore space.
-Options `-c' and `-i' are not allowed. Case sensitivity can be
- toggled interactively using \\[ediff-toggle-ignore-case]."
+then a useful option is `-w', to ignore space.
+Options `-c', `-u', and `-i' are not allowed. Case sensitivity can be
+toggled interactively using \\[ediff-toggle-ignore-case].
+
+This variable is not for customizing the look of the differences produced by
+the command \\[ediff-show-diff-output]. Use the variable 
+`ediff-custom-diff-options' for that."
   :set 'ediff-reset-diff-options
   :type 'string
   :group 'ediff-diff)
@@ -254,10 +258,10 @@
 ;; ediff-setup-diff-regions-function, which can also have the value
 ;; ediff-setup-diff-regions3, which takes 4 arguments.
 (defun ediff-setup-diff-regions (file-A file-B file-C)
-  ;; looking for '-c', '-i', or a 'c', 'i' among clustered non-long options
-  (if (string-match "^-[ci]\\| -[ci]\\|\\(^\\| \\)-[^- ]+[ci]"
+  ;; looking for '-c', '-i', '-u', or 'c', 'i', 'u' among clustered non-long options
+  (if (string-match "^-[ciu]\\| -[ciu]\\|\\(^\\| \\)-[^- ]+[ciu]"
 		    ediff-diff-options)
-      (error "Options `-c' and `-i' are not allowed in `ediff-diff-options'"))
+      (error "Options `-c', `-u', and `-i' are not allowed in `ediff-diff-options'"))
 
   ;; create, if it doesn't exist
   (or (ediff-buffer-live-p ediff-diff-buffer)
--- a/lisp/ediff-merg.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ediff-merg.el	Mon Jan 01 17:38:32 2007 +0000
@@ -62,7 +62,7 @@
   '("<<<<<<< variant A" A ">>>>>>> variant B" B  "####### Ancestor" Ancestor "======= end")
   "*Pattern to be used for combining difference regions in buffers A and B.
 The value must be a list of the form
-(STRING1 bufspec1  STRING2 bufspec2 STRING3 bufspec3 STRING4)
+\(STRING1 bufspec1  STRING2 bufspec2 STRING3 bufspec3 STRING4)
 where bufspec is the symbol A, B, or Ancestor. For instance, if the value is
 '(STRING1 A  STRING2 Ancestor STRING3 B STRING4) then the
 combined text will look like this:
@@ -82,7 +82,7 @@
 (defcustom ediff-show-clashes-only nil
   "*If t, show only those diff regions where both buffers disagree with the ancestor.
 This means that regions that have status prefer-A or prefer-B will be
-skipped over.  nil means show all regions."
+skipped over.  A value of nil means show all regions."
   :type 'boolean
   :group 'ediff-merge
   )
--- a/lisp/ediff-vers.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ediff-vers.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ediff-vers.el --- version control interface to Ediff
 
-;; Copyright (C) 1995, 1996, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1996, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
--- a/lisp/edmacro.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/edmacro.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; edmacro.el --- keyboard macro editor
 
-;; Copyright (C) 1993, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
--- a/lisp/electric.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/electric.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; electric.el --- window maker and Command loop for `electric' modes
 
-;; Copyright (C) 1985, 1986, 1995, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 1995, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
--- a/lisp/elide-head.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/elide-head.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; elide-head.el --- hide headers in files
 
-;; Copyright (C) 1999, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
--- a/lisp/emacs-lisp/advice.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/advice.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; advice.el --- an overloading mechanism for Emacs Lisp functions
 
-;; Copyright (C) 1993, 1994, 2000, 2001, 2004,
+;; Copyright (C) 1993, 1994, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Hans Chalupsky <hans@cs.buffalo.edu>
--- a/lisp/emacs-lisp/assoc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/assoc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; assoc.el --- insert/delete/sort functions on association lists
 
-;; Copyright (C) 1996, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Barry A. Warsaw <bwarsaw@cen.com>
--- a/lisp/emacs-lisp/authors.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/authors.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; authors.el --- utility for maintaining Emacs' AUTHORS file -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 2000, 2002, 2003, 2004, 2005,
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Gerd Moellmann <gerd@gnu.org>
@@ -75,7 +75,7 @@
     (nil "(afs@hplb.hpl.hp.com)")
     (nil "<Use-Author-Address-Header@\\[127.1\\]>")
     (nil "Code Extracted")
-    (nil "Fsf")
+    (nil "\\`FSF")
     (nil "ISO-2022-JP")
     ("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn")
     ("Jan Dj,Ad(Brv" "Jan D." "Jan Djarv")
@@ -300,6 +300,8 @@
     ("GETTING.GNU.SOFTWARE" . "FTP")
     ("leim-Makefile" . "leim/Makefile")
     ("leim-Makefile.in" . "leim/Makefile.in")
+    ("emacs-lisp/testcover-ses.el" . "tcover-ses.el")
+    ("emacs-lisp/testcover-unsafep.el" . "tcover-unsafep.el")
     ("INSTALL-CVS" . "INSTALL.CVS")
     )
   "Alist of files which have been renamed during their lifetime.
--- a/lisp/emacs-lisp/bindat.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/bindat.el	Mon Jan 01 17:38:32 2007 +0000
@@ -319,8 +319,8 @@
 	 ((eq type 'struct)
 	  (setq data (bindat--unpack-group (eval len))))
 	 ((eq type 'repeat)
-	  (let ((index 0))
-	    (while (< index len)
+	  (let ((index 0) (count len))
+	    (while (< index count)
 	      (setq data (cons (bindat--unpack-group (nthcdr tail item)) data))
 	      (setq index (1+ index)))
 	    (setq data (nreverse data))))
@@ -415,8 +415,8 @@
 	  (bindat--length-group
 	   (if field (bindat-get-field struct field) struct) (eval len)))
 	 ((eq type 'repeat)
-	  (let ((index 0))
-	    (while (< index len)
+	  (let ((index 0) (count len))
+	    (while (< index count)
 	      (bindat--length-group
                (nth index (bindat-get-field struct field))
                (nthcdr tail item))
@@ -559,8 +559,8 @@
 	  (bindat--pack-group
 	   (if field (bindat-get-field struct field) struct) (eval len)))
 	 ((eq type 'repeat)
-	  (let ((index 0))
-	    (while (< index len)
+	  (let ((index 0) (count len))
+	    (while (< index count)
 	      (bindat--pack-group
                (nth index (bindat-get-field struct field))
                (nthcdr tail item))
--- a/lisp/emacs-lisp/byte-run.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/byte-run.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; byte-run.el --- byte-compiler support for inlining
 
-;; Copyright (C) 1992, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Jamie Zawinski <jwz@lucid.com>
--- a/lisp/emacs-lisp/cl-compat.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/cl-compat.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; cl-compat.el --- Common Lisp extensions for GNU Emacs Lisp (compatibility)
 
-;; Copyright (C) 1993, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
--- a/lisp/emacs-lisp/cl-extra.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/cl-extra.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; cl-extra.el --- Common Lisp features, part 2 -*-byte-compile-dynamic: t;-*-
 
-;; Copyright (C) 1993, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1993, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
--- a/lisp/emacs-lisp/cl-macs.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/cl-macs.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; cl-macs.el --- Common Lisp macros -*-byte-compile-dynamic: t;-*-
 
-;; Copyright (C) 1993, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;; Version: 2.02
@@ -2291,10 +2292,15 @@
 			     (if (cadr (memq :read-only (cddr desc)))
 				 (list 'error (format "%s is a read-only slot"
 						      accessor))
-			       (list 'cl-struct-setf-expander 'cl-x
-				     (list 'quote name) (list 'quote accessor)
-				     (and pred-check (list 'quote pred-check))
-				     pos)))
+			       ;; If cl is loaded only for compilation,
+			       ;; the call to cl-struct-setf-expander would
+			       ;; cause a warning because it may not be
+			       ;; defined at run time.  Suppress that warning.
+			       (list 'with-no-warnings
+				     (list 'cl-struct-setf-expander 'cl-x
+					   (list 'quote name) (list 'quote accessor)
+					   (and pred-check (list 'quote pred-check))
+					   pos))))
 		       forms)
 	      (if print-auto
 		  (nconc print-func
--- a/lisp/emacs-lisp/cl-seq.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/cl-seq.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; cl-seq.el --- Common Lisp features, part 3  -*-byte-compile-dynamic: t;-*-
 
-;; Copyright (C) 1993, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
--- a/lisp/emacs-lisp/cl-specs.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/cl-specs.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; cl-specs.el --- Edebug specs for cl.el -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1993, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 ;; Author: Daniel LaLiberte <liberte@holonexus.org>
 ;; Keywords: lisp, tools, maint
--- a/lisp/emacs-lisp/cl.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/cl.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; cl.el --- Common Lisp extensions for Emacs -*-byte-compile-dynamic: t;-*-
 
-;; Copyright (C) 1993, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
--- a/lisp/emacs-lisp/crm.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/crm.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; crm.el --- read multiple strings with completion
 
 ;; Copyright (C) 1985, 1986, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-;;   2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;;   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Sen Nagata <sen@eccosys.com>
 ;; Keywords: completion, minibuffer, multiple elements
--- a/lisp/emacs-lisp/cust-print.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/cust-print.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; cust-print.el --- handles print-level and print-circle
 
-;; Copyright (C) 1992, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Daniel LaLiberte <liberte@holonexus.org>
--- a/lisp/emacs-lisp/derived.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/derived.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; derived.el --- allow inheritance of major modes
 ;; (formerly mode-clone.el)
 
-;; Copyright (C) 1993, 1994, 1999, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1994, 1999, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: David Megginson (dmeggins@aix1.uottawa.ca)
--- a/lisp/emacs-lisp/easy-mmode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/easy-mmode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -274,7 +274,7 @@
 (defalias 'easy-mmode-define-global-mode 'define-global-minor-mode)
 ;;;###autoload
 (defmacro define-global-minor-mode (global-mode mode turn-on &rest keys)
-  "Make GLOBAL-MODE out of the buffer-local minor MODE.
+  "Make a global mode GLOBAL-MODE corresponding to buffer-local minor MODE.
 TURN-ON is a function that will be called with no args in every buffer
   and that should try to turn MODE on if applicable for that buffer.
 KEYS is a list of CL-style keyword arguments.  As the minor mode
--- a/lisp/emacs-lisp/easymenu.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/easymenu.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; easymenu.el --- support the easymenu interface for defining a menu
 
-;; Copyright (C) 1994, 1996, 1998, 1999, 2000, 2002, 2003, 2004,
-;;   2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1996, 1998, 1999, 2000, 2001, 2002, 2003,
+;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Keywords: emulations
 ;; Author: Richard Stallman <rms@gnu.org>
@@ -443,20 +443,24 @@
     command))
 
 ;;;###autoload
-(defun easy-menu-change (path name items &optional before)
+(defun easy-menu-change (path name items &optional before map)
   "Change menu found at PATH as item NAME to contain ITEMS.
 PATH is a list of strings for locating the menu that
 should contain a submenu named NAME.
 ITEMS is a list of menu items, as in `easy-menu-define'.
 These items entirely replace the previous items in that submenu.
 
+If MAP is specified, it should normally be a keymap; nil stands for the local
+menu-bar keymap.  It can also be a symbol, which has earlier been used as the
+first argument in a call to `easy-menu-define', or the value of such a symbol.
+
 If the menu located by PATH has no submenu named NAME, add one.
 If the optional argument BEFORE is present, add it just before
 the submenu named BEFORE, otherwise add it at the end of the menu.
 
 To implement dynamic menus, either call this from
 `menu-bar-update-hook' or use a menu filter."
-  (easy-menu-add-item nil path (easy-menu-create-menu name items) before))
+  (easy-menu-add-item map path (easy-menu-create-menu name items) before))
 
 ;; XEmacs needs the following two functions to add and remove menus.
 ;; In Emacs this is done automatically when switching keymaps, so
--- a/lisp/emacs-lisp/eldoc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/eldoc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; eldoc.el --- show function arglist or variable docstring in echo area
 
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Noah Friedman <friedman@splode.com>
--- a/lisp/emacs-lisp/elint.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/elint.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; elint.el --- Lint Emacs Lisp
 
-;; Copyright (C) 1997, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Peter Liljenberg <petli@lysator.liu.se>
--- a/lisp/emacs-lisp/ewoc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/ewoc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; ewoc.el --- utility to maintain a view of a list of objects in a buffer
 
 ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-;;   2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;;   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Per Cederqvist <ceder@lysator.liu.se>
 ;;	Inge Wallin <inge@lysator.liu.se>
--- a/lisp/emacs-lisp/find-func.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/find-func.el	Mon Jan 01 17:38:32 2007 +0000
@@ -397,7 +397,7 @@
 
 ;;;###autoload
 (defun find-variable (variable)
-  "Find the definition of the VARIABLE near point.
+  "Find the definition of the VARIABLE at or before point.
 
 Finds the library containing the definition of the variable
 near point (selected by `variable-at-point') in a buffer and
--- a/lisp/emacs-lisp/find-gc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/find-gc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; find-gc.el --- detect functions that call the garbage collector
 
-;; Copyright (C) 1992, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/emacs-lisp/float-sup.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/float-sup.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; float-sup.el --- define some constants useful for floating point numbers.
 
-;; Copyright (C) 1985, 1986, 1987, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 1987, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/emacs-lisp/generic.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/generic.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; generic.el --- defining simple major modes with comment and font-lock
 ;;
-;; Copyright (C) 1997, 1999, 2002, 2003, 2004,
+;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 ;;
 ;; Author:  Peter Breton <pbreton@cs.umb.edu>
--- a/lisp/emacs-lisp/gulp.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/gulp.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gulp.el --- ask for updates for Lisp packages
 
-;; Copyright (C) 1996, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Sam Shteingold <shteingd@math.ucla.edu>
--- a/lisp/emacs-lisp/helper.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/helper.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; helper.el --- utility help package supporting help in electric modes
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
--- a/lisp/emacs-lisp/lisp.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/lisp.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; lisp.el --- Lisp editing commands for Emacs
 
-;; Copyright (C) 1985, 1986, 1994, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 1994, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
@@ -185,13 +185,18 @@
 means move forward to Nth following beginning of defun.
 Returns t unless search stops due to beginning or end of buffer.
 
-Normally a defun starts when there is a char with open-parenthesis
-syntax at the beginning of a line.  If `defun-prompt-regexp' is
-non-nil, then a string which matches that regexp may precede the
-open-parenthesis, and point ends up at the beginning of the line.
+If variable `beginning-of-defun-function' is non-nil, its value
+is called as a function to find the defun's beginning.
 
-If variable `beginning-of-defun-function' is non-nil, its value
-is called as a function to find the defun's beginning."
+Normally a defun is assumed to start where there is a char with
+open-parenthesis syntax at the beginning of a line.  If
+`defun-prompt-regexp' is non-nil, then a string which matches
+that regexp may precede the open-parenthesis, and point ends up
+at the beginning of the line.
+
+If `defun-prompt-regexp' and `open-paren-in-column-0-is-defun-start'
+are both nil, the function instead finds an open-paren at the
+outermost level."
   (interactive "p")
   (or (not (eq this-command 'beginning-of-defun))
       (eq last-command 'beginning-of-defun)
@@ -208,9 +213,9 @@
 
 If variable `beginning-of-defun-function' is non-nil, its value
 is called as a function to find the defun's beginning."
-  (interactive "p") ; change this to "P", maybe, if we ever come to pass ARG
-		    ; to beginning-of-defun-function.
-  (unless arg (setq arg 1))		; The call might not be interactive.
+  (interactive "p")   ; change this to "P", maybe, if we ever come to pass ARG
+                      ; to beginning-of-defun-function.
+  (unless arg (setq arg 1))
   (cond
    (beginning-of-defun-function
     (if (> arg 0)
@@ -230,42 +235,56 @@
 			     nil 'move arg)
 	 (progn (goto-char (1- (match-end 0)))) t))
 
+   ;; If open-paren-in-column-0-is-defun-start and defun-prompt-regexp
+   ;; are both nil, column 0 has no significance - so scan forward
+   ;; from BOB to see how nested point is, then carry on from there.
+   ;;
+   ;; It is generally not a good idea to land up here, because the
+   ;; call to scan-lists below can be extremely slow.  This is because
+   ;; back_comment in syntax.c may have to scan from bob to find the
+   ;; beginning of each comment.  Fixing this is not trivial -- cyd.
+
+   ((eq arg 0))
    (t
-    ;; Column 0 has no significance - so scan forward from BOB to see how
-    ;; nested point is, then carry on from there.
-    (let* ((floor (point-min))
-	   (ceiling (point-max))
-	   (pps-state (let (syntax-begin-function
-			    font-lock-beginning-of-syntax-function)
-			(syntax-ppss)))
-	   (nesting-depth (nth 0 pps-state)))
+    (let ((floor (point-min))
+	  (ceiling (point-max))
+	  (arg-+ve (> arg 0)))
       (save-restriction
 	(widen)
-	;; Get outside of any string or comment.
-	(if (nth 8 pps-state)
-	    (goto-char (nth 8 pps-state)))
+	(let ((ppss (let (syntax-begin-function
+			  font-lock-beginning-of-syntax-function)
+		      (syntax-ppss)))
+	      ;; position of least enclosing paren, or nil.
+	      encl-pos)
+	  ;; Back out of any comment/string, so that encl-pos will always
+	  ;; become nil if we're at top-level.
+	  (when (nth 8 ppss)
+	    (goto-char (nth 8 ppss))
+	    (setq ppss (syntax-ppss)))	; should be fast, due to cache.
+	  (setq encl-pos (syntax-ppss-toplevel-pos ppss))
+	  (if encl-pos (goto-char encl-pos))
 
-	(cond
-	 ((> arg 0)
-	  (when (> nesting-depth 0)
-	    (up-list (- nesting-depth))
-	    (setq arg (1- arg)))
-	  ;; We're now outside of any defun.
-	  (backward-list arg)
-	  (if (< (point) floor) (goto-char floor)))
+	  (and encl-pos arg-+ve (setq arg (1- arg)))
+	  (and (not encl-pos) (not arg-+ve) (not (looking-at "\\s("))
+	       (setq arg (1+ arg)))
 
-	 ((< arg 0)
-	  (cond
-	   ((> nesting-depth 0)
-	    (up-list nesting-depth)
-	    (setq arg (1+ arg)))
-	   ((not (looking-at "\\s("))
-	    ;; We're between defuns, and not at the start of one.
-	    (setq arg (1+ arg))))
-	  (forward-list (- arg))
-	  (down-list)
-	  (backward-char)
-	  (if (> (point) ceiling) (goto-char ceiling)))))))))
+	  (condition-case nil   ; to catch crazy parens.
+	      (progn
+		(goto-char (scan-lists (point) (- arg) 0))
+		(if arg-+ve
+		    (if (>= (point) floor)
+			t
+		      (goto-char floor)
+		      nil)
+		  ;; forward to next (, or trigger the c-c
+		  (goto-char (1- (scan-lists (point) 1 -1)))
+		  (if (<= (point) ceiling)
+		      t
+		    (goto-char ceiling)
+		    nil)))
+	    (error
+	     (goto-char (if arg-+ve floor ceiling))
+	     nil))))))))
 
 (defvar end-of-defun-function nil
   "If non-nil, function for function `end-of-defun' to call.
--- a/lisp/emacs-lisp/lmenu.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/lmenu.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; lmenu.el --- emulate Lucid's menubar support
 
-;; Copyright (C) 1992, 1993, 1994, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1992, 1993, 1994, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Keywords: emulations obsolete
--- a/lisp/emacs-lisp/lselect.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/lselect.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; lselect.el --- Lucid interface to X Selections
 
-;; Copyright (C) 1990, 1993, 2002, 2003, 2004,
+;; Copyright (C) 1990, 1993, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/emacs-lisp/map-ynp.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/map-ynp.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; map-ynp.el --- general-purpose boolean question-asker
 
-;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 2000, 2002, 2003,
+;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 2000, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Roland McGrath <roland@gnu.org>
--- a/lisp/emacs-lisp/regexp-opt.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/regexp-opt.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; regexp-opt.el --- generate efficient regexps to match strings
 
-;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002,
+;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 ;;   2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Simon Marshall <simon@gnu.org>
--- a/lisp/emacs-lisp/regi.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/regi.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; regi.el --- REGular expression Interpreting engine
 
-;; Copyright (C) 1993, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: 1993 Barry A. Warsaw, Century Computing, Inc. <bwarsaw@cen.com>
--- a/lisp/emacs-lisp/ring.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/ring.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ring.el --- handle rings of items
 
-;; Copyright (C) 1992, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/emacs-lisp/shadow.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/shadow.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; shadow.el --- locate Emacs Lisp file shadowings
 
-;; Copyright (C) 1995, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Terry Jones <terry@santafe.edu>
--- a/lisp/emacs-lisp/sregex.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/sregex.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; sregex.el --- symbolic regular expressions
 
-;; Copyright (C) 1997, 1998, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Bob Glickstein <bobg+sregex@zanshin.com>
--- a/lisp/emacs-lisp/syntax.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/syntax.el	Mon Jan 01 17:38:32 2007 +0000
@@ -52,6 +52,22 @@
 (defsubst syntax-ppss-depth (ppss)
   (nth 0 ppss))
 
+(defun syntax-ppss-toplevel-pos (ppss)
+  "Get the latest syntactically outermost position found in a syntactic scan.
+PPSS is a scan state, as returned by `partial-parse-sexp' or `syntax-ppss'.
+An \"outermost position\" means one that it is outside of any syntactic entity:
+outside of any parentheses, comments, or strings encountered in the scan.
+If no such position is recorded in PPSS (because the end of the scan was
+itself at the outermost level), return nil."
+  ;; BEWARE! We rely on the undocumented 9th field.  The 9th field currently
+  ;; contains the list of positions of the enclosing open-parens.
+  ;; I.e. those positions are outside of any string/comment and the first of
+  ;; those is outside of any paren (i.e. corresponds to a nil ppss).
+  ;; If this list is empty but we are in a string or comment, then the 8th
+  ;; field contains a similar "toplevel" position.
+  (or (car (nth 9 ppss))
+      (nth 8 ppss)))
+
 (defsubst syntax-ppss-context (ppss)
   (cond
    ((nth 3 ppss) 'string)
@@ -87,8 +103,7 @@
     ;; depend on the text after BEG (which is presumably changed).  So if
     ;; BEG=(car (nth 10 syntax-ppss-last)) don't reuse that data because the
     ;; assumed nil state at BEG may not be valid any more.
-    (if (<= beg (or (car (nth 10 syntax-ppss-last))
-                    (nth 9 syntax-ppss-last)
+    (if (<= beg (or (syntax-ppss-toplevel-pos (cdr syntax-ppss-last))
                     (nth 3 syntax-ppss-last)
                     0))
 	(setq syntax-ppss-last nil)
@@ -136,22 +151,14 @@
 	  (cond
 	   ;; Use OLD-PPSS if possible and close enough.
 	   ((and (not old-pos) old-ppss
-		 ;; BEWARE! We rely on the undocumented 9th field.  The 9th
-		 ;; field currently contains the list of positions of
-		 ;; open-parens of the enclosing parens.  I.e. those
-		 ;; positions are outside of any string/comment
-		 ;; and the first of those is outside of any paren
-		 ;; (i.e. corresponds to a nil ppss).  If this list is empty
-		 ;; but we are in a string or comment, then the 8th field
-		 ;; contains a similar "toplevel" position.  If `pt-min' is
-		 ;; too far from `pos', we could try to use other positions
-		 ;; in (nth 9 old-ppss), but that doesn't seem to happen in
-		 ;; practice and it would complicate this code (and the
-		 ;; before-change-function code even more).  But maybe it
-		 ;; would be useful in "degenerate" cases such as when the
-		 ;; whole file is wrapped in a set of parenthesis.
-		 (setq pt-min (or (car (nth 9 old-ppss))
-				  (nth 8 old-ppss)
+                 ;; If `pt-min' is too far from `pos', we could try to use
+		 ;; other positions in (nth 9 old-ppss), but that doesn't
+		 ;; seem to happen in practice and it would complicate this
+		 ;; code (and the before-change-function code even more).
+		 ;; But maybe it would be useful in "degenerate" cases such
+		 ;; as when the whole file is wrapped in a set
+		 ;; of parentheses.
+		 (setq pt-min (or (syntax-ppss-toplevel-pos old-ppss)
 				  (nth 2 old-ppss)))
 		 (<= pt-min pos) (< (- pos pt-min) syntax-ppss-max-span))
 	    (incf (car (aref syntax-ppss-stats 1)))
--- a/lisp/emacs-lisp/timer.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/timer.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; timer.el --- run a function with args at some time in future
 
-;; Copyright (C) 1996, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/emacs-lisp/tq.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/tq.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; tq.el --- utility to maintain a transaction queue
 
-;; Copyright (C) 1985, 1986, 1987, 1992, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 1987, 1992, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Scott Draves <spot@cs.cmu.edu>
--- a/lisp/emacs-lisp/trace.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lisp/trace.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; trace.el --- tracing facility for Emacs Lisp functions
 
-;; Copyright (C) 1993, 1998, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1998, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Hans Chalupsky <hans@cs.buffalo.edu>
--- a/lisp/emacs-lock.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emacs-lock.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; emacs-lock.el --- prevents you from exiting Emacs if a buffer is locked
 
-;; Copyright (C) 1994, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1994, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc
 
 ;; Author: Tom Wurgler <twurgler@goodyear.com>
--- a/lisp/emulation/crisp.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/crisp.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; crisp.el --- CRiSP/Brief Emacs emulator
 
-;; Copyright (C) 1997, 1998, 1999, 2002, 2003, 2004,
+;; Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Gary D. Foster <Gary.Foster@Corp.Sun.COM>
--- a/lisp/emulation/cua-base.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/cua-base.el	Mon Jan 01 17:38:32 2007 +0000
@@ -317,11 +317,19 @@
   :group 'cua)
 
 (defcustom cua-toggle-set-mark t
-  "*In non-nil, the `cua-set-mark' command toggles the mark."
+  "*If non-nil, the `cua-set-mark' command toggles the mark."
   :type '(choice (const :tag "Disabled" nil)
 		 (other :tag "Enabled" t))
   :group 'cua)
 
+(defcustom cua-auto-mark-last-change nil
+  "*If non-nil, set implicit mark at position of last buffer change.
+This means that \\[universal-argument] \\[cua-set-mark] will jump to the position
+of the last buffer change before jumping to the explicit marks on the mark ring.
+See `cua-set-mark' for details."
+  :type 'boolean
+  :group 'cua)
+
 (defcustom cua-enable-register-prefix 'not-ctrl-u
   "*If non-nil, registers are supported via numeric prefix arg.
 If the value is t, any numeric prefix arg in the range 0 to 9 will be
@@ -358,6 +366,15 @@
   :type 'boolean
   :group 'cua)
 
+(defcustom cua-paste-pop-rotate-temporarily nil
+  "*If non-nil, \\[cua-paste-pop] only rotates the kill-ring temporarily.
+This means that both \\[yank] and the first \\[yank-pop] in a sequence always insert
+the most recently killed text.  Each immediately following \\[cua-paste-pop] replaces
+the previous text with the next older element on the `kill-ring'.
+With prefix arg, \\[universal-argument] \\[yank-pop] inserts the same text as the most
+recent \\[yank-pop] (or \\[yank]) command."
+  :type 'boolean
+  :group 'cua)
 
 ;;; Rectangle Customization
 
@@ -912,15 +929,53 @@
 	(clipboard-yank))
        (t (yank arg)))))))
 
+
+;; cua-paste-pop-rotate-temporarily == t mechanism:
+;;
+;; C-y M-y M-y => only rotates kill ring temporarily,
+;;                so next C-y yanks what previous C-y yanked,
+;;
+;; M-y M-y M-y => equivalent to C-y M-y M-y
+;;
+;; But: After another command, C-u M-y remembers the temporary
+;;      kill-ring position, so
+;; C-u M-y     => yanks what the last M-y yanked
+;;
+
+(defvar cua-paste-pop-count nil)
+
 (defun cua-paste-pop (arg)
   "Replace a just-pasted text or rectangle with a different text.
-See `yank-pop' for details."
+See `yank-pop' for details about the default behaviour.  For an alternative
+behaviour, see `cua-paste-pop-rotate-temporarily'."
   (interactive "P")
-  (if (eq last-command 'cua--paste-rectangle)
-      (progn
-	(undo)
-	(yank arg))
-    (yank-pop (prefix-numeric-value arg))))
+  (cond
+   ((eq last-command 'cua--paste-rectangle)
+    (undo)
+    (yank arg))
+   ((not cua-paste-pop-rotate-temporarily)
+    (yank-pop (prefix-numeric-value arg)))
+   (t
+    (let ((rotate (if (consp arg) 1 (prefix-numeric-value arg))))
+      (cond
+       ((or (null cua-paste-pop-count)
+	    (eq last-command 'yank)
+	    (eq last-command 'cua-paste))
+	(setq cua-paste-pop-count rotate)
+	(setq last-command 'yank)
+	(yank-pop cua-paste-pop-count))
+       ((and (eq last-command 'cua-paste-pop) (not (consp arg)))
+	(setq cua-paste-pop-count (+ cua-paste-pop-count rotate))
+	(setq last-command 'yank)
+	(yank-pop cua-paste-pop-count))
+       (t
+	(setq cua-paste-pop-count
+	      (if (consp arg) (+ cua-paste-pop-count rotate -1) 1))
+	(yank (1+ cua-paste-pop-count)))))
+    ;; Undo rotating the kill-ring, so next C-y will
+    ;; yank the original head.
+    (setq kill-ring-yank-pointer kill-ring)
+    (setq this-command 'cua-paste-pop))))
 
 (defun cua-exchange-point-and-mark (arg)
   "Exchanges point and mark, but don't activate the mark.
@@ -961,14 +1016,14 @@
 		(if (and s (= (cdr u) s))
 		    (setq s (car u))
 		  (setq s (car u) e (cdr u)))))))
-	  (setq cua--repeat-replace-text
-		(cond ((and s e (<= s e) (= s (mark t)))
-		       (filter-buffer-substring s e nil t))
-		      ((and (null s) (eq u elt)) ;; nothing inserted
-		       "")
-		      (t
-		       (message "Cannot locate replacement text")
-		       nil))))))
+	  (cond ((and s e (<= s e) (= s (mark t)))
+		 (setq cua--repeat-replace-text
+		       (filter-buffer-substring s e nil t)))
+		((and (null s) (eq u elt)) ;; nothing inserted
+		 (setq cua--repeat-replace-text
+		       ""))
+		(t
+		 (message "Cannot locate replacement text"))))))
     (setq cua--last-deleted-region-pos nil))
   (if (and cua--last-deleted-region-text
 	   cua--repeat-replace-text
@@ -985,6 +1040,28 @@
 
 ;;; Shift activated / extended region
 
+(defun cua-pop-to-last-change ()
+  (let ((undo-list buffer-undo-list)
+	pos elt)
+    (while (and (not pos)
+		(consp undo-list))
+      (setq elt (car undo-list)
+	    undo-list (cdr undo-list))
+      (cond
+       ((integerp elt)
+	(setq pos elt))
+       ((not (consp elt)))
+       ((and (integerp (cdr elt))
+	     (or (integerp (car elt)) (stringp (car elt))))
+	(setq pos (cdr elt)))
+       ((and (eq (car elt) 'apply) (consp (cdr elt)) (integerp (cadr elt)))
+	(setq pos (nth 3 elt)))))
+    (when (and pos
+	       (/= pos (point))
+	       (>= pos (point-min)) (<= pos (point-max)))
+      (goto-char pos)
+      t)))
+
 (defun cua-set-mark (&optional arg)
   "Set mark at where point is, clear mark, or jump to mark.
 
@@ -993,12 +1070,15 @@
 global mark ring if last mark was set in another buffer.
 
 With argument, jump to mark, and pop a new position for mark off
-the local mark ring \(this does not affect the global mark ring\).
+the local mark ring (this does not affect the global mark ring).
 Use \\[pop-global-mark] to jump to a mark off the global mark ring
-\(see `pop-global-mark'\).
+\(see `pop-global-mark').
+
+If `cua-auto-mark-last-change' is non-nil, this command behaves as if there
+was an implicit mark at the position of the last buffer change.
 
 Repeating the command without the prefix jumps to the next position
-off the local \(or global\) mark ring.
+off the local (or global) mark ring.
 
 With a double \\[universal-argument] prefix argument, unconditionally set mark."
   (interactive "P")
@@ -1013,7 +1093,9 @@
     (pop-global-mark))
    (arg
     (setq this-command 'pop-to-mark-command)
-    (pop-to-mark-command))
+    (or (and cua-auto-mark-last-change
+	     (cua-pop-to-last-change))
+	(pop-to-mark-command)))
    ((and cua-toggle-set-mark mark-active)
     (cua--deactivate)
     (message "Mark Cleared"))
--- a/lisp/emulation/edt-lk201.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/edt-lk201.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,10 +1,10 @@
 ;;; edt-lk201.el --- enhanced EDT keypad mode emulation for LK-201 keyboards
 
-;; Copyright (C) 1986, 1992, 1993, 1995, 2002, 2003, 2004,
+;; Copyright (C) 1986, 1992, 1993, 1995, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
-;; Author: Kevin Gallagher <kevingal@onramp.net>
-;; Maintainer: Kevin Gallagher <kevingal@onramp.net>
+;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
+;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Keywords: emulations
 
 ;; This file is part of GNU Emacs.
--- a/lisp/emulation/edt-mapper.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/edt-mapper.el	Mon Jan 01 17:38:32 2007 +0000
@@ -3,8 +3,8 @@
 ;; Copyright (C) 1994, 1995, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
-;; Author: Kevin Gallagher <kevingal@onramp.net>
-;; Maintainer: Kevin Gallagher <kevingal@onramp.net>
+;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
+;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Keywords: emulations
 
 ;; This file is part of GNU Emacs.
@@ -129,8 +129,12 @@
 
 (defconst edt-xserver (if (eq edt-window-system 'x)
 			  (if edt-x-emacs-p
-			      (replace-in-string (x-server-vendor) "[ _]" "-")
-			    (subst-char-in-string ?  ?- (x-server-vendor)))
+			      ;; The Cygwin window manager has a `/' in its
+			      ;; name, which breaks the generated file name of
+			      ;; the custom key map file.  Replace `/' with a
+			      ;; `-' to work around that.
+			      (replace-in-string (x-server-vendor) "[ /]" "-")
+			    (subst-char-in-string ?/ ?- (subst-char-in-string ?  ?- (x-server-vendor))))
 			nil)
   "Indicates X server vendor name, if applicable.")
 
--- a/lisp/emulation/edt-pc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/edt-pc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,10 +1,10 @@
 ;;; edt-pc.el --- enhanced EDT keypad mode emulation for PC 101 keyboards
 
-;; Copyright (C) 1986, 1994, 1995, 2002, 2003, 2004,
+;; Copyright (C) 1986, 1994, 1995, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
-;; Author: Kevin Gallagher <kevingal@onramp.net>
-;; Maintainer: Kevin Gallagher <kevingal@onramp.net>
+;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
+;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Keywords: emulations
 
 ;; This file is part of GNU Emacs.
--- a/lisp/emulation/edt-vt100.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/edt-vt100.el	Mon Jan 01 17:38:32 2007 +0000
@@ -3,8 +3,8 @@
 ;; Copyright (C) 1986, 1992, 1993, 1995, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
-;; Author: Kevin Gallagher <kevingal@onramp.net>
-;; Maintainer: Kevin Gallagher <kevingal@onramp.net>
+;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
+;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Keywords: emulations
 
 ;; This file is part of GNU Emacs.
--- a/lisp/emulation/edt.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/edt.el	Mon Jan 01 17:38:32 2007 +0000
@@ -3,8 +3,8 @@
 ;; Copyright (C) 1986, 1992, 1993, 1994, 1995, 2000, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
-;; Author: Kevin Gallagher <kevingal@onramp.net>
-;; Maintainer: Kevin Gallagher <kevingal@onramp.net>
+;; Author: Kevin Gallagher <Kevin.Gallagher@boeing.com>
+;; Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com>
 ;; Keywords: emulations
 
 ;; This file is part of GNU Emacs.
@@ -339,8 +339,12 @@
 
 (defconst edt-xserver (if (eq edt-window-system 'x)
 			  (if edt-x-emacs19-p
-			      (replace-in-string (x-server-vendor) "[ _]" "-")
-			    (subst-char-in-string ?  ?- (x-server-vendor)))
+			      ;; The Cygwin window manager has a `/' in its
+			      ;; name, which breaks the generated file name of
+			      ;; the custom key map file.  Replace `/' with a
+			      ;; `-' to work around that.
+			      (replace-in-string (x-server-vendor) "[ /]" "-")
+			    (subst-char-in-string ?/ ?- (subst-char-in-string ?  ?- (x-server-vendor))))
 			nil)
   "Indicates X server vendor name, if applicable.")
 
--- a/lisp/emulation/pc-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/pc-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; pc-mode.el --- emulate certain key bindings used on PCs
 
-;; Copyright (C) 1995, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/emulation/tpu-edt.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/tpu-edt.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; tpu-edt.el --- Emacs emulating TPU emulating EDT
 
-;; Copyright (C) 1993, 1994, 1995, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
--- a/lisp/emulation/tpu-extras.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/tpu-extras.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; tpu-extras.el --- scroll margins and free cursor mode for TPU-edt
 
-;; Copyright (C) 1993, 1994, 1995, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
--- a/lisp/emulation/tpu-mapper.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/tpu-mapper.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; tpu-mapper.el --- create a TPU-edt X-windows keymap file
 
-;; Copyright (C) 1993, 1994, 1995, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1994, 1995, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
--- a/lisp/emulation/vi.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/vi.el	Mon Jan 01 17:38:32 2007 +0000
@@ -820,7 +820,7 @@
 
 (defun vi-char-argument (arg)
   "Get following character (could be any CHAR) as part of the prefix argument.
-Possible prefix-arg cases are NIL, INTEGER, (NIL . CHAR) or (INTEGER . CHAR)."
+Possible prefix-arg cases are nil, INTEGER, (nil . CHAR) or (INTEGER . CHAR)."
   (interactive "P")
   (let ((char (read-char)))
     (cond ((null arg) (setq prefix-arg (cons nil char)))
--- a/lisp/emulation/vip.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/vip.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; vip.el --- a VI Package for GNU Emacs
 
-;; Copyright (C) 1986, 1987, 1988, 1992, 1993, 1998, 2002, 2003, 2004,
-;;   2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1987, 1988, 1992, 1993, 1998, 2001, 2002, 2003,
+;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Masahiko Sato <ms@sail.stanford.edu>
 ;; Keywords: emulations
--- a/lisp/emulation/viper-cmd.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/viper-cmd.el	Mon Jan 01 17:38:32 2007 +0000
@@ -171,7 +171,9 @@
   (run-hook-with-args 'viper-before-change-functions beg end))
 
 (defsubst viper-post-command-sentinel ()
-  (run-hooks 'viper-post-command-hooks)
+  (condition-case conds
+      (run-hooks 'viper-post-command-hooks)
+    (error (viper-message-conditions conds)))
   (if (eq viper-current-state 'vi-state)
       (viper-restore-cursor-color 'after-insert-mode)))
 
@@ -926,8 +928,7 @@
 
     (condition-case nil
 	(let (viper-vi-kbd-minor-mode) ; execute without kbd macros
-	  (setq result (eval form))
-	  )
+	  (setq result (eval form)))
       (error
        (signal 'quit nil)))
 
@@ -1971,9 +1972,16 @@
 	(if (and (eobp)
 		 (not (bolp))
 		 require-final-newline
+		 ;; add newline only if we actually edited buffer. otherwise it
+		 ;; might unintentionally modify binary buffers
+		 (buffer-modified-p) 
 		 (not (viper-is-in-minibuffer))
 		 (not buffer-read-only))
-	    (insert "\n")))
+	    ;; text property may be read-only
+	    (condition-case nil
+		(insert "\n")
+	      (error nil))
+	  ))
       ))
 
 (defun viper-yank-defun ()
--- a/lisp/emulation/ws-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/emulation/ws-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ws-mode.el --- WordStar emulation mode for GNU Emacs
 
-;; Copyright (C) 1991, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1991, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Juergen Nickelsen <nickel@cs.tu-berlin.de>
--- a/lisp/erc/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/erc/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,23 @@
+2006-12-13  Leo  <sdl.web@gmail.com>  (tiny change)
+
+	* erc.el (erc-iswitchb): Temporarily enable iswitchb mode if it
+	isn't active already, instead of leaving it on.
+
+2006-12-10  Juanma Barranquero  <lekktu@gmail.com>
+
+	* erc-ezbounce.el (erc-ezb-init-session-list): Doc fix.
+
+2006-12-08  Michael Olson  <mwolson@gnu.org>
+
+	* erc.el: Re-evaluate contributions from a contributor, and found
+	them under 15 lines of non-obvious code, so it is safe to remove
+	the copyright notice.
+	(erc-modules): Remove list module.
+
+	* erc-list.el: Remove, since a contributor who has not completed
+	their assignment has contributed significantly more than 15 lines
+	of code to this file.
+
 2006-11-28  Juanma Barranquero  <lekktu@gmail.com>
 
 	* erc.el (erc-cmd-BANLIST, erc-cmd-MASSUNBAN): Simplify.
@@ -18,6 +38,11 @@
 	(erc-update-current-channel-member, erc-load-script):
 	(erc-mode-line-away-status-format): Doc fixes.
 
+2006-11-20  Andrea Russo  <rastandy@inventati.org>
+
+	* erc-dcc.el (erc-dcc-chat-setup): Initialize `erc-input-marker'
+	before calling `erc-display-prompt'.
+
 2006-11-24  Juanma Barranquero  <lekktu@gmail.com>
 
 	* erc.el (erc-after-connect, erc-open-ssl-stream)
@@ -86,6 +111,11 @@
 	`erc-show-my-nick' is non-nil.
 	(erc-compute-server): Doc fix.
 
+2006-10-01  John J Foerch  <jjfoerch@earthlink.net>
+
+	* erc-stamp.el (erc-insert-timestamp-right): Exclude the newline
+	from the erc-timestamp field.
+
 2006-09-11  Michael Olson  <mwolson@gnu.org>
 
 	* erc-nicklist.el (erc-nicklist-insert-contents): Add missing
--- a/lisp/erc/ChangeLog.01	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/erc/ChangeLog.01	Mon Jan 01 17:38:32 2007 +0000
@@ -1035,7 +1035,7 @@
 
 	* erc-speak.el 1.1, erc.el 1.1: New file.
 
-    Copyright (C) 2001 Free Software Foundation, Inc.
+    Copyright (C) 2001, 2006 Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/erc/ChangeLog.02	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/erc/ChangeLog.02	Mon Jan 01 17:38:32 2007 +0000
@@ -2596,7 +2596,7 @@
 
 See ChangeLog.01 for earlier changes.
 
-    Copyright (C) 2002 Free Software Foundation, Inc.
+    Copyright (C) 2002, 2006 Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/erc/ChangeLog.03	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/erc/ChangeLog.03	Mon Jan 01 17:38:32 2007 +0000
@@ -2140,7 +2140,7 @@
 
 See ChangeLog.02 for earlier changes.
 
-    Copyright (C) 2003 Free Software Foundation, Inc.
+    Copyright (C) 2003, 2006 Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/erc/ChangeLog.04	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/erc/ChangeLog.04	Mon Jan 01 17:38:32 2007 +0000
@@ -2069,7 +2069,7 @@
 
 See ChangeLog.03 for earlier changes.
 
-    Copyright (C) 2004 Free Software Foundation, Inc.
+    Copyright (C) 2004, 2006 Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/erc/ChangeLog.05	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/erc/ChangeLog.05	Mon Jan 01 17:38:32 2007 +0000
@@ -1217,7 +1217,7 @@
 
 See ChangeLog.04 for earlier changes.
 
-    Copyright (C) 2005 Free Software Foundation, Inc.
+    Copyright (C) 2005, 2006 Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/erc/erc-dcc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/erc/erc-dcc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1035,6 +1035,7 @@
     (setq erc-dcc-entry-data entry)
     (setq erc-dcc-unprocessed-output "")
     (setq erc-insert-marker (set-marker (make-marker) (point-max)))
+    (setq erc-input-marker (make-marker))
     (erc-display-prompt buffer (point-max))
     (set-process-buffer proc buffer)
     (add-hook 'kill-buffer-hook 'erc-dcc-chat-buffer-killed nil t)
--- a/lisp/erc/erc-ezbounce.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/erc/erc-ezbounce.el	Mon Jan 01 17:38:32 2007 +0000
@@ -126,7 +126,7 @@
 
 ;;;###autoload
 (defun erc-ezb-init-session-list (message)
-  "Reset the EZBounce session list to NIL."
+  "Reset the EZBounce session list to nil."
   (setq erc-ezb-session-list nil)
   (setq erc-ezb-inside-session-listing t))
 
@@ -134,7 +134,7 @@
 (defun erc-ezb-end-of-session-list (message)
   "Indicate the end of the EZBounce session listing."
   (setq erc-ezb-inside-session-listing nil))
-  
+
 ;;;###autoload
 (defun erc-ezb-add-session (message)
   "Add an EZBounce session to the session list."
@@ -157,7 +157,7 @@
 	     (read-from-minibuffer "IRC port: "
 				   (erc-port-to-string "6667")))))
       (erc-server-send (format "CONN %s %s" server port)))))
-    
+
 
 ;;;###autoload
 (defun erc-ezb-select-session ()
@@ -173,7 +173,7 @@
 (defun erc-ezb-initialize ()
   "Add EZBouncer convenience functions to ERC."
   (add-hook 'erc-server-NOTICE-functions 'erc-ezb-notice-autodetect))
-	
+
 (provide 'erc-ezbounce)
 
 ;; arch-tag: e972aa7b-a9f4-4d16-a489-074ec7a1002e
--- a/lisp/erc/erc-list.el	Sun Dec 03 15:12:18 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +0,0 @@
-;;; erc-list.el --- Provide a faster channel listing mechanism
-
-;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-;; Copyright (C) 2004 Brian Palmer
-
-;; Author: Mario Lang <mlang@lexx.delysid.org>
-;; Keywords: comm
-
-;; 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 2, 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.
-
-;;; Commentary:
-
-;; This file provides a simple derived mode for viewing Channel lists.
-;; It also serves as a demonstration of how the new server hook facility
-;; can be used.
-
-;;; Code:
-
-(require 'erc)
-(require 'erc-networks)
-(require 'sort)
-(unless (fboundp 'make-overlay)
-  (require 'overlay))
-(eval-when-compile (require 'cl))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; User customizable variables.
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-(defgroup erc-list nil
-  "Display IRC channels in another window when using /LIST"
-  :group 'erc)
-
-(defcustom erc-chanlist-progress-message t
-  "*Show progress message while accumulating channel list."
-  :group 'erc-list
-  :type 'boolean)
-
-(defcustom erc-no-list-networks nil
-  "*A list of network names on which the /LIST command refuses to work."
-  :group 'erc-list
-  :type '(repeat string))
-
-(defcustom erc-chanlist-frame-parameters nil
-  "*If nil, the channel list is displayed in a new window; if non-nil,
-this variable holds the frame parameters used to make a frame to
-display the channel list."
-  :group 'erc-list
-  :type 'list)
-
-(defcustom erc-chanlist-hide-modeline nil
-  "*If nil, the channel list buffer has a modeline, otherwise the modeline is hidden."
-  :group 'erc-list
-  :type 'boolean)
-
-(defface erc-chanlist-header-face '((t (:bold t)))
-  "Face used for the headers in erc's channel list."
-  :group 'erc-faces)
-
-(defface erc-chanlist-odd-line-face '((t (:inverse-video t)))
-  "Face used for the odd lines in erc's channel list."
-  :group 'erc-faces)
-
-(defface erc-chanlist-even-line-face '((t (:inverse-video nil)))
-  "Face used for the even lines in erc's channel list."
-  :group 'erc-faces)
-
-(defface erc-chanlist-highlight '((t (:foreground "red")))
-  "Face used to highlight the current line in the channel list."
-  :group 'erc-faces)
-
-;; This should perhaps be a defface that inherits values from the highlight face
-;; but xemacs does not support inheritance
-(defcustom erc-chanlist-highlight-face 'erc-chanlist-highlight
-  "Face used for highlighting the current line in a list."
-  :type 'face
-  :group 'erc-faces)
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; All variables below this line are for internal use only.
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-(defvar erc-chanlist-channel-line-regexp "^\\([#&\\*][^ \t\n]*\\)\\s-+[0-9]+"
-  "Regexp that matches a channel line in the channel list buffer.")
-
-(defvar erc-chanlist-buffer nil)
-(make-variable-buffer-local 'erc-chanlist-buffer)
-
-(defvar erc-chanlist-last-time 0
-  "A time value used to throttle the progress indicator.")
-
-(defvar erc-chanlist-frame nil
-  "The frame displaying the most recent channel list buffer.")
-
-(defvar erc-chanlist-sort-state 'channel
-  "The sort mode of the channel list buffer.  Either 'channel or 'users.")
-(make-variable-buffer-local 'erc-chanlist-sort-state)
-
-(defvar erc-chanlist-highlight-overlay nil
-  "The overlay used for erc chanlist highlighting")
-(make-variable-buffer-local 'erc-chanlist-highlight-overlay)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Define erc-chanlist-mode.
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-(defcustom erc-chanlist-mode-hook nil
-  "Hook run by erc-chanlist-mode."
-  :group 'erc-list
-  :type 'hook)
-
-(define-derived-mode erc-chanlist-mode fundamental-mode "ERC Channel List"
-  "Mode for viewing a channel list of a particular server.
-
-\\{erc-chanlist-mode-map}"
-  (local-set-key "\C-c\C-j" 'erc-join-channel)
-  (local-set-key "j" 'erc-chanlist-join-channel)
-  (local-set-key "n" 'next-line)
-  (local-set-key "p" 'previous-line)
-  (local-set-key "q" 'erc-chanlist-quit)
-  (local-set-key "s" 'erc-chanlist-toggle-sort-state)
-  (local-set-key "t" 'toggle-truncate-lines)
-  (setq erc-chanlist-sort-state 'channel)
-  (setq truncate-lines t)
-  (add-hook 'post-command-hook 'erc-chanlist-post-command-hook 'append 'local))
-
-;; Define module:
-;;;###autoload (autoload 'erc-list-mode "erc-list")
-(define-erc-module list nil
-  "List channels nicely in a separate buffer."
-  ((defalias 'erc-cmd-LIST 'erc-list-channels))
-  ((defalias 'erc-cmd-LIST 'erc-list-channels-simple)))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Functions.
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;;;###autoload
-(defun erc-list-channels (&rest channel)
-  "Display a buffer containing a list of channels on the current server.
-Optional argument CHANNEL specifies a single channel to list (instead of every
-available channel)."
-  (interactive
-   (remove "" (split-string
-	       (read-from-minibuffer "List channels (RET for all): ") " ")))
-  (if (and (null channel)
-	   (erc-member-ignore-case (erc-network-name) erc-no-list-networks))
-      (erc-display-line "ERC is configured not to allow the /LIST command on this network!"
-			(current-buffer))
-    (erc-display-line (erc-make-notice (concat "Listing channel"
-					       (if channel
-						   "."
-						 "s.  This may take a while."))))
-    (erc-chanlist channel))
-  t)
-
-(defun erc-list-channels-simple (&optional line)
-  "Send the LIST command to the current server with optional channels LINE."
-  (when (string-match "^\\s-*\\(.*\\)$" line)
-    (let ((channels (match-string 1 line)))
-      (erc-log (format "cmd: LIST: %s" channels))
-      (erc-server-send
-       (if (string= channels "")
-	   "LIST"
-	 (concat "LIST :" channels))))
-    t))
-(put 'erc-list-channels-simple 'do-not-parse-args t)
-
-;;;###autoload
-(defun erc-chanlist (&optional channels)
-  "Show a channel listing of the current server in a special mode.
-Please note that this function only works with IRC servers which conform
-to RFC and send the LIST header (#321) at start of list transmission."
-  (interactive)
-  (with-current-buffer (erc-server-buffer)
-    (erc-once-with-server-event
-     321
-     '(progn
-	(add-hook 'erc-server-322-functions 'erc-chanlist-322 nil t)
-
-	(erc-once-with-server-event
-	 323
-	 '(progn
-	    (remove-hook 'erc-server-322-functions 'erc-chanlist-322 t)
-	    (let ((buf erc-chanlist-buffer))
-	      (if (not (buffer-live-p buf))
-		  (error "`erc-chanlist-buffer' does not refer to a live buffer"))
-
-	      (set-buffer buf)
-	      (buffer-disable-undo)
-	      (let (buffer-read-only
-		    (sort-fold-case t))
-		(sort-lines nil (point-min) (point-max))
-		(setq erc-chanlist-sort-state 'channel)
-
-		(let ((sum (count-lines (point-min) (point-max))))
-		  (goto-char (point-min))
-		  (insert (substitute-command-keys
-			   (concat "'\\[erc-chanlist-toggle-sort-state]' toggle sort mode.\n"
-				   "'\\[erc-chanlist-quit]' kill this buffer.\n"
-				   "'\\[toggle-truncate-lines]' toggle line truncation.\n"
-				   "'\\[erc-chanlist-join-channel]' join the channel listed on the current line.\n\n")))
-		  (insert (format "%d channels (sorted by %s).\n\n"
-				  sum (if (eq erc-chanlist-sort-state 'channel)
-					  "channel name"
-					"number of users"))))
-
-		(insert (format "%-25s%5s %s\n------------------------ ----- ----------------------------\n"
-				"Channel"
-				"Users"
-				"Topic"))
-
-		;; Display the channel list buffer.
-		(if erc-chanlist-frame-parameters
-		    (progn
-		      (if (or (null erc-chanlist-frame)
-			      (not (frame-live-p erc-chanlist-frame)))
-			  (setq erc-chanlist-frame
-				(make-frame `((name . ,(format "Channels on %s"
-							       erc-session-server))
-					      ,@erc-chanlist-frame-parameters))))
-		      (select-frame erc-chanlist-frame)
-		      (switch-to-buffer buf)
-		      (erc-prettify-channel-list))
-		  (pop-to-buffer buf)
-		  (erc-prettify-channel-list))))
-	    (goto-char (point-min))
-	    (search-forward-regexp "^------" nil t)
-	    (forward-line 1)
-	    (erc-chanlist-highlight-line)
-	    (message "")
-	    t))
-
-	(setq erc-chanlist-buffer (get-buffer-create
-				   (format "*Channels on %s*"
-					   (erc-response.sender parsed))))
-	(with-current-buffer erc-chanlist-buffer
-	  (setq buffer-read-only nil)
-	  (erase-buffer)
-	  (erc-chanlist-mode)
-	  (setq erc-server-process proc)
-	  (if erc-chanlist-hide-modeline
-	      (setq mode-line-format nil))
-	  (setq buffer-read-only t))
-	t))
-
-    ;; Now that we've setup our callbacks, pull the trigger.
-    (if (interactive-p)
-	(message "Collecting channel list for server %s" erc-session-server))
-    (erc-server-send (if (null channels)
-			  "LIST"
-			(concat "LIST "
-				(mapconcat #'identity channels ","))))))
-
-(defun erc-chanlist-322 (proc parsed)
-  "Process an IRC 322 message.
-
-The message carries information about one channel for the LIST
-command."
-  (multiple-value-bind (channel num-users)
-      (cdr (erc-response.command-args parsed))
-    (let ((topic (erc-response.contents parsed)))
-      (with-current-buffer erc-chanlist-buffer
-	(save-excursion
-	  (goto-char (point-max))
-	  (let (buffer-read-only)
-	    (insert (format "%-26s%4s %s\n" (erc-controls-strip channel)
-			    num-users
-			    (erc-controls-strip topic))))
-
-	  ;; Maybe display a progress indicator in the minibuffer.
-	  (when (and erc-chanlist-progress-message
-		     (> (erc-time-diff
-			 erc-chanlist-last-time (erc-current-time))
-			3))
-	    (setq erc-chanlist-last-time (erc-current-time))
-	    (message "Accumulating channel list ... %c"
-		     (aref [?/ ?| ?\\ ?- ?! ?O ?o] (random 7))))
-
-	  ;; Return success to prevent other hook functions from being run.
-	  t)))))
-
-(defun erc-chanlist-post-command-hook ()
-  "Keep the current line highlighted."
-  (ignore-errors
-    (save-excursion
-      (beginning-of-line)
-      (if (looking-at erc-chanlist-channel-line-regexp)
-	  (erc-chanlist-highlight-line)
-	(erc-chanlist-dehighlight-line)))))
-
-(defun erc-chanlist-highlight-line ()
-  "Highlight the current line."
-  (unless erc-chanlist-highlight-overlay
-    (setq erc-chanlist-highlight-overlay
-	  (make-overlay (point-min) (point-min)))
-    ;; Detach it from the buffer.
-    (delete-overlay erc-chanlist-highlight-overlay)
-    (overlay-put erc-chanlist-highlight-overlay
-		 'face erc-chanlist-highlight-face)
-    ;; Expressly put it at a higher priority than the text
-    ;; properties used for faces later on. Gnu emacs promises that
-    ;; right now overlays are higher priority than text properties,
-    ;; but why take chances?
-    (overlay-put erc-chanlist-highlight-overlay 'priority 1))
-  (move-overlay erc-chanlist-highlight-overlay (point) (1+ (point-at-eol))))
-
-(defun erc-chanlist-dehighlight-line ()
-  "Remove the line highlighting."
-  (delete-overlay erc-chanlist-highlight-overlay))
-
-(defun erc-prettify-channel-list ()
-  "Make the channel list buffer look pretty.
-When this function runs, the current buffer must be the channel
-list buffer, or it does nothing."
-  (if (eq major-mode 'erc-chanlist-mode)
-      (save-excursion
-	(let ((inhibit-read-only t))
-	  (goto-char (point-min))
-	  (when (search-forward-regexp "^-------" nil t)
-	    (add-text-properties
-	     (point-min) (1+ (point-at-eol)) '(face erc-chanlist-header-face))
-	    (forward-line 1))
-
-	  (while (not (eobp))
-	    (add-text-properties
-	     (point) (1+ (point-at-eol)) '(face erc-chanlist-odd-line-face))
-	    (forward-line 1)
-	    (unless (eobp)
-	      (add-text-properties
-	       (point) (1+ (point-at-eol)) '(face erc-chanlist-even-line-face)))
-	    (forward-line 1))))))
-
-(defun erc-chanlist-toggle-sort-state ()
-  "Toggle the channel list buffer sorting method.
-Either sort by channel names or by number of users in each channel."
-  (interactive)
-  (let ((inhibit-read-only t)
-	(sort-fold-case t))
-    (save-excursion
-      (goto-char (point-min))
-      (search-forward-regexp "^-----" nil t)
-      (forward-line 1)
-      (unless (eobp)
-	(if (eq erc-chanlist-sort-state 'channel)
-	    (progn
-	      (sort-numeric-fields 2 (point) (point-max))
-	      (reverse-region (point) (point-max))
-	      (setq erc-chanlist-sort-state 'users))
-	  (sort-lines nil (point) (point-max))
-	  (setq erc-chanlist-sort-state 'channel))
-
-	(goto-char (point-min))
-	(if (search-forward-regexp "^[0-9]+ channels (sorted by \\(.*\\)).$"
-				   nil t)
-	    (replace-match (if (eq erc-chanlist-sort-state 'channel)
-			       "channel name"
-			     "number of users")
-			   nil nil nil 1))
-
-	(goto-char (point-min))
-	(search-forward-regexp "^-----" nil t)
-	(forward-line 1)
-	(recenter -1)
-
-	(erc-prettify-channel-list)))))
-
-(defun erc-chanlist-quit ()
-  "Quit Chanlist mode.
-Kill the channel list buffer, window, and frame (if there's a frame
-devoted to the channel list)."
-  (interactive)
-  (kill-buffer (current-buffer))
-  (if (eq (selected-frame) erc-chanlist-frame)
-      (delete-frame)
-    (delete-window)))
-
-(defun erc-chanlist-join-channel ()
-  "Join the channel listed on the current line of the channel list buffer.
-Private channels, which are shown as asterisks (*), are ignored."
-  (interactive)
-  (save-excursion
-    (beginning-of-line)
-    (when (looking-at erc-chanlist-channel-line-regexp)
-      (let ((channel-name (match-string 1)))
-	(when (and (stringp channel-name)
-		   (not (string= channel-name "*")))
-	  (run-at-time 0.5 nil 'erc-join-channel channel-name))))))
-
-(provide 'erc-list)
-
-;;; erc-list.el ends here
-;;
-;; Local Variables:
-;; indent-tabs-mode: t
-;; tab-width: 8
-;; End:
-
-;; arch-tag: 4a13196a-a61b-465a-9926-044dfbc7e5ff
--- a/lisp/erc/erc-stamp.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/erc/erc-stamp.el	Mon Jan 01 17:38:32 2007 +0000
@@ -266,8 +266,8 @@
 	(indent-to pos)
 	(setq from (point))
 	(insert string))
-      (erc-put-text-property from (1+ (point)) 'field 'erc-timestamp)
-      (erc-put-text-property from (1+ (point)) 'rear-nonsticky t)
+      (erc-put-text-property from (point) 'field 'erc-timestamp)
+      (erc-put-text-property from (point) 'rear-nonsticky t)
       (when erc-timestamp-intangible
 	(erc-put-text-property from (1+ (point)) 'intangible t)))))
 
--- a/lisp/erc/erc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/erc/erc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -2,7 +2,6 @@
 
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
-;; Copyright (C) 2004 Brian Palmer
 
 ;; Author: Alexander L. Belikoff (alexander@belikoff.net)
 ;; Contributors: Sergey Berezin (sergey.berezin@cs.cmu.edu),
@@ -1669,22 +1668,25 @@
 Due to some yet unresolved reason, global function `iswitchb-mode'
 needs to be active for this function to work."
   (interactive "P")
-  (eval-and-compile
+  (eval-when-compile
     (require 'iswitchb))
-  (let ((iswitchb-make-buflist-hook
-	 (lambda ()
-	   (setq iswitchb-temp-buflist
-		 (mapcar 'buffer-name
-			 (erc-buffer-list
-			  nil
-			  (when arg erc-server-process)))))))
-    (switch-to-buffer
-     (iswitchb-read-buffer
-      "Switch-to: "
-      (if (boundp 'erc-modified-channels-alist)
-	  (buffer-name (caar (last erc-modified-channels-alist)))
-	nil)
-      t))))
+  (let ((enabled iswitchb-mode))
+    (or enabled (iswitchb-mode 1))
+    (let ((iswitchb-make-buflist-hook
+	   (lambda ()
+	     (setq iswitchb-temp-buflist
+		   (mapcar 'buffer-name
+			   (erc-buffer-list
+			    nil
+			    (when arg erc-server-process)))))))
+      (switch-to-buffer
+       (iswitchb-read-buffer
+	"Switch-to: "
+	(if (boundp 'erc-modified-channels-alist)
+	    (buffer-name (caar (last erc-modified-channels-alist)))
+	  nil)
+	t)))
+    (or enabled (iswitchb-mode -1))))
 
 (defun erc-channel-list (proc)
   "Return a list of channel buffers.
@@ -1761,7 +1763,7 @@
 
 (defcustom erc-modules '(netsplit fill button match track completion readonly
 				  ring autojoin noncommands irccontrols
-				  stamp list)
+				  stamp)
   "A list of modules which ERC should enable.
 If you set the value of this without using `customize' remember to call
 \(erc-update-modules) after you change it.  When using `customize', modules
@@ -1792,7 +1794,6 @@
     (const :tag "Launch an identd server on port 8113" identd)
     (const :tag "Highlight or remove IRC control characters"
 	   irccontrols)
-    (const :tag "List channels in a separate buffer" list)
     (const :tag "Save buffers in logs" log)
     (const :tag "Highlight pals, fools, and other keywords" match)
     (const :tag "Detect netsplits" netsplit)
--- a/lisp/eshell/em-alias.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-alias.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-alias.el --- creation and management of command aliases
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-banner.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-banner.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-banner.el --- sample module that displays a login banner
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-basic.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-basic.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-basic.el --- basic shell builtin commands
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-cmpl.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-cmpl.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-cmpl.el --- completion using the TAB key
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-dirs.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-dirs.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-dirs.el --- directory navigation commands
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-glob.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-glob.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-glob.el --- extended file name globbing
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-hist.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-hist.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-hist.el --- history list management
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-ls.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-ls.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-ls.el --- implementation of ls in Lisp
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-pred.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-pred.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-pred.el --- argument predicates and modifiers (ala zsh)
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-prompt.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-prompt.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-prompt.el --- command prompts
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-rebind.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-rebind.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-rebind.el --- rebind keys when point is at current input
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-script.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-script.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-script.el --- Eshell script files
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-smart.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-smart.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-smart.el --- smart display of output
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-term.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-term.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-term.el --- running visual commands
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/em-xtra.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/em-xtra.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; em-xtra.el --- extra alias functions
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/esh-arg.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/esh-arg.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; esh-arg.el --- argument processing
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/esh-cmd.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/esh-cmd.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; esh-cmd.el --- command invocation
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/esh-ext.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/esh-ext.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; esh-ext.el --- commands external to Eshell
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/esh-io.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/esh-io.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; esh-io.el --- I/O management
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/esh-maint.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/esh-maint.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; esh-maint.el --- init code for building eshell -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/esh-opt.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/esh-opt.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; esh-opt.el --- command options processing
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/esh-proc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/esh-proc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; esh-proc.el --- process management
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/esh-test.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/esh-test.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; esh-test.el --- Eshell test suite
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/esh-var.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/esh-var.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; esh-var.el --- handling of variables
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/eshell/eshell.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/eshell/eshell.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; eshell.el --- the Emacs command shell
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/expand.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/expand.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; expand.el --- make abbreviations more usable
 
-;; Copyright (C) 1995, 1996, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1996, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Frederic Lepied <Frederic.Lepied@sugix.frmug.org>
--- a/lisp/facemenu.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/facemenu.el	Mon Jan 01 17:38:32 2007 +0000
@@ -132,6 +132,15 @@
   :type 'boolean
   :group 'facemenu)
 
+(defvar facemenu-unlisted-faces
+  `(modeline region secondary-selection highlight scratch-face
+    ,(purecopy "^font-lock-") ,(purecopy "^gnus-") ,(purecopy "^message-")
+    ,(purecopy "^ediff-") ,(purecopy "^term-") ,(purecopy "^vc-")
+    ,(purecopy "^widget-") ,(purecopy "^custom-") ,(purecopy "^vm-"))
+  "*List of faces that are of no interest to the user.")
+(make-obsolete-variable 'facemenu-unlisted-faces 'facemenu-listed-faces
+			"since 22.1,\nand has no effect on the Face menu")
+
 (defcustom facemenu-listed-faces nil
   "*List of faces to include in the Face menu.
 Each element should be a symbol, the name of a face.
--- a/lisp/ffap.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ffap.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ffap.el --- find file (or url) at point
 
-;; Copyright (C) 1995, 1996, 1997, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Michelangelo Grigni <mic@mathcs.emory.edu>
--- a/lisp/filecache.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/filecache.el	Mon Jan 01 17:38:32 2007 +0000
@@ -4,7 +4,7 @@
 ;; Created: Sun Nov 10 1996
 ;; Keywords: convenience
 ;;
-;; Copyright (C) 1996, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1996, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
--- a/lisp/files.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/files.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1695,6 +1695,16 @@
   (if (file-directory-p filename)
       (signal 'file-error (list "Opening input file" "file is a directory"
                                 filename)))
+  ;; Check whether the file is uncommonly large (see find-file-noselect):
+  (let (size)
+    (when (and large-file-warning-threshold
+	       (setq size (nth 7 (file-attributes filename)))
+	       (> size large-file-warning-threshold)
+	       (not (y-or-n-p
+		     (format "File %s is large (%dMB), really insert? "
+			     (file-name-nondirectory filename)
+			     (/ size 1048576)))))
+      (error "Aborted")))
   (let* ((buffer (find-buffer-visiting (abbreviate-file-name (file-truename filename))
                                        #'buffer-modified-p))
          (tem (funcall insert-func filename)))
@@ -1866,6 +1876,16 @@
   (if (fboundp 'ucs-set-table-for-input) ; don't lose when building
       (ucs-set-table-for-input)))
 
+(defcustom auto-mode-case-fold nil
+  "Non-nil means to try second pass through `auto-mode-alist'.
+This means that if the first case-sensitive search through the alist fails
+to find a matching major mode, a second case-insensitive search is made.
+On systems with case-insensitive file names, this variable is ignored,
+since only a single case-insensitive search through the alist is made."
+  :group 'files
+  :version "22.1"
+  :type 'boolean)
+
 (defvar auto-mode-alist
   ;; Note: The entries for the modes defined in cc-mode.el (c-mode,
   ;; c++-mode, java-mode and more) are added through autoload
@@ -2105,7 +2125,8 @@
 associated with that interpreter in `interpreter-mode-alist'.")
 
 (defvar magic-mode-alist
-  `(;; The < comes before the groups (but the first) to reduce backtracking.
+  `((image-type-auto-detected-p . image-mode)
+    ;; The < comes before the groups (but the first) to reduce backtracking.
     ;; TODO: UTF-16 <?xml may be preceded by a BOM 0xff 0xfe or 0xfe 0xff.
     ;; We use [ \t\n] instead of `\\s ' to make regex overflow less likely.
     (,(let* ((incomment-re "\\(?:[^-]\\|-[^-]\\)")
@@ -2124,13 +2145,15 @@
     ("%![^V]" . ps-mode)
     ("# xmcd " . conf-unix-mode))
   "Alist of buffer beginnings vs. corresponding major mode functions.
-Each element looks like (REGEXP . FUNCTION).  After visiting a file,
-if REGEXP matches the text at the beginning of the buffer,
-`normal-mode' will call FUNCTION rather than allowing `auto-mode-alist'
-to decide the buffer's major mode.
+Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION).
+After visiting a file, if REGEXP matches the text at the beginning of the
+buffer, or calling MATCH-FUNCTION returns non-nil, `normal-mode' will
+call FUNCTION rather than allowing `auto-mode-alist' to decide the buffer's
+major mode.
 
 If FUNCTION is nil, then it is not called.  (That is a way of saying
 \"allow `auto-mode-alist' to decide for these files.\")")
+(put 'magic-mode-alist 'risky-local-variable t)
 
 (defvar magic-mode-regexp-match-limit 4000
   "Upper limit on `magic-mode-alist' regexp matches.")
@@ -2214,7 +2237,9 @@
 						(+ (point-min) magic-mode-regexp-match-limit)))
 			 (assoc-default nil magic-mode-alist
 					(lambda (re dummy)
-					  (looking-at re))))))
+					  (if (functionp re)
+					      (funcall re)
+					    (looking-at re)))))))
 	  (set-auto-mode-0 done keep-mode-if-same)
 	;; Compare the filename against the entries in auto-mode-alist.
 	(if buffer-file-name
@@ -2223,15 +2248,29 @@
 	      (setq name (file-name-sans-versions name))
 	      (while name
 		;; Find first matching alist entry.
-		(let ((case-fold-search
-		       (memq system-type '(vax-vms windows-nt cygwin))))
-		  (if (and (setq mode (assoc-default name auto-mode-alist
-						     'string-match))
-			   (consp mode)
-			   (cadr mode))
-		      (setq mode (car mode)
-			    name (substring name 0 (match-beginning 0)))
-		    (setq name)))
+		(setq mode
+		      (if (memq system-type '(vax-vms windows-nt cygwin))
+			  ;; System is case-insensitive.
+			  (let ((case-fold-search t))
+			    (assoc-default name auto-mode-alist
+					   'string-match))
+			;; System is case-sensitive.
+			(or
+			 ;; First match case-sensitively.
+			 (let ((case-fold-search nil))
+			   (assoc-default name auto-mode-alist
+					  'string-match))
+			 ;; Fallback to case-insensitive match.
+			 (and auto-mode-case-fold
+			      (let ((case-fold-search t))
+				(assoc-default name auto-mode-alist
+					       'string-match))))))
+		(if (and mode
+			 (consp mode)
+			 (cadr mode))
+		    (setq mode (car mode)
+			  name (substring name 0 (match-beginning 0)))
+		  (setq name))
 		(when mode
 		  (set-auto-mode-0 mode keep-mode-if-same)))))))))
 
@@ -2917,7 +2956,7 @@
   (interactive
    (list (if buffer-file-name
 	     (read-file-name "Write file: "
-				 nil nil nil nil)
+			     nil nil nil nil)
 	   (read-file-name "Write file: " default-directory
 			   (expand-file-name
 			    (file-name-nondirectory (buffer-name))
@@ -3017,7 +3056,7 @@
 				       (convert-standard-filename
 					"~/%backup%~")))
 		     (message "Cannot write backup file; backing up in %s"
-			      (file-name-nondirectory backupname))
+			      backupname)
 		     (sleep-for 1)
 		     (backup-buffer-copy real-file-name backupname modes)))
 		  (setq buffer-backed-up t)
@@ -3213,16 +3252,24 @@
 (defun make-backup-file-name-1 (file)
   "Subroutine of `make-backup-file-name' and `find-backup-file-name'."
   (let ((alist backup-directory-alist)
-	elt backup-directory)
+	elt backup-directory abs-backup-directory)
     (while alist
       (setq elt (pop alist))
       (if (string-match (car elt) file)
 	  (setq backup-directory (cdr elt)
 		alist nil)))
-    (if (and backup-directory (not (file-exists-p backup-directory)))
+    ;; If backup-directory is relative, it should be relative to the
+    ;; file's directory.  By expanding explicitly here, we avoid
+    ;; depending on default-directory.
+    (if backup-directory
+	(setq abs-backup-directory
+	      (expand-file-name backup-directory
+				(file-name-directory file))))
+    (if (and abs-backup-directory (not (file-exists-p abs-backup-directory)))
 	(condition-case nil
-	    (make-directory backup-directory 'parents)
-	  (file-error (setq backup-directory nil))))
+	    (make-directory abs-backup-directory 'parents)
+	  (file-error (setq backup-directory nil
+			    abs-backup-directory nil))))
     (if (null backup-directory)
 	file
       (if (file-name-absolute-p backup-directory)
@@ -3253,9 +3300,7 @@
 	      (replace-regexp-in-string "!" "!!" file))
 	     backup-directory))
 	(expand-file-name (file-name-nondirectory file)
-			  (file-name-as-directory
-			   (expand-file-name backup-directory
-					     (file-name-directory file))))))))
+			  (file-name-as-directory abs-backup-directory))))))
 
 (defun backup-file-name-p (file)
   "Return non-nil if FILE is a backup file name (numeric or not).
--- a/lisp/find-dired.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/find-dired.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; find-dired.el --- run a `find' command and dired the output
 
-;; Copyright (C) 1992, 1994, 1995, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1992, 1994, 1995, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Roland McGrath <roland@gnu.org>,
--- a/lisp/find-file.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/find-file.el	Mon Jan 01 17:38:32 2007 +0000
@@ -4,7 +4,7 @@
 ;; Maintainer: FSF
 ;; Keywords: c, matching, tools
 
-;; Copyright (C) 1994, 1995, 2002, 2003, 2004,
+;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
--- a/lisp/find-lisp.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/find-lisp.el	Mon Jan 01 17:38:32 2007 +0000
@@ -3,9 +3,8 @@
 ;; Author: Peter Breton
 ;; Created: Fri Mar 26 1999
 ;; Keywords: unix
-;; Time-stamp: <2006-02-06 13:40:10 ttn>
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
--- a/lisp/flow-ctrl.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/flow-ctrl.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; flow-ctrl.el --- help for lusers on cu(1) or ttys with wired-in ^S/^Q flow control
 
-;; Copyright (C) 1990, 1991, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1990, 1991, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author Kevin Gallagher
--- a/lisp/foldout.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/foldout.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; foldout.el --- folding extensions for outline-mode and outline-minor-mode
 
-;; Copyright (C) 1994, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Kevin Broadey <KevinB@bartley.demon.co.uk>
--- a/lisp/format.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/format.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; format.el --- read and save files in multiple formats
 
-;; Copyright (C) 1994, 1995, 1997, 1999, 2002, 2003, 2004,
+;; Copyright (C) 1994, 1995, 1997, 1999, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
--- a/lisp/forms-d2.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/forms-d2.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,8 @@
 ;;; forms-d2.el --- demo forms-mode -*- no-byte-compile: t -*-
 
+;; Copyright (C) 1991, 1994, 1995, 1996, 1997, 2001, 2002, 2003,
+;;   2004, 2005, 2006 Free Software Foundation, Inc.
+
 ;; Author: Johan Vromans <jvromans@squirrel.nl>
 ;; Created: 1989
 
--- a/lisp/forms.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/forms.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; forms.el --- Forms mode: edit a file as a form to fill in
 
-;; Copyright (C) 1991, 1994, 1995, 1996, 1997, 2002, 2003,
+;; Copyright (C) 1991, 1994, 1995, 1996, 1997, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Johan Vromans <jvromans@squirrel.nl>
--- a/lisp/frame.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/frame.el	Mon Jan 01 17:38:32 2007 +0000
@@ -795,7 +795,7 @@
 	   (set-mouse-position (selected-frame) (1- (frame-width)) 0))))
 
 (defun other-frame (arg)
-  "Select the ARG'th different visible frame on current display, and raise it.
+  "Select the ARGth different visible frame on current display, and raise it.
 All frames are arranged in a cyclic order.
 This command selects the frame ARG steps away in that order.
 A negative ARG moves in the opposite order.
@@ -986,7 +986,7 @@
 (defun set-frame-parameter (frame parameter value)
   "Set frame parameter PARAMETER to VALUE on FRAME.
 If FRAME is nil, it defaults to the selected frame.
-See `modify-frame-parameters.'"
+See `modify-frame-parameters'."
   (modify-frame-parameters frame (list (cons parameter value))))
 
 (defun set-background-color (color-name)
--- a/lisp/generic-x.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/generic-x.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; generic-x.el --- A collection of generic modes
 
-;; Copyright (C) 1997, 1998, 2002, 2003, 2004,
+;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author:  Peter Breton <pbreton@cs.umb.edu>
--- a/lisp/gnus/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,90 @@
+2006-12-30  Andreas Seltenreich  <uwi7@rz.uni-karlsruhe.de>
+
+	* gnus-sum.el (gnus-summary-insert-dormant-articles): Fix typo in
+	message.
+
+2006-12-29  Jouni K. Sepp,Ad(Bnen  <jks@iki.fi>
+
+	* nnimap.el (nnimap-expunge-search-string): Mention
+	nnimap-search-uids-not-since-is-evil in docstring.
+
+2006-12-28  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* spam.el: Revert to make-obsolete-variable because
+	define-obsolete-variable-alias is not supported in Emacs 21.
+
+2006-12-28  Daiki Ueno  <ueno@unixuser.org>
+
+	* gnus-sum.el (gnus-summary-next-article): Make sure we are in the
+	summary buffer.
+
+2006-12-27  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* spam.el (spam-ifile-path, spam-ifile-database-path)
+	(spam-bogofilter-path): Use define-obsolete-variable-alias instead of
+	make-obsolete-variable.
+
+2006-12-26  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* message.el (message-make-fqdn): Fix comment.
+	(message-bogus-system-names): Add ".local".
+
+	* spam.el (spam-ifile-path, spam-ifile-program)
+	(spam-ifile-database-path, spam-ifile-database)
+	(spam-bogofilter-path, spam-bogofilter-program): Rename variables.
+	Don't use "path" inappropriately.
+	(spam-spamoracle-database, spam-get-ifile-database-parameter): Fix doc
+	strings.
+	(spam-check-ifile, spam-ifile-register-with-ifile)
+	(spam-check-bogofilter, spam-bogofilter-register-with-bogofilter): Use
+	new variable names.
+
+	* gnus-art.el (gnus-treat-display-x-face, gnus-treat-display-face)
+	(gnus-treat-display-smileys): Simplify using
+	gnus-image-type-available-p.
+
+	* gnus-ems.el (gnus-image-type-available-p): Use display-images-p if
+	available.
+
+2006-12-22  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* nnrss.el (nnrss-fetch): Replace buffer's contents with the decoded
+	one after turning on the buffer's multibyteness instead of decoding
+	them directly in the unibyte buffer that causes unexpected conversion
+	in Emacs 23 (unicode).
+
+2006-12-20  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* gnus-group.el (gnus-group-tool-bar-gnome): Exchange connect and
+	disconnect icons.  Add help text.
+
+2006-12-13  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* legacy-gnus-agent.el: Add Copyright notice.
+
+2006-12-12  Chong Yidong  <cyd@stupidchicken.com>
+
+	* gnus-sum.el (gnus-make-thread-indent-array): Fix last change.
+
+2006-12-08  Chong Yidong  <cyd@stupidchicken.com>
+
+	* gnus-sum.el (gnus-make-thread-indent-array): New optional arg
+	specifying array size.
+	(gnus-summary-insert-line, gnus-summary-prepare-threads): Regrow indent
+	array if it is too small.
+	(gnus-sort-threads-recursive): Renamed from gnus-sort-thread-1.
+	(gnus-sort-threads-loop): New function.
+
+2006-12-06  Chris Moore  <dooglus@gmail.com>  (tiny change)
+
+	* gnus-sum.el (gnus-sort-threads, gnus-summary-limit-children):
+	Use `max' to avoid the value of `max-lisp-eval-depth' decreasing.
+
+2006-12-04  Jouni K. Sepp,Ad(Bnen  <jks@iki.fi>
+
+	* mm-url.el (mm-url-predefined-programs): Call curl with correct
+	options.
+
 2006-11-30  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* mml2015.el (mml2015-pgg-clear-verify): Replace encode-coding-string
@@ -1622,7 +1709,7 @@
 	whitespace removed in revision 7.8.  Use concatenated string to
 	protect trailing whitespace.
 
-2005-10-27  Jouni K Seppanen  <jks@iki.fi>  (tiny change)
+2005-10-27  Jouni K. Sepp,Ad(Bnen  <jks@iki.fi>
 
 	* nnimap.el (nnimap-search-uids-not-since-is-evil): Add variable.
 	(nnimap-request-expire-articles): Use it to avoid sending 'UID
--- a/lisp/gnus/ChangeLog.1	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/ChangeLog.1	Mon Jan 01 17:38:32 2007 +0000
@@ -3726,7 +3726,8 @@
 	* gnus.el: Quassia Gnus v0.1 is released.
 
 
-    Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+    2005, 2006 Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/gnus/ChangeLog.2	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/ChangeLog.2	Mon Jan 01 17:38:32 2007 +0000
@@ -18857,7 +18857,8 @@
 
 See ChangeLog.1 for earlier changes.
 
-    Copyright (C) 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
+    Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006
+    Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
 
--- a/lisp/gnus/deuglify.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/deuglify.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; deuglify.el --- deuglify broken Outlook (Express) articles
 
-;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-;; Copyright (C) 2001, 2002 Raymond Scholz
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Author: Raymond Scholz <rscholz@zonix.de>
 ;;         Thomas Steffen (unwrapping algorithm,
--- a/lisp/gnus/format-spec.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/format-spec.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; format-spec.el --- functions for formatting arbitrary formatting strings
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/gnus-art.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-art.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1325,12 +1325,11 @@
 
 (defcustom gnus-treat-display-x-face
   (and (not noninteractive)
-       (or (and (fboundp 'image-type-available-p)
-		(image-type-available-p 'xbm)
-		(string-match "^0x" (shell-command-to-string "uncompface"))
-		(executable-find "icontopbm"))
-	   (and (featurep 'xemacs)
-		(featurep 'xface)))
+       (gnus-image-type-available-p 'xbm)
+       (if (featurep 'xemacs)
+	   (featurep 'xface)
+	 (and (string-match "^0x" (shell-command-to-string "uncompface"))
+	      (executable-find "icontopbm")))
        'head)
   "Display X-Face headers.
 Valid values are nil, t, `head', `last', an integer or a predicate.
@@ -1362,10 +1361,7 @@
 
 (defcustom gnus-treat-display-face
   (and (not noninteractive)
-       (or (and (fboundp 'image-type-available-p)
-		(image-type-available-p 'png))
-	   (and (featurep 'xemacs)
-		(featurep 'png)))
+       (gnus-image-type-available-p 'png)
        'head)
   "Display Face headers.
 Valid values are nil, t, `head', `last', an integer or a predicate.
@@ -1378,12 +1374,7 @@
   :type gnus-article-treat-head-custom)
 (put 'gnus-treat-display-face 'highlight t)
 
-(defcustom gnus-treat-display-smileys
-  (if (or (and (featurep 'xemacs)
-	       (featurep 'xpm))
-	  (and (fboundp 'image-type-available-p)
-	       (image-type-available-p 'pbm)))
-      t nil)
+(defcustom gnus-treat-display-smileys (gnus-image-type-available-p 'xpm)
   "Display smileys.
 Valid values are nil, t, `head', `last', an integer or a predicate.
 See Info node `(gnus)Customizing Articles' and Info node
--- a/lisp/gnus/gnus-async.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-async.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gnus-async.el --- asynchronous support for Gnus
 
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/gnus-audio.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-audio.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gnus-audio.el --- Sound effects for Gnus
 
-;; Copyright (C) 1996, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1996, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Steven L. Baur <steve@miranova.com>
--- a/lisp/gnus/gnus-demon.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-demon.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gnus-demon.el --- daemonic Gnus behaviour
 
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/gnus-diary.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-diary.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; gnus-diary.el --- Wrapper around the NNDiary Gnus backend
 
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-;; Copyright (C) 1999, 2000, 2001 Didier Verna.
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
 
 ;; Author:        Didier Verna <didier@xemacs.org>
 ;; Maintainer:    Didier Verna <didier@xemacs.org>
--- a/lisp/gnus/gnus-dup.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-dup.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gnus-dup.el --- suppression of duplicate articles in Gnus
 
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/gnus-ems.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-ems.el	Mon Jan 01 17:38:32 2007 +0000
@@ -211,7 +211,10 @@
 
 (defun gnus-image-type-available-p (type)
   (and (fboundp 'image-type-available-p)
-       (image-type-available-p type)))
+       (image-type-available-p type)
+       (if (fboundp 'display-images-p)
+	   (display-images-p)
+	 t)))
 
 (defun gnus-create-image (file &optional type data-p &rest props)
   (let ((face (plist-get props :face)))
--- a/lisp/gnus/gnus-group.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-group.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1018,9 +1018,11 @@
   '((gnus-group-post-news "mail/compose")
     ;; Some useful agent icons?  I don't use the agent so agent users should
     ;; suggest useful commands:
-    (gnus-agent-toggle-plugged "connect" t
+    (gnus-agent-toggle-plugged "disconnect" t
+			       :help "Gnus is currently unplugged.  Click to work online."
      			       :visible (and gnus-agent (not gnus-plugged)))
-    (gnus-agent-toggle-plugged "disconnect" t
+    (gnus-agent-toggle-plugged "connect" t
+			       :help "Gnus is currently plugged.  Click to work offline."
      			       :visible (and gnus-agent gnus-plugged))
     ;; FIXME: gnus-agent-toggle-plugged (in gnus-agent-group-make-menu-bar)
     ;; should have a better help text.
--- a/lisp/gnus/gnus-kill.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-kill.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gnus-kill.el --- kill commands for Gnus
 
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004,
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
--- a/lisp/gnus/gnus-mh.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-mh.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gnus-mh.el --- mh-e interface for Gnus
 
-;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003,
+;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
--- a/lisp/gnus/gnus-move.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-move.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gnus-move.el --- commands for moving Gnus from one server to another
 
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/gnus-nocem.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-nocem.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gnus-nocem.el --- NoCeM pseudo-cancellation treatment
 
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/gnus-soup.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-soup.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gnus-soup.el --- SOUP packet writing support for Gnus
 
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Per Abrahamsen <abraham@iesd.auc.dk>
--- a/lisp/gnus/gnus-sum.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-sum.el	Mon Jan 01 17:38:32 2007 +0000
@@ -3343,16 +3343,17 @@
       t
     (not (cdr (gnus-data-find-list article)))))
 
-(defun gnus-make-thread-indent-array ()
-  (let ((n 200))
-    (unless (and gnus-thread-indent-array
-		 (= gnus-thread-indent-level gnus-thread-indent-array-level))
-      (setq gnus-thread-indent-array (make-vector 201 "")
-	    gnus-thread-indent-array-level gnus-thread-indent-level)
-      (while (>= n 0)
-	(aset gnus-thread-indent-array n
-	      (make-string (* n gnus-thread-indent-level) ? ))
-	(setq n (1- n))))))
+(defun gnus-make-thread-indent-array (&optional n)
+  (when (or n
+	    (progn (setq n 200) nil)
+	    (null gnus-thread-indent-array)
+	    (/= gnus-thread-indent-level gnus-thread-indent-array-level))
+    (setq gnus-thread-indent-array (make-vector (1+ n) "")
+	  gnus-thread-indent-array-level gnus-thread-indent-level)
+    (while (>= n 0)
+      (aset gnus-thread-indent-array n
+	    (make-string (* n gnus-thread-indent-level) ? ))
+      (setq n (1- n)))))
 
 (defun gnus-update-summary-mark-positions ()
   "Compute where the summary marks are to go."
@@ -3451,6 +3452,9 @@
 				 gnus-tmp-expirable gnus-tmp-subject-or-nil
 				 &optional gnus-tmp-dummy gnus-tmp-score
 				 gnus-tmp-process)
+  (if (>= gnus-tmp-level (length gnus-thread-indent-array))
+      (gnus-make-thread-indent-array (max (* 2 (length gnus-thread-indent-array))
+					  gnus-tmp-level)))
   (let* ((gnus-tmp-indentation (aref gnus-thread-indent-array gnus-tmp-level))
 	 (gnus-tmp-lines (mail-header-lines gnus-tmp-header))
 	 (gnus-tmp-score (or gnus-tmp-score gnus-summary-default-score 0))
@@ -4549,23 +4553,46 @@
 	      (1+ (gnus-point-at-eol))
 	    (gnus-delete-line)))))))
 
-(defun gnus-sort-threads-1 (threads func)
+(defun gnus-sort-threads-recursive (threads func)
   (sort (mapcar (lambda (thread)
 		  (cons (car thread)
 			(and (cdr thread)
-			     (gnus-sort-threads-1 (cdr thread) func))))
+			     (gnus-sort-threads-recursive (cdr thread) func))))
 		threads) func))
 
+(defun gnus-sort-threads-loop (threads func)
+  (let* ((superthread (cons nil threads))
+  	 (stack (list (cons superthread threads)))
+  	 remaining-threads thread)
+    (while stack
+      (setq remaining-threads (cdr (car stack)))
+      (if remaining-threads
+  	  (progn (setq thread (car remaining-threads))
+  		 (setcdr (car stack) (cdr remaining-threads))
+  		 (if (cdr thread)
+  		     (push (cons thread (cdr thread)) stack)))
+  	(setq thread (caar stack))
+  	(setcdr thread (sort (cdr thread) func))
+  	(pop stack)))
+    (cdr superthread)))
+
 (defun gnus-sort-threads (threads)
   "Sort THREADS."
   (if (not gnus-thread-sort-functions)
       threads
     (gnus-message 8 "Sorting threads...")
-    (let ((max-lisp-eval-depth 5000))
-      (prog1 (gnus-sort-threads-1
-	 threads
-	 (gnus-make-sort-function gnus-thread-sort-functions))
-        (gnus-message 8 "Sorting threads...done")))))
+    (prog1
+	(condition-case nil
+	    (let ((max-lisp-eval-depth (max max-lisp-eval-depth 5000)))
+	      (gnus-sort-threads-recursive
+	       threads (gnus-make-sort-function gnus-thread-sort-functions)))
+	  ;; Even after binding max-lisp-eval-depth, the recursive
+	  ;; sorter might fail for very long threads.  In that case,
+	  ;; try using a (less well-tested) non-recursive sorter.
+	  (error (gnus-sort-threads-loop
+		  threads (gnus-make-sort-function
+			   gnus-thread-sort-functions))))
+      (gnus-message 8 "Sorting threads...done"))))
 
 (defun gnus-sort-articles (articles)
   "Sort ARTICLES."
@@ -4990,6 +5017,10 @@
 		      gnus-tmp-closing-bracket ?\>)
 	      (setq gnus-tmp-opening-bracket ?\[
 		    gnus-tmp-closing-bracket ?\]))
+	    (if (>= gnus-tmp-level (length gnus-thread-indent-array))
+		(gnus-make-thread-indent-array
+		 (max (* 2 (length gnus-thread-indent-array))
+		      gnus-tmp-level)))
 	    (setq
 	     gnus-tmp-indentation
 	     (aref gnus-thread-indent-array gnus-tmp-level)
@@ -7302,6 +7333,9 @@
 If SUBJECT, only articles with SUBJECT are selected.
 If BACKWARD, the previous article is selected instead of the next."
   (interactive "P")
+  ;; Make sure we are in the summary buffer.
+  (unless (eq major-mode 'gnus-summary-mode)
+    (set-buffer gnus-summary-buffer))
   (cond
    ;; Is there such an article?
    ((and (gnus-summary-search-forward unread subject backward)
@@ -7956,7 +7990,7 @@
   (interactive)
   (let ((gnus-verbose (max 6 gnus-verbose)))
     (if (not gnus-newsgroup-dormant)
-	(gnus-message 3 "No cached articles for this group")
+	(gnus-message 3 "No dormant articles for this group")
       (gnus-summary-goto-subjects gnus-newsgroup-dormant))))
 
 (defun gnus-summary-limit-include-dormant ()
@@ -8165,7 +8199,7 @@
   ;; will really go down to a leaf article first, before slowly
   ;; working its way up towards the root.
   (when thread
-    (let* ((max-lisp-eval-depth 5000)
+    (let* ((max-lisp-eval-depth (max 5000 max-lisp-eval-depth))
 	   (children
 	   (if (cdr thread)
 	       (apply '+ (mapcar 'gnus-summary-limit-children
--- a/lisp/gnus/gnus-undo.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/gnus-undo.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gnus-undo.el --- minor mode for undoing in Gnus
 
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/legacy-gnus-agent.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/legacy-gnus-agent.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,10 +1,39 @@
+;;; gnus-agent.el --- Legacy unplugged support for Gnus
+
+;; Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+
+;; Author: Kevin Greiner <kgreiner@xpediantsolutions.com>
+;; Keywords: news
+
+;; 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 2, 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.
+
+;;; Commentary:
+
+;; Conversion functions for the Agent.
+
+;;; Code:
 (require 'gnus-start)
 (require 'gnus-util)
 (require 'gnus-range)
 (require 'gnus-agent)
 
-; Oort Gnus v0.08 - This release updated agent to no longer use
-;                   history file and to support a compressed alist.
+;; Oort Gnus v0.08 - This release updated agent to no longer use
+;;                   history file and to support a compressed alist.
 
 (defvar gnus-agent-compressed-agentview-search-only nil)
 
@@ -224,4 +253,7 @@
 ;; the .newsrc.eld file.
 (gnus-convert-mark-converter-prompt 'gnus-agent-unhook-expire-days t)
 
-;;; arch-tag: 845c7b8a-88f7-4468-b8d7-94e8fc72cf1a
+(provide 'legacy-gnus-agent)
+
+;; arch-tag: 845c7b8a-88f7-4468-b8d7-94e8fc72cf1a
+;;; legacy-gnus-agent.el ends here
--- a/lisp/gnus/mail-parse.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/mail-parse.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; mail-parse.el --- Interface functions for parsing mail
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/mail-prsvr.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/mail-prsvr.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; mail-prsvr.el --- Interface variables for parsing mail
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/message.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/message.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1579,7 +1579,7 @@
 (defvar message-send-mail-real-function nil
   "Internal send mail function.")
 
-(defvar message-bogus-system-names "^localhost\\."
+(defvar message-bogus-system-names "^localhost\\.\\|\\.local$"
   "The regexp of bogus system names.")
 
 (defcustom message-valid-fqdn-regexp
@@ -5000,8 +5000,8 @@
 	   (stringp message-user-fqdn)
 	   (string-match message-valid-fqdn-regexp message-user-fqdn)
 	   (not (string-match message-bogus-system-names message-user-fqdn)))
+      ;; `message-user-fqdn' seems to be valid
       message-user-fqdn)
-     ;; `message-user-fqdn' seems to be valid
      ((and (string-match message-valid-fqdn-regexp system-name)
 	   (not (string-match message-bogus-system-names system-name)))
       ;; `system-name' returned the right result.
--- a/lisp/gnus/messcompat.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/messcompat.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; messcompat.el --- making message mode compatible with mail mode
 
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/mm-url.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/mm-url.el	Mon Jan 01 17:38:32 2007 +0000
@@ -64,7 +64,7 @@
   '((wget "wget" "--user-agent=mm-url" "-q" "-O" "-")
     (w3m  "w3m" "-dump_source")
     (lynx "lynx" "-source")
-    (curl "curl" "--silent" "--user-agent mm-url" "--location")))
+    (curl "curl" "--silent" "--user-agent" "mm-url" "--location")))
 
 (defcustom mm-url-program
   (cond
--- a/lisp/gnus/nndir.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/nndir.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; nndir.el --- single directory newsgroup access for Gnus
 
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/nnimap.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/nnimap.el	Mon Jan 01 17:38:32 2007 +0000
@@ -375,7 +375,10 @@
 One useful (and perhaps the only useful) value to change this to would
 be `UID %s NOT SENTSINCE %s' to make nnimap use the Date: header
 instead of the internal date of messages.  See section 6.4.4 of RFC
-2060 for more information on valid strings.")
+2060 for more information on valid strings.
+
+However, if `nnimap-search-uids-not-since-is-evil' is true, this
+variable has no effect since the search logic is reversed.")
 
 (defvoo nnimap-importantize-dormant t
   "If non-nil, mark \"dormant\" articles as \"ticked\" for other IMAP clients.
--- a/lisp/gnus/nnkiboze.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/nnkiboze.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; nnkiboze.el --- select virtual news access for Gnus
 
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/nnlistserv.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/nnlistserv.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; nnlistserv.el --- retrieving articles via web mailing list archives
 
-;; Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/nnrss.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/nnrss.el	Mon Jan 01 17:38:32 2007 +0000
@@ -418,8 +418,10 @@
       (nnheader-remove-cr-followed-by-lf)
       ;; Decode text according to the encoding attribute.
       (when (setq cs (nnrss-get-encoding))
-	(mm-decode-coding-region (point-min) (point-max) cs)
-	(mm-enable-multibyte))
+	(insert (prog1
+		    (mm-decode-coding-string (buffer-string) cs)
+		  (erase-buffer)
+		  (mm-enable-multibyte))))
       (goto-char (point-min))
 
       ;; Because xml-parse-region can't deal with anything that isn't
--- a/lisp/gnus/nnspool.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/nnspool.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; nnspool.el --- spool access for GNU Emacs
 
 ;; Copyright (C) 1988, 1989, 1990, 1993, 1994, 1995, 1996, 1997, 1998,
-;;   2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;;   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;	Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/nnwarchive.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/nnwarchive.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; nnwarchive.el --- interfacing with web archives
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
--- a/lisp/gnus/rfc1843.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/rfc1843.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rfc1843.el --- HZ (rfc1843) decoding
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
--- a/lisp/gnus/rfc2045.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/rfc2045.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rfc2045.el --- Functions for decoding rfc2045 headers
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/rfc2047.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/rfc2047.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rfc2047.el --- functions for encoding and decoding rfc2047 messages
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/rfc2104.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/rfc2104.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rfc2104.el --- RFC2104 Hashed Message Authentication Codes
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <jas@pdc.kth.se>
--- a/lisp/gnus/rfc2231.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/rfc2231.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rfc2231.el --- Functions for decoding rfc2231 headers
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
--- a/lisp/gnus/spam.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/spam.el	Mon Jan 01 17:38:32 2007 +0000
@@ -351,14 +351,18 @@
   "Spam ifile configuration."
   :group 'spam)
 
-(defcustom spam-ifile-path (executable-find "ifile")
-  "File path of the ifile executable program."
+(make-obsolete-variable 'spam-ifile-path 'spam-ifile-program)
+;; "22.1" ;; Gnus 5.10.9
+(defcustom spam-ifile-program (executable-find "ifile")
+  "Name of the ifile program."
   :type '(choice (file :tag "Location of ifile")
 		 (const :tag "ifile is not installed"))
   :group 'spam-ifile)
 
-(defcustom spam-ifile-database-path nil
-  "File path of the ifile database."
+(make-obsolete-variable 'spam-ifile-database-path 'spam-ifile-database)
+;; "22.1" ;; Gnus 5.10.9
+(defcustom spam-ifile-database nil
+  "File name of the ifile database."
   :type '(choice (file :tag "Location of the ifile database")
 		 (const :tag "Use the default"))
   :group 'spam-ifile)
@@ -386,8 +390,10 @@
   "Spam bogofilter configuration."
   :group 'spam)
 
-(defcustom spam-bogofilter-path (executable-find "bogofilter")
-  "File path of the Bogofilter executable program."
+(make-obsolete-variable 'spam-bogofilter-path 'spam-bogofilter-program)
+;; "22.1" ;; Gnus 5.10.9
+(defcustom spam-bogofilter-program (executable-find "bogofilter")
+  "Name of the Bogofilter program."
   :type '(choice (file :tag "Location of bogofilter")
 		 (const :tag "Bogofilter is not installed"))
   :group 'spam-bogofilter)
@@ -423,7 +429,8 @@
   :group 'spam-bogofilter)
 
 (defcustom spam-bogofilter-database-directory nil
-  "Directory path of the Bogofilter databases."
+  "Location of the Bogofilter database.
+When nil, use the default location."
   :type '(choice (directory
 		  :tag "Location of the Bogofilter database directory")
 		 (const :tag "Use the default"))
@@ -434,8 +441,8 @@
   :group 'spam)
 
 (defcustom spam-spamoracle-database nil
-  "Location of spamoracle database file. When nil, use the default
-spamoracle database."
+  "Location of spamoracle database file.
+When nil, use the default spamoracle database."
   :type '(choice (directory :tag "Location of spamoracle database file.")
 		 (const :tag "Use the default"))
   :group 'spam-spamoracle)
@@ -1370,11 +1377,12 @@
 ;;; check the ifile backend; return nil if the mail was NOT classified
 ;;; as spam
 
+
 (defun spam-get-ifile-database-parameter ()
-  "Get the command-line parameter for ifile's database from
-  spam-ifile-database-path."
-  (if spam-ifile-database-path
-      (format "--db-file=%s" spam-ifile-database-path)
+  "Return the command-line parameter for ifile's database.
+See `spam-ifile-database'."
+  (if spam-ifile-database
+      (format "--db-file=%s" spam-ifile-database)
     nil))
 
 (defun spam-check-ifile ()
@@ -1390,7 +1398,7 @@
 	(save-excursion
 	  (set-buffer article-buffer-name)
 	  (apply 'call-process-region
-		 (point-min) (point-max) spam-ifile-path
+		 (point-min) (point-max) spam-ifile-program
 		 nil temp-buffer-name nil "-c"
 		 (if db-param `(,db-param "-q") `("-q"))))
 	;; check the return now (we're back in the temp buffer)
@@ -1418,7 +1426,7 @@
 	  (when (stringp article-string)
 	    (insert article-string))))
       (apply 'call-process-region
-	     (point-min) (point-max) spam-ifile-path
+	     (point-min) (point-max) spam-ifile-program
 	     nil nil nil
 	     add-or-delete-option category
 	     (if db `(,db "-h") `("-h"))))))
@@ -1702,7 +1710,7 @@
 	  (set-buffer article-buffer-name)
 	  (apply 'call-process-region
 		 (point-min) (point-max)
-		 spam-bogofilter-path
+		 spam-bogofilter-program
 		 nil temp-buffer-name nil
 		 (if db `("-d" ,db "-v") `("-v"))))
 	(setq return (spam-check-bogofilter-headers score))))
@@ -1728,7 +1736,7 @@
 
 	  (apply 'call-process-region
 		 (point-min) (point-max)
-		 spam-bogofilter-path
+		 spam-bogofilter-program
 		 nil nil nil switch
 		 (if db `("-d" ,db "-v") `("-v"))))))))
 
--- a/lisp/gnus/starttls.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/starttls.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; starttls.el --- STARTTLS functions
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
--- a/lisp/gnus/utf7.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/gnus/utf7.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; utf7.el --- UTF-7 encoding/decoding for Emacs   -*-coding: iso-8859-1;-*-
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Jon K Hellan <hellan@acm.org>
--- a/lisp/help-fns.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/help-fns.el	Mon Jan 01 17:38:32 2007 +0000
@@ -400,7 +400,7 @@
 
 ;;;###autoload
 (defun variable-at-point (&optional any-symbol)
-  "Return the bound variable symbol found around point.
+  "Return the bound variable symbol found at or before point.
 Return 0 if there is no such symbol.
 If ANY-SYMBOL is non-nil, don't insist the symbol be bound."
   (or (condition-case ()
@@ -583,8 +583,11 @@
                             (documentation-property alias 'variable-documentation))))
               (unless (eq alias variable)
                 (princ (format "\nThis variable is an alias for `%s'.\n" alias)))
+	      (if (or obsolete safe-var)
+		  (terpri))
+
               (when obsolete
-                (princ "\nThis variable is obsolete")
+                (princ "This variable is obsolete")
                 (if (cdr obsolete) (princ (format " since %s" (cdr obsolete))))
                 (princ ";") (terpri)
                 (princ (if (stringp (car obsolete)) (car obsolete)
@@ -595,9 +598,8 @@
 		(princ "if its value\nsatisfies the predicate ")
 		(princ (if (byte-code-function-p safe-var)
 			   "which is byte-compiled expression.\n"
-			 (format "`%s'.\n" safe-var)))
-		(terpri))
-	      (princ "Documentation:\n")
+			 (format "`%s'.\n" safe-var))))
+	      (princ "\nDocumentation:\n")
               (princ (or doc "Not documented as a variable.")))
 	    ;; Make a link to customize if this variable can be customized.
 	    (if (custom-variable-p variable)
--- a/lisp/help-macro.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/help-macro.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; help-macro.el --- makes command line help such as help-for-help
 
-;; Copyright (C) 1993, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lynn Slater <lrs@indetech.com>
--- a/lisp/hilit-chg.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/hilit-chg.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; hilit-chg.el --- minor mode displaying buffer changes with special face
 
-;; Copyright (C) 1998, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Richard Sharman <rsharman@pobox.com>
--- a/lisp/hippie-exp.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/hippie-exp.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; hippie-exp.el --- expand text trying various ways to find its expansion
 
-;; Copyright (C) 1992, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Anders Holst <aho@sans.kth.se>
--- a/lisp/ido.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ido.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1046,6 +1046,9 @@
 ;; Stores the current ido item type ('file, 'dir, 'buffer, or 'list).
 (defvar ido-cur-item)
 
+;;; Stores the current default item
+(defvar ido-default-item)
+
 ;; Stores the current list of items that will be searched through.
 ;; The list is ordered, so that the most interesting item comes first,
 ;; although by default, the files visible in the current frame are put
@@ -1566,7 +1569,8 @@
     (define-key map [(meta down)] 'ido-next-work-directory)
     (define-key map [backspace] 'ido-delete-backward-updir)
     (define-key map "\d"        'ido-delete-backward-updir)
-    (define-key map [(meta backspace)] 'ido-delete-backward-word-updir)
+    (define-key map [remap backward-kill-word] 'ido-delete-backward-word-updir)  ; M-DEL
+
     (define-key map [(control backspace)] 'ido-up-directory)
     (define-key map "\C-l" 'ido-reread-directory)
     (define-key map [(meta ?d)] 'ido-wide-find-dir-or-delete-dir)
@@ -2588,7 +2592,9 @@
   "Toggle ignoring files specified with `ido-ignore-files'."
   (interactive)
   (if ido-directory-too-big
-      (setq ido-directory-too-big nil)
+      (progn
+	(message "Reading directory...")
+	(setq ido-directory-too-big nil))
     (setq ido-process-ignore-lists (not ido-process-ignore-lists)))
   (setq ido-text-init ido-text)
   (setq ido-exit 'refresh)
@@ -3576,6 +3582,11 @@
 			    (/= (aref name 0) ?.)))
 		      (string-match re name))
 		 (cond
+		  ((and (eq ido-cur-item 'buffer)
+			(or (not (stringp ido-default-item))
+			    (not (string= name ido-default-item)))
+			(string= name (buffer-name ido-entry-buffer)))
+		   (setq matches (cons item matches)))
 		  ((and full-re (string-match full-re name))
 		   (setq full-matches (cons item full-matches)))
 		  ((and suffix-re (string-match suffix-re name))
@@ -3728,7 +3739,8 @@
 	  (set-buffer temp-buf)
 	  (setq win (get-buffer-window temp-buf))
 	  (if (pos-visible-in-window-p (point-max) win)
-	      (if (or ido-completion-buffer-all-completions (boundp 'ido-completion-buffer-full))
+	      (if (or ido-completion-buffer-all-completions
+		      (boundp 'ido-completion-buffer-full))
 		  (set-window-start win (point-min))
 		(with-no-warnings
 		  (set (make-local-variable 'ido-completion-buffer-full) t))
@@ -3741,6 +3753,14 @@
 	(with-output-to-temp-buffer ido-completion-buffer
 	  (let ((completion-list (sort
 				  (cond
+				   (ido-directory-too-big
+				    (message "Reading directory...")
+				    (setq ido-directory-too-big nil
+					  ido-ignored-list nil
+					  ido-cur-list (ido-all-completions)
+					  ido-rescan t)
+				    (ido-set-matches)
+				    (or ido-matches ido-cur-list))
 				   (ido-use-merged-list
 				    (ido-flatten-merged-list (or ido-matches ido-cur-list)))
 				   ((or full-list ido-completion-buffer-all-completions)
--- a/lisp/ielm.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ielm.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ielm.el --- interaction mode for Emacs Lisp
 
-;; Copyright (C) 1994, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: David Smith <maa036@lancaster.ac.uk>
--- a/lisp/image.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/image.el	Mon Jan 01 17:38:32 2007 +0000
@@ -35,11 +35,11 @@
 
 (defconst image-type-header-regexps
   '(("\\`/[\t\n\r ]*\\*.*XPM.\\*/" . xpm)
-    ("\\`P[1-6]" . pbm)
+    ("\\`P[1-6][[:space:]]+\\(?:#.*[[:space:]]+\\)*[0-9]+[[:space:]]+[0-9]+" . pbm)
     ("\\`GIF8" . gif)
-    ("\\`\211PNG\r\n" . png)
+    ("\\`\x89PNG\r\n\x1a\n" . png)
     ("\\`[\t\n\r ]*#define" . xbm)
-    ("\\`\\(MM\0\\*\\|II\\*\0\\)" . tiff)
+    ("\\`\\(?:MM\0\\*\\|II\\*\0\\)" . tiff)
     ("\\`[\t\n\r ]*%!PS" . postscript)
     ("\\`\xff\xd8" . (image-jpeg-p . jpeg)))
   "Alist of (REGEXP . IMAGE-TYPE) pairs used to auto-detect image types.
@@ -63,6 +63,24 @@
 When the name of an image file match REGEXP, it is assumed to
 be of image type IMAGE-TYPE.")
 
+(defvar image-type-auto-detectable
+  '((pbm . t)
+    (xbm . t)
+    (bmp . maybe)
+    (gif . maybe)
+    (png . maybe)
+    (xpm . maybe)
+    (jpeg . maybe)
+    (tiff . maybe)
+    (postscript . nil))
+  "Alist of (IMAGE-TYPE . AUTODETECT) pairs used to auto-detect image files.
+\(See `image-type-auto-detected-p').
+
+AUTODETECT can be
+ - t      always auto-detect.
+ - nil    never auto-detect.
+ - maybe  auto-detect only if the image type is available
+	    (see `image-type-available-p').")
 
 (defvar image-load-path nil
   "List of locations in which to search for image files.
@@ -308,6 +326,7 @@
     (error "Invalid image type `%s'" type))
   type)
 
+
 ;;;###autoload
 (defun image-type-available-p (type)
   "Return non-nil if image type TYPE is available.
@@ -317,6 +336,20 @@
 
 
 ;;;###autoload
+(defun image-type-auto-detected-p ()
+  "Return t iff the current buffer contains an auto-detectable image.
+Whether image types are auto-detectable or not depends on the setting
+of the variable `image-type-auto-detectable'.
+
+This function is intended to be used from `magic-mode-alist' (which see)."
+  (let* ((type (image-type-from-buffer))
+	 (auto (and type (cdr (assq type image-type-auto-detectable)))))
+    (and auto
+	 (or (eq auto t)
+	     (image-type-available-p type)))))
+
+
+;;;###autoload
 (defun create-image (file-or-data &optional type data-p &rest props)
   "Create an image.
 FILE-OR-DATA is an image file name or image data.
--- a/lisp/imenu.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/imenu.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; imenu.el --- framework for mode-specific buffer indexes
 
-;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 2002, 2003, 2004,
+;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Ake Stenhoff <etxaksf@aom.ericsson.se>
--- a/lisp/indent.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/indent.el	Mon Jan 01 17:38:32 2007 +0000
@@ -50,7 +50,9 @@
   "*Controls the operation of the TAB key.
 If t, hitting TAB always just indents the current line.
 If nil, hitting TAB indents the current line if point is at the left margin
-  or in the line's indentation, otherwise it insert a \"real\" tab character."
+or in the line's indentation, otherwise it insert a \"real\" TAB character.
+Most programming language modes have their own variable to control this,
+e.g., `c-tab-always-indent', and do not respect this variable."
   :group 'indent
   :type '(choice (const nil) (const t) (const always)))
 
--- a/lisp/info.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/info.el	Mon Jan 01 17:38:32 2007 +0000
@@ -145,7 +145,7 @@
   :type 'boolean
   :group 'info)
 
-(defcustom Info-fontify-maximum-menu-size 100000
+(defcustom Info-fontify-maximum-menu-size 1000000
   "*Maximum size of menu to fontify if `font-lock-mode' is non-nil."
   :type 'integer
   :group 'info)
@@ -1551,6 +1551,8 @@
 	    (node-regexp "Node: *\\([^,\n]*\\) *[,\n\t]"))
 	(save-excursion
 	  (save-restriction
+	    (or Info-tag-table-marker
+		(error "No Info tags found"))
 	    (if (marker-buffer Info-tag-table-marker)
 		(let ((marker Info-tag-table-marker))
 		  (set-buffer (marker-buffer marker))
@@ -2805,6 +2807,11 @@
 	(kill-buffer Info-complete-menu-buffer)))))
   (if (equal Info-current-file "dir")
       (error "The Info directory node has no index; use m to select a manual"))
+  ;; Strip leading colon in topic; index format does not allow them.
+  (if (and (stringp topic)
+	   (> (length topic) 0)
+	   (= (aref topic 0) ?:))
+      (setq topic (substring topic 1)))
   (let ((orignode Info-current-node)
 	(pattern (format "\n\\* +\\([^\n]*%s[^\n]*\\):[ \t]+\\([^\n]*\\)\\.\\(?:[ \t\n]*(line +\\([0-9]+\\))\\)?"
 			 (regexp-quote topic)))
@@ -3932,7 +3939,6 @@
       (goto-char (point-min))
       (when (and (or not-fontified-p fontify-visited-p)
                  (search-forward "\n* Menu:" nil t)
-                 (not (Info-index-node))
                  ;; Don't take time to annotate huge menus
                  (< (- (point-max) (point)) Info-fontify-maximum-menu-size))
         (let ((n 0)
--- a/lisp/informat.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/informat.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; informat.el --- info support functions package for Emacs
 
-;; Copyright (C) 1986, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/international/ccl.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/ccl.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; ccl.el --- CCL (Code Conversion Language) compiler
 
-;; Copyright (C) 1997, 1998, 2001, 2002  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1998, 1999, 2000
+;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/characters.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/characters.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,9 @@
 ;;; characters.el --- set syntax and category for multibyte characters
 
-;; Copyright (C) 1997, 2000, 2001, 2002, 2003, 2004
+;; Copyright (C) 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/code-pages.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/code-pages.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; code-pages.el --- coding systems for assorted codepages  -*-coding: utf-8;-*-
 
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005  Free Software Foundation, Inc.
-;; Copyright (C) 2004, 2005
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/codepage.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/codepage.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; codepage.el --- MS-DOS/MS-Windows specific coding systems
 
 ;; Copyright (C) 1998, 1999, 2000, 2002  Free Software Foundation, Inc.
-;; Copyright (C) 2000
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/encoded-kb.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/encoded-kb.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; encoded-kb.el --- handler to input multibyte characters encoded somehow
 
-;; Copyright (C) 1997  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2004, 2005
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/fontset.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/fontset.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; fontset.el --- commands for handling fontset
 
-;; Copyright (C) 1997, 1998, 1999, 2000, 2001  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/isearch-x.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/isearch-x.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; isearch-x.el --- extended isearch handling commands
 
-;; Copyright (C) 1997, 2001, 2004  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 2000
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/iso-ascii.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/iso-ascii.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; iso-ascii.el --- set up char tables for ISO 8859/1 on ASCII terminals
 
-;; Copyright (C) 1987, 1995, 1998, 2003  Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1995, 1998, 2001, 2002, 2003, 2004,
+;;   2005, 2006  Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
--- a/lisp/international/iso-cvt.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/iso-cvt.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,8 @@
 ;;; iso-cvt.el --- translate ISO 8859-1 from/to various encodings -*- coding: iso-latin-1 -*-
 ;; This file was formerly called gm-lingo.el.
 
-;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2003, 2004
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001,
+;;   2002, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Author: Michael Gschwind <mike@vlsivie.tuwien.ac.at>
 ;; Keywords: tex, iso, latin, i18n
--- a/lisp/international/iso-transl.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/iso-transl.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; iso-transl.el --- keyboard input definitions for ISO 8859-1  -*- coding: iso-8859-1 -*-
 
 ;; Copyright (C) 1987, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001
-;;   Free Software Foundation, Inc.
+;;   2002, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
--- a/lisp/international/ja-dic-cnv.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/ja-dic-cnv.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; ja-dic-cnv.el --- convert a Japanese dictionary (SKK-JISYO.L) to Emacs Lisp
 
-;; Copyright (C) 1995, 2000
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/ja-dic-utl.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/ja-dic-utl.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; ja-dic-utl.el --- utilities for handling Japanese dictionary (SKK-JISYO.L)
 
-;; Copyright (C) 1995, 2000
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/kinsoku.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/kinsoku.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; kinsoku.el --- `Kinsoku' processing funcs -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 2003  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/kkc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/kkc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; kkc.el --- Kana Kanji converter    -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 1998  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 2000, 2001, 2003
+;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/latin-1.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/latin-1.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; latin-1.el --- set up case-conversion and syntax tables for ISO Latin-1
 
-;; Copyright (C) 1988, 1997, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
--- a/lisp/international/latin-2.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/latin-2.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; latin-2.el --- set up case-conversion and syntax tables for ISO Latin-2
 
-;; Copyright (C) 1995, 1997, 2005  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
 
 ;; Author: Michael Gschwind (mike@vlsivie.tuwien.ac.at)
 ;; Maintainer: FSF
--- a/lisp/international/latin-3.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/latin-3.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; latin-3.el --- set up case-conversion and syntax tables for ISO Latin-3
 
-;; Copyright (C) 1988, 1997, 2005  Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1997, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
 
 ;; Author: Marko Rahamaa
 ;; Maintainer: FSF
--- a/lisp/international/latin-4.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/latin-4.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; latin-4.el --- set up case-conversion and syntax tables for ISO Latin-4
 
-;; Copyright (C) 1997, 2005  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
 
 ;; Author: Erik Naggum
 ;; Maintainer: FSF
--- a/lisp/international/latin-5.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/latin-5.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; latin-5.el --- set up case-conversion and syntax tables for ISO latin-5
 
-;; Copyright (C) 1997, 2005  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
 
 ;; Author: Erik Naggum
 ;; Maintainer: FSF
--- a/lisp/international/latin-8.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/latin-8.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; latin-8.el --- set up case-conversion and syntax tables for ISO Latin-8
 
-;; Copyright (C) 1988, 1997, 1999, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1997, 1999, 2001, 2002, 2003, 2004, 2005
+;;   2006  Free Software Foundation, Inc.
 
 ;; Author: Dave Love
 ;; Maintainer: FSF
--- a/lisp/international/latin-9.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/latin-9.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; latin-9.el --- set up case-conversion and syntax tables for ISO Latin-9
 
-;; Copyright (C) 1988, 1997, 1999, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1997, 1999, 2001, 2002, 2003, 2004,
+;;   2005, 2006  Free Software Foundation, Inc.
 
 ;; Author: Dave Love
 ;; Maintainer: FSF
--- a/lisp/international/latin1-disp.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/latin1-disp.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; latin1-disp.el --- display tables for other ISO 8859 on Latin-1 terminals -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 2000, 2001, 2003  Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
--- a/lisp/international/mule-cmds.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/mule-cmds.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,9 @@
 ;;; mule-cmds.el --- commands for mulitilingual environment -*-coding: iso-2022-7bit -*-
 
-;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-;;   Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
@@ -736,18 +737,18 @@
 	      (insert "\n")
 	      (fill-region-as-paragraph pos (point)))
 	    (when rejected
-	      (insert "These safely encodes the target text,
-but it is not recommended for encoding text in this context,
+	      (insert "These safely encode the text in the buffer,
+but are not recommended for encoding text in this context,
 e.g., for sending an email message.\n ")
 	      (dolist (x rejected)
 		(princ " ") (princ x))
 	      (insert "\n"))
 	    (when unsafe
-	      (insert (if rejected "And the others"
+	      (insert (if rejected "The other coding systems"
 			"However, each of them")
-		      " encountered these problematic characters:\n")
+		      " encountered characters it couldn't encode:\n")
 	      (dolist (coding unsafe)
-		(insert (format "  %s:" (car coding)))
+		(insert (format "  %s cannot encode these:" (car coding)))
 		(let ((i 0)
 		      (func1
 		       #'(lambda (bufname pos)
@@ -771,6 +772,7 @@
 			  (insert-text-button
 			   (cdr elt)
 			   :type 'help-xref
+			   'face 'link
 			   'help-echo
 			   "mouse-2, RET: jump to this character"
 			   'help-function func1
@@ -778,6 +780,7 @@
 			(insert-text-button
 			 "..."
 			 :type 'help-xref
+			 'face 'link
 			 'help-echo
 			 "mouse-2, RET: next unencodable character"
 			 'help-function func2
@@ -786,19 +789,22 @@
 		    (setq i (1+ i))))
 		(insert "\n"))
 	      (insert "\
-The first problematic character is at point in the displayed buffer,\n"
+
+Click on a character to jump to the place it appears,\n"
 		      (substitute-command-keys "\
-and \\[universal-argument] \\[what-cursor-position] will give information about it.\n"))))
-	  (insert "\nSelect \
-one of the following safe coding systems, or edit the buffer:\n")
+where `\\[universal-argument] \\[what-cursor-position]' will give information about it.\n"))))
+	  (insert (substitute-command-keys "\nSelect \
+one of the safe coding systems listed below,\n\
+or cancel the writing with \\[keyboard-quit] and edit the buffer\n\
+   to remove or modify the problematic characters,\n\
+or specify any other coding system (and risk losing\n\
+   the problematic characters).\n\n"))
 	  (let ((pos (point))
 		(fill-prefix "  "))
 	    (dolist (x codings)
 	      (princ "  ") (princ x))
 	    (insert "\n")
-	    (fill-region-as-paragraph pos (point)))
-	  (insert "Or specify any other coding system
-at the risk of losing the problematic characters.\n")))
+	    (fill-region-as-paragraph pos (point)))))
 
       ;; Read a coding system.
       (setq coding-system
@@ -859,7 +865,7 @@
 
   (let ((no-other-defaults nil)
 	auto-cs)
-    (unless (or (stringp from) find-file-literally)    
+    (unless (or (stringp from) find-file-literally)
       ;; Find an auto-coding that is specified for the the current
       ;; buffer and file from the region FROM and TO.
       (save-excursion
@@ -921,7 +927,7 @@
 		(rassq base default-coding-system)
 		(setq default-coding-system
 		      (append default-coding-system
-			      (list (cons default-buffer-file-coding-system 
+			      (list (cons default-buffer-file-coding-system
 					  base)))))))
 
       ;; If the most preferred coding system has the property mime-charset,
@@ -948,10 +954,10 @@
 	(let ((default-eol-type (coding-system-eol-type
 				 (caar default-coding-system))))
 	  (if (and (vectorp default-eol-type) buffer-file-coding-system)
-	      (setq default-eol-type (coding-system-eol-type 
+	      (setq default-eol-type (coding-system-eol-type
 				      buffer-file-coding-system)))
 	  (if (and (vectorp default-eol-type) default-buffer-file-coding-system)
-	      (setq default-eol-type (coding-system-eol-type 
+	      (setq default-eol-type (coding-system-eol-type
 				      default-buffer-file-coding-system)))
 	  (if (and default-eol-type (not (vectorp default-eol-type)))
 	      (dolist (elt default-coding-system)
@@ -1235,7 +1241,7 @@
 
     (dolist (elt alist)
       (set-language-info-internal lang-env (car elt) (cdr elt)))
-    
+
     (if (equal lang-env current-language-environment)
 	(set-language-environment lang-env))))
 
@@ -1358,10 +1364,8 @@
 
 (defun register-input-method (input-method lang-env &rest args)
   "Register INPUT-METHOD as an input method for language environment LANG-ENV.
+
 INPUT-METHOD and LANG-ENV are symbols or strings.
-
-The remaining arguments are:
-	ACTIVATE-FUNC, TITLE, DESCRIPTION, and ARGS...
 ACTIVATE-FUNC is a function to call to activate this method.
 TITLE is a string to show in the mode line when this method is active.
 DESCRIPTION is a string describing this method and what it is good for.
@@ -1379,7 +1383,8 @@
 
 The commands `describe-input-method' and `list-input-methods' need
 these duplicated values to show some information about input methods
-without loading the relevant Quail packages."
+without loading the relevant Quail packages.
+\n(fn INPUT-METHOD LANG-ENV ACTIVATE-FUNC TITLE DESCRIPTION &rest ARGS)"
   (if (symbolp lang-env)
       (setq lang-env (symbol-name lang-env)))
   (if (symbolp input-method)
@@ -2609,6 +2614,9 @@
 		   (not (coding-system-equal coding-system
 					     locale-coding-system)))
 	  (prefer-coding-system coding-system)
+	  ;; Fixme: perhaps prefer-coding-system should set this too.
+	  ;; But it's not the time to do such a fundamental change.
+	  (setq default-sendmail-coding-system coding-system)
 	  (setq locale-coding-system coding-system))))
 
     ;; On Windows, override locale-coding-system,
--- a/lisp/international/mule-conf.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/mule-conf.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,8 @@
 ;;; mule-conf.el --- configure multilingual environment -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2005
-;;   Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+;;   2004, 2005, 2006  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/mule-diag.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/mule-diag.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,9 @@
 ;;; mule-diag.el --- show diagnosis of multilingual environment (Mule)
 
-;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003
-;;   Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1999, 2000, 2001, 2002, 2003
+;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/mule-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/mule-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,9 @@
 ;;; mule-util.el --- utility functions for mulitilingual environment (mule)
 
-;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004
-;;   Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 1999, 2004
+;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/mule.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/mule.el	Mon Jan 01 17:38:32 2007 +0000
@@ -2,7 +2,8 @@
 
 ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/ogonek.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/ogonek.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; ogonek.el --- change the encoding of Polish diacritics
 
-;; Copyright (C) 1997, 1998, 2001  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Author: W{\l}odek Bzyl, Ryszard Kubiak
 ;; Maintainer: rysiek@ipipan.gda.pl (Ryszard Kubiak)
--- a/lisp/international/quail.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/quail.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; quail.el --- provides simple input method for multilingual text
 
-;; Copyright (C) 1997, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2003, 2004
+;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/subst-big5.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/subst-big5.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; subst-big5.el --- Unicode/GB2312 translation     -*-coding: big5;-*-
 
-;; Copyright (C) 2002, 2004  Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
--- a/lisp/international/subst-gb2312.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/subst-gb2312.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; subst-gb2312.el --- Unicode/GB2312 translation     -*-coding: euc-china;-*-
 
-;; Copyright (C) 2002, 2004  Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
--- a/lisp/international/subst-jis.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/subst-jis.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; subst-jis.el --- Unicode/JISX translation    -*-coding: euc-jp;-*-
-;; Copyright (C) 2002, 2004  Free Software Foundation, Inc.
-;; Copyright (C) 2004
+
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/subst-ksc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/subst-ksc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 ;;; subst-ksc.el --- Unicode/KSC-5601 translation    -*-coding: euc-kr;-*-
-;; Copyright (C) 2002, 2004  Free Software Foundation, Inc.
+
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
--- a/lisp/international/titdic-cnv.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/titdic-cnv.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; titdic-cnv.el --- convert cxterm dictionary (TIT format) to Quail package -*- coding:iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 1998, 2000, 2001  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 2000, 2001, 2002
+;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/ucs-tables.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/ucs-tables.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; ucs-tables.el --- translation to, from and via Unicode  -*- coding: iso-2022-7bit -*-
 
-;; Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
-;; Copyright (C) 2002, 2003
+;; Copyright (C) 2001, 2002, 2003, 2005, 2006  Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/utf-16.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/utf-16.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; utf-16.el --- UTF-16 encoding/decoding
 
-;; Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
-;; Copyright (C) 2002, 2003, 2004
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/international/utf-7.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/utf-7.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; utf-7.el --- utf-7 coding system
 
-;; Copyright (C) 2003  Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n, mail
--- a/lisp/international/utf-8.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/international/utf-8.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; utf-8.el --- UTF-8 decoding/encoding support -*- coding: iso-2022-7bit -*-
 
-;; Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
-;; Copyright (C) 2001, 2002, 2003, 2004
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/isearchb.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/isearchb.el	Mon Jan 01 17:38:32 2007 +0000
@@ -3,6 +3,7 @@
 ;; Copyright (C) 2004, 2005, 2006 John Wiegley
 
 ;; Author: John Wiegley <johnw@gnu.org>
+;; Maintainer: FSF
 ;; Created: 16 Apr 2004
 ;; Version: 1.5
 ;; Keywords: lisp
--- a/lisp/jka-compr.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/jka-compr.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; jka-compr.el --- reading/writing/loading compressed files
 
-;; Copyright (C) 1993, 1994, 1995, 1997, 1999, 2000, 2002, 2003,
+;; Copyright (C) 1993, 1994, 1995, 1997, 1999, 2000, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: jka@ece.cmu.edu (Jay K. Adams)
--- a/lisp/kermit.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/kermit.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; kermit.el --- additions to shell mode for use with kermit
 
-;; Copyright (C) 1988, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Jeff Norden <jeff@colgate.csnet>
--- a/lisp/language/china-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/china-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,9 @@
 ;;; china-util.el --- utilities for Chinese  -*- coding: iso-2022-7bit -*-
 
-;; Copyright (C) 1995, 2001, 2003
+;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 2003
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/chinese.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/chinese.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; chinese.el --- support for Chinese -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 2001, 2003  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/cyril-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/cyril-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; cyril-util.el --- utilities for Cyrillic scripts
 
-;; Copyright (C) 1997, 1998, 2001, 2002  Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
 
 ;; Keywords: mule, multilingual, Cyrillic
 
--- a/lisp/language/cyrillic.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/cyrillic.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; cyrillic.el --- support for Cyrillic -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004
+;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/czech.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/czech.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; czech.el --- support for Czech -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 1998, 2001 Free Software Foundation.
+;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation.
 
 ;; Author: Milan Zamazal <pdm@zamazal.org>
 ;; Maintainer: Pavel Jan,Am(Bk <Pavel@Janik.cz>
--- a/lisp/language/devan-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/devan-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,8 @@
 ;;; devan-util.el --- Support for composing Devanagari characters
 
-;; Copyright (C) 1997, 1998, 2001, 2002, 2003
+;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1998, 1999, 2000
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/devanagari.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/devanagari.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; devanagari.el --- Support for Devanagari -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 1996, 1997, 2001  Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Maintainer:  KAWABATA, Taichi <kawabata@m17n.org>
 ;; Keywords: multilingual, Indian, Devanagari
--- a/lisp/language/english.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/english.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; english.el --- support for English -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1997  Free Software Foundation, Inc.
-;; Copyright (C) 1997
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/ethio-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/ethio-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,8 @@
 ;;; ethio-util.el --- utilities for Ethiopic -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 1998, 2002
+;; Copyright (C) 1997, 1998, 2002, 2003, 2004, 2005, 2006
 ;;   Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1998, 1999, 2001, 2004, 2005
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/ethiopic.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/ethiopic.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; ethiopic.el --- support for Ethiopic -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 2001
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/european.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/european.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,8 +1,9 @@
 ;;; european.el --- support for European languages -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004
+;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/georgian.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/georgian.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; georgian.el --- language support for Georgian -*- no-byte-compile: t -*-
 
-;; Copyright (C) 2001  Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
--- a/lisp/language/greek.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/greek.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; greek.el --- support for Greek -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1995
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/hebrew.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/hebrew.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; hebrew.el --- support for Hebrew -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 2001  Free Software Foundation, Inc.
-;; Copyright (C) 1995
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/ind-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/ind-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; ind-util.el --- Transliteration and Misc. Tools for Indian Languages -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Maintainer:  KAWABATA, Taichi <kawabata@m17n.org>
 ;; Keywords: multilingual, Indian, Devanagari
--- a/lisp/language/indian.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/indian.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; indian.el --- Indian languages support -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 1999, 2001  Free Software Foundation, Inc.
-;; Copyright (C) 2002, 2003
+;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/japan-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/japan-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; japan-util.el --- utilities for Japanese -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 2001  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1998, 2000, 2003
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/japanese.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/japanese.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; japanese.el --- support for Japanese -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 1997  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/kannada.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/kannada.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; kannada.el --- Support for Kannada -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Maintainer:  CHOWKSEY, Kailash C. <klchxbec@m-net.arbornet.org>
 ;; Keywords: multilingual, Indian, Kannada
--- a/lisp/language/knd-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/knd-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; knd-util.el --- Support for composing Kannada characters
 
-;; Copyright (C) 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Maintainer:  Maintainer:  CHOWKSEY, Kailash C. <klchxbec@m-net.arbornet.org>
 ;; Keywords: multilingual, Kannada
--- a/lisp/language/korea-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/korea-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; korea-util.el --- utilities for Korean
 
-;; Copyright (C) 1997, 1999  Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1998, 1999
+;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/korean.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/korean.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; korean.el --- support for Korean -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 1998  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1998
+;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/lao-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/lao-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; lao-util.el --- utilities for Lao -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 2001  Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1998, 1999, 2000
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/lao.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/lao.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; lao.el --- support for Lao -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
 ;; Copyright (C) 2001  Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1998, 1999, 2002
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/malayalam.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/malayalam.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; malayalam.el --- Support for Malayalam -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Maintainer:  KAWABATA, Taichi <kawabata@m17n.org>
 ;; Keywords: multilingual, Indian, Malayalam
--- a/lisp/language/misc-lang.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/misc-lang.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; misc-lang.el --- support for miscellaneous languages (characters) -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1995, 1997
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/mlm-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/mlm-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; mlm-util.el --- support for composing malayalam characters  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Maintainer:  KAWABATA, Taichi <kawabata@m17n.org>
 ;; Keywords: multilingual, Malayalam
--- a/lisp/language/romanian.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/romanian.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; romanian.el --- support for Romanian -*- coding: iso-latin-2; no-byte-compile: t -*-
 
-;; Copyright (C) 1998 Free Software Foundation.
+;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation.
 
 ;; Author:    Dan Nicolaescu <done@ece.arizona.edu>
 ;; Keywords: multilingual, Romanian
--- a/lisp/language/slovak.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/slovak.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; slovak.el --- support for Slovak -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 1998, 2001 Free Software Foundation.
+;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation.
 
 ;; Authors:    Tibor ,B)(Bimko <tibor.simko@fmph.uniba.sk>,
 ;;             Milan Zamazal <pdm@zamazal.org>
--- a/lisp/language/tamil.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/tamil.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; tamil.el --- Support for Tamil -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Maintainer: KAWABATA, Taichi <batta@beige.ocn.ne.jp>
 ;; Keywords: multilingual, Indian, Tamil
--- a/lisp/language/thai-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/thai-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,9 +1,11 @@
 ;;; thai-util.el --- utilities for Thai -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2005
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
-;; Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Keywords: mule, multilingual, thai
 
--- a/lisp/language/thai-word.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/thai-word.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; thai-word.el -- find Thai word boundaries
 
-;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/thai.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/thai.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,9 +1,11 @@
 ;;; thai.el --- support for Thai -*- coding: iso-2022-7bit; no-byte-compile: t -*-
 
-;; Copyright (C) 1995, 1997, 1998, 1999, 2000, 2002, 2005
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
-;; Copyright (C) 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
 
 ;; Keywords: multilingual, Thai
 
--- a/lisp/language/tibet-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/tibet-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; tibet-util.el --- utilities for Tibetan   -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 2002  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 2000
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/tibetan.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/tibetan.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; tibetan.el --- support for Tibetan language -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1997, 2002  Free Software Foundation, Inc.
-;; Copyright (C) 1997, 1999, 2000
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/tml-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/tml-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; tml-util.el --- support for composing tamil characters  -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 2001 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Maintainer: KAWABATA, Taichi <kawabata@m17n.org>
 ;; Keywords: multilingual, Indian, Tamil
--- a/lisp/language/utf-8-lang.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/utf-8-lang.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; utf-8-lang.el --- generic UTF-8 language environment -*- no-byte-compile: t -*-
 
-;; Copyright (C) 2001  Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: i18n
--- a/lisp/language/viet-util.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/viet-util.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; viet-util.el --- utilities for Vietnamese  -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1998  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997
+;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/language/vietnamese.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/language/vietnamese.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,9 @@
 ;;; vietnamese.el --- support for Vietnamese -*- coding: iso-2022-7bit; -*-
 
-;; Copyright (C) 1998, 2002  Free Software Foundation, Inc.
-;; Copyright (C) 1995, 1997, 1998, 2000
+;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
--- a/lisp/ldefs-boot.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ldefs-boot.el	Mon Jan 01 17:38:32 2007 +0000
@@ -4,7 +4,7 @@
 
 ;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best
 ;;;;;;  5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5"
-;;;;;;  "play/5x5.el" (17383 38807))
+;;;;;;  "play/5x5.el" (17817 14124))
 ;;; Generated autoloads from play/5x5.el
 
 (autoload (quote 5x5) "5x5" "\
@@ -63,14 +63,14 @@
 
 ;;;***
 
-;;;### (autoloads nil "abbrev" "abbrev.el" (17496 38721))
+;;;### (autoloads nil "abbrev" "abbrev.el" (17817 13973))
 ;;; Generated autoloads from abbrev.el
 (put 'abbrev-mode 'safe-local-variable 'booleanp)
 
 ;;;***
 
 ;;;### (autoloads (list-one-abbrev-table) "abbrevlist" "abbrevlist.el"
-;;;;;;  (17405 10313))
+;;;;;;  (17817 13973))
 ;;; Generated autoloads from abbrevlist.el
 
 (autoload (quote list-one-abbrev-table) "abbrevlist" "\
@@ -153,7 +153,7 @@
 ;;;***
 
 ;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el"
-;;;;;;  (17778 50475))
+;;;;;;  (17817 13969))
 ;;; Generated autoloads from progmodes/ada-xref.el
 
 (autoload (quote ada-find-file) "ada-xref" "\
@@ -168,7 +168,7 @@
 ;;;;;;  change-log-mode add-change-log-entry-other-window add-change-log-entry
 ;;;;;;  find-change-log prompt-for-change-log-name add-log-mailing-address
 ;;;;;;  add-log-full-name add-log-current-defun-function) "add-log"
-;;;;;;  "add-log.el" (17778 50472))
+;;;;;;  "add-log.el" (17817 16160))
 ;;; Generated autoloads from add-log.el
 
 (defvar add-log-current-defun-function nil "\
@@ -306,7 +306,7 @@
 
 ;;;### (autoloads (defadvice ad-activate ad-add-advice ad-disable-advice
 ;;;;;;  ad-enable-advice ad-default-compilation-action ad-redefinition-action)
-;;;;;;  "advice" "emacs-lisp/advice.el" (17713 5989))
+;;;;;;  "advice" "emacs-lisp/advice.el" (17817 13982))
 ;;; Generated autoloads from emacs-lisp/advice.el
 
 (defvar ad-redefinition-action (quote warn) "\
@@ -434,7 +434,7 @@
 
 ;;;### (autoloads (align-newline-and-indent align-unhighlight-rule
 ;;;;;;  align-highlight-rule align-current align-entire align-regexp
-;;;;;;  align) "align" "align.el" (17390 26934))
+;;;;;;  align) "align" "align.el" (17817 15485))
 ;;; Generated autoloads from align.el
 
 (autoload (quote align) "align" "\
@@ -524,7 +524,7 @@
 ;;;***
 
 ;;;### (autoloads (outlineify-sticky allout-mode) "allout" "allout.el"
-;;;;;;  (17778 50472))
+;;;;;;  (17817 16945))
 ;;; Generated autoloads from allout.el
 
 (put (quote allout-show-bodies) (quote safe-local-variable) (if (fboundp (quote booleanp)) (quote booleanp) (quote (lambda (x) (member x (quote (t nil)))))))
@@ -573,88 +573,107 @@
 an example, see the allout code itself, which is organized as an allout
 outline.)
 
-In addition to outline navigation and exposure, allout includes:
-
- - topic-oriented repositioning, promotion/demotion, cut, and paste
- - integral outline exposure-layout
+In addition to typical outline navigation and exposure, allout includes:
+
+ - topic-oriented authoring, including keystroke-based topic creation,
+   repositioning, promotion/demotion, cut, and paste
  - incremental search with dynamic exposure and reconcealment of hidden text
- - automatic topic-number maintenance
+ - adjustable format, so programming code can be developed in outline-structure
  - easy topic encryption and decryption
- - \"Hot-spot\" operation, for single-keystroke maneuvering and
-    exposure control.  (See the allout-mode docstring.)
+ - \"Hot-spot\" operation, for single-keystroke maneuvering and exposure control
+ - integral outline layout, for automatic initial exposure when visiting a file
+ - independent extensibility, using comprehensive exposure and authoring hooks
 
 and many other features.
 
-Below is a description of the bindings, and then explanation of
+Below is a description of the key bindings, and then explanation of
 special `allout-mode' features and terminology.  See also the outline
 menubar additions for quick reference to many of the features, and see
 the docstring of the function `allout-init' for instructions on
 priming your emacs session for automatic activation of `allout-mode'.
 
-
-The bindings are dictated by the `allout-keybindings-list' and
-`allout-command-prefix' variables.
-
-	Navigation:				   Exposure Control:
-	----------                                 ----------------
-\\[allout-next-visible-heading] allout-next-visible-heading     | \\[allout-hide-current-subtree] allout-hide-current-subtree
-\\[allout-previous-visible-heading] allout-previous-visible-heading | \\[allout-show-children] allout-show-children
-\\[allout-up-current-level] allout-up-current-level         | \\[allout-show-current-subtree] allout-show-current-subtree
-\\[allout-forward-current-level] allout-forward-current-level    | \\[allout-show-current-entry] allout-show-current-entry
-\\[allout-backward-current-level] allout-backward-current-level   | \\[allout-show-all] allout-show-all
-\\[allout-end-of-entry] allout-end-of-entry
-\\[allout-beginning-of-current-entry] allout-beginning-of-current-entry, alternately, goes to hot-spot
-
-	Topic Header Production:
-	-----------------------
-\\[allout-open-sibtopic]	allout-open-sibtopic	Create a new sibling after current topic.
-\\[allout-open-subtopic]	allout-open-subtopic	... an offspring of current topic.
-\\[allout-open-supertopic]	allout-open-supertopic	... a sibling of the current topic's parent.
-
-	Topic Level and Prefix Adjustment:
-	---------------------------------
-\\[allout-shift-in]	allout-shift-in	Shift current topic and all offspring deeper.
-\\[allout-shift-out]	allout-shift-out	... less deep.
-\\[allout-rebullet-current-heading]	allout-rebullet-current-heading Prompt for alternate bullet for
-					 current topic.
-\\[allout-rebullet-topic]	allout-rebullet-topic	Reconcile bullets of topic and its offspring
-				- distinctive bullets are not changed, others
-				  alternated according to nesting depth.
-\\[allout-number-siblings]	allout-number-siblings	Number bullets of topic and siblings - the
-				offspring are not affected.  With repeat
-				count, revoke numbering.
-
-	Topic-oriented Killing and Yanking:
-	----------------------------------
-\\[allout-kill-topic]	allout-kill-topic	Kill current topic, including offspring.
-\\[allout-copy-topic-as-kill]	allout-copy-topic-as-kill Copy current topic, including offspring.
-\\[allout-kill-line]	allout-kill-line	kill-line, attending to outline structure.
-\\[allout-copy-line-as-kill]	allout-copy-line-as-kill Copy line but don't delete it.
-\\[allout-yank]	allout-yank		Yank, adjusting depth of yanked topic to
-				depth of heading if yanking into bare topic
-				heading (ie, prefix sans text).
-\\[allout-yank-pop]	allout-yank-pop	Is to allout-yank as yank-pop is to yank
-
-	Topic-oriented Encryption:
-	-------------------------
-\\[allout-toggle-current-subtree-encryption]	allout-toggle-current-subtree-encryption Encrypt/Decrypt topic content
-
-	Misc commands:
-	-------------
-M-x outlineify-sticky		Activate outline mode for current buffer,
-				and establish a default file-var setting
-				for `allout-layout'.
-\\[allout-mark-topic]   	allout-mark-topic
-\\[allout-copy-exposed-to-buffer]     allout-copy-exposed-to-buffer
-				Duplicate outline, sans concealed text, to
-				buffer with name derived from derived from that
-				of current buffer - \"*BUFFERNAME exposed*\".
-\\[allout-flatten-exposed-to-buffer]	allout-flatten-exposed-to-buffer
-				Like above 'copy-exposed', but convert topic
-				prefixes to section.subsection... numeric
-				format.
-\\[eval-expression] (allout-init t)	Setup Emacs session for outline mode
-				auto-activation.
+The bindings are dictated by the customizable `allout-keybindings-list'
+variable.  We recommend customizing `allout-command-prefix' to use just
+`\\C-c' as the command prefix, if the allout bindings don't conflict with
+any personal bindings you have on \\C-c.  In any case, outline structure
+navigation and authoring is simplified by positioning the cursor on an
+item's bullet character, the \"hot-spot\" - then you can invoke allout
+commands with just the un-prefixed, un-control-shifted command letters.
+This is described further in the HOT-SPOT Operation section.
+
+        Exposure Control:
+        ----------------
+\\[allout-hide-current-subtree]   `allout-hide-current-subtree'
+\\[allout-show-children] `allout-show-children'
+\\[allout-show-current-subtree] `allout-show-current-subtree'
+\\[allout-show-current-entry] `allout-show-current-entry'
+\\[allout-show-all]   `allout-show-all'
+
+        Navigation:
+        ----------
+\\[allout-next-visible-heading] `allout-next-visible-heading'
+\\[allout-previous-visible-heading] `allout-previous-visible-heading'
+\\[allout-up-current-level] `allout-up-current-level'
+\\[allout-forward-current-level] `allout-forward-current-level'
+\\[allout-backward-current-level] `allout-backward-current-level'
+\\[allout-end-of-entry] `allout-end-of-entry'
+\\[allout-beginning-of-current-entry] `allout-beginning-of-current-entry' (alternately, goes to hot-spot)
+\\[allout-beginning-of-line]  `allout-beginning-of-line' - like regular beginning-of-line, but
+     if immediately repeated cycles to the beginning of the current item
+     and then to the hot-spot (if `allout-beginning-of-line-cycles' is set).
+
+
+        Topic Header Production:
+        -----------------------
+\\[allout-open-sibtopic] `allout-open-sibtopic' Create a new sibling after current topic.
+\\[allout-open-subtopic]   `allout-open-subtopic' ... an offspring of current topic.
+\\[allout-open-supertopic] `allout-open-supertopic' ... a sibling of the current topic's parent.
+
+        Topic Level and Prefix Adjustment:
+        ---------------------------------
+\\[allout-shift-in] `allout-shift-in'   Shift current topic and all offspring deeper
+\\[allout-shift-out] `allout-shift-out' ... less deep
+\\[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for
+            current topic
+\\[allout-rebullet-topic] `allout-rebullet-topic'   Reconcile bullets of topic and
+            its' offspring - distinctive bullets are not changed, others
+            are alternated according to nesting depth.
+\\[allout-number-siblings] `allout-number-siblings'  Number bullets of topic and siblings -
+           the offspring are not affected.
+           With repeat count, revoke numbering.
+
+        Topic-oriented Killing and Yanking:
+        ----------------------------------
+\\[allout-kill-topic] `allout-kill-topic'   Kill current topic, including offspring.
+\\[allout-copy-topic-as-kill] `allout-copy-topic-as-kill' Copy current topic, including offspring.
+\\[allout-kill-line]     `allout-kill-line'    kill-line, attending to outline structure.
+\\[allout-copy-line-as-kill]     `allout-copy-line-as-kill' Copy line but don't delete it.
+\\[allout-yank] `allout-yank'        Yank, adjusting depth of yanked topic to
+                             depth of heading if yanking into bare topic
+                             heading (ie, prefix sans text).
+\\[allout-yank-pop]     `allout-yank-pop'       Is to allout-yank as yank-pop is to yank
+
+        Topic-oriented Encryption:
+        -------------------------
+\\[allout-toggle-current-subtree-encryption] `allout-toggle-current-subtree-encryption'
+          Encrypt/Decrypt topic content
+
+        Misc commands:
+        -------------
+M-x outlineify-sticky       Activate outline mode for current buffer,
+                            and establish a default file-var setting
+                            for `allout-layout'.
+\\[allout-mark-topic]       `allout-mark-topic'
+\\[allout-copy-exposed-to-buffer] `allout-copy-exposed-to-buffer'
+                            Duplicate outline, sans concealed text, to
+                            buffer with name derived from derived from that
+                            of current buffer - \"*BUFFERNAME exposed*\".
+\\[allout-flatten-exposed-to-buffer] `allout-flatten-exposed-to-buffer'
+                            Like above 'copy-exposed', but convert topic
+                            prefixes to section.subsection... numeric
+                            format.
+\\[eval-expression] (allout-init t) Setup Emacs session for outline mode
+                            auto-activation.
 
                   Topic Encryption
 
@@ -662,17 +681,22 @@
 symmetric and key-pair modes, passphrase timeout, passphrase
 consistency checking, user-provided hinting for symmetric key
 mode, and auto-encryption of topics pending encryption on save.
-\(Topics pending encryption are, by default, automatically
-encrypted during file saves; if you're editing the contents of
-such a topic, it is automatically decrypted for continued
-editing.)  The aim is reliable topic privacy while preventing
-accidents like neglected encryption before saves, forgetting
-which passphrase was used, and other practical pitfalls.
-
-See `allout-toggle-current-subtree-encryption' function docstring and
-`allout-encrypt-unencrypted-on-saves' customization variable for details.
-
-		 HOT-SPOT Operation
+
+Topics pending encryption are, by default, automatically
+encrypted during file saves.  If the contents of the topic
+containing the cursor was encrypted for a save, it is
+automatically decrypted for continued editing.
+
+The aim of these measures is reliable topic privacy while
+preventing accidents like neglected encryption before saves,
+forgetting which passphrase was used, and other practical
+pitfalls.
+
+See `allout-toggle-current-subtree-encryption' function docstring
+and `allout-encrypt-unencrypted-on-saves' customization variable
+for details.
+
+                 HOT-SPOT Operation
 
 Hot-spot operation provides a means for easy, single-keystroke outline
 navigation and exposure control.
@@ -685,85 +709,108 @@
 
 Thus, by positioning the cursor on a topic bullet, you can
 execute the outline navigation and manipulation commands with a
-single keystroke.  Regular navigation keys (eg, \\[forward-char], \\[next-line]) never get
+single keystroke.  Regular navigation keys (eg, \\[forward-char], \\[next-line]) don't get
 this special translation, so you can use them to get out of the
-hot-spot and back to normal operation.
-
-Note that the command `allout-beginning-of-current-entry' (\\[allout-beginning-of-current-entry])
-will move to the hot-spot when the cursor is already located at the
-beginning of the current entry, so you usually can hit \\[allout-beginning-of-current-entry]
-twice in a row to get to the hot-spot.
-
-			    Terminology
+hot-spot and back to normal editing operation.
+
+In allout-mode, the normal beginning-of-line command (\\[allout-beginning-of-line]]) is
+replaced with one that makes it easy to get to the hot-spot.  If you
+repeat it immediately it cycles (if `allout-beginning-of-line-cycles'
+is set) to the beginning of the item and then, if you hit it again
+immediately, to the hot-spot.  Similarly, `allout-beginning-of-current-entry'
+\(\\[allout-beginning-of-current-entry]) moves to the hot-spot when the cursor is already located
+at the beginning of the current entry.
+
+                             Extending Allout
+
+Allout exposure and authoring activites all have associated
+hooks, by which independent code can cooperate with allout
+without changes to the allout core.  Here are key ones:
+
+`allout-mode-hook'
+`allout-mode-deactivate-hook'
+`allout-exposure-change-hook'
+`allout-structure-added-hook'
+`allout-structure-deleted-hook'
+`allout-structure-shifted-hook'
+
+                            Terminology
 
 Topic hierarchy constituents - TOPICS and SUBTOPICS:
 
-TOPIC:	A basic, coherent component of an Emacs outline.  It can
-	contain and be contained by other topics.
-CURRENT topic:
-	The visible topic most immediately containing the cursor.
-DEPTH:	The degree of nesting of a topic; it increases with
-	containment.  Also called the:
-LEVEL:	The same as DEPTH.
+ITEM:   A unitary outline element, including the HEADER and ENTRY text.
+TOPIC:  An ITEM and any ITEMs contained within it, ie having greater DEPTH
+        and with no intervening items of lower DEPTH than the container.
+CURRENT ITEM:
+        The visible ITEM most immediately containing the cursor.
+DEPTH:  The degree of nesting of an ITEM; it increases with containment.
+        The DEPTH is determined by the HEADER PREFIX.  The DEPTH is also
+        called the:
+LEVEL:  The same as DEPTH.
 
 ANCESTORS:
-	The topics that contain a topic.
-PARENT:	A topic's immediate ancestor.  It has a depth one less than
-	the topic.
+        Those ITEMs whose TOPICs contain an ITEM.
+PARENT: An ITEM's immediate ANCESTOR.  It has a DEPTH one less than that
+        of the ITEM.
 OFFSPRING:
-	The topics contained by a topic;
+        The ITEMs contained within an ITEM's TOPIC.
 SUBTOPIC:
-	An immediate offspring of a topic;
-CHILDREN:
-	The immediate offspring of a topic.
+        An OFFSPRING of its ANCESTOR TOPICs.
+CHILD:
+        An immediate SUBTOPIC of its PARENT.
 SIBLINGS:
-	Topics having the same parent and depth.
+        TOPICs having the same PARENT and DEPTH.
 
 Topic text constituents:
 
-HEADER:	The first line of a topic, include the topic PREFIX and header
-	text.
-PREFIX: The leading text of a topic which distinguishes it from normal
-        text.  It has a strict form, which consists of a prefix-lead
-        string, padding, and a bullet.  The bullet may be followed by a
+HEADER: The first line of an ITEM, include the ITEM PREFIX and HEADER
+        text.
+ENTRY:  The text content of an ITEM, before any OFFSPRING, but including
+        the HEADER text and distinct from the ITEM PREFIX.
+BODY:   Same as ENTRY.
+PREFIX: The leading text of an ITEM which distinguishes it from normal
+        ENTRY text.  Allout recognizes the outline structure according
+        to the strict PREFIX format.  It consists of a PREFIX-LEAD string,
+        PREFIX-PADDING, and a BULLET.  The BULLET might be followed by a
         number, indicating the ordinal number of the topic among its
-        siblings, a space, and then the header text.
-
-	The relative length of the PREFIX determines the nesting depth
-	of the topic.
+        siblings, or an asterisk indicating encryption, plus an optional
+        space.  After that is the ITEM HEADER text, which is not part of
+        the PREFIX.
+
+        The relative length of the PREFIX determines the nesting DEPTH
+        of the ITEM.
 PREFIX-LEAD:
-	The string at the beginning of a topic prefix, normally a `.'.
-	It can be customized by changing the setting of
-	`allout-header-prefix' and then reinitializing `allout-mode'.
-
-	By setting the prefix-lead to the comment-string of a
-	programming language, you can embed outline structuring in
-	program code without interfering with the language processing
-	of that code.  See `allout-use-mode-specific-leader'
-	docstring for more detail.
+        The string at the beginning of a HEADER PREFIX, by default a `.'.
+        It can be customized by changing the setting of
+        `allout-header-prefix' and then reinitializing `allout-mode'.
+
+        When the PREFIX-LEAD is set to the comment-string of a
+        programming language, outline structuring can be embedded in
+        program code without interfering with processing of the text
+        (by emacs or the language processor) as program code.  This
+        setting happens automatically when allout mode is used in
+        programming-mode buffers.  See `allout-use-mode-specific-leader'
+        docstring for more detail.
 PREFIX-PADDING:
-	Spaces or asterisks which separate the prefix-lead and the
-	bullet, determining the depth of the topic.
-BULLET: A character at the end of the topic prefix, it must be one of
-	the characters listed on `allout-plain-bullets-string' or
+        Spaces or asterisks which separate the PREFIX-LEAD and the
+        bullet, determining the ITEM's DEPTH.
+BULLET: A character at the end of the ITEM PREFIX, it must be one of
+        the characters listed on `allout-plain-bullets-string' or
         `allout-distinctive-bullets-string'.  (See the documentation
         for these variables for more details.)  The default choice of
-	bullet when generating topics varies in a cycle with the depth of
-	the topic.
-ENTRY:	The text contained in a topic before any offspring.
-BODY:	Same as ENTRY.
-
+        BULLET when generating ITEMs varies in a cycle with the DEPTH of
+        the ITEM.
 
 EXPOSURE:
- 	The state of a topic which determines the on-screen visibility
-	of its offspring and contained text.
+        The state of a TOPIC which determines the on-screen visibility
+        of its OFFSPRING and contained ENTRY text.
 CONCEALED:
-	Topics and entry text whose display is inhibited.  Contiguous
-	units of concealed text is represented by `...' ellipses.
-
-	Concealed topics are effectively collapsed within an ancestor.
-CLOSED:	A topic whose immediate offspring and body-text is concealed.
-OPEN:	A topic that is not closed, though its offspring or body may be.
+        TOPICs and ENTRY text whose EXPOSURE is inhibited.  Concealed
+        text is represented by \"...\" ellipses.
+
+        CONCEALED TOPICs are effectively collapsed within an ANCESTOR.
+CLOSED: A TOPIC whose immediate OFFSPRING and body-text is CONCEALED.
+OPEN:	A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be.
 
 \(fn &optional TOGGLE)" t nil)
 
@@ -780,7 +827,7 @@
 ;;;***
 
 ;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp"
-;;;;;;  "net/ange-ftp.el" (17390 26944))
+;;;;;;  "net/ange-ftp.el" (17817 15940))
 ;;; Generated autoloads from net/ange-ftp.el
 
 (defalias (quote ange-ftp-re-read-dir) (quote ange-ftp-reread-dir))
@@ -1079,8 +1126,8 @@
 
 ;;;***
 
-;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (17611
-;;;;;;  9183))
+;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (17817
+;;;;;;  13973))
 ;;; Generated autoloads from arc-mode.el
 
 (autoload (quote archive-mode) "arc-mode" "\
@@ -1100,7 +1147,7 @@
 
 ;;;***
 
-;;;### (autoloads (array-mode) "array" "array.el" (17374 21266))
+;;;### (autoloads (array-mode) "array" "array.el" (17817 13973))
 ;;; Generated autoloads from array.el
 
 (autoload (quote array-mode) "array" "\
@@ -1422,7 +1469,7 @@
 ;;;***
 
 ;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el"
-;;;;;;  (17778 50472))
+;;;;;;  (17817 13973))
 ;;; Generated autoloads from autoarg.el
 
 (defvar autoarg-mode nil "\
@@ -1476,7 +1523,7 @@
 ;;;***
 
 ;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el"
-;;;;;;  (17390 27404))
+;;;;;;  (17817 14147))
 ;;; Generated autoloads from progmodes/autoconf.el
 
 (autoload (quote autoconf-mode) "autoconf" "\
@@ -1487,7 +1534,7 @@
 ;;;***
 
 ;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert)
-;;;;;;  "autoinsert" "autoinsert.el" (17713 5989))
+;;;;;;  "autoinsert" "autoinsert.el" (17817 13973))
 ;;; Generated autoloads from autoinsert.el
 
 (autoload (quote auto-insert) "autoinsert" "\
@@ -1629,7 +1676,7 @@
 ;;;***
 
 ;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid"
-;;;;;;  "avoid.el" (17713 5162))
+;;;;;;  "avoid.el" (17817 13974))
 ;;; Generated autoloads from avoid.el
 
 (defvar mouse-avoidance-mode nil "\
@@ -1759,8 +1806,8 @@
 
 ;;;***
 
-;;;### (autoloads (bibtex-mode) "bibtex" "textmodes/bibtex.el" (17778
-;;;;;;  50479))
+;;;### (autoloads (bibtex-mode) "bibtex" "textmodes/bibtex.el" (17817
+;;;;;;  14127))
 ;;; Generated autoloads from textmodes/bibtex.el
 
 (autoload (quote bibtex-mode) "bibtex" "\
@@ -2158,7 +2205,7 @@
 ;;;;;;  browse-url browse-url-of-region browse-url-of-dired-file
 ;;;;;;  browse-url-of-buffer browse-url-of-file browse-url-url-at-point
 ;;;;;;  browse-url-galeon-program browse-url-firefox-program browse-url-browser-function)
-;;;;;;  "browse-url" "net/browse-url.el" (17524 8597))
+;;;;;;  "browse-url" "net/browse-url.el" (17817 13984))
 ;;; Generated autoloads from net/browse-url.el
 
 (defvar browse-url-browser-function (cond ((memq system-type (quote (windows-nt ms-dos cygwin))) (quote browse-url-default-windows-browser)) ((memq system-type (quote (darwin))) (quote browse-url-default-macosx-browser)) (t (quote browse-url-default-browser))) "\
@@ -2172,17 +2219,17 @@
 function is passed the URL and any other args of `browse-url'.  The last
 regexp should probably be \".\" to specify a default browser.")
 
-(custom-autoload (quote browse-url-browser-function) "browse-url")
+(custom-autoload (quote browse-url-browser-function) "browse-url" t)
 
 (defvar browse-url-firefox-program "firefox" "\
 *The name by which to invoke Firefox.")
 
-(custom-autoload (quote browse-url-firefox-program) "browse-url")
+(custom-autoload (quote browse-url-firefox-program) "browse-url" t)
 
 (defvar browse-url-galeon-program "galeon" "\
 *The name by which to invoke Galeon.")
 
-(custom-autoload (quote browse-url-galeon-program) "browse-url")
+(custom-autoload (quote browse-url-galeon-program) "browse-url" t)
 
 (autoload (quote browse-url-url-at-point) "browse-url" "\
 Not documented
@@ -2489,8 +2536,8 @@
 
 ;;;***
 
-;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (17383
-;;;;;;  38807))
+;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (17817
+;;;;;;  14124))
 ;;; Generated autoloads from play/bruce.el
 
 (autoload (quote bruce) "bruce" "\
@@ -2506,7 +2553,7 @@
 ;;;***
 
 ;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next)
-;;;;;;  "bs" "bs.el" (17778 50472))
+;;;;;;  "bs" "bs.el" (17817 16161))
 ;;; Generated autoloads from bs.el
 
 (autoload (quote bs-cycle-next) "bs" "\
@@ -2740,7 +2787,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17778 50472))
+;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17817 16161))
 ;;; Generated autoloads from calendar/cal-dst.el
 
 (put (quote calendar-daylight-savings-starts) (quote risky-local-variable) t)
@@ -2872,7 +2919,7 @@
 ;;;;;;  mark-holidays-in-calendar view-calendar-holidays-initially
 ;;;;;;  calendar-remove-frame-by-deleting mark-diary-entries-in-calendar
 ;;;;;;  view-diary-entries-initially calendar-offset) "calendar"
-;;;;;;  "calendar/calendar.el" (17778 50296))
+;;;;;;  "calendar/calendar.el" (17817 16151))
 ;;; Generated autoloads from calendar/calendar.el
 
 (defvar calendar-offset 0 "\
@@ -3462,15 +3509,15 @@
 
 ;;;***
 
-;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (17515
-;;;;;;  24859))
+;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (17817
+;;;;;;  13957))
 ;;; Generated autoloads from progmodes/cc-compat.el
 (put 'c-indent-level 'safe-local-variable 'integerp)
 
 ;;;***
 
 ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el"
-;;;;;;  (17411 11765))
+;;;;;;  (17817 13957))
 ;;; Generated autoloads from progmodes/cc-engine.el
 
 (autoload (quote c-guess-basic-syntax) "cc-engine" "\
@@ -3482,7 +3529,7 @@
 
 ;;;### (autoloads (pike-mode idl-mode java-mode objc-mode c++-mode
 ;;;;;;  c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el"
-;;;;;;  (17611 8970))
+;;;;;;  (17817 15855))
 ;;; Generated autoloads from progmodes/cc-mode.el
 
 (autoload (quote c-initialize-cc-mode) "cc-mode" "\
@@ -3640,7 +3687,7 @@
 ;;;***
 
 ;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles"
-;;;;;;  "progmodes/cc-styles.el" (17524 8597))
+;;;;;;  "progmodes/cc-styles.el" (17817 13957))
 ;;; Generated autoloads from progmodes/cc-styles.el
 
 (autoload (quote c-set-style) "cc-styles" "\
@@ -3698,7 +3745,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (17778 50475))
+;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (17817 13957))
 ;;; Generated autoloads from progmodes/cc-vars.el
 (put 'c-basic-offset 'safe-local-variable 'integerp)
 (put 'c-backslash-column 'safe-local-variable 'integerp)
@@ -3708,7 +3755,7 @@
 
 ;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program
 ;;;;;;  declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el"
-;;;;;;  (17279 27079))
+;;;;;;  (17817 15477))
 ;;; Generated autoloads from international/ccl.el
 
 (autoload (quote ccl-compile) "ccl" "\
@@ -4172,8 +4219,8 @@
 ;;;***
 
 ;;;### (autoloads (encode-hz-buffer encode-hz-region decode-hz-buffer
-;;;;;;  decode-hz-region) "china-util" "language/china-util.el" (17279
-;;;;;;  27080))
+;;;;;;  decode-hz-region) "china-util" "language/china-util.el" (17817
+;;;;;;  15478))
 ;;; Generated autoloads from language/china-util.el
 
 (autoload (quote decode-hz-region) "china-util" "\
@@ -4201,7 +4248,7 @@
 ;;;***
 
 ;;;### (autoloads (command-history list-command-history repeat-matching-complex-command)
-;;;;;;  "chistory" "chistory.el" (17390 26936))
+;;;;;;  "chistory" "chistory.el" (17817 13974))
 ;;; Generated autoloads from chistory.el
 
 (autoload (quote repeat-matching-complex-command) "chistory" "\
@@ -4240,7 +4287,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (17713 5989))
+;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (17817 13982))
 ;;; Generated autoloads from emacs-lisp/cl.el
 
 (defvar custom-print-functions nil "\
@@ -4287,8 +4334,8 @@
 
 ;;;***
 
-;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (17390
-;;;;;;  26936))
+;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (17817
+;;;;;;  14115))
 ;;; Generated autoloads from cmuscheme.el
 
 (autoload (quote run-scheme) "cmuscheme" "\
@@ -4296,7 +4343,8 @@
 If there is a process already running in `*scheme*', switch to that buffer.
 With argument, allows you to edit the command line (default is value
 of `scheme-program-name').
-If a file `~/.emacs_SCHEMENAME' exists, it is given as initial input.
+If the file `~/.emacs_SCHEMENAME' or `~/.emacs.d/init_SCHEMENAME.scm' exists,
+it is given as initial input.
 Note that this may lose due to a timing error if the Scheme processor
 discards input when it starts up.
 Runs the hook `inferior-scheme-mode-hook' (after the `comint-mode-hook'
@@ -4309,7 +4357,7 @@
 ;;;***
 
 ;;;### (autoloads (cp-make-coding-system) "code-pages" "international/code-pages.el"
-;;;;;;  (17713 5990))
+;;;;;;  (17817 14139))
 ;;; Generated autoloads from international/code-pages.el
 
 (autoload (quote cp-make-coding-system) "code-pages" "\
@@ -4370,7 +4418,7 @@
 
 ;;;### (autoloads (codepage-setup cp-supported-codepages cp-offset-for-codepage
 ;;;;;;  cp-language-for-codepage cp-charset-for-codepage cp-make-coding-systems-for-codepage)
-;;;;;;  "codepage" "international/codepage.el" (17713 5990))
+;;;;;;  "codepage" "international/codepage.el" (17817 15477))
 ;;; Generated autoloads from international/codepage.el
 
 (autoload (quote cp-make-coding-systems-for-codepage) "codepage" "\
@@ -4429,7 +4477,7 @@
 ;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list
 ;;;;;;  comint-redirect-send-command-to-process comint-redirect-send-command
 ;;;;;;  comint-run make-comint make-comint-in-buffer) "comint" "comint.el"
-;;;;;;  (17778 50473))
+;;;;;;  (17817 15855))
 ;;; Generated autoloads from comint.el
 
 (defvar comint-output-filter-functions (quote (comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt)) "\
@@ -4519,8 +4567,8 @@
 
 ;;;***
 
-;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (17713
-;;;;;;  5305))
+;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (17817
+;;;;;;  13974))
 ;;; Generated autoloads from compare-w.el
 
 (autoload (quote compare-windows) "compare-w" "\
@@ -4719,7 +4767,7 @@
 ;;;***
 
 ;;;### (autoloads (partial-completion-mode) "complete" "complete.el"
-;;;;;;  (17713 4883))
+;;;;;;  (17817 13974))
 ;;; Generated autoloads from complete.el
 
 (defvar partial-completion-mode nil "\
@@ -4761,7 +4809,7 @@
 ;;;***
 
 ;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el"
-;;;;;;  (17713 5989))
+;;;;;;  (17817 13975))
 ;;; Generated autoloads from completion.el
 
 (defvar dynamic-completion-mode nil "\
@@ -4783,7 +4831,7 @@
 ;;;### (autoloads (decompose-composite-char compose-last-chars compose-chars-after
 ;;;;;;  find-composition compose-chars decompose-string compose-string
 ;;;;;;  decompose-region compose-region encode-composition-rule)
-;;;;;;  "composite" "composite.el" (17327 23539))
+;;;;;;  "composite" "composite.el" (17817 15477))
 ;;; Generated autoloads from composite.el
 
 (defconst reference-point-alist (quote ((tl . 0) (tc . 1) (tr . 2) (Bl . 3) (Bc . 4) (Br . 5) (bl . 6) (bc . 7) (br . 8) (cl . 9) (cc . 10) (cr . 11) (top-left . 0) (top-center . 1) (top-right . 2) (base-left . 3) (base-center . 4) (base-right . 5) (bottom-left . 6) (bottom-center . 7) (bottom-right . 8) (center-left . 9) (center-center . 10) (center-right . 11) (ml . 3) (mc . 10) (mr . 5) (mid-left . 3) (mid-center . 10) (mid-right . 5))) "\
@@ -5161,7 +5209,7 @@
 ;;;***
 
 ;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie)
-;;;;;;  "cookie1" "play/cookie1.el" (17569 17996))
+;;;;;;  "cookie1" "play/cookie1.el" (17817 14124))
 ;;; Generated autoloads from play/cookie1.el
 
 (autoload (quote cookie) "cookie1" "\
@@ -5221,7 +5269,7 @@
 ;;;***
 
 ;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode)
-;;;;;;  "cperl-mode" "progmodes/cperl-mode.el" (17778 50475))
+;;;;;;  "cperl-mode" "progmodes/cperl-mode.el" (17817 13977))
 ;;; Generated autoloads from progmodes/cperl-mode.el
 
 (autoload (quote cperl-mode) "cperl-mode" "\
@@ -5431,7 +5479,7 @@
 ;;;***
 
 ;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el"
-;;;;;;  (17390 26938))
+;;;;;;  (17817 13982))
 ;;; Generated autoloads from emulation/crisp.el
 
 (defvar crisp-mode nil "\
@@ -5442,7 +5490,7 @@
 Setting this variable directly does not take effect;
 use either M-x customize or the function `crisp-mode'.")
 
-(custom-autoload (quote crisp-mode) "crisp")
+(custom-autoload (quote crisp-mode) "crisp" nil)
 
 (autoload (quote crisp-mode) "crisp" "\
 Toggle CRiSP/Brief emulation minor mode.
@@ -5455,7 +5503,7 @@
 ;;;***
 
 ;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el"
-;;;;;;  (17515 24857))
+;;;;;;  (17817 13982))
 ;;; Generated autoloads from emacs-lisp/crm.el
 
 (autoload (quote completing-read-multiple) "crm" "\
@@ -5491,7 +5539,7 @@
 ;;;***
 
 ;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el"
-;;;;;;  (17713 6163))
+;;;;;;  (17817 13978))
 ;;; Generated autoloads from emulation/cua-base.el
 
 (defvar cua-mode nil "\
@@ -5557,8 +5605,25 @@
 ;;;;;;  customize-face customize-changed-options customize-option-other-window
 ;;;;;;  customize-option customize-group-other-window customize-group
 ;;;;;;  customize-mode customize customize-save-variable customize-set-variable
-;;;;;;  customize-set-value) "cus-edit" "cus-edit.el" (17778 50473))
+;;;;;;  customize-set-value custom-menu-sort-alphabetically custom-buffer-sort-alphabetically
+;;;;;;  custom-browse-sort-alphabetically) "cus-edit" "cus-edit.el"
+;;;;;;  (17817 16161))
 ;;; Generated autoloads from cus-edit.el
+
+(defvar custom-browse-sort-alphabetically nil "\
+If non-nil, sort customization group alphabetically in `custom-browse'.")
+
+(custom-autoload (quote custom-browse-sort-alphabetically) "cus-edit" t)
+
+(defvar custom-buffer-sort-alphabetically nil "\
+If non-nil, sort each customization group alphabetically in Custom buffer.")
+
+(custom-autoload (quote custom-buffer-sort-alphabetically) "cus-edit" t)
+
+(defvar custom-menu-sort-alphabetically nil "\
+If non-nil, sort each customization group alphabetically in menus.")
+
+(custom-autoload (quote custom-menu-sort-alphabetically) "cus-edit" t)
  (add-hook 'same-window-regexps "\\`\\*Customiz.*\\*\\'")
 
 (autoload (quote customize-set-value) "cus-edit" "\
@@ -5927,7 +5992,7 @@
 ;;;***
 
 ;;;### (autoloads (cvs-status-mode) "cvs-status" "cvs-status.el"
-;;;;;;  (17496 38723))
+;;;;;;  (17817 13975))
 ;;; Generated autoloads from cvs-status.el
 
 (autoload (quote cvs-status-mode) "cvs-status" "\
@@ -5982,7 +6047,7 @@
 
 ;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char
 ;;;;;;  cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el"
-;;;;;;  (17279 27080))
+;;;;;;  (17817 14143))
 ;;; Generated autoloads from language/cyril-util.el
 
 (autoload (quote cyrillic-encode-koi8-r-char) "cyril-util" "\
@@ -6227,7 +6292,7 @@
 ;;;***
 
 ;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el"
-;;;;;;  (17383 38807))
+;;;;;;  (17817 14124))
 ;;; Generated autoloads from play/decipher.el
 
 (autoload (quote decipher) "decipher" "\
@@ -6256,8 +6321,8 @@
 ;;;***
 
 ;;;### (autoloads (delimit-columns-rectangle delimit-columns-region
-;;;;;;  delimit-columns-customize) "delim-col" "delim-col.el" (17713
-;;;;;;  5989))
+;;;;;;  delimit-columns-customize) "delim-col" "delim-col.el" (17817
+;;;;;;  13975))
 ;;; Generated autoloads from delim-col.el
 
 (autoload (quote delimit-columns-customize) "delim-col" "\
@@ -6363,7 +6428,7 @@
 ;;;***
 
 ;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode)
-;;;;;;  "derived" "emacs-lisp/derived.el" (17390 26938))
+;;;;;;  "derived" "emacs-lisp/derived.el" (17817 13982))
 ;;; Generated autoloads from emacs-lisp/derived.el
 
 (autoload (quote define-derived-mode) "derived" "\
@@ -6428,7 +6493,7 @@
 ;;;***
 
 ;;;### (autoloads (describe-char describe-text-properties) "descr-text"
-;;;;;;  "descr-text.el" (17778 50473))
+;;;;;;  "descr-text.el" (17817 13959))
 ;;; Generated autoloads from descr-text.el
 
 (autoload (quote describe-text-properties) "descr-text" "\
@@ -6637,7 +6702,7 @@
 
 ;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article
 ;;;;;;  gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines)
-;;;;;;  "deuglify" "gnus/deuglify.el" (17490 7932))
+;;;;;;  "deuglify" "gnus/deuglify.el" (17817 15855))
 ;;; Generated autoloads from gnus/deuglify.el
 
 (autoload (quote gnus-article-outlook-unwrap-lines) "deuglify" "\
@@ -6670,7 +6735,7 @@
 ;;;***
 
 ;;;### (autoloads (devanagari-post-read-conversion devanagari-compose-region)
-;;;;;;  "devan-util" "language/devan-util.el" (17279 27080))
+;;;;;;  "devan-util" "language/devan-util.el" (17817 15478))
 ;;; Generated autoloads from language/devan-util.el
 
 (defconst devanagari-consonant "[\x51ad5-\x51af9\x51b38-\x51b3f]")
@@ -6798,7 +6863,7 @@
 ;;;;;;  dired dired-copy-preserve-time dired-dwim-target dired-keep-marker-symlink
 ;;;;;;  dired-keep-marker-hardlink dired-keep-marker-copy dired-keep-marker-rename
 ;;;;;;  dired-trivial-filenames dired-ls-F-marks-symlinks dired-listing-switches)
-;;;;;;  "dired" "dired.el" (17778 50473))
+;;;;;;  "dired" "dired.el" (17817 16882))
 ;;; Generated autoloads from dired.el
 
 (defvar dired-listing-switches "-al" "\
@@ -7429,7 +7494,7 @@
 
 ;;;***
 
-;;;### (autoloads (dirtrack) "dirtrack" "dirtrack.el" (17591 9569))
+;;;### (autoloads (dirtrack) "dirtrack" "dirtrack.el" (17817 13975))
 ;;; Generated autoloads from dirtrack.el
 
 (autoload (quote dirtrack) "dirtrack" "\
@@ -7467,7 +7532,7 @@
 ;;;;;;  standard-display-graphic standard-display-g1 standard-display-ascii
 ;;;;;;  standard-display-default standard-display-8bit describe-current-display-table
 ;;;;;;  describe-display-table set-display-table-slot display-table-slot
-;;;;;;  make-display-table) "disp-table" "disp-table.el" (17778 50473))
+;;;;;;  make-display-table) "disp-table" "disp-table.el" (17817 13975))
 ;;; Generated autoloads from disp-table.el
 
 (autoload (quote make-display-table) "disp-table" "\
@@ -7568,7 +7633,7 @@
 ;;;***
 
 ;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el"
-;;;;;;  (17383 38807))
+;;;;;;  (17817 14124))
 ;;; Generated autoloads from play/dissociate.el
 
 (autoload (quote dissociated-press) "dissociate" "\
@@ -7629,7 +7694,7 @@
 
 ;;;***
 
-;;;### (autoloads (doctor) "doctor" "play/doctor.el" (17374 21430))
+;;;### (autoloads (doctor) "doctor" "play/doctor.el" (17817 14124))
 ;;; Generated autoloads from play/doctor.el
 
 (autoload (quote doctor) "doctor" "\
@@ -7640,7 +7705,7 @@
 ;;;***
 
 ;;;### (autoloads (double-mode double-mode) "double" "double.el"
-;;;;;;  (17390 26937))
+;;;;;;  (17817 13975))
 ;;; Generated autoloads from double.el
 
 (defvar double-mode nil "\
@@ -7648,7 +7713,7 @@
 Setting this variable directly does not take effect;
 use either \\[customize] or the function `double-mode'.")
 
-(custom-autoload (quote double-mode) "double")
+(custom-autoload (quote double-mode) "double" nil)
 
 (autoload (quote double-mode) "double" "\
 Toggle Double mode.
@@ -7684,7 +7749,7 @@
 
 ;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap
 ;;;;;;  define-global-minor-mode define-minor-mode) "easy-mmode"
-;;;;;;  "emacs-lisp/easy-mmode.el" (17778 50473))
+;;;;;;  "emacs-lisp/easy-mmode.el" (17817 16945))
 ;;; Generated autoloads from emacs-lisp/easy-mmode.el
 
 (defalias (quote easy-mmode-define-minor-mode) (quote define-minor-mode))
@@ -7732,7 +7797,7 @@
 (defalias (quote easy-mmode-define-global-mode) (quote define-global-minor-mode))
 
 (autoload (quote define-global-minor-mode) "easy-mmode" "\
-Make GLOBAL-MODE out of the buffer-local minor MODE.
+Make a global mode GLOBAL-MODE corresponding to buffer-local minor MODE.
 TURN-ON is a function that will be called with no args in every buffer
   and that should try to turn MODE on if applicable for that buffer.
 KEYS is a list of CL-style keyword arguments.  As the minor mode
@@ -7776,8 +7841,8 @@
 ;;;***
 
 ;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define
-;;;;;;  easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (17390
-;;;;;;  26938))
+;;;;;;  easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (17817
+;;;;;;  16161))
 ;;; Generated autoloads from emacs-lisp/easymenu.el
 
 (put (quote easy-menu-define) (quote lisp-indent-function) (quote defun))
@@ -7904,6 +7969,10 @@
 ITEMS is a list of menu items, as in `easy-menu-define'.
 These items entirely replace the previous items in that submenu.
 
+If MAP is specified, it should normally be a keymap; nil stands for the local
+menu-bar keymap.  It can also be a symbol, which has earlier been used as the
+first argument in a call to `easy-menu-define', or the value of such a symbol.
+
 If the menu located by PATH has no submenu named NAME, add one.
 If the optional argument BEFORE is present, add it just before
 the submenu named BEFORE, otherwise add it at the end of the menu.
@@ -7911,7 +7980,7 @@
 To implement dynamic menus, either call this from
 `menu-bar-update-hook' or use a menu filter.
 
-\(fn PATH NAME ITEMS &optional BEFORE)" nil nil)
+\(fn PATH NAME ITEMS &optional BEFORE MAP)" nil nil)
 
 ;;;***
 
@@ -7922,7 +7991,7 @@
 ;;;;;;  ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer ebnf-spool-file
 ;;;;;;  ebnf-spool-directory ebnf-print-region ebnf-print-buffer
 ;;;;;;  ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps"
-;;;;;;  "progmodes/ebnf2ps.el" (17778 50475))
+;;;;;;  "progmodes/ebnf2ps.el" (17817 13971))
 ;;; Generated autoloads from progmodes/ebnf2ps.el
 
 (autoload (quote ebnf-customize) "ebnf2ps" "\
@@ -8333,7 +8402,7 @@
 ;;;***
 
 ;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el"
-;;;;;;  (17778 50473))
+;;;;;;  (17817 13975))
 ;;; Generated autoloads from ebuff-menu.el
 
 (autoload (quote electric-buffer-list) "ebuff-menu" "\
@@ -8358,7 +8427,7 @@
 ;;;***
 
 ;;;### (autoloads (Electric-command-history-redo-expression) "echistory"
-;;;;;;  "echistory.el" (17390 26937))
+;;;;;;  "echistory.el" (17817 13975))
 ;;; Generated autoloads from echistory.el
 
 (autoload (quote Electric-command-history-redo-expression) "echistory" "\
@@ -8739,7 +8808,7 @@
 
 ;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro
 ;;;;;;  edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el"
-;;;;;;  (17713 2486))
+;;;;;;  (17817 13975))
 ;;; Generated autoloads from edmacro.el
 
 (defvar edmacro-eight-bits nil "\
@@ -8792,7 +8861,7 @@
 ;;;***
 
 ;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt"
-;;;;;;  "emulation/edt.el" (17390 26938))
+;;;;;;  "emulation/edt.el" (17817 15738))
 ;;; Generated autoloads from emulation/edt.el
 
 (autoload (quote edt-set-scroll-margins) "edt" "\
@@ -8848,7 +8917,7 @@
 ;;;***
 
 ;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string)
-;;;;;;  "eldoc" "emacs-lisp/eldoc.el" (17713 5989))
+;;;;;;  "eldoc" "emacs-lisp/eldoc.el" (17817 13982))
 ;;; Generated autoloads from emacs-lisp/eldoc.el
 
 (defvar eldoc-minor-mode-string " ElDoc" "\
@@ -8886,8 +8955,8 @@
 
 ;;;***
 
-;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (17390
-;;;;;;  26937))
+;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (17817
+;;;;;;  13975))
 ;;; Generated autoloads from elide-head.el
 
 (autoload (quote elide-head) "elide-head" "\
@@ -8903,7 +8972,7 @@
 ;;;***
 
 ;;;### (autoloads (elint-initialize) "elint" "emacs-lisp/elint.el"
-;;;;;;  (17390 26938))
+;;;;;;  (17817 13982))
 ;;; Generated autoloads from emacs-lisp/elint.el
 
 (autoload (quote elint-initialize) "elint" "\
@@ -9042,7 +9111,7 @@
 ;;;***
 
 ;;;### (autoloads (encoded-kbd-setup-display) "encoded-kb" "international/encoded-kb.el"
-;;;;;;  (17323 25934))
+;;;;;;  (17817 15477))
 ;;; Generated autoloads from international/encoded-kb.el
 
 (autoload (quote encoded-kbd-setup-display) "encoded-kb" "\
@@ -9055,7 +9124,7 @@
 ;;;***
 
 ;;;### (autoloads (enriched-decode enriched-encode enriched-mode)
-;;;;;;  "enriched" "textmodes/enriched.el" (17778 50479))
+;;;;;;  "enriched" "textmodes/enriched.el" (17817 14127))
 ;;; Generated autoloads from textmodes/enriched.el
 
 (autoload (quote enriched-mode) "enriched" "\
@@ -9086,7 +9155,7 @@
 ;;;***
 
 ;;;### (autoloads (erc-handle-irc-url erc erc-select-read-args) "erc"
-;;;;;;  "erc/erc.el" (17778 50473))
+;;;;;;  "erc/erc.el" (17817 15473))
 ;;; Generated autoloads from erc/erc.el
 
 (autoload (quote erc-select-read-args) "erc" "\
@@ -9142,7 +9211,7 @@
 ;;;***
 
 ;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC)
-;;;;;;  "erc-dcc" "erc/erc-dcc.el" (17778 50473))
+;;;;;;  "erc-dcc" "erc/erc-dcc.el" (17817 13983))
 ;;; Generated autoloads from erc/erc-dcc.el
 
 (autoload (quote erc-cmd-DCC) "erc-dcc" "\
@@ -9174,7 +9243,7 @@
 ;;;;;;  erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list
 ;;;;;;  erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action
 ;;;;;;  erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el"
-;;;;;;  (17469 12056))
+;;;;;;  (17817 14136))
 ;;; Generated autoloads from erc/erc-ezbounce.el
 
 (autoload (quote erc-cmd-ezb) "erc-ezbounce" "\
@@ -9205,7 +9274,7 @@
 \(fn MESSAGE)" nil nil)
 
 (autoload (quote erc-ezb-init-session-list) "erc-ezbounce" "\
-Reset the EZBounce session list to NIL.
+Reset the EZBounce session list to nil.
 
 \(fn MESSAGE)" nil nil)
 
@@ -9295,27 +9364,6 @@
 
 ;;;***
 
-;;;### (autoloads (erc-chanlist erc-list-channels) "erc-list" "erc/erc-list.el"
-;;;;;;  (17396 42158))
-;;; Generated autoloads from erc/erc-list.el
- (autoload 'erc-list-mode "erc-list")
-
-(autoload (quote erc-list-channels) "erc-list" "\
-Display a buffer containing a list of channels on the current server.
-Optional argument CHANNEL specifies a single channel to list (instead of every
-available channel).
-
-\(fn &rest CHANNEL)" t nil)
-
-(autoload (quote erc-chanlist) "erc-list" "\
-Show a channel listing of the current server in a special mode.
-Please note that this function only works with IRC servers which conform
-to RFC and send the LIST header (#321) at start of list transmission.
-
-\(fn &optional CHANNELS)" t nil)
-
-;;;***
-
 ;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log"
 ;;;;;;  "erc/erc-log.el" (17778 50473))
 ;;; Generated autoloads from erc/erc-log.el
@@ -9512,7 +9560,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (17396 42169))
+;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (17817 13983))
 ;;; Generated autoloads from erc/erc-stamp.el
  (autoload 'erc-timestamp-mode "erc-stamp" nil t)
 
@@ -9569,8 +9617,8 @@
 
 ;;;***
 
-;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (17390
-;;;;;;  26939))
+;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (17817
+;;;;;;  14118))
 ;;; Generated autoloads from eshell/esh-test.el
 
 (autoload (quote eshell-test) "esh-test" "\
@@ -9581,7 +9629,7 @@
 ;;;***
 
 ;;;### (autoloads (eshell-report-bug eshell-command-result eshell-command
-;;;;;;  eshell) "eshell" "eshell/eshell.el" (17427 42815))
+;;;;;;  eshell) "eshell" "eshell/eshell.el" (17817 14118))
 ;;; Generated autoloads from eshell/eshell.el
 
 (autoload (quote eshell) "eshell" "\
@@ -9929,7 +9977,7 @@
 ;;;;;;  ethio-fidel-to-sera-buffer ethio-fidel-to-sera-region ethio-sera-to-fidel-marker
 ;;;;;;  ethio-sera-to-fidel-mail ethio-sera-to-fidel-mail-or-marker
 ;;;;;;  ethio-sera-to-fidel-buffer ethio-sera-to-fidel-region setup-ethiopic-environment-internal)
-;;;;;;  "ethio-util" "language/ethio-util.el" (17549 5052))
+;;;;;;  "ethio-util" "language/ethio-util.el" (17817 15478))
 ;;; Generated autoloads from language/ethio-util.el
 
 (autoload (quote setup-ethiopic-environment-internal) "ethio-util" "\
@@ -10124,7 +10172,7 @@
 
 ;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline
 ;;;;;;  eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el"
-;;;;;;  (17390 26944))
+;;;;;;  (17817 14121))
 ;;; Generated autoloads from net/eudc.el
 
 (autoload (quote eudc-set-server) "eudc" "\
@@ -10180,7 +10228,7 @@
 
 ;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline
 ;;;;;;  eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary)
-;;;;;;  "eudc-bob" "net/eudc-bob.el" (17390 26944))
+;;;;;;  "eudc-bob" "net/eudc-bob.el" (17817 14121))
 ;;; Generated autoloads from net/eudc-bob.el
 
 (autoload (quote eudc-display-generic-binary) "eudc-bob" "\
@@ -10216,7 +10264,7 @@
 ;;;***
 
 ;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb)
-;;;;;;  "eudc-export" "net/eudc-export.el" (17390 26944))
+;;;;;;  "eudc-export" "net/eudc-export.el" (17817 14121))
 ;;; Generated autoloads from net/eudc-export.el
 
 (autoload (quote eudc-insert-record-at-point-into-bbdb) "eudc-export" "\
@@ -10233,7 +10281,7 @@
 ;;;***
 
 ;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el"
-;;;;;;  (17390 26944))
+;;;;;;  (17817 14121))
 ;;; Generated autoloads from net/eudc-hotlist.el
 
 (autoload (quote eudc-edit-hotlist) "eudc-hotlist" "\
@@ -10243,8 +10291,8 @@
 
 ;;;***
 
-;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (17549
-;;;;;;  4607))
+;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (17817
+;;;;;;  13982))
 ;;; Generated autoloads from emacs-lisp/ewoc.el
 
 (autoload (quote ewoc-create) "ewoc" "\
@@ -10315,7 +10363,7 @@
 ;;;***
 
 ;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot
-;;;;;;  expand-add-abbrevs) "expand" "expand.el" (17778 50473))
+;;;;;;  expand-add-abbrevs) "expand" "expand.el" (17817 13975))
 ;;; Generated autoloads from expand.el
 
 (autoload (quote expand-add-abbrevs) "expand" "\
@@ -10358,7 +10406,7 @@
 
 ;;;***
 
-;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (17778 50475))
+;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (17817 13977))
 ;;; Generated autoloads from progmodes/f90.el
 
 (autoload (quote f90-mode) "f90" "\
@@ -10425,7 +10473,7 @@
 ;;;;;;  facemenu-remove-all facemenu-remove-face-props facemenu-set-read-only
 ;;;;;;  facemenu-set-intangible facemenu-set-invisible facemenu-set-face-from-menu
 ;;;;;;  facemenu-set-background facemenu-set-foreground facemenu-set-face)
-;;;;;;  "facemenu" "facemenu.el" (17778 50473))
+;;;;;;  "facemenu" "facemenu.el" (17817 13971))
 ;;; Generated autoloads from facemenu.el
  (define-key global-map "\M-o" 'facemenu-keymap)
  (autoload 'facemenu-keymap "facemenu" "Keymap for face-changing commands." t 'keymap)
@@ -10593,7 +10641,7 @@
 ;;;***
 
 ;;;### (autoloads (turn-on-fast-lock fast-lock-mode) "fast-lock"
-;;;;;;  "obsolete/fast-lock.el" (17713 5990))
+;;;;;;  "obsolete/fast-lock.el" (17817 14122))
 ;;; Generated autoloads from obsolete/fast-lock.el
 
 (autoload (quote fast-lock-mode) "fast-lock" "\
@@ -10688,7 +10736,7 @@
 ;;;***
 
 ;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu
-;;;;;;  find-file-at-point ffap-next) "ffap" "ffap.el" (17778 50473))
+;;;;;;  find-file-at-point ffap-next) "ffap" "ffap.el" (17817 13975))
 ;;; Generated autoloads from ffap.el
 
 (autoload (quote ffap-next) "ffap" "\
@@ -10747,7 +10795,7 @@
 ;;;### (autoloads (file-cache-minibuffer-complete file-cache-add-directory-recursively
 ;;;;;;  file-cache-add-directory-using-locate file-cache-add-directory-using-find
 ;;;;;;  file-cache-add-file file-cache-add-directory-list file-cache-add-directory)
-;;;;;;  "filecache" "filecache.el" (17713 5989))
+;;;;;;  "filecache" "filecache.el" (17817 13975))
 ;;; Generated autoloads from filecache.el
 
 (autoload (quote file-cache-add-directory) "filecache" "\
@@ -10818,7 +10866,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "fill" "textmodes/fill.el" (17778 50479))
+;;;### (autoloads nil "fill" "textmodes/fill.el" (17817 16882))
 ;;; Generated autoloads from textmodes/fill.el
 (put 'colon-double-space 'safe-local-variable 'booleanp)
 
@@ -10826,7 +10874,7 @@
 
 ;;;### (autoloads (find-grep-dired find-name-dired find-dired find-grep-options
 ;;;;;;  find-ls-subdir-switches find-ls-option) "find-dired" "find-dired.el"
-;;;;;;  (17713 5989))
+;;;;;;  (17817 13975))
 ;;; Generated autoloads from find-dired.el
 
 (defvar find-ls-option (if (eq system-type (quote berkeley-unix)) (quote ("-ls" . "-gilsb")) (quote ("-exec ls -ld {} \\;" . "-ld"))) "\
@@ -10887,7 +10935,7 @@
 
 ;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file
 ;;;;;;  ff-find-other-file ff-get-other-file) "find-file" "find-file.el"
-;;;;;;  (17611 8432))
+;;;;;;  (17817 13975))
 ;;; Generated autoloads from find-file.el
 
 (defvar ff-special-constructs (quote (("^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]" lambda nil (buffer-substring (match-beginning 2) (match-end 2))))) "\
@@ -10981,7 +11029,7 @@
 ;;;;;;  find-variable find-variable-noselect find-function-other-frame
 ;;;;;;  find-function-other-window find-function find-function-noselect
 ;;;;;;  find-function-search-for-symbol find-library) "find-func"
-;;;;;;  "emacs-lisp/find-func.el" (17778 50473))
+;;;;;;  "emacs-lisp/find-func.el" (17817 14115))
 ;;; Generated autoloads from emacs-lisp/find-func.el
 
 (autoload (quote find-library) "find-func" "\
@@ -11056,7 +11104,7 @@
 \(fn VARIABLE &optional FILE)" nil nil)
 
 (autoload (quote find-variable) "find-func" "\
-Find the definition of the VARIABLE near point.
+Find the definition of the VARIABLE at or before point.
 
 Finds the library containing the definition of the variable
 near point (selected by `variable-at-point') in a buffer and
@@ -11135,7 +11183,7 @@
 ;;;***
 
 ;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories
-;;;;;;  find-lisp-find-dired) "find-lisp" "find-lisp.el" (17396 42165))
+;;;;;;  find-lisp-find-dired) "find-lisp" "find-lisp.el" (17817 13975))
 ;;; Generated autoloads from find-lisp.el
 
 (autoload (quote find-lisp-find-dired) "find-lisp" "\
@@ -11178,7 +11226,7 @@
 ;;;***
 
 ;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl"
-;;;;;;  "flow-ctrl.el" (17390 26939))
+;;;;;;  "flow-ctrl.el" (17817 13975))
 ;;; Generated autoloads from flow-ctrl.el
 
 (autoload (quote enable-flow-control) "flow-ctrl" "\
@@ -11240,7 +11288,7 @@
 
 ;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off
 ;;;;;;  turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode)
-;;;;;;  "flyspell" "textmodes/flyspell.el" (17778 50479))
+;;;;;;  "flyspell" "textmodes/flyspell.el" (17817 14127))
 ;;; Generated autoloads from textmodes/flyspell.el
 
 (autoload (quote flyspell-prog-mode) "flyspell" "\
@@ -11383,8 +11431,8 @@
 
 ;;;***
 
-;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (17390
-;;;;;;  26942))
+;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (17817
+;;;;;;  16161))
 ;;; Generated autoloads from mail/footnote.el
 
 (autoload (quote footnote-mode) "footnote" "\
@@ -11405,7 +11453,7 @@
 ;;;***
 
 ;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode)
-;;;;;;  "forms" "forms.el" (17390 26939))
+;;;;;;  "forms" "forms.el" (17817 13976))
 ;;; Generated autoloads from forms.el
 
 (autoload (quote forms-mode) "forms" "\
@@ -11442,7 +11490,7 @@
 ;;;***
 
 ;;;### (autoloads (fortran-mode fortran-tab-mode-default) "fortran"
-;;;;;;  "progmodes/fortran.el" (17778 50475))
+;;;;;;  "progmodes/fortran.el" (17817 13977))
 ;;; Generated autoloads from progmodes/fortran.el
 
 (defvar fortran-tab-mode-default nil "\
@@ -11578,7 +11626,7 @@
 ;;;***
 
 ;;;### (autoloads (gdb-enable-debug gdba) "gdb-ui" "progmodes/gdb-ui.el"
-;;;;;;  (17778 50475))
+;;;;;;  (17817 16161))
 ;;; Generated autoloads from progmodes/gdb-ui.el
 
 (autoload (quote gdba) "gdb-ui" "\
@@ -11641,8 +11689,8 @@
 ;;;***
 
 ;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal
-;;;;;;  define-generic-mode) "generic" "emacs-lisp/generic.el" (17390
-;;;;;;  26938))
+;;;;;;  define-generic-mode) "generic" "emacs-lisp/generic.el" (17817
+;;;;;;  13982))
 ;;; Generated autoloads from emacs-lisp/generic.el
 
 (defvar generic-mode-list nil "\
@@ -11717,7 +11765,7 @@
 ;;;***
 
 ;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el"
-;;;;;;  (17778 50476))
+;;;;;;  (17817 14147))
 ;;; Generated autoloads from progmodes/glasses.el
 
 (autoload (quote glasses-mode) "glasses" "\
@@ -11921,7 +11969,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el"
-;;;;;;  (17778 50473))
+;;;;;;  (17817 16940))
 ;;; Generated autoloads from gnus/gnus-art.el
 
 (autoload (quote gnus-article-prepare-display) "gnus-art" "\
@@ -11932,7 +11980,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-audio-play) "gnus-audio" "gnus/gnus-audio.el"
-;;;;;;  (17383 38805))
+;;;;;;  (17817 14137))
 ;;; Generated autoloads from gnus/gnus-audio.el
 
 (autoload (quote gnus-audio-play) "gnus-audio" "\
@@ -12023,7 +12071,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d)
-;;;;;;  "gnus-diary" "gnus/gnus-diary.el" (17778 50473))
+;;;;;;  "gnus-diary" "gnus/gnus-diary.el" (17817 15855))
 ;;; Generated autoloads from gnus/gnus-diary.el
 
 (autoload (quote gnus-user-format-function-d) "gnus-diary" "\
@@ -12102,7 +12150,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group)
-;;;;;;  "gnus-group" "gnus/gnus-group.el" (17778 50473))
+;;;;;;  "gnus-group" "gnus/gnus-group.el" (17817 16148))
 ;;; Generated autoloads from gnus/gnus-group.el
 
 (autoload (quote gnus-fetch-group) "gnus-group" "\
@@ -12119,7 +12167,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el"
-;;;;;;  (17383 38805))
+;;;;;;  (17817 14137))
 ;;; Generated autoloads from gnus/gnus-kill.el
 
 (defalias (quote gnus-batch-kill) (quote gnus-batch-score))
@@ -12260,7 +12308,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-change-server) "gnus-move" "gnus/gnus-move.el"
-;;;;;;  (17383 38805))
+;;;;;;  (17817 14137))
 ;;; Generated autoloads from gnus/gnus-move.el
 
 (autoload (quote gnus-change-server) "gnus-move" "\
@@ -12297,7 +12345,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-nocem-load-cache gnus-nocem-scan-groups)
-;;;;;;  "gnus-nocem" "gnus/gnus-nocem.el" (17427 41288))
+;;;;;;  "gnus-nocem" "gnus/gnus-nocem.el" (17817 14137))
 ;;; Generated autoloads from gnus/gnus-nocem.el
 
 (autoload (quote gnus-nocem-scan-groups) "gnus-nocem" "\
@@ -12454,7 +12502,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-batch-brew-soup) "gnus-soup" "gnus/gnus-soup.el"
-;;;;;;  (17383 38805))
+;;;;;;  (17817 14137))
 ;;; Generated autoloads from gnus/gnus-soup.el
 
 (autoload (quote gnus-batch-brew-soup) "gnus-soup" "\
@@ -12720,7 +12768,7 @@
 ;;;***
 
 ;;;### (autoloads (gdb-script-mode bashdb jdb pdb perldb xdb dbx
-;;;;;;  sdb gdb) "gud" "progmodes/gud.el" (17778 50476))
+;;;;;;  sdb gdb) "gud" "progmodes/gud.el" (17817 13989))
 ;;; Generated autoloads from progmodes/gud.el
 
 (autoload (quote gdb) "gud" "\
@@ -12810,8 +12858,8 @@
 
 ;;;***
 
-;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (17778
-;;;;;;  50475))
+;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (17817
+;;;;;;  14125))
 ;;; Generated autoloads from play/handwrite.el
 
 (autoload (quote handwrite) "handwrite" "\
@@ -12989,7 +13037,7 @@
 ;;;### (autoloads (describe-categories describe-syntax describe-variable
 ;;;;;;  variable-at-point describe-function-1 describe-simplify-lib-file-name
 ;;;;;;  help-C-file-name describe-function) "help-fns" "help-fns.el"
-;;;;;;  (17778 50473))
+;;;;;;  (17817 15855))
 ;;; Generated autoloads from help-fns.el
 
 (autoload (quote describe-function) "help-fns" "\
@@ -13014,7 +13062,7 @@
 \(fn FUNCTION)" nil nil)
 
 (autoload (quote variable-at-point) "help-fns" "\
-Return the bound variable symbol found around point.
+Return the bound variable symbol found at or before point.
 Return 0 if there is no such symbol.
 If ANY-SYMBOL is non-nil, don't insist the symbol be bound.
 
@@ -13047,7 +13095,7 @@
 ;;;***
 
 ;;;### (autoloads (three-step-help) "help-macro" "help-macro.el"
-;;;;;;  (17778 50473))
+;;;;;;  (17817 13976))
 ;;; Generated autoloads from help-macro.el
 
 (defvar three-step-help nil "\
@@ -13146,7 +13194,7 @@
 ;;;***
 
 ;;;### (autoloads (Helper-help Helper-describe-bindings) "helper"
-;;;;;;  "emacs-lisp/helper.el" (17591 9619))
+;;;;;;  "emacs-lisp/helper.el" (17817 13982))
 ;;; Generated autoloads from emacs-lisp/helper.el
 
 (autoload (quote Helper-describe-bindings) "helper" "\
@@ -13498,7 +13546,7 @@
 ;;;;;;  highlight-compare-buffers highlight-changes-rotate-faces
 ;;;;;;  highlight-changes-previous-change highlight-changes-next-change
 ;;;;;;  highlight-changes-mode highlight-changes-remove-highlight)
-;;;;;;  "hilit-chg" "hilit-chg.el" (17390 27370))
+;;;;;;  "hilit-chg" "hilit-chg.el" (17817 13976))
 ;;; Generated autoloads from hilit-chg.el
 
 (autoload (quote highlight-changes-remove-highlight) "hilit-chg" "\
@@ -13628,7 +13676,7 @@
 ;;;;;;  hippie-expand-ignore-buffers hippie-expand-max-buffers hippie-expand-no-restriction
 ;;;;;;  hippie-expand-dabbrev-as-symbol hippie-expand-dabbrev-skip-space
 ;;;;;;  hippie-expand-verbose hippie-expand-try-functions-list) "hippie-exp"
-;;;;;;  "hippie-exp.el" (17390 26939))
+;;;;;;  "hippie-exp.el" (17817 13976))
 ;;; Generated autoloads from hippie-exp.el
 
 (defvar hippie-expand-try-functions-list (quote (try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol)) "\
@@ -13636,40 +13684,40 @@
 To change the behavior of `hippie-expand', remove, change the order of,
 or insert functions in this list.")
 
-(custom-autoload (quote hippie-expand-try-functions-list) "hippie-exp")
+(custom-autoload (quote hippie-expand-try-functions-list) "hippie-exp" t)
 
 (defvar hippie-expand-verbose t "\
 *Non-nil makes `hippie-expand' output which function it is trying.")
 
-(custom-autoload (quote hippie-expand-verbose) "hippie-exp")
+(custom-autoload (quote hippie-expand-verbose) "hippie-exp" t)
 
 (defvar hippie-expand-dabbrev-skip-space nil "\
 *Non-nil means tolerate trailing spaces in the abbreviation to expand.")
 
-(custom-autoload (quote hippie-expand-dabbrev-skip-space) "hippie-exp")
+(custom-autoload (quote hippie-expand-dabbrev-skip-space) "hippie-exp" t)
 
 (defvar hippie-expand-dabbrev-as-symbol t "\
 *Non-nil means expand as symbols, i.e. syntax `_' is considered a letter.")
 
-(custom-autoload (quote hippie-expand-dabbrev-as-symbol) "hippie-exp")
+(custom-autoload (quote hippie-expand-dabbrev-as-symbol) "hippie-exp" t)
 
 (defvar hippie-expand-no-restriction t "\
 *Non-nil means that narrowed buffers are widened during search.")
 
-(custom-autoload (quote hippie-expand-no-restriction) "hippie-exp")
+(custom-autoload (quote hippie-expand-no-restriction) "hippie-exp" t)
 
 (defvar hippie-expand-max-buffers nil "\
 *The maximum number of buffers (apart from the current) searched.
 If nil, all buffers are searched.")
 
-(custom-autoload (quote hippie-expand-max-buffers) "hippie-exp")
+(custom-autoload (quote hippie-expand-max-buffers) "hippie-exp" t)
 
 (defvar hippie-expand-ignore-buffers (quote ("^ \\*.*\\*$" dired-mode)) "\
 *A list specifying which buffers not to search (if not current).
 Can contain both regexps matching buffer names (as strings) and major modes
 \(as atoms)")
 
-(custom-autoload (quote hippie-expand-ignore-buffers) "hippie-exp")
+(custom-autoload (quote hippie-expand-ignore-buffers) "hippie-exp" t)
 
 (defvar hippie-expand-only-buffers nil "\
 *A list specifying the only buffers to search (in addition to current).
@@ -13677,7 +13725,7 @@
 \(as atoms).  If non-nil, this variable overrides the variable
 `hippie-expand-ignore-buffers'.")
 
-(custom-autoload (quote hippie-expand-only-buffers) "hippie-exp")
+(custom-autoload (quote hippie-expand-only-buffers) "hippie-exp" t)
 
 (autoload (quote hippie-expand) "hippie-exp" "\
 Try to expand text before point, using multiple methods.
@@ -13779,7 +13827,7 @@
 ;;;***
 
 ;;;### (autoloads (hscroll-global-mode hscroll-mode turn-on-hscroll)
-;;;;;;  "hscroll" "obsolete/hscroll.el" (17383 38806))
+;;;;;;  "hscroll" "obsolete/hscroll.el" (17817 14122))
 ;;; Generated autoloads from obsolete/hscroll.el
 
 (autoload (quote turn-on-hscroll) "hscroll" "\
@@ -14335,7 +14383,7 @@
 
 ;;;### (autoloads (icalendar-import-buffer icalendar-import-file
 ;;;;;;  icalendar-export-region icalendar-export-file) "icalendar"
-;;;;;;  "calendar/icalendar.el" (17401 60141))
+;;;;;;  "calendar/icalendar.el" (17817 15855))
 ;;; Generated autoloads from calendar/icalendar.el
 
 (autoload (quote icalendar-export-file) "icalendar" "\
@@ -14475,7 +14523,7 @@
 ;;;***
 
 ;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el"
-;;;;;;  (17778 50476))
+;;;;;;  (17817 14147))
 ;;; Generated autoloads from progmodes/idlwave.el
 
 (autoload (quote idlwave-mode) "idlwave" "\
@@ -14610,8 +14658,8 @@
 ;;;;;;  ido-find-alternate-file ido-find-file-other-window ido-find-file
 ;;;;;;  ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer
 ;;;;;;  ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window
-;;;;;;  ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (17778
-;;;;;;  50473))
+;;;;;;  ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (17817
+;;;;;;  16161))
 ;;; Generated autoloads from ido.el
 
 (defvar ido-mode nil "\
@@ -14872,7 +14920,7 @@
 
 ;;;***
 
-;;;### (autoloads (ielm) "ielm" "ielm.el" (17390 26940))
+;;;### (autoloads (ielm) "ielm" "ielm.el" (17817 13976))
 ;;; Generated autoloads from ielm.el
  (add-hook 'same-window-buffer-names "*ielm*")
 
@@ -14901,10 +14949,10 @@
 ;;;***
 
 ;;;### (autoloads (defimage find-image remove-images insert-sliced-image
-;;;;;;  insert-image put-image create-image image-type-available-p
-;;;;;;  image-type image-type-from-file-name image-type-from-file-header
-;;;;;;  image-type-from-buffer image-type-from-data) "image" "image.el"
-;;;;;;  (17490 7905))
+;;;;;;  insert-image put-image create-image image-type-auto-detected-p
+;;;;;;  image-type-available-p image-type image-type-from-file-name
+;;;;;;  image-type-from-file-header image-type-from-buffer image-type-from-data)
+;;;;;;  "image" "image.el" (17817 16882))
 ;;; Generated autoloads from image.el
 
 (autoload (quote image-type-from-data) "image" "\
@@ -14952,6 +15000,15 @@
 
 \(fn TYPE)" nil nil)
 
+(autoload (quote image-type-auto-detected-p) "image" "\
+Return t iff the current buffer contains an auto-detectable image.
+Whether image types are auto-detectable or not depends on the setting
+of the variable `image-type-auto-detectable'.
+
+This function is intended to be used from `magic-mode-alist' (which see).
+
+\(fn)" nil nil)
+
 (autoload (quote create-image) "image" "\
 Create an image.
 FILE-OR-DATA is an image file name or image data.
@@ -15167,7 +15224,7 @@
 ;;;***
 
 ;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar
-;;;;;;  imenu-sort-function) "imenu" "imenu.el" (17713 5990))
+;;;;;;  imenu-sort-function) "imenu" "imenu.el" (17817 13976))
 ;;; Generated autoloads from imenu.el
 
 (defvar imenu-sort-function nil "\
@@ -15282,7 +15339,7 @@
 
 ;;;### (autoloads (indian-char-glyph indian-glyph-char in-is13194-pre-write-conversion
 ;;;;;;  in-is13194-post-read-conversion indian-compose-string indian-compose-region)
-;;;;;;  "ind-util" "language/ind-util.el" (17342 36796))
+;;;;;;  "ind-util" "language/ind-util.el" (17817 14144))
 ;;; Generated autoloads from language/ind-util.el
 
 (autoload (quote indian-compose-region) "ind-util" "\
@@ -15392,7 +15449,7 @@
 ;;;### (autoloads (Info-speedbar-browser Info-goto-emacs-key-command-node
 ;;;;;;  Info-goto-emacs-command-node Info-mode info-apropos Info-index
 ;;;;;;  Info-directory Info-on-current-buffer info-standalone info-emacs-manual
-;;;;;;  info info-other-window) "info" "info.el" (17713 5990))
+;;;;;;  info info-other-window) "info" "info.el" (17817 16152))
 ;;; Generated autoloads from info.el
 
 (autoload (quote info-other-window) "info" "\
@@ -15633,7 +15690,7 @@
 ;;;***
 
 ;;;### (autoloads (batch-info-validate Info-validate Info-split Info-tagify)
-;;;;;;  "informat" "informat.el" (17390 26940))
+;;;;;;  "informat" "informat.el" (17817 13976))
 ;;; Generated autoloads from informat.el
 
 (autoload (quote Info-tagify) "informat" "\
@@ -15674,7 +15731,7 @@
 
 ;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method
 ;;;;;;  isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el"
-;;;;;;  (17279 27123))
+;;;;;;  (17817 15477))
 ;;; Generated autoloads from international/isearch-x.el
 
 (autoload (quote isearch-toggle-specified-input-method) "isearch-x" "\
@@ -15694,8 +15751,8 @@
 
 ;;;***
 
-;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (17390
-;;;;;;  26940))
+;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (17817
+;;;;;;  15738))
 ;;; Generated autoloads from isearchb.el
 
 (autoload (quote isearchb-activate) "isearchb" "\
@@ -15742,7 +15799,7 @@
 ;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only
 ;;;;;;  iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso
 ;;;;;;  iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt"
-;;;;;;  "international/iso-cvt.el" (17279 27079))
+;;;;;;  "international/iso-cvt.el" (17817 14140))
 ;;; Generated autoloads from international/iso-cvt.el
 
 (autoload (quote iso-spanish) "iso-cvt" "\
@@ -15826,7 +15883,7 @@
 ;;;***
 
 ;;;### (autoloads nil "iso-transl" "international/iso-transl.el"
-;;;;;;  (17279 27115))
+;;;;;;  (17817 14140))
 ;;; Generated autoloads from international/iso-transl.el
  (or key-translation-map (setq key-translation-map (make-sparse-keymap)))
  (define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map)
@@ -16154,7 +16211,7 @@
 ;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region
 ;;;;;;  japanese-hiragana-region japanese-katakana-region japanese-zenkaku
 ;;;;;;  japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal)
-;;;;;;  "japan-util" "language/japan-util.el" (17279 27080))
+;;;;;;  "japan-util" "language/japan-util.el" (17817 15478))
 ;;; Generated autoloads from language/japan-util.el
 
 (autoload (quote setup-japanese-environment-internal) "japan-util" "\
@@ -16232,7 +16289,7 @@
 ;;;***
 
 ;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr"
-;;;;;;  "jka-compr.el" (17411 12435))
+;;;;;;  "jka-compr.el" (17817 13976))
 ;;; Generated autoloads from jka-compr.el
 
 (defvar jka-compr-inhibit nil "\
@@ -16313,7 +16370,7 @@
 ;;;***
 
 ;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el"
-;;;;;;  (17307 17630))
+;;;;;;  (17817 15477))
 ;;; Generated autoloads from international/kinsoku.el
 
 (autoload (quote kinsoku) "kinsoku" "\
@@ -16334,8 +16391,8 @@
 
 ;;;***
 
-;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (17778
-;;;;;;  49121))
+;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (17817
+;;;;;;  15477))
 ;;; Generated autoloads from international/kkc.el
 
 (defvar kkc-after-update-conversion-functions nil "\
@@ -16467,7 +16524,7 @@
 
 ;;;### (autoloads (kannada-post-read-conversion kannada-compose-string
 ;;;;;;  kannada-compose-region) "knd-util" "language/knd-util.el"
-;;;;;;  (17279 27080))
+;;;;;;  (17817 14145))
 ;;; Generated autoloads from language/knd-util.el
 
 (defconst kannada-consonant "[\x51f75-\x51fb9]")
@@ -16490,7 +16547,7 @@
 ;;;***
 
 ;;;### (autoloads (setup-korean-environment-internal) "korea-util"
-;;;;;;  "language/korea-util.el" (17279 27080))
+;;;;;;  "language/korea-util.el" (17817 15478))
 ;;; Generated autoloads from language/korea-util.el
 
 (defvar default-korean-keyboard (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "") "\
@@ -16505,7 +16562,7 @@
 ;;;***
 
 ;;;### (autoloads (lm lm-test-run) "landmark" "play/landmark.el"
-;;;;;;  (17778 50475))
+;;;;;;  (17817 14125))
 ;;; Generated autoloads from play/landmark.el
 
 (defalias (quote landmark-repeat) (quote lm-test-run))
@@ -16539,8 +16596,8 @@
 
 ;;;### (autoloads (lao-compose-region lao-composition-function lao-post-read-conversion
 ;;;;;;  lao-transcribe-roman-to-lao-string lao-transcribe-single-roman-syllable-to-lao
-;;;;;;  lao-compose-string) "lao-util" "language/lao-util.el" (17279
-;;;;;;  27080))
+;;;;;;  lao-compose-string) "lao-util" "language/lao-util.el" (17817
+;;;;;;  15478))
 ;;; Generated autoloads from language/lao-util.el
 
 (autoload (quote lao-compose-string) "lao-util" "\
@@ -16621,7 +16678,7 @@
 ;;;***
 
 ;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display)
-;;;;;;  "latin1-disp" "international/latin1-disp.el" (17279 27079))
+;;;;;;  "latin1-disp" "international/latin1-disp.el" (17817 14141))
 ;;; Generated autoloads from international/latin1-disp.el
 
 (defvar latin1-display nil "\
@@ -16639,7 +16696,7 @@
 Setting this variable directly does not take effect;
 use either \\[customize] or the function `latin1-display'.")
 
-(custom-autoload (quote latin1-display) "latin1-disp")
+(custom-autoload (quote latin1-display) "latin1-disp" nil)
 
 (autoload (quote latin1-display) "latin1-disp" "\
 Set up Latin-1/ASCII display for the arguments character SETS.
@@ -16660,7 +16717,7 @@
 Setting this variable directly does not take effect;
 use either \\[customize] or the function `latin1-display'.")
 
-(custom-autoload (quote latin1-display-ucs-per-lynx) "latin1-disp")
+(custom-autoload (quote latin1-display-ucs-per-lynx) "latin1-disp" nil)
 
 ;;;***
 
@@ -16733,7 +16790,7 @@
 ;;;***
 
 ;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el"
-;;;;;;  (17611 9419))
+;;;;;;  (17817 14147))
 ;;; Generated autoloads from progmodes/ld-script.el
 
 (add-to-list (quote auto-mode-alist) (quote ("\\.ld[si]?\\>" . ld-script-mode)))
@@ -16748,7 +16805,7 @@
 ;;;***
 
 ;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el"
-;;;;;;  (17778 50475))
+;;;;;;  (17817 13976))
 ;;; Generated autoloads from ledit.el
 
 (defconst ledit-save-files t "\
@@ -16796,8 +16853,8 @@
 
 ;;;***
 
-;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (17778
-;;;;;;  50475))
+;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (17817
+;;;;;;  13976))
 ;;; Generated autoloads from loadhist.el
 
 (autoload (quote unload-feature) "loadhist" "\
@@ -16867,7 +16924,7 @@
 
 ;;;***
 
-;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (17496 38723))
+;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (17817 13976))
 ;;; Generated autoloads from log-edit.el
 
 (autoload (quote log-edit) "log-edit" "\
@@ -17016,14 +17073,14 @@
 ;;;***
 
 ;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el"
-;;;;;;  (17390 26942))
+;;;;;;  (17817 13976))
 ;;; Generated autoloads from ls-lisp.el
 
 (defvar ls-lisp-support-shell-wildcards t "\
 *Non-nil means ls-lisp treats file patterns as shell wildcards.
 Otherwise they are treated as Emacs regexps (for backward compatibility).")
 
-(custom-autoload (quote ls-lisp-support-shell-wildcards) "ls-lisp")
+(custom-autoload (quote ls-lisp-support-shell-wildcards) "ls-lisp" t)
 
 ;;;***
 
@@ -17068,7 +17125,7 @@
 ;;;***
 
 ;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro
-;;;;;;  name-last-kbd-macro) "macros" "macros.el" (17778 50475))
+;;;;;;  name-last-kbd-macro) "macros" "macros.el" (17817 13976))
 ;;; Generated autoloads from macros.el
 
 (autoload (quote name-last-kbd-macro) "macros" "\
@@ -17189,7 +17246,7 @@
 
 ;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history
 ;;;;;;  mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el"
-;;;;;;  (17390 26942))
+;;;;;;  (17817 14119))
 ;;; Generated autoloads from mail/mail-hist.el
 
 (autoload (quote mail-hist-define-keys) "mail-hist" "\
@@ -17205,7 +17262,7 @@
 (defvar mail-hist-keep-history t "\
 *Non-nil means keep a history for headers and text of outgoing mail.")
 
-(custom-autoload (quote mail-hist-keep-history) "mail-hist")
+(custom-autoload (quote mail-hist-keep-history) "mail-hist" t)
 
 (autoload (quote mail-hist-put-headers-into-history) "mail-hist" "\
 Put headers and contents of this message into mail header history.
@@ -17273,7 +17330,7 @@
 ;;;***
 
 ;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup)
-;;;;;;  "mailabbrev" "mail/mailabbrev.el" (17390 26942))
+;;;;;;  "mailabbrev" "mail/mailabbrev.el" (17817 14119))
 ;;; Generated autoloads from mail/mailabbrev.el
 
 (autoload (quote mail-abbrevs-setup) "mailabbrev" "\
@@ -17296,8 +17353,8 @@
 ;;;***
 
 ;;;### (autoloads (mail-complete define-mail-alias expand-mail-aliases
-;;;;;;  mail-complete-style) "mailalias" "mail/mailalias.el" (17390
-;;;;;;  26942))
+;;;;;;  mail-complete-style) "mailalias" "mail/mailalias.el" (17817
+;;;;;;  14119))
 ;;; Generated autoloads from mail/mailalias.el
 
 (defvar mail-complete-style (quote angles) "\
@@ -17309,7 +17366,7 @@
 If `angles', they look like:
 	Elvis Parsley <king@grassland.com>")
 
-(custom-autoload (quote mail-complete-style) "mailalias")
+(custom-autoload (quote mail-complete-style) "mailalias" t)
 
 (autoload (quote expand-mail-aliases) "mailalias" "\
 Expand all mail aliases in suitable header fields found between BEG and END.
@@ -17474,8 +17531,8 @@
 
 ;;;***
 
-;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (17390
-;;;;;;  26943))
+;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (17817
+;;;;;;  13976))
 ;;; Generated autoloads from makesum.el
 
 (autoload (quote make-command-summary) "makesum" "\
@@ -17486,7 +17543,7 @@
 
 ;;;***
 
-;;;### (autoloads (man-follow man) "man" "man.el" (17713 5990))
+;;;### (autoloads (man-follow man) "man" "man.el" (17817 14146))
 ;;; Generated autoloads from man.el
 
 (defalias (quote manual-entry) (quote man))
@@ -17513,7 +17570,7 @@
 
 ;;;***
 
-;;;### (autoloads (master-mode) "master" "master.el" (17279 27123))
+;;;### (autoloads (master-mode) "master" "master.el" (17817 13976))
 ;;; Generated autoloads from master.el
 
 (autoload (quote master-mode) "master" "\
@@ -17535,8 +17592,8 @@
 
 ;;;***
 
-;;;### (autoloads (menu-bar-mode) "menu-bar" "menu-bar.el" (17778
-;;;;;;  50475))
+;;;### (autoloads (menu-bar-mode) "menu-bar" "menu-bar.el" (17817
+;;;;;;  15287))
 ;;; Generated autoloads from menu-bar.el
 
 (put (quote menu-bar-mode) (quote standard-value) (quote (t)))
@@ -17571,7 +17628,7 @@
 ;;;;;;  message-cite-function message-yank-prefix message-citation-line-function
 ;;;;;;  message-send-mail-function message-user-organization-file
 ;;;;;;  message-signature-separator message-from-style) "message"
-;;;;;;  "gnus/message.el" (17778 50473))
+;;;;;;  "gnus/message.el" (17817 16940))
 ;;; Generated autoloads from gnus/message.el
 
 (defvar message-from-style (quote default) "\
@@ -17852,7 +17909,7 @@
 
 ;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body
 ;;;;;;  metamail-interpret-header) "metamail" "mail/metamail.el"
-;;;;;;  (17390 26942))
+;;;;;;  (17817 14119))
 ;;; Generated autoloads from mail/metamail.el
 
 (autoload (quote metamail-interpret-header) "metamail" "\
@@ -18083,7 +18140,7 @@
 ;;;***
 
 ;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight"
-;;;;;;  "midnight.el" (17778 49127))
+;;;;;;  "midnight.el" (17817 13976))
 ;;; Generated autoloads from midnight.el
 
 (autoload (quote clean-buffer-list) "midnight" "\
@@ -18154,7 +18211,7 @@
 
 ;;;### (autoloads (malayalam-composition-function malayalam-post-read-conversion
 ;;;;;;  malayalam-compose-region) "mlm-util" "language/mlm-util.el"
-;;;;;;  (17342 36796))
+;;;;;;  (17817 14145))
 ;;; Generated autoloads from language/mlm-util.el
 
 (autoload (quote malayalam-compose-region) "mlm-util" "\
@@ -18210,7 +18267,7 @@
 ;;;***
 
 ;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents)
-;;;;;;  "mm-url" "gnus/mm-url.el" (17611 9417))
+;;;;;;  "mm-url" "gnus/mm-url.el" (17817 13970))
 ;;; Generated autoloads from gnus/mm-url.el
 
 (autoload (quote mm-url-insert-file-contents) "mm-url" "\
@@ -18337,7 +18394,7 @@
 ;;;***
 
 ;;;### (autoloads (unmorse-region morse-region) "morse" "play/morse.el"
-;;;;;;  (17383 38807))
+;;;;;;  (17817 14125))
 ;;; Generated autoloads from play/morse.el
 
 (autoload (quote morse-region) "morse" "\
@@ -18352,8 +18409,8 @@
 
 ;;;***
 
-;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (17713
-;;;;;;  5990))
+;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (17817
+;;;;;;  14147))
 ;;; Generated autoloads from mouse-sel.el
 
 (defvar mouse-sel-mode nil "\
@@ -18405,7 +18462,7 @@
 
 ;;;***
 
-;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (17383 38807))
+;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (17817 14125))
 ;;; Generated autoloads from play/mpuz.el
 
 (autoload (quote mpuz) "mpuz" "\
@@ -18441,7 +18498,7 @@
 ;;;;;;  describe-current-coding-system describe-current-coding-system-briefly
 ;;;;;;  describe-coding-system describe-character-set list-charset-chars
 ;;;;;;  read-charset list-character-sets) "mule-diag" "international/mule-diag.el"
-;;;;;;  (17713 2489))
+;;;;;;  (17817 15478))
 ;;; Generated autoloads from international/mule-diag.el
 
 (defvar non-iso-charset-alist (\` ((mac-roman (ascii latin-iso8859-1 mule-unicode-2500-33ff mule-unicode-0100-24ff mule-unicode-e000-ffff) mac-roman-decoder ((0 255))) (viscii (ascii vietnamese-viscii-lower vietnamese-viscii-upper) viet-viscii-nonascii-translation-table ((0 255))) (vietnamese-tcvn (ascii vietnamese-viscii-lower vietnamese-viscii-upper) viet-tcvn-nonascii-translation-table ((0 255))) (koi8-r (ascii cyrillic-iso8859-5) cyrillic-koi8-r-nonascii-translation-table ((32 255))) (alternativnyj (ascii cyrillic-iso8859-5) cyrillic-alternativnyj-nonascii-translation-table ((32 255))) (koi8-u (ascii cyrillic-iso8859-5 mule-unicode-0100-24ff) cyrillic-koi8-u-nonascii-translation-table ((32 255))) (big5 (ascii chinese-big5-1 chinese-big5-2) decode-big5-char ((32 127) ((161 254) 64 126 161 254))) (sjis (ascii katakana-jisx0201 japanese-jisx0208) decode-sjis-char ((32 127 161 223) ((129 159 224 239) 64 126 128 252))))) "\
@@ -18615,7 +18672,7 @@
 ;;;;;;  coding-system-translation-table-for-decode coding-system-pre-write-conversion
 ;;;;;;  coding-system-post-read-conversion lookup-nested-alist set-nested-alist
 ;;;;;;  truncate-string-to-width store-substring string-to-sequence)
-;;;;;;  "mule-util" "international/mule-util.el" (17279 27079))
+;;;;;;  "mule-util" "international/mule-util.el" (17817 15478))
 ;;; Generated autoloads from international/mule-util.el
 
 (autoload (quote string-to-sequence) "mule-util" "\
@@ -18868,7 +18925,7 @@
 ;;;;;;  uncomment-region comment-kill comment-set-column comment-indent
 ;;;;;;  comment-indent-default comment-normalize-vars comment-multi-line
 ;;;;;;  comment-padding comment-style comment-column) "newcomment"
-;;;;;;  "newcomment.el" (17778 50475))
+;;;;;;  "newcomment.el" (17817 13976))
 ;;; Generated autoloads from newcomment.el
 
 (defalias (quote indent-for-comment) (quote comment-indent))
@@ -19144,7 +19201,7 @@
 ;;;***
 
 ;;;### (autoloads (nnkiboze-generate-groups) "nnkiboze" "gnus/nnkiboze.el"
-;;;;;;  (17383 38805))
+;;;;;;  (17817 14138))
 ;;; Generated autoloads from gnus/nnkiboze.el
 
 (autoload (quote nnkiboze-generate-groups) "nnkiboze" "\
@@ -19188,7 +19245,7 @@
 ;;;***
 
 ;;;### (autoloads (disable-command enable-command disabled-command-function)
-;;;;;;  "novice" "novice.el" (17778 50475))
+;;;;;;  "novice" "novice.el" (17817 13976))
 ;;; Generated autoloads from novice.el
 
 (defvar disabled-command-function (quote disabled-command-function) "\
@@ -19273,7 +19330,7 @@
 ;;;***
 
 ;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el"
-;;;;;;  (17427 42815))
+;;;;;;  (17817 13977))
 ;;; Generated autoloads from progmodes/octave-mod.el
 
 (autoload (quote octave-mode) "octave-mod" "\
@@ -19372,7 +19429,7 @@
 ;;;***
 
 ;;;### (autoloads (edit-options list-options) "options" "obsolete/options.el"
-;;;;;;  (17569 17776))
+;;;;;;  (17817 14123))
 ;;; Generated autoloads from obsolete/options.el
 
 (autoload (quote list-options) "options" "\
@@ -19399,7 +19456,7 @@
 ;;;;;;  org-store-link org-tags-view org-diary org-cycle-agenda-files
 ;;;;;;  org-todo-list org-agenda-list org-batch-agenda org-agenda
 ;;;;;;  org-global-cycle org-cycle org-mode) "org" "textmodes/org.el"
-;;;;;;  (17778 50479))
+;;;;;;  (17817 15940))
 ;;; Generated autoloads from textmodes/org.el
 
 (autoload (quote org-mode) "org" "\
@@ -19667,7 +19724,7 @@
 ;;;***
 
 ;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el"
-;;;;;;  (17515 24859))
+;;;;;;  (17817 16152))
 ;;; Generated autoloads from outline.el
 (put 'outline-regexp 'safe-local-variable 'string-or-null-p)
 
@@ -19829,7 +19886,7 @@
 ;;;***
 
 ;;;### (autoloads (pc-bindings-mode) "pc-mode" "emulation/pc-mode.el"
-;;;;;;  (17390 26938))
+;;;;;;  (17817 13982))
 ;;; Generated autoloads from emulation/pc-mode.el
 
 (autoload (quote pc-bindings-mode) "pc-mode" "\
@@ -19924,8 +19981,8 @@
 
 ;;;***
 
-;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (17390
-;;;;;;  26944))
+;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (17817
+;;;;;;  13976))
 ;;; Generated autoloads from pcmpl-cvs.el
 
 (autoload (quote pcomplete/cvs) "pcmpl-cvs" "\
@@ -19936,7 +19993,7 @@
 ;;;***
 
 ;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip)
-;;;;;;  "pcmpl-gnu" "pcmpl-gnu.el" (17390 26944))
+;;;;;;  "pcmpl-gnu" "pcmpl-gnu.el" (17817 13976))
 ;;; Generated autoloads from pcmpl-gnu.el
 
 (autoload (quote pcomplete/gzip) "pcmpl-gnu" "\
@@ -19964,7 +20021,7 @@
 ;;;***
 
 ;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill)
-;;;;;;  "pcmpl-linux" "pcmpl-linux.el" (17390 26944))
+;;;;;;  "pcmpl-linux" "pcmpl-linux.el" (17817 13976))
 ;;; Generated autoloads from pcmpl-linux.el
 
 (autoload (quote pcomplete/kill) "pcmpl-linux" "\
@@ -19984,8 +20041,8 @@
 
 ;;;***
 
-;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (17390
-;;;;;;  26944))
+;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (17817
+;;;;;;  13976))
 ;;; Generated autoloads from pcmpl-rpm.el
 
 (autoload (quote pcomplete/rpm) "pcmpl-rpm" "\
@@ -20001,7 +20058,7 @@
 
 ;;;### (autoloads (pcomplete/chgrp pcomplete/chown pcomplete/which
 ;;;;;;  pcomplete/xargs pcomplete/rm pcomplete/rmdir pcomplete/cd)
-;;;;;;  "pcmpl-unix" "pcmpl-unix.el" (17390 26944))
+;;;;;;  "pcmpl-unix" "pcmpl-unix.el" (17817 13976))
 ;;; Generated autoloads from pcmpl-unix.el
 
 (autoload (quote pcomplete/cd) "pcmpl-unix" "\
@@ -20107,7 +20164,7 @@
 
 ;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status
 ;;;;;;  cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs"
-;;;;;;  "pcvs.el" (17778 50475))
+;;;;;;  "pcvs.el" (17817 13976))
 ;;; Generated autoloads from pcvs.el
 
 (autoload (quote cvs-checkout) "pcvs" "\
@@ -20184,7 +20241,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (17713 5990))
+;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (17817 13976))
 ;;; Generated autoloads from pcvs-defs.el
 
 (defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] (quote (menu-item "Directory Status" cvs-status :help "A more verbose status of a workarea"))) (define-key m [checkout] (quote (menu-item "Checkout Module" cvs-checkout :help "Check out a module from the repository"))) (define-key m [update] (quote (menu-item "Update Directory" cvs-update :help "Fetch updates from the repository"))) (define-key m [examine] (quote (menu-item "Examine Directory" cvs-examine :help "Examine the current state of a workarea"))) (fset (quote cvs-global-menu) m)))
@@ -20384,7 +20441,7 @@
 ;;;***
 
 ;;;### (autoloads (pgg-gpg-symmetric-key-p) "pgg-gpg" "pgg-gpg.el"
-;;;;;;  (17713 5990))
+;;;;;;  (17817 16940))
 ;;; Generated autoloads from pgg-gpg.el
 
 (autoload (quote pgg-gpg-symmetric-key-p) "pgg-gpg" "\
@@ -20395,7 +20452,7 @@
 ;;;***
 
 ;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el"
-;;;;;;  (17466 28579))
+;;;;;;  (17817 14128))
 ;;; Generated autoloads from textmodes/picture.el
 
 (autoload (quote picture-mode) "picture" "\
@@ -20565,7 +20622,7 @@
 ;;;;;;  pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview
 ;;;;;;  pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript
 ;;;;;;  pr-ps-directory-preview pr-interface) "printing" "printing.el"
-;;;;;;  (17778 50475))
+;;;;;;  (17817 13971))
 ;;; Generated autoloads from printing.el
 
 (autoload (quote pr-interface) "printing" "\
@@ -21176,7 +21233,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (17778 50476))
+;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (17817 15478))
 ;;; Generated autoloads from ps-bdf.el
 
 (defvar bdf-directory-list (if (memq system-type (quote (ms-dos windows-nt))) (list (expand-file-name "fonts/bdf" installation-directory)) (quote ("/usr/local/share/emacs/fonts/bdf"))) "\
@@ -21235,7 +21292,7 @@
 ;;;### (autoloads (ps-mule-begin-page ps-mule-begin-job ps-mule-encode-header-string
 ;;;;;;  ps-mule-initialize ps-mule-plot-composition ps-mule-plot-string
 ;;;;;;  ps-mule-set-ascii-font ps-mule-prepare-ascii-font ps-multibyte-buffer)
-;;;;;;  "ps-mule" "ps-mule.el" (17778 50476))
+;;;;;;  "ps-mule" "ps-mule.el" (17817 13971))
 ;;; Generated autoloads from ps-mule.el
 
 (defvar ps-multibyte-buffer nil "\
@@ -21356,8 +21413,8 @@
 ;;;;;;  ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer
 ;;;;;;  ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces
 ;;;;;;  ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type
-;;;;;;  ps-page-dimensions-database) "ps-print" "ps-print.el" (17778
-;;;;;;  50476))
+;;;;;;  ps-page-dimensions-database) "ps-print" "ps-print.el" (17817
+;;;;;;  13971))
 ;;; Generated autoloads from ps-print.el
 
 (defvar ps-page-dimensions-database (list (list (quote a4) (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list (quote a3) (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list (quote letter) (* 72 8.5) (* 72 11.0) "Letter") (list (quote legal) (* 72 8.5) (* 72 14.0) "Legal") (list (quote letter-small) (* 72 7.68) (* 72 10.16) "LetterSmall") (list (quote tabloid) (* 72 11.0) (* 72 17.0) "Tabloid") (list (quote ledger) (* 72 17.0) (* 72 11.0) "Ledger") (list (quote statement) (* 72 5.5) (* 72 8.5) "Statement") (list (quote executive) (* 72 7.5) (* 72 10.0) "Executive") (list (quote a4small) (* 72 7.47) (* 72 10.85) "A4Small") (list (quote b4) (* 72 10.125) (* 72 14.33) "B4") (list (quote b5) (* 72 7.16) (* 72 10.125) "B5")) "\
@@ -21554,7 +21611,7 @@
 ;;;***
 
 ;;;### (autoloads (jython-mode python-mode run-python) "python" "progmodes/python.el"
-;;;;;;  (17778 50476))
+;;;;;;  (17817 13957))
 ;;; Generated autoloads from progmodes/python.el
 
 (add-to-list (quote interpreter-mode-alist) (quote ("jython" . jython-mode)))
@@ -21652,7 +21709,7 @@
 ;;;;;;  quail-defrule quail-install-decode-map quail-install-map
 ;;;;;;  quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout
 ;;;;;;  quail-define-package quail-use-package quail-title) "quail"
-;;;;;;  "international/quail.el" (17713 5990))
+;;;;;;  "international/quail.el" (17817 15478))
 ;;; Generated autoloads from international/quail.el
 
 (autoload (quote quail-title) "quail" "\
@@ -21988,8 +22045,8 @@
 
 ;;;***
 
-;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (17569
-;;;;;;  18006))
+;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (17817
+;;;;;;  14122))
 ;;; Generated autoloads from net/rcompile.el
 
 (autoload (quote remote-compile) "rcompile" "\
@@ -22169,8 +22226,8 @@
 
 ;;;***
 
-;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (17390
-;;;;;;  26946))
+;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (17817
+;;;;;;  14128))
 ;;; Generated autoloads from textmodes/refill.el
 
 (autoload (quote refill-mode) "refill" "\
@@ -22236,7 +22293,7 @@
 ;;;***
 
 ;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el"
-;;;;;;  (17778 50479))
+;;;;;;  (17817 14128))
 ;;; Generated autoloads from textmodes/reftex-cite.el
 
 (autoload (quote reftex-citation) "reftex-cite" "\
@@ -22266,7 +22323,7 @@
 ;;;***
 
 ;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el"
-;;;;;;  (17713 5992))
+;;;;;;  (17817 14128))
 ;;; Generated autoloads from textmodes/reftex-global.el
 
 (autoload (quote reftex-isearch-minor-mode) "reftex-global" "\
@@ -22283,7 +22340,7 @@
 ;;;***
 
 ;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el"
-;;;;;;  (17418 6743))
+;;;;;;  (17817 14128))
 ;;; Generated autoloads from textmodes/reftex-index.el
 
 (autoload (quote reftex-index-phrases-mode) "reftex-index" "\
@@ -22316,7 +22373,7 @@
 ;;;***
 
 ;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el"
-;;;;;;  (17405 10316))
+;;;;;;  (17817 14128))
 ;;; Generated autoloads from textmodes/reftex-parse.el
 
 (autoload (quote reftex-all-document-files) "reftex-parse" "\
@@ -22328,8 +22385,8 @@
 
 ;;;***
 
-;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (17713
-;;;;;;  5992))
+;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (17817
+;;;;;;  14129))
 ;;; Generated autoloads from textmodes/reftex-vars.el
 (put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x))))
 (put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x))))
@@ -22339,7 +22396,7 @@
 ;;;***
 
 ;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el"
-;;;;;;  (17778 50473))
+;;;;;;  (17817 13982))
 ;;; Generated autoloads from emacs-lisp/regexp-opt.el
 
 (autoload (quote regexp-opt) "regexp-opt" "\
@@ -22366,7 +22423,7 @@
 
 ;;;***
 
-;;;### (autoloads (repeat) "repeat" "repeat.el" (17390 26945))
+;;;### (autoloads (repeat) "repeat" "repeat.el" (17817 13977))
 ;;; Generated autoloads from repeat.el
 
 (autoload (quote repeat) "repeat" "\
@@ -22384,7 +22441,7 @@
 ;;;***
 
 ;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el"
-;;;;;;  (17390 26943))
+;;;;;;  (17817 14120))
 ;;; Generated autoloads from mail/reporter.el
 
 (autoload (quote reporter-submit-bug-report) "reporter" "\
@@ -22416,7 +22473,7 @@
 ;;;***
 
 ;;;### (autoloads (reposition-window) "reposition" "reposition.el"
-;;;;;;  (17390 26945))
+;;;;;;  (17817 13977))
 ;;; Generated autoloads from reposition.el
 
 (autoload (quote reposition-window) "reposition" "\
@@ -22443,8 +22500,8 @@
 
 ;;;***
 
-;;;### (autoloads (resume-suspend-hook) "resume" "resume.el" (17778
-;;;;;;  50476))
+;;;### (autoloads (resume-suspend-hook) "resume" "resume.el" (17817
+;;;;;;  13977))
 ;;; Generated autoloads from resume.el
 
 (autoload (quote resume-suspend-hook) "resume" "\
@@ -22489,7 +22546,7 @@
 ;;;***
 
 ;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el"
-;;;;;;  (17390 26938))
+;;;;;;  (17817 13982))
 ;;; Generated autoloads from emacs-lisp/ring.el
 
 (autoload (quote ring-p) "ring" "\
@@ -22504,7 +22561,7 @@
 
 ;;;***
 
-;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (17390 26944))
+;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (17817 14122))
 ;;; Generated autoloads from net/rlogin.el
  (add-hook 'same-window-regexps "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)")
 
@@ -22872,7 +22929,7 @@
 ;;;***
 
 ;;;### (autoloads (set-rmail-inbox-list) "rmailmsc" "mail/rmailmsc.el"
-;;;;;;  (17390 26943))
+;;;;;;  (17817 14120))
 ;;; Generated autoloads from mail/rmailmsc.el
 
 (autoload (quote set-rmail-inbox-list) "rmailmsc" "\
@@ -23088,7 +23145,7 @@
 ;;;***
 
 ;;;### (autoloads (news-post-news) "rnewspost" "obsolete/rnewspost.el"
-;;;;;;  (17383 38807))
+;;;;;;  (17817 14123))
 ;;; Generated autoloads from obsolete/rnewspost.el
 
 (autoload (quote news-post-news) "rnewspost" "\
@@ -23101,7 +23158,7 @@
 ;;;***
 
 ;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region
-;;;;;;  rot13-string rot13) "rot13" "rot13.el" (17778 50476))
+;;;;;;  rot13-string rot13) "rot13" "rot13.el" (17817 13977))
 ;;; Generated autoloads from rot13.el
 
 (autoload (quote rot13) "rot13" "\
@@ -23142,38 +23199,38 @@
 ;;;;;;  resize-minibuffer-frame-max-height resize-minibuffer-frame
 ;;;;;;  resize-minibuffer-window-exactly resize-minibuffer-window-max-height
 ;;;;;;  resize-minibuffer-mode) "rsz-mini" "obsolete/rsz-mini.el"
-;;;;;;  (17383 38807))
+;;;;;;  (17817 14123))
 ;;; Generated autoloads from obsolete/rsz-mini.el
 
 (defvar resize-minibuffer-mode nil "\
 *This variable is obsolete.")
 
-(custom-autoload (quote resize-minibuffer-mode) "rsz-mini")
+(custom-autoload (quote resize-minibuffer-mode) "rsz-mini" t)
 
 (defvar resize-minibuffer-window-max-height nil "\
 *This variable is obsolete.")
 
-(custom-autoload (quote resize-minibuffer-window-max-height) "rsz-mini")
+(custom-autoload (quote resize-minibuffer-window-max-height) "rsz-mini" t)
 
 (defvar resize-minibuffer-window-exactly t "\
 *This variable is obsolete.")
 
-(custom-autoload (quote resize-minibuffer-window-exactly) "rsz-mini")
+(custom-autoload (quote resize-minibuffer-window-exactly) "rsz-mini" t)
 
 (defvar resize-minibuffer-frame nil "\
 *This variable is obsolete.")
 
-(custom-autoload (quote resize-minibuffer-frame) "rsz-mini")
+(custom-autoload (quote resize-minibuffer-frame) "rsz-mini" t)
 
 (defvar resize-minibuffer-frame-max-height nil "\
 *This variable is obsolete.")
 
-(custom-autoload (quote resize-minibuffer-frame-max-height) "rsz-mini")
+(custom-autoload (quote resize-minibuffer-frame-max-height) "rsz-mini" t)
 
 (defvar resize-minibuffer-frame-exactly t "\
 *This variable is obsolete.")
 
-(custom-autoload (quote resize-minibuffer-frame-exactly) "rsz-mini")
+(custom-autoload (quote resize-minibuffer-frame-exactly) "rsz-mini" t)
 
 (autoload (quote resize-minibuffer-mode) "rsz-mini" "\
 This function is obsolete.
@@ -23583,8 +23640,8 @@
 
 ;;;***
 
-;;;### (autoloads (scribe-mode) "scribe" "obsolete/scribe.el" (17383
-;;;;;;  38807))
+;;;### (autoloads (scribe-mode) "scribe" "obsolete/scribe.el" (17817
+;;;;;;  14123))
 ;;; Generated autoloads from obsolete/scribe.el
 
 (autoload (quote scribe-mode) "scribe" "\
@@ -23609,7 +23666,7 @@
 ;;;***
 
 ;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el"
-;;;;;;  (17778 50476))
+;;;;;;  (17817 13977))
 ;;; Generated autoloads from scroll-all.el
 
 (defvar scroll-all-mode nil "\
@@ -24018,7 +24075,7 @@
 ;;;***
 
 ;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el"
-;;;;;;  (17524 8650))
+;;;;;;  (17817 13959))
 ;;; Generated autoloads from textmodes/sgml-mode.el
 
 (autoload (quote sgml-mode) "sgml-mode" "\
@@ -24086,7 +24143,7 @@
 ;;;***
 
 ;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el"
-;;;;;;  (17713 5991))
+;;;;;;  (17817 16152))
 ;;; Generated autoloads from progmodes/sh-script.el
 (put 'sh-shell 'safe-local-variable 'symbolp)
 
@@ -24165,7 +24222,7 @@
 ;;;***
 
 ;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el"
-;;;;;;  (17778 50473))
+;;;;;;  (17817 13982))
 ;;; Generated autoloads from emacs-lisp/shadow.el
 
 (autoload (quote list-load-path-shadows) "shadow" "\
@@ -24252,7 +24309,7 @@
 ;;;***
 
 ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el"
-;;;;;;  (17778 48451))
+;;;;;;  (17817 15738))
 ;;; Generated autoloads from shell.el
 
 (defvar shell-dumb-shell-regexp "cmd\\(proxy\\)?\\.exe" "\
@@ -24271,10 +24328,10 @@
 If BUFFER exists and shell process is running, just switch to BUFFER.
 Program used comes from variable `explicit-shell-file-name',
  or (if that is nil) from the ESHELL environment variable,
- or else from SHELL if there is no ESHELL.
-If a file `~/.emacs_SHELLNAME' exists, it is given as initial input
- (Note that this may lose due to a timing error if the shell
-  discards input when it starts up.)
+ or (if that is nil) from `shell-file-name'.
+If a file `~/.emacs_SHELLNAME' exists, or `~/.emacs.d/init_SHELLNAME.sh',
+it is given as initial input (but this may be lost, due to a timing
+error, if the shell discards input when it starts up).
 The buffer is put in Shell mode, giving commands for sending input
 and controlling the subjobs of the shell.  See `shell-mode'.
 See also the variable `shell-prompt-pattern'.
@@ -24335,14 +24392,14 @@
 
 ;;;***
 
-;;;### (autoloads nil "simple" "simple.el" (17778 50477))
+;;;### (autoloads nil "simple" "simple.el" (17817 16152))
 ;;; Generated autoloads from simple.el
 (put 'fill-prefix 'safe-local-variable 'string-or-null-p)
 
 ;;;***
 
-;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (17390
-;;;;;;  27409))
+;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (17817
+;;;;;;  14147))
 ;;; Generated autoloads from progmodes/simula.el
 
 (autoload (quote simula-mode) "simula" "\
@@ -24391,7 +24448,7 @@
 ;;;***
 
 ;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new
-;;;;;;  define-skeleton) "skeleton" "skeleton.el" (17524 8650))
+;;;;;;  define-skeleton) "skeleton" "skeleton.el" (17817 13977))
 ;;; Generated autoloads from skeleton.el
 
 (defvar skeleton-filter-function (quote identity) "\
@@ -24553,7 +24610,7 @@
 
 ;;;***
 
-;;;### (autoloads (snake) "snake" "play/snake.el" (17383 38807))
+;;;### (autoloads (snake) "snake" "play/snake.el" (17817 14125))
 ;;; Generated autoloads from play/snake.el
 
 (autoload (quote snake) "snake" "\
@@ -24577,7 +24634,7 @@
 ;;;***
 
 ;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el"
-;;;;;;  (17390 26944))
+;;;;;;  (17817 14122))
 ;;; Generated autoloads from net/snmp-mode.el
 
 (autoload (quote snmp-mode) "snmp-mode" "\
@@ -24679,8 +24736,8 @@
 
 ;;;***
 
-;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (17383
-;;;;;;  38807))
+;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (17817
+;;;;;;  14125))
 ;;; Generated autoloads from play/solitaire.el
 
 (autoload (quote solitaire) "solitaire" "\
@@ -24757,7 +24814,7 @@
 
 ;;;### (autoloads (reverse-region sort-columns sort-regexp-fields
 ;;;;;;  sort-fields sort-numeric-fields sort-pages sort-paragraphs
-;;;;;;  sort-lines sort-subr) "sort" "sort.el" (17778 50477))
+;;;;;;  sort-lines sort-subr) "sort" "sort.el" (17817 13977))
 ;;; Generated autoloads from sort.el
 
 (autoload (quote sort-subr) "sort" "\
@@ -24899,8 +24956,8 @@
 
 ;;;***
 
-;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (17441
-;;;;;;  26811))
+;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (17817
+;;;;;;  16940))
 ;;; Generated autoloads from gnus/spam.el
 
 (autoload (quote spam-initialize) "spam" "\
@@ -24980,7 +25037,7 @@
 ;;;***
 
 ;;;### (autoloads (spell-string spell-region spell-word spell-buffer)
-;;;;;;  "spell" "textmodes/spell.el" (17390 26946))
+;;;;;;  "spell" "textmodes/spell.el" (17817 14129))
 ;;; Generated autoloads from textmodes/spell.el
 
 (put (quote spell-filter) (quote risky-local-variable) t)
@@ -25016,8 +25073,8 @@
 
 ;;;***
 
-;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (17383
-;;;;;;  38807))
+;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (17817
+;;;;;;  14125))
 ;;; Generated autoloads from play/spook.el
 
 (autoload (quote spook) "spook" "\
@@ -25035,8 +25092,8 @@
 ;;;### (autoloads (sql-linter sql-db2 sql-interbase sql-postgres
 ;;;;;;  sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix
 ;;;;;;  sql-sybase sql-oracle sql-product-interactive sql-mode sql-help
-;;;;;;  sql-add-product-keywords) "sql" "progmodes/sql.el" (17390
-;;;;;;  27409))
+;;;;;;  sql-add-product-keywords) "sql" "progmodes/sql.el" (17817
+;;;;;;  16161))
 ;;; Generated autoloads from progmodes/sql.el
 
 (autoload (quote sql-add-product-keywords) "sql" "\
@@ -25467,8 +25524,8 @@
 ;;;;;;  strokes-mode strokes-list-strokes strokes-load-user-strokes
 ;;;;;;  strokes-help strokes-describe-stroke strokes-do-complex-stroke
 ;;;;;;  strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke
-;;;;;;  strokes-global-set-stroke) "strokes" "strokes.el" (17713
-;;;;;;  5991))
+;;;;;;  strokes-global-set-stroke) "strokes" "strokes.el" (17817
+;;;;;;  13977))
 ;;; Generated autoloads from strokes.el
 
 (autoload (quote strokes-global-set-stroke) "strokes" "\
@@ -25598,7 +25655,7 @@
 
 ;;;***
 
-;;;### (autoloads (locate-library) "subr" "subr.el" (17778 50477))
+;;;### (autoloads (locate-library) "subr" "subr.el" (17817 15467))
 ;;; Generated autoloads from subr.el
 
 (autoload (quote locate-library) "subr" "\
@@ -25620,7 +25677,7 @@
 ;;;***
 
 ;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el"
-;;;;;;  (17390 26943))
+;;;;;;  (17817 14120))
 ;;; Generated autoloads from mail/supercite.el
 
 (autoload (quote sc-cite-original) "supercite" "\
@@ -25674,7 +25731,7 @@
 
 ;;;***
 
-;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (17778 50477))
+;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (17817 13977))
 ;;; Generated autoloads from tabify.el
 
 (autoload (quote untabify) "tabify" "\
@@ -26297,7 +26354,7 @@
 
 ;;;***
 
-;;;### (autoloads (talk talk-connect) "talk" "talk.el" (17390 26945))
+;;;### (autoloads (talk talk-connect) "talk" "talk.el" (17817 13977))
 ;;; Generated autoloads from talk.el
 
 (autoload (quote talk-connect) "talk" "\
@@ -26387,7 +26444,7 @@
 
 ;;;***
 
-;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (17390 26944))
+;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (17817 14122))
 ;;; Generated autoloads from net/telnet.el
  (add-hook 'same-window-regexps "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)")
 
@@ -26414,8 +26471,8 @@
 
 ;;;***
 
-;;;### (autoloads (ansi-term term make-term) "term" "term.el" (17778
-;;;;;;  50478))
+;;;### (autoloads (ansi-term term make-term) "term" "term.el" (17817
+;;;;;;  13977))
 ;;; Generated autoloads from term.el
 
 (autoload (quote make-term) "term" "\
@@ -26443,8 +26500,8 @@
 
 ;;;***
 
-;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (17778
-;;;;;;  50479))
+;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (17817
+;;;;;;  13977))
 ;;; Generated autoloads from terminal.el
 
 (autoload (quote terminal-emulator) "terminal" "\
@@ -26491,7 +26548,7 @@
 
 ;;;***
 
-;;;### (autoloads (tetris) "tetris" "play/tetris.el" (17383 38807))
+;;;### (autoloads (tetris) "tetris" "play/tetris.el" (17817 14126))
 ;;; Generated autoloads from play/tetris.el
 
 (autoload (quote tetris) "tetris" "\
@@ -26522,13 +26579,13 @@
 ;;;;;;  tex-start-commands tex-start-options slitex-run-command latex-run-command
 ;;;;;;  tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp
 ;;;;;;  tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el"
-;;;;;;  (17569 17779))
+;;;;;;  (17817 14129))
 ;;; Generated autoloads from textmodes/tex-mode.el
 
 (defvar tex-shell-file-name nil "\
 *If non-nil, the shell file name to run in the subshell used to run TeX.")
 
-(custom-autoload (quote tex-shell-file-name) "tex-mode")
+(custom-autoload (quote tex-shell-file-name) "tex-mode" t)
 
 (defvar tex-directory "." "\
 *Directory in which temporary files are written.
@@ -26536,7 +26593,7 @@
 and you don't try to apply \\[tex-region] or \\[tex-buffer] when there are
 `\\input' commands with relative directories.")
 
-(custom-autoload (quote tex-directory) "tex-mode")
+(custom-autoload (quote tex-directory) "tex-mode" t)
 
 (defvar tex-first-line-header-regexp nil "\
 Regexp for matching a first line which `tex-region' should include.
@@ -26544,40 +26601,40 @@
 if it matches the first line of the file,
 `tex-region' always includes the first line in the TeX run.")
 
-(custom-autoload (quote tex-first-line-header-regexp) "tex-mode")
+(custom-autoload (quote tex-first-line-header-regexp) "tex-mode" t)
 
 (defvar tex-main-file nil "\
 *The main TeX source file which includes this buffer's file.
 The command `tex-file' runs TeX on the file specified by `tex-main-file'
 if the variable is non-nil.")
 
-(custom-autoload (quote tex-main-file) "tex-mode")
+(custom-autoload (quote tex-main-file) "tex-mode" t)
 
 (defvar tex-offer-save t "\
 *If non-nil, ask about saving modified buffers before \\[tex-file] is run.")
 
-(custom-autoload (quote tex-offer-save) "tex-mode")
+(custom-autoload (quote tex-offer-save) "tex-mode" t)
 
 (defvar tex-run-command "tex" "\
 *Command used to run TeX subjob.
 TeX Mode sets `tex-command' to this string.
 See the documentation of that variable.")
 
-(custom-autoload (quote tex-run-command) "tex-mode")
+(custom-autoload (quote tex-run-command) "tex-mode" t)
 
 (defvar latex-run-command "latex" "\
 *Command used to run LaTeX subjob.
 LaTeX Mode sets `tex-command' to this string.
 See the documentation of that variable.")
 
-(custom-autoload (quote latex-run-command) "tex-mode")
+(custom-autoload (quote latex-run-command) "tex-mode" t)
 
 (defvar slitex-run-command "slitex" "\
 *Command used to run SliTeX subjob.
 SliTeX Mode sets `tex-command' to this string.
 See the documentation of that variable.")
 
-(custom-autoload (quote slitex-run-command) "tex-mode")
+(custom-autoload (quote slitex-run-command) "tex-mode" t)
 
 (defvar tex-start-options "" "\
 *TeX options to use when starting TeX.
@@ -26585,34 +26642,34 @@
 and the input file name, with no separating space and are not shell-quoted.
 If nil, TeX runs with no options.  See the documentation of `tex-command'.")
 
-(custom-autoload (quote tex-start-options) "tex-mode")
+(custom-autoload (quote tex-start-options) "tex-mode" t)
 
 (defvar tex-start-commands "\\nonstopmode\\input" "\
 *TeX commands to use when starting TeX.
 They are shell-quoted and precede the input file name, with a separating space.
 If nil, no commands are used.  See the documentation of `tex-command'.")
 
-(custom-autoload (quote tex-start-commands) "tex-mode")
+(custom-autoload (quote tex-start-commands) "tex-mode" t)
 
 (defvar latex-block-names nil "\
 *User defined LaTeX block names.
 Combined with `latex-standard-block-names' for minibuffer completion.")
 
-(custom-autoload (quote latex-block-names) "tex-mode")
+(custom-autoload (quote latex-block-names) "tex-mode" t)
 
 (defvar tex-bibtex-command "bibtex" "\
 *Command used by `tex-bibtex-file' to gather bibliographic data.
 If this string contains an asterisk (`*'), that is replaced by the file name;
 otherwise, the file name, preceded by blank, is added at the end.")
 
-(custom-autoload (quote tex-bibtex-command) "tex-mode")
+(custom-autoload (quote tex-bibtex-command) "tex-mode" t)
 
 (defvar tex-dvi-print-command "lpr -d" "\
 *Command used by \\[tex-print] to print a .dvi file.
 If this string contains an asterisk (`*'), that is replaced by the file name;
 otherwise, the file name, preceded by blank, is added at the end.")
 
-(custom-autoload (quote tex-dvi-print-command) "tex-mode")
+(custom-autoload (quote tex-dvi-print-command) "tex-mode" t)
 
 (defvar tex-alt-dvi-print-command "lpr -d" "\
 *Command used by \\[tex-print] with a prefix arg to print a .dvi file.
@@ -26629,7 +26686,7 @@
 would tell \\[tex-print] with a prefix argument to ask you which printer to
 use.")
 
-(custom-autoload (quote tex-alt-dvi-print-command) "tex-mode")
+(custom-autoload (quote tex-alt-dvi-print-command) "tex-mode" t)
 
 (defvar tex-dvi-view-command (quote (cond ((eq window-system (quote x)) "xdvi") ((eq window-system (quote w32)) "yap") (t "dvi2tty * | cat -s"))) "\
 *Command used by \\[tex-view] to display a `.dvi' file.
@@ -26639,13 +26696,13 @@
 
 If the value is a form, it is evaluated to get the command to use.")
 
-(custom-autoload (quote tex-dvi-view-command) "tex-mode")
+(custom-autoload (quote tex-dvi-view-command) "tex-mode" t)
 
 (defvar tex-show-queue-command "lpq" "\
 *Command used by \\[tex-show-print-queue] to show the print queue.
 Should show the queue(s) that \\[tex-print] puts jobs on.")
 
-(custom-autoload (quote tex-show-queue-command) "tex-mode")
+(custom-autoload (quote tex-show-queue-command) "tex-mode" t)
 
 (defvar tex-default-mode (quote latex-mode) "\
 *Mode to enter for a new file that might be either TeX or LaTeX.
@@ -26653,17 +26710,17 @@
 is plain TeX or LaTeX or what because the file contains no commands.
 Normally set to either `plain-tex-mode' or `latex-mode'.")
 
-(custom-autoload (quote tex-default-mode) "tex-mode")
+(custom-autoload (quote tex-default-mode) "tex-mode" t)
 
 (defvar tex-open-quote "``" "\
 *String inserted by typing \\[tex-insert-quote] to open a quotation.")
 
-(custom-autoload (quote tex-open-quote) "tex-mode")
+(custom-autoload (quote tex-open-quote) "tex-mode" t)
 
 (defvar tex-close-quote "''" "\
 *String inserted by typing \\[tex-insert-quote] to close a quotation.")
 
-(custom-autoload (quote tex-close-quote) "tex-mode")
+(custom-autoload (quote tex-close-quote) "tex-mode" t)
 
 (autoload (quote tex-mode) "tex-mode" "\
 Major mode for editing files of input for TeX, LaTeX, or SliTeX.
@@ -26951,7 +27008,7 @@
 ;;;### (autoloads (thai-auto-composition-mode thai-composition-function
 ;;;;;;  thai-post-read-conversion thai-compose-buffer thai-compose-string
 ;;;;;;  thai-compose-region) "thai-util" "language/thai-util.el"
-;;;;;;  (17279 27123))
+;;;;;;  (17817 15478))
 ;;; Generated autoloads from language/thai-util.el
 
 (autoload (quote thai-compose-region) "thai-util" "\
@@ -26995,7 +27052,7 @@
 
 ;;;### (autoloads (list-at-point number-at-point symbol-at-point
 ;;;;;;  sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing)
-;;;;;;  "thingatpt" "thingatpt.el" (17778 50479))
+;;;;;;  "thingatpt" "thingatpt.el" (17817 13977))
 ;;; Generated autoloads from thingatpt.el
 
 (autoload (quote forward-thing) "thingatpt" "\
@@ -27091,7 +27148,7 @@
 ;;;;;;  tibetan-composition-function tibetan-decompose-string tibetan-decompose-region
 ;;;;;;  tibetan-compose-region tibetan-compose-string tibetan-transcription-to-tibetan
 ;;;;;;  tibetan-tibetan-to-transcription tibetan-char-p) "tibet-util"
-;;;;;;  "language/tibet-util.el" (17279 27080))
+;;;;;;  "language/tibet-util.el" (17817 15478))
 ;;; Generated autoloads from language/tibet-util.el
 
 (autoload (quote tibetan-char-p) "tibet-util" "\
@@ -27170,7 +27227,7 @@
 ;;;***
 
 ;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el"
-;;;;;;  (17390 26946))
+;;;;;;  (17817 14129))
 ;;; Generated autoloads from textmodes/tildify.el
 
 (autoload (quote tildify-region) "tildify" "\
@@ -27467,7 +27524,7 @@
 
 ;;;### (autoloads (with-timeout run-with-idle-timer add-timeout run-with-timer
 ;;;;;;  run-at-time cancel-function-timers cancel-timer) "timer"
-;;;;;;  "emacs-lisp/timer.el" (17713 5989))
+;;;;;;  "emacs-lisp/timer.el" (17817 13982))
 ;;; Generated autoloads from emacs-lisp/timer.el
 
 (defalias (quote disable-timeout) (quote cancel-timer))
@@ -27543,7 +27600,7 @@
 ;;;***
 
 ;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv"
-;;;;;;  "international/titdic-cnv.el" (17279 27079))
+;;;;;;  "international/titdic-cnv.el" (17817 15478))
 ;;; Generated autoloads from international/titdic-cnv.el
 
 (autoload (quote titdic-convert) "titdic-cnv" "\
@@ -27566,8 +27623,8 @@
 ;;;***
 
 ;;;### (autoloads (tamil-composition-function tamil-post-read-conversion
-;;;;;;  tamil-compose-region) "tml-util" "language/tml-util.el" (17279
-;;;;;;  27080))
+;;;;;;  tamil-compose-region) "tml-util" "language/tml-util.el" (17817
+;;;;;;  14146))
 ;;; Generated autoloads from language/tml-util.el
 
 (autoload (quote tamil-compose-region) "tml-util" "\
@@ -27764,7 +27821,7 @@
 ;;;***
 
 ;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el"
-;;;;;;  (17778 50473))
+;;;;;;  (17817 13982))
 ;;; Generated autoloads from emulation/tpu-edt.el
 
 (defvar tpu-edt-mode nil "\
@@ -27791,7 +27848,7 @@
 ;;;***
 
 ;;;### (autoloads (tpu-set-cursor-bound tpu-set-cursor-free tpu-set-scroll-margins)
-;;;;;;  "tpu-extras" "emulation/tpu-extras.el" (17390 26938))
+;;;;;;  "tpu-extras" "emulation/tpu-extras.el" (17817 13982))
 ;;; Generated autoloads from emulation/tpu-extras.el
 
 (autoload (quote tpu-set-scroll-margins) "tpu-extras" "\
@@ -27811,7 +27868,7 @@
 
 ;;;***
 
-;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (17713 5733))
+;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (17817 13982))
 ;;; Generated autoloads from emacs-lisp/tq.el
 
 (autoload (quote tq-create) "tq" "\
@@ -27825,7 +27882,7 @@
 ;;;***
 
 ;;;### (autoloads (trace-function-background trace-function trace-buffer)
-;;;;;;  "trace" "emacs-lisp/trace.el" (17713 5989))
+;;;;;;  "trace" "emacs-lisp/trace.el" (17817 13982))
 ;;; Generated autoloads from emacs-lisp/trace.el
 
 (defvar trace-buffer "*trace-output*" "\
@@ -27862,7 +27919,7 @@
 ;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion
 ;;;;;;  tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers
 ;;;;;;  tramp-file-name-handler tramp-completion-file-name-regexp
-;;;;;;  tramp-file-name-regexp) "tramp" "net/tramp.el" (17778 50475))
+;;;;;;  tramp-file-name-regexp) "tramp" "net/tramp.el" (17817 16949))
 ;;; Generated autoloads from net/tramp.el
 
 (defvar tramp-unified-filenames (not (featurep (quote xemacs))) "\
@@ -27965,7 +28022,7 @@
 (autoload (quote tramp-completion-handle-file-name-completion) "tramp" "\
 Like `file-name-completion' for tramp files.
 
-\(fn FILENAME DIRECTORY)" nil nil)
+\(fn FILENAME DIRECTORY &optional PREDICATE)" nil nil)
 
 (autoload (quote tramp-unload-tramp) "tramp" "\
 Discard Tramp from loading remote files.
@@ -28121,8 +28178,8 @@
 
 ;;;***
 
-;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (17778
-;;;;;;  50471))
+;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (17817
+;;;;;;  16152))
 ;;; Generated autoloads from tutorial.el
 
 (autoload (quote help-with-tutorial) "tutorial" "\
@@ -28147,7 +28204,7 @@
 ;;;***
 
 ;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column"
-;;;;;;  "textmodes/two-column.el" (17713 5993))
+;;;;;;  "textmodes/two-column.el" (17817 14129))
 ;;; Generated autoloads from textmodes/two-column.el
  (autoload '2C-command "two-column" () t 'keymap)
  (global-set-key "\C-x6" '2C-command)
@@ -28198,7 +28255,7 @@
 ;;;;;;  type-break type-break-mode type-break-keystroke-threshold
 ;;;;;;  type-break-good-break-interval type-break-good-rest-interval
 ;;;;;;  type-break-interval type-break-mode) "type-break" "type-break.el"
-;;;;;;  (17390 26947))
+;;;;;;  (17817 13977))
 ;;; Generated autoloads from type-break.el
 
 (defvar type-break-mode nil "\
@@ -28207,12 +28264,12 @@
 Setting this variable directly does not take effect;
 use either \\[customize] or the function `type-break-mode'.")
 
-(custom-autoload (quote type-break-mode) "type-break")
+(custom-autoload (quote type-break-mode) "type-break" nil)
 
 (defvar type-break-interval (* 60 60) "\
 *Number of seconds between scheduled typing breaks.")
 
-(custom-autoload (quote type-break-interval) "type-break")
+(custom-autoload (quote type-break-interval) "type-break" t)
 
 (defvar type-break-good-rest-interval (/ type-break-interval 6) "\
 *Number of seconds of idle time considered to be an adequate typing rest.
@@ -28224,7 +28281,7 @@
 If a break is interrupted before this much time elapses, the user will be
 asked whether or not really to interrupt the break.")
 
-(custom-autoload (quote type-break-good-rest-interval) "type-break")
+(custom-autoload (quote type-break-good-rest-interval) "type-break" t)
 
 (defvar type-break-good-break-interval nil "\
 *Number of seconds considered to be an adequate explicit typing rest.
@@ -28234,7 +28291,7 @@
 overriding `type-break-good-rest-interval'.  This provides querying of
 break interruptions when `type-break-good-rest-interval' is nil.")
 
-(custom-autoload (quote type-break-good-break-interval) "type-break")
+(custom-autoload (quote type-break-good-break-interval) "type-break" t)
 
 (defvar type-break-keystroke-threshold (let* ((wpm 35) (avg-word-length 5) (upper (* wpm avg-word-length (/ type-break-interval 60))) (lower (/ upper 5))) (cons lower upper)) "\
 *Upper and lower bound on number of keystrokes for considering typing break.
@@ -28258,7 +28315,7 @@
 The command `type-break-guesstimate-keystroke-threshold' can be used to
 guess a reasonably good pair of values for this variable.")
 
-(custom-autoload (quote type-break-keystroke-threshold) "type-break")
+(custom-autoload (quote type-break-keystroke-threshold) "type-break" t)
 
 (autoload (quote type-break-mode) "type-break" "\
 Enable or disable typing-break mode.
@@ -28381,7 +28438,7 @@
 ;;;***
 
 ;;;### (autoloads (ununderline-region underline-region) "underline"
-;;;;;;  "textmodes/underline.el" (17390 26946))
+;;;;;;  "textmodes/underline.el" (17817 14129))
 ;;; Generated autoloads from textmodes/underline.el
 
 (autoload (quote underline-region) "underline" "\
@@ -28402,7 +28459,7 @@
 ;;;***
 
 ;;;### (autoloads (unforward-rmail-message undigestify-rmail-message)
-;;;;;;  "undigest" "mail/undigest.el" (17390 26943))
+;;;;;;  "undigest" "mail/undigest.el" (17817 14120))
 ;;; Generated autoloads from mail/undigest.el
 
 (autoload (quote undigestify-rmail-message) "undigest" "\
@@ -28421,7 +28478,7 @@
 ;;;***
 
 ;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el"
-;;;;;;  (17390 26943))
+;;;;;;  (17817 14120))
 ;;; Generated autoloads from mail/unrmail.el
 
 (autoload (quote batch-unrmail) "unrmail" "\
@@ -28454,7 +28511,7 @@
 ;;;***
 
 ;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url"
-;;;;;;  "url/url.el" (17778 50479))
+;;;;;;  "url/url.el" (17817 13984))
 ;;; Generated autoloads from url/url.el
 
 (autoload (quote url-retrieve) "url" "\
@@ -28600,7 +28657,7 @@
 ;;;***
 
 ;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw"
-;;;;;;  "url/url-gw.el" (17778 50299))
+;;;;;;  "url/url-gw.el" (17817 14148))
 ;;; Generated autoloads from url/url-gw.el
 
 (autoload (quote url-gateway-nslookup-host) "url-gw" "\
@@ -28664,7 +28721,7 @@
 ;;;***
 
 ;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p
-;;;;;;  url-http) "url-http" "url/url-http.el" (17778 50479))
+;;;;;;  url-http) "url-http" "url/url-http.el" (17817 13984))
 ;;; Generated autoloads from url/url-http.el
 
 (autoload (quote url-http) "url-http" "\
@@ -29023,7 +29080,7 @@
 ;;;***
 
 ;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock)
-;;;;;;  "userlock" "userlock.el" (17778 50479))
+;;;;;;  "userlock" "userlock.el" (17817 13977))
 ;;; Generated autoloads from userlock.el
 
 (autoload (quote ask-user-about-lock) "userlock" "\
@@ -29051,7 +29108,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "utf-7" "international/utf-7.el" (17279 27196))
+;;;### (autoloads nil "utf-7" "international/utf-7.el" (17817 14143))
 ;;; Generated autoloads from international/utf-7.el
 (autoload-coding-system 'utf-7 '(require 'utf-7))
 
@@ -29377,7 +29434,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "vc-arch" "vc-arch.el" (17390 26947))
+;;;### (autoloads nil "vc-arch" "vc-arch.el" (17817 16875))
 ;;; Generated autoloads from vc-arch.el
  (defun vc-arch-registered (file)
   (if (vc-find-root file "{arch}/=tagging-method")
@@ -29456,7 +29513,7 @@
 ;;;***
 
 ;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el"
-;;;;;;  (17778 50476))
+;;;;;;  (17817 13977))
 ;;; Generated autoloads from progmodes/vhdl-mode.el
 
 (autoload (quote vhdl-mode) "vhdl-mode" "\
@@ -29997,7 +30054,7 @@
 
 ;;;***
 
-;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (17279 27079))
+;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (17817 14136))
 ;;; Generated autoloads from emulation/vi.el
 
 (autoload (quote vi-mode) "vi" "\
@@ -30052,7 +30109,7 @@
 ;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion
 ;;;;;;  viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer
 ;;;;;;  viet-decode-viqr-region viet-encode-viscii-char) "viet-util"
-;;;;;;  "language/viet-util.el" (17279 27080))
+;;;;;;  "language/viet-util.el" (17817 15478))
 ;;; Generated autoloads from language/viet-util.el
 
 (autoload (quote viet-encode-viscii-char) "viet-util" "\
@@ -30308,8 +30365,8 @@
 
 ;;;***
 
-;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (17778
-;;;;;;  50473))
+;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (17817
+;;;;;;  13982))
 ;;; Generated autoloads from emulation/vip.el
 
 (autoload (quote vip-setup) "vip" "\
@@ -30431,7 +30488,7 @@
 ;;;***
 
 ;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el"
-;;;;;;  (17713 1026))
+;;;;;;  (17817 14148))
 ;;; Generated autoloads from wdired.el
 
 (autoload (quote wdired-change-to-wdired-mode) "wdired" "\
@@ -30447,7 +30504,7 @@
 
 ;;;***
 
-;;;### (autoloads (webjump) "webjump" "net/webjump.el" (17390 26944))
+;;;### (autoloads (webjump) "webjump" "net/webjump.el" (17817 14122))
 ;;; Generated autoloads from net/webjump.el
 
 (autoload (quote webjump) "webjump" "\
@@ -30496,7 +30553,7 @@
 ;;;;;;  whitespace-buffer whitespace-toggle-ateol-check whitespace-toggle-spacetab-check
 ;;;;;;  whitespace-toggle-indent-check whitespace-toggle-trailing-check
 ;;;;;;  whitespace-toggle-leading-check) "whitespace" "whitespace.el"
-;;;;;;  (17778 50479))
+;;;;;;  (17817 13977))
 ;;; Generated autoloads from whitespace.el
 
 (autoload (quote whitespace-toggle-leading-check) "whitespace" "\
@@ -30587,7 +30644,7 @@
 ;;;***
 
 ;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse
-;;;;;;  widget-browse-at) "wid-browse" "wid-browse.el" (17390 26950))
+;;;;;;  widget-browse-at) "wid-browse" "wid-browse.el" (17817 13977))
 ;;; Generated autoloads from wid-browse.el
 
 (autoload (quote widget-browse-at) "wid-browse" "\
@@ -30659,8 +30716,8 @@
 ;;;***
 
 ;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right
-;;;;;;  windmove-up windmove-left) "windmove" "windmove.el" (17390
-;;;;;;  26950))
+;;;;;;  windmove-up windmove-left) "windmove" "windmove.el" (17817
+;;;;;;  13977))
 ;;; Generated autoloads from windmove.el
 
 (autoload (quote windmove-left) "windmove" "\
@@ -30732,7 +30789,7 @@
 ;;;***
 
 ;;;### (autoloads (woman-find-file woman-dired-find-file woman) "woman"
-;;;;;;  "woman.el" (17778 48451))
+;;;;;;  "woman.el" (17817 16161))
 ;;; Generated autoloads from woman.el
 
 (autoload (quote woman) "woman" "\
@@ -30768,7 +30825,7 @@
 ;;;***
 
 ;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el"
-;;;;;;  (17390 26938))
+;;;;;;  (17817 13982))
 ;;; Generated autoloads from emulation/ws-mode.el
 
 (autoload (quote wordstar-mode) "ws-mode" "\
@@ -30952,7 +31009,7 @@
 ;;;***
 
 ;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism
-;;;;;;  yow) "yow" "play/yow.el" (17383 38807))
+;;;;;;  yow) "yow" "play/yow.el" (17817 14126))
 ;;; Generated autoloads from play/yow.el
 
 (autoload (quote yow) "yow" "\
@@ -31093,14 +31150,9 @@
 ;;;;;;  "net/eudcb-bbdb.el" "net/eudcb-ldap.el" "net/eudcb-mab.el"
 ;;;;;;  "net/eudcb-ph.el" "net/ldap.el" "net/netrc.el" "net/tls.el"
 ;;;;;;  "net/tramp-smb.el" "net/tramp-util.el" "net/tramp-uu.el"
-;;;;;;  "net/tramp-vc.el" "net/trampver.el" "obsolete/awk-mode.el"
-;;;;;;  "obsolete/bg-mouse.el" "obsolete/float.el" "obsolete/hilit19.el"
-;;;;;;  "obsolete/iso-insert.el" "obsolete/iso-swed.el" "obsolete/keyswap.el"
-;;;;;;  "obsolete/mlsupport.el" "obsolete/ooutline.el" "obsolete/profile.el"
-;;;;;;  "obsolete/rnews.el" "obsolete/sc.el" "obsolete/sun-curs.el"
-;;;;;;  "obsolete/sun-fns.el" "obsolete/swedish.el" "obsolete/uncompress.el"
-;;;;;;  "obsolete/x-apollo.el" "obsolete/x-menu.el" "patcomp.el"
-;;;;;;  "paths.el" "pcvs-info.el" "pcvs-parse.el" "pcvs-util.el"
+;;;;;;  "net/tramp-vc.el" "net/trampver.el" "obsolete/bg-mouse.el"
+;;;;;;  "obsolete/hilit19.el" "obsolete/sc.el" "obsolete/uncompress.el"
+;;;;;;  "patcomp.el" "paths.el" "pcvs-info.el" "pcvs-parse.el" "pcvs-util.el"
 ;;;;;;  "pgg-def.el" "pgg-parse.el" "pgg-pgp.el" "pgg-pgp5.el" "play/gamegrid.el"
 ;;;;;;  "play/gametree.el" "play/meese.el" "progmodes/ada-prj.el"
 ;;;;;;  "progmodes/cc-align.el" "progmodes/cc-awk.el" "progmodes/cc-bytecomp.el"
@@ -31112,26 +31164,24 @@
 ;;;;;;  "progmodes/idlw-toolbar.el" "progmodes/mantemp.el" "progmodes/xscheme.el"
 ;;;;;;  "register.el" "replace.el" "rfn-eshadow.el" "s-region.el"
 ;;;;;;  "saveplace.el" "sb-image.el" "scroll-bar.el" "select.el"
-;;;;;;  "soundex.el" "startup.el" "subdirs.el" "tempo.el" "term/AT386.el"
-;;;;;;  "term/apollo.el" "term/bobcat.el" "term/cygwin.el" "term/internal.el"
-;;;;;;  "term/iris-ansi.el" "term/linux.el" "term/lk201.el" "term/mac-win.el"
-;;;;;;  "term/news.el" "term/pc-win.el" "term/rxvt.el" "term/sun-mouse.el"
-;;;;;;  "term/sun.el" "term/sup-mouse.el" "term/tty-colors.el" "term/tvi970.el"
-;;;;;;  "term/vt100.el" "term/vt102.el" "term/vt125.el" "term/vt200.el"
+;;;;;;  "soundex.el" "startup.el" "subdirs.el" "tempo.el" "term/apollo.el"
+;;;;;;  "term/bobcat.el" "term/cygwin.el" "term/internal.el" "term/linux.el"
+;;;;;;  "term/lk201.el" "term/pc-win.el" "term/rxvt.el" "term/sun.el"
+;;;;;;  "term/tty-colors.el" "term/vt102.el" "term/vt125.el" "term/vt200.el"
 ;;;;;;  "term/vt201.el" "term/vt220.el" "term/vt240.el" "term/vt300.el"
-;;;;;;  "term/vt320.el" "term/vt400.el" "term/vt420.el" "term/w32-win.el"
-;;;;;;  "term/wyse50.el" "termdev.el" "textmodes/bib-mode.el" "textmodes/makeinfo.el"
-;;;;;;  "textmodes/page-ext.el" "textmodes/page.el" "textmodes/refbib.el"
-;;;;;;  "textmodes/refer.el" "textmodes/reftex-auc.el" "textmodes/reftex-dcr.el"
-;;;;;;  "textmodes/reftex-ref.el" "textmodes/reftex-sel.el" "textmodes/reftex-toc.el"
-;;;;;;  "textmodes/texnfo-upd.el" "textmodes/text-mode.el" "timezone.el"
-;;;;;;  "tooltip.el" "tree-widget.el" "uniquify.el" "url/url-about.el"
-;;;;;;  "url/url-cookie.el" "url/url-dired.el" "url/url-expand.el"
-;;;;;;  "url/url-ftp.el" "url/url-history.el" "url/url-imap.el" "url/url-methods.el"
-;;;;;;  "url/url-nfs.el" "url/url-proxy.el" "url/url-vars.el" "url/vc-dav.el"
-;;;;;;  "vc-hooks.el" "vcursor.el" "version.el" "vms-patch.el" "vmsproc.el"
-;;;;;;  "vt-control.el" "vt100-led.el" "w32-fns.el" "w32-vars.el"
-;;;;;;  "widget.el" "window.el" "x-dnd.el") (17778 59104 269580))
+;;;;;;  "term/vt320.el" "term/vt400.el" "term/vt420.el" "termdev.el"
+;;;;;;  "textmodes/bib-mode.el" "textmodes/makeinfo.el" "textmodes/page-ext.el"
+;;;;;;  "textmodes/page.el" "textmodes/refbib.el" "textmodes/refer.el"
+;;;;;;  "textmodes/reftex-auc.el" "textmodes/reftex-dcr.el" "textmodes/reftex-ref.el"
+;;;;;;  "textmodes/reftex-sel.el" "textmodes/reftex-toc.el" "textmodes/texnfo-upd.el"
+;;;;;;  "textmodes/text-mode.el" "timezone.el" "tooltip.el" "tree-widget.el"
+;;;;;;  "uniquify.el" "url/url-about.el" "url/url-cookie.el" "url/url-dired.el"
+;;;;;;  "url/url-expand.el" "url/url-ftp.el" "url/url-history.el"
+;;;;;;  "url/url-imap.el" "url/url-methods.el" "url/url-nfs.el" "url/url-proxy.el"
+;;;;;;  "url/url-vars.el" "url/vc-dav.el" "vc-hooks.el" "vcursor.el"
+;;;;;;  "version.el" "vms-patch.el" "vmsproc.el" "vt-control.el"
+;;;;;;  "vt100-led.el" "w32-fns.el" "w32-vars.el" "widget.el" "window.el"
+;;;;;;  "x-dnd.el") (17817 17746 543314))
 
 ;;;***
 
--- a/lisp/ledit.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ledit.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ledit.el --- Emacs side of ledit interface
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/loadhist.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/loadhist.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; loadhist.el --- lisp functions for working with feature groups
 
-;; Copyright (C) 1995, 1998, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1998, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
--- a/lisp/log-edit.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/log-edit.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; log-edit.el --- Major mode for editing CVS commit messages
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
--- a/lisp/ls-lisp.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ls-lisp.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ls-lisp.el --- emulate insert-directory completely in Emacs Lisp
 
-;; Copyright (C) 1992, 1994, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1992, 1994, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Sebastian Kremer <sk@thp.uni-koeln.de>
--- a/lisp/macros.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/macros.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; macros.el --- non-primitive commands for keyboard macros
 
-;; Copyright (C) 1985, 1986, 1987, 1992, 1994, 1995, 2002, 2003,
+;; Copyright (C) 1985, 1986, 1987, 1992, 1994, 1995, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/mail/blessmail.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/blessmail.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; blessmail.el --- decide whether movemail needs special privileges -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1994, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/mail/footnote.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/footnote.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; footnote.el --- footnote support for message mode  -*- coding: iso-latin-1;-*-
 
-;; Copyright (C) 1997, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1997, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Steven L Baur <steve@xemacs.org>
@@ -501,7 +501,8 @@
 				 (regexp-quote footnote-end-tag)))
 		       nil t)
 		  (unless (beginning-of-line) t))
-		(goto-char (point-max)))))
+		(Footnote-goto-char-point-max)
+		(re-search-backward (concat "^" footnote-section-tag-regexp) nil t))))
     (unless (looking-at "^$")
       (insert "\n"))
     (when (eobp)
--- a/lisp/mail/mail-hist.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/mail-hist.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; mail-hist.el --- headers and message body history for outgoing mail
 
-;; Copyright (C) 1994, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Karl Fogel <kfogel@red-bean.com>
--- a/lisp/mail/mailabbrev.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/mailabbrev.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; mailabbrev.el --- abbrev-expansion of mail aliases
 
-;; Copyright (C) 1985, 1986, 1987, 1992, 1993, 1996, 1997, 2000, 2002,
-;;   2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1986, 1987, 1992, 1993, 1996, 1997, 2000, 2001,
+;;   2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Jamie Zawinski <jwz@lucid.com>, now <jwz@jwz.org>
 ;; Maintainer: FSF
--- a/lisp/mail/mailalias.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/mailalias.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; mailalias.el --- expand and complete mailing address aliases
 
-;; Copyright (C) 1985, 1987, 1995, 1996, 1997, 2002, 2003,
+;; Copyright (C) 1985, 1987, 1995, 1996, 1997, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/mail/mailheader.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/mailheader.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; mailheader.el --- mail header parsing, merging, formatting
 
-;; Copyright (C) 1996, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Erik Naggum <erik@naggum.no>
--- a/lisp/mail/metamail.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/metamail.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; metamail.el --- Metamail interface for GNU Emacs
 
-;; Copyright (C) 1993, 1996, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1996, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
--- a/lisp/mail/mspools.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/mspools.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; mspools.el --- show mail spools waiting to be read
 
-;; Copyright (C) 1997, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Stephen Eglen <stephen@gnu.org>
--- a/lisp/mail/reporter.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/reporter.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; reporter.el --- customizable bug reporting of lisp programs
 
-;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2002, 2003, 2004,
-;;   2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003,
+;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author:          1993-1998 Barry A. Warsaw
 ;; Maintainer:      FSF
--- a/lisp/mail/rfc2368.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/rfc2368.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,11 +1,11 @@
 ;;; rfc2368.el --- support for rfc2368
 
+;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006 Free Software Foundation, Inc.
+
 ;; Author: Sen Nagata <sen@eccosys.com>
 ;; Keywords: mail
 
-;; Copyright (C) 1998, 2000, 2002, 2003, 2004,
-;;   2005, 2006 Free Software Foundation, Inc.
-
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
--- a/lisp/mail/rfc822.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/rfc822.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rfc822.el --- hairy rfc822 parser for mail and news and suchlike
 
-;; Copyright (C) 1986, 1987, 1990, 2002, 2003, 2004,
+;; Copyright (C) 1986, 1987, 1990, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Richard Mlynarik <mly@eddie.mit.edu>
--- a/lisp/mail/rmailmsc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/rmailmsc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rmailmsc.el --- miscellaneous support functions for the RMAIL mail reader
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/mail/supercite.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/supercite.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; supercite.el --- minor mode for citing mail and news replies
 
-;; Copyright (C) 1993, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: 1993 Barry A. Warsaw <bwarsaw@python.org>
--- a/lisp/mail/uce.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/uce.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; uce.el --- facilitate reply to unsolicited commercial email
 
-;; Copyright (C) 1996, 1998, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: stanislav shalunov <shalunov@mccme.ru>
--- a/lisp/mail/undigest.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/undigest.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; undigest.el --- digest-cracking support for the RMAIL mail reader
 
-;; Copyright (C) 1985, 1986, 1994, 1996, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 1994, 1996, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/mail/unrmail.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/unrmail.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; unrmail.el --- convert Rmail files to mailbox files
 
-;; Copyright (C) 1992, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/mail/vms-pmail.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mail/vms-pmail.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; vms-pmail.el --- use Emacs as the editor within VMS mail
 
-;; Copyright (C) 1992, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Roland B Roberts <roberts@panix.com>
--- a/lisp/makefile.w32-in	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/makefile.w32-in	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 #  -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
 #  Copyright (C) 2000, 2001, 2002, 2003, 2004,
-#                2005 Free Software Foundation, Inc.
+#                2005, 2006  Free Software Foundation, Inc.
 #
 #  This file is part of GNU Emacs.
 #
@@ -371,7 +371,12 @@
 # sources only.
 
 # Need separate version for sh and native cmd.exe
-bootstrap-clean: bootstrap-clean-$(SHELLTYPE) $(lisp)/loaddefs.el
+# Note that bootstrap-clean-$(SHELLTYPE) copies ldefs-boot.el to loaddefs.el,
+# and thus the almost-empty loaddefs.el crafted by the $(lisp)/loaddefs.el
+# target can NOT be built _after_ bootstrap-clean-$(SHELLTYPE) does its
+# thing, or else an empty loaddefs.el will overwrite the full one.
+bootstrap-clean: $(lisp)/loaddefs.el
+	$(MAKE) $(MFLAGS) bootstrap-clean-$(SHELLTYPE)
 
 bootstrap-clean-CMD:
 #	if exist "$(EMACS)" $(MAKE) $(MFLAGS) autoloads
--- a/lisp/makesum.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/makesum.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; makesum.el --- generate key binding summary for Emacs
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/man.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/man.el	Mon Jan 01 17:38:32 2007 +0000
@@ -428,13 +428,17 @@
   'follow-link t
   'help-echo "mouse-2, RET: display this man page"
   'func nil
-  'action (lambda (button) 
-	    (funcall 
-	     (button-get button 'func)
-	     (let ((func (button-get button 'Man-target-string)))
-	       (if func
-		   (if (functionp func) (funcall func) func)
-		 (button-label button))))))
+  'action #'Man-xref-button-action)
+
+(defun Man-xref-button-action (button) 
+  (let ((target (button-get button 'Man-target-string)))
+    (funcall 
+     (button-get button 'func)
+     (cond ((null target)
+	    (button-label button))
+	   ((functionp target)
+	    (funcall target (button-start button)))
+	   (t target)))))
 
 (define-button-type 'Man-xref-man-page 
   :supertype 'Man-abstract-xref-man-page
@@ -636,11 +640,12 @@
 ;; ======================================================================
 ;; default man entry: get word under point
 
-(defsubst Man-default-man-entry ()
-  "Make a guess at a default manual entry.
-This guess is based on the text surrounding the cursor."
+(defsubst Man-default-man-entry (&optional pos)
+  "Make a guess at a default manual entry based on the text at POS.
+If POS is nil, the current point is used."
   (let (word)
     (save-excursion
+      (if pos (goto-char pos))
       ;; Default man entry title is any word the cursor is on, or if
       ;; cursor not on a word, then nearest preceding word.
       (skip-chars-backward "-a-zA-Z0-9._+:")
--- a/lisp/master.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/master.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; master.el --- make a buffer the master over another buffer
 
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 Alexander Schroeder
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; Maintainer: Alex Schroeder <alex@gnu.org>
--- a/lisp/menu-bar.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/menu-bar.el	Mon Jan 01 17:38:32 2007 +0000
@@ -462,9 +462,10 @@
 	      "Delete the text in region between mark and current position"))
 (defvar yank-menu (cons "Select Yank" nil))
 (fset 'yank-menu (cons 'keymap yank-menu))
-(define-key menu-bar-edit-menu [select-paste]
-  '(menu-item "Select and Paste" yank-menu
-	      :enable (and (cdr yank-menu) (not buffer-read-only))))
+(define-key menu-bar-edit-menu [paste-from-menu]
+  '(menu-item "Paste from kill menu" yank-menu
+	      :enable (and (cdr yank-menu) (not buffer-read-only))
+	      :help "Choose a string from the kill ring and paste it"))
 (define-key menu-bar-edit-menu [paste]
   '(menu-item "Paste" yank
 	      :enable (and
@@ -623,8 +624,8 @@
 		 (let ((set (or (get ',variable 'custom-set) 'set-default))
 		       (get (or (get ',variable 'custom-get) 'default-value)))
 		   (funcall set ',variable (not (funcall get ',variable))))))
-	   (message ,message "enabled")
-  	 (message ,message "disabled"))
+	   (message ,message "enabled globally")
+  	 (message ,message "disabled globally"))
        ;; The function `customize-mark-as-set' must only be called when
        ;; a variable is set interactively, as the purpose is to mark it as
        ;; a candidate for "Save Options", and we do not want to save options
@@ -814,7 +815,7 @@
   (menu-bar-make-toggle toggle-indicate-empty-lines indicate-empty-lines
 			"Empty Line Indicators"
 			"Indicating of empty lines %s"
-			"Indicate trailing empty lines in fringe"))
+			"Indicate trailing empty lines in fringe, globally"))
 
 (defun menu-bar-showhide-fringe-menu-customize ()
   "Show customization buffer for `fringe-mode'."
@@ -923,13 +924,13 @@
 
 (define-key menu-bar-showhide-menu [showhide-tooltip-mode]
   (list 'menu-item "Tooltips" 'tooltip-mode
-	:help "Toggle tooltips on/off"
+	:help "Turn tooltips on/off"
 	:visible  `(and (display-graphic-p) (fboundp 'x-show-tip))
 	:button `(:toggle . tooltip-mode)))
 
 (define-key menu-bar-showhide-menu [menu-bar-mode]
   '(menu-item "Menu-bar" toggle-menu-bar-mode-from-frame
-	      :help "Toggle menu-bar on/off"
+	      :help "Turn menu-bar on/off"
 	      :button (:toggle . (> (frame-parameter nil 'menu-bar-lines) 0))))
 
 (define-key menu-bar-showhide-menu [showhide-tool-bar]
@@ -1019,8 +1020,8 @@
 (define-key menu-bar-options-menu [case-fold-search]
   (menu-bar-make-toggle toggle-case-fold-search case-fold-search
 	    "Case-Insensitive Search"
-	    "Case-Insensitive Search %s for buffers without local setting"
-	    "Ignore letter-case in search for buffers without local setting"))
+	    "Case-Insensitive Search %s"
+	    "Globally ignore letter-case in search"))
 
 (defun menu-bar-text-mode-auto-fill ()
   (interactive)
@@ -1126,7 +1127,8 @@
   '(menu-item "Programmable Calculator" calc
 	      :help "Invoke the Emacs built-in full scientific calculator"))
 (define-key menu-bar-tools-menu [calendar]
-  '(menu-item "Calendar" calendar))
+  '(menu-item "Calendar" calendar
+	      :help "Invoke the Emacs built-in calendar"))
 
 (define-key menu-bar-tools-menu [separator-net]
   '("--"))
@@ -1385,12 +1387,14 @@
   '(menu-item "Send Bug Report..." report-emacs-bug
 	      :help "Send e-mail to Emacs maintainers"))
 (define-key menu-bar-help-menu [emacs-problems]
-  '(menu-item "Emacs Known Problems" view-emacs-problems))
+  '(menu-item "Emacs Known Problems" view-emacs-problems
+	      :help "Read about known problems with Emacs"))
 (define-key menu-bar-help-menu [emacs-news]
   '(menu-item "Emacs News" view-emacs-news
 	      :help "New features of this version"))
 (define-key menu-bar-help-menu [emacs-faq]
-  '(menu-item "Emacs FAQ" view-emacs-FAQ))
+  '(menu-item "Emacs FAQ" view-emacs-FAQ
+	      :help "Frequently asked (and answered) questions about Emacs"))
 
 (defun help-with-tutorial-spec-language ()
   "Use the Emacs tutorial, specifying which language you want."
--- a/lisp/mh-e/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mh-e/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -2868,7 +2868,7 @@
 	* ChangeLog.1: New file.  Contains old ChangeLog.
 
 
-  Copyright (C) 2005 Free Software Foundation, Inc.
+  Copyright (C) 2005, 2006  Free Software Foundation, Inc.
 
   Copying and distribution of this file, with or without modification,
   are permitted in any medium without royalty provided the copyright
--- a/lisp/mh-e/ChangeLog.1	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mh-e/ChangeLog.1	Mon Jan 01 17:38:32 2007 +0000
@@ -11407,7 +11407,7 @@
 	(dist): Leave release in current directory.
 
 
-  Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+  Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
   Copying and distribution of this file, with or without modification,
   are permitted in any medium without royalty provided the copyright
--- a/lisp/midnight.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/midnight.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; midnight.el --- run something every midnight, e.g., kill old buffers
 
-;; Copyright (C) 1998, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Sam Steingold <sds@usa.net>
--- a/lisp/misc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/misc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; misc.el --- some nonstandard basic editing commands for Emacs
 
-;; Copyright (C) 1989, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/mouse-copy.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mouse-copy.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; mouse-copy.el --- one-click text copy and move
 
-;; Copyright (C) 1996, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: John Heidemann <johnh@ISI.EDU>
--- a/lisp/mouse-sel.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mouse-sel.el	Mon Jan 01 17:38:32 2007 +0000
@@ -244,6 +244,10 @@
   :group 'mouse-sel
   (if mouse-sel-mode
       (progn
+	;; If mouse-2 has never been done by the user, initialize the
+	;; `event-kind' property to ensure that `follow-link' clicks
+	;; are interpreted correctly.
+	(put 'mouse-2 'event-kind 'mouse-click)
 	(add-hook 'x-lost-selection-functions 'mouse-sel-lost-selection-hook)
 	(when mouse-sel-default-bindings
 	  ;; Save original bindings and replace them with new ones.
--- a/lisp/mouse.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/mouse.el	Mon Jan 01 17:38:32 2007 +0000
@@ -925,7 +925,11 @@
 	 (click-count (1- (event-click-count start-event)))
 	 (remap-double-click (and on-link
 				  (eq mouse-1-click-follows-link 'double)
-				  (= click-count 1))))
+				  (= click-count 1)))
+	 ;; Suppress automatic hscrolling, because that is a nuisance
+	 ;; when setting point near the right fringe (but see below).
+	 (automatic-hscrolling-saved automatic-hscrolling)
+	 (automatic-hscrolling nil))
     (setq mouse-selection-click-count click-count)
     ;; In case the down click is in the middle of some intangible text,
     ;; use the end of that text, and put it in START-POINT.
@@ -946,6 +950,11 @@
                      (memq (car-safe event) '(switch-frame select-window))))
           (if (memq (car-safe event) '(switch-frame select-window))
 	      nil
+	    ;; Automatic hscrolling did not occur during the call to
+	    ;; `read-event'; but if the user subsequently drags the
+	    ;; mouse, go ahead and hscroll.
+	    (let ((automatic-hscrolling automatic-hscrolling-saved))
+	      (redisplay))
 	    (setq end (event-end event)
 		  end-point (posn-point end))
 	    (if (numberp end-point)
--- a/lisp/net/ange-ftp.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/ange-ftp.el	Mon Jan 01 17:38:32 2007 +0000
@@ -3977,7 +3977,7 @@
 							  ange-ftp-this-dir))
 	(ange-ftp-real-file-name-all-completions file ange-ftp-this-dir)))))
 
-(defun ange-ftp-file-name-completion (file dir)
+(defun ange-ftp-file-name-completion (file dir &optional predicate)
   (let ((ange-ftp-this-dir (expand-file-name dir)))
     (if (ange-ftp-ftp-name ange-ftp-this-dir)
 	(progn
@@ -4005,8 +4005,13 @@
 	   file
 	   (nconc (ange-ftp-generate-root-prefixes)
 		  (ange-ftp-real-file-name-all-completions
-		   file ange-ftp-this-dir)))
-	(ange-ftp-real-file-name-completion file ange-ftp-this-dir)))))
+		   file ange-ftp-this-dir))
+	   predicate)
+	(if predicate
+	    (ange-ftp-real-file-name-completion
+	     file ange-ftp-this-dir predicate)
+	  (ange-ftp-real-file-name-completion
+	   file ange-ftp-this-dir))))))
 
 
 (defun ange-ftp-file-name-completion-1 (file tbl dir &optional predicate)
--- a/lisp/net/browse-url.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/browse-url.el	Mon Jan 01 17:38:32 2007 +0000
@@ -760,17 +760,23 @@
   (interactive (browse-url-interactive-arg "URL: "))
   (unless (interactive-p)
     (setq args (or args (list browse-url-new-window-flag))))
-  (if (functionp browse-url-browser-function)
-      (apply browse-url-browser-function url args)
-    ;; The `function' can be an alist; look down it for first match
-    ;; and apply the function (which might be a lambda).
-    (catch 'done
-      (dolist (bf browse-url-browser-function)
-	(when (string-match (car bf) url)
-	  (apply (cdr bf) url args)
-	  (throw 'done t)))
-      (error "No browse-url-browser-function matching URL %s"
-	     url))))
+  (let ((process-environment (copy-sequence process-environment)))
+    ;; When connected to various displays, be careful to use the display of
+    ;; the currently selected frame, rather than the original start display,
+    ;; which may not even exist any more.
+    (if (stringp (frame-parameter (selected-frame) 'display))
+        (setenv "DISPLAY" (frame-parameter (selected-frame) 'display)))
+    (if (functionp browse-url-browser-function)
+        (apply browse-url-browser-function url args)
+      ;; The `function' can be an alist; look down it for first match
+      ;; and apply the function (which might be a lambda).
+      (catch 'done
+        (dolist (bf browse-url-browser-function)
+          (when (string-match (car bf) url)
+            (apply (cdr bf) url args)
+            (throw 'done t)))
+        (error "No browse-url-browser-function matching URL %s"
+               url)))))
 
 ;;;###autoload
 (defun browse-url-at-point (&optional arg)
--- a/lisp/net/eudc-bob.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/eudc-bob.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; eudc-bob.el --- Binary Objects Support for EUDC
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
--- a/lisp/net/eudc-export.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/eudc-export.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; eudc-export.el --- functions to export EUDC query results
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
--- a/lisp/net/eudc-hotlist.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/eudc-hotlist.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; eudc-hotlist.el --- hotlist management for EUDC
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
--- a/lisp/net/eudc-vars.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/eudc-vars.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; eudc-vars.el --- Emacs Unified Directory Client
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
--- a/lisp/net/eudc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/eudc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; eudc.el --- Emacs Unified Directory Client
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
--- a/lisp/net/eudcb-bbdb.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/eudcb-bbdb.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; eudcb-bbdb.el --- Emacs Unified Directory Client - BBDB Backend
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
--- a/lisp/net/eudcb-ldap.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/eudcb-ldap.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; eudcb-ldap.el --- Emacs Unified Directory Client - LDAP Backend
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
--- a/lisp/net/eudcb-mab.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/eudcb-mab.el	Mon Jan 01 17:38:32 2007 +0000
@@ -3,6 +3,7 @@
 ;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@newartisans.com>
+;; Maintainer: FSF
 ;; Keywords: comm
 
 ;; This file is part of GNU Emacs.
--- a/lisp/net/eudcb-ph.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/eudcb-ph.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; eudcb-ph.el --- Emacs Unified Directory Client - CCSO PH/QI Backend
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
--- a/lisp/net/ldap.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/ldap.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ldap.el --- client interface to LDAP for Emacs
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
--- a/lisp/net/rcompile.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/rcompile.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rcompile.el --- run a compilation on a remote machine
 
-;; Copyright (C) 1993, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Albert    <alon@milcse.rtsg.mot.com>
--- a/lisp/net/rlogin.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/rlogin.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; rlogin.el --- remote login interface
 
-;; Copyright (C) 1992, 1993, 1994, 1995, 1997, 1998, 2002, 2003, 2004,
-;;   2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1994, 1995, 1997, 1998, 2001, 2002, 2003,
+;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Noah Friedman
 ;; Maintainer: Noah Friedman <friedman@splode.com>
--- a/lisp/net/snmp-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/snmp-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; snmp-mode.el --- SNMP & SNMPv2 MIB major mode
 
-;; Copyright (C) 1995, 1998, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1998, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Paul D. Smith <psmith@BayNetworks.com>
--- a/lisp/net/telnet.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/telnet.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; telnet.el --- run a telnet session from within an Emacs buffer
 
-;; Copyright (C) 1985, 1988, 1992, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1988, 1992, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: William F. Schelter
--- a/lisp/net/tramp.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/tramp.el	Mon Jan 01 17:38:32 2007 +0000
@@ -472,6 +472,17 @@
               (tramp-copy-args            nil)
               (tramp-copy-keep-date-arg   nil)
 	      (tramp-password-end-of-line nil))
+     ("scpc"  (tramp-connection-function  tramp-open-connection-rsh)
+              (tramp-login-program        "ssh")
+              (tramp-copy-program         "scp")
+              (tramp-remote-sh            "/bin/sh")
+              (tramp-login-args           ("-o" "ControlPath=%t.%%r@%%h:%%p"
+					   "-o" "ControlMaster=yes"
+					   "-e" "none"))
+              (tramp-copy-args            ("-o" "ControlPath=%t.%%r@%%h:%%p"
+					   "-o" "ControlMaster=auto"))
+              (tramp-copy-keep-date-arg   "-p")
+	      (tramp-password-end-of-line nil))
      ("scpx"  (tramp-connection-function  tramp-open-connection-rsh)
               (tramp-login-program        "ssh")
               (tramp-copy-program         "scp")
@@ -566,6 +577,7 @@
     If `tramp-connection-function' is `tramp-open-connection-su', then
     \"%u\" in this list is replaced by the user name, and \"%%\" can
     be used to obtain a literal percent character.
+    \"%t\" is replaced by the temporary file name for `scp'-like methods.
   * `tramp-copy-program'
     This specifies the name of the program to use for remotely copying
     the file; this might be the absolute filename of rcp or the name of
@@ -672,10 +684,39 @@
   :type '(repeat (list string function string)))
 
 (defcustom tramp-default-method
-  (if (and (fboundp 'executable-find)
-	   (executable-find "pscp"))
-      "pscp"
-    "scp")
+  ;; An external copy method seems to be preferred, because it is much
+  ;; more performant for large files, and it hasn't too serious delays
+  ;; for small files.  But it must be ensured that there aren't
+  ;; permanent password queries.  Either a password agent like
+  ;; "ssh-agent" or "Pageant" shall run, or the optional password.el
+  ;; package shall be active for password caching.  "scpc" would be
+  ;; another good choice because of the "ControlMaster" option, but
+  ;; this is a more modern alternative in OpenSSH 4, which cannot be
+  ;; taken as default.
+  (let ((e-f (fboundp 'executable-find)))
+    (cond
+     ;; PuTTY is installed.
+     ((and e-f (funcall 'executable-find "pscp"))
+      (if (or (fboundp 'password-read)
+	      ;; Pageant is running.
+	      (and (fboundp 'w32-window-exists-p)
+		   (funcall 'w32-window-exists-p "Pageant" "Pageant")))
+	  "pscp"
+	"plink"))
+     ;; There is an ssh installation.
+     ((and e-f (funcall 'executable-find "scp"))
+      (if (or (fboundp 'password-read)
+	      ;; ssh-agent is running.
+	      (getenv "SSH_AUTH_SOCK")
+	      (getenv "SSH_AGENT_PID"))
+	  "scp"
+	"ssh"))
+     ;; Under Emacs 20, `executable-find' does not exists.  So we
+     ;; couldn't check whether there is an ssh implementation.  Let's
+     ;; hope the best.
+     ((not e-f) "ssh")
+     ;; Fallback.
+     (t "ftp")))
   "*Default method to use for transferring files.
 See `tramp-methods' for possibilities.
 Also see `tramp-default-method-alist'."
@@ -913,8 +954,10 @@
   :type 'regexp)
 
 (defcustom tramp-yn-prompt-regexp
-  (concat (regexp-opt '("Store key in cache? (y/n)") t)
-	  "\\s-*")
+  (concat
+   (regexp-opt '("Store key in cache? (y/n)"
+		 "Update cached key? (y/n, Return cancels connection)") t)
+   "\\s-*")
   "Regular expression matching all y/n queries which need to be confirmed.
 The confirmation should be done with y or n.
 The regexp should match at end of buffer.
@@ -2032,7 +2075,9 @@
 ;; Enable debugging.
 (def-edebug-spec with-parsed-tramp-file-name (form symbolp body))
 ;; Highlight as keyword.
-(font-lock-add-keywords 'emacs-lisp-mode '("\\<with-parsed-tramp-file-name\\>"))
+(when (functionp 'font-lock-add-keywords)
+  (funcall 'font-lock-add-keywords
+	   'emacs-lisp-mode '("\\<with-parsed-tramp-file-name\\>")))
 
 (defmacro tramp-let-maybe (variable value &rest body)
   "Let-bind VARIABLE to VALUE in BODY, but only if VARIABLE is not obsolete.
@@ -2822,17 +2867,18 @@
 
 
 ;; The following isn't needed for Emacs 20 but for 19.34?
-(defun tramp-handle-file-name-completion (filename directory)
+(defun tramp-handle-file-name-completion
+  (filename directory &optional predicate)
   "Like `file-name-completion' for tramp files."
   (unless (tramp-tramp-file-p directory)
     (error
      "tramp-handle-file-name-completion invoked on non-tramp directory `%s'"
      directory))
-  (with-parsed-tramp-file-name directory nil
-    (try-completion
-     filename
-     (mapcar (lambda (x) (cons x nil))
-	     (file-name-all-completions filename directory)))))
+  (try-completion
+   filename
+   (mapcar 'list (file-name-all-completions filename directory))
+   (when predicate
+     (lambda (x) (funcall predicate (expand-file-name (car x) directory))))))
 
 ;; cp, mv and ln
 
@@ -3152,6 +3198,14 @@
 	      v2-user v2-host
 	      (tramp-shell-quote-argument v2-localname))))
 
+    ;; Handle ControlMaster/ControlPath
+    (setq copy-args
+	  (mapcar
+	   (lambda (x)
+	     (format-spec
+	      x `((?t . ,(format "/tmp/%s" tramp-temp-name-prefix)))))
+	   copy-args))
+
     ;; Handle keep-date argument
     (when keep-date
       (if t1
@@ -4474,7 +4528,6 @@
   "Checks whether method / user name / host name completion is active."
   (cond
    (tramp-completion-mode t)
-   ((not tramp-unified-filenames) t)
    ((string-match "^/.*:.*:$" file) nil)
    ((string-match
      (concat tramp-prefix-regexp
@@ -4483,7 +4536,7 @@
     (member (match-string 1 file) (mapcar 'car tramp-methods)))
    ((or (equal last-input-event 'tab)
   	;; Emacs
-  	(and (integerp last-input-event)
+  	(and (wholenump last-input-event)
 	     (or
 	      ;; ?\t has event-modifier 'control
 	      (char-equal last-input-event ?\t)
@@ -4585,10 +4638,14 @@
 
 ;; Method, host name and user name completion for a file.
 ;;;###autoload
-(defun tramp-completion-handle-file-name-completion (filename directory)
+(defun tramp-completion-handle-file-name-completion
+  (filename directory &optional predicate)
   "Like `file-name-completion' for tramp files."
-  (try-completion filename
-   (mapcar 'list (file-name-all-completions filename directory))))
+  (try-completion
+   filename
+   (mapcar 'list (file-name-all-completions filename directory))
+   (when predicate
+     (lambda (x) (funcall predicate (expand-file-name (car x) directory))))))
 
 ;; I misuse a little bit the tramp-file-name structure in order to handle
 ;; completion possibilities for partial methods / user names / host names.
@@ -5048,13 +5105,23 @@
 (defun tramp-touch (file time)
   "Set the last-modified timestamp of the given file.
 TIME is an Emacs internal time value as returned by `current-time'."
-  (let ((touch-time (format-time-string "%Y%m%d%H%M.%S" time t)))
+  (let* ((utc
+	  ;; With GNU Emacs, `format-time-string' has an optional
+	  ;; parameter UNIVERSAL.  This is preferred.
+	  (and (functionp 'subr-arity)
+	       (= 3 (cdr (funcall (symbol-function 'subr-arity)
+				  (symbol-function 'format-time-string))))))
+	 (touch-time
+	  (if utc
+	      (format-time-string "%Y%m%d%H%M.%S" time t)
+	    (format-time-string "%Y%m%d%H%M.%S" time))))
     (if (tramp-tramp-file-p file)
 	(with-parsed-tramp-file-name file nil
 	  (let ((buf (tramp-get-buffer multi-method method user host)))
 	    (unless (zerop (tramp-send-command-and-check
 			    multi-method method user host
-			    (format "TZ=UTC; export TZ; touch -t %s %s"
+			    (format "%s touch -t %s %s"
+				    (if utc "TZ=UTC; export TZ;" "")
 				    touch-time
 				    (tramp-shell-quote-argument localname))
 			    t))
@@ -5491,6 +5558,7 @@
 
 (defun tramp-process-actions (p multi-method method user host actions)
   "Perform actions until success."
+  (tramp-message 10 "%s" (mapconcat 'identity (process-command p) " "))
   (let (exit)
     (while (not exit)
       (tramp-message 9 "Waiting for prompts from remote shell")
@@ -5661,10 +5729,14 @@
 			multi-method
 			(tramp-find-method multi-method method user host)
 			user host 'tramp-login-program))
-	  (login-args (tramp-get-method-parameter
-		     multi-method
-		     (tramp-find-method multi-method method user host)
-		     user host 'tramp-login-args))
+	  (login-args (mapcar
+		       (lambda (x)
+			 (format-spec
+			  x `((?t . ,(format "/tmp/%s" tramp-temp-name-prefix)))))
+		       (tramp-get-method-parameter
+			multi-method
+			(tramp-find-method multi-method method user host)
+			user host 'tramp-login-args)))
 	  (real-host host))
       ;; The following should be changed.  We need a more general
       ;; mechanism to parse extra host args.
@@ -6918,8 +6990,8 @@
 	item)
     (while choices
       (setq item (pop choices))
-      (when (and (string-match (nth 0 item) (or host ""))
-		 (string-match (nth 1 item) (or user "")))
+      (when (and (string-match (or (nth 0 item) "") (or host ""))
+		 (string-match (or (nth 1 item) "") (or user "")))
 	(setq method (nth 2 item))
 	(setq choices nil)))
     method))
--- a/lisp/net/trampver.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/trampver.el	Mon Jan 01 17:38:32 2007 +0000
@@ -30,7 +30,7 @@
 ;; are auto-frobbed from configure.ac, so you should edit that file and run
 ;; "autoconf && ./configure" to change them.
 
-(defconst tramp-version "2.0.54"
+(defconst tramp-version "2.0.55"
   "This version of Tramp.")
 
 (defconst tramp-bug-report-address "tramp-devel@gnu.org"
--- a/lisp/net/webjump.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/net/webjump.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; webjump.el --- programmable Web hotlist
 
-;; Copyright (C) 1996, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author:    Neil W. Van Dyke <nwv@acm.org>
--- a/lisp/newcomment.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/newcomment.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; newcomment.el --- (un)comment regions of buffers
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: code extracted from Emacs-20's simple.el
--- a/lisp/novice.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/novice.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; novice.el --- handling of disabled commands ("novice mode") for Emacs
 
-;; Copyright (C) 1985, 1986, 1987, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 1987, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/obsolete/awk-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/awk-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; awk-mode.el --- AWK code editing commands for Emacs
 
-;; Copyright (C) 1988, 1994, 1996, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1988, 1994, 1996, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/obsolete/fast-lock.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/fast-lock.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; fast-lock.el --- automagic text properties caching for fast Font Lock mode
 
-;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 2002, 2003, 2004,
+;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Simon Marshall <simon@gnu.org>
--- a/lisp/obsolete/float.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/float.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; float.el --- obsolete floating point arithmetic package
 
-;; Copyright (C) 1986, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Bill Rosenblatt
--- a/lisp/obsolete/hscroll.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/hscroll.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; hscroll.el --- automatically scroll truncated lines horizontally
 
-;; Copyright (C) 1992, 1993, 1995, 1996, 2002, 2003, 2004,
+;; Copyright (C) 1992, 1993, 1995, 1996, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Wayne Mesard <wmesard@esd.sgi.com>
--- a/lisp/obsolete/iso-insert.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/iso-insert.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; iso-insert.el --- insert functions for ISO 8859/1  -*- coding: iso-8859-1;-*-
 
-;; Copyright (C) 1987, 1994, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
--- a/lisp/obsolete/iso-swed.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/iso-swed.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; iso-swed.el --- set up char tables for ISO 8859/1 for Swedish/Finnish ttys
 
-;; Copyright (C) 1987, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
--- a/lisp/obsolete/keyswap.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/keyswap.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; keyswap.el --- swap BS and DEL keys -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1992, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
--- a/lisp/obsolete/mlsupport.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/mlsupport.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; mlsupport.el --- run-time support for mocklisp code
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/obsolete/ooutline.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/ooutline.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; ooutline.el --- outline mode commands for Emacs
 
-;; Copyright (C) 1986, 1993, 1994, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1986, 1993, 1994, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/obsolete/options.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/options.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; options.el --- edit Options command for Emacs
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/obsolete/profile.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/profile.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; profile.el --- Emacs profiler (OBSOLETE; use elp.el instead)
 
-;; Copyright (C) 1992, 1994, 1998, 2002, 2003, 2004,
+;; Copyright (C) 1992, 1994, 1998, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Boaz Ben-Zvi <boaz@lcs.mit.edu>
--- a/lisp/obsolete/rnews.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/rnews.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rnews.el --- USENET news reader for GNU Emacs
 
-;; Copyright (C) 1985, 1986, 1987, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 1987, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/obsolete/rnewspost.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/rnewspost.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rnewspost.el --- USENET news poster/mailer for GNU Emacs
 
-;; Copyright (C) 1985, 1986, 1987, 1995, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 1987, 1995, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/obsolete/rsz-mini.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/rsz-mini.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rsz-mini.el --- dynamically resize minibuffer to display entire contents
 
-;; Copyright (C) 1990, 1993, 1994, 1995, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1990, 1993, 1994, 1995, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Noah Friedman <friedman@splode.com>
--- a/lisp/obsolete/scribe.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/scribe.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; scribe.el --- scribe mode, and its idiosyncratic commands
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/obsolete/sun-curs.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/sun-curs.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; sun-curs.el --- cursor definitions for Sun windows
 
-;; Copyright (C) 1987, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Jeff Peck <peck@sun.com>
--- a/lisp/obsolete/sun-fns.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/sun-fns.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; sun-fns.el --- subroutines of Mouse handling for Sun windows
 
-;; Copyright (C) 1987, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Jeff Peck <peck@sun.com>
--- a/lisp/obsolete/swedish.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/swedish.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; swedish.el --- miscellaneous functions for dealing with Swedish
 
-;; Copyright (C) 1988, 2001  Free Software Foundation, Inc.
+;; Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
 ;; Maintainer: FSF
--- a/lisp/obsolete/x-apollo.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/x-apollo.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; x-apollo.el --- Apollo support functions
 
-;; Copyright (C) 1995, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
--- a/lisp/obsolete/x-menu.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/obsolete/x-menu.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; x-menu.el --- menu support for X
 
-;; Copyright (C) 1986, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
--- a/lisp/outline.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/outline.el	Mon Jan 01 17:38:32 2007 +0000
@@ -652,19 +652,24 @@
   (if (< arg 0)
       (beginning-of-line)
     (end-of-line))
-  (while (and (not (bobp)) (< arg 0))
-    (while (and (not (bobp))
-		(re-search-backward (concat "^\\(?:" outline-regexp "\\)")
-				    nil 'move)
-		(outline-invisible-p)))
-    (setq arg (1+ arg)))
-  (while (and (not (eobp)) (> arg 0))
-    (while (and (not (eobp))
-		(re-search-forward (concat "^\\(?:" outline-regexp "\\)")
-				   nil 'move)
-		(outline-invisible-p (match-beginning 0))))
-    (setq arg (1- arg)))
-  (beginning-of-line))
+  (let (found-heading-p)
+    (while (and (not (bobp)) (< arg 0))
+      (while (and (not (bobp))
+		  (setq found-heading-p
+			(re-search-backward
+			 (concat "^\\(?:" outline-regexp "\\)")
+			 nil 'move))
+		  (outline-invisible-p)))
+      (setq arg (1+ arg)))
+    (while (and (not (eobp)) (> arg 0))
+      (while (and (not (eobp))
+		  (setq found-heading-p
+			(re-search-forward
+			 (concat "^\\(?:" outline-regexp "\\)")
+			 nil 'move))
+		  (outline-invisible-p (match-beginning 0))))
+      (setq arg (1- arg)))
+    (if found-heading-p (beginning-of-line))))
 
 (defun outline-previous-visible-heading (arg)
   "Move to the previous heading line.
@@ -690,6 +695,11 @@
     (goto-char beg)))
 
 
+(defvar outline-isearch-open-invisible-function nil
+  "Function called if `isearch' finishes in an invisible overlay.
+The function is called with the overlay as its only argument.
+If nil, `show-entry' is called to reveal the invisible text.")
+
 (put 'outline 'reveal-toggle-invisible 'outline-reveal-toggle-invisible)
 (defun outline-flag-region (from to flag)
   "Hide or show lines from FROM to TO, according to FLAG.
@@ -698,7 +708,9 @@
   (when flag
     (let ((o (make-overlay from to)))
       (overlay-put o 'invisible 'outline)
-      (overlay-put o 'isearch-open-invisible 'outline-isearch-open-invisible)))
+      (overlay-put o 'isearch-open-invisible
+		   (or outline-isearch-open-invisible-function
+		       'outline-isearch-open-invisible))))
   ;; Seems only used by lazy-lock.  I.e. obsolete.
   (run-hooks 'outline-view-change-hook))
 
@@ -894,7 +906,8 @@
 		(or first (> (funcall outline-level) level)))
       (setq first nil)
       (outline-next-heading))
-    (if (bolp)
+    (if (and (bolp) (not (eolp)))
+	;; We stopped at a nonempty line (the next heading).
 	(progn
 	  ;; Go to end of line before heading
 	  (forward-char -1)
--- a/lisp/paths.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/paths.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; paths.el --- define pathnames for use by various Emacs commands -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1986, 1988, 1994, 1999, 2000, 2002, 2003,
+;; Copyright (C) 1986, 1988, 1994, 1999, 2000, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/pcmpl-cvs.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/pcmpl-cvs.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; pcmpl-cvs.el --- functions for dealing with cvs completions
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: John Wiegley <johnw@gnu.org>
--- a/lisp/pcmpl-gnu.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/pcmpl-gnu.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; pcmpl-gnu.el --- completions for GNU project tools
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
--- a/lisp/pcmpl-linux.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/pcmpl-linux.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; pcmpl-linux.el --- functions for dealing with GNU/Linux completions
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
--- a/lisp/pcmpl-rpm.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/pcmpl-rpm.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; pcmpl-rpm.el --- functions for dealing with rpm completions
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
--- a/lisp/pcmpl-unix.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/pcmpl-unix.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; pcmpl-unix.el --- standard UNIX completions
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
--- a/lisp/pcvs-defs.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/pcvs-defs.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; pcvs-defs.el --- variable definitions for PCL-CVS
 
 ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-;;   2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;;   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs
--- a/lisp/pcvs-info.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/pcvs-info.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; pcvs-info.el --- internal representation of a fileinfo entry
 
 ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-;;   2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;;   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs
--- a/lisp/pcvs-parse.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/pcvs-parse.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; pcvs-parse.el --- the CVS output parser
 
 ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-;;   2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;;   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
 ;; Keywords: pcl-cvs
--- a/lisp/pcvs.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/pcvs.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; pcvs.el --- a front-end to CVS
 
 ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-;;   2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;;   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: (The PCL-CVS Trust) pcl-cvs@cyclic.com
 ;;	(Per Cederqvist) ceder@lysator.liu.se
--- a/lisp/pgg-def.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/pgg-def.el	Mon Jan 01 17:38:32 2007 +0000
@@ -71,9 +71,7 @@
   :group 'pgg
   :type 'integer)
 
-(defcustom pgg-passphrase-coding-system
-  (if (boundp 'locale-coding-system)
-      locale-coding-system)
+(defcustom pgg-passphrase-coding-system nil
   "Coding system to encode passphrase."
   :group 'pgg
   :type 'coding-system)
--- a/lisp/pgg-gpg.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/pgg-gpg.el	Mon Jan 01 17:38:32 2007 +0000
@@ -52,7 +52,7 @@
   :type '(choice (const :tag "New `--recipient' option" "--recipient")
 		 (const :tag "Old `--remote-user' option" "--remote-user")))
 
-(defcustom pgg-gpg-use-agent nil
+(defcustom pgg-gpg-use-agent t
   "Whether to use gnupg agent for key caching."
   :group 'pgg-gpg
   :type 'boolean)
@@ -94,8 +94,10 @@
 	    (if pgg-passphrase-coding-system
 		(progn
 		  (setq encoded-passphrase-with-new-line
-			(encode-coding-string passphrase-with-newline
-					      pgg-passphrase-coding-system))
+			(encode-coding-string
+			 passphrase-with-newline
+			 (coding-system-change-eol-conversion
+			  pgg-passphrase-coding-system 'unix)))
 		  (pgg-clear-string passphrase-with-newline))
 	      (setq encoded-passphrase-with-new-line passphrase-with-newline
 		    passphrase-with-newline nil))
--- a/lisp/play/5x5.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/5x5.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; 5x5.el --- simple little puzzle game
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Dave Pearson <davep@davep.org>
--- a/lisp/play/bruce.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/bruce.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; bruce.el --- bruce phrase utility for overloading the Communications -*- no-byte-compile: t -*-
 ;;; Decency Act snoops, if any.
 
-;; Copyright (C) 1988, 1993, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1988, 1993, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/play/cookie1.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/cookie1.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; cookie1.el --- retrieve random phrases from fortune cookie files
 
-;; Copyright (C) 1993, 2002, 2003, 2004, 2005, 2006,
+;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
--- a/lisp/play/decipher.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/decipher.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; decipher.el --- cryptanalyze monoalphabetic substitution ciphers
 ;;
-;; Copyright (C) 1995, 1996, 2002, 2003, 2004,
+;; Copyright (C) 1995, 1996, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 ;;
 ;; Author: Christopher J. Madsen <chris_madsen@geocities.com>
--- a/lisp/play/dissociate.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/dissociate.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; dissociate.el --- scramble text amusingly for Emacs
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/play/doctor.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/doctor.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; doctor.el --- psychological help for frustrated users
 
-;; Copyright (C) 1985, 1987, 1994, 1996, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1987, 1994, 1996, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006  Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/play/gamegrid.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/gamegrid.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gamegrid.el --- library for implementing grid-based games on Emacs
 
-;; Copyright (C) 1997, 1998, 2002, 2003, 2004,
+;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Glynn Clements <glynn@sensei.co.uk>
--- a/lisp/play/gametree.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/gametree.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; gametree.el --- manage game analysis trees in Emacs
 
-;; Copyright (C) 1997, 1999, 2002, 2003, 2004,
+;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Ian T Zimmerman <itz@rahul.net>
--- a/lisp/play/handwrite.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/handwrite.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; handwrite.el --- turns your emacs buffer into a handwritten document -*- coding: iso-latin-1; -*-
 
-;; Copyright (C) 1996, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Danny Roozendaal (was: <danny@tvs.kun.nl>)
--- a/lisp/play/landmark.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/landmark.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; landmark.el --- neural-network robot that learns landmarks
 
-;; Copyright (C) 1996, 1997, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Terrence Brannon (was: <brannon@rana.usc.edu>)
--- a/lisp/play/morse.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/morse.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; morse.el --- convert text to morse code and back             -*- coding: utf-8 -*-
 
-;; Copyright (C) 1995, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Rick Farnbach <rick_farnbach@MENTORG.COM>
--- a/lisp/play/mpuz.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/mpuz.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; mpuz.el --- multiplication puzzle for GNU Emacs
 
-;; Copyright (C) 1990, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1990, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Philippe Schnoebelen <phs@lsv.ens-cachan.fr>
--- a/lisp/play/snake.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/snake.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; snake.el --- implementation of Snake for Emacs
 
-;; Copyright (C) 1997, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Glynn Clements <glynn@sensei.co.uk>
--- a/lisp/play/solitaire.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/solitaire.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; solitaire.el --- game of solitaire in Emacs Lisp
 
-;; Copyright (C) 1994, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Jan Schormann <Jan.Schormann@rechen-gilde.de>
--- a/lisp/play/spook.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/spook.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; spook.el --- spook phrase utility for overloading the NSA line eater
 
-;; Copyright (C) 1988, 1993, 2002, 2003, 2004,
+;; Copyright (C) 1988, 1993, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/play/tetris.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/tetris.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; tetris.el --- implementation of Tetris for Emacs
 
-;; Copyright (C) 1997, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Glynn Clements <glynn@sensei.co.uk>
--- a/lisp/play/yow.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/play/yow.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; yow.el --- quote random zippyisms
 
-;; Copyright (C) 1993, 1994, 1995, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/printing.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/printing.el	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,6 @@
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
-;; Time-stamp: <2006/11/08 12:01:50 vinicius>
 ;; Keywords: wp, print, PostScript
 ;; Version: 6.8.4
 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
@@ -3113,7 +3112,9 @@
 				    (pr-get-symbol (nth 1 menu-file))
 				    (pr-get-symbol "Print"))))
 	 (t
-	  (easy-menu-change (cdr menu-file) "Print" pr-menu-spec))))))))
+	  (easy-menu-add-item global-map menu-file
+			      (easy-menu-create-menu "Print" pr-menu-spec)))
+	 ))))))
   (pr-update-menus t))
 
 
--- a/lisp/progmodes/ada-xref.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/ada-xref.el	Mon Jan 01 17:38:32 2007 +0000
@@ -117,7 +117,7 @@
 	  " ${comp_opt}")
   "*Default command to be used to compile a single file.
 Emacs will substitute the current filename for ${full_current}, or add
-the filename at the end. This is the same syntax as in the project file."
+the filename at the end.  This is the same syntax as in the project file."
   :type 'string :group 'ada)
 
 (defcustom ada-prj-default-debugger "${cross_prefix}gdb"
@@ -148,7 +148,7 @@
   :type 'boolean :group 'ada)
 
 (defconst is-windows (memq system-type (quote (windows-nt)))
-  "True if we are running on Windows NT or Windows 95.")
+  "True if we are running on Windows.")
 
 (defcustom ada-tight-gvd-integration nil
   "*If non-nil, a new Emacs frame will be swallowed in GVD when debugging.
@@ -208,7 +208,7 @@
 \"&&\" for now.")
 
 (defconst ada-xref-pos-ring-max 16
-  "Number of positions kept in the list ada-xref-pos-ring.")
+  "Number of positions kept in the list `ada-xref-pos-ring'.")
 
 (defvar ada-operator-re
   "\\+\\|-\\|/\\|\\*\\*\\|\\*\\|=\\|&\\|abs\\|mod\\|rem\\|and\\|not\\|or\\|xor\\|<=\\|<\\|>=\\|>"
@@ -218,11 +218,11 @@
   "Associative list of project files with properties.
 It has the format: (project project ...)
 A project has the format: (project-file . project-plist)
-\(See 'apropos plist' for operations on property lists).  See
-ada-xref-set-default-prj-values for the list of valid properties.  The
-current project is retrieved with ada-xref-current-project.  Properties
-are retrieved with ada-xref-get-project-field, set with
-ada-xref-set-project-field.  If project properties are accessed with no
+\(See 'apropos plist' for operations on property lists).
+See `ada-xref-set-default-prj-values' for the list of valid properties.
+The current project is retrieved with `ada-xref-current-project'.
+Properties are retrieved with `ada-xref-get-project-field', set with
+`ada-xref-set-project-field'.  If project properties are accessed with no
 project file, a (nil . default-properties) entry is created.")
 
 
@@ -257,7 +257,7 @@
 ;; -----------------------------------------------------------------------
 
 (defun ada-quote-cmd (cmd)
-  "Duplicate all \\ characters in CMD so that it can be passed to `compile'."
+  "Duplicate all `\\' characters in CMD so that it can be passed to `compile'."
   (mapconcat 'identity (split-string cmd "\\\\") "\\\\"))
 
 (defun ada-find-executable (exec-name)
@@ -418,8 +418,8 @@
 Project variables are substituted.
 
 Note that for src_dir and obj_dir, you should rather use
-`ada-xref-get-src-dir-field' or `ada-xref-get-obj-dir-field' which will in
-addition return the default paths."
+`ada-xref-get-src-dir-field' or `ada-xref-get-obj-dir-field'
+which will in addition return the default paths."
 
   (let* ((project-plist (cdr (ada-xref-current-project)))
 	 value)
@@ -1166,7 +1166,7 @@
   "Recompile the current file.
 If ARG is not nil, ask for user confirmation of the command.
 PRJ-FIELD is the name of the field to use in the project file to get the
-command, and should be either comp_cmd (default) or check_cmd."
+command, and should be either `comp_cmd' (default) or `check_cmd'."
   (interactive "P")
   (ada-require-project-file)
   (let* ((field (if prj-field prj-field 'comp_cmd))
@@ -1190,7 +1190,7 @@
     (compile (ada-quote-cmd cmd))))
 
 (defun ada-check-current (&optional arg)
-  "Recompile the current file.
+  "Check the current file for syntax errors.
 If ARG is not nil, ask for user confirmation of the command."
   (interactive "P")
   (ada-compile-current arg 'check_cmd))
@@ -1368,8 +1368,8 @@
   "Update the cross-references for FILE.
 This in fact recompiles FILE to create ALI-FILE-NAME.
 This function returns the name of the file that was recompiled to generate
-the cross-reference information.  Note that the ali file can then be deduced by
-replacing the file extension with `.ali'."
+the cross-reference information.  Note that the ali file can then be deduced
+by replacing the file extension with `.ali'."
   ;; kill old buffer
   (if (and ali-file-name
 	   (get-file-buffer ali-file-name))
@@ -1539,8 +1539,8 @@
 
 (defun ada-get-ada-file-name (file original-file)
   "Create the complete file name (+directory) for FILE.
-The original file (where the user was) is ORIGINAL-FILE.  Search in project
-file for possible paths."
+The original file (where the user was) is ORIGINAL-FILE.
+Search in project file for possible paths."
 
   (save-excursion
 
@@ -1940,9 +1940,8 @@
 anywhere in the object path.
 This command requires the external `egrep' program to be available.
 
-This works well when one is using an external librarie and wants
-to find the declaration and documentation of the subprograms one is
-is using."
+This works well when one is using an external librarie and wants to find
+the declaration and documentation of the subprograms one is using."
 ;; FIXME: what does this function do?
   (let (list
 	(dirs (ada-xref-get-obj-dir-field))
@@ -2212,6 +2211,7 @@
 (defun ada-make-body-gnatstub (&optional interactive)
   "Create an Ada package body in the current buffer.
 This function uses the `gnatstub' program to create the body.
+If INTERACTIVE is nil, kill the current buffer.
 This function typically is to be hooked into `ff-file-created-hook'."
   (interactive "p")
   (ada-require-project-file)
@@ -2221,9 +2221,8 @@
   ;; If the current buffer is the body (as is the case when calling this
   ;; function from ff-file-created-hook), then kill this temporary buffer
   (unless interactive
-    (progn
-      (set-buffer-modified-p nil)
-      (kill-buffer (current-buffer))))
+    (set-buffer-modified-p nil)
+    (kill-buffer (current-buffer)))
 
 
   ;;  Make sure the current buffer is the spec (this might not be the case
@@ -2274,7 +2273,7 @@
 (defun ada-xref-initialize ()
   "Function called by `ada-mode-hook' to initialize the ada-xref.el package.
 For instance, it creates the gnat-specific menus, sets some hooks for
-`find-file'..."
+`find-file'."
   (remove-hook 'ff-file-created-hook 'ada-make-body) ; from global hook
   (remove-hook 'ff-file-created-hook 'ada-make-body t) ; from local hook
   (add-hook 'ff-file-created-hook 'ada-make-body-gnatstub nil t)
--- a/lisp/progmodes/autoconf.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/autoconf.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; autoconf.el --- mode for editing Autoconf configure.in files
 
-;; Copyright (C) 2000, 2001, 2002 2003, 2004, 2005, 2006
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;; Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
--- a/lisp/progmodes/cc-align.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-align.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; cc-align.el --- custom indentation functions for CC Mode
 
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;;   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+;;   Foundation, Inc.
 
 ;; Authors:    1998- Martin Stjernholm
 ;;             1992-1999 Barry A. Warsaw
--- a/lisp/progmodes/cc-awk.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-awk.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; cc-awk.el --- AWK specific code within cc-mode.
 
-;; Copyright (C) 1988,94,96,2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
-;; Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 1996, 2000, 2001, 2002, 2003, 2004, 2005,
+;;   2006  Free Software Foundation, Inc.
 
 ;; Author: Alan Mackenzie <acm@muc.de> (originally based on awk-mode.el)
 ;; Maintainer: FSF
--- a/lisp/progmodes/cc-cmds.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-cmds.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; cc-cmds.el --- user level commands for CC Mode
 
-;; Copyright (C) 1985, 1987, 1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;;   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+;;   Foundation, Inc.
 
 ;; Authors:    1998- Martin Stjernholm
 ;;             1992-1999 Barry A. Warsaw
--- a/lisp/progmodes/cc-compat.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-compat.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; cc-compat.el --- cc-mode compatibility with c-mode.el confusion
 
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;;   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+;;   Foundation, Inc.
 
 ;; Authors:    1998- Martin Stjernholm
 ;;	       1994-1999 Barry A. Warsaw
--- a/lisp/progmodes/cc-defs.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-defs.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; cc-defs.el --- compile time definitions for CC Mode
 
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;;   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+;;   Foundation, Inc.
 
 ;; Authors:    1998- Martin Stjernholm
 ;;             1992-1999 Barry A. Warsaw
--- a/lisp/progmodes/cc-engine.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-engine.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; cc-engine.el --- core syntax guessing engine for CC mode
 
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software Foundation,
-;; Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;;   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+;;   Foundation, Inc.
 
 ;; Authors:    1998- Martin Stjernholm
 ;;             1992-1999 Barry A. Warsaw
--- a/lisp/progmodes/cc-fonts.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-fonts.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1179,7 +1179,7 @@
 	  ;; The below code attempts to fontify the case constants in
 	  ;; c-label-face-name, but it cannot catch every case [sic].
 	  ;; And do we want to fontify case constants anyway?
-	  nil
+	  (c-forward-label t match-pos nil)
 ;;;	  (when (c-forward-label t match-pos nil)
 ;;;	    ;; Can't use `c-fontify-types-and-refs' here since we
 ;;;	    ;; should use the label face.
--- a/lisp/progmodes/cc-langs.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-langs.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; cc-langs.el --- language specific settings for CC Mode
 
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;;   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+;;   Foundation, Inc.
 
 ;; Authors:    1998- Martin Stjernholm
 ;;             1992-1999 Barry A. Warsaw
@@ -1330,7 +1331,7 @@
 (c-lang-defconst c-at-vsemi-p-fn
   "Contains a function \"Is there a virtual semicolon at POS or point?\".
 Such a function takes one optional parameter, a buffer position (defaults to
-point), and returns NIL or t.  This variable contains NIL for languages which
+point), and returns nil or t.  This variable contains nil for languages which
 don't have EOL terminated statements. "
   t nil
   awk 'c-awk-at-vsemi-p)
@@ -1341,7 +1342,7 @@
 The (admittedly kludgey) purpose of such a function is to prevent an infinite
 recursion in c-beginning-of-statement-1 when point starts at a `while' token.
 The function MUST NOT UNDER ANY CIRCUMSTANCES call c-beginning-of-statement-1,
-even indirectly.  This variable contains NIL for languages which don't have
+even indirectly.  This variable contains nil for languages which don't have
 EOL terminated statements."
   t nil
   awk 'c-awk-vsemi-status-unknown-p)
--- a/lisp/progmodes/cc-menus.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-menus.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; cc-menus.el --- imenu support for CC Mode
 
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;;   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+;;   Foundation, Inc.
 
 ;; Authors:    1998- Martin Stjernholm
 ;;             1992-1999 Barry A. Warsaw
--- a/lisp/progmodes/cc-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; cc-mode.el --- major mode for editing C and similar languages
 
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;;   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+;;   Foundation, Inc.
 
 ;; Authors:    2003- Alan Mackenzie
 ;;             1998- Martin Stjernholm
@@ -530,9 +531,11 @@
   ;; heuristic that open parens in column 0 are defun starters.  Since
   ;; we have c-state-cache, that heuristic isn't useful and only causes
   ;; trouble, so turn it off.
-  (when (memq 'col-0-paren c-emacs-features)
-    (make-local-variable 'open-paren-in-column-0-is-defun-start)
-    (setq open-paren-in-column-0-is-defun-start nil))
+;; 2006/12/17: This facility is somewhat confused, and doesn't really seem
+;; helpful.  Comment it out for now.
+;;   (when (memq 'col-0-paren c-emacs-features)
+;;     (make-local-variable 'open-paren-in-column-0-is-defun-start)
+;;     (setq open-paren-in-column-0-is-defun-start nil))
 
   (c-clear-found-types)
 
--- a/lisp/progmodes/cc-styles.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-styles.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; cc-styles.el --- support for styles in CC Mode
 
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;;   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+;;   Foundation, Inc.
 
 ;; Authors:    1998- Martin Stjernholm
 ;;             1992-1999 Barry A. Warsaw
--- a/lisp/progmodes/cc-vars.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cc-vars.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 ;;; cc-vars.el --- user customization variables for CC Mode
 
-;; Copyright (C) 1985,1987,1992-2003, 2004, 2005, 2006 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+;;   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006  Free Software
+;;   Foundation, Inc.
 
 ;; Authors:    1998- Martin Stjernholm
 ;;             1992-1999 Barry A. Warsaw
--- a/lisp/progmodes/cperl-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/cperl-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1681,9 +1681,8 @@
 			  [(control c) (control h) f])))
   (setq major-mode cperl-use-major-mode)
   (setq mode-name "CPerl")
-  (if (not cperl-mode-abbrev-table)
-      (let ((prev-a-c abbrevs-changed))
-	(define-abbrev-table 'cperl-mode-abbrev-table '(
+  (let ((prev-a-c abbrevs-changed))
+    (define-abbrev-table 'cperl-mode-abbrev-table '(
 		("if" "if" cperl-electric-keyword 0)
 		("elsif" "elsif" cperl-electric-keyword 0)
 		("while" "while" cperl-electric-keyword 0)
@@ -1704,7 +1703,7 @@
 		("over" "over" cperl-electric-pod 0)
 		("head1" "head1" cperl-electric-pod 0)
 		("head2" "head2" cperl-electric-pod 0)))
-	(setq abbrevs-changed prev-a-c)))
+	(setq abbrevs-changed prev-a-c))
   (setq local-abbrev-table cperl-mode-abbrev-table)
   (if (cperl-val 'cperl-electric-keywords)
       (abbrev-mode 1))
--- a/lisp/progmodes/ebnf-abn.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/ebnf-abn.el	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,6 @@
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
-;; Time-stamp: <2004/04/03 16:43:57 vinicius>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.1
 
--- a/lisp/progmodes/ebnf-bnf.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/ebnf-bnf.el	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,6 @@
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
-;; Time-stamp: <2004/04/03 16:42:18 vinicius>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.9
 
--- a/lisp/progmodes/ebnf-dtd.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/ebnf-dtd.el	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,6 @@
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
-;; Time-stamp: <2004/04/04 21:50:16 vinicius>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.0
 
--- a/lisp/progmodes/ebnf-ebx.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/ebnf-ebx.el	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,6 @@
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
-;; Time-stamp: <2004/04/03 16:45:34 vinicius>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.1
 
--- a/lisp/progmodes/ebnf-iso.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/ebnf-iso.el	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,6 @@
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
-;; Time-stamp: <2004/04/03 16:48:52 vinicius>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.8
 
--- a/lisp/progmodes/ebnf-otz.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/ebnf-otz.el	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,6 @@
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
-;; Time-stamp: <2004/11/19 22:24:07 vinicius>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.0
 
--- a/lisp/progmodes/ebnf-yac.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/ebnf-yac.el	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,6 @@
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
-;; Time-stamp: <2004/04/03 16:50:46 vinicius>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 1.3
 
--- a/lisp/progmodes/ebnf2ps.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/ebnf2ps.el	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,6 @@
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
-;; Time-stamp: <2006/09/26 21:49:46 vinicius>
 ;; Keywords: wp, ebnf, PostScript
 ;; Version: 4.3
 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
--- a/lisp/progmodes/f90.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/f90.el	Mon Jan 01 17:38:32 2007 +0000
@@ -674,76 +674,78 @@
 
 ;; Abbrevs have generally two letters, except standard types `c, `i, `r, `t.
 (defvar f90-mode-abbrev-table
-  (let (abbrevs-changed)
+  (progn
     (define-abbrev-table 'f90-mode-abbrev-table nil)
-    ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible.
-    ;; A little baroque to quieten the byte-compiler.
-    (mapcar
-     (function (lambda (element)
-                 (condition-case nil
-                     (apply 'define-abbrev f90-mode-abbrev-table
-                            (append element '(nil 0 t)))
-                   (wrong-number-of-arguments
-                    (apply 'define-abbrev f90-mode-abbrev-table
-                           (append element '(nil 0)))))))
-     '(("`al"  "allocate"     )
-       ("`ab"  "allocatable"  )
-       ("`as"  "assignment"   )
-       ("`ba"  "backspace"    )
-       ("`bd"  "block data"   )
-       ("`c"   "character"    )
-       ("`cl"  "close"        )
-       ("`cm"  "common"       )
-       ("`cx"  "complex"      )
-       ("`cn"  "contains"     )
-       ("`cy"  "cycle"        )
-       ("`de"  "deallocate"   )
-       ("`df"  "define"       )
-       ("`di"  "dimension"    )
-       ("`dp"  "double precision")
-       ("`dw"  "do while"     )
-       ("`el"  "else"         )
-       ("`eli" "else if"      )
-       ("`elw" "elsewhere"    )
-       ("`eq"  "equivalence"  )
-       ("`ex"  "external"     )
-       ("`ey"  "entry"        )
-       ("`fl"  "forall"       )
-       ("`fo"  "format"       )
-       ("`fu"  "function"     )
-       ("`fa"  ".false."      )
-       ("`im"  "implicit none")
-       ("`in"  "include"      )
-       ("`i"   "integer"      )
-       ("`it"  "intent"       )
-       ("`if"  "interface"    )
-       ("`lo"  "logical"      )
-       ("`mo"  "module"       )
-       ("`na"  "namelist"     )
-       ("`nu"  "nullify"      )
-       ("`op"  "optional"     )
-       ("`pa"  "parameter"    )
-       ("`po"  "pointer"      )
-       ("`pr"  "print"        )
-       ("`pi"  "private"      )
-       ("`pm"  "program"      )
-       ("`pu"  "public"       )
-       ("`r"   "real"         )
-       ("`rc"  "recursive"    )
-       ("`rt"  "return"       )
-       ("`rw"  "rewind"       )
-       ("`se"  "select"       )
-       ("`sq"  "sequence"     )
-       ("`su"  "subroutine"   )
-       ("`ta"  "target"       )
-       ("`tr"  ".true."       )
-       ("`t"   "type"         )
-       ("`wh"  "where"        )
-       ("`wr"  "write"        )))
     f90-mode-abbrev-table)
   "Abbrev table for F90 mode.")
+
+(let (abbrevs-changed)
+  ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible.
+  ;; A little baroque to quieten the byte-compiler.
+  (mapcar
+   (function (lambda (element)
+               (condition-case nil
+                   (apply 'define-abbrev f90-mode-abbrev-table
+                          (append element '(nil 0 t)))
+                 (wrong-number-of-arguments
+                  (apply 'define-abbrev f90-mode-abbrev-table
+                         (append element '(nil 0)))))))
+   '(("`al"  "allocate"     )
+     ("`ab"  "allocatable"  )
+     ("`as"  "assignment"   )
+     ("`ba"  "backspace"    )
+     ("`bd"  "block data"   )
+     ("`c"   "character"    )
+     ("`cl"  "close"        )
+     ("`cm"  "common"       )
+     ("`cx"  "complex"      )
+     ("`cn"  "contains"     )
+     ("`cy"  "cycle"        )
+     ("`de"  "deallocate"   )
+     ("`df"  "define"       )
+     ("`di"  "dimension"    )
+     ("`dp"  "double precision")
+     ("`dw"  "do while"     )
+     ("`el"  "else"         )
+     ("`eli" "else if"      )
+     ("`elw" "elsewhere"    )
+     ("`eq"  "equivalence"  )
+     ("`ex"  "external"     )
+     ("`ey"  "entry"        )
+     ("`fl"  "forall"       )
+     ("`fo"  "format"       )
+     ("`fu"  "function"     )
+     ("`fa"  ".false."      )
+     ("`im"  "implicit none")
+     ("`in"  "include"      )
+     ("`i"   "integer"      )
+     ("`it"  "intent"       )
+     ("`if"  "interface"    )
+     ("`lo"  "logical"      )
+     ("`mo"  "module"       )
+     ("`na"  "namelist"     )
+     ("`nu"  "nullify"      )
+     ("`op"  "optional"     )
+     ("`pa"  "parameter"    )
+     ("`po"  "pointer"      )
+     ("`pr"  "print"        )
+     ("`pi"  "private"      )
+     ("`pm"  "program"      )
+     ("`pu"  "public"       )
+     ("`r"   "real"         )
+     ("`rc"  "recursive"    )
+     ("`rt"  "return"       )
+     ("`rw"  "rewind"       )
+     ("`se"  "select"       )
+     ("`sq"  "sequence"     )
+     ("`su"  "subroutine"   )
+     ("`ta"  "target"       )
+     ("`tr"  ".true."       )
+     ("`t"   "type"         )
+     ("`wh"  "where"        )
+     ("`wr"  "write"        ))))
+
 
-
 ;;;###autoload
 (defun f90-mode ()
   "Major mode for editing Fortran 90,95 code in free format.
--- a/lisp/progmodes/fortran.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/fortran.el	Mon Jan 01 17:38:32 2007 +0000
@@ -604,80 +604,82 @@
 
 
 (defvar fortran-mode-abbrev-table
-  (let (abbrevs-changed)
+  (progn
     (define-abbrev-table 'fortran-mode-abbrev-table nil)
-    ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible.
-    ;; Only use `apply' to quieten the byte-compiler.
-    (mapcar
-     (function (lambda (element)
-                 (condition-case nil
-                     (apply 'define-abbrev fortran-mode-abbrev-table
-                            (append element '(nil 0 t)))
-                   (wrong-number-of-arguments
-                    (apply 'define-abbrev fortran-mode-abbrev-table
-                           (append element '(nil 0)))))))
-     '((";au"   "automatic"         )
-       (";b"    "byte"              )
-       (";bd"   "block data"        )
-       (";ch"   "character"         )
-       (";cl"   "close"             )
-       (";c"    "continue"          )
-       (";cm"   "common"            )
-       (";cx"   "complex"           )
-       (";df"   "define"            )
-       (";di"   "dimension"         )
-       (";do"   "double"            )
-       (";dc"   "double complex"    )
-       (";dp"   "double precision"  )
-       (";dw"   "do while"          )
-       (";e"    "else"              )
-       (";ed"   "enddo"             )
-       (";el"   "elseif"            )
-       (";en"   "endif"             )
-       (";eq"   "equivalence"       )
-       (";ew"   "endwhere"          )
-       (";ex"   "external"          )
-       (";ey"   "entry"             )
-       (";f"    "format"            )
-       (";fa"   ".false."           )
-       (";fu"   "function"          )
-       (";g"    "goto"              )
-       (";im"   "implicit"          )
-       (";ib"   "implicit byte"     )
-       (";ic"   "implicit complex"  )
-       (";ich"  "implicit character")
-       (";ii"   "implicit integer"  )
-       (";il"   "implicit logical"  )
-       (";ir"   "implicit real"     )
-       (";inc"  "include"           )
-       (";in"   "integer"           )
-       (";intr" "intrinsic"         )
-       (";l"    "logical"           )
-       (";n"    "namelist"          )
-       (";o"    "open"              )   ; was ;op
-       (";pa"   "parameter"         )
-       (";pr"   "program"           )
-       (";ps"   "pause"             )
-       (";p"    "print"             )
-       (";rc"   "record"            )
-       (";re"   "real"              )
-       (";r"    "read"              )
-       (";rt"   "return"            )
-       (";rw"   "rewind"            )
-       (";s"    "stop"              )
-       (";sa"   "save"              )
-       (";st"   "structure"         )
-       (";sc"   "static"            )
-       (";su"   "subroutine"        )
-       (";tr"   ".true."            )
-       (";ty"   "type"              )
-       (";vo"   "volatile"          )
-       (";w"    "write"             )
-       (";wh"   "where"             )))
-    fortran-mode-abbrev-table))
+    fortran-mode-abbrev-table)
+  "Abbrev table for Fortran mode.")
+
+(let (abbrevs-changed)
+  ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible.
+  ;; Only use `apply' to quieten the byte-compiler.
+  (mapcar
+   (function (lambda (element)
+               (condition-case nil
+                   (apply 'define-abbrev fortran-mode-abbrev-table
+                          (append element '(nil 0 t)))
+                 (wrong-number-of-arguments
+                  (apply 'define-abbrev fortran-mode-abbrev-table
+                         (append element '(nil 0)))))))
+   '((";au"   "automatic"         )
+     (";b"    "byte"              )
+     (";bd"   "block data"        )
+     (";ch"   "character"         )
+     (";cl"   "close"             )
+     (";c"    "continue"          )
+     (";cm"   "common"            )
+     (";cx"   "complex"           )
+     (";df"   "define"            )
+     (";di"   "dimension"         )
+     (";do"   "double"            )
+     (";dc"   "double complex"    )
+     (";dp"   "double precision"  )
+     (";dw"   "do while"          )
+     (";e"    "else"              )
+     (";ed"   "enddo"             )
+     (";el"   "elseif"            )
+     (";en"   "endif"             )
+     (";eq"   "equivalence"       )
+     (";ew"   "endwhere"          )
+     (";ex"   "external"          )
+     (";ey"   "entry"             )
+     (";f"    "format"            )
+     (";fa"   ".false."           )
+     (";fu"   "function"          )
+     (";g"    "goto"              )
+     (";im"   "implicit"          )
+     (";ib"   "implicit byte"     )
+     (";ic"   "implicit complex"  )
+     (";ich"  "implicit character")
+     (";ii"   "implicit integer"  )
+     (";il"   "implicit logical"  )
+     (";ir"   "implicit real"     )
+     (";inc"  "include"           )
+     (";in"   "integer"           )
+     (";intr" "intrinsic"         )
+     (";l"    "logical"           )
+     (";n"    "namelist"          )
+     (";o"    "open"              )     ; was ;op
+     (";pa"   "parameter"         )
+     (";pr"   "program"           )
+     (";ps"   "pause"             )
+     (";p"    "print"             )
+     (";rc"   "record"            )
+     (";re"   "real"              )
+     (";r"    "read"              )
+     (";rt"   "return"            )
+     (";rw"   "rewind"            )
+     (";s"    "stop"              )
+     (";sa"   "save"              )
+     (";st"   "structure"         )
+     (";sc"   "static"            )
+     (";su"   "subroutine"        )
+     (";tr"   ".true."            )
+     (";ty"   "type"              )
+     (";vo"   "volatile"          )
+     (";w"    "write"             )
+     (";wh"   "where"             ))))
 
 
-
 ;;;###autoload
 (defun fortran-mode ()
   "Major mode for editing Fortran code in fixed format.
--- a/lisp/progmodes/gdb-ui.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/gdb-ui.el	Mon Jan 01 17:38:32 2007 +0000
@@ -40,8 +40,8 @@
 ;; This file has evolved from gdba.el that was included with GDB 5.0 and
 ;; written by Tom Lord and Jim Kingdon.  It uses GDB's annotation interface.
 ;; You don't need to know about annotations to use this mode as a debugger,
-;; but if you are interested developing the mode itself, then see the
-;; Annotations section in the GDB info manual.
+;; but if you are interested developing the mode itself, see the Annotations
+;; section in the GDB info manual.
 
 ;; GDB developers plan to make the annotation interface obsolete.  A new
 ;; interface called GDB/MI (machine interface) has been designed to replace
@@ -51,9 +51,9 @@
 ;; still under development and is part of a process to migrate Emacs from
 ;; annotations to GDB/MI.
 
-;; This mode SHOULD WORK WITH GDB 5.0 onwards but you will NEED GDB 6.0
-;; onwards to use watch expressions.  It works best with GDB 6.4 where
-;; watch expressions will update more quickly.
+;; This mode SHOULD WORK WITH GDB 5.0 or later but you will NEED AT LEAST
+;; GDB 6.0 to use watch expressions.  It works best with GDB 6.4 or later
+;; where watch expressions will update more quickly.
 
 ;;; Windows Platforms:
 
@@ -79,14 +79,18 @@
 ;; 5) If you wish to call procedures from your program in GDB
 ;;    e.g "call myproc ()", "p mysquare (5)" then use level 2 annotations
 ;;    "gdb --annotate=2 myprog" to keep source buffer/selected frame fixed.
+;; 6) After detaching from a process, clicking on the "GO" icon on toolbar
+;;    (gud-go) sends "continue" to GDB (should be "run").
 
 ;;; Problems with watch expressions, GDB/MI:
+
 ;; 1) They go out of scope when the inferior is re-run.
 ;; 2) -stack-list-locals has a type field but also prints type in values field.
 ;; 3) VARNUM increments even when variable object is not created
 ;;    (maybe trivial).
 
 ;;; TODO:
+
 ;; 1) Use MI command -data-read-memory for memory window.
 ;; 2) Use tree-widget.el instead of the speedbar for watch-expressions?
 ;; 3) Mark breakpoint locations on scroll-bar of source buffer?
@@ -706,11 +710,6 @@
 			 (buffer-substring (region-beginning) (region-end))
 		       (tooltip-identifier-from-point (point))))))
 	      (speedbar 1)
-	      (catch 'already-watched
-		(dolist (var gdb-var-list)
-		  (unless (string-match "\\." (car var))
-		    (if (string-equal expr (nth 1 var))
-			(throw 'already-watched nil))))
 		(set-text-properties 0 (length expr) nil expr)
 		(gdb-enqueue-input
 		 (list
@@ -718,7 +717,7 @@
 		      (concat
 		       "server interpreter mi \"-var-create - * "  expr "\"\n")
 		    (concat"-var-create - * "  expr "\n"))
-		  `(lambda () (gdb-var-create-handler ,expr))))))))
+		  `(lambda () (gdb-var-create-handler ,expr)))))))
       (message "gud-watch is a no-op in this mode."))))
 
 (defconst gdb-var-create-regexp
@@ -847,29 +846,29 @@
   (interactive)
   (if (memq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
 	    '(gdbmi gdba))
-      (let ((text (speedbar-line-text)))
-	;; Can't use \\S-+ for whitespace because
-	;; speedbar has a whacky syntax table.
-	(string-match "\\([^ \t]+\\)" text)
-	(let ((expr (match-string 1 text)) var varnum)
-	  (catch 'expr-found
-	    (dolist (var1 gdb-var-list)
-	      (when (string-equal expr (nth 1 var1))
-		(setq var var1)
-		(setq varnum (car var1))
-		(throw 'expr-found nil))))
-	  (unless (string-match "\\." (car var))
-	    (gdb-enqueue-input
-	     (list
-	      (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
-		      'gdba)
-		  (concat "server interpreter mi \"-var-delete " varnum "\"\n")
-		(concat "-var-delete " varnum "\n"))
-		   'ignore))
-	    (setq gdb-var-list (delq var gdb-var-list))
-	    (dolist (varchild gdb-var-list)
-	      (if (string-match (concat (car var) "\\.") (car varchild))
-		  (setq gdb-var-list (delq varchild gdb-var-list)))))))))
+      (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list))
+	     (varnum (car var)))
+	(if (string-match "\\." (car var))
+	    (message-box "Can only delete a root expression")
+	  (gdb-enqueue-input
+	   (list
+	    (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
+		    'gdba)
+		(concat "server interpreter mi \"-var-delete " varnum "\"\n")
+	      (concat "-var-delete " varnum "\n"))
+	    'ignore))
+	  (setq gdb-var-list (delq var gdb-var-list))
+	  (dolist (varchild gdb-var-list)
+	    (if (string-match (concat (car var) "\\.") (car varchild))
+		(setq gdb-var-list (delq varchild gdb-var-list))))))))
+
+(defun gdb-var-delete-children (varnum)
+  "Delete children of variable object at point from the speedbar."
+  (gdb-enqueue-input
+   (list
+    (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
+	(concat "server interpreter mi \"-var-delete -c " varnum "\"\n")
+      (concat "-var-delete -c " varnum "\n")) 'ignore)))
 
 (defun gdb-edit-value (text token indent)
   "Assign a value to a variable displayed in the speedbar."
@@ -914,6 +913,7 @@
 	       (dolist (var gdb-var-list)
 		 (if (string-match (concat token "\\.") (car var))
 		     (setq gdb-var-list (delq var gdb-var-list))))
+	       (gdb-var-delete-children token)
 	       (speedbar-change-expand-button-char ?+)
 	       (speedbar-delete-subblock indent))
 	      (t (error "Ooops...  not sure what to do")))
@@ -1004,7 +1004,7 @@
 		      'gdb-partial-output-name)
 
 (defun gdb-partial-output-name ()
-  (concat "*partial-output-"
+  (concat " *partial-output-"
 	  (gdb-get-target-string)
 	  "*"))
 
@@ -1390,7 +1390,7 @@
     (if (and gdb-frame-begin gdb-printing)
 	(setq gud-overlay-arrow-position gud-old-arrow)
     ;;Pop up GUD buffer to display current frame when it doesn't have source
-    ;;information i.e id not compiled with -g as with libc routines generally.
+    ;;information i.e if not compiled with -g as with libc routines generally.
     (if gdb-same-frame
 	(gdb-display-gdb-buffer)
       (gdb-frame-gdb-buffer))
@@ -1404,6 +1404,7 @@
 		  (gdb-invalidate-frames)
 		  'delete))))))
   (unless (member gdb-inferior-status '("exited" "signal"))
+    (setq gdb-active-process t) ;Just for attaching case.
     (setq gdb-inferior-status "stopped")
     (gdb-force-mode-line-update
      (propertize gdb-inferior-status 'face font-lock-warning-face)))
@@ -1774,7 +1775,7 @@
     (dolist (buffer (buffer-list))
       (with-current-buffer buffer
 	(if (and (memq gud-minor-mode '(gdba gdbmi))
-		 (not (string-match "\\`\\*.+\\*\\'" (buffer-name))))
+		 (not (string-match "\\` ?\\*.+\\*\\'" (buffer-name))))
 	    (gdb-remove-breakpoint-icons (point-min) (point-max)))))
     (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer)
       (save-excursion
@@ -2923,7 +2924,7 @@
     (unless (eq buffer gud-comint-buffer)
       (with-current-buffer buffer
 	(if (memq gud-minor-mode '(gdbmi gdba))
-	    (if (string-match "\\`\\*.+\\*\\'" (buffer-name))
+	    (if (string-match "\\` ?\\*.+\\*\\'" (buffer-name))
 		(kill-buffer nil)
 	      (gdb-remove-breakpoint-icons (point-min) (point-max) t)
 	      (setq gud-minor-mode nil)
--- a/lisp/progmodes/glasses.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/glasses.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 ;;; glasses.el --- make cantReadThis readable
 
-;; Copyright (C) 1999, 2000, 2001, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
 
 ;; Author: Milan Zamazal <pdm@zamazal.org>
 ;; Maintainer: Milan Zamazal <pdm@zamazal.org>
--- a/lisp/progmodes/gud.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/gud.el	Mon Jan 01 17:38:32 2007 +0000
@@ -486,7 +486,7 @@
 				       (car (nth 1 var-list))))
 		    (setq char ?-)
 		  (setq char ?+))
-		(if (string-match "\\*$" type)
+		(if (string-match "\\*$\\|\\*&$" type)
 		    (speedbar-make-tag-line
 		     'bracket char
 		     'gdb-speedbar-expand-node varnum
--- a/lisp/progmodes/idlw-help.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/idlw-help.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,6 @@
 ;;; idlw-help.el --- HTML Help code for IDLWAVE
-;; Copyright (c) 2000 Carsten Dominik
-;; Copyright (c) 2001, 2002 J.D. Smith
-;; Copyright (c) 2003,2004,2005,2006 Free Software Foundation
+;; Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006 
+;;   Free Software Foundation
 ;;
 ;; Authors: J.D. Smith <jdsmith@as.arizona.edu>
 ;;          Carsten Dominik <dominik@science.uva.nl>
--- a/lisp/progmodes/idlwave.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/idlwave.el	Mon Jan 01 17:38:32 2007 +0000
@@ -427,11 +427,11 @@
   :type 'integer)
 
 (defcustom idlwave-library-path nil
-  "Library path for Windows and MacOS (OS9).  Not needed under Unix.
+  "Library path for Windows and MacOS (OS9).  Not needed under UNIX.
 When selecting the directories to scan for IDL user catalog routine
 info, IDLWAVE can, under UNIX, query the shell for the exact search
 path \(the value of !PATH).  However, under Windows and MacOS
-(pre-OSX), the IDLWAVE shell does not work.  In this case, this
+\(pre-OSX), the IDLWAVE shell does not work.  In this case, this
 variable can be set to specify the paths where IDLWAVE can find PRO
 files.  The shell will only be asked for a list of paths when this
 variable is nil.  The value is a list of directories.  A directory
@@ -1595,7 +1595,7 @@
 (define-key idlwave-mode-map "\C-c\C-t"   'idlwave-find-module-this-file)
 (define-key idlwave-mode-map "\C-c?"      'idlwave-routine-info)
 (define-key idlwave-mode-map "\M-?"       'idlwave-context-help)
-(define-key idlwave-mode-map [(control meta ?\?)] 
+(define-key idlwave-mode-map [(control meta ?\?)]
   'idlwave-help-assistant-help-with-topic)
 ;; Pickup both forms of Esc/Meta binding
 (define-key idlwave-mode-map [(meta tab)] 'idlwave-complete)
@@ -1942,7 +1942,7 @@
   (set (make-local-variable 'parse-sexp-ignore-comments) t)
 
   ;; ChangeLog
-  (set (make-local-variable 'add-log-current-defun-function) 
+  (set (make-local-variable 'add-log-current-defun-function)
        'idlwave-current-routine-fullname)
 
   ;; Set tag table list to use IDLTAGS as file name.
@@ -4651,7 +4651,11 @@
 	      props (car (cdr pelem)))
 	(cond
 	 ((eq ptype 'SUPERCLASS)
-	  (push (cdr (assq 'name props)) inherits))
+	  (let ((pname (cdr (assq 'name props)))
+		(plink (cdr (assq 'link props))))
+	    (unless (and (string= pname "None")
+			 (string= plink "None"))
+	      (push pname inherits))))
 
 	 ((eq ptype 'PROPERTY)
 	  (let ((pname (cdr (assq 'name props)))
@@ -9232,7 +9236,7 @@
      "--"
      ["Info" idlwave-info t]
      "--"
-     ["Help with Topic" idlwave-help-assistant-help-with-topic 
+     ["Help with Topic" idlwave-help-assistant-help-with-topic
       idlwave-help-use-assistant]
      ["Launch IDL Help" idlwave-launch-idlhelp t])))
 
--- a/lisp/progmodes/ld-script.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/ld-script.el	Mon Jan 01 17:38:32 2007 +0000
@@ -89,7 +89,7 @@
     ;; 3.5.2 PROVIDE
     "PROVIDE"
     ;; 3.5.3 PROVIDE_HIDDEN
-    "PROVIDE_HIDEN"
+    "PROVIDE_HIDDEN"
     ;; 3.6 SECTIONS Command
     "SECTIONS" 
     ;; 3.6.4.2 Input Section Wildcard Patterns
--- a/lisp/progmodes/octave-mod.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/octave-mod.el	Mon Jan 01 17:38:32 2007 +0000
@@ -61,37 +61,38 @@
 Used in `octave-mode' and inferior-octave-mode buffers.
 All Octave abbrevs start with a grave accent (`).")
 (unless octave-abbrev-table
-  (let ((ac abbrevs-changed))
-    (define-abbrev-table 'octave-abbrev-table ())
-    (define-abbrev octave-abbrev-table "`a" "all_va_args" nil 0 t)
-    (define-abbrev octave-abbrev-table "`b" "break" nil 0 t)
-    (define-abbrev octave-abbrev-table "`cs" "case" nil 0 t)
-    (define-abbrev octave-abbrev-table "`ca" "catch" nil 0 t)
-    (define-abbrev octave-abbrev-table "`c" "continue" nil 0 t)
-    (define-abbrev octave-abbrev-table "`el" "else" nil 0 t)
-    (define-abbrev octave-abbrev-table "`eli" "elseif" nil 0 t)
-    (define-abbrev octave-abbrev-table "`et" "end_try_catch" nil 0 t)
-    (define-abbrev octave-abbrev-table "`eu" "end_unwind_protect" nil 0 t)
-    (define-abbrev octave-abbrev-table "`ef" "endfor" nil 0 t)
-    (define-abbrev octave-abbrev-table "`efu" "endfunction" nil 0 t)
-    (define-abbrev octave-abbrev-table "`ei" "endif" nil 0 t)
-    (define-abbrev octave-abbrev-table "`es" "endswitch" nil 0 t)
-    (define-abbrev octave-abbrev-table "`ew" "endwhile" nil 0 t)
-    (define-abbrev octave-abbrev-table "`f" "for" nil 0 t)
-    (define-abbrev octave-abbrev-table "`fu" "function" nil 0 t)
-    (define-abbrev octave-abbrev-table "`gl" "global" nil 0 t)
-    (define-abbrev octave-abbrev-table "`gp" "gplot" nil 0 t)
-    (define-abbrev octave-abbrev-table "`gs" "gsplot" nil 0 t)
-    (define-abbrev octave-abbrev-table "`if" "if ()" nil 0 t)
-    (define-abbrev octave-abbrev-table "`o" "otherwise" nil 0 t)
-    (define-abbrev octave-abbrev-table "`rp" "replot" nil 0 t)
-    (define-abbrev octave-abbrev-table "`r" "return" nil 0 t)
-    (define-abbrev octave-abbrev-table "`s" "switch" nil 0 t)
-    (define-abbrev octave-abbrev-table "`t" "try" nil 0 t)
-    (define-abbrev octave-abbrev-table "`up" "unwind_protect" nil 0 t)
-    (define-abbrev octave-abbrev-table "`upc" "unwind_protect_cleanup" nil 0 t)
-    (define-abbrev octave-abbrev-table "`w" "while ()" nil 0 t)
-    (setq abbrevs-changed ac)))
+  (define-abbrev-table 'octave-abbrev-table ()))
+
+(let ((ac abbrevs-changed))
+  (define-abbrev octave-abbrev-table "`a" "all_va_args" nil 0 t)
+  (define-abbrev octave-abbrev-table "`b" "break" nil 0 t)
+  (define-abbrev octave-abbrev-table "`cs" "case" nil 0 t)
+  (define-abbrev octave-abbrev-table "`ca" "catch" nil 0 t)
+  (define-abbrev octave-abbrev-table "`c" "continue" nil 0 t)
+  (define-abbrev octave-abbrev-table "`el" "else" nil 0 t)
+  (define-abbrev octave-abbrev-table "`eli" "elseif" nil 0 t)
+  (define-abbrev octave-abbrev-table "`et" "end_try_catch" nil 0 t)
+  (define-abbrev octave-abbrev-table "`eu" "end_unwind_protect" nil 0 t)
+  (define-abbrev octave-abbrev-table "`ef" "endfor" nil 0 t)
+  (define-abbrev octave-abbrev-table "`efu" "endfunction" nil 0 t)
+  (define-abbrev octave-abbrev-table "`ei" "endif" nil 0 t)
+  (define-abbrev octave-abbrev-table "`es" "endswitch" nil 0 t)
+  (define-abbrev octave-abbrev-table "`ew" "endwhile" nil 0 t)
+  (define-abbrev octave-abbrev-table "`f" "for" nil 0 t)
+  (define-abbrev octave-abbrev-table "`fu" "function" nil 0 t)
+  (define-abbrev octave-abbrev-table "`gl" "global" nil 0 t)
+  (define-abbrev octave-abbrev-table "`gp" "gplot" nil 0 t)
+  (define-abbrev octave-abbrev-table "`gs" "gsplot" nil 0 t)
+  (define-abbrev octave-abbrev-table "`if" "if ()" nil 0 t)
+  (define-abbrev octave-abbrev-table "`o" "otherwise" nil 0 t)
+  (define-abbrev octave-abbrev-table "`rp" "replot" nil 0 t)
+  (define-abbrev octave-abbrev-table "`r" "return" nil 0 t)
+  (define-abbrev octave-abbrev-table "`s" "switch" nil 0 t)
+  (define-abbrev octave-abbrev-table "`t" "try" nil 0 t)
+  (define-abbrev octave-abbrev-table "`up" "unwind_protect" nil 0 t)
+  (define-abbrev octave-abbrev-table "`upc" "unwind_protect_cleanup" nil 0 t)
+  (define-abbrev octave-abbrev-table "`w" "while ()" nil 0 t)
+  (setq abbrevs-changed ac))
 
 (defvar octave-comment-char ?#
   "Character to start an Octave comment.")
--- a/lisp/progmodes/python.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/python.el	Mon Jan 01 17:38:32 2007 +0000
@@ -408,6 +408,7 @@
 See also `\\[python-guess-indent]'"
   :group 'python
   :type 'integer)
+(put 'python-indent 'safe-local-variable 'integerp)
 
 (defcustom python-guess-indent t
   "Non-nil means Python mode guesses `python-indent' for the buffer."
--- a/lisp/progmodes/sh-script.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/sh-script.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; sh-script.el --- shell-script editing commands for Emacs
 
-;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2001, 2003, 2004, 2005,
-;;  2006  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2001, 2002,
+;;  2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>
 ;; Version: 2.0f
@@ -1890,7 +1890,7 @@
 command `sh-reset-indent-vars-to-global-values'."
   (interactive)
   (mapcar 'make-local-variable sh-var-list)
-  (message "Indentation variable are now local."))
+  (message "Indentation variables are now local."))
 
 (defun sh-reset-indent-vars-to-global-values ()
   "Reset local indentation variables to the global values.
--- a/lisp/progmodes/simula.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/simula.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; simula.el --- SIMULA 87 code editing commands for Emacs
 
-;; Copyright (C) 1992, 1994, 1996 2001, 2002, 2003, 2004, 2005, 2006
+;; Copyright (C) 1992, 1994, 1996, 2001, 2002, 2003, 2004, 2005, 2006
 ;; Free Software Foundation, Inc.
 
 ;; Author: Hans Henrik Eriksen <hhe@ifi.uio.no>
--- a/lisp/progmodes/sql.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/sql.el	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,7 @@
 
 ;; Author: Alex Schroeder <alex@gnu.org>
 ;; Maintainer: Michael Mauger <mmaug@yahoo.com>
-;; Version: 2.0.1
+;; Version: 2.0.2
 ;; Keywords: comm languages processes
 ;; URL: http://savannah.gnu.org/cgi-bin/viewcvs/emacs/emacs/lisp/progmodes/sql.el
 ;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?SqlMode
@@ -30,26 +30,40 @@
 ;;; Commentary:
 
 ;; Please send bug reports and bug fixes to the mailing list at
-;; sql.el@gnu.org.  If you want to subscribe to the mailing list, send
-;; mail to sql.el-request@gnu.org with `subscribe sql.el FIRSTNAME
-;; LASTNAME' in the mail body.
-
-;; This file provides a sql-mode and a sql-interactive-mode.  My goals
-;; were two simple modes providing syntactic hilighting.  The
-;; interactive mode had to provide a command-line history; the other
-;; mode had to provide "send region/buffer to SQL interpreter"
-;; functions.  "simple" in this context means easy to use, easy to
-;; maintain and little or no bells and whistles.
+;; help-gnu-emacs@gnu.org.  If you want to subscribe to the mailing
+;; list, see the web page at
+;; http://lists.gnu.org/mailman/listinfo/help-gnu-emacs for
+;; instructions.  I monitor this list actively.  If you send an e-mail
+;; to Alex Schroeder it usually makes it to me when Alex has a chance
+;; to forward them along (Thanks, Alex).
+
+;; This file provides a sql-mode and a sql-interactive-mode.  The
+;; original goals were two simple modes providing syntactic
+;; highlighting.  The interactive mode had to provide a command-line
+;; history; the other mode had to provide "send region/buffer to SQL
+;; interpreter" functions.  "simple" in this context means easy to
+;; use, easy to maintain and little or no bells and whistles.  This
+;; has changed somewhat as experience with the mode has accumulated.
+
+;; Support for different flavors of SQL and command interpreters was
+;; available in early versions of sql.el.  This support has been
+;; extended and formalized in later versions.  Part of the impetus for
+;; the improved support of SQL flavors was borne out of the current
+;; maintainer's consulting experience.  In the past fifteen years, I
+;; have used Oracle, Sybase, Informix, MySQL, Postgres, and SQLServer.
+;; On some assignments, I have used two or more of these concurrently.
 
 ;; If anybody feels like extending this sql mode, take a look at the
 ;; above mentioned modes and write a sqlx-mode on top of this one.  If
 ;; this proves to be difficult, please suggest changes that will
-;; facilitate your plans.
+;; facilitate your plans.  Facilities have been provided to add
+;; products and product-specific configuration.
 
 ;; sql-interactive-mode is used to interact with a SQL interpreter
 ;; process in a SQLi buffer (usually called `*SQL*').  The SQLi buffer
-;; is created by calling a SQL interpreter-specific entry function.  Do
-;; *not* call sql-interactive-mode by itself.
+;; is created by calling a SQL interpreter-specific entry function or
+;; sql-product-interactive.  Do *not* call sql-interactive-mode by
+;; itself.
 
 ;; The list of currently supported interpreters and the corresponding
 ;; entry function used to create the SQLi buffers is shown with
@@ -847,23 +861,24 @@
 (defvar sql-mode-abbrev-table nil
   "Abbrev table used in `sql-mode' and `sql-interactive-mode'.")
 (unless sql-mode-abbrev-table
-  (define-abbrev-table 'sql-mode-abbrev-table nil)
-  (mapcar
-    ;; In Emacs 21.3+, provide SYSTEM-FLAG to define-abbrev.
-   '(lambda (abbrev)
-      (let ((name (car abbrev))
-	    (expansion (cdr abbrev)))
-	(condition-case nil
-	    (define-abbrev sql-mode-abbrev-table name expansion nil 0 t)
-	  (error
-	   (define-abbrev sql-mode-abbrev-table name expansion)))))
-   '(("ins" "insert")
-    ("upd" "update")
-    ("del" "delete")
-    ("sel" "select")
-    ("proc" "procedure")
-    ("func" "function")
-    ("cr" "create"))))
+  (define-abbrev-table 'sql-mode-abbrev-table nil))
+
+(mapcar
+ ;; In Emacs 22+, provide SYSTEM-FLAG to define-abbrev.
+ '(lambda (abbrev)
+    (let ((name (car abbrev))
+          (expansion (cdr abbrev)))
+      (condition-case nil
+          (define-abbrev sql-mode-abbrev-table name expansion nil 0 t)
+        (error
+         (define-abbrev sql-mode-abbrev-table name expansion)))))
+ '(("ins"  . "insert")
+   ("upd"  . "update")
+   ("del"  . "delete")
+   ("sel"  . "select")
+   ("proc" . "procedure")
+   ("func" . "function")
+   ("cr"   . "create")))
 
 ;; Syntax Table
 
@@ -872,13 +887,15 @@
     ;; C-style comments /**/ (see elisp manual "Syntax Flags"))
     (modify-syntax-entry ?/ ". 14" table)
     (modify-syntax-entry ?* ". 23" table)
-    ;; double-dash starts comment
+    ;; double-dash starts comments
     (modify-syntax-entry ?- ". 12b" table)
-    ;; newline and formfeed end coments
+    ;; newline and formfeed end comments
     (modify-syntax-entry ?\n "> b" table)
     (modify-syntax-entry ?\f "> b" table)
-    ;; single quotes (') quotes delimit strings
+    ;; single quotes (') delimit strings
     (modify-syntax-entry ?' "\"" table)
+    ;; double quotes (") don't delimit strings
+    (modify-syntax-entry ?\" "." table)
     ;; backslash is no escape character
     (modify-syntax-entry ?\\ "." table)
     table)
@@ -887,12 +904,13 @@
 ;; Font lock support
 
 (defvar sql-mode-font-lock-object-name
-  (list (concat "^\\s-*\\(create\\|drop\\|alter\\)\\s-+" ;; lead off with CREATE, DROP or ALTER
-		"\\(\\w+\\s-+\\)*"  ;; optional intervening keywords
-		"\\(table\\|view\\|package\\(\\s-+body\\)?\\|proc\\(edure\\)?"
-		"\\|function\\|trigger\\|sequence\\|rule\\|default\\)\\s-+"
-		"\\(\\w+\\)")
-	6 'font-lock-function-name-face)
+  (eval-when-compile
+    (list (concat "^\\s-*\\(?:create\\|drop\\|alter\\)\\s-+" ;; lead off with CREATE, DROP or ALTER
+		  "\\(?:\\w+\\s-+\\)*"  ;; optional intervening keywords
+		  "\\(?:table\\|view\\|\\(?:package\\|type\\)\\(?:\\s-+body\\)?\\|proc\\(?:edure\\)?"
+		  "\\|function\\|trigger\\|sequence\\|rule\\|default\\)\\s-+"
+		  "\\(\\w+\\)")
+	  1 'font-lock-function-name-face))
 
   "Pattern to match the names of top-level objects.
 
--- a/lisp/progmodes/vhdl-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/progmodes/vhdl-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,12 +1,13 @@
 ;;; vhdl-mode.el --- major mode for editing VHDL code
 
-;; Copyright (C) 1992-2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+;;   2001, 2002, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 ;; Authors:     Reto Zimmermann <reto@gnu.org>
 ;;              Rodney J. Whitby <software.vhdl-mode@rwhitby.net>
 ;; Maintainer:  Reto Zimmermann <reto@gnu.org>
 ;; Keywords:    languages vhdl
-;; WWW:         http://opensource.ethz.ch/emacs/vhdl-mode.html
+;; WWW:         http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html
 
 (defconst vhdl-version "3.33.6"
   "VHDL Mode version number.")
@@ -2892,7 +2893,6 @@
 
 (defun vhdl-mode-abbrev-table-init ()
   "Initialize `vhdl-mode-abbrev-table'."
-  (when vhdl-mode-abbrev-table (clear-abbrev-table vhdl-mode-abbrev-table))
   (define-abbrev-table 'vhdl-mode-abbrev-table
     (append
      (when (memq 'vhdl vhdl-electric-keywords)
--- a/lisp/ps-bdf.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ps-bdf.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,13 +1,13 @@
 ;;; ps-bdf.el --- BDF font file handler for ps-print
 
-;; Copyright (C) 1998, 1999, 2001, 2006 Free Software Foundation, Inc.
-;; Copyright (C) 1998, 1999, 2001, 2003
+;; Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006
+;;   Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
 ;; Keywords: wp, BDF, font, PostScript
 ;; Maintainer: Kenichi Handa <handa@m17n.org>
-;; Time-stamp: <2003/07/11 21:13:44 vinicius>
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/ps-mule.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ps-mule.el	Mon Jan 01 17:38:32 2007 +0000
@@ -8,7 +8,6 @@
 ;; Maintainer: Kenichi Handa <handa@m17n.org> (multi-byte characters)
 ;;	Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, print, PostScript, multibyte, mule
-;; Time-stamp: <2006/11/11 16:58:10 vinicius>
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/ps-print.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/ps-print.el	Mon Jan 01 17:38:32 2007 +0000
@@ -10,7 +10,6 @@
 ;; Maintainer: Kenichi Handa <handa@m17n.org> (multi-byte characters)
 ;;	Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, print, PostScript
-;; Time-stamp: <2006/12/01 09:59:01 vinicius>
 ;; Version: 6.7
 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
 
--- a/lisp/register.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/register.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; register.el --- register commands for Emacs
 
-;; Copyright (C) 1985, 1993, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1993, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/repeat.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/repeat.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; repeat.el --- convenient way to repeat the previous command
 
-;; Copyright (C) 1998, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Will Mengarini <seldon@eskimo.com>
--- a/lisp/replace.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/replace.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1341,7 +1341,7 @@
 
 (defun replace-match-data (integers reuse &optional new)
   "Like `match-data', but markers in REUSE get invalidated.
-If NEW is non-NIL, it is set and returned instead of fresh data,
+If NEW is non-nil, it is set and returned instead of fresh data,
 but coerced to the correct value of INTEGERS."
   (or (and new
 	   (progn
@@ -1357,7 +1357,7 @@
 check for `\\?' is made to save time.  MATCH-DATA is used for the
 replacement.  In case editing is done, it is changed to use markers.
 
-The return value is non-NIL if there has been no `\\?' or NOEDIT was
+The return value is non-nil if there has been no `\\?' or NOEDIT was
 passed in.  If LITERAL is set, no checking is done, anyway."
   (unless (or literal noedit)
     (setq noedit t)
@@ -1486,7 +1486,7 @@
 				 ;; For speed, use only integers and
 				 ;; reuse the list used last time.
 				 (replace-match-data t real-match-data)))))
-	  
+
 	  ;; Record whether the match is nonempty, to avoid an infinite loop
 	  ;; repeatedly matching the same empty string.
 	  (setq nonempty-match
--- a/lisp/reposition.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/reposition.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; reposition.el --- center a Lisp function or comment on the screen
 
-;; Copyright (C) 1991, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1991, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Michael D. Ernst <mernst@theory.lcs.mit.edu>
--- a/lisp/resume.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/resume.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; resume.el --- process command line args from within a suspended Emacs job
 
-;; Copyright (C) 1992, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Joe Wells <jbw@bucsf.bu.edu>
--- a/lisp/rot13.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/rot13.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; rot13.el --- display a buffer in ROT13
 
-;; Copyright (C) 1988, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
--- a/lisp/s-region.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/s-region.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; s-region.el --- set region using shift key
 
-;; Copyright (C) 1994, 1995, 2002, 2003, 2004,
+;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Morten Welinder <terra@diku.dk>
--- a/lisp/sb-image.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/sb-image.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; sb-image --- Image management for speedbar
 
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
--- a/lisp/scroll-all.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/scroll-all.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; scroll-all.el --- scroll all buffers together minor mode
 
-;; Copyright (C) 1997, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Gary D. Foster <Gary.Foster@corp.sun.com>
--- a/lisp/scroll-bar.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/scroll-bar.el	Mon Jan 01 17:38:32 2007 +0000
@@ -75,6 +75,7 @@
 ;;;; Helpful functions for enabling and disabling scroll bars.
 
 (defvar scroll-bar-mode)
+(defvar previous-scroll-bar-mode nil)
 
 (defvar scroll-bar-mode-explicit nil
   "Non-nil means `set-scroll-bar-mode' should really do something.
@@ -85,6 +86,9 @@
 
 (defun set-scroll-bar-mode (value)
   "Set `scroll-bar-mode' to VALUE and put the new value into effect."
+  (if scroll-bar-mode
+      (setq previous-scroll-bar-mode scroll-bar-mode))
+
   (setq scroll-bar-mode value)
 
   (when scroll-bar-mode-explicit
@@ -124,7 +128,8 @@
 			       (not scroll-bar-mode)
 			     (setq flag (prefix-numeric-value flag))
 			     (or (not (numberp flag)) (>= flag 0)))
-			   default-frame-scroll-bars)))
+			   (or previous-scroll-bar-mode
+			       default-frame-scroll-bars))))
 
 (defun toggle-scroll-bar (arg)
   "Toggle whether or not the selected frame has vertical scroll bars.
--- a/lisp/select.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/select.el	Mon Jan 01 17:38:32 2007 +0000
@@ -3,7 +3,7 @@
 ;; Maintainer: FSF
 ;; Keywords: internal
 
-;; Copyright (C) 1993, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 ;; Based partially on earlier release by Lucid.
 
--- a/lisp/shell.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/shell.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; shell.el --- specialized comint.el for running the shell
 
-;; Copyright (C) 1988, 1993, 1994, 1995, 1996, 1997, 2000,
+;; Copyright (C) 1988, 1993, 1994, 1995, 1996, 1997, 2000, 2001,
 ;;   2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Olin Shivers <shivers@cs.cmu.edu>
@@ -520,10 +520,10 @@
 If BUFFER exists and shell process is running, just switch to BUFFER.
 Program used comes from variable `explicit-shell-file-name',
  or (if that is nil) from the ESHELL environment variable,
- or else from SHELL if there is no ESHELL.
-If a file `~/.emacs_SHELLNAME' exists, it is given as initial input
- (Note that this may lose due to a timing error if the shell
-  discards input when it starts up.)
+ or (if that is nil) from `shell-file-name'.
+If a file `~/.emacs_SHELLNAME' exists, or `~/.emacs.d/init_SHELLNAME.sh',
+it is given as initial input (but this may be lost, due to a timing
+error, if the shell discards input when it starts up).
 The buffer is put in Shell mode, giving commands for sending input
 and controlling the subjobs of the shell.  See `shell-mode'.
 See also the variable `shell-prompt-pattern'.
@@ -556,8 +556,8 @@
 	   (name (file-name-nondirectory prog))
 	   (startfile (concat "~/.emacs_" name))
 	   (xargs-name (intern-soft (concat "explicit-" name "-args"))))
-      (if (not (file-exists-p startfile))
-	  (setq startfile (concat "~/.emacs.d/.emacs_" name)))
+      (unless (file-exists-p startfile)
+	(setq startfile (concat "~/.emacs.d/init_" name ".sh")))
       (apply 'make-comint-in-buffer "shell" buffer prog
 	     (if (file-exists-p startfile) startfile)
 	     (if (and xargs-name (boundp xargs-name))
--- a/lisp/simple.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/simple.el	Mon Jan 01 17:38:32 2007 +0000
@@ -694,8 +694,8 @@
 
 (defun delete-horizontal-space (&optional backward-only)
   "Delete all spaces and tabs around point.
-If BACKWARD-ONLY is non-nil, only delete spaces before point."
-  (interactive "*")
+If BACKWARD-ONLY is non-nil, only delete them before point."
+  (interactive "*P")
   (let ((orig-pos (point)))
     (delete-region
      (if backward-only
@@ -4321,7 +4321,7 @@
 (defvaralias 'default-indicate-unused-lines 'default-indicate-empty-lines)
 
 (defun toggle-truncate-lines (&optional arg)
-  "Toggle whether to fold or truncate long lines on the screen.
+  "Toggle whether to fold or truncate long lines for the current buffer.
 With arg, truncate long lines iff arg is positive.
 Note that in side-by-side windows, truncation is always enabled."
   (interactive "P")
--- a/lisp/skeleton.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/skeleton.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; skeleton.el --- Lisp language extension for writing statement skeletons
 
-;; Copyright (C) 1993, 1994, 1995, 1996, 2002, 2003,
+;; Copyright (C) 1993, 1994, 1995, 1996, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>
--- a/lisp/sort.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/sort.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; sort.el --- commands to sort text in an Emacs buffer
 
-;; Copyright (C) 1986, 1987, 1994, 1995, 2002, 2003,
+;; Copyright (C) 1986, 1987, 1994, 1995, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Howie Kaye
--- a/lisp/soundex.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/soundex.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; soundex.el --- implement Soundex algorithm
 
-;; Copyright (C) 1993, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Christian Plaunt <chris@bliss.berkeley.edu>
--- a/lisp/startup.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/startup.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1189,6 +1189,7 @@
 (defvar fancy-splash-help-echo nil)
 (defvar fancy-splash-stop-time nil)
 (defvar fancy-splash-outer-buffer nil)
+(defvar fancy-splash-last-input-event nil)
 
 (defun fancy-splash-insert (&rest args)
   "Insert text into the current buffer, with faces.
@@ -1362,6 +1363,7 @@
 	    splash-buffer
 	    (old-minor-mode-map-alist minor-mode-map-alist)
 	    (old-emulation-mode-map-alists emulation-mode-map-alists)
+	    (old-special-event-map special-event-map)
 	    (frame (fancy-splash-frame))
 	    timer)
 	(save-selected-window
@@ -1382,6 +1384,20 @@
 		  (define-key map [mouse-movement] 'ignore)
 		  (define-key map [mode-line t] 'ignore)
 		  (define-key map [select-window] 'ignore)
+ 		  ;; Temporarily bind special events to
+ 		  ;; fancy-splash-special-event-action so as to stop
+ 		  ;; displaying splash screens with such events.
+ 		  ;; Otherwise, drag-n-drop into splash screens may
+ 		  ;; leave us in recursive editing with invisible
+ 		  ;; cursors for a while.
+ 		  (setq special-event-map (make-sparse-keymap))
+ 		  (map-keymap
+ 		   (lambda (key def)
+ 		     (define-key special-event-map (vector key)
+ 		       (if (eq def 'ignore)
+ 			   'ignore
+ 			 'fancy-splash-special-event-action)))
+ 		   old-special-event-map)
 		  (setq display-hourglass nil
 			minor-mode-map-alist nil
 			emulation-mode-map-alists nil
@@ -1398,11 +1414,18 @@
 	      (cancel-timer timer)
 	      (setq display-hourglass old-hourglass
 		    minor-mode-map-alist old-minor-mode-map-alist
-		    emulation-mode-map-alists old-emulation-mode-map-alists)
+		    emulation-mode-map-alists old-emulation-mode-map-alists
+		    special-event-map old-special-event-map)
 	      (kill-buffer splash-buffer)
 	      (when (frame-live-p frame)
 		(select-frame frame)
-		(switch-to-buffer fancy-splash-outer-buffer))))))
+		(switch-to-buffer fancy-splash-outer-buffer))
+	      (when fancy-splash-last-input-event
+		(setq last-input-event fancy-splash-last-input-event
+		      fancy-splash-last-input-event nil)
+ 		(command-execute (lookup-key special-event-map
+ 					     (vector last-input-event))
+ 				 nil (vector last-input-event) t))))))
     ;; If hide-on-input is nil, don't hide the buffer on input.
     (if (or (window-minibuffer-p)
 	    (window-dedicated-p (selected-window)))
@@ -1429,6 +1452,14 @@
 	  (view-mode-enter nil 'kill-buffer))
       (goto-char (point-min)))))
 
+(defun fancy-splash-special-event-action ()
+  "Save the last event and stop displaying the splash screen buffer.
+This is an internal function used to turn off the splash screen after
+the user caused an input event that is bound in `special-event-map'"
+  (interactive)
+  (setq fancy-splash-last-input-event last-input-event)
+  (throw 'exit nil))
+
 
 (defun fancy-splash-frame ()
   "Return the frame to use for the fancy splash screen.
@@ -1454,9 +1485,12 @@
 				      (if (and (display-color-p)
 					       (image-type-available-p 'xpm))
 					  "splash.xpm" "splash.pbm"))))
-	       (image-height (and img (cdr (image-size img))))
-	       (window-height (1- (window-height (frame-selected-window frame)))))
-	  (> window-height (+ image-height 19)))))))
+	       (image-height (and img (cdr (image-size img nil frame))))
+	       ;; We test frame-height so that, if the frame is split
+	       ;; by displaying a warning, that doesn't cause the normal
+	       ;; splash screen to be used.
+	       (frame-height (1- (frame-height frame))))
+	  (> frame-height (+ image-height 19)))))))
 
 
 (defun normal-splash-screen (&optional hide-on-input)
--- a/lisp/strokes.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/strokes.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; strokes.el --- control Emacs through mouse strokes
 
-;; Copyright (C) 1997, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1997, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: David Bakhash <cadet@alum.mit.edu>
--- a/lisp/subr.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/subr.el	Mon Jan 01 17:38:32 2007 +0000
@@ -943,7 +943,8 @@
 (make-obsolete-variable 'directory-sep-char "do not use it." "21.1")
 (make-obsolete-variable 'mode-line-inverse-video "use the appropriate faces instead." "21.1")
 (make-obsolete-variable 'unread-command-char
-  "use `unread-command-events' instead.  That variable is a list of events to reread, so it now uses nil to mean `no event', instead of -1."
+  "use `unread-command-events' instead.  That variable is a list of events
+to reread, so it now uses nil to mean `no event', instead of -1."
   "before 19.15")
 
 ;; Lisp manual only updated in 22.1.
--- a/lisp/tabify.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/tabify.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; tabify.el --- tab conversion commands for Emacs
 
-;; Copyright (C) 1985, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/talk.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/talk.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; talk.el --- allow several users to talk to each other through Emacs
 
-;; Copyright (C) 1995, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/tempo.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/tempo.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; tempo.el --- Flexible template insertion
 
-;; Copyright (C) 1994, 1995, 2002, 2003, 2004,
+;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: David K}gedal <davidk@lysator.liu.se>
--- a/lisp/term.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; term.el --- general command interpreter in a window stuff
 
-;; Copyright (C) 1988, 1990, 1992, 1994, 1995, 2002, 2003,
+;; Copyright (C) 1988, 1990, 1992, 1994, 1995, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Per Bothner <per@bothner.com>
--- a/lisp/term/AT386.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/AT386.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,11 +1,11 @@
 ;;; AT386.el --- terminal support package for IBM AT keyboards -*- no-byte-compile: t -*-
 
+;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
+;;   2006 Free Software Foundation, Inc.
+
 ;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Keywords: terminals
 
-;; Copyright (C) 1992, 2002, 2003, 2004, 2005,
-;;   2006 Free Software Foundation, Inc.
-
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
--- a/lisp/term/iris-ansi.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/iris-ansi.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; iris-ansi.el --- configure Emacs for SGI xwsh and winterm apps -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1997, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Dan Nicolaescu <dann@ics.uci.edu>
--- a/lisp/term/mac-win.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/mac-win.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; mac-win.el --- parse switches controlling interface with Mac window system -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Andrew Choi <akochoi@mac.com>
@@ -82,7 +82,6 @@
 (defvar mac-service-selection)
 (defvar mac-system-script-code)
 (defvar mac-apple-event-map)
-(defvar mac-atsu-font-table)
 (defvar mac-font-panel-mode)
 (defvar mac-ts-active-input-overlay)
 (defvar x-invocation-args)
@@ -1791,7 +1790,8 @@
   (let* ((ae (mac-event-ae event))
 	 (fm-font-size (mac-ae-number ae "fmsz"))
 	 (atsu-font-id (mac-ae-number ae "auid"))
-	 (attribute-values (gethash atsu-font-id mac-atsu-font-table)))
+	 (attribute-values (and atsu-font-id
+				(mac-atsu-font-face-attributes atsu-font-id))))
     (if fm-font-size
 	(setq attribute-values
 	      `(:height ,(* 10 fm-font-size) ,@attribute-values)))
@@ -1964,6 +1964,22 @@
    (mac-split-string-by-property-change string)
    ""))
 
+(defun mac-keyboard-translate-char (ch)
+  (if (and (char-valid-p ch)
+	   (or (char-table-p keyboard-translate-table)
+	       (and (or (stringp keyboard-translate-table)
+			(vectorp keyboard-translate-table))
+		    (> (length keyboard-translate-table) ch))))
+      (or (aref keyboard-translate-table ch) ch)
+    ch))
+
+(defun mac-unread-string (string)
+  ;; Unread characters and insert them in a keyboard macro being
+  ;; defined.
+  (apply 'isearch-unread
+	 (mapcar 'mac-keyboard-translate-char
+		 (mac-replace-untranslated-utf-8-chars string))))
+
 (defun mac-ts-update-active-input-area (event)
   "Update Mac TSM active input area according to EVENT.
 The confirmed text is converted to Emacs input events and pushed
@@ -2042,11 +2058,7 @@
 		      (point) (point) (current-buffer))
 	(overlay-put mac-ts-active-input-overlay 'before-string
 		     active-input-string))
-      ;; Unread confirmed characters and insert them in a keyboard
-      ;; macro being defined.
-      (apply 'isearch-unread
-	     (append (mac-replace-untranslated-utf-8-chars
-		      (funcall decode-fun confirmed coding)) '())))
+      (mac-unread-string (funcall decode-fun confirmed coding)))
     ;; The event is successfully processed.  Sync the sequence number.
     (setq mac-ts-update-active-input-area-seqno (1+ seqno))))
 
@@ -2059,11 +2071,7 @@
 	 (coding (or (cdr (assq (car script-language)
 				mac-script-code-coding-systems))
 		     'mac-roman)))
-    ;; Unread characters and insert them in a keyboard macro being
-    ;; defined.
-    (apply 'isearch-unread
-	   (append (mac-replace-untranslated-utf-8-chars
-		    (mac-utxt-to-string text coding)) '()))))
+    (mac-unread-string (mac-utxt-to-string text coding))))
 
 ;; kEventClassTextInput/kEventTextInputUpdateActiveInputArea
 (define-key mac-apple-event-map [text-input update-active-input-area]
@@ -2459,7 +2467,7 @@
 
 ;; Setup the default fontset.
 (setup-default-fontset)
-(cond ((x-list-fonts "*-iso10646-1")
+(cond ((x-list-fonts "*-iso10646-1" nil nil 1)
        ;; Use ATSUI (if available) for the following charsets.
        (dolist
 	   (charset '(latin-iso8859-1
@@ -2471,7 +2479,7 @@
 		      vietnamese-viscii-lower vietnamese-viscii-upper
 		      lao ethiopic tibetan))
 	 (set-fontset-font nil charset '(nil . "iso10646-1"))))
-      ((null (x-list-fonts "*-iso8859-1"))
+      ((null (x-list-fonts "*-iso8859-1" nil nil 1))
        ;; Add Mac-encoding fonts unless ETL fonts are installed.
        (fontset-add-mac-fonts "fontset-default")))
 
--- a/lisp/term/news.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/news.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; news.el --- keypad and function key bindings for the Sony NEWS keyboard -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1989, 1993, 2002, 2003, 2004,
+;; Copyright (C) 1989, 1993, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: FSF
--- a/lisp/term/sun-mouse.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/sun-mouse.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; sun-mouse.el --- mouse handling for Sun windows
 
-;; Copyright (C) 1987, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Jeff Peck
--- a/lisp/term/sup-mouse.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/sup-mouse.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; sup-mouse.el --- supdup mouse support for lisp machines
 
-;; Copyright (C) 1985, 1986, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Wolfgang Rupprecht
--- a/lisp/term/tvi970.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/tvi970.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,11 +1,11 @@
 ;;; tvi970.el --- terminal support for the Televideo 970
 
+;; Copyright (C) 1992, 2001, 2002, 2003, 2004, 2005,
+;;   2006 Free Software Foundation, Inc.
+
 ;; Author: Jim Blandy <jimb@occs.cs.oberlin.edu>, January 1992
 ;; Keywords: terminals
 
-;; Copyright (C) 1992, 2002, 2003, 2004, 2005,
-;;   2006 Free Software Foundation, Inc.
-
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
--- a/lisp/term/vt100.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/vt100.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; vt100.el --- define VT100 function key sequences in function-key-map
 
-;; Copyright (C) 1989, 1993, 2002, 2003, 2004,
+;; Copyright (C) 1989, 1993, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: FSF
--- a/lisp/term/w32-win.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/w32-win.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; w32-win.el --- parse switches controlling interface with W32 window system
 
-;; Copyright (C) 1993, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Kevin Gallo
--- a/lisp/term/wyse50.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/wyse50.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; wyse50.el --- terminal support code for Wyse 50 -*- no-byte-compile: t -*-
 
-;; Copyright (C) 1989, 1993, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1989, 1993, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>,
--- a/lisp/term/x-win.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/x-win.el	Mon Jan 01 17:38:32 2007 +0000
@@ -2470,6 +2470,10 @@
 	  ;; generated from FONT.
 	  (create-fontset-from-ascii-font font resolved-name "startup"))))
 
+  ;; Set scroll bar mode to right if set by X resources. Default is left.
+  (if (equal (x-get-resource "verticalScrollBars" "ScrollBars") "right")
+      (customize-set-variable 'scroll-bar-mode 'right))
+
   ;; Apply a geometry resource to the initial frame.  Put it at the end
   ;; of the alist, so that anything specified on the command line takes
   ;; precedence.
--- a/lisp/term/xterm.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/term/xterm.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; xterm.el --- define function key sequences and standard colors for xterm
 
-;; Copyright (C) 1995, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: FSF
--- a/lisp/terminal.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/terminal.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; terminal.el --- terminal emulator for GNU Emacs
 
-;; Copyright (C) 1986, 1987, 1988, 1989, 1993, 1994, 2002, 2003,
+;; Copyright (C) 1986, 1987, 1988, 1989, 1993, 1994, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Richard Mlynarik <mly@eddie.mit.edu>
--- a/lisp/textmodes/bib-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/bib-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; bib-mode.el --- major mode for editing bib files
 
-;; Copyright (C) 1989, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/textmodes/bibtex.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/bibtex.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; bibtex.el --- BibTeX mode for GNU Emacs
 
-;; Copyright (C) 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2003,
-;;   2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
+;;   2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Stefan Schoef <schoef@offis.uni-oldenburg.de>
 ;;      Bengt Martensson <bengt@mathematik.uni-Bremen.de>
--- a/lisp/textmodes/enriched.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/enriched.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; enriched.el --- read and save files in text/enriched format
 
-;; Copyright (C) 1994, 1995, 1996, 2002, 2003, 2004,
+;; Copyright (C) 1994, 1995, 1996, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
--- a/lisp/textmodes/fill.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/fill.el	Mon Jan 01 17:38:32 2007 +0000
@@ -762,7 +762,7 @@
 		 (list (if current-prefix-arg 'full))))
   ;; First try fill-paragraph-function.
   (or (and (or fill-paragraph-function
-	       (and (window-minibuffer-p (selected-window))
+	       (and (minibufferp (current-buffer))
 		    (= 1 (point-min))))
 	   (let ((function (or fill-paragraph-function
 			       ;; In the minibuffer, don't count the width
@@ -838,14 +838,16 @@
 	     (commark
 	      (comment-string-strip (buffer-substring comstart comin) nil t))
 	     (comment-re
-	      (if (string-match comment-start-skip (concat commark "a"))
+	      ;; `commark' is surrounded with arbitrary text (`\0' and `a')
+	      ;;  to make sure it can be used as an optimization of
+	      ;; `comment-start-skip' in the middle of a line.  For example,
+	      ;; `commark' can't be used with the "@c" in TeXinfo (hence
+	      ;; the `a') or with the "C" at BOL in Fortran (hence the `\0').
+	      (if (string-match comment-start-skip (concat "\0" commark "a"))
 		  (concat "[ \t]*" (regexp-quote commark)
 			  ;; Make sure we only match comments that use
 			  ;; the exact same comment marker.
 			  "[^" (substring commark -1) "]")
-		;; If the commark needs to be followed by some special
-		;; set of characters (like @c in TeXinfo), we can't
-		;; rely just on `commark'.
 		(concat "[ \t]*\\(?:" comment-start-skip "\\)")))
 	     (comment-fill-prefix	; Compute a fill prefix.
 	      (save-excursion
--- a/lisp/textmodes/flyspell.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/flyspell.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; flyspell.el --- on-the-fly spell checker
 
-;; Copyright (C) 1998, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Manuel Serrano <Manuel.Serrano@sophia.inria.fr>
@@ -541,6 +541,11 @@
             (member (or ispell-local-dictionary ispell-dictionary)
                     flyspell-dictionaries-that-consider-dash-as-word-delimiter)))))
 
+(defun flyspell-hack-local-variables-hook ()
+  ;; When local variables are loaded, see if the dictionary context
+  ;; has changed.
+  (flyspell-accept-buffer-local-defs 'force))
+
 (defun flyspell-kill-ispell-hook ()
   (setq flyspell-last-buffer nil)
   (dolist (buf (buffer-list))
@@ -579,6 +584,9 @@
   (add-hook 'pre-command-hook (function flyspell-pre-command-hook) t t)
   ;; we bound flyspell action to after-change hook
   (add-hook 'after-change-functions 'flyspell-after-change-function nil t)
+  ;; we bound flyspell action to hack-local-variables-hook
+  (add-hook 'hack-local-variables-hook
+	    (function flyspell-hack-local-variables-hook) t t)
   ;; set flyspell-generic-check-word-predicate based on the major mode
   (let ((mode-predicate (get major-mode 'flyspell-mode-predicate)))
     (if mode-predicate
@@ -684,6 +692,8 @@
   (remove-hook 'post-command-hook (function flyspell-post-command-hook) t)
   (remove-hook 'pre-command-hook (function flyspell-pre-command-hook) t)
   (remove-hook 'after-change-functions 'flyspell-after-change-function t)
+  (remove-hook 'hack-local-variables-hook
+	       (function flyspell-hack-local-variables-hook) t)
   ;; we remove all the flyspell hilightings
   (flyspell-delete-all-overlays)
   ;; we have to erase pre cache variables
--- a/lisp/textmodes/makeinfo.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/makeinfo.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; makeinfo.el --- run makeinfo conveniently
 
-;; Copyright (C) 1991, 1993, 2002, 2003, 2004,
+;; Copyright (C) 1991, 1993, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Robert J. Chassell
--- a/lisp/textmodes/org.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/org.el	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,7 @@
 ;; Author: Carsten Dominik <dominik at science dot uva dot nl>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
-;; Version: 4.56b
+;; Version: 4.56e
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -114,7 +114,7 @@
 
 ;;; Customization variables
 
-(defvar org-version "4.56b"
+(defvar org-version "4.56e"
   "The version number of the file org.el.")
 (defun org-version ()
   (interactive)
@@ -3211,6 +3211,9 @@
   ;; Paragraphs and auto-filling
   (org-set-autofill-regexps)
   (org-update-radio-target-regexp)
+  ;; Make isearch reveal context after success
+  (org-set-local 'outline-isearch-open-invisible-function
+		 (lambda (&rest ignore) (org-show-context nil t)))
 
   (if (and org-insert-mode-line-in-empty-file
 	   (interactive-p)
@@ -3238,7 +3241,7 @@
 (defsubst org-current-line (&optional pos)
   (save-excursion
     (and pos (goto-char pos))
-    (+ (if (bolp) 1 0) (count-lines (point-min) (point)))))
+    (+ (if (bolp) 1 0) (count-lines 1 (point)))))
 
 (defun org-current-time ()
   "Current time, possibly rounded to `org-time-stamp-rounding-minutes'."
@@ -5691,6 +5694,7 @@
 	(save-excursion
 	  (and (if heading-p (org-goto-sibling) (outline-next-heading))
 	       (org-flag-heading nil))))
+      (when siblings (org-show-siblings))
       (when hierarchy-p
 	;; show all higher headings, possibly with siblings
 	(save-excursion
@@ -5699,12 +5703,15 @@
 			(error nil))
 		      (not (bobp)))
 	    (org-flag-heading nil)
-	    (when siblings
-	      (save-excursion
-		(while (org-goto-sibling) (org-flag-heading nil)))
-	      (save-excursion
-		(while (org-goto-sibling 'previous)
-		  (org-flag-heading nil))))))))))
+	    (when siblings (org-show-siblings))))))))
+
+(defun org-show-siblings ()
+  "Show all siblings of the current headline."
+  (save-excursion
+    (while (org-goto-sibling) (org-flag-heading nil)))
+  (save-excursion
+    (while (org-goto-sibling 'previous)
+      (org-flag-heading nil))))
 
 (defun org-reveal (&optional siblings)
   "Show current entry, hierarchy above it, and the following headline.
@@ -12375,11 +12382,11 @@
 	 (rpl (if cut "  " nil)))
     (goto-char beg)
     (org-table-check-inside-data-field)
-    (setq l01 (count-lines (point-min) (point))
+    (setq l01 (org-current-line)
 	  c01 (org-table-current-column))
     (goto-char end)
     (org-table-check-inside-data-field)
-    (setq l02 (count-lines (point-min) (point))
+    (setq l02 (org-current-line)
 	  c02 (org-table-current-column))
     (setq l1 (min l01 l02) l2 (max l01 l02)
 	  c1 (min c01 c02) c2 (max c01 c02))
@@ -12410,7 +12417,7 @@
     (error "First cut/copy a region to paste!"))
   (org-table-check-inside-data-field)
   (let* ((clip org-table-clip)
-	 (line (count-lines (point-min) (point)))
+	 (line (org-current-line))
 	 (col (org-table-current-column))
 	 (org-enable-table-editor t)
 	 (org-table-automatic-realign nil)
@@ -16278,6 +16285,7 @@
 (define-key org-mode-map [(tab)]      'org-cycle)
 (define-key org-mode-map [(control tab)] 'org-force-cycle-archived)
 (define-key org-mode-map [(meta tab)] 'org-complete)
+(define-key org-mode-map "\M-\t" 'org-complete)
 ;; The following line is necessary under Suse GNU/Linux
 (unless (featurep 'xemacs)
   (define-key org-mode-map [S-iso-lefttab]  'org-shifttab))
--- a/lisp/textmodes/page-ext.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/page-ext.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; page-ext.el --- extended page handling commands
 
-;; Copyright (C) 1990, 1991, 1993, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1990, 1991, 1993, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: Robert J. Chassell <bob@gnu.org>
--- a/lisp/textmodes/page.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/page.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; page.el --- page motion commands for Emacs
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/textmodes/picture.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/picture.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; picture.el --- "Picture mode" -- editing using quarter-plane screen model
 
-;; Copyright (C) 1985, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
--- a/lisp/textmodes/refbib.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/refbib.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; refbib.el --- convert refer-style references to ones usable by Latex bib
 
-;; Copyright (C) 1989, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Henry Kautz <kautz@research.att.com>
--- a/lisp/textmodes/refer.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/refer.el	Mon Jan 01 17:38:32 2007 +0000
@@ -79,19 +79,19 @@
   :group 'wp)
 
 (defcustom refer-bib-directory nil
-  "Directory, or list of directories, to search for \\.bib files. Can
-be set to 'bibinputs or 'texinputs, in which case the environment
+  "Directory, or list of directories, to search for \\.bib files.
+Can be set to 'bibinputs or 'texinputs, in which case the environment
 variable BIBINPUTS or TEXINPUTS, respectively, is used to obtain a
-list of directories.  Useful only if refer-bib-files is set to 'dir or
-a list of file names (without directory). A value of nil indicates the
+list of directories.  Useful only if `refer-bib-files' is set to 'dir or
+a list of file names (without directory).  A value of nil indicates the
 current working directory.
 
-If refer-bib-directory is 'bibinputs or 'texinputs, it is setq'd to
+If `refer-bib-directory' is 'bibinputs or 'texinputs, it is setq'd to
 the appropriate list of directories when it is first used.
 
 Note that an empty directory is interpreted by BibTeX as indicating
-the default search path. Since Refer does not know that default path,
-it cannot search it. Include that path explicitly in your BIBINPUTS
+the default search path.  Since Refer does not know that default path,
+it cannot search it.  Include that path explicitly in your BIBINPUTS
 environment if you really want it searched (which is not likely to
 happen anyway)."
   :type '(choice (repeat directory) (const bibinputs) (const texinputs))
@@ -102,24 +102,24 @@
 or one of the following special values:
 nil  = prompt for \\.bib file (if visiting a \\.bib file, use it as default)
 auto = read \\.bib file names from appropriate command in buffer (see
-       refer-bib-files-regexp) unless the buffer's mode is bibtex-mode,
+       `refer-bib-files-regexp') unless the buffer's mode is `bibtex-mode',
        in which case only the buffer is searched
-dir  = use all \\.bib files in directories referenced by refer-bib-directory.
+dir  = use all \\.bib files in directories referenced by `refer-bib-directory'.
 
 If a specified file doesn't exist and has no extension, a \\.bib extension
 is automatically tried.
 
-If refer-bib-files is nil, auto or dir, it is setq'd to the appropriate
-list of files when it is first used if refer-cache-bib-files is t.  If
-refer-cache-bib-files is nil, the list of \\.bib files to use is re-read
+If `refer-bib-files' is nil, auto or dir, it is setq'd to the appropriate
+list of files when it is first used if `refer-cache-bib-files' is t.  If
+`refer-cache-bib-files' is nil, the list of \\.bib files to use is re-read
 each time it is needed."
   :type '(choice (repeat file) (const nil) (const auto) (const dir))
   :group 'refer)
 
 (defcustom refer-cache-bib-files t
-  "*Variable determining whether the value of refer-bib-files should be cached.
+  "*Variable determining whether the value of `refer-bib-files' should be cached.
 If t, initialize the value of refer-bib-files the first time it is used.  If
-nil, re-read the list of \\.bib files depending on the value of refer-bib-files
+nil, re-read the list of \\.bib files depending on the value of `refer-bib-files'
 each time it is needed."
   :type 'boolean
   :group 'refer)
@@ -128,8 +128,8 @@
   "*Regexp matching a bibliography file declaration.
 The current buffer is expected to contain a line such as
 \\bibliography{file1,file2,file3}
-which is read to set up refer-bib-files.  The regexp must specify the command
-(such as \\bibliography) that is used to specify the list of bib files.  The
+which is read to set up `refer-bib-files'.  The regexp must specify the command
+\(such as \\bibliography) that is used to specify the list of bib files.  The
 command is expected to specify a file name, or a list of comma-separated file
 names, within curly braces.
 If a specified file doesn't exist and has no extension, a \\.bib extension
@@ -150,8 +150,8 @@
 (defun refer-find-entry (keywords &optional continue)
    "Find entry in refer-bib-files containing KEYWORDS.
 If KEYWORDS is nil, prompt user for blank-separated list of keywords.
-If CONTINUE is t, or if called interactively with a prefix arg, look for next
-entry by continuing search from previous point."
+If CONTINUE is non-nil, or if called interactively with a prefix arg,
+look for next entry by continuing search from previous point."
    (interactive (list nil current-prefix-arg))
    (or keywords (setq keywords (if continue
                                    refer-previous-keywords
@@ -160,13 +160,13 @@
    (refer-find-entry-internal keywords continue))
 
 (defun refer-find-next-entry ()
-   "Find next occurrence of entry in refer-bib-files.  See refer-find-entry."
+   "Find next occurrence of entry in `refer-bib-files'.  See `refer-find-entry'."
    (interactive)
    (refer-find-entry-internal refer-previous-keywords t))
 
 (defun refer-yank-key ()
   "Inserts at point in current buffer the \"key\" field of the entry
-found on the last refer-find-entry or refer-find-next-entry."
+found on the last `refer-find-entry' or `refer-find-next-entry'."
   (interactive)
   (let ((old-point (point)))
     (insert
--- a/lisp/textmodes/refill.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/refill.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; refill.el --- `auto-fill' by refilling paragraphs on changes
 
-;; Copyright (C) 2000, 2002, 2003, 2004, 2005,
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
--- a/lisp/textmodes/reftex-auc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/reftex-auc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 ;;; reftex-auc.el --- RefTeX's interface to AUCTeX
-;; Copyright (C) 1997, 1998, 1999, 2000, 2003, 2004, 2005,
+
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
--- a/lisp/textmodes/reftex-cite.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/reftex-cite.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 ;;; reftex-cite.el --- creating citations with RefTeX
-;; Copyright (C) 1997, 1998, 1999, 2000, 2003, 2004, 2005,
+
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
--- a/lisp/textmodes/reftex-dcr.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/reftex-dcr.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 ;;; reftex-dcr.el --- viewing cross references and citations with RefTeX
-;; Copyright (C) 1997, 1998, 1999, 2000, 2003, 2004, 2005,
+
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
--- a/lisp/textmodes/reftex-global.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/reftex-global.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 ;;; reftex-global.el --- operations on entire documents with RefTeX
-;; Copyright (C) 1997, 1998, 1999, 2000, 2003, 2004, 2005,
+
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
--- a/lisp/textmodes/reftex-index.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/reftex-index.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 ;;; reftex-index.el --- index support with RefTeX
-;; Copyright (C) 1997, 1998, 1999, 2000, 2003, 2004, 2005,
+
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
--- a/lisp/textmodes/reftex-parse.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/reftex-parse.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 ;;; reftex-parse.el --- parser functions for RefTeX
-;; Copyright (C) 1997, 1998, 1999, 2000, 2003, 2004, 2005,
+
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
--- a/lisp/textmodes/reftex-ref.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/reftex-ref.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 ;;; reftex-ref.el --- code to create labels and references with RefTeX
-;; Copyright (C) 1997, 1998, 1999, 2000, 2003, 2004, 2005,
+
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
--- a/lisp/textmodes/reftex-sel.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/reftex-sel.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 ;;; reftex-sel.el --- the selection modes for RefTeX
-;; Copyright (C) 1997, 1998, 1999, 2000, 2003, 2440, 2005,
+
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
--- a/lisp/textmodes/reftex-vars.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/reftex-vars.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 ;;; reftex-vars.el --- configuration variables for RefTeX
-;; Copyright (C) 1997, 1998, 1999, 2003, 2004, 2005,
+
+;; Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
--- a/lisp/textmodes/sgml-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/sgml-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -265,7 +265,10 @@
      (1 (if (match-end 2) sgml-namespace-face font-lock-function-name-face))
      (2 font-lock-function-name-face nil t))
     ;; FIXME: this doesn't cover the variables using a default value.
-    (,(concat "\\(" sgml-namespace-re "\\)\\(?::\\("
+    ;; The first shy-group is an important anchor: it prevents an O(n^2)
+    ;; pathological case where we otherwise keep retrying a failing match
+    ;; against a very long word at every possible position within the word.
+    (,(concat "\\(?:^\\|[ \t]\\)\\(" sgml-namespace-re "\\)\\(?::\\("
 	      sgml-name-re "\\)\\)?=[\"']")
      (1 (if (match-end 2) sgml-namespace-face font-lock-variable-name-face))
      (2 font-lock-variable-name-face nil t))
--- a/lisp/textmodes/spell.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/spell.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; spell.el --- spelling correction interface for Emacs
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/textmodes/tex-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/tex-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; tex-mode.el --- TeX, LaTeX, and SliTeX mode commands -*- coding: utf-8 -*-
 
 ;; Copyright (C) 1985, 1986, 1989, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
-;;   2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;;   2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: tex
--- a/lisp/textmodes/text-mode.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/text-mode.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; text-mode.el --- text mode, and its idiosyncratic commands
 
-;; Copyright (C) 1985, 1992, 1994, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1992, 1994, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/textmodes/tildify.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/tildify.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; tildify.el --- adding hard spaces into texts
 
-;; Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author:     Milan Zamazal <pdm@zamazal.org>
--- a/lisp/textmodes/two-column.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/two-column.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; two-column.el --- minor mode for editing of two-column text
 
-;; Copyright (C) 1992, 1993, 1994, 1995, 2002, 2003, 2004,
+;; Copyright (C) 1992, 1993, 1994, 1995, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Daniel Pfeiffer <occitan@esperanto.org>
--- a/lisp/textmodes/underline.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/textmodes/underline.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; underline.el --- insert/remove underlining (done by overstriking) in Emacs
 
-;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/thingatpt.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/thingatpt.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; thingatpt.el --- get the `thing' at point
 
-;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000
-;;   2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000,
+;;   2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Mike Williams <mikew@gopher.dosli.govt.nz>
 ;; Maintainer: FSF
--- a/lisp/timezone.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/timezone.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; timezone.el --- time zone package for GNU Emacs
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 1996, 1999, 2002, 2003,
+;; Copyright (C) 1990, 1991, 1992, 1993, 1996, 1999, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Masanobu Umeda
--- a/lisp/tutorial.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/tutorial.el	Mon Jan 01 17:38:32 2007 +0000
@@ -33,21 +33,11 @@
 ;;; Code:
 
 (require 'help-mode) ;; for function help-buffer
-(eval-when-compile (require 'cl))
 
 (defface tutorial-warning-face
-  '((((class color) (min-colors 88) (background light))
-     (:foreground "Red1" :weight bold))
-    (((class color) (min-colors 88) (background dark))
-     (:foreground "Pink" :weight bold))
-    (((class color) (min-colors 16) (background light))
-     (:foreground "Red1" :weight bold))
-    (((class color) (min-colors 16) (background dark))
-     (:foreground "Pink" :weight bold))
-    (((class color) (min-colors 8)) (:foreground "red"))
-    (t (:inverse-video t :weight bold)))
+  '((t :inherit font-lock-warning-face))
   "Face used to highlight warnings in the tutorial."
-  :group 'font-lock-faces)
+  :group 'help)
 
 (defvar tutorial--point-before-chkeys 0
   "Point before display of key changes.")
@@ -168,8 +158,7 @@
                       where
                       " to get the function `"
                       (format "%s" db)
-                      "'."))
-            )
+                      "'.")))
           (fill-region (point-min) (point)))))
       (print-help-return-message))))
 
@@ -213,110 +202,83 @@
        ((and (symbolp cx)
              (symbolp cy))
         (string< (symbol-name cy)
-                 (symbol-name cx)))
-       ))))
+                 (symbol-name cx)))))))
 
 (defconst tutorial--default-keys
-  (let* (
-         ;; On window system suspend Emacs is replaced in the
-         ;; default keymap so honor this here.
-         (suspend-emacs (if window-system
+  ;; On window system, `suspend-emacs' is replaced in the default
+  ;; keymap
+  (let* ((suspend-emacs (if window-system
                             'iconify-or-deiconify-frame
                           'suspend-emacs))
          (default-keys
-           `(
-             ;; These are not mentioned but are basic:
-             (ESC-prefix [27])
+           `((ESC-prefix [27])
              (Control-X-prefix [?\C-x])
              (mode-specific-command-prefix [?\C-c])
-
              (save-buffers-kill-emacs [?\C-x ?\C-c])
 
-
              ;; * SUMMARY
              (scroll-up [?\C-v])
              (scroll-down [?\M-v])
              (recenter [?\C-l])
 
-
              ;; * BASIC CURSOR CONTROL
              (forward-char [?\C-f])
              (backward-char [?\C-b])
-
              (forward-word [?\M-f])
              (backward-word [?\M-b])
-
              (next-line [?\C-n])
              (previous-line [?\C-p])
-
              (move-beginning-of-line [?\C-a])
              (move-end-of-line [?\C-e])
-
              (backward-sentence [?\M-a])
              (forward-sentence [?\M-e])
-
              (newline "\r")
-
              (beginning-of-buffer [?\M-<])
              (end-of-buffer [?\M->])
-
              (universal-argument [?\C-u])
 
-
              ;; * WHEN EMACS IS HUNG
              (keyboard-quit [?\C-g])
 
-
              ;; * DISABLED COMMANDS
              (downcase-region [?\C-x ?\C-l])
 
-
              ;; * WINDOWS
              (delete-other-windows [?\C-x ?1])
              ;; C-u 0 C-l
              ;; Type CONTROL-h k CONTROL-f.
 
-
              ;; * INSERTING AND DELETING
              ;; C-u 8 * to insert ********.
-
              (delete-backward-char [backspace])
              (delete-backward-char "\d")
              (delete-char [?\C-d])
-
              (backward-kill-word [(meta backspace)])
              (kill-word [?\M-d])
-
              (kill-line [?\C-k])
              (kill-sentence [?\M-k])
-
              (set-mark-command [?\C-@])
              (set-mark-command [?\C- ])
              (kill-region [?\C-w])
              (yank [?\C-y])
              (yank-pop [?\M-y])
 
-
              ;; * UNDO
              (advertised-undo [?\C-x ?u])
              (advertised-undo [?\C-x ?u])
 
-
              ;; * FILES
              (find-file [?\C-x ?\C-f])
              (save-buffer [?\C-x ?\C-s])
 
-
              ;; * BUFFERS
              (list-buffers [?\C-x ?\C-b])
              (switch-to-buffer [?\C-x ?b])
              (save-some-buffers [?\C-x ?s])
 
-
              ;; * EXTENDING THE COMMAND SET
              ;; C-x	Character eXtend.  Followed by one character.
              (execute-extended-command [?\M-x])
-
              ;; C-x C-f		Find file
              ;; C-x C-s		Save file
              ;; C-x s		Save some buffers
@@ -326,44 +288,35 @@
              ;; C-x 1		Delete all but one window
              ;; C-x u		Undo
 
-
              ;; * MODE LINE
              (describe-mode [?\C-h ?m])
-
              (set-fill-column [?\C-x ?f])
              (fill-paragraph [?\M-q])
 
-
              ;; * SEARCHING
              (isearch-forward [?\C-s])
              (isearch-backward [?\C-r])
 
-
              ;; * MULTIPLE WINDOWS
              (split-window-vertically [?\C-x ?2])
              (scroll-other-window [?\C-\M-v])
              (other-window [?\C-x ?o])
              (find-file-other-window [?\C-x ?4 ?\C-f])
 
-
              ;; * RECURSIVE EDITING LEVELS
              (keyboard-escape-quit [27 27 27])
 
-
              ;; * GETTING MORE HELP
              ;; The most basic HELP feature is C-h c
              (describe-key-briefly [?\C-h ?c])
              (describe-key [?\C-h ?k])
 
-
              ;; * MORE FEATURES
              ;; F10
 
-
              ;; * CONCLUSION
              ;;(iconify-or-deiconify-frame [?\C-z])
-             (,suspend-emacs [?\C-z])
-             )))
+             (,suspend-emacs [?\C-z]))))
     (sort default-keys 'tutorial--sort-keys))
   "Default Emacs key bindings that the tutorial depends on.")
 
@@ -374,7 +327,6 @@
                      (interactive-p))
     (with-current-buffer (help-buffer)
       (let* ((tutorial-buffer  (button-get button 'tutorial-buffer))
-             ;;(tutorial-arg     (button-get button 'tutorial-arg))
              (explain-key-desc (button-get button 'explain-key-desc))
              (changed-keys (with-current-buffer tutorial-buffer
                              (save-excursion
@@ -384,7 +336,7 @@
         (when changed-keys
           (insert
            "The following key bindings used in the tutorial had been changed
-from Emacs default in the " (buffer-name tutorial-buffer) " buffer:\n\n" )
+from the Emacs default in the " (buffer-name tutorial-buffer) " buffer:\n\n" )
           (let ((frm "   %-9s %-27s %-11s %s\n"))
             (insert (format frm "Key" "Standard Binding" "Is Now On" "Remark")))
           (dolist (tk changed-keys)
@@ -405,7 +357,7 @@
                 (insert "   " key-txt " ")
                 (setq tot-len (length key-txt))
                 (when (> 9 tot-len)
-                  (insert (make-string (- 9 tot-len) ? ))
+                  (insert (make-string (- 9 tot-len) ?\s))
                   (setq tot-len 9))
                 ;; Insert a link describing the old binding:
                 (insert-button def-fun-txt
@@ -417,7 +369,7 @@
                                'follow-link t)
                 (setq tot-len (+ tot-len (length def-fun-txt)))
                 (when (> 36 tot-len)
-                  (insert (make-string (- 36 tot-len) ? )))
+                  (insert (make-string (- 36 tot-len) ?\s)))
                 (when (listp where)
                   (setq where "list"))
                 ;; Tell where the old binding is now:
@@ -438,29 +390,18 @@
                 (insert "\n")))))
 
         (insert "
-It is legitimate to change key bindings, but changed bindings do not
-correspond to what the tutorial says.  (See also " )
-        (insert-button "Key Binding Conventions"
-                       'action
-                       (lambda(button) (interactive)
-                         (info
-                          "(elisp) Key Binding Conventions")
-                         (message "Type C-x 0 to close the new window"))
-                       'follow-link t)
-        (insert ".)\n\n")
+It is OK to change key bindings, but changed bindings do not
+correspond to what the tutorial says.\n\n")
         (print-help-return-message)))))
 
 (defun tutorial--find-changed-keys (default-keys)
-  "Find the key bindings that have changed.
-Check if the default Emacs key bindings that the tutorial depends
-on have been changed.
+  "Find the key bindings used in the tutorial that have changed.
+Return a list with elements of the form
 
-Return a list with the keys that have been changed.  The element
-of this list have the following format:
+  '(KEY DEF-FUN DEF-FUN-TXT WHERE REMARK QUIET)
 
-  \(list KEY DEF-FUN DEF-FUN-TXT WHERE REMARK)
+where
 
-Where
   KEY         is a key sequence whose standard binding has been changed
   DEF-FUN     is the standard binding of KEY
   DEF-FUN-TXT is a short descriptive text for DEF-FUN
@@ -477,9 +418,10 @@
               rest of the list is used to show information when
               the user clicks the link.
 
-              KEY-FUN is the actual binding for KEY."
+              KEY-FUN is the actual binding for KEY.
+  QUIET       is t if this changed keybinding should be handled quietly.
+              This is used by `tutorial--display-changes'."
   (let (changed-keys remark)
-    ;; (default-keys tutorial--default-keys))
     (dolist (kdf default-keys)
       ;; The variables below corresponds to those with the same names
       ;; described in the doc string.
@@ -518,26 +460,21 @@
                    (setq remark (list "cua-mode, more info" 'cua-mode))
                    nil)
                   ((and cua-mode
-                        (or
-                         (and (eq def-fun 'ESC-prefix)
-                              (equal key-fun
+                        (or (and (eq def-fun 'ESC-prefix)
+				 (equal key-fun
                                      `(keymap
-                                       (118 . cua-repeat-replace-region))))
-                         (and (eq def-fun 'mode-specific-command-prefix)
-                              (equal key-fun
-                                     '(keymap
-                                       (timeout . copy-region-as-kill))))
-                         (and (eq def-fun 'Control-X-prefix)
-                              (equal key-fun
-                                     '(keymap (timeout . kill-region))))))
+                                       (118 . cua-repeat-replace-region)))
+				 (setq def-fun-txt "\"ESC prefix\""))
+			    (and (eq def-fun 'mode-specific-command-prefix)
+				 (equal key-fun
+					'(keymap
+					  (timeout . copy-region-as-kill)))
+				 (setq def-fun-txt "\"C-c prefix\""))
+			    (and (eq def-fun 'Control-X-prefix)
+				 (equal key-fun
+					'(keymap (timeout . kill-region)))
+				 (setq def-fun-txt "\"C-x prefix\""))))
                    (setq remark (list "cua-mode replacement" 'cua-mode))
-                   (cond
-                    ((eq def-fun 'mode-specific-command-prefix)
-                     (setq def-fun-txt "\"C-c prefix\""))
-                    ((eq def-fun 'Control-X-prefix)
-                     (setq def-fun-txt "\"C-x prefix\""))
-                    ((eq def-fun 'ESC-prefix)
-                     (setq def-fun-txt "\"ESC prefix\"")))
                    (setq where "Same key")
                    nil)
                   ;; viper-mode specials:
@@ -567,124 +504,110 @@
                                key-fun def-fun key where))
                    nil))
           (add-to-list 'changed-keys
-                       (list key def-fun def-fun-txt where remark)))))
+                       (list key def-fun def-fun-txt where remark nil)))))
     changed-keys))
 
-(defvar tutorial--tab-map
-  (let ((map (make-sparse-keymap)))
-    (define-key map [tab] 'forward-button)
-    (define-key map [(shift tab)] 'backward-button)
-    (define-key map [(meta tab)] 'backward-button)
-    map)
-  "Keymap that allows tabbing between buttons.")
+(defun tutorial--key-description (key)
+  (let ((desc (key-description key)))
+    (cond ((string= "ESC" desc) "<ESC>")
+	  ((string= "RET" desc) "<Return>")
+	  ((string= "DEL" desc) "<Delback>")
+	  (t desc))))
 
-(defun tutorial--display-changes (changed-keys)
+(defun tutorial--display-changes ()
   "Display changes to some default key bindings.
 If some of the default key bindings that the tutorial depends on
 have been changed then display the changes in the tutorial buffer
-with some explanatory links.
-
-CHANGED-KEYS should be a list in the format returned by
-`tutorial--find-changed-keys'."
-  (when (or changed-keys
-            (boundp 'viper-mode-string))
+with some explanatory links."
+  (let* ((changed-keys (tutorial--find-changed-keys
+			tutorial--default-keys))
+	 ;; Alist of element (DESC . CK) where DESC is the
+	 ;; key-description of a changed key and CK is the
+	 ;; corresponding element in `changed-keys'.
+	 (changed-keys-alist
+	  (mapcar (lambda (ck) (cons (tutorial--key-description (car ck)) ck))
+		  changed-keys))
+	 changed-key
+	 (start (point))
+	 (case-fold-search nil)
+	 (keybindings-regexp
+	  (concat "[[:space:]]\\("
+		  (mapconcat (lambda (kdf) (regexp-quote
+					    (tutorial--key-description
+					     (nth 1 kdf))))
+			     tutorial--default-keys
+			     "\\|")
+		  "\\)[[:punct:][:space:]]")))
     ;; Need the custom button face for viper buttons:
-    (when (boundp 'viper-mode-string)
-      (require 'cus-edit))
-    (let ((start (point))
-          end
-          (head  (get-lang-string tutorial--lang 'tut-chgdhead))
-          (head2 (get-lang-string tutorial--lang 'tut-chgdhead2)))
-      (when (and head head2)
-        (goto-char tutorial--point-before-chkeys)
-        (insert head)
-        (insert-button head2
-                       'tutorial-buffer
-                       (current-buffer)
-                       ;;'tutorial-arg arg
-                       'action
-                       'tutorial--detailed-help
-                       'follow-link t
-                       'face 'link)
-        (insert "]\n\n" )
-        (when changed-keys
-          (dolist (tk changed-keys)
-            (let* ((def-fun     (nth 1 tk))
-                   (key         (nth 0 tk))
-                   (def-fun-txt (nth 2 tk))
-                   (where       (nth 3 tk))
-                   (remark      (nth 4 tk))
-                   (rem-fun (command-remapping def-fun))
-                   (key-txt (key-description key))
-                   (key-fun (key-binding key))
-                   tot-len)
-              (unless (eq def-fun key-fun)
-                ;; Mark the key in the tutorial text
-                (unless (string= "Same key" where)
-                  (let ((here (point))
-			(case-fold-search nil)
-                        (key-desc (key-description key)))
-                    (cond ((string= "ESC" key-desc)
-			   (setq key-desc "<ESC>"))
-			  ((string= "RET" key-desc)
-			   (setq key-desc "<Return>"))
-			  ((string= "DEL" key-desc)
-			   (setq key-desc "<Delback>")))
-                    (while (re-search-forward
-			    (concat "[[:space:]]\\("
-                                    (regexp-quote key-desc)
-				    "\\)[[:space:]]") nil t)
-                      (put-text-property (match-beginning 1)
-                                         (match-end 1)
-                                         'tutorial-remark 'only-colored)
-                      (put-text-property (match-beginning 1)
-                                         (match-end 1)
-                                         'face 'tutorial-warning-face)
-                      (forward-line)
-                      (let ((s  (get-lang-string tutorial--lang 'tut-chgdkey))
-                            (s2 (get-lang-string tutorial--lang 'tut-chgdkey2))
-                            (start (point))
-                            end)
-                        (when (and s s2)
-                          (setq s (format s key-desc where s2))
-                          (insert s)
-                          (insert-button s2
-                                         'tutorial-buffer
-                                         (current-buffer)
-                                         ;;'tutorial-arg arg
-                                         'action
-                                         'tutorial--detailed-help
-                                         'explain-key-desc key-desc
-                                         'follow-link t
-                                         'face 'link)
-                          (insert "] **")
-                          (insert "\n")
-                          (setq end (point))
-                          (put-text-property start end 'local-map tutorial--tab-map)
-                          ;; Add a property so we can remove the remark:
-                          (put-text-property start end 'tutorial-remark t)
-                          (put-text-property start end
-                                             'face 'tutorial-warning-face)
-                          (put-text-property start end 'read-only t))))
-                    (goto-char here)))))))
+    (if (boundp 'viper-mode-string) (require 'cus-edit))
+
+    (if (or changed-keys (boundp 'viper-mode-string))
+	(let ((head  (get-lang-string tutorial--lang 'tut-chgdhead))
+	      (head2 (get-lang-string tutorial--lang 'tut-chgdhead2)))
+	  (when (and head head2)
+	    (goto-char tutorial--point-before-chkeys)
+	    (insert head " [")
+	    (insert-button head2 'tutorial-buffer (current-buffer)
+			   'action 'tutorial--detailed-help
+			   'follow-link t 'face 'link)
+	    (insert "]\n\n")
+	    (add-text-properties tutorial--point-before-chkeys (point)
+				 '(tutorial-remark remark
+				   face tutorial-warning-face
+				   read-only t)))))
 
-
-        (setq end (point))
-        ;; Make the area with information about change key
-        ;; bindings stand out:
-        (put-text-property start end 'tutorial-remark t)
-        (put-text-property start end
-                           'face 'tutorial-warning-face)
-        ;; Make it possible to use Tab/S-Tab between fields in
-        ;; this area:
-        (put-text-property start end 'local-map tutorial--tab-map)
-        (setq tutorial--point-after-chkeys (point-marker))
-        ;; Make this area read-only:
-        (put-text-property start end 'read-only t)))))
+    ;; Scan the tutorial for all key sequences.
+    (goto-char (point-min))
+    (while (re-search-forward keybindings-regexp (point-max) t)
+      ;; Then highlight each rebound key sequence.
+      ;; This avoids issuing a warning for, e.g., C-x C-b if C-b is rebound.
+      (setq changed-key (assoc (match-string 1) changed-keys-alist))
+      (and changed-key
+	   (not (get-text-property (match-beginning 1) 'tutorial-remark))
+	   (let* ((desc    (car changed-key))
+		  (ck      (cdr changed-key))
+		  (key     (nth 0 ck))
+		  (def-fun (nth 1 ck))
+		  (where   (nth 3 ck))
+		  s1 s2 help-string)
+	     (unless (string= where "Same key")
+	       (setq tutorial--point-after-chkeys (point-marker)
+		     s1 (get-lang-string tutorial--lang 'tut-chgdkey)
+		     s2 (get-lang-string tutorial--lang 'tut-chgdkey2)
+		     help-string (and s1 s2 (format s1 desc where)))
+	       (add-text-properties (match-beginning 1) (match-end 1)
+				    '(face tutorial-warning-face
+				      tutorial-remark key-sequence))
+	       (if help-string
+		   (if (nth 5 ck)
+		       ;; Put help string in the tooltip.
+		       (put-text-property (match-beginning 1) (match-end 1)
+					  'help-echo help-string)
+		     ;; Put help string in the buffer.
+		     (save-excursion
+		       (setcar (nthcdr 5 ck) t)
+		       (forward-line)
+		       ;; Two or more changed keys were on the same line.
+		       (while (eq (get-text-property (point) 'tutorial-remark)
+				  'remark)
+			 (forward-line))
+		       (setq start (point))
+		       (insert "** " help-string " [")
+		       (insert-button s2 'tutorial-buffer (current-buffer)
+				      'action 'tutorial--detailed-help
+				      'explain-key-desc desc 'follow-link t
+				      'face 'link)
+		       (insert "] **\n")
+		       (add-text-properties start (point)
+					    '(tutorial-remark remark
+					      rear-nonsticky t
+					      face tutorial-warning-face
+					      read-only t)))))))))))
 
 (defun tutorial--saved-dir ()
-  "Directory where to save tutorials."
-  (expand-file-name ".emacstut" "~/"))
+  "Directory to which tutorials are saved."
+  (expand-file-name "tutorial"
+		    (if (eq system-type 'ms-dos) "~/_emacs.d/" "~/.emacs.d/")))
 
 (defun tutorial--saved-file ()
   "File name in which to save tutorials."
@@ -711,11 +634,8 @@
         (unless prop-end
           (setq prop-end (point-max)))
         (goto-char prop-end)
-        (if (eq prop-val 'only-colored)
-            (put-text-property prop-start prop-end 'face '(:background nil))
-          (let ((orig-text (get-text-property prop-start 'tutorial-orig)))
-            (delete-region prop-start prop-end)
-            (when orig-text (insert orig-text))))))))
+        (unless (eq prop-val 'key-sequence)
+	  (delete-region prop-start prop-end))))))
 
 (defun tutorial--save-tutorial ()
   "Save the tutorial buffer.
@@ -724,9 +644,10 @@
 position where the display of changed bindings was inserted."
   ;; This runs in a hook so protect it:
   (condition-case err
-      (tutorial--save-tutorial-to (tutorial--saved-file))
-    (error (message "Error saving tutorial state: %s" (error-message-string err))
-           (sit-for 4))))
+      (if (y-or-n-p "Save your position in the tutorial? ")
+	  (tutorial--save-tutorial-to (tutorial--saved-file)))
+    (error (message "Error saving tutorial state: %s"
+		    (error-message-string err)))))
 
 (defun tutorial--save-tutorial-to (saved-file)
   "Save the tutorial buffer to SAVED-FILE.
@@ -908,13 +829,7 @@
           (forward-line)
           (setq tutorial--point-before-chkeys (point-marker)))
 
-
-        ;; Check if there are key bindings that may disturb the
-        ;; tutorial.  If so tell the user.
-        (let ((changed-keys (tutorial--find-changed-keys tutorial--default-keys)))
-          (when changed-keys
-            (tutorial--display-changes changed-keys)))
-
+	(tutorial--display-changes)
 
         ;; Clear message:
         (unless dont-ask-for-revert
@@ -971,22 +886,17 @@
 ;; are currently only used in the tutorial.
 
 (defconst lang-strings
-  '(
-    ("English" .
-     (
-      (tut-chgdkey . "** The key %s has been rebound, but you can use %s instead [")
-      (tut-chgdkey2 . "More information")
+  '(("English" .
+     ((tut-chgdkey . "%s has been rebound, but you can use %s instead")
+      (tut-chgdkey2 . "More")
       (tut-chgdhead . "
  NOTICE: The main purpose of the Emacs tutorial is to teach you
  the most important standard Emacs commands (key bindings).
  However, your Emacs has been customized by changing some of
  these basic editing commands, so it doesn't correspond to the
  tutorial.  We have inserted colored notices where the altered
- commands have been introduced. [")
-      (tut-chgdhead2 . "Details")
-      )
-     )
-    )
+ commands have been introduced.")
+      (tut-chgdhead2 . "More"))))
   "Language specific strings for Emacs.
 This is an association list with the keys equal to the strings
 that can be returned by `read-language-name'.  The elements in
--- a/lisp/type-break.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/type-break.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; type-break.el --- encourage rests from typing at appropriate intervals
 
-;; Copyright (C) 1994, 1995, 1997, 2000, 2002, 2003,
+;; Copyright (C) 1994, 1995, 1997, 2000, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Noah Friedman
--- a/lisp/url/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/url/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,19 @@
+2006-12-10  Juanma Barranquero  <lekktu@gmail.com>
+
+	* url-gw.el (url-gateway-nslookup-program): Doc fix.
+
+2006-12-08  Magnus Henoch  <mange@freemail.hu>
+
+	* url-proxy.el (url-proxy-object): New variable.
+	(url-proxy): Bind it instead of `proxy-object'.
+
+	* url-http.el (url-http-create-request): Remove url argument, use
+	the buffer-local variable `url-http-target-url' instead.  Both
+	callers updated.  Simplify proxy handling.
+	(url-http): Don't make proxy-object buffer local.
+
+	* url.el (url-retrieve-internal): Bind url-proxy-object to nil.
+
 2006-11-26  Magnus Henoch  <mange@freemail.hu>
 
 	* url-http.el (url-http-wait-for-headers-change-function): Use
@@ -1730,9 +1746,14 @@
 
 	* Initial checkin of rewritten URL library.
 
-Local variables:
-coding: utf-8
-add-log-time-zone-rule: t
-End:
+;; Local variables:
+;; coding: utf-8
+;; add-log-time-zone-rule: t
+;; End:
+
+    Copyright (C) 1999, 2001, 2002, 2004, 2005,
+	2006  Free Software Foundation, Inc.
+  Copying and distribution of this file, with or without modification,
+  are permitted provided the copyright notice and this notice are preserved.
 
 ;; arch-tag: ac117078-3091-4533-be93-098162ac2926
--- a/lisp/url/url-gw.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/url/url-gw.el	Mon Jan 01 17:38:32 2007 +0000
@@ -104,7 +104,7 @@
   :group 'url-gateway)
 
 (defcustom url-gateway-nslookup-program "nslookup"
-  "*If non-NIL then a string naming nslookup program."
+  "*If non-nil then a string naming nslookup program."
   :type '(choice (const :tag "None" :value nil) string)
   :group 'url-gateway)
 
@@ -253,7 +253,7 @@
 			  ;; Use non-blocking socket if we can.
 			  (make-network-process :name name :buffer buffer
 						:host host :service service
-						:nowait 
+						:nowait
 						(featurep 'make-network-process '(:nowait t))))
 			 (socks
 			  (socks-open-network-stream name buffer host service))
--- a/lisp/url/url-http.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/url/url-http.el	Mon Jan 01 17:38:32 2007 +0000
@@ -149,31 +149,32 @@
 	      (concat " (" (or url-system-type url-os-type) ")"))
 	     (t "")))))
 
-(defun url-http-create-request (url &optional ref-url)
-  "Create an HTTP request for URL, referred to by REF-URL."
-  (declare (special proxy-object proxy-info 
+(defun url-http-create-request (&optional ref-url)
+  "Create an HTTP request for `url-http-target-url', referred to by REF-URL."
+  (declare (special proxy-info 
 		    url-http-method url-http-data
 		    url-http-extra-headers))
+  (url-http-debug "url-proxy-object is %s\n" url-proxy-object)
   (let* ((extra-headers)
 	 (request nil)
 	 (no-cache (cdr-safe (assoc "Pragma" url-http-extra-headers)))
-	 (proxy-obj (and (boundp 'proxy-object) proxy-object))
+	 (using-proxy (not (eq url-current-object url-http-target-url)))
 	 (proxy-auth (if (or (cdr-safe (assoc "Proxy-Authorization"
 					      url-http-extra-headers))
-			     (not proxy-obj))
+			     (not using-proxy))
 			 nil
 		       (let ((url-basic-auth-storage
 			      'url-http-proxy-basic-auth-storage))
-			 (url-get-authentication url nil 'any nil))))
-	 (real-fname (concat (url-filename (or proxy-obj url))
-			     (url-recreate-url-attributes (or proxy-obj url))))
-	 (host (url-host (or proxy-obj url)))
+			 (url-get-authentication url-http-target-url nil 'any nil))))
+	 (real-fname (concat (url-filename url-http-target-url)
+			     (url-recreate-url-attributes url-http-target-url)))
+	 (host (url-host url-http-target-url))
 	 (auth (if (cdr-safe (assoc "Authorization" url-http-extra-headers))
 		   nil
 		 (url-get-authentication (or
 					  (and (boundp 'proxy-info)
 					       proxy-info)
-					  url) nil 'any nil))))
+					  url-http-target-url) nil 'any nil))))
     (if (equal "" real-fname)
 	(setq real-fname "/"))
     (setq no-cache (and no-cache (string-match "no-cache" no-cache)))
@@ -222,12 +223,12 @@
             (list
              ;; The request
              (or url-http-method "GET") " "
-             (if proxy-obj (url-recreate-url proxy-obj) real-fname)
+             (if using-proxy (url-recreate-url url-http-target-url) real-fname)
              " HTTP/" url-http-version "\r\n"
              ;; Version of MIME we speak
              "MIME-Version: 1.0\r\n"
              ;; (maybe) Try to keep the connection open
-             "Connection: " (if (or proxy-obj
+             "Connection: " (if (or using-proxy
                                     (not url-http-attempt-keepalives))
                                 "close" "keep-alive") "\r\n"
                                 ;; HTTP extensions we support
@@ -235,11 +236,11 @@
                  (format
                   "Extension: %s\r\n" url-extensions-header))
              ;; Who we want to talk to
-             (if (/= (url-port (or proxy-obj url))
+             (if (/= (url-port url-http-target-url)
                      (url-scheme-get-property
-                      (url-type (or proxy-obj url)) 'default-port))
+                      (url-type url-http-target-url) 'default-port))
                  (format
-                  "Host: %s:%d\r\n" host (url-port (or proxy-obj url)))
+                  "Host: %s:%d\r\n" host (url-port url-http-target-url))
                (format "Host: %s\r\n" host))
              ;; Who its from
              (if url-personal-mail-address
@@ -266,11 +267,11 @@
              auth
              ;; Cookies
              (url-cookie-generate-header-lines host real-fname
-                                               (equal "https" (url-type url)))
+                                               (equal "https" (url-type url-http-target-url)))
              ;; If-modified-since
              (if (and (not no-cache)
                       (member url-http-method '("GET" nil)))
-                 (let ((tm (url-is-cached (or proxy-obj url))))
+                 (let ((tm (url-is-cached url-http-target-url)))
                    (if tm
                        (concat "If-modified-since: "
                                (url-get-normalized-date tm) "\r\n"))))
@@ -1085,8 +1086,7 @@
 		    url-http-chunked-length
 		    url-http-chunked-start
 		    url-http-chunked-counter
-		    url-http-process
-		    proxy-object))
+		    url-http-process))
   (let ((connection (url-http-find-free-connection (url-host url)
 						   (url-port url)))
 	(buffer (generate-new-buffer (format " *http %s:%d*"
@@ -1122,7 +1122,6 @@
 		       url-http-data
 		       url-http-target-url))
 	  (set (make-local-variable var) nil))
-	(make-local-variable 'proxy-object)
 
 	(setq url-http-method (or url-request-method "GET")
 	      url-http-extra-headers url-request-extra-headers
@@ -1134,9 +1133,8 @@
 	      url-callback-function callback
 	      url-callback-arguments cbargs
 	      url-http-after-change-function 'url-http-wait-for-headers-change-function
-	      url-http-target-url (if (boundp 'proxy-object)
-                                      proxy-object
-                                    url-current-object))
+	      url-http-target-url (or url-proxy-object
+				      url-current-object))
 
 	(set-process-buffer connection buffer)
 	(set-process-filter connection 'url-http-generic-filter)
@@ -1151,7 +1149,7 @@
 		   (url-port url)))
 	   (t
 	    (set-process-sentinel connection 'url-http-end-of-document-sentinel)
-	    (process-send-string connection (url-http-create-request url)))))))
+	    (process-send-string connection (url-http-create-request)))))))
     buffer))
 
 (defun url-http-async-sentinel (proc why)
@@ -1162,7 +1160,7 @@
     (cond
      ((string= (substring why 0 4) "open")
       (set-process-sentinel proc 'url-http-end-of-document-sentinel)
-      (process-send-string proc (url-http-create-request url-http-target-url)))
+      (process-send-string proc (url-http-create-request)))
      (t
       (setf (car url-callback-arguments)
 	    (nconc (list :error (list 'error 'connection-failed why
--- a/lisp/url/url-proxy.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/url/url-proxy.el	Mon Jan 01 17:38:32 2007 +0000
@@ -65,12 +65,18 @@
       (url-warn 'url (format "Unknown proxy directive: %s" proxy) 'critical)
       nil))))
 
+(defvar url-proxy-object nil
+  "The URL to access through a proxy.
+This variable is bound by `url-proxy'.  If this is non-nil, the
+scheme-specific loader should use its argument as the proxy, and
+the value of this variable as the object to retrieve.")
+
 (defun url-proxy (url callback &optional cbargs)
   ;; Retrieve URL from a proxy.
   ;; Expects `url-using-proxy' to be bound to the specific proxy to use."
   (setq url-using-proxy (url-generic-parse-url url-using-proxy))
-  (let ((proxy-object (copy-sequence url)))
-    (url-set-target proxy-object nil)
+  (let ((url-proxy-object (copy-sequence url)))
+    (url-set-target url-proxy-object nil)
     (url-http url-using-proxy callback cbargs)))
 
 (provide 'url-proxy)
--- a/lisp/url/url.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/url/url.el	Mon Jan 01 17:38:32 2007 +0000
@@ -172,6 +172,7 @@
   (unless (url-type url)
     (error "Bad url: %s" (url-recreate-url url)))
   (let ((loader (url-scheme-get-property (url-type url) 'loader))
+	(url-proxy-object nil)
 	(url-using-proxy (if (url-host url)
 			     (url-find-proxy-for-url url (url-host url))))
 	(buffer nil)
--- a/lisp/userlock.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/userlock.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; userlock.el --- handle file access contention between multiple users
 
-;; Copyright (C) 1985, 1986, 2002, 2003, 2004,
+;; Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/vc-arch.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/vc-arch.el	Mon Jan 01 17:38:32 2007 +0000
@@ -406,6 +406,20 @@
 
 (defun vc-arch-init-version () nil)
 
+;;; Less obvious implementations.
+
+(defun vc-arch-find-version (file rev buffer)
+  (let ((out (make-temp-file "vc-out")))
+    (unwind-protect
+        (progn
+          (with-temp-buffer
+            (vc-arch-command (current-buffer) 1 nil "file-diffs" file rev)
+            (call-process-region (point-min) (point-max)
+                                 "patch" nil nil nil "-R" "-o" out file))
+          (with-current-buffer buffer
+            (insert-file-contents out)))
+      (delete-file out))))
+
 (provide 'vc-arch)
 
 ;; arch-tag: a35c7c1c-5237-429d-88ef-3d718fd2e704
--- a/lisp/vc-hooks.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/vc-hooks.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 ;;; vc-hooks.el --- resident support for version-control
 
-;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2002,
-;;   2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+;;   2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author:     FSF (see vc.el for full credits)
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
@@ -625,9 +625,10 @@
 a regexp for matching all such backup files, regardless of the version."
   (if regexp
       (concat (regexp-quote (file-name-nondirectory file))
-              "\\.~[0-9.]+" (unless manual "\\.") "~")
+              "\\.~.+" (unless manual "\\.") "~")
     (expand-file-name (concat (file-name-nondirectory file)
-                              ".~" (or rev (vc-workfile-version file))
+                              ".~" (subst-char-in-string
+                                    ?/ ?_ (or rev (vc-workfile-version file)))
                               (unless manual ".") "~")
                       (file-name-directory file))))
 
--- a/lisp/vcursor.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/vcursor.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; vcursor.el --- manipulate an alternative ("virtual") cursor
 
-;; Copyright (C) 1994, 1996, 1998, 2002, 2003,
+;; Copyright (C) 1994, 1996, 1998, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author:   Peter Stephenson <pws@ibmth.df.unipi.it>
--- a/lisp/vms-patch.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/vms-patch.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; vms-patch.el --- override parts of files.el for VMS
 
-;; Copyright (C) 1986, 1992, 2002, 2003, 2004,
+;; Copyright (C) 1986, 1992, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
--- a/lisp/vmsproc.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/vmsproc.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; vmsproc.el --- run asynchronous VMS subprocesses under Emacs
 
-;; Copyright (C) 1986, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Mukesh Prasad
--- a/lisp/vt-control.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/vt-control.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; vt-control.el --- Common VTxxx control functions
 
-;; Copyright (C) 1993, 1994, 2002, 2003,
+;; Copyright (C) 1993, 1994, 2001, 2002, 2003,
 ;;   2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
--- a/lisp/vt100-led.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/vt100-led.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; vt100-led.el --- functions for LED control on VT-100 terminals & clones
 
-;; Copyright (C) 1988, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Howard Gayle
--- a/lisp/w32-fns.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/w32-fns.el	Mon Jan 01 17:38:32 2007 +0000
@@ -240,28 +240,28 @@
 sure to obey the 8.3 limitations.  On Windows, turn Cygwin names
 into native names, and also turn slashes into backslashes if the
 shell requires it (see `w32-shell-dos-semantics')."
-  (let ((name
-         (save-match-data
-           (if (string-match "\\`/cygdrive/\\([a-zA-Z]\\)/" filename)
+  (save-match-data
+    (let ((name
+	   (if (string-match "\\`/cygdrive/\\([a-zA-Z]\\)/" filename)
                (replace-match "\\1:/" t nil filename)
-             (copy-sequence filename))))
-	(start 0))
-    ;; leave ':' if part of drive specifier
-    (if (and (> (length name) 1)
-	     (eq (aref name 1) ?:))
-	(setq start 2))
-    ;; destructively replace invalid filename characters with !
-    (while (string-match "[?*:<>|\"\000-\037]" name start)
-      (aset name (match-beginning 0) ?!)
-      (setq start (match-end 0)))
-    ;; convert directory separators to Windows format
-    ;; (but only if the shell in use requires it)
-    (when (w32-shell-dos-semantics)
-      (setq start 0)
-      (while (string-match "/" name start)
-	(aset name (match-beginning 0) ?\\)
-	(setq start (match-end 0))))
-    name))
+             (copy-sequence filename)))
+	  (start 0))
+      ;; leave ':' if part of drive specifier
+      (if (and (> (length name) 1)
+	       (eq (aref name 1) ?:))
+	  (setq start 2))
+      ;; destructively replace invalid filename characters with !
+      (while (string-match "[?*:<>|\"\000-\037]" name start)
+	(aset name (match-beginning 0) ?!)
+	(setq start (match-end 0)))
+      ;; convert directory separators to Windows format
+      ;; (but only if the shell in use requires it)
+      (when (w32-shell-dos-semantics)
+	(setq start 0)
+	(while (string-match "/" name start)
+	  (aset name (match-beginning 0) ?\\)
+	  (setq start (match-end 0))))
+      name)))
 
 ;;; Fix interface to (X-specific) mouse.el
 (defun x-set-selection (type data)
@@ -469,5 +469,19 @@
 	 (expand-file-name (pop command-line-args-left))))
     (batch-update-autoloads)))
 
+(defun w32-append-code-lines (orig extra)
+  "Append non-empty non-comment lines in the file EXTRA to the file ORIG.
+
+This function saves all buffers and kills the Emacs session, without asking
+for any permissions.
+
+This is required because the Windows build environment is not required
+to include Sed, which is used by leim/Makefile.in to do the job."
+  (find-file orig)
+  (goto-char (point-max))
+  (insert-file-contents extra)
+  (delete-matching-lines "^$\\|^;")
+  (save-buffers-kill-emacs t))
+
 ;;; arch-tag: c49b48cc-0f4f-454f-a274-c2dc34815e14
 ;;; w32-fns.el ends here
--- a/lisp/wdired.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/wdired.el	Mon Jan 01 17:38:32 2007 +0000
@@ -283,10 +283,13 @@
         (when (and filename
 		   (not (member (file-name-nondirectory filename) '("." ".."))))
 	  (dired-move-to-filename)
-	  (put-text-property (- (point) 2) (1- (point)) 'old-name filename)
-	  (put-text-property b-protection (1- (point)) 'read-only t)
-	  (setq b-protection (dired-move-to-end-of-filename t)))
-	(put-text-property (point) (1+ (point)) 'end-name t)
+	  ;; The rear-nonsticky property below shall ensure that text preceding
+	  ;; the filename can't be modified.
+	  (add-text-properties
+	   (1- (point)) (point) `(old-name ,filename rear-nonsticky (read-only)))
+	  (put-text-property b-protection (point) 'read-only t)
+	  (setq b-protection (dired-move-to-end-of-filename t))
+	  (put-text-property (point) (1+ (point)) 'end-name t))
         (forward-line))
       (put-text-property b-protection (point-max) 'read-only t))))
 
@@ -312,20 +315,21 @@
 non-nil means don't include directory.  Optional arg OLD with value
 non-nil means return old filename."
   ;; FIXME: Use dired-get-filename's new properties.
-  (let* ((end (line-end-position))
-         (beg (next-single-property-change
-               (line-beginning-position) 'old-name nil end)))
-    (unless (eq beg end)
-      (let ((file
-             (if old
-                 (get-text-property beg 'old-name)
-               (wdired-normalize-filename
-                (buffer-substring-no-properties
-                 (+ 2 beg) (next-single-property-change (1+ beg) 'end-name))))))
-        (if (or no-dir old)
-            file
-          (and file (> (length file) 0)
-               (concat (dired-current-directory) file)))))))
+  (let (beg end file)
+    (save-excursion
+      (setq end (line-end-position))
+      (beginning-of-line)
+      (setq beg (next-single-property-change (point) 'old-name nil end))
+      (unless (eq beg end)
+	(if old
+	    (setq file (get-text-property beg 'old-name))
+	  (setq end (next-single-property-change (1+ beg) 'end-name))
+	  (setq file (buffer-substring-no-properties (1+ beg) end)))
+	(and file (setq file (wdired-normalize-filename file))))
+      (if (or no-dir old)
+	  file
+	(and file (> (length file) 0)
+             (concat (dired-current-directory) file))))))
 
 
 (defun wdired-change-to-dired-mode ()
@@ -333,9 +337,9 @@
   (or (eq major-mode 'wdired-mode)
       (error "Not a Wdired buffer"))
   (let ((inhibit-read-only t))
-    (remove-text-properties (point-min) (point-max)
-			    '(read-only nil local-map nil)))
-  (put-text-property 1 2 'front-sticky nil)
+    (remove-text-properties
+     (point-min) (point-max)
+     '(front-sticky nil rear-nonsticky nil read-only nil keymap nil)))
   (use-local-map dired-mode-map)
   (force-mode-line-update)
   (setq buffer-read-only t)
@@ -368,46 +372,42 @@
 	(errors 0)
 	file-ori file-new tmp-value)
     (save-excursion
-      (if (and wdired-allow-to-redirect-links
-	       (fboundp 'make-symbolic-link))
-	  (progn
-	    (setq tmp-value (wdired-do-symlink-changes))
-	    (setq errors (cdr tmp-value))
-	    (setq changes (car tmp-value))))
-      (if (and wdired-allow-to-change-permissions
-	       (boundp 'wdired-col-perm)) ; could have been changed
-	  (progn
-	    (setq tmp-value (wdired-do-perm-changes))
-	    (setq errors (+ errors (cdr tmp-value)))
-	    (setq changes (or changes (car tmp-value)))))
+      (when (and wdired-allow-to-redirect-links
+		 (fboundp 'make-symbolic-link))
+	(setq tmp-value (wdired-do-symlink-changes))
+	(setq errors (cdr tmp-value))
+	(setq changes (car tmp-value)))
+      (when (and wdired-allow-to-change-permissions
+		 (boundp 'wdired-col-perm)) ; could have been changed
+	(setq tmp-value (wdired-do-perm-changes))
+	(setq errors (+ errors (cdr tmp-value)))
+	(setq changes (or changes (car tmp-value))))
       (goto-char (point-max))
       (while (not (bobp))
 	(setq file-ori (wdired-get-filename nil t))
-	(if file-ori
-	    (setq file-new (wdired-get-filename)))
-	(if (and file-ori (not (equal file-new file-ori)))
-	    (progn
-	      (setq changes t)
-	      (if (not file-new) ;empty filename!
-		  (setq files-deleted (cons file-ori files-deleted))
-		(progn
-		  (setq file-new (substitute-in-file-name file-new))
-		  (if wdired-use-interactive-rename
-		      (wdired-search-and-rename file-ori file-new)
-                    ;; If dired-rename-file autoloads dired-aux while
-                    ;; dired-backup-overwrite is locally bound,
-                    ;; dired-backup-overwrite won't be initialized.
-                    ;; So we must ensure dired-aux is loaded.
-                    (require 'dired-aux)
-		    (condition-case err
-			(let ((dired-backup-overwrite nil))
-			  (dired-rename-file file-ori file-new
-					     overwrite))
-		      (error
-		       (setq errors (1+ errors))
-		       (dired-log (concat "Rename `" file-ori "' to `"
-					  file-new "' failed:\n%s\n")
-				  err))))))))
+	(when file-ori
+	  (setq file-new (wdired-get-filename)))
+	(when (and file-ori (not (equal file-new file-ori)))
+	  (setq changes t)
+	  (if (not file-new)		;empty filename!
+	      (setq files-deleted (cons file-ori files-deleted))
+	    (setq file-new (substitute-in-file-name file-new))
+	    (if wdired-use-interactive-rename
+		(wdired-search-and-rename file-ori file-new)
+	      ;; If dired-rename-file autoloads dired-aux while
+	      ;; dired-backup-overwrite is locally bound,
+	      ;; dired-backup-overwrite won't be initialized.
+	      ;; So we must ensure dired-aux is loaded.
+	      (require 'dired-aux)
+	      (condition-case err
+		  (let ((dired-backup-overwrite nil))
+		    (dired-rename-file file-ori file-new
+				       overwrite))
+		(error
+		 (setq errors (1+ errors))
+		 (dired-log (concat "Rename `" file-ori "' to `"
+				    file-new "' failed:\n%s\n")
+			    err))))))
 	(forward-line -1)))
     (if changes
         (revert-buffer) ;The "revert" is necessary to re-sort the buffer
@@ -417,10 +417,10 @@
 					   end-link nil end-perm nil
 					   old-perm nil perm-changed nil))
 	(message "(No changes to be performed)")))
-    (if files-deleted
-        (wdired-flag-for-deletion files-deleted))
-    (if (> errors 0)
-        (dired-log-summary (format "%d rename actions failed" errors) nil)))
+    (when files-deleted
+      (wdired-flag-for-deletion files-deleted))
+    (when (> errors 0)
+      (dired-log-summary (format "%d rename actions failed" errors) nil)))
   (set-buffer-modified-p nil)
   (setq buffer-undo-list nil))
 
@@ -446,10 +446,9 @@
               (dired-do-create-files-regexp
                (function dired-rename-file)
                "Move" 1 ".*" filename-new nil t))
-          (progn
-            (forward-line -1)
-            (beginning-of-line)
-            (setq exit-while (= 1 (point)))))))))
+	  (forward-line -1)
+	  (beginning-of-line)
+	  (setq exit-while (bobp)))))))
 
 ;; marks a list of files for deletion
 (defun wdired-flag-for-deletion (filenames-ori)
@@ -518,7 +517,10 @@
 				 (1- (match-beginning 1)) 'old-link
 				 (match-string-no-properties 1))
               (put-text-property (match-end 1) (1+ (match-end 1)) 'end-link t)
-	      (put-text-property (1- (match-beginning 1))
+              (put-text-property (1- (match-beginning 1))
+				 (match-beginning 1)
+				 'rear-nonsticky '(read-only))
+	      (put-text-property (match-beginning 1)
 				 (match-end 1) 'read-only nil)))
         (forward-line)
 	(beginning-of-line)))))
@@ -527,15 +529,17 @@
 (defun wdired-get-previous-link (&optional old move)
   "Return the next symlink target.
 If OLD, return the old target.  If MOVE, move point before it."
-  (let ((beg (previous-single-property-change (point) 'old-link nil)))
-    (when beg
-      (let ((target
-             (if old
-                 (get-text-property (1- beg) 'old-link)
-               (buffer-substring-no-properties
-                (1+ beg) (next-single-property-change beg 'end-link)))))
-        (if move (goto-char (1- beg)))
-        (and target (wdired-normalize-filename target))))))
+  (let (beg end target)
+    (setq beg (previous-single-property-change (point) 'old-link nil))
+    (if beg
+	(progn
+	  (if old
+	      (setq target (get-text-property (1- beg) 'old-link))
+	    (setq end (next-single-property-change beg 'end-link))
+	    (setq target (buffer-substring-no-properties (1+ beg) end)))
+	  (if move (goto-char (1- beg)))))
+    (and target (wdired-normalize-filename target))))
+
 
 ;; Perform the changes in the target of the changed links.
 (defun wdired-do-symlink-changes ()
@@ -613,29 +617,34 @@
     (define-key map [down-mouse-1] 'wdired-mouse-toggle-bit)
     map))
 
-;; Put a local-map to the permission bits of the files, and store the
+;; Put a keymap property to the permission bits of the files, and store the
 ;; original name and permissions as a property
 (defun wdired-preprocess-perms ()
-  (let ((inhibit-read-only t)
-	filename)
+  (let ((inhibit-read-only t))
     (set (make-local-variable 'wdired-col-perm) nil)
     (save-excursion
       (goto-char (point-min))
       (while (not (eobp))
-	(if (and (not (looking-at dired-re-sym))
-		 (setq filename (wdired-get-filename)))
-	    (progn
-	      (re-search-forward dired-re-perms)
-	      (or wdired-col-perm
-		  (setq wdired-col-perm (- (current-column) 9)))
-	      (if (eq wdired-allow-to-change-permissions 'advanced)
-		  (put-text-property (match-beginning 0) (match-end 0)
-				     'read-only nil)
-		(put-text-property (1+ (match-beginning 0)) (match-end 0)
-				   'keymap wdired-perm-mode-map))
-	      (put-text-property (match-end 0) (1+ (match-end 0)) 'end-perm t)
-	      (put-text-property (match-beginning 0) (1+ (match-beginning 0))
-				 'old-perm (match-string-no-properties 0))))
+	(when (and (not (looking-at dired-re-sym))
+		   (wdired-get-filename)
+		   (re-search-forward dired-re-perms (line-end-position) 'eol))
+	  (let ((begin (match-beginning 0))
+		(end (match-end 0)))
+	    (unless wdired-col-perm
+	      (setq wdired-col-perm (- (current-column) 9)))
+	    (if (eq wdired-allow-to-change-permissions 'advanced)
+		(progn
+		  (put-text-property begin end 'read-only nil)
+		  ;; make first permission bit writable
+		  (put-text-property
+		   (1- begin) begin 'rear-nonsticky '(read-only)))
+	      ;; avoid that keymap applies to text following permissions
+	      (add-text-properties
+	       (1+ begin) end
+	       `(keymap ,wdired-perm-mode-map rear-nonsticky (keymap))))
+	    (put-text-property end (1+ end) 'end-perm t)
+	    (put-text-property
+	     begin (1+ begin) 'old-perm (match-string-no-properties 0))))
         (forward-line)
 	(beginning-of-line)))))
 
@@ -661,24 +670,27 @@
         (put-text-property 0 1 'read-only t new-bit)
         (insert new-bit)
         (delete-char 1)
-	(put-text-property pos-prop (1- pos-prop) 'perm-changed t))
+	(put-text-property (1- pos-prop) pos-prop 'perm-changed t)
+	(put-text-property (1- (point)) (point) 'rear-nonsticky '(keymap)))
     (forward-char 1)))
 
 (defun wdired-toggle-bit ()
   "Toggle the permission bit at point."
   (interactive)
   (let ((inhibit-read-only t)
-	(new-bit (cond
-                  ((not (eq (char-after (point)) ?-)) "-")
-                  ((= (% (- (current-column) wdired-col-perm) 3) 0) "r")
-                  ((= (% (- (current-column) wdired-col-perm) 3) 1) "w")
-                  (t "x")))
+	(new-bit "-")
 	(pos-prop (- (point) (- (current-column) wdired-col-perm))))
+    (if (eq (char-after (point)) ?-)
+	(setq new-bit	
+	      (if (= (% (- (current-column) wdired-col-perm) 3) 0) "r"
+		(if (= (% (- (current-column) wdired-col-perm) 3) 1) "w"
+		  "x"))))
     (put-text-property 0 1 'keymap wdired-perm-mode-map new-bit)
     (put-text-property 0 1 'read-only t new-bit)
     (insert new-bit)
     (delete-char 1)
-    (put-text-property pos-prop (1- pos-prop) 'perm-changed t)))
+    (put-text-property (1- pos-prop) pos-prop 'perm-changed t)
+    (put-text-property (1- (point)) (point) 'rear-nonsticky '(keymap))))
 
 (defun wdired-mouse-toggle-bit (event)
   "Toggle the permission bit that was left clicked."
@@ -690,28 +702,23 @@
 ;; Allowed chars for 2000 bit are Ssl in position 6
 ;; Allowed chars for 1000 bit are Tt  in position 9
 (defun wdired-perms-to-number (perms)
-  (+
-   (if (= (elt perms 1) ?-) 0 400)
-   (if (= (elt perms 2) ?-) 0 200)
-   (case (elt perms 3)
-     (?- 0)
-     (?S 4000)
-     (?s 4100)
-     (t 100))
-   (if (= (elt perms 4) ?-) 0 40)
-   (if (= (elt perms 5) ?-) 0 20)
-   (case (elt perms 6)
-     (?- 0)
-     (?S 2000)
-     (?s 2010)
-     (t 10))
-   (if (= (elt perms 7) ?-) 0 4)
-   (if (= (elt perms 8) ?-) 0 2)
-   (case (elt perms 9)
-     (?- 0)
-     (?T 1000)
-     (?t 1001)
-     (t 1))))
+  (let ((nperm 0777))
+    (if (= (elt perms 1) ?-) (setq nperm (- nperm 400)))
+    (if (= (elt perms 2) ?-) (setq nperm (- nperm 200)))
+    (let ((p-bit (elt perms 3)))
+      (if (memq p-bit '(?- ?S)) (setq nperm (- nperm 100)))
+      (if (memq p-bit '(?s ?S)) (setq nperm (+ nperm 4000))))
+    (if (= (elt perms 4) ?-) (setq nperm (- nperm 40)))
+    (if (= (elt perms 5) ?-) (setq nperm (- nperm 20)))
+    (let ((p-bit (elt perms 6)))
+      (if (memq p-bit '(?- ?S ?l)) (setq nperm (- nperm 10)))
+      (if (memq p-bit '(?s ?S ?l)) (setq nperm (+ nperm 2000))))
+    (if (= (elt perms 7) ?-) (setq nperm (- nperm 4)))
+    (if (= (elt perms 8) ?-) (setq nperm (- nperm 2)))
+    (let ((p-bit (elt perms 9)))
+      (if (memq p-bit '(?- ?T)) (setq nperm (- nperm 1)))
+      (if (memq p-bit '(?t ?T)) (setq nperm (+ nperm 1000))))
+    nperm))
 
 ;; Perform the changes in the permissions of the files that have
 ;; changed.
--- a/lisp/whitespace.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/whitespace.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; whitespace.el --- warn about and clean bogus whitespaces in the file
 
-;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Rajesh Vaidheeswarran <rv@gnu.org>
@@ -571,7 +571,7 @@
 
 	;; Call this recursively till everything is taken care of
 	(if whitespace-any
-	    (whitespace-cleanup-internal)
+	    (whitespace-cleanup-internal region-only)
 	  ;; if we are done, talk to the user
 	  (progn
 	    (unless whitespace-silent
--- a/lisp/wid-browse.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/wid-browse.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; wid-browse.el --- functions for browsing widgets
 ;;
-;; Copyright (C) 1997, 2002, 2003, 2004, 2005,
+;; Copyright (C) 1997, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
--- a/lisp/widget.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/widget.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; widget.el --- a library of user interface components
 ;;
-;; Copyright (C) 1996, 1997, 2002, 2003, 2004,
+;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
--- a/lisp/windmove.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/windmove.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; windmove.el --- directional window-selection routines
 ;;
-;; Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004,
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006 Free Software Foundation, Inc.
 ;;
 ;; Author: Hovav Shacham (hovav@cs.stanford.edu)
--- a/lisp/woman.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/lisp/woman.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; woman.el --- browse UN*X manual pages `wo (without) man'
 
-;; Copyright (C) 2000, 2002, 2003, 2004, 2005,
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005,
 ;;   2006 Free Software Foundation, Inc.
 
 ;; Author: Francis J. Wright <F.J.Wright@qmul.ac.uk>
@@ -2102,6 +2102,18 @@
   (interactive)				; mainly for testing
   (WoMan-log-begin)
   (run-hooks 'woman-pre-format-hook)
+
+  ;; look for macro sets that woman cannot handle:
+  (goto-char (point-min))
+  (let ((case-fold-search nil))
+    (unless (and (re-search-forward "^\\.SH[ \n]" (point-max) t)
+		 (progn (goto-char (point-min))
+			(re-search-forward "^\\.TH[ \n]" (point-max) t))
+		 (progn (goto-char (point-min))
+			(not (re-search-forward "^\\.\\([pnil]p\\|sh\\)[ \n]"
+						(point-max) t))))
+      (error "WoMan can only format manpages written in the an format")))
+
   (and (boundp 'font-lock-mode) font-lock-mode (font-lock-mode -1))
   ;; (fundamental-mode)
   (let ((start-time (current-time))	; (HIGH LOW MICROSEC)
--- a/lispref/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,96 @@
+2006-12-30  Kim F. Storm  <storm@cua.dk>
+
+	* keymaps.texi (Tool Bar): Describe `grow-only' value of
+	`auto-resize-tool-bars'.
+
+2006-12-30  Richard Stallman  <rms@gnu.org>
+
+	* keymaps.texi (Active Keymaps): Fix previous change.
+
+2006-12-30  Nick Roberts  <nickrob@snap.net.nz>
+
+	* keymaps.texi (Active Keymaps): Make xref to lookup-key.
+
+2006-12-30  Kim F. Storm  <storm@cua.dk>
+
+	* processes.texi (Bindat Spec): Clarify using field names in
+	length specifications.
+
+2006-12-29  Kim F. Storm  <storm@cua.dk>
+
+	* processes.texi (Bindat Spec): Explain eval forms and lengths better.
+	Add count and index variables for eval forms in repeat blocks.
+
+2006-12-24  Richard Stallman  <rms@gnu.org>
+
+	* customize.texi (Variable Definitions): Document
+	new name custom-add-frequent-value.
+
+2006-12-19  Kim F. Storm  <storm@cua.dk>
+
+	* commands.texi (Misc Events): User signals now result in sigusr1
+	and sigusr2 events which are handled through special-event-map.
+	(Special Events): User signals and drag-n-drop are special.
+
+2006-12-17  Richard Stallman  <rms@gnu.org>
+
+	* loading.texi (Named Features): Explain subfeatures better.
+
+	* customize.texi: Use "option" only for user options.
+	For the keyword values inside defcustom etc, say "keywords".
+	For :options value's elements, say "elements".
+	:group should not be omitted.
+
+	* syntax.texi (Parsing Expressions): Split up node.
+	(Motion via Parsing, Position Parse, Parser State)
+	(Low-Level Parsing, Control Parsing): New subnodes.
+	(Parser State): Document syntax-ppss-toplevel-pos.
+
+	* positions.texi (List Motion): Punctuation fix.
+
+	* files.texi (File Name Completion): Document PREDICATE arg
+	to file-name-completion.
+
+2006-12-16  Eli Zaretskii  <eliz@gnu.org>
+
+	* internals.texi (Building Emacs, Writing Emacs Primitives): Add
+	index entries.
+
+2006-12-11  Richard Stallman  <rms@gnu.org>
+
+	* modes.texi (Font Lock Basics): Explain how nil for font-lock-defaults
+	affects face menu.  Explain how to make it non-nil without enabling
+	any fontification.
+
+2006-12-10  Chong Yidong  <cyd@stupidchicken.com>
+
+	* modes.texi (Font Lock Basics): Document nil value of
+	font-lock-defaults.
+
+2006-12-10  Glenn Morris  <rgm@gnu.org>
+
+	* abbrevs.texi (Defining Abbrevs): Mention `define-abbrev' 'force
+	value for system-flag argument.  Abbrev tables may not be empty
+	when major modes are loaded.
+
+2006-12-08  Juanma Barranquero  <lekktu@gmail.com>
+
+	* makefile.w32-in (maintainer-clean): Partially revert last
+	change; delete "elisp-?" and "elisp-??" instead of "elisp-*"
+	to protect elisp-covers.texi.
+
+2006-12-07  Juanma Barranquero  <lekktu@gmail.com>
+
+	* makefile.w32-in (maintainer-clean): Depend on `distclean'.
+	Don't remove elisp* info files; they are already deleted by the
+	`clean' and `distclean' targets, and they are in the $(infodir)
+	directory, not the current one.
+
+2006-12-04  Kim F. Storm  <storm@cua.dk>
+
+	* commands.texi (Misc Events): Update signal events.
+	(Event Examples): Add signal example.
+
 2006-11-29  Richard Stallman  <rms@gnu.org>
 
 	* frames.texi (Visibility of Frames): Explain visible windows
@@ -360,7 +453,7 @@
 
 2006-07-31  Nick Roberts  <nickrob@snap.net.nz>
 
-	* modes.texi (Minor Mode Conventions): Update link for add-to-list.
+	* modes.texi (Minor Mode Conventions): Update xref for add-to-list.
 
 	* lists.texi (Sets And Lists): Likewise.
 
--- a/lispref/abbrevs.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/abbrevs.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -131,9 +131,12 @@
 @comment  node-name,  next,  previous,  up
 @section Defining Abbrevs
   @code{define-abbrev} is the low-level basic function for defining an
-abbrev in a specified abbrev table.  When major modes predefine
-standard abbrevs, they should call @code{define-abbrev} and specify
-@code{t} for @var{system-flag}.
+abbrev in a specified abbrev table.  When major modes predefine standard
+abbrevs, they should call @code{define-abbrev} and specify @code{t} for
+@var{system-flag}.  Be aware that any saved non-``system'' abbrevs are
+restored at startup, i.e. before some major modes are loaded.  Major modes
+should therefore not assume that when they are first loaded their abbrev
+tables are empty.
 
 @defun define-abbrev table name expansion &optional hook count system-flag
 This function defines an abbrev named @var{name}, in @var{table}, to
@@ -165,7 +168,10 @@
 if expansion had not really occurred.
 
 If @var{system-flag} is non-@code{nil}, that marks the abbrev as a
-``system'' abbrev with the @code{system-type} property.
+``system'' abbrev with the @code{system-type} property.  Unless
+@var{system-flag} has the value @code{force}, a ``system'' abbrev will
+not overwrite an existing definition for a non-``system'' abbrev of the
+same name.
 
 Normally the function @code{define-abbrev} sets the variable
 @code{abbrevs-changed} to @code{t}, if it actually changes the abbrev.
--- a/lispref/commands.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/commands.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -1586,13 +1586,33 @@
 parameters are used to display the help-echo text are described in
 @ref{Text help-echo}.
 
-@cindex @code{usr1-signal} event
-@cindex @code{usr2-signal} event
-@item usr1-signal
-@itemx usr2-signal
-These events are generated when the Emacs process receives the signals
-@code{SIGUSR1} and @code{SIGUSR2}.  They contain no additional data
-because signals do not carry additional information.
+@cindex @code{sigusr1} event
+@cindex @code{sigusr2} event
+@cindex user signals
+@item sigusr1
+@itemx sigusr2
+These events are generated when the Emacs process receives
+the signals @code{SIGUSR1} and @code{SIGUSR2}.  They contain no
+additional data because signals do not carry additional information.
+
+To catch a user signal, bind the corresponding event to an interactive
+command in the @code{special-event-map} (@pxref{Active Keymaps}).
+The command is called with no arguments, and the specific signal event is
+available in @code{last-input-event}.  For example:
+
+@example
+(defun sigusr-handler ()
+  (interactive)
+  (message "Caught signal %S" last-input-event))
+
+(define-key special-event-map [sigusr1] 'sigusr-handler)
+@end example
+
+To test the signal handler, you can make Emacs send a signal to itself:
+
+@example
+(signal-process (emacs-pid) 'sigusr1)
+@end example
 @end table
 
   If one of these events arrives in the middle of a key sequence---that
@@ -1632,6 +1652,16 @@
                    -453816))
 @end smallexample
 
+To handle a SIGUSR1 signal, define an interactive function, and
+bind it to the @code{signal usr1} event sequence:
+
+@smallexample
+(defun usr1-handler ()
+  (interactive)
+  (message "Got USR1 signal"))
+(global-set-key [signal usr1] 'usr1-handler)
+@end smallexample
+
 @node Classifying Events
 @subsection Classifying Events
 @cindex event type
@@ -2623,8 +2653,9 @@
 after they are read, and this is the way for the event's definition to
 find the actual event.
 
-The events types @code{iconify-frame}, @code{make-frame-visible} and
-@code{delete-frame} are normally handled in this way.  The keymap which
+The events types @code{iconify-frame}, @code{make-frame-visible},
+@code{delete-frame}, @code{drag-n-drop}, and user signals like
+@code{sigusr1} are normally handled in this way.  The keymap which
 defines how to handle special events---and which events are special---is
 in the variable @code{special-event-map} (@pxref{Active Keymaps}).
 
--- a/lispref/customize.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/customize.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -135,13 +135,13 @@
 
 @item :version @var{version}
 @kindex version@r{, customization keyword}
-This option specifies that the item was first introduced in Emacs
+This keyword specifies that the item was first introduced in Emacs
 version @var{version}, or that its default value was changed in that
 version.  The value @var{version} must be a string.
 
 @item :package-version '(@var{package} . @var{version})
 @kindex package-version@r{, customization keyword}
-This option specifies that the item was first introduced in
+This keyword specifies that the item was first introduced in
 @var{package} version @var{version}, or that its meaning or default
 value was changed in that version.  The value of @var{package} is a
 symbol and @var{version} is a string.
@@ -289,7 +289,9 @@
 @var{standard}, because they are not expanded when editing the value,
 so list values will appear to have the wrong structure.
 
-If you specify the @code{:set} option, to make the variable take other
+Every @code{defcustom} should specify @code{:group} at least once.
+
+If you specify the @code{:set} keyword, to make the variable take other
 special actions when set through the customization buffer, the
 variable's documentation string should tell the user specifically how
 to do the same job in hand-written Lisp code.
@@ -309,9 +311,9 @@
 values are legitimate, and how to display the value.
 @xref{Customization Types}, for more information.
 
-@item :options @var{list}
+@item :options @var{value-list}
 @kindex options@r{, @code{defcustom} keyword}
-Specify @var{list} as the list of reasonable values for use in this
+Specify the list of reasonable values for use in this
 option.  The user is not restricted to using only these values, but they
 are offered as convenient alternatives.
 
@@ -399,7 +401,7 @@
 those other variables already have their intended values.
 @end table
 
-  The @code{:require} option is useful for an option that turns on the
+  The @code{:require} keyword is useful for an option that turns on the
 operation of a certain feature.  Assuming that the package is coded to
 check the value of the option, you still need to arrange for the package
 to be loaded.  You can do that with @code{:require}.  @xref{Common
@@ -413,25 +415,26 @@
   :group 'save-place)
 @end example
 
-If a customization item has a type such as @code{hook} or @code{alist},
-which supports @code{:options}, you can add additional options to the
-item, outside the @code{defcustom} declaration, by calling
-@code{custom-add-option}.  For example, if you define a function
-@code{my-lisp-mode-initialization} intended to be called from
+If a customization item has a type such as @code{hook} or
+@code{alist}, which supports @code{:options}, you can add additional
+values to the list from outside the @code{defcustom} declaration by
+calling @code{custom-add-frequent-value}.  For example, if you define a
+function @code{my-lisp-mode-initialization} intended to be called from
 @code{emacs-lisp-mode-hook}, you might want to add that to the list of
-options for @code{emacs-lisp-mode-hook}, but not by editing its
-definition.   You can do it thus:
+reasonable values for @code{emacs-lisp-mode-hook}, but not by editing
+its definition.  You can do it thus:
 
 @example
-(custom-add-option 'emacs-lisp-mode-hook
-                   'my-lisp-mode-initialization)
+(custom-add-frequent-value 'emacs-lisp-mode-hook
+   'my-lisp-mode-initialization)
 @end example
 
-@defun custom-add-option symbol option
-To the customization @var{symbol}, add @var{option}.
+@defun custom-add-frequent-value symbol value
+For the customization option @var{symbol}, add @var{value} to the
+list of reasonable values.
 
-The precise effect of adding @var{option} depends on the customization
-type of @var{symbol}.
+The precise effect of adding a value depends on the customization type
+of @var{symbol}.
 @end defun
 
 Internally, @code{defcustom} uses the symbol property
@@ -567,9 +570,9 @@
 pair from the alist.  The user will not be able to edit the keys
 specified by the @code{:options} keyword argument.
 
-The argument to the @code{:options} keywords should be a list of option
-specifications.  Ordinarily, the options are simply atoms, which are the
-specified keys.  For example:
+The argument to the @code{:options} keywords should be a list of
+specifications for reasonable keys in the alist.  Ordinarily, they are
+simply atoms, which stand for themselves as.  For example:
 
 @smallexample
 :options '("foo" "bar" "baz")
@@ -579,11 +582,11 @@
 specifies that there are three ``known'' keys, namely @code{"foo"},
 @code{"bar"} and @code{"baz"}, which will always be shown first.
 
-You may want to restrict the value type for specific keys, for example,
-the value associated with the @code{"bar"} key can only be an integer.
-You can specify this by using a list instead of an atom in the option
-specification.  The first element will specify the key, like before,
-while the second element will specify the value type.
+You may want to restrict the value type for specific keys, for
+example, the value associated with the @code{"bar"} key can only be an
+integer.  You can specify this by using a list instead of an atom in
+the list.  The first element will specify the key, like before, while
+the second element will specify the value type.  For example:
 
 @smallexample
 :options '("foo" ("bar" integer) "baz")
--- a/lispref/elisp.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/elisp.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -7,7 +7,7 @@
 @c Version of the manual and of Emacs.
 @c Please remember to update the edition number in README as well.
 @set VERSION  2.9
-@set EMACSVER 22.0.91
+@set EMACSVER 22.0.92
 
 @dircategory Emacs
 @direntry
--- a/lispref/files.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/files.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -2232,10 +2232,13 @@
 @end example
 @end defun
 
-@defun file-name-completion filename directory
+@defun file-name-completion filename directory &optional predicate
 This function completes the file name @var{filename} in directory
 @var{directory}.  It returns the longest prefix common to all file names
-in directory @var{directory} that start with @var{filename}.
+in directory @var{directory} that start with @var{filename}.  If
+@var{predicate} is non-@code{nil} then it ignores possible completions
+that don't satisfy @var{predicate}, after calling that function
+with one argument, the expanded absolute file name.
 
 If only one match exists and @var{filename} matches it exactly, the
 function returns @code{t}.  The function returns @code{nil} if directory
--- a/lispref/internals.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/internals.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -44,6 +44,7 @@
 environment, resulting in an Emacs that is still impure but no longer
 bare.
 
+@cindex dumping Emacs
   It takes a substantial time to load the standard Lisp files.  Luckily,
 you don't have to do this each time you run Emacs; @file{temacs} can
 dump out an executable program called @file{emacs} that has these files
@@ -86,6 +87,7 @@
 Snarf-documentation,, Accessing Documentation}).
 
 @cindex @file{site-init.el}
+@cindex preloading additional functions and variables
   You can specify other Lisp expressions to execute just before dumping
 by putting them in a library named @file{site-init.el}.  This file is
 executed after the documentation strings are found.
@@ -491,6 +493,7 @@
 @node Writing Emacs Primitives
 @appendixsec Writing Emacs Primitives
 @cindex primitive function internals
+@cindex writing Emacs primitives
 
   Lisp primitives are Lisp functions implemented in C.  The details of
 interfacing the C function so that Lisp can call it are handled by a few
@@ -539,6 +542,7 @@
 @end group
 @end smallexample
 
+@cindex @code{DEFUN}, C macro to define Lisp primitives
   Let's start with a precise explanation of the arguments to the
 @code{DEFUN} macro.  Here is a template for them:
 
@@ -619,6 +623,8 @@
 arguments, and the second is the address of a block containing their
 values.  They have types @code{int} and @w{@code{Lisp_Object *}}.
 
+@cindex @code{GCPRO} and @code{UNGCPRO}
+@cindex protect C variables from garbage collection
   Within the function @code{For} itself, note the use of the macros
 @code{GCPRO1} and @code{UNGCPRO}.  @code{GCPRO1} is used to
 ``protect'' a variable from garbage collection---to inform the garbage
@@ -672,6 +678,7 @@
 declared static in a place that becomes read-only after dumping, whether
 they have initializers or not.)
 
+@cindex @code{defsubr}, Lisp symbol for a primitive
   Defining the C function is not enough to make a Lisp primitive
 available; you must also create the Lisp symbol for the primitive and
 store a suitable subr object in its function cell.  The code looks like
@@ -696,6 +703,8 @@
 
 @anchor{Defining Lisp variables in C}
 @vindex byte-boolean-vars
+@cindex defining Lisp variables in C
+@cindex @code{DEFVAR_INT}, @code{DEFVAR_LISP}, @code{DEFVAR_BOOL}
   The function @code{syms_of_@var{filename}} is also the place to define
 any C variables that are to be visible as Lisp variables.
 @code{DEFVAR_LISP} makes a C variable of type @code{Lisp_Object} visible
@@ -706,6 +715,7 @@
 defined with @code{DEFVAR_BOOL} are automatically added to the list
 @code{byte-boolean-vars} used by the byte compiler.
 
+@cindex @code{staticpro}, protect file-scope variables from GC
   If you define a file-scope C variable of type @code{Lisp_Object},
 you must protect it from garbage-collection by calling @code{staticpro}
 in @code{syms_of_@var{filename}}, like this:
--- a/lispref/keymaps.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/keymaps.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -669,7 +669,7 @@
 undefined in the keymaps.
 
 The argument @var{accept-defaults} controls checking for default
-bindings, as in @code{lookup-key} (above).
+bindings, as in @code{lookup-key} (@pxref{Functions for Key Lookup}).
 
 When commands are remapped (@pxref{Remapping Commands}),
 @code{key-binding} normally processes command remappings so as to
@@ -2540,6 +2540,11 @@
 @code{auto-resize-tool-bars} is non-@code{nil}, the tool bar expands and
 contracts automatically as needed to hold the specified contents.
 
+  If the value of @code{auto-resize-tool-bars} is @code{grow-only},
+the tool bar expands automatically, but does not contract automatically.
+To contract the tool bar, the user has to redraw the frame by entering
+@kbd{C-l}.
+
   The tool bar contents are controlled by a menu keymap attached to a
 fake ``function key'' called @code{tool-bar} (much like the way the menu
 bar is controlled).  So you define a tool bar item using
@@ -2667,6 +2672,10 @@
 If this variable is non-@code{nil}, the tool bar automatically resizes to
 show all defined tool bar items---but not larger than a quarter of the
 frame's height.
+
+If the value is @code{grow-only}, the tool bar expands automatically,
+but does not contract automatically.  To contract the tool bar, the
+user has to redraw the frame by entering @kbd{C-l}.
 @end defvar
 
 @defvar auto-raise-tool-bar-buttons
--- a/lispref/loading.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/loading.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -726,8 +726,14 @@
 @var{feature}.
 
 If provided, @var{subfeatures} should be a list of symbols indicating
-a set of specific subfeatures provided by this version of @var{feature}.
-You can test the presence of a subfeature using @code{featurep}.
+a set of specific subfeatures provided by this version of
+@var{feature}.  You can test the presence of a subfeature using
+@code{featurep}.  The idea of subfeatures is that you use them when a
+package (which is one @var{feature}) is complex enough to make it
+useful to give names to various parts or functionalities of the
+package, which might or might not be loaded, or might or might not be
+present in a given version.  @xref{Network Feature Testing}, for
+an example.
 
 @smallexample
 features
--- a/lispref/makefile.w32-in	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/makefile.w32-in	Mon Jan 01 17:38:32 2007 +0000
@@ -119,5 +119,5 @@
 
 distclean: clean
 
-maintainer-clean: clean
-	- $(DEL) elisp elisp-* elisp.dvi elisp.oaux
+maintainer-clean: distclean
+	- $(DEL) elisp elisp-? elisp-?? elisp.dvi elisp.oaux
--- a/lispref/modes.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/modes.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -2358,7 +2358,12 @@
 @defvar font-lock-defaults
 This variable is set by major modes, as a buffer-local variable, to
 specify how to fontify text in that mode.  It automatically becomes
-buffer-local when you set it.  The value should look like this:
+buffer-local when you set it.  If its value is @code{nil}, Font-Lock
+mode does no highlighting, and you can use the @samp{Faces} menu
+(under @samp{Edit} and then @samp{Text Properties} in the menu bar) to
+assign faces explicitly to text in the buffer.
+
+If non-@code{nil}, the value should look like this:
 
 @example
 (@var{keywords} [@var{keywords-only} [@var{case-fold}
@@ -2374,9 +2379,10 @@
 symbol how to do level 2, and so on.  @xref{Levels of Font Lock}.
 
 The second element, @var{keywords-only}, specifies the value of the
-variable @code{font-lock-keywords-only}.  If this is non-@code{nil},
-syntactic fontification (of strings and comments) is not performed.
-@xref{Syntactic Font Lock}.
+variable @code{font-lock-keywords-only}.  If this is omitted or
+@code{nil}, syntactic fontification (of strings and comments) is also
+performed.  If this is non-@code{nil}, such fontification is not
+performed.  @xref{Syntactic Font Lock}.
 
 The third element, @var{case-fold}, specifies the value of
 @code{font-lock-keywords-case-fold-search}.  If it is non-@code{nil},
@@ -2403,6 +2409,13 @@
 elements.  @xref{Other Font Lock Variables}.
 @end defvar
 
+  If your mode fontifies text explicitly by adding
+@code{font-lock-face} properties, it can specify @code{(nil t)} for
+@code{font-lock-defaults} to turn off all automatic fontification.
+However, this is not required; it is possible to fontify some things
+using @code{font-lock-face} properties and set up automatic
+fontification for other parts of the text.
+
 @node Search-based Fontification
 @subsection Search-based Fontification
 
--- a/lispref/positions.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/positions.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -677,7 +677,7 @@
 @deffn Command forward-sexp &optional arg
 This function moves forward across @var{arg} (default 1) balanced expressions.
 Balanced expressions include both those delimited by parentheses and
-other kinds, such as words and string constants
+other kinds, such as words and string constants.
 @xref{Parsing Expressions}.  For example,
 
 @example
--- a/lispref/processes.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/processes.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -2144,7 +2144,7 @@
 String of length @var{len}.
 
 @item strz @var{len}
-Zero-terminated string of length @var{len}.
+Zero-terminated string, in a fixed-size field with length @var{len}.
 
 @item vec @var{len}
 Vector of @var{len} bytes.
@@ -2166,6 +2166,16 @@
 above-listed type specifications.
 @end table
 
+For a fixed-size field, the length @var{len} is given as an integer
+specifying the number of bytes in the field.
+
+When the length of a field is not fixed, it typically depends on the
+value of a preceding field.  In this case, the length @var{len} can be
+given either as a list @code{(@var{name} ...)} identifying a
+@dfn{field name} in the format specified for @code{bindat-get-field}
+below, or by an expression @code{(eval @var{form})} where @var{form}
+should evaluate to an integer, specifying the field length.
+
 A field specification generally has the form @code{([@var{name}]
 @var{handler})}.  The square braces indicate that @var{name} is
 optional.  (Don't use names that are symbols meaningful as type
@@ -2184,21 +2194,6 @@
 @item eval @var{form}
 Evaluate @var{form}, a Lisp expression, for side-effect only.  If the
 field name is specified, the value is bound to that field name.
-@var{form} can access and update these dynamically bound variables:
-
-@table @code
-@item bindat-raw
-The data as a byte array.
-
-@item bindat-idx
-Current index into bindat-raw of the unpacking or packing operation.
-
-@item struct
-Alist.
-
-@item last
-Value of the last field processed.
-@end table
 
 @item fill @var{len}
 Skip @var{len} bytes.  In packing, this leaves them unchanged,
@@ -2235,9 +2230,37 @@
 @item repeat @var{count} @var{field-specs}@dots{}
 Process the @var{field-specs} recursively, in order, then repeat
 starting from the first one, processing all the specs @var{count}
-times overall.  @var{count} may be an integer, or a list of one
-element that names a previous field.  For correct operation, each spec
-in @var{field-specs} must include a name.
+times overall.  The @var{count} is given using the same formats as a
+field length---if an @code{eval} form is used, it is evaluated just once.
+For correct operation, each spec in @var{field-specs} must include a name.
+@end table
+
+For the @code{(eval @var{form})} forms used in a bindat specification,
+the @var{form} can access and update these dynamically bound variables
+during evaluation:
+
+@table @code
+@item last
+Value of the last field processed.
+
+@item bindat-raw
+The data as a byte array.
+
+@item bindat-idx
+Current index into bindat-raw of the unpacking or packing operation.
+
+@item struct
+The alist containing the structured data that have been unpacked so
+far, or the entire structure being packed.  You can use
+@code{bindat-get-field} to access specific fields of this structure.
+
+@item count
+@itemx index
+Inside a @code{repeat} block, these contain the maximum number of
+repetitions (as specified by the @var{count} parameter), and the
+current repetition number (counting from 0).  Setting @code{count} to
+zero will terminate the inner-most repeat block after the current
+repetition has completed.
 @end table
 
 @node Bindat Functions
--- a/lispref/syntax.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/lispref/syntax.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -597,26 +597,26 @@
 @end defun
 
 @node Parsing Expressions
-@section Parsing Balanced Expressions
+@section Parsing Expressions
 
-  Here are several functions for parsing and scanning balanced
+  This section describes functions for parsing and scanning balanced
 expressions, also known as @dfn{sexps}.  Basically, a sexp is either a
-balanced parenthetical grouping, or a symbol name (a sequence of
-characters whose syntax is either word constituent or symbol
-constituent).  However, characters whose syntax is expression prefix
-are treated as part of the sexp if they appear next to it.
+balanced parenthetical grouping, a string, or a symbol name (a
+sequence of characters whose syntax is either word constituent or
+symbol constituent).  However, characters whose syntax is expression
+prefix are treated as part of the sexp if they appear next to it.
 
   The syntax table controls the interpretation of characters, so these
 functions can be used for Lisp expressions when in Lisp mode and for C
 expressions when in C mode.  @xref{List Motion}, for convenient
 higher-level functions for moving over balanced expressions.
 
-  A syntax table only describes how each character changes the state
-of the parser, rather than describing the state itself.  For example,
-a string delimiter character toggles the parser state between
-``in-string'' and ``in-code'' but the characters inside the string do
-not have any particular syntax to identify them as such.  For example
-(note that 15 is the syntax code for generic string delimiters),
+  A character's syntax controls how it changes the state of the
+parser, rather than describing the state itself.  For example, a
+string delimiter character toggles the parser state between
+``in-string'' and ``in-code,'' but the syntax of characters does not
+directly say whether they are inside a string.  For example (note that
+15 is the syntax code for generic string delimiters),
 
 @example
 (put-text-property 1 9 'syntax-table '(15 . nil))
@@ -627,46 +627,128 @@
 are a string, but rather that they are all string delimiters.  As a
 result, Emacs treats them as four consecutive empty string constants.
 
-  Every time you use the parser, you specify it a starting state as
-well as a starting position.  If you omit the starting state, the
-default is ``top level in parenthesis structure,'' as it would be at
-the beginning of a function definition.  (This is the case for
-@code{forward-sexp}, which blindly assumes that the starting point is
-in such a state.)
+@menu
+* Motion via Parsing::       Motion functions that work by parsing.
+* Position Parse::           Determining the syntactic state of a position.
+* Parser State::             How Emacs represents a syntactic state.
+* Low-Level Parsing::        Parsing across a specified region.
+* Control Parsing::          Parameters that affect parsing.
+@end menu
+
+@node Motion via Parsing
+@subsection Motion Commands Based on Parsing
+
+  This section describes simple point-motion functions that operate
+based on parsing expressions.
+
+@defun scan-lists from count depth
+This function scans forward @var{count} balanced parenthetical groupings
+from position @var{from}.  It returns the position where the scan stops.
+If @var{count} is negative, the scan moves backwards.
+
+If @var{depth} is nonzero, parenthesis depth counting begins from that
+value.  The only candidates for stopping are places where the depth in
+parentheses becomes zero; @code{scan-lists} counts @var{count} such
+places and then stops.  Thus, a positive value for @var{depth} means go
+out @var{depth} levels of parenthesis.
+
+Scanning ignores comments if @code{parse-sexp-ignore-comments} is
+non-@code{nil}.
 
-@defun parse-partial-sexp start limit &optional target-depth stop-before state stop-comment
-This function parses a sexp in the current buffer starting at
-@var{start}, not scanning past @var{limit}.  It stops at position
-@var{limit} or when certain criteria described below are met, and sets
-point to the location where parsing stops.  It returns a value
-describing the status of the parse at the point where it stops.
+If the scan reaches the beginning or end of the buffer (or its
+accessible portion), and the depth is not zero, an error is signaled.
+If the depth is zero but the count is not used up, @code{nil} is
+returned.
+@end defun
+
+@defun scan-sexps from count
+This function scans forward @var{count} sexps from position @var{from}.
+It returns the position where the scan stops.  If @var{count} is
+negative, the scan moves backwards.
+
+Scanning ignores comments if @code{parse-sexp-ignore-comments} is
+non-@code{nil}.
 
-If @var{state} is @code{nil}, @var{start} is assumed to be at the top
-level of parenthesis structure, such as the beginning of a function
-definition.  Alternatively, you might wish to resume parsing in the
-middle of the structure.  To do this, you must provide a @var{state}
-argument that describes the initial status of parsing.
+If the scan reaches the beginning or end of (the accessible part of) the
+buffer while in the middle of a parenthetical grouping, an error is
+signaled.  If it reaches the beginning or end between groupings but
+before count is used up, @code{nil} is returned.
+@end defun
+
+@defun forward-comment count
+This function moves point forward across @var{count} complete comments
+     (that is, including the starting delimiter and the terminating
+delimiter if any), plus any whitespace encountered on the way.  It
+moves backward if @var{count} is negative.  If it encounters anything
+other than a comment or whitespace, it stops, leaving point at the
+place where it stopped.  This includes (for instance) finding the end
+of a comment when moving forward and expecting the beginning of one.
+The function also stops immediately after moving over the specified
+number of complete comments.  If @var{count} comments are found as
+expected, with nothing except whitespace between them, it returns
+@code{t}; otherwise it returns @code{nil}.
 
-@cindex parenthesis depth
-If the third argument @var{target-depth} is non-@code{nil}, parsing
-stops if the depth in parentheses becomes equal to @var{target-depth}.
-The depth starts at 0, or at whatever is given in @var{state}.
+This function cannot tell whether the ``comments'' it traverses are
+embedded within a string.  If they look like comments, it treats them
+as comments.
+@end defun
+
+To move forward over all comments and whitespace following point, use
+@code{(forward-comment (buffer-size))}.  @code{(buffer-size)} is a good
+argument to use, because the number of comments in the buffer cannot
+exceed that many.
+
+@node Position Parse
+@subsection Finding the Parse State for a Position
+
+  For syntactic analysis, such as in indentation, often the useful
+thing is to compute the syntactic state corresponding to a given buffer
+position.  This function does that conveniently.
+
+@defun syntax-ppss &optional pos
+This function returns the parser state (see next section) that the
+parser would reach at position @var{pos} starting from the beginning
+of the buffer.  This is equivalent to @code{(parse-partial-sexp
+(point-min) @var{pos})}, except that @code{syntax-ppss} uses a cache
+to speed up the computation.  Due to this optimization, the 2nd value
+(previous complete subexpression) and 6th value (minimum parenthesis
+depth) of the returned parser state are not meaningful.
+@end defun
 
-If the fourth argument @var{stop-before} is non-@code{nil}, parsing
-stops when it comes to any character that starts a sexp.  If
-@var{stop-comment} is non-@code{nil}, parsing stops when it comes to the
-start of a comment.  If @var{stop-comment} is the symbol
-@code{syntax-table}, parsing stops after the start of a comment or a
-string, or the end of a comment or a string, whichever comes first.
+   @code{syntax-ppss} automatically hooks itself to
+@code{before-change-functions} to keep its cache consistent.  But
+updating can fail if @code{syntax-ppss} is called while
+@code{before-change-functions} is temporarily let-bound, or if the
+buffer is modified without obeying the hook, such as when using
+@code{inhibit-modification-hooks}.  For this reason, it is sometimes
+necessary to flush the cache manually.
+
+@defun syntax-ppss-flush-cache beg
+This function flushes the cache used by @code{syntax-ppss}, starting at
+position @var{beg}.
+@end defun
+
+  Major modes can make @code{syntax-ppss} run faster by specifying
+where it needs to start parsing.
 
-@cindex parse state
-The fifth argument @var{state} is a ten-element list of the same form
-as the value of this function, described below.  The return value of
-one call may be used to initialize the state of the parse on another
-call to @code{parse-partial-sexp}.
+@defvar syntax-begin-function
+If this is non-@code{nil}, it should be a function that moves to an
+earlier buffer position where the parser state is equivalent to
+@code{nil}---in other words, a position outside of any comment,
+string, or parenthesis.  @code{syntax-ppss} uses it to further
+optimize its computations, when the cache gives no help.
+@end defvar
 
-The result is a list of ten elements describing the final state of
-the parse:
+@node Parser State
+@subsection Parser State
+@cindex parser state
+
+  A @dfn{parser state} is a list of ten elements describing the final
+state of parsing text syntactically as part of an expression.  The
+parsing functions in the following sections return a parser state as
+the value, and in some cases accept one as an argument also, so that
+you can resume parsing after it stops.  Here are the meanings of the
+elements of the parser state:
 
 @enumerate 0
 @item
@@ -721,81 +803,65 @@
 as the @var{state} argument to another call.
 @end enumerate
 
-Elements 1, 2, and 6 are ignored in the argument @var{state}.  Element
-8 is used only to set the corresponding element of the return value,
-in certain simple cases.  Element 9 is used only to set element 1 of
-the return value, in trivial cases where parsing starts and stops
-within the same pair of parentheses.
+  Elements 1, 2, and 6 are ignored in a state which you pass as an
+argument to continue parsing, and elements 8 and 9 are used only in
+trivial cases.  Those elements serve primarily to convey information
+to the Lisp program which does the parsing.
 
-@cindex indenting with parentheses
-This function is most often used to compute indentation for languages
-that have nested parentheses.
-@end defun
+  One additional piece of useful information is available from a
+parser state using this function:
 
-@defun syntax-ppss &optional pos
-This function returns the state that the parser would have at position
-@var{pos}, if it were started with a default start state at the
-beginning of the buffer.  Thus, it is equivalent to
-@code{(parse-partial-sexp (point-min) @var{pos})}, except that
-@code{syntax-ppss} uses a cache to speed up the computation.  Also,
-the 2nd value (previous complete subexpression) and 6th value (minimum
-parenthesis depth) of the returned state are not meaningful.
-@end defun
+@defun syntax-ppss-toplevel-pos state
+This function extracts, from parser state @var{state}, the last
+position scanned in the parse which was at top level in grammatical
+structure.  ``At top level'' means outside of any parentheses,
+comments, or strings.
 
-@defun syntax-ppss-flush-cache beg
-This function flushes the cache used by @code{syntax-ppss}, starting at
-position @var{beg}.
-
-When @code{syntax-ppss} is called, it automatically hooks itself
-to @code{before-change-functions} to keep its cache consistent.
-But this can fail if @code{syntax-ppss} is called while
-@code{before-change-functions} is temporarily let-bound, or if the
-buffer is modified without obeying the hook, such as when using
-@code{inhibit-modification-hooks}.  For this reason, it is sometimes
-necessary to flush the cache manually.
+The value is @code{nil} if @var{state} represents a parse which has
+arrived at a top level position.
 @end defun
 
-@defvar syntax-begin-function
-If this is non-@code{nil}, it should be a function that moves to an
-earlier buffer position where the parser state is equivalent to
-@code{nil}---in other words, a position outside of any comment,
-string, or parenthesis.  @code{syntax-ppss} uses it to supplement its
-cache.
-@end defvar
+  We have provided this access function rather than document how the
+data is represented in the state, because we plan to change the
+representation in the future.
+
+@node Low-Level Parsing
+@subsection Low-Level Parsing
 
-@defun scan-lists from count depth
-This function scans forward @var{count} balanced parenthetical groupings
-from position @var{from}.  It returns the position where the scan stops.
-If @var{count} is negative, the scan moves backwards.
+  The most basic way to use the expression parser is to tell it
+to start at a given position with a certain state, and parse up to
+a specified end position.
+
+@defun parse-partial-sexp start limit &optional target-depth stop-before state stop-comment
+This function parses a sexp in the current buffer starting at
+@var{start}, not scanning past @var{limit}.  It stops at position
+@var{limit} or when certain criteria described below are met, and sets
+point to the location where parsing stops.  It returns a parser state
+describing the status of the parse at the point where it stops.
 
-If @var{depth} is nonzero, parenthesis depth counting begins from that
-value.  The only candidates for stopping are places where the depth in
-parentheses becomes zero; @code{scan-lists} counts @var{count} such
-places and then stops.  Thus, a positive value for @var{depth} means go
-out @var{depth} levels of parenthesis.
+@cindex parenthesis depth
+If the third argument @var{target-depth} is non-@code{nil}, parsing
+stops if the depth in parentheses becomes equal to @var{target-depth}.
+The depth starts at 0, or at whatever is given in @var{state}.
 
-Scanning ignores comments if @code{parse-sexp-ignore-comments} is
-non-@code{nil}.
+If the fourth argument @var{stop-before} is non-@code{nil}, parsing
+stops when it comes to any character that starts a sexp.  If
+@var{stop-comment} is non-@code{nil}, parsing stops when it comes to the
+start of a comment.  If @var{stop-comment} is the symbol
+@code{syntax-table}, parsing stops after the start of a comment or a
+string, or the end of a comment or a string, whichever comes first.
 
-If the scan reaches the beginning or end of the buffer (or its
-accessible portion), and the depth is not zero, an error is signaled.
-If the depth is zero but the count is not used up, @code{nil} is
-returned.
+If @var{state} is @code{nil}, @var{start} is assumed to be at the top
+level of parenthesis structure, such as the beginning of a function
+definition.  Alternatively, you might wish to resume parsing in the
+middle of the structure.  To do this, you must provide a @var{state}
+argument that describes the initial status of parsing.  The value
+returned by a previous call to @code{parse-partial-sexp} will do
+nicely.
 @end defun
 
-@defun scan-sexps from count
-This function scans forward @var{count} sexps from position @var{from}.
-It returns the position where the scan stops.  If @var{count} is
-negative, the scan moves backwards.
-
-Scanning ignores comments if @code{parse-sexp-ignore-comments} is
-non-@code{nil}.
-
-If the scan reaches the beginning or end of (the accessible part of) the
-buffer while in the middle of a parenthetical grouping, an error is
-signaled.  If it reaches the beginning or end between groupings but
-before count is used up, @code{nil} is returned.
-@end defun
+@node Control Parsing
+@subsection Parameters to Control Parsing
 
 @defvar multibyte-syntax-as-symbol
 If this variable is non-@code{nil}, @code{scan-sexps} treats all
@@ -817,29 +883,6 @@
 You can use @code{forward-comment} to move forward or backward over
 one comment or several comments.
 
-@defun forward-comment count
-This function moves point forward across @var{count} complete comments
-(that is, including the starting delimiter and the terminating
-delimiter if any), plus any whitespace encountered on the way.  It
-moves backward if @var{count} is negative.  If it encounters anything
-other than a comment or whitespace, it stops, leaving point at the
-place where it stopped.  This includes (for instance) finding the end
-of a comment when moving forward and expecting the beginning of one.
-The function also stops immediately after moving over the specified
-number of complete comments.  If @var{count} comments are found as
-expected, with nothing except whitespace between them, it returns
-@code{t}; otherwise it returns @code{nil}.
-
-This function cannot tell whether the ``comments'' it traverses are
-embedded within a string.  If they look like comments, it treats them
-as comments.
-@end defun
-
-To move forward over all comments and whitespace following point, use
-@code{(forward-comment (buffer-size))}.  @code{(buffer-size)} is a good
-argument to use, because the number of comments in the buffer cannot
-exceed that many.
-
 @node Standard Syntax Tables
 @section Some Standard Syntax Tables
 
--- a/lwlib/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/lwlib/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1314,7 +1314,7 @@
 
 
 ;; Local Variables:
-;; coding: iso-2022-7bit-unix
+;; coding: iso-2022-7bit
 ;; add-log-time-zone-rule: t
 ;; End:
 
--- a/mac/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/mac/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,7 @@
+2006-12-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* inc/config.h: Sync with src/config.in.
+
 2006-11-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
 	* INSTALL: Add descriptions about configuration and invocation.
@@ -859,7 +863,7 @@
 	* src/macterm.c: New file.
 
 ;; Local Variables:
-;; coding: iso-2022-7bit-unix
+;; coding: iso-2022-7bit
 ;; add-log-time-zone-rule: t
 ;; End:
 
--- a/mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings	Sun Dec 03 15:12:18 2006 +0000
+++ b/mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,5 @@
 /* Localized versions of Info.plist keys */
 
 CFBundleName = "Emacs";
-CFBundleShortVersionString = "22.0.91";
-CFBundleGetInfoString = "22.0.91, Copyright (C) 2006 Free Software Foundation, Inc.";
+CFBundleShortVersionString = "22.0.92";
+CFBundleGetInfoString = "22.0.92, Copyright (C) 2006 Free Software Foundation, Inc.";
--- a/mac/inc/config.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/mac/inc/config.h	Mon Jan 01 17:38:32 2007 +0000
@@ -588,6 +588,9 @@
 /* Define to 1 if `struct utimbuf' is declared by <utime.h>. */
 #define HAVE_STRUCT_UTIMBUF 1
 
+/* Define to 1 if you have the `sync' function. */
+/* #undef HAVE_SYNC */
+
 /* Define to 1 if you have the `sysinfo' function. */
 /* #undef HAVE_SYSINFO */
 
@@ -715,6 +718,9 @@
 /* Define to 1 if you have the X11R6 or newer version of Xt. */
 /* #undef HAVE_X11XTR6 */
 
+/* Define to 1 if the file /usr/lib64 exists. */
+/* #undef HAVE_X86_64_LIB64_DIR */
+
 /* Define to 1 if you have the Xaw3d library (-lXaw3d). */
 /* #undef HAVE_XAW3D */
 
--- a/mac/src/Emacs.r	Sun Dec 03 15:12:18 2006 +0000
+++ b/mac/src/Emacs.r	Mon Jan 01 17:38:32 2007 +0000
@@ -221,10 +221,10 @@
 	0x22,		/* Major revision in BCD */
 	0x0,		/* Minor revision in BCD */
 	alpha,	/* development, alpha, beta, or final (release) */
-	91,		/* Non-final release # */
+	92,		/* Non-final release # */
 	0,		/* Region code */
-	"22.0.91",	/* Short version number */
-	"22.0.91, Copyright \0xa9 2006 "
+	"22.0.92",	/* Short version number */
+	"22.0.92, Copyright \0xa9 2006 "
 	"Free Software Foundation, Inc." /* Long version number */
 };
 
--- a/make-dist	Sun Dec 03 15:12:18 2006 +0000
+++ b/make-dist	Mon Jan 01 17:38:32 2007 +0000
@@ -6,8 +6,8 @@
 #### be distributed.  This means that if you add a file with an odd name,
 #### you should make sure that this script will include it.
 
-# Copyright (C) 1995, 1997, 1998, 2000, 2001, 2002, 2005, 2006
-#   Free Software Foundation, Inc.
+# Copyright (C) 1995, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
+#   2006  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
--- a/man/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,222 @@
+2007-01-01  Richard Stallman  <rms@gnu.org>
+
+	* commands.texi (User Input): Document keys stolen by window mangers.
+
+2006-12-31  Richard Stallman  <rms@gnu.org>
+
+	* custom.texi (Specific Customization): Document customize-option
+	instead of customize-variable.
+
+2006-12-31  Kim F. Storm  <storm@cua.dk>
+
+	* major.texi (Choosing Modes): Document auto-mode-case-fold.
+
+2006-12-30  Kim F. Storm  <storm@cua.dk>
+
+	* killing.texi (CUA Bindings): Fix typo.
+
+	* xresources.texi (Table of Resources): Mention grow-only value for
+	auto-resize-tool-bars.
+
+2006-12-30  Michael Albinus  <michael.albinus@gmx.de>
+
+	Sync with Tramp 2.0.55.
+
+	* trampver.texi: Update release number.
+
+2006-12-29  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* gnus.texi (Customizing Articles): Add index entries for all
+	gnus-treat-* variables.
+
+2006-12-29  Jouni K. Sepp,Ad(Bnen  <jks@iki.fi>
+
+	* gnus.texi (IMAP): Fix incorrect explanation of
+	nnimap-search-uids-not-since-is-evil in documentation for
+	nnimap-expunge-search-string.
+
+2006-12-27  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* gnus.texi (ifile spam filtering): Rename spam-ifile-database-path to
+	spam-ifile-database.
+
+2006-12-26  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* gnus.texi (Spam Package Configuration Examples): Don't encourage to
+	rebind C-s.
+
+2006-12-26  Jouni K. Sepp,Ad(Bnen  <jks@iki.fi>
+
+	* gnus.texi (Group Parameters, Group Maintenance, Topic Commands)
+	(Mail Group Commands, Expiring Mail, IMAP): Add index entries for
+	"expiring mail".
+	(IMAP): Document nnimap-search-uids-not-since-is-evil and
+	nnimap-nov-is-evil.
+
+>>>>>>> 1.1170
+2006-12-27  Eli Zaretskii  <eliz@gnu.org>
+
+	* msdog.texi (Windows Keyboard): Mention widespread Windows bindings,
+	and how to get them back.
+
+2006-12-26  Richard Stallman  <rms@gnu.org>
+
+	* calendar.texi (Holidays): Holiday listing is based on current
+	practice, but DST is not.
+
+2006-12-25  Richard Stallman  <rms@gnu.org>
+
+	* emacs.texi (Top): Update subnode menus.
+
+	* mark.texi (Transient Mark): Fix xref.
+
+	* killing.texi (Graphical Kill): Node deleted.
+	(Killing): Add xref to Cut and Paste.
+	(CUA Bindings): Update xref.
+
+	* frames.texi (Cut and Paste): New section to hold other nodes.
+	(Mouse Commands): Node demoted.
+	(Cut/Paste Other App): Split out from Mouse Commands.
+	(Word and Line Mouse): Likewise.
+	(Secondary Selection, Clipboard): Nodes demoted.
+
+2006-12-25  Kevin Ryde  <user42@zip.com.au>
+
+	* cl.texi (Sorting Sequences): In sort*, add a little cautionary note
+	about the key procedure being used heavily.
+
+2006-12-24  Chong Yidong  <cyd@stupidchicken.com>
+
+	* pgg.texi (Caching passphrase): Default for pgg-gpg-use-agent changed
+	to t.
+	(Prerequisites): Add explanation about gpg-agent.
+
+2006-12-24  Kevin Ryde  <user42@zip.com.au>
+
+	* calendar.texi (Holidays): US daylight savings begins second Sunday
+	in March for 2007 onwards.
+	(Daylight Savings): Show new US default daylight savings rules, 2nd
+	Sun in Mar to 1st Sun in Nov, now in cal-dst.el.
+
+2006-12-23  Chong Yidong  <cyd@stupidchicken.com>
+
+	* calendar.texi (Scroll Calendar): < and > are switched.
+
+2006-12-23  Kevin Rodgers  <ihs_4664@yahoo.com>
+
+	* killing.texi (Deletion): Describe M-\ prefix argument.
+
+2006-12-23  Richard Stallman  <rms@gnu.org>
+
+	* search.texi (Regexp Search): Explain why forward and reverse regexp
+	search are not mirror images.
+
+2006-12-22  Kevin Ryde  <user42@zip.com.au>
+
+	* cl.texi (Sorting Sequences): Typo in sort*, example showed plain
+	"sort" instead of "sort*".
+
+2006-12-19  Richard Stallman  <rms@gnu.org>
+
+	* calc.texi (History and Acknowledgements): Recognize that Emacs
+	now does have floating point.
+
+2006-12-19  Kim F. Storm  <storm@cua.dk>
+
+	* major.texi (Choosing Modes): Describe match-function elements for
+	magic-mode-alist.
+
+2006-12-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	* tramp.texi (External transfer methods): Describe new method `scpc'.
+
+2006-12-18  Eli Zaretskii  <eliz@gnu.org>
+
+	* msdog.texi (Windows Keyboard): Add a footnote about "Windows" keys
+	peculiarities.
+
+2006-12-18  Richard Stallman  <rms@gnu.org>
+
+	* abbrevs.texi (Editing Abbrevs): Fix previous change.
+
+2006-12-17  Sascha Wilde  <wilde@sha-bang.de>
+
+	* pgg.texi: Added short note on gpg-agent to the introduction.
+
+2006-12-17  Alan Mackenzie  <acm@muc.de>
+
+	* programs.texi (Left Margin Paren): Remove the bit which says
+	that CC Mode sets open-paren-in-column-0-is-defun-start to nil.
+	Discuss some of the issues of setting this option to nil.
+
+2006-12-17  Glenn Morris  <rgm@gnu.org>
+
+	* abbrevs.texi (Editing Abbrevs): Mention system abbrevs.
+
+2006-12-16  Eli Zaretskii  <eliz@gnu.org>
+
+	* msdog.texi (Windows Keyboard): Clarify `w32-recognize-altgr' effect.
+	(Windows Files): `w32-get-true-file-attributes' is only relevant for
+	NTFS volumes.
+	(ls in Lisp): `links' in `ls-lisp-verbosity' is only relevant to NTFS
+	volumes.
+
+2006-12-15  Eli Zaretskii  <eliz@gnu.org>
+
+	* text.texi (HTML Mode): Fix "C-c TAB".
+
+2006-12-13  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* gnus.texi (Hiding Headers): Document that `long-to' and `many-to'
+	also applies to Cc.
+
+2006-12-12  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* gnus.texi (X-Face): Clarify.  Say which programs are required on
+	Windows.
+
+2006-12-09  Richard Stallman  <rms@gnu.org>
+
+	* misc.texi (Invoking emacsclient): Simplify TCP file text.
+
+2006-12-08  Kevin Rodgers <ihs_4664@yahoo.com>
+
+	* files.texi (Misc File Ops): Document insert-file-literally.
+
+2006-12-08  Eli Zaretskii  <eliz@gnu.org>
+
+	* cmdargs.texi (Colors): Note that --color is intended for overriding
+	the terminal defaults, not for normal invocation.
+
+	* misc.texi (Emacs Server): Improve wording.  Don't mention the
+	``server program''.  Add a cross-reference to "Init File" node.
+	(Invoking emacsclient): Add index entries.  Document both short and
+	long versions of command-line options.  Document the -f option.
+
+2006-12-08  Michael Olson  <mwolson@gnu.org>
+
+	* erc.texi (Modules): Remove documentation for list module.
+
+2006-12-06  Richard Stallman  <rms@gnu.org>
+
+	* text.texi (Outline Format): Say to set outline-regexp
+	and outline-level with major modes and file local variables.
+
+2006-12-05  Micha,Ak(Bl Cadilhac  <michael.cadilhac@lrde.org>
+
+	* anti.texi (Antinews): Mention the alternative to
+	`~/.emacs_SHELLNAME', which is `~/.emacs.d/init_SHELLNAME.sh'.
+
+	* faq.texi (^M in the shell buffer): Ditto.
+
+	* misc.texi (Interactive Shell): Ditto.
+
+2006-12-04  Eli Zaretskii  <eliz@gnu.org>
+
+	* emacs.texi (Acknowledgments): Fix Arne J@o{}rgensen's name.
+
+	* ack.texi (Acknowledgments): Fix Arne J@o{}rgensen's name.
+
 2006-12-01  Eli Zaretskii  <eliz@gnu.org>
 
 	* mule.texi (Enabling Multibyte): Rephrase the confusing reference to a
--- a/man/abbrevs.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/abbrevs.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -255,6 +255,10 @@
 that you can eliminate those that you don't use often.  The string at
 the end of the line is the expansion.
 
+  Some abbrevs are marked with @samp{(sys)}.  These ``system'' abbrevs
+(@pxref{Abbrevs,,, elisp, The Emacs Lisp Reference Manual}) are
+pre-defined by various modes, and are not saved to your abbrev file.
+
 @findex edit-abbrevs
 @kindex C-c C-c @r{(Edit Abbrevs)}
   @kbd{M-x edit-abbrevs} allows you to add, change or kill abbrev
--- a/man/ack.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/ack.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -517,7 +517,7 @@
 @end itemize
 
 @item
-Arne J@/orgensen wrote @file{latexenc.el}, a package to
+Arne J@o{}rgensen wrote @file{latexenc.el}, a package to
 automatically guess the correct coding system in LaTeX files.
 
 @item
--- a/man/anti.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/anti.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -66,7 +66,8 @@
 We have standardized on one location for the user init file: the file
 named @file{.emacs} in your home directory.  Emacs will not look for
 the init file in @file{~/.emacs.d/init.el}.  Similarly, don't try
-putting @file{.emacs_SHELL} in @file{~/.emacs.d}; Emacs won't find it.
+putting @file{.emacs_SHELL} as @file{init_SHELL.sh} in
+@file{~/.emacs.d}; Emacs won't find it.
 
 @item
 Emacs will not read @file{~/.abbrev_defs} automatically.  If you want
--- a/man/calc.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/calc.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -1539,7 +1539,8 @@
 solid implementation of Lisp, and the humble task of calculating
 turned out to be more open-ended than one might have expected.
 
-Emacs Lisp doesn't have built-in floating point math, so it had to be
+Emacs Lisp didn't have built-in floating point math (now it does), so
+this had to be
 simulated in software.  In fact, Emacs integers will only comfortably
 fit six decimal digits or so---not enough for a decent calculator.  So
 I had to write my own high-precision integer code as well, and once I had
--- a/man/calendar.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/calendar.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -240,9 +240,9 @@
 horizontally, so that new months become visible in the window.
 
 @table @kbd
-@item <
+@item >
 Scroll calendar one month forward (@code{scroll-calendar-left}).
-@item >
+@item <
 Scroll calendar one month backward (@code{scroll-calendar-right}).
 @item C-v
 @itemx @key{NEXT}
@@ -254,16 +254,15 @@
 (@code{scroll-calendar-right-three-months}).
 @end table
 
-@kindex < @r{(Calendar mode)}
+@kindex > @r{(Calendar mode)}
 @findex scroll-calendar-left
-@kindex > @r{(Calendar mode)}
+@kindex < @r{(Calendar mode)}
 @findex scroll-calendar-right
   The most basic calendar scroll commands scroll by one month at a
 time.  This means that there are two months of overlap between the
-display before the command and the display after.  @kbd{<} scrolls
-the calendar contents one month to the left; that is, it moves the
-display forward in time.  @kbd{>} scrolls the contents to the
-right, which moves backwards in time.
+display before the command and the display after.  @kbd{>} scrolls the
+calendar contents one month forward in time.  @kbd{<} scrolls the
+contents one month backwards in time.
 
 @kindex C-v @r{(Calendar mode)}
 @findex scroll-calendar-left-three-months
@@ -527,12 +526,8 @@
 a calendar window.
 
   The dates used by Emacs for holidays are based on @emph{current
-practice}, not historical fact.  Historically, for instance, the start
-of daylight savings time and even its existence have varied from year to
-year, but present United States law mandates that daylight savings time
-begins on the first Sunday in April.  When the daylight savings rules
-are set up for the United States, Emacs always uses the present
-definition, even though it is wrong for some prior years.
+practice}, not historical fact.  For example Veteran's Day began in
+1919, but is shown in earlier years.
 
 @node Sunrise/Sunset
 @section Times of Sunrise and Sunset
@@ -1593,14 +1588,14 @@
   The values for Cambridge, Massachusetts are as follows:
 
 @example
-(calendar-nth-named-day 1 0 4 year)
-(calendar-nth-named-day -1 0 10 year)
+(calendar-nth-named-day 2 0 3 year)
+(calendar-nth-named-day 1 0 11 year)
 @end example
 
 @noindent
-That is, the first 0th day (Sunday) of the fourth month (April) in
-the year specified by @code{year}, and the last Sunday of the tenth month
-(October) of that year.  If daylight savings time were
+That is, the second 0th day (Sunday) of the third month (March) in
+the year specified by @code{year}, and the first Sunday of the eleventh month
+(November) of that year.  If daylight savings time were
 changed to start on October 1, you would set
 @code{calendar-daylight-savings-starts} to this:
 
--- a/man/cl.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/cl.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -4086,13 +4086,15 @@
 fed to the @var{predicate} function.  For example,
 
 @example
-(setq data (sort data 'string-lessp :key 'downcase))
+(setq data (sort* data 'string-lessp :key 'downcase))
 @end example
 
 @noindent
 sorts @var{data}, a sequence of strings, into increasing alphabetical
 order without regard to case.  A @code{:key} function of @code{car}
-would be useful for sorting association lists.
+would be useful for sorting association lists.  It should only be a
+simple accessor though, it's used heavily in the current
+implementation.
 
 The @code{sort*} function is destructive; it sorts lists by actually
 rearranging the @code{cdr} pointers in suitable fashion.
--- a/man/cmdargs.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/cmdargs.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -951,8 +951,12 @@
 @item --color=@var{mode}
 @opindex --color
 @cindex standard colors on a character terminal
-For a character terminal only, specify the mode of color support.  The
-parameter @var{mode} can be one of the following:
+@cindex override character terminal color support
+For a character terminal only, specify the mode of color support.
+This option is intended for overriding the number of supported colors
+that the character terminal advertises in its @code{termcap} or
+@code{terminfo} database.  The parameter @var{mode} can be one of the
+following:
 @table @samp
 @item never
 @itemx no
--- a/man/commands.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/commands.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -134,6 +134,15 @@
 and convert them to function key events before any other part of Emacs
 gets to see them.
 
+@cindex keys stolen by window manager
+@cindex window manager, keys stolen by
+  On graphical displays, the window manager is likely to block the
+character @kbd{Meta-@key{TAB}} before Emacs can see it.  It may also
+block @kbd{Meta-@key{SPC}}, @kbd{C-M-d} and @kbd{C-M-l}.  If you have
+these problems, we recommend that you customize your window manager to
+turn off those commands, or put them on key combinations that Emacs
+does not use.
+
 @node Keys, Commands, User Input, Top
 @section Keys
 
--- a/man/custom.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/custom.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -625,8 +625,9 @@
 you want to customize.
 
 @table @kbd
-@item M-x customize-variable @key{RET} @var{variable} @key{RET}
-Set up a customization buffer with just one variable, @var{variable}.
+@item M-x customize-option @key{RET} @var{option} @key{RET}
+Set up a customization buffer with just one user option variable,
+@var{option}.
 @item M-x customize-face @key{RET} @var{face} @key{RET}
 Set up a customization buffer with just one face, @var{face}.
 @item M-x customize-group @key{RET} @var{group} @key{RET}
@@ -634,7 +635,7 @@
 @item M-x customize-apropos @key{RET} @var{regexp} @key{RET}
 Set up a customization buffer with all the settings and groups that
 match @var{regexp}.
-@item M-x customize-changed-options @key{RET} @var{version} @key{RET}
+@item M-x customize-changed @key{RET} @var{version} @key{RET}
 Set up a customization buffer with all the settings and groups
 whose meaning has changed since Emacs version @var{version}.
 @item M-x customize-saved
@@ -645,15 +646,16 @@
 customized but not saved.
 @end table
 
-@findex customize-variable
-  If you want to alter a particular variable with the customization
+@findex customize-option
+  If you want to alter a particular user option with the customization
 buffer, and you know its name, you can use the command @kbd{M-x
-customize-variable} and specify the variable name.  This sets up the
-customization buffer with just one variable---the one that you asked
-for.  Editing, setting and saving the value work as described above,
-but only for the specified variable.  Minibuffer completion is handy
-if you only know part of the name.  However, this command can only see
-options that have been loaded in the current Emacs session.
+customize-option} and specify the user option (variable) name.  This
+sets up the customization buffer with just one user option---the one
+that you asked for.  Editing, setting and saving the value work as
+described above, but only for the specified user option.  Minibuffer
+completion is handy if you only know part of the name.  However, this
+command can only see options that have been loaded in the current
+Emacs session.
 
 @findex customize-face
   Likewise, you can modify a specific face, chosen by name, using
@@ -663,9 +665,9 @@
 @findex customize-group
   You can also set up the customization buffer with a specific group,
 using @kbd{M-x customize-group}.  The immediate contents of the chosen
-group, including settings (variables and faces), and other groups, all
-appear as well (even if not already loaded).  However, the subgroups'
-own contents are not included.
+group, including settings (user options and faces), and other groups,
+all appear as well (even if not already loaded).  However, the
+subgroups' own contents are not included.
 
 @findex customize-apropos
   For a more general way of controlling what to customize, you can use
--- a/man/emacs.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/emacs.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -5,7 +5,7 @@
 
 @c The edition number appears in several places in this file
 @set EDITION   Sixteenth
-@set EMACSVER  22.0.91
+@set EMACSVER  22.0.92
 
 @copying
 This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},
@@ -297,8 +297,6 @@
 * Killing by Lines::	How to kill entire lines of text at one time.
 * Other Kill Commands:: Commands to kill large regions of text and
 			  syntactic units such as words and sentences.
-* Graphical Kill::      The kill ring on graphical displays:
-                          yanking between applications.
 * CUA Bindings::        Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy
                           and paste, with enhanced rectangle support.
 
@@ -441,9 +439,7 @@
 
 Frames and X Windows
 
-* Mouse Commands::      Moving, cutting, and pasting, with the mouse.
-* Secondary Selection:: Cutting without altering point and mark.
-* Clipboard::           Using the clipboard for selections.
+* Cut and Paste::       Mouse commands for cut and paste.
 * Mouse References::    Using the mouse to select an item from a list.
 * Menu Mouse Clicks::   Mouse clicks that bring up menus.
 * Mode Line Mouse::     Mouse clicks on the mode line.
@@ -1050,7 +1046,7 @@
 Holst, Jeffrey C.@: Honig, Kurt Hornik, Tom Houlder, Joakim Hove,
 Denis Howe, Lars Ingebrigtsen, Andrew Innes, Seiichiro Inoue, Pavel
 Janik, Paul Jarc, Ulf Jasper, Michael K. Johnson, Kyle Jones, Terry
-Jones, Simon Josefsson, Arne J@/orgensen, Tomoji Kagatani, Brewster
+Jones, Simon Josefsson, Arne J@o{}rgensen, Tomoji Kagatani, Brewster
 Kahle, Lute Kamstra, David Kastrup, David Kaufman, Henry Kautz, Taichi
 Kawabata, Howard Kaye, Michael Kifer, Richard King, Peter Kleiweg,
 Shuhei Kobayashi, Pavel Kobiakov, Larry K.@: Kolodney, David M.@:
--- a/man/erc.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/erc.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -422,10 +422,6 @@
 @item irccontrols
 Highlight or remove IRC control characters
 
-@cindex modules, list
-@item list
-List channels nicely in a separate buffer
-
 @cindex modules, log
 @item log
 Save buffers in logs
--- a/man/faq.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/faq.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -2761,7 +2761,7 @@
 endif
 @end example
 
-Or put this in your @file{.emacs_tcsh} file:
+Or put this in your @file{.emacs_tcsh} or @file{~/.emacs.d/init_tcsh.sh} file:
 
 @example
 unset edit
--- a/man/files.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/files.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -2433,6 +2433,13 @@
 contents of the specified file into the current buffer at point,
 leaving point unchanged before the contents and the mark after them.
 
+@findex insert-file-literally
+  @kbd{M-x insert-file-literally} is like @kbd{C-x i}, except it
+inserts the specified file with no conversion of the contents: no
+format conversion (@pxref{Formatted Text}), no character code
+conversion (@pxref{Coding Systems}), and no automatic uncompression
+(@pxref{Compressed Files}).
+
 @findex write-region
   @kbd{M-x write-region} is the inverse of @kbd{M-x insert-file}; it
 copies the contents of the region into the specified file.  @kbd{M-x
--- a/man/frames.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/frames.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -34,11 +34,8 @@
 @xref{MS-DOS Mouse}.
 @end ifnottex
 
-
 @menu
-* Mouse Commands::      Moving, cutting, and pasting, with the mouse.
-* Secondary Selection:: Cutting without altering point and mark.
-* Clipboard::           Using the clipboard for selections.
+* Cut and Paste::       Mouse commands for cut and paste.
 * Mouse References::    Using the mouse to select an item from a list.
 * Menu Mouse Clicks::   Mouse clicks that bring up menus.
 * Mode Line Mouse::     Mouse clicks on the mode line.
@@ -60,8 +57,22 @@
 * Text-Only Mouse::     Using the mouse in text-only terminals.
 @end menu
 
+@node Cut and Paste
+@section Killing and Yanking on Graphical Displays
+
+  This section describes facilities for selecting a region, killing,
+and yanking using the mouse.
+
+@menu
+* Mouse Commands::      Moving, cutting, and pasting, with the mouse.
+* Cut/Paste Other App:: Transfering text between Emacs and other apps.
+* Word and Line Mouse:: Mouse commands for selecting whole words or lines.
+* Secondary Selection:: Cutting without altering point and mark.
+* Clipboard::           Using the clipboard for selections.
+@end menu
+
 @node Mouse Commands
-@section Mouse Commands for Editing
+@subsection Mouse Commands for Editing
 @cindex mouse buttons (what they do)
 
   The mouse commands for selecting and copying a region are mostly
@@ -154,27 +165,6 @@
 
 If you use @kbd{Mouse-3} a second time consecutively, at the same place,
 that kills the region already selected.
-
-@item Double-Mouse-1
-This key sets the region around the word which you click on.  If you
-click on a character with ``symbol'' syntax (such as underscore, in C
-mode), it sets the region around the symbol surrounding that character.
-
-If you click on a character with open-parenthesis or close-parenthesis
-syntax, it sets the region around the parenthetical grouping
-which that character starts or ends.  If you click on a character with
-string-delimiter syntax (such as a singlequote or doublequote in C), it
-sets the region around the string constant (using heuristics to figure
-out whether that character is the beginning or the end of it).
-
-@item Double-Drag-Mouse-1
-This key selects a region made up of the words you drag across.
-
-@item Triple-Mouse-1
-This key sets the region around the line you click on.
-
-@item Triple-Drag-Mouse-1
-This key selects a region made up of the lines you drag across.
 @end table
 
   The simplest way to kill text with the mouse is to press @kbd{Mouse-1}
@@ -191,6 +181,20 @@
 frame's windows you click on.  The default value is @code{nil}.  This
 variable also affects yanking the secondary selection.
 
+@cindex Delete Selection mode
+@cindex mode, Delete Selection
+@findex delete-selection-mode
+  Many graphical applications follow the convention that insertion while text
+is selected deletes the selected text.  You can make Emacs behave this
+way by enabling Delete Selection mode---with @kbd{M-x
+delete-selection-mode} or using Custom.  Another effect of this mode
+is that @key{DEL}, @kbd{C-d} and some other keys, when a selection
+exists, will kill the whole selection.  It also enables Transient Mark
+mode (@pxref{Transient Mark}).
+
+@node Cut/Paste Other App
+@subsection Cut and Paste with Other Window Applications
+
 @cindex cutting
 @cindex pasting
 @cindex X cutting and pasting
@@ -224,8 +228,36 @@
 system for selections, use @kbd{C-x @key{RET} x} or @kbd{C-x @key{RET}
 X}.  @xref{Communication Coding}.
 
+@node Word and Line Mouse
+@subsection Mouse Commands for Words and Lines
+
+  These variants of @kbd{Mouse-1} select entire words or lines at a time.
+
+@table @kbd
+@item Double-Mouse-1
+This key sets the region around the word which you click on.  If you
+click on a character with ``symbol'' syntax (such as underscore, in C
+mode), it sets the region around the symbol surrounding that character.
+
+If you click on a character with open-parenthesis or close-parenthesis
+syntax, it sets the region around the parenthetical grouping
+which that character starts or ends.  If you click on a character with
+string-delimiter syntax (such as a singlequote or doublequote in C), it
+sets the region around the string constant (using heuristics to figure
+out whether that character is the beginning or the end of it).
+
+@item Double-Drag-Mouse-1
+This key selects a region made up of the words you drag across.
+
+@item Triple-Mouse-1
+This key sets the region around the line you click on.
+
+@item Triple-Drag-Mouse-1
+This key selects a region made up of the lines you drag across.
+@end table
+
 @node Secondary Selection
-@section Secondary Selection
+@subsection Secondary Selection
 @cindex secondary selection
 
   The @dfn{secondary selection} is another way of selecting text using
@@ -280,7 +312,7 @@
 that matters is which window you click on.  @xref{Mouse Commands}.
 
 @node Clipboard
-@section Using the Clipboard
+@subsection Using the Clipboard
 @cindex clipboard
 @vindex x-select-enable-clipboard
 @findex menu-bar-enable-clipboard
--- a/man/gnus.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/gnus.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -2810,6 +2810,7 @@
 
 @item auto-expire
 @cindex auto-expire
+@cindex expiring mail
 If the group parameter has an element that looks like @code{(auto-expire
 . t)}, all articles read will be marked as expirable.  For an
 alternative approach, @pxref{Expiring Mail}.
@@ -2818,6 +2819,7 @@
 
 @item total-expire
 @cindex total-expire
+@cindex expiring mail
 If the group parameter has an element that looks like
 @code{(total-expire . t)}, all read articles will be put through the
 expiry process, even if they are not marked as expirable.  Use with
@@ -3407,6 +3409,7 @@
 @item C-c C-x
 @kindex C-c C-x (Group)
 @findex gnus-group-expire-articles
+@cindex expiring mail
 Run all expirable articles in the current group through the expiry
 process (if any) (@code{gnus-group-expire-articles}).  That is, delete
 all expirable articles in the group that have been around for a while.
@@ -3415,6 +3418,7 @@
 @item C-c C-M-x
 @kindex C-c C-M-x (Group)
 @findex gnus-group-expire-all-groups
+@cindex expiring mail
 Run all expirable articles in all groups through the expiry process
 (@code{gnus-group-expire-all-groups}).
 
@@ -3775,6 +3779,7 @@
 @item C-c C-x
 @kindex C-c C-x (Topic)
 @findex gnus-topic-expire-articles
+@cindex expiring mail
 Run all expirable articles in the current group or topic through the
 expiry process (if any)
 (@code{gnus-topic-expire-articles}).  (@pxref{Expiring Mail}).
@@ -10060,6 +10065,7 @@
 @item B e
 @kindex B e (Summary)
 @findex gnus-summary-expire-articles
+@cindex expiring mail
 Run all expirable articles in the current group through the expiry
 process (@code{gnus-summary-expire-articles}).  That is, delete all
 expirable articles in the group that have been around for a while.
@@ -10068,6 +10074,7 @@
 @item B C-M-e
 @kindex B C-M-e (Summary)
 @findex gnus-summary-expire-articles-now
+@cindex expiring mail
 Delete all the expirable articles in the group
 (@code{gnus-summary-expire-articles-now}).  This means that @strong{all}
 articles eligible for expiry in the current group will
@@ -10975,15 +10982,15 @@
 Remove the @code{To} header if it only contains the address identical to
 the current group's @code{to-list} parameter.
 @item cc-list
-Remove the @code{CC} header if it only contains the address identical to
+Remove the @code{Cc} header if it only contains the address identical to
 the current group's @code{to-list} parameter.
 @item date
 Remove the @code{Date} header if the article is less than three days
 old.
 @item long-to
-Remove the @code{To} header if it is very long.
+Remove the @code{To} and/or @code{Cc} header if it is very long.
 @item many-to
-Remove all @code{To} headers if there are more than one.
+Remove all @code{To} and/or @code{Cc} headers if there are more than one.
 @end table
 
 To include these three elements, you could say something like:
@@ -11216,42 +11223,66 @@
 possible but those listed are probably sufficient for most people.
 
 @table @code
+@vindex gnus-treat-buttonize
 @item gnus-treat-buttonize (t, integer)
+@vindex gnus-treat-buttonize-head
 @item gnus-treat-buttonize-head (head)
 
 @xref{Article Buttons}.
 
+@vindex gnus-treat-capitalize-sentences
 @item gnus-treat-capitalize-sentences (t, integer)
+@vindex gnus-treat-overstrike
 @item gnus-treat-overstrike (t, integer)
+@vindex gnus-treat-strip-cr
 @item gnus-treat-strip-cr (t, integer)
+@vindex gnus-treat-strip-headers-in-body
 @item gnus-treat-strip-headers-in-body (t, integer)
+@vindex gnus-treat-strip-leading-blank-lines
 @item gnus-treat-strip-leading-blank-lines (t, integer)
+@vindex gnus-treat-strip-multiple-blank-lines
 @item gnus-treat-strip-multiple-blank-lines (t, integer)
+@vindex gnus-treat-strip-pem
 @item gnus-treat-strip-pem (t, last, integer)
+@vindex gnus-treat-strip-trailing-blank-lines
 @item gnus-treat-strip-trailing-blank-lines (t, last, integer)
+@vindex gnus-treat-unsplit-urls
 @item gnus-treat-unsplit-urls (t, integer)
+@vindex gnus-treat-wash-html
 @item gnus-treat-wash-html (t, integer)
 
 @xref{Article Washing}.
 
+@vindex gnus-treat-date-english
 @item gnus-treat-date-english (head)
+@vindex gnus-treat-date-iso8601
 @item gnus-treat-date-iso8601 (head)
+@vindex gnus-treat-date-lapsed
 @item gnus-treat-date-lapsed (head)
+@vindex gnus-treat-date-local
 @item gnus-treat-date-local (head)
+@vindex gnus-treat-date-original
 @item gnus-treat-date-original (head)
+@vindex gnus-treat-date-user-defined
 @item gnus-treat-date-user-defined (head)
+@vindex gnus-treat-date-ut
 @item gnus-treat-date-ut (head)
 
 @xref{Article Date}.
 
+@vindex gnus-treat-from-picon
 @item gnus-treat-from-picon (head)
+@vindex gnus-treat-mail-picon
 @item gnus-treat-mail-picon (head)
+@vindex gnus-treat-newsgroups-picon
 @item gnus-treat-newsgroups-picon (head)
 
 @xref{Picons}.
 
+@vindex gnus-treat-display-smileys
 @item gnus-treat-display-smileys (t, integer)
 
+@vindex gnus-treat-body-boundary
 @item gnus-treat-body-boundary (head)
 
 @vindex gnus-body-boundary-delimiter
@@ -11260,40 +11291,62 @@
 
 @xref{Smileys}.
 
+@vindex gnus-treat-display-x-face
 @item gnus-treat-display-x-face (head)
 
 @xref{X-Face}.
 
+@vindex gnus-treat-display-face
 @item gnus-treat-display-face (head)
 
 @xref{Face}.
 
+@vindex gnus-treat-emphasize
 @item gnus-treat-emphasize (t, head, integer)
+@vindex gnus-treat-fill-article
 @item gnus-treat-fill-article (t, integer)
+@vindex gnus-treat-fill-long-lines
 @item gnus-treat-fill-long-lines (t, integer)
+@vindex gnus-treat-hide-boring-headers
 @item gnus-treat-hide-boring-headers (head)
+@vindex gnus-treat-hide-citation
 @item gnus-treat-hide-citation (t, integer)
+@vindex gnus-treat-hide-citation-maybe
 @item gnus-treat-hide-citation-maybe (t, integer)
+@vindex gnus-treat-hide-headers
 @item gnus-treat-hide-headers (head)
+@vindex gnus-treat-hide-signature
 @item gnus-treat-hide-signature (t, last)
+@vindex gnus-treat-strip-banner
 @item gnus-treat-strip-banner (t, last)
+@vindex gnus-treat-strip-list-identifiers
 @item gnus-treat-strip-list-identifiers (head)
 
 @xref{Article Hiding}.
 
+@vindex gnus-treat-highlight-citation
 @item gnus-treat-highlight-citation (t, integer)
+@vindex gnus-treat-highlight-headers
 @item gnus-treat-highlight-headers (head)
+@vindex gnus-treat-highlight-signature
 @item gnus-treat-highlight-signature (t, last, integer)
 
 @xref{Article Highlighting}.
 
+@vindex gnus-treat-play-sounds
 @item gnus-treat-play-sounds
+@vindex gnus-treat-translate
 @item gnus-treat-translate
+@vindex gnus-treat-x-pgp-sig
 @item gnus-treat-x-pgp-sig (head)
 
+@vindex gnus-treat-unfold-headers
 @item gnus-treat-unfold-headers (head)
+@vindex gnus-treat-fold-headers
 @item gnus-treat-fold-headers (head)
+@vindex gnus-treat-fold-newsgroups
 @item gnus-treat-fold-newsgroups (head)
+@vindex gnus-treat-leading-whitespace
 @item gnus-treat-leading-whitespace (head)
 
 @xref{Article Header}.
@@ -14511,6 +14564,7 @@
 @node Expiring Mail
 @subsection Expiring Mail
 @cindex article expiry
+@cindex expiring mail
 
 Traditional mail readers have a tendency to remove mail articles when
 you mark them as read, in some way.  Gnus takes a fundamentally
@@ -16454,6 +16508,7 @@
 @item nnimap-expunge-search-string
 @cindex expunging
 @vindex nnimap-expunge-search-string
+@cindex expiring @acronym{IMAP} mail
 
 This variable contain the @acronym{IMAP} search command sent to server when
 searching for articles eligible for expiring.  The default is
@@ -16465,6 +16520,10 @@
 messages instead of the internal article date.  See section 6.4.4 of
 RFC 2060 for more information on valid strings.
 
+However, if @code{nnimap-search-uids-not-since-is-evil} 
+is true, this variable has no effect since the search logic
+is reversed, as described below.
+
 @item nnimap-authinfo-file
 @vindex nnimap-authinfo-file
 
@@ -16490,6 +16549,47 @@
 seem to need this under some circumstances; it was reported that
 Courier 1.7.1 did.
 
+@item nnimap-nov-is-evil
+@vindex nnimap-nov-is-evil
+@cindex Courier @acronym{IMAP} server
+@cindex @acronym{NOV}
+
+Never generate or use a local @acronym{NOV} database. Defaults to the
+value of @code{gnus-agent}.
+
+Using a @acronym{NOV} database usually makes header fetching much
+faster, but it uses the @code{UID SEARCH UID} command, which is very
+slow on some servers (notably some versions of Courier). Since the Gnus
+Agent caches the information in the @acronym{NOV} database without using
+the slow command, this variable defaults to true if the Agent is in use,
+and false otherwise.
+
+@item nnimap-search-uids-not-since-is-evil
+@vindex nnimap-search-uids-not-since-is-evil
+@cindex Courier @acronym{IMAP} server
+@cindex expiring @acronym{IMAP} mail
+
+Avoid the @code{UID SEARCH UID @var{message numbers} NOT SINCE
+@var{date}} command, which is slow on some @acronym{IMAP} servers
+(notably, some versions of Courier). Instead, use @code{UID SEARCH SINCE
+@var{date}} and prune the list of expirable articles within Gnus.
+
+When Gnus expires your mail (@pxref{Expiring Mail}), it starts with a
+list of expirable articles and asks the IMAP server questions like ``Of
+these articles, which ones are older than a week?'' While this seems
+like a perfectly reasonable question, some IMAP servers take a long time
+to answer it, since they seemingly go looking into every old article to
+see if it is one of the expirable ones. Curiously, the question ``Of
+@emph{all} articles, which ones are newer than a week?'' seems to be
+much faster to answer, so setting this variable causes Gnus to ask this
+question and figure out the answer to the real question itself.
+
+This problem can really sneak up on you: when you first configure Gnus,
+everything works fine, but once you accumulate a couple thousand
+messages, you start cursing Gnus for being so slow. On the other hand,
+if you get a lot of email within a week, setting this variable will
+cause a lot of network traffic between Gnus and the IMAP server.
+
 @end table
 
 @menu
@@ -16677,7 +16777,7 @@
 
 @node Expiring in IMAP
 @subsection Expiring in IMAP
-@cindex expiring imap mail
+@cindex expiring @acronym{IMAP} mail
 
 Even though @code{nnimap} is not a proper @code{nnmail} derived back
 end, it supports most features in regular expiring (@pxref{Expiring
@@ -16696,6 +16796,9 @@
 your server must support permanent storage of client specific flags on
 messages.  Most do, fortunately.
 
+If expiring @acronym{IMAP} mail seems very slow, try setting the server
+variable @code{nnimap-search-uids-not-since-is-evil}.
+
 @table @code
 
 @item nnmail-expiry-wait
@@ -18605,7 +18708,7 @@
 @findex gnus-agent-expire-group
 @cindex agent expiry
 @cindex Gnus agent expiry
-@cindex expiry
+@cindex expiry, in Gnus agent
 
 The Agent back end, @code{nnagent}, doesn't handle expiry.  Well, at
 least it doesn't handle it like other back ends.  Instead, there are
@@ -22175,21 +22278,26 @@
 has image support the default action is to display the face before the
 @code{From} header.  If there's no native @code{X-Face} support, Gnus
 will try to convert the @code{X-Face} header using external programs
-from the @code{pbmplus} package and friends.  For XEmacs it's faster if
-XEmacs has been compiled with @code{X-Face} support.  The default action
-under Emacs without image support is to fork off the @code{display}
-program.
-
-On a GNU/Linux system, the @code{display} program is from the
+from the @code{pbmplus} package and friends, see below.  For XEmacs it's
+faster if XEmacs has been compiled with @code{X-Face} support.  The
+default action under Emacs without image support is to fork off the
+@code{display} program.
+
+On a GNU/Linux system, the @code{display} program is included in the
 ImageMagick package.  For external conversion programs look for packages
 with names like @code{netpbm}, @code{libgr-progs} and @code{compface}.
-
-The variable that controls this is the
-@code{gnus-article-x-face-command} variable.  If this variable is a
+On Windows, you may use the packages @code{netpbm} and @code{compface}
+from @url{http://gnuwin32.sourceforge.net}.  You need to add the
+@code{bin} directory to your @code{PATH} environment variable.
+@c In fact only the following DLLs and binaries seem to be required:
+@c compface1.dll uncompface.exe libnetpbm10.dll icontopbm.exe
+
+The variable @code{gnus-article-x-face-command} controls which programs
+are used to display the @code{X-Face} header.  If this variable is a
 string, this string will be executed in a sub-shell.  If it is a
 function, this function will be called with the face as the argument.
-If @code{gnus-article-x-face-too-ugly} (which is a regexp) matches
-the @code{From} header, the face will not be shown.
+If @code{gnus-article-x-face-too-ugly} (which is a regexp) matches the
+@code{From} header, the face will not be shown.
 
 (Note: @code{x-face} is used in the variable/function names, not
 @code{xface}).
@@ -23319,9 +23427,6 @@
 (gnus-registry-initialize)
 (spam-initialize)
 
-;; @r{I like @kbd{C-s} for marking spam}
-(define-key gnus-summary-mode-map "\C-s" 'gnus-summary-mark-as-spam)
-
 (setq
  spam-log-to-registry t     ; @r{for spam autodetection}
  spam-use-BBDB t
@@ -23893,7 +23998,7 @@
 the default value of @samp{spam}.
 @end defvar
 
-@defvar spam-ifile-database-path
+@defvar spam-ifile-database
 
 This is the filename for the ifile database.  It is not specified by
 default, so ifile will use its own default database name.
--- a/man/killing.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/killing.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -56,14 +56,14 @@
 @code{kill-read-only-ok} to a non-@code{nil} value, they just print a
 message in the echo area to explain why the text has not been erased.
 
+  You can also use the mouse to kill and yank.  @xref{Cut and Paste}.
+
 @menu
 * Deletion::            Commands for deleting small amounts of text and
                           blank areas.
 * Killing by Lines::    How to kill entire lines of text at one time.
 * Other Kill Commands:: Commands to kill large regions of text and
                           syntactic units such as words and sentences.
-* Graphical Kill::      The kill ring on graphical displays:
-                          yanking between applications.
 @end menu
 
 @need 1500
@@ -148,10 +148,11 @@
   The other delete commands are those which delete only whitespace
 characters: spaces, tabs and newlines.  @kbd{M-\}
 (@code{delete-horizontal-space}) deletes all the spaces and tab
-characters before and after point.  @kbd{M-@key{SPC}}
+characters before and after point.  (With a prefix argument, it
+deletes them before point, but not after.)  @kbd{M-@key{SPC}}
 (@code{just-one-space}) does likewise but leaves a single space after
-point, regardless of the number of spaces that existed previously (even
-if there were none before).  With a numeric argument @var{n}, it
+point, regardless of the number of spaces that existed previously
+(even if there were none before).  With a numeric argument @var{n}, it
 leaves @var{n} spaces after point.
 
   @kbd{C-x C-o} (@code{delete-blank-lines}) deletes all blank lines
@@ -250,28 +251,6 @@
 (@pxref{Expressions}); and sentences, with @kbd{C-x @key{DEL}} and
 @kbd{M-k} (@pxref{Sentences}).@refill
 
-@node Graphical Kill
-@subsection Killing on Graphical Displays
-
-  On graphical displays with window systems, the most recent kill done
-in Emacs is also the primary selection, if it is more recent than any
-selection you made in another program.  This means that the paste
-commands of other window-based applications copy the text that you
-killed in Emacs.  In addition, Emacs yank commands treat other
-applications' selections as part of the kill ring, so you can yank
-them into Emacs.
-
-@cindex Delete Selection mode
-@cindex mode, Delete Selection
-@findex delete-selection-mode
-  Many graphical applications follow the convention that insertion while text
-is selected deletes the selected text.  You can make Emacs behave this
-way by enabling Delete Selection mode---with @kbd{M-x
-delete-selection-mode} or using Custom.  Another effect of this mode
-is that @key{DEL}, @kbd{C-d} and some other keys, when a selection
-exists, will kill the whole selection.  It also enables Transient Mark
-mode (@pxref{Transient Mark}).
-
 @node Yanking, Accumulating Text, Killing, Top
 @section Yanking
 @cindex moving text
@@ -668,14 +647,14 @@
 paste (yank), and @kbd{C-z} undo.  Standard Emacs commands like
 @kbd{C-x C-c} still work, because @kbd{C-x} and @kbd{C-c} only take
 effect when the mark is active (and the region is highlighted).
-However, if you don't want to override these bindings Emacs at all, set
-@code{cua-enable-cua-keys} to @code{nil}.
+However, if you don't want to override these bindings in Emacs at all,
+set @code{cua-enable-cua-keys} to @code{nil}.
 
   In CUA mode, using @kbd{Shift} together with the movement keys
 activates and highlights the region over which they move.  The
 standard (unshifted) movement keys deactivate the mark, and typed text
 replaces the active region as in Delete-Selection mode
-(@pxref{Graphical Kill}).
+(@pxref{Mouse Commands}).
 
   To enter an Emacs command like @kbd{C-x C-f} while the mark is
 active, use one of the following methods: either hold @kbd{Shift}
--- a/man/major.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/major.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -102,17 +102,21 @@
 @vindex magic-mode-alist
   Sometimes the major mode is determined from the way the file's text
 begins.  The variable @code{magic-mode-alist} controls this.  Its value
-is a list of elements of this form:
+is a list of elements of these forms:
 
 @example
 (@var{regexp} . @var{mode-function})
+(@var{match-function} . @var{mode-function})
 @end example
 
 @noindent
-This looks like an element of @code{auto-mode-alist}, but it doesn't work
-the same: this @var{regexp} is matched against the text at the start
-of the buffer, not against the file name.  @code{magic-mode-alist}
-takes priority over @code{auto-mode-alist}.
+The first form looks like an element of @code{auto-mode-alist}, but it
+doesn't work the same: this @var{regexp} is matched against the text
+at the start of the buffer, not against the file name.  Likewise, the
+second form calls @var{match-function} at the beginning of the buffer,
+and if the function returns non-@code{nil}, the @var{mode-function} is
+called.  @code{magic-mode-alist} takes priority over
+@code{auto-mode-alist}.
 
   You can specify the major mode to use for editing a certain file by
 special text in the first nonblank line of the file.  The
@@ -144,6 +148,14 @@
 @noindent
 @xref{File Variables}, for more information about this.
 
+@vindex auto-mode-case-fold
+  On systems with case-insensitive file names, only a single
+case-insensitive search through the @code{auto-mode-alist} is made.
+On other systems, Emacs normally performs a single case-sensitive
+search through the alist, but if you set this variable to a
+non-@code{nil} value, Emacs will perform a second case-insensitive
+search if the first search fails.
+
 @vindex interpreter-mode-alist
   When a file's contents begin with @samp{#!}, it can serve as an
 executable shell command, which works by running an interpreter named on
--- a/man/mark.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/mark.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -192,7 +192,7 @@
 
 @item
 If Delete Selection mode is also enabled, some commands delete the
-region when used while the mark is active.  @xref{Graphical Kill}.
+region when used while the mark is active.  @xref{Mouse Commands}.
 
 @item
 Quitting with @kbd{C-g} deactivates the mark.
--- a/man/misc.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/misc.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -478,7 +478,8 @@
 @file{~/.emacs_@var{shellname}} as input, if it exists, where
 @var{shellname} is the name of the file that the shell was loaded
 from.  For example, if you use bash, the file sent to it is
-@file{~/.emacs_bash}.
+@file{~/.emacs_bash}.  If this file is not found, Emacs tries to fallback
+on @file{~/.emacs.d/init_@var{shellname}.sh}.
 
   To specify a coding system for the shell, you can use the command
 @kbd{C-x @key{RET} c} immediately before @kbd{M-x shell}.  You can
@@ -1243,28 +1244,36 @@
 @env{EDITOR} to @samp{emacs}, they invoke Emacs---but in an
 inconvenient fashion, by starting a new, separate Emacs process.  This
 is inconvenient because it takes time and because the new Emacs process
-doesn't share the buffers in any existing Emacs process.
+doesn't share the buffers with any existing Emacs process.
 
   You can arrange to use your existing Emacs process as the editor for
-programs like @code{mail} by using the Emacs client and Emacs server
-programs.  Here is how.
+programs like @code{mail} by using the Emacs client program and the
+server that is part of Emacs.  Here is how.
 
 @cindex @env{TEXEDIT} environment variable
-  First, the preparation.  Within Emacs, call the function
-@code{server-start}.  (Your @file{.emacs} file can do this automatically
-if you add the expression @code{(server-start)} to it.)  Then, outside
-Emacs, set the @env{EDITOR} environment variable to @samp{emacsclient}.
-(Note that some programs use a different environment variable; for
-example, to make @TeX{} use @samp{emacsclient}, you should set the
-@env{TEXEDIT} environment variable to @samp{emacsclient +%d %s}.)
+@findex server-start
+  First, the preparations.  Within Emacs, call the function
+@code{server-start}.  (Your @file{.emacs} init file can do this
+automatically if you add the expression @code{(server-start)} to it,
+see @ref{Init File}.)  Then, outside Emacs, set the @env{EDITOR}
+environment variable to @samp{emacsclient}.  (Note that some programs
+use a different environment variable; for example, to make @TeX{} use
+@samp{emacsclient}, you should set the @env{TEXEDIT} environment
+variable to @samp{emacsclient +%d %s}.)
+
+@pindex emacs.bash
+@cindex Bash command to use Emacs server
+  As an alternative to using @code{emacsclient}, the file
+@file{etc/emacs.bash} defines a Bash command @code{edit} which will
+communicate with a running Emacs session, or start one if none exist.
 
 @kindex C-x #
 @findex server-edit
-  Then, whenever any program invokes your specified @env{EDITOR}
+  Now, whenever any program invokes your specified @env{EDITOR}
 program, the effect is to send a message to your principal Emacs telling
 it to visit a file.  (That's what the program @code{emacsclient} does.)
 Emacs displays the buffer immediately and you can immediately begin
-editing it.
+editing it in the already running Emacs session.
 
   When you've finished editing that buffer, type @kbd{C-x #}
 (@code{server-edit}).  This saves the file and sends a message back to
@@ -1296,8 +1305,8 @@
 each one a unique ``server name'', using the variable
 @code{server-name}.  For example, @kbd{M-x set-variable @key{RET}
 server-name @key{RET} foo @key{RET}} sets the server name to
-@samp{foo}.  The @code{emacsclient} program can visit a server by name
-using the @samp{-s} option.  @xref{Invoking emacsclient}.
+@samp{foo}.  The @code{emacsclient} program can specify a server by
+name using the @samp{-s} option.  @xref{Invoking emacsclient}.
 
   While @code{mail} or another application is waiting for
 @code{emacsclient} to finish, @code{emacsclient} does not read terminal
@@ -1334,6 +1343,7 @@
 
 @node Invoking emacsclient,, Emacs Server, Emacs Server
 @subsection Invoking @code{emacsclient}
+@cindex @code{emacsclient} invocation and options
 
   To run the @code{emacsclient} program, specify file names as arguments,
 and optionally line numbers as well, like this:
@@ -1362,37 +1372,52 @@
 @code{emacsclient}, then it returns immediately.  (You can take as
 long as you like to edit the files in Emacs.)
 
-  The option @samp{--alternate-editor=@var{command}} specifies a
-command to run if @code{emacsclient} fails to contact Emacs.  This is
-useful when running @code{emacsclient} in a script.  For example, the
-following setting for the @env{EDITOR} environment variable will
-always give you an editor, even if no Emacs server is running:
+  The option @samp{-a @var{command}} or
+@samp{--alternate-editor=@var{command}} specifies a command to run if
+@code{emacsclient} fails to contact Emacs.  This is useful when
+running @code{emacsclient} in a script.  For example, the following
+setting for the @env{EDITOR} environment variable will always give you
+an editor, even if no Emacs server is running:
 
 @example
 EDITOR="emacsclient --alternate-editor emacs +%d %s"
 @end example
 
 @noindent
+@cindex @env{ALTERNATE_EDITOR} environment variable
 The environment variable @env{ALTERNATE_EDITOR} has the same effect, with
 the value of the @samp{--alternate-editor} option taking precedence.
 
-@pindex emacs.bash
-  Alternatively, the file @file{etc/emacs.bash} defines a bash
-function which will communicate with a running Emacs server, or start
-one if none exists.
-
 If you use several displays, you can tell Emacs on which display to
-open the given files with the option @samp{--display=@var{DISPLAY}}.
-This can be used typically when connecting from home to an Emacs
-server running on your machine at your workplace.
+open the given files with the @samp{-d @var{display}} or
+@samp{--display=@var{display}} option to @code{emacsclient}.  This is
+handy when connecting from home to an Emacs session running on your
+machine at your workplace.
 
 If there is more than one Emacs server running, you can specify a
-server name with the option @samp{-s @var{name}}.
+server name with the @samp{-s @var{name}} or
+@samp{--socket-name=@var{name}} option to @code{emacsclient}.  (This
+option is not supported on MS-Windows.)
 
 You can also use @code{emacsclient} to execute any piece of Emacs Lisp
-code, using the option @samp{--eval}.  When this option is given, the
-rest of the arguments is not taken as a list of files to visit but as
-a list of expressions to evaluate.
+code, using the @samp{-e} or @samp{--eval} option.  When this option
+is given, the rest of the arguments is interpreted as a list of
+expressions to evaluate, not a list of files to visit.
+
+@cindex @env{EMACS_SERVER_FILE} environment variable
+When you start the Emacs server (by calling @code{server-start}),
+Emacs creates a file with information about TCP connection to the
+server: the host where Emacs is running, the port where it is
+listening, and an authentication string.  @code{emacsclient} uses this
+information if it needs to connect to the server via TCP.  By default,
+the file goes in the @file{~/.emacs.d/server/} directory@footnote{On
+MS-Windows, if @env{HOME} is not set or the TCP configuration file
+cannot be found there, Emacs also looks for the file in the
+@file{.emacs.d/server/} subdirectory of the directory pointed to by
+the @env{APPDATA} environment variable.}.  You can specify the file
+name to use with the @samp{-f @var{file}} or
+@samp{--server-file=@var{file}} options, or by setting
+@env{EMACS_SERVER_FILE} environment variable to the file name.
 
 @node Printing, Sorting, Emacs Server, Top
 @section Printing Hard Copies
--- a/man/msdog.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/msdog.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -173,9 +173,9 @@
 @vindex w32-get-true-file-attributes
   If the variable @code{w32-get-true-file-attributes} is
 non-@code{nil} (the default), Emacs tries to determine the accurate
-link counts for files.  This option is only useful on the NT family of
-Windows (2K/XP/2K3), and it considerably slows down Dired and other
-features, so use it only on fast machines.
+link counts for files.  This option is only useful on NTFS volumes,
+and it considerably slows down Dired and other features, so use it
+only on fast machines.
 
 @node ls in Lisp
 @section Emulation of @code{ls} on MS-Windows
@@ -234,10 +234,11 @@
 contains one or more of the symbols @code{links}, @code{uid}, and
 @code{gid}.  @code{links} means display the count of different file
 names that are associated with (a.k.a.@: @dfn{links to}) the file's
-data.  @code{uid} means display the numerical identifier of the user
-who owns the file.  @code{gid} means display the numerical identifier
-of the file owner's group.  The default value is @code{(links uid gid)}
-i.e.@: all the 3 optional attributes are displayed.
+data; this is only useful on NTFS volumes.  @code{uid} means display
+the numerical identifier of the user who owns the file.  @code{gid}
+means display the numerical identifier of the file owner's group.  The
+default value is @code{(links uid gid)} i.e.@: all the 3 optional
+attributes are displayed.
 
 @vindex ls-lisp-emulation
   The variable @code{ls-lisp-emulation} controls the flavour of the
@@ -332,6 +333,13 @@
   This section describes the Windows-specific features related to
 keyboard input in Emacs.
 
+@cindex MS-Windows keyboard shortcuts
+  Many key combinations (known as ``keyboard shortcuts'') that are in
+widespread use in MS-Windows programs are taken by various Emacs
+features.  Examples include @kbd{C-C}, @kbd{C-X}, @kbd{C-Z},
+@kbd{C-A}, and @kbd{W-SPC}.  You can get some of them back by turning
+on CUA Mode (@pxref{CUA Bindings}).
+
 @kindex F10 @r{(MS-Windows)}
 @cindex menu bar access using keyboard @r{(MS-Windows)}
   The @key{F10} key on Windows activates the menu bar in a way that
@@ -420,16 +428,24 @@
 otherwise it is passed to Windows.  The default is @code{t} for both
 of these variables.  Passing each of these keys to Windows produces
 its normal effect: for example, @kbd{@key{Lwindow}} opens the
-@code{Start} menu, etc.
+@code{Start} menu, etc.@footnote{
+Some combinations of the ``Windows'' keys with other keys are caught
+by Windows at low level in a way that Emacs currently cannot prevent.
+For example, @kbd{@key{Lwindow} r} always pops up the Windows
+@samp{Run} dialog.  Customizing the value of
+@code{w32-phantom-key-code} might help in some cases, though.}
 
 @vindex w32-recognize-altgr
 @kindex AltGr @r{(MS-Windows)}
 @cindex AltGr key (MS-Windows)
-  The variable @code{w32-recognize-altgr} controls whether the right
-@key{Alt} and left @key{Ctrl} keys are recognized as the @key{AltGr}
-key.  The default is @code{t}, which means these keys produce
-@code{AltGr}; setting them to @code{nil} causes these keys to be
-interpreted normally (as the respective modifiers).
+  The variable @code{w32-recognize-altgr} controls whether the
+@key{AltGr} key (if it exists on your keyboard), or its equivalent,
+the combination of the right @key{Alt} and left @key{Ctrl} keys
+pressed together, is recognized as the @key{AltGr} key.  The default
+is @code{t}, which means these keys produce @code{AltGr}; setting it
+to @code{nil} causes @key{AltGr} or the equivalent key combination to
+be interpreted as the combination of @key{CTRL} and @key{META}
+modifiers.
 @end ifnottex
 
 @node Windows Mouse
--- a/man/pgg.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/pgg.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -74,10 +74,19 @@
 This document assumes that you have already obtained and installed them
 and that you are familiar with its basic functions.
 
-By default, PGG uses GnuPG, but Pretty Good Privacy version 2 or version
-5 are also supported.  If you are new to such a system, I recommend that
-you should look over the GNU Privacy Handbook (GPH) which is available
-at @uref{http://www.gnupg.org/gph/}.
+By default, PGG uses GnuPG.  If you are new to such a system, I
+recommend that you should look over the GNU Privacy Handbook (GPH)
+which is available at @uref{http://www.gnupg.org/documentation/}.
+
+When using GnuPG, we recommend the use of the @code{gpg-agent}
+program, which is distributed with versions 2.0 and later of GnuPG.
+This is a daemon to manage private keys independently from any
+protocol, and provides the most secure way to input and cache your
+passphrases (@pxref{Caching passphrase}).  By default, PGG will
+attempt to use @code{gpg-agent} if it is running.  @xref{Invoking
+GPG-AGENT,,,gnupg,Using the GNU Privacy Guard}.
+
+PGG also supports Pretty Good Privacy version 2 or version 5.
 
 @node How to use
 @chapter How to use
@@ -238,8 +247,8 @@
 When using GnuPG (gpg) as PGP scheme you can use @code{gpg-agent} for
 caching@footnote{Actually @code{gpg-agent} does not cache passphrases
 but private keys.  On the other hand, from a users point of view this
-technical difference isn't visible.}.  If non-@code{nil} try to use a
-running @code{gpg-agent}.  It defaults to @code{nil}.
+technical difference isn't visible.}.  It defaults to @code{t}.
+Setting this to @code{nil} is not recommended.
 @end defvar
 
 @node Default user identity
--- a/man/programs.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/programs.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -156,23 +156,11 @@
 @cindex open-parenthesis in leftmost column
 @cindex ( in leftmost column
   Emacs assumes by default that any opening delimiter found at the
-left margin is the start of a top-level definition, or defun.  You can
-override this default by setting this user option:
-
-@defvar open-paren-in-column-0-is-defun-start
-If this user option is set to @code{t} (the default), opening
-parentheses or braces at column zero always start defuns.  When it's
-@code{nil}, defuns are found by searching for parens or braces at the
-outermost level.  Some major modes, including C and related modes, set
-@code{open-paren-in-column-0-is-defun-start} buffer-locally to
-@code{nil}
-@end defvar
-
-  In modes where @code{open-paren-in-column-0-is-defun-start} is
-@code{t}, @strong{don't put an opening delimiter at the left margin
-unless it is a defun start}.  For instance, never put an
+left margin is the start of a top-level definition, or defun.
+Therefore, @strong{don't put an opening delimiter at the left margin
+unless it should have that significance}.  For instance, never put an
 open-parenthesis at the left margin in a Lisp file unless it is the
-start of a top-level list.
+start of a top-level list.  
 
   If you don't follow this convention, not only will you have trouble
 when you explicitly use the commands for motion by defuns; other
@@ -182,10 +170,10 @@
 
   The most likely problem case is when you want an opening delimiter
 at the start of a line inside a string.  To avoid trouble, put an
-escape character (@samp{\}, in Emacs Lisp, @samp{/} in some other Lisp
-dialects) before the opening delimiter.  This will not affect the
-contents of the string, but will prevent that opening delimiter from
-starting a defun.  Here's an example:
+escape character (@samp{\}, in C and Emacs Lisp, @samp{/} in some
+other Lisp dialects) before the opening delimiter.  This will not
+affect the contents of the string, but will prevent that opening
+delimiter from starting a defun.  Here's an example:
 
 @example
   (insert "Foo:
@@ -197,6 +185,25 @@
 highlights confusing opening delimiters (those that ought to be
 quoted) in bold red.
 
+If you need to override this convention, you can so by setting this
+user option:
+
+@defvar open-paren-in-column-0-is-defun-start
+If this user option is set to @code{t} (the default), opening
+parentheses or braces at column zero always start defuns.  When it's
+@code{nil}, defuns are found by searching for parens or braces at the
+outermost level.
+@end defvar
+
+  Usually, you shouldn't need to set
+@code{open-paren-in-column-0-is-defun-start} to @code{nil}.  However,
+if your buffer contains parentheses or braces in column zero which
+don't start defuns and this confuses Emacs, it sometimes helps to set
+the option to @code{nil}.  Be aware, though, that this will make
+scrolling and display in large buffers quite sluggish, and that
+parentheses and braces must be correctly matched throughout the buffer
+for it to work properly.
+
   In the earliest days, the original Emacs found defuns by moving
 upward a level of parentheses or braces until there were no more
 levels to go up.  This always required scanning all the way back to
@@ -1557,10 +1564,10 @@
 @table @kbd
 @item C-c C-@key{DEL}
 @itemx C-c @key{DEL}
-@findex c-hungry-backspace
+@findex c-hungry-delete-backwards
 @kindex C-c C-@key{DEL} (C Mode)
 @kindex C-c @key{DEL} (C Mode)
-@code{c-hungry-backspace}---Delete the entire block of whitespace
+@code{c-hungry-delete-backwards}---Delete the entire block of whitespace
 preceding point.
 
 @item C-c C-d
--- a/man/search.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/search.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -488,6 +488,13 @@
 you have searched for @samp{foo} and you add @samp{\|bar}, the cursor
 backs up in case the first @samp{bar} precedes the first @samp{foo}.
 
+  Forward and backward regexp search are not symmetrical, because
+regexp matching in Emacs always operates forward, starting with the
+beginning of the regexp.  Thus, forward regexp search scans forward,
+trying a forward match at each possible starting position.  Backward
+regexp search scans backward, trying a forward match at each possible
+starting position.  These search methods are not mirror images.
+
 @findex re-search-forward
 @findex re-search-backward
   Nonincremental search for a regexp is done by the functions
--- a/man/text.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/text.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -1039,29 +1039,33 @@
 deeper heading lines and their body lines is called a @dfn{subtree}.
 
 @vindex outline-regexp
-  You can customize the criterion for distinguishing heading lines
-by setting the variable @code{outline-regexp}.  Any line whose
-beginning has a match for this regexp is considered a heading line.
-Matches that start within a line (not at the left margin) do not count.
-The length of the matching text determines the level of the heading;
-longer matches make a more deeply nested level.  Thus, for example,
-if a text formatter has commands @samp{@@chapter}, @samp{@@section}
-and @samp{@@subsection} to divide the document into chapters and
-sections, you could make those lines count as heading lines by
-setting @code{outline-regexp} to @samp{"@@chap\\|@@\\(sub\\)*section"}.
-Note the trick: the two words @samp{chapter} and @samp{section} are equally
+  You can customize the criterion for distinguishing heading lines by
+setting the variable @code{outline-regexp}.  (The recommended ways to
+do this are in a major mode function or with a file local variable.)
+Any line whose beginning has a match for this regexp is considered a
+heading line.  Matches that start within a line (not at the left
+margin) do not count.
+
+  The length of the matching text determines the level of the heading;
+longer matches make a more deeply nested level.  Thus, for example, if
+a text formatter has commands @samp{@@chapter}, @samp{@@section} and
+@samp{@@subsection} to divide the document into chapters and sections,
+you could make those lines count as heading lines by setting
+@code{outline-regexp} to @samp{"@@chap\\|@@\\(sub\\)*section"}.  Note
+the trick: the two words @samp{chapter} and @samp{section} are equally
 long, but by defining the regexp to match only @samp{chap} we ensure
 that the length of the text matched on a chapter heading is shorter,
-so that Outline mode will know that sections are contained in chapters.
-This works as long as no other command starts with @samp{@@chap}.
+so that Outline mode will know that sections are contained in
+chapters.  This works as long as no other command starts with
+@samp{@@chap}.
 
 @vindex outline-level
-  You can change the rule for calculating the level of a heading line
-by setting the variable @code{outline-level}.  The value of
-@code{outline-level} should be a function that takes no arguments and
-returns the level of the current heading.  Some major modes such as C,
-Nroff, and Emacs Lisp mode set this variable and @code{outline-regexp}
-in order to work with Outline minor mode.
+  You can explicitly specify a rule for calculating the level of a
+heading line by setting the variable @code{outline-level}.  The value
+of @code{outline-level} should be a function that takes no arguments
+and returns the level of the current heading.  The recommended ways to
+set this variable are in a major mode command or with a file local
+variable.
 
 @node Outline Motion
 @subsection Outline Motion Commands
@@ -1840,7 +1844,7 @@
 Run a shell command (which you must specify) to validate the current
 buffer as SGML (@code{sgml-validate}).
 
-@item C-x TAB
+@item C-c TAB
 @kindex C-c TAB @r{(SGML mode)}
 @findex sgml-tags-invisible
 Toggle the visibility of existing tags in the buffer.  This can be
--- a/man/tramp.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/tramp.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -832,6 +832,26 @@
 This method supports the @samp{-p} hack.
 
 
+@item @option{scpc} --- @command{ssh} and @command{scp}
+@cindex method scpx
+@cindex scpx method
+@cindex scp (with scpx method)
+@cindex ssh (with scpx method)
+
+Newer versions of @option{ssh} (for example OpenSSH 4) offer an option
+@option{ControlMaster}.  This allows @option{scp} to reuse an existing
+@option{ssh} channel, which increases performance.
+
+Before you use this method, you shall check whether your @option{ssh}
+implementation does support this option.  Try from the command line
+
+@example
+ssh localhost -o ControlMaster=yes
+@end example
+
+This method supports the @samp{-p} hack.
+
+
 @item @option{pscp} --- @command{plink} and @command{pscp}
 @cindex method pscp
 @cindex pscp method
--- a/man/trampver.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/trampver.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -4,12 +4,12 @@
 @c In the Tramp CVS, the version number is auto-frobbed from
 @c configure.ac, so you should edit that file and run
 @c "autoconf && ./configure" to change the version number.
-@set trampver 2.0.54
+@set trampver 2.0.55
 
 @c Other flags from configuration
 @set prefix /usr/local
 @set lispdir /usr/local/share/emacs/site-lisp
-@set infodir /usr/local/info
+@set infodir /usr/local/share/info
 
 @c Formatting of the tramp program name consistent.
 @set tramp @sc{tramp}
--- a/man/xresources.texi	Sun Dec 03 15:12:18 2006 +0000
+++ b/man/xresources.texi	Mon Jan 01 17:38:32 2007 +0000
@@ -11,7 +11,7 @@
 @xref{MS-Windows Registry}.  Likewise, Emacs on MacOS Carbon emulates X
 resources using the Preferences system.  @xref{Mac Environment Variables}.
 
-  When Emacs is built using an ``X toolkit'', such as Lucid or 
+  When Emacs is built using an ``X toolkit'', such as Lucid or
 LessTif, you need to use X resources to customize the appearance of
 the widgets, including the menu-bar, scroll-bar, and dialog boxes.
 This is because the libraries that implement these don't provide for
@@ -73,7 +73,7 @@
 these names.  Each resource specification in @file{~/.Xdefaults}
 states the name of the program and the name of the resource.  For
 Emacs, the program name is @samp{Emacs}.  It looks like this:
- 
+
 @example
 Emacs.borderWidth: 2
 @end example
@@ -321,6 +321,9 @@
 the tool bar.  If the value is non-zero and
 @code{auto-resize-tool-bars} is non-@code{nil}, the tool bar's size
 will be changed automatically so that all tool bar items are visible.
+  If the value of @code{auto-resize-tool-bars} is @code{grow-only},
+the tool bar expands automatically, but does not contract automatically.
+To contract the tool bar, you must redraw the frame by entering @kbd{C-l}.
 
 @item @code{useXIM} (class @code{UseXIM})
 @cindex XIM
@@ -438,7 +441,7 @@
 
 @noindent
 Resources for @emph{non-menubar} toolkit pop-up menus have
-@samp{menu*} instead of @samp{pane.menubar}.  For example, to specify 
+@samp{menu*} instead of @samp{pane.menubar}.  For example, to specify
 the font @samp{8x16} for the pop-up menu items, write this:
 
 @example
@@ -701,7 +704,7 @@
 widget "Emacs.pane.menubar" style "my_style"
 widget "Emacs.pane.emacs.verticalScrollBar" style "my_style"
 @end smallexample
- 
+
 But to avoid having to type it all, wildcards are often used.  @samp{*}
 matches zero or more characters and @samp{?} matches one character.  So "*"
 matches all widgets.
--- a/msdos/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/msdos/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,7 @@
+2006-12-04  Eli Zaretskii  <eliz@gnu.org>
+
+	* sed2v2.inp (HAVE_SYNC): Define.
+
 2006-11-25  Eli Zaretskii  <eliz@gnu.org>
 
 	* sed1v2.inp (CFLAGS_SOUND): Edit out.
@@ -620,7 +624,7 @@
 	* sed1.inp: New file for changing src/makefile.in.in into src/makefile
 
 ;; Local Variables:
-;; coding: iso-2022-7bit-unix
+;; coding: iso-2022-7bit
 ;; add-log-time-zone-rule: t
 ;; End:
 
--- a/msdos/sed2v2.inp	Sun Dec 03 15:12:18 2006 +0000
+++ b/msdos/sed2v2.inp	Mon Jan 01 17:38:32 2007 +0000
@@ -51,6 +51,7 @@
 /^#undef HAVE_RINDEX *$/s/^.*$/#define HAVE_RINDEX 1/
 /^#undef HAVE_MKSTEMP *$/s/^.*$/#define HAVE_MKSTEMP 1/
 /^#undef HAVE_STRUCT_TM_TM_ZONE *$/s/^.*$/#define HAVE_STRUCT_TM_TM_ZONE 1/
+/^#undef HAVE_SYNC *$/s/^.*$/#define HAVE_SYNC 1/
 /^#undef PACKAGE_BUGREPORT/s/^.*$/#define PACKAGE_BUGREPORT ""/
 /^#undef PACKAGE_NAME/s/^.*$/#define PACKAGE_NAME ""/
 /^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/
--- a/nt/.cvsignore	Sun Dec 03 15:12:18 2006 +0000
+++ b/nt/.cvsignore	Mon Jan 01 17:38:32 2007 +0000
@@ -5,3 +5,4 @@
 makefile
 obj
 oo
+stamp_BLD
--- a/nt/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/nt/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,65 @@
+2006-12-29  Jason Rumney  <jasonr@gnu.org>
+
+	* nmake.defs (TEMACS_EXTRA_LINK): Remove duplicated flags from
+	DEBUG_LINK.
+	(DEBUG_LINK): Remove -debugtype:both
+
+2006-12-27  Eli Zaretskii  <eliz@gnu.org>
+
+	* INSTALL: Update table of supported Make ports.  Show "make -j"
+	command that is known to work.
+
+	* configure.bat: Update table of supported Make ports.
+
+2006-12-24  Eli Zaretskii  <eliz@gnu.org>
+
+	* makefile.w32-in ($(TRES)): Don't use $<, as nmake supports it
+	only in implicit rules.  Use literal "emacs.rc" instead.
+
+2006-12-23  Eli Zaretskii  <eliz@gnu.org>
+
+	* gmake.defs: Export XMFLAGS.
+
+	* makefile.w32-in (all-other-dirs-nmake, recompile-nmake): Don't
+	use $(XMFLAGS) for nmake, as it doesn't support parallelism.
+
+2006-12-22  Eli Zaretskii  <eliz@gnu.org>
+
+	* INSTALL: Explain how to invoke GNU Make for parallel builds.
+
+	* makefile.w32-in (bootstrap-gmake): Pass XMFLAGS="$(XMFLAGS)"
+	command-line argument to sub-Make in src, since src/makefile.w32-in
+	invokes Make recursively during bootstrap.
+	(clean): Delete stamp_BLD.
+	(bootstrap): Make `all' explicitly in a recursive Make.
+
+	* gmake.defs (stamp_BLD): Rename from $(BLD).  Create a file
+	stamp_BLD after creating the $(BLD) directory.
+
+	* nmake.defs (stamp_BLD): Rename from $(BLD).  Create a file
+	stamp_BLD after creating the $(BLD) directory.
+
+	* makefile.w32-in (addpm, ddeclient, cmdproxy, addsection)
+	(preprep, $(TRES), runemacs)
+	($(BLD)/addpm.$(O), $(BLD)/ddeclient.$(O), $(BLD)/runemacs.$(O))
+	($(BLD)/cmdproxy.$(O), (BLD)/addsection.$(O), $(BLD)/preprep.$(O)):
+	Depend on stamp_BLD instead of on $(BLD).
+	(XMFLAGS): New macro.
+	(all-other-dirs-nmake, all-other-dirs-gmake, recompile-nmake)
+	(recompile-gmake, bootstrap-gmake, bootstrap-clean-gmake)
+	(install-other-dirs-gmake, info-gmake, clean-other-dirs-gmake)
+	(cleanall-other-dirs-gmake): Pass $(XMFLAGS) to sub-Make.
+
+2006-12-20  Eli Zaretskii  <eliz@gnu.org>
+
+	* makefile.w32-in ($(TRES)): Depend on $(BLD).  Use $< instead of
+	$(ALL_DEPS).
+	($(BLD)/addpm.$(O), $(BLD)/ddeclient.$(O), $(BLD)/runemacs.$(O)
+	($(BLD)/cmdproxy.$(O), $(BLD)/addsection.$(O), $(BLD)/preprep.$(O)):
+	New dependency on $(BLD).
+	(all-other-dirs-nmake, all-other-dirs-gmake, bootstrap-nmake)
+	(bootstrap-gmake): Depend on addsection.
+
 2006-10-29  Juanma Barranquero  <lekktu@gmail.com>
 
 	* runemacs.c (WinMain): Process all recognized arguments, not just
--- a/nt/INSTALL	Sun Dec 03 15:12:18 2006 +0000
+++ b/nt/INSTALL	Mon Jan 01 17:38:32 2007 +0000
@@ -43,7 +43,18 @@
        gmake
 
      (If you are building from CVS, say "make bootstrap" or "nmake
-     bootstrap" instead and avoid using Cygwin make.)
+     bootstrap" instead, and avoid using Cygwin make.)
+
+     With GNU Make, you can use the -j command-line option to have
+     Make execute several commands at once, like this:
+
+       gmake -j 2 XMFLAGS="-j 2"
+
+     The XMFLAGS variable overrides the default behavior of GNU Make
+     on Windows, whereby recursive Make invocations reset the maximum
+     number of simultaneous commands to 1.  The above command allows
+     up to 4 simultaneous commands at once in the top-level Make, and
+     up to 3 in each one of the recursive Make's.
 
   4. Generate the Info manuals (only if you are building out of CVS, and
      if you have makeinfo.exe installed):
@@ -95,6 +106,9 @@
   build (latest versions of the Cygwin toolkit, at least since v1.3.3,
   include the MinGW headers and libraries as an integral part).
 
+  Note that building Emacs with Visual Studio 2005 is not supported at
+  this time.
+
   The rest of this file assumes you have a working development
   environment.  If you just installed  such an environment, try
   building a trivial C "Hello world" program, and see if it works.  If
@@ -132,7 +146,7 @@
     cygwin compiled make 3.80:           fails?[6]     fails?[6]
     cygwin compiled make 3.81:           fails         fails?[6]
     mingw32 compiled make 3.79.1:        okay          okay
-    mingw32 compiled make 3.80:          okay          unknown[6]
+    mingw32 compiled make 3.80:          okay          okay[6]
     mingw32 compiled make 3.81:          okay          okay[7]
 
   Notes:
@@ -145,7 +159,7 @@
     [4] may fail on Windows 9X and Windows ME; if so, install Bash.
     [5] fails when building leim due to the use of cygwin style paths.
         May work if building emacs without leim.
-    [6] please report if you try this combination.
+    [6] not recommended; please report if you try this combination.
     [7] tested only on Windows XP.
 
   Other compilers may work, but specific reports from people that have
@@ -252,6 +266,18 @@
   The warnings may be fixed in the main FSF source at some point, but
   until then we will just live with them.
 
+  With GNU Make, you can use the -j command-line option to have Make
+  execute several commands at once, like this:
+
+    gmake -j 4 XMFLAGS="-j 3"
+
+  The XMFLAGS variable overrides the default behavior of GNU Make on
+  Windows, whereby recursive Make invocations reset the maximum number
+  of simultaneous commands to 1.  The above command allows up to 4
+  simultaneous commands at once in the top-level Make, and up to 3 in
+  each one of the recursive Make's; you can use other numbers of jobs,
+  if you wish.
+
   If you are building from CVS, the following commands will produce
   the Info manuals (which are not part of the CVS repository):
 
--- a/nt/configure.bat	Sun Dec 03 15:12:18 2006 +0000
+++ b/nt/configure.bat	Mon Jan 01 17:38:32 2007 +0000
@@ -25,27 +25,38 @@
 rem
 rem   + MS Windows 95/98/Me or NT/2000/XP
 rem   + either MSVC 2.x or later, or gcc-2.95 or later (with gmake 3.75
-rem     or later) and the Mingw32 and W32 API headers and libraries
+rem     or later) and the Mingw32 and W32 API headers and libraries.
+rem   + Visual Studio 2005 is not supported at this time.
 rem
 rem For reference, here is a list of which builds of gmake are known to
 rem work or not, and whether they work in the presence and/or absence of
 rem sh.exe.
 rem
 rem                                       sh exists     no sh
-rem  cygwin b20.1 make (3.75):            okay[1]       fails[2]
+rem  cygwin b20.1 make (3.75):            fails[1,5]    fails[2,5]
 rem  MSVC compiled gmake 3.77:            okay          okay
 rem  MSVC compiled gmake 3.78.1:          okay          okay
 rem  MSVC compiled gmake 3.79.1:          okay          okay
-rem  mingw32/gcc-2.92.2 make (3.77):      okay          okay
-rem  cygwin compiled gmake 3.77:          okay[1]       fails[2]
-rem  cygwin compiled gmake 3.78.1:        okay          fails[2]
-rem  cygwin compiled gmake 3.79.1:        couldn't build make[3]
+rem  mingw32/gcc-2.92.2 make (3.77):      okay          okay[4]
+rem  cygwin compiled gmake 3.77:          fails[1,5]    fails[2,5]
+rem  cygwin compiled gmake 3.78.1:        fails[5]      fails[2,5]
+rem  cygwin compiled gmake 3.79.1:        fails[3,5]    fails[2?,5]
+rem  cygwin compiled make 3.80:           fails?[6]     fails?[6]
+rem  cygwin compiled make 3.81:           fails         fails?[6]
+rem  mingw32 compiled make 3.79.1:        okay          okay
+rem  mingw32 compiled make 3.80:          okay          okay?[6]
+rem  mingw32 compiled make 3.81:          okay          okay[7]
 rem
 rem [1] doesn't cope with makefiles with DOS line endings, so must mount
 rem     emacs source with text!=binary.
 rem [2] fails when needs to invoke shell commands; okay invoking gcc etc.
-rem [3] requires LC_MESSAGES support to build; maybe 2.95.x update to
-rem     cygwin provides this?
+rem [3] requires LC_MESSAGES support to build; cannot build with early
+rem     versions of cygwin.
+rem [4] may fail on Windows 9X and Windows ME; if so, install Bash.
+rem [5] fails when building leim due to the use of cygwin style paths.
+rem     May work if building emacs without leim.
+rem [6] not recommended; please report if you try this combination.
+rem [7] tested only on Windows XP.
 rem
 
 if exist config.log del config.log
--- a/nt/emacs.rc	Sun Dec 03 15:12:18 2006 +0000
+++ b/nt/emacs.rc	Mon Jan 01 17:38:32 2007 +0000
@@ -6,8 +6,8 @@
 #endif
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 22,0,91,0
- PRODUCTVERSION 22,0,91,0
+ FILEVERSION 22,0,92,0
+ PRODUCTVERSION 22,0,92,0
  FILEFLAGSMASK 0x3FL
 #ifdef EMACSDEBUG
  FILEFLAGS 0x1L
@@ -24,12 +24,12 @@
 	BEGIN
 	    VALUE "CompanyName", "Free Software Foundation\0"
 	    VALUE "FileDescription", "GNU Emacs for Windows NT/95/98/2000/ME/XP\0"
-	    VALUE "FileVersion", "22, 0, 91, 0\0"
+	    VALUE "FileVersion", "22, 0, 92, 0\0"
 	    VALUE "InternalName", "Emacs\0"
 	    VALUE "LegalCopyright", "Copyright (C) 2002, 2003, 2004, 2005, 2006\0"
 	    VALUE "OriginalFilename", "emacs.exe"
 	    VALUE "ProductName", "Emacs: The extensible self-documenting text editor\0"
-	    VALUE "ProductVersion", "22, 0, 91, 0\0"
+	    VALUE "ProductVersion", "22, 0, 92, 0\0"
 	    VALUE "OLESelfRegister", "\0"
 	 END
      END
--- a/nt/gmake.defs	Sun Dec 03 15:12:18 2006 +0000
+++ b/nt/gmake.defs	Mon Jan 01 17:38:32 2007 +0000
@@ -200,8 +200,9 @@
 endif
 $(OBJDIR):;	-mkdir "$(OBJDIR)"
 BLD             = $(OBJDIR)/$(ARCH)
-$(BLD):         $(OBJDIR)
+stamp_BLD:      $(OBJDIR)
 		-mkdir "$(BLD)"
+		echo $(BLD) > $@
 
 COMPILER_TEMP_FILES =
 
@@ -266,6 +267,8 @@
 
 LINK_FLAGS	= $(ARCH_LDFLAGS) $(DEBUG_LINK) $(NOCYGWIN) $(USER_LDFLAGS)
 
+export XMFLAGS
+
 .DEFAULT:
 
 $(BLD)/%.o: %.c
--- a/nt/makefile.w32-in	Sun Dec 03 15:12:18 2006 +0000
+++ b/nt/makefile.w32-in	Mon Jan 01 17:38:32 2007 +0000
@@ -21,33 +21,38 @@
 #  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 #  Boston, MA 02110-1301, USA.
 
+# FIXME: This file uses DOS EOLs.  Convert to Unix after 22.1 is out
+#        (and remove or replace this comment).
+
 ALL		= addpm ddeclient runemacs cmdproxy addsection preprep
 
 .PHONY: $(ALL)
 
 TRES		= $(BLD)/emacs.res
 
-addpm:		  $(BLD) $(BLD)/addpm.exe
+XMFLAGS		=
+
+addpm:		  stamp_BLD $(BLD)/addpm.exe
 $(BLD)/addpm.exe: $(BLD)/addpm.$(O)
 		  $(LINK) $(LINK_OUT)$@ \
 		  $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
 
-ddeclient:	  $(BLD) $(BLD)/ddeclient.exe
+ddeclient:	  stamp_BLD $(BLD)/ddeclient.exe
 $(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)
 		  $(LINK) $(LINK_OUT)$@ \
 		  $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
 
-cmdproxy:	  $(BLD) $(BLD)/cmdproxy.exe
+cmdproxy:	  stamp_BLD $(BLD)/cmdproxy.exe
 $(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)
 		  $(LINK) $(LINK_OUT)$@ \
 		  $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
 
-addsection:	  $(BLD) $(BLD)/addsection.exe
+addsection:	  stamp_BLD $(BLD)/addsection.exe
 $(BLD)/addsection.exe: $(BLD)/addsection.$(O)
 		  $(LINK) $(LINK_OUT)$@ \
 		  $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
 
-preprep:	  $(BLD) $(BLD)/preprep.exe
+preprep:	  stamp_BLD $(BLD)/preprep.exe
 $(BLD)/preprep.exe: $(BLD)/preprep.$(O)
 		  $(LINK) $(LINK_OUT)$@ \
 		  $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS)
@@ -56,10 +61,10 @@
 # The resource file.  NT 3.10 requires the use of cvtres; even though
 # it is not necessary on later versions, it is still ok to use it.
 #
-$(TRES):	emacs.rc
-		$(RC) $(RC_OUT)$(BLD)/emacs.res $(ALL_DEPS)
+$(TRES):	emacs.rc stamp_BLD
+		$(RC) $(RC_OUT)$(BLD)/emacs.res emacs.rc
 
-runemacs:	  $(BLD) $(BLD)/runemacs.exe
+runemacs:	  stamp_BLD $(BLD)/runemacs.exe
 $(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)
 		  $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \
 		  $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
@@ -67,12 +72,18 @@
 which-sh:
 	@echo Using $(THE_SHELL) as shell.
 
+# These depend on stamp_BLD to make sure the $(BLD) directory is created
+# before the compilation begins, even if Make runs several commands
+# in parallel under "make -j".
+#
+$(BLD)/addpm.$(O) $(BLD)/ddeclient.$(O) $(BLD)/runemacs.$(O) $(BLD)/cmdproxy.$(O) $(BLD)/addsection.$(O) $(BLD)/preprep.$(O): stamp_BLD
+
 #
 # Build emacs
 #
-all:	which-sh $(BLD) $(ALL) maybe-bootstrap all-other-dirs-$(MAKETYPE)
+all:	which-sh stamp_BLD $(ALL) maybe-bootstrap all-other-dirs-$(MAKETYPE)
 
-all-other-dirs-nmake:
+all-other-dirs-nmake: addsection
 	cd ..\lib-src
 	$(MAKE) $(MFLAGS) all
 	cd ..\src
@@ -83,11 +94,11 @@
 	$(MAKE) $(MFLAGS) all
 	cd ..\nt
 
-all-other-dirs-gmake:
-	$(MAKE) $(MFLAGS) -C ../lib-src all
-	$(MAKE) $(MFLAGS) -C ../src all
-	$(MAKE) $(MFLAGS) -C ../lisp all
-	$(MAKE) $(MFLAGS) -C ../leim all
+all-other-dirs-gmake: addsection
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src all
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src all
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp all
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim all
 
 recompile:	recompile-$(MAKETYPE)
 
@@ -97,7 +108,7 @@
 	cd ..\nt
 
 recompile-gmake:
-	$(MAKE) $(MFLAGS) -C ../lisp recompile
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp recompile
 
 #### Bootstrapping.
 
@@ -127,9 +138,10 @@
 	  exit -1; \
 	fi
 
-bootstrap:	addsection bootstrap-$(MAKETYPE) all
+bootstrap:	addsection bootstrap-$(MAKETYPE)
+	$(MAKE) $(MFLAGS) $(XMFLAGS) all
 
-bootstrap-nmake:
+bootstrap-nmake: addsection
 	cd ..\lisp
 	$(MAKE) $(MFLAGS) bootstrap-clean
 	cd ..\src
@@ -145,14 +157,14 @@
 	$(MAKE) $(MFLAGS) DOC
 	cd ..\nt
 
-bootstrap-gmake:
-	$(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean
-	$(MAKE) $(MFLAGS) -C ../src clean
-	$(MAKE) $(MFLAGS) -C ../lib-src clean
-	$(MAKE) $(MFLAGS) -C ../src bootstrap
-	$(MAKE) $(MFLAGS) -C ../src bootstrap-clean
-	$(MAKE) $(MFLAGS) -C ../lisp bootstrap
-	$(MAKE) $(MFLAGS) -C ../lib-src DOC
+bootstrap-gmake: addsection
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src DOC
 
 bootstrap-clean: bootstrap-clean-$(MAKETYPE)
 
@@ -163,8 +175,8 @@
 	$(MAKE) $(MFLAGS) bootstrap-clean
 
 bootstrap-clean-gmake:
-	$(MAKE) $(MFLAGS) -C ../src bootstrap-clean
-	$(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean
 
 $(INSTALL_DIR):
 	- mkdir "$(INSTALL_DIR)"
@@ -209,10 +221,10 @@
 	cd ..\nt
 
 install-other-dirs-gmake:
-	$(MAKE) $(MFLAGS) -C ../lib-src install
-	$(MAKE) $(MFLAGS) -C ../src install
-	$(MAKE) $(MFLAGS) -C ../lisp install
-	$(MAKE) $(MFLAGS) -C ../leim install
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src install
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src install
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install
 
 force-info:
 # Note that man/makefile knows how to
@@ -229,15 +241,16 @@
 	$(MAKE) $(MFLAGS) info
 
 info-gmake:
-	$(MAKE) $(MFLAGS) -C ../man info
-	$(MAKE) $(MFLAGS) -C ../lispref info
-	$(MAKE) $(MFLAGS) -C ../lispintro info
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../man info
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lispref info
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lispintro info
 #
 # Maintenance
 #
 clean:	clean-other-dirs-$(MAKETYPE)
 	- $(DEL) *~ $(COMPILER_TEMP_FILES)
 	- $(DEL_TREE) $(OBJDIR)
+	- $(DEL) stamp_BLD
 	- $(DEL) ../etc/DOC ../etc/DOC-X
 
 clean-other-dirs-nmake:
@@ -258,10 +271,10 @@
 	cd ..\nt
 
 clean-other-dirs-gmake:
-	$(MAKE) $(MFLAGS) -C ../lib-src clean
-	$(MAKE) $(MFLAGS) -C ../src clean
-	$(MAKE) $(MFLAGS) -C ../lisp clean
-	$(MAKE) $(MFLAGS) -C ../leim clean
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp clean
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim clean
 
 cleanall-other-dirs-nmake:
 	cd ..\lib-src
@@ -271,8 +284,8 @@
 	cd ..\nt
 
 cleanall-other-dirs-gmake:
-	$(MAKE) $(MFLAGS) -C ../lib-src cleanall
-	$(MAKE) $(MFLAGS) -C ../src cleanall
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src cleanall
+	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src cleanall
 
 cleanall: clean cleanall-other-dirs-$(MAKETYPE)
 	 - $(DEL_TREE) obj
--- a/nt/nmake.defs	Sun Dec 03 15:12:18 2006 +0000
+++ b/nt/nmake.defs	Mon Jan 01 17:38:32 2007 +0000
@@ -139,7 +139,7 @@
 
 # see comments in allocate_heap in w32heap.c before changing any of the
 # -stack, -heap, or -base settings.
-TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -debug:full -debugtype:both -pdb:$(BLD)\temacs.pdb -machine:$(ARCH) $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK)
+TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -pdb:$(BLD)\temacs.pdb -machine:$(ARCH) $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK)
 
 !ifdef NOOPT
 OBJDIR          = obj
@@ -148,8 +148,9 @@
 !endif
 $(OBJDIR):;	-mkdir $(OBJDIR)
 BLD             = $(OBJDIR)/$(ARCH)
-$(BLD):         $(OBJDIR)
+stamp_BLD:      $(OBJDIR)
 		-mkdir "$(BLD)"
+		echo $(BLD) > $@
 
 COMPILER_TEMP_FILES = *.pdb
 
@@ -172,7 +173,7 @@
 DEBUG_LINK =
 !else
 DEBUG_FLAG = -Zi
-DEBUG_LINK = -debug:full -debugtype:both
+DEBUG_LINK = -debug:full
 !endif
 
 !if "$(ARCH)" == "i386"
--- a/oldXMenu/Activate.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/Activate.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,5 @@
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 #include "copyright.h"
--- a/oldXMenu/AddPane.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/AddPane.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/AddSel.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/AddSel.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -440,7 +440,7 @@
 
 
 ;; Local Variables:
-;; coding: iso-2022-7bit-unix
+;; coding: iso-2022-7bit
 ;; add-log-time-zone-rule: t
 ;; End:
 
--- a/oldXMenu/ChgPane.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/ChgPane.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/ChgSel.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/ChgSel.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/Create.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/Create.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,5 @@
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 #include "copyright.h"
--- a/oldXMenu/DelPane.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/DelPane.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/DelSel.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/DelSel.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/Destroy.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/Destroy.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/Error.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/Error.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/EvHand.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/EvHand.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/FindPane.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/FindPane.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/FindSel.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/FindSel.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/InsPane.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/InsPane.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/InsSel.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/InsSel.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/Internal.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/Internal.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/Locate.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/Locate.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/Post.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/Post.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/Recomp.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/Recomp.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/SetAEQ.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/SetAEQ.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/SetFrz.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/SetFrz.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/SetPane.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/SetPane.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/SetSel.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/SetSel.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/X10.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/X10.h	Mon Jan 01 17:38:32 2007 +0000
@@ -15,7 +15,7 @@
  *
  */
 
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/XCrAssoc.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/XCrAssoc.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,5 @@
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/XDelAssoc.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/XDelAssoc.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,5 @@
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/XDestAssoc.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/XDestAssoc.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,5 @@
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/XLookAssoc.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/XLookAssoc.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,5 @@
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/XMakeAssoc.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/XMakeAssoc.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,5 @@
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/XMenu.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/XMenu.h	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 #include "copyright.h"
 
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/XMenuInt.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/XMenuInt.h	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,5 @@
 /* Copyright    Massachusetts Institute of Technology    1985	*/
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /*
--- a/oldXMenu/copyright.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/copyright.h	Mon Jan 01 17:38:32 2007 +0000
@@ -16,7 +16,7 @@
 
 */
 
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /* arch-tag: c689b1bc-a3ba-41a1-baa0-a3622b5445b2
--- a/oldXMenu/insque.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/oldXMenu/insque.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005,
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.  */
 
 /* This file implements the emacs_insque and emacs_remque functions,
--- a/src/.cvsignore	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/.cvsignore	Mon Jan 01 17:38:32 2007 +0000
@@ -19,3 +19,4 @@
 stamp-oldxmenu
 temacs
 buildobj.lst
+stamp_BLD
--- a/src/.gdbinit	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/.gdbinit	Mon Jan 01 17:38:32 2007 +0000
@@ -34,6 +34,10 @@
 # Make it work like SIGINT normally does.
 handle SIGTSTP nopass
 
+# Pass on user signals
+handle SIGUSR1 noprint pass
+handle SIGUSR2 noprint pass
+
 # Don't pass SIGALRM to Emacs.  This makes problems when
 # debugging.
 handle SIGALRM ignore
--- a/src/ChangeLog	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/ChangeLog	Mon Jan 01 17:38:32 2007 +0000
@@ -1,3 +1,348 @@
+2006-12-31  Jan Dj,Ad(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,Ad(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,Ad(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,Ad(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.
@@ -466,7 +811,7 @@
 2006-10-19  Jan Dj,Ad(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.
+	is nil or XCDR (converted_selection) is nil, decline the request.
 
 2006-10-16  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
@@ -2571,8 +2916,8 @@
 	(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
+	* Makefile.in (CFLAGS_SOUND): New flags for ALSA.
+	(ALL_CFLAGS): Add CFLAGS_SOUND.
 
 2006-05-18  Kenichi Handa  <handa@m17n.org>
 
@@ -4196,8 +4541,8 @@
 
 2006-01-31  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
-	* gtkutil.c (update_frame_tool_bar): Use new tool bar functions
-	(gtk_toolbar_insert) so we can have tool bars of different sizes.
+	* 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>
 
@@ -4525,7 +4870,7 @@
 
 2005-12-27  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
-	* xfns.c: x_show_hidden_files, new variable.
+	* xfns.c (x_show_hidden_files): New variable.
 	(syms_of_xfns): Defvar it.
 
 	* gtkutil.c (xg_toggle_visibility_cb): New function.
@@ -6810,7 +7155,7 @@
 
 	* 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.
+	(w32_use_full_screen_buffer): Default to nil.
 
 2005-07-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
@@ -10019,7 +10364,7 @@
 
 	* 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]
+	[Bug report by Drew Adams in November.]
 	(x_check_expected_move): Do not set change_gravity to 1 when calling
 	x_set_offset.
 
@@ -10069,8 +10414,8 @@
 	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.
+	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.
@@ -10080,7 +10425,7 @@
 
 	* emacs.c (Fdump_emacs): Call reset_malloc_hooks.
 
-	* keyboard.c: Conditionally include pthread.h
+	* 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.
 
@@ -10890,7 +11235,7 @@
 
 2004-11-02  Kim F. Storm  <storm@cua.dk>
 
-	* Makefile.in (callproc.o): Depend on blockinput.h atimer.h systime.h.
+	* Makefile.in (callproc.o): Depend on blockinput.h, atimer.h, systime.h.
 
 2004-11-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
@@ -10951,10 +11296,9 @@
 	* 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.
+	* 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.
@@ -10991,7 +11335,7 @@
 	tool_bar_items to assignment of result.
 
 	* atimer.c (alarm_signal_handler): Do not call set_alarm if
-	pending_atmers is non-zero.
+	pending_atimers is non-zero.
 
 2004-10-31  Kim F. Storm  <storm@cua.dk>
 
@@ -14611,14 +14955,14 @@
 	* xterm.c (handle_one_xevent): Call x_handle_dnd_message for
 	ClientMessages.
 
-	* xselect.c: Include termhooks.h and X11/Xproto.h
+	* 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
+	* 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,
@@ -18179,7 +18523,7 @@
 
 2003-03-23  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
-	* xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
+	* 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.
@@ -18416,7 +18760,7 @@
 	* 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.
+	(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
@@ -18717,7 +19061,7 @@
 2003-02-25  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* keyboard.c (cancel_hourglass_unwind): Surround with
-	#ifdef HAVE_X_WINDOWS
+	#ifdef HAVE_X_WINDOWS.
 
 2003-02-25  Kenichi Handa  <handa@m17n.org>
 
@@ -19278,7 +19622,7 @@
 
 2003-01-21  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
-	* gtkutil.c: Must include stdio.h before termhooks.h
+	* gtkutil.c: Must include stdio.h before termhooks.h.
 
 2003-01-21  Dave Love  <fx@gnu.org>
 
@@ -19324,7 +19668,7 @@
 	* xterm.c (handle_one_xevent): Surround popup_activated
 	with #ifdef:s for non-toolkit version.
 
-	* Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
+	* 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.
@@ -19370,7 +19714,7 @@
 	(syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
 
 	* xmenu.c: Include gtkutil.h for USE_GTK.
-	(Fx_popup_menu): Use current position if x and y is NIL.
+	(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.
@@ -19400,7 +19744,7 @@
 	(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_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.
@@ -19427,7 +19771,7 @@
 	* dispnew.c (adjust_frame_glyphs_for_window_redisplay):
 	Add check for USE_GTK.
 
-	* config.in: Added HAVE_GTK
+	* config.in: Added HAVE_GTK.
 
 	* alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
 
@@ -20653,7 +20997,7 @@
 	Only when it is non-nil, handle composition sequence.
 	(setup_coding_system) <0>: Don't force composition handling.
 
-	* Makefile.in (lisp, shortlisp): Add utf-16.elc
+	* Makefile.in (lisp, shortlisp): Add utf-16.elc.
 
 2002-09-29  Richard M. Stallman  <rms@gnu.org>
 
--- a/src/Makefile.in	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/Makefile.in	Mon Jan 01 17:38:32 2007 +0000
@@ -38,6 +38,7 @@
 LDFLAGS=@LDFLAGS@
 LN_S=@LN_S@
 EXEEXT=@EXEEXT@
+version=@version@
 # Substitute an assignment for the MAKE variable, because
 # BSD doesn't have it as a default.
 @SET_MAKE@
@@ -1320,11 +1321,11 @@
 ${libsrc}emacstool${EXEEXT}: ${libsrc}emacstool.c
 	cd ${libsrc}; ${MAKE} ${MFLAGS} emacstool${EXEEXT}
 bootstrapclean:
-	rm -f bootstrap-emacs${EXEEXT}
+	rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT}
 mostlyclean:
 	rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a
 	rm -f ../etc/DOC
-	rm -f bootstrap-emacs${EXEEXT}
+	rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT}
 	rm -f buildobj.lst
 clean: mostlyclean
 	rm -f emacs-*${EXEEXT} emacs${EXEEXT}
--- a/src/abbrev.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/abbrev.c	Mon Jan 01 17:38:32 2007 +0000
@@ -83,7 +83,7 @@
 
 Lisp_Object Vpre_abbrev_expand_hook, Qpre_abbrev_expand_hook;
 
-Lisp_Object Qsystem_type, Qcount;
+Lisp_Object Qsystem_type, Qcount, Qforce;
 
 DEFUN ("make-abbrev-table", Fmake_abbrev_table, Smake_abbrev_table, 0, 0, 0,
        doc: /* Create a new, empty abbrev table object.  */)
@@ -107,7 +107,7 @@
     XVECTOR (table)->contents[i] = make_number (0);
   return Qnil;
 }
-
+
 DEFUN ("define-abbrev", Fdefine_abbrev, Sdefine_abbrev, 3, 6, 0,
        doc: /* Define an abbrev in TABLE named NAME, to expand to EXPANSION and call HOOK.
 NAME must be a string.
@@ -123,7 +123,9 @@
 \(The default is zero.)
 
 SYSTEM-FLAG, if non-nil, says that this is a "system" abbreviation
-which should not be saved in the user's abbreviation file.  */)
+which should not be saved in the user's abbreviation file.
+Unless SYSTEM-FLAG is `force', a system abbreviation will not
+overwrite a non-system abbreviation of the same name.  */)
      (table, name, expansion, hook, count, system_flag)
      Lisp_Object table, name, expansion, hook, count, system_flag;
 {
@@ -131,6 +133,16 @@
   CHECK_VECTOR (table);
   CHECK_STRING (name);
 
+  /* If defining a system abbrev, do not overwrite a non-system abbrev
+     of the same name, unless 'force is used. */
+  if (!NILP (system_flag) && !EQ (system_flag, Qforce))
+    {
+      sym = Fintern_soft (name, table);
+
+      if (!NILP (SYMBOL_VALUE (sym)) &&
+          NILP (Fplist_get (XSYMBOL (sym)->plist, Qsystem_type))) return Qnil;
+    }
+
   if (NILP (count))
     count = make_number (0);
   else
@@ -640,6 +652,9 @@
   Qcount = intern ("count");
   staticpro (&Qcount);
 
+  Qforce = intern ("force");
+  staticpro (&Qforce);
+
   DEFVAR_LISP ("abbrev-table-name-list", &Vabbrev_table_name_list,
 	       doc: /* List of symbols whose values are abbrev tables.  */);
   Vabbrev_table_name_list = Fcons (intern ("fundamental-mode-abbrev-table"),
@@ -664,7 +679,7 @@
 
   DEFVAR_LISP ("last-abbrev-text", &Vlast_abbrev_text,
 	       doc: /* The exact text of the last abbrev expanded.
-nil if the abbrev has already been unexpanded.  */);
+A value of nil means the abbrev has already been unexpanded.  */);
 
   DEFVAR_INT ("last-abbrev-location", &last_abbrev_point,
 	      doc: /* The location of the start of the last abbrev expanded.  */);
--- a/src/buffer.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/buffer.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1344,15 +1344,16 @@
  */
 DEFUN ("kill-buffer", Fkill_buffer, Skill_buffer, 1, 1, "bKill buffer: ",
        doc: /* Kill the buffer BUFFER.
-The argument may be a buffer or may be the name of a buffer.
-An argument of nil means kill the current buffer.
-
-Value is t if the buffer is actually killed, nil if user says no.
-
-The value of `kill-buffer-hook' (which may be local to that buffer),
-if not void, is a list of functions to be called, with no arguments,
-before the buffer is actually killed.  The buffer to be killed is current
-when the hook functions are called.
+The argument may be a buffer or the name of a buffer.
+With a nil argument, kill the current buffer.
+
+Value is t if the buffer is actually killed, nil otherwise.
+
+The functions in `kill-buffer-query-functions' are called with BUFFER as
+the current buffer.  If any of them returns nil, the buffer is not killed.
+
+The hook `kill-buffer-hook' is run before the buffer is actually killed.
+The buffer being killed will be current while the hook is running.
 
 Any processes that have this buffer as the `process-buffer' are killed
 with SIGHUP.  */)
@@ -5385,8 +5386,8 @@
 This is the same as (default-value 'left-margin).  */);
 
   DEFVAR_LISP_NOPRO ("default-tab-width",
-	      &buffer_defaults.tab_width,
-    doc: /* Default value of `tab-width' for buffers that do not override it.
+		     &buffer_defaults.tab_width,
+		     doc: /* Default value of `tab-width' for buffers that do not override it.
 This is the same as (default-value 'tab-width).  */);
 
   DEFVAR_LISP_NOPRO ("default-case-fold-search",
@@ -5461,13 +5462,13 @@
 		     &buffer_defaults.scroll_up_aggressively,
 		     doc: /* Default value of `scroll-up-aggressively'.
 This value applies in buffers that don't have their own local values.
-This variable is an alias for (default-value 'scroll-up-aggressively).  */);
+This is the same as (default-value 'scroll-up-aggressively).  */);
 
   DEFVAR_LISP_NOPRO ("default-scroll-down-aggressively",
 		     &buffer_defaults.scroll_down_aggressively,
 		     doc: /* Default value of `scroll-down-aggressively'.
 This value applies in buffers that don't have their own local values.
-This variable is an alias for (default-value 'scroll-down-aggressively).  */);
+This is the same as (default-value 'scroll-down-aggressively).  */);
 
   DEFVAR_PER_BUFFER ("header-line-format",
 		     &current_buffer->header_line_format,
@@ -5530,8 +5531,8 @@
 
   DEFVAR_LISP_NOPRO ("default-major-mode", &buffer_defaults.major_mode,
 		     doc: /* *Major mode for new buffers.  Defaults to `fundamental-mode'.
-nil here means use current buffer's major mode, provided it is not
-marked as "special".
+A value of nil means use current buffer's major mode,
+provided it is not marked as "special".
 
 When a mode is used by default, `find-file' switches to it
 before it reads the contents into the buffer and before
@@ -5561,7 +5562,7 @@
 
   DEFVAR_PER_BUFFER ("left-margin", &current_buffer->left_margin,
 		     make_number (Lisp_Int),
-		     doc: /* *Column for the default indent-line-function to indent to.
+		     doc: /* *Column for the default `indent-line-function' to indent to.
 Linefeed indents to this column in Fundamental mode.  */);
 
   DEFVAR_PER_BUFFER ("tab-width", &current_buffer->tab_width,
@@ -5708,9 +5709,9 @@
 Each of the char-table elements control how to display the corresponding
 text character: the element at index C in the table says how to display
 the character whose code is C.  Each element should be a vector of
-characters or nil.  nil means display the character in the default fashion;
-otherwise, the characters from the vector are delivered to the screen
-instead of the original character.
+characters or nil.  The value nil means display the character in the
+default fashion; otherwise, the characters from the vector are delivered
+to the screen instead of the original character.
 
 For example, (aset buffer-display-table ?X ?Y) will cause Emacs to display
 a capital Y instead of each X character.
@@ -5841,7 +5842,7 @@
 		     &current_buffer->scroll_up_aggressively, Qnil,
 		     doc: /* How far to scroll windows upward.
 If you move point off the bottom, the window scrolls automatically.
-This variable controls how far it scrolls.  nil, the default,
+This variable controls how far it scrolls.  The value nil, the default,
 means scroll to center point.  A fraction means scroll to put point
 that fraction of the window's height from the bottom of the window.
 When the value is 0.0, point goes at the bottom line, which in the simple
@@ -5854,7 +5855,7 @@
 		     &current_buffer->scroll_down_aggressively, Qnil,
 		     doc: /* How far to scroll windows downward.
 If you move point off the top, the window scrolls automatically.
-This variable controls how far it scrolls.  nil, the default,
+This variable controls how far it scrolls.  The value nil, the default,
 means scroll to center point.  A fraction means scroll to put point
 that fraction of the window's height from the top of the window.
 When the value is 0.0, point goes at the top line, which in the simple
@@ -6045,7 +6046,7 @@
   Vinhibit_read_only = Qnil;
 
   DEFVAR_PER_BUFFER ("cursor-type", &current_buffer->cursor_type, Qnil,
-     doc: /* Cursor to use when this buffer is in the selected window.
+		     doc: /* Cursor to use when this buffer is in the selected window.
 Values are interpreted as follows:
 
   t 		  use the cursor specified for the frame
@@ -6066,15 +6067,17 @@
 		     doc: /* Additional space to put between lines when displaying a buffer.
 The space is measured in pixels, and put below lines on window systems.
 If value is a floating point number, it specifies the spacing relative
-to the default frame line height.  nil means add no extra space.  */);
+to the default frame line height.  A value of nil means add no extra space.  */);
 
   DEFVAR_PER_BUFFER ("cursor-in-non-selected-windows",
 		     &current_buffer->cursor_in_non_selected_windows, Qnil,
-    doc: /* *Cursor type to display in non-selected windows.
-t means to use hollow box cursor.  See `cursor-type' for other values.  */);
+		     doc: /* *Cursor type to display in non-selected windows.
+The value t means to use hollow box cursor.  See `cursor-type' for other values.  */);
 
   DEFVAR_LISP ("kill-buffer-query-functions", &Vkill_buffer_query_functions,
-	       doc: /* List of functions called with no args to query before killing a buffer.  */);
+	       doc: /* List of functions called with no args to query before killing a buffer.
+The buffer being killed will be current while the functions are running.
+If any of them returns nil, the buffer is not killed.  */);
   Vkill_buffer_query_functions = Qnil;
 
   DEFVAR_LISP ("change-major-mode-hook", &Vchange_major_mode_hook,
--- a/src/callint.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/callint.c	Mon Jan 01 17:38:32 2007 +0000
@@ -60,7 +60,7 @@
 
 /* String for the prompt text used in Fcall_interactively.  */
 static Lisp_Object callint_message;
-
+
 /* ARGSUSED */
 DEFUN ("interactive", Finteractive, Sinteractive, 0, UNEVALLED, 0,
        doc: /* Specify a way of parsing arguments for interactive use of a function.
@@ -102,7 +102,7 @@
 m -- Value of mark as number.  Does not do I/O.
 M -- Any string.  Inherits the current input method.
 n -- Number read using minibuffer.
-N -- Raw prefix arg, or if none, do like code `n'.
+N -- Numeric prefix arg, or if none, do like code `n'.
 p -- Prefix arg converted to number.  Does not do I/O.
 P -- Prefix arg in raw form.  Does not do I/O.
 r -- Region: point and mark as 2 numeric args, smallest first.  Does no I/O.
@@ -688,7 +688,7 @@
 				  Qnil, Qnil, Qnil, Qt);
 	  break;
 
-	case 'N':		/* Prefix arg, else number from minibuffer */
+	case 'N':		/* Prefix arg as number, else number from minibuffer */
 	  if (!NILP (prefix_arg))
 	    goto have_prefix_arg;
 	case 'n':		/* Read number from minibuffer.  */
--- a/src/callproc.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/callproc.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1754,7 +1754,8 @@
 
   DEFVAR_LISP ("shell-file-name", &Vshell_file_name,
 	       doc: /* *File name to load inferior shells from.
-Initialized from the SHELL environment variable.  */);
+Initialized from the SHELL environment variable, or to a system-dependent
+default if SHELL is not set.  */);
 
   DEFVAR_LISP ("exec-path", &Vexec_path,
 	       doc: /* *List of directories to search programs to run in subprocesses.
--- a/src/category.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/category.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 /* GNU Emacs routines to deal with category tables.
    Copyright (C) 1998, 2001, 2004, 2005, 2006 Free Software Foundation, Inc.
-   Copyright (C) 1995, 1997, 1998, 1999
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+     2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/category.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/category.h	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 /* Declarations having to do with Emacs category tables.
-   Copyright (C) 1995, 1998, 1999
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+     2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/ccl.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/ccl.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 /* CCL (Code Conversion Language) interpreter.
    Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.
-   Copyright (C) 1995, 1997, 1998, 2003, 2004, 2005
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+     2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/ccl.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/ccl.h	Mon Jan 01 17:38:32 2007 +0000
@@ -1,5 +1,6 @@
 /* Header for CCL (Code Conversion Language) interpreter.
-   Copyright (C) 1995, 1998, 2000
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+     2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/charset.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/charset.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 /* Basic multilingual character support.
    Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.
-   Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+     2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/charset.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/charset.h	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 /* Header for multibyte character handler.
    Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.
-   Copyright (C) 1995, 1997, 1998, 2003
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+     2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/coding.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/coding.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 /* Coding system handler (conversion, detection, and etc).
    Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.
-   Copyright (C) 1995, 1997, 1998, 2002, 2003, 2004, 2005
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+     2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/coding.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/coding.h	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 /* Header for coding system handler.
    Copyright (C) 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.
-   Copyright (C) 1995, 1997, 1998, 2000
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+     2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/composite.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/composite.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 /* Composite sequence support.
    Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.
-   Copyright (C) 1999
+   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/composite.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/composite.h	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 /* Header for composite sequence handler.
    Copyright (C) 2001, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.
-   Copyright (C) 1997
+   Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/config.in	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/config.in	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,7 @@
 /* src/config.in.  Generated from configure.in by autoheader.  */
 
 /* GNU Emacs site configuration template file.
-   Copyright (C) 1988, 1993, 1994, 1999, 2000, 2002, 2004, 2005, 2006
+   Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005, 2006
              Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -121,6 +121,10 @@
    don't. */
 #undef HAVE_DECL_SYS_SIGLIST
 
+/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
+   */
+#undef HAVE_DECL_TZNAME
+
 /* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you
    don't. */
 #undef HAVE_DECL___SYS_SIGLIST
@@ -245,6 +249,9 @@
 /* Define to 1 if you have the `gtk_file_selection_new' function. */
 #undef HAVE_GTK_FILE_SELECTION_NEW
 
+/* Define to 1 if you have the `gtk_main' function. */
+#undef HAVE_GTK_MAIN
+
 /* Define to 1 if GTK can handle more than one display. */
 #undef HAVE_GTK_MULTIDISPLAY
 
@@ -571,6 +578,9 @@
 /* Define to 1 if `struct utimbuf' is declared by <utime.h>. */
 #undef HAVE_STRUCT_UTIMBUF
 
+/* Define to 1 if you have the `sync' function. */
+#undef HAVE_SYNC
+
 /* Define to 1 if you have the `sysinfo' function. */
 #undef HAVE_SYSINFO
 
@@ -796,7 +806,7 @@
 
 /* If using the C implementation of alloca, define if you know the
    direction of stack growth for your system; otherwise it will be
-   automatically deduced at run-time.
+   automatically deduced at runtime.
 	STACK_DIRECTION > 0 => grows toward higher addresses
 	STACK_DIRECTION < 0 => grows toward lower addresses
 	STACK_DIRECTION = 0 => direction of growth unknown */
--- a/src/data.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/data.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1276,7 +1276,7 @@
 	  XSETCAR (XBUFFER_LOCAL_VALUE (valcontents)->cdr,
 		   tem1);
 
-	  /* Set `buffer' and `frame' slots for thebinding now loaded.  */
+	  /* Set `buffer' and `frame' slots for the binding now loaded.  */
 	  XSETBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer, buf);
 	  XBUFFER_LOCAL_VALUE (valcontents)->frame = selected_frame;
 	}
--- a/src/dired.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/dired.c	Mon Jan 01 17:38:32 2007 +0000
@@ -395,17 +395,20 @@
 Lisp_Object file_name_completion ();
 
 DEFUN ("file-name-completion", Ffile_name_completion, Sfile_name_completion,
-       2, 2, 0,
+       2, 3, 0,
        doc: /* Complete file name FILE in directory DIRECTORY.
 Returns the longest string
 common to all file names in DIRECTORY that start with FILE.
 If there is only one and FILE matches it exactly, returns t.
 Returns nil if DIRECTORY contains no name starting with FILE.
 
+If PREDICATE is non-nil, call PREDICATE with each possible
+completion (in absolute form) and ignore it if PREDICATE returns nil.
+
 This function ignores some of the possible completions as
 determined by the variable `completion-ignored-extensions', which see.  */)
-     (file, directory)
-     Lisp_Object file, directory;
+     (file, directory, predicate)
+     Lisp_Object file, directory, predicate;
 {
   Lisp_Object handler;
 
@@ -413,15 +416,15 @@
      call the corresponding file handler.  */
   handler = Ffind_file_name_handler (directory, Qfile_name_completion);
   if (!NILP (handler))
-    return call3 (handler, Qfile_name_completion, file, directory);
+    return call4 (handler, Qfile_name_completion, file, directory, predicate);
 
   /* If the file name has special constructs in it,
      call the corresponding file handler.  */
   handler = Ffind_file_name_handler (file, Qfile_name_completion);
   if (!NILP (handler))
-    return call3 (handler, Qfile_name_completion, file, directory);
+    return call4 (handler, Qfile_name_completion, file, directory, predicate);
 
-  return file_name_completion (file, directory, 0, 0);
+  return file_name_completion (file, directory, 0, 0, predicate);
 }
 
 DEFUN ("file-name-all-completions", Ffile_name_all_completions,
@@ -445,21 +448,25 @@
   if (!NILP (handler))
     return call3 (handler, Qfile_name_all_completions, file, directory);
 
-  return file_name_completion (file, directory, 1, 0);
+  return file_name_completion (file, directory, 1, 0, Qnil);
 }
 
 static int file_name_completion_stat ();
 
 Lisp_Object
-file_name_completion (file, dirname, all_flag, ver_flag)
+file_name_completion (file, dirname, all_flag, ver_flag, predicate)
      Lisp_Object file, dirname;
      int all_flag, ver_flag;
+     Lisp_Object predicate;
 {
   DIR *d;
   int bestmatchsize = 0, skip;
   register int compare, matchsize;
   unsigned char *p1, *p2;
   int matchcount = 0;
+  /* If ALL_FLAG is 1, BESTMATCH is the list of all matches, decoded.
+     If ALL_FLAG is 0, BESTMATCH is either nil
+     or the best match so far, not decoded.  */
   Lisp_Object bestmatch, tem, elt, name;
   Lisp_Object encoded_file;
   Lisp_Object encoded_dir;
@@ -567,8 +574,8 @@
 #ifndef TRIVIAL_DIRECTORY_ENTRY
 #define TRIVIAL_DIRECTORY_ENTRY(n) (!strcmp (n, ".") || !strcmp (n, ".."))
 #endif
-	      /* "." and ".." are never interesting as completions, but are
-		 actually in the way in a directory contains only one file.  */
+	      /* "." and ".." are never interesting as completions, and are
+		 actually in the way in a directory with only one file.  */
 	      if (!passcount && TRIVIAL_DIRECTORY_ENTRY (dp->d_name))
 		continue;
 	      if (!passcount && len > SCHARS (encoded_file))
@@ -649,30 +656,38 @@
 		continue;
 	    }
 
-	  /* Update computation of how much all possible completions match */
+	  /* This is a possible completion */
+	  if (directoryp)
+	    {
+	      /* This completion is a directory; make it end with '/' */
+	      name = Ffile_name_as_directory (make_string (dp->d_name, len));
+	    }
+	  else
+	    name = make_string (dp->d_name, len);
+
+	  /* Test the predicate, if any.  */
+
+	  if (!NILP (predicate))
+	    {
+	      Lisp_Object decoded;
+	      decoded = Fexpand_file_name (DECODE_FILE (name), dirname);
+	      if (NILP (call1 (predicate, decoded)))
+		continue;
+	    }
+
+	  /* Suitably record this match.  */
 
 	  matchcount++;
 
-	  if (all_flag || NILP (bestmatch))
+	  if (all_flag)
 	    {
-	      /* This is a possible completion */
-	      if (directoryp)
-		{
-		  /* This completion is a directory; make it end with '/' */
-		  name = Ffile_name_as_directory (make_string (dp->d_name, len));
-		}
-	      else
-		name = make_string (dp->d_name, len);
-	      if (all_flag)
-		{
-		  name = DECODE_FILE (name);
-		  bestmatch = Fcons (name, bestmatch);
-		}
-	      else
-		{
-		  bestmatch = name;
-		  bestmatchsize = SCHARS (name);
-		}
+	      name = DECODE_FILE (name);
+	      bestmatch = Fcons (name, bestmatch);
+	    }
+	  else if (NILP (bestmatch))
+	    {
+	      bestmatch = name;
+	      bestmatchsize = SCHARS (name);
 	    }
 	  else
 	    {
@@ -708,11 +723,7 @@
 			 == SCHARS (bestmatch)))
 		       && !bcmp (p2, SDATA (encoded_file), SCHARS (encoded_file))
 		       && bcmp (p1, SDATA (encoded_file), SCHARS (encoded_file))))
-		    {
-		      bestmatch = make_string (dp->d_name, len);
-		      if (directoryp)
-			bestmatch = Ffile_name_as_directory (bestmatch);
-		    }
+		    bestmatch = name;
 		}
 
 	      /* If this dirname all matches, see if implicit following
@@ -835,7 +846,7 @@
      (file, directory)
      Lisp_Object file, directory;
 {
-  return file_name_completion (file, directory, 1, 1);
+  return file_name_completion (file, directory, 1, 1, Qnil);
 }
 
 DEFUN ("file-version-limit", Ffile_version_limit, Sfile_version_limit, 1, 1, 0,
--- a/src/emacs.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/emacs.c	Mon Jan 01 17:38:32 2007 +0000
@@ -304,7 +304,7 @@
                                   used for debugging Emacs\n\
 --border-color, -bd COLOR       main border color\n\
 --border-width, -bw WIDTH       width of main border\n\
---color, --color=MODE           color mode for character terminals;\n\
+--color, --color=MODE           override color mode for character terminals;\n\
                                   MODE defaults to `auto', and can also\n\
                                   be `never', `auto', `always',\n\
                                   or a mode name like `ansi8'\n\
@@ -362,39 +362,6 @@
 #endif
 
 
-#ifdef SIGUSR1
-SIGTYPE
-handle_USR1_signal (sig)
-     int sig;
-{
-  struct input_event buf;
-
-  SIGNAL_THREAD_CHECK (sig);
-  bzero (&buf, sizeof buf);
-  buf.kind = USER_SIGNAL_EVENT;
-  buf.frame_or_window = selected_frame;
-
-  kbd_buffer_store_event (&buf);
-}
-#endif /* SIGUSR1 */
-
-#ifdef SIGUSR2
-SIGTYPE
-handle_USR2_signal (sig)
-     int sig;
-{
-  struct input_event buf;
-
-  SIGNAL_THREAD_CHECK (sig);
-  bzero (&buf, sizeof buf);
-  buf.kind = USER_SIGNAL_EVENT;
-  buf.code = 1;
-  buf.frame_or_window = selected_frame;
-
-  kbd_buffer_store_event (&buf);
-}
-#endif /* SIGUSR2 */
-
 /* Handle bus errors, invalid instruction, etc.  */
 SIGTYPE
 fatal_error_signal (sig)
@@ -1227,10 +1194,10 @@
       signal (SIGILL, fatal_error_signal);
       signal (SIGTRAP, fatal_error_signal);
 #ifdef SIGUSR1
-      signal (SIGUSR1, handle_USR1_signal);
+      add_user_signal (SIGUSR1, "sigusr1");
+#endif
 #ifdef SIGUSR2
-      signal (SIGUSR2, handle_USR2_signal);
-#endif
+      add_user_signal (SIGUSR2, "sigusr2");
 #endif
 #ifdef SIGABRT
       signal (SIGABRT, fatal_error_signal);
@@ -2475,7 +2442,8 @@
   `ms-dos'      compiled as an MS-DOS application.
   `windows-nt'  compiled as a native W32 application.
   `cygwin'      compiled using the Cygwin library.
-  `vax-vms' or `axp-vms': compiled for a (Open)VMS system.
+  `vax-vms' or
+  `axp-vms'     compiled for a (Open)VMS system.
 Anything else indicates some sort of Unix system.  */);
   Vsystem_type = intern (SYSTEM_TYPE);
 
--- a/src/fileio.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/fileio.c	Mon Jan 01 17:38:32 2007 +0000
@@ -3543,11 +3543,7 @@
   return Qt;
 }
 
-#ifdef __NetBSD__
-#define unix 42
-#endif
-
-#ifdef unix
+#ifdef HAVE_SYNC
 DEFUN ("unix-sync", Funix_sync, Sunix_sync, 0, 0, "",
        doc: /* Tell Unix to finish all pending disk updates.  */)
      ()
@@ -3556,7 +3552,7 @@
   return Qnil;
 }
 
-#endif /* unix */
+#endif /* HAVE_SYNC */
 
 DEFUN ("file-newer-than-file-p", Ffile_newer_than_file_p, Sfile_newer_than_file_p, 2, 2, 0,
        doc: /* Return t if file FILE1 is newer than file FILE2.
@@ -6165,7 +6161,7 @@
   if (NILP (action))
     {
       specdir = Ffile_name_directory (string);
-      val = Ffile_name_completion (name, realdir);
+      val = Ffile_name_completion (name, realdir, Vread_file_name_predicate);
       UNGCPRO;
       if (!STRINGP (val))
 	{
@@ -6795,7 +6791,7 @@
   defsubr (&Sread_file_name);
   defsubr (&Snext_read_file_uses_dialog_p);
 
-#ifdef unix
+#ifdef HAVE_SYNC
   defsubr (&Sunix_sync);
 #endif
 }
--- a/src/fontset.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/fontset.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,7 @@
 /* Fontset handler.
    Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-   Copyright (C) 1995, 1997, 1998, 2000, 2003, 2004, 2005
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+     2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/fontset.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/fontset.h	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 /* Header for fontset handler.
    Copyright (C) 1998, 2002, 2003, 2004, 2005,
                  2006 Free Software Foundation, Inc.
-   Copyright (C) 1995, 1997, 2000
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+     2005, 2006
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H14PRO021
 
--- a/src/frame.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/frame.h	Mon Jan 01 17:38:32 2007 +0000
@@ -456,6 +456,10 @@
 
   /* Set to non-zero when current redisplay has updated frame.  */
   unsigned updated_p : 1;
+
+  /* Set to non-zero to minimize tool-bar height even when
+     auto-resize-tool-bar is set to grow-only.  */
+  unsigned minimize_tool_bar_window_p : 1;
 };
 
 #ifdef MULTI_KBOARD
--- a/src/gtkutil.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/gtkutil.c	Mon Jan 01 17:38:32 2007 +0000
@@ -3350,11 +3350,8 @@
    get them.  */
 #define XG_TOOL_BAR_LAST_MODIFIER "emacs-tool-bar-modifier"
 
-
-/* Callback function invoked when a tool bar item is pressed.
-   W is the button widget in the tool bar that got pressed,
-   CLIENT_DATA is an integer that is the index of the button in the
-   tool bar.  0 is the first button.  */
+/* The key for storing the button widget in its proxy menu item. */
+#define XG_TOOL_BAR_PROXY_BUTTON "emacs-tool-bar-proxy-button"
 
 static gboolean
 xg_tool_bar_button_cb (widget, event, user_data)
@@ -3364,11 +3361,16 @@
 {
   /* Casts to avoid warnings when gpointer is 64 bits and int is 32 bits */
   gpointer ptr = (gpointer) (EMACS_INT) event->state;
-  g_object_set_data (G_OBJECT (user_data), XG_TOOL_BAR_LAST_MODIFIER, ptr);
+  g_object_set_data (G_OBJECT (widget), XG_TOOL_BAR_LAST_MODIFIER, ptr);
   return FALSE;
 }
 
 
+/* Callback function invoked when a tool bar item is pressed.
+   W is the button widget in the tool bar that got pressed,
+   CLIENT_DATA is an integer that is the index of the button in the
+   tool bar.  0 is the first button.  */
+
 static void
 xg_tool_bar_callback (w, client_data)
      GtkWidget *w;
@@ -3406,6 +3408,92 @@
   kbd_buffer_store_event (&event);
 }
 
+/* Callback function invoked when a tool bar item is pressed in a detached
+   tool bar or the overflow drop down menu.
+   We just call xg_tool_bar_callback.
+   W is the menu item widget that got pressed,
+   CLIENT_DATA is an integer that is the index of the button in the
+   tool bar.  0 is the first button.  */
+
+static void
+xg_tool_bar_proxy_callback (w, client_data)
+     GtkWidget *w;
+     gpointer client_data;
+{
+  GtkWidget *wbutton = GTK_WIDGET (g_object_get_data (G_OBJECT (w),
+                                                      XG_TOOL_BAR_PROXY_BUTTON));
+  xg_tool_bar_callback (wbutton, client_data);
+}
+
+/* This callback is called when a tool item should create a proxy item,
+   such as for the overflow menu.  Also called when the tool bar is detached.
+   If we don't create a proxy menu item, the detached tool bar will be
+   blank.  */
+
+static gboolean
+xg_tool_bar_menu_proxy (toolitem, user_data)
+     GtkToolItem *toolitem;
+     gpointer user_data;
+{
+  GtkWidget *weventbox = gtk_bin_get_child (GTK_BIN (toolitem));
+  GtkButton *wbutton = GTK_BUTTON (gtk_bin_get_child (GTK_BIN (weventbox)));
+  GtkWidget *wmenuitem = gtk_image_menu_item_new ();
+  GtkWidget *wmenuimage;
+
+  if (gtk_button_get_use_stock (wbutton)) 
+    wmenuimage = gtk_image_new_from_stock (gtk_button_get_label (wbutton),
+                                           GTK_ICON_SIZE_MENU);
+  else
+    {
+      GtkImage *wimage = GTK_IMAGE (gtk_bin_get_child (GTK_BIN (wbutton)));
+      GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (wbutton));
+      GtkImageType store_type = gtk_image_get_storage_type (wimage);
+      if (store_type == GTK_IMAGE_STOCK)
+        {
+          gchar *stock_id;
+          gtk_image_get_stock (wimage, &stock_id, NULL);
+          wmenuimage = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_MENU);
+        }
+      else if (store_type == GTK_IMAGE_ICON_SET)
+        {
+          GtkIconSet *icon_set;
+          gtk_image_get_icon_set (wimage, &icon_set, NULL);
+          wmenuimage = gtk_image_new_from_icon_set (icon_set,
+                                                    GTK_ICON_SIZE_MENU);
+        }
+      else if (store_type == GTK_IMAGE_PIXBUF)
+        {
+          gint width, height;
+      
+          if (settings &&
+              gtk_icon_size_lookup_for_settings (settings, GTK_ICON_SIZE_MENU,
+                                                 &width, &height))
+            {
+              GdkPixbuf *src_pixbuf, *dest_pixbuf;
+
+              src_pixbuf = gtk_image_get_pixbuf (wimage);
+              dest_pixbuf = gdk_pixbuf_scale_simple (src_pixbuf, width, height,
+                                                     GDK_INTERP_BILINEAR);
+
+              wmenuimage = gtk_image_new_from_pixbuf (dest_pixbuf);
+            }
+        }
+    }
+  if (wmenuimage)
+    gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (wmenuitem), wmenuimage);
+
+  g_signal_connect (G_OBJECT (wmenuitem),
+                    "activate",
+                    GTK_SIGNAL_FUNC (xg_tool_bar_proxy_callback),
+                    user_data);
+
+  g_object_set_data (G_OBJECT (wmenuitem), XG_TOOL_BAR_PROXY_BUTTON,
+                     (gpointer) wbutton);
+  gtk_tool_item_set_proxy_menu_item (toolitem, "Emacs toolbar item", wmenuitem);
+
+  return TRUE;
+}
+
 /* This callback is called when a tool bar is detached.  We must set
    the height of the tool bar to zero when this happens so frame sizes
    are correctly calculated.
@@ -3491,9 +3579,6 @@
   FRAME_PTR f = (FRAME_PTR) g_object_get_data (G_OBJECT (w), XG_FRAME_DATA);
   Lisp_Object help, frame;
 
-  if (! GTK_IS_BUTTON (w))
-    return FALSE;
-
   if (! f || ! f->n_tool_bar_items || NILP (f->tool_bar_items))
     return FALSE;
 
@@ -3631,10 +3716,9 @@
 {
   int i;
   GtkRequisition old_req, new_req;
-  GList *icon_list;
-  GList *iter;
   struct x_output *x = f->output_data.x;
   int hmargin, vmargin;
+  GtkToolItem *ti;
 
   if (! FRAME_GTK_WIDGET (f))
     return;
@@ -3670,9 +3754,6 @@
 
   gtk_widget_size_request (x->toolbar_widget, &old_req);
 
-  icon_list = gtk_container_get_children (GTK_CONTAINER (x->toolbar_widget));
-  iter = icon_list;
-
   for (i = 0; i < f->n_tool_bar_items; ++i)
     {
 #define PROP(IDX) AREF (f->tool_bar_items, i * TOOL_BAR_ITEM_NSLOTS + (IDX))
@@ -3683,9 +3764,16 @@
       int img_id;
       struct image *img;
       Lisp_Object image;
-      GtkWidget *wicon = iter ? GTK_WIDGET (iter->data) : 0;
-
-      if (iter) iter = g_list_next (iter);
+      GtkWidget *wbutton;
+      GtkWidget *weventbox;
+
+      ti = gtk_toolbar_get_nth_item (GTK_TOOLBAR (x->toolbar_widget), i);
+
+      if (ti)
+        {
+          weventbox = gtk_bin_get_child (GTK_BIN (ti));
+          wbutton = gtk_bin_get_child (GTK_BIN (weventbox));
+        }
 
       /* If image is a vector, choose the image according to the
 	 button state.  */
@@ -3710,7 +3798,7 @@
       /* Ignore invalid image specifications.  */
       if (!valid_image_p (image))
         {
-          if (wicon) gtk_widget_hide (wicon);
+          if (ti) gtk_widget_hide_all (GTK_WIDGET (ti));
           continue;
         }
 
@@ -3720,39 +3808,55 @@
 
       if (img->load_failed_p || img->pixmap == None)
         {
-          if (wicon)
-	    gtk_widget_hide (wicon);
+          if (ti)
+	    gtk_widget_hide_all (GTK_WIDGET (ti));
 	  else
-	    gtk_toolbar_insert (GTK_TOOLBAR (x->toolbar_widget),
-				gtk_tool_button_new (NULL, ""),
-				i);
+            {
+              /* Insert an empty (non-image) button */
+              weventbox = gtk_event_box_new ();
+              wbutton = gtk_button_new ();
+              gtk_button_set_focus_on_click (GTK_BUTTON (wbutton), FALSE);
+              gtk_button_set_relief (GTK_BUTTON (wbutton), GTK_RELIEF_NONE);
+              gtk_container_add (GTK_CONTAINER (weventbox), wbutton);
+              ti = gtk_tool_item_new ();
+              gtk_container_add (GTK_CONTAINER (ti), weventbox);
+              gtk_toolbar_insert (GTK_TOOLBAR (x->toolbar_widget), ti, i);
+            }
           continue;
         }
 
-      if (! wicon)
+      if (ti == NULL)
         {
           GtkWidget *w = xg_get_image_for_pixmap (f, img, x->widget, NULL);
-          GtkToolItem *ti = gtk_tool_button_new (w, "");
-
           gtk_misc_set_padding (GTK_MISC (w), hmargin, vmargin);
-
-          gtk_toolbar_insert (GTK_TOOLBAR (x->toolbar_widget),
-                              ti,
-                              i);
+          wbutton = gtk_button_new ();
+          gtk_button_set_focus_on_click (GTK_BUTTON (wbutton), FALSE);
+          gtk_button_set_relief (GTK_BUTTON (wbutton), GTK_RELIEF_NONE);
+          gtk_container_add (GTK_CONTAINER (wbutton), w);
+          weventbox = gtk_event_box_new ();
+          gtk_container_add (GTK_CONTAINER (weventbox), wbutton);
+          ti = gtk_tool_item_new ();
+          gtk_container_add (GTK_CONTAINER (ti), weventbox);
+          gtk_toolbar_insert (GTK_TOOLBAR (x->toolbar_widget), ti, i);
+
+
           /* The EMACS_INT cast avoids a warning. */
-          g_signal_connect (GTK_WIDGET (ti), "clicked",
+          g_signal_connect (G_OBJECT (ti), "create-menu-proxy",
+                            GTK_SIGNAL_FUNC (xg_tool_bar_menu_proxy),
+                            (gpointer) (EMACS_INT) i);
+
+          g_signal_connect (G_OBJECT (wbutton), "clicked",
                             GTK_SIGNAL_FUNC (xg_tool_bar_callback),
                             (gpointer) (EMACS_INT) i);
 
-          gtk_widget_show (GTK_WIDGET (ti));
-          gtk_widget_show (GTK_WIDGET (w));
+          gtk_widget_show_all (GTK_WIDGET (ti));
 
           /* Save the image so we can see if an update is needed when
              this function is called again.  */
           g_object_set_data (G_OBJECT (w), XG_TOOL_BAR_IMAGE_DATA,
                              (gpointer)img->pixmap);
 
-          g_object_set_data (G_OBJECT (ti), XG_FRAME_DATA, (gpointer)f);
+          g_object_set_data (G_OBJECT (weventbox), XG_FRAME_DATA, (gpointer)f);
 
           /* Catch expose events to overcome an annoying redraw bug, see
              comment for xg_tool_bar_item_expose_callback.  */
@@ -3761,46 +3865,37 @@
                             G_CALLBACK (xg_tool_bar_item_expose_callback),
                             0);
 
-          gtk_widget_set_sensitive (GTK_WIDGET (ti), enabled_p);
-          gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (ti), FALSE);
+          gtk_widget_set_sensitive (wbutton, enabled_p);
+          gtk_tool_item_set_homogeneous (ti, FALSE);
           
-          while (! GTK_IS_BUTTON (w))
-            w = gtk_widget_get_parent (w);
-
           /* Callback to save modifyer mask (Shift/Control, etc).  GTK makes
              no distinction based on modifiers in the activate callback,
              so we have to do it ourselves.  */
-          g_signal_connect (w, "button-release-event",
+          g_signal_connect (wbutton, "button-release-event",
                             GTK_SIGNAL_FUNC (xg_tool_bar_button_cb),
-                            ti);
-
-          g_object_set_data (G_OBJECT (w), XG_FRAME_DATA, (gpointer)f);
+                            NULL);
+
+          g_object_set_data (G_OBJECT (wbutton), XG_FRAME_DATA, (gpointer)f);
 
           /* Use enter/leave notify to show help.  We use the events
              rather than the GtkButton specific signals "enter" and
              "leave", so we can have only one callback.  The event
              will tell us what kind of event it is.  */
           /* The EMACS_INT cast avoids a warning. */
-          g_signal_connect (G_OBJECT (w),
+          g_signal_connect (G_OBJECT (weventbox),
                             "enter-notify-event",
                             G_CALLBACK (xg_tool_bar_help_callback),
                             (gpointer) (EMACS_INT) i);
-          g_signal_connect (G_OBJECT (w),
+          g_signal_connect (G_OBJECT (weventbox),
                             "leave-notify-event",
                             G_CALLBACK (xg_tool_bar_help_callback),
                             (gpointer) (EMACS_INT) i);
         }
       else
         {
-          /* The child of the tool bar is a button.  Inside that button
-             is a vbox.  Inside that vbox is the GtkImage.  */
-          GtkWidget *wvbox = gtk_bin_get_child (GTK_BIN (wicon));
-          GList *chlist = gtk_container_get_children (GTK_CONTAINER (wvbox));
-          GtkImage *wimage = GTK_IMAGE (chlist->data);
+          GtkWidget *wimage = gtk_bin_get_child (GTK_BIN (wbutton));
           Pixmap old_img = (Pixmap)g_object_get_data (G_OBJECT (wimage),
                                                       XG_TOOL_BAR_IMAGE_DATA);
-          g_list_free (chlist);
-
           gtk_misc_set_padding (GTK_MISC (wimage), hmargin, vmargin);
 
           if (old_img != img->pixmap)
@@ -3809,21 +3904,20 @@
           g_object_set_data (G_OBJECT (wimage), XG_TOOL_BAR_IMAGE_DATA,
                              (gpointer)img->pixmap);
 
-          gtk_widget_set_sensitive (wicon, enabled_p);
-          gtk_widget_show (wicon);
-        }
+          gtk_widget_set_sensitive (wbutton, enabled_p);
+          gtk_widget_show_all (GTK_WIDGET (ti));
+       }
 
 #undef PROP
     }
 
   /* Remove buttons not longer needed.  We just hide them so they
      can be reused later on.  */
-  while (iter)
+  do
     {
-      GtkWidget *w = GTK_WIDGET (iter->data);
-      gtk_widget_hide (w);
-      iter = g_list_next (iter);
-    }
+      ti = gtk_toolbar_get_nth_item (GTK_TOOLBAR (x->toolbar_widget), i++);
+      if (ti) gtk_widget_hide_all (GTK_WIDGET (ti));
+    } while (ti != NULL);
 
   gtk_widget_size_request (x->toolbar_widget, &new_req);
   if (old_req.height != new_req.height
@@ -3833,8 +3927,6 @@
       xg_resize_outer_widget (f, FRAME_COLS (f), FRAME_LINES (f));
     }
 
-  if (icon_list) g_list_free (icon_list);
-
   UNBLOCK_INPUT;
 }
 
--- a/src/keyboard.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/keyboard.c	Mon Jan 01 17:38:32 2007 +0000
@@ -684,6 +684,9 @@
 static void timer_start_idle P_ ((void));
 static void timer_stop_idle P_ ((void));
 static void timer_resume_idle P_ ((void));
+static SIGTYPE handle_user_signal P_ ((int));
+static char *find_user_signal_name P_ ((int));
+static int store_user_signal_events P_ ((void));
 
 /* Nonzero means don't try to suspend even if the operating system seems
    to support it.  */
@@ -1506,13 +1509,25 @@
 }
 
 /* If mouse has moved on some frame, return one of those frames.
-   Return 0 otherwise.  */
+
+   Return 0 otherwise.
+
+   If ignore_mouse_drag_p is non-zero, ignore (implicit) mouse movement
+   after resizing the tool-bar window.  */
+
+int ignore_mouse_drag_p;
 
 static FRAME_PTR
 some_mouse_moved ()
 {
   Lisp_Object tail, frame;
 
+  if (ignore_mouse_drag_p)
+    {
+      /* ignore_mouse_drag_p = 0; */
+      return 0;
+    }
+
   FOR_EACH_FRAME (tail, frame)
     {
       if (XFRAME (frame)->mouse_moved)
@@ -5182,15 +5197,6 @@
   &Qup, &Qdown, &Qtop, &Qbottom, &Qend_scroll, &Qratio
 };
 
-/* User signal events.  */
-Lisp_Object Qusr1_signal, Qusr2_signal;
-
-Lisp_Object *lispy_user_signals[] =
-{
-  &Qusr1_signal, &Qusr2_signal
-};
-
-
 /* A vector, indexed by button number, giving the down-going location
    of currently depressed buttons, both scroll bar and non-scroll bar.
 
@@ -5704,6 +5710,7 @@
 	      double_click_count = 1;
 	    button_down_time = event->timestamp;
 	    *start_pos_ptr = Fcopy_alist (position);
+	    ignore_mouse_drag_p = 0;
 	  }
 
 	/* Now we're releasing a button - check the co-ordinates to
@@ -5739,8 +5746,13 @@
 		    ydiff = XINT (event->y) - XINT (XCDR (down));
 		  }
 
-		if (xdiff < double_click_fuzz && xdiff > - double_click_fuzz
-		    && ydiff < double_click_fuzz && ydiff > - double_click_fuzz
+		if (ignore_mouse_drag_p)
+		  {
+		    event->modifiers |= click_modifier;
+		    ignore_mouse_drag_p = 0;
+		  }
+		else if (xdiff < double_click_fuzz && xdiff > - double_click_fuzz
+			 && ydiff < double_click_fuzz && ydiff > - double_click_fuzz
 		  /* Maybe the mouse has moved a lot, caused scrolling, and
 		     eventually ended up at the same screen position (but
 		     not buffer position) in which case it is a drag, not
@@ -6063,7 +6075,12 @@
 
     case USER_SIGNAL_EVENT:
       /* A user signal.  */
-      return *lispy_user_signals[event->code];
+      {
+	char *name = find_user_signal_name (event->code);
+	if (!name)
+	  abort ();
+	return intern (name);
+      }
 
     case SAVE_SESSION_EVENT:
       return Qsave_session;
@@ -6904,6 +6921,10 @@
   int err = 0;
   struct terminal *t;
 
+  /* Store pending user signal events, if any.  */
+  if (store_user_signal_events ())
+    expected = 0;
+
   /* Loop through the available terminals, and call their input hooks. */
   t = terminal_list;
   while (t)
@@ -7197,6 +7218,131 @@
 
 
 
+/* User signal events.  */
+
+struct user_signal_info
+{
+  /* Signal number.  */
+  int sig;
+
+  /* Name of the signal.  */
+  char *name;
+
+  /* Number of pending signals.  */
+  int npending;
+
+  struct user_signal_info *next;
+};
+
+/* List of user signals. */
+static struct user_signal_info *user_signals = NULL;
+
+void
+add_user_signal (sig, name)
+     int sig;
+     const char *name;
+{
+  struct user_signal_info *p;
+
+  for (p = user_signals; p; p = p->next)
+    if (p->sig == sig)
+      /* Already added.  */
+      return;
+
+  p = xmalloc (sizeof (struct user_signal_info));
+  p->sig = sig;
+  p->name = xstrdup (name);
+  p->npending = 0;
+  p->next = user_signals;
+  user_signals = p;
+
+  signal (sig, handle_user_signal);
+}
+
+static SIGTYPE
+handle_user_signal (sig)
+     int sig;
+{
+  int old_errno = errno;
+  struct user_signal_info *p;
+
+#if defined (USG) && !defined (POSIX_SIGNALS)
+  /* USG systems forget handlers when they are used;
+     must reestablish each time */
+  signal (sig, handle_user_signal);
+#endif
+
+  SIGNAL_THREAD_CHECK (sig);
+
+  for (p = user_signals; p; p = p->next)
+    if (p->sig == sig)
+      {
+	p->npending++;
+#ifdef SIGIO
+	if (interrupt_input)
+	  kill (getpid (), SIGIO);
+	else
+#endif
+	  {
+	    /* Tell wait_reading_process_output that it needs to wake
+	       up and look around.  */
+	    if (input_available_clear_time)
+	      EMACS_SET_SECS_USECS (*input_available_clear_time, 0, 0);
+	  }
+	break;
+      }
+
+  errno = old_errno;
+}
+
+static char *
+find_user_signal_name (sig)
+     int sig;
+{
+  struct user_signal_info *p;
+
+  for (p = user_signals; p; p = p->next)
+    if (p->sig == sig)
+      return p->name;
+
+  return NULL;
+}
+
+static int
+store_user_signal_events ()
+{
+  struct user_signal_info *p;
+  struct input_event buf;
+  int nstored = 0;
+
+  for (p = user_signals; p; p = p->next)
+    if (p->npending > 0)
+      {
+	SIGMASKTYPE mask;
+
+	if (nstored == 0)
+	  {
+	    bzero (&buf, sizeof buf);
+	    buf.kind = USER_SIGNAL_EVENT;
+	    buf.frame_or_window = selected_frame;
+	  }
+	nstored += p->npending;
+
+	mask = sigblock (sigmask (p->sig));
+	do
+	  {
+	    buf.code = p->sig;
+	    kbd_buffer_store_event (&buf);
+	    p->npending--;
+	  }
+	while (p->npending > 0);
+	sigsetmask (mask);
+      }
+
+  return nstored;
+}
+
+
 static void menu_bar_item P_ ((Lisp_Object, Lisp_Object, Lisp_Object, void*));
 static Lisp_Object menu_bar_one_keymap_changed_items;
 
@@ -11422,11 +11568,6 @@
   staticpro (&Qmac_apple_event);
 #endif
 
-  Qusr1_signal = intern ("usr1-signal");
-  staticpro (&Qusr1_signal);
-  Qusr2_signal = intern ("usr2-signal");
-  staticpro (&Qusr2_signal);
-
   Qmenu_enable = intern ("menu-enable");
   staticpro (&Qmenu_enable);
   Qmenu_alias = intern ("menu-alias");
@@ -11724,8 +11865,8 @@
 
   DEFVAR_LISP ("double-click-time", &Vdouble_click_time,
 	       doc: /* *Maximum time between mouse clicks to make a double-click.
-Measured in milliseconds.  nil means disable double-click recognition;
-t means double-clicks have no time limit and are detected
+Measured in milliseconds.  The value nil means disable double-click
+recognition; t means double-clicks have no time limit and are detected
 by position only.  */);
   Vdouble_click_time = make_number (500);
 
--- a/src/keyboard.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/keyboard.h	Mon Jan 01 17:38:32 2007 +0000
@@ -358,6 +358,7 @@
 extern void kbd_buffer_store_help_event P_ ((Lisp_Object, Lisp_Object));
 extern Lisp_Object menu_item_eval_property P_ ((Lisp_Object));
 extern int  kbd_buffer_events_waiting P_ ((int));
+extern void add_user_signals P_ ((int, const char *));
 
 extern int tty_read_avail_input P_ ((struct terminal *, int,
                                      struct input_event *));
--- a/src/keymap.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/keymap.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1117,7 +1117,8 @@
     or another symbol whose function definition is used, etc.),
  a cons (STRING . DEFN), meaning that DEFN is the definition
     (DEFN should be a valid definition in its own right),
- or a cons (MAP . CHAR), meaning use definition of CHAR in keymap MAP.
+ or a cons (MAP . CHAR), meaning use definition of CHAR in keymap MAP,
+ or an extended menu item definition.  (See info node `Extended Menu Items'.)
 
 If KEYMAP is a sparse keymap with a binding for KEY, the existing
 binding is altered.  If there is no binding for KEY, the new pair
@@ -1240,7 +1241,8 @@
 
 DEFUN ("lookup-key", Flookup_key, Slookup_key, 2, 3, 0,
        doc: /* In keymap KEYMAP, look up key sequence KEY.  Return the definition.
-nil means undefined.  See doc of `define-key' for kinds of definitions.
+A value of nil means undefined.  See doc of `define-key'
+for kinds of definitions.
 
 A number as value means KEY is "too long";
 that is, characters or symbols in it except for the last one
@@ -1615,13 +1617,13 @@
      are read using the keymaps of the buffer clicked on, not
      the current buffer.  So we may have to switch the buffer
      here. */
-  
+
   if (CONSP (position))
     {
       Lisp_Object window;
-      
+
       window = POSN_WINDOW (position);
-	  
+
       if (WINDOWP (window)
 	  && BUFFERP (XWINDOW (window)->buffer)
 	  && XBUFFER (XWINDOW (window)->buffer) != current_buffer)
@@ -1633,13 +1635,13 @@
 	     would not be a problem here, but it is easier to keep
 	     things the same.
 	  */
-	      
+
 	  record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
-	  
+
 	  set_buffer_internal (XBUFFER (XWINDOW (window)->buffer));
 	}
     }
-  
+
   if (! NILP (current_kboard->Voverriding_terminal_local_map))
     {
       value = Flookup_key (current_kboard->Voverriding_terminal_local_map,
@@ -1662,8 +1664,8 @@
 	: MARKERP (position) ? marker_position (position)
 	: PT;
 
-      local_map = get_local_map (pt, current_buffer, Qlocal_map); 
-      keymap = get_local_map (pt, current_buffer, Qkeymap); 
+      local_map = get_local_map (pt, current_buffer, Qlocal_map);
+      keymap = get_local_map (pt, current_buffer, Qkeymap);
 
       if (CONSP (position))
 	{
@@ -1671,7 +1673,7 @@
 
 	  /* For a mouse click, get the local text-property keymap
 	     of the place clicked on, rather than point.  */
-	  
+
 	  if (POSN_INBUFFER_P (position))
 	    {
 	      Lisp_Object pos;
@@ -1682,7 +1684,7 @@
 		{
 		  local_map = get_local_map (XINT (pos),
 					     current_buffer, Qlocal_map);
-		  
+
 		  keymap = get_local_map (XINT (pos),
 					  current_buffer, Qkeymap);
 		}
@@ -1693,12 +1695,12 @@
 	     string displayed via the `display' property,
 	     consider `local-map' and `keymap' properties of
 	     that string.  */
-	  
+
 	  if (string = POSN_STRING (position),
 	      (CONSP (string) && STRINGP (XCAR (string))))
 	    {
 	      Lisp_Object pos, map;
-	      
+
 	      pos = XCDR (string);
 	      string = XCAR (string);
 	      if (INTEGERP (pos)
@@ -1714,7 +1716,7 @@
 		    keymap = map;
 		}
 	    }
-	  
+
 	}
 
       if (! NILP (keymap))
--- a/src/lread.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/lread.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1554,7 +1554,7 @@
 Programs can pass two arguments, BUFFER and PRINTFLAG.
 BUFFER is the buffer to evaluate (nil means use current buffer).
 PRINTFLAG controls printing of output:
-nil means discard it; anything else is stream for print.
+A value of nil means discard it; anything else is stream for print.
 
 If the optional third argument FILENAME is non-nil,
 it specifies the file name to use for `load-history'.
@@ -1603,7 +1603,7 @@
 giving starting and ending indices in the current buffer
 of the text to be executed.
 Programs can pass third argument PRINTFLAG which controls output:
-nil means discard it; anything else is stream for printing it.
+A value of nil means discard it; anything else is stream for printing it.
 Also the fourth argument READ-FUNCTION, if non-nil, is used
 instead of `read' to read each expression.  It gets one argument
 which is the input stream for reading characters.
--- a/src/m/amdx86-64.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/m/amdx86-64.h	Mon Jan 01 17:38:32 2007 +0000
@@ -125,7 +125,16 @@
 #undef LIB_STANDARD
 #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o
 
-#else /* !__OpenBSD__ && !__FreeBSD__ */
+#elif defined(__NetBSD__)
+
+/* LIB_STANDARD and START_FILES set correctly in s/netbsd.h */
+
+#elif defined(sun)
+
+#undef START_FILES
+#undef LIB_STANDARD
+
+#else /* !__OpenBSD__ && !__FreeBSD__ && !__NetBSD__ && !sun */
 
 #undef START_FILES
 #ifdef HAVE_X86_64_LIB64_DIR
--- a/src/m/hp800.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/m/hp800.h	Mon Jan 01 17:38:32 2007 +0000
@@ -174,6 +174,14 @@
 #define rindex strrchr
 
 #endif /* __hpux */
+
+/* Systems with GCC don't need to lose. */
+#ifdef __NetBSD__
+# ifdef __GNUC__
+#  define alloca __builtin_alloca
+#  define HAVE_ALLOCA
+# endif /* __GNUC__ */
+#endif /* __NetBSD__ */
 
 /* arch-tag: 809436e6-1645-4b92-b40d-2de5d6e7227c
    (do not change this comment) */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/sh3el.h	Mon Jan 01 17:38:32 2007 +0000
@@ -0,0 +1,109 @@
+/* machine description file for sh3el
+   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+
+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 2, 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., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
+
+/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+   is the most significant byte.  */
+
+#undef WORDS_BIG_ENDIAN
+
+/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
+ * group of arguments and treat it as an array of the arguments.  */
+
+#define NO_ARG_ARRAY
+
+/* Define WORD_MACHINE if addresses and such have
+ * to be corrected before they can be used as byte counts.  */
+
+#undef WORD_MACHINE
+
+/* Now define a symbol for the cpu type, if your compiler
+   does not define it automatically:
+   Ones defined so far include vax, m68000, ns16000, pyramid,
+   orion, tahoe, APOLLO and many others */
+
+/* Use type int rather than a union, to represent Lisp_Object */
+/* This is desirable for most machines.  */
+
+#define NO_UNION_TYPE
+
+/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
+   the 24-bit bit field into an int.  In other words, if bit fields
+   are always unsigned.
+
+   If you use NO_UNION_TYPE, this flag does not matter.  */
+
+#define EXPLICIT_SIGN_EXTEND
+
+/* Data type of load average, as read out of kmem.  */
+
+#define LOAD_AVE_TYPE long
+
+/* Convert that into an integer that is 100 for a load average of 1.0  */
+
+#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
+
+/* Define CANNOT_DUMP on machines where unexec does not work.
+   Then the function dump-emacs will not be defined
+   and temacs will do (load "loadup") automatically unless told otherwise.  */
+
+#undef CANNOT_DUMP
+
+/* Define VIRT_ADDR_VARIES if the virtual addresses of
+   pure and impure space as loaded can vary, and even their
+   relative order cannot be relied on.
+
+   Otherwise Emacs assumes that text space precedes data space,
+   numerically.  */
+
+#define VIRT_ADDR_VARIES
+
+/* Define C_ALLOCA if this machine does not support a true alloca
+   and the one written in C should be used instead.
+   Define HAVE_ALLOCA to say that the system provides a properly
+   working alloca function and it should be used.
+   Define neither one if an assembler-language alloca
+   in the file alloca.s should be used.  */
+
+/* #define C_ALLOCA */
+#define HAVE_ALLOCA
+
+/* Define NO_REMAP if memory segmentation makes it not work well
+   to change the boundary between the text section and data section
+   when Emacs is dumped.  If you define this, the preloaded Lisp
+   code will not be sharable; but that's better than failing completely.  */
+
+#define NO_REMAP
+
+/* After adding support for a new system, modify the large case
+   statement in the `configure' script to recognize reasonable
+   configuration names, and add a description of the system to
+   `etc/MACHINES'.
+
+   If you've just fixed a problem in an existing configuration file,
+   you should also check `etc/MACHINES' to make sure its descriptions
+   of known problems in that configuration should be updated.  */
+
+/* arch-tag: ee325990-6f40-47a2-b9df-60ecf3599899
+   (do not change this comment) */
--- a/src/mac.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/mac.c	Mon Jan 01 17:38:32 2007 +0000
@@ -79,6 +79,15 @@
 /* The single script context used for all script executions.  */
 static OSAID as_script_context;
 
+#if TARGET_API_MAC_CARBON
+static int wakeup_from_rne_enabled_p = 0;
+#define ENABLE_WAKEUP_FROM_RNE (wakeup_from_rne_enabled_p = 1)
+#define DISABLE_WAKEUP_FROM_RNE (wakeup_from_rne_enabled_p = 0)
+#else
+#define ENABLE_WAKEUP_FROM_RNE 0
+#define DISABLE_WAKEUP_FROM_RNE 0
+#endif
+
 #ifndef MAC_OSX
 static OSErr posix_pathname_to_fsspec P_ ((const char *, FSSpec *));
 static OSErr fsspec_to_posix_pathname P_ ((const FSSpec *, char *, int));
@@ -2431,6 +2440,7 @@
      BLOCK_INPUT block, in case that some input has already been read
      asynchronously.  */
   BLOCK_INPUT;
+  ENABLE_WAKEUP_FROM_RNE;
   if (!detect_input_pending ())
     {
 #if TARGET_API_MAC_CARBON
@@ -2461,6 +2471,7 @@
 	}
 #endif /* not TARGET_API_MAC_CARBON */
     }
+  DISABLE_WAKEUP_FROM_RNE;
   UNBLOCK_INPUT;
 
   if (err == noErr)
@@ -4841,8 +4852,8 @@
        doc: /* Convert STRING from SOURCE encoding to TARGET encoding.
 The conversion is performed using the converter provided by the system.
 Each encoding is specified by either a coding system symbol, a mime
-charset string, or an integer as a CFStringEncoding value.  Nil for
-encoding means UTF-16 in native byte order, no byte order mark.
+charset string, or an integer as a CFStringEncoding value.  An encoding
+of nil means UTF-16 in native byte order, no byte order mark.
 On Mac OS X 10.2 and later, you can do Unicode Normalization by
 specifying the optional argument NORMALIZATION-FORM with a symbol NFD,
 NFKD, NFC, NFKC, HFS+D, or HFS+C.
@@ -5023,6 +5034,7 @@
      BLOCK_INPUT block, in case that some input has already been read
      asynchronously.  */
   BLOCK_INPUT;
+  ENABLE_WAKEUP_FROM_RNE;
   if (!detect_input_pending ())
     {
       EMACS_TIME select_timeout;
@@ -5045,6 +5057,7 @@
 				  kEventLeaveInQueue, NULL);
 	}
     }
+  DISABLE_WAKEUP_FROM_RNE;
   UNBLOCK_INPUT;
 
   if (r != 0)
@@ -5124,6 +5137,7 @@
 	 BLOCK_INPUT block, in case that some input has already been
 	 read asynchronously.  */
       BLOCK_INPUT;
+      ENABLE_WAKEUP_FROM_RNE;
       if (!detect_input_pending ())
 	{
 	  int minfd, fd;
@@ -5184,6 +5198,7 @@
 		CFRunLoopRemoveSource (runloop, source, kCFRunLoopDefaultMode);
 	      }
 	}
+      DISABLE_WAKEUP_FROM_RNE;
       UNBLOCK_INPUT;
 
       if (err == noErr || err == eventLoopQuitErr)
@@ -5385,6 +5400,16 @@
 }
 #endif /* MAC_OSX */
 
+#if TARGET_API_MAC_CARBON
+void
+mac_wakeup_from_rne ()
+{
+  if (wakeup_from_rne_enabled_p)
+    /* Post a harmless event so as to wake up from
+       ReceiveNextEvent.  */
+    mac_post_mouse_moved_event ();
+}
+#endif
 
 void
 syms_of_mac ()
--- a/src/macfns.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/macfns.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1969,9 +1969,9 @@
     {
       AEDesc desc;
 #ifdef MAC_OSX
-      FSRef fref;
+      FSRef fref, fref_proxy;
 #else
-      FSSpec fss;
+      FSSpec fss, fss_proxy;
 #endif
       Boolean changed;
       Lisp_Object encoded_file_name = ENCODE_FILE (file_name);
@@ -1997,10 +1997,19 @@
 	{
 	  if (alias)
 	    {
+	      /* (FS)ResolveAlias never sets `changed' to true if
+		 `alias' is minimal.  */
 #ifdef MAC_OSX
-	      err = FSUpdateAlias (NULL, &fref, alias, &changed);
+	      err = FSResolveAlias (NULL, alias, &fref_proxy, &changed);
+	      if (err == noErr)
+		err = FSCompareFSRefs (&fref, &fref_proxy);
 #else
-	      err = UpdateAlias (NULL, &fss, alias, &changed);
+	      err = ResolveAlias (NULL, alias, &fss_proxy, &changed);
+	      if (err == noErr)
+		err = !(fss.vRefNum == fss_proxy.vRefNum
+			&& fss.parID == fss_proxy.parID
+			&& EqualString (fss.name, fss_proxy.name,
+					false, true));
 #endif
 	    }
 	  if (err != noErr || alias == NULL)
@@ -2051,11 +2060,11 @@
 	 confusing.  */
       || (!MINI_WINDOW_P (w)
 	  && (modified_p != !NILP (w->last_had_star))))
-    SetWindowModified (FRAME_MAC_WINDOW (f),
-		       !MINI_WINDOW_P (w) && modified_p);
-
-  if (windows_or_buffers_changed)
-    mac_update_proxy_icon (f);
+    {
+      SetWindowModified (FRAME_MAC_WINDOW (f),
+			 !MINI_WINDOW_P (w) && modified_p);
+      mac_update_proxy_icon (f);
+    }
 #endif
 }
 
@@ -4597,6 +4606,30 @@
   return Qnil;
 }
 #endif
+
+#if USE_ATSUI
+extern Lisp_Object mac_atsu_font_face_attributes P_ ((ATSUFontID));
+
+DEFUN ("mac-atsu-font-face-attributes", Fmac_atsu_font_face_attributes,
+       Smac_atsu_font_face_attributes, 1, 1, 0,
+  doc: /* Return plist of face attributes and values for ATSU font ID.
+ID is specified by either an integer or a float.  */)
+     (id)
+     Lisp_Object id;
+{
+  ATSUFontID font_id;
+  Lisp_Object result;
+
+  check_mac ();
+  CHECK_NUMBER_OR_FLOAT(id);
+  font_id = NUMBERP (id) ? XINT (id) : (ATSUFontID) XFLOAT (id);
+  BLOCK_INPUT;
+  result = mac_atsu_font_face_attributes (font_id);
+  UNBLOCK_INPUT;
+  return result;
+}
+#endif
+
 
 /***********************************************************************
 			    Initialization
@@ -4829,6 +4862,9 @@
 #if USE_MAC_FONT_PANEL
   defsubr (&Smac_set_font_panel_visibility);
 #endif
+#if USE_ATSUI
+  defsubr (&Smac_atsu_font_face_attributes);
+#endif
 }
 
 /* arch-tag: d7591289-f374-4377-b245-12f5dbbb8edc
--- a/src/macselect.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/macselect.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1567,8 +1567,7 @@
     {
       mac_store_drag_event (window, mouse_pos, modifiers, &apple_event);
       AEDisposeDesc (&apple_event);
-      /* Post a harmless event so as to wake up from ReceiveNextEvent.  */
-      mac_post_mouse_moved_event ();
+      mac_wakeup_from_rne ();
       return noErr;
     }
   else
--- a/src/macterm.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/macterm.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1154,7 +1154,8 @@
       UniChar ch = c;
 
       err = atsu_get_text_layout_with_text_ptr (&ch, 1, style, &text_layout);
-      if (err == noErr)
+      if (err == noErr
+	  && (font_ascent_return || font_descent_return || overall_return))
 	{
 	  ATSTrapezoid glyph_bounds;
 
@@ -6987,7 +6988,6 @@
 static Lisp_Object atsu_font_id_hash;
 /* Alist linking Font Manager style to face attributes.  */
 static Lisp_Object fm_style_face_attributes_alist;
-static Lisp_Object Vmac_atsu_font_table;
 extern Lisp_Object QCfamily, QCweight, QCslant, Qnormal, Qbold, Qitalic;
 #endif
 
@@ -7224,6 +7224,73 @@
 }
 
 #if USE_ATSUI
+static FMFontStyle
+fm_get_style_from_font (font)
+     FMFont font;
+{
+  OSStatus err;
+  FMFontStyle style = normal;
+  ByteCount len;
+  UInt16 mac_style;
+  FMFontFamily font_family;
+#define FONT_HEADER_MAC_STYLE_OFFSET (4*4 + 2*2 + 8*2 + 2*4)
+
+  /* FMGetFontFamilyInstanceFromFont returns `normal' as the style of
+     some font (e.g., Optima) even if it is `bold'.  */
+  err = FMGetFontTable (font, 'head', FONT_HEADER_MAC_STYLE_OFFSET,
+			sizeof (mac_style), &mac_style, &len);
+  if (err == noErr
+      && len >= FONT_HEADER_MAC_STYLE_OFFSET + sizeof (mac_style))
+    style = EndianU16_BtoN (mac_style);
+  else
+    FMGetFontFamilyInstanceFromFont (font, &font_family, &style);
+
+  return style;
+}
+
+static ATSUFontID
+atsu_find_font_from_family_name (family)
+     const char *family;
+{
+  struct Lisp_Hash_Table *h = XHASH_TABLE (atsu_font_id_hash);
+  unsigned hash_code;
+  int i;
+  Lisp_Object rest, best;
+  FMFontStyle min_style, style;
+
+  i = hash_lookup (h, make_unibyte_string (family, strlen (family)),
+		   &hash_code);
+  if (i < 0)
+    return kATSUInvalidFontID;
+
+  rest = HASH_VALUE (h, i);
+  if (INTEGERP (rest) || (CONSP (rest) && INTEGERP (XCDR (rest))))
+    return cons_to_long (rest);
+
+  rest = Fnreverse (rest);
+  best = XCAR (rest);
+  rest = XCDR (rest);
+  if (!NILP (rest)
+      && (min_style = fm_get_style_from_font (cons_to_long (best))) != normal)
+    do
+      {
+	style = fm_get_style_from_font (cons_to_long (XCAR (rest)));
+	if (style < min_style)
+	  {
+	    best = XCAR (rest);
+	    if (style == normal)
+	      break;
+	    else
+	      min_style = style;
+	  }
+	rest = XCDR (rest);
+      }
+    while (!NILP (rest));
+
+  HASH_VALUE (h, i) = best;
+  return cons_to_long (best);
+}
+
 static Lisp_Object
 fm_style_to_face_attributes (fm_style)
      FMFontStyle fm_style;
@@ -7244,6 +7311,44 @@
 
   return tem;
 }
+
+static Lisp_Object
+atsu_find_font_family_name (font_id)
+     ATSUFontID font_id;
+{
+  OSStatus err;
+  ByteCount len;
+  Lisp_Object family = Qnil;
+
+  err = ATSUFindFontName (font_id, kFontFamilyName,
+			  kFontMacintoshPlatform, kFontNoScript,
+			  kFontNoLanguage, 0, NULL, &len, NULL);
+  if (err == noErr)
+    {
+      family = make_uninit_string (len);
+      err = ATSUFindFontName (font_id, kFontFamilyName,
+			      kFontMacintoshPlatform, kFontNoScript,
+			      kFontNoLanguage, len, SDATA (family),
+			      NULL, NULL);
+    }
+  if (err == noErr)
+    decode_mac_font_name (SDATA (family), len + 1, Qnil);
+
+  return family;
+}
+
+Lisp_Object
+mac_atsu_font_face_attributes (font_id)
+     ATSUFontID font_id;
+{
+  Lisp_Object family, style_attrs;
+
+  family = atsu_find_font_family_name (font_id);
+  if (NILP (family))
+    return Qnil;
+  style_attrs = fm_style_to_face_attributes (fm_get_style_from_font (font_id));
+  return Fcons (QCfamily, Fcons (family, style_attrs));
+}
 #endif
 
 /* Sets up the table font_name_table to contain the list of all fonts
@@ -7275,9 +7380,8 @@
       unsigned hash_code;
       ItemCount nfonts, i;
       ATSUFontID *font_ids = NULL;
-      Ptr name;
-      ByteCount name_len;
-      Lisp_Object family;
+      Lisp_Object prev_family = Qnil;
+      int j;
 
       atsu_font_id_hash =
 	make_hash_table (Qequal, make_number (DEFAULT_HASH_SIZE),
@@ -7295,41 +7399,25 @@
       if (err == noErr)
 	for (i = 0; i < nfonts; i++)
 	  {
-	    err = ATSUFindFontName (font_ids[i], kFontFamilyName,
-				    kFontMacintoshPlatform, kFontNoScript,
-				    kFontNoLanguage, 0, NULL, &name_len, NULL);
-	    if (err != noErr)
+	    Lisp_Object family;
+
+	    family = atsu_find_font_family_name (font_ids[i]);
+	    if (NILP (family) || SREF (family, 0) == '.')
 	      continue;
-	    name = xmalloc (name_len + 1);
-	    name[name_len] = '\0';
-	    err = ATSUFindFontName (font_ids[i], kFontFamilyName,
-				    kFontMacintoshPlatform, kFontNoScript,
-				    kFontNoLanguage, name_len, name,
-				    NULL, NULL);
-	    if (err == noErr)
+	    if (!NILP (Fequal (prev_family, family)))
+	      family = prev_family;
+	    else
+	      j = hash_lookup (h, family, &hash_code);
+	    if (j < 0)
 	      {
-		FMFontFamily ff;
-		FMFontStyle style = normal;
-
-		decode_mac_font_name (name, name_len + 1, Qnil);
-		family = make_unibyte_string (name, name_len);
-		FMGetFontFamilyInstanceFromFont (font_ids[i], &ff, &style);
-		Fputhash ((font_ids[i] > MOST_POSITIVE_FIXNUM
-			   ? make_float (font_ids[i])
-			   : make_number (font_ids[i])),
-			  Fcons (QCfamily,
-				 Fcons (family,
-					fm_style_to_face_attributes (style))),
-			  Vmac_atsu_font_table);
-		if (*name != '.'
-		    && hash_lookup (h, family, &hash_code) < 0)
-		  {
-		    add_mac_font_name (name, 0, normal, "iso10646-1");
-		    hash_put (h, family, long_to_cons (font_ids[i]),
-			      hash_code);
-		  }
+		add_mac_font_name (SDATA (family), 0, normal, "iso10646-1");
+		j = hash_put (h, family, Fcons (long_to_cons (font_ids[i]),
+						Qnil), hash_code);
 	      }
-	    xfree (name);
+	    else if (EQ (prev_family, family))
+	      HASH_VALUE (h, j) = Fcons (long_to_cons (font_ids[i]),
+					 HASH_VALUE (h, j));
+	    prev_family = family;
 	  }
       if (font_ids)
 	xfree (font_ids);
@@ -7873,14 +7961,11 @@
 	{kAllTypographicFeaturesType, kDiacriticsType};
       static const ATSUFontFeatureSelector selectors[] =
 	{kAllTypeFeaturesOffSelector, kDecomposeDiacriticsSelector};
-      Lisp_Object font_id_cons;
       FMFontStyle style;
 
-      font_id_cons = Fgethash (make_unibyte_string (family, strlen (family)),
-			       atsu_font_id_hash, Qnil);
-      if (NILP (font_id_cons))
-	return NULL;
-      font_id = cons_to_long (font_id_cons);
+      font_id = atsu_find_font_from_family_name (family);
+      if (font_id == kATSUInvalidFontID)
+	return;
       size_fixed = Long2Fix (size);
       bold_p = (fontface & bold) != 0;
       italic_p = (fontface & italic) != 0;
@@ -8004,11 +8089,19 @@
 	    continue;
 	  else if (c == 0x7f)
 	    {
-	      c = 0x9f;
-	      continue;
+#if USE_CG_TEXT_DRAWING
+	      if (font->cg_glyphs)
+		{
+		  c = 0x9f;
+		  pcm = NULL;
+		  continue;
+		}
+#endif
+	      break;
 	    }
 
-	  mac_query_char_extents (font->mac_style, c, NULL, NULL, pcm + c,
+	  mac_query_char_extents (font->mac_style, c, NULL, NULL,
+				  pcm ? pcm + c : NULL,
 #if USE_CG_TEXT_DRAWING
 				  (font->cg_glyphs ? font->cg_glyphs + c
 				   : NULL)
@@ -8026,6 +8119,8 @@
 	      font->cg_font = NULL;
 	      xfree (font->cg_glyphs);
 	      font->cg_glyphs = NULL;
+	      if (pcm == NULL)
+		break;
 	    }
 #endif
 	}
@@ -8033,6 +8128,7 @@
   else
 #endif
     {
+      OSStatus err;
       FontInfo the_fontinfo;
       int is_two_byte_font;
 
@@ -8115,8 +8211,13 @@
 		 sizeof (XCharStruct) * (0xff - 0x20 + 1));
 
 	  space_bounds = font->bounds.per_char;
-	  mac_query_char_extents (NULL, 0x20, &font->ascent, &font->descent,
-				  space_bounds, NULL);
+	  err = mac_query_char_extents (NULL, 0x20, &font->ascent,
+					&font->descent, space_bounds, NULL);
+	  if (err != noErr || space_bounds->width <= 0)
+	    {
+	      mac_unload_font (&one_mac_display_info, font);
+	      return NULL;
+	    }
 
 	  for (c = 0x21, pcm = space_bounds + 1; c <= 0xff; c++, pcm++)
 	    mac_query_char_extents (NULL, c, NULL, NULL, pcm, NULL);
@@ -9365,9 +9466,7 @@
 	    {
 	      mac_store_apple_event (class_key, id_key, &apple_event);
 	      AEDisposeDesc (&apple_event);
-	      /* Post a harmless event so as to wake up from
-		 ReceiveNextEvent.  */
-	      mac_post_mouse_moved_event ();
+	      mac_wakeup_from_rne ();
 	    }
 	}
     }
@@ -10404,7 +10503,9 @@
 #else
 		    FrontWindow ()
 #endif
-		    != window_ptr)
+		    != window_ptr
+		    || (mac_window_to_frame (window_ptr)
+			!= dpyinfo->x_focus_frame))
 		  SelectWindow (window_ptr);
 		else
 		  {
@@ -11677,7 +11778,7 @@
   DEFVAR_BOOL ("x-use-underline-position-properties",
 	       &x_use_underline_position_properties,
      doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties.
-nil means ignore them.  If you encounter fonts with bogus
+A value of nil means ignore them.  If you encounter fonts with bogus
 UNDERLINE_POSITION font properties, for example 7x13 on XFree prior
 to 4.1, set this to nil.
 
@@ -11687,9 +11788,9 @@
   DEFVAR_BOOL ("x-underline-at-descent-line",
 	       &x_underline_at_descent_line,
      doc: /* *Non-nil means to draw the underline at the same place as the descent line.
-nil means to draw the underline according to the value of the variable
-`x-use-underline-position-properties', which is usually at the baseline
-level.  The default value is nil.  */);
+A value of nil means to draw the underline according to the value of the
+variable `x-use-underline-position-properties', which is usually at the
+baseline level.  The default value is nil.  */);
   x_underline_at_descent_line = 0;
 
   DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars,
@@ -11736,8 +11837,8 @@
 	       &Vmac_emulate_three_button_mouse,
     doc: /* *Specify a way of three button mouse emulation.
 The value can be nil, t, or the symbol `reverse'.
-nil means that no emulation should be done and the modifiers should be
-placed on the mouse-1 event.
+A value of nil means that no emulation should be done and the modifiers
+should be placed on the mouse-1 event.
 t means that when the option-key is held down while pressing the mouse
 button, the click will register as mouse-2 and while the command-key
 is held down, the click will register as mouse-3.
@@ -11788,15 +11889,6 @@
     Fcons (list3 (build_string ("mac-roman"),
 		  make_number (smRoman), Qnil), Qnil);
 
-#if USE_ATSUI
-  DEFVAR_LISP ("mac-atsu-font-table", &Vmac_atsu_font_table,
-    doc: /* Hash table of ATSU font IDs vs plist of attributes and values.  */);
-  Vmac_atsu_font_table =
-    make_hash_table (Qeql, make_number (DEFAULT_HASH_SIZE),
-		     make_float (DEFAULT_REHASH_SIZE),
-		     make_float (DEFAULT_REHASH_THRESHOLD),
-		     Qnil, Qnil, Qnil);
-#endif
 #if USE_MAC_TSM
   DEFVAR_LISP ("mac-ts-active-input-overlay", &Vmac_ts_active_input_overlay,
     doc: /* Overlay used to display Mac TSM active input area.  */);
--- a/src/macterm.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/macterm.h	Mon Jan 01 17:38:32 2007 +0000
@@ -682,6 +682,7 @@
 extern Lisp_Object cfboolean_to_lisp P_ ((CFBooleanRef));
 extern Lisp_Object cfobject_desc_to_lisp P_ ((CFTypeRef));
 extern Lisp_Object cfproperty_list_to_lisp P_ ((CFPropertyListRef, int, int));
+extern void mac_wakeup_from_rne P_ ((void));
 #endif
 extern void xrm_merge_string_database P_ ((XrmDatabase, const char *));
 extern Lisp_Object xrm_get_resource P_ ((XrmDatabase, const char *,
--- a/src/makefile.w32-in	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/makefile.w32-in	Mon Jan 01 17:38:32 2007 +0000
@@ -156,7 +156,7 @@
 #
 # The dumped executable
 #
-emacs:          $(BLD) $(EMACS)
+emacs:          stamp_BLD $(EMACS)
 $(EMACS):       $(DOC) $(TEMACS)
 	"$(THISDIR)/$(BLD)/temacs.exe" -batch -l loadup dump
 	-"$(THISDIR)/$(BLD)/emacs.exe" -q -batch -f list-load-path-shadows
@@ -167,7 +167,7 @@
 # If preload runs out of memory, increase the last argument to addsection
 # (it is the preload heap size in MB).
 #
-temacs:         $(BLD) $(TEMACS)
+temacs:         stamp_BLD $(TEMACS)
 $(TEMACS):      $(TLIB0) $(TLIB1) $(TLIBW32) $(TLASTLIB) $(TOBJ) $(TRES) \
 		  ../nt/$(BLD)/addsection.exe
 	$(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS)
@@ -185,7 +185,7 @@
 # WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
 #          this can break with GNU Make 3.81 and later if sh.exe is used.
 bootstrap-temacs:
-	$(MAKE) $(MFLAGS) temacs CFLAGS=$(ARGQUOTE)$(CFLAGS) -DPURESIZE=5000000$(ARGQUOTE)
+	$(MAKE) $(MFLAGS) $(XMFLAGS) temacs CFLAGS=$(ARGQUOTE)$(CFLAGS) -DPURESIZE=5000000$(ARGQUOTE)
 
 #
 # Dump an Emacs executable named bootstrap-emacs containing the
@@ -250,6 +250,7 @@
 	- $(DEL) *~ "s/*~" "m/*~"
 	- $(DEL) $(COMPILER_TEMP_FILES)
 	- $(DEL_TREE) $(OBJDIR)
+	- $(DEL) stamp_BLD
 
 distclean:	clean
 	- $(DEL) config.h epaths.h
@@ -1486,3 +1487,8 @@
 	$(SRC)/w32bdf.h \
 	$(SRC)/w32gui.h \
 	$(SRC)/w32term.h
+
+# Each object file depends on stamp_BLD, because in parallel builds we must
+# make sure $(BLD) exists before starting compilations.
+#
+$(OBJ0) $(OBJ1) $(WIN32OBJ) $(BLD)/lastfile.$(O) $(BLD)/firstfile.$(O): stamp_BLD
--- a/src/marker.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/marker.c	Mon Jan 01 17:38:32 2007 +0000
@@ -848,7 +848,7 @@
 DEFUN ("marker-insertion-type", Fmarker_insertion_type,
        Smarker_insertion_type, 1, 1, 0,
        doc: /* Return insertion type of MARKER: t if it stays after inserted text.
-nil means the marker stays before text inserted there.  */)
+The value nil means the marker stays before text inserted there.  */)
      (marker)
      register Lisp_Object marker;
 {
--- a/src/minibuf.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/minibuf.c	Mon Jan 01 17:38:32 2007 +0000
@@ -1293,6 +1293,7 @@
   tail = alist;
   if (type == 2)
     {
+      alist = check_obarray (alist);
       obsize = XVECTOR (alist)->size;
       bucket = XVECTOR (alist)->contents[index];
     }
@@ -1316,6 +1317,8 @@
 	{
 	  if (!EQ (bucket, zero))
 	    {
+	      if (!SYMBOLP (bucket))
+		error ("Bad data in guts of obarray");
 	      elt = bucket;
 	      eltstring = elt;
 	      if (XSYMBOL (bucket)->next)
@@ -2883,10 +2886,10 @@
   STRING, the current buffer contents;
   PREDICATE, the predicate for filtering possible matches;
   CODE, which says what kind of things to do.
-CODE can be nil, t or `lambda'.
-nil means to return the best completion of STRING, or nil if there is none.
-t means to return a list of all possible completions of STRING.
-`lambda' means to return t if STRING is a valid completion as it stands.  */);
+CODE can be nil, t or `lambda':
+  nil    -- return the best completion of STRING, or nil if there is none.
+  t      -- return a list of all possible completions of STRING.
+  lambda -- return t if STRING is a valid completion as it stands.  */);
   Vminibuffer_completion_table = Qnil;
 
   DEFVAR_LISP ("minibuffer-completion-predicate", &Vminibuffer_completion_predicate,
--- a/src/msdos.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/msdos.c	Mon Jan 01 17:38:32 2007 +0000
@@ -5300,7 +5300,7 @@
 #ifndef subprocesses
   DEFVAR_BOOL ("delete-exited-processes", &delete_exited_processes,
 	       doc: /* *Non-nil means delete processes immediately when they exit.
-nil means don't delete them until `list-processes' is run.  */);
+A value of nil means don't delete them until `list-processes' is run.  */);
   delete_exited_processes = 0;
 #endif
 
--- a/src/msdos.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/msdos.h	Mon Jan 01 17:38:32 2007 +0000
@@ -53,7 +53,7 @@
 typedef int Display;
 typedef int Window;
 typedef int XRectangle;
-#define PIX_TYPE int
+#define PIX_TYPE unsigned long
 #define XDISPLAY
 
 /* A stripped version of struct x_display_info in xterm.h, which see.  */
--- a/src/prefix-args.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/prefix-args.c	Mon Jan 01 17:38:32 2007 +0000
@@ -44,6 +44,14 @@
    If I can't write a completely portable program to do this in C,
    I'm quitting and taking up gardening.  */
 
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#if STDC_HEADERS
+# include <stdlib.h>		/* for proper declaration of `exit' */
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 
--- a/src/process.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/process.c	Mon Jan 01 17:38:32 2007 +0000
@@ -2900,7 +2900,7 @@
   /* Make QCaddress an alias for :local (server) or :remote (client).  */
   QCaddress = is_server ? QClocal : QCremote;
 
-  /* :wait BOOL */
+  /* :nowait BOOL */
   if (!is_server && socktype == SOCK_STREAM
       && (tem = Fplist_get (contact, QCnowait), !NILP (tem)))
     {
@@ -5144,6 +5144,9 @@
 	}
 
       carryover = nbytes - coding->consumed;
+      if (carryover < 0)
+	abort ();
+
       if (SCHARS (p->decoding_buf) < carryover)
 	p->decoding_buf = make_uninit_string (carryover);
       bcopy (chars + coding->consumed, SDATA (p->decoding_buf),
@@ -5254,11 +5257,15 @@
 	    }
 	}
       carryover = nbytes - coding->consumed;
+      if (carryover < 0)
+	abort ();
+
       if (SCHARS (p->decoding_buf) < carryover)
 	p->decoding_buf = make_uninit_string (carryover);
       bcopy (chars + coding->consumed, SDATA (p->decoding_buf),
 	     carryover);
       XSETINT (p->decoding_carryover, carryover);
+
       /* Adjust the multibyteness of TEXT to that of the buffer.  */
       if (NILP (current_buffer->enable_multibyte_characters)
 	  != ! STRING_MULTIBYTE (text))
@@ -6099,7 +6106,7 @@
 DEFUN ("signal-process", Fsignal_process, Ssignal_process,
        2, 2, "sProcess (name or number): \nnSignal code: ",
        doc: /* Send PROCESS the signal with code SIGCODE.
-PROCESS may also be an integer specifying the process id of the
+PROCESS may also be a number specifying the process id of the
 process to signal; in this case, the process need not be a child of
 this Emacs.
 SIGCODE may be an integer, or a symbol whose name is a signal name.  */)
@@ -6116,7 +6123,7 @@
 
   if (FLOATP (process))
     {
-      pid = (pid_t) XFLOAT (process);
+      pid = (pid_t) XFLOAT_DATA (process);
       goto got_it;
     }
 
@@ -6144,8 +6151,8 @@
 
  got_it:
 
-#define handle_signal(NAME, VALUE)		\
-  else if (!strcmp (name, NAME))		\
+#define parse_signal(NAME, VALUE)		\
+  else if (!xstricmp (name, NAME))		\
     XSETINT (sigcode, VALUE)
 
   if (INTEGERP (sigcode))
@@ -6157,106 +6164,106 @@
       CHECK_SYMBOL (sigcode);
       name = SDATA (SYMBOL_NAME (sigcode));
 
-      if (!strncmp(name, "SIG", 3))
+      if (!strncmp(name, "SIG", 3) || !strncmp(name, "sig", 3))
 	name += 3;
 
       if (0)
 	;
+#ifdef SIGUSR1
+      parse_signal ("usr1", SIGUSR1);
+#endif
+#ifdef SIGUSR2
+      parse_signal ("usr2", SIGUSR2);
+#endif
+#ifdef SIGTERM
+      parse_signal ("term", SIGTERM);
+#endif
 #ifdef SIGHUP
-      handle_signal ("HUP", SIGHUP);
+      parse_signal ("hup", SIGHUP);
 #endif
 #ifdef SIGINT
-      handle_signal ("INT", SIGINT);
+      parse_signal ("int", SIGINT);
 #endif
 #ifdef SIGQUIT
-      handle_signal ("QUIT", SIGQUIT);
+      parse_signal ("quit", SIGQUIT);
 #endif
 #ifdef SIGILL
-      handle_signal ("ILL", SIGILL);
+      parse_signal ("ill", SIGILL);
 #endif
 #ifdef SIGABRT
-      handle_signal ("ABRT", SIGABRT);
+      parse_signal ("abrt", SIGABRT);
 #endif
 #ifdef SIGEMT
-      handle_signal ("EMT", SIGEMT);
+      parse_signal ("emt", SIGEMT);
 #endif
 #ifdef SIGKILL
-      handle_signal ("KILL", SIGKILL);
+      parse_signal ("kill", SIGKILL);
 #endif
 #ifdef SIGFPE
-      handle_signal ("FPE", SIGFPE);
+      parse_signal ("fpe", SIGFPE);
 #endif
 #ifdef SIGBUS
-      handle_signal ("BUS", SIGBUS);
+      parse_signal ("bus", SIGBUS);
 #endif
 #ifdef SIGSEGV
-      handle_signal ("SEGV", SIGSEGV);
+      parse_signal ("segv", SIGSEGV);
 #endif
 #ifdef SIGSYS
-      handle_signal ("SYS", SIGSYS);
+      parse_signal ("sys", SIGSYS);
 #endif
 #ifdef SIGPIPE
-      handle_signal ("PIPE", SIGPIPE);
+      parse_signal ("pipe", SIGPIPE);
 #endif
 #ifdef SIGALRM
-      handle_signal ("ALRM", SIGALRM);
-#endif
-#ifdef SIGTERM
-      handle_signal ("TERM", SIGTERM);
+      parse_signal ("alrm", SIGALRM);
 #endif
 #ifdef SIGURG
-      handle_signal ("URG", SIGURG);
+      parse_signal ("urg", SIGURG);
 #endif
 #ifdef SIGSTOP
-      handle_signal ("STOP", SIGSTOP);
+      parse_signal ("stop", SIGSTOP);
 #endif
 #ifdef SIGTSTP
-      handle_signal ("TSTP", SIGTSTP);
+      parse_signal ("tstp", SIGTSTP);
 #endif
 #ifdef SIGCONT
-      handle_signal ("CONT", SIGCONT);
+      parse_signal ("cont", SIGCONT);
 #endif
 #ifdef SIGCHLD
-      handle_signal ("CHLD", SIGCHLD);
+      parse_signal ("chld", SIGCHLD);
 #endif
 #ifdef SIGTTIN
-      handle_signal ("TTIN", SIGTTIN);
+      parse_signal ("ttin", SIGTTIN);
 #endif
 #ifdef SIGTTOU
-      handle_signal ("TTOU", SIGTTOU);
+      parse_signal ("ttou", SIGTTOU);
 #endif
 #ifdef SIGIO
-      handle_signal ("IO", SIGIO);
+      parse_signal ("io", SIGIO);
 #endif
 #ifdef SIGXCPU
-      handle_signal ("XCPU", SIGXCPU);
+      parse_signal ("xcpu", SIGXCPU);
 #endif
 #ifdef SIGXFSZ
-      handle_signal ("XFSZ", SIGXFSZ);
+      parse_signal ("xfsz", SIGXFSZ);
 #endif
 #ifdef SIGVTALRM
-      handle_signal ("VTALRM", SIGVTALRM);
+      parse_signal ("vtalrm", SIGVTALRM);
 #endif
 #ifdef SIGPROF
-      handle_signal ("PROF", SIGPROF);
+      parse_signal ("prof", SIGPROF);
 #endif
 #ifdef SIGWINCH
-      handle_signal ("WINCH", SIGWINCH);
+      parse_signal ("winch", SIGWINCH);
 #endif
 #ifdef SIGINFO
-      handle_signal ("INFO", SIGINFO);
-#endif
-#ifdef SIGUSR1
-      handle_signal ("USR1", SIGUSR1);
-#endif
-#ifdef SIGUSR2
-      handle_signal ("USR2", SIGUSR2);
+      parse_signal ("info", SIGINFO);
 #endif
       else
 	error ("Undefined signal name %s", name);
     }
 
-#undef handle_signal
+#undef parse_signal
 
   return make_number (kill (pid, XINT (sigcode)));
 }
--- a/src/regex.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/regex.c	Mon Jan 01 17:38:32 2007 +0000
@@ -67,8 +67,8 @@
 # define regfree(preg) __regfree (preg)
 # define regexec(pr, st, nm, pm, ef) __regexec (pr, st, nm, pm, ef)
 # define regcomp(preg, pattern, cflags) __regcomp (preg, pattern, cflags)
-# define regerror(errcode, preg, errbuf, errbuf_size) \
-	__regerror(errcode, preg, errbuf, errbuf_size)
+# define regerror(err_code, preg, errbuf, errbuf_size) \
+	__regerror(err_code, preg, errbuf, errbuf_size)
 # define re_set_registers(bu, re, nu, st, en) \
 	__re_set_registers (bu, re, nu, st, en)
 # define re_match_2(bufp, string1, size1, string2, size2, pos, regs, stop) \
@@ -6531,12 +6531,15 @@
 WEAK_ALIAS (__regexec, regexec)
 
 
-/* Returns a message corresponding to an error code, ERRCODE, returned
-   from either regcomp or regexec.   We don't use PREG here.  */
+/* Returns a message corresponding to an error code, ERR_CODE, returned
+   from either regcomp or regexec.   We don't use PREG here.
+
+   ERR_CODE was previously called ERRCODE, but that name causes an
+   error with msvc8 compiler.  */
 
 size_t
-regerror (errcode, preg, errbuf, errbuf_size)
-    int errcode;
+regerror (err_code, preg, errbuf, errbuf_size)
+    int err_code;
     const regex_t *preg;
     char *errbuf;
     size_t errbuf_size;
@@ -6544,15 +6547,15 @@
   const char *msg;
   size_t msg_size;
 
-  if (errcode < 0
-      || errcode >= (sizeof (re_error_msgid) / sizeof (re_error_msgid[0])))
+  if (err_code < 0
+      || err_code >= (sizeof (re_error_msgid) / sizeof (re_error_msgid[0])))
     /* Only error codes returned by the rest of the code should be passed
        to this routine.  If we are given anything else, or if other regex
        code generates an invalid error code, then the program has a bug.
        Dump core so we can fix it.  */
     abort ();
 
-  msg = gettext (re_error_msgid[errcode]);
+  msg = gettext (re_error_msgid[err_code]);
 
   msg_size = strlen (msg) + 1; /* Includes the null.  */
 
--- a/src/s/ms-w32.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/s/ms-w32.h	Mon Jan 01 17:38:32 2007 +0000
@@ -137,6 +137,16 @@
 
 #define HAVE_SOCKETS 1
 
+/* But our select implementation doesn't allow us to make non-blocking
+   connects.  So until that is fixed, this is necessary:  */
+
+#define BROKEN_NON_BLOCKING_CONNECT 1
+
+/* And the select implementation does 1-byte read-ahead waiting
+   for received packets, so datagrams are broken too.  */
+
+#define BROKEN_DATAGRAM_SOCKETS 1
+
 /* Define this symbol if your system has the functions bcopy, etc. */
 
 #define BSTRING
@@ -376,7 +386,6 @@
 #define pclose    _pclose
 #define putw	  _putw
 #define umask	  _umask
-#define utime	  _utime
 #define utimbuf	  _utimbuf
 #define index     strchr
 #define rindex    strrchr
@@ -385,7 +394,11 @@
 #define strnicmp  _strnicmp
 #define stricmp   _stricmp
 #define tzset     _tzset
+
+#if !defined (_MSC_VER) || (_MSC_VER < 1400)
 #define tzname    _tzname
+#define utime	  _utime
+#endif
 
 #ifdef HAVE_NTGUI
 #define abort	w32_abort
--- a/src/search.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/search.c	Mon Jan 01 17:38:32 2007 +0000
@@ -2165,8 +2165,8 @@
        doc: /* Search forward from point for STRING.
 Set point to the end of the occurrence found, and return point.
 An optional second argument bounds the search; it is a buffer position.
-The match found must not extend after that position.  nil is equivalent
-  to (point-max).
+The match found must not extend after that position.  A value of nil is
+  equivalent to (point-max).
 Optional third argument, if t, means if fail just return nil (no error).
   If not nil and not t, move to limit of search and return nil.
 Optional fourth argument is repeat count--search for successive occurrences.
--- a/src/sound.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/sound.c	Mon Jan 01 17:38:32 2007 +0000
@@ -74,8 +74,12 @@
 #include <soundcard.h>
 #endif
 #ifdef HAVE_ALSA
+#ifdef ALSA_SUBDIR_INCLUDE
+#include <alsa/asoundlib.h>
+#else
 #include <asoundlib.h>
-#endif
+#endif /* ALSA_SUBDIR_INCLUDE */
+#endif /* HAVE_ALSA */
 
 /* END: Non Windows Includes */
 
--- a/src/syntax.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/syntax.c	Mon Jan 01 17:38:32 2007 +0000
@@ -915,7 +915,7 @@
        doc: /* Convert a syntax specification STRING into syntax cell form.
 STRING should be a string as it is allowed as argument of
 `modify-syntax-entry'.  Value is the equivalent cons cell
-(CODE . MATCHING-CHAR) that can be used as value of a `syntax-table'
+\(CODE . MATCHING-CHAR) that can be used as value of a `syntax-table'
 text property.  */)
      (string)
      Lisp_Object string;
@@ -3046,7 +3046,7 @@
  any character that starts a sexp.
 Fifth arg OLDSTATE is a list like what this function returns.
  It is used to initialize the state of the parse.  Elements number 1, 2, 6
- and 8 are ignored; you can leave off element 8 (the last) entirely.
+ and 8 are ignored.
 Sixth arg COMMENTSTOP non-nil means stop at the start of a comment.
  If it is symbol `syntax-table', stop after the start of a comment or a
  string, or after end of a comment or a string.  */)
--- a/src/systime.h	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/systime.h	Mon Jan 01 17:38:32 2007 +0000
@@ -101,16 +101,8 @@
 #ifdef GETTIMEOFDAY_ONE_ARGUMENT
 #define EMACS_GET_TIME(time) gettimeofday (&(time))
 #else /* not GETTIMEOFDAY_ONE_ARGUMENT */
-#ifdef HAVE_STRUCT_TIMEZONE
-#define EMACS_GET_TIME(time)			\
-  do {						\
-    struct timezone dummy;			\
-    gettimeofday (&(time), &dummy);		\
-  } while (0)
-#else
 /* Presumably the second arg is ignored.  */
 #define EMACS_GET_TIME(time) gettimeofday (&(time), NULL)
-#endif /* HAVE_STRUCT_TIMEZONE */
 #endif /* not GETTIMEOFDAY_ONE_ARGUMENT */
 
 #define EMACS_ADD_TIME(dest, src1, src2)		\
--- a/src/w32.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/w32.c	Mon Jan 01 17:38:32 2007 +0000
@@ -153,7 +153,8 @@
     PSID pSid);
 
   /* ** A utility function ** */
-static BOOL is_windows_9x ()
+static BOOL
+is_windows_9x ()
 {
   static BOOL s_b_ret=0;
   OSVERSIONINFO os_ver;
@@ -2871,7 +2872,8 @@
 /* function to set h_errno for compatability; map winsock error codes to
    normal system codes where they overlap (non-overlapping definitions
    are already in <sys/socket.h> */
-static void set_errno ()
+static void
+set_errno ()
 {
   if (winsock_lib == NULL)
     h_errno = EINVAL;
@@ -2892,7 +2894,8 @@
   errno = h_errno;
 }
 
-static void check_errno ()
+static void
+check_errno ()
 {
   if (h_errno == 0 && winsock_lib != NULL)
     pfn_WSASetLastError (0);
@@ -3676,7 +3679,8 @@
   return cp->status;
 }
 
-int _sys_wait_accept (int fd)
+int
+_sys_wait_accept (int fd)
 {
   HANDLE hEv;
   child_process * cp;
@@ -3698,10 +3702,10 @@
     {
       rc = WaitForSingleObject (hEv, INFINITE);
       pfn_WSAEventSelect (SOCK_HANDLE (fd), NULL, 0);
-      pfn_WSACloseEvent (hEv);
       if (rc == WAIT_OBJECT_0)
 	cp->status = STATUS_READ_SUCCEEDED;
     }
+  pfn_WSACloseEvent (hEv);
 
   return cp->status;
 }
@@ -4127,7 +4131,7 @@
       shut_down_emacs (0, 0, Qnil);
     }
 
-  /* Allow other handlers to handle this signal.  */  
+  /* Allow other handlers to handle this signal.  */
   return FALSE;
 }
 
@@ -4136,7 +4140,8 @@
 	must always be initialized on startup even when the global variable
 	initialized is non zero (see the function main in emacs.c).
 */
-void globals_of_w32 ()
+void
+globals_of_w32 ()
 {
   g_b_init_is_windows_9x = 0;
   g_b_init_open_process_token = 0;
--- a/src/w32fns.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/w32fns.c	Mon Jan 01 17:38:32 2007 +0000
@@ -3706,8 +3706,11 @@
 		   However for top/left sizing we will need to fix the X
 		   and Y positions as well.  */
 
-		lppos->cx -= wdiff;
-		lppos->cy -= hdiff;
+		int cx_mintrack = GetSystemMetrics (SM_CXMINTRACK);
+		int cy_mintrack = GetSystemMetrics (SM_CYMINTRACK);
+
+		lppos->cx = max (lppos->cx - wdiff, cx_mintrack);
+		lppos->cy = max (lppos->cy - hdiff, cy_mintrack);
 
 		if (wp.showCmd != SW_SHOWMAXIMIZED
 		    && (lppos->flags & SWP_NOMOVE) == 0)
@@ -3731,9 +3734,6 @@
       goto dflt;
 
     case WM_GETMINMAXINFO:
-      /* Hack to correct bug that allows Emacs frames to be resized
-	 below the Minimum Tracking Size.  */
-      ((LPMINMAXINFO) lParam)->ptMinTrackSize.y++;
       /* Hack to allow resizing the Emacs frame above the screen size.
 	 Note that Windows 9x limits coordinates to 16-bits.  */
       ((LPMINMAXINFO) lParam)->ptMaxTrackSize.x = 32767;
@@ -8349,6 +8349,30 @@
     }
   return Qnil;
 }
+
+DEFUN ("w32-window-exists-p", Fw32_window_exists_p, Sw32_window_exists_p,
+       2, 2, 0,
+       doc: /* Return non-nil if a window exists with the specified CLASS and NAME.
+
+This is a direct interface to the Windows API FindWindow function.  */)
+  (class, name)
+Lisp_Object class, name;
+{
+  HWND hnd;
+
+  if (!NILP (class))
+    CHECK_STRING (class);
+  if (!NILP (name))
+    CHECK_STRING (name);
+
+  hnd = FindWindow (STRINGP (class) ? ((LPCTSTR) SDATA (class)) : NULL,
+		    STRINGP (name)  ? ((LPCTSTR) SDATA (name))  : NULL);
+  if (!hnd)
+    return Qnil;
+  return Qt;
+}
+
+
 
 DEFUN ("file-system-info", Ffile_system_info, Sfile_system_info, 1, 1, 0,
        doc: /* Return storage information about the file system FILENAME is on.
@@ -8915,6 +8939,7 @@
 
     staticpro (&Qw32_charset_unicode);
     Qw32_charset_unicode = intern ("w32-charset-unicode");
+  }
 #endif
 
 #if 0 /* TODO: Port to W32 */
@@ -8959,6 +8984,7 @@
   defsubr (&Sw32_registered_hot_keys);
   defsubr (&Sw32_reconstruct_hot_key);
   defsubr (&Sw32_toggle_lock_key);
+  defsubr (&Sw32_window_exists_p);
   defsubr (&Sw32_find_bdf_fonts);
 
   defsubr (&Sfile_system_info);
--- a/src/w32term.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/w32term.c	Mon Jan 01 17:38:32 2007 +0000
@@ -6517,7 +6517,7 @@
   DEFVAR_BOOL ("x-use-underline-position-properties",
 	       &x_use_underline_position_properties,
      doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties.
-nil means ignore them.  If you encounter fonts with bogus
+A value of nil means ignore them.  If you encounter fonts with bogus
 UNDERLINE_POSITION font properties, for example 7x13 on XFree prior
 to 4.1, set this to nil.
 
@@ -6527,9 +6527,9 @@
   DEFVAR_BOOL ("x-underline-at-descent-line",
 	       &x_underline_at_descent_line,
      doc: /* *Non-nil means to draw the underline at the same place as the descent line.
-nil means to draw the underline according to the value of the variable
-`x-use-underline-position-properties', which is usually at the baseline
-level.  The default value is nil.  */);
+A value of nil means to draw the underline according to the value of the
+variable `x-use-underline-position-properties', which is usually at the
+baseline level.  The default value is nil.  */);
   x_underline_at_descent_line = 0;
 
   DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars,
--- a/src/window.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/window.c	Mon Jan 01 17:38:32 2007 +0000
@@ -5729,8 +5729,10 @@
 relative to the current window.  If ARG is negative, it counts up from the
 bottom of the window.  (ARG should be less than the height of the window.)
 
-If ARG is omitted or nil, erase the entire frame and then
-redraw with point in the center of the current window.
+If ARG is omitted or nil, erase the entire frame and then redraw with point
+in the center of the current window.  If `auto-resize-tool-bars' is set to
+`grow-only', this resets the tool-bar's height to the minimum height needed.
+
 Just C-u as prefix means put point in the center of the window
 and redisplay normally--don't erase and redraw the frame.  */)
      (arg)
@@ -5755,8 +5757,10 @@
       for (i = 0; i < n_compositions; i++)
 	composition_table[i]->font = NULL;
 
-      Fredraw_frame (w->frame);
-      SET_FRAME_GARBAGED (XFRAME (WINDOW_FRAME (w)));
+      WINDOW_XFRAME (w)->minimize_tool_bar_window_p = 1;
+
+      Fredraw_frame (WINDOW_FRAME (w));
+      SET_FRAME_GARBAGED (WINDOW_XFRAME (w));
       center_p = 1;
     }
   else if (CONSP (arg)) /* Just C-u. */
--- a/src/xdisp.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/xdisp.c	Mon Jan 01 17:38:32 2007 +0000
@@ -283,10 +283,12 @@
 
 EMACS_INT tool_bar_button_relief;
 
-/* Non-zero means automatically resize tool-bars so that all tool-bar
-   items are visible, and no blank lines remain.  */
-
-int auto_resize_tool_bars_p;
+/* Non-nil means automatically resize tool-bars so that all tool-bar
+   items are visible, and no blank lines remain.
+
+   If value is `grow-only', only make tool-bar bigger.  */
+
+Lisp_Object Vauto_resize_tool_bars;
 
 /* Non-zero means draw block and hollow cursor as wide as the glyph
    under it.  For example, if a block cursor is over a tab, it will be
@@ -9696,9 +9698,16 @@
  out:;
 
   row->displays_text_p = row->used[TEXT_AREA] != 0;
-  /* Use default face for the border below the tool bar.  */
-  if (!row->displays_text_p)
+
+  /* Use default face for the border below the tool bar.
+
+     FIXME: When auto-resize-tool-bars is grow-only, there is
+     no additional border below the possibly empty tool-bar lines.
+     So to make the extra empty lines look "normal", we have to
+     use the tool-bar face for the border too.  */
+  if (!row->displays_text_p && !EQ (Vauto_resize_tool_bars, Qgrow_only))
     it->face_id = DEFAULT_FACE_ID;
+
   extend_face_to_end_of_line (it);
   last = row->glyphs[TEXT_AREA] + row->used[TEXT_AREA] - 1;
   last->right_box_line_p = 1;
@@ -9720,6 +9729,7 @@
   if (!row->displays_text_p)
     {
       row->height = row->phys_height = it->last_visible_y - row->y;
+      row->visible_height = row->height;
       row->ascent = row->phys_ascent = 0;
       row->extra_line_spacing = 0;
     }
@@ -9822,7 +9832,6 @@
   struct window *w;
   struct it it;
   struct glyph_row *row;
-  int change_height_p = 0;
 
 #ifdef USE_GTK
   if (FRAME_EXTERNAL_TOOL_BAR (f))
@@ -9917,10 +9926,10 @@
   w->desired_matrix->no_scrolling_p = 1;
   w->must_be_updated_p = 1;
 
-  if (auto_resize_tool_bars_p)
-    {
-      int nlines, nrows;
+  if (!NILP (Vauto_resize_tool_bars))
+    {
       int max_tool_bar_height = MAX_FRAME_TOOL_BAR_HEIGHT (f);
+      int change_height_p = 0;
 
       /* If we couldn't display everything, change the tool-bar's
 	 height if there is room for more.  */
@@ -9946,29 +9955,40 @@
 
       /* Resize windows as needed by changing the `tool-bar-lines'
 	 frame parameter.  */
-      if (change_height_p
-	  && (nlines = tool_bar_lines_needed (f, &nrows),
-	      nlines != WINDOW_TOTAL_LINES (w)))
+      if (change_height_p)
 	{
 	  extern Lisp_Object Qtool_bar_lines;
 	  Lisp_Object frame;
 	  int old_height = WINDOW_TOTAL_LINES (w);
-
-	  XSETFRAME (frame, f);
-	  Fmodify_frame_parameters (frame,
-				    Fcons (Fcons (Qtool_bar_lines,
-						  make_number (nlines)),
-					   Qnil));
-	  if (WINDOW_TOTAL_LINES (w) != old_height)
-	    {
-	      clear_glyph_matrix (w->desired_matrix);
-	      f->n_tool_bar_rows = nrows;
-	      fonts_changed_p = 1;
-	    }
-	}
-    }
-
-  return change_height_p;
+	  int nrows;
+	  int nlines = tool_bar_lines_needed (f, &nrows);
+
+	  change_height_p = ((EQ (Vauto_resize_tool_bars, Qgrow_only)
+			      && !f->minimize_tool_bar_window_p)
+			     ? (nlines > old_height)
+			     : (nlines != old_height));
+	  f->minimize_tool_bar_window_p = 0;
+
+	  if (change_height_p)
+	    {
+	      XSETFRAME (frame, f);
+	      Fmodify_frame_parameters (frame,
+					Fcons (Fcons (Qtool_bar_lines,
+						      make_number (nlines)),
+					       Qnil));
+	      if (WINDOW_TOTAL_LINES (w) != old_height)
+		{
+		  clear_glyph_matrix (w->desired_matrix);
+		  f->n_tool_bar_rows = nrows;
+		  fonts_changed_p = 1;
+		  return 1;
+		}
+	    }
+	}
+    }
+
+  f->minimize_tool_bar_window_p = 0;
+  return 0;
 }
 
 
@@ -13458,11 +13478,14 @@
 #else
           redisplay_tool_bar_p = WINDOWP (f->tool_bar_window)
             && (FRAME_TOOL_BAR_LINES (f) > 0
-                || auto_resize_tool_bars_p);
-#endif
-
-          if (redisplay_tool_bar_p)
-            redisplay_tool_bar (f);
+                || !NILP (Vauto_resize_tool_bars));
+#endif
+
+          if (redisplay_tool_bar_p && redisplay_tool_bar (f))
+	    {
+	      extern int ignore_mouse_drag_p;
+	      ignore_mouse_drag_p = 1;
+	    }
         }
 #endif
     }
@@ -17270,9 +17293,9 @@
 
 Optional second arg FACE specifies the face property to put
 on all characters for which no face is specified.
-t means whatever face the window's mode line currently uses
+The value t means whatever face the window's mode line currently uses
 \(either `mode-line' or `mode-line-inactive', depending).
-nil means the default is no face property.
+A value of nil means the default is no face property.
 If FACE is an integer, the value string has no text properties.
 
 Optional third and fourth args WINDOW and BUFFER specify the window
@@ -21871,7 +21894,7 @@
     }
 
   /* Change the mouse cursor.  */
-  if (draw == DRAW_NORMAL_TEXT)
+  if (draw == DRAW_NORMAL_TEXT && !EQ (dpyinfo->mouse_face_window, f->tool_bar_window))
     FRAME_RIF (f)->define_frame_cursor (f, FRAME_X_OUTPUT (f)->text_cursor);
   else if (draw == DRAW_MOUSE_FACE)
     FRAME_RIF (f)->define_frame_cursor (f, FRAME_X_OUTPUT (f)->hand_cursor);
@@ -23993,7 +24016,7 @@
   truncate_partial_width_windows = 1;
 
   DEFVAR_BOOL ("mode-line-inverse-video", &mode_line_inverse_video,
-    doc: /* nil means display the mode-line/header-line/menu-bar in the default face.
+    doc: /* When nil, display the mode-line/header-line/menu-bar in the default face.
 Any other value means to use the appropriate face, `mode-line',
 `header-line', or `menu' respectively.  */);
   mode_line_inverse_video = 1;
@@ -24090,12 +24113,13 @@
 unselects the minibuffer if it is active.  */);
   Vmouse_autoselect_window = Qnil;
 
-  DEFVAR_BOOL ("auto-resize-tool-bars", &auto_resize_tool_bars_p,
+  DEFVAR_LISP ("auto-resize-tool-bars", &Vauto_resize_tool_bars,
     doc: /* *Non-nil means automatically resize tool-bars.
-This increases a tool-bar's height if not all tool-bar items are visible.
-It decreases a tool-bar's height when it would display blank lines
-otherwise.  */);
-  auto_resize_tool_bars_p = 1;
+This dynamically changes the tool-bar's height to the minimum height
+that is needed to make all tool-bar items visible.
+If value is `grow-only', the tool-bar's height is only increased
+automatically; to decreace the tool-bar height, use \\[recenter].  */);
+  Vauto_resize_tool_bars = Qt;
 
   DEFVAR_BOOL ("auto-raise-tool-bar-buttons", &auto_raise_tool_bar_buttons_p,
     doc: /* *Non-nil means raise tool-bar buttons when the mouse moves over them.  */);
--- a/src/xterm.c	Sun Dec 03 15:12:18 2006 +0000
+++ b/src/xterm.c	Mon Jan 01 17:38:32 2007 +0000
@@ -8349,15 +8349,15 @@
       Atom *atoms = XListProperties (FRAME_X_DISPLAY (f),
                                      FRAME_X_DISPLAY_INFO (f)->root_window,
                                      &num);
-      if (atoms && num > 0) 
+      if (atoms && num > 0)
         {
           char **names = (char **) xmalloc (num * sizeof(*names));
-          if (XGetAtomNames (FRAME_X_DISPLAY (f), atoms, num, names)) 
+          if (XGetAtomNames (FRAME_X_DISPLAY (f), atoms, num, names))
             {
               int i;
-              for (i = 0; i < num; ++i) 
+              for (i = 0; i < num; ++i)
                 {
-                  if (!have_net_atom) 
+                  if (!have_net_atom)
                     have_net_atom = strncmp (names[i], "_NET_", 5) == 0;
                   XFree (names[i]);
                 }
@@ -8370,7 +8370,7 @@
       FRAME_X_DISPLAY_INFO (f)->have_net_atoms = have_net_atom;
     }
 
-  if (have_net_atom) 
+  if (have_net_atom)
     {
       Lisp_Object frame;
       const char *atom = "_NET_WM_STATE";
@@ -8383,7 +8383,7 @@
 
       /* If there are _NET_ atoms we assume we have extended window manager
          hints.  */
-      switch (f->want_fullscreen) 
+      switch (f->want_fullscreen)
         {
         case FULLSCREEN_BOTH:
           what = fs;
@@ -8439,7 +8439,7 @@
 XTfullscreen_hook (f)
      FRAME_PTR f;
 {
-  if (f->async_visible) 
+  if (f->async_visible)
     {
       BLOCK_INPUT;
       do_ewmh_fullscreen (f);
@@ -8459,7 +8459,7 @@
     {
       int width, height, ign;
 
-      if (do_ewmh_fullscreen (f)) 
+      if (do_ewmh_fullscreen (f))
         return;
 
       x_real_positions (f, &f->left_pos, &f->top_pos);
@@ -8793,20 +8793,26 @@
 {
   if (raise_flag)
     {
-      Lisp_Object frame;
-      const char *atom = "_NET_ACTIVE_WINDOW";
+      /* The following code is needed for `raise-frame' to work on
+	 some versions of metacity; see Window Manager
+	 Specification/Extended Window Manager Hints at
+	 http://freedesktop.org/wiki/Standards_2fwm_2dspec
+
+	 However, on other versions (metacity 2.17.2-1.fc7), it
+	 reportedly causes hangs when resizing frames.  */
+
+      /* Lisp_Object frame;
+         const char *atom = "_NET_ACTIVE_WINDOW"; */
 
       x_raise_frame (f);
-      /* See Window Manager Specification/Extended Window Manager Hints at
-         http://freedesktop.org/wiki/Standards_2fwm_2dspec */
-
-      XSETFRAME (frame, f);
-      Fx_send_client_event (frame, make_number (0), frame,
+
+      /* XSETFRAME (frame, f);
+         Fx_send_client_event (frame, make_number (0), frame,
                             make_unibyte_string (atom, strlen (atom)),
                             make_number (32),
                             Fcons (make_number (1),
                                    Fcons (make_number (time (NULL) * 1000),
-                                          Qnil)));
+				   Qnil))); */
     }
   else
     x_lower_frame (f);
@@ -10243,8 +10249,8 @@
 
   for (i = 0; i < dpyinfo->n_fonts; i++)
     if (dpyinfo->font_table[i].name
-	&& (!strcasecmp (dpyinfo->font_table[i].name, fontname)
-	    || !strcasecmp (dpyinfo->font_table[i].full_name, fontname)))
+	&& (!xstricmp (dpyinfo->font_table[i].name, fontname)
+	    || !xstricmp (dpyinfo->font_table[i].full_name, fontname)))
       return (dpyinfo->font_table + i);
   return NULL;
 }
@@ -11272,7 +11278,7 @@
   DEFVAR_BOOL ("x-use-underline-position-properties",
 	       &x_use_underline_position_properties,
      doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties.
-nil means ignore them.  If you encounter fonts with bogus
+A value of nil means ignore them.  If you encounter fonts with bogus
 UNDERLINE_POSITION font properties, for example 7x13 on XFree prior
 to 4.1, set this to nil.  */);
   x_use_underline_position_properties = 1;
@@ -11280,9 +11286,9 @@
   DEFVAR_BOOL ("x-underline-at-descent-line",
 	       &x_underline_at_descent_line,
      doc: /* *Non-nil means to draw the underline at the same place as the descent line.
-nil means to draw the underline according to the value of the variable
-`x-use-underline-position-properties', which is usually at the baseline
-level.  The default value is nil.  */);
+A value of nil means to draw the underline according to the value of the
+variable `x-use-underline-position-properties', which is usually at the
+baseline level.  The default value is nil.  */);
   x_underline_at_descent_line = 0;
 
   DEFVAR_BOOL ("x-mouse-click-focus-ignore-position",
--- a/update-subdirs	Sun Dec 03 15:12:18 2006 +0000
+++ b/update-subdirs	Mon Jan 01 17:38:32 2007 +0000
@@ -1,7 +1,8 @@
 #!/bin/sh
 # Write into $1/subdirs.el a list of subdirs of directory $1.
 
-# Copyright (C) 1994,95,97,1999,2001,2004,2006  Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995, 1997, 1999, 2001, 2002, 2003, 2004, 2005,
+#   2006  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
--- a/vms/make-mms-derivative.el	Sun Dec 03 15:12:18 2006 +0000
+++ b/vms/make-mms-derivative.el	Mon Jan 01 17:38:32 2007 +0000
@@ -1,6 +1,6 @@
 ;;; make-mms-derivative.el --- framework to do horrible things for VMS support
 
-;; Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Thien-Thi Nguyen <ttn@gnu.org>
 ;; Keywords: maint build vms mms makefile levitte autoconf war-is-a-lose