changeset 107266:db99781baf8e

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Mon, 01 Feb 2010 21:54:37 +0000
parents d4daa9776b2a (current diff) 456aad5db2ee (diff)
children 848000087a55
files
diffstat 10 files changed, 93 insertions(+), 40 deletions(-) [+]
line wrap: on
line diff
--- a/doc/emacs/ChangeLog	Sun Jan 31 21:53:42 2010 +0000
+++ b/doc/emacs/ChangeLog	Mon Feb 01 21:54:37 2010 +0000
@@ -1,3 +1,9 @@
+2010-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* display.texi (Useless Whitespace, Text Display):
+	* custom.texi (Init Examples): Avoid obsolete special default variables
+	like default-major-mode.
+
 2010-01-24  Mark A. Hershberger  <mah@everybody.org>
 
 	* programs.texi (Other C Commands): Replace reference to obsolete
--- a/doc/emacs/custom.texi	Sun Jan 31 21:53:42 2010 +0000
+++ b/doc/emacs/custom.texi	Mon Feb 01 21:54:37 2010 +0000
@@ -2275,7 +2275,7 @@
 Make Text mode the default mode for new buffers.
 
 @example
-(setq default-major-mode 'text-mode)
+(setq-default major-mode 'text-mode)
 @end example
 
 Note that @code{text-mode} is used because it is the command for
--- a/doc/emacs/display.texi	Sun Jan 31 21:53:42 2010 +0000
+++ b/doc/emacs/display.texi	Mon Feb 01 21:54:37 2010 +0000
@@ -877,7 +877,6 @@
 @key{RET}}.  This command does not remove newline characters.
 
 @vindex indicate-empty-lines
-@vindex default-indicate-empty-lines
 @cindex unused lines
 @cindex fringes, and unused line indication
   Emacs can indicate unused lines at the end of the window with a
@@ -887,11 +886,11 @@
 this image in the fringe.
 
   To enable this feature, set the buffer-local variable
-@code{indicate-empty-lines} to a non-@code{nil} value.  The default
-value of this variable is controlled by the variable
-@code{default-indicate-empty-lines}; by setting that variable, you
-can enable or disable this feature for all new buffers.  (This feature
-currently doesn't work on text-only terminals.)
+@code{indicate-empty-lines} to a non-@code{nil} value.  You can enable
+or disable this feature for all new buffers by setting the default
+value of this variable, e.g.@: @code{(setq-default
+indicate-empty-lines t)};.  (This feature currently doesn't work on
+text-only terminals.)
 
 @node Selective Display
 @section Selective Display
@@ -1083,17 +1082,15 @@
 printing characters (octal codes above 0400).
 
 @vindex tab-width
-@vindex default-tab-width
   Some @acronym{ASCII} control characters are displayed in special
 ways.  The newline character (octal code 012) is displayed by starting
 a new line.  The tab character (octal code 011) is displayed by moving
 to the next tab stop column (normally every 8 columns).  The number of
 spaces per tab is controlled by the variable @code{tab-width}, which
 must have an integer value between 1 and 1000, inclusive, and is made
-local by changing it.  Note that how the tab character in the buffer
+buffer-local by changing it.  Note that how the tab character in the buffer
 is displayed has nothing to do with the definition of @key{TAB} as a
-command.  The variable @code{default-tab-width} controls the default
-value of this variable for buffers where you have not set it locally.
+command.
 
   Other @acronym{ASCII} control characters are normally displayed as a caret
 (@samp{^}) followed by the non-control version of the character; thus,
--- a/doc/lispintro/ChangeLog	Sun Jan 31 21:53:42 2010 +0000
+++ b/doc/lispintro/ChangeLog	Mon Feb 01 21:54:37 2010 +0000
@@ -1,3 +1,8 @@
+2010-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* emacs-lisp-intro.texi (Text and Auto-fill, Mode Line):
+	Avoid obsolete special default variables like default-major-mode.
+
 2009-12-09  David Robinow  <drobinow@gmail.com>  (tiny change)
 
 	* makefile.w32-in: Use parenthesis for macros for nmake
--- a/doc/lispintro/emacs-lisp-intro.texi	Sun Jan 31 21:53:42 2010 +0000
+++ b/doc/lispintro/emacs-lisp-intro.texi	Mon Feb 01 21:54:37 2010 +0000
@@ -17346,10 +17346,10 @@
 @smallexample
 @group
 ;;; Text mode and Auto Fill mode
-; The next two lines put Emacs into Text mode
-; and Auto Fill mode, and are for writers who
-; want to start writing prose rather than code.
-(setq default-major-mode 'text-mode)
+;; The next two lines put Emacs into Text mode
+;; and Auto Fill mode, and are for writers who
+;; want to start writing prose rather than code.
+(setq-default major-mode 'text-mode)
 (add-hook 'text-mode-hook 'turn-on-auto-fill)
 @end group
 @end smallexample
@@ -18257,7 +18257,7 @@
 @need 1700
 @node Mode Line,  , Miscellaneous, Emacs Initialization
 @section A Modified Mode Line
-@vindex default-mode-line-format
+@vindex mode-line-format
 @cindex Mode line format
 
 Finally, a feature I really like: a modified mode line.
@@ -18282,7 +18282,7 @@
 @group
 ;; Set a Mode Line that tells me which machine, which directory,
 ;; and which line I am on, plus the other customary information.
-(setq default-mode-line-format
+(setq-default mode-line-format
  (quote
   (#("-" 0 1
      (help-echo
--- a/doc/lispref/ChangeLog	Sun Jan 31 21:53:42 2010 +0000
+++ b/doc/lispref/ChangeLog	Mon Feb 01 21:54:37 2010 +0000
@@ -1,3 +1,8 @@
+2010-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* display.texi (Line Height): Avoid obsolete special default variables
+	like default-major-mode.
+
 2010-01-28  Alan Mackenzie  <acm@muc.de>
 
 	* display.texi (Auto Faces): Say fontification-functions is called
--- a/doc/lispref/display.texi	Sun Jan 31 21:53:42 2010 +0000
+++ b/doc/lispref/display.texi	Mon Feb 01 21:54:37 2010 +0000
@@ -1768,7 +1768,6 @@
 There are several ways to specify the line spacing for different
 parts of Emacs text.
 
-@vindex default-line-spacing
   On graphical terminals, you can specify the line spacing for all
 lines in a frame, using the @code{line-spacing} frame parameter
 (@pxref{Layout Parameters}).  However, if the default value of
--- a/lisp/ChangeLog	Sun Jan 31 21:53:42 2010 +0000
+++ b/lisp/ChangeLog	Mon Feb 01 21:54:37 2010 +0000
@@ -1,3 +1,14 @@
+2010-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* doc-view.el (doc-view-new-window-function): Be a bit more defensive.
+	(doc-view-revert-buffer): New command.
+	(doc-view-mode-map): Use it.
+
+2010-02-01  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* vc-bzr.el (vc-bzr-dir-extra-headers): Add a header when a
+	pending merge is detected.
+
 2010-01-31  Juri Linkov  <juri@jurta.org>
 
 	* progmodes/grep.el (zrgrep): Call `grep-compute-defaults' at the
--- a/lisp/doc-view.el	Sun Jan 31 21:53:42 2010 +0000
+++ b/lisp/doc-view.el	Mon Feb 01 21:54:37 2010 +0000
@@ -235,8 +235,15 @@
 
 (defun doc-view-new-window-function (winprops)
   (let ((ol (image-mode-window-get 'overlay winprops)))
+    (when (and ol (not (overlay-buffer ol)))
+      ;; I've seen `ol' be a dead overlay.  I do not yet know how this
+      ;; happened, so maybe the bug is elsewhere, but in the mean time,
+      ;; this seems like a safe approach.
+      (setq ol nil))
     (if ol
-        (setq ol (copy-overlay ol))
+        (progn
+          (assert (eq (overlay-buffer ol) (current-buffer)))
+          (setq ol (copy-overlay ol)))
       (assert (not (get-char-property (point-min) 'display)))
       (setq ol (make-overlay (point-min) (point-max) nil t))
       (overlay-put ol 'doc-view t))
@@ -323,12 +330,21 @@
     (define-key map (kbd "C-c C-c")   'doc-view-toggle-display)
     ;; Open a new buffer with doc's text contents
     (define-key map (kbd "C-c C-t")   'doc-view-open-text)
-    ;; Reconvert the current document
-    (define-key map (kbd "g")         'revert-buffer)
-    (define-key map (kbd "r")         'revert-buffer)
+    ;; Reconvert the current document.  Don't just use revert-buffer
+    ;; because that resets the scale factor, the page number, ...
+    (define-key map (kbd "g")         'doc-view-revert-buffer)
+    (define-key map (kbd "r")         'doc-view-revert-buffer)
     map)
   "Keymap used by `doc-view-mode' when displaying a doc as a set of images.")
 
+(defun doc-view-revert-buffer (&optional ignore-auto noconfirm)
+  "Like `revert-buffer', but preserves the buffer's current modes."
+  ;; FIXME: this should probably be moved to files.el and used for
+  ;; most/all "g" bindings to revert-buffer.
+  (interactive (list (not current-prefix-arg)))
+  (revert-buffer ignore-auto noconfirm 'preserve-modes))
+
+
 (easy-menu-define doc-view-menu doc-view-mode-map
   "Menu for Doc View mode."
   '("DocView"
--- a/lisp/vc-bzr.el	Sun Jan 31 21:53:42 2010 +0000
+++ b/lisp/vc-bzr.el	Mon Feb 01 21:54:37 2010 +0000
@@ -794,6 +794,12 @@
 	      (buffer-string)))
        (shelve (vc-bzr-shelve-list))
        (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)))
+       (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
 	(when (string-match ".+light checkout root: \\(.+\\)$" str)
 	  (match-string 1 str)))
@@ -819,24 +825,32 @@
 	 (propertize "Checkout of branch : " 'face 'font-lock-type-face)
 	 (propertize light-checkout-branch 'face 'font-lock-variable-name-face)
 	 "\n"))
-     (if shelve
-	 (concat
-	  (propertize "Shelves            :\n" 'face 'font-lock-type-face
-		      'help-echo shelve-help-echo)
-	  (mapconcat
-	   (lambda (x)
-	     (propertize x
-			 'face 'font-lock-variable-name-face
-			 'mouse-face 'highlight
-			 'help-echo "mouse-3: Show shelve menu\nP: Apply and remove shelf (pop)\nC-k: Delete shelf"
-			 'keymap vc-bzr-shelve-map))
-	   shelve "\n"))
-       (concat
-	(propertize "Shelves            : " 'face 'font-lock-type-face
-		    'help-echo shelve-help-echo)
-	(propertize "No shelved changes"
-		    'help-echo shelve-help-echo
-		    'face 'font-lock-variable-name-face))))))
+      (when pending-merge
+	(concat
+	 (propertize "Warning            : " 'face 'font-lock-warning-face
+		     'help-echo pending-merge-help-echo)
+	 (propertize "Pending merges, commit recommended before any other action"
+		     'help-echo pending-merge-help-echo
+		     'face 'font-lock-warning-face)
+	 "\n"))
+      (if shelve
+	  (concat
+	   (propertize "Shelves            :\n" 'face 'font-lock-type-face
+		       'help-echo shelve-help-echo)
+	   (mapconcat
+	    (lambda (x)
+	      (propertize x
+			  'face 'font-lock-variable-name-face
+			  'mouse-face 'highlight
+			  'help-echo "mouse-3: Show shelve menu\nA: Apply and keep shelf\nP: Apply and remove shelf (pop)\nS: Snapshot to a shelf\nC-k: Delete shelf"
+			  'keymap vc-bzr-shelve-map))
+	    shelve "\n"))
+	(concat
+	 (propertize "Shelves            : " 'face 'font-lock-type-face
+		     'help-echo shelve-help-echo)
+	 (propertize "No shelved changes"
+		     'help-echo shelve-help-echo
+		     'face 'font-lock-variable-name-face))))))
 
 (defun vc-bzr-shelve (name)
   "Create a shelve."