emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r99941: Merge from emacs-23


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r99941: Merge from emacs-23
Date: Mon, 19 Apr 2010 11:07:52 -0400
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 99941 [merge]
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Mon 2010-04-19 11:07:52 -0400
message:
  Merge from emacs-23
modified:
  .bzrignore
  admin/notes/bugtracker
  doc/emacs/ChangeLog
  doc/emacs/ack.texi
  doc/emacs/custom.texi
  doc/emacs/dired.texi
  doc/emacs/emacs.texi
  doc/emacs/help.texi
  doc/emacs/maintaining.texi
  doc/emacs/mark.texi
  doc/emacs/misc.texi
  doc/emacs/programs.texi
  doc/emacs/trouble.texi
  doc/lispref/ChangeLog
  doc/lispref/abbrevs.texi
  doc/lispref/buffers.texi
  doc/lispref/windows.texi
  doc/misc/ChangeLog
  doc/misc/gnus-coding.texi
  doc/misc/gnus.texi
  doc/misc/info.texi
  etc/ChangeLog
  etc/MORE.STUFF
  etc/NEWS.23
  leim/ChangeLog
  leim/quail/vntelex.el
  lib-src/ChangeLog
  lisp/ChangeLog
  lisp/cedet/ede/pmake.el
  lisp/gnus/ChangeLog
  lisp/gnus/nnir.el
  lisp/gnus/nnrss.el
  lisp/gnus/smime.el
  lisp/help.el
  lisp/htmlfontify.el
  lisp/ido.el
  lisp/info.el
  lisp/language/indian.el
  lisp/minibuffer.el
  lisp/progmodes/fortran.el
  lisp/progmodes/grep.el
  lisp/textmodes/tex-mode.el
  lisp/vc-git.el
  lisp/vc-hg.el
  src/ChangeLog
  src/dired.c
  src/frame.h
  src/nsmenu.m
  src/s/darwin.h
=== modified file '.bzrignore'
--- a/.bzrignore        2010-04-08 19:59:46 +0000
+++ b/.bzrignore        2010-04-19 15:07:52 +0000
@@ -10,6 +10,7 @@
 oo
 oo-spd
 autom4te.cache
+*.dSYM
 *.elc
 *.exe
 DOC
@@ -48,6 +49,7 @@
 lisp/cus-load.el
 lisp/eshell/esh-groups.el
 lisp/finder-inf.el
+nextstep/Emacs.app
 nt/config.log
 src/buildobj.h
 src/config.h

=== modified file 'admin/notes/bugtracker'
--- a/admin/notes/bugtracker    2010-03-11 06:54:51 +0000
+++ b/admin/notes/bugtracker    2010-04-14 02:36:48 +0000
@@ -4,7 +4,7 @@
 
 * Quick-start guide
 
-This is 95% of all you will ever need.
+This is 95% of all you will ever need to know.
 
 ** How do I report a bug?
 Use M-x report-emacs-bug, or send mail to address@hidden
@@ -34,8 +34,12 @@
 
 For a list of all bugs, see http://debbugs.gnu.org/db/pa/lemacs.html
 This is a static page, updated once a day.  There is also a dynamic
-list, generated on request, but since there are many bug reports this
-is slow and not recommended.
+list, generated on request. This accepts various options, eg to see
+the most recent bugs:
+
+http://debbugs.gnu.org/cgi/pkgreport.cgi?newest=100
+
+Or follow the links on the front page http://debbugs.gnu.org .
 
 ** How do I report a bug in Emacs now?
 The same way as you always did.  Send mail to address@hidden,
@@ -92,6 +96,9 @@
 in the subsequent discussion will end up creating a new bug.
 This is annoying.
 
+(So annoying that a form of message-id tracking has been implemented
+to hopefully stop this happening, but it is still better to use X-Debbugs-CC.)
+
 If a new report contains X-Debbugs-CC in the input, this is
 converted to a real Cc header in the output.  (See Bug#1720).
 It is also merged into the Resent-CC header (see below).
@@ -191,8 +198,7 @@
 Version: 23.0.60
 Severity: minor
 
-Optionally, add a sub-package, eg Package: emacs,calendar.
-This can include tags.  Some things (e.g. submitter) don't seem to
+This can also include tags.  Some things (e.g. submitter) don't seem to
 work here.
 
 Otherwise, send mail to the control server, address@hidden
@@ -229,7 +235,7 @@
 
 123             # given bug number
 123;mbox=yes    # mbox version of given bug
-package         # bugs in given package    (don't use "emacs" - too many bugs!)
+package         # bugs in given package
 from:address@hidden
 severity:severity      # all bugs of given severity
 tag:tag                # all bugs with given tag
@@ -281,6 +287,9 @@
 search box.  The only piece you really need to add is the "users"
 portion, the rest has the same syntax as normal.
 
+**** To browse bugs by usertag:
+http://debbugs.gnu.org/cgi/pkgindex.cgi?indexon=users
+
 **** To find all bugs usertagged by a given email address:
 
 http://debbugs.gnu.org/cgi/address@hidden
@@ -359,7 +368,7 @@
 notfixed 123 23.0.60
 
 *** To assign or reassign a bug to a package or list of packages:
-reassign 1234 emacs,cc-mode
+reassign 1234 emacs
 
 ** To remove spam from the tracker, move it to the `spam' pseudo-package:
 reassign 123 spam

=== modified file 'doc/emacs/ChangeLog'
--- a/doc/emacs/ChangeLog       2010-04-16 07:41:19 +0000
+++ b/doc/emacs/ChangeLog       2010-04-19 15:07:52 +0000
@@ -1,3 +1,42 @@
+2010-04-18  Chong Yidong  <address@hidden>
+
+       * programs.texi (Semantic): New node.
+
+       * maintaining.texi (EDE): New node.
+
+       * emacs.texi: Update node listing.
+
+       * misc.texi (Gnus): Use the `C-h i' keybinding for info.
+
+2010-04-18  Glenn Morris  <address@hidden>
+
+       * emacs.texi (Acknowledgments): Remove duplicate.
+
+       * maintaining.texi (VC Directory Commands): Mention stashes and shelves.
+
+2010-04-18  Glenn Morris  <address@hidden>
+
+       * dired.texi (Misc Dired Features): Mention VC diff and log.
+       * maintaining.texi (Old Revisions, VC Change Log):
+       Mention that diff and log work in Dired buffers.
+
+       * help.texi (Help Summary): Mention M-x info-finder.
+
+       * ack.texi (Acknowledgments): Add mpc.el.
+
+       * custom.texi (Specifying File Variables, Directory Variables):
+       Document new commands for manipulating local variable lists.
+
+2010-04-18  Glenn Morris  <address@hidden>
+
+       * trouble.texi (Contributing): Add cindex entry.
+       Mention etc/CONTRIBUTE.
+
+2010-04-18  Chong Yidong  <address@hidden>
+
+       * mark.texi (Persistent Mark): Copyedits.  Replace undo example with
+       query-replace (Bug#5774).
+
 2010-04-16  Glenn Morris  <address@hidden>
 
        * ack.texi, emacs.texi (Acknowledgments): Update for Org changes.

=== modified file 'doc/emacs/ack.texi'
--- a/doc/emacs/ack.texi        2010-04-16 07:41:19 +0000
+++ b/doc/emacs/ack.texi        2010-04-19 15:07:52 +0000
@@ -801,8 +801,9 @@
 @file{reveal.el}, a minor mode for automatically revealing invisible
 text; @file{smerge-mode.el}, a minor mode for resolving @code{diff3}
 conflicts; @file{diff-mode.el}, a mode for viewing and editing context
-diffs; @file{css-mode.el} for Cascading Style Sheets; and
address@hidden for BibTeX Style files.
+diffs; @file{css-mode.el} for Cascading Style Sheets;
address@hidden for BibTeX Style files; and @file{mpc.el}, a
+client for the ``Music Player Daemon''.
 
 @item
 Morioka Tomohiko wrote several packages for MIME support in Gnus and

=== modified file 'doc/emacs/custom.texi'
--- a/doc/emacs/custom.texi     2010-03-28 03:41:34 +0000
+++ b/doc/emacs/custom.texi     2010-04-15 02:05:36 +0000
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
address@hidden   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free 
Software Foundation, Inc.
address@hidden   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
address@hidden   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Customization, Quitting, Amusements, Top
 @chapter Customization
@@ -1086,11 +1087,22 @@
 pair with a colon and semicolon as shown above.  The special
 variable/value pair @code{mode: @var{modename};}, if present,
 specifies a major or minor mode; if you use this to specify a major
-mode, it should come first in the line.  The @var{value}s are are used
+mode, it should come first in the line.  The @var{value}s are used
 literally, and not evaluated.
 
-  Here is an example that specifies Lisp mode and sets two variables
-with numeric values:
address@hidden add-file-local-variable-prop-line
address@hidden delete-file-local-variable-prop-line
address@hidden copy-dir-locals-to-file-locals-prop-line
+  You can use the command @code{add-file-local-variable-prop-line}
+instead of adding entries by hand.  It prompts for a variable
+and value, and adds them to the first line in the appropriate way.
+The command @code{delete-file-local-variable-prop-line} deletes a
+variable from the line.  The command
address@hidden copies directory-local
+variables (@pxref{Directory Variables}) to the first line.
+
+  Here is an example first line that specifies Lisp mode and sets two
+variables with numeric values:
 
 @smallexample
 ;; -*- mode: Lisp; fill-column: 75; comment-column: 50; -*-
@@ -1144,6 +1156,17 @@
 example above is for the C programming language, where comment lines
 start with @samp{/*} and end with @samp{*/}.
 
address@hidden add-file-local-variable
address@hidden delete-file-local-variable
address@hidden copy-dir-locals-to-file-locals
+  You can construct the local variables list yourself, or use the
+command @code{add-file-local-variable}.  This prompts for a variable
+and value, and adds them to the list.  If necessary, it also adds the
+start and end markers.  The command @code{delete-file-local-variable}
+deletes a variable from the list.  The command
address@hidden copies directory-local variables
+(@pxref{Directory Variables}) to the list.
+
   As with the @samp{-*-} line, the variables in a local variables list
 are used literally, and are not evaluated first.  If you want to split
 a long string across multiple lines of the file, you can use
@@ -1323,6 +1346,16 @@
 subdirectory of the directory where you put the @file{.dir-locals.el}
 file.
 
address@hidden add-dir-local-variable
address@hidden delete-dir-local-variable
address@hidden copy-file-locals-to-dir-locals
+  You can edit the @file{.dir-locals.el} file by hand, or use the
+command @code{add-dir-local-variable}.  This prompts for a mode (or
+subdirectory), variable and value, and adds an entry to the file.
+The command @code{delete-dir-local-variable} deletes an entry.  The
+command @code{copy-file-locals-to-dir-locals} copies file local
+variables (@pxref{File Variables}) to the @file{.dir-locals.el} file.
+
 @findex dir-locals-set-class-variables
 @findex dir-locals-set-directory-class
   Another method of specifying directory-local variables is to explicitly

=== modified file 'doc/emacs/dired.texi'
--- a/doc/emacs/dired.texi      2010-03-21 22:13:26 +0000
+++ b/doc/emacs/dired.texi      2010-04-15 07:54:06 +0000
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
address@hidden   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free 
Software Foundation, Inc.
address@hidden   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
address@hidden   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Dired, Calendar/Diary, Rmail, Top
 @chapter Dired, the Directory Editor
@@ -1339,6 +1340,11 @@
 it added to the kill ring, so you can use it to display the list of
 currently marked files in the echo area.
 
address@hidden Dired and version control
+  If the directory you are visiting is under version control
+(@pxref{Version Control}), then the normal VC diff and log commands
+will operate on the selected files.
+
 @findex dired-compare-directories
   The command @kbd{M-x dired-compare-directories} is used to compare
 the current Dired buffer with another directory.  It marks all the files

=== modified file 'doc/emacs/emacs.texi'
--- a/doc/emacs/emacs.texi      2010-04-16 07:41:19 +0000
+++ b/doc/emacs/emacs.texi      2010-04-19 15:07:52 +0000
@@ -649,6 +649,7 @@
 * Hideshow::            Displaying blocks selectively.
 * Symbol Completion::   Completion on symbol names of your program or language.
 * Glasses::             Making identifiersLikeThis more readable.
+* Semantic::            Suite of editing tools based on source code parsing.
 * Misc for Programs::   Other Emacs features useful for editing programs.
 * C Modes::             Special commands of C, C++, Objective-C,
                           Java, and Pike modes.
@@ -763,6 +764,7 @@
 * Change Log::         Maintaining a change history for your program.
 * Tags::               Go directly to any function in your program in one
                          command.  Tags remembers which file it is in.
+* EDE::                 An integrated development environment for Emacs.
 * Emerge::              A convenient way of merging two versions of a program.
 
 Version Control

=== modified file 'doc/emacs/help.texi'
--- a/doc/emacs/help.texi       2010-01-13 08:35:10 +0000
+++ b/doc/emacs/help.texi       2010-04-15 07:25:20 +0000
@@ -133,7 +133,9 @@
 @item C-h n
 Display news of recent Emacs changes (@code{view-emacs-news}).
 @item C-h p
-Find packages by topic keyword (@code{finder-by-keyword}).
+Find packages by topic keyword (@code{finder-by-keyword}).  For an
+alternative interface to the same information, try the @code{info-finder}
+command.
 @item C-h r
 Display the Emacs manual in Info (@code{info-emacs-manual}).
 @item C-h s

=== modified file 'doc/emacs/maintaining.texi'
--- a/doc/emacs/maintaining.texi        2010-03-26 00:04:48 +0000
+++ b/doc/emacs/maintaining.texi        2010-04-18 23:02:16 +0000
@@ -14,6 +14,7 @@
 * Change Log::         Maintaining a change history for your program.
 * Tags::               Go directly to any function in your program in one
                          command.  Tags remembers which file it is in.
+* EDE::                 An integrated development environment for Emacs.
 @ifnottex
 * Emerge::              A convenient way of merging two versions of a program.
 @end ifnottex
@@ -653,7 +654,8 @@
 @item C-x v =
 Compare the files in the current fileset with the working revision(s)
 you started from (@code{vc-diff}).  With a prefix argument, prompt for
-two revisions of the current fileset and compare them.
+two revisions of the current fileset and compare them.  You can call
+this command from a Dired buffer (@pxref{Dired}).
 
 @item C-x v D
 Compare the entire tree corresponding to the current fileset with the
@@ -895,6 +897,7 @@
 Buffer}.)  Point is centered at the revision of the file currently
 being visited.  With a prefix argument, the command prompts for the
 revision to center on, and the maximum number of revisions to display.
+You can call this command from a Dired buffer (@pxref{Dired}).
 
 @findex vc-print-root-log
   Type @kbd{C-x v L} (@code{vc-print-root-log}) to display a
@@ -1145,9 +1148,14 @@
 
   @kbd{M-s a C-M-s} does an incremental search on the marked files.
 
-  Commands are also accessible from the VC-dir menu.  Note that some VC
-backends use the VC-dir menu to make available extra backend specific
-commands.
address@hidden stashes in version control
address@hidden shelves in version control
+  Commands are also accessible from the VC-dir menu.  Note that some
+VC backends use the VC-dir menu to make available extra,
+backend-specific, commands.  For example, Git and Bazaar allow you to
+manipulate @dfn{stashes} and @dfn{shelves}.  (These provide a
+mechanism to temporarily store uncommitted changes somewhere out of
+the way, and bring them back at a later time.)
 
   Normal VC commands with the @kbd{C-x v} prefix work in VC directory
 buffers.  Some single-key shortcuts are available as well; @kbd{=},
@@ -2260,6 +2268,69 @@
 @include emerge-xtra.texi
 @end ifnottex
 
address@hidden EDE
address@hidden Emacs Development Environment
address@hidden EDE (Emacs Development Environment)
address@hidden Emacs Development Environment
address@hidden Integrated development environment
+
+EDE (@dfn{Emacs Development Environment}) is a package that simplifies
+the task of creating, building, and debugging large programs with
+Emacs.  It provides some of the features of an IDE, or @dfn{Integrated
+Development Environment}, in Emacs.
+
+This section provides a brief description of EDE usage.
address@hidden
+For full details, see @ref{Top, EDE,, ede, Emacs Development Environment}.
address@hidden ifnottex
address@hidden
+For full details on Ede, type @kbd{C-h i} and then select the EDE
+manual.
address@hidden iftex
+
+  EDE is implemented as a global minor mode (@pxref{Minor Modes}).  To
+enable it, type @kbd{M-x global-ede-mode} or click on the
address@hidden Support (EDE)} item in the @samp{Tools} menu.  You can
+also enable EDE each time you start Emacs, by adding the following
+line to your initialization file:
+
address@hidden
+(global-ede-mode t)
address@hidden smallexample
+
address@hidden
+Activating EDE adds a menu named @samp{Development} to the menu bar.
+Many EDE commands, including the ones described below, can be invoked
+from this menu.
+
+  EDE organizes files into @dfn{projects}, which correspond to
+directory trees.  The @dfn{project root} is the topmost directory of a
+project.  To define a new project, visit a file in the desired project
+root and type @kbd{M-x ede-new}.  This command prompts for a
address@hidden type}, which refers to the underlying method that EDE
+will use to manage the project (@pxref{Creating a Project, EDE,, ede,
+Emacs Development Environment}).  The most common project types are
address@hidden, which uses Makefiles, and @samp{Automake}, which uses GNU
+Automake (@pxref{Top, Automake,, automake, Automake}).  In both cases,
+EDE also creates a file named @file{Project.ede}, which stores
+information about the project.
+
+  A project may contain one or more @dfn{targets}.  A target can be an
+object file, executable program, or some other type of file, which is
+``built'' from one or more of the files in the project.
+
+  To add a new @dfn{target} to a project, type @kbd{C-c . t}
+(@code{M-x ede-new-target}).  This command also asks if you wish to
+``add'' the current file to that target, which means that the target
+is to be built from that file.  After you have defined a target, you
+can add more files to it by typing @kbd{C-c . a}
+(@code{ede-add-file}).
+
+  To build a target, type @kbd{C-c . c} (@code{ede-compile-target}).
+To build all the targets in the project, type @kbd{C-c . C}
+(@code{ede-compile-project}).  EDE uses the file types to guess how
+the target should be built.
+
 @ignore
    arch-tag: b9d83dfb-82ea-4ff6-bab5-05a3617091fb
 @end ignore

=== modified file 'doc/emacs/mark.texi'
--- a/doc/emacs/mark.texi       2010-01-13 08:35:10 +0000
+++ b/doc/emacs/mark.texi       2010-04-06 16:10:31 +0000
@@ -387,10 +387,10 @@
 
 @findex transient-mark-mode
   To turn off Transient Mark mode, type @kbd{M-x transient-mark-mode}.
-This command toggles the mode; you can use the same command to turn
-Transient Mark mode on again.  You can also turn off Transient Mark
-mode using the menu bar: in the @samp{Options} menu, toggle the
address@hidden Region Highlighting} menu item.
+This command toggles the mode; you can use the same command to turn it
+on again.  You can also toggle Transient Mark mode using the
address@hidden Region Highlighting} menu item in the @samp{Options}
+menu.
 
   Here are the details of how Emacs behaves when Transient Mark mode
 is off:
@@ -415,13 +415,12 @@
 @kbd{C-s}, first set the mark where point was.
 
 @item
-Some commands, which ordinarily operate on the region when the mark is
-active, instead act on the entire buffer.  For instance, @kbd{C-x u}
-normally reverses changes within the region if the mark is active;
-when Transient Mark mode is off, it acts on the entire buffer.
-However, you can type @kbd{C-u C-x u} to make it operate on the
-region.  @xref{Undo}.  Other commands that act this way are identified
-in their own documentation.
+Some commands, which ordinarily act on the region when the mark is
+active, no longer do so.  For example, normally @kbd{M-%}
+(@code{query-replace}) performs replacements within the region, if the
+mark is active.  When Transient Mark mode is off, it always operates
+from point to the end of the buffer.  Commands that act this way are
+identified in their own documentation.
 @end itemize
 
   While Transient Mark mode is off, you can activate it temporarily
@@ -437,9 +436,9 @@
 
 @item C-u C-x C-x
 @kindex C-u C-x C-x
-Activate the mark without changing it; enable Transient Mark mode just
-once, until the mark is deactivated.  (This is the @kbd{C-x C-x}
-command, @code{exchange-point-and-mark}, with a prefix argument.)
+Activate the mark and enable Transient Mark mode temporarily, until
+the mark is next deactivated.  (This is the @kbd{C-x C-x} command,
address@hidden, with a prefix argument.)
 @end table
 
   These commands set or activate the mark, and enable Transient Mark

=== modified file 'doc/emacs/misc.texi'
--- a/doc/emacs/misc.texi       2010-03-25 21:14:17 +0000
+++ b/doc/emacs/misc.texi       2010-04-18 23:02:16 +0000
@@ -203,7 +203,7 @@
 For full details, see @ref{Top, Gnus,, gnus, The Gnus Manual}.
 @end ifnottex
 @iftex
-For full details on Gnus, type @kbd{M-x info} and then select the Gnus
+For full details on Gnus, type @kbd{C-h i} and then select the Gnus
 manual.
 @end iftex
 

=== modified file 'doc/emacs/programs.texi'
--- a/doc/emacs/programs.texi   2010-03-25 20:36:41 +0000
+++ b/doc/emacs/programs.texi   2010-04-18 23:02:16 +0000
@@ -39,6 +39,7 @@
 * Hideshow::            Displaying blocks selectively.
 * Symbol Completion::   Completion on symbol names of your program or language.
 * Glasses::             Making identifiersLikeThis more readable.
+* Semantic::            Suite of editing tools based on source code parsing.
 * Misc for Programs::   Other Emacs features useful for editing programs.
 * C Modes::             Special commands of C, C++, Objective-C,
                           Java, and Pike modes.
@@ -1387,6 +1388,73 @@
 of the programming language major modes in which you normally want
 to use Glasses mode.
 
address@hidden Semantic
address@hidden Semantic
address@hidden Semantic package
+
+Semantic is a package that provides language-aware editing commands
+based on @code{source code parsers}.  This section provides a brief
+description of Semantic;
address@hidden
+for full details, see @ref{Top, Semantic,, semantic, Semantic}.
address@hidden ifnottex
address@hidden
+for full details, type @kbd{C-h i} (@code{info}) and then select the
+Semantic manual.
address@hidden iftex
+
+  Most of the ``language aware'' features in Emacs, such as font lock
+(@pxref{Font Lock}), rely on ``rules of thumb''@footnote{Regular
+expressions and syntax tables.} that usually give good results but are
+never completely exact.  In contrast, the parsers used by Semantic
+have an exact understanding of programming language syntax.  This
+allows Semantic to provide search, navigation, and completion commands
+that are powerful and precise.
+
+  To begin using Semantic, type @kbd{M-x semantic-mode} or click on
+the menu item named @samp{Source Code Parsers (Semantic)} in the
address@hidden menu.  This enables Semantic mode, a global minor mode.
+
+   When Semantic mode is enabled, Emacs automatically attempts to
+parses each file you visit.  Currently, Semantic understands C, C++,
+Scheme, Javascript, Java, HTML, and Make.  Within each parsed buffer,
+the following commands are available:
+
address@hidden @kbd
address@hidden C-c , j
address@hidden C-c , j
+Prompt for the name of a function defined in the current file, and
+move point there (@code{semantic-complete-jump-local}).
+
address@hidden C-c , J
address@hidden C-c , J
+Prompt for the name of a function defined in any file Emacs has
+parsed, and move point there (@code{semantic-complete-jump}).
+
address@hidden C-c , @key{SPC}
address@hidden C-c , @key{SPC}
+Display a list of possible completions for the symbol at point
+(@code{semantic-complete-analyze-inline}).  This also activates a set
+of special keybindings for choosing a completion: @key{RET} accepts
+the current completion, @kbd{M-n} and @kbd{M-p} cycle through possible
+completions, @key{TAB} completes as far as possible and then cycles,
+and @kbd{C-g} or any other key aborts completion.
+
address@hidden C-c , l
address@hidden C-c , l
+Display a list of the possible completions of the symbol at point, in
+another window (@code{semantic-analyze-possible-completions}).
address@hidden table
+
address@hidden
+In addition to the above commands, the Semantic package provides a
+variety of other ways to make use of parser information.  For
+instance, you can use it to display a list of completions when Emacs
+is idle.
address@hidden
address@hidden, Semantic,, semantic, Semantic}, for details.
address@hidden ifnottex
+
 @node Misc for Programs
 @section Other Features Useful for Editing Programs
 

=== modified file 'doc/emacs/trouble.texi'
--- a/doc/emacs/trouble.texi    2010-02-19 02:32:36 +0000
+++ b/doc/emacs/trouble.texi    2010-04-09 01:20:45 +0000
@@ -1008,6 +1008,7 @@
 
 @node Contributing, Service, Bugs, Top
 @section Contributing to Emacs Development
address@hidden contributing to Emacs
 
 If you would like to help pretest Emacs releases to assure they work
 well, or if you would like to work on improving Emacs, please contact
@@ -1027,6 +1028,9 @@
 See the Emacs project page
 @url{http://savannah.gnu.org/projects/emacs/} for details.
 
+For more information on how to contribute, see the @file{etc/CONTRIBUTE}
+file in the Emacs distribution.
+
 @node Service, Copying, Contributing, Top
 @section How To Get Help with GNU Emacs
 

=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2010-04-03 01:54:24 +0000
+++ b/doc/lispref/ChangeLog     2010-04-19 15:07:52 +0000
@@ -1,3 +1,17 @@
+2010-04-14  Juri Linkov  <address@hidden>
+
+       Fix @deffn without category.
+
+       * abbrevs.texi (Abbrev Expansion): Replace @deffn with @defun
+       for `abbrev-insert'.
+
+       * buffers.texi (Indirect Buffers): Add category `Command'
+       to @deffn of `clone-indirect-buffer'.
+
+       * windows.texi (Cyclic Window Ordering): Replace @deffn with @defun
+       for `next-window' and `previous-window'.  Add category `Command'
+       to @deffn of `pop-to-buffer'.
+
 2010-04-01  Chong Yidong  <address@hidden>
 
        * nonascii.texi (Text Representations): Don't mark

=== modified file 'doc/lispref/abbrevs.texi'
--- a/doc/lispref/abbrevs.texi  2010-01-13 08:35:10 +0000
+++ b/doc/lispref/abbrevs.texi  2010-04-14 22:41:21 +0000
@@ -281,7 +281,7 @@
 returns @code{nil} even though expansion did occur.
 @end deffn
 
address@hidden abbrev-insert abbrev &optional name start end
address@hidden abbrev-insert abbrev &optional name start end
 This function inserts the abbrev expansion of @code{abbrev}, replacing
 the text between @code{start} and @code{end}.  If @code{start} is
 omitted, it defaults to point.  @code{name}, if address@hidden, should
@@ -289,7 +289,7 @@
 figure out whether to adjust the capitalization of the expansion.  The
 function returns @code{abbrev} if the abbrev was successfully
 inserted.
address@hidden deffn
address@hidden defun
 
 @deffn Command abbrev-prefix-mark &optional arg
 This command marks the current location of point as the beginning of

=== modified file 'doc/lispref/buffers.texi'
--- a/doc/lispref/buffers.texi  2010-01-13 08:35:10 +0000
+++ b/doc/lispref/buffers.texi  2010-04-14 22:41:21 +0000
@@ -1135,7 +1135,7 @@
 buffer, not from @var{base-buffer}.
 @end deffn
 
address@hidden clone-indirect-buffer newname display-flag &optional norecord
address@hidden Command clone-indirect-buffer newname display-flag &optional 
norecord
 This function creates and returns a new indirect buffer that shares
 the current buffer's base buffer and copies the rest of the current
 buffer's attributes.  (If the current buffer is not indirect, it is

=== modified file 'doc/lispref/windows.texi'
--- a/doc/lispref/windows.texi  2010-01-13 08:35:10 +0000
+++ b/doc/lispref/windows.texi  2010-04-14 22:41:21 +0000
@@ -525,7 +525,7 @@
 In general, within each set of siblings at any level in the window tree
 (@pxref{Window Tree}), the order is left to right, or top to bottom.
 
address@hidden next-window &optional window minibuf all-frames
address@hidden next-window &optional window minibuf all-frames
 @cindex minibuffer window, and @code{next-window}
 This function returns the window following @var{window} in the cyclic
 ordering of windows.  This is the window @kbd{C-x o} selects if typed
@@ -588,13 +588,13 @@
      @result{} #<window 56 on windows.texi>
 @end group
 @end example
address@hidden deffn
address@hidden defun
 
address@hidden previous-window &optional window minibuf all-frames
address@hidden previous-window &optional window minibuf all-frames
 This function returns the window preceding @var{window} in the cyclic
 ordering of windows.  The other arguments specify which windows to
 include in the cycle, as in @code{next-window}.
address@hidden deffn
address@hidden defun
 
 @deffn Command other-window count &optional all-frames
 This function selects another window in the cyclic ordering of windows.
@@ -827,7 +827,7 @@
 unless @var{norecord} is address@hidden
 @end deffn
 
address@hidden pop-to-buffer buffer-or-name &optional other-window norecord
address@hidden Command pop-to-buffer buffer-or-name &optional other-window 
norecord
 This command makes @var{buffer-or-name} the current buffer and switches
 to it in some window, preferably not the window previously selected.
 The ``popped-to'' window becomes the selected window.  Its frame is

=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2010-04-18 04:13:09 +0000
+++ b/doc/misc/ChangeLog        2010-04-19 15:07:52 +0000
@@ -1,3 +1,20 @@
+2010-04-18  Teodor Zlatanov  <address@hidden>
+
+       * gnus.texi (Gnus Versions, Oort Gnus): Mention the Git repo instead of
+       the CVS repo.  Put the Git repo in the news section.
+
+       * gnus-coding.texi (Gnus Maintainance Guide): Fix title typo.
+       Removed some mentions of CVS.  Mention the new Git repo.
+
+2010-04-18  Andreas Seltenreich  <address@hidden>
+
+       * gnus.texi (Score File Format): Fix typo.  Reported by Štěpán Němec.
+       (Mail Group Commands): Add index entry.
+
+2010-04-18  Glenn Morris  <address@hidden>
+
+       * info.texi (Search Index): Mention Emacs's Info-virtual-index.
+
 2010-04-18  Jay Belanger  <address@hidden>
 
        * calc.texi (Radix modes): Mention that the option prefix will
@@ -7,11 +24,10 @@
 2010-04-15  Carsten Dominik  <address@hidden>
 
        * org.texi (LaTeX and PDF export): Add a footnote about xetex.
-       (LaTeX/PDF export commands): Section renamed and
-       moved.
+       (LaTeX/PDF export commands): Rename and Move section.
        (Sectioning structure): Update.
        (References): New use case for field coordinates.
-       (The export dispatcher): Renamed from ASCII export.
+       (The export dispatcher): Rename from ASCII export.
        (Setting up the staging area): Document the availability of
        encryption for MobileOrg.
        (Images and tables): Document how to reference labels.
@@ -44,12 +60,10 @@
        scheduling and deadline commands.
        (Search view): Point to the docstring of
        `org-search-view' for more details.
-       (Agenda commands): Document that `>' prompts for a
-       date.
+       (Agenda commands): Document that `>' prompts for a date.
        (Setting tags): Document variable
        org-complete-tags-always-offer-all-agenda-tags.
-       (Column attributes): Cross-reference special
-       properties.
+       (Column attributes): Cross-reference special properties.
 
 2010-04-10  Michael Albinus  <address@hidden>
 

=== modified file 'doc/misc/gnus-coding.texi'
--- a/doc/misc/gnus-coding.texi 2010-01-13 08:35:10 +0000
+++ b/doc/misc/gnus-coding.texi 2010-04-18 23:24:22 +0000
@@ -32,16 +32,16 @@
 
 
 @titlepage
address@hidden Gnus Coding Style and Maintainance Guide
address@hidden Gnus Coding Style and Maintenance Guide
 
 @author by Reiner Steib  <Reiner.Steib@@gmx.de>
 
 @insertcopying
 @end titlepage
 
address@hidden Obviously this is only a very rudimentary draft.  We put it in 
CVS
address@hidden anyway hoping that it might annoy someone enough to fix it.  ;-)
address@hidden Fixing only a paragraph also is appreciated.
address@hidden Obviously this is only a very rudimentary draft.  We put it in 
the
address@hidden repository anyway hoping that it might annoy someone enough to 
fix
address@hidden it.  ;-) Fixing only a paragraph also is appreciated.
 
 @ifnottex
 @node Top
@@ -255,15 +255,17 @@
 
 @section Stable and development versions
 
-The development of Gnus normally is done on the CVS trunk, i.e. there
-are no separate branches to develop and test new features.  Most of the
-time, the trunk is developed quite actively with more or less daily
-changes.  Only after a new major release, e.g. 5.10.1, there's usually a
-feature period of several months.  After the release of Gnus 5.10.6 the
-development of new features started again on the trunk while the 5.10
-series is continued on the stable branch (v5-10) from which more stable
-releases will be done when needed (5.10.8, @dots{}).
address@hidden Development, ,Gnus Development, gnus, The Gnus Newsreader}
+The development of Gnus normally is done on the Git repository trunk
+as of April 19, 2010 (formerly it was done in CVS; the repository is
+at http://git.gnus.org), i.e. there are no separate branches to
+develop and test new features.  Most of the time, the trunk is
+developed quite actively with more or less daily changes.  Only after
+a new major release, e.g. 5.10.1, there's usually a feature period of
+several months.  After the release of Gnus 5.10.6 the development of
+new features started again on the trunk while the 5.10 series is
+continued on the stable branch (v5-10) from which more stable releases
+will be done when needed (5.10.8, @dots{}).  @ref{Gnus Development,
+,Gnus Development, gnus, The Gnus Newsreader}
 
 Stable releases of Gnus finally become part of Emacs.  E.g. Gnus 5.8
 became a part of Emacs 21 (relabeled to Gnus 5.9).  The 5.10 series 
@@ -333,8 +335,12 @@
 
 @item
 For general Gnus development changes, of course you just make the
-change on the Gnus CVS trunk and it goes into Emacs a few years
+change on the Gnus Git trunk and it goes into Emacs a few years
 later... :-)
+
+With the new Git repository, we'll probably set up something to
+automatically synchronize with Emacs when possible.  CVS was much less
+powerful for this kind of synchronization.
 @end itemize
 
 Of course in any case, if you just can't wait for me to sync your

=== modified file 'doc/misc/gnus.texi'
--- a/doc/misc/gnus.texi        2010-04-01 10:55:01 +0000
+++ b/doc/misc/gnus.texi        2010-04-19 15:07:52 +0000
@@ -11331,6 +11331,7 @@
 
 @item B DEL
 @kindex B DEL (Summary)
address@hidden deleting mail
 @findex gnus-summary-delete-article
 @c @icon{gnus-summary-mail-delete}
 Delete the mail article.  This is ``delete'' as in ``delete it from your
@@ -21843,7 +21844,7 @@
 
 When you enter the group the first time, you will only see the new
 threads.  You then raise the score of the threads that you find
-interesting (with @kbd{I T} or @kbd{I S}), and ignore (@kbd{C y}) the
+interesting (with @kbd{I T} or @kbd{I S}), and ignore (@kbd{c y}) the
 rest.  Next time you enter the group, you will see new articles in the
 interesting threads, plus any new threads.
 
@@ -27111,6 +27112,10 @@
 
 On the January 4th 2004, No Gnus was begun.
 
+On April 19, 2010 Gnus development was moved to Git.  See
+http://git.gnus.org for details (http://www.gnus.org will be updated
+with the information when possible).
+
 If you happen upon a version of Gnus that has a prefixed name --
 ``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'',
 ``Pterodactyl Gnus'', ``Oort Gnus'', ``No Gnus'' -- don't panic.
@@ -28507,7 +28512,7 @@
 hierarchy.
 
 @c FIXME: `gnus-load' is mentioned in README, which is not included in
address@hidden CVS.  We should find a better place for this item.
address@hidden the repository.  We should find a better place for this item.
 @item
 @code{(require 'gnus-load)}
 

=== modified file 'doc/misc/info.texi'
--- a/doc/misc/info.texi        2010-01-13 08:35:10 +0000
+++ b/doc/misc/info.texi        2010-04-15 07:34:28 +0000
@@ -15,7 +15,8 @@
 documentation system.
 
 Copyright @copyright{} 1989, 1992, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, 
Inc.
+2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -1050,6 +1051,13 @@
 want to read the description of what the @kbd{C-l} key does, type
 @address@hidden literally.
 
address@hidden Info-virtual-index
address@hidden I @r{(Info mode)}
+Emacs provides the command @code{Info-virtual-index}, bound to the
address@hidden key.  This behaves like @kbd{i}, but constructs a virtual
+info node displaying the results of an index search, making it easier
+to select the one you want.
+
 @findex info-apropos
 @findex index-apropos
 If you aren't sure which manual documents the topic you are looking

=== modified file 'etc/ChangeLog'
--- a/etc/ChangeLog     2010-04-18 21:35:20 +0000
+++ b/etc/ChangeLog     2010-04-19 15:07:52 +0000
@@ -1,3 +1,7 @@
+2010-04-18  Francesc Rocher  <address@hidden>
+
+       * MORE.STUFF: Add a new entry for QWE.
+
 2010-04-18  Stefan Monnier  <address@hidden>
 
        * HELLO (Mathematics): Prefer Unicode charset.

=== modified file 'etc/MORE.STUFF'
--- a/etc/MORE.STUFF    2010-03-15 10:45:03 +0000
+++ b/etc/MORE.STUFF    2010-04-04 10:42:05 +0000
@@ -215,6 +215,10 @@
  * Quack: <URL:http://www.neilvandyke.org/quack/>
    Quack enhances Emacs support for Scheme.
 
+ * QWE: <URL:http://www.nongnu.org/qwe/>
+   QWE's not WEB for Emacs is a quasi-WYSIWYG literate programming system for
+   Emacs that can be used with almost every programming language.
+
  * Session: <URL:http://emacs-session.sourceforge.net/>
    Session Management for Emacs.
 

=== modified file 'etc/NEWS.23'
--- a/etc/NEWS.23       2010-04-03 01:54:24 +0000
+++ b/etc/NEWS.23       2010-04-19 15:07:52 +0000
@@ -24,6 +24,7 @@
 
 * Installation Changes in Emacs 23.2
 
+---
 ** New configure options for Emacs developers
 These are not new features; only the configure flags are new.
 ---
@@ -36,8 +37,10 @@
 ** `make install' now consistently ignores umask, creating a
 world-readable install.
 
++++
 ** Emacs compiles with Gconf support, if it is detected.
 Use the configure option --without-gconf to disable this.
+This is used by the `font-use-system-font' feature (see below).
 
 * Startup Changes in Emacs 23.2
 +++
@@ -95,12 +98,14 @@
 unconditionally.  The previous behavior, toggling the mode, was
 neither reliable nor generally desirable.
 
-*** New commands for adding and removing file-local variables:
++++
+*** There are new commands for adding and removing file-local variables:
 `add-file-local-variable', `delete-file-local-variable',
 `add-file-local-variable-prop-line', and
 `delete-file-local-variable-prop-line'.
 
-*** New commands for adding and removing directory-local variables,
++++
+*** There are new commands for adding and removing directory-local variables,
 and copying them to and from file-local variable lists:
 `add-dir-local-variable', `delete-dir-local-variable',
 `copy-dir-locals-to-file-locals',
@@ -181,15 +186,18 @@
 
 * Changes in Specialized Modes and Packages in Emacs 23.2
 
+---
 ** The bookmark menu has a narrowing search via bookmark-bmenu-search.
 
 ** LaTeX mode now provides completion (via completion-at-point).
 
 ---
-** sym-comp.el is now declared obsolete, superceded by completion-at-point.
+** sym-comp.el is now declared obsolete, superseded by completion-at-point.
 
+---
 ** lucid.el and levents.el are now declared obsolete.
 
+---
 ** pcomplete provides a new command `pcomplete-std-completion' which
 is similar to `pcomplete' but using the standard completion UI code.
 
@@ -233,9 +241,9 @@
 
 ** GDB-UI
 
++++
 *** Toolbar functionality for reverse debugging.  Display of STL
-collections as watch expressions.  These features require GDB 7.0
-or later.
+collections as watch expressions.  These features require GDB 7.0 or later.
 
 ** Grep
 +++
@@ -243,9 +251,11 @@
 
 ** Info
 
++++
 *** The new command `Info-virtual-index' bound to "I" displays a menu of
 matched topics found in the index.
 
++++
 *** The new command `info-finder' replaces finder.el with a virtual Info
 manual that generates an Info file which gives the same information
 through a menu structure.
@@ -325,22 +335,25 @@
 backends do not support this.
 ---
 *** When a file is not found, VC will not try to check it out of RCS anymore.
-
++++
 *** Diff and log operations can be used from Dired buffers.
 
 *** vc-git changes
 
-**** The short log format for git makes use of the graph display, so
-it's not supported on git versions earlier than 1.5.
-
-**** Support for operating with stashes has been added to vc-dir: the stash 
list is
-displayed in the *vc-dir* header, stashes can be created, removed, applied and
-their content displayed.
-
-**** vc-dir displays the stash status
-
-**** vc-dir requires at least git-1.5.5.
-
+---
+**** The short log format for git makes use of the graph display,
+so it's not supported on git versions earlier than 1.5.6.
+
+---
+**** vc-dir uses the --relative option of git, and so requires at least
+git version 1.5.5.
+
++++
+**** Support for operating with stashes has been added to vc-dir:
+the stash list is displayed in the *vc-dir* header, stashes can be
+created, removed, applied and their content displayed.
+
++++
 *** vc-bzr supports operating with shelves: the shelve list is
 displayed in the *vc-dir* header, shelves can be created, removed and applied.
 ---
@@ -383,7 +396,7 @@
 That means, they change `default-directory' to the new users value,
 and let commands run under that user permissions.  It works even when
 `default-directory' is already remote.  Calling the external commands
-is possible by `*su' or `*sudo', repectively.
+is possible by `*su' or `*sudo', respectively.
 ---
 *** When running in a new enough xterm (newer than version 242), Emacs
 asks xterm what the background color is and it sets up faces
@@ -397,6 +410,7 @@
 This is a collection of packages to aid with using Emacs as an IDE
 (integrated development environment):
 
++++
 *** The Semantic package allows the use of parsers to intelligently
 edit and navigate source code.  Parsers for C/C++, Java, Javascript,
 and several other languages are included by default, and Semantic can
@@ -405,6 +419,7 @@
 To enable Semantic, use the global minor mode `semantic-mode'.
 See the Semantic manual for details.
 
++++
 *** EDE (Emacs Development Environment) is a package for managing code
 projects, including features such as automatic Makefile generation.
 
@@ -415,9 +430,11 @@
 code.  It is currently used by some parts of Semantic and EDE; in the
 future, it may be used for code generation features.
 
++++
 *** The EIEIO library implements a subset of the Common Lisp Object
 System (CLOS).  It is used by the other CEDET packages.
 
+---
 ** mpc.el is a front end for the Music Player Daemon.  Run it with M-x mpc.
 
 ** htmlfontify.el turns a fontified Emacs buffer into an HTML page.
@@ -425,6 +442,7 @@
 +++
 ** js.el is a new major mode for JavaScript files.
 
+---
 ** imap-hash.el is a new library to address IMAP mailboxes as hashtables.
 
 
@@ -452,16 +470,17 @@
 ** Support for generating Emacs 18 compatible bytecode (by setting
 the variable `byte-compile-compatibility') has been removed.
 
-** In image-mode.el `image-mode-maybe' is obsolete.  Instead, you can
-either use `image-mode' that displays an image file as the actual image
-inititally, or `image-mode-as-text' when you want to display an image file
-as text inititally.  `image-mode-as-text' is a combination of a non-image
-mode from `auto-mode-alist' (or Fundamental mode) and `image-minor-mode'.
-`image-minor-mode' provides `C-c C-c' key binding to toggle image display.
+---
+** In image-mode.el `image-mode-maybe' is obsolete.
+Instead, you can either use `image-mode' (which displays an image file
+as the actual image initially), or `image-mode-as-text' (when you want
+to display an image file as text initially).  `image-mode-as-text' is a
+combination of a non-image mode from `auto-mode-alist' (or Fundamental
+mode) and `image-minor-mode'.  `image-minor-mode' provides a `C-c C-c'
+key binding to toggle image display.
 `image-toggle-display-text' removes image properties.
 `image-toggle-display-image' adds image properties.
-`image-toggle-display' toggles between `image-mode-as-text' and
-`image-mode'.
+`image-toggle-display' toggles between `image-mode-as-text' and `image-mode'.
 
 
 * Lisp changes in Emacs 23.2

=== modified file 'leim/ChangeLog'
--- a/leim/ChangeLog    2010-03-27 12:01:22 +0000
+++ b/leim/ChangeLog    2010-04-19 15:07:52 +0000
@@ -1,3 +1,7 @@
+2010-04-06  Chong Yidong  <address@hidden>
+
+       * quail/vntelex.el: Fix "af" rule (Bug#5836).
+
 2010-03-27  Eli Zaretskii  <address@hidden>
 
        * makefile.w32-in ($(TIT), $(MISC_DIC), leim-list.el): Enclose the

=== modified file 'leim/quail/vntelex.el'
--- a/leim/quail/vntelex.el     2010-01-13 08:35:10 +0000
+++ b/leim/quail/vntelex.el     2010-04-06 15:32:15 +0000
@@ -285,7 +285,7 @@
  ("Dd" ?,2p(B)
 ;("$$" ?$,1tK(B)     ; U+20AB DONG SIGN (#### check)
 
- ("aff" ["aff"])
+ ("aff" ["af"])
  ("AFF" ["AF"])
  ("Aff" ["Af"])
  ("ass" ["as"])

=== modified file 'lib-src/ChangeLog'
--- a/lib-src/ChangeLog 2010-04-12 14:38:42 +0000
+++ b/lib-src/ChangeLog 2010-04-19 15:07:52 +0000
@@ -1,3 +1,9 @@
+2010-04-18  Juanma Barranquero  <address@hidden>
+
+       Add stubs for Windows, required after CVE-2010-0825 change.
+       * ntlib.c (getgid, getegid, setegid): New stubs.
+       * ntlib.h (getgid, getegid, setegid): Declare them.
+
 2010-04-12  Dan Nicolaescu  <address@hidden>
 
        * Makefile.in (ALL_CFLAGS, LINK_CFLAGS, CPP_CFLAGS): Move to the

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-04-19 14:34:01 +0000
+++ b/lisp/ChangeLog    2010-04-19 15:07:52 +0000
@@ -1,3 +1,80 @@
+2010-04-19  Chong Yidong  <address@hidden>
+
+       * cedet/ede/pmake.el (ede-proj-makefile-insert-variables):
+       Don't destroy list before using it.
+
+2010-04-19  Dan Nicolaescu  <address@hidden>
+
+       Fix the version number for added files.
+       * vc-hg.el (vc-hg-working-revision): Check if the file is
+       registered after hg parent fails (Bug#5961).
+
+2010-04-19  Glenn Morris  <address@hidden>
+
+       * htmlfontify.el (htmlfontify-buffer)
+       (htmlfontify-copy-and-link-dir): Autoload entry points.
+
+2010-04-19  Magnus Henoch  <address@hidden>
+
+       * vc-hg.el (vc-hg-annotate-extract-revision-at-line): Expand file
+       name relative to the project root (Bug#5960).
+
+2010-04-19  Glenn Morris  <address@hidden>
+
+       * vc-git.el (vc-git-print-log): Doc fix.
+
+2010-04-19  Óscar Fuentes  <address@hidden>
+
+       * ido.el (ido-file-internal): Fix 2009-12-02 change.
+
+2010-04-19  Christoph  <address@hidden>  (tiny change)
+
+       * progmodes/grep.el (grep-compute-defaults): Fix handling of host
+       default settings (Bug#5928).
+
+2010-04-19  Glenn Morris  <address@hidden>
+
+       * progmodes/fortran.el (fortran-match-and-skip-declaration):
+       New function.
+       (fortran-font-lock-keywords-3): Use it.  (Bug#1385)
+
+2010-04-19  Kenichi Handa  <address@hidden>
+
+       * language/indian.el (malayalam-composable-pattern): Fix previous
+       change (add U+0D4D "SIGN VIRAMA").
+       (oriya-composable-pattern): Add U+0B30 and fix typo in the regexp.
+       (tamil-composable-pattern): Fix typo in the regexp.
+       (telugu-composable-pattern): Fix U+0C4D and typo in the regexp.
+       (kannada-composable-pattern): Fix U+0CB0 and typo in the regexp.
+       (malayalam-composable-pattern): Fix U+0D4D and typo in the regexp.
+
+2010-04-19  Chong Yidong  <address@hidden>
+
+       * textmodes/tex-mode.el (latex-mode): Revert 2008-03-03 change to
+       paragraph-separate (Bug#5821).
+
+2010-04-19  Juri Linkov  <address@hidden>
+
+       Put breadcrumbs on overlay instead of inserting to buffer (bug#5809).
+
+       * info.el (Info-find-node-2): Comment out code that skips
+       breadcrumbs line.
+       (Info-mouse-follow-link): New command.
+       (Info-link-keymap): New keymap.
+       (Info-breadcrumbs): Rename from `Info-insert-breadcrumbs'.
+       Return a string with links instead of inserting breadcrumbs
+       to the Info buffer.
+       (Info-fontify-node): Comment out code that inserts breadcrumbs.
+       Instead of putting the `invisible' text property over the Info
+       header, make an overlay over the Info header with the `invisible'
+       property and `after-string' set to the string returned by
+       `Info-breadcrumbs'.
+
+2010-04-19  Chong Yidong  <address@hidden>
+
+       * help.el (help-window-setup-finish): Doc fix (Bug#5830).
+       Reported by address@hidden
+
 2010-04-19  Stefan Monnier  <address@hidden>
 
        * tmm.el (tmm-prompt): Remove obsolete call to x-popup-menu.
@@ -359,32 +436,31 @@
 
 2010-04-07  Michael McNamara  <address@hidden>
 
-        * progmodes/verilog-mode.el (verilog-forward-sexp):
+       * progmodes/verilog-mode.el (verilog-forward-sexp):
        (verilog-calc-1): Support "disable fork" and "fork wait" multi
        word keywords, suggested by Steve Pearlmutter.
-        (verilog-pretty-declarations): Support lineup of declarations in
+       (verilog-pretty-declarations): Support lineup of declarations in
        port lists.
-        (verilog-skip-backward-comments, verilog-skip-forward-comment-p):
-        fix bug for /* / comments
-        (verilog-backward-syntactic-ws, verilog-forward-syntactic-ws):
+       (verilog-skip-backward-comments, verilog-skip-forward-comment-p):
+       fix bug for /* / comments
+       (verilog-backward-syntactic-ws, verilog-forward-syntactic-ws):
        Speed up and simplfy as this is never called with a bound.
-        (verilog-pretty-declarations): Enhance to line up declarations
-        inside a parameter list, suggested by Alan Morgan.
-        (verilog-pretty-expr): Tune assignment regular expression match
-        string for corner cases; also use markers instead of character
-        number as indent changes the later.
+       (verilog-pretty-declarations): Enhance to line up declarations
+       inside a parameter list, suggested by Alan Morgan.
+       (verilog-pretty-expr): Tune assignment regular expression match
+       string for corner cases; also use markers instead of character
+       number as indent changes the later.
 
 2010-04-07  Wilson Snyder  <address@hidden>
 
-        * progmodes/verilog-mode.el (verilog-type-keywords): Fix pulldown as 
missing
-        keyword.
-        (verilog-read-sub-decls-line): Fix comments in AUTO_TEMPLATE
-        causing truncation of AUTOWIRE signals.  Reported by Bruce
-        Tennant.
-        (verilog-auto-inst, verilog-auto-inst-port): Add vl_mbits for
-        AUTO_TEMPLATEs needing multiple array bits.  Suggested by Bruce
-        Tennant.
-        (verilog-keywords):
+       * progmodes/verilog-mode.el (verilog-type-keywords): Fix pulldown
+       as missing keyword.
+       (verilog-read-sub-decls-line): Fix comments in AUTO_TEMPLATE
+       causing truncation of AUTOWIRE signals.  Reported by Bruce Tennant.
+       (verilog-auto-inst, verilog-auto-inst-port): Add vl_mbits for
+       AUTO_TEMPLATEs needing multiple array bits.  Suggested by Bruce
+       Tennant.
+       (verilog-keywords):
        (verilog-1800-2005-keywords, verilog-1800-2009-keywords): Add IEEE
        1800-2009 keywords, including "global.".
 
@@ -547,7 +623,7 @@
 
 2010-03-31  Stefan Monnier  <address@hidden>
 
-       Make tmm-menubar work for the Buffers menu again.
+       Make tmm-menubar work for the Buffers menu again (bug#5726).
        * tmm.el (tmm-prompt): Also handle keymap entries in the form of
        vectors rather than cons cells, as used in menu-bar-update-buffers.
 
@@ -1271,11 +1347,6 @@
        * calendar/cal-hebrew.el (holiday-hebrew-passover): Fix date
        of Yom HaAtzma'ut when it falls on a Monday (rule changed in 2004).
 
-2010-03-01  Alan Mackenzie  <address@hidden>
-
-       * progmodes/cc-engine.el (c-remove-stale-state-cache):
-       Correct previous patch.
-
 2010-03-01  Kenichi Handa  <address@hidden>
 
        * language/burmese.el (burmese-composable-pattern): Rename from
@@ -1287,11 +1358,6 @@
        (otf-script-alist): Likewise.
        (setup-default-fontset): Likewise.  Re-fix :otf spec.
 
-2010-03-01  Alan Mackenzie  <address@hidden>
-
-       * cc-engine.el (c-remove-stale-state-cache): Take account of when
-       `good-pos' is in the same macro as `here'.  Fixes bug#5649.
-
 2010-02-28  Katsumi Yamaoka  <address@hidden>
 
        * menu-bar.el (menu-bar-manuals-menu): Fix typo.
@@ -1357,16 +1423,6 @@
        * mail/sendmail.el (send-mail-function): Autoload the call
        to custom-initialize-delay, not otherwise preserved in loaddefs.el.
 
-2010-02-25  Alan Mackenzie  <address@hidden>
-
-       * progmodes/cc-engine.el (c-clear-<-pair-props)
-       (c-clear->-pair-props): Correct to wipe category text props, not
-       syntax-table ones.
-
-       * progmodes/cc-mode.el (c-after-change): Remove any hard
-       syntax-table properties for <, > which, e.g., C-y has
-       inopportunely converted from category properties.
-
 2010-02-24  Chong Yidong  <address@hidden>
 
        * files.el (hack-local-variables-filter): For eval forms, also
@@ -1704,33 +1760,6 @@
        (doc-view-pdf->png): Don't rely on doc-view-pdf/ps->png for the few
        windows that are not yet showing images.
 
-2010-02-04  Alan Mackenzie  <address@hidden>
-
-       Change strategy for marking < and > as template delimiters: mark
-       them strictly in matching pairs.
-
-       * cc-mode.el (c-before-change):
-       Use c-get-state-before-change-functions.
-       (c-common-init): Adapt to use
-       c-get-state-before-change-functions (note plural).
-
-       * cc-langs.el (c-no-parens-syntax-table): New syntax table, used
-       for searching syntactically for matching <s and >s.
-       (c-get-state-before-change-functions): New language variable (note
-       the plural) which supersedes c-get-state-before-change-function.
-
-       * cc-engine.el (c-clear-<-pair-props, c-clear->-pair-props)
-       (c-clear-<>-pair-props, c-clear-<-pair-props-if-match-after)
-       (c-clear->-pair-props-if-match-before)
-       (c-before-change-check-<>-operators): New functions.
-       (c-after-change-check-<>-operators): Use macro
-       c-unmark-<->-as-paren.
-
-       * cc-defs.el (c-search-backward-char-property): New macro.
-
-       * cc-cmds.el (c-electric-lt-gt): Do not set text properties on <
-       and > any more.  (These will be handled by font locking.)
-
 2010-02-04  Michael Albinus  <address@hidden>
 
        * dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call

=== modified file 'lisp/cedet/ede/pmake.el'
--- a/lisp/cedet/ede/pmake.el   2010-01-13 08:35:10 +0000
+++ b/lisp/cedet/ede/pmake.el   2010-04-18 21:40:10 +0000
@@ -425,10 +425,9 @@
        (link (ede-proj-linkers this))
        (name (ede-proj-makefile-target-name this))
        (src (oref this source)))
-    (while comp
-      (ede-compiler-only-once (car comp)
-       (ede-proj-makefile-insert-variables (car comp)))
-      (setq comp (cdr comp)))
+    (dolist (obj comp)
+      (ede-compiler-only-once obj
+                             (ede-proj-makefile-insert-variables obj)))
     (ede-proj-makefile-insert-object-variables (car comp) name src)
     (while link
       (ede-linker-only-once (car link)

=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2010-04-14 15:07:53 +0000
+++ b/lisp/gnus/ChangeLog       2010-04-19 15:07:52 +0000
@@ -1,6 +1,15 @@
+2010-04-17  Teodor Zlatanov  <address@hidden>
+
+       * smime.el: Don't mention CVS.
+
+       * nnrss.el (nnrss-fetch): Don't mention CVS.
+
+       * nnir.el: Don't mention CVS.
+
 2010-04-14  Stefan Monnier  <address@hidden>
 
-       * gnus-sum.el (gnus-summary-bookmark-make-record): Add `location' field.
+       * gnus-sum.el (gnus-summary-bookmark-make-record):
+       Add `location' field.
 
 2010-04-12  Stefan Monnier  <address@hidden>
 

=== modified file 'lisp/gnus/nnir.el'
--- a/lisp/gnus/nnir.el 2010-03-23 07:37:09 +0000
+++ b/lisp/gnus/nnir.el 2010-04-19 15:07:52 +0000
@@ -52,7 +52,7 @@
 
 
 ;; The most recent version of this can always be fetched from the Gnus
-;; CVS repository.  See http://www.gnus.org/ for more information.
+;; repository.  See http://www.gnus.org/ for more information.
 
 ;; This code is still in the development stage but I'd like other
 ;; people to have a look at it.  Please do not hesitate to contact me

=== modified file 'lisp/gnus/nnrss.el'
--- a/lisp/gnus/nnrss.el        2010-01-13 08:35:10 +0000
+++ b/lisp/gnus/nnrss.el        2010-04-18 23:24:22 +0000
@@ -427,7 +427,7 @@
 (defun nnrss-fetch (url &optional local)
   "Fetch URL and put it in a the expected Lisp structure."
   (mm-with-unibyte-buffer
-    ;;some CVS versions of url.el need this to close the connection quickly
+    ;;some versions of url.el need this to close the connection quickly
     (let (cs xmlform htmlform)
       ;; bit o' work necessary for w3 pre-cvs and post-cvs
       (if local

=== modified file 'lisp/gnus/smime.el'
--- a/lisp/gnus/smime.el        2010-01-13 08:35:10 +0000
+++ b/lisp/gnus/smime.el        2010-04-18 23:24:22 +0000
@@ -42,7 +42,7 @@
 ;; done on messages encoded in these formats.  The terminology chosen
 ;; reflect this.
 ;;
-;; The home of this file is in Gnus CVS, but also available from
+;; The home of this file is in Gnus, but also available from
 ;; http://josefsson.org/smime.html.
 
 ;;; Quick introduction:

=== modified file 'lisp/help.el'
--- a/lisp/help.el      2010-04-05 20:05:47 +0000
+++ b/lisp/help.el      2010-04-19 15:07:52 +0000
@@ -1048,10 +1048,9 @@
 Select WINDOW according to the value of `help-window-select'.
 Display message telling how to scroll and eventually quit WINDOW.
 
-Optional argument REUSE non-nil means WINDOW has been reused \(by
-`display-buffer'\) for displaying help.  Optional argument
-KEEP-FRAME non-nil means that quitting must no delete the frame
-of WINDOW."
+Optional argument REUSE non-nil means WINDOW has been reused by
+`display-buffer'.  Optional argument KEEP-FRAME non-nil means
+that quitting should not delete WINDOW's frame."
   (let ((number-of-windows
         (length (window-list (window-frame window) 'no-mini window))))
     (cond

=== modified file 'lisp/htmlfontify.el'
--- a/lisp/htmlfontify.el       2010-02-21 21:05:13 +0000
+++ b/lisp/htmlfontify.el       2010-04-17 02:07:48 +0000
@@ -1790,6 +1790,7 @@
     (when font-lock-defaults
       (font-lock-fontify-buffer)) ))
 
+;;;###autoload
 (defun htmlfontify-buffer (&optional srcdir file)
   "Create a new buffer, named for the current buffer + a .html extension,
 containing an inline CSS-stylesheet and formatted CSS-markup HTML
@@ -2276,6 +2277,7 @@
     (save-buffer)
     (kill-buffer B)))
 
+;;;###autoload
 (defun htmlfontify-copy-and-link-dir (srcdir dstdir &optional f-ext l-ext)
   "Trawl SRCDIR and write fontified-and-hyperlinked output in DSTDIR.
 F-EXT and L-EXT specify values for `hfy-extn' and `hfy-link-extn'.\n

=== modified file 'lisp/ido.el'
--- a/lisp/ido.el       2010-04-14 22:05:14 +0000
+++ b/lisp/ido.el       2010-04-19 15:07:52 +0000
@@ -2312,7 +2312,8 @@
           (or ido-use-url-at-point ido-use-filename-at-point))
       (let (fn d)
        (require 'ffap)
-       ;; Duplicate code from ffap-guesser as we want different behavior for 
files and URLs.
+       ;; Duplicate code from ffap-guesser as we want different
+       ;; behavior for files and URLs.
        (cond
         ((with-no-warnings
            (and ido-use-url-at-point
@@ -2328,7 +2329,10 @@
                              (ffap-guesser)
                            (ffap-string-at-point))))
               (not (string-match "^http:/" fn))
-              (setq d (file-name-directory (expand-file-name fn)))
+              (let ((absolute-fn (expand-file-name fn)))
+                (setq d (if (file-directory-p absolute-fn)
+                            (file-name-as-directory absolute-fn)
+                          (file-name-directory absolute-fn))))
               (file-directory-p d))
          (setq ido-current-directory d)
          (setq initial (file-name-nondirectory fn))))))

=== modified file 'lisp/info.el'
--- a/lisp/info.el      2010-04-15 01:12:20 +0000
+++ b/lisp/info.el      2010-04-19 15:07:52 +0000
@@ -1053,8 +1053,8 @@
            (Info-select-node)
            (goto-char (point-min))
            (forward-line 1)                   ; skip header line
-           (when (> Info-breadcrumbs-depth 0) ; skip breadcrumbs line
-             (forward-line 1))
+           ;; (when (> Info-breadcrumbs-depth 0) ; skip breadcrumbs line
+           ;;   (forward-line 1))
 
            (cond (anchorpos
                    (let ((new-history (list Info-current-file
@@ -3602,6 +3602,19 @@
      ((setq node (Info-get-token (point) "Prev: " "Prev: \\([^,\n\t]*\\)"))
       (Info-goto-node node fork)))
     node))
+
+(defun Info-mouse-follow-link (click)
+  "Follow a link where you click."
+  (interactive "e")
+  (let* ((position (event-start click))
+        (posn-string (and position (posn-string position)))
+        (string (car-safe posn-string))
+        (string-pos (cdr-safe posn-string))
+        (link-args (and string string-pos
+                        (get-text-property string-pos 'link-args string))))
+    (when link-args
+      (Info-goto-node link-args))))
+
 
 (defvar Info-mode-map
   (let ((map (make-keymap)))
@@ -4183,11 +4196,22 @@
     keymap)
   "Keymap to put on the Up link in the text or the header line.")
 
-(defun Info-insert-breadcrumbs ()
+(defvar Info-link-keymap
+  (let ((keymap (make-sparse-keymap)))
+    (define-key keymap [header-line mouse-1] 'Info-mouse-follow-link)
+    (define-key keymap [header-line mouse-2] 'Info-mouse-follow-link)
+    (define-key keymap [header-line down-mouse-1] 'ignore)
+    (define-key keymap [mouse-2] 'Info-mouse-follow-link)
+    (define-key keymap [follow-link] 'mouse-face)
+    keymap)
+  "Keymap to put on the link in the text or the header line.")
+
+(defun Info-breadcrumbs ()
   (let ((nodes (Info-toc-nodes Info-current-file))
        (node Info-current-node)
         (crumbs ())
-        (depth Info-breadcrumbs-depth))
+        (depth Info-breadcrumbs-depth)
+       line)
 
     ;; Get ancestors from the cached parent-children node info
     (while (and (not (equal "Top" node)) (> depth 0))
@@ -4214,15 +4238,25 @@
                             (file-name-nondirectory Info-current-file)
                           ;; Some legacy code can still use a symbol.
                           Info-current-file)))))
-         (insert (if (bolp) "" " > ")
-                 (cond
-                  ((null node) "...")
-                  ((equal node Info-current-node)
-                   ;; No point linking to ourselves.
-                   (propertize text 'font-lock-face 'info-header-node))
-                  (t
-                   (concat "*Note " text "::"))))))
-      (insert "\n"))))
+         (setq line (concat
+                     line
+                     (if (null line) "" " > ")
+                     (cond
+                      ((null node) "...")
+                      ((equal node Info-current-node)
+                       ;; No point linking to ourselves.
+                       (propertize text 'font-lock-face 'info-header-node))
+                      (t
+                       (propertize text
+                                   'mouse-face 'highlight
+                                   'font-lock-face 'info-header-xref
+                                   'help-echo "mouse-2: Go to node"
+                                   'keymap Info-link-keymap
+                                   'link-args text)))))))
+      (setq line (concat line "\n")))
+    ;; (font-lock-append-text-property 0 (length line)
+    ;;                                     'font-lock-face 'header-line line)
+    line))
 
 (defun Info-fontify-node ()
   "Fontify the node."
@@ -4269,8 +4303,8 @@
                ((string-equal (downcase tag) "next") Info-next-link-keymap)
                ((string-equal (downcase tag) "up"  ) Info-up-link-keymap))))))
 
-        (when (> Info-breadcrumbs-depth 0)
-          (Info-insert-breadcrumbs))
+        ;; (when (> Info-breadcrumbs-depth 0)
+        ;;   (insert (Info-breadcrumbs)))
 
         ;; Treat header line.
         (when Info-use-header-line
@@ -4302,7 +4336,10 @@
             ;; that is in the header, if it is just part.
             (cond
              ((> Info-breadcrumbs-depth 0)
-              (put-text-property (point-min) (1+ header-end) 'invisible t))
+             (let ((ov (make-overlay (point-min) (1+ header-end))))
+               (overlay-put ov 'invisible t)
+               (overlay-put ov 'after-string (Info-breadcrumbs))
+               (overlay-put ov 'evaporate t)))
              ((not (bobp))
               ;; Hide the punctuation at the end, too.
               (skip-chars-backward " \t,")

=== modified file 'lisp/language/indian.el'
--- a/lisp/language/indian.el   2010-03-30 12:46:31 +0000
+++ b/lisp/language/indian.el   2010-04-07 04:36:25 +0000
@@ -241,7 +241,7 @@
       ;; syllables with an independent vowel, or
       "\\(?:RH\\)?Vn?\\(?:J?HR\\)?v*n?a?A?\\|"
       ;; consonant-based syllables, or
-      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?|v*n?a?A?\\)\\|"
+      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?\\|v*n?a?A?\\)\\|"
       ;; special consonant form, or
       "JHR\\|"
       ;; any other singleton characters
@@ -256,8 +256,9 @@
           ("V" . "[\u0B05-\u0B14\u0B60-\u0B61]") ; independent vowel
           ("C" . "[\u0B15-\u0B39\u0B5C-\u0B5D\u0B71]") ; consonant
           ("B" . 
"[\u0B15-\u0B17\u0B1B-\u0B1D\u0B1F-\u0B21\u0B23-\u0B24\u0B27-\u0B30\u0B32-\u0B35\u0B38-\u0B39]")
 ; consonant with below form
+          ("R" . "\u0B30")             ; RA
           ("n" . "\u0B3C")             ; NUKTA
-          ("v" . "[\u0B3E-\u0B44\u0B56-\u0B57\u0B62-\u0B63]") ; vowel sign
+          ("v" . "[\u0B3E-\u0B44\u0B47\u0B56-\u0B57\u0B62-\u0B63]") ; vowel 
sign
           ("H" . "\u0B4D")             ; VIRAMA
           ("N" . "\u200C")             ; ZWNJ
           ("J" . "\u200D")             ; ZWJ
@@ -267,7 +268,7 @@
       ;; syllables with an independent vowel, or
       "\\(?:RH\\)?Vn?\\(?:J?HB\\)?v*n?a?A?\\|"
       ;; consonant-based syllables, or
-      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?|v*n?a?A?\\)\\|"
+      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?\\|v*n?a?A?\\)\\|"
       ;; special consonant form, or
       "JHB\\|"
       ;; any other singleton characters
@@ -288,7 +289,7 @@
     (indian-compose-regexp
      (concat
       ;; consonant-based syllables, or
-      "C\\(?:J?HJ?C\\)*\\(?:H[NJ]?|v*a?\\)\\|"
+      "C\\(?:J?HJ?C\\)*\\(?:H[NJ]?\\|v*a?\\)\\|"
       ;; syllables with an independent vowel, or
       "Vv*a?\\|"
       ;; any other singleton characters
@@ -302,14 +303,14 @@
           ("V" . "[\u0C05-\u0C14\u0C60-\u0C61]") ; independent vowel
           ("C" . "[\u0C15-\u0C39\u0C58-\u0C59]") ; consonant
           ("v" . "[\u0C3E-\u0C4C\u0C55-\u0C56\u0C62-\u0C63]")  ; vowel sign
-          ("H" . "\u0BCD")             ; VIRAMA
+          ("H" . "\u0C4D")             ; VIRAMA
           ("N" . "\u200C")             ; ZWNJ
           ("J" . "\u200D")             ; ZWJ
           ("X" . "[\u0C00-\u0C7F]")))) ; all coverage
     (indian-compose-regexp
      (concat
       ;; consonant-based syllables, or
-      "C\\(?:J?HJ?C\\)*\\(?:H[NJ]?|v*a?\\)\\|"
+      "C\\(?:J?HJ?C\\)*\\(?:H[NJ]?\\|v*a?\\)\\|"
       ;; syllables with an independent vowel, or
       "V\\(?:J?HC\\)?v*a?\\|"
       ;; special consonant form, or
@@ -324,7 +325,7 @@
         '(("A" . "[\u0C82-\u0C83]")    ; SIGN ANUSVARA .. VISARGA
           ("V" . "[\u0C85-\u0C94\u0CE0-\u0CE1]") ; independent vowel
           ("C" . "[\u0C95-\u0CB9\u0CDE]")        ; consonant
-          ("B" . "\u0CB0")             ; RA
+          ("R" . "\u0CB0")             ; RA
           ("n" . "\u0CBC")             ; NUKTA
           ("v" . "[\u0CBE-\u0CCC\u0CD5-\u0CD6\u0CE2-\u0CE3]") ; vowel sign
           ("H" . "\u0CCD")             ; VIRAMA
@@ -336,9 +337,9 @@
       ;; syllables with an independent vowel, or
       "\\(?:RH\\)?Vn?\\(?:J?HC\\)?v?A?\\|"
       ;; consonant-based syllables, or
-      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?|v*n?A?\\)\\|"
+      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?\\|v*n?A?\\)\\|"
       ;; special consonant form, or
-      "JHB\\|"
+      "JHC\\|"
       ;; any other singleton characters
       "X")
      table))
@@ -351,13 +352,14 @@
           ("C" . "[\u0D15-\u0D39]")              ; consonant 
           ("Y" . "[\u0D2F-\u0D30\u0D32\u0D35]")  ; YA, RA, LA, VA
           ("v" . "[\u0D3E-\u0D48\u0D57\u0D62-\u0D63]") ; postbase matra
+          ("H" . "\u0D4D")                       ; SIGN VIRAMA
           ("N" . "\u200C")                       ; ZWNJ
           ("J" . "\u200D")                       ; ZWJ
           ("X" . "[\u0D00-\u0D7F]"))))           ; all coverage
     (indian-compose-regexp
      (concat
       ;; consonant-based syllables, or
-      "\\(?:CJ?HJ?C\\)*\\(?:H[NJ]?\\|v?A?\\)\\|"
+      "C\\(?:J?HJ?C\\)*\\(?:H[NJ]?\\|v?A?\\)\\|"
       ;; syllables with an independent vowel, or
       "V\\(?:J?HY\\)?v*?A?\\|"
       ;; special consonant form, or

=== modified file 'lisp/minibuffer.el'
--- a/lisp/minibuffer.el        2010-04-14 22:05:14 +0000
+++ b/lisp/minibuffer.el        2010-04-19 15:07:52 +0000
@@ -381,21 +381,35 @@
 (defconst completion-styles-alist
   '((emacs21
      completion-emacs21-try-completion completion-emacs21-all-completions
-     "Simple prefix-based completion.")
+     "Simple prefix-based completion.
+I.e. when completing \"foo_bar\" (where _ is the position of point),
+it will consider all completions candidates matching the glob
+pattern \"foobar*\".")
     (emacs22
      completion-emacs22-try-completion completion-emacs22-all-completions
-     "Prefix completion that only operates on the text before point.")
+     "Prefix completion that only operates on the text before point.
+I.e. when completing \"foo_bar\" (where _ is the position of point),
+it will consider all completions candidates matching the glob
+pattern \"foo*\" and will add back \"bar\" to the end of it.")
     (basic
      completion-basic-try-completion completion-basic-all-completions
-     "Completion of the prefix before point and the suffix after point.")
+     "Completion of the prefix before point and the suffix after point.
+I.e. when completing \"foo_bar\" (where _ is the position of point),
+it will consider all completions candidates matching the glob
+pattern \"foo*bar*\".")
     (partial-completion
      completion-pcm-try-completion completion-pcm-all-completions
      "Completion of multiple words, each one taken as a prefix.
-E.g. M-x l-c-h can complete to list-command-history
-and C-x C-f /u/m/s to /usr/monnier/src.")
+I.e. when completing \"l-co_h\" (where _ is the position of point),
+it will consider all completions candidates matching the glob
     (substring
      completion-substring-try-completion completion-substring-all-completions
      "Completion of the string taken as a substring.")
+pattern \"l*-co*h*\".
+Furthermore, for completions that are done step by step in subfields,
+the method is applied to all the preceding fields that do not yet match.
+E.g. C-x C-f /u/mo/s TAB could complete to /usr/monnier/src.
+Additionally the user can use the char \"*\" as a glob pattern.")
     (initials
      completion-initials-try-completion completion-initials-all-completions
      "Completion of acronyms and initialisms.
@@ -410,7 +424,19 @@
 follow the calling convention of `completion-all-completions'),
 and DOC describes the way this style of completion works.")
 
-(defcustom completion-styles '(basic partial-completion emacs22)
+(defcustom completion-styles
+  ;; First, use `basic' because prefix completion has been the standard
+  ;; for "ever" and works well in most cases, so using it first
+  ;; ensures that we obey previous behavior in most cases.
+  '(basic
+    ;; Then use `partial-completion' because it has proven to
+    ;; be a very convenient extension.
+    partial-completion
+    ;; Finally use `emacs22' so as to maintain (in many/most cases)
+    ;; the previous behavior that when completing "foobar" with point
+    ;; between "foo" and "bar" the completion try to complete "foo"
+    ;; and simply add "bar" to the end of the result.
+    emacs22)
   "List of completion styles to use.
 The available styles are listed in `completion-styles-alist'."
   :type `(repeat (choice ,@(mapcar (lambda (x) (list 'const (car x)))

=== modified file 'lisp/progmodes/fortran.el'
--- a/lisp/progmodes/fortran.el 2010-01-13 08:35:10 +0000
+++ b/lisp/progmodes/fortran.el 2010-04-10 02:14:47 +0000
@@ -403,6 +403,28 @@
            '("^ *\\([0-9]+\\)" . font-lock-constant-face)))
   "Medium level highlighting for Fortran mode.")
 
+;; See bug#1385. Never really looked into _why_ this matters...
+(defun fortran-match-and-skip-declaration (limit)
+  "Like `font-lock-match-c-style-declaration-item-and-skip-to-next'.
+The only difference is, it returns t in a case when the default returns nil."
+  (when (looking-at "[ \n\t*]*\\(\\sw+\\)[ \t\n]*\\(((?\\)?")
+    (when (and (match-end 2) (> (- (match-end 2) (match-beginning 2)) 1))
+      (let ((pos (point)))
+       (skip-chars-backward " \t\n")
+       (skip-syntax-backward "w")
+       (unless (looking-at "\\(\\sw+\\)[ \t\n]*\\sw+[ \t\n]*\\(((?\\)?")
+         (goto-char pos)
+         (looking-at "[ \n\t*]*\\(\\sw+\\)[ \t\n]*\\(((?\\)?"))))
+    (save-match-data
+      (condition-case nil
+         (save-restriction
+           (narrow-to-region (point-min) limit)
+           (goto-char (match-end 1))
+           (while (not (looking-at "[ \t\n]*\\(\\(,\\)\\|;\\|\\'\\)"))
+             (goto-char (or (scan-sexps (point) 1) (point-max))))
+            (goto-char (match-end 2)))
+       (error t)))))
+
 (defvar fortran-font-lock-keywords-3
   (append
    fortran-font-lock-keywords-1
@@ -412,7 +434,7 @@
           ;; Type specifier.
           '(1 font-lock-type-face)
           ;; Declaration item (or just /.../ block name).
-          `(font-lock-match-c-style-declaration-item-and-skip-to-next
+          `(fortran-match-and-skip-declaration
             ;; Start after any *(...) expression.
             (condition-case nil
                 (and (match-beginning ,(1+ (regexp-opt-depth

=== modified file 'lisp/progmodes/grep.el'
--- a/lisp/progmodes/grep.el    2010-01-31 21:47:47 +0000
+++ b/lisp/progmodes/grep.el    2010-04-14 15:33:42 +0000
@@ -513,8 +513,8 @@
                       grep-find-template grep-find-use-xargs
                       grep-highlight-matches))
       (set setting
-          (or (cadr (assq setting host-defaults))
-              (cadr (assq setting defaults)))))
+          (cadr (or (assq setting host-defaults)
+                    (assq setting defaults)))))
 
     (unless (or (not grep-use-null-device) (eq grep-use-null-device t))
       (setq grep-use-null-device

=== modified file 'lisp/textmodes/tex-mode.el'
--- a/lisp/textmodes/tex-mode.el        2010-02-16 02:42:03 +0000
+++ b/lisp/textmodes/tex-mode.el        2010-04-06 15:43:08 +0000
@@ -1060,7 +1060,7 @@
                "\\>\\|\\\\[a-z]*" (regexp-opt '("space" "skip" "page") t)
                "\\>\\)"))
   (setq paragraph-separate
-       (concat "[\f]\\|[ \t]*\\($\\|"
+       (concat "[\f%]\\|[ \t]*\\($\\|"
                "\\\\[][]\\|"
                "\\\\" (regexp-opt (append
                                    (mapcar 'car latex-section-alist)

=== modified file 'lisp/vc-git.el'
--- a/lisp/vc-git.el    2010-04-09 15:35:30 +0000
+++ b/lisp/vc-git.el    2010-04-19 15:07:52 +0000
@@ -420,6 +420,7 @@
      (vc-git-command (current-buffer) 'async files
                      "ls-files" "-z" "-o" "-i" "--directory"
                      "--no-empty-directory" "--exclude-standard" "--"))
+    ;; --relative added in Git 1.5.5.
     (diff-index
      (vc-git-command (current-buffer) 'async files
                      "diff-index" "--relative" "-z" "-M" "HEAD" "--")))
@@ -578,7 +579,9 @@
 ;;; HISTORY FUNCTIONS
 
 (defun vc-git-print-log (files buffer &optional shortlog start-revision limit)
-  "Get change log associated with FILES."
+  "Get change log associated with FILES.
+Note that using SHORTLOG requires at least Git version 1.5.6,
+for the --graph option."
   (let ((coding-system-for-read git-commits-coding-system))
     ;; `vc-do-command' creates the buffer, but we need it before running
     ;; the command.

=== modified file 'lisp/vc-hg.el'
--- a/lisp/vc-hg.el     2010-04-07 05:56:35 +0000
+++ b/lisp/vc-hg.el     2010-04-19 15:07:52 +0000
@@ -196,16 +196,16 @@
   (let*
       ((status nil)
        (default-directory (file-name-directory file))
+       ;; Avoid localization of messages so we can parse the output.
+       (avoid-local-env (append (list "TERM=dumb" "LANGUAGE=C" "HGRC=")
+                                    process-environment))
        (out
         (with-output-to-string
           (with-current-buffer
               standard-output
             (setq status
                   (condition-case nil
-                     (let ((process-environment
-                            ;; Avoid localization of messages so we can parse 
the output.
-                            (append (list "TERM=dumb" "LANGUAGE=C" "HGRC=")
-                                    process-environment)))
+                     (let ((process-environment avoid-local-env))
                        ;; Ignore all errors.
                        (process-file
                         "hg" nil t nil
@@ -213,7 +213,23 @@
                     ;; Some problem happened.  E.g. We can't find an `hg'
                     ;; executable.
                     (error nil)))))))
-    (when (eq 0 status) out)))
+    (if (eq 0 status)
+       out
+      ;; Check if the file is in the 'added state, the above hg
+      ;; command does not distinguish between 'added and 'unregistered.
+      (setq status
+           (condition-case nil
+               (let ((process-environment avoid-local-env))
+                 (process-file
+                  "hg" nil nil nil
+                  ;; We use "log" here, if there's a faster command
+                  ;; that returns true for an 'added file and false
+                  ;; for an 'unregistered one, we could use that.
+                  "log" "-l1" (file-relative-name file)))
+             ;; Some problem happened.  E.g. We can't find an `hg'
+             ;; executable.
+             (error nil)))
+      (when (eq 0 status) "0"))))
 
 ;;; History functions
 
@@ -356,7 +372,8 @@
       (if (match-beginning 3)
          (match-string-no-properties 1)
        (cons (match-string-no-properties 1)
-             (expand-file-name (match-string-no-properties 4)))))))
+             (expand-file-name (match-string-no-properties 4)
+                               (vc-hg-root default-directory)))))))
 
 (defun vc-hg-previous-revision (file rev)
   (let ((newrev (1- (string-to-number rev))))

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-04-19 13:17:44 +0000
+++ b/src/ChangeLog     2010-04-19 15:07:52 +0000
@@ -1,3 +1,34 @@
+2010-04-19  Juanma Barranquero  <address@hidden>
+
+       * dired.c (Ffile_attributes): Fix typo in docstring.
+
+2010-04-19  Adrian Robert  <address@hidden>
+
+       * nsmenu.m (EmacsDialog-runDialogAt:): Declare ret as
+       NSInteger (Bug#5811).
+
+2010-04-19  YAMAMOTO Mitsuharu  <address@hidden>
+
+       * s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF)
+       (PTY_OPEN): New defines.  Use openpty (Bug#726, Bug#5819).
+
+2010-04-19  YAMAMOTO Mitsuharu  <address@hidden>
+
+       * frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis.
+
+2010-04-19  Jan Djärv  <address@hidden>
+
+       * frame.h (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Don't use
+       FRAME_LINE_TO_PIXEL_Y.
+
+       * xterm.c (x_set_window_size_1): Don't add border_width/height to
+       pixelwidth/height.
+
+2010-04-19  Chong Yidong  <address@hidden>
+
+       * xdisp.c (prepare_menu_bars): Don't call ns_set_doc_edited for
+       terminal frames (Bug#5837).
+
 2010-04-19  Eli Zaretskii  <address@hidden>
 
        * .gdbinit (xsubchartable): New command.

=== modified file 'src/dired.c'
--- a/src/dired.c       2010-04-01 14:59:46 +0000
+++ b/src/dired.c       2010-04-19 15:07:52 +0000
@@ -935,9 +935,9 @@
 Value is nil if specified file cannot be opened.
 
 ID-FORMAT specifies the preferred format of attributes uid and gid (see
-below) - valid values are 'string and 'integer. The latter is the default,
-but we plan to change that, so you should specify a non-nil value for
-ID-FORMAT if you use the returned uid or gid.
+below) - valid values are 'string and 'integer.  The latter is the
+default, but we plan to change that, so you should specify a non-nil value
+for ID-FORMAT if you use the returned uid or gid.
 
 Elements of the attribute list are:
  0. t for directory, string (name linked to) for symbolic link, or nil.

=== modified file 'src/frame.h'
--- a/src/frame.h       2010-04-15 21:52:27 +0000
+++ b/src/frame.h       2010-04-19 15:07:52 +0000
@@ -980,7 +980,7 @@
    at ROW/COL.  */
 
 #define FRAME_LINE_TO_PIXEL_Y(f, row) \
-  ((row < FRAME_TOP_MARGIN (f) ? 0 : FRAME_INTERNAL_BORDER_WIDTH (f))  \
+  (((row) < FRAME_TOP_MARGIN (f) ? 0 : FRAME_INTERNAL_BORDER_WIDTH (f))        
\
    + (row) * FRAME_LINE_HEIGHT (f))
 
 #define FRAME_COL_TO_PIXEL_X(f, col) \

=== modified file 'src/nsmenu.m'
--- a/src/nsmenu.m      2010-01-13 08:35:10 +0000
+++ b/src/nsmenu.m      2010-04-13 06:01:46 +0000
@@ -1709,7 +1709,7 @@
 
 - (Lisp_Object)runDialogAt: (NSPoint)p
 {
-  int ret;
+  NSInteger ret;
   extern EMACS_TIME timer_check (int do_it_now); /* TODO: add to a header */
 
   /* initiate a session that will be ended by pop_down_menu */

=== modified file 'src/s/darwin.h'
--- a/src/s/darwin.h    2010-04-11 21:43:28 +0000
+++ b/src/s/darwin.h    2010-04-19 15:07:52 +0000
@@ -90,6 +90,24 @@
  */
 
 #define HAVE_PTYS
+/* Run only once.  We need a `for'-loop because the code uses
+   `continue'.  */
+#define PTY_ITERATION  for (i = 0; i < 1; i++)
+#define PTY_NAME_SPRINTF       /* none */
+#define PTY_TTY_NAME_SPRINTF   /* none */
+/* Note that openpty may fork via grantpt on Mac OS X 10.4/Darwin 8.
+   But we don't have to block SIGCHLD because it is blocked in the
+   implementation of grantpt.  */
+#define PTY_OPEN                                               \
+  do                                                           \
+    {                                                          \
+      int slave;                                               \
+      if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1)   \
+       fd = -1;                                                \
+      else                                                     \
+       emacs_close (slave);                                    \
+    }                                                          \
+  while (0)
 
 /**
  * PTYs only work correctly on Darwin 7 or higher.  So make the


reply via email to

[Prev in Thread] Current Thread [Next in Thread]