aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorJoakim Verona2013-01-14 00:04:04 +0100
committerJoakim Verona2013-01-14 00:04:04 +0100
commit132fdce3d2530db5a6edeaf4242257ff01ea4760 (patch)
tree75638977b562d18c4cb2b20fab58262bbbe4c2be /lisp
parentec43cd5d7289dd1a994dc3517fccce1611966f89 (diff)
parentb35b088608a02d43b39bbfd3240547d3d9de7366 (diff)
downloademacs-132fdce3d2530db5a6edeaf4242257ff01ea4760.tar.gz
emacs-132fdce3d2530db5a6edeaf4242257ff01ea4760.zip
auto upstream
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog33
-rw-r--r--lisp/cus-start.el4
-rw-r--r--lisp/emacs-lisp/timer.el4
-rw-r--r--lisp/gnus/ChangeLog6
-rw-r--r--lisp/gnus/message.el5
-rw-r--r--lisp/jit-lock.el44
-rw-r--r--lisp/mail/rmail.el2
-rw-r--r--lisp/mail/rmailmm.el17
-rw-r--r--lisp/mail/sendmail.el3
-rw-r--r--lisp/org/ChangeLog53
-rw-r--r--lisp/org/ob-eval.el14
-rw-r--r--lisp/org/org-agenda.el148
-rw-r--r--lisp/org/org-capture.el8
-rw-r--r--lisp/org/org-clock.el2
-rw-r--r--lisp/org/org-compat.el28
-rw-r--r--lisp/org/org-id.el2
-rw-r--r--lisp/org/org-lparse.el4
-rw-r--r--lisp/org/org-mobile.el8
-rw-r--r--lisp/org/org-odt.el2
-rw-r--r--lisp/org/org-protocol.el6
-rw-r--r--lisp/org/org-version.el4
-rw-r--r--lisp/org/org.el35
-rw-r--r--lisp/progmodes/python.el13
-rw-r--r--lisp/subr.el19
24 files changed, 327 insertions, 137 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7723528c886..5c7e8c3e6a8 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,36 @@
12013-01-13 Fabián Ezequiel Gallina <fgallina@cuca>
2
3 * progmodes/python.el (python-nav-end-of-statement): Fix
4 cornercase when handling multiline strings.
5
62013-01-13 Richard Stallman <rms@gnu.org>
7
8 * mail/sendmail.el (mail-position-on-field): Add doc string.
9
10 * mail/rmailmm.el (rmail-insert-mime-forwarded-message): Get
11 current message boundaries and pass them to
12 message-forward-make-body-mime. Minor style changes.
13
142013-01-13 Eli Zaretskii <eliz@gnu.org>
15
16 * cus-start.el (all): Avoid warnings about
17 scroll-bar-adjust-thumb-portion on platforms where it is not
18 defined.
19
202013-01-11 Jan Djärv <jan.h.d@swipnet.se>
21
22 * cus-start.el (all): Add scroll-bar-adjust-thumb-portion.
23
242013-01-13 Stefan Monnier <monnier@iro.umontreal.ca>
25
26 * jit-lock.el (jit-lock-debug-mode): New minor mode.
27 (jit-lock--debug-fontifying): New var.
28 (jit-lock--debug-fontify): New function.
29 * subr.el (condition-case-unless-debug): Don't prevent catching the
30 error, just let the debbugger run.
31 * emacs-lisp/timer.el (timer-event-handler): Don't prevent debugging
32 timer code and don't drop errors silently.
33
12013-01-12 Michael Albinus <michael.albinus@gmx.de> 342013-01-12 Michael Albinus <michael.albinus@gmx.de>
2 35
3 * autorevert.el (auto-revert-notify-watch-descriptor): Give it 36 * autorevert.el (auto-revert-notify-watch-descriptor): Give it
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index b954ed60baa..62e91fafcbf 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -513,6 +513,7 @@ since it could result in memory overflow and make Emacs crash."
513 (x-use-underline-position-properties display boolean "22.1") 513 (x-use-underline-position-properties display boolean "22.1")
514 (x-underline-at-descent-line display boolean "22.1") 514 (x-underline-at-descent-line display boolean "22.1")
515 (x-stretch-cursor display boolean "21.1") 515 (x-stretch-cursor display boolean "21.1")
516 (scroll-bar-adjust-thumb-portion windows boolean "24.4")
516 ;; xselect.c 517 ;; xselect.c
517 (x-select-enable-clipboard-manager killing boolean "24.1") 518 (x-select-enable-clipboard-manager killing boolean "24.1")
518 ;; xsettings.c 519 ;; xsettings.c
@@ -575,6 +576,9 @@ since it could result in memory overflow and make Emacs crash."
575 (symbol-name symbol)) 576 (symbol-name symbol))
576 ;; Any function from fontset.c will do. 577 ;; Any function from fontset.c will do.
577 (fboundp 'new-fontset)) 578 (fboundp 'new-fontset))
579 ((equal "scroll-bar-adjust-thumb-portion"
580 (symbol-name symbol))
581 (featurep 'x))
578 (t t)))) 582 (t t))))
579 (if (not (boundp symbol)) 583 (if (not (boundp symbol))
580 ;; If variables are removed from C code, give an error here! 584 ;; If variables are removed from C code, give an error here!
diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el
index 3eaacd24ec8..8b019d0a785 100644
--- a/lisp/emacs-lisp/timer.el
+++ b/lisp/emacs-lisp/timer.el
@@ -307,13 +307,13 @@ This function is called, by name, directly by the C code."
307 ;; Run handler. 307 ;; Run handler.
308 ;; We do this after rescheduling so that the handler function 308 ;; We do this after rescheduling so that the handler function
309 ;; can cancel its own timer successfully with cancel-timer. 309 ;; can cancel its own timer successfully with cancel-timer.
310 (condition-case nil 310 (condition-case-unless-debug err
311 ;; Timer functions should not change the current buffer. 311 ;; Timer functions should not change the current buffer.
312 ;; If they do, all kinds of nasty surprises can happen, 312 ;; If they do, all kinds of nasty surprises can happen,
313 ;; and it can be hellish to track down their source. 313 ;; and it can be hellish to track down their source.
314 (save-current-buffer 314 (save-current-buffer
315 (apply (timer--function timer) (timer--args timer))) 315 (apply (timer--function timer) (timer--args timer)))
316 (error nil)) 316 (error (message "Error in timer: %S" err)))
317 (if retrigger 317 (if retrigger
318 (setf (timer--triggered timer) nil))) 318 (setf (timer--triggered timer) nil)))
319 (error "Bogus timer event")))) 319 (error "Bogus timer event"))))
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 44dbf060e49..1524f000450 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,9 @@
12013-01-13 Richard Stallman <rms@gnu.org>
2
3 * message.el (message-forward-make-body-mime): New args BEG, END
4 specify what part of FORWARD-BUFFER to use. Do the work directly
5 instead of calling `mml-insert-buffer'.
6
12013-01-11 Aaron S. Hawley <Aaron.Hawley@vtinfo.com> 72013-01-11 Aaron S. Hawley <Aaron.Hawley@vtinfo.com>
2 8
3 * gnus-start.el (gnus-check-new-newsgroups): Fix ambiguous doc string 9 * gnus-start.el (gnus-check-new-newsgroups): Fix ambiguous doc string
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 8832899c55d..808e1edd6c3 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -7376,12 +7376,13 @@ Optional DIGEST will use digest to forward."
7376 (dolist (elem ignored) 7376 (dolist (elem ignored)
7377 (message-remove-header elem t)))))) 7377 (message-remove-header elem t))))))
7378 7378
7379(defun message-forward-make-body-mime (forward-buffer) 7379(defun message-forward-make-body-mime (forward-buffer &optional beg end)
7380 (let ((b (point))) 7380 (let ((b (point)))
7381 (insert "\n\n<#part type=message/rfc822 disposition=inline raw=t>\n") 7381 (insert "\n\n<#part type=message/rfc822 disposition=inline raw=t>\n")
7382 (save-restriction 7382 (save-restriction
7383 (narrow-to-region (point) (point)) 7383 (narrow-to-region (point) (point))
7384 (mml-insert-buffer forward-buffer) 7384 (insert-buffer-substring forward-buffer beg end)
7385 (mml-quote-region (point-min) (point-max))
7385 (goto-char (point-min)) 7386 (goto-char (point-min))
7386 (when (looking-at "From ") 7387 (when (looking-at "From ")
7387 (replace-match "X-From-Line: ")) 7388 (replace-match "X-From-Line: "))
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el
index 7be5df72c84..668f1ec963a 100644
--- a/lisp/jit-lock.el
+++ b/lisp/jit-lock.el
@@ -257,6 +257,47 @@ the variable `jit-lock-stealth-nice'."
257 (remove-hook 'after-change-functions 'jit-lock-after-change t) 257 (remove-hook 'after-change-functions 'jit-lock-after-change t)
258 (remove-hook 'fontification-functions 'jit-lock-function)))) 258 (remove-hook 'fontification-functions 'jit-lock-function))))
259 259
260(define-minor-mode jit-lock-debug-mode
261 "Minor mode to help debug code run from jit-lock.
262When this minor mode is enabled, jit-lock runs as little code as possible
263during redisplay and moves the rest to a timer, where things
264like `debug-on-error' and Edebug can be used."
265 :global t
266 (when jit-lock-defer-timer
267 (cancel-timer jit-lock-defer-timer)
268 (setq jit-lock-defer-timer nil))
269 (when jit-lock-debug-mode
270 (setq jit-lock-defer-timer
271 (run-with-idle-timer 0 t #'jit-lock--debug-fontify))))
272
273(defvar jit-lock--debug-fontifying nil)
274
275(defun jit-lock--debug-fontify ()
276 "Fontify what was deferred for debugging."
277 (when (and (not jit-lock--debug-fontifying)
278 jit-lock-defer-buffers (not memory-full))
279 (let ((jit-lock--debug-fontifying t)
280 (inhibit-debugger nil)) ;FIXME: Not sufficient!
281 ;; Mark the deferred regions back to `fontified = nil'
282 (dolist (buffer jit-lock-defer-buffers)
283 (when (buffer-live-p buffer)
284 (with-current-buffer buffer
285 ;; (message "Jit-Debug %s" (buffer-name))
286 (with-buffer-prepared-for-jit-lock
287 (let ((pos (point-min)))
288 (while
289 (progn
290 (when (eq (get-text-property pos 'fontified) 'defer)
291 (let ((beg pos)
292 (end (setq pos (next-single-property-change
293 pos 'fontified
294 nil (point-max)))))
295 (put-text-property beg end 'fontified nil)
296 (jit-lock-fontify-now beg end)))
297 (setq pos (next-single-property-change
298 pos 'fontified)))))))))
299 (setq jit-lock-defer-buffers nil))))
300
260(defun jit-lock-register (fun &optional contextual) 301(defun jit-lock-register (fun &optional contextual)
261 "Register FUN as a fontification function to be called in this buffer. 302 "Register FUN as a fontification function to be called in this buffer.
262FUN will be called with two arguments START and END indicating the region 303FUN will be called with two arguments START and END indicating the region
@@ -504,7 +545,8 @@ non-nil in a repeated invocation of this function."
504 pos (setq pos (next-single-property-change 545 pos (setq pos (next-single-property-change
505 pos 'fontified nil (point-max))) 546 pos 'fontified nil (point-max)))
506 'fontified nil)) 547 'fontified nil))
507 (setq pos (next-single-property-change pos 'fontified))))))))) 548 (setq pos (next-single-property-change
549 pos 'fontified)))))))))
508 (setq jit-lock-defer-buffers nil) 550 (setq jit-lock-defer-buffers nil)
509 ;; Force fontification of the visible parts. 551 ;; Force fontification of the visible parts.
510 (let ((jit-lock-defer-timer nil)) 552 (let ((jit-lock-defer-timer nil))
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index e32d3c608d4..c6385498dcd 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -4647,7 +4647,7 @@ With prefix argument N moves forward N messages with these labels.
4647 4647
4648;;;*** 4648;;;***
4649 4649
4650;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "1f33964668345a1a1f3119fece148227") 4650;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "93951f748e43e1015da1b485088970ca")
4651;;; Generated autoloads from rmailmm.el 4651;;; Generated autoloads from rmailmm.el
4652 4652
4653(autoload 'rmail-mime "rmailmm" "\ 4653(autoload 'rmail-mime "rmailmm" "\
diff --git a/lisp/mail/rmailmm.el b/lisp/mail/rmailmm.el
index 566dec1ad39..350e3dacbcf 100644
--- a/lisp/mail/rmailmm.el
+++ b/lisp/mail/rmailmm.el
@@ -1365,14 +1365,15 @@ The arguments ARG and STATE have no effect in this case."
1365(defun rmail-insert-mime-forwarded-message (forward-buffer) 1365(defun rmail-insert-mime-forwarded-message (forward-buffer)
1366 "Insert the message in FORWARD-BUFFER as a forwarded message. 1366 "Insert the message in FORWARD-BUFFER as a forwarded message.
1367This is the usual value of `rmail-insert-mime-forwarded-message-function'." 1367This is the usual value of `rmail-insert-mime-forwarded-message-function'."
1368 (let ((message-buffer 1368 (let (contents-buffer start end)
1369 (with-current-buffer forward-buffer 1369 (with-current-buffer forward-buffer
1370 (if rmail-buffer-swapped 1370 (setq contents-buffer
1371 rmail-view-buffer 1371 (if rmail-buffer-swapped
1372 forward-buffer)))) 1372 rmail-view-buffer
1373 (save-restriction 1373 forward-buffer)
1374 (narrow-to-region (point) (point)) 1374 start (rmail-msgbeg rmail-current-message)
1375 (message-forward-make-body-mime message-buffer)))) 1375 end (rmail-msgend rmail-current-message)))
1376 (message-forward-make-body-mime contents-buffer start end)))
1376 1377
1377(setq rmail-insert-mime-forwarded-message-function 1378(setq rmail-insert-mime-forwarded-message-function
1378 'rmail-insert-mime-forwarded-message) 1379 'rmail-insert-mime-forwarded-message)
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index e86229a5cfb..e1dee3295f2 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -1493,6 +1493,9 @@ just append to the file, in Babyl format if necessary."
1493 (insert "\nMail-Followup-To: ")))) 1493 (insert "\nMail-Followup-To: "))))
1494 1494
1495(defun mail-position-on-field (field &optional soft) 1495(defun mail-position-on-field (field &optional soft)
1496 "Move to the start of the contents of header field FIELD.
1497If there is none, insert one, unless SOFT is non-nil.
1498If there are multiple FIELD fields, this goes to the first."
1496 (let (end 1499 (let (end
1497 (case-fold-search t)) 1500 (case-fold-search t))
1498 (setq end (mail-header-end)) 1501 (setq end (mail-header-end))
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index 3a575f60414..56a76c7d680 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -1,24 +1,47 @@
12013-01-09 Achim Gratz <Stromeko@Stromeko.de> 12013-01-13 Bastien Guerry <bzg@gnu.org>
2
3 * org-compat.el (org-condition-case-unless-debug): Delete.
4
5 * org-odt.el (org-odt-cleanup-xml-buffers): Use
6 `condition-case' instead of `org-condition-case-unless-debug',
7 which is now deleted.
8
9 * org-capture.el (org-capture-templates-contexts):
10 * org-agenda.el (org-agenda-custom-commands-contexts):
11 Docstring fix.
12
13 * org.el (org-get-tags-at): Remove duplicate inherited tags.
14
15 * org-agenda.el (org-agenda-show-inherited-tags): Allow to be set
16 to 'always or to a list of agenda types.
17 (org-agenda-finalize): Rework conditions under which inherited
18 tags should be made available even when not displayed.
19 (org-search-view, org-agenda-get-todos)
20 (org-agenda-get-timestamps, org-agenda-get-sexps)
21 (org-agenda-get-progress, org-agenda-get-scheduled)
22 (org-agenda-get-blocks): Use new possible values of
23 `org-agenda-show-inherited-tags'.
2 24
3 * org-compat.el (org-define-obsolete-function-alias) 25 * org.el (org-open-at-point): Fix opening all links at point.
4 (org-define-obsolete-variable-alias): Introduce new compatibility
5 macros to obsolete functions and variables.
6 26
7 * org-agenda.el, org-clock.el, org-id.el, org-lparse.el: 27 * org-agenda.el (org-get-entries-from-diary): Turn off
8 * org-protocol.el, org.el: 28 `diary-file-name-prefix' instead of
9 Use `org-define-obsolete-{function,variable}-alias' instead 29 `diary-file-name-prefix-function', the former is checked before
10 of `define-obsolate{function,variable}-alias'. 30 the latter.
31
32 * org.el (org-edit-special): Check for table.el before checking
33 for Org tables.
34
352013-01-13 Michael Albinus <michael.albinus@gmx.de>
36
37 * ob-eval.el (org-babel-shell-command-on-region): Use
38 `executable-find' for local `shell-file-name'.
39
402013-01-09 Achim Gratz <Stromeko@Stromeko.de>
11 41
12 * org-faces.el: Define face alias mode-line for XEmacs (it's 42 * org-faces.el: Define face alias mode-line for XEmacs (it's
13 called modeline there). 43 called modeline there).
14 44
15 * org-compat.el (org-condition-case-unless-debug): Do not use
16 defalias for special forms, the Emacs 22 byte-compiler does not
17 recognize them correctly when compiling macros. Use a macro
18 instead and rely on macro expansion. That however makes the
19 decision at compile time, which should be acceptable in this case
20 since it only affects debugging.
21
22 * org-compat.el (org-no-popups): New wrapper macro which let-binds 45 * org-compat.el (org-no-popups): New wrapper macro which let-binds
23 the correct variables to suppress popup windows depending on the 46 the correct variables to suppress popup windows depending on the
24 Emacs version in use. This is a compile-time decision when 47 Emacs version in use. This is a compile-time decision when
diff --git a/lisp/org/ob-eval.el b/lisp/org/ob-eval.el
index 5884d33d786..22d2bcf288e 100644
--- a/lisp/org/ob-eval.el
+++ b/lisp/org/ob-eval.el
@@ -137,11 +137,17 @@ specifies the value of ERROR-BUFFER."
137 t))) 137 t)))
138 (let ((input-file (org-babel-temp-file "input-")) 138 (let ((input-file (org-babel-temp-file "input-"))
139 (error-file (if error-buffer (org-babel-temp-file "scor-") nil)) 139 (error-file (if error-buffer (org-babel-temp-file "scor-") nil))
140 ;; Unfortunately, `executable-find' does not support file name
141 ;; handlers. Therefore, we could use it in the local case
142 ;; only.
140 (shell-file-name 143 (shell-file-name
141 (if (file-executable-p 144 (cond ((and (not (file-remote-p default-directory))
142 (concat (file-remote-p default-directory) shell-file-name)) 145 (executable-find shell-file-name))
143 shell-file-name 146 shell-file-name)
144 "/bin/sh")) 147 ((file-executable-p
148 (concat (file-remote-p default-directory) shell-file-name))
149 shell-file-name)
150 ("/bin/sh")))
145 exit-status) 151 exit-status)
146 ;; There is an error in `process-file' when `error-file' exists. 152 ;; There is an error in `process-file' when `error-file' exists.
147 ;; This is fixed in Emacs trunk as of 2012-12-21; let's use this 153 ;; This is fixed in Emacs trunk as of 2012-12-21; let's use this
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index 2eb96c2510b..ca8459ca33d 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -890,7 +890,7 @@ you want to use two-columns display (see `org-agenda-menu-two-columns')."
890 :version "24.1" 890 :version "24.1"
891 :type 'boolean) 891 :type 'boolean)
892 892
893(org-define-obsolete-variable-alias 'org-agenda-menu-two-column 'org-agenda-menu-two-columns "24.3") 893(define-obsolete-variable-alias 'org-agenda-menu-two-column 'org-agenda-menu-two-columns "24.3")
894 894
895(defcustom org-agenda-menu-two-columns nil 895(defcustom org-agenda-menu-two-columns nil
896 "Non-nil means, use two columns to show custom commands in the dispatcher. 896 "Non-nil means, use two columns to show custom commands in the dispatcher.
@@ -900,7 +900,7 @@ to nil."
900 :version "24.1" 900 :version "24.1"
901 :type 'boolean) 901 :type 'boolean)
902 902
903(org-define-obsolete-variable-alias 'org-finalize-agenda-hook 'org-agenda-finalize-hook "24.3") 903(define-obsolete-variable-alias 'org-finalize-agenda-hook 'org-agenda-finalize-hook "24.3")
904(defcustom org-agenda-finalize-hook nil 904(defcustom org-agenda-finalize-hook nil
905 "Hook run just before displaying an agenda buffer. 905 "Hook run just before displaying an agenda buffer.
906The buffer is still writable when the hook is called. 906The buffer is still writable when the hook is called.
@@ -1648,26 +1648,53 @@ When non-nil, this must be the number of minutes, e.g. 60 for one hour."
1648 (const :tag "No default duration"))) 1648 (const :tag "No default duration")))
1649 1649
1650(defcustom org-agenda-show-inherited-tags t 1650(defcustom org-agenda-show-inherited-tags t
1651 "Non-nil means show inherited tags in each agenda line." 1651 "Non-nil means show inherited tags in each agenda line.
1652
1653When this option is set to 'always, it take precedences over
1654`org-agenda-use-tag-inheritance' and inherited tags are shown
1655in every agenda.
1656
1657When this option is set to t (the default), inherited tags are
1658shown when they are available, i.e. when the value of
1659`org-agenda-use-tag-inheritance' has been taken into account.
1660
1661This can be set to a list of agenda types in which the agenda
1662must display the inherited tags. Available types are 'todo,
1663'agenda, 'search and 'timeline.
1664
1665When set to nil, never show inherited tags in agenda lines."
1652 :group 'org-agenda-line-format 1666 :group 'org-agenda-line-format
1653 :type 'boolean) 1667 :group 'org-agenda
1668 :version "24.3"
1669 :type '(choice
1670 (const :tag "Show inherited tags when available" t)
1671 (const :tag "Always show inherited tags" 'always)
1672 (repeat :tag "Show inherited tags only in selected agenda types"
1673 (symbol :tag "Agenda type"))))
1654 1674
1655(defcustom org-agenda-use-tag-inheritance '(todo search timeline agenda) 1675(defcustom org-agenda-use-tag-inheritance '(todo search timeline agenda)
1656 "List of agenda view types where to use tag inheritance. 1676 "List of agenda view types where to use tag inheritance.
1657 1677
1658In tags/tags-todo/tags-tree agenda views, tag inheritance is 1678In tags/tags-todo/tags-tree agenda views, tag inheritance is
1659controlled by `org-use-tag-inheritance'. In other agenda types, 1679controlled by `org-use-tag-inheritance'. In other agenda types,
1660`org-use-tag-inheritance' is not used when selecting the agenda 1680`org-use-tag-inheritance' is not used for the selection of the
1661entries, but you may want the agenda to use the inherited tags 1681agenda entries. Still, you may want the agenda to be aware of
1662anyway, e.g. for later tag filtering. 1682the inherited tags anyway, e.g. for later tag filtering.
1663 1683
1664The default value reset tags in every agenda type. Setting this 1684Allowed value are 'todo, 'search, 'timeline and 'agenda.
1665option to nil will speed up non-tags agenda view a lot.
1666 1685
1667Allowed value are 'todo, 'search, 'timeline and 'agenda." 1686This variable has no effect if `org-agenda-show-inherited-tags'
1668 :version "24.3" 1687is set to 'always. In that case, the agenda is aware of those
1688tags.
1689
1690The default value sets tags in every agenda type. Setting this
1691option to nil will speed up non-tags agenda view a lot."
1669 :group 'org-agenda 1692 :group 'org-agenda
1670 :type '(repeat (symbol :tag "Agenda type"))) 1693 :version "24.3"
1694 :type '(choice
1695 (const :tag "Use tag inheritance in all agenda types" t)
1696 (repeat :tag "Use tag inheritance in selected agenda types"
1697 (symbol :tag "Agenda type"))))
1671 1698
1672(defcustom org-agenda-hide-tags-regexp nil 1699(defcustom org-agenda-hide-tags-regexp nil
1673 "Regular expression used to filter away specific tags in agenda views. 1700 "Regular expression used to filter away specific tags in agenda views.
@@ -2363,7 +2390,7 @@ For example, if you have a custom agenda command \"p\" and you
2363want this command to be accessible only from plain text files, 2390want this command to be accessible only from plain text files,
2364use this: 2391use this:
2365 2392
2366 '((\"p\" (in-file . \"\\.txt\"))) 2393 '((\"p\" ((in-file . \"\\.txt\"))))
2367 2394
2368Here are the available contexts definitions: 2395Here are the available contexts definitions:
2369 2396
@@ -2379,7 +2406,7 @@ accessible if there is at least one valid check.
2379You can also bind a key to another agenda custom command 2406You can also bind a key to another agenda custom command
2380depending on contextual rules. 2407depending on contextual rules.
2381 2408
2382 '((\"p\" \"q\" (in-file . \"\\.txt\"))) 2409 '((\"p\" \"q\" ((in-file . \"\\.txt\"))))
2383 2410
2384Here it means: in .txt files, use \"p\" as the key for the 2411Here it means: in .txt files, use \"p\" as the key for the
2385agenda command otherwise associated with \"q\". (The command 2412agenda command otherwise associated with \"q\". (The command
@@ -3569,8 +3596,14 @@ generating a new one."
3569 (save-excursion (next-single-property-change (point-min) 'org-habit-p))) 3596 (save-excursion (next-single-property-change (point-min) 'org-habit-p)))
3570 (org-habit-insert-consistency-graphs)) 3597 (org-habit-insert-consistency-graphs))
3571 (setq org-agenda-type (org-get-at-bol 'org-agenda-type)) 3598 (setq org-agenda-type (org-get-at-bol 'org-agenda-type))
3572 (when (delq nil (mapcar (lambda (tp) (org-agenda-check-type nil tp)) 3599 (unless (or (eq org-agenda-show-inherited-tags 'always)
3573 org-agenda-use-tag-inheritance)) 3600 (and (listp org-agenda-show-inherited-tags)
3601 (memq org-agenda-type org-agenda-show-inherited-tags))
3602 (and (eq org-agenda-show-inherited-tags t)
3603 (or (eq org-agenda-use-tag-inheritance t)
3604 (and (listp org-agenda-use-tag-inheritance)
3605 (not (memq org-agenda-type
3606 org-agenda-use-tag-inheritance))))))
3574 (let (mrk) 3607 (let (mrk)
3575 (save-excursion 3608 (save-excursion
3576 (goto-char (point-min)) 3609 (goto-char (point-min))
@@ -4290,7 +4323,7 @@ in `org-agenda-text-search-extra-files'."
4290 'help-echo (format "mouse-2 or RET jump to location"))) 4323 'help-echo (format "mouse-2 or RET jump to location")))
4291 (full-words org-agenda-search-view-force-full-words) 4324 (full-words org-agenda-search-view-force-full-words)
4292 (org-agenda-text-search-extra-files org-agenda-text-search-extra-files) 4325 (org-agenda-text-search-extra-files org-agenda-text-search-extra-files)
4293 regexp rtn rtnall files file pos 4326 regexp rtn rtnall files file pos inherited-tags
4294 marker category category-pos tags c neg re boolean 4327 marker category category-pos tags c neg re boolean
4295 ee txt beg end words regexps+ regexps- hdl-only buffer beg1 str) 4328 ee txt beg end words regexps+ regexps- hdl-only buffer beg1 str)
4296 (unless (and (not edit-at) 4329 (unless (and (not edit-at)
@@ -4444,7 +4477,13 @@ in `org-agenda-text-search-extra-files'."
4444 (setq marker (org-agenda-new-marker (point)) 4477 (setq marker (org-agenda-new-marker (point))
4445 category (org-get-category) 4478 category (org-get-category)
4446 category-pos (get-text-property (point) 'org-category-position) 4479 category-pos (get-text-property (point) 'org-category-position)
4447 tags (org-get-tags-at nil t) 4480 inherited-tags
4481 (or (eq org-agenda-show-inherited-tags 'always)
4482 (memq 'todo org-agenda-show-inherited-tags)
4483 (and (eq org-agenda-show-inherited-tags t)
4484 (or (eq org-agenda-use-tag-inheritance t)
4485 (memq 'todo org-agenda-use-tag-inheritance))))
4486 tags (org-get-tags-at nil (not inherited-tags))
4448 txt (org-agenda-format-item 4487 txt (org-agenda-format-item
4449 "" 4488 ""
4450 (buffer-substring-no-properties 4489 (buffer-substring-no-properties
@@ -4974,7 +5013,7 @@ of what a project is and how to check if it stuck, customize the variable
4974 (pop-up-frames nil) 5013 (pop-up-frames nil)
4975 (diary-list-entries-hook 5014 (diary-list-entries-hook
4976 (cons 'org-diary-default-entry diary-list-entries-hook)) 5015 (cons 'org-diary-default-entry diary-list-entries-hook))
4977 (diary-file-name-prefix-function nil) ; turn this feature off 5016 (diary-file-name-prefix nil) ; turn this feature off
4978 (diary-modify-entry-list-string-function 'org-modify-diary-entry-string) 5017 (diary-modify-entry-list-string-function 'org-modify-diary-entry-string)
4979 entries 5018 entries
4980 (org-disable-agenda-to-diary t)) 5019 (org-disable-agenda-to-diary t))
@@ -5250,7 +5289,7 @@ the documentation of `org-diary'."
5250 "\\|") "\\)")) 5289 "\\|") "\\)"))
5251 (t org-not-done-regexp)))) 5290 (t org-not-done-regexp))))
5252 marker priority category category-pos tags todo-state 5291 marker priority category category-pos tags todo-state
5253 ee txt beg end) 5292 ee txt beg end inherited-tags)
5254 (goto-char (point-min)) 5293 (goto-char (point-min))
5255 (while (re-search-forward regexp nil t) 5294 (while (re-search-forward regexp nil t)
5256 (catch :skip 5295 (catch :skip
@@ -5268,7 +5307,14 @@ the documentation of `org-diary'."
5268 category-pos (get-text-property (point) 'org-category-position) 5307 category-pos (get-text-property (point) 'org-category-position)
5269 txt (org-trim 5308 txt (org-trim
5270 (buffer-substring (match-beginning 2) (match-end 0))) 5309 (buffer-substring (match-beginning 2) (match-end 0)))
5271 tags (org-get-tags-at nil t) 5310 inherited-tags
5311 (or (eq org-agenda-show-inherited-tags 'always)
5312 (and (listp org-agenda-show-inherited-tags)
5313 (memq 'todo org-agenda-show-inherited-tags))
5314 (and (eq org-agenda-show-inherited-tags t)
5315 (or (eq org-agenda-use-tag-inheritance t)
5316 (memq 'todo org-agenda-use-tag-inheritance))))
5317 tags (org-get-tags-at nil (not inherited-tags))
5272 txt (org-agenda-format-item "" txt category tags t) 5318 txt (org-agenda-format-item "" txt category tags t)
5273 priority (1+ (org-get-priority txt)) 5319 priority (1+ (org-get-priority txt))
5274 todo-state (org-get-todo-state)) 5320 todo-state (org-get-todo-state))
@@ -5395,7 +5441,8 @@ Do we have a reason to ignore this TODO entry because it has a time stamp?
5395 "\\|\\(<%%\\(([^>\n]+)\\)>\\)")) 5441 "\\|\\(<%%\\(([^>\n]+)\\)>\\)"))
5396 marker hdmarker deadlinep scheduledp clockp closedp inactivep 5442 marker hdmarker deadlinep scheduledp clockp closedp inactivep
5397 donep tmp priority category category-pos ee txt timestr tags 5443 donep tmp priority category category-pos ee txt timestr tags
5398 b0 b3 e3 head todo-state end-of-match show-all warntime habitp) 5444 b0 b3 e3 head todo-state end-of-match show-all warntime habitp
5445 inherited-tags)
5399 (goto-char (point-min)) 5446 (goto-char (point-min))
5400 (while (setq end-of-match (re-search-forward regexp nil t)) 5447 (while (setq end-of-match (re-search-forward regexp nil t))
5401 (setq b0 (match-beginning 0) 5448 (setq b0 (match-beginning 0)
@@ -5447,7 +5494,14 @@ Do we have a reason to ignore this TODO entry because it has a time stamp?
5447 (assoc (point) deadline-position-alist)) 5494 (assoc (point) deadline-position-alist))
5448 (throw :skip nil)) 5495 (throw :skip nil))
5449 (setq hdmarker (org-agenda-new-marker) 5496 (setq hdmarker (org-agenda-new-marker)
5450 tags (org-get-tags-at nil t)) 5497 inherited-tags
5498 (or (eq org-agenda-show-inherited-tags 'always)
5499 (and (listp org-agenda-show-inherited-tags)
5500 (memq 'agenda org-agenda-show-inherited-tags))
5501 (and (eq org-agenda-show-inherited-tags t)
5502 (or (eq org-agenda-use-tag-inheritance t)
5503 (memq 'agenda org-agenda-use-tag-inheritance))))
5504 tags (org-get-tags-at nil (not inherited-tags)))
5451 (looking-at "\\*+[ \t]+\\([^\r\n]+\\)") 5505 (looking-at "\\*+[ \t]+\\([^\r\n]+\\)")
5452 (setq head (or (match-string 1) "")) 5506 (setq head (or (match-string 1) ""))
5453 (setq txt (org-agenda-format-item 5507 (setq txt (org-agenda-format-item
@@ -5479,7 +5533,7 @@ Do we have a reason to ignore this TODO entry because it has a time stamp?
5479 (abbreviate-file-name buffer-file-name)))) 5533 (abbreviate-file-name buffer-file-name))))
5480 (regexp "^&?%%(") 5534 (regexp "^&?%%(")
5481 marker category extra category-pos ee txt tags entry 5535 marker category extra category-pos ee txt tags entry
5482 result beg b sexp sexp-entry todo-state warntime) 5536 result beg b sexp sexp-entry todo-state warntime inherited-tags)
5483 (goto-char (point-min)) 5537 (goto-char (point-min))
5484 (while (re-search-forward regexp nil t) 5538 (while (re-search-forward regexp nil t)
5485 (catch :skip 5539 (catch :skip
@@ -5497,7 +5551,14 @@ Do we have a reason to ignore this TODO entry because it has a time stamp?
5497 (setq marker (org-agenda-new-marker beg) 5551 (setq marker (org-agenda-new-marker beg)
5498 category (org-get-category beg) 5552 category (org-get-category beg)
5499 category-pos (get-text-property beg 'org-category-position) 5553 category-pos (get-text-property beg 'org-category-position)
5500 tags (save-excursion (org-back-to-heading t) (org-get-tags-at nil t)) 5554 inherited-tags
5555 (or (eq org-agenda-show-inherited-tags 'always)
5556 (and (listp org-agenda-show-inherited-tags)
5557 (memq 'agenda org-agenda-show-inherited-tags))
5558 (and (eq org-agenda-show-inherited-tags t)
5559 (or (eq org-agenda-use-tag-inheritance t)
5560 (memq 'agenda org-agenda-use-tag-inheritance))))
5561 tags (org-get-tags-at nil (not inherited-tags))
5501 todo-state (org-get-todo-state) 5562 todo-state (org-get-todo-state)
5502 warntime (get-text-property (point) 'org-appt-warntime) 5563 warntime (get-text-property (point) 'org-appt-warntime)
5503 extra nil) 5564 extra nil)
@@ -5628,7 +5689,7 @@ please use `org-class' instead."
5628 1 11)))) 5689 1 11))))
5629 (org-agenda-search-headline-for-time nil) 5690 (org-agenda-search-headline-for-time nil)
5630 marker hdmarker priority category category-pos tags closedp 5691 marker hdmarker priority category category-pos tags closedp
5631 statep clockp state ee txt extra timestr rest clocked) 5692 statep clockp state ee txt extra timestr rest clocked inherited-tags)
5632 (goto-char (point-min)) 5693 (goto-char (point-min))
5633 (while (re-search-forward regexp nil t) 5694 (while (re-search-forward regexp nil t)
5634 (catch :skip 5695 (catch :skip
@@ -5666,7 +5727,14 @@ please use `org-class' instead."
5666 (setq txt org-agenda-no-heading-message) 5727 (setq txt org-agenda-no-heading-message)
5667 (goto-char (match-beginning 0)) 5728 (goto-char (match-beginning 0))
5668 (setq hdmarker (org-agenda-new-marker) 5729 (setq hdmarker (org-agenda-new-marker)
5669 tags (org-get-tags-at nil t)) 5730 inherited-tags
5731 (or (eq org-agenda-show-inherited-tags 'always)
5732 (and (listp org-agenda-show-inherited-tags)
5733 (memq 'todo org-agenda-show-inherited-tags))
5734 (and (eq org-agenda-show-inherited-tags t)
5735 (or (eq org-agenda-use-tag-inheritance t)
5736 (memq 'todo org-agenda-use-tag-inheritance))))
5737 tags (org-get-tags-at nil (not inherited-tags)))
5670 (looking-at "\\*+[ \t]+\\([^\r\n]+\\)") 5738 (looking-at "\\*+[ \t]+\\([^\r\n]+\\)")
5671 (setq txt (match-string 1)) 5739 (setq txt (match-string 1))
5672 (when extra 5740 (when extra
@@ -5944,7 +6012,7 @@ FRACTION is what fraction of the head-warning time has passed."
5944 deadline-results)) 6012 deadline-results))
5945 d2 diff pos pos1 category category-pos tags donep 6013 d2 diff pos pos1 category category-pos tags donep
5946 ee txt head pastschedp todo-state face timestr s habitp show-all 6014 ee txt head pastschedp todo-state face timestr s habitp show-all
5947 did-habit-check-p warntime) 6015 did-habit-check-p warntime inherited-tags)
5948 (goto-char (point-min)) 6016 (goto-char (point-min))
5949 (while (re-search-forward regexp nil t) 6017 (while (re-search-forward regexp nil t)
5950 (catch :skip 6018 (catch :skip
@@ -6006,7 +6074,14 @@ FRACTION is what fraction of the head-warning time has passed."
6006 pastschedp)) 6074 pastschedp))
6007 (setq mm (assoc pos1 deadline-position-alist))) 6075 (setq mm (assoc pos1 deadline-position-alist)))
6008 (throw :skip nil))) 6076 (throw :skip nil)))
6009 (setq tags (org-get-tags-at nil t)) 6077 (setq inherited-tags
6078 (or (eq org-agenda-show-inherited-tags 'always)
6079 (and (listp org-agenda-show-inherited-tags)
6080 (memq 'agenda org-agenda-show-inherited-tags))
6081 (and (eq org-agenda-show-inherited-tags t)
6082 (or (eq org-agenda-use-tag-inheritance t)
6083 (memq 'agenda org-agenda-use-tag-inheritance))))
6084 tags (org-get-tags-at nil (not inherited-tags)))
6010 (setq head (buffer-substring-no-properties 6085 (setq head (buffer-substring-no-properties
6011 (point) 6086 (point)
6012 (progn (skip-chars-forward "^\r\n") (point)))) 6087 (progn (skip-chars-forward "^\r\n") (point))))
@@ -6061,7 +6136,7 @@ FRACTION is what fraction of the head-warning time has passed."
6061 (regexp org-tr-regexp) 6136 (regexp org-tr-regexp)
6062 (d0 (calendar-absolute-from-gregorian date)) 6137 (d0 (calendar-absolute-from-gregorian date))
6063 marker hdmarker ee txt d1 d2 s1 s2 category category-pos 6138 marker hdmarker ee txt d1 d2 s1 s2 category category-pos
6064 todo-state tags pos head donep) 6139 todo-state tags pos head donep inherited-tags)
6065 (goto-char (point-min)) 6140 (goto-char (point-min))
6066 (while (re-search-forward regexp nil t) 6141 (while (re-search-forward regexp nil t)
6067 (catch :skip 6142 (catch :skip
@@ -6087,8 +6162,15 @@ FRACTION is what fraction of the head-warning time has passed."
6087 (if (not (re-search-backward org-outline-regexp-bol nil t)) 6162 (if (not (re-search-backward org-outline-regexp-bol nil t))
6088 (setq txt org-agenda-no-heading-message) 6163 (setq txt org-agenda-no-heading-message)
6089 (goto-char (match-beginning 0)) 6164 (goto-char (match-beginning 0))
6090 (setq hdmarker (org-agenda-new-marker (point))) 6165 (setq hdmarker (org-agenda-new-marker (point))
6091 (setq tags (org-get-tags-at nil t)) 6166 inherited-tags
6167 (or (eq org-agenda-show-inherited-tags 'always)
6168 (and (listp org-agenda-show-inherited-tags)
6169 (memq 'agenda org-agenda-show-inherited-tags))
6170 (and (eq org-agenda-show-inherited-tags t)
6171 (or (eq org-agenda-use-tag-inheritance t)
6172 (memq 'agenda org-agenda-use-tag-inheritance))))
6173 tags (org-get-tags-at nil (not inherited-tags)))
6092 (looking-at "\\*+[ \t]+\\([^\r\n]+\\)") 6174 (looking-at "\\*+[ \t]+\\([^\r\n]+\\)")
6093 (setq head (match-string 1)) 6175 (setq head (match-string 1))
6094 (let ((remove-re 6176 (let ((remove-re
@@ -7702,7 +7784,7 @@ When called with a prefix argument, include all archive files as well."
7702 ""))) 7784 "")))
7703 (force-mode-line-update)) 7785 (force-mode-line-update))
7704 7786
7705(org-define-obsolete-function-alias 7787(define-obsolete-function-alias
7706 'org-agenda-post-command-hook 'org-agenda-update-agenda-type "24.3") 7788 'org-agenda-post-command-hook 'org-agenda-update-agenda-type "24.3")
7707 7789
7708(defun org-agenda-update-agenda-type () 7790(defun org-agenda-update-agenda-type ()
diff --git a/lisp/org/org-capture.el b/lisp/org/org-capture.el
index c888536b385..8a271b8d055 100644
--- a/lisp/org/org-capture.el
+++ b/lisp/org/org-capture.el
@@ -451,7 +451,7 @@ For example, if you have a capture template \"c\" and you want
451this template to be accessible only from `message-mode' buffers, 451this template to be accessible only from `message-mode' buffers,
452use this: 452use this:
453 453
454 '((\"c\" (in-mode . \"message-mode\"))) 454 '((\"c\" ((in-mode . \"message-mode\"))))
455 455
456Here are the available contexts definitions: 456Here are the available contexts definitions:
457 457
@@ -467,11 +467,11 @@ accessible if there is at least one valid check.
467You can also bind a key to another agenda custom command 467You can also bind a key to another agenda custom command
468depending on contextual rules. 468depending on contextual rules.
469 469
470 '((\"c\" \"d\" (in-mode . \"message-mode\"))) 470 '((\"c\" \"d\" ((in-mode . \"message-mode\"))))
471 471
472Here it means: in `message-mode buffers', use \"d\" as the 472Here it means: in `message-mode buffers', use \"c\" as the
473key for the capture template otherwise associated with \"d\". 473key for the capture template otherwise associated with \"d\".
474\(The template originally associated with \"q\" is not displayed 474\(The template originally associated with \"d\" is not displayed
475to avoid duplicates.)" 475to avoid duplicates.)"
476 :version "24.3" 476 :version "24.3"
477 :group 'org-capture 477 :group 'org-capture
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index 32cfa9ae913..c043dd19e11 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -205,7 +205,7 @@ file name play this sound file. If not possible, fall back to beep"
205 (const :tag "Standard beep" t) 205 (const :tag "Standard beep" t)
206 (file :tag "Play sound file"))) 206 (file :tag "Play sound file")))
207 207
208(org-define-obsolete-variable-alias 'org-clock-modeline-total 208(define-obsolete-variable-alias 'org-clock-modeline-total
209 'org-clock-mode-line-total "24.3") 209 'org-clock-mode-line-total "24.3")
210 210
211(defcustom org-clock-mode-line-total 'auto 211(defcustom org-clock-mode-line-total 'auto
diff --git a/lisp/org/org-compat.el b/lisp/org/org-compat.el
index 687b81fd882..9292b994367 100644
--- a/lisp/org/org-compat.el
+++ b/lisp/org/org-compat.el
@@ -169,24 +169,6 @@ If DELETE is non-nil, delete all those overlays."
169 (set-buffer-modified-p modified-p)) 169 (set-buffer-modified-p modified-p))
170 (decompose-region beg end))) 170 (decompose-region beg end)))
171 171
172(defmacro org-define-obsolete-function-alias (o-name c-name when &optional doc)
173 "Reconcile the two-argument form of
174`define-obsolete-function-alias' in XEmacs/Emacs 22 with the 3-4
175argument form in Emacs 23 and later."
176 (if (or (featurep 'xemacs)
177 (< emacs-major-version 23))
178 `(define-obsolete-function-alias ,o-name ,c-name)
179 `(define-obsolete-function-alias ,o-name ,c-name ,when ,doc)))
180
181(defmacro org-define-obsolete-variable-alias (o-name c-name when &optional doc)
182 "Reconcile the two-argument form of
183`define-obsolete-variable-alias' in XEmacs/Emacs 22 with the 3-4
184argument form in Emacs 23 and later."
185 (if (or (featurep 'xemacs)
186 (< emacs-major-version 23))
187 `(define-obsolete-variable-alias ,o-name ,c-name)
188 `(define-obsolete-variable-alias ,o-name ,c-name ,when ,doc)))
189
190;; Miscellaneous functions 172;; Miscellaneous functions
191 173
192(defun org-add-hook (hook function &optional append local) 174(defun org-add-hook (hook function &optional append local)
@@ -463,16 +445,6 @@ With two arguments, return floor and remainder of their quotient."
463 'pop-to-buffer-same-window buffer-or-name norecord) 445 'pop-to-buffer-same-window buffer-or-name norecord)
464 (funcall 'switch-to-buffer buffer-or-name norecord))) 446 (funcall 'switch-to-buffer buffer-or-name norecord)))
465 447
466;; `condition-case-unless-debug' has been introduced in Emacs 24.1
467;; `condition-case-no-debug' has been introduced in Emacs 23.1
468(defmacro org-condition-case-unless-debug (var bodyform &rest handlers)
469 (declare (debug condition-case) (indent 2))
470 (or (and (fboundp 'condition-case-unless-debug)
471 `(condition-case-unless-debug ,var ,bodyform ,@handlers))
472 (and (fboundp 'condition-case-no-debug)
473 `(condition-case-no-debug ,var ,bodyform ,@handlers))
474 `(condition-case ,var ,bodyform ,@handlers)))
475
476;; RECURSIVE has been introduced with Emacs 23.2. 448;; RECURSIVE has been introduced with Emacs 23.2.
477;; This is copying and adapted from `tramp-compat-delete-directory' 449;; This is copying and adapted from `tramp-compat-delete-directory'
478(defun org-delete-directory (directory &optional recursive) 450(defun org-delete-directory (directory &optional recursive)
diff --git a/lisp/org/org-id.el b/lisp/org/org-id.el
index 5d8e5b0dcf9..6e865b50c2c 100644
--- a/lisp/org/org-id.el
+++ b/lisp/org/org-id.el
@@ -83,7 +83,7 @@
83 :tag "Org ID" 83 :tag "Org ID"
84 :group 'org) 84 :group 'org)
85 85
86(org-define-obsolete-variable-alias 86(define-obsolete-variable-alias
87 'org-link-to-org-use-id 'org-id-link-to-org-use-id "24.3") 87 'org-link-to-org-use-id 'org-id-link-to-org-use-id "24.3")
88(defcustom org-id-link-to-org-use-id nil 88(defcustom org-id-link-to-org-use-id nil
89 "Non-nil means storing a link to an Org file will use entry IDs. 89 "Non-nil means storing a link to an Org file will use entry IDs.
diff --git a/lisp/org/org-lparse.el b/lisp/org/org-lparse.el
index e9fbbea586e..11711353ff7 100644
--- a/lisp/org/org-lparse.el
+++ b/lisp/org/org-lparse.el
@@ -1718,7 +1718,7 @@ information."
1718 (org-lparse-end-paragraph) 1718 (org-lparse-end-paragraph)
1719 (org-lparse-end-list-item (or type "u"))) 1719 (org-lparse-end-list-item (or type "u")))
1720 1720
1721(org-define-obsolete-function-alias 1721(define-obsolete-function-alias
1722 'org-lparse-preprocess-after-blockquote-hook 1722 'org-lparse-preprocess-after-blockquote-hook
1723 'org-lparse-preprocess-after-blockquote 1723 'org-lparse-preprocess-after-blockquote
1724 "24.3") 1724 "24.3")
@@ -1736,7 +1736,7 @@ information."
1736 (format "ORG-%s-END %s" (upcase (match-string 2)) 1736 (format "ORG-%s-END %s" (upcase (match-string 2))
1737 (match-string 3))) t t)))) 1737 (match-string 3))) t t))))
1738 1738
1739(org-define-obsolete-function-alias 1739(define-obsolete-function-alias
1740 'org-lparse-strip-experimental-blocks-maybe-hook 1740 'org-lparse-strip-experimental-blocks-maybe-hook
1741 'org-lparse-strip-experimental-blocks-maybe 1741 'org-lparse-strip-experimental-blocks-maybe
1742 "24.3") 1742 "24.3")
diff --git a/lisp/org/org-mobile.el b/lisp/org/org-mobile.el
index d2e7c217f76..a410de0d775 100644
--- a/lisp/org/org-mobile.el
+++ b/lisp/org/org-mobile.el
@@ -620,12 +620,10 @@ The table of checksums is written to the file mobile-checksums."
620 (delete-region (point) (point-at-eol))) 620 (delete-region (point) (point-at-eol)))
621 ((get-text-property (point) 'org-agenda-structural-header) 621 ((get-text-property (point) 'org-agenda-structural-header)
622 (setq in-date nil) 622 (setq in-date nil)
623 (setq app (get-text-property (point) 623 (setq app (get-text-property (point) 'org-agenda-title-append))
624 'org-agenda-title-append)) 624 (setq short (get-text-property (point) 'short-heading))
625 (setq short (get-text-property (point)
626 'short-heading))
627 (when (and short (looking-at ".+")) 625 (when (and short (looking-at ".+"))
628 (replace-match short) 626 (replace-match short nil t)
629 (beginning-of-line 1)) 627 (beginning-of-line 1))
630 (when app 628 (when app
631 (end-of-line 1) 629 (end-of-line 1)
diff --git a/lisp/org/org-odt.el b/lisp/org/org-odt.el
index b5f6e21c0c2..92228f37eb8 100644
--- a/lisp/org/org-odt.el
+++ b/lisp/org/org-odt.el
@@ -447,7 +447,7 @@ values. See Info node `(emacs) File Variables'."
447 xml-files)) 447 xml-files))
448 ;; delete temporary directory. 448 ;; delete temporary directory.
449 (org-delete-directory org-odt-zip-dir t))))) 449 (org-delete-directory org-odt-zip-dir t)))))
450 (org-condition-case-unless-debug err 450 (condition-case err
451 (prog1 (progn ,@body) 451 (prog1 (progn ,@body)
452 (funcall --cleanup-xml-buffers)) 452 (funcall --cleanup-xml-buffers))
453 ((quit error) 453 ((quit error)
diff --git a/lisp/org/org-protocol.el b/lisp/org/org-protocol.el
index fd84e62c003..18c6d6d70a4 100644
--- a/lisp/org/org-protocol.el
+++ b/lisp/org/org-protocol.el
@@ -128,15 +128,15 @@
128 (filename &optional up)) 128 (filename &optional up))
129(declare-function server-edit "server" (&optional arg)) 129(declare-function server-edit "server" (&optional arg))
130 130
131(org-define-obsolete-function-alias 131(define-obsolete-function-alias
132 'org-protocol-unhex-compound 'org-link-unescape-compound 132 'org-protocol-unhex-compound 'org-link-unescape-compound
133 "2011-02-17") 133 "2011-02-17")
134 134
135(org-define-obsolete-function-alias 135(define-obsolete-function-alias
136 'org-protocol-unhex-string 'org-link-unescape 136 'org-protocol-unhex-string 'org-link-unescape
137 "2011-02-17") 137 "2011-02-17")
138 138
139(org-define-obsolete-function-alias 139(define-obsolete-function-alias
140 'org-protocol-unhex-single-byte-sequence 140 'org-protocol-unhex-single-byte-sequence
141 'org-link-unescape-single-byte-sequence 141 'org-link-unescape-single-byte-sequence
142 "2011-02-17") 142 "2011-02-17")
diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el
index f638e57ad94..e62eba3cf83 100644
--- a/lisp/org/org-version.el
+++ b/lisp/org/org-version.el
@@ -5,13 +5,13 @@
5(defun org-release () 5(defun org-release ()
6 "The release version of org-mode. 6 "The release version of org-mode.
7 Inserted by installing org-mode or when a release is made." 7 Inserted by installing org-mode or when a release is made."
8 (let ((org-release "7.9.3+")) 8 (let ((org-release "7.9.3d"))
9 org-release)) 9 org-release))
10;;;###autoload 10;;;###autoload
11(defun org-git-version () 11(defun org-git-version ()
12 "The Git version of org-mode. 12 "The Git version of org-mode.
13 Inserted by installing org-mode or when a release is made." 13 Inserted by installing org-mode or when a release is made."
14 (let ((org-git-version "7.9.3+-GNU-Emacs-24-3 (commit 4cac75153)")) 14 (let ((org-git-version "7.9.3d-GNU-Emacs-24-3 (commit e8f5b0ad)"))
15 org-git-version)) 15 org-git-version))
16;;;###autoload 16;;;###autoload
17(defvar org-odt-data-dir "/usr/share/emacs/etc/org" 17(defvar org-odt-data-dir "/usr/share/emacs/etc/org"
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 32ed13fc1a3..9409feca178 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -7402,7 +7402,12 @@ even level numbers will become the next higher odd number."
7402 ((< change 0) (max 1 (1+ (* 2 (/ (+ level (* 2 change)) 2)))))) 7402 ((< change 0) (max 1 (1+ (* 2 (/ (+ level (* 2 change)) 2))))))
7403 (max 1 (+ level (or change 0))))) 7403 (max 1 (+ level (or change 0)))))
7404 7404
7405(org-define-obsolete-function-alias 'org-get-legal-level 'org-get-valid-level "23.1") 7405(if (boundp 'define-obsolete-function-alias)
7406 (if (or (featurep 'xemacs) (< emacs-major-version 23))
7407 (define-obsolete-function-alias 'org-get-legal-level
7408 'org-get-valid-level)
7409 (define-obsolete-function-alias 'org-get-legal-level
7410 'org-get-valid-level "23.1")))
7406 7411
7407(defvar org-called-with-limited-levels nil) ;; Dynamically bound in 7412(defvar org-called-with-limited-levels nil) ;; Dynamically bound in
7408;; ̀org-with-limited-levels' 7413;; ̀org-with-limited-levels'
@@ -9684,12 +9689,14 @@ application the system uses for this file type."
9684 "[ \t]:[^ \t\n]+:[ \t]*$"))) 9689 "[ \t]:[^ \t\n]+:[ \t]*$")))
9685 (not (get-text-property (point) 'org-linked-text))) 9690 (not (get-text-property (point) 'org-linked-text)))
9686 (or (let* ((lkall (org-offer-links-in-entry (current-buffer) (point) arg)) 9691 (or (let* ((lkall (org-offer-links-in-entry (current-buffer) (point) arg))
9687 (lk (car lkall)) 9692 (lk0 (car lkall))
9693 (lk (if (stringp lk0) (list lk0) lk0))
9688 (lkend (cdr lkall))) 9694 (lkend (cdr lkall)))
9689 (when lk 9695 (mapcar (lambda(l)
9690 (prog1 (search-forward lk nil lkend) 9696 (search-forward l nil lkend)
9691 (goto-char (match-beginning 0)) 9697 (goto-char (match-beginning 0))
9692 (org-open-at-point)))) 9698 (org-open-at-point))
9699 lk))
9693 (progn (require 'org-attach) (org-attach-reveal 'if-exists)))) 9700 (progn (require 'org-attach) (org-attach-reveal 'if-exists))))
9694 ((run-hook-with-args-until-success 'org-open-at-point-functions)) 9701 ((run-hook-with-args-until-success 'org-open-at-point-functions))
9695 ((and (org-at-timestamp-p t) 9702 ((and (org-at-timestamp-p t)
@@ -13524,7 +13531,10 @@ ignore inherited ones."
13524 (error nil))))) 13531 (error nil)))))
13525 (if local 13532 (if local
13526 tags 13533 tags
13527 (append (org-remove-uninherited-tags org-file-tags) tags)))))) 13534 (reverse (delete-dups
13535 (reverse (append
13536 (org-remove-uninherited-tags
13537 org-file-tags) tags)))))))))
13528 13538
13529(defun org-add-prop-inherited (s) 13539(defun org-add-prop-inherited (s)
13530 (add-text-properties 0 (length s) '(inherited t) s) 13540 (add-text-properties 0 (length s) '(inherited t) s)
@@ -17798,7 +17808,7 @@ BEG and END default to the buffer boundaries."
17798 (list 'org-display-inline-remove-overlay)) 17808 (list 'org-display-inline-remove-overlay))
17799 (push ov org-inline-image-overlays))))))))) 17809 (push ov org-inline-image-overlays)))))))))
17800 17810
17801(org-define-obsolete-function-alias 17811(define-obsolete-function-alias
17802 'org-display-inline-modification-hook 'org-display-inline-remove-overlay "24.3") 17812 'org-display-inline-modification-hook 'org-display-inline-remove-overlay "24.3")
17803 17813
17804(defun org-display-inline-remove-overlay (ov after beg end &optional len) 17814(defun org-display-inline-remove-overlay (ov after beg end &optional len)
@@ -18178,7 +18188,7 @@ If not, return to the original position and throw an error."
18178(defvar org-table-auto-blank-field) ; defined in org-table.el 18188(defvar org-table-auto-blank-field) ; defined in org-table.el
18179(defvar org-speed-command nil) 18189(defvar org-speed-command nil)
18180 18190
18181(org-define-obsolete-function-alias 18191(define-obsolete-function-alias
18182 'org-speed-command-default-hook 'org-speed-command-activate "24.3") 18192 'org-speed-command-default-hook 'org-speed-command-activate "24.3")
18183 18193
18184(defun org-speed-command-activate (keys) 18194(defun org-speed-command-activate (keys)
@@ -18191,7 +18201,7 @@ Use `org-speed-commands-user' for further customization."
18191 (cdr (assoc keys (append org-speed-commands-user 18201 (cdr (assoc keys (append org-speed-commands-user
18192 org-speed-commands-default))))) 18202 org-speed-commands-default)))))
18193 18203
18194(org-define-obsolete-function-alias 18204(define-obsolete-function-alias
18195 'org-babel-speed-command-hook 'org-babel-speed-command-activate "24.3") 18205 'org-babel-speed-command-hook 'org-babel-speed-command-activate "24.3")
18196 18206
18197(defun org-babel-speed-command-activate (keys) 18207(defun org-babel-speed-command-activate (keys)
@@ -19026,14 +19036,13 @@ Otherwise, return a user error."
19026 (beginning-of-line 1) 19036 (beginning-of-line 1)
19027 (looking-at "\\(?:#\\+\\(?:setupfile\\|include\\):?[ \t]+\"?\\|[ \t]*<include\\>.*?file=\"\\)\\([^\"\n>]+\\)")) 19037 (looking-at "\\(?:#\\+\\(?:setupfile\\|include\\):?[ \t]+\"?\\|[ \t]*<include\\>.*?file=\"\\)\\([^\"\n>]+\\)"))
19028 (find-file (org-trim (match-string 1)))) 19038 (find-file (org-trim (match-string 1))))
19039 ((org-at-table.el-p) (org-edit-src-code))
19029 ((or (org-at-table-p) 19040 ((or (org-at-table-p)
19030 (save-excursion 19041 (save-excursion
19031 (beginning-of-line 1) 19042 (beginning-of-line 1)
19032 (let ((case-fold-search )) (looking-at "[ \t]*#\\+tblfm:")))) 19043 (let ((case-fold-search )) (looking-at "[ \t]*#\\+tblfm:"))))
19033 (call-interactively 'org-table-edit-formulas)) 19044 (call-interactively 'org-table-edit-formulas))
19034 ((or (org-in-block-p '("src" "example" "latex" "html")) 19045 ((org-in-block-p '("src" "example" "latex" "html")) (org-edit-src-code))
19035 (org-at-table.el-p))
19036 (org-edit-src-code))
19037 ((org-in-fixed-width-region-p) (org-edit-fixed-width-region)) 19046 ((org-in-fixed-width-region-p) (org-edit-fixed-width-region))
19038 ((org-at-regexp-p org-any-link-re) (call-interactively 'ffap)) 19047 ((org-at-regexp-p org-any-link-re) (call-interactively 'ffap))
19039 (t (user-error "No special environment to edit here")))) 19048 (t (user-error "No special environment to edit here"))))
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 172193266ca..0e5f4c82090 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1198,7 +1198,16 @@ of the statement."
1198 (not (eobp)) 1198 (not (eobp))
1199 (cond ((setq string-start (python-syntax-context 'string)) 1199 (cond ((setq string-start (python-syntax-context 'string))
1200 (goto-char string-start) 1200 (goto-char string-start)
1201 (python-nav-end-of-statement t)) 1201 (if (python-syntax-context 'paren)
1202 ;; Ended up inside a paren, roll again.
1203 (python-nav-end-of-statement t)
1204 ;; This is not inside a paren, move to the
1205 ;; end of this string.
1206 (goto-char (+ (point)
1207 (python-syntax-count-quotes
1208 (char-after (point)) (point))))
1209 (or (re-search-forward (rx (syntax string-delimiter)) nil t)
1210 (goto-char (point-max)))))
1202 ((python-syntax-context 'paren) 1211 ((python-syntax-context 'paren)
1203 ;; The statement won't end before we've escaped 1212 ;; The statement won't end before we've escaped
1204 ;; at least one level of parenthesis. 1213 ;; at least one level of parenthesis.
@@ -1312,7 +1321,7 @@ backward to previous block."
1312 "Safe version of standard `forward-sexp'. 1321 "Safe version of standard `forward-sexp'.
1313When ARG > 0 move forward, else if ARG is < 0." 1322When ARG > 0 move forward, else if ARG is < 0."
1314 (or arg (setq arg 1)) 1323 (or arg (setq arg 1))
1315 (let ((forward-sexp-function nil) 1324 (let ((forward-sexp-function)
1316 (paren-regexp 1325 (paren-regexp
1317 (if (> arg 0) (python-rx close-paren) (python-rx open-paren))) 1326 (if (> arg 0) (python-rx close-paren) (python-rx open-paren)))
1318 (search-fn 1327 (search-fn
diff --git a/lisp/subr.el b/lisp/subr.el
index 11e882d9158..e1ab5298409 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -3367,16 +3367,17 @@ If BODY finishes, `while-no-input' returns whatever value BODY produced."
3367 (progn ,@body))))))) 3367 (progn ,@body)))))))
3368 3368
3369(defmacro condition-case-unless-debug (var bodyform &rest handlers) 3369(defmacro condition-case-unless-debug (var bodyform &rest handlers)
3370 "Like `condition-case' except that it does not catch anything when debugging. 3370 "Like `condition-case' except that it does not prevent debugging.
3371More specifically if `debug-on-error' is set, then it does not catch any signal." 3371More specifically if `debug-on-error' is set then the debugger will be invoked
3372even if this catches the signal."
3372 (declare (debug condition-case) (indent 2)) 3373 (declare (debug condition-case) (indent 2))
3373 (let ((bodysym (make-symbol "body"))) 3374 `(condition-case ,var
3374 `(let ((,bodysym (lambda () ,bodyform))) 3375 ,bodyform
3375 (if debug-on-error 3376 ,@(mapcar (lambda (handler)
3376 (funcall ,bodysym) 3377 `((debug ,@(if (listp (car handler)) (car handler)
3377 (condition-case ,var 3378 (list (car handler))))
3378 (funcall ,bodysym) 3379 ,@(cdr handler)))
3379 ,@handlers))))) 3380 handlers)))
3380 3381
3381(define-obsolete-function-alias 'condition-case-no-debug 3382(define-obsolete-function-alias 'condition-case-no-debug
3382 'condition-case-unless-debug "24.1") 3383 'condition-case-unless-debug "24.1")