aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Verona2013-05-29 09:57:21 +0200
committerJoakim Verona2013-05-29 09:57:21 +0200
commit4f0994366d33f8f76db4662cc126720866df3461 (patch)
treebcd298449e72c3c5e103fa592a5c137a71664067
parent4c71f9d37642209c3636b173b364ece36c38b57b (diff)
parent03983bdcc404a0e813857be4f5abae4849b47d91 (diff)
downloademacs-4f0994366d33f8f76db4662cc126720866df3461.tar.gz
emacs-4f0994366d33f8f76db4662cc126720866df3461.zip
Merge remote-tracking branch 'origin/trunk' into xwidget
-rw-r--r--doc/lispref/ChangeLog5
-rw-r--r--doc/lispref/functions.texi5
-rw-r--r--lisp/ChangeLog23
-rw-r--r--lisp/emacs-lisp/smie.el15
-rw-r--r--lisp/emulation/cua-gmrk.el6
-rw-r--r--lisp/emulation/cua-rect.el3
-rw-r--r--lisp/gnus/ChangeLog28
-rw-r--r--lisp/gnus/gnus-ems.el4
-rw-r--r--lisp/gnus/gnus-group.el7
-rw-r--r--lisp/gnus/gnus-sum.el18
-rw-r--r--lisp/gnus/gnus.el3
-rw-r--r--lisp/gnus/gravatar.el2
-rw-r--r--lisp/gnus/nnimap.el1
-rw-r--r--lisp/gnus/nnmail.el4
-rw-r--r--lisp/gnus/spam.el13
-rw-r--r--lisp/progmodes/cperl-mode.el8
-rw-r--r--lisp/progmodes/idlwave.el92
-rw-r--r--lisp/progmodes/octave.el7
-rw-r--r--src/ChangeLog9
-rw-r--r--src/fileio.c11
-rw-r--r--test/ChangeLog4
-rw-r--r--test/indent/octave.m2
22 files changed, 179 insertions, 91 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 249a2f21ccb..8f675bfcda6 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,8 @@
12013-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * functions.texi (Lambda Expressions): Lambda expressions don't
4 evaluate to themselves in general (bug#11782).
5
12013-05-15 Stefan Monnier <monnier@iro.umontreal.ca> 62013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
2 7
3 * loading.texi (Autoload): 8 * loading.texi (Autoload):
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index 999923f5b84..7768c147827 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -196,9 +196,8 @@ an example:
196@end example 196@end example
197 197
198@noindent 198@noindent
199In Emacs Lisp, such a list is valid as an expression---it evaluates to 199In Emacs Lisp, such a list is a valid expression which evaluates to
200itself. But its main use is not to be evaluated as an expression, but 200a function object.
201to be called as a function.
202 201
203 A lambda expression, by itself, has no name; it is an @dfn{anonymous 202 A lambda expression, by itself, has no name; it is an @dfn{anonymous
204function}. Although lambda expressions can be used this way 203function}. Although lambda expressions can be used this way
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9f9302680be..3fa1ffe40a7 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,26 @@
12013-05-29 Leo Liu <sdl.web@gmail.com>
2
3 * progmodes/octave.el (octave-indent-comment): Tweak regexps.
4 (octave-help): Small simplification.
5
6 * emacs-lisp/smie.el (smie-highlight-matching-block): Always turn
7 off the highlight first.
8
92013-05-29 Glenn Morris <rgm@gnu.org>
10
11 * progmodes/idlwave.el (idlwave-concatenate-rinfo-lists):
12 Handle idlwave-last-system-routine-info-cons-cell being nil.
13
14 * progmodes/idlwave.el (idlwave-scan-user-lib-files)
15 (idlwave-write-paths): Simplify via with-temp-buffer.
16
17 * emulation/cua-gmrk.el: Also load cua-base, cua-rect at run time.
18 * emulation/cua-rect.el: Also load cua-base at run time.
19
20 * progmodes/cperl-mode.el (imenu-choose-buffer-index)
21 (file-of-tag, etags-snarf-tag, etags-goto-tag-location): Declare.
22 (cperl-imenu-on-info): Require imenu.
23
12013-05-28 Alan Mackenzie <acm@muc.de> 242013-05-28 Alan Mackenzie <acm@muc.de>
2 25
3 Handle "capitalised keywords" correctly. 26 Handle "capitalised keywords" correctly.
diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el
index 9e338a0f4be..a88b9d70930 100644
--- a/lisp/emacs-lisp/smie.el
+++ b/lisp/emacs-lisp/smie.el
@@ -1060,10 +1060,10 @@ This uses SMIE's tables and is expected to be placed on `post-self-insert-hook'.
1060 beg end (current-buffer)) 1060 beg end (current-buffer))
1061 (overlay-put smie--highlight-matching-block-overlay 1061 (overlay-put smie--highlight-matching-block-overlay
1062 'face 'smie-matching-block-highlight)))) 1062 'face 'smie-matching-block-highlight))))
1063 (save-excursion 1063 (overlay-put smie--highlight-matching-block-overlay 'face nil)
1064 (condition-case nil 1064 (unless (nth 8 (syntax-ppss))
1065 (if (nth 8 (syntax-ppss)) 1065 (save-excursion
1066 (overlay-put smie--highlight-matching-block-overlay 'face nil) 1066 (condition-case nil
1067 (let ((token 1067 (let ((token
1068 (or (funcall beg-of-tok) 1068 (or (funcall beg-of-tok)
1069 (funcall beg-of-tok 1069 (funcall beg-of-tok
@@ -1082,11 +1082,8 @@ This uses SMIE's tables and is expected to be placed on `post-self-insert-hook'.
1082 (let ((beg (point)) 1082 (let ((beg (point))
1083 (opener (funcall smie-forward-token-function))) 1083 (opener (funcall smie-forward-token-function)))
1084 (when (assoc opener smie-closer-alist) 1084 (when (assoc opener smie-closer-alist)
1085 (funcall highlight beg (point))))) 1085 (funcall highlight beg (point)))))))
1086 (t (overlay-put smie--highlight-matching-block-overlay 1086 (scan-error)))))))
1087 'face nil)))))
1088 (scan-error
1089 (overlay-put smie--highlight-matching-block-overlay 'face nil)))))))
1090 1087
1091(defvar smie--highlight-matching-block-timer nil) 1088(defvar smie--highlight-matching-block-timer nil)
1092 1089
diff --git a/lisp/emulation/cua-gmrk.el b/lisp/emulation/cua-gmrk.el
index d2901bb966c..78665624946 100644
--- a/lisp/emulation/cua-gmrk.el
+++ b/lisp/emulation/cua-gmrk.el
@@ -25,10 +25,8 @@
25 25
26;;; Code: 26;;; Code:
27 27
28(eval-when-compile 28(require 'cua-base)
29 (require 'cua-base) 29(require 'cua-rect)
30 (require 'cua-rect)
31 )
32 30
33;;; Global Marker 31;;; Global Marker
34 32
diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el
index 220469b1ed9..16d109c6360 100644
--- a/lisp/emulation/cua-rect.el
+++ b/lisp/emulation/cua-rect.el
@@ -31,8 +31,7 @@
31 31
32;;; Code: 32;;; Code:
33 33
34(eval-when-compile 34(require 'cua-base)
35 (require 'cua-base))
36 35
37;;; Rectangle support 36;;; Rectangle support
38 37
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index d475a259113..3cfca4525f0 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,31 @@
12013-05-29 Glenn Morris <rgm@gnu.org>
2
3 * gnus-ems.el (set-process-plist): Every supported Emacs has this.
4
5 * gnus-group.el (gnus-sequence-of-unread-articles)
6 (gnus-summary-add-mark, gnus-mark-article-as-read)
7 (gnus-group-make-articles-read): Declare.
8
9 * gnus-sum.el (gnus-parameter-list-identifier)
10 (gnus-article-stop-animations, gnus-stop-downloads)
11 (gnus-article-only-boring-p, article-goto-body)
12 (gnus-flush-original-article-buffer, article-narrow-to-head)
13 (gnus-article-hidden-text-p, gnus-delete-wash-type)
14 (gnus-summary-save-in-pipe, gnus-article-show-summary): Declare.
15
16 * gnus.el: No need to eval-and-compile autoloads.
17
18 * gravatar.el (help-function-arglist): Autoload.
19
20 * nnimap.el (gnus-refer-thread-use-nnir): Declare.
21
22 * nnmail.el (nnmail-fancy-expiry-target): Maybe use mail-dont-reply-to.
23
24 * spam.el: No need to load spam-report when compiling.
25 No need to eval-and-compile autoloads.
26 (spam-report-resend-to): Declare.
27 (spam-report-resend-register-routine): Require 'spam-report.
28
12013-05-24 Julien Danjou <julien@danjou.info> 292013-05-24 Julien Danjou <julien@danjou.info>
2 30
3 * sieve.el (sieve-setup-buffer): Fix default port value in sieve buffer 31 * sieve.el (sieve-setup-buffer): Fix default port value in sieve buffer
diff --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el
index ac8bb74f1f5..4d9b5798247 100644
--- a/lisp/gnus/gnus-ems.el
+++ b/lisp/gnus/gnus-ems.el
@@ -221,8 +221,8 @@
221 'window-inside-pixel-edges 221 'window-inside-pixel-edges
222 'window-pixel-edges)) 222 'window-pixel-edges))
223 223
224 (if (fboundp 'set-process-plist) 224 (if (or (featurep 'emacs) (fboundp 'set-process-plist))
225 (progn 225 (progn ; these exist since Emacs 22.1
226 (defalias 'gnus-set-process-plist 'set-process-plist) 226 (defalias 'gnus-set-process-plist 'set-process-plist)
227 (defalias 'gnus-process-plist 'process-plist) 227 (defalias 'gnus-process-plist 'process-plist)
228 (defalias 'gnus-process-get 'process-get) 228 (defalias 'gnus-process-get 'process-get)
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index 2c45d3c24a1..30ce184ed66 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -3591,6 +3591,8 @@ Cross references (Xref: header) of articles are ignored."
3591 (interactive "P") 3591 (interactive "P")
3592 (gnus-group-catchup-current n 'all)) 3592 (gnus-group-catchup-current n 'all))
3593 3593
3594(declare-function gnus-sequence-of-unread-articles "gnus-sum" (group))
3595
3594(defun gnus-group-catchup (group &optional all) 3596(defun gnus-group-catchup (group &optional all)
3595 "Mark all articles in GROUP as read. 3597 "Mark all articles in GROUP as read.
3596If ALL is non-nil, all articles are marked as read. 3598If ALL is non-nil, all articles are marked as read.
@@ -4493,6 +4495,8 @@ and the second element is the address."
4493 (sort (nconc (gnus-uncompress-range (cdr m)) 4495 (sort (nconc (gnus-uncompress-range (cdr m))
4494 (copy-sequence articles)) '<) t)))))) 4496 (copy-sequence articles)) '<) t))))))
4495 4497
4498(declare-function gnus-summary-add-mark "gnus-sum" (article type))
4499
4496(defun gnus-add-mark (group mark article) 4500(defun gnus-add-mark (group mark article)
4497 "Mark ARTICLE in GROUP with MARK, whether the group is displayed or not." 4501 "Mark ARTICLE in GROUP with MARK, whether the group is displayed or not."
4498 (let ((buffer (gnus-summary-buffer-name group))) 4502 (let ((buffer (gnus-summary-buffer-name group)))
@@ -4657,6 +4661,9 @@ you the groups that have both dormant articles and cached articles."
4657 (let ((gnus-group-list-option 'limit)) 4661 (let ((gnus-group-list-option 'limit))
4658 (gnus-group-list-plus args))) 4662 (gnus-group-list-plus args)))
4659 4663
4664(declare-function gnus-mark-article-as-read "gnu-sum" (article &optional mark))
4665(declare-function gnus-group-make-articles-read "gnus-sum" (group articles))
4666
4660(defun gnus-group-mark-article-read (group article) 4667(defun gnus-group-mark-article-read (group article)
4661 "Mark ARTICLE read." 4668 "Mark ARTICLE read."
4662 (let ((buffer (gnus-summary-buffer-name group)) 4669 (let ((buffer (gnus-summary-buffer-name group))
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index f0b17341e77..c8f593ea403 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -5492,6 +5492,8 @@ or a straight list of headers."
5492 (cdr (assq number gnus-newsgroup-scored)) 5492 (cdr (assq number gnus-newsgroup-scored))
5493 (memq number gnus-newsgroup-processable)))))) 5493 (memq number gnus-newsgroup-processable))))))
5494 5494
5495(declare-function gnus-parameter-list-identifier "gnus-art" (name) t)
5496
5495(defun gnus-group-get-list-identifiers (group) 5497(defun gnus-group-get-list-identifiers (group)
5496 "Get list identifier regexp for GROUP." 5498 "Get list identifier regexp for GROUP."
5497 (or (gnus-parameter-list-identifier group) 5499 (or (gnus-parameter-list-identifier group)
@@ -7267,6 +7269,9 @@ If FORCE (the prefix), also save the .newsrc file(s)."
7267 (unless quit-config 7269 (unless quit-config
7268 (setq gnus-newsgroup-name nil))))) 7270 (setq gnus-newsgroup-name nil)))))
7269 7271
7272(declare-function gnus-article-stop-animations "gnus-art" ())
7273(declare-function gnus-stop-downloads "gnus-art" ())
7274
7270(defalias 'gnus-summary-quit 'gnus-summary-exit-no-update) 7275(defalias 'gnus-summary-quit 'gnus-summary-exit-no-update)
7271(defun gnus-summary-exit-no-update (&optional no-questions) 7276(defun gnus-summary-exit-no-update (&optional no-questions)
7272 "Quit reading current newsgroup without updating read article info." 7277 "Quit reading current newsgroup without updating read article info."
@@ -7859,6 +7864,8 @@ If UNREAD is non-nil, only unread articles are selected."
7859 (and gnus-auto-select-same 7864 (and gnus-auto-select-same
7860 (gnus-summary-article-subject)))) 7865 (gnus-summary-article-subject))))
7861 7866
7867(declare-function gnus-article-only-boring-p "gnus-art" ())
7868
7862(defun gnus-summary-next-page (&optional lines circular stop) 7869(defun gnus-summary-next-page (&optional lines circular stop)
7863 "Show next page of the selected article. 7870 "Show next page of the selected article.
7864If at the end of the current article, select the next article. 7871If at the end of the current article, select the next article.
@@ -8426,6 +8433,8 @@ If REVERSE (the prefix), limit to articles that don't match."
8426 (interactive "sMatch headers (regexp): \nP") 8433 (interactive "sMatch headers (regexp): \nP")
8427 (gnus-summary-limit-to-bodies match reverse t)) 8434 (gnus-summary-limit-to-bodies match reverse t))
8428 8435
8436(declare-function article-goto-body "gnus-art" ())
8437
8429(defun gnus-summary-limit-to-bodies (match &optional reverse headersp) 8438(defun gnus-summary-limit-to-bodies (match &optional reverse headersp)
8430 "Limit the summary buffer to articles that have bodies that match MATCH. 8439 "Limit the summary buffer to articles that have bodies that match MATCH.
8431If REVERSE (the prefix), limit to articles that don't match." 8440If REVERSE (the prefix), limit to articles that don't match."
@@ -9556,6 +9565,8 @@ to save in."
9556 (ps-spool-buffer-with-faces) 9565 (ps-spool-buffer-with-faces)
9557 (ps-spool-buffer))))) 9566 (ps-spool-buffer)))))
9558 9567
9568(declare-function gnus-flush-original-article-buffer "gnus-art" ())
9569
9559(defun gnus-summary-show-complete-article () 9570(defun gnus-summary-show-complete-article ()
9560 "Show a complete version of the current article. 9571 "Show a complete version of the current article.
9561This is only useful if you're looking at a partial version of the 9572This is only useful if you're looking at a partial version of the
@@ -9679,6 +9690,10 @@ If ARG is a negative number, turn header display off."
9679 t))) 9690 t)))
9680 (gnus-summary-show-article)) 9691 (gnus-summary-show-article))
9681 9692
9693(declare-function article-narrow-to-head "gnus-art" ())
9694(declare-function gnus-article-hidden-text-p "gnus-art" (type))
9695(declare-function gnus-delete-wash-type "gnus-art" (type))
9696
9682(defun gnus-summary-toggle-header (&optional arg) 9697(defun gnus-summary-toggle-header (&optional arg)
9683 "Show the headers if they are hidden, or hide them if they are shown. 9698 "Show the headers if they are hidden, or hide them if they are shown.
9684If ARG is a positive number, show the entire header. 9699If ARG is a positive number, show the entire header.
@@ -11962,6 +11977,8 @@ will not be marked as saved."
11962 (gnus-set-mode-line 'summary) 11977 (gnus-set-mode-line 'summary)
11963 n)) 11978 n))
11964 11979
11980(declare-function gnus-summary-save-in-pipe "gnus-art" (&optional command raw))
11981
11965(defun gnus-summary-pipe-output (&optional n sym) 11982(defun gnus-summary-pipe-output (&optional n sym)
11966 "Pipe the current article to a subprocess. 11983 "Pipe the current article to a subprocess.
11967If N is a positive number, pipe the N next articles. 11984If N is a positive number, pipe the N next articles.
@@ -12914,6 +12931,7 @@ If ALL is a number, fetch this number of articles."
12914 (gnus-summary-position-point)) 12931 (gnus-summary-position-point))
12915 12932
12916;;; Bookmark support for Gnus. 12933;;; Bookmark support for Gnus.
12934(declare-function gnus-article-show-summary "gnus-art" ())
12917(declare-function bookmark-make-record-default 12935(declare-function bookmark-make-record-default
12918 "bookmark" (&optional no-file no-context posn)) 12936 "bookmark" (&optional no-file no-context posn))
12919(declare-function bookmark-prop-get "bookmark" (bookmark prop)) 12937(declare-function bookmark-prop-get "bookmark" (bookmark prop))
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index fd6ebf338fa..2c2dbd90c56 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -4243,8 +4243,7 @@ parameters."
4243 (setq valids (cdr valids))) 4243 (setq valids (cdr valids)))
4244 outs)) 4244 outs))
4245 4245
4246(eval-and-compile 4246(autoload 'message-y-or-n-p "message" nil nil 'macro)
4247 (autoload 'message-y-or-n-p "message" nil nil 'macro))
4248 4247
4249(defun gnus-read-group (prompt &optional default) 4248(defun gnus-read-group (prompt &optional default)
4250 "Prompt the user for a group name. 4249 "Prompt the user for a group name.
diff --git a/lisp/gnus/gravatar.el b/lisp/gnus/gravatar.el
index bf6295aa7b8..985ed2c7b0d 100644
--- a/lisp/gnus/gravatar.el
+++ b/lisp/gnus/gravatar.el
@@ -103,6 +103,8 @@ If no image available, return 'error."
103 (gravatar-create-image data nil t) 103 (gravatar-create-image data nil t)
104 'error))) 104 'error)))
105 105
106(autoload 'help-function-arglist "help-fns")
107
106;;;###autoload 108;;;###autoload
107(defun gravatar-retrieve (mail-address cb &optional cbargs) 109(defun gravatar-retrieve (mail-address cb &optional cbargs)
108 "Retrieve MAIL-ADDRESS gravatar and call CB on retrieval. 110 "Retrieve MAIL-ADDRESS gravatar and call CB on retrieval.
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index 9c18bc2cff0..8fdd69b47da 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -1642,6 +1642,7 @@ textual parts.")
1642 (setq nnimap-status-string "Read-only server") 1642 (setq nnimap-status-string "Read-only server")
1643 nil) 1643 nil)
1644 1644
1645(defvar gnus-refer-thread-use-nnir) ; gnus-sum
1645(declare-function gnus-fetch-headers "gnus-sum" 1646(declare-function gnus-fetch-headers "gnus-sum"
1646 (articles &optional limit force-new dependencies)) 1647 (articles &optional limit force-new dependencies))
1647 1648
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el
index a266567987d..28b28369ae4 100644
--- a/lisp/gnus/nnmail.el
+++ b/lisp/gnus/nnmail.el
@@ -1954,7 +1954,9 @@ If TIME is nil, then return the cutoff time for oldness instead."
1954 (and (string-match (cadr regexp-target-pair) to) 1954 (and (string-match (cadr regexp-target-pair) to)
1955 (let ((rmail-dont-reply-to-names 1955 (let ((rmail-dont-reply-to-names
1956 (message-dont-reply-to-names))) 1956 (message-dont-reply-to-names)))
1957 (equal (rmail-dont-reply-to from) ""))))) 1957 (equal (if (fboundp 'rmail-dont-reply-to)
1958 (rmail-dont-reply-to from)
1959 (mail-dont-reply-to from)) "")))))
1958 (setq target (format-time-string (caddr regexp-target-pair) date))) 1960 (setq target (format-time-string (caddr regexp-target-pair) date)))
1959 ((and (not (equal header 'to-from)) 1961 ((and (not (equal header 'to-from))
1960 (string-match (cadr regexp-target-pair) 1962 (string-match (cadr regexp-target-pair)
diff --git a/lisp/gnus/spam.el b/lisp/gnus/spam.el
index 725017ca116..8d689bf26bd 100644
--- a/lisp/gnus/spam.el
+++ b/lisp/gnus/spam.el
@@ -50,7 +50,6 @@
50;;; for the definitions of group content classification and spam processors 50;;; for the definitions of group content classification and spam processors
51(require 'gnus) 51(require 'gnus)
52 52
53(eval-when-compile (require 'spam-report))
54(eval-when-compile (require 'hashcash)) 53(eval-when-compile (require 'hashcash))
55 54
56;; for nnimap-split-download-body-default 55;; for nnimap-split-download-body-default
@@ -60,11 +59,10 @@
60(autoload 'query-dig "dig") 59(autoload 'query-dig "dig")
61 60
62;; autoload spam-report 61;; autoload spam-report
63(eval-and-compile 62(autoload 'spam-report-gmane "spam-report")
64 (autoload 'spam-report-gmane "spam-report") 63(autoload 'spam-report-gmane-spam "spam-report")
65 (autoload 'spam-report-gmane-spam "spam-report") 64(autoload 'spam-report-gmane-ham "spam-report")
66 (autoload 'spam-report-gmane-ham "spam-report") 65(autoload 'spam-report-resend "spam-report")
67 (autoload 'spam-report-resend "spam-report"))
68 66
69;; autoload gnus-registry 67;; autoload gnus-registry
70(autoload 'gnus-registry-group-count "gnus-registry") 68(autoload 'gnus-registry-group-count "gnus-registry")
@@ -2473,7 +2471,10 @@ With a non-nil REMOVE, remove the ADDRESSES."
2473(defun spam-report-resend-register-ham-routine (articles) 2471(defun spam-report-resend-register-ham-routine (articles)
2474 (spam-report-resend-register-routine articles t)) 2472 (spam-report-resend-register-routine articles t))
2475 2473
2474(defvar spam-report-resend-to)
2475
2476(defun spam-report-resend-register-routine (articles &optional ham) 2476(defun spam-report-resend-register-routine (articles &optional ham)
2477 (require 'spam-report)
2477 (let* ((resend-to-gp 2478 (let* ((resend-to-gp
2478 (if ham 2479 (if ham
2479 (gnus-parameter-ham-resend-to gnus-newsgroup-name) 2480 (gnus-parameter-ham-resend-to gnus-newsgroup-name)
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index 407d4042c39..910e7c49d2a 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -6671,10 +6671,13 @@ Customized by setting variables `cperl-shrink-wrap-info-frame',
6671 (buffer-substring 6671 (buffer-substring
6672 (match-beginning 1) (match-end 1))) 6672 (match-beginning 1) (match-end 1)))
6673 6673
6674(declare-function imenu-choose-buffer-index "imenu" (&optional prompt alist))
6675
6674(defun cperl-imenu-on-info () 6676(defun cperl-imenu-on-info ()
6675 "Shows imenu for Perl Info Buffer. 6677 "Shows imenu for Perl Info Buffer.
6676Opens Perl Info buffer if needed." 6678Opens Perl Info buffer if needed."
6677 (interactive) 6679 (interactive)
6680 (require 'imenu)
6678 (let* ((buffer (current-buffer)) 6681 (let* ((buffer (current-buffer))
6679 imenu-create-index-function 6682 imenu-create-index-function
6680 imenu-prev-index-position-function 6683 imenu-prev-index-position-function
@@ -7134,6 +7137,10 @@ Use as
7134(defvar cperl-hierarchy '(() ()) 7137(defvar cperl-hierarchy '(() ())
7135 "Global hierarchy of classes.") 7138 "Global hierarchy of classes.")
7136 7139
7140;; Follows call to (autoloaded) visit-tags-table.
7141(declare-function file-of-tag "etags" (&optional relative))
7142(declare-function etags-snarf-tag "etags" (&optional use-explicit))
7143
7137(defun cperl-tags-hier-fill () 7144(defun cperl-tags-hier-fill ()
7138 ;; Suppose we are in a tag table cooked by cperl. 7145 ;; Suppose we are in a tag table cooked by cperl.
7139 (goto-char 1) 7146 (goto-char 1)
@@ -7177,6 +7184,7 @@ Use as
7177 (end-of-line)))) 7184 (end-of-line))))
7178 7185
7179(declare-function x-popup-menu "menu.c" (position menu)) 7186(declare-function x-popup-menu "menu.c" (position menu))
7187(declare-function etags-goto-tag-location "etags" (tag-info))
7180 7188
7181(defun cperl-tags-hier-init (&optional update) 7189(defun cperl-tags-hier-init (&optional update)
7182 "Show hierarchical menu of classes and methods. 7190 "Show hierarchical menu of classes and methods.
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index aeaf1acb2ac..ba9a632b949 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -5078,11 +5078,14 @@ Cache to disk for quick recovery."
5078 ;; The sequence here is important because earlier definitions shadow 5078 ;; The sequence here is important because earlier definitions shadow
5079 ;; later ones. We assume that if things in the buffers are newer 5079 ;; later ones. We assume that if things in the buffers are newer
5080 ;; then in the shell of the system, they are meant to be different. 5080 ;; then in the shell of the system, they are meant to be different.
5081 (setcdr idlwave-last-system-routine-info-cons-cell 5081 (let ((temp (append idlwave-buffer-routines
5082 (append idlwave-buffer-routines 5082 idlwave-compiled-routines
5083 idlwave-compiled-routines 5083 idlwave-library-catalog-routines
5084 idlwave-library-catalog-routines 5084 idlwave-user-catalog-routines)))
5085 idlwave-user-catalog-routines)) 5085 ;; Not actually used for anything?
5086 (if idlwave-last-system-routine-info-cons-cell
5087 (setcdr idlwave-last-system-routine-info-cons-cell temp)
5088 (setq idlwave-last-system-routine-info-cons-cell (cons temp nil))))
5086 (setq idlwave-class-alist nil) 5089 (setq idlwave-class-alist nil)
5087 5090
5088 ;; Give a message with information about the number of routines we have. 5091 ;; Give a message with information about the number of routines we have.
@@ -5481,30 +5484,21 @@ directories and save the routine info.
5481 (message "Creating user catalog file...") 5484 (message "Creating user catalog file...")
5482 (kill-buffer "*idlwave-scan.pro*") 5485 (kill-buffer "*idlwave-scan.pro*")
5483 (kill-buffer (get-buffer-create "*IDLWAVE Widget*")) 5486 (kill-buffer (get-buffer-create "*IDLWAVE Widget*"))
5484 (let ((font-lock-maximum-size 0) 5487 (with-temp-buffer
5485 (auto-mode-alist nil)) 5488 (insert ";; IDLWAVE user catalog file\n")
5486 (find-file idlwave-user-catalog-file)) 5489 (insert (format ";; Created %s\n\n" (current-time-string)))
5487 (if (and (boundp 'font-lock-mode) 5490
5488 font-lock-mode) 5491 ;; Define the routine info list
5489 (font-lock-mode 0)) 5492 (insert "\n(setq idlwave-user-catalog-routines\n '(")
5490 (erase-buffer) 5493 (let ((standard-output (current-buffer)))
5491 (insert ";; IDLWAVE user catalog file\n") 5494 (mapc (lambda (x)
5492 (insert (format ";; Created %s\n\n" (current-time-string))) 5495 (insert "\n ")
5493 5496 (prin1 x)
5494 ;; Define the routine info list 5497 (goto-char (point-max)))
5495 (insert "\n(setq idlwave-user-catalog-routines\n '(") 5498 idlwave-user-catalog-routines))
5496 (let ((standard-output (current-buffer))) 5499 (insert (format "))\n\n;;; %s ends here\n"
5497 (mapc (lambda (x) 5500 (file-name-nondirectory idlwave-user-catalog-file)))
5498 (insert "\n ") 5501 (write-region nil nil idlwave-user-catalog-file)))
5499 (prin1 x)
5500 (goto-char (point-max)))
5501 idlwave-user-catalog-routines))
5502 (insert (format "))\n\n;;; %s ends here\n"
5503 (file-name-nondirectory idlwave-user-catalog-file)))
5504 (goto-char (point-min))
5505 ;; Save the buffer
5506 (save-buffer 0)
5507 (kill-buffer (current-buffer)))
5508 (message "Creating user catalog file...done") 5502 (message "Creating user catalog file...done")
5509 (message "Info for %d routines saved in %s" 5503 (message "Info for %d routines saved in %s"
5510 (length idlwave-user-catalog-routines) 5504 (length idlwave-user-catalog-routines)
@@ -5522,31 +5516,23 @@ directories and save the routine info.
5522(defun idlwave-write-paths () 5516(defun idlwave-write-paths ()
5523 (interactive) 5517 (interactive)
5524 (when (and idlwave-path-alist idlwave-system-directory) 5518 (when (and idlwave-path-alist idlwave-system-directory)
5525 (let ((font-lock-maximum-size 0) 5519 (with-temp-buffer
5526 (auto-mode-alist nil)) 5520 (insert ";; IDLWAVE paths\n")
5527 (find-file idlwave-path-file)) 5521 (insert (format ";; Created %s\n\n" (current-time-string)))
5528 (if (and (boundp 'font-lock-mode)
5529 font-lock-mode)
5530 (font-lock-mode 0))
5531 (erase-buffer)
5532 (insert ";; IDLWAVE paths\n")
5533 (insert (format ";; Created %s\n\n" (current-time-string)))
5534 ;; Define the variable which knows the value of "!DIR" 5522 ;; Define the variable which knows the value of "!DIR"
5535 (insert (format "\n(setq idlwave-system-directory \"%s\")\n" 5523 (insert (format "\n(setq idlwave-system-directory \"%s\")\n"
5536 idlwave-system-directory)) 5524 idlwave-system-directory))
5537 5525
5538 ;; Define the variable which contains a list of all scanned directories 5526 ;; Define the variable which contains a list of all scanned directories
5539 (insert "\n(setq idlwave-path-alist\n '(") 5527 (insert "\n(setq idlwave-path-alist\n '(")
5540 (let ((standard-output (current-buffer))) 5528 (let ((standard-output (current-buffer)))
5541 (mapc (lambda (x) 5529 (mapc (lambda (x)
5542 (insert "\n ") 5530 (insert "\n ")
5543 (prin1 x) 5531 (prin1 x)
5544 (goto-char (point-max))) 5532 (goto-char (point-max)))
5545 idlwave-path-alist)) 5533 idlwave-path-alist))
5546 (insert "))\n") 5534 (insert "))\n")
5547 (save-buffer 0) 5535 (write-region nil nil idlwave-path-file))))
5548 (kill-buffer (current-buffer))))
5549
5550 5536
5551(defun idlwave-expand-path (path &optional default-dir) 5537(defun idlwave-expand-path (path &optional default-dir)
5552 ;; Expand parts of path starting with '+' recursively into directory list. 5538 ;; Expand parts of path starting with '+' recursively into directory list.
diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el
index 4985f5fb38e..bacd37b3d3c 100644
--- a/lisp/progmodes/octave.el
+++ b/lisp/progmodes/octave.el
@@ -446,11 +446,11 @@ Non-nil means always go to the next Octave code line after sending."
446 (back-to-indentation) 446 (back-to-indentation)
447 (cond 447 (cond
448 ((octave-in-string-or-comment-p) nil) 448 ((octave-in-string-or-comment-p) nil)
449 ((looking-at-p "\\s<\\{3,\\}") 449 ((looking-at-p "\\(\\s<\\)\\1\\{2,\\}")
450 0) 450 0)
451 ;; Exclude %{, %} and %!. 451 ;; Exclude %{, %} and %!.
452 ((and (looking-at-p "\\s<\\(?:[^{}!]\\|$\\)") 452 ((and (looking-at-p "\\s<\\(?:[^{}!]\\|$\\)")
453 (not (looking-at-p "\\s<\\s<"))) 453 (not (looking-at-p "\\(\\s<\\)\\1")))
454 (comment-choose-indent))))) 454 (comment-choose-indent)))))
455 455
456 456
@@ -1637,8 +1637,7 @@ if ismember(exist(\"%s\"), [2 3 5 103]) print_usage(\"%s\") endif\n"
1637 ;; Make 'See also' clickable 1637 ;; Make 'See also' clickable
1638 (with-syntax-table octave-mode-syntax-table 1638 (with-syntax-table octave-mode-syntax-table
1639 (when (re-search-forward "^\\s-*See also:" nil t) 1639 (when (re-search-forward "^\\s-*See also:" nil t)
1640 (let ((end (or (save-excursion (re-search-forward "^\\s-*$" nil t)) 1640 (let ((end (save-excursion (re-search-forward "^\\s-*$" nil t))))
1641 (point-max))))
1642 (while (re-search-forward "\\_<\\(?:\\sw\\|\\s_\\)+\\_>" end t) 1641 (while (re-search-forward "\\_<\\(?:\\sw\\|\\s_\\)+\\_>" end t)
1643 (make-text-button (match-beginning 0) 1642 (make-text-button (match-beginning 0)
1644 ;; If the match ends with . exclude it. 1643 ;; If the match ends with . exclude it.
diff --git a/src/ChangeLog b/src/ChangeLog
index b1f13e62b40..4b1281c17e6 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12013-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * fileio.c (Finsert_file_contents): Preserve undo info when reverting
4 a buffer (bug#8447).
5
12013-05-27 Eli Zaretskii <eliz@gnu.org> 62013-05-27 Eli Zaretskii <eliz@gnu.org>
2 7
3 * xdisp.c (pos_visible_p): When CHARPOS is displayed frrom a 8 * xdisp.c (pos_visible_p): When CHARPOS is displayed frrom a
@@ -25,8 +30,8 @@
25 (struct MonitorInfo): New struct. 30 (struct MonitorInfo): New struct.
26 (free_monitors, make_monitor_attribute_list): Declare. 31 (free_monitors, make_monitor_attribute_list): Declare.
27 32
28 * frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New 33 * frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
29 Lisp_Object:s. 34 New Lisp_Object:s.
30 (free_monitors, make_monitor_attribute_list): New functions. 35 (free_monitors, make_monitor_attribute_list): New functions.
31 (syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes, 36 (syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes,
32 Qsource. 37 Qsource.
diff --git a/src/fileio.c b/src/fileio.c
index f20721251e6..e2b1007fb0b 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -3506,6 +3506,11 @@ by calling `format-decode', which see. */)
3506 bool set_coding_system = 0; 3506 bool set_coding_system = 0;
3507 Lisp_Object coding_system; 3507 Lisp_Object coding_system;
3508 bool read_quit = 0; 3508 bool read_quit = 0;
3509 /* If the undo log only contains the insertion, there's no point
3510 keeping it. It's typically when we first fill a file-buffer. */
3511 bool empty_undo_list_p
3512 = (!NILP (visit) && NILP (BVAR (current_buffer, undo_list))
3513 && BEG == Z);
3509 Lisp_Object old_Vdeactivate_mark = Vdeactivate_mark; 3514 Lisp_Object old_Vdeactivate_mark = Vdeactivate_mark;
3510 bool we_locked_file = 0; 3515 bool we_locked_file = 0;
3511 bool deferred_remove_unwind_protect = 0; 3516 bool deferred_remove_unwind_protect = 0;
@@ -4108,6 +4113,7 @@ by calling `format-decode', which see. */)
4108 { 4113 {
4109 del_range_byte (same_at_start, same_at_end, 0); 4114 del_range_byte (same_at_start, same_at_end, 0);
4110 temp = GPT; 4115 temp = GPT;
4116 eassert (same_at_start == GPT_BYTE);
4111 same_at_start = GPT_BYTE; 4117 same_at_start = GPT_BYTE;
4112 } 4118 }
4113 else 4119 else
@@ -4120,6 +4126,7 @@ by calling `format-decode', which see. */)
4120 = buf_bytepos_to_charpos (XBUFFER (conversion_buffer), 4126 = buf_bytepos_to_charpos (XBUFFER (conversion_buffer),
4121 same_at_start - BEGV_BYTE 4127 same_at_start - BEGV_BYTE
4122 + BUF_BEG_BYTE (XBUFFER (conversion_buffer))); 4128 + BUF_BEG_BYTE (XBUFFER (conversion_buffer)));
4129 eassert (same_at_start_charpos == temp - (BEGV - BEG));
4123 inserted_chars 4130 inserted_chars
4124 = (buf_bytepos_to_charpos (XBUFFER (conversion_buffer), 4131 = (buf_bytepos_to_charpos (XBUFFER (conversion_buffer),
4125 same_at_start + inserted - BEGV_BYTE 4132 same_at_start + inserted - BEGV_BYTE
@@ -4404,7 +4411,7 @@ by calling `format-decode', which see. */)
4404 4411
4405 if (!NILP (visit)) 4412 if (!NILP (visit))
4406 { 4413 {
4407 if (!EQ (BVAR (current_buffer, undo_list), Qt) && !nochange) 4414 if (empty_undo_list_p)
4408 bset_undo_list (current_buffer, Qnil); 4415 bset_undo_list (current_buffer, Qnil);
4409 4416
4410 if (NILP (handler)) 4417 if (NILP (handler))
@@ -4546,7 +4553,7 @@ by calling `format-decode', which see. */)
4546 p = XCDR (p); 4553 p = XCDR (p);
4547 } 4554 }
4548 4555
4549 if (NILP (visit)) 4556 if (!empty_undo_list_p)
4550 { 4557 {
4551 bset_undo_list (current_buffer, old_undo); 4558 bset_undo_list (current_buffer, old_undo);
4552 if (CONSP (old_undo) && inserted != old_inserted) 4559 if (CONSP (old_undo) && inserted != old_inserted)
diff --git a/test/ChangeLog b/test/ChangeLog
index 8ab70c98c82..56e019ec4af 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,7 @@
12013-05-29 Leo Liu <sdl.web@gmail.com>
2
3 * indent/octave.m: Tweak.
4
12013-05-26 Aidan Gauland <aidalgol@amuri.net> 52013-05-26 Aidan Gauland <aidalgol@amuri.net>
2 6
3 * tests/eshell.el: Rewrite tests using ERT. 7 * tests/eshell.el: Rewrite tests using ERT.
diff --git a/test/indent/octave.m b/test/indent/octave.m
index 55f8cc045f4..e5bae850589 100644
--- a/test/indent/octave.m
+++ b/test/indent/octave.m
@@ -2311,7 +2311,7 @@ function dep = is_architecture_dependent (nm)
2311 ext(end) = []; 2311 ext(end) = [];
2312 else 2312 else
2313 isglob = false; # I am a test 2313 isglob = false; # I am a test
2314 # me too 2314 #%% me too
2315### I shall align to column 0 2315### I shall align to column 0
2316 endif 2316 endif
2317 pos = findstr (nm, ext); 2317 pos = findstr (nm, ext);