changeset 83079:5f17f5c40152

Merged in changes from CVS HEAD Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-159 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-160 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-119
author Karoly Lorentey <lorentey@elte.hu>
date Fri, 19 Mar 2004 22:32:48 +0000
parents fac24544c283 (current diff) 95b8b23d991d (diff)
children d4d5e54871ff
files lisp/ChangeLog lisp/smerge-mode.el man/info.texi src/xdisp.c
diffstat 14 files changed, 165 insertions(+), 53 deletions(-) [+]
line wrap: on
line diff
--- a/etc/ChangeLog	Tue Mar 16 20:27:22 2004 +0000
+++ b/etc/ChangeLog	Fri Mar 19 22:32:48 2004 +0000
@@ -1,3 +1,7 @@
+2004-03-11  Daniel Pfeiffer  <occitan@esperanto.org>
+
+	* compilation.txt: New file.
+
 2004-02-29  Juanma Barranquero  <lektu@terra.es>
 
 	* NEWS: Remove bogus reference to user option unicode-data.
--- a/lisp/ChangeLog	Tue Mar 16 20:27:22 2004 +0000
+++ b/lisp/ChangeLog	Fri Mar 19 22:32:48 2004 +0000
@@ -1,3 +1,37 @@
+2004-03-17  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* simple.el (clone-buffer): Doc fix.
+
+2004-03-18  Juanma Barranquero  <lektu@terra.es>
+
+	* emacs-lisp/byte-run.el (make-obsolete-variable): Fix docstring.
+
+2004-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* log-edit.el (log-edit-font-lock-keywords): New var.
+	(log-edit-mode): Use it.
+
+2004-03-17  Nick Roberts  <nick@nick.uklinux.net>
+
+	* gdb-ui.el (gdb-var-list-children-handler): Handle C++ classes
+	properly for watching in speedbar.
+
+2004-03-17  Masatake YAMATO  <jet@gyve.org>
+
+	* smerge-mode.el (smerge-popup-context-menu):
+	Put `unwind-protect' around `overlay-put' and `popup-menu'.
+
+2004-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* vc-arch.el (vc-arch-workfile-unchanged-p): Define to avoid dup-diff.
+	(vc-arch-workfile-version, vc-arch-mode-line-rewrite):
+	Take sealed revisions into account.
+	(vc-arch-checkin): Extract a summary line from the message.
+
+2004-03-16  Masatake YAMATO  <jet@gyve.org>
+
+	* register.el (register): Provide `register' feature.
+
 2004-03-15  Masatake YAMATO  <jet@gyve.org>
 
 	Added context menu support in smerge mode.
--- a/lisp/emacs-lisp/byte-run.el	Tue Mar 16 20:27:22 2004 +0000
+++ b/lisp/emacs-lisp/byte-run.el	Fri Mar 19 22:32:48 2004 +0000
@@ -91,9 +91,9 @@
   fn)
 
 (defun make-obsolete-variable (var new &optional when)
-  "Make the byte-compiler warn that VARIABLE is obsolete,
-and NEW should be used instead.  If NEW is a string, then that is the
-`use instead' message.
+  "Make the byte-compiler warn that VARIABLE is obsolete.
+The warning will say that NEW should be used instead.
+If NEW is a string, that is the `use instead' message.
 If provided, WHEN should be a string indicating when the variable
 was first made obsolete, for example a date or a release number."
   (interactive
--- a/lisp/gdb-ui.el	Tue Mar 16 20:27:22 2004 +0000
+++ b/lisp/gdb-ui.el	Fri Mar 19 22:32:48 2004 +0000
@@ -251,7 +251,7 @@
 	     `(lambda () (gdb-var-list-children-handler ,varnum)))))
 
 (defconst gdb-var-list-children-regexp
-"name=\"\\(.*?\\)\",exp=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"")
+"name=\"\\(.*?\\)\",exp=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\"")
 
 (defun gdb-var-list-children-handler (varnum)
   (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer)
@@ -266,9 +266,9 @@
 		 (let ((varchild (list (match-string 2)
 				       (match-string 1)
 				       (match-string 3)
-				       (match-string 5)
-				       (match-string 4)
-				       nil)))
+				       nil nil nil)))
+		   (if (looking-at ",type=\"\\(.*?\\)\"")
+		       (setcar (nthcdr 3 varchild) (match-string 1)))
 		   (dolist (var1 gdb-var-list)
 		     (if (string-equal (cadr var1) (cadr varchild))
 			 (throw 'child-already-watched nil)))
--- a/lisp/log-edit.el	Tue Mar 16 20:27:22 2004 +0000
+++ b/lisp/log-edit.el	Fri Mar 19 22:32:48 2004 +0000
@@ -1,6 +1,6 @@
 ;;; log-edit.el --- Major mode for editing CVS commit messages
 
-;; Copyright (C) 1999,2000,2003  Free Software Foundation, Inc.
+;; Copyright (C) 1999,2000,2003,2004  Free Software Foundation, Inc.
 
 ;; Author: Stefan Monnier <monnier@cs.yale.edu>
 ;; Keywords: pcl-cvs cvs commit log
@@ -299,6 +299,11 @@
 ;;; Actual code
 ;;;
 
+(defar log-edit-font-lock-keywords
+  '(("\\`\\(Summary:\\)\\(.*\\)"
+     (1 font-lock-keyword-face)
+     (2 font-lock-function-name-face))))
+
 ;;;###autoload
 (defun log-edit (callback &optional setup listfun buffer &rest ignore)
   "Setup a buffer to enter a log message.
@@ -337,6 +342,8 @@
 commands (under C-x v for VC, for example).
 
 \\{log-edit-mode-map}"
+  (set (make-local-variable 'font-lock-defaults)
+       '(log-edit-font-lock-keywords t))
   (make-local-variable 'log-edit-comment-ring-index))
 
 (defun log-edit-hide-buf (&optional buf where)
--- a/lisp/register.el	Tue Mar 16 20:27:22 2004 +0000
+++ b/lisp/register.el	Fri Mar 19 22:32:48 2004 +0000
@@ -315,5 +315,6 @@
 		    (delete-extract-rectangle start end)
 		  (extract-rectangle start end))))
 
+(provide 'register)
 ;;; arch-tag: ce14dd68-8265-475f-9341-5d4ec5a53035
 ;;; register.el ends here
--- a/lisp/simple.el	Tue Mar 16 20:27:22 2004 +0000
+++ b/lisp/simple.el	Fri Mar 19 22:32:48 2004 +0000
@@ -4313,11 +4313,22 @@
 ;; - syntax-table
 ;; - overlays
 (defun clone-buffer (&optional newname display-flag)
-  "Create a twin copy of the current buffer.
-If NEWNAME is nil, it defaults to the current buffer's name;
-NEWNAME is modified by adding or incrementing <N> at the end as necessary.
-
-If DISPLAY-FLAG is non-nil, the new buffer is shown with `pop-to-buffer'.
+  "Create and return a twin copy of the current buffer.
+Unlike an indirect buffer, the new buffer can be edited
+independently of the old one (if it is not read-only).
+NEWNAME is the name of the new buffer.  It may be modified by
+adding or incrementing <N> at the end as necessary to create a
+unique buffer name.  If nil, it defaults to the name of the
+current buffer, with the proper suffix.  If DISPLAY-FLAG is
+non-nil, the new buffer is shown with `pop-to-buffer'.  Trying to
+clone a file-visiting buffer, or a buffer whose major mode symbol
+has a non-nil `no-clone' property, results in an error.
+
+Interactively, DISPLAY-FLAG is t and NEWNAME is the name of the
+current buffer with appropriate suffix.  However, if a prefix
+argument is given, then the command prompts for NEWNAME in the
+minibuffer.
+
 This runs the normal hook `clone-buffer-hook' in the new buffer
 after it has been set up properly in other respects."
   (interactive
--- a/lisp/smerge-mode.el	Tue Mar 16 20:27:22 2004 +0000
+++ b/lisp/smerge-mode.el	Fri Mar 19 22:32:48 2004 +0000
@@ -321,13 +321,15 @@
 	     (popup-menu smerge-mode-menu)
 	   ;; Install overlay.
 	   (setq o (make-overlay (match-beginning i) (match-end i)))  
-	   (overlay-put o 'face 'highlight)
-	   (sit-for 0)
-	   (popup-menu (if (smerge-check 2) 
-			   smerge-mode-menu
-			   smerge-context-menu))
-	   ;; Delete overlay.
-	   (delete-overlay o))))
+	   (unwind-protect
+	       (progn
+		 (overlay-put o 'face 'highlight)
+		 (sit-for 0)
+		 (popup-menu (if (smerge-check 2) 
+				 smerge-mode-menu
+			       smerge-context-menu)))
+	     ;; Delete overlay.
+	     (delete-overlay o)))))
     ;; There's no conflict at point, the text-props are just obsolete.
     (save-excursion
       (let ((beg (re-search-backward smerge-end-re nil t))
--- a/lisp/vc-arch.el	Tue Mar 16 20:27:22 2004 +0000
+++ b/lisp/vc-arch.el	Fri Mar 19 22:32:48 2004 +0000
@@ -40,10 +40,17 @@
 
 ;; Bugs:
 
+;; - Opening a new file prompts "blabla was lost; check out? (yes or no)".
+;; - *VC-log*'s initial content lacks the `Summary:' lines.
 ;; - All files under the tree are considered as "under Arch's control"
 ;;   without regards to =tagging-method and such.
 ;; - Files are always considered as `edited'.
+;; - C-x v l does not work.
 ;; - C-x v i does not work.
+;; - C-x v ~ does not work.
+;; - C-x v u does not work.
+;; - C-x v s does not work.
+;; - C-x v r does not work.
 ;; - VC-dired does not work.
 ;; - And more...
 
@@ -122,6 +129,11 @@
 	       ;; Strip the terminating newline.
 	       (buffer-substring (point-min) (1- (point-max)))))))))
 
+(defun vc-arch-workfile-unchanged-p (file)
+  "Check if FILE is unchanged by diffing against the master version.
+Return non-nil if FILE is unchanged."
+  nil)
+
 (defun vc-arch-state (file)
   ;; There's no checkout operation and merging is not done from VC
   ;; so the only operation that's state dependent that VC supports is commit
@@ -136,7 +148,7 @@
 	     (category (match-string 4 defbranch))
 	     (branch (match-string 3 defbranch))
 	     (version (match-string 2 defbranch))
-	     (rev-nb 0)
+	     (sealed nil) (rev-nb 0)
 	     (rev nil)
 	     logdir tmp)
 	(setq logdir (expand-file-name category root))
@@ -144,16 +156,20 @@
 	(setq logdir (expand-file-name version logdir))
 	(setq logdir (expand-file-name archive logdir))
 	(setq logdir (expand-file-name "patch-log" logdir))
+	;; Revision names go: base-0, patch-N, version-0, versionfix-N.
 	(dolist (file (directory-files logdir))
+	  (when (and (eq (aref file 0) ?v) (not sealed))
+	    (setq sealed t rev-nb 0))
 	  (if (and (string-match "-\\([0-9]+\\)\\'" file)
 		   (setq tmp (string-to-number (match-string 1 file)))
+		   (or (not sealed) (eq (aref file 0) ?v))
 		   (>= tmp rev-nb))
 	      (setq rev-nb tmp rev file)))
 	(concat defbranch "--" rev)))))
 
 
 (defcustom vc-arch-mode-line-rewrite
-  '(("\\`.*--\\(.*--.*\\)--.*-\\([0-9]+\\)\\'" . "\\2[\\1]"))
+  '(("\\`.*--\\(.*--.*\\)--\\(v?\\).*-\\([0-9]+\\)\\'" . "\\2\\3[\\1]"))
   "Rewrite rules to shorten Arch's revision names on the mode-line."
   :type '(repeat (cons regexp string)))
 
@@ -204,8 +220,14 @@
 
 (defun vc-arch-checkin (file rev comment)
   (if rev (error "Committing to a specific revision is unsupported."))
-  (vc-arch-command nil 0 file "commit" "-L" comment "--"
-		   (vc-switches 'Arch 'checkin)))
+  (let ((summary (file-relative-name file (vc-arch-root file))))
+    ;; Extract a summary from the comment.
+    (when (or (string-match "\\`Summary:[ \t]*\\(.*[^ \t\n]\\)\\([ \t]*\n\\)*" comment)
+	      (string-match "\\`[ \t]*\\(.*[^ \t\n]\\)[ \t]*\\(\n?\\'\\|\n\\([ \t]*\n\\)+\\)" comment))
+      (setq summary (match-string 1 comment))
+      (setq comment (substring comment (match-end 0))))
+    (vc-arch-command nil 0 file "commit" "-s" summary "-L" comment "--"
+		     (vc-switches 'Arch 'checkin))))
 
 (defun vc-arch-diff (file &optional oldvers newvers)
   "Get a difference report using Arch between two versions of FILE."
--- a/man/ChangeLog	Tue Mar 16 20:27:22 2004 +0000
+++ b/man/ChangeLog	Fri Mar 19 22:32:48 2004 +0000
@@ -1,3 +1,9 @@
+2004-03-17  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* info.texi (Advanced): Replace @unnumberedsubsec by @subheading
+	(as suggested by Karl Berry).  Update information about colored
+	stars in menus.  Add new subheading describing M-n.
+
 2004-03-12  Richard M. Stallman  <rms@gnu.org>
 
 	* cl.texi (Top): Rename top node's title.
--- a/man/info.texi	Tue Mar 16 20:27:22 2004 +0000
+++ b/man/info.texi	Fri Mar 19 22:32:48 2004 +0000
@@ -939,7 +939,7 @@
 
 Here are some more Info commands that make it easier to move around.
 
-@unnumberedsubsec @kbd{g} goes to a node by name
+@subheading @kbd{g} goes to a node by name
 
 @kindex g @r{(Info mode)}
 @findex Info-goto-node
@@ -965,7 +965,7 @@
 all of the current file by typing @kbd{g*@key{RET}} or all of any
 other file with @kbd{g(@var{filename})@key{RET}}.
 
-@unnumberedsubsec @kbd{1} -- @kbd{9} choose a menu subtopic by its number
+@subheading @kbd{1} -- @kbd{9} choose a menu subtopic by its number
 
 @kindex 1 @r{through} 9 @r{(Info mode)}
 @findex Info-nth-menu-item
@@ -979,17 +979,18 @@
 this is so you need not count how many entries are there.  In Emacs,
 the digit keys run the command @code{Info-nth-menu-item}.
 
-  If your display supports multiple fonts, and you are using Emacs'
-Info mode to read Info files, the @samp{*} for the fifth menu item
-stands out, either in color or in some other attribute, such as
-underline, and so is the @samp{*} for the ninth item; this makes it
-easy to see at a glance which number to use for an item.
+  If your display supports multiple fonts, colors or underlining, and
+you are using Emacs' Info mode to read Info files, the third, sixth
+and ninth menu items have a @samp{*} that stands out, either in color
+or in some other attribute, such as underline; this makes it easy to
+see at a glance which number to use for an item.
 
-  Some terminals don't support colors or underlining.  If you need to
-actually count items, it is better to use @kbd{m} instead, and specify
-the name, or use @key{TAB} to quickly move between menu items.
+  Some terminals don't support either multiple fonts, colors or
+underlining.  If you need to actually count items, it is better to use
+@kbd{m} instead, and specify the name, or use @key{TAB} to quickly
+move between menu items.
 
-@unnumberedsubsec @kbd{e} makes Info document editable
+@subheading @kbd{e} makes Info document editable
 
 @kindex e @r{(Info mode)}
 @findex Info-edit
@@ -1004,6 +1005,23 @@
 edit the Info file, so typing @kbd{e} there goes to the end of the
 current node.
 
+@subheading @kbd{M-n} creates a new independent Info buffer in Emacs
+
+@kindex M-n @r{(Info mode)}
+@findex clone-buffer
+@cindex multiple Info buffers
+  If you are reading Info in Emacs, you can select a new independent
+Info buffer in another window by typing @kbd{M-n}.  The new buffer
+starts out as an exact copy of the old one, but you will be able to
+move independently between nodes in the two buffers.  (In Info mode,
+@kbd{M-n} runs the Emacs command @code{clone-buffer}.)
+
+  In Emacs Info, you can also produce new Info buffers by giving a
+numeric prefix argument to the @kbd{m} and @kbd{g} commands.  @kbd{C-u
+m} and @kbd{C-u g} go to a new node in exactly the same way that
+@kbd{m} and @kbd{g} do, but they do so in a new Info buffer which they
+select in another window.
+
 @node Info Search, Add, Advanced, Expert Info
 @comment  node-name,  next,  previous,  up
 @section How to search Info documents for specific subjects
--- a/src/ChangeLog	Tue Mar 16 20:27:22 2004 +0000
+++ b/src/ChangeLog	Fri Mar 19 22:32:48 2004 +0000
@@ -1,3 +1,13 @@
+2004-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* fileio.c (Fread_file_name): Set completion-ignore-case for
+	case-insensitive systems.
+
+2004-03-14  Masatake YAMATO  <jet@gyve.org>
+
+	* xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
+	when keymap and cursor are setup.
+
 2004-03-14  Steven Tamm <steventamm@mac.com>
 
 	* Makefile.in (XMENU_OBJ): Do not include xmenu.o if
@@ -13,11 +23,9 @@
 
 2004-03-13  Eli Zaretskii  <eliz@elta.co.il>
 
-	* Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is
-	defined.
-
-	* emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is
-	defined.
+	* Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
+
+	* emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
 
 2004-03-12  Richard M. Stallman  <rms@gnu.org>
 
@@ -29,12 +37,11 @@
 2004-03-12  Kim F. Storm  <storm@cua.dk>
 
 	Fix image support on MAC.  From YAMAMOTO Mitsuharu.
-	
+
 	* dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
 	(image_background, image_background_transparent): Fix prototypes.
 
-	* image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to
-	dispextern.h.
+	* image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
 
 	* macfns.c (x_list_fonts, x_get_font_info, x_load_font)
 	(x_query_font, x_find_ccl_program, x_set_window_size)
@@ -57,9 +64,9 @@
 	* dispextern.h: Move image related prototypes from xfns.c section
 	to image.c.  Condition them by HAVE_WINDOW_SYSTEM rather than
 	HAVE_X_WINDOWS.
-	
+
 	* Makefile.in (XOBJ): Consolidate into one list.  Add image.o.
-	Move gtkutil.o to new GTK_OBJ list.  
+	Move gtkutil.o to new GTK_OBJ list.
 	(XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
 	(GTK_OBJ) [USE_GTK]: New declaration.
 	(obj): Add $(GTK_OBJ) to list.
@@ -82,7 +89,7 @@
 
 	* Makefile.in (XOBJ, MAC_OBJ): Add image.o.
 	(image.o): Add dependencies.
-	
+
 	* image.c: New file with consolidated image support code.
 	(COLOR_TABLE_SUPPORT): New define to control whether
 	color table support is available (X only).
@@ -96,8 +103,8 @@
 	(PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
 	(RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
 	(PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
-	(FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen): Define
-	with suitable equivalents on W32 and MAC for code sharing.
+	(FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
+	Define with suitable equivalents on W32 and MAC for code sharing.
 	(XDrawLine): Define on MAC for code sharing.
 	(Destroy_Image, Free_Pixmap): Wrappers for code sharing.
 	(IF_LIB_AVAILABLE): Macro to simplify code sharing.
@@ -132,12 +139,12 @@
 	code from xfns.c, w32fns.c, and macfns.c.
 	(syms_of_image): Consolidate image related symbol setup here.
 	(init_image): Consolidate image related initializations here.
-	
+
 	* emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
 	and init_image.  Remove call to init_xfns.
 
-	* macterm.h (struct mac_bitmap_record): Add file member.  Not
-	currently used, but simplifies code sharing.
+	* macterm.h (struct mac_bitmap_record): Add file member.
+	Not currently used, but simplifies code sharing.
 
 	* macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
 	(x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
--- a/src/fileio.c	Tue Mar 16 20:27:22 2004 +0000
+++ b/src/fileio.c	Fri Mar 19 22:32:48 2004 +0000
@@ -6218,7 +6218,7 @@
     }
 
   count = SPECPDL_INDEX ();
-#ifdef VMS
+#if defined VMS || defined DOS_NT || defined MAC_OSX
   specbind (intern ("completion-ignore-case"), Qt);
 #endif
 
--- a/src/xdisp.c	Tue Mar 16 20:27:22 2004 +0000
+++ b/src/xdisp.c	Fri Mar 19 22:32:48 2004 +0000
@@ -20347,7 +20347,7 @@
 	pointer = Fget_text_property (pos, Qpointer, string);
 
      /* Change the mouse pointer according to what is under X/Y.  */
-      if (NILP (pointer) && area == ON_MODE_LINE)
+      if (NILP (pointer) && ((area == ON_MODE_LINE) || (area == ON_HEADER_LINE)))
 	{
 	  Lisp_Object map;
 	  map = Fget_text_property (pos, Qlocal_map, string);