changeset 106929:66202b6a2be3

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Tue, 12 Jan 2010 21:54:22 +0000
parents ab59a02f9f9a (current diff) 8f9c3a09d55a (diff)
children a30f962075db
files
diffstat 27 files changed, 242 insertions(+), 86 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Jan 11 22:07:25 2010 +0000
+++ b/ChangeLog	Tue Jan 12 21:54:22 2010 +0000
@@ -1,3 +1,12 @@
+2010-01-12  Chong Yidong  <cyd@stupidchicken.com>
+
+	* configure.in: Explicitly check for and link to -lXrender.
+
+2010-01-12  Glenn Morris  <rgm@gnu.org>
+
+	* INSTALL.BZR, README: Use bug-gnu-emacs rather than emacs-pretest-bug
+	for bug reports for development versions.
+
 2010-01-02  Eli Zaretskii  <eliz@gnu.org>
 
 	* .bzrignore: Add more ignored patterns, including for the MS-DOS
--- a/INSTALL.BZR	Mon Jan 11 22:07:25 2010 +0000
+++ b/INSTALL.BZR	Tue Jan 12 21:54:22 2010 +0000
@@ -1,4 +1,4 @@
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
   Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
@@ -54,9 +54,8 @@
 applicable to those systems as well.
 
 Questions, requests, and bug reports about the Bazaar versions of Emacs
-should be sent to emacs-pretest-bug@gnu.org rather than gnu.emacs.help
-or gnu.emacs.bug.  Ideally, use M-x report-emacs-bug RET which will
-send it to the proper place.
+should be sent to bug-gnu-emacs@gnu.org rather than gnu.emacs.help.
+Ideally, use M-x report-emacs-bug RET.
 
 Because the Bazaar version of Emacs is a work in progress, it will
 sometimes fail to build.  Please wait a day or so (and check the bug
--- a/README	Mon Jan 11 22:07:25 2010 +0000
+++ b/README	Tue Jan 12 21:54:22 2010 +0000
@@ -1,5 +1,5 @@
-Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-  Free Software Foundation, Inc.
+Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+  2010  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
@@ -19,10 +19,8 @@
 You may encounter bugs in this release.  If you do, please report
 them; your bug reports are valuable contributions to the FSF, since
 they allow us to notice and fix problems on machines we don't have, or
-in code we don't use often.  Please send bug reports for released
-versions of Emacs sent to the mailing list bug-gnu-emacs@gnu.org.
-Please send bug reports for pretest versions of Emacs, and versions
-from the Savannah.gnu.org repository, to emacs-pretest-bug@gnu.org.
+in code we don't use often.  Please send bug reports to the mailing
+list bug-gnu-emacs@gnu.org.  If possible, use M-x report-emacs-bug.
 
 See the "Bugs" section of the Emacs manual for more information on how
 to report bugs.  (The file `BUGS' in this directory explains how you
--- a/admin/ChangeLog	Mon Jan 11 22:07:25 2010 +0000
+++ b/admin/ChangeLog	Tue Jan 12 21:54:22 2010 +0000
@@ -1,3 +1,8 @@
+2010-01-12  Glenn Morris  <rgm@gnu.org>
+
+	* emacs-pretesters, make-announcement: Use bug-gnu-emacs rather
+	than emacs-pretest-bug for bug reports for development versions.
+
 2009-11-06  Kenichi Handa  <handa@m17n.org>
 
 	* unidata/unidata-gen.el (unidata-gen-table): Fix for the case
--- a/admin/emacs-pretesters	Mon Jan 11 22:07:25 2010 +0000
+++ b/admin/emacs-pretesters	Tue Jan 12 21:54:22 2010 +0000
@@ -89,8 +89,7 @@
 to make Emacs work on your machine.  If so, you should follow these
 recommendations also, for the same reason.
 
-* Send your problem reports to emacs-pretest-bug@gnu.org, not
-bug-gnu-emacs.
+* Send your problem reports to bug-gnu-emacs@gnu.org.
 
 Sometimes we won't know what to do about a system-dependent issue, and
 we may need people to say what happens if you try a certain thing on a
--- a/admin/make-announcement	Mon Jan 11 22:07:25 2010 +0000
+++ b/admin/make-announcement	Tue Jan 12 21:54:22 2010 +0000
@@ -1,7 +1,7 @@
 #! /bin/bash
 
-## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-##   Free Software Foundation, Inc.
+## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+##   2010  Free Software Foundation, Inc.
 
 ## Author: Francesco Potorti` <pot@gnu.org>
 
@@ -59,7 +59,7 @@
   <ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-$NEW.tar.gz>
 
 Please report results from compiling and running the pretest to
-<emacs-pretest-bug@gnu.org>.  Your feedback is necessary for us
+<bug-gnu-emacs@gnu.org>.  Your feedback is necessary for us
 to know on which platforms the pretest has been tried.
 
 If you have the tars from the previous pretest, and you have the
--- a/configure	Mon Jan 11 22:07:25 2010 +0000
+++ b/configure	Tue Jan 12 21:54:22 2010 +0000
@@ -13663,12 +13663,85 @@
      HAVE_XFT=no
   fi
 
-      if test "$HAVE_XFT" != no; then
+      ## Because xftfont.c uses XRenderQueryExtension, we also
+      ## need to link to -lXrender.
+      HAVE_XRENDER=no
+      { $as_echo "$as_me:$LINENO: checking for XRenderQueryExtension in -lXrender" >&5
+$as_echo_n "checking for XRenderQueryExtension in -lXrender... " >&6; }
+if test "${ac_cv_lib_Xrender_XRenderQueryExtension+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lXrender  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XRenderQueryExtension ();
+int
+main ()
+{
+return XRenderQueryExtension ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 $as_test_x conftest$ac_exeext
+       }; then
+  ac_cv_lib_Xrender_XRenderQueryExtension=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_lib_Xrender_XRenderQueryExtension=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xrender_XRenderQueryExtension" >&5
+$as_echo "$ac_cv_lib_Xrender_XRenderQueryExtension" >&6; }
+if test $ac_cv_lib_Xrender_XRenderQueryExtension = yes; then
+  HAVE_XRENDER=yes
+fi
+
+      if test "$HAVE_XFT" != no && test "$HAVE_XRENDER" != no; then
 	OLD_CPPFLAGS="$CPPFLAGS"
 	OLD_CFLAGS="$CFLAGS"
 	OLD_LIBS="$LIBS"
 	CPPFLAGS="$CPPFLAGS $XFT_CFLAGS"
 	CFLAGS="$CFLAGS $XFT_CFLAGS"
+	XFT_LIBS="-lXrender $XFT_LIBS"
 	LIBS="$XFT_LIBS $LIBS"
 	if test "${ac_cv_header_X11_Xft_Xft_h+set}" = set; then
   { $as_echo "$as_me:$LINENO: checking for X11/Xft/Xft.h" >&5
--- a/configure.in	Mon Jan 11 22:07:25 2010 +0000
+++ b/configure.in	Tue Jan 12 21:54:22 2010 +0000
@@ -1984,12 +1984,17 @@
     if test "x${with_xft}" != "xno"; then
 
       PKG_CHECK_MODULES(XFT, xft >= 0.13.0, , HAVE_XFT=no)
-      if test "$HAVE_XFT" != no; then
+      ## Because xftfont.c uses XRenderQueryExtension, we also
+      ## need to link to -lXrender.
+      HAVE_XRENDER=no
+      AC_CHECK_LIB(Xrender, XRenderQueryExtension, HAVE_XRENDER=yes)
+      if test "$HAVE_XFT" != no && test "$HAVE_XRENDER" != no; then
 	OLD_CPPFLAGS="$CPPFLAGS"
 	OLD_CFLAGS="$CFLAGS"
 	OLD_LIBS="$LIBS"
 	CPPFLAGS="$CPPFLAGS $XFT_CFLAGS"
 	CFLAGS="$CFLAGS $XFT_CFLAGS"
+	XFT_LIBS="-lXrender $XFT_LIBS"
 	LIBS="$XFT_LIBS $LIBS"
 	AC_CHECK_HEADER(X11/Xft/Xft.h,
 	  AC_CHECK_LIB(Xft, XftFontOpen, HAVE_XFT=yes, , $XFT_LIBS))
--- a/doc/emacs/ChangeLog	Mon Jan 11 22:07:25 2010 +0000
+++ b/doc/emacs/ChangeLog	Tue Jan 12 21:54:22 2010 +0000
@@ -1,3 +1,8 @@
+2010-01-12  Glenn Morris  <rgm@gnu.org>
+
+	* trouble.texi (Checklist): Use bug-gnu-emacs rather than
+	emacs-pretest-bug for bug reports for development versions.
+
 2010-01-11  Glenn Morris  <rgm@gnu.org>
 
 	* display.texi (Highlight Interactively): `t' does not mean highlight
--- a/doc/emacs/trouble.texi	Mon Jan 11 22:07:25 2010 +0000
+++ b/doc/emacs/trouble.texi	Tue Jan 12 21:54:22 2010 +0000
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @iftex
 @chapter Dealing with Common Problems
@@ -540,10 +541,8 @@
 
 @cindex reporting bugs
   The best way to send a bug report is to mail it electronically to the
-Emacs maintainers at @email{bug-gnu-emacs@@gnu.org}, or to
-@email{emacs-pretest-bug@@gnu.org} if you are pretesting an Emacs beta
-release.  (If you want to suggest a change as an improvement, use the
-same address.)
+Emacs maintainers at @email{bug-gnu-emacs@@gnu.org}.  (If you want to
+suggest a change as an improvement, use the same address.)
 
   If you'd like to read the bug reports, you can find them on the
 newsgroup @samp{gnu.emacs.bug}; keep in mind, however, that as a
--- a/etc/CONTRIBUTE	Mon Jan 11 22:07:25 2010 +0000
+++ b/etc/CONTRIBUTE	Tue Jan 12 21:54:22 2010 +0000
@@ -1,4 +1,4 @@
-Copyright (C) 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+Copyright (C) 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 See end for license conditions.
 
 
@@ -73,7 +73,7 @@
 can properly evaluate it.
 
 When you have all these pieces, bundle them up in a mail message and
-send it to emacs-pretest-bug@gnu.org or emacs-devel@gnu.org.
+send it to bug-gnu-emacs@gnu.org or emacs-devel@gnu.org.
 
 All subsequent discussion should also be sent to the mailing list.
 
@@ -149,9 +149,7 @@
 
 Discussion about Emacs development takes place on emacs-devel@gnu.org.
 
-Bug reports for released versions are sent to bug-gnu-emacs@gnu.org.
-
-Bug reports for development versions are sent to emacs-pretest-bug@gnu.org.
+Bug reports are sent to bug-gnu-emacs@gnu.org.
 
 You can subscribe to the mailing lists at savannah.gnu.org/projects/emacs.
 
--- a/etc/ChangeLog	Mon Jan 11 22:07:25 2010 +0000
+++ b/etc/ChangeLog	Tue Jan 12 21:54:22 2010 +0000
@@ -1,3 +1,8 @@
+2010-01-12  Glenn Morris  <rgm@gnu.org>
+
+	* CONTRIBUTE, NEWS: Use bug-gnu-emacs rather than emacs-pretest-bug
+	for bug reports for development versions.
+
 2010-01-01  Juanma Barranquero  <lekktu@gmail.com>
 
 	* NEWS: Fix typos.
--- a/etc/NEWS	Mon Jan 11 22:07:25 2010 +0000
+++ b/etc/NEWS	Tue Jan 12 21:54:22 2010 +0000
@@ -1,9 +1,9 @@
 GNU Emacs NEWS -- history of user-visible changes.
 
-Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
-Please send Emacs bug reports to emacs-pretest-bug@gnu.org.
+Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
 If possible, use M-x report-emacs-bug.
 
 This file is about changes in Emacs version 23.
--- a/lisp/ChangeLog	Mon Jan 11 22:07:25 2010 +0000
+++ b/lisp/ChangeLog	Tue Jan 12 21:54:22 2010 +0000
@@ -1,3 +1,38 @@
+2010-01-12  Glenn Morris  <rgm@gnu.org>
+
+	* mail/emacsbug.el (report-emacs-bug-pretest-address): Set
+	it to bug-gnu-emacs rather than emacs-pretest-bug.
+
+2010-01-12  Juanma Barranquero  <lekktu@gmail.com>
+
+	* cedet/data-debug.el (data-debug): Fix customization group reference.
+
+2010-01-12  Juanma Barranquero  <lekktu@gmail.com>
+
+	* cedet/semantic/analyze.el (semantic-analyze-push-error)
+	(semantic-analyze-context, semantic-analyze-context-assignment)
+	(semantic-analyze-find-tag-sequence, semantic-analyze-find-tag):
+	* cedet/semantic/java.el (java-mode, semantic-tag-include-filename)
+	(semantic-java-doc-keywords-map):
+	* cedet/semantic/bovine/c.el (c-mode, semantic-c-member-of-autocast)
+	(semantic-lex-c-nested-namespace-ignore-second, semantic-parse-region)
+	(semantic-c-parse-lexical-token, semantic-c-debug-mode-init-pch)
+	(semantic-c-classname, semantic-format-tag-uml-prototype)
+	(semantic-c-dereference-namespace, semantic-analyze-type-constants):
+	* cedet/semantic/bovine/el.el (semantic-elisp-form-to-doc-string)
+	(semantic-emacs-lisp-obsoleted-doc, semantic-up-context)
+	(semantic-get-local-variables, semantic-end-of-command)
+	(semantic-beginning-of-command, semantic-ctxt-current-class-list)
+	(lisp-mode):
+	* cedet/semantic/bovine/make.el (makefile-mode):
+	* cedet/semantic/wisent/python.el (wisent-python-string-re)
+	(wisent-python-implicit-line-joining-p, wisent-python-forward-string)
+	(wisent-python-lex-beginning-of-line, wisent-python-lex-end-of-line)
+	(semantic-lex, semantic-get-local-variables, python-mode):
+	* cedet/semantic/wisent/python-wy.el (wisent-python-wy--keyword-table):
+	* cedet/srecode/extract.el (srecode-extract-state-set)
+	(srecode-extract-method): Fix typos in docstrings.
+
 2010-01-11  Sam Steingold  <sds@gnu.org>
 
 	* imenu.el (imenu-default-create-index-function): Detect infinite
--- a/lisp/cedet/data-debug.el	Mon Jan 11 22:07:25 2010 +0000
+++ b/lisp/cedet/data-debug.el	Tue Jan 12 21:54:22 2010 +0000
@@ -842,7 +842,7 @@
 ;;
 (defgroup data-debug nil
   "data-debug group."
-  :group 'langauges)
+  :group 'languages)
 
 (defvar data-debug-mode-syntax-table
   (let ((table (make-syntax-table (standard-syntax-table))))
--- a/lisp/cedet/semantic/analyze.el	Mon Jan 11 22:07:25 2010 +0000
+++ b/lisp/cedet/semantic/analyze.el	Tue Jan 12 21:54:22 2010 +0000
@@ -41,7 +41,7 @@
 ;; tag - A single entity
 ;; prefix - The beginning of a symbol, usually used to look up something
 ;;       incomplete.
-;; type - The name of a datatype in the langauge.
+;; type - The name of a datatype in the language.
 ;; metatype - If a type is named in a declaration like:
 ;;       struct moose somevariable;
 ;;       that name "moose" can be turned into a concrete type.
@@ -83,7 +83,7 @@
 
 (defun semantic-analyze-push-error (err)
   "Push the error in ERR-DATA onto the error stack.
-Argument ERR"
+Argument ERR."
   (push err semantic-analyze-error-stack))
 
 ;;; Analysis Classes
@@ -124,7 +124,7 @@
    (errors :initarg :errors
 	   :documentation "Any errors thrown an caught during analysis.")
    )
-  "Base analysis data for a any context.")
+  "Base analysis data for any context.")
 
 (defclass semantic-analyze-context-assignment (semantic-analyze-context)
   ((assignee :initarg :assignee
@@ -132,7 +132,7 @@
 	     :documentation "A sequence of tags for an assignee.
 This is a variable into which some value is being placed.  The last
 item in the list is the variable accepting the value.  Earlier
-tags represent the variables being derefernece to get to the
+tags represent the variables being dereferenced to get to the
 assignee."))
   "Analysis class for a value in an assignment.")
 
@@ -235,7 +235,7 @@
 it is not found in the global set of tables.
 Optional argument SCOPE are additional terminals to search which are currently
 scoped.  These are not local variables, but symbols available in a structure
-which doesn't need to be dereferneced.
+which doesn't need to be dereferenced.
 Optional argument TYPERETURN is a symbol in which the types of all found
 will be stored.  If nil, that data is thrown away.
 Optional argument THROWSYM specifies a symbol the throw on non-recoverable error.")
@@ -345,8 +345,8 @@
 
 (defun semantic-analyze-find-tag (name &optional tagclass scope)
   "Return the first tag found with NAME or nil if not found.
-Optional argument TAGCLASS specifies the class of tag to return, such
-as 'function or 'variable.
+Optional argument TAGCLASS specifies the class of tag to return,
+such as 'function or 'variable.
 Optional argument SCOPE specifies a scope object which has
 additional tags which are in SCOPE and do not need prefixing to
 find.
--- a/lisp/cedet/semantic/bovine/c.el	Mon Jan 11 22:07:25 2010 +0000
+++ b/lisp/cedet/semantic/bovine/c.el	Tue Jan 12 21:54:22 2010 +0000
@@ -74,7 +74,7 @@
 (defcustom-mode-local-semantic-dependency-system-include-path
   c-mode semantic-c-dependency-system-include-path
   '("/usr/include")
-  "The system include path used by the C langauge.")
+  "The system include path used by the C language.")
 
 (defcustom semantic-default-c-path nil
   "Default set of include paths for C code.
@@ -207,7 +207,7 @@
   )
 
 (defcustom semantic-c-member-of-autocast 't
-  "Non-nil means classes with a '->' operator will cast to it's return type.
+  "Non-nil means classes with a '->' operator will cast to its return type.
 
 For Examples:
 
@@ -444,7 +444,7 @@
 the second namespace in use, then it should not be included.
 
 If you are having problems with smart completion and STL templates,
-it may that this is set incorrectly.  After changing the value
+it may be that this is set incorrectly.  After changing the value
 of this flag, you will need to delete any semanticdb cache files
 that may have been incorrectly parsed."
   :group 'semantic
@@ -620,7 +620,7 @@
 
 (define-mode-local-override semantic-parse-region c-mode
   (start end &optional nonterminal depth returnonerror)
-  "Calls 'semantic-parse-region-default', except in a macro expansion.
+  "Calls `semantic-parse-region-default', except in a macro expansion.
 MACRO expansion mode is handled through the nature of Emacs's non-lexical
 binding of variables.
 START, END, NONTERMINAL, DEPTH, and RETURNONERRORS are the same
@@ -713,7 +713,7 @@
 	      (funcall mode)
 	    (error
 	     (if (y-or-n-p
-		  (format "There was an error initializing %s in buffer \"%s\". Debug your hooks? "
+		  (format "There was an error initializing %s in buffer \"%s\".  Debug your hooks? "
 			  mode (buffer-name)))
 		 (semantic-c-debug-mode-init mode)
 	       (message "Macro parsing state may be broken...")
@@ -781,9 +781,9 @@
     (switch-to-buffer-other-window
      (get-buffer-create "*MODE HACK TEST*"))
     (erase-buffer)
-    (insert "A failure occured while parsing your buffers.
+    (insert "A failure occurred while parsing your buffers.
 
-The failure occured while attempting to initialize " (symbol-name mm) " in a
+The failure occurred while attempting to initialize " (symbol-name mm) " in a
 buffer not associated with a file.  To debug this problem, type
 
 M-x semantic-c-debug-mode-init
@@ -967,7 +967,7 @@
   "At parse time, assign a class or struct name text here.
 It is picked up by `semantic-c-reconstitute-token' to determine
 if something is a constructor.  Value should be:
-  ( TYPENAME .  TYPEOFTYPE)
+  (TYPENAME .  TYPEOFTYPE)
 where typename is the name of the type, and typeoftype is \"class\"
 or \"struct\".")
 
@@ -1258,7 +1258,7 @@
 
 (define-mode-local-override semantic-format-tag-uml-prototype
   c-mode (token &optional parent color)
-  "Return an uml string describing TOKEN for C and C++.
+  "Return an UML string describing TOKEN for C and C++.
 Optional PARENT and COLOR as specified with
 `semantic-abbreviate-tag-default'."
   ;; If we have special template things, append.
@@ -1381,7 +1381,7 @@
 (defun semantic-c-dereference-namespace (type scope &optional type-declaration)
   "Dereference namespace which might hold an 'alias' for TYPE.
 Such an alias can be created through 'using' statements in a
-namespace declaration. This function checks the namespaces in
+namespace declaration.  This function checks the namespaces in
 SCOPE for such statements."
   (let ((scopetypes (oref scope scopetypes))
 	typename currentns tmp usingname result namespaces)
@@ -1518,7 +1518,7 @@
     (list type type-declaration))
 
 (define-mode-local-override semantic-analyze-type-constants c-mode (type)
-  "When TYPE is a tag for an enum, return it's parts.
+  "When TYPE is a tag for an enum, return its parts.
 These are constants which are of type TYPE."
   (if (and (eq (semantic-tag-class type) 'type)
 	   (string= (semantic-tag-type type) "enum"))
@@ -1618,7 +1618,7 @@
       (semantic-idle-summary-current-symbol-info-default))))
 
 (defvar-mode-local c-mode semantic-orphaned-member-metaparent-type "struct"
-  "When lost memberes are found in the class hierarchy generator, use a struct.")
+  "When lost members are found in the class hierarchy generator, use a struct.")
 
 (defvar-mode-local c-mode semantic-symbol->name-assoc-list
   '((type     . "Types")
@@ -1644,7 +1644,7 @@
   "Separator characters between something of a given type, and a field.")
 
 (defvar-mode-local c-mode semantic-command-separation-character ";"
-  "Commen separation character for C")
+  "Command separation character for C.")
 
 (defvar-mode-local c-mode senator-step-at-tag-classes '(function variable)
   "Tag classes where senator will stop at the end.")
--- a/lisp/cedet/semantic/bovine/el.el	Mon Jan 11 22:07:25 2010 +0000
+++ b/lisp/cedet/semantic/bovine/el.el	Tue Jan 12 21:54:22 2010 +0000
@@ -139,7 +139,7 @@
     (nreverse vars)))
 
 (defun semantic-elisp-form-to-doc-string (form)
-  "After reading a form FORM, covert it to a doc string.
+  "After reading a form FORM, convert it to a doc string.
 For Emacs Lisp, sometimes that string is non-existent.
 Sometimes it is a form which is evaluated at compile time, permitting
 compound strings."
@@ -494,7 +494,7 @@
     ""))
 
 (defun semantic-emacs-lisp-obsoleted-doc (tag)
-  "Indicate that TAG is a new name that has obsoleted  some old name.
+  "Indicate that TAG is a new name that has obsoleted some old name.
 Unfortunately, this requires that the tag in question has been loaded
 into Emacs Lisp's memory."
   (let ((obsoletethis (intern-soft (semantic-tag-name tag)))
@@ -600,7 +600,7 @@
 (define-mode-local-override semantic-up-context emacs-lisp-mode
   (&optional point bounds-type)
   "Move up one context in an Emacs Lisp function.
-A Context in many languages is a block with it's own local variables.
+A Context in many languages is a block with its own local variables.
 In Emacs, we will move up lists and stop when one starts with one of
 the following context specifiers:
   `let', `let*', `defun', `with-slots'
@@ -664,7 +664,7 @@
 (define-mode-local-override semantic-get-local-variables emacs-lisp-mode
   (&optional point)
   "Return a list of local variables for POINT.
-Scan backwards from point at each successive function.  For all occurances
+Scan backwards from point at each successive function.  For all occurrences
 of `let' or `let*', grab those variable names."
   (let* ((vars nil)
 	 (fn nil))
@@ -723,7 +723,7 @@
 (define-mode-local-override semantic-end-of-command emacs-lisp-mode
   ()
   "Move cursor to the end of the current command.
-In emacs lisp this is easilly defined by parenthisis bounding."
+In Emacs Lisp this is easily defined by parenthesis bounding."
   (condition-case nil
       (up-list 1)
     (error nil)))
@@ -731,7 +731,7 @@
 (define-mode-local-override semantic-beginning-of-command emacs-lisp-mode
   ()
   "Move cursor to the beginning of the current command.
-In emacs lisp this is easilly defined by parenthisis bounding."
+In Emacs Lisp this is easily defined by parenthesis bounding."
   (condition-case nil
       (progn
         (up-list -1)
@@ -824,8 +824,8 @@
   (&optional point)
   "Return a list of tag classes allowed at POINT.
 Emacs Lisp knows much more about the class of the tag needed to perform
-completion than some langauges.  We distincly know if we are to be
-a function name, variable name, or any type of symbol.  We could identify
+completion than some languages.  We distincly know if we are to be a
+function name, variable name, or any type of symbol.  We could identify
 fields and such to, but that is for some other day."
   (save-excursion
     (if point (goto-char point))
@@ -939,7 +939,7 @@
 ELisp variables can be pretty long, so track this one too.")
 
 (define-child-mode lisp-mode emacs-lisp-mode
-  "Make `lisp-mode' inherits mode local behavior from `emacs-lisp-mode'.")
+  "Make `lisp-mode' inherit mode local behavior from `emacs-lisp-mode'.")
 
 (defun semantic-default-elisp-setup ()
   "Setup hook function for Emacs Lisp files and Semantic."
--- a/lisp/cedet/semantic/bovine/make.el	Mon Jan 11 22:07:25 2010 +0000
+++ b/lisp/cedet/semantic/bovine/make.el	Tue Jan 12 21:54:22 2010 +0000
@@ -204,7 +204,7 @@
 (defcustom-mode-local-semantic-dependency-system-include-path
   makefile-mode semantic-makefile-dependency-system-include-path
   nil
-  "The system include path used by Makefiles langauge.")
+  "The system include path used by Makefiles language.")
 
 ;;;###autoload
 (defun semantic-default-make-setup ()
--- a/lisp/cedet/semantic/java.el	Mon Jan 11 22:07:25 2010 +0000
+++ b/lisp/cedet/semantic/java.el	Tue Jan 12 21:54:22 2010 +0000
@@ -149,7 +149,7 @@
   java-mode semantic-java-dependency-system-include-path
   ;; @todo - Use JDEE to get at the include path, or something else?
   nil
-  "The system include path used by Java langauge.")
+  "The system include path used by Java language.")
 
 ;; Local context
 ;;
@@ -239,7 +239,7 @@
 
 ;; Thanks Bruce Stephens
 (define-mode-local-override semantic-tag-include-filename java-mode (tag)
-  "Return a suitable path for (some) Java imports"
+  "Return a suitable path for (some) Java imports."
   (let ((name (semantic-tag-name tag)))
     (concat (mapconcat 'identity (split-string name "\\.") "/") ".java")))
 
@@ -371,9 +371,9 @@
 (defun semantic-java-doc-keywords-map (fun &optional property)
   "Run function FUN for each javadoc keyword.
 Return the list of FUN results.  If optional PROPERTY is non nil only
-call FUN for javadoc keyword which have a value for PROPERTY.  FUN
+call FUN for javadoc keywords which have a value for PROPERTY.  FUN
 receives two arguments: the javadoc keyword and its associated
-'javadoc property list.  It can return any value.  Nil values are
+'javadoc property list.  It can return any value.  All nil values are
 removed from the result list."
   (delq nil
         (mapcar
--- a/lisp/cedet/semantic/wisent/python-wy.el	Mon Jan 11 22:07:25 2010 +0000
+++ b/lisp/cedet/semantic/wisent/python-wy.el	Tue Jan 12 21:54:22 2010 +0000
@@ -79,16 +79,16 @@
      ("global" summary "Declare one or more symbols as global symbols")
      ("from" summary "Modify behavior of 'import' statement")
      ("for" summary "Start a 'for' loop")
-     ("finally" summary "Specify code to be executed after 'try' statements whether or not an exception occured")
-     ("exec" summary "Dynamically execute python code")
+     ("finally" summary "Specify code to be executed after 'try' statements whether or not an exception occurred")
+     ("exec" summary "Dynamically execute Python code")
      ("except" summary "Specify exception handlers along with 'try' keyword")
      ("else" summary "Start the 'else' clause following an 'if' statement")
      ("elif" summary "Shorthand for 'else if' following an 'if' statement")
      ("del" summary "Delete specified objects, i.e., undo what assignment did")
      ("def" summary "Define a new function")
-     ("continue" summary "Skip to the next interation of enclosing for or whilte loop")
+     ("continue" summary "Skip to the next interation of enclosing 'for' or 'while' loop")
      ("class" summary "Define a new class")
-     ("break" summary "Terminate 'for' or 'while loop")
+     ("break" summary "Terminate 'for' or 'while' loop")
      ("assert" summary "Raise AssertionError exception if <expr> is false")
      ("and" summary "Logical AND binary operator ... ")))
   "Table of language keywords.")
--- a/lisp/cedet/semantic/wisent/python.el	Mon Jan 11 22:07:25 2010 +0000
+++ b/lisp/cedet/semantic/wisent/python.el	Tue Jan 12 21:54:22 2010 +0000
@@ -48,19 +48,19 @@
 (defconst wisent-python-string-re
   (concat (regexp-opt '("r" "u" "ur" "R" "U" "UR" "Ur" "uR") t)
           "?['\"]")
-  "Regexp matching beginning of a python string.")
+  "Regexp matching beginning of a Python string.")
 
 (defvar wisent-python-EXPANDING-block nil
   "Non-nil when expanding a paren block for Python lexical analyzer.")
 
 (defun wisent-python-implicit-line-joining-p ()
   "Return non-nil if implicit line joining is active.
-That is, if inside an expressions in parentheses, square brackets or
+That is, if inside an expression in parentheses, square brackets or
 curly braces."
   wisent-python-EXPANDING-block)
 
 (defsubst wisent-python-forward-string ()
-  "Move point at the end of the python string at point."
+  "Move point at the end of the Python string at point."
   (when (looking-at wisent-python-string-re)
      ;; skip the prefix
     (and (match-end 1) (goto-char (match-end 1)))
@@ -145,7 +145,7 @@
 (defvar wisent-python-indent-stack)
 
 (define-lex-analyzer wisent-python-lex-beginning-of-line
-  "Detect and create python indentation tokens at beginning of line."
+  "Detect and create Python indentation tokens at beginning of line."
   (and
    (bolp) (not (wisent-python-implicit-line-joining-p))
    (let ((last-indent (car wisent-python-indent-stack))
@@ -201,7 +201,7 @@
   )
 
 (define-lex-regex-analyzer wisent-python-lex-end-of-line
-  "Detect and create python newline tokens.
+  "Detect and create Python newline tokens.
 Just skip the newline character if the following line is an implicit
 continuation of current line."
   "\\(\n\\|\\s>\\)"
@@ -256,11 +256,11 @@
 ;;
 (define-mode-local-override semantic-lex python-mode
   (start end &optional depth length)
-  "Lexically analyze python code in current buffer.
+  "Lexically analyze Python code in current buffer.
 See the function `semantic-lex' for the meaning of the START, END,
 DEPTH and LENGTH arguments.
 This function calls `wisent-python-lexer' to actually perform the
-lexical analysis, then emits the necessary python DEDENT tokens from
+lexical analysis, then emits the necessary Python DEDENT tokens from
 what remains in the `wisent-python-indent-stack'."
   (let* ((wisent-python-indent-stack (list 0))
          (stream (wisent-python-lexer start end depth length))
@@ -272,13 +272,13 @@
 
 (define-mode-local-override semantic-get-local-variables python-mode ()
   "Get the local variables based on point's context.
-To be implemented for python!  For now just return nil."
+To be implemented for Python!  For now just return nil."
   nil)
 
 (defcustom-mode-local-semantic-dependency-system-include-path
   python-mode semantic-python-dependency-system-include-path
   nil
-  "The system include path used by Python langauge.")
+  "The system include path used by Python language.")
 
 ;;; Enable Semantic in `python-mode'.
 ;;
--- a/lisp/cedet/srecode/extract.el	Mon Jan 11 22:07:25 2010 +0000
+++ b/lisp/cedet/srecode/extract.el	Tue Jan 12 21:54:22 2010 +0000
@@ -56,7 +56,7 @@
   "The current extraction state.")
 
 (defmethod srecode-extract-state-set ((st srecode-extract-state) ins dict)
-  "Set onto the extract state ST a new inserter INS and dictinary DICT."
+  "Set onto the extract state ST a new inserter INS and dictionary DICT."
   (oset st lastinserter ins)
   (oset st lastdict dict))
 
@@ -98,7 +98,7 @@
 				   state)
   "Extract template ST and store extracted text in DICTIONARY.
 Optional STARTRETURN is a symbol in which the start of the first
-plain-text match occured."
+plain-text match occurred."
   (srecode-extract-code-stream (oref st code) dictionary state))
 
 (defun srecode-extract-code-stream (code dictionary state)
--- a/lisp/mail/emacsbug.el	Mon Jan 11 22:07:25 2010 +0000
+++ b/lisp/mail/emacsbug.el	Tue Jan 12 21:54:22 2010 +0000
@@ -1,7 +1,8 @@
 ;;; emacsbug.el --- command to report Emacs bugs to appropriate mailing list
 
 ;; Copyright (C) 1985, 1994, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+;;   2005, 2006, 2007, 2008, 2009, 2010
+;;   Free Software Foundation, Inc.
 
 ;; Author: K. Shane Hartman
 ;; Maintainer: FSF
@@ -41,10 +42,11 @@
   :group 'emacsbug
   :type 'string)
 
-(defcustom report-emacs-bug-pretest-address "emacs-pretest-bug@gnu.org"
+(defcustom report-emacs-bug-pretest-address "bug-gnu-emacs@gnu.org"
   "Address of mailing list for GNU Emacs pretest bugs."
   :group 'emacsbug
-  :type 'string)
+  :type 'string
+  :version "23.2")                ; emacs-pretest-bug -> bug-gnu-emacs
 
 (defcustom report-emacs-bug-no-confirmation nil
   "If non-nil, suppress the confirmations asked for the sake of novice users."
--- a/src/ChangeLog	Mon Jan 11 22:07:25 2010 +0000
+++ b/src/ChangeLog	Tue Jan 12 21:54:22 2010 +0000
@@ -1,3 +1,17 @@
+2010-01-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* keyboard.c (read_char): Don't apply previous change when current
+	buffer is unchanged by command execution.
+
+2010-01-12  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* keyboard.c (read_char): Return after executing from special map.
+
+2010-01-12  Glenn Morris  <rgm@gnu.org>
+
+	* emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to
+	bug-gnu-emacs rather than emacs-pretest-bug.
+
 2010-01-11  Chong Yidong  <cyd@stupidchicken.com>
 
 	* nsterm.m (syms_of_nsterm): Initialize Qcontrol etc. before
--- a/src/emacs.c	Mon Jan 11 22:07:25 2010 +0000
+++ b/src/emacs.c	Tue Jan 12 21:54:22 2010 +0000
@@ -1,7 +1,7 @@
 /* Fully extensible Emacs, running on Unix, intended for GNU.
    Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1998, 1999,
-                 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-                 Free Software Foundation, Inc.
+                 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+                 2010  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -747,7 +747,7 @@
 
 
 #define REPORT_EMACS_BUG_ADDRESS "bug-gnu-emacs@gnu.org"
-#define REPORT_EMACS_BUG_PRETEST_ADDRESS "emacs-pretest-bug@gnu.org"
+#define REPORT_EMACS_BUG_PRETEST_ADDRESS "bug-gnu-emacs@gnu.org"
 
 /* This function is used to determine an address to which bug report should
    be sent.  */
--- a/src/keyboard.c	Mon Jan 11 22:07:25 2010 +0000
+++ b/src/keyboard.c	Tue Jan 12 21:54:22 2010 +0000
@@ -3155,6 +3155,7 @@
 
   if (!NILP (tem))
     {
+      struct buffer *prev_buffer = current_buffer;
 #if 0 /* This shouldn't be necessary anymore. --lorentey  */
       int was_locked = single_kboard;
       int count = SPECPDL_INDEX ();
@@ -3178,7 +3179,16 @@
       unbind_to (count, Qnil);
 #endif
 
-      goto retry;
+      if (current_buffer != prev_buffer)
+	{
+	  /* The command may have changed the keymaps.  Pretend there
+	     is input in another keyboard and return.  This will
+	     recalculate keymaps.  */
+	  c = make_number (-2);
+	  goto exit;
+	}
+      else
+	goto retry;
     }
 
   /* Handle things that only apply to characters.  */