changeset 93759:4e76a03232e5

Merge from emacs--rel--22 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1107
author Miles Bader <miles@gnu.org>
date Sat, 05 Apr 2008 23:01:26 +0000
parents abcbb8375c30 (current diff) 929f21105918 (diff)
children dbd33455757e
files admin/nt/README-ftp-server doc/emacs/ChangeLog doc/emacs/custom.texi doc/emacs/dired.texi doc/emacs/display.texi doc/emacs/mini.texi doc/emacs/mule.texi doc/misc/ChangeLog doc/misc/cl.texi doc/misc/org.texi etc/AUTHORS etc/ChangeLog etc/GNUS-NEWS etc/NEWS.22 etc/PROBLEMS etc/tutorials/TUTORIAL.de lisp/ChangeLog lisp/diff-mode.el lisp/dired.el lisp/emacs-lisp/advice.el lisp/progmodes/gdb-ui.el lisp/term/mac-win.el lisp/vc-bzr.el src/ChangeLog src/ccl.c src/ccl.h src/image.c src/mac.c src/macmenu.c src/macselect.c src/macterm.h src/w32.c
diffstat 32 files changed, 262 insertions(+), 74 deletions(-) [+]
line wrap: on
line diff
--- a/admin/nt/README-ftp-server	Sat Apr 05 21:40:16 2008 +0000
+++ b/admin/nt/README-ftp-server	Sat Apr 05 23:01:26 2008 +0000
@@ -7,7 +7,7 @@
 
 			      Version 22.2
 
-			     May 22, 2007
+			     March 26, 2008
 		
   This directory contains source and precompiled distributions for GNU
   Emacs on Windows NT/2000/XP and Windows 95/98/Me.  This port is a
--- a/doc/emacs/ChangeLog	Sat Apr 05 21:40:16 2008 +0000
+++ b/doc/emacs/ChangeLog	Sat Apr 05 23:01:26 2008 +0000
@@ -11,6 +11,15 @@
 	* calendar.texi: Update for `calendar-date-style' replacing
 	`european-calendar'.
 
+2008-03-28  Jason Rumney  <jasonr@gnu.org>
+
+	* display.texi (Display Custom): Mention overlay-margin in text.
+
+2008-03-12  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* custom.texi, dired.texi, mini.texi, mule.texi: Add `referenced in the
+	tutorial' comments.
+
 2008-03-28  Chong Yidong  <cyd@stupidchicken.com>
 
 	* mark.texi (Mark): Rearrange nodes.
--- a/doc/emacs/custom.texi	Sat Apr 05 21:40:16 2008 +0000
+++ b/doc/emacs/custom.texi	Sat Apr 05 23:01:26 2008 +0000
@@ -1592,6 +1592,8 @@
 
 @node Init Rebinding
 @subsection Rebinding Keys in Your Init File
+@c This node is referenced in the tutorial.  When renaming or deleting
+@c it, the tutorial needs to be adjusted.  (TUTORIAL.de)
 
   If you have a set of key bindings that you like to use all the time,
 you can specify them in your @file{.emacs} file by using their Lisp
--- a/doc/emacs/dired.texi	Sat Apr 05 21:40:16 2008 +0000
+++ b/doc/emacs/dired.texi	Sat Apr 05 23:01:26 2008 +0000
@@ -4,6 +4,8 @@
 @c See file emacs.texi for copying conditions.
 @node Dired, Calendar/Diary, Rmail, Top
 @chapter Dired, the Directory Editor
+@c This node is referenced in the tutorial.  When renaming or deleting
+@c it, the tutorial needs to be adjusted.
 @cindex Dired
 @cindex file management
 
--- a/doc/emacs/display.texi	Sat Apr 05 21:40:16 2008 +0000
+++ b/doc/emacs/display.texi	Sat Apr 05 23:01:26 2008 +0000
@@ -1217,7 +1217,7 @@
 displayed, by setting the variable @code{hourglass-delay}.
 
 @vindex overline-margin
-  On graphical display, this variables specifies the vertical position
+  On graphical display, the variable @code{overline-margin} specifies the vertical position
 of an overline above the text, including the height of the overline
 itself (1 pixel).  The default value is 2 pixels.
 
--- a/doc/emacs/mini.texi	Sat Apr 05 21:40:16 2008 +0000
+++ b/doc/emacs/mini.texi	Sat Apr 05 23:01:26 2008 +0000
@@ -175,6 +175,8 @@
 
 @node Completion
 @section Completion
+@c This node is referenced in the tutorial.  When renaming or deleting
+@c it, the tutorial needs to be adjusted.
 @cindex completion
   
   Some arguments allow @dfn{completion} to enter their value.  This
--- a/doc/emacs/mule.texi	Sat Apr 05 21:40:16 2008 +0000
+++ b/doc/emacs/mule.texi	Sat Apr 05 23:01:26 2008 +0000
@@ -4,6 +4,8 @@
 @c See file emacs.texi for copying conditions.
 @node International, Major Modes, Frames, Top
 @chapter International Character Set Support
+@c This node is referenced in the tutorial.  When renaming or deleting
+@c it, the tutorial needs to be adjusted.  (TUTORIAL.de)
 @cindex MULE
 @cindex international scripts
 @cindex multibyte characters
--- a/doc/misc/ChangeLog	Sat Apr 05 21:40:16 2008 +0000
+++ b/doc/misc/ChangeLog	Sat Apr 05 23:01:26 2008 +0000
@@ -27,6 +27,14 @@
 
 	* trampver.texi: Update release number.
 
+2008-03-29  Chong Yidong  <cyd@stupidchicken.com>
+
+	* org.texi: Update to new org-mode website.
+
+2008-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* cl.texi (For Clauses): Fix loop over key-seq to match code.
+
 2008-03-22  Reiner Steib  <Reiner.Steib@gmx.de>
 
 	* gnus.texi (Foreign Groups): Add gnus-read-ephemeral-gmane-group,
--- a/doc/misc/cl.texi	Sat Apr 05 21:40:16 2008 +0000
+++ b/doc/misc/cl.texi	Sat Apr 05 23:01:26 2008 +0000
@@ -2471,7 +2471,8 @@
 
 @item for @var{var} being the key-codes of @var{keymap}
 This clause iterates over the entries in @var{keymap}.
-The iteration does not enter nested keymaps or inherited (parent) keymaps.
+The iteration does not enter nested keymaps but does enter inherited
+(parent) keymaps.
 You can use @samp{the key-bindings} to access the commands bound to
 the keys rather than the key codes, and you can add a @code{using}
 clause to access both the codes and the bindings together.
--- a/doc/misc/org.texi	Sat Apr 05 21:40:16 2008 +0000
+++ b/doc/misc/org.texi	Sat Apr 05 23:01:26 2008 +0000
@@ -2310,7 +2310,7 @@
 the colon.  The following list shows examples for each link type.
 
 @example
-http://www.astro.uva.nl/~dominik          @r{on the web}
+http://orgmode.org/                       @r{on the web}
 file:/home/dominik/images/jupiter.jpg     @r{file, absolute path}
 file:papers/last.pdf                      @r{file, relative path}
 news:comp.emacs                           @r{Usenet link}
--- a/etc/AUTHORS	Sat Apr 05 21:40:16 2008 +0000
+++ b/etc/AUTHORS	Sat Apr 05 23:01:26 2008 +0000
@@ -132,7 +132,7 @@
 Andreas Schwab: changed Makefile.in files.el lisp.h alloc.c xdisp.c
   configure.in editfns.c fns.c print.c coding.c dired.el fileio.c info.el
   eval.c process.c simple.el buffer.c minibuf.c window.c xterm.c emacs.c
-  and 451 other files
+  and 452 other files
 
 Andreas Seltenreich: changed nnweb.el gnus.texi nnslashdot.el
   gnus-util.el mm-uu.el url-http.el battery.el comint.el easy-mmode.el
@@ -344,10 +344,10 @@
 Cheng Gao: changed MORE.STUFF flymake.el tips.texi url-dired.el
   url-file.el url-handlers.el url-http.el url-nfs.el
 
-Chong Yidong: changed files.el cus-edit.el simple.el xdisp.c longlines.el
+Chong Yidong: changed files.el simple.el cus-edit.el xdisp.c longlines.el
   display.texi custom.el files.texi image-mode.el keyboard.c info.el
   compile.el custom.texi text.texi xterm.c frames.texi image.c mouse.el
-  misc.texi startup.el wid-edit.el and 302 other files
+  misc.texi startup.el wid-edit.el and 322 other files
 
 Chris Hanson: changed xscheme.el scheme.el xterm.c hpux.h x11term.c
   hp9000s300.h keyboard.c process.c texinfmt.el emacsclient.c sort.el
@@ -429,9 +429,9 @@
 
 Dan Nicolaescu: wrote iris-ansi.el romanian.el
 and changed xterm.el term.el hideshow.el vc-hg.el verilog-mode.el
-  files.el isearch.el sh-script.el icon.el lisp.h vc.el cus-edit.el
-  faces.el font-lock.el grep.el diff-mode.el eterm-color.ti ibuffer.el
-  replace.el rxvt.el term.c and 191 other files
+  files.el isearch.el sh-script.el font-lock.el icon.el lisp.h vc.el
+  cus-edit.el faces.el grep.el diff-mode.el eterm-color.ti ibuffer.el
+  replace.el rxvt.el term.c and 192 other files
 
 Daniel Brockman: changed cus-start.el format-spec.el ibuffer.el rcirc.el
 
@@ -876,7 +876,7 @@
   calendar.texi COPYING appt.el Makefile.in files.el sh-script.el
   timeclock.el cal-menu.el configure.in simple.el tex-mode.el calc.texi
   complete.el fr-refcard.tex orgcard.tex programs.texi startup.el
-  and 249 other files
+  and 250 other files
 
 Glynn Clements: wrote gamegrid.el snake.el tetris.el
 
@@ -1205,10 +1205,12 @@
 
 Joev Dubach: changed nntp.el
 
+Johan Bockg$: changed info.el
+
 Johan Bockg,Ae(Brd: changed erc.el erc-backend.el cl-macs.el erc-match.el
   custom.el erc-nickserv.el erc-ring.el erc-speak.el erc-track.el
-  simple.el xterm.el align.el browse-url.el bytecomp.el calendar.el
-  cl.texi dired-aux.el dired-x.el display.texi erc-bbdb.el erc-button.el
+  simple.el subr.el xterm.el align.el browse-url.el bytecomp.el
+  calendar.el cl.texi dired-aux.el dired-x.el display.texi erc-bbdb.el
   and 23 other files
 
 Johan Vromans: wrote forms-d2.el forms.el iso-acc.el
@@ -1315,7 +1317,7 @@
 Juanma Barranquero: changed makefile.w32-in subr.el faces.el files.el
   help-fns.el bs.el w32fns.c buffer.c simple.el desktop.el emacsclient.c
   replace.el eval.c org.el idlwave.el ido.el process.c vhdl-mode.el
-  window.c xdisp.c allout.el and 660 other files
+  window.c xdisp.c allout.el and 661 other files
 
 Juergen Hoetzel: changed url-handlers.el
 
@@ -1330,8 +1332,8 @@
 Jure Cuhalev: changed ispell.el
 
 Juri Linkov: changed info.el simple.el isearch.el replace.el compile.el
-  faces.el display.texi grep.el descr-text.el cus-edit.el startup.el
-  dired.el dired-aux.el edebug.el compare-w.el desktop.el files.el
+  faces.el display.texi grep.el descr-text.el cus-edit.el dired.el
+  startup.el dired-aux.el edebug.el compare-w.el desktop.el files.el
   lisp-mode.el lisp.el man.el menu-bar.el and 224 other files
 
 Justin Sheehy: changed gnus-sum.el nntp.el
@@ -1394,9 +1396,9 @@
 
 Katsumi Yamaoka: wrote canlock.el
 and changed gnus-art.el message.el gnus-sum.el gnus.texi mm-decode.el
-  mm-view.el gnus-util.el gnus.el mm-util.el gnus-msg.el gnus-agent.el
-  gnus-start.el lpath.el nntp.el rfc2047.el gnus-group.el dgnushack.el
-  mm-uu.el mml.el nnrss.el message.texi and 76 other files
+  mm-view.el gnus-util.el gnus.el mm-util.el gnus-msg.el nntp.el
+  gnus-agent.el gnus-start.el lpath.el rfc2047.el gnus-group.el
+  dgnushack.el mm-uu.el mml.el nnrss.el message.texi and 76 other files
 
 Kaveh R. Ghazi: changed delta88k.h xterm.c
 
@@ -1986,6 +1988,8 @@
 
 Nikolaj Schumacher: changed compile.el rx.el
 
+Nils Ackermann: changed message.el nnmh.el
+
 Noah Friedman: wrote eldoc.el rlogin.el rsz-mini.el type-break.el
 and changed comint.el emacs-buffer.gdb files.el mailabbrev.el sendmail.el
   subr.el timer.el yow.el battery.el complete.el config.in configure.in
@@ -2224,11 +2228,11 @@
   pgg-gpg.el
 
 Reiner Steib: wrote gmm-utils.el
-and changed gnus-art.el gnus.texi message.el gnus-sum.el gnus.el
+and changed gnus.texi gnus-art.el message.el gnus-sum.el gnus.el
   gnus-group.el gnus-faq.texi mm-util.el gnus-start.el gnus-util.el
   message.texi mml.el gnus-score.el gnus-agent.el gnus-msg.el spam.el
-  files.el nnmail.el spam-report.el mm-decode.el nnweb.el
-  and 168 other files
+  files.el nnmail.el spam-report.el mail-source.el mm-decode.el
+  and 170 other files
 
 Remek Trzaska: changed gnus-ems.el
 
@@ -2474,7 +2478,7 @@
 and changed vc.el font-lock.el pcvs.el newcomment.el subr.el lisp.h
   keyboard.c fill.el tex-mode.el keymap.c vc-hooks.el compile.el
   simple.el files.el alloc.c easy-mmode.el regex.c syntax.c info.el
-  xdisp.c sh-script.el and 528 other files
+  xdisp.c sh-script.el and 529 other files
 
 Steinar Bang: changed imap.el
 
--- a/etc/ChangeLog	Sat Apr 05 21:40:16 2008 +0000
+++ b/etc/ChangeLog	Sat Apr 05 23:01:26 2008 +0000
@@ -1,14 +1,26 @@
+2008-03-22  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* GNUS-NEWS (incoming mail files): Add version.
+
+2008-03-12  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* tutorials/TUTORIAL.de: Remove even more discussion of flow
+	control.  Refer to node name `Init Rebinding' instead of title.
+
 2008-03-13  Carsten Dominik  <dominik@science.uva.nl>
 
 	* refcards/orgcard.tex: Minor fixes.
 
 2008-03-12  Chong Yidong  <cyd@stupidchicken.com>
 
-	* TUTORIAL, TUTORIAL.fr, TUTORIAL.ro, TUTORIAL.bg, TUTORIAL.it:
-	* TUTORIAL.ru, TUTORIAL.cn, TUTORIAL.ja, TUTORIAL.sk:
-	* TUTORIAL.cs, TUTORIAL.ko, TUTORIAL.sl, TUTORIAL.de:
-	* TUTORIAL.nl, TUTORIAL.sv, TUTORIAL.eo, TUTORIAL.pl, TUTORIAL.th:
-	* TUTORIAL.es, TUTORIAL.pt_BR: Remove discussion of flow control.
+	* tutorials/TUTORIAL, tutorials/TUTORIAL.fr, tutorials/TUTORIAL.ro:
+	* tutorials/TUTORIAL.bg, tutorials/TUTORIAL.it, tutorials/TUTORIAL.ru:
+	* tutorials/TUTORIAL.cn, tutorials/TUTORIAL.ja, tutorials/TUTORIAL.sk:
+	* tutorials/TUTORIAL.cs, tutorials/TUTORIAL.ko, tutorials/TUTORIAL.sl:
+	* tutorials/TUTORIAL.de, tutorials/TUTORIAL.nl, tutorials/TUTORIAL.sv:
+	* tutorials/TUTORIAL.eo, tutorials/TUTORIAL.pl, tutorials/TUTORIAL.th:
+	* tutorials/TUTORIAL.es, tutorials/TUTORIAL.pt_BR:
+	Remove discussion of flow control.
 
 2008-03-12  Juanma Barranquero  <lekktu@gmail.com>
 
--- a/etc/GNUS-NEWS	Sat Apr 05 21:40:16 2008 +0000
+++ b/etc/GNUS-NEWS	Sat Apr 05 23:01:26 2008 +0000
@@ -62,6 +62,7 @@
 
 ** Old intermediate incoming mail files (`Incoming*') are deleted after a
 couple of days, not immediately.  *Note Mail Source Customization::.
+(New in Gnus 5.10.10 / Emacs 22.2)
 
 
 * Changes in summary and article mode
--- a/etc/NEWS.22	Sat Apr 05 21:40:16 2008 +0000
+++ b/etc/NEWS.22	Sat Apr 05 23:01:26 2008 +0000
@@ -122,12 +122,18 @@
 `compilation-scroll-output' if you want to retain the scrolling.
 
 ** `font-lock-comment-face' no longer differs from the default on
-displays with fewer than 16 colors (e.g. older xterms and the Linux console).
-On such displays, only the comment delimiters will appear to be fontified
-(in the new face `font-lock-comment-delimiter-face').  To restore the
-old appearance, customize `font-lock-comment-face', or use a newer terminal
-emulator that supports more colors (256 is now common).  (This was new
-in Emacs 22.1, but was not described.)
+displays with fewer than 16 colors and dark background (e.g. older
+xterms and the Linux console).  On such displays, only the comment
+delimiters will appear to be fontified (in the new face
+`font-lock-comment-delimiter-face').  To restore the old appearance,
+customize `font-lock-comment-face'. Another alternative is to use a
+newer terminal emulator that supports more colors (256 is now common).
+For example, for xterm compatible emulators that support 256 colors,
+you can run emacs like this: 
+env TERM=xterm-256color emacs -nw
+(This was new in Emacs 22.1, but was not described.  In Emacs 22.1
+this also happened for terminals with a light background, that is not
+the case anymore).
 
 * New Modes and Packages in Emacs 22.2
 
--- a/etc/PROBLEMS	Sat Apr 05 21:40:16 2008 +0000
+++ b/etc/PROBLEMS	Sat Apr 05 23:01:26 2008 +0000
@@ -2139,6 +2139,10 @@
 
 ** Known problems with the MS-Windows port of Emacs 22.1
 
+M-x term does not work on MS-Windows.  TTY emulation on Windows is
+undocumented, and programs such as stty which are used on posix platforms
+to control tty emulation do not exist for native windows terminals.
+
 Using create-fontset-from-ascii-font or the --font startup parameter
 with a Chinese, Japanese or Korean font leads to display problems.
 Use a Latin-only font as your default font. If you want control over
--- a/etc/tutorials/TUTORIAL.de	Sat Apr 05 21:40:16 2008 +0000
+++ b/etc/tutorials/TUTORIAL.de	Sat Apr 05 23:01:26 2008 +0000
@@ -390,9 +390,9 @@
 aktuellen Cursorposition.
 
 [Beachten Sie, daß <Delete> ein logischer Befehlsname ist, der auf die
-jeweilige Tastatur abgebildet wird.  Lesen Sie im Abschnitt `Rebinding
-Keys in Your Init File' des Emacs-Handbuches nach, wie Sie
-gegebenenfalls die Tastaturbelegung verändern können.]
+jeweilige Tastatur abgebildet wird.  Lesen Sie im Abschnitt `Init
+Rebinding' des Emacs-Handbuches nach, wie Sie gegebenenfalls die
+Tastaturbelegung verändern können.]
 
 >> Probieren Sie das jetzt aus: Geben Sie ein paar Zeichen ein und
    löschen Sie sie wieder mit <Delete>.  Sie brauchen sich keine
@@ -1037,16 +1037,6 @@
 kurzer Ton, und Emacs sagt Ihnen, daß die Suche im Augenblick
 fehlschlägt (`failing').  C-g beendet ebenfalls einen Suchvorgang.
 
-Anmerkung: Wie weiter oben schon einmal erwähnt, scheint es bei
-einigen Systemen, als ob das Ausführen von C-s Emacs abstürzen läßt
-(Emacs reagiert mit keinen Meldungen mehr; der Bildschirm wirkt
-eingefroren).  Dieser Effekt tritt auf, wenn das Betriebssystem das
-Zeichen C-s abfängt (es wird für `flow control' verwendet) und nicht
-an Emacs weiterreicht.  Um den Bildschirm wieder zum Leben zu
-erwecken, geben Sie C-q ein, und lesen Sie dann den Abschnitt
-`Spontaneous Entry to Incremental Search' im Emacs-Handbuch, was man
-am besten tun kann.
-
 Wenn Sie sich mitten in einer inkrementellen Suche befinden und
 <Delete> drücken, wird das letzte Zeichen im Suchstring gelöscht, und
 der Cursor springt zurück auf die letzte Suchposition.  Angenommen,
--- a/lisp/ChangeLog	Sat Apr 05 21:40:16 2008 +0000
+++ b/lisp/ChangeLog	Sat Apr 05 23:01:26 2008 +0000
@@ -1,3 +1,31 @@
+2008-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-annotate-command)
+	(vc-bzr-annotate-time, vc-bzr-annotate-extract-revision-at-line):
+	Revision numbers can include ".".
+
+	* diff-mode.el (diff-end-of-hunk): Be careful not to overlook trailing
+	"+" lines not accounted for by counting "-" and context lines.
+
+2008-04-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* term/mac-win.el (mac-service-open-file): Use file URL instead of
+	file name string.
+
+2008-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* vc-bzr.el (vc-bzr-annotate-command): Preserve line alignment.
+	(vc-bzr-annotate-time): Accept space used to preserve alignment.
+
+2008-04-05  Richard Stallman  <rms@gnu.org>
+
+	* emacs-lisp/advice.el (defadvice): Add usage pattern.
+
+2008-04-05  Nick Roberts  <nickrob@snap.net.nz>
+
+	* progmodes/gdb-ui.el: Add advice about using Cygwin GDB (from a
+	thread in [h-e-w]).
+
 2008-04-05  Juanma Barranquero  <lekktu@gmail.com>
 
 	* files.el (abort-if-file-too-large): Fix typo in docstring.
--- a/lisp/diff-mode.el	Sat Apr 05 21:40:16 2008 +0000
+++ b/lisp/diff-mode.el	Sat Apr 05 23:01:26 2008 +0000
@@ -438,12 +438,23 @@
       (setq style (diff-hunk-style style))
       (goto-char (match-end 0))
       (when (and (not donttrustheader) (match-end 2))
+        (let* ((nold (string-to-number (match-string 2)))
+               (nnew (string-to-number (match-string 4)))
+               (endold
         (save-excursion
           (re-search-forward (if diff-valid-unified-empty-line
                                  "^[- \n]" "^[- ]")
-                             nil t
-                             (string-to-number (match-string 2)))
-          (setq end (line-beginning-position 2)))))
+                                     nil t nold)
+                  (line-beginning-position 2)))
+               (endnew
+                ;; The hunk may end with a bunch of "+" lines, so the `end' is
+                ;; then further than computed above.
+                (save-excursion
+                  (re-search-forward (if diff-valid-unified-empty-line
+                                         "^[+ \n]" "^[+ ]")
+                                     nil t nnew)
+                  (line-beginning-position 2))))
+          (setq end (max endold endnew)))))
     ;; We may have a first evaluation of `end' thanks to the hunk header.
     (unless end
       (setq end (and (re-search-forward
--- a/lisp/dired.el	Sat Apr 05 21:40:16 2008 +0000
+++ b/lisp/dired.el	Sat Apr 05 23:01:26 2008 +0000
@@ -346,6 +346,8 @@
 
 (defface dired-perm-write
   '((((type w32 pc)) :inherit default)  ;; These default to rw-rw-rw.
+    ;; Inherit from font-lock-comment-delimiter-face since with min-colors 8
+    ;; font-lock-comment-face is not colored any more.
     (t (:inherit font-lock-comment-delimiter-face)))
   "Face used to highlight permissions of group- and world-writable files."
   :group 'dired-faces
--- a/lisp/emacs-lisp/advice.el	Sat Apr 05 21:40:16 2008 +0000
+++ b/lisp/emacs-lisp/advice.el	Sat Apr 05 23:01:26 2008 +0000
@@ -3792,7 +3792,10 @@
 documentation of the advised function can be dumped onto the `DOC' file
 during preloading.
 
-See Info node `(elisp)Advising Functions' for comprehensive documentation."
+See Info node `(elisp)Advising Functions' for comprehensive documentation.
+usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...)
+          [DOCSTRING] [INTERACTIVE-FORM]
+          BODY...)"
   (declare (doc-string 3))
   (if (not (ad-name-p function))
       (error "defadvice: Invalid function name: %s" function))
--- a/lisp/progmodes/gdb-ui.el	Sat Apr 05 21:40:16 2008 +0000
+++ b/lisp/progmodes/gdb-ui.el	Sat Apr 05 23:01:26 2008 +0000
@@ -77,6 +77,14 @@
 
 ;; and compiling with -DUNBUFFERED while debugging.
 
+;; If you are using Cygwin GDB and find that the source is not being displayed
+;; in Emacs when you step through it, possible solutions are to:
+
+;;   1) Use Cygwin X Windows and Cygwin Emacs.
+;;        (Since 22.1 Emacs builds under Cygwin.)
+;;   2) Use MinGW GDB instead.
+;;   3) Use cygwin-mount.el
+
 ;;; Known Bugs:
 
 ;; 1) Cannot handle multiple debug sessions.
--- a/lisp/term/mac-win.el	Sat Apr 05 21:40:16 2008 +0000
+++ b/lisp/term/mac-win.el	Sat Apr 05 23:01:26 2008 +0000
@@ -2197,7 +2197,9 @@
 (defun mac-service-open-file ()
   "Open the file specified by the selection value for Services."
   (interactive)
-  (find-file-existing (x-selection-value mac-service-selection)))
+  ;; The selection seems not to contain the file name as
+  ;; public.utf16-plain-text data on Mac OS X 10.4.
+  (dnd-open-file (x-get-selection mac-service-selection 'public.file-url) nil))
 
 (defun mac-service-open-selection ()
   "Create a new buffer containing the selection value for Services."
--- a/lisp/vc-bzr.el	Sat Apr 05 21:40:16 2008 +0000
+++ b/lisp/vc-bzr.el	Sat Apr 05 23:01:26 2008 +0000
@@ -519,7 +519,7 @@
     ;; to allow saving space by sharing the text properties.
     (setq vc-bzr-annotation-table (make-hash-table :test 'equal))
     (goto-char (point-min))
-    (while (re-search-forward "^\\( *[0-9]+\\) +\\(.+\\) +\\([0-9]\\{8\\}\\) |"
+    (while (re-search-forward "^\\( *[0-9.]+ *\\) \\([^\n ]+\\) +\\([0-9]\\{8\\}\\) |"
                               nil t)
       (let* ((rev (match-string 1))
              (author (match-string 2))
@@ -535,7 +535,7 @@
         (insert tag " |")))))
 
 (defun vc-bzr-annotate-time ()
-  (when (re-search-forward "^ *[0-9]+ |" nil t)
+  (when (re-search-forward "^ *[0-9.]+ +|" nil t)
     (let ((prop (get-text-property (line-beginning-position) 'help-echo)))
       (string-match "[0-9]+\\'" prop)
       (vc-annotate-convert-time
@@ -550,7 +550,7 @@
 Return nil if current line isn't annotated."
   (save-excursion
     (beginning-of-line)
-    (if (looking-at " *\\([0-9]+\\) | ")
+    (if (looking-at " *\\([0-9.]+\\) | ")
         (match-string-no-properties 1))))
 
 (defun vc-bzr-command-discarding-stderr (command &rest args)
--- a/src/ChangeLog	Sat Apr 05 21:40:16 2008 +0000
+++ b/src/ChangeLog	Sat Apr 05 23:01:26 2008 +0000
@@ -1,3 +1,29 @@
+2008-04-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]: Use
+	SetMenuItemHierarchicalMenu.
+
+2008-04-05  Jason Rumney  <jasonr@gnu.org>
+
+	* image.c (pbm_load): Allow color values up to 65535.
+	Throw an error if max_color_idx is outside the supported range.
+	Report an error when image size is invalid.
+	Read two bytes at a time when raw images have max_color_idx above 255.
+
+2008-04-05  Eli Zaretskii  <eliz@gnu.org>
+
+	* w32.c (readdir): If FindFirstFile/FindNextFile return in
+	cFileName a file name that includes `?' characters, use the 8+3
+	alias in cAlternateFileName instead.
+
+2008-04-05  Kenichi Handa  <handa@ni.aist.go.jp>
+
+	* ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
+	append "CCL: Quitted" when the CCL program is quitted.
+	(setup_ccl_program): Initialize ccl->quit_silently to zero.
+
+	* ccl.h (struct ccl_program): New member quit_silently.
+
 2008-04-05  Chong Yidong  <cyd@stupidchicken.com>
 
 	* search.c (compile_pattern_1): Treat non-nil and non-string of
--- a/src/ccl.c	Sat Apr 05 21:40:16 2008 +0000
+++ b/src/ccl.c	Sat Apr 05 23:01:26 2008 +0000
@@ -1745,7 +1745,8 @@
 	  break;
 
 	case CCL_STAT_QUIT:
-	  sprintf(msg, "\nCCL: Quited.");
+	  if (! ccl->quit_silently)
+	    sprintf(msg, "\nCCL: Quited.");
 	  break;
 
 	default:
@@ -1948,6 +1949,7 @@
   ccl->stack_idx = 0;
   ccl->suppress_error = 0;
   ccl->eight_bit_control = 0;
+  ccl->quit_silently = 0;
   return 0;
 }
 
--- a/src/ccl.h	Sat Apr 05 21:40:16 2008 +0000
+++ b/src/ccl.h	Sat Apr 05 23:01:26 2008 +0000
@@ -77,6 +77,9 @@
 				   CCL_WRITE_CHAR.  After execution,
 				   if no such byte is written, set
 				   this value to zero.  */
+  int quit_silently;		/* If nonzero, don't append "CCL:
+				   Quitted" to the generated text when
+				   CCL program is quitted. */
 };
 
 /* This data type is used for the spec field of the structure
--- a/src/image.c	Sat Apr 05 21:40:16 2008 +0000
+++ b/src/image.c	Sat Apr 05 23:01:26 2008 +0000
@@ -5801,13 +5801,18 @@
   if (type != PBM_MONO)
     {
       max_color_idx = pbm_scan_number (&p, end);
-      if (raw_p && max_color_idx > 255)
-	max_color_idx = 255;
-    }
-
-  if (!check_image_size (f, width, height)
-      || (type != PBM_MONO && max_color_idx < 0))
-    goto error;
+      if (max_color_idx > 65535 || max_color_idx < 0)
+	{
+	  image_error ("Unsupported maximum PBM color value", Qnil, Qnil);
+	  goto error;
+	}
+    }
+
+  if (!check_image_size (f, width, height))
+    {
+      image_error ("Invalid image size", Qnil, Qnil);
+      goto error;
+    }
 
   if (!x_create_x_image_and_pixmap (f, width, height, 0,
 				    &ximg, &img->pixmap))
@@ -5867,10 +5872,13 @@
     }
   else
     {
-      if (raw_p
-	  && ((type == PBM_GRAY)
-	      ? (p + height * width > end)
-	      : (p + 3 * height * width > end)))
+      int expected_size = height * width;
+      if (max_color_idx > 255)
+	expected_size *= 2;
+      if (type == PBM_COLOR)
+	expected_size *= 3;
+
+      if (raw_p && p + expected_size > end)
 	{
 	  x_destroy_x_image (ximg);
 	  x_clear_image (f, img);
@@ -5884,13 +5892,25 @@
 	  {
 	    int r, g, b;
 
-	    if (type == PBM_GRAY)
-	      r = g = b = raw_p ? *p++ : pbm_scan_number (&p, end);
+	    if (type == PBM_GRAY && raw_p)
+	      {
+		r = g = b = *p++;
+		if (max_color_idx > 255)
+		  r = g = b = r * 256 + *p++;
+	      }
+	    else if (type == PBM_GRAY)
+	      r = g = b = pbm_scan_number (&p, end);
 	    else if (raw_p)
 	      {
 		r = *p++;
+		if (max_color_idx > 255)
+		  r = r * 256 + *p++;
 		g = *p++;
+		if (max_color_idx > 255)
+		  g = g * 256 + *p++;
 		b = *p++;
+		if (max_color_idx > 255)
+		  b = b * 256 + *p++;
 	      }
 	    else
 	      {
--- a/src/mac.c	Sat Apr 05 21:40:16 2008 +0000
+++ b/src/mac.c	Sat Apr 05 23:01:26 2008 +0000
@@ -79,7 +79,7 @@
 /* The single script context used for all script executions.  */
 static OSAID as_script_context;
 
-#ifndef MAC_OS_X
+#ifndef MAC_OSX
 #if TARGET_API_MAC_CARBON
 static int wakeup_from_rne_enabled_p = 0;
 #define ENABLE_WAKEUP_FROM_RNE (wakeup_from_rne_enabled_p = 1)
--- a/src/macmenu.c	Sat Apr 05 21:40:16 2008 +0000
+++ b/src/macmenu.c	Sat Apr 05 23:01:26 2008 +0000
@@ -39,7 +39,7 @@
 #if !TARGET_API_MAC_CARBON
 #include <MacTypes.h>
 #include <Menus.h>
-#include <QuickDraw.h>
+#include <Quickdraw.h>
 #include <ToolUtils.h>
 #include <Fonts.h>
 #include <Controls.h>
@@ -2752,7 +2752,7 @@
 	      SendEventToEventTarget (event, toolbox_dispatcher);
 	      ReleaseEvent (event);
 	    }
-#ifdef MAC_OSX
+#if 0 /* defined (MAC_OSX) */
 	  else if (err != eventLoopTimedOutErr)
 	    {
 	      if (err == eventLoopQuitErr)
@@ -3194,7 +3194,11 @@
 	  MenuRef submenu = NewMenu (submenu_id, "\pX");
 
 	  InsertMenu (submenu, -1);
+#if TARGET_API_MAC_CARBON
+	  SetMenuItemHierarchicalMenu (menu, pos, submenu);
+#else
 	  SetMenuItemHierarchicalID (menu, pos, submenu_id);
+#endif
 	  submenu_id = fill_menu (submenu, wv->contents, kind, submenu_id + 1);
 	}
     }
@@ -3256,7 +3260,23 @@
 	  if (err == noErr)
 	    {
 	      if (CFStringCompare (title, old_title, 0) != kCFCompareEqualTo)
-		err = SetMenuTitleWithCFString (menu, title);
+		{
+#ifdef MAC_OSX
+		  if (id + 1 == min_menu_id[MAC_MENU_MENU_BAR + 1]
+		      || GetMenuRef (id + 1) == NULL)
+		    {
+		      /* This is a workaround for Mac OS X 10.5 where
+			 just calling SetMenuTitleWithCFString fails
+			 to change the title of the last (Help) menu
+			 in the menu bar.  */
+		      DeleteMenu (id);
+		      DisposeMenu (menu);
+		      menu = NULL;
+		    }
+		  else
+#endif	/* MAC_OSX */
+		    err = SetMenuTitleWithCFString (menu, title);
+		}
 	      CFRelease (old_title);
 	    }
 	  else
--- a/src/macselect.c	Sat Apr 05 21:40:16 2008 +0000
+++ b/src/macselect.c	Sat Apr 05 23:01:26 2008 +0000
@@ -468,7 +468,11 @@
 
     selection_time = long_to_cons (last_event_timestamp);
     if (sel)
-      ownership_info = mac_get_selection_ownership_info (sel);
+      {
+	BLOCK_INPUT;
+	ownership_info = mac_get_selection_ownership_info (sel);
+	UNBLOCK_INPUT;
+      }
     else
       ownership_info = Qnil; 	/* dummy value for local-only selection */
     selection_data = Fcons (selection_name,
--- a/src/macterm.h	Sat Apr 05 21:40:16 2008 +0000
+++ b/src/macterm.h	Sat Apr 05 23:01:26 2008 +0000
@@ -631,6 +631,7 @@
 extern void x_destroy_window P_ ((struct frame *));
 extern void x_wm_set_size_hint P_ ((struct frame *, long, int));
 extern void x_delete_display P_ ((struct x_display_info *));
+extern void mac_initialize P_ ((void));
 extern Pixmap XCreatePixmap P_ ((Display *, WindowRef, unsigned int,
 				 unsigned int, unsigned int));
 extern Pixmap XCreatePixmapFromBitmapData P_ ((Display *, WindowRef, char *,
--- a/src/w32.c	Sat Apr 05 21:40:16 2008 +0000
+++ b/src/w32.c	Sat Apr 05 23:01:26 2008 +0000
@@ -1935,6 +1935,21 @@
   dir_static.d_namlen = strlen (dir_static.d_name);
   dir_static.d_reclen = sizeof (struct direct) - MAXNAMLEN + 3 +
     dir_static.d_namlen - dir_static.d_namlen % 4;
+
+  /* If the file name in cFileName[] includes `?' characters, it means
+     the original file name used characters that cannot be represented
+     by the current ANSI codepage.  To avoid total lossage, retrieve
+     the short 8+3 alias of the long file name.  */
+  if (_mbspbrk (dir_find_data.cFileName, "?"))
+    {
+      strcpy (dir_static.d_name, dir_find_data.cAlternateFileName);
+      /* 8+3 aliases are returned in all caps, which could break
+	 various alists that look at filenames' extensions.  */
+      downcase = 1;
+    }
+  else
+    strcpy (dir_static.d_name, dir_find_data.cFileName);
+  dir_static.d_namlen = strlen (dir_static.d_name);
   if (dir_is_fat)
     _strlwr (dir_static.d_name);
   else if (downcase)