changeset 108400:f1cb61394e72

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Mon, 18 Jan 2010 14:40:12 +0000
parents eb2ca69029d2 (current diff) 86d456f300a8 (diff)
children 46c08e6b42d6
files
diffstat 36 files changed, 437 insertions(+), 228 deletions(-) [+]
line wrap: on
line diff
--- a/doc/lispref/ChangeLog	Sun Jan 17 12:46:11 2010 +0000
+++ b/doc/lispref/ChangeLog	Mon Jan 18 14:40:12 2010 +0000
@@ -1,3 +1,7 @@
+2010-01-17  Chong Yidong  <cyd@stupidchicken.com>
+
+	* elisp.texi: Remove duplicate edition information (Bug#5407).
+
 2010-01-17  Juanma Barranquero  <lekktu@gmail.com>
 
 	* two.el (volume-header-toc-markup): Fix typos in docstring.
--- a/doc/lispref/elisp.texi	Sun Jan 17 12:46:11 2010 +0000
+++ b/doc/lispref/elisp.texi	Mon Jan 18 14:40:12 2010 +0000
@@ -100,9 +100,6 @@
 @node Top, Introduction, (dir), (dir)
 @top Emacs Lisp
 
-This Info file contains edition @value{VERSION} of the GNU Emacs Lisp
-Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
-
 @insertcopying
 @end ifnottex
 
--- a/doc/misc/ChangeLog	Sun Jan 17 12:46:11 2010 +0000
+++ b/doc/misc/ChangeLog	Mon Jan 18 14:40:12 2010 +0000
@@ -1,3 +1,13 @@
+2010-01-18  Juanma Barranquero  <lekktu@gmail.com>
+
+	* ada-mode.texi (Project File Overview): Fix typo.
+
+2010-01-17  Chong Yidong  <cyd@stupidchicken.com>
+
+	* semantic.texi: Add Richard Y. Kim credit.
+
+	* eieio.texi (Making New Objects): Fix typo (Bug#5406).
+
 2010-01-17  Michael Albinus  <michael.albinus@gmx.de>
 
 	* tramp.texi (Frequently Asked Questions): Add GNU Emacs 23 and
--- a/doc/misc/ada-mode.texi	Sun Jan 17 12:46:11 2010 +0000
+++ b/doc/misc/ada-mode.texi	Mon Jan 18 14:40:12 2010 +0000
@@ -396,7 +396,7 @@
 src_dir=/Projects/my_project/src_2
 @end example
 
-Some variables (like @code{src_dir}) are lists; multiple occurances
+Some variables (like @code{src_dir}) are lists; multiple occurrences
 are concatenated.
 
 There must be no space between the variable name and ``='', and no
--- a/doc/misc/eieio.texi	Sun Jan 17 12:46:11 2010 +0000
+++ b/doc/misc/eieio.texi	Mon Jan 18 14:40:12 2010 +0000
@@ -645,7 +645,7 @@
 @comment  node-name,  next,  previous,  up
 @chapter Making New Objects
 
-Suppose we have defined a simple class is defined, such as:
+Suppose we have a simple class is defined, such as:
 
 @example
 (defclass record ()
--- a/doc/misc/semantic.texi	Sun Jan 17 12:46:11 2010 +0000
+++ b/doc/misc/semantic.texi	Mon Jan 18 14:40:12 2010 +0000
@@ -1,7 +1,7 @@
 \input texinfo
 @setfilename ../../info/semantic
 @set TITLE  Semantic Manual
-@set AUTHOR Eric M. Ludlam and David Ponce
+@set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim
 @settitle @value{TITLE}
 
 @c *************************************************************************
--- a/lib-src/make-docfile.c	Sun Jan 17 12:46:11 2010 +0000
+++ b/lib-src/make-docfile.c	Mon Jan 18 14:40:12 2010 +0000
@@ -240,10 +240,10 @@
   /* A keyword we look for at the beginning of lines.  If found, it is
      not copied, and SAW_KEYWORD is set to true.  */
   char *keyword;
-  /* The current point we've reached in an occurance of KEYWORD in
+  /* The current point we've reached in an occurrence of KEYWORD in
      the input stream.  */
   char *cur_keyword_ptr;
-  /* Set to true if we saw an occurance of KEYWORD.  */
+  /* Set to true if we saw an occurrence of KEYWORD.  */
   int saw_keyword;
 };
 
@@ -354,7 +354,7 @@
    PRINTFLAG is positive, output string contents to outfile.  If it is
    negative, store contents in buf.  Convert escape sequences \n and
    \t to newline and tab; discard \ followed by newline.
-   If SAW_USAGE is non-zero, then any occurances of the string `usage:'
+   If SAW_USAGE is non-zero, then any occurrences of the string `usage:'
    at the beginning of a line will be removed, and *SAW_USAGE set to
    true if any were encountered.  */
 
--- a/lisp/ChangeLog	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/ChangeLog	Mon Jan 18 14:40:12 2010 +0000
@@ -1,3 +1,116 @@
+2010-01-18  Juanma Barranquero  <lekktu@gmail.com>
+
+	* cedet/ede/locate.el (ede-locate-file-in-project)
+	(ede-locate-file-in-project-impl): Fix typos in docstrings.
+	(ede-enable-locate-on-project): Fix typos in error messages.
+
+	* cedet/semantic/util-modes.el (semantic-unmatched-syntax-face)
+	(semantic-stickyfunc-old-hlf, semantic-stickyfunc-header-line-format)
+	(semantic-stickyfunc-sticky-classes, semantic-highlight-func-mode-setup)
+	(semantic-stickyfunc-fetch-stickyline): Fix typos in docstrings.
+	(semantic-stickyfunc-popup-menu, semantic-highlight-func-popup-menu):
+	Fix typos in menu help.
+
+	* emacs-lisp/chart.el (chart-file-count, chart-rmail-from):
+	Fix typos in chart titles.
+
+	* whitespace.el (whitespace-style, global-whitespace-newline-mode):
+	* cedet/semantic.el (semantic-require-version, semantic--buffer-cache)
+	(semantic-unmatched-syntax-cache-check, semantic-unmatched-syntax-hook)
+	(semantic--before-fetch-tags-hook, semantic-new-buffer-fcn-was-run)
+	(semantic--umatched-syntax-needs-refresh-p, semantic-elapsed-time)
+	(semantic-parse-stream, semantic-parse-region)
+	(semantic-parse-region-default, semantic--set-buffer-cache)
+	(semantic-minimum-working-buffer-size, semantic-refresh-tags-safe)
+	(semantic-bovinate-toplevel, semantic-load-system-cache-loaded)
+	(semantic-default-submodes):
+	* cedet/semantic/db-ebrowse.el (semanticdb-table-ebrowse)
+	(semanticdb-create-ebrowse-database)
+	(semanticdb-find-tags-for-completion-method)
+	(semanticdb-find-tags-by-class-method)
+	(semanticdb-deep-find-tags-by-name-method)
+	(semanticdb-deep-find-tags-for-completion-method):
+	* cedet/semantic/db-el.el (semanticdb-elisp-mapatom-collector)
+	(semanticdb-find-tags-by-name-method, emacs-lisp-mode)
+	(semanticdb-find-tags-for-completion-method)
+	(semanticdb-find-tags-by-class-method)
+	(semanticdb-deep-find-tags-for-completion-method):
+	* cedet/semantic/db-find.el (semanticdb-find-translate-path)
+	(semanticdb-find-need-cache-update-p, semanticdb-find-result-with-nil-p)
+	(semanticdb-find-scanned-include-tags, semanticdb-find-tags-collector)
+	(semanticdb-find-tags-by-name-method)
+	(semanticdb-find-tags-by-name-regexp-method)
+	(semanticdb-find-tags-for-completion-method)
+	(semanticdb-find-tags-by-class-method)
+	(semanticdb-find-tags-external-children-of-type-method)
+	(semanticdb-find-tags-subclasses-of-type-method)
+	(semanticdb-deep-find-tags-by-name-method)
+	(semanticdb-deep-find-tags-by-name-regexp-method)
+	(semanticdb-deep-find-tags-for-completion-method):
+	* cedet/semantic/db-global.el (semanticdb-enable-gnu-global-hook)
+	(semanticdb-enable-gnu-global-in-buffer)
+	(semanticdb-find-tags-for-completion-method)
+	(semanticdb-deep-find-tags-by-name-method)
+	(semanticdb-deep-find-tags-for-completion-method):
+	* cedet/semantic/db-javascript.el (semanticdb-javascript-tags)
+	(javascript-mode, semanticdb-find-translate-path)
+	(semanticdb-find-tags-for-completion-method)
+	(semanticdb-find-tags-by-class-method)
+	(semanticdb-deep-find-tags-by-name-method)
+	(semanticdb-deep-find-tags-for-completion-method)
+	(semanticdb-find-tags-external-children-of-type-method):
+	* cedet/semantic/idle.el (semantic-idle-work-core-handler)
+	(define-semantic-idle-service, semantic-idle-summary-useful-context-p)
+	(global-semantic-idle-scheduler-mode):
+	* cedet/srecode/dictionary.el (srecode-field-value)
+	(srecode-dictionary-add-section-dictionary):
+	* emacs-lisp/eieio.el (eieio-error-unsupported-class-tags)
+	(eieio-generic-form, eieio-help-mode-augmentation-maybee, eieio-browse)
+	(describe-class, eieio-describe-generic, describe-generic):
+	* emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click)
+	(eieio-speedbar-expand):
+	* emulation/viper-cmd.el (viper-exec-form-in-vi)
+	(viper-exec-form-in-emacs, viper-harness-minor-mode, viper-ESC)
+	(viper-repeat, viper-replace-state-exit-cmd, viper-toggle-search-style)
+	(viper-del-backward-char-in-replace, viper-backward-indent)
+	(viper-brac-function, viper-register-to-point, viper-submit-report):
+	* net/tramp.el (tramp-remote-coding-commands):
+	* term/x-win.el (emacs-session-save, x-menu-bar-open, icon-map-list):
+	Fix typos in docstrings.
+
+2010-01-17  Chong Yidong  <cyd@stupidchicken.com>
+
+	* mail/sendmail.el (mail-yank-original): Set the mark if the
+	specified function for yanking does not do it.
+
+2010-01-17  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* vc.el (with-vc-properties): Deal with directory arguments.  (Bug#5298)
+
+	* vc-dir.el (vc-dir-resynch-file): Update the vc-dir header when
+	resyncing a directory.
+
+2010-01-17  Stephen Leake  <stephen_leake@member.fsf.org>
+
+	* progmodes/ada-mode.el: Fix bug#1920, bug#5400.
+	(ada-ident-re): Delete ., allow multibyte characters.
+	(ada-goto-label-re): New; matches goto labels.
+	(ada-block-label-re): New; matches block labels.
+	(ada-label-re): New; matches both.
+	(ada-named-block-re): Deleted; callers changed to use
+	`ada-block-label-re' instead.
+	(ada-get-current-indent, ada-get-indent-noindent, ada-get-indent-loop):
+	Use `ada-block-label-re'.
+	(ada-indent-on-previous-lines): Improve handling of goto labels.
+	(ada-get-indent-block-start): Special-case block label.
+	(ada-get-indent-label): Split into `ada-indent-block-label' and
+	`ada-indent-goto-label'.
+	(ada-goto-stmt-start, ada-goto-next-non-ws):
+	Optionally ignore goto labels.
+	(ada-goto-next-word): Simplify.
+	(ada-indent-newline-indent-conditional): Insert newline before
+	trying to fix indentation; doc fix.
+
 2010-01-17  Jay Belanger  <jay.p.belanger@gmail.com>
 
 	* calc/calc.el (calc-command-flags): Give it an initial value.
@@ -63,7 +176,7 @@
 2010-01-15  Kenichi Handa  <handa@m17n.org>
 
 	* international/mule-cmds.el (canonicalize-coding-system-name):
-	Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX".
+	Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX" (Bug#5387).
 
 2010-01-15  Glenn Morris  <rgm@gnu.org>
 
--- a/lisp/cedet/cedet-files.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/cedet-files.el	Mon Jan 18 14:40:12 2010 +0000
@@ -69,7 +69,7 @@
   (let ((file referencefile))
     ;; Replace the ! with /
     (setq file (subst-char-in-string ?! ?/ file))
-    ;; Occurances of // meant there was once a single !.
+    ;; Occurrences of // meant there was once a single !.
     (setq file (replace-regexp-in-string "//" "!" file))
 
     ;; Handle Windows special cases
--- a/lisp/cedet/ede/locate.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/ede/locate.el	Mon Jan 18 14:40:12 2010 +0000
@@ -97,7 +97,7 @@
       (setq ans 'ede-locate-base))
     (oset proj locate-obj (make-instance ans "Loc" :root root))
     (when (called-interactively-p 'interactive)
-      (message "Setting locator to %s." ans))
+      (message "Setting locator to %s" ans))
     ))
 
 ;;; LOCATE BASECLASS
@@ -142,9 +142,9 @@
 (defmethod ede-locate-file-in-project ((loc ede-locate-base)
 				       filesubstring
 				       )
-  "Locate with LOC occurances of FILESUBSTRING.
+  "Locate with LOC occurrences of FILESUBSTRING.
 Searches are done under the current root of the EDE project
-that crated this ede locat object."
+that created this EDE locate object."
   (let ((ans (ede-locate-file-in-project-impl loc filesubstring))
 	)
     (oset loc file filesubstring)
@@ -154,9 +154,9 @@
 (defmethod ede-locate-file-in-project-impl ((loc ede-locate-base)
 					    filesubstring
 					    )
-  "Locate with LOC occurances of FILESUBSTRING.
+  "Locate with LOC occurrences of FILESUBSTRING.
 Searches are done under the current root of the EDE project
-that crated this ede locat object."
+that created this EDE locate object."
   nil
   )
 
@@ -180,9 +180,9 @@
 
 (defmethod ede-locate-file-in-project-impl ((loc ede-locate-locate)
 					    filesubstring)
-  "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT.
+  "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT.
 Searches are done under the current root of the EDE project
-that crated this ede locat object."
+that created this EDE locate object."
   ;; We want something like:
   ;;  /my/project/root*/filesubstring.c
   (let* ((searchstr (concat (directory-file-name (oref loc root))
@@ -235,9 +235,9 @@
 
 (defmethod ede-locate-file-in-project-impl ((loc ede-locate-global)
 					    filesubstring)
-  "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT.
+  "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT.
 Searches are done under the current root of the EDE project
-that crated this ede locat object."
+that created this EDE locate object."
   (require 'cedet-global)
   (let ((default-directory (oref loc root)))
     (cedet-gnu-global-expand-filename filesubstring)))
@@ -273,9 +273,9 @@
 
 (defmethod ede-locate-file-in-project-impl ((loc ede-locate-idutils)
 					    filesubstring)
-  "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT.
+  "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT.
 Searches are done under the current root of the EDE project
-that crated this ede locat object."
+that created this EDE locate object."
   (require 'cedet-idutils)
   (let ((default-directory (oref loc root)))
     (cedet-idutils-expand-filename filesubstring)))
@@ -309,9 +309,9 @@
 
 (defmethod ede-locate-file-in-project-impl ((loc ede-locate-cscope)
 					    filesubstring)
-  "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT.
+  "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT.
 Searches are done under the current root of the EDE project
-that crated this ede locat object."
+that created this EDE locate object."
   (let ((default-directory (oref loc root)))
     (cedet-cscope-expand-filename filesubstring)))
 
--- a/lisp/cedet/semantic.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/semantic.el	Mon Jan 18 14:40:12 2010 +0000
@@ -45,7 +45,7 @@
 (declare-function semanticdb-load-ebrowse-caches "semantic/db-ebrowse")
 
 (defun semantic-require-version (major minor &optional beta)
-  "Non-nil if this version of semantic does not satisfy a specific version.
+  "Non-nil if this version of Semantic does not satisfy a specific version.
 Arguments can be:
 
   (MAJOR MINOR &optional BETA)
@@ -130,7 +130,7 @@
   DO NOT USE THIS VARIABLE IN PROGRAMS.
 
 If you need a tag list, use `semantic-fetch-tags'.  If you need the
-cached values for some reason, chances are you can, add a hook to
+cached values for some reason, chances are you can add a hook to
 `semantic-after-toplevel-cache-change-hook'.")
 (make-variable-buffer-local 'semantic--buffer-cache)
 (semantic-varalias-obsolete 'semantic-toplevel-bovine-cache
@@ -141,7 +141,7 @@
 (make-variable-buffer-local 'semantic-unmatched-syntax-cache)
 
 (defvar semantic-unmatched-syntax-cache-check nil
-  "Non nil if the unmatched syntax cache is out of date.
+  "Non-nil if the unmatched syntax cache is out of date.
 This is tracked with `semantic-change-function'.")
 (make-variable-buffer-local 'semantic-unmatched-syntax-cache-check)
 
@@ -154,18 +154,18 @@
 `top-level' comments.")
 
 (defvar semantic-unmatched-syntax-hook nil
-  "Hooks run when semantic detects syntax not matched in a grammar.
+  "Hooks run when Semantic detects syntax not matched in a grammar.
 Each individual piece of syntax (such as a symbol or punctuation
 character) is called with this hook when it doesn't match in the
 grammar, and multiple unmatched syntax elements are not grouped
-together.  Each hook is called with one argument, which is a list of
-syntax tokens created by the semantic lexer.  Use the functions
+together.  Each hook is called with one argument, which is a list
+of syntax tokens created by the semantic lexer.  Use the functions
 `semantic-lex-token-start', `semantic-lex-token-end' and
-`semantic-lex-token-text' to get information about these tokens.  The
-current buffer is the buffer these tokens are derived from.")
+`semantic-lex-token-text' to get information about these tokens.
+The current buffer is the buffer these tokens are derived from.")
 
 (defvar semantic--before-fetch-tags-hook nil
-  "Hooks run before a buffer is parses for tags.
+  "Hooks run before a buffer is parsed for tags.
 It is called before any request for tags is made via the function
 `semantic-fetch-tags' by an application.
 If any hook returns a nil value, the cached value is returned
@@ -311,7 +311,7 @@
 			    'semantic-init-db-hook "23.2")
 
 (defvar semantic-new-buffer-fcn-was-run nil
-  "Non nil after `semantic-new-buffer-fcn' has been executed.")
+  "Non-nil after `semantic-new-buffer-fcn' has been executed.")
 (make-variable-buffer-local 'semantic-new-buffer-fcn-was-run)
 
 (defsubst semantic-active-p ()
@@ -320,7 +320,7 @@
 
 (defsubst semantic--umatched-syntax-needs-refresh-p  ()
   "Return non-nil if the unmatched syntax cache needs a refresh.
-That is if it is dirty or if the current parse tree isn't up to date."
+That is, if it is dirty or if the current parse tree isn't up to date."
   (or semantic-unmatched-syntax-cache-check
       (not (semantic-parse-tree-up-to-date-p))))
 
@@ -377,7 +377,7 @@
 Do not set this yourself.  Call `semantic-debug'.")
 
 (defun semantic-elapsed-time (start end)
-  "Copied from elp.el.  Was elp-elapsed-time.
+  "Copied from elp.el.  Was `elp-elapsed-time'.
 Argument START and END bound the time being calculated."
   (+ (* (- (car end) (car start)) 65536.0)
      (- (car (cdr end)) (car (cdr start)))
@@ -410,14 +410,14 @@
 (define-overloadable-function semantic-parse-stream (stream nonterminal)
   "Parse STREAM, starting at the first NONTERMINAL rule.
 For bovine and wisent based parsers, STREAM is from the output of
-`semantic-lex', and NONTERMINAL is a rule in the apropriate language
+`semantic-lex', and NONTERMINAL is a rule in the appropriate language
 specific rules file.
 The default parser table used for bovine or wisent based parsers is
 `semantic--parse-table'.
 
 Must return a list: (STREAM TAGS) where STREAM is the unused elements
-from STREAM, and TAGS is the list of semantic tags found, usually only
-one tag is returned with the exception of compound statements")
+from STREAM, and TAGS is the list of semantic tags found; usually only
+one tag is returned with the exception of compound statements.")
 
 (define-overloadable-function semantic-parse-changes ()
   "Reparse changes in the current buffer.
@@ -433,7 +433,7 @@
 
 Optional arguments:
 NONTERMINAL is the rule to start parsing at.
-DEPTH specifies the lexical depth to decend for parser that use
+DEPTH specifies the lexical depth to descend for parser that use
 lexical analysis as their first step.
 RETURNONERROR specifies that parsing should stop on the first
 unmatched syntax encountered.  When nil, parsing skips the syntax,
@@ -447,8 +447,8 @@
 (defun semantic-parse-region-default
   (start end &optional nonterminal depth returnonerror)
   "Parse the area between START and END, and return any tags found.
-If END needs to be extended due to a lexical token being too large, it
-will be silently ignored.
+If END needs to be extended due to a lexical token being too large,
+it will be silently ignored.
 Optional arguments:
 NONTERMINAL is the rule to start parsing at if it is known.
 DEPTH specifies the lexical depth to scan.
@@ -532,7 +532,7 @@
 (defvar semantic-bovinate-nonterminal-check-obarray)
 
 (defun semantic--set-buffer-cache (tagtable)
-  "Set the toplevel cache cache to TAGTABLE."
+  "Set the toplevel tag cache to TAGTABLE."
   (setq semantic--buffer-cache tagtable
         semantic-unmatched-syntax-cache-check nil)
   ;; This is specific to the bovine parser.
@@ -560,7 +560,7 @@
 
 (defvar semantic-minimum-working-buffer-size (* 1024 5)
   "*The minimum size of a buffer before working messages are displayed.
-Buffers smaller than will parse silently.
+Buffers smaller than this will parse silently.
 Buffers larger than this will display the working progress bar.")
 
 (defsubst semantic-parser-working-message (&optional arg)
@@ -652,7 +652,7 @@
   semantic--buffer-cache)
 
 (defun semantic-refresh-tags-safe ()
-  "Refreshes the current buffer's tags safely.
+  "Refresh the current buffer's tags safely.
 
 Return non-nil if the refresh was successful.
 Return nil if there is some sort of syntax error preventing a reparse.
@@ -694,7 +694,7 @@
       lexically-safe))))
 
 (defun semantic-bovinate-toplevel (&optional ignored)
-  "Backward Compatibility Function."
+  "Backward compatibility function."
   (semantic-fetch-tags))
 (make-obsolete 'semantic-bovinate-toplevel 'semantic-fetch-tags "23.2")
 
@@ -1017,7 +1017,7 @@
 ;; auxiliary minor modes.
 
 (defvar semantic-load-system-cache-loaded nil
-  "Non nil when the Semantic system caches have been loaded.
+  "Non-nil when the Semantic system caches have been loaded.
 Prevent this load system from loading files in twice.")
 
 (defconst semantic-submode-list
@@ -1045,7 +1045,7 @@
  `global-semantic-highlight-func-mode' - Highlight the current tag.
  `global-semantic-stickyfunc-mode'     - Show current fun in header line.
  `global-semantic-mru-bookmark-mode'   - Provide `switch-to-buffer'-like
-                                    keybinding for tag names."
+                                         keybinding for tag names."
   :group 'semantic
   :type `(set ,@(mapcar (lambda (c) (list 'const c))
 			semantic-submode-list)))
--- a/lisp/cedet/semantic/db-ebrowse.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/semantic/db-ebrowse.el	Mon Jan 18 14:40:12 2010 +0000
@@ -90,7 +90,7 @@
 		   :initarg :global-extract
 		   :documentation
 		   "Table of ebrowse tags specific to this file.
-This table is compisited from the ebrowse *Globals* section.")
+This table is composited from the ebrowse *Globals* section.")
    )
   "A table for returning search results from ebrowse.")
 
@@ -128,7 +128,7 @@
 	   )))
 
 (defun semanticdb-create-ebrowse-database (dir)
-  "Create an EBROSE database for directory DIR.
+  "Create an EBROWSE database for directory DIR.
 The database file is stored in ~/.semanticdb, or whichever directory
 is specified by `semanticdb-default-save-directory'."
   (interactive "DDirectory: ")
@@ -597,7 +597,7 @@
 
 (defmethod semanticdb-find-tags-for-completion-method
   ((table semanticdb-table-ebrowse) prefix &optional tags)
-  "In TABLE, find all occurances of tags matching PREFIX.
+  "In TABLE, find all occurrences of tags matching PREFIX.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
   (if tags (call-next-method)
@@ -607,7 +607,7 @@
 
 (defmethod semanticdb-find-tags-by-class-method
   ((table semanticdb-table-ebrowse) class &optional tags)
-  "In TABLE, find all occurances of tags of CLASS.
+  "In TABLE, find all occurrences of tags of CLASS.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
   (if tags (call-next-method)
@@ -625,7 +625,7 @@
 (defmethod semanticdb-deep-find-tags-by-name-method
   ((table semanticdb-table-ebrowse) name &optional tags)
   "Find all tags name NAME in TABLE.
-Optional argument TAGS is a list of tags t
+Optional argument TAGS is a list of tags to search.
 Like `semanticdb-find-tags-by-name-method' for ebrowse."
   ;;(semanticdb-find-tags-by-name-method table name tags)
   (call-next-method))
@@ -640,7 +640,7 @@
 
 (defmethod semanticdb-deep-find-tags-for-completion-method
   ((table semanticdb-table-ebrowse) prefix &optional tags)
-  "In TABLE, find all occurances of tags matching PREFIX.
+  "In TABLE, find all occurrences of tags matching PREFIX.
 Optional argument TAGS is a list of tags to search.
 Like `semanticdb-find-tags-for-completion-method' for ebrowse."
   ;;(semanticdb-find-tags-for-completion-method table prefix tags)
--- a/lisp/cedet/semantic/db-el.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/semantic/db-el.el	Mon Jan 18 14:40:12 2010 +0000
@@ -76,7 +76,7 @@
 (defvar-mode-local emacs-lisp-mode semanticdb-find-default-throttle
   '(project omniscience)
   "Search project files, then search this omniscience database.
-It is not necessary to to system or recursive searching because of
+It is not necessary to do system or recursive searching because of
 the omniscience database.")
 
 ;;; Filename based methods
@@ -246,12 +246,12 @@
 ;;; Search Overrides
 ;;
 (defvar semanticdb-elisp-mapatom-collector nil
-  "Variable used to collect mapatoms output.")
+  "Variable used to collect `mapatoms' output.")
 
 (defmethod semanticdb-find-tags-by-name-method
   ((table semanticdb-table-emacs-lisp) name &optional tags)
-  "Find all tags name NAME in TABLE.
-Uses `inter-soft' to match NAME to emacs symbols.
+  "Find all tags named NAME in TABLE.
+Uses `intern-soft' to match NAME to Emacs symbols.
 Return a list of tags."
   (if tags (call-next-method)
     ;; No need to search.  Use `intern-soft' which does the same thing for us.
@@ -281,7 +281,7 @@
 
 (defmethod semanticdb-find-tags-for-completion-method
   ((table semanticdb-table-emacs-lisp) prefix &optional tags)
-  "In TABLE, find all occurances of tags matching PREFIX.
+  "In TABLE, find all occurrences of tags matching PREFIX.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
   (if tags (call-next-method)
@@ -290,7 +290,7 @@
 
 (defmethod semanticdb-find-tags-by-class-method
   ((table semanticdb-table-emacs-lisp) class &optional tags)
-  "In TABLE, find all occurances of tags of CLASS.
+  "In TABLE, find all occurrences of tags of CLASS.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
   (if tags (call-next-method)
@@ -316,7 +316,7 @@
 
 (defmethod semanticdb-deep-find-tags-for-completion-method
   ((table semanticdb-table-emacs-lisp) prefix &optional tags)
-  "In TABLE, find all occurances of tags matching PREFIX.
+  "In TABLE, find all occurrences of tags matching PREFIX.
 Optional argument TAGS is a list of tags to search.
 Like `semanticdb-find-tags-for-completion-method' for Emacs Lisp."
   (semanticdb-find-tags-for-completion-method table prefix tags))
--- a/lisp/cedet/semantic/db-find.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/semantic/db-find.el	Mon Jan 18 14:40:12 2010 +0000
@@ -281,7 +281,7 @@
 scan every available table.
 
 The return value is a list of objects of type `semanticdb-table' or
-it's children.  In the case of passing in a find result, the result
+their children.  In the case of passing in a find result, the result
 is returned unchanged.
 
 This routine uses `semanticdb-find-table-for-include' to translate
@@ -366,7 +366,7 @@
     ans))
 
 (defun semanticdb-find-need-cache-update-p (table)
-  "Non nil if the semanticdb TABLE cache needs to be updated."
+  "Non-nil if the semanticdb TABLE cache needs to be updated."
   ;; If we were passed in something related to a TABLE,
   ;; do a caching lookup.
   (let* ((index (semanticdb-get-table-index table))
@@ -431,7 +431,7 @@
   "All include tags scanned, plus action taken on the tag.
 Each entry is an alist:
   (ACTION . TAG)
-where ACTION is one of 'scanned, 'duplicate, 'lost.
+where ACTION is one of 'scanned, 'duplicate, 'lost
 and TAG is a clone of the include tag that was found.")
 (make-variable-buffer-local 'semanticdb-find-scanned-include-tags)
 
@@ -927,7 +927,7 @@
 
 (defun semanticdb-find-result-with-nil-p (resultp)
   "Non-nil of RESULTP is in the form of a semanticdb search result.
-nil is a valid value where a TABLE usually is, but only if the TAG
+The value nil is valid where a TABLE usually is, but only if the TAG
 results include overlays.
 This query only really tests the first entry in the list that is RESULTP,
 but should be good enough for debugging assertions."
@@ -1090,8 +1090,8 @@
   "Collect all tags returned by FUNCTION over PATH.
 The FUNCTION must take two arguments.  The first is TABLE,
 which is a semanticdb table containing tags.  The second argument
-to FUNCTION is TAGS.  TAGS may be a list of tags.  If TAGS is non-nil, then
-FUNCTION should search the TAG list, not through TABLE.
+to FUNCTION is TAGS.  TAGS may be a list of tags.  If TAGS is non-nil,
+then FUNCTION should search the TAG list, not through TABLE.
 
 See `semanticdb-find-translate-path' for details on PATH.
 FIND-FILE-MATCH indicates that any time a match is found, the file
@@ -1296,38 +1296,38 @@
 
 ;;; Top level Searches
 (defmethod semanticdb-find-tags-by-name-method ((table semanticdb-abstract-table) name &optional tags)
-  "In TABLE, find all occurances of tags with NAME.
+  "In TABLE, find all occurrences of tags with NAME.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
   (semantic-find-tags-by-name name (or tags (semanticdb-get-tags table))))
 
 (defmethod semanticdb-find-tags-by-name-regexp-method ((table semanticdb-abstract-table) regexp &optional tags)
-  "In TABLE, find all occurances of tags matching REGEXP.
+  "In TABLE, find all occurrences of tags matching REGEXP.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
   (semantic-find-tags-by-name-regexp regexp (or tags (semanticdb-get-tags table))))
 
 (defmethod semanticdb-find-tags-for-completion-method ((table semanticdb-abstract-table) prefix &optional tags)
-  "In TABLE, find all occurances of tags matching PREFIX.
+  "In TABLE, find all occurrences of tags matching PREFIX.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
   (semantic-find-tags-for-completion prefix (or tags (semanticdb-get-tags table))))
 
 (defmethod semanticdb-find-tags-by-class-method ((table semanticdb-abstract-table) class &optional tags)
-  "In TABLE, find all occurances of tags of CLASS.
+  "In TABLE, find all occurrences of tags of CLASS.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
   (semantic-find-tags-by-class class (or tags (semanticdb-get-tags table))))
 
 (defmethod semanticdb-find-tags-external-children-of-type-method ((table semanticdb-abstract-table) parent &optional tags)
-   "In TABLE, find all occurances of tags whose parent is the PARENT type.
+   "In TABLE, find all occurrences of tags whose parent is the PARENT type.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
    (require 'semantic/find)
    (semantic-find-tags-external-children-of-type parent (or tags (semanticdb-get-tags table))))
 
 (defmethod semanticdb-find-tags-subclasses-of-type-method ((table semanticdb-abstract-table) parent &optional tags)
-   "In TABLE, find all occurances of tags whose parent is the PARENT type.
+   "In TABLE, find all occurrences of tags whose parent is the PARENT type.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
    (require 'semantic/find)
@@ -1335,7 +1335,7 @@
 
 ;;; Deep Searches
 (defmethod semanticdb-deep-find-tags-by-name-method ((table semanticdb-abstract-table) name &optional tags)
-  "In TABLE, find all occurances of tags with NAME.
+  "In TABLE, find all occurrences of tags with NAME.
 Search in all tags in TABLE, and all components of top level tags in
 TABLE.
 Optional argument TAGS is a list of tags to search.
@@ -1343,7 +1343,7 @@
   (semantic-find-tags-by-name name (semantic-flatten-tags-table (or tags (semanticdb-get-tags table)))))
 
 (defmethod semanticdb-deep-find-tags-by-name-regexp-method ((table semanticdb-abstract-table) regexp &optional tags)
-  "In TABLE, find all occurances of tags matching REGEXP.
+  "In TABLE, find all occurrences of tags matching REGEXP.
 Search in all tags in TABLE, and all components of top level tags in
 TABLE.
 Optional argument TAGS is a list of tags to search.
@@ -1351,7 +1351,7 @@
   (semantic-find-tags-by-name-regexp regexp (semantic-flatten-tags-table (or tags (semanticdb-get-tags table)))))
 
 (defmethod semanticdb-deep-find-tags-for-completion-method ((table semanticdb-abstract-table) prefix &optional tags)
-  "In TABLE, find all occurances of tags matching PREFIX.
+  "In TABLE, find all occurrences of tags matching PREFIX.
 Search in all tags in TABLE, and all components of top level tags in
 TABLE.
 Optional argument TAGS is a list of tags to search.
--- a/lisp/cedet/semantic/db-global.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/semantic/db-global.el	Mon Jan 18 14:40:12 2010 +0000
@@ -66,7 +66,7 @@
   )
 
 (defun semanticdb-enable-gnu-global-hook ()
-  "Add support for GNU Global in the current buffer via semantic-init-hook.
+  "Add support for GNU Global in the current buffer via `semantic-init-hook'.
 MODE is the major mode to support."
   (semanticdb-enable-gnu-global-in-buffer t))
 
@@ -78,8 +78,8 @@
 
 (defun semanticdb-enable-gnu-global-in-buffer (&optional dont-err-if-not-available)
   "Enable a GNU Global database in the current buffer.
-Argument DONT-ERR-IF-NOT-AVAILABLE will throw an error if GNU Global
-is not available for this directory."
+When GNU Global is not available for this directory, display a message
+if optional DONT-ERR-IF-NOT-AVAILABLE is non-nil; else throw an error."
   (interactive "P")
   (if (cedet-gnu-global-root)
       (setq
@@ -168,7 +168,7 @@
 
 (defmethod semanticdb-find-tags-for-completion-method
   ((table semanticdb-table-global) prefix &optional tags)
-  "In TABLE, find all occurances of tags matching PREFIX.
+  "In TABLE, find all occurrences of tags matching PREFIX.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
   (if tags (call-next-method)
@@ -195,7 +195,7 @@
 (defmethod semanticdb-deep-find-tags-by-name-method
   ((table semanticdb-table-global) name &optional tags)
   "Find all tags name NAME in TABLE.
-Optional argument TAGS is a list of tags t
+Optional argument TAGS is a list of tags to search.
 Like `semanticdb-find-tags-by-name-method' for global."
   (semanticdb-find-tags-by-name-method table name tags))
 
@@ -208,7 +208,7 @@
 
 (defmethod semanticdb-deep-find-tags-for-completion-method
   ((table semanticdb-table-global) prefix &optional tags)
-  "In TABLE, find all occurances of tags matching PREFIX.
+  "In TABLE, find all occurrences of tags matching PREFIX.
 Optional argument TAGS is a list of tags to search.
 Like `semanticdb-find-tags-for-completion-method' for global."
   (semanticdb-find-tags-for-completion-method table prefix tags))
--- a/lisp/cedet/semantic/db-javascript.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/semantic/db-javascript.el	Mon Jan 18 14:40:12 2010 +0000
@@ -77,7 +77,7 @@
       (("uriComponent" variable nil nil nil)))
      nil nil))
   "Hard-coded list of javascript tags for semanticdb.
-See bottom of this file for instruction on managing this list.")
+See bottom of this file for instructions on managing this list.")
 
 ;;; Classes:
 (defclass semanticdb-table-javascript (semanticdb-search-results-table)
@@ -87,7 +87,7 @@
 
 (defclass semanticdb-project-database-javascript
   (semanticdb-project-database
-   eieio-singleton ;this db is for js globals, so singleton is apropriate
+   eieio-singleton ;this db is for js globals, so singleton is appropriate
    )
   ((new-table-class :initform semanticdb-table-javascript
 		    :type class
@@ -107,7 +107,7 @@
 (defvar-mode-local javascript-mode semanticdb-find-default-throttle
   '(project omniscience)
   "Search project files, then search this omniscience database.
-It is not necessary to to system or recursive searching because of
+It is not necessary to do system or recursive searching because of
 the omniscience database.")
 
 ;;; Filename based methods
@@ -157,7 +157,7 @@
 ;; to a search list.
 (define-mode-local-override semanticdb-find-translate-path javascript-mode
   (path brutish)
-  "Return a list of semanticdb tables asociated with PATH.
+  "Return a list of semanticdb tables associated with PATH.
 If brutish, do the default action.
 If not brutish, do the default action, and append the system
 database (if available.)"
@@ -216,7 +216,7 @@
 
 (defmethod semanticdb-find-tags-for-completion-method
   ((table semanticdb-table-javascript) prefix &optional tags)
-  "In TABLE, find all occurances of tags matching PREFIX.
+  "In TABLE, find all occurrences of tags matching PREFIX.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
   (if tags (call-next-method)
@@ -226,7 +226,7 @@
 
 (defmethod semanticdb-find-tags-by-class-method
   ((table semanticdb-table-javascript) class &optional tags)
-  "In TABLE, find all occurances of tags of CLASS.
+  "In TABLE, find all occurrences of tags of CLASS.
 Optional argument TAGS is a list of tags to search.
 Returns a table of all matching tags."
   (if tags (call-next-method)
@@ -248,7 +248,7 @@
 (defmethod semanticdb-deep-find-tags-by-name-method
   ((table semanticdb-table-javascript) name &optional tags)
   "Find all tags name NAME in TABLE.
-Optional argument TAGS is a list of tags t
+Optional argument TAGS is a list of tags to search.
 Like `semanticdb-find-tags-by-name-method' for javascript."
   (semanticdb-find-tags-by-name-method table name tags))
 
@@ -261,7 +261,7 @@
 
 (defmethod semanticdb-deep-find-tags-for-completion-method
   ((table semanticdb-table-javascript) prefix &optional tags)
-  "In TABLE, find all occurances of tags matching PREFIX.
+  "In TABLE, find all occurrences of tags matching PREFIX.
 Optional argument TAGS is a list of tags to search.
 Like `semanticdb-find-tags-for-completion-method' for javascript."
   (semanticdb-find-tags-for-completion-method table prefix tags))
@@ -270,7 +270,7 @@
 ;;
 (defmethod semanticdb-find-tags-external-children-of-type-method
   ((table semanticdb-table-javascript) type &optional tags)
-  "Find all nonterminals which are child elements of TYPE
+  "Find all nonterminals which are child elements of TYPE.
 Optional argument TAGS is a list of tags to search.
 Return a list of tags."
   (if tags (call-next-method)
--- a/lisp/cedet/semantic/idle.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/semantic/idle.el	Mon Jan 18 14:40:12 2010 +0000
@@ -367,7 +367,7 @@
 
 (defun semantic-idle-work-core-handler ()
   "Core handler for idle work processing of long running tasks.
-Visits semantic controlled buffers, and makes sure all needed
+Visits Semantic controlled buffers, and makes sure all needed
 include files have been parsed, and that the typecache is up to date.
 Uses `semantic-idle-work-for-on-buffer' to do the work."
   (let ((errbuf nil)
@@ -577,7 +577,7 @@
 DOC will be a documentation string describing FORMS.
 FORMS will be called during idle time after the current buffer's
 semantic tag information has been updated.
-This routines creates the following functions and variables:"
+This routine creates the following functions and variables:"
   (let ((global (intern (concat "global-" (symbol-name name) "-mode")))
 	(mode 	(intern (concat (symbol-name name) "-mode")))
 	(hook 	(intern (concat (symbol-name name) "-mode-hook")))
@@ -764,7 +764,7 @@
 	     jde-java-font-lock-code-face)))")
 
 (defun semantic-idle-summary-useful-context-p ()
-  "Non-nil of we should show a summary based on context."
+  "Non-nil if we should show a summary based on context."
   (if (and (boundp 'font-lock-mode)
 	   font-lock-mode
 	   (memq (get-text-property (point) 'face)
@@ -959,7 +959,7 @@
 ;;;###autoload
 (defun global-semantic-idle-scheduler-mode (&optional arg)
   "Toggle global use of option `semantic-idle-scheduler-mode'.
-The idle scheduler with automatically reparse buffers in idle time,
+The idle scheduler will automatically reparse buffers in idle time,
 and then schedule other jobs setup with `semantic-idle-scheduler-add'.
 If ARG is positive, enable, if it is negative, disable.
 If ARG is nil, then toggle."
--- a/lisp/cedet/semantic/util-modes.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/semantic/util-modes.el	Mon Jan 18 14:40:12 2010 +0000
@@ -337,7 +337,7 @@
     (((class color) (background light))
      (:underline "red")))
   "Face used to show unmatched syntax in.
-The face is used in  `semantic-show-unmatched-syntax-mode'."
+The face is used in `semantic-show-unmatched-syntax-mode'."
   :group 'semantic-faces)
 
 (defsubst semantic-unmatched-syntax-overlay-p (overlay)
@@ -767,7 +767,7 @@
       ]
     [ "Narrow To Headerline Tag" senator-narrow-to-defun
       :active (semantic-current-tag)
-      :help "Narrow to the bounds of the current tag."]
+      :help "Narrow to the bounds of the current tag"]
     [ "Fold Headerline Tag" senator-fold-tag-toggle
       :active (semantic-current-tag)
       :style toggle
@@ -854,7 +854,7 @@
   :type 'string)
 
 (defvar semantic-stickyfunc-old-hlf nil
-  "Value of the header line when entering sticky func mode.")
+  "Value of the header line when entering stickyfunc mode.")
 
 (defconst semantic-stickyfunc-header-line-format
   (cond ((featurep 'xemacs)
@@ -868,7 +868,7 @@
 	 '(:eval (list semantic-stickyfunc-indent-string
 		       (semantic-stickyfunc-fetch-stickyline))))
 	(t nil))
-  "The header line format used by sticky func mode.")
+  "The header line format used by stickyfunc mode.")
 
 (defun semantic-stickyfunc-mode-setup ()
   "Setup option `semantic-stickyfunc-mode'.
@@ -936,7 +936,7 @@
 
 (defvar semantic-stickyfunc-sticky-classes
   '(function type)
-  "List of tag classes which sticky func will display in the header line.")
+  "List of tag classes which stickyfunc will display in the header line.")
 (make-variable-buffer-local 'semantic-stickyfunc-sticky-classes)
 
 (defun semantic-stickyfunc-tag-to-stick ()
@@ -953,7 +953,7 @@
 
 (defun semantic-stickyfunc-fetch-stickyline ()
   "Make the function at the top of the current window sticky.
-Capture it's function declaration, and place it in the header line.
+Capture its function declaration, and place it in the header line.
 If there is no function, disable the header line."
   (let ((str
 	 (save-excursion
@@ -962,7 +962,7 @@
 	   (end-of-line)
 	   ;; Capture this function
 	   (let* ((tag (semantic-stickyfunc-tag-to-stick)))
-	     ;; TAG is nil if there was nothing of the apropriate type there.
+	     ;; TAG is nil if there was nothing of the appropriate type there.
 	     (if (not tag)
 		 ;; Set it to be the text under the header line
 		 (buffer-substring (point-at-bol) (point-at-eol))
@@ -1080,7 +1080,7 @@
       ]
     [ "Narrow To Tag" senator-narrow-to-defun
       :active (semantic-current-tag)
-      :help "Narrow to the bounds of the current tag."]
+      :help "Narrow to the bounds of the current tag"]
     [ "Fold Tag" senator-fold-tag-toggle
       :active (semantic-current-tag)
       :style toggle
@@ -1129,7 +1129,7 @@
 
 (defun semantic-highlight-func-mode-setup ()
   "Setup option `semantic-highlight-func-mode'.
-For semantic enabled buffers, highlight the first line of the
+For Semantic enabled buffers, highlight the first line of the
 current tag declaration."
   (if semantic-highlight-func-mode
       (progn
@@ -1202,7 +1202,7 @@
 	(setq semantic-highlight-func-ct-overlay ol)
 	)
 
-      ;; TAG is nil if there was nothing of the apropriate type there.
+      ;; TAG is nil if there was nothing of the appropriate type there.
       (if (or (not tag) disable)
 	  ;; No tag, make the overlay go away.
 	  (progn
--- a/lisp/cedet/srecode/dictionary.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/srecode/dictionary.el	Mon Jan 18 14:40:12 2010 +0000
@@ -240,7 +240,7 @@
 For each dictionary added to a macro, the block of codes in the
 template will be repeated.
 
-If optional argument SHOW-ONLY is non-nil, then don't add a new dictionarly
+If optional argument SHOW-ONLY is non-nil, then don't add a new dictionary
 if there is already one in place.  Also, don't add FIRST/LAST entries.
 These entries are not needed when we are just showing a section.
 
@@ -402,7 +402,7 @@
 (defclass srecode-field-value (srecode-dictionary-compound-value)
   ((firstinserter :initarg :firstinserter
 		  :documentation
-		  "The inserter object for the first occurance of this field.")
+		  "The inserter object for the first occurrence of this field.")
    (defaultvalue :initarg :defaultvalue
      :documentation
      "The default value for this inserter.")
--- a/lisp/cedet/srecode/extract.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/cedet/srecode/extract.el	Mon Jan 18 14:40:12 2010 +0000
@@ -216,7 +216,7 @@
   (srecode-insert-include-lookup ins dict)
   ;; There are two modes for includes.  One is with no dict,
   ;; so it is inserted straight.  If the dict has a name, then
-  ;; we need to run once per dictionary occurance.
+  ;; we need to run once per dictionary occurrence.
   (if (not (string= (oref ins :object-name) ""))
       ;; With a name, do the insertion.
       (let ((subdict (srecode-dictionary-add-section-dictionary
--- a/lisp/emacs-lisp/chart.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/emacs-lisp/chart.el	Mon Jan 18 14:40:12 2010 +0000
@@ -644,7 +644,7 @@
     ;; Lets create the chart!
     (chart-bar-quickie 'vertical "Files Extension Distribution"
 		       extlst "File Extensions"
-		       cntlst "# of occurances"
+		       cntlst "# of occurrences"
 		       10
 		       '(lambda (a b) (> (cdr a) (cdr b))))
     ))
@@ -740,9 +740,9 @@
 		(setcar cell (1+ (car cell))))
 	    (setq nmlst (cons nam nmlst)
 		  cntlst (cons 1 cntlst))))))
-    (chart-bar-quickie 'vertical "Username Occurance in RMAIL box"
+    (chart-bar-quickie 'vertical "Username Occurrence in RMAIL box"
 		       nmlst "User Names"
-		       cntlst "# of occurances"
+		       cntlst "# of occurrences"
 		       10
 		       '(lambda (a b) (> (cdr a) (cdr b))))
     ))
--- a/lisp/emacs-lisp/eieio-speedbar.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/emacs-lisp/eieio-speedbar.el	Mon Jan 18 14:40:12 2010 +0000
@@ -227,7 +227,7 @@
 object edit buffer doing an in-place edit.
 
 If your object represents some other item, override this method
-and take the apropriate action."
+and take the appropriate action."
   (require 'eieio-custom)
   (speedbar-with-attached-buffer
    (eieio-customize-object object))
@@ -327,7 +327,7 @@
 
 (defmethod eieio-speedbar-expand ((object eieio-speedbar) depth)
   "Expand OBJECT at indentation DEPTH.
-Inserts a list of new tag lines representing expanded elements withing
+Inserts a list of new tag lines representing expanded elements within
 OBJECT."
   (let ((children (eieio-speedbar-object-children object)))
     (cond ((eieio-object-p (car children))
--- a/lisp/emacs-lisp/eieio.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/emacs-lisp/eieio.el	Mon Jan 18 14:40:12 2010 +0000
@@ -79,7 +79,7 @@
   "*This hook is executed, then cleared each time `defclass' is called.")
 
 (defvar eieio-error-unsupported-class-tags nil
-  "*Non nil to throw an error if an encountered tag us unsupported.
+  "*Non-nil to throw an error if an encountered tag us unsupported.
 This may prevent classes from CLOS applications from being used with EIEIO
 since EIEIO does not support all CLOS tags.")
 
@@ -2021,7 +2021,7 @@
     (run-hook-with-args 'eieio-pre-method-execution-hooks
 			primarymethodlist)
 
-    ;; Now loop through all occurances forms which we must execute
+    ;; Now loop through all occurrences forms which we must execute
     ;; (which are happily sorted now) and execute them all!
     (let ((rval nil) (lastval nil) (rvalever nil) (found nil))
       (while lambdas
@@ -2101,7 +2101,7 @@
     (setq primarymethodlist  ;; Re-use even with bad name here
 	  (eieiomt-method-list method method-primary mclass))
 
-    ;; Now loop through all occurances forms which we must execute
+    ;; Now loop through all occurrences forms which we must execute
     ;; (which are happily sorted now) and execute them all!
     (let* ((rval nil) (lastval nil) (rvalever nil)
 	   (scoped-class (cdr lambdas))
@@ -2331,7 +2331,7 @@
 If CLASS is not a class then use `generic' instead.  If class has
 no form, but has a parent class, then trace to that parent class.
 The first time a form is requested from a symbol, an optimized path
-is memorized for future faster use."
+is memorized for faster future use."
  (let ((emto (aref (get method 'eieio-method-obarray)
 		   (if class key (+ key 3)))))
    (if (class-p class)
@@ -2814,13 +2814,13 @@
 ;;; Autoloading some external symbols, and hooking into the help system
 ;;
 
-(autoload 'eieio-help-mode-augmentation-maybee "eieio-opt" "For buffers thrown into help mode, augment for eieio.")
-(autoload 'eieio-browse "eieio-opt" "Create an object browser window" t)
+(autoload 'eieio-help-mode-augmentation-maybee "eieio-opt" "For buffers thrown into help mode, augment for EIEIO.")
+(autoload 'eieio-browse "eieio-opt" "Create an object browser window." t)
 (autoload 'eieio-describe-class "eieio-opt" "Describe CLASS defined by a string or symbol" t)
 (autoload 'eieio-describe-constructor "eieio-opt" "Describe the constructor function FCN." t)
-(autoload 'describe-class "eieio-opt" "Describe CLASS defined by a string or symbol" t)
-(autoload 'eieio-describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol" t)
-(autoload 'describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol" t)
+(autoload 'describe-class "eieio-opt" "Describe CLASS defined by a string or symbol." t)
+(autoload 'eieio-describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol." t)
+(autoload 'describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol." t)
 
 (autoload 'customize-object "eieio-custom" "Create a custom buffer editing OBJ.")
 
--- a/lisp/emulation/viper-cmd.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/emulation/viper-cmd.el	Mon Jan 18 14:40:12 2010 +0000
@@ -479,7 +479,7 @@
 			  (assoc major-mode viper-emacs-state-modifier-alist))
 		       viper-empty-keymap))
 	       ))
-	
+
   ;; This var is not local in Emacs, so we make it local.  It must be local
   ;; because although the stack of minor modes can be the same for all buffers,
   ;; the associated *keymaps* can be different.  In Viper,
@@ -891,7 +891,7 @@
 
 
 (defun viper-exec-form-in-vi  (form)
-  "Execute FORM in Vi state, regardless of the Ccurrent Vi state."
+  "Execute FORM in Vi state, regardless of the current Vi state."
   (let ((buff (current-buffer))
 	result)
     (viper-set-mode-vars-for 'vi-state)
@@ -910,7 +910,7 @@
 
 (defun viper-exec-form-in-emacs  (form)
   "Execute FORM in Emacs, temporarily disabling Viper's minor modes.
-Similar to viper-escape-to-emacs, but accepts forms rather than keystrokes."
+Similar to `viper-escape-to-emacs', but accepts forms rather than keystrokes."
   (let ((buff (current-buffer))
 	result)
     (viper-set-mode-vars-for 'emacs-state)
@@ -939,7 +939,7 @@
 Usage:
     (viper-harness-minor-mode load-file)
 
-LOAD-FILE is a name of the file where the specific minor mode is defined.
+LOAD-FILE is the name of the file where the specific minor mode is defined.
 Suffixes such as .el or .elc should be stripped."
 
   (interactive "sEnter name of the load file: ")
@@ -961,9 +961,9 @@
 If viper-no-multiple-ESC is 'twice double ESC would ding in vi-state.
 Other ESC sequences are emulated via the current Emacs's major mode
 keymap.  This is more convenient on TTYs, since this won't block
-function keys such as up,down, etc.  ESC will also will also work as
-a Meta key in this case.  When viper-no-multiple-ESC is nil, ESC functions
-as a Meta key and any number of multiple escapes is allowed."
+function keys such as up, down, etc.  ESC will also will also work as
+a Meta key in this case.  When viper-no-multiple-ESC is nil, ESC works
+as a Meta key and any number of multiple escapes are allowed."
   (interactive "P")
   (let (char)
     (cond ((and (not viper-no-multiple-ESC) (eq viper-current-state 'vi-state))
@@ -1181,7 +1181,7 @@
 		((eq event-char 'delete) (setq event-char ?\C-?))
 		((eq event-char 'backspace) (setq event-char ?\C-h))
 		((eq event-char 'space) (setq event-char ?\ )))
-	  (setq last-command-event 
+	  (setq last-command-event
 		(if (featurep 'xemacs)
 		    (character-to-event (or com event-char))
 		  (or com event-char)))
@@ -1257,7 +1257,7 @@
 
       ;; as com is non-nil, this means that we have a command to execute
       (if (viper-memq-char (car com) '(?r ?R))
-	  ;; execute apropriate region command.
+	  ;; execute appropriate region command.
 	  (let ((char (car com)) (com (cdr com)))
 	    (setq prefix-arg (cons value com))
 	    (if (viper= char ?r)
@@ -1285,7 +1285,7 @@
 	 ;; gg  acts as G0
 	 ((equal (car com) ?g)   (viper-goto-line 0))
 	 (t (error "Viper bell")))))
-    
+
     (if cmd-to-exec-at-end
 	(progn
 	  (setq last-command-event
@@ -1621,7 +1621,7 @@
 where `com' is the command to be re-executed, `val' is the
 argument to `com', `ch' is a flag for repeat, and `reg' is optional;
 if it exists, it is the name of the register for `com'.
-If the prefix argument, ARG, is non-nil, it is used instead of `val'."
+If the prefix argument ARG is non-nil, it is used instead of `val'."
   (interactive "P")
   (let ((save-point (point)) ; save point before repeating prev cmd
 	;; Pass along that we are repeating a destructive command
@@ -1944,7 +1944,7 @@
 		 require-final-newline
 		 ;; add newline only if we actually edited buffer. otherwise it
 		 ;; might unintentionally modify binary buffers
-		 (buffer-modified-p) 
+		 (buffer-modified-p)
 		 (not (viper-is-in-minibuffer))
 		 (not buffer-read-only))
 	    ;; text property may be read-only
@@ -2539,7 +2539,7 @@
 
 (defun viper-replace-state-exit-cmd ()
   "Binding for keys that cause Replace state to switch to Vi or to Insert.
-These keys are ESC, RET, and LineFeed"
+These keys are ESC, RET, and LineFeed."
   (interactive)
   (if overwrite-mode   ; if in replace mode invoked via 'R'
       (viper-finish-R-mode)
@@ -3711,7 +3711,7 @@
 (defun viper-toggle-search-style (arg)
   "Toggle the value of viper-case-fold-search/viper-re-search.
 Without prefix argument, will ask which search style to toggle.  With prefix
-arg 1,toggles viper-case-fold-search; with arg 2 toggles viper-re-search.
+arg 1, toggles viper-case-fold-search; with arg 2 toggles viper-re-search.
 
 Although this function is bound to \\[viper-toggle-search-style], the most
 convenient way to use it is to bind `//' to the macro
@@ -4262,7 +4262,7 @@
 (defun viper-del-backward-char-in-replace ()
   "Delete one character in replace mode.
 If `viper-delete-backwards-in-replace' is t, then DEL key actually deletes
-charecters.  If it is nil, then the cursor just moves backwards, similarly
+characters.  If it is nil, then the cursor just moves backwards, similarly
 to Vi.  The variable `viper-ex-style-editing', if t, doesn't let the
 cursor move past the beginning of line."
   (interactive)
@@ -4614,7 +4614,7 @@
   (indent-to (+ (current-column) viper-shift-width)))
 
 (defun viper-backward-indent ()
-  "Backtab, C-d in VI"
+  "Backtab, `C-d' in Vi."
   (interactive)
   (if viper-cted
       (let ((p (point)) (c (current-column)) bol (indent t))
@@ -4689,7 +4689,7 @@
 	      viper-InvalidRegister reg)))))
 
 (defun viper-brac-function (arg)
-  "Function called by \[, the brac.  View textmarkers and call \[\["
+  "Function called by \[, the brac.  View textmarkers and call \[\[."
   (interactive "P")
   (let ((reg (read-char)))
     (cond ((viper= ?\[ reg)
@@ -4922,7 +4922,7 @@
 
 ;; if ENFORCE-BUFFER is not nil, error if CHAR is a marker in another buffer
 (defun viper-register-to-point (char &optional enforce-buffer)
-  "Like jump-to-register, but switches to another buffer in another window."
+  "Like `jump-to-register', but switches to another buffer in another window."
   (interactive "cViper register to point: ")
   (let ((val (get-register char)))
     (cond
@@ -5047,7 +5047,7 @@
 ------------------------------
 
 Before reporting a bug, please verify that it is related to Viper, and is
-not cause by other packages you are using.
+not caused by other packages you are using.
 
 Don't report compilation warnings, unless you are certain that there is a
 problem.  These warnings are normal and unavoidable.
--- a/lisp/gnus/ChangeLog	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/gnus/ChangeLog	Mon Jan 18 14:40:12 2010 +0000
@@ -1,3 +1,12 @@
+2010-01-17  Chong Yidong  <cyd@stupidchicken.com>
+
+	* message.el (message-mail): Just pass yank-action on to message-setup.
+	(message-setup): Handle (FUN . ARGS) form of yank-action.
+	(message-with-reply-buffer, message-widen-reply)
+	(message-yank-original): Handle non-buffer values of
+	message-reply-buffer (Bug#4080).
+	(message-setup-1): Prefer to save message-reply-buffer as a buffer.
+
 2010-01-17  Juanma Barranquero  <lekktu@gmail.com>
 
 	* nnmairix.el (nnmairix-group-delete-recreate-this-group):
--- a/lisp/gnus/message.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/gnus/message.el	Mon Jan 18 14:40:12 2010 +0000
@@ -1139,6 +1139,8 @@
 		 (string :tag "name")
 		 (sexp :tag "none" :format "%t" t)))
 
+;; This can be the name of a buffer, or a cons cell (FUNCTION . ARGS)
+;; for yanking the original buffer.
 (defvar message-reply-buffer nil)
 (defvar message-reply-headers nil
   "The headers of the current replied article.
@@ -1997,7 +1999,7 @@
 
 (defmacro message-with-reply-buffer (&rest forms)
   "Evaluate FORMS in the reply buffer, if it exists."
-  `(when (and message-reply-buffer
+  `(when (and (bufferp message-reply-buffer)
 	      (buffer-name message-reply-buffer))
      (with-current-buffer message-reply-buffer
        ,@forms)))
@@ -3179,7 +3181,7 @@
   "Widen the reply to include maximum recipients."
   (interactive)
   (let ((follow-to
-	 (and message-reply-buffer
+	 (and (bufferp message-reply-buffer)
 	      (buffer-name message-reply-buffer)
 	      (with-current-buffer message-reply-buffer
 		(message-get-reply-headers t)))))
@@ -3674,9 +3676,16 @@
 				      (point-max)))
 	      (delete-region (message-goto-body) (point-max)))
 	  (set (make-local-variable 'message-cite-reply-above) nil)))
-      (delete-windows-on message-reply-buffer t)
+      (if (bufferp message-reply-buffer)
+	  (delete-windows-on message-reply-buffer t))
       (push-mark (save-excursion
-		   (insert-buffer-substring message-reply-buffer)
+		   (cond
+		    ((bufferp message-reply-buffer)
+		     (insert-buffer-substring message-reply-buffer))
+		    ((and (consp message-reply-buffer)
+			  (functionp (car message-reply-buffer)))
+		     (apply (car message-reply-buffer)
+			    (cdr message-reply-buffer))))
 		   (unless (bolp)
 		     (insert ?\n))
 		   (point)))
@@ -6251,14 +6260,14 @@
 	nil
       mua)))
 
-(defun message-setup (headers &optional replybuffer actions
+;; YANK-ACTION, if non-nil, can be a buffer or a yank action of the
+;; form (FUNCTION . ARGS).
+(defun message-setup (headers &optional yank-action actions
 			      continue switch-function)
   (let ((mua (message-mail-user-agent))
-	subject to field yank-action)
+	subject to field)
     (if (not (and message-this-is-mail mua))
-	(message-setup-1 headers replybuffer actions)
-      (if replybuffer
-	  (setq yank-action (list 'insert-buffer replybuffer)))
+	(message-setup-1 headers yank-action actions)
       (setq headers (copy-sequence headers))
       (setq field (assq 'Subject headers))
       (when field
@@ -6275,7 +6284,11 @@
 				 (format "%s" (car item))
 				 (cdr item)))
 			      headers)
-		      continue switch-function yank-action actions)))))
+		      continue switch-function
+		      (if (bufferp yank-action)
+			  (list 'insert-buffer yank-action)
+			yank-action)
+		      actions)))))
 
 (defun message-headers-to-generate (headers included-headers excluded-headers)
   "Return a list that includes all headers from HEADERS.
@@ -6302,12 +6315,16 @@
 	(push header result)))
     (nreverse result)))
 
-(defun message-setup-1 (headers &optional replybuffer actions)
+(defun message-setup-1 (headers &optional yank-action actions)
   (dolist (action actions)
     (condition-case nil
 	(add-to-list 'message-send-actions
 		     `(apply ',(car action) ',(cdr action)))))
-  (setq message-reply-buffer replybuffer)
+  (setq message-reply-buffer
+	(if (and (consp yank-action)
+		 (eq (car yank-action) 'insert-buffer))
+	    (nth 1 yank-action)
+	  yank-action))
   (goto-char (point-min))
   ;; Insert all the headers.
   (mail-header-format
@@ -6438,7 +6455,7 @@
 to continue editing a message already being composed.  SWITCH-FUNCTION
 is a function used to switch to and display the mail buffer."
   (interactive)
-  (let ((message-this-is-mail t) replybuffer)
+  (let ((message-this-is-mail t))
     (unless (message-mail-user-agent)
       (message-pop-to-buffer
        ;; Search for the existing message buffer if `continue' is non-nil.
@@ -6449,15 +6466,11 @@
 		message-generate-new-buffers)))
 	 (message-buffer-name "mail" to))
        switch-function))
-    ;; FIXME: message-mail should do something if YANK-ACTION is not
-    ;; insert-buffer.
-    (and (consp yank-action) (eq (car yank-action) 'insert-buffer)
-	 (setq replybuffer (nth 1 yank-action)))
     (message-setup
      (nconc
       `((To . ,(or to "")) (Subject . ,(or subject "")))
       (when other-headers other-headers))
-     replybuffer send-actions continue switch-function)
+     yank-action send-actions continue switch-function)
     ;; FIXME: Should return nil if failure.
     t))
 
--- a/lisp/mail/sendmail.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/mail/sendmail.el	Mon Jan 18 14:40:12 2010 +0000
@@ -1505,14 +1505,18 @@
   (interactive "P")
   (if mail-reply-action
       (let ((start (point))
-	    (original mail-reply-action))
+	    (original mail-reply-action)
+	    (omark (mark t)))
 	(and (consp original) (eq (car original) 'insert-buffer)
 	     (setq original (nth 1 original)))
 	(if (consp original)
-	    (apply (car original) (cdr original))
-	  ;; If the original message is in another window in the same frame,
-	  ;; delete that window to save screen space.
-	  ;; t means don't alter other frames.
+	    (progn
+	      ;; Call yank function, and set the mark if it doesn't.
+	      (apply (car original) (cdr original))
+	      (if (eq omark (mark t))
+		  (push-mark (point))))
+	  ;; If the original message is in another window in the same
+	  ;; frame, delete that window to save space.
 	  (delete-windows-on original t)
 	  (with-no-warnings
 	    ;; We really want this to set mark.
--- a/lisp/net/tramp.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/net/tramp.el	Mon Jan 18 14:40:12 2010 +0000
@@ -6890,7 +6890,7 @@
 
 If they are variables, this variable is a string containing a Perl
 implementation for this functionality.  This Perl program will be transferred
-to the remote host, and it is avalible as shell function with the same name.")
+to the remote host, and it is available as shell function with the same name.")
 
 (defun tramp-find-inline-encoding (vec)
   "Find an inline transfer encoding that works.
--- a/lisp/progmodes/ada-mode.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/progmodes/ada-mode.el	Mon Jan 18 14:40:12 2010 +0000
@@ -590,8 +590,25 @@
 ;; FIXME: make this customizable
 
 (defconst ada-ident-re
-  "\\(\\sw\\|[_.]\\)+"
-  "Regexp matching Ada (qualified) identifiers.")
+  "[[:alpha:]]\\(?:[_[:alnum:]]\\)*"
+  ;; [:alnum:] matches any multibyte word constituent, as well as
+  ;; Latin-1 letters and numbers. This allows __ and trailing _;
+  ;; someone (emacs bug#1919) proposed [^\W_] to fix that, but \W does
+  ;; _not_ mean "not word constituent" inside a character alternative.
+  "Regexp matching an Ada identifier.")
+
+(defconst ada-goto-label-re
+  (concat "<<" ada-ident-re ">>")
+  "Regexp matching a goto label.")
+
+(defconst ada-block-label-re
+  (concat ada-ident-re "[ \t\n]*:[^=]")
+  "Regexp matching a block label.
+Note that this also matches a variable declaration.")
+
+(defconst ada-label-re
+  (concat "\\(?:" ada-block-label-re "\\)\\|\\(?:" ada-goto-label-re "\\)")
+  "Regexp matching a goto or block label.")
 
 ;;  "with" needs to be included in the regexp, to match generic subprogram parameters
 ;;  Similarly, we put '[not] overriding' on the same line with 'procedure' etc.
@@ -678,10 +695,6 @@
 				"protected" "task") t) "\\>"))
   "Regexp for the start of a subprogram.")
 
-(defvar ada-named-block-re
-  "[ \t]*\\(\\sw\\|_\\)+[ \t]*:[^=]"
-  "Regexp of the name of a block or loop.")
-
 (defvar ada-contextual-menu-on-identifier nil
   "Set to true when the right mouse button was clicked on an identifier.")
 
@@ -2108,10 +2121,18 @@
 
 (defun ada-indent-newline-indent-conditional ()
   "Insert a newline and indent it.
-The original line is indented first if `ada-indent-after-return' is non-nil."
+The original line is re-indented if `ada-indent-after-return' is non-nil."
   (interactive "*")
-  (if ada-indent-after-return (ada-indent-current))
+  ;; If at end of buffer (entering brand new code), some indentation
+  ;; fails.  For example, a block label requires whitespace following
+  ;; the : to be recognized.  So we do the newline first, then
+  ;; go back and indent the original line.
   (newline)
+  (if ada-indent-after-return
+      (progn
+        (forward-char -1)
+        (ada-indent-current)
+        (forward-char 1)))
   (ada-indent-current))
 
 (defun ada-justified-indent-current ()
@@ -2335,8 +2356,8 @@
 		      (progn
 			(goto-char (car match-cons))
 			(save-excursion
-			  (beginning-of-line)
-			  (if (looking-at ada-named-block-re)
+			  (back-to-indentation)
+			  (if (looking-at ada-block-label-re)
 			      (setq label (- ada-label-indent))))))))
 
 	    ;; found 'record' =>
@@ -2648,8 +2669,9 @@
      ;; label
      ;;---------------------------------
 
-     ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]")
+     ((looking-at ada-label-re)
       (if (ada-in-decl-p)
+          ;; ada-block-label-re matches variable declarations
 	  (ada-indent-on-previous-lines nil orgpoint orgpoint)
 	(append (ada-indent-on-previous-lines nil orgpoint orgpoint)
 		'(ada-label-indent))))
@@ -2674,9 +2696,10 @@
     (if (ada-in-paramlist-p)
 	(ada-get-indent-paramlist)
 
-      ;; move to beginning of current statement
+      ;; Move to beginning of current statement. If already at a
+      ;; statement start, move to beginning of enclosing statement.
       (unless nomove
-	(ada-goto-stmt-start))
+	(ada-goto-stmt-start t))
 
       ;; no beginning found => don't change indentation
       (if (and (eq oldpoint (point))
@@ -2702,6 +2725,12 @@
 	 ((looking-at ada-block-start-re)
 	  (ada-get-indent-block-start orgpoint))
 	 ;;
+	 ((looking-at ada-block-label-re) ; also variable declaration
+	  (ada-get-indent-block-label orgpoint))
+	 ;;
+	 ((looking-at ada-goto-label-re)
+	  (ada-get-indent-goto-label orgpoint))
+	 ;;
 	 ((looking-at "\\(sub\\)?type\\>")
 	  (ada-get-indent-type orgpoint))
 	 ;;
@@ -2717,17 +2746,8 @@
 	 ((looking-at "when\\>")
 	  (ada-get-indent-when orgpoint))
 	 ;;
-	 ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]")
-	  (ada-get-indent-label orgpoint))
-	 ;;
 	 ((looking-at "separate\\>")
 	  (ada-get-indent-nochange))
-
-	 ;; A label
-	 ((looking-at "<<")
-	  (list (+ (save-excursion (back-to-indentation) (point))
-		   (- ada-label-indent))))
-
 	 ;;
 	 ((looking-at "with\\>\\|use\\>")
 	  ;;  Are we still in that statement, or are we in fact looking at
@@ -2960,6 +2980,10 @@
 		(car (ada-search-ignore-string-comment "\\<type\\>" t)))
 	      'ada-indent)))
 
+     ;; Special case for label:
+     ((looking-at ada-block-label-re)
+      (list (- (save-excursion (back-to-indentation) (point)) ada-label-indent) 'ada-indent))
+
      ;; nothing follows the block-start
      (t
       (list (save-excursion (back-to-indentation) (point)) 'ada-indent)))))
@@ -3055,10 +3079,10 @@
 	(list (save-excursion (back-to-indentation) (point))
 	      'ada-broken-decl-indent))
 
-       ;;  This one is called in every over case when indenting a line at the
+       ;;  This one is called in every other case when indenting a line at the
        ;;  top level
        (t
-	(if (looking-at ada-named-block-re)
+	(if (looking-at (concat "[ \t]*" ada-block-label-re))
 	    (setq label (- ada-label-indent))
 
 	  (let (p)
@@ -3087,7 +3111,7 @@
 	  (list (+ (save-excursion (back-to-indentation) (point)) label)
 		'ada-broken-indent)))))))
 
-(defun ada-get-indent-label (orgpoint)
+(defun ada-get-indent-block-label (orgpoint)
   "Calculate the indentation when before a label or variable declaration.
 ORGPOINT is the limit position used in the calculation."
   (let ((match-cons nil)
@@ -3119,6 +3143,16 @@
      (t
       (list cur-indent '(- ada-label-indent))))))
 
+(defun ada-get-indent-goto-label (orgpoint)
+  "Calculate the indentation when at a goto label."
+  (search-forward ">>")
+  (ada-goto-next-non-ws)
+  (if (>= (point) orgpoint)
+      ;; labeled statement is the one we need to indent
+      (list (- (point) ada-label-indent))
+    ;; else indentation is indent for labeled statement
+    (ada-indent-on-previous-lines t orgpoint)))
+
 (defun ada-get-indent-loop (orgpoint)
   "Calculate the indentation when just before a loop or a for ... use.
 ORGPOINT is the limit position used in the calculation."
@@ -3127,8 +3161,8 @@
 
 	;; If looking at a named block, skip the label
 	(label (save-excursion
-		 (beginning-of-line)
-		 (if (looking-at ada-named-block-re)
+		 (back-to-indentation)
+		 (if (looking-at ada-block-label-re)
 		     (- ada-label-indent)
 		   0))))
 
@@ -3286,7 +3320,7 @@
 ;; -- searching and matching
 ;; -----------------------------------------------------------
 
-(defun ada-goto-stmt-start ()
+(defun ada-goto-stmt-start (&optional ignore-goto-label)
   "Move point to the beginning of the statement that point is in or after.
 Return the new position of point.
 As a special case, if we are looking at a closing parenthesis, skip to the
@@ -3304,7 +3338,7 @@
 	  (progn
 	    (unless (save-excursion
 		      (goto-char (cdr match-dat))
-		      (ada-goto-next-non-ws orgpoint))
+		      (ada-goto-next-non-ws orgpoint ignore-goto-label))
 	      ;;
 	      ;; nothing follows => it's the end-statement directly in
 	      ;;                    front of point => search again
@@ -3326,7 +3360,7 @@
 	(goto-char (point-min))
 	;;
 	;; skip to the very first statement, if there is one
-	  ;;
+	;;
 	(unless (ada-goto-next-non-ws orgpoint)
 	  (goto-char orgpoint))))
     (point)))
@@ -3388,18 +3422,25 @@
       nil)))
 
 
-(defun ada-goto-next-non-ws (&optional limit)
-  "Skip white spaces, newlines and comments to next non-ws character.
+(defun ada-goto-next-non-ws (&optional limit skip-goto-label)
+  "Skip to next non-whitespace character.
+Skips spaces, newlines and comments, and possibly goto labels.
+Return `point' if moved, nil if not.
 Stop the search at LIMIT.
 Do not call this function from within a string."
   (unless limit
     (setq limit (point-max)))
   (while (and (<= (point) limit)
-	      (progn (forward-comment 10000)
-		     (if (and (not (eobp))
-			      (save-excursion (forward-char 1)
-					      (ada-in-string-p)))
-			 (progn (forward-sexp 1) t)))))
+	      (or (progn (forward-comment 10000)
+                         (if (and (not (eobp))
+                                  (save-excursion (forward-char 1)
+                                                  (ada-in-string-p)))
+                             (progn (forward-sexp 1) t)))
+                  (and skip-goto-label
+                       (looking-at ada-goto-label-re)
+                       (progn
+                         (goto-char (match-end 0))
+                         t)))))
   (if (< (point) limit)
       (point)
     nil)
@@ -3426,9 +3467,7 @@
     (unless backward
       (skip-syntax-forward "w"))
     (if (setq match-cons
-	     (if backward
-		 (ada-search-ignore-string-comment "\\w" t nil t)
-	       (ada-search-ignore-string-comment "\\w" nil nil t)))
+              (ada-search-ignore-string-comment "\\w" backward nil t))
 	;;
 	;; move to the beginning of the word found
 	;;
--- a/lisp/term/x-win.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/term/x-win.el	Mon Jan 18 14:40:12 2010 +0000
@@ -133,9 +133,9 @@
 down, this function is called.  It calls the functions in the hook
 `emacs-save-session-functions'.  Functions are called with the current
 buffer set to a temporary buffer.  Functions should use `insert' to insert
-lisp code to save the session state.  The buffer is saved
-in a file in the home directory of the user running Emacs.  The file
-is evaluated when Emacs is restarted by the session manager.
+lisp code to save the session state.  The buffer is saved in a file in the
+home directory of the user running Emacs.  The file is evaluated when
+Emacs is restarted by the session manager.
 
 If any of the functions returns non-nil, no more functions are called
 and this function returns non-nil.  This will inform the session manager
@@ -1286,7 +1286,7 @@
 ")
 
 ;; Get a selection value of type TYPE by calling x-get-selection with
-;; an appropiate DATA-TYPE argument decided by `x-select-request-type'.
+;; an appropriate DATA-TYPE argument decided by `x-select-request-type'.
 ;; The return value is already decoded.  If x-get-selection causes an
 ;; error, this function return nil.
 
@@ -1425,7 +1425,7 @@
 (declare-function accelerate-menu "xmenu.c" (&optional frame) t)
 
 (defun x-menu-bar-open (&optional frame)
-  "Open the menu bar if `menu-bar-mode' is on. otherwise call `tmm-menubar'."
+  "Open the menu bar if `menu-bar-mode' is on, otherwise call `tmm-menubar'."
   (interactive "i")
   (if (and menu-bar-mode
 	   (fboundp 'accelerate-menu))
@@ -1482,7 +1482,7 @@
   ;; Create the standard fontset.
   (condition-case err
 	(create-fontset-from-fontset-spec standard-fontset-spec t)
-    (error (display-warning 
+    (error (display-warning
 	    'initialization
 	    (format "Creation of the standard fontset failed: %s" err)
 	    :error)))
@@ -1654,7 +1654,7 @@
   :group 'x)
 
 (defcustom icon-map-list '(x-gtk-stock-map)
-  "A list of alists that maps icon file names to stock/named icons.
+  "A list of alists that map icon file names to stock/named icons.
 The alists are searched in the order they appear.  The first match is used.
 The keys in the alists are file names without extension and with two directory
 components.  For example, to map /usr/share/emacs/22.1.1/etc/images/open.xpm
--- a/lisp/textmodes/artist.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/textmodes/artist.el	Mon Jan 18 14:40:12 2010 +0000
@@ -5528,7 +5528,7 @@
 ;;         See `artist-draw-rect' for an example.
 ;;
 ;;         You must call the init-fn, the prep-fill-fn, arrow-set-fn
-;;         and the exit-fn at the apropriate points.
+;;         and the exit-fn at the appropriate points.
 ;;
 ;;         When artist-mouse-draw-xxx ends, the shape for your mode
 ;;         must be completely drawn.
@@ -5561,7 +5561,7 @@
 ;;         work.
 ;;
 ;;         You must call the init-fn, the prep-fill-fn, arrow-set-fn
-;;         and the exit-fn at the apropriate points.
+;;         and the exit-fn at the appropriate points.
 ;;
 ;;      e. Add your new mode to the master table, `artist-mt'.
 ;;
--- a/lisp/vc-dir.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/vc-dir.el	Mon Jan 18 14:40:12 2010 +0000
@@ -874,7 +874,10 @@
             (let ((ddir default-directory))
               (when (vc-string-prefix-p ddir file)
                 (if (file-directory-p file)
-                    (vc-dir-resync-directory-files file)
+		    (progn
+		      (vc-dir-resync-directory-files file)
+		      (ewoc-set-hf vc-ewoc
+				   (vc-dir-headers vc-dir-backend default-directory) ""))
                   (let ((state (vc-dir-recompute-file-state file ddir)))
                     (vc-dir-update
                      (list state)
--- a/lisp/vc.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/vc.el	Mon Jan 18 14:40:12 2010 +0000
@@ -791,13 +791,23 @@
 
 (defmacro with-vc-properties (files form settings)
   "Execute FORM, then maybe set per-file properties for FILES.
+If any of FILES is actually a directory, then do the same for all
+buffers for files in that directory.
 SETTINGS is an association list of property/value pairs.  After
 executing FORM, set those properties from SETTINGS that have not yet
 been updated to their corresponding values."
   (declare (debug t))
-  `(let ((vc-touched-properties (list t)))
+  `(let ((vc-touched-properties (list t))
+	 (flist nil))
+     (dolist (file ,files)
+       (if (file-directory-p file)
+	   (dolist (buffer (buffer-list))
+	     (let ((fname (buffer-file-name buffer)))
+	       (when (and fname (vc-string-prefix-p file fname))
+		 (push fname flist))))
+	 (push file flist)))
      ,form
-     (dolist (file ,files)
+     (dolist (file flist)
        (dolist (setting ,settings)
          (let ((property (car setting)))
            (unless (memq property vc-touched-properties)
--- a/lisp/whitespace.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/lisp/whitespace.el	Mon Jan 18 14:40:12 2010 +0000
@@ -397,14 +397,14 @@
    spaces		SPACEs and HARD SPACEs are visualized via
 			faces.
 
-   lines		lines whose have columns beyond
+   lines		lines which have columns beyond
 			`whitespace-line-column' are highlighted via
-			faces .
+			faces.
 			Whole line is highlighted.
 			It has precedence over `lines-tail' (see
 			below).
 
-   lines-tail		lines whose have columns beyond
+   lines-tail		lines which have columns beyond
 			`whitespace-line-column' are highlighted via
 			faces.
 			But only the part of line which goes
@@ -462,7 +462,7 @@
 If nil, don't visualize TABs, (HARD) SPACEs and NEWLINEs via faces and
 via display table.
 
-There is an evaluation order for some values, if some values are
+There is an evaluation order for some values, if they are
 included in `whitespace-style' list.  For example, if
 indentation, indentation::tab and/or indentation::space are
 included in `whitespace-style' list.  The evaluation order for
@@ -1134,7 +1134,7 @@
 Use `global-whitespace-newline-mode' only for NEWLINE
 visualization exclusively.  For other visualizations, including
 NEWLINE visualization together with (HARD) SPACEs and/or TABs,
-please, use `global-whitespace-mode'.
+please use `global-whitespace-mode'.
 
 See also `whitespace-newline' and `whitespace-display-mappings'."
   :lighter    " NL"
@@ -2046,7 +2046,7 @@
 	((quit error)
 	 (whitespace-help-off)
 	 (error (error-message-string data)))))
-    (list sym)))			; return the apropriate symbol
+    (list sym)))			; return the appropriate symbol
 
 
 (defun whitespace-toggle-list (local-p arg the-list)
--- a/test/ChangeLog	Sun Jan 17 12:46:11 2010 +0000
+++ b/test/ChangeLog	Mon Jan 18 14:40:12 2010 +0000
@@ -1,3 +1,10 @@
+2010-01-18  Juanma Barranquero  <lekktu@gmail.com>
+
+	* cedet/semantic-tests.el (semanticdb-test-gnu-global)
+	(semantic-lex-test-full-depth, semantic-symref-test-count-hits-in-tag):
+	Fix typos in docstrings and error messages.
+	(semanticdb-ebrowse-run-tests): Fix typos in error messages.
+
 2010-01-14  Juanma Barranquero  <lekktu@gmail.com>
 
 	* cedet/cedet-utests.el (cedet-utest-log-shutdown, pulse-test):
--- a/test/cedet/semantic-tests.el	Sun Jan 17 12:46:11 2010 +0000
+++ b/test/cedet/semantic-tests.el	Mon Jan 18 14:40:12 2010 +0000
@@ -58,7 +58,7 @@
   (when (not (or (eq major-mode 'c-mode)
 		 (eq major-mode 'c++-mode)))
     (error "Please make your default buffer be a C or C++ file, then
-run the test again..")))
+run the test again")))
 
 (defun semanticdb-ebrowse-dump ()
   "Find the first loaded ebrowse table, and dump out the contents."
@@ -83,7 +83,7 @@
 (defun semanticdb-test-gnu-global (searchfor &optional standardfile)
   "Test the GNU Global semanticdb.
 Argument SEARCHFOR is the text to search for.
-If optional arg STANDARDFILE is non nil, use a standard file w/ global enabled."
+If optional arg STANDARDFILE is non-nil, use a standard file w/ global enabled."
   (interactive "sSearch For Tag: \nP")
 
   (require 'data-debug)
@@ -235,7 +235,7 @@
 
 (defun semantic-lex-test-full-depth (arg)
   "Test the semantic lexer in the current buffer parsing through lists.
-Usually the lexer parses
+Usually the lexer parses.
 If universal argument ARG, then try the whole buffer."
   (interactive "P")
   (let* ((start (current-time))
@@ -309,7 +309,7 @@
 
 (defun semantic-symref-test-count-hits-in-tag ()
   "Lookup in the current tag the symbol under point.
-the count all the other references to the same symbol within the
+Then count all the other references to the same symbol within the
 tag that contains point, and return that."
   (interactive)
   (let* ((ctxt (semantic-analyze-current-context))
@@ -323,7 +323,7 @@
        (semantic-tag-start tag)
        (semantic-tag-end tag))
       (when (interactive-p)
-	(message "Found %d occurances of %s in %.2f seconds"
+	(message "Found %d occurrences of %s in %.2f seconds"
 		 Lcount (semantic-tag-name target)
 		 (semantic-elapsed-time start (current-time))))
       Lcount)))