aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorPaul Eggert2011-09-03 16:03:38 -0700
committerPaul Eggert2011-09-03 16:03:38 -0700
commitb49e353d9d01adbe60bc5d0b1658b4ef978b0b06 (patch)
tree9f2ffa6f7a6562abf661a4951012b488ad8b1ae7 /lisp
parent74b880cbc18bd0194c7b1fc44c4a983ee05adae2 (diff)
parentbc3200871917d5c54c8c4299a06bf8f8ba2ea02d (diff)
downloademacs-b49e353d9d01adbe60bc5d0b1658b4ef978b0b06.tar.gz
emacs-b49e353d9d01adbe60bc5d0b1658b4ef978b0b06.zip
Merge from trunk.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog883
-rw-r--r--lisp/ChangeLog.152
-rw-r--r--lisp/abbrev.el2
-rw-r--r--lisp/arc-mode.el2
-rw-r--r--lisp/autoinsert.el2
-rw-r--r--lisp/battery.el19
-rw-r--r--lisp/bindings.el1
-rw-r--r--lisp/bookmark.el2
-rw-r--r--lisp/buff-menu.el17
-rw-r--r--lisp/calc/calc-ext.el2
-rw-r--r--lisp/cedet/ChangeLog5
-rw-r--r--lisp/cedet/semantic/bovine/c-by.el3
-rw-r--r--lisp/cedet/semantic/bovine/make-by.el3
-rw-r--r--lisp/cedet/semantic/bovine/scm-by.el3
-rw-r--r--lisp/cedet/semantic/grammar.el2
-rw-r--r--lisp/cedet/semantic/wisent/javat-wy.el3
-rw-r--r--lisp/cedet/semantic/wisent/js-wy.el4
-rw-r--r--lisp/cedet/semantic/wisent/python-wy.el4
-rw-r--r--lisp/cus-edit.el27
-rw-r--r--lisp/cus-start.el7
-rw-r--r--lisp/cus-theme.el5
-rw-r--r--lisp/dired-aux.el32
-rw-r--r--lisp/dired.el6
-rw-r--r--lisp/emacs-lisp/cl-loaddefs.el3
-rw-r--r--lisp/emacs-lisp/cl-macs.el49
-rw-r--r--lisp/emacs-lisp/debug.el34
-rw-r--r--lisp/emacs-lisp/derived.el4
-rw-r--r--lisp/emacs-lisp/edebug.el2
-rw-r--r--lisp/emacs-lisp/eieio.el116
-rw-r--r--lisp/emacs-lisp/find-func.el8
-rw-r--r--lisp/emacs-lisp/package.el30
-rw-r--r--lisp/emacs-lisp/tabulated-list.el4
-rw-r--r--lisp/epa-file.el14
-rw-r--r--lisp/epa-mail.el15
-rw-r--r--lisp/epa.el56
-rw-r--r--lisp/epg.el227
-rw-r--r--lisp/faces.el35
-rw-r--r--lisp/files.el18
-rw-r--r--lisp/font-lock.el19
-rw-r--r--lisp/gnus/ChangeLog223
-rw-r--r--lisp/gnus/auth-source.el4
-rw-r--r--lisp/gnus/gnus-agent.el2
-rw-r--r--lisp/gnus/gnus-art.el13
-rw-r--r--lisp/gnus/gnus-ems.el5
-rw-r--r--lisp/gnus/gnus-group.el51
-rw-r--r--lisp/gnus/gnus-html.el15
-rw-r--r--lisp/gnus/gnus-msg.el2
-rw-r--r--lisp/gnus/gnus-score.el10
-rw-r--r--lisp/gnus/gnus-spec.el21
-rw-r--r--lisp/gnus/gnus-sum.el117
-rw-r--r--lisp/gnus/gnus-util.el66
-rw-r--r--lisp/gnus/gnus.el2
-rw-r--r--lisp/gnus/mailcap.el2
-rw-r--r--lisp/gnus/message.el20
-rw-r--r--lisp/gnus/mml-smime.el2
-rw-r--r--lisp/gnus/mml1991.el94
-rw-r--r--lisp/gnus/mml2015.el2
-rw-r--r--lisp/gnus/nndraft.el2
-rw-r--r--lisp/gnus/nnimap.el22
-rw-r--r--lisp/gnus/nnir.el36
-rw-r--r--lisp/gnus/nnmail.el33
-rw-r--r--lisp/gnus/nnmaildir.el3
-rw-r--r--lisp/gnus/nnmairix.el23
-rw-r--r--lisp/gnus/nntp.el5
-rw-r--r--lisp/gnus/pop3.el2
-rw-r--r--lisp/gnus/spam.el50
-rw-r--r--lisp/gnus/starttls.el21
-rw-r--r--lisp/help-fns.el11
-rw-r--r--lisp/help-mode.el43
-rw-r--r--lisp/help.el4
-rw-r--r--lisp/hi-lock.el4
-rw-r--r--lisp/ibuf-ext.el15
-rw-r--r--lisp/ibuffer.el10
-rw-r--r--lisp/ido.el3
-rw-r--r--lisp/image-dired.el454
-rw-r--r--lisp/info.el17
-rw-r--r--lisp/international/characters.el20
-rw-r--r--lisp/international/charprop.el26
-rw-r--r--lisp/international/ucs-normalize.el10
-rw-r--r--lisp/international/uni-bidi.elbin8719 -> 7950 bytes
-rw-r--r--lisp/international/uni-category.elbin11396 -> 12759 bytes
-rw-r--r--lisp/international/uni-combining.elbin8369 -> 6251 bytes
-rw-r--r--lisp/international/uni-comment.elbin2386 -> 2407 bytes
-rw-r--r--lisp/international/uni-decimal.elbin1869 -> 2710 bytes
-rw-r--r--lisp/international/uni-decomposition.elbin28459 -> 28497 bytes
-rw-r--r--lisp/international/uni-digit.elbin2187 -> 3028 bytes
-rw-r--r--lisp/international/uni-lowercase.elbin5347 -> 6421 bytes
-rw-r--r--lisp/international/uni-mirrored.elbin10452 -> 9342 bytes
-rw-r--r--lisp/international/uni-name.elbin158765 -> 158786 bytes
-rw-r--r--lisp/international/uni-numeric.elbin3688 -> 4522 bytes
-rw-r--r--lisp/international/uni-old-name.elbin19692 -> 19713 bytes
-rw-r--r--lisp/international/uni-titlecase.elbin5434 -> 6462 bytes
-rw-r--r--lisp/international/uni-uppercase.elbin5430 -> 6458 bytes
-rw-r--r--lisp/isearch.el54
-rw-r--r--lisp/ldefs-boot.el837
-rw-r--r--lisp/longlines.el4
-rw-r--r--lisp/mail/rmail.el83
-rw-r--r--lisp/mail/rmailmm.el4
-rw-r--r--lisp/mail/sendmail.el88
-rw-r--r--lisp/mail/smtpmail.el66
-rw-r--r--lisp/minibuffer.el45
-rw-r--r--lisp/mpc.el39
-rw-r--r--lisp/net/browse-url.el34
-rw-r--r--lisp/net/network-stream.el12
-rw-r--r--lisp/net/quickurl.el20
-rw-r--r--lisp/net/rcirc.el35
-rw-r--r--lisp/net/tramp-sh.el6
-rw-r--r--lisp/net/tramp.el24
-rw-r--r--lisp/net/trampver.el4
-rw-r--r--lisp/org/ChangeLog1694
-rw-r--r--lisp/org/ob-C.el4
-rw-r--r--lisp/org/ob-R.el7
-rw-r--r--lisp/org/ob-asymptote.el4
-rw-r--r--lisp/org/ob-awk.el4
-rw-r--r--lisp/org/ob-calc.el4
-rw-r--r--lisp/org/ob-clojure.el7
-rw-r--r--lisp/org/ob-comint.el4
-rw-r--r--lisp/org/ob-css.el4
-rw-r--r--lisp/org/ob-ditaa.el4
-rw-r--r--lisp/org/ob-dot.el4
-rw-r--r--lisp/org/ob-emacs-lisp.el4
-rw-r--r--lisp/org/ob-eval.el4
-rw-r--r--lisp/org/ob-exp.el7
-rw-r--r--lisp/org/ob-gnuplot.el4
-rw-r--r--lisp/org/ob-haskell.el4
-rw-r--r--lisp/org/ob-java.el2
-rw-r--r--lisp/org/ob-js.el24
-rw-r--r--lisp/org/ob-keys.el4
-rw-r--r--lisp/org/ob-latex.el4
-rw-r--r--lisp/org/ob-ledger.el4
-rw-r--r--lisp/org/ob-lilypond.el4
-rw-r--r--lisp/org/ob-lisp.el8
-rw-r--r--lisp/org/ob-lob.el7
-rw-r--r--lisp/org/ob-matlab.el4
-rw-r--r--lisp/org/ob-maxima.el25
-rw-r--r--lisp/org/ob-mscgen.el4
-rw-r--r--lisp/org/ob-ocaml.el4
-rw-r--r--lisp/org/ob-octave.el4
-rw-r--r--lisp/org/ob-org.el4
-rw-r--r--lisp/org/ob-perl.el7
-rw-r--r--lisp/org/ob-plantuml.el4
-rw-r--r--lisp/org/ob-python.el7
-rw-r--r--lisp/org/ob-ref.el11
-rw-r--r--lisp/org/ob-ruby.el4
-rw-r--r--lisp/org/ob-sass.el4
-rw-r--r--lisp/org/ob-scheme.el24
-rw-r--r--lisp/org/ob-screen.el4
-rw-r--r--lisp/org/ob-sh.el4
-rw-r--r--lisp/org/ob-sql.el4
-rw-r--r--lisp/org/ob-sqlite.el4
-rw-r--r--lisp/org/ob-table.el4
-rw-r--r--lisp/org/ob-tangle.el4
-rw-r--r--lisp/org/ob.el9
-rw-r--r--lisp/org/org-agenda.el13
-rw-r--r--lisp/org/org-archive.el5
-rw-r--r--lisp/org/org-ascii.el5
-rw-r--r--lisp/org/org-attach.el4
-rw-r--r--lisp/org/org-bbdb.el5
-rw-r--r--lisp/org/org-beamer.el4
-rw-r--r--lisp/org/org-bibtex.el4
-rw-r--r--lisp/org/org-capture.el10
-rw-r--r--lisp/org/org-clock.el8
-rw-r--r--lisp/org/org-colview.el5
-rw-r--r--lisp/org/org-compat.el14
-rw-r--r--lisp/org/org-crypt.el4
-rw-r--r--lisp/org/org-ctags.el8
-rw-r--r--lisp/org/org-datetree.el4
-rw-r--r--lisp/org/org-docbook.el4
-rw-r--r--lisp/org/org-docview.el4
-rw-r--r--lisp/org/org-entities.el4
-rw-r--r--lisp/org/org-exp-blocks.el5
-rw-r--r--lisp/org/org-exp.el9
-rw-r--r--lisp/org/org-faces.el5
-rw-r--r--lisp/org/org-feed.el6
-rw-r--r--lisp/org/org-footnote.el4
-rw-r--r--lisp/org/org-freemind.el24
-rw-r--r--lisp/org/org-gnus.el5
-rw-r--r--lisp/org/org-habit.el4
-rw-r--r--lisp/org/org-html.el9
-rw-r--r--lisp/org/org-icalendar.el5
-rw-r--r--lisp/org/org-id.el8
-rw-r--r--lisp/org/org-indent.el4
-rw-r--r--lisp/org/org-info.el5
-rw-r--r--lisp/org/org-inlinetask.el2
-rw-r--r--lisp/org/org-irc.el12
-rw-r--r--lisp/org/org-jsinfo.el5
-rw-r--r--lisp/org/org-latex.el4
-rw-r--r--lisp/org/org-list.el5
-rw-r--r--lisp/org/org-mac-message.el4
-rw-r--r--lisp/org/org-macs.el5
-rw-r--r--lisp/org/org-mew.el4
-rw-r--r--lisp/org/org-mhe.el5
-rw-r--r--lisp/org/org-mks.el4
-rw-r--r--lisp/org/org-mobile.el9
-rw-r--r--lisp/org/org-mouse.el4
-rw-r--r--lisp/org/org-pcomplete.el5
-rw-r--r--lisp/org/org-plot.el4
-rw-r--r--lisp/org/org-protocol.el5
-rw-r--r--lisp/org/org-publish.el11
-rw-r--r--lisp/org/org-remember.el9
-rw-r--r--lisp/org/org-rmail.el5
-rw-r--r--lisp/org/org-special-blocks.el22
-rw-r--r--lisp/org/org-src.el17
-rw-r--r--lisp/org/org-table.el5
-rw-r--r--lisp/org/org-taskjuggler.el2
-rw-r--r--lisp/org/org-timer.el4
-rw-r--r--lisp/org/org-vm.el5
-rw-r--r--lisp/org/org-w3m.el4
-rw-r--r--lisp/org/org-wl.el5
-rw-r--r--lisp/org/org-xoxo.el5
-rw-r--r--lisp/org/org.el30
-rw-r--r--lisp/pcomplete.el18
-rw-r--r--lisp/proced.el2
-rw-r--r--lisp/progmodes/cc-engine.el20
-rw-r--r--lisp/progmodes/cc-fonts.el311
-rw-r--r--lisp/progmodes/cc-langs.el17
-rw-r--r--lisp/progmodes/cc-menus.el7
-rw-r--r--lisp/progmodes/compile.el25
-rw-r--r--lisp/progmodes/grep.el14
-rw-r--r--lisp/progmodes/js.el70
-rw-r--r--lisp/progmodes/python.el12
-rw-r--r--lisp/progmodes/scheme.el28
-rw-r--r--lisp/progmodes/sh-script.el66
-rw-r--r--lisp/saveplace.el3
-rw-r--r--lisp/server.el5
-rw-r--r--lisp/shell.el38
-rw-r--r--lisp/startup.el7
-rw-r--r--lisp/subr.el36
-rw-r--r--lisp/term.el21
-rw-r--r--lisp/textmodes/bibtex.el2
-rw-r--r--lisp/textmodes/ispell.el2
-rw-r--r--lisp/time-stamp.el4
-rw-r--r--lisp/time.el61
-rw-r--r--lisp/tutorial.el11
-rw-r--r--lisp/url/ChangeLog5
-rw-r--r--lisp/url/url-http.el12
-rw-r--r--lisp/vc/add-log.el4
-rw-r--r--lisp/vc/pcvs-defs.el2
-rw-r--r--lisp/vc/vc-git.el3
-rw-r--r--lisp/vc/vc-rcs.el5
-rw-r--r--lisp/view.el12
-rw-r--r--lisp/window.el3652
-rw-r--r--lisp/xt-mouse.el13
243 files changed, 5667 insertions, 5669 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 8b92eab8579..c1d943ccaf0 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,7 +1,809 @@
12011-09-03 Chong Yidong <cyd@stupidchicken.com>
2
3 * mail/sendmail.el (sendmail-query-once-function): Deleted.
4 (sendmail-query-once): Save directly to send-mail-function.
5 Update message-send-mail-function too.
6
7 * mail/smtpmail.el (smtpmail-try-auth-methods): Clarify prompt.
8
92011-09-03 Christoph Scholtes <cschol2112@googlemail.com>
10
11 * progmodes/python.el (python-mode-map): Use correct function to
12 start python interpreter from menu-bar (as reported by Geert
13 Kloosterman).
14 (inferior-python-mode-map): Fix typo.
15 (python-shell-map): Removed.
16
172011-09-03 Deniz Dogan <deniz@dogan.se>
18
19 * net/rcirc.el (rcirc-print): Simplify code for
20 rcirc-scroll-show-maximum-output. There is no need to walk
21 through all windows to find the right one.
22
232011-09-03 Christoph Scholtes <cschol2112@googlemail.com>
24
25 * help.el (help-return-method): Doc fix.
26
272011-09-03 Martin Rudalics <rudalics@gmx.at>
28
29 * window.el (window-deletable-p): Don't return a non-nil value
30 when there's a buffer that was shown in the window before.
31 (Bug#9419)
32 (display-buffer-pop-up-frame, display-buffer-pop-up-window): Set
33 window's previous buffers to nil.
34
352011-09-03 Eli Zaretskii <eliz@gnu.org>
36
37 * mail/rmailmm.el (rmail-mime-insert-tagline): Insert an extra
38 newline before and after the tag line, so it doesn't interfere
39 with determining the paragraph direction of bidirectional text.
40
412011-09-03 Leo Liu <sdl.web@gmail.com>
42
43 * files.el (find-file-not-true-dirname-list): Remove. (Bug#9422)
44
452011-09-02 Chong Yidong <cyd@stupidchicken.com>
46
47 * window.el (pop-to-buffer-1, pop-to-buffer-same-window): Deleted.
48 (pop-to-buffer): Change interactive spec. Pass second argument
49 directly to display-buffer.
50 (display-buffer): Fix interactive spec. Use functionp to
51 distinguish between a function and a list of functions.
52
53 * abbrev.el (edit-abbrevs):
54 * arc-mode.el (archive-extract):
55 * autoinsert.el (auto-insert):
56 * bookmark.el (bookmark-bmenu-list):
57 * files.el (find-file):
58 * view.el (view-buffer):
59 * progmodes/compile.el (compilation-goto-locus):
60 * textmodes/bibtex.el (bibtex-initialize): Use switch-to-buffer.
61
622011-09-02 Chong Yidong <cyd@stupidchicken.com>
63
64 * window.el (display-buffer-alist): Doc fix.
65 (display-buffer): Add docstring. Don't treat
66 display-buffer-default specially.
67 (display-buffer-reuse-selected-window)
68 (display-buffer-same-window, display-buffer-maybe-same-window)
69 (display-buffer-reuse-window, display-buffer-pop-up-frame)
70 (display-buffer-pop-up-window)
71 (display-buffer-reuse-or-pop-window)
72 (display-buffer-use-some-window): New functions.
73 (display-buffer-default-action): Use them.
74 (display-buffer-default): Deleted.
75 (pop-to-buffer-1): Fix choice of actions.
76
772011-09-02 Stefan Monnier <monnier@iro.umontreal.ca>
78
79 * minibuffer.el (completion--insert-strings): Don't get confused by
80 completion entries that end with an LF char.
81
822011-09-01 Eli Zaretskii <eliz@gnu.org>
83
84 * window.el (frame-auto-delete, window-deletable-p): Doc fix.
85
862011-09-01 Chong Yidong <cyd@stupidchicken.com>
87
88 * window.el (display-buffer): Restore interactive spec.
89 (display-buffer-same-window, display-buffer-other-window):
90 New functions.
91 (pop-to-buffer-1): New function. Use the above.
92 (pop-to-buffer, pop-to-buffer-same-window): Use it.
93 (pop-to-buffer-other-window, pop-to-buffer-other-frame): Delete.
94
95 * view.el (view-buffer-other-window, view-buffer-other-frame):
96 Just use pop-to-buffer.
97
982011-09-01 Thierry Volpiatto <thierry.volpiatto@gmail.com>
99
100 * vc/vc-rcs.el (vc-rcs-responsible-p): Handle directories. (Bug#9391)
101
1022011-09-01 Wilfred Hughes <wilfred@potatolondon.com> (tiny change)
103
104 * vc/vc-git.el (vc-git-grep): Use --no-color. (Bug#9408)
105
1062011-08-31 Richard Stallman <rms@gnu.org>
107
108 * mail/rmail.el (rmail-epa-decrypt): Rewrite to take account
109 of the separation of rmail-view-buffer from rmail-buffer.
110 If you say no to "replace original", the decrypt is in the
111 view buffer. If you say yes, the decrypt goes into the
112 rmail buffer also.
113
1142011-08-31 Martin Rudalics <rudalics@gmx.at>
115
116 * window.el (display-buffer-window): Rewrite doc-string.
117 (display-buffer-record-window): New function.
118 (display-buffer-macro-specifiers)
119 (display-buffer-even-window-sizes, display-buffer-set-height)
120 (display-buffer-set-width, display-buffer-in-window)
121 (display-buffer-reuse-window, display-buffer-split-specifiers)
122 (display-buffer-side-specifiers, display-buffer-split-window-1)
123 (display-buffer-split-window, display-buffer-split-atom-window)
124 (display-buffer-pop-up-window, display-buffer-pop-up-frame)
125 (display-buffer-pop-up-side-window, display-buffer-in-side-window)
126 (display-buffer-other-window-means-other-frame)
127 (display-buffer-normalize-special)
128 (display-buffer-normalize-default)
129 (display-buffer-normalize-argument)
130 (display-buffer-normalize-alist-1, display-buffer-normalize-alist)
131 (display-buffer-normalize-specifiers, display-buffer-frame)
132 (display-buffer-same-window, display-buffer-same-frame)
133 (display-buffer-other-window)
134 (display-buffer-same-frame-other-window)
135 (display-buffer-other-frame, pop-to-buffer-same-window)
136 (pop-to-buffer-same-frame, pop-to-buffer-other-window)
137 (pop-to-buffer-same-frame-other-window, pop-to-buffer-other-frame)
138 (switch-to-buffer-same-frame)
139 (switch-to-buffer-other-window-same-frame)
140 (display-buffer-alist-of-strings-p, display-buffer-alist-add)
141 (display-buffer-alist-set-1, display-buffer-alist-set-2)
142 (display-buffer-alist-set): Remove.
143 (display-buffer-function, special-display-buffer-names)
144 (special-display-regexps, special-display-function):
145 In doc-string refer to display-buffer-window and quit-restore
146 parameter.
147 (pop-up-frame-alist, pop-up-frame-function, special-display-p)
148 (special-display-frame-alist, special-display-popup-frame)
149 (same-window-buffer-names, same-window-regexps, same-window-p)
150 (pop-up-frames, display-buffer-reuse-frames, pop-up-windows)
151 (split-window-preferred-function, split-height-threshold)
152 (split-width-threshold, window-splittable-p)
153 (split-window-sensibly, window--try-to-split-window)
154 (window--frame-usable-p, even-window-heights)
155 (window--even-window-heights, window--display-buffer-1)
156 (window--display-buffer-2, display-buffer-other-frame):
157 Restore old Emacs 23 code, order and doc-strings where applicable.
158 (display-buffer-default, display-buffer-assq-regexp): New functions.
159 (display-buffer-alist): Rewrite doc-string.
160 (display-buffer-default-action)
161 (display-buffer-overriding-action): New variables.
162 (display-buffer, switch-to-buffer): Rewrite.
163 (pop-to-buffer): Restore Emacs 23 behavior but use
164 window-normalize-buffer-to-display.
165 (switch-to-buffer-other-window, switch-to-buffer-other-frame):
166 Restore Emacs 23 behavior but use
167 window-normalize-buffer-to-switch-to.
168 (pop-to-buffer-same-window): Rewrite.
169 (pop-to-buffer-other-window, pop-to-buffer-other-frame):
170 Rewrite using Emacs 23 options.
171
1722011-08-31 Michael Albinus <michael.albinus@gmx.de>
173
174 * net/tramp.el (tramp-root-regexp): Remove.
175 (tramp-completion-file-name-regexp-unified)
176 (tramp-completion-file-name-regexp-separate)
177 (tramp-completion-file-name-regexp-url): Don't use leading volume
178 letter on win32 systems. (Bug#5303, Bug#9311)
179 (tramp-drop-volume-letter): Simplify definition.
180 Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
181
1822011-08-30 Stefan Monnier <monnier@iro.umontreal.ca>
183
184 * subr.el (event-modifiers): Fix "missing modifier" part of docstring
185 (bug#9356).
186
1872011-08-30 Reuben Thomas <rrt@sc3d.org> (tiny change)
188
189 * vc/pcvs-defs.el (cvs-find-file-and-jump): Docstring typo (bug#9369).
190
1912011-08-29 Juri Linkov <juri@jurta.org>
192
193 * isearch.el (isearch-done): Don't display message "Mark saved"
194 when arg `edit' is non-nil to prevent its flicker in the echo area.
195
1962011-08-28 Chong Yidong <cyd@stupidchicken.com>
197
198 * emacs-lisp/package.el (package-menu-mark-delete): Allow marking
199 obsolete packages for deletion.
200
2012011-08-28 Christoph Scholtes <cschol2112@googlemail.com>
202
203 * help-mode.el (help-mode-map): Add special-mode-map to parent.
204 (help-mode): Derive help-mode from special-mode. Don't invoke
205 view-mode from help-mode.
206 (help-xref-override-view-map): Remove.
207 (help-make-xrefs): Remove minor-mode-overriding-map-alist since
208 view-mode is not used anymore.
209
2102011-08-28 Chong Yidong <cyd@stupidchicken.com>
211
212 * server.el (server-port): Doc fix.
213
214 * cus-theme.el (custom-theme-choose-mode): Inherit from
215 special-mode (Bug#9124).
216 (custom-theme-choose-mode-map): Add special-mode to parent.
217
2182011-08-28 Alan Mackenzie <acm@muc.de>
219
220 * progmodes/cc-fonts.el
221 (c-make-font-lock-BO-decl-search-function): New function.
222 (c-basic-matchers-after - "Fontify the clauses after various
223 keywords"): Extract the three keyword lists for the 3 erroneous
224 constructs from the list of four, and use the new function above
225 in place of an old one.
226
2272011-08-28 Deniz Dogan <deniz@dogan.se>
228
229 * net/rcirc.el (rcirc-insert-prev-input)
230 (rcirc-insert-next-input): Remove unused argument.
231
2322011-08-28 Stefan Monnier <monnier@iro.umontreal.ca>
233
234 * shell.el (shell-parse-pcomplete-arguments): Unquote args (bug#9160).
235
2362011-08-27 Alan Mackenzie <acm@muc.de>
237
238 * progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Make it
239 handle function pointer parameters properly.
240
2412011-08-27 Martin Rudalics <rudalics@gmx.at>
242
243 * window.el (display-buffer-reuse-window): Fix case where
244 selected window was reused with non-nil OTHER-WINDOW argument.
245 (Bug#9381)
246
2472011-08-27 Deniz Dogan <deniz@dogan.se>
248
249 * net/rcirc.el (rcirc-check-auth-status): Adding support for
250 oftc's NickServ messages.
251
2522011-08-27 Glenn Morris <rgm@gnu.org>
253
254 * saveplace.el (save-place-limit): Make it finite. (Bug#9352)
255
2562011-08-26 Chong Yidong <cyd@stupidchicken.com>
257
258 * emacs-lisp/package.el (package-install): Call package-initialize
259 if called interactively.
260
2612011-08-26 Leo Liu <sdl.web@gmail.com>
262
263 * emacs-lisp/cl-macs.el (defstruct): Fix format. (Bug#9357)
264
2652011-08-25 Juri Linkov <juri@jurta.org>
266
267 * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to
268 `search-whitespace-regexp' (bug#9364).
269
2702011-08-25 Juri Linkov <juri@jurta.org>
271
272 * isearch.el (isearch-edit-string): Let-bind `search-ring' and
273 `regexp-search-ring' to their global values to protect from
274 updating by `read-from-minibuffer' (bug#9185).
275
2762011-08-25 Juri Linkov <juri@jurta.org>
277
278 * textmodes/ispell.el (ispell-command-loop): Add newline
279 at the end of the "Use option `i'..." line.
280
2812011-08-25 Juri Linkov <juri@jurta.org>
282
283 * battery.el (display-battery-mode): If `battery-status-function'
284 or `battery-mode-line-format' is nil, display the message and set
285 `display-battery-mode' to nil (bug#9363).
286
2872011-08-25 Eli Zaretskii <eliz@gnu.org>
288
289 * buff-menu.el (Buffer-menu-buffer+size): Remove calls to
290 bidi-string-mark-left-to-right; they are unnecessary now.
291
2922011-08-25 Deniz Dogan <deniz@dogan.se>
293
294 * net/quickurl.el: Documentation typo fixes.
295
2962011-08-25 Chong Yidong <cyd@stupidchicken.com>
297
298 * window.el (bury-buffer, quit-window): Use bury-buffer-internal.
299
3002011-08-25 Glenn Morris <rgm@gnu.org>
301
302 * emacs-lisp/derived.el (define-derived-mode): Doc fix.
303
304 * mail/smtpmail.el (smtpmail-smtp-user): Add version: tag.
305 (smtpmail-via-smtp): Handle nil response from smtp.
306
3072011-08-24 Juri Linkov <juri@jurta.org>
308
309 * proced.el (proced-marked): Inherit from `error' instead of
310 `font-lock-warning-face'.
311
312 * ibuffer.el (ibuffer-marked-face): Change default face from
313 `font-lock-warning-face' to `warning'.
314 (ibuffer-deletion-face): Change default face from
315 `font-lock-type-face' to `error'.
316
317 * battery.el (battery-update): Use the face `error' instead of
318 `font-lock-warning-face' (bug#6117).
319
3202011-08-24 Juri Linkov <juri@jurta.org>
321
322 * faces.el (success): Change face color from "Green3" to
323 "ForestGreen" on light background (bug#9353).
324
3252011-08-24 Chong Yidong <cyd@stupidchicken.com>
326
327 * window.el (quit-window): Rename from quit-restore-window.
328 Use same arglist as old quit-window.
329 (frame-auto-delete): Doc fix.
330
331 * view.el (view-mode-exit): Use quit-window.
332
3332011-08-24 Juri Linkov <juri@jurta.org>
334
335 * isearch.el (isearch-ring-adjust1): Start visiting previous
336 search strings from the index 0 (-1 + 1) instead of 1 (0 + 1).
337 (isearch-repeat, isearch-edit-string): Call `isearch-ring-adjust1'
338 for empty search string (when the last search string is reused
339 automatically) to adjust the isearch ring to the last element and
340 prepare the correct index for further M-p commands (bug#9185).
341
3422011-08-24 Kenichi Handa <handa@m17n.org>
343
344 * international/ucs-normalize.el: If decomposition property of
345 CHAR is the default one (i.e. a list of CHAR itself), treat it as
346 nil.
347 (nfd, nfkd): Likewise.
348
3492011-08-24 Stefan Monnier <monnier@iro.umontreal.ca>
350
351 * mpc.el (mpc--proc-filter): Don't signal mpc-proc-error since signals
352 from process filters aren't reliably transmitted to the surrounding
353 accept-process-output.
354 (mpc-proc-check): New function.
355 (mpc-proc-sync): Use it (bug#8293)
356
3572011-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
358
359 * emacs-lisp/eieio.el (eieio-defmethod, eieio-defgeneric):
360 Add compatibility functions (bug#9313).
361
3622011-08-23 Eli Zaretskii <eliz@gnu.org>
363
364 * cus-start.el (all): Add entry for bidi-paragraph-direction.
365
366 * international/uni-bidi.el: Regenerated.
367
3682011-08-23 Kenichi Handa <handa@m17n.org>
369
370 * international/charprop.el:
371 * international/uni-bidi.el:
372 * international/uni-category.el:
373 * international/uni-combining.el:
374 * international/uni-comment.el:
375 * international/uni-decimal.el:
376 * international/uni-decomposition.el:
377 * international/uni-digit.el:
378 * international/uni-lowercase.el:
379 * international/uni-mirrored.el:
380 * international/uni-name.el:
381 * international/uni-numeric.el:
382 * international/uni-old-name.el:
383 * international/uni-titlecase.el:
384 * international/uni-uppercase.el: Regenerate.
385
3862011-08-23 Martin Rudalics <rudalics@gmx.at>
387
388 * help.el (help-window-setup): Fix message displayed when other
389 window is reused. (Bug#9341)
390
3912011-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
392
393 * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list.
394 * pcomplete.el (pcomplete-quote-argument): Fix thinko (bug#9161).
395
396 * pcomplete.el (pcomplete-parse-comint-arguments): Fix inf-loop.
397 Mark obsolete.
398 * shell.el (shell-parse-pcomplete-arguments): New function.
399 (shell-completion-vars): Use it instead (bug#9160).
400
4012011-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
402
403 * progmodes/sh-script.el (sh-maybe-here-document): Disable magic in
404 strings and comments (bug#9333).
405
406 * emacs-lisp/debug.el (debug-arglist): New function.
407 (debug-convert-byte-code): Use it. Handle lexical byte-codes.
408 (debug-on-entry-1): Handle interpreted closures (bug#9120).
409
4102011-08-22 Juri Linkov <juri@jurta.org>
411
412 * progmodes/compile.el (compilation-mode-font-lock-keywords):
413 Revert regexp that highlights output switches to its old
414 pre-2010-10-28 value and remove one `?' from it (bug#9319).
415
416 * progmodes/grep.el (grep-process-setup): Use `buffer-modified-p'
417 to check for empty output (bug#9226).
418
4192011-08-22 Chong Yidong <cyd@stupidchicken.com>
420
421 * progmodes/scheme.el (scheme-mode-syntax-table): Don't use
422 symbol-constituent as the default, as that stops font-lock from
423 working properly (Bug#8843).
424
4252011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
426
427 * mail/smtpmail.el (smtpmail-via-smtp): Only bind
428 `coding-system-for-*' around the process open call to avoid
429 auth-source side effects.
430 (smtpmail-try-auth-methods): Expand the secret password.
431 (smtpmail-query-smtp-server): Allow `quit'-ing out in case the
432 probe hangs.
433
4342011-08-21 Chong Yidong <cyd@stupidchicken.com>
435
436 * term.el (term-mouse-paste): Yank primary selection (Bug#6845).
437
438 * emacs-lisp/find-func.el (find-function-noselect): New arg
439 lisp-only.
440
441 * emacs-lisp/edebug.el (edebug-instrument-function): Use it to
442 signal an error for built-in functions (Bug#6664).
443
4442011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
445
446 * mail/smtpmail.el (smtpmail-smtp-user): New variable.
447 (smtpmail-try-auth-methods): Use it.
448
4492011-08-21 Chong Yidong <cyd@stupidchicken.com>
450
451 * font-lock.el (font-lock-fontify-region)
452 (font-lock-unfontify-region, font-lock-default-fontify-buffer)
453 (font-lock-default-unfontify-buffer)
454 (font-lock-default-fontify-region)
455 (font-lock-default-unfontify-region): Add docstrings (Bug#8624).
456
457 * progmodes/compile.el (compilation-error-properties):
458 Fix confusion between file struct and message struct (Bug#9319).
459 (compilation-error-regexp-alist-alist): Fix 2011-05-09 change to
460 `ant' regexp.
461
462 * net/browse-url.el (browse-url-firefox): Don't call
463 browse-url-firefox-sentinel unless using -remote (Bug#9328).
464
4652011-08-20 Glenn Morris <rgm@gnu.org>
466
467 * tutorial.el (help-with-tutorial): Avoid an error on short screens.
468
469 * tutorial.el (tutorial--default-keys): Update some default bindings.
470
471 * files.el (hack-local-variables): Fully ignore case for "mode:".
472
4732011-08-20 Alan Mackenzie <acm@muc.de>
474
475 Resolve invalid use of a regexp in regexp-opt.
476
477 * cc-fonts.el (c-complex-decl-matchers): Add in special detection
478 for a java annotation.
479
480 * cc-engine.el (c-forward-decl-or-cast-1): Add in special
481 detection for a java annotation.
482
483 * cc-langs.el (c-prefix-spec-kwds-re): Remove the special handling
484 for java.
485 (c-modifier-kwds): Remove the regexp "@[A-za-z0-9]+".
486
4872011-08-20 Chong Yidong <cyd@stupidchicken.com>
488
489 * startup.el (normal-top-level-add-subdirs-to-load-path): Doc fix
490 (Bug#9274).
491
4922011-08-20 Alan Mackenzie <acm@muc.de>
493
494 * Fontify CPP expressions correctly when starting in the middle of
495 such a construct. Mainly for when jit-lock etc. starts a chunk
496 here.
497
498 * progmodes/cc-fonts.el (c-font-lock-context): new buffer local
499 variable.
500 (c-make-font-lock-search-form): new function, extracted from
501 c-make-font-lock-search-function.
502 (c-make-font-lock-search-function): Use the above function.
503 (c-make-font-lock-context-search-function): New function.
504 (c-cpp-matchers): Enhance the preprocessor expression case with
505 the above function
506 (c-font-lock-complex-decl-prepare): Test for being in a CPP form
507 which takes an expression.
508
509 * progmodes/cc-langs.el (c-cpp-expr-intro-re): New lang-variable.
510
5112011-08-20 Martin Rudalics <rudalics@gmx.at>
512
513 * window.el (display-buffer-reuse-window)
514 (display-buffer-pop-up-window): Don't reuse or split a side
515 window.
516
5172011-08-19 Glenn Morris <rgm@gnu.org>
518
519 * files.el (hack-local-variables-prop-line, hack-local-variables):
520 Downcase "Mode:". (Bug#9331)
521
5222011-08-18 Chong Yidong <cyd@stupidchicken.com>
523
524 * international/characters.el: Add L and R categories.
525
526 * subr.el (bidi-string-mark-left-to-right): Rename from
527 string-mark-left-to-right. Use category search.
528
529 * buff-menu.el (Buffer-menu-buffer+size): Callers changed.
530
5312011-08-18 Juri Linkov <juri@jurta.org>
532
533 * faces.el (error, warning, success): New faces with definitions
534 copied from old default values of `font-lock-warning-face',
535 `compilation-warning', `compilation-info' (bug#6117).
536
537 * font-lock.el (font-lock-warning-face): Inherit from `error'.
538
539 * progmodes/compile.el (compilation-error): Inherit from `error'.
540 (compilation-warning): Inherit from `warning'.
541 (compilation-info): Inherit from `success'.
542
543 * dired.el (dired-marked): Inherit from `warning'.
544 (dired-flagged): Inherit from `error'.
545
5462011-08-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
547
548 * mail/smtpmail.el (auth-source): Require to avoid problems with
549 binding variables (bug#9298). Also clean up some unused
550 autoloads.
551
552 * net/network-stream.el (network-stream-open-starttls):
553 Support using starttls.el without using gnutls-cli.
554
5552011-08-17 Juri Linkov <juri@jurta.org>
556
557 * progmodes/grep.el (rgrep): Handle the case when
558 `grep-find-command' is a cons cell (bug#9278).
559
5602011-08-17 Martin Rudalics <rudalics@gmx.at>
561
562 * window.el (display-buffer-pop-up-frame): Run frame creation
563 function with BUFFER current (as special-display-popup-frame
564 does). Reported by Drew Adams.
565
5662011-08-17 Daiki Ueno <ueno@unixuser.org>
567
568 * epa-mail.el: Simplify GnuPG group expansion using
569 epg-expand-group.
570 (epa-mail-group-alist, epa-mail-group-modtime)
571 (epa-mail-gnupg-conf-file, epa-mail-parse-groups)
572 (epa-mail-sync-groups, epa-mail-expand-recipient-1)
573 (epa-mail-expand-recipients-2, epa-mail-expand-recipients):
574 Remove.
575
5762011-08-16 Feng Li <fengli@gmail.com> (tiny change)
577
578 * calc/calc-ext.el (math-defintegral-2): Remove nested backquote.
579
5802011-08-16 Alan Mackenzie <acm@muc.de>
581
582 * progmodes/cc-engine.el (c-state-cache-non-literal-place):
583 Correct, to avoid the inside of macros.
584
5852011-08-16 Richard Stallman <rms@gnu.org>
586
587 * epa-mail.el: Handle GnuPG group definitions.
588 (epa-mail-group-alist, epa-mail-group-modtime)
589 (epa-mail-gnupg-conf-file): New variables.
590 (epa-mail-parse-groups, epa-mail-sync-groups)
591 (epa-mail-expand-recipient-1, epa-mail-expand-recipients-2)
592 (epa-mail-expand-recipients): New functions.
593 (epa-mail-encrypt): Call epa-mail-expand-recipients.
594
595 * mail/rmail.el (rmail-epa-decrypt): New command.
596
597 * epa.el (epa-decrypt-region): New arg MAKE-BUFFER-FUNCTION.
598 Don't bind buffer-read-only, just inhibit-read-only.
599 (epa--find-coding-system-for-mime-charset): Fix the non-xemacs case.
600 (epa-decrypt-armor-in-region): Make error message clearer.
601
6022011-08-15 Stefan Monnier <monnier@iro.umontreal.ca>
603
604 * minibuffer.el (completion-pcm--merge-completions): Don't merge "a1b"
605 and "a2b" to "ab" for `prefix'.
606
6072011-08-14 Chong Yidong <cyd@stupidchicken.com>
608
609 * ibuf-ext.el (ibuffer-filter-disable): New arg for deleting
610 filter groups.
611 (ibuffer-included-in-filter-p-1): Use it. Suggested by Rafaël
612 Fourquet (Bug#8804).
613
6142011-08-12 Juanma Barranquero <lekktu@gmail.com>
615
616 * startup.el (argi): Declare as global variable (bug#9275).
617
6182011-08-12 Chong Yidong <cyd@stupidchicken.com>
619
620 * subr.el (string-mark-left-to-right): Search the entire string
621 for RTL script, not just the terminating character. Doc fix.
622
6232011-08-12 Stefan Monnier <monnier@iro.umontreal.ca>
624
625 * progmodes/js.el (js-syntax-propertize, js-syntax-propertize-regexp):
626 New function.
627 (js--regexp-literal, js-syntax-propertize-function): Remove.
628 (js-mode): Use js-syntax-propertize to handle multilines (bug#9183).
629 (js-mode-map): Don't rebind electric keys.
630 (js-insert-and-indent): Remove.
631 (js-mode): Setup electric-layout and electric-indent instead.
632
633 * epa-file.el (epa-file-select-keys): Revert to nil default (bug#9280).
634
6352011-08-12 Daiki Ueno <ueno@unixuser.org>
636
637 * epa.el (epa-progress-callback-function): Fix the logic of
638 displaying progress.
639 * epa-file.el (epa-file-insert-file-contents): Make progress
640 display more user-friendly.
641 (epa-file-write-region): Ditto.
642
6432011-08-10 Chong Yidong <cyd@stupidchicken.com>
644
645 * subr.el (string-mark-left-to-right): New function.
646
647 * buff-menu.el (Buffer-menu-buffer+size): Remove LRM argument.
648 Use string-mark-left-to-right.
649 (list-buffers-noselect): Caller changed.
650
651 * emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
652 Use string-mark-left-to-right.
653 (tabulated-list-print): Recenter after moving point.
654
6552011-08-10 Juri Linkov <juri@jurta.org>
656
657 * progmodes/grep.el (rgrep): Don't bind `process-connection-type'.
658 This finishes incomplete reversion of 2011-06-30T01:09:13Z!larsi@gnus.org
659 intended by 2011-07-06T15:49:19Z!larsi@gnus.org.
660
6612011-08-09 Chong Yidong <cyd@stupidchicken.com>
662
663 * hi-lock.el (hi-lock-unface-buffer): Fix interactive spec
664 (Bug#7554).
665
6662011-08-09 Andreas Schwab <schwab@linux-m68k.org>
667
668 * xt-mouse.el (xterm-mouse-event-read): Try to recover the raw
669 character. (Bug#6594)
670
6712011-08-08 Chong Yidong <cyd@stupidchicken.com>
672
673 * image-dired.el: Don't use find-file for temporary work (Bug#7895).
674 (image-dired--with-db-file): New macro.
675 (image-dired-write-tags, image-dired-remove-tag)
676 (image-dired-create-gallery-lists, image-dired-write-comments)
677 (image-dired-get-comment, image-dired-mark-tagged-files)
678 (image-dired-list-tags, image-dired-gallery-generate): Use it.
679 (image-dired-gallery-generate): Use insert-file-contents.
680
681 * time.el (display-time-world-list, display-time-world-display):
682 * time-stamp.el (time-stamp-string):
683 * vc/add-log.el (add-change-log-entry): Use setenv instead of
684 set-time-zone-rule (Bug#7337).
685
6862011-08-08 Daiki Ueno <ueno@unixuser.org>
687
688 * epg.el (epg--status-KEYEXPIRED, epg--status-KEYREVOKED): Fix typo.
689 (epg-error-to-string, epg-errors-to-string): New function.
690 (epg-wait-for-completion): Reverse errors list.
691 (epg--check-error-for-decrypt, epg-sign-file, epg-sign-string)
692 (epg-encrypt-file, epg-encrypt-string, epg-export-keys-to-file)
693 (epg--import-keys-1, epg-receive-keys, epg-delete-keys)
694 (epg-sign-keys, epg-generate-key-from-file)
695 (epg-generate-key-from-string): Format errors by using
696 epg-errors-to-string (bug#9255).
697 (epg--status-INV_SGNR, epg--status-NO_SGNR): New status handler.
698
6992011-08-07 Juri Linkov <juri@jurta.org>
700
701 * faces.el (list-faces-display): Remove extra angle bracket
702 from `help-mode-map'.
703
704 * info.el (Info-history-toc-nodes): Doc fix.
705
706 * longlines.el (longlines-mode): Doc fix.
707
7082011-08-05 Stefan Monnier <monnier@iro.umontreal.ca>
709
710 * progmodes/js.el (js--regexp-literal): Accept regexps at the beginning
711 of statements and in a few more cases (bug#9183).
712
713 * emacs-lisp/cl-macs.el (cl--make-usage-var, cl--make-usage-args):
714 New functions.
715 (cl-transform-lambda): Use them (bug#9239).
716
7172011-08-05 Martin Rudalics <rudalics@gmx.at>
718
719 * window.el (display-buffer-same-window)
720 (display-buffer-same-frame, display-buffer-other-window)
721 (pop-to-buffer-same-window, pop-to-buffer-same-frame)
722 (pop-to-buffer-other-window)
723 (pop-to-buffer-same-frame-other-window)
724 (pop-to-buffer-other-frame): Make them defuns.
725 (switch-to-buffer): Don't set LABEL argument of pop-to-buffer.
726
7272011-08-03 Stefan Monnier <monnier@iro.umontreal.ca>
728
729 * subr.el (make-composed-keymap): Move from C. Change calling
730 convention, and improve docstring to bring attention to a subtle point.
731 * minibuffer.el (completing-read-default): Adjust accordingly.
732
7332011-08-03 Michael Albinus <michael.albinus@gmx.de>
734
735 * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell)
736 (tramp-open-shell): Use `tramp-shell-quote-argument'.
737
738 * net/trampver.el: Update release number.
739
7402011-08-03 Stefan Monnier <monnier@iro.umontreal.ca>
741
742 * progmodes/sh-script.el (sh-font-lock-paren): Don't mistake "main" for
743 "in" (bug#9190).
744
7452011-08-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
746
747 * mail/sendmail.el (sendmail-query-once): Restore the current
748 buffer after querying (bug#9074).
749
750 * dired.el (dired-flagged): Use different faces for marked and
751 flagged files (bug#6117).
752
753 * emacs-lisp/cl-macs.el (dolist): Mention that there's a nil block
754 (bug#4433).
755
756 * ido.el (ido-mode): Switch off the message if called
757 non-interactively.
758
759 * mail/smtpmail.el (smtpmail-query-smtp-server): Try port 25
760 before 587, since it appears that that's more likely to work for
761 more people.
762
763 * cus-edit.el (custom-file): When running under emacs -q, always
764 refuse to save the customisations, even if the .emacs file doesn't
765 exist.
766
767 * info.el: Remove the `Info-beginning-of-buffer' function
768 (bug#8325).
769
770 * net/network-stream.el (network-stream-open-starttls):
771 Use `starttls-available-p' to see whether starttls.el can be used.
772
7732011-08-01 Martin Rudalics <rudalics@gmx.at>
774
775 * window.el (display-buffer-in-window): Don't set dedicated status
776 of window here (Bug#9215).
777 (display-buffer-pop-up-window, display-buffer-pop-up-frame)
778 (display-buffer-pop-up-side-window)
779 (display-buffer-in-side-window): Set dedicated status of window here.
780
7812011-08-01 Stefan Monnier <monnier@iro.umontreal.ca>
782
783 * emacs-lisp/package.el (package-generate-autoloads): Load autoloads
784 before binding generated-autoload-file.
785
7862011-08-01 Deniz Dogan <deniz@dogan.se>
787
788 * net/rcirc.el (rcirc-handler-333): Clarify docstring.
789
7902011-07-30 Michael Albinus <michael.albinus@gmx.de>
791
792 Sync with Tramp 2.2.2.
793
794 * net/trampver.el: Update release number.
795
7962011-07-30 Juri Linkov <juri@jurta.org>
797
798 * dired-aux.el (dired-touch-initial): Remove function.
799 (dired-do-chxxx): For op-symbol `touch', set `initial' to the
800 current time, and `default' to the last modification time of the
801 current marked file (bug#6887).
802
12011-07-28 Jose E. Marchesi <jemarch@gnu.org> 8032011-07-28 Jose E. Marchesi <jemarch@gnu.org>
2 804
3 * simple.el (goto-line): Use string-to-number to provide a 805 * simple.el (goto-line): Use string-to-number to provide a
4 numeric argument to read-number. 806 numeric argument to read-number (bug#9163).
5 807
62011-07-27 Michael Albinus <michael.albinus@gmx.de> 8082011-07-27 Michael Albinus <michael.albinus@gmx.de>
7 809
@@ -28,8 +830,8 @@
28 QT keyword "more" to prevent "more slots: ...." being spuriously 830 QT keyword "more" to prevent "more slots: ...." being spuriously
29 parsed as a bitfield declaraion. 831 parsed as a bitfield declaraion.
30 832
31 * progmodes/cc-engine.el (c-beginning-of-statement-1): Refactor 833 * progmodes/cc-engine.el (c-beginning-of-statement-1):
32 and enhance to handle bitfield declarations. 834 Refactor and enhance to handle bitfield declarations.
33 (c-punctuation-in): New function. 835 (c-punctuation-in): New function.
34 (c-forward-decl-or-cast-1): Enhance CASE 3 to handle bitfield 836 (c-forward-decl-or-cast-1): Enhance CASE 3 to handle bitfield
35 declarations properly. 837 declarations properly.
@@ -38,7 +840,7 @@
38 840
39 * calendar/icalendar.el (icalendar--all-events): Take care of 841 * calendar/icalendar.el (icalendar--all-events): Take care of
40 multiple vcalendars in a single file. 842 multiple vcalendars in a single file.
41 (icalendar--convert-float-to-ical): checkdoc fixes. 843 (icalendar--convert-float-to-ical): Checkdoc fixes.
42 844
432011-07-25 Deniz Dogan <deniz@dogan.se> 8452011-07-25 Deniz Dogan <deniz@dogan.se>
44 846
@@ -72,8 +874,7 @@
72 (display-buffer-pop-up-side-window) 874 (display-buffer-pop-up-side-window)
73 (display-buffer-in-side-window): Call display-buffer-set-height 875 (display-buffer-in-side-window): Call display-buffer-set-height
74 and display-buffer-set-width after setting the new window's 876 and display-buffer-set-width after setting the new window's
75 buffer so `fit-window-to-buffer' and friends work on the right 877 buffer so `fit-window-to-buffer' and friends work on the right buffer.
76 buffer.
77 878
782011-07-20 Sam Steingold <sds@gnu.org> 8792011-07-20 Sam Steingold <sds@gnu.org>
79 880
@@ -105,8 +906,8 @@
1052011-07-19 Martin Rudalics <rudalics@gmx.at> 9062011-07-19 Martin Rudalics <rudalics@gmx.at>
106 907
107 * window.el (display-buffer-alist-of-strings-p) 908 * window.el (display-buffer-alist-of-strings-p)
108 (display-buffer-alist-set-1, display-buffer-alist-set-2): New 909 (display-buffer-alist-set-1, display-buffer-alist-set-2):
109 functions. 910 New functions.
110 (display-buffer-alist-set): Rewrite to handle Emacs 23 options 911 (display-buffer-alist-set): Rewrite to handle Emacs 23 options
111 more accurately. 912 more accurately.
112 913
@@ -117,8 +918,8 @@
117 918
118 * progmodes/cc-langs.el (c-symbol-chars): Correct a typo. 919 * progmodes/cc-langs.el (c-symbol-chars): Correct a typo.
119 920
120 * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): New 921 * progmodes/cc-fonts.el (c-font-lock-enclosing-decls):
121 function. 922 New function.
122 (c-complex-decl-matchers): Insert reference to 923 (c-complex-decl-matchers): Insert reference to
123 c-font-lock-enclosing-decls. 924 c-font-lock-enclosing-decls.
124 925
@@ -137,7 +938,7 @@
137 938
1382011-07-16 Lars Magne Ingebrigtsen <larsi@gnus.org> 9392011-07-16 Lars Magne Ingebrigtsen <larsi@gnus.org>
139 940
140 * net/gnutls.el (gnutls-log-level): Removed. 941 * net/gnutls.el (gnutls-log-level): Remove.
141 942
142 * textmodes/fill.el (adaptive-fill-regexp): Include EN DASH as an 943 * textmodes/fill.el (adaptive-fill-regexp): Include EN DASH as an
143 indentation character (bug#6380). 944 indentation character (bug#6380).
@@ -159,11 +960,10 @@
159 960
1602011-07-16 Martin Rudalics <rudalics@gmx.at> 9612011-07-16 Martin Rudalics <rudalics@gmx.at>
161 962
162 * frame.el (select-frame-set-input-focus): New argument 963 * frame.el (select-frame-set-input-focus): New argument NORECORD.
163 NORECORD.
164 * window.el (pop-to-buffer): Select window used even if it was 964 * window.el (pop-to-buffer): Select window used even if it was
165 selected before, see discussion of (Bug#8615), (Bug#6954). Pass 965 selected before, see discussion of (Bug#8615), (Bug#6954).
166 argument NORECORD on to select-frame-set-input-focus. 966 Pass argument NORECORD on to select-frame-set-input-focus.
167 967
1682011-07-15 Glenn Morris <rgm@gnu.org> 9682011-07-15 Glenn Morris <rgm@gnu.org>
169 969
@@ -177,8 +977,8 @@
177 977
1782011-07-15 Lars Magne Ingebrigtsen <larsi@gnus.org> 9782011-07-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
179 979
180 * net/gnutls.el (gnutls-negotiate): Upcase 980 * net/gnutls.el (gnutls-negotiate):
181 `gnutls-algorithm-priority'. 981 Upcase `gnutls-algorithm-priority'.
182 982
1832011-07-15 Glenn Morris <rgm@gnu.org> 9832011-07-15 Glenn Morris <rgm@gnu.org>
184 984
@@ -253,15 +1053,12 @@
253 (string-rectangle): Go to the point after the last operation 1053 (string-rectangle): Go to the point after the last operation
254 (bug#7522). 1054 (bug#7522).
255 1055
256 * simple.el (current-kill): Clarify what
257 `interprogram-paste-function' does (bug#7500).
258
259 * printing.el (pr-toggle-region): Clarify the documentation 1056 * printing.el (pr-toggle-region): Clarify the documentation
260 slightly (bug#7493). 1057 slightly (bug#7493).
261 1058
262 * time.el (display-time-update): Allow 1059 * time.el (display-time-update):
263 `display-time-mail-function' to return nil (bug#7158). Fix 1060 Allow `display-time-mail-function' to return nil (bug#7158).
264 suggested by Detlev Zundel. 1061 Fix suggested by Detlev Zundel.
265 1062
266 * vc/diff.el (diff): Clarify the order the file names are read 1063 * vc/diff.el (diff): Clarify the order the file names are read
267 (bug#7111). 1064 (bug#7111).
@@ -277,8 +1074,8 @@
277 1074
2782011-07-14 Martin Rudalics <rudalics@gmx.at> 10752011-07-14 Martin Rudalics <rudalics@gmx.at>
279 1076
280 * window.el (display-buffer-normalize-special): Replace 1077 * window.el (display-buffer-normalize-special):
281 `dedicated' by `dedicate' to dedicate window (Bug#9072). 1078 Replace `dedicated' by `dedicate' to dedicate window (Bug#9072).
282 1079
2832011-07-14 Eli Zaretskii <eliz@gnu.org> 10802011-07-14 Eli Zaretskii <eliz@gnu.org>
284 1081
@@ -299,7 +1096,7 @@
299 switch-to-buffer. 1096 switch-to-buffer.
300 1097
301 * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window): 1098 * net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window):
302 Deleted. 1099 Delete.
303 1100
3042011-07-14 Juanma Barranquero <lekktu@gmail.com> 11012011-07-14 Juanma Barranquero <lekktu@gmail.com>
305 1102
@@ -317,8 +1114,8 @@
317 1114
3182011-07-13 Chong Yidong <cyd@stupidchicken.com> 11152011-07-13 Chong Yidong <cyd@stupidchicken.com>
319 1116
320 * window.el (switch-to-buffer): New arg FORCE-SAME-WINDOW. Use 1117 * window.el (switch-to-buffer): New arg FORCE-SAME-WINDOW.
321 pop-to-buffer buffer-or-name if it is nil. 1118 Use pop-to-buffer buffer-or-name if it is nil.
322 1119
323 * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions): 1120 * emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
324 Remove switch-to-buffer. 1121 Remove switch-to-buffer.
@@ -343,8 +1140,8 @@
343 1140
3442011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org> 11412011-07-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
345 1142
346 * progmodes/cperl-mode.el (cperl-syntaxify-by-font-lock): Rewrite 1143 * progmodes/cperl-mode.el (cperl-syntaxify-by-font-lock):
347 to avoid awkward possessive "s" (bug#5986). 1144 Rewrite to avoid awkward possessive "s" (bug#5986).
348 1145
3492011-07-13 Glenn Morris <rgm@gnu.org> 11462011-07-13 Glenn Morris <rgm@gnu.org>
350 1147
@@ -438,15 +1235,15 @@
438 1235
4392011-07-12 Roland Winkler <winkler@gnu.org> 12362011-07-12 Roland Winkler <winkler@gnu.org>
440 1237
441 * textmodes/bibtex.el (bibtex-initialize): Use 1238 * textmodes/bibtex.el (bibtex-initialize):
442 pop-to-buffer-same-window. 1239 Use pop-to-buffer-same-window.
443 (bibtex-search-entries): Fix interactive call. 1240 (bibtex-search-entries): Fix interactive call.
444 1241
4452011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org> 12422011-07-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
446 1243
447 * progmodes/compile.el (compilation-error-regexp-alist-alist): 1244 * progmodes/compile.el (compilation-error-regexp-alist-alist):
448 Fontise bytecomp Error lines more correctly (bug#2490). Fix 1245 Fontise bytecomp Error lines more correctly (bug#2490).
449 suggested by Johan Bockgård. 1246 Fix suggested by Johan Bockgård.
450 1247
451 * subr.el (remove-duplicates): Remove; `delete-dups' is sufficient. 1248 * subr.el (remove-duplicates): Remove; `delete-dups' is sufficient.
452 1249
@@ -459,8 +1256,8 @@
459 1256
4602011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org> 12572011-07-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
461 1258
462 * mail/sendmail.el (sendmail-query-once): Use 1259 * mail/sendmail.el (sendmail-query-once):
463 `customize-save-variable' unconditionally, now that it works under 1260 Use `customize-save-variable' unconditionally, now that it works under
464 emacs -Q. 1261 emacs -Q.
465 1262
466 * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto. 1263 * mail/smtpmail.el (smtpmail-query-smtp-server): Ditto.
@@ -525,16 +1322,15 @@
525 1322
5262011-07-09 Bob Nnamtrop <bobnnamtrop@gmail.com> (tiny change) 13232011-07-09 Bob Nnamtrop <bobnnamtrop@gmail.com> (tiny change)
527 1324
528 * emulation/viper-cmd.el (viper-change-state-to-vi): Limit 1325 * emulation/viper-cmd.el (viper-change-state-to-vi):
529 triggering of abbrev expansion (Bug#9038). 1326 Limit triggering of abbrev expansion (Bug#9038).
530 1327
5312011-07-09 Martin Rudalics <rudalics@gmx.at> 13282011-07-09 Martin Rudalics <rudalics@gmx.at>
532 1329
533 * window.el (display-buffer-default-specifiers): Remove. 1330 * window.el (display-buffer-default-specifiers): Remove.
534 (display-buffer-macro-specifiers): Remove default specifiers. 1331 (display-buffer-macro-specifiers): Remove default specifiers.
535 (display-buffer-alist): Default to nil. 1332 (display-buffer-alist): Default to nil.
536 (display-buffer-reuse-window): New optional argument 1333 (display-buffer-reuse-window): New optional argument other-window.
537 other-window.
538 (display-buffer-pop-up-window): Allow splitting internal 1334 (display-buffer-pop-up-window): Allow splitting internal
539 windows. Check whether a live window was created. 1335 windows. Check whether a live window was created.
540 (display-buffer-other-window-means-other-frame) 1336 (display-buffer-other-window-means-other-frame)
@@ -549,11 +1345,10 @@
549 (display-buffer): Process other-window specifier and call 1345 (display-buffer): Process other-window specifier and call
550 display-buffer-reuse-window with it. Emulate Emacs 23 behavior 1346 display-buffer-reuse-window with it. Emulate Emacs 23 behavior
551 more faithfully. 1347 more faithfully.
552 (pop-up-windows, even-window-heights): Restore Emacs 23 default 1348 (pop-up-windows, even-window-heights): Restore Emacs 23 default values.
553 values.
554 (display-buffer-alist-set): Don't handle 'unset default values. 1349 (display-buffer-alist-set): Don't handle 'unset default values.
555 (display-buffer-in-window, display-buffer-alist-set): Replace 1350 (display-buffer-in-window, display-buffer-alist-set):
556 symbol "dedicated" by "dedicate". Reported by Tassilo Horn 1351 Replace symbol "dedicated" by "dedicate". Reported by Tassilo Horn
557 <tassilo@member.fsf.org>. 1352 <tassilo@member.fsf.org>.
558 1353
5592011-07-09 Leo Liu <sdl.web@gmail.com> 13542011-07-09 Leo Liu <sdl.web@gmail.com>
diff --git a/lisp/ChangeLog.15 b/lisp/ChangeLog.15
index 190be56dd09..2acf847cddc 100644
--- a/lisp/ChangeLog.15
+++ b/lisp/ChangeLog.15
@@ -3573,7 +3573,7 @@
3573 * locate.el (locate-default-make-command-line): Don't consider 3573 * locate.el (locate-default-make-command-line): Don't consider
3574 drive letter and root directory part of 3574 drive letter and root directory part of
3575 `directory-listing-before-filename-regexp'. (Bug#7308) 3575 `directory-listing-before-filename-regexp'. (Bug#7308)
3576 (locate-post-command-hook, locate-post-command-hook): New defcustoms. 3576 (locate-post-command-hook, locate-mode-hook): New defcustoms.
3577 3577
35782010-11-27 Stefan Monnier <monnier@iro.umontreal.ca> 35782010-11-27 Stefan Monnier <monnier@iro.umontreal.ca>
3579 3579
diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index 3795dd46010..5a7a741a3a6 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -159,7 +159,7 @@ where NAME and EXPANSION are strings with quotes,
159USECOUNT is an integer, and HOOK is any valid function 159USECOUNT is an integer, and HOOK is any valid function
160or may be omitted (it is usually omitted)." 160or may be omitted (it is usually omitted)."
161 (interactive) 161 (interactive)
162 (pop-to-buffer-same-window (prepare-abbrev-list-buffer))) 162 (switch-to-buffer (prepare-abbrev-list-buffer)))
163 163
164(defun edit-abbrevs-redefine () 164(defun edit-abbrevs-redefine ()
165 "Redefine abbrevs according to current buffer contents." 165 "Redefine abbrevs according to current buffer contents."
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index ea875b9989d..e3d1955ded5 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -1083,7 +1083,7 @@ using `make-temp-file', and the generated name is returned."
1083 (view-buffer buffer (and just-created 'kill-buffer-if-not-modified))) 1083 (view-buffer buffer (and just-created 'kill-buffer-if-not-modified)))
1084 ((eq other-window-p 'display) (display-buffer buffer)) 1084 ((eq other-window-p 'display) (display-buffer buffer))
1085 (other-window-p (switch-to-buffer-other-window buffer)) 1085 (other-window-p (switch-to-buffer-other-window buffer))
1086 (t (pop-to-buffer-same-window buffer)))))) 1086 (t (switch-to-buffer buffer))))))
1087 1087
1088(defun archive-*-extract (archive name command) 1088(defun archive-*-extract (archive name command)
1089 (let* ((default-directory (file-name-as-directory archive-tmpdir)) 1089 (let* ((default-directory (file-name-as-directory archive-tmpdir))
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index 3b849cece22..5793c3180be 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -360,7 +360,7 @@ Matches the visited file name against the elements of `auto-insert-alist'."
360 (save-window-excursion 360 (save-window-excursion
361 ;; make buffer visible before skeleton or function 361 ;; make buffer visible before skeleton or function
362 ;; which might ask the user for something 362 ;; which might ask the user for something
363 (pop-to-buffer-same-window (current-buffer)) 363 (switch-to-buffer (current-buffer))
364 (if (and (consp action) 364 (if (and (consp action)
365 (not (eq (car action) 'lambda))) 365 (not (eq (car action) 'lambda)))
366 (skeleton-insert action) 366 (skeleton-insert action)
diff --git a/lisp/battery.el b/lisp/battery.el
index d7d3045fa58..f5c01fbef58 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -173,13 +173,16 @@ seconds."
173 (setq battery-mode-line-string "") 173 (setq battery-mode-line-string "")
174 (or global-mode-string (setq global-mode-string '(""))) 174 (or global-mode-string (setq global-mode-string '("")))
175 (and battery-update-timer (cancel-timer battery-update-timer)) 175 (and battery-update-timer (cancel-timer battery-update-timer))
176 (if (not display-battery-mode) 176 (if (and battery-status-function battery-mode-line-format)
177 (setq global-mode-string 177 (if (not display-battery-mode)
178 (delq 'battery-mode-line-string global-mode-string)) 178 (setq global-mode-string
179 (add-to-list 'global-mode-string 'battery-mode-line-string t) 179 (delq 'battery-mode-line-string global-mode-string))
180 (setq battery-update-timer (run-at-time nil battery-update-interval 180 (add-to-list 'global-mode-string 'battery-mode-line-string t)
181 'battery-update-handler)) 181 (setq battery-update-timer (run-at-time nil battery-update-interval
182 (battery-update))) 182 'battery-update-handler))
183 (battery-update))
184 (message "Battery status not available")
185 (setq display-battery-mode nil)))
183 186
184(defun battery-update-handler () 187(defun battery-update-handler ()
185 (battery-update) 188 (battery-update)
@@ -199,7 +202,7 @@ seconds."
199 'face 202 'face
200 (and (<= (car (read-from-string (cdr (assq ?p data)))) 203 (and (<= (car (read-from-string (cdr (assq ?p data))))
201 battery-load-critical) 204 battery-load-critical)
202 'font-lock-warning-face) 205 'error)
203 'help-echo "Battery status information"))) 206 'help-echo "Battery status information")))
204 (force-mode-line-update)) 207 (force-mode-line-update))
205 208
diff --git a/lisp/bindings.el b/lisp/bindings.el
index c4f9369219a..57bfeb60f82 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -834,6 +834,7 @@ if `inhibit-field-text-motion' is non-nil."
834 (setq i (1+ i)))) 834 (setq i (1+ i))))
835(define-key global-map [?\C-\M--] 'negative-argument) 835(define-key global-map [?\C-\M--] 'negative-argument)
836 836
837;; Update tutorial--default-keys if you change these.
837(define-key global-map "\177" 'delete-backward-char) 838(define-key global-map "\177" 'delete-backward-char)
838(define-key global-map "\C-d" 'delete-char) 839(define-key global-map "\C-d" 'delete-char)
839 840
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index bb7ad153e8b..51e869e3a21 100644
--- a/lisp/bookmark.el
+++ b/lisp/bookmark.el
@@ -1539,7 +1539,7 @@ deletion, or > if it is flagged for displaying."
1539 (bookmark-maybe-load-default-file) 1539 (bookmark-maybe-load-default-file)
1540 (let ((buf (get-buffer-create "*Bookmark List*"))) 1540 (let ((buf (get-buffer-create "*Bookmark List*")))
1541 (if (called-interactively-p 'interactive) 1541 (if (called-interactively-p 'interactive)
1542 (pop-to-buffer-same-window buf) 1542 (switch-to-buffer buf)
1543 (set-buffer buf))) 1543 (set-buffer buf)))
1544 (let ((inhibit-read-only t)) 1544 (let ((inhibit-read-only t))
1545 (erase-buffer) 1545 (erase-buffer)
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index f0a44747378..2be74cf5efb 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -666,7 +666,7 @@ For more information, see the function `buffer-menu'."
666 ":" ;; (if (char-displayable-p ?…) "…" ":") 666 ":" ;; (if (char-displayable-p ?…) "…" ":")
667 ) 667 )
668 668
669(defun Buffer-menu-buffer+size (name size &optional name-props size-props lrm) 669(defun Buffer-menu-buffer+size (name size &optional name-props size-props)
670 (if (> (+ (string-width name) (string-width size) 2) 670 (if (> (+ (string-width name) (string-width size) 2)
671 Buffer-menu-buffer+size-width) 671 Buffer-menu-buffer+size-width)
672 (setq name 672 (setq name
@@ -681,17 +681,9 @@ For more information, see the function `buffer-menu'."
681 (string-width tail) 681 (string-width tail)
682 2)) 682 2))
683 Buffer-menu-short-ellipsis 683 Buffer-menu-short-ellipsis
684 tail 684 tail)))
685 ;; Append an invisible LRM character to the
686 ;; buffer's name to avoid ugly display with the
687 ;; buffer size to the left of the name, when the
688 ;; name begins with R2L character.
689 (if lrm (propertize (string ?\x200e) 'invisible t) ""))))
690 ;; Don't put properties on (buffer-name). 685 ;; Don't put properties on (buffer-name).
691 (setq name (concat (copy-sequence name) 686 (setq name (copy-sequence name)))
692 (if lrm
693 (propertize (string ?\x200e) 'invisible t)
694 ""))))
695 (add-text-properties 0 (length name) name-props name) 687 (add-text-properties 0 (length name) name-props name)
696 (add-text-properties 0 (length size) size-props size) 688 (add-text-properties 0 (length size) size-props size)
697 (let ((name+space-width (- Buffer-menu-buffer+size-width 689 (let ((name+space-width (- Buffer-menu-buffer+size-width
@@ -929,8 +921,7 @@ For more information, see the function `buffer-menu'."
929 (max (length size) 3) 921 (max (length size) 3)
930 2)) 922 2))
931 name 923 name
932 "mouse-2: select this buffer")) 924 "mouse-2: select this buffer"))))
933 nil t))
934 " " 925 " "
935 (if (> (string-width (nth 4 buffer)) Buffer-menu-mode-width) 926 (if (> (string-width (nth 4 buffer)) Buffer-menu-mode-width)
936 (truncate-string-to-width (nth 4 buffer) 927 (truncate-string-to-width (nth 4 buffer)
diff --git a/lisp/calc/calc-ext.el b/lisp/calc/calc-ext.el
index 6e05cdb07e5..8b816665d97 100644
--- a/lisp/calc/calc-ext.el
+++ b/lisp/calc/calc-ext.el
@@ -2887,7 +2887,7 @@ If X is not an error form, return 1."
2887 (cons 'progn 2887 (cons 'progn
2888 (mapcar #'(lambda (func) 2888 (mapcar #'(lambda (func)
2889 `(put ',func 'math-integral-2 2889 `(put ',func 'math-integral-2
2890 `(nconc 2890 (nconc
2891 (get ',func 'math-integral-2) 2891 (get ',func 'math-integral-2)
2892 (list #'(lambda (u v) ,@code))))) 2892 (list #'(lambda (u v) ,@code)))))
2893 (if (symbolp funcs) (list funcs) funcs)))) 2893 (if (symbolp funcs) (list funcs) funcs))))
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index 60d7690a3c8..093e592c475 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -1,3 +1,8 @@
12011-07-30 Chong Yidong <cyd@stupidchicken.com>
2
3 * semantic/grammar.el (semantic-grammar-insert-defanalyzers): Fix
4 require.
5
12011-07-04 Darren Hoo <darren.hoo@gmail.com> (tiny change) 62011-07-04 Darren Hoo <darren.hoo@gmail.com> (tiny change)
2 7
3 * semantic/db.el (semanticdb-file-table-object): Don't bug out on 8 * semantic/db.el (semanticdb-file-table-object): Don't bug out on
diff --git a/lisp/cedet/semantic/bovine/c-by.el b/lisp/cedet/semantic/bovine/c-by.el
index 8e1fe8d3617..31489a4f625 100644
--- a/lisp/cedet/semantic/bovine/c-by.el
+++ b/lisp/cedet/semantic/bovine/c-by.el
@@ -19,8 +19,7 @@
19 19
20;;; Commentary: 20;;; Commentary:
21;; 21;;
22;; This file was generated from the grammar file semantic/bovine/c.by 22;; This file was generated from etc/grammars/c.by.
23;; in the CEDET repository.
24 23
25;;; Code: 24;;; Code:
26 25
diff --git a/lisp/cedet/semantic/bovine/make-by.el b/lisp/cedet/semantic/bovine/make-by.el
index 3cc4e5b23a3..41da728d537 100644
--- a/lisp/cedet/semantic/bovine/make-by.el
+++ b/lisp/cedet/semantic/bovine/make-by.el
@@ -19,8 +19,7 @@
19 19
20;;; Commentary: 20;;; Commentary:
21;; 21;;
22;; This file was generated from the grammar file 22;; This file was generated from etc/grammars/make.by.
23;; semantic/bovine/make.by in the CEDET repository.
24 23
25;;; Code: 24;;; Code:
26 25
diff --git a/lisp/cedet/semantic/bovine/scm-by.el b/lisp/cedet/semantic/bovine/scm-by.el
index 87efe747a4c..8dd170384bc 100644
--- a/lisp/cedet/semantic/bovine/scm-by.el
+++ b/lisp/cedet/semantic/bovine/scm-by.el
@@ -19,8 +19,7 @@
19 19
20;;; Commentary: 20;;; Commentary:
21;; 21;;
22;; This file was generated from the grammar file 22;; This file was generated from etc/grammars/scm.by.
23;; semantic/bovine/scm.by in the CEDET repository.
24 23
25;;; Code: 24;;; Code:
26 25
diff --git a/lisp/cedet/semantic/grammar.el b/lisp/cedet/semantic/grammar.el
index 270668e2959..1d1184e534f 100644
--- a/lisp/cedet/semantic/grammar.el
+++ b/lisp/cedet/semantic/grammar.el
@@ -801,7 +801,7 @@ Block definitions are read from the current table of lexical types."
801 (with-current-buffer semantic--grammar-input-buffer 801 (with-current-buffer semantic--grammar-input-buffer
802 (setq tokens (semantic-grammar-tokens) 802 (setq tokens (semantic-grammar-tokens)
803 props (semantic-grammar-token-properties tokens))) 803 props (semantic-grammar-token-properties tokens)))
804 (insert "(require 'semantic-lex)\n\n") 804 (insert "(require 'semantic/lex)\n\n")
805 (let ((semantic-lex-types-obarray 805 (let ((semantic-lex-types-obarray
806 (semantic-lex-make-type-table tokens props)) 806 (semantic-lex-make-type-table tokens props))
807 semantic-grammar--lex-block-specs) 807 semantic-grammar--lex-block-specs)
diff --git a/lisp/cedet/semantic/wisent/javat-wy.el b/lisp/cedet/semantic/wisent/javat-wy.el
index adea4ef6932..38c19387440 100644
--- a/lisp/cedet/semantic/wisent/javat-wy.el
+++ b/lisp/cedet/semantic/wisent/javat-wy.el
@@ -19,8 +19,7 @@
19 19
20;;; Commentary: 20;;; Commentary:
21;; 21;;
22;; This file was generated from the grammar file 22;; This file was generated from etc/java-tags.wy.
23;; semantic/wisent/wisent-java-tags.wy in the CEDET repository.
24 23
25;;; Code: 24;;; Code:
26 25
diff --git a/lisp/cedet/semantic/wisent/js-wy.el b/lisp/cedet/semantic/wisent/js-wy.el
index e982caf4485..b523db8771b 100644
--- a/lisp/cedet/semantic/wisent/js-wy.el
+++ b/lisp/cedet/semantic/wisent/js-wy.el
@@ -1,6 +1,7 @@
1;;; semantic/wisent/js-wy.el --- Generated parser support file 1;;; semantic/wisent/js-wy.el --- Generated parser support file
2 2
3;; Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
4;; Copyright (C) Ecma International.
4 5
5;; This file is part of GNU Emacs. 6;; This file is part of GNU Emacs.
6 7
@@ -19,8 +20,7 @@
19 20
20;;; Commentary: 21;;; Commentary:
21;; 22;;
22;; This file was generated from the grammar file 23;; This file was generated from etc/grammars/javascript-jv.wy.
23;; semantic/wisent/wisent-javascript-jv.wy in the CEDET repository.
24 24
25;;; Code: 25;;; Code:
26(require 'semantic/lex) 26(require 'semantic/lex)
diff --git a/lisp/cedet/semantic/wisent/python-wy.el b/lisp/cedet/semantic/wisent/python-wy.el
index 3a69078b02c..36965757a14 100644
--- a/lisp/cedet/semantic/wisent/python-wy.el
+++ b/lisp/cedet/semantic/wisent/python-wy.el
@@ -1,6 +1,7 @@
1;;; semantic/wisent/python-wy.el --- Generated parser support file 1;;; semantic/wisent/python-wy.el --- Generated parser support file
2 2
3;; Copyright (C) 2002-2004, 2007, 2010-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2002-2004, 2007, 2010-2011 Free Software Foundation, Inc.
4;; Copyright (C) 2001-2010 Python Software Foundation
4 5
5;; This file is part of GNU Emacs. 6;; This file is part of GNU Emacs.
6 7
@@ -19,8 +20,7 @@
19 20
20;;; Commentary: 21;;; Commentary:
21;; 22;;
22;; This file was generated from the grammar file 23;; This file was generated from etc/grammars/python.wy.
23;; semantic/wisent/wisent-python.wy in the CEDET repository.
24 24
25;;; Code: 25;;; Code:
26 26
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index d443d6c160c..3e41a304f43 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -4409,25 +4409,14 @@ if only the first line of the docstring is shown."))
4409 4409
4410(defun custom-file (&optional no-error) 4410(defun custom-file (&optional no-error)
4411 "Return the file name for saving customizations." 4411 "Return the file name for saving customizations."
4412 (let ((file 4412 (if (null user-init-file)
4413 (or custom-file 4413 ;; Started with -q, i.e. the file containing Custom settings
4414 (let ((user-init-file user-init-file) 4414 ;; hasn't been read. Saving settings there won't make much
4415 (default-init-file 4415 ;; sense.
4416 (if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs"))) 4416 (if no-error
4417 (when (null user-init-file) 4417 nil
4418 (if (or (file-exists-p default-init-file) 4418 (error "Saving settings from \"emacs -q\" would overwrite existing customizations"))
4419 (and (eq system-type 'windows-nt) 4419 (file-chase-links (or custom-file user-init-file))))
4420 (file-exists-p "~/_emacs")))
4421 ;; Started with -q, i.e. the file containing
4422 ;; Custom settings hasn't been read. Saving
4423 ;; settings there would overwrite other settings.
4424 (if no-error
4425 nil
4426 (error "Saving settings from \"emacs -q\" would overwrite existing customizations"))
4427 (setq user-init-file default-init-file)))
4428 user-init-file))))
4429 (and file
4430 (file-chase-links file))))
4431 4420
4432;; If recentf-mode is non-nil, this is defined. 4421;; If recentf-mode is non-nil, this is defined.
4433(declare-function recentf-expand-file-name "recentf" (name)) 4422(declare-function recentf-expand-file-name "recentf" (name))
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index 389716b35b9..232c6c3808e 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -118,6 +118,13 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
118 :standard (not noninteractive) 118 :standard (not noninteractive)
119 :initialize custom-initialize-delay 119 :initialize custom-initialize-delay
120 :set custom-set-minor-mode) 120 :set custom-set-minor-mode)
121 (bidi-paragraph-direction
122 paragraphs
123 (choice
124 (const :tag "Left to Right" left-to-right)
125 (const :tag "Right to Left" right-to-left)
126 (const :tag "Dynamic, according to paragraph text" nil))
127 "24.1")
121 ;; callint.c 128 ;; callint.c
122 (mark-even-if-inactive editing-basics boolean) 129 (mark-even-if-inactive editing-basics boolean)
123 ;; callproc.c 130 ;; callproc.c
diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el
index 04a9e728b22..1f33c3e8256 100644
--- a/lisp/cus-theme.el
+++ b/lisp/cus-theme.el
@@ -521,7 +521,8 @@ It includes all faces in list FACES."
521 521
522(defvar custom-theme-choose-mode-map 522(defvar custom-theme-choose-mode-map
523 (let ((map (make-keymap))) 523 (let ((map (make-keymap)))
524 (set-keymap-parent map widget-keymap) 524 (set-keymap-parent map (make-composed-keymap widget-keymap
525 special-mode-map))
525 (suppress-keymap map) 526 (suppress-keymap map)
526 (define-key map "\C-x\C-s" 'custom-theme-save) 527 (define-key map "\C-x\C-s" 'custom-theme-save)
527 (define-key map "n" 'widget-forward) 528 (define-key map "n" 'widget-forward)
@@ -530,7 +531,7 @@ It includes all faces in list FACES."
530 map) 531 map)
531 "Keymap for `custom-theme-choose-mode'.") 532 "Keymap for `custom-theme-choose-mode'.")
532 533
533(define-derived-mode custom-theme-choose-mode nil "Themes" 534(define-derived-mode custom-theme-choose-mode special-mode "Themes"
534 "Major mode for selecting Custom themes. 535 "Major mode for selecting Custom themes.
535Do not call this mode function yourself. It is meant for internal use." 536Do not call this mode function yourself. It is meant for internal use."
536 (use-local-map custom-theme-choose-mode-map) 537 (use-local-map custom-theme-choose-mode-map)
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index 3103fbd5a7f..ec157fc4939 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -226,34 +226,28 @@ List has a form of (file-name full-file-name (attribute-list))."
226 (file-attributes full-file-name)))) 226 (file-attributes full-file-name))))
227 (directory-files dir))) 227 (directory-files dir)))
228 228
229 229;;; Change file attributes
230(defun dired-touch-initial (files)
231 "Create initial input value for `touch' command."
232 ;; Nobody can explain what this version is supposed to do. (Bug#6887)
233 ;; Also, the manual says it uses "the present time".
234 ;;; (let (initial)
235 ;;; (while files
236 ;;; (let ((current (nth 5 (file-attributes (car files)))))
237 ;;; (if (and initial (not (equal initial current)))
238 ;;; (setq initial (current-time) files nil)
239 ;;; (setq initial current))
240 ;;; (setq files (cdr files))))
241 ;;; (format-time-string "%Y%m%d%H%M.%S" initial)))
242 (format-time-string "%Y%m%d%H%M.%S" (current-time)))
243 230
244(defun dired-do-chxxx (attribute-name program op-symbol arg) 231(defun dired-do-chxxx (attribute-name program op-symbol arg)
245 ;; Change file attributes (mode, group, owner, timestamp) of marked files and 232 ;; Change file attributes (group, owner, timestamp) of marked files and
246 ;; refresh their file lines. 233 ;; refresh their file lines.
247 ;; ATTRIBUTE-NAME is a string describing the attribute to the user. 234 ;; ATTRIBUTE-NAME is a string describing the attribute to the user.
248 ;; PROGRAM is the program used to change the attribute. 235 ;; PROGRAM is the program used to change the attribute.
249 ;; OP-SYMBOL is the type of operation (for use in dired-mark-pop-up). 236 ;; OP-SYMBOL is the type of operation (for use in `dired-mark-pop-up').
250 ;; ARG describes which files to use, as in dired-get-marked-files. 237 ;; ARG describes which files to use, as in `dired-get-marked-files'.
251 (let* ((files (dired-get-marked-files t arg)) 238 (let* ((files (dired-get-marked-files t arg))
239 (initial
240 (if (eq op-symbol 'touch)
241 (format-time-string "%Y%m%d%H%M.%S")))
242 (default
243 (if (eq op-symbol 'touch)
244 (and (stringp (car files))
245 (format-time-string "%Y%m%d%H%M.%S"
246 (nth 5 (file-attributes (car files)))))))
252 (new-attribute 247 (new-attribute
253 (dired-mark-read-string 248 (dired-mark-read-string
254 (concat "Change " attribute-name " of %s to: ") 249 (concat "Change " attribute-name " of %s to: ")
255 (if (eq op-symbol 'touch) (dired-touch-initial files)) 250 initial op-symbol arg files default))
256 op-symbol arg files))
257 (operation (concat program " " new-attribute)) 251 (operation (concat program " " new-attribute))
258 failures) 252 failures)
259 (setq failures 253 (setq failures
diff --git a/lisp/dired.el b/lisp/dired.el
index 01d41bba27d..ecb626a275e 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -342,7 +342,7 @@ Subexpression 2 must end right before the \\n or \\r.")
342 "Face name used for dired marks.") 342 "Face name used for dired marks.")
343 343
344(defface dired-marked 344(defface dired-marked
345 '((t (:inherit font-lock-warning-face))) 345 '((t (:inherit warning)))
346 "Face used for marked files." 346 "Face used for marked files."
347 :group 'dired-faces 347 :group 'dired-faces
348 :version "22.1") 348 :version "22.1")
@@ -350,7 +350,7 @@ Subexpression 2 must end right before the \\n or \\r.")
350 "Face name used for marked files.") 350 "Face name used for marked files.")
351 351
352(defface dired-flagged 352(defface dired-flagged
353 '((t (:inherit font-lock-warning-face))) 353 '((t (:inherit error)))
354 "Face used for files flagged for deletion." 354 "Face used for files flagged for deletion."
355 :group 'dired-faces 355 :group 'dired-faces
356 :version "22.1") 356 :version "22.1")
@@ -3663,7 +3663,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
3663;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command 3663;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command
3664;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown 3664;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown
3665;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff 3665;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff
3666;;;;;; dired-diff) "dired-aux" "dired-aux.el" "ab62f310329f404f96a29e4f0ab8df73") 3666;;;;;; dired-diff) "dired-aux" "dired-aux.el" "bbb53a5b6bf56c413fe0f898559bef8d")
3667;;; Generated autoloads from dired-aux.el 3667;;; Generated autoloads from dired-aux.el
3668 3668
3669(autoload 'dired-diff "dired-aux" "\ 3669(autoload 'dired-diff "dired-aux" "\
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el
index 270211f6a78..d6512306ad1 100644
--- a/lisp/emacs-lisp/cl-loaddefs.el
+++ b/lisp/emacs-lisp/cl-loaddefs.el
@@ -282,7 +282,7 @@ Not documented
282;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist 282;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist
283;;;;;; do* do loop return-from return block etypecase typecase ecase 283;;;;;; do* do loop return-from return block etypecase typecase ecase
284;;;;;; case load-time-value eval-when destructuring-bind function* 284;;;;;; case load-time-value eval-when destructuring-bind function*
285;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "9452c0e16fd960fce5c19e5c067a7160") 285;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "cc8cbd8c86e2facbe61986e992e6c508")
286;;; Generated autoloads from cl-macs.el 286;;; Generated autoloads from cl-macs.el
287 287
288(autoload 'gensym "cl-macs" "\ 288(autoload 'gensym "cl-macs" "\
@@ -426,6 +426,7 @@ The Common Lisp `do*' loop.
426Loop over a list. 426Loop over a list.
427Evaluate BODY with VAR bound to each `car' from LIST, in turn. 427Evaluate BODY with VAR bound to each `car' from LIST, in turn.
428Then evaluate RESULT to get return value, default nil. 428Then evaluate RESULT to get return value, default nil.
429An implicit nil block is established around the loop.
429 430
430\(fn (VAR LIST [RESULT]) BODY...)" nil (quote macro)) 431\(fn (VAR LIST [RESULT]) BODY...)" nil (quote macro))
431 432
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index d6b4643d6a4..d9531cc5261 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -238,6 +238,37 @@ It is a list of elements of the form either:
238 238
239(declare-function help-add-fundoc-usage "help-fns" (docstring arglist)) 239(declare-function help-add-fundoc-usage "help-fns" (docstring arglist))
240 240
241(defun cl--make-usage-var (x)
242 "X can be a var or a (destructuring) lambda-list."
243 (cond
244 ((symbolp x) (make-symbol (upcase (symbol-name x))))
245 ((consp x) (cl--make-usage-args x))
246 (t x)))
247
248(defun cl--make-usage-args (arglist)
249 ;; `orig-args' can contain &cl-defs (an internal
250 ;; CL thingy I don't understand), so remove it.
251 (let ((x (memq '&cl-defs arglist)))
252 (when x (setq arglist (delq (car x) (remq (cadr x) arglist)))))
253 (let ((state nil))
254 (mapcar (lambda (x)
255 (cond
256 ((symbolp x)
257 (if (eq ?\& (aref (symbol-name x) 0))
258 (setq state x)
259 (make-symbol (upcase (symbol-name x)))))
260 ((not (consp x)) x)
261 ((memq state '(nil &rest)) (cl--make-usage-args x))
262 (t ;(VAR INITFORM SVAR) or ((KEYWORD VAR) INITFORM SVAR).
263 (list*
264 (if (and (consp (car x)) (eq state '&key))
265 (list (caar x) (cl--make-usage-var (nth 1 (car x))))
266 (cl--make-usage-var (car x)))
267 (nth 1 x) ;INITFORM.
268 (cl--make-usage-args (nthcdr 2 x)) ;SVAR.
269 ))))
270 arglist)))
271
241(defun cl-transform-lambda (form bind-block) 272(defun cl-transform-lambda (form bind-block)
242 (let* ((args (car form)) (body (cdr form)) (orig-args args) 273 (let* ((args (car form)) (body (cdr form)) (orig-args args)
243 (bind-defs nil) (bind-enquote nil) 274 (bind-defs nil) (bind-enquote nil)
@@ -282,11 +313,8 @@ It is a list of elements of the form either:
282 (require 'help-fns) 313 (require 'help-fns)
283 (cons (help-add-fundoc-usage 314 (cons (help-add-fundoc-usage
284 (if (stringp (car hdr)) (pop hdr)) 315 (if (stringp (car hdr)) (pop hdr))
285 ;; orig-args can contain &cl-defs (an internal 316 (format "(fn %S)"
286 ;; CL thingy I don't understand), so remove it. 317 (cl--make-usage-args orig-args)))
287 (let ((x (memq '&cl-defs orig-args)))
288 (if (null x) orig-args
289 (delq (car x) (remq (cadr x) orig-args)))))
290 hdr))) 318 hdr)))
291 (list (nconc (list 'let* bind-lets) 319 (list (nconc (list 'let* bind-lets)
292 (nreverse bind-forms) body))))))) 320 (nreverse bind-forms) body)))))))
@@ -1233,6 +1261,7 @@ Valid clauses are:
1233 "Loop over a list. 1261 "Loop over a list.
1234Evaluate BODY with VAR bound to each `car' from LIST, in turn. 1262Evaluate BODY with VAR bound to each `car' from LIST, in turn.
1235Then evaluate RESULT to get return value, default nil. 1263Then evaluate RESULT to get return value, default nil.
1264An implicit nil block is established around the loop.
1236 1265
1237\(fn (VAR LIST [RESULT]) BODY...)" 1266\(fn (VAR LIST [RESULT]) BODY...)"
1238 (let ((temp (make-symbol "--cl-dolist-temp--"))) 1267 (let ((temp (make-symbol "--cl-dolist-temp--")))
@@ -2387,9 +2416,8 @@ value, that slot cannot be set via `setf'.
2387 (append 2416 (append
2388 (and pred-check 2417 (and pred-check
2389 (list (list 'or pred-check 2418 (list (list 'or pred-check
2390 (list 'error 2419 `(error "%s accessing a non-%s"
2391 (format "%s accessing a non-%s" 2420 ',accessor ',name))))
2392 accessor name)))))
2393 (list (if (eq type 'vector) (list 'aref 'cl-x pos) 2421 (list (if (eq type 'vector) (list 'aref 'cl-x pos)
2394 (if (= pos 0) '(car cl-x) 2422 (if (= pos 0) '(car cl-x)
2395 (list 'nth pos 'cl-x)))))) forms) 2423 (list 'nth pos 'cl-x)))))) forms)
@@ -2397,9 +2425,8 @@ value, that slot cannot be set via `setf'.
2397 (push (list 'define-setf-method accessor '(cl-x) 2425 (push (list 'define-setf-method accessor '(cl-x)
2398 (if (cadr (memq :read-only (cddr desc))) 2426 (if (cadr (memq :read-only (cddr desc)))
2399 (list 'progn '(ignore cl-x) 2427 (list 'progn '(ignore cl-x)
2400 (list 'error 2428 `(error "%s is a read-only slot"
2401 (format "%s is a read-only slot" 2429 ',accessor))
2402 'accessor)))
2403 ;; If cl is loaded only for compilation, 2430 ;; If cl is loaded only for compilation,
2404 ;; the call to cl-struct-setf-expander would 2431 ;; the call to cl-struct-setf-expander would
2405 ;; cause a warning because it may not be 2432 ;; cause a warning because it may not be
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index 157749500e7..8276030ccf8 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -778,6 +778,7 @@ Redefining FUNCTION also cancels it."
778 (not (debugger-special-form-p symbol)))) 778 (not (debugger-special-form-p symbol))))
779 t nil nil (symbol-name fn))) 779 t nil nil (symbol-name fn)))
780 (list (if (equal val "") fn (intern val))))) 780 (list (if (equal val "") fn (intern val)))))
781 ;; FIXME: Use advice.el.
781 (when (debugger-special-form-p function) 782 (when (debugger-special-form-p function)
782 (error "Function %s is a special form" function)) 783 (error "Function %s is a special form" function))
783 (if (or (symbolp (symbol-function function)) 784 (if (or (symbolp (symbol-function function))
@@ -835,24 +836,30 @@ To specify a nil argument interactively, exit with an empty minibuffer."
835 (message "Cancelling debug-on-entry for all functions") 836 (message "Cancelling debug-on-entry for all functions")
836 (mapcar 'cancel-debug-on-entry debug-function-list))) 837 (mapcar 'cancel-debug-on-entry debug-function-list)))
837 838
839(defun debug-arglist (definition)
840 ;; FIXME: copied from ad-arglist.
841 "Return the argument list of DEFINITION."
842 (require 'help-fns)
843 (help-function-arglist definition 'preserve-names))
844
838(defun debug-convert-byte-code (function) 845(defun debug-convert-byte-code (function)
839 (let* ((defn (symbol-function function)) 846 (let* ((defn (symbol-function function))
840 (macro (eq (car-safe defn) 'macro))) 847 (macro (eq (car-safe defn) 'macro)))
841 (when macro (setq defn (cdr defn))) 848 (when macro (setq defn (cdr defn)))
842 (unless (consp defn) 849 (when (byte-code-function-p defn)
843 ;; Assume a compiled code object. 850 (let* ((args (debug-arglist defn))
844 (let* ((contents (append defn nil))
845 (body 851 (body
846 (list (list 'byte-code (nth 1 contents) 852 `((,(if (memq '&rest args) #'apply #'funcall)
847 (nth 2 contents) (nth 3 contents))))) 853 ,defn
848 (if (nthcdr 5 contents) 854 ,@(remq '&rest (remq '&optional args))))))
849 (setq body (cons (list 'interactive (nth 5 contents)) body))) 855 (if (> (length defn) 5)
850 (if (nth 4 contents) 856 (push `(interactive ,(aref defn 5)) body))
857 (if (aref defn 4)
851 ;; Use `documentation' here, to get the actual string, 858 ;; Use `documentation' here, to get the actual string,
852 ;; in case the compiled function has a reference 859 ;; in case the compiled function has a reference
853 ;; to the .elc file. 860 ;; to the .elc file.
854 (setq body (cons (documentation function) body))) 861 (setq body (cons (documentation function) body)))
855 (setq defn (cons 'lambda (cons (car contents) body)))) 862 (setq defn `(closure (t) ,args ,@body)))
856 (when macro (setq defn (cons 'macro defn))) 863 (when macro (setq defn (cons 'macro defn)))
857 (fset function defn)))) 864 (fset function defn))))
858 865
@@ -861,11 +868,12 @@ To specify a nil argument interactively, exit with an empty minibuffer."
861 (tail defn)) 868 (tail defn))
862 (when (eq (car-safe tail) 'macro) 869 (when (eq (car-safe tail) 'macro)
863 (setq tail (cdr tail))) 870 (setq tail (cdr tail)))
864 (if (not (eq (car-safe tail) 'lambda)) 871 (if (not (memq (car-safe tail) '(closure lambda)))
865 ;; Only signal an error when we try to set debug-on-entry. 872 ;; Only signal an error when we try to set debug-on-entry.
866 ;; When we try to clear debug-on-entry, we are now done. 873 ;; When we try to clear debug-on-entry, we are now done.
867 (when flag 874 (when flag
868 (error "%s is not a user-defined Lisp function" function)) 875 (error "%s is not a user-defined Lisp function" function))
876 (if (eq (car tail) 'closure) (setq tail (cdr tail)))
869 (setq tail (cdr tail)) 877 (setq tail (cdr tail))
870 ;; Skip the docstring. 878 ;; Skip the docstring.
871 (when (and (stringp (cadr tail)) (cddr tail)) 879 (when (and (stringp (cadr tail)) (cddr tail))
@@ -875,9 +883,9 @@ To specify a nil argument interactively, exit with an empty minibuffer."
875 (setq tail (cdr tail))) 883 (setq tail (cdr tail)))
876 (unless (eq flag (equal (cadr tail) '(implement-debug-on-entry))) 884 (unless (eq flag (equal (cadr tail) '(implement-debug-on-entry)))
877 ;; Add/remove debug statement as needed. 885 ;; Add/remove debug statement as needed.
878 (if flag 886 (setcdr tail (if flag
879 (setcdr tail (cons '(implement-debug-on-entry) (cdr tail))) 887 (cons '(implement-debug-on-entry) (cdr tail))
880 (setcdr tail (cddr tail))))) 888 (cddr tail)))))
881 defn)) 889 defn))
882 890
883(defun debugger-list-functions () 891(defun debugger-list-functions ()
diff --git a/lisp/emacs-lisp/derived.el b/lisp/emacs-lisp/derived.el
index 4fda2bf1d52..81932f9940a 100644
--- a/lisp/emacs-lisp/derived.el
+++ b/lisp/emacs-lisp/derived.el
@@ -133,10 +133,10 @@ BODY can start with a bunch of keyword arguments. The following keyword
133 Declare the customization group that corresponds to this mode. 133 Declare the customization group that corresponds to this mode.
134 The command `customize-mode' uses this. 134 The command `customize-mode' uses this.
135:syntax-table TABLE 135:syntax-table TABLE
136 Use TABLE instead of the default. 136 Use TABLE instead of the default (CHILD-syntax-table).
137 A nil value means to simply use the same syntax-table as the parent. 137 A nil value means to simply use the same syntax-table as the parent.
138:abbrev-table TABLE 138:abbrev-table TABLE
139 Use TABLE instead of the default. 139 Use TABLE instead of the default (CHILD-abbrev-table).
140 A nil value means to simply use the same abbrev-table as the parent. 140 A nil value means to simply use the same abbrev-table as the parent.
141 141
142Here is how you could define LaTeX-Thesis mode as a variant of LaTeX mode: 142Here is how you could define LaTeX-Thesis mode as a variant of LaTeX mode:
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index f84de0308bf..57d25c9e169 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -3408,7 +3408,7 @@ go to the end of the last sexp, or if that is the same point, then step."
3408 (message "%s is already instrumented." func) 3408 (message "%s is already instrumented." func)
3409 func) 3409 func)
3410 (t 3410 (t
3411 (let ((loc (find-function-noselect func))) 3411 (let ((loc (find-function-noselect func t)))
3412 (unless (cdr loc) 3412 (unless (cdr loc)
3413 (error "Could not find the definition in its file")) 3413 (error "Could not find the definition in its file"))
3414 (with-current-buffer (car loc) 3414 (with-current-buffer (car loc)
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el
index 83c09b6fe0f..f1fe9594fc0 100644
--- a/lisp/emacs-lisp/eieio.el
+++ b/lisp/emacs-lisp/eieio.el
@@ -1312,20 +1312,20 @@ Summary:
1312(defun eieio--defmethod (method kind argclass code) 1312(defun eieio--defmethod (method kind argclass code)
1313 "Work part of the `defmethod' macro defining METHOD with ARGS." 1313 "Work part of the `defmethod' macro defining METHOD with ARGS."
1314 (let ((key 1314 (let ((key
1315 ;; find optional keys 1315 ;; find optional keys
1316 (cond ((or (eq ':BEFORE kind) 1316 (cond ((or (eq ':BEFORE kind)
1317 (eq ':before kind)) 1317 (eq ':before kind))
1318 method-before) 1318 method-before)
1319 ((or (eq ':AFTER kind) 1319 ((or (eq ':AFTER kind)
1320 (eq ':after kind)) 1320 (eq ':after kind))
1321 method-after) 1321 method-after)
1322 ((or (eq ':PRIMARY kind) 1322 ((or (eq ':PRIMARY kind)
1323 (eq ':primary kind)) 1323 (eq ':primary kind))
1324 method-primary) 1324 method-primary)
1325 ((or (eq ':STATIC kind) 1325 ((or (eq ':STATIC kind)
1326 (eq ':static kind)) 1326 (eq ':static kind))
1327 method-static) 1327 method-static)
1328 ;; Primary key 1328 ;; Primary key
1329 (t method-primary)))) 1329 (t method-primary))))
1330 ;; Make sure there is a generic (when called from defclass). 1330 ;; Make sure there is a generic (when called from defclass).
1331 (eieio--defalias 1331 (eieio--defalias
@@ -1338,8 +1338,8 @@ Summary:
1338 ;; under the type `primary' which is a non-specific calling of the 1338 ;; under the type `primary' which is a non-specific calling of the
1339 ;; function. 1339 ;; function.
1340 (if argclass 1340 (if argclass
1341 (if (not (class-p argclass)) 1341 (if (not (class-p argclass))
1342 (error "Unknown class type %s in method parameters" 1342 (error "Unknown class type %s in method parameters"
1343 argclass)) 1343 argclass))
1344 (if (= key -1) 1344 (if (= key -1)
1345 (signal 'wrong-type-argument (list :static 'non-class-arg))) 1345 (signal 'wrong-type-argument (list :static 'non-class-arg)))
@@ -2864,6 +2864,106 @@ of `eq'."
2864) 2864)
2865 2865
2866 2866
2867;;; Obsolete backward compatibility functions.
2868;; Needed to run byte-code compiled with the EIEIO of Emacs-23.
2869
2870(defun eieio-defmethod (method args)
2871 "Obsolete work part of an old version of the `defmethod' macro."
2872 (let ((key nil) (body nil) (firstarg nil) (argfix nil) (argclass nil) loopa)
2873 ;; find optional keys
2874 (setq key
2875 (cond ((or (eq ':BEFORE (car args))
2876 (eq ':before (car args)))
2877 (setq args (cdr args))
2878 method-before)
2879 ((or (eq ':AFTER (car args))
2880 (eq ':after (car args)))
2881 (setq args (cdr args))
2882 method-after)
2883 ((or (eq ':PRIMARY (car args))
2884 (eq ':primary (car args)))
2885 (setq args (cdr args))
2886 method-primary)
2887 ((or (eq ':STATIC (car args))
2888 (eq ':static (car args)))
2889 (setq args (cdr args))
2890 method-static)
2891 ;; Primary key
2892 (t method-primary)))
2893 ;; get body, and fix contents of args to be the arguments of the fn.
2894 (setq body (cdr args)
2895 args (car args))
2896 (setq loopa args)
2897 ;; Create a fixed version of the arguments
2898 (while loopa
2899 (setq argfix (cons (if (listp (car loopa)) (car (car loopa)) (car loopa))
2900 argfix))
2901 (setq loopa (cdr loopa)))
2902 ;; make sure there is a generic
2903 (eieio-defgeneric
2904 method
2905 (if (stringp (car body))
2906 (car body) (format "Generically created method `%s'." method)))
2907 ;; create symbol for property to bind to. If the first arg is of
2908 ;; the form (varname vartype) and `vartype' is a class, then
2909 ;; that class will be the type symbol. If not, then it will fall
2910 ;; under the type `primary' which is a non-specific calling of the
2911 ;; function.
2912 (setq firstarg (car args))
2913 (if (listp firstarg)
2914 (progn
2915 (setq argclass (nth 1 firstarg))
2916 (if (not (class-p argclass))
2917 (error "Unknown class type %s in method parameters"
2918 (nth 1 firstarg))))
2919 (if (= key -1)
2920 (signal 'wrong-type-argument (list :static 'non-class-arg)))
2921 ;; generics are higher
2922 (setq key (eieio-specialized-key-to-generic-key key)))
2923 ;; Put this lambda into the symbol so we can find it
2924 (if (byte-code-function-p (car-safe body))
2925 (eieiomt-add method (car-safe body) key argclass)
2926 (eieiomt-add method (append (list 'lambda (reverse argfix)) body)
2927 key argclass))
2928 )
2929
2930 (when eieio-optimize-primary-methods-flag
2931 ;; Optimizing step:
2932 ;;
2933 ;; If this method, after this setup, only has primary methods, then
2934 ;; we can setup the generic that way.
2935 (if (generic-primary-only-p method)
2936 ;; If there is only one primary method, then we can go one more
2937 ;; optimization step.
2938 (if (generic-primary-only-one-p method)
2939 (eieio-defgeneric-reset-generic-form-primary-only-one method)
2940 (eieio-defgeneric-reset-generic-form-primary-only method))
2941 (eieio-defgeneric-reset-generic-form method)))
2942
2943 method)
2944(make-obsolete 'eieio-defmethod 'eieio--defmethod "24.1")
2945
2946(defun eieio-defgeneric (method doc-string)
2947 "Obsolete work part of an old version of the `defgeneric' macro."
2948 (if (and (fboundp method) (not (generic-p method))
2949 (or (byte-code-function-p (symbol-function method))
2950 (not (eq 'autoload (car (symbol-function method)))))
2951 )
2952 (error "You cannot create a generic/method over an existing symbol: %s"
2953 method))
2954 ;; Don't do this over and over.
2955 (unless (fboundp 'method)
2956 ;; This defun tells emacs where the first definition of this
2957 ;; method is defined.
2958 `(defun ,method nil)
2959 ;; Make sure the method tables are installed.
2960 (eieiomt-install method)
2961 ;; Apply the actual body of this function.
2962 (fset method (eieio-defgeneric-form method doc-string))
2963 ;; Return the method
2964 'method))
2965(make-obsolete 'eieio-defgeneric nil "24.1")
2966
2867;;; Interfacing with edebug 2967;;; Interfacing with edebug
2868;; 2968;;
2869(defun eieio-edebug-prin1-to-string (object &optional noescape) 2969(defun eieio-edebug-prin1-to-string (object &optional noescape)
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
index 0194af2e3a8..2c7208db8a3 100644
--- a/lisp/emacs-lisp/find-func.el
+++ b/lisp/emacs-lisp/find-func.el
@@ -312,7 +312,7 @@ The search is done in the source for library LIBRARY."
312 (cons (current-buffer) nil)))))))) 312 (cons (current-buffer) nil))))))))
313 313
314;;;###autoload 314;;;###autoload
315(defun find-function-noselect (function) 315(defun find-function-noselect (function &optional lisp-only)
316 "Return a pair (BUFFER . POINT) pointing to the definition of FUNCTION. 316 "Return a pair (BUFFER . POINT) pointing to the definition of FUNCTION.
317 317
318Finds the source file containing the definition of FUNCTION 318Finds the source file containing the definition of FUNCTION
@@ -320,6 +320,10 @@ in a buffer and the point of the definition. The buffer is
320not selected. If the function definition can't be found in 320not selected. If the function definition can't be found in
321the buffer, returns (BUFFER). 321the buffer, returns (BUFFER).
322 322
323If FUNCTION is a built-in function, this function normally
324attempts to find it in the Emacs C sources; however, if LISP-ONLY
325is non-nil, signal an error instead.
326
323If the file where FUNCTION is defined is not known, then it is 327If the file where FUNCTION is defined is not known, then it is
324searched for in `find-function-source-path' if non-nil, otherwise 328searched for in `find-function-source-path' if non-nil, otherwise
325in `load-path'." 329in `load-path'."
@@ -345,6 +349,8 @@ in `load-path'."
345 (cond ((eq (car-safe def) 'autoload) 349 (cond ((eq (car-safe def) 'autoload)
346 (nth 1 def)) 350 (nth 1 def))
347 ((subrp def) 351 ((subrp def)
352 (if lisp-only
353 (error "%s is a built-in function" function))
348 (help-C-file-name def 'subr)) 354 (help-C-file-name def 'subr))
349 ((symbol-file function 'defun))))) 355 ((symbol-file function 'defun)))))
350 (find-function-search-for-symbol function nil library)))) 356 (find-function-search-for-symbol function nil library))))
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index e42103a7a01..caf0ec2e8b8 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -570,11 +570,11 @@ EXTRA-PROPERTIES is currently unused."
570 file) 570 file)
571 571
572(defun package-generate-autoloads (name pkg-dir) 572(defun package-generate-autoloads (name pkg-dir)
573 (require 'autoload) ;Load before we let-bind generated-autoload-file!
573 (let* ((auto-name (concat name "-autoloads.el")) 574 (let* ((auto-name (concat name "-autoloads.el"))
574 (ignore-name (concat name "-pkg.el")) 575 (ignore-name (concat name "-pkg.el"))
575 (generated-autoload-file (expand-file-name auto-name pkg-dir)) 576 (generated-autoload-file (expand-file-name auto-name pkg-dir))
576 (version-control 'never)) 577 (version-control 'never))
577 (require 'autoload)
578 (unless (fboundp 'autoload-ensure-default-file) 578 (unless (fboundp 'autoload-ensure-default-file)
579 (package-autoload-ensure-default-file generated-autoload-file)) 579 (package-autoload-ensure-default-file generated-autoload-file))
580 (update-directory-autoloads pkg-dir))) 580 (update-directory-autoloads pkg-dir)))
@@ -852,18 +852,26 @@ using `package-compute-transaction'."
852 (t 852 (t
853 (error "Unknown package kind: %s" (symbol-name kind))))))) 853 (error "Unknown package kind: %s" (symbol-name kind)))))))
854 854
855(defvar package--initialized nil)
856
855;;;###autoload 857;;;###autoload
856(defun package-install (name) 858(defun package-install (name)
857 "Install the package named NAME. 859 "Install the package named NAME.
858Interactively, prompt for the package name. 860NAME should be the name of one of the available packages in an
859The package is found on one of the archives in `package-archives'." 861archive in `package-archives'. Interactively, prompt for NAME."
860 (interactive 862 (interactive
861 (list (intern (completing-read "Install package: " 863 (progn
862 (mapcar (lambda (elt) 864 ;; Initialize the package system to get the list of package
863 (cons (symbol-name (car elt)) 865 ;; symbols for completion.
864 nil)) 866 (unless package--initialized
865 package-archive-contents) 867 (package-initialize t))
866 nil t)))) 868 (list (intern (completing-read
869 "Install package: "
870 (mapcar (lambda (elt)
871 (cons (symbol-name (car elt))
872 nil))
873 package-archive-contents)
874 nil t)))))
867 (let ((pkg-desc (assq name package-archive-contents))) 875 (let ((pkg-desc (assq name package-archive-contents)))
868 (unless pkg-desc 876 (unless pkg-desc
869 (error "Package `%s' is not available for installation" 877 (error "Package `%s' is not available for installation"
@@ -1076,8 +1084,6 @@ makes them available for download."
1076 (car archive))))) 1084 (car archive)))))
1077 (package-read-all-archive-contents)) 1085 (package-read-all-archive-contents))
1078 1086
1079(defvar package--initialized nil)
1080
1081;;;###autoload 1087;;;###autoload
1082(defun package-initialize (&optional no-activate) 1088(defun package-initialize (&optional no-activate)
1083 "Load Emacs Lisp packages, and activate them. 1089 "Load Emacs Lisp packages, and activate them.
@@ -1434,7 +1440,7 @@ If optional arg BUTTON is non-nil, describe its associated package."
1434(defun package-menu-mark-delete (num) 1440(defun package-menu-mark-delete (num)
1435 "Mark a package for deletion and move to the next line." 1441 "Mark a package for deletion and move to the next line."
1436 (interactive "p") 1442 (interactive "p")
1437 (if (string-equal (package-menu-get-status) "installed") 1443 (if (member (package-menu-get-status) '("installed" "obsolete"))
1438 (tabulated-list-put-tag "D" t) 1444 (tabulated-list-put-tag "D" t)
1439 (forward-line))) 1445 (forward-line)))
1440 1446
diff --git a/lisp/emacs-lisp/tabulated-list.el b/lisp/emacs-lisp/tabulated-list.el
index 2fdfa9525b1..75c9a01323d 100644
--- a/lisp/emacs-lisp/tabulated-list.el
+++ b/lisp/emacs-lisp/tabulated-list.el
@@ -258,7 +258,8 @@ to the entry with the same ID element as the current line."
258 ;; If REMEMBER-POS was specified, move to the "old" location. 258 ;; If REMEMBER-POS was specified, move to the "old" location.
259 (if saved-pt 259 (if saved-pt
260 (progn (goto-char saved-pt) 260 (progn (goto-char saved-pt)
261 (move-to-column saved-col)) 261 (move-to-column saved-col)
262 (recenter))
262 (goto-char (point-min))))) 263 (goto-char (point-min)))))
263 264
264(defun tabulated-list-print-entry (id cols) 265(defun tabulated-list-print-entry (id cols)
@@ -282,6 +283,7 @@ of column descriptors."
282 (> (length label) width) 283 (> (length label) width)
283 (setq label (concat (substring label 0 (- width 3)) 284 (setq label (concat (substring label 0 (- width 3))
284 "..."))) 285 "...")))
286 (setq label (bidi-string-mark-left-to-right label))
285 (if (stringp desc) 287 (if (stringp desc)
286 (insert (propertize label 'help-echo help-echo)) 288 (insert (propertize label 'help-echo help-echo))
287 (apply 'insert-text-button label (cdr desc))) 289 (apply 'insert-text-button label (cdr desc)))
diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index aa9915d8cfa..bef67ba4f69 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -35,7 +35,7 @@ way."
35 :type 'boolean 35 :type 'boolean
36 :group 'epa-file) 36 :group 'epa-file)
37 37
38(defcustom epa-file-select-keys 'silent 38(defcustom epa-file-select-keys nil
39 "Control whether or not to pop up the key selection dialog. 39 "Control whether or not to pop up the key selection dialog.
40 40
41If t, always asks user to select recipients. 41If t, always asks user to select recipients.
@@ -137,8 +137,10 @@ encryption is used."
137 context 137 context
138 (cons #'epa-file-passphrase-callback-function 138 (cons #'epa-file-passphrase-callback-function
139 local-file)) 139 local-file))
140 (epg-context-set-progress-callback context 140 (epg-context-set-progress-callback
141 #'epa-progress-callback-function) 141 context
142 (cons #'epa-progress-callback-function
143 (format "Decrypting %s" file)))
142 (unwind-protect 144 (unwind-protect
143 (progn 145 (progn
144 (if replace 146 (if replace
@@ -211,8 +213,10 @@ encryption is used."
211 context 213 context
212 (cons #'epa-file-passphrase-callback-function 214 (cons #'epa-file-passphrase-callback-function
213 file)) 215 file))
214 (epg-context-set-progress-callback context 216 (epg-context-set-progress-callback
215 #'epa-progress-callback-function) 217 context
218 (cons #'epa-progress-callback-function
219 (format "Encrypting %s" file)))
216 (epg-context-set-armor context epa-armor) 220 (epg-context-set-armor context epa-armor)
217 (condition-case error 221 (condition-case error
218 (setq string 222 (setq string
diff --git a/lisp/epa-mail.el b/lisp/epa-mail.el
index a3f11f78675..9d7542b3980 100644
--- a/lisp/epa-mail.el
+++ b/lisp/epa-mail.el
@@ -51,7 +51,8 @@
51 nil " epa-mail" epa-mail-mode-map) 51 nil " epa-mail" epa-mail-mode-map)
52 52
53(defun epa-mail--find-usable-key (keys usage) 53(defun epa-mail--find-usable-key (keys usage)
54 "Find a usable key from KEYS for USAGE." 54 "Find a usable key from KEYS for USAGE.
55USAGE would be `sign' or `encrypt'."
55 (catch 'found 56 (catch 'found
56 (while keys 57 (while keys
57 (let ((pointer (epg-key-sub-key-list (car keys)))) 58 (let ((pointer (epg-key-sub-key-list (car keys))))
@@ -116,6 +117,7 @@ Don't use this command in Lisp programs!"
116 (interactive 117 (interactive
117 (save-excursion 118 (save-excursion
118 (let ((verbose current-prefix-arg) 119 (let ((verbose current-prefix-arg)
120 (config (epg-configuration))
119 (context (epg-make-context epa-protocol)) 121 (context (epg-make-context epa-protocol))
120 recipients-string recipients recipient-key sign) 122 recipients-string recipients recipient-key sign)
121 (goto-char (point-min)) 123 (goto-char (point-min))
@@ -140,6 +142,17 @@ Don't use this command in Lisp programs!"
140 (setq recipients (delete "" 142 (setq recipients (delete ""
141 (split-string recipients 143 (split-string recipients
142 "[ \t\n]*,[ \t\n]*")))) 144 "[ \t\n]*,[ \t\n]*"))))
145
146 ;; Process all the recipients thru the list of GnuPG groups.
147 ;; Expand GnuPG group names to what they stand for.
148 (setq recipients
149 (apply #'nconc
150 (mapcar
151 (lambda (recipient)
152 (or (epg-expand-group config recipient)
153 (list recipient)))
154 recipients)))
155
143 (goto-char (point-min)) 156 (goto-char (point-min))
144 (if (search-forward mail-header-separator nil t) 157 (if (search-forward mail-header-separator nil t)
145 (forward-line)) 158 (forward-line))
diff --git a/lisp/epa.el b/lisp/epa.el
index d4f4fab2eed..f0ec1ece0d1 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -651,10 +651,17 @@ If SECRET is non-nil, list secret keys instead of public keys."
651 651
652(defun epa-progress-callback-function (_context what _char current total 652(defun epa-progress-callback-function (_context what _char current total
653 handback) 653 handback)
654 (message "%s%d%% (%d/%d)" (or handback 654 (let ((prompt (or handback
655 (concat what ": ")) 655 (format "Processing %s: " what))))
656 (if (> total 0) (floor (* (/ current (float total)) 100)) 0) 656 ;; According to gnupg/doc/DETAIL: a "total" of 0 indicates that
657 current total)) 657 ;; the total amount is not known. The condition TOTAL && CUR ==
658 ;; TOTAL may be used to detect the end of an operation.
659 (if (> total 0)
660 (if (= current total)
661 (message "%s...done" prompt)
662 (message "%s...%d%%" prompt
663 (floor (* (/ current (float total)) 100))))
664 (message "%s..." prompt))))
658 665
659;;;###autoload 666;;;###autoload
660(defun epa-decrypt-file (file) 667(defun epa-decrypt-file (file)
@@ -796,10 +803,15 @@ If no one is selected, symmetric encryption will be performed. ")))
796 (file-name-nondirectory cipher)))) 803 (file-name-nondirectory cipher))))
797 804
798;;;###autoload 805;;;###autoload
799(defun epa-decrypt-region (start end) 806(defun epa-decrypt-region (start end &optional make-buffer-function)
800 "Decrypt the current region between START and END. 807 "Decrypt the current region between START and END.
801 808
802Don't use this command in Lisp programs! 809If MAKE-BUFFER-FUNCTION is non-nil, call it to prepare an output buffer.
810It should return that buffer. If it copies the input, it should
811delete the text now being decrypted. It should leave point at the
812proper place to insert the plaintext.
813
814Be careful about using this command in Lisp programs!
803Since this function operates on regions, it does some tricks such 815Since this function operates on regions, it does some tricks such
804as coding-system detection and unibyte/multibyte conversion. If 816as coding-system detection and unibyte/multibyte conversion. If
805you are sure how the data in the region should be treated, you 817you are sure how the data in the region should be treated, you
@@ -831,16 +843,19 @@ For example:
831 (or coding-system-for-read 843 (or coding-system-for-read
832 (get-text-property start 'epa-coding-system-used) 844 (get-text-property start 'epa-coding-system-used)
833 'undecided))) 845 'undecided)))
834 (if (y-or-n-p "Replace the original text? ") 846 (if make-buffer-function
835 (let ((inhibit-read-only t) 847 (with-current-buffer (funcall make-buffer-function)
836 buffer-read-only) 848 (let ((inhibit-read-only t))
837 (delete-region start end) 849 (insert plain)))
838 (goto-char start) 850 (if (y-or-n-p "Replace the original text? ")
839 (insert plain)) 851 (let ((inhibit-read-only t))
840 (with-output-to-temp-buffer "*Temp*" 852 (delete-region start end)
841 (set-buffer standard-output) 853 (goto-char start)
842 (insert plain) 854 (insert plain))
843 (epa-info-mode))) 855 (with-output-to-temp-buffer "*Temp*"
856 (set-buffer standard-output)
857 (insert plain)
858 (epa-info-mode))))
844 (if (epg-context-result-for context 'verify) 859 (if (epg-context-result-for context 'verify)
845 (epa-display-info (epg-verify-result-to-string 860 (epa-display-info (epg-verify-result-to-string
846 (epg-context-result-for context 'verify))))))) 861 (epg-context-result-for context 'verify)))))))
@@ -849,12 +864,13 @@ For example:
849 (if (featurep 'xemacs) 864 (if (featurep 'xemacs)
850 (if (fboundp 'find-coding-system) 865 (if (fboundp 'find-coding-system)
851 (find-coding-system mime-charset)) 866 (find-coding-system mime-charset))
867 ;; Find the first coding system which corresponds to MIME-CHARSET.
852 (let ((pointer (coding-system-list))) 868 (let ((pointer (coding-system-list)))
853 (while (and pointer 869 (while (and pointer
854 (eq (coding-system-get (car pointer) 'mime-charset) 870 (not (eq (coding-system-get (car pointer) 'mime-charset)
855 mime-charset)) 871 mime-charset)))
856 (setq pointer (cdr pointer))) 872 (setq pointer (cdr pointer)))
857 pointer))) 873 (car pointer))))
858 874
859;;;###autoload 875;;;###autoload
860(defun epa-decrypt-armor-in-region (start end) 876(defun epa-decrypt-armor-in-region (start end)
@@ -873,7 +889,7 @@ See the reason described in the `epa-decrypt-region' documentation."
873 armor-end (re-search-forward "^-----END PGP MESSAGE-----$" 889 armor-end (re-search-forward "^-----END PGP MESSAGE-----$"
874 nil t)) 890 nil t))
875 (unless armor-end 891 (unless armor-end
876 (error "No armor tail")) 892 (error "Encryption armor beginning has no matching end"))
877 (goto-char armor-start) 893 (goto-char armor-start)
878 (let ((coding-system-for-read 894 (let ((coding-system-for-read
879 (or coding-system-for-read 895 (or coding-system-for-read
diff --git a/lisp/epg.el b/lisp/epg.el
index 348ad970b14..9ca07e213b4 100644
--- a/lisp/epg.el
+++ b/lisp/epg.el
@@ -1069,6 +1069,59 @@ This function is for internal use only."
1069 (format " secret keys unchanged: %d\n" 1069 (format " secret keys unchanged: %d\n"
1070 (epg-import-result-secret-unchanged import-result))))) 1070 (epg-import-result-secret-unchanged import-result)))))
1071 1071
1072(defun epg-error-to-string (error)
1073 (cond
1074 ((eq (car error) 'exit)
1075 "Exit")
1076 ((eq (car error) 'quit)
1077 "Cancelled")
1078 ((eq (car error) 'no-data)
1079 (let ((entry (assq (cdr error) epg-no-data-reason-alist)))
1080 (if entry
1081 (format "No data (%s)" (downcase (cdr entry)))
1082 "No data")))
1083 ((eq (car error) 'unexpected)
1084 (let ((entry (assq (cdr error) epg-unexpected-reason-alist)))
1085 (if entry
1086 (format "Unexpected (%s)" (downcase (cdr entry)))
1087 "Unexpected")))
1088 ((eq (car error) 'bad-armor)
1089 "Bad armor")
1090 ((memq (car error) '(invalid-recipient invalid-signer))
1091 (concat
1092 (if (eq (car error) 'invalid-recipient)
1093 "Unusable public key"
1094 "Unusable secret key")
1095 (let ((entry (assq 'requested (cdr error))))
1096 (if entry
1097 (format ": %s" (cdr entry))
1098 ": <unknown>"))
1099 (let ((entry (assq 'reason (cdr error))))
1100 (if (and entry
1101 (> (cdr entry) 0) ;no specific reason given
1102 (setq entry (assq (cdr entry)
1103 epg-invalid-recipients-reason-alist)))
1104 (format " (%s)" (downcase (cdr entry)))
1105 ""))))
1106 ((eq (car error) 'no-pubkey)
1107 (format "No public key: %s" (cdr error)))
1108 ((eq (car error) 'no-seckey)
1109 (format "No secret key: %s" (cdr error)))
1110 ((eq (car error) 'no-recipients)
1111 "No recipients")
1112 ((eq (car error) 'no-signers)
1113 "No signers")
1114 ((eq (car error) 'delete-problem)
1115 (let ((entry (assq (cdr error) epg-delete-problem-reason-alist)))
1116 (if entry
1117 (format "Delete problem (%s)" (downcase (cdr entry)))
1118 "Delete problem")))
1119 ((eq (car error) 'key-not-created)
1120 "Key not created")))
1121
1122(defun epg-errors-to-string (errors)
1123 (mapconcat #'epg-error-to-string errors "; "))
1124
1072(defun epg--start (context args) 1125(defun epg--start (context args)
1073 "Start `epg-gpg-program' in a subprocess with given ARGS." 1126 "Start `epg-gpg-program' in a subprocess with given ARGS."
1074 (if (and (epg-context-process context) 1127 (if (and (epg-context-process context)
@@ -1195,7 +1248,7 @@ This function is for internal use only."
1195 (if epg-pending-status-list 1248 (if epg-pending-status-list
1196 (epg-context-set-result-for 1249 (epg-context-set-result-for
1197 context 'error 1250 context 'error
1198 (cons (list 'exit) 1251 (cons '(exit)
1199 (epg-context-result-for context 'error)))))) 1252 (epg-context-result-for context 'error))))))
1200 1253
1201(defun epg-wait-for-completion (context) 1254(defun epg-wait-for-completion (context)
@@ -1203,7 +1256,10 @@ This function is for internal use only."
1203 (while (eq (process-status (epg-context-process context)) 'run) 1256 (while (eq (process-status (epg-context-process context)) 'run)
1204 (accept-process-output (epg-context-process context) 1)) 1257 (accept-process-output (epg-context-process context) 1))
1205 ;; This line is needed to run the process-filter right now. 1258 ;; This line is needed to run the process-filter right now.
1206 (sleep-for 0.1)) 1259 (sleep-for 0.1)
1260 (epg-context-set-result-for
1261 context 'error
1262 (nreverse (epg-context-result-for context 'error))))
1207 1263
1208(defun epg-reset (context) 1264(defun epg-reset (context)
1209 "Reset the CONTEXT." 1265 "Reset the CONTEXT."
@@ -1399,11 +1455,22 @@ This function is for internal use only."
1399 (epg--status-*SIG context 'bad string)) 1455 (epg--status-*SIG context 'bad string))
1400 1456
1401(defun epg--status-NO_PUBKEY (context string) 1457(defun epg--status-NO_PUBKEY (context string)
1402 (let ((signature (car (epg-context-result-for context 'verify)))) 1458 (if (eq (epg-context-operation context) 'verify)
1403 (if (and signature 1459 (let ((signature (car (epg-context-result-for context 'verify))))
1404 (eq (epg-signature-status signature) 'error) 1460 (if (and signature
1405 (equal (epg-signature-key-id signature) string)) 1461 (eq (epg-signature-status signature) 'error)
1406 (epg-signature-set-status signature 'no-pubkey)))) 1462 (equal (epg-signature-key-id signature) string))
1463 (epg-signature-set-status signature 'no-pubkey)))
1464 (epg-context-set-result-for
1465 context 'error
1466 (cons (cons 'no-pubkey string)
1467 (epg-context-result-for context 'error)))))
1468
1469(defun epg--status-NO_SECKEY (context string)
1470 (epg-context-set-result-for
1471 context 'error
1472 (cons (cons 'no-seckey string)
1473 (epg-context-result-for context 'error))))
1407 1474
1408(defun epg--time-from-seconds (seconds) 1475(defun epg--time-from-seconds (seconds)
1409 (let ((number-seconds (string-to-number (concat seconds ".0")))) 1476 (let ((number-seconds (string-to-number (concat seconds ".0"))))
@@ -1564,13 +1631,13 @@ This function is for internal use only."
1564 context 'key 1631 context 'key
1565 (cons (list 'key-expired (cons 'expiration-time 1632 (cons (list 'key-expired (cons 'expiration-time
1566 (epg--time-from-seconds string))) 1633 (epg--time-from-seconds string)))
1567 (epg-context-result-for context 'error)))) 1634 (epg-context-result-for context 'key))))
1568 1635
1569(defun epg--status-KEYREVOKED (context _string) 1636(defun epg--status-KEYREVOKED (context _string)
1570 (epg-context-set-result-for 1637 (epg-context-set-result-for
1571 context 'key 1638 context 'key
1572 (cons '(key-revoked) 1639 (cons '(key-revoked)
1573 (epg-context-result-for context 'error)))) 1640 (epg-context-result-for context 'key))))
1574 1641
1575(defun epg--status-BADARMOR (context _string) 1642(defun epg--status-BADARMOR (context _string)
1576 (epg-context-set-result-for 1643 (epg-context-set-result-for
@@ -1585,7 +1652,18 @@ This function is for internal use only."
1585 (cons (list 'invalid-recipient 1652 (cons (list 'invalid-recipient
1586 (cons 'reason 1653 (cons 'reason
1587 (string-to-number (match-string 1 string))) 1654 (string-to-number (match-string 1 string)))
1588 (cons 'requested-recipient 1655 (cons 'requested
1656 (match-string 2 string)))
1657 (epg-context-result-for context 'error)))))
1658
1659(defun epg--status-INV_SGNR (context string)
1660 (if (string-match "\\`\\([0-9]+\\) \\(.*\\)" string)
1661 (epg-context-set-result-for
1662 context 'error
1663 (cons (list 'invalid-signer
1664 (cons 'reason
1665 (string-to-number (match-string 1 string)))
1666 (cons 'requested
1589 (match-string 2 string))) 1667 (match-string 2 string)))
1590 (epg-context-result-for context 'error))))) 1668 (epg-context-result-for context 'error)))))
1591 1669
@@ -1595,6 +1673,12 @@ This function is for internal use only."
1595 (cons '(no-recipients) 1673 (cons '(no-recipients)
1596 (epg-context-result-for context 'error)))) 1674 (epg-context-result-for context 'error))))
1597 1675
1676(defun epg--status-NO_SGNR (context _string)
1677 (epg-context-set-result-for
1678 context 'error
1679 (cons '(no-signers)
1680 (epg-context-result-for context 'error))))
1681
1598(defun epg--status-DELETE_PROBLEM (context string) 1682(defun epg--status-DELETE_PROBLEM (context string)
1599 (if (string-match "\\`\\([0-9]+\\)" string) 1683 (if (string-match "\\`\\([0-9]+\\)" string)
1600 (epg-context-set-result-for 1684 (epg-context-set-result-for
@@ -1960,17 +2044,13 @@ If you are unsure, use synchronous version of this function
1960 (epg-wait-for-status context '("BEGIN_DECRYPTION")))) 2044 (epg-wait-for-status context '("BEGIN_DECRYPTION"))))
1961 2045
1962(defun epg--check-error-for-decrypt (context) 2046(defun epg--check-error-for-decrypt (context)
1963 (if (epg-context-result-for context 'decryption-failed) 2047 (let ((errors (epg-context-result-for context 'error)))
1964 (signal 'epg-error (list "Decryption failed"))) 2048 (if (epg-context-result-for context 'decryption-failed)
1965 (if (epg-context-result-for context 'no-secret-key) 2049 (signal 'epg-error
1966 (signal 'epg-error 2050 (list "Decryption failed" (epg-errors-to-string errors))))
1967 (list "No secret key"
1968 (epg-context-result-for context 'no-secret-key))))
1969 (unless (epg-context-result-for context 'decryption-okay) 2051 (unless (epg-context-result-for context 'decryption-okay)
1970 (let* ((error (epg-context-result-for context 'error))) 2052 (signal 'epg-error
1971 (if (assq 'no-data error) 2053 (list "Can't decrypt" (epg-errors-to-string errors))))))
1972 (signal 'epg-error (list "No data")))
1973 (signal 'epg-error (list "Can't decrypt" error)))))
1974 2054
1975(defun epg-decrypt-file (context cipher plain) 2055(defun epg-decrypt-file (context cipher plain)
1976 "Decrypt a file CIPHER and store the result to a file PLAIN. 2056 "Decrypt a file CIPHER and store the result to a file PLAIN.
@@ -2165,10 +2245,9 @@ Otherwise, it makes a cleartext signature."
2165 (epg-start-sign context (epg-make-data-from-file plain) mode) 2245 (epg-start-sign context (epg-make-data-from-file plain) mode)
2166 (epg-wait-for-completion context) 2246 (epg-wait-for-completion context)
2167 (unless (epg-context-result-for context 'sign) 2247 (unless (epg-context-result-for context 'sign)
2168 (if (epg-context-result-for context 'error) 2248 (let ((errors (epg-context-result-for context 'error)))
2169 (error "Sign failed: %S" 2249 (signal 'epg-error
2170 (epg-context-result-for context 'error)) 2250 (list "Sign failed" (epg-errors-to-string errors)))))
2171 (error "Sign failed")))
2172 (unless signature 2251 (unless signature
2173 (epg-read-output context))) 2252 (epg-read-output context)))
2174 (unless signature 2253 (unless signature
@@ -2203,9 +2282,9 @@ Otherwise, it makes a cleartext signature."
2203 (epg-wait-for-completion context) 2282 (epg-wait-for-completion context)
2204 (unless (epg-context-result-for context 'sign) 2283 (unless (epg-context-result-for context 'sign)
2205 (if (epg-context-result-for context 'error) 2284 (if (epg-context-result-for context 'error)
2206 (error "Sign failed: %S" 2285 (let ((errors (epg-context-result-for context 'error)))
2207 (epg-context-result-for context 'error)) 2286 (signal 'epg-error
2208 (error "Sign failed"))) 2287 (list "Sign failed" (epg-errors-to-string errors))))))
2209 (epg-read-output context)) 2288 (epg-read-output context))
2210 (epg-delete-output-file context) 2289 (epg-delete-output-file context)
2211 (if input-file 2290 (if input-file
@@ -2276,15 +2355,14 @@ If RECIPIENTS is nil, it performs symmetric encryption."
2276 (epg-start-encrypt context (epg-make-data-from-file plain) 2355 (epg-start-encrypt context (epg-make-data-from-file plain)
2277 recipients sign always-trust) 2356 recipients sign always-trust)
2278 (epg-wait-for-completion context) 2357 (epg-wait-for-completion context)
2279 (if (and sign 2358 (let ((errors (epg-context-result-for context 'error)))
2280 (not (epg-context-result-for context 'sign))) 2359 (if (and sign
2281 (if (epg-context-result-for context 'error) 2360 (not (epg-context-result-for context 'sign)))
2282 (error "Sign failed: %S" 2361 (signal 'epg-error
2283 (epg-context-result-for context 'error)) 2362 (list "Sign failed" (epg-errors-to-string errors))))
2284 (error "Sign failed"))) 2363 (if errors
2285 (if (epg-context-result-for context 'error) 2364 (signal 'epg-error
2286 (error "Encrypt failed: %S" 2365 (list "Encrypt failed" (epg-errors-to-string errors)))))
2287 (epg-context-result-for context 'error)))
2288 (unless cipher 2366 (unless cipher
2289 (epg-read-output context))) 2367 (epg-read-output context)))
2290 (unless cipher 2368 (unless cipher
@@ -2317,15 +2395,14 @@ If RECIPIENTS is nil, it performs symmetric encryption."
2317 (epg-make-data-from-string plain)) 2395 (epg-make-data-from-string plain))
2318 recipients sign always-trust) 2396 recipients sign always-trust)
2319 (epg-wait-for-completion context) 2397 (epg-wait-for-completion context)
2320 (if (and sign 2398 (let ((errors (epg-context-result-for context 'error)))
2321 (not (epg-context-result-for context 'sign))) 2399 (if (and sign
2322 (if (epg-context-result-for context 'error) 2400 (not (epg-context-result-for context 'sign)))
2323 (error "Sign failed: %S" 2401 (signal 'epg-error
2324 (epg-context-result-for context 'error)) 2402 (list "Sign failed" (epg-errors-to-string errors))))
2325 (error "Sign failed"))) 2403 (if errors
2326 (if (epg-context-result-for context 'error) 2404 (signal 'epg-error
2327 (error "Encrypt failed: %S" 2405 (list "Encrypt failed" (epg-errors-to-string errors)))))
2328 (epg-context-result-for context 'error)))
2329 (epg-read-output context)) 2406 (epg-read-output context))
2330 (epg-delete-output-file context) 2407 (epg-delete-output-file context)
2331 (if input-file 2408 (if input-file
@@ -2359,9 +2436,11 @@ If you are unsure, use synchronous version of this function
2359 (epg--make-temp-file "epg-output"))) 2436 (epg--make-temp-file "epg-output")))
2360 (epg-start-export-keys context keys) 2437 (epg-start-export-keys context keys)
2361 (epg-wait-for-completion context) 2438 (epg-wait-for-completion context)
2362 (if (epg-context-result-for context 'error) 2439 (let ((errors (epg-context-result-for context 'error)))
2363 (error "Export keys failed: %S" 2440 (if errors
2364 (epg-context-result-for context 'error))) 2441 (signal 'epg-error
2442 (list "Export keys failed"
2443 (epg-errors-to-string errors)))))
2365 (unless file 2444 (unless file
2366 (epg-read-output context))) 2445 (epg-read-output context)))
2367 (unless file 2446 (unless file
@@ -2398,9 +2477,11 @@ If you are unsure, use synchronous version of this function
2398 (progn 2477 (progn
2399 (epg-start-import-keys context keys) 2478 (epg-start-import-keys context keys)
2400 (epg-wait-for-completion context) 2479 (epg-wait-for-completion context)
2401 (if (epg-context-result-for context 'error) 2480 (let ((errors (epg-context-result-for context 'error)))
2402 (error "Import keys failed: %S" 2481 (if errors
2403 (epg-context-result-for context 'error)))) 2482 (signal 'epg-error
2483 (list "Import keys failed"
2484 (epg-errors-to-string errors))))))
2404 (epg-reset context))) 2485 (epg-reset context)))
2405 2486
2406(defun epg-import-keys-from-file (context keys) 2487(defun epg-import-keys-from-file (context keys)
@@ -2431,9 +2512,11 @@ KEYS is a list of key IDs"
2431 (progn 2512 (progn
2432 (epg-start-receive-keys context keys) 2513 (epg-start-receive-keys context keys)
2433 (epg-wait-for-completion context) 2514 (epg-wait-for-completion context)
2434 (if (epg-context-result-for context 'error) 2515 (let ((errors (epg-context-result-for context 'error)))
2435 (error "Receive keys failed: %S" 2516 (if errors
2436 (epg-context-result-for context 'error)))) 2517 (signal 'epg-error
2518 (list "Receive keys failed"
2519 (epg-errors-to-string errors))))))
2437 (epg-reset context))) 2520 (epg-reset context)))
2438 2521
2439(defalias 'epg-import-keys-from-server 'epg-receive-keys) 2522(defalias 'epg-import-keys-from-server 'epg-receive-keys)
@@ -2463,13 +2546,11 @@ If you are unsure, use synchronous version of this function
2463 (progn 2546 (progn
2464 (epg-start-delete-keys context keys allow-secret) 2547 (epg-start-delete-keys context keys allow-secret)
2465 (epg-wait-for-completion context) 2548 (epg-wait-for-completion context)
2466 (let ((entry (assq 'delete-problem 2549 (let ((errors (epg-context-result-for context 'error)))
2467 (epg-context-result-for context 'error)))) 2550 (if errors
2468 (if entry 2551 (signal 'epg-error
2469 (if (setq entry (assq (cdr entry) 2552 (list "Delete keys failed"
2470 epg-delete-problem-reason-alist)) 2553 (epg-errors-to-string errors))))))
2471 (error "Delete keys failed: %s" (cdr entry))
2472 (error "Delete keys failed")))))
2473 (epg-reset context))) 2554 (epg-reset context)))
2474 2555
2475(defun epg-start-sign-keys (context keys &optional local) 2556(defun epg-start-sign-keys (context keys &optional local)
@@ -2498,9 +2579,11 @@ If you are unsure, use synchronous version of this function
2498 (progn 2579 (progn
2499 (epg-start-sign-keys context keys local) 2580 (epg-start-sign-keys context keys local)
2500 (epg-wait-for-completion context) 2581 (epg-wait-for-completion context)
2501 (if (epg-context-result-for context 'error) 2582 (let ((errors (epg-context-result-for context 'error)))
2502 (error "Sign keys failed: %S" 2583 (if errors
2503 (epg-context-result-for context 'error)))) 2584 (signal 'epg-error
2585 (list "Sign keys failed"
2586 (epg-errors-to-string errors))))))
2504 (epg-reset context))) 2587 (epg-reset context)))
2505(make-obsolete 'epg-sign-keys "do not use." "23.1") 2588(make-obsolete 'epg-sign-keys "do not use." "23.1")
2506 2589
@@ -2532,9 +2615,11 @@ PARAMETERS is a file which tells how to create the key."
2532 (progn 2615 (progn
2533 (epg-start-generate-key context (epg-make-data-from-file parameters)) 2616 (epg-start-generate-key context (epg-make-data-from-file parameters))
2534 (epg-wait-for-completion context) 2617 (epg-wait-for-completion context)
2535 (if (epg-context-result-for context 'error) 2618 (let ((errors (epg-context-result-for context 'error)))
2536 (error "Generate key failed: %S" 2619 (if errors
2537 (epg-context-result-for context 'error)))) 2620 (signal 'epg-error
2621 (list "Generate key failed"
2622 (epg-errors-to-string errors))))))
2538 (epg-reset context))) 2623 (epg-reset context)))
2539 2624
2540(defun epg-generate-key-from-string (context parameters) 2625(defun epg-generate-key-from-string (context parameters)
@@ -2544,9 +2629,11 @@ PARAMETERS is a string which tells how to create the key."
2544 (progn 2629 (progn
2545 (epg-start-generate-key context (epg-make-data-from-string parameters)) 2630 (epg-start-generate-key context (epg-make-data-from-string parameters))
2546 (epg-wait-for-completion context) 2631 (epg-wait-for-completion context)
2547 (if (epg-context-result-for context 'error) 2632 (let ((errors (epg-context-result-for context 'error)))
2548 (error "Generate key failed: %S" 2633 (if errors
2549 (epg-context-result-for context 'error)))) 2634 (signal 'epg-error
2635 (list "Generate key failed"
2636 (epg-errors-to-string errors))))))
2550 (epg-reset context))) 2637 (epg-reset context)))
2551 2638
2552(defun epg--decode-percent-escape (string) 2639(defun epg--decode-percent-escape (string)
diff --git a/lisp/faces.el b/lisp/faces.el
index 302f8af35ac..3c4a3330c81 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -1255,7 +1255,7 @@ arg, prompt for a regular expression."
1255 (insert 1255 (insert
1256 (substitute-command-keys 1256 (substitute-command-keys
1257 (concat 1257 (concat
1258 "\\<help-mode-map>>Use " 1258 "\\<help-mode-map>Use "
1259 (if (display-mouse-p) "\\[help-follow-mouse] or ") 1259 (if (display-mouse-p) "\\[help-follow-mouse] or ")
1260 "\\[help-follow] on a face name to customize it\n" 1260 "\\[help-follow] on a face name to customize it\n"
1261 "or on its sample text for a description of the face.\n\n"))) 1261 "or on its sample text for a description of the face.\n\n")))
@@ -2413,6 +2413,39 @@ Note: Other faces cannot inherit from the cursor face."
2413It is used for characters of no fonts too." 2413It is used for characters of no fonts too."
2414 :version "24.1" 2414 :version "24.1"
2415 :group 'basic-faces) 2415 :group 'basic-faces)
2416
2417(defface error
2418 '((((class color) (min-colors 88) (background light)) (:foreground "Red1" :weight bold))
2419 (((class color) (min-colors 88) (background dark)) (:foreground "Pink" :weight bold))
2420 (((class color) (min-colors 16) (background light)) (:foreground "Red1" :weight bold))
2421 (((class color) (min-colors 16) (background dark)) (:foreground "Pink" :weight bold))
2422 (((class color) (min-colors 8)) (:foreground "red"))
2423 (t (:inverse-video t :weight bold)))
2424 "Basic face used to highlight errors and to denote failure."
2425 :version "24.1"
2426 :group 'basic-faces)
2427
2428(defface warning
2429 '((((class color) (min-colors 16)) (:foreground "DarkOrange" :weight bold))
2430 (((class color)) (:foreground "yellow" :weight bold))
2431 (t (:weight bold)))
2432 "Basic face used to highlight warnings."
2433 :version "24.1"
2434 :group 'basic-faces)
2435
2436(defface success
2437 '((((class color) (min-colors 16) (background light))
2438 (:foreground "ForestGreen" :weight bold))
2439 (((class color) (min-colors 88) (background dark))
2440 (:foreground "Green1" :weight bold))
2441 (((class color) (min-colors 16) (background dark))
2442 (:foreground "Green" :weight bold))
2443 (((class color)) (:foreground "green" :weight bold))
2444 (t (:weight bold)))
2445 "Basic face used to indicate successful operation."
2446 :version "24.1"
2447 :group 'basic-faces)
2448
2416 2449
2417;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2418;;; Manipulating font names. 2451;;; Manipulating font names.
diff --git a/lisp/files.el b/lisp/files.el
index 6b8a352f20c..a0f55517546 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1342,8 +1342,8 @@ automatically choosing a major mode, use \\[find-file-literally]."
1342 (confirm-nonexistent-file-or-buffer))) 1342 (confirm-nonexistent-file-or-buffer)))
1343 (let ((value (find-file-noselect filename nil nil wildcards))) 1343 (let ((value (find-file-noselect filename nil nil wildcards)))
1344 (if (listp value) 1344 (if (listp value)
1345 (mapcar #'pop-to-buffer-same-window (nreverse value)) 1345 (mapcar 'switch-to-buffer (nreverse value))
1346 (pop-to-buffer-same-window value)))) 1346 (switch-to-buffer value))))
1347 1347
1348(defun find-file-other-window (filename &optional wildcards) 1348(defun find-file-other-window (filename &optional wildcards)
1349 "Edit file FILENAME, in another window. 1349 "Edit file FILENAME, in another window.
@@ -1639,11 +1639,6 @@ home directory is a root directory) and removes automounter prefixes
1639 (substring filename (match-end 0))))) 1639 (substring filename (match-end 0)))))
1640 filename))) 1640 filename)))
1641 1641
1642(defcustom find-file-not-true-dirname-list nil
1643 "List of logical names for which visiting shouldn't save the true dirname."
1644 :type '(repeat (string :tag "Name"))
1645 :group 'find-file)
1646
1647(defun find-buffer-visiting (filename &optional predicate) 1642(defun find-buffer-visiting (filename &optional predicate)
1648 "Return the buffer visiting file FILENAME (a string). 1643 "Return the buffer visiting file FILENAME (a string).
1649This is like `get-file-buffer', except that it checks for any buffer 1644This is like `get-file-buffer', except that it checks for any buffer
@@ -3003,9 +2998,10 @@ mode, if there is one, otherwise nil."
3003 "-mode")))) 2998 "-mode"))))
3004 (or (equal keyname "coding") 2999 (or (equal keyname "coding")
3005 (condition-case nil 3000 (condition-case nil
3006 (push (cons (if (eq key 'eval) 3001 (push (cons (cond ((eq key 'eval) 'eval)
3007 'eval 3002 ;; Downcase "Mode:".
3008 (indirect-variable key)) 3003 ((equal keyname "mode") 'mode)
3004 (t (indirect-variable key)))
3009 val) result) 3005 val) result)
3010 (error nil)))) 3006 (error nil))))
3011 (skip-chars-forward " \t;"))) 3007 (skip-chars-forward " \t;")))
@@ -3153,6 +3149,8 @@ major-mode."
3153 (var (let ((read-circle nil)) 3149 (var (let ((read-circle nil))
3154 (read str))) 3150 (read str)))
3155 val val2) 3151 val val2)
3152 (and (equal (downcase (symbol-name var)) "mode")
3153 (setq var 'mode))
3156 ;; Read the variable value. 3154 ;; Read the variable value.
3157 (skip-chars-forward "^:") 3155 (skip-chars-forward "^:")
3158 (forward-char 1) 3156 (forward-char 1)
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index 6902ce98ab1..c37a9ae916e 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -1018,14 +1018,20 @@ The region it returns may start or end in the middle of a line.")
1018 (funcall font-lock-unfontify-buffer-function)) 1018 (funcall font-lock-unfontify-buffer-function))
1019 1019
1020(defun font-lock-fontify-region (beg end &optional loudly) 1020(defun font-lock-fontify-region (beg end &optional loudly)
1021 "Fontify the text between BEG and END.
1022If LOUDLY is non-nil, print status messages while fontifying.
1023This works by calling `font-lock-fontify-region-function'."
1021 (font-lock-set-defaults) 1024 (font-lock-set-defaults)
1022 (funcall font-lock-fontify-region-function beg end loudly)) 1025 (funcall font-lock-fontify-region-function beg end loudly))
1023 1026
1024(defun font-lock-unfontify-region (beg end) 1027(defun font-lock-unfontify-region (beg end)
1028 "Unfontify the text between BEG and END.
1029This works by calling `font-lock-unfontify-region-function'."
1025 (save-buffer-state 1030 (save-buffer-state
1026 (funcall font-lock-unfontify-region-function beg end))) 1031 (funcall font-lock-unfontify-region-function beg end)))
1027 1032
1028(defun font-lock-default-fontify-buffer () 1033(defun font-lock-default-fontify-buffer ()
1034 "Fontify the whole buffer using `font-lock-fontify-region-function'."
1029 (let ((verbose (if (numberp font-lock-verbose) 1035 (let ((verbose (if (numberp font-lock-verbose)
1030 (> (buffer-size) font-lock-verbose) 1036 (> (buffer-size) font-lock-verbose)
1031 font-lock-verbose))) 1037 font-lock-verbose)))
@@ -1045,6 +1051,7 @@ The region it returns may start or end in the middle of a line.")
1045 (quit (font-lock-unfontify-buffer))))))) 1051 (quit (font-lock-unfontify-buffer)))))))
1046 1052
1047(defun font-lock-default-unfontify-buffer () 1053(defun font-lock-default-unfontify-buffer ()
1054 "Unfontify the whole buffer using `font-lock-unfontify-region-function'."
1048 ;; Make sure we unfontify etc. in the whole buffer. 1055 ;; Make sure we unfontify etc. in the whole buffer.
1049 (save-restriction 1056 (save-restriction
1050 (widen) 1057 (widen)
@@ -1114,6 +1121,9 @@ Put first the functions more likely to cause a change and cheaper to compute.")
1114 changed)) 1121 changed))
1115 1122
1116(defun font-lock-default-fontify-region (beg end loudly) 1123(defun font-lock-default-fontify-region (beg end loudly)
1124 "Fontify the text between BEG and END.
1125If LOUDLY is non-nil, print status messages while fontifying.
1126This function is the default `font-lock-fontify-region-function'."
1117 (save-buffer-state 1127 (save-buffer-state
1118 ;; Use the fontification syntax table, if any. 1128 ;; Use the fontification syntax table, if any.
1119 (with-syntax-table (or font-lock-syntax-table (syntax-table)) 1129 (with-syntax-table (or font-lock-syntax-table (syntax-table))
@@ -1162,6 +1172,8 @@ This is used by `font-lock-default-unfontify-region' to decide
1162what properties to clear before refontifying a region.") 1172what properties to clear before refontifying a region.")
1163 1173
1164(defun font-lock-default-unfontify-region (beg end) 1174(defun font-lock-default-unfontify-region (beg end)
1175 "Unfontify the text between BEG and END.
1176This function is the default `font-lock-unfontify-region-function'."
1165 (remove-list-of-text-properties 1177 (remove-list-of-text-properties
1166 beg end (append 1178 beg end (append
1167 font-lock-extra-managed-props 1179 font-lock-extra-managed-props
@@ -1959,12 +1971,7 @@ Sets various variables using `font-lock-defaults' and
1959 :group 'font-lock-faces) 1971 :group 'font-lock-faces)
1960 1972
1961(defface font-lock-warning-face 1973(defface font-lock-warning-face
1962 '((((class color) (min-colors 88) (background light)) (:foreground "Red1" :weight bold)) 1974 '((t :inherit error))
1963 (((class color) (min-colors 88) (background dark)) (:foreground "Pink" :weight bold))
1964 (((class color) (min-colors 16) (background light)) (:foreground "Red1" :weight bold))
1965 (((class color) (min-colors 16) (background dark)) (:foreground "Pink" :weight bold))
1966 (((class color) (min-colors 8)) (:foreground "red"))
1967 (t (:inverse-video t :weight bold)))
1968 "Font Lock mode face used to highlight warnings." 1975 "Font Lock mode face used to highlight warnings."
1969 :group 'font-lock-faces) 1976 :group 'font-lock-faces)
1970 1977
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index acdd1033933..ceac837bc55 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,226 @@
12011-09-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
2
3 * nnimap.el (nnimap-open-connection-1): Use the correct port number in
4 the error message.
5
62011-09-02 Eli Zaretskii <eliz@gnu.org>
7
8 * message.el (message-setup-1): Return t (Bug#9392).
9
102011-09-01 Andrew Cohen <cohen@andy.bu.edu>
11
12 * gnus-sum.el: When adding article headers to a summary buffer also
13 update gnus-newsgroup-articles (bug#9386).
14
152011-08-30 Katsumi Yamaoka <yamaoka@jpl.org>
16
17 * auth-source.el: Autoload help-mode.
18
192011-08-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
20
21 * gnus-group.el (gnus-group-name-charset): Don't bug out on server
22 names.
23
242011-08-27 Daiki Ueno <ueno@unixuser.org>
25
26 * mml-smime.el (mml-smime-epg-verify): Don't use the 4th arg of
27 mm-replace-in-string for compatibility issues.
28 * mml2015.el (mml2015-epg-verify): Ditto.
29
302011-08-26 Katsumi Yamaoka <yamaoka@jpl.org>
31
32 * mailcap.el (mailcap-mime-data): Regexp-quote MIME subtype.
33
34 * gnus-msg.el (gnus-setup-message): Remove extra apostrophe.
35
362011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
37
38 * nnmail.el (nnmail-get-new-mail-1): If one mail source bugs out,
39 continue on and do the clean-up phase (bug#9188).
40
41 * gnus-sum.el (gnus-summary-expire-articles): When expiring articles,
42 just ignore groups that can't be opened instead of erroring out
43 (bug#9225).
44
45 * gnus-art.el (gnus-article-update-date-headers): Flip the default to
46 nil since some many people are fuddy-duddies.
47
48 * gnus-html.el (gnus-html-image-fetched): Don't cache zero-length
49 images.
50
51 * nntp.el (nntp-authinfo-file): Mark as obsolete -- use auth-source
52 instead.
53
54 * pop3.el (pop3-wait-for-messages): Don't use Gnus functions here.
55
56 * gnus-util.el (gnus-process-live-p): Copy over compat function.
57
58 * pop3.el (pop3-wait-for-messages): If the pop3 process dies, stop
59 processing.
60
61 * nntp.el (nntp-kill-buffer): Kill the process before killing the
62 buffer to avoid warnings.
63
642011-08-20 Simon Josefsson <simon@josefsson.org>
65
66 * gnus-agent.el (gnus-agent-expire-done-message): Use %.f as format
67 specified to reduce precision.
68
692011-08-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
70
71 * nnimap.el (nnimap-transform-headers): Protect against (NIL ...)
72 bodystructures (bug#9314).
73
742011-08-19 Katsumi Yamaoka <yamaoka@jpl.org>
75
76 * gnus-art.el (gnus-insert-mime-button, gnus-mime-display-alternative):
77 Make button keymap non-sticky after buttons.
78
792011-08-18 David Engster <dengste@eml.cc>
80
81 * nnmairix.el (nnmairix-request-set-mark)
82 (nnmairix-goto-original-article): Remove adding of article to registry,
83 since `gnus-registry-add-group' isn't available anymore.
84 (nnmairix-determine-original-group-from-registry): Use
85 `gnus-registry-get-id-key' since `gnus-registry-fetch-groups' isn't
86 available anymore.
87
882011-08-12 Simon Josefsson <simon@josefsson.org>
89
90 * starttls.el (starttls-any-program-available): Define as obsolete
91 function.
92
932011-08-18 Lars Magne Ingebrigtsen <larsi@gnus.org>
94
95 * gnus-util.el (gnus-y-or-n-p): Reinstate the message-clearing y-or-n-p
96 versions which Gnus use when appropriate.
97
98 * gnus-group.el (gnus-group-clear-data): Add a y-or-n query, since it's
99 a pretty destructive command.
100
101 * nnmail.el (nnmail-extra-headers): Clarify slightly (bug#9302).
102
1032011-08-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
104
105 * message.el (message-fix-before-sending): Make a different warning
106 about NUL characters (bug#9270).
107
108 * gnus-sum.el (gnus-auto-select-subject): Allow specifying a function
109 from custom (bug#9260).
110
111 * gnus-spec.el (gnus-lrm-string): Use 8206 instead of ?\x200e to make
112 things work in Emacs 22 and XEmacs, too.
113
114 * gnus-sum.el (gnus-summary-from-or-to-or-newsgroups): LRM-ify the
115 default From.
116
117 * gnus-spec.el (gnus-lrm-string-p): New macro.
118 (gnus-lrm-string): New constant.
119 (gnus-summary-line-format-spec): LRM-ify the from.
120 (gnus-tilde-max-form): LRM-ify string chopping.
121
122 * gnus-ems.el (gnus-string-mark-left-to-right): New function.
123
124 * message.el (message-is-yours-p): Allow disabling canlock checking
125 (bug#9295).
126 (message-shoot-gnksa-feet): Add `canlock-verify'.
127 (message-auto-save-directory): Use ~/ as the auto-save directory if the
128 message directory isn't writable (bug#9304).
129
130 * auth-source.el (auth-source-netrc-saver): Make the .authinfo file
131 non-world-readable.
132
1332011-08-17 Katsumi Yamaoka <yamaoka@jpl.org>
134
135 * nndraft.el (nndraft-update-unread-articles): Don't send delayed
136 articles.
137
1382011-08-13 Andreas Schwab <schwab@linux-m68k.org>
139
140 * gnus-score.el (gnus-all-score-files): Use copy-sequence instead of
141 copy-list.
142
1432011-08-12 Sam Steingold <sds@gnu.org>
144
145 * gnus-score.el (gnus-score-find-alist): Keep the score files already
146 in the reverse order to avoid modifying the cache with `nreverse'.
147 (gnus-all-score-files): Do not modify the value returned by
148 `gnus-score-find-alist' because it lives in a cache variable.
149 (gnus-current-home-score-file): No need to `nreverse' the return value
150 of `gnus-score-find-alist', it is already in the correct order.
151
1522011-08-11 Andrew Cohen <cohen@andy.bu.edu>
153
154 * nnimap.el (nnimap-transform-headers): BODYSTRUCTURE for messages of
155 type MESSAGE and subtype RFC822 is slightly different from those of
156 type TEXT.
157
1582011-08-05 Andrew Cohen <cohen@andy.bu.edu>
159
160 * gnus-sum.el (gnus-summary-refer-article): Warp to article. This
161 allows article-referral to work from an nnir group.
162
1632011-08-04 Andrew Cohen <cohen@andy.bu.edu>
164
165 * gnus.el (registry-ignore): Add nnir groups to the ignore-list.
166
1672011-08-04 Daiki Ueno <ueno@unixuser.org>
168
169 * mml1991.el (mml1991-epg-find-usable-key)
170 (mml1991-epg-find-usable-secret-key): New function.
171 (mml1991-epg-sign): Check if signing key is usable.
172 (mml1991-epg-encrypt): Check if encrypting key is usable (bug#8955).
173
1742011-08-03 Andrew Cohen <cohen@andy.bu.edu>
175
176 * nnir.el (nnir-read-server-parm): Add an argument to restrict to
177 server-variables only. This should fix a bug introduced with commit
178 e1889675b7f4adf057833c5513c9374134c4e053.
179 (nnir-run-query): 'nnir-search-engine should not be set from the global
180 environment.
181
1822011-08-02 Andrew Cohen <cohen@andy.bu.edu>
183
184 * nnir.el (nnir-search-thread): Position point on referring article
185 line.
186 (nnir-warp-to-article): Clean up summary buffers.
187
188 * nnimap.el (nnimap-request-thread): Whitespace fix.
189
1902011-08-02 Steve Purcell <steve@sanityinc.com> (tiny change)
191
192 * nnimap.el (nnimap-get-groups): Decode "&" correctly.
193
1942011-08-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
195
196 * starttls.el (starttls-available-p): Renamed from
197 `starttls-any-program-available' and changed return convention.
198
1992011-07-31 Lars Ingebrigtsen <larsi@gnus.org>
200
201 * nnmaildir.el (nnmaildir-request-accept-article): Don't call
202 `unix-sync' unless it's defined.
203
2042011-07-31 Marcus Harnisch <marcus.harnisch@gmx.net> (tiny change)
205
206 * gnus-art.el (gnus-article-stop-animations): Use `elt' instead of
207 `aref' for XEmacs compatibiltiy.
208
2092011-07-31 Lars Magne Ingebrigtsen <larsi@gnus.org>
210
211 * spam.el (spam-fetch-field-fast): Rewrite slightly for clarity.
212
2132011-07-31 Dave Abrahams <dave@boostpro.com> (tiny change)
214
215 * gnus-sum.el (gnus-summary-refer-thread): Since lambdas aren't
216 closures, quote the form properly (bug#9194).
217
2182011-07-31 Lars Magne Ingebrigtsen <larsi@gnus.org>
219
220 * gnus-sum.el (gnus-summary-insert-new-articles): Clean up slightly.
221 (gnus-summary-insert-new-articles): Protect against servers that are
222 down.
223
12011-07-29 Daniel Dehennin <daniel.dehennin@baby-gnu.org> 2242011-07-29 Daniel Dehennin <daniel.dehennin@baby-gnu.org>
2 225
3 * mm-decode.el (mm-dissect-buffer): Add a default content-disposition 226 * mm-decode.el (mm-dissect-buffer): Add a default content-disposition
diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el
index e249e97e826..74d69d0820c 100644
--- a/lisp/gnus/auth-source.el
+++ b/lisp/gnus/auth-source.el
@@ -70,6 +70,8 @@
70(autoload 'epg-context-set-armor "epg") 70(autoload 'epg-context-set-armor "epg")
71(autoload 'epg-encrypt-string "epg") 71(autoload 'epg-encrypt-string "epg")
72 72
73(autoload 'help-mode "help-mode" nil t)
74
73(defvar secrets-enabled) 75(defvar secrets-enabled)
74 76
75(defgroup auth-source nil 77(defgroup auth-source nil
@@ -1377,6 +1379,8 @@ Respects `auth-source-save-behavior'. Uses
1377 (insert "\n")) 1379 (insert "\n"))
1378 (insert add "\n") 1380 (insert add "\n")
1379 (write-region (point-min) (point-max) file nil 'silent) 1381 (write-region (point-min) (point-max) file nil 'silent)
1382 ;; Make the .authinfo file non-world-readable.
1383 (set-file-modes file #o600)
1380 (auth-source-do-debug 1384 (auth-source-do-debug
1381 "auth-source-netrc-create: wrote 1 new line to %s" 1385 "auth-source-netrc-create: wrote 1 new line to %s"
1382 file) 1386 file)
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index 424c55c40f5..26222119b98 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -3560,7 +3560,7 @@ articles in every agentized group? "))
3560 units (cdr units))) 3560 units (cdr units)))
3561 3561
3562 (format "Expiry recovered %d NOV entries, deleted %d files,\ 3562 (format "Expiry recovered %d NOV entries, deleted %d files,\
3563 and freed %f %s." 3563 and freed %.f %s."
3564 (nth 0 stats) 3564 (nth 0 stats)
3565 (nth 1 stats) 3565 (nth 1 stats)
3566 size (car units))) 3566 size (car units)))
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index c29000f4691..eaf0ed52f51 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -1039,7 +1039,7 @@ Some of these headers are updated automatically. See
1039 (item :tag "ISO8601 format" :value 'iso8601) 1039 (item :tag "ISO8601 format" :value 'iso8601)
1040 (item :tag "User-defined" :value 'user-defined))) 1040 (item :tag "User-defined" :value 'user-defined)))
1041 1041
1042(defcustom gnus-article-update-date-headers 1 1042(defcustom gnus-article-update-date-headers nil
1043 "A number that says how often to update the date header (in seconds). 1043 "A number that says how often to update the date header (in seconds).
1044If nil, don't update it at all." 1044If nil, don't update it at all."
1045 :version "24.1" 1045 :version "24.1"
@@ -4541,7 +4541,7 @@ commands:
4541(defun gnus-article-stop-animations () 4541(defun gnus-article-stop-animations ()
4542 (dolist (timer (and (boundp 'timer-list) 4542 (dolist (timer (and (boundp 'timer-list)
4543 timer-list)) 4543 timer-list))
4544 (when (eq (aref timer 5) 'image-animate-timeout) 4544 (when (eq (elt timer 5) 'image-animate-timeout)
4545 (cancel-timer timer)))) 4545 (cancel-timer timer))))
4546 4546
4547;; Set article window start at LINE, where LINE is the number of lines 4547;; Set article window start at LINE, where LINE is the number of lines
@@ -5700,7 +5700,8 @@ all parts."
5700 gnus-callback gnus-mm-display-part 5700 gnus-callback gnus-mm-display-part
5701 gnus-part ,gnus-tmp-id 5701 gnus-part ,gnus-tmp-id
5702 article-type annotation 5702 article-type annotation
5703 gnus-data ,handle)) 5703 gnus-data ,handle
5704 rear-nonsticky t))
5704 (setq e (if (bolp) 5705 (setq e (if (bolp)
5705 ;; Exclude a newline. 5706 ;; Exclude a newline.
5706 (1- (point)) 5707 (1- (point))
@@ -6013,7 +6014,8 @@ If displaying \"text/html\" is discouraged \(see
6013 ,gnus-mouse-face-prop ,gnus-article-mouse-face 6014 ,gnus-mouse-face-prop ,gnus-article-mouse-face
6014 face ,gnus-article-button-face 6015 face ,gnus-article-button-face
6015 gnus-part ,id 6016 gnus-part ,id
6016 article-type multipart)) 6017 article-type multipart
6018 rear-nonsticky t))
6017 (widget-convert-button 'link from (point) 6019 (widget-convert-button 'link from (point)
6018 :action 'gnus-widget-press-button 6020 :action 'gnus-widget-press-button
6019 :button-keymap gnus-widget-button-keymap) 6021 :button-keymap gnus-widget-button-keymap)
@@ -6037,7 +6039,8 @@ If displaying \"text/html\" is discouraged \(see
6037 ,gnus-mouse-face-prop ,gnus-article-mouse-face 6039 ,gnus-mouse-face-prop ,gnus-article-mouse-face
6038 face ,gnus-article-button-face 6040 face ,gnus-article-button-face
6039 gnus-part ,id 6041 gnus-part ,id
6040 gnus-data ,handle)) 6042 gnus-data ,handle
6043 rear-nonsticky t))
6041 (widget-convert-button 'link from (point) 6044 (widget-convert-button 'link from (point)
6042 :action 'gnus-widget-press-button 6045 :action 'gnus-widget-press-button
6043 :button-keymap gnus-widget-button-keymap) 6046 :button-keymap gnus-widget-button-keymap)
diff --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el
index bc85e4960d4..aed471c38f4 100644
--- a/lisp/gnus/gnus-ems.el
+++ b/lisp/gnus/gnus-ems.el
@@ -209,6 +209,11 @@
209 (setq start end 209 (setq start end
210 end nil)))))) 210 end nil))))))
211 211
212(defmacro gnus-string-mark-left-to-right (string)
213 (if (fboundp 'string-mark-left-to-right)
214 `(string-mark-left-to-right ,string)
215 string))
216
212(eval-and-compile 217(eval-and-compile
213 ;; XEmacs does not have window-inside-pixel-edges 218 ;; XEmacs does not have window-inside-pixel-edges
214 (defalias 'gnus-window-inside-pixel-edges 219 (defalias 'gnus-window-inside-pixel-edges
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index 2a31ccd34f0..5cc01759a04 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -1194,21 +1194,27 @@ The following commands are available:
1194 (gnus-group-mode))) 1194 (gnus-group-mode)))
1195 1195
1196(defun gnus-group-name-charset (method group) 1196(defun gnus-group-name-charset (method group)
1197 (if (null method) 1197 (unless method
1198 (setq method (gnus-find-method-for-group group))) 1198 (setq method (gnus-find-method-for-group group)))
1199 (let ((item (or (assoc method gnus-group-name-charset-method-alist) 1199 (when (stringp method)
1200 (and (consp method) 1200 (setq method (gnus-server-to-method method)))
1201 (assoc (list (car method) (cadr method)) 1201 (if (eq (car method) 'nnimap)
1202 gnus-group-name-charset-method-alist)))) 1202 ;; IMAP groups should not be encoded, since they do the encoding
1203 (alist gnus-group-name-charset-group-alist) 1203 ;; in utf7 in the protocol.
1204 result) 1204 nil
1205 (if item 1205 (let ((item (or (assoc method gnus-group-name-charset-method-alist)
1206 (cdr item) 1206 (and (consp method)
1207 (while (setq item (pop alist)) 1207 (assoc (list (car method) (cadr method))
1208 (if (string-match (car item) group) 1208 gnus-group-name-charset-method-alist))))
1209 (setq alist nil 1209 (alist gnus-group-name-charset-group-alist)
1210 result (cdr item)))) 1210 result)
1211 result))) 1211 (if item
1212 (cdr item)
1213 (while (setq item (pop alist))
1214 (if (string-match (car item) group)
1215 (setq alist nil
1216 result (cdr item))))
1217 result))))
1212 1218
1213(defun gnus-group-name-decode (string charset) 1219(defun gnus-group-name-decode (string charset)
1214 ;; Fixme: Don't decode in unibyte mode. 1220 ;; Fixme: Don't decode in unibyte mode.
@@ -3471,13 +3477,14 @@ sort in reverse order."
3471 "Clear all marks and read ranges from the current group. 3477 "Clear all marks and read ranges from the current group.
3472Obeys the process/prefix convention." 3478Obeys the process/prefix convention."
3473 (interactive "P") 3479 (interactive "P")
3474 (gnus-group-iterate arg 3480 (when (gnus-y-or-n-p "Really clear data? ")
3475 (lambda (group) 3481 (gnus-group-iterate arg
3476 (let (info) 3482 (lambda (group)
3477 (gnus-info-clear-data (setq info (gnus-get-info group))) 3483 (let (info)
3478 (gnus-get-unread-articles-in-group info (gnus-active group) t) 3484 (gnus-info-clear-data (setq info (gnus-get-info group)))
3479 (when (gnus-group-goto-group group) 3485 (gnus-get-unread-articles-in-group info (gnus-active group) t)
3480 (gnus-group-update-group-line)))))) 3486 (when (gnus-group-goto-group group)
3487 (gnus-group-update-group-line)))))))
3481 3488
3482(defun gnus-group-clear-data-on-native-groups () 3489(defun gnus-group-clear-data-on-native-groups ()
3483 "Clear all marks and read ranges from all native groups." 3490 "Clear all marks and read ranges from all native groups."
diff --git a/lisp/gnus/gnus-html.el b/lisp/gnus/gnus-html.el
index d3da6aab1b7..f443c4021e2 100644
--- a/lisp/gnus/gnus-html.el
+++ b/lisp/gnus/gnus-html.el
@@ -399,15 +399,16 @@ Use ALT-TEXT for the image string."
399(defun gnus-html-image-fetched (status buffer image) 399(defun gnus-html-image-fetched (status buffer image)
400 "Callback function called when image has been fetched." 400 "Callback function called when image has been fetched."
401 (unless (plist-get status :error) 401 (unless (plist-get status :error)
402 (when gnus-html-image-automatic-caching
403 (url-store-in-cache (current-buffer)))
404 (when (and (or (search-forward "\n\n" nil t) 402 (when (and (or (search-forward "\n\n" nil t)
405 (search-forward "\r\n\r\n" nil t)) 403 (search-forward "\r\n\r\n" nil t))
406 (buffer-live-p buffer)) 404 (not (eobp)))
407 (let ((data (buffer-substring (point) (point-max)))) 405 (when gnus-html-image-automatic-caching
408 (with-current-buffer buffer 406 (url-store-in-cache (current-buffer)))
409 (let ((inhibit-read-only t)) 407 (when (buffer-live-p buffer)
410 (gnus-html-put-image data (car image) (cadr image))))))) 408 (let ((data (buffer-substring (point) (point-max))))
409 (with-current-buffer buffer
410 (let ((inhibit-read-only t))
411 (gnus-html-put-image data (car image) (cadr image))))))))
411 (kill-buffer (current-buffer))) 412 (kill-buffer (current-buffer)))
412 413
413(defun gnus-html-get-image-data (url) 414(defun gnus-html-get-image-data (url)
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el
index 9d3ec25c03a..d60c7165abd 100644
--- a/lisp/gnus/gnus-msg.el
+++ b/lisp/gnus/gnus-msg.el
@@ -435,7 +435,7 @@ Thank you for your help in stamping out bugs.
435 (progn 435 (progn
436 ,@forms) 436 ,@forms)
437 (gnus-inews-add-send-actions ,winconf ,buffer ,article ,config 437 (gnus-inews-add-send-actions ,winconf ,buffer ,article ,config
438 ,yanked ',winconf-name) 438 ,yanked ,winconf-name)
439 (setq gnus-message-buffer (current-buffer)) 439 (setq gnus-message-buffer (current-buffer))
440 (set (make-local-variable 'gnus-message-group-art) 440 (set (make-local-variable 'gnus-message-group-art)
441 (cons ,group ,article)) 441 (cons ,group ,article))
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el
index 9bbfbfb057e..eb7234a811e 100644
--- a/lisp/gnus/gnus-score.el
+++ b/lisp/gnus/gnus-score.el
@@ -2834,8 +2834,7 @@ The list is determined from the variable `gnus-score-file-alist'."
2834 ;; handle the multiple match alist 2834 ;; handle the multiple match alist
2835 (while alist 2835 (while alist
2836 (when (string-match (caar alist) group) 2836 (when (string-match (caar alist) group)
2837 (setq score-files 2837 (setq score-files (append (cdar alist) score-files)))
2838 (nconc score-files (copy-sequence (cdar alist)))))
2839 (setq alist (cdr alist))) 2838 (setq alist (cdr alist)))
2840 (setq alist gnus-score-file-single-match-alist) 2839 (setq alist gnus-score-file-single-match-alist)
2841 ;; handle the single match alist 2840 ;; handle the single match alist
@@ -2845,8 +2844,7 @@ The list is determined from the variable `gnus-score-file-alist'."
2845 ;; and score-files is still nil. -sj 2844 ;; and score-files is still nil. -sj
2846 ;; this can be construed as a "stop searching here" feature :> 2845 ;; this can be construed as a "stop searching here" feature :>
2847 ;; and used to simplify regexps in the single-alist 2846 ;; and used to simplify regexps in the single-alist
2848 (setq score-files 2847 (setq score-files (append (cdar alist) score-files))
2849 (nconc score-files (copy-sequence (cdar alist))))
2850 (setq alist nil)) 2848 (setq alist nil))
2851 (setq alist (cdr alist))) 2849 (setq alist (cdr alist)))
2852 ;; cache the score files 2850 ;; cache the score files
@@ -2866,7 +2864,7 @@ The list is determined from the variable `gnus-score-file-alist'."
2866 (when gnus-score-use-all-scores 2864 (when gnus-score-use-all-scores
2867 ;; Get the initial score files for this group. 2865 ;; Get the initial score files for this group.
2868 (when funcs 2866 (when funcs
2869 (setq score-files (nreverse (gnus-score-find-alist group)))) 2867 (setq score-files (copy-sequence (gnus-score-find-alist group))))
2870 ;; Add any home adapt files. 2868 ;; Add any home adapt files.
2871 (let ((home (gnus-home-score-file group t))) 2869 (let ((home (gnus-home-score-file group t)))
2872 (when home 2870 (when home
@@ -3013,7 +3011,7 @@ If ADAPT, return the home adaptive file instead."
3013 3011
3014(defun gnus-current-home-score-file (group) 3012(defun gnus-current-home-score-file (group)
3015 "Return the \"current\" regular score file." 3013 "Return the \"current\" regular score file."
3016 (car (nreverse (gnus-score-find-alist group)))) 3014 (car (gnus-score-find-alist group)))
3017 3015
3018;;; 3016;;;
3019;;; Score decays 3017;;; Score decays
diff --git a/lisp/gnus/gnus-spec.el b/lisp/gnus/gnus-spec.el
index 4682f512476..0fa64a84b75 100644
--- a/lisp/gnus/gnus-spec.el
+++ b/lisp/gnus/gnus-spec.el
@@ -90,6 +90,15 @@ text properties. This is only needed on XEmacs, as Emacs does this anyway."
90(declare-function gnus-summary-from-or-to-or-newsgroups "gnus-sum" 90(declare-function gnus-summary-from-or-to-or-newsgroups "gnus-sum"
91 (header gnus-tmp-from)) 91 (header gnus-tmp-from))
92 92
93(defmacro gnus-lrm-string-p (string)
94 (if (fboundp 'string-mark-left-to-rigth)
95 `(eq (aref ,string (1- (length ,string))) 8206)
96 nil))
97
98(defvar gnus-lrm-string (if (ignore-errors (string 8206))
99 (propertize (string 8206) 'invisible t)
100 ""))
101
93(defun gnus-summary-line-format-spec () 102(defun gnus-summary-line-format-spec ()
94 (insert gnus-tmp-unread gnus-tmp-replied 103 (insert gnus-tmp-unread gnus-tmp-replied
95 gnus-tmp-score-char gnus-tmp-indentation) 104 gnus-tmp-score-char gnus-tmp-indentation)
@@ -103,7 +112,9 @@ text properties. This is only needed on XEmacs, as Emacs does this anyway."
103 (gnus-summary-from-or-to-or-newsgroups 112 (gnus-summary-from-or-to-or-newsgroups
104 gnus-tmp-header gnus-tmp-from)))) 113 gnus-tmp-header gnus-tmp-from))))
105 (if (> (length val) 23) 114 (if (> (length val) 23)
106 (substring val 0 23) 115 (if (gnus-lrm-string-p val)
116 (concat (substring val 0 23) gnus-lrm-string)
117 (substring val 0 23))
107 val)) 118 val))
108 gnus-tmp-closing-bracket)) 119 gnus-tmp-closing-bracket))
109 (point)) 120 (point))
@@ -351,13 +362,17 @@ Return a list of updated types."
351 `(if (> (,length-fun ,el) ,max) 362 `(if (> (,length-fun ,el) ,max)
352 ,(if (< max-width 0) 363 ,(if (< max-width 0)
353 `(,substring-fun ,el (- (,length-fun ,el) ,max)) 364 `(,substring-fun ,el (- (,length-fun ,el) ,max))
354 `(,substring-fun ,el 0 ,max)) 365 `(if (gnus-lrm-string-p ,el)
366 (concat (,substring-fun ,el 0 ,max) ,gnus-lrm-string)
367 (,substring-fun ,el 0 ,max)))
355 ,el) 368 ,el)
356 `(let ((val (eval ,el))) 369 `(let ((val (eval ,el)))
357 (if (> (,length-fun val) ,max) 370 (if (> (,length-fun val) ,max)
358 ,(if (< max-width 0) 371 ,(if (< max-width 0)
359 `(,substring-fun val (- (,length-fun val) ,max)) 372 `(,substring-fun val (- (,length-fun val) ,max))
360 `(,substring-fun val 0 ,max)) 373 `(if (gnus-lrm-string-p val)
374 (concat (,substring-fun val 0 ,max) ,gnus-lrm-string)
375 (,substring-fun val 0 ,max)))
361 val))))) 376 val)))))
362 377
363(defun gnus-tilde-cut-form (el cut-width) 378(defun gnus-tilde-cut-form (el cut-width)
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 5917c9d7cef..fd441c46d17 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -375,7 +375,8 @@ place point on some subject line."
375 (const unread) 375 (const unread)
376 (const first) 376 (const first)
377 (const unseen) 377 (const unseen)
378 (const unseen-or-unread))) 378 (const unseen-or-unread)
379 (function :tag "Function to call")))
379 380
380(defcustom gnus-auto-select-next t 381(defcustom gnus-auto-select-next t
381 "*If non-nil, offer to go to the next group from the end of the previous. 382 "*If non-nil, offer to go to the next group from the end of the previous.
@@ -3709,7 +3710,9 @@ buffer that was in action when the last article was fetched."
3709 gnus-newsgroup-name)) 'nntp) 3710 gnus-newsgroup-name)) 'nntp)
3710 (gnus-group-real-name gnus-newsgroup-name)))) 3711 (gnus-group-real-name gnus-newsgroup-name))))
3711 (concat gnus-summary-newsgroup-prefix newsgroups))))) 3712 (concat gnus-summary-newsgroup-prefix newsgroups)))))
3712 (inline (gnus-summary-extract-address-component gnus-tmp-from))))) 3713 (gnus-string-mark-left-to-right
3714 (inline
3715 (gnus-summary-extract-address-component gnus-tmp-from))))))
3713 3716
3714(defun gnus-summary-insert-line (gnus-tmp-header 3717(defun gnus-summary-insert-line (gnus-tmp-header
3715 gnus-tmp-level gnus-tmp-current 3718 gnus-tmp-level gnus-tmp-current
@@ -8627,6 +8630,8 @@ fetched for this group."
8627 'list gnus-newsgroup-headers 8630 'list gnus-newsgroup-headers
8628 (gnus-fetch-headers articles nil t) 8631 (gnus-fetch-headers articles nil t)
8629 'gnus-article-sort-by-number)) 8632 'gnus-article-sort-by-number))
8633 (setq gnus-newsgroup-articles
8634 (gnus-sorted-nunion gnus-newsgroup-articles articles))
8630 (gnus-summary-limit (append articles gnus-newsgroup-limit)))) 8635 (gnus-summary-limit (append articles gnus-newsgroup-limit))))
8631 8636
8632(defun gnus-summary-limit-exclude-dormant () 8637(defun gnus-summary-limit-exclude-dormant ()
@@ -9015,13 +9020,15 @@ non-numeric or nil fetch the number specified by the
9015 (refs (split-string (or (mail-header-references header) 9020 (refs (split-string (or (mail-header-references header)
9016 ""))) 9021 "")))
9017 (gnus-parse-headers-hook 9022 (gnus-parse-headers-hook
9018 (lambda () (goto-char (point-min)) 9023 `(lambda () (goto-char (point-min))
9019 (keep-lines 9024 (keep-lines
9020 (regexp-opt (append refs (list id subject))))))) 9025 (regexp-opt ',(append refs (list id subject)))))))
9021 (gnus-fetch-headers (list last) (if (numberp limit) 9026 (gnus-fetch-headers (list last) (if (numberp limit)
9022 (* 2 limit) limit) t))))) 9027 (* 2 limit) limit) t))))
9028 article-ids)
9023 (when (listp new-headers) 9029 (when (listp new-headers)
9024 (dolist (header new-headers) 9030 (dolist (header new-headers)
9031 (push (mail-header-number header) article-ids)
9025 (when (member (mail-header-number header) gnus-newsgroup-unselected) 9032 (when (member (mail-header-number header) gnus-newsgroup-unselected)
9026 (push (mail-header-number header) gnus-newsgroup-unreads) 9033 (push (mail-header-number header) gnus-newsgroup-unreads)
9027 (setq gnus-newsgroup-unselected 9034 (setq gnus-newsgroup-unselected
@@ -9032,11 +9039,14 @@ non-numeric or nil fetch the number specified by the
9032 (gnus-merge 9039 (gnus-merge
9033 'list gnus-newsgroup-headers new-headers 9040 'list gnus-newsgroup-headers new-headers
9034 'gnus-article-sort-by-number))) 9041 'gnus-article-sort-by-number)))
9042 (setq gnus-newsgroup-articles
9043 (gnus-sorted-nunion gnus-newsgroup-articles (nreverse article-ids)))
9035 (gnus-summary-limit-include-thread id)))) 9044 (gnus-summary-limit-include-thread id))))
9036 9045
9037(defun gnus-summary-refer-article (message-id) 9046(defun gnus-summary-refer-article (message-id)
9038 "Fetch an article specified by MESSAGE-ID." 9047 "Fetch an article specified by MESSAGE-ID."
9039 (interactive "sMessage-ID: ") 9048 (interactive "sMessage-ID: ")
9049 (gnus-warp-to-article)
9040 (when (and (stringp message-id) 9050 (when (and (stringp message-id)
9041 (not (zerop (length message-id)))) 9051 (not (zerop (length message-id))))
9042 (setq message-id (gnus-replace-in-string message-id " " "")) 9052 (setq message-id (gnus-replace-in-string message-id " " ""))
@@ -10283,34 +10293,33 @@ This will be the case if the article has both been mailed and posted."
10283 ;; There are expirable articles in this group, so we run them 10293 ;; There are expirable articles in this group, so we run them
10284 ;; through the expiry process. 10294 ;; through the expiry process.
10285 (gnus-message 6 "Expiring articles...") 10295 (gnus-message 6 "Expiring articles...")
10286 (unless (gnus-check-group gnus-newsgroup-name) 10296 (when (gnus-check-group gnus-newsgroup-name)
10287 (error "Can't open server for %s" gnus-newsgroup-name)) 10297 ;; The list of articles that weren't expired is returned.
10288 ;; The list of articles that weren't expired is returned. 10298 (save-excursion
10289 (save-excursion 10299 (if expiry-wait
10290 (if expiry-wait 10300 (let ((nnmail-expiry-wait-function nil)
10291 (let ((nnmail-expiry-wait-function nil) 10301 (nnmail-expiry-wait expiry-wait))
10292 (nnmail-expiry-wait expiry-wait)) 10302 (setq es (gnus-request-expire-articles
10293 (setq es (gnus-request-expire-articles 10303 expirable gnus-newsgroup-name)))
10294 expirable gnus-newsgroup-name))) 10304 (setq es (gnus-request-expire-articles
10295 (setq es (gnus-request-expire-articles 10305 expirable gnus-newsgroup-name)))
10296 expirable gnus-newsgroup-name))) 10306 (unless total
10297 (unless total 10307 (setq gnus-newsgroup-expirable es))
10298 (setq gnus-newsgroup-expirable es)) 10308 ;; We go through the old list of expirable, and mark all
10299 ;; We go through the old list of expirable, and mark all 10309 ;; really expired articles as nonexistent.
10300 ;; really expired articles as nonexistent. 10310 (unless (eq es expirable) ;If nothing was expired, we don't mark.
10301 (unless (eq es expirable) ;If nothing was expired, we don't mark. 10311 (let ((gnus-use-cache nil))
10302 (let ((gnus-use-cache nil)) 10312 (dolist (article expirable)
10303 (dolist (article expirable) 10313 (when (and (not (memq article es))
10304 (when (and (not (memq article es)) 10314 (gnus-data-find article))
10305 (gnus-data-find article)) 10315 (gnus-summary-mark-article article gnus-canceled-mark)
10306 (gnus-summary-mark-article article gnus-canceled-mark) 10316 (run-hook-with-args 'gnus-summary-article-expire-hook
10307 (run-hook-with-args 'gnus-summary-article-expire-hook 10317 'delete
10308 'delete 10318 (gnus-data-header
10309 (gnus-data-header 10319 (assoc article (gnus-data-list nil)))
10310 (assoc article (gnus-data-list nil))) 10320 gnus-newsgroup-name
10311 gnus-newsgroup-name 10321 nil
10312 nil 10322 nil)))))))
10313 nil))))))
10314 (gnus-message 6 "Expiring articles...done"))))) 10323 (gnus-message 6 "Expiring articles...done")))))
10315 10324
10316(defun gnus-summary-expire-articles-now () 10325(defun gnus-summary-expire-articles-now ()
@@ -12740,6 +12749,8 @@ returned."
12740 gnus-newsgroup-headers 12749 gnus-newsgroup-headers
12741 (gnus-fetch-headers articles) 12750 (gnus-fetch-headers articles)
12742 'gnus-article-sort-by-number)) 12751 'gnus-article-sort-by-number))
12752 (setq gnus-newsgroup-articles
12753 (gnus-sorted-nunion gnus-newsgroup-articles articles))
12743 ;; Suppress duplicates? 12754 ;; Suppress duplicates?
12744 (when gnus-suppress-duplicates 12755 (when gnus-suppress-duplicates
12745 (gnus-dup-suppress-articles)) 12756 (gnus-dup-suppress-articles))
@@ -12851,26 +12862,26 @@ If ALL is a number, fetch this number of articles."
12851(defun gnus-summary-insert-new-articles () 12862(defun gnus-summary-insert-new-articles ()
12852 "Insert all new articles in this group." 12863 "Insert all new articles in this group."
12853 (interactive) 12864 (interactive)
12854 (prog1 12865 (let ((old (sort (mapcar 'car gnus-newsgroup-data) '<))
12855 (let ((old (sort (mapcar 'car gnus-newsgroup-data) '<)) 12866 (old-high gnus-newsgroup-highest)
12856 (old-high gnus-newsgroup-highest) 12867 (nnmail-fetched-sources (list t))
12857 (nnmail-fetched-sources (list t)) 12868 (new-active (gnus-activate-group gnus-newsgroup-name 'scan))
12858 i new) 12869 i new)
12859 (setq gnus-newsgroup-active 12870 (unless new-active
12860 (gnus-copy-sequence 12871 (error "Couldn't fetch new data"))
12861 (gnus-activate-group gnus-newsgroup-name 'scan))) 12872 (setq gnus-newsgroup-active (gnus-copy-sequence new-active))
12862 (setq i (cdr gnus-newsgroup-active) 12873 (setq i (cdr gnus-newsgroup-active)
12863 gnus-newsgroup-highest i) 12874 gnus-newsgroup-highest i)
12864 (while (> i old-high) 12875 (while (> i old-high)
12865 (push i new) 12876 (push i new)
12866 (decf i)) 12877 (decf i))
12867 (if (not new) 12878 (if (not new)
12868 (message "No gnus is bad news") 12879 (message "No gnus is bad news")
12869 (gnus-summary-insert-articles new) 12880 (gnus-summary-insert-articles new)
12870 (setq gnus-newsgroup-unreads 12881 (setq gnus-newsgroup-unreads
12871 (gnus-sorted-nunion gnus-newsgroup-unreads new)) 12882 (gnus-sorted-nunion gnus-newsgroup-unreads new))
12872 (gnus-summary-limit (gnus-sorted-nunion old new)))) 12883 (gnus-summary-limit (gnus-sorted-nunion old new))))
12873 (gnus-summary-position-point))) 12884 (gnus-summary-position-point))
12874 12885
12875;;; Bookmark support for Gnus. 12886;;; Bookmark support for Gnus.
12876(declare-function bookmark-make-record-default 12887(declare-function bookmark-make-record-default
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index 7155c7f9607..34953611966 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -388,57 +388,14 @@ TIME defaults to the current time."
388 (define-key keymap key (pop plist)) 388 (define-key keymap key (pop plist))
389 (pop plist))))) 389 (pop plist)))))
390 390
391;; Two silly functions to ensure that all `y-or-n-p' questions clear 391(defun gnus-y-or-n-p (prompt)
392;; the echo area. 392 (prog1
393;; 393 (y-or-n-p prompt)
394;; Do we really need these functions? Workarounds for bugs in the corresponding 394 (message "")))
395;; Emacs functions? Maybe these bugs are no longer present in any supported 395(defun gnus-yes-or-no-p (prompt)
396;; (X)Emacs version? Alias them to the original functions and see if anyone 396 (prog1
397;; reports a problem. If not, replace with original functions. --rsteib, 397 (yes-or-no-p prompt)
398;; 2007-12-14 398 (message "")))
399;;
400;; All supported Emacsen clear the echo area after `yes-or-no-p', so we can
401;; remove `yes-or-no-p'. RMS says that not clearing after `y-or-n-p' is
402;; intentional (see below), so we could remove `gnus-y-or-n-p' too.
403;; Objections? --rsteib, 2008-02-16
404;;
405;; ,----[ http://thread.gmane.org/gmane.emacs.gnus.general/65099/focus=66070 ]
406;; | From: Richard Stallman
407;; | Subject: Re: Do we need gnus-yes-or-no-p and gnus-y-or-n-p?
408;; | To: Katsumi Yamaoka [...]
409;; | Cc: emacs-devel@[...], xemacs-beta@[...], ding@[...]
410;; | Date: Mon, 07 Jan 2008 12:16:05 -0500
411;; | Message-ID: <E1JBva1-000528-VY@fencepost.gnu.org>
412;; |
413;; | The behavior of `y-or-n-p' that it doesn't clear the question
414;; | and the answer is not serious of course, but I feel it is not
415;; | cool.
416;; |
417;; | It is intentional.
418;; |
419;; | Currently, it is commented out in the trunk by Reiner Steib. He
420;; | also wrote the benefit of leaving the question and the answer in
421;; | the echo area as follows:
422;; |
423;; | (http://article.gmane.org/gmane.emacs.gnus.general/66061)
424;; | > In contrast to yes-or-no-p it is much easier to type y, n,
425;; | > SPC, DEL, etc accidentally, so it might be useful for the user
426;; | > to see what he has typed.
427;; |
428;; | Yes, that is the reason.
429;; `----
430
431;; (defun gnus-y-or-n-p (prompt)
432;; (prog1
433;; (y-or-n-p prompt)
434;; (message "")))
435;; (defun gnus-yes-or-no-p (prompt)
436;; (prog1
437;; (yes-or-no-p prompt)
438;; (message "")))
439
440(defalias 'gnus-y-or-n-p 'y-or-n-p)
441(defalias 'gnus-yes-or-no-p 'yes-or-no-p)
442 399
443;; By Frank Schmitt <ich@Frank-Schmitt.net>. Allows to have 400;; By Frank Schmitt <ich@Frank-Schmitt.net>. Allows to have
444;; age-depending date representations. (e.g. just the time if it's 401;; age-depending date representations. (e.g. just the time if it's
@@ -1292,6 +1249,13 @@ This function saves the current buffer."
1292 (with-current-buffer gnus-group-buffer 1249 (with-current-buffer gnus-group-buffer
1293 (eq major-mode 'gnus-group-mode)))) 1250 (eq major-mode 'gnus-group-mode))))
1294 1251
1252(defun gnus-process-live-p (process)
1253 "Returns non-nil if PROCESS is alive.
1254A process is considered alive if its status is `run', `open',
1255`listen', `connect' or `stop'."
1256 (memq (process-status process)
1257 '(run open listen connect stop)))
1258
1295(defun gnus-remove-if (predicate sequence &optional hash-table-p) 1259(defun gnus-remove-if (predicate sequence &optional hash-table-p)
1296 "Return a copy of SEQUENCE with all items satisfying PREDICATE removed. 1260 "Return a copy of SEQUENCE with all items satisfying PREDICATE removed.
1297SEQUENCE should be a list, a vector, or a string. Returns always a list. 1261SEQUENCE should be a list, a vector, or a string. Returns always a list.
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index 7ff90f583cf..cd9b6eeb949 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -1875,7 +1875,7 @@ total number of articles in the group.")
1875 :variable-default (mapcar 1875 :variable-default (mapcar
1876 (lambda (g) (list g t)) 1876 (lambda (g) (list g t))
1877 '("delayed$" "drafts$" "queue$" "INBOX$" 1877 '("delayed$" "drafts$" "queue$" "INBOX$"
1878 "^nnmairix:" "archive")) 1878 "^nnmairix:" "^nnir:" "archive"))
1879 :variable-document 1879 :variable-document
1880 "*Groups in which the registry should be turned off." 1880 "*Groups in which the registry should be turned off."
1881 :variable-group gnus-registry 1881 :variable-group gnus-registry
diff --git a/lisp/gnus/mailcap.el b/lisp/gnus/mailcap.el
index dffb279daba..7959104d646 100644
--- a/lisp/gnus/mailcap.el
+++ b/lisp/gnus/mailcap.el
@@ -90,7 +90,7 @@ This is a compatibility function for different Emacsen."
90;; files for the rest? -- fx 90;; files for the rest? -- fx
91(defvar mailcap-mime-data 91(defvar mailcap-mime-data
92 `(("application" 92 `(("application"
93 ("vnd.ms-excel" 93 ("vnd\\.ms-excel"
94 (viewer . "gnumeric %s") 94 (viewer . "gnumeric %s")
95 (test . (getenv "DISPLAY")) 95 (test . (getenv "DISPLAY"))
96 (type . "application/vnd.ms-excel")) 96 (type . "application/vnd.ms-excel"))
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 47c4de0aedc..194ebf81873 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -1310,7 +1310,7 @@ text and it replaces `self-insert-command' with the other command, e.g.
1310 :type '(repeat function)) 1310 :type '(repeat function))
1311 1311
1312(defcustom message-auto-save-directory 1312(defcustom message-auto-save-directory
1313 (if (file-exists-p message-directory) 1313 (if (file-writable-p message-directory)
1314 (file-name-as-directory (expand-file-name "drafts" message-directory)) 1314 (file-name-as-directory (expand-file-name "drafts" message-directory))
1315 "~/") 1315 "~/")
1316 "*Directory where Message auto-saves buffers if Gnus isn't running. 1316 "*Directory where Message auto-saves buffers if Gnus isn't running.
@@ -1353,7 +1353,8 @@ candidates:
1353`quoted-text-only' Allow you to post quoted text only; 1353`quoted-text-only' Allow you to post quoted text only;
1354`multiple-copies' Allow you to post multiple copies; 1354`multiple-copies' Allow you to post multiple copies;
1355`cancel-messages' Allow you to cancel or supersede messages from 1355`cancel-messages' Allow you to cancel or supersede messages from
1356 your other email addresses.") 1356 your other email addresses;
1357`canlock-verify' Allow you to cancel messages without verifying canlock.")
1357 1358
1358(defsubst message-gnksa-enable-p (feature) 1359(defsubst message-gnksa-enable-p (feature)
1359 (or (not (listp message-shoot-gnksa-feet)) 1360 (or (not (listp message-shoot-gnksa-feet))
@@ -4253,8 +4254,10 @@ conformance."
4253 "Invisible text found and made visible; continue sending? ") 4254 "Invisible text found and made visible; continue sending? ")
4254 (error "Invisible text found and made visible"))))) 4255 (error "Invisible text found and made visible")))))
4255 (message-check 'illegible-text 4256 (message-check 'illegible-text
4256 (let (char found choice) 4257 (let (char found choice nul-chars)
4257 (message-goto-body) 4258 (message-goto-body)
4259 (setq nul-chars (save-excursion
4260 (search-forward "\000" nil t)))
4258 (while (progn 4261 (while (progn
4259 (skip-chars-forward mm-7bit-chars) 4262 (skip-chars-forward mm-7bit-chars)
4260 (when (get-text-property (point) 'no-illegible-text) 4263 (when (get-text-property (point) 'no-illegible-text)
@@ -4280,7 +4283,9 @@ conformance."
4280 (when found 4283 (when found
4281 (setq choice 4284 (setq choice
4282 (gnus-multiple-choice 4285 (gnus-multiple-choice
4283 "Non-printable characters found. Continue sending?" 4286 (if nul-chars
4287 "NUL characters found, which may cause problems. Continue sending?"
4288 "Non-printable characters found. Continue sending?")
4284 `((?d "Remove non-printable characters and send") 4289 `((?d "Remove non-printable characters and send")
4285 (?r ,(format 4290 (?r ,(format
4286 "Replace non-printable characters with \"%s\" and send" 4291 "Replace non-printable characters with \"%s\" and send"
@@ -6525,7 +6530,9 @@ are not included."
6525 (message-position-point) 6530 (message-position-point)
6526 ;; Allow correct handling of `message-checksum' in `message-yank-original': 6531 ;; Allow correct handling of `message-checksum' in `message-yank-original':
6527 (set-buffer-modified-p nil) 6532 (set-buffer-modified-p nil)
6528 (undo-boundary)) 6533 (undo-boundary)
6534 ;; rmail-start-mail expects message-mail to return t (Bug#9392)
6535 t)
6529 6536
6530(defun message-set-auto-save-file-name () 6537(defun message-set-auto-save-file-name ()
6531 "Associate the message buffer with a file in the drafts directory." 6538 "Associate the message buffer with a file in the drafts directory."
@@ -7037,7 +7044,8 @@ regexp to match all of yours addresses."
7037 (save-excursion 7044 (save-excursion
7038 (save-restriction 7045 (save-restriction
7039 (message-narrow-to-head-1) 7046 (message-narrow-to-head-1)
7040 (if (message-fetch-field "Cancel-Lock") 7047 (if (and (message-fetch-field "Cancel-Lock")
7048 (message-gnksa-enable-p 'canlock-verify))
7041 (if (null (canlock-verify)) 7049 (if (null (canlock-verify))
7042 t 7050 t
7043 (error "Failed to verify Cancel-lock: This article is not yours")) 7051 (error "Failed to verify Cancel-lock: This article is not yours"))
diff --git a/lisp/gnus/mml-smime.el b/lisp/gnus/mml-smime.el
index 43c91604ec5..7a7b3f6d82d 100644
--- a/lisp/gnus/mml-smime.el
+++ b/lisp/gnus/mml-smime.el
@@ -531,7 +531,7 @@ Content-Disposition: attachment; filename=smime.p7m
531 (mm-set-handle-multipart-parameter 531 (mm-set-handle-multipart-parameter
532 mm-security-handle 'gnus-info "Corrupted") 532 mm-security-handle 'gnus-info "Corrupted")
533 (throw 'error handle)) 533 (throw 'error handle))
534 (setq part (mm-replace-in-string part "\n" "\r\n" t) 534 (setq part (mm-replace-in-string part "\n" "\r\n")
535 context (epg-make-context 'CMS)) 535 context (epg-make-context 'CMS))
536 (condition-case error 536 (condition-case error
537 (setq plain (epg-verify-string context (mm-get-part signature) part)) 537 (setq plain (epg-verify-string context (mm-get-part signature) part))
diff --git a/lisp/gnus/mml1991.el b/lisp/gnus/mml1991.el
index a5d778845c1..ad9f95796fe 100644
--- a/lisp/gnus/mml1991.el
+++ b/lisp/gnus/mml1991.el
@@ -247,6 +247,10 @@ Whether the passphrase is cached at all is controlled by
247(autoload 'epg-context-set-textmode "epg") 247(autoload 'epg-context-set-textmode "epg")
248(autoload 'epg-context-set-signers "epg") 248(autoload 'epg-context-set-signers "epg")
249(autoload 'epg-context-set-passphrase-callback "epg") 249(autoload 'epg-context-set-passphrase-callback "epg")
250(autoload 'epg-key-sub-key-list "epg")
251(autoload 'epg-sub-key-capability "epg")
252(autoload 'epg-sub-key-validity "epg")
253(autoload 'epg-sub-key-fingerprint "epg")
250(autoload 'epg-sign-string "epg") 254(autoload 'epg-sign-string "epg")
251(autoload 'epg-encrypt-string "epg") 255(autoload 'epg-encrypt-string "epg")
252(autoload 'epg-configuration "epg-config") 256(autoload 'epg-configuration "epg-config")
@@ -274,17 +278,59 @@ Whether the passphrase is cached at all is controlled by
274 (cons key-id mml1991-epg-secret-key-id-list)) 278 (cons key-id mml1991-epg-secret-key-id-list))
275 (copy-sequence passphrase))))) 279 (copy-sequence passphrase)))))
276 280
281(defun mml1991-epg-find-usable-key (keys usage)
282 (catch 'found
283 (while keys
284 (let ((pointer (epg-key-sub-key-list (car keys))))
285 (while pointer
286 (if (and (memq usage (epg-sub-key-capability (car pointer)))
287 (not (memq 'disabled (epg-sub-key-capability (car pointer))))
288 (not (memq (epg-sub-key-validity (car pointer))
289 '(revoked expired))))
290 (throw 'found (car keys)))
291 (setq pointer (cdr pointer))))
292 (setq keys (cdr keys)))))
293
294;; XXX: since gpg --list-secret-keys does not return validity of each
295;; key, `mml1991-epg-find-usable-key' defined above is not enough for
296;; secret keys. The function `mml1991-epg-find-usable-secret-key'
297;; below looks at appropriate public keys to check usability.
298(defun mml1991-epg-find-usable-secret-key (context name usage)
299 (let ((secret-keys (epg-list-keys context name t))
300 secret-key)
301 (while (and (not secret-key) secret-keys)
302 (if (mml1991-epg-find-usable-key
303 (epg-list-keys context (epg-sub-key-fingerprint
304 (car (epg-key-sub-key-list
305 (car secret-keys)))))
306 usage)
307 (setq secret-key (car secret-keys)
308 secret-keys nil)
309 (setq secret-keys (cdr secret-keys))))
310 secret-key))
311
277(defun mml1991-epg-sign (cont) 312(defun mml1991-epg-sign (cont)
278 (let ((context (epg-make-context)) 313 (let ((context (epg-make-context))
279 headers cte signers signature) 314 headers cte signer-key signers signature)
280 (if (eq mm-sign-option 'guided) 315 (if (eq mm-sign-option 'guided)
281 (setq signers (epa-select-keys context "Select keys for signing. 316 (setq signers (epa-select-keys context "Select keys for signing.
282If no one is selected, default secret key is used. " 317If no one is selected, default secret key is used. "
283 mml1991-signers t)) 318 mml1991-signers t))
284 (if mml1991-signers 319 (if mml1991-signers
285 (setq signers (mapcar (lambda (name) 320 (setq signers (delq nil
286 (car (epg-list-keys context name t))) 321 (mapcar
287 mml1991-signers)))) 322 (lambda (name)
323 (setq signer-key
324 (mml1991-epg-find-usable-secret-key
325 context name 'sign))
326 (unless (or signer-key
327 (y-or-n-p
328 (format
329 "No secret key for %s; skip it? "
330 name)))
331 (error "No secret key for %s" name))
332 signer-key)
333 mml1991-signers)))))
288 (epg-context-set-armor context t) 334 (epg-context-set-armor context t)
289 (epg-context-set-textmode context t) 335 (epg-context-set-textmode context t)
290 (epg-context-set-signers context signers) 336 (epg-context-set-signers context signers)
@@ -344,7 +390,11 @@ If no one is selected, default secret key is used. "
344 (split-string 390 (split-string
345 (message-options-get 'message-recipients) 391 (message-options-get 'message-recipients)
346 "[ \f\t\n\r\v,]+"))) 392 "[ \f\t\n\r\v,]+")))
347 cipher signers config) 393 recipient-key signer-key cipher signers config)
394 (when mml1991-encrypt-to-self
395 (unless mml1991-signers
396 (error "mml1991-signers is not set"))
397 (setq recipients (nconc recipients mml1991-signers)))
348 ;; We should remove this check if epg-0.0.6 is released. 398 ;; We should remove this check if epg-0.0.6 is released.
349 (if (and (condition-case nil 399 (if (and (condition-case nil
350 (require 'epg-config) 400 (require 'epg-config)
@@ -363,26 +413,32 @@ If no one is selected, default secret key is used. "
363If no one is selected, symmetric encryption will be performed. " 413If no one is selected, symmetric encryption will be performed. "
364 recipients)) 414 recipients))
365 (setq recipients 415 (setq recipients
366 (delq nil (mapcar (lambda (name) 416 (delq nil (mapcar
367 (car (epg-list-keys context name))) 417 (lambda (name)
368 recipients)))) 418 (setq recipient-key (mml1991-epg-find-usable-key
369 (if mml1991-encrypt-to-self 419 (epg-list-keys context name)
370 (if mml1991-signers 420 'encrypt))
371 (setq recipients 421 (unless (or recipient-key
372 (nconc recipients 422 (y-or-n-p
373 (mapcar (lambda (name) 423 (format "No public key for %s; skip it? "
374 (car (epg-list-keys context name))) 424 name)))
375 mml1991-signers))) 425 (error "No public key for %s" name))
376 (error "mml1991-signers not set"))) 426 recipient-key)
427 recipients)))
428 (unless recipients
429 (error "No recipient specified")))
377 (when sign 430 (when sign
378 (if (eq mm-sign-option 'guided) 431 (if (eq mm-sign-option 'guided)
379 (setq signers (epa-select-keys context "Select keys for signing. 432 (setq signers (epa-select-keys context "Select keys for signing.
380If no one is selected, default secret key is used. " 433If no one is selected, default secret key is used. "
381 mml1991-signers t)) 434 mml1991-signers t))
382 (if mml1991-signers 435 (if mml1991-signers
383 (setq signers (mapcar (lambda (name) 436 (setq signers (delq nil
384 (car (epg-list-keys context name t))) 437 (mapcar
385 mml1991-signers)))) 438 (lambda (name)
439 (mml1991-epg-find-usable-secret-key
440 context name 'sign))
441 mml1991-signers)))))
386 (epg-context-set-signers context signers)) 442 (epg-context-set-signers context signers))
387 (epg-context-set-armor context t) 443 (epg-context-set-armor context t)
388 (epg-context-set-textmode context t) 444 (epg-context-set-textmode context t)
diff --git a/lisp/gnus/mml2015.el b/lisp/gnus/mml2015.el
index 7d8a4119c0e..b9310beed58 100644
--- a/lisp/gnus/mml2015.el
+++ b/lisp/gnus/mml2015.el
@@ -923,7 +923,7 @@ If set, it overrides the setting of `mml2015-sign-with-sender'."
923 (mm-set-handle-multipart-parameter 923 (mm-set-handle-multipart-parameter
924 mm-security-handle 'gnus-info "Corrupted") 924 mm-security-handle 'gnus-info "Corrupted")
925 (throw 'error handle)) 925 (throw 'error handle))
926 (setq part (mm-replace-in-string part "\n" "\r\n" t) 926 (setq part (mm-replace-in-string part "\n" "\r\n")
927 signature (mm-get-part signature) 927 signature (mm-get-part signature)
928 context (epg-make-context)) 928 context (epg-make-context))
929 (condition-case error 929 (condition-case error
diff --git a/lisp/gnus/nndraft.el b/lisp/gnus/nndraft.el
index f528222dd16..0b47062a919 100644
--- a/lisp/gnus/nndraft.el
+++ b/lisp/gnus/nndraft.el
@@ -177,6 +177,8 @@ are generated if and only if they are also in `message-draft-headers'.")
177 (list 'nndraft ""))) 177 (list 'nndraft "")))
178 (nnmail-get-active))) 178 (nnmail-get-active)))
179 (gnus-group-marked (copy-sequence groups)) 179 (gnus-group-marked (copy-sequence groups))
180 ;; Don't send delayed articles.
181 (gnus-get-new-news-hook nil)
180 (inhibit-read-only t)) 182 (inhibit-read-only t))
181 (gnus-group-get-new-news-this-group nil t) 183 (gnus-group-get-new-news-this-group nil t)
182 (dolist (group groups) 184 (dolist (group groups)
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index 52de48869d8..52c4b3c4290 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -216,9 +216,14 @@ textual parts.")
216 (let ((structure (ignore-errors 216 (let ((structure (ignore-errors
217 (read (current-buffer))))) 217 (read (current-buffer)))))
218 (while (and (consp structure) 218 (while (and (consp structure)
219 (not (stringp (car structure)))) 219 (not (atom (car structure))))
220 (setq structure (car structure))) 220 (setq structure (car structure)))
221 (setq lines (nth 7 structure)))) 221 (setq lines (if (and
222 (stringp (car structure))
223 (equal (upcase (nth 0 structure)) "MESSAGE")
224 (equal (upcase (nth 1 structure)) "RFC822"))
225 (nth 9 structure)
226 (nth 7 structure)))))
222 (delete-region (line-beginning-position) (line-end-position)) 227 (delete-region (line-beginning-position) (line-end-position))
223 (insert (format "211 %s Article retrieved." article)) 228 (insert (format "211 %s Article retrieved." article))
224 (forward-line 1) 229 (forward-line 1)
@@ -345,7 +350,6 @@ textual parts.")
345 (with-current-buffer (nnimap-make-process-buffer buffer) 350 (with-current-buffer (nnimap-make-process-buffer buffer)
346 (let* ((coding-system-for-read 'binary) 351 (let* ((coding-system-for-read 'binary)
347 (coding-system-for-write 'binary) 352 (coding-system-for-write 'binary)
348 (port nil)
349 (ports 353 (ports
350 (cond 354 (cond
351 ((memq nnimap-stream '(network plain starttls)) 355 ((memq nnimap-stream '(network plain starttls))
@@ -390,7 +394,7 @@ textual parts.")
390 (if (not stream) 394 (if (not stream)
391 (progn 395 (progn
392 (nnheader-report 'nnimap "Unable to contact %s:%s via %s" 396 (nnheader-report 'nnimap "Unable to contact %s:%s via %s"
393 nnimap-address port nnimap-stream) 397 nnimap-address (car ports) nnimap-stream)
394 'no-connect) 398 'no-connect)
395 (gnus-set-process-query-on-exit-flag stream nil) 399 (gnus-set-process-query-on-exit-flag stream nil)
396 (if (not (gnus-string-match-p "[*.] \\(OK\\|PREAUTH\\)" greeting)) 400 (if (not (gnus-string-match-p "[*.] \\(OK\\|PREAUTH\\)" greeting))
@@ -1107,9 +1111,9 @@ textual parts.")
1107 (separator (read (current-buffer))) 1111 (separator (read (current-buffer)))
1108 (group (read (current-buffer)))) 1112 (group (read (current-buffer))))
1109 (unless (member '%NoSelect flags) 1113 (unless (member '%NoSelect flags)
1110 (push (if (stringp group) 1114 (push (utf7-decode (if (stringp group)
1111 group 1115 group
1112 (format "%s" group)) 1116 (format "%s" group)) t)
1113 groups)))) 1117 groups))))
1114 (nreverse groups))) 1118 (nreverse groups)))
1115 1119
@@ -1168,7 +1172,7 @@ textual parts.")
1168 (nnimap-get-groups))) 1172 (nnimap-get-groups)))
1169 (unless (assoc group nnimap-current-infos) 1173 (unless (assoc group nnimap-current-infos)
1170 ;; Insert dummy numbers here -- they don't matter. 1174 ;; Insert dummy numbers here -- they don't matter.
1171 (insert (format "%S 0 1 y\n" group)))) 1175 (insert (format "%S 0 1 y\n" (utf7-encode group)))))
1172 t))) 1176 t)))
1173 1177
1174(deffoo nnimap-retrieve-group-data-early (server infos) 1178(deffoo nnimap-retrieve-group-data-early (server infos)
@@ -1566,7 +1570,7 @@ textual parts.")
1566 (articles &optional limit force-new dependencies)) 1570 (articles &optional limit force-new dependencies))
1567 1571
1568(deffoo nnimap-request-thread (header &optional group server) 1572(deffoo nnimap-request-thread (header &optional group server)
1569 (if gnus-refer-thread-use-nnir 1573 (if gnus-refer-thread-use-nnir
1570 (nnir-search-thread header) 1574 (nnir-search-thread header)
1571 (when (nnimap-possibly-change-group group server) 1575 (when (nnimap-possibly-change-group group server)
1572 (let* ((cmd (nnimap-make-thread-query header)) 1576 (let* ((cmd (nnimap-make-thread-query header))
diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el
index e6420a4d7bb..17fc3f3fe81 100644
--- a/lisp/gnus/nnir.el
+++ b/lisp/gnus/nnir.el
@@ -767,11 +767,18 @@ Add an entry here when adding a new search engine.")
767(deffoo nnir-warp-to-article () 767(deffoo nnir-warp-to-article ()
768 (let* ((cur (if (> (gnus-summary-article-number) 0) 768 (let* ((cur (if (> (gnus-summary-article-number) 0)
769 (gnus-summary-article-number) 769 (gnus-summary-article-number)
770 (error "This is not a real article."))) 770 (error "This is not a real article")))
771 (gnus-newsgroup-name (nnir-article-group cur)) 771 (backend-article-group (nnir-article-group cur))
772 (backend-number (nnir-article-number cur))) 772 (backend-article-number (nnir-article-number cur))
773 (gnus-summary-read-group-1 gnus-newsgroup-name t t gnus-summary-buffer 773 (quit-config (gnus-ephemeral-group-p gnus-newsgroup-name)))
774 nil (list backend-number)))) 774 ;; first exit from the nnir summary buffer.
775 (gnus-summary-exit)
776 ;; and if the nnir summary buffer in turn came from another
777 ;; summary buffer we have to clean that summary up too.
778 (when (eq (cdr quit-config) 'summary)
779 (gnus-summary-exit))
780 (gnus-summary-read-group-1 backend-article-group t t nil
781 nil (list backend-article-number))))
775 782
776(nnoo-define-skeleton nnir) 783(nnoo-define-skeleton nnir)
777 784
@@ -1617,7 +1624,7 @@ actually)."
1617 (let* ((server (car x)) 1624 (let* ((server (car x))
1618 (nnir-search-engine 1625 (nnir-search-engine
1619 (or (nnir-read-server-parm 'nnir-search-engine 1626 (or (nnir-read-server-parm 'nnir-search-engine
1620 server) 1627 server t)
1621 (cdr (assoc (car 1628 (cdr (assoc (car
1622 (gnus-server-to-method server)) 1629 (gnus-server-to-method server))
1623 nnir-method-default-engines)))) 1630 nnir-method-default-engines))))
@@ -1636,14 +1643,16 @@ actually)."
1636 nil))) 1643 nil)))
1637 groups)))) 1644 groups))))
1638 1645
1639(defun nnir-read-server-parm (key server) 1646(defun nnir-read-server-parm (key server &optional not-global)
1640 "Returns the parameter value of key for the given server, where 1647 "Returns the parameter value corresponding to `key' for
1641server is of form 'backend:name'." 1648`server'. If no server-specific value is found consult the global
1649environment unless `not-global' is non-nil."
1642 (let ((method (gnus-server-to-method server))) 1650 (let ((method (gnus-server-to-method server)))
1643 (cond ((and method (assq key (cddr method))) 1651 (cond ((and method (assq key (cddr method)))
1644 (nth 1 (assq key (cddr method)))) 1652 (nth 1 (assq key (cddr method))))
1645 ((boundp key) (symbol-value key)) 1653 ((and (not not-global) (boundp key)) (symbol-value key))
1646 (t nil)))) 1654 (t nil))))
1655
1647 1656
1648(defun nnir-possibly-change-server (server) 1657(defun nnir-possibly-change-server (server)
1649 (unless (and server (nnir-server-opened server)) 1658 (unless (and server (nnir-server-opened server))
@@ -1659,7 +1668,8 @@ server is of form 'backend:name'."
1659 (cons 'server (gnus-method-to-server 1668 (cons 'server (gnus-method-to-server
1660 (gnus-find-method-for-group 1669 (gnus-find-method-for-group
1661 gnus-newsgroup-name)))))) 1670 gnus-newsgroup-name))))))
1662 (gnus-group-make-nnir-group nil parm))) 1671 (gnus-group-make-nnir-group nil parm)
1672 (gnus-summary-goto-subject (gnus-id-to-article (mail-header-id header)))))
1663 1673
1664;; unused? 1674;; unused?
1665(defun nnir-artlist-groups (artlist) 1675(defun nnir-artlist-groups (artlist)
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el
index 8906a036779..d83467a1ed5 100644
--- a/lisp/gnus/nnmail.el
+++ b/lisp/gnus/nnmail.el
@@ -554,7 +554,9 @@ parameter. It should return nil, `warn' or `delete'."
554 (const delete))) 554 (const delete)))
555 555
556(defcustom nnmail-extra-headers '(To Newsgroups) 556(defcustom nnmail-extra-headers '(To Newsgroups)
557 "*Extra headers to parse." 557 "Extra headers to parse.
558In addition to the standard headers, these extra headers will be
559included in NOV headers (and the like) when backends parse headers."
558 :version "21.1" 560 :version "21.1"
559 :group 'nnmail 561 :group 'nnmail
560 :type '(repeat symbol)) 562 :type '(repeat symbol))
@@ -1840,18 +1842,23 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
1840 ;; and fetch the mail from each. 1842 ;; and fetch the mail from each.
1841 (while (setq source (pop fetching-sources)) 1843 (while (setq source (pop fetching-sources))
1842 (when (setq new 1844 (when (setq new
1843 (mail-source-fetch 1845 (condition-case cond
1844 source 1846 (mail-source-fetch
1845 (gnus-byte-compile 1847 source
1846 `(lambda (file orig-file) 1848 (gnus-byte-compile
1847 (nnmail-split-incoming 1849 `(lambda (file orig-file)
1848 file ',(intern (format "%s-save-mail" method)) 1850 (nnmail-split-incoming
1849 ',spool-func 1851 file ',(intern (format "%s-save-mail" method))
1850 (or in-group 1852 ',spool-func
1851 (if (equal file orig-file) 1853 (or in-group
1852 nil 1854 (if (equal file orig-file)
1853 (nnmail-get-split-group orig-file ',source))) 1855 nil
1854 ',(intern (format "%s-active-number" method))))))) 1856 (nnmail-get-split-group orig-file
1857 ',source)))
1858 ',(intern (format "%s-active-number" method))))))
1859 ((error quit)
1860 (message "Mail source %s failed: %s" source cond)
1861 0)))
1855 (incf total new) 1862 (incf total new)
1856 (incf i))) 1863 (incf i)))
1857 ;; If we did indeed read any incoming spools, we save all info. 1864 ;; If we did indeed read any incoming spools, we save all info.
diff --git a/lisp/gnus/nnmaildir.el b/lisp/gnus/nnmaildir.el
index 8e2cd4bdde3..bbace7c784a 100644
--- a/lisp/gnus/nnmaildir.el
+++ b/lisp/gnus/nnmaildir.el
@@ -1381,7 +1381,8 @@ by nnmaildir-request-article.")
1381 (error 1381 (error
1382 (gmm-write-region (point-min) (point-max) tmpfile nil 'no-message nil 1382 (gmm-write-region (point-min) (point-max) tmpfile nil 'no-message nil
1383 'excl) 1383 'excl)
1384 (unix-sync))) ;; no fsync :( 1384 (when (fboundp 'unix-sync)
1385 (unix-sync)))) ;; no fsync :(
1385 (nnheader-cancel-timer 24h) 1386 (nnheader-cancel-timer 24h)
1386 (condition-case err 1387 (condition-case err
1387 (add-name-to-file tmpfile curfile) 1388 (add-name-to-file tmpfile curfile)
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el
index b82d6c2ee7b..3d1ac02b6aa 100644
--- a/lisp/gnus/nnmairix.el
+++ b/lisp/gnus/nnmairix.el
@@ -604,9 +604,7 @@ Other back ends might or might not work.")
604 604
605;; Silence byte-compiler. 605;; Silence byte-compiler.
606(defvar gnus-registry-install) 606(defvar gnus-registry-install)
607(autoload 'gnus-registry-fetch-group "gnus-registry") 607(autoload 'gnus-registry-get-id-key "gnus-registry")
608(autoload 'gnus-registry-fetch-groups "gnus-registry")
609(autoload 'gnus-registry-add-group "gnus-registry")
610 608
611(deffoo nnmairix-request-set-mark (group actions &optional server) 609(deffoo nnmairix-request-set-mark (group actions &optional server)
612 (when server 610 (when server
@@ -660,13 +658,7 @@ Other back ends might or might not work.")
660 nnmairix-only-use-registry) 658 nnmairix-only-use-registry)
661 (setq ogroup 659 (setq ogroup
662 (nnmairix-determine-original-group-from-path 660 (nnmairix-determine-original-group-from-path
663 mid nnmairix-current-server)) 661 mid nnmairix-current-server)))
664 ;; if available and allowed, add this entry to the registry
665 (when (and (boundp 'gnus-registry-install)
666 gnus-registry-install)
667 (dolist (cur ogroup)
668 (unless (gnus-parameter-registry-ignore cur)
669 (gnus-registry-add-group mid cur)))))
670 (unless ogroup 662 (unless ogroup
671 (nnheader-message 663 (nnheader-message
672 3 "Unable to set mark: couldn't find original group for %s" mid) 664 3 "Unable to set mark: couldn't find original group for %s" mid)
@@ -1630,14 +1622,7 @@ search in raw mode."
1630 ;; registry was not available or did not find article 1622 ;; registry was not available or did not find article
1631 ;; so we search again with mairix in raw mode to get filename 1623 ;; so we search again with mairix in raw mode to get filename
1632 (setq allgroups 1624 (setq allgroups
1633 (nnmairix-determine-original-group-from-path mid server)) 1625 (nnmairix-determine-original-group-from-path mid server)))
1634 ;; if available and allowed, add this entry to the registry
1635 (when (and (not no-registry)
1636 (boundp 'gnus-registry-install)
1637 gnus-registry-install)
1638 (dolist (cur allgroups)
1639 (unless (gnus-parameter-registry-ignore cur)
1640 (gnus-registry-add-group mid cur)))))
1641 (if (> (length allgroups) 1) 1626 (if (> (length allgroups) 1)
1642 (setq group 1627 (setq group
1643 (gnus-completing-read 1628 (gnus-completing-read
@@ -1657,7 +1642,7 @@ search in raw mode."
1657 (set mid (concat "<" mid))) 1642 (set mid (concat "<" mid)))
1658 (unless (string-match ">$" mid) 1643 (unless (string-match ">$" mid)
1659 (set mid (concat mid ">"))) 1644 (set mid (concat mid ">")))
1660 (gnus-registry-fetch-groups mid))) 1645 (gnus-registry-get-id-key mid 'group)))
1661 1646
1662(defun nnmairix-determine-original-group-from-path (mid server) 1647(defun nnmairix-determine-original-group-from-path (mid server)
1663 "Determine original group(s) for message-id MID from the file path. 1648 "Determine original group(s) for message-id MID from the file path.
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el
index 986fd51a613..325aa67f80d 100644
--- a/lisp/gnus/nntp.el
+++ b/lisp/gnus/nntp.el
@@ -261,6 +261,8 @@ See `nnml-marks-is-evil' for more information.")
261 (const :format "" "password") 261 (const :format "" "password")
262 (string :format "Password: %v"))))))) 262 (string :format "Password: %v")))))))
263 263
264(make-obsolete 'nntp-authinfo-file nil "Emacs 24.1")
265
264 266
265 267
266(defvoo nntp-connection-timeout nil 268(defvoo nntp-connection-timeout nil
@@ -430,6 +432,9 @@ be restored and the command retried."
430 432
431(defun nntp-kill-buffer (buffer) 433(defun nntp-kill-buffer (buffer)
432 (when (buffer-name buffer) 434 (when (buffer-name buffer)
435 (let ((process (get-buffer-process buffer)))
436 (when process
437 (delete-process process)))
433 (kill-buffer buffer) 438 (kill-buffer buffer)
434 (nnheader-init-server-buffer))) 439 (nnheader-init-server-buffer)))
435 440
diff --git a/lisp/gnus/pop3.el b/lisp/gnus/pop3.el
index e29ddb0d44e..54c21703836 100644
--- a/lisp/gnus/pop3.el
+++ b/lisp/gnus/pop3.el
@@ -178,6 +178,8 @@ Use streaming commands."
178 178
179(defun pop3-wait-for-messages (process count total-size) 179(defun pop3-wait-for-messages (process count total-size)
180 (while (< (pop3-number-of-responses total-size) count) 180 (while (< (pop3-number-of-responses total-size) count)
181 (unless (memq (process-status process) '(open run))
182 (error "pop3 process died"))
181 (when total-size 183 (when total-size
182 (message "pop3 retrieved %dKB (%d%%)" 184 (message "pop3 retrieved %dKB (%d%%)"
183 (truncate (/ (buffer-size) 1000)) 185 (truncate (/ (buffer-size) 1000))
diff --git a/lisp/gnus/spam.el b/lisp/gnus/spam.el
index 33dbaaa1f0c..c7f993d7293 100644
--- a/lisp/gnus/spam.el
+++ b/lisp/gnus/spam.el
@@ -1581,31 +1581,31 @@ to find it out)."
1581 (when (numberp article) 1581 (when (numberp article)
1582 (let* ((data-header (or prepared-data-header 1582 (let* ((data-header (or prepared-data-header
1583 (spam-fetch-article-header article)))) 1583 (spam-fetch-article-header article))))
1584 (if (arrayp data-header) 1584 (cond
1585 (cond 1585 ((not (arrayp data-header))
1586 ((equal field 'number) 1586 (gnus-message 6 "Article %d has a nil data header" article))
1587 (mail-header-number data-header)) 1587 ((equal field 'number)
1588 ((equal field 'from) 1588 (mail-header-number data-header))
1589 (mail-header-from data-header)) 1589 ((equal field 'from)
1590 ((equal field 'message-id) 1590 (mail-header-from data-header))
1591 (mail-header-message-id data-header)) 1591 ((equal field 'message-id)
1592 ((equal field 'subject) 1592 (mail-header-message-id data-header))
1593 (mail-header-subject data-header)) 1593 ((equal field 'subject)
1594 ((equal field 'references) 1594 (mail-header-subject data-header))
1595 (mail-header-references data-header)) 1595 ((equal field 'references)
1596 ((equal field 'date) 1596 (mail-header-references data-header))
1597 (mail-header-date data-header)) 1597 ((equal field 'date)
1598 ((equal field 'xref) 1598 (mail-header-date data-header))
1599 (mail-header-xref data-header)) 1599 ((equal field 'xref)
1600 ((equal field 'extra) 1600 (mail-header-xref data-header))
1601 (mail-header-extra data-header)) 1601 ((equal field 'extra)
1602 (t 1602 (mail-header-extra data-header))
1603 (gnus-error 1603 (t
1604 5 1604 (gnus-error
1605 "spam-fetch-field-fast: unknown field %s requested" 1605 5
1606 field) 1606 "spam-fetch-field-fast: unknown field %s requested"
1607 nil)) 1607 field)
1608 (gnus-message 6 "Article %d has a nil data header" article))))) 1608 nil)))))
1609 1609
1610(defun spam-fetch-field-from-fast (article &optional prepared-data-header) 1610(defun spam-fetch-field-from-fast (article &optional prepared-data-header)
1611 (spam-fetch-field-fast article 'from prepared-data-header)) 1611 (spam-fetch-field-fast article 'from prepared-data-header))
diff --git a/lisp/gnus/starttls.el b/lisp/gnus/starttls.el
index 4b4839a4df2..b995f7478ce 100644
--- a/lisp/gnus/starttls.el
+++ b/lisp/gnus/starttls.el
@@ -295,18 +295,15 @@ GNUTLS requires a port number."
295 (starttls-set-process-query-on-exit-flag process nil) 295 (starttls-set-process-query-on-exit-flag process nil)
296 process))) 296 process)))
297 297
298(defun starttls-any-program-available () 298(defun starttls-available-p ()
299 (let ((program (if starttls-use-gnutls 299 "Say whether the STARTTLS programs are available."
300 starttls-gnutls-program 300 (executable-find (if starttls-use-gnutls
301 starttls-program))) 301 starttls-gnutls-program
302 (condition-case () 302 starttls-program)))
303 (progn 303
304 (call-process program) 304(defalias 'starttls-any-program-available 'starttls-available-p)
305 program) 305(make-obsolete 'starttls-any-program-available 'starttls-available-p
306 (error (progn 306 "2011-08-02")
307 (message "No STARTTLS program was available (tried '%s')"
308 program)
309 nil)))))
310 307
311(provide 'starttls) 308(provide 'starttls)
312 309
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index b13e6a77d5d..5e034b14fde 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -65,7 +65,9 @@
65 65
66(defun help-split-fundoc (docstring def) 66(defun help-split-fundoc (docstring def)
67 "Split a function DOCSTRING into the actual doc and the usage info. 67 "Split a function DOCSTRING into the actual doc and the usage info.
68Return (USAGE . DOC) or nil if there's no usage info. 68Return (USAGE . DOC) or nil if there's no usage info, where USAGE info
69is a string describing the argument list of DEF, such as
70\"(apply FUNCTION &rest ARGUMENTS)\".
69DEF is the function whose usage we're looking for in DOCSTRING." 71DEF is the function whose usage we're looking for in DOCSTRING."
70 ;; Functions can get the calling sequence at the end of the doc string. 72 ;; Functions can get the calling sequence at the end of the doc string.
71 ;; In cases where `function' has been fset to a subr we can't search for 73 ;; In cases where `function' has been fset to a subr we can't search for
@@ -156,12 +158,7 @@ the same names as used in the original source code, when possible."
156(defun help-make-usage (function arglist) 158(defun help-make-usage (function arglist)
157 (cons (if (symbolp function) function 'anonymous) 159 (cons (if (symbolp function) function 'anonymous)
158 (mapcar (lambda (arg) 160 (mapcar (lambda (arg)
159 (if (not (symbolp arg)) 161 (if (not (symbolp arg)) arg
160 (if (and (consp arg) (symbolp (car arg)))
161 ;; CL style default values for optional args.
162 (cons (intern (upcase (symbol-name (car arg))))
163 (cdr arg))
164 arg)
165 (let ((name (symbol-name arg))) 162 (let ((name (symbol-name arg)))
166 (cond 163 (cond
167 ((string-match "\\`&" name) arg) 164 ((string-match "\\`&" name) arg)
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index 1a96f29c4cc..64c114c993d 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -35,13 +35,12 @@
35 35
36(defvar help-mode-map 36(defvar help-mode-map
37 (let ((map (make-sparse-keymap))) 37 (let ((map (make-sparse-keymap)))
38 (set-keymap-parent map button-buffer-map) 38 (set-keymap-parent map (make-composed-keymap button-buffer-map
39 39 special-mode-map))
40 (define-key map [mouse-2] 'help-follow-mouse) 40 (define-key map [mouse-2] 'help-follow-mouse)
41 (define-key map "\C-c\C-b" 'help-go-back) 41 (define-key map "\C-c\C-b" 'help-go-back)
42 (define-key map "\C-c\C-f" 'help-go-forward) 42 (define-key map "\C-c\C-f" 'help-go-forward)
43 (define-key map "\C-c\C-c" 'help-follow-symbol) 43 (define-key map "\C-c\C-c" 'help-follow-symbol)
44 ;; Documentation only, since we use minor-mode-overriding-map-alist.
45 (define-key map "\r" 'help-follow) 44 (define-key map "\r" 'help-follow)
46 map) 45 map)
47 "Keymap for help mode.") 46 "Keymap for help mode.")
@@ -266,37 +265,13 @@ The format is (FUNCTION ARGS...).")
266 'help-function 'customize-create-theme 265 'help-function 'customize-create-theme
267 'help-echo (purecopy "mouse-2, RET: edit this theme file")) 266 'help-echo (purecopy "mouse-2, RET: edit this theme file"))
268 267
269;;;###autoload 268(define-derived-mode help-mode special-mode "Help"
270(defun help-mode ()
271 "Major mode for viewing help text and navigating references in it. 269 "Major mode for viewing help text and navigating references in it.
272Entry to this mode runs the normal hook `help-mode-hook'. 270Entry to this mode runs the normal hook `help-mode-hook'.
273Commands: 271Commands:
274\\{help-mode-map}" 272\\{help-mode-map}"
275 (interactive)
276 (kill-all-local-variables)
277 (use-local-map help-mode-map)
278 (setq mode-name "Help")
279 (setq major-mode 'help-mode)
280
281 (view-mode)
282 (set (make-local-variable 'view-no-disable-on-exit) t)
283 ;; With Emacs 22 `view-exit-action' could delete the selected window
284 ;; disregarding whether the help buffer was shown in that window at
285 ;; all. Since `view-exit-action' is called with the help buffer as
286 ;; argument it seems more appropriate to have it work on the buffer
287 ;; only and leave it to `view-mode-exit' to delete any associated
288 ;; window(s).
289 (setq view-exit-action
290 (lambda (buffer)
291 ;; Use `with-current-buffer' to make sure that `bury-buffer'
292 ;; also removes BUFFER from the selected window.
293 (with-current-buffer buffer
294 (bury-buffer))))
295
296 (set (make-local-variable 'revert-buffer-function) 273 (set (make-local-variable 'revert-buffer-function)
297 'help-mode-revert-buffer) 274 'help-mode-revert-buffer))
298
299 (run-mode-hooks 'help-mode-hook))
300 275
301;;;###autoload 276;;;###autoload
302(defun help-mode-setup () 277(defun help-mode-setup ()
@@ -403,13 +378,6 @@ it does not already exist."
403 (error "Current buffer is not in Help mode")) 378 (error "Current buffer is not in Help mode"))
404 (current-buffer)))) 379 (current-buffer))))
405 380
406(defvar help-xref-override-view-map
407 (let ((map (make-sparse-keymap)))
408 (set-keymap-parent map view-mode-map)
409 (define-key map "\r" nil)
410 map)
411 "Replacement keymap for `view-mode' in help buffers.")
412
413;;;###autoload 381;;;###autoload
414(defun help-make-xrefs (&optional buffer) 382(defun help-make-xrefs (&optional buffer)
415 "Parse and hyperlink documentation cross-references in the given BUFFER. 383 "Parse and hyperlink documentation cross-references in the given BUFFER.
@@ -594,9 +562,6 @@ that."
594 (current-buffer))) 562 (current-buffer)))
595 (when (or help-xref-stack help-xref-forward-stack) 563 (when (or help-xref-stack help-xref-forward-stack)
596 (insert "\n"))) 564 (insert "\n")))
597 ;; View mode steals RET from us.
598 (set (make-local-variable 'minor-mode-overriding-map-alist)
599 (list (cons 'view-mode help-xref-override-view-map)))
600 (set-buffer-modified-p old-modified))))) 565 (set-buffer-modified-p old-modified)))))
601 566
602;;;###autoload 567;;;###autoload
diff --git a/lisp/help.el b/lisp/help.el
index e6496f625d1..3ed6f79275a 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -132,7 +132,7 @@
132 "What to do to \"exit\" the help buffer. 132 "What to do to \"exit\" the help buffer.
133This is a list 133This is a list
134 (WINDOW . t) delete the selected window (and possibly its frame, 134 (WINDOW . t) delete the selected window (and possibly its frame,
135 see `quit-window' and `View-quit'), go to WINDOW. 135 see `quit-window'), go to WINDOW.
136 (WINDOW . quit-window) do quit-window, then select WINDOW. 136 (WINDOW . quit-window) do quit-window, then select WINDOW.
137 (WINDOW BUF START POINT) display BUF at START, POINT, then select WINDOW.") 137 (WINDOW BUF START POINT) display BUF at START, POINT, then select WINDOW.")
138 138
@@ -1104,7 +1104,7 @@ This relies on `display-buffer-window' being correctly set up by
1104 ((eq help-value 'new-window) 1104 ((eq help-value 'new-window)
1105 "Type \\[delete-other-windows] to delete the help window") 1105 "Type \\[delete-other-windows] to delete the help window")
1106 ((eq help-value 'reuse-other-window) 1106 ((eq help-value 'reuse-other-window)
1107 "Type \\[switch-to-prev-buffer] RET to restore previous buffer")) 1107 "Type \"q\" in other window to quit"))
1108 help-window 'other)) 1108 help-window 'other))
1109 (t 1109 (t
1110 ;; Not much to say here. 1110 ;; Not much to say here.
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index a0b5844582b..a254abe33ac 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -461,7 +461,9 @@ interactive functions. \(See `hi-lock-interactive-patterns'.\)
461\\<minibuffer-local-must-match-map>Use \\[minibuffer-complete] to complete a partially typed regexp. 461\\<minibuffer-local-must-match-map>Use \\[minibuffer-complete] to complete a partially typed regexp.
462\(See info node `Minibuffer History'.\)" 462\(See info node `Minibuffer History'.\)"
463 (interactive 463 (interactive
464 (if (and (display-popup-menus-p) (not last-nonmenu-event)) 464 (if (and (display-popup-menus-p)
465 (listp last-nonmenu-event)
466 use-dialog-box)
465 (catch 'snafu 467 (catch 'snafu
466 (or 468 (or
467 (x-popup-menu 469 (x-popup-menu
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index f4b729458e6..073efaeee2a 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -505,7 +505,7 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
505 (assoc (cdr filter) 505 (assoc (cdr filter)
506 ibuffer-saved-filters))) 506 ibuffer-saved-filters)))
507 (unless data 507 (unless data
508 (ibuffer-filter-disable) 508 (ibuffer-filter-disable t)
509 (error "Unknown saved filter %s" (cdr filter))) 509 (error "Unknown saved filter %s" (cdr filter)))
510 (ibuffer-included-in-filters-p buf (cadr data)))) 510 (ibuffer-included-in-filters-p buf (cadr data))))
511 (t 511 (t
@@ -514,7 +514,7 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
514 ;; filterdat should be like (TYPE DESCRIPTION FUNC) 514 ;; filterdat should be like (TYPE DESCRIPTION FUNC)
515 ;; just a sanity check 515 ;; just a sanity check
516 (unless filterdat 516 (unless filterdat
517 (ibuffer-filter-disable) 517 (ibuffer-filter-disable t)
518 (error "Undefined filter %s" (car filter))) 518 (error "Undefined filter %s" (car filter)))
519 (not 519 (not
520 (not 520 (not
@@ -768,11 +768,14 @@ The value from `ibuffer-saved-filter-groups' is used."
768 (ibuffer-update nil t)) 768 (ibuffer-update nil t))
769 769
770;;;###autoload 770;;;###autoload
771(defun ibuffer-filter-disable () 771(defun ibuffer-filter-disable (&optional delete-filter-groups)
772 "Disable all filters currently in effect in this buffer." 772 "Disable all filters currently in effect in this buffer.
773With optional arg DELETE-FILTER-GROUPS non-nil, delete all filter
774group definitions by setting `ibuffer-filter-groups' to nil."
773 (interactive) 775 (interactive)
774 (setq ibuffer-filtering-qualifiers nil 776 (setq ibuffer-filtering-qualifiers nil)
775 ibuffer-filter-groups nil) 777 (if delete-filter-groups
778 (setq ibuffer-filter-groups nil))
776 (let ((buf (ibuffer-current-buffer))) 779 (let ((buf (ibuffer-current-buffer)))
777 (ibuffer-update nil t) 780 (ibuffer-update nil t)
778 (when buf 781 (when buf
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 5fda52f3d12..5a86508e144 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -356,12 +356,12 @@ directory, like `default-directory'."
356 :type 'hook 356 :type 'hook
357 :group 'ibuffer) 357 :group 'ibuffer)
358 358
359(defcustom ibuffer-marked-face 'font-lock-warning-face 359(defcustom ibuffer-marked-face 'warning
360 "Face used for displaying marked buffers." 360 "Face used for displaying marked buffers."
361 :type 'face 361 :type 'face
362 :group 'ibuffer) 362 :group 'ibuffer)
363 363
364(defcustom ibuffer-deletion-face 'font-lock-type-face 364(defcustom ibuffer-deletion-face 'error
365 "Face used for displaying buffers marked for deletion." 365 "Face used for displaying buffers marked for deletion."
366 :type 'face 366 :type 'face
367 :group 'ibuffer) 367 :group 'ibuffer)
@@ -2648,7 +2648,7 @@ will be inserted before the group at point."
2648;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group 2648;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group
2649;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group 2649;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group
2650;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode 2650;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode
2651;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "001cd83e8e1ff27c9a61097c840a984d") 2651;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" "617b36fc8479547d679cf0103f82e3ff")
2652;;; Generated autoloads from ibuf-ext.el 2652;;; Generated autoloads from ibuf-ext.el
2653 2653
2654(autoload 'ibuffer-auto-mode "ibuf-ext" "\ 2654(autoload 'ibuffer-auto-mode "ibuf-ext" "\
@@ -2778,8 +2778,10 @@ The value from `ibuffer-saved-filter-groups' is used.
2778 2778
2779(autoload 'ibuffer-filter-disable "ibuf-ext" "\ 2779(autoload 'ibuffer-filter-disable "ibuf-ext" "\
2780Disable all filters currently in effect in this buffer. 2780Disable all filters currently in effect in this buffer.
2781With optional arg DELETE-FILTER-GROUPS non-nil, delete all filter
2782group definitions by setting `ibuffer-filter-groups' to nil.
2781 2783
2782\(fn)" t nil) 2784\(fn &optional DELETE-FILTER-GROUPS)" t nil)
2783 2785
2784(autoload 'ibuffer-pop-filter "ibuf-ext" "\ 2786(autoload 'ibuffer-pop-filter "ibuf-ext" "\
2785Remove the top filter in this buffer. 2787Remove the top filter in this buffer.
diff --git a/lisp/ido.el b/lisp/ido.el
index b50ddcc1254..4086000e3e9 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -1557,7 +1557,8 @@ This function also adds a hook to the minibuffer."
1557 (setq ido-minor-mode-map-entry (cons 'ido-mode map)) 1557 (setq ido-minor-mode-map-entry (cons 'ido-mode map))
1558 (add-to-list 'minor-mode-map-alist ido-minor-mode-map-entry)))) 1558 (add-to-list 'minor-mode-map-alist ido-minor-mode-map-entry))))
1559 1559
1560 (message "Ido mode %s" (if ido-mode "enabled" "disabled"))) 1560 (when (called-interactively-p 'any)
1561 (message "Ido mode %s" (if ido-mode "enabled" "disabled"))))
1561 1562
1562 1563
1563;;; IDO KEYMAP 1564;;; IDO KEYMAP
diff --git a/lisp/image-dired.el b/lisp/image-dired.el
index ce351f13a19..5477d01379d 100644
--- a/lisp/image-dired.el
+++ b/lisp/image-dired.el
@@ -516,6 +516,14 @@ before warning the user."
516 :type 'integer 516 :type 'integer
517 :group 'image-dired) 517 :group 'image-dired)
518 518
519(defmacro image-dired--with-db-file (&rest body)
520 "Run BODY in a temp buffer containing `image-dired-db-file'.
521Return the last form in BODY."
522 `(with-temp-buffer
523 (if (file-exists-p image-dired-db-file)
524 (insert-file-contents image-dired-db-file))
525 ,@body))
526
519(defun image-dired-dir () 527(defun image-dired-dir ()
520 "Return the current thumbnails directory (from variable `image-dired-dir'). 528 "Return the current thumbnails directory (from variable `image-dired-dir').
521Create the thumbnails directory if it does not exist." 529Create the thumbnails directory if it does not exist."
@@ -898,76 +906,69 @@ FILE-TAGS is an alist in the following form:
898 ((FILE . TAG) ... )" 906 ((FILE . TAG) ... )"
899 (image-dired-sane-db-file) 907 (image-dired-sane-db-file)
900 (let (end file tag) 908 (let (end file tag)
901 (with-temp-file image-dired-db-file 909 (image-dired--with-db-file
902 (insert-file-contents image-dired-db-file) 910 (setq buffer-file-name image-dired-db-file)
903 (dolist (elt file-tags) 911 (dolist (elt file-tags)
904 (setq file (car elt) 912 (setq file (car elt)
905 tag (cdr elt)) 913 tag (cdr elt))
906 (goto-char (point-min)) 914 (goto-char (point-min))
907 (if (search-forward-regexp (format "^%s.*$" file) nil t) 915 (if (search-forward-regexp (format "^%s.*$" file) nil t)
908 (progn 916 (progn
909 (setq end (point)) 917 (setq end (point))
910 (beginning-of-line) 918 (beginning-of-line)
911 (when (not (search-forward (format ";%s" tag) end t)) 919 (when (not (search-forward (format ";%s" tag) end t))
912 (end-of-line) 920 (end-of-line)
913 (insert (format ";%s" tag)))) 921 (insert (format ";%s" tag))))
914 (goto-char (point-max)) 922 (goto-char (point-max))
915 (insert (format "\n%s;%s" file tag))))))) 923 (insert (format "\n%s;%s" file tag))))
924 (save-buffer))))
916 925
917(defun image-dired-remove-tag (files tag) 926(defun image-dired-remove-tag (files tag)
918 "For all FILES, remove TAG from the image database." 927 "For all FILES, remove TAG from the image database."
919 (image-dired-sane-db-file) 928 (image-dired-sane-db-file)
920 (save-excursion 929 (image-dired--with-db-file
921 (let (end buf) 930 (setq buffer-file-name image-dired-db-file)
922 (setq buf (find-file image-dired-db-file)) 931 (let (end)
923 (if (not (listp files)) 932 (unless (listp files)
924 (if (stringp files) 933 (if (stringp files)
925 (setq files (list files)) 934 (setq files (list files))
926 (error "Files must be a string or a list of strings!"))) 935 (error "Files must be a string or a list of strings!")))
927 (mapc 936 (dolist (file files)
928 (lambda (file) 937 (goto-char (point-min))
929 (goto-char (point-min)) 938 (when (search-forward-regexp (format "^%s" file) nil t)
930 (when (search-forward-regexp 939 (end-of-line)
931 (format "^%s" file) nil t) 940 (setq end (point))
932 (end-of-line) 941 (beginning-of-line)
933 (setq end (point)) 942 (when (search-forward-regexp (format "\\(;%s\\)" tag) end t)
934 (beginning-of-line) 943 (delete-region (match-beginning 1) (match-end 1))
935 (when (search-forward-regexp (format "\\(;%s\\)" tag) end t) 944 ;; Check if file should still be in the database. If
936 (delete-region (match-beginning 1) (match-end 1)) 945 ;; it has no tags or comments, it will be removed.
937 ;; Check if file should still be in the database. If 946 (end-of-line)
938 ;; it has no tags or comments, it will be removed. 947 (setq end (point))
939 (end-of-line) 948 (beginning-of-line)
940 (setq end (point)) 949 (when (not (search-forward ";" end t))
941 (beginning-of-line) 950 (kill-line 1)
942 (when (not (search-forward ";" end t)) 951 ;; If on empty line at end of buffer
943 (kill-line 1) 952 (and (eobp)
944 ;; If on empty line at end of buffer 953 (looking-at "^$")
945 (when (and (eobp) 954 (delete-char -1)))))))
946 (looking-at "^$")) 955 (save-buffer)))
947 (delete-char -1))))))
948 files)
949 (save-buffer)
950 (kill-buffer buf))))
951 956
952(defun image-dired-list-tags (file) 957(defun image-dired-list-tags (file)
953 "Read all tags for image FILE from the image database." 958 "Read all tags for image FILE from the image database."
954 (image-dired-sane-db-file) 959 (image-dired-sane-db-file)
955 (save-excursion 960 (image-dired--with-db-file
956 (let (end buf (tags "")) 961 (let (end (tags ""))
957 (setq buf (find-file image-dired-db-file)) 962 (when (search-forward-regexp (format "^%s" file) nil t)
958 (goto-char (point-min)) 963 (end-of-line)
959 (when (search-forward-regexp 964 (setq end (point))
960 (format "^%s" file) nil t) 965 (beginning-of-line)
961 (end-of-line) 966 (if (search-forward ";" end t)
962 (setq end (point)) 967 (if (search-forward "comment:" end t)
963 (beginning-of-line) 968 (if (search-forward ";" end t)
964 (if (search-forward ";" end t) 969 (setq tags (buffer-substring (point) end)))
965 (if (search-forward "comment:" end t) 970 (setq tags (buffer-substring (point) end)))))
966 (if (search-forward ";" end t) 971 (split-string tags ";"))))
967 (setq tags (buffer-substring (point) end)))
968 (setq tags (buffer-substring (point) end)))))
969 (kill-buffer buf)
970 (split-string tags ";"))))
971 972
972;;;###autoload 973;;;###autoload
973(defun image-dired-tag-files (arg) 974(defun image-dired-tag-files (arg)
@@ -2061,34 +2062,35 @@ FILE-COMMENTS is an alist on the following form:
2061 ((FILE . COMMENT) ... )" 2062 ((FILE . COMMENT) ... )"
2062 (image-dired-sane-db-file) 2063 (image-dired-sane-db-file)
2063 (let (end comment-beg-pos comment-end-pos file comment) 2064 (let (end comment-beg-pos comment-end-pos file comment)
2064 (with-temp-file image-dired-db-file 2065 (image-dired--with-db-file
2065 (insert-file-contents image-dired-db-file) 2066 (setq buffer-file-name image-dired-db-file)
2066 (dolist (elt file-comments) 2067 (dolist (elt file-comments)
2067 (setq file (car elt) 2068 (setq file (car elt)
2068 comment (cdr elt)) 2069 comment (cdr elt))
2069 (goto-char (point-min)) 2070 (goto-char (point-min))
2070 (if (search-forward-regexp (format "^%s.*$" file) nil t) 2071 (if (search-forward-regexp (format "^%s.*$" file) nil t)
2071 (progn 2072 (progn
2072 (setq end (point)) 2073 (setq end (point))
2073 (beginning-of-line) 2074 (beginning-of-line)
2074 ;; Delete old comment, if any 2075 ;; Delete old comment, if any
2075 (when (search-forward ";comment:" end t) 2076 (when (search-forward ";comment:" end t)
2076 (setq comment-beg-pos (match-beginning 0)) 2077 (setq comment-beg-pos (match-beginning 0))
2077 ;; Any tags after the comment? 2078 ;; Any tags after the comment?
2078 (if (search-forward ";" end t) 2079 (if (search-forward ";" end t)
2079 (setq comment-end-pos (- (point) 1)) 2080 (setq comment-end-pos (- (point) 1))
2080 (setq comment-end-pos end)) 2081 (setq comment-end-pos end))
2081 ;; Delete comment tag and comment 2082 ;; Delete comment tag and comment
2082 (delete-region comment-beg-pos comment-end-pos)) 2083 (delete-region comment-beg-pos comment-end-pos))
2083 ;; Insert new comment 2084 ;; Insert new comment
2084 (beginning-of-line) 2085 (beginning-of-line)
2085 (unless (search-forward ";" end t) 2086 (unless (search-forward ";" end t)
2086 (end-of-line) 2087 (end-of-line)
2087 (insert ";")) 2088 (insert ";"))
2088 (insert (format "comment:%s;" comment))) 2089 (insert (format "comment:%s;" comment)))
2089 ;; File does not exist in database - add it. 2090 ;; File does not exist in database - add it.
2090 (goto-char (point-max)) 2091 (goto-char (point-max))
2091 (insert (format "\n%s;comment:%s" file comment))))))) 2092 (insert (format "\n%s;comment:%s" file comment))))
2093 (save-buffer))))
2092 2094
2093(defun image-dired-update-property (prop value) 2095(defun image-dired-update-property (prop value)
2094 "Update text property PROP with value VALUE at point." 2096 "Update text property PROP with value VALUE at point."
@@ -2130,24 +2132,20 @@ Optionally use old comment from FILE as initial value."
2130(defun image-dired-get-comment (file) 2132(defun image-dired-get-comment (file)
2131 "Get comment for file FILE." 2133 "Get comment for file FILE."
2132 (image-dired-sane-db-file) 2134 (image-dired-sane-db-file)
2133 (save-excursion 2135 (image-dired--with-db-file
2134 (let (end buf comment-beg-pos comment-end-pos comment) 2136 (let (end comment-beg-pos comment-end-pos comment)
2135 (setq buf (find-file image-dired-db-file)) 2137 (when (search-forward-regexp (format "^%s" file) nil t)
2136 (goto-char (point-min)) 2138 (end-of-line)
2137 (when (search-forward-regexp 2139 (setq end (point))
2138 (format "^%s" file) nil t) 2140 (beginning-of-line)
2139 (end-of-line) 2141 (when (search-forward ";comment:" end t)
2140 (setq end (point)) 2142 (setq comment-beg-pos (point))
2141 (beginning-of-line) 2143 (if (search-forward ";" end t)
2142 (cond ((search-forward ";comment:" end t) 2144 (setq comment-end-pos (- (point) 1))
2143 (setq comment-beg-pos (point)) 2145 (setq comment-end-pos end))
2144 (if (search-forward ";" end t) 2146 (setq comment (buffer-substring
2145 (setq comment-end-pos (- (point) 1)) 2147 comment-beg-pos comment-end-pos))))
2146 (setq comment-end-pos end)) 2148 comment)))
2147 (setq comment (buffer-substring
2148 comment-beg-pos comment-end-pos)))))
2149 (kill-buffer buf)
2150 comment)))
2151 2149
2152;;;###autoload 2150;;;###autoload
2153(defun image-dired-mark-tagged-files () 2151(defun image-dired-mark-tagged-files ()
@@ -2161,32 +2159,26 @@ matching tag will be marked in the dired buffer."
2161 (image-dired-sane-db-file) 2159 (image-dired-sane-db-file)
2162 (let ((tag (read-string "Mark tagged files (regexp): ")) 2160 (let ((tag (read-string "Mark tagged files (regexp): "))
2163 (hits 0) 2161 (hits 0)
2164 files buf) 2162 files)
2165 (save-excursion 2163 (image-dired--with-db-file
2166 (setq buf (find-file image-dired-db-file)) 2164 ;; Collect matches
2167 (goto-char (point-min)) 2165 (while (search-forward-regexp
2168 ;; Collect matches 2166 (concat "\\(^[^;\n]+\\);.*" tag ".*$") nil t)
2169 (while (search-forward-regexp 2167 (push (match-string 1) files)))
2170 (concat "\\(^[^;\n]+\\);.*" tag ".*$") nil t) 2168 ;; Mark files
2171 (setq files (append (list (match-string 1)) files))) 2169 (dolist (curr-file files)
2172 (kill-buffer buf) 2170 ;; I tried using `dired-mark-files-regexp' but it was waaaay to
2173 ;; Mark files 2171 ;; slow. Don't bother about hits found in other directories
2174 (mapc 2172 ;; than the current one.
2175 ;; I tried using `dired-mark-files-regexp' but it was 2173 (when (string= (file-name-as-directory
2176 ;; waaaay to slow. 2174 (expand-file-name default-directory))
2177 (lambda (curr-file) 2175 (file-name-as-directory
2178 ;; Don't bother about hits found in other directories than 2176 (file-name-directory curr-file)))
2179 ;; the current one. 2177 (setq curr-file (file-name-nondirectory curr-file))
2180 (when (string= (file-name-as-directory 2178 (goto-char (point-min))
2181 (expand-file-name default-directory)) 2179 (when (search-forward-regexp (format "\\s %s$" curr-file) nil t)
2182 (file-name-as-directory 2180 (setq hits (+ hits 1))
2183 (file-name-directory curr-file))) 2181 (dired-mark 1))))
2184 (setq curr-file (file-name-nondirectory curr-file))
2185 (goto-char (point-min))
2186 (when (search-forward-regexp (format "\\s %s$" curr-file) nil t)
2187 (setq hits (+ hits 1))
2188 (dired-mark 1))))
2189 files))
2190 (message "%d files with matching tag marked." hits))) 2182 (message "%d files with matching tag marked." hits)))
2191 2183
2192(defun image-dired-mouse-display-image (event) 2184(defun image-dired-mouse-display-image (event)
@@ -2322,29 +2314,26 @@ image-dired-file-comment-list:
2322(defun image-dired-create-gallery-lists () 2314(defun image-dired-create-gallery-lists ()
2323 "Create temporary lists used by `image-dired-gallery-generate'." 2315 "Create temporary lists used by `image-dired-gallery-generate'."
2324 (image-dired-sane-db-file) 2316 (image-dired-sane-db-file)
2325 (let ((buf (find-file image-dired-db-file)) 2317 (image-dired--with-db-file
2326 end beg file row-tags) 2318 (let (end beg file row-tags)
2327 (setq image-dired-tag-file-list nil) 2319 (setq image-dired-tag-file-list nil)
2328 (setq image-dired-file-tag-list nil) 2320 (setq image-dired-file-tag-list nil)
2329 (setq image-dired-file-comment-list nil) 2321 (setq image-dired-file-comment-list nil)
2330 (goto-char (point-min)) 2322 (goto-char (point-min))
2331 (while (search-forward-regexp "^." nil t) 2323 (while (search-forward-regexp "^." nil t)
2332 (end-of-line) 2324 (end-of-line)
2333 (setq end (point)) 2325 (setq end (point))
2334 (beginning-of-line) 2326 (beginning-of-line)
2335 (setq beg (point)) 2327 (setq beg (point))
2336 (if (not (search-forward ";" end nil)) 2328 (unless (search-forward ";" end nil)
2337 (error "Something is really wrong, check format of database")) 2329 (error "Something is really wrong, check format of database"))
2338 (setq row-tags (split-string 2330 (setq row-tags (split-string
2339 (buffer-substring beg end) ";")) 2331 (buffer-substring beg end) ";"))
2340 (setq file (car row-tags)) 2332 (setq file (car row-tags))
2341 (mapc 2333 (dolist (x (cdr row-tags))
2342 (lambda (x) 2334 (if (not (string-match "^comment:\\(.*\\)" x))
2343 (if (not (string-match "^comment:\\(.*\\)" x)) 2335 (image-dired-add-to-tag-file-lists x file)
2344 (image-dired-add-to-tag-file-lists x file) 2336 (image-dired-add-to-file-comment-list file (match-string 1 x)))))))
2345 (image-dired-add-to-file-comment-list file (match-string 1 x))))
2346 (cdr row-tags)))
2347 (kill-buffer buf))
2348 ;; Sort tag-file list 2337 ;; Sort tag-file list
2349 (setq image-dired-tag-file-list 2338 (setq image-dired-tag-file-list
2350 (sort image-dired-tag-file-list 2339 (sort image-dired-tag-file-list
@@ -2372,7 +2361,8 @@ it easier to generate, then HTML-files are created in
2372when using per-directory thumbnail file storage")) 2361when using per-directory thumbnail file storage"))
2373 (image-dired-create-gallery-lists) 2362 (image-dired-create-gallery-lists)
2374 (let ((tags image-dired-tag-file-list) 2363 (let ((tags image-dired-tag-file-list)
2375 count tag index-buf tag-buf 2364 (index-file (format "%s/index.html" image-dired-gallery-dir))
2365 count tag tag-file
2376 comment file-tags tag-link tag-link-list) 2366 comment file-tags tag-link tag-link-list)
2377 ;; Make sure gallery root exist 2367 ;; Make sure gallery root exist
2378 (if (file-exists-p image-dired-gallery-dir) 2368 (if (file-exists-p image-dired-gallery-dir)
@@ -2380,85 +2370,75 @@ when using per-directory thumbnail file storage"))
2380 (error "Variable image-dired-gallery-dir is not a directory")) 2370 (error "Variable image-dired-gallery-dir is not a directory"))
2381 (make-directory image-dired-gallery-dir)) 2371 (make-directory image-dired-gallery-dir))
2382 ;; Open index file 2372 ;; Open index file
2383 (setq index-buf (find-file 2373 (with-temp-file index-file
2384 (format "%s/index.html" image-dired-gallery-dir))) 2374 (if (file-exists-p index-file)
2385 (erase-buffer) 2375 (insert-file-contents index-file))
2386 (insert "<html>\n") 2376 (insert "<html>\n")
2387 (insert " <body>\n") 2377 (insert " <body>\n")
2388 (insert " <h2>Image-Dired Gallery</h2>\n") 2378 (insert " <h2>Image-Dired Gallery</h2>\n")
2389 (insert (format "<p>\n Gallery generated %s\n <p>\n" 2379 (insert (format "<p>\n Gallery generated %s\n <p>\n"
2390 (current-time-string))) 2380 (current-time-string)))
2391 (insert " <h3>Tag index</h3>\n") 2381 (insert " <h3>Tag index</h3>\n")
2392 (setq count 1) 2382 (setq count 1)
2393 ;; Pre-generate list of all tag links 2383 ;; Pre-generate list of all tag links
2394 (mapc 2384 (dolist (curr tags)
2395 (lambda (curr) 2385 (setq tag (car curr))
2396 (setq tag (car curr)) 2386 (when (not (member tag image-dired-gallery-hidden-tags))
2397 (when (not (member tag image-dired-gallery-hidden-tags)) 2387 (setq tag-link (format "<a href=\"%d.html\">%s</a>" count tag))
2398 (setq tag-link (format "<a href=\"%d.html\">%s</a>" count tag)) 2388 (if tag-link-list
2399 (if tag-link-list 2389 (setq tag-link-list
2400 (setq tag-link-list 2390 (append tag-link-list (list (cons tag tag-link))))
2401 (append tag-link-list (list (cons tag tag-link)))) 2391 (setq tag-link-list (list (cons tag tag-link))))
2402 (setq tag-link-list (list (cons tag tag-link)))) 2392 (setq count (1+ count))))
2403 (setq count (1+ count)))) 2393 (setq count 1)
2404 tags) 2394 ;; Main loop where we generated thumbnail pages per tag
2405 (setq count 1) 2395 (dolist (curr tags)
2406 ;; Main loop where we generated thumbnail pages per tag 2396 (setq tag (car curr))
2407 (mapc 2397 ;; Don't display hidden tags
2408 (lambda (curr) 2398 (when (not (member tag image-dired-gallery-hidden-tags))
2409 (setq tag (car curr)) 2399 ;; Insert link to tag page in index
2410 ;; Don't display hidden tags 2400 (insert (format " %s<br>\n" (cdr (assoc tag tag-link-list))))
2411 (when (not (member tag image-dired-gallery-hidden-tags)) 2401 ;; Open per-tag file
2412 ;; Insert link to tag page in index 2402 (setq tag-file (format "%s/%s.html" image-dired-gallery-dir count))
2413 (insert (format " %s<br>\n" (cdr (assoc tag tag-link-list)))) 2403 (with-temp-file tag-file
2414 ;; Open per-tag file 2404 (if (file-exists-p tag-file)
2415 (setq tag-buf (find-file 2405 (insert-file-contents tag-file))
2416 (format "%s/%s.html" image-dired-gallery-dir count))) 2406 (erase-buffer)
2417 (erase-buffer) 2407 (insert "<html>\n")
2418 (insert "<html>\n") 2408 (insert " <body>\n")
2419 (insert " <body>\n") 2409 (insert " <p><a href=\"index.html\">Index</a></p>\n")
2420 (insert " <p><a href=\"index.html\">Index</a></p>\n") 2410 (insert (format " <h2>Images with tag &quot;%s&quot;</h2>" tag))
2421 (insert (format " <h2>Images with tag &quot;%s&quot;</h2>" tag)) 2411 ;; Main loop for files per tag page
2422 ;; Main loop for files per tag page 2412 (dolist (file (cdr curr))
2423 (mapc 2413 (unless (image-dired-hidden-p file)
2424 (lambda (file) 2414 ;; Insert thumbnail with link to full image
2425 (when (not (image-dired-hidden-p file)) 2415 (insert
2426 ;; Insert thumbnail with link to full image 2416 (format "<a href=\"%s/%s\"><img src=\"%s/%s\"%s></a>\n"
2427 (insert 2417 image-dired-gallery-image-root-url
2428 (format "<a href=\"%s/%s\"><img src=\"%s/%s\"%s></a>\n" 2418 (file-name-nondirectory file)
2429 image-dired-gallery-image-root-url 2419 image-dired-gallery-thumb-image-root-url
2430 (file-name-nondirectory file) 2420 (file-name-nondirectory (image-dired-thumb-name file)) file))
2431 image-dired-gallery-thumb-image-root-url 2421 ;; Insert comment, if any
2432 (file-name-nondirectory (image-dired-thumb-name file)) file)) 2422 (if (setq comment (cdr (assoc file image-dired-file-comment-list)))
2433 ;; Insert comment, if any 2423 (insert (format "<br>\n%s<br>\n" comment))
2434 (if (setq comment (cdr (assoc file image-dired-file-comment-list))) 2424 (insert "<br>\n"))
2435 (insert (format "<br>\n%s<br>\n" comment)) 2425 ;; Insert links to other tags, if any
2436 (insert "<br>\n")) 2426 (when (> (length
2437 ;; Insert links to other tags, if any 2427 (setq file-tags (assoc file image-dired-file-tag-list))) 2)
2438 (when (> (length 2428 (insert "[ ")
2439 (setq file-tags (assoc file image-dired-file-tag-list))) 2) 2429 (dolist (extra-tag file-tags)
2440 (insert "[ ") 2430 ;; Only insert if not file name or the main tag
2441 (mapc 2431 (if (and (not (equal extra-tag tag))
2442 (lambda (extra-tag) 2432 (not (equal extra-tag file)))
2443 ;; Only insert if not file name or the main tag 2433 (insert
2444 (if (and (not (equal extra-tag tag)) 2434 (format "%s " (cdr (assoc extra-tag tag-link-list))))))
2445 (not (equal extra-tag file))) 2435 (insert "]<br>\n"))))
2446 (insert 2436 (insert " <p><a href=\"index.html\">Index</a></p>\n")
2447 (format "%s " (cdr (assoc extra-tag tag-link-list)))))) 2437 (insert " </body>\n")
2448 file-tags) 2438 (insert "</html>\n"))
2449 (insert "]<br>\n")))) 2439 (setq count (1+ count))))
2450 (cdr curr)) 2440 (insert " </body>\n")
2451 (insert " <p><a href=\"index.html\">Index</a></p>\n") 2441 (insert "</html>"))))
2452 (insert " </body>\n")
2453 (insert "</html>\n")
2454 (save-buffer)
2455 (kill-buffer tag-buf)
2456 (setq count (1+ count))))
2457 tags)
2458 (insert " </body>\n")
2459 (insert "</html>")
2460 (save-buffer)
2461 (kill-buffer index-buf)))
2462 2442
2463(defun image-dired-kill-buffer-and-window () 2443(defun image-dired-kill-buffer-and-window ()
2464 "Kill the current buffer and, if possible, also the window." 2444 "Kill the current buffer and, if possible, also the window."
diff --git a/lisp/info.el b/lisp/info.el
index a4826ee8c2c..191e75f9750 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -2128,7 +2128,7 @@ If SAME-FILE is non-nil, do not move to a different Info file."
2128 )) 2128 ))
2129 2129
2130(defun Info-history-toc-nodes (filename) 2130(defun Info-history-toc-nodes (filename)
2131 "History-specific implementation of `Info-history-toc-nodes'." 2131 "History-specific implementation of `Info-toc-nodes'."
2132 `(,filename 2132 `(,filename
2133 ("Top" nil nil nil))) 2133 ("Top" nil nil nil)))
2134 2134
@@ -2789,11 +2789,6 @@ N is the digit argument used to invoke this command."
2789 (goto-char (point-max))))) 2789 (goto-char (point-max)))))
2790 (t (error "No previous nodes")))) 2790 (t (error "No previous nodes"))))
2791 2791
2792(defun Info-beginning-of-buffer ()
2793 "Go to the beginnning of the buffer."
2794 (interactive)
2795 (goto-char (point-min)))
2796
2797(defun Info-scroll-up () 2792(defun Info-scroll-up ()
2798 "Scroll one screenful forward in Info, considering all nodes as one sequence. 2793 "Scroll one screenful forward in Info, considering all nodes as one sequence.
2799Once you scroll far enough in a node that its menu appears on the screen 2794Once you scroll far enough in a node that its menu appears on the screen
@@ -3655,7 +3650,7 @@ If FORK is non-nil, it is passed to `Info-goto-node'."
3655(defvar Info-mode-map 3650(defvar Info-mode-map
3656 (let ((map (make-keymap))) 3651 (let ((map (make-keymap)))
3657 (suppress-keymap map) 3652 (suppress-keymap map)
3658 (define-key map "." 'Info-beginning-of-buffer) 3653 (define-key map "." 'beginning-of-buffer)
3659 (define-key map " " 'Info-scroll-up) 3654 (define-key map " " 'Info-scroll-up)
3660 (define-key map "\C-m" 'Info-follow-nearest-node) 3655 (define-key map "\C-m" 'Info-follow-nearest-node)
3661 (define-key map "\t" 'Info-next-reference) 3656 (define-key map "\t" 'Info-next-reference)
@@ -3676,8 +3671,8 @@ If FORK is non-nil, it is passed to `Info-goto-node'."
3676 (define-key map "[" 'Info-backward-node) 3671 (define-key map "[" 'Info-backward-node)
3677 (define-key map "<" 'Info-top-node) 3672 (define-key map "<" 'Info-top-node)
3678 (define-key map ">" 'Info-final-node) 3673 (define-key map ">" 'Info-final-node)
3679 (define-key map "b" 'Info-beginning-of-buffer) 3674 (define-key map "b" 'beginning-of-buffer)
3680 (put 'Info-beginning-of-buffer :advertised-binding "b") 3675 (put 'beginning-of-buffer :advertised-binding "b")
3681 (define-key map "d" 'Info-directory) 3676 (define-key map "d" 'Info-directory)
3682 (define-key map "e" 'Info-edit) 3677 (define-key map "e" 'Info-edit)
3683 (define-key map "f" 'Info-follow-reference) 3678 (define-key map "f" 'Info-follow-reference)
@@ -3731,7 +3726,7 @@ If FORK is non-nil, it is passed to `Info-goto-node'."
3731 :help "Go backward one node, considering all as a sequence"] 3726 :help "Go backward one node, considering all as a sequence"]
3732 ["Forward" Info-forward-node 3727 ["Forward" Info-forward-node
3733 :help "Go forward one node, considering all as a sequence"] 3728 :help "Go forward one node, considering all as a sequence"]
3734 ["Beginning" Info-beginning-of-buffer 3729 ["Beginning" beginning-of-buffer
3735 :help "Go to beginning of this node"] 3730 :help "Go to beginning of this node"]
3736 ["Top" Info-top-node 3731 ["Top" Info-top-node
3737 :help "Go to top node of file"] 3732 :help "Go to top node of file"]
@@ -3937,7 +3932,7 @@ Moving within a node:
3937\\[Info-scroll-down] Normally, scroll backward. If the beginning of the buffer is 3932\\[Info-scroll-down] Normally, scroll backward. If the beginning of the buffer is
3938 already visible, try to go to the previous menu entry, or up 3933 already visible, try to go to the previous menu entry, or up
3939 if there is none. 3934 if there is none.
3940\\[Info-beginning-of-buffer] Go to beginning of node. 3935\\[beginning-of-buffer] Go to beginning of node.
3941 3936
3942Advanced commands: 3937Advanced commands:
3943\\[Info-search] Search through this Info file for specified regexp, 3938\\[Info-search] Search through this Info file for specified regexp,
diff --git a/lisp/international/characters.el b/lisp/international/characters.el
index a9657c17b9f..47426784e51 100644
--- a/lisp/international/characters.el
+++ b/lisp/international/characters.el
@@ -114,6 +114,16 @@ A character which can't be placed at end of line.")
114Base characters (Unicode General Category L,N,P,S,Zs)") 114Base characters (Unicode General Category L,N,P,S,Zs)")
115(define-category ?^ "Combining 115(define-category ?^ "Combining
116Combining diacritic or mark (Unicode General Category M)") 116Combining diacritic or mark (Unicode General Category M)")
117
118;; bidi types
119(define-category ?R "Right-to-left (strong)
120Characters with \"strong\" right-to-left directionality, i.e.
121with R, AL, RLE, or RLO Unicode bidi character type.")
122
123(define-category ?L "Left-to-right (strong)
124Characters with \"strong\" left-to-right directionality, i.e.
125with L, LRE, or LRO Unicode bidi character type.")
126
117 127
118;;; Setting syntax and category. 128;;; Setting syntax and category.
119 129
@@ -478,6 +488,16 @@ Combining diacritic or mark (Unicode General Category M)")
478 (modify-category-entry x category)) 488 (modify-category-entry x category))
479 chars))))) 489 chars)))))
480 490
491;; Bidi categories
492
493(map-char-table (lambda (key val)
494 (cond
495 ((memq val '(R AL RLO RLE))
496 (modify-category-entry key ?R))
497 ((memq val '(L LRE LRO))
498 (modify-category-entry key ?L))))
499 (unicode-property-table-internal 'bidi-class))
500
481;; Latin 501;; Latin
482 502
483(modify-category-entry '(#x80 . #x024F) ?l) 503(modify-category-entry '(#x80 . #x024F) ?l)
diff --git a/lisp/international/charprop.el b/lisp/international/charprop.el
index 919666010b1..2424e87ae44 100644
--- a/lisp/international/charprop.el
+++ b/lisp/international/charprop.el
@@ -29,15 +29,18 @@ one of these symbols representing compatibility formatting tag:
29;; FILE: uni-decimal.el 29;; FILE: uni-decimal.el
30(define-char-code-property 'decimal-digit-value "uni-decimal.el" 30(define-char-code-property 'decimal-digit-value "uni-decimal.el"
31 "Unicode numeric value (decimal digit). 31 "Unicode numeric value (decimal digit).
32Property value is an integer.") 32Property value is an integer 0..9, or nil.
33The value nil stands for NaN \"Numeric_Value\".")
33;; FILE: uni-digit.el 34;; FILE: uni-digit.el
34(define-char-code-property 'digit-value "uni-digit.el" 35(define-char-code-property 'digit-value "uni-digit.el"
35 "Unicode numeric value (digit). 36 "Unicode numeric value (digit).
36Property value is an integer.") 37Property value is an integer 0..9, or nil.
38The value nil stands for NaN \"Numeric_Value\".")
37;; FILE: uni-numeric.el 39;; FILE: uni-numeric.el
38(define-char-code-property 'numeric-value "uni-numeric.el" 40(define-char-code-property 'numeric-value "uni-numeric.el"
39 "Unicode numeric value (numeric). 41 "Unicode numeric value (numeric).
40Property value is an integer or a floating point.") 42Property value is an integer, a floating point, or nil.
43The value nil stands for NaN \"Numeric_Value\".")
41;; FILE: uni-mirrored.el 44;; FILE: uni-mirrored.el
42(define-char-code-property 'mirrored "uni-mirrored.el" 45(define-char-code-property 'mirrored "uni-mirrored.el"
43 "Unicode bidi mirrored flag. 46 "Unicode bidi mirrored flag.
@@ -53,20 +56,27 @@ Property value is a string.")
53;; FILE: uni-uppercase.el 56;; FILE: uni-uppercase.el
54(define-char-code-property 'uppercase "uni-uppercase.el" 57(define-char-code-property 'uppercase "uni-uppercase.el"
55 "Unicode simple uppercase mapping. 58 "Unicode simple uppercase mapping.
56Property value is a character.") 59Property value is a character or nil.
60The value nil means that the actual property value of a character
61is the character itself.")
57;; FILE: uni-lowercase.el 62;; FILE: uni-lowercase.el
58(define-char-code-property 'lowercase "uni-lowercase.el" 63(define-char-code-property 'lowercase "uni-lowercase.el"
59 "Unicode simple lowercase mapping. 64 "Unicode simple lowercase mapping.
60Property value is a character.") 65Property value is a character or nil.
66The value nil means that the actual property value of a character
67is the character itself.")
61;; FILE: uni-titlecase.el 68;; FILE: uni-titlecase.el
62(define-char-code-property 'titlecase "uni-titlecase.el" 69(define-char-code-property 'titlecase "uni-titlecase.el"
63 "Unicode simple titlecase mapping. 70 "Unicode simple titlecase mapping.
64Property value is a character.") 71Property value is a character or nil.
72The value nil means that the actual property value of a character
73is the character itself.")
65;; FILE: uni-mirrored.el 74;; FILE: uni-mirrored.el
66(define-char-code-property 'mirroring "uni-mirrored.el" 75(define-char-code-property 'mirroring "uni-mirrored.el"
67 "Unicode bidi-mirroring characters. 76 "Unicode bidi-mirroring characters.
68Property value is a character that has the corresponding mirroring image, 77Property value is a character that has the corresponding mirroring image or nil.
69or nil for non-mirrored character.") 78The value nil means that the actual property value of a character
79is the character itself.")
70;; Local Variables: 80;; Local Variables:
71;; coding: utf-8 81;; coding: utf-8
72;; no-byte-compile: t 82;; no-byte-compile: t
diff --git a/lisp/international/ucs-normalize.el b/lisp/international/ucs-normalize.el
index f83e0f7588f..df05b355b46 100644
--- a/lisp/international/ucs-normalize.el
+++ b/lisp/international/ucs-normalize.el
@@ -139,14 +139,17 @@
139 (defun nfd (char) 139 (defun nfd (char)
140 (let ((decomposition 140 (let ((decomposition
141 (get-char-code-property char 'decomposition))) 141 (get-char-code-property char 'decomposition)))
142 (if (and decomposition (numberp (car decomposition))) 142 (if (and decomposition (numberp (car decomposition))
143 (or (> (length decomposition) 1)
144 (/= (car decomposition) char)))
143 decomposition))) 145 decomposition)))
144 146
145 (defun nfkd (char) 147 (defun nfkd (char)
146 (let ((decomposition 148 (let ((decomposition
147 (get-char-code-property char 'decomposition))) 149 (get-char-code-property char 'decomposition)))
148 (if (symbolp (car decomposition)) (cdr decomposition) 150 (if (symbolp (car decomposition)) (cdr decomposition)
149 decomposition))) 151 (if (or (> (length decomposition) 1)
152 (/= (car decomposition) char)) decomposition))))
150 153
151 (defun hfs-nfd (char) 154 (defun hfs-nfd (char)
152 (when (or (and (>= char 0) (< char #x2000)) 155 (when (or (and (>= char 0) (< char #x2000))
@@ -180,6 +183,9 @@
180 (setq ccc (ucs-normalize-ccc char)) 183 (setq ccc (ucs-normalize-ccc char))
181 (setq decomposition (get-char-code-property 184 (setq decomposition (get-char-code-property
182 char 'decomposition)) 185 char 'decomposition))
186 (if (and (= (length decomposition) 1)
187 (= (car decomposition) char))
188 (setq decomposition nil))
183 (if (and ccc (/= 0 ccc)) (add-to-list 'combining-chars char)) 189 (if (and ccc (/= 0 ccc)) (add-to-list 'combining-chars char))
184 (if (and (numberp (car decomposition)) 190 (if (and (numberp (car decomposition))
185 (/= (ucs-normalize-ccc (car decomposition)) 191 (/= (ucs-normalize-ccc (car decomposition))
diff --git a/lisp/international/uni-bidi.el b/lisp/international/uni-bidi.el
index e7682c6d8ff..4d86fc821fa 100644
--- a/lisp/international/uni-bidi.el
+++ b/lisp/international/uni-bidi.el
Binary files differ
diff --git a/lisp/international/uni-category.el b/lisp/international/uni-category.el
index a4455decc52..94b7c18b6e2 100644
--- a/lisp/international/uni-category.el
+++ b/lisp/international/uni-category.el
Binary files differ
diff --git a/lisp/international/uni-combining.el b/lisp/international/uni-combining.el
index 227b9d0af79..1437ff9acbd 100644
--- a/lisp/international/uni-combining.el
+++ b/lisp/international/uni-combining.el
Binary files differ
diff --git a/lisp/international/uni-comment.el b/lisp/international/uni-comment.el
index c9743064bd4..21ccfe3ffe7 100644
--- a/lisp/international/uni-comment.el
+++ b/lisp/international/uni-comment.el
Binary files differ
diff --git a/lisp/international/uni-decimal.el b/lisp/international/uni-decimal.el
index 2c424ffb5de..096257add20 100644
--- a/lisp/international/uni-decimal.el
+++ b/lisp/international/uni-decimal.el
Binary files differ
diff --git a/lisp/international/uni-decomposition.el b/lisp/international/uni-decomposition.el
index b0bf07bbe85..b9660cdab0a 100644
--- a/lisp/international/uni-decomposition.el
+++ b/lisp/international/uni-decomposition.el
Binary files differ
diff --git a/lisp/international/uni-digit.el b/lisp/international/uni-digit.el
index fc52fd8c28c..efb78b0e43d 100644
--- a/lisp/international/uni-digit.el
+++ b/lisp/international/uni-digit.el
Binary files differ
diff --git a/lisp/international/uni-lowercase.el b/lisp/international/uni-lowercase.el
index 41890018204..7afd9503cb3 100644
--- a/lisp/international/uni-lowercase.el
+++ b/lisp/international/uni-lowercase.el
Binary files differ
diff --git a/lisp/international/uni-mirrored.el b/lisp/international/uni-mirrored.el
index 006cf575591..e650166c24c 100644
--- a/lisp/international/uni-mirrored.el
+++ b/lisp/international/uni-mirrored.el
Binary files differ
diff --git a/lisp/international/uni-name.el b/lisp/international/uni-name.el
index 7fac18b278d..8b681631067 100644
--- a/lisp/international/uni-name.el
+++ b/lisp/international/uni-name.el
Binary files differ
diff --git a/lisp/international/uni-numeric.el b/lisp/international/uni-numeric.el
index d16e8c00870..a1865f1fb23 100644
--- a/lisp/international/uni-numeric.el
+++ b/lisp/international/uni-numeric.el
Binary files differ
diff --git a/lisp/international/uni-old-name.el b/lisp/international/uni-old-name.el
index 4e704e5cdd0..de2d67b9450 100644
--- a/lisp/international/uni-old-name.el
+++ b/lisp/international/uni-old-name.el
Binary files differ
diff --git a/lisp/international/uni-titlecase.el b/lisp/international/uni-titlecase.el
index b8098c81876..517edb20445 100644
--- a/lisp/international/uni-titlecase.el
+++ b/lisp/international/uni-titlecase.el
Binary files differ
diff --git a/lisp/international/uni-uppercase.el b/lisp/international/uni-uppercase.el
index 899276eb725..fcb22d72470 100644
--- a/lisp/international/uni-uppercase.el
+++ b/lisp/international/uni-uppercase.el
Binary files differ
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 1942641fae9..6eab3dbcbc4 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -952,7 +952,7 @@ NOPUSH is t and EDIT is t."
952 (or (and transient-mark-mode mark-active) 952 (or (and transient-mark-mode mark-active)
953 (progn 953 (progn
954 (push-mark isearch-opoint t) 954 (push-mark isearch-opoint t)
955 (or executing-kbd-macro (> (minibuffer-depth) 0) 955 (or executing-kbd-macro (> (minibuffer-depth) 0) edit
956 (message "Mark saved where search started"))))) 956 (message "Mark saved where search started")))))
957 957
958 (and (not edit) isearch-recursive-edit (exit-recursive-edit))) 958 (and (not edit) isearch-recursive-edit (exit-recursive-edit)))
@@ -1132,6 +1132,14 @@ If first char entered is \\[isearch-yank-word-or-char], then do word search inst
1132 ;; Save current configuration so we can restore it here. 1132 ;; Save current configuration so we can restore it here.
1133 (isearch-window-configuration (current-window-configuration)) 1133 (isearch-window-configuration (current-window-configuration))
1134 1134
1135 ;; This could protect the index of the search rings,
1136 ;; but we can't reliably count the number of typed M-p
1137 ;; in `read-from-minibuffer' to adjust the index accordingly.
1138 ;; So when the following is commented out, `isearch-mode'
1139 ;; below resets the index to the predictable value nil.
1140 ;; (search-ring-yank-pointer search-ring-yank-pointer)
1141 ;; (regexp-search-ring-yank-pointer regexp-search-ring-yank-pointer)
1142
1135 ;; Temporarily restore `minibuffer-message-timeout'. 1143 ;; Temporarily restore `minibuffer-message-timeout'.
1136 (minibuffer-message-timeout 1144 (minibuffer-message-timeout
1137 isearch-original-minibuffer-message-timeout) 1145 isearch-original-minibuffer-message-timeout)
@@ -1152,13 +1160,18 @@ If first char entered is \\[isearch-yank-word-or-char], then do word search inst
1152 1160
1153 (unwind-protect 1161 (unwind-protect
1154 (let* ((message-log-max nil) 1162 (let* ((message-log-max nil)
1163 ;; Protect global value of search rings from updating
1164 ;; by `read-from-minibuffer'. It should be updated only
1165 ;; by `isearch-update-ring' in `isearch-done', not here.
1166 (search-ring search-ring)
1167 (regexp-search-ring regexp-search-ring)
1155 ;; Binding minibuffer-history-symbol to nil is a work-around 1168 ;; Binding minibuffer-history-symbol to nil is a work-around
1156 ;; for some incompatibility with gmhist. 1169 ;; for some incompatibility with gmhist.
1157 (minibuffer-history-symbol)) 1170 (minibuffer-history-symbol))
1158 (setq isearch-new-string 1171 (setq isearch-new-string
1159 (read-from-minibuffer 1172 (read-from-minibuffer
1160 (isearch-message-prefix nil nil isearch-nonincremental) 1173 (isearch-message-prefix nil nil isearch-nonincremental)
1161 (cons isearch-string (1+ (isearch-fail-pos))) 1174 (cons isearch-string (1+ (isearch-fail-pos)))
1162 minibuffer-local-isearch-map nil 1175 minibuffer-local-isearch-map nil
1163 (if isearch-regexp 1176 (if isearch-regexp
1164 (cons 'regexp-search-ring 1177 (cons 'regexp-search-ring
@@ -1191,19 +1204,17 @@ If first char entered is \\[isearch-yank-word-or-char], then do word search inst
1191 isearch-word isearch-new-word)) 1204 isearch-word isearch-new-word))
1192 1205
1193 ;; Empty isearch-string means use default. 1206 ;; Empty isearch-string means use default.
1194 (if (= 0 (length isearch-string)) 1207 (when (= 0 (length isearch-string))
1195 (setq isearch-string (or (car (if isearch-regexp 1208 (setq isearch-string (or (car (if isearch-regexp
1196 regexp-search-ring 1209 regexp-search-ring
1197 search-ring)) 1210 search-ring))
1198 "") 1211 "")
1199 1212
1200 isearch-message 1213 isearch-message
1201 (mapconcat 'isearch-text-char-description 1214 (mapconcat 'isearch-text-char-description
1202 isearch-string "")) 1215 isearch-string ""))
1203 ;; This used to set the last search string, 1216 ;; After taking the last element, adjust ring to previous one.
1204 ;; but I think it is not right to do that here. 1217 (isearch-ring-adjust1 nil)))
1205 ;; Only the string actually used should be saved.
1206 ))
1207 1218
1208 ;; This used to push the state as of before this C-s, but it adds 1219 ;; This used to push the state as of before this C-s, but it adds
1209 ;; an inconsistent state where part of variables are from the 1220 ;; an inconsistent state where part of variables are from the
@@ -1290,7 +1301,9 @@ Use `isearch-exit' to quit without signaling."
1290 isearch-message 1301 isearch-message
1291 (mapconcat 'isearch-text-char-description 1302 (mapconcat 'isearch-text-char-description
1292 isearch-string "") 1303 isearch-string "")
1293 isearch-case-fold-search isearch-last-case-fold-search)) 1304 isearch-case-fold-search isearch-last-case-fold-search)
1305 ;; After taking the last element, adjust ring to previous one.
1306 (isearch-ring-adjust1 nil))
1294 ;; If already have what to search for, repeat it. 1307 ;; If already have what to search for, repeat it.
1295 (or isearch-success 1308 (or isearch-success
1296 (progn 1309 (progn
@@ -1432,9 +1445,10 @@ string. NLINES has the same meaning as in `occur'."
1432 (t (regexp-quote isearch-string))) 1445 (t (regexp-quote isearch-string)))
1433 (if current-prefix-arg (prefix-numeric-value current-prefix-arg)))) 1446 (if current-prefix-arg (prefix-numeric-value current-prefix-arg))))
1434 (let ((case-fold-search isearch-case-fold-search) 1447 (let ((case-fold-search isearch-case-fold-search)
1435 ;; set `search-upper-case' to nil to not call 1448 ;; Set `search-upper-case' to nil to not call
1436 ;; `isearch-no-upper-case-p' in `occur-1' 1449 ;; `isearch-no-upper-case-p' in `occur-1'.
1437 (search-upper-case nil)) 1450 (search-upper-case nil)
1451 (search-spaces-regexp search-whitespace-regexp))
1438 (occur regexp nlines))) 1452 (occur regexp nlines)))
1439 1453
1440(declare-function hi-lock-read-face-name "hi-lock" ()) 1454(declare-function hi-lock-read-face-name "hi-lock" ())
@@ -2071,7 +2085,7 @@ Isearch mode."
2071 () 2085 ()
2072 (set yank-pointer-name 2086 (set yank-pointer-name
2073 (setq yank-pointer 2087 (setq yank-pointer
2074 (mod (+ (or yank-pointer 0) 2088 (mod (+ (or yank-pointer (if advance 0 -1))
2075 (if advance -1 1)) 2089 (if advance -1 1))
2076 length))) 2090 length)))
2077 (setq isearch-string (nth yank-pointer ring) 2091 (setq isearch-string (nth yank-pointer ring)
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el
index 75de9a9f9b2..7d75bf2b98d 100644
--- a/lisp/ldefs-boot.el
+++ b/lisp/ldefs-boot.el
@@ -114,7 +114,7 @@ Completion is available.
114;;;;;; add-change-log-entry-other-window add-change-log-entry find-change-log 114;;;;;; add-change-log-entry-other-window add-change-log-entry find-change-log
115;;;;;; prompt-for-change-log-name add-log-mailing-address add-log-full-name 115;;;;;; prompt-for-change-log-name add-log-mailing-address add-log-full-name
116;;;;;; add-log-current-defun-function) "add-log" "vc/add-log.el" 116;;;;;; add-log-current-defun-function) "add-log" "vc/add-log.el"
117;;;;;; (19931 11784)) 117;;;;;; (20033 22846))
118;;; Generated autoloads from vc/add-log.el 118;;; Generated autoloads from vc/add-log.el
119 119
120(put 'change-log-default-name 'safe-local-variable 'string-or-null-p) 120(put 'change-log-default-name 'safe-local-variable 'string-or-null-p)
@@ -489,7 +489,7 @@ A replacement function for `newline-and-indent', aligning as it goes.
489 489
490;;;### (autoloads (outlineify-sticky allout-mode allout-mode-p allout-auto-activation 490;;;### (autoloads (outlineify-sticky allout-mode allout-mode-p allout-auto-activation
491;;;;;; allout-setup allout-auto-activation-helper) "allout" "allout.el" 491;;;;;; allout-setup allout-auto-activation-helper) "allout" "allout.el"
492;;;;;; (19981 40664)) 492;;;;;; (19988 13913))
493;;; Generated autoloads from allout.el 493;;; Generated autoloads from allout.el
494 494
495(autoload 'allout-auto-activation-helper "allout" "\ 495(autoload 'allout-auto-activation-helper "allout" "\
@@ -749,6 +749,7 @@ without changes to the allout core. Here are key ones:
749`allout-structure-deleted-hook' 749`allout-structure-deleted-hook'
750`allout-structure-shifted-hook' 750`allout-structure-shifted-hook'
751`allout-after-copy-or-kill-hook' 751`allout-after-copy-or-kill-hook'
752`allout-post-undo-hook'
752 753
753 Terminology 754 Terminology
754 755
@@ -847,7 +848,7 @@ for details on preparing emacs for automatic allout activation.
847 848
848;;;### (autoloads (allout-widgets-mode allout-widgets-auto-activation 849;;;### (autoloads (allout-widgets-mode allout-widgets-auto-activation
849;;;;;; allout-widgets-setup allout-widgets) "allout-widgets" "allout-widgets.el" 850;;;;;; allout-widgets-setup allout-widgets) "allout-widgets" "allout-widgets.el"
850;;;;;; (19981 40664)) 851;;;;;; (19988 13913))
851;;; Generated autoloads from allout-widgets.el 852;;; Generated autoloads from allout-widgets.el
852 853
853(let ((loads (get 'allout-widgets 'custom-loads))) (if (member '"allout-widgets" loads) nil (put 'allout-widgets 'custom-loads (cons '"allout-widgets" loads)))) 854(let ((loads (get 'allout-widgets 'custom-loads))) (if (member '"allout-widgets" loads) nil (put 'allout-widgets 'custom-loads (cons '"allout-widgets" loads))))
@@ -928,11 +929,11 @@ directory, so that Emacs will know its current contents.
928;;;*** 929;;;***
929 930
930;;;### (autoloads (animate-birthday-present animate-sequence animate-string) 931;;;### (autoloads (animate-birthday-present animate-sequence animate-string)
931;;;;;; "animate" "play/animate.el" (19845 45374)) 932;;;;;; "animate" "play/animate.el" (19986 58615))
932;;; Generated autoloads from play/animate.el 933;;; Generated autoloads from play/animate.el
933 934
934(autoload 'animate-string "animate" "\ 935(autoload 'animate-string "animate" "\
935Display STRING starting at position VPOS, HPOS, using animation. 936Display STRING animations starting at position VPOS, HPOS.
936The characters start at randomly chosen places, 937The characters start at randomly chosen places,
937and all slide in parallel to their final positions, 938and all slide in parallel to their final positions,
938passing through `animate-n-steps' positions before the final ones. 939passing through `animate-n-steps' positions before the final ones.
@@ -942,14 +943,19 @@ in the current window.
942\(fn STRING VPOS &optional HPOS)" nil nil) 943\(fn STRING VPOS &optional HPOS)" nil nil)
943 944
944(autoload 'animate-sequence "animate" "\ 945(autoload 'animate-sequence "animate" "\
945Display strings from LIST-OF-STRING with animation in a new buffer. 946Display animation strings from LIST-OF-STRING with buffer *Animation*.
946Strings will be separated from each other by SPACE lines. 947Strings will be separated from each other by SPACE lines.
948 When the variable `animation-buffer-name' is non-nil display
949animation in the buffer named by variable's value, creating the
950buffer if one does not exist.
947 951
948\(fn LIST-OF-STRINGS SPACE)" nil nil) 952\(fn LIST-OF-STRINGS SPACE)" nil nil)
949 953
950(autoload 'animate-birthday-present "animate" "\ 954(autoload 'animate-birthday-present "animate" "\
951Display one's birthday present in a new buffer. 955Return a birthday present in the buffer *Birthday-Present*.
952You can specify the one's name by NAME; the default value is \"Sarah\". 956When optional arg NAME is non-nil or called-interactively, prompt for
957NAME of birthday present receiver and return a birthday present in
958the buffer *Birthday-Present-for-Name*.
953 959
954\(fn &optional NAME)" t nil) 960\(fn &optional NAME)" t nil)
955 961
@@ -1144,8 +1150,8 @@ Returns list of symbols and documentation found.
1144 1150
1145;;;*** 1151;;;***
1146 1152
1147;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (19886 1153;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (19990
1148;;;;;; 45771)) 1154;;;;;; 55648))
1149;;; Generated autoloads from arc-mode.el 1155;;; Generated autoloads from arc-mode.el
1150 1156
1151(autoload 'archive-mode "arc-mode" "\ 1157(autoload 'archive-mode "arc-mode" "\
@@ -1472,7 +1478,7 @@ Special commands:
1472;;;*** 1478;;;***
1473 1479
1474;;;### (autoloads (auth-source-cache-expiry) "auth-source" "gnus/auth-source.el" 1480;;;### (autoloads (auth-source-cache-expiry) "auth-source" "gnus/auth-source.el"
1475;;;;;; (19981 40664)) 1481;;;;;; (20062 2656))
1476;;; Generated autoloads from gnus/auth-source.el 1482;;; Generated autoloads from gnus/auth-source.el
1477 1483
1478(defvar auth-source-cache-expiry 7200 "\ 1484(defvar auth-source-cache-expiry 7200 "\
@@ -1550,7 +1556,7 @@ Major mode for editing Autoconf configure.in files.
1550;;;*** 1556;;;***
1551 1557
1552;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert) 1558;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert)
1553;;;;;; "autoinsert" "autoinsert.el" (19845 45374)) 1559;;;;;; "autoinsert" "autoinsert.el" (19988 13913))
1554;;; Generated autoloads from autoinsert.el 1560;;; Generated autoloads from autoinsert.el
1555 1561
1556(autoload 'auto-insert "autoinsert" "\ 1562(autoload 'auto-insert "autoinsert" "\
@@ -1762,7 +1768,7 @@ definition of \"random distance\".)
1762;;;*** 1768;;;***
1763 1769
1764;;;### (autoloads (display-battery-mode battery) "battery" "battery.el" 1770;;;### (autoloads (display-battery-mode battery) "battery" "battery.el"
1765;;;;;; (19976 22732)) 1771;;;;;; (20055 29424))
1766;;; Generated autoloads from battery.el 1772;;; Generated autoloads from battery.el
1767 (put 'battery-mode-line-string 'risky-local-variable t) 1773 (put 'battery-mode-line-string 'risky-local-variable t)
1768 1774
@@ -1827,7 +1833,7 @@ For non-interactive use see also `benchmark-run' and
1827;;;*** 1833;;;***
1828 1834
1829;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize) 1835;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize)
1830;;;;;; "bibtex" "textmodes/bibtex.el" (19971 4823)) 1836;;;;;; "bibtex" "textmodes/bibtex.el" (19997 28887))
1831;;; Generated autoloads from textmodes/bibtex.el 1837;;; Generated autoloads from textmodes/bibtex.el
1832 1838
1833(autoload 'bibtex-initialize "bibtex" "\ 1839(autoload 'bibtex-initialize "bibtex" "\
@@ -2075,7 +2081,7 @@ a reflection.
2075;;;;;; bookmark-save bookmark-write bookmark-delete bookmark-insert 2081;;;;;; bookmark-save bookmark-write bookmark-delete bookmark-insert
2076;;;;;; bookmark-rename bookmark-insert-location bookmark-relocate 2082;;;;;; bookmark-rename bookmark-insert-location bookmark-relocate
2077;;;;;; bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark" 2083;;;;;; bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark"
2078;;;;;; "bookmark.el" (19914 25180)) 2084;;;;;; "bookmark.el" (19998 49767))
2079;;; Generated autoloads from bookmark.el 2085;;; Generated autoloads from bookmark.el
2080 (define-key ctl-x-r-map "b" 'bookmark-jump) 2086 (define-key ctl-x-r-map "b" 'bookmark-jump)
2081 (define-key ctl-x-r-map "m" 'bookmark-set) 2087 (define-key ctl-x-r-map "m" 'bookmark-set)
@@ -2276,10 +2282,10 @@ Incremental search of bookmarks, hiding the non-matches as we go.
2276;;;;;; browse-url-at-mouse browse-url-at-point browse-url browse-url-of-region 2282;;;;;; browse-url-at-mouse browse-url-at-point browse-url browse-url-of-region
2277;;;;;; browse-url-of-dired-file browse-url-of-buffer browse-url-of-file 2283;;;;;; browse-url-of-dired-file browse-url-of-buffer browse-url-of-file
2278;;;;;; browse-url-browser-function) "browse-url" "net/browse-url.el" 2284;;;;;; browse-url-browser-function) "browse-url" "net/browse-url.el"
2279;;;;;; (19973 46551)) 2285;;;;;; (20048 56149))
2280;;; Generated autoloads from net/browse-url.el 2286;;; Generated autoloads from net/browse-url.el
2281 2287
2282(defvar browse-url-browser-function (cond ((memq system-type '(windows-nt ms-dos cygwin)) 'browse-url-default-windows-browser) ((memq system-type '(darwin)) 'browse-url-default-macosx-browser) (t 'browse-url-default-browser)) "\ 2288(defvar browse-url-browser-function 'browse-url-default-browser "\
2283Function to display the current buffer in a WWW browser. 2289Function to display the current buffer in a WWW browser.
2284This is used by the `browse-url-at-point', `browse-url-at-mouse', and 2290This is used by the `browse-url-at-point', `browse-url-at-mouse', and
2285`browse-url-of-file' commands. 2291`browse-url-of-file' commands.
@@ -2598,7 +2604,7 @@ Return a vector containing the lines from `bruce-phrases-file'.
2598;;;*** 2604;;;***
2599 2605
2600;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next) 2606;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next)
2601;;;;;; "bs" "bs.el" (19976 22732)) 2607;;;;;; "bs" "bs.el" (19998 49767))
2602;;; Generated autoloads from bs.el 2608;;; Generated autoloads from bs.el
2603 2609
2604(autoload 'bs-cycle-next "bs" "\ 2610(autoload 'bs-cycle-next "bs" "\
@@ -2681,7 +2687,7 @@ Like `bug-reference-mode', but only buttonize in comments and strings.
2681;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile 2687;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile
2682;;;;;; compile-defun byte-compile-file byte-recompile-directory 2688;;;;;; compile-defun byte-compile-file byte-recompile-directory
2683;;;;;; byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning) 2689;;;;;; byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning)
2684;;;;;; "bytecomp" "emacs-lisp/bytecomp.el" (19968 28627)) 2690;;;;;; "bytecomp" "emacs-lisp/bytecomp.el" (19998 49767))
2685;;; Generated autoloads from emacs-lisp/bytecomp.el 2691;;; Generated autoloads from emacs-lisp/bytecomp.el
2686(put 'byte-compile-dynamic 'safe-local-variable 'booleanp) 2692(put 'byte-compile-dynamic 'safe-local-variable 'booleanp)
2687(put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp) 2693(put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp)
@@ -3053,7 +3059,7 @@ Obsoletes `c-forward-into-nomenclature'.
3053;;;*** 3059;;;***
3054 3060
3055;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el" 3061;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el"
3056;;;;;; (19981 40664)) 3062;;;;;; (20048 56149))
3057;;; Generated autoloads from progmodes/cc-engine.el 3063;;; Generated autoloads from progmodes/cc-engine.el
3058 3064
3059(autoload 'c-guess-basic-syntax "cc-engine" "\ 3065(autoload 'c-guess-basic-syntax "cc-engine" "\
@@ -3165,7 +3171,7 @@ the absolute file name of the file if STYLE-NAME is nil.
3165 3171
3166;;;### (autoloads (awk-mode pike-mode idl-mode java-mode objc-mode 3172;;;### (autoloads (awk-mode pike-mode idl-mode java-mode objc-mode
3167;;;;;; c++-mode c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el" 3173;;;;;; c++-mode c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el"
3168;;;;;; (19981 40664)) 3174;;;;;; (20010 40918))
3169;;; Generated autoloads from progmodes/cc-mode.el 3175;;; Generated autoloads from progmodes/cc-mode.el
3170 3176
3171(autoload 'c-initialize-cc-mode "cc-mode" "\ 3177(autoload 'c-initialize-cc-mode "cc-mode" "\
@@ -3393,7 +3399,7 @@ and exists only for compatibility reasons.
3393 3399
3394;;;*** 3400;;;***
3395 3401
3396;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (19845 45374)) 3402;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (19997 28887))
3397;;; Generated autoloads from progmodes/cc-vars.el 3403;;; Generated autoloads from progmodes/cc-vars.el
3398(put 'c-basic-offset 'safe-local-variable 'integerp) 3404(put 'c-basic-offset 'safe-local-variable 'integerp)
3399(put 'c-backslash-column 'safe-local-variable 'integerp) 3405(put 'c-backslash-column 'safe-local-variable 'integerp)
@@ -4291,8 +4297,8 @@ on third call it again advances points to the next difference and so on.
4291;;;;;; compilation-shell-minor-mode compilation-mode compilation-start 4297;;;;;; compilation-shell-minor-mode compilation-mode compilation-start
4292;;;;;; compile compilation-disable-input compile-command compilation-search-path 4298;;;;;; compile compilation-disable-input compile-command compilation-search-path
4293;;;;;; compilation-ask-about-save compilation-window-height compilation-start-hook 4299;;;;;; compilation-ask-about-save compilation-window-height compilation-start-hook
4294;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (19968 4300;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (20051
4295;;;;;; 28627)) 4301;;;;;; 32345))
4296;;; Generated autoloads from progmodes/compile.el 4302;;; Generated autoloads from progmodes/compile.el
4297 4303
4298(defvar compilation-mode-hook nil "\ 4304(defvar compilation-mode-hook nil "\
@@ -4716,7 +4722,7 @@ If FIX is non-nil, run `copyright-fix-years' instead.
4716;;;*** 4722;;;***
4717 4723
4718;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode) 4724;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode)
4719;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (19975 1875)) 4725;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (19997 56302))
4720;;; Generated autoloads from progmodes/cperl-mode.el 4726;;; Generated autoloads from progmodes/cperl-mode.el
4721(put 'cperl-indent-level 'safe-local-variable 'integerp) 4727(put 'cperl-indent-level 'safe-local-variable 'integerp)
4722(put 'cperl-brace-offset 'safe-local-variable 'integerp) 4728(put 'cperl-brace-offset 'safe-local-variable 'integerp)
@@ -5064,7 +5070,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings.
5064;;;;;; customize-mode customize customize-push-and-save customize-save-variable 5070;;;;;; customize-mode customize customize-push-and-save customize-save-variable
5065;;;;;; customize-set-variable customize-set-value custom-menu-sort-alphabetically 5071;;;;;; customize-set-variable customize-set-value custom-menu-sort-alphabetically
5066;;;;;; custom-buffer-sort-alphabetically custom-browse-sort-alphabetically) 5072;;;;;; custom-buffer-sort-alphabetically custom-browse-sort-alphabetically)
5067;;;;;; "cus-edit" "cus-edit.el" (19980 19797)) 5073;;;;;; "cus-edit" "cus-edit.el" (20025 8284))
5068;;; Generated autoloads from cus-edit.el 5074;;; Generated autoloads from cus-edit.el
5069 5075
5070(defvar custom-browse-sort-alphabetically nil "\ 5076(defvar custom-browse-sort-alphabetically nil "\
@@ -5378,8 +5384,8 @@ The format is suitable for use with `easy-menu-define'.
5378;;;*** 5384;;;***
5379 5385
5380;;;### (autoloads (customize-themes describe-theme custom-theme-visit-theme 5386;;;### (autoloads (customize-themes describe-theme custom-theme-visit-theme
5381;;;;;; customize-create-theme) "cus-theme" "cus-theme.el" (19980 5387;;;;;; customize-create-theme) "cus-theme" "cus-theme.el" (20059
5382;;;;;; 19797)) 5388;;;;;; 26455))
5383;;; Generated autoloads from cus-theme.el 5389;;; Generated autoloads from cus-theme.el
5384 5390
5385(autoload 'customize-create-theme "cus-theme" "\ 5391(autoload 'customize-create-theme "cus-theme" "\
@@ -5498,7 +5504,7 @@ If the argument is nil, we return the display table to its standard state.
5498;;;*** 5504;;;***
5499 5505
5500;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el" 5506;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el"
5501;;;;;; (19886 45771)) 5507;;;;;; (19989 34789))
5502;;; Generated autoloads from dabbrev.el 5508;;; Generated autoloads from dabbrev.el
5503(put 'dabbrev-case-fold-search 'risky-local-variable t) 5509(put 'dabbrev-case-fold-search 'risky-local-variable t)
5504(put 'dabbrev-case-replace 'risky-local-variable t) 5510(put 'dabbrev-case-replace 'risky-local-variable t)
@@ -5697,13 +5703,13 @@ There is some minimal font-lock support (see vars
5697;;;*** 5703;;;***
5698 5704
5699;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug" 5705;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug"
5700;;;;;; "emacs-lisp/debug.el" (19961 55377)) 5706;;;;;; "emacs-lisp/debug.el" (20051 32345))
5701;;; Generated autoloads from emacs-lisp/debug.el 5707;;; Generated autoloads from emacs-lisp/debug.el
5702 5708
5703(setq debugger 'debug) 5709(setq debugger 'debug)
5704 5710
5705(autoload 'debug "debug" "\ 5711(autoload 'debug "debug" "\
5706Enter debugger. To return, type \\<debugger-mode-map>`\\[debugger-continue]'. 5712Enter debugger. \\<debugger-mode-map>`\\[debugger-continue]' returns from the debugger.
5707Arguments are mainly for use when this is called from the internals 5713Arguments are mainly for use when this is called from the internals
5708of the evaluator. 5714of the evaluator.
5709 5715
@@ -5877,7 +5883,7 @@ any selection.
5877;;;*** 5883;;;***
5878 5884
5879;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode) 5885;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode)
5880;;;;;; "derived" "emacs-lisp/derived.el" (19849 29307)) 5886;;;;;; "derived" "emacs-lisp/derived.el" (20054 8529))
5881;;; Generated autoloads from emacs-lisp/derived.el 5887;;; Generated autoloads from emacs-lisp/derived.el
5882 5888
5883(autoload 'define-derived-mode "derived" "\ 5889(autoload 'define-derived-mode "derived" "\
@@ -5900,10 +5906,10 @@ BODY can start with a bunch of keyword arguments. The following keyword
5900 Declare the customization group that corresponds to this mode. 5906 Declare the customization group that corresponds to this mode.
5901 The command `customize-mode' uses this. 5907 The command `customize-mode' uses this.
5902:syntax-table TABLE 5908:syntax-table TABLE
5903 Use TABLE instead of the default. 5909 Use TABLE instead of the default (CHILD-syntax-table).
5904 A nil value means to simply use the same syntax-table as the parent. 5910 A nil value means to simply use the same syntax-table as the parent.
5905:abbrev-table TABLE 5911:abbrev-table TABLE
5906 Use TABLE instead of the default. 5912 Use TABLE instead of the default (CHILD-abbrev-table).
5907 A nil value means to simply use the same abbrev-table as the parent. 5913 A nil value means to simply use the same abbrev-table as the parent.
5908 5914
5909Here is how you could define LaTeX-Thesis mode as a variant of LaTeX mode: 5915Here is how you could define LaTeX-Thesis mode as a variant of LaTeX mode:
@@ -6232,7 +6238,7 @@ Major mode for editing the diary file.
6232;;;*** 6238;;;***
6233 6239
6234;;;### (autoloads (diff-buffer-with-file diff-backup diff diff-command 6240;;;### (autoloads (diff-buffer-with-file diff-backup diff diff-command
6235;;;;;; diff-switches) "diff" "vc/diff.el" (19903 54862)) 6241;;;;;; diff-switches) "diff" "vc/diff.el" (19999 41597))
6236;;; Generated autoloads from vc/diff.el 6242;;; Generated autoloads from vc/diff.el
6237 6243
6238(defvar diff-switches (purecopy "-c") "\ 6244(defvar diff-switches (purecopy "-c") "\
@@ -6247,10 +6253,10 @@ The command to use to run diff.")
6247 6253
6248(autoload 'diff "diff" "\ 6254(autoload 'diff "diff" "\
6249Find and display the differences between OLD and NEW files. 6255Find and display the differences between OLD and NEW files.
6250When called interactively, read OLD and NEW using the minibuffer; 6256When called interactively, read NEW, then OLD, using the
6251the default for NEW is the current buffer's file name, and the 6257minibuffer. The default for NEW is the current buffer's file
6252default for OLD is a backup file for NEW, if one exists. 6258name, and the default for OLD is a backup file for NEW, if one
6253If NO-ASYNC is non-nil, call diff synchronously. 6259exists. If NO-ASYNC is non-nil, call diff synchronously.
6254 6260
6255When called interactively with a prefix argument, prompt 6261When called interactively with a prefix argument, prompt
6256interactively for diff switches. Otherwise, the switches 6262interactively for diff switches. Otherwise, the switches
@@ -6316,7 +6322,7 @@ Optional arguments are passed to `dig-invoke'.
6316;;;*** 6322;;;***
6317 6323
6318;;;### (autoloads (dired-mode dired-noselect dired-other-frame dired-other-window 6324;;;### (autoloads (dired-mode dired-noselect dired-other-frame dired-other-window
6319;;;;;; dired dired-listing-switches) "dired" "dired.el" (19966 16984)) 6325;;;;;; dired dired-listing-switches) "dired" "dired.el" (20045 30688))
6320;;; Generated autoloads from dired.el 6326;;; Generated autoloads from dired.el
6321 6327
6322(defvar dired-listing-switches (purecopy "-al") "\ 6328(defvar dired-listing-switches (purecopy "-al") "\
@@ -6345,8 +6351,7 @@ Dired displays a list of files in DIRNAME (which may also have
6345shell wildcards appended to select certain files). If DIRNAME is a cons, 6351shell wildcards appended to select certain files). If DIRNAME is a cons,
6346its first element is taken as the directory name and the rest as an explicit 6352its first element is taken as the directory name and the rest as an explicit
6347list of files to make directory entries for. 6353list of files to make directory entries for.
6348\\<dired-mode-map>You can move around in it with the usual commands. 6354\\<dired-mode-map>You can flag files for deletion with \\[dired-flag-file-deletion] and then
6349You can flag files for deletion with \\[dired-flag-file-deletion] and then
6350delete them by typing \\[dired-do-flagged-delete]. 6355delete them by typing \\[dired-do-flagged-delete].
6351Type \\[describe-mode] after entering Dired for more info. 6356Type \\[describe-mode] after entering Dired for more info.
6352 6357
@@ -6382,8 +6387,8 @@ In Dired, you are \"editing\" a list of the files in a directory and
6382 files for later commands or \"flag\" them for deletion, either file 6387 files for later commands or \"flag\" them for deletion, either file
6383 by file or all files matching certain criteria. 6388 by file or all files matching certain criteria.
6384You can move using the usual cursor motion commands.\\<dired-mode-map> 6389You can move using the usual cursor motion commands.\\<dired-mode-map>
6385Letters no longer insert themselves. Digits are prefix arguments. 6390The buffer is read-only. Digits are prefix arguments.
6386Instead, type \\[dired-flag-file-deletion] to flag a file for Deletion. 6391Type \\[dired-flag-file-deletion] to flag a file `D' for deletion.
6387Type \\[dired-mark] to Mark a file or subdirectory for later commands. 6392Type \\[dired-mark] to Mark a file or subdirectory for later commands.
6388 Most commands operate on the marked files and use the current file 6393 Most commands operate on the marked files and use the current file
6389 if no files are marked. Use a numeric prefix argument to operate on 6394 if no files are marked. Use a numeric prefix argument to operate on
@@ -6391,9 +6396,9 @@ Type \\[dired-mark] to Mark a file or subdirectory for later commands.
6391 to operate on the current file only. Prefix arguments override marks. 6396 to operate on the current file only. Prefix arguments override marks.
6392 Mark-using commands display a list of failures afterwards. Type \\[dired-summary] 6397 Mark-using commands display a list of failures afterwards. Type \\[dired-summary]
6393 to see why something went wrong. 6398 to see why something went wrong.
6394Type \\[dired-unmark] to Unmark a file or all files of a subdirectory. 6399Type \\[dired-unmark] to Unmark a file or all files of an inserted subdirectory.
6395Type \\[dired-unmark-backward] to back up one line and unflag. 6400Type \\[dired-unmark-backward] to back up one line and unmark or unflag.
6396Type \\[dired-do-flagged-delete] to eXecute the deletions requested. 6401Type \\[dired-do-flagged-delete] to delete (eXecute) the files flagged `D'.
6397Type \\[dired-find-file] to Find the current line's file 6402Type \\[dired-find-file] to Find the current line's file
6398 (or dired it in another buffer, if it is a directory). 6403 (or dired it in another buffer, if it is a directory).
6399Type \\[dired-find-file-other-window] to find file or dired directory in Other window. 6404Type \\[dired-find-file-other-window] to find file or dired directory in Other window.
@@ -6403,10 +6408,10 @@ Type \\[dired-do-copy] to Copy files.
6403Type \\[dired-sort-toggle-or-edit] to toggle Sorting by name/date or change the `ls' switches. 6408Type \\[dired-sort-toggle-or-edit] to toggle Sorting by name/date or change the `ls' switches.
6404Type \\[revert-buffer] to read all currently expanded directories aGain. 6409Type \\[revert-buffer] to read all currently expanded directories aGain.
6405 This retains all marks and hides subdirs again that were hidden before. 6410 This retains all marks and hides subdirs again that were hidden before.
6406SPC and DEL can be used to move down and up by lines. 6411Use `SPC' and `DEL' to move down and up by lines.
6407 6412
6408If Dired ever gets confused, you can either type \\[revert-buffer] to read the 6413If Dired ever gets confused, you can either type \\[revert-buffer] to read the
6409directories again, type \\[dired-do-redisplay] to relist a single or the marked files or a 6414directories again, type \\[dired-do-redisplay] to relist the file at point or the marked files or a
6410subdirectory, or type \\[dired-build-subdir-alist] to parse the buffer 6415subdirectory, or type \\[dired-build-subdir-alist] to parse the buffer
6411again for the directory tree. 6416again for the directory tree.
6412 6417
@@ -6485,7 +6490,7 @@ redefine OBJECT if it is a symbol.
6485;;;;;; standard-display-g1 standard-display-ascii standard-display-default 6490;;;;;; standard-display-g1 standard-display-ascii standard-display-default
6486;;;;;; standard-display-8bit describe-current-display-table describe-display-table 6491;;;;;; standard-display-8bit describe-current-display-table describe-display-table
6487;;;;;; set-display-table-slot display-table-slot make-display-table) 6492;;;;;; set-display-table-slot display-table-slot make-display-table)
6488;;;;;; "disp-table" "disp-table.el" (19845 45374)) 6493;;;;;; "disp-table" "disp-table.el" (19984 16846))
6489;;; Generated autoloads from disp-table.el 6494;;; Generated autoloads from disp-table.el
6490 6495
6491(autoload 'make-display-table "disp-table" "\ 6496(autoload 'make-display-table "disp-table" "\
@@ -6668,8 +6673,8 @@ Locate SOA record and increment the serial field.
6668;;;*** 6673;;;***
6669 6674
6670;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode-maybe 6675;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode-maybe
6671;;;;;; doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (19953 6676;;;;;; doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20002
6672;;;;;; 8437)) 6677;;;;;; 46800))
6673;;; Generated autoloads from doc-view.el 6678;;; Generated autoloads from doc-view.el
6674 6679
6675(autoload 'doc-view-mode-p "doc-view" "\ 6680(autoload 'doc-view-mode-p "doc-view" "\
@@ -7511,7 +7516,7 @@ an EDE controlled project.
7511 7516
7512;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form 7517;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form
7513;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug" 7518;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug"
7514;;;;;; "emacs-lisp/edebug.el" (19863 8742)) 7519;;;;;; "emacs-lisp/edebug.el" (20050 11479))
7515;;; Generated autoloads from emacs-lisp/edebug.el 7520;;; Generated autoloads from emacs-lisp/edebug.el
7516 7521
7517(defvar edebug-all-defs nil "\ 7522(defvar edebug-all-defs nil "\
@@ -7584,7 +7589,7 @@ Toggle edebugging of all forms.
7584;;;;;; ediff-merge-directories-with-ancestor ediff-merge-directories 7589;;;;;; ediff-merge-directories-with-ancestor ediff-merge-directories
7585;;;;;; ediff-directories3 ediff-directory-revisions ediff-directories 7590;;;;;; ediff-directories3 ediff-directory-revisions ediff-directories
7586;;;;;; ediff-buffers3 ediff-buffers ediff-backup ediff-current-file 7591;;;;;; ediff-buffers3 ediff-buffers ediff-backup ediff-current-file
7587;;;;;; ediff-files3 ediff-files) "ediff" "vc/ediff.el" (19845 45374)) 7592;;;;;; ediff-files3 ediff-files) "ediff" "vc/ediff.el" (19996 8027))
7588;;; Generated autoloads from vc/ediff.el 7593;;; Generated autoloads from vc/ediff.el
7589 7594
7590(autoload 'ediff-files "ediff" "\ 7595(autoload 'ediff-files "ediff" "\
@@ -7768,7 +7773,7 @@ buffer.
7768\(fn &optional FILE STARTUP-HOOKS MERGE-BUFFER-FILE)" t nil) 7773\(fn &optional FILE STARTUP-HOOKS MERGE-BUFFER-FILE)" t nil)
7769 7774
7770(autoload 'ediff-patch-file "ediff" "\ 7775(autoload 'ediff-patch-file "ediff" "\
7771Run Ediff by patching SOURCE-FILENAME. 7776Query for a file name, and then run Ediff by patching that file.
7772If optional PATCH-BUF is given, use the patch in that buffer 7777If optional PATCH-BUF is given, use the patch in that buffer
7773and don't ask the user. 7778and don't ask the user.
7774If prefix argument, then: if even argument, assume that the patch is in a 7779If prefix argument, then: if even argument, assume that the patch is in a
@@ -8149,6 +8154,32 @@ displayed.
8149 8154
8150;;;*** 8155;;;***
8151 8156
8157;;;### (autoloads (emacs-lock-mode) "emacs-lock" "emacs-lock.el"
8158;;;;;; (19988 13913))
8159;;; Generated autoloads from emacs-lock.el
8160
8161(autoload 'emacs-lock-mode "emacs-lock" "\
8162Toggle Emacs Lock mode in the current buffer.
8163
8164With \\[universal-argument], ask for the locking mode to be used.
8165With other prefix ARG, turn mode on if ARG is positive, off otherwise.
8166
8167Initially, if the user does not pass an explicit locking mode, it defaults
8168to `emacs-lock-default-locking-mode' (which see); afterwards, the locking
8169mode most recently set on the buffer is used instead.
8170
8171When called from Elisp code, ARG can be any locking mode:
8172
8173 exit -- Emacs cannot exit while the buffer is locked
8174 kill -- the buffer cannot be killed, but Emacs can exit as usual
8175 all -- the buffer is locked against both actions
8176
8177Other values are interpreted as usual.
8178
8179\(fn &optional ARG)" t nil)
8180
8181;;;***
8182
8152;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el" 8183;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el"
8153;;;;;; (19978 37530)) 8184;;;;;; (19978 37530))
8154;;; Generated autoloads from mail/emacsbug.el 8185;;; Generated autoloads from mail/emacsbug.el
@@ -8261,8 +8292,8 @@ Commands:
8261;;;;;; epa-sign-region epa-verify-cleartext-in-region epa-verify-region 8292;;;;;; epa-sign-region epa-verify-cleartext-in-region epa-verify-region
8262;;;;;; epa-decrypt-armor-in-region epa-decrypt-region epa-encrypt-file 8293;;;;;; epa-decrypt-armor-in-region epa-decrypt-region epa-encrypt-file
8263;;;;;; epa-sign-file epa-verify-file epa-decrypt-file epa-select-keys 8294;;;;;; epa-sign-file epa-verify-file epa-decrypt-file epa-select-keys
8264;;;;;; epa-list-secret-keys epa-list-keys) "epa" "epa.el" (19865 8295;;;;;; epa-list-secret-keys epa-list-keys) "epa" "epa.el" (20042
8265;;;;;; 50420)) 8296;;;;;; 17367))
8266;;; Generated autoloads from epa.el 8297;;; Generated autoloads from epa.el
8267 8298
8268(autoload 'epa-list-keys "epa" "\ 8299(autoload 'epa-list-keys "epa" "\
@@ -8308,7 +8339,12 @@ Encrypt FILE for RECIPIENTS.
8308(autoload 'epa-decrypt-region "epa" "\ 8339(autoload 'epa-decrypt-region "epa" "\
8309Decrypt the current region between START and END. 8340Decrypt the current region between START and END.
8310 8341
8311Don't use this command in Lisp programs! 8342If MAKE-BUFFER-FUNCTION is non-nil, call it to prepare an output buffer.
8343It should return that buffer. If it copies the input, it should
8344delete the text now being decrypted. It should leave point at the
8345proper place to insert the plaintext.
8346
8347Be careful about using this command in Lisp programs!
8312Since this function operates on regions, it does some tricks such 8348Since this function operates on regions, it does some tricks such
8313as coding-system detection and unibyte/multibyte conversion. If 8349as coding-system detection and unibyte/multibyte conversion. If
8314you are sure how the data in the region should be treated, you 8350you are sure how the data in the region should be treated, you
@@ -8323,7 +8359,7 @@ For example:
8323 (epg-decrypt-string context (buffer-substring start end)) 8359 (epg-decrypt-string context (buffer-substring start end))
8324 'utf-8)) 8360 'utf-8))
8325 8361
8326\(fn START END)" t nil) 8362\(fn START END &optional MAKE-BUFFER-FUNCTION)" t nil)
8327 8363
8328(autoload 'epa-decrypt-armor-in-region "epa" "\ 8364(autoload 'epa-decrypt-armor-in-region "epa" "\
8329Decrypt OpenPGP armors in the current region between START and END. 8365Decrypt OpenPGP armors in the current region between START and END.
@@ -8461,7 +8497,7 @@ Encrypt marked files.
8461;;;*** 8497;;;***
8462 8498
8463;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler) 8499;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler)
8464;;;;;; "epa-file" "epa-file.el" (19865 50420)) 8500;;;;;; "epa-file" "epa-file.el" (20038 20303))
8465;;; Generated autoloads from epa-file.el 8501;;; Generated autoloads from epa-file.el
8466 8502
8467(autoload 'epa-file-handler "epa-file" "\ 8503(autoload 'epa-file-handler "epa-file" "\
@@ -8483,7 +8519,7 @@ Encrypt marked files.
8483 8519
8484;;;### (autoloads (epa-global-mail-mode epa-mail-import-keys epa-mail-encrypt 8520;;;### (autoloads (epa-global-mail-mode epa-mail-import-keys epa-mail-encrypt
8485;;;;;; epa-mail-sign epa-mail-verify epa-mail-decrypt epa-mail-mode) 8521;;;;;; epa-mail-sign epa-mail-verify epa-mail-decrypt epa-mail-mode)
8486;;;;;; "epa-mail" "epa-mail.el" (19865 50420)) 8522;;;;;; "epa-mail" "epa-mail.el" (20043 38232))
8487;;; Generated autoloads from epa-mail.el 8523;;; Generated autoloads from epa-mail.el
8488 8524
8489(autoload 'epa-mail-mode "epa-mail" "\ 8525(autoload 'epa-mail-mode "epa-mail" "\
@@ -8547,7 +8583,7 @@ Minor mode to hook EasyPG into Mail mode.
8547 8583
8548;;;*** 8584;;;***
8549 8585
8550;;;### (autoloads (epg-make-context) "epg" "epg.el" (19865 50420)) 8586;;;### (autoloads (epg-make-context) "epg" "epg.el" (20031 47065))
8551;;; Generated autoloads from epg.el 8587;;; Generated autoloads from epg.el
8552 8588
8553(autoload 'epg-make-context "epg" "\ 8589(autoload 'epg-make-context "epg" "\
@@ -8579,7 +8615,7 @@ Look at CONFIG and try to expand GROUP.
8579;;;*** 8615;;;***
8580 8616
8581;;;### (autoloads (erc-handle-irc-url erc erc-select-read-args) "erc" 8617;;;### (autoloads (erc-handle-irc-url erc erc-select-read-args) "erc"
8582;;;;;; "erc/erc.el" (19981 40664)) 8618;;;;;; "erc/erc.el" (19986 58615))
8583;;; Generated autoloads from erc/erc.el 8619;;; Generated autoloads from erc/erc.el
8584 8620
8585(autoload 'erc-select-read-args "erc" "\ 8621(autoload 'erc-select-read-args "erc" "\
@@ -8608,7 +8644,7 @@ then the server and full-name will be set to those values, whereas
8608`erc-compute-port', `erc-compute-nick' and `erc-compute-full-name' will 8644`erc-compute-port', `erc-compute-nick' and `erc-compute-full-name' will
8609be invoked for the values of the other parameters. 8645be invoked for the values of the other parameters.
8610 8646
8611\(fn &key (SERVER (erc-compute-server)) (PORT (erc-compute-port)) (NICK (erc-compute-nick)) PASSWORD (FULL-NAME (erc-compute-full-name)))" t nil) 8647\(fn &key (server (erc-compute-server)) (port (erc-compute-port)) (nick (erc-compute-nick)) PASSWORD (full-name (erc-compute-full-name)))" t nil)
8612 8648
8613(defalias 'erc-select 'erc) 8649(defalias 'erc-select 'erc)
8614 8650
@@ -9202,7 +9238,7 @@ corresponding to a successful execution.
9202;;;;;; visit-tags-table tags-table-mode find-tag-default-function 9238;;;;;; visit-tags-table tags-table-mode find-tag-default-function
9203;;;;;; find-tag-hook tags-add-tables tags-compression-info-list 9239;;;;;; find-tag-hook tags-add-tables tags-compression-info-list
9204;;;;;; tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el" 9240;;;;;; tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el"
9205;;;;;; (19936 52203)) 9241;;;;;; (20007 64734))
9206;;; Generated autoloads from progmodes/etags.el 9242;;; Generated autoloads from progmodes/etags.el
9207 9243
9208(defvar tags-file-name nil "\ 9244(defvar tags-file-name nil "\
@@ -9459,7 +9495,11 @@ Search through all files listed in tags table for match for REGEXP.
9459Stops when a match is found. 9495Stops when a match is found.
9460To continue searching for next match, use command \\[tags-loop-continue]. 9496To continue searching for next match, use command \\[tags-loop-continue].
9461 9497
9462See documentation of variable `tags-file-name'. 9498If FILE-LIST-FORM is non-nil, it should be a form that, when
9499evaluated, will return a list of file names. The search will be
9500restricted to these files.
9501
9502Aleso see the documentation of the `tags-file-name' variable.
9463 9503
9464\(fn REGEXP &optional FILE-LIST-FORM)" t nil) 9504\(fn REGEXP &optional FILE-LIST-FORM)" t nil)
9465 9505
@@ -10138,7 +10178,7 @@ Besides the choice of face, it is the same as `buffer-face-mode'.
10138 10178
10139;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue 10179;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue
10140;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts 10180;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts
10141;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (19931 11784)) 10181;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (19986 58615))
10142;;; Generated autoloads from mail/feedmail.el 10182;;; Generated autoloads from mail/feedmail.el
10143 10183
10144(autoload 'feedmail-send-it "feedmail" "\ 10184(autoload 'feedmail-send-it "feedmail" "\
@@ -10547,7 +10587,7 @@ Visit the file you click on in another window.
10547;;;;;; find-variable find-variable-noselect find-function-other-frame 10587;;;;;; find-variable find-variable-noselect find-function-other-frame
10548;;;;;; find-function-other-window find-function find-function-noselect 10588;;;;;; find-function-other-window find-function find-function-noselect
10549;;;;;; find-function-search-for-symbol find-library) "find-func" 10589;;;;;; find-function-search-for-symbol find-library) "find-func"
10550;;;;;; "emacs-lisp/find-func.el" (19981 40664)) 10590;;;;;; "emacs-lisp/find-func.el" (20050 11479))
10551;;; Generated autoloads from emacs-lisp/find-func.el 10591;;; Generated autoloads from emacs-lisp/find-func.el
10552 10592
10553(autoload 'find-library "find-func" "\ 10593(autoload 'find-library "find-func" "\
@@ -10576,11 +10616,15 @@ in a buffer and the point of the definition. The buffer is
10576not selected. If the function definition can't be found in 10616not selected. If the function definition can't be found in
10577the buffer, returns (BUFFER). 10617the buffer, returns (BUFFER).
10578 10618
10619If FUNCTION is a built-in function, this function normally
10620attempts to find it in the Emacs C sources; however, if LISP-ONLY
10621is non-nil, signal an error instead.
10622
10579If the file where FUNCTION is defined is not known, then it is 10623If the file where FUNCTION is defined is not known, then it is
10580searched for in `find-function-source-path' if non-nil, otherwise 10624searched for in `find-function-source-path' if non-nil, otherwise
10581in `load-path'. 10625in `load-path'.
10582 10626
10583\(fn FUNCTION)" nil nil) 10627\(fn FUNCTION &optional LISP-ONLY)" nil nil)
10584 10628
10585(autoload 'find-function "find-func" "\ 10629(autoload 'find-function "find-func" "\
10586Find the definition of the FUNCTION near point. 10630Find the definition of the FUNCTION near point.
@@ -10782,8 +10826,8 @@ to get the effect of a C-q.
10782 10826
10783;;;*** 10827;;;***
10784 10828
10785;;;### (autoloads (flymake-mode-off flymake-mode-on flymake-mode) 10829;;;### (autoloads (flymake-find-file-hook flymake-mode-off flymake-mode-on
10786;;;;;; "flymake" "progmodes/flymake.el" (19976 22732)) 10830;;;;;; flymake-mode) "flymake" "progmodes/flymake.el" (19984 16846))
10787;;; Generated autoloads from progmodes/flymake.el 10831;;; Generated autoloads from progmodes/flymake.el
10788 10832
10789(autoload 'flymake-mode "flymake" "\ 10833(autoload 'flymake-mode "flymake" "\
@@ -10803,11 +10847,16 @@ Turn flymake mode off.
10803 10847
10804\(fn)" nil nil) 10848\(fn)" nil nil)
10805 10849
10850(autoload 'flymake-find-file-hook "flymake" "\
10851
10852
10853\(fn)" nil nil)
10854
10806;;;*** 10855;;;***
10807 10856
10808;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off 10857;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off
10809;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode) 10858;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode)
10810;;;;;; "flyspell" "textmodes/flyspell.el" (19981 40664)) 10859;;;;;; "flyspell" "textmodes/flyspell.el" (19982 3545))
10811;;; Generated autoloads from textmodes/flyspell.el 10860;;; Generated autoloads from textmodes/flyspell.el
10812 10861
10813(autoload 'flyspell-prog-mode "flyspell" "\ 10862(autoload 'flyspell-prog-mode "flyspell" "\
@@ -10877,7 +10926,7 @@ Flyspell whole buffer.
10877 10926
10878;;;### (autoloads (follow-delete-other-windows-and-split follow-mode 10927;;;### (autoloads (follow-delete-other-windows-and-split follow-mode
10879;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el" 10928;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el"
10880;;;;;; (19886 45771)) 10929;;;;;; (19998 49767))
10881;;; Generated autoloads from follow.el 10930;;; Generated autoloads from follow.el
10882 10931
10883(autoload 'turn-on-follow-mode "follow" "\ 10932(autoload 'turn-on-follow-mode "follow" "\
@@ -11129,7 +11178,7 @@ and choose the directory as the fortune-file.
11129;;;*** 11178;;;***
11130 11179
11131;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el" 11180;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el"
11132;;;;;; (19931 11784)) 11181;;;;;; (19988 13913))
11133;;; Generated autoloads from progmodes/gdb-mi.el 11182;;; Generated autoloads from progmodes/gdb-mi.el
11134 11183
11135(defvar gdb-enable-debug nil "\ 11184(defvar gdb-enable-debug nil "\
@@ -11337,7 +11386,7 @@ DEFAULT-MAP specifies the default key map for ICON-LIST.
11337;;;*** 11386;;;***
11338 11387
11339;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server 11388;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server
11340;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (19978 37530)) 11389;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (20027 50006))
11341;;; Generated autoloads from gnus/gnus.el 11390;;; Generated autoloads from gnus/gnus.el
11342(when (fboundp 'custom-autoload) 11391(when (fboundp 'custom-autoload)
11343 (custom-autoload 'gnus-select-method "gnus")) 11392 (custom-autoload 'gnus-select-method "gnus"))
@@ -11390,7 +11439,7 @@ prompt the user for the name of an NNTP server to use.
11390;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group 11439;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group
11391;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize 11440;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize
11392;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent" 11441;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent"
11393;;;;;; "gnus/gnus-agent.el" (19953 61266)) 11442;;;;;; "gnus/gnus-agent.el" (20048 56149))
11394;;; Generated autoloads from gnus/gnus-agent.el 11443;;; Generated autoloads from gnus/gnus-agent.el
11395 11444
11396(autoload 'gnus-unplugged "gnus-agent" "\ 11445(autoload 'gnus-unplugged "gnus-agent" "\
@@ -11481,7 +11530,7 @@ If CLEAN, obsolete (ignore).
11481;;;*** 11530;;;***
11482 11531
11483;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el" 11532;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el"
11484;;;;;; (19981 40664)) 11533;;;;;; (20050 11479))
11485;;; Generated autoloads from gnus/gnus-art.el 11534;;; Generated autoloads from gnus/gnus-art.el
11486 11535
11487(autoload 'gnus-article-prepare-display "gnus-art" "\ 11536(autoload 'gnus-article-prepare-display "gnus-art" "\
@@ -11699,7 +11748,7 @@ If gravatars are already displayed, remove them.
11699;;;*** 11748;;;***
11700 11749
11701;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group) 11750;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group)
11702;;;;;; "gnus-group" "gnus/gnus-group.el" (19981 40664)) 11751;;;;;; "gnus-group" "gnus/gnus-group.el" (20062 2656))
11703;;; Generated autoloads from gnus/gnus-group.el 11752;;; Generated autoloads from gnus/gnus-group.el
11704 11753
11705(autoload 'gnus-fetch-group "gnus-group" "\ 11754(autoload 'gnus-fetch-group "gnus-group" "\
@@ -11717,7 +11766,7 @@ Pop up a frame and enter GROUP.
11717;;;*** 11766;;;***
11718 11767
11719;;;### (autoloads (gnus-html-prefetch-images gnus-article-html) "gnus-html" 11768;;;### (autoloads (gnus-html-prefetch-images gnus-article-html) "gnus-html"
11720;;;;;; "gnus/gnus-html.el" (19917 1372)) 11769;;;;;; "gnus/gnus-html.el" (20050 11479))
11721;;; Generated autoloads from gnus/gnus-html.el 11770;;; Generated autoloads from gnus/gnus-html.el
11722 11771
11723(autoload 'gnus-article-html "gnus-html" "\ 11772(autoload 'gnus-article-html "gnus-html" "\
@@ -11874,7 +11923,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns:
11874;;;*** 11923;;;***
11875 11924
11876;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail) 11925;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail)
11877;;;;;; "gnus-msg" "gnus/gnus-msg.el" (19978 37530)) 11926;;;;;; "gnus-msg" "gnus/gnus-msg.el" (20055 29424))
11878;;; Generated autoloads from gnus/gnus-msg.el 11927;;; Generated autoloads from gnus/gnus-msg.el
11879 11928
11880(autoload 'gnus-msg-mail "gnus-msg" "\ 11929(autoload 'gnus-msg-mail "gnus-msg" "\
@@ -12040,7 +12089,7 @@ See the documentation for these variables and functions for details.
12040;;;*** 12089;;;***
12041 12090
12042;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el" 12091;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el"
12043;;;;;; (19845 45374)) 12092;;;;;; (20046 14433))
12044;;; Generated autoloads from gnus/gnus-spec.el 12093;;; Generated autoloads from gnus/gnus-spec.el
12045 12094
12046(autoload 'gnus-update-format "gnus-spec" "\ 12095(autoload 'gnus-update-format "gnus-spec" "\
@@ -12051,7 +12100,7 @@ Update the format specification near point.
12051;;;*** 12100;;;***
12052 12101
12053;;;### (autoloads (gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" 12102;;;### (autoloads (gnus-declare-backend) "gnus-start" "gnus/gnus-start.el"
12054;;;;;; (19953 61266)) 12103;;;;;; (19988 13913))
12055;;; Generated autoloads from gnus/gnus-start.el 12104;;; Generated autoloads from gnus/gnus-start.el
12056 12105
12057(autoload 'gnus-declare-backend "gnus-start" "\ 12106(autoload 'gnus-declare-backend "gnus-start" "\
@@ -12062,7 +12111,7 @@ Declare back end NAME with ABILITIES as a Gnus back end.
12062;;;*** 12111;;;***
12063 12112
12064;;;### (autoloads (gnus-summary-bookmark-jump) "gnus-sum" "gnus/gnus-sum.el" 12113;;;### (autoloads (gnus-summary-bookmark-jump) "gnus-sum" "gnus/gnus-sum.el"
12065;;;;;; (19981 40664)) 12114;;;;;; (20050 11479))
12066;;; Generated autoloads from gnus/gnus-sum.el 12115;;; Generated autoloads from gnus/gnus-sum.el
12067 12116
12068(autoload 'gnus-summary-bookmark-jump "gnus-sum" "\ 12117(autoload 'gnus-summary-bookmark-jump "gnus-sum" "\
@@ -12100,6 +12149,23 @@ Add the window configuration CONF to `gnus-buffer-configuration'.
12100 12149
12101;;;*** 12150;;;***
12102 12151
12152;;;### (autoloads (gnutls-min-prime-bits) "gnutls" "net/gnutls.el"
12153;;;;;; (20002 46800))
12154;;; Generated autoloads from net/gnutls.el
12155
12156(defvar gnutls-min-prime-bits nil "\
12157The minimum number of bits to be used in Diffie-Hellman key exchange.
12158
12159This sets the minimum accepted size of the key to be used in a
12160client-server handshake. If the server sends a prime with fewer than
12161the specified number of bits the handshake will fail.
12162
12163A value of nil says to use the default gnutls value.")
12164
12165(custom-autoload 'gnutls-min-prime-bits "gnutls" t)
12166
12167;;;***
12168
12103;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (19889 21967)) 12169;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (19889 21967))
12104;;; Generated autoloads from play/gomoku.el 12170;;; Generated autoloads from play/gomoku.el
12105 12171
@@ -12185,7 +12251,7 @@ Retrieve MAIL-ADDRESS gravatar and returns it.
12185 12251
12186;;;### (autoloads (zrgrep rgrep lgrep grep-find grep grep-mode grep-compute-defaults 12252;;;### (autoloads (zrgrep rgrep lgrep grep-find grep grep-mode grep-compute-defaults
12187;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command 12253;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command
12188;;;;;; grep-window-height) "grep" "progmodes/grep.el" (19980 19797)) 12254;;;;;; grep-window-height) "grep" "progmodes/grep.el" (20050 11479))
12189;;; Generated autoloads from progmodes/grep.el 12255;;; Generated autoloads from progmodes/grep.el
12190 12256
12191(defvar grep-window-height nil "\ 12257(defvar grep-window-height nil "\
@@ -12356,7 +12422,7 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful.
12356;;;*** 12422;;;***
12357 12423
12358;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb 12424;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb
12359;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (19931 11784)) 12425;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (19988 13913))
12360;;; Generated autoloads from progmodes/gud.el 12426;;; Generated autoloads from progmodes/gud.el
12361 12427
12362(autoload 'gud-gdb "gud" "\ 12428(autoload 'gud-gdb "gud" "\
@@ -12665,7 +12731,7 @@ different regions. With numeric argument ARG, behaves like
12665;;;### (autoloads (doc-file-to-info doc-file-to-man describe-categories 12731;;;### (autoloads (doc-file-to-info doc-file-to-man describe-categories
12666;;;;;; describe-syntax describe-variable variable-at-point describe-function-1 12732;;;;;; describe-syntax describe-variable variable-at-point describe-function-1
12667;;;;;; find-lisp-object-file-name help-C-file-name describe-function) 12733;;;;;; find-lisp-object-file-name help-C-file-name describe-function)
12668;;;;;; "help-fns" "help-fns.el" (19977 43600)) 12734;;;;;; "help-fns" "help-fns.el" (20029 5330))
12669;;; Generated autoloads from help-fns.el 12735;;; Generated autoloads from help-fns.el
12670 12736
12671(autoload 'describe-function "help-fns" "\ 12737(autoload 'describe-function "help-fns" "\
@@ -12761,18 +12827,9 @@ gives the window that lists the options.")
12761 12827
12762;;;### (autoloads (help-xref-on-pp help-insert-xref-button help-xref-button 12828;;;### (autoloads (help-xref-on-pp help-insert-xref-button help-xref-button
12763;;;;;; help-make-xrefs help-buffer help-setup-xref help-mode-finish 12829;;;;;; help-make-xrefs help-buffer help-setup-xref help-mode-finish
12764;;;;;; help-mode-setup help-mode) "help-mode" "help-mode.el" (19958 12830;;;;;; help-mode-setup) "help-mode" "help-mode.el" (20059 26455))
12765;;;;;; 33091))
12766;;; Generated autoloads from help-mode.el 12831;;; Generated autoloads from help-mode.el
12767 12832
12768(autoload 'help-mode "help-mode" "\
12769Major mode for viewing help text and navigating references in it.
12770Entry to this mode runs the normal hook `help-mode-hook'.
12771Commands:
12772\\{help-mode-map}
12773
12774\(fn)" t nil)
12775
12776(autoload 'help-mode-setup "help-mode" "\ 12833(autoload 'help-mode-setup "help-mode" "\
12777 12834
12778 12835
@@ -12968,7 +13025,7 @@ This discards the buffer's undo information.
12968;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer 13025;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer
12969;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer 13026;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer
12970;;;;;; global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el" 13027;;;;;; global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el"
12971;;;;;; (19845 45374)) 13028;;;;;; (20034 23247))
12972;;; Generated autoloads from hi-lock.el 13029;;; Generated autoloads from hi-lock.el
12973 13030
12974(autoload 'hi-lock-mode "hi-lock" "\ 13031(autoload 'hi-lock-mode "hi-lock" "\
@@ -13746,7 +13803,7 @@ bound to the current value of the filter.
13746;;;*** 13803;;;***
13747 13804
13748;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers) 13805;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers)
13749;;;;;; "ibuffer" "ibuffer.el" (19886 45771)) 13806;;;;;; "ibuffer" "ibuffer.el" (20053 39261))
13750;;; Generated autoloads from ibuffer.el 13807;;; Generated autoloads from ibuffer.el
13751 13808
13752(autoload 'ibuffer-list-buffers "ibuffer" "\ 13809(autoload 'ibuffer-list-buffers "ibuffer" "\
@@ -13787,7 +13844,7 @@ FORMATS is the value to use for `ibuffer-formats'.
13787 13844
13788;;;### (autoloads (icalendar-import-buffer icalendar-import-file 13845;;;### (autoloads (icalendar-import-buffer icalendar-import-file
13789;;;;;; icalendar-export-region icalendar-export-file) "icalendar" 13846;;;;;; icalendar-export-region icalendar-export-file) "icalendar"
13790;;;;;; "calendar/icalendar.el" (19897 16090)) 13847;;;;;; "calendar/icalendar.el" (20015 58840))
13791;;; Generated autoloads from calendar/icalendar.el 13848;;; Generated autoloads from calendar/icalendar.el
13792 13849
13793(autoload 'icalendar-export-file "icalendar" "\ 13850(autoload 'icalendar-export-file "icalendar" "\
@@ -14062,8 +14119,8 @@ The main features of this mode are
14062;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file 14119;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file
14063;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer 14120;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer
14064;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window 14121;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window
14065;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (19931 14122;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20025
14066;;;;;; 11784)) 14123;;;;;; 8284))
14067;;; Generated autoloads from ido.el 14124;;; Generated autoloads from ido.el
14068 14125
14069(defvar ido-mode nil "\ 14126(defvar ido-mode nil "\
@@ -14353,7 +14410,7 @@ Toggle inline image minor mode.
14353;;;;;; create-image image-type-auto-detected-p image-type-available-p 14410;;;;;; create-image image-type-auto-detected-p image-type-available-p
14354;;;;;; image-type image-type-from-file-name image-type-from-file-header 14411;;;;;; image-type image-type-from-file-name image-type-from-file-header
14355;;;;;; image-type-from-buffer image-type-from-data) "image" "image.el" 14412;;;;;; image-type-from-buffer image-type-from-data) "image" "image.el"
14356;;;;;; (19956 37456)) 14413;;;;;; (20013 17118))
14357;;; Generated autoloads from image.el 14414;;; Generated autoloads from image.el
14358 14415
14359(autoload 'image-type-from-data "image" "\ 14416(autoload 'image-type-from-data "image" "\
@@ -14439,6 +14496,7 @@ IMAGE must be an image created with `create-image' or `defimage'.
14439IMAGE is displayed by putting an overlay into the current buffer with a 14496IMAGE is displayed by putting an overlay into the current buffer with a
14440`before-string' STRING that has a `display' property whose value is the 14497`before-string' STRING that has a `display' property whose value is the
14441image. STRING is defaulted if you omit it. 14498image. STRING is defaulted if you omit it.
14499The overlay created will have the `put-image' property set to t.
14442POS may be an integer or marker. 14500POS may be an integer or marker.
14443AREA is where to display the image. AREA nil or omitted means 14501AREA is where to display the image. AREA nil or omitted means
14444display it in the text area, a value of `left-margin' means 14502display it in the text area, a value of `left-margin' means
@@ -14450,8 +14508,8 @@ means display it in the right marginal area.
14450(autoload 'insert-image "image" "\ 14508(autoload 'insert-image "image" "\
14451Insert IMAGE into current buffer at point. 14509Insert IMAGE into current buffer at point.
14452IMAGE is displayed by inserting STRING into the current buffer 14510IMAGE is displayed by inserting STRING into the current buffer
14453with a `display' property whose value is the image. STRING is 14511with a `display' property whose value is the image. STRING
14454defaulted if you omit it. 14512defaults to the empty string if you omit it.
14455AREA is where to display the image. AREA nil or omitted means 14513AREA is where to display the image. AREA nil or omitted means
14456display it in the text area, a value of `left-margin' means 14514display it in the text area, a value of `left-margin' means
14457display it in the left marginal area, a value of `right-margin' 14515display it in the left marginal area, a value of `right-margin'
@@ -14549,7 +14607,7 @@ If Emacs is compiled without ImageMagick support, do nothing.
14549;;;;;; image-dired-jump-thumbnail-buffer image-dired-delete-tag 14607;;;;;; image-dired-jump-thumbnail-buffer image-dired-delete-tag
14550;;;;;; image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs 14608;;;;;; image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs
14551;;;;;; image-dired-dired-with-window-configuration image-dired-dired-toggle-marked-thumbs) 14609;;;;;; image-dired-dired-with-window-configuration image-dired-dired-toggle-marked-thumbs)
14552;;;;;; "image-dired" "image-dired.el" (19931 11784)) 14610;;;;;; "image-dired" "image-dired.el" (20033 22846))
14553;;; Generated autoloads from image-dired.el 14611;;; Generated autoloads from image-dired.el
14554 14612
14555(autoload 'image-dired-dired-toggle-marked-thumbs "image-dired" "\ 14613(autoload 'image-dired-dired-toggle-marked-thumbs "image-dired" "\
@@ -14749,7 +14807,7 @@ Image files are those whose name has an extension in
14749;;;*** 14807;;;***
14750 14808
14751;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode 14809;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode
14752;;;;;; image-mode) "image-mode" "image-mode.el" (19951 19539)) 14810;;;;;; image-mode) "image-mode" "image-mode.el" (19999 41597))
14753;;; Generated autoloads from image-mode.el 14811;;; Generated autoloads from image-mode.el
14754 14812
14755(autoload 'image-mode "image-mode" "\ 14813(autoload 'image-mode "image-mode" "\
@@ -15007,7 +15065,7 @@ of `inferior-lisp-program'). Runs the hooks from
15007;;;;;; Info-goto-emacs-key-command-node Info-goto-emacs-command-node 15065;;;;;; Info-goto-emacs-key-command-node Info-goto-emacs-command-node
15008;;;;;; Info-mode info-finder info-apropos Info-index Info-directory 15066;;;;;; Info-mode info-finder info-apropos Info-index Info-directory
15009;;;;;; Info-on-current-buffer info-standalone info-emacs-manual 15067;;;;;; Info-on-current-buffer info-standalone info-emacs-manual
15010;;;;;; info info-other-window) "info" "info.el" (19967 7755)) 15068;;;;;; info info-other-window) "info" "info.el" (20031 47065))
15011;;; Generated autoloads from info.el 15069;;; Generated autoloads from info.el
15012 15070
15013(autoload 'info-other-window "info" "\ 15071(autoload 'info-other-window "info" "\
@@ -15022,7 +15080,7 @@ Enter Info, the documentation browser.
15022Optional argument FILE-OR-NODE specifies the file to examine; 15080Optional argument FILE-OR-NODE specifies the file to examine;
15023the default is the top-level directory of Info. 15081the default is the top-level directory of Info.
15024Called from a program, FILE-OR-NODE may specify an Info node of the form 15082Called from a program, FILE-OR-NODE may specify an Info node of the form
15025`(FILENAME)NODENAME'. 15083\"(FILENAME)NODENAME\".
15026Optional argument BUFFER specifies the Info buffer name; 15084Optional argument BUFFER specifies the Info buffer name;
15027the default buffer name is *info*. If BUFFER exists, 15085the default buffer name is *info*. If BUFFER exists,
15028just switch to BUFFER. Otherwise, create a new buffer 15086just switch to BUFFER. Otherwise, create a new buffer
@@ -15194,7 +15252,7 @@ Go to Info buffer that displays MANUAL, creating it if none already exists.
15194 15252
15195;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file 15253;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file
15196;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el" 15254;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el"
15197;;;;;; (19936 52203)) 15255;;;;;; (19984 16846))
15198;;; Generated autoloads from info-look.el 15256;;; Generated autoloads from info-look.el
15199 15257
15200(autoload 'info-lookup-reset "info-look" "\ 15258(autoload 'info-lookup-reset "info-look" "\
@@ -15513,7 +15571,7 @@ Add submenus to the File menu, to convert to and from various formats.
15513;;;;;; ispell-complete-word ispell-continue ispell-buffer ispell-comments-and-strings 15571;;;;;; ispell-complete-word ispell-continue ispell-buffer ispell-comments-and-strings
15514;;;;;; ispell-region ispell-change-dictionary ispell-kill-ispell 15572;;;;;; ispell-region ispell-change-dictionary ispell-kill-ispell
15515;;;;;; ispell-help ispell-pdict-save ispell-word ispell-personal-dictionary) 15573;;;;;; ispell-help ispell-pdict-save ispell-word ispell-personal-dictionary)
15516;;;;;; "ispell" "textmodes/ispell.el" (19905 10215)) 15574;;;;;; "ispell" "textmodes/ispell.el" (20055 29424))
15517;;; Generated autoloads from textmodes/ispell.el 15575;;; Generated autoloads from textmodes/ispell.el
15518 15576
15519(put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive)))) 15577(put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive))))
@@ -15837,7 +15895,7 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
15837;;;*** 15895;;;***
15838 15896
15839;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr" 15897;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr"
15840;;;;;; "jka-compr.el" (19886 45771)) 15898;;;;;; "jka-compr.el" (20000 30139))
15841;;; Generated autoloads from jka-compr.el 15899;;; Generated autoloads from jka-compr.el
15842 15900
15843(defvar jka-compr-inhibit nil "\ 15901(defvar jka-compr-inhibit nil "\
@@ -15860,7 +15918,7 @@ by `jka-compr-installed'.
15860 15918
15861;;;*** 15919;;;***
15862 15920
15863;;;### (autoloads (js-mode) "js" "progmodes/js.el" (19981 40664)) 15921;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20038 20303))
15864;;; Generated autoloads from progmodes/js.el 15922;;; Generated autoloads from progmodes/js.el
15865 15923
15866(autoload 'js-mode "js" "\ 15924(autoload 'js-mode "js" "\
@@ -16346,8 +16404,8 @@ See `linum-mode' for more information on Linum mode.
16346 16404
16347;;;*** 16405;;;***
16348 16406
16349;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (19975 16407;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (19996
16350;;;;;; 1875)) 16408;;;;;; 8027))
16351;;; Generated autoloads from loadhist.el 16409;;; Generated autoloads from loadhist.el
16352 16410
16353(autoload 'unload-feature "loadhist" "\ 16411(autoload 'unload-feature "loadhist" "\
@@ -16469,16 +16527,20 @@ Major mode for browsing CVS log output.
16469 16527
16470;;;*** 16528;;;***
16471 16529
16472;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (19886 16530;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (20031
16473;;;;;; 45771)) 16531;;;;;; 47065))
16474;;; Generated autoloads from longlines.el 16532;;; Generated autoloads from longlines.el
16475 16533
16476(autoload 'longlines-mode "longlines" "\ 16534(autoload 'longlines-mode "longlines" "\
16477Toggle Long Lines mode. 16535Minor mode to wrap long lines.
16478In Long Lines mode, long lines are wrapped if they extend beyond 16536In Long Lines mode, long lines are wrapped if they extend beyond
16479`fill-column'. The soft newlines used for line wrapping will not 16537`fill-column'. The soft newlines used for line wrapping will not
16480show up when the text is yanked or saved to disk. 16538show up when the text is yanked or saved to disk.
16481 16539
16540With no argument, this command toggles Long Lines mode.
16541With a prefix argument ARG, turn Long Lines minor mode on if ARG is positive,
16542otherwise turn it off.
16543
16482If the variable `longlines-auto-wrap' is non-nil, lines are automatically 16544If the variable `longlines-auto-wrap' is non-nil, lines are automatically
16483wrapped whenever the buffer is changed. You can always call 16545wrapped whenever the buffer is changed. You can always call
16484`fill-paragraph' to fill individual paragraphs. 16546`fill-paragraph' to fill individual paragraphs.
@@ -17103,7 +17165,7 @@ Previous contents of that buffer are killed first.
17103;;;*** 17165;;;***
17104 17166
17105;;;### (autoloads (Man-bookmark-jump man-follow man) "man" "man.el" 17167;;;### (autoloads (Man-bookmark-jump man-follow man) "man" "man.el"
17106;;;;;; (19870 57559)) 17168;;;;;; (19999 41597))
17107;;; Generated autoloads from man.el 17169;;; Generated autoloads from man.el
17108 17170
17109(defalias 'manual-entry 'man) 17171(defalias 'manual-entry 'man)
@@ -17211,7 +17273,7 @@ Returns non-nil if the new state is enabled.
17211;;;;;; message-forward-make-body message-forward message-recover 17273;;;;;; message-forward-make-body message-forward message-recover
17212;;;;;; message-supersede message-cancel-news message-followup message-wide-reply 17274;;;;;; message-supersede message-cancel-news message-followup message-wide-reply
17213;;;;;; message-reply message-news message-mail message-mode) "message" 17275;;;;;; message-reply message-news message-mail message-mode) "message"
17214;;;;;; "gnus/message.el" (19980 19797)) 17276;;;;;; "gnus/message.el" (20047 35303))
17215;;; Generated autoloads from gnus/message.el 17277;;; Generated autoloads from gnus/message.el
17216 17278
17217(define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook) 17279(define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook)
@@ -17439,7 +17501,7 @@ redisplayed as output is inserted.
17439 17501
17440;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose 17502;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose
17441;;;;;; mh-smail-batch mh-smail-other-window mh-smail) "mh-comp" 17503;;;;;; mh-smail-batch mh-smail-other-window mh-smail) "mh-comp"
17442;;;;;; "mh-e/mh-comp.el" (19845 45374)) 17504;;;;;; "mh-e/mh-comp.el" (19993 31832))
17443;;; Generated autoloads from mh-e/mh-comp.el 17505;;; Generated autoloads from mh-e/mh-comp.el
17444 17506
17445(autoload 'mh-smail "mh-comp" "\ 17507(autoload 'mh-smail "mh-comp" "\
@@ -17486,7 +17548,7 @@ Elements look like (HEADER . VALUE) where both HEADER and VALUE
17486are strings. 17548are strings.
17487 17549
17488CONTINUE, SWITCH-FUNCTION, YANK-ACTION, SEND-ACTIONS, and 17550CONTINUE, SWITCH-FUNCTION, YANK-ACTION, SEND-ACTIONS, and
17489RETURN-ACTION are ignored. 17551RETURN-ACTION and any additional arguments are IGNORED.
17490 17552
17491\(fn &optional TO SUBJECT OTHER-HEADERS CONTINUE SWITCH-FUNCTION YANK-ACTION SEND-ACTIONS RETURN-ACTION &rest IGNORED)" nil nil) 17553\(fn &optional TO SUBJECT OTHER-HEADERS CONTINUE SWITCH-FUNCTION YANK-ACTION SEND-ACTIONS RETURN-ACTION &rest IGNORED)" nil nil)
17492 17554
@@ -17529,7 +17591,7 @@ delete the draft message.
17529 17591
17530;;;*** 17592;;;***
17531 17593
17532;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (19931 11784)) 17594;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20004 2139))
17533;;; Generated autoloads from mh-e/mh-e.el 17595;;; Generated autoloads from mh-e/mh-e.el
17534 17596
17535(put 'mh-progs 'risky-local-variable t) 17597(put 'mh-progs 'risky-local-variable t)
@@ -17546,7 +17608,7 @@ Display version information about MH-E and the MH mail handling system.
17546;;;*** 17608;;;***
17547 17609
17548;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder" 17610;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder"
17549;;;;;; "mh-e/mh-folder.el" (19845 45374)) 17611;;;;;; "mh-e/mh-folder.el" (20004 2139))
17550;;; Generated autoloads from mh-e/mh-folder.el 17612;;; Generated autoloads from mh-e/mh-folder.el
17551 17613
17552(autoload 'mh-rmail "mh-folder" "\ 17614(autoload 'mh-rmail "mh-folder" "\
@@ -17876,7 +17938,7 @@ Assume text has been decoded if DECODED is non-nil.
17876;;;*** 17938;;;***
17877 17939
17878;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el" 17940;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el"
17879;;;;;; (19940 49234)) 17941;;;;;; (20026 29156))
17880;;; Generated autoloads from gnus/mml1991.el 17942;;; Generated autoloads from gnus/mml1991.el
17881 17943
17882(autoload 'mml1991-encrypt "mml1991" "\ 17944(autoload 'mml1991-encrypt "mml1991" "\
@@ -17893,7 +17955,7 @@ Assume text has been decoded if DECODED is non-nil.
17893 17955
17894;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt 17956;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt
17895;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt) 17957;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt)
17896;;;;;; "mml2015" "gnus/mml2015.el" (19981 40664)) 17958;;;;;; "mml2015" "gnus/mml2015.el" (20059 26455))
17897;;; Generated autoloads from gnus/mml2015.el 17959;;; Generated autoloads from gnus/mml2015.el
17898 17960
17899(autoload 'mml2015-decrypt "mml2015" "\ 17961(autoload 'mml2015-decrypt "mml2015" "\
@@ -18041,8 +18103,8 @@ To test this function, evaluate:
18041 18103
18042;;;*** 18104;;;***
18043 18105
18044;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (19886 18106;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (19997
18045;;;;;; 45771)) 18107;;;;;; 28887))
18046;;; Generated autoloads from mouse-sel.el 18108;;; Generated autoloads from mouse-sel.el
18047 18109
18048(defvar mouse-sel-mode nil "\ 18110(defvar mouse-sel-mode nil "\
@@ -18059,14 +18121,10 @@ Toggle Mouse Sel mode.
18059With prefix ARG, turn Mouse Sel mode on if and only if ARG is positive. 18121With prefix ARG, turn Mouse Sel mode on if and only if ARG is positive.
18060Returns the new status of Mouse Sel mode (non-nil means on). 18122Returns the new status of Mouse Sel mode (non-nil means on).
18061 18123
18062When Mouse Sel mode is enabled, mouse selection is enhanced in various ways: 18124When Mouse Sel mode is enabled, mouse selection is enhanced in
18063 18125various ways:
18064- Clicking mouse-1 starts (cancels) selection, dragging extends it.
18065
18066- Clicking or dragging mouse-3 extends the selection as well.
18067 18126
18068- Double-clicking on word constituents selects words. 18127- Double-clicking on symbol constituents selects symbols.
18069Double-clicking on symbol constituents selects symbols.
18070Double-clicking on quotes or parentheses selects sexps. 18128Double-clicking on quotes or parentheses selects sexps.
18071Double-clicking on whitespace selects whitespace. 18129Double-clicking on whitespace selects whitespace.
18072Triple-clicking selects lines. 18130Triple-clicking selects lines.
@@ -18081,20 +18139,14 @@ mouse-sel sets the variables `interprogram-cut-function' and
18081- Clicking mouse-2 inserts the contents of the primary selection at 18139- Clicking mouse-2 inserts the contents of the primary selection at
18082the mouse position (or point, if `mouse-yank-at-point' is non-nil). 18140the mouse position (or point, if `mouse-yank-at-point' is non-nil).
18083 18141
18084- Pressing mouse-2 while selecting or extending copies selection 18142- mouse-2 while selecting or extending copies selection to the
18085to the kill ring. Pressing mouse-1 or mouse-3 kills it. 18143kill ring; mouse-1 or mouse-3 kills it.
18086
18087- Double-clicking mouse-3 also kills selection.
18088
18089- M-mouse-1, M-mouse-2 & M-mouse-3 work similarly to mouse-1, mouse-2
18090& mouse-3, but operate on the X secondary selection rather than the
18091primary selection and region.
18092 18144
18093\(fn &optional ARG)" t nil) 18145\(fn &optional ARG)" t nil)
18094 18146
18095;;;*** 18147;;;***
18096 18148
18097;;;### (autoloads (mpc) "mpc" "mpc.el" (19946 1612)) 18149;;;### (autoloads (mpc) "mpc" "mpc.el" (20052 53218))
18098;;; Generated autoloads from mpc.el 18150;;; Generated autoloads from mpc.el
18099 18151
18100(autoload 'mpc "mpc" "\ 18152(autoload 'mpc "mpc" "\
@@ -18527,7 +18579,7 @@ listed in the PORTS list.
18527;;;*** 18579;;;***
18528 18580
18529;;;### (autoloads (open-network-stream) "network-stream" "net/network-stream.el" 18581;;;### (autoloads (open-network-stream) "network-stream" "net/network-stream.el"
18530;;;;;; (19976 22732)) 18582;;;;;; (20044 59100))
18531;;; Generated autoloads from net/network-stream.el 18583;;; Generated autoloads from net/network-stream.el
18532 18584
18533(autoload 'open-network-stream "network-stream" "\ 18585(autoload 'open-network-stream "network-stream" "\
@@ -18578,6 +18630,10 @@ values:
18578 18630
18579:end-of-command specifies a regexp matching the end of a command. 18631:end-of-command specifies a regexp matching the end of a command.
18580 18632
18633:end-of-capability specifies a regexp matching the end of the
18634 response to the command specified for :capability-command.
18635 It defaults to the regexp specified for :end-of-command.
18636
18581:success specifies a regexp matching a message indicating a 18637:success specifies a regexp matching a message indicating a
18582 successful STARTTLS negotiation. For instance, the default 18638 successful STARTTLS negotiation. For instance, the default
18583 should be \"^3\" for an NNTP connection. 18639 should be \"^3\" for an NNTP connection.
@@ -19083,13 +19139,14 @@ the variable `nxml-enabled-unicode-blocks'.
19083;;;;;; org-babel-next-src-block org-babel-goto-named-result org-babel-goto-named-src-block 19139;;;;;; org-babel-next-src-block org-babel-goto-named-result org-babel-goto-named-src-block
19084;;;;;; org-babel-goto-src-block-head org-babel-hide-result-toggle-maybe 19140;;;;;; org-babel-goto-src-block-head org-babel-hide-result-toggle-maybe
19085;;;;;; org-babel-sha1-hash org-babel-execute-subtree org-babel-execute-buffer 19141;;;;;; org-babel-sha1-hash org-babel-execute-subtree org-babel-execute-buffer
19086;;;;;; org-babel-map-src-blocks org-babel-open-src-block-result 19142;;;;;; org-babel-map-inline-src-blocks org-babel-map-src-blocks
19087;;;;;; org-babel-switch-to-session-with-code org-babel-switch-to-session 19143;;;;;; org-babel-open-src-block-result org-babel-switch-to-session-with-code
19088;;;;;; org-babel-initiate-session org-babel-load-in-session org-babel-expand-src-block 19144;;;;;; org-babel-switch-to-session org-babel-initiate-session org-babel-load-in-session
19089;;;;;; org-babel-execute-src-block org-babel-pop-to-session-maybe 19145;;;;;; org-babel-check-src-block org-babel-expand-src-block org-babel-execute-src-block
19090;;;;;; org-babel-load-in-session-maybe org-babel-expand-src-block-maybe 19146;;;;;; org-babel-pop-to-session-maybe org-babel-load-in-session-maybe
19147;;;;;; org-babel-expand-src-block-maybe org-babel-view-src-block-info
19091;;;;;; org-babel-execute-maybe org-babel-execute-safely-maybe) "ob" 19148;;;;;; org-babel-execute-maybe org-babel-execute-safely-maybe) "ob"
19092;;;;;; "org/ob.el" (19845 45374)) 19149;;;;;; "org/ob.el" (20045 31431))
19093;;; Generated autoloads from org/ob.el 19150;;; Generated autoloads from org/ob.el
19094 19151
19095(autoload 'org-babel-execute-safely-maybe "ob" "\ 19152(autoload 'org-babel-execute-safely-maybe "ob" "\
@@ -19102,6 +19159,13 @@ the variable `nxml-enabled-unicode-blocks'.
19102 19159
19103\(fn)" t nil) 19160\(fn)" t nil)
19104 19161
19162(autoload 'org-babel-view-src-block-info "ob" "\
19163Display information on the current source block.
19164This includes header arguments, language and name, and is largely
19165a window into the `org-babel-get-src-block-info' function.
19166
19167\(fn)" t nil)
19168
19105(autoload 'org-babel-expand-src-block-maybe "ob" "\ 19169(autoload 'org-babel-expand-src-block-maybe "ob" "\
19106Conditionally expand a source block. 19170Conditionally expand a source block.
19107Detect if this is context for a org-babel src-block and if so 19171Detect if this is context for a org-babel src-block and if so
@@ -19149,6 +19213,11 @@ arguments and pop open the results in a preview buffer.
19149 19213
19150\(fn &optional ARG INFO PARAMS)" t nil) 19214\(fn &optional ARG INFO PARAMS)" t nil)
19151 19215
19216(autoload 'org-babel-check-src-block "ob" "\
19217Check for misspelled header arguments in the current code block.
19218
19219\(fn)" t nil)
19220
19152(autoload 'org-babel-load-in-session "ob" "\ 19221(autoload 'org-babel-load-in-session "ob" "\
19153Load the body of the current source-code block. 19222Load the body of the current source-code block.
19154Evaluate the header arguments for the source block before 19223Evaluate the header arguments for the source block before
@@ -19212,6 +19281,15 @@ end-body --------- point at the end of the body
19212 19281
19213(put 'org-babel-map-src-blocks 'lisp-indent-function '1) 19282(put 'org-babel-map-src-blocks 'lisp-indent-function '1)
19214 19283
19284(autoload 'org-babel-map-inline-src-blocks "ob" "\
19285Evaluate BODY forms on each inline source-block in FILE.
19286If FILE is nil evaluate BODY forms on source blocks in current
19287buffer.
19288
19289\(fn FILE &rest BODY)" nil (quote macro))
19290
19291(put 'org-babel-map-inline-src-blocks 'lisp-indent-function '1)
19292
19215(autoload 'org-babel-execute-buffer "ob" "\ 19293(autoload 'org-babel-execute-buffer "ob" "\
19216Execute source code blocks in a buffer. 19294Execute source code blocks in a buffer.
19217Call `org-babel-execute-src-block' on every source block in 19295Call `org-babel-execute-src-block' on every source block in
@@ -19271,7 +19349,7 @@ Mark current src block
19271;;;*** 19349;;;***
19272 19350
19273;;;### (autoloads (org-babel-describe-bindings) "ob-keys" "org/ob-keys.el" 19351;;;### (autoloads (org-babel-describe-bindings) "ob-keys" "org/ob-keys.el"
19274;;;;;; (19845 45374)) 19352;;;;;; (20045 30710))
19275;;; Generated autoloads from org/ob-keys.el 19353;;; Generated autoloads from org/ob-keys.el
19276 19354
19277(autoload 'org-babel-describe-bindings "ob-keys" "\ 19355(autoload 'org-babel-describe-bindings "ob-keys" "\
@@ -19282,7 +19360,7 @@ Describe all keybindings behind `org-babel-key-prefix'.
19282;;;*** 19360;;;***
19283 19361
19284;;;### (autoloads (org-babel-lob-get-info org-babel-lob-execute-maybe 19362;;;### (autoloads (org-babel-lob-get-info org-babel-lob-execute-maybe
19285;;;;;; org-babel-lob-ingest) "ob-lob" "org/ob-lob.el" (19845 45374)) 19363;;;;;; org-babel-lob-ingest) "ob-lob" "org/ob-lob.el" (20045 31431))
19286;;; Generated autoloads from org/ob-lob.el 19364;;; Generated autoloads from org/ob-lob.el
19287 19365
19288(autoload 'org-babel-lob-ingest "ob-lob" "\ 19366(autoload 'org-babel-lob-ingest "ob-lob" "\
@@ -19307,7 +19385,7 @@ Return a Library of Babel function call as a string.
19307 19385
19308;;;### (autoloads (org-babel-tangle org-babel-tangle-file org-babel-load-file 19386;;;### (autoloads (org-babel-tangle org-babel-tangle-file org-babel-load-file
19309;;;;;; org-babel-tangle-lang-exts) "ob-tangle" "org/ob-tangle.el" 19387;;;;;; org-babel-tangle-lang-exts) "ob-tangle" "org/ob-tangle.el"
19310;;;;;; (19845 45374)) 19388;;;;;; (20045 30712))
19311;;; Generated autoloads from org/ob-tangle.el 19389;;; Generated autoloads from org/ob-tangle.el
19312 19390
19313(defvar org-babel-tangle-lang-exts '(("emacs-lisp" . "el")) "\ 19391(defvar org-babel-tangle-lang-exts '(("emacs-lisp" . "el")) "\
@@ -19344,7 +19422,7 @@ TARGET-FILE can be used to specify a default export file for all
19344source blocks. Optional argument LANG can be used to limit the 19422source blocks. Optional argument LANG can be used to limit the
19345exported source code blocks by language. 19423exported source code blocks by language.
19346 19424
19347\(fn &optional TARGET-FILE LANG)" t nil) 19425\(fn &optional ONLY-THIS-BLOCK TARGET-FILE LANG)" t nil)
19348 19426
19349;;;*** 19427;;;***
19350 19428
@@ -19460,7 +19538,7 @@ including a reproducible test case and send the message.
19460;;;;;; org-insert-link-global org-store-link org-run-like-in-org-mode 19538;;;;;; org-insert-link-global org-store-link org-run-like-in-org-mode
19461;;;;;; turn-on-orgstruct++ turn-on-orgstruct orgstruct-mode org-global-cycle 19539;;;;;; turn-on-orgstruct++ turn-on-orgstruct orgstruct-mode org-global-cycle
19462;;;;;; org-mode org-babel-do-load-languages) "org" "org/org.el" 19540;;;;;; org-mode org-babel-do-load-languages) "org" "org/org.el"
19463;;;;;; (19931 11784)) 19541;;;;;; (20045 30720))
19464;;; Generated autoloads from org/org.el 19542;;; Generated autoloads from org/org.el
19465 19543
19466(autoload 'org-babel-do-load-languages "org" "\ 19544(autoload 'org-babel-do-load-languages "org" "\
@@ -19598,6 +19676,7 @@ SCOPE determines the scope of this command. It can be any of:
19598 19676
19599nil The current buffer, respecting the restriction if any 19677nil The current buffer, respecting the restriction if any
19600tree The subtree started with the entry at point 19678tree The subtree started with the entry at point
19679region The entries within the active region, if any
19601file The current buffer, without restriction 19680file The current buffer, without restriction
19602file-with-archives 19681file-with-archives
19603 The current buffer, and any archives associated with it 19682 The current buffer, and any archives associated with it
@@ -19683,7 +19762,7 @@ Call the customize function with org as argument.
19683;;;;;; org-diary org-agenda-list-stuck-projects org-tags-view org-todo-list 19762;;;;;; org-diary org-agenda-list-stuck-projects org-tags-view org-todo-list
19684;;;;;; org-search-view org-agenda-list org-batch-store-agenda-views 19763;;;;;; org-search-view org-agenda-list org-batch-store-agenda-views
19685;;;;;; org-store-agenda-views org-batch-agenda-csv org-batch-agenda 19764;;;;;; org-store-agenda-views org-batch-agenda-csv org-batch-agenda
19686;;;;;; org-agenda) "org-agenda" "org/org-agenda.el" (19914 25180)) 19765;;;;;; org-agenda) "org-agenda" "org/org-agenda.el" (20045 30712))
19687;;; Generated autoloads from org/org-agenda.el 19766;;; Generated autoloads from org/org-agenda.el
19688 19767
19689(autoload 'org-agenda "org-agenda" "\ 19768(autoload 'org-agenda "org-agenda" "\
@@ -19784,11 +19863,6 @@ Produce a daily/weekly view from all files in variable `org-agenda-files'.
19784The view will be for the current day or week, but from the overview buffer 19863The view will be for the current day or week, but from the overview buffer
19785you will be able to go to other days/weeks. 19864you will be able to go to other days/weeks.
19786 19865
19787With one \\[universal-argument] prefix argument INCLUDE-ALL,
19788all unfinished TODO items will also be shown, before the agenda.
19789This feature is considered obsolete, please use the TODO list or a block
19790agenda instead.
19791
19792With a numeric prefix argument in an interactive call, the agenda will 19866With a numeric prefix argument in an interactive call, the agenda will
19793span INCLUDE-ALL days. Lisp programs should instead specify SPAN to change 19867span INCLUDE-ALL days. Lisp programs should instead specify SPAN to change
19794the number of days. SPAN defaults to `org-agenda-span'. 19868the number of days. SPAN defaults to `org-agenda-span'.
@@ -19933,7 +20007,7 @@ belonging to the \"Work\" category.
19933 20007
19934;;;### (autoloads (org-archive-subtree-default-with-confirmation 20008;;;### (autoloads (org-archive-subtree-default-with-confirmation
19935;;;;;; org-archive-subtree-default) "org-archive" "org/org-archive.el" 20009;;;;;; org-archive-subtree-default) "org-archive" "org/org-archive.el"
19936;;;;;; (19845 45374)) 20010;;;;;; (20045 30713))
19937;;; Generated autoloads from org/org-archive.el 20011;;; Generated autoloads from org/org-archive.el
19938 20012
19939(autoload 'org-archive-subtree-default "org-archive" "\ 20013(autoload 'org-archive-subtree-default "org-archive" "\
@@ -19953,8 +20027,8 @@ This command is set with the variable `org-archive-default-command'.
19953;;;### (autoloads (org-export-as-ascii org-export-region-as-ascii 20027;;;### (autoloads (org-export-as-ascii org-export-region-as-ascii
19954;;;;;; org-replace-region-by-ascii org-export-as-ascii-to-buffer 20028;;;;;; org-replace-region-by-ascii org-export-as-ascii-to-buffer
19955;;;;;; org-export-as-utf8-to-buffer org-export-as-utf8 org-export-as-latin1-to-buffer 20029;;;;;; org-export-as-utf8-to-buffer org-export-as-utf8 org-export-as-latin1-to-buffer
19956;;;;;; org-export-as-latin1) "org-ascii" "org/org-ascii.el" (19931 20030;;;;;; org-export-as-latin1) "org-ascii" "org/org-ascii.el" (20045
19957;;;;;; 11784)) 20031;;;;;; 30713))
19958;;; Generated autoloads from org/org-ascii.el 20032;;; Generated autoloads from org/org-ascii.el
19959 20033
19960(autoload 'org-export-as-latin1 "org-ascii" "\ 20034(autoload 'org-export-as-latin1 "org-ascii" "\
@@ -19968,7 +20042,7 @@ Like `org-export-as-ascii-to-buffer', use latin1 encoding for symbols.
19968\(fn &rest ARGS)" t nil) 20042\(fn &rest ARGS)" t nil)
19969 20043
19970(autoload 'org-export-as-utf8 "org-ascii" "\ 20044(autoload 'org-export-as-utf8 "org-ascii" "\
19971Like `org-export-as-ascii', use use encoding for special symbols. 20045Like `org-export-as-ascii', use encoding for special symbols.
19972 20046
19973\(fn &rest ARGS)" t nil) 20047\(fn &rest ARGS)" t nil)
19974 20048
@@ -20027,8 +20101,8 @@ publishing directory.
20027 20101
20028;;;*** 20102;;;***
20029 20103
20030;;;### (autoloads (org-attach) "org-attach" "org/org-attach.el" (19931 20104;;;### (autoloads (org-attach) "org-attach" "org/org-attach.el" (20045
20031;;;;;; 11784)) 20105;;;;;; 30713))
20032;;; Generated autoloads from org/org-attach.el 20106;;; Generated autoloads from org/org-attach.el
20033 20107
20034(autoload 'org-attach "org-attach" "\ 20108(autoload 'org-attach "org-attach" "\
@@ -20040,7 +20114,7 @@ Shows a list of commands and prompts for another key to execute a command.
20040;;;*** 20114;;;***
20041 20115
20042;;;### (autoloads (org-bbdb-anniversaries) "org-bbdb" "org/org-bbdb.el" 20116;;;### (autoloads (org-bbdb-anniversaries) "org-bbdb" "org/org-bbdb.el"
20043;;;;;; (19845 45374)) 20117;;;;;; (20045 30713))
20044;;; Generated autoloads from org/org-bbdb.el 20118;;; Generated autoloads from org/org-bbdb.el
20045 20119
20046(autoload 'org-bbdb-anniversaries "org-bbdb" "\ 20120(autoload 'org-bbdb-anniversaries "org-bbdb" "\
@@ -20051,7 +20125,7 @@ Extract anniversaries from BBDB for display in the agenda.
20051;;;*** 20125;;;***
20052 20126
20053;;;### (autoloads (org-capture-import-remember-templates org-capture-insert-template-here 20127;;;### (autoloads (org-capture-import-remember-templates org-capture-insert-template-here
20054;;;;;; org-capture) "org-capture" "org/org-capture.el" (19845 45374)) 20128;;;;;; org-capture) "org-capture" "org/org-capture.el" (20045 30713))
20055;;; Generated autoloads from org/org-capture.el 20129;;; Generated autoloads from org/org-capture.el
20056 20130
20057(autoload 'org-capture "org-capture" "\ 20131(autoload 'org-capture "org-capture" "\
@@ -20089,7 +20163,7 @@ Set org-capture-templates to be similar to `org-remember-templates'.
20089;;;*** 20163;;;***
20090 20164
20091;;;### (autoloads (org-clock-persistence-insinuate org-get-clocktable) 20165;;;### (autoloads (org-clock-persistence-insinuate org-get-clocktable)
20092;;;;;; "org-clock" "org/org-clock.el" (19845 45374)) 20166;;;;;; "org-clock" "org/org-clock.el" (20045 30713))
20093;;; Generated autoloads from org/org-clock.el 20167;;; Generated autoloads from org/org-clock.el
20094 20168
20095(autoload 'org-get-clocktable "org-clock" "\ 20169(autoload 'org-get-clocktable "org-clock" "\
@@ -20107,7 +20181,7 @@ Set up hooks for clock persistence.
20107;;;*** 20181;;;***
20108 20182
20109;;;### (autoloads (org-datetree-find-date-create) "org-datetree" 20183;;;### (autoloads (org-datetree-find-date-create) "org-datetree"
20110;;;;;; "org/org-datetree.el" (19845 45374)) 20184;;;;;; "org/org-datetree.el" (20045 30713))
20111;;; Generated autoloads from org/org-datetree.el 20185;;; Generated autoloads from org/org-datetree.el
20112 20186
20113(autoload 'org-datetree-find-date-create "org-datetree" "\ 20187(autoload 'org-datetree-find-date-create "org-datetree" "\
@@ -20123,7 +20197,7 @@ tree can be found.
20123;;;### (autoloads (org-export-as-docbook org-export-as-docbook-pdf-and-open 20197;;;### (autoloads (org-export-as-docbook org-export-as-docbook-pdf-and-open
20124;;;;;; org-export-as-docbook-pdf org-export-region-as-docbook org-replace-region-by-docbook 20198;;;;;; org-export-as-docbook-pdf org-export-region-as-docbook org-replace-region-by-docbook
20125;;;;;; org-export-as-docbook-to-buffer org-export-as-docbook-batch) 20199;;;;;; org-export-as-docbook-to-buffer org-export-as-docbook-batch)
20126;;;;;; "org-docbook" "org/org-docbook.el" (19845 45374)) 20200;;;;;; "org-docbook" "org/org-docbook.el" (20045 30713))
20127;;; Generated autoloads from org/org-docbook.el 20201;;; Generated autoloads from org/org-docbook.el
20128 20202
20129(autoload 'org-export-as-docbook-batch "org-docbook" "\ 20203(autoload 'org-export-as-docbook-batch "org-docbook" "\
@@ -20200,7 +20274,7 @@ publishing directory.
20200 20274
20201;;;### (autoloads (org-insert-export-options-template org-export-as-org 20275;;;### (autoloads (org-insert-export-options-template org-export-as-org
20202;;;;;; org-export-visible org-export) "org-exp" "org/org-exp.el" 20276;;;;;; org-export-visible org-export) "org-exp" "org/org-exp.el"
20203;;;;;; (19931 11784)) 20277;;;;;; (20045 30715))
20204;;; Generated autoloads from org/org-exp.el 20278;;; Generated autoloads from org/org-exp.el
20205 20279
20206(autoload 'org-export "org-exp" "\ 20280(autoload 'org-export "org-exp" "\
@@ -20213,6 +20287,10 @@ The prefix argument ARG will be passed to the exporter. However, if
20213ARG is a double universal prefix \\[universal-argument] \\[universal-argument], that means to inverse the 20287ARG is a double universal prefix \\[universal-argument] \\[universal-argument], that means to inverse the
20214value of `org-export-run-in-background'. 20288value of `org-export-run-in-background'.
20215 20289
20290If `org-export-initial-scope' is set to 'subtree, try to export
20291the current subtree, otherwise try to export the whole buffer.
20292Pressing `1' will switch between these two options.
20293
20216\(fn &optional ARG)" t nil) 20294\(fn &optional ARG)" t nil)
20217 20295
20218(autoload 'org-export-visible "org-exp" "\ 20296(autoload 'org-export-visible "org-exp" "\
@@ -20257,8 +20335,8 @@ Insert into the buffer a template with information for exporting.
20257;;;*** 20335;;;***
20258 20336
20259;;;### (autoloads (org-feed-show-raw-feed org-feed-goto-inbox org-feed-update 20337;;;### (autoloads (org-feed-show-raw-feed org-feed-goto-inbox org-feed-update
20260;;;;;; org-feed-update-all) "org-feed" "org/org-feed.el" (19845 20338;;;;;; org-feed-update-all) "org-feed" "org/org-feed.el" (20045
20261;;;;;; 45374)) 20339;;;;;; 30715))
20262;;; Generated autoloads from org/org-feed.el 20340;;; Generated autoloads from org/org-feed.el
20263 20341
20264(autoload 'org-feed-update-all "org-feed" "\ 20342(autoload 'org-feed-update-all "org-feed" "\
@@ -20286,34 +20364,58 @@ Show the raw feed buffer of a feed.
20286;;;*** 20364;;;***
20287 20365
20288;;;### (autoloads (org-footnote-normalize org-footnote-action) "org-footnote" 20366;;;### (autoloads (org-footnote-normalize org-footnote-action) "org-footnote"
20289;;;;;; "org/org-footnote.el" (19845 45374)) 20367;;;;;; "org/org-footnote.el" (20045 30715))
20290;;; Generated autoloads from org/org-footnote.el 20368;;; Generated autoloads from org/org-footnote.el
20291 20369
20292(autoload 'org-footnote-action "org-footnote" "\ 20370(autoload 'org-footnote-action "org-footnote" "\
20293Do the right thing for footnotes. 20371Do the right thing for footnotes.
20294When at a footnote reference, jump to the definition. When at a definition, 20372
20295jump to the references. When neither at definition or reference, 20373When at a footnote reference, jump to the definition.
20296create a new footnote, interactively. 20374
20375When at a definition, jump to the references if they exist, offer
20376to create them otherwise.
20377
20378When neither at definition or reference, create a new footnote,
20379interactively.
20380
20297With prefix arg SPECIAL, offer additional commands in a menu. 20381With prefix arg SPECIAL, offer additional commands in a menu.
20298 20382
20299\(fn &optional SPECIAL)" t nil) 20383\(fn &optional SPECIAL)" t nil)
20300 20384
20301(autoload 'org-footnote-normalize "org-footnote" "\ 20385(autoload 'org-footnote-normalize "org-footnote" "\
20302Collect the footnotes in various formats and normalize them. 20386Collect the footnotes in various formats and normalize them.
20387
20303This finds the different sorts of footnotes allowed in Org, and 20388This finds the different sorts of footnotes allowed in Org, and
20304normalizes them to the usual [N] format that is understood by the 20389normalizes them to the usual [N] format that is understood by the
20305Org-mode exporters. 20390Org-mode exporters.
20391
20306When SORT-ONLY is set, only sort the footnote definitions into the 20392When SORT-ONLY is set, only sort the footnote definitions into the
20307referenced sequence. 20393referenced sequence.
20308 20394
20309\(fn &optional SORT-ONLY FOR-PREPROCESSOR)" nil nil) 20395If Org is amidst an export process, EXPORT-PROPS will hold the
20396export properties of the buffer.
20397
20398When EXPORT-PROPS is non-nil, the default action is to insert
20399normalized footnotes towards the end of the pre-processing buffer.
20400Some exporters like docbook, odt, etc. expect that footnote
20401definitions be available before any references to them. Such
20402exporters can let bind `org-footnote-insert-pos-for-preprocessor' to
20403symbol 'point-min to achieve the desired behaviour.
20404
20405Additional note on `org-footnote-insert-pos-for-preprocessor':
204061. This variable has not effect when FOR-PREPROCESSOR is nil.
204072. This variable (potentially) obviates the need for extra scan
20408 of pre-processor buffer as witnessed in
20409 `org-export-docbook-get-footnotes'.
20410
20411\(fn &optional SORT-ONLY EXPORT-PROPS)" nil nil)
20310 20412
20311;;;*** 20413;;;***
20312 20414
20313;;;### (autoloads (org-freemind-to-org-mode org-freemind-from-org-sparse-tree 20415;;;### (autoloads (org-freemind-to-org-mode org-freemind-from-org-sparse-tree
20314;;;;;; org-freemind-from-org-mode org-freemind-from-org-mode-node 20416;;;;;; org-freemind-from-org-mode org-freemind-from-org-mode-node
20315;;;;;; org-freemind-show org-export-as-freemind) "org-freemind" 20417;;;;;; org-freemind-show org-export-as-freemind) "org-freemind"
20316;;;;;; "org/org-freemind.el" (19845 45374)) 20418;;;;;; "org/org-freemind.el" (20045 31431))
20317;;; Generated autoloads from org/org-freemind.el 20419;;; Generated autoloads from org/org-freemind.el
20318 20420
20319(autoload 'org-export-as-freemind "org-freemind" "\ 20421(autoload 'org-export-as-freemind "org-freemind" "\
@@ -20374,7 +20476,7 @@ Convert FreeMind file MM-FILE to `org-mode' file ORG-FILE.
20374;;;### (autoloads (org-export-htmlize-generate-css org-export-as-html 20476;;;### (autoloads (org-export-htmlize-generate-css org-export-as-html
20375;;;;;; org-export-region-as-html org-replace-region-by-html org-export-as-html-to-buffer 20477;;;;;; org-export-region-as-html org-replace-region-by-html org-export-as-html-to-buffer
20376;;;;;; org-export-as-html-batch org-export-as-html-and-open) "org-html" 20478;;;;;; org-export-as-html-batch org-export-as-html-and-open) "org-html"
20377;;;;;; "org/org-html.el" (19931 11784)) 20479;;;;;; "org/org-html.el" (20045 30715))
20378;;; Generated autoloads from org/org-html.el 20480;;; Generated autoloads from org/org-html.el
20379 20481
20380(put 'org-export-html-style-include-default 'safe-local-variable 'booleanp) 20482(put 'org-export-html-style-include-default 'safe-local-variable 'booleanp)
@@ -20468,7 +20570,7 @@ that uses these same face definitions.
20468 20570
20469;;;### (autoloads (org-export-icalendar-combine-agenda-files org-export-icalendar-all-agenda-files 20571;;;### (autoloads (org-export-icalendar-combine-agenda-files org-export-icalendar-all-agenda-files
20470;;;;;; org-export-icalendar-this-file) "org-icalendar" "org/org-icalendar.el" 20572;;;;;; org-export-icalendar-this-file) "org-icalendar" "org/org-icalendar.el"
20471;;;;;; (19845 45374)) 20573;;;;;; (20045 30716))
20472;;; Generated autoloads from org/org-icalendar.el 20574;;; Generated autoloads from org/org-icalendar.el
20473 20575
20474(autoload 'org-export-icalendar-this-file "org-icalendar" "\ 20576(autoload 'org-export-icalendar-this-file "org-icalendar" "\
@@ -20496,7 +20598,7 @@ The file is stored under the name `org-combined-agenda-icalendar-file'.
20496;;;### (autoloads (org-id-store-link org-id-find-id-file org-id-find 20598;;;### (autoloads (org-id-store-link org-id-find-id-file org-id-find
20497;;;;;; org-id-goto org-id-get-with-outline-drilling org-id-get-with-outline-path-completion 20599;;;;;; org-id-goto org-id-get-with-outline-drilling org-id-get-with-outline-path-completion
20498;;;;;; org-id-get org-id-copy org-id-get-create) "org-id" "org/org-id.el" 20600;;;;;; org-id-get org-id-copy org-id-get-create) "org-id" "org/org-id.el"
20499;;;;;; (19845 45374)) 20601;;;;;; (20045 30716))
20500;;; Generated autoloads from org/org-id.el 20602;;; Generated autoloads from org/org-id.el
20501 20603
20502(autoload 'org-id-get-create "org-id" "\ 20604(autoload 'org-id-get-create "org-id" "\
@@ -20565,7 +20667,7 @@ Store a link to the current entry, using its ID.
20565;;;*** 20667;;;***
20566 20668
20567;;;### (autoloads (org-indent-mode) "org-indent" "org/org-indent.el" 20669;;;### (autoloads (org-indent-mode) "org-indent" "org/org-indent.el"
20568;;;;;; (19845 45374)) 20670;;;;;; (20045 30716))
20569;;; Generated autoloads from org/org-indent.el 20671;;; Generated autoloads from org/org-indent.el
20570 20672
20571(autoload 'org-indent-mode "org-indent" "\ 20673(autoload 'org-indent-mode "org-indent" "\
@@ -20580,7 +20682,7 @@ FIXME: How to update when broken?
20580;;;*** 20682;;;***
20581 20683
20582;;;### (autoloads (org-irc-store-link) "org-irc" "org/org-irc.el" 20684;;;### (autoloads (org-irc-store-link) "org-irc" "org/org-irc.el"
20583;;;;;; (19845 45374)) 20685;;;;;; (20045 30716))
20584;;; Generated autoloads from org/org-irc.el 20686;;; Generated autoloads from org/org-irc.el
20585 20687
20586(autoload 'org-irc-store-link "org-irc" "\ 20688(autoload 'org-irc-store-link "org-irc" "\
@@ -20593,7 +20695,7 @@ Dispatch to the appropriate function to store a link to an IRC session.
20593;;;### (autoloads (org-export-as-pdf-and-open org-export-as-pdf org-export-as-latex 20695;;;### (autoloads (org-export-as-pdf-and-open org-export-as-pdf org-export-as-latex
20594;;;;;; org-export-region-as-latex org-replace-region-by-latex org-export-as-latex-to-buffer 20696;;;;;; org-export-region-as-latex org-replace-region-by-latex org-export-as-latex-to-buffer
20595;;;;;; org-export-as-latex-batch) "org-latex" "org/org-latex.el" 20697;;;;;; org-export-as-latex-batch) "org-latex" "org/org-latex.el"
20596;;;;;; (19845 45374)) 20698;;;;;; (20045 30716))
20597;;; Generated autoloads from org/org-latex.el 20699;;; Generated autoloads from org/org-latex.el
20598 20700
20599(autoload 'org-export-as-latex-batch "org-latex" "\ 20701(autoload 'org-export-as-latex-batch "org-latex" "\
@@ -20673,8 +20775,8 @@ Export as LaTeX, then process through to PDF, and open.
20673;;;*** 20775;;;***
20674 20776
20675;;;### (autoloads (org-mobile-create-sumo-agenda org-mobile-pull 20777;;;### (autoloads (org-mobile-create-sumo-agenda org-mobile-pull
20676;;;;;; org-mobile-push) "org-mobile" "org/org-mobile.el" (19845 20778;;;;;; org-mobile-push) "org-mobile" "org/org-mobile.el" (20045
20677;;;;;; 45374)) 20779;;;;;; 30717))
20678;;; Generated autoloads from org/org-mobile.el 20780;;; Generated autoloads from org/org-mobile.el
20679 20781
20680(autoload 'org-mobile-push "org-mobile" "\ 20782(autoload 'org-mobile-push "org-mobile" "\
@@ -20699,7 +20801,7 @@ Create a file that contains all custom agenda views.
20699;;;*** 20801;;;***
20700 20802
20701;;;### (autoloads (org-plot/gnuplot) "org-plot" "org/org-plot.el" 20803;;;### (autoloads (org-plot/gnuplot) "org-plot" "org/org-plot.el"
20702;;;;;; (19845 45374)) 20804;;;;;; (20045 30717))
20703;;; Generated autoloads from org/org-plot.el 20805;;; Generated autoloads from org/org-plot.el
20704 20806
20705(autoload 'org-plot/gnuplot "org-plot" "\ 20807(autoload 'org-plot/gnuplot "org-plot" "\
@@ -20713,7 +20815,7 @@ line directly before or after the table.
20713 20815
20714;;;### (autoloads (org-publish-current-project org-publish-current-file 20816;;;### (autoloads (org-publish-current-project org-publish-current-file
20715;;;;;; org-publish-all org-publish) "org-publish" "org/org-publish.el" 20817;;;;;; org-publish-all org-publish) "org-publish" "org/org-publish.el"
20716;;;;;; (19845 45374)) 20818;;;;;; (20045 30718))
20717;;; Generated autoloads from org/org-publish.el 20819;;; Generated autoloads from org/org-publish.el
20718 20820
20719(defalias 'org-publish-project 'org-publish) 20821(defalias 'org-publish-project 'org-publish)
@@ -20747,7 +20849,7 @@ the project.
20747 20849
20748;;;### (autoloads (org-remember-handler org-remember org-remember-apply-template 20850;;;### (autoloads (org-remember-handler org-remember org-remember-apply-template
20749;;;;;; org-remember-annotation org-remember-insinuate) "org-remember" 20851;;;;;; org-remember-annotation org-remember-insinuate) "org-remember"
20750;;;;;; "org/org-remember.el" (19845 45374)) 20852;;;;;; "org/org-remember.el" (20045 30718))
20751;;; Generated autoloads from org/org-remember.el 20853;;; Generated autoloads from org/org-remember.el
20752 20854
20753(autoload 'org-remember-insinuate "org-remember" "\ 20855(autoload 'org-remember-insinuate "org-remember" "\
@@ -20823,7 +20925,7 @@ See also the variable `org-reverse-note-order'.
20823;;;*** 20925;;;***
20824 20926
20825;;;### (autoloads (org-table-to-lisp orgtbl-mode turn-on-orgtbl) 20927;;;### (autoloads (org-table-to-lisp orgtbl-mode turn-on-orgtbl)
20826;;;;;; "org-table" "org/org-table.el" (19914 25180)) 20928;;;;;; "org-table" "org/org-table.el" (20045 30718))
20827;;; Generated autoloads from org/org-table.el 20929;;; Generated autoloads from org/org-table.el
20828 20930
20829(autoload 'turn-on-orgtbl "org-table" "\ 20931(autoload 'turn-on-orgtbl "org-table" "\
@@ -20847,7 +20949,7 @@ The table is taken from the parameter TXT, or from the buffer at point.
20847;;;*** 20949;;;***
20848 20950
20849;;;### (autoloads (org-export-as-taskjuggler-and-open org-export-as-taskjuggler) 20951;;;### (autoloads (org-export-as-taskjuggler-and-open org-export-as-taskjuggler)
20850;;;;;; "org-taskjuggler" "org/org-taskjuggler.el" (19845 45374)) 20952;;;;;; "org-taskjuggler" "org/org-taskjuggler.el" (20045 30718))
20851;;; Generated autoloads from org/org-taskjuggler.el 20953;;; Generated autoloads from org/org-taskjuggler.el
20852 20954
20853(autoload 'org-export-as-taskjuggler "org-taskjuggler" "\ 20955(autoload 'org-export-as-taskjuggler "org-taskjuggler" "\
@@ -20875,7 +20977,7 @@ with the TaskJuggler GUI.
20875 20977
20876;;;### (autoloads (org-timer-set-timer org-timer-item org-timer-change-times-in-region 20978;;;### (autoloads (org-timer-set-timer org-timer-item org-timer-change-times-in-region
20877;;;;;; org-timer org-timer-start) "org-timer" "org/org-timer.el" 20979;;;;;; org-timer org-timer-start) "org-timer" "org/org-timer.el"
20878;;;;;; (19845 45374)) 20980;;;;;; (20045 30718))
20879;;; Generated autoloads from org/org-timer.el 20981;;; Generated autoloads from org/org-timer.el
20880 20982
20881(autoload 'org-timer-start "org-timer" "\ 20983(autoload 'org-timer-start "org-timer" "\
@@ -20936,7 +21038,7 @@ replace any running timer.
20936;;;*** 21038;;;***
20937 21039
20938;;;### (autoloads (org-export-as-xoxo) "org-xoxo" "org/org-xoxo.el" 21040;;;### (autoloads (org-export-as-xoxo) "org-xoxo" "org/org-xoxo.el"
20939;;;;;; (19845 45374)) 21041;;;;;; (20045 30719))
20940;;; Generated autoloads from org/org-xoxo.el 21042;;; Generated autoloads from org/org-xoxo.el
20941 21043
20942(autoload 'org-export-as-xoxo "org-xoxo" "\ 21044(autoload 'org-export-as-xoxo "org-xoxo" "\
@@ -21009,7 +21111,7 @@ See the command `outline-mode' for more information on this mode.
21009;;;### (autoloads (list-packages describe-package package-initialize 21111;;;### (autoloads (list-packages describe-package package-initialize
21010;;;;;; package-install-file package-install-from-buffer package-install 21112;;;;;; package-install-file package-install-from-buffer package-install
21011;;;;;; package-enable-at-startup) "package" "emacs-lisp/package.el" 21113;;;;;; package-enable-at-startup) "package" "emacs-lisp/package.el"
21012;;;;;; (19893 19022)) 21114;;;;;; (20059 26455))
21013;;; Generated autoloads from emacs-lisp/package.el 21115;;; Generated autoloads from emacs-lisp/package.el
21014 21116
21015(defvar package-enable-at-startup t "\ 21117(defvar package-enable-at-startup t "\
@@ -21025,8 +21127,8 @@ activate the package system at any time.")
21025 21127
21026(autoload 'package-install "package" "\ 21128(autoload 'package-install "package" "\
21027Install the package named NAME. 21129Install the package named NAME.
21028Interactively, prompt for the package name. 21130NAME should be the name of one of the available packages in an
21029The package is found on one of the archives in `package-archives'. 21131archive in `package-archives'. Interactively, prompt for NAME.
21030 21132
21031\(fn NAME)" t nil) 21133\(fn NAME)" t nil)
21032 21134
@@ -21285,7 +21387,7 @@ Completion for the GNU tar utility.
21285;;;*** 21387;;;***
21286 21388
21287;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill) 21389;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill)
21288;;;;;; "pcmpl-linux" "pcmpl-linux.el" (19845 45374)) 21390;;;;;; "pcmpl-linux" "pcmpl-linux.el" (19986 58615))
21289;;; Generated autoloads from pcmpl-linux.el 21391;;; Generated autoloads from pcmpl-linux.el
21290 21392
21291(autoload 'pcomplete/kill "pcmpl-linux" "\ 21393(autoload 'pcomplete/kill "pcmpl-linux" "\
@@ -21375,8 +21477,8 @@ Includes files as well as host names followed by a colon.
21375 21477
21376;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list 21478;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list
21377;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete 21479;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete
21378;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (19964 21480;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (20051
21379;;;;;; 31562)) 21481;;;;;; 32345))
21380;;; Generated autoloads from pcomplete.el 21482;;; Generated autoloads from pcomplete.el
21381 21483
21382(autoload 'pcomplete "pcomplete" "\ 21484(autoload 'pcomplete "pcomplete" "\
@@ -21510,7 +21612,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d
21510 21612
21511;;;*** 21613;;;***
21512 21614
21513;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (19845 45374)) 21615;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (20062 2656))
21514;;; Generated autoloads from vc/pcvs-defs.el 21616;;; Generated autoloads from vc/pcvs-defs.el
21515 21617
21516(defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] `(menu-item ,(purecopy "Directory Status") cvs-status :help ,(purecopy "A more verbose status of a workarea"))) (define-key m [checkout] `(menu-item ,(purecopy "Checkout Module") cvs-checkout :help ,(purecopy "Check out a module from the repository"))) (define-key m [update] `(menu-item ,(purecopy "Update Directory") cvs-update :help ,(purecopy "Fetch updates from the repository"))) (define-key m [examine] `(menu-item ,(purecopy "Examine Directory") cvs-examine :help ,(purecopy "Examine the current state of a workarea"))) (fset 'cvs-global-menu m))) 21618(defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] `(menu-item ,(purecopy "Directory Status") cvs-status :help ,(purecopy "A more verbose status of a workarea"))) (define-key m [checkout] `(menu-item ,(purecopy "Checkout Module") cvs-checkout :help ,(purecopy "Check out a module from the repository"))) (define-key m [update] `(menu-item ,(purecopy "Update Directory") cvs-update :help ,(purecopy "Fetch updates from the repository"))) (define-key m [examine] `(menu-item ,(purecopy "Examine Directory") cvs-examine :help ,(purecopy "Examine the current state of a workarea"))) (fset 'cvs-global-menu m)))
@@ -21660,8 +21762,8 @@ they are not defaultly assigned to keys.
21660 21762
21661;;;*** 21763;;;***
21662 21764
21663;;;### (autoloads (plstore-open) "plstore" "gnus/plstore.el" (19981 21765;;;### (autoloads (plstore-open) "plstore" "gnus/plstore.el" (19990
21664;;;;;; 40664)) 21766;;;;;; 55648))
21665;;; Generated autoloads from gnus/plstore.el 21767;;; Generated autoloads from gnus/plstore.el
21666 21768
21667(autoload 'plstore-open "plstore" "\ 21769(autoload 'plstore-open "plstore" "\
@@ -21699,7 +21801,7 @@ pong-mode keybindings:\\<pong-mode-map>
21699 21801
21700;;;*** 21802;;;***
21701 21803
21702;;;### (autoloads (pop3-movemail) "pop3" "gnus/pop3.el" (19940 49234)) 21804;;;### (autoloads (pop3-movemail) "pop3" "gnus/pop3.el" (20048 56149))
21703;;; Generated autoloads from gnus/pop3.el 21805;;; Generated autoloads from gnus/pop3.el
21704 21806
21705(autoload 'pop3-movemail "pop3" "\ 21807(autoload 'pop3-movemail "pop3" "\
@@ -21780,7 +21882,7 @@ Ignores leading comment characters.
21780;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview 21882;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview
21781;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript 21883;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript
21782;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el" 21884;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el"
21783;;;;;; (19845 45374)) 21885;;;;;; (19999 41597))
21784;;; Generated autoloads from printing.el 21886;;; Generated autoloads from printing.el
21785 21887
21786(autoload 'pr-interface "printing" "\ 21888(autoload 'pr-interface "printing" "\
@@ -22222,7 +22324,7 @@ Toggle menu lock.
22222\(fn)" t nil) 22324\(fn)" t nil)
22223 22325
22224(autoload 'pr-toggle-region "printing" "\ 22326(autoload 'pr-toggle-region "printing" "\
22225Toggle auto region. 22327Toggle whether the region is automagically detected.
22226 22328
22227\(fn)" t nil) 22329\(fn)" t nil)
22228 22330
@@ -22367,7 +22469,7 @@ are both set to t.
22367 22469
22368;;;*** 22470;;;***
22369 22471
22370;;;### (autoloads (proced) "proced" "proced.el" (19975 1875)) 22472;;;### (autoloads (proced) "proced" "proced.el" (20053 39261))
22371;;; Generated autoloads from proced.el 22473;;; Generated autoloads from proced.el
22372 22474
22373(autoload 'proced "proced" "\ 22475(autoload 'proced "proced" "\
@@ -23020,8 +23122,8 @@ of each directory.
23020 23122
23021;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls 23123;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls
23022;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url 23124;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url
23023;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (19845 23125;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (20054
23024;;;;;; 45374)) 23126;;;;;; 8529))
23025;;; Generated autoloads from net/quickurl.el 23127;;; Generated autoloads from net/quickurl.el
23026 23128
23027(defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\ 23129(defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\
@@ -23036,7 +23138,7 @@ To make use of this do something like:
23036in your ~/.emacs (after loading/requiring quickurl).") 23138in your ~/.emacs (after loading/requiring quickurl).")
23037 23139
23038(autoload 'quickurl "quickurl" "\ 23140(autoload 'quickurl "quickurl" "\
23039Insert an URL based on LOOKUP. 23141Insert a URL based on LOOKUP.
23040 23142
23041If not supplied LOOKUP is taken to be the word at point in the current 23143If not supplied LOOKUP is taken to be the word at point in the current
23042buffer, this default action can be modifed via 23144buffer, this default action can be modifed via
@@ -23045,14 +23147,14 @@ buffer, this default action can be modifed via
23045\(fn &optional LOOKUP)" t nil) 23147\(fn &optional LOOKUP)" t nil)
23046 23148
23047(autoload 'quickurl-ask "quickurl" "\ 23149(autoload 'quickurl-ask "quickurl" "\
23048Insert an URL, with `completing-read' prompt, based on LOOKUP. 23150Insert a URL, with `completing-read' prompt, based on LOOKUP.
23049 23151
23050\(fn LOOKUP)" t nil) 23152\(fn LOOKUP)" t nil)
23051 23153
23052(autoload 'quickurl-add-url "quickurl" "\ 23154(autoload 'quickurl-add-url "quickurl" "\
23053Allow the user to interactively add a new URL associated with WORD. 23155Allow the user to interactively add a new URL associated with WORD.
23054 23156
23055See `quickurl-grab-url' for details on how the default word/url combination 23157See `quickurl-grab-url' for details on how the default word/URL combination
23056is decided. 23158is decided.
23057 23159
23058\(fn WORD URL COMMENT)" t nil) 23160\(fn WORD URL COMMENT)" t nil)
@@ -23093,7 +23195,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'.
23093;;;*** 23195;;;***
23094 23196
23095;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc" 23197;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc"
23096;;;;;; "net/rcirc.el" (19968 28627)) 23198;;;;;; "net/rcirc.el" (20058 5591))
23097;;; Generated autoloads from net/rcirc.el 23199;;; Generated autoloads from net/rcirc.el
23098 23200
23099(autoload 'rcirc "rcirc" "\ 23201(autoload 'rcirc "rcirc" "\
@@ -23187,7 +23289,7 @@ that were operated on recently.
23187;;;;;; string-rectangle delete-whitespace-rectangle open-rectangle 23289;;;;;; string-rectangle delete-whitespace-rectangle open-rectangle
23188;;;;;; insert-rectangle yank-rectangle kill-rectangle extract-rectangle 23290;;;;;; insert-rectangle yank-rectangle kill-rectangle extract-rectangle
23189;;;;;; delete-extract-rectangle delete-rectangle) "rect" "rect.el" 23291;;;;;; delete-extract-rectangle delete-rectangle) "rect" "rect.el"
23190;;;;;; (19886 45771)) 23292;;;;;; (19999 41597))
23191;;; Generated autoloads from rect.el 23293;;; Generated autoloads from rect.el
23192 (define-key ctl-x-r-map "c" 'clear-rectangle) 23294 (define-key ctl-x-r-map "c" 'clear-rectangle)
23193 (define-key ctl-x-r-map "k" 'kill-rectangle) 23295 (define-key ctl-x-r-map "k" 'kill-rectangle)
@@ -23737,7 +23839,7 @@ variable.
23737;;;;;; rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers 23839;;;;;; rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers
23738;;;;;; rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers 23840;;;;;; rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers
23739;;;;;; rmail-user-mail-address-regexp rmail-movemail-variant-p) 23841;;;;;; rmail-user-mail-address-regexp rmail-movemail-variant-p)
23740;;;;;; "rmail" "mail/rmail.el" (19976 23054)) 23842;;;;;; "rmail" "mail/rmail.el" (20063 23511))
23741;;; Generated autoloads from mail/rmail.el 23843;;; Generated autoloads from mail/rmail.el
23742 23844
23743(autoload 'rmail-movemail-variant-p "rmail" "\ 23845(autoload 'rmail-movemail-variant-p "rmail" "\
@@ -24141,7 +24243,7 @@ Toggle the use of ROT13 encoding for the current window.
24141;;;*** 24243;;;***
24142 24244
24143;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el" 24245;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el"
24144;;;;;; (19932 55155)) 24246;;;;;; (19986 58615))
24145;;; Generated autoloads from textmodes/rst.el 24247;;; Generated autoloads from textmodes/rst.el
24146 (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode))) 24248 (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode)))
24147 24249
@@ -24557,7 +24659,7 @@ which is probably undesirable.
24557;;;*** 24659;;;***
24558 24660
24559;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el" 24661;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el"
24560;;;;;; (19845 45374)) 24662;;;;;; (20050 11479))
24561;;; Generated autoloads from progmodes/scheme.el 24663;;; Generated autoloads from progmodes/scheme.el
24562 24664
24563(autoload 'scheme-mode "scheme" "\ 24665(autoload 'scheme-mode "scheme" "\
@@ -24708,8 +24810,9 @@ Semantic mode.
24708;;;;;; mail-citation-prefix-regexp mail-citation-hook mail-indentation-spaces 24810;;;;;; mail-citation-prefix-regexp mail-citation-hook mail-indentation-spaces
24709;;;;;; mail-yank-prefix mail-setup-hook mail-personal-alias-file 24811;;;;;; mail-yank-prefix mail-setup-hook mail-personal-alias-file
24710;;;;;; mail-default-reply-to mail-archive-file-name mail-header-separator 24812;;;;;; mail-default-reply-to mail-archive-file-name mail-header-separator
24711;;;;;; send-mail-function mail-interactive mail-self-blind mail-specify-envelope-from 24813;;;;;; sendmail-query-once send-mail-function mail-interactive mail-self-blind
24712;;;;;; mail-from-style) "sendmail" "mail/sendmail.el" (19980 19797)) 24814;;;;;; mail-specify-envelope-from mail-from-style) "sendmail" "mail/sendmail.el"
24815;;;;;; (20025 8284))
24713;;; Generated autoloads from mail/sendmail.el 24816;;; Generated autoloads from mail/sendmail.el
24714 24817
24715(defvar mail-from-style 'default "\ 24818(defvar mail-from-style 'default "\
@@ -24752,9 +24855,7 @@ Otherwise, let mailer send back a message to report errors.")
24752 24855
24753(custom-autoload 'mail-interactive "sendmail" t) 24856(custom-autoload 'mail-interactive "sendmail" t)
24754 24857
24755(put 'send-mail-function 'standard-value '((if (or (and window-system (eq system-type 'darwin)) (eq system-type 'windows-nt)) 'mailclient-send-it 'sendmail-send-it))) 24858(defvar send-mail-function 'sendmail-query-once "\
24756
24757(defvar send-mail-function (if (or (and window-system (eq system-type 'darwin)) (eq system-type 'windows-nt)) 'mailclient-send-it 'sendmail-send-it) "\
24758Function to call to send the current buffer as mail. 24859Function to call to send the current buffer as mail.
24759The headers should be delimited by a line which is 24860The headers should be delimited by a line which is
24760not a valid RFC822 header or continuation line, 24861not a valid RFC822 header or continuation line,
@@ -24763,7 +24864,13 @@ This is used by the default mail-sending commands. See also
24763`message-send-mail-function' for use with the Message package.") 24864`message-send-mail-function' for use with the Message package.")
24764 24865
24765(custom-autoload 'send-mail-function "sendmail" t) 24866(custom-autoload 'send-mail-function "sendmail" t)
24766(custom-initialize-delay 'send-mail-function nil) 24867
24868(autoload 'sendmail-query-once "sendmail" "\
24869Send an email via `sendmail-query-once-function'.
24870If `sendmail-query-once-function' is `query', ask the user what
24871function to use, and then save that choice.
24872
24873\(fn)" nil nil)
24767 24874
24768(defvar mail-header-separator (purecopy "--text follows this line--") "\ 24875(defvar mail-header-separator (purecopy "--text follows this line--") "\
24769Line used to separate headers from text in messages being composed.") 24876Line used to separate headers from text in messages being composed.")
@@ -24988,8 +25095,8 @@ Like `mail' command, but display mail buffer in another frame.
24988;;;*** 25095;;;***
24989 25096
24990;;;### (autoloads (server-save-buffers-kill-terminal server-mode 25097;;;### (autoloads (server-save-buffers-kill-terminal server-mode
24991;;;;;; server-force-delete server-start) "server" "server.el" (19975 25098;;;;;; server-force-delete server-start) "server" "server.el" (20059
24992;;;;;; 1875)) 25099;;;;;; 26455))
24993;;; Generated autoloads from server.el 25100;;; Generated autoloads from server.el
24994 25101
24995(put 'server-host 'risky-local-variable t) 25102(put 'server-host 'risky-local-variable t)
@@ -25137,7 +25244,7 @@ To work around that, do:
25137;;;*** 25244;;;***
25138 25245
25139;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el" 25246;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el"
25140;;;;;; (19890 42850)) 25247;;;;;; (20051 32345))
25141;;; Generated autoloads from progmodes/sh-script.el 25248;;; Generated autoloads from progmodes/sh-script.el
25142(put 'sh-shell 'safe-local-variable 'symbolp) 25249(put 'sh-shell 'safe-local-variable 'symbolp)
25143 25250
@@ -25292,7 +25399,7 @@ Set up file shadowing.
25292;;;*** 25399;;;***
25293 25400
25294;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el" 25401;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el"
25295;;;;;; (19964 31562)) 25402;;;;;; (20058 5591))
25296;;; Generated autoloads from shell.el 25403;;; Generated autoloads from shell.el
25297 25404
25298(defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\ 25405(defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\
@@ -25341,8 +25448,8 @@ Otherwise, one argument `-i' is passed to the shell.
25341 25448
25342;;;*** 25449;;;***
25343 25450
25344;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (19976 25451;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20007
25345;;;;;; 22732)) 25452;;;;;; 64734))
25346;;; Generated autoloads from gnus/shr.el 25453;;; Generated autoloads from gnus/shr.el
25347 25454
25348(autoload 'shr-insert-document "shr" "\ 25455(autoload 'shr-insert-document "shr" "\
@@ -25592,7 +25699,7 @@ interactively. If there's no argument, do it at the current buffer.
25592;;;*** 25699;;;***
25593 25700
25594;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail" 25701;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail"
25595;;;;;; "mail/smtpmail.el" (19978 37530)) 25702;;;;;; "mail/smtpmail.el" (20053 39293))
25596;;; Generated autoloads from mail/smtpmail.el 25703;;; Generated autoloads from mail/smtpmail.el
25597 25704
25598(autoload 'smtpmail-send-it "smtpmail" "\ 25705(autoload 'smtpmail-send-it "smtpmail" "\
@@ -25898,8 +26005,8 @@ From a program takes two point or marker arguments, BEG and END.
25898 26005
25899;;;*** 26006;;;***
25900 26007
25901;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (19976 26008;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (20022
25902;;;;;; 22732)) 26009;;;;;; 32083))
25903;;; Generated autoloads from gnus/spam.el 26010;;; Generated autoloads from gnus/spam.el
25904 26011
25905(autoload 'spam-initialize "spam" "\ 26012(autoload 'spam-initialize "spam" "\
@@ -26002,7 +26109,7 @@ Return a vector containing the lines from `spook-phrases-file'.
26002;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix 26109;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix
26003;;;;;; sql-sybase sql-oracle sql-product-interactive sql-connect 26110;;;;;; sql-sybase sql-oracle sql-product-interactive sql-connect
26004;;;;;; sql-mode sql-help sql-add-product-keywords) "sql" "progmodes/sql.el" 26111;;;;;; sql-mode sql-help sql-add-product-keywords) "sql" "progmodes/sql.el"
26005;;;;;; (19931 11784)) 26112;;;;;; (19988 13913))
26006;;; Generated autoloads from progmodes/sql.el 26113;;; Generated autoloads from progmodes/sql.el
26007 26114
26008(autoload 'sql-add-product-keywords "sql" "\ 26115(autoload 'sql-add-product-keywords "sql" "\
@@ -26100,7 +26207,7 @@ their settings.
26100The user will not be prompted for any login parameters if a value 26207The user will not be prompted for any login parameters if a value
26101is specified in the connection settings. 26208is specified in the connection settings.
26102 26209
26103\(fn CONNECTION)" t nil) 26210\(fn CONNECTION &optional NEW-NAME)" t nil)
26104 26211
26105(autoload 'sql-product-interactive "sql" "\ 26212(autoload 'sql-product-interactive "sql" "\
26106Run PRODUCT interpreter as an inferior process. 26213Run PRODUCT interpreter as an inferior process.
@@ -26511,7 +26618,7 @@ Major-mode for writing SRecode macros.
26511;;;*** 26618;;;***
26512 26619
26513;;;### (autoloads (starttls-open-stream) "starttls" "gnus/starttls.el" 26620;;;### (autoloads (starttls-open-stream) "starttls" "gnus/starttls.el"
26514;;;;;; (19845 45374)) 26621;;;;;; (20047 35303))
26515;;; Generated autoloads from gnus/starttls.el 26622;;; Generated autoloads from gnus/starttls.el
26516 26623
26517(autoload 'starttls-open-stream "starttls" "\ 26624(autoload 'starttls-open-stream "starttls" "\
@@ -26778,7 +26885,7 @@ It relies on the `gpm' daemon being activated.
26778 26885
26779;;;*** 26886;;;***
26780 26887
26781;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (19845 45374)) 26888;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (19998 49767))
26782;;; Generated autoloads from tabify.el 26889;;; Generated autoloads from tabify.el
26783 26890
26784(autoload 'untabify "tabify" "\ 26891(autoload 'untabify "tabify" "\
@@ -27402,7 +27509,7 @@ converts a table into plain text without frames. It is a companion to
27402;;;*** 27509;;;***
27403 27510
27404;;;### (autoloads (tabulated-list-mode) "tabulated-list" "emacs-lisp/tabulated-list.el" 27511;;;### (autoloads (tabulated-list-mode) "tabulated-list" "emacs-lisp/tabulated-list.el"
27405;;;;;; (19885 24894)) 27512;;;;;; (20045 30688))
27406;;; Generated autoloads from emacs-lisp/tabulated-list.el 27513;;; Generated autoloads from emacs-lisp/tabulated-list.el
27407 27514
27408(autoload 'tabulated-list-mode "tabulated-list" "\ 27515(autoload 'tabulated-list-mode "tabulated-list" "\
@@ -27559,7 +27666,7 @@ Normally input is edited in Emacs and sent a line at a time.
27559;;;*** 27666;;;***
27560 27667
27561;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el" 27668;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el"
27562;;;;;; (19931 11784)) 27669;;;;;; (20050 11479))
27563;;; Generated autoloads from term.el 27670;;; Generated autoloads from term.el
27564 27671
27565(autoload 'make-term "term" "\ 27672(autoload 'make-term "term" "\
@@ -27639,7 +27746,7 @@ subprocess started.
27639;;;*** 27746;;;***
27640 27747
27641;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el" 27748;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el"
27642;;;;;; (19943 25429)) 27749;;;;;; (19998 49767))
27643;;; Generated autoloads from emacs-lisp/testcover.el 27750;;; Generated autoloads from emacs-lisp/testcover.el
27644 27751
27645(autoload 'testcover-this-defun "testcover" "\ 27752(autoload 'testcover-this-defun "testcover" "\
@@ -28137,33 +28244,39 @@ Compose Thai characters in the current buffer.
28137 28244
28138;;;### (autoloads (list-at-point number-at-point symbol-at-point 28245;;;### (autoloads (list-at-point number-at-point symbol-at-point
28139;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing) 28246;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing)
28140;;;;;; "thingatpt" "thingatpt.el" (19980 19797)) 28247;;;;;; "thingatpt" "thingatpt.el" (19990 55648))
28141;;; Generated autoloads from thingatpt.el 28248;;; Generated autoloads from thingatpt.el
28142 28249
28143(autoload 'forward-thing "thingatpt" "\ 28250(autoload 'forward-thing "thingatpt" "\
28144Move forward to the end of the Nth next THING. 28251Move forward to the end of the Nth next THING.
28252THING should be a symbol specifying a type of syntactic entity.
28253Possibilities include `symbol', `list', `sexp', `defun',
28254`filename', `url', `email', `word', `sentence', `whitespace',
28255`line', and `page'.
28145 28256
28146\(fn THING &optional N)" nil nil) 28257\(fn THING &optional N)" nil nil)
28147 28258
28148(autoload 'bounds-of-thing-at-point "thingatpt" "\ 28259(autoload 'bounds-of-thing-at-point "thingatpt" "\
28149Determine the start and end buffer locations for the THING at point. 28260Determine the start and end buffer locations for the THING at point.
28150THING is a symbol which specifies the kind of syntactic entity you want. 28261THING should be a symbol specifying a type of syntactic entity.
28151Possibilities include `symbol', `list', `sexp', `defun', `filename', `url', 28262Possibilities include `symbol', `list', `sexp', `defun',
28152`email', `word', `sentence', `whitespace', `line', `page' and others. 28263`filename', `url', `email', `word', `sentence', `whitespace',
28264`line', and `page'.
28153 28265
28154See the file `thingatpt.el' for documentation on how to define 28266See the file `thingatpt.el' for documentation on how to define a
28155a symbol as a valid THING. 28267valid THING.
28156 28268
28157The value is a cons cell (START . END) giving the start and end positions 28269Return a cons cell (START . END) giving the start and end
28158of the textual entity that was found. 28270positions of the thing found.
28159 28271
28160\(fn THING)" nil nil) 28272\(fn THING)" nil nil)
28161 28273
28162(autoload 'thing-at-point "thingatpt" "\ 28274(autoload 'thing-at-point "thingatpt" "\
28163Return the THING at point. 28275Return the THING at point.
28164THING is a symbol which specifies the kind of syntactic entity you want. 28276THING should be a symbol specifying a type of syntactic entity.
28165Possibilities include `symbol', `list', `sexp', `defun', `filename', `url', 28277Possibilities include `symbol', `list', `sexp', `defun',
28166`email', `word', `sentence', `whitespace', `line', `page' and others. 28278`filename', `url', `email', `word', `sentence', `whitespace',
28279`line', and `page'.
28167 28280
28168See the file `thingatpt.el' for documentation on how to define 28281See the file `thingatpt.el' for documentation on how to define
28169a symbol as a valid THING. 28282a symbol as a valid THING.
@@ -28332,7 +28445,7 @@ This function performs no refilling of the changed text.
28332 28445
28333;;;### (autoloads (emacs-init-time emacs-uptime display-time-world 28446;;;### (autoloads (emacs-init-time emacs-uptime display-time-world
28334;;;;;; display-time-mode display-time display-time-day-and-date) 28447;;;;;; display-time-mode display-time display-time-day-and-date)
28335;;;;;; "time" "time.el" (19886 45771)) 28448;;;;;; "time" "time.el" (20033 22846))
28336;;; Generated autoloads from time.el 28449;;; Generated autoloads from time.el
28337 28450
28338(defvar display-time-day-and-date nil "\ 28451(defvar display-time-day-and-date nil "\
@@ -28511,7 +28624,7 @@ This function does not work for SECONDS greater than `most-positive-fixnum'.
28511;;;*** 28624;;;***
28512 28625
28513;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp" 28626;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp"
28514;;;;;; "time-stamp.el" (19886 45771)) 28627;;;;;; "time-stamp.el" (20033 22846))
28515;;; Generated autoloads from time-stamp.el 28628;;; Generated autoloads from time-stamp.el
28516(put 'time-stamp-format 'safe-local-variable 'stringp) 28629(put 'time-stamp-format 'safe-local-variable 'stringp)
28517(put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p) 28630(put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p)
@@ -28778,7 +28891,7 @@ Show TODO list.
28778 28891
28779;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu 28892;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu
28780;;;;;; tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame) 28893;;;;;; tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame)
28781;;;;;; "tool-bar" "tool-bar.el" (19886 45771)) 28894;;;;;; "tool-bar" "tool-bar.el" (19994 52720))
28782;;; Generated autoloads from tool-bar.el 28895;;; Generated autoloads from tool-bar.el
28783 28896
28784(autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\ 28897(autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\
@@ -28961,7 +29074,7 @@ BUFFER defaults to `trace-buffer'.
28961;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion 29074;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion
28962;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers 29075;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers
28963;;;;;; tramp-file-name-handler tramp-syntax tramp-mode) "tramp" 29076;;;;;; tramp-file-name-handler tramp-syntax tramp-mode) "tramp"
28964;;;;;; "net/tramp.el" (19981 40664)) 29077;;;;;; "net/tramp.el" (20062 2656))
28965;;; Generated autoloads from net/tramp.el 29078;;; Generated autoloads from net/tramp.el
28966 29079
28967(defvar tramp-mode t "\ 29080(defvar tramp-mode t "\
@@ -29013,24 +29126,19 @@ updated after changing this variable.
29013 29126
29014Also see `tramp-file-name-structure'.") 29127Also see `tramp-file-name-structure'.")
29015 29128
29016(defconst tramp-root-regexp (if (memq system-type '(cygwin windows-nt)) "\\`\\([a-zA-Z]:\\)?/" "\\`/") "\ 29129(defconst tramp-completion-file-name-regexp-unified (if (memq system-type '(cygwin windows-nt)) "\\`/[^/]\\{2,\\}\\'" "\\`/[^/]*\\'") "\
29017Beginning of an incomplete Tramp file name.
29018Usually, it is just \"\\\\`/\". On W32 systems, there might be a
29019volume letter, which will be removed by `tramp-drop-volume-letter'.")
29020
29021(defconst tramp-completion-file-name-regexp-unified (if (memq system-type '(cygwin windows-nt)) (concat tramp-root-regexp "[^/]\\{2,\\}\\'") (concat tramp-root-regexp "[^/]*\\'")) "\
29022Value for `tramp-completion-file-name-regexp' for unified remoting. 29130Value for `tramp-completion-file-name-regexp' for unified remoting.
29023GNU Emacs uses a unified filename syntax for Tramp and Ange-FTP. 29131GNU Emacs uses a unified filename syntax for Tramp and Ange-FTP.
29024See `tramp-file-name-structure' for more explanations. 29132See `tramp-file-name-structure' for more explanations.
29025 29133
29026On W32 systems, the volume letter must be ignored.") 29134On W32 systems, the volume letter must be ignored.")
29027 29135
29028(defconst tramp-completion-file-name-regexp-separate (concat tramp-root-regexp "\\([[][^]]*\\)?\\'") "\ 29136(defconst tramp-completion-file-name-regexp-separate "\\`/\\([[][^]]*\\)?\\'" "\
29029Value for `tramp-completion-file-name-regexp' for separate remoting. 29137Value for `tramp-completion-file-name-regexp' for separate remoting.
29030XEmacs uses a separate filename syntax for Tramp and EFS. 29138XEmacs uses a separate filename syntax for Tramp and EFS.
29031See `tramp-file-name-structure' for more explanations.") 29139See `tramp-file-name-structure' for more explanations.")
29032 29140
29033(defconst tramp-completion-file-name-regexp-url (concat tramp-root-regexp "[^/:]+\\(:\\(/\\(/[^/]*\\)?\\)?\\)?\\'") "\ 29141(defconst tramp-completion-file-name-regexp-url "\\`/[^/:]+\\(:\\(/\\(/[^/]*\\)?\\)?\\)?\\'" "\
29034Value for `tramp-completion-file-name-regexp' for URL-like remoting. 29142Value for `tramp-completion-file-name-regexp' for URL-like remoting.
29035See `tramp-file-name-structure' for more explanations.") 29143See `tramp-file-name-structure' for more explanations.")
29036 29144
@@ -29109,8 +29217,8 @@ Discard Tramp from loading remote files.
29109 29217
29110;;;*** 29218;;;***
29111 29219
29112;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (19845 29220;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (20048
29113;;;;;; 45374)) 29221;;;;;; 56149))
29114;;; Generated autoloads from tutorial.el 29222;;; Generated autoloads from tutorial.el
29115 29223
29116(autoload 'help-with-tutorial "tutorial" "\ 29224(autoload 'help-with-tutorial "tutorial" "\
@@ -29197,7 +29305,7 @@ First column's text sSs Second column's text
29197;;;;;; type-break type-break-mode type-break-keystroke-threshold 29305;;;;;; type-break type-break-mode type-break-keystroke-threshold
29198;;;;;; type-break-good-break-interval type-break-good-rest-interval 29306;;;;;; type-break-good-break-interval type-break-good-rest-interval
29199;;;;;; type-break-interval type-break-mode) "type-break" "type-break.el" 29307;;;;;; type-break-interval type-break-mode) "type-break" "type-break.el"
29200;;;;;; (19981 40664)) 29308;;;;;; (19985 37722))
29201;;; Generated autoloads from type-break.el 29309;;; Generated autoloads from type-break.el
29202 29310
29203(defvar type-break-mode nil "\ 29311(defvar type-break-mode nil "\
@@ -29397,7 +29505,7 @@ You might need to set `uce-mail-reader' before using this.
29397;;;;;; ucs-normalize-NFKC-string ucs-normalize-NFKC-region ucs-normalize-NFKD-string 29505;;;;;; ucs-normalize-NFKC-string ucs-normalize-NFKC-region ucs-normalize-NFKD-string
29398;;;;;; ucs-normalize-NFKD-region ucs-normalize-NFC-string ucs-normalize-NFC-region 29506;;;;;; ucs-normalize-NFKD-region ucs-normalize-NFC-string ucs-normalize-NFC-region
29399;;;;;; ucs-normalize-NFD-string ucs-normalize-NFD-region) "ucs-normalize" 29507;;;;;; ucs-normalize-NFD-string ucs-normalize-NFD-region) "ucs-normalize"
29400;;;;;; "international/ucs-normalize.el" (19845 45374)) 29508;;;;;; "international/ucs-normalize.el" (20052 53218))
29401;;; Generated autoloads from international/ucs-normalize.el 29509;;; Generated autoloads from international/ucs-normalize.el
29402 29510
29403(autoload 'ucs-normalize-NFD-region "ucs-normalize" "\ 29511(autoload 'ucs-normalize-NFD-region "ucs-normalize" "\
@@ -29601,7 +29709,7 @@ RATING a rating between 1 and 10 of the strength of the authentication.
29601;;;*** 29709;;;***
29602 29710
29603;;;### (autoloads (url-cache-extract url-is-cached url-store-in-cache) 29711;;;### (autoloads (url-cache-extract url-is-cached url-store-in-cache)
29604;;;;;; "url-cache" "url/url-cache.el" (19845 45374)) 29712;;;;;; "url-cache" "url/url-cache.el" (19988 13913))
29605;;; Generated autoloads from url/url-cache.el 29713;;; Generated autoloads from url/url-cache.el
29606 29714
29607(autoload 'url-store-in-cache "url-cache" "\ 29715(autoload 'url-store-in-cache "url-cache" "\
@@ -29732,7 +29840,7 @@ accessible.
29732;;;*** 29840;;;***
29733 29841
29734;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p 29842;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p
29735;;;;;; url-http) "url-http" "url/url-http.el" (19882 48702)) 29843;;;;;; url-http) "url-http" "url/url-http.el" (20031 47065))
29736;;; Generated autoloads from url/url-http.el 29844;;; Generated autoloads from url/url-http.el
29737 29845
29738(autoload 'url-http "url-http" "\ 29846(autoload 'url-http "url-http" "\
@@ -30210,8 +30318,8 @@ If FILE-NAME is non-nil, save the result to FILE-NAME.
30210;;;;;; vc-print-log vc-retrieve-tag vc-create-tag vc-merge vc-insert-headers 30318;;;;;; vc-print-log vc-retrieve-tag vc-create-tag vc-merge vc-insert-headers
30211;;;;;; vc-revision-other-window vc-root-diff vc-ediff vc-version-ediff 30319;;;;;; vc-revision-other-window vc-root-diff vc-ediff vc-version-ediff
30212;;;;;; vc-diff vc-version-diff vc-register vc-next-action vc-before-checkin-hook 30320;;;;;; vc-diff vc-version-diff vc-register vc-next-action vc-before-checkin-hook
30213;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (19976 30321;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (19997
30214;;;;;; 22732)) 30322;;;;;; 28887))
30215;;; Generated autoloads from vc/vc.el 30323;;; Generated autoloads from vc/vc.el
30216 30324
30217(defvar vc-checkout-hook nil "\ 30325(defvar vc-checkout-hook nil "\
@@ -30531,7 +30639,7 @@ mode-specific menu. `vc-annotate-color-map' and
30531 30639
30532;;;*** 30640;;;***
30533 30641
30534;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (19845 45374)) 30642;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (19984 16846))
30535;;; Generated autoloads from vc/vc-arch.el 30643;;; Generated autoloads from vc/vc-arch.el
30536 (defun vc-arch-registered (file) 30644 (defun vc-arch-registered (file)
30537 (if (vc-find-root file "{arch}/=tagging-method") 30645 (if (vc-find-root file "{arch}/=tagging-method")
@@ -30541,7 +30649,7 @@ mode-specific menu. `vc-annotate-color-map' and
30541 30649
30542;;;*** 30650;;;***
30543 30651
30544;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (19931 34253)) 30652;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (19991 42275))
30545;;; Generated autoloads from vc/vc-bzr.el 30653;;; Generated autoloads from vc/vc-bzr.el
30546 30654
30547(defconst vc-bzr-admin-dirname ".bzr" "\ 30655(defconst vc-bzr-admin-dirname ".bzr" "\
@@ -30614,7 +30722,7 @@ case, and the process object in the asynchronous case.
30614 30722
30615;;;*** 30723;;;***
30616 30724
30617;;;### (autoloads nil "vc-git" "vc/vc-git.el" (19845 45374)) 30725;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20063 23511))
30618;;; Generated autoloads from vc/vc-git.el 30726;;; Generated autoloads from vc/vc-git.el
30619 (defun vc-git-registered (file) 30727 (defun vc-git-registered (file)
30620 "Return non-nil if FILE is registered with git." 30728 "Return non-nil if FILE is registered with git."
@@ -31535,7 +31643,7 @@ Convert Vietnamese characters of the current buffer to `VIQR' mnemonics.
31535;;;;;; view-mode view-buffer-other-frame view-buffer-other-window 31643;;;;;; view-mode view-buffer-other-frame view-buffer-other-window
31536;;;;;; view-buffer view-file-other-frame view-file-other-window 31644;;;;;; view-buffer view-file-other-frame view-file-other-window
31537;;;;;; view-file kill-buffer-if-not-modified view-remove-frame-by-deleting) 31645;;;;;; view-file kill-buffer-if-not-modified view-remove-frame-by-deleting)
31538;;;;;; "view" "view.el" (19958 33091)) 31646;;;;;; "view" "view.el" (20053 39261))
31539;;; Generated autoloads from view.el 31647;;; Generated autoloads from view.el
31540 31648
31541(defvar view-remove-frame-by-deleting t "\ 31649(defvar view-remove-frame-by-deleting t "\
@@ -31929,7 +32037,7 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke
31929;;;*** 32037;;;***
31930 32038
31931;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el" 32039;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el"
31932;;;;;; (19915 46047)) 32040;;;;;; (19988 13913))
31933;;; Generated autoloads from progmodes/which-func.el 32041;;; Generated autoloads from progmodes/which-func.el
31934 (put 'which-func-format 'risky-local-variable t) 32042 (put 'which-func-format 'risky-local-variable t)
31935 (put 'which-func-current 'risky-local-variable t) 32043 (put 'which-func-current 'risky-local-variable t)
@@ -32488,7 +32596,7 @@ Default MODIFIER is 'shift.
32488;;;*** 32596;;;***
32489 32597
32490;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el" 32598;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el"
32491;;;;;; (19845 45374)) 32599;;;;;; (19998 49767))
32492;;; Generated autoloads from winner.el 32600;;; Generated autoloads from winner.el
32493 32601
32494(defvar winner-mode nil "\ 32602(defvar winner-mode nil "\
@@ -32732,8 +32840,8 @@ If LIMIT is non-nil, then do not consider characters beyond LIMIT.
32732 32840
32733;;;*** 32841;;;***
32734 32842
32735;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (19886 32843;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (20034
32736;;;;;; 45771)) 32844;;;;;; 23247))
32737;;; Generated autoloads from xt-mouse.el 32845;;; Generated autoloads from xt-mouse.el
32738 32846
32739(defvar xterm-mouse-mode nil "\ 32847(defvar xterm-mouse-mode nil "\
@@ -32900,36 +33008,35 @@ Zone out, completely.
32900;;;;;; "emacs-lisp/eieio.el" "emacs-lisp/find-gc.el" "emacs-lisp/gulp.el" 33008;;;;;; "emacs-lisp/eieio.el" "emacs-lisp/find-gc.el" "emacs-lisp/gulp.el"
32901;;;;;; "emacs-lisp/lisp-mnt.el" "emacs-lisp/package-x.el" "emacs-lisp/regi.el" 33009;;;;;; "emacs-lisp/lisp-mnt.el" "emacs-lisp/package-x.el" "emacs-lisp/regi.el"
32902;;;;;; "emacs-lisp/smie.el" "emacs-lisp/tcover-ses.el" "emacs-lisp/tcover-unsafep.el" 33010;;;;;; "emacs-lisp/smie.el" "emacs-lisp/tcover-ses.el" "emacs-lisp/tcover-unsafep.el"
32903;;;;;; "emacs-lock.el" "emulation/cua-gmrk.el" "emulation/cua-rect.el" 33011;;;;;; "emulation/cua-gmrk.el" "emulation/cua-rect.el" "emulation/edt-lk201.el"
32904;;;;;; "emulation/edt-lk201.el" "emulation/edt-mapper.el" "emulation/edt-pc.el" 33012;;;;;; "emulation/edt-mapper.el" "emulation/edt-pc.el" "emulation/edt-vt100.el"
32905;;;;;; "emulation/edt-vt100.el" "emulation/tpu-extras.el" "emulation/viper-cmd.el" 33013;;;;;; "emulation/tpu-extras.el" "emulation/viper-cmd.el" "emulation/viper-ex.el"
32906;;;;;; "emulation/viper-ex.el" "emulation/viper-init.el" "emulation/viper-keym.el" 33014;;;;;; "emulation/viper-init.el" "emulation/viper-keym.el" "emulation/viper-macs.el"
32907;;;;;; "emulation/viper-macs.el" "emulation/viper-mous.el" "emulation/viper-util.el" 33015;;;;;; "emulation/viper-mous.el" "emulation/viper-util.el" "erc/erc-backend.el"
32908;;;;;; "erc/erc-backend.el" "erc/erc-goodies.el" "erc/erc-ibuffer.el" 33016;;;;;; "erc/erc-goodies.el" "erc/erc-ibuffer.el" "erc/erc-lang.el"
32909;;;;;; "erc/erc-lang.el" "eshell/em-alias.el" "eshell/em-banner.el" 33017;;;;;; "eshell/em-alias.el" "eshell/em-banner.el" "eshell/em-basic.el"
32910;;;;;; "eshell/em-basic.el" "eshell/em-cmpl.el" "eshell/em-dirs.el" 33018;;;;;; "eshell/em-cmpl.el" "eshell/em-dirs.el" "eshell/em-glob.el"
32911;;;;;; "eshell/em-glob.el" "eshell/em-hist.el" "eshell/em-ls.el" 33019;;;;;; "eshell/em-hist.el" "eshell/em-ls.el" "eshell/em-pred.el"
32912;;;;;; "eshell/em-pred.el" "eshell/em-prompt.el" "eshell/em-rebind.el" 33020;;;;;; "eshell/em-prompt.el" "eshell/em-rebind.el" "eshell/em-script.el"
32913;;;;;; "eshell/em-script.el" "eshell/em-smart.el" "eshell/em-term.el" 33021;;;;;; "eshell/em-smart.el" "eshell/em-term.el" "eshell/em-unix.el"
32914;;;;;; "eshell/em-unix.el" "eshell/em-xtra.el" "eshell/esh-arg.el" 33022;;;;;; "eshell/em-xtra.el" "eshell/esh-arg.el" "eshell/esh-cmd.el"
32915;;;;;; "eshell/esh-cmd.el" "eshell/esh-ext.el" "eshell/esh-groups.el" 33023;;;;;; "eshell/esh-ext.el" "eshell/esh-groups.el" "eshell/esh-io.el"
32916;;;;;; "eshell/esh-io.el" "eshell/esh-module.el" "eshell/esh-opt.el" 33024;;;;;; "eshell/esh-module.el" "eshell/esh-opt.el" "eshell/esh-proc.el"
32917;;;;;; "eshell/esh-proc.el" "eshell/esh-util.el" "eshell/esh-var.el" 33025;;;;;; "eshell/esh-util.el" "eshell/esh-var.el" "ezimage.el" "foldout.el"
32918;;;;;; "ezimage.el" "foldout.el" "format-spec.el" "forms-d2.el" 33026;;;;;; "format-spec.el" "forms-d2.el" "forms-pass.el" "fringe.el"
32919;;;;;; "forms-pass.el" "fringe.el" "generic-x.el" "gnus/compface.el" 33027;;;;;; "generic-x.el" "gnus/compface.el" "gnus/gnus-async.el" "gnus/gnus-bcklg.el"
32920;;;;;; "gnus/gnus-async.el" "gnus/gnus-bcklg.el" "gnus/gnus-cite.el" 33028;;;;;; "gnus/gnus-cite.el" "gnus/gnus-cus.el" "gnus/gnus-demon.el"
32921;;;;;; "gnus/gnus-cus.el" "gnus/gnus-demon.el" "gnus/gnus-dup.el" 33029;;;;;; "gnus/gnus-dup.el" "gnus/gnus-eform.el" "gnus/gnus-ems.el"
32922;;;;;; "gnus/gnus-eform.el" "gnus/gnus-ems.el" "gnus/gnus-int.el" 33030;;;;;; "gnus/gnus-int.el" "gnus/gnus-logic.el" "gnus/gnus-mh.el"
32923;;;;;; "gnus/gnus-logic.el" "gnus/gnus-mh.el" "gnus/gnus-salt.el" 33031;;;;;; "gnus/gnus-salt.el" "gnus/gnus-score.el" "gnus/gnus-setup.el"
32924;;;;;; "gnus/gnus-score.el" "gnus/gnus-setup.el" "gnus/gnus-srvr.el" 33032;;;;;; "gnus/gnus-srvr.el" "gnus/gnus-topic.el" "gnus/gnus-undo.el"
32925;;;;;; "gnus/gnus-topic.el" "gnus/gnus-undo.el" "gnus/gnus-util.el" 33033;;;;;; "gnus/gnus-util.el" "gnus/gnus-uu.el" "gnus/gnus-vm.el" "gnus/gssapi.el"
32926;;;;;; "gnus/gnus-uu.el" "gnus/gnus-vm.el" "gnus/gssapi.el" "gnus/ietf-drums.el" 33034;;;;;; "gnus/ietf-drums.el" "gnus/legacy-gnus-agent.el" "gnus/mail-parse.el"
32927;;;;;; "gnus/legacy-gnus-agent.el" "gnus/mail-parse.el" "gnus/mail-prsvr.el" 33035;;;;;; "gnus/mail-prsvr.el" "gnus/mail-source.el" "gnus/mailcap.el"
32928;;;;;; "gnus/mail-source.el" "gnus/mailcap.el" "gnus/messcompat.el" 33036;;;;;; "gnus/messcompat.el" "gnus/mm-bodies.el" "gnus/mm-decode.el"
32929;;;;;; "gnus/mm-bodies.el" "gnus/mm-decode.el" "gnus/mm-encode.el" 33037;;;;;; "gnus/mm-encode.el" "gnus/mm-util.el" "gnus/mm-view.el" "gnus/mml-sec.el"
32930;;;;;; "gnus/mm-util.el" "gnus/mm-view.el" "gnus/mml-sec.el" "gnus/mml-smime.el" 33038;;;;;; "gnus/mml-smime.el" "gnus/mml.el" "gnus/nnagent.el" "gnus/nnbabyl.el"
32931;;;;;; "gnus/mml.el" "gnus/nnagent.el" "gnus/nnbabyl.el" "gnus/nndir.el" 33039;;;;;; "gnus/nndir.el" "gnus/nndraft.el" "gnus/nneething.el" "gnus/nngateway.el"
32932;;;;;; "gnus/nndraft.el" "gnus/nneething.el" "gnus/nngateway.el"
32933;;;;;; "gnus/nnheader.el" "gnus/nnimap.el" "gnus/nnir.el" "gnus/nnmail.el" 33040;;;;;; "gnus/nnheader.el" "gnus/nnimap.el" "gnus/nnir.el" "gnus/nnmail.el"
32934;;;;;; "gnus/nnmaildir.el" "gnus/nnmairix.el" "gnus/nnmbox.el" "gnus/nnmh.el" 33041;;;;;; "gnus/nnmaildir.el" "gnus/nnmairix.el" "gnus/nnmbox.el" "gnus/nnmh.el"
32935;;;;;; "gnus/nnnil.el" "gnus/nnoo.el" "gnus/nnregistry.el" "gnus/nnrss.el" 33042;;;;;; "gnus/nnnil.el" "gnus/nnoo.el" "gnus/nnregistry.el" "gnus/nnrss.el"
@@ -32963,60 +33070,62 @@ Zone out, completely.
32963;;;;;; "mh-e/mh-utils.el" "mh-e/mh-xface.el" "mouse-copy.el" "mouse.el" 33070;;;;;; "mh-e/mh-utils.el" "mh-e/mh-xface.el" "mouse-copy.el" "mouse.el"
32964;;;;;; "mwheel.el" "net/dns.el" "net/eudc-vars.el" "net/eudcb-bbdb.el" 33071;;;;;; "mwheel.el" "net/dns.el" "net/eudc-vars.el" "net/eudcb-bbdb.el"
32965;;;;;; "net/eudcb-ldap.el" "net/eudcb-mab.el" "net/eudcb-ph.el" 33072;;;;;; "net/eudcb-ldap.el" "net/eudcb-mab.el" "net/eudcb-ph.el"
32966;;;;;; "net/gnutls.el" "net/hmac-def.el" "net/hmac-md5.el" "net/imap.el" 33073;;;;;; "net/hmac-def.el" "net/hmac-md5.el" "net/imap.el" "net/ldap.el"
32967;;;;;; "net/ldap.el" "net/mairix.el" "net/newsticker.el" "net/ntlm.el" 33074;;;;;; "net/mairix.el" "net/newsticker.el" "net/ntlm.el" "net/sasl-cram.el"
32968;;;;;; "net/sasl-cram.el" "net/sasl-digest.el" "net/sasl-ntlm.el" 33075;;;;;; "net/sasl-digest.el" "net/sasl-ntlm.el" "net/sasl.el" "net/soap-client.el"
32969;;;;;; "net/sasl.el" "net/soap-client.el" "net/soap-inspect.el" 33076;;;;;; "net/soap-inspect.el" "net/socks.el" "net/tls.el" "net/tramp-cache.el"
32970;;;;;; "net/socks.el" "net/tls.el" "net/tramp-cache.el" "net/tramp-cmds.el" 33077;;;;;; "net/tramp-cmds.el" "net/tramp-compat.el" "net/tramp-gvfs.el"
32971;;;;;; "net/tramp-compat.el" "net/tramp-gvfs.el" "net/tramp-gw.el" 33078;;;;;; "net/tramp-gw.el" "net/tramp-loaddefs.el" "net/tramp-sh.el"
32972;;;;;; "net/tramp-loaddefs.el" "net/tramp-sh.el" "net/tramp-smb.el" 33079;;;;;; "net/tramp-smb.el" "net/tramp-uu.el" "net/trampver.el" "net/zeroconf.el"
32973;;;;;; "net/tramp-uu.el" "net/trampver.el" "net/zeroconf.el" "notifications.el" 33080;;;;;; "notifications.el" "nxml/nxml-enc.el" "nxml/nxml-maint.el"
32974;;;;;; "nxml/nxml-enc.el" "nxml/nxml-maint.el" "nxml/nxml-ns.el" 33081;;;;;; "nxml/nxml-ns.el" "nxml/nxml-outln.el" "nxml/nxml-parse.el"
32975;;;;;; "nxml/nxml-outln.el" "nxml/nxml-parse.el" "nxml/nxml-rap.el" 33082;;;;;; "nxml/nxml-rap.el" "nxml/nxml-util.el" "nxml/rng-dt.el" "nxml/rng-loc.el"
32976;;;;;; "nxml/nxml-util.el" "nxml/rng-dt.el" "nxml/rng-loc.el" "nxml/rng-maint.el" 33083;;;;;; "nxml/rng-maint.el" "nxml/rng-match.el" "nxml/rng-parse.el"
32977;;;;;; "nxml/rng-match.el" "nxml/rng-parse.el" "nxml/rng-pttrn.el" 33084;;;;;; "nxml/rng-pttrn.el" "nxml/rng-uri.el" "nxml/rng-util.el"
32978;;;;;; "nxml/rng-uri.el" "nxml/rng-util.el" "nxml/xsd-regexp.el" 33085;;;;;; "nxml/xsd-regexp.el" "org/ob-C.el" "org/ob-R.el" "org/ob-asymptote.el"
32979;;;;;; "org/ob-C.el" "org/ob-R.el" "org/ob-asymptote.el" "org/ob-calc.el" 33086;;;;;; "org/ob-awk.el" "org/ob-calc.el" "org/ob-clojure.el" "org/ob-comint.el"
32980;;;;;; "org/ob-clojure.el" "org/ob-comint.el" "org/ob-css.el" "org/ob-ditaa.el" 33087;;;;;; "org/ob-css.el" "org/ob-ditaa.el" "org/ob-dot.el" "org/ob-emacs-lisp.el"
32981;;;;;; "org/ob-dot.el" "org/ob-emacs-lisp.el" "org/ob-eval.el" "org/ob-exp.el" 33088;;;;;; "org/ob-eval.el" "org/ob-exp.el" "org/ob-gnuplot.el" "org/ob-haskell.el"
32982;;;;;; "org/ob-gnuplot.el" "org/ob-haskell.el" "org/ob-js.el" "org/ob-latex.el" 33089;;;;;; "org/ob-java.el" "org/ob-js.el" "org/ob-latex.el" "org/ob-ledger.el"
32983;;;;;; "org/ob-ledger.el" "org/ob-lisp.el" "org/ob-matlab.el" "org/ob-mscgen.el" 33090;;;;;; "org/ob-lilypond.el" "org/ob-lisp.el" "org/ob-matlab.el"
32984;;;;;; "org/ob-ocaml.el" "org/ob-octave.el" "org/ob-org.el" "org/ob-perl.el" 33091;;;;;; "org/ob-maxima.el" "org/ob-mscgen.el" "org/ob-ocaml.el" "org/ob-octave.el"
32985;;;;;; "org/ob-plantuml.el" "org/ob-python.el" "org/ob-ref.el" "org/ob-ruby.el" 33092;;;;;; "org/ob-org.el" "org/ob-perl.el" "org/ob-plantuml.el" "org/ob-python.el"
32986;;;;;; "org/ob-sass.el" "org/ob-scheme.el" "org/ob-screen.el" "org/ob-sh.el" 33093;;;;;; "org/ob-ref.el" "org/ob-ruby.el" "org/ob-sass.el" "org/ob-scheme.el"
32987;;;;;; "org/ob-sql.el" "org/ob-sqlite.el" "org/ob-table.el" "org/org-beamer.el" 33094;;;;;; "org/ob-screen.el" "org/ob-sh.el" "org/ob-sql.el" "org/ob-sqlite.el"
32988;;;;;; "org/org-bibtex.el" "org/org-colview.el" "org/org-compat.el" 33095;;;;;; "org/ob-table.el" "org/org-beamer.el" "org/org-bibtex.el"
32989;;;;;; "org/org-complete.el" "org/org-crypt.el" "org/org-ctags.el" 33096;;;;;; "org/org-colview.el" "org/org-compat.el" "org/org-crypt.el"
32990;;;;;; "org/org-docview.el" "org/org-entities.el" "org/org-exp-blocks.el" 33097;;;;;; "org/org-ctags.el" "org/org-docview.el" "org/org-entities.el"
32991;;;;;; "org/org-faces.el" "org/org-gnus.el" "org/org-habit.el" "org/org-info.el" 33098;;;;;; "org/org-exp-blocks.el" "org/org-faces.el" "org/org-gnus.el"
32992;;;;;; "org/org-inlinetask.el" "org/org-install.el" "org/org-jsinfo.el" 33099;;;;;; "org/org-habit.el" "org/org-info.el" "org/org-inlinetask.el"
32993;;;;;; "org/org-list.el" "org/org-mac-message.el" "org/org-macs.el" 33100;;;;;; "org/org-install.el" "org/org-jsinfo.el" "org/org-list.el"
32994;;;;;; "org/org-mew.el" "org/org-mhe.el" "org/org-mks.el" "org/org-mouse.el" 33101;;;;;; "org/org-mac-message.el" "org/org-macs.el" "org/org-mew.el"
32995;;;;;; "org/org-protocol.el" "org/org-rmail.el" "org/org-src.el" 33102;;;;;; "org/org-mhe.el" "org/org-mks.el" "org/org-mouse.el" "org/org-pcomplete.el"
32996;;;;;; "org/org-vm.el" "org/org-w3m.el" "org/org-wl.el" "patcomp.el" 33103;;;;;; "org/org-protocol.el" "org/org-rmail.el" "org/org-special-blocks.el"
32997;;;;;; "play/gamegrid.el" "play/gametree.el" "play/meese.el" "progmodes/ada-prj.el" 33104;;;;;; "org/org-src.el" "org/org-vm.el" "org/org-w3m.el" "org/org-wl.el"
32998;;;;;; "progmodes/cc-align.el" "progmodes/cc-awk.el" "progmodes/cc-bytecomp.el" 33105;;;;;; "patcomp.el" "play/gamegrid.el" "play/gametree.el" "play/meese.el"
32999;;;;;; "progmodes/cc-cmds.el" "progmodes/cc-defs.el" "progmodes/cc-fonts.el" 33106;;;;;; "progmodes/ada-prj.el" "progmodes/cc-align.el" "progmodes/cc-awk.el"
33000;;;;;; "progmodes/cc-langs.el" "progmodes/cc-menus.el" "progmodes/ebnf-abn.el" 33107;;;;;; "progmodes/cc-bytecomp.el" "progmodes/cc-cmds.el" "progmodes/cc-defs.el"
33001;;;;;; "progmodes/ebnf-bnf.el" "progmodes/ebnf-dtd.el" "progmodes/ebnf-ebx.el" 33108;;;;;; "progmodes/cc-fonts.el" "progmodes/cc-langs.el" "progmodes/cc-menus.el"
33002;;;;;; "progmodes/ebnf-iso.el" "progmodes/ebnf-otz.el" "progmodes/ebnf-yac.el" 33109;;;;;; "progmodes/ebnf-abn.el" "progmodes/ebnf-bnf.el" "progmodes/ebnf-dtd.el"
33003;;;;;; "progmodes/idlw-complete-structtag.el" "progmodes/idlw-help.el" 33110;;;;;; "progmodes/ebnf-ebx.el" "progmodes/ebnf-iso.el" "progmodes/ebnf-otz.el"
33004;;;;;; "progmodes/idlw-toolbar.el" "progmodes/mantemp.el" "progmodes/xscheme.el" 33111;;;;;; "progmodes/ebnf-yac.el" "progmodes/idlw-complete-structtag.el"
33005;;;;;; "ps-def.el" "ps-mule.el" "ps-samp.el" "saveplace.el" "sb-image.el" 33112;;;;;; "progmodes/idlw-help.el" "progmodes/idlw-toolbar.el" "progmodes/mantemp.el"
33006;;;;;; "scroll-bar.el" "select.el" "soundex.el" "subdirs.el" "tempo.el" 33113;;;;;; "progmodes/xscheme.el" "ps-def.el" "ps-mule.el" "ps-samp.el"
33007;;;;;; "textmodes/bib-mode.el" "textmodes/makeinfo.el" "textmodes/page-ext.el" 33114;;;;;; "saveplace.el" "sb-image.el" "scroll-bar.el" "select.el"
33008;;;;;; "textmodes/refbib.el" "textmodes/refer.el" "textmodes/reftex-auc.el" 33115;;;;;; "soundex.el" "subdirs.el" "tempo.el" "textmodes/bib-mode.el"
33009;;;;;; "textmodes/reftex-dcr.el" "textmodes/reftex-ref.el" "textmodes/reftex-sel.el" 33116;;;;;; "textmodes/makeinfo.el" "textmodes/page-ext.el" "textmodes/refbib.el"
33010;;;;;; "textmodes/reftex-toc.el" "textmodes/texnfo-upd.el" "timezone.el" 33117;;;;;; "textmodes/refer.el" "textmodes/reftex-auc.el" "textmodes/reftex-dcr.el"
33011;;;;;; "tooltip.el" "tree-widget.el" "uniquify.el" "url/url-about.el" 33118;;;;;; "textmodes/reftex-ref.el" "textmodes/reftex-sel.el" "textmodes/reftex-toc.el"
33012;;;;;; "url/url-cookie.el" "url/url-dired.el" "url/url-expand.el" 33119;;;;;; "textmodes/texnfo-upd.el" "timezone.el" "tooltip.el" "tree-widget.el"
33013;;;;;; "url/url-ftp.el" "url/url-future.el" "url/url-history.el" 33120;;;;;; "uniquify.el" "url/url-about.el" "url/url-cookie.el" "url/url-dired.el"
33014;;;;;; "url/url-imap.el" "url/url-methods.el" "url/url-nfs.el" "url/url-proxy.el" 33121;;;;;; "url/url-expand.el" "url/url-ftp.el" "url/url-future.el"
33015;;;;;; "url/url-vars.el" "vc/ediff-diff.el" "vc/ediff-init.el" "vc/ediff-merg.el" 33122;;;;;; "url/url-history.el" "url/url-imap.el" "url/url-methods.el"
33016;;;;;; "vc/ediff-ptch.el" "vc/ediff-vers.el" "vc/ediff-wind.el" 33123;;;;;; "url/url-nfs.el" "url/url-proxy.el" "url/url-vars.el" "vc/ediff-diff.el"
33017;;;;;; "vc/pcvs-info.el" "vc/pcvs-parse.el" "vc/pcvs-util.el" "vc/vc-dav.el" 33124;;;;;; "vc/ediff-init.el" "vc/ediff-merg.el" "vc/ediff-ptch.el"
33018;;;;;; "vcursor.el" "vt-control.el" "vt100-led.el" "w32-fns.el" 33125;;;;;; "vc/ediff-vers.el" "vc/ediff-wind.el" "vc/pcvs-info.el" "vc/pcvs-parse.el"
33019;;;;;; "w32-vars.el" "x-dnd.el") (19981 41048 99944)) 33126;;;;;; "vc/pcvs-util.el" "vc/vc-dav.el" "vcursor.el" "vt-control.el"
33127;;;;;; "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (20063
33128;;;;;; 23539 958052))
33020 33129
33021;;;*** 33130;;;***
33022 33131
diff --git a/lisp/longlines.el b/lisp/longlines.el
index e81a235a17b..f625d8fcac7 100644
--- a/lisp/longlines.el
+++ b/lisp/longlines.el
@@ -100,8 +100,8 @@ In Long Lines mode, long lines are wrapped if they extend beyond
100`fill-column'. The soft newlines used for line wrapping will not 100`fill-column'. The soft newlines used for line wrapping will not
101show up when the text is yanked or saved to disk. 101show up when the text is yanked or saved to disk.
102 102
103With no argument, this command toggles Flyspell mode. 103With no argument, this command toggles Long Lines mode.
104With a prefix argument ARG, turn Flyspell minor mode on if ARG is positive, 104With a prefix argument ARG, turn Long Lines minor mode on if ARG is positive,
105otherwise turn it off. 105otherwise turn it off.
106 106
107If the variable `longlines-auto-wrap' is non-nil, lines are automatically 107If the variable `longlines-auto-wrap' is non-nil, lines are automatically
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index c43ec9e5611..ac07f07a76b 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -4249,7 +4249,7 @@ TEXT and INDENT are not used."
4249 ;; rmail-output expands non-absolute filenames against rmail-default-file. 4249 ;; rmail-output expands non-absolute filenames against rmail-default-file.
4250 ;; What is the point of that, anyway? 4250 ;; What is the point of that, anyway?
4251 (rmail-output (expand-file-name token)))) 4251 (rmail-output (expand-file-name token))))
4252 4252
4253;; Functions for setting, getting and encoding the POP password. 4253;; Functions for setting, getting and encoding the POP password.
4254;; The password is encoded to prevent it from being easily accessible 4254;; The password is encoded to prevent it from being easily accessible
4255;; to "prying eyes." Obviously, this encoding isn't "real security," 4255;; to "prying eyes." Obviously, this encoding isn't "real security,"
@@ -4300,6 +4300,85 @@ encoded string (and the same mask) will decode the string."
4300 (setq i (1+ i))) 4300 (setq i (1+ i)))
4301 (concat string-vector))) 4301 (concat string-vector)))
4302 4302
4303(defun rmail-epa-decrypt ()
4304 "Decrypt OpenPGP armors in current message."
4305 (interactive)
4306
4307 ;; Save the current buffer here for cleanliness, in case we
4308 ;; change it in one of the calls to `epa-decrypt-region'.
4309
4310 (save-excursion
4311 (let (decrypts)
4312 (goto-char (point-min))
4313
4314 ;; In case the encrypted data is inside a mime attachment,
4315 ;; show it. This is a kludge; to be clean, it should not
4316 ;; modify the buffer, but I don't see how to do that.
4317 (when (search-forward "octet-stream" nil t)
4318 (beginning-of-line)
4319 (forward-button 1)
4320 (if (looking-at "Show")
4321 (rmail-mime-toggle-hidden)))
4322
4323 ;; Now find all armored messages in the buffer
4324 ;; and decrypt them one by one.
4325 (goto-char (point-min))
4326 (while (re-search-forward "-----BEGIN PGP MESSAGE-----$" nil t)
4327 (let ((coding-system-for-read coding-system-for-read)
4328 armor-start armor-end after-end)
4329 (setq armor-start (match-beginning 0)
4330 armor-end (re-search-forward "^-----END PGP MESSAGE-----$"
4331 nil t))
4332 (unless armor-end
4333 (error "Encryption armor beginning has no matching end"))
4334 (goto-char armor-start)
4335
4336 ;; Because epa--find-coding-system-for-mime-charset not autoloaded.
4337 (require 'epa)
4338
4339 ;; Use the charset specified in the armor.
4340 (unless coding-system-for-read
4341 (if (re-search-forward "^Charset: \\(.*\\)" armor-end t)
4342 (setq coding-system-for-read
4343 (epa--find-coding-system-for-mime-charset
4344 (intern (downcase (match-string 1)))))))
4345
4346 ;; Advance over this armor.
4347 (goto-char armor-end)
4348 (setq after-end (- (point-max) armor-end))
4349
4350 ;; Decrypt it, maybe in place, maybe making new buffer.
4351 (epa-decrypt-region
4352 armor-start armor-end
4353 ;; Call back this function to prepare the output.
4354 (lambda ()
4355 (let ((inhibit-read-only t))
4356 (delete-region armor-start armor-end)
4357 (goto-char armor-start)
4358 (current-buffer))))
4359
4360 (push (list armor-start (- (point-max) after-end))
4361 decrypts)))
4362
4363 (when (and decrypts (rmail-buffers-swapped-p))
4364 (when (y-or-n-p "Replace the original message? ")
4365 (setq decrypts (nreverse decrypts))
4366 (let ((beg (rmail-msgbeg rmail-current-message))
4367 (end (rmail-msgend rmail-current-message))
4368 (from-buffer (current-buffer)))
4369 (with-current-buffer rmail-view-buffer
4370 (narrow-to-region beg end)
4371 (goto-char (point-min))
4372 (dolist (d decrypts)
4373 (if (re-search-forward "-----BEGIN PGP MESSAGE-----$" nil t)
4374 (let (armor-start armor-end)
4375 (setq armor-start (match-beginning 0)
4376 armor-end (re-search-forward "^-----END PGP MESSAGE-----$"
4377 nil t))
4378 (when armor-end
4379 (delete-region armor-start armor-end)
4380 (insert-buffer-substring from-buffer (nth 0 d) (nth 1 d)))))))))))))
4381
4303;;;; Desktop support 4382;;;; Desktop support
4304 4383
4305(defun rmail-restore-desktop-buffer (desktop-buffer-file-name 4384(defun rmail-restore-desktop-buffer (desktop-buffer-file-name
@@ -4403,7 +4482,7 @@ With prefix argument N moves forward N messages with these labels.
4403 4482
4404;;;*** 4483;;;***
4405 4484
4406;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "a7d3e7205efa4e20ca9038c9b260ce83") 4485;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "2c8675d7c069c68bc36a4003b15448d1")
4407;;; Generated autoloads from rmailmm.el 4486;;; Generated autoloads from rmailmm.el
4408 4487
4409(autoload 'rmail-mime "rmailmm" "\ 4488(autoload 'rmail-mime "rmailmm" "\
diff --git a/lisp/mail/rmailmm.el b/lisp/mail/rmailmm.el
index 597068562b5..d3351255583 100644
--- a/lisp/mail/rmailmm.el
+++ b/lisp/mail/rmailmm.el
@@ -426,7 +426,7 @@ The value is a vector [ INDEX HEADER TAGLINE BODY END], where
426 "Insert a tag line for MIME-entity ENTITY. 426 "Insert a tag line for MIME-entity ENTITY.
427ITEM-LIST is a list of strings or button-elements (list) to be added 427ITEM-LIST is a list of strings or button-elements (list) to be added
428to the tag line." 428to the tag line."
429 (insert "[") 429 (insert "\n[")
430 (let ((tag (aref (rmail-mime-entity-tagline entity) 0))) 430 (let ((tag (aref (rmail-mime-entity-tagline entity) 0)))
431 (if (> (length tag) 0) (insert (substring tag 1) ":"))) 431 (if (> (length tag) 0) (insert (substring tag 1) ":")))
432 (insert (car (rmail-mime-entity-type entity)) " ") 432 (insert (car (rmail-mime-entity-type entity)) " ")
@@ -439,7 +439,7 @@ to the tag line."
439 (if (stringp item) 439 (if (stringp item)
440 (insert item) 440 (insert item)
441 (apply 'insert-button item)))) 441 (apply 'insert-button item))))
442 (insert "]\n")) 442 (insert "]\n\n"))
443 443
444(defun rmail-mime-update-tagline (entity) 444(defun rmail-mime-update-tagline (entity)
445 "Update the current tag line for MIME-entity ENTITY." 445 "Update the current tag line for MIME-entity ENTITY."
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index fe20ad921da..cb02a4b374d 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -156,49 +156,6 @@ This is used by the default mail-sending commands. See also
156 :version "24.1" 156 :version "24.1"
157 :group 'sendmail) 157 :group 'sendmail)
158 158
159(defvar sendmail-query-once-function 'query
160 "Either a function to send email, or the symbol `query'.")
161
162;;;###autoload
163(defun sendmail-query-once ()
164 "Send an email via `sendmail-query-once-function'.
165If `sendmail-query-once-function' is `query', ask the user what
166function to use, and then save that choice."
167 (when (equal sendmail-query-once-function 'query)
168 (let* ((default
169 (cond
170 ((or (and window-system (eq system-type 'darwin))
171 (eq system-type 'windows-nt))
172 'mailclient-send-it)
173 ((and sendmail-program
174 (executable-find sendmail-program))
175 'sendmail-send-it)))
176 (function
177 (if (or (not default)
178 ;; We have detected no OS-level mail senders, or we
179 ;; have already configured smtpmail, so we use the
180 ;; internal SMTP service.
181 (and (boundp 'smtpmail-smtp-server)
182 smtpmail-smtp-server))
183 'smtpmail-send-it
184 ;; Query the user.
185 (unwind-protect
186 (progn
187 (pop-to-buffer "*Mail Help*")
188 (erase-buffer)
189 (insert "Sending mail from Emacs hasn't been set up yet.\n\n"
190 "Type `y' to configure outgoing SMTP, or `n' to use\n"
191 "the default mail sender on your system.\n\n"
192 "To change this again at a later date, customize the\n"
193 "`send-mail-function' variable.\n")
194 (goto-char (point-min))
195 (if (y-or-n-p "Configure outgoing SMTP in Emacs? ")
196 'smtpmail-send-it
197 default))
198 (kill-buffer (current-buffer))))))
199 (customize-save-variable 'sendmail-query-once-function function)))
200 (funcall sendmail-query-once-function))
201
202;;;###autoload 159;;;###autoload
203(defcustom mail-header-separator (purecopy "--text follows this line--") 160(defcustom mail-header-separator (purecopy "--text follows this line--")
204 "Line used to separate headers from text in messages being composed." 161 "Line used to separate headers from text in messages being composed."
@@ -541,6 +498,51 @@ by Emacs.)")
541 "Additional expressions to highlight in Mail mode.") 498 "Additional expressions to highlight in Mail mode.")
542 499
543 500
501;;;###autoload
502(defun sendmail-query-once ()
503 "Query for `send-mail-function' and send mail with it.
504This also saves the value of `send-mail-function' via Customize."
505 (let* ((mail-buffer (current-buffer))
506 ;; Compute default mail sender, preferring smtpmail if it's
507 ;; already configured.
508 (default (cond
509 ((and (boundp 'smtpmail-smtp-server)
510 smtpmail-smtp-server)
511 'smtpmail-send-it)
512 ((or (and window-system (eq system-type 'darwin))
513 (eq system-type 'windows-nt))
514 'mailclient-send-it)
515 ((and sendmail-program
516 (executable-find sendmail-program))
517 'sendmail-send-it)))
518 (send-function (if (eq default 'smtpmail-send-it)
519 'smtpmail-send-it)))
520 (unless send-function
521 ;; Query the user.
522 (with-temp-buffer
523 (rename-buffer "*Mail Help*" t)
524 (erase-buffer)
525 (insert "Emacs has not been set up for sending mail.\n
526Type `y' to configure and use Emacs as a mail client,
527or `n' to use your system's default mailer.\n
528To change your decision later, customize `send-mail-function'.\n")
529 (goto-char (point-min))
530 (display-buffer (current-buffer))
531 (if (y-or-n-p "Set up Emacs for sending SMTP mail? ")
532 ;; FIXME: We should check and correct the From: field too.
533 (setq send-function 'smtpmail-send-it)
534 (setq send-function default))))
535 (when send-function
536 (customize-save-variable 'send-mail-function send-function)
537 ;; HACK: Message mode stupidly has `message-send-mail-function',
538 ;; so we must update it too or sending again in the current
539 ;; Emacs session will still call `sendmail-query-once'.
540 (and (boundp 'message-send-mail-function)
541 (eq message-send-mail-function 'sendmail-query-once)
542 (customize-set-variable 'message-send-mail-function
543 send-function))
544 (funcall send-function))))
545
544(defun sendmail-sync-aliases () 546(defun sendmail-sync-aliases ()
545 (when mail-personal-alias-file 547 (when mail-personal-alias-file
546 (let ((modtime (nth 5 (file-attributes mail-personal-alias-file)))) 548 (let ((modtime (nth 5 (file-attributes mail-personal-alias-file))))
diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el
index cc46660712f..544570a1bc3 100644
--- a/lisp/mail/smtpmail.el
+++ b/lisp/mail/smtpmail.el
@@ -55,15 +55,12 @@
55;;; Code: 55;;; Code:
56 56
57(require 'sendmail) 57(require 'sendmail)
58(require 'auth-source)
58(autoload 'mail-strip-quoted-names "mail-utils") 59(autoload 'mail-strip-quoted-names "mail-utils")
59(autoload 'message-make-date "message") 60(autoload 'message-make-date "message")
60(autoload 'message-make-message-id "message") 61(autoload 'message-make-message-id "message")
61(autoload 'rfc2104-hash "rfc2104") 62(autoload 'rfc2104-hash "rfc2104")
62(autoload 'netrc-parse "netrc")
63(autoload 'netrc-machine "netrc")
64(autoload 'netrc-get "netrc")
65(autoload 'password-read "password-cache") 63(autoload 'password-read "password-cache")
66(autoload 'auth-source-search "auth-source")
67 64
68;;; 65;;;
69(defgroup smtpmail nil 66(defgroup smtpmail nil
@@ -89,6 +86,12 @@ The default value would be \"smtp\" or 25."
89 :type '(choice (integer :tag "Port") (string :tag "Service")) 86 :type '(choice (integer :tag "Port") (string :tag "Service"))
90 :group 'smtpmail) 87 :group 'smtpmail)
91 88
89(defcustom smtpmail-smtp-user nil
90 "User name to use when looking up credentials."
91 :version "24.1"
92 :type '(choice (const nil) string)
93 :group 'smtpmail)
94
92(defcustom smtpmail-local-domain nil 95(defcustom smtpmail-local-domain nil
93 "Local domain name without a host name. 96 "Local domain name without a host name.
94If the function `system-name' returns the full internet address, 97If the function `system-name' returns the full internet address,
@@ -487,12 +490,13 @@ The list is in preference order.")
487 (let* ((mechs (cdr-safe (assoc 'auth supported-extensions))) 490 (let* ((mechs (cdr-safe (assoc 'auth supported-extensions)))
488 (mech (car (smtpmail-intersection mechs smtpmail-auth-supported))) 491 (mech (car (smtpmail-intersection mechs smtpmail-auth-supported)))
489 (auth-source-creation-prompts 492 (auth-source-creation-prompts
490 '((user . "SMTP user at %h: ") 493 '((user . "SMTP user name for %h: ")
491 (secret . "SMTP password for %u@%h: "))) 494 (secret . "SMTP password for %u@%h: ")))
492 (auth-info (car 495 (auth-info (car
493 (auth-source-search 496 (auth-source-search
494 :host host 497 :host host
495 :port port 498 :port port
499 :user smtpmail-smtp-user
496 :max 1 500 :max 1
497 :require (and ask-for-password 501 :require (and ask-for-password
498 '(:user :secret)) 502 '(:user :secret))
@@ -502,6 +506,8 @@ The list is in preference order.")
502 (save-function (and ask-for-password 506 (save-function (and ask-for-password
503 (plist-get auth-info :save-function))) 507 (plist-get auth-info :save-function)))
504 ret) 508 ret)
509 (when (functionp password)
510 (setq password (funcall password)))
505 (when (and user 511 (when (and user
506 (not password)) 512 (not password))
507 ;; The user has stored the user name, but not the password, so 513 ;; The user has stored the user name, but not the password, so
@@ -513,6 +519,7 @@ The list is in preference order.")
513 :max 1 519 :max 1
514 :host host 520 :host host
515 :port port 521 :port port
522 :user smtpmail-smtp-user
516 :require '(:user :secret) 523 :require '(:user :secret)
517 :create t)) 524 :create t))
518 password (plist-get auth-info :secret))) 525 password (plist-get auth-info :secret)))
@@ -589,15 +596,17 @@ The list is in preference order.")
589 596
590(defun smtpmail-query-smtp-server () 597(defun smtpmail-query-smtp-server ()
591 (let ((server (read-string "Outgoing SMTP mail server: ")) 598 (let ((server (read-string "Outgoing SMTP mail server: "))
592 (ports '(587 "smtp")) 599 (ports '("smtp" 587))
593 stream port) 600 stream port)
594 (when (and smtpmail-smtp-server 601 (when (and smtpmail-smtp-server
595 (not (member smtpmail-smtp-server ports))) 602 (not (member smtpmail-smtp-server ports)))
596 (push smtpmail-smtp-server ports)) 603 (push smtpmail-smtp-server ports))
597 (while (and (not smtpmail-smtp-server) 604 (while (and (not smtpmail-smtp-server)
598 (setq port (pop ports))) 605 (setq port (pop ports)))
599 (when (setq stream (ignore-errors 606 (when (setq stream (condition-case ()
600 (open-network-stream "smtp" nil server port))) 607 (open-network-stream "smtp" nil server port)
608 (quit nil)
609 (error nil)))
601 (customize-save-variable 'smtpmail-smtp-server server) 610 (customize-save-variable 'smtpmail-smtp-server server)
602 (customize-save-variable 'smtpmail-smtp-service port) 611 (customize-save-variable 'smtpmail-smtp-service port)
603 (delete-process stream))) 612 (delete-process stream)))
@@ -618,8 +627,6 @@ The list is in preference order.")
618 (and mail-specify-envelope-from 627 (and mail-specify-envelope-from
619 (mail-envelope-from)) 628 (mail-envelope-from))
620 user-mail-address)) 629 user-mail-address))
621 (coding-system-for-read 'binary)
622 (coding-system-for-write 'binary)
623 response-code 630 response-code
624 process-buffer 631 process-buffer
625 result 632 result
@@ -638,21 +645,23 @@ The list is in preference order.")
638 (erase-buffer)) 645 (erase-buffer))
639 646
640 ;; open the connection to the server 647 ;; open the connection to the server
641 (setq result 648 (let ((coding-system-for-read 'binary)
642 (open-network-stream 649 (coding-system-for-write 'binary))
643 "smtpmail" process-buffer host port 650 (setq result
644 :type smtpmail-stream-type 651 (open-network-stream
645 :return-list t 652 "smtpmail" process-buffer host port
646 :capability-command (format "EHLO %s\r\n" (smtpmail-fqdn)) 653 :type smtpmail-stream-type
647 :end-of-command "^[0-9]+ .*\r\n" 654 :return-list t
648 :success "^2.*\n" 655 :capability-command (format "EHLO %s\r\n" (smtpmail-fqdn))
649 :always-query-capabilities t 656 :end-of-command "^[0-9]+ .*\r\n"
650 :starttls-function 657 :success "^2.*\n"
651 (lambda (capabilities) 658 :always-query-capabilities t
652 (and (string-match "-STARTTLS" capabilities) 659 :starttls-function
653 "STARTTLS\r\n")) 660 (lambda (capabilities)
654 :client-certificate t 661 (and (string-match "-STARTTLS" capabilities)
655 :use-starttls-if-possible t)) 662 "STARTTLS\r\n"))
663 :client-certificate t
664 :use-starttls-if-possible t)))
656 665
657 ;; If we couldn't access the server at all, we give up. 666 ;; If we couldn't access the server at all, we give up.
658 (unless (setq process (car result)) 667 (unless (setq process (car result))
@@ -669,7 +678,7 @@ The list is in preference order.")
669 (throw 'done (format "No greeting: %s" greeting))) 678 (throw 'done (format "No greeting: %s" greeting)))
670 (when (>= code 400) 679 (when (>= code 400)
671 (throw 'done (format "Connection not allowed: %s" greeting)))) 680 (throw 'done (format "Connection not allowed: %s" greeting))))
672 681
673 (with-current-buffer process-buffer 682 (with-current-buffer process-buffer
674 (set-buffer-process-coding-system 'raw-text-unix 'raw-text-unix) 683 (set-buffer-process-coding-system 'raw-text-unix 'raw-text-unix)
675 (make-local-variable 'smtpmail-read-point) 684 (make-local-variable 'smtpmail-read-point)
@@ -722,7 +731,7 @@ The list is in preference order.")
722 731
723 (when (member 'xusr supported-extensions) 732 (when (member 'xusr supported-extensions)
724 (smtpmail-command-or-throw process (format "XUSR"))) 733 (smtpmail-command-or-throw process (format "XUSR")))
725 734
726 ;; MAIL FROM:<sender> 735 ;; MAIL FROM:<sender>
727 (let ((size-part 736 (let ((size-part
728 (if (or (member 'size supported-extensions) 737 (if (or (member 'size supported-extensions)
@@ -761,7 +770,7 @@ The list is in preference order.")
761 ) 770 )
762 ((and auth-mechanisms 771 ((and auth-mechanisms
763 (not ask-for-password) 772 (not ask-for-password)
764 (= (car result) 530)) 773 (eq (car result) 530))
765 ;; We got a "530 auth required", so we close and try 774 ;; We got a "530 auth required", so we close and try
766 ;; again, this time asking the user for a password. 775 ;; again, this time asking the user for a password.
767 (smtpmail-send-command process "QUIT") 776 (smtpmail-send-command process "QUIT")
@@ -788,6 +797,7 @@ The list is in preference order.")
788 nil) 797 nil)
789 ((and auth-mechanisms 798 ((and auth-mechanisms
790 (not ask-for-password) 799 (not ask-for-password)
800 (integerp (car result))
791 (>= (car result) 550) 801 (>= (car result) 550)
792 (<= (car result) 554)) 802 (<= (car result) 554))
793 ;; We got a "550 relay not permitted" (or the like), 803 ;; We got a "550 relay not permitted" (or the like),
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index d62b377954d..820b1599abb 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -1076,12 +1076,15 @@ It also eliminates runs of equal strings."
1076 (column 0) 1076 (column 0)
1077 (rows (/ (length strings) columns)) 1077 (rows (/ (length strings) columns))
1078 (row 0) 1078 (row 0)
1079 (first t)
1079 (laststring nil)) 1080 (laststring nil))
1080 ;; The insertion should be "sensible" no matter what choices were made 1081 ;; The insertion should be "sensible" no matter what choices were made
1081 ;; for the parameters above. 1082 ;; for the parameters above.
1082 (dolist (str strings) 1083 (dolist (str strings)
1083 (unless (equal laststring str) ; Remove (consecutive) duplicates. 1084 (unless (equal laststring str) ; Remove (consecutive) duplicates.
1084 (setq laststring str) 1085 (setq laststring str)
1086 ;; FIXME: `string-width' doesn't pay attention to
1087 ;; `display' properties.
1085 (let ((length (if (consp str) 1088 (let ((length (if (consp str)
1086 (+ (string-width (car str)) 1089 (+ (string-width (car str))
1087 (string-width (cadr str))) 1090 (string-width (cadr str)))
@@ -1100,11 +1103,11 @@ It also eliminates runs of equal strings."
1100 (forward-line 1) 1103 (forward-line 1)
1101 (end-of-line))) 1104 (end-of-line)))
1102 (insert " \t") 1105 (insert " \t")
1103 (set-text-properties (- (point) 1) (point) 1106 (set-text-properties (1- (point)) (point)
1104 `(display (space :align-to ,column))))) 1107 `(display (space :align-to ,column)))))
1105 (t 1108 (t
1106 ;; Horizontal format 1109 ;; Horizontal format
1107 (unless (bolp) 1110 (unless first
1108 (if (< wwidth (+ (max colwidth length) column)) 1111 (if (< wwidth (+ (max colwidth length) column))
1109 ;; No space for `str' at point, move to next line. 1112 ;; No space for `str' at point, move to next line.
1110 (progn (insert "\n") (setq column 0)) 1113 (progn (insert "\n") (setq column 0))
@@ -1112,12 +1115,13 @@ It also eliminates runs of equal strings."
1112 ;; Leave the space unpropertized so that in the case we're 1115 ;; Leave the space unpropertized so that in the case we're
1113 ;; already past the goal column, there is still 1116 ;; already past the goal column, there is still
1114 ;; a space displayed. 1117 ;; a space displayed.
1115 (set-text-properties (- (point) 1) (point) 1118 (set-text-properties (1- (point)) (point)
1116 ;; We can't just set tab-width, because 1119 ;; We can't just set tab-width, because
1117 ;; completion-setup-function will kill 1120 ;; completion-setup-function will kill
1118 ;; all local variables :-( 1121 ;; all local variables :-(
1119 `(display (space :align-to ,column))) 1122 `(display (space :align-to ,column)))
1120 nil)))) 1123 nil))))
1124 (setq first nil)
1121 (if (not (consp str)) 1125 (if (not (consp str))
1122 (put-text-property (point) (progn (insert str) (point)) 1126 (put-text-property (point) (progn (insert str) (point))
1123 'mouse-face 'highlight) 1127 'mouse-face 'highlight)
@@ -2299,7 +2303,7 @@ the commands start with a \"-\" or a SPC."
2299(defun completion-pcm--string->pattern (string &optional point) 2303(defun completion-pcm--string->pattern (string &optional point)
2300 "Split STRING into a pattern. 2304 "Split STRING into a pattern.
2301A pattern is a list where each element is either a string 2305A pattern is a list where each element is either a string
2302or a symbol chosen among `any', `star', `point', `prefix'." 2306or a symbol, see `completion-pcm--merge-completions'."
2303 (if (and point (< point (length string))) 2307 (if (and point (< point (length string)))
2304 (let ((prefix (substring string 0 point)) 2308 (let ((prefix (substring string 0 point))
2305 (suffix (substring string point))) 2309 (suffix (substring string point)))
@@ -2515,7 +2519,19 @@ filter out additional entries (because TABLE migth not obey PRED)."
2515 (mapcar 'completion--sreverse strs)))) 2519 (mapcar 'completion--sreverse strs))))
2516 2520
2517(defun completion-pcm--merge-completions (strs pattern) 2521(defun completion-pcm--merge-completions (strs pattern)
2518 "Extract the commonality in STRS, with the help of PATTERN." 2522 "Extract the commonality in STRS, with the help of PATTERN.
2523PATTERN can contain strings and symbols chosen among `star', `any', `point',
2524and `prefix'. They all match anything (aka \".*\") but are merged differently:
2525`any' only grows from the left (when matching \"a1b\" and \"a2b\" it gets
2526 completed to just \"a\").
2527`prefix' only grows from the right (when matching \"a1b\" and \"a2b\" it gets
2528 completed to just \"b\").
2529`star' grows from both ends and is reified into a \"*\" (when matching \"a1b\"
2530 and \"a2b\" it gets completed to \"a*b\").
2531`point' is like `star' except that it gets reified as the position of point
2532 instead of being reified as a \"*\" character.
2533The underlying idea is that we should return a string which still matches
2534the same set of elements."
2519 ;; When completing while ignoring case, we want to try and avoid 2535 ;; When completing while ignoring case, we want to try and avoid
2520 ;; completing "fo" to "foO" when completing against "FOO" (bug#4219). 2536 ;; completing "fo" to "foO" when completing against "FOO" (bug#4219).
2521 ;; So we try and make sure that the string we return is all made up 2537 ;; So we try and make sure that the string we return is all made up
@@ -2568,7 +2584,9 @@ filter out additional entries (because TABLE migth not obey PRED)."
2568 (let* ((prefix (try-completion fixed comps)) 2584 (let* ((prefix (try-completion fixed comps))
2569 (unique (or (and (eq prefix t) (setq prefix fixed)) 2585 (unique (or (and (eq prefix t) (setq prefix fixed))
2570 (eq t (try-completion prefix comps))))) 2586 (eq t (try-completion prefix comps)))))
2571 (unless (equal prefix "") (push prefix res)) 2587 (unless (or (eq elem 'prefix)
2588 (equal prefix ""))
2589 (push prefix res))
2572 ;; If there's only one completion, `elem' is not useful 2590 ;; If there's only one completion, `elem' is not useful
2573 ;; any more: it can only match the empty string. 2591 ;; any more: it can only match the empty string.
2574 ;; FIXME: in some cases, it may be necessary to turn an 2592 ;; FIXME: in some cases, it may be necessary to turn an
@@ -2754,15 +2772,12 @@ See `completing-read' for the meaning of the arguments."
2754 base-keymap 2772 base-keymap
2755 ;; Layer minibuffer-local-filename-completion-map 2773 ;; Layer minibuffer-local-filename-completion-map
2756 ;; on top of the base map. 2774 ;; on top of the base map.
2757 ;; Use make-composed-keymap so that set-keymap-parent 2775 (make-composed-keymap
2758 ;; doesn't modify minibuffer-local-filename-completion-map. 2776 minibuffer-local-filename-completion-map
2759 (let ((map (make-composed-keymap 2777 ;; Set base-keymap as the parent, so that nil bindings
2760 minibuffer-local-filename-completion-map))) 2778 ;; in minibuffer-local-filename-completion-map can
2761 ;; Set base-keymap as the parent, so that nil bindings 2779 ;; override bindings in base-keymap.
2762 ;; in minibuffer-local-filename-completion-map can 2780 base-keymap)))
2763 ;; override bindings in base-keymap.
2764 (set-keymap-parent map base-keymap)
2765 map)))
2766 (result (read-from-minibuffer prompt initial-input keymap 2781 (result (read-from-minibuffer prompt initial-input keymap
2767 nil hist def inherit-input-method))) 2782 nil hist def inherit-input-method)))
2768 (when (and (equal result "") def) 2783 (when (and (equal result "") def)
diff --git a/lisp/mpc.el b/lisp/mpc.el
index 5319ea43898..932fb5926fd 100644
--- a/lisp/mpc.el
+++ b/lisp/mpc.el
@@ -246,11 +246,12 @@ and HOST defaults to localhost."
246 (process-put proc 'ready t) 246 (process-put proc 'ready t)
247 (unless (eq (match-end 0) (point-max)) 247 (unless (eq (match-end 0) (point-max))
248 (error "Unexpected trailing text")) 248 (error "Unexpected trailing text"))
249 (let ((error (match-string 1))) 249 (let ((error-text (match-string 1)))
250 (delete-region (point) (point-max)) 250 (delete-region (point) (point-max))
251 (let ((callback (process-get proc 'callback))) 251 (let ((callback (process-get proc 'callback)))
252 (process-put proc 'callback nil) 252 (process-put proc 'callback nil)
253 (if error (signal 'mpc-proc-error error)) 253 (if error-text
254 (process-put proc 'mpc-proc-error error-text))
254 (funcall callback))))))))) 255 (funcall callback)))))))))
255 256
256(defun mpc--proc-connect (host) 257(defun mpc--proc-connect (host)
@@ -314,19 +315,23 @@ and HOST defaults to localhost."
314 mpc-proc) 315 mpc-proc)
315 (setq mpc-proc (mpc--proc-connect mpc-host)))) 316 (setq mpc-proc (mpc--proc-connect mpc-host))))
316 317
318(defun mpc-proc-check (proc)
319 (let ((error-text (process-get proc 'mpc-proc-error)))
320 (when error-text
321 (process-put proc 'mpc-proc-error nil)
322 (signal 'mpc-proc-error error-text))))
323
317(defun mpc-proc-sync (&optional proc) 324(defun mpc-proc-sync (&optional proc)
318 "Wait for MPC process until it is idle again. 325 "Wait for MPC process until it is idle again.
319Return the buffer in which the process is/was running." 326Return the buffer in which the process is/was running."
320 (unless proc (setq proc (mpc-proc))) 327 (unless proc (setq proc (mpc-proc)))
321 (unwind-protect 328 (unwind-protect
322 (condition-case err 329 (progn
323 (progn 330 (while (and (not (process-get proc 'ready))
324 (while (and (not (process-get proc 'ready)) 331 (accept-process-output proc)))
325 (accept-process-output proc))) 332 (mpc-proc-check proc)
326 (if (process-get proc 'ready) (process-buffer proc) 333 (if (process-get proc 'ready) (process-buffer proc)
327 ;; (delete-process proc) 334 (error "No response from MPD")))
328 (error "No response from MPD")))
329 (error (message "MPC: %s" err) (signal (car err) (cdr err))))
330 (unless (process-get proc 'ready) 335 (unless (process-get proc 'ready)
331 ;; (debug) 336 ;; (debug)
332 (message "Killing hung process") 337 (message "Killing hung process")
@@ -358,13 +363,13 @@ which will be concatenated with proper quoting before passing them to MPD."
358 "\n"))) 363 "\n")))
359 (if callback 364 (if callback
360 ;; (let ((buf (current-buffer))) 365 ;; (let ((buf (current-buffer)))
361 (process-put proc 'callback 366 (process-put proc 'callback
362 callback 367 callback
363 ;; (lambda () 368 ;; (lambda ()
364 ;; (funcall callback 369 ;; (funcall callback
365 ;; (prog1 (current-buffer) 370 ;; (prog1 (current-buffer)
366 ;; (set-buffer buf))))) 371 ;; (set-buffer buf)))))
367 ) 372 )
368 ;; If `callback' is nil, we're executing synchronously. 373 ;; If `callback' is nil, we're executing synchronously.
369 (process-put proc 'callback 'ignore) 374 (process-put proc 'callback 'ignore)
370 ;; This returns the process's buffer. 375 ;; This returns the process's buffer.
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index e18b42a275f..f9bc13e1e25 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -1103,26 +1103,32 @@ URL in a new window."
1103 (interactive (browse-url-interactive-arg "URL: ")) 1103 (interactive (browse-url-interactive-arg "URL: "))
1104 (setq url (browse-url-encode-url url)) 1104 (setq url (browse-url-encode-url url))
1105 (let* ((process-environment (browse-url-process-environment)) 1105 (let* ((process-environment (browse-url-process-environment))
1106 (use-remote
1107 (not (memq system-type '(windows-nt ms-dos))))
1106 (process 1108 (process
1107 (apply 'start-process 1109 (apply 'start-process
1108 (concat "firefox " url) nil 1110 (concat "firefox " url) nil
1109 browse-url-firefox-program 1111 browse-url-firefox-program
1110 (append 1112 (append
1111 browse-url-firefox-arguments 1113 browse-url-firefox-arguments
1112 (if (memq system-type '(windows-nt ms-dos)) 1114 (if use-remote
1113 (list url) 1115 (list "-remote"
1114 (list "-remote" 1116 (concat
1115 (concat "openURL(" 1117 "openURL("
1116 url 1118 url
1117 (if (browse-url-maybe-new-window 1119 (if (browse-url-maybe-new-window new-window)
1118 new-window) 1120 (if browse-url-firefox-new-window-is-tab
1119 (if browse-url-firefox-new-window-is-tab 1121 ",new-tab"
1120 ",new-tab" 1122 ",new-window"))
1121 ",new-window")) 1123 ")"))
1122 ")"))))))) 1124 (list url))))))
1123 (set-process-sentinel process 1125 ;; If we use -remote, the process exits with status code 2 if
1124 `(lambda (process change) 1126 ;; Firefox is not already running. The sentinel runs firefox
1125 (browse-url-firefox-sentinel process ,url))))) 1127 ;; directly if that happens.
1128 (when use-remote
1129 (set-process-sentinel process
1130 `(lambda (process change)
1131 (browse-url-firefox-sentinel process ,url))))))
1126 1132
1127(defun browse-url-firefox-sentinel (process url) 1133(defun browse-url-firefox-sentinel (process url)
1128 "Handle a change to the process communicating with Firefox." 1134 "Handle a change to the process communicating with Firefox."
diff --git a/lisp/net/network-stream.el b/lisp/net/network-stream.el
index bb09d8945c9..0c3d0285f91 100644
--- a/lisp/net/network-stream.el
+++ b/lisp/net/network-stream.el
@@ -230,20 +230,20 @@ functionality.
230 (or builtin-starttls 230 (or builtin-starttls
231 (and (or require-tls 231 (and (or require-tls
232 (plist-get parameters :use-starttls-if-possible)) 232 (plist-get parameters :use-starttls-if-possible))
233 (executable-find "gnutls-cli"))) 233 (starttls-available-p)))
234 (not (eq (plist-get parameters :type) 'plain))) 234 (not (eq (plist-get parameters :type) 'plain)))
235 ;; If using external STARTTLS, drop this connection and start 235 ;; If using external STARTTLS, drop this connection and start
236 ;; anew with `starttls-open-stream'. 236 ;; anew with `starttls-open-stream'.
237 (unless builtin-starttls 237 (unless builtin-starttls
238 (delete-process stream) 238 (delete-process stream)
239 (setq start (with-current-buffer buffer (point-max))) 239 (setq start (with-current-buffer buffer (point-max)))
240 (let* ((starttls-use-gnutls t) 240 (let* ((starttls-extra-arguments
241 (starttls-extra-arguments
242 (if require-tls 241 (if require-tls
243 starttls-extra-arguments 242 starttls-extra-arguments
244 ;; For opportunistic TLS upgrades, we don't really 243 ;; For opportunistic TLS upgrades, we don't really
245 ;; care about the identity of the peer. 244 ;; care about the identity of the peer.
246 (cons "--insecure" starttls-extra-arguments))) 245 (cons "--insecure" starttls-extra-arguments)))
246 (starttls-extra-args starttls-extra-args)
247 (cert (network-stream-certificate host service parameters))) 247 (cert (network-stream-certificate host service parameters)))
248 ;; There are client certificates requested, so add them to 248 ;; There are client certificates requested, so add them to
249 ;; the command line. 249 ;; the command line.
@@ -251,7 +251,11 @@ functionality.
251 (setq starttls-extra-arguments 251 (setq starttls-extra-arguments
252 (nconc (list "--x509keyfile" (expand-file-name (nth 0 cert)) 252 (nconc (list "--x509keyfile" (expand-file-name (nth 0 cert))
253 "--x509certfile" (expand-file-name (nth 1 cert))) 253 "--x509certfile" (expand-file-name (nth 1 cert)))
254 starttls-extra-arguments))) 254 starttls-extra-arguments)
255 starttls-extra-args
256 (nconc (list "--key-file" (expand-file-name (nth 0 cert))
257 "--cert-file" (expand-file-name (nth 1 cert)))
258 starttls-extra-args)))
255 (setq stream (starttls-open-stream name buffer host service))) 259 (setq stream (starttls-open-stream name buffer host service)))
256 (network-stream-get-response stream start eoc) 260 (network-stream-get-response stream start eoc)
257 ;; Requery capabilities for protocols that require it; i.e., 261 ;; Requery capabilities for protocols that require it; i.e.,
diff --git a/lisp/net/quickurl.el b/lisp/net/quickurl.el
index c3da1707165..712f0b0c924 100644
--- a/lisp/net/quickurl.el
+++ b/lisp/net/quickurl.el
@@ -1,4 +1,4 @@
1;;; quickurl.el --- insert an URL based on text at point in buffer 1;;; quickurl.el --- insert a URL based on text at point in buffer
2 2
3;; Copyright (C) 1999-2011 Free Software Foundation, Inc. 3;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
4 4
@@ -24,7 +24,7 @@
24 24
25;;; Commentary: 25;;; Commentary:
26;; 26;;
27;; This package provides a simple method of inserting an URL based on the 27;; This package provides a simple method of inserting a URL based on the
28;; text at point in the current buffer. This is part of an on-going effort 28;; text at point in the current buffer. This is part of an on-going effort
29;; to increase the information I provide people while reducing the ammount 29;; to increase the information I provide people while reducing the ammount
30;; of typing I need to do. No-doubt there are undiscovered Emacs packages 30;; of typing I need to do. No-doubt there are undiscovered Emacs packages
@@ -90,7 +90,7 @@
90;; Customize options. 90;; Customize options.
91 91
92(defgroup quickurl nil 92(defgroup quickurl nil
93 "Insert an URL based on text at point in buffer." 93 "Insert a URL based on text at point in buffer."
94 :version "21.1" 94 :version "21.1"
95 :group 'abbrev 95 :group 'abbrev
96 :prefix "quickurl-") 96 :prefix "quickurl-")
@@ -194,14 +194,14 @@ in your ~/.emacs (after loading/requiring quickurl).")
194(defvar quickurl-list-last-buffer nil 194(defvar quickurl-list-last-buffer nil
195 "`current-buffer' when `quickurl-list' was called.") 195 "`current-buffer' when `quickurl-list' was called.")
196 196
197;; Functions for working with an URL entry. 197;; Functions for working with a URL entry.
198 198
199(defun quickurl-url-commented-p (url) 199(defun quickurl-url-commented-p (url)
200 "Does the URL have a comment?" 200 "Does the URL have a comment?"
201 (listp (cdr url))) 201 (listp (cdr url)))
202 202
203(defun quickurl-make-url (keyword url &optional comment) 203(defun quickurl-make-url (keyword url &optional comment)
204 "Create an URL from KEYWORD, URL and (optionaly) COMMENT." 204 "Create a URL from KEYWORD, URL and (optionaly) COMMENT."
205 (if (and comment (not (zerop (length comment)))) 205 (if (and comment (not (zerop (length comment))))
206 (list keyword url comment) 206 (list keyword url comment)
207 (cons keyword url))) 207 (cons keyword url)))
@@ -230,7 +230,7 @@ Note that this function is a setfable place."
230 (setf (cdr ,url) ,store))) 230 (setf (cdr ,url) ,store)))
231 231
232(defun quickurl-url-comment (url) 232(defun quickurl-url-comment (url)
233 "Get the comment from an URL. 233 "Get the comment from a URL.
234 234
235If the URL has no comment an empty string is returned. Also note that this 235If the URL has no comment an empty string is returned. Also note that this
236function is a setfable place." 236function is a setfable place."
@@ -304,7 +304,7 @@ Also display a `message' saying what the URL was unless SILENT is non-nil."
304 304
305;;;###autoload 305;;;###autoload
306(defun* quickurl (&optional lookup) 306(defun* quickurl (&optional lookup)
307 "Insert an URL based on LOOKUP. 307 "Insert a URL based on LOOKUP.
308 308
309If not supplied LOOKUP is taken to be the word at point in the current 309If not supplied LOOKUP is taken to be the word at point in the current
310buffer, this default action can be modifed via 310buffer, this default action can be modifed via
@@ -323,7 +323,7 @@ buffer, this default action can be modifed via
323 323
324;;;###autoload 324;;;###autoload
325(defun quickurl-ask (lookup) 325(defun quickurl-ask (lookup)
326 "Insert an URL, with `completing-read' prompt, based on LOOKUP." 326 "Insert a URL, with `completing-read' prompt, based on LOOKUP."
327 (interactive 327 (interactive
328 (list 328 (list
329 (progn 329 (progn
@@ -335,7 +335,7 @@ buffer, this default action can be modifed via
335 (quickurl-insert url)))) 335 (quickurl-insert url))))
336 336
337(defun quickurl-grab-url () 337(defun quickurl-grab-url ()
338 "Attempt to grab a word/url pair from point in the current buffer. 338 "Attempt to grab a word/URL pair from point in the current buffer.
339 339
340Point should be somewhere on the URL and the word is taken to be the thing 340Point should be somewhere on the URL and the word is taken to be the thing
341that is returned from calling `quickurl-grab-lookup-function' once a 341that is returned from calling `quickurl-grab-lookup-function' once a
@@ -369,7 +369,7 @@ It is assumed that the URL is either \"unguarded\" or is wrapped inside an
369(defun quickurl-add-url (word url comment) 369(defun quickurl-add-url (word url comment)
370 "Allow the user to interactively add a new URL associated with WORD. 370 "Allow the user to interactively add a new URL associated with WORD.
371 371
372See `quickurl-grab-url' for details on how the default word/url combination 372See `quickurl-grab-url' for details on how the default word/URL combination
373is decided." 373is decided."
374 (interactive (let ((word-url (quickurl-grab-url))) 374 (interactive (let ((word-url (quickurl-grab-url)))
375 (list (read-string "Word: " (quickurl-url-keyword word-url)) 375 (list (read-string "Word: " (quickurl-url-keyword word-url))
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index 9e04abb8cd5..06bbfb0b78c 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -815,18 +815,19 @@ If SILENT is non-nil, do not print the message in any irc buffer."
815 815
816(defvar rcirc-input-ring nil) 816(defvar rcirc-input-ring nil)
817(defvar rcirc-input-ring-index 0) 817(defvar rcirc-input-ring-index 0)
818
818(defun rcirc-prev-input-string (arg) 819(defun rcirc-prev-input-string (arg)
819 (ring-ref rcirc-input-ring (+ rcirc-input-ring-index arg))) 820 (ring-ref rcirc-input-ring (+ rcirc-input-ring-index arg)))
820 821
821(defun rcirc-insert-prev-input (arg) 822(defun rcirc-insert-prev-input ()
822 (interactive "p") 823 (interactive)
823 (when (<= rcirc-prompt-end-marker (point)) 824 (when (<= rcirc-prompt-end-marker (point))
824 (delete-region rcirc-prompt-end-marker (point-max)) 825 (delete-region rcirc-prompt-end-marker (point-max))
825 (insert (rcirc-prev-input-string 0)) 826 (insert (rcirc-prev-input-string 0))
826 (setq rcirc-input-ring-index (1+ rcirc-input-ring-index)))) 827 (setq rcirc-input-ring-index (1+ rcirc-input-ring-index))))
827 828
828(defun rcirc-insert-next-input (arg) 829(defun rcirc-insert-next-input ()
829 (interactive "p") 830 (interactive)
830 (when (<= rcirc-prompt-end-marker (point)) 831 (when (<= rcirc-prompt-end-marker (point))
831 (delete-region rcirc-prompt-end-marker (point-max)) 832 (delete-region rcirc-prompt-end-marker (point-max))
832 (setq rcirc-input-ring-index (1- rcirc-input-ring-index)) 833 (setq rcirc-input-ring-index (1- rcirc-input-ring-index))
@@ -1555,18 +1556,16 @@ record activity."
1555 1556
1556 ;; keep window on bottom line if it was already there 1557 ;; keep window on bottom line if it was already there
1557 (when rcirc-scroll-show-maximum-output 1558 (when rcirc-scroll-show-maximum-output
1558 (walk-windows (lambda (w) 1559 (let ((window (get-buffer-window)))
1559 (when (eq (window-buffer w) (current-buffer)) 1560 (when window
1560 (with-current-buffer (window-buffer w) 1561 (with-selected-window window
1561 (when (eq major-mode 'rcirc-mode) 1562 (when (eq major-mode 'rcirc-mode)
1562 (with-selected-window w 1563 (when (<= (- (window-height)
1563 (when (<= (- (window-height) 1564 (count-screen-lines (window-point)
1564 (count-screen-lines (window-point) 1565 (window-start))
1565 (window-start)) 1566 1)
1566 1) 1567 0)
1567 0) 1568 (recenter -1)))))))
1568 (recenter -1)))))))
1569 nil t))
1570 1569
1571 ;; flush undo (can we do something smarter here?) 1570 ;; flush undo (can we do something smarter here?)
1572 (buffer-disable-undo) 1571 (buffer-disable-undo)
@@ -2514,6 +2513,7 @@ the only argument."
2514 (member message 2513 (member message
2515 (list 2514 (list
2516 (format "You are now identified for \C-b%s\C-b." rcirc-nick) 2515 (format "You are now identified for \C-b%s\C-b." rcirc-nick)
2516 (format "You are successfully identified as \C-b%s\C-b." rcirc-nick)
2517 "Password accepted - you are now recognized." 2517 "Password accepted - you are now recognized."
2518 ))) 2518 )))
2519 (and ;; quakenet 2519 (and ;; quakenet
@@ -2695,7 +2695,8 @@ the only argument."
2695 (setq rcirc-topic (caddr args))))) 2695 (setq rcirc-topic (caddr args)))))
2696 2696
2697(defun rcirc-handler-333 (process sender args text) 2697(defun rcirc-handler-333 (process sender args text)
2698 "Not in rfc1459.txt" 2698 "333 says who set the topic and when.
2699Not in rfc1459.txt"
2699 (let ((buffer (or (rcirc-get-buffer process (cadr args)) 2700 (let ((buffer (or (rcirc-get-buffer process (cadr args))
2700 (rcirc-get-temp-buffer-create process (cadr args))))) 2701 (rcirc-get-temp-buffer-create process (cadr args)))))
2701 (with-current-buffer buffer 2702 (with-current-buffer buffer
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 5c497748943..428bd6422d8 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -3640,11 +3640,11 @@ file exists and nonzero exit status otherwise."
3640 (when extra-args (setq shell (concat shell " " extra-args))) 3640 (when extra-args (setq shell (concat shell " " extra-args)))
3641 (tramp-send-command 3641 (tramp-send-command
3642 vec (format "exec env ENV='' PROMPT_COMMAND='' PS1=%s PS2='' PS3='' %s" 3642 vec (format "exec env ENV='' PROMPT_COMMAND='' PS1=%s PS2='' PS3='' %s"
3643 (shell-quote-argument tramp-end-of-output) shell) 3643 (tramp-shell-quote-argument tramp-end-of-output) shell)
3644 t)) 3644 t))
3645 ;; Setting prompts. 3645 ;; Setting prompts.
3646 (tramp-send-command 3646 (tramp-send-command
3647 vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t) 3647 vec (format "PS1=%s" (tramp-shell-quote-argument tramp-end-of-output)) t)
3648 (tramp-send-command vec "PS2=''" t) 3648 (tramp-send-command vec "PS2=''" t)
3649 (tramp-send-command vec "PS3=''" t) 3649 (tramp-send-command vec "PS3=''" t)
3650 (tramp-send-command vec "PROMPT_COMMAND=''" t))) 3650 (tramp-send-command vec "PROMPT_COMMAND=''" t)))
@@ -3736,7 +3736,7 @@ process to set up. VEC specifies the connection."
3736 3736
3737 (tramp-message vec 5 "Setting shell prompt") 3737 (tramp-message vec 5 "Setting shell prompt")
3738 (tramp-send-command 3738 (tramp-send-command
3739 vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t) 3739 vec (format "PS1=%s" (tramp-shell-quote-argument tramp-end-of-output)) t)
3740 (tramp-send-command vec "PS2=''" t) 3740 (tramp-send-command vec "PS2=''" t)
3741 (tramp-send-command vec "PS3=''" t) 3741 (tramp-send-command vec "PS3=''" t)
3742 (tramp-send-command vec "PROMPT_COMMAND=''" t) 3742 (tramp-send-command vec "PROMPT_COMMAND=''" t)
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 9b11ef58eab..274bc72391b 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -861,19 +861,9 @@ updated after changing this variable.
861Also see `tramp-file-name-structure'.") 861Also see `tramp-file-name-structure'.")
862 862
863;;;###autoload 863;;;###autoload
864(defconst tramp-root-regexp
865 (if (memq system-type '(cygwin windows-nt))
866 "\\`\\([a-zA-Z]:\\)?/"
867 "\\`/")
868 "Beginning of an incomplete Tramp file name.
869Usually, it is just \"\\\\`/\". On W32 systems, there might be a
870volume letter, which will be removed by `tramp-drop-volume-letter'.")
871
872;;;###autoload
873(defconst tramp-completion-file-name-regexp-unified 864(defconst tramp-completion-file-name-regexp-unified
874 (if (memq system-type '(cygwin windows-nt)) 865 (if (memq system-type '(cygwin windows-nt))
875 (concat tramp-root-regexp "[^/]\\{2,\\}\\'") 866 "\\`/[^/]\\{2,\\}\\'" "\\`/[^/]*\\'")
876 (concat tramp-root-regexp "[^/]*\\'"))
877 "Value for `tramp-completion-file-name-regexp' for unified remoting. 867 "Value for `tramp-completion-file-name-regexp' for unified remoting.
878GNU Emacs uses a unified filename syntax for Tramp and Ange-FTP. 868GNU Emacs uses a unified filename syntax for Tramp and Ange-FTP.
879See `tramp-file-name-structure' for more explanations. 869See `tramp-file-name-structure' for more explanations.
@@ -882,14 +872,14 @@ On W32 systems, the volume letter must be ignored.")
882 872
883;;;###autoload 873;;;###autoload
884(defconst tramp-completion-file-name-regexp-separate 874(defconst tramp-completion-file-name-regexp-separate
885 (concat tramp-root-regexp "\\([[][^]]*\\)?\\'") 875 "\\`/\\([[][^]]*\\)?\\'"
886 "Value for `tramp-completion-file-name-regexp' for separate remoting. 876 "Value for `tramp-completion-file-name-regexp' for separate remoting.
887XEmacs uses a separate filename syntax for Tramp and EFS. 877XEmacs uses a separate filename syntax for Tramp and EFS.
888See `tramp-file-name-structure' for more explanations.") 878See `tramp-file-name-structure' for more explanations.")
889 879
890;;;###autoload 880;;;###autoload
891(defconst tramp-completion-file-name-regexp-url 881(defconst tramp-completion-file-name-regexp-url
892 (concat tramp-root-regexp "[^/:]+\\(:\\(/\\(/[^/]*\\)?\\)?\\)?\\'") 882 "\\`/[^/:]+\\(:\\(/\\(/[^/]*\\)?\\)?\\)?\\'"
893 "Value for `tramp-completion-file-name-regexp' for URL-like remoting. 883 "Value for `tramp-completion-file-name-regexp' for URL-like remoting.
894See `tramp-file-name-structure' for more explanations.") 884See `tramp-file-name-structure' for more explanations.")
895 885
@@ -1494,20 +1484,20 @@ progress reporter."
1494(tramp-compat-font-lock-add-keywords 1484(tramp-compat-font-lock-add-keywords
1495 'emacs-lisp-mode '("\\<tramp-with-progress-reporter\\>")) 1485 'emacs-lisp-mode '("\\<tramp-with-progress-reporter\\>"))
1496 1486
1497(eval-and-compile ;; Silence compiler. 1487(defalias 'tramp-drop-volume-letter
1498 (if (memq system-type '(cygwin windows-nt)) 1488 (if (memq system-type '(cygwin windows-nt))
1499 (defun tramp-drop-volume-letter (name) 1489 (lambda (name)
1500 "Cut off unnecessary drive letter from file NAME. 1490 "Cut off unnecessary drive letter from file NAME.
1501The functions `tramp-*-handle-expand-file-name' call `expand-file-name' 1491The functions `tramp-*-handle-expand-file-name' call `expand-file-name'
1502locally on a remote file name. When the local system is a W32 system 1492locally on a remote file name. When the local system is a W32 system
1503but the remote system is Unix, this introduces a superfluous drive 1493but the remote system is Unix, this introduces a superfluous drive
1504letter into the file name. This function removes it." 1494letter into the file name. This function removes it."
1505 (save-match-data 1495 (save-match-data
1506 (if (string-match tramp-root-regexp name) 1496 (if (string-match "\\`[a-zA-Z]:/" name)
1507 (replace-match "/" nil t name) 1497 (replace-match "/" nil t name)
1508 name))) 1498 name)))
1509 1499
1510 (defalias 'tramp-drop-volume-letter 'identity))) 1500 'identity))
1511 1501
1512;;; Config Manipulation Functions: 1502;;; Config Manipulation Functions:
1513 1503
diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el
index 7b4c6fd75b1..5492441ac77 100644
--- a/lisp/net/trampver.el
+++ b/lisp/net/trampver.el
@@ -31,7 +31,7 @@
31;; should be changed only there. 31;; should be changed only there.
32 32
33;;;###tramp-autoload 33;;;###tramp-autoload
34(defconst tramp-version "2.2.2-pre" 34(defconst tramp-version "2.2.3-pre"
35 "This version of Tramp.") 35 "This version of Tramp.")
36 36
37;;;###tramp-autoload 37;;;###tramp-autoload
@@ -44,7 +44,7 @@
44 (= emacs-major-version 21) 44 (= emacs-major-version 21)
45 (>= emacs-minor-version 4))) 45 (>= emacs-minor-version 4)))
46 "ok" 46 "ok"
47 (format "Tramp 2.2.2-pre is not fit for %s" 47 (format "Tramp 2.2.3-pre is not fit for %s"
48 (when (string-match "^.*$" (emacs-version)) 48 (when (string-match "^.*$" (emacs-version))
49 (match-string 0 (emacs-version))))))) 49 (match-string 0 (emacs-version)))))))
50 (unless (string-match "\\`ok\\'" x) (error "%s" x))) 50 (unless (string-match "\\`ok\\'" x) (error "%s" x)))
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index 0822f313ac4..d63929d794e 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -1,3 +1,44 @@
12011-09-02 Chong Yidong <cyd@stupidchicken.com>
2
3 * org-compat.el (org-pop-to-buffer-same-window): Deleted.
4
5 * ob-ref.el (org-babel-ref-goto-headline-id):
6 * org.el (org-get-location, org-tree-to-indirect-buffer)
7 (org-mark-ring-goto, org-refile, org-add-log-note)
8 (org-revert-all-org-buffers, org-switchb)
9 (org-cycle-agenda-files, org-submit-bug-report)
10 (org-goto-marker-or-bmk):
11 * org-agenda.el (org-prepare-agenda, org-agenda-switch-to):
12 * org-capture.el (org-capture-goto-target)
13 (org-capture-fill-template):
14 * org-clock.el (org-clock-goto):
15 * org-ctags.el (org-ctags-visit-buffer-or-file):
16 * org-exp.el (org-export-as-org):
17 * org-feed.el (org-feed-show-raw-feed):
18 * org-html.el (org-export-htmlize-generate-css):
19 * org-id.el (org-id-goto):
20 * org-irc.el (org-irc-visit-erc):
21 * org-mobile.el (org-mobile-apply):
22 * org-publish.el (org-publish-org-to, org-publish-find-date):
23 * org-remember.el (org-go-to-remember-target):
24 * org-src.el (org-src-switch-to-buffer)
25 (org-edit-fixed-width-region): Use switch-to-buffer.
26
272011-08-31 Martin Rudalics <rudalics@gmx.at>
28
29 * org-compat.el (org-pop-to-buffer-same-window): Remove LABEL
30 argument from pop-to-buffer-same-window call.
31
322011-07-30 Carsten Dominik <carsten.dominik@gmail.com>
33
34 * ob.el (org-babel-src-block-regexp): If a code block has a body,
35 its last character must be a newline.
36
372011-07-28 Bastien Guerry <bzg@gnu.org>
38
39 * org-pcomplete.el: New file. Rename from org-complete.el.
40 * org-complete.el: Delete file.
41
12011-07-28 Bastien Guerry <bzg@gnu.org> 422011-07-28 Bastien Guerry <bzg@gnu.org>
2 43
3 * org-publish.el (org-publish-index-generate-theindex): rename 44 * org-publish.el (org-publish-index-generate-theindex): rename
@@ -21,15 +62,14 @@
21 62
222011-07-28 Bastien Guerry <bzg@gnu.org> 632011-07-28 Bastien Guerry <bzg@gnu.org>
23 64
24 * org-publish.el (org-publish-find-title): bugfix: kill buffers 65 * org-publish.el (org-publish-find-title): Bugfix: kill buffers
25 unless they were already visited. 66 unless they were already visited.
26 (org-sitemap-sort-files, org-sitemap-sort-folders) 67 (org-sitemap-sort-files, org-sitemap-sort-folders)
27 (org-sitemap-ignore-case, org-sitemap-requested) 68 (org-sitemap-ignore-case, org-sitemap-requested)
28 (org-sitemap-date-format, org-sitemap-file-entry-format): use 69 (org-sitemap-date-format, org-sitemap-file-entry-format): Use
29 a correct prefix. 70 a correct prefix.
30 (org-publish-projects): Make sure to delete .orgx files. 71 (org-publish-projects): Make sure to delete .orgx files.
31 (org-publish-index-generate-theindex.inc): Small docstring 72 (org-publish-index-generate-theindex.inc): Small docstring fix.
32 fix.
33 73
342011-07-28 Bastien Guerry <bzg@gnu.org> 742011-07-28 Bastien Guerry <bzg@gnu.org>
35 75
@@ -42,15 +82,15 @@
42 82
432011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 832011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
44 84
45 * org-list.el: search blank lines down to the end of the item 85 * org-list.el: Search blank lines down to the end of the item
46 instead of stopping at the item, in order to possibly match such 86 instead of stopping at the item, in order to possibly match such
47 lines within the item. 87 lines within the item.
48 88
492011-07-28 Bastien Guerry <bzg@gnu.org> 892011-07-28 Bastien Guerry <bzg@gnu.org>
50 90
51 * org-latex.el (org-export-latex-href-format): docstring fix to 91 * org-latex.el (org-export-latex-href-format): Docstring fix to
52 reflect the fact that you can use only one "%s". 92 reflect the fact that you can use only one "%s".
53 (org-export-latex-links): allow `org-export-latex-href-format' to 93 (org-export-latex-links): Allow `org-export-latex-href-format' to
54 have only one "%s". 94 have only one "%s".
55 95
562011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 962011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
@@ -63,7 +103,7 @@
63 103
642011-07-28 Bastien Guerry <bzg@gnu.org> 1042011-07-28 Bastien Guerry <bzg@gnu.org>
65 105
66 * org-capture.el (org-capture-templates): docstring fix. 106 * org-capture.el (org-capture-templates): Docstring fix.
67 107
682011-07-28 Eric Schulte <schulte.eric@gmail.com> 1082011-07-28 Eric Schulte <schulte.eric@gmail.com>
69 109
@@ -71,7 +111,7 @@
71 code blocks. 111 code blocks.
72 112
73 * ob-keys.el (org-babel-key-bindings): Key bindings for 113 * ob-keys.el (org-babel-key-bindings): Key bindings for
74 org-babel-view-src-block-info. 114 `org-babel-view-src-block-info'.
75 115
762011-07-28 Bastien Guerry <bzg@gnu.org> 1162011-07-28 Bastien Guerry <bzg@gnu.org>
77 117
@@ -88,7 +128,7 @@
88 128
892011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 1292011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
90 130
91 * org-footnote.el (org-footnote-create-definition): when skipping 131 * org-footnote.el (org-footnote-create-definition): When skipping
92 already written footnotes definition, the algorithme would assume 132 already written footnotes definition, the algorithme would assume
93 each one was only one-line long. 133 each one was only one-line long.
94 134
@@ -96,22 +136,22 @@
96 136
97 * org-table.el (org-table-eval-formula): Fix bug when a formula 137 * org-table.el (org-table-eval-formula): Fix bug when a formula
98 "range" is just one cell. 138 "range" is just one cell.
99 (org-table-time-string-to-seconds): don't check whether 139 (org-table-time-string-to-seconds): Don't check whether we
100 we manipulate a string. 140 manipulate a string.
101 141
1022011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 1422011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
103 143
104 * org-exp.el (org-export-mark-list-end) 144 * org-exp.el (org-export-mark-list-end)
105 (org-export-mark-list-properties): don't remove the ending regexp 145 (org-export-mark-list-properties): Don't remove the ending regexp
106 when it consists in blank lines. 146 when it consists in blank lines.
107 147
108 * org-list.el (org-list-parse-list): ditto, but remove it 148 * org-list.el (org-list-parse-list): Ditto, but remove it
109 completely when it isn't made of blank lines (i.e. during export 149 completely when it isn't made of blank lines (i.e. during export
110 process). 150 process).
111 151
1122011-07-28 Bastien Guerry <bzg@gnu.org> 1522011-07-28 Bastien Guerry <bzg@gnu.org>
113 153
114 * org-table.el (org-table-time-string-to-seconds): match either 154 * org-table.el (org-table-time-string-to-seconds): Match either
115 HH:MM:SS or HH:MM (instead of MM:SS). 155 HH:MM:SS or HH:MM (instead of MM:SS).
116 156
1172011-07-28 Bastien Guerry <bzg@gnu.org> 1572011-07-28 Bastien Guerry <bzg@gnu.org>
@@ -127,12 +167,12 @@
127 variables as of Org version 7.7 as you can already export the 167 variables as of Org version 7.7 as you can already export the
128 timestamp from the preamble or the postamble. 168 timestamp from the preamble or the postamble.
129 (org-export-html-before-content-div): Delete variable. 169 (org-export-html-before-content-div): Delete variable.
130 (org-export-html-content-div): obsolete variable as of 7.7. 170 (org-export-html-content-div): Obsolete variable as of 7.7.
131 (org-export-html-divs): New variable to define divs used in 171 (org-export-html-divs): New variable to define divs used in
132 HTML export. 172 HTML export.
133 (org-export-as-html): Now the preamble and the postamble are 173 (org-export-as-html): Now the preamble and the postamble are
134 surrounded by a <div ...>. The name of the div is defined 174 surrounded by a <div ...>. The name of the div is defined through
135 through `org-export-html-divs'. 175 `org-export-html-divs'.
136 176
1372011-07-28 Bastien Guerry <bzg@gnu.org> 1772011-07-28 Bastien Guerry <bzg@gnu.org>
138 178
@@ -141,22 +181,21 @@
141 181
1422011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 1822011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
143 183
144 * org-macs.el (org-with-limited-levels): some functions, like 184 * org-macs.el (org-with-limited-levels): Some functions, like
145 `org-back-to-heading', being deeply based on outline-mode, still 185 `org-back-to-heading', being deeply based on outline-mode, still
146 refer to `outline-regexp' instead of `org-outline-regexp'. 186 refer to `outline-regexp' instead of `org-outline-regexp'.
147 187
1482011-07-28 Bastien Guerry <bzg@gnu.org> 1882011-07-28 Bastien Guerry <bzg@gnu.org>
149 189
150 * org.el (org-refile-get-targets): new optional argument 190 * org.el (org-refile-get-targets): New optional argument
151 `excluded-entries' to exclude entries from the targets. 191 `excluded-entries' to exclude entries from the targets.
152 (org-refile-get-location): From an org-mode buffer, exclude 192 (org-refile-get-location): From an org-mode buffer, exclude
153 current heading and subheadings from the list of targets when 193 current heading and subheadings from the list of targets when
154 org-refile-use-cache is nil. 194 `org-refile-use-cache' is nil.
155 195
1562011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 1962011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
157 197
158 * org.el (org-imenu-get-tree): note to self: headlines start at 198 * org.el (org-imenu-get-tree): Headlines start at bol.
159 bol.
160 199
1612011-07-28 Eric Schulte <schulte.eric@gmail.com> 2002011-07-28 Eric Schulte <schulte.eric@gmail.com>
162 201
@@ -164,37 +203,38 @@
164 203
1652011-07-28 Eric Schulte <schulte.eric@gmail.com> 2042011-07-28 Eric Schulte <schulte.eric@gmail.com>
166 205
167 * ob.el (org-babel-sha1-hash): Only call copy-seq on proper lists. 206 * ob.el (org-babel-sha1-hash): Only call `copy-seq' on proper
207 lists.
168 208
1692011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 2092011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
170 210
171 * org.el (org-kill-is-subtree-p): matched string needs to start at 211 * org.el (org-kill-is-subtree-p): Matched string needs to start at
172 bol. 212 bol.
173 213
1742011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 2142011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
175 215
176 * org.el (org-paste-subtree, org-kill-is-subtree-p) 216 * org.el (org-paste-subtree, org-kill-is-subtree-p)
177 (org-yank-folding-would-swallow-text, org-yank-generic): use 217 (org-yank-folding-would-swallow-text, org-yank-generic): Use
178 `org-with-limited-levels' macro. 218 `org-with-limited-levels' macro.
179 219
1802011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 2202011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
181 221
182 * org-macs.el (org-with-limited-levels): also modify, when 222 * org-macs.el (org-with-limited-levels): Also modify, when
183 appropriate, `org-outline-regexp-at-bol'. 223 appropriate, `org-outline-regexp-at-bol'.
184 224
1852011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 2252011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
186 226
187 * org.el (org-timestamp-change): some locales don't use the same 227 * org.el (org-timestamp-change): Some locales don't use the same
188 length for date abbreviations. Set a marker at origin in case 228 length for date abbreviations. Set a marker at origin in case
189 length of new timestamp is different. 229 length of new timestamp is different.
190 230
1912011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 2312011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
192 232
193 * org.el (org-imenu-get-tree): browse only true headlines. 233 * org.el (org-imenu-get-tree): Browse only true headlines.
194 234
1952011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 2352011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
196 236
197 * org-archive.el (org-archive-subtree): while it might be possible 237 * org-archive.el (org-archive-subtree): While it might be possible
198 to archive an headline of a temporary buffer (i.e. not visiting a 238 to archive an headline of a temporary buffer (i.e. not visiting a
199 file), it wouldn't be really sensical. 239 file), it wouldn't be really sensical.
200 240
@@ -202,13 +242,13 @@
202 242
203 * org-archive.el (org-extract-archive-file) 243 * org-archive.el (org-extract-archive-file)
204 (org-extract-archive-heading, org-archive-subtree): 244 (org-extract-archive-heading, org-archive-subtree):
205 buffer-file-name is nil in an indirect buffer. Thus, use 245 `buffer-file-name' is nil in an indirect buffer. Thus, use
206 (buffer-file-name (buffer-base-buffer)), which will, in any case, 246 `(buffer-file-name (buffer-base-buffer))', which will, in any
207 return the file-name. 247 case, return the file name.
208 248
2092011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 2492011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
210 250
211 * org-capture.el (org-capture): if dired isn't loaded, 251 * org-capture.el (org-capture): If dired isn't loaded,
212 `dired-buffers' isn't defined, and %F will fail. 252 `dired-buffers' isn't defined, and %F will fail.
213 253
2142011-07-28 Eric Schulte <schulte.eric@gmail.com> 2542011-07-28 Eric Schulte <schulte.eric@gmail.com>
@@ -222,19 +262,19 @@
222 262
2232011-07-28 Eric Schulte <schulte.eric@gmail.com> 2632011-07-28 Eric Schulte <schulte.eric@gmail.com>
224 264
225 * ob.el (org-babel-execute-src-block): Replaced call to defunct 265 * ob.el (org-babel-execute-src-block): Replace call to defunct
226 function `org-babel-result-hash'. 266 function `org-babel-result-hash'.
227 267
2282011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 2682011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
229 269
230 * org-footnote.el (org-footnote-in-valid-context-p): avoid cited 270 * org-footnote.el (org-footnote-in-valid-context-p): Avoid cited
231 lines and headers in message-mode. 271 lines and headers in `message-mode'.
232 (org-footnote-at-reference-p): remove check for cited lines, this 272 (org-footnote-at-reference-p): Remove check for cited lines, this
233 is now handled by the previous function. Refactor. 273 is now handled by the previous function. Refactor.
234 274
2352011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 2752011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
236 276
237 * org-capture.el (org-capture): if no file is associated to 277 * org-capture.el (org-capture): If no file is associated to
238 current buffer, check dired buffer and try to retreive a possibly 278 current buffer, check dired buffer and try to retreive a possibly
239 directory associated. 279 directory associated.
240 280
@@ -248,16 +288,16 @@
248 288
2492011-07-28 Bastien Guerry <bzg@gnu.org> 2892011-07-28 Bastien Guerry <bzg@gnu.org>
250 290
251 * org.el (org-refile-get-location): exclude current heading from 291 * org.el (org-refile-get-location): Exclude current heading from
252 the refile table. 292 the refile table.
253 293
2542011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 2942011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
255 295
256 * org-footnote.el (org-footnote-at-reference-p): test if match is 296 * org-footnote.el (org-footnote-at-reference-p): Test if match is
257 in cited text, when replying to a message. 297 in cited text, when replying to a message.
258 (org-footnote-new): do not create a new footnote at bol, as it might 298 (org-footnote-new): Do not create a new footnote at bol, as it
259 be seen as a definition. 299 might be seen as a definition.
260 (org-footnote-at-definition-p): ignore definitions in forbidden 300 (org-footnote-at-definition-p): Ignore definitions in forbidden
261 blocks, as it is already the case for references. 301 blocks, as it is already the case for references.
262 302
2632011-07-28 Matt Lundin <mdl@imapmail.org> 3032011-07-28 Matt Lundin <mdl@imapmail.org>
@@ -273,11 +313,11 @@
273 313
2742011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 3142011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
275 315
276 * org-list.el (org-list-insert-item): actualize code comments. 316 * org-list.el (org-list-insert-item): Actualize code comments.
277 (org-insert-item): for consistency, point cannot be moved at 317 (org-insert-item): For consistency, point cannot be moved at a
278 a surprising place when the user is being asked to choose a new 318 surprising place when the user is being asked to choose a new
279 description term to insert in the list. Point should stay where the 319 description term to insert in the list. Point should stay where
280 user called the command. 320 the user called the command.
281 321
2822011-07-28 Bastien Guerry <bzg@gnu.org> 3222011-07-28 Bastien Guerry <bzg@gnu.org>
283 323
@@ -308,20 +348,20 @@
3082011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 3482011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
309 349
310 * org.el (org-update-parent-todo-statistics): COOKIE_DATA should 350 * org.el (org-update-parent-todo-statistics): COOKIE_DATA should
311 be checked for parent, not current headline. Also, this function 351 be checked for parent, not current headline. Also, this function
312 doesn't need to be interactive. 352 doesn't need to be interactive.
313 353
3142011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 3542011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
315 355
316 * org-list.el (org-list-send-item, org-list-struct-apply-struct) 356 * org-list.el (org-list-send-item, org-list-struct-apply-struct)
317 (org-apply-on-list, org-toggle-checkbox): make markers point 357 (org-apply-on-list, org-toggle-checkbox): Make markers point
318 nowhere when they have become useless. 358 nowhere when they have become useless.
319 359
3202011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 3602011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
321 361
322 * org-list.el (org-list-insert-item): when insertion point is in 362 * org-list.el (org-list-insert-item): When insertion point is in
323 some white line after the end of the list, remove all unnecessary 363 some white line after the end of the list, remove all unnecessary
324 white lines there before proceeding. Also refactor a snippet of 364 white lines there before proceeding. Also refactor a snippet of
325 code. 365 code.
326 366
3272011-07-28 Bastien Guerry <bzg@gnu.org> 3672011-07-28 Bastien Guerry <bzg@gnu.org>
@@ -331,15 +371,15 @@
331 371
3322011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 3722011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
333 373
334 * org.el (org-fontify-meta-lines-and-blocks-1): blocks cannot be 374 * org.el (org-fontify-meta-lines-and-blocks-1): Blocks cannot be
335 correctly fontified when the buffer is missing a final newline. 375 correctly fontified when the buffer is missing a final newline.
336 376
3372011-07-28 Bastien Guerry <bzg@gnu.org> 3772011-07-28 Bastien Guerry <bzg@gnu.org>
338 378
339 * ob.el (org-babel-strip-protective-commas): Return `nil' instead 379 * ob.el (org-babel-strip-protective-commas): Return `nil' instead
340 of an error if no argument is given. 380 of an error if no argument is given.
341 (org-babel-parse-src-block-match): Make sure body is defined 381 (org-babel-parse-src-block-match): Make sure body is defined in
342 in the let construct. 382 the let construct.
343 383
3442011-07-28 Jon Anders Skorpen <jonas@ifi.uio.no> (tiny change) 3842011-07-28 Jon Anders Skorpen <jonas@ifi.uio.no> (tiny change)
345 385
@@ -348,13 +388,13 @@
348 388
3492011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 3892011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
350 390
351 * org-footnote.el (org-footnote-normalize): footnote section 391 * org-footnote.el (org-footnote-normalize): Footnote section
352 should be inserted only if there are footnotes to insert. 392 should be inserted only if there are footnotes to insert.
353 393
3542011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 3942011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
355 395
356 * org-footnote.el (org-footnote-at-definition-p) 396 * org-footnote.el (org-footnote-at-definition-p)
357 (org-footnote-normalize): do not grab signature in the definition 397 (org-footnote-normalize): Do not grab signature in the definition
358 of the last footnote. 398 of the last footnote.
359 399
3602011-07-28 Eric Schulte <schulte.eric@gmail.com> 4002011-07-28 Eric Schulte <schulte.eric@gmail.com>
@@ -366,55 +406,55 @@
366 406
3672011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 4072011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
368 408
369 * org-exp.el (org-export-preprocess-string): add the possibility 409 * org-exp.el (org-export-preprocess-string): Add the possibility
370 to call recursively the function. Also change order of some 410 to call recursively the function. Also change order of some
371 function calls. Comment export process for footnotes. 411 function calls. Comment export process for footnotes.
372 412
373 * org-footnote.el (org-footnote-normalize): change the export 413 * org-footnote.el (org-footnote-normalize): Change the export
374 specific parameter to hold properties of export. Thus, the 414 specific parameter to hold properties of export. Thus, the
375 function can send every footnote definition in the buffer through 415 function can send every footnote definition in the buffer through
376 `org-export-process-string'. 416 `org-export-process-string'.
377 417
3782011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 4182011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
379 419
380 * org-latex.el (org-export-latex-preprocess): first insert 420 * org-latex.el (org-export-latex-preprocess): First insert
381 footnotes in the temporary buffer so their contents can properly 421 footnotes in the temporary buffer so their contents can properly
382 be protected from further transformations if required. 422 be protected from further transformations if required.
383 423
3842011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 4242011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
385 425
386 * org-list.el (org-list-indent-offset): new variable. 426 * org-list.el (org-list-indent-offset): New variable.
387 (org-list-struct-fix-ind): make use of the new variable. 427 (org-list-struct-fix-ind): Make use of the new variable.
388 428
3892011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 4292011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
390 430
391 * org-latex.el (org-export-latex-list-parameters): complete 431 * org-latex.el (org-export-latex-list-parameters): Complete
392 default value with cbtrans option. 432 default value with cbtrans option.
393 433
394 * org-list.el (org-list-to-latex): set a more consistent default 434 * org-list.el (org-list-to-latex): Set a more consistent default
395 value. 435 value.
396 436
3972011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 4372011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
398 438
399 * org-list.el (org-list-swap-items): move it to a meaningful 439 * org-list.el (org-list-swap-items): Move it to a meaningful
400 position in source code (i.e. before any function using it), and 440 position in source code (i.e. before any function using it), and
401 rename it to an easier name. 441 rename it to an easier name.
402 442
4032011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 4432011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
404 444
405 * org-list.el (org-list-separating-blank-lines-number): if there 445 * org-list.el (org-list-separating-blank-lines-number): If there
406 are blank lines already in the whole list, add a blank line. 446 are blank lines already in the whole list, add a blank line.
407 447
4082011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 4482011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
409 449
410 * org-list.el (org-list-use-circular-move): new variable. 450 * org-list.el (org-list-use-circular-move): New variable.
411 (org-previous-item, org-next-item): make use of the new variable. 451 (org-previous-item, org-next-item): Make use of the new variable.
412 (org-move-item-down, org-move-item-up): make use of the new 452 (org-move-item-down, org-move-item-up): Make use of the new
413 variable. Simplify code. 453 variable. Simplify code.
414 454
4152011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 4552011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
416 456
417 * org-list.el (org-list-delete-item, org-list-send-item): new 457 * org-list.el (org-list-delete-item, org-list-send-item): New
418 functions. 458 functions.
419 459
4202011-07-28 Bastien Guerry <bzg@gnu.org> 4602011-07-28 Bastien Guerry <bzg@gnu.org>
@@ -430,7 +470,7 @@
430 470
4312011-07-28 Bastien Guerry <bzg@gnu.org> 4712011-07-28 Bastien Guerry <bzg@gnu.org>
432 472
433 * org-capture.el (org-capture-finalize): bugfix about inserted 473 * org-capture.el (org-capture-finalize): Bugfix about inserted
434 blank line when killing the capture buffer and 474 blank line when killing the capture buffer and
435 `org-blank-before-new-entry' tells to not insert anything before a 475 `org-blank-before-new-entry' tells to not insert anything before a
436 heading. 476 heading.
@@ -449,8 +489,8 @@
449 489
450 * org.el (org-last-set-property): New variable. 490 * org.el (org-last-set-property): New variable.
451 (org-read-property-name): Use the new variable: the prompt 491 (org-read-property-name): Use the new variable: the prompt
452 defaults to the last property set, unless there is a property 492 defaults to the last property set, unless there is a property in
453 in the line at point. 493 the line at point.
454 494
4552011-07-28 David Maus <dmaus@ictsoc.de> 4952011-07-28 David Maus <dmaus@ictsoc.de>
456 496
@@ -495,15 +535,15 @@
495 535
4962011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 5362011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
497 537
498 * org-list.el (org-plain-list-ordered-item-terminator): remove 538 * org-list.el (org-plain-list-ordered-item-terminator): Remove
499 incorrect assumption. 539 incorrect assumption.
500 540
5012011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 5412011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
502 542
503 * org-footnote.el (org-footnote-forbidden-blocks): add missing 543 * org-footnote.el (org-footnote-forbidden-blocks): Add missing
504 exporter specific blocks. 544 exporter specific blocks.
505 545
506 * org-list.el (org-list-forbidden-blocks): ditto. 546 * org-list.el (org-list-forbidden-blocks): Ditto.
507 547
5082011-07-28 Bastien Guerry <bzg@gnu.org> 5482011-07-28 Bastien Guerry <bzg@gnu.org>
509 549
@@ -517,7 +557,7 @@
517 557
5182011-07-28 Bastien Guerry <bzg@gnu.org> 5582011-07-28 Bastien Guerry <bzg@gnu.org>
519 559
520 * org.el (org-timestamp-up, org-timestamp-down): mention time 560 * org.el (org-timestamp-up, org-timestamp-down): Mention time
521 changes in the docstring. 561 changes in the docstring.
522 562
5232011-07-28 Bastien Guerry <bzg@gnu.org> 5632011-07-28 Bastien Guerry <bzg@gnu.org>
@@ -528,15 +568,15 @@
528 568
5292011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 5692011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
530 570
531 * org-list.el (org-list-in-valid-context-p): use `org-in-block-p'. 571 * org-list.el (org-list-in-valid-context-p): Use `org-in-block-p'.
532 572
5332011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 5732011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
534 574
535 * org.el (org-in-block-p): new function. 575 * org.el (org-in-block-p): new function.
536 576
537 * org-footnote.el (org-footnote-forbidden-blocks): new variable. 577 * org-footnote.el (org-footnote-forbidden-blocks): New variable.
538 (org-footnote-in-valid-context-p): new function. 578 (org-footnote-in-valid-context-p): New function.
539 (org-footnote-at-reference-p): use new function. Allow inline 579 (org-footnote-at-reference-p): Use new function. Allow inline
540 footnotes to start at bol. 580 footnotes to start at bol.
541 581
5422011-07-28 Bastien Guerry <bzg@gnu.org> 5822011-07-28 Bastien Guerry <bzg@gnu.org>
@@ -546,7 +586,7 @@
546 586
5472011-07-28 Bastien Guerry <bzg@gnu.org> 5872011-07-28 Bastien Guerry <bzg@gnu.org>
548 588
549 * org-ascii.el (org-export-as-utf8): fix call to 589 * org-ascii.el (org-export-as-utf8): Fix call to
550 `org-called-interactively-p': it requires an argument. Also fix 590 `org-called-interactively-p': it requires an argument. Also fix
551 the docstring. 591 the docstring.
552 592
@@ -565,13 +605,13 @@
5652011-07-28 Bastien Guerry <bzg@gnu.org> 6052011-07-28 Bastien Guerry <bzg@gnu.org>
566 606
567 * org-publish.el 607 * org-publish.el
568 (org-publish-cache-file-needs-publishing): only check against .org 608 (org-publish-cache-file-needs-publishing): Only check against .org
569 files. 609 files.
570 610
5712011-07-28 Bastien Guerry <bzg@gnu.org> 6112011-07-28 Bastien Guerry <bzg@gnu.org>
572 612
573 * org.el (org-mode): Use org-default as 613 * org.el (org-mode): Use `org-default' as the default face in
574 the default face in org-mode. 614 org-mode.
575 615
5762011-07-28 Bastien Guerry <bzg@gnu.org> 6162011-07-28 Bastien Guerry <bzg@gnu.org>
577 617
@@ -582,30 +622,23 @@
582 622
5832011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 6232011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
584 624
585 * org-exp.el (org-export-preprocess-string): if the last subtree 625 * org-exp.el (org-export-preprocess-string): If the last subtree
586 is a task, footnotes may be removed along with the subtree. This 626 is a task, footnotes may be removed along with the subtree. This
587 patch ensures footnotes are put at the end of the buffer after the 627 patch ensures footnotes are put at the end of the buffer after the
588 subtree has been removed. 628 subtree has been removed.
589 629
5902011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 6302011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
591 631
592 * org-footnote.el (org-footnote-at-reference-p): verify that what 632 * org-footnote.el (org-footnote-at-reference-p): Verify that what
593 looks like a footnote doesn't belong to a link. 633 looks like a footnote doesn't belong to a link.
594 (org-footnote-next-reference-or-definition): check more strictly 634 (org-footnote-next-reference-or-definition): Check more strictly
595 footnote definitions. 635 footnote definitions.
596 636
5972011-07-28 Deech <deech@deech-ThinkPad-X200.(none)> 6372011-07-28 Deech <deech@deech-ThinkPad-X200.(none)> (tiny change)
598 638
599 * ob-tangle.el (org-babel-tangle): Ignore errors thrown by 639 * ob-tangle.el (org-babel-tangle): Ignore errors thrown by
600 language modes. 640 language modes.
601 641
6022011-07-28 Suvayu Ali <fatkasuvayu+linux@gmail.com>
603
604 * Mention use of keywords like multicolumn and float
605
606 * Remove previous mention of hack with placement option as per
607 comments on the mailing list. The hack is better suited for Worg.
608
6092011-07-28 Eric Schulte <schulte.eric@gmail.com> 6422011-07-28 Eric Schulte <schulte.eric@gmail.com>
610 643
611 * ob-python.el (org-babel-python-evaluate-session): Inhibit return 644 * ob-python.el (org-babel-python-evaluate-session): Inhibit return
@@ -625,9 +658,8 @@
625 658
6262011-07-28 Bastien Guerry <bzg@gnu.org> 6592011-07-28 Bastien Guerry <bzg@gnu.org>
627 660
628 * org-table.el 661 * org-table.el (org-table-time-seconds-to-string): Use
629 (org-table-time-seconds-to-string): use `org-format-seconds' 662 `org-format-seconds' instead of `format-seconds'.
630 instead of `format-seconds'.
631 663
6322011-07-28 David Maus <dmaus@ictsoc.de> 6642011-07-28 David Maus <dmaus@ictsoc.de>
633 665
@@ -644,7 +676,7 @@
644 * org-freemind.el (org-freemind-convert-links-helper) 676 * org-freemind.el (org-freemind-convert-links-helper)
645 (org-freemind-convert-text-p, org-freemind-write-mm-buffer) 677 (org-freemind-convert-text-p, org-freemind-write-mm-buffer)
646 (org-freemind-get-node-style): Use org-string-match-p for backward 678 (org-freemind-get-node-style): Use org-string-match-p for backward
647 compatibility with Emacs22. 679 compatibility with Emacs 22.
648 680
6492011-07-28 David Maus <dmaus@ictsoc.de> 6812011-07-28 David Maus <dmaus@ictsoc.de>
650 682
@@ -654,7 +686,7 @@
6542011-07-28 David Maus <dmaus@ictsoc.de> 6862011-07-28 David Maus <dmaus@ictsoc.de>
655 687
656 * ob-haskell.el (org-babel-haskell-export-to-lhs): Call 688 * ob-haskell.el (org-babel-haskell-export-to-lhs): Call
657 kill-buffer with argument indiciating to kill current 689 `kill-buffer' with argument indiciating to kill current
658 buffer. Emacs 22 compatibility. 690 buffer. Emacs 22 compatibility.
659 691
6602011-07-28 David Maus <dmaus@ictsoc.de> 6922011-07-28 David Maus <dmaus@ictsoc.de>
@@ -664,13 +696,12 @@
664 696
6652011-07-28 Bastien Guerry <bzg@gnu.org> 6972011-07-28 Bastien Guerry <bzg@gnu.org>
666 698
667 * org.el (org-add-planning-info): fix 699 * org.el (org-add-planning-info): Fix issues with timestamps not
668 issues with timestamps not being inserted at the same position. 700 being inserted at the same position.
669 701
6702011-07-28 Bastien Guerry <bzg@gnu.org> 7022011-07-28 Bastien Guerry <bzg@gnu.org>
671 703
672 * org-table.el 704 * org-table.el (org-table-time-string-to-seconds)
673 (org-table-time-string-to-seconds)
674 (org-table-time-seconds-to-string): New functions. 705 (org-table-time-seconds-to-string): New functions.
675 (org-table-eval-formula): Implement the "T" (time) flag for 706 (org-table-eval-formula): Implement the "T" (time) flag for
676 computing durations. 707 computing durations.
@@ -684,8 +715,8 @@
684 715
685 * org.el (org-fontify-meta-lines-and-blocks-1): Include header 716 * org.el (org-fontify-meta-lines-and-blocks-1): Include header
686 lines. 717 lines.
687 (org-additional-option-like-keywords): Include data as a synonym for 718 (org-additional-option-like-keywords): Include data as a synonym
688 results. 719 for results.
689 720
6902011-07-28 Eric Schulte <schulte.eric@gmail.com> 7212011-07-28 Eric Schulte <schulte.eric@gmail.com>
691 722
@@ -694,18 +725,18 @@
694 725
6952011-07-28 Eric Schulte <schulte.eric@gmail.com> 7262011-07-28 Eric Schulte <schulte.eric@gmail.com>
696 727
697 * ob-ref.el (org-babel-ref-goto-headline-id): Don't let org-id 728 * ob-ref.el (org-babel-ref-goto-headline-id): Don't let `org-id'
698 rescan all IDs when trying to resolve a reference. 729 rescan all IDs when trying to resolve a reference.
699 730
7002011-07-28 Julien Barnier <julien@nozav.org> 7312011-07-28 Julien Barnier <julien@nozav.org>
701 732
702 * org.el (org-fontify-meta-lines-and-blocks-1): Fix test for src 733 * org.el (org-fontify-meta-lines-and-blocks-1): Fix test for src
703 blocks lang attribute 734 blocks lang attribute.
704 735
7052011-07-28 Eric S Fraga <e.fraga@ucl.ac.uk> 7362011-07-28 Eric S Fraga <e.fraga@ucl.ac.uk>
706 737
707 * Allow for a different markup for inactive time stamps on latex 738 * org-latex.el (org-export-latex-timestamp-inactive-markup): New
708 export 739 option to allow different markup for inactive timestamps.
709 740
7102011-07-28 Eric Schulte <schulte.eric@gmail.com> 7412011-07-28 Eric Schulte <schulte.eric@gmail.com>
711 742
@@ -715,31 +746,31 @@
715 746
7162011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 7472011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
717 748
718 * org-list.el (org-list-full-item-re): allow counter and check-box 749 * org-list.el (org-list-full-item-re): Allow counter and check-box
719 to be separated by white spaces. 750 to be separated by white spaces.
720 (org-list-struct-apply-struct): reflect changes made to 751 (org-list-struct-apply-struct): Reflect changes made to
721 `org-list-full-item-re'. 752 `org-list-full-item-re'.
722 753
723 * org-html.el (org-html-export-list-line): recognize spaces 754 * org-html.el (org-html-export-list-line): Recognize spaces
724 between counter and check-boxes as valid. 755 between counter and check-boxes as valid.
725 756
726 * org-docbook.el (org-export-docbook-list-line): ditto. 757 * org-docbook.el (org-export-docbook-list-line): Ditto.
727 758
7282011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 7592011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
729 760
730 * org-list.el (org-list-insert-item): make sure point is moved to 761 * org-list.el (org-list-insert-item): Make sure point is moved to
731 the specified POS before starting the function. 762 the specified POS before starting the function.
732 763
7332011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 7642011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
734 765
735 * org.el (org-activate-footnote-links): properly fontify inline 766 * org.el (org-activate-footnote-links): Properly fontify inline
736 footnotes. 767 footnotes.
737 (org-set-font-lock-defaults): apply changes to previous function. 768 (org-set-font-lock-defaults): Apply changes to previous function.
738 769
7392011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 7702011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
740 771
741 * org-footnote.el (org-footnote-at-reference-p): first check if 772 * org-footnote.el (org-footnote-at-reference-p): First check if
742 point is at the beginning of a footnote. Indeed `org-in-regexp' 773 point is at the beginning of a footnote. Indeed `org-in-regexp'
743 first checks backwards and might find an incorrect footnote if 774 first checks backwards and might find an incorrect footnote if
744 they are side-by-side. 775 they are side-by-side.
745 776
@@ -748,7 +779,7 @@
748 * org-agenda.el (org-agenda-compact-blocks): Improve docstring. 779 * org-agenda.el (org-agenda-compact-blocks): Improve docstring.
749 (org-agenda-block-separator): Add nil to docstring and customization. 780 (org-agenda-block-separator): Add nil to docstring and customization.
750 (org-prepare-agenda): Skip agenda block separator additionally if 781 (org-prepare-agenda): Skip agenda block separator additionally if
751 org-agenda-block-separator is nil. 782 `org-agenda-block-separator' is nil.
752 (org-agenda-overriding-header): Improve docstring. 783 (org-agenda-overriding-header): Improve docstring.
753 784
7542011-07-28 Bastien Guerry <bzg@gnu.org> 7852011-07-28 Bastien Guerry <bzg@gnu.org>
@@ -773,65 +804,65 @@
7732011-07-28 Michael Markert <markert.michael@googlemail.com> 8042011-07-28 Michael Markert <markert.michael@googlemail.com>
774 805
775 * ob.el (org-babel-sha1-hash): Adding optional argument KIND to 806 * ob.el (org-babel-sha1-hash): Adding optional argument KIND to
776 all org-called-interactively-p function invocations. 807 all `org-called-interactively-p' function invocations.
777 808
778 * org-agenda.el (org-agenda-redo): Adding optional argument KIND 809 * org-agenda.el (org-agenda-redo): Adding optional argument KIND
779 to all org-called-interactively-p function invocations. 810 to all `org-called-interactively-p' function invocations.
780 (org-agenda-show-1): Adding optional argument KIND to all 811 (org-agenda-show-1): Adding optional argument KIND to all
781 org-called-interactively-p function invocations. 812 `org-called-interactively-p' function invocations.
782 (org-agenda-set-tags): Adding optional argument KIND to all 813 (org-agenda-set-tags): Adding optional argument KIND to all
783 org-called-interactively-p function invocations. 814 `org-called-interactively-p' function invocations.
784 815
785 * org-ascii.el (org-export-as-latin1): Adding optional argument 816 * org-ascii.el (org-export-as-latin1): Adding optional argument
786 KIND to all org-called-interactively-p function invocations. 817 KIND to all `org-called-interactively-p' function invocations.
787 (org-export-as-latin1-to-buffer): Adding optional argument KIND to 818 (org-export-as-latin1-to-buffer): Adding optional argument KIND to
788 all org-called-interactively-p function invocations. 819 all `org-called-interactively-p' function invocations.
789 (org-export-as-utf8-to-buffer): Adding optional argument KIND to all 820 (org-export-as-utf8-to-buffer): Adding optional argument KIND to all
790 org-called-interactively-p function invocations. 821 `org-called-interactively-p' function invocations.
791 (org-export-region-as-ascii): Adding optional argument KIND to all 822 (org-export-region-as-ascii): Adding optional argument KIND to all
792 org-called-interactively-p function invocations. 823 `org-called-interactively-p' function invocations.
793 824
794 * org-docbook.el (org-export-region-as-docbook): Adding optional 825 * org-docbook.el (org-export-region-as-docbook): Adding optional
795 argument KIND to all org-called-interactively-p function 826 argument KIND to all `org-called-interactively-p' function
796 invocations. 827 invocations.
797 828
798 * org-html.el (org-export-region-as-html): Adding optional 829 * org-html.el (org-export-region-as-html): Adding optional
799 argument KIND to all org-called-interactively-p function 830 argument KIND to all `org-called-interactively-p' function
800 invocations. 831 invocations.
801 832
802 * org-latex.el (org-export-region-as-latex): Adding optional 833 * org-latex.el (org-export-region-as-latex): Adding optional
803 argument KIND to all org-called-interactively-p function 834 argument KIND to all `org-called-interactively-p' function
804 invocations. 835 invocations.
805 836
806 * org-table.el (org-table-blank-field): Adding optional argument 837 * org-table.el (org-table-blank-field): Adding optional argument
807 KIND to all org-called-interactively-p function invocations. 838 KIND to all `org-called-interactively-p' function invocations.
808 (org-table-current-column): Adding optional argument KIND to all 839 (org-table-current-column): Adding optional argument KIND to all
809 org-called-interactively-p function invocations. 840 `org-called-interactively-p' function invocations.
810 (org-table-current-dline): Adding optional argument KIND to all 841 (org-table-current-dline): Adding optional argument KIND to all
811 org-called-interactively-p function invocations. 842 `org-called-interactively-p' function invocations.
812 (org-table-sort-lines): Adding optional argument KIND to all 843 (org-table-sort-lines): Adding optional argument KIND to all
813 org-called-interactively-p function invocations. 844 `org-called-interactively-p' function invocations.
814 (org-table-sum): Adding optional argument KIND to all 845 (org-table-sum): Adding optional argument KIND to all
815 org-called-interactively-p function invocations. 846 `org-called-interactively-p' function invocations.
816 (org-table-rotate-recalc-marks): Adding optional argument KIND to 847 (org-table-rotate-recalc-marks): Adding optional argument KIND to
817 all org-called-interactively-p function invocations. 848 all `org-called-interactively-p' function invocations.
818 (org-table-eval-formula): Adding optional argument KIND to all 849 (org-table-eval-formula): Adding optional argument KIND to all
819 org-called-interactively-p function invocations. 850 `org-called-interactively-p' function invocations.
820 (orgtbl-send-table): Adding optional argument KIND to all 851 (orgtbl-send-table): Adding optional argument KIND to all
821 org-called-interactively-p function invocations. 852 `org-called-interactively-p' function invocations.
822 853
823 * org.el (org-mode): Adding optional argument KIND to all 854 * org.el (org-mode): Adding optional argument KIND to all
824 org-called-interactively-p function invocations. 855 `org-called-interactively-p' function invocations.
825 (org-copy-subtree): Adding optional argument KIND to all 856 (org-copy-subtree): Adding optional argument KIND to all
826 org-called-interactively-p function invocations. 857 `org-called-interactively-p' function invocations.
827 (org-paste-subtree): Adding optional argument KIND to all 858 (org-paste-subtree): Adding optional argument KIND to all
828 org-called-interactively-p function invocations. 859 `org-called-interactively-p' function invocations.
829 (org-store-link): Adding optional argument KIND to all 860 (org-store-link): Adding optional argument KIND to all
830 org-called-interactively-p function invocations. 861 `org-called-interactively-p' function invocations.
831 (org-todo): Adding optional argument KIND to all 862 (org-todo): Adding optional argument KIND to all
832 org-called-interactively-p function invocations. 863 `org-called-interactively-p' function invocations.
833 (org-occur): Adding optional argument KIND to all 864 (org-occur): Adding optional argument KIND to all
834 org-called-interactively-p function invocations. 865 `org-called-interactively-p' function invocations.
835 866
8362011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 8672011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
837 868
@@ -900,7 +931,7 @@
900 931
9012011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 9322011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
902 933
903 * org-exp (org-export-preprocess-string): normalize footnotes 934 * org-exp.el (org-export-preprocess-string): normalize footnotes
904 before marking lists ending. 935 before marking lists ending.
905 936
906 * org-latex.el (org-export-latex-preprocess): work with labels as 937 * org-latex.el (org-export-latex-preprocess): work with labels as
@@ -1047,21 +1078,21 @@
1047 1078
10482011-07-28 Achim Gratz <stromeko@nexgo.de> 10792011-07-28 Achim Gratz <stromeko@nexgo.de>
1049 1080
1050 * org.el (defcustom org-log-into-drawer): correct typo 1081 * org.el (org-log-into-drawer): Correct typo.
1051 1082
1052 * org-clock.el (org-clock-into-drawer): New function to change the 1083 * org-clock.el (org-clock-into-drawer): New function to change the
1053 location of clock events based on properties CLOCK_INTO_DRAWER or, 1084 location of clock events based on properties CLOCK_INTO_DRAWER or,
1054 as fallback, LOG_INTO_DRAWER, like it is already possible for 1085 as fallback, LOG_INTO_DRAWER, like it is already possible for
1055 state change logs. 1086 state change logs.
1056 1087
1057 * org-clock.el (org-clock-jump-to-current-clock): add statement to 1088 * org-clock.el (org-clock-jump-to-current-clock): Add statement to
1058 let clause to bind org-clock-into-drawer to result of function 1089 let clause to bind `org-clock-into-drawer' to result of function
1059 eval 1090 eval.
1060 1091
1061 * org-clock.el (org-clock-find-position): add statement to let 1092 * org-clock.el (org-clock-find-position): Add statement to let
1062 clause to bind org-clock-into-drawer to result of function eval, 1093 clause to bind `org-clock-into-drawer' to result of function eval,
1063 change let to let* since the binding is used later in the same 1094 change let to let* since the binding is used later in the same
1064 clause 1095 clause.
1065 1096
10662011-07-28 Eric Schulte <schulte.eric@gmail.com> 10972011-07-28 Eric Schulte <schulte.eric@gmail.com>
1067 1098
@@ -1168,7 +1199,7 @@
11682011-07-28 Jambunathan K <kjambunathan@gmail.com> 11992011-07-28 Jambunathan K <kjambunathan@gmail.com>
1169 1200
1170 * org-exp.el (org-export-format-source-code-or-example): 1201 * org-exp.el (org-export-format-source-code-or-example):
1171 Simplify. Also add `org-native-text' as a text property to the 1202 Simplify. Also add `org-native-text' as a text property to the
1172 formatted text and throw error for unknown backends. 1203 formatted text and throw error for unknown backends.
1173 1204
11742011-07-28 Jambunathan K <kjambunathan@gmail.com> 12052011-07-28 Jambunathan K <kjambunathan@gmail.com>
@@ -1182,16 +1213,15 @@
1182 * org-exp.el (org-export-backends): New variable. 1213 * org-exp.el (org-export-backends): New variable.
1183 (org-export-select-backend-specific-text): Use above 1214 (org-export-select-backend-specific-text): Use above
1184 variable. Also mark text between #+BACKEND and 1215 variable. Also mark text between #+BACKEND and
1185 #+BEGIN_BACKEND...#+END_BACKEND with org-native-text 1216 #+BEGIN_BACKEND...#+END_BACKEND with org-native-text property.
1186 property. This text property is currently used only by the new 1217 This text property is currently used only by the new line-oriented
1187 line-oriented generic exporter (which is not yet part of the 1218 generic exporter (which is not yet part of the repo).
1188 repo).
1189 1219
11902011-07-28 Jambunathan K <kjambunathan@gmail.com> 12202011-07-28 Jambunathan K <kjambunathan@gmail.com>
1191 1221
1192 * org-exp.el (org-export): Reserve keys 'o' and 'O' for 1222 * org-exp.el (org-export): Reserve keys 'o' and 'O' for
1193 OpenDocumentText export and bind them to org-export-as-odt and 1223 OpenDocumentText export and bind them to `org-export-as-odt' and
1194 org-export-as-odt-and-open. 1224 `org-export-as-odt-and-open'.
1195 1225
11962011-07-28 Eric Schulte <schulte.eric@gmail.com> 12262011-07-28 Eric Schulte <schulte.eric@gmail.com>
1197 1227
@@ -1205,29 +1235,29 @@
1205 1235
12062011-07-28 Eric Schulte <schulte.eric@gmail.com> 12362011-07-28 Eric Schulte <schulte.eric@gmail.com>
1207 1237
1208 * ob-C.el (ob-tangle): initialize variable from ob-tangle. 1238 * ob-C.el (ob-tangle): initialize variable from `ob-tangle'.
1209 1239
1210 * ob-asymptote.el (ob-tangle): initialize variable from ob-tangle. 1240 * ob-asymptote.el (ob-tangle): initialize variable from `ob-tangle'.
1211 1241
1212 * ob-awk.el (ob-tangle): initialize variable from ob-tangle. 1242 * ob-awk.el (ob-tangle): initialize variable from `ob-tangle'.
1213 1243
1214 * ob-clojure.el (ob-tangle): initialize variable from ob-tangle. 1244 * ob-clojure.el (ob-tangle): initialize variable from `ob-tangle'.
1215 1245
1216 * ob-haskell.el (ob-tangle): initialize variable from ob-tangle. 1246 * ob-haskell.el (ob-tangle): initialize variable from `ob-tangle'.
1217 1247
1218 * ob-latex.el (ob-tangle): initialize variable from ob-tangle. 1248 * ob-latex.el (ob-tangle): initialize variable from `ob-tangle'.
1219 1249
1220 * ob-lisp.el (ob-tangle): initialize variable from ob-tangle. 1250 * ob-lisp.el (ob-tangle): initialize variable from `ob-tangle'.
1221 1251
1222 * ob-ocaml.el (ob-tangle): initialize variable from ob-tangle. 1252 * ob-ocaml.el (ob-tangle): initialize variable from `ob-tangle'.
1223 1253
1224 * ob-perl.el (ob-tangle): initialize variable from ob-tangle. 1254 * ob-perl.el (ob-tangle): initialize variable from `ob-tangle'.
1225 1255
1226 * ob-python.el (ob-tangle): initialize variable from ob-tangle. 1256 * ob-python.el (ob-tangle): initialize variable from `ob-tangle'.
1227 1257
1228 * ob-ruby.el (ob-tangle): initialize variable from ob-tangle. 1258 * ob-ruby.el (ob-tangle): initialize variable from `ob-tangle'.
1229 1259
1230 * ob-tangle.el (ob-tangle): initialize variable from ob-tangle. 1260 * ob-tangle.el (ob-tangle): initialize variable from `ob-tangle'.
1231 1261
12322011-07-28 Eric Schulte <schulte.eric@gmail.com> 12622011-07-28 Eric Schulte <schulte.eric@gmail.com>
1233 1263
@@ -1307,9 +1337,8 @@
1307 1337
13082011-07-28 Carsten Dominik <carsten.dominik@gmail.com> (tiny change) 13382011-07-28 Carsten Dominik <carsten.dominik@gmail.com> (tiny change)
1309 1339
1310 * org.el (org-find-dblock): 1340 * org.el (org-find-dblock, org-clocktable-try-shift): Make regexp
1311 (org-clocktable-try-shift): Make regexp work also when #+begin 1341 work also when #+begin line is indentex.
1312 line is indentex.
1313 1342
13142011-07-28 Eric Schulte <schulte.eric@gmail.com> 13432011-07-28 Eric Schulte <schulte.eric@gmail.com>
1315 1344
@@ -1395,28 +1424,33 @@
1395 `interactive-p'. 1424 `interactive-p'.
1396 (org-export-as-utf8-to-buffer): Replacing call to now-defunct function 1425 (org-export-as-utf8-to-buffer): Replacing call to now-defunct function
1397 `interactive-p'. 1426 `interactive-p'.
1398 (org-export-region-as-ascii): Replacing call to now-defunct function 1427 (org-export-region-as-ascii): Replacing call to now-defunct
1399 `interactive-p'.Replacing call to now-defunct function `interactive-p'. 1428 function `interactive-p'.Replacing call to now-defunct function
1429 `interactive-p'.
1400 1430
1401 * org-docbook.el: Replacing call to now-defunct function 1431 * org-docbook.el: Replacing call to now-defunct function
1402 `interactive-p'. 1432 `interactive-p'.
1403 (org-export-region-as-docbook): Replacing call to now-defunct function 1433 (org-export-region-as-docbook): Replacing call to now-defunct
1404 `interactive-p'.Replacing call to now-defunct function `interactive-p'. 1434 function `interactive-p'.Replacing call to now-defunct function
1435 `interactive-p'.
1405 1436
1406 * org-html.el: Replacing call to now-defunct function 1437 * org-html.el: Replacing call to now-defunct function
1407 `interactive-p'. 1438 `interactive-p'.
1408 (org-export-region-as-html): Replacing call to now-defunct function 1439 (org-export-region-as-html): Replacing call to now-defunct
1409 `interactive-p'.Replacing call to now-defunct function `interactive-p'. 1440 function `interactive-p'.Replacing call to now-defunct function
1441 `interactive-p'.
1410 1442
1411 * org-latex.el: Replacing call to now-defunct function 1443 * org-latex.el: Replacing call to now-defunct function
1412 `interactive-p'. 1444 `interactive-p'.
1413 (org-export-region-as-latex): Replacing call to now-defunct function 1445 (org-export-region-as-latex): Replacing call to now-defunct
1414 `interactive-p'.Replacing call to now-defunct function `interactive-p'. 1446 function `interactive-p'.Replacing call to now-defunct function
1447 `interactive-p'.
1415 1448
1416 * org-macs.el: Replacing call to now-defunct function 1449 * org-macs.el: Replacing call to now-defunct function
1417 `interactive-p'. 1450 `interactive-p'.
1418 (org-called-interactively-p): Replacing call to now-defunct function 1451 (org-called-interactively-p): Replacing call to now-defunct
1419 `interactive-p'.Replacing call to now-defunct function `interactive-p'. 1452 function `interactive-p'.Replacing call to now-defunct function
1453 `interactive-p'.
1420 1454
1421 * org-table.el: Replacing call to now-defunct function 1455 * org-table.el: Replacing call to now-defunct function
1422 `interactive-p'. 1456 `interactive-p'.
@@ -1439,7 +1473,8 @@
1439 (orgtbl-send-table): Replacing call to now-defunct function `interactive-p'. 1473 (orgtbl-send-table): Replacing call to now-defunct function `interactive-p'.
1440 1474
1441 * org.el: Replacing call to now-defunct function `interactive-p'. 1475 * org.el: Replacing call to now-defunct function `interactive-p'.
1442 (org-mode): Replacing call to now-defunct function `interactive-p'. 1476 (org-mode): Replacing call to now-defunct function
1477 `interactive-p'.
1443 (org-copy-subtree): Replacing call to now-defunct function 1478 (org-copy-subtree): Replacing call to now-defunct function
1444 `interactive-p'. 1479 `interactive-p'.
1445 (org-paste-subtree): Replacing call to now-defunct function 1480 (org-paste-subtree): Replacing call to now-defunct function
@@ -1473,8 +1508,8 @@
1473 1508
14742011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 15092011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
1475 1510
1476 * org-html.el (org-export-as-html): 1511 * org-html.el (org-export-as-html, org-html-level-start): Only
1477 (org-html-level-start): Only convert section number underscores to dashes. 1512 convert section number underscores to dashes.
1478 1513
14792011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 15142011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
1480 1515
@@ -1524,8 +1559,8 @@
1524 1559
15252011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> (tiny change) 15602011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> (tiny change)
1526 1561
1527 * org-list.el (org-list-to-latex): the enumerate environment in 1562 * org-list.el (org-list-to-latex): The enumerate environment in
1528 latex increments the counter before using it. Therefore, org-mode 1563 latex increments the counter before using it. Therefore, org-mode
1529 should set the enumeration counter to the desired value minus one. 1564 should set the enumeration counter to the desired value minus one.
1530 1565
15312011-07-28 Michael Brand <michael.ch.brand@gmail.com> (tiny change) 15662011-07-28 Michael Brand <michael.ch.brand@gmail.com> (tiny change)
@@ -1535,17 +1570,17 @@
1535 1570
15362011-07-28 Christian Egli <christian.egli@sbszh.ch> 15712011-07-28 Christian Egli <christian.egli@sbszh.ch>
1537 1572
1538 * org-taskjuggler.el (org-taskjuggler-clean-effort): handle any 1573 * org-taskjuggler.el (org-taskjuggler-clean-effort): Handle any
1539 effort that is accepted by `org-duration-string-to-minutes´. 1574 effort that is accepted by `org-duration-string-to-minutes´.
1540 1575
15412011-07-28 Julien Barnier <julien@nozav.org> 15762011-07-28 Julien Barnier <julien@nozav.org>
1542 1577
1543 * ob-sh.el (org-babel-sh-evaluate) : when sending input to comint, 1578 * ob-sh.el (org-babel-sh-evaluate): When sending input to comint,
1544 wait until previous line execution is finished 1579 wait until previous line execution is finished.
1545 1580
1546 * ob-comint.el (org-babel-comint-with-output) : when looking for 1581 * ob-comint.el (org-babel-comint-with-output): When looking for
1547 end-of-evaluation indicator, search forward for the indicator 1582 end-of-evaluation indicator, search forward for the indicator
1548 before searching forward for the prompt 1583 before searching forward for the prompt.
1549 1584
15502011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 15852011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
1551 1586
@@ -1553,11 +1588,11 @@
1553 1588
15542011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 15892011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1555 1590
1556 * org.el (org-auto-align-tags): change docstring. 1591 * org.el (org-auto-align-tags): Change docstring.
1557 (org-update-parent-todo-statistics): keep tags aligned even when 1592 (org-update-parent-todo-statistics): Keep tags aligned even when
1558 statistics cookies are shifting them. 1593 statistics cookies are shifting them.
1559 1594
1560 * org-list.el (org-update-checkbox-count): keep tags aligned even 1595 * org-list.el (org-update-checkbox-count): Keep tags aligned even
1561 when statistics cookies are shifting them. 1596 when statistics cookies are shifting them.
1562 1597
15632011-07-28 Lawrence Mitchell <wence@gmx.li> 15982011-07-28 Lawrence Mitchell <wence@gmx.li>
@@ -1568,7 +1603,7 @@
15682011-07-28 Lawrence Mitchell <wence@gmx.li> 16032011-07-28 Lawrence Mitchell <wence@gmx.li>
1569 1604
1570 * ob.el (org-babel-result-regexp): Use non-shy group around 1605 * ob.el (org-babel-result-regexp): Use non-shy group around
1571 org-babel-data-names. 1606 `org-babel-data-names'.
1572 1607
15732011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 16082011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
1574 1609
@@ -1593,7 +1628,7 @@
1593 * ob-lisp.el (org-babel-execute:lisp): No real functional change, 1628 * ob-lisp.el (org-babel-execute:lisp): No real functional change,
1594 just aesthetic. 1629 just aesthetic.
1595 1630
15962011-07-28 Sébastien Delafond <sdelafond@gmail.com> 16312011-07-28 Sébastien Delafond <sdelafond@gmail.com> (tiny change)
1597 1632
1598 * org.el (org-mode-flyspell-verify): This is useful when using 1633 * org.el (org-mode-flyspell-verify): This is useful when using
1599 flyspell with a non-English dictionary, or if some of your 1634 flyspell with a non-English dictionary, or if some of your
@@ -1605,7 +1640,7 @@
1605 `org-activate-mark'. 1640 `org-activate-mark'.
1606 1641
1607 * org-compat.el (org-activate-mark): New function. Provide 1642 * org-compat.el (org-activate-mark): New function. Provide
1608 `activate-mark' if not present (e.g. Emacs22). 1643 `activate-mark' if not present (e.g. Emacs 22).
1609 1644
16102011-07-28 David Maus <dmaus@ictsoc.de> 16452011-07-28 David Maus <dmaus@ictsoc.de>
1611 1646
@@ -1637,7 +1672,7 @@
1637 * org.el (org-self-insert-command): Use `delete-char' instead of 1672 * org.el (org-self-insert-command): Use `delete-char' instead of
1638 `delete-backward-char'. 1673 `delete-backward-char'.
1639 1674
1640 * org-table.el (orgtbl-self-insert-command): Dto. 1675 * org-table.el (orgtbl-self-insert-command): Ditto.
1641 1676
16422011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 16772011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
1643 1678
@@ -1650,7 +1685,7 @@
1650 1685
16512011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 16862011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1652 1687
1653 * org-latex.el (org-export-latex-preprocess): add 1688 * org-latex.el (org-export-latex-preprocess): Add
1654 `original-indentation' property to footnotes so they cannot 1689 `original-indentation' property to footnotes so they cannot
1655 possibly end a list by being less indented than the item they 1690 possibly end a list by being less indented than the item they
1656 belong to. 1691 belong to.
@@ -1680,33 +1715,33 @@
16802011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 17152011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
1681 1716
1682 * org.el (org-self-insert-command): Catch the case of 1717 * org.el (org-self-insert-command): Catch the case of
1683 buffer-undo-list eq t. 1718 `buffer-undo-list' eq t.
1684 1719
16852011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 17202011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1686 1721
1687 * org.el (org-toggle-heading): region should be considered as made 1722 * org.el (org-toggle-heading): Region should be considered as made
1688 of full lines, without the last one if region-end is at bol. 1723 of full lines, without the last one if region-end is at bol.
1689 Removed unused variables. Refactored and commented code. 1724 Removed unused variables. Refactored and commented code.
1690 1725
16912011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 17262011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1692 1727
1693 * org.el (org-toggle-item): when region includes an headline less 1728 * org.el (org-toggle-item): When region includes an headline less
1694 indented than first one, set it as the new reference. 1729 indented than first one, set it as the new reference.
1695 1730
16962011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 17312011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1697 1732
1698 * org-list.el (org-list-to-subtree): if the list is before first 1733 * org-list.el (org-list-to-subtree): If the list is before first
1699 heading and `org-odd-levels-only' is non-nil, the first item gets 1734 heading and `org-odd-levels-only' is non-nil, the first item gets
1700 two stars instead of one. 1735 two stars instead of one.
1701 1736
1702 * org.el (org-reduced-level): a level of 0 was reduced to 1 with 1737 * org.el (org-reduced-level): A level of 0 was reduced to 1 with
1703 `org-odd-levels-only' non-nil. 1738 `org-odd-levels-only' non-nil.
1704 1739
17052011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 17402011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1706 1741
1707 * org.el (org-toggle-item): converting an heading to an item would 1742 * org.el (org-toggle-item): Converting an heading to an item would
1708 sometimes insert unnecessary spaces before it, and unwanted space 1743 sometimes insert unnecessary spaces before it, and unwanted space
1709 with `org-indent-mode' on. Changing some text into an item 1744 with `org-indent-mode' on. Changing some text into an item
1710 wouldn't always preserve indentation. 1745 wouldn't always preserve indentation.
1711 1746
17122011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 17472011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
@@ -1714,21 +1749,21 @@
1714 * org-capture.el (org-capture-current-plist): Improve docstring. 1749 * org-capture.el (org-capture-current-plist): Improve docstring.
1715 (org-capture-put): Add docstring. 1750 (org-capture-put): Add docstring.
1716 (org-capture-get): Add docstring. 1751 (org-capture-get): Add docstring.
1717 (org-capture-member): Add LOCAL argument. Add docstring. 1752 (org-capture-member): Add LOCAL argument. Add docstring.
1718 (org-capture-set-target-location): Store the time received from a date 1753 (org-capture-set-target-location): Store the time received from a
1719 prompt into the :prompt-time property. 1754 date prompt into the :prompt-time property.
1720 1755
17212011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 17562011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1722 1757
1723 * org-exp.el (org-export-mark-list-properties): even if context is 1758 * org-exp.el (org-export-mark-list-properties): Even if context is
1724 invalid, mark list item with `list-context' property. 1759 invalid, mark list item with `list-context' property.
1725 1760
1726 * org-list.el (org-list-forbidden-blocks): add exporters specific 1761 * org-list.el (org-list-forbidden-blocks): Add exporters specific
1727 blocks to the list of forbidden blocks. 1762 blocks to the list of forbidden blocks.
1728 1763
17292011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 17642011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1730 1765
1731 * org-list.el (org-sort-list): function tries to intern 1766 * org-list.el (org-sort-list): Function tries to intern
1732 getkey-func before it is defined, so it's always nil. 1767 getkey-func before it is defined, so it's always nil.
1733 1768
17342011-07-28 Eric Schulte <schulte.eric@gmail.com> 17692011-07-28 Eric Schulte <schulte.eric@gmail.com>
@@ -1747,7 +1782,7 @@
1747 1782
17482011-07-28 Eric Schulte <schulte.eric@gmail.com> 17832011-07-28 Eric Schulte <schulte.eric@gmail.com>
1749 1784
1750 * ob-sh.el (ob-ref): Uses ob-ref to resolve the value of the 1785 * ob-sh.el (ob-ref): Uses `ob-ref' to resolve the value of the
1751 :stdin header argument. 1786 :stdin header argument.
1752 (org-babel-execute:sh): Use the :stdin header argument. 1787 (org-babel-execute:sh): Use the :stdin header argument.
1753 (org-babel-sh-var-to-sh): Split the bulk of this function off into a 1788 (org-babel-sh-var-to-sh): Split the bulk of this function off into a
@@ -1824,11 +1859,11 @@
1824 1859
18252011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 18602011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1826 1861
1827 * org-list.el (org-list-separating-blank-lines-number): fix 1862 * org-list.el (org-list-separating-blank-lines-number): Fix
1828 confusion between point and item beginning. Now, if no information 1863 confusion between point and item beginning. Now, if no
1829 is avalaible, truly follow user preference when it inserts blank 1864 information is avalaible, truly follow user preference when it
1830 lines manually. 1865 inserts blank lines manually.
1831 (org-list-insert-item): send correct argument to the preceding 1866 (org-list-insert-item): Send correct argument to the preceding
1832 function. 1867 function.
1833 1868
18342011-07-28 Eric Schulte <schulte.eric@gmail.com> 18692011-07-28 Eric Schulte <schulte.eric@gmail.com>
@@ -1836,13 +1871,13 @@
1836 * ob.el (org-babel-src-block-regexp): Keep the now-mandatory 1871 * ob.el (org-babel-src-block-regexp): Keep the now-mandatory
1837 newline inside of the code block body. 1872 newline inside of the code block body.
1838 1873
18392011-07-28 Sean O'Halpin <sean.ohalpin@gmail.com> 18742011-07-28 Sean O'Halpin <sean.ohalpin@gmail.com> (tiny change)
1840 1875
1841 * ob.el: Avoid spurious matches to literal. 1876 * ob.el: Avoid spurious matches to literal.
1842 1877
18432011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 18782011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1844 1879
1845 * org.el (org-indent-line-function): don't include #+include 1880 * org.el (org-indent-line-function): Don't include #+include
1846 lines. 1881 lines.
1847 1882
18482011-07-28 Eric Schulte <schulte.eric@gmail.com> 18832011-07-28 Eric Schulte <schulte.eric@gmail.com>
@@ -1851,7 +1886,8 @@
1851 org-babel-check-src-block. 1886 org-babel-check-src-block.
1852 1887
1853 * ob.el (org-babel-expand-src-block): Fit within 80 cols. 1888 * ob.el (org-babel-expand-src-block): Fit within 80 cols.
1854 (org-babel-edit-distance): Returns the edit distance of two strings. 1889 (org-babel-edit-distance): Returns the edit distance of two
1890 strings.
1855 (org-babel-check-src-block): Check a code block for errors. 1891 (org-babel-check-src-block): Check a code block for errors.
1856 1892
18572011-07-28 Carsten Dominik <carsten.dominik@gmail.com> (tiny change) 18932011-07-28 Carsten Dominik <carsten.dominik@gmail.com> (tiny change)
@@ -1863,9 +1899,9 @@
1863 1899
1864 * org-table.el 1900 * org-table.el
1865 (org-table-exit-follow-field-mode-when-leaving-table): New option. 1901 (org-table-exit-follow-field-mode-when-leaving-table): New option.
1866 (org-table-check-inside-data-field): New optional argument `noerror'. 1902 (org-table-check-inside-data-field): New optional argument
1867 When set, the function will only return nil instead of throwing an 1903 `noerror'. When set, the function will only return nil instead of
1868 error. 1904 throwing an error.
1869 (org-table-edit-field): Interpret double prefix argument, and improve 1905 (org-table-edit-field): Interpret double prefix argument, and improve
1870 the properties of the editing window. 1906 the properties of the editing window.
1871 (org-table-follow-field-mode): New minor mode. 1907 (org-table-follow-field-mode): New minor mode.
@@ -1881,12 +1917,12 @@
1881 1917
18822011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 19182011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1883 1919
1884 * org-list.el (org-list-full-item-re): allow description term to 1920 * org-list.el (org-list-full-item-re): Allow description term to
1885 have a newline character after the colons. 1921 have a newline character after the colons.
1886 1922
18872011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 19232011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
1888 1924
1889 * org-list.el (org-sort-list): no longer ignore with-case 1925 * org-list.el (org-sort-list): No longer ignore with-case
1890 argument: the function sorted case-sensitively, regardless of 1926 argument: the function sorted case-sensitively, regardless of
1891 argument. 1927 argument.
1892 1928
@@ -1903,7 +1939,7 @@
1903 * org.el (org-special-properties): Add CLOCKSUM to the special 1939 * org.el (org-special-properties): Add CLOCKSUM to the special
1904 properties. 1940 properties.
1905 1941
19062011-07-28 Robert P. Goldman <rpgoldman@real-time.com> 19422011-07-28 Robert P. Goldman <rpgoldman@real-time.com> (tiny change)
1907 1943
1908 * ob-exp.el (org-babel-exp-in-export-file): Bind 1944 * ob-exp.el (org-babel-exp-in-export-file): Bind
1909 `org-link-search-inhibit-query' to t to inhibit prompts. 1945 `org-link-search-inhibit-query' to t to inhibit prompts.
@@ -1924,19 +1960,19 @@
19242011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 19602011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
1925 1961
1926 * org-latex.el (org-export-latex-preprocess): Pipe index entries 1962 * org-latex.el (org-export-latex-preprocess): Pipe index entries
1927 through org-export-latex-fontify-headline. 1963 through `org-export-latex-fontify-headline'.
1928 1964
19292011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 19652011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
1930 1966
1931 * org-exp.el (org-export-add-options-to-plist): Fix the option 1967 * org-exp.el (org-export-add-options-to-plist): Fix the option
1932 parser 1968 parser.
1933 1969
19342011-07-28 Robert P. Goldman <rpgoldman@real-time.com> 19702011-07-28 Robert P. Goldman <rpgoldman@real-time.com> (tiny change)
1935 1971
1936 * org-latex.el (org-export-latex-preprocess): Replace index 1972 * org-latex.el (org-export-latex-preprocess): Replace index
1937 entries. 1973 entries.
1938 1974
19392011-07-28 Robert P. Goldman <rpgoldman@real-time.com> 19752011-07-28 Robert P. Goldman <rpgoldman@real-time.com> (tiny change)
1940 1976
1941 * org.el (org-structure-template-alist): Add an easy template for 1977 * org.el (org-structure-template-alist): Add an easy template for
1942 index (i), and move include file to I from i. 1978 index (i), and move include file to I from i.
@@ -1944,7 +1980,7 @@
19442011-07-28 Matt Lundin <mdl@imapmail.org> 19802011-07-28 Matt Lundin <mdl@imapmail.org>
1945 1981
1946 * org-agenda.el (org-agenda-open-link): Pass entire text of agenda 1982 * org-agenda.el (org-agenda-open-link): Pass entire text of agenda
1947 line to org-offer-links-in-entry. 1983 line to `org-offer-links-in-entry'.
1948 1984
19492011-07-28 Michael Markert <markert.michael@googlemail.com> 19852011-07-28 Michael Markert <markert.michael@googlemail.com>
1950 1986
@@ -1960,8 +1996,8 @@
1960 existing headline. 1996 existing headline.
1961 (org-bibtex-export-arbitrary-fields) 1997 (org-bibtex-export-arbitrary-fields)
1962 (org-bibtex-treat-headline-as-title): Fix typos 1998 (org-bibtex-treat-headline-as-title): Fix typos
1963 (org-bibtex-fleshout): Don't upcase optional field; remove ":" from 1999 (org-bibtex-fleshout): Don't upcase optional field; remove ":"
1964 type completion. 2000 from type completion.
1965 2001
19662011-07-28 Matt Lundin <mdl@imapmail.org> 20022011-07-28 Matt Lundin <mdl@imapmail.org>
1967 2003
@@ -1974,11 +2010,11 @@
1974 2010
19752011-07-28 Tom Dye <tsd@tsdye.com> 20112011-07-28 Tom Dye <tsd@tsdye.com>
1976 2012
1977 * org-bibtex.el: Added crossref field to other fields 2013 * org-bibtex.el: Added crossref field to other fields.
1978 2014
19792011-07-28 Tom Dye <tsd@tsdye.com> 20152011-07-28 Tom Dye <tsd@tsdye.com>
1980 2016
1981 * org-bibtex.el: Add crossref option to incollection 2017 * org-bibtex.el: Add crossref option to incollection.
1982 2018
19832011-07-28 Matt Lundin <mdl@imapmail.org> 20192011-07-28 Matt Lundin <mdl@imapmail.org>
1984 2020
@@ -1992,15 +2028,16 @@
1992 2028
19932011-07-28 Matt Lundin <mdl@imapmail.org> 20292011-07-28 Matt Lundin <mdl@imapmail.org>
1994 2030
1995 * org-bibtex.el (org-bibtex-tags): New variable 2031 * org-bibtex.el (org-bibtex-tags): New variable.
1996 (org-bibtex-tags-are-keywords): New variable 2032 (org-bibtex-tags-are-keywords): New variable.
1997 (org-bibtex-no-export-tags): New variable 2033 (org-bibtex-no-export-tags): New variable.
1998 (org-bibtex-headline): Export tags as comma-separated bibtex keywords 2034 (org-bibtex-headline): Export tags as comma-separated bibtex
1999 (org-bibtex-read): Import bibtex keywords field as tags 2035 keywords.
2036 (org-bibtex-read): Import bibtex keywords field as tags.
2000 2037
20012011-07-28 Manuel Giraud <manuel.giraud@univ-nantes.fr> 20382011-07-28 Manuel Giraud <manuel.giraud@univ-nantes.fr>
2002 2039
2003 * org-publish.el (org-publish-find-date): optimization 2040 * org-publish.el (org-publish-find-date): Optimization.
2004 2041
20052011-07-28 Tassilo Horn <tassilo@member.fsf.org> 20422011-07-28 Tassilo Horn <tassilo@member.fsf.org>
2006 2043
@@ -2011,12 +2048,13 @@
2011 2048
2012 * org-publish.el (org-publish-project-alist): Document new 2049 * org-publish.el (org-publish-project-alist): Document new
2013 :sitemap-sans-extension property. 2050 :sitemap-sans-extension property.
2014 (org-publish-org-sitemap): Use new sitemap-sans-extension setting. 2051 (org-publish-org-sitemap): Use new `sitemap-sans-extension'
2052 setting.
2015 2053
20162011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 20542011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2017 2055
2018 * org.el (org-remove-uninherited-tags): Renamed from 2056 * org.el (org-remove-uninherited-tags): Renamed from
2019 org-remove-iniherited-tags. 2057 `org-remove-iniherited-tags'.
2020 (org-scan-tags): Fix typo in function call. 2058 (org-scan-tags): Fix typo in function call.
2021 (org-get-tags-at): Fix typo in function call. 2059 (org-get-tags-at): Fix typo in function call.
2022 2060
@@ -2066,8 +2104,9 @@
2066 2104
2067 * org-bibtex.el (org-bibtex-export-arbitrary-fields): New option. 2105 * org-bibtex.el (org-bibtex-export-arbitrary-fields): New option.
2068 (org-bibtex-key-property): New option. 2106 (org-bibtex-key-property): New option.
2069 (org-bibtex-put): Make use of new `org-bibtex-key-property' variable. 2107 (org-bibtex-put): Make use of new `org-bibtex-key-property'
2070 (org-bibtex-headline): Make use of new 2108 variable.
2109 (org-bibtex-headline): Make use of new
2071 `org-bibtex-export-arbitrary-fields' and `org-bibtex-key-property' 2110 `org-bibtex-export-arbitrary-fields' and `org-bibtex-key-property'
2072 variables. 2111 variables.
2073 (org-bibtex-autokey): Make use of new `org-bibtex-key-property' 2112 (org-bibtex-autokey): Make use of new `org-bibtex-key-property'
@@ -2130,20 +2169,20 @@
2130 2169
21312011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 21702011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2132 2171
2133 * org-exp.el (org-export-preprocess-string): mark list end before 2172 * org-exp.el (org-export-preprocess-string): Mark list end before
2134 expanding macros. Thus, a macro inside a list and containing blank 2173 expanding macros. Thus, a macro inside a list and containing
2135 lines cannot break the list structure. 2174 blank lines cannot break the list structure.
2136 (org-export-preprocess-apply-macros): multi-lines macros get 2175 (org-export-preprocess-apply-macros): Multi-lines macros get
2137 indented with the same indentation as the first line. Thus, we are 2176 indented with the same indentation as the first line. Thus, we
2138 sure that every line belongs to the same list as the first line, if 2177 are sure that every line belongs to the same list as the first
2139 such list exists. Also add comments in code. 2178 line, if such list exists. Also add comments in code.
2140 2179
21412011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 21802011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2142 2181
2143 * org-agenda.el (org-agenda-clock-consistency-checks): New option. 2182 * org-agenda.el (org-agenda-clock-consistency-checks): New option.
2144 (org-agenda-list): Handle display change to clock check. 2183 (org-agenda-list): Handle display change to clock check.
2145 (org-agenda-get-progress): Show only clock entries if we are doing the 2184 (org-agenda-get-progress): Show only clock entries if we are doing
2146 consistency check. 2185 the consistency check.
2147 (org-agenda-show-clocking-issues): New function. 2186 (org-agenda-show-clocking-issues): New function.
2148 (org-agenda-check-clock-gap): New function. 2187 (org-agenda-check-clock-gap): New function.
2149 (org-agenda-view-mode-dispatch): Offer consistency check. 2188 (org-agenda-view-mode-dispatch): Offer consistency check.
@@ -2155,7 +2194,7 @@
2155 2194
21562011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 21952011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2157 2196
2158 * org-list.el (org-list-struct): when walking down the list, the 2197 * org-list.el (org-list-struct): When walking down the list, the
2159 function would not pay attention to drawers or blocks indentation. 2198 function would not pay attention to drawers or blocks indentation.
2160 Thus, such constructs couldn't consistently end an item or a list. 2199 Thus, such constructs couldn't consistently end an item or a list.
2161 This patch ensures line indentation is stored (if applicable) 2200 This patch ensures line indentation is stored (if applicable)
@@ -2164,7 +2203,7 @@
21642011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 22032011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2165 2204
2166 * org-exp.el (org-export): Add EXPORT_FILE_NAME to the enclosing 2205 * org-exp.el (org-export): Add EXPORT_FILE_NAME to the enclosing
2167 tree properties 2206 tree properties.
2168 2207
21692011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 22082011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2170 2209
@@ -2175,36 +2214,35 @@
2175 2214
2176 * org-exp.el (org-export): Go to next heading before searching 2215 * org-exp.el (org-export): Go to next heading before searching
2177 backward, so make this also work if we are on the headline of the 2216 backward, so make this also work if we are on the headline of the
2178 entry with the property... 2217 entry with the property.
2179 2218
21802011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 22192011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2181 2220
2182 * org.el (org-promote): 2221 * org.el (org-promote):
2183 (org-demote): Soften the previous change, by only removing the 2222 (org-demote): Soften the previous change, by only removing the
2184 flyspell function from after-change functions, because that was the 2223 flyspell function from after-change functions, because that was
2185 one causing the slowdown - at least much of it. 2224 the one causing the slowdown - at least much of it.
2186 2225
21872011-07-28 Eric Schulte <schulte.eric@gmail.com> 22262011-07-28 Eric Schulte <schulte.eric@gmail.com>
2188 2227
2189 * org.el (org-promote): 2228 * org.el (org-promote, org-demote): Turn off
2190 (org-demote): Turn off after-change-functions to speed up the 2229 after-change-functions to speed up the reindentation of text.
2191 reindentation of text.
2192 2230
21932011-07-28 Eric Schulte <schulte.eric@gmail.com> 22312011-07-28 Eric Schulte <schulte.eric@gmail.com>
2194 2232
2195 * ob-ocaml.el (org-babel-ocaml-read-list): Using 2233 * ob-ocaml.el (org-babel-ocaml-read-list): Use
2196 `org-babel-script-escape'. 2234 `org-babel-script-escape'.
2197 (org-babel-ocaml-read-array): Using `org-babel-script-escape'. 2235 (org-babel-ocaml-read-array): Use `org-babel-script-escape'.
2198 2236
21992011-07-28 Manuel Giraud <manuel.giraud@univ-nantes.fr> 22372011-07-28 Manuel Giraud <manuel.giraud@univ-nantes.fr>
2200 2238
2201 * org-html.el (org-html-handle-links): add an alternate for inline 2239 * org-html.el (org-html-handle-links): Add an alternate for inline
2202 images 2240 images
2203 2241
22042011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 22422011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2205 2243
2206 * org-agenda.el (org-agenda-bulk-action): Do not use the entries 2244 * org-agenda.el (org-agenda-bulk-action): Do not use the entries
2207 variable before it is defined 2245 variable before it is defined.
2208 2246
22092011-07-28 Eric Schulte <schulte.eric@gmail.com> 22472011-07-28 Eric Schulte <schulte.eric@gmail.com>
2210 2248
@@ -2218,16 +2256,17 @@
2218 2256
22192011-07-28 Manuel Giraud <manuel.giraud@univ-nantes.fr> 22572011-07-28 Manuel Giraud <manuel.giraud@univ-nantes.fr>
2220 2258
2221 * org-html.el (org-html-make-link): correct a bug in coderef link. 2259 * org-html.el (org-html-make-link): Correct a bug in coderef link.
2222 2260
22232011-07-28 Bernt Hansen <bernt@norang.ca> 22612011-07-28 Bernt Hansen <bernt@norang.ca>
2224 2262
2225 * org-agenda.el (org-agenda-filter-by-tag): Fix variable name typo 2263 * org-agenda.el (org-agenda-filter-by-tag): Fix variable name
2264 typo.
2226 2265
22272011-07-28 Bernt Hansen <bernt@norang.ca> 22662011-07-28 Bernt Hansen <bernt@norang.ca>
2228 2267
2229 * org-agenda.el (org-agenda-get-timestamps): Fix agenda display 2268 * org-agenda.el (org-agenda-get-timestamps): Fix agenda display
2230 when headlines are missing 2269 when headlines are missing.
2231 2270
22322011-07-28 Bastien Guerry <bzg@gnu.org> 22712011-07-28 Bastien Guerry <bzg@gnu.org>
2233 2272
@@ -2260,30 +2299,24 @@
2260 2299
22612011-07-28 Julien Danjou <julien@danjou.info> 23002011-07-28 Julien Danjou <julien@danjou.info>
2262 2301
2263 * org.el (org-entry-get): 2302 * org.el (org-entry-get, org-entry-delete, org-entry-put)
2264 (org-entry-delete): 2303 (org-property-values, org-delete-property-globally): Use
2265 (org-entry-put): 2304 `org-re-property'.
2266 (org-property-values): 2305 (org-re-property): New function allowing to build a regexp to
2267 (org-delete-property-globally): Use org-re-property. 2306 match a property.
2268 (org-re-property): New function allowing to build a regexp to match a
2269 property.
2270 2307
22712011-07-28 Julien Danjou <julien@danjou.info> 23082011-07-28 Julien Danjou <julien@danjou.info>
2272 2309
2273 * org.el (org-property-values): Enhance docstring. 2310 * org.el (org-property-values): Enhance docstring.
2274 2311
22752011-07-28 Ethan Ligon <ligon@are.berkeley.edu> 23122011-07-28 Ethan Ligon <ligon@are.berkeley.edu> (tiny change)
2276 2313
2277 * Illustration of bug in html export - This has a space after the 2314 * org-html.el (org-html-export-list-line): Fix regexp for
2278 colons :: so will work in latex and html - This doesn't have a 2315 detecting description lists to allow "::" marker to be last
2279 space after the colons ::so is an invalid description item 2316 visible element at end of line.
2280 according to the org manual. Won't work in html or docbook. Will 2317 * org-docbook.el (org-docbook-export-list-line): Fix regexp for
2281 nevertheless work in latex, provided /first/ description item is 2318 detecting description lists to allow "::" marker to be last
2282 valid. - Has a terminating space :: - So it works in both html 2319 visible element at end of line.
2283 and latex export! - Even though it's difficult to distinguish
2284 from the next example. - Lacks a terminating space :: - At
2285 present, *doesn't* work in html or docbook export, does in latex.
2286 This is the case that the following patch fixes.
2287 2320
22882011-07-28 Julien Danjou <julien@danjou.info> 23212011-07-28 Julien Danjou <julien@danjou.info>
2289 2322
@@ -2292,9 +2325,9 @@
2292 2325
22932011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 23262011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2294 2327
2295 * org-list.el (org-list-in-valid-context-p): renamed from 2328 * org-list.el (org-list-in-valid-context-p): Renamed from
2296 org-list-in-valid-block-p. 2329 `org-list-in-valid-block-p'.
2297 (org-at-item-p,org-list-search-generic): use renamed function. 2330 (org-at-item-p,org-list-search-generic): Use renamed function.
2298 2331
22992011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 23322011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2300 2333
@@ -2304,21 +2337,21 @@
2304 2337
23052011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 23382011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2306 2339
2307 * org-latex.el: pay attention to end of footnote. Before closing 2340 * org-latex.el: Pay attention to end of footnote. Before closing
2308 the command, ensure that list is properly closed or that last link 2341 the command, ensure that list is properly closed or that last link
2309 is separated from the curly brace. 2342 is separated from the curly brace.
2310 2343
23112011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 23442011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2312 2345
2313 * org.el (org-indent-line-function): footnote definition must stay 2346 * org.el (org-indent-line-function): Footnote definition must stay
2314 at column 0 to be recognized as such. Body below can have normal 2347 at column 0 to be recognized as such. Body below can have normal
2315 indentation, so it should ignore its definition when computing 2348 indentation, so it should ignore its definition when computing
2316 indentation. 2349 indentation.
2317 2350
23182011-07-28 Bastien Guerry <bzg@gnu.org> 23512011-07-28 Bastien Guerry <bzg@gnu.org>
2319 2352
2320 * org-protocol.el (org-protocol-remember) 2353 * org-protocol.el (org-protocol-remember, org-protocol-capture):
2321 (org-protocol-capture): More appropriate message. 2354 More appropriate message.
2322 2355
23232011-07-28 Bastien Guerry <bzg@gnu.org> 23562011-07-28 Bastien Guerry <bzg@gnu.org>
2324 2357
@@ -2334,14 +2367,14 @@
23342011-07-28 Bernt Hansen <bernt@norang.ca> 23672011-07-28 Bernt Hansen <bernt@norang.ca>
2335 2368
2336 * org-agenda.el: Remove obsolete code for adding todo list in 2369 * org-agenda.el: Remove obsolete code for adding todo list in
2337 front of the agenda 2370 front of the agenda.
2338 2371
23392011-07-28 Lawrence Mitchell <wence@gmx.li> 23722011-07-28 Lawrence Mitchell <wence@gmx.li>
2340 2373
2341 * org-latex.el (org-export-latex-convert-table.el-table): Fix 2374 * org-latex.el (org-export-latex-convert-table.el-table): Fix
2342 format-string for insertion of captions. 2375 format-string for insertion of captions.
2343 2376
23442011-07-28 Nick Dokos <nicholas.dokos@hp.com> 23772011-07-28 Nick Dokos <nicholas.dokos@hp.com> (tiny change)
2345 2378
2346 * org-exp.el (org-export-remove-comment-blocks-and-subtrees): Fix 2379 * org-exp.el (org-export-remove-comment-blocks-and-subtrees): Fix
2347 regexp. 2380 regexp.
@@ -2358,7 +2391,7 @@
23582011-07-28 Eric Schulte <schulte.eric@gmail.com> 23912011-07-28 Eric Schulte <schulte.eric@gmail.com>
2359 2392
2360 * ob-lisp.el (org-babel-execute:lisp): Turn vectors into lists 2393 * ob-lisp.el (org-babel-execute:lisp): Turn vectors into lists
2361 before reading by elisp 2394 before reading by elisp.
2362 (org-bable-lisp-vector-to-list): Stub of a vector->list function, 2395 (org-bable-lisp-vector-to-list): Stub of a vector->list function,
2363 should be replaced with a cl-vector->el-vector function. 2396 should be replaced with a cl-vector->el-vector function.
2364 2397
@@ -2377,7 +2410,7 @@
2377 2410
23782011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 24112011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2379 2412
2380 * org-beamer.el (org-beamer-environments-extra): Fix docstring 2413 * org-beamer.el (org-beamer-environments-extra): Fix docstring.
2381 2414
23822011-07-28 Lawrence Mitchell <wence@gmx.li> 24152011-07-28 Lawrence Mitchell <wence@gmx.li>
2383 2416
@@ -2386,7 +2419,7 @@
2386 2419
23872011-07-28 Lawrence Mitchell <wence@gmx.li> 24202011-07-28 Lawrence Mitchell <wence@gmx.li>
2388 2421
2389 * org-html.el (org-export-as-html) (org-html-level-start): Fix 2422 * org-html.el (org-export-as-html, org-html-level-start): Fix
2390 logic for section number printing when NUM is an integer. 2423 logic for section number printing when NUM is an integer.
2391 2424
23922011-07-28 Lawrence Mitchell <wence@gmx.li> 24252011-07-28 Lawrence Mitchell <wence@gmx.li>
@@ -2397,7 +2430,7 @@
23972011-07-28 Lawrence Mitchell <wence@gmx.li> 24302011-07-28 Lawrence Mitchell <wence@gmx.li>
2398 2431
2399 * org.el (org-point-at-end-of-empty-headline): Bind 2432 * org.el (org-point-at-end-of-empty-headline): Bind
2400 case-fold-search to nil. 2433 `case-fold-search' to nil.
2401 2434
24022011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 24352011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2403 2436
@@ -2414,10 +2447,10 @@
2414 2447
2415 * org.el (org-ts-regexp-both): Add "]" to class of characters that 2448 * org.el (org-ts-regexp-both): Add "]" to class of characters that
2416 should not be matched. 2449 should not be matched.
2417 (org-ts-regexp0): 2450 (org-ts-regexp0, org-ts-regexp1): Do not start a class with
2418 (org-ts-regexp1): Do not start a class with "^]-+", because that tries 2451 "^]-+", because that tries to (not) match characters between "]"
2419 to (not) match characters between "]" and "+". Instead, move the "-" 2452 and "+". Instead, move the "-" to the end of the class where it
2420 to the end of the class where it causes no harm. 2453 causes no harm.
2421 2454
24222011-07-28 Eric Schulte <schulte.eric@gmail.com> 24552011-07-28 Eric Schulte <schulte.eric@gmail.com>
2423 2456
@@ -2428,7 +2461,7 @@
2428 2461
2429 * ob-tangle.el (org-babel-tangle-collect-blocks): Brought the link 2462 * ob-tangle.el (org-babel-tangle-collect-blocks): Brought the link
2430 extraction code into line with a newer version of the 2463 extraction code into line with a newer version of the
2431 org-store-link function. 2464 `org-store-link' function.
2432 2465
24332011-07-28 Eric Schulte <schulte.eric@gmail.com> 24662011-07-28 Eric Schulte <schulte.eric@gmail.com>
2434 2467
@@ -2440,8 +2473,8 @@
2440 2473
24412011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 24742011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2442 2475
2443 * org-list.el: move org-update-checkbox-count-maybe call outside 2476 * org-list.el: Move `org-update-checkbox-count-maybe' call outside
2444 of save-excursion to get back to original position. 2477 of ̀save-excursion' to get back to original position.
2445 2478
24462011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 24792011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2447 2480
@@ -2456,11 +2489,14 @@
2456 2489
24572011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 24902011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2458 2491
2459 * org-ascii.el (org-export-as-ascii): 2492 * org-ascii.el (org-export-as-ascii): Pass the :done-tasks
2493 property to the export preprocessor.
2460 2494
2461 * org-docbook.el (org-export-as-docbook): 2495 * org-docbook.el (org-export-as-docbook): Pass the :done-tasks
2496 property to the export preprocessor.
2462 2497
2463 * org-html.el (org-export-as-html): 2498 * org-html.el (org-export-as-html): Pass the :done-tasks property
2499 to the export preprocessor.
2464 2500
2465 * org-latex.el (org-export-as-latex): Pass the :done-tasks 2501 * org-latex.el (org-export-as-latex): Pass the :done-tasks
2466 property to the export preprocessor. 2502 property to the export preprocessor.
@@ -2482,14 +2518,14 @@
2482 2518
24832011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 25192011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2484 2520
2485 * org-list.el (org-toggle-checkbox): build value of 2521 * org-list.el (org-toggle-checkbox): Build value of
2486 org-keyword-time-regexp instead of using it directly, as it's 2522 org-keyword-time-regexp instead of using it directly, as it's
2487 buffer-local, and function might be called outside Org. 2523 buffer-local, and function might be called outside Org.
2488 2524
24892011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 25252011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2490 2526
2491 * org-list.el (org-list-struct,org-in-item-p): don't assume end of 2527 * org-list.el (org-list-struct,org-in-item-p): Don't assume end of
2492 blocks or drawers necessarily start somewhere. It it isn't the 2528 blocks or drawers necessarily start somewhere. It it isn't the
2493 case, treat them as normal text. 2529 case, treat them as normal text.
2494 2530
24952011-07-28 Eric Schulte <schulte.eric@gmail.com> 25312011-07-28 Eric Schulte <schulte.eric@gmail.com>
@@ -2505,14 +2541,14 @@
2505 2541
25062011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 25422011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2507 2543
2508 * org-list.el (org-list-checkbox): when called from an headline, 2544 * org-list.el (org-list-checkbox): When called from an headline,
2509 function would normally skip drawers, but not if a SCHEDULED or 2545 function would normally skip drawers, but not if a SCHEDULED or
2510 DEADLINE keyword is standing before the drawer. Also avoid 2546 DEADLINE keyword is standing before the drawer. Also avoid
2511 problems if function is called in buffers not is Org mode. 2547 problems if function is called in buffers not is Org mode.
2512 2548
25132011-07-28 Bastien Guerry <bzg@gnu.org> 25492011-07-28 Bastien Guerry <bzg@gnu.org>
2514 2550
2515 * org-clock.el (org-clock-report): change the scope of the 2551 * org-clock.el (org-clock-report): Change the scope of the
2516 inserted clock report depending on whether the point is within a 2552 inserted clock report depending on whether the point is within a
2517 subtree (:scope subtree) or not (:scope file). 2553 subtree (:scope subtree) or not (:scope file).
2518 2554
@@ -2542,7 +2578,7 @@
2542 2578
25432011-07-28 Bastien Guerry <bzg@gnu.org> 25792011-07-28 Bastien Guerry <bzg@gnu.org>
2544 2580
2545 * org-protocol.el (org-protocol-do-capture): allow template keys 2581 * org-protocol.el (org-protocol-do-capture): Allow template keys
2546 of two characters. 2582 of two characters.
2547 (org-protocol-default-template-key): Update the docstring to 2583 (org-protocol-default-template-key): Update the docstring to
2548 reflect the change in `org-protocol-do-capture'. 2584 reflect the change in `org-protocol-do-capture'.
@@ -2583,21 +2619,21 @@
2583 2619
25842011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 26202011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2585 2621
2586 * org-list.el (org-in-item-p): re-build org-drawer-regexp, 2622 * org-list.el (org-in-item-p): Re-build `org-drawer-regexp',
2587 whatever the major mode is. 2623 whatever the major mode is.
2588 2624
25892011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 26252011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2590 2626
2591 * org-inlinetask.el (org-inlinetask-export-templates): fix default 2627 * org-inlinetask.el (org-inlinetask-export-templates): Fix default
2592 templates. 2628 templates.
2593 (org-inlinetask-export-handler): Ensure contents of inline task, if 2629 (org-inlinetask-export-handler): Ensure contents of inline task,
2594 any, starts and ends with a newline character. Refactor and comment 2630 if any, starts and ends with a newline character. Refactor and
2595 code. 2631 comment code.
2596 2632
25972011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 26332011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2598 2634
2599 * org-capture.el (org-datetree-find-date-create): Lower-case for 2635 * org-capture.el (org-datetree-find-date-create): Lower-case for
2600 variable names in define-function form. 2636 variable names in `define-function' form.
2601 2637
26022011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 26382011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
2603 2639
@@ -2611,7 +2647,7 @@
2611 2647
26122011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 26482011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2613 2649
2614 * org-latex.el (org-export-latex-preprocess): last brace shouldn't 2650 * org-latex.el (org-export-latex-preprocess): Last brace shouldn't
2615 be on the same line as a list end marker. 2651 be on the same line as a list end marker.
2616 2652
26172011-07-28 Julien Danjou <julien@danjou.info> 26532011-07-28 Julien Danjou <julien@danjou.info>
@@ -2634,10 +2670,10 @@
2634 2670
26352011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 26712011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2636 2672
2637 * org-list.el (org-list-to-generic): set a default term for 2673 * org-list.el (org-list-to-generic): Set a default term for
2638 ill-formed description lists. Do not insert newline characters 2674 ill-formed description lists. Do not insert newline characters
2639 unless told to. 2675 unless told to.
2640 (org-list-to-texinfo,org-list-to-html): apply changes to 2676 (org-list-to-texinfo,org-list-to-html): Apply changes to
2641 `org-list-parse-liste'. 2677 `org-list-parse-liste'.
2642 2678
26432011-07-28 Bastien Guerry <bzg@gnu.org> 26792011-07-28 Bastien Guerry <bzg@gnu.org>
@@ -2662,16 +2698,16 @@
2662 2698
2663 * org-taskjuggler.el (org-taskjuggler-compute-task-leafiness): 2699 * org-taskjuggler.el (org-taskjuggler-compute-task-leafiness):
2664 Compute the leafiness of a node. 2700 Compute the leafiness of a node.
2665 (org-taskjuggler-open-task, org-export-as-taskjuggler): Mark a node as 2701 (org-taskjuggler-open-task, org-export-as-taskjuggler): Mark a
2666 a milestone if it is a leaf and has no effort. 2702 node as a milestone if it is a leaf and has no effort.
2667 2703
26682011-07-28 Christian Egli <christian.egli@alumni.ethz.ch> 27042011-07-28 Christian Egli <christian.egli@alumni.ethz.ch>
2669 2705
2670 * org-taskjuggler.el (org-export-taskjuggler-target-version): 2706 * org-taskjuggler.el (org-export-taskjuggler-target-version):
2671 (org-taskjuggler-targeting-tj3-p): Add some minimal infrastructure to 2707 (org-taskjuggler-targeting-tj3-p): Add some minimal infrastructure
2672 handle export to both tj2 and tj3. 2708 to handle export to both tj2 and tj3.
2673 (org-taskjuggler-open-task): Use a different way to purge allocations 2709 (org-taskjuggler-open-task): Use a different way to purge
2674 for tj2 and tj3. 2710 allocations for tj2 and tj3.
2675 2711
26762011-07-28 Matt Lundin <mdl@imapmail.org> 27122011-07-28 Matt Lundin <mdl@imapmail.org>
2677 2713
@@ -2800,7 +2836,7 @@
2800 2836
28012011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 28372011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2802 2838
2803 * org-list.el (org-list-parse-list): fixed regexp. 2839 * org-list.el (org-list-parse-list): Fixed regexp.
2804 2840
28052011-07-28 David Maus <dmaus@ictsoc.de> 28412011-07-28 David Maus <dmaus@ictsoc.de>
2806 2842
@@ -2833,8 +2869,8 @@
2833 2869
28342011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 28702011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2835 2871
2836 * org.el (org-fill-paragraph): fill-forward-paragraph function has 2872 * org.el (org-fill-paragraph): `fill-forward-paragraph' function
2837 been introduced with emacs 23.1. 2873 has been introduced with emacs 23.1.
2838 2874
28392011-07-28 Bastien Guerry <bzg@gnu.org> 28752011-07-28 Bastien Guerry <bzg@gnu.org>
2840 2876
@@ -2857,18 +2893,18 @@
2857 2893
28582011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 28942011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2859 2895
2860 * org.el (org-adaptive-fill-function): when a region is specified 2896 * org.el (org-adaptive-fill-function): When a region is specified
2861 first line of paragraph isn't skipped, so fill-paragraph have to 2897 first line of paragraph isn't skipped, so fill-paragraph have to
2862 be computed even if point is at an item. 2898 be computed even if point is at an item.
2863 2899
28642011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 29002011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2865 2901
2866 * org-list.el (org-list-in-valid-block-p): new function. 2902 * org-list.el (org-list-in-valid-block-p): New function.
2867 (org-at-item-p,org-list-search-generic): use new function. 2903 (org-at-item-p,org-list-search-generic): Use new function.
2868 2904
28692011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 29052011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2870 2906
2871 * org.el (org-indent-line-function): text in both a list and a 2907 * org.el (org-indent-line-function): Text in both a list and a
2872 valid block is indented with regards to current item, not to block 2908 valid block is indented with regards to current item, not to block
2873 boundaries. 2909 boundaries.
2874 2910
@@ -2894,7 +2930,7 @@
2894 * org-html.el (org-export-as-html): Bugfix: don't insert closing 2930 * org-html.el (org-export-as-html): Bugfix: don't insert closing
2895 HTML tags when exporting body only. 2931 HTML tags when exporting body only.
2896 2932
28972011-07-28 Jason Dunsmore <emacs-orgmode@deathroller.dunsmor.com> 29332011-07-28 Jason Dunsmore <emacs-orgmode@deathroller.dunsmor.com> (tiny change)
2898 2934
2899 * org.el (org-back-over-empty-lines): Bugfix. Honor 2935 * org.el (org-back-over-empty-lines): Bugfix. Honor
2900 `org-blank-before-new-entry' correctly in various contexts. 2936 `org-blank-before-new-entry' correctly in various contexts.
@@ -2906,7 +2942,7 @@
2906 2942
29072011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 29432011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2908 2944
2909 * org-timer.el (org-timer-item): save-excursion prevents 2945 * org-timer.el (org-timer-item): `save-excursion' prevents
2910 `org-list-struct' to get the list structure when point isn't on 2946 `org-list-struct' to get the list structure when point isn't on
2911 the first line of the item. 2947 the first line of the item.
2912 2948
@@ -2919,7 +2955,7 @@
29192011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 29552011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2920 2956
2921 * org-list.el (org-update-checkbox-count): Ensure cookies on an 2957 * org-list.el (org-update-checkbox-count): Ensure cookies on an
2922 heading are correctly updated when checkboxes are hidden. It 2958 heading are correctly updated when checkboxes are hidden. It
2923 allows, for example, to use C-c C-x C-b on a collapsed tree and 2959 allows, for example, to use C-c C-x C-b on a collapsed tree and
2924 still get the update. 2960 still get the update.
2925 2961
@@ -2975,19 +3011,19 @@
29752011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 30112011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2976 3012
2977 * org-inlinetask.el (org-inlinetask-promote) 3013 * org-inlinetask.el (org-inlinetask-promote)
2978 (org-inlinetask-demote): new functions. 3014 (org-inlinetask-demote): New functions.
2979 3015
29802011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 30162011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2981 3017
2982 * org.el (org-demote-subtree,org-promote-subtree): wrap 3018 * org.el (org-demote-subtree,org-promote-subtree): Wrap
2983 org-map-tree into org-with-limited-levels macro, so it avoids 3019 `org-map-tree' into `org-with-limited-levels' macro, so it avoids
2984 operating on inline tasks. 3020 operating on inline tasks.
2985 3021
29862011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 30222011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
2987 3023
2988 * org.el (org-narrow-to-subtree): ensure `org-back-to-heading' 3024 * org.el (org-narrow-to-subtree): ensure `org-back-to-heading'
2989 will move point to a real heading and not an inline task by 3025 will move point to a real heading and not an inline task by
2990 wraping function into a org-with-limited-levels macro. 3026 wraping function into a `org-with-limited-levels' macro.
2991 3027
29922011-07-28 Bastien Guerry <bzg@gnu.org> 30282011-07-28 Bastien Guerry <bzg@gnu.org>
2993 3029
@@ -3212,17 +3248,17 @@
3212 3248
32132011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 32492011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3214 3250
3215 * org-exp.el (org-export-mark-list-end): change end marker 3251 * org-exp.el (org-export-mark-list-end): Change end marker.
3216 3252
3217 * org-docbook.el (org-export-docbook-list-line): use new marker. 3253 * org-docbook.el (org-export-docbook-list-line): Use new marker.
3218 3254
3219 * org-html.el (org-html-export-list-line): use new marker 3255 * org-html.el (org-html-export-list-line): Use new marker.
3220 3256
3221 * org-latex.el (org-export-latex-lists): use new marker 3257 * org-latex.el (org-export-latex-lists): Use new marker.
3222 3258
32232011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 32592011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3224 3260
3225 * org-latex.el (org-export-latex-lists): make sure markers used 3261 * org-latex.el (org-export-latex-lists): Make sure markers used
3226 for export are taken into account by temporarily setting an 3262 for export are taken into account by temporarily setting an
3227 appropriate value for `org-list-ending-method'. 3263 appropriate value for `org-list-ending-method'.
3228 3264
@@ -3271,14 +3307,14 @@
3271 3307
32722011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 33082011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3273 3309
3274 * org.el (org-open-at-point): if a link to a radio target is the 3310 * org.el (org-open-at-point): If a link to a radio target is the
3275 first, (resp. the last), element of a buffer, function cannot find 3311 first, (resp. the last), element of a buffer, function cannot find
3276 the property change required to get its boundaries, and 3312 the property change required to get its boundaries, and
3277 `buffer-substring' is called with an invalid nil argument. 3313 `buffer-substring' is called with an invalid nil argument.
3278 3314
32792011-07-28 Bastien Guerry <bzg@gnu.org> 33152011-07-28 Bastien Guerry <bzg@gnu.org>
3280 3316
3281 * org-table.el (org-table-copy-down): fix docstring. 3317 * org-table.el (org-table-copy-down): Fix docstring.
3282 3318
32832011-07-28 Eric Schulte <schulte.eric@gmail.com> 33192011-07-28 Eric Schulte <schulte.eric@gmail.com>
3284 3320
@@ -3305,19 +3341,19 @@
3305 3341
33062011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 33422011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3307 3343
3308 * org-list.el (org-list-insert-item): when computing size of item 3344 * org-list.el (org-list-insert-item): When computing size of item
3309 being inserted, function has to take into account that indentation 3345 being inserted, function has to take into account that indentation
3310 may not only be made of spaces. 3346 may not only be made of spaces.
3311 3347
33122011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 33482011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3313 3349
3314 * org-clock.el (org-clock-find-position): if a list was adjacent 3350 * org-clock.el (org-clock-find-position): If a list was adjacent
3315 to some clocks and a drawer was going to be created, only the 3351 to some clocks and a drawer was going to be created, only the
3316 first element of the list would make it into the drawer. 3352 first element of the list would make it into the drawer.
3317 3353
33182011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 33542011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3319 3355
3320 * org-list.el (org-toggle-checkbox): fix bug where top item in 3356 * org-list.el (org-toggle-checkbox): Fix bug where top item in
3321 list was omitted when checking boxes. 3357 list was omitted when checking boxes.
3322 3358
33232011-07-28 Dan Davison <dandavison7@gmail.com> 33592011-07-28 Dan Davison <dandavison7@gmail.com>
@@ -3354,8 +3390,8 @@
3354 3390
33552011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 33912011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3356 3392
3357 * org-list (org-cycle-item-indentation): do not break an 3393 * org-list.el (org-cycle-item-indentation): Do not break an
3358 indentation cycle because visibility cycling is requested. This 3394 indentation cycle because visibility cycling is requested. This
3359 happens when an item becomes a parent, due to indentation change. 3395 happens when an item becomes a parent, due to indentation change.
3360 Not considered empty anymore, the function cannot change its 3396 Not considered empty anymore, the function cannot change its
3361 indentation again. 3397 indentation again.
@@ -3379,11 +3415,11 @@
3379 (org-babel-insert-result): Writing code block results to lists has 3415 (org-babel-insert-result): Writing code block results to lists has
3380 been updated to reflect the new list structure. 3416 been updated to reflect the new list structure.
3381 (org-babel-result-end): Remove a previous change to end-of-list 3417 (org-babel-result-end): Remove a previous change to end-of-list
3382 marker detection 3418 marker detection.
3383 3419
33842011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 34202011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3385 3421
3386 * org-list.el (org-cycle-item-indentation): each time the function 3422 * org-list.el (org-cycle-item-indentation): Each time the function
3387 moves item back to child position, a white space is added to the 3423 moves item back to child position, a white space is added to the
3388 line. 3424 line.
3389 3425
@@ -3399,9 +3435,9 @@
3399 3435
34002011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 34362011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3401 3437
3402 * org.el (org-ctrl-c-ctrl-c): call `org-list-send-list' only when 3438 * org.el (org-ctrl-c-ctrl-c): Call `org-list-send-list' only when
3403 cursor it at very first item of the list, as specified in the 3439 cursor it at very first item of the list, as specified in the
3404 manual. Also refactored the list part of the function a bit. 3440 manual. Also refactored the list part of the function a bit.
3405 3441
34062011-07-28 Bastien Guerry <bzg@gnu.org> 34422011-07-28 Bastien Guerry <bzg@gnu.org>
3407 3443
@@ -3419,606 +3455,609 @@
3419 3455
34202011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 34562011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3421 3457
3422 * org-list.el (org-toggle-checkbox, org-update-checkbox-count): no 3458 * org-list.el (org-toggle-checkbox, org-update-checkbox-count): No
3423 need to wrap org-entry-get in ignore-errors since commit 3459 need to wrap `org-entry-get' in `ignore-errors'.
3424 7dd425cc5d42fb297f547f713edfdc936f9271f0
3425 3460
34262011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 34612011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3427 3462
3428 * org.el (org-toggle-item, org-toggle-heading): make sure every 3463 * org.el (org-toggle-item, org-toggle-heading): Make sure every
3429 sub-item in a list is changed into a sub-heading and sub-headings 3464 sub-item in a list is changed into a sub-heading and sub-headings
3430 are translated into sub-items. Also ignore inline tasks in the 3465 are translated into sub-items. Also ignore inline tasks in the
3431 process. 3466 process.
3432 3467
34332011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 34682011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3434 3469
3435 * org-exp.el (org-export-select-backend-specific-text): add 3470 * org-exp.el (org-export-select-backend-specific-text): Add
3436 `original-indentation' property when replacing #+begin_backend and 3471 `original-indentation' property when replacing #+begin_backend and
3437 #+backend blocks with their content. This is needed for lists, as 3472 #+backend blocks with their content. This is needed for lists, as
3438 they must know if the block belonged to them. 3473 they must know if the block belonged to them.
3439 3474
34402011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 34752011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3441 3476
3442 * org-html.el (org-html-export-list-line): insert a newline 3477 * org-html.el (org-html-export-list-line): Insert a newline
3443 character before ending an item, as anchor could be on a line 3478 character before ending an item, as anchor could be on a line
3444 going to be deleted, like a drawer ending string. 3479 going to be deleted, like a drawer ending string.
3445 3480
3446 * org-list.el (org-list-to-html): same. 3481 * org-list.el (org-list-to-html): Same.
3447 3482
34482011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 34832011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3449 3484
3450 * org.el (org-set-autofill-regexps): use `org-item-re' in 3485 * org.el (org-set-autofill-regexps): Use `org-item-re' in
3451 `paragraph-start' to recognize alphabetical lists. 3486 `paragraph-start' to recognize alphabetical lists.
3452 (org-fill-paragraph): enforce a pre-computed fill-prefix before 3487 (org-fill-paragraph): Enforce a pre-computed fill-prefix before
3453 calling fill-paragraph when point in in an item. Also prevent 3488 calling `fill-paragraph' when point in in an item. Also prevent
3454 paragraphs getting merged into an adjacent list upon filling. 3489 paragraphs getting merged into an adjacent list upon filling.
3455 (org-adaptive-fill-function): make sure to determine real fill-prefix 3490 (org-adaptive-fill-function): Make sure to determine real
3456 for auto-fill. 3491 fill-prefix for auto-fill.
3457 (org-auto-fill-function): use a pre-computed fill-prefix before 3492 (org-auto-fill-function): Use a pre-computed fill-prefix before
3458 calling do-auto-fill. 3493 calling `do-auto-fill'.
3459 3494
3460 * org-list.el (org-list-item-body-column): new function 3495 * org-list.el (org-list-item-body-column): New function.
3461 3496
34622011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 34972011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3463 3498
3464 * org-inlinetask.el (org-inlinetask-at-task-p) 3499 * org-inlinetask.el (org-inlinetask-at-task-p)
3465 (org-inlinetask-toggle-visibility): new functions. 3500 (org-inlinetask-toggle-visibility): New functions.
3466 3501
3467 * org-list.el (org-list-set-item-visibility): new function. 3502 * org-list.el (org-list-set-item-visibility): New function.
3468 3503
3469 * org.el (org-cycle, org-cycle-internal-local): separate lists and 3504 * org.el (org-cycle, org-cycle-internal-local): Separate lists and
3470 inline tasks from headlines. 3505 inline tasks from headlines.
3471 (org-outline-level): do not consider lists as headlines. 3506 (org-outline-level): Do not consider lists as headlines. Cycling
3472 Cycling visibility is using different tools. 3507 visibility is using different tools.
3473 3508
34742011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35092011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3475 3510
3476 * org-list.el (org-list-struct): mark items less indented than top 3511 * org-list.el (org-list-struct): Mark items less indented than top
3477 item of the list, so that they will be modified. 3512 item of the list, so that they will be modified.
3478 (org-list-struct-apply-struct): compare struct's indentation with 3513 (org-list-struct-apply-struct): Compare struct's indentation with
3479 line's indentation instead of old-struct's. This is needed because 3514 line's indentation instead of old-struct's. This is needed
3480 `org-list-struct' automatically fixes indentation so changes might not 3515 because `org-list-struct' automatically fixes indentation so
3481 be seen otherwise. 3516 changes might not be seen otherwise.
3482 3517
3483 * org.el (org-ctrl-c-ctrl-c): small refactoring. 3518 * org.el (org-ctrl-c-ctrl-c): Small refactoring.
3484 3519
34852011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35202011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3486 3521
3487 * org-list.el (org-update-checkbox-count): when a part of the 3522 * org-list.el (org-update-checkbox-count): When a part of the
3488 buffer is processed to count checkboxes, lists are read from top 3523 buffer is processed to count checkboxes, lists are read from top
3489 to bottom, but inside lists (in drawers, blocks, or inline tasks) 3524 to bottom, but inside lists (in drawers, blocks, or inline tasks)
3490 are skipped. Thus, cookies cannot be updated. This patch enforces 3525 are skipped. Thus, cookies cannot be updated. This patch
3491 reading of such lists if counter is itself in a special context. 3526 enforces reading of such lists if counter is itself in a special
3527 context.
3492 3528
34932011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35292011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3494 3530
3495 * org-list.el (org-list-struct-apply-struct): inline tasks along 3531 * org-list.el (org-list-struct-apply-struct): Inline tasks along
3496 with their content must stay at column 0 even if the item is 3532 with their content must stay at column 0 even if the item is
3497 gaining indentation. Moreover, fix indentation of text in an 3533 gaining indentation. Moreover, fix indentation of text in an
3498 inline task, now it can be in such a task within a list. 3534 inline task, now it can be in such a task within a list.
3499 3535
35002011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35362011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3501 3537
3502 * org-list.el (org-at-item-p): also verify context is valid. 3538 * org-list.el (org-at-item-p): Also verify context is valid.
3503 Otherwise it would recognize valid items where org-in-item-p 3539 Otherwise it would recognize valid items where `org-in-item-p'
3504 wouldn't. 3540 wouldn't.
3505 (org-in-item-p, org-list-struct-apply-struct): use shorter version of 3541 (org-in-item-p, org-list-struct-apply-struct): Use shorter version
3506 org-at-item-p. 3542 of org-at-item-p.
3507 (org-cycle-list-bullet): fix typo. 3543 (org-cycle-list-bullet): Fix typo.
3508 (org-list-parse-list): avoid calling org-at-item-p two times by using 3544 (org-list-parse-list): Avoid calling `org-at-item-p' two times by
3509 an appropriate regexp 3545 using an appropriate regexp.
3510 3546
3511 * org.el (org-indent-line-function): use an appropriate regexp 3547 * org.el (org-indent-line-function): Use an appropriate regexp
3512 instead of calling org-at-item-p two times. 3548 instead of calling `org-at-item-p' two times.
3513 3549
35142011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35502011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3515 3551
3516 * org-list.el (org-in-item-p): When point was just after 3552 * org-list.el (org-in-item-p): When point was just after
3517 org-list-end-re, check wouldn't be done for starting line. So, if 3553 org-list-end-re, check wouldn't be done for starting line. So, if
3518 the first line was an item, it wouln't be noticed and function 3554 the first line was an item, it wouln't be noticed and function
3519 would return nil. Simplify and comment code. 3555 would return nil. Simplify and comment code.
3520 3556
35212011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35572011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3522 3558
3523 * org.el (org-toggle-item): when used on normal text, ensure every 3559 * org.el (org-toggle-item): When used on normal text, ensure every
3524 line in region is included in the new item, regardless of its 3560 line in region is included in the new item, regardless of its
3525 original indentation. 3561 original indentation.
3526 3562
35272011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35632011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3528 3564
3529 * org-list.el (org-list-struct-apply-struct): if end of list was 3565 * org-list.el (org-list-struct-apply-struct): If end of list was
3530 at eol, for example, with list inside a block, the last list 3566 at eol, for example, with list inside a block, the last list
3531 wouldn't be shifted. Thus, the patch ensures no blank lines is 3567 wouldn't be shifted. Thus, the patch ensures no blank lines is
3532 skipped. 3568 skipped.
3533 3569
35342011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35702011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3535 3571
3536 * org.el (org-toggle-item): Now accepts a prefix argument. When 3572 * org.el (org-toggle-item): Now accepts a prefix argument. When
3537 used without argument on normal text, it will make the whole 3573 used without argument on normal text, it will make the whole
3538 region one item. With an argument, it defaults to old behavior: 3574 region one item. With an argument, it defaults to old behavior:
3539 change each line in region into an item. 3575 change each line in region into an item.
3540 3576
35412011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35772011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3542 3578
3543 * org.el (org-return): when called from inside an item with the 3579 * org.el (org-return): When called from inside an item with the
3544 indent flag, function should keep text moved inside the item. This 3580 indent flag, function should keep text moved inside the item.
3545 allows to use C-j to separate lines in an item: cursor won't go 3581 This allows to use C-j to separate lines in an item: cursor won't
3546 back to column 0. 3582 go back to column 0.
3547 3583
35482011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35842011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3549 3585
3550 * org-list.el (org-list-struct): when a line has org-example 3586 * org-list.el (org-list-struct): when a line has org-example
3551 property, skip the entire block. This is needed during export, for 3587 property, skip the entire block. This is needed during export,
3552 example when src blocks in org markup contain lists, and are 3588 for example when src blocks in org markup contain lists, and are
3553 returned verbatim because org isn't in the list of interpreted 3589 returned verbatim because org isn't in the list of interpreted
3554 languages. 3590 languages.
3555 3591
35562011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35922011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3557 3593
3558 * org-list.el (org-in-item-p): handle special cases when function 3594 * org-list.el (org-in-item-p): Handle special cases when function
3559 is called with cursor amidst `org-list-end-re' or at an inline 3595 is called with cursor amidst `org-list-end-re' or at an inline
3560 task. 3596 task.
3561 3597
35622011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 35982011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3563 3599
3564 * ob.el (org-babel-result-end): apply renaming. 3600 * ob.el (org-babel-result-end): Apply renaming.
3565 3601
3566 * org-exp.el (org-export-mark-list-properties): apply renaming. 3602 * org-exp.el (org-export-mark-list-properties): Apply renaming.
3567 3603
3568 * org-list.el (org-list-prevs-alist): renamed from 3604 * org-list.el (org-list-prevs-alist): Renamed from
3569 org-list-struct-prev-alist. 3605 `org-list-struct-prev-alist'.
3570 (org-list-parents-alist): renamed from org-list-struct-parent-alist. 3606 (org-list-parents-alist): Renamed from `org-list-struct-parent-alist'.
3571 (org-list-write-struct): renamed from org-list-struct-fix-struct. 3607 (org-list-write-struct): Renamed from `org-list-struct-fix-struct'.
3572 (org-list-parse-list, org-sort-list, org-list-indent-item-generic, 3608 (org-list-parse-list, org-sort-list, org-list-indent-item-generic)
3573 org-toggle-checkbox, org-update-checkbox-count, org-cycle-list-bullet, 3609 (org-toggle-checkbox, org-update-checkbox-count)
3574 org-list-repair, org-insert-item, org-move-item-up, org-move-item-up, 3610 (org-cycle-list-bullet, org-list-repair, org-insert-item)
3575 org-move-item-down, org-next-item, org-previous-item, 3611 (org-move-item-up, org-move-item-up, org-move-item-down)
3576 org-end-of-item-list, org-beginning-of-item-list, org-apply-on-list): 3612 (org-next-item, org-previous-item, org-end-of-item-list)
3577 apply renaming. 3613 (org-beginning-of-item-list, org-apply-on-list): Apply renaming.
3578 (org-get-bullet): removed function, as it is not needed anymore. 3614 (org-get-bullet): Removed function, as it is not needed anymore.
3579 3615
35802011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 36162011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3581 3617
3582 * org-list.el (org-list-insert-item-generic): change arguments. 3618 * org-list.el (org-list-insert-item-generic): Change arguments.
3583 The function now accepts structure and previous items alist. This 3619 The function now accepts structure and previous items alist. This
3584 allow to insert an item programmatically more easily. 3620 allows to insert an item programmatically more easily.
3585 (org-insert-item): Apply changes to org-list-insert-item-generic. The 3621 (org-insert-item): Apply changes to
3586 function now takes care about repairing structure and updating 3622 `org-list-insert-item-generic'. The function now takes care about
3587 checkboxes. 3623 repairing structure and updating checkboxes.
3588 3624
3589 * org-timer.el (org-timer-item): Apply changes to 3625 * org-timer.el (org-timer-item): Apply changes to
3590 org-list-insert-item-generic. The function now takes care about 3626 `org-list-insert-item-generic'. The function now takes care about
3591 repairing structure. 3627 repairing structure.
3592 3628
35932011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 36292011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3594 3630
3595 * org-list.el (org-list-make-subtree): function now uses 3631 * org-list.el (org-list-make-subtree): Function now uses
3596 org-list-parse-list mechanism. 3632 `org-list-parse-list mechanism'.
3597 (org-list-make-subtrees): removed function. 3633 (org-list-make-subtrees): Removed function.
3598 (org-list-to-generic): added a parameter and every parameter can be a 3634 (org-list-to-generic): Added a parameter and every parameter can
3599 sexp returning a string, for finer control. 3635 be a sexp returning a string, for finer control.
3600 (org-list-to-html, org-list-to-latex, org-list-to-texinfo): slight 3636 (org-list-to-html, org-list-to-latex, org-list-to-texinfo): Slight
3601 modifications to apply changes to org-list-to-generic. 3637 modifications to apply changes to `org-list-to-generic'.
3602 (org-list-to-subtree): new function. 3638 (org-list-to-subtree): New function.
3603 3639
36042011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 36402011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3605 3641
3606 * org.el (org-beginning-of-line): apply changes to 3642 * org.el (org-beginning-of-line): Apply changes to
3607 `org-item-beginning-re' to correct sub-expression reference. 3643 `org-item-beginning-re' to correct sub-expression reference.
3608 3644
36092011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 36452011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3610 3646
3611 * org-docbook.el (org-export-docbook-list-line): even with 3647 * org-docbook.el (org-export-docbook-list-line): Even with
3612 alphabetical lists, Org shouldn't enforce a particular list type 3648 alphabetical lists, Org shouldn't enforce a particular list type
3613 to exporters. This is a job for style files. 3649 to exporters. This is a job for style files.
3614 3650
3615 * org-html.el (org-html-export-list-line): ib idem. 3651 * org-html.el (org-html-export-list-line): Ib idem.
3616 3652
36172011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 36532011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3618 3654
3619 * org-list.el (org-at-item-counter-p): new function. 3655 * org-list.el (org-at-item-counter-p): New function.
3620 (org-list-parse-list): handle counters and list depth. 3656 (org-list-parse-list): Handle counters and list depth.
3621 (org-list-to-generic): a special string is used when an item has a 3657 (org-list-to-generic): A special string is used when an item has a
3622 counter. 3658 counter.
3623 (org-list-to-latex): use new special string for counters. This fixes 3659 (org-list-to-latex): Use new special string for counters. This
3624 the counter bug in LaTeX export, as the enumi counter was the only one 3660 fixes the counter bug in LaTeX export, as the enumi counter was
3625 modified. 3661 the only one modified.
3626 3662
3627 * org-latex.el (org-export-latex-lists): use new 3663 * org-latex.el (org-export-latex-lists): Use new
3628 `org-list-parse-list' output. 3664 `org-list-parse-list' output.
3629 3665
36302011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 36662011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3631 3667
3632 * org-list.el (org-list-get-list-type): new function. 3668 * org-list.el (org-list-get-list-type): New function.
3633 (org-list-parse-list): use new function. 3669 (org-list-parse-list): Use new function.
3634 3670
3635 * org-html.el (org-html-export-list-line): use new function. 3671 * org-html.el (org-html-export-list-line): Use new function.
3636 3672
3637 * org-docbook.el (org-export-docbook-list-line): use new function. 3673 * org-docbook.el (org-export-docbook-list-line): Use new function.
3638 3674
36392011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 36752011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3640 3676
3641 * org-list.el (org-alphabetical-lists): new variable 3677 * org-list.el (org-alphabetical-lists): New variable
3642 (org-item-re, org-list-full-item, org-cycle-list-bullet, 3678 (org-item-re, org-list-full-item, org-cycle-list-bullet)
3643 org-list-struct-fix-bul, org-list-inc-bullet-maybe): reflect 3679 (org-list-struct-fix-bul, org-list-inc-bullet-maybe): Reflect
3644 introduction of the new variable. 3680 introduction of the new variable.
3645 (org-item-beginning-re): changed into a function, so any modification 3681 (org-item-beginning-re): Changed into a function, so any
3646 of `org-alphabetical-lists' will not require reloading Org. 3682 modification of `org-alphabetical-lists' will not require
3647 (org-at-item-p, org-toggle-checkbox, org-update-checkbox-count, 3683 reloading Org.
3648 org-list-parse-list, org-list-send-list): reflect changes to 3684 (org-at-item-p, org-toggle-checkbox, org-update-checkbox-count)
3685 (org-list-parse-list, org-list-send-list): Reflect changes to
3649 `org-item-beginning-re'. 3686 `org-item-beginning-re'.
3650 (org-list-use-alpha-bul-p): new function. 3687 (org-list-use-alpha-bul-p): New function.
3651 3688
3652 * org.el (org-check-for-hidden): reflect changes to 3689 * org.el (org-check-for-hidden): Reflect changes to
3653 `org-item-beginning-re'. 3690 `org-item-beginning-re'.
3654 3691
3655 * org-capture.el (org-capture-place-item): reflect changes to 3692 * org-capture.el (org-capture-place-item): Reflect changes to
3656 `org-item-beginning-re'. 3693 `org-item-beginning-re'.
3657 3694
3658 * org-docbook.el (org-export-docbook-list-line): handle new type 3695 * org-docbook.el (org-export-docbook-list-line): handle New type
3659 of items. 3696 of items.
3660 3697
3661 * org-exp.el (org-export-mark-list-end) 3698 * org-exp.el (org-export-mark-list-end)
3662 (org-export-mark-list-properties): reflect changes to 3699 (org-export-mark-list-properties): Reflect changes to
3663 `org-item-beginning-re'. 3700 `org-item-beginning-re'.
3664 3701
3665 * org-html.el (org-html-export-list-line): handle new type of 3702 * org-html.el (org-html-export-list-line): Handle new type of
3666 items. 3703 items.
3667 3704
3668 * org-latex.el (org-export-latex-lists): handle new type of items 3705 * org-latex.el (org-export-latex-lists): Handle new type of items
3669 and reflect changes to `org-item-beginning-re'. 3706 and reflect changes to `org-item-beginning-re'.
3670 3707
3671 * org-ascii.el (org-export-ascii-preprocess): handle new counters. 3708 * org-ascii.el (org-export-ascii-preprocess): Handle new counters.
3672 3709
36732011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 37102011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3674 3711
3675 * org-list.el (org-list-end-re): removed function and made it a 3712 * org-list.el (org-list-end-re): Removed function and made it a
3676 variable. There's no need for the overhead of calling the function 3713 variable. There's no need for the overhead of calling the
3677 every at every line in a list. User will have to reload Org if he 3714 function every at every line in a list. User will have to reload
3678 change value of either `org-list-end-regexp' or 3715 Org if he change value of either `org-list-end-regexp' or
3679 `org-empty-line-terminates-plain-lists'. 3716 `org-empty-line-terminates-plain-lists'.
3680 (org-in-item-p,org-list-struct,org-list-parse-list): apply change. 3717 (org-in-item-p,org-list-struct,org-list-parse-list): Apply change.
3681 3718
3682 * org-exp.el (org-export-mark-list-end) 3719 * org-exp.el (org-export-mark-list-end)
3683 (org-export-mark-list-properties): apply change 3720 (org-export-mark-list-properties): Apply change
3684 3721
3685 * org-latex.el (org-export-latex-lists): apply change. Also 3722 * org-latex.el (org-export-latex-lists): Apply change. Also
3686 prevent items with org-example property to be considered as real 3723 prevent items with org-example property to be considered as real
3687 items. 3724 items.
3688 3725
36892011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 37262011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3690 3727
3691 * org-inlinetask.el (org-inlinetask-export-templates): slightly 3728 * org-inlinetask.el (org-inlinetask-export-templates): Slightly
3692 modify templates so environment boundaries don't interfere with 3729 modify templates so environment boundaries don't interfere with
3693 content of task. Unprotect content of task so it might benefit 3730 content of task. Unprotect content of task so it might benefit
3694 from further transformations. Set original-indentation property to 3731 from further transformations. Set original-indentation property to
3695 a high value to ensure that task is always in the last item of the 3732 a high value to ensure that task is always in the last item of the
3696 list. Also, apply templates later in export process. 3733 list. Also, apply templates later in export process.
3697 3734
3698 * org-list.el (org-list-struct): fix inline task skipping. 3735 * org-list.el (org-list-struct): Fix inline task skipping.
3699 3736
37002011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 37372011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3701 3738
3702 * org-latex.el (org-export-latex-lists): Search for unprotected 3739 * org-latex.el (org-export-latex-lists): Search for unprotected
3703 items only, and redefine `org-at-item'. This change is required 3740 items only, and redefine `org-at-item'. This change is required
3704 when verbatim lists are inserted during export, usually by Babel. 3741 when verbatim lists are inserted during export, usually by Babel.
3705 3742
37062011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 37432011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3707 3744
3708 * ob.el (org-babel-result-end): end position is end of current 3745 * ob.el (org-babel-result-end): End position is end of current
3709 sublist instead of bottom point, as results might be inserted in a 3746 sublist instead of bottom point, as results might be inserted in a
3710 list themselves. 3747 list themselves.
3711 3748
37122011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 37492011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3713 3750
3714 * org-list.el (org-list-automatic-rules): removed insert rule. 3751 * org-list.el (org-list-automatic-rules): Removed insert rule.
3715 (org-list-insert-item-generic): removed code preventing user to insert 3752 (org-list-insert-item-generic): Removed code preventing user to
3716 another item in a block within a list. It is because new list context 3753 insert another item in a block within a list. It is because new
3717 make it impossible to see if a point in a block is also in a list. 3754 list context make it impossible to see if a point in a block is
3755 also in a list.
3718 3756
37192011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 37572011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3720 3758
3721 * org-exp.el (org-export-preprocess-string): mark list endings 3759 * org-exp.el (org-export-preprocess-string): Mark list endings
3722 before babel blocks preprocessing starts, so blank lines that may 3760 before babel blocks preprocessing starts, so blank lines that may
3723 be inserted do not break list's structure. Then, mark list with 3761 be inserted do not break list's structure. Then, mark list with
3724 special properties required by exporters. Thus output from babel 3762 special properties required by exporters. Thus output from babel
3725 can easily be included in lists. 3763 can easily be included in lists.
3726 (org-export-mark-list-end): new function 3764 (org-export-mark-list-end): New function.
3727 (org-export-mark-list-properties): new function 3765 (org-export-mark-list-properties): New function.
3728 (org-export-mark-lists): removed function. It was split into the two 3766 (org-export-mark-lists): Removed function. It was split into the
3729 preceding functions. 3767 two preceding functions.
3730 3768
37312011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 37692011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3732 3770
3733 * org-list.el (org-update-checkbox-count): do not recompute every 3771 * org-list.el (org-update-checkbox-count): Do not recompute every
3734 list before next heading when there are more than one cookie in an 3772 list before next heading when there are more than one cookie in an
3735 headline. Moreover, ignore the case where cookie is inserted 3773 headline. Moreover, ignore the case where cookie is inserted
3736 neither at an heading nor at an item. 3774 neither at an heading nor at an item.
3737 3775
37382011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 37762011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3739 3777
3740 * org-list.el (org-sort-list): fix number of arguments to 3778 * org-list.el (org-sort-list): Fix number of arguments to
3741 `org-list-repair', plus make end-record go to end of item before 3779 `org-list-repair', plus make `end-record' go to end of item before
3742 any blank line to keep them from being swallowed in the sorting. 3780 any blank line to keep them from being swallowed in the sorting.
3743 3781
37442011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 37822011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3745 3783
3746 * org-list.el (org-list-forbidden-blocks): variable renamed from 3784 * org-list.el (org-list-forbidden-blocks): Renamed from
3747 org-list-blocks. 3785 `org-list-blocks'.
3748 (org-list-export-context): new variable 3786 (org-list-export-context): New variable.
3749 3787
37502011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 37882011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3751 3789
3752 * org-list.el (org-list-search-generic): renamed form 3790 * org-list.el (org-list-search-generic): Renamed form
3753 org-search-unenclosed-generic to reflect now behavior. Now, match 3791 `org-search-unenclosed-generic' to reflect the new behavior. Now,
3754 can only be in a valid context for lists, as determined by 3792 match can only be in a valid context for lists, as determined by
3755 `org-list-context'. 3793 `org-list-context'.
3756 (org-list-search-backward): renamed from 3794 (org-list-search-backward): Renamed from
3757 org-search-backward-unenclosed. 3795 `org-search-backward-unenclosed'.
3758 (org-list-search-forward): renamed from org-search-forward-unenclosed. 3796 (org-list-search-forward): Renamed from
3759 (org-toggle-checkbox,org-update-checkbox-count): use new functions. 3797 `org-search-forward-unenclosed'.
3760 (org-sort-list): using default regexp search functions as context is 3798 (org-toggle-checkbox,org-update-checkbox-count): Use new
3761 not required in this case. 3799 functions.
3800 (org-sort-list): Using default regexp search functions as context
3801 is not required in this case.
3762 3802
37632011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 38032011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3764 3804
3765 * org-exp.el (org-export-mark-lists): new function, replacing 3805 * org-exp.el (org-export-mark-lists): New function, replacing
3766 org-export-mark-list-ending. It adds information as text 3806 org-export-mark-list-ending. It adds information as text
3767 properties to every list, before changes done by exporter destruct 3807 properties to every list, before changes done by exporter destruct
3768 them. 3808 them.
3769 3809
37702011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 38102011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3771 3811
3772 * org-list.el (org-list-get-first-item): new alias for 3812 * org-list.el (org-list-get-first-item): New alias for
3773 org-list-get-list-begin 3813 `org-list-get-list-begin'.
3774 (org-list-get-last-item): new function 3814 (org-list-get-last-item): New function.
3775 (org-list-get-list-end): use org-list-get-last-item 3815 (org-list-get-list-end): Use `org-list-get-last-item'.
3776 3816
37772011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 38172011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3778 3818
3779 * org.el (org-get-string-indentation): moved in generally useful 3819 * org.el (org-get-string-indentation): Moved in generally useful
3780 functions section, as it wasn't specific to plain lists and that 3820 functions section, as it wasn't specific to plain lists and that
3781 no code was using it in org-list.el. 3821 no code was using it in org-list.el.
3782 3822
37832011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 38232011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3784 3824
3785 * org.el (org-skip-over-state-notes,org-store-log-note): use new 3825 * org.el (org-skip-over-state-notes,org-store-log-note): Use new
3786 accessors. 3826 accessors.
3787 3827
37882011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 38282011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3789 3829
3790 * org-list.el (org-list-indent-item-generic): remove error 3830 * org-list.el (org-list-indent-item-generic): Remove error
3791 messages happening before process. This belongs to interactive 3831 messages happening before process. This belongs to interactive
3792 functions. 3832 functions.
3793 (org-indent-item,org-indent-item-tree) 3833 (org-indent-item,org-indent-item-tree)
3794 (org-outdent-item,org-outdent-item-tree): ensure point or region 3834 (org-outdent-item,org-outdent-item-tree): Ensure point or region
3795 is correct before computing list structure. Return an error 3835 is correct before computing list structure. Return an error
3796 message otherwise. 3836 message otherwise.
3797 3837
37982011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 38382011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3799 3839
3800 * org-list.el (org-apply-on-list): use new structures. Function is 3840 * org-list.el (org-apply-on-list): Use new structures. Function
3801 now applied in reverse order so modifications do not change 3841 is now applied in reverse order so modifications do not change
3802 positions of items in buffer. 3842 positions of items in buffer.
3803 3843
38042011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 38442011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3805 3845
3806 * org-list.el (org-list-parse-list): rewrite of function to allow 3846 * org-list.el (org-list-parse-list): Rewrite of function to allow
3807 text following a sub-list in the same item. See docstring for an 3847 text following a sub-list in the same item. See docstring for an
3808 example of output. 3848 example of output.
3809 (org-list-to-generic): use new parsing function. 3849 (org-list-to-generic): Use new parsing function.
3810 (org-list-to-latex,org-list-to-html): minor change for clearer 3850 (org-list-to-latex,org-list-to-html): Minor change for clearer
3811 export. 3851 export.
3812 3852
38132011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 38532011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3814 3854
3815 * org-list.el (org-list-has-child-p): renamed from 3855 * org-list.el (org-list-has-child-p): Renamed from
3816 org-list-get-child. Returning first child is only useful as a 3856 `org-list-get-child'. Returning first child is only useful as a
3817 predicate, as we're allowing an item to have more than one 3857 predicate, as we are allowing an item to have more than one
3818 sub-list. 3858 sub-list.
3819 (org-list-indent-item-generic): use `org-list-has-child-p' instead of 3859 (org-list-indent-item-generic): Use `org-list-has-child-p' instead
3820 org-list-get-child. 3860 of org-list-get-child.
3821 (org-in-item-p): also return item beginning when list starts at 3861 (org-in-item-p): Also return item beginning when list starts at
3822 context beginning. 3862 context beginning.
3823 (org-list-get-parent): use of `org-list-struct-parent-alist' helper 3863 (org-list-get-parent): Use of `org-list-struct-parent-alist'
3824 function is not optional anymore. 3864 helper function is not optional anymore.
3825 (org-list-get-all-items): shorten code with the help of cl.el. 3865 (org-list-get-all-items): Shorten code with the help of cl.el.
3826 (org-list-get-children): now returns all children of item, even if 3866 (org-list-get-children): Now returns all children of item, even if
3827 they do not belong to the same list. Renamed from 3867 they do not belong to the same list. Renamed from
3828 org-list-get-all-children. 3868 `org-list-get-all-children'.
3829 (org-list-get-list-begin): function wasn't return value when item was 3869 (org-list-get-list-begin): Function wasn't return value when item
3830 already the first item of the list at point. 3870 was already the first item of the list at point.
3831 (org-list-get-list-end): function wasn't return value when item was 3871 (org-list-get-list-end): Function wasn't return value when item
3832 already the last item of the list at point. 3872 was already the last item of the list at point.
3833 (org-list-struct-fix-box,org-update-checkbox-count): now uses 3873 (org-list-struct-fix-box,org-update-checkbox-count): Now uses
3834 `org-list-get-children'. 3874 `org-list-get-children'.
3835 3875
38362011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 38762011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3837 3877
3838 * org.el (org-indent-line-function): Indentation of item's body 3878 * org.el (org-indent-line-function): Indentation of item's body
3839 starts just after the bullet, not after a checkbox. Moreover, As 3879 starts just after the bullet, not after a checkbox. Moreover, As
3840 `org-in-item-p' also returns item beginning position when point is 3880 `org-in-item-p' also returns item beginning position when point is
3841 in a list, do not compute it a second time. 3881 in a list, do not compute it a second time.
3842 3882
38432011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 38832011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3844 3884
3845 * org.el (org-ctrl-c-ctrl-c): when called at a list item, replace 3885 * org.el (org-ctrl-c-ctrl-c): When called at a list item, replace
3846 usage `org-repair-list', forcing another reading of the list, with 3886 usage `org-repair-list', forcing another reading of the list, with
3847 only needed subroutines. 3887 only needed subroutines.
3848 3888
38492011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 38892011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3850 3890
3851 * org-list.el (org-list-separating-blank-lines-number): use new 3891 * org-list.el (org-list-separating-blank-lines-number): Use new
3852 accessors. 3892 accessors.
3853 (org-list-insert-item-generic): use list structures to insert a new 3893 (org-list-insert-item-generic): Use list structures to insert a
3854 item. 3894 new item.
3855 (org-list-exchange-items): refactor and comment code. Now return new 3895 (org-list-exchange-items): Refactor and comment code. Now return
3856 struct instead of modifying it, as list sorting would sometimes eat 3896 new struct instead of modifying it, as list sorting would
3857 first item. 3897 sometimes eat first item.
3858 (org-move-item-down,org-move-item-up): reflect changes to 3898 (org-move-item-down,org-move-item-up): Reflect changes to
3859 `org-list-exchange-items'. 3899 `org-list-exchange-items'.
3860 (org-insert-item): as `org-in-item-p' also computes item beginning 3900 (org-insert-item): As `org-in-item-p' also computes item beginning
3861 when applicable, reuse the result. 3901 when applicable, reuse the result.
3862 3902
38632011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 39032011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3864 3904
3865 * org-list.el (org-list-in-item-p): unify methods for this 3905 * org-list.el (org-list-in-item-p): Unify methods for this
3866 predicate. 3906 predicate.
3867 (org-list-in-item-p-with-indent): removed function 3907 (org-list-in-item-p-with-indent): Removed function.
3868 (org-list-ending-between): removed function 3908 (org-list-ending-between): Removed function.
3869 (org-list-maybe-skip-block): removed function 3909 (org-list-maybe-skip-block): Removed function.
3870 (org-list-in-item-p-with-regexp): removed function 3910 (org-list-in-item-p-with-regexp): Removed function.
3871 (org-list-top-point-with-regexp): removed function 3911 (org-list-top-point-with-regexp): Removed function.
3872 (org-list-top-point-with-indent): removed function 3912 (org-list-top-point-with-indent): Removed function.
3873 (org-list-bottom-point-with-indent): removed function 3913 (org-list-bottom-point-with-indent): Removed function.
3874 (org-list-bottom-point-with-regexp): removed function 3914 (org-list-bottom-point-with-regexp): Removed function.
3875 (org-list-get-item-same-level): removed function 3915 (org-list-get-item-same-level): Removed function.
3876 (org-list-top-point): removed function 3916 (org-list-top-point): Removed function.
3877 (org-list-bottom-point): removed function 3917 (org-list-bottom-point): Removed function.
3878 (org-get-item-beginning): renamed to org-list-get-item-begin to be 3918 (org-get-item-beginning): Renamed to `org-list-get-item-begin' to
3879 consistent with naming policy of non-interactive functions. 3919 be consistent with naming policy of non-interactive functions.
3880 (org-get-beginning-of-list): removed function 3920 (org-get-beginning-of-list): Removed function.
3881 (org-beginning-of-item-list): use new accessors 3921 (org-beginning-of-item-list): Use new accessors.
3882 (org-get-end-of-list): removed function 3922 (org-get-end-of-list): Removed function.
3883 (org-end-of-list): use new accessors 3923 (org-end-of-list): Use new accessors.
3884 (org-get-end-of-item): removed function 3924 (org-get-end-of-item): Removed function.
3885 (org-end-of-item): use new accessors 3925 (org-end-of-item): Use new accessors.
3886 (org-get-previous-item): removed function 3926 (org-get-previous-item): Removed function.
3887 (org-previous-item): use new accessors 3927 (org-previous-item): Use new accessors.
3888 (org-get-next-item): removed function 3928 (org-get-next-item): Removed function.
3889 (org-next-item): use new accessors 3929 (org-next-item): Use new accessors.
3890 (org-end-of-item-before-blank): renamed to
3891 (org-list-get-item-end-before-blank): Use new accessors. 3930 (org-list-get-item-end-before-blank): Use new accessors.
3892 3931
38932011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 39322011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3894 3933
3895 * org-list.el (org-list-repair): removed optional argument 3934 * org-list.el (org-list-repair): Removed optional argument
3896 FORCE-BULLET. The job of this interactive function is to 3935 FORCE-BULLET. The job of this interactive function is to
3897 completely fix a list at point. Changing bullets is a separate 3936 completely fix a list at point. Changing bullets is a separate
3898 task. Also removed others optional arguments TOP and BOTTOM to 3937 task. Also removed others optional arguments TOP and BOTTOM to
3899 follow the new structures. 3938 follow the new structures.
3900 (org-list-indent-item-generic): remove need for TOP and BOTTOM. STRUCT 3939 (org-list-indent-item-generic): Remove need for TOP and BOTTOM.
3901 is a new required argument. This avoids computing a list structure 3940 STRUCT is a new required argument. This avoids computing a list
3902 many times when function is called more than once in a row, for 3941 structure many times when function is called more than once in a
3903 example in org-cycle-item-indentation. Use new accessors. Now, also 3942 row, for example in `org-cycle-item-indentation'. Use new
3904 call `org-update-checkbox-count-maybe'. 3943 accessors. Now, also call `org-update-checkbox-count-maybe'.
3905 (org-outdent-item,org-indent-item,org-outdent-item-tree,org-indent-item-tree): 3944 (org-outdent-item, org-indent-item, org-outdent-item-tree)
3906 remove need for TOP and BOTTOM. 3945 (org-indent-item-tree): Remove need for TOP and BOTTOM.
3907 (org-list-insert-item-generic): reflect changes to `org-list-repair'. 3946 (org-list-insert-item-generic): Reflect changes to `org-list-repair'.
3908 (org-list-exchange-items): use new accessors. Now modify struct to 3947 (org-list-exchange-items): Use new accessors. Now modify struct
3909 avoid re-reading it later. 3948 to avoid re-reading it later.
3910 (org-move-item-down): reflect changes to `org-list-repair'. Use new 3949 (org-move-item-down): Reflect changes to `org-list-repair'. Use
3911 accessors. 3950 new accessors.
3912 (org-move-item-up): reflect changes to `org-list-repair'. Use new 3951 (org-move-item-up): Reflect changes to `org-list-repair'. Use new
3913 accessors. 3952 accessors.
3914 (org-cycle-list-bullet): use new structures. Also use a shortcut to 3953 (org-cycle-list-bullet): Use new structures. Also use a shortcut
3915 `org-list-struct-fix-struct' in order to avoid unnecessary fixes, like 3954 to `org-list-struct-fix-struct' in order to avoid unnecessary
3916 `org-list-struct-fix-box' 3955 fixes, like `org-list-struct-fix-box'
3917 (org-sort-list): use of new structures. Renamed an internal function 3956 (org-sort-list): Use of new structures. Renamed an internal
3918 for a little more clarity. 3957 function for a little more clarity.
3919 (org-cycle-item-indentation): remove dependency on org-list-repair. 3958 (org-cycle-item-indentation): Remove dependency on
3920 Use new accessors. 3959 `org-list-repair'. Use new accessors.
3921 (org-list-get-child): correct bug when asking for the child of the 3960 (org-list-get-child): Correct bug when asking for the child of the
3922 last item 3961 last item.
3923 (org-list-exchange-items): use new accessors. 3962 (org-list-exchange-items): Use new accessors.
3924 3963
39252011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 39642011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3926 3965
3927 * org-list.el (org-list-blocks): new variable 3966 * org-list.el (org-list-blocks): New variable.
3928 (org-list-context): new function 3967 (org-list-context): New function.
3929 (org-list-full-item-re): new variable 3968 (org-list-full-item-re): New variable.
3930 (org-list-struct-assoc-at-point): use new varible 3969 (org-list-struct-assoc-at-point): Use new varible.
3931 (org-list-struct): rewrite of function. Now, list data is collected by 3970 (org-list-struct): Rewrite of function. Now, list data is
3932 looking at the list line after line. It reads the whole list each time 3971 collected by looking at the list line after line. It reads the
3933 because reading only a subtree was not enough for some operations, 3972 whole list each time because reading only a subtree was not enough
3934 like fixing checkboxes. It also removes the need to get 3973 for some operations, like fixing checkboxes. It also removes the
3935 `org-list-top-point' and `org-list-bottom-point' first. An added data 3974 need to get `org-list-top-point' and `org-list-bottom-point'
3936 is the position of item ending. This aims to be able to have list 3975 first. An added data is the position of item ending. This aims
3937 followed by text inside an item. 3976 to be able to have list followed by text inside an item.
3938 (org-list-struct-assoc-end): new function 3977 (org-list-struct-assoc-end): New function.
3939 (org-list-struct-parent-alist): new function 3978 (org-list-struct-parent-alist): New function.
3940 (org-list-get-parent): new function 3979 (org-list-get-parent): New function.
3941 (org-list-get-child): new function 3980 (org-list-get-child): New function.
3942 (org-list-get-next-item): new function 3981 (org-list-get-next-item): New function.
3943 (org-list-get-prev-item): new function 3982 (org-list-get-prev-item): New function.
3944 (org-list-get-subtree): use helper function `org-list-struct-prev-alist'. 3983 (org-list-get-subtree): Use helper function `org-list-struct-prev-alist'.
3945 (org-list-get-all-items): new function 3984 (org-list-get-all-items): New function.
3946 (org-list-get-all-children): new function 3985 (org-list-get-all-children): New function.
3947 (org-list-get-top-point): new function 3986 (org-list-get-top-point): New function.
3948 (org-list-get-bottom-point): new function 3987 (org-list-get-bottom-point): New function.
3949 (org-list-get-counter): new function 3988 (org-list-get-counter): New function.
3950 (org-list-get-item-end): new function 3989 (org-list-get-item-end): New function.
3951 (org-list-struct-fix-bul): rewrite for cleaner code. Make use of new 3990 (org-list-struct-fix-bul): Rewrite for cleaner code. Make use of
3952 accessors. 3991 new accessors.
3953 (org-list-struct-fix-ind): make use of new accessors. 3992 (org-list-struct-fix-ind): Make use of new accessors.
3954 (org-list-struct-fix-box): new function 3993 (org-list-struct-fix-box): New function.
3955 (org-list-struct-fix-checkboxes): removed function 3994 (org-list-struct-fix-checkboxes): Removed function.
3956 (org-list-struct-outdent): use new accessors. Use the fact that there 3995 (org-list-struct-outdent): Use new accessors. Use the fact that
3957 is no longer a virtual item at beginning of structure. 3996 there is no longer a virtual item at beginning of structure.
3958 (org-list-struct-indent): use helper functions 3997 (org-list-struct-indent): Use helper functions
3959 `org-list-struct-prev-alist' and `org-list-struct-parent-alist'. Also 3998 `org-list-struct-prev-alist' and `org-list-struct-parent-alist'.
3960 use new accessors. 3999 Also use new accessors.
3961 (org-list-struct-fix-struct): comment function. Call directly 4000 (org-list-struct-fix-struct): Comment function. Call directly
3962 `org-list-struct-apply-struct', without removing unchanged items 4001 `org-list-struct-apply-struct', without removing unchanged items
3963 first. 4002 first.
3964 (org-list-struct-apply-struct): comment function. Rewrite using new 4003 (org-list-struct-apply-struct): Comment function. Rewrite using
3965 accessors. Use new variable `org-list-full-item-re'. 4004 new accessors. Use new variable `org-list-full-item-re'.
3966 (org-list-shift-item-indentation): removed function, now included in 4005 (org-list-shift-item-indentation): Removed function, now included
3967 `org-list-struct-apply-struct' because it is too specific. 4006 in `org-list-struct-apply-struct' because it is too specific.
3968 4007
39692011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 40082011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3970 4009
3971 * org-list.el (org-toggle-checkbox): use structures to fix 4010 * org-list.el (org-toggle-checkbox): Use structures to fix
3972 checkboxes of a list 4011 checkboxes of a list.
3973 (org-update-checkbox-count): use structures to update cookies 4012 (org-update-checkbox-count): Use structures to update cookies.
3974 4013
39752011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 40142011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3976 4015
3977 * org-list.el (org-list-struct-fix-checkboxes): new function 4016 * org-list.el (org-list-struct-fix-checkboxes): New function.
3978 (org-checkbox-blocked-p): removed function 4017 (org-checkbox-blocked-p): Removed function.
3979 4018
39802011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 40192011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
3981 4020
3982 * org-list.el (org-list-get-all-items): new function 4021 * org-list.el (org-list-get-all-items): New function.
3983 (org-list-get-all-children): new function 4022 (org-list-get-all-children): New function.
3984 (org-list-get-nth): new function 4023 (org-list-get-nth): New function.
3985 (org-list-set-nth): new function 4024 (org-list-set-nth): New function.
3986 (org-list-get-ind): new function 4025 (org-list-get-ind): New function.
3987 (org-list-set-ind): new function 4026 (org-list-set-ind): New function.
3988 (org-list-get-bullet): new function 4027 (org-list-get-bullet): New function.
3989 (org-list-set-bullet): new function 4028 (org-list-set-bullet): New function.
3990 (org-list-get-checkbox): new function 4029 (org-list-get-checkbox): New function.
3991 (org-list-set-checkbox): new function 4030 (org-list-set-checkbox): New function.
3992 (org-list-struct-fix-bul): use new accessors 4031 (org-list-struct-fix-bul): Use new accessors.
3993 (org-list-repair): use new accessors 4032 (org-list-repair): Use new accessors.
3994 (org-list-indent-item-generic): make use of accessors 4033 (org-list-indent-item-generic): Make use of accessors.
3995 (org-list-get-parent): renamed from org-list-struct-get-parent 4034 (org-list-get-parent): Renamed from `org-list-struct-get-parent'.
3996 (org-list-get-child): renamed from org-list-struct-get-child 4035 (org-list-get-child): Renamed from `org-list-struct-get-child'.
3997 (org-list-struct-fix-ind): make use of accessors 4036 (org-list-struct-fix-ind): Make use of accessors.
3998 (org-list-get-next-item): new function 4037 (org-list-get-next-item): New function.
3999 (org-list-get-subtree): new function 4038 (org-list-get-subtree): New function.
4000 4039
40012011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 40402011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
4002 4041
4003 * org-list.el (org-list-struct-assoc-at-point): add checkbox to 4042 * org-list.el (org-list-struct-assoc-at-point): Add checkbox to
4004 list structure 4043 list structure.
4005 4044
4006 * org-list.el (org-list-struct-assoc-at-point): add checkbox as 4045 * org-list.el (org-list-struct-assoc-at-point): Add checkbox as
4007 value in structure 4046 value in structure.
4008 4047
4009 * org-list.el (org-list-struct-apply-struct): also apply 4048 * org-list.el (org-list-struct-apply-struct): Also apply
4010 checkboxes 4049 checkboxes.
4011 4050
40122011-07-28 Bastien Guerry <bzg@gnu.org> 40512011-07-28 Bastien Guerry <bzg@gnu.org>
4013 4052
4014 * org-latex.el (org-export-latex-content): bind local variables 4053 * org-latex.el (org-export-latex-content): Bind local variables
4015 for export in the temporary export buffer. 4054 for export in the temporary export buffer.
4016 4055
40172011-07-28 David Maus <dmaus@ictsoc.de> 40562011-07-28 David Maus <dmaus@ictsoc.de>
4018 4057
4019 * org-protocol.el (org-protocol-unhex-single-byte-sequence) 4058 * org-protocol.el (org-protocol-unhex-single-byte-sequence)
4020 (org-protocol-unhex-string, org-protocol-unhex-compound): Change date 4059 (org-protocol-unhex-string, org-protocol-unhex-compound): Change
4021 of obsolete declaration to 2011-02-17. 4060 date of obsolete declaration to 2011-02-17.
4022 4061
40232011-07-28 David Maus <dmaus@ictsoc.de> 40622011-07-28 David Maus <dmaus@ictsoc.de>
4024 4063
@@ -4116,10 +4155,10 @@
4116 4155
41172011-07-28 Bastien Guerry <bzg@gnu.org> 41562011-07-28 Bastien Guerry <bzg@gnu.org>
4118 4157
4119 * org-publish.el (org-publish-cache-ctime-of-src): improve 4158 * org-publish.el (org-publish-cache-ctime-of-src): Improve
4120 docstring. 4159 docstring.
4121 (org-publish-find-title): New option to explicitly reset the 4160 (org-publish-find-title): New option to explicitly reset the title
4122 title in the cache. 4161 in the cache.
4123 (org-publish-format-file-entry): Use this new option. 4162 (org-publish-format-file-entry): Use this new option.
4124 4163
41252011-07-28 Dan Davison <dandavison7@gmail.com> 41642011-07-28 Dan Davison <dandavison7@gmail.com>
@@ -4131,19 +4170,20 @@
41312011-07-28 Dan Davison <dandavison7@gmail.com> 41702011-07-28 Dan Davison <dandavison7@gmail.com>
4132 4171
4133 * org-exp.el (org-export-format-source-code-or-example): Allow 4172 * org-exp.el (org-export-format-source-code-or-example): Allow
4134 empty string as second element in minted/listings options 4173 empty string as second element in minted/listings options.
4135 4174
41362011-07-28 Dan Davison <dandavison7@gmail.com> 41752011-07-28 Dan Davison <dandavison7@gmail.com>
4137 4176
4138 * org-exp.el (org-export-format-source-code-or-example): Support 4177 * org-exp.el (org-export-format-source-code-or-example): Support
4139 new user-customizable options 4178 new user-customizable options.
4140 (org-export-latex-custom-lang-environments): Ensure new variable is defined 4179 (org-export-latex-custom-lang-environments): Ensure new variable
4141 (org-export-latex-listings-options): Ensure new variable is defined 4180 is defined.
4142 (org-export-latex-minted-options): Ensure new variable is defined 4181 (org-export-latex-listings-options): Ensure new variable is defined.
4182 (org-export-latex-minted-options): Ensure new variable is defined.
4143 4183
41442011-07-28 Bastien Guerry <bzg@gnu.org> 41842011-07-28 Bastien Guerry <bzg@gnu.org>
4145 4185
4146 * org-html.el (org-export-as-html): handle the case when 4186 * org-html.el (org-export-as-html): Handle the case when
4147 `org-export-html-validation-link' is nil to keep backward 4187 `org-export-html-validation-link' is nil to keep backward
4148 compatible with the old default value of this variable. 4188 compatible with the old default value of this variable.
4149 4189
@@ -4152,28 +4192,22 @@
4152 * ob.el (org-babel-insert-result): Don't choke if indent is not a 4192 * ob.el (org-babel-insert-result): Don't choke if indent is not a
4153 number. 4193 number.
4154 4194
41552011-07-28 Bastien Guerry <bzg@gnu.org>
4156
4157 * 2011
4158 ** 2011-02 monthname
4159 *** 2011-02-13 dayname
4160
41612011-07-28 Christian Moe <mail@christianmoe.com> (tiny change) 41952011-07-28 Christian Moe <mail@christianmoe.com> (tiny change)
4162 4196
4163 * org-bbdb.el (org-bbdb-export): When a link description has been 4197 * org-bbdb.el (org-bbdb-export): When a link description has been
4164 added by org-export-normalize-links, use path instead (remove the 4198 added by `org-export-normalize-links', use path instead (remove
4165 `bbdb:' prefix). 4199 the `bbdb:' prefix).
4166 4200
41672011-07-28 Bastien Guerry <bzg@gnu.org> 42012011-07-28 Bastien Guerry <bzg@gnu.org>
4168 4202
4169 * org-ascii.el (org-export-ascii-underline): Put the level's 4203 * org-ascii.el (org-export-ascii-underline): Put the level's
4170 characters in the right order, as documented by the docstring. 4204 characters in the right order, as documented by the docstring.
4171 (org-ascii-level-start): select the right char for underlining 4205 (org-ascii-level-start): Select the right char for underlining
4172 headlines. 4206 headlines.
4173 4207
41742011-07-28 Bastien Guerry <bzg@gnu.org> 42082011-07-28 Bastien Guerry <bzg@gnu.org>
4175 4209
4176 * org-src.el (org-edit-src-code): allow to edit source code from 4210 * org-src.el (org-edit-src-code): Allow to edit source code from
4177 modes derived from Org. 4211 modes derived from Org.
4178 4212
41792011-07-28 Niels Giesen <niels.giesen@gmail.com> 42132011-07-28 Niels Giesen <niels.giesen@gmail.com>
@@ -4194,8 +4228,7 @@
4194 Send a message when no entry is marked. 4228 Send a message when no entry is marked.
4195 (org-agenda-bulk-action): Fix bug about scattering deadlines. 4229 (org-agenda-bulk-action): Fix bug about scattering deadlines.
4196 Send an error when trying to scatter outside an agenda or a 4230 Send an error when trying to scatter outside an agenda or a
4197 timeline view. Silently fail when trying to scatter sexp 4231 timeline view. Silently fail when trying to scatter sexp entries.
4198 entries.
4199 4232
42002011-07-28 Bastien Guerry <bzg@gnu.org> 42332011-07-28 Bastien Guerry <bzg@gnu.org>
4201 4234
@@ -4226,11 +4259,12 @@
4226 4259
4227 * org-src.el (org-edit-src-code): When generating the code edit 4260 * org-src.el (org-edit-src-code): When generating the code edit
4228 buffer, it is necessary for several variables to inherit their 4261 buffer, it is necessary for several variables to inherit their
4229 values from the parent org buffer. These changes collect all such 4262 values from the parent org buffer. These changes collect all such
4230 variables together into a single association list of 4263 variables together into a single association list of
4231 (variable-name value) pairs. In addition, a new variable is added 4264 `(variable-name value)' pairs. In addition, a new variable is
4232 to the list: `org-edit-src-content-indentation'. This has the 4265 added to the list: `org-edit-src-content-indentation'. This has
4233 effect that a buffer local value can be used for that variable. 4266 the effect that a buffer local value can be used for that
4267 variable.
4234 4268
42352011-07-28 Dan Davison <dandavison7@gmail.com> 42692011-07-28 Dan Davison <dandavison7@gmail.com>
4236 4270
@@ -4253,12 +4287,12 @@
42532011-07-28 Dan Davison <dandavison7@gmail.com> 42872011-07-28 Dan Davison <dandavison7@gmail.com>
4254 4288
4255 * org.el (org-open-at-point): Fix bug when using prefix arg to 4289 * org.el (org-open-at-point): Fix bug when using prefix arg to
4256 construct `org-link-search' call. Rename prefix arg with a more 4290 construct `org-link-search' call. Rename prefix arg with a more
4257 generic name, to reflect its diverse uses in this function. 4291 generic name, to reflect its diverse uses in this function.
4258 4292
42592011-07-28 Rémi Vanicat <vanicat@debian.org> 42932011-07-28 Rémi Vanicat <vanicat@debian.org>
4260 4294
4261 * org-icalendar.el (org-icalendar-use-UTC-date-time): remove. 4295 * org-icalendar.el (org-icalendar-use-UTC-date-time): Remove.
4262 (org-icalendar-date-time-format): New custom variable. 4296 (org-icalendar-date-time-format): New custom variable.
4263 (org-icalendar-use-UTC-date-timep): New function. 4297 (org-icalendar-use-UTC-date-timep): New function.
4264 (org-ical-ts-to-string): Use the new variable. 4298 (org-ical-ts-to-string): Use the new variable.
@@ -4275,25 +4309,25 @@
4275 4309
42762011-07-28 Bastien <bastien.guerry@wikimedia.fr> 43102011-07-28 Bastien <bastien.guerry@wikimedia.fr>
4277 4311
4278 * org-capture.el (org-capture-templates): document currentfile for 4312 * org-capture.el (org-capture-templates): Document "currentfile"
4279 capture template. 4313 for capture template.
4280 (org-capture-templates): Allow to use currentfile for capture 4314 (org-capture-templates): Allow to use currentfile for capture
4281 templates. 4315 templates.
4282 (org-capture-set-target-location): Handle currentfile as a way 4316 (org-capture-set-target-location): Handle currentfile as a way to
4283 to setting the capture buffer. 4317 setting the capture buffer.
4284 4318
42852011-07-28 Bastien Guerry <bzg@gnu.org> 43192011-07-28 Bastien Guerry <bzg@gnu.org>
4286 4320
4287 * ob.el (org-babel-params-from-properties): don't wrap 4321 * ob.el (org-babel-params-from-properties): Don't wrap
4288 org-entry-get into condition-case. 4322 `org-entry-get' into `condition-case'.
4289 4323
42902011-07-28 Dan Davison <dandavison7@gmail.com> 43242011-07-28 Dan Davison <dandavison7@gmail.com>
4291 4325
4292 * org.el (org-entry-get): Don't look for a property drawer if we 4326 * org.el (org-entry-get): Don't look for a property drawer if we
4293 are before the first heading in the file. 4327 are before the first heading in the file.
4294 (org-entry-get-with-inheritance): Don't attempt to move up the tree if 4328 (org-entry-get-with-inheritance): Don't attempt to move up the
4295 we are before the first heading in the file. Also, enclose less of the 4329 tree if we are before the first heading in the file. Also,
4296 function in the save-excursion. 4330 enclose less of the function in the `save-excursion'.
4297 4331
42982011-07-28 Dan Davison <dandavison7@gmail.com> 43322011-07-28 Dan Davison <dandavison7@gmail.com>
4299 4333
@@ -4313,37 +4347,37 @@
4313 4347
43142011-07-28 Bastien Guerry <bzg@gnu.org> 43482011-07-28 Bastien Guerry <bzg@gnu.org>
4315 4349
4316 * org-info.el (org-info-store-link): use "#" to separate the info 4350 * org-info.el (org-info-store-link): Use "#" to separate the info
4317 file and the node. 4351 file and the node.
4318 (org-info-follow-link): use both "#" to separate the info file 4352 (org-info-follow-link): Use both "#" to separate the info file and
4319 and the node. Continue to use ":" for backward compatibility. 4353 the node. Continue to use ":" for backward compatibility.
4320 4354
43212011-07-28 Bastien Guerry <bzg@gnu.org> 43552011-07-28 Bastien Guerry <bzg@gnu.org>
4322 4356
4323 * org-icalendar.el (org-icalendar-honor-noexport-tag): New custom 4357 * org-icalendar.el (org-icalendar-honor-noexport-tag): New custom
4324 variable. 4358 variable.
4325 (org-print-icalendar-entries): Use this new variable to 4359 (org-print-icalendar-entries): Use this new variable to prevent
4326 prevent export of entries with a :noexport: tag. 4360 export of entries with a :noexport: tag.
4327 4361
43282011-07-28 Bastien Guerry <bzg@gnu.org> 43622011-07-28 Bastien Guerry <bzg@gnu.org>
4329 4363
4330 * org-exp.el (org-export-initial-scope): new custom variable. 4364 * org-exp.el (org-export-initial-scope): New custom variable.
4331 (org-export): Use this new variable. If there is an active 4365 (org-export): Use this new variable. If there is an active
4332 region, tell it when prompting the user for an export command. 4366 region, tell it when prompting the user for an export command.
4333 Also change the way the function handles selection of buffer 4367 Also change the way the function handles selection of buffer and
4334 and subtree export. 4368 subtree export.
4335 4369
43362011-07-28 Bastien Guerry <bzg@gnu.org> 43702011-07-28 Bastien Guerry <bzg@gnu.org>
4337 4371
4338 * org-html.el (org-export-html-auto-preamble) 4372 * org-html.el (org-export-html-auto-preamble)
4339 (org-export-html-auto-postamble): Remove. 4373 (org-export-html-auto-postamble): Remove.
4340 (org-export-html-preamble, org-export-html-postamble): Turn 4374 (org-export-html-preamble, org-export-html-postamble): Turn into
4341 into custom variables. Update the docstrings. 4375 custom variables. Update the docstrings.
4342 (org-export-html-preamble-format) 4376 (org-export-html-preamble-format)
4343 (org-export-html-postamble-format): New custom variables. 4377 (org-export-html-postamble-format): New custom variables.
4344 (org-export-as-html): Use org-export-html-postamble-format and 4378 (org-export-as-html): Use `org-export-html-postamble-format' and
4345 org-export-html-preamble-format. 4379 `org-export-html-preamble-format'.
4346 (org-export-html-title-format): delete. 4380 (org-export-html-title-format): Delete.
4347 4381
43482011-07-28 Eric Schulte <schulte.eric@gmail.com> 43822011-07-28 Eric Schulte <schulte.eric@gmail.com>
4349 4383
@@ -4360,14 +4394,14 @@
43602011-07-28 Manuel Giraud <manuel.giraud@univ-nantes.fr> 43942011-07-28 Manuel Giraud <manuel.giraud@univ-nantes.fr>
4361 4395
4362 * org-publish.el (org-publish-sitemap-date-format) 4396 * org-publish.el (org-publish-sitemap-date-format)
4363 (org-publish-sitemap-file-entry-format): new custom variables. 4397 (org-publish-sitemap-file-entry-format): New custom variables.
4364 (org-publish-projects): use these variables to format the sitemap 4398 (org-publish-projects): Use these variables to format the sitemap
4365 entries. 4399 entries.
4366 4400
43672011-07-28 Ulf Stegemann <ulf-news@zeitform.de> 44012011-07-28 Ulf Stegemann <ulf-news@zeitform.de>
4368 4402
4369 * org-gnus.el (org-gnus-store-link): Allow org-link creation from 4403 * org-gnus.el (org-gnus-store-link): Allow `org-link' creation
4370 message-mode. 4404 from `message-mode'.
4371 4405
43722011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 44062011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
4373 4407
@@ -4377,21 +4411,21 @@
4377 4411
43782011-07-28 Julien Danjou <julien@danjou.info> 44122011-07-28 Julien Danjou <julien@danjou.info>
4379 4413
4380 * org-agenda.el (org-agenda): Kill all local variables. This 4414 * org-agenda.el (org-agenda): Kill all local variables. This
4381 assures we are not keeping buffer variable from an old agenda view 4415 assures we are not keeping buffer variable from an old agenda view
4382 when switching to a new custom agenda. 4416 when switching to a new custom agenda.
4383 4417
43842011-07-28 Julien Danjou <julien@danjou.info> 44182011-07-28 Julien Danjou <julien@danjou.info>
4385 4419
4386 * org-crypt.el (org-encrypt-string): New function. 4420 * org-crypt.el (org-encrypt-string): New function.
4387 (org-encrypt-entry): Use org-encrypt-string to encrypt, so we use cached 4421 (org-encrypt-entry): Use org-encrypt-string to encrypt, so we use
4388 crypted values. 4422 cached crypted values.
4389 (org-decrypt-entry): Store crypted text in decrypted text. 4423 (org-decrypt-entry): Store crypted text in decrypted text.
4390 4424
43912011-07-28 Dan Davison <dandavison7@gmail.com> 44252011-07-28 Dan Davison <dandavison7@gmail.com>
4392 4426
4393 * ob-exp.el (org-babel-exp-lob-one-liners): Only replace the match 4427 * ob-exp.el (org-babel-exp-lob-one-liners): Only replace the match
4394 if a non-nil result is returned 4428 if a non-nil result is returned.
4395 4429
43962011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 44302011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
4397 4431
@@ -4400,7 +4434,7 @@
4400 4434
44012011-07-28 Bastien Guerry <bzg@gnu.org> 44352011-07-28 Bastien Guerry <bzg@gnu.org>
4402 4436
4403 * org.el (org-update-parent-todo-statistics): fix bug when 4437 * org.el (org-update-parent-todo-statistics): Fix bug when
4404 updating statistics from the column view. 4438 updating statistics from the column view.
4405 4439
44062011-07-28 Bastien Guerry <bzg@gnu.org> 44402011-07-28 Bastien Guerry <bzg@gnu.org>
@@ -4419,11 +4453,12 @@
44192011-07-28 Julien Danjou <julien@danjou.info> 44532011-07-28 Julien Danjou <julien@danjou.info>
4420 4454
4421 * org-faces.el (org-special-keyword): Make it inherited from 4455 * org-faces.el (org-special-keyword): Make it inherited from
4422 font-lock-keyword-face. 4456 `font-lock-keyword-face'.
4423 4457
44242011-07-28 Julien Danjou <julien@danjou.info> 44582011-07-28 Julien Danjou <julien@danjou.info>
4425 4459
4426 * org-faces.el (org-link): Make org-link inherits from link face. 4460 * org-faces.el (org-link): Make `org-link' inherits from `link'
4461 face.
4427 4462
44282011-07-28 Bastien Guerry <bzg@gnu.org> 44632011-07-28 Bastien Guerry <bzg@gnu.org>
4429 4464
@@ -4450,10 +4485,10 @@
4450 * org-latex.el (org-export-latex-emph-format): Don't use 4485 * org-latex.el (org-export-latex-emph-format): Don't use
4451 `org-export-latex-use-verb'. Remove this variable. 4486 `org-export-latex-use-verb'. Remove this variable.
4452 4487
44532011-07-28 Jason Dunsmore <emacs-orgmode@dunsmor.com> 44882011-07-28 Jason Dunsmore <emacs-orgmode@dunsmor.com> (tiny change)
4454 4489
4455 * org-html.el (org-html-handle-time-stamps): fix bug when exporing 4490 * org-html.el (org-html-handle-time-stamps): Fix bug when
4456 inactive timestamps. 4491 exporting inactive timestamps.
4457 4492
44582011-07-28 Bastien Guerry <bzg@gnu.org> 44932011-07-28 Bastien Guerry <bzg@gnu.org>
4459 4494
@@ -4466,8 +4501,7 @@
4466 4501
44672011-07-28 Bastien Guerry <bzg@gnu.org> 45022011-07-28 Bastien Guerry <bzg@gnu.org>
4468 4503
4469 * org-archive.el (org-archive-save-context-info): Fix docstring 4504 * org-archive.el (org-archive-save-context-info): Fix docstring.
4470 typo.
4471 4505
44722011-07-28 Julien Danjou <julien@danjou.info> 45062011-07-28 Julien Danjou <julien@danjou.info>
4473 4507
@@ -4478,8 +4512,8 @@
4478 4512
44792011-07-28 Julien Danjou <julien@danjou.info> 45132011-07-28 Julien Danjou <julien@danjou.info>
4480 4514
4481 * org-agenda.el (org-agenda-list): Use org-agenda-current-span as 4515 * org-agenda.el (org-agenda-list): Use `org-agenda-current-span'
4482 a possible default span if it is set. 4516 as a possible default span if it is set.
4483 4517
44842011-07-28 Dan Davison <dandavison7@gmail.com> 45182011-07-28 Dan Davison <dandavison7@gmail.com>
4485 4519
@@ -4487,29 +4521,17 @@
4487 (org-edit-src-code): Get rid of help message in echo area. 4521 (org-edit-src-code): Get rid of help message in echo area.
4488 4522
4489 * ob.el (org-babel-do-in-edit-buffer): Do not pass 'quietly 4523 * ob.el (org-babel-do-in-edit-buffer): Do not pass 'quietly
4490 argument to org-edit-src-code as this has been removed 4524 argument to org-edit-src-code as this has been removed.
4491 4525
44922011-07-28 Bastien Guerry <bzg@gnu.org> 45262011-07-28 Bastien Guerry <bzg@gnu.org>
4493 4527
4494 * org-latex.el (org-export-latex-emphasis-alist): use 4528 * org-latex.el (org-export-latex-emphasis-alist): Use
4495 \protectedtexttt for the =...= emphasis and \verb for the ~...~ 4529 \protectedtexttt for the =...= emphasis and \verb for the ~...~
4496 emphasis. 4530 emphasis.
4497 (org-export-latex-use-verb): now defaults to t. 4531 (org-export-latex-use-verb): Now defaults to t.
4498 (org-export-latex-emph-format): distinguish between =...= and 4532 (org-export-latex-emph-format): Distinguish between =...= and
4499 ~...~ emphasis. 4533 ~...~ emphasis.
4500 4534
45012011-07-28 David Maus <dmaus@ictsoc.de>
4502
4503 * test-org-html.el (test-org-html/export-link-alist): New
4504 variable. Abstract link export test definition.
4505 (test-org-html/export-link-factory): New function. Create tests for
4506 link export.
4507
45082011-07-28 David Maus <dmaus@ictsoc.de>
4509
4510 * org-test.el (org-test-strip-text-props): New function. Strip
4511 text properties.
4512
45132011-07-28 Julien Danjou <julien@danjou.info> 45352011-07-28 Julien Danjou <julien@danjou.info>
4514 4536
4515 * org.el (org-link-expand-abbrev): Allow any type of character in 4537 * org.el (org-link-expand-abbrev): Allow any type of character in
@@ -4521,12 +4543,12 @@
4521 4543
45222011-07-28 Dan Davison <dandavison7@gmail.com> 45442011-07-28 Dan Davison <dandavison7@gmail.com>
4523 4545
4524 * ob-ref.el (org-babel-ref-resolve): save-window-excursion when 4546 * ob-ref.el (org-babel-ref-resolve): `save-window-excursion' when
4525 resolving references. 4547 resolving references.
4526 4548
45272011-07-28 Bastien Guerry <bzg@gnu.org> 45492011-07-28 Bastien Guerry <bzg@gnu.org>
4528 4550
4529 * org-html.el (org-export-html-html-helper-timestamp): use <hr/> 4551 * org-html.el (org-export-html-html-helper-timestamp): Use <hr/>
4530 instead of <hr> to keep w3c validator happy. 4552 instead of <hr> to keep w3c validator happy.
4531 4553
45322011-07-28 Dan Davison <dandavison7@gmail.com> 45542011-07-28 Dan Davison <dandavison7@gmail.com>
@@ -4542,8 +4564,8 @@
4542 4564
45432011-07-28 Eric Schulte <schulte.eric@gmail.com> 45652011-07-28 Eric Schulte <schulte.eric@gmail.com>
4544 4566
4545 * ob.el (org-babel-result-end): Replace call to org-in-item-p to 4567 * ob.el (org-babel-result-end): Replace call to `org-in-item-p' to
4546 the more specific org-at-item-p. 4568 the more specific `org-at-item-p'.
4547 4569
45482011-07-28 Eric Schulte <schulte.eric@gmail.com> 45702011-07-28 Eric Schulte <schulte.eric@gmail.com>
4549 4571
@@ -4595,17 +4617,18 @@
45952011-07-28 Dan Davison <dandavison7@gmail.com> 46172011-07-28 Dan Davison <dandavison7@gmail.com>
4596 4618
4597 * org-latex.el (org-export-as-latex): Process export property list 4619 * org-latex.el (org-export-as-latex): Process export property list
4598 with `org-export-process-option-filters' early in latex export 4620 with `org-export-process-option-filters' early in latex export.
4599 4621
46002011-07-28 Julien Danjou <julien@danjou.info> 46222011-07-28 Julien Danjou <julien@danjou.info>
4601 4623
4602 * org.el: Remove org-invisible-p: outline-invisible-p is available 4624 * org.el: Remove `org-invisible-p': `outline-invisible-p' is
4603 in Emacs 22 and in recent XEmacs 21. Replace in various files. 4625 available in Emacs 22 and in recent XEmacs 21. Replace in various
4626 files.
4604 4627
46052011-07-28 Julien Danjou <julien@danjou.info> 46282011-07-28 Julien Danjou <julien@danjou.info>
4606 4629
4607 * org-agenda.el (org-agenda-get-progress): Fix regexp for statep: 4630 * org-agenda.el (org-agenda-get-progress): Fix regexp for statep:
4608 it must has \\ at the end of the line. This avoid matching the 4631 it must has \\ at the end of the line. This avoid matching the
4609 following heading when there's no newline between the logged state 4632 following heading when there's no newline between the logged state
4610 and the next heading. 4633 and the next heading.
4611 4634
@@ -4615,11 +4638,10 @@
4615 4638
46162011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 46392011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
4617 4640
4618 * org.el (org-current-level): 4641 * org.el (org-current-level, org-store-link, org-mark-subtree):
4619 (org-store-link): 4642 Use `org-with-limited-levels'.
4620 (org-mark-subtree): Use `org-with-limited-levels'.
4621 4643
46222011-07-28 Jan Seeger <jan.seeger@thenybble.de> 46442011-07-28 Jan Seeger <jan.seeger@thenybble.de> (tiny change)
4623 4645
4624 * org-publish.el (org-publish-get-base-files): Add sitemap file. 4646 * org-publish.el (org-publish-get-base-files): Add sitemap file.
4625 4647
@@ -4657,7 +4679,7 @@
46572011-07-28 Julien Danjou <julien@danjou.info> 46792011-07-28 Julien Danjou <julien@danjou.info>
4658 4680
4659 * org-agenda.el (org-agenda-get-blocks): Fix time of start/end of 4681 * org-agenda.el (org-agenda-get-blocks): Fix time of start/end of
4660 events with range. This display things like: <2011-01-22 Sat 4682 events with range. This display things like: <2011-01-22 Sat
4661 14:00>--<2011-01-23 Sun 20:00> correctly, with the event starting 4683 14:00>--<2011-01-23 Sun 20:00> correctly, with the event starting
4662 at 14:00 and ending at 20:00. 4684 at 14:00 and ending at 20:00.
4663 4685
@@ -4669,7 +4691,7 @@
4669 4691
46702011-07-28 Dan Davison <dandavison7@gmail.com> 46922011-07-28 Dan Davison <dandavison7@gmail.com>
4671 4693
4672 * ob.el (org-babel-merge-params): docstring typo. 4694 * ob.el (org-babel-merge-params): Docstring typo.
4673 4695
46742011-07-28 Dan Davison <dandavison7@gmail.com> 46962011-07-28 Dan Davison <dandavison7@gmail.com>
4675 4697
@@ -4679,11 +4701,11 @@
46792011-07-28 Dan Davison <dandavison7@gmail.com> 47012011-07-28 Dan Davison <dandavison7@gmail.com>
4680 4702
4681 * ob.el (org-babel-get-src-block-info): Alter order of merge 4703 * ob.el (org-babel-get-src-block-info): Alter order of merge
4682 arguments 4704 arguments.
4683 4705
46842011-07-28 Dan Davison <dandavison7@gmail.com> 47062011-07-28 Dan Davison <dandavison7@gmail.com>
4685 4707
4686 * ob-python.el: Test whether non-nil buffer is #<killed buffer> 4708 * ob-python.el: Test whether non-nil buffer is #<killed buffer>.
4687 4709
46882011-07-28 Eric Schulte <schulte.eric@gmail.com> 47102011-07-28 Eric Schulte <schulte.eric@gmail.com>
4689 4711
@@ -4715,12 +4737,12 @@
4715 4737
4716 * org-exp.el (org-export-handle-include-files): Support :lines 4738 * org-exp.el (org-export-handle-include-files): Support :lines
4717 property. 4739 property.
4718 (org-get-file-contents): New argument lines to include specify a range 4740 (org-get-file-contents): New argument lines to include specify a
4719 of lines to include. 4741 range of lines to include.
4720 4742
47212011-07-28 Bastien Guerry <bzg@gnu.org> 47432011-07-28 Bastien Guerry <bzg@gnu.org>
4722 4744
4723 * org.el (org-fast-tag-selection): Fix bug when assigning keys 4745 * org.el (org-fast-tag-selection): Fix bug when assigning keys.
4724 4746
47252011-07-28 Lawrence Mitchell <wence@gmx.li> 47472011-07-28 Lawrence Mitchell <wence@gmx.li>
4726 4748
@@ -4733,9 +4755,9 @@
4733 4755
47342011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 47562011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
4735 4757
4736 * org-complete.el (pcomplete/org-mode/link): 4758 * org-complete.el (pcomplete/org-mode/link)
4737 (pcomplete/org-mode/todo): 4759 (pcomplete/org-mode/todo, pcomplete/org-mode/prop): Copy list
4738 (pcomplete/org-mode/prop): Copy list before uniquifying. 4760 before uniquifying.
4739 4761
47402011-07-28 Eric Schulte <schulte.eric@gmail.com> 47622011-07-28 Eric Schulte <schulte.eric@gmail.com>
4741 4763
@@ -4746,15 +4768,15 @@
4746 4768
47472011-07-28 Bastien Guerry <bzg@gnu.org> 47692011-07-28 Bastien Guerry <bzg@gnu.org>
4748 4770
4749 * org.el (org-refile-check-position): send a more explicit message 4771 * org.el (org-refile-check-position): Send a more explicit message
4750 on how to clear the cache before refiling again. 4772 on how to clear the cache before refiling again.
4751 4773
47522011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 47742011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
4753 4775
4754 * org-agenda.el (org-agenda-skip-function-global): New option. 4776 * org-agenda.el (org-agenda-skip-function-global): New option.
4755 (org-agenda-skip-eval): New function. 4777 (org-agenda-skip-eval): New function.
4756 (org-agenda-skip): Use `org-agenda-skip-eval' and also check for the 4778 (org-agenda-skip): Use `org-agenda-skip-eval' and also check for
4757 global skipping condition. 4779 the global skipping condition.
4758 4780
47592011-07-28 David Maus <dmaus@ictsoc.de> 47812011-07-28 David Maus <dmaus@ictsoc.de>
4760 4782
@@ -4772,10 +4794,6 @@
4772 * ob.el (org-babel-update-block-body): Literal argument to 4794 * ob.el (org-babel-update-block-body): Literal argument to
4773 `replace-match' to allow insertion of text containing '\'. 4795 `replace-match' to allow insertion of text containing '\'.
4774 4796
47752011-07-28 Tassilo Horn <tassilo@member.fsf.org>
4776
4777 * org-gnus.el (org-gnus-store-link):
4778
47792011-07-28 Eric Schulte <schulte.eric@gmail.com> 47972011-07-28 Eric Schulte <schulte.eric@gmail.com>
4780 4798
4781 * ob-ref.el (org-babel-ref-parse): Allow passing empty strings 4799 * ob-ref.el (org-babel-ref-parse): Allow passing empty strings
@@ -4795,7 +4813,7 @@
47952011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 48132011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
4796 4814
4797 * org.el (org-sort-entries): Fix sorting with a bold emphasis at 4815 * org.el (org-sort-entries): Fix sorting with a bold emphasis at
4798 bol 4816 bol.
4799 4817
48002011-07-28 Eric Schulte <schulte.eric@gmail.com> 48182011-07-28 Eric Schulte <schulte.eric@gmail.com>
4801 4819
@@ -4810,8 +4828,8 @@
48102011-07-28 Eric Schulte <schulte.eric@gmail.com> 48282011-07-28 Eric Schulte <schulte.eric@gmail.com>
4811 4829
4812 * ob.el (org-babel-temp-file): Ensure that 4830 * ob.el (org-babel-temp-file): Ensure that
4813 org-babel-temporary-directory is bound before using. 4831 `org-babel-temporary-directory' is bound before using.
4814 (org-babel-remove-temporary-directory): Safer error throwing. 4832 (org-babel-remove-temporary-directory): Safer error throwing.
4815 4833
48162011-07-28 niels giesen <niels.giesen@gmail.com> 48342011-07-28 niels giesen <niels.giesen@gmail.com>
4817 4835
@@ -4838,16 +4856,12 @@
4838 4856
4839 * org.el (org-occur-next-match): New function. 4857 * org.el (org-occur-next-match): New function.
4840 (org-mode): Set the variable `next-error-function'. 4858 (org-mode): Set the variable `next-error-function'.
4841 (org-highlight-new-match): Add an `org-type' property to the overlays. 4859 (org-highlight-new-match): Add an `org-type' property to the
4860 overlays.
4842 4861
48432011-07-28 Eric Schulte <schulte.eric@gmail.com> 48622011-07-28 Eric Schulte <schulte.eric@gmail.com>
4844 4863
4845 * ob-calc.el: No longer require `calc-trail' on XEmacs 4864 * ob-calc.el: No longer require `calc-trail' on XEmacs.
4846
48472011-07-28 Bastien Guerry <bzg@gnu.org>
4848
4849 * simple.el (mail-user-agent): Default to the
4850 upwardly-UI-compatible and more featureful message-mode.
4851 4865
48522011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 48662011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
4853 4867
@@ -4855,11 +4869,10 @@
4855 4869
48562011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 48702011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
4857 4871
4858 * org-special-blocks.el (htmlp): 4872 * org-special-blocks.el (htmlp, latexp, line): Add defvars for
4859 (latexp): 4873 dynamically scoped variables.
4860 (line): Add defvars for dynamically scoped variables.
4861 4874
4862 * org.el (org-modules): Move org-special-blocks into the core 4875 * org.el (org-modules): Move `org-special-blocks' into the core
4863 modules section. 4876 modules section.
4864 4877
48652011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 48782011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
@@ -4872,10 +4885,10 @@
4872 4885
48732011-07-28 Bernt Hansen <bernt@norang.ca> 48862011-07-28 Bernt Hansen <bernt@norang.ca>
4874 4887
4875 * org-agenda.el (org-agenda-goto): Display invisible entry text 4888 * org-agenda.el (org-agenda-goto): Display invisible entry text.
4876 4889
4877 * org-agenda.el (org-agenda-switch-to): Display invisible entry 4890 * org-agenda.el (org-agenda-switch-to): Display invisible entry
4878 text 4891 text.
4879 4892
48802011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 48932011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
4881 4894
@@ -4989,8 +5002,8 @@
4989 send graphical output to file by means of the ":results graphics" 5002 send graphical output to file by means of the ":results graphics"
4990 directive. 5003 directive.
4991 (org-babel-expand-body:R): Use `org-babel-R-graphical-output-file' 5004 (org-babel-expand-body:R): Use `org-babel-R-graphical-output-file'
4992 when constructing the R code to evaluate, which may be augmented with 5005 when constructing the R code to evaluate, which may be augmented
4993 code implementing the writing of graohical output to file. 5006 with code implementing the writing of graohical output to file.
4994 (org-babel-execute:R): Use `org-babel-R-graphical-output-file' to 5007 (org-babel-execute:R): Use `org-babel-R-graphical-output-file' to
4995 determine whether R is taking responsibility for writing output to 5008 determine whether R is taking responsibility for writing output to
4996 file; if so, this is signalled to ob.el by returning a nil result. 5009 file; if so, this is signalled to ob.el by returning a nil result.
@@ -5001,8 +5014,9 @@
5001 of src block execution. 5014 of src block execution.
5002 (org-babel-execute-src-block): Use `org-babel-format-result' when 5015 (org-babel-execute-src-block): Use `org-babel-format-result' when
5003 writing to file. 5016 writing to file.
5004 (org-babel-open-src-block-result): Use `org-babel-format-result' when 5017 (org-babel-open-src-block-result): Use `org-babel-format-result'
5005 displaying results in a buffer; name results buffer differently. 5018 when displaying results in a buffer. Name results buffer
5019 differently.
5006 5020
50072011-07-28 Dan Davison <dandavison7@gmail.com> 50212011-07-28 Dan Davison <dandavison7@gmail.com>
5008 5022
@@ -5023,10 +5037,12 @@
5023 5037
50242011-07-28 Nicolas Goaziou <n.goaziou@gmail.com> 50382011-07-28 Nicolas Goaziou <n.goaziou@gmail.com>
5025 5039
5026 * org-inlinetask.el (org-inlinetask-in-task-p): small refactoring, 5040 * org-inlinetask.el (org-inlinetask-in-task-p): Small refactoring,
5027 do not modify match data either. 5041 do not modify match data either.
5028 (org-inlinetask-goto-end): small refactoring, remove case-sensitivity. 5042 (org-inlinetask-goto-end): Small refactoring, remove
5029 (org-inlinetask-goto-beginning): small refactoring, remove case-sensitivity. 5043 case-sensitivity.
5044 (org-inlinetask-goto-beginning): Small refactoring, remove
5045 case-sensitivity.
5030 5046
50312011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 50472011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
5032 5048
@@ -5109,8 +5125,8 @@
5109 5125
51102011-07-28 Lawrence Mitchell <wence@gmx.li> 51262011-07-28 Lawrence Mitchell <wence@gmx.li>
5111 5127
5112 * org.el (org-make-target-link-regexp): regexp-quote target before 5128 * org.el (org-make-target-link-regexp): `regexp-quote' target
5113 replacing whitespace. 5129 before replacing whitespace.
5114 5130
51152011-07-28 Eric Schulte <schulte.eric@gmail.com> 51312011-07-28 Eric Schulte <schulte.eric@gmail.com>
5116 5132
@@ -5125,7 +5141,7 @@
51252011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 51412011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
5126 5142
5127 * org-latex.el (org-export-latex-first-lines): Anchor outline 5143 * org-latex.el (org-export-latex-first-lines): Anchor outline
5128 regexp during LaTeX tree export 5144 regexp during LaTeX tree export.
5129 5145
51302011-07-28 Konrad Hinsen <konrad.hinsen@fastmail.net> 51462011-07-28 Konrad Hinsen <konrad.hinsen@fastmail.net>
5131 5147
@@ -5147,7 +5163,7 @@
5147 5163
5148 * org.el (org-entry-properties): Stop scanning for timestamps if a 5164 * org.el (org-entry-properties): Stop scanning for timestamps if a
5149 specific timestamp property (e.g., DEADLINE, SCHEDULED, etc.) is 5165 specific timestamp property (e.g., DEADLINE, SCHEDULED, etc.) is
5150 requested and a match is found. Also, if a specific timestamp 5166 requested and a match is found. Also, if a specific timestamp
5151 property is requested, do not push non-relevant timestamps onto 5167 property is requested, do not push non-relevant timestamps onto
5152 property list. 5168 property list.
5153 5169
@@ -5164,9 +5180,9 @@
5164 5180
51652011-07-28 Achim Gratz <Stromeko@nexgo.de> 51812011-07-28 Achim Gratz <Stromeko@nexgo.de>
5166 5182
5167 * org.el: remove spurious linebreak introduced by earlier patch. 5183 * org.el: Remove spurious linebreak introduced by earlier patch.
5168 5184
5169 * ob.el, ob-ref.el: remove double fix of the same problem. 5185 * ob.el, ob-ref.el: Remove double fix of the same problem.
5170 5186
51712011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 51872011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
5172 5188
@@ -5174,7 +5190,7 @@
5174 5190
51752011-07-28 Łukasz Stelmach <lukasz.stelmach@iem.pw.edu.pl> 51912011-07-28 Łukasz Stelmach <lukasz.stelmach@iem.pw.edu.pl>
5176 5192
5177 * org-html.el (org-export-html-mathjax-template): displaymath 5193 * org-html.el (org-export-html-mathjax-template): Displaymath
5178 environment and MathJax. 5194 environment and MathJax.
5179 5195
51802011-07-28 Carsten Dominik <carsten.dominik@gmail.com> 51962011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
@@ -7352,7 +7368,7 @@
7352 (org-export-latex-keywords-maybe): 7368 (org-export-latex-keywords-maybe):
7353 Use `org-export-latex-tag-markup'. 7369 Use `org-export-latex-tag-markup'.
7354 7370
73552010-11-11 Rémi Vanicat <vanicat@debian.org> 73712010-11-11 Rémi Vanicat <vanicat@debian.org> (tiny change)
7356 7372
7357 * org-icalendar.el (org-icalendar-use-UTC-date-time): New option. 7373 * org-icalendar.el (org-icalendar-use-UTC-date-time): New option.
7358 (org-ical-ts-to-string): Use UTC time when requested. 7374 (org-ical-ts-to-string): Use UTC time when requested.
diff --git a/lisp/org/ob-C.el b/lisp/org/ob-C.el
index cc44ece4ea8..4f8106cd66f 100644
--- a/lisp/org/ob-C.el
+++ b/lisp/org/ob-C.el
@@ -1,6 +1,6 @@
1;;; ob-C.el --- org-babel functions for C and similar languages 1;;; ob-C.el --- org-babel functions for C and similar languages
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -191,6 +191,6 @@ of the same value."
191 191
192(provide 'ob-C) 192(provide 'ob-C)
193 193
194;; arch-tag: 8f49e462-54e3-417b-9a8d-423864893b37 194
195 195
196;;; ob-C.el ends here 196;;; ob-C.el ends here
diff --git a/lisp/org/ob-R.el b/lisp/org/ob-R.el
index 35cdcb90926..2b0e6d5e16a 100644
--- a/lisp/org/ob-R.el
+++ b/lisp/org/ob-R.el
@@ -1,8 +1,9 @@
1;;; ob-R.el --- org-babel functions for R code evaluation 1;;; ob-R.el --- org-babel functions for R code evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte, Dan Davison 5;; Author: Eric Schulte
6;; Dan Davison
6;; Keywords: literate programming, reproducible research, R, statistics 7;; Keywords: literate programming, reproducible research, R, statistics
7;; Homepage: http://orgmode.org 8;; Homepage: http://orgmode.org
8;; Version: 7.7 9;; Version: 7.7
@@ -312,6 +313,6 @@ Insert hline if column names in output have been requested."
312 313
313(provide 'ob-R) 314(provide 'ob-R)
314 315
315;; arch-tag: cd4c7298-503b-450f-a3c2-f3e74b630237 316
316 317
317;;; ob-R.el ends here 318;;; ob-R.el ends here
diff --git a/lisp/org/ob-asymptote.el b/lisp/org/ob-asymptote.el
index d360cfc2274..6bae3581cf4 100644
--- a/lisp/org/ob-asymptote.el
+++ b/lisp/org/ob-asymptote.el
@@ -1,6 +1,6 @@
1;;; ob-asymptote.el --- org-babel functions for asymptote evaluation 1;;; ob-asymptote.el --- org-babel functions for asymptote evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -160,6 +160,6 @@ of int, where every cell must be of int type."
160 160
161(provide 'ob-asymptote) 161(provide 'ob-asymptote)
162 162
163;; arch-tag: f2f5bd0d-78e8-412b-8e6c-6dadc94cc06b 163
164 164
165;;; ob-asymptote.el ends here 165;;; ob-asymptote.el ends here
diff --git a/lisp/org/ob-awk.el b/lisp/org/ob-awk.el
index 368957c2f9b..66e07bf175c 100644
--- a/lisp/org/ob-awk.el
+++ b/lisp/org/ob-awk.el
@@ -24,8 +24,6 @@
24 24
25;;; Commentary: 25;;; Commentary:
26 26
27;;; Commentary:
28
29;; Babel's awk can use special header argument: 27;; Babel's awk can use special header argument:
30;; 28;;
31;; - :in-file takes a path to a file of data to be processed by awk 29;; - :in-file takes a path to a file of data to be processed by awk
@@ -114,6 +112,6 @@ Emacs-lisp table, otherwise return the results as a string."
114 112
115(provide 'ob-awk) 113(provide 'ob-awk)
116 114
117;; arch-tag: 844e2c88-6aad-4018-868d-a2df6bcdf68f 115
118 116
119;;; ob-awk.el ends here 117;;; ob-awk.el ends here
diff --git a/lisp/org/ob-calc.el b/lisp/org/ob-calc.el
index 0f88ccf4dae..68694786729 100644
--- a/lisp/org/ob-calc.el
+++ b/lisp/org/ob-calc.el
@@ -1,6 +1,6 @@
1;;; ob-calc.el --- org-babel functions for calc code evaluation 1;;; ob-calc.el --- org-babel functions for calc code evaluation
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -99,6 +99,6 @@
99 99
100(provide 'ob-calc) 100(provide 'ob-calc)
101 101
102;; arch-tag: 5c57a3b7-5818-4c6c-acda-7a94831a6449 102
103 103
104;;; ob-calc.el ends here 104;;; ob-calc.el ends here
diff --git a/lisp/org/ob-clojure.el b/lisp/org/ob-clojure.el
index d9bc213dfa2..090b60662f8 100644
--- a/lisp/org/ob-clojure.el
+++ b/lisp/org/ob-clojure.el
@@ -1,8 +1,9 @@
1;;; ob-clojure.el --- org-babel functions for clojure evaluation 1;;; ob-clojure.el --- org-babel functions for clojure evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Joel Boehland, Eric Schulte 5;; Author: Joel Boehland
6;; Eric Schulte
6;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 8;; Homepage: http://orgmode.org
8;; Version: 7.7 9;; Version: 7.7
@@ -92,6 +93,6 @@
92 93
93(provide 'ob-clojure) 94(provide 'ob-clojure)
94 95
95;; arch-tag: a43b33f2-653e-46b1-ac56-2805cf05b7d1 96
96 97
97;;; ob-clojure.el ends here 98;;; ob-clojure.el ends here
diff --git a/lisp/org/ob-comint.el b/lisp/org/ob-comint.el
index 4e238880ec2..efdac4d3818 100644
--- a/lisp/org/ob-comint.el
+++ b/lisp/org/ob-comint.el
@@ -1,6 +1,6 @@
1;;; ob-comint.el --- org-babel functions for interaction with comint buffers 1;;; ob-comint.el --- org-babel functions for interaction with comint buffers
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research, comint 6;; Keywords: literate programming, reproducible research, comint
@@ -158,6 +158,6 @@ FILE exists at end of evaluation."
158 158
159(provide 'ob-comint) 159(provide 'ob-comint)
160 160
161;; arch-tag: 9adddce6-0864-4be3-b0b5-6c5157dc7889 161
162 162
163;;; ob-comint.el ends here 163;;; ob-comint.el ends here
diff --git a/lisp/org/ob-css.el b/lisp/org/ob-css.el
index 25d75ccf80a..7bc97f82909 100644
--- a/lisp/org/ob-css.el
+++ b/lisp/org/ob-css.el
@@ -1,6 +1,6 @@
1;;; ob-css.el --- org-babel functions for css evaluation 1;;; ob-css.el --- org-babel functions for css evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -44,6 +44,6 @@ CSS does not support sessions."
44 44
45(provide 'ob-css) 45(provide 'ob-css)
46 46
47;; arch-tag: f4447e8c-50ab-41f9-b322-b7b9574d9fbe 47
48 48
49;;; ob-css.el ends here 49;;; ob-css.el ends here
diff --git a/lisp/org/ob-ditaa.el b/lisp/org/ob-ditaa.el
index 810af9411f4..db638f6ef98 100644
--- a/lisp/org/ob-ditaa.el
+++ b/lisp/org/ob-ditaa.el
@@ -1,6 +1,6 @@
1;;; ob-ditaa.el --- org-babel functions for ditaa evaluation 1;;; ob-ditaa.el --- org-babel functions for ditaa evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -74,6 +74,6 @@ This function is called by `org-babel-execute-src-block'."
74 74
75(provide 'ob-ditaa) 75(provide 'ob-ditaa)
76 76
77;; arch-tag: 492cd006-07d9-4fac-bef6-5bb60b48842e 77
78 78
79;;; ob-ditaa.el ends here 79;;; ob-ditaa.el ends here
diff --git a/lisp/org/ob-dot.el b/lisp/org/ob-dot.el
index 4bb4d532a43..cc78ac5bf95 100644
--- a/lisp/org/ob-dot.el
+++ b/lisp/org/ob-dot.el
@@ -1,6 +1,6 @@
1;;; ob-dot.el --- org-babel functions for dot evaluation 1;;; ob-dot.el --- org-babel functions for dot evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -85,6 +85,6 @@ This function is called by `org-babel-execute-src-block'."
85 85
86(provide 'ob-dot) 86(provide 'ob-dot)
87 87
88;; arch-tag: 817d0516-7b47-4f77-a8b2-2aadd8e4d0e2 88
89 89
90;;; ob-dot.el ends here 90;;; ob-dot.el ends here
diff --git a/lisp/org/ob-emacs-lisp.el b/lisp/org/ob-emacs-lisp.el
index 5892aa5dc7a..2eccf19b6d1 100644
--- a/lisp/org/ob-emacs-lisp.el
+++ b/lisp/org/ob-emacs-lisp.el
@@ -1,6 +1,6 @@
1;;; ob-emacs-lisp.el --- org-babel functions for emacs-lisp code evaluation 1;;; ob-emacs-lisp.el --- org-babel functions for emacs-lisp code evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -76,6 +76,6 @@
76 76
77(provide 'ob-emacs-lisp) 77(provide 'ob-emacs-lisp)
78 78
79;; arch-tag: e9a3acca-dc84-472a-9f5a-23c35befbcd6 79
80 80
81;;; ob-emacs-lisp.el ends here 81;;; ob-emacs-lisp.el ends here
diff --git a/lisp/org/ob-eval.el b/lisp/org/ob-eval.el
index cc089cbaa32..e74be0b6e02 100644
--- a/lisp/org/ob-eval.el
+++ b/lisp/org/ob-eval.el
@@ -1,6 +1,6 @@
1;;; ob-eval.el --- org-babel functions for external code evaluation 1;;; ob-eval.el --- org-babel functions for external code evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research, comint 6;; Keywords: literate programming, reproducible research, comint
@@ -257,6 +257,6 @@ This buffer is named by `org-babel-error-buffer-name'."
257 257
258(provide 'ob-eval) 258(provide 'ob-eval)
259 259
260;; arch-tag: 5328b17f-957d-42d9-94da-a2952682d04d 260
261 261
262;;; ob-eval.el ends here 262;;; ob-eval.el ends here
diff --git a/lisp/org/ob-exp.el b/lisp/org/ob-exp.el
index d65441e95c5..0fceb184c5e 100644
--- a/lisp/org/ob-exp.el
+++ b/lisp/org/ob-exp.el
@@ -1,8 +1,9 @@
1;;; ob-exp.el --- Exportation of org-babel source blocks 1;;; ob-exp.el --- Exportation of org-babel source blocks
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte, Dan Davison 5;; Author: Eric Schulte
6;; Dan Davison
6;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 8;; Homepage: http://orgmode.org
8;; Version: 7.7 9;; Version: 7.7
@@ -266,6 +267,6 @@ inhibit insertion of results into the buffer."
266 267
267(provide 'ob-exp) 268(provide 'ob-exp)
268 269
269;; arch-tag: 523abf4c-76d1-44ed-9f27-e3bddf34bf0f 270
270 271
271;;; ob-exp.el ends here 272;;; ob-exp.el ends here
diff --git a/lisp/org/ob-gnuplot.el b/lisp/org/ob-gnuplot.el
index 8259cf839e5..9bf0433f9fc 100644
--- a/lisp/org/ob-gnuplot.el
+++ b/lisp/org/ob-gnuplot.el
@@ -1,6 +1,6 @@
1;;; ob-gnuplot.el --- org-babel functions for gnuplot evaluation 1;;; ob-gnuplot.el --- org-babel functions for gnuplot evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -230,6 +230,6 @@ Pass PARAMS through to `orgtbl-to-generic' when exporting TABLE."
230 230
231(provide 'ob-gnuplot) 231(provide 'ob-gnuplot)
232 232
233;; arch-tag: 50490ace-a9e1-4b29-a6e5-0db9f16c610b 233
234 234
235;;; ob-gnuplot.el ends here 235;;; ob-gnuplot.el ends here
diff --git a/lisp/org/ob-haskell.el b/lisp/org/ob-haskell.el
index 63e76f6f139..cae07036c57 100644
--- a/lisp/org/ob-haskell.el
+++ b/lisp/org/ob-haskell.el
@@ -1,6 +1,6 @@
1;;; ob-haskell.el --- org-babel functions for haskell evaluation 1;;; ob-haskell.el --- org-babel functions for haskell evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -213,6 +213,6 @@ constructs (header arguments, no-web syntax etc...) are ignored."
213 213
214(provide 'ob-haskell) 214(provide 'ob-haskell)
215 215
216;; arch-tag: b53f75f3-ba1a-4b05-82d9-a2a0d4e70804 216
217 217
218;;; ob-haskell.el ends here 218;;; ob-haskell.el ends here
diff --git a/lisp/org/ob-java.el b/lisp/org/ob-java.el
index 3f349fea271..20824d4cb30 100644
--- a/lisp/org/ob-java.el
+++ b/lisp/org/ob-java.el
@@ -69,6 +69,6 @@
69 69
70(provide 'ob-java) 70(provide 'ob-java)
71 71
72;; arch-tag: dd1cfb00-7f76-4ecf-922c-f7031b68b85e 72
73 73
74;;; ob-java.el ends here 74;;; ob-java.el ends here
diff --git a/lisp/org/ob-js.el b/lisp/org/ob-js.el
index f9c1722eb65..9e6751c9525 100644
--- a/lisp/org/ob-js.el
+++ b/lisp/org/ob-js.el
@@ -1,28 +1,26 @@
1;;; ob-js.el --- org-babel functions for Javascript 1;;; ob-js.el --- org-babel functions for Javascript
2 2
3;; Copyright (C) 2010 Free Software Foundation 3;; Copyright (C) 2010-2011 Free Software Foundation
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research, js 6;; Keywords: literate programming, reproducible research, js
7;; Homepage: http://orgmode.org 7;; Homepage: http://orgmode.org
8;; Version: 7.7 8;; Version: 7.7
9 9
10;;; License: 10;; This file is part of GNU Emacs.
11 11
12;; This program is free software; you can redistribute it and/or modify 12;; GNU Emacs is free software: you can redistribute it and/or modify
13;; it under the terms of the GNU General Public License as published by 13;; it under the terms of the GNU General Public License as published by
14;; the Free Software Foundation; either version 3, or (at your option) 14;; the Free Software Foundation, either version 3 of the License, or
15;; any later version. 15;; (at your option) any later version.
16;; 16
17;; This program is distributed in the hope that it will be useful, 17;; GNU Emacs is distributed in the hope that it will be useful,
18;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;; GNU General Public License for more details. 20;; GNU General Public License for more details.
21;; 21
22;; You should have received a copy of the GNU General Public License 22;; You should have received a copy of the GNU General Public License
23;; along with GNU Emacs; see the file COPYING. If not, write to the 23;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
24;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
25;; Boston, MA 02110-1301, USA.
26 24
27;;; Commentary: 25;;; Commentary:
28 26
@@ -35,7 +33,7 @@
35 33
36;; - a non-browser javascript engine such as node.js http://nodejs.org/ 34;; - a non-browser javascript engine such as node.js http://nodejs.org/
37;; or mozrepl http://wiki.github.com/bard/mozrepl/ 35;; or mozrepl http://wiki.github.com/bard/mozrepl/
38;; 36;;
39;; - for session based evaluation mozrepl and moz.el are required see 37;; - for session based evaluation mozrepl and moz.el are required see
40;; http://wiki.github.com/bard/mozrepl/emacs-integration for 38;; http://wiki.github.com/bard/mozrepl/emacs-integration for
41;; configuration instructions 39;; configuration instructions
@@ -160,6 +158,6 @@ then create. Return the initialized session."
160 158
161(provide 'ob-js) 159(provide 'ob-js)
162 160
163;; arch-tag: 84401fb3-b8d9-4bb6-9a90-cbe2d103d494 161
164 162
165;;; ob-js.el ends here 163;;; ob-js.el ends here
diff --git a/lisp/org/ob-keys.el b/lisp/org/ob-keys.el
index b55913599cc..b56ba5cf01a 100644
--- a/lisp/org/ob-keys.el
+++ b/lisp/org/ob-keys.el
@@ -1,6 +1,6 @@
1;;; ob-keys.el --- key bindings for org-babel 1;;; ob-keys.el --- key bindings for org-babel
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -97,6 +97,6 @@ a-list placed behind the generic `org-babel-key-prefix'.")
97 97
98(provide 'ob-keys) 98(provide 'ob-keys)
99 99
100;; arch-tag: 01e348ee-4906-46fa-839a-6b7b6f989048 100
101 101
102;;; ob-keys.el ends here 102;;; ob-keys.el ends here
diff --git a/lisp/org/ob-latex.el b/lisp/org/ob-latex.el
index 2121a8e5296..c27ca33080a 100644
--- a/lisp/org/ob-latex.el
+++ b/lisp/org/ob-latex.el
@@ -1,6 +1,6 @@
1;;; ob-latex.el --- org-babel functions for latex "evaluation" 1;;; ob-latex.el --- org-babel functions for latex "evaluation"
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -176,6 +176,6 @@ Extracted from `org-export-as-pdf' in org-latex.el."
176 176
177(provide 'ob-latex) 177(provide 'ob-latex)
178 178
179;; arch-tag: 1f13f7e2-26de-4c24-9274-9f331d4c6ff3 179
180 180
181;;; ob-latex.el ends here 181;;; ob-latex.el ends here
diff --git a/lisp/org/ob-ledger.el b/lisp/org/ob-ledger.el
index 425a3458685..a5bdcbf2f73 100644
--- a/lisp/org/ob-ledger.el
+++ b/lisp/org/ob-ledger.el
@@ -1,6 +1,6 @@
1;;; ob-ledger.el --- org-babel functions for ledger evaluation 1;;; ob-ledger.el --- org-babel functions for ledger evaluation
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric S Fraga 5;; Author: Eric S Fraga
6;; Keywords: literate programming, reproducible research, accounting 6;; Keywords: literate programming, reproducible research, accounting
@@ -67,6 +67,6 @@ called by `org-babel-execute-src-block'."
67 67
68(provide 'ob-ledger) 68(provide 'ob-ledger)
69 69
70;; arch-tag: 7bbb529e-95a1-4236-9d29-b0000b918c7c 70
71 71
72;;; ob-ledger.el ends here 72;;; ob-ledger.el ends here
diff --git a/lisp/org/ob-lilypond.el b/lisp/org/ob-lilypond.el
index 23f5d511d34..23fc8f04c34 100644
--- a/lisp/org/ob-lilypond.el
+++ b/lisp/org/ob-lilypond.el
@@ -1,6 +1,6 @@
1;;; ob-lilypond.el --- org-babel functions for lilypond evaluation 1;;; ob-lilypond.el --- org-babel functions for lilypond evaluation
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
4 4
5;; Author: Martyn Jago 5;; Author: Martyn Jago
6;; Keywords: babel language, literate programming 6;; Keywords: babel language, literate programming
@@ -442,6 +442,6 @@ dependent on LY-ARRANGE-MODE"
442 442
443(provide 'ob-lilypond) 443(provide 'ob-lilypond)
444 444
445;; arch-tag: ac449eea-2cf2-4dc5-ae33-426f57ba4894 445
446 446
447;;; ob-lilypond.el ends here 447;;; ob-lilypond.el ends here
diff --git a/lisp/org/ob-lisp.el b/lisp/org/ob-lisp.el
index 97e8a97b24b..4ff9c4076ec 100644
--- a/lisp/org/ob-lisp.el
+++ b/lisp/org/ob-lisp.el
@@ -1,8 +1,10 @@
1;;; ob-lisp.el --- org-babel functions for common lisp evaluation 1;;; ob-lisp.el --- org-babel functions for common lisp evaluation
2 2
3;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Joel Boehland, Eric Schulte, David T. O'Toole <dto@gnu.org> 5;; Author: Joel Boehland
6;; Eric Schulte
7;; David T. O'Toole <dto@gnu.org>
6;; Keywords: literate programming, reproducible research 8;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 9;; Homepage: http://orgmode.org
8;; Version: 7.7 10;; Version: 7.7
@@ -101,6 +103,6 @@ current directory string."
101 103
102(provide 'ob-lisp) 104(provide 'ob-lisp)
103 105
104;; arch-tag: 18086168-009f-4947-bbb5-3532375d851d 106
105 107
106;;; ob-lisp.el ends here 108;;; ob-lisp.el ends here
diff --git a/lisp/org/ob-lob.el b/lisp/org/ob-lob.el
index 5c4894d4510..5cb40a057f3 100644
--- a/lisp/org/ob-lob.el
+++ b/lisp/org/ob-lob.el
@@ -1,8 +1,9 @@
1;;; ob-lob.el --- functions supporting the Library of Babel 1;;; ob-lob.el --- functions supporting the Library of Babel
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte, Dan Davison 5;; Author: Eric Schulte
6;; Dan Davison
6;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 8;; Homepage: http://orgmode.org
8;; Version: 7.7 9;; Version: 7.7
@@ -136,6 +137,6 @@ if so then run the appropriate source block from the Library."
136 137
137(provide 'ob-lob) 138(provide 'ob-lob)
138 139
139;; arch-tag: ce0712c9-2147-4019-ba3f-42341b8b474b 140
140 141
141;;; ob-lob.el ends here 142;;; ob-lob.el ends here
diff --git a/lisp/org/ob-matlab.el b/lisp/org/ob-matlab.el
index 3ddb3065fc7..bb32c5a29f5 100644
--- a/lisp/org/ob-matlab.el
+++ b/lisp/org/ob-matlab.el
@@ -1,6 +1,6 @@
1;;; ob-matlab.el --- org-babel support for matlab evaluation 1;;; ob-matlab.el --- org-babel support for matlab evaluation
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
4 4
5;; Author: Dan Davison 5;; Author: Dan Davison
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -43,6 +43,6 @@
43 43
44(provide 'ob-matlab) 44(provide 'ob-matlab)
45 45
46;; arch-tag: 6b234299-c1f7-4eb1-ace8-7b93344065ac 46
47 47
48;;; ob-matlab.el ends here 48;;; ob-matlab.el ends here
diff --git a/lisp/org/ob-maxima.el b/lisp/org/ob-maxima.el
index 7534065f1f7..279ba6b928b 100644
--- a/lisp/org/ob-maxima.el
+++ b/lisp/org/ob-maxima.el
@@ -1,28 +1,27 @@
1;;; ob-maxima.el --- org-babel functions for maxima evaluation 1;;; ob-maxima.el --- org-babel functions for maxima evaluation
2 2
3;; Copyright (c) 2009, 2010, 2011 Eric S Fraga, Eric Schulte 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric S Fraga, Eric Schulte 5;; Author: Eric S Fraga
6;; Eric Schulte
6;; Keywords: literate programming, reproducible research, maxima 7;; Keywords: literate programming, reproducible research, maxima
7;; Homepage: http://orgmode.org 8;; Homepage: http://orgmode.org
8;; Version: 7.7 9;; Version: 7.7
9 10
10;;; License: 11;; This file is part of GNU Emacs.
11 12
12;; This program is free software; you can redistribute it and/or modify 13;; GNU Emacs is free software: you can redistribute it and/or modify
13;; it under the terms of the GNU General Public License as published by 14;; it under the terms of the GNU General Public License as published by
14;; the Free Software Foundation; either version 3, or (at your option) 15;; the Free Software Foundation, either version 3 of the License, or
15;; any later version. 16;; (at your option) any later version.
16;; 17
17;; This program is distributed in the hope that it will be useful, 18;; GNU Emacs is distributed in the hope that it will be useful,
18;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;; GNU General Public License for more details. 21;; GNU General Public License for more details.
21;; 22
22;; You should have received a copy of the GNU General Public License 23;; You should have received a copy of the GNU General Public License
23;; along with GNU Emacs; see the file COPYING. If not, write to the 24;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
24;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
25;; Boston, MA 02110-1301, USA.
26 25
27;;; Commentary: 26;;; Commentary:
28 27
@@ -75,6 +74,6 @@ called by `org-babel-execute-src-block'."
75 74
76(provide 'ob-maxima) 75(provide 'ob-maxima)
77 76
78;; arch-tag: d86c97ac-7eab-4349-8d8b-302dd09779a8 77
79 78
80;;; ob-maxima.el ends here 79;;; ob-maxima.el ends here
diff --git a/lisp/org/ob-mscgen.el b/lisp/org/ob-mscgen.el
index f96ba9a600b..dc800a875c6 100644
--- a/lisp/org/ob-mscgen.el
+++ b/lisp/org/ob-mscgen.el
@@ -1,6 +1,6 @@
1;;; ob-msc.el --- org-babel functions for mscgen evaluation 1;;; ob-msc.el --- org-babel functions for mscgen evaluation
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
4 4
5;; Author: Juan Pechiar 5;; Author: Juan Pechiar
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -81,6 +81,6 @@ ERROR: no output file specified. Add \":file name.png\" to the src header"))
81 81
82(provide 'ob-mscgen) 82(provide 'ob-mscgen)
83 83
84;; arch-tag: 74695b1e-715f-4b5a-a3a9-d78ee39ba5c8 84
85 85
86;;; ob-msc.el ends here 86;;; ob-msc.el ends here
diff --git a/lisp/org/ob-ocaml.el b/lisp/org/ob-ocaml.el
index c4b40c46cb8..ee7a7cc212c 100644
--- a/lisp/org/ob-ocaml.el
+++ b/lisp/org/ob-ocaml.el
@@ -1,6 +1,6 @@
1;;; ob-ocaml.el --- org-babel functions for ocaml evaluation 1;;; ob-ocaml.el --- org-babel functions for ocaml evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -140,6 +140,6 @@ Emacs-lisp table, otherwise return the results as a string."
140 140
141(provide 'ob-ocaml) 141(provide 'ob-ocaml)
142 142
143;; arch-tag: 2e815f4d-365e-4d69-b1df-dd17fdd7b7b7 143
144 144
145;;; ob-ocaml.el ends here 145;;; ob-ocaml.el ends here
diff --git a/lisp/org/ob-octave.el b/lisp/org/ob-octave.el
index ac434b4abb6..2003a6f18f7 100644
--- a/lisp/org/ob-octave.el
+++ b/lisp/org/ob-octave.el
@@ -1,6 +1,6 @@
1;;; ob-octave.el --- org-babel functions for octave and matlab evaluation 1;;; ob-octave.el --- org-babel functions for octave and matlab evaluation
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
4 4
5;; Author: Dan Davison 5;; Author: Dan Davison
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -258,6 +258,6 @@ This removes initial blank and comment lines and then calls
258 258
259(provide 'ob-octave) 259(provide 'ob-octave)
260 260
261;; arch-tag: d8e5f68b-ba13-440a-a495-b653e989e704 261
262 262
263;;; ob-octave.el ends here 263;;; ob-octave.el ends here
diff --git a/lisp/org/ob-org.el b/lisp/org/ob-org.el
index 74071363747..37256d015c7 100644
--- a/lisp/org/ob-org.el
+++ b/lisp/org/ob-org.el
@@ -1,6 +1,6 @@
1;;; ob-org.el --- org-babel functions for org code block evaluation 1;;; ob-org.el --- org-babel functions for org code block evaluation
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -66,6 +66,6 @@ This function is called by `org-babel-execute-src-block'."
66 66
67(provide 'ob-org) 67(provide 'ob-org)
68 68
69;; arch-tag: 130af5fe-cc56-46bd-9508-fa0ebd94cb1f 69
70 70
71;;; ob-org.el ends here 71;;; ob-org.el ends here
diff --git a/lisp/org/ob-perl.el b/lisp/org/ob-perl.el
index ec93c729e7b..13d71413731 100644
--- a/lisp/org/ob-perl.el
+++ b/lisp/org/ob-perl.el
@@ -1,8 +1,9 @@
1;;; ob-perl.el --- org-babel functions for perl evaluation 1;;; ob-perl.el --- org-babel functions for perl evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation 3;; Copyright (C) 2009-2011 Free Software Foundation
4 4
5;; Author: Dan Davison, Eric Schulte 5;; Author: Dan Davison
6;; Eric Schulte
6;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 8;; Homepage: http://orgmode.org
8;; Version: 7.7 9;; Version: 7.7
@@ -113,6 +114,6 @@ return the value of the last statement in BODY, as elisp."
113 114
114(provide 'ob-perl) 115(provide 'ob-perl)
115 116
116;; arch-tag: 88ef9396-d857-4dc3-8946-5a72bdfa2337 117
117 118
118;;; ob-perl.el ends here 119;;; ob-perl.el ends here
diff --git a/lisp/org/ob-plantuml.el b/lisp/org/ob-plantuml.el
index b226a5342ff..9fa55727592 100644
--- a/lisp/org/ob-plantuml.el
+++ b/lisp/org/ob-plantuml.el
@@ -1,6 +1,6 @@
1;;; ob-plantuml.el --- org-babel functions for plantuml evaluation 1;;; ob-plantuml.el --- org-babel functions for plantuml evaluation
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
4 4
5;; Author: Zhang Weize 5;; Author: Zhang Weize
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -80,6 +80,6 @@ This function is called by `org-babel-execute-src-block'."
80 80
81(provide 'ob-plantuml) 81(provide 'ob-plantuml)
82 82
83;; arch-tag: 451f50c5-e779-407e-ad64-70e0e8f161d1 83
84 84
85;;; ob-plantuml.el ends here 85;;; ob-plantuml.el ends here
diff --git a/lisp/org/ob-python.el b/lisp/org/ob-python.el
index 0fe0b4fefd8..5234d83ecee 100644
--- a/lisp/org/ob-python.el
+++ b/lisp/org/ob-python.el
@@ -1,8 +1,9 @@
1;;; ob-python.el --- org-babel functions for python evaluation 1;;; ob-python.el --- org-babel functions for python evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation 3;; Copyright (C) 2009-2011 Free Software Foundation
4 4
5;; Author: Eric Schulte, Dan Davison 5;; Author: Eric Schulte
6;; Dan Davison
6;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 8;; Homepage: http://orgmode.org
8;; Version: 7.7 9;; Version: 7.7
@@ -294,6 +295,6 @@ last statement in BODY, as elisp."
294 295
295(provide 'ob-python) 296(provide 'ob-python)
296 297
297;; arch-tag: f19b6c3d-dfcb-4a1a-9ce0-45ade1ebc212 298
298 299
299;;; ob-python.el ends here 300;;; ob-python.el ends here
diff --git a/lisp/org/ob-ref.el b/lisp/org/ob-ref.el
index d6ad39ed073..d0a2c14bee9 100644
--- a/lisp/org/ob-ref.el
+++ b/lisp/org/ob-ref.el
@@ -1,8 +1,9 @@
1;;; ob-ref.el --- org-babel functions for referencing external data 1;;; ob-ref.el --- org-babel functions for referencing external data
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte, Dan Davison 5;; Author: Eric Schulte
6;; Dan Davison
6;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 8;; Homepage: http://orgmode.org
8;; Version: 7.7 9;; Version: 7.7
@@ -60,8 +61,6 @@
60(declare-function org-narrow-to-subtree "org" ()) 61(declare-function org-narrow-to-subtree "org" ())
61(declare-function org-id-find-id-in-file "org-id" (id file &optional markerp)) 62(declare-function org-id-find-id-in-file "org-id" (id file &optional markerp))
62(declare-function org-show-context "org" (&optional key)) 63(declare-function org-show-context "org" (&optional key))
63(declare-function org-pop-to-buffer-same-window
64 "org-compat" (&optional buffer-or-name norecord label))
65 64
66(defvar org-babel-ref-split-regexp 65(defvar org-babel-ref-split-regexp
67 "[ \f\t\n\r\v]*\\(.+?\\)[ \f\t\n\r\v]*=[ \f\t\n\r\v]*\\(.+\\)[ \f\t\n\r\v]*") 66 "[ \f\t\n\r\v]*\\(.+?\\)[ \f\t\n\r\v]*=[ \f\t\n\r\v]*\\(.+\\)[ \f\t\n\r\v]*")
@@ -95,7 +94,7 @@ the variable."
95 (m (when file (org-id-find-id-in-file id file 'marker)))) 94 (m (when file (org-id-find-id-in-file id file 'marker))))
96 (when (and file m) 95 (when (and file m)
97 (message "file:%S" file) 96 (message "file:%S" file)
98 (org-pop-to-buffer-same-window (marker-buffer m)) 97 (switch-to-buffer (marker-buffer m))
99 (goto-char m) 98 (goto-char m)
100 (move-marker m nil) 99 (move-marker m nil)
101 (org-show-context) 100 (org-show-context)
@@ -263,6 +262,6 @@ Supported reference types are tables and source blocks."
263 262
264(provide 'ob-ref) 263(provide 'ob-ref)
265 264
266;; arch-tag: ace4a4f4-ea38-4dac-8fe6-6f52fcc43b6d 265
267 266
268;;; ob-ref.el ends here 267;;; ob-ref.el ends here
diff --git a/lisp/org/ob-ruby.el b/lisp/org/ob-ruby.el
index f0ed1a16676..02089b4a214 100644
--- a/lisp/org/ob-ruby.el
+++ b/lisp/org/ob-ruby.el
@@ -1,6 +1,6 @@
1;;; ob-ruby.el --- org-babel functions for ruby evaluation 1;;; ob-ruby.el --- org-babel functions for ruby evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation 3;; Copyright (C) 2009-2011 Free Software Foundation
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -241,6 +241,6 @@ return the value of the last statement in BODY, as elisp."
241 241
242(provide 'ob-ruby) 242(provide 'ob-ruby)
243 243
244;; arch-tag: 3e9726db-4520-49e2-b263-e8f571ac88f5 244
245 245
246;;; ob-ruby.el ends here 246;;; ob-ruby.el ends here
diff --git a/lisp/org/ob-sass.el b/lisp/org/ob-sass.el
index c51a4433426..162113ea5a8 100644
--- a/lisp/org/ob-sass.el
+++ b/lisp/org/ob-sass.el
@@ -1,6 +1,6 @@
1;;; ob-sass.el --- org-babel functions for the sass css generation language 1;;; ob-sass.el --- org-babel functions for the sass css generation language
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -68,6 +68,6 @@ This function is called by `org-babel-execute-src-block'."
68 68
69(provide 'ob-sass) 69(provide 'ob-sass)
70 70
71;; arch-tag: 2954b169-eef4-45ce-a8e5-3e619f0f07ac 71
72 72
73;;; ob-sass.el ends here 73;;; ob-sass.el ends here
diff --git a/lisp/org/ob-scheme.el b/lisp/org/ob-scheme.el
index a772151aee4..3e93a3a74f7 100644
--- a/lisp/org/ob-scheme.el
+++ b/lisp/org/ob-scheme.el
@@ -1,28 +1,26 @@
1;;; ob-scheme.el --- org-babel functions for Scheme 1;;; ob-scheme.el --- org-babel functions for Scheme
2 2
3;; Copyright (C) 2010 Free Software Foundation 3;; Copyright (C) 2010-2011 Free Software Foundation
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research, scheme 6;; Keywords: literate programming, reproducible research, scheme
7;; Homepage: http://orgmode.org 7;; Homepage: http://orgmode.org
8;; Version: 7.7 8;; Version: 7.7
9 9
10;;; License: 10;; This file is part of GNU Emacs.
11 11
12;; This program is free software; you can redistribute it and/or modify 12;; GNU Emacs is free software: you can redistribute it and/or modify
13;; it under the terms of the GNU General Public License as published by 13;; it under the terms of the GNU General Public License as published by
14;; the Free Software Foundation; either version 3, or (at your option) 14;; the Free Software Foundation, either version 3 of the License, or
15;; any later version. 15;; (at your option) any later version.
16;; 16
17;; This program is distributed in the hope that it will be useful, 17;; GNU Emacs is distributed in the hope that it will be useful,
18;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;; GNU General Public License for more details. 20;; GNU General Public License for more details.
21;; 21
22;; You should have received a copy of the GNU General Public License 22;; You should have received a copy of the GNU General Public License
23;; along with GNU Emacs; see the file COPYING. If not, write to the 23;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
24;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
25;; Boston, MA 02110-1301, USA.
26 24
27;;; Commentary: 25;;; Commentary:
28 26
@@ -35,7 +33,7 @@
35 33
36;; - a working scheme implementation 34;; - a working scheme implementation
37;; (e.g. guile http://www.gnu.org/software/guile/guile.html) 35;; (e.g. guile http://www.gnu.org/software/guile/guile.html)
38;; 36;;
39;; - for session based evaluation cmuscheme.el is required which is 37;; - for session based evaluation cmuscheme.el is required which is
40;; included in Emacs 38;; included in Emacs
41 39
@@ -134,6 +132,6 @@ then create. Return the initialized session."
134 132
135(provide 'ob-scheme) 133(provide 'ob-scheme)
136 134
137;; arch-tag: 6b2fe76f-4b25-4e87-ad1c-225b2f282a71 135
138 136
139;;; ob-scheme.el ends here 137;;; ob-scheme.el ends here
diff --git a/lisp/org/ob-screen.el b/lisp/org/ob-screen.el
index a9a3c5c794a..084beffd229 100644
--- a/lisp/org/ob-screen.el
+++ b/lisp/org/ob-screen.el
@@ -1,6 +1,6 @@
1;;; ob-screen.el --- org-babel support for interactive terminal 1;;; ob-screen.el --- org-babel support for interactive terminal
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation 3;; Copyright (C) 2009-2011 Free Software Foundation
4 4
5;; Author: Benjamin Andresen 5;; Author: Benjamin Andresen
6;; Keywords: literate programming, interactive shell 6;; Keywords: literate programming, interactive shell
@@ -142,6 +142,6 @@ The terminal should shortly flicker."
142 142
143(provide 'ob-screen) 143(provide 'ob-screen)
144 144
145;; arch-tag: 908e5afe-89a0-4f27-b982-23f1f2e3bac9 145
146 146
147;;; ob-screen.el ends here 147;;; ob-screen.el ends here
diff --git a/lisp/org/ob-sh.el b/lisp/org/ob-sh.el
index 9349a842a60..f46ba45770a 100644
--- a/lisp/org/ob-sh.el
+++ b/lisp/org/ob-sh.el
@@ -1,6 +1,6 @@
1;;; ob-sh.el --- org-babel functions for shell evaluation 1;;; ob-sh.el --- org-babel functions for shell evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -193,6 +193,6 @@ return the value of the last statement in BODY."
193 193
194(provide 'ob-sh) 194(provide 'ob-sh)
195 195
196;; arch-tag: 416dd531-c230-4b0a-a5bf-8d948f990f2d 196
197 197
198;;; ob-sh.el ends here 198;;; ob-sh.el ends here
diff --git a/lisp/org/ob-sql.el b/lisp/org/ob-sql.el
index 8fc7d3b4f84..9274438c18e 100644
--- a/lisp/org/ob-sql.el
+++ b/lisp/org/ob-sql.el
@@ -1,6 +1,6 @@
1;;; ob-sql.el --- org-babel functions for sql evaluation 1;;; ob-sql.el --- org-babel functions for sql evaluation
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -140,6 +140,6 @@ This function is called by `org-babel-execute-src-block'."
140 140
141(provide 'ob-sql) 141(provide 'ob-sql)
142 142
143;; arch-tag: a43ff944-6de1-4566-a83c-626814e3dad2 143
144 144
145;;; ob-sql.el ends here 145;;; ob-sql.el ends here
diff --git a/lisp/org/ob-sqlite.el b/lisp/org/ob-sqlite.el
index 3162fcca81f..c08c7f38e8a 100644
--- a/lisp/org/ob-sqlite.el
+++ b/lisp/org/ob-sqlite.el
@@ -1,6 +1,6 @@
1;;; ob-sqlite.el --- org-babel functions for sqlite database interaction 1;;; ob-sqlite.el --- org-babel functions for sqlite database interaction
2 2
3;; Copyright (C) 2010 Free Software Foundation 3;; Copyright (C) 2010-2011 Free Software Foundation
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -145,6 +145,6 @@ Prepare SESSION according to the header arguments specified in PARAMS."
145 145
146(provide 'ob-sqlite) 146(provide 'ob-sqlite)
147 147
148;; arch-tag: 5c03d7f2-0f72-48b8-bbd1-35aafea248ac 148
149 149
150;;; ob-sqlite.el ends here 150;;; ob-sqlite.el ends here
diff --git a/lisp/org/ob-table.el b/lisp/org/ob-table.el
index 91e238f254b..ea253b2f048 100644
--- a/lisp/org/ob-table.el
+++ b/lisp/org/ob-table.el
@@ -1,6 +1,6 @@
1;;; ob-table.el --- support for calling org-babel functions from tables 1;;; ob-table.el --- support for calling org-babel functions from tables
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -121,6 +121,6 @@ example above."
121 121
122(provide 'ob-table) 122(provide 'ob-table)
123 123
124;; arch-tag: 4234cc7c-4fc8-4e92-abb0-2892de1a493b 124
125 125
126;;; ob-table.el ends here 126;;; ob-table.el ends here
diff --git a/lisp/org/ob-tangle.el b/lisp/org/ob-tangle.el
index d4fb60618be..26549126009 100644
--- a/lisp/org/ob-tangle.el
+++ b/lisp/org/ob-tangle.el
@@ -1,6 +1,6 @@
1;;; ob-tangle.el --- extract source code from org-mode files 1;;; ob-tangle.el --- extract source code from org-mode files
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
@@ -494,6 +494,6 @@ which enable the original code blocks to be found."
494 494
495(provide 'ob-tangle) 495(provide 'ob-tangle)
496 496
497;; arch-tag: 413ced93-48f5-4216-86e4-3fc5df8c8f24 497
498 498
499;;; ob-tangle.el ends here 499;;; ob-tangle.el ends here
diff --git a/lisp/org/ob.el b/lisp/org/ob.el
index 0de0aa661c5..728c6c5cb5e 100644
--- a/lisp/org/ob.el
+++ b/lisp/org/ob.el
@@ -1,8 +1,9 @@
1;;; ob.el --- working with code blocks in org-mode 1;;; ob.el --- working with code blocks in org-mode
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Eric Schulte, Dan Davison 5;; Author: Eric Schulte
6;; Dan Davison
6;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 8;; Homepage: http://orgmode.org
8;; Version: 7.7 9;; Version: 7.7
@@ -137,7 +138,7 @@ remove code block execution from the C-c C-c keybinding."
137 ;; (4) header arguments 138 ;; (4) header arguments
138 "\\([^\n]*\\)\n" 139 "\\([^\n]*\\)\n"
139 ;; (5) body 140 ;; (5) body
140 "\\([^\000]*?\\)[ \t]*#\\+end_src") 141 "\\([^\000]*?\n\\)?[ \t]*#\\+end_src")
141 "Regexp used to identify code blocks.") 142 "Regexp used to identify code blocks.")
142 143
143(defvar org-babel-inline-src-block-regexp 144(defvar org-babel-inline-src-block-regexp
@@ -2198,6 +2199,6 @@ of `org-babel-temporary-directory'."
2198 2199
2199(provide 'ob) 2200(provide 'ob)
2200 2201
2201;; arch-tag: 01a7ebee-06c5-4ee4-a709-e660d28c0af1 2202
2202 2203
2203;;; ob.el ends here 2204;;; ob.el ends here
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index d47013b76f1..aea284fe72c 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -1,7 +1,6 @@
1;;; org-agenda.el --- Dynamic task and appointment lists for Org 1;;; org-agenda.el --- Dynamic task and appointment lists for Org
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -61,8 +60,6 @@
61(declare-function org-is-habit-p "org-habit" (&optional pom)) 60(declare-function org-is-habit-p "org-habit" (&optional pom))
62(declare-function org-habit-parse-todo "org-habit" (&optional pom)) 61(declare-function org-habit-parse-todo "org-habit" (&optional pom))
63(declare-function org-habit-get-priority "org-habit" (habit &optional moment)) 62(declare-function org-habit-get-priority "org-habit" (habit &optional moment))
64(declare-function org-pop-to-buffer-same-window "org-compat"
65 (&optional buffer-or-name norecord label))
66 63
67(defvar calendar-mode-map) 64(defvar calendar-mode-map)
68(defvar org-clock-current-task) ; defined in org-clock.el 65(defvar org-clock-current-task) ; defined in org-clock.el
@@ -3068,7 +3065,7 @@ the global options and expect it to be applied to the entire view.")
3068 (awin (select-window awin)) 3065 (awin (select-window awin))
3069 ((not (setq org-pre-agenda-window-conf (current-window-configuration)))) 3066 ((not (setq org-pre-agenda-window-conf (current-window-configuration))))
3070 ((equal org-agenda-window-setup 'current-window) 3067 ((equal org-agenda-window-setup 'current-window)
3071 (org-pop-to-buffer-same-window abuf)) 3068 (switch-to-buffer abuf))
3072 ((equal org-agenda-window-setup 'other-window) 3069 ((equal org-agenda-window-setup 'other-window)
3073 (org-switch-to-buffer-other-window abuf)) 3070 (org-switch-to-buffer-other-window abuf))
3074 ((equal org-agenda-window-setup 'other-frame) 3071 ((equal org-agenda-window-setup 'other-frame)
@@ -3079,7 +3076,7 @@ the global options and expect it to be applied to the entire view.")
3079 ;; additional test in case agenda is invoked from within agenda 3076 ;; additional test in case agenda is invoked from within agenda
3080 ;; buffer via elisp link 3077 ;; buffer via elisp link
3081 (unless (equal (current-buffer) abuf) 3078 (unless (equal (current-buffer) abuf)
3082 (org-pop-to-buffer-same-window abuf))) 3079 (switch-to-buffer abuf)))
3083 (setq buffer-read-only nil) 3080 (setq buffer-read-only nil)
3084 (let ((inhibit-read-only t)) (erase-buffer)) 3081 (let ((inhibit-read-only t)) (erase-buffer))
3085 (org-agenda-mode) 3082 (org-agenda-mode)
@@ -6973,7 +6970,7 @@ at the text of the entry itself."
6973 (org-agenda-error))) 6970 (org-agenda-error)))
6974 (buffer (marker-buffer marker)) 6971 (buffer (marker-buffer marker))
6975 (pos (marker-position marker))) 6972 (pos (marker-position marker)))
6976 (org-pop-to-buffer-same-window buffer) 6973 (switch-to-buffer buffer)
6977 (and delete-other-windows (delete-other-windows)) 6974 (and delete-other-windows (delete-other-windows))
6978 (widen) 6975 (widen)
6979 (goto-char pos) 6976 (goto-char pos)
@@ -8446,6 +8443,6 @@ belonging to the \"Work\" category."
8446 8443
8447(provide 'org-agenda) 8444(provide 'org-agenda)
8448 8445
8449;; arch-tag: 77f7565d-7c4b-44af-a2df-9f6f7070cff1 8446
8450 8447
8451;;; org-agenda.el ends here 8448;;; org-agenda.el ends here
diff --git a/lisp/org/org-archive.el b/lisp/org/org-archive.el
index 6c46b511786..7436696433c 100644
--- a/lisp/org/org-archive.el
+++ b/lisp/org/org-archive.el
@@ -1,7 +1,6 @@
1;;; org-archive.el --- Archiving for Org-mode 1;;; org-archive.el --- Archiving for Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -483,6 +482,6 @@ This command is set with the variable `org-archive-default-command'."
483 482
484(provide 'org-archive) 483(provide 'org-archive)
485 484
486;; arch-tag: 0837f601-9699-43c3-8b90-631572ae6c85 485
487 486
488;;; org-archive.el ends here 487;;; org-archive.el ends here
diff --git a/lisp/org/org-ascii.el b/lisp/org/org-ascii.el
index 8c37f9c08df..d6a4e30714b 100644
--- a/lisp/org/org-ascii.el
+++ b/lisp/org/org-ascii.el
@@ -1,7 +1,6 @@
1;;; org-ascii.el --- ASCII export for Org-mode 1;;; org-ascii.el --- ASCII export for Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -726,5 +725,5 @@ publishing directory."
726 725
727(provide 'org-ascii) 726(provide 'org-ascii)
728 727
729;; arch-tag: aa96f882-f477-4e13-86f5-70d43e7adf3c 728
730;;; org-ascii.el ends here 729;;; org-ascii.el ends here
diff --git a/lisp/org/org-attach.el b/lisp/org/org-attach.el
index 809ec159496..aa8c476e89b 100644
--- a/lisp/org/org-attach.el
+++ b/lisp/org/org-attach.el
@@ -1,6 +1,6 @@
1;;; org-attach.el --- Manage file attachments to org-mode tasks 1;;; org-attach.el --- Manage file attachments to org-mode tasks
2 2
3;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
4 4
5;; Author: John Wiegley <johnw@newartisans.com> 5;; Author: John Wiegley <johnw@newartisans.com>
6;; Keywords: org data task 6;; Keywords: org data task
@@ -437,5 +437,5 @@ prefix."
437 437
438(provide 'org-attach) 438(provide 'org-attach)
439 439
440;; arch-tag: fce93c2e-fe07-4fa3-a905-e10dcc7a6248 440
441;;; org-attach.el ends here 441;;; org-attach.el ends here
diff --git a/lisp/org/org-bbdb.el b/lisp/org/org-bbdb.el
index b405718a49a..a7b6efae836 100644
--- a/lisp/org/org-bbdb.el
+++ b/lisp/org/org-bbdb.el
@@ -1,7 +1,6 @@
1;;; org-bbdb.el --- Support for links to BBDB entries from within Org-mode 1;;; org-bbdb.el --- Support for links to BBDB entries from within Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org>, 5;; Author: Carsten Dominik <carsten at orgmode dot org>,
7;; Thomas Baumann <thomas dot baumann at ch dot tum dot de> 6;; Thomas Baumann <thomas dot baumann at ch dot tum dot de>
@@ -392,6 +391,6 @@ END:VEVENT\n"
392 391
393(provide 'org-bbdb) 392(provide 'org-bbdb)
394 393
395;; arch-tag: 9e4f275d-d080-48c1-b040-62247f66b5c2 394
396 395
397;;; org-bbdb.el ends here 396;;; org-bbdb.el ends here
diff --git a/lisp/org/org-beamer.el b/lisp/org/org-beamer.el
index 97f17c043af..5cebe50efd1 100644
--- a/lisp/org/org-beamer.el
+++ b/lisp/org/org-beamer.el
@@ -1,6 +1,6 @@
1;;; org-beamer.el --- Beamer-specific LaTeX export for org-mode 1;;; org-beamer.el --- Beamer-specific LaTeX export for org-mode
2;; 2;;
3;; Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
4;; 4;;
5;; Version: 7.7 5;; Version: 7.7
6;; Author: Carsten Dominik <carsten.dominik AT gmail DOT com> 6;; Author: Carsten Dominik <carsten.dominik AT gmail DOT com>
@@ -632,6 +632,6 @@ include square brackets."
632 632
633(provide 'org-beamer) 633(provide 'org-beamer)
634 634
635;; arch-tag: 68bac91a-a946-43a3-8173-a9269306f67c 635
636 636
637;;; org-beamer.el ends here 637;;; org-beamer.el ends here
diff --git a/lisp/org/org-bibtex.el b/lisp/org/org-bibtex.el
index da6c1fec58c..5c9b37b2341 100644
--- a/lisp/org/org-bibtex.el
+++ b/lisp/org/org-bibtex.el
@@ -1,6 +1,6 @@
1;;; org-bibtex.el --- Org links to BibTeX entries 1;;; org-bibtex.el --- Org links to BibTeX entries
2;; 2;;
3;; Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. 3;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
4;; 4;;
5;; Author: Bastien Guerry <bzg at altern dot org> 5;; Author: Bastien Guerry <bzg at altern dot org>
6;; Carsten Dominik <carsten dot dominik at gmail dot com> 6;; Carsten Dominik <carsten dot dominik at gmail dot com>
@@ -642,6 +642,6 @@ This function relies `org-search-view' to locate results."
642 642
643(provide 'org-bibtex) 643(provide 'org-bibtex)
644 644
645;; arch-tag: 83987d5a-01b8-41c7-85bc-77700f1285f5 645
646 646
647;;; org-bibtex.el ends here 647;;; org-bibtex.el ends here
diff --git a/lisp/org/org-capture.el b/lisp/org/org-capture.el
index d2a011249c9..05cca0e311e 100644
--- a/lisp/org/org-capture.el
+++ b/lisp/org/org-capture.el
@@ -1,6 +1,6 @@
1;;; org-capture.el --- Fast note taking in Org-mode 1;;; org-capture.el --- Fast note taking in Org-mode
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -57,8 +57,6 @@
57 (date &optional keep-restriction)) 57 (date &optional keep-restriction))
58(declare-function org-table-get-specials "org-table" ()) 58(declare-function org-table-get-specials "org-table" ())
59(declare-function org-table-goto-line "org-table" (N)) 59(declare-function org-table-goto-line "org-table" (N))
60(declare-function org-pop-to-buffer-same-window "org-compat"
61 (&optional buffer-or-name norecord label))
62 60
63(defvar org-remember-default-headline) 61(defvar org-remember-default-headline)
64(defvar org-remember-templates) 62(defvar org-remember-templates)
@@ -1201,7 +1199,7 @@ The user is queried for the template."
1201 (error "No capture template selected")) 1199 (error "No capture template selected"))
1202 (org-capture-set-plist entry) 1200 (org-capture-set-plist entry)
1203 (org-capture-set-target-location) 1201 (org-capture-set-target-location)
1204 (org-pop-to-buffer-same-window (org-capture-get :buffer)) 1202 (switch-to-buffer (org-capture-get :buffer))
1205 (goto-char (org-capture-get :pos)))) 1203 (goto-char (org-capture-get :pos))))
1206 1204
1207(defun org-capture-get-indirect-buffer (&optional buffer prefix) 1205(defun org-capture-get-indirect-buffer (&optional buffer prefix)
@@ -1311,7 +1309,7 @@ The template may still contain \"%?\" for cursor positioning."
1311 (sit-for 1)) 1309 (sit-for 1))
1312 (save-window-excursion 1310 (save-window-excursion
1313 (delete-other-windows) 1311 (delete-other-windows)
1314 (org-pop-to-buffer-same-window (get-buffer-create "*Capture*")) 1312 (switch-to-buffer (get-buffer-create "*Capture*"))
1315 (erase-buffer) 1313 (erase-buffer)
1316 (insert template) 1314 (insert template)
1317 (goto-char (point-min)) 1315 (goto-char (point-min))
@@ -1505,6 +1503,6 @@ The template may still contain \"%?\" for cursor positioning."
1505 1503
1506(provide 'org-capture) 1504(provide 'org-capture)
1507 1505
1508;; arch-tag: 986bf41b-8ada-4e28-bf20-e8388a7205a0 1506
1509 1507
1510;;; org-capture.el ends here 1508;;; org-capture.el ends here
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index 91d4ef11193..de5087e163c 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -1,7 +1,6 @@
1;;; org-clock.el --- The time clocking code for Org-mode 1;;; org-clock.el --- The time clocking code for Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -37,7 +36,6 @@
37 36
38(declare-function calendar-absolute-from-iso "cal-iso" (&optional date)) 37(declare-function calendar-absolute-from-iso "cal-iso" (&optional date))
39(declare-function notifications-notify "notifications" (&rest params)) 38(declare-function notifications-notify "notifications" (&rest params))
40(declare-function org-pop-to-buffer-same-window "org-compat" (&optional buffer-or-name norecord label))
41(defvar org-time-stamp-formats) 39(defvar org-time-stamp-formats)
42(defvar org-ts-what) 40(defvar org-ts-what)
43 41
@@ -1499,7 +1497,7 @@ With prefix arg SELECT, offer recently clocked tasks for selection."
1499 (setq recent t) 1497 (setq recent t)
1500 (car org-clock-history)) 1498 (car org-clock-history))
1501 (t (error "No active or recent clock task"))))) 1499 (t (error "No active or recent clock task")))))
1502 (org-pop-to-buffer-same-window (marker-buffer m)) 1500 (switch-to-buffer (marker-buffer m))
1503 (if (or (< m (point-min)) (> m (point-max))) (widen)) 1501 (if (or (< m (point-min)) (> m (point-max))) (widen))
1504 (goto-char m) 1502 (goto-char m)
1505 (org-show-entry) 1503 (org-show-entry)
@@ -2640,7 +2638,7 @@ The details of what will be saved are regulated by the variable
2640 2638
2641(provide 'org-clock) 2639(provide 'org-clock)
2642 2640
2643;; arch-tag: 7b42c5d4-9b36-48be-97c0-66a869daed4c 2641
2644 2642
2645;;; org-clock.el ends here 2643;;; org-clock.el ends here
2646 2644
diff --git a/lisp/org/org-colview.el b/lisp/org/org-colview.el
index debc92a101d..05df6bb7524 100644
--- a/lisp/org/org-colview.el
+++ b/lisp/org/org-colview.el
@@ -1,7 +1,6 @@
1;;; org-colview.el --- Column View in Org-mode 1;;; org-colview.el --- Column View in Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -1526,6 +1525,6 @@ The string should be two numbers joined with a \"-\"."
1526 1525
1527(provide 'org-colview) 1526(provide 'org-colview)
1528 1527
1529;; arch-tag: 61f5128d-747c-4983-9479-e3871fa3d73c 1528
1530 1529
1531;;; org-colview.el ends here 1530;;; org-colview.el ends here
diff --git a/lisp/org/org-compat.el b/lisp/org/org-compat.el
index e96918cbcb5..896acc5aeae 100644
--- a/lisp/org/org-compat.el
+++ b/lisp/org/org-compat.el
@@ -1,7 +1,6 @@
1;;; org-compat.el --- Compatibility code for Org-mode 1;;; org-compat.el --- Compatibility code for Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -433,17 +432,8 @@ With two arguments, return floor and remainder of their quotient."
433 (let ((q (floor x y))) 432 (let ((q (floor x y)))
434 (list q (- x (if y (* y q) q))))) 433 (list q (- x (if y (* y q) q)))))
435 434
436;; `pop-to-buffer-same-window' has been introduced with Emacs 24.1.
437(defun org-pop-to-buffer-same-window
438 (&optional buffer-or-name norecord label)
439 "Pop to buffer specified by BUFFER-OR-NAME in the selected window."
440 (if (fboundp 'pop-to-buffer-same-window)
441 (funcall
442 'pop-to-buffer-same-window buffer-or-name norecord label)
443 (funcall 'switch-to-buffer buffer-or-name norecord)))
444
445(provide 'org-compat) 435(provide 'org-compat)
446 436
447;; arch-tag: a0a0579f-e68c-4bdf-9e55-93768b846bbe 437
448 438
449;;; org-compat.el ends here 439;;; org-compat.el ends here
diff --git a/lisp/org/org-crypt.el b/lisp/org/org-crypt.el
index 28d92cc63f7..b260391a0da 100644
--- a/lisp/org/org-crypt.el
+++ b/lisp/org/org-crypt.el
@@ -1,6 +1,6 @@
1;;; org-crypt.el --- Public key encryption for org-mode entries 1;;; org-crypt.el --- Public key encryption for org-mode entries
2 2
3;; Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
4 4
5;; Emacs Lisp Archive Entry 5;; Emacs Lisp Archive Entry
6;; Filename: org-crypt.el 6;; Filename: org-crypt.el
@@ -252,6 +252,6 @@ nil : Leave auto-save-mode enabled.
252 252
253(provide 'org-crypt) 253(provide 'org-crypt)
254 254
255;; arch-tag: 8202ed2c-221e-4001-9e4b-54674a7e846e 255
256 256
257;;; org-crypt.el ends here 257;;; org-crypt.el ends here
diff --git a/lisp/org/org-ctags.el b/lisp/org/org-ctags.el
index f28823f30e9..48eced9ea08 100644
--- a/lisp/org/org-ctags.el
+++ b/lisp/org/org-ctags.el
@@ -1,6 +1,6 @@
1;;; org-ctags.el - Integrate Emacs "tags" facility with org mode. 1;;; org-ctags.el - Integrate Emacs "tags" facility with org mode.
2;; 2;;
3;; Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
4 4
5;; Author: Paul Sexton <eeeickythump@gmail.com> 5;; Author: Paul Sexton <eeeickythump@gmail.com>
6;; Version: 7.7 6;; Version: 7.7
@@ -140,8 +140,6 @@
140 140
141(require 'org) 141(require 'org)
142 142
143(declare-function org-pop-to-buffer-same-window "org-compat" (&optional buffer-or-name norecord label))
144
145(defgroup org-ctags nil 143(defgroup org-ctags nil
146 "Options concerning use of ctags within org mode." 144 "Options concerning use of ctags within org mode."
147 :tag "Org-Ctags" 145 :tag "Org-Ctags"
@@ -387,7 +385,7 @@ the new file."
387 (cond 385 (cond
388 ((get-buffer (concat name ".org")) 386 ((get-buffer (concat name ".org"))
389 ;; Buffer is already open 387 ;; Buffer is already open
390 (org-pop-to-buffer-same-window (get-buffer (concat name ".org")))) 388 (switch-to-buffer (get-buffer (concat name ".org"))))
391 ((file-exists-p filename) 389 ((file-exists-p filename)
392 ;; File exists but is not open --> open it 390 ;; File exists but is not open --> open it
393 (message "Opening existing org file `%S'..." 391 (message "Opening existing org file `%S'..."
@@ -539,5 +537,5 @@ a new topic."
539 537
540(provide 'org-ctags) 538(provide 'org-ctags)
541 539
542;; arch-tag: 4b1ddd5a-8529-4b17-bcde-96a922d26343 540
543;;; org-ctags.el ends here 541;;; org-ctags.el ends here
diff --git a/lisp/org/org-datetree.el b/lisp/org/org-datetree.el
index 11e81a8a155..f02f3789823 100644
--- a/lisp/org/org-datetree.el
+++ b/lisp/org/org-datetree.el
@@ -1,6 +1,6 @@
1;;; org-datetree.el --- Create date entries in a tree 1;;; org-datetree.el --- Create date entries in a tree
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -195,6 +195,6 @@ before running this command, even though the command tries to be smart."
195 195
196(provide 'org-datetree) 196(provide 'org-datetree)
197 197
198;; arch-tag: 1daea962-fd08-448b-9f98-6e8b511b3601 198
199 199
200;;; org-datetree.el ends here 200;;; org-datetree.el ends here
diff --git a/lisp/org/org-docbook.el b/lisp/org/org-docbook.el
index bb17a4dcde2..f964a93fa1c 100644
--- a/lisp/org/org-docbook.el
+++ b/lisp/org/org-docbook.el
@@ -1,6 +1,6 @@
1;;; org-docbook.el --- DocBook exporter for org-mode 1;;; org-docbook.el --- DocBook exporter for org-mode
2;; 2;;
3;; Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
4;; 4;;
5;; Emacs Lisp Archive Entry 5;; Emacs Lisp Archive Entry
6;; Filename: org-docbook.el 6;; Filename: org-docbook.el
@@ -1445,5 +1445,5 @@ the alist of previous items."
1445 1445
1446(provide 'org-docbook) 1446(provide 'org-docbook)
1447 1447
1448;; arch-tag: a24a127c-d365-4c2a-9e9b-f7dcb0ebfdc3 1448
1449;;; org-docbook.el ends here 1449;;; org-docbook.el ends here
diff --git a/lisp/org/org-docview.el b/lisp/org/org-docview.el
index e13cdfd666a..201567251d7 100644
--- a/lisp/org/org-docview.el
+++ b/lisp/org/org-docview.el
@@ -1,6 +1,6 @@
1;;; org-docview.el --- support for links to doc-view-mode buffers 1;;; org-docview.el --- support for links to doc-view-mode buffers
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Jan Böcker <jan.boecker at jboecker dot de> 5;; Author: Jan Böcker <jan.boecker at jboecker dot de>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -88,6 +88,6 @@ and append it."
88 88
89(provide 'org-docview) 89(provide 'org-docview)
90 90
91;; arch-tag: dd147a78-cce1-481b-b40a-15869417debe 91
92 92
93;;; org-docview.el ends here 93;;; org-docview.el ends here
diff --git a/lisp/org/org-entities.el b/lisp/org/org-entities.el
index 0146abb07cf..1e7fd627a17 100644
--- a/lisp/org/org-entities.el
+++ b/lisp/org/org-entities.el
@@ -1,6 +1,6 @@
1;;; org-entities.el --- Support for special entities in Org-mode 1;;; org-entities.el --- Support for special entities in Org-mode
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org>, 5;; Author: Carsten Dominik <carsten at orgmode dot org>,
6;; Ulf Stegemann <ulf at zeitform dot de> 6;; Ulf Stegemann <ulf at zeitform dot de>
@@ -568,6 +568,6 @@ Kind can be any of `latex', `html', `ascii', `latin1', or `utf8'."
568;; coding: utf-8 568;; coding: utf-8
569;; End: 569;; End:
570 570
571;; arch-tag: e6bd163f-7419-4009-9c93-a74623016424 571
572 572
573;;; org-entities.el ends here 573;;; org-entities.el ends here
diff --git a/lisp/org/org-exp-blocks.el b/lisp/org/org-exp-blocks.el
index 43cb9d10f03..398da3859d0 100644
--- a/lisp/org/org-exp-blocks.el
+++ b/lisp/org/org-exp-blocks.el
@@ -1,7 +1,6 @@
1;;; org-exp-blocks.el --- pre-process blocks when exporting org files 1;;; org-exp-blocks.el --- pre-process blocks when exporting org files
2 2
3;; Copyright (C) 2009, 2010 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Eric Schulte 5;; Author: Eric Schulte
7;; Version: 7.7 6;; Version: 7.7
@@ -377,5 +376,5 @@ other backends, it converts the comment into an EXAMPLE segment."
377 376
378(provide 'org-exp-blocks) 377(provide 'org-exp-blocks)
379 378
380;; arch-tag: 1c365fe9-8808-4f72-bb15-0b00f36d8024 379
381;;; org-exp-blocks.el ends here 380;;; org-exp-blocks.el ends here
diff --git a/lisp/org/org-exp.el b/lisp/org/org-exp.el
index b00e86dabf6..ee8e6027706 100644
--- a/lisp/org/org-exp.el
+++ b/lisp/org/org-exp.el
@@ -1,7 +1,6 @@
1;;; org-exp.el --- ASCII, HTML, XOXO and iCalendar export for Org-mode 1;;; org-exp.el --- ASCII, HTML, XOXO and iCalendar export for Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -48,8 +47,6 @@
48(declare-function org-inlinetask-remove-END-maybe "org-inlinetask" ()) 47(declare-function org-inlinetask-remove-END-maybe "org-inlinetask" ())
49(declare-function org-table-cookie-line-p "org-table" (line)) 48(declare-function org-table-cookie-line-p "org-table" (line))
50(declare-function org-table-colgroup-line-p "org-table" (line)) 49(declare-function org-table-colgroup-line-p "org-table" (line))
51(declare-function org-pop-to-buffer-same-window "org-compat"
52 (&optional buffer-or-name norecord label))
53 50
54(autoload 'org-export-generic "org-export-generic" "Export using the generic exporter" t) 51(autoload 'org-export-generic "org-export-generic" "Export using the generic exporter" t)
55 52
@@ -2975,7 +2972,7 @@ directory."
2975 (region (buffer-string)) 2972 (region (buffer-string))
2976 str-ret) 2973 str-ret)
2977 (save-excursion 2974 (save-excursion
2978 (org-pop-to-buffer-same-window buffer) 2975 (switch-to-buffer buffer)
2979 (erase-buffer) 2976 (erase-buffer)
2980 (insert region) 2977 (insert region)
2981 (let ((org-inhibit-startup t)) (org-mode)) 2978 (let ((org-inhibit-startup t)) (org-mode))
@@ -3231,6 +3228,6 @@ The depends on the variable `org-export-copy-to-kill'."
3231 3228
3232(provide 'org-exp) 3229(provide 'org-exp)
3233 3230
3234;; arch-tag: 65985fe9-095c-49c7-a7b6-cb4ee15c0a95 3231
3235 3232
3236;;; org-exp.el ends here 3233;;; org-exp.el ends here
diff --git a/lisp/org/org-faces.el b/lisp/org/org-faces.el
index 960eb615450..af9632eec44 100644
--- a/lisp/org/org-faces.el
+++ b/lisp/org/org-faces.el
@@ -1,7 +1,6 @@
1;;; org-faces.el --- Face definitions for Org-mode. 1;;; org-faces.el --- Face definitions for Org-mode.
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -736,6 +735,6 @@ level org-n-level-faces"
736 735
737(provide 'org-faces) 736(provide 'org-faces)
738 737
739;; arch-tag: 9dab5f91-c4b9-4d6f-bac3-1f6211ad0a04 738
740 739
741;;; org-faces.el ends here 740;;; org-faces.el ends here
diff --git a/lisp/org/org-feed.el b/lisp/org/org-feed.el
index a05463a2875..d1b31f11b4a 100644
--- a/lisp/org/org-feed.el
+++ b/lisp/org/org-feed.el
@@ -1,6 +1,6 @@
1;;; org-feed.el --- Add RSS feed items to Org files 1;;; org-feed.el --- Add RSS feed items to Org files
2;; 2;;
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4;; 4;;
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -436,7 +436,7 @@ it can be a list structured like an entry in `org-feed-alist'."
436 (if (stringp feed) (setq feed (assoc feed org-feed-alist))) 436 (if (stringp feed) (setq feed (assoc feed org-feed-alist)))
437 (unless feed 437 (unless feed
438 (error "No such feed in `org-feed-alist")) 438 (error "No such feed in `org-feed-alist"))
439 (org-pop-to-buffer-same-window 439 (switch-to-buffer
440 (org-feed-update feed 'retrieve-only)) 440 (org-feed-update feed 'retrieve-only))
441 (goto-char (point-min))) 441 (goto-char (point-min)))
442 442
@@ -674,5 +674,5 @@ formatted as a string, not the original XML data."
674 674
675(provide 'org-feed) 675(provide 'org-feed)
676 676
677;; arch-tag: 0929b557-9bc4-47f4-9633-30a12dbb5ae2 677
678;;; org-feed.el ends here 678;;; org-feed.el ends here
diff --git a/lisp/org/org-footnote.el b/lisp/org/org-footnote.el
index 9a92bd5db1d..223d2573fdb 100644
--- a/lisp/org/org-footnote.el
+++ b/lisp/org/org-footnote.el
@@ -1,6 +1,6 @@
1;;; org-footnote.el --- Footnote support in Org and elsewhere 1;;; org-footnote.el --- Footnote support in Org and elsewhere
2;; 2;;
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4;; 4;;
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -862,6 +862,6 @@ If LABEL is non-nil, delete that footnote instead."
862 862
863(provide 'org-footnote) 863(provide 'org-footnote)
864 864
865;; arch-tag: 1b5954df-fb5d-4da5-8709-78d944dbfc37 865
866 866
867;;; org-footnote.el ends here 867;;; org-footnote.el ends here
diff --git a/lisp/org/org-freemind.el b/lisp/org/org-freemind.el
index 6664bf1f4f2..91a1e5e59cb 100644
--- a/lisp/org/org-freemind.el
+++ b/lisp/org/org-freemind.el
@@ -1,6 +1,6 @@
1;;; org-freemind.el --- Export Org files to freemind 1;;; org-freemind.el --- Export Org files to freemind
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: Lennart Borgman (lennart O borgman A gmail O com) 5;; Author: Lennart Borgman (lennart O borgman A gmail O com)
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -57,26 +57,6 @@
57;; Added y/n question before showing in FreeMind. 57;; Added y/n question before showing in FreeMind.
58;; 2009-11-04: Added support for #+BEGIN_HTML. 58;; 2009-11-04: Added support for #+BEGIN_HTML.
59;; 59;;
60;;
61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
62;;
63;; This program is free software; you can redistribute it and/or
64;; modify it under the terms of the GNU General Public License as
65;; published by the Free Software Foundation; either version 2, or
66;; (at your option) any later version.
67;;
68;; This program is distributed in the hope that it will be useful,
69;; but WITHOUT ANY WARRANTY; without even the implied warranty of
70;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
71;; General Public License for more details.
72;;
73;; You should have received a copy of the GNU General Public License
74;; along with this program; see the file COPYING. If not, write to
75;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
76;; Floor, Boston, MA 02110-1301, USA.
77;;
78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
79;;
80;;; Code: 60;;; Code:
81 61
82(require 'xml) 62(require 'xml)
@@ -1237,7 +1217,7 @@ PATH should be a list of steps, where each step has the form
1237 1217
1238(provide 'org-freemind) 1218(provide 'org-freemind)
1239 1219
1240;; arch-tag: e7b0d776-94fd-404a-b35e-0f855fae3627 1220
1241 1221
1242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1222;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1243;;; org-freemind.el ends here 1223;;; org-freemind.el ends here
diff --git a/lisp/org/org-gnus.el b/lisp/org/org-gnus.el
index da0712b9249..0ccb66ca497 100644
--- a/lisp/org/org-gnus.el
+++ b/lisp/org/org-gnus.el
@@ -1,7 +1,6 @@
1;;; org-gnus.el --- Support for links to Gnus groups and messages from within Org-mode 1;;; org-gnus.el --- Support for links to Gnus groups and messages from within Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Tassilo Horn <tassilo at member dot fsf dot org> 6;; Tassilo Horn <tassilo at member dot fsf dot org>
@@ -291,6 +290,6 @@ If `org-store-link' was called with a prefix arg the meaning of
291 290
292(provide 'org-gnus) 291(provide 'org-gnus)
293 292
294;; arch-tag: 512e0840-58fa-45b3-b456-71e10fa2376d 293
295 294
296;;; org-gnus.el ends here 295;;; org-gnus.el ends here
diff --git a/lisp/org/org-habit.el b/lisp/org/org-habit.el
index ebdfa0c773c..c146a5bebbd 100644
--- a/lisp/org/org-habit.el
+++ b/lisp/org/org-habit.el
@@ -1,6 +1,6 @@
1;;; org-habit.el --- The habit tracking code for Org-mode 1;;; org-habit.el --- The habit tracking code for Org-mode
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4 4
5;; Author: John Wiegley <johnw at gnu dot org> 5;; Author: John Wiegley <johnw at gnu dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -358,6 +358,6 @@ current time."
358 358
359(provide 'org-habit) 359(provide 'org-habit)
360 360
361;; arch-tag: 64e070d9-bd09-4917-bd44-44465f5ed348 361
362 362
363;;; org-habit.el ends here 363;;; org-habit.el ends here
diff --git a/lisp/org/org-html.el b/lisp/org/org-html.el
index c150b3d8dd2..46126ce2573 100644
--- a/lisp/org/org-html.el
+++ b/lisp/org/org-html.el
@@ -1,7 +1,6 @@
1;;; org-html.el --- HTML export for Org-mode 1;;; org-html.el --- HTML export for Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -35,8 +34,6 @@
35 34
36(declare-function org-id-find-id-file "org-id" (id)) 35(declare-function org-id-find-id-file "org-id" (id))
37(declare-function htmlize-region "ext:htmlize" (beg end)) 36(declare-function htmlize-region "ext:htmlize" (beg end))
38(declare-function org-pop-to-buffer-same-window
39 "org-compat" (&optional buffer-or-name norecord label))
40 37
41(defgroup org-export-html nil 38(defgroup org-export-html nil
42 "Options specific for HTML export of Org-mode files." 39 "Options specific for HTML export of Org-mode files."
@@ -2266,7 +2263,7 @@ that uses these same face definitions."
2266 (when (and (symbolp f) (or (not i) (not (listp i)))) 2263 (when (and (symbolp f) (or (not i) (not (listp i))))
2267 (insert (org-add-props (copy-sequence "1") nil 'face f)))) 2264 (insert (org-add-props (copy-sequence "1") nil 'face f))))
2268 (htmlize-region (point-min) (point-max)))) 2265 (htmlize-region (point-min) (point-max))))
2269 (org-pop-to-buffer-same-window "*html*") 2266 (switch-to-buffer "*html*")
2270 (goto-char (point-min)) 2267 (goto-char (point-min))
2271 (if (re-search-forward "<style" nil t) 2268 (if (re-search-forward "<style" nil t)
2272 (delete-region (point-min) (match-beginning 0))) 2269 (delete-region (point-min) (match-beginning 0)))
@@ -2607,5 +2604,5 @@ the alist of previous items."
2607 2604
2608(provide 'org-html) 2605(provide 'org-html)
2609 2606
2610;; arch-tag: 8109d84d-eb8f-460b-b1a8-f45f3a6c7ea1 2607
2611;;; org-html.el ends here 2608;;; org-html.el ends here
diff --git a/lisp/org/org-icalendar.el b/lisp/org/org-icalendar.el
index bc0efce6a81..dd64fc2f783 100644
--- a/lisp/org/org-icalendar.el
+++ b/lisp/org/org-icalendar.el
@@ -1,7 +1,6 @@
1;;; org-icalendar.el --- iCalendar export for Org-mode 1;;; org-icalendar.el --- iCalendar export for Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -685,5 +684,5 @@ a time), or the day by one (if it does not contain a time)."
685 684
686(provide 'org-icalendar) 685(provide 'org-icalendar)
687 686
688;; arch-tag: 2dee2b6e-9211-4aee-8a47-a3c7e5bc30cf 687
689;;; org-icalendar.el ends here 688;;; org-icalendar.el ends here
diff --git a/lisp/org/org-id.el b/lisp/org/org-id.el
index d724dff3060..c2d5cf0f25b 100644
--- a/lisp/org/org-id.el
+++ b/lisp/org/org-id.el
@@ -1,6 +1,6 @@
1;;; org-id.el --- Global identifiers for Org-mode entries 1;;; org-id.el --- Global identifiers for Org-mode entries
2;; 2;;
3;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
4;; 4;;
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -74,8 +74,6 @@
74(require 'org) 74(require 'org)
75 75
76(declare-function message-make-fqdn "message" ()) 76(declare-function message-make-fqdn "message" ())
77(declare-function org-pop-to-buffer-same-window
78 "org-compat" (&optional buffer-or-name norecord label))
79 77
80;;; Customization 78;;; Customization
81 79
@@ -255,7 +253,7 @@ Move the cursor to that entry in that buffer."
255 (let ((m (org-id-find id 'marker))) 253 (let ((m (org-id-find id 'marker)))
256 (unless m 254 (unless m
257 (error "Cannot find entry with ID \"%s\"" id)) 255 (error "Cannot find entry with ID \"%s\"" id))
258 (org-pop-to-buffer-same-window (marker-buffer m)) 256 (switch-to-buffer (marker-buffer m))
259 (goto-char m) 257 (goto-char m)
260 (move-marker m nil) 258 (move-marker m nil)
261 (org-show-context))) 259 (org-show-context)))
@@ -643,6 +641,6 @@ optional argument MARKERP, return the position as a new marker."
643 641
644;;; org-id.el ends here 642;;; org-id.el ends here
645 643
646;; arch-tag: e5abaca4-e16f-4b25-832a-540cfb63a712 644
647 645
648 646
diff --git a/lisp/org/org-indent.el b/lisp/org/org-indent.el
index 68821a4f772..a2099a4bde3 100644
--- a/lisp/org/org-indent.el
+++ b/lisp/org/org-indent.el
@@ -1,5 +1,5 @@
1;;; org-indent.el --- Dynamic indentation for Org-mode 1;;; org-indent.el --- Dynamic indentation for Org-mode
2;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 2;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
3;; 3;;
4;; Author: Carsten Dominik <carsten at orgmode dot org> 4;; Author: Carsten Dominik <carsten at orgmode dot org>
5;; Keywords: outlines, hypermedia, calendar, wp 5;; Keywords: outlines, hypermedia, calendar, wp
@@ -322,5 +322,5 @@ Point is assumed to be at the beginning of a headline."
322 322
323(provide 'org-indent) 323(provide 'org-indent)
324 324
325;; arch-tag: b76736bc-9f4a-43cd-977c-ecfd6689846a 325
326;;; org-indent.el ends here 326;;; org-indent.el ends here
diff --git a/lisp/org/org-info.el b/lisp/org/org-info.el
index d1bfc53e5e3..4f44045f9bf 100644
--- a/lisp/org/org-info.el
+++ b/lisp/org/org-info.el
@@ -1,7 +1,6 @@
1;;; org-info.el --- Support for links to Info nodes from within Org-Mode 1;;; org-info.el --- Support for links to Info nodes from within Org-Mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -78,6 +77,6 @@
78 77
79(provide 'org-info) 78(provide 'org-info)
80 79
81;; arch-tag: 1e289f54-7176-487f-b575-dd4854bab15e 80
82 81
83;;; org-info.el ends here 82;;; org-info.el ends here
diff --git a/lisp/org/org-inlinetask.el b/lisp/org/org-inlinetask.el
index 7a52d6b6b40..72c19062983 100644
--- a/lisp/org/org-inlinetask.el
+++ b/lisp/org/org-inlinetask.el
@@ -1,6 +1,6 @@
1;;; org-inlinetask.el --- Tasks independent of outline hierarchy 1;;; org-inlinetask.el --- Tasks independent of outline hierarchy
2 2
3;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
4;; 4;;
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
diff --git a/lisp/org/org-irc.el b/lisp/org/org-irc.el
index bc0e94450b7..7a84d2053ad 100644
--- a/lisp/org/org-irc.el
+++ b/lisp/org/org-irc.el
@@ -1,6 +1,6 @@
1;;; org-irc.el --- Store links to IRC sessions 1;;; org-irc.el --- Store links to IRC sessions
2;; 2;;
3;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
4;; 4;;
5;; Author: Philip Jackson <emacs@shellarchive.co.uk> 5;; Author: Philip Jackson <emacs@shellarchive.co.uk>
6;; Keywords: erc, irc, link, org 6;; Keywords: erc, irc, link, org
@@ -60,8 +60,6 @@
60(declare-function erc-server-buffer "erc" ()) 60(declare-function erc-server-buffer "erc" ())
61(declare-function erc-get-server-nickname-list "erc" ()) 61(declare-function erc-get-server-nickname-list "erc" ())
62(declare-function erc-cmd-JOIN "erc" (channel &optional key)) 62(declare-function erc-cmd-JOIN "erc" (channel &optional key))
63(declare-function org-pop-to-buffer-same-window
64 "org-compat" (&optional buffer-or-name norecord label))
65 63
66(defvar org-irc-client 'erc 64(defvar org-irc-client 'erc
67 "The IRC client to act on.") 65 "The IRC client to act on.")
@@ -234,7 +232,7 @@ default."
234 (throw 'found x)))))) 232 (throw 'found x))))))
235 (if chan-buf 233 (if chan-buf
236 (progn 234 (progn
237 (org-pop-to-buffer-same-window chan-buf) 235 (switch-to-buffer chan-buf)
238 ;; if we got a nick, and they're in the chan, 236 ;; if we got a nick, and they're in the chan,
239 ;; then start a chat with them 237 ;; then start a chat with them
240 (let ((nick (pop link))) 238 (let ((nick (pop link)))
@@ -245,14 +243,14 @@ default."
245 (insert (concat nick ": "))) 243 (insert (concat nick ": ")))
246 (error "%s not found in %s" nick chan-name))))) 244 (error "%s not found in %s" nick chan-name)))))
247 (progn 245 (progn
248 (org-pop-to-buffer-same-window server-buffer) 246 (switch-to-buffer server-buffer)
249 (erc-cmd-JOIN chan-name)))) 247 (erc-cmd-JOIN chan-name))))
250 (org-pop-to-buffer-same-window server-buffer))) 248 (switch-to-buffer server-buffer)))
251 ;; no server match, make new connection 249 ;; no server match, make new connection
252 (erc-select :server server :port port)))) 250 (erc-select :server server :port port))))
253 251
254(provide 'org-irc) 252(provide 'org-irc)
255 253
256;; arch-tag: 018d7dda-53b8-4a35-ba92-6670939e525a 254
257 255
258;;; org-irc.el ends here 256;;; org-irc.el ends here
diff --git a/lisp/org/org-jsinfo.el b/lisp/org/org-jsinfo.el
index cdefef8428c..3ef8c4c809c 100644
--- a/lisp/org/org-jsinfo.el
+++ b/lisp/org/org-jsinfo.el
@@ -1,7 +1,6 @@
1;;; org-jsinfo.el --- Support for org-info.js Javascript in Org HTML export 1;;; org-jsinfo.el --- Support for org-info.js Javascript in Org HTML export
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -205,6 +204,6 @@ Option settings will replace the %MANAGER-OPTIONS cookie."
205(provide 'org-infojs) 204(provide 'org-infojs)
206(provide 'org-jsinfo) 205(provide 'org-jsinfo)
207 206
208;; arch-tag: c71d1d85-3337-4817-a066-725e74ac9eac 207
209 208
210;;; org-jsinfo.el ends here 209;;; org-jsinfo.el ends here
diff --git a/lisp/org/org-latex.el b/lisp/org/org-latex.el
index bd9c1138c7f..0402b2da964 100644
--- a/lisp/org/org-latex.el
+++ b/lisp/org/org-latex.el
@@ -1,6 +1,6 @@
1;;; org-latex.el --- LaTeX exporter for org-mode 1;;; org-latex.el --- LaTeX exporter for org-mode
2;; 2;;
3;; Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
4;; 4;;
5;; Emacs Lisp Archive Entry 5;; Emacs Lisp Archive Entry
6;; Filename: org-latex.el 6;; Filename: org-latex.el
@@ -2769,6 +2769,6 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
2769(provide 'org-export-latex) 2769(provide 'org-export-latex)
2770(provide 'org-latex) 2770(provide 'org-latex)
2771 2771
2772;; arch-tag: 23c2b87d-da04-4c2d-ad2d-1eb6487bc3ad 2772
2773 2773
2774;;; org-latex.el ends here 2774;;; org-latex.el ends here
diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el
index 2339c4d1bc1..d3c5dd99aa6 100644
--- a/lisp/org/org-list.el
+++ b/lisp/org/org-list.el
@@ -1,7 +1,6 @@
1;;; org-list.el --- Plain lists for Org-mode 1;;; org-list.el --- Plain lists for Org-mode
2;; 2;;
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5;; 4;;
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Bastien Guerry <bzg AT altern DOT org> 6;; Bastien Guerry <bzg AT altern DOT org>
@@ -3201,5 +3200,5 @@ with overruling parameters for `org-list-to-generic'."
3201 3200
3202(provide 'org-list) 3201(provide 'org-list)
3203 3202
3204;; arch-tag: 73cf50c1-200f-4d1d-8a53-4e842a5b11c8 3203
3205;;; org-list.el ends here 3204;;; org-list.el ends here
diff --git a/lisp/org/org-mac-message.el b/lisp/org/org-mac-message.el
index 9c1089994ba..fc52b92a21d 100644
--- a/lisp/org/org-mac-message.el
+++ b/lisp/org/org-mac-message.el
@@ -1,6 +1,6 @@
1;;; org-mac-message.el --- Links to Apple Mail.app messages from within Org-mode 1;;; org-mac-message.el --- Links to Apple Mail.app messages from within Org-mode
2 2
3;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
4 4
5;; Author: John Wiegley <johnw@gnu.org> 5;; Author: John Wiegley <johnw@gnu.org>
6;; Christopher Suckling <suckling at gmail dot com> 6;; Christopher Suckling <suckling at gmail dot com>
@@ -214,6 +214,6 @@ list of message:// links to flagged mail after heading."
214 214
215(provide 'org-mac-message) 215(provide 'org-mac-message)
216 216
217;; arch-tag: 3806d0c1-abe1-4db6-9c31-f3ed7d4a9b32 217
218 218
219;;; org-mac-message.el ends here 219;;; org-mac-message.el ends here
diff --git a/lisp/org/org-macs.el b/lisp/org/org-macs.el
index 906be613a9c..dc413f4d993 100644
--- a/lisp/org/org-macs.el
+++ b/lisp/org/org-macs.el
@@ -1,7 +1,6 @@
1;;; org-macs.el --- Top-level definitions for Org-mode 1;;; org-macs.el --- Top-level definitions for Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -372,6 +371,6 @@ The number of levels is controlled by `org-inlinetask-min-level'"
372 371
373(provide 'org-macs) 372(provide 'org-macs)
374 373
375;; arch-tag: 7e6a73ce-aac9-4fc0-9b30-ce6f89dc6668 374
376 375
377;;; org-macs.el ends here 376;;; org-macs.el ends here
diff --git a/lisp/org/org-mew.el b/lisp/org/org-mew.el
index 2f095949858..97cad1ae316 100644
--- a/lisp/org/org-mew.el
+++ b/lisp/org/org-mew.el
@@ -1,6 +1,6 @@
1;;; org-mew.el --- Support for links to Mew messages from within Org-mode 1;;; org-mew.el --- Support for links to Mew messages from within Org-mode
2 2
3;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
4 4
5;; Author: Tokuya Kameshima <kames at fa2 dot so-net dot ne dot jp> 5;; Author: Tokuya Kameshima <kames at fa2 dot so-net dot ne dot jp>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -135,6 +135,6 @@
135 135
136(provide 'org-mew) 136(provide 'org-mew)
137 137
138;; arch-tag: 07ccdca7-6020-4941-a593-588a1e51b870 138
139 139
140;;; org-mew.el ends here 140;;; org-mew.el ends here
diff --git a/lisp/org/org-mhe.el b/lisp/org/org-mhe.el
index c75bed37b8c..7075018894f 100644
--- a/lisp/org/org-mhe.el
+++ b/lisp/org/org-mhe.el
@@ -1,7 +1,6 @@
1;;; org-mhe.el --- Support for links to MH-E messages from within Org-mode 1;;; org-mhe.el --- Support for links to MH-E messages from within Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Thomas Baumann <thomas dot baumann at ch dot tum dot de> 5;; Author: Thomas Baumann <thomas dot baumann at ch dot tum dot de>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -226,6 +225,6 @@ folders."
226 225
227(provide 'org-mhe) 226(provide 'org-mhe)
228 227
229;; arch-tag: dcb05484-8627-491d-a8c1-01dbd2bde4ae 228
230 229
231;;; org-mhe.el ends here 230;;; org-mhe.el ends here
diff --git a/lisp/org/org-mks.el b/lisp/org/org-mks.el
index c71db81b52f..5f3ebbb6c81 100644
--- a/lisp/org/org-mks.el
+++ b/lisp/org/org-mks.el
@@ -1,6 +1,6 @@
1;;; org-mks.el --- Multi-key-selection for Org-mode 1;;; org-mks.el --- Multi-key-selection for Org-mode
2 2
3;; Copyright (C) 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -132,6 +132,6 @@ only the bare key is returned."
132 132
133(provide 'org-mks) 133(provide 'org-mks)
134 134
135;; arch-tag: 4ea90d0e-c6e4-4684-bd61-baf878712f9f 135
136 136
137;;; org-mks.el ends here 137;;; org-mks.el ends here
diff --git a/lisp/org/org-mobile.el b/lisp/org/org-mobile.el
index 40fe7031c6f..f270419877e 100644
--- a/lisp/org/org-mobile.el
+++ b/lisp/org/org-mobile.el
@@ -1,5 +1,5 @@
1;;; org-mobile.el --- Code for asymmetric sync with a mobile device 1;;; org-mobile.el --- Code for asymmetric sync with a mobile device
2;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. 2;; Copyright (C) 2009-2011 Free Software Foundation, Inc.
3;; 3;;
4;; Author: Carsten Dominik <carsten at orgmode dot org> 4;; Author: Carsten Dominik <carsten at orgmode dot org>
5;; Keywords: outlines, hypermedia, calendar, wp 5;; Keywords: outlines, hypermedia, calendar, wp
@@ -38,9 +38,6 @@
38 38
39(eval-when-compile (require 'cl)) 39(eval-when-compile (require 'cl))
40 40
41(declare-function org-pop-to-buffer-same-window
42 "org-compat" (&optional buffer-or-name norecord label))
43
44(defgroup org-mobile nil 41(defgroup org-mobile nil
45 "Options concerning support for a viewer/editor on a mobile device." 42 "Options concerning support for a viewer/editor on a mobile device."
46 :tag "Org Mobile" 43 :tag "Org Mobile"
@@ -912,7 +909,7 @@ If BEG and END are given, only do this in that region."
912 (buffer-file-name (current-buffer)))))) 909 (buffer-file-name (current-buffer))))))
913 (error (setq org-mobile-error msg)))) 910 (error (setq org-mobile-error msg))))
914 (when org-mobile-error 911 (when org-mobile-error
915 (org-pop-to-buffer-same-window (marker-buffer marker)) 912 (switch-to-buffer (marker-buffer marker))
916 (goto-char marker) 913 (goto-char marker)
917 (incf cnt-error) 914 (incf cnt-error)
918 (insert (if (stringp (nth 1 org-mobile-error)) 915 (insert (if (stringp (nth 1 org-mobile-error))
@@ -1099,7 +1096,7 @@ A and B must be strings or nil."
1099 1096
1100(provide 'org-mobile) 1097(provide 'org-mobile)
1101 1098
1102;; arch-tag: ace0e26c-58f2-4309-8a61-05ec1535f658 1099
1103 1100
1104;;; org-mobile.el ends here 1101;;; org-mobile.el ends here
1105 1102
diff --git a/lisp/org/org-mouse.el b/lisp/org/org-mouse.el
index 8d59073ce40..8f1e7735693 100644
--- a/lisp/org/org-mouse.el
+++ b/lisp/org/org-mouse.el
@@ -1,6 +1,6 @@
1;;; org-mouse.el --- Better mouse support for org-mode 1;;; org-mouse.el --- Better mouse support for org-mode
2 2
3;; Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation 3;; Copyright (C) 2006-2011 Free Software Foundation
4;; 4;;
5;; Author: Piotr Zielinski <piotr dot zielinski at gmail dot com> 5;; Author: Piotr Zielinski <piotr dot zielinski at gmail dot com>
6;; Maintainer: Carsten Dominik <carsten at orgmode dot org> 6;; Maintainer: Carsten Dominik <carsten at orgmode dot org>
@@ -1146,6 +1146,6 @@ This means, between the beginning of line and the point."
1146 1146
1147(provide 'org-mouse) 1147(provide 'org-mouse)
1148 1148
1149;; arch-tag: ff1ae557-3529-41a3-95c6-baaebdcc280f 1149
1150 1150
1151;;; org-mouse.el ends here 1151;;; org-mouse.el ends here
diff --git a/lisp/org/org-pcomplete.el b/lisp/org/org-pcomplete.el
index e34ab38e4e5..cede736d929 100644
--- a/lisp/org/org-pcomplete.el
+++ b/lisp/org/org-pcomplete.el
@@ -1,7 +1,6 @@
1;;; org-pcomplete.el --- In-buffer completion code 1;;; org-pcomplete.el --- In-buffer completion code
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5;; 4;;
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; John Wiegley <johnw at gnu dot org> 6;; John Wiegley <johnw at gnu dot org>
@@ -277,6 +276,6 @@ Complete a language in the first field, the header arguments and switches."
277 276
278(provide 'org-pcomplete) 277(provide 'org-pcomplete)
279 278
280;; arch-tag: 279
281 280
282;;; org-pcomplete.el ends here 281;;; org-pcomplete.el ends here
diff --git a/lisp/org/org-plot.el b/lisp/org/org-plot.el
index 7f1bbac06b6..b90c248eb6d 100644
--- a/lisp/org/org-plot.el
+++ b/lisp/org/org-plot.el
@@ -1,6 +1,6 @@
1;;; org-plot.el --- Support for plotting from Org-mode 1;;; org-plot.el --- Support for plotting from Org-mode
2 2
3;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
4;; 4;;
5;; Author: Eric Schulte <schulte dot eric at gmail dot com> 5;; Author: Eric Schulte <schulte dot eric at gmail dot com>
6;; Keywords: tables, plotting 6;; Keywords: tables, plotting
@@ -350,5 +350,5 @@ line directly before or after the table."
350 350
351(provide 'org-plot) 351(provide 'org-plot)
352 352
353;; arch-tag: 5763f7c6-0c75-416d-b070-398ee4ec0eca 353
354;;; org-plot.el ends here 354;;; org-plot.el ends here
diff --git a/lisp/org/org-protocol.el b/lisp/org/org-protocol.el
index 42a71224aea..655123cafa9 100644
--- a/lisp/org/org-protocol.el
+++ b/lisp/org/org-protocol.el
@@ -1,7 +1,6 @@
1;;; org-protocol.el --- Intercept calls from emacsclient to trigger custom actions. 1;;; org-protocol.el --- Intercept calls from emacsclient to trigger custom actions.
2;; 2;;
3;; Copyright (C) 2008, 2009, 2010 3;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5;; 4;;
6;; Author: Bastien Guerry <bzg AT altern DOT org> 5;; Author: Bastien Guerry <bzg AT altern DOT org>
7;; Author: Daniel M German <dmg AT uvic DOT org> 6;; Author: Daniel M German <dmg AT uvic DOT org>
@@ -645,5 +644,5 @@ project-plist is the CDR of an element in `org-publish-project-alist', reuse
645 644
646(provide 'org-protocol) 645(provide 'org-protocol)
647 646
648;; arch-tag: b5c5c2ac-77cf-4a94-a649-2163dff95846 647
649;;; org-protocol.el ends here 648;;; org-protocol.el ends here
diff --git a/lisp/org/org-publish.el b/lisp/org/org-publish.el
index 67bccae15a2..ddb3cf7b63a 100644
--- a/lisp/org/org-publish.el
+++ b/lisp/org/org-publish.el
@@ -1,6 +1,5 @@
1;;; org-publish.el --- publish related org-mode files as a website 1;;; org-publish.el --- publish related org-mode files as a website
2;; Copyright (C) 2006, 2007, 2008, 2009, 2010 2;; Copyright (C) 2006-2011 Free Software Foundation, Inc.
3;; Free Software Foundation, Inc.
4 3
5;; Author: David O'Toole <dto@gnu.org> 4;; Author: David O'Toole <dto@gnu.org>
6;; Maintainer: Carsten Dominik <carsten DOT dominik AT gmail DOT com> 5;; Maintainer: Carsten Dominik <carsten DOT dominik AT gmail DOT com>
@@ -370,8 +369,6 @@ This is a compatibility function for Emacsen without `delete-dups'."
370 369
371(declare-function org-publish-delete-dups "org-publish" (list)) 370(declare-function org-publish-delete-dups "org-publish" (list))
372(declare-function find-lisp-find-files "find-lisp" (directory regexp)) 371(declare-function find-lisp-find-files "find-lisp" (directory regexp))
373(declare-function org-pop-to-buffer-same-window
374 "org-compat" (&optional buffer-or-name norecord label))
375 372
376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 373;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
377;;; Getting project information out of org-publish-project-alist 374;;; Getting project information out of org-publish-project-alist
@@ -562,7 +559,7 @@ PUB-DIR is the publishing directory."
562 (make-directory pub-dir t)) 559 (make-directory pub-dir t))
563 (let ((visiting (find-buffer-visiting filename))) 560 (let ((visiting (find-buffer-visiting filename)))
564 (save-excursion 561 (save-excursion
565 (org-pop-to-buffer-same-window (or visiting (find-file filename))) 562 (switch-to-buffer (or visiting (find-file filename)))
566 (let* ((plist (cons :buffer-will-be-killed (cons t plist))) 563 (let* ((plist (cons :buffer-will-be-killed (cons t plist)))
567 (init-buf (current-buffer)) 564 (init-buf (current-buffer))
568 (init-point (point)) 565 (init-point (point))
@@ -863,7 +860,7 @@ system's modification time.
863It returns time in `current-time' format." 860It returns time in `current-time' format."
864 (let ((visiting (find-buffer-visiting file))) 861 (let ((visiting (find-buffer-visiting file)))
865 (save-excursion 862 (save-excursion
866 (org-pop-to-buffer-same-window (or visiting (find-file-noselect file nil t))) 863 (switch-to-buffer (or visiting (find-file-noselect file nil t)))
867 (let* ((plist (org-infile-export-plist)) 864 (let* ((plist (org-infile-export-plist))
868 (date (plist-get plist :date))) 865 (date (plist-get plist :date)))
869 (unless visiting 866 (unless visiting
@@ -1183,6 +1180,6 @@ Returns value on success, else nil."
1183 1180
1184(provide 'org-publish) 1181(provide 'org-publish)
1185 1182
1186;; arch-tag: 72807f3c-8af0-4a6b-8dca-c3376eb25adb 1183
1187 1184
1188;;; org-publish.el ends here 1185;;; org-publish.el ends here
diff --git a/lisp/org/org-remember.el b/lisp/org/org-remember.el
index 40bf6888dff..2bc5ef92ae7 100644
--- a/lisp/org/org-remember.el
+++ b/lisp/org/org-remember.el
@@ -1,7 +1,6 @@
1;;; org-remember.el --- Fast note taking in Org-mode 1;;; org-remember.el --- Fast note taking in Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -41,8 +40,6 @@
41(declare-function remember "remember" (&optional initial)) 40(declare-function remember "remember" (&optional initial))
42(declare-function remember-buffer-desc "remember" ()) 41(declare-function remember-buffer-desc "remember" ())
43(declare-function remember-finalize "remember" ()) 42(declare-function remember-finalize "remember" ())
44(declare-function org-pop-to-buffer-same-window
45 "org-compat" (&optional buffer-or-name norecord label))
46 43
47(defvar remember-save-after-remembering) 44(defvar remember-save-after-remembering)
48(defvar remember-register) 45(defvar remember-register)
@@ -789,7 +786,7 @@ The user is queried for the template."
789 (setq heading org-remember-default-headline)) 786 (setq heading org-remember-default-headline))
790 (setq visiting (org-find-base-buffer-visiting file)) 787 (setq visiting (org-find-base-buffer-visiting file))
791 (if (not visiting) (find-file-noselect file)) 788 (if (not visiting) (find-file-noselect file))
792 (org-pop-to-buffer-same-window (or visiting (get-file-buffer file))) 789 (switch-to-buffer (or visiting (get-file-buffer file)))
793 (widen) 790 (widen)
794 (goto-char (point-min)) 791 (goto-char (point-min))
795 (if (re-search-forward 792 (if (re-search-forward
@@ -1153,7 +1150,7 @@ See also the variable `org-reverse-note-order'."
1153 1150
1154(provide 'org-remember) 1151(provide 'org-remember)
1155 1152
1156;; arch-tag: 497f30d0-4bc3-4097-8622-2d27ac5f2698 1153
1157 1154
1158;;; org-remember.el ends here 1155;;; org-remember.el ends here
1159 1156
diff --git a/lisp/org/org-rmail.el b/lisp/org/org-rmail.el
index cbb63365985..1169c206981 100644
--- a/lisp/org/org-rmail.el
+++ b/lisp/org/org-rmail.el
@@ -1,7 +1,6 @@
1;;; org-rmail.el --- Support for links to Rmail messages from within Org-mode 1;;; org-rmail.el --- Support for links to Rmail messages from within Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -115,6 +114,6 @@
115 114
116(provide 'org-rmail) 115(provide 'org-rmail)
117 116
118;; arch-tag: c6cf4a8b-6639-4b7f-821f-bdf10746b173 117
119 118
120;;; org-rmail.el ends here 119;;; org-rmail.el ends here
diff --git a/lisp/org/org-special-blocks.el b/lisp/org/org-special-blocks.el
index 4f4d5e8e561..c09b27de895 100644
--- a/lisp/org/org-special-blocks.el
+++ b/lisp/org/org-special-blocks.el
@@ -1,25 +1,23 @@
1;;; org-special-blocks.el --- Turn blocks into LaTeX envs and HTML divs 1;;; org-special-blocks.el --- Turn blocks into LaTeX envs and HTML divs
2 2
3;; Copyright (C) 2009 Chris Gray 3;; Copyright (C) 2009, 2011 Free Software Foundation, Inc.
4 4
5;; Author: Chris Gray <chrismgray@gmail.com> 5;; Author: Chris Gray <chrismgray@gmail.com>
6 6
7;; This file is part of GNU Emacs. 7;; This file is part of GNU Emacs.
8 8
9;; This program is free software; you can redistribute it and/or 9;; GNU Emacs is free software: you can redistribute it and/or modify
10;; modify it under the terms of the GNU General Public License as 10;; it under the terms of the GNU General Public License as published by
11;; published by the Free Software Foundation; either version 2, or (at 11;; the Free Software Foundation, either version 3 of the License, or
12;; your option) any later version. 12;; (at your option) any later version.
13 13
14;; This program is distributed in the hope that it will be useful, but 14;; GNU Emacs is distributed in the hope that it will be useful,
15;; WITHOUT ANY WARRANTY; without even the implied warranty of 15;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;; General Public License for more details. 17;; GNU General Public License for more details.
18 18
19;; You should have received a copy of the GNU General Public License 19;; You should have received a copy of the GNU General Public License
20;; along with this program ; see the file COPYING. If not, write to 20;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
21;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22;; Boston, MA 02111-1307, USA.
23 21
24;;; Commentary: 22;;; Commentary:
25;; 23;;
diff --git a/lisp/org/org-src.el b/lisp/org/org-src.el
index 30ffc34a6eb..5de55fa455f 100644
--- a/lisp/org/org-src.el
+++ b/lisp/org/org-src.el
@@ -1,7 +1,6 @@
1;;; org-src.el --- Source code examples in Org 1;;; org-src.el --- Source code examples in Org
2;; 2;;
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5;; 4;;
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Bastien Guerry <bzg AT altern DOT org> 6;; Bastien Guerry <bzg AT altern DOT org>
@@ -43,8 +42,6 @@
43(declare-function org-at-table.el-p "org" ()) 42(declare-function org-at-table.el-p "org" ())
44(declare-function org-get-indentation "org" (&optional line)) 43(declare-function org-get-indentation "org" (&optional line))
45(declare-function org-switch-to-buffer-other-window "org" (&rest args)) 44(declare-function org-switch-to-buffer-other-window "org" (&rest args))
46(declare-function org-pop-to-buffer-same-window
47 "org-compat" (&optional buffer-or-name norecord label))
48 45
49(defcustom org-edit-src-region-extra nil 46(defcustom org-edit-src-region-extra nil
50 "Additional regexps to identify regions for editing with `org-edit-src-code'. 47 "Additional regexps to identify regions for editing with `org-edit-src-code'.
@@ -342,7 +339,7 @@ buffer."
342(defun org-src-switch-to-buffer (buffer context) 339(defun org-src-switch-to-buffer (buffer context)
343 (case org-src-window-setup 340 (case org-src-window-setup
344 ('current-window 341 ('current-window
345 (org-pop-to-buffer-same-window buffer)) 342 (switch-to-buffer buffer))
346 ('other-window 343 ('other-window
347 (switch-to-buffer-other-window buffer)) 344 (switch-to-buffer-other-window buffer))
348 ('other-frame 345 ('other-frame
@@ -353,7 +350,7 @@ buffer."
353 (delete-frame frame))) 350 (delete-frame frame)))
354 ('save 351 ('save
355 (kill-buffer (current-buffer)) 352 (kill-buffer (current-buffer))
356 (org-pop-to-buffer-same-window buffer)) 353 (switch-to-buffer buffer))
357 (t 354 (t
358 (switch-to-buffer-other-frame buffer)))) 355 (switch-to-buffer-other-frame buffer))))
359 ('reorganize-frame 356 ('reorganize-frame
@@ -365,7 +362,7 @@ buffer."
365 (t 362 (t
366 (message "Invalid value %s for org-src-window-setup" 363 (message "Invalid value %s for org-src-window-setup"
367 (symbol-name org-src-window-setup)) 364 (symbol-name org-src-window-setup))
368 (org-pop-to-buffer-same-window buffer)))) 365 (switch-to-buffer buffer))))
369 366
370(defun org-src-construct-edit-buffer-name (org-buffer-name lang) 367(defun org-src-construct-edit-buffer-name (org-buffer-name lang)
371 "Construct the buffer name for a source editing buffer." 368 "Construct the buffer name for a source editing buffer."
@@ -425,7 +422,7 @@ the fragment in the Org-mode buffer."
425 begline (save-excursion (goto-char beg) (org-current-line))) 422 begline (save-excursion (goto-char beg) (org-current-line)))
426 (if (and (setq buffer (org-edit-src-find-buffer beg end)) 423 (if (and (setq buffer (org-edit-src-find-buffer beg end))
427 (y-or-n-p "Return to existing edit buffer? [n] will revert changes: ")) 424 (y-or-n-p "Return to existing edit buffer? [n] will revert changes: "))
428 (org-pop-to-buffer-same-window buffer) 425 (switch-to-buffer buffer)
429 (when buffer 426 (when buffer
430 (with-current-buffer buffer 427 (with-current-buffer buffer
431 (if (boundp 'org-edit-src-overlay) 428 (if (boundp 'org-edit-src-overlay)
@@ -445,7 +442,7 @@ the fragment in the Org-mode buffer."
445 (define-key map [mouse-1] 'org-edit-src-continue) 442 (define-key map [mouse-1] 'org-edit-src-continue)
446 map)) 443 map))
447 (overlay-put ovl :read-only "Leave me alone") 444 (overlay-put ovl :read-only "Leave me alone")
448 (org-pop-to-buffer-same-window buffer) 445 (switch-to-buffer buffer)
449 (insert code) 446 (insert code)
450 (remove-text-properties (point-min) (point-max) 447 (remove-text-properties (point-min) (point-max)
451 '(display nil invisible nil intangible nil)) 448 '(display nil invisible nil intangible nil))
@@ -814,5 +811,5 @@ LANG is a string, and the returned major mode is a symbol."
814 811
815(provide 'org-src) 812(provide 'org-src)
816 813
817;; arch-tag: 6a1fc84f-dec7-47be-a416-64be56bea5d8 814
818;;; org-src.el ends here 815;;; org-src.el ends here
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el
index 82d1e1309b1..7f49b3236ee 100644
--- a/lisp/org/org-table.el
+++ b/lisp/org/org-table.el
@@ -1,7 +1,6 @@
1;;; org-table.el --- The table editor for Org-mode 1;;; org-table.el --- The table editor for Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -4721,7 +4720,7 @@ list of the fields in the rectangle ."
4721 4720
4722(provide 'org-table) 4721(provide 'org-table)
4723 4722
4724;; arch-tag: 4d21cfdd-0268-440a-84b0-09237a0fe0ef 4723
4725 4724
4726;;; org-table.el ends here 4725;;; org-table.el ends here
4727 4726
diff --git a/lisp/org/org-taskjuggler.el b/lisp/org/org-taskjuggler.el
index 8a2ccc8dd83..0d9516a389e 100644
--- a/lisp/org/org-taskjuggler.el
+++ b/lisp/org/org-taskjuggler.el
@@ -1,6 +1,6 @@
1;;; org-taskjuggler.el --- TaskJuggler exporter for org-mode 1;;; org-taskjuggler.el --- TaskJuggler exporter for org-mode
2;; 2;;
3;; Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2007-2011 Free Software Foundation, Inc.
4;; 4;;
5;; Emacs Lisp Archive Entry 5;; Emacs Lisp Archive Entry
6;; Filename: org-taskjuggler.el 6;; Filename: org-taskjuggler.el
diff --git a/lisp/org/org-timer.el b/lisp/org/org-timer.el
index e612d45b145..b8fbc4ff388 100644
--- a/lisp/org/org-timer.el
+++ b/lisp/org/org-timer.el
@@ -1,6 +1,6 @@
1;;; org-timer.el --- The relative timer code for Org-mode 1;;; org-timer.el --- The relative timer code for Org-mode
2 2
3;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -403,6 +403,6 @@ replace any running timer."
403 403
404(provide 'org-timer) 404(provide 'org-timer)
405 405
406;; arch-tag: 97538f8c-3871-4509-8f23-1e7b3ff3d107 406
407 407
408;;; org-timer.el ends here 408;;; org-timer.el ends here
diff --git a/lisp/org/org-vm.el b/lisp/org/org-vm.el
index d7e69e35092..d0991b81116 100644
--- a/lisp/org/org-vm.el
+++ b/lisp/org/org-vm.el
@@ -1,7 +1,6 @@
1;;; org-vm.el --- Support for links to VM messages from within Org-mode 1;;; org-vm.el --- Support for links to VM messages from within Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -140,6 +139,6 @@
140 139
141(provide 'org-vm) 140(provide 'org-vm)
142 141
143;; arch-tag: cbc3047b-935e-4d2a-96e7-c5b0117aaa6d 142
144 143
145;;; org-vm.el ends here 144;;; org-vm.el ends here
diff --git a/lisp/org/org-w3m.el b/lisp/org/org-w3m.el
index dcdd02230d8..bce90092e6e 100644
--- a/lisp/org/org-w3m.el
+++ b/lisp/org/org-w3m.el
@@ -1,6 +1,6 @@
1;;; org-w3m.el --- Support from copy and paste from w3m to Org-mode 1;;; org-w3m.el --- Support from copy and paste from w3m to Org-mode
2 2
3;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2008-2011 Free Software Foundation, Inc.
4 4
5;; Author: Andy Stewart <lazycat dot manatee at gmail dot com> 5;; Author: Andy Stewart <lazycat dot manatee at gmail dot com>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -168,6 +168,6 @@ Return t if there is no previous link; otherwise, return nil."
168 168
169(provide 'org-w3m) 169(provide 'org-w3m)
170 170
171;; arch-tag: 851d7447-488d-49f0-a14d-46c092e84352 171
172 172
173;;; org-w3m.el ends here 173;;; org-w3m.el ends here
diff --git a/lisp/org/org-wl.el b/lisp/org/org-wl.el
index 1a0a357d4fd..9bc49c8b91a 100644
--- a/lisp/org/org-wl.el
+++ b/lisp/org/org-wl.el
@@ -1,7 +1,6 @@
1;;; org-wl.el --- Support for links to Wanderlust messages from within Org-mode 1;;; org-wl.el --- Support for links to Wanderlust messages from within Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Tokuya Kameshima <kames at fa2 dot so-net dot ne dot jp> 5;; Author: Tokuya Kameshima <kames at fa2 dot so-net dot ne dot jp>
7;; David Maus <dmaus at ictsoc dot de> 6;; David Maus <dmaus at ictsoc dot de>
@@ -310,6 +309,6 @@ for namazu index."
310 309
311(provide 'org-wl) 310(provide 'org-wl)
312 311
313;; arch-tag: 29b75a0f-ef2e-430b-8abc-acff75bde54a 312
314 313
315;;; org-wl.el ends here 314;;; org-wl.el ends here
diff --git a/lisp/org/org-xoxo.el b/lisp/org/org-xoxo.el
index e81e4e74381..02f351fe724 100644
--- a/lisp/org/org-xoxo.el
+++ b/lisp/org/org-xoxo.el
@@ -1,7 +1,6 @@
1;;; org-xoxo.el --- XOXO export for Org-mode 1;;; org-xoxo.el --- XOXO export for Org-mode
2 2
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5 4
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -124,5 +123,5 @@ The XOXO buffer is named *xoxo-<source buffer name>*"
124 123
125(provide 'org-xoxo) 124(provide 'org-xoxo)
126 125
127;; arch-tag: 16e6a31f-f4f5-46f1-af18-48dc89faa702 126
128;;; org-xoxo.el ends here 127;;; org-xoxo.el ends here
diff --git a/lisp/org/org.el b/lisp/org/org.el
index c29ef115400..d494bdb28fa 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -1,7 +1,6 @@
1;;; org.el --- Outline-based notes management and organizer 1;;; org.el --- Outline-based notes management and organizer
2;; Carstens outline-mode for keeping track of everything. 2;; Carstens outline-mode for keeping track of everything.
3;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 3;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
4;; Free Software Foundation, Inc.
5;; 4;;
6;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
@@ -106,7 +105,6 @@
106(declare-function org-inlinetask-at-task-p "org-inlinetask" ()) 105(declare-function org-inlinetask-at-task-p "org-inlinetask" ())
107(declare-function org-inlinetask-outline-regexp "org-inlinetask" ()) 106(declare-function org-inlinetask-outline-regexp "org-inlinetask" ())
108(declare-function org-inlinetask-toggle-visibility "org-inlinetask" ()) 107(declare-function org-inlinetask-toggle-visibility "org-inlinetask" ())
109(declare-function org-pop-to-buffer-same-window "org-compat" (&optional buffer-or-name norecord label))
110(declare-function org-at-clock-log-p "org-clock" ()) 108(declare-function org-at-clock-log-p "org-clock" ())
111(declare-function org-clock-timestamps-up "org-clock" ()) 109(declare-function org-clock-timestamps-up "org-clock" ())
112(declare-function org-clock-timestamps-down "org-clock" ()) 110(declare-function org-clock-timestamps-down "org-clock" ())
@@ -6652,7 +6650,7 @@ or nil."
6652 (save-window-excursion 6650 (save-window-excursion
6653 (delete-other-windows) 6651 (delete-other-windows)
6654 (and (get-buffer "*org-goto*") (kill-buffer "*org-goto*")) 6652 (and (get-buffer "*org-goto*") (kill-buffer "*org-goto*"))
6655 (org-pop-to-buffer-same-window 6653 (switch-to-buffer
6656 (condition-case nil 6654 (condition-case nil
6657 (make-indirect-buffer (current-buffer) "*org-goto*") 6655 (make-indirect-buffer (current-buffer) "*org-goto*")
6658 (error (make-indirect-buffer (current-buffer) "*org-goto*")))) 6656 (error (make-indirect-buffer (current-buffer) "*org-goto*"))))
@@ -6790,7 +6788,7 @@ frame is not changed."
6790 (and arg (eq org-indirect-buffer-display 'dedicated-frame))) 6788 (and arg (eq org-indirect-buffer-display 'dedicated-frame)))
6791 (select-frame (make-frame)) 6789 (select-frame (make-frame))
6792 (delete-other-windows) 6790 (delete-other-windows)
6793 (org-pop-to-buffer-same-window ibuf) 6791 (switch-to-buffer ibuf)
6794 (org-set-frame-title heading)) 6792 (org-set-frame-title heading))
6795 ((eq org-indirect-buffer-display 'dedicated-frame) 6793 ((eq org-indirect-buffer-display 'dedicated-frame)
6796 (raise-frame 6794 (raise-frame
@@ -6799,10 +6797,10 @@ frame is not changed."
6799 org-indirect-dedicated-frame) 6797 org-indirect-dedicated-frame)
6800 (setq org-indirect-dedicated-frame (make-frame))))) 6798 (setq org-indirect-dedicated-frame (make-frame)))))
6801 (delete-other-windows) 6799 (delete-other-windows)
6802 (org-pop-to-buffer-same-window ibuf) 6800 (switch-to-buffer ibuf)
6803 (org-set-frame-title (concat "Indirect: " heading))) 6801 (org-set-frame-title (concat "Indirect: " heading)))
6804 ((eq org-indirect-buffer-display 'current-window) 6802 ((eq org-indirect-buffer-display 'current-window)
6805 (org-pop-to-buffer-same-window ibuf)) 6803 (switch-to-buffer ibuf))
6806 ((eq org-indirect-buffer-display 'other-window) 6804 ((eq org-indirect-buffer-display 'other-window)
6807 (pop-to-buffer ibuf)) 6805 (pop-to-buffer ibuf))
6808 (t (error "Invalid value"))) 6806 (t (error "Invalid value")))
@@ -9834,7 +9832,7 @@ onto the ring."
9834 (setq p org-mark-ring)) 9832 (setq p org-mark-ring))
9835 (setq org-mark-ring-last-goto p) 9833 (setq org-mark-ring-last-goto p)
9836 (setq m (car p)) 9834 (setq m (car p))
9837 (org-pop-to-buffer-same-window (marker-buffer m)) 9835 (switch-to-buffer (marker-buffer m))
9838 (goto-char m) 9836 (goto-char m)
9839 (if (or (outline-invisible-p) (org-invisible-p2)) (org-show-context 'mark-goto)))) 9837 (if (or (outline-invisible-p) (org-invisible-p2)) (org-show-context 'mark-goto))))
9840 9838
@@ -10430,7 +10428,7 @@ prefix argument (`C-u C-u C-u C-c C-w')."
10430 (find-file-noselect file))) 10428 (find-file-noselect file)))
10431 (if goto 10429 (if goto
10432 (progn 10430 (progn
10433 (org-pop-to-buffer-same-window nbuf) 10431 (switch-to-buffer nbuf)
10434 (goto-char pos) 10432 (goto-char pos)
10435 (org-show-context 'org-goto)) 10433 (org-show-context 'org-goto))
10436 (if regionp 10434 (if regionp
@@ -12042,7 +12040,7 @@ EXTRA is additional text that will be inserted into the notes buffer."
12042 (setq org-log-note-window-configuration (current-window-configuration)) 12040 (setq org-log-note-window-configuration (current-window-configuration))
12043 (delete-other-windows) 12041 (delete-other-windows)
12044 (move-marker org-log-note-return-to (point)) 12042 (move-marker org-log-note-return-to (point))
12045 (org-pop-to-buffer-same-window (marker-buffer org-log-note-marker)) 12043 (switch-to-buffer (marker-buffer org-log-note-marker))
12046 (goto-char org-log-note-marker) 12044 (goto-char org-log-note-marker)
12047 (org-switch-to-buffer-other-window "*Org Note*") 12045 (org-switch-to-buffer-other-window "*Org Note*")
12048 (erase-buffer) 12046 (erase-buffer)
@@ -15884,7 +15882,7 @@ changes from another. I believe the procedure must be like this:
15884 (lambda (b) 15882 (lambda (b)
15885 (when (and (with-current-buffer b (org-mode-p)) 15883 (when (and (with-current-buffer b (org-mode-p))
15886 (with-current-buffer b buffer-file-name)) 15884 (with-current-buffer b buffer-file-name))
15887 (org-pop-to-buffer-same-window b) 15885 (switch-to-buffer b)
15888 (revert-buffer t 'no-confirm))) 15886 (revert-buffer t 'no-confirm)))
15889 (buffer-list)) 15887 (buffer-list))
15890 (when (and (featurep 'org-id) org-id-track-globally) 15888 (when (and (featurep 'org-id) org-id-track-globally)
@@ -15908,7 +15906,7 @@ Set `org-completion-use-ido' to make it use ido instead."
15908 (org-completion-use-ido org-completion-use-ido)) 15906 (org-completion-use-ido org-completion-use-ido))
15909 (unless (or org-completion-use-ido org-completion-use-iswitchb) 15907 (unless (or org-completion-use-ido org-completion-use-iswitchb)
15910 (setq org-completion-use-iswitchb t)) 15908 (setq org-completion-use-iswitchb t))
15911 (org-pop-to-buffer-same-window 15909 (switch-to-buffer
15912 (org-icompleting-read "Org buffer: " 15910 (org-icompleting-read "Org buffer: "
15913 (mapcar 'list (mapcar 'buffer-name blist)) 15911 (mapcar 'list (mapcar 'buffer-name blist))
15914 nil t)))) 15912 nil t))))
@@ -16075,7 +16073,7 @@ If the current buffer does not, find the first agenda file."
16075 (find-file (car files)) 16073 (find-file (car files))
16076 (throw 'exit t)))) 16074 (throw 'exit t))))
16077 (find-file (car fs))) 16075 (find-file (car fs)))
16078 (if (buffer-base-buffer) (org-pop-to-buffer-same-window (buffer-base-buffer))))) 16076 (if (buffer-base-buffer) (switch-to-buffer (buffer-base-buffer)))))
16079 16077
16080(defun org-agenda-file-to-front (&optional to-end) 16078(defun org-agenda-file-to-front (&optional to-end)
16081 "Move/add the current file to the top of the agenda file list. 16079 "Move/add the current file to the top of the agenda file list.
@@ -18512,7 +18510,7 @@ information about your Org-mode version and configuration."
18512 (org-version) 18510 (org-version)
18513 (let (list) 18511 (let (list)
18514 (save-window-excursion 18512 (save-window-excursion
18515 (org-pop-to-buffer-same-window (get-buffer-create "*Warn about privacy*")) 18513 (switch-to-buffer (get-buffer-create "*Warn about privacy*"))
18516 (delete-other-windows) 18514 (delete-other-windows)
18517 (erase-buffer) 18515 (erase-buffer)
18518 (insert "You are about to submit a bug report to the Org-mode mailing list. 18516 (insert "You are about to submit a bug report to the Org-mode mailing list.
@@ -18709,7 +18707,7 @@ With prefix arg UNCOMPILED, load the uncompiled versions."
18709 (if (and marker (marker-buffer marker) 18707 (if (and marker (marker-buffer marker)
18710 (buffer-live-p (marker-buffer marker))) 18708 (buffer-live-p (marker-buffer marker)))
18711 (progn 18709 (progn
18712 (org-pop-to-buffer-same-window (marker-buffer marker)) 18710 (switch-to-buffer (marker-buffer marker))
18713 (if (or (> marker (point-max)) (< marker (point-min))) 18711 (if (or (> marker (point-max)) (< marker (point-min)))
18714 (widen)) 18712 (widen))
18715 (goto-char marker) 18713 (goto-char marker)
@@ -20537,6 +20535,6 @@ Still experimental, may disappear in the future."
20537 20535
20538(run-hooks 'org-load-hook) 20536(run-hooks 'org-load-hook)
20539 20537
20540;; arch-tag: e77da1a7-acc7-4336-b19e-efa25af3f9fd 20538
20541 20539
20542;;; org.el ends here 20540;;; org.el ends here
diff --git a/lisp/pcomplete.el b/lisp/pcomplete.el
index 46a82e3720d..bdf2dadd16c 100644
--- a/lisp/pcomplete.el
+++ b/lisp/pcomplete.el
@@ -811,15 +811,19 @@ this is `comint-dynamic-complete-functions'."
811 (while (< (point) end) 811 (while (< (point) end)
812 (skip-chars-forward " \t\n") 812 (skip-chars-forward " \t\n")
813 (push (point) begins) 813 (push (point) begins)
814 (let ((skip t)) 814 (while
815 (while skip 815 (progn
816 (skip-chars-forward "^ \t\n") 816 (skip-chars-forward "^ \t\n\\")
817 (if (eq (char-before) ?\\) 817 (when (eq (char-after) ?\\)
818 (skip-chars-forward " \t\n") 818 (forward-char 1)
819 (setq skip nil)))) 819 (unless (eolp)
820 (forward-char 1)
821 t))))
820 (push (buffer-substring-no-properties (car begins) (point)) 822 (push (buffer-substring-no-properties (car begins) (point))
821 args)) 823 args))
822 (cons (nreverse args) (nreverse begins))))) 824 (cons (nreverse args) (nreverse begins)))))
825(make-obsolete 'pcomplete-parse-comint-arguments
826 'comint-parse-pcomplete-arguments "24.1")
823 827
824(defun pcomplete-parse-arguments (&optional expand-p) 828(defun pcomplete-parse-arguments (&optional expand-p)
825 "Parse the command line arguments. Most completions need this info." 829 "Parse the command line arguments. Most completions need this info."
@@ -879,7 +883,7 @@ Magic characters are those in `pcomplete-arg-quote-list'."
879 (or (run-hook-with-args-until-success 883 (or (run-hook-with-args-until-success
880 'pcomplete-quote-arg-hook filename index) 884 'pcomplete-quote-arg-hook filename index)
881 (when (memq c pcomplete-arg-quote-list) 885 (when (memq c pcomplete-arg-quote-list)
882 (string "\\" c)) 886 (string ?\\ c))
883 (char-to-string c)) 887 (char-to-string c))
884 (setq index (1+ index)))) 888 (setq index (1+ index))))
885 filename 889 filename
diff --git a/lisp/proced.el b/lisp/proced.el
index 94ea579ebd8..e4987bd926c 100644
--- a/lisp/proced.el
+++ b/lisp/proced.el
@@ -395,7 +395,7 @@ It is a list of lists (KEY PREDICATE REVERSE).")
395 :group 'proced-faces) 395 :group 'proced-faces)
396 396
397(defface proced-marked 397(defface proced-marked
398 '((t (:inherit font-lock-warning-face))) 398 '((t (:inherit error)))
399 "Face used for marked processes." 399 "Face used for marked processes."
400 :group 'proced-faces) 400 :group 'proced-faces)
401 401
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 0236a2be296..a1cbdc16560 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -2130,13 +2130,17 @@ comment at the start of cc-engine.el for more info."
2130 pos)) 2130 pos))
2131 2131
2132(defsubst c-state-cache-non-literal-place (pos state) 2132(defsubst c-state-cache-non-literal-place (pos state)
2133 ;; Return a position outside of a string/comment at or before POS. 2133 ;; Return a position outside of a string/comment/macro at or before POS.
2134 ;; STATE is the parse-partial-sexp state at POS. 2134 ;; STATE is the parse-partial-sexp state at POS.
2135 (if (or (nth 3 state) ; in a string? 2135 (let ((res (if (or (nth 3 state) ; in a string?
2136 (nth 4 state)) ; in a comment? 2136 (nth 4 state)) ; in a comment?
2137 (nth 8 state) 2137 (nth 8 state)
2138 pos)) 2138 pos)))
2139 2139 (save-excursion
2140 (goto-char res)
2141 (if (c-beginning-of-macro)
2142 (point)
2143 res))))
2140 2144
2141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2142;; Stuff to do with point-min, and coping with any literal there. 2146;; Stuff to do with point-min, and coping with any literal there.
@@ -6321,7 +6325,9 @@ comment at the start of cc-engine.el for more info."
6321 (let* ((start (point)) kwd-sym kwd-clause-end found-type) 6325 (let* ((start (point)) kwd-sym kwd-clause-end found-type)
6322 6326
6323 ;; Look for a specifier keyword clause. 6327 ;; Look for a specifier keyword clause.
6324 (when (looking-at c-prefix-spec-kwds-re) 6328 (when (or (looking-at c-prefix-spec-kwds-re)
6329 (and (c-major-mode-is 'java-mode)
6330 (looking-at "@[A-Za-z0-9]+")))
6325 (if (looking-at c-typedef-key) 6331 (if (looking-at c-typedef-key)
6326 (setq at-typedef t)) 6332 (setq at-typedef t))
6327 (setq kwd-sym (c-keyword-sym (match-string 1))) 6333 (setq kwd-sym (c-keyword-sym (match-string 1)))
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index 2277ba760ab..bca95c97e8b 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -199,10 +199,16 @@
199(set-face-foreground 'c-annotation-face "blue") 199(set-face-foreground 'c-annotation-face "blue")
200 200
201(eval-and-compile 201(eval-and-compile
202 ;; We need the following functions during compilation since they're 202 ;; We need the following definitions during compilation since they're
203 ;; called when the `c-lang-defconst' initializers are evaluated. 203 ;; used when the `c-lang-defconst' initializers are evaluated. Define
204 ;; Define them at runtime too for the sake of derived modes. 204 ;; them at runtime too for the sake of derived modes.
205 205
206 ;; This indicates the "font locking context", and is set just before
207 ;; fontification is done. If non-nil, it says, e.g., point starts
208 ;; from within a #if preprocessor construct.
209 (defvar c-font-lock-context nil)
210 (make-variable-buffer-local 'c-font-lock-context)
211
206 (defmacro c-put-font-lock-face (from to face) 212 (defmacro c-put-font-lock-face (from to face)
207 ;; Put a face on a region (overriding any existing face) in the way 213 ;; Put a face on a region (overriding any existing face) in the way
208 ;; font-lock would do it. In XEmacs that means putting an 214 ;; font-lock would do it. In XEmacs that means putting an
@@ -283,6 +289,45 @@
283 nil))))) 289 nil)))))
284 res)))) 290 res))))
285 291
292 (defun c-make-font-lock-search-form (regexp highlights)
293 ;; Return a lisp form which will fontify every occurence of REGEXP
294 ;; (a regular expression, NOT a function) between POINT and `limit'
295 ;; with HIGHLIGHTS, a list of highlighters as specified on page
296 ;; "Search-based Fontification" in the elisp manual.
297 `(while (re-search-forward ,regexp limit t)
298 (unless (progn
299 (goto-char (match-beginning 0))
300 (c-skip-comments-and-strings limit))
301 (goto-char (match-end 0))
302 ,@(mapcar
303 (lambda (highlight)
304 (if (integerp (car highlight))
305 ;; e.g. highlight is (1 font-lock-type-face t)
306 (progn
307 (unless (eq (nth 2 highlight) t)
308 (error
309 "The override flag must currently be t in %s"
310 highlight))
311 (when (nth 3 highlight)
312 (error
313 "The laxmatch flag may currently not be set in %s"
314 highlight))
315 `(save-match-data
316 (c-put-font-lock-face
317 (match-beginning ,(car highlight))
318 (match-end ,(car highlight))
319 ,(elt highlight 1))))
320 ;; highlight is an "ANCHORED HIGHLIGHER" of the form
321 ;; (ANCHORED-MATCHER PRE-FORM POST-FORM SUBEXP-HIGHLIGHTERS...)
322 (when (nth 3 highlight)
323 (error "Match highlights currently not supported in %s"
324 highlight))
325 `(progn
326 ,(nth 1 highlight)
327 (save-match-data ,(car highlight))
328 ,(nth 2 highlight))))
329 highlights))))
330
286 (defun c-make-font-lock-search-function (regexp &rest highlights) 331 (defun c-make-font-lock-search-function (regexp &rest highlights)
287 ;; This function makes a byte compiled function that works much like 332 ;; This function makes a byte compiled function that works much like
288 ;; a matcher element in `font-lock-keywords'. It cuts out a little 333 ;; a matcher element in `font-lock-keywords'. It cuts out a little
@@ -313,43 +358,154 @@
313 ;; lambda more easily. 358 ;; lambda more easily.
314 (byte-compile 359 (byte-compile
315 `(lambda (limit) 360 `(lambda (limit)
316 (let (;; The font-lock package in Emacs is known to clobber 361 (let ( ;; The font-lock package in Emacs is known to clobber
317 ;; `parse-sexp-lookup-properties' (when it exists). 362 ;; `parse-sexp-lookup-properties' (when it exists).
318 (parse-sexp-lookup-properties 363 (parse-sexp-lookup-properties
319 (cc-eval-when-compile 364 (cc-eval-when-compile
320 (boundp 'parse-sexp-lookup-properties)))) 365 (boundp 'parse-sexp-lookup-properties))))
321 (while (re-search-forward ,regexp limit t) 366
322 (unless (progn 367 ;; (while (re-search-forward ,regexp limit t)
323 (goto-char (match-beginning 0)) 368 ;; (unless (progn
324 (c-skip-comments-and-strings limit)) 369 ;; (goto-char (match-beginning 0))
325 (goto-char (match-end 0)) 370 ;; (c-skip-comments-and-strings limit))
326 ,@(mapcar 371 ;; (goto-char (match-end 0))
327 (lambda (highlight) 372 ;; ,@(mapcar
328 (if (integerp (car highlight)) 373 ;; (lambda (highlight)
329 (progn 374 ;; (if (integerp (car highlight))
330 (unless (eq (nth 2 highlight) t) 375 ;; (progn
331 (error 376 ;; (unless (eq (nth 2 highlight) t)
332 "The override flag must currently be t in %s" 377 ;; (error
333 highlight)) 378 ;; "The override flag must currently be t in %s"
334 (when (nth 3 highlight) 379 ;; highlight))
335 (error 380 ;; (when (nth 3 highlight)
336 "The laxmatch flag may currently not be set in %s" 381 ;; (error
337 highlight)) 382 ;; "The laxmatch flag may currently not be set in %s"
338 `(save-match-data 383 ;; highlight))
339 (c-put-font-lock-face 384 ;; `(save-match-data
340 (match-beginning ,(car highlight)) 385 ;; (c-put-font-lock-face
341 (match-end ,(car highlight)) 386 ;; (match-beginning ,(car highlight))
342 ,(elt highlight 1)))) 387 ;; (match-end ,(car highlight))
343 (when (nth 3 highlight) 388 ;; ,(elt highlight 1))))
344 (error "Match highlights currently not supported in %s" 389 ;; (when (nth 3 highlight)
345 highlight)) 390 ;; (error "Match highlights currently not supported in %s"
346 `(progn 391 ;; highlight))
347 ,(nth 1 highlight) 392 ;; `(progn
348 (save-match-data ,(car highlight)) 393 ;; ,(nth 1 highlight)
349 ,(nth 2 highlight)))) 394 ;; (save-match-data ,(car highlight))
350 highlights)))) 395 ;; ,(nth 2 highlight))))
396 ;; highlights)))
397 ,(c-make-font-lock-search-form regexp highlights))
398
351 nil))) 399 nil)))
352 400
401 (defun c-make-font-lock-BO-decl-search-function (regexp &rest highlights)
402 ;; This function makes a byte compiled function that first moves back
403 ;; to the beginning of the current declaration (if any), then searches
404 ;; forward for matcher elements (as in `font-lock-keywords') and
405 ;; fontifies them.
406 ;;
407 ;; The motivation for moving back to the declaration start is to
408 ;; establish a context for the current text when, e.g., a character
409 ;; is typed on a C++ inheritance continuation line, or a jit-lock
410 ;; chunk starts there.
411 ;;
412 ;; The new function works much like a matcher element in
413 ;; `font-lock-keywords'. It cuts out a little bit of the overhead
414 ;; compared to a real matcher. The main reason is however to pass the
415 ;; real search limit to the anchored matcher(s), since most (if not
416 ;; all) font-lock implementations arbitrarily limit anchored matchers
417 ;; to the same line, and also to insulate against various other
418 ;; irritating differences between the different (X)Emacs font-lock
419 ;; packages.
420 ;;
421 ;; REGEXP is the matcher, which must be a regexp. Only matches
422 ;; where the beginning is outside any comment or string literal are
423 ;; significant.
424 ;;
425 ;; HIGHLIGHTS is a list of highlight specs, just like in
426 ;; `font-lock-keywords', with these limitations: The face is always
427 ;; overridden (no big disadvantage, since hits in comments etc are
428 ;; filtered anyway), there is no "laxmatch", and an anchored matcher
429 ;; is always a form which must do all the fontification directly.
430 ;; `limit' is a variable bound to the real limit in the context of
431 ;; the anchored matcher forms.
432 ;;
433 ;; This function does not do any hidden buffer changes, but the
434 ;; generated functions will. (They are however used in places
435 ;; covered by the font-lock context.)
436
437 ;; Note: Replace `byte-compile' with `eval' to debug the generated
438 ;; lambda more easily.
439 (byte-compile
440 `(lambda (limit)
441 (let ( ;; The font-lock package in Emacs is known to clobber
442 ;; `parse-sexp-lookup-properties' (when it exists).
443 (parse-sexp-lookup-properties
444 (cc-eval-when-compile
445 (boundp 'parse-sexp-lookup-properties))))
446 (goto-char
447 (let ((here (point)))
448 (if (eq (car (c-beginning-of-decl-1)) 'same)
449 (point)
450 here)))
451 ,(c-make-font-lock-search-form regexp highlights))
452 nil)))
453
454 (defun c-make-font-lock-context-search-function (normal &rest state-stanzas)
455 ;; This function makes a byte compiled function that works much like
456 ;; a matcher element in `font-lock-keywords', with the following
457 ;; enhancement: the generated function will test for particular "font
458 ;; lock contexts" at the start of the region, i.e. is this point in
459 ;; the middle of some particular construct? if so the generated
460 ;; function will first fontify the tail of the construct, before
461 ;; going into the main loop and fontify full constructs up to limit.
462 ;;
463 ;; The generated function takes one parameter called `limit', and
464 ;; will fontify the region between POINT and LIMIT.
465 ;;
466 ;; NORMAL is a list of the form (REGEXP HIGHLIGHTS .....), and is
467 ;; used to fontify the "regular" bit of the region.
468 ;; STATE-STANZAS is list of elements of the form (STATE LIM REGEXP
469 ;; HIGHLIGHTS), each element coding one possible font lock context.
470
471 ;; o - REGEXP is a font-lock regular expression (NOT a function),
472 ;; o - HIGHLIGHTS is a list of zero or more highlighters as defined
473 ;; on page "Search-based Fontification" in the elisp manual. As
474 ;; yet (2009-06), they must have OVERRIDE set, and may not have
475 ;; LAXMATCH set.
476 ;;
477 ;; o - STATE is the "font lock context" (e.g. in-cpp-expr) and is
478 ;; not quoted.
479 ;; o - LIM is a lisp form whose evaluation will yield the limit
480 ;; position in the buffer for fontification by this stanza.
481 ;;
482 ;; This function does not do any hidden buffer changes, but the
483 ;; generated functions will. (They are however used in places
484 ;; covered by the font-lock context.)
485 ;;
486 ;; Note: Replace `byte-compile' with `eval' to debug the generated
487 ;; lambda more easily.
488 (byte-compile
489 `(lambda (limit)
490 (let ( ;; The font-lock package in Emacs is known to clobber
491 ;; `parse-sexp-lookup-properties' (when it exists).
492 (parse-sexp-lookup-properties
493 (cc-eval-when-compile
494 (boundp 'parse-sexp-lookup-properties))))
495 ,@(mapcar
496 (lambda (stanza)
497 (let ((state (car stanza))
498 (lim (nth 1 stanza))
499 (regexp (nth 2 stanza))
500 (highlights (cdr (cddr stanza))))
501 `(if (eq c-font-lock-context ',state)
502 (let ((limit ,lim))
503 ,(c-make-font-lock-search-form
504 regexp highlights)))))
505 state-stanzas)
506 ,(c-make-font-lock-search-form (car normal) (cdr normal))
507 nil))))
508
353; (eval-after-load "edebug" ; 2006-07-09: def-edebug-spec is now in subr.el. 509; (eval-after-load "edebug" ; 2006-07-09: def-edebug-spec is now in subr.el.
354; '(progn 510; '(progn
355 (def-edebug-spec c-fontify-types-and-refs let*) 511 (def-edebug-spec c-fontify-types-and-refs let*)
@@ -494,19 +650,24 @@ stuff. Used on level 1 and higher."
494 (c-lang-const c-cpp-expr-directives))) 650 (c-lang-const c-cpp-expr-directives)))
495 (cef-re (c-make-keywords-re t 651 (cef-re (c-make-keywords-re t
496 (c-lang-const c-cpp-expr-functions)))) 652 (c-lang-const c-cpp-expr-functions))))
497 `((,(c-make-font-lock-search-function 653
498 (concat noncontinued-line-end 654 `((,(c-make-font-lock-context-search-function
499 (c-lang-const c-opt-cpp-prefix) 655 `(,(concat noncontinued-line-end
500 ced-re ; 1 + ncle-depth 656 (c-lang-const c-opt-cpp-prefix)
501 ;; Match the whole logical line to look 657 ced-re ; 1 + ncle-depth
502 ;; for the functions in. 658 ;; Match the whole logical line to look
503 "\\(\\\\\\(.\\|[\n\r]\\)\\|[^\n\r]\\)*") 659 ;; for the functions in.
504 `((let ((limit (match-end 0))) 660 "\\(\\\\\\(.\\|[\n\r]\\)\\|[^\n\r]\\)*")
505 (while (re-search-forward ,cef-re limit 'move) 661 ((let ((limit (match-end 0)))
506 (c-put-font-lock-face (match-beginning 1) 662 (while (re-search-forward ,cef-re limit 'move)
507 (match-end 1) 663 (c-put-font-lock-face (match-beginning 1)
508 c-preprocessor-face-name))) 664 (match-end 1)
509 (goto-char (match-end ,(1+ ncle-depth))))))))) 665 c-preprocessor-face-name)))
666 (goto-char (match-end ,(1+ ncle-depth)))))
667 `(in-cpp-expr
668 (save-excursion (c-end-of-macro) (point))
669 ,cef-re
670 (1 c-preprocessor-face-name t)))))))
510 671
511 ;; Fontify the directive names. 672 ;; Fontify the directive names.
512 (,(c-make-font-lock-search-function 673 (,(c-make-font-lock-search-function
@@ -759,6 +920,12 @@ casts and declarations are fontified. Used on level 2 and higher."
759 (c-forward-syntactic-ws limit) 920 (c-forward-syntactic-ws limit)
760 (c-font-lock-declarators limit t (eq prop 'c-decl-type-start)))) 921 (c-font-lock-declarators limit t (eq prop 'c-decl-type-start))))
761 922
923 (setq c-font-lock-context ;; (c-guess-font-lock-context)
924 (save-excursion
925 (if (and c-cpp-expr-intro-re
926 (c-beginning-of-macro)
927 (looking-at c-cpp-expr-intro-re))
928 'in-cpp-expr)))
762 nil) 929 nil)
763 930
764(defun c-font-lock-<>-arglists (limit) 931(defun c-font-lock-<>-arglists (limit)
@@ -1552,7 +1719,9 @@ on level 2 only and so aren't combined with `c-complex-decl-matchers'."
1552 (unless (c-skip-comments-and-strings limit) 1719 (unless (c-skip-comments-and-strings limit)
1553 (c-forward-syntactic-ws) 1720 (c-forward-syntactic-ws)
1554 ;; Handle prefix declaration specifiers. 1721 ;; Handle prefix declaration specifiers.
1555 (when (looking-at c-prefix-spec-kwds-re) 1722 (when (or (looking-at c-prefix-spec-kwds-re)
1723 (and (c-major-mode-is 'java-mode)
1724 (looking-at "@[A-Za-z0-9]+")))
1556 (c-forward-keyword-clause 1)) 1725 (c-forward-keyword-clause 1))
1557 ,(if (c-major-mode-is 'c++-mode) 1726 ,(if (c-major-mode-is 'c++-mode)
1558 `(when (and (c-forward-type) 1727 `(when (and (c-forward-type)
@@ -1712,24 +1881,32 @@ higher."
1712 c-label-face-name nil t)))))) 1881 c-label-face-name nil t))))))
1713 1882
1714 ;; Fontify the clauses after various keywords. 1883 ;; Fontify the clauses after various keywords.
1715 ,@(when (or (c-lang-const c-type-list-kwds) 1884 ,@(when (or (c-lang-const c-type-list-kwds)
1716 (c-lang-const c-ref-list-kwds) 1885 (c-lang-const c-ref-list-kwds)
1717 (c-lang-const c-colon-type-list-kwds) 1886 (c-lang-const c-colon-type-list-kwds))
1718 (c-lang-const c-paren-type-kwds)) 1887 `((,(c-make-font-lock-BO-decl-search-function
1719 `((,(c-make-font-lock-search-function 1888 (concat "\\<\\("
1720 (concat "\\<\\(" 1889 (c-make-keywords-re nil
1721 (c-make-keywords-re nil 1890 (append (c-lang-const c-type-list-kwds)
1722 (append (c-lang-const c-type-list-kwds) 1891 (c-lang-const c-ref-list-kwds)
1723 (c-lang-const c-ref-list-kwds) 1892 (c-lang-const c-colon-type-list-kwds)))
1724 (c-lang-const c-colon-type-list-kwds) 1893 "\\)\\>")
1725 (c-lang-const c-paren-type-kwds))) 1894 '((c-fontify-types-and-refs ((c-promote-possible-types t))
1726 "\\)\\>") 1895 (c-forward-keyword-clause 1)
1727 '((c-fontify-types-and-refs ((c-promote-possible-types t)) 1896 (if (> (point) limit) (goto-char limit))))))))
1728 (c-forward-keyword-clause 1) 1897
1729 (if (> (point) limit) (goto-char limit)))))))) 1898 ,@(when (c-lang-const c-paren-type-kwds)
1730 1899 `((,(c-make-font-lock-search-function
1731 ,@(when (c-major-mode-is 'java-mode) 1900 (concat "\\<\\("
1732 `((eval . (list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)))) 1901 (c-make-keywords-re nil
1902 (c-lang-const c-paren-type-kwds))
1903 "\\)\\>")
1904 '((c-fontify-types-and-refs ((c-promote-possible-types t))
1905 (c-forward-keyword-clause 1)
1906 (if (> (point) limit) (goto-char limit))))))))
1907
1908 ,@(when (c-major-mode-is 'java-mode)
1909 `((eval . (list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face))))
1733 )) 1910 ))
1734 1911
1735(c-lang-defconst c-matchers-1 1912(c-lang-defconst c-matchers-1
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 35097242cb7..279c5e46c46 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -815,6 +815,16 @@ expression."
815 t (if (c-lang-const c-opt-cpp-prefix) 815 t (if (c-lang-const c-opt-cpp-prefix)
816 '("if" "elif"))) 816 '("if" "elif")))
817 817
818(c-lang-defconst c-cpp-expr-intro-re
819 "Regexp which matches the start of a CPP directive which contains an
820expression, or nil if there aren't any in the language."
821 t (if (c-lang-const c-cpp-expr-directives)
822 (concat
823 (c-lang-const c-opt-cpp-prefix)
824 (c-make-keywords-re t (c-lang-const c-cpp-expr-directives)))))
825(c-lang-defvar c-cpp-expr-intro-re
826 (c-lang-const c-cpp-expr-intro-re))
827
818(c-lang-defconst c-cpp-expr-functions 828(c-lang-defconst c-cpp-expr-functions
819 "List of functions in cpp expressions." 829 "List of functions in cpp expressions."
820 t (if (c-lang-const c-opt-cpp-prefix) 830 t (if (c-lang-const c-opt-cpp-prefix)
@@ -1813,7 +1823,7 @@ will be handled."
1813 "bindsTo" "delegatesTo" "implements" "proxy" "storedOn") 1823 "bindsTo" "delegatesTo" "implements" "proxy" "storedOn")
1814 ;; Note: "const" is not used in Java, but it's still a reserved keyword. 1824 ;; Note: "const" is not used in Java, but it's still a reserved keyword.
1815 java '("abstract" "const" "final" "native" "private" "protected" "public" 1825 java '("abstract" "const" "final" "native" "private" "protected" "public"
1816 "static" "strictfp" "synchronized" "transient" "volatile" "@[A-Za-z0-9]+") 1826 "static" "strictfp" "synchronized" "transient" "volatile")
1817 pike '("final" "inline" "local" "nomask" "optional" "private" "protected" 1827 pike '("final" "inline" "local" "nomask" "optional" "private" "protected"
1818 "public" "static" "variant")) 1828 "public" "static" "variant"))
1819 1829
@@ -1899,10 +1909,7 @@ one of `c-type-list-kwds', `c-ref-list-kwds',
1899 1909
1900(c-lang-defconst c-prefix-spec-kwds-re 1910(c-lang-defconst c-prefix-spec-kwds-re
1901 ;; Adorned regexp of `c-prefix-spec-kwds'. 1911 ;; Adorned regexp of `c-prefix-spec-kwds'.
1902 t (c-make-keywords-re t (c-lang-const c-prefix-spec-kwds)) 1912 t (c-make-keywords-re t (c-lang-const c-prefix-spec-kwds)))
1903 java (replace-regexp-in-string
1904 "\\\\\\[" "["
1905 (replace-regexp-in-string "\\\\\\+" "+" (c-make-keywords-re t (c-lang-const c-prefix-spec-kwds)))))
1906 1913
1907(c-lang-defvar c-prefix-spec-kwds-re (c-lang-const c-prefix-spec-kwds-re)) 1914(c-lang-defvar c-prefix-spec-kwds-re (c-lang-const c-prefix-spec-kwds-re))
1908 1915
diff --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el
index f53a7da5186..4e9350de425 100644
--- a/lisp/progmodes/cc-menus.el
+++ b/lisp/progmodes/cc-menus.el
@@ -108,8 +108,11 @@ A sample value might look like: `\\(_P\\|_PROTO\\)'.")
108 "[^" c-alnum "_:<>~]" ; match any non-identifier char 108 "[^" c-alnum "_:<>~]" ; match any non-identifier char
109 "\\([" c-alpha "_][" c-alnum "_:<>~]*\\)" ; match function name 109 "\\([" c-alpha "_][" c-alnum "_:<>~]*\\)" ; match function name
110 "\\([ \t\n]\\|\\\\\n\\)*(" ; see above, BUT the arg list 110 "\\([ \t\n]\\|\\\\\n\\)*(" ; see above, BUT the arg list
111 "\\([ \t\n]\\|\\\\\n\\)*\\([^ \t\n(*][^)]*\\)?)" ; must not start 111 "\\([ \t\n]\\|\\\\\n\\)*" ; must not start
112 "\\([ \t\n]\\|\\\\\n\\)*[^ \t\n;(]" ; with an asterisk or parentheses 112 "\\([^ \t\n(*]" ; with an asterisk or parentheses
113 "[^()]*\\(([^()]*)[^()]*\\)*" ; Maybe function pointer arguments
114 "\\)?)"
115 "\\([ \t\n]\\|\\\\\n\\)*[^ \t\n;(]"
113 ) 1) 116 ) 1)
114 ;; Special case for definitions using phony prototype macros like: 117 ;; Special case for definitions using phony prototype macros like:
115 ;; `int main _PROTO( (int argc,char *argv[]) )'. 118 ;; `int main _PROTO( (int argc,char *argv[]) )'.
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 503698f0f7b..5f99cfe0028 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -145,7 +145,7 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
145 145
146 (ant 146 (ant
147 "^[ \t]*\\[[^] \n]+\\][ \t]*\\([^: \n]+\\):\\([0-9]+\\):\\(?:\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\):\\)?\ 147 "^[ \t]*\\[[^] \n]+\\][ \t]*\\([^: \n]+\\):\\([0-9]+\\):\\(?:\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\):\\)?\
148\\( warning\\)?" 1 (2 . 4) (3 . 5) (4)) 148\\( warning\\)?" 1 (2 . 4) (3 . 5) (6))
149 149
150 (bash 150 (bash
151 "^\\([^: \n\t]+\\): line \\([0-9]+\\):" 1 2) 151 "^\\([^: \n\t]+\\): line \\([0-9]+\\):" 1 2)
@@ -523,7 +523,7 @@ you may also want to change `compilation-page-delimiter'.")
523 ;; Command output lines. Recognize `make[n]:' lines too. 523 ;; Command output lines. Recognize `make[n]:' lines too.
524 ("^\\([[:alnum:]_/.+-]+\\)\\(\\[\\([0-9]+\\)\\]\\)?[ \t]*:" 524 ("^\\([[:alnum:]_/.+-]+\\)\\(\\[\\([0-9]+\\)\\]\\)?[ \t]*:"
525 (1 font-lock-function-name-face) (3 compilation-line-face nil t)) 525 (1 font-lock-function-name-face) (3 compilation-line-face nil t))
526 (" -\\(?:o[= ]?\\|-\\(?:outfile\\|output\\)[= ]\\)\\(\\S +\\)" . 1) 526 (" --?o\\(?:utfile\\|utput\\)?[= ]\\(\\S +\\)" . 1)
527 ("^Compilation \\(finished\\).*" 527 ("^Compilation \\(finished\\).*"
528 (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t) 528 (0 '(face nil compilation-message nil help-echo nil mouse-face nil) t)
529 (1 compilation-info-face)) 529 (1 compilation-info-face))
@@ -647,19 +647,19 @@ starting the compilation process.")
647(defvar compile-history nil) 647(defvar compile-history nil)
648 648
649(defface compilation-error 649(defface compilation-error
650 '((t :inherit font-lock-warning-face)) 650 '((t :inherit error))
651 "Face used to highlight compiler errors." 651 "Face used to highlight compiler errors."
652 :group 'compilation 652 :group 'compilation
653 :version "22.1") 653 :version "22.1")
654 654
655(defface compilation-warning 655(defface compilation-warning
656 '((t :inherit font-lock-variable-name-face)) 656 '((t :inherit warning))
657 "Face used to highlight compiler warnings." 657 "Face used to highlight compiler warnings."
658 :group 'compilation 658 :group 'compilation
659 :version "22.1") 659 :version "22.1")
660 660
661(defface compilation-info 661(defface compilation-info
662 '((t :inherit font-lock-type-face)) 662 '((t :inherit success))
663 "Face used to highlight compiler information." 663 "Face used to highlight compiler information."
664 :group 'compilation 664 :group 'compilation
665 :version "22.1") 665 :version "22.1")
@@ -985,12 +985,15 @@ POS and RES.")
985 (let* ((prev 985 (let* ((prev
986 (or (get-text-property (1- prev-pos) 'compilation-message) 986 (or (get-text-property (1- prev-pos) 'compilation-message)
987 (get-text-property prev-pos 'compilation-message))) 987 (get-text-property prev-pos 'compilation-message)))
988 (prev-struct 988 (prev-file-struct
989 (car (nth 2 (car prev))))) 989 (and prev
990 (compilation--loc->file-struct
991 (compilation--message->loc prev)))))
992
990 ;; Construct FILE . DIR from that. 993 ;; Construct FILE . DIR from that.
991 (if prev-struct 994 (if prev-file-struct
992 (setq file (cons (car prev-struct) 995 (setq file (cons (caar prev-file-struct)
993 (cadr prev-struct)))))) 996 (cadr (car prev-file-struct)))))))
994 (unless file 997 (unless file
995 (setq file '("*unknown*"))))) 998 (setq file '("*unknown*")))))
996 ;; All of these fields are optional, get them only if we have an index, and 999 ;; All of these fields are optional, get them only if we have an index, and
@@ -2410,7 +2413,7 @@ and overlay is highlighted between MK and END-MK."
2410 ;; display the source in another window. 2413 ;; display the source in another window.
2411 (let ((pop-up-windows t)) 2414 (let ((pop-up-windows t))
2412 (pop-to-buffer (marker-buffer mk) 'other-window)) 2415 (pop-to-buffer (marker-buffer mk) 'other-window))
2413 (pop-to-buffer-same-window (marker-buffer mk))) 2416 (switch-to-buffer (marker-buffer mk)))
2414 (unless (eq (goto-char mk) (point)) 2417 (unless (eq (goto-char mk) (point))
2415 ;; If narrowing gets in the way of going to the right place, widen. 2418 ;; If narrowing gets in the way of going to the right place, widen.
2416 (widen) 2419 (widen)
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index 5561575ea20..709f01444bf 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -463,9 +463,12 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'."
463 (set (make-local-variable 'compilation-exit-message-function) 463 (set (make-local-variable 'compilation-exit-message-function)
464 (lambda (status code msg) 464 (lambda (status code msg)
465 (if (eq status 'exit) 465 (if (eq status 'exit)
466 (cond ((zerop code) 466 ;; This relies on the fact that `compilation-start'
467 ;; sets buffer-modified to nil before running the command,
468 ;; so the buffer is still unmodified if there is no output.
469 (cond ((and (zerop code) (buffer-modified-p))
467 '("finished (matches found)\n" . "matched")) 470 '("finished (matches found)\n" . "matched"))
468 ((= code 1) 471 ((or (= code 1) (not (buffer-modified-p)))
469 '("finished with no matches found\n" . "no match")) 472 '("finished with no matches found\n" . "no match"))
470 (t 473 (t
471 (cons msg code))) 474 (cons msg code)))
@@ -965,7 +968,9 @@ This command shares argument histories with \\[lgrep] and \\[grep-find]."
965 (unless (and dir (file-directory-p dir) (file-readable-p dir)) 968 (unless (and dir (file-directory-p dir) (file-readable-p dir))
966 (setq dir default-directory)) 969 (setq dir default-directory))
967 (if (null files) 970 (if (null files)
968 (if (not (string= regexp grep-find-command)) 971 (if (not (string= regexp (if (consp grep-find-command)
972 (car grep-find-command)
973 grep-find-command)))
969 (compilation-start regexp 'grep-mode)) 974 (compilation-start regexp 'grep-mode))
970 (setq dir (file-name-as-directory (expand-file-name dir))) 975 (setq dir (file-name-as-directory (expand-file-name dir)))
971 (require 'find-dired) ; for `find-name-arg' 976 (require 'find-dired) ; for `find-name-arg'
@@ -1023,8 +1028,7 @@ This command shares argument histories with \\[lgrep] and \\[grep-find]."
1023 (read-from-minibuffer "Confirm: " 1028 (read-from-minibuffer "Confirm: "
1024 command nil nil 'grep-find-history)) 1029 command nil nil 'grep-find-history))
1025 (add-to-history 'grep-find-history command)) 1030 (add-to-history 'grep-find-history command))
1026 (let ((default-directory dir) 1031 (let ((default-directory dir))
1027 (process-connection-type nil))
1028 (compilation-start command 'grep-mode)) 1032 (compilation-start command 'grep-mode))
1029 ;; Set default-directory if we started rgrep in the *grep* buffer. 1033 ;; Set default-directory if we started rgrep in the *grep* buffer.
1030 (if (eq next-error-last-buffer (current-buffer)) 1034 (if (eq next-error-last-buffer (current-buffer))
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 1bdcb4cfa89..5505e8e94b2 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -61,6 +61,7 @@
61(defvar inferior-moz-buffer) 61(defvar inferior-moz-buffer)
62(defvar moz-repl-name) 62(defvar moz-repl-name)
63(defvar ido-cur-list) 63(defvar ido-cur-list)
64(defvar electric-layout-rules)
64(declare-function ido-mode "ido") 65(declare-function ido-mode "ido")
65(declare-function inferior-moz-process "ext:mozrepl" ()) 66(declare-function inferior-moz-process "ext:mozrepl" ())
66 67
@@ -507,9 +508,6 @@ getting timeout messages."
507 508
508(defvar js-mode-map 509(defvar js-mode-map
509 (let ((keymap (make-sparse-keymap))) 510 (let ((keymap (make-sparse-keymap)))
510 (mapc (lambda (key)
511 (define-key keymap key #'js-insert-and-indent))
512 '("{" "}" "(" ")" ":" ";" ","))
513 (define-key keymap [(control ?c) (meta ?:)] #'js-eval) 511 (define-key keymap [(control ?c) (meta ?:)] #'js-eval)
514 (define-key keymap [(control ?c) (control ?j)] #'js-set-js-context) 512 (define-key keymap [(control ?c) (control ?j)] #'js-set-js-context)
515 (define-key keymap [(control meta ?x)] #'js-eval-defun) 513 (define-key keymap [(control meta ?x)] #'js-eval-defun)
@@ -525,21 +523,6 @@ getting timeout messages."
525 keymap) 523 keymap)
526 "Keymap for `js-mode'.") 524 "Keymap for `js-mode'.")
527 525
528(defun js-insert-and-indent (key)
529 "Run the command bound to KEY, and indent if necessary.
530Indentation does not take place if point is in a string or
531comment."
532 (interactive (list (this-command-keys)))
533 (call-interactively (lookup-key (current-global-map) key))
534 (let ((syntax (save-restriction (widen) (syntax-ppss))))
535 (when (or (and (not (nth 8 syntax))
536 js-auto-indent-flag)
537 (and (nth 4 syntax)
538 (eq (current-column)
539 (1+ (current-indentation)))))
540 (indent-according-to-mode))))
541
542
543;;; Syntax table and parsing 526;;; Syntax table and parsing
544 527
545(defvar js-mode-syntax-table 528(defvar js-mode-syntax-table
@@ -1653,21 +1636,35 @@ This performs fontification according to `js--class-styles'."
1653 js--font-lock-keywords-3) 1636 js--font-lock-keywords-3)
1654 "Font lock keywords for `js-mode'. See `font-lock-keywords'.") 1637 "Font lock keywords for `js-mode'. See `font-lock-keywords'.")
1655 1638
1656;; XXX: Javascript can continue a regexp literal across lines so long 1639(defun js-syntax-propertize-regexp (end)
1657;; as the newline is escaped with \. Account for that in the regexp 1640 (when (eq (nth 3 (syntax-ppss)) ?/)
1658;; below. 1641 ;; A /.../ regexp.
1659(eval-and-compile 1642 (when (re-search-forward "\\(?:\\=\\|[^\\]\\)\\(?:\\\\\\\\\\)*/" end 'move)
1660 (defconst js--regexp-literal 1643 (put-text-property (1- (point)) (point)
1661 "[=(,:]\\(?:\\s-\\|\n\\)*\\(/\\)\\(?:\\\\.\\|[^/*\\]\\)\\(?:\\\\.\\|[^/\\]\\)*\\(/\\)" 1644 'syntax-table (string-to-syntax "\"/")))))
1662 "Regexp matching a JavaScript regular expression literal. 1645
1663Match groups 1 and 2 are the characters forming the beginning and 1646(defun js-syntax-propertize (start end)
1664end of the literal.")) 1647 ;; Javascript allows immediate regular expression objects, written /.../.
1665 1648 (goto-char start)
1666(defconst js-syntax-propertize-function 1649 (js-syntax-propertize-regexp end)
1667 (syntax-propertize-rules 1650 (funcall
1668 ;; We want to match regular expressions only at the beginning of 1651 (syntax-propertize-rules
1669 ;; expressions. 1652 ;; Distinguish /-division from /-regexp chars (and from /-comment-starter).
1670 (js--regexp-literal (1 "\"") (2 "\"")))) 1653 ("\\(?:^\\|[=([{,:;]\\)\\(?:[ \t]\\)*\\(/\\)[^/*]"
1654 (1 (ignore
1655 (forward-char -1)
1656 (when (or (not (memq (char-after (match-beginning 0)) '(?\s ?\t)))
1657 ;; If the / is at the beginning of line, we have to check
1658 ;; the end of the previous text.
1659 (save-excursion
1660 (goto-char (match-beginning 0))
1661 (forward-comment (- (point)))
1662 (memq (char-before)
1663 (eval-when-compile (append "=({[,:;" '(nil))))))
1664 (put-text-property (match-beginning 1) (match-end 1)
1665 'syntax-table (string-to-syntax "\"/"))
1666 (js-syntax-propertize-regexp end))))))
1667 (point) end))
1671 1668
1672;;; Indentation 1669;;; Indentation
1673 1670
@@ -3298,7 +3295,7 @@ If one hasn't been set, or if it's stale, prompt for a new one."
3298 (set (make-local-variable 'font-lock-defaults) 3295 (set (make-local-variable 'font-lock-defaults)
3299 (list js--font-lock-keywords)) 3296 (list js--font-lock-keywords))
3300 (set (make-local-variable 'syntax-propertize-function) 3297 (set (make-local-variable 'syntax-propertize-function)
3301 js-syntax-propertize-function) 3298 #'js-syntax-propertize)
3302 3299
3303 (set (make-local-variable 'parse-sexp-ignore-comments) t) 3300 (set (make-local-variable 'parse-sexp-ignore-comments) t)
3304 (set (make-local-variable 'parse-sexp-lookup-properties) t) 3301 (set (make-local-variable 'parse-sexp-lookup-properties) t)
@@ -3331,6 +3328,11 @@ If one hasn't been set, or if it's stale, prompt for a new one."
3331 c-comment-start-regexp "/[*/]\\|\\s!" 3328 c-comment-start-regexp "/[*/]\\|\\s!"
3332 comment-start-skip "\\(//+\\|/\\*+\\)\\s *") 3329 comment-start-skip "\\(//+\\|/\\*+\\)\\s *")
3333 3330
3331 (set (make-local-variable 'electric-indent-chars)
3332 (append "{}():;," electric-indent-chars))
3333 (set (make-local-variable 'electric-layout-rules)
3334 '((?\; . after) (?\{ . after) (?\} . before)))
3335
3334 (let ((c-buffer-is-cc-mode t)) 3336 (let ((c-buffer-is-cc-mode t))
3335 ;; FIXME: These are normally set by `c-basic-common-init'. Should 3337 ;; FIXME: These are normally set by `c-basic-common-init'. Should
3336 ;; we call it instead? (Bug#6071) 3338 ;; we call it instead? (Bug#6071)
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 4d2f15c69d8..3f923f496b9 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -296,7 +296,7 @@ Used for syntactic keywords. N is the match number (1, 2 or 3)."
296 :filter (lambda (&rest junk) 296 :filter (lambda (&rest junk)
297 (abbrev-table-menu python-mode-abbrev-table))) 297 (abbrev-table-menu python-mode-abbrev-table)))
298 "-" 298 "-"
299 ["Start interpreter" python-shell 299 ["Start interpreter" run-python
300 :help "Run `inferior' Python in separate buffer"] 300 :help "Run `inferior' Python in separate buffer"]
301 ["Import/reload file" python-load-file 301 ["Import/reload file" python-load-file
302 :help "Load into inferior Python session"] 302 :help "Load into inferior Python session"]
@@ -328,14 +328,6 @@ Used for syntactic keywords. N is the match number (1, 2 or 3)."
328;; eric has items including: (un)indent, (un)comment, restart script, 328;; eric has items including: (un)indent, (un)comment, restart script,
329;; run script, debug script; also things for profiling, unit testing. 329;; run script, debug script; also things for profiling, unit testing.
330 330
331(defvar python-shell-map
332 (let ((map (copy-keymap comint-mode-map)))
333 (define-key map [tab] 'tab-to-tab-stop)
334 (define-key map "\C-c-" 'py-up-exception)
335 (define-key map "\C-c=" 'py-down-exception)
336 map)
337 "Keymap used in *Python* shell buffers.")
338
339(defvar python-mode-syntax-table 331(defvar python-mode-syntax-table
340 (let ((table (make-syntax-table))) 332 (let ((table (make-syntax-table)))
341 ;; Give punctuation syntax to ASCII that normally has symbol 333 ;; Give punctuation syntax to ASCII that normally has symbol
@@ -1345,7 +1337,7 @@ local value.")
1345 (define-key map "\C-c\C-l" 'python-load-file) 1337 (define-key map "\C-c\C-l" 'python-load-file)
1346 (define-key map "\C-c\C-v" 'python-check) 1338 (define-key map "\C-c\C-v" 'python-check)
1347 ;; Note that we _can_ still use these commands which send to the 1339 ;; Note that we _can_ still use these commands which send to the
1348 ;; Python process even at the prompt iff we have a normal prompt, 1340 ;; Python process even at the prompt if we have a normal prompt,
1349 ;; i.e. '>>> ' and not '... '. See the comment before 1341 ;; i.e. '>>> ' and not '... '. See the comment before
1350 ;; python-send-region. Fixme: uncomment these if we address that. 1342 ;; python-send-region. Fixme: uncomment these if we address that.
1351 1343
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el
index 4151e2bb79a..470b309434c 100644
--- a/lisp/progmodes/scheme.el
+++ b/lisp/progmodes/scheme.el
@@ -55,24 +55,24 @@
55(defvar scheme-mode-syntax-table 55(defvar scheme-mode-syntax-table
56 (let ((st (make-syntax-table)) 56 (let ((st (make-syntax-table))
57 (i 0)) 57 (i 0))
58 58 ;; Symbol constituents
59 ;; Default is atom-constituent. 59 ;; We used to treat chars 128-256 as symbol-constituent, but they
60 (while (< i 256) 60 ;; should be valid word constituents (Bug#8843). Note that valid
61 ;; identifier characters are Scheme-implementation dependent.
62 (while (< i ?0)
61 (modify-syntax-entry i "_ " st) 63 (modify-syntax-entry i "_ " st)
62 (setq i (1+ i))) 64 (setq i (1+ i)))
63 65 (setq i (1+ ?9))
64 ;; Word components. 66 (while (< i ?A)
65 (setq i ?0) 67 (modify-syntax-entry i "_ " st)
66 (while (<= i ?9)
67 (modify-syntax-entry i "w " st)
68 (setq i (1+ i))) 68 (setq i (1+ i)))
69 (setq i ?A) 69 (setq i (1+ ?Z))
70 (while (<= i ?Z) 70 (while (< i ?a)
71 (modify-syntax-entry i "w " st) 71 (modify-syntax-entry i "_ " st)
72 (setq i (1+ i))) 72 (setq i (1+ i)))
73 (setq i ?a) 73 (setq i (1+ ?z))
74 (while (<= i ?z) 74 (while (< i 128)
75 (modify-syntax-entry i "w " st) 75 (modify-syntax-entry i "_ " st)
76 (setq i (1+ i))) 76 (setq i (1+ i)))
77 77
78 ;; Whitespace 78 ;; Whitespace
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index 258f9be9237..7b949134c6c 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -460,6 +460,7 @@ This is buffer-local in every such buffer.")
460 (define-key map "\C-c+" 'sh-add) 460 (define-key map "\C-c+" 'sh-add)
461 (define-key map "\C-\M-x" 'sh-execute-region) 461 (define-key map "\C-\M-x" 'sh-execute-region)
462 (define-key map "\C-c\C-x" 'executable-interpret) 462 (define-key map "\C-c\C-x" 'executable-interpret)
463 ;; FIXME: Use post-self-insert-hook.
463 (define-key map "<" 'sh-maybe-here-document) 464 (define-key map "<" 'sh-maybe-here-document)
464 (define-key map "(" 'skeleton-pair-insert-maybe) 465 (define-key map "(" 'skeleton-pair-insert-maybe)
465 (define-key map "{" 'skeleton-pair-insert-maybe) 466 (define-key map "{" 'skeleton-pair-insert-maybe)
@@ -1028,45 +1029,45 @@ subshells can nest."
1028 1029
1029(defun sh-font-lock-paren (start) 1030(defun sh-font-lock-paren (start)
1030 (unless (nth 8 (syntax-ppss)) 1031 (unless (nth 8 (syntax-ppss))
1031 (save-excursion 1032 (save-excursion
1032 (goto-char start) 1033 (goto-char start)
1033 ;; Skip through all patterns 1034 ;; Skip through all patterns
1034 (while 1035 (while
1035 (progn 1036 (progn
1036 (while 1037 (while
1037 (progn 1038 (progn
1038 (forward-comment (- (point-max))) 1039 (forward-comment (- (point-max)))
1039 (when (and (eolp) (sh-is-quoted-p (point))) 1040 (when (and (eolp) (sh-is-quoted-p (point)))
1040 (forward-char -1) 1041 (forward-char -1)
1041 t))) 1042 t)))
1042 ;; Skip through one pattern 1043 ;; Skip through one pattern
1043 (while 1044 (while
1044 (or (/= 0 (skip-syntax-backward "w_")) 1045 (or (/= 0 (skip-syntax-backward "w_"))
1045 (/= 0 (skip-chars-backward "-$=?[]*@/\\\\")) 1046 (/= 0 (skip-chars-backward "-$=?[]*@/\\\\"))
1046 (and (sh-is-quoted-p (1- (point))) 1047 (and (sh-is-quoted-p (1- (point)))
1047 (goto-char (- (point) 2))) 1048 (goto-char (- (point) 2)))
1048 (when (memq (char-before) '(?\" ?\' ?\})) 1049 (when (memq (char-before) '(?\" ?\' ?\}))
1049 (condition-case nil (progn (backward-sexp 1) t) 1050 (condition-case nil (progn (backward-sexp 1) t)
1050 (error nil))))) 1051 (error nil)))))
1051 ;; Patterns can be preceded by an open-paren (Bug#1320). 1052 ;; Patterns can be preceded by an open-paren (Bug#1320).
1052 (if (eq (char-before (point)) ?\() 1053 (if (eq (char-before (point)) ?\()
1053 (backward-char 1)) 1054 (backward-char 1))
1054 (while (progn 1055 (while (progn
1055 (forward-comment (- (point-max))) 1056 (forward-comment (- (point-max)))
1056 ;; Maybe we've bumped into an escaped newline. 1057 ;; Maybe we've bumped into an escaped newline.
1057 (sh-is-quoted-p (point))) 1058 (sh-is-quoted-p (point)))
1058 (backward-char 1)) 1059 (backward-char 1))
1059 (when (eq (char-before) ?|) 1060 (when (eq (char-before) ?|)
1060 (backward-char 1) t))) 1061 (backward-char 1) t)))
1061 (when (progn (backward-char 2) 1062 (when (progn (backward-char 2)
1062 (if (> start (line-end-position)) 1063 (if (> start (line-end-position))
1063 (put-text-property (point) (1+ start) 1064 (put-text-property (point) (1+ start)
1064 'syntax-multiline t)) 1065 'syntax-multiline t))
1065 ;; FIXME: The `in' may just be a random argument to 1066 ;; FIXME: The `in' may just be a random argument to
1066 ;; a normal command rather than the real `in' keyword. 1067 ;; a normal command rather than the real `in' keyword.
1067 ;; I.e. we should look back to try and find the 1068 ;; I.e. we should look back to try and find the
1068 ;; corresponding `case'. 1069 ;; corresponding `case'.
1069 (and (looking-at ";[;&]\\|in") 1070 (and (looking-at ";[;&]\\|\\_<in")
1070 ;; ";; esac )" is a case that looks like a case-pattern 1071 ;; ";; esac )" is a case that looks like a case-pattern
1071 ;; but it's really just a close paren after a case 1072 ;; but it's really just a close paren after a case
1072 ;; statement. I.e. if we skipped over `esac' just now, 1073 ;; statement. I.e. if we skipped over `esac' just now,
@@ -3659,6 +3660,7 @@ The document is bounded by `sh-here-document-word'."
3659 (save-excursion 3660 (save-excursion
3660 (backward-char 2) 3661 (backward-char 2)
3661 (sh-quoted-p)) 3662 (sh-quoted-p))
3663 (nth 8 (syntax-ppss))
3662 (let ((tabs (if (string-match "\\`-" sh-here-document-word) 3664 (let ((tabs (if (string-match "\\`-" sh-here-document-word)
3663 (make-string (/ (current-indentation) tab-width) ?\t) 3665 (make-string (/ (current-indentation) tab-width) ?\t)
3664 "")) 3666 ""))
diff --git a/lisp/saveplace.el b/lisp/saveplace.el
index 2d1586d895a..9d776877ca6 100644
--- a/lisp/saveplace.el
+++ b/lisp/saveplace.el
@@ -89,8 +89,9 @@ value of `version-control'."
89(defvar save-place-loaded nil 89(defvar save-place-loaded nil
90 "Non-nil means that the `save-place-file' has been loaded.") 90 "Non-nil means that the `save-place-file' has been loaded.")
91 91
92(defcustom save-place-limit nil 92(defcustom save-place-limit 400
93 "Maximum number of entries to retain in the list; nil means no limit." 93 "Maximum number of entries to retain in the list; nil means no limit."
94 :version "24.1" ; nil -> 400
94 :type '(choice (integer :tag "Entries" :value 1) 95 :type '(choice (integer :tag "Entries" :value 1)
95 (const :tag "No Limit" nil)) 96 (const :tag "No Limit" nil))
96 :group 'save-place) 97 :group 'save-place)
diff --git a/lisp/server.el b/lisp/server.el
index c91f10b6584..63d46a365c9 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -112,7 +112,10 @@ If set, the server accepts remote connections; otherwise it is local."
112(put 'server-host 'risky-local-variable t) 112(put 'server-host 'risky-local-variable t)
113 113
114(defcustom server-port nil 114(defcustom server-port nil
115 "The port number that the server process should listen on." 115 "The port number that the server process should listen on.
116This variable only takes effect when the Emacs server is using
117TCP instead of local sockets. A nil value means to use a random
118port number."
116 :group 'server 119 :group 'server
117 :type '(choice 120 :type '(choice
118 (string :tag "Port number") 121 (string :tag "Port number")
diff --git a/lisp/shell.el b/lisp/shell.el
index de811543ba0..909ebb48afc 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -383,6 +383,39 @@ to `dirtrack-mode'."
383 :group 'shell 383 :group 'shell
384 :type '(choice (const nil) regexp)) 384 :type '(choice (const nil) regexp))
385 385
386(defun shell-parse-pcomplete-arguments ()
387 "Parse whitespace separated arguments in the current region."
388 (let ((begin (save-excursion (shell-backward-command 1) (point)))
389 (end (point))
390 begins args)
391 (save-excursion
392 (goto-char begin)
393 (while (< (point) end)
394 (skip-chars-forward " \t\n")
395 (push (point) begins)
396 (let ((arg ()))
397 (while (looking-at
398 (eval-when-compile
399 (concat
400 "\\(?:[^\s\t\n\\\"']+"
401 "\\|'\\([^']*\\)'?"
402 "\\|\"\\(\\(?:[^\"\\]\\|\\\\.\\)*\\)\"?"
403 "\\|\\\\\\(\\(?:.\\|\n\\)?\\)\\)")))
404 (goto-char (match-end 0))
405 (cond
406 ((match-beginning 3) ;Backslash escape.
407 (push (if (= (match-beginning 3) (match-end 3))
408 "\\" (match-string 3))
409 arg))
410 ((match-beginning 2) ;Double quote.
411 (push (replace-regexp-in-string
412 "\\\\\\(.\\)" "\\1" (match-string 2))
413 arg))
414 ((match-beginning 1) ;Single quote.
415 (push (match-string 1) arg))
416 (t (push (match-string 0) arg))))
417 (push (mapconcat #'identity (nreverse arg) "") args)))
418 (cons (nreverse args) (nreverse begins)))))
386 419
387(defun shell-completion-vars () 420(defun shell-completion-vars ()
388 "Setup completion vars for `shell-mode' and `read-shell-command'." 421 "Setup completion vars for `shell-mode' and `read-shell-command'."
@@ -396,8 +429,9 @@ to `dirtrack-mode'."
396 (set (make-local-variable 'comint-dynamic-complete-functions) 429 (set (make-local-variable 'comint-dynamic-complete-functions)
397 shell-dynamic-complete-functions) 430 shell-dynamic-complete-functions)
398 (set (make-local-variable 'pcomplete-parse-arguments-function) 431 (set (make-local-variable 'pcomplete-parse-arguments-function)
399 ;; FIXME: This function should be moved to shell.el. 432 #'shell-parse-pcomplete-arguments)
400 #'pcomplete-parse-comint-arguments) 433 (set (make-local-variable 'pcomplete-arg-quote-list)
434 (append "\\ \t\n\r\"'`$|&;(){}[]<>#" nil))
401 (set (make-local-variable 'pcomplete-termination-string) 435 (set (make-local-variable 'pcomplete-termination-string)
402 (cond ((not comint-completion-addsuffix) "") 436 (cond ((not comint-completion-addsuffix) "")
403 ((stringp comint-completion-addsuffix) 437 ((stringp comint-completion-addsuffix)
diff --git a/lisp/startup.el b/lisp/startup.el
index 6953ed25ed4..6c3bb397e9a 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -105,6 +105,11 @@ This is a convenience alias, so that one can write \(pop argv\)
105inside of --eval command line arguments in order to access 105inside of --eval command line arguments in order to access
106following arguments.") 106following arguments.")
107 107
108(with-no-warnings
109 ;; FIXME: Bad name for a dynamically bound variable
110 (defvar argi nil
111 "Current command-line argument."))
112
108(defvar command-line-functions nil ;; lrs 7/31/89 113(defvar command-line-functions nil ;; lrs 7/31/89
109 "List of functions to process unrecognized command-line arguments. 114 "List of functions to process unrecognized command-line arguments.
110Each function should access the dynamically bound variables 115Each function should access the dynamically bound variables
@@ -404,7 +409,7 @@ The regexp should not contain a starting \"\\`\" or a trailing
404 \"\\'\"; those are added automatically by callers.") 409 \"\\'\"; those are added automatically by callers.")
405 410
406(defun normal-top-level-add-subdirs-to-load-path () 411(defun normal-top-level-add-subdirs-to-load-path ()
407 "Add all subdirectories of current directory to `load-path'. 412 "Add all subdirectories of `default-directory' to `load-path'.
408More precisely, this uses only the subdirectories whose names 413More precisely, this uses only the subdirectories whose names
409start with letters or digits; it excludes any subdirectory named `RCS' 414start with letters or digits; it excludes any subdirectory named `RCS'
410or `CVS', and any subdirectory that contains a file named `.nosearch'." 415or `CVS', and any subdirectory that contains a file named `.nosearch'."
diff --git a/lisp/subr.el b/lisp/subr.el
index ef19797012a..b49a20e7f6e 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -526,6 +526,20 @@ but optional second arg NODIGITS non-nil treats them like other chars."
526 (define-key map (char-to-string loop) 'digit-argument) 526 (define-key map (char-to-string loop) 'digit-argument)
527 (setq loop (1+ loop)))))) 527 (setq loop (1+ loop))))))
528 528
529(defun make-composed-keymap (maps &optional parent)
530 "Construct a new keymap composed of MAPS and inheriting from PARENT.
531When looking up a key in the returned map, the key is looked in each
532keymap of MAPS in turn until a binding is found.
533If no binding is found in MAPS, the lookup continues in PARENT, if non-nil.
534As always with keymap inheritance, a nil binding in MAPS overrides
535any corresponding binding in PARENT, but it does not override corresponding
536bindings in other keymaps of MAPS.
537MAPS can be a list of keymaps or a single keymap.
538PARENT if non-nil should be a keymap."
539 `(keymap
540 ,@(if (keymapp maps) (list maps) maps)
541 ,@parent))
542
529(defun define-key-after (keymap key definition &optional after) 543(defun define-key-after (keymap key definition &optional after)
530 "Add binding in KEYMAP for KEY => DEFINITION, right after AFTER's binding. 544 "Add binding in KEYMAP for KEY => DEFINITION, right after AFTER's binding.
531This is like `define-key' except that the binding for KEY is placed 545This is like `define-key' except that the binding for KEY is placed
@@ -874,8 +888,8 @@ The elements of the list may include `meta', `control',
874and `down'. 888and `down'.
875EVENT may be an event or an event type. If EVENT is a symbol 889EVENT may be an event or an event type. If EVENT is a symbol
876that has never been used in an event that has been read as input 890that has never been used in an event that has been read as input
877in the current Emacs session, then this function can return nil, 891in the current Emacs session, then this function may fail to include
878even when EVENT actually has modifiers." 892the `click' modifier."
879 (let ((type event)) 893 (let ((type event))
880 (if (listp type) 894 (if (listp type)
881 (setq type (car type))) 895 (setq type (car type)))
@@ -3524,6 +3538,24 @@ If IGNORE-CASE is non-nil, the comparison is done without paying attention
3524to case differences." 3538to case differences."
3525 (eq t (compare-strings str1 nil nil 3539 (eq t (compare-strings str1 nil nil
3526 str2 0 (length str1) ignore-case))) 3540 str2 0 (length str1) ignore-case)))
3541
3542(defun bidi-string-mark-left-to-right (str)
3543 "Return a string that can be safely inserted in left-to-right text.
3544
3545Normally, inserting a string with right-to-left (RTL) script into
3546a buffer may cause some subsequent text to be displayed as part
3547of the RTL segment (usually this affects punctuation characters).
3548This function returns a string which displays as STR but forces
3549subsequent text to be displayed as left-to-right.
3550
3551If STR contains any RTL character, this function returns a string
3552consisting of STR followed by an invisible left-to-right mark
3553\(LRM) character. Otherwise, it returns STR."
3554 (unless (stringp str)
3555 (signal 'wrong-type-argument (list 'stringp str)))
3556 (if (string-match "\\cR" str)
3557 (concat str (propertize (string ?\x200e) 'invisible t))
3558 str))
3527 3559
3528;;;; invisibility specs 3560;;;; invisibility specs
3529 3561
diff --git a/lisp/term.el b/lisp/term.el
index 6d7f6f5c535..361ff685396 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -1227,9 +1227,9 @@ without any interpretation."
1227 (make-string 1 char) 1227 (make-string 1 char)
1228 (format "\e%c" char))))) 1228 (format "\e%c" char)))))
1229 1229
1230(defun term-mouse-paste (click arg) 1230(defun term-mouse-paste (click)
1231 "Insert the last stretch of killed text at the position clicked on." 1231 "Insert the primary selection at the position clicked on."
1232 (interactive "e\nP") 1232 (interactive "e")
1233 (if (featurep 'xemacs) 1233 (if (featurep 'xemacs)
1234 (term-send-raw-string 1234 (term-send-raw-string
1235 (or (condition-case () (x-get-selection) (error ())) 1235 (or (condition-case () (x-get-selection) (error ()))
@@ -1238,10 +1238,17 @@ without any interpretation."
1238 (run-hooks 'mouse-leave-buffer-hook) 1238 (run-hooks 'mouse-leave-buffer-hook)
1239 (setq this-command 'yank) 1239 (setq this-command 'yank)
1240 (mouse-set-point click) 1240 (mouse-set-point click)
1241 (term-send-raw-string (current-kill (cond 1241 (term-send-raw-string
1242 ((listp arg) 0) 1242 (or (cond ; From `mouse-yank-primary':
1243 ((eq arg '-) -1) 1243 ((eq system-type 'windows-nt)
1244 (t (1- arg))))))) 1244 (or (x-get-selection 'PRIMARY)
1245 (x-get-selection-value)))
1246 ((fboundp 'x-get-selection-value)
1247 (or (x-get-selection-value)
1248 (x-get-selection 'PRIMARY)))
1249 (t
1250 (x-get-selection 'PRIMARY)))
1251 (error "No selection is available")))))
1245 1252
1246(defun term-paste () 1253(defun term-paste ()
1247 "Insert the last stretch of killed text at point." 1254 "Insert the last stretch of killed text at point."
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index a660bdb6488..0383251523f 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -3060,7 +3060,7 @@ When called interactively, FORCE is t, CURRENT is t if current buffer uses
3060 ;; select BibTeX buffer 3060 ;; select BibTeX buffer
3061 (if select 3061 (if select
3062 (if buffer-list 3062 (if buffer-list
3063 (pop-to-buffer-same-window 3063 (switch-to-buffer
3064 (completing-read "Switch to BibTeX buffer: " 3064 (completing-read "Switch to BibTeX buffer: "
3065 (mapcar 'buffer-name buffer-list) 3065 (mapcar 'buffer-name buffer-list)
3066 nil t 3066 nil t
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index c196218feec..5521cfd3de8 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1914,7 +1914,7 @@ Global `ispell-quit' set to start location to continue spell session."
1914 (setq line (1+ line)))) 1914 (setq line (1+ line))))
1915 (insert (car guess) " ") 1915 (insert (car guess) " ")
1916 (setq guess (cdr guess))) 1916 (setq guess (cdr guess)))
1917 (insert "\nUse option `i' to accept this spelling and put it in your private dictionary.") 1917 (insert "\nUse option `i' to accept this spelling and put it in your private dictionary.\n")
1918 (setq line (+ line (if choices 3 2))))) 1918 (setq line (+ line (if choices 3 2)))))
1919 (while (and choices 1919 (while (and choices
1920 (< (if (> (+ 7 (current-column) (length (car choices)) 1920 (< (if (> (+ 7 (current-column) (length (car choices))
diff --git a/lisp/time-stamp.el b/lisp/time-stamp.el
index 59340583997..fda8cd1438d 100644
--- a/lisp/time-stamp.el
+++ b/lisp/time-stamp.el
@@ -424,10 +424,10 @@ format the string."
424 (let ((ts-real-time-zone (getenv "TZ"))) 424 (let ((ts-real-time-zone (getenv "TZ")))
425 (unwind-protect 425 (unwind-protect
426 (progn 426 (progn
427 (set-time-zone-rule time-stamp-time-zone) 427 (setenv "TZ" time-stamp-time-zone)
428 (format-time-string 428 (format-time-string
429 (time-stamp-string-preprocess ts-format))) 429 (time-stamp-string-preprocess ts-format)))
430 (set-time-zone-rule ts-real-time-zone))) 430 (setenv "TZ" ts-real-time-zone)))
431 (format-time-string 431 (format-time-string
432 (time-stamp-string-preprocess ts-format))) 432 (time-stamp-string-preprocess ts-format)))
433 ;; handle version 1 compatibility 433 ;; handle version 1 compatibility
diff --git a/lisp/time.el b/lisp/time.el
index b158ef64691..f8fea0c64a2 100644
--- a/lisp/time.el
+++ b/lisp/time.el
@@ -156,21 +156,24 @@ LABEL is a string to display as the label of that TIMEZONE's time."
156(defcustom display-time-world-list 156(defcustom display-time-world-list
157 ;; Determine if zoneinfo style timezones are supported by testing that 157 ;; Determine if zoneinfo style timezones are supported by testing that
158 ;; America/New York and Europe/London return different timezones. 158 ;; America/New York and Europe/London return different timezones.
159 (let (gmt nyt) 159 (let ((old-tz (getenv "TZ"))
160 (set-time-zone-rule "America/New_York") 160 gmt nyt)
161 (setq nyt (format-time-string "%z")) 161 (unwind-protect
162 (set-time-zone-rule "Europe/London") 162 (progn
163 (setq gmt (format-time-string "%z")) 163 (setenv "TZ" "America/New_York")
164 (set-time-zone-rule nil) 164 (setq nyt (format-time-string "%z"))
165 (setenv "TZ" "Europe/London")
166 (setq gmt (format-time-string "%z")))
167 (setenv "TZ" old-tz))
165 (if (string-equal nyt gmt) 168 (if (string-equal nyt gmt)
166 legacy-style-world-list 169 legacy-style-world-list
167 zoneinfo-style-world-list)) 170 zoneinfo-style-world-list))
168 "Alist of time zones and places for `display-time-world' to display. 171 "Alist of time zones and places for `display-time-world' to display.
169Each element has the form (TIMEZONE LABEL). 172Each element has the form (TIMEZONE LABEL).
170TIMEZONE should be in the format supported by `set-time-zone-rule' on 173TIMEZONE should be in a format supported by your system. See the
171your system. See the documentation of `zoneinfo-style-world-list' and 174documentation of `zoneinfo-style-world-list' and
172\`legacy-style-world-list' for two widely used formats. 175\`legacy-style-world-list' for two widely used formats. LABEL is
173LABEL is a string to display as the label of that TIMEZONE's time." 176a string to display as the label of that TIMEZONE's time."
174 :group 'display-time 177 :group 'display-time
175 :type '(repeat (list string string)) 178 :type '(repeat (list string string))
176 :version "23.1") 179 :version "23.1")
@@ -521,26 +524,26 @@ See `display-time-world'."
521(defun display-time-world-display (alist) 524(defun display-time-world-display (alist)
522 "Replace current buffer text with times in various zones, based on ALIST." 525 "Replace current buffer text with times in various zones, based on ALIST."
523 (let ((inhibit-read-only t) 526 (let ((inhibit-read-only t)
524 (buffer-undo-list t)) 527 (buffer-undo-list t)
528 (old-tz (getenv "TZ"))
529 (max-width 0)
530 result fmt)
525 (erase-buffer) 531 (erase-buffer)
526 (let ((max-width 0) 532 (unwind-protect
527 (result ()) 533 (dolist (zone alist)
528 fmt) 534 (let* ((label (cadr zone))
529 (unwind-protect 535 (width (string-width label)))
530 (dolist (zone alist) 536 (setenv "TZ" (car zone))
531 (let* ((label (cadr zone)) 537 (push (cons label
532 (width (string-width label))) 538 (format-time-string display-time-world-time-format))
533 (set-time-zone-rule (car zone)) 539 result)
534 (push (cons label 540 (when (> width max-width)
535 (format-time-string display-time-world-time-format)) 541 (setq max-width width))))
536 result) 542 (setenv "TZ" old-tz))
537 (when (> width max-width) 543 (setq fmt (concat "%-" (int-to-string max-width) "s %s\n"))
538 (setq max-width width)))) 544 (dolist (timedata (nreverse result))
539 (set-time-zone-rule nil)) 545 (insert (format fmt (car timedata) (cdr timedata)))))
540 (setq fmt (concat "%-" (int-to-string max-width) "s %s\n")) 546 (delete-char -1))
541 (dolist (timedata (nreverse result))
542 (insert (format fmt (car timedata) (cdr timedata)))))
543 (delete-char -1)))
544 547
545;;;###autoload 548;;;###autoload
546(defun display-time-world () 549(defun display-time-world ()
diff --git a/lisp/tutorial.el b/lisp/tutorial.el
index 77ef50843d3..c57ec33d2e2 100644
--- a/lisp/tutorial.el
+++ b/lisp/tutorial.el
@@ -253,7 +253,7 @@ LEFT and RIGHT are the elements to compare."
253 ;; * INSERTING AND DELETING 253 ;; * INSERTING AND DELETING
254 ;; C-u 8 * to insert ********. 254 ;; C-u 8 * to insert ********.
255 (delete-backward-char "\d") 255 (delete-backward-char "\d")
256 (delete-forward-char [?\C-d]) 256 (delete-char [?\C-d])
257 (backward-kill-word [?\M-\d]) 257 (backward-kill-word [?\M-\d])
258 (kill-word [?\M-d]) 258 (kill-word [?\M-d])
259 (kill-line [?\C-k]) 259 (kill-line [?\C-k])
@@ -298,7 +298,7 @@ LEFT and RIGHT are the elements to compare."
298 (isearch-backward [?\C-r]) 298 (isearch-backward [?\C-r])
299 299
300 ;; * MULTIPLE WINDOWS 300 ;; * MULTIPLE WINDOWS
301 (split-window-vertically [?\C-x ?2]) 301 (split-window-above-each-other [?\C-x ?2])
302 (scroll-other-window [?\C-\M-v]) 302 (scroll-other-window [?\C-\M-v])
303 (other-window [?\C-x ?o]) 303 (other-window [?\C-x ?o])
304 (find-file-other-window [?\C-x ?4 ?\C-f]) 304 (find-file-other-window [?\C-x ?4 ?\C-f])
@@ -889,6 +889,11 @@ Run the Viper tutorial? "))
889 (search-forward ">>") 889 (search-forward ">>")
890 (replace-match "]"))) 890 (replace-match "]")))
891 (beginning-of-line) 891 (beginning-of-line)
892 ;; FIXME: if the window is not tall, and especially if the
893 ;; big red "NOTICE: The main purpose..." text has been
894 ;; inserted at the start of the buffer, the "type C-v to
895 ;; move to the next screen" might not be visible on the
896 ;; first screen (n < 0). How will the novice know what to do?
892 (let ((n (- (window-height (selected-window)) 897 (let ((n (- (window-height (selected-window))
893 (count-lines (point-min) (point)) 898 (count-lines (point-min) (point))
894 6))) 899 6)))
@@ -897,7 +902,7 @@ Run the Viper tutorial? "))
897 ;; For a short gap, we don't need the [...] line, 902 ;; For a short gap, we don't need the [...] line,
898 ;; so delete it. 903 ;; so delete it.
899 (delete-region (point) (progn (end-of-line) (point))) 904 (delete-region (point) (progn (end-of-line) (point)))
900 (newline n)) 905 (if (> n 0) (newline n)))
901 ;; Some people get confused by the large gap. 906 ;; Some people get confused by the large gap.
902 (newline (/ n 2)) 907 (newline (/ n 2))
903 908
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 6a3638c4232..5714179fcfe 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,8 @@
12011-08-07 Chong Yidong <cyd@stupidchicken.com>
2
3 * url-http.el (url-http-parse-headers): For HTTP 301/302/307,
4 don't convert to a GET request (Bug#701).
5
12011-07-13 Chris Newton <redshodan@gmail.com> (tiny change) 62011-07-13 Chris Newton <redshodan@gmail.com> (tiny change)
2 7
3 * url-http.el (url-http): Copy over `url-show-status' to the async 8 * url-http.el (url-http): Copy over `url-show-status' to the async
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index def35449397..a21aed21436 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -563,16 +563,8 @@ should be shown to the user."
563 ;; automatically redirect the request unless it can be 563 ;; automatically redirect the request unless it can be
564 ;; confirmed by the user, since this might change the 564 ;; confirmed by the user, since this might change the
565 ;; conditions under which the request was issued. 565 ;; conditions under which the request was issued.
566 (if (member url-http-method '("HEAD" "GET")) 566 (unless (member url-http-method '("HEAD" "GET"))
567 ;; Automatic redirection is ok 567 (setq redirect-uri nil)))
568 nil
569 ;; It is just too big of a pain in the ass to get this
570 ;; prompt all the time. We will just silently lose our
571 ;; data and convert to a GET method.
572 (url-http-debug "Converting `%s' request to `GET' because of REDIRECT(%d)"
573 url-http-method url-http-response-status)
574 (setq url-http-method "GET"
575 url-http-data nil)))
576 (see-other ; 303 568 (see-other ; 303
577 ;; The response to the request can be found under a different 569 ;; The response to the request can be found under a different
578 ;; URI and SHOULD be retrieved using a GET method on that 570 ;; URI and SHOULD be retrieved using a GET method on that
diff --git a/lisp/vc/add-log.el b/lisp/vc/add-log.el
index e5aead2309f..9170d7b9424 100644
--- a/lisp/vc/add-log.el
+++ b/lisp/vc/add-log.el
@@ -853,9 +853,9 @@ non-nil, otherwise in local time."
853 (let ((tz (getenv "TZ"))) 853 (let ((tz (getenv "TZ")))
854 (unwind-protect 854 (unwind-protect
855 (progn 855 (progn
856 (set-time-zone-rule add-log-time-zone-rule) 856 (setenv "TZ" add-log-time-zone-rule)
857 (funcall add-log-time-format)) 857 (funcall add-log-time-format))
858 (set-time-zone-rule tz))) 858 (setenv "TZ" tz)))
859 (funcall add-log-time-format)) 859 (funcall add-log-time-format))
860 " " full-name 860 " " full-name
861 " <" addr ">")) 861 " <" addr ">"))
diff --git a/lisp/vc/pcvs-defs.el b/lisp/vc/pcvs-defs.el
index 67f86dd364c..46b95130ca0 100644
--- a/lisp/vc/pcvs-defs.el
+++ b/lisp/vc/pcvs-defs.el
@@ -183,7 +183,7 @@ If set to nil, `cvs-mode-add' will always prompt for a message."
183 183
184(defcustom cvs-find-file-and-jump nil 184(defcustom cvs-find-file-and-jump nil
185 "Jump to the modified area when finding a file. 185 "Jump to the modified area when finding a file.
186If non-nil, `cvs-mode-file-file' will place the cursor at the beginning of 186If non-nil, `cvs-mode-find-file' will place the cursor at the beginning of
187the modified area. If the file is not locally modified, this will obviously 187the modified area. If the file is not locally modified, this will obviously
188have no effect." 188have no effect."
189 :group 'pcl-cvs 189 :group 'pcl-cvs
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 711a573ba99..fc42b43c97d 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -988,7 +988,8 @@ This command shares argument histories with \\[rgrep] and \\[grep]."
988 (setq command nil)) 988 (setq command nil))
989 (setq dir (file-name-as-directory (expand-file-name dir))) 989 (setq dir (file-name-as-directory (expand-file-name dir)))
990 (setq command 990 (setq command
991 (grep-expand-template "git grep -n -e <R> -- <F>" regexp files)) 991 (grep-expand-template "git grep --no-color -n -e <R> -- <F>"
992 regexp files))
992 (when command 993 (when command
993 (if (equal current-prefix-arg '(4)) 994 (if (equal current-prefix-arg '(4))
994 (setq command 995 (setq command
diff --git a/lisp/vc/vc-rcs.el b/lisp/vc/vc-rcs.el
index 488efaa3522..8051009a983 100644
--- a/lisp/vc/vc-rcs.el
+++ b/lisp/vc/vc-rcs.el
@@ -314,7 +314,10 @@ expanded if `vc-keep-workfiles' is non-nil, otherwise, delete the workfile."
314(defun vc-rcs-responsible-p (file) 314(defun vc-rcs-responsible-p (file)
315 "Return non-nil if RCS thinks it would be responsible for registering FILE." 315 "Return non-nil if RCS thinks it would be responsible for registering FILE."
316 ;; TODO: check for all the patterns in vc-rcs-master-templates 316 ;; TODO: check for all the patterns in vc-rcs-master-templates
317 (file-directory-p (expand-file-name "RCS" (file-name-directory file)))) 317 (file-directory-p (expand-file-name "RCS"
318 (if (file-directory-p file)
319 file
320 (file-name-directory file)))))
318 321
319(defun vc-rcs-receive-file (file rev) 322(defun vc-rcs-receive-file (file rev)
320 "Implementation of receive-file for RCS." 323 "Implementation of receive-file for RCS."
diff --git a/lisp/view.el b/lisp/view.el
index 21479a70a72..11cbc79449f 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -318,7 +318,7 @@ EXIT-ACTION to `kill-buffer-if-not-modified' avoids this."
318 (progn 318 (progn
319 (switch-to-buffer buffer) 319 (switch-to-buffer buffer)
320 (message "Not using View mode because the major mode is special")) 320 (message "Not using View mode because the major mode is special"))
321 (pop-to-buffer-same-window buffer) 321 (switch-to-buffer buffer)
322 (view-mode-enter nil exit-action))) 322 (view-mode-enter nil exit-action)))
323 323
324;;;###autoload 324;;;###autoload
@@ -338,7 +338,8 @@ Optional argument EXIT-ACTION is either nil or a function with buffer as
338argument. This function is called when finished viewing buffer. Use 338argument. This function is called when finished viewing buffer. Use
339this argument instead of explicitly setting `view-exit-action'." 339this argument instead of explicitly setting `view-exit-action'."
340 (interactive "bIn other window view buffer:\nP") 340 (interactive "bIn other window view buffer:\nP")
341 (pop-to-buffer-other-window buffer) 341 (let ((pop-up-windows t))
342 (pop-to-buffer buffer t))
342 (view-mode-enter nil exit-action)) 343 (view-mode-enter nil exit-action))
343 344
344;;;###autoload 345;;;###autoload
@@ -358,7 +359,8 @@ Optional argument EXIT-ACTION is either nil or a function with buffer as
358argument. This function is called when finished viewing buffer. Use 359argument. This function is called when finished viewing buffer. Use
359this argument instead of explicitly setting `view-exit-action'." 360this argument instead of explicitly setting `view-exit-action'."
360 (interactive "bView buffer in other frame: \nP") 361 (interactive "bView buffer in other frame: \nP")
361 (pop-to-buffer-other-frame buffer) 362 (let ((pop-up-frames t))
363 (pop-to-buffer buffer t))
362 (view-mode-enter nil exit-action)) 364 (view-mode-enter nil exit-action))
363 365
364;;;###autoload 366;;;###autoload
@@ -576,9 +578,9 @@ current buffer. "
576 (cond 578 (cond
577 ((or all-windows view-exits-all-viewing-windows) 579 ((or all-windows view-exits-all-viewing-windows)
578 (dolist (window (get-buffer-window-list)) 580 (dolist (window (get-buffer-window-list))
579 (quit-restore-window window))) 581 (quit-window nil window)))
580 ((eq (window-buffer) (current-buffer)) 582 ((eq (window-buffer) (current-buffer))
581 (quit-restore-window))) 583 (quit-window)))
582 584
583 (when exit-action 585 (when exit-action
584 (funcall exit-action buffer)) 586 (funcall exit-action buffer))
diff --git a/lisp/window.el b/lisp/window.el
index 905db8dc9b6..5272841a9c7 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -2259,10 +2259,10 @@ and no others."
2259 2259
2260;;; Deleting windows. 2260;;; Deleting windows.
2261(defcustom frame-auto-delete 'automatic 2261(defcustom frame-auto-delete 'automatic
2262 "If non-nil, quitting a window can delete it's frame. 2262 "If non-nil, quitting a window can delete its frame.
2263If this variable is nil, functions that quit a window never 2263If this variable is nil, functions that quit a window never
2264delete the associated frame. If this variable equals the symbol 2264delete the associated frame. If this variable's value is the
2265`automatic', a frame is deleted only if it the window is 2265symbol `automatic', a frame is deleted only if the window is
2266dedicated or was created by `display-buffer'. If this variable 2266dedicated or was created by `display-buffer'. If this variable
2267is t, a frame can be always deleted, even if it was created by 2267is t, a frame can be always deleted, even if it was created by
2268`make-frame-command'. Other values should not be used. 2268`make-frame-command'. Other values should not be used.
@@ -2272,7 +2272,7 @@ another frame still exists.
2272 2272
2273Functions quitting a window and consequently affected by this 2273Functions quitting a window and consequently affected by this
2274variable are `switch-to-prev-buffer', `delete-windows-on', 2274variable are `switch-to-prev-buffer', `delete-windows-on',
2275`replace-buffer-in-windows' and `quit-restore-window'." 2275`replace-buffer-in-windows' and `quit-window'."
2276 :type '(choice 2276 :type '(choice
2277 (const :tag "Never" nil) 2277 (const :tag "Never" nil)
2278 (const :tag "Automatic" automatic) 2278 (const :tag "Automatic" automatic)
@@ -2282,8 +2282,8 @@ variable are `switch-to-prev-buffer', `delete-windows-on',
2282 2282
2283(defun window-deletable-p (&optional window) 2283(defun window-deletable-p (&optional window)
2284 "Return t if WINDOW can be safely deleted from its frame. 2284 "Return t if WINDOW can be safely deleted from its frame.
2285Return `frame' if deleting WINDOW should delete its frame 2285Return `frame' if deleting WINDOW should also delete its
2286instead." 2286frame."
2287 (setq window (window-normalize-any-window window)) 2287 (setq window (window-normalize-any-window window))
2288 (unless ignore-window-parameters 2288 (unless ignore-window-parameters
2289 ;; Handle atomicity. 2289 ;; Handle atomicity.
@@ -2291,29 +2291,45 @@ instead."
2291 (setq window (window-atom-root window)))) 2291 (setq window (window-atom-root window))))
2292 (let ((parent (window-parent window)) 2292 (let ((parent (window-parent window))
2293 (frame (window-frame window)) 2293 (frame (window-frame window))
2294 (buffer (window-buffer window))
2294 (dedicated (and (window-buffer window) (window-dedicated-p window))) 2295 (dedicated (and (window-buffer window) (window-dedicated-p window)))
2295 (quit-restore (window-parameter window 'quit-restore))) 2296 (quit-restore (window-parameter window 'quit-restore)))
2296 (cond 2297 (cond
2297 ((frame-root-window-p window) 2298 ((frame-root-window-p window)
2299 ;; Don't delete FRAME if `frame-auto-delete' is nil.
2298 (when (and (or (eq frame-auto-delete t) 2300 (when (and (or (eq frame-auto-delete t)
2299 (and (eq frame-auto-delete 'automatic) 2301 (and (eq frame-auto-delete 'automatic)
2302 ;; Delete FRAME only if it's either dedicated
2303 ;; or quit-restore's car is `new-frame' and
2304 ;; WINDOW still displays the same buffer
2300 (or dedicated 2305 (or dedicated
2301 (and (eq (car-safe quit-restore) 'new-frame) 2306 (and (eq (car-safe quit-restore) 'new-frame)
2302 (eq (nth 1 quit-restore) 2307 (eq (nth 1 quit-restore)
2303 (window-buffer window)))))) 2308 (window-buffer window))))))
2309 ;; Don't delete FRAME if we have another buffer in
2310 ;; WINDOW's previous buffers. Bug#9419.
2311 (or (not (window-prev-buffers window))
2312 (eq (caar (window-prev-buffers window)) buffer))
2313 ;; Don't try to delete FRAME when there are no other
2314 ;; visible frames left.
2304 (other-visible-frames-p frame)) 2315 (other-visible-frames-p frame))
2305 ;; WINDOW is the root window of its frame. Return `frame' but
2306 ;; only if WINDOW is (1) either dedicated or quit-restore's car
2307 ;; is new-frame and the window still displays the same buffer
2308 ;; and (2) there are other frames left.
2309 'frame)) 2316 'frame))
2310 ((and (not ignore-window-parameters) 2317 ;; Don't delete WINDOW if we find another buffer in WINDOW's
2311 (eq (window-parameter window 'window-side) 'none) 2318 ;; previous buffers.
2312 (or (not parent) 2319 ((and (or (not (window-prev-buffers window))
2313 (not (eq (window-parameter parent 'window-side) 'none)))) 2320 (eq (caar (window-prev-buffers window)) buffer))
2314 ;; Can't delete last main window. 2321 ;; Delete WINDOW only if it's dedicated or quit-restore's car
2315 nil) 2322 ;; is `new-frame' or `new-window' and it still displays the
2316 (t)))) 2323 ;; same buffer.
2324 (or dedicated
2325 (and (memq (car-safe quit-restore) '(new-window new-frame))
2326 (eq (nth 1 quit-restore) (window-buffer window))))
2327 ;; Don't delete the last main window.
2328 (or ignore-window-parameters
2329 (not (eq (window-parameter window 'window-side) 'none))
2330 (and parent
2331 (eq (window-parameter parent 'window-side) 'none))))
2332 t))))
2317 2333
2318(defun window-or-subwindow-p (subwindow window) 2334(defun window-or-subwindow-p (subwindow window)
2319 "Return t if SUBWINDOW is either WINDOW or a subwindow of WINDOW." 2335 "Return t if SUBWINDOW is either WINDOW or a subwindow of WINDOW."
@@ -2795,7 +2811,7 @@ displayed there."
2795 (let* ((buffer (window-normalize-buffer buffer-or-name))) 2811 (let* ((buffer (window-normalize-buffer buffer-or-name)))
2796 ;; If `buffer-or-name' is not on the selected frame we unrecord it 2812 ;; If `buffer-or-name' is not on the selected frame we unrecord it
2797 ;; although it's not "here" (call it a feature). 2813 ;; although it's not "here" (call it a feature).
2798 (unrecord-buffer buffer) 2814 (bury-buffer-internal buffer)
2799 ;; Handle case where `buffer-or-name' is nil and the current buffer 2815 ;; Handle case where `buffer-or-name' is nil and the current buffer
2800 ;; is shown in the selected window. 2816 ;; is shown in the selected window.
2801 (cond 2817 (cond
@@ -2907,21 +2923,17 @@ all window-local buffer lists."
2907 ;; Unrecord BUFFER in WINDOW. 2923 ;; Unrecord BUFFER in WINDOW.
2908 (unrecord-window-buffer window buffer))))) 2924 (unrecord-window-buffer window buffer)))))
2909 2925
2910(defun quit-restore-window (&optional window kill) 2926(defun quit-window (&optional kill window)
2911 "Quit WINDOW in some way. 2927 "Quit WINDOW and bury its buffer.
2912WINDOW must be a live window and defaults to the selected window. 2928WINDOW defaults to the selected window.
2913Return nil. 2929With a prefix argument, kill the buffer instead.
2914 2930
2915According to information stored in WINDOW's `quit-restore' window 2931According to information stored in WINDOW's `quit-restore' window
2916parameter either \(1) delete WINDOW and its frame, \(2) delete 2932parameter either \(1) delete WINDOW and its frame, \(2) delete
2917WINDOW, \(3) restore the buffer previously displayed in WINDOW, 2933WINDOW, \(3) restore the buffer previously displayed in WINDOW,
2918or \(4) make WINDOW display some other buffer than the present 2934or \(4) make WINDOW display some other buffer than the present
2919one. If non-nil, reset `quit-restore' parameter to nil. 2935one. If non-nil, reset `quit-restore' parameter to nil."
2920 2936 (interactive "P")
2921Optional argument KILL non-nil means in addition kill WINDOW's
2922buffer. If KILL is nil, put WINDOW's buffer at the end of the
2923buffer list. Interactively, KILL is the prefix argument."
2924 (interactive "i\nP")
2925 (setq window (window-normalize-live-window window)) 2937 (setq window (window-normalize-live-window window))
2926 (let ((buffer (window-buffer window)) 2938 (let ((buffer (window-buffer window))
2927 (quit-restore (window-parameter window 'quit-restore)) 2939 (quit-restore (window-parameter window 'quit-restore))
@@ -2932,12 +2944,9 @@ buffer list. Interactively, KILL is the prefix argument."
2932 (eq (window-buffer window) (nth 1 quit-restore))) 2944 (eq (window-buffer window) (nth 1 quit-restore)))
2933 (window-dedicated-p window)) 2945 (window-dedicated-p window))
2934 (setq deletable (window-deletable-p window))) 2946 (setq deletable (window-deletable-p window)))
2935 ;; WINDOW can be deleted. 2947 ;; Check if WINDOW's frame can be deleted.
2936 (unrecord-buffer buffer)
2937 (if (eq deletable 'frame) 2948 (if (eq deletable 'frame)
2938 ;; WINDOW's frame can be deleted.
2939 (delete-frame (window-frame window)) 2949 (delete-frame (window-frame window))
2940 ;; Just delete WINDOW.
2941 (delete-window window)) 2950 (delete-window window))
2942 ;; If the previously selected window is still alive, select it. 2951 ;; If the previously selected window is still alive, select it.
2943 (when (window-live-p (nth 2 quit-restore)) 2952 (when (window-live-p (nth 2 quit-restore))
@@ -2948,17 +2957,17 @@ buffer list. Interactively, KILL is the prefix argument."
2948 ;; in the first place. 2957 ;; in the first place.
2949 (eq (window-buffer window) (nth 3 quit-restore))) 2958 (eq (window-buffer window) (nth 3 quit-restore)))
2950 (setq resize (with-current-buffer buffer temp-buffer-resize-mode)) 2959 (setq resize (with-current-buffer buffer temp-buffer-resize-mode))
2951 ;; Unrecord buffer.
2952 (unrecord-buffer buffer)
2953 (unrecord-window-buffer window buffer) 2960 (unrecord-window-buffer window buffer)
2954 ;; Display buffer stored in the quit-restore parameter. 2961 ;; Display buffer stored in the quit-restore parameter.
2955 (set-window-dedicated-p window nil) 2962 (set-window-dedicated-p window nil)
2956 (set-window-buffer window (nth 0 quit-restore)) 2963 (set-window-buffer window (nth 0 quit-restore))
2957 (set-window-start window (nth 1 quit-restore)) 2964 (set-window-start window (nth 1 quit-restore))
2958 (set-window-point window (nth 2 quit-restore)) 2965 (set-window-point window (nth 2 quit-restore))
2959 (when (and resize (/= (nth 4 quit-restore) (window-total-size window))) 2966 (and resize
2960 (window-resize 2967 (/= (nth 4 quit-restore) (window-total-size window))
2961 window (- (nth 4 quit-restore) (window-total-size window)))) 2968 (window-resize window
2969 (- (nth 4 quit-restore)
2970 (window-total-size window))))
2962 ;; Reset the quit-restore parameter. 2971 ;; Reset the quit-restore parameter.
2963 (set-window-parameter window 'quit-restore nil) 2972 (set-window-parameter window 'quit-restore nil)
2964 (when (window-live-p (nth 5 quit-restore)) 2973 (when (window-live-p (nth 5 quit-restore))
@@ -2967,12 +2976,12 @@ buffer list. Interactively, KILL is the prefix argument."
2967 ;; Otherwise, show another buffer in WINDOW and reset the 2976 ;; Otherwise, show another buffer in WINDOW and reset the
2968 ;; quit-restore parameter. 2977 ;; quit-restore parameter.
2969 (set-window-parameter window 'quit-restore nil) 2978 (set-window-parameter window 'quit-restore nil)
2970 (unrecord-buffer buffer)
2971 (switch-to-prev-buffer window 'bury-or-kill))) 2979 (switch-to-prev-buffer window 'bury-or-kill)))
2972 2980
2973 ;; Kill WINDOW's old-buffer if requested 2981 ;; Kill WINDOW's old-buffer if requested
2974 (when kill (kill-buffer buffer)) 2982 (if kill
2975 nil)) 2983 (kill-buffer buffer)
2984 (bury-buffer-internal buffer))))
2976 2985
2977;;; Splitting windows. 2986;;; Splitting windows.
2978(defsubst window-split-min-size (&optional horizontal) 2987(defsubst window-split-min-size (&optional horizontal)
@@ -3829,790 +3838,6 @@ subwindows can get as small as `window-safe-min-height' and
3829 (window-state-put-2 ignore)) 3838 (window-state-put-2 ignore))
3830 (window-check frame)))) 3839 (window-check frame))))
3831 3840
3832(defconst display-buffer-macro-specifiers
3833 '((same-window
3834 ;; Use the same window.
3835 (reuse-window same nil nil))
3836 (same-frame
3837 ;; Avoid other frames.
3838 (reuse-window nil same nil)
3839 (pop-up-window (largest . nil) (lru . nil))
3840 (reuse-window nil other nil))
3841 (same-frame-other-window
3842 ;; Avoid other frames and selected window.
3843 (reuse-window other same nil)
3844 (pop-up-window (largest . nil) (lru . nil))
3845 (reuse-window other other nil))
3846 (other-frame
3847 ;; Avoid selected frame.
3848 (reuse-window nil same other)
3849 (pop-up-frame)
3850 (reuse-window nil other other)))
3851 "Buffer display macro specifiers.")
3852
3853(defcustom display-buffer-alist nil
3854 "List associating buffer identifiers with display specifiers.
3855The car of each element of this list is built from a set of cons
3856cells called buffer identifiers. `display-buffer' shows a buffer
3857according to the display specifiers in the element's cdr
3858\(elements are true lists) if at least one of the identifiers
3859matches the first or third argument of `display-buffer'. Such a
3860match occurs in one of the following three cases:
3861
3862- The car of the buffer identifier is the symbol `name' and its
3863 cdr is a string equalling the name of the buffer specified by
3864 the first \(BUFFER-OR-NAME) argument of `display-buffer'.
3865
3866- The car is the symbol `regexp' and the cdr is a regular
3867 expression matching the name of the buffer specified by the
3868 first \(BUFFER-OR-NAME) argument of `display-buffer'.
3869
3870- The car is the symbol `label' and the cdr is a symbol equalling
3871 the third \(LABEL) argument of `display-buffer'.
3872
3873Display specifiers are either symbols, cons cells, or lists.
3874Five specifiers have been reserved to indicate the basic method
3875for displaying the buffer: `reuse-window', `pop-up-window',
3876`pop-up-frame', `use-side-window', and `function'.
3877
3878A list whose car is the symbol `reuse-window' indicates that an
3879existing window shall be reused for displaying the buffer. The
3880second element of this list specifies the window to use and can
3881be one of the following symbols:
3882
3883 nil stands for any window.
3884
3885 `same' stands for the selected window.
3886
3887 `other' stands for any but the selected window.
3888
3889The third element specifies whether the buffer shown in a window
3890that shall be reused must be the same buffer that shall be
3891displayed or another buffer and can be one of the following:
3892
3893 nil means to not care about the window's buffer.
3894
3895 `same' means the window must show the buffer already.
3896
3897 `other' means the window must not show the buffer yet.
3898
3899The fourth element specifies the set of frames to search for a
3900suitable window and can be one of the following:
3901
3902 nil to reuse a window on the selected frame.
3903
3904 `visible' to search visible frames on the current terminal.
3905
3906 `other' stands for any visible frame but the selected one.
3907
3908 0 \(the number zero) to search visible and iconified frames on
3909 the current terminal.
3910
3911 t to search arbitrary frames including invisible ones.
3912
3913If more than one window fits the constraints imposed by these
3914elements, the least recently used candidate is chosen. A side
3915window is never reused unless it already shows the buffer.
3916
3917The following two specifiers are useful when the method equals
3918`reuse-window':
3919
3920- A cons cell whose car is the symbol `reuse-window-even-sizes'
3921 and whose cdr is non-nil means to even out the sizes of a
3922 reused window and the selected window provided they (1) appear
3923 adjacent to each other and (2) the selected window is larger
3924 than the window chosen. If the cdr is nil, this means that the
3925 window sizes are left alone.
3926
3927- A cons cell whose car is the symbol `reuse-window-dedicated'
3928 and whose cdr is non-nil means that a window can be reused even
3929 if it's weakly dedicated to its buffer. If the cdr is t, a
3930 strongly dedicated window can be reused to show the buffer.
3931 Any other non-nil value means only weakly dedicated windows can
3932 be reused. If the cdr is nil, dedicated windows are not
3933 reused.
3934
3935 This specifier should be used in emergency cases only since
3936 windows are usually made dedicated in order to prevent
3937 `display-buffer' from reusing them.
3938
3939A list whose car is the symbol `pop-up-window' and whose cdr is
3940built from cons cells representing window/side tuples indicates
3941that a new window shall be made for displaying the buffer on the
3942selected frame.
3943
3944Window/side tuples are cons cells. The car of such a tuple
3945identifies the window that shall be split. Possible values are
3946`largest', `lru', `selected', and `root' to split the largest,
3947least recently used, selected or root window of the selected
3948frame.
3949
3950If the frame has side windows, these values do allow to split
3951only the selected frame's main window or one of its subwindows.
3952Setting the car to one of `left', `top', `right' and `bottom'
3953splits the corresponding side window, provided such a window
3954exists.
3955
3956The cdr of each pair specifies on which side of the window to
3957split the new window shall appear and can be one of `below',
3958`right', `above', or `left' with the obvious meanings. If the
3959cdr is nil, the window is split in a fashion suitable for its
3960current dimensions. If the cdr specifies a function, that
3961function is called with one argument - the window to split. The
3962function is supposed to split that window and return the new
3963window.
3964
3965`display-buffer' scans these tuples until it can either produce a
3966suitable window or fails. The default value for
3967`display-buffer-alist' contains the tuples \(largest . nil) and
3968\(lru . nil) in order to split the largest window first and, if
3969that fails, the least recently used one.
3970
3971The following specifiers are useful if the method specifier is
3972`pop-up-window'.
3973
3974- A cons cell whose car is the symbol `pop-up-window-min-height'
3975 specifiies the minimum height of the new window. If the cdr is
3976 an integer number, it specifies the minimum number of lines of
3977 the window. A floating point number gives the minimum fraction
3978 of the window height with respect to the height of the frame's
3979 root window. A new window is created only if it can be made at
3980 least as high as specified by the number. If the cdr is nil,
3981 this means to use the value of `window-min-height'.
3982
3983- A cons cell whose car is the symbol `pop-up-window-min-width'
3984 specifies the minimum width of the new window. If the cdr is
3985 an integer number, it specifies the minimum number of columns
3986 of the window. A floating point number gives the minimum
3987 fraction of the window width with respect to the width of the
3988 frame's root window. A new window is created only if it can be
3989 made at least as wide as specified by the number. If the cdr
3990 is nil, this means to use the value of `window-min-width'.
3991
3992- A cons cell whose car is `pop-up-window-set-height' with
3993 the following interpretations for the cdr:
3994
3995 - nil means leave the height of the new window alone.
3996
3997 - A number specifies the desired height of the new window. An
3998 integer number specifies the number of lines of the window.
3999 A floating point number gives the fraction of the window
4000 height with respect to the height of the frame's root window.
4001
4002 - If the cdr specifies a function, that function is called with
4003 one argument - the new window. The function is supposed to
4004 adjust the height of the window; its return value is ignored.
4005 Suitable functions are `shrink-window-if-larger-than-buffer'
4006 and `fit-window-to-buffer'.
4007
4008- A cons cell whose car equals `pop-up-window-set-width' with
4009 the following interpretations for the cdr:
4010
4011 - nil means leave the width of the new window alone.
4012
4013 - A number specifies the desired width of the new window. An
4014 integer number specifies the number of columns of the window.
4015 A floating point number gives the fraction of the window
4016 width with respect to the width of the frame's root window.
4017
4018 - If the cdr specifies a function, that function is called with
4019 one argument - the new window. The function is supposed to
4020 adjust the width of the window; its return value is ignored.
4021
4022 Observe that specifying `pop-up-window-set-height' or
4023 `pop-up-window-set-width' may override restrictions given by
4024 the `pop-up-window-min-height' and `pop-up-window-min-width'
4025 specifiers.
4026
4027- A cons cell whose car is `pop-up-window-split-unsplittable' and
4028 whose cdr is non-nil allows to make a new window on an
4029 unsplittable frame. If the cdr is nil, unsplittable frames are
4030 not split. This specifier should be used in special cases only
4031 since frames are usually made unsplittable in order to prevent
4032 `display-buffer' from splitting them.
4033
4034A list whose car is the symbol `pop-up-frame' specifies that a
4035new frame shall be made for displaying the buffer. The second
4036element, if non-nil, allows popping up a new frame on graphic
4037displays only.
4038
4039The following specifiers are useful if the method specifier is
4040`pop-up-frame'.
4041
4042- A list whose car is the symbol `pop-up-frame-function' together
4043 with a valid function as cdr specifies the function for
4044 creating a new frame. If the cdr is nil, the default function
4045 `make-frame' is called. The function is called with the
4046 parameters and values provided by the specifier described next.
4047
4048- A list whose car is the symbol `pop-up-frame-alist' followed by
4049 an arbitrary number of frame parameter/value tuples, each given
4050 as a cons cell, specifies the parameters passed to the pop-up
4051 frame function.
4052
4053A list of three elements whose car is the symbol
4054`use-side-window' specifies that the buffer shall be displayed in
4055a side window of the selected frame. The second element denotes
4056the side of the frame where the window appears or shall be made.
4057The third element denotes the slot used by the window. If a side
4058window with the specified slot exists already, that window is
4059reused. If no such window exists it is created.
4060
4061The following specifiers are useful in connection with the
4062`use-side-window' method specifier: `reuse-window-dedicated',
4063`pop-up-window-min-height', `pop-up-window-min-width',
4064`pop-up-window-set-height' and `pop-up-window-set-width'.
4065
4066A list whose car is the symbol `function' specifies that the
4067function specified in the second element of the list is
4068responsible for displaying the buffer. `display-buffer' calls
4069this function with the buffer as first argument and the remaining
4070elements of the list as the second.
4071
4072The function should choose or create a window, display the buffer
4073in it, and return the window. It is also responsible for giving
4074the variable `display-buffer-window' and the `quit-restore'
4075parameter of the window used a meaningful value.
4076
4077Within the body of this function avoid calling `display-buffer'
4078with the same buffer as argument since this may lead to endless
4079recursion.
4080
4081Instead of supplying basic method specifiers, it's sometimes more
4082convenient to use macro specifiers. They provide some commonly
4083used display methods but do not support the fine control provided
4084by the basic method specifiers. Macro specifiers are symbols.
4085The following macro specifiers are provided:
4086
4087 `same-window' to display the buffer in the selected window.
4088
4089 `same-frame' to display the buffer on the selected frame.
4090
4091 `other-window' to display the buffer in any window but the
4092 selected one.
4093
4094 `same-frame-other-window' as `other-window' but stay on the
4095 selected frame.
4096
4097 `other-frame' to display the buffer on another visible
4098 frame.
4099
4100 `default' to use the default value of `display-buffer-alist'.
4101
4102One specifier is useful with any method specifier: A list whose
4103car is the symbol `dedicate' and whose cdr is non-nil will
4104dedicate the window to its buffer. The following values are
4105supported:
4106
4107- nil to not dedicate the window to the buffer.
4108
4109- `weak' to weakly dedicate the window to the buffer.
4110
4111- t to strongly dedicate the window to the buffer.
4112
4113A cons cell whose car is `other-window-means-other-frame' and
4114whose cdr is non-nil means that you want calls of
4115`display-buffer' with the second argument t or the symbol
4116`other-window' to display the buffer in another frame. This
4117means, for example, that you prefer functions like
4118`find-file-other-window' or `switch-to-buffer-other-window' to
4119make a new frame instead of a new window on the selected frame.
4120
4121Usually, applications are free to override the specifiers of
4122`display-buffer-alist' by passing their own specifiers as second
4123argument of `display-buffer'. For every `display-buffer-alist'
4124entry you can, however, add a cons cell whose car is the symbol
4125`override' and whose cdr is non-nil, to explicitly override any
4126value supplied by the application.
4127
4128Overriding specifiers supplied by the calling application is, in
4129general, not advisable. It permits, for example, to change the
4130semantics of a function like `display-buffer-other-window' by
4131using the location specifiers `same-window' or `other-frame'."
4132 :risky t
4133 :type
4134 '(repeat
4135 :offset 9
4136 ;; Associations of buffer identifiers and display specifiers.
4137 (list
4138 :format "%v"
4139 ;; Buffer identifiers.
4140 (repeat
4141 :tag "Buffer identifiers"
4142 (choice
4143 :tag "Identifier"
4144 :format "%[%t%] %v" :size 15
4145 (cons
4146 :tag "Name"
4147 :format "%v"
4148 :help-echo "A buffer name."
4149 (const :format "" name)
4150 (string :format "Name: %v\n" :size 32))
4151 (cons
4152 :tag "Regexp"
4153 :format "%v"
4154 :help-echo "A regular expression matching buffer names."
4155 (const :format "" regexp)
4156 (string :format "Regexp: %v\n" :size 32))
4157 (cons
4158 :tag "Label"
4159 :format "%v"
4160 :help-echo "A symbol equalling the buffer display label."
4161 (const :format "" label)
4162 (symbol :format "Label: %v\n" :size 32))))
4163
4164 ;; Display specifiers.
4165 (repeat
4166 :offset 9
4167 :tag "Display specifiers"
4168 :inline t
4169 (list
4170 :inline t
4171 :format "%v"
4172 (choice
4173 :tag "Method"
4174 :value (reuse-window
4175 (reuse-window nil same nil)
4176 (reuse-window-even-sizes . t))
4177 :inline t
4178 :help-echo "Method for displaying the buffer."
4179 :format "%[Method%] %v" :size 15
4180
4181 ;; Reuse window specifiers.
4182 (list
4183 :tag "Reuse window"
4184 :value (reuse-window
4185 (reuse-window nil same nil)
4186 (reuse-window-even-sizes . t))
4187 :format "%t\n%v"
4188 :inline t
4189 ;; For customization purposes only.
4190 (const :format "" reuse-window)
4191 (set
4192 :format "%v"
4193 :inline t
4194 ;; The window to reuse.
4195 (list
4196 :format "%v\n"
4197 (const :format "" reuse-window)
4198 ;; The window type.
4199 (choice
4200 :tag "Window"
4201 :help-echo "Window to reuse."
4202 :value nil
4203 :format "%[Window%] %v" :size 15
4204 (const :tag "Any window" :format "%t" nil)
4205 (const :tag "Same window" :format "%t" same)
4206 (const :tag "Other window" :format "%t" other))
4207 ;; The window's buffer.
4208 (choice
4209 :tag "Buffer"
4210 :help-echo "Buffer shown by reused window."
4211 :value t
4212 :format " %[Buffer%] %v" :size 15
4213 (const :tag "Any buffer" :format "%t" nil)
4214 (const :tag "Same buffer" :format "%t" same)
4215 (const :tag "Other buffer" :format "%t" other))
4216 ;; The window's frame.
4217 (choice
4218 :help-echo "Frames to search for a window to reuse."
4219 :tag "Frame"
4220 :value nil
4221 :format " %[Frame%] %v" :size 15
4222 (const :tag "Same frame only" :format "%t" nil)
4223 (const :tag "Visible frames" :format "%t" visible)
4224 (const :tag "Any other visible frame" :format "%t" other)
4225 (const :tag "Visible and iconified frames" :format "%t" 0)
4226 (const :tag "All frames" :format "%t" t)))
4227 ;; Whether window sizes should be evened out.
4228 (cons
4229 :format "%v\n"
4230 :tag "Even window sizes"
4231 (const :format "" reuse-window-even-sizes)
4232 (choice
4233 :tag "Even window sizes"
4234 :help-echo "Whether to even sizes of selected and reused window."
4235 :value t
4236 :format "%[Even window sizes%] %v" :size 15
4237 (const :tag "Off" :format "%t" nil)
4238 (const :tag "Even window sizes" :format "%t" t)))
4239 ;; Whether to reuse a dedicated window
4240 (cons
4241 :format "%v\n"
4242 (const :format "" reuse-window-dedicated)
4243 (choice
4244 :tag "Reuse dedicated window" :value nil
4245 :help-echo "Reuse a window even if it is dedicated to its buffer."
4246 :format "%[Reuse dedicated window%] %v" :size 15
4247 (const :tag "Off" :format "%t" nil)
4248 (const :tag "Reuse weakly dedicated windows" :format "%t" weak)
4249 (const :tag "Reuse any dedicated window" :format "%t" t)))))
4250
4251 ;; Pop-up window specifiers.
4252 (list
4253 :tag "Pop-up window"
4254 :value (pop-up-window (pop-up-window (largest . nil) (lru . nil)))
4255 :format "%t\n%v"
4256 :inline t
4257 (const :format "" pop-up-window)
4258 (set
4259 :format "%v"
4260 :inline t
4261 ;; Pop-up window list.
4262 (list
4263 :format "%v"
4264 :value (pop-up-window (largest . nil) (lru . nil))
4265 (const :format "" pop-up-window)
4266 (repeat
4267 :tag "Window / Side tuples"
4268 :inline t
4269 (cons
4270 :format "%v\n"
4271 (choice
4272 :tag "Window"
4273 :help-echo "The window to split."
4274 :value largest
4275 :format "%[Window%] %v"
4276 (const :tag "Largest" :format "%t" largest)
4277 (const :tag "Least recently used" :format "%t" lru)
4278 (const :tag "Selected" :format "%t" selected)
4279 (const :tag "Root" :format "%t" root)
4280 (const :tag "Left" :format "%t" left)
4281 (const :tag "Top" :format "%t" top)
4282 (const :tag "Right" :format "%t" right)
4283 (const :tag "Bottom" :format "%t" bottom))
4284 (choice
4285 :tag "Side"
4286 :help-echo "The position of the new window with respect to the window to split."
4287 :value nil
4288 :format " %[Side%] %v"
4289 (const :tag "Dynamic" :format "%t" nil)
4290 (const :tag "Below" :format "%t" below)
4291 (const :tag "Right" :format "%t" right)
4292 (const :tag "Above" :format "%t" above)
4293 (const :tag "Left" :format "%t" left)
4294 (function
4295 :tag "Function" :format "%v" :size 25)))))
4296 ;; Minimum height of pop-up windows.
4297 (cons
4298 :format "%v\n"
4299 (const :format "" pop-up-window-min-height)
4300 (choice
4301 :help-echo "Minimum height of popped-up window."
4302 :format "%[Minimum height%] %v"
4303 (const :tag "Default" :format "%t" :value nil)
4304 (integer :tag "Number of lines" :value 12 :size 5)
4305 (float :tag "Fraction of frame height" :value .25 :size 5)))
4306 ;; Minimum width of pop-up windows.
4307 (cons
4308 :format "%v\n"
4309 (const :format "" pop-up-window-min-width)
4310 (choice
4311 :help-echo "Minimum width of popped-up window."
4312 :format "%[Minimum width%] %v"
4313 (const :tag "Default" :format "%t" :value nil)
4314 (integer :tag "Number of columns" :value 12 :size 5)
4315 (float :tag "Fraction of frame width" :value .25 :size 5)))
4316 ;; Desired height of pop-up windows.
4317 (cons
4318 :format "%v\n"
4319 (const :format "" pop-up-window-set-height)
4320 (choice
4321 :help-echo "Desired height of popped-up window."
4322 :format "%[Desired height%] %v"
4323 (const :tag "Default" :format "%t" :value nil)
4324 (integer :tag "Number of lines" :value 12 :size 5)
4325 (float :tag "Fraction of frame height" :value .25 :size 5)
4326 (function :tag "Function" :size 25)))
4327 ;; Desired width of pop-up windows.
4328 (cons
4329 :format "%v\n"
4330 (const :format "" pop-up-window-set-width)
4331 (choice
4332 :help-echo "Desired width of popped-up window."
4333 :format "%[Desired width%] %v"
4334 (const :tag "Default" :format "%t" :value nil)
4335 (integer :tag "Number of column" :value 12 :size 5)
4336 (float :tag "Fraction of frame width" :value .25 :size 5)
4337 (function :tag "Function" :size 25)))
4338 ;; Split unsplittable frames.
4339 (cons
4340 :format "%v\n"
4341 (const :format "" pop-up-window-unsplittable)
4342 (choice
4343 :help-echo "Allow popping up a window on \"unsplittable\" frames."
4344 :format "%[Split unsplittable frame%] %v"
4345 (const :tag "Off" :format "%t" nil)
4346 (const :tag "Allow" :format "%t" t)))))
4347
4348 ;; Pop-up frame specifiers.
4349 (list
4350 :tag "Pop-up frame"
4351 :value (pop-up-frame
4352 (pop-up-frame))
4353 :format "%t\n%v"
4354 :inline t
4355 (const :format "" pop-up-frame)
4356 (set
4357 :format "%v"
4358 :inline t
4359 ;; Pop-up frame.
4360 (list
4361 :tag "Pop-up a new frame"
4362 :value (pop-up-frame)
4363 :format "%v"
4364 (const :format "" pop-up-frame)
4365 (choice
4366 :tag "Pop-up a new frame"
4367 :help-echo "Whether to pop-up a new frame on a display."
4368 :format "%[Display%] %v\n" :size 15
4369 (const :tag "On any display" :format "%t" nil)
4370 (const :tag "On graphic displays only" :format "%t" t)))
4371 ;; Pop-up frame function.
4372 (cons
4373 :format "%v\n"
4374 (const :format "" pop-up-frame-function)
4375 (choice
4376 :tag "Pop-up frame function"
4377 :value nil
4378 :help-echo "Function to use to pop-up a new frame."
4379 :format "%[Function%] %v" :size 15
4380 (const :tag "Default" :format "%t" nil)
4381 (function
4382 :value make-frame
4383 :format "%t: %v"
4384 :size 25)))
4385 ;; Pop-up frame alist.
4386 (list
4387 :format "%v"
4388 (const :format "" pop-up-frame-alist)
4389 (repeat
4390 :tag "Parameter / Value tuples"
4391 :inline t
4392 (cons
4393 :format "%v\n"
4394 (symbol
4395 :tag "Parameter"
4396 :format "Parameter: %v"
4397 :size 16)
4398 (sexp
4399 :tag "Value"
4400 :format " Value: %v"
4401 :size 8))))))
4402
4403 ;; Use side-window specifiers.
4404 (list
4405 :tag "Use side-window"
4406 :value (use-side-window (use-side-window bottom 0))
4407 :format "%t\n%v"
4408 :inline t
4409 ;; For customization purposes only.
4410 (const :format "" use-side-window)
4411 (set
4412 :format "%v"
4413 :inline t
4414 ;; Side and slot.
4415 (list
4416 :format "%v\n"
4417 :value (use-side-window bottom 0)
4418 (const :format "" use-side-window)
4419 ;; The side.
4420 (choice
4421 :tag "Side"
4422 :help-echo "Side of frame."
4423 :value bottom
4424 :format "%[Side%] %v" :size 15
4425 (const :tag "Left" :format "%t" left)
4426 (const :tag "Top" :format "%t" top)
4427 (const :tag "Right" :format "%t" right)
4428 (const :tag "Bottom" :format "%t" bottom))
4429 ;; The slot
4430 (number
4431 :tag "Slot"
4432 :help-echo "The slot (an arbitrary number, where 0 stands for the center slot)."
4433 :value 0
4434 :format " Slot: %v" :size 8))
4435 ;; Whether to reuse a dedicated side window
4436 (cons
4437 :format "%v\n"
4438 (const :format "" reuse-window-dedicated)
4439 (choice
4440 :tag "Reuse dedicated side window" :value nil
4441 :help-echo "Reuse a side window even if it is dedicated to its buffer."
4442 :format "%[Reuse dedicated side window%] %v" :size 15
4443 (const :tag "Off" :format "%t" nil)
4444 (const :tag "Reuse weakly dedicated side windows" :format "%t" weak)
4445 (const :tag "Reuse any dedicated side window" :format "%t" t)))
4446 ;; Minimum height of pop-up side windows.
4447 (cons
4448 :format "%v\n"
4449 (const :format "" pop-up-window-min-height)
4450 (choice
4451 :help-echo "Minimum height of popped-up side window."
4452 :format "%[Minimum height%] %v"
4453 (const :tag "Default" :format "%t" :value nil)
4454 (integer :tag "Number of lines" :value 12 :size 5)
4455 (float :tag "Fraction of frame height" :value .25 :size 5)))
4456 ;; Minimum width of pop-up windows.
4457 (cons
4458 :format "%v\n"
4459 (const :format "" pop-up-window-min-width)
4460 (choice
4461 :help-echo "Minimum width of popped-up side window."
4462 :format "%[Minimum width%] %v"
4463 (const :tag "Default" :format "%t" :value nil)
4464 (integer :tag "Number of columns" :value 12 :size 5)
4465 (float :tag "Fraction of frame width" :value .25 :size 5)))
4466 ;; Desired height of pop-up windows.
4467 (cons
4468 :format "%v\n"
4469 (const :format "" pop-up-window-set-height)
4470 (choice
4471 :help-echo "Desired height of popped-up side window."
4472 :format "%[Desired height%] %v"
4473 (const :tag "Default" :format "%t" :value nil)
4474 (integer :tag "Number of lines" :value 12 :size 5)
4475 (float :tag "Fraction of frame height" :value .25 :size 5)
4476 (function :tag "Function" :size 25)))
4477 ;; Desired width of pop-up windows.
4478 (cons
4479 :format "%v\n"
4480 (const :format "" pop-up-window-set-width)
4481 (choice
4482 :help-echo "Desired width of popped-up side window."
4483 :format "%[Desired width%] %v"
4484 (const :tag "Default" :format "%t" :value nil)
4485 (integer :tag "Number of column" :value 12 :size 5)
4486 (float :tag "Fraction of frame width" :value .25 :size 5)
4487 (function :tag "Function" :size 25)))))
4488
4489 ;; Function with argument specifiers.
4490 (list
4491 :tag "Function with arguments"
4492 :value (function (function 'ignore))
4493 :format "%t\n%v"
4494 :inline t
4495 ;; For customization purposes only.
4496 (const :format "" function)
4497 (set
4498 :format "%v"
4499 :inline t
4500 (list
4501 :format "%v"
4502 :value (function 'ignore)
4503 (const :format "" function)
4504 (function :tag "Function" :format "%t: %v\n" :size 25)
4505 (list
4506 :format "%v"
4507 (repeat
4508 :tag "Arguments"
4509 :inline t
4510 (sexp
4511 :format "%v\n"
4512 :size 16))))))
4513
4514 ;; Macro specifiers.
4515 (list
4516 :tag "Same window"
4517 :format "%t%v"
4518 :inline t
4519 (const :format "\n" same-window))
4520 (list
4521 :tag "Same frame"
4522 :format "%t%v"
4523 :inline t
4524 (const :format "\n" same-frame))
4525 (list
4526 :tag "Other window"
4527 :format "%t%v"
4528 :inline t
4529 (const :format "\n" other-window))
4530 (list
4531 :tag "Same frame other window"
4532 :format "%t%v"
4533 :inline t
4534 (const :format "\n" same-frame-other-window))
4535 (list
4536 :tag "Other frame"
4537 :format "%t%v"
4538 :inline t
4539 (const :format "\n" other-frame))
4540 (list
4541 :tag "Default"
4542 :format "%t%v"
4543 :inline t
4544 (const :format "\n" default)))))
4545
4546 (set
4547 :format "%v"
4548 :inline t
4549 ;; Dedicate window to buffer.
4550 (cons
4551 :format "%v"
4552 (const :format "" dedicate)
4553 (choice
4554 :help-echo "Mark window as dedicated to its buffer."
4555 :format "%[Dedicate window to buffer%] %v\n" :size 15
4556 (const :tag "Off" :format "%t" nil)
4557 (const :tag "Weak" :format "%t" weak)
4558 (const :tag "Strong" :format "%t" t)))
4559 ;; No other window.
4560 (cons
4561 :format "%v"
4562 (const :format "" no-other-window)
4563 (choice
4564 :help-echo "Whether `other-window' shall ignore the window."
4565 :format "%[No other window%] %v\n" :size 15
4566 (const :tag "Off" :format "%t" nil)
4567 (const :tag "Ignore" :format "%t" t)))
4568 ;; Other window means other frame.
4569 (cons
4570 :format "%v"
4571 (const :format "" other-window-means-other-frame)
4572 (choice
4573 :help-echo "Whether other window means same or other frame."
4574 :format "%[Other window means other frame%] %v\n" :size 15
4575 (const :tag "Off" :format "%t" nil)
4576 (const :tag "On" :format "%t" t)))
4577 ;; Overriding.
4578 (cons
4579 :format "%v\n"
4580 (const :format "" override)
4581 (choice
4582 :help-echo "Override application supplied specifiers."
4583 :format "%[Override%] %v"
4584 (const :tag "Off" :format "%t" nil)
4585 (const :tag "Override" :format "%t" t))))))
4586 :group 'windows
4587 :group 'frames)
4588
4589(defcustom display-buffer-function nil
4590 "If non-nil, function to call to display a buffer.
4591`display-buffer' calls this function with two arguments, the
4592buffer to display and a list of buffer display specifiers, see
4593`display-buffer-alist'.
4594
4595The function is supposed to choose or create a window, display
4596the specified buffer in it, and return the window. It is also
4597responsible for giving the variable `display-buffer-window' and
4598the `quit-restore' parameter of the window used a meaningful
4599value.
4600
4601The function specified here overrides all specifiers of the
4602variable `display-buffer-alist' any specifiers passed to
4603`display-buffer'.
4604
4605If you call `display-buffer' within the body of the function,
4606bind the value of `display-buffer-function' to nil around that
4607call to avoid that the function recursively calls itself."
4608 :type '(choice
4609 (const nil)
4610 (function :tag "Function"))
4611 :group 'windows)
4612
4613;; The following is a global variable which is used externally (by
4614;; help.el) to (1) know which window was used for displaying a buffer
4615;; and (2) whether the window was new or reused.
4616(defvar display-buffer-window nil 3841(defvar display-buffer-window nil
4617 "Window used by `display-buffer' and related information. 3842 "Window used by `display-buffer' and related information.
4618After `display-buffer' displays a buffer in some window this 3843After `display-buffer' displays a buffer in some window this
@@ -4621,1583 +3846,89 @@ display the buffer. The cdr is supposed to be one of the symbols
4621`reuse-buffer-window', `reuse-other-window', `new-window' or 3846`reuse-buffer-window', `reuse-other-window', `new-window' or
4622`new-frame'. 3847`new-frame'.
4623 3848
4624If the buffer display location specifier is one of 'same-window, 3849See the function `display-buffer-record-window' for how this
4625'same-frame, or 'other-frame, the `display-buffer' routines 3850variable can be assigned a value.")
4626assign the value of this variable. If the location specifier is
4627a function, that function becomes responsible for assigning a
4628meaningful value to this variable. See the functions
4629`display-buffer-reuse-window', `display-buffer-pop-up-window' and
4630`display-buffer-pop-up-frame' for how this can be done.")
4631
4632(defun display-buffer-even-window-sizes (window specifiers)
4633 "Even sizes of WINDOW and selected window according to SPECIFIERS.
4634SPECIFIERS must be a list of buffer display specifiers, see the
4635documentation of `display-buffer-alist' for a description.
4636
4637Sizes are evened out if and only if WINDOW and the selected
4638window appear next to each other and the selected window is
4639larger than WINDOW."
4640 (cond
4641 ((or (not (cdr (assq 'reuse-window-even-sizes specifiers)))
4642 ;; Don't resize minibuffer windows.
4643 (window-minibuffer-p)
4644 ;; WINDOW must be adjacent to the selected one.
4645 (not (or (eq window (window-prev-sibling))
4646 (eq window (window-next-sibling))))))
4647 ((and (window-iso-combined-p window)
4648 ;; Resize iff the selected window is higher than WINDOW.
4649 (> (window-total-height) (window-total-height window)))
4650 ;; Don't throw an error if we can't even window heights for
4651 ;; whatever reason. In any case, enlarging the selected window
4652 ;; might fail anyway if there are other windows above or below
4653 ;; WINDOW and the selected one. But for a simple two windows
4654 ;; configuration the present behavior is good enough so why care?
4655 (ignore-errors
4656 (window-resize
4657 window (/ (- (window-total-height) (window-total-height window))
4658 2))))
4659 ((and (window-iso-combined-p window t)
4660 ;; Resize iff the selected window is wider than WINDOW.
4661 (> (window-total-width) (window-total-width window)))
4662 ;; Don't throw an error if we can't even window widths, see
4663 ;; comment above.
4664 (ignore-errors
4665 (window-resize
4666 window (/ (- (window-total-width) (window-total-width window))
4667 2) t)))))
4668
4669(defun display-buffer-set-height (window specifiers)
4670 "Adjust height of WINDOW according to SPECIFIERS.
4671SPECIFIERS must be a list of buffer display specifiers, see the
4672documentation of `display-buffer-alist' for a description."
4673 (let ((set-height (cdr (assq 'pop-up-window-set-height specifiers))))
4674 (cond
4675 ((numberp set-height)
4676 (let* ((height (if (integerp set-height)
4677 set-height
4678 (round
4679 (* (window-total-size (frame-root-window window))
4680 set-height))))
4681 (delta (- height (window-total-size window))))
4682 (when (and (window-resizable-p window delta nil 'safe)
4683 (window-iso-combined-p window))
4684 (window-resize window delta nil 'safe))))
4685 ((functionp set-height)
4686 (ignore-errors (funcall set-height window))))))
4687
4688(defun display-buffer-set-width (window specifiers)
4689 "Adjust width of WINDOW according to SPECIFIERS.
4690SPECIFIERS must be a list of buffer display specifiers, see the
4691documentation of `display-buffer-alist' for a description."
4692 (let ((set-width (cdr (assq 'pop-up-window-set-width specifiers))))
4693 (cond
4694 ((numberp set-width)
4695 (let* ((width (if (integerp set-width)
4696 set-width
4697 (round
4698 (* (window-total-size (frame-root-window window) t)
4699 set-width))))
4700 (delta (- width (window-total-size window t))))
4701 (when (and (window-resizable-p window delta t 'safe)
4702 (window-iso-combined-p window t))
4703 (window-resize window delta t 'safe))))
4704 ((functionp set-width)
4705 (ignore-errors (funcall set-width window))))))
4706
4707(defun display-buffer-in-window (buffer window specifiers)
4708 "Display BUFFER in WINDOW and raise its frame if needed.
4709WINDOW must be a live window and defaults to the selected one.
4710Return WINDOW.
4711
4712SPECIFIERS must be a list of buffer display specifiers, see the
4713documentation of `display-buffer-alist' for a description."
4714 (setq buffer (window-normalize-buffer buffer))
4715 (setq window (window-normalize-live-window window))
4716 (let* ((old-frame (selected-frame))
4717 (new-frame (window-frame window))
4718 (dedicate (cdr (assq 'dedicate specifiers)))
4719 (no-other-window (cdr (assq 'no-other-window specifiers))))
4720 ;; Show BUFFER in WINDOW.
4721 (unless (eq buffer (window-buffer window))
4722 ;; If we show another buffer in WINDOW, undedicate it first.
4723 (set-window-dedicated-p window nil))
4724 (set-window-buffer window buffer)
4725 (when dedicate
4726 (set-window-dedicated-p window dedicate))
4727 (when no-other-window
4728 (set-window-parameter window 'no-other-window t))
4729 (unless (or (eq old-frame new-frame)
4730 (not (frame-visible-p new-frame))
4731 ;; Assume the selected frame is already visible enough.
4732 (eq new-frame (selected-frame))
4733 ;; Assume the frame from which we invoked the minibuffer
4734 ;; is visible.
4735 (and (minibuffer-window-active-p (selected-window))
4736 (eq new-frame
4737 (window-frame (minibuffer-selected-window)))))
4738 (raise-frame new-frame))
4739 ;; Return window.
4740 window))
4741 3851
4742(defun display-buffer-reuse-window (buffer method &optional specifiers other-window) 3852(defun display-buffer-record-window (type window buffer)
4743 "Display BUFFER in an existing window. 3853 "Record information for window used by `display-buffer'.
4744METHOD must be a list in the form of the cdr of a `reuse-window' 3854TYPE must be one of the symbols reuse-window, pop-up-window, or
4745buffer display specifier, see `display-buffer-alist' for an 3855pop-up-frame. WINDOW is the window used for or created by the
4746explanation. The first element must specifiy the window to use, 3856`display-buffer' routines. BUFFER is the buffer that shall be
4747and can be either nil, `same', `other', or a live window. The 3857displayed."
4748second element must specify the window's buffer and can be either 3858 (cond
4749nil, `same', `other', or a live buffer. The third element is the 3859 ((eq type 'reuse-window)
4750frame to use - either nil, 0, `visible', `other', t, or a live 3860 ;; In `display-buffer-window' record whether we used a window on the
4751frame. 3861 ;; same buffer or another one.
4752 3862 (if (eq (window-buffer window) buffer)
4753Optional argument SPECIFIERS must be a list of valid display
4754specifiers. Optional argument OTHER-WINDOW, if non-nil, means do
4755not use the selected window. Return the window chosen to display
4756BUFFER, nil if none was found."
4757 (let* ((method-window (nth 0 method))
4758 (method-buffer (nth 1 method))
4759 (method-frame (nth 2 method))
4760 (reuse-dedicated (cdr (assq 'reuse-window-dedicated specifiers)))
4761 windows other-frame dedicated time best-window best-time)
4762 (when (eq method-frame 'other)
4763 ;; `other' is not handled by `window-list-1'.
4764 (setq other-frame t)
4765 (setq method-frame t))
4766 (dolist (window (window-list-1 nil 'nomini method-frame))
4767 (let ((window-buffer (window-buffer window)))
4768 (when (and (not (window-minibuffer-p window))
4769 ;; Don't reuse a side window.
4770 (or (not (eq (window-parameter window 'window-side) 'side))
4771 (eq window-buffer buffer))
4772 (or (not method-window)
4773 (and (eq method-window 'same)
4774 (not other-window)
4775 (eq window (selected-window)))
4776 (and (eq method-window 'other)
4777 (not (eq window (selected-window))))
4778 ;; Special case for applications that specifiy
4779 ;; the window explicitly.
4780 (eq method-window window))
4781 (or (not method-buffer)
4782 (and (eq method-buffer 'same)
4783 (eq window-buffer buffer))
4784 (and (eq method-buffer 'other)
4785 (not (eq window-buffer buffer)))
4786 ;; Special case for applications that specifiy
4787 ;; the window's buffer explicitly.
4788 (eq method-buffer window-buffer))
4789 (or (not other-frame)
4790 (not (eq (window-frame window) (selected-frame))))
4791 ;; Handle dedicatedness.
4792 (or (eq window-buffer buffer)
4793 ;; The window does not show the same buffer.
4794 (not (setq dedicated (window-dedicated-p window)))
4795 ;; If the window is weakly dedicated to its
4796 ;; buffer, reuse-dedicated must be non-nil.
4797 (and (not (eq dedicated t)) reuse-dedicated)
4798 ;; If the window is strongly dedicated to its
4799 ;; buffer, reuse-dedicated must be t.
4800 (eq reuse-dedicated t)))
4801 (setq windows (cons window windows)))))
4802
4803 (if (eq method-buffer 'same)
4804 ;; When reusing a window on the same buffer use the lru one.
4805 (dolist (window windows)
4806 (setq time (window-use-time window))
4807 (when (or (not best-window) (< time best-time))
4808 (setq best-window window)
4809 (setq best-time time)))
4810 ;; Otherwise, sort windows according to their use-time.
4811 (setq windows
4812 (sort windows
4813 #'(lambda (window-1 window-2)
4814 (<= (window-use-time window-1)
4815 (window-use-time window-2)))))
4816 (setq best-window
4817 ;; Try to get a full-width window (this is silly and can
4818 ;; get us to another frame but let's ignore these issues
4819 ;; for the moment).
4820 (catch 'found
4821 (dolist (window windows)
4822 (when (window-full-width-p window)
4823 (throw 'found window)))
4824 ;; If there's no full-width window return the lru window.
4825 (car windows))))
4826
4827 (when best-window
4828 (display-buffer-even-window-sizes best-window specifiers)
4829 ;; Never change the quit-restore parameter of a window here.
4830 (if (eq (window-buffer best-window) buffer)
4831 (setq display-buffer-window
4832 (cons best-window 'reuse-buffer-window))
4833 (setq display-buffer-window 3863 (setq display-buffer-window
4834 (cons best-window 'reuse-other-window)) 3864 (cons window 'reuse-buffer-window))
4835 (unless (window-parameter best-window 'quit-restore) 3865 (setq display-buffer-window
4836 ;; Don't overwrite an existing quit-restore entry. 3866 (cons window 'reuse-other-window)))
4837 (set-window-parameter 3867 ;; In quit-restore parameter record information about the old buffer
4838 best-window 'quit-restore 3868 ;; unless such information exists already.
4839 (list (window-buffer best-window) (window-start best-window) 3869 (unless (window-parameter window 'quit-restore)
4840 (window-point best-window) buffer
4841 (window-total-size best-window) (selected-window)))))
4842
4843 (display-buffer-in-window buffer best-window specifiers))))
4844
4845(defconst display-buffer-split-specifiers '(largest lru selected root left top right bottom)
4846 "List of symbols identifying window that shall be split.")
4847
4848(defconst display-buffer-side-specifiers '(below right above left nil)
4849 "List of symbols identifying side of split-off window.")
4850
4851(defun display-buffer-split-window-1 (window side min-size)
4852 "Subroutine of `display-buffer-split-window'."
4853 (let* ((horizontal (memq side '(left right)))
4854 (parent (window-parent window))
4855 (resize (and window-splits (window-iso-combined-p window horizontal)))
4856 (old-size
4857 ;; We either resize WINDOW or its parent.
4858 (window-total-size (if resize parent window) horizontal))
4859 new-size)
4860 ;; We don't call split-window-vertically/-horizontally any more
4861 ;; here. If for some reason it's needed we can always do so
4862 ;; (provided we give it an optional SIDE argument).
4863 (cond
4864 (resize
4865 ;; When we resize a combination, the new window must be at least
4866 ;; MIN-SIZE large after the split.
4867 (setq new-size
4868 (max min-size
4869 (min (- old-size (window-min-size parent horizontal))
4870 (/ old-size
4871 ;; Try to make the size of the new window
4872 ;; proportional to the number of iso-arranged
4873 ;; windows in the combination.
4874 (1+ (window-iso-combinations parent horizontal))))))
4875 (when (window-sizable-p parent (- new-size) horizontal)
4876 (split-window window (- new-size) side)))
4877 ((window-live-p window)
4878 (setq new-size (/ old-size 2))
4879 ;; When WINDOW is live, the old _and_ the new window must be at
4880 ;; least MIN-SIZE large after the split.
4881 (when (and (>= new-size min-size)
4882 (window-sizable-p window (- new-size) horizontal))
4883 ;; Do an even split to make Stepan happy.
4884 (split-window window nil side)))
4885 (t
4886 ;; When WINDOW is internal, the new window must be at least
4887 ;; MIN-SIZE large after the split.
4888 (setq new-size
4889 (max min-size
4890 (/ old-size
4891 ;; Try to make the size of the new window
4892 ;; proportional to the number of iso-arranged
4893 ;; subwindows of WINDOW.
4894 (1+ (window-iso-combinations window horizontal)))))
4895 (when (window-sizable-p window (- new-size) horizontal)
4896 (split-window window (- new-size) side))))))
4897
4898(defun display-buffer-split-window (window &optional side specifiers)
4899 "Split WINDOW in a way suitable for `display-buffer'.
4900Optional argument SIDE must be a side specifier \(one of the
4901symbols below, right, above, left, or nil). SPECIFIERS must be a
4902list of buffer display specifiers, see the documentation of
4903`display-buffer-alist' for a description.
4904
4905Return the new window, nil if it could not be created."
4906 (let ((min-height (cdr (assq 'pop-up-window-min-height specifiers)))
4907 (min-width (cdr (assq 'pop-up-window-min-width specifiers)))
4908 size)
4909 ;; Normalize min-height and min-width, we might need both.
4910 (setq min-height
4911 ;; If min-height is specified, it can be as small as
4912 ;; `window-safe-min-height'.
4913 (cond
4914 ((and (integerp min-height)
4915 (>= min-height window-safe-min-height))
4916 min-height)
4917 ((and (floatp min-height)
4918 (<= min-height 1)
4919 (let* ((root-height (window-total-height
4920 (frame-root-window
4921 (window-frame window))))
4922 (height (round (* min-height root-height))))
4923 (when (>= height window-safe-min-height)
4924 height))))
4925 (t window-min-height)))
4926 (setq min-width
4927 ;; If min-width is specified, it can be as small as
4928 ;; `window-safe-min-width'.
4929 (cond
4930 ((and (integerp min-width)
4931 (>= min-width window-safe-min-width))
4932 min-width)
4933 ((and (floatp min-width)
4934 (<= min-width 1)
4935 (let* ((root-width (window-total-width
4936 (frame-root-window
4937 (window-frame window))))
4938 (width (round (* min-width root-width))))
4939 (when (>= width window-safe-min-width)
4940 width))))
4941 (t window-min-width)))
4942
4943 (or (and (memq side '(nil above below))
4944 (display-buffer-split-window-1
4945 window (or side 'below) min-height))
4946 ;; If SIDE is nil and vertical splitting failed, we try again
4947 ;; splitting horizontally this time.
4948 (and (memq side '(nil left right))
4949 (display-buffer-split-window-1
4950 window (or side 'right) min-width))
4951 ;; If WINDOW is live and the root window of its frame, try once
4952 ;; more splitting vertically, disregarding the min-height
4953 ;; specifier this time and using `window-min-height' instead.
4954 (and (memq side '(nil above below))
4955 (<= window-min-height min-height)
4956 (window-live-p window)
4957 (eq window (frame-root-window window))
4958 (display-buffer-split-window-1
4959 window (or side 'below) window-min-height)))))
4960
4961(defun display-buffer-split-atom-window (window &optional side nest specifiers)
4962 "Make WINDOW part of an atomic window."
4963 (let ((ignore-window-parameters t)
4964 (window-nest t)
4965 (selected-window (selected-window))
4966 root new new-parent)
4967
4968 ;; We are in an atomic window.
4969 (when (and (window-parameter window 'window-atom) (not nest))
4970 ;; Split the root window.
4971 (setq window (window-atom-root window)))
4972
4973 (when (setq new (display-buffer-split-window window side specifiers))
4974 (setq new-parent (window-parent window))
4975 ;; WINDOW is or becomes atomic.
4976 (unless (window-parameter window 'window-atom)
4977 (walk-window-subtree
4978 (lambda (window)
4979 (set-window-parameter window 'window-atom t))
4980 window t))
4981 ;; New window and any new parent get their window-atom parameter
4982 ;; set too.
4983 (set-window-parameter new 'window-atom t)
4984 (set-window-parameter new-parent 'window-atom t)
4985 new)))
4986
4987(defun display-buffer-pop-up-window (buffer methods &optional specifiers)
4988 "Display BUFFER in a new window.
4989Return the window displaying BUFFER, nil if popping up the window
4990failed. METHODS must be a list of window/side tuples like those
4991forming the cdr of the `pop-up-window' buffer display specifier.
4992As a special case, the car of such a tuple can be also a live
4993window.
4994
4995Optional argument SPECIFIERS must be a list of buffer display
4996specifiers, see the doc-string of `display-buffer-alist' for a
4997description."
4998 (let* ((frame (display-buffer-frame))
4999 (selected-window (frame-selected-window frame))
5000 cand window side atomic)
5001 (unless (and (cdr (assq 'unsplittable (frame-parameters frame)))
5002 ;; Don't split an unsplittable frame unless
5003 ;; SPECIFIERS allow it.
5004 (not (cdr (assq 'split-unsplittable-frame specifiers))))
5005 (catch 'done
5006 (dolist (method methods)
5007 (setq cand (car method))
5008 (setq side (cdr method))
5009 (setq window
5010 (cond
5011 ((eq cand 'largest)
5012 ;; The largest window.
5013 (get-largest-window frame t))
5014 ((eq cand 'lru)
5015 ;; The least recently used window.
5016 (get-lru-window frame t))
5017 ((eq cand 'selected)
5018 ;; The selected window.
5019 (frame-selected-window frame))
5020 ((eq cand 'root)
5021 ;; If there are side windows, split the main window
5022 ;; else the frame's root window.
5023 (or (window-with-parameter 'window-side 'none nil t)
5024 (frame-root-window frame)))
5025 ((memq cand window-sides)
5026 ;; This should gets us the "root" side window if there
5027 ;; exists more than one window on that side.
5028 (window-with-parameter 'window-side cand nil t))
5029 ((windowp cand)
5030 ;; A window, directly specified.
5031 cand)))
5032
5033 (when (and (window-any-p window)
5034 ;; The window must be on the correct frame,
5035 (eq (window-frame window) frame)
5036 ;; and must be neither a minibuffer window
5037 (not (window-minibuffer-p window))
5038 ;; nor a side window.
5039 (not (eq (window-parameter window 'window-side) 'side)))
5040 (setq window
5041 (cond
5042 ((memq side display-buffer-side-specifiers)
5043 (if (and (window-buffer window)
5044 (setq atomic (cdr (assq 'atomic specifiers))))
5045 (display-buffer-split-atom-window
5046 window side (eq atomic 'nest) specifiers)
5047 (display-buffer-split-window window side specifiers)))
5048 ((functionp side)
5049 (ignore-errors
5050 ;; Don't pass any specifiers to this function.
5051 (funcall side window)))))
5052
5053 (when (window-live-p window)
5054 ;; In `quit-restore' parameter record that we popped up
5055 ;; this window, its buffer and which window was selected.
5056 (set-window-parameter
5057 window 'quit-restore (list 'new-window buffer selected-window))
5058 ;; For `display-buffer-window' mark window as new.
5059 (setq display-buffer-window (cons window 'new-window))
5060 ;; Install BUFFER in the new window.
5061 (display-buffer-in-window buffer window specifiers)
5062 ;; Adjust sizes if asked for (for `fit-window-to-buffer'
5063 ;; and friends BUFFER must be already shown in the new
5064 ;; window).
5065 (display-buffer-set-height window specifiers)
5066 (display-buffer-set-width window specifiers)
5067 ;; Reset list of window's previous buffers to nil.
5068 (set-window-prev-buffers window nil)
5069 ;; Return the new window.
5070 (throw 'done window))))))))
5071
5072(defun display-buffer-pop-up-frame (buffer &optional graphic-only specifiers)
5073 "Make a new frame for displaying BUFFER.
5074Return the window displaying BUFFER if creating the new frame was
5075successful, nil otherwise. Optional argument GRAPHIC-ONLY
5076non-nil means to make a new frame on graphic displays only.
5077
5078SPECIFIERS must be a list of buffer display specifiers, see the
5079documentation of `display-buffer-alist' for a description."
5080 (unless (or (and graphic-only (not (display-graphic-p)))
5081 noninteractive)
5082 (let* ((selected-window (selected-window))
5083 (function (or (cdr (assq 'pop-up-frame-function specifiers))
5084 'make-frame))
5085 (parameters
5086 (when (symbolp function)
5087 (cdr (assq 'pop-up-frame-alist specifiers))))
5088 (frame
5089 (if (symbolp function)
5090 (funcall function parameters)
5091 (funcall function))))
5092 (when frame
5093 (let ((window (frame-selected-window frame)))
5094 (set-window-parameter
5095 window 'quit-restore (list 'new-frame buffer selected-window))
5096 (setq display-buffer-window (cons window 'new-frame))
5097 (display-buffer-in-window buffer window specifiers))))))
5098
5099(defun display-buffer-pop-up-side-window (buffer side slot &optional specifiers)
5100 "Display BUFFER in a new window on SIDE of the selected frame.
5101SLOT specifies the slot to use. SPECIFIERS must be a list of
5102buffer display specifiers.
5103
5104Return the window displaying BUFFER, nil if popping up the window
5105failed."
5106 (let* ((root (frame-root-window))
5107 (main (window-with-parameter 'window-side 'none nil t))
5108 (left-or-right (memq side '(left right)))
5109 (main-or-root
5110 (if (and main
5111 (or (and left-or-right (not window-sides-vertical))
5112 (and (not left-or-right) window-sides-vertical)))
5113 main
5114 root))
5115 (selected-window (selected-window))
5116 (on-side (cond
5117 ((eq side 'top) 'above)
5118 ((eq side 'bottom) 'below)
5119 (t side)))
5120 (window
5121 (display-buffer-split-window main-or-root on-side specifiers))
5122 fun)
5123 (when window
5124 ;; We were able to split off a new window.
5125 (unless main
5126 (walk-window-subtree
5127 (lambda (window)
5128 ;; Make all main-or-root subwindows main windows.
5129 (set-window-parameter window 'window-side 'none))
5130 main-or-root t))
5131 ;; Reset window-side parameter of new window's parent to nil.
5132 (set-window-parameter (window-parent window) 'window-side nil)
5133 ;; Initialize window-side parameter of new window to SIDE.
5134 (set-window-parameter window 'window-side side)
5135 ;; Install window-slot parameter of new window.
5136 (set-window-parameter window 'window-slot slot)
5137 ;; In `quit-restore' parameter record that we popped up a new
5138 ;; window.
5139 (set-window-parameter 3870 (set-window-parameter
5140 window 'quit-restore (list 'new-window buffer selected-window)) 3871 window 'quit-restore
5141 ;; For `display-buffer-window' mark window as new. 3872 (list (window-buffer window) (window-start window)
5142 (setq display-buffer-window (cons window 'new-window)) 3873 (window-point window) buffer
5143 ;; Install BUFFER in new window. 3874 (window-total-size window) (selected-window)))))
5144 (display-buffer-in-window buffer window specifiers) 3875 ((eq type 'pop-up-window)
5145 ;; Adjust sizes of new window if asked for. 3876 ;; In `display-buffer-window' record window as new.
5146 (display-buffer-set-height window specifiers) 3877 (setq display-buffer-window (cons window 'new-window))
5147 (display-buffer-set-width window specifiers) 3878 ;; In `quit-restore' parameter record that we popped up this window,
5148 ;; Reset list of new window's previous buffers to nil. 3879 ;; its buffer, and which window was selected before.
5149 (set-window-prev-buffers window nil) 3880 (set-window-parameter
5150 ;; Return the new window. 3881 window 'quit-restore (list 'new-window buffer (selected-window))))
5151 window))) 3882 ((eq type 'pop-up-frame)
5152 3883 ;; In `display-buffer-window' record window as on new frame.
5153(defun display-buffer-in-side-window (buffer side &optional slot specifiers) 3884 (setq display-buffer-window (cons window 'new-frame))
5154 "Display BUFFER in a window on SIDE of the selected frame. 3885 ;; In `quit-restore' parameter record that we popped up this window
5155SLOT, if non-nil, specifies the window slot where to display the 3886 ;; on a new frame, the buffer, and which window was selected before.
5156BUFFER. SLOT zero or nil means use the central slot on SIDE. 3887 (set-window-parameter
5157SLOT negative means use a slot preceding the central window. 3888 window 'quit-restore (list 'new-frame buffer (selected-window))))))
5158SLOT positive means use a slot following the central window.
5159
5160SPECIFIERS must be a list of buffer display specifiers."
5161 (unless (memq side window-sides)
5162 (error "Invalid side %s specified" side))
5163 (let* ((major (window-with-parameter 'window-side side nil t))
5164 ;; `major' is the major window on SIDE, `windows' the life
5165 ;; windows on SIDE.
5166 (windows (when major (windows-with-parameter 'window-side side)))
5167 (reuse-dedicated (cdr (assq 'reuse-window-dedicated specifiers)))
5168 (slots (when major (window-child-count major)))
5169 (max-slots
5170 (nth (cond
5171 ((eq side 'left) 0)
5172 ((eq side 'top) 1)
5173 ((eq side 'right) 2)
5174 ((eq side 'bottom) 3))
5175 window-sides-slots))
5176 (selected-window (selected-window))
5177 window this-window this-slot prev-window next-window
5178 best-window best-slot abs-slot dedicated new-window)
5179
5180 (unless (numberp slot)
5181 (setq slot 0))
5182 (if (not windows)
5183 ;; No suitable side window exists, make one.
5184 (display-buffer-pop-up-side-window buffer side slot specifiers)
5185 ;; Scan windows on SIDE.
5186 (catch 'found
5187 (dolist (window windows)
5188 (setq this-slot (window-parameter window 'window-slot))
5189 (cond
5190 ((not (numberp this-slot)))
5191 ((and (= this-slot slot)
5192 ;; Dedicatedness check.
5193 (or (not (setq dedicated (window-dedicated-p window)))
5194 ;; If the window is weakly dedicated to its
5195 ;; buffer, reuse-dedicated must be non-nil.
5196 (and (not (eq dedicated t)) reuse-dedicated)
5197 ;; If the window is strongly dedicated to its
5198 ;; buffer, reuse-dedicated must be t.
5199 (eq reuse-dedicated t)))
5200 ;; Window with matching SLOT, use it.
5201 (setq this-window window)
5202 (throw 'found t))
5203 (t
5204 (setq abs-slot (abs (- (abs slot) (abs this-slot))))
5205 (unless (and best-slot (<= best-slot abs-slot))
5206 (setq best-window window)
5207 (setq best-slot abs-slot))
5208 (cond
5209 ((<= this-slot slot)
5210 (setq prev-window window))
5211 ((not next-window)
5212 (setq next-window window)))))))
5213
5214 ;; `this-window' is the first window with the same SLOT.
5215 ;; `prev-window' is the window with the largest slot < SLOT. A new
5216 ;; window will be created after it.
5217 ;; `next-window' is the window with the smallest slot > SLOT. A new
5218 ;; window will be created before it.
5219 ;; `best-window' is the window with the smallest absolute difference
5220 ;; of its slot and SLOT.
5221 (or (and this-window
5222 ;; Reuse this window.
5223 (prog1
5224 (setq window this-window)
5225 (if (eq (window-buffer window) buffer)
5226 (setq display-buffer-window
5227 (cons window 'reuse-buffer-window))
5228 (setq display-buffer-window
5229 (cons window 'reuse-other-window))
5230 (unless (window-parameter window 'quit-restore)
5231 ;; Don't overwrite an existing quit-restore entry.
5232 (set-window-parameter
5233 window 'quit-restore
5234 (list (window-buffer window) (window-start window)
5235 (window-point window) buffer
5236 (window-total-size window) (selected-window)))))))
5237 (and (or (not max-slots) (< slots max-slots))
5238 (or (and next-window
5239 ;; Make new window before next-window.
5240 (let ((next-side
5241 (if (memq side '(left right)) 'above 'left)))
5242 (setq window (display-buffer-split-window
5243 next-window next-side specifiers))))
5244 (and prev-window
5245 ;; Make new window after prev-window.
5246 (let ((prev-side
5247 (if (memq side '(left right)) 'below 'right)))
5248 (setq window (display-buffer-split-window
5249 prev-window prev-side specifiers)))))
5250 (progn
5251 ;; In `quit-restore' parameter record that we popped up
5252 ;; this window, its buffer and the old selected window.
5253 (set-window-parameter
5254 window 'quit-restore
5255 (list 'new-window buffer selected-window))
5256 ;; For `display-buffer-window' mark window as new.
5257 (setq display-buffer-window (cons window 'new-window))
5258 ;; Record that window is new, we need this for
5259 ;; adjusting sizes below.
5260 (setq new-window window)))
5261 (and best-window
5262 (setq window best-window)
5263 ;; Reuse best window (the window nearest to SLOT).
5264 (if (eq (window-buffer window) buffer)
5265 (setq display-buffer-window
5266 (cons window 'reuse-buffer-window))
5267 (setq display-buffer-window
5268 (cons window 'reuse-other-window))
5269
5270 (unless (window-parameter window 'quit-restore)
5271 ;; Don't overwrite an existing quit-restore entry.
5272 (set-window-parameter
5273 window 'quit-restore
5274 (list (window-buffer window) (window-start window)
5275 (window-point window) buffer
5276 (window-total-size window) (selected-window)))))
5277 window))
5278
5279 (when window
5280 (unless (window-parameter window 'window-slot)
5281 ;; Don't change exisiting slot value.
5282 (set-window-parameter window 'window-slot slot))
5283 ;; Install BUFFER in the window.
5284 (display-buffer-in-window buffer window specifiers)
5285 (when new-window
5286 ;; Adjust sizes if asked for (for `fit-window-to-buffer' and
5287 ;; friends BUFFER must be already shown in the new window).
5288 (display-buffer-set-height window specifiers)
5289 (display-buffer-set-width window specifiers)
5290 ;; Reset list of new window's previous buffers to nil.
5291 (set-window-prev-buffers window nil))
5292 ;; Return the window used.
5293 window))))
5294
5295(defun window-normalize-buffer-to-display (buffer-or-name)
5296 "Normalize BUFFER-OR-NAME argument for buffer display functions.
5297If BUFFER-OR-NAME is nil, return the curent buffer. Else, if a
5298buffer specified by BUFFER-OR-NAME exists, return that buffer.
5299If no such buffer exists, create a buffer with the name
5300BUFFER-OR-NAME and return that buffer."
5301 (if buffer-or-name
5302 (or (get-buffer buffer-or-name)
5303 (let ((buffer (get-buffer-create buffer-or-name)))
5304 (set-buffer-major-mode buffer)
5305 buffer))
5306 (current-buffer)))
5307
5308(defun display-buffer-other-window-means-other-frame (buffer-or-name &optional label)
5309 "Return non-nil if BUFFER shall be preferably displayed in another frame.
5310BUFFER must be a live buffer or the name of a live buffer.
5311
5312Return nil if BUFFER shall be preferably displayed in another
5313window on the selected frame. Return non-nil if BUFFER shall be
5314preferably displayed in a window on any but the selected frame.
5315
5316Optional argument LABEL is like the same argument of
5317`display-buffer'.
5318
5319The calculation of the return value is exclusively based on the
5320user preferences expressed in `display-buffer-alist'."
5321 (let* ((buffer-name
5322 (buffer-name (window-normalize-buffer buffer-or-name)))
5323 (default (display-buffer-normalize-default buffer-name))
5324 (alist (display-buffer-normalize-alist buffer-name label)))
5325 (or (cdr (assq 'other-window-means-other-frame default))
5326 (cdr (assq 'other-window-means-other-frame (cdr alist))))))
5327
5328(defun display-buffer-normalize-special (&optional args)
5329 "Return buffer display specifiers for `special-display-frame-alist'."
5330 (progn ;; <-- reserved for with-no-warnings
5331 (if (and (listp args) (symbolp (car args)))
5332 ;; Note: `display-buffer' funcalls this so take "(nth 1 args)"
5333 ;; where `special-display-popup-frame' (which uses apply) takes
5334 ;; "(cdr args)".
5335 `((function ,(car args) ,(nth 1 args)))
5336 (append
5337 '((reuse-window nil same 0))
5338 (when (and (listp args) (cdr (assq 'same-window args)))
5339 '((reuse-window same nil nil) (reuse-dedicated . weak)))
5340 (when (and (listp args)
5341 (or (cdr (assq 'same-frame args))
5342 (cdr (assq 'same-window args))))
5343 '((pop-up-window (largest . nil) (lru . nil))
5344 (reuse-window nil nil nil)))
5345 (unless display-buffer-mark-dedicated
5346 ;; Don't make anything created above dedicated unless requested.
5347 ;; Otherwise the dedication request below gets in our way.
5348 '((dedicate . nil)))
5349 `((pop-up-frame t)
5350 ,(append '(pop-up-frame-alist)
5351 (when (listp args) args)
5352 special-display-frame-alist)
5353 (dedicate . t))))))
5354
5355(defun display-buffer-normalize-default (buffer-or-name)
5356 "Subroutine of `display-buffer-normalize-specifiers'.
5357BUFFER-OR-NAME is the buffer to display.
5358
5359This routine provides a compatibility layer for the obsolete
5360Emacs 23 buffer display options to set up the corresponding
5361buffer display specifiers."
5362 (progn ;; <-- reserved for with-no-warnings
5363 (let* ((buffer (window-normalize-buffer buffer-or-name))
5364 (buffer-name (buffer-name buffer))
5365 (pop-up-frames
5366 (and (boundp 'pop-up-frames)
5367 (or (and (eq pop-up-frames 'graphic-only)
5368 (display-graphic-p))
5369 pop-up-frames)))
5370 specifiers args)
5371 ;; `other-window-means-other-frame'
5372 (when pop-up-frames
5373 (setq specifiers
5374 (cons (cons 'other-window-means-other-frame t) specifiers)))
5375
5376 ;; `even-window-heights'
5377 (unless (and (boundp 'even-window-heights)
5378 (not even-window-heights))
5379 (setq specifiers
5380 (cons (cons 'reuse-window-even-sizes t) specifiers)))
5381
5382 ;; `display-buffer-mark-dedicated'
5383 (when (and (boundp 'display-buffer-mark-dedicated)
5384 display-buffer-mark-dedicated)
5385 (setq specifiers
5386 (cons (cons 'dedicate display-buffer-mark-dedicated)
5387 specifiers)))
5388
5389 ;; `pop-up-window-min-height'
5390 (let ((min-height
5391 (if (boundp 'split-height-threshold)
5392 (if (numberp split-height-threshold)
5393 (/ split-height-threshold 2)
5394 1.0)
5395 40)))
5396 (setq specifiers
5397 (cons (cons 'pop-up-window-min-height min-height)
5398 specifiers)))
5399
5400 ;; `pop-up-window-min-width'
5401 (let ((min-width
5402 (if (boundp 'split-width-threshold)
5403 (if (numberp split-width-threshold)
5404 (/ split-width-threshold 2)
5405 1.0)
5406 80)))
5407 (setq specifiers
5408 (cons (cons 'pop-up-window-min-width min-width)
5409 specifiers)))
5410
5411 ;; `pop-up-window'
5412 (unless (and (boundp 'pop-up-windows) (not pop-up-windows))
5413 (let ((fun (when (and (boundp 'split-window-preferred-function)
5414 (not (eq split-window-preferred-function
5415 'split-window-sensibly)))
5416 split-window-preferred-function)))
5417 ;; `pop-up-window'
5418 (setq specifiers
5419 (cons
5420 (list 'pop-up-window (cons 'largest fun) (cons 'lru fun))
5421 specifiers))))
5422
5423 ;; `pop-up-frame-function'
5424 (when (and (boundp 'pop-up-frame-function)
5425 (not (equal pop-up-frame-function
5426 '(lambda nil
5427 (make-frame pop-up-frame-alist)))))
5428 (setq specifiers
5429 (cons (cons 'pop-up-frame-function pop-up-frame-function)
5430 specifiers)))
5431
5432 ;; `pop-up-frame-alist'
5433 (when pop-up-frame-alist
5434 (setq specifiers
5435 (cons (cons 'pop-up-frame-alist pop-up-frame-alist)
5436 specifiers)))
5437
5438 ;; `pop-up-frame'
5439 (when pop-up-frames
5440 ;; `pop-up-frame-function'. If `pop-up-frame-function' uses the
5441 ;; now obsolete `pop-up-frame-alist' it will continue to do so.
5442 ;; `pop-up-frame'
5443 (setq specifiers
5444 ;; Maybe we should merge graphic-only into the following?
5445 (cons (list 'pop-up-frame t) specifiers)))
5446
5447 ;; `special-display'
5448 (when (and (boundp 'special-display-function)
5449 special-display-function
5450 (fboundp 'special-display-p)
5451 (setq args (special-display-p buffer-name)))
5452 ;; `special-display-p' returns either t or a list of arguments
5453 ;; to pass to `special-display-function'.
5454 (if (eq special-display-function 'special-display-popup-frame)
5455 (setq specifiers
5456 (append (display-buffer-normalize-special args)
5457 specifiers))
5458 (setq specifiers
5459 (cons
5460 `(function ,special-display-function ,(when (listp args) args))
5461 specifiers))))
5462
5463 ;; Reuse window showing same buffer on visible or iconified frame.
5464 ;; `pop-up-frames', `display-buffer-reuse-frames' means search for
5465 ;; a window showing the buffer on some visible or iconfied frame.
5466 ;; `last-nonminibuffer-frame' non-nil means search that frame.
5467 (let ((frames (or (and (or pop-up-frames
5468 (and (boundp 'display-buffer-reuse-frames)
5469 display-buffer-reuse-frames)
5470 (not (last-nonminibuffer-frame)))
5471 ;; All visible or iconfied frames.
5472 0)
5473 ;; The following usually returns the same frame
5474 ;; so we implicitly search for a window showing
5475 ;; the buffer on the same frame already.
5476 (last-nonminibuffer-frame))))
5477 (when frames
5478 (setq specifiers
5479 (cons (list 'reuse-window 'other 'same frames)
5480 specifiers))))
5481
5482 ;; `same-window'
5483 (when (and (fboundp 'same-window-p) (same-window-p buffer-name))
5484 ;; Try to reuse the same (selected) window.
5485 (setq specifiers
5486 (cons (list 'reuse-window 'same nil nil) specifiers)))
5487
5488 ;; Same window if showing this buffer already. Can be overridden
5489 ;; by `other-window' argument if the buffer is already shown in
5490 ;; the same window.
5491 (setq specifiers
5492 (cons (list 'reuse-window 'same 'same nil) specifiers))
5493
5494 specifiers)))
5495
5496(defun display-buffer-normalize-argument (buffer-name specifiers other-window-means-other-frame)
5497 "Normalize second argument of `display-buffer'.
5498BUFFER-NAME is the name of the buffer that shall be displayed,
5499SPECIFIERS is the second argument of `display-buffer'.
5500OTHER-WINDOW-MEANS-OTHER-FRAME non-nil means use other-frame for
5501other-window."
5502 (progn ;; <-- reserved for with-no-warnings
5503 (let (normalized entry specifier pars)
5504 (cond
5505 ((not specifiers)
5506 nil)
5507 ((listp specifiers)
5508 ;; If SPECIFIERS is a list, we assume it is a list of valid
5509 ;; specifiers.
5510 (dolist (specifier specifiers)
5511 (cond
5512 ((consp specifier)
5513 (setq normalized (cons specifier normalized)))
5514 ((eq specifier 'other-window)
5515 ;; `other-window' must be treated separately.
5516 (let ((entry (assq (if other-window-means-other-frame
5517 'other-frame
5518 'same-frame-other-window)
5519 display-buffer-macro-specifiers)))
5520 (dolist (item (cdr entry))
5521 (setq normalized (cons item normalized)))))
5522 ((symbolp specifier)
5523 ;; Might be a macro specifier, try to expand it (the cdr is a
5524 ;; list and we have to reverse it later, so do it one at a
5525 ;; time).
5526 (let ((entry (assq specifier display-buffer-macro-specifiers)))
5527 (dolist (item (cdr entry))
5528 (setq normalized (cons item normalized)))))))
5529 ;; Reverse list.
5530 (nreverse normalized))
5531 ((setq entry (assq specifiers display-buffer-macro-specifiers))
5532 ;; A macro specifier.
5533 (cdr entry))
5534 (t
5535 ;; Anything else means use another window according to the
5536 ;; non-overriding specifiers of `display-buffer-alist' and the
5537 ;; specifiers produced by `display-buffer-normalize-default'.
5538 '((other-window . t)))))))
5539
5540(defun display-buffer-normalize-alist-1 (specifiers label)
5541 "Subroutine of `display-buffer-normalize-alist'.
5542SPECIFIERS is a list of buffer display specfiers. LABEL is the
5543same argument of `display-buffer'."
5544 (let (normalized entry)
5545 (cond
5546 ((not specifiers)
5547 nil)
5548 ((listp specifiers)
5549 ;; If SPECIFIERS is a list, we assume it is a list of specifiers.
5550 (dolist (specifier specifiers)
5551 (cond
5552 ((consp specifier)
5553 (setq normalized (cons specifier normalized)))
5554 ((symbolp specifier)
5555 ;; Might be a macro specifier, try to expand it (the cdr is a
5556 ;; list and we have to reverse it later, so do it one at a
5557 ;; time).
5558 (let ((entry (assq specifier display-buffer-macro-specifiers)))
5559 (dolist (item (cdr entry))
5560 (setq normalized (cons item normalized)))))))
5561 ;; Reverse list.
5562 (nreverse normalized))
5563 ((setq entry (assq specifiers display-buffer-macro-specifiers))
5564 ;; A macro specifier.
5565 (cdr entry)))))
5566
5567(defun display-buffer-normalize-alist (buffer-name label)
5568 "Normalize `display-buffer-alist'.
5569BUFFER-NAME must be the name of the buffer that shall be displayed.
5570LABEL the corresponding argument of `display-buffer'."
5571 (let (list-1 list-2)
5572 (dolist (entry display-buffer-alist)
5573 (when (and (listp entry)
5574 (catch 'match
5575 (dolist (id (car entry))
5576 (when (consp id)
5577 (let ((type (car id))
5578 (value (cdr id)))
5579 (when (or (and (eq type 'name) (stringp value)
5580 (equal value buffer-name))
5581 (and (eq type 'regexp) (stringp value)
5582 (string-match-p value buffer-name))
5583 (and (eq type 'label) (eq value label)))
5584 (throw 'match t)))))))
5585 (let* ((specifiers (cdr entry))
5586 (normalized
5587 (display-buffer-normalize-alist-1 specifiers label)))
5588 (if (cdr (assq 'override specifiers))
5589 (setq list-1
5590 (if list-1
5591 (append list-1 normalized)
5592 normalized))
5593 (setq list-2
5594 (if list-2
5595 (append list-2 normalized)
5596 normalized))))))
5597
5598 (cons list-1 list-2)))
5599
5600(defun display-buffer-normalize-specifiers (buffer-name specifiers label)
5601 "Return normalized specifiers for a buffer matching BUFFER-NAME or LABEL.
5602BUFFER-NAME must be a string specifying a valid buffer name.
5603SPECIFIERS and LABEL are the homonymous arguments of
5604`display-buffer'.
5605
5606The method for displaying the buffer specified by BUFFER-NAME or
5607LABEL is established by appending the following four lists of
5608specifiers:
5609
5610- The specifiers in `display-buffer-alist' whose buffer
5611 identifier matches BUFFER-NAME or LABEL and whose 'override
5612 component is set.
5613
5614- SPECIFIERS.
5615
5616- The specifiers in `display-buffer-alist' whose buffer
5617 identifier matches BUFFER-NAME or LABEL and whose 'override
5618 component is not set."
5619 (let* ((default (display-buffer-normalize-default buffer-name))
5620 (alist (display-buffer-normalize-alist buffer-name label))
5621 (other-window-means-other-frame
5622 (or (cdr (assq 'other-window-means-other-frame default))
5623 (cdr (assq 'other-window-means-other-frame (cdr alist)))))
5624 (arg2 (display-buffer-normalize-argument
5625 buffer-name specifiers other-window-means-other-frame))
5626 (arg3
5627 ;; Handle special meaning of the LABEL argument of
5628 ;; `display-buffer'.
5629 (when (or (memq label '(visible 0 t)) (frame-live-p label))
5630 ;; LABEL must be one of visible (any visible frame), 0 (any
5631 ;; visible or iconfied frame), t (any frame), or a live
5632 ;; frame.
5633 `((reuse-window nil same ,label)))))
5634 (append
5635 ;; Overriding user specifiers.
5636 (car alist)
5637 ;; Special value of third argument of display-buffer.
5638 arg3
5639 ;; Second argument of display-buffer.
5640 arg2
5641 ;; Non-overriding user specifiers.
5642 (cdr alist)
5643 ;; Default specifiers.
5644 default)))
5645
5646;; Minibuffer-only frames should be documented better. They really
5647;; deserve a separate section in the manual. Also
5648;; `last-nonminibuffer-frame' is nowhere documented in the manual.
5649(defun display-buffer-frame (&optional frame)
5650 "Return FRAME if it is live and not a minibuffer-only frame.
5651Return the value of `last-nonminibuffer-frame' otherwise."
5652 (setq frame (window-normalize-frame frame))
5653 (if (and (frame-live-p frame)
5654 ;; A not very nice way to get that information.
5655 (not (window-minibuffer-p (frame-root-window frame))))
5656 frame
5657 (last-nonminibuffer-frame)))
5658
5659(defun display-buffer (&optional buffer-or-name specifiers label)
5660 "Make the buffer specified by BUFFER-OR-NAME appear in some window.
5661Optional argument BUFFER-OR-NAME may be a buffer, a string \(a
5662buffer name), or nil. If BUFFER-OR-NAME is a string not naming
5663an existent buffer, create a buffer with that name. If
5664BUFFER-OR-NAME is nil or omitted, display the current buffer.
5665Interactively, prompt for the buffer name using the minibuffer.
5666
5667Return the window chosen to display the buffer or nil if no such
5668window is found. Do not change the selected window unless the
5669buffer is shown on a different frame than the selected one.
5670
5671Optional argument SPECIFIERS must be a list of buffer display
5672specifiers, see the documentation of `display-buffer-alist' for a
5673description.
5674
5675For convenience, SPECIFIERS may also consist of a single buffer
5676display location specifier or t, where the latter means to
5677display the buffer in any but the selected window. If SPECIFIERS
5678is nil or omitted, this means to exclusively use the specifiers
5679provided by the variable `display-buffer-alist' and the function
5680`display-buffer-normalize-default'.
5681
5682As a special case, the `reuse-window' specifier allows to specify
5683as second element an arbitrary window, as third element an
5684arbitrary buffer, and as fourth element an arbitrary frame. As
5685first element of a window/side pair of the `pop-up-window'
5686specifier you can specifiy an arbitrary window.
5687
5688The optional third argument LABEL, if non-nil, must be a symbol
5689specifiying the buffer display label. Applications should set
5690this when the buffer shall be displayed in some special way but
5691BUFFER-OR-NAME does not identify the buffer as special. Typical
5692buffers that fit into this category are those whose names are
5693derived from the name of the file they are visiting. A user can
5694override SPECIFIERS by adding an entry to `display-buffer-alist'
5695whose car contains LABEL and whose cdr specifies the preferred
5696alternative display method.
5697
5698The following values of LABEL have a special meaning and allow to
5699specify the set of frames to investigate when the buffer already
5700appears in a window:
5701
5702`visible' - the set of visible frames.
5703
57040 - the set of visible or iconified frames.
5705
5706t - the set of all frames.
5707
5708A live frame - the set containing that frame as its only element.
5709
5710If the buffer is already displayed in a window on a frame in the
5711specified set, return that window.
5712
5713The method to display the buffer is derived by combining the
5714values of `display-buffer-alist' and SPECIFIERS. Highest
5715priority is given to overriding elements of
5716`display-buffer-alist'. Next come the elements specified by
5717SPECIFIERS, followed by the non-overriding elements of
5718`display-buffer-alist'.
5719
5720The result must be a list of valid buffer display specifiers. If
5721`display-buffer-function' is non-nil, call it with the buffer and
5722this list as arguments."
5723 (interactive "BDisplay buffer:\nP")
5724 (let* ((buffer (window-normalize-buffer-to-display buffer-or-name))
5725 (buffer-name (buffer-name buffer))
5726 (normalized
5727 ;; Normalize specifiers.
5728 (display-buffer-normalize-specifiers buffer-name specifiers label))
5729 ;; Don't use a minibuffer frame.
5730 (frame (display-buffer-frame))
5731 ;; `window' is the window we use for showing `buffer'.
5732 window specifier method other-window)
5733 ;; Reset this.
5734 (setq display-buffer-window nil)
5735 (if display-buffer-function
5736 ;; Let `display-buffer-function' do the job.
5737 (funcall display-buffer-function buffer specifiers)
5738 ;; Retrieve the next location specifier while there a specifiers
5739 ;; left and we don't have a valid window.
5740 (while (and normalized (not (window-live-p window)))
5741 (setq specifier (car normalized))
5742 (setq normalized (cdr normalized))
5743 (setq method (car specifier))
5744 (setq window
5745 (cond
5746 ((eq method 'reuse-window)
5747 (display-buffer-reuse-window
5748 buffer (cdr specifier) normalized other-window))
5749 ((eq method 'pop-up-window)
5750 (display-buffer-pop-up-window
5751 buffer (cdr specifier) normalized))
5752 ((eq method 'pop-up-frame)
5753 (display-buffer-pop-up-frame
5754 buffer (cdr specifier) normalized))
5755 ((eq method 'use-side-window)
5756 (display-buffer-in-side-window
5757 buffer (nth 1 specifier) (nth 2 specifier) normalized))
5758 ((eq method 'function)
5759 (funcall (nth 1 specifier) buffer (nth 2 specifier)))
5760 ((eq method 'other-window)
5761 (setq other-window t)))))
5762
5763 ;; If we don't have a window yet, try a fallback method. All
5764 ;; specifiers have been used up by now. Try reusing a window
5765 (or (and (window-live-p window) window)
5766 ;; on the selected frame,
5767 (display-buffer-reuse-window
5768 buffer '(nil nil nil) nil other-window)
5769 ;; showing BUFFER on any visible frame,
5770 (display-buffer-reuse-window
5771 buffer '(nil same visible) nil other-window)
5772 ;; not showing BUFFER on any visible frame,
5773 (display-buffer-reuse-window
5774 buffer '(nil other visible) nil other-window)
5775 ;; showing BUFFER on any visible or iconified frame,
5776 (display-buffer-reuse-window
5777 buffer '(nil same 0) nil other-window)
5778 ;; not showing BUFFER on any visible or iconified frame.
5779 (display-buffer-reuse-window
5780 buffer '(nil other 0) nil other-window)
5781 ;; If everything failed so far, try popping up a new frame
5782 ;; regardless of graphic-only restrictions.
5783 (display-buffer-pop-up-frame buffer)))))
5784
5785(defsubst display-buffer-same-window (&optional buffer-or-name label)
5786 "Display buffer specified by BUFFER-OR-NAME in the selected window.
5787Another window will be used only if the buffer can't be shown in
5788the selected window, usually because it is dedicated to another
5789buffer. Optional argument BUFFER-OR-NAME and LABEL are as for
5790`display-buffer'."
5791 (interactive "BDisplay buffer in same window:\nP")
5792 (display-buffer buffer-or-name 'same-window label))
5793
5794(defsubst display-buffer-same-frame (&optional buffer-or-name label)
5795 "Display buffer specified by BUFFER-OR-NAME in a window on the same frame.
5796Another frame will be used only if there is no other choice.
5797Optional argument BUFFER-OR-NAME and LABEL are as for
5798`display-buffer'."
5799 (interactive "BDisplay buffer on same frame:\nP")
5800 (display-buffer buffer-or-name 'same-frame label))
5801
5802(defsubst display-buffer-other-window (&optional buffer-or-name label)
5803 "Display buffer specified by BUFFER-OR-NAME in another window.
5804The selected window will be used only if there is no other
5805choice. Windows on the selected frame are preferred to windows
5806on other frames. Optional argument BUFFER-OR-NAME and LABEL are as
5807for `display-buffer'."
5808 (interactive "BDisplay buffer in another window:\nP")
5809 (display-buffer buffer-or-name 'other-window label))
5810
5811(defun display-buffer-same-frame-other-window (&optional buffer-or-name label)
5812 "Display buffer specified by BUFFER-OR-NAME in another window on the same frame.
5813The selected window or another frame will be used only if there
5814is no other choice. Optional argument BUFFER-OR-NAME and LABEL are
5815as for `display-buffer'."
5816 (interactive "BDisplay buffer in another window on same frame:\nP")
5817 (display-buffer buffer-or-name 'same-frame-other-window label))
5818
5819(defun display-buffer-other-frame (&optional buffer-or-name label)
5820 "Display buffer specified by BUFFER-OR-NAME on another frame.
5821The selected frame will be used only if there is no other choice.
5822Optional argument BUFFER-OR-NAME and LABEL are as for
5823`display-buffer'.
5824
5825If this command uses another frame, it will also select that frame."
5826 (interactive "BDisplay buffer in other frame: ")
5827 (display-buffer buffer-or-name 'other-frame label))
5828
5829(defun pop-to-buffer (&optional buffer-or-name specifiers norecord label)
5830 "Display buffer specified by BUFFER-OR-NAME and select the window used.
5831Optional argument BUFFER-OR-NAME may be a buffer, a string \(a
5832buffer name), or nil. If BUFFER-OR-NAME is a string naming a buffer
5833that does not exist, create a buffer with that name. If
5834BUFFER-OR-NAME is nil or omitted, display the current buffer.
5835Interactively, prompt for the buffer name using the minibuffer.
5836
5837Optional second argument SPECIFIERS can be: a list of buffer
5838display specifiers (see `display-buffer-alist'); a single
5839location specifier; t, which means to display the buffer in any
5840but the selected window; or nil, which means to exclusively apply
5841the specifiers customized by the user. See `display-buffer' for
5842more details.
5843
5844Optional argument NORECORD non-nil means do not put the displayed
5845buffer at the front of the buffer list, and do not make the window
5846displaying it the most recently selected one.
5847
5848The optional argument LABEL, if non-nil, is a symbol specifying the
5849display purpose. Applications should set this when the buffer
5850should be displayed in a special way but BUFFER-OR-NAME does not
5851identify the buffer as special. Buffers that typically fit into
5852this category are those whose names have been derived from the
5853name of the file they are visiting.
5854
5855Returns the displayed buffer, or nil if displaying the buffer failed.
5856
5857This uses the function `display-buffer' as a subroutine; see the
5858documentations of `display-buffer' and `display-buffer-alist' for
5859additional information."
5860 (interactive "BPop to buffer:\nP")
5861 (let ((buffer (window-normalize-buffer-to-display buffer-or-name))
5862 (old-window (selected-window))
5863 (old-frame (selected-frame))
5864 new-window new-frame)
5865 (set-buffer buffer)
5866 (setq new-window (display-buffer buffer specifiers label))
5867 (setq new-frame (window-frame new-window))
5868 (if (eq old-frame new-frame)
5869 ;; Make sure new-window gets selected (Bug#8615), (Bug#6954).
5870 (select-window new-window norecord)
5871 ;; `display-buffer' has chosen another frame, make sure it gets
5872 ;; input focus and is risen.
5873 (select-frame-set-input-focus new-frame norecord))
5874 buffer))
5875
5876(defsubst pop-to-buffer-same-window (&optional buffer-or-name norecord label)
5877 "Pop to buffer specified by BUFFER-OR-NAME in the selected window.
5878Another window will be used only if the buffer can't be shown in
5879the selected window, usually because it is dedicated to another
5880buffer. Optional arguments BUFFER-OR-NAME, NORECORD and LABEL are
5881as for `pop-to-buffer'."
5882 (interactive "BPop to buffer in selected window:\nP")
5883 (pop-to-buffer buffer-or-name 'same-window norecord label))
5884
5885(defsubst pop-to-buffer-same-frame (&optional buffer-or-name norecord label)
5886 "Pop to buffer specified by BUFFER-OR-NAME in a window on the selected frame.
5887Another frame will be used only if there is no other choice.
5888Optional arguments BUFFER-OR-NAME, NORECORD and LABEL are as for
5889`pop-to-buffer'."
5890 (interactive "BPop to buffer on same frame:\nP")
5891 (pop-to-buffer buffer-or-name 'same-frame norecord label))
5892
5893(defsubst pop-to-buffer-other-window (&optional buffer-or-name norecord label)
5894 "Pop to buffer specified by BUFFER-OR-NAME in another window.
5895The selected window will be used only if there is no other
5896choice. Windows on the selected frame are preferred to windows
5897on other frames. Optional arguments BUFFER-OR-NAME, NORECORD and
5898LABEL are as for `pop-to-buffer'."
5899 (interactive "BPop to buffer in another window:\nP")
5900 (pop-to-buffer buffer-or-name 'other-window norecord))
5901
5902(defsubst pop-to-buffer-same-frame-other-window (&optional buffer-or-name norecord label)
5903 "Pop to buffer specified by BUFFER-OR-NAME in another window on the selected frame.
5904The selected window or another frame will be used only if there
5905is no other choice. Optional arguments BUFFER-OR-NAME, NORECORD
5906and LABEL are as for `pop-to-buffer'."
5907 (interactive "BPop to buffer in another window on same frame:\nP")
5908 (pop-to-buffer buffer-or-name 'same-frame-other-window norecord label))
5909
5910(defsubst pop-to-buffer-other-frame (&optional buffer-or-name norecord label)
5911 "Pop to buffer specified by BUFFER-OR-NAME on another frame.
5912The selected frame will be used only if there's no other choice.
5913Optional arguments BUFFER-OR-NAME, NORECORD and LABEL are as for
5914`pop-to-buffer'."
5915 (interactive "BPop to buffer on another frame:\nP")
5916 (pop-to-buffer buffer-or-name 'other-frame norecord label))
5917
5918(defun read-buffer-to-switch (prompt)
5919 "Read the name of a buffer to switch to, prompting with PROMPT.
5920Return the neame of the buffer as a string.
5921
5922This function is intended for the `switch-to-buffer' family of
5923commands since these need to omit the name of the current buffer
5924from the list of completions and default values."
5925 (let ((rbts-completion-table (internal-complete-buffer-except)))
5926 (minibuffer-with-setup-hook
5927 (lambda ()
5928 (setq minibuffer-completion-table rbts-completion-table)
5929 ;; Since rbts-completion-table is built dynamically, we
5930 ;; can't just add it to the default value of
5931 ;; icomplete-with-completion-tables, so we add it
5932 ;; here manually.
5933 (if (and (boundp 'icomplete-with-completion-tables)
5934 (listp icomplete-with-completion-tables))
5935 (set (make-local-variable 'icomplete-with-completion-tables)
5936 (cons rbts-completion-table
5937 icomplete-with-completion-tables))))
5938 (read-buffer prompt (other-buffer (current-buffer))
5939 (confirm-nonexistent-file-or-buffer)))))
5940
5941(defun window-normalize-buffer-to-switch-to (buffer-or-name)
5942 "Normalize BUFFER-OR-NAME argument of buffer switching functions.
5943If BUFFER-OR-NAME is nil, return the buffer returned by
5944`other-buffer'. Else, if a buffer specified by BUFFER-OR-NAME
5945exists, return that buffer. If no such buffer exists, create a
5946buffer with the name BUFFER-OR-NAME and return that buffer."
5947 (if buffer-or-name
5948 (or (get-buffer buffer-or-name)
5949 (let ((buffer (get-buffer-create buffer-or-name)))
5950 (set-buffer-major-mode buffer)
5951 buffer))
5952 (other-buffer)))
5953
5954(defun switch-to-buffer (buffer-or-name &optional norecord force-same-window)
5955 "Switch to buffer BUFFER-OR-NAME in the selected window.
5956If called interactively, prompt for the buffer name using the
5957minibuffer. The variable `confirm-nonexistent-file-or-buffer'
5958determines whether to request confirmation before creating a new
5959buffer.
5960
5961BUFFER-OR-NAME may be a buffer, a string \(a buffer name), or
5962nil. If BUFFER-OR-NAME is a string that does not identify an
5963existing buffer, create a buffer with that name. If
5964BUFFER-OR-NAME is nil, switch to the buffer returned by
5965`other-buffer'.
5966
5967Optional argument NORECORD non-nil means do not put the buffer
5968specified by BUFFER-OR-NAME at the front of the buffer list and
5969do not make the window displaying it the most recently selected
5970one.
5971
5972If FORCE-SAME-WINDOW is non-nil, BUFFER-OR-NAME must be displayed
5973in the currently selected window; signal an error if that is
5974impossible (e.g. if the selected window is minibuffer-only).
5975If non-nil, BUFFER-OR-NAME may be displayed in another window.
5976
5977Return the buffer switched to."
5978 (interactive
5979 (list (read-buffer-to-switch "Switch to buffer: ") nil nil))
5980 (let ((buffer (window-normalize-buffer-to-switch-to buffer-or-name)))
5981 (if (null force-same-window)
5982 (pop-to-buffer
5983 buffer '(same-window (reuse-window-dedicated . weak))
5984 norecord 'switch-to-buffer)
5985 (cond
5986 ;; Don't call set-window-buffer if it's not needed since it
5987 ;; might signal an error (e.g. if the window is dedicated).
5988 ((eq buffer (window-buffer)))
5989 ((window-minibuffer-p)
5990 (error "Cannot switch buffers in minibuffer window"))
5991 ((eq (window-dedicated-p) t)
5992 (error "Cannot switch buffers in a dedicated window"))
5993 (t (set-window-buffer nil buffer)))
5994 (unless norecord
5995 (select-window (selected-window)))
5996 (set-buffer buffer))))
5997
5998(defun switch-to-buffer-same-frame (buffer-or-name &optional norecord)
5999 "Switch to buffer BUFFER-OR-NAME in a window on the selected frame.
6000Another frame will be used only if there is no other choice.
6001Arguments BUFFER-OR-NAME and NORECORD have the same meaning as
6002for `switch-to-buffer'.
6003
6004This function is intended for interactive use only. Lisp
6005functions should call `pop-to-buffer-same-frame' instead."
6006 (interactive
6007 (list (read-buffer-to-switch "Switch to buffer in other window: ")))
6008 (let ((buffer (window-normalize-buffer-to-switch-to buffer-or-name)))
6009 (pop-to-buffer buffer 'same-frame norecord)))
6010
6011(defun switch-to-buffer-other-window (buffer-or-name &optional norecord)
6012 "Switch to buffer BUFFER-OR-NAME in another window.
6013The selected window will be used only if there is no other
6014choice. Windows on the selected frame are preferred to windows
6015on other frames. Arguments BUFFER-OR-NAME and NORECORD have the
6016same meaning as for `switch-to-buffer'.
6017
6018This function is intended for interactive use only. Lisp
6019functions should call `pop-to-buffer-other-window' instead."
6020 (interactive
6021 (list (read-buffer-to-switch "Switch to buffer in other window: ")))
6022 (let ((buffer (window-normalize-buffer-to-switch-to buffer-or-name)))
6023 (pop-to-buffer buffer 'other-window norecord)))
6024
6025(defun switch-to-buffer-other-window-same-frame (buffer-or-name &optional norecord)
6026 "Switch to buffer BUFFER-OR-NAME in another window on the selected frame.
6027The selected window or another frame will be used only if there
6028is no other choice. Arguments BUFFER-OR-NAME and NORECORD have
6029the same meaning as for `switch-to-buffer'.
6030
6031This function is intended for interactive use only. Lisp
6032functions should call `pop-to-buffer-other-window-same-frame'
6033instead."
6034 (interactive
6035 (list (read-buffer-to-switch "Switch to buffer in other window: ")))
6036 (let ((buffer (window-normalize-buffer-to-switch-to buffer-or-name)))
6037 (pop-to-buffer buffer 'same-frame-other-window norecord)))
6038
6039(defun switch-to-buffer-other-frame (buffer-or-name &optional norecord)
6040 "Switch to buffer BUFFER-OR-NAME on another frame.
6041The same frame will be used only if there is no other choice.
6042Arguments BUFFER-OR-NAME and NORECORD have the same meaning
6043as for `switch-to-buffer'.
6044
6045This function is intended for interactive use only. Lisp
6046functions should call `pop-to-buffer-other-frame' instead."
6047 (interactive
6048 (list (read-buffer-to-switch "Switch to buffer in other frame: ")))
6049 (let ((buffer (window-normalize-buffer-to-switch-to buffer-or-name)))
6050 (pop-to-buffer buffer 'other-frame norecord)))
6051
6052;;; Obsolete definitions of `display-buffer' below.
6053(defcustom same-window-buffer-names nil
6054 "List of names of buffers that should appear in the \"same\" window.
6055`display-buffer' and `pop-to-buffer' show a buffer whose name is
6056on this list in the selected rather than some other window.
6057 3889
6058An element of this list can be a cons cell instead of just a 3890(defcustom display-buffer-function nil
6059string. In that case, the cell's car must be a string specifying 3891 "If non-nil, function to call to handle `display-buffer'.
6060the buffer name. This is for compatibility with 3892It will receive two args, the buffer and a flag which if non-nil
6061`special-display-buffer-names'; the cdr of the cons cell is 3893means that the currently selected window is not acceptable. It
6062ignored. 3894should choose or create a window, display the specified buffer in
6063 3895it, and return the window.
6064See also `same-window-regexps'." 3896
6065 :type '(repeat (string :format "%v")) 3897The function specified here is responsible for setting the value
6066 :group 'windows) 3898of `display-buffer-window' and the quit-restore parameter of the
6067;; (make-obsolete-variable 3899window used."
6068 ;; 'same-window-buffer-names 3900 :type '(choice
6069 ;; "use 2nd arg of `display-buffer' instead." "24.1") 3901 (const nil)
6070 3902 (function :tag "function"))
6071(defcustom same-window-regexps nil
6072 "List of regexps saying which buffers should appear in the \"same\" window.
6073`display-buffer' and `pop-to-buffer' show a buffer whose name
6074matches a regexp on this list in the selected rather than some
6075other window.
6076
6077An element of this list can be a cons cell instead of just a
6078string. In that case, the cell's car must be a regexp matching
6079the buffer name. This is for compatibility with
6080`special-display-regexps'; the cdr of the cons cell is ignored.
6081
6082See also `same-window-buffer-names'."
6083 :type '(repeat (regexp :format "%v"))
6084 :group 'windows) 3903 :group 'windows)
6085;; (make-obsolete-variable
6086 ;; 'same-window-regexps
6087 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6088
6089(defun same-window-p (buffer-name)
6090 "Return non-nil if a buffer named BUFFER-NAME would be shown in the \"same\" window.
6091This function returns non-nil if `display-buffer' or
6092`pop-to-buffer' would show a buffer named BUFFER-NAME in the
6093selected rather than \(as usual\) some other window. See
6094`same-window-buffer-names' and `same-window-regexps'."
6095 (let ((buffer-names (with-no-warnings same-window-buffer-names))
6096 (regexps (with-no-warnings same-window-regexps)))
6097 (cond
6098 ((not (stringp buffer-name)))
6099 ;; The elements of `same-window-buffer-names' can be buffer
6100 ;; names or cons cells whose cars are buffer names.
6101 ((member buffer-name buffer-names))
6102 ((assoc buffer-name buffer-names))
6103 ((catch 'found
6104 (dolist (regexp regexps)
6105 ;; The elements of `same-window-regexps' can be regexps
6106 ;; or cons cells whose cars are regexps.
6107 (when (or (and (stringp regexp)
6108 (string-match regexp buffer-name))
6109 (and (consp regexp) (stringp (car regexp))
6110 (string-match-p (car regexp) buffer-name)))
6111 (throw 'found t))))))))
6112;; (make-obsolete
6113 ;; 'same-window-p "pass argument to buffer display function instead." "24.1")
6114 3904
6115(defcustom special-display-frame-alist 3905(defcustom pop-up-frame-alist nil
6116 '((height . 14) (width . 80) (unsplittable . t)) 3906 "Alist of parameters for automatically generated new frames.
6117 "Alist of parameters for special frames. 3907You can set this in your init file; for example,
6118Special frames are used for buffers whose names are listed in
6119`special-display-buffer-names' and for buffers whose names match
6120one of the regular expressions in `special-display-regexps'.
6121 3908
6122This variable can be set in your init file, like this: 3909 (setq pop-up-frame-alist '((width . 80) (height . 20)))
6123 3910
6124 (setq special-display-frame-alist '((width . 80) (height . 20))) 3911If non-nil, the value you specify here is used by the default
3912`pop-up-frame-function' for the creation of new frames.
6125 3913
6126These supersede the values given in `default-frame-alist'." 3914Since `pop-up-frame-function' is used by `display-buffer' for
3915making new frames, any value specified here by default affects
3916the automatic generation of new frames via `display-buffer' and
3917all functions based on it. The behavior of `make-frame' is not
3918affected by this variable."
6127 :type '(repeat (cons :format "%v" 3919 :type '(repeat (cons :format "%v"
6128 (symbol :tag "Parameter") 3920 (symbol :tag "Parameter")
6129 (sexp :tag "Value"))) 3921 (sexp :tag "Value")))
6130 :group 'frames) 3922 :group 'frames)
6131;; (make-obsolete-variable
6132 ;; 'special-display-frame-alist
6133 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6134 3923
6135(defun special-display-popup-frame (buffer &optional args) 3924(defcustom pop-up-frame-function
6136 "Display BUFFER in a special frame and return the window chosen. 3925 (lambda () (make-frame pop-up-frame-alist))
6137If BUFFER is already displayed in a visible or iconified frame, 3926 "Function used by `display-buffer' for creating a new frame.
6138raise that frame. Otherwise, display BUFFER in a way as 3927This function is called with no arguments and should return a new
6139specified by optional argument ARGS. 3928frame. The default value calls `make-frame' with the argument
6140 3929`pop-up-frame-alist'."
6141If ARGS is an alist, use it as a list of frame parameters. If
6142these parameters contain \(same-window . t), display BUFFER in
6143the selected window. If they contain \(same-frame . t), display
6144BUFFER in a window on the selected frame.
6145
6146If ARGS is a list whose car is a symbol, use (car ARGS) as a
6147function to do the work. Pass it BUFFER as first argument,
6148and (cdr ARGS) as the rest of the arguments."
6149 (if (and args (symbolp (car args)))
6150 (apply (car args) buffer (cdr args))
6151 (let ((window (get-buffer-window buffer 0)))
6152 (or
6153 ;; If we have a window already, make it visible.
6154 (when window
6155 (let ((frame (window-frame window)))
6156 (make-frame-visible frame)
6157 (raise-frame frame)
6158 window))
6159 ;; Reuse the current window if the user requested it.
6160 (when (cdr (assq 'same-window args))
6161 (display-buffer-reuse-window
6162 buffer '(same nil nil) '((reuse-dedicated . weak))))
6163 ;; Stay on the same frame if requested.
6164 (when (or (cdr (assq 'same-frame args))
6165 (cdr (assq 'same-window args)))
6166 (or (display-buffer-pop-up-window
6167 buffer '((largest . nil) (lru . nil)))
6168 (display-buffer-reuse-window
6169 buffer '(nil nil nil))))
6170 ;; If no window yet, make one in a new frame.
6171 (let ((frame
6172 (with-current-buffer buffer
6173 (make-frame
6174 (append args (with-no-warnings
6175 special-display-frame-alist))))))
6176 (set-window-buffer (frame-selected-window frame) buffer)
6177 (set-window-dedicated-p (frame-selected-window frame) t)
6178 (frame-selected-window frame))))))
6179;; (make-obsolete
6180 ;; 'special-display-popup-frame
6181 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6182
6183(defcustom special-display-function 'special-display-popup-frame
6184 "Function to call for displaying special buffers.
6185This function is called with two arguments - the buffer and,
6186optionally, a list - and should return a window displaying that
6187buffer. The default value usually makes a separate frame for the
6188buffer using `special-display-frame-alist' to specify the frame
6189parameters. See the definition of `special-display-popup-frame'
6190for how to specify such a function.
6191
6192A buffer is special when its name is either listed in
6193`special-display-buffer-names' or matches a regexp in
6194`special-display-regexps'."
6195 :type 'function 3930 :type 'function
6196 :group 'windows
6197 :group 'frames) 3931 :group 'frames)
6198;; (make-obsolete-variable
6199 ;; 'special-display-function
6200 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6201 3932
6202(defcustom special-display-buffer-names nil 3933(defcustom special-display-buffer-names nil
6203 "List of names of buffers that should be displayed specially. 3934 "List of names of buffers that should be displayed specially.
@@ -6234,6 +3965,9 @@ named BUFFER-NAME as first argument, and OTHER-ARGS as the
6234second. If `special-display-function' specifies some other 3965second. If `special-display-function' specifies some other
6235function, that function is called with the buffer named 3966function, that function is called with the buffer named
6236BUFFER-NAME as first, and the element's cdr as second argument. 3967BUFFER-NAME as first, and the element's cdr as second argument.
3968In any case, that function is responsible for setting the value
3969of `display-buffer-window' and the quit-restore parameter of the
3970window used.
6237 3971
6238If this variable appears \"not to work\", because you added a 3972If this variable appears \"not to work\", because you added a
6239name to it but the corresponding buffer is displayed in the 3973name to it but the corresponding buffer is displayed in the
@@ -6262,9 +3996,6 @@ See also `special-display-regexps'."
6262 (repeat :tag "Arguments" (sexp))))) 3996 (repeat :tag "Arguments" (sexp)))))
6263 :group 'windows 3997 :group 'windows
6264 :group 'frames) 3998 :group 'frames)
6265;; (make-obsolete-variable
6266 ;; 'special-display-buffer-names
6267 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6268 3999
6269;;;###autoload 4000;;;###autoload
6270(put 'special-display-buffer-names 'risky-local-variable t) 4001(put 'special-display-buffer-names 'risky-local-variable t)
@@ -6333,9 +4064,6 @@ See also `special-display-buffer-names'."
6333 (repeat :tag "Arguments" (sexp))))) 4064 (repeat :tag "Arguments" (sexp)))))
6334 :group 'windows 4065 :group 'windows
6335 :group 'frames) 4066 :group 'frames)
6336;; (make-obsolete-variable
6337 ;; 'special-display-regexps
6338 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6339 4067
6340(defun special-display-p (buffer-name) 4068(defun special-display-p (buffer-name)
6341 "Return non-nil if a buffer named BUFFER-NAME gets a special frame. 4069 "Return non-nil if a buffer named BUFFER-NAME gets a special frame.
@@ -6345,17 +4073,15 @@ matching BUFFER-NAME. If `special-display-buffer-names' or
6345`special-display-regexps' contain a list entry whose car equals 4073`special-display-regexps' contain a list entry whose car equals
6346or matches BUFFER-NAME, the return value is the cdr of that 4074or matches BUFFER-NAME, the return value is the cdr of that
6347entry." 4075entry."
6348 (let ((buffer-names (with-no-warnings special-display-buffer-names)) 4076 (let (tmp)
6349 (regexps (with-no-warnings special-display-regexps))
6350 tmp)
6351 (cond 4077 (cond
6352 ((not (stringp buffer-name))) 4078 ((not (stringp buffer-name)))
6353 ((member buffer-name buffer-names) 4079 ((member buffer-name special-display-buffer-names)
6354 t) 4080 t)
6355 ((setq tmp (assoc buffer-name buffer-names)) 4081 ((setq tmp (assoc buffer-name special-display-buffer-names))
6356 (cdr tmp)) 4082 (cdr tmp))
6357 ((catch 'found 4083 ((catch 'found
6358 (dolist (regexp regexps) 4084 (dolist (regexp special-display-regexps)
6359 (cond 4085 (cond
6360 ((stringp regexp) 4086 ((stringp regexp)
6361 (when (string-match-p regexp buffer-name) 4087 (when (string-match-p regexp buffer-name)
@@ -6363,43 +4089,142 @@ entry."
6363 ((and (consp regexp) (stringp (car regexp)) 4089 ((and (consp regexp) (stringp (car regexp))
6364 (string-match-p (car regexp) buffer-name)) 4090 (string-match-p (car regexp) buffer-name))
6365 (throw 'found (cdr regexp)))))))))) 4091 (throw 'found (cdr regexp))))))))))
6366;; (make-obsolete
6367 ;; 'special-display-p
6368 ;; "pass argument to buffer display function instead." "24.1")
6369 4092
6370(defcustom pop-up-frame-alist nil 4093(defcustom special-display-frame-alist
6371 "Alist of parameters for automatically generated new frames. 4094 '((height . 14) (width . 80) (unsplittable . t))
6372You can set this in your init file; for example, 4095 "Alist of parameters for special frames.
4096Special frames are used for buffers whose names are listed in
4097`special-display-buffer-names' and for buffers whose names match
4098one of the regular expressions in `special-display-regexps'.
6373 4099
6374 (setq pop-up-frame-alist '((width . 80) (height . 20))) 4100This variable can be set in your init file, like this:
6375 4101
6376If non-nil, the value you specify here is used by the default 4102 (setq special-display-frame-alist '((width . 80) (height . 20)))
6377`pop-up-frame-function' for the creation of new frames.
6378 4103
6379Since `pop-up-frame-function' is used by `display-buffer' for 4104These supersede the values given in `default-frame-alist'."
6380making new frames, any value specified here by default affects
6381the automatic generation of new frames via `display-buffer' and
6382all functions based on it. The behavior of `make-frame' is not
6383affected by this variable."
6384 :type '(repeat (cons :format "%v" 4105 :type '(repeat (cons :format "%v"
6385 (symbol :tag "Parameter") 4106 (symbol :tag "Parameter")
6386 (sexp :tag "Value"))) 4107 (sexp :tag "Value")))
6387 :group 'frames) 4108 :group 'frames)
6388;; (make-obsolete-variable
6389 ;; 'pop-up-frame-alist
6390 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6391 4109
6392(defcustom pop-up-frame-function 4110(defun special-display-popup-frame (buffer &optional args)
6393 (lambda () (make-frame pop-up-frame-alist)) 4111 "Display BUFFER and return the window chosen.
6394 "Function used by `display-buffer' for creating a new frame. 4112If BUFFER is already displayed in a visible or iconified frame,
6395This function is called with no arguments and should return a new 4113raise that frame. Otherwise, display BUFFER in a new frame.
6396frame. The default value calls `make-frame' with the argument 4114
6397`pop-up-frame-alist'." 4115Optional argument ARGS is a list specifying additional
4116information.
4117
4118If ARGS is an alist, use it as a list of frame parameters. If
4119these parameters contain \(same-window . t), display BUFFER in
4120the selected window. If they contain \(same-frame . t), display
4121BUFFER in a window of the selected frame.
4122
4123If ARGS is a list whose car is a symbol, use (car ARGS) as a
4124function to do the work. Pass it BUFFER as first argument,
4125and (cdr ARGS) as second."
4126 (if (and args (symbolp (car args)))
4127 (apply (car args) buffer (cdr args))
4128 (let ((window (get-buffer-window buffer 0)))
4129 (or
4130 ;; If we have a window already, make it visible.
4131 (when window
4132 (let ((frame (window-frame window)))
4133 (make-frame-visible frame)
4134 (raise-frame frame)
4135 (display-buffer-record-window 'reuse-window window buffer)
4136 window))
4137 ;; Reuse the current window if the user requested it.
4138 (when (cdr (assq 'same-window args))
4139 (condition-case nil
4140 (progn (switch-to-buffer buffer nil t) (selected-window))
4141 (error nil)))
4142 ;; Stay on the same frame if requested.
4143 (when (or (cdr (assq 'same-frame args)) (cdr (assq 'same-window args)))
4144 (let* ((pop-up-windows t)
4145 pop-up-frames
4146 special-display-buffer-names special-display-regexps)
4147 (display-buffer buffer)))
4148 ;; If no window yet, make one in a new frame.
4149 (let ((frame
4150 (with-current-buffer buffer
4151 (make-frame (append args special-display-frame-alist)))))
4152 (display-buffer-record-window
4153 'pop-up-frame (frame-selected-window frame) buffer)
4154 (set-window-buffer (frame-selected-window frame) buffer)
4155 (set-window-dedicated-p (frame-selected-window frame) t)
4156 (frame-selected-window frame))))))
4157
4158(defcustom special-display-function 'special-display-popup-frame
4159 "Function to call for displaying special buffers.
4160This function is called with two arguments - the buffer and,
4161optionally, a list - and should return a window displaying that
4162buffer. The default value usually makes a separate frame for the
4163buffer using `special-display-frame-alist' to specify the frame
4164parameters. See the definition of `special-display-popup-frame'
4165for how to specify such a function.
4166
4167A buffer is special when its name is either listed in
4168`special-display-buffer-names' or matches a regexp in
4169`special-display-regexps'.
4170
4171The function specified here is responsible for setting the value
4172of `display-buffer-window' and the quit-restore parameter of the
4173window used."
6398 :type 'function 4174 :type 'function
6399 :group 'frames) 4175 :group 'frames)
6400;; (make-obsolete-variable 4176
6401 ;; 'pop-up-frame-function 4177(defcustom same-window-buffer-names nil
6402 ;; "use 2nd arg of `display-buffer' instead." "24.1") 4178 "List of names of buffers that should appear in the \"same\" window.
4179`display-buffer' and `pop-to-buffer' show a buffer whose name is
4180on this list in the selected rather than some other window.
4181
4182An element of this list can be a cons cell instead of just a
4183string. In that case, the cell's car must be a string specifying
4184the buffer name. This is for compatibility with
4185`special-display-buffer-names'; the cdr of the cons cell is
4186ignored.
4187
4188See also `same-window-regexps'."
4189 :type '(repeat (string :format "%v"))
4190 :group 'windows)
4191
4192(defcustom same-window-regexps nil
4193 "List of regexps saying which buffers should appear in the \"same\" window.
4194`display-buffer' and `pop-to-buffer' show a buffer whose name
4195matches a regexp on this list in the selected rather than some
4196other window.
4197
4198An element of this list can be a cons cell instead of just a
4199string. In that case, the cell's car must be a regexp matching
4200the buffer name. This is for compatibility with
4201`special-display-regexps'; the cdr of the cons cell is ignored.
4202
4203See also `same-window-buffer-names'."
4204 :type '(repeat (regexp :format "%v"))
4205 :group 'windows)
4206
4207(defun same-window-p (buffer-name)
4208 "Return non-nil if a buffer named BUFFER-NAME would be shown in the \"same\" window.
4209This function returns non-nil if `display-buffer' or
4210`pop-to-buffer' would show a buffer named BUFFER-NAME in the
4211selected rather than \(as usual\) some other window. See
4212`same-window-buffer-names' and `same-window-regexps'."
4213 (cond
4214 ((not (stringp buffer-name)))
4215 ;; The elements of `same-window-buffer-names' can be buffer
4216 ;; names or cons cells whose cars are buffer names.
4217 ((member buffer-name same-window-buffer-names))
4218 ((assoc buffer-name same-window-buffer-names))
4219 ((catch 'found
4220 (dolist (regexp same-window-regexps)
4221 ;; The elements of `same-window-regexps' can be regexps
4222 ;; or cons cells whose cars are regexps.
4223 (when (or (and (stringp regexp)
4224 (string-match regexp buffer-name))
4225 (and (consp regexp) (stringp (car regexp))
4226 (string-match-p (car regexp) buffer-name)))
4227 (throw 'found t)))))))
6403 4228
6404(defcustom pop-up-frames nil 4229(defcustom pop-up-frames nil
6405 "Whether `display-buffer' should make a separate frame. 4230 "Whether `display-buffer' should make a separate frame.
@@ -6411,48 +4236,39 @@ Any other non-nil value means always make a separate frame."
6411 (const :tag "Never" nil) 4236 (const :tag "Never" nil)
6412 (const :tag "On graphic displays only" graphic-only) 4237 (const :tag "On graphic displays only" graphic-only)
6413 (const :tag "Always" t)) 4238 (const :tag "Always" t))
6414 :group 'windows 4239 :group 'windows)
6415 :group 'frames)
6416;; (make-obsolete-variable
6417 ;; 'pop-up-frames
6418 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6419 4240
6420(defcustom display-buffer-reuse-frames nil 4241(defcustom display-buffer-reuse-frames nil
6421 "Set and non-nil means `display-buffer' should reuse frames. 4242 "Non-nil means `display-buffer' should reuse frames.
6422If the buffer in question is already displayed in a frame, raise 4243If the buffer in question is already displayed in a frame, raise
6423that frame." 4244that frame."
6424 :type 'boolean 4245 :type 'boolean
6425 :version "21.1" 4246 :version "21.1"
6426 :group 'windows 4247 :group 'windows)
6427 :group 'frames)
6428;; (make-obsolete-variable
6429 ;; 'display-buffer-reuse-frames
6430 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6431 4248
6432(defcustom pop-up-windows t 4249(defcustom pop-up-windows t
6433 "Non-nil means `display-buffer' should make a new window." 4250 "Non-nil means `display-buffer' should make a new window."
6434 :type 'boolean 4251 :type 'boolean
6435 :group 'windows) 4252 :group 'windows)
6436;; (make-obsolete-variable
6437 ;; 'pop-up-windows
6438 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6439 4253
6440(defcustom split-window-preferred-function 'split-window-sensibly 4254(defcustom split-window-preferred-function 'split-window-sensibly
6441 "Function called by `display-buffer' to split a window. 4255 "Function called by `display-buffer' routines to split a window.
6442This function is called with a window as single argument and is 4256This function is called with a window as single argument and is
6443supposed to split that window and return the new window. If the 4257supposed to split that window and return the new window. If the
6444window can (or shall) not be split, it is supposed to return nil. 4258window can (or shall) not be split, it is supposed to return nil.
6445
6446The default is to call the function `split-window-sensibly' which 4259The default is to call the function `split-window-sensibly' which
6447tries to split the window in a way which seems most suitable. 4260tries to split the window in a way which seems most suitable.
6448You can customize the options `split-height-threshold' and/or 4261You can customize the options `split-height-threshold' and/or
6449`split-width-threshold' in order to have `split-window-sensibly' 4262`split-width-threshold' in order to have `split-window-sensibly'
6450prefer either vertical or horizontal splitting. 4263prefer either vertical or horizontal splitting.
6451 4264
6452If you set this to any other function, bear in mind that 4265If you set this to any other function, bear in mind that the
6453`display-buffer' may call that function repeatedly; the option 4266`display-buffer' routines may call this function two times. The
6454`pop-up-windows' controls which windows may become the argument 4267argument of the first call is the largest window on its frame.
6455of this function. 4268If that call fails to return a live window, the function is
4269called again with the least recently used window as argument. If
4270that call fails too, `display-buffer' will use an existing window
4271to display its buffer.
6456 4272
6457The window selected at the time `display-buffer' was invoked is 4273The window selected at the time `display-buffer' was invoked is
6458still selected when this function is called. Hence you can 4274still selected when this function is called. Hence you can
@@ -6462,54 +4278,28 @@ not want to split the selected window."
6462 :type 'function 4278 :type 'function
6463 :version "23.1" 4279 :version "23.1"
6464 :group 'windows) 4280 :group 'windows)
6465;; (make-obsolete-variable
6466 ;; 'split-window-preferred-function
6467 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6468 4281
6469(defcustom split-height-threshold 80 4282(defcustom split-height-threshold 80
6470 "Minimum height for splitting a window to display a buffer. 4283 "Minimum height for splitting windows sensibly.
6471If this is an integer, `display-buffer' can split a window 4284If this is an integer, `split-window-sensibly' may split a window
6472vertically only if it has at least this many lines. If this is 4285vertically only if it has at least this many lines. If this is
6473nil, `display-buffer' does not split windows vertically. If a 4286nil, `split-window-sensibly' is not allowed to split a window
6474window is the only window on its frame, `display-buffer' may 4287vertically. If, however, a window is the only window on its
6475split it vertically disregarding the value of this variable." 4288frame, `split-window-sensibly' may split it vertically
4289disregarding the value of this variable."
6476 :type '(choice (const nil) (integer :tag "lines")) 4290 :type '(choice (const nil) (integer :tag "lines"))
6477 :version "23.1" 4291 :version "23.1"
6478 :group 'windows) 4292 :group 'windows)
6479;; (make-obsolete-variable
6480 ;; 'split-height-threshold
6481 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6482 4293
6483(defcustom split-width-threshold 160 4294(defcustom split-width-threshold 160
6484 "Minimum width for splitting a window to display a buffer. 4295 "Minimum width for splitting windows sensibly.
6485If this is an integer, `display-buffer' can split a window 4296If this is an integer, `split-window-sensibly' may split a window
6486horizontally only if it has at least this many columns. If this 4297horizontally only if it has at least this many columns. If this
6487is nil, `display-buffer' cannot split windows horizontally." 4298is nil, `split-window-sensibly' is not allowed to split a window
4299horizontally."
6488 :type '(choice (const nil) (integer :tag "columns")) 4300 :type '(choice (const nil) (integer :tag "columns"))
6489 :version "23.1" 4301 :version "23.1"
6490 :group 'windows) 4302 :group 'windows)
6491;; (make-obsolete-variable
6492 ;; 'split-width-threshold
6493 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6494
6495(defcustom even-window-heights t
6496 "If non-nil `display-buffer' will try to even window heights.
6497Otherwise `display-buffer' will leave the window configuration
6498alone. Heights are evened only when `display-buffer' chooses a
6499window that appears above or below the selected window."
6500 :type 'boolean
6501 :group 'windows)
6502;; (make-obsolete-variable
6503 ;; 'even-window-heights
6504 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6505
6506(defvar display-buffer-mark-dedicated nil
6507 "Non-nil means `display-buffer' marks the windows it creates as dedicated.
6508The actual non-nil value of this variable will be copied to the
6509`window-dedicated-p' flag.")
6510;; (make-obsolete-variable
6511 ;; 'display-buffer-mark-dedicated
6512 ;; "use 2nd arg of `display-buffer' instead." "24.1")
6513 4303
6514(defun window-splittable-p (window &optional horizontal) 4304(defun window-splittable-p (window &optional horizontal)
6515 "Return non-nil if `split-window-sensibly' may split WINDOW. 4305 "Return non-nil if `split-window-sensibly' may split WINDOW.
@@ -6560,8 +4350,6 @@ hold:
6560 (max split-height-threshold 4350 (max split-height-threshold
6561 (* 2 (max window-min-height 4351 (* 2 (max window-min-height
6562 (if mode-line-format 2 1)))))))))) 4352 (if mode-line-format 2 1))))))))))
6563;; (make-obsolete
6564 ;; 'window-splittable-p "use 2nd arg of `display-buffer' instead." "24.1")
6565 4353
6566(defun split-window-sensibly (window) 4354(defun split-window-sensibly (window)
6567 "Split WINDOW in a way suitable for `display-buffer'. 4355 "Split WINDOW in a way suitable for `display-buffer'.
@@ -6594,11 +4382,11 @@ more likely to occur.
6594Have a look at the function `window-splittable-p' if you want to 4382Have a look at the function `window-splittable-p' if you want to
6595know how `split-window-sensibly' determines whether WINDOW can be 4383know how `split-window-sensibly' determines whether WINDOW can be
6596split." 4384split."
6597 (or (and (with-no-warnings (window-splittable-p window)) 4385 (or (and (window-splittable-p window)
6598 ;; Split window vertically. 4386 ;; Split window vertically.
6599 (with-selected-window window 4387 (with-selected-window window
6600 (split-window-vertically))) 4388 (split-window-vertically)))
6601 (and (with-no-warnings (window-splittable-p window t)) 4389 (and (window-splittable-p window t)
6602 ;; Split window horizontally. 4390 ;; Split window horizontally.
6603 (with-selected-window window 4391 (with-selected-window window
6604 (split-window-horizontally))) 4392 (split-window-horizontally)))
@@ -6608,238 +4396,633 @@ split."
6608 ;; minibuffer window, try to split it vertically disregarding 4396 ;; minibuffer window, try to split it vertically disregarding
6609 ;; the value of `split-height-threshold'. 4397 ;; the value of `split-height-threshold'.
6610 (let ((split-height-threshold 0)) 4398 (let ((split-height-threshold 0))
6611 (when (with-no-warnings (window-splittable-p window)) 4399 (when (window-splittable-p window)
6612 (with-selected-window window 4400 (with-selected-window window
6613 (split-window-vertically))))))) 4401 (split-window-vertically)))))))
6614;; (make-obsolete 4402
6615 ;; 'split-window-sensibly "use 2nd arg of `display-buffer' instead." "24.1") 4403(defun window--try-to-split-window (window)
6616 4404 "Try to split WINDOW.
6617;; Functions for converting Emacs 23 buffer display options to buffer 4405Return value returned by `split-window-preferred-function' if it
6618;; display specifiers. 4406represents a live window, nil otherwise."
6619(defun display-buffer-alist-of-strings-p (list) 4407 (and (window-live-p window)
6620 "Return t if LIST is a non-empty list of strings." 4408 (not (frame-parameter (window-frame window) 'unsplittable))
6621 (when list 4409 (let ((new-window
6622 (catch 'failed 4410 ;; Since `split-window-preferred-function' might
6623 (dolist (item list) 4411 ;; throw an error use `condition-case'.
6624 (unless (stringp item) 4412 (condition-case nil
6625 (throw 'failed nil))) 4413 (funcall split-window-preferred-function window)
6626 t))) 4414 (error nil))))
6627 4415 (and (window-live-p new-window) new-window))))
6628(defun display-buffer-alist-add (identifiers specifiers &optional no-custom) 4416
6629 "Helper function for `display-buffer-alist-set'." 4417(defun window--frame-usable-p (frame)
6630 (unless identifiers 4418 "Return FRAME if it can be used to display a buffer."
6631 (setq identifiers '((regexp . ".*")))) 4419 (when (frame-live-p frame)
6632 (unless (atom specifiers) 4420 (let ((window (frame-root-window frame)))
6633 (setq specifiers (delq nil specifiers))) 4421 ;; `frame-root-window' may be an internal window which is considered
6634 4422 ;; "dead" by `window-live-p'. Hence if `window' is not live we
6635 (if no-custom 4423 ;; implicitly know that `frame' has a visible window we can use.
6636 (setq display-buffer-alist 4424 (unless (and (window-live-p window)
6637 (cons (cons identifiers specifiers) display-buffer-alist)) 4425 (or (window-minibuffer-p window)
6638 (customize-set-variable 4426 ;; If the window is soft-dedicated, the frame is usable.
6639 'display-buffer-alist 4427 ;; Actually, even if the window is really dedicated,
6640 (cons (cons identifiers specifiers) display-buffer-alist)))) 4428 ;; the frame is still usable by splitting it.
6641 4429 ;; At least Emacs-22 allowed it, and it is desirable
6642(defun display-buffer-alist-set-1 () 4430 ;; when displaying same-frame windows.
6643 "Helper function for `display-buffer-alist-set'." 4431 nil ; (eq t (window-dedicated-p window))
6644 (progn ;; with-no-warnings 4432 ))
6645 (append 4433 frame))))
6646 '(reuse-window (reuse-window nil same 0)) 4434
6647 `(pop-up-frame (pop-up-frame t) 4435(defcustom even-window-heights t
6648 ,(append '(pop-up-frame-alist) 4436 "If non-nil `display-buffer' will try to even window heights.
6649 special-display-frame-alist)) 4437Otherwise `display-buffer' will leave the window configuration
6650 '((dedicate . weak))))) 4438alone. Heights are evened only when `display-buffer' chooses a
6651 4439window that appears above or below the selected window."
6652(defun display-buffer-alist-set-2 (args) 4440 :type 'boolean
6653 "Helper function for `display-buffer-alist-set'." 4441 :group 'windows)
6654 (progn ;; with-no-warnings 4442
6655 (if (and (listp args) (symbolp (car args))) 4443(defun window--even-window-heights (window)
6656 `(function (function ,(car args) ,(cdr args))) 4444 "Even heights of WINDOW and selected window.
6657 (append 4445Do this only if these windows are vertically adjacent to each
6658 '(reuse-window (reuse-window nil same 0)) 4446other, `even-window-heights' is non-nil, and the selected window
6659 (when (and (listp args) (cdr (assq 'same-window args))) 4447is higher than WINDOW."
6660 '(reuse-window 4448 (when (and even-window-heights
6661 (reuse-window same nil nil) (reuse-window-dedicated . weak))) 4449 (not (eq window (selected-window)))
6662 (when (and (listp args) 4450 ;; Don't resize minibuffer windows.
6663 (or (cdr (assq 'same-frame args)) 4451 (not (window-minibuffer-p (selected-window)))
6664 (cdr (assq 'same-window args)))) 4452 (> (window-height (selected-window)) (window-height window))
6665 '(pop-up-window (pop-up-window (largest . nil) (lru . nil)))) 4453 (eq (window-frame window) (window-frame (selected-window)))
6666 (when (and (listp args) 4454 (let ((sel-edges (window-edges (selected-window)))
6667 (or (cdr (assq 'same-frame args)) 4455 (win-edges (window-edges window)))
6668 (cdr (assq 'same-window args)))) 4456 (and (= (nth 0 sel-edges) (nth 0 win-edges))
6669 '(reuse-window (reuse-window nil nil nil))) 4457 (= (nth 2 sel-edges) (nth 2 win-edges))
6670 `(pop-up-frame (pop-up-frame t) 4458 (or (= (nth 1 sel-edges) (nth 3 win-edges))
6671 ,(append '(pop-up-frame-alist) 4459 (= (nth 3 sel-edges) (nth 1 win-edges))))))
6672 (when (listp args) args) 4460 (let ((window-min-height 1))
6673 special-display-frame-alist)) 4461 ;; Don't throw an error if we can't even window heights for
6674 '((dedicate . weak)))))) 4462 ;; whatever reason.
6675 4463 (condition-case nil
6676(defun display-buffer-alist-set (&optional no-custom add) 4464 (enlarge-window (/ (- (window-height window) (window-height)) 2))
6677 "Set `display-buffer-alist' from Emacs 23 buffer display options. 4465 (error nil)))))
6678Optional argument NO-CUSTOM nil means use `customize-set-variable' 4466
6679to set the value of `display-buffer-alist'. NO-CUSTOM non-nil 4467(defun window--display-buffer-1 (window)
6680means to use `setq' instead. 4468 "Raise the frame containing WINDOW.
6681 4469Do not raise the selected frame. Return WINDOW."
6682Optional argument ADD nil means to replace the actual value of 4470 (let* ((frame (window-frame window))
6683`display-buffer-alist' with the value calculated here. ADD 4471 (visible (frame-visible-p frame)))
6684non-nil means prepend the value calculated here to the current 4472 (unless (or (not visible)
6685value of `display-buffer-alist'. Return `display-buffer-alist'." 4473 ;; Assume the selected frame is already visible enough.
6686 (unless add 4474 (eq frame (selected-frame))
6687 (if no-custom 4475 ;; Assume the frame from which we invoked the minibuffer
6688 (setq display-buffer-alist nil) 4476 ;; is visible.
6689 (customize-set-variable 'display-buffer-alist nil))) 4477 (and (minibuffer-window-active-p (selected-window))
6690 4478 (eq frame (window-frame (minibuffer-selected-window)))))
6691 ;; Disable warnings, there are too many obsolete options here. 4479 (raise-frame frame))
6692 (progn ;; with-no-warnings 4480 window))
6693 `other-window-means-other-frame' 4481
6694 (when pop-up-frames 4482(defun window--display-buffer-2 (buffer window &optional dedicated)
6695 (display-buffer-alist-add 4483 "Display BUFFER in WINDOW and make its frame visible.
6696 nil '(pop-up-frame 4484Set `window-dedicated-p' to DEDICATED if non-nil.
6697 (other-window-means-other-frame . t)) no-custom)) 4485Return WINDOW."
6698 4486 (when (and (buffer-live-p buffer) (window-live-p window))
6699 ;; `reuse-window-even-sizes' 4487 (set-window-buffer window buffer)
6700 (when even-window-heights 4488 (when dedicated
6701 (display-buffer-alist-add 4489 (set-window-dedicated-p window dedicated))
6702 nil '(reuse-window (reuse-window-even-sizes . t)) no-custom)) 4490 (window--display-buffer-1 window)))
6703 4491
6704 ;; `dedicate' 4492(defvar display-buffer-mark-dedicated nil
6705 (when display-buffer-mark-dedicated 4493 "If non-nil, `display-buffer' marks the windows it creates as dedicated.
6706 (display-buffer-alist-add 4494The actual non-nil value of this variable will be copied to the
6707 nil '(dedicate (display-buffer-mark-dedicated . t)) no-custom)) 4495`window-dedicated-p' flag.")
6708 4496
6709 ;; `pop-up-window' group 4497(defun window-normalize-buffer-to-display (buffer-or-name)
6710 (let ((fun (unless (eq split-window-preferred-function 4498 "Normalize BUFFER-OR-NAME argument for buffer display functions.
6711 'split-window-sensibly) 4499If BUFFER-OR-NAME is nil, return the curent buffer. Else, if a
6712 split-window-preferred-function)) 4500buffer specified by BUFFER-OR-NAME exists, return that buffer.
6713 (min-height 4501If no such buffer exists, create a buffer with the name
6714 (if (numberp split-height-threshold) 4502BUFFER-OR-NAME and return that buffer."
6715 (/ split-height-threshold 2) 4503 (if buffer-or-name
6716 1.0)) 4504 (or (get-buffer buffer-or-name)
6717 (min-width 4505 (let ((buffer (get-buffer-create buffer-or-name)))
6718 (if (numberp split-width-threshold) 4506 (set-buffer-major-mode buffer)
6719 (/ split-width-threshold 2) 4507 buffer))
6720 1.0))) 4508 (current-buffer)))
6721 (display-buffer-alist-add 4509
6722 nil 4510(defvar display-buffer-alist nil
6723 (list 4511 "Alist of conditional actions for `display-buffer'.
6724 'pop-up-window 4512This is a list of elements (CONDITION . ACTION), where:
6725 ;; `pop-up-window' 4513
6726 (when pop-up-windows 4514 CONDITION is either a regexp matching buffer names, or a function
6727 (list 'pop-up-window (cons 'largest fun) (cons 'lru fun))) 4515 that takes a buffer and returns a boolean.
6728 ;; `pop-up-window-min-height' 4516
6729 (cons 'pop-up-window-min-height min-height) 4517 ACTION is a cons cell (FUNCTION . ALIST), where FUNCTION is
6730 ;; `pop-up-window-min-width' 4518 either a function or a list of functions. Each such function
6731 (cons 'pop-up-window-min-width min-width)) 4519 should accept 2 arguments: a buffer to display and an alist of
6732 no-custom)) 4520 the same form as ALIST. It should return the window used, or
6733 4521 nil if it fails to display the window. See `display-buffer'
6734 ;; `pop-up-frame' group 4522 for more details.
6735 (when (or pop-up-frames 4523
6736 (not (equal pop-up-frame-function 4524Usable action functions include:
6737 '(lambda nil 4525 `display-buffer-reuse-selected-window'
6738 (make-frame pop-up-frame-alist)))) 4526 `display-buffer-same-window'
6739 pop-up-frame-alist) 4527 `display-buffer-maybe-same-window'
6740 (display-buffer-alist-add 4528 `display-buffer-reuse-window'
6741 nil 4529 `display-buffer-pop-up-frame'
6742 (list 4530 `display-buffer-pop-up-window'
6743 'pop-up-frame 4531 `display-buffer-reuse-or-pop-window'
6744 (when pop-up-frames 4532 `display-buffer-use-some-window'
6745 ;; `pop-up-frame' 4533
6746 (list 'pop-up-frame 4534The above functions recognize the following alist entries:
6747 (when (eq pop-up-frames 'graphic-only) 4535 - `inhibit-same-window', if non-nil, prevents the same window
6748 t))) 4536 from being used for display.
6749 (unless (equal pop-up-frame-function 4537 - `reuse-frame' specifies the frames that can be searched for a
6750 '(lambda nil 4538 window displaying the buffer. Its values have the same
6751 (make-frame pop-up-frame-alist))) 4539 meaning as the ALL-FRAMES arg to `get-buffer-window-list'.")
6752 ;; `pop-up-frame-function' 4540
6753 (cons 'pop-up-frame-function pop-up-frame-function)) 4541(defvar display-buffer-default-action
6754 (when pop-up-frame-alist 4542 '((display-buffer-reuse-selected-window
6755 ;; `pop-up-frame-alist' 4543 display-buffer-maybe-same-window
6756 (cons 'pop-up-frame-alist pop-up-frame-alist))) 4544 display-buffer-reuse-or-pop-window
6757 no-custom)) 4545 display-buffer-use-some-window
6758 4546 ;; If all else fails, pop up a new frame regardless of
6759 ;; `special-display-regexps' 4547 ;; restrictions.
6760 (if (display-buffer-alist-of-strings-p special-display-regexps) 4548 display-buffer-pop-up-frame))
6761 ;; Handle case where `special-display-regexps' is a plain list 4549 "List of default actions for `display-buffer'.
6762 ;; of strings specially. 4550It should be a cons cell of the form (FUNCTION . ALIST), which
6763 (let (list) 4551has the same meaning as in `display-buffer-alist'.")
6764 (dolist (regexp special-display-regexps) 4552
6765 (setq list (cons (cons 'regexp regexp) list))) 4553(defvar display-buffer-overriding-action nil
6766 (setq list (nreverse list)) 4554 "Overriding action to perform to display a buffer.
6767 (display-buffer-alist-add 4555If non-nil, it should be a cons cell (FUNCTION . ALIST), which
6768 list (display-buffer-alist-set-1) no-custom)) 4556has the same meaning as in `display-buffer-alist'.")
6769 ;; Else iterate over the entries. 4557
6770 (dolist (item special-display-regexps) 4558(defun display-buffer-assq-regexp (buffer-name alist)
6771 (if (stringp item) 4559 "Retrieve ALIST entry corresponding to BUFFER-NAME."
6772 (display-buffer-alist-add 4560 (catch 'match
6773 `((regexp . ,item)) (display-buffer-alist-set-1) 4561 (dolist (entry alist)
6774 no-custom) 4562 (let ((key (car entry))
6775 (display-buffer-alist-add 4563 (value (cdr entry)))
6776 `((regexp . ,(car item))) 4564 (when (or (and (stringp key)
6777 (display-buffer-alist-set-2 (cdr item)) 4565 (string-match-p key buffer-name))
6778 no-custom)))) 4566 (and (symbolp key) (functionp key)
6779 4567 (funcall key buffer-name alist)))
6780 ;; `special-display-buffer-names' 4568 (throw 'match (cdr entry)))))))
6781 (if (display-buffer-alist-of-strings-p special-display-buffer-names) 4569
6782 ;; Handle case where `special-display-buffer-names' is a plain 4570(defun display-buffer (&optional buffer-or-name action frame)
6783 ;; list of strings specially. 4571 "Display BUFFER-OR-NAME in some window.
6784 (let (list) 4572BUFFER-OR-NAME must be a buffer or the name of an existing
6785 (dolist (name special-display-buffer-names) 4573buffer. Return the window chosen for displaying BUFFER-OR-NAME,
6786 (setq list (cons (cons 'name name) list))) 4574or nil if no such window is found.
6787 (setq list (nreverse list)) 4575
6788 (display-buffer-alist-add 4576Optional argument ACTION should have the form (FUNCTION . ALIST).
6789 list (display-buffer-alist-set-1) no-custom)) 4577FUNCTION is either a function or a list of functions. Each such
6790 ;; Else iterate over the entries. 4578function is called with 2 arguments: the buffer to display and an
6791 (dolist (item special-display-buffer-names) 4579alist. It should either display the buffer and return the
6792 (if (stringp item) 4580window, or return nil if it is unable to display the buffer.
6793 (display-buffer-alist-add 4581
6794 `((name . ,item)) (display-buffer-alist-set-1) 4582`display-buffer' constructs a list of action functions and an
6795 no-custom) 4583action alist by combining `display-buffer-overriding-action',
6796 (display-buffer-alist-add 4584`display-buffer-alist', the ACTION argument, and
6797 `((name . ,(car item))) 4585`display-buffer-default-action' (in that order). It calls each
6798 (display-buffer-alist-set-2 (cdr item)) 4586action function in turn, passing the combined action alist as the
6799 no-custom)))) 4587second argument, until one of the functions returns non-nil.
6800 4588
6801 ;; `same-window-regexps' 4589The ACTION argument to `display-buffer' can also have a non-nil
6802 (if (display-buffer-alist-of-strings-p same-window-regexps) 4590and non-list value. This means to display the buffer in a window
6803 ;; Handle case where `same-window-regexps' is a plain list of 4591other than the selected one, even if it is already displayed in
6804 ;; strings specially. 4592the selected window. If called interactively with a prefix
6805 (let (list) 4593argument, ACTION is t.
6806 (dolist (regexp same-window-regexps) 4594
6807 (setq list (cons (cons 'regexp regexp) list))) 4595Optional argument FRAME specifies where to look for a window that
6808 (setq list (nreverse list)) 4596already displays the buffer. If nil, check only the selected
6809 (display-buffer-alist-add 4597frame (actually the last non-minibuffer frame), except if
6810 list '(reuse-window (reuse-window same nil nil)) no-custom)) 4598`display-buffer-reuse-frames' or `pop-up-frames' is non-nil
6811 (dolist (entry same-window-regexps) 4599\(non-nil and not graphic-only on a text-only terminal), in which
6812 (display-buffer-alist-add 4600case check all visible or iconified frames. Otherwise, FRAME can
6813 `((regexp . ,(if (stringp entry) entry (car entry)))) 4601be a specific frame, `visible' (all visible frames), 0 (all
6814 '(reuse-window (reuse-window same nil nil)) no-custom))) 4602frames on the current terminal), or t (all frames)."
6815 4603 (interactive (list (read-buffer "Display buffer: " (other-buffer))
6816 ;; `same-window-buffer-names' 4604 (if current-prefix-arg t)))
6817 (if (display-buffer-alist-of-strings-p same-window-buffer-names) 4605 (let ((buffer (window-normalize-buffer-to-display buffer-or-name))
6818 ;; Handle case where `same-window-buffer-names' is a plain list 4606 ;; Handle the old form of the first argument.
6819 ;; of strings specially. 4607 (inhibit-same-window (and action (not (listp action)))))
6820 (let (list) 4608 (unless (listp action) (setq action nil))
6821 (dolist (name same-window-buffer-names) 4609 (if display-buffer-function
6822 (setq list (cons (cons 'name name) list))) 4610 ;; If `display-buffer-function' is defined, let it do the job.
6823 (setq list (nreverse list)) 4611 (funcall display-buffer-function buffer inhibit-same-window)
6824 (display-buffer-alist-add 4612 ;; Otherwise, use the defined actions.
6825 list '(reuse-window (reuse-window same nil nil)) no-custom)) 4613 (let* ((user-action
6826 (dolist (entry same-window-buffer-names) 4614 (display-buffer-assq-regexp (buffer-name buffer)
6827 (display-buffer-alist-add 4615 display-buffer-alist))
6828 `((name . ,(if (stringp entry) entry (car entry)))) 4616 ;; Extra actions from the arguments to this function:
6829 '(reuse-window (reuse-window same nil nil)) no-custom))) 4617 (extra-action
6830 4618 (cons nil (append (if inhibit-same-window
6831 ;; `reuse-window' 4619 '((inhibit-same-window . t)))
6832 (display-buffer-alist-add 4620 (if frame
6833 nil `(reuse-window 4621 `((reuse-frame . ,frame))))))
6834 (reuse-window 4622 ;; Construct action function list and action alist.
6835 nil same 4623 (actions (list display-buffer-overriding-action
6836 ,(when (or display-buffer-reuse-frames pop-up-frames) 4624 user-action action extra-action
6837 ;; "0" (all visible and iconified frames) is 4625 display-buffer-default-action))
6838 ;; hardcoded in Emacs 23. 4626 (functions (apply 'append
6839 0))) 4627 (mapcar (lambda (x)
6840 no-custom) 4628 (setq x (car x))
6841 4629 (if (functionp x) (list x) x))
6842 display-buffer-alist)) 4630 actions)))
4631 (alist (apply 'append (mapcar 'cdr actions)))
4632 window)
4633 (unless (buffer-live-p buffer)
4634 (error "Invalid buffer"))
4635 (while (and functions (not window))
4636 (setq window (funcall (car functions) buffer alist)
4637 functions (cdr functions)))
4638 window))))
4639
4640(defun display-buffer-other-frame (buffer)
4641 "Display buffer BUFFER in another frame.
4642This uses the function `display-buffer' as a subroutine; see
4643its documentation for additional customization information."
4644 (interactive "BDisplay buffer in other frame: ")
4645 (let ((pop-up-frames t)
4646 same-window-buffer-names same-window-regexps
4647 ;;(old-window (selected-window))
4648 new-window)
4649 (setq new-window (display-buffer buffer t))
4650 ;; This may have been here in order to prevent the new frame from hiding
4651 ;; the old frame. But it does more harm than good.
4652 ;; Maybe we should call `raise-window' on the old-frame instead? --Stef
4653 ;;(lower-frame (window-frame new-window))
4654
4655 ;; This may have been here in order to make sure the old-frame gets the
4656 ;; focus. But not only can it cause an annoying flicker, with some
4657 ;; window-managers it just makes the window invisible, with no easy
4658 ;; way to recover it. --Stef
4659 ;;(make-frame-invisible (window-frame old-window))
4660 ;;(make-frame-visible (window-frame old-window))
4661 ))
4662
4663;;; `display-buffer' action functions:
4664
4665(defun display-buffer-reuse-selected-window (buffer alist)
4666 "Try to display BUFFER in the selected window if it is already there.
4667If this succeeds, return the selected window.
4668
4669This fails if BUFFER is not displayed in the selected window, or
4670if ALIST has a non-nil `inhibit-same-window' entry. In that
4671case, return nil."
4672 (when (and (not (cdr (assq 'inhibit-same-window alist)))
4673 (eq buffer (window-buffer)))
4674 (display-buffer-record-window 'reuse-window (selected-window) buffer)
4675 (window--display-buffer-1 (selected-window))))
4676
4677(defun display-buffer-same-window (buffer alist)
4678 "Try to display BUFFER in the selected window.
4679If this succeeds, return the selected window.
4680
4681This fails if the selected window is a minibuffer window or is
4682dedicated to another buffer, or if ALIST has a non-nil
4683`inhibit-same-window' entry. In that case, return nil."
4684 (unless (or (cdr (assq 'inhibit-same-window alist))
4685 (window-minibuffer-p)
4686 (window-dedicated-p))
4687 (display-buffer-record-window 'reuse-window (selected-window) buffer)
4688 (window--display-buffer-2 buffer (selected-window))))
4689
4690(defun display-buffer-maybe-same-window (buffer alist)
4691 "Try to display BUFFER in the selected window.
4692This acts like `display-buffer-same-window', except that it also
4693fails if `same-window-p' returns nil for this buffer."
4694 (and (same-window-p (buffer-name buffer))
4695 (display-buffer-same-window buffer alist)))
4696
4697(defun display-buffer-reuse-window (buffer alist)
4698 "Return a window that is already displaying BUFFER.
4699If no usable window is found, return nil.
4700
4701If ALIST has a non-nil `inhibit-same-window' entry, the same
4702window cannot be reused.
4703
4704If ALIST contains a `reuse-frame' entry, that determines the
4705frames to check for a window displaying the buffer. If the entry
4706is omitted or the value is nil, check only this frame. The value
4707can also be a specific frame, `visible' (all visible frames),
47080 (all frames on the current terminal), or t (all frames)."
4709 (let* ((can-use-selected-window
4710 (not (cdr (assq 'inhibit-same-window alist))))
4711 (frames (or (cdr (assq 'reuse-frame alist))
4712 (last-nonminibuffer-frame)))
4713 (window (catch 'found
4714 (dolist (window (get-buffer-window-list
4715 buffer 'nomini frames))
4716 (when (or can-use-selected-window
4717 (not (eq (selected-window) window)))
4718 (throw 'found window))))))
4719 (when window
4720 (display-buffer-record-window 'reuse-window window buffer)
4721 (window--display-buffer-1 window))))
4722
4723(defun display-buffer-pop-up-frame (buffer alist)
4724 "Display BUFFER in a new frame.
4725This works by calling `pop-up-frame-function'. If sucessful,
4726return the window on the new frame; otherwise return nil."
4727 (let ((fun pop-up-frame-function)
4728 frame window)
4729 (when (and fun
4730 (setq frame (funcall fun))
4731 (setq window (frame-selected-window frame)))
4732 (display-buffer-record-window 'pop-up-frame window buffer)
4733 (window--display-buffer-2 buffer window)
4734 ;; Reset list of WINDOW's previous buffers to nil.
4735 (set-window-prev-buffers window nil)
4736 window)))
4737
4738(defun display-buffer-pop-up-window (buffer alist)
4739 "Display BUFFER by popping up a new window.
4740The new window is created on the selected frame, or in
4741`last-nonminibuffer-frame' if no windows can be created there.
4742If sucessful, return the new window; otherwise return nil."
4743 (let ((frame (or (window--frame-usable-p (selected-frame))
4744 (window--frame-usable-p (last-nonminibuffer-frame))))
4745 window)
4746 (when (and (or (not (frame-parameter frame 'unsplittable))
4747 ;; If the selected frame cannot be split, look at
4748 ;; `last-nonminibuffer-frame'.
4749 (and (eq frame (selected-frame))
4750 (setq frame (last-nonminibuffer-frame))
4751 (window--frame-usable-p frame)
4752 (not (frame-parameter frame 'unsplittable))))
4753 ;; Attempt to split largest or least recently used window.
4754 (setq window (or (window--try-to-split-window
4755 (get-largest-window frame t))
4756 (window--try-to-split-window
4757 (get-lru-window frame t)))))
4758 (display-buffer-record-window 'pop-up-window window buffer)
4759 (window--display-buffer-2 buffer window)
4760 ;; Reset list of WINDOW's previous buffers to nil.
4761 (set-window-prev-buffers window nil)
4762 window)))
4763
4764;; This display action function groups together some lower-level ones:
4765(defun display-buffer-reuse-or-pop-window (buffer alist)
4766 "Display BUFFER in some window other than the selected one.
4767This attempts to call the following functions (in order):
4768 - `display-buffer-reuse-window', ensuring that it checks all
4769 frames on this terminal if `display-buffer-reuse-frames' or
4770 `pop-up-frames' is non-nil.
4771 - `special-display-function', if it is available.
4772 - `display-buffer-pop-up-frame', if specified by `pop-up-frames'.
4773 - `display-buffer-pop-up-window', if specified by `pop-up-windows'.
4774
4775If BUFFER is sucessfully display, return its window; otherwise
4776return nil."
4777 (let ((use-pop-up-frames (if (eq pop-up-frames 'graphic-only)
4778 (display-graphic-p)
4779 pop-up-frames)))
4780 (or (display-buffer-reuse-window
4781 buffer
4782 ;; If `display-buffer-reuse-frames' or `pop-up-frames' is
4783 ;; non-nil, check all frames on this terminal.
4784 (if (and (null (cdr (assq 'reuse-frame alist)))
4785 (or use-pop-up-frames display-buffer-reuse-frames))
4786 (cons '(reuse-frame . 0) alist)
4787 alist))
4788 ;; Try with `special-display-function':
4789 (and special-display-function
4790 ;; `special-display-p' returns either t or a list of frame
4791 ;; parameters to pass to `special-display-function'.
4792 (let ((pars (special-display-p (buffer-name buffer))))
4793 (when pars
4794 (funcall special-display-function
4795 buffer (if (listp pars) pars)))))
4796 (and use-pop-up-frames
4797 (display-buffer-pop-up-frame buffer alist))
4798 (and pop-up-windows
4799 (display-buffer-pop-up-window buffer alist)))))
4800
4801(defun display-buffer-use-some-window (buffer alist)
4802 "Display BUFFER in an existing window.
4803Search for a usable window, set that window to the buffer, and
4804return the window. If no suitable window is found, return nil."
4805 (let* ((not-this-window (cdr (assq 'inhibit-same-window alist)))
4806 (window-to-undedicate
4807 ;; When NOT-THIS-WINDOW is non-nil, temporarily dedicate the
4808 ;; selected window to its buffer, to prevent any of the
4809 ;; `get-' routines below from choosing it. (Bug#1415)
4810 (and not-this-window (not (window-dedicated-p))
4811 (set-window-dedicated-p (selected-window) t)
4812 (selected-window)))
4813 (frame (or (window--frame-usable-p (selected-frame))
4814 (window--frame-usable-p (last-nonminibuffer-frame))))
4815 (use-pop-up-frames (if (eq pop-up-frames 'graphic-only)
4816 (display-graphic-p)
4817 pop-up-frames))
4818 window popped-up-frame)
4819 (unwind-protect
4820 (setq window
4821 ;; Reuse an existing window.
4822 (or (get-lru-window frame)
4823 (let ((window (get-buffer-window buffer 'visible)))
4824 (unless (and not-this-window
4825 (eq window (selected-window)))
4826 window))
4827 (get-largest-window 'visible)
4828 (let ((window (get-buffer-window buffer 0)))
4829 (unless (and not-this-window
4830 (eq window (selected-window)))
4831 window))
4832 (get-largest-window 0)
4833 (and use-pop-up-frames
4834 (prog1
4835 (frame-selected-window (funcall pop-up-frame-function))
4836 (setq popped-up-frame t)))))
4837 (when (window-live-p window-to-undedicate)
4838 ;; Restore dedicated status of selected window.
4839 (set-window-dedicated-p window-to-undedicate nil)))
4840 (when window
4841 (display-buffer-record-window
4842 (if popped-up-frame 'pop-up-frame 'reuse-window) window buffer)
4843 (window--even-window-heights window)
4844 (window--display-buffer-2 buffer window))))
4845
4846;;; Display + selection commands:
4847
4848(defun pop-to-buffer (buffer &optional action norecord)
4849 "Select buffer BUFFER in some window, preferably a different one.
4850BUFFER may be a buffer, a string (a buffer name), or nil. If it
4851is a string not naming an existent buffer, create a buffer with
4852that name. If BUFFER is nil, choose some other buffer. Return
4853the buffer.
4854
4855This uses `display-buffer' as a subroutine. The optional ACTION
4856argument is passed to `display-buffer' as its ACTION argument.
4857See `display-buffer' for more information. ACTION is t if called
4858interactively with a prefix argument, which means to pop to a
4859window other than the selected one even if the buffer is already
4860displayed in the selected window.
4861
4862If the window to show BUFFER is not on the selected
4863frame, raise that window's frame and give it input focus.
4864
4865Optional third arg NORECORD non-nil means do not put this buffer
4866at the front of the list of recently selected ones."
4867 (interactive (list (read-buffer "Pop to buffer: " (other-buffer))
4868 (if current-prefix-arg t)))
4869 (setq buffer (window-normalize-buffer-to-display
4870 ;; BUFFER nil means another buffer.
4871 (or buffer (other-buffer))))
4872 (set-buffer buffer)
4873 (let* ((old-window (selected-window))
4874 (old-frame (selected-frame))
4875 (window (display-buffer (current-buffer) action))
4876 (frame (window-frame window)))
4877 (if (eq frame old-frame)
4878 ;; Make sure new window is selected (Bug#8615), (Bug#6954).
4879 (select-window window norecord)
4880 ;; If `display-buffer' has chosen another frame, make sure it
4881 ;; gets input focus.
4882 (select-frame-set-input-focus frame norecord))
4883 buffer))
4884
4885(defun read-buffer-to-switch (prompt)
4886 "Read the name of a buffer to switch to, prompting with PROMPT.
4887Return the neame of the buffer as a string.
4888
4889This function is intended for the `switch-to-buffer' family of
4890commands since these need to omit the name of the current buffer
4891from the list of completions and default values."
4892 (let ((rbts-completion-table (internal-complete-buffer-except)))
4893 (minibuffer-with-setup-hook
4894 (lambda ()
4895 (setq minibuffer-completion-table rbts-completion-table)
4896 ;; Since rbts-completion-table is built dynamically, we
4897 ;; can't just add it to the default value of
4898 ;; icomplete-with-completion-tables, so we add it
4899 ;; here manually.
4900 (if (and (boundp 'icomplete-with-completion-tables)
4901 (listp icomplete-with-completion-tables))
4902 (set (make-local-variable 'icomplete-with-completion-tables)
4903 (cons rbts-completion-table
4904 icomplete-with-completion-tables))))
4905 (read-buffer prompt (other-buffer (current-buffer))
4906 (confirm-nonexistent-file-or-buffer)))))
4907
4908(defun window-normalize-buffer-to-switch-to (buffer-or-name)
4909 "Normalize BUFFER-OR-NAME argument of buffer switching functions.
4910If BUFFER-OR-NAME is nil, return the buffer returned by
4911`other-buffer'. Else, if a buffer specified by BUFFER-OR-NAME
4912exists, return that buffer. If no such buffer exists, create a
4913buffer with the name BUFFER-OR-NAME and return that buffer."
4914 (if buffer-or-name
4915 (or (get-buffer buffer-or-name)
4916 (let ((buffer (get-buffer-create buffer-or-name)))
4917 (set-buffer-major-mode buffer)
4918 buffer))
4919 (other-buffer)))
4920
4921(defun switch-to-buffer (buffer-or-name &optional norecord force-same-window)
4922 "Switch to buffer BUFFER-OR-NAME in the selected window.
4923If called interactively, prompt for the buffer name using the
4924minibuffer. The variable `confirm-nonexistent-file-or-buffer'
4925determines whether to request confirmation before creating a new
4926buffer.
4927
4928BUFFER-OR-NAME may be a buffer, a string \(a buffer name), or
4929nil. If BUFFER-OR-NAME is a string that does not identify an
4930existing buffer, create a buffer with that name. If
4931BUFFER-OR-NAME is nil, switch to the buffer returned by
4932`other-buffer'.
4933
4934Optional argument NORECORD non-nil means do not put the buffer
4935specified by BUFFER-OR-NAME at the front of the buffer list and
4936do not make the window displaying it the most recently selected
4937one.
4938
4939If FORCE-SAME-WINDOW is non-nil, BUFFER-OR-NAME must be displayed
4940in the currently selected window; signal an error if that is
4941impossible (e.g. if the selected window is minibuffer-only).
4942If non-nil, BUFFER-OR-NAME may be displayed in another window.
4943
4944Return the buffer switched to."
4945 (interactive
4946 (list (read-buffer-to-switch "Switch to buffer: ") nil nil))
4947 (let ((buffer (window-normalize-buffer-to-switch-to buffer-or-name)))
4948 (if (null force-same-window)
4949 (cond
4950 ((eq buffer (window-buffer))
4951 (unless norecord
4952 (select-window (selected-window)))
4953 (set-buffer buffer))
4954 ((or (window-minibuffer-p) (window-dedicated-p))
4955 (pop-to-buffer buffer))
4956 (t
4957 (set-window-buffer nil buffer)
4958 (unless norecord
4959 (select-window (selected-window)))
4960 (set-buffer buffer)))
4961 (cond
4962 ;; Don't call set-window-buffer if it's not needed since it
4963 ;; might signal an error (e.g. if the window is dedicated).
4964 ((eq buffer (window-buffer)))
4965 ((window-minibuffer-p)
4966 (error "Cannot switch buffers in minibuffer window"))
4967 ((eq (window-dedicated-p) t)
4968 (error "Cannot switch buffers in a dedicated window"))
4969 (t (set-window-buffer nil buffer)))
4970
4971 (unless norecord
4972 (select-window (selected-window)))
4973 (set-buffer buffer))))
4974
4975(defun switch-to-buffer-other-window (buffer-or-name &optional norecord)
4976 "Select the buffer specified by BUFFER-OR-NAME in another window.
4977BUFFER-OR-NAME may be a buffer, a string \(a buffer name), or
4978nil. Return the buffer switched to.
4979
4980If called interactively, prompt for the buffer name using the
4981minibuffer. The variable `confirm-nonexistent-file-or-buffer'
4982determines whether to request confirmation before creating a new
4983buffer.
4984
4985If BUFFER-OR-NAME is a string and does not identify an existing
4986buffer, create a new buffer with that name. If BUFFER-OR-NAME is
4987nil, switch to the buffer returned by `other-buffer'.
4988
4989Optional second argument NORECORD non-nil means do not put this
4990buffer at the front of the list of recently selected ones.
4991
4992This uses the function `display-buffer' as a subroutine; see its
4993documentation for additional customization information."
4994 (interactive
4995 (list (read-buffer-to-switch "Switch to buffer in other window: ")))
4996 (let ((buffer (window-normalize-buffer-to-switch-to buffer-or-name))
4997 (pop-up-windows t)
4998 same-window-buffer-names same-window-regexps)
4999 (pop-to-buffer buffer t norecord)))
5000
5001(defun switch-to-buffer-other-frame (buffer-or-name &optional norecord)
5002 "Switch to buffer BUFFER-OR-NAME in another frame.
5003BUFFER-OR-NAME may be a buffer, a string \(a buffer name), or
5004nil. Return the buffer switched to.
5005
5006If called interactively, prompt for the buffer name using the
5007minibuffer. The variable `confirm-nonexistent-file-or-buffer'
5008determines whether to request confirmation before creating a new
5009buffer.
5010
5011If BUFFER-OR-NAME is a string and does not identify an existing
5012buffer, create a new buffer with that name. If BUFFER-OR-NAME is
5013nil, switch to the buffer returned by `other-buffer'.
5014
5015Optional second arg NORECORD non-nil means do not put this
5016buffer at the front of the list of recently selected ones.
5017
5018This uses the function `display-buffer' as a subroutine; see its
5019documentation for additional customization information."
5020 (interactive
5021 (list (read-buffer-to-switch "Switch to buffer in other frame: ")))
5022 (let ((buffer (window-normalize-buffer-to-switch-to buffer-or-name))
5023 (pop-up-frames t)
5024 same-window-buffer-names same-window-regexps)
5025 (pop-to-buffer buffer t norecord)))
6843 5026
6844(defun set-window-text-height (window height) 5027(defun set-window-text-height (window height)
6845 "Set the height in lines of the text display area of WINDOW to HEIGHT. 5028 "Set the height in lines of the text display area of WINDOW to HEIGHT.
@@ -7087,39 +5270,6 @@ Return non-nil if the window was shrunk, nil otherwise."
7087 (with-current-buffer buffer-to-kill 5270 (with-current-buffer buffer-to-kill
7088 (remove-hook 'kill-buffer-hook delete-window-hook t)))))) 5271 (remove-hook 'kill-buffer-hook delete-window-hook t))))))
7089 5272
7090(defun quit-window (&optional kill window)
7091 "Quit WINDOW and bury its buffer.
7092With a prefix argument, kill the buffer instead. WINDOW defaults
7093to the selected window.
7094
7095If WINDOW is non-nil, dedicated, or a minibuffer window, delete
7096it and, if it's alone on its frame, its frame too. Otherwise, or
7097if deleting WINDOW fails in any of the preceding cases, display
7098another buffer in WINDOW using `switch-to-buffer'.
7099
7100Optional argument KILL non-nil means kill WINDOW's buffer.
7101Otherwise, bury WINDOW's buffer, see `bury-buffer'."
7102 (interactive "P")
7103 (let ((buffer (window-buffer window)))
7104 (if (or window
7105 (window-minibuffer-p window)
7106 (window-dedicated-p window))
7107 ;; WINDOW is either non-nil, a minibuffer window, or dedicated;
7108 ;; try to delete it.
7109 (let* ((window (or window (selected-window)))
7110 (frame (window-frame window)))
7111 (if (frame-root-window-p window)
7112 ;; WINDOW is alone on its frame.
7113 (delete-frame frame)
7114 ;; There are other windows on its frame, delete WINDOW.
7115 (delete-window window)))
7116 ;; Otherwise, switch to another buffer in the selected window.
7117 (switch-to-buffer nil))
7118
7119 ;; Deal with the buffer.
7120 (if kill
7121 (kill-buffer buffer)
7122 (bury-buffer buffer))))
7123 5273
7124(defvar recenter-last-op nil 5274(defvar recenter-last-op nil
7125 "Indicates the last recenter operation performed. 5275 "Indicates the last recenter operation performed.
@@ -7516,6 +5666,8 @@ Otherwise, consult the value of `truncate-partial-width-windows'
7516 (< (window-width window) t-p-w-w) 5666 (< (window-width window) t-p-w-w)
7517 t-p-w-w)))) 5667 t-p-w-w))))
7518 5668
5669;; Some of these are in tutorial--default-keys, so update that if you
5670;; change these.
7519(define-key ctl-x-map "0" 'delete-window) 5671(define-key ctl-x-map "0" 'delete-window)
7520(define-key ctl-x-map "1" 'delete-other-windows) 5672(define-key ctl-x-map "1" 'delete-other-windows)
7521(define-key ctl-x-map "2" 'split-window-above-each-other) 5673(define-key ctl-x-map "2" 'split-window-above-each-other)
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index 403aa5d158b..eca5f813ca2 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -120,10 +120,17 @@
120 120
121;; read xterm sequences above ascii 127 (#x7f) 121;; read xterm sequences above ascii 127 (#x7f)
122(defun xterm-mouse-event-read () 122(defun xterm-mouse-event-read ()
123 ;; We get the characters decoded by the keyboard coding system. Try
124 ;; to recover the raw character.
123 (let ((c (read-char))) 125 (let ((c (read-char)))
124 (if (> c #x3FFF80) 126 (cond ;; If meta-flag is t we get a meta character
125 (+ 128 (- c #x3FFF80)) 127 ((>= c ?\M-\^@)
126 c))) 128 (- c (- ?\M-\^@ 128)))
129 ;; Reencode the character in the keyboard coding system, if
130 ;; this is a non-ASCII character.
131 ((>= c #x80)
132 (aref (encode-coding-string (string c) (keyboard-coding-system)) 0))
133 (t c))))
127 134
128(defun xterm-mouse-truncate-wrap (f) 135(defun xterm-mouse-truncate-wrap (f)
129 "Truncate with wrap-around." 136 "Truncate with wrap-around."