aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBastien Guerry2013-02-28 01:31:26 +0100
committerBastien Guerry2013-02-28 01:31:26 +0100
commit8a28a5b8d8acb314d8850b85fe5cd956a86e8ff9 (patch)
treeee0f45fd9b4d38b26c79e40cb27852e80e16c935
parent5b8ccc5e3ba2c9f46e52f7aa1b149475ebf24861 (diff)
downloademacs-8a28a5b8d8acb314d8850b85fe5cd956a86e8ff9.tar.gz
emacs-8a28a5b8d8acb314d8850b85fe5cd956a86e8ff9.zip
Merge latest Org fixes (commit 7524ef2).
-rw-r--r--doc/misc/ChangeLog7
-rw-r--r--doc/misc/org.texi14
-rw-r--r--lisp/org/ChangeLog74
-rw-r--r--lisp/org/ob-tangle.el9
-rw-r--r--lisp/org/org-agenda.el271
-rw-r--r--lisp/org/org-clock.el6
-rw-r--r--lisp/org/org-datetree.el2
-rw-r--r--lisp/org/org-docview.el2
-rw-r--r--lisp/org/org-id.el10
-rw-r--r--lisp/org/org-indent.el2
-rw-r--r--lisp/org/org-macs.el3
-rw-r--r--lisp/org/org-mobile.el2
-rw-r--r--lisp/org/org-version.el4
-rw-r--r--lisp/org/org.el152
14 files changed, 207 insertions, 351 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index fab7a301094..f777696eff2 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,10 @@
12013-02-28 Bastien Guerry <bzg@gnu.org>
2
3 * org.texi (Visibility cycling): Suggest to set
4 `org-agenda-inhibit-startup' to nil if user wants the startup
5 visibility settings to be honored in any circumstances.
6 (Progress logging, Checkboxes): Fix typos.
7
12013-02-25 Michael Albinus <michael.albinus@gmx.de> 82013-02-25 Michael Albinus <michael.albinus@gmx.de>
2 9
3 * tramp.texi (top) [xxx, yyy, trampfn]: Provide two versions of 10 * tramp.texi (top) [xxx, yyy, trampfn]: Provide two versions of
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index 16015e49362..89607e7eea6 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -2,7 +2,8 @@
2@c %**start of header 2@c %**start of header
3@setfilename ../../info/org 3@setfilename ../../info/org
4@settitle The Org Manual 4@settitle The Org Manual
5@set VERSION 7.9.3e (GNU Emacs 24.3) 5
6@include org-version.inc
6 7
7@c Use proper quote and backtick for code sections in PDF output 8@c Use proper quote and backtick for code sections in PDF output
8@c Cf. Texinfo manual 14.2 9@c Cf. Texinfo manual 14.2
@@ -1296,6 +1297,7 @@ Copy the @i{visible} text in the region into the kill ring.
1296@end table 1297@end table
1297 1298
1298@vindex org-startup-folded 1299@vindex org-startup-folded
1300@vindex org-agenda-inhibit-startup
1299@cindex @code{overview}, STARTUP keyword 1301@cindex @code{overview}, STARTUP keyword
1300@cindex @code{content}, STARTUP keyword 1302@cindex @code{content}, STARTUP keyword
1301@cindex @code{showall}, STARTUP keyword 1303@cindex @code{showall}, STARTUP keyword
@@ -1314,6 +1316,10 @@ buffer:
1314#+STARTUP: showeverything 1316#+STARTUP: showeverything
1315@end example 1317@end example
1316 1318
1319The startup visibility options are ignored when the file is open for the
1320first time during the agenda generation: if you want the agenda to honor
1321the startup visibility, set @code{org-agenda-inhibit-startup} to nil.
1322
1317@cindex property, VISIBILITY 1323@cindex property, VISIBILITY
1318@noindent 1324@noindent
1319Furthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties 1325Furthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties
@@ -2439,7 +2445,7 @@ You may reference a rectangular range of fields by specifying two field
2439references connected by two dots @samp{..}. If both fields are in the 2445references connected by two dots @samp{..}. If both fields are in the
2440current row, you may simply use @samp{$2..$7}, but if at least one field 2446current row, you may simply use @samp{$2..$7}, but if at least one field
2441is in a different row, you need to use the general @code{@@row$column} 2447is in a different row, you need to use the general @code{@@row$column}
2442format at least for the first field (i.e., the reference must start with 2448format at least for the first field (i.e the reference must start with
2443@samp{@@} in order to be interpreted correctly). Examples: 2449@samp{@@} in order to be interpreted correctly). Examples:
2444 2450
2445@example 2451@example
@@ -4075,7 +4081,7 @@ module @file{org-depend.el}.
4075 4081
4076Org mode can automatically record a timestamp and possibly a note when 4082Org mode can automatically record a timestamp and possibly a note when
4077you mark a TODO item as DONE, or even each time you change the state of 4083you mark a TODO item as DONE, or even each time you change the state of
4078a TODO item. This system is highly configurable, settings can be on a 4084a TODO item. This system is highly configurable; settings can be on a
4079per-keyword basis and can be localized to a file or even a subtree. For 4085per-keyword basis and can be localized to a file or even a subtree. For
4080information on how to clock working time for a task, see @ref{Clocking 4086information on how to clock working time for a task, see @ref{Clocking
4081work time}. 4087work time}.
@@ -4431,7 +4437,7 @@ lists. But you can allow it by modifying @code{org-list-automatic-rules}
4431accordingly.} (@pxref{Plain lists}) can be made into a checkbox by starting 4437accordingly.} (@pxref{Plain lists}) can be made into a checkbox by starting
4432it with the string @samp{[ ]}. This feature is similar to TODO items 4438it with the string @samp{[ ]}. This feature is similar to TODO items
4433(@pxref{TODO Items}), but is more lightweight. Checkboxes are not included 4439(@pxref{TODO Items}), but is more lightweight. Checkboxes are not included
4434into the global TODO list, so they are often great to split a task into a 4440in the global TODO list, so they are often great to split a task into a
4435number of simple steps. Or you can use them in a shopping list. To toggle a 4441number of simple steps. Or you can use them in a shopping list. To toggle a
4436checkbox, use @kbd{C-c C-c}, or use the mouse (thanks to Piotr Zielinski's 4442checkbox, use @kbd{C-c C-c}, or use the mouse (thanks to Piotr Zielinski's
4437@file{org-mouse.el}). 4443@file{org-mouse.el}).
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index 03a0560fea8..e6b1e564de3 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -1,3 +1,77 @@
12013-02-28 Achim Gratz <Stromeko@Stromeko.DE>
2
3 * org.el (org-org-menu): Use correct key "C-u C-c C-x !" to do
4 org-reload uncompiled in the menu.
5
62013-02-28 Bastien Guerry <bzg@gnu.org>
7
8 * org-indent.el
9 (org-indent-add-properties): Bugfix: prevent negative value for
10 `added-ind-per-lvl'.
11
12 * org.el (org-mode): Add `org-fix-ellipsis-at-bol' to
13 `isearch-mode-end-hook' so that any isearch fixes the problem with
14 ellipsis on the first line.
15 (org-fix-ellipsis-at-bol): New defsubst.
16 (org-show-context, org-isearch-end): Use it.
17
18 * org.el (org-show-context): Remove useless catch. Make sure the
19 top of the window is a visible headline.
20 (org-activate-plain-links): Remove unused catch.
21
22 * org-macs.el (org-get-alist-option): Return nil, not (nil), so
23 that `org-show-context' DTRT.
24
25 * org.el (org-imenu-get-tree): Fix bug when matching against empty
26 headlines.
27
28 * org.el (org-overview): Stay on current line.
29 (org-map-entries): Fix docstring.
30 (org-at-clock-log-p): Delete.
31
32 * org-clock.el (org-at-clock-log-p): Move here.
33
34 * org.el (org-tsr-regexp-both): Don't activate dates in links.
35 (org-activate-dates): Change match boundaries according to the new
36 value of `org-tsr-regexp-both'.
37
38 * org-agenda.el (org-agenda-to-appt): Fix typos.
39
40 * org-agenda.el (org-agenda-local-vars): Don't include
41 `org-agenda-show-window' as it needs to be checked outside of the
42 agenda window.
43
44 * org.el (org-set-tags-command): Fix bug when setting tags for
45 multiple headlines in an active region.
46
47 * org-mobile.el (org-mobile-edit): DTRT when inserting a heading
48 in an invisible region.
49
50 * org.el (org-insert-heading-respect-content): New `invisible-ok'
51 parameter. Add docstring.
52 (org-insert-todo-heading-respect-content): Add docstring.
53
54 * ob-tangle.el (org-babel-tangle-collect-blocks): Bugfix: remove
55 code references from blocks.
56
57 * org-agenda.el (org-agenda-schedule, org-agenda-deadline):
58 Cosmetic changes.
59 (org-agenda-show-new-time): Fix bug when displaying a temporary
60 overlay with the scheduled/deadline information.
61
62 * org.el (org-fill-paragraph-with-timestamp-nobreak-p): New
63 function.
64 (org-setup-filling): Use it to prevent breaking a timestamp when
65 filling a paragraph.
66
67 * org-id.el (org-id-get-with-outline-path-completion): Fix
68 docstring.
69
702013-02-28 Tim Burt <tcburt@rochester.rr.com> (tiny change)
71
72 * org-datetree.el (org-datetree-find-year-create): Match headlines
73 with tags.
74
12013-02-07 Bastien Guerry <bzg@gnu.org> 752013-02-07 Bastien Guerry <bzg@gnu.org>
2 76
3 * org-agenda.el (org-agenda-get-deadlines) 77 * org-agenda.el (org-agenda-get-deadlines)
diff --git a/lisp/org/ob-tangle.el b/lisp/org/ob-tangle.el
index 89457f19141..c3b6a483ee6 100644
--- a/lisp/org/ob-tangle.el
+++ b/lisp/org/ob-tangle.el
@@ -371,6 +371,10 @@ code blocks by language."
371 (unless (and language (not (string= language src-lang))) 371 (unless (and language (not (string= language src-lang)))
372 (let* ((info (org-babel-get-src-block-info)) 372 (let* ((info (org-babel-get-src-block-info))
373 (params (nth 2 info)) 373 (params (nth 2 info))
374 (extra (nth 3 info))
375 (cref-fmt (or (and (string-match "-l \"\\(.+\\)\"" extra)
376 (match-string 1 extra))
377 org-coderef-label-format))
374 (link ((lambda (link) 378 (link ((lambda (link)
375 (and (string-match org-bracket-link-regexp link) 379 (and (string-match org-bracket-link-regexp link)
376 (match-string 1 link))) 380 (match-string 1 link)))
@@ -388,6 +392,11 @@ code blocks by language."
388 ((lambda (body) ;; run the tangle-body-hook 392 ((lambda (body) ;; run the tangle-body-hook
389 (with-temp-buffer 393 (with-temp-buffer
390 (insert body) 394 (insert body)
395 (when (string-match "-r" extra)
396 (goto-char (point-min))
397 (while (re-search-forward
398 (replace-regexp-in-string "%s" ".+" cref-fmt) nil t)
399 (replace-match "")))
391 (run-hooks 'org-babel-tangle-body-hook) 400 (run-hooks 'org-babel-tangle-body-hook)
392 (buffer-string))) 401 (buffer-string)))
393 ((lambda (body) ;; expand the body in language specific manner 402 ((lambda (body) ;; expand the body in language specific manner
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index 9b6dcaed8c2..79217b6a6e6 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -1934,11 +1934,6 @@ When nil, `q' will kill the single agenda buffer."
1934 (message "Sticky agenda was %s" 1934 (message "Sticky agenda was %s"
1935 (if org-agenda-sticky "enabled" "disabled")))))) 1935 (if org-agenda-sticky "enabled" "disabled"))))))
1936 1936
1937(autoload 'org-toggle-sticky-agenda "org-agenda" "\
1938Toggle `org-agenda-sticky'.
1939
1940\(fn &optional ARG)" t nil)
1941
1942(defvar org-agenda-buffer nil 1937(defvar org-agenda-buffer nil
1943 "Agenda buffer currently being generated.") 1938 "Agenda buffer currently being generated.")
1944 1939
@@ -1971,7 +1966,6 @@ Toggle `org-agenda-sticky'.
1971 org-agenda-last-search-view-search-was-boolean 1966 org-agenda-last-search-view-search-was-boolean
1972 org-agenda-filtered-by-category 1967 org-agenda-filtered-by-category
1973 org-agenda-filter-form 1968 org-agenda-filter-form
1974 org-agenda-show-window
1975 org-agenda-cycle-counter 1969 org-agenda-cycle-counter
1976 org-agenda-last-prefix-arg) 1970 org-agenda-last-prefix-arg)
1977 "Variables that must be local in agenda buffers to allow multiple buffers.") 1971 "Variables that must be local in agenda buffers to allow multiple buffers.")
@@ -2615,43 +2609,6 @@ Pressing `<' twice means to restrict to the current subtree or region
2615 ((equal org-keys "!") (customize-variable 'org-stuck-projects)) 2609 ((equal org-keys "!") (customize-variable 'org-stuck-projects))
2616 (t (error "Invalid agenda key")))))) 2610 (t (error "Invalid agenda key"))))))
2617 2611
2618(autoload 'org-agenda "org-agenda" "\
2619Dispatch agenda commands to collect entries to the agenda buffer.
2620Prompts for a command to execute. Any prefix arg will be passed
2621on to the selected command. The default selections are:
2622
2623a Call `org-agenda-list' to display the agenda for current day or week.
2624t Call `org-todo-list' to display the global todo list.
2625T Call `org-todo-list' to display the global todo list, select only
2626 entries with a specific TODO keyword (the user gets a prompt).
2627m Call `org-tags-view' to display headlines with tags matching
2628 a condition (the user is prompted for the condition).
2629M Like `m', but select only TODO entries, no ordinary headlines.
2630L Create a timeline for the current buffer.
2631e Export views to associated files.
2632s Search entries for keywords.
2633S Search entries for keywords, only with TODO keywords.
2634/ Multi occur across all agenda files and also files listed
2635 in `org-agenda-text-search-extra-files'.
2636< Restrict agenda commands to buffer, subtree, or region.
2637 Press several times to get the desired effect.
2638> Remove a previous restriction.
2639# List \"stuck\" projects.
2640! Configure what \"stuck\" means.
2641C Configure custom agenda commands.
2642
2643More commands can be added by configuring the variable
2644`org-agenda-custom-commands'. In particular, specific tags and TODO keyword
2645searches can be pre-defined in this way.
2646
2647If the current buffer is in Org-mode and visiting a file, you can also
2648first press `<' once to indicate that the agenda should be temporarily
2649\(until the next use of \\[org-agenda]) restricted to the current file.
2650Pressing `<' twice means to restrict to the current subtree or region
2651\(if active).
2652
2653\(fn &optional ARG ORG-KEYS RESTRICTION)" t nil)
2654
2655(defun org-agenda-append-agenda () 2612(defun org-agenda-append-agenda ()
2656 "Append another agenda view to the current one. 2613 "Append another agenda view to the current one.
2657This function allows interactive building of block agendas. 2614This function allows interactive building of block agendas.
@@ -2947,17 +2904,6 @@ before running the agenda command."
2947 (set-buffer org-agenda-buffer-name) 2904 (set-buffer org-agenda-buffer-name)
2948 (princ (buffer-string))) 2905 (princ (buffer-string)))
2949 2906
2950(autoload 'org-batch-agenda "org-agenda" "\
2951Run an agenda command in batch mode and send the result to STDOUT.
2952If CMD-KEY is a string of length 1, it is used as a key in
2953`org-agenda-custom-commands' and triggers this command. If it is a
2954longer string it is used as a tags/todo match string.
2955Parameters are alternating variable names and values that will be bound
2956before running the agenda command.
2957
2958\(fn CMD-KEY &rest PARAMETERS)" nil t)
2959(def-edebug-spec org-batch-agenda (form &rest sexp))
2960
2961(defvar org-agenda-info nil) 2907(defvar org-agenda-info nil)
2962 2908
2963;;;###autoload 2909;;;###autoload
@@ -3015,44 +2961,6 @@ agenda-day The day in the agenda where this is listed"
3015 ",")) 2961 ","))
3016 (princ "\n"))))) 2962 (princ "\n")))))
3017 2963
3018(autoload 'org-batch-agenda-csv "org-agenda" "\
3019Run an agenda command in batch mode and send the result to STDOUT.
3020If CMD-KEY is a string of length 1, it is used as a key in
3021`org-agenda-custom-commands' and triggers this command. If it is a
3022longer string it is used as a tags/todo match string.
3023Parameters are alternating variable names and values that will be bound
3024before running the agenda command.
3025
3026The output gives a line for each selected agenda item. Each
3027item is a list of comma-separated values, like this:
3028
3029category,head,type,todo,tags,date,time,extra,priority-l,priority-n
3030
3031category The category of the item
3032head The headline, without TODO kwd, TAGS and PRIORITY
3033type The type of the agenda entry, can be
3034 todo selected in TODO match
3035 tagsmatch selected in tags match
3036 diary imported from diary
3037 deadline a deadline on given date
3038 scheduled scheduled on given date
3039 timestamp entry has timestamp on given date
3040 closed entry was closed on given date
3041 upcoming-deadline warning about deadline
3042 past-scheduled forwarded scheduled item
3043 block entry has date block including g. date
3044todo The todo keyword, if any
3045tags All tags including inherited ones, separated by colons
3046date The relevant date, like 2007-2-14
3047time The time, like 15:00-16:50
3048extra Sting with extra planning info
3049priority-l The priority letter if any was given
3050priority-n The computed numerical priority
3051agenda-day The day in the agenda where this is listed
3052
3053\(fn CMD-KEY &rest PARAMETERS)" nil t)
3054(def-edebug-spec org-batch-agenda-csv (form &rest sexp))
3055
3056(defun org-fix-agenda-info (props) 2964(defun org-fix-agenda-info (props)
3057 "Make sure all properties on an agenda item have a canonical form. 2965 "Make sure all properties on an agenda item have a canonical form.
3058This ensures the export commands can easily use it." 2966This ensures the export commands can easily use it."
@@ -3100,11 +3008,6 @@ This ensures the export commands can easily use it."
3100 (interactive) 3008 (interactive)
3101 (eval (list 'org-batch-store-agenda-views))) 3009 (eval (list 'org-batch-store-agenda-views)))
3102 3010
3103(autoload 'org-store-agenda-views "org-agenda" "\
3104
3105
3106\(fn &rest PARAMETERS)" t nil)
3107
3108;;;###autoload 3011;;;###autoload
3109(defmacro org-batch-store-agenda-views (&rest parameters) 3012(defmacro org-batch-store-agenda-views (&rest parameters)
3110 "Run all custom agenda commands that have a file argument." 3013 "Run all custom agenda commands that have a file argument."
@@ -3140,12 +3043,6 @@ This ensures the export commands can easily use it."
3140 (and (get-buffer bufname) 3043 (and (get-buffer bufname)
3141 (kill-buffer bufname))))))) 3044 (kill-buffer bufname)))))))
3142 3045
3143(autoload 'org-batch-store-agenda-views "org-agenda" "\
3144Run all custom agenda commands that have a file argument.
3145
3146\(fn &rest PARAMETERS)" nil t)
3147(def-edebug-spec org-batch-store-agenda-views (&rest sexp))
3148
3149(defvar org-agenda-current-span nil 3046(defvar org-agenda-current-span nil
3150 "The current span used in the agenda view.") ; local variable in the agenda buffer 3047 "The current span used in the agenda view.") ; local variable in the agenda buffer
3151(defun org-agenda-mark-header-line (pos) 3048(defun org-agenda-mark-header-line (pos)
@@ -4204,20 +4101,6 @@ given in `org-agenda-start-on-weekday'."
4204 (setq buffer-read-only t) 4101 (setq buffer-read-only t)
4205 (message "")))) 4102 (message ""))))
4206 4103
4207(autoload 'org-agenda-list "org-agenda" "\
4208Produce a daily/weekly view from all files in variable `org-agenda-files'.
4209The view will be for the current day or week, but from the overview buffer
4210you will be able to go to other days/weeks.
4211
4212With a numeric prefix argument in an interactive call, the agenda will
4213span ARG days. Lisp programs should instead specify SPAN to change
4214the number of days. SPAN defaults to `org-agenda-span'.
4215
4216START-DAY defaults to TODAY, or to the most recent match for the weekday
4217given in `org-agenda-start-on-weekday'.
4218
4219\(fn &optional ARG START-DAY SPAN)" t nil)
4220
4221(defun org-agenda-ndays-to-span (n) 4104(defun org-agenda-ndays-to-span (n)
4222 "Return a span symbol for a span of N days, or N if none matches." 4105 "Return a span symbol for a span of N days, or N if none matches."
4223 (cond ((symbolp n) n) 4106 (cond ((symbolp n) n)
@@ -4527,52 +4410,6 @@ in `org-agenda-text-search-extra-files'."
4527 (org-agenda-finalize) 4410 (org-agenda-finalize)
4528 (setq buffer-read-only t)))) 4411 (setq buffer-read-only t))))
4529 4412
4530(autoload 'org-search-view "org-agenda" "\
4531Show all entries that contain a phrase or words or regular expressions.
4532
4533With optional prefix argument TODO-ONLY, only consider entries that are
4534TODO entries. The argument STRING can be used to pass a default search
4535string into this function. If EDIT-AT is non-nil, it means that the
4536user should get a chance to edit this string, with cursor at position
4537EDIT-AT.
4538
4539The search string can be viewed either as a phrase that should be found as
4540is, or it can be broken into a number of snippets, each of which must match
4541in a Boolean way to select an entry. The default depends on the variable
4542`org-agenda-search-view-always-boolean'.
4543Even if this is turned off (the default) you can always switch to
4544Boolean search dynamically by preceding the first word with \"+\" or \"-\".
4545
4546The default is a direct search of the whole phrase, where each space in
4547the search string can expand to an arbitrary amount of whitespace,
4548including newlines.
4549
4550If using a Boolean search, the search string is split on whitespace and
4551each snippet is searched separately, with logical AND to select an entry.
4552Words prefixed with a minus must *not* occur in the entry. Words without
4553a prefix or prefixed with a plus must occur in the entry. Matching is
4554case-insensitive. Words are enclosed by word delimiters (i.e. they must
4555match whole words, not parts of a word) if
4556`org-agenda-search-view-force-full-words' is set (default is nil).
4557
4558Boolean search snippets enclosed by curly braces are interpreted as
4559regular expressions that must or (when preceded with \"-\") must not
4560match in the entry. Snippets enclosed into double quotes will be taken
4561as a whole, to include whitespace.
4562
4563- If the search string starts with an asterisk, search only in headlines.
4564- If (possibly after the leading star) the search string starts with an
4565 exclamation mark, this also means to look at TODO entries only, an effect
4566 that can also be achieved with a prefix argument.
4567- If (possibly after star and exclamation mark) the search string starts
4568 with a colon, this will mean that the (non-regexp) snippets of the
4569 Boolean search must match as full words.
4570
4571This command searches the agenda files, and in addition the files listed
4572in `org-agenda-text-search-extra-files'.
4573
4574\(fn &optional TODO-ONLY STRING EDIT-AT)" t nil)
4575
4576;;; Agenda TODO list 4413;;; Agenda TODO list
4577 4414
4578(defvar org-select-this-todo-keyword nil) 4415(defvar org-select-this-todo-keyword nil)
@@ -4663,15 +4500,6 @@ for a keyword. A numeric prefix directly selects the Nth keyword in
4663 (org-agenda-finalize) 4500 (org-agenda-finalize)
4664 (setq buffer-read-only t)))) 4501 (setq buffer-read-only t))))
4665 4502
4666(autoload 'org-todo-list "org-agenda" "\
4667Show all (not done) TODO entries from all agenda file in a single list.
4668The prefix arg can be used to select a specific TODO keyword and limit
4669the list to these. When using \\[universal-argument], you will be prompted
4670for a keyword. A numeric prefix directly selects the Nth keyword in
4671`org-todo-keywords-1'.
4672
4673\(fn &optional ARG)" t nil)
4674
4675;;; Agenda tags match 4503;;; Agenda tags match
4676 4504
4677;;;###autoload 4505;;;###autoload
@@ -4757,12 +4585,6 @@ The prefix arg TODO-ONLY limits the search to TODO entries."
4757 (org-agenda-finalize) 4585 (org-agenda-finalize)
4758 (setq buffer-read-only t)))) 4586 (setq buffer-read-only t))))
4759 4587
4760(autoload 'org-tags-view "org-agenda" "\
4761Show all headlines for all `org-agenda-files' matching a TAGS criterion.
4762The prefix arg TODO-ONLY limits the search to TODO entries.
4763
4764\(fn &optional TODO-ONLY MATCH)" t nil)
4765
4766;;; Agenda Finding stuck projects 4588;;; Agenda Finding stuck projects
4767 4589
4768(defvar org-agenda-skip-regexp nil 4590(defvar org-agenda-skip-regexp nil
@@ -4991,14 +4813,6 @@ of what a project is and how to check if it stuck, customize the variable
4991 (setq org-agenda-redo-command 4813 (setq org-agenda-redo-command
4992 `(org-agenda-list-stuck-projects ,current-prefix-arg))))) 4814 `(org-agenda-list-stuck-projects ,current-prefix-arg)))))
4993 4815
4994(autoload 'org-agenda-list-stuck-projects "org-agenda" "\
4995Create agenda view for projects that are stuck.
4996Stuck projects are project that have no next actions. For the definitions
4997of what a project is and how to check if it stuck, customize the variable
4998`org-stuck-projects'.
4999
5000\(fn &rest IGNORE)" t nil)
5001
5002;;; Diary integration 4816;;; Diary integration
5003 4817
5004(defvar org-disable-agenda-to-diary nil) ;Dynamically-scoped param. 4818(defvar org-disable-agenda-to-diary nil) ;Dynamically-scoped param.
@@ -5177,35 +4991,6 @@ function from a program - use `org-agenda-get-day-entries' instead."
5177 (if results 4991 (if results
5178 (concat (org-agenda-finalize-entries results) "\n")))) 4992 (concat (org-agenda-finalize-entries results) "\n"))))
5179 4993
5180(autoload 'org-diary "org-agenda" "\
5181Return diary information from org files.
5182This function can be used in a \"sexp\" diary entry in the Emacs calendar.
5183It accesses org files and extracts information from those files to be
5184listed in the diary. The function accepts arguments specifying what
5185items should be listed. For a list of arguments allowed here, see the
5186variable `org-agenda-entry-types'.
5187
5188The call in the diary file should look like this:
5189
5190 &%%(org-diary) ~/path/to/some/orgfile.org
5191
5192Use a separate line for each org file to check. Or, if you omit the file name,
5193all files listed in `org-agenda-files' will be checked automatically:
5194
5195 &%%(org-diary)
5196
5197If you don't give any arguments (as in the example above), the default
5198arguments (:deadline :scheduled :timestamp :sexp) are used.
5199So the example above may also be written as
5200
5201 &%%(org-diary :deadline :timestamp :sexp :scheduled)
5202
5203The function expects the lisp variables `entry' and `date' to be provided
5204by the caller, because this is how the calendar works. Don't use this
5205function from a program - use `org-agenda-get-day-entries' instead.
5206
5207\(fn &rest ARGS)" nil nil)
5208
5209;;; Agenda entry finders 4994;;; Agenda entry finders
5210 4995
5211(defun org-agenda-get-day-entries (file date &rest args) 4996(defun org-agenda-get-day-entries (file date &rest args)
@@ -5401,11 +5186,6 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
5401 (match-string 1) org-agenda-todo-ignore-timestamp)) 5186 (match-string 1) org-agenda-todo-ignore-timestamp))
5402 (t)))))))))) 5187 (t))))))))))
5403 5188
5404(autoload 'org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item "org-agenda" "\
5405Do we have a reason to ignore this TODO entry because it has a time stamp?
5406
5407\(fn &optional END)" nil nil)
5408
5409(defun org-agenda-get-timestamps (&optional deadline-results) 5189(defun org-agenda-get-timestamps (&optional deadline-results)
5410 "Return the date stamp information for agenda display." 5190 "Return the date stamp information for agenda display."
5411 (let* ((props (list 'face 'org-agenda-calendar-event 5191 (let* ((props (list 'face 'org-agenda-calendar-event
@@ -8686,9 +8466,8 @@ Called with a universal prefix arg, show the priority instead of setting it."
8686(defun org-agenda-show-new-time (marker stamp &optional prefix) 8466(defun org-agenda-show-new-time (marker stamp &optional prefix)
8687 "Show new date stamp via text properties." 8467 "Show new date stamp via text properties."
8688 ;; We use text properties to make this undoable 8468 ;; We use text properties to make this undoable
8689 (let ((inhibit-read-only t) 8469 (let ((inhibit-read-only t))
8690 (buffer-invisibility-spec)) 8470 (setq stamp (concat prefix " => " stamp " "))
8691 (setq stamp (concat " " prefix " => " stamp))
8692 (save-excursion 8471 (save-excursion
8693 (goto-char (point-max)) 8472 (goto-char (point-max))
8694 (while (not (bobp)) 8473 (while (not (bobp))
@@ -8750,7 +8529,7 @@ ARG is passed through to `org-schedule'."
8750 (widen) 8529 (widen)
8751 (goto-char pos) 8530 (goto-char pos)
8752 (setq ts (org-schedule arg time))) 8531 (setq ts (org-schedule arg time)))
8753 (org-agenda-show-new-time marker ts "S")) 8532 (org-agenda-show-new-time marker ts " S"))
8754 (message "%s" ts))) 8533 (message "%s" ts)))
8755 8534
8756(defun org-agenda-deadline (arg &optional time) 8535(defun org-agenda-deadline (arg &optional time)
@@ -8770,7 +8549,7 @@ ARG is passed through to `org-deadline'."
8770 (widen) 8549 (widen)
8771 (goto-char pos) 8550 (goto-char pos)
8772 (setq ts (org-deadline arg time))) 8551 (setq ts (org-deadline arg time)))
8773 (org-agenda-show-new-time marker ts "D")) 8552 (org-agenda-show-new-time marker ts " D"))
8774 (message "%s" ts))) 8553 (message "%s" ts)))
8775 8554
8776(defun org-agenda-clock-in (&optional arg) 8555(defun org-agenda-clock-in (&optional arg)
@@ -9131,12 +8910,6 @@ This is a command that has to be installed in `calendar-mode-map'."
9131 (calendar-cursor-to-date)) 8910 (calendar-cursor-to-date))
9132 nil)) 8911 nil))
9133 8912
9134(autoload 'org-calendar-goto-agenda "org-agenda" "\
9135Compute the Org-mode agenda for the calendar date displayed at the cursor.
9136This is a command that has to be installed in `calendar-mode-map'.
9137
9138\(fn)" t nil)
9139
9140(defun org-agenda-convert-date () 8913(defun org-agenda-convert-date ()
9141 (interactive) 8914 (interactive)
9142 (org-agenda-check-type t 'agenda 'timeline) 8915 (org-agenda-check-type t 'agenda 'timeline)
@@ -9519,7 +9292,7 @@ By default `org-agenda-to-appt' will use :deadline, :scheduled
9519and :timestamp entries. See the docstring of `org-diary' for 9292and :timestamp entries. See the docstring of `org-diary' for
9520details and examples. 9293details and examples.
9521 9294
9522If an entry as a APPT_WARNTIME property, its value will be used 9295If an entry has a APPT_WARNTIME property, its value will be used
9523to override `appt-message-warning-time'." 9296to override `appt-message-warning-time'."
9524 (interactive "P") 9297 (interactive "P")
9525 (if refresh (setq appt-time-msg-list nil)) 9298 (if refresh (setq appt-time-msg-list nil))
@@ -9579,40 +9352,6 @@ to override `appt-message-warning-time'."
9579 (message "No event to add") 9352 (message "No event to add")
9580 (message "Added %d event%s for today" cnt (if (> cnt 1) "s" ""))))) 9353 (message "Added %d event%s for today" cnt (if (> cnt 1) "s" "")))))
9581 9354
9582(autoload 'org-agenda-to-appt "org-agenda" "\
9583Activate appointments found in `org-agenda-files'.
9584With a \\[universal-argument] prefix, refresh the list of
9585appointments.
9586
9587If FILTER is t, interactively prompt the user for a regular
9588expression, and filter out entries that don't match it.
9589
9590If FILTER is a string, use this string as a regular expression
9591for filtering entries out.
9592
9593If FILTER is a function, filter out entries against which
9594calling the function returns nil. This function takes one
9595argument: an entry from `org-agenda-get-day-entries'.
9596
9597FILTER can also be an alist with the car of each cell being
9598either 'headline or 'category. For example:
9599
9600 '((headline \"IMPORTANT\")
9601 (category \"Work\"))
9602
9603will only add headlines containing IMPORTANT or headlines
9604belonging to the \"Work\" category.
9605
9606ARGS are symbols indicating what kind of entries to consider.
9607By default `org-agenda-to-appt' will use :deadline, :scheduled
9608and :timestamp entries. See the docstring of `org-diary' for
9609details and examples.
9610
9611If an entry as a APPT_WARNTIME property, its value will be used
9612to override `appt-message-warning-time'.
9613
9614\(fn &optional REFRESH FILTER &rest ARGS)" t nil)
9615
9616(defun org-agenda-todayp (date) 9355(defun org-agenda-todayp (date)
9617 "Does DATE mean today, when considering `org-extend-today-until'?" 9356 "Does DATE mean today, when considering `org-extend-today-until'?"
9618 (let ((today (org-today)) 9357 (let ((today (org-today))
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index bc0c431ddd3..a536d025c04 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -1545,12 +1545,6 @@ to, overriding the existing value of `org-clock-out-switch-to-state'."
1545 (org-remove-empty-drawer-at clock-drawer (point)) 1545 (org-remove-empty-drawer-at clock-drawer (point))
1546 (forward-line 1)))))) 1546 (forward-line 1))))))
1547 1547
1548(defun org-at-clock-log-p nil
1549 "Is the cursor on the clock log line?"
1550 (save-excursion
1551 (move-beginning-of-line 1)
1552 (looking-at "^[ \t]*CLOCK:")))
1553
1554(defun org-clock-timestamps-up nil 1548(defun org-clock-timestamps-up nil
1555 "Increase CLOCK timestamps at cursor." 1549 "Increase CLOCK timestamps at cursor."
1556 (interactive) 1550 (interactive)
diff --git a/lisp/org/org-datetree.el b/lisp/org/org-datetree.el
index f2e35fa2dfd..e0f4d10bc2d 100644
--- a/lisp/org/org-datetree.el
+++ b/lisp/org/org-datetree.el
@@ -72,7 +72,7 @@ tree can be found."
72 (goto-char (prog1 (point) (widen)))))) 72 (goto-char (prog1 (point) (widen))))))
73 73
74(defun org-datetree-find-year-create (year) 74(defun org-datetree-find-year-create (year)
75 (let ((re "^\\*+[ \t]+\\([12][0-9][0-9][0-9]\\)\\s-*$") 75 (let ((re "^\\*+[ \t]+\\([12][0-9]\\{3\\}\\)\\(.*?\\([ \t]:[[:alnum:]:_@#%]+:\\)?\\s-*$\\)")
76 match) 76 match)
77 (goto-char (point-min)) 77 (goto-char (point-min))
78 (while (and (setq match (re-search-forward re nil t)) 78 (while (and (setq match (re-search-forward re nil t))
diff --git a/lisp/org/org-docview.el b/lisp/org/org-docview.el
index 64c215d8db5..be99ad99a69 100644
--- a/lisp/org/org-docview.el
+++ b/lisp/org/org-docview.el
@@ -49,7 +49,7 @@
49(declare-function image-mode-window-get "ext:image-mode" 49(declare-function image-mode-window-get "ext:image-mode"
50 (prop &optional winprops)) 50 (prop &optional winprops))
51 51
52(autoload 'doc-view-goto-page "doc-view") 52(org-autoload "doc-view" '(doc-view-goto-page))
53 53
54(org-add-link-type "docview" 'org-docview-open) 54(org-add-link-type "docview" 'org-docview-open)
55(add-hook 'org-store-link-functions 'org-docview-store-link) 55(add-hook 'org-store-link-functions 'org-docview-store-link)
diff --git a/lisp/org/org-id.el b/lisp/org/org-id.el
index 6e865b50c2c..ecf67f72f3a 100644
--- a/lisp/org/org-id.el
+++ b/lisp/org/org-id.el
@@ -259,11 +259,11 @@ In any case, the ID of the entry is returned."
259 id))))) 259 id)))))
260 260
261(defun org-id-get-with-outline-path-completion (&optional targets) 261(defun org-id-get-with-outline-path-completion (&optional targets)
262 "Use outline-path-completion to retrieve the ID of an entry. 262 "Use `outline-path-completion' to retrieve the ID of an entry.
263TARGETS may be a setting for `org-refile-targets' to define the eligible 263TARGETS may be a setting for `org-refile-targets' to define
264headlines. When omitted, all headlines in all agenda files are 264eligible headlines. When omitted, all headlines in the current
265eligible. 265file are eligible. This function returns the ID of the entry.
266It returns the ID of the entry. If necessary, the ID is created." 266If necessary, the ID is created."
267 (let* ((org-refile-targets (or targets '((nil . (:maxlevel . 10))))) 267 (let* ((org-refile-targets (or targets '((nil . (:maxlevel . 10)))))
268 (org-refile-use-outline-path 268 (org-refile-use-outline-path
269 (if (caar org-refile-targets) 'file t)) 269 (if (caar org-refile-targets) 'file t))
diff --git a/lisp/org/org-indent.el b/lisp/org/org-indent.el
index d5f17b2cb69..6e6f2bf1589 100644
--- a/lisp/org/org-indent.el
+++ b/lisp/org/org-indent.el
@@ -328,7 +328,7 @@ stopped."
328 ;; inline task or not. 328 ;; inline task or not.
329 (let* ((case-fold-search t) 329 (let* ((case-fold-search t)
330 (limited-re (org-get-limited-outline-regexp)) 330 (limited-re (org-get-limited-outline-regexp))
331 (added-ind-per-lvl (1- org-indent-indentation-per-level)) 331 (added-ind-per-lvl (abs (1- org-indent-indentation-per-level)))
332 (pf (save-excursion 332 (pf (save-excursion
333 (and (ignore-errors (let ((outline-regexp limited-re)) 333 (and (ignore-errors (let ((outline-regexp limited-re))
334 (org-back-to-heading t))) 334 (org-back-to-heading t)))
diff --git a/lisp/org/org-macs.el b/lisp/org/org-macs.el
index ceee30601bd..57b2d8a577e 100644
--- a/lisp/org/org-macs.el
+++ b/lisp/org/org-macs.el
@@ -263,7 +263,8 @@ in `org-rm-props'."
263 (cond ((eq key t) t) 263 (cond ((eq key t) t)
264 ((eq option t) t) 264 ((eq option t) t)
265 ((assoc key option) (cdr (assoc key option))) 265 ((assoc key option) (cdr (assoc key option)))
266 (t (cdr (assq 'default option))))) 266 (t (let ((r (cdr (assq 'default option))))
267 (if (listp r) (delq nil r) r)))))
267 268
268(defsubst org-check-external-command (cmd &optional use no-error) 269(defsubst org-check-external-command (cmd &optional use no-error)
269 "Check if external program CMD for USE exists, error if not. 270 "Check if external program CMD for USE exists, error if not.
diff --git a/lisp/org/org-mobile.el b/lisp/org/org-mobile.el
index a410de0d775..293d2a000c0 100644
--- a/lisp/org/org-mobile.el
+++ b/lisp/org/org-mobile.el
@@ -1064,7 +1064,7 @@ be returned that indicates what went wrong."
1064 (if (org-on-heading-p) ; if false we are in top-level of file 1064 (if (org-on-heading-p) ; if false we are in top-level of file
1065 (progn 1065 (progn
1066 (end-of-line 1) 1066 (end-of-line 1)
1067 (org-insert-heading-respect-content) 1067 (org-insert-heading-respect-content t)
1068 (org-demote)) 1068 (org-demote))
1069 (beginning-of-line) 1069 (beginning-of-line)
1070 (insert "* ")) 1070 (insert "* "))
diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el
index 1910d3f7b4f..4fa865308e9 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.3e")) 8 (let ((org-release "7.9.3f"))
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.3e-3-gb07a9b")) 14 (let ((org-git-version "release_7.9.3f-17-g7524ef"))
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 ede633a0a93..cc4c93f22eb 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -114,7 +114,6 @@ Stars are put in group 1 and the trimmed body in group 2.")
114(declare-function org-inlinetask-outline-regexp "org-inlinetask" ()) 114(declare-function org-inlinetask-outline-regexp "org-inlinetask" ())
115(declare-function org-inlinetask-toggle-visibility "org-inlinetask" ()) 115(declare-function org-inlinetask-toggle-visibility "org-inlinetask" ())
116(declare-function org-pop-to-buffer-same-window "org-compat" (&optional buffer-or-name norecord label)) 116(declare-function org-pop-to-buffer-same-window "org-compat" (&optional buffer-or-name norecord label))
117(declare-function org-at-clock-log-p "org-clock" ())
118(declare-function org-clock-timestamps-up "org-clock" ()) 117(declare-function org-clock-timestamps-up "org-clock" ())
119(declare-function org-clock-timestamps-down "org-clock" ()) 118(declare-function org-clock-timestamps-down "org-clock" ())
120(declare-function org-clock-sum-current-item "org-clock" (&optional tstart)) 119(declare-function org-clock-sum-current-item "org-clock" (&optional tstart))
@@ -467,7 +466,11 @@ the following lines anywhere in the buffer:
467 #+STARTUP: fold (or `overview', this is equivalent) 466 #+STARTUP: fold (or `overview', this is equivalent)
468 #+STARTUP: nofold (or `showall', this is equivalent) 467 #+STARTUP: nofold (or `showall', this is equivalent)
469 #+STARTUP: content 468 #+STARTUP: content
470 #+STARTUP: showeverything" 469 #+STARTUP: showeverything
470
471By default, this option is ignored when Org opens agenda files
472for the first time. If you want the agenda to honor the startup
473option, set `org-agenda-inhibit-startup' to nil."
471 :group 'org-startup 474 :group 'org-startup
472 :type '(choice 475 :type '(choice
473 (const :tag "nofold: show all" nil) 476 (const :tag "nofold: show all" nil)
@@ -3913,6 +3916,7 @@ If TABLE-TYPE is non-nil, also check for table.el-type tables."
3913 (save-excursion 3916 (save-excursion
3914 (goto-char (org-table-begin 'any)) 3917 (goto-char (org-table-begin 'any))
3915 (looking-at org-table1-hline-regexp)))) 3918 (looking-at org-table1-hline-regexp))))
3919
3916(defun org-table-recognize-table.el () 3920(defun org-table-recognize-table.el ()
3917 "If there is a table.el table nearby, recognize it and move into it." 3921 "If there is a table.el table nearby, recognize it and move into it."
3918 (if org-table-tab-recognizes-table.el 3922 (if org-table-tab-recognizes-table.el
@@ -3948,7 +3952,6 @@ If TABLE-TYPE is non-nil, also check for table.el-type tables."
3948 nil)) 3952 nil))
3949 3953
3950(defvar org-table-clean-did-remove-column nil) 3954(defvar org-table-clean-did-remove-column nil)
3951
3952(defun org-table-map-tables (function &optional quietly) 3955(defun org-table-map-tables (function &optional quietly)
3953 "Apply FUNCTION to the start of all tables in the buffer." 3956 "Apply FUNCTION to the start of all tables in the buffer."
3954 (save-excursion 3957 (save-excursion
@@ -4969,7 +4972,8 @@ The following commands are available:
4969 (org-add-hook 'isearch-mode-end-hook 'org-isearch-end 'append 'local) 4972 (org-add-hook 'isearch-mode-end-hook 'org-isearch-end 'append 'local)
4970 ;; Emacs 22 deals with this through a special variable 4973 ;; Emacs 22 deals with this through a special variable
4971 (org-set-local 'outline-isearch-open-invisible-function 4974 (org-set-local 'outline-isearch-open-invisible-function
4972 (lambda (&rest ignore) (org-show-context 'isearch)))) 4975 (lambda (&rest ignore) (org-show-context 'isearch)))
4976 (org-add-hook 'isearch-mode-end-hook 'org-fix-ellipsis-at-bol 'append 'local))
4973 4977
4974 ;; Setup the pcomplete hooks 4978 ;; Setup the pcomplete hooks
4975 (set (make-local-variable 'pcomplete-command-completion-function) 4979 (set (make-local-variable 'pcomplete-command-completion-function)
@@ -5008,6 +5012,8 @@ The following commands are available:
5008 5012
5009(put 'org-mode 'flyspell-mode-predicate 'org-mode-flyspell-verify) 5013(put 'org-mode 'flyspell-mode-predicate 'org-mode-flyspell-verify)
5010 5014
5015(defsubst org-fix-ellipsis-at-bol ()
5016 (save-excursion (goto-char (window-start)) (recenter 0)))
5011 5017
5012(defun org-find-invisible-foreground () 5018(defun org-find-invisible-foreground ()
5013 (let ((candidates (remove 5019 (let ((candidates (remove
@@ -5205,8 +5211,9 @@ on a string that terminates immediately after the date.")
5205(defconst org-tsr-regexp (concat org-ts-regexp "\\(--?-?" 5211(defconst org-tsr-regexp (concat org-ts-regexp "\\(--?-?"
5206 org-ts-regexp "\\)?") 5212 org-ts-regexp "\\)?")
5207 "Regular expression matching a time stamp or time stamp range.") 5213 "Regular expression matching a time stamp or time stamp range.")
5208(defconst org-tsr-regexp-both (concat org-ts-regexp-both "\\(--?-?" 5214(defconst org-tsr-regexp-both
5209 org-ts-regexp-both "\\)?") 5215 (concat org-ts-regexp-both "\\(--?-?"
5216 org-ts-regexp-both "\\)?")
5210 "Regular expression matching a time stamp or time stamp range. 5217 "Regular expression matching a time stamp or time stamp range.
5211The time stamps may be either active or inactive.") 5218The time stamps may be either active or inactive.")
5212 5219
@@ -5298,21 +5305,20 @@ will be prompted for."
5298 5305
5299(defun org-activate-plain-links (limit) 5306(defun org-activate-plain-links (limit)
5300 "Run through the buffer and add overlays to links." 5307 "Run through the buffer and add overlays to links."
5301 (catch 'exit 5308 (let (f)
5302 (let (f) 5309 (when (and (re-search-forward (concat org-plain-link-re) limit t)
5303 (when (and (re-search-forward (concat org-plain-link-re) limit t) 5310 (not (org-in-src-block-p)))
5304 (not (org-in-src-block-p))) 5311 (org-remove-flyspell-overlays-in (match-beginning 0) (match-end 0))
5305 (org-remove-flyspell-overlays-in (match-beginning 0) (match-end 0)) 5312 (setq f (get-text-property (match-beginning 0) 'face))
5306 (setq f (get-text-property (match-beginning 0) 'face)) 5313 (unless (or (org-in-src-block-p)
5307 (unless (or (org-in-src-block-p) 5314 (eq f 'org-tag)
5308 (eq f 'org-tag) 5315 (and (listp f) (memq 'org-tag f)))
5309 (and (listp f) (memq 'org-tag f))) 5316 (add-text-properties (match-beginning 0) (match-end 0)
5310 (add-text-properties (match-beginning 0) (match-end 0) 5317 (list 'mouse-face 'highlight
5311 (list 'mouse-face 'highlight 5318 'face 'org-link
5312 'face 'org-link 5319 'keymap org-mouse-map))
5313 'keymap org-mouse-map)) 5320 (org-rear-nonsticky-at (match-end 0)))
5314 (org-rear-nonsticky-at (match-end 0))) 5321 t)))
5315 t))))
5316 5322
5317(defun org-activate-code (limit) 5323(defun org-activate-code (limit)
5318 (if (re-search-forward "^[ \t]*\\(:\\(?: .*\\|$\\)\n?\\)" limit t) 5324 (if (re-search-forward "^[ \t]*\\(:\\(?: .*\\|$\\)\n?\\)" limit t)
@@ -5510,7 +5516,8 @@ by a #."
5510 5516
5511(defun org-activate-dates (limit) 5517(defun org-activate-dates (limit)
5512 "Run through the buffer and add overlays to dates." 5518 "Run through the buffer and add overlays to dates."
5513 (if (re-search-forward org-tsr-regexp-both limit t) 5519 (if (and (re-search-forward org-tsr-regexp-both limit t)
5520 (not (equal (char-before (match-beginning 0)) 91)))
5514 (progn 5521 (progn
5515 (org-remove-flyspell-overlays-in (match-beginning 0) (match-end 0)) 5522 (org-remove-flyspell-overlays-in (match-beginning 0) (match-end 0))
5516 (add-text-properties (match-beginning 0) (match-end 0) 5523 (add-text-properties (match-beginning 0) (match-end 0)
@@ -6431,13 +6438,16 @@ of the first headline in the buffer. This is important, because if the
6431first headline is not level one, then (hide-sublevels 1) gives confusing 6438first headline is not level one, then (hide-sublevels 1) gives confusing
6432results." 6439results."
6433 (interactive) 6440 (interactive)
6434 (let ((level (save-excursion 6441 (let ((l (org-current-line))
6442 (level (save-excursion
6435 (goto-char (point-min)) 6443 (goto-char (point-min))
6436 (if (re-search-forward (concat "^" outline-regexp) nil t) 6444 (if (re-search-forward (concat "^" outline-regexp) nil t)
6437 (progn 6445 (progn
6438 (goto-char (match-beginning 0)) 6446 (goto-char (match-beginning 0))
6439 (funcall outline-level)))))) 6447 (funcall outline-level))))))
6440 (and level (hide-sublevels level)))) 6448 (and level (hide-sublevels level))
6449 (recenter '(4))
6450 (org-goto-line l)))
6441 6451
6442(defun org-content (&optional arg) 6452(defun org-content (&optional arg)
6443 "Show all headlines in the buffer, like a table of contents. 6453 "Show all headlines in the buffer, like a table of contents.
@@ -7231,12 +7241,14 @@ This is a list with the following elements:
7231 (org-move-subtree-down) 7241 (org-move-subtree-down)
7232 (end-of-line 1)) 7242 (end-of-line 1))
7233 7243
7234(defun org-insert-heading-respect-content () 7244(defun org-insert-heading-respect-content (invisible-ok)
7235 (interactive) 7245 "Insert heading with `org-insert-heading-respect-content' set to t."
7246 (interactive "P")
7236 (let ((org-insert-heading-respect-content t)) 7247 (let ((org-insert-heading-respect-content t))
7237 (org-insert-heading t))) 7248 (org-insert-heading t invisible-ok)))
7238 7249
7239(defun org-insert-todo-heading-respect-content (&optional force-state) 7250(defun org-insert-todo-heading-respect-content (&optional force-state)
7251 "Insert TODO heading with `org-insert-heading-respect-content' set to t."
7240 (interactive "P") 7252 (interactive "P")
7241 (let ((org-insert-heading-respect-content t)) 7253 (let ((org-insert-heading-respect-content t))
7242 (org-insert-todo-heading force-state t))) 7254 (org-insert-todo-heading force-state t)))
@@ -12835,27 +12847,27 @@ How much context is shown depends upon the variables
12835 (following-p (org-get-alist-option org-show-following-heading key)) 12847 (following-p (org-get-alist-option org-show-following-heading key))
12836 (entry-p (org-get-alist-option org-show-entry-below key)) 12848 (entry-p (org-get-alist-option org-show-entry-below key))
12837 (siblings-p (org-get-alist-option org-show-siblings key))) 12849 (siblings-p (org-get-alist-option org-show-siblings key)))
12838 (catch 'exit 12850 ;; Show heading or entry text
12839 ;; Show heading or entry text 12851 (if (and heading-p (not entry-p))
12840 (if (and heading-p (not entry-p)) 12852 (org-flag-heading nil) ; only show the heading
12841 (org-flag-heading nil) ; only show the heading 12853 (and (or entry-p (outline-invisible-p) (org-invisible-p2))
12842 (and (or entry-p (outline-invisible-p) (org-invisible-p2)) 12854 (org-show-hidden-entry))) ; show entire entry
12843 (org-show-hidden-entry))) ; show entire entry 12855 (when following-p
12844 (when following-p 12856 ;; Show next sibling, or heading below text
12845 ;; Show next sibling, or heading below text 12857 (save-excursion
12846 (save-excursion 12858 (and (if heading-p (org-goto-sibling) (outline-next-heading))
12847 (and (if heading-p (org-goto-sibling) (outline-next-heading)) 12859 (org-flag-heading nil))))
12848 (org-flag-heading nil)))) 12860 (when siblings-p (org-show-siblings))
12849 (when siblings-p (org-show-siblings)) 12861 (when hierarchy-p
12850 (when hierarchy-p 12862 ;; show all higher headings, possibly with siblings
12851 ;; show all higher headings, possibly with siblings 12863 (save-excursion
12852 (save-excursion 12864 (while (and (condition-case nil
12853 (while (and (condition-case nil 12865 (progn (org-up-heading-all 1) t)
12854 (progn (org-up-heading-all 1) t) 12866 (error nil))
12855 (error nil)) 12867 (not (bobp)))
12856 (not (bobp))) 12868 (org-flag-heading nil)
12857 (org-flag-heading nil) 12869 (when siblings-p (org-show-siblings)))))
12858 (when siblings-p (org-show-siblings)))))))) 12870 (org-fix-ellipsis-at-bol)))
12859 12871
12860(defvar org-reveal-start-hook nil 12872(defvar org-reveal-start-hook nil
12861 "Hook run before revealing a location.") 12873 "Hook run before revealing a location.")
@@ -13597,7 +13609,9 @@ If ONOFF is `on' or `off', don't toggle but set to this state."
13597 (if (or (org-at-heading-p) (and arg (org-before-first-heading-p))) 13609 (if (or (org-at-heading-p) (and arg (org-before-first-heading-p)))
13598 (org-set-tags arg just-align) 13610 (org-set-tags arg just-align)
13599 (save-excursion 13611 (save-excursion
13600 (org-back-to-heading t) 13612 (unless (and (org-region-active-p)
13613 org-loop-over-headlines-in-active-region)
13614 (org-back-to-heading t))
13601 (org-set-tags arg just-align)))) 13615 (org-set-tags arg just-align))))
13602 13616
13603(defun org-set-tags-to (data) 13617(defun org-set-tags-to (data)
@@ -14101,13 +14115,13 @@ agenda-with-archives
14101The remaining args are treated as settings for the skipping facilities of 14115The remaining args are treated as settings for the skipping facilities of
14102the scanner. The following items can be given here: 14116the scanner. The following items can be given here:
14103 14117
14104 archive skip trees with the archive tag. 14118 archive skip trees with the archive tag
14105 comment skip trees with the COMMENT keyword 14119 comment skip trees with the COMMENT keyword
14106 function or Emacs Lisp form: 14120 function or Emacs Lisp form:
14107 will be used as value for `org-agenda-skip-function', so whenever 14121 will be used as value for `org-agenda-skip-function', so
14108 the function returns t, FUNC will not be called for that 14122 whenever the function returns a position, FUNC will not be
14109 entry and search will continue from the point where the 14123 called for that entry and search will continue from the
14110 function leaves it. 14124 position returned
14111 14125
14112If your function needs to retrieve the tags including inherited tags 14126If your function needs to retrieve the tags including inherited tags
14113at the *current* entry, you can use the value of the variable 14127at the *current* entry, you can use the value of the variable
@@ -16401,6 +16415,12 @@ With prefix ARG, change that many days."
16401 (message "Timestamp is now %sactive" 16415 (message "Timestamp is now %sactive"
16402 (if (equal (char-after beg) ?<) "" "in"))))) 16416 (if (equal (char-after beg) ?<) "" "in")))))
16403 16417
16418(defun org-at-clock-log-p nil
16419 "Is the cursor on the clock log line?"
16420 (save-excursion
16421 (move-beginning-of-line 1)
16422 (looking-at "^[ \t]*CLOCK:")))
16423
16404(defvar org-clock-history) ; defined in org-clock.el 16424(defvar org-clock-history) ; defined in org-clock.el
16405(defvar org-clock-adjust-closest nil) ; defined in org-clock.el 16425(defvar org-clock-adjust-closest nil) ; defined in org-clock.el
16406(defun org-timestamp-change (n &optional what updown) 16426(defun org-timestamp-change (n &optional what updown)
@@ -18737,8 +18757,7 @@ this function returns t, nil otherwise."
18737 (throw 'exit t)))) 18757 (throw 'exit t))))
18738 nil)))) 18758 nil))))
18739 18759
18740(autoload 'org-element-at-point "org-element") 18760(org-autoload "org-element" '(org-element-at-point org-element-type))
18741(autoload 'org-element-type "org-element")
18742 18761
18743(declare-function org-element-at-point "org-element" (&optional keep-trail)) 18762(declare-function org-element-at-point "org-element" (&optional keep-trail))
18744(declare-function org-element-type "org-element" (element)) 18763(declare-function org-element-type "org-element" (element))
@@ -19840,7 +19859,7 @@ See the individual commands for more information."
19840 ("Refresh/Reload" 19859 ("Refresh/Reload"
19841 ["Refresh setup current buffer" org-mode-restart t] 19860 ["Refresh setup current buffer" org-mode-restart t]
19842 ["Reload Org (after update)" org-reload t] 19861 ["Reload Org (after update)" org-reload t]
19843 ["Reload Org uncompiled" (org-reload t) :active t :keys "C-u C-c C-x r"]) 19862 ["Reload Org uncompiled" (org-reload t) :active t :keys "C-u C-c C-x !"])
19844 )) 19863 ))
19845 19864
19846(defun org-info (&optional node) 19865(defun org-info (&optional node)
@@ -20970,7 +20989,8 @@ hierarchy of headlines by UP levels before marking the subtree."
20970 (org-uniquify 20989 (org-uniquify
20971 (append fill-nobreak-predicate 20990 (append fill-nobreak-predicate
20972 '(org-fill-paragraph-separate-nobreak-p 20991 '(org-fill-paragraph-separate-nobreak-p
20973 org-fill-line-break-nobreak-p))))) 20992 org-fill-line-break-nobreak-p
20993 org-fill-paragraph-with-timestamp-nobreak-p)))))
20974 (org-set-local 'fill-paragraph-function 'org-fill-paragraph) 20994 (org-set-local 'fill-paragraph-function 'org-fill-paragraph)
20975 (org-set-local 'auto-fill-inhibit-regexp nil) 20995 (org-set-local 'auto-fill-inhibit-regexp nil)
20976 (org-set-local 'adaptive-fill-function 'org-adaptive-fill-function) 20996 (org-set-local 'adaptive-fill-function 'org-adaptive-fill-function)
@@ -20989,6 +21009,11 @@ hierarchy of headlines by UP levels before marking the subtree."
20989 (skip-chars-backward "\\\\") 21009 (skip-chars-backward "\\\\")
20990 (looking-at "\\\\\\\\\\($\\|[^\\\\]\\)"))) 21010 (looking-at "\\\\\\\\\\($\\|[^\\\\]\\)")))
20991 21011
21012(defun org-fill-paragraph-with-timestamp-nobreak-p ()
21013 "Non-nil when a line break at point would insert a new item."
21014 (and (org-at-timestamp-p t)
21015 (not (looking-at org-ts-regexp-both))))
21016
20992(declare-function message-in-body-p "message" ()) 21017(declare-function message-in-body-p "message" ())
20993(defvar org-element--affiliated-re) ; From org-element.el 21018(defvar org-element--affiliated-re) ; From org-element.el
20994(defvar orgtbl-line-start-regexp) ; From org-table.el 21019(defvar orgtbl-line-start-regexp) ; From org-table.el
@@ -22159,7 +22184,8 @@ Show the heading too, if it is currently invisible."
22159 isearch-mode-end-hook-quit) 22184 isearch-mode-end-hook-quit)
22160 ;; Only when the isearch was not quitted. 22185 ;; Only when the isearch was not quitted.
22161 (org-add-hook 'post-command-hook 'org-isearch-post-command 22186 (org-add-hook 'post-command-hook 'org-isearch-post-command
22162 'append 'local))))) 22187 'append 'local)))
22188 (org-fix-ellipsis-at-bol)))
22163 22189
22164(defun org-isearch-post-command () 22190(defun org-isearch-post-command ()
22165 "Remove self from hook, and show context." 22191 "Remove self from hook, and show context."
@@ -22190,7 +22216,7 @@ Show the heading too, if it is currently invisible."
22190 (re (concat "^" (org-get-limited-outline-regexp))) 22216 (re (concat "^" (org-get-limited-outline-regexp)))
22191 (subs (make-vector (1+ n) nil)) 22217 (subs (make-vector (1+ n) nil))
22192 (last-level 0) 22218 (last-level 0)
22193 m level head) 22219 m level head0 head)
22194 (save-excursion 22220 (save-excursion
22195 (save-restriction 22221 (save-restriction
22196 (widen) 22222 (widen)
@@ -22198,9 +22224,9 @@ Show the heading too, if it is currently invisible."
22198 (while (re-search-backward re nil t) 22224 (while (re-search-backward re nil t)
22199 (setq level (org-reduced-level (funcall outline-level))) 22225 (setq level (org-reduced-level (funcall outline-level)))
22200 (when (and (<= level n) 22226 (when (and (<= level n)
22201 (looking-at org-complex-heading-regexp)) 22227 (looking-at org-complex-heading-regexp)
22202 (setq head (org-link-display-format 22228 (setq head0 (org-match-string-no-properties 4)))
22203 (org-match-string-no-properties 4)) 22229 (setq head (org-link-display-format head0)
22204 m (org-imenu-new-marker)) 22230 m (org-imenu-new-marker))
22205 (org-add-props head nil 'org-imenu-marker m 'org-imenu t) 22231 (org-add-props head nil 'org-imenu-marker m 'org-imenu t)
22206 (if (>= level last-level) 22232 (if (>= level last-level)