changeset 107632:a2c01839283b

Merge from mainline.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 06 Feb 2010 12:50:45 -0500
parents 79cb7ef6ffda (current diff) 0afb47d42c74 (diff)
children 7e1441b44e84
files
diffstat 12 files changed, 93 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/doc/misc/ChangeLog	Sat Feb 06 12:47:35 2010 -0500
+++ b/doc/misc/ChangeLog	Sat Feb 06 12:50:45 2010 -0500
@@ -1,3 +1,7 @@
+2010-02-05  Mark A. Hershberger  <mah@everybody.org>
+
+	* ede.texi, eieio.texi, semantic.texi: Use standard direntry format.
+
 2010-01-21  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* gnus.texi (Score File Format): Fix typo.
--- a/doc/misc/ede.texi	Sat Feb 06 12:47:35 2010 -0500
+++ b/doc/misc/ede.texi	Sat Feb 06 12:50:45 2010 -0500
@@ -22,13 +22,10 @@
 @end quotation
 @end copying
 
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
+@dircategory Emacs
+@direntry
 * ede: (ede).       Project management for Emacs
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
+@end direntry
 
 @titlepage
 @center @titlefont{EDE (The Emacs Development Environment)}
--- a/doc/misc/eieio.texi	Sat Feb 06 12:47:35 2010 -0500
+++ b/doc/misc/eieio.texi	Sat Feb 06 12:50:45 2010 -0500
@@ -27,13 +27,10 @@
 @end quotation
 @end copying
 
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
+@dircategory Emacs
+@direntry
 * eieio: (eieio).       Objects for Emacs
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
+@end direntry
 
 @titlepage
 @center @titlefont{@value{TITLE}}
--- a/doc/misc/semantic.texi	Sat Feb 06 12:47:35 2010 -0500
+++ b/doc/misc/semantic.texi	Sat Feb 06 12:50:45 2010 -0500
@@ -41,13 +41,10 @@
 @end quotation
 @end copying
 
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
+@dircategory Emacs
+@direntry
 * Semantic: (semantic).      Source code parser library and utilities.
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
+@end direntry
 
 @titlepage
 @center @titlefont{Semantic}
--- a/lisp/ChangeLog	Sat Feb 06 12:47:35 2010 -0500
+++ b/lisp/ChangeLog	Sat Feb 06 12:50:45 2010 -0500
@@ -1,3 +1,22 @@
+2010-02-06  Chong Yidong  <cyd@stupidchicken.com>
+
+	* progmodes/cc-mode.el (c-common-init): Bind temporary variables
+	beg and end before calling c-get-state-before-change-functions.
+
+2010-02-06  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* vc-bzr.el (vc-bzr-dir-extra-headers): Disable the pending merges header.
+
+2010-02-05  Juri Linkov  <juri@jurta.org>
+
+	* doc-view.el (doc-view-mode):
+	* image-mode.el (image-mode): Put property mode-class=special.
+	(Bug#4896)
+
+2010-02-05  Mark A. Hershberger  <mah@everybody.org>
+
+	* vc-svn.el (vc-svn-revision-table): New function.
+
 2010-02-05  Michael Albinus  <michael.albinus@gmx.de>
 
 	* net/ange-ftp.el (ange-ftp-insert-directory):
--- a/lisp/doc-view.el	Sat Feb 06 12:47:35 2010 -0500
+++ b/lisp/doc-view.el	Sat Feb 06 12:50:45 2010 -0500
@@ -1134,7 +1134,7 @@
 
 ;;;; User interface commands and the mode
 
-;; (put 'doc-view-mode 'mode-class 'special)
+(put 'doc-view-mode 'mode-class 'special)
 
 (defun doc-view-already-converted-p ()
   "Return non-nil if the current doc was already converted."
--- a/lisp/image-mode.el	Sat Feb 06 12:47:35 2010 -0500
+++ b/lisp/image-mode.el	Sat Feb 06 12:50:45 2010 -0500
@@ -317,6 +317,8 @@
 
 (defvar bookmark-make-record-function)
 
+(put 'image-mode 'mode-class 'special)
+
 ;;;###autoload
 (defun image-mode ()
   "Major mode for image files.
--- a/lisp/progmodes/cc-mode.el	Sat Feb 06 12:47:35 2010 -0500
+++ b/lisp/progmodes/cc-mode.el	Sat Feb 06 12:50:45 2010 -0500
@@ -642,9 +642,11 @@
     (widen)
     (save-excursion
       (if c-get-state-before-change-functions
-	  (mapc (lambda (fn)
-		  (funcall fn beg end))
-		c-get-state-before-change-functions))
+	  (let ((beg (point-min))
+		(end (point-max)))
+	    (mapc (lambda (fn)
+		    (funcall fn beg end))
+		  c-get-state-before-change-functions)))
       (if c-before-font-lock-function
 	  (funcall c-before-font-lock-function (point-min) (point-max)
 		   (- (point-max) (point-min))))))
--- a/lisp/vc-bzr.el	Sat Feb 06 12:47:35 2010 -0500
+++ b/lisp/vc-bzr.el	Sat Feb 06 12:50:45 2010 -0500
@@ -796,8 +796,12 @@
        (shelve-help-echo "Use M-x vc-bzr-shelve to create shelves")
        (root-dir (vc-bzr-root dir))
        (pending-merge
-	(file-exists-p
-	 (expand-file-name ".bzr/checkout/merge-hashes" root-dir)))
+	;; FIXME: looking for .bzr/checkout/merge-hashes is not a
+	;; reliable method to detect pending merges, disable this
+	;; until a proper solution is implemented.
+	(and nil
+	 (file-exists-p
+	 (expand-file-name ".bzr/checkout/merge-hashes" root-dir))))
        (pending-merge-help-echo
 	(format "A merge has been performed.\nA commit from the top-level directory (%s)\nis required before being able to check in anything else" root-dir))
        (light-checkout
--- a/lisp/vc-svn.el	Sat Feb 06 12:47:35 2010 -0500
+++ b/lisp/vc-svn.el	Sat Feb 06 12:50:45 2010 -0500
@@ -31,6 +31,10 @@
 (eval-when-compile
   (require 'vc))
 
+;; Clear up the cache to force vc-call to check again and discover
+;; new functions when we reload this file.
+(put 'SVN 'vc-functions nil)
+
 ;;;
 ;;; Customization options
 ;;;
@@ -722,6 +726,21 @@
     (beginning-of-line)
     (if (looking-at vc-svn-annotate-re) (match-string 1))))
 
+(defun vc-svn-revision-table (files)
+  (let ((vc-svn-revisions '()))
+    (with-current-buffer "*vc*"
+      (vc-svn-command nil 0 files "log" "-q")
+      (goto-char (point-min))
+      (forward-line)
+      (let ((start (point-min))
+            (loglines (buffer-substring-no-properties (point-min)
+                                                      (point-max))))
+        (while (string-match "^r\\([0-9]+\\) " loglines)
+          (push (match-string 1 loglines) vc-svn-revisions)
+          (setq start (+ start (match-end 0)))
+          (setq loglines (buffer-substring-no-properties start (point-max)))))
+    vc-svn-revisions)))
+
 (provide 'vc-svn)
 
 ;; arch-tag: 02f10c68-2b4d-453a-90fc-1eee6cfb268d
--- a/src/ChangeLog	Sat Feb 06 12:47:35 2010 -0500
+++ b/src/ChangeLog	Sat Feb 06 12:50:45 2010 -0500
@@ -1,3 +1,9 @@
+2010-02-06  Chong Yidong  <cyd@stupidchicken.com>
+
+	* charset.c (load_charset_map_from_file)
+	(load_charset_map_from_vector): Fix last change to use SAFE_ALLOCA
+	instead of xmalloc (Bug#5526).  Suggested by Vivek Dasmohapatra.
+
 2010-02-05  Chong Yidong  <cyd@stupidchicken.com>
 
 	* charset.c (load_charset_map_from_file): Allocate large
--- a/src/charset.c	Sat Feb 06 12:47:35 2010 -0500
+++ b/src/charset.c	Sat Feb 06 12:50:45 2010 -0500
@@ -512,12 +512,13 @@
   int eof;
   Lisp_Object suffixes;
   struct charset_map_entries *head, *entries;
-  int n_entries;
-  int count = SPECPDL_INDEX ();
+  int n_entries, count;
+  USE_SAFE_ALLOCA;
 
   suffixes = Fcons (build_string (".map"),
 		    Fcons (build_string (".TXT"), Qnil));
 
+  count = SPECPDL_INDEX ();
   specbind (Qfile_name_handler_alist, Qnil);
   fd = openp (Vcharset_map_path, mapfile, suffixes, NULL, Qnil);
   unbind_to (count, Qnil);
@@ -525,8 +526,12 @@
       || ! (fp = fdopen (fd, "r")))
     error ("Failure in loading charset map: %S", SDATA (mapfile));
 
-  head = entries = ((struct charset_map_entries *)
-		    xmalloc (sizeof (struct charset_map_entries)));
+  /* Use SAFE_ALLOCA instead of alloca, as `charset_map_entries' is
+     large (larger than MAX_ALLOCA).  */
+  SAFE_ALLOCA (head, struct charset_map_entries *,
+	       sizeof (struct charset_map_entries));
+  entries = head;
+
   n_entries = 0;
   eof = 0;
   while (1)
@@ -549,8 +554,8 @@
 
       if (n_entries > 0 && (n_entries % 0x10000) == 0)
 	{
-	  entries->next = ((struct charset_map_entries *)
-			   alloca (sizeof (struct charset_map_entries)));
+	  SAFE_ALLOCA (entries->next, struct charset_map_entries *,
+		       sizeof (struct charset_map_entries));
 	  entries = entries->next;
 	}
       idx = n_entries % 0x10000;
@@ -563,7 +568,7 @@
   close (fd);
 
   load_charset_map (charset, head, n_entries, control_flag);
-  xfree (head);
+  SAFE_FREE ();
 }
 
 static void
@@ -578,6 +583,7 @@
   int n_entries;
   int len = ASIZE (vec);
   int i;
+  USE_SAFE_ALLOCA;
 
   if (len % 2 == 1)
     {
@@ -585,8 +591,12 @@
       return;
     }
 
-  head = entries = ((struct charset_map_entries *)
-		    alloca (sizeof (struct charset_map_entries)));
+  /* Use SAFE_ALLOCA instead of alloca, as `charset_map_entries' is
+     large (larger than MAX_ALLOCA).  */
+  SAFE_ALLOCA (head, struct charset_map_entries *,
+	       sizeof (struct charset_map_entries));
+  entries = head;
+
   n_entries = 0;
   for (i = 0; i < len; i += 2)
     {
@@ -619,8 +629,8 @@
 
       if (n_entries > 0 && (n_entries % 0x10000) == 0)
 	{
-	  entries->next = ((struct charset_map_entries *)
-			   alloca (sizeof (struct charset_map_entries)));
+	  SAFE_ALLOCA (entries->next, struct charset_map_entries *,
+		       sizeof (struct charset_map_entries));
 	  entries = entries->next;
 	}
       idx = n_entries % 0x10000;
@@ -631,6 +641,7 @@
     }
 
   load_charset_map (charset, head, n_entries, control_flag);
+  SAFE_FREE ();
 }