summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2019-02-27 21:56:36 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2019-02-27 21:56:36 +0100
commit819864aebba4084f994911900b20b9fec09c3f0c (patch)
tree1f044cd2f2124710003058c6aaca10e42d90745d
parent87a00b3595b4be5dcf9f56f782096892e69f0923 (diff)
parentcc7c4a6732eb0d148c3ddb41e39b281c3ae6d610 (diff)
downloadorg-mode-819864aebba4084f994911900b20b9fec09c3f0c.tar.gz
Merge branch 'maint'
-rw-r--r--contrib/lisp/org-contacts.el2
-rw-r--r--contrib/lisp/org-link-edit.el2
-rw-r--r--contrib/lisp/org-notmuch.el7
-rw-r--r--doc/org-manual.org567
-rw-r--r--lisp/org-docview.el8
-rw-r--r--lisp/org-element.el11
-rw-r--r--lisp/org-lint.el4
-rw-r--r--lisp/org-protocol.el21
-rw-r--r--lisp/org.el7
-rw-r--r--lisp/ox-ascii.el5
-rw-r--r--lisp/ox-html.el22
-rw-r--r--lisp/ox-latex.el10
-rw-r--r--lisp/ox-publish.el5
-rw-r--r--lisp/ox.el4
14 files changed, 346 insertions, 329 deletions
diff --git a/contrib/lisp/org-contacts.el b/contrib/lisp/org-contacts.el
index 2cadd1d..34370fd 100644
--- a/contrib/lisp/org-contacts.el
+++ b/contrib/lisp/org-contacts.el
@@ -1013,7 +1013,7 @@ to do our best."
(setq phones-list (org-contacts-remove-ignored-property-values ignore-list (org-contacts-split-property tel)))
(setq result "")
(while phones-list
- (setq result (concat result "TEL:" (org-link-unescape (org-contacts-strip-link (car phones-list))) "\n"))
+ (setq result (concat result "TEL:" (org-contacts-strip-link (org-link-unescape (car phones-list))) "\n"))
(setq phones-list (cdr phones-list)))
result))
(when bday
diff --git a/contrib/lisp/org-link-edit.el b/contrib/lisp/org-link-edit.el
index 714fb25..9059df0 100644
--- a/contrib/lisp/org-link-edit.el
+++ b/contrib/lisp/org-link-edit.el
@@ -101,7 +101,7 @@ The list includes
((looking-at org-plain-link-re)
(list (match-beginning 0)
(match-end 0)
- (org-link-unescape (match-string-no-properties 0))
+ (match-string-no-properties 0)
nil))
(t
(error "What am I looking at?"))))))
diff --git a/contrib/lisp/org-notmuch.el b/contrib/lisp/org-notmuch.el
index 0cddabd..39cf0e3 100644
--- a/contrib/lisp/org-notmuch.el
+++ b/contrib/lisp/org-notmuch.el
@@ -105,8 +105,7 @@ Can link to more than one message, if so all matching messages are shown."
(defun org-notmuch-search-store-link ()
"Store a link to a notmuch search or message."
(when (eq major-mode 'notmuch-search-mode)
- (let ((link (concat "notmuch-search:"
- (org-link-escape notmuch-search-query-string)))
+ (let ((link (concat "notmuch-search:" notmuch-search-query-string))
(desc (concat "Notmuch search: " notmuch-search-query-string)))
(org-store-link-props :type "notmuch-search"
:link link
@@ -121,14 +120,14 @@ Can link to more than one message, if so all matching messages are shown."
(defun org-notmuch-search-follow-link (search)
"Follow a notmuch link by displaying SEARCH in notmuch-search mode."
(require 'notmuch)
- (notmuch-search (org-link-unescape search)))
+ (notmuch-search search))
(defun org-notmuch-tree-follow-link (search)
"Follow a notmuch link by displaying SEARCH in notmuch-tree mode."
(require 'notmuch)
- (notmuch-tree (org-link-unescape search)))
+ (notmuch-tree search))
(provide 'org-notmuch)
diff --git a/doc/org-manual.org b/doc/org-manual.org
index 00e5e10..8def818 100644
--- a/doc/org-manual.org
+++ b/doc/org-manual.org
@@ -3017,8 +3017,13 @@ links to other files, Usenet articles, emails, and much more.
#+cindex: link format
#+cindex: format, of links
-Org recognizes plain URL-like links and activate them as clickable
-links. The general link format, however, looks like this:
+#+cindex: angle bracket links
+#+cindex: plain links
+Org recognizes plain URIs, possibly wrapped within angle
+brackets[fn:25], and activate them as clickable links.
+
+#+cindex: bracket links
+The general link format, however, looks like this:
: [[LINK][DESCRIPTION]]
@@ -3027,7 +3032,20 @@ or alternatively
: [[LINK]]
-Once a link in the buffer is complete---all brackets present---, Org
+#+cindex: square brackets in links
+#+cindex: escape syntax, for links
+The {{{var(LINK)}}} part cannot contain =[= and =]= characters. You
+can replace them with their percent-encoded counterparts, which are,
+respectively, =%5B= and =%5D=. You also need to encode =%= characters
+as =%25=. Optionally, it may also come handy to encode consecutive
+spaces as =%20=.
+
+Org takes for granted that such links are correctly escaped. Luckily,
+functions inserting links (see [[*Handling Links]]) take care of this.
+You really need to bother about it only when inserting manually a URI
+within square brackets.
+
+Once a link in the buffer is complete, with all brackets present, Org
changes the display so that =DESCRIPTION= is displayed instead of
=[[LINK][DESCRIPTION]]= and =LINK= is displayed instead of =[[LINK]]=.
Links are highlighted in the ~org-link~ face, which, by default, is an
@@ -3041,7 +3059,7 @@ the {{{var(LINK)}}} part, if there is no description, or the
If you place point at the beginning or just behind the end of the
displayed text and press {{{kbd(BS)}}}, you remove
-the---invisible---bracket at that location[fn:25]. This makes the link
+the---invisible---bracket at that location[fn:26]. This makes the link
incomplete and the internals are again displayed as plain text.
Inserting the missing bracket hides the link internals again. To show
the internal structure of all links, use the menu: Org \rarr Hyperlinks \rarr
@@ -3086,12 +3104,12 @@ to, as in the following example
If none of the above succeeds, Org searches for a headline that is
exactly the link text but may also include a TODO keyword and
-tags[fn:26].
+tags[fn:27].
During export, internal links are used to mark objects and assign them
a number. Marked objects are then referenced by links pointing to
them. In particular, links without a description appear as the number
-assigned to the marked object[fn:27]. In the following excerpt from
+assigned to the marked object[fn:28]. In the following excerpt from
an Org buffer
#+begin_example
@@ -3164,7 +3182,7 @@ the colon. The following list shows examples for each link type.
| =/ssh:me@some.where:papers/last.pdf= | same as above |
| =file:sometextfile::NNN= | file, jump to line number |
| =file:projects.org= | another Org file |
-| =file:projects.org::some words= | text search in Org file[fn:28] |
+| =file:projects.org::some words= | text search in Org file[fn:29] |
| =file:projects.org::*task title= | heading search in Org file |
| =file+sys:/path/to/file= | open via OS, like double-click |
| =file+emacs:/path/to/file= | force opening by Emacs |
@@ -3244,7 +3262,7 @@ current buffer:
For Org files, if there is a =<<target>>= at point, the link points
to the target. Otherwise it points to the current headline, which
- is also the description[fn:29].
+ is also the description[fn:30].
#+vindex: org-link-to-org-use-id
#+cindex: @samp{CUSTOM_ID}, property
@@ -3252,7 +3270,7 @@ current buffer:
If the headline has a =CUSTOM_ID= property, store a link to this
custom ID. In addition or alternatively, depending on the value of
~org-link-to-org-use-id~, create and/or use a globally unique =ID=
- property for the link[fn:30]. So using this command in Org buffers
+ property for the link[fn:31]. So using this command in Org buffers
potentially creates two links: a human-readable link from the custom
ID, and one that is globally unique and works even if the entry is
moved from file to file. Later, when inserting the link, you need
@@ -3313,11 +3331,11 @@ generally, act on links.
#+cindex: completion, of links
#+cindex: inserting links
#+vindex: org-keep-stored-link-after-insertion
- Insert a link[fn:31]. This prompts for a link to be inserted into
+ Insert a link[fn:32]. This prompts for a link to be inserted into
the buffer. You can just type a link, using text for an internal
link, or one of the link type prefixes mentioned in the examples
above. The link is inserted into the buffer, along with
- a descriptive text[fn:32]. If some text was selected at this time,
+ a descriptive text[fn:33]. If some text was selected at this time,
it becomes the default description.
- /Inserting stored links/ ::
@@ -3332,7 +3350,7 @@ generally, act on links.
prefixes like =http= or =ftp=, including the prefixes defined
through link abbreviations (see [[*Link Abbreviations]]). If you
press {{{kbd(RET)}}} after inserting only the prefix, Org offers
- specific completion support for some link types[fn:33]. For
+ specific completion support for some link types[fn:34]. For
example, if you type {{{kbd(f i l e RET)}}}---alternative access:
{{{kbd(C-u C-c C-l)}}}, see below---Org offers file name
completion, and after {{{kbd(b b d b RET)}}} you can complete
@@ -3403,7 +3421,7 @@ generally, act on links.
#+vindex: org-display-internal-link-with-indirect-buffer
#+kindex: mouse-3
Like {{{kbd(mouse-2)}}}, but force file links to be opened with
- Emacs, and internal links to be displayed in another window[fn:34].
+ Emacs, and internal links to be displayed in another window[fn:35].
- {{{kbd(C-c %)}}} (~org-mark-ring-push~) ::
@@ -3538,7 +3556,7 @@ the link completion function like this:
File links can contain additional information to make Emacs jump to
a particular location in the file when following a link. This can be
-a line number or a search option after a double colon[fn:35]. For
+a line number or a search option after a double colon[fn:36]. For
example, when the command ~org-store-link~ creates a link (see
[[*Handling Links]]) to a file, it encodes the words in the current line
as a search string that can be used to find this line back later when
@@ -3618,7 +3636,7 @@ implementation example. See the file =org-bibtex.el=.
:END:
#+cindex: TODO items
-Org mode does not maintain TODO lists as separate documents[fn:36].
+Org mode does not maintain TODO lists as separate documents[fn:37].
Instead, TODO items are an integral part of the notes file, because
TODO items usually come up while taking notes! With Org mode, simply
mark any entry in a tree as being a TODO item. In this way,
@@ -3745,7 +3763,7 @@ TODO items in particular (see [[*Tags]]).
#+cindex: workflow states as TODO keywords
You can use TODO keywords to indicate different /sequential/ states in
-the process of working on an item, for example[fn:37]:
+the process of working on an item, for example[fn:38]:
#+begin_src emacs-lisp
(setq org-todo-keywords
@@ -3793,7 +3811,7 @@ In this case, different keywords do not indicate a sequence, but
rather different types. So the normal work flow would be to assign
a task to a person, and later to mark it DONE. Org mode supports this
style by adapting the workings of the command {{{kbd(C-c
-C-t)}}}[fn:38]. When used several times in succession, it still
+C-t)}}}[fn:39]. When used several times in succession, it still
cycles through all names, in order to first select the right type for
a task. But when you return to the item after some time and execute
{{{kbd(C-c C-t)}}} again, it will switch from any name directly to
@@ -3865,7 +3883,7 @@ correct sequence. In addition to typing a keyword or using completion
If you would like to quickly change an entry to an arbitrary TODO
state instead of cycling through the states, you can set up keys for
single-letter access to the states. This is done by adding the
-selection character after each keyword, in parentheses[fn:39]. For
+selection character after each keyword, in parentheses[fn:40]. For
example:
#+begin_src emacs-lisp
@@ -3878,7 +3896,7 @@ example:
#+vindex: org-fast-tag-selection-include-todo
If you then press {{{kbd(C-c C-t)}}} followed by the selection key,
the entry is switched to this state. {{{kbd(SPC)}}} can be used to
-remove any TODO keyword from an entry[fn:40].
+remove any TODO keyword from an entry[fn:41].
*** Setting up keywords for individual files
:PROPERTIES:
@@ -3923,7 +3941,7 @@ Remember that the keywords after the vertical bar---or the last
keyword if no bar is there---must always mean that the item is DONE,
although you may use a different word. After changing one of these
lines, use {{{kbd(C-c C-c)}}} with point still in the line to make the
-changes known to Org mode[fn:41].
+changes known to Org mode[fn:42].
*** Faces for TODO keywords
:PROPERTIES:
@@ -4056,7 +4074,7 @@ subtree. For information on how to clock working time for a task, see
:END:
The most basic logging is to keep track of /when/ a certain TODO item
-was marked DONE. This can be achieved with[fn:42]
+was marked DONE. This can be achieved with[fn:43]
#+begin_src emacs-lisp
(setq org-log-done 'time)
@@ -4071,7 +4089,7 @@ through further state cycling, that line is removed again. If you
turn the entry back to a non-TODO state (by pressing {{{kbd(C-c C-t
SPC)}}} for example), that line is also removed, unless you set
~org-closed-keep-when-no-todo~ to non-~nil~. If you want to record
-a note along with the timestamp, use[fn:43]
+a note along with the timestamp, use[fn:44]
#+begin_src emacs-lisp
(setq org-log-done 'note)
@@ -4094,11 +4112,11 @@ When TODO keywords are used as workflow states (see [[*TODO keywords as workflow
you might want to keep track of when a state change occurred and maybe
take a note about this change. You can either record just a
timestamp, or a time-stamped note. These records are inserted after
-the headline as an itemized list, newest first[fn:44]. When taking a
+the headline as an itemized list, newest first[fn:45]. When taking a
lot of notes, you might want to get the notes out of the way into a
drawer (see [[*Drawers]]). Customize the variable ~org-log-into-drawer~
to get this behavior---the recommended drawer for this is called
-=LOGBOOK=[fn:45]. You can also overrule the setting of this variable
+=LOGBOOK=[fn:46]. You can also overrule the setting of this variable
for a subtree by setting a =LOG_INTO_DRAWER= property.
Since it is normally too much to record a note for every state, Org
@@ -4120,7 +4138,7 @@ to record a timestamp without a note for TODO keywords configured with
You not only define global TODO keywords and fast access keys, but
also request that a time is recorded when the entry is set to =DONE=,
and that a note is recorded when switching to =WAIT= or
-=CANCELED=[fn:46]. The setting for =WAIT= is even more special: the
+=CANCELED=[fn:47]. The setting for =WAIT= is even more special: the
=!= after the slash means that in addition to the note taken when
entering the state, a timestamp should be recorded when /leaving/ the
=WAIT= state, if and only if the /target/ state does not configure
@@ -4313,7 +4331,7 @@ TODO items.
#+findex: org-priority-up
#+findex: org-priority-down
#+vindex: org-priority-start-cycle-with-default
- Increase/decrease the priority of the current headline[fn:47]. Note
+ Increase/decrease the priority of the current headline[fn:48]. Note
that these keys are also used to modify timestamps (see [[*Creating
Timestamps]]). See also [[*Packages that conflict with Org mode]], for
a discussion of the interaction with ~shift-selection-mode~.
@@ -4341,7 +4359,7 @@ highest priority is earlier in the alphabet than the lowest priority):
#+vindex: org-agenda-todo-list-sublevels
It is often advisable to break down large tasks into smaller,
manageable subtasks. You can do this by creating an outline tree
-below a TODO item, with detailed subtasks on the tree[fn:48]. To keep
+below a TODO item, with detailed subtasks on the tree[fn:49]. To keep
an overview of the fraction of subtasks that have already been marked
DONE, insert either =[/]= or =[%]= anywhere in the headline. These
cookies are updated each time the TODO status of a child changes, or
@@ -4397,7 +4415,7 @@ of) a large number of subtasks (see [[*Checkboxes]]).
#+cindex: checkboxes
#+vindex: org-list-automatic-rules
-Every item in a plain list[fn:49] (see [[*Plain Lists]]) can be made into
+Every item in a plain list[fn:50] (see [[*Plain Lists]]) can be made into
a checkbox by starting it with the string =[ ]=. This feature is
similar to TODO items (see [[*TODO Items]]), but is more lightweight.
Checkboxes are not included into the global TODO list, so they are
@@ -4435,7 +4453,7 @@ idea on how many checkboxes remain, even without opening a folded
entry. The cookies can be placed into a headline or into (the first
line of) a plain list item. Each cookie covers checkboxes of direct
children structurally below the headline/item on which the cookie
-appears[fn:50]. You have to insert the cookie yourself by typing
+appears[fn:51]. You have to insert the cookie yourself by typing
either =[/]= or =[%]=. With =[/]= you get an =n out of m= result, as
in the examples above. With =[%]= you get information about the
percentage of checkboxes checked (in the above example, this would be
@@ -4459,7 +4477,7 @@ The following commands work with checkboxes:
#+findex: org-toggle-checkbox
Toggle checkbox status or---with prefix argument---checkbox presence
at point. With a single prefix argument, add an empty checkbox or
- remove the current one[fn:51]. With a double prefix argument, set
+ remove the current one[fn:52]. With a double prefix argument, set
it to =[-]=, which is considered to be an intermediate state.
- {{{kbd(C-c C-x C-b)}}} (~org-toggle-checkbox~) ::
@@ -4556,7 +4574,7 @@ the final heading has the tags =work=, =boss=, =notes=, and =action=
even though the final heading is not explicitly marked with those
tags. You can also set tags that all entries in a file should inherit
just as if these tags were defined in a hypothetical level zero that
-surrounds the entire file. Use a line like this[fn:52]
+surrounds the entire file. Use a line like this[fn:53]
#+cindex: @samp{FILETAGS}, keyword
: #+FILETAGS: :Peter:Boss:Secret:
@@ -4570,7 +4588,7 @@ use the variables ~org-use-tag-inheritance~ and
#+vindex: org-tags-match-list-sublevels
When a headline matches during a tags search while tag inheritance is
turned on, all the sublevels in the same tree---for a simple match
-form---match as well[fn:53]. The list of matches may then become
+form---match as well[fn:54]. The list of matches may then become
very long. If you only want to see the first tags match in a subtree,
configure the variable ~org-tags-match-list-sublevels~ (not
recommended).
@@ -4623,7 +4641,7 @@ also a special command for inserting tags:
#+cindex: @samp{TAGS}, keyword
Org supports tag insertion based on a /list of tags/. By default this
list is constructed dynamically, containing all tags currently used in
-the buffer[fn:54]. You may also globally specify a hard list of tags
+the buffer[fn:55]. You may also globally specify a hard list of tags
with the variable ~org-tag-alist~. Finally you can set the default
tags for a given file using the =TAGS= keyword, like
@@ -4709,7 +4727,7 @@ by the following configuration:
If at least one tag has a selection key then pressing {{{kbd(C-c
C-c)}}} automatically presents you with a special interface, listing
inherited tags, the tags of the current headline, and a list of all
-valid tags with corresponding keys[fn:55].
+valid tags with corresponding keys[fn:56].
Pressing keys assigned to tags adds or removes them from the list of
tags in the current line. Selecting a tag in a group of mutually
@@ -5340,7 +5358,7 @@ optional. The individual parts have the following meaning:
- {{{var(SUMMARY-TYPE)}}} ::
The summary type. If specified, the column values for parent nodes
- are computed from the children[fn:56].
+ are computed from the children[fn:57].
Supported summary types are:
@@ -5357,7 +5375,7 @@ optional. The individual parts have the following meaning:
| =:min= | Smallest time value in column. |
| =:max= | Largest time value. |
| =:mean= | Arithmetic mean of time values. |
- | =@min= | Minimum age[fn:57] (in days/hours/mins/seconds). |
+ | =@min= | Minimum age[fn:58] (in days/hours/mins/seconds). |
| =@max= | Maximum age (in days/hours/mins/seconds). |
| =@mean= | Arithmetic mean of ages (in days/hours/mins/seconds). |
| =est+= | Add low-high estimates. |
@@ -5385,7 +5403,7 @@ contrast, =est+= estimates the full job more realistically, at 10--15
days.
Here is an example for a complete columns definition, along with
-allowed values[fn:58].
+allowed values[fn:59].
#+begin_example
:COLUMNS: %25ITEM %9Approved(Approved?){X} %Owner %11Status \
@@ -5645,7 +5663,7 @@ recalculated automatically after an update.
An alternative way to capture and process property values into a table
is provided by Eric Schulte's =org-collector.el=, which is
-a contributed package[fn:59]. It provides a general API to collect
+a contributed package[fn:60]. It provides a general API to collect
properties from entries in a certain scope, and arbitrary Lisp
expressions to process these values before inserting them into a table
or a dynamic block.
@@ -5679,7 +5697,7 @@ is used in a much wider sense.
A timestamp is a specification of a date (possibly with a time or
a range of times) in a special format, either =<2003-09-16 Tue>= or
-=<2003-09-16 Tue 09:39>= or =<2003-09-16 Tue 12:00-12:30>=[fn:60].
+=<2003-09-16 Tue 09:39>= or =<2003-09-16 Tue 12:00-12:30>=[fn:61].
A timestamp can appear anywhere in the headline or body of an Org tree
entry. Its presence causes entries to be shown on specific dates in
the agenda (see [[*Weekly/daily agenda]]). We distinguish:
@@ -5719,7 +5737,7 @@ the agenda (see [[*Weekly/daily agenda]]). We distinguish:
#+cindex: sexp timestamps
For more complex date specifications, Org mode supports using the
special sexp diary entries implemented in the Emacs calendar/diary
- package[fn:61]. For example, with optional time:
+ package[fn:62]. For example, with optional time:
#+begin_example
,* 22:00-23:00 The nerd meeting on every 2nd Thursday of the month
@@ -5871,7 +5889,7 @@ a range, it is taken from the stamp in the buffer. When filling in
information, Org mode assumes that most of the time you want to enter
a date in the future: if you omit the month/year and the given
day/month is /before/ today, it assumes that you mean a future
-date[fn:62]. If the date has been automatically shifted into the
+date[fn:63]. If the date has been automatically shifted into the
future, the time prompt shows this with =(=>F)=.
For example, let's assume that today is *June 13, 2006*. Here is how
@@ -5933,7 +5951,7 @@ separator in the latter case, e.g.:
#+cindex: calendar, for selecting date
#+vindex: org-popup-calendar-for-date-prompt
-Parallel to the minibuffer prompt, a calendar is popped up[fn:63].
+Parallel to the minibuffer prompt, a calendar is popped up[fn:64].
When you exit the date prompt, either by clicking on a date in the
calendar, or by pressing {{{kbd(RET)}}}, the date selected in the
calendar is combined with the information entered at the prompt. You
@@ -5970,7 +5988,7 @@ The actions of the date/time prompt may seem complex, but I assure you
they will grow on you, and you will start getting annoyed by pretty
much any other way of entering a date/time out there. To help you
understand what is going on, the current interpretation of your input
-is displayed live in the minibuffer[fn:64].
+is displayed live in the minibuffer[fn:65].
*** Custom time format
:PROPERTIES:
@@ -6062,7 +6080,7 @@ immediately after the task they refer to.
date.
#+vindex: org-agenda-skip-scheduled-if-done
- The headline is listed under the given date[fn:65]. In addition,
+ The headline is listed under the given date[fn:66]. In addition,
a reminder that the scheduled date has passed is present in the
compilation for /today/, until the entry is marked DONE, i.e., the
task is automatically forwarded until completed.
@@ -6114,7 +6132,7 @@ S-exp entry matches.
:END:
The following commands allow you to quickly insert a deadline or to
-schedule an item:[fn:66]
+schedule an item:[fn:67]
- {{{kbd(C-c C-d)}}} (~org-deadline~) ::
@@ -6126,7 +6144,7 @@ schedule an item:[fn:66]
timestamp . When called with a prefix argument, also remove any
existing deadline from the entry. Depending on the variable
~org-log-redeadline~, take a note when changing an existing
- deadline[fn:67].
+ deadline[fn:68].
- {{{kbd(C-c C-s)}}} (~org-schedule~) ::
@@ -6138,7 +6156,7 @@ schedule an item:[fn:66]
=CLOSED= timestamp. When called with a prefix argument, also remove
the scheduling date from the entry. Depending on the variable
~org-log-reschedule~, take a note when changing an existing
- scheduling time[fn:68].
+ scheduling time[fn:69].
- {{{kbd(C-c C-x C-k)}}} (~org-mark-entry-for-agenda-action~) ::
@@ -6189,7 +6207,7 @@ any current timestamp.
Some tasks need to be repeated again and again. Org mode helps to
organize such tasks using a so-called repeater in a =DEADLINE=,
-=SCHEDULED=, or plain timestamps[fn:69]. In the following example:
+=SCHEDULED=, or plain timestamps[fn:70]. In the following example:
#+begin_example
,** TODO Pay the rent
@@ -6217,7 +6235,7 @@ then also the /next/ instance of the repeated entry will not be
active. Org mode deals with this in the following way: when you try
to mark such an entry DONE, using {{{kbd(C-c C-t)}}}, it shifts the
base date of the repeating timestamp by the repeater interval, and
-immediately sets the entry state back to TODO[fn:70]. In the example
+immediately sets the entry state back to TODO[fn:71]. In the example
above, setting the state to DONE would actually switch the date like
this:
@@ -6230,7 +6248,7 @@ To mark a task with a repeater as DONE, use {{{kbd(C-- 1 C-c C-t)}}},
i.e., ~org-todo~ with a numeric prefix argument of =-1=.
#+vindex: org-log-repeat
-A timestamp[fn:71] is added under the deadline, to keep a record that
+A timestamp[fn:72] is added under the deadline, to keep a record that
you actually acted on the previous instance of this deadline.
As a consequence of shifting the base date, this entry is no longer
@@ -6296,7 +6314,7 @@ a project. When you start working on an item, you can start the
clock. When you stop working on that task, or when you mark the task
done, the clock is stopped and the corresponding time interval is
recorded. It also computes the total time spent on each
-subtree[fn:72] of a project. And it remembers a history or tasks
+subtree[fn:73] of a project. And it remembers a history or tasks
recently clocked, to that you can jump quickly between a number of
tasks absorbing your time.
@@ -6309,7 +6327,7 @@ To save the clock history across Emacs sessions, use:
#+vindex: org-clock-persist
When you clock into a new task after resuming Emacs, the incomplete
-clock[fn:73] is retrieved (see [[*Resolving idle time]]) and you are
+clock[fn:74] is retrieved (see [[*Resolving idle time]]) and you are
prompted about what to do with it.
*** Clocking commands
@@ -6347,14 +6365,14 @@ prompted about what to do with it.
the mode line, along with the title of the task. The clock time
shown is all time ever clocked for this task and its children. If
the task has an effort estimate (see [[*Effort Estimates]]), the mode
- line displays the current clocking time against it[fn:74]. If the
+ line displays the current clocking time against it[fn:76]. If the
task is a repeating one (see [[*Repeated tasks]]), show only the time
- since the last reset of the task[fn:75]. You can exercise more
+ since the last reset of the task[fn:77]. You can exercise more
control over show time with the =CLOCK_MODELINE_TOTAL= property. It
may have the values =current= to show only the current clocking
instance, =today= to show all time clocked on this tasks today---see
also the variable ~org-extend-today-until~, ~all~ to include all
- time, or ~auto~ which is the default[fn:76]. Clicking with
+ time, or ~auto~ which is the default[fn:78]. Clicking with
{{{kbd(mouse-1)}}} onto the mode line entry pops up a menu with
clocking options.
@@ -6368,7 +6386,7 @@ prompted about what to do with it.
computes the resulting time in inserts it after the time range as
==>HH:MM=. See the variable ~org-log-note-clock-out~ for the
possibility to record an additional note together with the clock-out
- timestamp[fn:77].
+ timestamp[fn:79].
- {{{kbd(C-c C-x C-x)}}} (~org-clock-in-last~) ::
@@ -6552,7 +6570,7 @@ be selected:
| =thisweek=, =lastweek=, =thisweek-N= | a relative week |
| =thismonth=, =lastmonth=, =thismonth-N= | a relative month |
| =thisyear=, =lastyear=, =thisyear-N= | a relative year |
- | =untilnow=[fn:78] | all clocked time ever |
+ | =untilnow=[fn:79] | all clocked time ever |
#+vindex: org-clock-display-default-range
When this option is not set, Org falls back to the value in
@@ -6613,7 +6631,7 @@ using the =:formatter= parameter.
- =:lang= ::
- Language[fn:79] to use for descriptive cells like "Task".
+ Language[fn:80] to use for descriptive cells like "Task".
- =:link= ::
@@ -6688,7 +6706,7 @@ day, you could write:
#+end_example
#+texinfo: @noindent
-To use a specific time range you could write[fn:80]
+To use a specific time range you could write[fn:81]
#+begin_example
,#+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>"
@@ -6744,7 +6762,7 @@ current clock, or applying it to another one.
#+vindex: org-clock-x11idle-program-name
By customizing the variable ~org-clock-idle-time~ to some integer,
such as 10 or 15, Emacs can alert you when you get back to your
-computer after being idle for that many minutes[fn:81], and ask what
+computer after being idle for that many minutes[fn:82], and ask what
you want to do with the idle time. There will be a question waiting
for you when you get back, indicating how much idle time has passed
constantly updated with the current amount, as well as a set of
@@ -6890,7 +6908,7 @@ displayed.
#+vindex: org-agenda-columns-add-appointments-to-effort-sum
If you switch to column view in the daily/weekly agenda, the effort
-column summarizes the estimated work effort for each day[fn:82], and
+column summarizes the estimated work effort for each day[fn:83], and
you can use this to find space in your schedule. To get an overview
of the entire part of the day that is committed, you can set the
option ~org-agenda-columns-add-appointments-to-effort-sum~. The
@@ -7238,7 +7256,7 @@ Now lets look at the elements of a template definition. Each entry in
- =(file+olp+datetree "filename" [ "Level 1 heading" ...])= ::
- This target[fn:83] creates a heading in a date tree[fn:84] for
+ This target[fn:84] creates a heading in a date tree[fn:85] for
today's date. If the optional outline path is given, the tree
will be built under the node it is pointing to, instead of at top
level. Check out the ~:time-prompt~ and ~:tree-type~ properties
@@ -7344,7 +7362,7 @@ Now lets look at the elements of a template definition. Each entry in
:DESCRIPTION: Filling in information about time and context.
:END:
-In the template itself, special "%-escapes"[fn:85] allow dynamic
+In the template itself, special "%-escapes"[fn:86] allow dynamic
insertion of content. The templates are expanded in the order given
here:
@@ -7471,7 +7489,7 @@ here:
After completing the template, position point here.
#+vindex: org-store-link-props
-For specific link types, the following keywords are defined[fn:86]:
+For specific link types, the following keywords are defined[fn:87]:
#+vindex: org-from-is-user-regexp
| Link type | Available keywords |
@@ -7484,7 +7502,7 @@ For specific link types, the following keywords are defined[fn:86]:
| | =%:date= (message date header field) |
| | =%:date-timestamp= (date as active timestamp) |
| | =%:date-timestamp-inactive= (date as inactive timestamp) |
-| | =%:fromto= (either "to NAME" or "from NAME")[fn:87] |
+| | =%:fromto= (either "to NAME" or "from NAME")[fn:88] |
| gnus | =%:group=, for messages also all email fields |
| w3, w3m | =%:url= |
| info | =%:file=, =%:node= |
@@ -7534,7 +7552,7 @@ Another method is /attachments/, which are files located in
a directory belonging to an outline node. Org uses directories named
by the unique ID of each entry. These directories are located in the
=data/= directory which lives in the same directory where your Org
-file lives[fn:88]. If you initialize this directory with =git init=,
+file lives[fn:89]. If you initialize this directory with =git init=,
Org automatically commits changes when it sees them. The attachment
system has been contributed to Org by John Wiegley.
@@ -7960,7 +7978,7 @@ special command:
~org-outline-path-complete-in-steps~. If you would like to be able
to create new nodes as new parents for refiling on the fly, check
the variable ~org-refile-allow-creating-parent-nodes~. When the
- variable ~org-log-refile~[fn:89] is set, a timestamp or a note is
+ variable ~org-log-refile~[fn:90] is set, a timestamp or a note is
recorded whenever an entry is refiled.
- {{{kbd(C-u C-c C-w)}}} ::
@@ -8219,12 +8237,12 @@ the window configuration is restored when the agenda exits:
#+vindex: org-agenda-files
The information to be shown is normally collected from all /agenda
-files/, the files listed in the variable ~org-agenda-files~[fn:90].
+files/, the files listed in the variable ~org-agenda-files~[fn:91].
If a directory is part of this list, all files with the extension
=.org= in this directory are part of the list.
Thus, even if you only work with a single Org file, that file should
-be put into the list[fn:91]. You can customize ~org-agenda-files~,
+be put into the list[fn:92]. You can customize ~org-agenda-files~,
but the easiest way to maintain it is through the following commands
#+attr_texinfo: :sep and
@@ -8356,7 +8374,7 @@ commands:
- {{{kbd(<)}}} ::
#+kindex: < @r{(Agenda dispatcher)}
- Restrict an agenda command to the current buffer[fn:92]. After
+ Restrict an agenda command to the current buffer[fn:93]. After
pressing {{{kbd(<)}}}, you still need to press the character
selecting the command.
@@ -8365,7 +8383,7 @@ commands:
#+kindex: < < @r{(Agenda dispatcher)}
If there is an active region, restrict the following agenda command
to the region. Otherwise, restrict it to the current
- subtree[fn:93]. After pressing {{{kbd(< <)}}}, you still need to
+ subtree[fn:94]. After pressing {{{kbd(< <)}}}, you still need to
press the character selecting the command.
- {{{kbd(*)}}} ::
@@ -8415,7 +8433,7 @@ a paper agenda, showing all the tasks for the current week or day.
#+cindex: org-agenda, command
Compile an agenda for the current week from a list of Org files.
The agenda shows the entries for each day. With a numeric prefix
- argument[fn:94]---like {{{kbd(C-u 2 1 M-x org-agenda a)}}}---you may
+ argument[fn:95]---like {{{kbd(C-u 2 1 M-x org-agenda a)}}}---you may
set the number of days to be displayed.
#+vindex: org-agenda-span
@@ -8474,7 +8492,7 @@ the entries into an Org file. Org mode evaluates diary-style sexp
entries, and does it faster because there is no overhead for first
creating the diary display. Note that the sexp entries must start at
the left margin, no whitespace is allowed before them, as seen in the
-following segment of an Org file:[fn:95]
+following segment of an Org file:[fn:96]
#+begin_example
,* Holidays
@@ -8976,7 +8994,7 @@ Time ranges can be specified with two timestamps:
#+vindex: org-agenda-search-headline-for-time
In the headline of the entry itself, a time(range)---like =12:45= or
-a =8:30-1pm=---may also appear as plain text[fn:96].
+a =8:30-1pm=---may also appear as plain text[fn:97].
If the agenda integrates the Emacs diary (see [[*Weekly/daily agenda]]),
time specifications in diary entries are recognized as well.
@@ -9085,7 +9103,7 @@ custom agenda commands.
estimates. The difference between this and a custom agenda command
is that filtering is very fast, so that you can switch quickly
between different filters without having to recreate the
- agenda.[fn:97]
+ agenda.[fn:98]
You are prompted for a tag selection letter; {{{kbd(SPC)}}} means
any tag at all. Pressing {{{kbd(TAB)}}} at that prompt offers
@@ -9510,7 +9528,7 @@ the other commands, point needs to be in the desired line.
variable ~org-agenda-start-with-clockreport-mode~. By using
a prefix argument when toggling this mode (i.e., {{{kbd(C-u R)}}}),
the clock table does not show contributions from entries that are
- hidden by agenda filtering[fn:98]. See also the variable
+ hidden by agenda filtering[fn:99]. See also the variable
~org-clock-report-include-clocking-task~.
- {{{kbd(v c)}}} ::
@@ -9947,7 +9965,7 @@ the other commands, point needs to be in the desired line.
- {{{kbd(f)}}} ::
#+vindex: org-agenda-bulk-custom-functions
- Apply a function[fn:99] to marked entries. For example, the
+ Apply a function[fn:100] to marked entries. For example, the
function below sets the =CATEGORY= property of the entries to
=web=.
@@ -9987,7 +10005,7 @@ the other commands, point needs to be in the desired line.
#+cindex: diary entries, creating from agenda
Insert a new entry into the diary, using the date at point and (for
block entries) the date at the mark. This adds to the Emacs diary
- file[fn:100], in a way similar to the {{{kbd(i)}}} command in the
+ file[fn:101], in a way similar to the {{{kbd(i)}}} command in the
calendar. The diary file pops up in another window, where you can
add the entry.
@@ -10114,13 +10132,13 @@ after the dispatcher command in order to access the command. Usually
this will be just a single character, but if you have many similar
commands, you can also define two-letter combinations where the first
character is the same in several combinations and serves as a prefix
-key[fn:101]. The second parameter is the search type, followed by the
+key[fn:102]. The second parameter is the search type, followed by the
string or regular expression to be used for the matching. The example
above will therefore define:
- {{{kbd(x)}}} ::
- as a global search for agenda entries planned[fn:102] this week/day.
+ as a global search for agenda entries planned[fn:103] this week/day.
- {{{kbd(y)}}} ::
@@ -10300,8 +10318,8 @@ See the docstring of the variable for more information.
If you are away from your computer, it can be very useful to have
a printed version of some agenda views to carry around. Org mode can
-export custom agenda views as plain text, HTML[fn:103], Postscript,
-PDF[fn:104], and iCalendar files. If you want to do this only
+export custom agenda views as plain text, HTML[fn:104], Postscript,
+PDF[fn:105], and iCalendar files. If you want to do this only
occasionally, use the following command:
- {{{kbd(C-x C-w)}}} (~org-agenda-write~) ::
@@ -10315,7 +10333,7 @@ occasionally, use the following command:
If you need to export certain agenda views frequently, you can
associate any custom agenda command with a list of output file
-names[fn:105]. Here is an example that first defines custom commands
+names[fn:106]. Here is an example that first defines custom commands
for the agenda and the global TODO list, together with a number of
files to which to export them. Then we define two block agenda
commands and specify file names for them as well. File names can be
@@ -10403,7 +10421,7 @@ emacs -eval (org-batch-store-agenda-views) -kill
#+end_src
#+texinfo: @noindent
-or, if you need to modify some parameters[fn:106]
+or, if you need to modify some parameters[fn:107]
#+begin_src shell
emacs -eval '(org-batch-store-agenda-views \
@@ -10644,7 +10662,7 @@ becomes =&nbsp;= in HTML and =~= in LaTeX.
#+cindex: special symbols, in-buffer display
If you would like to see entities displayed as UTF-8 characters, use
-the following command[fn:107]:
+the following command[fn:108]:
- {{{kbd(C-c C-x \)}}} (~org-toggle-pretty-entities~) ::
#+kindex: C-c C-x \
@@ -10658,7 +10676,7 @@ the following command[fn:107]:
#+cindex: dash, special symbol
#+cindex: ellipsis, special symbol
In addition to regular entities defined above, Org exports in
-a special way[fn:108] the following commonly used character
+a special way[fn:109] the following commonly used character
combinations: =\-= is treated as a shy hyphen, =--= and =---= are
converted into dashes, and =...= becomes a compact set of dots.
@@ -10671,7 +10689,7 @@ converted into dashes, and =...= becomes a compact set of dots.
Plain ASCII is normally sufficient for almost all note taking.
Exceptions include scientific notes, which often require mathematical
-symbols and the occasional formula. LaTeX[fn:109] is widely used to
+symbols and the occasional formula. LaTeX[fn:110] is widely used to
typeset scientific documents. Org mode supports embedding LaTeX code
into its files, because many academics are used to writing and reading
LaTeX source code, and because it can be readily processed to produce
@@ -10693,7 +10711,7 @@ into images (see [[*Previewing LaTeX fragments]]).
LaTeX fragments do not need any special marking at all. The following
snippets are identified as LaTeX source code:
-- Environments of any kind[fn:110]. The only requirement is that the
+- Environments of any kind[fn:111]. The only requirement is that the
=\begin= statement appears on a new line, preceded by only
whitespace.
@@ -10737,7 +10755,7 @@ lines:
#+vindex: org-preview-latex-default-process
If you have a working LaTeX installation and =dvipng=, =dvisvgm= or
-=convert= installed[fn:111], LaTeX fragments can be processed to
+=convert= installed[fn:112], LaTeX fragments can be processed to
produce images of the typeset expressions to be used for inclusion
while exporting to HTML (see [[*LaTeX fragments]]), or for inline
previewing within Org mode.
@@ -10807,7 +10825,7 @@ more details see the documentation of CDLaTeX mode):
#+kindex: TAB
The {{{kbd(TAB)}}} key expands the template if point is inside
- a LaTeX fragment[fn:112]. For example, {{{kbd(TAB)}}} expands =fr=
+ a LaTeX fragment[fn:113]. For example, {{{kbd(TAB)}}} expands =fr=
to =\frac{}{}= and position point correctly inside the first brace.
Another {{{kbd(TAB)}}} gets you into the second brace.
@@ -10879,9 +10897,9 @@ Here is an example
#+vindex: org-latex-listings
If the example is source code from a programming language, or any
other text that can be marked up by Font Lock in Emacs, you can ask
-for the example to look like the fontified Emacs buffer[fn:113]. This
+for the example to look like the fontified Emacs buffer[fn:114]. This
is done with the code block, where you also need to specify the name
-of the major mode that should be used to fontify the example[fn:114],
+of the major mode that should be used to fontify the example[fn:115],
see [[*Structure Templates]] for shortcuts to easily insert code blocks.
#+cindex: @samp{BEGIN_SRC}
@@ -10922,7 +10940,7 @@ In HTML, hovering the mouse over such a link remote-highlights the
corresponding code line, which is kind of cool.
You can also add a =-r= switch which /removes/ the labels from the
-source code[fn:115]. With the =-n= switch, links to these references
+source code[fn:116]. With the =-n= switch, links to these references
are labeled by the line numbers from the code listing. Otherwise
links use the labels with no parentheses. Here is an example:
@@ -10960,10 +10978,10 @@ a shortcut is provided (see [[*Structure Templates]]).
#+findex: org-edit-special
Edit the source code example at point in its native mode. This
works by switching to a temporary buffer with the source code. You
- need to exit by pressing {{{kbd(C-c ')}}} again[fn:116]. The edited
+ need to exit by pressing {{{kbd(C-c ')}}} again[fn:117]. The edited
version then replaces the old version in the Org buffer.
Fixed-width regions---where each line starts with a colon followed
- by a space---are edited using ~artist-mode~[fn:117] to allow
+ by a space---are edited using ~artist-mode~[fn:118] to allow
creating ASCII drawings easily. Using this command in an empty line
creates a new fixed-width region.
@@ -10982,7 +11000,7 @@ the end of the current line. Then the label is stored as a link
#+cindex: inlining images
#+cindex: images, markup rules
-An image is a link to an image file[fn:118] that does not have
+An image is a link to an image file[fn:119] that does not have
a description part, for example
: ./img/cat.jpg
@@ -11011,7 +11029,7 @@ command:
a prefix argument, also display images that do have a link
description. You can ask for inline images to be displayed at
startup by configuring the variable
- ~org-startup-with-inline-images~[fn:119].
+ ~org-startup-with-inline-images~[fn:120].
** Captions
:PROPERTIES:
@@ -11217,7 +11235,7 @@ global variables, include:
#+cindex: @samp{DATE}, keyword
#+vindex: org-export-date-timestamp-format
- A date or a time-stamp[fn:120].
+ A date or a time-stamp[fn:121].
- =EMAIL= ::
@@ -11232,7 +11250,7 @@ global variables, include:
Language to use for translating certain strings
(~org-export-default-language~). With =#+LANGUAGE: fr=, for
example, Org translates =Table of contents= to the French =Table des
- matières=[fn:121].
+ matières=[fn:122].
- =SELECT_TAGS= ::
@@ -11509,7 +11527,7 @@ keyword:
#+cindex: excluding entries from table of contents
#+cindex: table of contents, exclude entries
Org includes both numbered and unnumbered headlines in the table of
-contents[fn:122]. If you need to exclude an unnumbered headline,
+contents[fn:123]. If you need to exclude an unnumbered headline,
along with all its children, set the =UNNUMBERED= property to =notoc=
value.
@@ -11612,7 +11630,7 @@ be omitted to use the obvious defaults.
| =#+INCLUDE: "~/.emacs" :lines "10-"= | Include lines from 10 to EOF |
Inclusions may specify a file-link to extract an object matched by
-~org-link-search~[fn:123] (see [[*Search Options in File Links]]). The
+~org-link-search~[fn:124] (see [[*Search Options in File Links]]). The
ranges for =:lines= keyword are relative to the requested element.
Therefore,
@@ -11653,7 +11671,7 @@ following syntax:
: #+MACRO: name replacement text; $1, $2 are arguments
#+texinfo: @noindent
-which can be referenced using ={{{name(arg1, arg2)}}}=[fn:124]. For
+which can be referenced using ={{{name(arg1, arg2)}}}=[fn:125]. For
example
#+begin_example
@@ -11772,7 +11790,7 @@ are not exported.
Finally, a =COMMENT= keyword at the beginning of an entry, but after
any other keyword or priority cookie, comments out the entire subtree.
In this case, the subtree is not exported and no code block within it
-is executed either[fn:125]. The command below helps changing the
+is executed either[fn:126]. The command below helps changing the
comment status of a headline.
- {{{kbd(C-c ;)}}} (~org-toggle-comment~) ::
@@ -12042,7 +12060,7 @@ should in principle be exportable as a Beamer presentation.
- Org exports a Beamer frame's objects as block environments. Org can
enforce wrapping in special block types when =BEAMER_ENV= property
- is set[fn:126]. For valid values see
+ is set[fn:127]. For valid values see
~org-beamer-environments-default~. To add more values, see
~org-beamer-environments-extra~.
#+vindex: org-beamer-environments-default
@@ -12629,7 +12647,7 @@ as-is.
#+vindex: org-html-mathjax-options~
LaTeX math snippets (see [[*LaTeX fragments]]) can be displayed in two
different ways on HTML pages. The default is to use the [[http://www.mathjax.org][MathJax]],
-which should work out of the box with Org[fn:127][fn:128]. Some MathJax
+which should work out of the box with Org[fn:128][fn:129]. Some MathJax
display options can be configured via ~org-html-mathjax-options~, or
in the buffer. For example, with the following settings,
@@ -12641,7 +12659,7 @@ in the buffer. For example, with the following settings,
#+texinfo: @noindent
equation labels are displayed on the left margin and equations are
five em from the left margin. In addition, it loads the two MathJax
-extensions =cancel.js= and =noErrors.js=[fn:129].
+extensions =cancel.js= and =noErrors.js=[fn:130].
#+vindex: org-html-mathjax-template
See the docstring of ~org-html-mathjax-options~ for all supported
@@ -12704,7 +12722,7 @@ line.
#+vindex: org-export-html-todo-kwd-class-prefix
#+vindex: org-export-html-tag-class-prefix
You can modify the CSS style definitions for the exported file. The
-HTML exporter assigns the following special CSS classes[fn:130] to
+HTML exporter assigns the following special CSS classes[fn:131] to
appropriate parts of the document---your style specifications may
change these, in addition to any of the standard classes like for
headlines, tables, etc.
@@ -12943,7 +12961,7 @@ LaTeX export back-end finds the compiler version to use from
Org file. See the docstring for the
~org-latex-default-packages-alist~ for loading packages with certain
compilers. Also see ~org-latex-bibtex-compiler~ to set the
-bibliography compiler[fn:131].
+bibliography compiler[fn:132].
*** LaTeX specific export settings
:PROPERTIES:
@@ -13563,7 +13581,7 @@ a limit to a level before the absolute limit (see [[*Export Settings]]).
The ODT export back-end handles creating of OpenDocument Text (ODT)
format. Documents created by this exporter use the
-{{{cite(OpenDocument-v1.2 specification)}}}[fn:132] and are compatible
+{{{cite(OpenDocument-v1.2 specification)}}}[fn:133] and are compatible
with LibreOffice 3.4.
*** Pre-requisites for ODT export
@@ -13964,7 +13982,7 @@ document in one of the following ways:
variables ~org-latex-to-mathml-convert-command~ and
~org-latex-to-mathml-jar-file~.
- If you prefer to use MathToWeb[fn:133] as your converter, you can
+ If you prefer to use MathToWeb[fn:134] as your converter, you can
configure the above variables as shown below.
#+begin_src emacs-lisp
@@ -13975,7 +13993,7 @@ document in one of the following ways:
#+end_src
#+texinfo: @noindent
- or, to use LaTeX​ML[fn:134] instead,
+ or, to use LaTeX​ML[fn:135] instead,
#+begin_src emacs-lisp
(setq org-latex-to-mathml-convert-command
@@ -14294,7 +14312,7 @@ with the =#+ATTR_ODT= line. For a discussion on default formatting of
tables, see [[*Tables in ODT export]].
This feature closely mimics the way table templates are defined in the
-OpenDocument-v1.2 specification[fn:135].
+OpenDocument-v1.2 specification[fn:136].
#+vindex: org-odt-table-styles
For quick preview of this feature, install the settings below and export the
@@ -14328,7 +14346,7 @@ templates, define new styles there.
To use this feature proceed as follows:
-1. Create a table template[fn:136].
+1. Create a table template[fn:137].
A table template is set of =table-cell= and =paragraph= styles for
each of the following table cell categories:
@@ -14367,7 +14385,7 @@ To use this feature proceed as follows:
=</office:automatic-styles>= element of the content template file
(see [[x-orgodtcontenttemplate-xml][Factory styles]]).
-2. Define a table style[fn:137].
+2. Define a table style[fn:138].
#+vindex: org-odt-table-styles
To define a table style, create an entry for the style in the
@@ -15440,7 +15458,7 @@ If you want to publish the Org file as an =.org= file but with
~org-publish-org-to-org~. This produces =file.org= and put it in the
publishing directory. If you want a htmlized version of this file,
set the parameter ~:htmlized-source~ to ~t~. It produces
-=file.org.html= in the publishing directory[fn:138].
+=file.org.html= in the publishing directory[fn:139].
Other files like images only need to be copied to the publishing
destination; for this you can use ~org-publish-attachment~. For
@@ -16810,13 +16828,13 @@ See [[*Languages]] to enable other languages.
#+kindex: C-c C-v e
#+findex: org-babel-execute-src-block
Org provides many ways to execute code blocks. {{{kbd(C-c C-c)}}} or
-{{{kbd(C-c C-v e)}}} with the point on a code block[fn:139] calls the
+{{{kbd(C-c C-v e)}}} with the point on a code block[fn:140] calls the
~org-babel-execute-src-block~ function, which executes the code in the
block, collects the results, and inserts them in the buffer.
#+cindex: @samp{CALL}, keyword
#+vindex: org-babel-inline-result-wrap
-By calling a named code block[fn:140] from an Org mode buffer or
+By calling a named code block[fn:141] from an Org mode buffer or
a table. Org can call the named code blocks from the current Org mode
buffer or from the "Library of Babel" (see [[*Library of Babel]]).
@@ -17169,7 +17187,7 @@ default behavior is to automatically determine the result type.
If =file= is missing, Org generates the base name of the output
file from the name of the code block, and its extension from the
=file-ext= header argument. In that case, both the name and the
- extension are mandatory[fn:141].
+ extension are mandatory[fn:142].
#+begin_example
,#+name: circle
@@ -17618,10 +17636,10 @@ Code blocks in the following languages are supported.
| Asymptote | =asymptote= | Lisp | =lisp= |
| Awk | =awk= | Lua | =lua= |
| C | =C= | MATLAB | =matlab= |
-| C++ | =C++=[fn:142] | Mscgen | =mscgen= |
+| C++ | =C++=[fn:143] | Mscgen | =mscgen= |
| Clojure | =clojure= | Objective Caml | =ocaml= |
| CSS | =css= | Octave | =octave= |
-| D | =D=[fn:143] | Org mode | =org= |
+| D | =D=[fn:144] | Org mode | =org= |
| ditaa | =ditaa= | Oz | =oz= |
| Emacs Calc | =calc= | Perl | =perl= |
| Emacs Lisp | =emacs-lisp= | Plantuml | =plantuml= |
@@ -17750,7 +17768,7 @@ for Python and Emacs Lisp languages.
#+cindex: syntax, Noweb
#+cindex: source code, Noweb reference
-Org supports named blocks in Noweb[fn:144] style syntax:
+Org supports named blocks in Noweb[fn:145] style syntax:
: <<CODE-BLOCK-ID>>
@@ -18248,7 +18266,7 @@ Org Tempo expands snippets to structures defined in
~org-structure-template-alist~ and ~org-tempo-keywords-alist~. For
example, {{{kbd(< s TAB)}}} creates a code block. Enable it by
customizing ~org-modules~ or add =(require 'org-tempo)= to your Emacs
-init file[fn:145].
+init file[fn:146].
#+attr_texinfo: :columns 0.1 0.9
| {{{kbd(a)}}} | =#+BEGIN_EXPORT ascii= ... =#+END_EXPORT= |
@@ -18518,7 +18536,7 @@ changes.
#+vindex: org-startup-indented
Dynamic virtual indentation is controlled by the variable
- ~org-startup-indented~[fn:146].
+ ~org-startup-indented~[fn:147].
- =indent= ::
@@ -18851,7 +18869,7 @@ uses only one star and indents text to line with the heading:
#+findex: org-indent-mode
To turn this mode on, use the minor mode, ~org-indent-mode~. Text
lines that are not headlines are prefixed with spaces to vertically
-align with the headline text[fn:147].
+align with the headline text[fn:148].
#+vindex: org-indent-indentation-per-level
To make more horizontal space, the headlines are shifted by two stars.
@@ -18886,7 +18904,7 @@ headings as shown in examples below.
#+vindex: org-adapt-indentation
Org supports this with paragraph filling, line wrapping, and
structure editing, preserving or adapting the indentation as
- appropriate[fn:148].
+ appropriate[fn:149].
- /Hiding leading stars/ ::
@@ -18919,7 +18937,7 @@ headings as shown in examples below.
#+vindex: org-odd-levels-only
Using stars for only odd levels, 1, 3, 5, ..., can also clean up the
- clutter. This removes two stars from each level[fn:149]. For Org
+ clutter. This removes two stars from each level[fn:150]. For Org
to properly handle this cleaner structure during edits and exports,
configure the variable ~org-odd-levels-only~. To set this per-file,
use either one of the following lines:
@@ -19318,7 +19336,7 @@ these variables.
#+vindex: org-mobile-directory
The mobile application needs access to a file directory on
-a server[fn:150] to interact with Emacs. Pass its location through
+a server[fn:151] to interact with Emacs. Pass its location through
the ~org-mobile-directory~ variable. If you can mount that directory
locally just set the variable to point to that directory:
@@ -19339,7 +19357,7 @@ With a public server, consider encrypting the files. Org also
requires OpenSSL installed on the local computer. To turn on
encryption, set the same password in the mobile application and in
Emacs. Set the password in the variable
-~org-mobile-use-encryption~[fn:151]. Note that even after the mobile
+~org-mobile-use-encryption~[fn:152]. Note that even after the mobile
application encrypts the file contents, the file name remains visible
on the file systems of the local computer, the server, and the mobile
device.
@@ -19355,15 +19373,15 @@ The command ~org-mobile-push~ copies files listed in
~org-mobile-files~ into the staging area. Files include agenda files
(as listed in ~org-agenda-files~). Customize ~org-mobile-files~ to
add other files. File names are staged with paths relative to
-~org-directory~, so all files should be inside this directory[fn:152].
+~org-directory~, so all files should be inside this directory[fn:153].
Push creates a special Org file =agendas.org= with custom agenda views
-defined by the user[fn:153].
+defined by the user[fn:154].
Finally, Org writes the file =index.org=, containing links to other
files. The mobile application reads this file first from the server
to determine what other files to download for agendas. For faster
-downloads, it is expected to only read files whose checksums[fn:154]
+downloads, it is expected to only read files whose checksums[fn:155]
have changed.
*** Pulling from the mobile application
@@ -19380,7 +19398,7 @@ data in an inbox file format, through the following steps:
1.
#+vindex: org-mobile-inbox-for-pull
- Org moves all entries found in =mobileorg.org=[fn:155] and appends
+ Org moves all entries found in =mobileorg.org=[fn:156] and appends
them to the file pointed to by the variable
~org-mobile-inbox-for-pull~. It should reside neither in the
staging area nor on the server. Each captured entry and each
@@ -19716,9 +19734,9 @@ of these strategies:
#+cindex: @LaTeX{}, and Orgtbl mode
To wrap a source table in LaTeX, use the =comment= environment
-provided by =comment.sty=[fn:156]. To activate it, put
+provided by =comment.sty=[fn:157]. To activate it, put
~\usepackage{comment}~ in the document header. Orgtbl mode inserts
-a radio table skeleton[fn:149] with the command {{{kbd(M-x
+a radio table skeleton[fn:150] with the command {{{kbd(M-x
orgtbl-insert-radio-table)}}}, which prompts for a table name. For
example, if =salesfigures= is the name, the template inserts:
@@ -19737,7 +19755,7 @@ The line =#+ORGTBL: SEND= tells Orgtbl mode to use the function
~orgtbl-to-latex~ to convert the table to LaTeX format, then insert
the table at the target (receive) location named =salesfigures=. Now
the table is ready for data entry. It can even use spreadsheet
-features[fn:157]:
+features[fn:158]:
#+begin_example
% BEGIN RECEIVE ORGTBL salesfigures
@@ -19954,7 +19972,7 @@ Dynamic blocks, like any other block, can be narrowed with
#+vindex: org-agenda-skip-function
#+vindex: org-agenda-skip-function-global
Org provides a special hook to further limit items in agenda views:
-~agenda~, ~agenda*~[fn:158], ~todo~, ~alltodo~, ~tags~, ~tags-todo~,
+~agenda~, ~agenda*~[fn:159], ~todo~, ~alltodo~, ~tags~, ~tags-todo~,
~tags-tree~. Specify a custom function that tests inclusion of every
matched item in the view. This function can also skip as much as is
needed.
@@ -19997,7 +20015,7 @@ meaningful string suitable for the agenda view.
#+vindex: org-agenda-skip-function
Search for entries with a limit set on levels for the custom search.
This is a general approach to creating custom searches in Org. To
-include all levels, use =LEVEL>0=[fn:159]. Then to selectively pick
+include all levels, use =LEVEL>0=[fn:160]. Then to selectively pick
the matched entries, use ~org-agenda-skip-function~, which also
accepts Lisp forms, such as ~org-agenda-skip-entry-if~ and
~org-agenda-skip-subtree-if~. For example:
@@ -21003,139 +21021,144 @@ leaves approximately 16 significant decimal digits.
[fn:24] Such names must start with an alphabetic character and use
only alphanumeric/underscore characters.
-[fn:25] More accurately, the precise behavior depends on how point
+[fn:25] Plain URIs are recognized only for a well-defined set of
+schemes. See [[*External Links]]. Unlike URI syntax, they cannot contain
+parenthesis or white spaces, either. URIs within angle brackets have
+no such limitation.
+
+[fn:26] More accurately, the precise behavior depends on how point
arrived there---see [[info:elisp#Invisible%20Text][Invisible Text]].
-[fn:26] To insert a link targeting a headline, in-buffer completion
+[fn:27] To insert a link targeting a headline, in-buffer completion
can be used. Just type a star followed by a few optional letters into
the buffer and press {{{kbd(M-TAB)}}}. All headlines in the current
buffer are offered as completions.
-[fn:27] When targeting a =NAME= keyword, the =CAPTION= keyword is
+[fn:28] When targeting a =NAME= keyword, the =CAPTION= keyword is
mandatory in order to get proper numbering (see [[*Captions]]).
-[fn:28] The actual behavior of the search depends on the value of the
+[fn:29] The actual behavior of the search depends on the value of the
variable ~org-link-search-must-match-exact-headline~. If its value is
~nil~, then a fuzzy text search is done. If it is ~t~, then only the
exact headline is matched, ignoring spaces and statistic cookies. If
the value is ~query-to-create~, then an exact headline is searched; if
it is not found, then the user is queried to create it.
-[fn:29] If the headline contains a timestamp, it is removed from the
+[fn:30] If the headline contains a timestamp, it is removed from the
link, which results in a wrong link---you should avoid putting
a timestamp in the headline.
-[fn:30] The Org Id library must first be loaded, either through
+[fn:31] The Org Id library must first be loaded, either through
~org-customize~, by enabling ~id~ in ~org-modules~, or by adding
=(require 'org-id)= in your Emacs init file.
-[fn:31] Note that you do not have to use this command to insert
+[fn:32] Note that you do not have to use this command to insert
a link. Links in Org are plain text, and you can type or paste them
straight into the buffer. By using this command, the links are
automatically enclosed in double brackets, and you will be asked for
the optional descriptive text.
-[fn:32] After insertion of a stored link, the link will be removed
+[fn:33] After insertion of a stored link, the link will be removed
from the list of stored links. To keep it in the list for later use,
use a triple {{{kbd(C-u)}}} prefix argument to {{{kbd(C-c C-l)}}}, or
configure the option ~org-keep-stored-link-after-insertion~.
-[fn:33] This works if a function has been defined in the ~:complete~
+[fn:34] This works if a function has been defined in the ~:complete~
property of a link in ~org-link-parameters~.
-[fn:34] See the variable ~org-display-internal-link-with-indirect-buffer~.
+[fn:35] See the variable ~org-display-internal-link-with-indirect-buffer~.
-[fn:35] For backward compatibility, line numbers can also follow a
+[fn:36] For backward compatibility, line numbers can also follow a
single colon.
-[fn:36] Of course, you can make a document that contains only long
+[fn:37] Of course, you can make a document that contains only long
lists of TODO items, but this is not required.
-[fn:37] Changing the variable ~org-todo-keywords~ only becomes
+[fn:38] Changing the variable ~org-todo-keywords~ only becomes
effective after restarting Org mode in a buffer.
-[fn:38] This is also true for the {{{kbd(t)}}} command in the agenda
+[fn:39] This is also true for the {{{kbd(t)}}} command in the agenda
buffer.
-[fn:39] All characters are allowed except =@=, =^= and =!=, which have
+[fn:40] All characters are allowed except =@=, =^= and =!=, which have
a special meaning here.
-[fn:40] Check also the variable ~org-fast-tag-selection-include-todo~,
+[fn:41] Check also the variable ~org-fast-tag-selection-include-todo~,
it allows you to change the TODO state through the tags interface (see
[[*Setting Tags]]), in case you like to mingle the two concepts. Note
that this means you need to come up with unique keys across both sets
of keywords.
-[fn:41] Org mode parses these lines only when Org mode is activated
+[fn:42] Org mode parses these lines only when Org mode is activated
after visiting a file. {{{kbd(C-c C-c)}}} with point in a line
starting with =#+= is simply restarting Org mode for the current
buffer.
-[fn:42] The corresponding in-buffer setting is: =#+STARTUP: logdone=.
+[fn:43] The corresponding in-buffer setting is: =#+STARTUP: logdone=.
-[fn:43] The corresponding in-buffer setting is: =#+STARTUP:
+[fn:44] The corresponding in-buffer setting is: =#+STARTUP:
lognotedone=.
-[fn:44] See the variable ~org-log-states-order-reversed~.
+[fn:45] See the variable ~org-log-states-order-reversed~.
-[fn:45] Note that the =LOGBOOK= drawer is unfolded when pressing
+[fn:46] Note that the =LOGBOOK= drawer is unfolded when pressing
{{{kbd(SPC)}}} in the agenda to show an entry---use {{{kbd(C-u
SPC)}}} to keep it folded here.
-[fn:46] It is possible that Org mode records two timestamps when you
+[fn:47] It is possible that Org mode records two timestamps when you
are using both ~org-log-done~ and state change logging. However, it
never prompts for two notes: if you have configured both, the state
change recording note takes precedence and cancel the closing note.
-[fn:47] See also the option ~org-priority-start-cycle-with-default~.
+[fn:48] See also the option ~org-priority-start-cycle-with-default~.
-[fn:48] To keep subtasks out of the global TODO list, see the option
+[fn:49] To keep subtasks out of the global TODO list, see the option
~org-agenda-todo-list-sublevels~.
-[fn:49] With the exception of description lists. But you can allow it
+[fn:50] With the exception of description lists. But you can allow it
by modifying ~org-list-automatic-rules~ accordingly.
-[fn:50] Set the variable ~org-hierarchical-checkbox-statistics~ if you
+[fn:51] Set the variable ~org-hierarchical-checkbox-statistics~ if you
want such cookies to count all checkboxes below the cookie, not just
those belonging to direct children.
-[fn:51] {{{kbd(C-u C-c C-c)}}} on the /first/ item of a list with no
+[fn:52] {{{kbd(C-u C-c C-c)}}} on the /first/ item of a list with no
checkbox adds checkboxes to the rest of the list.
-[fn:52] As with all these in-buffer settings, pressing {{{kbd(C-c
+[fn:53] As with all these in-buffer settings, pressing {{{kbd(C-c
C-c)}}} activates any changes in the line.
-[fn:53] This is only true if the search does not involve more complex
+[fn:54] This is only true if the search does not involve more complex
tests including properties (see [[*Property Searches]]).
-[fn:54] To extend this default list to all tags used in all agenda
+[fn:55] To extend this default list to all tags used in all agenda
files (see [[*Agenda Views]]), customize the variable
~org-complete-tags-always-offer-all-agenda-tags~.
-[fn:55] Keys are automatically assigned to tags that have no
+[fn:56] Keys are automatically assigned to tags that have no
configured keys.
-[fn:56] If more than one summary type applies to the same property,
+[fn:57] If more than one summary type applies to the same property,
the parent values are computed according to the first of them.
-[fn:57] An age can be defined as a duration, using units defined in
+[fn:58] An age can be defined as a duration, using units defined in
~org-duration-units~, e.g., =3d 1h=. If any value in the column is as
such, the summary is also expressed as a duration.
-[fn:58] Please note that the =COLUMNS= definition must be on a single
+[fn:59] Please note that the =COLUMNS= definition must be on a single
line; it is wrapped here only because of formatting constraints.
-[fn:59] Contributed packages are not part of Emacs, but are
+[fn:60] Contributed packages are not part of Emacs, but are
distributed with the main distribution of Org---visit
[[https://orgmode.org]].
-[fn:60] The Org date format is inspired by the standard ISO 8601
+[fn:61] The Org date format is inspired by the standard ISO 8601
date/time format. To use an alternative format, see [[*Custom time
format]]. The day name is optional when you type the date yourself.
However, any date inserted or modified by Org adds that day name, for
reading convenience.
-[fn:61] When working with the standard diary sexp functions, you need
+[fn:62] When working with the standard diary sexp functions, you need
to be very careful with the order of the arguments. That order
depends evilly on the variable ~calendar-date-style~. For example, to
specify a date December 12, 2005, the call might look like
@@ -21147,70 +21170,70 @@ like the corresponding ~diary-~ functions, but with stable ISO order
of arguments (year, month, day) wherever applicable, independent of
the value of ~calendar-date-style~.
-[fn:62] See the variable ~org-read-date-prefer-future~. You may set
+[fn:63] See the variable ~org-read-date-prefer-future~. You may set
that variable to the symbol ~time~ to even make a time before now
shift the date to tomorrow.
-[fn:63] If you do not need/want the calendar, configure the variable
+[fn:64] If you do not need/want the calendar, configure the variable
~org-popup-calendar-for-date-prompt~.
-[fn:64] If you find this distracting, turn off the display with
+[fn:65] If you find this distracting, turn off the display with
~org-read-date-display-live~.
-[fn:65] It will still be listed on that date after it has been marked
+[fn:66] It will still be listed on that date after it has been marked
DONE. If you do not like this, set the variable
~org-agenda-skip-scheduled-if-done~.
-[fn:66] The =SCHEDULED= and =DEADLINE= dates are inserted on the line
+[fn:67] The =SCHEDULED= and =DEADLINE= dates are inserted on the line
right below the headline. Do not put any text between this line and
the headline.
-[fn:67] Note the corresponding =STARTUP= options =logredeadline=,
+[fn:68] Note the corresponding =STARTUP= options =logredeadline=,
=lognoteredeadline=, and =nologredeadline=.
-[fn:68] Note the corresponding =STARTUP= options =logreschedule=,
+[fn:69] Note the corresponding =STARTUP= options =logreschedule=,
=lognotereschedule=, and =nologreschedule=.
-[fn:69] Org does not repeat inactive timestamps, however. See
+[fn:70] Org does not repeat inactive timestamps, however. See
[[*Timestamps, Deadlines and Scheduling]].
-[fn:70] In fact, the target state is taken from, in this sequence, the
+[fn:71] In fact, the target state is taken from, in this sequence, the
=REPEAT_TO_STATE= property, the variable ~org-todo-repeat-to-state~ if
it is a string, the previous TODO state if ~org-todo-repeat-to-state~
is ~t~, or the first state of the TODO state sequence.
-[fn:71] You can change this using the option ~org-log-repeat~, or the
+[fn:72] You can change this using the option ~org-log-repeat~, or the
=STARTUP= options =logrepeat=, =lognoterepeat=, and =nologrepeat=.
With =lognoterepeat=, you will also be prompted for a note.
-[fn:72] Clocking only works if all headings are indented with less
+[fn:73] Clocking only works if all headings are indented with less
than 30 stars. This is a hard-coded limitation of ~lmax~ in
~org-clock-sum~.
-[fn:73] To resume the clock under the assumption that you have worked
+[fn:74] To resume the clock under the assumption that you have worked
on this task while outside Emacs, use =(setq org-clock-persist t)=.
-[fn:74] To add an effort estimate "on the fly", hook a function doing
+[fn:75] To add an effort estimate "on the fly", hook a function doing
this to ~org-clock-in-prepare-hook~.
-[fn:75] The last reset of the task is recorded by the =LAST_REPEAT=
+[fn:76] The last reset of the task is recorded by the =LAST_REPEAT=
property.
-[fn:76] See also the variable ~org-clock-mode-line-total~.
+[fn:77] See also the variable ~org-clock-mode-line-total~.
-[fn:77] The corresponding in-buffer setting is: =#+STARTUP:
+[fn:78] The corresponding in-buffer setting is: =#+STARTUP:
lognoteclock-out=.
-[fn:78] When using ~:step~, ~untilnow~ starts from the beginning of
+[fn:79] When using ~:step~, ~untilnow~ starts from the beginning of
2003, not the beginning of time.
-[fn:79] Language terms can be set through the variable
+[fn:80] Language terms can be set through the variable
~org-clock-clocktable-language-setup~.
-[fn:80] Note that all parameters must be specified in a single
+[fn:81] Note that all parameters must be specified in a single
line---the line is broken here only to fit it into the manual.
-[fn:81] On computers using macOS, idleness is based on actual user
+[fn:82] On computers using macOS, idleness is based on actual user
idleness, not just Emacs' idle time. For X11, you can install
a utility program =x11idle.c=, available in the =contrib/scripts/=
directory of the Org Git distribution, or install the xprintidle
@@ -21218,229 +21241,229 @@ package and set it to the variable ~org-clock-x11idle-program-name~ if
you are running Debian, to get the same general treatment of idleness.
On other systems, idle time refers to Emacs idle time only.
-[fn:82] Please note the pitfalls of summing hierarchical data in
+[fn:83] Please note the pitfalls of summing hierarchical data in
a flat list (see [[*Using Column View in the Agenda]]).
-[fn:83] Org used to offer four different targets for date/week tree
+[fn:84] Org used to offer four different targets for date/week tree
capture. Now, Org automatically translates these to use
~file+olp+datetree~, applying the ~:time-prompt~ and ~:tree-type~
properties. Please rewrite your date/week-tree targets using
~file+olp+datetree~ since the older targets are now deprecated.
-[fn:84] A date tree is an outline structure with years on the highest
+[fn:85] A date tree is an outline structure with years on the highest
level, months or ISO weeks as sublevels and then dates on the lowest
level. Tags are allowed in the tree structure.
-[fn:85] If you need one of these sequences literally, escape the =%=
+[fn:86] If you need one of these sequences literally, escape the =%=
with a backslash.
-[fn:86] If you define your own link types (see [[*Adding Hyperlink
+[fn:87] If you define your own link types (see [[*Adding Hyperlink
Types]]), any property you store with ~org-store-link-props~ can be
accessed in capture templates in a similar way.
-[fn:87] This is always the other, not the user. See the variable
+[fn:88] This is always the other, not the user. See the variable
~org-from-is-user-regexp~.
-[fn:88] If you move entries or Org files from one directory to
+[fn:89] If you move entries or Org files from one directory to
another, you may want to configure ~org-attach-directory~ to contain
an absolute path.
-[fn:89] Note the corresponding =STARTUP= options =logrefile=,
+[fn:90] Note the corresponding =STARTUP= options =logrefile=,
=lognoterefile=, and =nologrefile=.
-[fn:90] If the value of that variable is not a list, but a single file
+[fn:91] If the value of that variable is not a list, but a single file
name, then the list of agenda files in maintained in that external
file.
-[fn:91] When using the dispatcher, pressing {{{kbd(<)}}} before
+[fn:92] When using the dispatcher, pressing {{{kbd(<)}}} before
selecting a command actually limits the command to the current file,
and ignores ~org-agenda-files~ until the next dispatcher command.
-[fn:92] For backward compatibility, you can also press {{{kbd(1)}}} to
+[fn:93] For backward compatibility, you can also press {{{kbd(1)}}} to
restrict to the current buffer.
-[fn:93] For backward compatibility, you can also press {{{kbd(0)}}} to
+[fn:94] For backward compatibility, you can also press {{{kbd(0)}}} to
restrict to the current region/subtree.
-[fn:94] For backward compatibility, the universal prefix argument
+[fn:95] For backward compatibility, the universal prefix argument
{{{kbd(C-u)}}} causes all TODO entries to be listed before the agenda.
This feature is deprecated, use the dedicated TODO list, or a block
agenda instead (see [[*Block agenda]]).
-[fn:95] The variable ~org-anniversary~ used in the example is just
+[fn:96] The variable ~org-anniversary~ used in the example is just
like ~diary-anniversary~, but the argument order is always according
to ISO and therefore independent of the value of
~calendar-date-style~.
-[fn:96] You can, however, disable this by setting
+[fn:97] You can, however, disable this by setting
~org-agenda-search-headline-for-time~ variable to a ~nil~ value.
-[fn:97] Custom commands can preset a filter by binding the variable
+[fn:98] Custom commands can preset a filter by binding the variable
~org-agenda-tag-filter-preset~ as an option. This filter is then
applied to the view and persists as a basic filter through refreshes
and more secondary filtering. The filter is a global property of the
entire agenda view---in a block agenda, you should only set this in
the global options section, not in the section of an individual block.
-[fn:98] Only tags filtering is respected here, effort filtering is
+[fn:99] Only tags filtering is respected here, effort filtering is
ignored.
-[fn:99] You can also create persistent custom functions through
+[fn:100] You can also create persistent custom functions through
~org-agenda-bulk-custom-functions~.
-[fn:100] This file is parsed for the agenda when
+[fn:101] This file is parsed for the agenda when
~org-agenda-include-diary~ is set.
-[fn:101] You can provide a description for a prefix key by inserting
+[fn:102] You can provide a description for a prefix key by inserting
a cons cell with the prefix and the description.
-[fn:102] /Planned/ means here that these entries have some planning
+[fn:103] /Planned/ means here that these entries have some planning
information attached to them, like a time-stamp, a scheduled or
a deadline string. See ~org-agenda-entry-types~ on how to set what
planning information is taken into account.
-[fn:103] For HTML you need to install Hrvoje Niksic's =htmlize.el=
+[fn:104] For HTML you need to install Hrvoje Niksic's =htmlize.el=
from [[https://github.com/hniksic/emacs-htmlize][Hrvoje Niksic's repository]].
-[fn:104] To create PDF output, the Ghostscript ps2pdf utility must be
+[fn:105] To create PDF output, the Ghostscript ps2pdf utility must be
installed on the system. Selecting a PDF file also creates the
postscript file.
-[fn:105] If you want to store standard views like the weekly agenda or
+[fn:106] If you want to store standard views like the weekly agenda or
the global TODO list as well, you need to define custom commands for
them in order to be able to specify file names.
-[fn:106] Quoting depends on the system you use, please check the FAQ
+[fn:107] Quoting depends on the system you use, please check the FAQ
for examples.
-[fn:107] You can turn this on by default by setting the variable
+[fn:108] You can turn this on by default by setting the variable
~org-pretty-entities~, or on a per-file base with the =STARTUP= option
=entitiespretty=.
-[fn:108] This behavior can be disabled with =-= export setting (see
+[fn:109] This behavior can be disabled with =-= export setting (see
[[*Export Settings]]).
-[fn:109] LaTeX is a macro system based on Donald\nbsp{}E.\nbsp{}Knuth's TeX
+[fn:110] LaTeX is a macro system based on Donald\nbsp{}E.\nbsp{}Knuth's TeX
system. Many of the features described here as "LaTeX" are really
from TeX, but for simplicity I am blurring this distinction.
-[fn:110] When MathJax is used, only the environments recognized by
+[fn:111] When MathJax is used, only the environments recognized by
MathJax are processed. When dvipng, dvisvgm, or ImageMagick suite is
used to create images, any LaTeX environment is handled.
-[fn:111] These are respectively available at
+[fn:112] These are respectively available at
[[http://sourceforge.net/projects/dvipng/]], [[http://dvisvgm.bplaced.net/]]
and from the ImageMagick suite. Choose the converter by setting the
variable ~org-preview-latex-default-process~ accordingly.
-[fn:112] Org mode has a method to test if point is inside such
+[fn:113] Org mode has a method to test if point is inside such
a fragment, see the documentation of the function
~org-inside-LaTeX-fragment-p~.
-[fn:113] This works automatically for the HTML backend (it requires
+[fn:114] This works automatically for the HTML backend (it requires
version 1.34 of the =htmlize.el= package, which you need to install).
Fontified code chunks in LaTeX can be achieved using either the
[[https://www.ctan.org/pkg/listings][listings]] package or the [[https://www.ctan.org/pkg/minted][minted]] package. Refer to
~org-export-latex-listings~ for details.
-[fn:114] Source code in code blocks may also be evaluated either
+[fn:115] Source code in code blocks may also be evaluated either
interactively or on export. See [[*Working with Source Code]] for more
information on evaluating code blocks.
-[fn:115] Adding =-k= to =-n -r= /keeps/ the labels in the source code
+[fn:116] Adding =-k= to =-n -r= /keeps/ the labels in the source code
while using line numbers for the links, which might be useful to
explain those in an Org mode example code.
-[fn:116] Upon exit, lines starting with =*=, =,*=, =#+= and =,#+= get
+[fn:117] Upon exit, lines starting with =*=, =,*=, =#+= and =,#+= get
a comma prepended, to keep them from being interpreted by Org as
outline nodes or special syntax. These commas are stripped when
editing with {{{kbd(C-c ')}}}, and also before export.
-[fn:117] You may select a different-mode with the variable
+[fn:118] You may select a different-mode with the variable
~org-edit-fixed-width-region-mode~.
-[fn:118] What Emacs considers to be an image depends on
+[fn:119] What Emacs considers to be an image depends on
~image-file-name-extensions~ and ~image-file-name-regexps~.
-[fn:119] The variable ~org-startup-with-inline-images~ can be set
+[fn:120] The variable ~org-startup-with-inline-images~ can be set
within a buffer with the =STARTUP= options =inlineimages= and
=noinlineimages=.
-[fn:120] The variable ~org-export-date-timestamp-format~ defines how
+[fn:121] The variable ~org-export-date-timestamp-format~ defines how
this timestamp are exported.
-[fn:121] For export to LaTeX format---or LaTeX-related formats such as
+[fn:122] For export to LaTeX format---or LaTeX-related formats such as
Beamer---, the =org-latex-package-alist= variable needs further
configuration. See [[LaTeX specific export settings]].
-[fn:122] At the moment, some export back-ends do not obey this
+[fn:123] At the moment, some export back-ends do not obey this
specification. For example, LaTeX export excludes every unnumbered
headline from the table of contents.
-[fn:123] Note that ~org-link-search-must-match-exact-headline~ is
+[fn:124] Note that ~org-link-search-must-match-exact-headline~ is
locally bound to non-~nil~. Therefore, ~org-link-search~ only matches
headlines and named elements.
-[fn:124] Since commas separate the arguments, commas within arguments
+[fn:125] Since commas separate the arguments, commas within arguments
have to be escaped with the backslash character. So only those
backslash characters before a comma need escaping with another
backslash character.
-[fn:125] For a less drastic behavior, consider using a select tag (see
+[fn:126] For a less drastic behavior, consider using a select tag (see
[[*Export Settings]]) instead.
-[fn:126] If =BEAMER_ENV= is set, Org export adds =B_environment= tag
+[fn:127] If =BEAMER_ENV= is set, Org export adds =B_environment= tag
to make it visible. The tag serves as a visual aid and has no
semantic relevance.
-[fn:127] By default Org loads MathJax from [[https://cdnjs.com][cdnjs.com]] as recommended by
+[fn:128] By default Org loads MathJax from [[https://cdnjs.com][cdnjs.com]] as recommended by
[[http://www.mathjax.org][MathJax]].
-[fn:128] Please note that exported formulas are part of an HTML
+[fn:129] Please note that exported formulas are part of an HTML
document, and that signs such as =<=, =>=, or =&= have special
meanings. See [[http://docs.mathjax.org/en/latest/tex.html#tex-and-latex-in-html-documents][MathJax TeX and LaTeX support]].
-[fn:129] See [[http://docs.mathjax.org/en/latest/tex.html#tex-extensions][TeX and LaTeX extensions]] in the [[http://docs.mathjax.org][MathJax manual]] to learn
+[fn:130] See [[http://docs.mathjax.org/en/latest/tex.html#tex-extensions][TeX and LaTeX extensions]] in the [[http://docs.mathjax.org][MathJax manual]] to learn
about extensions.
-[fn:130] If the classes on TODO keywords and tags lead to conflicts,
+[fn:131] If the classes on TODO keywords and tags lead to conflicts,
use the variables ~org-html-todo-kwd-class-prefix~ and
~org-html-tag-class-prefix~ to make them unique.
-[fn:131] This does not allow setting different bibliography compilers
+[fn:132] This does not allow setting different bibliography compilers
for different files. However, "smart" LaTeX compilation systems, such
as latexmk, can select the correct bibliography compiler.
-[fn:132] See [[http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][Open Document Format for Office Applications
+[fn:133] See [[http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][Open Document Format for Office Applications
(OpenDocument) Version 1.2]].
-[fn:133] See [[http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl][MathToWeb]].
+[fn:134] See [[http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl][MathToWeb]].
-[fn:134] See [[http://dlmf.nist.gov/LaTeXML/]].
+[fn:135] See [[http://dlmf.nist.gov/LaTeXML/]].
-[fn:135] [[http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][OpenDocument-v1.2 Specification]]
+[fn:136] [[http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][OpenDocument-v1.2 Specification]]
-[fn:136] See the =<table:table-template>= element of the
+[fn:137] See the =<table:table-template>= element of the
OpenDocument-v1.2 specification.
-[fn:137] See the attributes =table:template-name=,
+[fn:138] See the attributes =table:template-name=,
=table:use-first-row-styles=, =table:use-last-row-styles=,
=table:use-first-column-styles=, =table:use-last-column-styles=,
=table:use-banding-rows-styles=, and =table:use-banding-column-styles=
of the =<table:table>= element in the OpenDocument-v1.2 specification.
-[fn:138] If the publishing directory is the same as the source
+[fn:139] If the publishing directory is the same as the source
directory, =file.org= is exported as =file.org.org=, so you probably
do not want to do this.
-[fn:139] The option ~org-babel-no-eval-on-ctrl-c-ctrl-c~ can be used
+[fn:140] The option ~org-babel-no-eval-on-ctrl-c-ctrl-c~ can be used
to remove code evaluation from the {{{kbd(C-c C-c)}}} key binding.
-[fn:140] Actually, the constructs =call_<name>()= and =src_<lang>{}=
+[fn:141] Actually, the constructs =call_<name>()= and =src_<lang>{}=
are not evaluated when they appear in a keyword (see [[*Summary of
In-Buffer Settings]]).
-[fn:141] Due to the way this header argument is implemented, it
+[fn:142] Due to the way this header argument is implemented, it
implies ":results file". Therefore if it is set for multiple blocks
at once (by a subtree or buffer property for example), all blocks are
forced to produce file results. This is seldom desired behavior, so
@@ -21448,59 +21471,59 @@ it is recommended to set this header only on a per-block basis. It is
possible that this aspect of the implementation might change in the
future.
-[fn:142] C++ language is handled in =ob-C.el=. Even though the
+[fn:143] C++ language is handled in =ob-C.el=. Even though the
identifier for such source blocks is =C++=, you activate it by loading
the C language.
-[fn:143] D language is handled in =ob-C.el=. Even though the
+[fn:144] D language is handled in =ob-C.el=. Even though the
identifier for such source blocks is =D=, you activate it by loading
the C language.
-[fn:144] For Noweb literate programming details, see
+[fn:145] For Noweb literate programming details, see
http://www.cs.tufts.edu/~nr/noweb/.
-[fn:145] For more information, please refer to the commentary section
+[fn:146] For more information, please refer to the commentary section
in =org-tempo.el=.
-[fn:146] Note that ~org-indent-mode~ also sets the ~wrap-prefix~
+[fn:147] Note that ~org-indent-mode~ also sets the ~wrap-prefix~
property, such that ~visual-line-mode~ (or purely setting ~word-wrap~)
wraps long lines (including headlines) correctly indented.
-[fn:147] The ~org-indent-mode~ also sets the ~wrap-prefix~ correctly
+[fn:148] The ~org-indent-mode~ also sets the ~wrap-prefix~ correctly
for indenting and wrapping long lines of headlines or text. This
minor mode handles ~visual-line-mode~ and directly applied settings
through ~word-wrap~.
-[fn:148] Also see the variable ~org-adapt-indentation~.
+[fn:149] Also see the variable ~org-adapt-indentation~.
-[fn:149] Because =LEVEL=2= has 3 stars, =LEVEL=3= has 4 stars, and so
+[fn:150] Because =LEVEL=2= has 3 stars, =LEVEL=3= has 4 stars, and so
on.
-[fn:150] For a server to host files, consider using a WebDAV server,
+[fn:151] For a server to host files, consider using a WebDAV server,
such as [[https://nextcloud.com][Nextcloud]]. Additional help is at this [[https://orgmode.org/worg/org-faq.html#mobileorg_webdav][FAQ entry]].
-[fn:151] If Emacs is configured for safe storing of passwords, then
+[fn:152] If Emacs is configured for safe storing of passwords, then
configure the variable ~org-mobile-encryption-password~; please read
the docstring of that variable.
-[fn:152] Symbolic links in ~org-directory~ need to have the same name
+[fn:153] Symbolic links in ~org-directory~ need to have the same name
as their targets.
-[fn:153] While creating the agendas, Org mode forces =ID= properties
+[fn:154] While creating the agendas, Org mode forces =ID= properties
on all referenced entries, so that these entries can be uniquely
identified if Org Mobile flags them for further action. To avoid
setting properties configure the variable
~org-mobile-force-id-on-agenda-items~ to ~nil~. Org mode then relies
on outline paths, assuming they are unique.
-[fn:154] Checksums are stored automatically in the file
+[fn:155] Checksums are stored automatically in the file
=checksums.dat=.
-[fn:155] The file will be empty after this operation.
+[fn:156] The file will be empty after this operation.
-[fn:156] https://www.ctan.org/pkg/comment
+[fn:157] https://www.ctan.org/pkg/comment
-[fn:157] If the =TBLFM= keyword contains an odd number of dollar
+[fn:158] If the =TBLFM= keyword contains an odd number of dollar
characters, this may cause problems with Font Lock in LaTeX mode. As
shown in the example you can fix this by adding an extra line inside
the =comment= environment that is used to balance the dollar
@@ -21508,9 +21531,9 @@ expressions. If you are using AUCTeX with the font-latex library,
a much better solution is to add the =comment= environment to the
variable ~LaTeX-verbatim-environments~.
-[fn:158] The ~agenda*~ view is the same as ~agenda~ except that it
+[fn:159] The ~agenda*~ view is the same as ~agenda~ except that it
only considers /appointments/, i.e., scheduled and deadline items that
have a time specification =[h]h:mm= in their time-stamps.
-[fn:159] Note that, for ~org-odd-levels-only~, a level number
+[fn:160] Note that, for ~org-odd-levels-only~, a level number
corresponds to order in the hierarchy, not to the number of stars.
diff --git a/lisp/org-docview.el b/lisp/org-docview.el
index 7e1287f..40b06d3 100644
--- a/lisp/org-docview.el
+++ b/lisp/org-docview.el
@@ -56,11 +56,11 @@
(defun org-docview-export (link description format)
"Export a docview link from Org files."
- (let* ((path (if (string-match "\\(.+\\)::.+" link) (match-string 1 link)
- link))
- (desc (or description link)))
+ (let ((path (if (string-match "\\(.+\\)::.+" link) (match-string 1 link)
+ link))
+ (desc (or description link)))
(when (stringp path)
- (setq path (org-link-escape (expand-file-name path)))
+ (setq path (expand-file-name path))
(cond
((eq format 'html) (format "<a href=\"%s\">%s</a>" path desc))
((eq format 'latex) (format "\\href{%s}{%s}" path desc))
diff --git a/lisp/org-element.el b/lisp/org-element.el
index 5cb0935..0fea9b3 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -3102,8 +3102,8 @@ Assume point is at the beginning of the link."
(setq contents-begin (match-beginning 3))
(setq contents-end (match-end 3))
(setq link-end (match-end 0))
- ;; RAW-LINK is the original link. Expand any
- ;; abbreviation in it.
+ ;; RAW-LINK is the original link. Decode any encoding.
+ ;; Expand any abbreviation in it.
;;
;; Also treat any newline character and associated
;; indentation as a single space character. This is not
@@ -3114,9 +3114,10 @@ Assume point is at the beginning of the link."
;; [[shell:ls *.org]], which defeats Org's focus on
;; simplicity.
(setq raw-link (org-link-expand-abbrev
- (replace-regexp-in-string
- "[ \t]*\n[ \t]*" " "
- (match-string-no-properties 1))))
+ (org-link-unescape
+ (replace-regexp-in-string
+ "[ \t]*\n[ \t]*" " "
+ (match-string-no-properties 1)))))
;; Determine TYPE of link and set PATH accordingly. According
;; to RFC 3986, remove whitespaces from URI in external links.
;; In internal ones, treat indentation as a single space.
diff --git a/lisp/org-lint.el b/lisp/org-lint.el
index d02427c..55dab34 100644
--- a/lisp/org-lint.el
+++ b/lisp/org-lint.el
@@ -558,8 +558,8 @@ Use :header-args: instead"
(defun org-lint-link-to-local-file (ast)
(org-element-map ast 'link
(lambda (l)
- (when (equal (org-element-property :type l) "file")
- (let ((file (org-link-unescape (org-element-property :path l))))
+ (when (equal "file" (org-element-property :type l))
+ (let ((file (org-element-property :path l)))
(and (not (file-remote-p file))
(not (file-exists-p file))
(list (org-element-property :begin l)
diff --git a/lisp/org-protocol.el b/lisp/org-protocol.el
index 9245aa0..f3e7281 100644
--- a/lisp/org-protocol.el
+++ b/lisp/org-protocol.el
@@ -298,11 +298,9 @@ SEPARATOR is specified or SEPARATOR is nil, assume \"/+\". The
results of that splitting are returned as a list."
(let* ((sep (or separator "/+\\|\\?"))
(split-parts (split-string data sep)))
- (if unhexify
- (if (fboundp unhexify)
- (mapcar unhexify split-parts)
- (mapcar 'org-link-unescape split-parts))
- split-parts)))
+ (cond ((not unhexify) split-parts)
+ ((fboundp unhexify) (mapcar unhexify split-parts))
+ (t (mapcar #'org-link-unescape split-parts)))))
(defun org-protocol-flatten-greedy (param-list &optional strip-path replacement)
"Transform PARAM-LIST into a flat list for greedy handlers.
@@ -382,11 +380,8 @@ If INFO is already a property list, return it unchanged."
result)
(while data
(setq result
- (append
- result
- (list
- (pop data)
- (org-link-unescape (pop data))))))
+ (append result
+ (list (pop data) (pop data)))))
result)
(let ((data (org-protocol-split-data info t org-protocol-data-separator)))
(if default-order
@@ -445,9 +440,9 @@ form URL/TITLE can also be used."
(when (boundp 'org-stored-links)
(push (list uri title) org-stored-links))
(kill-new uri)
- (message "`%s' to insert new org-link, `%s' to insert `%s'"
- (substitute-command-keys "`\\[org-insert-link]'")
- (substitute-command-keys "`\\[yank]'")
+ (message "`%s' to insert new Org link, `%s' to insert %S"
+ (substitute-command-keys "\\[org-insert-link]")
+ (substitute-command-keys "\\[yank]")
uri))
nil)
diff --git a/lisp/org.el b/lisp/org.el
index bcb2f7d..9bd3249 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -10140,7 +10140,7 @@ a link."
((eq type 'timestamp) (org-follow-timestamp-link))
((eq type 'link)
(let ((type (org-element-property :type context))
- (path (org-link-unescape (org-element-property :path context))))
+ (path (org-element-property :path context)))
;; Switch back to REFERENCE-BUFFER needed when called in
;; a temporary buffer through `org-open-link-from-string'.
(with-current-buffer (or reference-buffer (current-buffer))
@@ -10173,8 +10173,7 @@ a link."
(cond ((not option) nil)
((string-match-p "\\`[0-9]+\\'" option)
(list (string-to-number option)))
- (t (list nil
- (org-link-unescape option)))))))))
+ (t (list nil option))))))))
((functionp (org-link-get-parameter type :follow))
(funcall (org-link-get-parameter type :follow) path))
((member type '("coderef" "custom-id" "fuzzy" "radio"))
@@ -18638,7 +18637,7 @@ boundaries."
(match-end 0))
(match-string 2)))))))
(when (and path (string-match-p file-extension-re path))
- (let ((file (expand-file-name (org-link-unescape path))))
+ (let ((file (expand-file-name path)))
(when (file-exists-p file)
(let ((width
;; Apply `org-image-actual-width' specifications.
diff --git a/lisp/ox-ascii.el b/lisp/ox-ascii.el
index 14a2646..25317cb 100644
--- a/lisp/ox-ascii.el
+++ b/lisp/ox-ascii.el
@@ -1600,8 +1600,9 @@ INFO is a plist holding contextual information."
;; Don't know what to do. Signal it.
(_ "???"))))
(t
- (let ((raw-link (org-link-unescape
- (org-element-property :raw-link link))))
+ (let ((raw-link (concat (org-element-property :type link)
+ ":"
+ (org-element-property :path link))))
(if (not (org-string-nw-p desc)) (format "<%s>" raw-link)
(concat (format "[%s]" desc)
(and (not (plist-get info :ascii-links-to-notes))
diff --git a/lisp/ox-html.el b/lisp/ox-html.el
index 4158bb0..e4bd280 100644
--- a/lisp/ox-html.el
+++ b/lisp/ox-html.el
@@ -3035,7 +3035,7 @@ INFO is a plist holding contextual information. See
(path
(cond
((member type '("http" "https" "ftp" "mailto" "news"))
- (url-encode-url (org-link-unescape (concat type ":" raw-path))))
+ (url-encode-url (concat type ":" raw-path)))
((string= type "file")
;; During publishing, turn absolute file names belonging
;; to base directory into relative file names. Otherwise,
@@ -3189,18 +3189,18 @@ INFO is a plist holding contextual information. See
(format (org-export-get-coderef-format path desc)
(org-export-resolve-coderef path info)))))
;; External link with a description part.
- ((and path desc) (format "<a href=\"%s\"%s>%s</a>"
- (org-html-encode-plain-text path)
- attributes
- desc))
+ ((and path desc)
+ (format "<a href=\"%s\"%s>%s</a>"
+ (org-html-encode-plain-text path)
+ attributes
+ desc))
;; External link without a description part.
- (path (let ((path (org-html-encode-plain-text path)))
- (format "<a href=\"%s\"%s>%s</a>"
- path
- attributes
- (org-link-unescape path))))
+ (path
+ (let ((path (org-html-encode-plain-text path)))
+ (format "<a href=\"%s\"%s>%s</a>" path attributes path)))
;; No path, only description. Try to do something useful.
- (t (format "<i>%s</i>" desc)))))
+ (t
+ (format "<i>%s</i>" desc)))))
;;;; Node Property
diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index 1cb02d5..fc3285e 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -2344,8 +2344,7 @@ CONTENTS is nil. INFO is a plist holding contextual information."
LINK is the link pointing to the inline image. INFO is a plist
used as a communication channel."
(let* ((parent (org-export-get-parent-element link))
- (path (let ((raw-path (org-link-unescape
- (org-element-property :path link))))
+ (path (let ((raw-path (org-element-property :path link)))
(if (not (file-name-absolute-p raw-path)) raw-path
(expand-file-name raw-path))))
(filetype (file-name-extension path))
@@ -2502,8 +2501,9 @@ INFO is a plist holding contextual information. See
(cond ((member type '("http" "https" "ftp" "mailto" "doi"))
(concat type ":" raw-path))
((string= type "file")
- (org-export-file-uri (org-link-unescape raw-path)))
- (t raw-path)))))
+ (org-export-file-uri raw-path))
+ (t
+ raw-path)))))
(cond
;; Link type is handled by a special function.
((org-export-custom-protocol-maybe link desc 'latex))
@@ -2558,7 +2558,7 @@ INFO is a plist holding contextual information. See
(format (org-export-get-coderef-format path desc)
(org-export-resolve-coderef path info)))
;; External link with a description part.
- ((and path desc) (format "\\href{%s}{%s}" (org-link-unescape path) desc))
+ ((and path desc) (format "\\href{%s}{%s}" path desc))
;; External link without a description part.
(path (format "\\url{%s}" path))
;; No path, only description. Try to do something useful.
diff --git a/lisp/ox-publish.el b/lisp/ox-publish.el
index 2b0e2b3..dcd5f2f 100644
--- a/lisp/ox-publish.el
+++ b/lisp/ox-publish.el
@@ -1173,7 +1173,7 @@ references with `org-export-get-reference'."
(with-current-buffer (find-file-noselect file)
(org-with-point-at 1
(let ((org-link-search-must-match-exact-headline t))
- (org-link-search (org-link-unescape search) nil t))
+ (org-link-search search nil t))
(and (org-at-heading-p)
(org-string-nw-p (org-entry-get (point) "CUSTOM_ID"))))))))
((not org-publish-cache)
@@ -1186,8 +1186,7 @@ references with `org-export-get-reference'."
(let* ((filename (file-truename file))
(crossrefs
(org-publish-cache-get-file-property filename :crossrefs nil t))
- (cells
- (org-export-string-to-search-cell (org-link-unescape search))))
+ (cells (org-export-string-to-search-cell search)))
(or
;; Look for reference associated to search cells triggered by
;; LINK. It can match when targeted file has been published
diff --git a/lisp/ox.el b/lisp/ox.el
index 9a9af63..d9473af 100644
--- a/lisp/ox.el
+++ b/lisp/ox.el
@@ -4200,7 +4200,7 @@ The function ignores links with an implicit type (e.g.,
(let ((protocol (org-link-get-parameter type :export)))
(and (functionp protocol)
(funcall protocol
- (org-link-unescape (org-element-property :path link))
+ (org-element-property :path link)
desc
backend))))))
@@ -4384,7 +4384,7 @@ Return value can be an object or an element:
Assume LINK type is \"fuzzy\". White spaces are not
significant."
(let* ((search-cells (org-export-string-to-search-cell
- (org-link-unescape (org-element-property :path link))))
+ (org-element-property :path link)))
(link-cache (or (plist-get info :resolve-fuzzy-link-cache)
(let ((table (make-hash-table :test #'eq)))
(plist-put info :resolve-fuzzy-link-cache table)