aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier2010-11-09 15:07:10 -0500
committerStefan Monnier2010-11-09 15:07:10 -0500
commitd607b96bc2824116a8fe0e5840ce49da7ce4514f (patch)
tree229a11bba88b67e8961db4d10aa8b3725f3a4873 /lisp
parent27410d0ac3406a341cc90ada064047a7f1ea5209 (diff)
parentc00980655bc15ca019fd6c559c69601be18f2407 (diff)
downloademacs-d607b96bc2824116a8fe0e5840ce49da7ce4514f.tar.gz
emacs-d607b96bc2824116a8fe0e5840ce49da7ce4514f.zip
Merge from emacs-23
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog60
-rw-r--r--lisp/Makefile.in1
-rw-r--r--lisp/dired.el2
-rw-r--r--lisp/emacs-lisp/cl-loaddefs.el2
-rw-r--r--lisp/files.el1
-rw-r--r--lisp/international/mule-cmds.el3
-rw-r--r--lisp/locate.el17
-rw-r--r--lisp/ls-lisp.el3
-rw-r--r--lisp/minibuffer.el13
-rw-r--r--lisp/net/tramp.el3
-rw-r--r--lisp/progmodes/python.el18
-rw-r--r--lisp/progmodes/tcl.el10
-rw-r--r--lisp/progmodes/verilog-mode.el43
-rw-r--r--lisp/server.el28
-rw-r--r--lisp/vc/vc-mtn.el6
15 files changed, 140 insertions, 70 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 33d50961912..fa3bdfc3780 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,65 @@
12010-11-09 Glenn Morris <rgm@gnu.org> 12010-11-09 Glenn Morris <rgm@gnu.org>
2 2
3 * progmodes/tcl.el (tcl-hairy-scan-for-comment): Doc fix.
4
52010-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
6
7 * minibuffer.el (minibuffer-completion-help): Specify the end of the
8 completion field (bug#7211).
9
10 * progmodes/python.el (python-font-lock-syntactic-keywords): (bug#7322)
11 Fix handling of backslash escapes.
12 (python-quote-syntax): Adjust accordingly.
13
142010-11-09 Richard Levitte <richard@levitte.org> (tiny change)
152010-11-09 Richard Levitte <richard@levitte.org> (tiny patch)
16
17 * vc-mtn.el (vc-mtn-working-revision, vc-mtn-after-dir-status)
18 (vc-mtn-workfile-branch): Adjust to new output format.
19
202010-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
21
22 * international/mule-cmds.el (princ-list): Mark as obsolete.
23
242010-11-09 Stefan Monnier <monnier@iro.umontreal.ca>
25
26 * emacs-lisp/smie.el: New package.
27
282010-11-09 Michael Albinus <michael.albinus@gmx.de>
29
30 * files.el (backup-by-copying-when-mismatch):
31 Set `permanent-local' property.
32
33 * net/tramp.el (tramp-handle-insert-file-contents): Do not set
34 `permanent-local' property for `backup-by-copying-when-mismatch'.
35
362010-11-09 Eli Zaretskii <eliz@gnu.org>
37
38 * ls-lisp.el (insert-directory): Doc fix. (bug#7285)
39
402010-11-09 Wilson Snyder <wsnyder@wsnyder.org>
41
42 * progmodes/verilog-mode.el (verilog-insert-one-definition)
43 (verilog-read-decls, verilog-read-sub-decls-sig): Fix AUTOWIRE and
44 AUTOINOUT for SV style multidimensional arrays, bug294.
45 Reported by Eric Mastromarchi.
46 (verilog-preprocess): Use with-current-buffer and
47 font-lock-fontify-buffer to cleanup style issues.
48
492010-11-09 Glenn Morris <rgm@gnu.org>
50
51 * locate.el (locate, locate-mode): Doc fixes.
52
532010-11-09 Chong Yidong <cyd@stupidchicken.com>
54
55 * server.el (server-start): New arg INHIBIT-PROMPT prevents asking
56 user for confirmation.
57 (server-force-stop): Use it.
58 (server-start): Use server-force-stop for kill-emacs-hook, to
59 avoid user interaction while killing Emacs.
60
612010-11-09 Glenn Morris <rgm@gnu.org>
62
3 * progmodes/meta-mode.el: Remove leading `*' from defcustom docs. 63 * progmodes/meta-mode.el: Remove leading `*' from defcustom docs.
4 (meta-indent-line): Simplify. 64 (meta-indent-line): Simplify.
5 65
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 2b2081a25d0..7c42d1a94b1 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -180,6 +180,7 @@ TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptags
180 els=`echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \ 180 els=`echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \
181 ${ETAGS} -o $@ $$els 181 ${ETAGS} -o $@ $$els
182 182
183 $(lisp)/emacs-lisp/smie.elc \
183# The src/Makefile.in has its own set of dependencies and when they decide 184# The src/Makefile.in has its own set of dependencies and when they decide
184# that one Lisp file needs to be re-compiled, we had better recompile it as 185# that one Lisp file needs to be re-compiled, we had better recompile it as
185# well, otherwise every subsequent make will again call us, until we finally 186# well, otherwise every subsequent make will again call us, until we finally
diff --git a/lisp/dired.el b/lisp/dired.el
index 345956f029f..04ba6083c21 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -3539,7 +3539,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
3539;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command 3539;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command
3540;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown 3540;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown
3541;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff 3541;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff
3542;;;;;; dired-diff) "dired-aux" "dired-aux.el" "416d272299fd4774c47c2f677ee640a4") 3542;;;;;; dired-diff) "dired-aux" "dired-aux.el" "1628b7a7d379fb4da8ae4bf29faad4b5")
3543;;; Generated autoloads from dired-aux.el 3543;;; Generated autoloads from dired-aux.el
3544 3544
3545(autoload 'dired-diff "dired-aux" "\ 3545(autoload 'dired-diff "dired-aux" "\
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el
index 4bda6ceb759..b1d934f08e0 100644
--- a/lisp/emacs-lisp/cl-loaddefs.el
+++ b/lisp/emacs-lisp/cl-loaddefs.el
@@ -282,7 +282,7 @@ Not documented
282;;;;;; do-all-symbols do-symbols dotimes dolist do* do loop return-from 282;;;;;; do-all-symbols do-symbols dotimes dolist do* do loop return-from
283;;;;;; return block etypecase typecase ecase case load-time-value 283;;;;;; return block etypecase typecase ecase case load-time-value
284;;;;;; eval-when destructuring-bind function* defmacro* defun* gentemp 284;;;;;; eval-when destructuring-bind function* defmacro* defun* gentemp
285;;;;;; gensym) "cl-macs" "cl-macs.el" "82f8370745a60dc26536a0237cba893f") 285;;;;;; gensym) "cl-macs" "cl-macs.el" "979862b54946a5fcbbccdd90fa3f84d8")
286;;; Generated autoloads from cl-macs.el 286;;; Generated autoloads from cl-macs.el
287 287
288(autoload 'gensym "cl-macs" "\ 288(autoload 'gensym "cl-macs" "\
diff --git a/lisp/files.el b/lisp/files.el
index 0c5640d13a4..ca698cab33d 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -124,6 +124,7 @@ the default for a new file created there by you.
124This variable is relevant only if `backup-by-copying' is nil." 124This variable is relevant only if `backup-by-copying' is nil."
125 :type 'boolean 125 :type 'boolean
126 :group 'backup) 126 :group 'backup)
127(put 'backup-by-copying-when-mismatch 'permanent-local t)
127 128
128(defcustom backup-by-copying-when-privileged-mismatch 200 129(defcustom backup-by-copying-when-privileged-mismatch 200
129 "Non-nil means create backups by copying to preserve a privileged owner. 130 "Non-nil means create backups by copying to preserve a privileged owner.
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index a3609c0ccfc..2b193fbe42a 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -2033,10 +2033,11 @@ See `set-language-info-alist' for use in programs."
2033 "Do various unibyte-mode setups for language environment LANGUAGE-NAME." 2033 "Do various unibyte-mode setups for language environment LANGUAGE-NAME."
2034 (set-display-table-and-terminal-coding-system language-name)) 2034 (set-display-table-and-terminal-coding-system language-name))
2035 2035
2036(defsubst princ-list (&rest args) 2036(defun princ-list (&rest args)
2037 "Print all arguments with `princ', then print \"\\n\"." 2037 "Print all arguments with `princ', then print \"\\n\"."
2038 (while args (princ (car args)) (setq args (cdr args))) 2038 (while args (princ (car args)) (setq args (cdr args)))
2039 (princ "\n")) 2039 (princ "\n"))
2040(make-obsolete 'princ-list "use mapc and princ instead" "23.3")
2040 2041
2041(put 'describe-specified-language-support 'apropos-inhibit t) 2042(put 'describe-specified-language-support 'apropos-inhibit t)
2042 2043
diff --git a/lisp/locate.el b/lisp/locate.el
index f1983a3e18a..f58b95710e2 100644
--- a/lisp/locate.el
+++ b/lisp/locate.el
@@ -270,7 +270,7 @@ that is, with a prefix arg, you get the default behavior."
270(defun locate (search-string &optional filter arg) 270(defun locate (search-string &optional filter arg)
271 "Run the program `locate', putting results in `*Locate*' buffer. 271 "Run the program `locate', putting results in `*Locate*' buffer.
272Pass it SEARCH-STRING as argument. Interactively, prompt for SEARCH-STRING. 272Pass it SEARCH-STRING as argument. Interactively, prompt for SEARCH-STRING.
273With prefix arg, prompt for the exact shell command to run instead. 273With prefix arg ARG, prompt for the exact shell command to run instead.
274 274
275This program searches for those file names in a database that match 275This program searches for those file names in a database that match
276SEARCH-STRING and normally outputs all matching absolute file names, 276SEARCH-STRING and normally outputs all matching absolute file names,
@@ -286,7 +286,8 @@ the variables `locate-command' or `locate-make-command-line'.
286The main use of FILTER is to implement `locate-with-filter'. See 286The main use of FILTER is to implement `locate-with-filter'. See
287the docstring of that function for its meaning. 287the docstring of that function for its meaning.
288 288
289ARG is the interactive prefix arg." 289After preparing the results buffer, this runs `dired-mode-hook' and
290then `locate-post-command-hook'."
290 (interactive 291 (interactive
291 (list 292 (list
292 (locate-prompt-for-search-string) 293 (locate-prompt-for-search-string)
@@ -300,8 +301,7 @@ ARG is the interactive prefix arg."
300 (locate-cmd-args (cdr locate-cmd-list)) 301 (locate-cmd-args (cdr locate-cmd-list))
301 (run-locate-command 302 (run-locate-command
302 (or (and arg (not locate-prompt-for-command)) 303 (or (and arg (not locate-prompt-for-command))
303 (and (not arg) locate-prompt-for-command))) 304 (and (not arg) locate-prompt-for-command))))
304 )
305 305
306 ;; Find the Locate buffer 306 ;; Find the Locate buffer
307 (save-window-excursion 307 (save-window-excursion
@@ -323,16 +323,13 @@ ARG is the interactive prefix arg."
323 (and filter 323 (and filter
324 (locate-filter-output filter)) 324 (locate-filter-output filter))
325 325
326 (locate-do-setup search-string) 326 (locate-do-setup search-string)))
327 ))
328 (and (not (string-equal (buffer-name) locate-buffer-name)) 327 (and (not (string-equal (buffer-name) locate-buffer-name))
329 (pop-to-buffer locate-buffer-name)) 328 (pop-to-buffer locate-buffer-name))
330 329
331 (run-hooks 'dired-mode-hook) 330 (run-hooks 'dired-mode-hook)
332 (dired-next-line 3) ;move to first matching file. 331 (dired-next-line 3) ;move to first matching file.
333 (run-hooks 'locate-post-command-hook) 332 (run-hooks 'locate-post-command-hook)))
334 )
335 )
336 333
337;;;###autoload 334;;;###autoload
338(defun locate-with-filter (search-string filter &optional arg) 335(defun locate-with-filter (search-string filter &optional arg)
@@ -447,6 +444,7 @@ file name or is inside a subdirectory."
447\\<locate-mode-map>\ 444\\<locate-mode-map>\
448In that buffer, you can use almost all the usual dired bindings. 445In that buffer, you can use almost all the usual dired bindings.
449\\[locate-find-directory] visits the directory of the file on the current line. 446\\[locate-find-directory] visits the directory of the file on the current line.
447This function runs `locate-mode-hook' before returning.
450 448
451Operating on listed files works, but does not always 449Operating on listed files works, but does not always
452automatically update the buffer as in ordinary Dired. 450automatically update the buffer as in ordinary Dired.
@@ -687,5 +685,4 @@ the database on the command line."
687 685
688(provide 'locate) 686(provide 'locate)
689 687
690;; arch-tag: 60c4d098-b5d5-4b3c-a3e0-51a2e9f43898
691;;; locate.el ends here 688;;; locate.el ends here
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index f19143228c5..15299bc304e 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -220,7 +220,8 @@ The Lisp emulation does not run any external programs or shells. It
220supports ordinary shell wildcards if `ls-lisp-support-shell-wildcards' 220supports ordinary shell wildcards if `ls-lisp-support-shell-wildcards'
221is non-nil; otherwise, it interprets wildcards as regular expressions 221is non-nil; otherwise, it interprets wildcards as regular expressions
222to match file names. It does not support all `ls' switches -- those 222to match file names. It does not support all `ls' switches -- those
223that work are: A a c i r S s t u U X g G B C R n and F partly." 223that work are: A a B C c F G g h i n R r S s t U u X. The l switch
224is assumed to be always present and cannot be turned off."
224 (if ls-lisp-use-insert-directory-program 225 (if ls-lisp-use-insert-directory-program
225 (funcall original-insert-directory 226 (funcall original-insert-directory
226 file switches wildcard full-directory-p) 227 file switches wildcard full-directory-p)
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 2612dfd672c..0275dc1923b 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -42,7 +42,7 @@
42;; provide the start info but not the end info in 42;; provide the start info but not the end info in
43;; completion-base-position. 43;; completion-base-position.
44;; - quoting is problematic. E.g. the double-dollar quoting used in 44;; - quoting is problematic. E.g. the double-dollar quoting used in
45;; substitie-in-file-name (and hence read-file-name-internal) bumps 45;; substitute-in-file-name (and hence read-file-name-internal) bumps
46;; into various bugs: 46;; into various bugs:
47;; - choose-completion doesn't know how to quote the text it inserts. 47;; - choose-completion doesn't know how to quote the text it inserts.
48;; E.g. it fails to double the dollars in file-name completion, or 48;; E.g. it fails to double the dollars in file-name completion, or
@@ -1133,6 +1133,7 @@ variables.")
1133 (interactive) 1133 (interactive)
1134 (message "Making completion list...") 1134 (message "Making completion list...")
1135 (lexical-let* ((start (field-beginning)) 1135 (lexical-let* ((start (field-beginning))
1136 (end (field-end))
1136 (string (field-string)) 1137 (string (field-string))
1137 (completions (completion-all-completions 1138 (completions (completion-all-completions
1138 string 1139 string
@@ -1164,10 +1165,12 @@ variables.")
1164 completions))) 1165 completions)))
1165 (with-current-buffer standard-output 1166 (with-current-buffer standard-output
1166 (set (make-local-variable 'completion-base-position) 1167 (set (make-local-variable 'completion-base-position)
1167 ;; FIXME: We should provide the END part as well, but 1168 (list (+ start base-size)
1168 ;; currently completion-all-completions does not give 1169 ;; FIXME: We should pay attention to completion
1169 ;; us the necessary information. 1170 ;; boundaries here, but currently
1170 (list (+ start base-size) nil))) 1171 ;; completion-all-completions does not give us the
1172 ;; necessary information.
1173 end)))
1171 (display-completion-list completions))) 1174 (display-completion-list completions)))
1172 1175
1173 ;; If there are no completions, or if the current input is already the 1176 ;; If there are no completions, or if the current input is already the
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 1ca46d213d3..e5ebe81ce29 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -2864,8 +2864,7 @@ User is always nil."
2864 (set-buffer-modified-p nil) 2864 (set-buffer-modified-p nil)
2865 ;; For root, preserve owner and group when editing files. 2865 ;; For root, preserve owner and group when editing files.
2866 (when (string-equal (file-remote-p filename 'user) "root") 2866 (when (string-equal (file-remote-p filename 'user) "root")
2867 (set (make-local-variable 'backup-by-copying-when-mismatch) t) 2867 (set (make-local-variable 'backup-by-copying-when-mismatch) t)))
2868 (put 'backup-by-copying-when-mismatch 'permanent-local t)))
2869 (when (and (stringp local-copy) 2868 (when (and (stringp local-copy)
2870 (or remote-copy (null tramp-temp-buffer-file-name))) 2869 (or remote-copy (null tramp-temp-buffer-file-name)))
2871 (delete-file local-copy)) 2870 (delete-file local-copy))
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index e72b18afd61..d2bb82e0580 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -171,21 +171,9 @@
171 ;; string delimiters. Fixme: Is there a better way? 171 ;; string delimiters. Fixme: Is there a better way?
172 ;; First avoid a sequence preceded by an odd number of backslashes. 172 ;; First avoid a sequence preceded by an odd number of backslashes.
173 (syntax-propertize-rules 173 (syntax-propertize-rules
174 (;; (rx (not (any ?\\)) 174 (;; ¡Backrefs don't work in syntax-propertize-rules!
175 ;; ?\\ (* (and ?\\ ?\\)) 175 (concat "\\(?:\\([RUru]\\)[Rr]?\\|^\\|[^\\]\\(?:\\\\.\\)*\\)" ;Prefix.
176 ;; (group (syntax string-quote)) 176 "\\(?:\\('\\)'\\('\\)\\|\\(?2:\"\\)\"\\(?3:\"\\)\\)")
177 ;; (backref 1)
178 ;; (group (backref 1)))
179 ;; ¡Backrefs don't work in syntax-propertize-rules!
180 "[^\\]\\\\\\(\\\\\\\\\\)*\\(?:''\\('\\)\\|\"\"\\(?2:\"\\)\\)"
181 (2 "\"")) ; dummy
182 (;; (rx (optional (group (any "uUrR"))) ; prefix gets syntax property
183 ;; (optional (any "rR")) ; possible second prefix
184 ;; (group (syntax string-quote)) ; maybe gets property
185 ;; (backref 2) ; per first quote
186 ;; (group (backref 2))) ; maybe gets property
187 ;; ¡Backrefs don't work in syntax-propertize-rules!
188 "\\([RUru]\\)?[Rr]?\\(?:\\('\\)'\\('\\)\\|\\(?2:\"\\)\"\\(?3:\"\\)\\)"
189 (3 (ignore (python-quote-syntax)))) 177 (3 (ignore (python-quote-syntax))))
190 ;; This doesn't really help. 178 ;; This doesn't really help.
191 ;;((rx (and ?\\ (group ?\n))) (1 " ")) 179 ;;((rx (and ?\\ (group ?\n))) (1 " "))
diff --git a/lisp/progmodes/tcl.el b/lisp/progmodes/tcl.el
index 10fe0e7885e..620d236078b 100644
--- a/lisp/progmodes/tcl.el
+++ b/lisp/progmodes/tcl.el
@@ -607,15 +607,11 @@ Commands:
607 (set (make-local-variable 'dabbrev-abbrev-skip-leading-regexp) "[$!]") 607 (set (make-local-variable 'dabbrev-abbrev-skip-leading-regexp) "[$!]")
608 (set (make-local-variable 'dabbrev-abbrev-char-regexp) "\\sw\\|\\s_") 608 (set (make-local-variable 'dabbrev-abbrev-char-regexp) "\\sw\\|\\s_")
609 609
610 ;; This can only be set to t in Emacs 19 and XEmacs.
611 ;; Emacs 18 and Epoch lose.
612 (set (make-local-variable 'parse-sexp-ignore-comments) t) 610 (set (make-local-variable 'parse-sexp-ignore-comments) t)
613 ;; XEmacs has defun-prompt-regexp, but I don't believe 611 ;; XEmacs has defun-prompt-regexp, but I don't believe
614 ;; that it works for end-of-defun -- only for 612 ;; that it works for end-of-defun -- only for
615 ;; beginning-of-defun. 613 ;; beginning-of-defun.
616 (set (make-local-variable 'defun-prompt-regexp) tcl-omit-ws-regexp) 614 (set (make-local-variable 'defun-prompt-regexp) tcl-omit-ws-regexp)
617 ;; The following doesn't work in Lucid Emacs 19.6, but maybe
618 ;; it will appear in later versions.
619 (set (make-local-variable 'add-log-current-defun-function) 615 (set (make-local-variable 'add-log-current-defun-function)
620 'tcl-add-log-defun) 616 'tcl-add-log-defun)
621 617
@@ -1201,11 +1197,7 @@ semicolon, opening brace, or opening bracket on the same line."
1201 "Determine if point is in a comment. 1197 "Determine if point is in a comment.
1202Returns a list of the form `(FLAG . STATE)'. STATE can be used 1198Returns a list of the form `(FLAG . STATE)'. STATE can be used
1203as input to future invocations. FLAG is nil if not in comment, 1199as input to future invocations. FLAG is nil if not in comment,
1204t otherwise. If in comment, leaves point at beginning of comment. 1200t otherwise. If in comment, leaves point at beginning of comment."
1205
1206This function does not work in Emacs 18.
1207See also `tcl-simple-scan-for-comment', a
1208simpler version that is often right, and works in Emacs 18."
1209 (let ((bol (save-excursion 1201 (let ((bol (save-excursion
1210 (goto-char end) 1202 (goto-char end)
1211 (line-beginning-position))) 1203 (line-beginning-position)))
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index 2bd4021a85f..42527ff60eb 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -124,9 +124,9 @@
124;;; Code: 124;;; Code:
125 125
126;; This variable will always hold the version number of the mode 126;; This variable will always hold the version number of the mode
127(defconst verilog-mode-version "647" 127(defconst verilog-mode-version "650"
128 "Version of this Verilog mode.") 128 "Version of this Verilog mode.")
129(defconst verilog-mode-release-date "2010-10-20-GNU" 129(defconst verilog-mode-release-date "2010-11-05-GNU"
130 "Release date of this Verilog mode.") 130 "Release date of this Verilog mode.")
131(defconst verilog-mode-release-emacs t 131(defconst verilog-mode-release-emacs t
132 "If non-nil, this version of Verilog mode was released with Emacs itself.") 132 "If non-nil, this version of Verilog mode was released with Emacs itself.")
@@ -4551,16 +4551,18 @@ FILENAME or defaults to `buffer-file-name`."
4551 default nil nil 4551 default nil nil
4552 'verilog-preprocess-history default))))) 4552 'verilog-preprocess-history default)))))
4553 (unless command (setq command (verilog-expand-command verilog-preprocessor))) 4553 (unless command (setq command (verilog-expand-command verilog-preprocessor)))
4554 (let* ((dir (file-name-directory (or filename buffer-file-name))) 4554 (let* ((fontlocked (and (boundp 'font-lock-mode) font-lock-mode))
4555 (dir (file-name-directory (or filename buffer-file-name)))
4555 (file (file-name-nondirectory (or filename buffer-file-name))) 4556 (file (file-name-nondirectory (or filename buffer-file-name)))
4556 (cmd (concat "cd " dir "; " command " " file))) 4557 (cmd (concat "cd " dir "; " command " " file)))
4557 (with-output-to-temp-buffer "*Verilog-Preprocessed*" 4558 (with-output-to-temp-buffer "*Verilog-Preprocessed*"
4558 (save-excursion 4559 (with-current-buffer (get-buffer "*Verilog-Preprocessed*")
4559 (set-buffer "*Verilog-Preprocessed*")
4560 (insert (concat "// " cmd "\n")) 4560 (insert (concat "// " cmd "\n"))
4561 (shell-command cmd "*Verilog-Preprocessed*") 4561 (shell-command cmd "*Verilog-Preprocessed*")
4562 (verilog-mode) 4562 (verilog-mode)
4563 (font-lock-mode))))) 4563 ;; Without this force, it takes a few idle seconds
4564 ;; to get the color, which is very jarring
4565 (when fontlocked (font-lock-fontify-buffer))))))
4564 4566
4565 4567
4566;; 4568;;
@@ -7266,7 +7268,10 @@ Return a array of [outputs inouts inputs wire reg assign const]."
7266 ((looking-at "\\s-*\\(\\[[^]]+\\]\\)") 7268 ((looking-at "\\s-*\\(\\[[^]]+\\]\\)")
7267 (goto-char (match-end 0)) 7269 (goto-char (match-end 0))
7268 (cond (newsig ; Memory, not just width. Patch last signal added's memory (nth 3) 7270 (cond (newsig ; Memory, not just width. Patch last signal added's memory (nth 3)
7269 (setcar (cdr (cdr (cdr newsig))) (match-string 1))) 7271 (setcar (cdr (cdr (cdr newsig)))
7272 (if (verilog-sig-memory newsig)
7273 (concat (verilog-sig-memory newsig) (match-string 1))
7274 (match-string 1))))
7270 (vec ;; Multidimensional 7275 (vec ;; Multidimensional
7271 (setq multidim (cons vec multidim)) 7276 (setq multidim (cons vec multidim))
7272 (setq vec (verilog-string-replace-matches 7277 (setq vec (verilog-string-replace-matches
@@ -7404,7 +7409,9 @@ Return a array of [outputs inouts inputs wire reg assign const]."
7404 (cons (verilog-sig-new 7409 (cons (verilog-sig-new
7405 sig 7410 sig
7406 (if dotname (verilog-sig-bits portdata) vec) 7411 (if dotname (verilog-sig-bits portdata) vec)
7407 (concat "To/From " comment) nil nil 7412 (concat "To/From " comment)
7413 (verilog-sig-memory portdata)
7414 nil
7408 (verilog-sig-signed portdata) 7415 (verilog-sig-signed portdata)
7409 (verilog-sig-type portdata) 7416 (verilog-sig-type portdata)
7410 multidim nil) 7417 multidim nil)
@@ -7415,7 +7422,9 @@ Return a array of [outputs inouts inputs wire reg assign const]."
7415 (cons (verilog-sig-new 7422 (cons (verilog-sig-new
7416 sig 7423 sig
7417 (if dotname (verilog-sig-bits portdata) vec) 7424 (if dotname (verilog-sig-bits portdata) vec)
7418 (concat "From " comment) nil nil 7425 (concat "From " comment)
7426 (verilog-sig-memory portdata)
7427 nil
7419 (verilog-sig-signed portdata) 7428 (verilog-sig-signed portdata)
7420 (verilog-sig-type portdata) 7429 (verilog-sig-type portdata)
7421 multidim nil) 7430 multidim nil)
@@ -7426,7 +7435,9 @@ Return a array of [outputs inouts inputs wire reg assign const]."
7426 (cons (verilog-sig-new 7435 (cons (verilog-sig-new
7427 sig 7436 sig
7428 (if dotname (verilog-sig-bits portdata) vec) 7437 (if dotname (verilog-sig-bits portdata) vec)
7429 (concat "To " comment) nil nil 7438 (concat "To " comment)
7439 (verilog-sig-memory portdata)
7440 nil
7430 (verilog-sig-signed portdata) 7441 (verilog-sig-signed portdata)
7431 (verilog-sig-type portdata) 7442 (verilog-sig-type portdata)
7432 multidim nil) 7443 multidim nil)
@@ -7436,7 +7447,9 @@ Return a array of [outputs inouts inputs wire reg assign const]."
7436 (cons (verilog-sig-new 7447 (cons (verilog-sig-new
7437 sig 7448 sig
7438 (if dotname (verilog-sig-bits portdata) vec) 7449 (if dotname (verilog-sig-bits portdata) vec)
7439 (concat "To/From " comment) nil nil 7450 (concat "To/From " comment)
7451 (verilog-sig-memory portdata)
7452 nil
7440 (verilog-sig-signed portdata) 7453 (verilog-sig-signed portdata)
7441 (verilog-sig-type portdata) 7454 (verilog-sig-type portdata)
7442 multidim nil) 7455 multidim nil)
@@ -7448,7 +7461,9 @@ Return a array of [outputs inouts inputs wire reg assign const]."
7448 (cons (verilog-sig-new 7461 (cons (verilog-sig-new
7449 sig 7462 sig
7450 (if dotname (verilog-sig-bits portdata) vec) 7463 (if dotname (verilog-sig-bits portdata) vec)
7451 (concat "To/From " comment) nil nil 7464 (concat "To/From " comment)
7465 (verilog-sig-memory portdata)
7466 nil
7452 (verilog-sig-signed portdata) 7467 (verilog-sig-signed portdata)
7453 (verilog-sig-type portdata) 7468 (verilog-sig-type portdata)
7454 multidim nil) 7469 multidim nil)
@@ -8862,7 +8877,9 @@ with appropriate INDENT-PT indentation."
8862 (indent-to (max 24 (+ indent-pt 16))) 8877 (indent-to (max 24 (+ indent-pt 16)))
8863 (unless (= (char-syntax (preceding-char)) ?\ ) 8878 (unless (= (char-syntax (preceding-char)) ?\ )
8864 (insert " ")) ; Need space between "]name" if indent-to did nothing 8879 (insert " ")) ; Need space between "]name" if indent-to did nothing
8865 (insert (verilog-sig-name sig))) 8880 (insert (verilog-sig-name sig))
8881 (when (verilog-sig-memory sig)
8882 (insert " " (verilog-sig-memory sig))))
8866 8883
8867(defun verilog-insert-definition (sigs direction indent-pt v2k &optional dont-sort) 8884(defun verilog-insert-definition (sigs direction indent-pt v2k &optional dont-sort)
8868 "Print out a definition for a list of SIGS of the given DIRECTION, 8885 "Print out a definition for a list of SIGS of the given DIRECTION,
diff --git a/lisp/server.el b/lisp/server.el
index 6fbef70768d..ecc9b16cce7 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -498,7 +498,7 @@ See variable `server-auth-dir' for details."
498 (error "The directory `%s' is unsafe" dir))))) 498 (error "The directory `%s' is unsafe" dir)))))
499 499
500;;;###autoload 500;;;###autoload
501(defun server-start (&optional leave-dead) 501(defun server-start (&optional leave-dead inhibit-prompt)
502 "Allow this Emacs process to be a server for client processes. 502 "Allow this Emacs process to be a server for client processes.
503This starts a server communications subprocess through which 503This starts a server communications subprocess through which
504client \"editors\" can send your editing commands to this Emacs 504client \"editors\" can send your editing commands to this Emacs
@@ -508,7 +508,10 @@ Emacs distribution as your standard \"editor\".
508Optional argument LEAVE-DEAD (interactively, a prefix arg) means just 508Optional argument LEAVE-DEAD (interactively, a prefix arg) means just
509kill any existing server communications subprocess. 509kill any existing server communications subprocess.
510 510
511If a server is already running, the server is not started. 511If a server is already running, restart it. If clients are
512running, ask the user for confirmation first, unless optional
513argument INHIBIT-PROMPT is non-nil.
514
512To force-start a server, do \\[server-force-delete] and then 515To force-start a server, do \\[server-force-delete] and then
513\\[server-start]." 516\\[server-start]."
514 (interactive "P") 517 (interactive "P")
@@ -516,12 +519,14 @@ To force-start a server, do \\[server-force-delete] and then
516 ;; Ask the user before deleting existing clients---except 519 ;; Ask the user before deleting existing clients---except
517 ;; when we can't get user input, which may happen when 520 ;; when we can't get user input, which may happen when
518 ;; doing emacsclient --eval "(kill-emacs)" in daemon mode. 521 ;; doing emacsclient --eval "(kill-emacs)" in daemon mode.
519 (if (and (daemonp) 522 (cond
520 (null (cdr (frame-list))) 523 ((and (daemonp)
521 (eq (selected-frame) terminal-frame)) 524 (null (cdr (frame-list)))
522 leave-dead 525 (eq (selected-frame) terminal-frame))
523 (yes-or-no-p 526 leave-dead)
524 "The current server still has clients; delete them? "))) 527 (inhibit-prompt t)
528 (t (yes-or-no-p
529 "The current server still has clients; delete them? "))))
525 (let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)) 530 (let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir))
526 (server-file (expand-file-name server-name server-dir))) 531 (server-file (expand-file-name server-name server-dir)))
527 (when server-process 532 (when server-process
@@ -560,7 +565,7 @@ server or call `M-x server-force-delete' to forcibly disconnect it.")
560 (add-hook 'delete-frame-functions 'server-handle-delete-frame) 565 (add-hook 'delete-frame-functions 'server-handle-delete-frame)
561 (add-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function) 566 (add-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function)
562 (add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) 567 (add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function)
563 (add-hook 'kill-emacs-hook (lambda () (server-mode -1))) ;Cleanup upon exit. 568 (add-hook 'kill-emacs-hook 'server-force-stop) ;Cleanup upon exit.
564 (setq server-process 569 (setq server-process
565 (apply #'make-network-process 570 (apply #'make-network-process
566 :name server-name 571 :name server-name
@@ -601,6 +606,11 @@ server or call `M-x server-force-delete' to forcibly disconnect it.")
601 " " (number-to-string (emacs-pid)) ; Kept for compatibility 606 " " (number-to-string (emacs-pid)) ; Kept for compatibility
602 "\n" auth-key))))))))) 607 "\n" auth-key)))))))))
603 608
609(defun server-force-stop ()
610 "Kill all connections to the current server.
611This function is meant to be called from `kill-emacs-hook'."
612 (server-start nil t))
613
604;;;###autoload 614;;;###autoload
605(defun server-force-delete (&optional name) 615(defun server-force-delete (&optional name)
606 "Unconditionally delete connection file for server NAME. 616 "Unconditionally delete connection file for server NAME.
diff --git a/lisp/vc/vc-mtn.el b/lisp/vc/vc-mtn.el
index 3d76d34f3d8..a1ca6ab4d65 100644
--- a/lisp/vc/vc-mtn.el
+++ b/lisp/vc/vc-mtn.el
@@ -110,7 +110,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
110(defun vc-mtn-after-dir-status (update-function) 110(defun vc-mtn-after-dir-status (update-function)
111 (let (result) 111 (let (result)
112 (goto-char (point-min)) 112 (goto-char (point-min))
113 (re-search-forward "Current branch: \\(.*\\)\nChanges against parent \\(.*\\)" nil t) 113 (re-search-forward "\\(?:Current b\\|B\\)ranch: *\\(.*\\)\n?\nChanges against parent \\(.*\\)" nil t)
114 (while (re-search-forward 114 (while (re-search-forward
115 "^ \\(?:\\(patched \\)\\|\\(added \\)\\)\\(.*\\)$" nil t) 115 "^ \\(?:\\(patched \\)\\|\\(added \\)\\)\\(.*\\)$" nil t)
116 (cond ((match-end 1) (push (list (match-string 3) 'edited) result)) 116 (cond ((match-end 1) (push (list (match-string 3) 'edited) result))
@@ -129,7 +129,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
129 (with-temp-buffer 129 (with-temp-buffer
130 (vc-mtn-command t 0 file "status") 130 (vc-mtn-command t 0 file "status")
131 (goto-char (point-min)) 131 (goto-char (point-min))
132 (re-search-forward "Current branch: \\(.*\\)\nChanges against parent \\(.*\\)") 132 (re-search-forward "\\(?:Current b\\|B\\)ranch: *\\(.*\\)\n?\nChanges against parent \\(.*\\)")
133 (match-string 2)))) 133 (match-string 2))))
134 134
135(defun vc-mtn-workfile-branch (file) 135(defun vc-mtn-workfile-branch (file)
@@ -139,7 +139,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
139 (with-temp-buffer 139 (with-temp-buffer
140 (vc-mtn-command t 0 file "status") 140 (vc-mtn-command t 0 file "status")
141 (goto-char (point-min)) 141 (goto-char (point-min))
142 (re-search-forward "Current branch: \\(.*\\)\nChanges against parent \\(.*\\)") 142 (re-search-forward "\\(?:Current b\\|B\\)ranch: *\\(.*\\)\n?\nChanges against parent \\(.*\\)")
143 (match-string 1)))) 143 (match-string 1))))
144 144
145(defun vc-mtn-workfile-unchanged-p (file) 145(defun vc-mtn-workfile-unchanged-p (file)