changeset 108783:3eac08e0e4ee

merge trunk
author Kenichi Handa <handa@etlken>
date Wed, 26 May 2010 09:36:51 +0900
parents d3db77511b9e (current diff) 549433326e7e (diff)
children 009ef331a2bc
files lisp/obsolete/complete.el
diffstat 62 files changed, 509 insertions(+), 325 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue May 25 10:25:08 2010 +0900
+++ b/ChangeLog	Wed May 26 09:36:51 2010 +0900
@@ -1,3 +1,12 @@
+2010-05-25  Glenn Morris  <rgm@gnu.org>
+
+	* configure.in (LD_SWITCH_SYSTEM): Move some gnu-linux stuff...
+	(LD_SWITCH_SYSTEM_TEMACS): ... to here.
+
+	* configure.in (LD_SWITCH_SYSTEM_EXTRA): Remove.
+	(LD_SWITCH_SYSTEM_TEMACS): Put darwin stuff from LD_SWITCH_SYSTEM_EXTRA
+	here instead.
+
 2010-05-24  Romain Francoise  <romain@orebokech.com>
 
 	* make-dist: Look for version in src/emacs.c.
--- a/configure	Tue May 25 10:25:08 2010 +0900
+++ b/configure	Wed May 26 09:36:51 2010 +0900
@@ -820,7 +820,6 @@
 PRE_ALLOC_OBJ
 POST_ALLOC_OBJ
 LD_SWITCH_SYSTEM_TEMACS
-LD_SWITCH_SYSTEM_EXTRA
 YMF_PASS_LDFLAGS
 LINKER
 LIB_GCC
@@ -5930,16 +5929,17 @@
 
 ac_link="$ac_link $LD_SWITCH_SYSTEM"
 
-## This is fun.  Some settings of LD_SWITCH_SYSTEM reference
-## LD_SWITCH_X_SITE_AUX, which has not been defined yet.  When using
-## cpp, it was expanded to null.  Thus LD_SWITCH_SYSTEM had different
-## values in configure and the Makefiles.  How helpful.
-## FIXME why not use LD_SWITCH_SYSTEM_TEMACS (or somesuch) instead?
+## This setting of LD_SWITCH_SYSTEM references LD_SWITCH_X_SITE_AUX,
+## which has not been defined yet.  When this was handled with cpp,
+## it was expanded to null when configure sourced the s/*.h file.
+## Thus LD_SWITCH_SYSTEM had different values in configure and the Makefiles.
+## FIXME it would be cleaner to put this in LD_SWITCH_SYSTEM_TEMACS
+## (or somesuch), but because it is supposed to go at the _front_
+## of LD_SWITCH_SYSTEM, we cannot do that in exactly the same way.
+## Compare with the gnu-linux case below, which added to the end
+## of LD_SWITCH_SYSTEM, and so can instead go at the front of
+## LD_SWITCH_SYSTEM_TEMACS.
 case "$opsys" in
-  gnu-linux)
-   ## LD_SWITCH_X_SITE_AUX is a -R option saying where to find X at run-time.
-   LD_SWITCH_SYSTEM="$LD_SWITCH_SYSTEM \$(LD_SWITCH_X_SITE_AUX)" ;;
-
   netbsd|openbsd)
    ## _AUX_RPATH is like _AUX, but uses -rpath instead of -R.
    LD_SWITCH_SYSTEM="\$(LD_SWITCH_X_SITE_AUX_RPATH) $LD_SWITCH_SYSTEM" ;;
@@ -26595,42 +26595,47 @@
   aix4-2) LD_SWITCH_SYSTEM_TEMACS="-Wl,-bnodelcsect" ;;
 
   darwin)
-  ## The -headerpad option tells ld (see man page) to leave room at the
-  ## end of the header for adding load commands.  Needed for dumping.
-  ## 0x690 is the total size of 30 segment load commands (at 56
-  ## each); under Cocoa 31 commands are required.
-  if test "$HAVE_NS" = "yes"; then
-    libs_nsgui="-framework AppKit"
-    headerpad_extra=6C8
-  else
-    libs_nsgui=
-    headerpad_extra=690
-  fi
-  LD_SWITCH_SYSTEM_TEMACS="-prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra"
-  ;;
+   ## The -headerpad option tells ld (see man page) to leave room at the
+   ## end of the header for adding load commands.  Needed for dumping.
+   ## 0x690 is the total size of 30 segment load commands (at 56
+   ## each); under Cocoa 31 commands are required.
+   if test "$HAVE_NS" = "yes"; then
+     libs_nsgui="-framework AppKit"
+     headerpad_extra=6C8
+   else
+     libs_nsgui=
+     headerpad_extra=690
+   fi
+   LD_SWITCH_SYSTEM_TEMACS="-prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra"
+
+   ## This is here because src/Makefile.in did some extra fiddling around
+   ## with LD_SWITCH_SYSTEM.  The cpp logic was:
+   ##   #ifndef LD_SWITCH_SYSTEM
+   ##   #if !defined (__GNUC__) && ((defined (BSD_SYSTEM) && !defined (COFF)))
+   ## Since all the *bsds define LD_SWITCH_SYSTEM, this simplifies to:
+   ## not using gcc, darwin system not on an alpha (ie darwin, since
+   ## darwin + alpha does not occur).
+   ## Because this was done in src/Makefile.in, the resulting part of
+   ## LD_SWITCH_SYSTEM was not used in configure (ie, in ac_link).
+   ## It therefore seems cleaner to put this in LD_SWITCH_SYSTEM_TEMACS,
+   ## rather than LD_SWITCH_SYSTEM.
+   test "x$LD_SWITCH_SYSTEM" = "x" && test "x$GCC" != "xyes" && \
+     LD_SWITCH_SYSTEM_TEMACS="-X $LD_SWITCH_SYSTEM_TEMACS"
+   ;;
+
+  ## LD_SWITCH_X_SITE_AUX is a -R option saying where to find X at run-time.
+  ## When handled by cpp, this was in LD_SWITCH_SYSTEM.  However, at
+  ## the point where configure sourced the s/*.h file, LD_SWITCH_X_SITE_AUX
+  ## had not yet been defined and was expanded to null.  Hence LD_SWITCH_SYSTEM
+  ## had different values in configure (in ac_link) and src/Makefile.in.
+  ## It seems clearer therefore to put this piece in LD_SWITCH_SYSTEM_TEMACS.
+  gnu-linux) LD_SWITCH_SYSTEM_TEMACS="\$(LD_SWITCH_X_SITE_AUX)" ;;
 
   *) LD_SWITCH_SYSTEM_TEMACS= ;;
 esac
 
 
 
-## This exists because src/Makefile.in did some extra fiddling around
-## with LD_SWITCH_SYSTEM.  The cpp logic was:
-##   #ifndef LD_SWITCH_SYSTEM
-##   #if !defined (__GNUC__) && ((defined (BSD_SYSTEM) && !defined (COFF)))
-## Since all the *bsds define LD_SWITCH_SYSTEM, this simplifies to:
-## not using gcc, darwin system not on an alpha (ie darwin, since
-## darwin + alpha does not occur).
-## Note that unlike L_S_S, this is not used in ac_link.
-if test "x$LD_SWITCH_SYSTEM" = "x" && test "x$GCC" != "xyes" && \
-   test "$opsys" = "darwin"; then
-  LD_SWITCH_SYSTEM_EXTRA="-X"
-else
-  LD_SWITCH_SYSTEM_EXTRA=
-fi
-
-
-
 LINKER=
 ORDINARY_LINK=
 case "$opsys" in
@@ -28154,7 +28159,6 @@
 done
 
 # Build src/Makefile from ${srcdir}/src/Makefile.c
-# and lib-src/Makefile from ${srcdir}/lib-src/Makefile.c
 # This must be done after src/config.h is built, since we rely on that file.
 
 echo creating src/epaths.h
--- a/configure.in	Tue May 25 10:25:08 2010 +0900
+++ b/configure.in	Wed May 26 09:36:51 2010 +0900
@@ -955,16 +955,17 @@
 
 ac_link="$ac_link $LD_SWITCH_SYSTEM"
 
-## This is fun.  Some settings of LD_SWITCH_SYSTEM reference
-## LD_SWITCH_X_SITE_AUX, which has not been defined yet.  When using
-## cpp, it was expanded to null.  Thus LD_SWITCH_SYSTEM had different
-## values in configure and the Makefiles.  How helpful.
-## FIXME why not use LD_SWITCH_SYSTEM_TEMACS (or somesuch) instead?
+## This setting of LD_SWITCH_SYSTEM references LD_SWITCH_X_SITE_AUX,
+## which has not been defined yet.  When this was handled with cpp,
+## it was expanded to null when configure sourced the s/*.h file.
+## Thus LD_SWITCH_SYSTEM had different values in configure and the Makefiles.
+## FIXME it would be cleaner to put this in LD_SWITCH_SYSTEM_TEMACS
+## (or somesuch), but because it is supposed to go at the _front_
+## of LD_SWITCH_SYSTEM, we cannot do that in exactly the same way.
+## Compare with the gnu-linux case below, which added to the end
+## of LD_SWITCH_SYSTEM, and so can instead go at the front of
+## LD_SWITCH_SYSTEM_TEMACS.
 case "$opsys" in
-  gnu-linux)
-   ## LD_SWITCH_X_SITE_AUX is a -R option saying where to find X at run-time.
-   LD_SWITCH_SYSTEM="$LD_SWITCH_SYSTEM \$(LD_SWITCH_X_SITE_AUX)" ;;
-
   netbsd|openbsd)
    ## _AUX_RPATH is like _AUX, but uses -rpath instead of -R.
    LD_SWITCH_SYSTEM="\$(LD_SWITCH_X_SITE_AUX_RPATH) $LD_SWITCH_SYSTEM" ;;
@@ -3272,42 +3273,47 @@
   aix4-2) LD_SWITCH_SYSTEM_TEMACS="-Wl,-bnodelcsect" ;;
 
   darwin)
-  ## The -headerpad option tells ld (see man page) to leave room at the
-  ## end of the header for adding load commands.  Needed for dumping.
-  ## 0x690 is the total size of 30 segment load commands (at 56
-  ## each); under Cocoa 31 commands are required.
-  if test "$HAVE_NS" = "yes"; then
-    libs_nsgui="-framework AppKit"
-    headerpad_extra=6C8
-  else
-    libs_nsgui=
-    headerpad_extra=690
-  fi
-  LD_SWITCH_SYSTEM_TEMACS="-prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra"
-  ;;
+   ## The -headerpad option tells ld (see man page) to leave room at the
+   ## end of the header for adding load commands.  Needed for dumping.
+   ## 0x690 is the total size of 30 segment load commands (at 56
+   ## each); under Cocoa 31 commands are required.
+   if test "$HAVE_NS" = "yes"; then
+     libs_nsgui="-framework AppKit"
+     headerpad_extra=6C8
+   else
+     libs_nsgui=
+     headerpad_extra=690
+   fi
+   LD_SWITCH_SYSTEM_TEMACS="-prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra"
+ 
+   ## This is here because src/Makefile.in did some extra fiddling around
+   ## with LD_SWITCH_SYSTEM.  The cpp logic was:
+   ##   #ifndef LD_SWITCH_SYSTEM
+   ##   #if !defined (__GNUC__) && ((defined (BSD_SYSTEM) && !defined (COFF)))
+   ## Since all the *bsds define LD_SWITCH_SYSTEM, this simplifies to:
+   ## not using gcc, darwin system not on an alpha (ie darwin, since
+   ## darwin + alpha does not occur).
+   ## Because this was done in src/Makefile.in, the resulting part of
+   ## LD_SWITCH_SYSTEM was not used in configure (ie, in ac_link).
+   ## It therefore seems cleaner to put this in LD_SWITCH_SYSTEM_TEMACS,
+   ## rather than LD_SWITCH_SYSTEM.
+   test "x$LD_SWITCH_SYSTEM" = "x" && test "x$GCC" != "xyes" && \
+     LD_SWITCH_SYSTEM_TEMACS="-X $LD_SWITCH_SYSTEM_TEMACS"
+   ;;
+
+  ## LD_SWITCH_X_SITE_AUX is a -R option saying where to find X at run-time.
+  ## When handled by cpp, this was in LD_SWITCH_SYSTEM.  However, at
+  ## the point where configure sourced the s/*.h file, LD_SWITCH_X_SITE_AUX
+  ## had not yet been defined and was expanded to null.  Hence LD_SWITCH_SYSTEM
+  ## had different values in configure (in ac_link) and src/Makefile.in.
+  ## It seems clearer therefore to put this piece in LD_SWITCH_SYSTEM_TEMACS.
+  gnu-linux) LD_SWITCH_SYSTEM_TEMACS="\$(LD_SWITCH_X_SITE_AUX)" ;;
 
   *) LD_SWITCH_SYSTEM_TEMACS= ;;
 esac
 AC_SUBST(LD_SWITCH_SYSTEM_TEMACS)
 
 
-## This exists because src/Makefile.in did some extra fiddling around
-## with LD_SWITCH_SYSTEM.  The cpp logic was:
-##   #ifndef LD_SWITCH_SYSTEM
-##   #if !defined (__GNUC__) && ((defined (BSD_SYSTEM) && !defined (COFF)))
-## Since all the *bsds define LD_SWITCH_SYSTEM, this simplifies to:
-## not using gcc, darwin system not on an alpha (ie darwin, since
-## darwin + alpha does not occur).
-## Note that unlike L_S_S, this is not used in ac_link.
-if test "x$LD_SWITCH_SYSTEM" = "x" && test "x$GCC" != "xyes" && \
-   test "$opsys" = "darwin"; then
-  LD_SWITCH_SYSTEM_EXTRA="-X"
-else
-  LD_SWITCH_SYSTEM_EXTRA=
-fi
-AC_SUBST(LD_SWITCH_SYSTEM_EXTRA)
-
-
 LINKER=
 ORDINARY_LINK=
 case "$opsys" in
@@ -3786,7 +3792,6 @@
 done
 
 # Build src/Makefile from ${srcdir}/src/Makefile.c
-# and lib-src/Makefile from ${srcdir}/lib-src/Makefile.c
 # This must be done after src/config.h is built, since we rely on that file.
 
 echo creating src/epaths.h
--- a/lisp/ChangeLog	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/ChangeLog	Wed May 26 09:36:51 2010 +0900
@@ -1,3 +1,92 @@
+2010-05-25  Chong Yidong  <cyd@stupidchicken.com>
+
+	* log-edit.el (log-edit-strip-single-file-name): Default to nil.
+	(log-edit-changelog-entries): Doc fix.
+	(log-edit-changelog-insert-entries): Args changed.  Rename
+	relative filenames in ChangeLog entries.  Delete tabs.
+	(log-edit-insert-changelog-entries): Reorganize return value of
+	`log-edit-changelog-entries' to pass filenames to
+	log-edit-changelog-insert-entries.
+
+2010-05-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
+
+	* dired.el (dired-mode-map): Rebind "\C-t\C-t" from
+	`image-dired-dired-insert-marked-thumbs' to
+	`image-dired-dired-toggle-marked-thumbs'.
+
+	* image-dired.el: Require cl when compiling.
+	(image-dired-dired-toggle-marked-thumbs): Rename from
+	`image-dired-dired-insert-marked-thumbs'.  Add ARG.  Doc fix.
+	Use interactive spec "P".  Set LOCALP arg of `dired-get-filename'
+	to 'no-dir.  Skip files whose names don't match
+	`image-file-name-regexp'.  When file has a thumbnail overlay,
+	delete it.  (Bug#5270)
+
+2010-05-25  Juri Linkov  <juri@jurta.org>
+
+	* image-mode.el (image-mode): Add image-after-revert-hook to
+	after-revert-hook.
+	(image-after-revert-hook): New function.  (Bug#5669)
+
+2010-05-25  Juri Linkov  <juri@jurta.org>
+
+	* image.el (image-animated-p): When delay between animated images
+	is 0, set it to 10 (0.1 sec).  (Bug#6258)
+
+2010-05-25  Christian Lynbech  <christian.lynbech@tieto.com>  (tiny change)
+
+	* net/tramp.el (tramp-handle-insert-directory): Don't use
+	`forward-word', its default syntax could be changed.
+
+2010-05-25  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-progress-reporter-update): New defun.
+	(with-progress-reporter): Use it.
+	(tramp-process-actions):
+	* net/tramp-gvfs.el (tramp-gvfs-handler-askquestion): Preserve
+	current message, in order to let progress reporter continue
+	afterwards.  (Bug#6257)
+
+2010-05-25  Glenn Morris  <rgm@gnu.org>
+
+	* net/rcirc.el (rcirc-default-user-name, rcirc-default-full-name):
+	Add :version.
+
+2010-05-25  Ryan Yeske  <rcyeske@gmail.com>
+
+	* net/rcirc.el (rcirc-server-alist): Add :pass.
+	(rcirc-default-user-name): Change to "user".
+	(rcirc-default-full-name): Change to "unknown".
+	(rcirc-user-name-history): Add variable.
+	(rcirc): When prompting for connection paramaters, also prompt for
+	username and password.
+	(rcirc-connect): Take a PASS argument.	If PASS is non-nil, send
+	value to server when connecting.
+
+2010-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* emacs-lisp/smie.el (smie-set-prec2tab): Check override before use.
+	(smie-merge-prec2s): Pass the tables as separate args.
+	(smie-bnf-precedence-table): Adjust call accordingly.
+	(smie-prec2-levels): Set levels at the end.
+
+	Replace Lisp calls to delete-backward-char by delete-char.
+	* bs.el, expand.el, ido.el, image-dired.el, lpr.el, pcomplete.el,
+	* skeleton.el, term.el, time.el, wid-edit.el, woman.el,
+	* calc/calc-graph.el, calc/calc-help.el, calc/calc-incom.el,
+	* calc/calc.el, emacs-cl-extra.el, emacs-cl-loaddefs.el,
+	* emulation/cua-rect.el, emulation/viper-ex.el, eshell/esh-test.el,
+	* eshell/eshell.el, gnus/gnus-uu.el, gnus/nndoc.el, gnus/nnrss.el,
+	* gnus/rfc2047.el, gnus/utf7.el, international/utf-7.el,
+	* language/ethio-util.el, mh-e/mh-alias.el, mh-e/mh-search.el,
+	* net/imap.el, net/rcirc.el, obsolete/complete.el, play/decipher.el,
+	* progmodes/ada-mode.el, progmodes/cc-awk.el, progmodes/dcl-mode.el,
+	* progmodes/ps-mode.el, progmodes/verilog-mode.el,
+	* progmodes/vhdl-mode.el, textmodes/bibtex.el, textmodes/fill.el,
+	* textmodes/reftex-auc.el, textmodes/rst.el, textmodes/sgml-mode.el,
+	* textmodes/table.el, textmodes/texinfmt.el: Replace Lisp calls to
+	delete-backward-char by calls to delete-char.
+
 2010-05-25  Kenichi Handa  <handa@m17n.org>
 
 	* language/hebrew.el (hebrew-shape-gstring): New function.
--- a/lisp/bs.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/bs.el	Wed May 26 09:36:51 2010 +0900
@@ -1152,7 +1152,7 @@
     (dolist (buffer list)
       (bs--insert-one-entry buffer)
       (insert "\n"))
-    (delete-backward-char 1)
+    (delete-char -1)
     (bs--set-window-height)
     (bs--goto-current-buffer)
     (font-lock-fontify-buffer)
--- a/lisp/calc/calc-graph.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/calc/calc-graph.el	Wed May 26 09:36:51 2010 +0900
@@ -433,7 +433,7 @@
 	   (while (memq (preceding-char) '(?\s ?\t))
 	     (forward-char -1))
 	   (if (eq (preceding-char) ?\,)
-	       (delete-backward-char 1))))
+	       (delete-char -1))))
        (with-current-buffer calcbuf
 	 (setq cache-env (list calc-angle-mode
 			       calc-complex-mode
--- a/lisp/calc/calc-help.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/calc/calc-help.el	Wed May 26 09:36:51 2010 +0900
@@ -128,7 +128,7 @@
               (dig2 (char-after (match-beginning 3))))
           (delete-region (match-end 1) (match-end 0))
           (goto-char (match-beginning 1))
-          (delete-backward-char 1)
+          (delete-char -1)
           (delete-char 5)
           (insert (format "%c .. %c" (min dig1 dig2) (max dig1 dig2)))))
       (goto-char (point-min)))))
--- a/lisp/calc/calc-incom.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/calc/calc-incom.el	Wed May 26 09:36:51 2010 +0900
@@ -176,9 +176,9 @@
 (defun calc-digit-dots ()
   (if (eq calc-prev-char ?.)
       (progn
-	(delete-backward-char 1)
+	(delete-char -1)
 	(if (calc-minibuffer-contains ".*\\.\\'")
-	    (delete-backward-char 1))
+	    (delete-char -1))
 	(setq calc-prev-char 'dots
 	      last-command-event 32)
 	(if calc-prev-prev-char
@@ -188,7 +188,7 @@
             (erase-buffer))
 	  (exit-minibuffer)))
     ;; just ignore extra decimal point, anticipating ".."
-    (delete-backward-char 1)))
+    (delete-char -1)))
 
 (defun calc-dots ()
   (interactive)
--- a/lisp/calc/calc.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/calc/calc.el	Wed May 26 09:36:51 2010 +0900
@@ -2386,7 +2386,7 @@
 	    (progn
 	      (require 'calc-ext)
 	      (calc-digit-dots))
-	  (delete-backward-char 1)
+	  (delete-char -1)
 	  (beep)
 	  (calc-temp-minibuffer-message " [Bad format]"))))))
   (setq calc-prev-prev-char calc-prev-char
--- a/lisp/dired.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/dired.el	Wed May 26 09:36:51 2010 +0900
@@ -1409,7 +1409,7 @@
     (define-key map "\C-t." 'image-dired-display-thumb)
     (define-key map "\C-tc" 'image-dired-dired-comment-files)
     (define-key map "\C-tf" 'image-dired-mark-tagged-files)
-    (define-key map "\C-t\C-t" 'image-dired-dired-insert-marked-thumbs)
+    (define-key map "\C-t\C-t" 'image-dired-dired-toggle-marked-thumbs)
     (define-key map "\C-te" 'image-dired-dired-edit-comment-and-tags)
     ;; encryption and decryption (epa-dired)
     (define-key map ":d" 'epa-dired-do-decrypt)
--- a/lisp/emacs-lisp/cl-extra.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/emacs-lisp/cl-extra.el	Wed May 26 09:36:51 2010 +0900
@@ -685,7 +685,7 @@
     (setq last (point))
     (goto-char (1+ pt))
     (while (search-forward "(quote " last t)
-      (delete-backward-char 7)
+      (delete-char -7)
       (insert "'")
       (forward-sexp)
       (delete-char 1))
--- a/lisp/emacs-lisp/cl-loaddefs.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/emacs-lisp/cl-loaddefs.el	Wed May 26 09:36:51 2010 +0900
@@ -10,7 +10,7 @@
 ;;;;;;  ceiling* floor* isqrt lcm gcd cl-progv-before cl-set-frame-visible-p
 ;;;;;;  cl-map-overlays cl-map-intervals cl-map-keymap-recursively
 ;;;;;;  notevery notany every some mapcon mapcan mapl maplist map
-;;;;;;  cl-mapcar-many equalp coerce) "cl-extra" "cl-extra.el" "d93072a26c59f663a92b10df8bc28187")
+;;;;;;  cl-mapcar-many equalp coerce) "cl-extra" "cl-extra.el" "deb3495d75c36a222e5238eadb8e347c")
 ;;; Generated autoloads from cl-extra.el
 
 (autoload 'coerce "cl-extra" "\
--- a/lisp/emacs-lisp/smie.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/emacs-lisp/smie.el	Wed May 26 09:36:51 2010 +0900
@@ -72,7 +72,7 @@
   (let* ((key (cons x y))
          (old (gethash key table)))
     (if (and old (not (eq old val)))
-        (if (gethash key override)
+        (if (and override (gethash key override))
             ;; FIXME: The override is meant to resolve ambiguities,
             ;; but it also hides real conflicts.  It would be great to
             ;; be able to distinguish the two cases so that overrides
@@ -104,7 +104,7 @@
                 (smie-set-prec2tab prec2-table other-op op op1)))))))
     prec2-table))
 
-(defun smie-merge-prec2s (tables)
+(defun smie-merge-prec2s (&rest tables)
   (if (null (cdr tables))
       (car tables)
     (let ((prec2 (make-hash-table :test 'equal)))
@@ -121,8 +121,8 @@
         (first-nts-table ())
         (last-nts-table ())
         (prec2 (make-hash-table :test 'equal))
-        (override (smie-merge-prec2s
-                   (mapcar 'smie-precs-precedence-table precs)))
+        (override (apply 'smie-merge-prec2s
+                         (mapcar 'smie-precs-precedence-table precs)))
         again)
     (dolist (rules bnf)
       (let ((nt (car rules))
@@ -234,7 +234,7 @@
               (to (cdar eqs)))
           (setq eqs (cdr eqs))
           (if (eq to from)
-              (debug)                   ;Can it happen?
+              nil                   ;Nothing to do.
             (dolist (other-eq eqs)
               (if (eq from (cdr other-eq)) (setcdr other-eq to))
               (when (eq from (car other-eq))
@@ -271,16 +271,20 @@
         (incf i 10))
       ;; Propagate equalities back to their source.
       (dolist (eq (nreverse eqs))
-        (assert (null (caar eq)))
+        (assert (or (null (caar eq)) (eq (car eq) (cdr eq))))
         (setcar (car eq) (cadr eq)))
       ;; Finally, fill in the remaining vars (which only appeared on the
       ;; right side of the < constraints).
-      ;; Tho leaving them at nil is not a bad choice, since it makes
-      ;; it clear that these don't bind at all.
-      ;; (dolist (x table)
-      ;;   (unless (nth 1 x) (setf (nth 1 x) i))
-      ;;   (unless (nth 2 x) (setf (nth 2 x) i)))
-      )
+      (dolist (x table)
+        ;; When both sides are nil, it means this operator binds very
+        ;; very tight, but it's still just an operator, so we give it
+        ;; the highest precedence.
+        ;; OTOH if only one side is nil, it usually means it's like an
+        ;; open-paren, which is very important for indentation purposes,
+        ;; so we keep it nil, to make it easier to recognize.
+        (unless (or (nth 1 x) (nth 2 x))
+          (setf (nth 1 x) i)
+          (setf (nth 2 x) i))))
     table))
 
 ;;; Parsing using a precedence level table.
--- a/lisp/emulation/cua-rect.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/emulation/cua-rect.el	Wed May 26 09:36:51 2010 +0900
@@ -1344,7 +1344,7 @@
          pad)
         (if (bolp)
             nil
-          (delete-backward-char 1)
+          (delete-char -1)
           (if (cua--rectangle-right-side t)
               (cua--rectangle-insert-col (current-column))
             (setq indent (- l (current-column))))))
--- a/lisp/emulation/viper-ex.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/emulation/viper-ex.el	Wed May 26 09:36:51 2010 +0900
@@ -750,7 +750,7 @@
 			  (format "[^\\\\]\\(\\\\\\\\\\)*\\\\%c" c)))
 		    (setq cont nil)
 		  ;; we are at an escaped delimiter: unescape it and continue
-		  (delete-backward-char 2)
+		  (delete-char -2)
 		  (insert c)
 		  (if (eolp)
 		      ;; if at eol, exit loop and go to next line
--- a/lisp/eshell/esh-test.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/eshell/esh-test.el	Wed May 26 09:36:51 2010 +0900
@@ -101,7 +101,7 @@
       (eshell-redisplay))
     (let ((truth (eval command)))
       (with-current-buffer test-buffer
-	(delete-backward-char 6)
+	(delete-char -6)
 	(insert-before-markers
 	 "[" (let (str)
 	       (if truth
--- a/lisp/eshell/eshell.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/eshell/eshell.el	Wed May 26 09:36:51 2010 +0900
@@ -404,7 +404,7 @@
 	  (assert (not (eshell-interactive-process)))
 	  (goto-char (point-max))
 	  (while (and (bolp) (not (bobp)))
-	    (delete-backward-char 1)))
+	    (delete-char -1)))
 	(assert (and buf (buffer-live-p buf)))
 	(unless arg
 	  (let ((len (if (not intr) 2
--- a/lisp/expand.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/expand.el	Wed May 26 09:36:51 2010 +0900
@@ -368,7 +368,7 @@
     nil))
 
 (defun expand-do-expansion ()
-  (delete-backward-char (length last-abbrev-text))
+  (delete-char (- (length last-abbrev-text)))
   (let* ((vect (symbol-value last-abbrev))
 	 (text (aref vect 0))
 	 (position (aref vect 1))
--- a/lisp/gnus/gnus-uu.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/gnus/gnus-uu.el	Wed May 26 09:36:51 2010 +0900
@@ -1488,7 +1488,7 @@
       (when gnus-uu-kill-carriage-return
 	(save-excursion
 	  (while (search-forward "\r" nil t)
-	    (delete-backward-char 1))))
+	    (delete-char -1))))
 
       (while (or (re-search-forward gnus-uu-begin-string nil t)
 		 (re-search-forward gnus-uu-body-line nil t))
--- a/lisp/gnus/nndoc.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/gnus/nndoc.el	Wed May 26 09:36:51 2010 +0900
@@ -741,7 +741,7 @@
 	(setq p (1+ (nth 3 blk)))))
     (goto-char begin)
     (while (re-search-forward "\r$" nil t)
-      (delete-backward-char 1))
+      (delete-char -1))
     (when head
       (goto-char begin)
       (when (search-forward "\n\n" nil t)
--- a/lisp/gnus/nnrss.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/gnus/nnrss.el	Wed May 26 09:36:51 2010 +0900
@@ -682,7 +682,7 @@
       (rfc2047-encode-region (point-min) (point-max)))
     (goto-char (point-min))
     (while (search-forward "\n" nil t)
-      (delete-backward-char 1))
+      (delete-char -1))
     (buffer-string)))
 
 ;;; Snarf functions
--- a/lisp/gnus/rfc2047.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/gnus/rfc2047.el	Wed May 26 09:36:51 2010 +0900
@@ -427,7 +427,7 @@
 		      ;; since encoded words can't occur in quotes.
 		      (progn
 			(goto-char end)
-			(delete-backward-char 1)
+			(delete-char -1)
 			(goto-char start)
 			(delete-char 1)
 			(when last-encoded
@@ -897,7 +897,7 @@
 		  (goto-char beg)
 		  (while (search-forward "\\" nil 'move)
 		    (unless (memq (char-after) '(?\"))
-		      (delete-backward-char 1))
+		      (delete-char -1))
 		    (forward-char)))
 		(forward-char))
 	    (error
--- a/lisp/gnus/utf7.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/gnus/utf7.el	Wed May 26 09:36:51 2010 +0900
@@ -112,7 +112,7 @@
 		 (skip-chars-forward not-direct-encoding-chars)))
 	    (if (and (= fc esc-char)
 		     (= run-length 1))	; Lone esc-char?
-		(delete-backward-char 1) ; Now there's one too many
+		(delete-char -1)        ; Now there's one too many
 	      (utf7-fragment-encode p (point) for-imap))
 	    (insert "-")))))))
 
@@ -153,7 +153,7 @@
 	      (save-excursion
 		(utf7-fragment-decode p (point) for-imap)
 		(goto-char p)
-		(delete-backward-char 1)))))))))
+		(delete-char -1)))))))))
 
 (defun utf7-fragment-decode (start end &optional for-imap)
   "Decode base64 encoded fragment from START to END of UTF-7 text in buffer.
--- a/lisp/ido.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/ido.el	Wed May 26 09:36:51 2010 +0900
@@ -2815,7 +2815,7 @@
    ((eq this-original-command 'viper-del-backward-char-in-insert)
     (funcall this-original-command))
    (t
-    (delete-backward-char (prefix-numeric-value count)))))
+    (delete-char (- (prefix-numeric-value count))))))
 
 (defun ido-delete-backward-word-updir (count)
   "Delete all chars backwards, or at beginning of buffer, go up one level."
--- a/lisp/image-dired.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/image-dired.el	Wed May 26 09:36:51 2010 +0900
@@ -157,6 +157,7 @@
 (require 'widget)
 
 (eval-when-compile
+  (require 'cl)
   (require 'wid-edit))
 
 (defgroup image-dired nil
@@ -632,26 +633,32 @@
     (call-process shell-file-name nil nil nil shell-command-switch command)))
 
 ;;;###autoload
-(defun image-dired-dired-insert-marked-thumbs ()
-  "Insert thumbnails before file names of marked files in the dired buffer."
-  (interactive)
+(defun image-dired-dired-toggle-marked-thumbs (&optional arg)
+  "Toggle thumbnails in front of file names in the dired buffer.
+If no marked file could be found, insert or hide thumbnails on the
+current line.  ARG, if non-nil, specifies the files to use instead
+of the marked files.  If ARG is an integer, use the next ARG (or
+previous -ARG, if ARG<0) files."
+  (interactive "P")
   (dired-map-over-marks
-   (let* ((image-pos (dired-move-to-filename))
-          (image-file (dired-get-filename))
-          (thumb-file (image-dired-get-thumbnail-image image-file))
+   (let* ((image-pos  (dired-move-to-filename))
+          (image-file (dired-get-filename 'no-dir t))
+          thumb-file
           overlay)
-     ;; If image is not already added, then add it.
-     (unless (delq nil (mapcar (lambda (o) (overlay-get o 'put-image))
-                               ;; Can't use (overlays-at (point)), BUG?
-                               (overlays-in (point) (1+ (point)))))
-       (put-image thumb-file image-pos)
-       (setq
-	overlay
-	(car (delq nil (mapcar (lambda (o) (and (overlay-get o 'put-image) o))
-			       (overlays-in (point) (1+ (point)))))))
-       (overlay-put overlay 'image-file image-file)
-       (overlay-put overlay 'thumb-file thumb-file)))
-   nil)
+     (when (and image-file (string-match-p (image-file-name-regexp) image-file))
+       (setq thumb-file (image-dired-get-thumbnail-image image-file))
+       ;; If image is not already added, then add it.
+       (let ((cur-ov (overlays-in (point) (1+ (point)))))
+         (if cur-ov
+             (delete-overlay (car cur-ov))
+	   (put-image thumb-file image-pos)
+	   (setq overlay (loop for o in (overlays-in (point) (1+ (point)))
+			       when (overlay-get o 'put-image) collect o into ov
+			       finally return (car ov)))
+	   (overlay-put overlay 'image-file image-file)
+	   (overlay-put overlay 'thumb-file thumb-file)))))
+   arg             ; Show or hide image on ARG next files.
+   'show-progress) ; Update dired display after each image is updated.
   (add-hook 'dired-after-readin-hook 'image-dired-dired-after-readin-hook nil t))
 
 (defun image-dired-dired-after-readin-hook ()
@@ -937,7 +944,7 @@
                ;; If on empty line at end of buffer
                (when (and (eobp)
                           (looking-at "^$"))
-                 (delete-backward-char 1))))))
+                 (delete-char -1))))))
        files)
       (save-buffer)
       (kill-buffer buf))))
--- a/lisp/image-mode.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/image-mode.el	Wed May 26 09:36:51 2010 +0900
@@ -357,6 +357,7 @@
 	(image-mode-setup-winprops)
 
 	(add-hook 'change-major-mode-hook 'image-toggle-display-text nil t)
+	(add-hook 'after-revert-hook 'image-after-revert-hook nil t)
 	(run-mode-hooks 'image-mode-hook)
 	(message "%s" (concat
 		       (substitute-command-keys
@@ -503,6 +504,14 @@
   (if (image-get-display-property)
       (image-mode-as-text)
     (image-mode)))
+
+(defun image-after-revert-hook ()
+  (when (image-get-display-property)
+    (image-toggle-display-text)
+    ;; Update image display.
+    (redraw-frame (selected-frame))
+    (image-toggle-display-image)))
+
 
 ;;; Support for bookmark.el
 (declare-function bookmark-make-record-default "bookmark"
--- a/lisp/image.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/image.el	Wed May 26 09:36:51 2010 +0900
@@ -685,10 +685,13 @@
     (let* ((metadata (image-metadata image))
 	   (images (plist-get metadata 'count))
 	   (extdata (plist-get metadata 'extension-data))
-	   (anim (plist-get extdata #xF9)))
-      (and (integerp images) (> images 1)
-	   (stringp anim) (>= (length anim) 4)
-	   (cons images (+ (aref anim 1) (* (aref anim 2) 256))))))))
+	   (anim (plist-get extdata #xF9))
+	   (tmo (and (integerp images) (> images 1)
+		     (stringp anim) (>= (length anim) 4)
+		     (+ (aref anim 1) (* (aref anim 2) 256)))))
+      (when tmo
+	(if (eq tmo 0) (setq tmo 10))
+	(cons images tmo))))))
 
 
 (provide 'image)
--- a/lisp/international/utf-7.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/international/utf-7.el	Wed May 26 09:36:51 2010 +0900
@@ -62,7 +62,7 @@
 		(decode-coding-region p (point) 'utf-16be)
 		(save-excursion
 		  (goto-char p)
-		  (delete-backward-char 1)))))))
+		  (delete-char -1)))))))
       (- (point-max) (point-min)))))
 
 ;;;###autoload
--- a/lisp/language/ethio-util.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/language/ethio-util.el	Wed May 26 09:36:51 2010 +0900
@@ -869,7 +869,7 @@
     (goto-char (point-min))
     (while (re-search-forward "[ሀ-፼]" nil t)
       (setq ucode (preceding-char))
-      (delete-backward-char 1)
+      (delete-char -1)
       (insert
        (format (if ethio-java-save-lowercase "\\u%4x" "\\u%4X")
 	       ucode)))))
--- a/lisp/log-edit.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/log-edit.el	Wed May 26 09:36:51 2010 +0900
@@ -149,12 +149,12 @@
   :type '(hook :options (log-edit-set-common-indentation
 			 log-edit-add-to-changelog)))
 
-(defcustom log-edit-strip-single-file-name t
+(defcustom log-edit-strip-single-file-name nil
   "If non-nil, remove file name from single-file log entries."
   :type 'boolean
   :safe 'booleanp
   :group 'log-edit
-  :version "23.2")
+  :version "24.1")
 
 (defvar cvs-changelog-full-paragraphs t)
 (make-obsolete-variable 'cvs-changelog-full-paragraphs
@@ -691,7 +691,7 @@
 (defun log-edit-changelog-entries (file)
   "Return the ChangeLog entries for FILE, and the ChangeLog they came from.
 The return value looks like this:
-  (LOGBUFFER (ENTRYSTART . ENTRYEND) ...)
+  (LOGBUFFER (ENTRYSTART ENTRYEND) ...)
 where LOGBUFFER is the name of the ChangeLog buffer, and each
 \(ENTRYSTART . ENTRYEND\) pair is a buffer region."
   (let ((changelog-file-name
@@ -749,34 +749,51 @@
 
 	      (cons (current-buffer) texts))))))))
 
-(defun log-edit-changelog-insert-entries (buffer regions)
-  "Insert those regions in BUFFER specified in REGIONS.
-Sort REGIONS front-to-back first."
-  (let ((regions (sort regions 'car-less-than-car))
-        (last))
-    (dolist (region regions)
-      (when (and last (< last (car region))) (newline))
-      (setq last (elt region 1))
-      (apply 'insert-buffer-substring buffer region))))
+(defun log-edit-changelog-insert-entries (buffer beg end &rest files)
+  "Insert the text from BUFFER between BEG and END.
+Rename relative filenames in the ChangeLog entry as FILES."
+  (let ((opoint (point))
+	(log-name (buffer-file-name buffer))
+	(case-fold-search nil)
+	bound)
+    (insert-buffer-substring buffer beg end)
+    (setq bound (point-marker))
+    (when log-name
+      (dolist (f files)
+	(save-excursion
+	  (goto-char opoint)
+	  (when (re-search-forward
+		 (concat "\\(^\\|[ \t]\\)\\("
+			 (file-relative-name f (file-name-directory log-name))
+			 "\\)[, :\n]")
+		 bound t)
+	    (replace-match f t t nil 2)))))
+    ;; Eliminate tabs at the beginning of the line.
+    (save-excursion
+      (goto-char opoint)
+      (while (re-search-forward "^\\(\t+\\)" bound t)
+	(replace-match "")))))
 
 (defun log-edit-insert-changelog-entries (files)
   "Given a list of files FILES, insert the ChangeLog entries for them."
-  (let ((buffer-entries nil))
-
-    ;; Add each buffer to buffer-entries, and associate it with the list
-    ;; of entries we want from that file.
+  (let ((log-entries nil))
+    ;; Note that any ChangeLog entry can apply to more than one file.
+    ;; Here we construct a log-entries list with elements of the form
+    ;;   ((LOGBUFFER ENTRYSTART ENTRYEND) FILE1 FILE2...)
     (dolist (file files)
       (let* ((entries (log-edit-changelog-entries file))
-             (pair (assq (car entries) buffer-entries)))
-        (if pair
-            (setcdr pair (cvs-union (cdr pair) (cdr entries)))
-          (push entries buffer-entries))))
-
-    ;; Now map over each buffer in buffer-entries, sort the entries for
-    ;; each buffer, and extract them as strings.
-    (dolist (buffer-entry buffer-entries)
-      (log-edit-changelog-insert-entries (car buffer-entry) (cdr buffer-entry))
-      (when (cdr buffer-entry) (newline)))))
+	     (buf (car entries))
+	     key entry)
+	(dolist (region (cdr entries))
+	  (setq key (cons buf region))
+	  (if (setq entry (assoc key log-entries))
+	      (setcdr entry (append (cdr entry) (list file)))
+	    (push (list key file) log-entries)))))
+    ;; Now map over log-entries, and extract the strings.
+    (dolist (log-entry (nreverse log-entries))
+      (apply 'log-edit-changelog-insert-entries
+	     (append (car log-entry) (cdr log-entry)))
+      (insert "\n"))))
 
 (defun log-edit-extract-headers (headers comment)
   "Extract headers from COMMENT to form command line arguments.
--- a/lisp/lpr.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/lpr.el	Wed May 26 09:36:51 2010 +0900
@@ -291,7 +291,7 @@
       (let (c)
 	(while (re-search-forward "[\^@-\^h\^k\^n-\^_\177-\377]" nil t)
 	  (setq c (preceding-char))
-	  (delete-backward-char 1)
+	  (delete-char -1)
 	  (insert (if (< c ?\s)
 		      (format "\\^%c" (+ c ?@))
 		    (format "\\%02x" c))))))))
--- a/lisp/mh-e/mh-alias.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/mh-e/mh-alias.el	Wed May 26 09:36:51 2010 +0900
@@ -234,7 +234,7 @@
         (let ((user-arg (if user "-user" "-nouser")))
           (mh-exec-cmd-quiet t "ali" user-arg "-nolist" alias))
         (goto-char (point-max))
-        (if (looking-at "^$") (delete-backward-char 1))
+        (if (looking-at "^$") (delete-char -1))
         (buffer-substring (point-min)(point-max)))
     (error (progn
              (message "%s" (error-message-string err))
--- a/lisp/mh-e/mh-search.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/mh-e/mh-search.el	Wed May 26 09:36:51 2010 +0900
@@ -1511,7 +1511,7 @@
       (delete-char 1))
     (goto-char (point-max))
     (while (and (not (bobp)) (memq (char-before) '(?  ?\t ?\n ?\r ?_)))
-      (delete-backward-char 1))
+      (delete-char -1))
     (subst-char-in-region (point-min) (point-max) ?  ?_ t)
     (subst-char-in-region (point-min) (point-max) ?\t ?_ t)
     (subst-char-in-region (point-min) (point-max) ?\n ?_ t)
--- a/lisp/net/imap.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/net/imap.el	Wed May 26 09:36:51 2010 +0900
@@ -2095,7 +2095,7 @@
 	(while (setq end (imap-find-next-line))
 	  (save-restriction
 	    (narrow-to-region (point-min) end)
-	    (delete-backward-char (length imap-server-eol))
+	    (delete-char (- (length imap-server-eol)))
 	    (goto-char (point-min))
 	    (unwind-protect
 		(cond ((eq imap-state 'initial)
--- a/lisp/net/rcirc.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/net/rcirc.el	Wed May 26 09:36:51 2010 +0900
@@ -1,6 +1,7 @@
 ;;; rcirc.el --- default, simple IRC client.
 
-;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+;;   Free Software Foundation, Inc.
 
 ;; Author: Ryan Yeske
 ;; URL: http://www.nongnu.org/rcirc
@@ -85,6 +86,10 @@
 VALUE must be a string.  If absent, `rcirc-default-full-name' is
 used.
 
+`:pass'
+
+VALUE must be a string.
+
 `:channels'
 
 VALUE must be a list of strings describing which channels to join
@@ -95,6 +100,7 @@
 					     (:port integer)
 					     (:user-name string)
 					     (:full-name string)
+					     (:pass string)
 					     (:channels (repeat string)))))
   :group 'rcirc)
 
@@ -108,15 +114,15 @@
   :type 'string
   :group 'rcirc)
 
-(defcustom rcirc-default-user-name (user-login-name)
+(defcustom rcirc-default-user-name "user"
   "Your user name sent to the server when connecting."
+  :version "24.1"                       ; changed default
   :type 'string
   :group 'rcirc)
 
-(defcustom rcirc-default-full-name (if (string= (user-full-name) "")
-				       rcirc-default-user-name
-				     (user-full-name))
+(defcustom rcirc-default-full-name "unknown"
   "The full name sent to the server when connecting."
+  :version "24.1"                       ; changed default
   :type 'string
   :group 'rcirc)
 
@@ -369,6 +375,9 @@
 (defvar rcirc-nick-name-history nil
   "History variable for \\[rcirc] call.")
 
+(defvar rcirc-user-name-history nil
+  "History variable for \\[rcirc] call.")
+
 ;;;###autoload
 (defun rcirc (arg)
   "Connect to all servers in `rcirc-server-alist'.
@@ -393,6 +402,12 @@
 				(or (plist-get server-plist :nick)
 				    rcirc-default-nick)
 				'rcirc-nick-name-history))
+	     (user-name (read-string "IRC Username: "
+                                     (or (plist-get server-plist :user-name)
+                                         rcirc-default-user-name)
+                                     'rcirc-user-name-history))
+	     (pass (read-passwd "IRC Password: " nil
+				(plist-get server-plist :pass)))
 	     (channels (split-string
 			(read-string "IRC Channels: "
 				     (mapconcat 'identity
@@ -400,7 +415,7 @@
 							   :channels)
 						" "))
 			"[, ]+" t)))
-	(rcirc-connect server port nick rcirc-default-user-name
+	(rcirc-connect server port nick user-name pass
 		       rcirc-default-full-name
 		       channels))
     ;; connect to servers in `rcirc-server-alist'
@@ -411,6 +426,7 @@
 	      (port (or (plist-get (cdr c) :port) rcirc-default-port))
 	      (user-name (or (plist-get (cdr c) :user-name)
 			     rcirc-default-user-name))
+              (pass (plist-get (cdr c) :pass))
 	      (full-name (or (plist-get (cdr c) :full-name)
 			     rcirc-default-full-name))
 	      (channels (plist-get (cdr c) :channels)))
@@ -421,7 +437,7 @@
 		  (setq connected p)))
 	      (if (not connected)
 		  (condition-case e
-		      (rcirc-connect server port nick user-name
+		      (rcirc-connect server port nick user-name pass
 				     full-name channels)
 		    (quit (message "Quit connecting to %s" server)))
 		(with-current-buffer (process-buffer connected)
@@ -453,8 +469,8 @@
 (defvar rcirc-process nil)
 
 ;;;###autoload
-(defun rcirc-connect (server &optional port nick user-name full-name
-			     startup-channels)
+(defun rcirc-connect (server &optional port nick user-name pass
+                             full-name startup-channels)
   (save-excursion
     (message "Connecting to %s..." server)
     (let* ((inhibit-eol-conversion)
@@ -503,10 +519,11 @@
       (add-hook 'auto-save-hook 'rcirc-log-write)
 
       ;; identify
+      (when pass
+        (rcirc-send-string process (concat "PASS " pass)))
       (rcirc-send-string process (concat "NICK " nick))
       (rcirc-send-string process (concat "USER " user-name
-                                      " hostname servername :"
-                                      full-name))
+                                         " 0 * :" full-name))
 
       ;; setup ping timer if necessary
       (unless rcirc-keepalive-timer
@@ -1067,8 +1084,8 @@
     (goto-char (point-max))
     (when (not (equal 0 (- (point) rcirc-prompt-end-marker)))
       ;; delete a trailing newline
-      (when (eq (point) (point-at-bol))
-	(delete-backward-char 1))
+      (when (bolp)
+	(delete-char -1))
       (let ((input (buffer-substring-no-properties
 		    rcirc-prompt-end-marker (point))))
 	(dolist (line (split-string input "\n"))
--- a/lisp/net/tramp-gvfs.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/net/tramp-gvfs.el	Wed May 26 09:36:51 2010 +0900
@@ -874,10 +874,12 @@
 	    ;; there is only the question whether to accept an unknown
 	    ;; host signature.
 	    (with-temp-buffer
-	      (insert message)
-	      (pop-to-buffer (current-buffer))
-	      (setq choice (if (yes-or-no-p (concat (car choices) " ")) 0 1))
-	      (tramp-message v 6 "%d" choice))
+	      ;; Preserve message for `progress-reporter'.
+	      (with-temp-message ""
+		(insert message)
+		(pop-to-buffer (current-buffer))
+		(setq choice (if (yes-or-no-p (concat (car choices) " ")) 0 1))
+		(tramp-message v 6 "%d" choice)))
 
 	    ;; When the choice is "no", we set an empty
 	    ;; fuse-mountpoint in order to leave the timeout.
@@ -889,8 +891,8 @@
 	     nil ;; no abort of D-Bus.
 	     choice))
 
-	  ;; When QUIT is raised, we shall return this information to D-Bus.
-	  (quit (list nil t 0))))))
+	;; When QUIT is raised, we shall return this information to D-Bus.
+	(quit (list nil t 0))))))
 
 (defun tramp-gvfs-handler-mounted-unmounted (mount-info)
   "Signal handler for the \"org.gtk.vfs.MountTracker.mounted\" and
--- a/lisp/net/tramp.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/net/tramp.el	Wed May 26 09:36:51 2010 +0900
@@ -2283,6 +2283,12 @@
 (put 'with-connection-property 'edebug-form-spec t)
 (font-lock-add-keywords 'emacs-lisp-mode '("\\<with-connection-property\\>"))
 
+(defun tramp-progress-reporter-update (reporter &optional value)
+  (let* ((parameters (cdr reporter))
+	 (message (aref parameters 3)))
+    (when (string-match message (or (current-message) ""))
+      (funcall 'progress-reporter-update reporter value))))
+
 (defmacro with-progress-reporter (vec level message &rest body)
   "Executes BODY, spinning a progress reporter with MESSAGE."
   `(let (pr tm)
@@ -2294,7 +2300,8 @@
 		(<= ,level (min tramp-verbose 3)))
        (condition-case nil
 	   (setq pr (tramp-compat-funcall 'make-progress-reporter ,message)
-		 tm (if pr (run-at-time 3 0.1 'progress-reporter-update pr)))
+		 tm (when pr
+		      (run-at-time 3 0.1 'tramp-progress-reporter-update pr)))
 	 (error nil)))
      (unwind-protect
 	 ;; Execute the body.
@@ -4293,13 +4300,11 @@
 	(forward-line -2)
 	(when (looking-at "//SUBDIRED//")
 	  (forward-line -1))
-	(when (looking-at "//DIRED//")
-	  (let ((end (tramp-compat-line-end-position))
-		(linebeg (point)))
+	(when (looking-at "//DIRED//\\s-+")
+	  (let ((databeg (match-end 0))
+		(end (tramp-compat-line-end-position)))
 	    ;; Now read the numeric positions of file names.
-	    (goto-char linebeg)
-	    (forward-word 1)
-	    (forward-char 3)
+	    (goto-char databeg)
 	    (while (< (point) end)
 	      (let ((start (+ beg (read (current-buffer))))
 		    (end (+ beg (read (current-buffer)))))
@@ -6734,27 +6739,29 @@
 
 (defun tramp-process-actions (proc vec actions &optional timeout)
   "Perform actions until success or TIMEOUT."
-  ;; Enable auth-source and password-cache.
-  (tramp-set-connection-property vec "first-password-request" t)
-  (let (exit)
-    (while (not exit)
-      (tramp-message proc 3 "Waiting for prompts from remote shell")
-      (setq exit
-	    (catch 'tramp-action
-	      (if timeout
-		  (with-timeout (timeout)
-		    (tramp-process-one-action proc vec actions))
-		(tramp-process-one-action proc vec actions)))))
-    (with-current-buffer (tramp-get-connection-buffer vec)
-      (tramp-message vec 6 "\n%s" (buffer-string)))
-    (unless (eq exit 'ok)
-      (tramp-clear-passwd vec)
-      (tramp-error-with-buffer
-       nil vec 'file-error
-       (cond
-	((eq exit 'permission-denied) "Permission denied")
-	((eq exit 'process-died) "Process died")
-	(t "Login failed"))))))
+  ;; Preserve message for `progress-reporter'.
+  (with-temp-message ""
+    ;; Enable auth-source and password-cache.
+    (tramp-set-connection-property vec "first-password-request" t)
+    (let (exit)
+      (while (not exit)
+	(tramp-message proc 3 "Waiting for prompts from remote shell")
+	(setq exit
+	      (catch 'tramp-action
+		(if timeout
+		    (with-timeout (timeout)
+		      (tramp-process-one-action proc vec actions))
+		  (tramp-process-one-action proc vec actions)))))
+      (with-current-buffer (tramp-get-connection-buffer vec)
+	(tramp-message vec 6 "\n%s" (buffer-string)))
+      (unless (eq exit 'ok)
+	(tramp-clear-passwd vec)
+	(tramp-error-with-buffer
+	 nil vec 'file-error
+	 (cond
+	  ((eq exit 'permission-denied) "Permission denied")
+	  ((eq exit 'process-died) "Process died")
+	  (t "Login failed")))))))
 
 ;; Utility functions.
 
--- a/lisp/obsolete/complete.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/obsolete/complete.el	Wed May 26 09:36:51 2010 +0900
@@ -699,7 +699,7 @@
 	(if (and (eq mode 'word)
 		 (not PC-word-failed-flag))
 	    (let ((PC-word-failed-flag t))
-	      (delete-backward-char 1)
+	      (delete-char -1)
 	      (PC-do-completion 'word))
                (when abbreviated
                  (delete-region beg end)
--- a/lisp/pcomplete.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/pcomplete.el	Wed May 26 09:36:51 2010 +0900
@@ -553,7 +553,7 @@
 				pcomplete-expand-and-complete
 				pcomplete-reverse)))
       (progn
-	(delete-backward-char pcomplete-last-completion-length)
+	(delete-char (- pcomplete-last-completion-length))
 	(if (eq this-command 'pcomplete-reverse)
 	    (progn
               (push (car (last pcomplete-current-completions))
@@ -616,7 +616,7 @@
     (pcomplete)
     (when (and pcomplete-current-completions
 	       (> (length pcomplete-current-completions) 0)) ;??
-      (delete-backward-char pcomplete-last-completion-length)
+      (delete-char (- pcomplete-last-completion-length))
       (while pcomplete-current-completions
 	(unless (pcomplete-insert-entry
 		 "" (car pcomplete-current-completions) t
@@ -639,7 +639,7 @@
   (when (and pcomplete-cycle-completions
 	     pcomplete-current-completions
 	     (eq last-command 'pcomplete-argument))
-    (delete-backward-char pcomplete-last-completion-length)
+    (delete-char (- pcomplete-last-completion-length))
     (setq pcomplete-current-completions nil
 	  pcomplete-last-completion-raw nil))
   (let ((pcomplete-show-list t))
@@ -1207,7 +1207,7 @@
       ;; FIXME: Here we presume that quoting `stub' gives us the exact
       ;; text in the buffer before point, which is not guaranteed;
       ;; e.g. it is not the case in eshell when completing ${FOO}tm[TAB].
-      (delete-backward-char (length (pcomplete-quote-argument stub)))
+      (delete-char (- (length (pcomplete-quote-argument stub))))
       ;; if there is already a backslash present to handle the first
       ;; character, don't bother quoting it
       (when (eq (char-before) ?\\)
--- a/lisp/play/decipher.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/play/decipher.el	Wed May 26 09:36:51 2010 +0900
@@ -1060,7 +1060,7 @@
 ;;          (insert ?\()
 ;;          (while (setq undo-map (pop undo-rec))
 ;;            (insert (cdr undo-map) (car undo-map) ?\ ))
-;;          (delete-backward-char 1)
+;;          (delete-char -1)
 ;;          (insert ")\n"))))))
 
 ;; arch-tag: 8f094d88-ffe1-4f99-afe3-a5e81dd939d9
--- a/lisp/progmodes/ada-mode.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/progmodes/ada-mode.el	Wed May 26 09:36:51 2010 +0900
@@ -1645,7 +1645,7 @@
 		     (insert " ")
 		     (ada-adjust-case)
 		     ;; horrible dekludge
-		     (delete-backward-char 1)
+		     (delete-char -1)
 		     ;; some special keys and their bindings
 		     (cond
 		      ((eq lastk ?\n)
--- a/lisp/progmodes/cc-awk.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/progmodes/cc-awk.el	Wed May 26 09:36:51 2010 +0900
@@ -244,7 +244,7 @@
 
 ;; REGEXPS USED FOR FINDING THE POSITION OF A "virtual semicolon"
 (defconst c-awk-_-harmless-nonws-char-re "[^#/\"\\\\\n\r \t]")
-;;;; NEW VERSION!  (which will be restricted to the current line)
+;; NEW VERSION!  (which will be restricted to the current line)
 (defconst c-awk-one-line-non-syn-ws*-re
   (concat "\\([ \t]*"
               "\\(" c-awk-_-harmless-nonws-char-re "\\|"
@@ -503,7 +503,7 @@
         (insert-char ?\n 1) ; ...artificial eol is needed for comment detection.
         (setq extra-nl t))
       (prog1 (c-awk-get-NL-prop-prev-line do-lim)
-        (if extra-nl (delete-backward-char 1))))))
+        (if extra-nl (delete-char -1))))))
 
 (defsubst c-awk-prev-line-incomplete-p (&optional do-lim)
   ;; Is there an incomplete statement at the end of the previous line?
@@ -519,14 +519,14 @@
   ;; This function might do hidden buffer changes.
   (memq (c-awk-get-NL-prop-cur-line do-lim) '(?\\ ?\{)))
 
-;;;; NOTES ON "VIRTUAL SEMICOLONS"
-;;;;
-;;;; A "virtual semicolon" is what terminates a statement when there is no ;
-;;;; or } to do the job.  Like point, it is considered to lie _between_ two
-;;;; characters.  As from mid-March 2004, it is considered to lie just after
-;;;; the last non-syntactic-whitespace character on the line; (previously, it
-;;;; was considered an attribute of the EOL on the line).  A real semicolon
-;;;; never counts as a virtual one.
+;; NOTES ON "VIRTUAL SEMICOLONS"
+;;
+;; A "virtual semicolon" is what terminates a statement when there is no ;
+;; or } to do the job.  Like point, it is considered to lie _between_ two
+;; characters.  As from mid-March 2004, it is considered to lie just after
+;; the last non-syntactic-whitespace character on the line; (previously, it
+;; was considered an attribute of the EOL on the line).  A real semicolon
+;; never counts as a virtual one.
 
 (defun c-awk-at-vsemi-p (&optional pos)
   ;; Is there a virtual semicolon at POS (or POINT)?
--- a/lisp/progmodes/dcl-mode.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/progmodes/dcl-mode.el	Wed May 26 09:36:51 2010 +0900
@@ -1549,13 +1549,11 @@
   (interactive "*P")
   (delete-indentation arg)
   (let ((type (dcl-get-line-type)))
-    (if (and (or (equal type '$)
-		 (equal type '-)
-		 (equal type 'empty-$))
+    (if (and (member type '($ - empty-$))
 	     (not (bobp))
-	     (= (char-after (1- (point))) ?-))
+	     (= (char-before) ?-))
 	(progn
-	  (delete-backward-char 1)
+	  (delete-char -1)
 	  (fixup-whitespace)))))
 
 
--- a/lisp/progmodes/ps-mode.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/progmodes/ps-mode.el	Wed May 26 09:36:51 2010 +0900
@@ -681,7 +681,7 @@
     (if (or (not ps-mode-auto-indent)
 	    (< ps-mode-tab 1)
 	    (not (re-search-backward "^[ \t]+\\=" nil t)))
-	(delete-backward-char 1)
+	(call-interactively 'delete-backward-char)
       (setq target (ps-mode-target-column))
       (while (> column target)
 	(setq target (+ target ps-mode-tab)))
--- a/lisp/progmodes/verilog-mode.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/progmodes/verilog-mode.el	Wed May 26 09:36:51 2010 +0900
@@ -9305,11 +9305,11 @@
 		 (delete-char 1)
 		 (insert ");")
 		 (search-forward "\n")	;; Added by inst-port
-		 (delete-backward-char 1)
+		 (delete-char -1)
 		 (if (search-forward ")" nil t) ;; From user, moved up a line
-		     (delete-backward-char 1))
+		     (delete-char -1))
 		 (if (search-forward ";" nil t) ;; Don't error if user had syntax error and forgot it
-		     (delete-backward-char 1)))))))))
+		     (delete-char -1)))))))))
 
 (defun verilog-auto-inst-param ()
   "Expand AUTOINSTPARAM statements, as part of \\[verilog-auto].
@@ -9412,9 +9412,9 @@
 		 (delete-char 1)
 		 (insert ")")
 		 (search-forward "\n")	;; Added by inst-port
-		 (delete-backward-char 1)
+		 (delete-char -1)
 		 (if (search-forward ")" nil t) ;; From user, moved up a line
-		     (delete-backward-char 1)))))))))
+		     (delete-char -1)))))))))
 
 (defun verilog-auto-reg ()
   "Expand AUTOREG statements, as part of \\[verilog-auto].
--- a/lisp/progmodes/vhdl-mode.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/progmodes/vhdl-mode.el	Wed May 26 09:36:51 2010 +0900
@@ -7994,7 +7994,7 @@
 		       (condition-case () (forward-sexp)
 			 (error (goto-char (point-max))))
 		       (< (point) end))
-	   (delete-backward-char 1))
+	   (delete-char -1))
 	 ;; add closing parenthesis
 	 (when (> (point) end)
 	   (goto-char end)
@@ -8105,7 +8105,7 @@
   (interactive "p")
   (if (and vhdl-stutter-mode (= count 1) (not (vhdl-in-literal)))
       (if (= (preceding-char) last-input-event)
-	  (progn (delete-backward-char 1) (insert-char ?\" 1))
+	  (progn (delete-char -1) (insert-char ?\" 1))
 	(insert-char ?\' 1))
     (self-insert-command count)))
 
@@ -8172,7 +8172,7 @@
       (unless (vhdl-template-field
 	       (concat "[type" (and (vhdl-standard-p 'ams) " or nature") "]")
 	       nil t)
-	(delete-backward-char 3))
+	(delete-char -3))
       (vhdl-insert-keyword " IS ")
       (vhdl-template-field "name" ";")
       (vhdl-comment-insert-inline))))
@@ -8536,7 +8536,7 @@
 	       (vhdl-template-field "library name" "." nil nil nil nil
 				    (vhdl-work-library))
 	       (vhdl-template-field "configuration name" ";"))
-	      (t (delete-backward-char 1) (insert ";") t))))))
+	      (t (delete-char -1) (insert ";") t))))))
 
 
 (defun vhdl-template-configuration-decl ()
@@ -8703,7 +8703,7 @@
 	(vhdl-insert-keyword " OPEN ")
 	(unless (vhdl-template-field "[READ_MODE | WRITE_MODE | APPEND_MODE]"
 				     nil t)
-	  (delete-backward-char 6)))
+	  (delete-char -6)))
       (vhdl-insert-keyword " IS ")
       (when (vhdl-standard-p '87)
 	(vhdl-template-field "[IN | OUT]" " " t))
@@ -9031,7 +9031,7 @@
 	      (insert "\n")
 	      (indent-to margin))
 	    (delete-region end-pos (point))
-	    (delete-backward-char 1)
+	    (delete-char -1)
 	    (insert ")")
 	    (when vhdl-auto-align (vhdl-align-region-groups start (point) 1))
 	    t)
@@ -9405,7 +9405,7 @@
     (vhdl-insert-keyword "REPORT ")
     (if (equal "\"\"" (vhdl-template-field
 		       "string expression" nil t start (point) t))
-	(delete-backward-char 2)
+	(delete-char -2)
       (setq start (point))
       (vhdl-insert-keyword " SEVERITY ")
       (unless (vhdl-template-field "[NOTE | WARNING | ERROR | FAILURE]" nil t)
@@ -9553,7 +9553,7 @@
 		    "[scalar type | ARRAY | RECORD | ACCESS | FILE]" nil t)
 		   ""))))
 	(cond ((equal definition "")
-	       (delete-backward-char 4)
+	       (delete-char -4)
 	       (insert ";"))
 	      ((equal definition "ARRAY")
 	       (delete-region (point) (progn (forward-word -1) (point)))
@@ -10053,13 +10053,13 @@
       (if (not (or (and string (progn (insert string) t))
 		   (vhdl-template-field "[comment]" nil t)))
 	  (delete-region position (point))
-	(while (= (preceding-char) ? ) (delete-backward-char 1))
-; 	(when (> (current-column) end-comment-column)
-; 	  (setq position (point-marker))
-; 	  (re-search-backward "-- ")
-; 	  (insert "\n")
-; 	  (indent-to comment-column)
-; 	  (goto-char position))
+	(while (= (preceding-char) ?\ ) (delete-char -1))
+	;; (when (> (current-column) end-comment-column)
+	;;   (setq position (point-marker))
+	;;   (re-search-backward "-- ")
+	;;   (insert "\n")
+	;;   (indent-to comment-column)
+	;;   (goto-char position))
 	))))
 
 (defun vhdl-comment-block ()
@@ -10192,7 +10192,7 @@
     (when semicolon-pos (goto-char semicolon-pos))
     (if not-empty
 	(progn (delete-char 1) (insert ")"))
-      (delete-backward-char 2))))
+      (delete-char -2))))
 
 (defun vhdl-template-generic-list (optional &optional no-value)
   "Read from user a generic spec argument list."
--- a/lisp/skeleton.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/skeleton.el	Wed May 26 09:36:51 2010 +0900
@@ -358,7 +358,7 @@
 	     (< element 0))
 	(if skeleton-untabify
 	    (backward-delete-char-untabify (- element))
-	  (delete-backward-char (- element)))
+	  (delete-char element))
       (insert (if (not literal)
 		  (funcall skeleton-transformation-function element)
 		element))))
--- a/lisp/term.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/term.el	Wed May 26 09:36:51 2010 +0900
@@ -1170,7 +1170,7 @@
 	    (let* ((str (car cur)) (len (length str)) (start (- (point) len)))
 	      (if (and (>= start (point-min))
 		       (string= str (buffer-substring start (point))))
-		  (progn (delete-backward-char len)
+		  (progn (delete-char (- len))
 			 (setq term-kill-echo-list (cdr cur))
 			 (setq term-current-column nil)
 			 (setq term-current-row nil)
--- a/lisp/textmodes/bibtex.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/textmodes/bibtex.el	Wed May 26 09:36:51 2010 +0900
@@ -2094,7 +2094,7 @@
                                 ;; if match not at left subfield boundary...
                                 (if (< (1+ (nth 1 bounds)) (match-beginning 0))
                                     (insert (bibtex-field-right-delimiter) " # ")
-                                  (delete-backward-char 1))))))))
+                                  (delete-char -1))))))))
 
                     ;; use book title of crossref'd entry
                     (if (and (memq 'inherit-booktitle format)
--- a/lisp/textmodes/fill.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/textmodes/fill.el	Wed May 26 09:36:51 2010 +0900
@@ -657,7 +657,7 @@
       (if (and oneleft
 	       (not (and use-hard-newlines
 			 (get-text-property (1- (point)) 'hard))))
-	  (delete-backward-char 1)
+	  (delete-char -1)
 	(backward-char 1)
 	(setq oneleft t)))
     (setq to (copy-marker (point) t))
--- a/lisp/textmodes/reftex-auc.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/textmodes/reftex-auc.el	Wed May 26 09:36:51 2010 +0900
@@ -58,7 +58,7 @@
       ;; Create a new label, with a temporary brace for `reftex-what-macro'
       (unwind-protect
           (progn (insert "{") (setq label (or (reftex-label nil t) "")))
-        (delete-backward-char 1)))
+        (delete-char -1)))
      ((and (not definition) (reftex-plug-flag 2))
       ;; Reference a label with RefTeX
       (setq label (reftex-reference nil t)))
--- a/lisp/textmodes/rst.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/textmodes/rst.el	Wed May 26 09:36:51 2010 +0900
@@ -1787,7 +1787,7 @@
       (delete-region init-point (+ init-point (length initial-indent)))
 
       ;; Delete the last newline added.
-      (delete-backward-char 1)
+      (delete-char -1)
     )))
 
 (defun rst-toc-insert-node (node level indent pfx)
--- a/lisp/textmodes/sgml-mode.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/textmodes/sgml-mode.el	Wed May 26 09:36:51 2010 +0900
@@ -526,7 +526,7 @@
     (insert-char ?/ 1)
     (indent-according-to-mode))
    ((eq sgml-quick-keys 'close)
-    (delete-backward-char 1)
+    (delete-char -1)
     (sgml-close-tag))
    (t
     (sgml-slash-matching arg))))
@@ -583,7 +583,7 @@
   (insert ?&)
   (or char
       (setq char (read-quoted-char "Enter char or octal number")))
-  (delete-backward-char 1)
+  (delete-char -1)
   (insert char)
   (undo-boundary)
   (sgml-namify-char))
@@ -601,7 +601,7 @@
 	   ((encode-char char 'ucs)))))
     (if (not name)
 	(error "Don't know the name of `%c'" char)
-      (delete-backward-char 1)
+      (delete-char -1)
       (insert (format (if (numberp name) "&#%d;" "&%s;") name)))))
 
 (defun sgml-name-self ()
@@ -707,7 +707,7 @@
 	      (sgml-value (assoc (downcase attribute) alist))
 	      (setq i (1- i))))
 	  (if (eq (preceding-char) ?\s)
-	      (delete-backward-char 1)))
+	      (delete-char -1)))
 	car)))
 
 (defun sgml-auto-attributes (arg)
@@ -1117,7 +1117,7 @@
 	  (setq alist (skeleton-read '(completing-read "Value: " (cdr alist))))
 	  (if (string< "" alist)
 	      (insert alist ?\")
-	    (delete-backward-char 2)))
+	    (delete-char -2)))
       (insert "=\"")
       (if (cdr alist)
           (insert (skeleton-read '(completing-read "Value: " alist)))
--- a/lisp/textmodes/table.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/textmodes/table.el	Wed May 26 09:36:51 2010 +0900
@@ -919,12 +919,12 @@
 (defvar table-source-info-plist nil
   "General storage for temporary information used while generating source.")
 
-;;; The following history containers not only keep the history of user
-;;; entries but also serve as the default value providers.  When an
-;;; interactive command is invoked it offers a user the latest entry
-;;; of the history as a default selection.  Therefore the values below
-;;; are the first default value when a command is invoked for the very
-;;; first time when there is no real history existing yet.
+;; The following history containers not only keep the history of user
+;; entries but also serve as the default value providers.  When an
+;; interactive command is invoked it offers a user the latest entry
+;; of the history as a default selection.  Therefore the values below
+;; are the first default value when a command is invoked for the very
+;; first time when there is no real history existing yet.
 (defvar table-cell-span-direction-history '("right"))
 (defvar table-cell-split-orientation-history '("horizontally"))
 (defvar table-cell-split-contents-to-history '("split"))
@@ -948,19 +948,19 @@
 (defvar table-capture-columns-history '(""))
 (defvar table-target-history '("cell"))
 
-;;; Some entries in `table-cell-bindings' are duplicated in
-;;; `table-command-remap-alist'.  There is a good reason for
-;;; this.  Common key like return key may be taken by some other
-;;; function than normal `newline' function.  Thus binding return key
-;;; directly for `*table--cell-newline' ensures that the correct enter
-;;; operation in a table cell.  However
-;;; `table-command-remap-alist' has an additional role than
-;;; replacing commands.  It is also used to construct a table command
-;;; list.  This list is very important because it is used to check if
-;;; the previous command was one of them in this list or not.  If the
-;;; previous command is found in the list the current command will not
-;;; refill the table cache.  If the command were not listed fast
-;;; typing can cause unwanted cache refill.
+;; Some entries in `table-cell-bindings' are duplicated in
+;; `table-command-remap-alist'.  There is a good reason for
+;; this.  Common key like return key may be taken by some other
+;; function than normal `newline' function.  Thus binding return key
+;; directly for `*table--cell-newline' ensures that the correct enter
+;; operation in a table cell.  However
+;; `table-command-remap-alist' has an additional role than
+;; replacing commands.  It is also used to construct a table command
+;; list.  This list is very important because it is used to check if
+;; the previous command was one of them in this list or not.  If the
+;; previous command is found in the list the current command will not
+;; refill the table cache.  If the command were not listed fast
+;; typing can cause unwanted cache refill.
 (defconst table-cell-bindings
   '(([(control i)]	. table-forward-cell)
     ([(control I)]	. table-backward-cell)
--- a/lisp/textmodes/texinfmt.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/textmodes/texinfmt.el	Wed May 26 09:36:51 2010 +0900
@@ -2507,7 +2507,7 @@
       (error "Not found: @verb start brace"))
     (delete-region texinfo-command-start (+ 2 texinfo-command-end))
     (search-forward  delimiter))
-  (delete-backward-char 1)
+  (delete-char -1)
   (unless (looking-at "}")
     (error "Not found: @verb end brace"))
   (delete-char 1))
--- a/lisp/time.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/time.el	Wed May 26 09:36:51 2010 +0900
@@ -524,7 +524,7 @@
 	(insert (pop result)
 		(make-string (1+ (- max-width (pop result))) ?\s)
 		(pop result) "\n")))
-    (delete-backward-char 1)))
+    (delete-char -1)))
 
 ;;;###autoload
 (defun display-time-world ()
--- a/lisp/wid-edit.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/wid-edit.el	Wed May 26 09:36:51 2010 +0900
@@ -1334,7 +1334,7 @@
 		     (goto-char end)
 		     (while (and (eq (preceding-char) ?\s)
 				 (> (point) begin))
-		       (delete-backward-char 1)))))))
+		       (delete-char -1)))))))
 	(widget-specify-secret field))
       (widget-apply field :notify field))))
 
@@ -1477,7 +1477,7 @@
      ;; Parse escapes in format.
      (while (re-search-forward "%\\(.\\)" nil t)
        (let ((escape (char-after (match-beginning 1))))
-	 (delete-backward-char 2)
+	 (delete-char -2)
 	 (cond ((eq escape ?%)
 		(insert ?%))
 	       ((eq escape ?\[)
@@ -1510,7 +1510,7 @@
 		    (setq doc-begin (point))
 		    (insert doc)
 		    (while (eq (preceding-char) ?\n)
-		      (delete-backward-char 1))
+		      (delete-char -1))
 		    (insert ?\n)
 		    (setq doc-end (point)))))
 	       ((eq escape ?h)
@@ -2258,7 +2258,7 @@
      ;; Parse % escapes in format.
      (while (re-search-forward "%\\([bv%]\\)" nil t)
        (let ((escape (char-after (match-beginning 1))))
-	 (delete-backward-char 2)
+	 (delete-char -2)
 	 (cond ((eq escape ?%)
 		(insert ?%))
 	       ((eq escape ?b)
@@ -2441,7 +2441,7 @@
      ;; Parse % escapes in format.
      (while (re-search-forward "%\\([bv%]\\)" nil t)
        (let ((escape (char-after (match-beginning 1))))
-	 (delete-backward-char 2)
+	 (delete-char -2)
 	 (cond ((eq escape ?%)
 		(insert ?%))
 	       ((eq escape ?b)
@@ -2720,7 +2720,7 @@
      ;; Parse % escapes in format.
      (while (re-search-forward "%\\(.\\)" nil t)
        (let ((escape (char-after (match-beginning 1))))
-	 (delete-backward-char 2)
+	 (delete-char -2)
 	 (cond ((eq escape ?%)
 		(insert ?%))
 	       ((eq escape ?i)
--- a/lisp/woman.el	Tue May 25 10:25:08 2010 +0900
+++ b/lisp/woman.el	Wed May 26 09:36:51 2010 +0900
@@ -2443,7 +2443,7 @@
 	    (while (and
 		    (<= (setq N (1+ N)) 0)
 		    (cond ((memq (preceding-char) '(?\  ?\t))
-			   (delete-backward-char 1) t)
+			   (delete-char -1) t)
 			  ((memq (following-char) '(?\  ?\t))
 			   (delete-char 1) t)
 			  (t nil))))
@@ -3121,7 +3121,7 @@
 	  (if unquote (delete-char 1) (forward-char))
 	  (re-search-forward "\"\\|$"))
 	(if (eq (preceding-char) ?\")
-	    (if unquote (delete-backward-char 1))
+	    (if unquote (delete-char -1))
 	  (WoMan-warn "Unpaired \" in .%s arguments." request)))
     ;; (re-search-forward "[^\\\n] \\|$")	; inconsistent
     (skip-syntax-forward "^ "))
@@ -4346,7 +4346,7 @@
 tab stop columns or pairs (COLUMN . TYPE) where TYPE is R or C."
   ;; Based on tab-to-tab-stop in indent.el.
   ;; R & C tabs probably not quite right!
-  (delete-backward-char 1)
+  (delete-char -1)
   (let ((tabs tab-stop-list))
     (while (and tabs (>= (current-column)
 			 (woman-get-tab-stop (car tabs))))
@@ -4400,7 +4400,7 @@
 	  (delete-char 1)
 	  (insert woman-unpadded-space-char)
 	  (goto-char (match-end 0))
-	  (delete-backward-char 1)
+	  (delete-char -1)
 	  (insert-before-markers woman-unpadded-space-char)
 	  (subst-char-in-region
 	   (match-beginning 0) (match-end 0)
--- a/msdos/ChangeLog	Tue May 25 10:25:08 2010 +0900
+++ b/msdos/ChangeLog	Wed May 26 09:36:51 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-25  Glenn Morris  <rgm@gnu.org>
+
+	* sed1v2.inp (LD_SWITCH_SYSTEM_EXTRA): No longer present.
+
 2010-05-21  Glenn Morris  <rgm@gnu.org>
 
 	* sed1v2.inp(@ns_frag@): Edit to nothing.
--- a/msdos/sed1v2.inp	Tue May 25 10:25:08 2010 +0900
+++ b/msdos/sed1v2.inp	Wed May 26 09:36:51 2010 +0900
@@ -51,7 +51,6 @@
 /^LD_SWITCH_X_SITE_AUX *=/s/@LD_SWITCH_X_SITE_AUX@//
 /^LD_SWITCH_X_SITE_AUX_RPATH *=/s/@LD_SWITCH_X_SITE_AUX_RPATH@//
 /^LD_SWITCH_SYSTEM *=/s/@LD_SWITCH_SYSTEM@//
-/^LD_SWITCH_SYSTEM_EXTRA *=/s/@LD_SWITCH_SYSTEM_EXTRA@//
 /^TEMACS_LDFLAGS2 *=/s/@TEMACS_LDFLAGS2@/$(LDFLAGS)/
 /^LIBS_SYSTEM *=/s/@LIBS_SYSTEM@//
 /^LIB_GCC *=/s/@LIB_GCC@/-Lgcc/
--- a/src/ChangeLog	Tue May 25 10:25:08 2010 +0900
+++ b/src/ChangeLog	Wed May 26 09:36:51 2010 +0900
@@ -1,3 +1,19 @@
+2010-05-25  Glenn Morris  <rgm@gnu.org>
+
+	* Makefile.in (@NS_IMPL_GNUSTEP_INC@, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS):
+	Move before TEMACS_LDFLAGS.
+	(TEMACS_LDFLAGS): Use $NS_IMPL_GNUSTEP_TEMACS_LDFLAGS.
+	(temacs${EXEEXT}): Do not use $NS_IMPL_GNUSTEP_TEMACS_LDFLAGS.
+
+	* Makefile.in (NOT_C_CODE): No longer define.
+	(config.h): No longer include.
+
+	* Makefile.in (LD_SWITCH_SYSTEM_TEMACS): Move definition after some
+	variables it may reference.
+
+	* Makefile.in (LD_SWITCH_SYSTEM_EXTRA): Remove.
+	(TEMACS_LDFLAGS): Remove LD_SWITCH_SYSTEM_EXTRA.
+
 2010-05-25  Kenichi Handa  <handa@m17n.org>
 
 	* dispextern.h (struct composition_it): New members rule_idx and
--- a/src/Makefile.in	Tue May 25 10:25:08 2010 +0900
+++ b/src/Makefile.in	Wed May 26 09:36:51 2010 +0900
@@ -96,12 +96,6 @@
 ## substituted in this or any other Makefile. Cf C_SWITCH_X_SITE.
 LD_SWITCH_X_SITE=
 
-## This holds any special options for linking temacs only (ie, not
-## used by configure).  Not used elsewhere because it sometimes
-## contains options that have to do with using Emacs's crt0, 
-## which are only good with temacs.
-LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@
-
 ## Next two must come before LD_SWITCH_SYSTEM.
 ## If needed, a -R option that says where to find X windows at run time.
 LD_SWITCH_X_SITE_AUX=@LD_SWITCH_X_SITE_AUX@
@@ -110,10 +104,21 @@
 
 ## System-specific LDFLAGS.
 LD_SWITCH_SYSTEM=@LD_SWITCH_SYSTEM@
-LD_SWITCH_SYSTEM_EXTRA=@LD_SWITCH_SYSTEM_EXTRA@
+
+## This holds any special options for linking temacs only (ie, not
+## used by configure).  Not used elsewhere because it sometimes
+## contains options that have to do with using Emacs's crt0, 
+## which are only good with temacs.
+LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@
+
+## If NS_IMPL_GNUSTEP, some definitions and includes are expanded here.
+@NS_IMPL_GNUSTEP_INC@
+
+## This uses ${CONFIG_SYSTEM_LIBS} from @NS_IMPL_GNUSTEP_INC@.
+NS_IMPL_GNUSTEP_TEMACS_LDFLAGS=@NS_IMPL_GNUSTEP_TEMACS_LDFLAGS@
 
 ## Flags to pass to ld only for temacs.
-TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_EXTRA) $(LD_SWITCH_SYSTEM_TEMACS)
+TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_TEMACS) $(NS_IMPL_GNUSTEP_TEMACS_LDFLAGS)
 
 ## $LDFLAGS, or empty if NS_IMPL_GNUSTEP (for some reason).
 TEMACS_LDFLAGS2 = @TEMACS_LDFLAGS2@
@@ -302,16 +307,6 @@
 # ========================== start of cpp stuff =======================
 /* From here on, comments must be done in C syntax.  */
 
-#define NOT_C_CODE
-#include "config.h"
-
-/* If NS_IMPL_GNUSTEP, some definitions and includes are expanded here.  */
-@NS_IMPL_GNUSTEP_INC@
-
-/* FIXME move to LD_SWITCH_SYSTEM_TEMACS?
-   This uses ${CONFIG_SYSTEM_LIBS}, presumably set by the above include.  */
-NS_IMPL_GNUSTEP_TEMACS_LDFLAGS=@NS_IMPL_GNUSTEP_TEMACS_LDFLAGS@
-
 /* DO NOT use -R.  There is a special hack described in lastfile.c
    which is used instead.  Some initialized data areas are modified
    at initial startup, then labeled as part of the text area when
@@ -648,8 +643,7 @@
 #define YMF_PASS_LDFLAGS(flags) @YMF_PASS_LDFLAGS@
 
 temacs${EXEEXT}: $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args${EXEEXT}
-	$(LD) YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} \
-	  ${NS_IMPL_GNUSTEP_TEMACS_LDFLAGS} ) \
+	$(LD) YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} ) \
 	  ${TEMACS_LDFLAGS2} \
 	  -o temacs ${START_FILES} ${obj} ${otherobj} ${LIBES}