aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorEli Zaretskii2012-10-17 23:07:59 +0200
committerEli Zaretskii2012-10-17 23:07:59 +0200
commit8cd879af4a393715c1c7f44a174248e85f7810ab (patch)
treef0779e2a9c855ccba82628f6bcda43ef0d800ff3 /lisp
parent37a4dabe8aaa51e15cf63e43710ee4b8f35d434b (diff)
parenta68089e4a4dd41c9b838d82d1d96d971b01398c8 (diff)
downloademacs-8cd879af4a393715c1c7f44a174248e85f7810ab.tar.gz
emacs-8cd879af4a393715c1c7f44a174248e85f7810ab.zip
Merge from trunk.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog30
-rw-r--r--lisp/cedet/ChangeLog30
-rw-r--r--lisp/cedet/cedet.el2
-rw-r--r--lisp/cedet/semantic.el37
-rw-r--r--lisp/cedet/semantic/analyze/complete.el33
-rw-r--r--lisp/cedet/semantic/complete.el5
-rw-r--r--lisp/cedet/semantic/senator.el3
-rw-r--r--lisp/cedet/semantic/wisent/python.el27
-rw-r--r--lisp/emacs-lisp/byte-run.el3
-rw-r--r--lisp/erc/ChangeLog17
-rw-r--r--lisp/erc/erc-backend.el2
-rw-r--r--lisp/erc/erc.el18
-rw-r--r--lisp/gnus/ChangeLog4
-rw-r--r--lisp/gnus/starttls.el2
-rw-r--r--lisp/replace.el8
-rw-r--r--lisp/wdired.el16
-rw-r--r--lisp/window.el22
17 files changed, 177 insertions, 82 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 68b8a86a2d9..541cea5c7d4 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,23 @@
12012-10-17 Michael Heerdegen <michael_heerdegen@web.de> (tiny change)
2
3 * wdired.el (wdired-old-marks): New variable.
4 (wdired-change-to-wdired-mode): Locally set wdired-old-marks.
5 (wdired-do-renames): Move point with renamed file and don't lose
6 mark status (Bug#11795).
7
82012-10-16 Juri Linkov <juri@jurta.org>
9
10 * replace.el (query-replace-help): Mention multi-buffer replacement
11 keys in the Help message. (Bug#12655)
12
132012-10-15 Chong Yidong <cyd@gnu.org>
14
15 * emacs-lisp/byte-run.el (defsubst): Doc fix.
16
12012-10-14 Eli Zaretskii <eliz@gnu.org> 172012-10-14 Eli Zaretskii <eliz@gnu.org>
2 18
19 * window.el (display-buffer): Doc fix.
20
3 * progmodes/compile.el (compilation-error-regexp-alist-alist): 21 * progmodes/compile.el (compilation-error-regexp-alist-alist):
4 Adjust the msft regexp to the output of Studio 2010, and move msft 22 Adjust the msft regexp to the output of Studio 2010, and move msft
5 before edg-1. See the discussion on emacs-devel, 23 before edg-1. See the discussion on emacs-devel,
@@ -597,9 +615,9 @@
597 * emacs-lisp/eieio-base.el (eieio-persistent-read): New input args 615 * emacs-lisp/eieio-base.el (eieio-persistent-read): New input args
598 specifying the expected class, and whether subclassing is allowed. 616 specifying the expected class, and whether subclassing is allowed.
599 (eieio-persistent-convert-list-to-object): 617 (eieio-persistent-convert-list-to-object):
600 (eieio-persistent-validate/fix-slot-value) 618 (eieio-persistent-validate/fix-slot-value)
601 (eieio-persistent-slot-type-is-class-p): New functions. 619 (eieio-persistent-slot-type-is-class-p): New functions.
602 (eieio-named::slot-missing): Doc fix. 620 (eieio-named::slot-missing): Doc fix.
603 621
604 * emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots): 622 * emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots):
605 Stop using unused publd variable. 623 Stop using unused publd variable.
@@ -2042,7 +2060,7 @@
2042 2060
2043 * ses.el (ses-widen): 2061 * ses.el (ses-widen):
2044 * simple.el (count-words--buffer-message): 2062 * simple.el (count-words--buffer-message):
2045 * net/browse-url.el (browse-url-of-buffer): Use it 2063 * net/browse-url.el (browse-url-of-buffer): Use it.
2046 2064
2047 * simple.el (count-words-region): Don't signal an error if there 2065 * simple.el (count-words-region): Don't signal an error if there
2048 is a non-nil prefix arg and the mark is not set. 2066 is a non-nil prefix arg and the mark is not set.
@@ -16324,7 +16342,7 @@
163242011-06-22 Leo Liu <sdl.web@gmail.com> 163422011-06-22 Leo Liu <sdl.web@gmail.com>
16325 16343
16326 * minibuffer.el (completing-read-function) 16344 * minibuffer.el (completing-read-function)
16327 (completing-read-default): Move from minibuf.c 16345 (completing-read-default): Move from minibuf.c.
16328 16346
163292011-06-22 Richard Stallman <rms@gnu.org> 163472011-06-22 Richard Stallman <rms@gnu.org>
16330 16348
@@ -18181,7 +18199,7 @@
18181 Remove unnecessary and incorrect declarations. 18199 Remove unnecessary and incorrect declarations.
18182 18200
18183 * emacs-lisp/check-declare.el (check-declare-scan): 18201 * emacs-lisp/check-declare.el (check-declare-scan):
18184 Handle byte-compile-initial-macro-environment in bytecomp.el 18202 Handle byte-compile-initial-macro-environment in bytecomp.el.
18185 18203
181862011-05-05 Stefan Monnier <monnier@iro.umontreal.ca> 182042011-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
18187 18205
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index 14e8d6c1d64..e89e8ed258b 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -1,4 +1,32 @@
12012-10-08 David Engster <deng@randomsample.de>> 12012-10-14 David Engster <deng@randomsample.de>
2
3 * semantic.el (semantic-error-if-unparsed): New function. Raise
4 error if buffer was not parsed by Semantic (bug #12045).
5 (navigate-menu, edit-menu, cedet-menu-map): Enable Semantic items
6 only if buffer was parsed. Also, replace ':active' with ':enable'
7 where necessary.
8
9 * semantic/wisent/python.el
10 (semantic-python-get-system-include-path): Use
11 `python-shell-internal-send-string' if available to query Python
12 for system paths.
13
14 * semantic/senator.el (senator-next-tag, senator-previous-tag)
15 (senator-go-to-up-reference): Use `semantic-error-if-unparsed'.
16
17 * semantic/complete.el (semantic-complete-jump-local)
18 (semantic-complete-jump, semantic-complete-jump-local-members)
19 (semantic-complete-self-insert): Use `semantic-error-if-unparsed'.
20 (semantic-complete-inline-project): Fix autoload cookie.
21
22 * semantic/analyze/complete.el
23 (semantic-analyze-possible-completions): Check if buffer was
24 parsed. Only raise an error if function was called interactively,
25 otherwise silently return nil.
26
27 * cedet.el (cedet-menu-map): Fix copy&paste typo in menu creation.
28
292012-10-08 David Engster <deng@randomsample.de>
2 30
3 * semantic/bovine/el.el: Add `semantic-default-elisp-setup' to 31 * semantic/bovine/el.el: Add `semantic-default-elisp-setup' to
4 `emacs-lisp-mode-hook'. This was accidentally removed during the 32 `emacs-lisp-mode-hook'. This was accidentally removed during the
diff --git a/lisp/cedet/cedet.el b/lisp/cedet/cedet.el
index 5c21e4ab538..327a72f9dc7 100644
--- a/lisp/cedet/cedet.el
+++ b/lisp/cedet/cedet.el
@@ -59,7 +59,7 @@
59 (define-key map [navigate-menu] 'undefined) 59 (define-key map [navigate-menu] 'undefined)
60 (define-key map [semantic-options-separator] 'undefined) 60 (define-key map [semantic-options-separator] 'undefined)
61 (define-key map [global-semantic-highlight-func-mode] 'undefined) 61 (define-key map [global-semantic-highlight-func-mode] 'undefined)
62 (define-key map [global-semantic-highlight-func-mode] 'undefined) 62 (define-key map [global-semantic-stickyfunc-mode] 'undefined)
63 (define-key map [global-semantic-decoration-mode] 'undefined) 63 (define-key map [global-semantic-decoration-mode] 'undefined)
64 (define-key map [global-semantic-idle-completions-mode] 'undefined) 64 (define-key map [global-semantic-idle-completions-mode] 'undefined)
65 (define-key map [global-semantic-idle-summary-mode] 'undefined) 65 (define-key map [global-semantic-idle-summary-mode] 'undefined)
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el
index e02790cbfa8..373864a43d5 100644
--- a/lisp/cedet/semantic.el
+++ b/lisp/cedet/semantic.el
@@ -319,6 +319,11 @@ a parse of the buffer.")
319 "Return non-nil if the current buffer was set up for parsing." 319 "Return non-nil if the current buffer was set up for parsing."
320 semantic-new-buffer-fcn-was-run) 320 semantic-new-buffer-fcn-was-run)
321 321
322(defsubst semantic-error-if-unparsed ()
323 "Raise an error if current buffer was not parsed by Semantic."
324 (unless semantic-new-buffer-fcn-was-run
325 (error "Buffer was not parsed by Semantic.")))
326
322(defsubst semantic--umatched-syntax-needs-refresh-p () 327(defsubst semantic--umatched-syntax-needs-refresh-p ()
323 "Return non-nil if the unmatched syntax cache needs a refresh. 328 "Return non-nil if the unmatched syntax cache needs a refresh.
324That is, if it is dirty or if the current parse tree isn't up to date." 329That is, if it is dirty or if the current parse tree isn't up to date."
@@ -907,75 +912,91 @@ Throw away all the old tags, and recreate the tag database."
907 ;; Edit Tags submenu: 912 ;; Edit Tags submenu:
908 (define-key edit-menu [semantic-analyze-possible-completions] 913 (define-key edit-menu [semantic-analyze-possible-completions]
909 '(menu-item "List Completions" semantic-analyze-possible-completions 914 '(menu-item "List Completions" semantic-analyze-possible-completions
915 :enable (semantic-active-p)
910 :help "Display a list of completions for the tag at point")) 916 :help "Display a list of completions for the tag at point"))
911 (define-key edit-menu [semantic-complete-analyze-inline] 917 (define-key edit-menu [semantic-complete-analyze-inline]
912 '(menu-item "Complete Tag Inline" semantic-complete-analyze-inline 918 '(menu-item "Complete Tag Inline" semantic-complete-analyze-inline
919 :enable (semantic-active-p)
913 :help "Display inline completion for the tag at point")) 920 :help "Display inline completion for the tag at point"))
914 (define-key edit-menu [semantic-completion-separator] 921 (define-key edit-menu [semantic-completion-separator]
915 '("--")) 922 '("--"))
916 (define-key edit-menu [senator-transpose-tags-down] 923 (define-key edit-menu [senator-transpose-tags-down]
917 '(menu-item "Transpose Tags Down" senator-transpose-tags-down 924 '(menu-item "Transpose Tags Down" senator-transpose-tags-down
918 :active (semantic-current-tag) 925 :enable (and (semantic-active-p)
926 (semantic-current-tag))
919 :help "Transpose the current tag and the next tag")) 927 :help "Transpose the current tag and the next tag"))
920 (define-key edit-menu [senator-transpose-tags-up] 928 (define-key edit-menu [senator-transpose-tags-up]
921 '(menu-item "Transpose Tags Up" senator-transpose-tags-up 929 '(menu-item "Transpose Tags Up" senator-transpose-tags-up
922 :active (semantic-current-tag) 930 :enable (and (semantic-active-p)
931 (semantic-current-tag))
923 :help "Transpose the current tag and the previous tag")) 932 :help "Transpose the current tag and the previous tag"))
924 (define-key edit-menu [semantic-edit-separator] 933 (define-key edit-menu [semantic-edit-separator]
925 '("--")) 934 '("--"))
926 (define-key edit-menu [senator-yank-tag] 935 (define-key edit-menu [senator-yank-tag]
927 '(menu-item "Yank Tag" senator-yank-tag 936 '(menu-item "Yank Tag" senator-yank-tag
928 :active (not (ring-empty-p senator-tag-ring)) 937 :enable (not (ring-empty-p senator-tag-ring))
929 :help "Yank the head of the tag ring into the buffer")) 938 :help "Yank the head of the tag ring into the buffer"))
930 (define-key edit-menu [senator-copy-tag-to-register] 939 (define-key edit-menu [senator-copy-tag-to-register]
931 '(menu-item "Copy Tag To Register" senator-copy-tag-to-register 940 '(menu-item "Copy Tag To Register" senator-copy-tag-to-register
932 :active (semantic-current-tag) 941 :enable (and (semantic-active-p)
942 (semantic-current-tag))
933 :help "Yank the head of the tag ring into the buffer")) 943 :help "Yank the head of the tag ring into the buffer"))
934 (define-key edit-menu [senator-copy-tag] 944 (define-key edit-menu [senator-copy-tag]
935 '(menu-item "Copy Tag" senator-copy-tag 945 '(menu-item "Copy Tag" senator-copy-tag
936 :active (semantic-current-tag) 946 :enable (and (semantic-active-p)
947 (semantic-current-tag))
937 :help "Copy the current tag to the tag ring")) 948 :help "Copy the current tag to the tag ring"))
938 (define-key edit-menu [senator-kill-tag] 949 (define-key edit-menu [senator-kill-tag]
939 '(menu-item "Kill Tag" senator-kill-tag 950 '(menu-item "Kill Tag" senator-kill-tag
940 :active (semantic-current-tag) 951 :enable (and (semantic-active-p)
952 (semantic-current-tag))
941 :help "Kill the current tag, and copy it to the tag ring")) 953 :help "Kill the current tag, and copy it to the tag ring"))
942 954
943 ;; Navigate Tags submenu: 955 ;; Navigate Tags submenu:
944 (define-key navigate-menu [senator-narrow-to-defun] 956 (define-key navigate-menu [senator-narrow-to-defun]
945 '(menu-item "Narrow to Tag" senator-narrow-to-defun 957 '(menu-item "Narrow to Tag" senator-narrow-to-defun
946 :active (semantic-current-tag) 958 :enable (and (semantic-active-p)
959 (semantic-current-tag))
947 :help "Narrow the buffer to the bounds of the current tag")) 960 :help "Narrow the buffer to the bounds of the current tag"))
948 (define-key navigate-menu [semantic-narrow-to-defun-separator] 961 (define-key navigate-menu [semantic-narrow-to-defun-separator]
949 '("--")) 962 '("--"))
950 (define-key navigate-menu [semantic-symref-symbol] 963 (define-key navigate-menu [semantic-symref-symbol]
951 '(menu-item "Find Tag References..." semantic-symref-symbol 964 '(menu-item "Find Tag References..." semantic-symref-symbol
965 :enable (semantic-active-p)
952 :help "Read a tag and list the references to it")) 966 :help "Read a tag and list the references to it"))
953 (define-key navigate-menu [semantic-complete-jump] 967 (define-key navigate-menu [semantic-complete-jump]
954 '(menu-item "Find Tag Globally..." semantic-complete-jump 968 '(menu-item "Find Tag Globally..." semantic-complete-jump
969 :enable (semantic-active-p)
955 :help "Read a tag name and find it in the current project")) 970 :help "Read a tag name and find it in the current project"))
956 (define-key navigate-menu [semantic-complete-jump-local-members] 971 (define-key navigate-menu [semantic-complete-jump-local-members]
957 '(menu-item "Find Local Members ..." semantic-complete-jump-local-members 972 '(menu-item "Find Local Members ..." semantic-complete-jump-local-members
973 :enable (semantic-active-p)
958 :help "Read a tag name and find a local member with that name")) 974 :help "Read a tag name and find a local member with that name"))
959 (define-key navigate-menu [semantic-complete-jump-local] 975 (define-key navigate-menu [semantic-complete-jump-local]
960 '(menu-item "Find Tag in This Buffer..." semantic-complete-jump-local 976 '(menu-item "Find Tag in This Buffer..." semantic-complete-jump-local
977 :enable (semantic-active-p)
961 :help "Read a tag name and find it in this buffer")) 978 :help "Read a tag name and find it in this buffer"))
962 (define-key navigate-menu [semantic-navigation-separator] 979 (define-key navigate-menu [semantic-navigation-separator]
963 '("--")) 980 '("--"))
964 (define-key navigate-menu [senator-go-to-up-reference] 981 (define-key navigate-menu [senator-go-to-up-reference]
965 '(menu-item "Parent Tag" senator-go-to-up-reference 982 '(menu-item "Parent Tag" senator-go-to-up-reference
983 :enable (semantic-active-p)
966 :help "Navigate up one reference by tag")) 984 :help "Navigate up one reference by tag"))
967 (define-key navigate-menu [senator-next-tag] 985 (define-key navigate-menu [senator-next-tag]
968 '(menu-item "Next Tag" senator-next-tag 986 '(menu-item "Next Tag" senator-next-tag
987 :enable (semantic-active-p)
969 :help "Go to the next tag")) 988 :help "Go to the next tag"))
970 (define-key navigate-menu [senator-previous-tag] 989 (define-key navigate-menu [senator-previous-tag]
971 '(menu-item "Previous Tag" senator-previous-tag 990 '(menu-item "Previous Tag" senator-previous-tag
991 :enable (semantic-active-p)
972 :help "Go to the previous tag")) 992 :help "Go to the previous tag"))
973 993
974 ;; Top level menu items: 994 ;; Top level menu items:
975 (define-key cedet-menu-map [semantic-force-refresh] 995 (define-key cedet-menu-map [semantic-force-refresh]
976 '(menu-item "Reparse Buffer" semantic-force-refresh 996 '(menu-item "Reparse Buffer" semantic-force-refresh
977 :help "Force a full reparse of the current buffer" 997 :help "Force a full reparse of the current buffer"
978 :visible semantic-mode)) 998 :visible semantic-mode
999 :enable (semantic-active-p)))
979 (define-key cedet-menu-map [semantic-edit-menu] 1000 (define-key cedet-menu-map [semantic-edit-menu]
980 `(menu-item "Edit Tags" ,edit-menu 1001 `(menu-item "Edit Tags" ,edit-menu
981 :visible semantic-mode)) 1002 :visible semantic-mode))
diff --git a/lisp/cedet/semantic/analyze/complete.el b/lisp/cedet/semantic/analyze/complete.el
index edc3cdc230c..a83f4ff0ac8 100644
--- a/lisp/cedet/semantic/analyze/complete.el
+++ b/lisp/cedet/semantic/analyze/complete.el
@@ -87,20 +87,25 @@ in a buffer."
87 ;; In theory, we don't need the below since the context will 87 ;; In theory, we don't need the below since the context will
88 ;; do it for us. 88 ;; do it for us.
89 ;;(semantic-refresh-tags-safe) 89 ;;(semantic-refresh-tags-safe)
90 (with-syntax-table semantic-lex-syntax-table 90 (if (semantic-active-p)
91 (let* ((context (if (semantic-analyze-context-child-p context) 91 (with-syntax-table semantic-lex-syntax-table
92 context 92 (let* ((context (if (semantic-analyze-context-child-p context)
93 (semantic-analyze-current-context context))) 93 context
94 (ans (if (not context) 94 (semantic-analyze-current-context context)))
95 (error "Nothing to complete") 95 (ans (if (not context)
96 (:override)))) 96 (error "Nothing to complete")
97 ;; If interactive, display them. 97 (:override))))
98 (when (called-interactively-p 'any) 98 ;; If interactive, display them.
99 (with-output-to-temp-buffer "*Possible Completions*" 99 (when (called-interactively-p 'any)
100 (semantic-analyze-princ-sequence ans "" (current-buffer))) 100 (with-output-to-temp-buffer "*Possible Completions*"
101 (shrink-window-if-larger-than-buffer 101 (semantic-analyze-princ-sequence ans "" (current-buffer)))
102 (get-buffer-window "*Possible Completions*"))) 102 (shrink-window-if-larger-than-buffer
103 ans))) 103 (get-buffer-window "*Possible Completions*")))
104 ans))
105 ;; Buffer was not parsed by Semantic.
106 ;; Raise error if called interactively.
107 (when (called-interactively-p 'any)
108 (error "Buffer was not parsed by Semantic."))))
104 109
105(defun semantic-analyze-possible-completions-default (context &optional flags) 110(defun semantic-analyze-possible-completions-default (context &optional flags)
106 "Default method for producing smart completions. 111 "Default method for producing smart completions.
diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el
index 9c2da9faefa..59d17f2f8bb 100644
--- a/lisp/cedet/semantic/complete.el
+++ b/lisp/cedet/semantic/complete.el
@@ -2088,6 +2088,7 @@ completion works."
2088(defun semantic-complete-jump-local () 2088(defun semantic-complete-jump-local ()
2089 "Jump to a local semantic symbol." 2089 "Jump to a local semantic symbol."
2090 (interactive) 2090 (interactive)
2091 (semantic-error-if-unparsed)
2091 (let ((tag (semantic-complete-read-tag-buffer-deep "Jump to symbol: "))) 2092 (let ((tag (semantic-complete-read-tag-buffer-deep "Jump to symbol: ")))
2092 (when (semantic-tag-p tag) 2093 (when (semantic-tag-p tag)
2093 (push-mark) 2094 (push-mark)
@@ -2101,6 +2102,7 @@ completion works."
2101(defun semantic-complete-jump () 2102(defun semantic-complete-jump ()
2102 "Jump to a semantic symbol." 2103 "Jump to a semantic symbol."
2103 (interactive) 2104 (interactive)
2105 (semantic-error-if-unparsed)
2104 (let* ((tag (semantic-complete-read-tag-project "Jump to symbol: "))) 2106 (let* ((tag (semantic-complete-read-tag-project "Jump to symbol: ")))
2105 (when (semantic-tag-p tag) 2107 (when (semantic-tag-p tag)
2106 (push-mark) 2108 (push-mark)
@@ -2115,6 +2117,7 @@ completion works."
2115(defun semantic-complete-jump-local-members () 2117(defun semantic-complete-jump-local-members ()
2116 "Jump to a semantic symbol." 2118 "Jump to a semantic symbol."
2117 (interactive) 2119 (interactive)
2120 (semantic-error-if-unparsed)
2118 (let* ((tag (semantic-complete-read-tag-local-members "Jump to symbol: "))) 2121 (let* ((tag (semantic-complete-read-tag-local-members "Jump to symbol: ")))
2119 (when (semantic-tag-p tag) 2122 (when (semantic-tag-p tag)
2120 (let ((start (condition-case nil (semantic-tag-start tag) 2123 (let ((start (condition-case nil (semantic-tag-start tag)
@@ -2216,7 +2219,7 @@ use `semantic-complete-analyze-inline' to complete."
2216 (error nil)) 2219 (error nil))
2217 )) 2220 ))
2218 2221
2219;;;;###autoload 2222;;;###autoload
2220(defun semantic-complete-inline-project () 2223(defun semantic-complete-inline-project ()
2221 "Perform inline completion for any symbol in the current project. 2224 "Perform inline completion for any symbol in the current project.
2222`semantic-analyze-possible-completions' is used to determine the 2225`semantic-analyze-possible-completions' is used to determine the
diff --git a/lisp/cedet/semantic/senator.el b/lisp/cedet/semantic/senator.el
index 64f99a8ad6f..1138c13096a 100644
--- a/lisp/cedet/semantic/senator.el
+++ b/lisp/cedet/semantic/senator.el
@@ -255,6 +255,7 @@ TEXT, BOUND, NOERROR, and COUNT arguments are interpreted."
255 "Navigate to the next Semantic tag. 255 "Navigate to the next Semantic tag.
256Return the tag or nil if at end of buffer." 256Return the tag or nil if at end of buffer."
257 (interactive) 257 (interactive)
258 (semantic-error-if-unparsed)
258 (let ((pos (point)) 259 (let ((pos (point))
259 (tag (semantic-current-tag)) 260 (tag (semantic-current-tag))
260 where) 261 where)
@@ -294,6 +295,7 @@ Return the tag or nil if at end of buffer."
294 "Navigate to the previous Semantic tag. 295 "Navigate to the previous Semantic tag.
295Return the tag or nil if at beginning of buffer." 296Return the tag or nil if at beginning of buffer."
296 (interactive) 297 (interactive)
298 (semantic-error-if-unparsed)
297 (let ((pos (point)) 299 (let ((pos (point))
298 (tag (semantic-current-tag)) 300 (tag (semantic-current-tag))
299 where) 301 where)
@@ -519,6 +521,7 @@ If that parent which is only a reference in the function tag
519is found, we can jump to it. 521is found, we can jump to it.
520Some tags such as includes have other reference features." 522Some tags such as includes have other reference features."
521 (interactive) 523 (interactive)
524 (semantic-error-if-unparsed)
522 (let ((result (semantic-up-reference (or tag (semantic-current-tag))))) 525 (let ((result (semantic-up-reference (or tag (semantic-current-tag)))))
523 (if (not result) 526 (if (not result)
524 (error "No up reference found") 527 (error "No up reference found")
diff --git a/lisp/cedet/semantic/wisent/python.el b/lisp/cedet/semantic/wisent/python.el
index a0ea488f0fe..89c0499b7da 100644
--- a/lisp/cedet/semantic/wisent/python.el
+++ b/lisp/cedet/semantic/wisent/python.el
@@ -48,24 +48,15 @@
48 48
49(defun semantic-python-get-system-include-path () 49(defun semantic-python-get-system-include-path ()
50 "Evaluate some Python code that determines the system include path." 50 "Evaluate some Python code that determines the system include path."
51 (python-proc) 51 (delq nil
52 (if python-buffer 52 (mapcar
53 (with-current-buffer python-buffer 53 (lambda (dir)
54 (set (make-local-variable 'python-preoutput-result) nil) 54 (when (file-directory-p dir)
55 (python-send-string 55 dir))
56 "import sys; print '_emacs_out ' + '\\0'.join(sys.path)") 56 (split-string
57 (accept-process-output (python-proc) 2) 57 (python-shell-internal-send-string
58 (if python-preoutput-result 58 "import sys;print ('\\n'.join(sys.path))")
59 (split-string python-preoutput-result "[\0\n]" t) 59 "\n" t))))
60 ;; Try a second, Python3k compatible shot
61 (python-send-string
62 "import sys; print('_emacs_out ' + '\\0'.join(sys.path))")
63 (accept-process-output (python-proc) 2)
64 (if python-preoutput-result
65 (split-string python-preoutput-result "[\0\n]" t)
66 (message "Timeout while querying Python for system include path.")
67 nil)))
68 (message "Python seems to be unavailable on this system.")))
69 60
70(defcustom-mode-local-semantic-dependency-system-include-path 61(defcustom-mode-local-semantic-dependency-system-include-path
71 python-mode semantic-python-dependency-system-include-path 62 python-mode semantic-python-dependency-system-include-path
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index d740574f1e4..462b4a25154 100644
--- a/lisp/emacs-lisp/byte-run.el
+++ b/lisp/emacs-lisp/byte-run.el
@@ -232,7 +232,8 @@ The return value is undefined.
232;; fns))) 232;; fns)))
233 233
234(defmacro defsubst (name arglist &rest body) 234(defmacro defsubst (name arglist &rest body)
235 "Define an inline function. The syntax is just like that of `defun'." 235 "Define an inline function. The syntax is just like that of `defun'.
236\(fn NAME ARGLIST &optional DOCSTRING DECL &rest BODY)"
236 (declare (debug defun) (doc-string 3)) 237 (declare (debug defun) (doc-string 3))
237 (or (memq (get name 'byte-optimizer) 238 (or (memq (get name 'byte-optimizer)
238 '(nil byte-compile-inline-expand)) 239 '(nil byte-compile-inline-expand))
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index 8b4df6099bc..343a6655701 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,10 @@
12012-10-15 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * erc.el (erc-log): Make it into a defsubst.
4 (erc-with-server-buffer, define-erc-module, erc-with-buffer)
5 (erc-with-all-buffers-of-server): Use `declare'.
6 * erc-backend.el (erc-log): Adjust autoload accordingly.
7
12012-10-07 Deniz Dogan <deniz@dogan.se> 82012-10-07 Deniz Dogan <deniz@dogan.se>
2 9
3 * erc-log.el (erc-generate-log-file-name-function): 10 * erc-log.el (erc-generate-log-file-name-function):
@@ -42,8 +49,8 @@
42 49
432012-08-21 Julien Danjou <julien@danjou.info> 502012-08-21 Julien Danjou <julien@danjou.info>
44 51
45 * erc-match.el (erc-match-message): Use 52 * erc-match.el (erc-match-message):
46 `erc-match-exclude-server-buffer' not 53 Use `erc-match-exclude-server-buffer' not
47 `erc-track-exclude-server-buffer'. 54 `erc-track-exclude-server-buffer'.
48 55
492012-08-20 Josh Feinstein <jlf@foxtail.org> 562012-08-20 Josh Feinstein <jlf@foxtail.org>
@@ -56,8 +63,8 @@
56 (erc-lurker-threshold-time): New variables. 63 (erc-lurker-threshold-time): New variables.
57 (erc-lurker-maybe-trim, erc-lurker-initialize, erc-lurker-cleanup) 64 (erc-lurker-maybe-trim, erc-lurker-initialize, erc-lurker-cleanup)
58 (erc-hide-current-message-p, erc-canonicalize-server-name) 65 (erc-hide-current-message-p, erc-canonicalize-server-name)
59 (erc-lurker-update-status, erc-lurker-p): New functions. Together 66 (erc-lurker-update-status, erc-lurker-p): New functions.
60 they maintain state about which users have spoken in the last 67 Together they maintain state about which users have spoken in the last
61 erc-lurker-threshold-time, with all other users being considered 68 erc-lurker-threshold-time, with all other users being considered
62 lurkers whose messages of types in erc-lurker-hide-list will not 69 lurkers whose messages of types in erc-lurker-hide-list will not
63 be displayed by erc-display-message. 70 be displayed by erc-display-message.
@@ -192,7 +199,7 @@
192 199
193 * erc.el (erc-ssl): Made into a synonym for erc-tls, which 200 * erc.el (erc-ssl): Made into a synonym for erc-tls, which
194 provides a superset of the same functionality. 201 provides a superset of the same functionality.
195 (erc-open-ssl-stream): Removed. 202 (erc-open-ssl-stream): Remove.
196 (erc-open-tls-stream): Use `open-network-stream' instead of 203 (erc-open-tls-stream): Use `open-network-stream' instead of
197 `open-tls-stream' directly to be able to use the built-in TLS 204 `open-tls-stream' directly to be able to use the built-in TLS
198 support. 205 support.
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el
index 20ccd071b95..b8b5c90b596 100644
--- a/lisp/erc/erc-backend.el
+++ b/lisp/erc/erc-backend.el
@@ -100,7 +100,7 @@
100(require 'erc-compat) 100(require 'erc-compat)
101(eval-when-compile (require 'cl)) 101(eval-when-compile (require 'cl))
102(autoload 'erc-with-buffer "erc" nil nil 'macro) 102(autoload 'erc-with-buffer "erc" nil nil 'macro)
103(autoload 'erc-log "erc" nil nil 'macro) 103(autoload 'erc-log "erc")
104 104
105;;;; Variables and options 105;;;; Variables and options
106 106
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index bbd9dad4310..2e97131b603 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -362,13 +362,12 @@ nicknames with erc-server-user struct instances.")
362(defmacro erc-with-server-buffer (&rest body) 362(defmacro erc-with-server-buffer (&rest body)
363 "Execute BODY in the current ERC server buffer. 363 "Execute BODY in the current ERC server buffer.
364If no server buffer exists, return nil." 364If no server buffer exists, return nil."
365 (declare (indent 0) (debug (body)))
365 (let ((buffer (make-symbol "buffer"))) 366 (let ((buffer (make-symbol "buffer")))
366 `(let ((,buffer (erc-server-buffer))) 367 `(let ((,buffer (erc-server-buffer)))
367 (when (buffer-live-p ,buffer) 368 (when (buffer-live-p ,buffer)
368 (with-current-buffer ,buffer 369 (with-current-buffer ,buffer
369 ,@body))))) 370 ,@body)))))
370(put 'erc-with-server-buffer 'lisp-indent-function 0)
371(put 'erc-with-server-buffer 'edebug-form-spec '(body))
372 371
373(defstruct (erc-server-user (:type vector) :named) 372(defstruct (erc-server-user (:type vector) :named)
374 ;; User data 373 ;; User data
@@ -1236,6 +1235,7 @@ Example:
1236 'erc-replace-insert)) 1235 'erc-replace-insert))
1237 ((remove-hook 'erc-insert-modify-hook 1236 ((remove-hook 'erc-insert-modify-hook
1238 'erc-replace-insert)))" 1237 'erc-replace-insert)))"
1238 (declare (doc-string 3))
1239 (let* ((sn (symbol-name name)) 1239 (let* ((sn (symbol-name name))
1240 (mode (intern (format "erc-%s-mode" (downcase sn)))) 1240 (mode (intern (format "erc-%s-mode" (downcase sn))))
1241 (group (intern (format "erc-%s" (downcase sn)))) 1241 (group (intern (format "erc-%s" (downcase sn))))
@@ -1281,8 +1281,6 @@ if ARG is omitted or nil.
1281 (put ',enable 'definition-name ',name) 1281 (put ',enable 'definition-name ',name)
1282 (put ',disable 'definition-name ',name)))) 1282 (put ',disable 'definition-name ',name))))
1283 1283
1284(put 'define-erc-module 'doc-string-elt 3)
1285
1286(defun erc-once-with-server-event (event &rest forms) 1284(defun erc-once-with-server-event (event &rest forms)
1287 "Execute FORMS the next time EVENT occurs in the `current-buffer'. 1285 "Execute FORMS the next time EVENT occurs in the `current-buffer'.
1288 1286
@@ -1334,10 +1332,10 @@ connection over which the data was received that triggered EVENT."
1334 (add-hook hook fun nil nil) 1332 (add-hook hook fun nil nil)
1335 fun)) 1333 fun))
1336 1334
1337(defmacro erc-log (string) 1335(defsubst erc-log (string)
1338 "Logs STRING if logging is on (see `erc-log-p')." 1336 "Logs STRING if logging is on (see `erc-log-p')."
1339 `(when erc-log-p 1337 (when erc-log-p
1340 (erc-log-aux ,string))) 1338 (erc-log-aux string)))
1341 1339
1342(defun erc-server-buffer () 1340(defun erc-server-buffer ()
1343 "Return the server buffer for the current buffer's process. 1341 "Return the server buffer for the current buffer's process.
@@ -1621,6 +1619,7 @@ See `erc-get-buffer' for details.
1621See also `with-current-buffer'. 1619See also `with-current-buffer'.
1622 1620
1623\(fn (TARGET [PROCESS]) BODY...)" 1621\(fn (TARGET [PROCESS]) BODY...)"
1622 (declare (indent 1) (debug ((form &optional form) body)))
1624 (let ((buf (make-symbol "buf")) 1623 (let ((buf (make-symbol "buf"))
1625 (proc (make-symbol "proc")) 1624 (proc (make-symbol "proc"))
1626 (target (make-symbol "target")) 1625 (target (make-symbol "target"))
@@ -1637,8 +1636,6 @@ See also `with-current-buffer'.
1637 (when (buffer-live-p ,buf) 1636 (when (buffer-live-p ,buf)
1638 (with-current-buffer ,buf 1637 (with-current-buffer ,buf
1639 ,@body))))) 1638 ,@body)))))
1640(put 'erc-with-buffer 'lisp-indent-function 1)
1641(put 'erc-with-buffer 'edebug-form-spec '((form &optional form) body))
1642 1639
1643(defun erc-get-buffer (target &optional proc) 1640(defun erc-get-buffer (target &optional proc)
1644 "Return the buffer matching TARGET in the process PROC. 1641 "Return the buffer matching TARGET in the process PROC.
@@ -1688,6 +1685,7 @@ needs to match PROC."
1688FORMS will be evaluated in all buffers having the process PROCESS and 1685FORMS will be evaluated in all buffers having the process PROCESS and
1689where PRED matches or in all buffers of the server process if PRED is 1686where PRED matches or in all buffers of the server process if PRED is
1690nil." 1687nil."
1688 (declare (indent 1) (debug (form form body)))
1691 ;; Make the evaluation have the correct order 1689 ;; Make the evaluation have the correct order
1692 (let ((pre (make-symbol "pre")) 1690 (let ((pre (make-symbol "pre"))
1693 (pro (make-symbol "pro"))) 1691 (pro (make-symbol "pro")))
@@ -1701,8 +1699,6 @@ nil."
1701 ;; Silence the byte-compiler by binding the result of mapcar to 1699 ;; Silence the byte-compiler by binding the result of mapcar to
1702 ;; a variable. 1700 ;; a variable.
1703 res))) 1701 res)))
1704(put 'erc-with-all-buffers-of-server 'lisp-indent-function 1)
1705(put 'erc-with-all-buffers-of-server 'edebug-form-spec '(form form body))
1706 1702
1707;; (iswitchb-mode) will autoload iswitchb.el 1703;; (iswitchb-mode) will autoload iswitchb.el
1708(defvar iswitchb-temp-buflist) 1704(defvar iswitchb-temp-buflist)
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index c6b2a4c37a7..dade2b4bbe5 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,7 @@
12012-10-17 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
2
3 * starttls.el (starttls-extra-arguments): Doc fix.
4
12012-10-09 Lars Magne Ingebrigtsen <larsi@gnus.org> 52012-10-09 Lars Magne Ingebrigtsen <larsi@gnus.org>
2 6
3 * shr.el (shr-insert): \r is also not inserted, so don't try to delete 7 * shr.el (shr-insert): \r is also not inserted, so don't try to delete
diff --git a/lisp/gnus/starttls.el b/lisp/gnus/starttls.el
index 2d403650533..346e76b2ccc 100644
--- a/lisp/gnus/starttls.el
+++ b/lisp/gnus/starttls.el
@@ -149,7 +149,7 @@ These apply when the `starttls' command is used, i.e. when
149 :group 'starttls) 149 :group 'starttls)
150 150
151(defcustom starttls-extra-arguments nil 151(defcustom starttls-extra-arguments nil
152 "Extra arguments to `starttls-program'. 152 "Extra arguments to `starttls-gnutls-program'.
153These apply when GnuTLS is used, i.e. when `starttls-use-gnutls' is non-nil. 153These apply when GnuTLS is used, i.e. when `starttls-use-gnutls' is non-nil.
154 154
155For example, non-TLS compliant servers may require 155For example, non-TLS compliant servers may require
diff --git a/lisp/replace.el b/lisp/replace.el
index e714015fccf..4013e4e5df5 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -1603,9 +1603,13 @@ Comma to replace but not move point immediately,
1603C-r to enter recursive edit (\\[exit-recursive-edit] to get out again), 1603C-r to enter recursive edit (\\[exit-recursive-edit] to get out again),
1604C-w to delete match and recursive edit, 1604C-w to delete match and recursive edit,
1605C-l to clear the screen, redisplay, and offer same replacement again, 1605C-l to clear the screen, redisplay, and offer same replacement again,
1606! to replace all remaining matches with no more questions, 1606! to replace all remaining matches in this buffer with no more questions,
1607^ to move point back to previous match, 1607^ to move point back to previous match,
1608E to edit the replacement string" 1608E to edit the replacement string.
1609In multi-buffer replacements type `Y' to replace all remaining
1610matches in all remaining buffers with no more questions,
1611`N' to skip to the next buffer without replacing remaining matches
1612in the current buffer."
1609 "Help message while in `query-replace'.") 1613 "Help message while in `query-replace'.")
1610 1614
1611(defvar query-replace-map 1615(defvar query-replace-map
diff --git a/lisp/wdired.el b/lisp/wdired.el
index b893e8f6f2b..266d1993389 100644
--- a/lisp/wdired.el
+++ b/lisp/wdired.el
@@ -180,7 +180,7 @@ program `dired-chmod-program', which must exist."
180(defvar wdired-col-perm) ;; Column where the permission bits start 180(defvar wdired-col-perm) ;; Column where the permission bits start
181(defvar wdired-old-content) 181(defvar wdired-old-content)
182(defvar wdired-old-point) 182(defvar wdired-old-point)
183 183(defvar wdired-old-marks)
184 184
185(defun wdired-mode () 185(defun wdired-mode ()
186 "Writable Dired (WDired) mode. 186 "Writable Dired (WDired) mode.
@@ -221,6 +221,8 @@ See `wdired-mode'."
221 (error "Not a Dired buffer")) 221 (error "Not a Dired buffer"))
222 (set (make-local-variable 'wdired-old-content) 222 (set (make-local-variable 'wdired-old-content)
223 (buffer-substring (point-min) (point-max))) 223 (buffer-substring (point-min) (point-max)))
224 (set (make-local-variable 'wdired-old-marks)
225 (dired-remember-marks (point-min) (point-max)))
224 (set (make-local-variable 'wdired-old-point) (point)) 226 (set (make-local-variable 'wdired-old-point) (point))
225 (set (make-local-variable 'query-replace-skip-read-only) t) 227 (set (make-local-variable 'query-replace-skip-read-only) t)
226 (set (make-local-variable 'isearch-filter-predicate) 228 (set (make-local-variable 'isearch-filter-predicate)
@@ -455,7 +457,8 @@ non-nil means return old filename."
455 (push (cons tmp file-new) residue)))) 457 (push (cons tmp file-new) residue))))
456 (t 458 (t
457 (setq progress t) 459 (setq progress t)
458 (let ((file-ori (car rename))) 460 (let* ((file-ori (car rename))
461 (old-mark (cdr (assoc file-ori wdired-old-marks))))
459 (if wdired-use-interactive-rename 462 (if wdired-use-interactive-rename
460 (wdired-search-and-rename file-ori file-new) 463 (wdired-search-and-rename file-ori file-new)
461 ;; If dired-rename-file autoloads dired-aux while 464 ;; If dired-rename-file autoloads dired-aux while
@@ -466,12 +469,17 @@ non-nil means return old filename."
466 (condition-case err 469 (condition-case err
467 (let ((dired-backup-overwrite nil)) 470 (let ((dired-backup-overwrite nil))
468 (dired-rename-file file-ori file-new 471 (dired-rename-file file-ori file-new
469 overwrite)) 472 overwrite)
473 (dired-remove-file file-ori)
474 (dired-add-file file-new (if (integerp dired-keep-marker-rename)
475 dired-keep-marker-rename
476 old-mark)))
470 (error 477 (error
471 (setq errors (1+ errors)) 478 (setq errors (1+ errors))
472 (dired-log (concat "Rename `" file-ori "' to `" 479 (dired-log (concat "Rename `" file-ori "' to `"
473 file-new "' failed:\n%s\n") 480 file-new "' failed:\n%s\n")
474 err))))))))) 481 err)
482 (dired-add-entry file-ori old-mark)))))))))
475 errors)) 483 errors))
476 484
477 485
diff --git a/lisp/window.el b/lisp/window.el
index b033f9c26e3..a17e0adcdfe 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -5361,8 +5361,16 @@ BUFFER-OR-NAME must be a buffer or the name of an existing
5361buffer. Return the window chosen for displaying BUFFER-OR-NAME, 5361buffer. Return the window chosen for displaying BUFFER-OR-NAME,
5362or nil if no such window is found. 5362or nil if no such window is found.
5363 5363
5364Optional argument ACTION should have the form (FUNCTION . ALIST). 5364Optional argument ACTION, if non-nil, should specify a display
5365FUNCTION is either a function or a list of functions. 5365action. Its form is described below.
5366
5367Optional argument FRAME, if non-nil, acts like an additional
5368ALIST entry (reusable-frames . FRAME) to the action list of ACTION,
5369specifying the frame(s) to search for a window that is already
5370displaying the buffer. See `display-buffer-reuse-window'
5371
5372If ACTION is non-nil, it should have the form (FUNCTION . ALIST),
5373where FUNCTION is either a function or a list of functions, and
5366ALIST is an arbitrary association list (alist). 5374ALIST is an arbitrary association list (alist).
5367 5375
5368Each such FUNCTION should accept two arguments: the buffer to 5376Each such FUNCTION should accept two arguments: the buffer to
@@ -5379,6 +5387,9 @@ function in the combined function list in turn, passing the
5379buffer as the first argument and the combined alist as the second 5387buffer as the first argument and the combined alist as the second
5380argument, until one of the functions returns non-nil. 5388argument, until one of the functions returns non-nil.
5381 5389
5390If ACTION is nil, the function list and the alist are built using
5391only the other variables mentioned above.
5392
5382Available action functions include: 5393Available action functions include:
5383 `display-buffer-same-window' 5394 `display-buffer-same-window'
5384 `display-buffer-reuse-window' 5395 `display-buffer-reuse-window'
@@ -5407,12 +5418,7 @@ The ACTION argument to `display-buffer' can also have a non-nil
5407and non-list value. This means to display the buffer in a window 5418and non-list value. This means to display the buffer in a window
5408other than the selected one, even if it is already displayed in 5419other than the selected one, even if it is already displayed in
5409the selected window. If called interactively with a prefix 5420the selected window. If called interactively with a prefix
5410argument, ACTION is t. 5421argument, ACTION is t."
5411
5412Optional argument FRAME, if non-nil, acts like an additional
5413ALIST entry (reusable-frames . FRAME), specifying the frame(s) to
5414search for a window that is already displaying the buffer. See
5415`display-buffer-reuse-window'."
5416 (interactive (list (read-buffer "Display buffer: " (other-buffer)) 5422 (interactive (list (read-buffer "Display buffer: " (other-buffer))
5417 (if current-prefix-arg t))) 5423 (if current-prefix-arg t)))
5418 (let ((buffer (if (bufferp buffer-or-name) 5424 (let ((buffer (if (bufferp buffer-or-name)