aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorKenichi Handa2014-01-13 08:26:08 +0900
committerKenichi Handa2014-01-13 08:26:08 +0900
commit1a0778b078b9ffaa68e1ae0d4b26de147872b421 (patch)
tree993d3a684b6c08a7cdd98fd8827ddd058931ebc9 /lisp
parent67671fb1dcbfd46ddee7e753d6f545d25821d445 (diff)
parentb30dee657df010645703150248a33f3e22a002d2 (diff)
downloademacs-1a0778b078b9ffaa68e1ae0d4b26de147872b421.tar.gz
emacs-1a0778b078b9ffaa68e1ae0d4b26de147872b421.zip
merge trunk
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog42
-rw-r--r--lisp/dired-x.el2
-rw-r--r--lisp/dired.el2
-rw-r--r--lisp/emacs-lisp/eldoc.el54
-rw-r--r--lisp/emacs-lisp/generic.el4
-rw-r--r--lisp/mouse-drag.el2
-rw-r--r--lisp/net/eww.el4
-rw-r--r--lisp/org/org-list.el2
-rw-r--r--lisp/org/ox.el2
-rw-r--r--lisp/play/bubbles.el40
-rw-r--r--lisp/progmodes/octave.el8
-rw-r--r--lisp/progmodes/sh-script.el2
-rw-r--r--lisp/simple.el1
-rw-r--r--lisp/version.el80
14 files changed, 149 insertions, 96 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5647c86053e..d113d60af83 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,45 @@
12014-01-12 Xue Fuqiao <xfq.free@gmail.com>
2
3 * net/eww.el (eww-download-directory): Rename from
4 `eww-download-path' (Bug#16419).
5
62014-01-12 Leo Liu <sdl.web@gmail.com>
7
8 * dired-x.el (dired-mode-map): Fix last change.
9
10 * emacs-lisp/eldoc.el (eldoc-mode): Add hook locally.
11
122014-01-12 Paul Eggert <eggert@cs.ucla.edu>
13
14 Spelling fixes.
15 * emacs-lisp/generic.el (generic--normalize-comments):
16 Rename from generic--normalise-comments. All uses changed.
17 * play/bubbles.el (bubbles--neighborhood-score):
18 (bubbles--mark-direct-neighbors, bubbles--mark-neighborhood)
19 (bubbles--neighborhood-available)
20 (bubbles--update-neighborhood-score):
21 Rename from names with 'neighbourhood'. All uses changed.
22
232014-01-12 Leo Liu <sdl.web@gmail.com>
24
25 Re-implement the feature of showing eldoc info after editing.
26 * emacs-lisp/eldoc.el (eldoc-post-insert-mode): Remove.
27 (eldoc-edit-message-commands): New function.
28 (eldoc-print-after-edit): New variable.
29 (eldoc-pre-command-refresh-echo-area): Emit message only by
30 eldoc-message-commands.
31 (eldoc-mode): Restrict eldoc-message-commands to editing commands
32 if eldoc-print-after-edit is set. (Bug#16346)
33
34 * progmodes/octave.el (octave-mode-menu): Adapt to change in
35 eldoc.
36
12014-01-11 Eric S. Raymond <esr@thyrsus.com> 372014-01-11 Eric S. Raymond <esr@thyrsus.com>
2 38
39 * version.el (emacs-repository-get-version): Enhance so the
40 function works correctly in either a Bazaar or Git repo. The
41 Bazaar case can be discarded after the repo transition.
42
3 * play/meese.el: It's 2014 and Ed Meese is justly forgotten. Goes 43 * play/meese.el: It's 2014 and Ed Meese is justly forgotten. Goes
4 with removal of the joke manpages from /etc. 44 with removal of the joke manpages from /etc.
5 45
@@ -243,7 +283,7 @@
2432014-01-06 Leo Liu <sdl.web@gmail.com> 2832014-01-06 Leo Liu <sdl.web@gmail.com>
244 284
245 * dired-x.el (dired-mode-map): Rebind dired-omit-mode to C-x M-o 285 * dired-x.el (dired-mode-map): Rebind dired-omit-mode to C-x M-o
246 to avoid shadowning global key. (Bug#16354) 286 to avoid shadowing global key. (Bug#16354)
247 287
2482014-01-06 Daniel Colascione <dancol@dancol.org> 2882014-01-06 Daniel Colascione <dancol@dancol.org>
249 289
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index a1ee1fa2e07..947de7cd9f8 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -241,7 +241,7 @@ to nil: a pipe using `zcat' or `gunzip -c' will be used."
241 241
242;;; KEY BINDINGS. 242;;; KEY BINDINGS.
243 243
244(define-key dired-mode-map "\C-c\M-o" 'dired-omit-mode) 244(define-key dired-mode-map "\C-x\M-o" 'dired-omit-mode)
245(define-key dired-mode-map "*O" 'dired-mark-omitted) 245(define-key dired-mode-map "*O" 'dired-mark-omitted)
246(define-key dired-mode-map "\M-(" 'dired-mark-sexp) 246(define-key dired-mode-map "\M-(" 'dired-mark-sexp)
247(define-key dired-mode-map "*(" 'dired-mark-sexp) 247(define-key dired-mode-map "*(" 'dired-mark-sexp)
diff --git a/lisp/dired.el b/lisp/dired.el
index 571e0d25be1..a30f34bc43a 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -4353,7 +4353,7 @@ instead.
4353 4353
4354;;;*** 4354;;;***
4355 4355
4356;;;### (autoloads nil "dired-x" "dired-x.el" "fe5dbf515419da3b9907f32e5d4311fa") 4356;;;### (autoloads nil "dired-x" "dired-x.el" "291bc6e869bf72c900604c45d40f45ed")
4357;;; Generated autoloads from dired-x.el 4357;;; Generated autoloads from dired-x.el
4358 4358
4359(autoload 'dired-jump "dired-x" "\ 4359(autoload 'dired-jump "dired-x" "\
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index 8bd9ebc1e63..fa1574b0a88 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -1,4 +1,4 @@
1;;; eldoc.el --- show function arglist or variable docstring in echo area 1;;; eldoc.el --- show function arglist or variable docstring in echo area -*- lexical-binding: t; -*-
2 2
3;; Copyright (C) 1996-2014 Free Software Foundation, Inc. 3;; Copyright (C) 1996-2014 Free Software Foundation, Inc.
4 4
@@ -62,6 +62,12 @@ If this variable is set to 0, no idle time is required."
62 :type 'number 62 :type 'number
63 :group 'eldoc) 63 :group 'eldoc)
64 64
65(defcustom eldoc-print-after-edit nil
66 "If non-nil eldoc info is only shown when editing.
67Changing the value requires toggling `eldoc-mode'."
68 :type 'boolean
69 :group 'eldoc)
70
65;;;###autoload 71;;;###autoload
66(defcustom eldoc-minor-mode-string (purecopy " ElDoc") 72(defcustom eldoc-minor-mode-string (purecopy " ElDoc")
67 "String to display in mode line when ElDoc Mode is enabled; nil for none." 73 "String to display in mode line when ElDoc Mode is enabled; nil for none."
@@ -150,6 +156,16 @@ This is used to determine if `eldoc-idle-delay' is changed by the user.")
150 "The function used by `eldoc-message' to display messages. 156 "The function used by `eldoc-message' to display messages.
151It should receive the same arguments as `message'.") 157It should receive the same arguments as `message'.")
152 158
159(defun eldoc-edit-message-commands ()
160 (let ((cmds (make-vector 31 0))
161 (re (regexp-opt '("delete" "insert" "edit" "electric" "newline"))))
162 (mapatoms (lambda (s)
163 (and (commandp s)
164 (string-match-p re (symbol-name s))
165 (intern (symbol-name s) cmds)))
166 obarray)
167 cmds))
168
153 169
154;;;###autoload 170;;;###autoload
155(define-minor-mode eldoc-mode 171(define-minor-mode eldoc-mode
@@ -168,25 +184,13 @@ expression point is on."
168 (setq eldoc-last-message nil) 184 (setq eldoc-last-message nil)
169 (if eldoc-mode 185 (if eldoc-mode
170 (progn 186 (progn
187 (when eldoc-print-after-edit
188 (setq-local eldoc-message-commands (eldoc-edit-message-commands)))
171 (add-hook 'post-command-hook 'eldoc-schedule-timer nil t) 189 (add-hook 'post-command-hook 'eldoc-schedule-timer nil t)
172 (add-hook 'pre-command-hook 'eldoc-pre-command-refresh-echo-area t)) 190 (add-hook 'pre-command-hook 'eldoc-pre-command-refresh-echo-area nil t))
173 (remove-hook 'post-command-hook 'eldoc-schedule-timer) 191 (kill-local-variable 'eldoc-message-commands)
174 (remove-hook 'pre-command-hook 'eldoc-pre-command-refresh-echo-area))) 192 (remove-hook 'post-command-hook 'eldoc-schedule-timer t)
175 193 (remove-hook 'pre-command-hook 'eldoc-pre-command-refresh-echo-area t)))
176;;;###autoload
177(define-minor-mode eldoc-post-insert-mode nil
178 :group 'eldoc :lighter (:eval (if eldoc-mode ""
179 (concat eldoc-minor-mode-string "|i")))
180 (setq eldoc-last-message nil)
181 (let ((prn-info (lambda ()
182 (unless eldoc-mode
183 (eldoc-print-current-symbol-info)))))
184 (if eldoc-post-insert-mode
185 (add-hook 'post-self-insert-hook prn-info nil t)
186 (remove-hook 'post-self-insert-hook prn-info t))))
187
188;; FIXME: This changes Emacs's behavior when the file is loaded!
189(add-hook 'eval-expression-minibuffer-setup-hook 'eldoc-post-insert-mode)
190 194
191;;;###autoload 195;;;###autoload
192(defun turn-on-eldoc-mode () 196(defun turn-on-eldoc-mode ()
@@ -264,8 +268,10 @@ Otherwise work like `message'."
264;; This doesn't seem to be required for Emacs 19.28 and earlier. 268;; This doesn't seem to be required for Emacs 19.28 and earlier.
265(defun eldoc-pre-command-refresh-echo-area () 269(defun eldoc-pre-command-refresh-echo-area ()
266 (and eldoc-last-message 270 (and eldoc-last-message
267 (if (eldoc-display-message-no-interference-p) 271 (if (and (eldoc-display-message-no-interference-p)
268 (eldoc-message eldoc-last-message) 272 (symbolp this-command)
273 (intern-soft (symbol-name this-command) eldoc-message-commands))
274 (eldoc-message eldoc-last-message)
269 (setq eldoc-last-message nil)))) 275 (setq eldoc-last-message nil))))
270 276
271;; Decide whether now is a good time to display a message. 277;; Decide whether now is a good time to display a message.
@@ -283,9 +289,7 @@ Otherwise work like `message'."
283;; Check various conditions about the current environment that might make 289;; Check various conditions about the current environment that might make
284;; it undesirable to print eldoc messages right this instant. 290;; it undesirable to print eldoc messages right this instant.
285(defun eldoc-display-message-no-interference-p () 291(defun eldoc-display-message-no-interference-p ()
286 (and eldoc-mode 292 (not (or executing-kbd-macro (bound-and-true-p edebug-active))))
287 (not executing-kbd-macro)
288 (not (and (boundp 'edebug-active) edebug-active))))
289 293
290 294
291;;;###autoload 295;;;###autoload
@@ -309,7 +313,7 @@ Emacs Lisp mode) that support ElDoc.")
309 ;; This is run from post-command-hook or some idle timer thing, 313 ;; This is run from post-command-hook or some idle timer thing,
310 ;; so we need to be careful that errors aren't ignored. 314 ;; so we need to be careful that errors aren't ignored.
311 (with-demoted-errors "eldoc error: %s" 315 (with-demoted-errors "eldoc error: %s"
312 (and (or (eldoc-display-message-p) eldoc-post-insert-mode) 316 (and (eldoc-display-message-p)
313 (if eldoc-documentation-function 317 (if eldoc-documentation-function
314 (eldoc-message (funcall eldoc-documentation-function)) 318 (eldoc-message (funcall eldoc-documentation-function))
315 (let* ((current-symbol (eldoc-current-symbol)) 319 (let* ((current-symbol (eldoc-current-symbol))
diff --git a/lisp/emacs-lisp/generic.el b/lisp/emacs-lisp/generic.el
index 146219885da..02c30aad55f 100644
--- a/lisp/emacs-lisp/generic.el
+++ b/lisp/emacs-lisp/generic.el
@@ -224,7 +224,7 @@ Some generic modes are defined in `generic-x.el'."
224 224
225;;; Comment Functionality 225;;; Comment Functionality
226 226
227(defun generic--normalise-comments (comment-list) 227(defun generic--normalize-comments (comment-list)
228 (let ((normalized '())) 228 (let ((normalized '()))
229 (dolist (start comment-list) 229 (dolist (start comment-list)
230 (let (end) 230 (let (end)
@@ -300,7 +300,7 @@ Some generic modes are defined in `generic-x.el'."
300(defun generic-mode-set-comments (comment-list) 300(defun generic-mode-set-comments (comment-list)
301 "Set up comment functionality for generic mode." 301 "Set up comment functionality for generic mode."
302 (let ((st (make-syntax-table)) 302 (let ((st (make-syntax-table))
303 (comment-list (generic--normalise-comments comment-list))) 303 (comment-list (generic--normalize-comments comment-list)))
304 (generic-set-comment-syntax st comment-list) 304 (generic-set-comment-syntax st comment-list)
305 (generic-set-comment-vars comment-list) 305 (generic-set-comment-vars comment-list)
306 (set-syntax-table st))) 306 (set-syntax-table st)))
diff --git a/lisp/mouse-drag.el b/lisp/mouse-drag.el
index a0115f8ea66..082c9235ff9 100644
--- a/lisp/mouse-drag.el
+++ b/lisp/mouse-drag.el
@@ -291,7 +291,7 @@ To test this function, evaluate:
291 (or (mouse-movement-p event) 291 (or (mouse-movement-p event)
292 (eq (car-safe event) 'switch-frame))) 292 (eq (car-safe event) 'switch-frame)))
293 ;; Scroll if see if we're on the edge. 293 ;; Scroll if see if we're on the edge.
294 ;; NEEDSWORK: should handle mouse-in-other window. 294 ;; FIXME: should handle mouse-in-other window.
295 (cond 295 (cond
296 ((not (eq start-window (posn-window end))) 296 ((not (eq start-window (posn-window end)))
297 t) ; wait for return to original window 297 t) ; wait for return to original window
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 38726fd7dcc..4375a31bd36 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -50,8 +50,8 @@
50 :group 'eww 50 :group 'eww
51 :type 'string) 51 :type 'string)
52 52
53(defcustom eww-download-path "~/Downloads/" 53(defcustom eww-download-directory "~/Downloads/"
54 "Path where files will downloaded." 54 "Directory where files will downloaded."
55 :version "24.4" 55 :version "24.4"
56 :group 'eww 56 :group 'eww
57 :type 'string) 57 :type 'string)
diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el
index 69ad4da60ca..d24dad28363 100644
--- a/lisp/org/org-list.el
+++ b/lisp/org/org-list.el
@@ -1223,7 +1223,7 @@ some heuristics to guess the result."
1223 ;; When `org-blank-before-new-entry' says so, it is 1. 1223 ;; When `org-blank-before-new-entry' says so, it is 1.
1224 ((eq insert-blank-p t) 1) 1224 ((eq insert-blank-p t) 1)
1225 ;; `plain-list-item' is 'auto. Count blank lines separating 1225 ;; `plain-list-item' is 'auto. Count blank lines separating
1226 ;; neighbours items in list. 1226 ;; neighbors' items in list.
1227 (t (let ((next-p (org-list-get-next-item item struct prevs))) 1227 (t (let ((next-p (org-list-get-next-item item struct prevs)))
1228 (cond 1228 (cond
1229 ;; Is there a next item? 1229 ;; Is there a next item?
diff --git a/lisp/org/ox.el b/lisp/org/ox.el
index fcf6aab2069..0102523b5c7 100644
--- a/lisp/org/ox.el
+++ b/lisp/org/ox.el
@@ -5093,7 +5093,7 @@ Return the new string."
5093;;;; Topology 5093;;;; Topology
5094;; 5094;;
5095;; Here are various functions to retrieve information about the 5095;; Here are various functions to retrieve information about the
5096;; neighbourhood of a given element or object. Neighbours of interest 5096;; neighborhood of a given element or object. Neighbors of interest
5097;; are direct parent (`org-export-get-parent'), parent headline 5097;; are direct parent (`org-export-get-parent'), parent headline
5098;; (`org-export-get-parent-headline'), first element containing an 5098;; (`org-export-get-parent-headline'), first element containing an
5099;; object, (`org-export-get-parent-element'), parent table 5099;; object, (`org-export-get-parent-element'), parent table
diff --git a/lisp/play/bubbles.el b/lisp/play/bubbles.el
index 8294d6398fe..e7f5725a0f0 100644
--- a/lisp/play/bubbles.el
+++ b/lisp/play/bubbles.el
@@ -231,7 +231,7 @@ Available modes are `shift-default' and `shift-always'."
231(defvar bubbles--score 0 231(defvar bubbles--score 0
232 "Current Bubbles score.") 232 "Current Bubbles score.")
233 233
234(defvar bubbles--neighbourhood-score 0 234(defvar bubbles--neighborhood-score 0
235 "Score of active bubbles neighborhood.") 235 "Score of active bubbles neighborhood.")
236 236
237(defvar bubbles--faces nil 237(defvar bubbles--faces nil
@@ -925,7 +925,7 @@ static char * dot3d_xpm[] = {
925 (buffer-disable-undo) 925 (buffer-disable-undo)
926 (force-mode-line-update) 926 (force-mode-line-update)
927 (redisplay) 927 (redisplay)
928 (add-hook 'post-command-hook 'bubbles--mark-neighbourhood t t)) 928 (add-hook 'post-command-hook 'bubbles--mark-neighborhood t t))
929 929
930;;;###autoload 930;;;###autoload
931(defun bubbles () 931(defun bubbles ()
@@ -1087,7 +1087,7 @@ Set `bubbles--col-offset' and `bubbles--row-offset'."
1087 (char-after (point)) 1087 (char-after (point))
1088 nil))) 1088 nil)))
1089 1089
1090(defun bubbles--mark-direct-neighbours (row col char) 1090(defun bubbles--mark-direct-neighbors (row col char)
1091 "Mark direct neighbors of bubble at ROW COL with same CHAR." 1091 "Mark direct neighbors of bubble at ROW COL with same CHAR."
1092 (save-excursion 1092 (save-excursion
1093 (let ((count 0)) 1093 (let ((count 0))
@@ -1097,13 +1097,13 @@ Set `bubbles--col-offset' and `bubbles--row-offset'."
1097 (add-text-properties (point) (1+ (point)) 1097 (add-text-properties (point) (1+ (point))
1098 '(active t face 'bubbles--highlight-face)) 1098 '(active t face 'bubbles--highlight-face))
1099 (setq count (+ 1 1099 (setq count (+ 1
1100 (bubbles--mark-direct-neighbours row (1+ col) char) 1100 (bubbles--mark-direct-neighbors row (1+ col) char)
1101 (bubbles--mark-direct-neighbours row (1- col) char) 1101 (bubbles--mark-direct-neighbors row (1- col) char)
1102 (bubbles--mark-direct-neighbours (1+ row) col char) 1102 (bubbles--mark-direct-neighbors (1+ row) col char)
1103 (bubbles--mark-direct-neighbours (1- row) col char)))) 1103 (bubbles--mark-direct-neighbors (1- row) col char))))
1104 count))) 1104 count)))
1105 1105
1106(defun bubbles--mark-neighbourhood (&optional pos) 1106(defun bubbles--mark-neighborhood (&optional pos)
1107 "Mark neighborhood of point. 1107 "Mark neighborhood of point.
1108Use optional parameter POS instead of point if given." 1108Use optional parameter POS instead of point if given."
1109 (when bubbles--playing 1109 (when bubbles--playing
@@ -1117,17 +1117,17 @@ Use optional parameter POS instead of point if given."
1117 '(face default active nil)) 1117 '(face default active nil))
1118 (let ((count 0)) 1118 (let ((count 0))
1119 (when (and row col (not (eq char (bubbles--empty-char)))) 1119 (when (and row col (not (eq char (bubbles--empty-char))))
1120 (setq count (bubbles--mark-direct-neighbours row col char)) 1120 (setq count (bubbles--mark-direct-neighbors row col char))
1121 (unless (> count 1) 1121 (unless (> count 1)
1122 (add-text-properties (point-min) (point-max) 1122 (add-text-properties (point-min) (point-max)
1123 '(face default active nil)) 1123 '(face default active nil))
1124 (setq count 0))) 1124 (setq count 0)))
1125 (bubbles--update-neighbourhood-score count)) 1125 (bubbles--update-neighborhood-score count))
1126 (put-text-property (point-min) (point-max) 'pointer 'arrow) 1126 (put-text-property (point-min) (point-max) 'pointer 'arrow)
1127 (bubbles--update-faces-or-images) 1127 (bubbles--update-faces-or-images)
1128 (sit-for 0))))) 1128 (sit-for 0)))))
1129 1129
1130(defun bubbles--neighbourhood-available () 1130(defun bubbles--neighborhood-available ()
1131 "Return t if another valid neighborhood is available." 1131 "Return t if another valid neighborhood is available."
1132 (catch 'found 1132 (catch 'found
1133 (save-excursion 1133 (save-excursion
@@ -1153,20 +1153,20 @@ Use optional parameter POS instead of point if given."
1153 1153
1154(defun bubbles--reset-score () 1154(defun bubbles--reset-score ()
1155 "Reset bubbles score." 1155 "Reset bubbles score."
1156 (setq bubbles--neighbourhood-score 0 1156 (setq bubbles--neighborhood-score 0
1157 bubbles--score 0) 1157 bubbles--score 0)
1158 (bubbles--update-score)) 1158 (bubbles--update-score))
1159 1159
1160(defun bubbles--update-score () 1160(defun bubbles--update-score ()
1161 "Calculate and display new bubbles score." 1161 "Calculate and display new bubbles score."
1162 (setq bubbles--score (+ bubbles--score bubbles--neighbourhood-score)) 1162 (setq bubbles--score (+ bubbles--score bubbles--neighborhood-score))
1163 (bubbles--show-scores)) 1163 (bubbles--show-scores))
1164 1164
1165(defun bubbles--update-neighbourhood-score (size) 1165(defun bubbles--update-neighborhood-score (size)
1166 "Calculate and display score of active neighborhood from its SIZE." 1166 "Calculate and display score of active neighborhood from its SIZE."
1167 (if (> size 1) 1167 (if (> size 1)
1168 (setq bubbles--neighbourhood-score (expt (- size 1) 2)) 1168 (setq bubbles--neighborhood-score (expt (- size 1) 2))
1169 (setq bubbles--neighbourhood-score 0)) 1169 (setq bubbles--neighborhood-score 0))
1170 (bubbles--show-scores)) 1170 (bubbles--show-scores))
1171 1171
1172(defun bubbles--show-scores () 1172(defun bubbles--show-scores ()
@@ -1177,7 +1177,7 @@ Use optional parameter POS instead of point if given."
1177 (let ((inhibit-read-only t) 1177 (let ((inhibit-read-only t)
1178 (pos (point))) 1178 (pos (point)))
1179 (delete-region (point) (point-max)) 1179 (delete-region (point) (point-max))
1180 (insert (format "Selected: %4d\n" bubbles--neighbourhood-score)) 1180 (insert (format "Selected: %4d\n" bubbles--neighborhood-score))
1181 (insert " ") 1181 (insert " ")
1182 (add-text-properties (1- (point)) (point) 1182 (add-text-properties (1- (point)) (point)
1183 (list 'intangible t 'display 1183 (list 'intangible t 'display
@@ -1216,10 +1216,10 @@ Use optional parameter POS instead of point if given."
1216 "Remove active bubbles region." 1216 "Remove active bubbles region."
1217 (interactive) 1217 (interactive)
1218 (when (and bubbles--playing 1218 (when (and bubbles--playing
1219 (> bubbles--neighbourhood-score 0)) 1219 (> bubbles--neighborhood-score 0))
1220 (setq bubbles--save-data (list bubbles--score (buffer-string))) 1220 (setq bubbles--save-data (list bubbles--score (buffer-string)))
1221 (let ((inhibit-read-only t)) 1221 (let ((inhibit-read-only t))
1222 ;; blank out current neighbourhood 1222 ;; blank out current neighborhood
1223 (let ((row (bubbles--row (point))) 1223 (let ((row (bubbles--row (point)))
1224 (col (bubbles--col (point)))) 1224 (col (bubbles--col (point))))
1225 (goto-char (point-max)) 1225 (goto-char (point-max))
@@ -1289,7 +1289,7 @@ Use optional parameter POS instead of point if given."
1289 (bubbles--update-faces-or-images) 1289 (bubbles--update-faces-or-images)
1290 (sit-for 0))) 1290 (sit-for 0)))
1291 (put-text-property (point-min) (point-max) 'removed nil) 1291 (put-text-property (point-min) (point-max) 'removed nil)
1292 (unless (bubbles--neighbourhood-available) 1292 (unless (bubbles--neighborhood-available)
1293 (bubbles--game-over))) 1293 (bubbles--game-over)))
1294 ;; undo 1294 ;; undo
1295 (setq buffer-undo-list '((apply bubbles-undo . nil))) 1295 (setq buffer-undo-list '((apply bubbles-undo . nil)))
diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el
index e2ef492a9ad..1378e8fdb59 100644
--- a/lisp/progmodes/octave.el
+++ b/lisp/progmodes/octave.el
@@ -154,12 +154,8 @@ parenthetical grouping.")
154 ["Insert Function" octave-insert-defun t] 154 ["Insert Function" octave-insert-defun t]
155 ["Update Function File Comment" octave-update-function-file-comment t] 155 ["Update Function File Comment" octave-update-function-file-comment t]
156 "---" 156 "---"
157 ["Function Syntax Hints" (call-interactively 157 ["Function Syntax Hints" (eldoc-mode 'toggle)
158 (if (fboundp 'eldoc-post-insert-mode) 158 :style toggle :selected (bound-and-true-p eldoc-mode)
159 'eldoc-post-insert-mode
160 'eldoc-mode))
161 :style toggle :selected (or (bound-and-true-p eldoc-post-insert-mode)
162 (bound-and-true-p eldoc-mode))
163 :help "Display function signatures after typing `SPC' or `('"] 159 :help "Display function signatures after typing `SPC' or `('"]
164 ["Delimiter Matching" show-paren-mode 160 ["Delimiter Matching" show-paren-mode
165 :style toggle :selected show-paren-mode 161 :style toggle :selected show-paren-mode
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index 3ae9a21c3e4..daf8d299663 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -3504,7 +3504,7 @@ so that `occur-next' and `occur-prev' will work."
3504 3504
3505;; Originally this was sh-learn-region-indent (beg end) 3505;; Originally this was sh-learn-region-indent (beg end)
3506;; However, in practice this was awkward so I changed it to 3506;; However, in practice this was awkward so I changed it to
3507;; use the whole buffer. Use narrowing if needbe. 3507;; use the whole buffer. Use narrowing if need be.
3508(defun sh-learn-buffer-indent (&optional arg) 3508(defun sh-learn-buffer-indent (&optional arg)
3509 "Learn how to indent the buffer the way it currently is. 3509 "Learn how to indent the buffer the way it currently is.
3510 3510
diff --git a/lisp/simple.el b/lisp/simple.el
index 5c2f3c3db1d..ae18ae65fb5 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1387,6 +1387,7 @@ display the result of expression evaluation."
1387 (lambda () 1387 (lambda ()
1388 (add-hook 'completion-at-point-functions 1388 (add-hook 'completion-at-point-functions
1389 #'lisp-completion-at-point nil t) 1389 #'lisp-completion-at-point nil t)
1390 (eldoc-mode 1)
1390 (run-hooks 'eval-expression-minibuffer-setup-hook)) 1391 (run-hooks 'eval-expression-minibuffer-setup-hook))
1391 (read-from-minibuffer prompt initial-contents 1392 (read-from-minibuffer prompt initial-contents
1392 read-expression-map t 1393 read-expression-map t
diff --git a/lisp/version.el b/lisp/version.el
index 71e56858afa..b2557142a78 100644
--- a/lisp/version.el
+++ b/lisp/version.el
@@ -145,40 +145,52 @@ maybe ask the VCS itself, if the sources appear to be under
145version control. If `force', always ask. the VCS. Otherwise 145version control. If `force', always ask. the VCS. Otherwise
146only ask the VCS if we cannot find any information ourselves." 146only ask the VCS if we cannot find any information ourselves."
147 (or dir (setq dir source-directory)) 147 (or dir (setq dir source-directory))
148 (when (file-directory-p (expand-file-name ".bzr/branch" dir)) 148 (or
149 (if (eq external 'force) 149 ;; Bazaar case -- to be removed after transition
150 (emacs-bzr-version-bzr dir) 150 (when (file-directory-p (expand-file-name ".bzr/branch" dir))
151 (let (file loc rev) 151 (if (eq external 'force)
152 (cond ((file-readable-p 152 (emacs-bzr-version-bzr dir)
153 (setq file (expand-file-name ".bzr/branch/last-revision" dir))) 153 (let (file loc rev)
154 (with-temp-buffer 154 (cond ((file-readable-p
155 (insert-file-contents file) 155 (setq file (expand-file-name ".bzr/branch/last-revision" dir)))
156 (goto-char (point-max)) 156 (with-temp-buffer
157 (if (looking-back "\n") 157 (insert-file-contents file)
158 (delete-char -1)) 158 (goto-char (point-max))
159 (buffer-string))) 159 (if (looking-back "\n")
160 ;; OK, no last-revision. Is it a lightweight checkout? 160 (delete-char -1))
161 ((file-readable-p 161 (buffer-string)))
162 (setq file (expand-file-name ".bzr/branch/location" dir))) 162 ;; OK, no last-revision. Is it a lightweight checkout?
163 (setq rev (emacs-bzr-version-dirstate dir)) 163 ((file-readable-p
164 ;; If the parent branch is local, try looking there for the rev. 164 (setq file (expand-file-name ".bzr/branch/location" dir)))
165 ;; Note: there is no guarantee that the parent branch's rev 165 (setq rev (emacs-bzr-version-dirstate dir))
166 ;; corresponds to this branch. This branch could have 166 ;; If the parent branch is local, try looking there for the rev.
167 ;; been made with a specific -r revno argument, or the 167 ;; Note: there is no guarantee that the parent branch's rev
168 ;; parent could have been updated since this branch was created. 168 ;; corresponds to this branch. This branch could have
169 ;; To try and detect this, we check the dirstate revids 169 ;; been made with a specific -r revno argument, or the
170 ;; to see if they match. 170 ;; parent could have been updated since this branch was created.
171 (if (and (setq loc (with-temp-buffer 171 ;; To try and detect this, we check the dirstate revids
172 (insert-file-contents file) 172 ;; to see if they match.
173 (if (looking-at "file://\\(.*\\)") 173 (if (and (setq loc (with-temp-buffer
174 (match-string 1)))) 174 (insert-file-contents file)
175 (equal rev (emacs-bzr-version-dirstate loc))) 175 (if (looking-at "file://\\(.*\\)")
176 (emacs-bzr-get-version loc) 176 (match-string 1))))
177 ;; If parent does not match, the best we can do without 177 (equal rev (emacs-bzr-version-dirstate loc)))
178 ;; calling external commands is to use the dirstate rev. 178 (emacs-bzr-get-version loc)
179 rev)) 179 ;; If parent does not match, the best we can do without
180 (external 180 ;; calling external commands is to use the dirstate rev.
181 (emacs-bzr-version-bzr dir))))))) 181 rev))
182 (external
183 (emacs-bzr-version-bzr dir))))))
184 ;; Git case
185 (when (file-directory-p (expand-file-name ".git" dir))
186 (message "Waiting for git...")
187 (with-temp-buffer
188 (if (zerop
189 (call-process "git" nil '(t nil) nil "log"
190 "-1"
191 "--pretty=format:%N"))
192 (replace-regexp-in-string "\n" "" (buffer-string)))))
193 ))
182 194
183;; We put version info into the executable in the form that `ident' uses. 195;; We put version info into the executable in the form that `ident' uses.
184(purecopy (concat "\n$Id: " (subst-char-in-string ?\n ?\s (emacs-version)) 196(purecopy (concat "\n$Id: " (subst-char-in-string ?\n ?\s (emacs-version))