summaryrefslogtreecommitdiff
path: root/lisp/org
diff options
context:
space:
mode:
authorBastien Guerry <bzg@gnu.org>2013-01-13 11:33:16 +0100
committerBastien Guerry <bzg@gnu.org>2013-01-13 11:33:16 +0100
commita89c8ef024113dbf993db0d379fabbfb06c86520 (patch)
tree94b70d44c096cec75cf0dd10686042ef4574928c /lisp/org
parentf5e9cbd447d2af41da420a5dde2f28ba75892a37 (diff)
Merge Org 7.9.3d (commit e8f5b0ad).
Diffstat (limited to 'lisp/org')
-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 @@
-2013-01-08 Achim Gratz <Stromeko@Stromeko.de>
+2013-01-13 Bastien Guerry <bzg@gnu.org>
+
+ * org-compat.el (org-condition-case-unless-debug): Delete.
+
+ * org-odt.el (org-odt-cleanup-xml-buffers): Use
+ `condition-case' instead of `org-condition-case-unless-debug',
+ which is now deleted.
+
+ * org-capture.el (org-capture-templates-contexts):
+ * org-agenda.el (org-agenda-custom-commands-contexts):
+ Docstring fix.
+
+ * org.el (org-get-tags-at): Remove duplicate inherited tags.
+
+ * org-agenda.el (org-agenda-show-inherited-tags): Allow to be set
+ to 'always or to a list of agenda types.
+ (org-agenda-finalize): Rework conditions under which inherited
+ tags should be made available even when not displayed.
+ (org-search-view, org-agenda-get-todos)
+ (org-agenda-get-timestamps, org-agenda-get-sexps)
+ (org-agenda-get-progress, org-agenda-get-scheduled)
+ (org-agenda-get-blocks): Use new possible values of
+ `org-agenda-show-inherited-tags'.
- * org-compat.el (org-define-obsolete-function-alias)
- (org-define-obsolete-variable-alias): Introduce new compatibility
- macros to obsolete functions and variables.
+ * org.el (org-open-at-point): Fix opening all links at point.
- * org-agenda.el, org-clock.el, org-id.el, org-lparse.el,
- org-protocol.el org.el: Use
- `org-define-obsolete-{function,variable}-alias' instead of
- `define-obsolate{function,variable}-alias'.
+ * org-agenda.el (org-get-entries-from-diary): Turn off
+ `diary-file-name-prefix' instead of
+ `diary-file-name-prefix-function', the former is checked before
+ the latter.
+
+ * org.el (org-edit-special): Check for table.el before checking
+ for Org tables.
+
+2013-01-13 Michael Albinus <michael.albinus@gmx.de>
+
+ * ob-eval.el (org-babel-shell-command-on-region): Use
+ `executable-find' for local `shell-file-name'.
+
+2013-01-08 Achim Gratz <Stromeko@Stromeko.de>
* org-faces.el: Define face alias mode-line for XEmacs (it's
called modeline there).
- * org-compat.el (org-condition-case-unless-debug): Do not use
- defalias for special forms, the Emacs 22 byte-compiler does not
- recognize them correctly when compiling macros. Use a macro
- instead and rely on macro expansion. That however makes the
- decision at compile time, which should be acceptable in this case
- since it only affects debugging.
-
* org-compat.el (org-no-popups): New wrapper macro which let-binds
the correct variables to suppress popup windows depending on the
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."
t)))
(let ((input-file (org-babel-temp-file "input-"))
(error-file (if error-buffer (org-babel-temp-file "scor-") nil))
+ ;; Unfortunately, `executable-find' does not support file name
+ ;; handlers. Therefore, we could use it in the local case
+ ;; only.
(shell-file-name
- (if (file-executable-p
- (concat (file-remote-p default-directory) shell-file-name))
- shell-file-name
- "/bin/sh"))
+ (cond ((and (not (file-remote-p default-directory))
+ (executable-find shell-file-name))
+ shell-file-name)
+ ((file-executable-p
+ (concat (file-remote-p default-directory) shell-file-name))
+ shell-file-name)
+ ("/bin/sh")))
exit-status)
;; There is an error in `process-file' when `error-file' exists.
;; 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')."
:version "24.1"
:type 'boolean)
-(org-define-obsolete-variable-alias 'org-agenda-menu-two-column 'org-agenda-menu-two-columns "24.3")
+(define-obsolete-variable-alias 'org-agenda-menu-two-column 'org-agenda-menu-two-columns "24.3")
(defcustom org-agenda-menu-two-columns nil
"Non-nil means, use two columns to show custom commands in the dispatcher.
@@ -900,7 +900,7 @@ to nil."
:version "24.1"
:type 'boolean)
-(org-define-obsolete-variable-alias 'org-finalize-agenda-hook 'org-agenda-finalize-hook "24.3")
+(define-obsolete-variable-alias 'org-finalize-agenda-hook 'org-agenda-finalize-hook "24.3")
(defcustom org-agenda-finalize-hook nil
"Hook run just before displaying an agenda buffer.
The 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."
(const :tag "No default duration")))
(defcustom org-agenda-show-inherited-tags t
- "Non-nil means show inherited tags in each agenda line."
+ "Non-nil means show inherited tags in each agenda line.
+
+When this option is set to 'always, it take precedences over
+`org-agenda-use-tag-inheritance' and inherited tags are shown
+in every agenda.
+
+When this option is set to t (the default), inherited tags are
+shown when they are available, i.e. when the value of
+`org-agenda-use-tag-inheritance' has been taken into account.
+
+This can be set to a list of agenda types in which the agenda
+must display the inherited tags. Available types are 'todo,
+'agenda, 'search and 'timeline.
+
+When set to nil, never show inherited tags in agenda lines."
:group 'org-agenda-line-format
- :type 'boolean)
+ :group 'org-agenda
+ :version "24.3"
+ :type '(choice
+ (const :tag "Show inherited tags when available" t)
+ (const :tag "Always show inherited tags" 'always)
+ (repeat :tag "Show inherited tags only in selected agenda types"
+ (symbol :tag "Agenda type"))))
(defcustom org-agenda-use-tag-inheritance '(todo search timeline agenda)
"List of agenda view types where to use tag inheritance.
In tags/tags-todo/tags-tree agenda views, tag inheritance is
controlled by `org-use-tag-inheritance'. In other agenda types,
-`org-use-tag-inheritance' is not used when selecting the agenda
-entries, but you may want the agenda to use the inherited tags
-anyway, e.g. for later tag filtering.
+`org-use-tag-inheritance' is not used for the selection of the
+agenda entries. Still, you may want the agenda to be aware of
+the inherited tags anyway, e.g. for later tag filtering.
-The default value reset tags in every agenda type. Setting this
-option to nil will speed up non-tags agenda view a lot.
+Allowed value are 'todo, 'search, 'timeline and 'agenda.
-Allowed value are 'todo, 'search, 'timeline and 'agenda."
- :version "24.3"
+This variable has no effect if `org-agenda-show-inherited-tags'
+is set to 'always. In that case, the agenda is aware of those
+tags.
+
+The default value sets tags in every agenda type. Setting this
+option to nil will speed up non-tags agenda view a lot."
:group 'org-agenda
- :type '(repeat (symbol :tag "Agenda type")))
+ :version "24.3"
+ :type '(choice
+ (const :tag "Use tag inheritance in all agenda types" t)
+ (repeat :tag "Use tag inheritance in selected agenda types"
+ (symbol :tag "Agenda type"))))
(defcustom org-agenda-hide-tags-regexp nil
"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
want this command to be accessible only from plain text files,
use this:
- '((\"p\" (in-file . \"\\.txt\")))
+ '((\"p\" ((in-file . \"\\.txt\"))))
Here are the available contexts definitions:
@@ -2379,7 +2406,7 @@ accessible if there is at least one valid check.
You can also bind a key to another agenda custom command
depending on contextual rules.
- '((\"p\" \"q\" (in-file . \"\\.txt\")))
+ '((\"p\" \"q\" ((in-file . \"\\.txt\"))))
Here it means: in .txt files, use \"p\" as the key for the
agenda command otherwise associated with \"q\". (The command
@@ -3569,8 +3596,14 @@ generating a new one."
(save-excursion (next-single-property-change (point-min) 'org-habit-p)))
(org-habit-insert-consistency-graphs))
(setq org-agenda-type (org-get-at-bol 'org-agenda-type))
- (when (delq nil (mapcar (lambda (tp) (org-agenda-check-type nil tp))
- org-agenda-use-tag-inheritance))
+ (unless (or (eq org-agenda-show-inherited-tags 'always)
+ (and (listp org-agenda-show-inherited-tags)
+ (memq org-agenda-type org-agenda-show-inherited-tags))
+ (and (eq org-agenda-show-inherited-tags t)
+ (or (eq org-agenda-use-tag-inheritance t)
+ (and (listp org-agenda-use-tag-inheritance)
+ (not (memq org-agenda-type
+ org-agenda-use-tag-inheritance))))))
(let (mrk)
(save-excursion
(goto-char (point-min))
@@ -4290,7 +4323,7 @@ in `org-agenda-text-search-extra-files'."
'help-echo (format "mouse-2 or RET jump to location")))
(full-words org-agenda-search-view-force-full-words)
(org-agenda-text-search-extra-files org-agenda-text-search-extra-files)
- regexp rtn rtnall files file pos
+ regexp rtn rtnall files file pos inherited-tags
marker category category-pos tags c neg re boolean
ee txt beg end words regexps+ regexps- hdl-only buffer beg1 str)
(unless (and (not edit-at)
@@ -4444,7 +4477,13 @@ in `org-agenda-text-search-extra-files'."
(setq marker (org-agenda-new-marker (point))
category (org-get-category)
category-pos (get-text-property (point) 'org-category-position)
- tags (org-get-tags-at nil t)
+ inherited-tags
+ (or (eq org-agenda-show-inherited-tags 'always)
+ (memq 'todo org-agenda-show-inherited-tags)
+ (and (eq org-agenda-show-inherited-tags t)
+ (or (eq org-agenda-use-tag-inheritance t)
+ (memq 'todo org-agenda-use-tag-inheritance))))
+ tags (org-get-tags-at nil (not inherited-tags))
txt (org-agenda-format-item
""
(buffer-substring-no-properties
@@ -4974,7 +5013,7 @@ of what a project is and how to check if it stuck, customize the variable
(pop-up-frames nil)
(diary-list-entries-hook
(cons 'org-diary-default-entry diary-list-entries-hook))
- (diary-file-name-prefix-function nil) ; turn this feature off
+ (diary-file-name-prefix nil) ; turn this feature off
(diary-modify-entry-list-string-function 'org-modify-diary-entry-string)
entries
(org-disable-agenda-to-diary t))
@@ -5250,7 +5289,7 @@ the documentation of `org-diary'."
"\\|") "\\)"))
(t org-not-done-regexp))))
marker priority category category-pos tags todo-state
- ee txt beg end)
+ ee txt beg end inherited-tags)
(goto-char (point-min))
(while (re-search-forward regexp nil t)
(catch :skip
@@ -5268,7 +5307,14 @@ the documentation of `org-diary'."
category-pos (get-text-property (point) 'org-category-position)
txt (org-trim
(buffer-substring (match-beginning 2) (match-end 0)))
- tags (org-get-tags-at nil t)
+ inherited-tags
+ (or (eq org-agenda-show-inherited-tags 'always)
+ (and (listp org-agenda-show-inherited-tags)
+ (memq 'todo org-agenda-show-inherited-tags))
+ (and (eq org-agenda-show-inherited-tags t)
+ (or (eq org-agenda-use-tag-inheritance t)
+ (memq 'todo org-agenda-use-tag-inheritance))))
+ tags (org-get-tags-at nil (not inherited-tags))
txt (org-agenda-format-item "" txt category tags t)
priority (1+ (org-get-priority txt))
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?
"\\|\\(<%%\\(([^>\n]+)\\)>\\)"))
marker hdmarker deadlinep scheduledp clockp closedp inactivep
donep tmp priority category category-pos ee txt timestr tags
- b0 b3 e3 head todo-state end-of-match show-all warntime habitp)
+ b0 b3 e3 head todo-state end-of-match show-all warntime habitp
+ inherited-tags)
(goto-char (point-min))
(while (setq end-of-match (re-search-forward regexp nil t))
(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?
(assoc (point) deadline-position-alist))
(throw :skip nil))
(setq hdmarker (org-agenda-new-marker)
- tags (org-get-tags-at nil t))
+ inherited-tags
+ (or (eq org-agenda-show-inherited-tags 'always)
+ (and (listp org-agenda-show-inherited-tags)
+ (memq 'agenda org-agenda-show-inherited-tags))
+ (and (eq org-agenda-show-inherited-tags t)
+ (or (eq org-agenda-use-tag-inheritance t)
+ (memq 'agenda org-agenda-use-tag-inheritance))))
+ tags (org-get-tags-at nil (not inherited-tags)))
(looking-at "\\*+[ \t]+\\([^\r\n]+\\)")
(setq head (or (match-string 1) ""))
(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?
(abbreviate-file-name buffer-file-name))))
(regexp "^&?%%(")
marker category extra category-pos ee txt tags entry
- result beg b sexp sexp-entry todo-state warntime)
+ result beg b sexp sexp-entry todo-state warntime inherited-tags)
(goto-char (point-min))
(while (re-search-forward regexp nil t)
(catch :skip
@@ -5497,7 +5551,14 @@ Do we have a reason to ignore this TODO entry because it has a time stamp?
(setq marker (org-agenda-new-marker beg)
category (org-get-category beg)
category-pos (get-text-property beg 'org-category-position)
- tags (save-excursion (org-back-to-heading t) (org-get-tags-at nil t))
+ inherited-tags
+ (or (eq org-agenda-show-inherited-tags 'always)
+ (and (listp org-agenda-show-inherited-tags)
+ (memq 'agenda org-agenda-show-inherited-tags))
+ (and (eq org-agenda-show-inherited-tags t)
+ (or (eq org-agenda-use-tag-inheritance t)
+ (memq 'agenda org-agenda-use-tag-inheritance))))
+ tags (org-get-tags-at nil (not inherited-tags))
todo-state (org-get-todo-state)
warntime (get-text-property (point) 'org-appt-warntime)
extra nil)
@@ -5628,7 +5689,7 @@ please use `org-class' instead."
1 11))))
(org-agenda-search-headline-for-time nil)
marker hdmarker priority category category-pos tags closedp
- statep clockp state ee txt extra timestr rest clocked)
+ statep clockp state ee txt extra timestr rest clocked inherited-tags)
(goto-char (point-min))
(while (re-search-forward regexp nil t)
(catch :skip
@@ -5666,7 +5727,14 @@ please use `org-class' instead."
(setq txt org-agenda-no-heading-message)
(goto-char (match-beginning 0))
(setq hdmarker (org-agenda-new-marker)
- tags (org-get-tags-at nil t))
+ inherited-tags
+ (or (eq org-agenda-show-inherited-tags 'always)
+ (and (listp org-agenda-show-inherited-tags)
+ (memq 'todo org-agenda-show-inherited-tags))
+ (and (eq org-agenda-show-inherited-tags t)
+ (or (eq org-agenda-use-tag-inheritance t)
+ (memq 'todo org-agenda-use-tag-inheritance))))
+ tags (org-get-tags-at nil (not inherited-tags)))
(looking-at "\\*+[ \t]+\\([^\r\n]+\\)")
(setq txt (match-string 1))
(when extra
@@ -5944,7 +6012,7 @@ FRACTION is what fraction of the head-warning time has passed."
deadline-results))
d2 diff pos pos1 category category-pos tags donep
ee txt head pastschedp todo-state face timestr s habitp show-all
- did-habit-check-p warntime)
+ did-habit-check-p warntime inherited-tags)
(goto-char (point-min))
(while (re-search-forward regexp nil t)
(catch :skip
@@ -6006,7 +6074,14 @@ FRACTION is what fraction of the head-warning time has passed."
pastschedp))
(setq mm (assoc pos1 deadline-position-alist)))
(throw :skip nil)))
- (setq tags (org-get-tags-at nil t))
+ (setq inherited-tags
+ (or (eq org-agenda-show-inherited-tags 'always)
+ (and (listp org-agenda-show-inherited-tags)
+ (memq 'agenda org-agenda-show-inherited-tags))
+ (and (eq org-agenda-show-inherited-tags t)
+ (or (eq org-agenda-use-tag-inheritance t)
+ (memq 'agenda org-agenda-use-tag-inheritance))))
+ tags (org-get-tags-at nil (not inherited-tags)))
(setq head (buffer-substring-no-properties
(point)
(progn (skip-chars-forward "^\r\n") (point))))
@@ -6061,7 +6136,7 @@ FRACTION is what fraction of the head-warning time has passed."
(regexp org-tr-regexp)
(d0 (calendar-absolute-from-gregorian date))
marker hdmarker ee txt d1 d2 s1 s2 category category-pos
- todo-state tags pos head donep)
+ todo-state tags pos head donep inherited-tags)
(goto-char (point-min))
(while (re-search-forward regexp nil t)
(catch :skip
@@ -6087,8 +6162,15 @@ FRACTION is what fraction of the head-warning time has passed."
(if (not (re-search-backward org-outline-regexp-bol nil t))
(setq txt org-agenda-no-heading-message)
(goto-char (match-beginning 0))
- (setq hdmarker (org-agenda-new-marker (point)))
- (setq tags (org-get-tags-at nil t))
+ (setq hdmarker (org-agenda-new-marker (point))
+ inherited-tags
+ (or (eq org-agenda-show-inherited-tags 'always)
+ (and (listp org-agenda-show-inherited-tags)
+ (memq 'agenda org-agenda-show-inherited-tags))
+ (and (eq org-agenda-show-inherited-tags t)
+ (or (eq org-agenda-use-tag-inheritance t)
+ (memq 'agenda org-agenda-use-tag-inheritance))))
+ tags (org-get-tags-at nil (not inherited-tags)))
(looking-at "\\*+[ \t]+\\([^\r\n]+\\)")
(setq head (match-string 1))
(let ((remove-re
@@ -7702,7 +7784,7 @@ When called with a prefix argument, include all archive files as well."
"")))
(force-mode-line-update))
-(org-define-obsolete-function-alias
+(define-obsolete-function-alias
'org-agenda-post-command-hook 'org-agenda-update-agenda-type "24.3")
(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
this template to be accessible only from `message-mode' buffers,
use this:
- '((\"c\" (in-mode . \"message-mode\")))
+ '((\"c\" ((in-mode . \"message-mode\"))))
Here are the available contexts definitions:
@@ -467,11 +467,11 @@ accessible if there is at least one valid check.
You can also bind a key to another agenda custom command
depending on contextual rules.
- '((\"c\" \"d\" (in-mode . \"message-mode\")))
+ '((\"c\" \"d\" ((in-mode . \"message-mode\"))))
-Here it means: in `message-mode buffers', use \"d\" as the
+Here it means: in `message-mode buffers', use \"c\" as the
key for the capture template otherwise associated with \"d\".
-\(The template originally associated with \"q\" is not displayed
+\(The template originally associated with \"d\" is not displayed
to avoid duplicates.)"
:version "24.3"
: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"
(const :tag "Standard beep" t)
(file :tag "Play sound file")))
-(org-define-obsolete-variable-alias 'org-clock-modeline-total
+(define-obsolete-variable-alias 'org-clock-modeline-total
'org-clock-mode-line-total "24.3")
(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."
(set-buffer-modified-p modified-p))
(decompose-region beg end)))
-(defmacro org-define-obsolete-function-alias (o-name c-name when &optional doc)
- "Reconcile the two-argument form of
-`define-obsolete-function-alias' in XEmacs/Emacs 22 with the 3-4
-argument form in Emacs 23 and later."
- (if (or (featurep 'xemacs)
- (< emacs-major-version 23))
- `(define-obsolete-function-alias ,o-name ,c-name)
- `(define-obsolete-function-alias ,o-name ,c-name ,when ,doc)))
-
-(defmacro org-define-obsolete-variable-alias (o-name c-name when &optional doc)
- "Reconcile the two-argument form of
-`define-obsolete-variable-alias' in XEmacs/Emacs 22 with the 3-4
-argument form in Emacs 23 and later."
- (if (or (featurep 'xemacs)
- (< emacs-major-version 23))
- `(define-obsolete-variable-alias ,o-name ,c-name)
- `(define-obsolete-variable-alias ,o-name ,c-name ,when ,doc)))
-
;; Miscellaneous functions
(defun org-add-hook (hook function &optional append local)
@@ -463,16 +445,6 @@ With two arguments, return floor and remainder of their quotient."
'pop-to-buffer-same-window buffer-or-name norecord)
(funcall 'switch-to-buffer buffer-or-name norecord)))
-;; `condition-case-unless-debug' has been introduced in Emacs 24.1
-;; `condition-case-no-debug' has been introduced in Emacs 23.1
-(defmacro org-condition-case-unless-debug (var bodyform &rest handlers)
- (declare (debug condition-case) (indent 2))
- (or (and (fboundp 'condition-case-unless-debug)
- `(condition-case-unless-debug ,var ,bodyform ,@handlers))
- (and (fboundp 'condition-case-no-debug)
- `(condition-case-no-debug ,var ,bodyform ,@handlers))
- `(condition-case ,var ,bodyform ,@handlers)))
-
;; RECURSIVE has been introduced with Emacs 23.2.
;; This is copying and adapted from `tramp-compat-delete-directory'
(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 @@
:tag "Org ID"
:group 'org)
-(org-define-obsolete-variable-alias
+(define-obsolete-variable-alias
'org-link-to-org-use-id 'org-id-link-to-org-use-id "24.3")
(defcustom org-id-link-to-org-use-id nil
"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."
(org-lparse-end-paragraph)
(org-lparse-end-list-item (or type "u")))
-(org-define-obsolete-function-alias
+(define-obsolete-function-alias
'org-lparse-preprocess-after-blockquote-hook
'org-lparse-preprocess-after-blockquote
"24.3")
@@ -1736,7 +1736,7 @@ information."
(format "ORG-%s-END %s" (upcase (match-string 2))
(match-string 3))) t t))))
-(org-define-obsolete-function-alias
+(define-obsolete-function-alias
'org-lparse-strip-experimental-blocks-maybe-hook
'org-lparse-strip-experimental-blocks-maybe
"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."
(delete-region (point) (point-at-eol)))
((get-text-property (point) 'org-agenda-structural-header)
(setq in-date nil)
- (setq app (get-text-property (point)
- 'org-agenda-title-append))
- (setq short (get-text-property (point)
- 'short-heading))
+ (setq app (get-text-property (point) 'org-agenda-title-append))
+ (setq short (get-text-property (point) 'short-heading))
(when (and short (looking-at ".+"))
- (replace-match short)
+ (replace-match short nil t)
(beginning-of-line 1))
(when app
(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'."
xml-files))
;; delete temporary directory.
(org-delete-directory org-odt-zip-dir t)))))
- (org-condition-case-unless-debug err
+ (condition-case err
(prog1 (progn ,@body)
(funcall --cleanup-xml-buffers))
((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 @@
(filename &optional up))
(declare-function server-edit "server" (&optional arg))
-(org-define-obsolete-function-alias
+(define-obsolete-function-alias
'org-protocol-unhex-compound 'org-link-unescape-compound
"2011-02-17")
-(org-define-obsolete-function-alias
+(define-obsolete-function-alias
'org-protocol-unhex-string 'org-link-unescape
"2011-02-17")
-(org-define-obsolete-function-alias
+(define-obsolete-function-alias
'org-protocol-unhex-single-byte-sequence
'org-link-unescape-single-byte-sequence
"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 @@
(defun org-release ()
"The release version of org-mode.
Inserted by installing org-mode or when a release is made."
- (let ((org-release "7.9.3+"))
+ (let ((org-release "7.9.3d"))
org-release))
;;;###autoload
(defun org-git-version ()
"The Git version of org-mode.
Inserted by installing org-mode or when a release is made."
- (let ((org-git-version "7.9.3+-GNU-Emacs-24-3 (commit 4cac75153)"))
+ (let ((org-git-version "7.9.3d-GNU-Emacs-24-3 (commit e8f5b0ad)"))
org-git-version))
;;;###autoload
(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."
((< change 0) (max 1 (1+ (* 2 (/ (+ level (* 2 change)) 2))))))
(max 1 (+ level (or change 0)))))
-(org-define-obsolete-function-alias 'org-get-legal-level 'org-get-valid-level "23.1")
+(if (boundp 'define-obsolete-function-alias)
+ (if (or (featurep 'xemacs) (< emacs-major-version 23))
+ (define-obsolete-function-alias 'org-get-legal-level
+ 'org-get-valid-level)
+ (define-obsolete-function-alias 'org-get-legal-level
+ 'org-get-valid-level "23.1")))
(defvar org-called-with-limited-levels nil) ;; Dynamically bound in
;; ̀org-with-limited-levels'
@@ -9684,12 +9689,14 @@ application the system uses for this file type."
"[ \t]:[^ \t\n]+:[ \t]*$")))
(not (get-text-property (point) 'org-linked-text)))
(or (let* ((lkall (org-offer-links-in-entry (current-buffer) (point) arg))
- (lk (car lkall))
+ (lk0 (car lkall))
+ (lk (if (stringp lk0) (list lk0) lk0))
(lkend (cdr lkall)))
- (when lk
- (prog1 (search-forward lk nil lkend)
- (goto-char (match-beginning 0))
- (org-open-at-point))))
+ (mapcar (lambda(l)
+ (search-forward l nil lkend)
+ (goto-char (match-beginning 0))
+ (org-open-at-point))
+ lk))
(progn (require 'org-attach) (org-attach-reveal 'if-exists))))
((run-hook-with-args-until-success 'org-open-at-point-functions))
((and (org-at-timestamp-p t)
@@ -13524,7 +13531,10 @@ ignore inherited ones."
(error nil)))))
(if local
tags
- (append (org-remove-uninherited-tags org-file-tags) tags))))))
+ (reverse (delete-dups
+ (reverse (append
+ (org-remove-uninherited-tags
+ org-file-tags) tags)))))))))
(defun org-add-prop-inherited (s)
(add-text-properties 0 (length s) '(inherited t) s)
@@ -17798,7 +17808,7 @@ BEG and END default to the buffer boundaries."
(list 'org-display-inline-remove-overlay))
(push ov org-inline-image-overlays)))))))))
-(org-define-obsolete-function-alias
+(define-obsolete-function-alias
'org-display-inline-modification-hook 'org-display-inline-remove-overlay "24.3")
(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."
(defvar org-table-auto-blank-field) ; defined in org-table.el
(defvar org-speed-command nil)
-(org-define-obsolete-function-alias
+(define-obsolete-function-alias
'org-speed-command-default-hook 'org-speed-command-activate "24.3")
(defun org-speed-command-activate (keys)
@@ -18191,7 +18201,7 @@ Use `org-speed-commands-user' for further customization."
(cdr (assoc keys (append org-speed-commands-user
org-speed-commands-default)))))
-(org-define-obsolete-function-alias
+(define-obsolete-function-alias
'org-babel-speed-command-hook 'org-babel-speed-command-activate "24.3")
(defun org-babel-speed-command-activate (keys)
@@ -19026,14 +19036,13 @@ Otherwise, return a user error."
(beginning-of-line 1)
(looking-at "\\(?:#\\+\\(?:setupfile\\|include\\):?[ \t]+\"?\\|[ \t]*<include\\>.*?file=\"\\)\\([^\"\n>]+\\)"))
(find-file (org-trim (match-string 1))))
+ ((org-at-table.el-p) (org-edit-src-code))
((or (org-at-table-p)
(save-excursion
(beginning-of-line 1)
(let ((case-fold-search )) (looking-at "[ \t]*#\\+tblfm:"))))
(call-interactively 'org-table-edit-formulas))
- ((or (org-in-block-p '("src" "example" "latex" "html"))
- (org-at-table.el-p))
- (org-edit-src-code))
+ ((org-in-block-p '("src" "example" "latex" "html")) (org-edit-src-code))
((org-in-fixed-width-region-p) (org-edit-fixed-width-region))
((org-at-regexp-p org-any-link-re) (call-interactively 'ffap))
(t (user-error "No special environment to edit here"))))