aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog62
-rw-r--r--lisp/ChangeLog.142
-rw-r--r--lisp/ChangeLog.72
-rw-r--r--lisp/emacs-lisp/authors.el51
-rw-r--r--lisp/emacs-lisp/lisp.el5
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/icomplete.el22
-rw-r--r--lisp/international/mule-cmds.el13
-rw-r--r--lisp/isearch.el40
-rw-r--r--lisp/minibuffer.el100
-rw-r--r--lisp/org/ChangeLog6
-rw-r--r--lisp/progmodes/cc-mode.el3
-rw-r--r--lisp/progmodes/prolog.el3
-rw-r--r--lisp/replace.el3
14 files changed, 220 insertions, 97 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 4f025f3051e..d5951bbbe26 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,52 @@
12012-02-23 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * minibuffer.el: Make sure cycling is reset upon edit with icomplete.el.
4 (completion--cache-all-sorted-completions): New function.
5 (completion-all-sorted-completions): Use it.
6 (completion--do-completion, minibuffer-force-complete):
7 Use it to re-instate the flush hook.
8
9 * icomplete.el (icomplete-completions): Replace last fix with a better
10 one (bug#10850).
11
122012-02-23 Dmitry Gutov <dgutov@yandex.ru>
13
14 * emacs-lisp/lisp.el (beginning-of-defun-raw): Don't call end-of-defun
15 when it might call us back infinitely (bug#10797).
16
172012-02-23 Glenn Morris <rgm@gnu.org>
18
19 * minibuffer.el (completion-category-overrides): Doc fix.
20
212012-02-23 Stefan Monnier <monnier@iro.umontreal.ca>
22
23 * minibuffer.el (completion-table-with-context): Fix inf-loop.
24 Reported by Aaron S. Hawley <aaron.s.hawley@gmail.com>.
25
262012-02-23 Glenn Morris <rgm@gnu.org>
27
28 * emacs-lisp/authors.el (authors-aliases, authors-fixed-case)
29 (authors-obsolete-files-regexps, authors-ignored-files)
30 (authors-ambiguous-files, authors-renamed-files-alist):
31 Add more entries.
32
332012-02-23 Juri Linkov <juri@jurta.org>
34
35 * isearch.el (isearch-occur): Sync interactive spec with occur's
36 new feature in `occur-read-primary-args'. Doc fix. (Bug#10705)
37
38 * replace.el (occur-menu-map): Add menu item for `occur-edit-mode'.
39
402012-02-22 Juri Linkov <juri@jurta.org>
41
42 * international/mule-cmds.el (read-char-by-name): Use \` and \'.
43 (ucs-insert): Doc fix. Check for hex digits in the string.
44 Don't display `nil' in the error message. (Bug#10857)
45
462012-02-22 Alan Mackenzie <acm@muc.de>
47
48 * progmodes/cc-mode.el: Revert change #2012-02-06T22:08:41Z!larsi@gnus.org from 2012-02-06.
49
12012-02-22 Glenn Morris <rgm@gnu.org> 502012-02-22 Glenn Morris <rgm@gnu.org>
2 51
3 * ffap.el (ffap-c-path): 52 * ffap.el (ffap-c-path):
@@ -172,7 +221,7 @@
172 221
173 Fix a loop in c-set-fl-decl-start. 222 Fix a loop in c-set-fl-decl-start.
174 223
175 * progmodes/cc-engine (c-set-fl-decl-start): Add a check that 224 * progmodes/cc-engine.el (c-set-fl-decl-start): Add a check that
176 c-backward-syntactic-ws actually moves backwards. 225 c-backward-syntactic-ws actually moves backwards.
177 226
1782012-02-13 Leo Liu <sdl.web@gmail.com> 2272012-02-13 Leo Liu <sdl.web@gmail.com>
@@ -1362,10 +1411,10 @@
1362 1411
1363 Add the switch statement to AWK Mode. 1412 Add the switch statement to AWK Mode.
1364 1413
1365 * progmodes/cc-awk (awk-font-lock-keywords): Add "switch", "case", 1414 * progmodes/cc-awk.el (awk-font-lock-keywords): Add "switch", "case",
1366 "default" to the keywords regexp. 1415 "default" to the keywords regexp.
1367 1416
1368 * progmodes/cc-langs (c-label-kwds): Let AWK take the same 1417 * progmodes/cc-langs.el (c-label-kwds): Let AWK take the same
1369 expression as the rest. 1418 expression as the rest.
1370 (c-nonlabel-token-key): Allow string literals for AWK. 1419 (c-nonlabel-token-key): Allow string literals for AWK.
1371 Refactor for the other modes. 1420 Refactor for the other modes.
@@ -6384,7 +6433,7 @@
6384 * comint.el (comint-password-prompt-regexp): Accept "Response" as 6433 * comint.el (comint-password-prompt-regexp): Accept "Response" as
6385 a password-like phrase. 6434 a password-like phrase.
6386 6435
63872011-06-30 Mastake YAMATO <yamato@redhat.com> 64362011-06-30 Masatake YAMATO <yamato@redhat.com>
6388 6437
6389 * progmodes/cc-guess.el: New file. 6438 * progmodes/cc-guess.el: New file.
6390 6439
@@ -10692,7 +10741,8 @@
10692 (calc-lu-field-reference): Rename from 10741 (calc-lu-field-reference): Rename from
10693 `calc-logunits-field-reference'. 10742 `calc-logunits-field-reference'.
10694 10743
10695 * calc/calc-help (calc-l-prefix-help): Mention musical note functions. 10744 * calc/calc-help.el (calc-l-prefix-help):
10745 Mention musical note functions.
10696 10746
106972011-03-17 Stefan Monnier <monnier@iro.umontreal.ca> 107472011-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
10698 10748
@@ -10868,7 +10918,7 @@
10868 10918
108692011-03-09 Ken Manheimer <ken.manheimer@gmail.com> 109192011-03-09 Ken Manheimer <ken.manheimer@gmail.com>
10870 10920
10871 * allout.el Summary: Change so yank of distinctive-bullet items 10921 * allout.el: Change so yank of distinctive-bullet items
10872 preserves the existing header prefix, rebulleting it if necessary, 10922 preserves the existing header prefix, rebulleting it if necessary,
10873 rather than replacing it. This is necessary for proper operation 10923 rather than replacing it. This is necessary for proper operation
10874 of cooperative addons like allout-widgets. 10924 of cooperative addons like allout-widgets.
diff --git a/lisp/ChangeLog.14 b/lisp/ChangeLog.14
index 6db8f66f0ca..254e2863889 100644
--- a/lisp/ChangeLog.14
+++ b/lisp/ChangeLog.14
@@ -604,7 +604,7 @@
604 * help-at-pt.el (help-at-pt-kbd-string): Reflow docstring. 604 * help-at-pt.el (help-at-pt-kbd-string): Reflow docstring.
605 (scan-buf-previous-region): Fix typo in docstring. 605 (scan-buf-previous-region): Fix typo in docstring.
606 606
6072009-04-14 Edward Wiebe <usenet@pusto.de> (tiny change) 6072009-04-14 Eduard Wiebe <usenet@pusto.de> (tiny change)
608 608
609 * jit-lock.el (jit-lock-stealth-chunk-start): Fix typo in docstring. 609 * jit-lock.el (jit-lock-stealth-chunk-start): Fix typo in docstring.
610 610
diff --git a/lisp/ChangeLog.7 b/lisp/ChangeLog.7
index 5bc9c8a8d25..425268909ea 100644
--- a/lisp/ChangeLog.7
+++ b/lisp/ChangeLog.7
@@ -4115,7 +4115,7 @@
4115 4115
4116 * ffap.el (dired-at-point): Add autoload cookie. 4116 * ffap.el (dired-at-point): Add autoload cookie.
4117 4117
41181998-04-23 Jens Petersen <petersen@kurims.kyoto-u.ac.jp> 41181998-04-23 Jens-Ulrik Petersen <petersen@kurims.kyoto-u.ac.jp>
4119 4119
4120 * ffap.el (dired-at-point-require-prefix): New option. 4120 * ffap.el (dired-at-point-require-prefix): New option.
4121 (dired-at-point): New command. 4121 (dired-at-point): New command.
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el
index 495144f7252..f12beed3271 100644
--- a/lisp/emacs-lisp/authors.el
+++ b/lisp/emacs-lisp/authors.el
@@ -41,17 +41,21 @@ files.")
41(defconst authors-aliases 41(defconst authors-aliases
42 '( 42 '(
43 ("Aaron S. Hawley" "Aaron Hawley") 43 ("Aaron S. Hawley" "Aaron Hawley")
44 ("Alexandru Harsanyi" "Alex Harsanyi")
44 ("Andrew Csillag" "Drew Csillag") 45 ("Andrew Csillag" "Drew Csillag")
45 ("Anna M. Bigatti" "Anna Bigatti") 46 ("Anna M. Bigatti" "Anna Bigatti")
46 ("Barry A. Warsaw" "Barry A. Warsaw, Century Computing, Inc." 47 ("Barry A. Warsaw" "Barry A. Warsaw, Century Computing, Inc."
47 "Barry A. Warsaw, ITB" "Barry Warsaw") 48 "Barry A. Warsaw, ITB" "Barry Warsaw")
49 ("Bill Carpenter" "WJ Carpenter")
48 ("Bill Mann" "William F. Mann") 50 ("Bill Mann" "William F. Mann")
49 ("Bill Rozas" "Guillermo J. Rozas") 51 ("Bill Rozas" "Guillermo J. Rozas")
50 ("Björn Torkelsson" "Bjorn Torkelsson") 52 ("Björn Torkelsson" "Bjorn Torkelsson")
51 ("Brian Fox" "Brian J. Fox") 53 ("Brian Fox" "Brian J. Fox")
54 ("Brian Sniffen" "Brian T. Sniffen")
52 ("Christoph Wedler" "Christoph.Wedler@sap.com") 55 ("Christoph Wedler" "Christoph.Wedler@sap.com")
53 ("Daniel Pfeiffer" "<Daniel.Pfeiffer@Informatik.START.db.de>" 56 ("Daniel Pfeiffer" "<Daniel.Pfeiffer@Informatik.START.db.de>"
54 "<Daniel.Pfeiffer@Informatik.START.dbp.de>") 57 "<Daniel.Pfeiffer@Informatik.START.dbp.de>")
58 ("David Abrahams" "Dave Abrahams")
55 ("David De La Harpe Golden" "David Golden") 59 ("David De La Harpe Golden" "David Golden")
56 ("David Gillespie" "Dave Gillespie") 60 ("David Gillespie" "Dave Gillespie")
57 ("David KÃ¥gedal" "David K..edal") 61 ("David KÃ¥gedal" "David K..edal")
@@ -77,6 +81,8 @@ files.")
77 ("Gerd Möllmann" "Gerd Moellmann") 81 ("Gerd Möllmann" "Gerd Moellmann")
78 ("Hallvard B. Furuseth" "Hallvard B Furuseth" "Hallvard Furuseth") 82 ("Hallvard B. Furuseth" "Hallvard B Furuseth" "Hallvard Furuseth")
79 ("Hrvoje Nikšić" "Hrvoje Niksic") 83 ("Hrvoje Nikšić" "Hrvoje Niksic")
84 ;; lisp/org/ChangeLog 2010-11-11.
85 (nil "aaa bbb")
80 ;; src/ChangeLog.4, 1994-01-11, since fixed. 86 ;; src/ChangeLog.4, 1994-01-11, since fixed.
81;;; (nil "(afs@hplb.hpl.hp.com)") 87;;; (nil "(afs@hplb.hpl.hp.com)")
82 ;; lisp/gnus/ChangeLog.1, 1998-01-15. 88 ;; lisp/gnus/ChangeLog.1, 1998-01-15.
@@ -93,6 +99,7 @@ files.")
93 ("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen") 99 ("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen")
94 ("Jeremy Bertram Maitin-Shepard" "Jeremy Maitin-Shepard") 100 ("Jeremy Bertram Maitin-Shepard" "Jeremy Maitin-Shepard")
95 ("Johan Bockgård" "Johan Bockgard") 101 ("Johan Bockgård" "Johan Bockgard")
102 ("John J Foerch" "John Foerch")
96 ("John W. Eaton" "John Eaton") 103 ("John W. Eaton" "John Eaton")
97 ("Jonathan I. Kamens" "Jonathan Kamens") 104 ("Jonathan I. Kamens" "Jonathan Kamens")
98 ("Joseph Arceneaux" "Joe Arceneaux") 105 ("Joseph Arceneaux" "Joe Arceneaux")
@@ -110,10 +117,11 @@ files.")
110 ("Kevin Greiner" "Kevin J. Greiner") 117 ("Kevin Greiner" "Kevin J. Greiner")
111 ("Kim F. Storm" "Kim Storm") 118 ("Kim F. Storm" "Kim Storm")
112 ("Kyle Jones" "Kyle E. Jones") 119 ("Kyle Jones" "Kyle E. Jones")
120 ("Lars Magne Ingebrigtsen" "Lars Ingebrigtsen")
113 ("Marcus G. Daniels" "Marcus Daniels") 121 ("Marcus G. Daniels" "Marcus Daniels")
114 ("Mark D. Baushke" "Mark D Baushke") 122 ("Mark D. Baushke" "Mark D Baushke")
115 ("Marko Kohtala" "Kohtala Marko") 123 ("Marko Kohtala" "Kohtala Marko")
116 ("Agustín Martín" "Agustin Martin") 124 ("Agustín Martín" "Agustin Martin" "Agustín Martín Domingo")
117 ("Martin Lorentzon" "Martin Lorentzson") 125 ("Martin Lorentzon" "Martin Lorentzson")
118 ("Matt Swift" "Matthew Swift") 126 ("Matt Swift" "Matthew Swift")
119 ("Maxime Edouard Robert Froumentin" "Max Froumentin") 127 ("Maxime Edouard Robert Froumentin" "Max Froumentin")
@@ -125,12 +133,14 @@ files.")
125 ("Michael Sperber" "Michael Sperber \\[Mr. Preprocessor\\]") 133 ("Michael Sperber" "Michael Sperber \\[Mr. Preprocessor\\]")
126 ("Mikio Nakajima" "Nakajima Mikio") 134 ("Mikio Nakajima" "Nakajima Mikio")
127 ("Nelson Jose dos Santos Ferreira" "Nelson Ferreira") 135 ("Nelson Jose dos Santos Ferreira" "Nelson Ferreira")
136 ("Noorul Islam" "Noorul Islam K M")
128 ("Paul Eggert" "eggert") 137 ("Paul Eggert" "eggert")
129 ("Paul Reilly" "(pmr@legacy.pajato.com)") 138 ("Paul Reilly" "(pmr@legacy.pajato.com)")
130 ("Pavel Janík" "Pavel Janík Ml." "Pavel Janik Ml." "Pavel Janik" "Pavel Janík" "Pavel@Janik.Cz") 139 ("Pavel Janík" "Pavel Janík Ml." "Pavel Janik Ml." "Pavel Janik" "Pavel Janík" "Pavel@Janik.Cz")
131 ("Pavel Kobiakov" "Pavel Kobyakov") 140 ("Pavel Kobiakov" "Pavel Kobyakov")
132 ("Per Abrahamsen" "Per Abhiddenware") 141 ("Per Abrahamsen" "Per Abhiddenware")
133 ("Per Starbäck" "Per Starback") 142 ("Per Starbäck" "Per Starback")
143 ("Peter J. Weisberg" "PJ Weisberg")
134 ("Peter S. Galbraith" "Peter Galbraith") 144 ("Peter S. Galbraith" "Peter Galbraith")
135 ("Peter Runestig" "Peter 'luna' Runestig") 145 ("Peter Runestig" "Peter 'luna' Runestig")
136 ("Peter S. Galbraith" "Peter S Galbraith") 146 ("Peter S. Galbraith" "Peter S Galbraith")
@@ -145,16 +155,19 @@ files.")
145 ("Sacha Chua" "Sandra Jean Chua") 155 ("Sacha Chua" "Sandra Jean Chua")
146 ("Sam Steingold" "Sam Shteingold") 156 ("Sam Steingold" "Sam Shteingold")
147 ("Satyaki Das" "Indexed search by Satyaki Das") 157 ("Satyaki Das" "Indexed search by Satyaki Das")
158 ("Sébastien Vauban" "Sebastien Vauban")
148 ;; There are other Stefans. 159 ;; There are other Stefans.
149;;; ("Stefan Monnier" "Stefan") 160;;; ("Stefan Monnier" "Stefan")
150 ("Stephen A. Wood" "(saw@cebaf.gov)") 161 ("Stephen A. Wood" "(saw@cebaf.gov)")
151 ("Steven L. Baur" "SL Baur" "Steven L Baur") 162 ("Steven L. Baur" "SL Baur" "Steven L Baur")
152 ("Stewart M. Clamen" "Stewart Clamen") 163 ("Stewart M. Clamen" "Stewart Clamen")
153 ("Stuart D. Herring" "Stuart Herring" "Davis Herring") 164 ("Stuart D. Herring" "Stuart Herring" "Davis Herring")
165 ("T.V. Raman" "T\\. V\\. Raman")
154 ("Taichi Kawabata" "KAWABATA,? Taichi") 166 ("Taichi Kawabata" "KAWABATA,? Taichi")
155 ("Takaaki Ota" "Tak Ota") 167 ("Takaaki Ota" "Tak Ota")
156 ("Takahashi Naoto" "Naoto Takahashi") 168 ("Takahashi Naoto" "Naoto Takahashi")
157 ("Teodor Zlatanov" "Ted Zlatanov") 169 ("Teodor Zlatanov" "Ted Zlatanov")
170 ("Thomas Dye" "Tom Dye")
158 ("Thomas Horsley" "Tom Horsley") ; FIXME ? 171 ("Thomas Horsley" "Tom Horsley") ; FIXME ?
159 ("Thomas Wurgler" "Tom Wurgler") 172 ("Thomas Wurgler" "Tom Wurgler")
160 ("Tomohiko Morioka" "MORIOKA Tomohiko") 173 ("Tomohiko Morioka" "MORIOKA Tomohiko")
@@ -175,6 +188,7 @@ Each entry is of the form (REALNAME REGEXP...). If an author's name
175matches one of the REGEXPs, use REALNAME instead. 188matches one of the REGEXPs, use REALNAME instead.
176If REALNAME is nil, ignore that author.") 189If REALNAME is nil, ignore that author.")
177 190
191;; FIXME seems it would be less fragile to check for O', Mc, etc.
178(defconst authors-fixed-case 192(defconst authors-fixed-case
179 '("Bryan O'Sullivan" 193 '("Bryan O'Sullivan"
180 "Christian von Roques" 194 "Christian von Roques"
@@ -183,6 +197,7 @@ If REALNAME is nil, ignore that author.")
183 "David J. MacKenzie" 197 "David J. MacKenzie"
184 "David McCabe" 198 "David McCabe"
185 "David O'Toole" 199 "David O'Toole"
200 "Devon Sean McCullough"
186 "Dominique de Waleffe" 201 "Dominique de Waleffe"
187 "Edward O'Connor" 202 "Edward O'Connor"
188 "Exal de Jesus Garcia Carrillo" 203 "Exal de Jesus Garcia Carrillo"
@@ -195,8 +210,11 @@ If REALNAME is nil, ignore that author.")
195 "Nelson Jose dos Santos Ferreira" 210 "Nelson Jose dos Santos Ferreira"
196 "Peter von der Ahe" 211 "Peter von der Ahe"
197 "Peter O'Gorman" 212 "Peter O'Gorman"
213 "Piet van Oostrum"
198 "Roland McGrath" 214 "Roland McGrath"
199 "Sean O'Rourke") 215 "Sean O'Halpin"
216 "Sean O'Rourke"
217 "Tijs van Bakel")
200 "List of authors whose names cannot be simply capitalized.") 218 "List of authors whose names cannot be simply capitalized.")
201 219
202(defvar authors-public-domain-files 220(defvar authors-public-domain-files
@@ -223,11 +241,12 @@ If REALNAME is nil, ignore that author.")
223 ".*loaddefs.el$" ; not obsolete, but auto-generated 241 ".*loaddefs.el$" ; not obsolete, but auto-generated
224 "\\.\\(cvs\\|git\\)ignore$" ; obsolete or uninteresting 242 "\\.\\(cvs\\|git\\)ignore$" ; obsolete or uninteresting
225 "\\.arch-inventory$" 243 "\\.arch-inventory$"
244 ;; TODO lib/? Matches other things?
245 "build-aux/" "m4/" "Emacs.xcodeproj" "charsets" "mapfiles"
226 "preferences\\.\\(nib\\|gorm\\)" 246 "preferences\\.\\(nib\\|gorm\\)"
227 "vc-\\(rcs\\|cvs\\|sccs\\)-hooks\\.el$") 247 "vc-\\(rcs\\|cvs\\|sccs\\)-hooks\\.el$")
228 "List of regexps matching obsolete files. 248 "List of regexps matching obsolete files.
229Changes to files matching one of the regexps in this list are not 249Changes to files matching one of the regexps in this list are not listed.")
230listed.")
231 250
232(defconst authors-ignored-files 251(defconst authors-ignored-files
233 '("external-lisp" 252 '("external-lisp"
@@ -258,7 +277,12 @@ listed.")
258 "*.el" 277 "*.el"
259 ;; Autogen: 278 ;; Autogen:
260 "cus-load.el" "finder-inf.el" "ldefs-boot.el" 279 "cus-load.el" "finder-inf.el" "ldefs-boot.el"
280 "compile" "config.guess" "config.sub" "depcomp"
281 ;; Only existed briefly, then renamed:
282 "images/icons/allout-widgets-dark-bg"
283 "images/icons/allout-widgets-light-bg"
261 ;; Never had any meaningful changes logged, now deleted: 284 ;; Never had any meaningful changes logged, now deleted:
285 "unidata/bidimirror.awk" "unidata/biditype.awk"
262 "split-man" "Xkeymap.txt" "ms-7bkermit" "ulimit.hack" 286 "split-man" "Xkeymap.txt" "ms-7bkermit" "ulimit.hack"
263 "gnu-hp300" "refcard.bit" "ledit.l" "forms.README" "forms-d2.dat" 287 "gnu-hp300" "refcard.bit" "ledit.l" "forms.README" "forms-d2.dat"
264 "CXTERM-DIC/PY.tit" "CXTERM-DIC/ZIRANMA.tit" 288 "CXTERM-DIC/PY.tit" "CXTERM-DIC/ZIRANMA.tit"
@@ -309,29 +333,47 @@ Changes to files in this list are not listed.")
309 "complete.el" 333 "complete.el"
310 "cpp.el" 334 "cpp.el"
311 "ctxt.el" 335 "ctxt.el"
336 "custom.el"
337 "cyrillic.el"
338 "czech.el"
312 "debug.el" 339 "debug.el"
313 "dired.el" 340 "dired.el"
314 "el.el" 341 "el.el"
342 "eshell.el"
343 "ethiopic.el"
344 "f90.el"
315 "files.el" 345 "files.el"
316 "find.el" 346 "find.el"
317 "format.el" 347 "format.el"
348 "generic.el"
349 "georgian.el"
350 "greek.el"
318 "grep.el" 351 "grep.el"
352 "hebrew.el"
319 "imenu.el" 353 "imenu.el"
354 "indian.el"
355 "japanese.el"
320 "java.el" 356 "java.el"
357 "lao.el"
321 "linux.el" 358 "linux.el"
322 "locate.el" 359 "locate.el"
323 "make.el" 360 "make.el"
324 "mode.el" 361 "mode.el"
325 "python.el" 362 "python.el"
363 "rmailmm.el"
326 "semantic.el" 364 "semantic.el"
327 "shell.el" 365 "shell.el"
328 "simple.el" 366 "simple.el"
367 "slovak.el"
329 "sort.el" 368 "sort.el"
330 "speedbar.el" 369 "speedbar.el"
331 "srecode.el" 370 "srecode.el"
332 "table.el" 371 "table.el"
333 "texi.el" 372 "texi.el"
373 "thai.el"
374 "tibetan.el"
334 "util.el" 375 "util.el"
376 "vc-bzr.el"
335 "wisent.el") 377 "wisent.el")
336 "List of basenames occurring more than once in the source.") 378 "List of basenames occurring more than once in the source.")
337 379
@@ -589,6 +631,7 @@ in the repository.")
589 ("texi/url.txi" . "url.texi") 631 ("texi/url.txi" . "url.texi")
590 ("edt-user.doc" . "edt.texi") 632 ("edt-user.doc" . "edt.texi")
591 ("DEV-NOTES" . "nextstep") 633 ("DEV-NOTES" . "nextstep")
634 ("org/COPYRIGHT-AND-LICENSE" . "org/README")
592 ;; Moved to different directories. 635 ;; Moved to different directories.
593 ("ctags.1" . "ctags.1") 636 ("ctags.1" . "ctags.1")
594 ("etags.1" . "etags.1") 637 ("etags.1" . "etags.1")
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index 8c53ad58612..4efdc3240cd 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -257,9 +257,8 @@ is called as a function to find the defun's beginning."
257 (if (> arg 0) 257 (if (> arg 0)
258 (dotimes (i arg) 258 (dotimes (i arg)
259 (funcall beginning-of-defun-function)) 259 (funcall beginning-of-defun-function))
260 ;; Better not call end-of-defun-function directly, in case 260 (dotimes (i (- arg))
261 ;; it's not defined. 261 (funcall end-of-defun-function))))))
262 (end-of-defun (- arg))))))
263 262
264 ((or defun-prompt-regexp open-paren-in-column-0-is-defun-start) 263 ((or defun-prompt-regexp open-paren-in-column-0-is-defun-start)
265 (and (< arg 0) (not (eobp)) (forward-char 1)) 264 (and (< arg 0) (not (eobp)) (forward-char 1))
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index c9fd83aaaa0..0729fb90c48 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -2094,11 +2094,6 @@
2094 (gnus-registry--split-fancy-with-parent-internal): Fix splitting bugs 2094 (gnus-registry--split-fancy-with-parent-internal): Fix splitting bugs
2095 and provide better messaging. 2095 and provide better messaging.
2096 2096
20972011-04-06 David Engster <dengste@eml.cc>
2098
2099 * Makefile.in (fail-on-warning): New rule to compile with warnings as
2100 errors.
2101
21022011-04-06 Teodor Zlatanov <tzz@lifelogs.com> 20972011-04-06 Teodor Zlatanov <tzz@lifelogs.com>
2103 2098
2104 * gnus-registry.el: Don't use ERT if it's not available. Load it 2099 * gnus-registry.el: Don't use ERT if it's not available. Load it
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index a9719651957..97a14b12891 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -333,23 +333,23 @@ are exhibited within the square braces.)"
333 (window-width))) 333 (window-width)))
334 (prefix-len 334 (prefix-len
335 ;; Find the common prefix among `comps'. 335 ;; Find the common prefix among `comps'.
336 (if (eq t (compare-strings (car comps) nil (length most) 336 ;; We can't use the optimization below because its assumptions
337 most nil nil completion-ignore-case)) 337 ;; aren't always true, e.g. when completion-cycling (bug#10850):
338 ;; Common case. 338 ;; (if (eq t (compare-strings (car comps) nil (length most)
339 (length most) 339 ;; most nil nil completion-ignore-case))
340 ;; Else, use try-completion. 340 ;; ;; Common case.
341 (let ((comps-prefix (try-completion "" comps))) 341 ;; (length most)
342 (and (stringp comps-prefix) 342 ;; Else, use try-completion.
343 (length comps-prefix))))) 343 (let ((comps-prefix (try-completion "" comps)))
344 (and (stringp comps-prefix)
345 (length comps-prefix)))) ;;)
344 346
345 prospects most-is-exact comp limit) 347 prospects most-is-exact comp limit)
346 (if (eq most-try t) ;; (or (null (cdr comps)) 348 (if (eq most-try t) ;; (or (null (cdr comps))
347 (setq prospects nil) 349 (setq prospects nil)
348 (while (and comps (not limit)) 350 (while (and comps (not limit))
349 (setq comp 351 (setq comp
350 (if (and prefix-len (<= prefix-len (length (car comps)))) 352 (if prefix-len (substring (car comps) prefix-len) (car comps))
351 (substring (car comps) prefix-len)
352 (car comps))
353 comps (cdr comps)) 353 comps (cdr comps))
354 (cond ((string-equal comp "") (setq most-is-exact t)) 354 (cond ((string-equal comp "") (setq most-is-exact t))
355 ((member comp prospects)) 355 ((member comp prospects))
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index a7fac427e41..debc328c551 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -2949,9 +2949,9 @@ point or a number in hash notation, e.g. #o21430 for octal,
2949 '(metadata (category . unicode-name)) 2949 '(metadata (category . unicode-name))
2950 (complete-with-action action (ucs-names) string pred)))))) 2950 (complete-with-action action (ucs-names) string pred))))))
2951 (cond 2951 (cond
2952 ((string-match-p "^[0-9a-fA-F]+$" input) 2952 ((string-match-p "\\`[0-9a-fA-F]+\\'" input)
2953 (string-to-number input 16)) 2953 (string-to-number input 16))
2954 ((string-match-p "^#" input) 2954 ((string-match-p "\\`#" input)
2955 (read input)) 2955 (read input))
2956 (t 2956 (t
2957 (cdr (assoc-string input (ucs-names) t)))))) 2957 (cdr (assoc-string input (ucs-names) t))))))
@@ -2967,6 +2967,10 @@ preceded by an asterisk `*' and use completion, it will show all
2967the characters whose names include that substring, not necessarily 2967the characters whose names include that substring, not necessarily
2968at the beginning of the name. 2968at the beginning of the name.
2969 2969
2970This function also accepts a hexadecimal number of Unicode code
2971point or a number in hash notation, e.g. #o21430 for octal,
2972#x2318 for hex, or #10r8984 for decimal.
2973
2970The optional third arg INHERIT (non-nil when called interactively), 2974The optional third arg INHERIT (non-nil when called interactively),
2971says to inherit text properties from adjoining text, if those 2975says to inherit text properties from adjoining text, if those
2972properties are sticky." 2976properties are sticky."
@@ -2975,9 +2979,12 @@ properties are sticky."
2975 (prefix-numeric-value current-prefix-arg) 2979 (prefix-numeric-value current-prefix-arg)
2976 t)) 2980 t))
2977 (unless count (setq count 1)) 2981 (unless count (setq count 1))
2978 (if (stringp character) 2982 (if (and (stringp character)
2983 (string-match-p "\\`[0-9a-fA-F]+\\'" character))
2979 (setq character (string-to-number character 16))) 2984 (setq character (string-to-number character 16)))
2980 (cond 2985 (cond
2986 ((null character)
2987 (error "Not a Unicode character"))
2981 ((not (integerp character)) 2988 ((not (integerp character))
2982 (error "Not a Unicode character code: %S" character)) 2989 (error "Not a Unicode character code: %S" character))
2983 ((or (< character 0) (> character #x10FFFF)) 2990 ((or (< character 0) (> character #x10FFFF))
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 27b82940043..9d69443b6a4 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1433,16 +1433,38 @@ See `isearch-query-replace' for more information."
1433 (isearch-query-replace delimited t)) 1433 (isearch-query-replace delimited t))
1434 1434
1435(defun isearch-occur (regexp &optional nlines) 1435(defun isearch-occur (regexp &optional nlines)
1436 "Run `occur' with regexp to search from the current search string. 1436 "Run `occur' using the last search string as the regexp.
1437Interactively, REGEXP is the current search regexp or a quoted search 1437Interactively, REGEXP is constructed using the search string from the
1438string. NLINES has the same meaning as in `occur'." 1438last search command. NLINES has the same meaning as in `occur'.
1439
1440If the last search command was a word search, REGEXP is computed from
1441the search words, ignoring punctuation. If the last search
1442command was a regular expression search, REGEXP is the regular
1443expression used in that search. If the last search command searched
1444for a literal string, REGEXP is constructed by quoting all the special
1445characters in that string."
1439 (interactive 1446 (interactive
1440 (list 1447 (let* ((perform-collect (consp current-prefix-arg))
1441 (cond 1448 (regexp (cond
1442 (isearch-word (word-search-regexp isearch-string)) 1449 (isearch-word (word-search-regexp isearch-string))
1443 (isearch-regexp isearch-string) 1450 (isearch-regexp isearch-string)
1444 (t (regexp-quote isearch-string))) 1451 (t (regexp-quote isearch-string)))))
1445 (if current-prefix-arg (prefix-numeric-value current-prefix-arg)))) 1452 (list regexp
1453 (if perform-collect
1454 ;; Perform collect operation
1455 (if (zerop (regexp-opt-depth regexp))
1456 ;; No subexpression so collect the entire match.
1457 "\\&"
1458 ;; Get the regexp for collection pattern.
1459 (isearch-done nil t)
1460 (isearch-clean-overlays)
1461 (let ((default (car occur-collect-regexp-history)))
1462 (read-string
1463 (format "Regexp to collect (default %s): " default)
1464 nil 'occur-collect-regexp-history default)))
1465 ;; Otherwise normal occur takes numerical prefix argument.
1466 (when current-prefix-arg
1467 (prefix-numeric-value current-prefix-arg))))))
1446 (let ((case-fold-search isearch-case-fold-search) 1468 (let ((case-fold-search isearch-case-fold-search)
1447 ;; Set `search-upper-case' to nil to not call 1469 ;; Set `search-upper-case' to nil to not call
1448 ;; `isearch-no-upper-case-p' in `occur-1'. 1470 ;; `isearch-no-upper-case-p' in `occur-1'.
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 8564cc2009b..1fdf33bf610 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -226,30 +226,31 @@ case sensitive instead."
226 226
227(defun completion-table-with-context (prefix table string pred action) 227(defun completion-table-with-context (prefix table string pred action)
228 ;; TODO: add `suffix' maybe? 228 ;; TODO: add `suffix' maybe?
229 ;; Notice that `pred' may not be a function in some abusive cases. 229 (let ((pred
230 (when (functionp pred) 230 (if (not (functionp pred))
231 (setq pred 231 ;; Notice that `pred' may not be a function in some abusive cases.
232 ;; Predicates are called differently depending on the nature of 232 pred
233 ;; the completion table :-( 233 ;; Predicates are called differently depending on the nature of
234 (cond 234 ;; the completion table :-(
235 ((vectorp table) ;Obarray. 235 (cond
236 (lambda (sym) (funcall pred (concat prefix (symbol-name sym))))) 236 ((vectorp table) ;Obarray.
237 ((hash-table-p table) 237 (lambda (sym) (funcall pred (concat prefix (symbol-name sym)))))
238 (lambda (s _v) (funcall pred (concat prefix s)))) 238 ((hash-table-p table)
239 ((functionp table) 239 (lambda (s _v) (funcall pred (concat prefix s))))
240 (lambda (s) (funcall pred (concat prefix s)))) 240 ((functionp table)
241 (t ;Lists and alists. 241 (lambda (s) (funcall pred (concat prefix s))))
242 (lambda (s) 242 (t ;Lists and alists.
243 (funcall pred (concat prefix (if (consp s) (car s) s)))))))) 243 (lambda (s)
244 (if (eq (car-safe action) 'boundaries) 244 (funcall pred (concat prefix (if (consp s) (car s) s)))))))))
245 (let* ((len (length prefix)) 245 (if (eq (car-safe action) 'boundaries)
246 (bound (completion-boundaries string table pred (cdr action)))) 246 (let* ((len (length prefix))
247 (list* 'boundaries (+ (car bound) len) (cdr bound))) 247 (bound (completion-boundaries string table pred (cdr action))))
248 (let ((comp (complete-with-action action table string pred))) 248 (list* 'boundaries (+ (car bound) len) (cdr bound)))
249 (cond 249 (let ((comp (complete-with-action action table string pred)))
250 ;; In case of try-completion, add the prefix. 250 (cond
251 ((stringp comp) (concat prefix comp)) 251 ;; In case of try-completion, add the prefix.
252 (t comp))))) 252 ((stringp comp) (concat prefix comp))
253 (t comp))))))
253 254
254(defun completion-table-with-terminator (terminator table string pred action) 255(defun completion-table-with-terminator (terminator table string pred action)
255 "Construct a completion table like TABLE but with an extra TERMINATOR. 256 "Construct a completion table like TABLE but with an extra TERMINATOR.
@@ -509,7 +510,9 @@ styles for specific categories, such as files, buffers, etc."
509Each override has the shape (CATEGORY . ALIST) where ALIST is 510Each override has the shape (CATEGORY . ALIST) where ALIST is
510an association list that can specify properties such as: 511an association list that can specify properties such as:
511- `styles': the list of `completion-styles' to use for that category. 512- `styles': the list of `completion-styles' to use for that category.
512- `cycle': the `completion-cycle-threshold' to use for that category." 513- `cycle': the `completion-cycle-threshold' to use for that category.
514Categories are symbols such as `buffer' and `file', used when
515completing buffer and file names, respectively."
513 :version "24.1" 516 :version "24.1"
514 :type `(alist :key-type (choice :tag "Category" 517 :type `(alist :key-type (choice :tag "Category"
515 (const buffer) 518 (const buffer)
@@ -702,23 +705,23 @@ when the buffer's text is already an exact match."
702 705
703 ;; It did find a match. Do we match some possibility exactly now? 706 ;; It did find a match. Do we match some possibility exactly now?
704 (let* ((exact (test-completion completion 707 (let* ((exact (test-completion completion
705 minibuffer-completion-table 708 minibuffer-completion-table
706 minibuffer-completion-predicate)) 709 minibuffer-completion-predicate))
707 (threshold (completion--cycle-threshold md)) 710 (threshold (completion--cycle-threshold md))
708 (comps 711 (comps
709 ;; Check to see if we want to do cycling. We do it 712 ;; Check to see if we want to do cycling. We do it
710 ;; here, after having performed the normal completion, 713 ;; here, after having performed the normal completion,
711 ;; so as to take advantage of the difference between 714 ;; so as to take advantage of the difference between
712 ;; try-completion and all-completions, for things 715 ;; try-completion and all-completions, for things
713 ;; like completion-ignored-extensions. 716 ;; like completion-ignored-extensions.
714 (when (and threshold 717 (when (and threshold
715 ;; Check that the completion didn't make 718 ;; Check that the completion didn't make
716 ;; us jump to a different boundary. 719 ;; us jump to a different boundary.
717 (or (not completed) 720 (or (not completed)
718 (< (car (completion-boundaries 721 (< (car (completion-boundaries
719 (substring completion 0 comp-pos) 722 (substring completion 0 comp-pos)
720 minibuffer-completion-table 723 minibuffer-completion-table
721 minibuffer-completion-predicate 724 minibuffer-completion-predicate
722 "")) 725 ""))
723 comp-pos))) 726 comp-pos)))
724 (completion-all-sorted-completions)))) 727 (completion-all-sorted-completions))))
@@ -732,7 +735,7 @@ when the buffer's text is already an exact match."
732 ;; Fewer than completion-cycle-threshold remaining 735 ;; Fewer than completion-cycle-threshold remaining
733 ;; completions: let's cycle. 736 ;; completions: let's cycle.
734 (setq completed t exact t) 737 (setq completed t exact t)
735 (setq completion-all-sorted-completions comps) 738 (completion--cache-all-sorted-completions comps)
736 (minibuffer-force-complete)) 739 (minibuffer-force-complete))
737 (completed 740 (completed
738 ;; We could also decide to refresh the completions, 741 ;; We could also decide to refresh the completions,
@@ -797,6 +800,11 @@ scroll the window of possible completions."
797 (#b000 nil) 800 (#b000 nil)
798 (t t))))) 801 (t t)))))
799 802
803(defun completion--cache-all-sorted-completions (comps)
804 (add-hook 'after-change-functions
805 'completion--flush-all-sorted-completions nil t)
806 (setq completion-all-sorted-completions comps))
807
800(defun completion--flush-all-sorted-completions (&rest _ignore) 808(defun completion--flush-all-sorted-completions (&rest _ignore)
801 (remove-hook 'after-change-functions 809 (remove-hook 'after-change-functions
802 'completion--flush-all-sorted-completions t) 810 'completion--flush-all-sorted-completions t)
@@ -845,10 +853,7 @@ scroll the window of possible completions."
845 ;; Cache the result. This is not just for speed, but also so that 853 ;; Cache the result. This is not just for speed, but also so that
846 ;; repeated calls to minibuffer-force-complete can cycle through 854 ;; repeated calls to minibuffer-force-complete can cycle through
847 ;; all possibilities. 855 ;; all possibilities.
848 (add-hook 'after-change-functions 856 (completion--cache-all-sorted-completions (nconc all base-size))))))
849 'completion--flush-all-sorted-completions nil t)
850 (setq completion-all-sorted-completions
851 (nconc all base-size))))))
852 857
853(defun minibuffer-force-complete () 858(defun minibuffer-force-complete ()
854 "Complete the minibuffer to an exact match. 859 "Complete the minibuffer to an exact match.
@@ -872,9 +877,10 @@ Repeated uses step through the possible completions."
872 (completion--done (buffer-substring-no-properties start (point)) 877 (completion--done (buffer-substring-no-properties start (point))
873 'finished (unless mod "Sole completion")))) 878 'finished (unless mod "Sole completion"))))
874 (t 879 (t
875 (setq completion-cycling t)
876 (completion--replace base end (car all)) 880 (completion--replace base end (car all))
877 (completion--done (buffer-substring-no-properties start (point)) 'sole) 881 (completion--done (buffer-substring-no-properties start (point)) 'sole)
882 ;; Set cycling after modifying the buffer since the flush hook resets it.
883 (setq completion-cycling t)
878 ;; If completing file names, (car all) may be a directory, so we'd now 884 ;; If completing file names, (car all) may be a directory, so we'd now
879 ;; have a new set of possible completions and might want to reset 885 ;; have a new set of possible completions and might want to reset
880 ;; completion-all-sorted-completions to nil, but we prefer not to, 886 ;; completion-all-sorted-completions to nil, but we prefer not to,
@@ -882,7 +888,7 @@ Repeated uses step through the possible completions."
882 ;; through the previous possible completions. 888 ;; through the previous possible completions.
883 (let ((last (last all))) 889 (let ((last (last all)))
884 (setcdr last (cons (car all) (cdr last))) 890 (setcdr last (cons (car all) (cdr last)))
885 (setq completion-all-sorted-completions (cdr all))))))) 891 (completion--cache-all-sorted-completions (cdr all)))))))
886 892
887(defvar minibuffer-confirm-exit-commands 893(defvar minibuffer-confirm-exit-commands
888 '(minibuffer-complete minibuffer-complete-word PC-complete PC-complete-word) 894 '(minibuffer-complete minibuffer-complete-word PC-complete PC-complete-word)
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index a2f83eecce5..392fe25202f 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -440,7 +440,7 @@
440 440
4412012-01-03 Michael Brand <michael.ch.brand@gmail.com> 4412012-01-03 Michael Brand <michael.ch.brand@gmail.com>
442 442
443 * org.el Key bindings: remap the Outline functions from 443 * org.el (Key bindings): remap the Outline functions from
444 `outline-mode-prefix-map' where possible. 444 `outline-mode-prefix-map' where possible.
445 445
4462012-01-03 Christian Moe <mail@christianmoe.com> (tiny change) 4462012-01-03 Christian Moe <mail@christianmoe.com> (tiny change)
@@ -539,9 +539,7 @@
539 (org-odt-styles-dir, org-export-odt-schema-dir): New 539 (org-odt-styles-dir, org-export-odt-schema-dir): New
540 variables. 540 variables.
541 541
542 * org-odt.el: New file. 542 * org-odt.el, org-lparse.el: New files.
543
544 * org-lparse: New file.
545 543
5462012-01-03 Carsten Dominik <carsten.dominik@gmail.com> 5442012-01-03 Carsten Dominik <carsten.dominik@gmail.com>
547 545
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 2eb00e72a76..985214db1dc 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1156,8 +1156,7 @@ Note that the style variables are always made local to the buffer."
1156 ;; `c-set-fl-decl-start' for the detailed functionality. 1156 ;; `c-set-fl-decl-start' for the detailed functionality.
1157 (cons (c-set-fl-decl-start beg) end)) 1157 (cons (c-set-fl-decl-start beg) end))
1158 1158
1159(defvar c-standard-font-lock-fontify-region-function 1159(defvar c-standard-font-lock-fontify-region-function nil
1160 (default-value 'font-lock-fontify-region-function)
1161 "Standard value of `font-lock-fontify-region-function'") 1160 "Standard value of `font-lock-fontify-region-function'")
1162 1161
1163(defun c-font-lock-fontify-region (beg end &optional verbose) 1162(defun c-font-lock-fontify-region (beg end &optional verbose)
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el
index bb72984a00b..a8ee6f4bff4 100644
--- a/lisp/progmodes/prolog.el
+++ b/lisp/progmodes/prolog.el
@@ -37,7 +37,8 @@
37;; Some ideas and also a few lines of code have been borrowed (not stolen ;-) 37;; Some ideas and also a few lines of code have been borrowed (not stolen ;-)
38;; from Oz.el, the Emacs major mode for the Oz programming language, 38;; from Oz.el, the Emacs major mode for the Oz programming language,
39;; Copyright (C) 1993 DFKI GmbH, Germany, with permission. 39;; Copyright (C) 1993 DFKI GmbH, Germany, with permission.
40;; Authors: Ralf Scheidhauer and Michael Mehl ([scheidhr|mehl](at)dfki(dot)uni-sb(dot)de) 40;; Authored by Ralf Scheidhauer and Michael Mehl
41;; ([scheidhr|mehl](at)dfki(dot)uni-sb(dot)de)
41;; 42;;
42;; More ideas and code have been taken from the SICStus debugger mode 43;; More ideas and code have been taken from the SICStus debugger mode
43;; (http://www.csd.uu.se/~perm/source_debug/index.shtml -- broken link 44;; (http://www.csd.uu.se/~perm/source_debug/index.shtml -- broken link
diff --git a/lisp/replace.el b/lisp/replace.el
index cb6d7d21e77..349e63d4201 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -786,6 +786,9 @@ a previously found match."
786 (define-key map [occur-rename-buffer] 786 (define-key map [occur-rename-buffer]
787 `(menu-item ,(purecopy "Rename Occur Buffer") occur-rename-buffer 787 `(menu-item ,(purecopy "Rename Occur Buffer") occur-rename-buffer
788 :help ,(purecopy "Rename the current *Occur* buffer to *Occur: original-buffer-name*."))) 788 :help ,(purecopy "Rename the current *Occur* buffer to *Occur: original-buffer-name*.")))
789 (define-key map [occur-edit-buffer]
790 `(menu-item ,(purecopy "Edit Occur Buffer") occur-edit-mode
791 :help ,(purecopy "Edit the *Occur* buffer and apply changes to the original buffers.")))
789 (define-key map [separator-2] menu-bar-separator) 792 (define-key map [separator-2] menu-bar-separator)
790 (define-key map [occur-mode-goto-occurrence-other-window] 793 (define-key map [occur-mode-goto-occurrence-other-window]
791 `(menu-item ,(purecopy "Go To Occurrence Other Window") occur-mode-goto-occurrence-other-window 794 `(menu-item ,(purecopy "Go To Occurrence Other Window") occur-mode-goto-occurrence-other-window