changeset 107277:260c94ced579

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sun, 14 Feb 2010 21:55:14 +0000
parents 2dee04cb649f (current diff) b6358fb91b0b (diff)
children a47ad081a03c
files
diffstat 24 files changed, 211 insertions(+), 72 deletions(-) [+]
line wrap: on
line diff
--- a/admin/ChangeLog	Thu Feb 11 21:54:28 2010 +0000
+++ b/admin/ChangeLog	Sun Feb 14 21:55:14 2010 +0000
@@ -1,3 +1,7 @@
+2010-02-14  Juanma Barranquero  <lekktu@gmail.com>
+
+	* quick-install-emacs (PRUNED): Fix typo in message.
+
 2010-01-20  Glenn Morris  <rgm@gnu.org>
 
 	* revdiff: Remove file that only works with CVS, and isn't really
--- a/admin/quick-install-emacs	Thu Feb 11 21:54:28 2010 +0000
+++ b/admin/quick-install-emacs	Sun Feb 14 21:55:14 2010 +0000
@@ -276,7 +276,7 @@
 	if [ -d $DST/$DIR ]; then
 	  echo Directory $DST/$DIR exists
 	else
-	  echo Directory $DST/$DIR non-existant
+	  echo Directory $DST/$DIR non-existent
 	  if [ "`echo $DIR | egrep -v "$AVOID_PAT"`" ]; then
 	    maybe_mkdir $DST/$DIR
 	  fi
--- a/doc/emacs/ChangeLog	Thu Feb 11 21:54:28 2010 +0000
+++ b/doc/emacs/ChangeLog	Sun Feb 14 21:55:14 2010 +0000
@@ -33,7 +33,7 @@
 
 	* building.texi (Grep Searching): Document zrgrep.
 
-	* mini.texi (Completion Options): Mention `initals' completion style.
+	* mini.texi (Completion Options): Mention `initials' completion style.
 
 2009-12-29  Nick Roberts  <nickrob@snap.net.nz>
 
--- a/etc/NEWS	Thu Feb 11 21:54:28 2010 +0000
+++ b/etc/NEWS	Sun Feb 14 21:55:14 2010 +0000
@@ -273,6 +273,11 @@
 
 To disable this check, set compose-mail-user-agent-warnings to nil.
 
+** The default value of mail-interactive is t, since Emacs 23.1.
+(This was not announced at the time.)  It means that when sending mail,
+Emacs will wait for the process sending mail to return.  If you
+experience delays when sending mail, you may wish to set this to nil.
+
 ** nXML mode is now the default for editing XML files.
 
 ** Shell
--- a/lisp/ChangeLog	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/ChangeLog	Sun Feb 14 21:55:14 2010 +0000
@@ -1,3 +1,47 @@
+2010-02-14  Juanma Barranquero  <lekktu@gmail.com>
+
+	* outline.el (outline-head-from-level):
+	* simple.el (with-wrapper-hook):
+	* cedet/ede.el (ede-run-target, project-delete-target)
+	(project-dist-files, ede-name, ede-documentation, ede-parent-project)
+	(ede-adebug-project, ede-adebug-project-parent)
+	(ede-adebug-project-root):
+	* emacs-lisp/elint.el (elint-extra-errors, elint-current-buffer)
+	(elint-defun, elint-buffer-env, elint-top-form-logged)
+	(elint-unbound-variable):
+	* textmodes/reftex-toc.el (reftex-toc-newhead-from-alist):
+	Fix typos in docstrings.
+
+2010-02-14  Michael Albinus  <michael.albinus@gmx.de>
+
+	* files.el (insert-directory): When WILDCARD-REGEXP and
+	FULL-DIRECTORY-P are nil, insert the file entry instead of the
+	whole directory.  (Bug#5551)
+
+	* net/ange-ftp.el (ange-ftp-insert-directory): Insert "  " for
+	dired's alignment sanity.  (Bug#5516)
+
+2010-02-14  Juri Linkov  <juri@jurta.org>
+
+	* man.el (Man-fontify-manpage, Man-cleanup-manpage):
+	Remove remaining ^H with their preceding chars.  (Bug#5566)
+
+2010-02-13  Glenn Morris  <rgm@gnu.org>
+
+	* simple.el (transpose-subr): Give it a doc-string.
+
+	* textmodes/paragraphs.el (transpose-paragraphs, transpose-sentences):
+	Doc fixes.
+
+2010-02-12  Juri Linkov  <juri@jurta.org>
+
+	* arc-mode.el (archive-unique-fname): Make directories for nested
+	archives.  (Bug#5540)
+
+2010-02-12  Juri Linkov  <juri@jurta.org>
+
+	* ffap.el (dired-at-point): Fix docstring.  (Bug#5565)
+
 2010-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* subr.el (copy-overlay): Handle deleted overlays.
--- a/lisp/ChangeLog.13	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/ChangeLog.13	Sun Feb 14 21:55:14 2010 +0000
@@ -7242,7 +7242,7 @@
 
 	* subr.el (event-modifiers): Use internal-event-symbol-parse-modifiers.
 
-	* pcvs.el (cvs-revert-if-needed): Ignore `unknown' files, since cvs
+	* pcvs.el (cvs-revert-if-needed): Ignore `unknown' files, since CVS
 	did not touch them.
 
 2007-11-15  Jay Belanger  <jay.p.belanger@gmail.com>
--- a/lisp/ChangeLog.8	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/ChangeLog.8	Sun Feb 14 21:55:14 2010 +0000
@@ -4729,7 +4729,7 @@
 
 1999-07-08  Espen Skoglund  <espensk@stud.cs.uit.no>
 
-	* pascal.el (pascal-calculate-indent): Fixed a bug occuring when
+	* pascal.el (pascal-calculate-indent): Fixed a bug occurring when
 	the `end' keyword was in the very beginning of the buffer.
 
 1999-07-08  Richard Stallman  <rms@gnu.org>
--- a/lisp/arc-mode.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/arc-mode.el	Sun Feb 14 21:55:14 2010 +0000
@@ -834,6 +834,11 @@
 	  ;; reconstructed in the temporary directory.
 	  (make-directory (file-name-directory tmpfile) t)
 	  (make-temp-file tmpfile))
+      ;; Maked sure all the leading directories in `fullname' exist
+      ;; under archive-tmpdir.  This is necessary for nested archives
+      ;; (`archive-extract' sets `archive-remote' to t in case
+      ;; an archive occurs inside another archive).
+      (make-directory (file-name-directory fullname) t)
       fullname)))
 
 (defun archive-maybe-copy (archive)
--- a/lisp/cedet/ede.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/cedet/ede.el	Sun Feb 14 21:55:14 2010 +0000
@@ -1155,7 +1155,7 @@
   (ede-invoke-method 'project-debug-target))
 
 (defun ede-run-target ()
-  "Debug the current buffer's assocated target."
+  "Run the current buffer's associated target."
   (interactive)
   (ede-invoke-method 'project-run-target))
 
@@ -1381,7 +1381,7 @@
   (error "New-target-custom not supported by %s" (object-name proj)))
 
 (defmethod project-delete-target ((ot ede-target))
-  "Delete the current target OT from it's parent project."
+  "Delete the current target OT from its parent project."
   (error "add-file not supported by %s" (object-name ot)))
 
 (defmethod project-compile-project ((obj ede-project) &optional command)
@@ -1407,7 +1407,7 @@
   (error "Make-dist not supported by %s" (object-name this)))
 
 (defmethod project-dist-files ((this ede-project))
-  "Return a list of files that constitutes a distribution of THIS project."
+  "Return a list of files that constitute a distribution of THIS project."
   (error "Dist-files is not supported by %s" (object-name this)))
 
 (defmethod project-rescan ((this ede-project))
@@ -1421,7 +1421,7 @@
 ;; b) cosmetic.
 
 (defmethod ede-name ((this ede-target))
-  "Return the name of THIS targt."
+  "Return the name of THIS target."
   (oref this name))
 
 (defmethod ede-target-name ((this ede-target))
@@ -1510,7 +1510,7 @@
 	(ede-buffer-documentation-files cp (current-buffer))))))
 
 (defmethod ede-documentation ((this ede-project))
-  "Return a list of files that provides documentation.
+  "Return a list of files that provide documentation.
 Documentation is not for object THIS, but is provided by THIS for other
 files in the project."
   (let ((targ (oref this targets))
@@ -1525,7 +1525,7 @@
     found))
 
 (defmethod ede-documentation ((this ede-target))
-  "Return a list of files that provides documentation.
+  "Return a list of files that provide documentation.
 Documentation is not for object THIS, but is provided by THIS for other
 files in the project."
   nil)
@@ -1651,7 +1651,7 @@
 
 (defun ede-parent-project (&optional obj)
   "Return the project belonging to the parent directory.
-nil if there is no previous directory.
+Returns nil if there is no previous directory.
 Optional argument OBJ is an object to find the parent of."
   (let* ((proj (or obj ede-object-project)) ;; Current project.
 	 (root (if obj (ede-project-root obj)
@@ -1952,7 +1952,7 @@
 ;;; Debugging.
 
 (defun ede-adebug-project ()
-  "Run adebug against the current ede project.
+  "Run adebug against the current EDE project.
 Display the results as a debug list."
   (interactive)
   (require 'data-debug)
@@ -1962,7 +1962,7 @@
     ))
 
 (defun ede-adebug-project-parent ()
-  "Run adebug against the current ede parent project.
+  "Run adebug against the current EDE parent project.
 Display the results as a debug list."
   (interactive)
   (require 'data-debug)
@@ -1972,7 +1972,7 @@
     ))
 
 (defun ede-adebug-project-root ()
-  "Run adebug against the current ede parent project.
+  "Run adebug against the current EDE parent project.
 Display the results as a debug list."
   (interactive)
   (require 'data-debug)
@@ -1983,7 +1983,7 @@
 
 ;;; Hooks & Autoloads
 ;;
-;;  These let us watch various activities, and respond apropriatly.
+;;  These let us watch various activities, and respond appropriately.
 
 ;; (add-hook 'edebug-setup-hook
 ;; 	  (lambda ()
--- a/lisp/cedet/semantic/complete.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/cedet/semantic/complete.el	Sun Feb 14 21:55:14 2010 +0000
@@ -1243,7 +1243,7 @@
 ;; A typical displayor accepts a pre-determined list of completions
 ;; generated by a collector.  This format is in semanticdb search
 ;; form.  This vaguely standard form is a bit challenging to navigate
-;; because the tags do not contain buffer info, but the file assocated
+;; because the tags do not contain buffer info, but the file associated
 ;; with the tags preceed the tag in the list.
 ;;
 ;; Basic displayors don't care, and can strip the results.
--- a/lisp/cedet/srecode/insert.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/cedet/srecode/insert.el	Sun Feb 14 21:55:14 2010 +0000
@@ -190,7 +190,7 @@
 
 ;;; TEMPLATE ARGUMENTS
 ;;
-;; Some templates have arguments.  Each argument is assocaited with
+;; Some templates have arguments.  Each argument is associated with
 ;; a function that can resolve the inputs needed.
 (defun srecode-resolve-arguments (temp dict)
   "Resolve all the arguments needed by the template TEMP.
--- a/lisp/emacs-lisp/elint.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/emacs-lisp/elint.el	Sun Feb 14 21:55:14 2010 +0000
@@ -147,7 +147,7 @@
   "Those built-ins for which we can't find arguments, if any.")
 
 (defvar elint-extra-errors '(file-locked file-supersession ftp-error)
-  "Errors without error-message or error-confitions properties.")
+  "Errors without `error-message' or `error-conditions' properties.")
 
 (defconst elint-preloaded-skip-re
   (regexp-opt '("loaddefs.el" "loadup.el" "cus-start" "language/"
@@ -289,7 +289,7 @@
 ;;;###autoload
 (defun elint-current-buffer ()
   "Lint the current buffer.
-If necessary, this first calls `elint-initalize'."
+If necessary, this first calls `elint-initialize'."
   (interactive)
   (or elint-builtin-variables
       (elint-initialize))
@@ -308,7 +308,7 @@
 ;;;###autoload
 (defun elint-defun ()
   "Lint the function at point.
-If necessary, this first calls `elint-initalize'."
+If necessary, this first calls `elint-initialize'."
   (interactive)
   (or elint-builtin-variables
       (elint-initialize))
@@ -325,7 +325,7 @@
 ;;;
 
 (defvar elint-buffer-env nil
-  "The environment of a elisp buffer.
+  "The environment of an elisp buffer.
 Will be local in linted buffers.")
 
 (defvar elint-buffer-forms nil
@@ -528,7 +528,7 @@
   "The currently linted top form, or nil.")
 
 (defvar elint-top-form-logged nil
-  "T if the currently linted top form has been mentioned in the log buffer.")
+  "The value t if the currently linted top form has been mentioned in the log buffer.")
 
 (defun elint-top-form (form)
   "Lint a top FORM."
@@ -640,7 +640,7 @@
   "Name of a temporarily bound symbol.")
 
 (defun elint-unbound-variable (var env)
-  "T if VAR is unbound in ENV."
+  "Return t if VAR is unbound in ENV."
   ;; #1063 suggests adding (symbol-file var) here, but I don't think
   ;; this is right, because it depends on what files you happen to have
   ;; loaded at the time, which might not be the same when the code runs.
--- a/lisp/ffap.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/ffap.el	Sun Feb 14 21:55:14 2010 +0000
@@ -1796,7 +1796,8 @@
 
 ;;;###autoload
 (defun dired-at-point (&optional filename)
-  "Start Dired, defaulting to file at point.  See `ffap'."
+  "Start Dired, defaulting to file at point.  See `ffap'.
+If `dired-at-point-require-prefix' is set, the prefix meaning is reversed."
   (interactive)
   (if (and (called-interactively-p 'interactive)
 	   (if dired-at-point-require-prefix
--- a/lisp/files.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/files.el	Sun Feb 14 21:55:14 2010 +0000
@@ -5699,6 +5699,11 @@
 				 (shell-quote-wildcard-pattern pattern))))
 		    ;; SunOS 4.1.3, SVr4 and others need the "." to list the
 		    ;; directory if FILE is a symbolic link.
+ 		    (unless full-directory-p
+ 		      (setq switches
+ 			    (if (stringp switches)
+ 				(concat switches " -d")
+ 			      (add-to-list 'switches "-d" 'append))))
 		    (apply 'call-process
 			   insert-directory-program nil t nil
 			   (append
--- a/lisp/man.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/man.el	Sun Feb 14 21:55:14 2010 +0000
@@ -1087,6 +1087,11 @@
     (while (re-search-forward "[-|]\\(\b[-|]\\)+" nil t)
       (replace-match "+")
       (put-text-property (1- (point)) (point) 'face 'bold))
+    ;; When the header is longer than the manpage name, groff tries to
+    ;; condense it to a shorter line interspered with ^H.  Remove ^H with
+    ;; their preceding chars (but don't put Man-overstrike-face).  (Bug#5566)
+    (goto-char (point-min))
+    (while (re-search-forward ".\b" nil t) (backward-delete-char 2))
     (goto-char (point-min))
     ;; Try to recognize common forms of cross references.
     (Man-highlight-references)
@@ -1174,6 +1179,11 @@
 	))
   (goto-char (point-min))
   (while (re-search-forward "[-|]\\(\b[-|]\\)+" nil t) (replace-match "+"))
+  ;; When the header is longer than the manpage name, groff tries to
+  ;; condense it to a shorter line interspered with ^H.  Remove ^H with
+  ;; their preceding chars (but don't put Man-overstrike-face).  (Bug#5566)
+  (goto-char (point-min))
+  (while (re-search-forward ".\b" nil t) (backward-delete-char 2))
   (Man-softhyphen-to-minus)
   (message "%s man page cleaned up" Man-arguments))
 
--- a/lisp/net/ange-ftp.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/net/ange-ftp.el	Sun Feb 14 21:55:14 2010 +0000
@@ -4517,44 +4517,54 @@
     ;; because some FTP servers react to "ls foo" by listing the symlink foo
     ;; rather than the directory it points to.  Now that ange-ftp-ls uses
     ;; "cd foo; ls" instead, this is not necesssary any more.
-    (insert
-     (cond
-      (wildcard
-       (let ((default-directory (file-name-directory file)))
-         (ange-ftp-ls (file-name-nondirectory file) switches nil nil t)))
-      (full
-       (ange-ftp-ls file switches 'parse))
-      (t
-       ;; If `full' is nil we're going to do `ls' for a single file.
-       ;; Problem is that for various reasons, ange-ftp-ls needs to cd and
-       ;; then do an ls of current dir, which obviously won't work if we
-       ;; want to ls a file.  So instead, we get a full listing of the
-       ;; parent directory and extract the line corresponding to `file'.
-       (when (string-match "-?d\\'" switches)
-         ;; Remove "d" which dired added to `switches'.
-         (setq switches (substring switches 0 (match-beginning 0))))
-       (setq file (directory-file-name file))
-       (let* ((dirlist (ange-ftp-ls (or (file-name-directory file) ".")
-                                    switches 'parse))
-              (filename (file-name-nondirectory file))
-              (case-fold-search nil))
-         ;; FIXME: This presumes a particular output format, which is
-         ;; basically Unix.
-         (if (string-match (concat "^.+[^ ] " (regexp-quote filename)
-                                   "\\( -> .*\\)?[@/*=]?\n") dirlist)
-             (match-string 0 dirlist)
-           "")))))
-
-    ;; The inserted file could be from somewhere else.
-    (when (and (not wildcard) (not full)
-	       (search-backward
-		(if (zerop (length (file-name-nondirectory
-				    (expand-file-name file))))
-		    "."
-		  (file-name-nondirectory file))
-		nil 'noerror))
-      (replace-match (file-relative-name (expand-file-name file)) t)
-      (goto-char (point-max)))))
+    (let ((beg (point))
+	  (end (point-marker)))
+      (set-marker-insertion-type end t)
+      (insert
+       (cond
+	(wildcard
+	 (let ((default-directory (file-name-directory file)))
+	   (ange-ftp-ls (file-name-nondirectory file) switches nil nil t)))
+	(full
+	 (ange-ftp-ls file switches 'parse))
+	(t
+	 ;; If `full' is nil we're going to do `ls' for a single file.
+	 ;; Problem is that for various reasons, ange-ftp-ls needs to cd and
+	 ;; then do an ls of current dir, which obviously won't work if we
+	 ;; want to ls a file.  So instead, we get a full listing of the
+	 ;; parent directory and extract the line corresponding to `file'.
+	 (when (string-match "-?d\\'" switches)
+	   ;; Remove "d" which dired added to `switches'.
+	   (setq switches (substring switches 0 (match-beginning 0))))
+	 (setq file (directory-file-name file))
+	 (let* ((dirlist (ange-ftp-ls (or (file-name-directory file) ".")
+				      switches 'parse))
+		(filename (file-name-nondirectory file))
+		(case-fold-search nil))
+	   ;; FIXME: This presumes a particular output format, which is
+	   ;; basically Unix.
+	   (if (string-match (concat "^.+[^ ] " (regexp-quote filename)
+				     "\\( -> .*\\)?[@/*=]?\n") dirlist)
+	       (match-string 0 dirlist)
+	     "")))))
+
+      ;; Insert "  " for dired's alignment sanity.
+      (goto-char beg)
+      (while (re-search-forward "^\\(\\S-\\)" end 'move)
+	(replace-match "  \\1"))
+
+      ;; The inserted file could be from somewhere else.
+      (when (and (not wildcard) (not full)
+		 (search-backward
+		  (if (zerop (length (file-name-nondirectory
+				      (expand-file-name file))))
+		      "."
+		    (file-name-nondirectory file))
+		  nil 'noerror))
+	(replace-match (file-relative-name (expand-file-name file)) t)
+	(goto-char end))
+
+      (set-marker end nil))))
 
 (defun ange-ftp-dired-uncache (dir)
   (if (ange-ftp-ftp-name (expand-file-name dir))
--- a/lisp/org/ChangeLog	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/org/ChangeLog	Sun Feb 14 21:55:14 2010 +0000
@@ -748,7 +748,7 @@
 	next clock in, the user will be prompted to see if they want to
 	back-date their new clock to then.
 	(org-clock-resolve): Do not jump the user to the location of a
-	dangling clock if the resolution is occuring due to an idle
+	dangling clock if the resolution is occurring due to an idle
 	timeout.  In that case there is typically only one dangling clock,
 	the active one, and there is no value gained by shuffling their
 	windows around to show it to them.  Being prompted to resolve an
--- a/lisp/outline.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/outline.el	Sun Feb 14 21:55:14 2010 +0000
@@ -595,7 +595,7 @@
 ALIST defaults to `outline-heading-alist'.
 Similar to (car (rassoc LEVEL ALIST)).
 If there are several different entries with same new level, choose
-the one with the smallest distance to the assocation of HEAD in the alist.
+the one with the smallest distance to the association of HEAD in the alist.
 This makes it possible for promotion to work in modes with several
 independent sets of headings (numbered, unnumbered, appendix...)"
   (unless alist (setq alist outline-heading-alist))
--- a/lisp/simple.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/simple.el	Sun Feb 14 21:55:14 2010 +0000
@@ -4854,7 +4854,18 @@
 		       (forward-line arg))))
 		  arg))
 
+;; FIXME seems to leave point BEFORE the current object when ARG = 0,
+;; which seems inconsistent with the ARG /= 0 case.
+;; FIXME document SPECIAL.
 (defun transpose-subr (mover arg &optional special)
+  "Subroutine to do the work of transposing objects.
+Works for lines, sentences, paragraphs, etc.  MOVER is a function that
+moves forward by units of the given object (e.g. forward-sentence,
+forward-paragraph).  If ARG is zero, exchanges the current object
+with the one containing mark.  If ARG is an integer, moves the
+current object past ARG following (if ARG is positive) or
+preceding (if ARG is negative) objects, leaving point after the
+current object."
   (let ((aux (if special mover
 	       (lambda (x)
 		 (cons (progn (funcall mover x) (point))
@@ -6541,7 +6552,7 @@
 a hook, with a buffer-local and a global part.  But it can also be an
 arbitrary expression.
 ARGS is a list of variables which will be passed as additional arguments
-to each function, after the inital argument, and which the first argument
+to each function, after the initial argument, and which the first argument
 expects to receive when called."
   (declare (indent 2) (debug t))
   ;; We need those two gensyms because CL's lexical scoping is not available
--- a/lisp/textmodes/paragraphs.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/textmodes/paragraphs.el	Sun Feb 14 21:55:14 2010 +0000
@@ -1,7 +1,8 @@
 ;;; paragraphs.el --- paragraph and sentence parsing
 
 ;; Copyright (C) 1985, 1986, 1987, 1991, 1994, 1995, 1996, 1997, 1999, 2000,
-;;   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;;   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: wp
@@ -409,7 +410,12 @@
   (kill-region (point) (progn (backward-paragraph arg) (point))))
 
 (defun transpose-paragraphs (arg)
-  "Interchange this (or next) paragraph with previous one."
+  "Interchange the current paragraph with the next one.
+With prefix argument ARG a non-zero integer, moves the current
+paragraph past ARG paragraphs, leaving point after the current paragraph.
+If ARG is positive, moves the current paragraph forwards, if
+ARG is negative moves it backwards.  If ARG is zero, exchanges
+the current paragraph with the one containing the mark."
   (interactive "*p")
   (transpose-subr 'forward-paragraph arg))
 
@@ -509,7 +515,12 @@
    nil t))
 
 (defun transpose-sentences (arg)
-  "Interchange this (next) and previous sentence."
+  "Interchange the current sentence with the next one.
+With prefix argument ARG a non-zero integer, moves the current
+sentence past ARG sentences, leaving point after the current sentence.
+If ARG is positive, moves the current sentence forwards, if
+ARG is negative moves it backwards.  If ARG is zero, exchanges
+the current sentence with the one containing the mark."
   (interactive "*p")
   (transpose-subr 'forward-sentence arg))
 
--- a/lisp/textmodes/reftex-toc.el	Thu Feb 11 21:54:28 2010 +0000
+++ b/lisp/textmodes/reftex-toc.el	Sun Feb 14 21:55:14 2010 +0000
@@ -723,8 +723,8 @@
 (defun reftex-toc-newhead-from-alist (nlevel head alist)
   "Get new heading with level NLEVEL from ALIST.
 If there are no such entries, return nil.
-If there are several different entries with same new level, choose
-the one with the smallest distance to the assocation of HEAD in the alist.
+If there are several different entries with same new level, choose the
+one with the smallest distance to the association of HEAD in the alist.
 This makes it possible for promotion to work several sets of headings,
 if these sets are sorted blocks in the alist."
   (let* ((al alist)
--- a/src/ChangeLog	Thu Feb 11 21:54:28 2010 +0000
+++ b/src/ChangeLog	Sun Feb 14 21:55:14 2010 +0000
@@ -1,3 +1,10 @@
+2010-02-13  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* xterm.c (x_clear_frame_area): Call gtk_widget_queue_draw if USE_GTK,
+	bug #5571.
+	(XTflash): Use Gdk-routines if USE_GTK so scroll bars doesn't get
+	overdrawn.
+
 2010-02-10  Jan Djärv  <jan.h.d@swipnet.se>
 
 	* xsmfns.c (x_session_initialize): Move initialization of ice_fd and
--- a/src/ccl.c	Thu Feb 11 21:54:28 2010 +0000
+++ b/src/ccl.c	Sun Feb 14 21:55:14 2010 +0000
@@ -43,7 +43,7 @@
 /* Alist of fontname patterns vs corresponding CCL program.  */
 Lisp_Object Vfont_ccl_encoder_alist;
 
-/* This symbol is a property which assocates with ccl program vector.
+/* This symbol is a property which associates with ccl program vector.
    Ex: (get 'ccl-big5-encoder 'ccl-program) returns ccl program vector.  */
 Lisp_Object Qccl_program;
 
--- a/src/xterm.c	Thu Feb 11 21:54:28 2010 +0000
+++ b/src/xterm.c	Sun Feb 14 21:55:14 2010 +0000
@@ -3015,6 +3015,21 @@
   BLOCK_INPUT;
 
   {
+#ifdef USE_GTK
+    /* Use Gdk routines to draw.  This way, we won't draw over scroll bars
+       when the scroll bars and the edit widget share the same X window.  */
+    GdkGCValues vals;
+    vals.foreground.pixel = (FRAME_FOREGROUND_PIXEL (f)
+                             ^ FRAME_BACKGROUND_PIXEL (f));
+    vals.function = GDK_XOR;
+    GdkGC *gc = gdk_gc_new_with_values (FRAME_GTK_WIDGET (f)->window,
+                                        &vals,
+                                        GDK_GC_FUNCTION
+                                        | GDK_GC_FOREGROUND);
+#define XFillRectangle(d, win, gc, x, y, w, h) \
+    gdk_draw_rectangle (FRAME_GTK_WIDGET (f)->window, \
+                        gc, TRUE, x, y, w, h)
+#else
     GC gc;
 
     /* Create a GC that will use the GXxor function to flip foreground
@@ -3029,7 +3044,7 @@
       gc = XCreateGC (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
 		      GCFunction | GCForeground, &values);
     }
-
+#endif
     {
       /* Get the height not including a menu bar widget.  */
       int height = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, FRAME_LINES (f));
@@ -3072,6 +3087,7 @@
 			  (height - flash_height
 			   - FRAME_INTERNAL_BORDER_WIDTH (f)),
 			  width, flash_height);
+
 	}
       else
 	/* If it is short, flash it all.  */
@@ -3133,7 +3149,12 @@
 			flash_left, FRAME_INTERNAL_BORDER_WIDTH (f),
 			width, height - 2 * FRAME_INTERNAL_BORDER_WIDTH (f));
 
+#ifdef USE_GTK
+      g_object_unref (G_OBJECT (gc));
+#undef XFillRectangle
+#else
       XFreeGC (FRAME_X_DISPLAY (f), gc);
+#endif
       x_flush (f);
     }
   }
@@ -7446,6 +7467,11 @@
 {
   x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
 		x, y, width, height, False);
+#ifdef USE_GTK
+  /* Must queue a redraw, because scroll bars might have been cleared.  */
+  if (FRAME_GTK_WIDGET (f))
+    gtk_widget_queue_draw (FRAME_GTK_WIDGET (f));
+#endif
 }