aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorBastien Guerry2013-01-13 11:33:16 +0100
committerBastien Guerry2013-01-13 11:33:16 +0100
commita89c8ef024113dbf993db0d379fabbfb06c86520 (patch)
tree94b70d44c096cec75cf0dd10686042ef4574928c /lisp
parentf5e9cbd447d2af41da420a5dde2f28ba75892a37 (diff)
downloademacs-a89c8ef024113dbf993db0d379fabbfb06c86520.tar.gz
emacs-a89c8ef024113dbf993db0d379fabbfb06c86520.zip
Merge Org 7.9.3d (commit e8f5b0ad).
Diffstat (limited to 'lisp')
-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
13 files changed, 202 insertions, 112 deletions
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index 1201fa36a9f..b6d196ecf54 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -1,24 +1,47 @@
12013-01-08 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: Use 28 `diary-file-name-prefix' instead of
9 `org-define-obsolete-{function,variable}-alias' instead of 29 `diary-file-name-prefix-function', the former is checked before
10 `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-08 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"))))