aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRasmus2018-03-27 23:34:41 +0200
committerRasmus2018-03-27 23:34:41 +0200
commit613c9a5c1f3237fbdc3a3db2341c7c59353d2aa2 (patch)
tree7651699ebeb2a2a2d8d1081707d091fbc424e8fb
parent1b075a9e38ca6812417f95ed2272e61d875d9e86 (diff)
downloademacs-613c9a5c1f3237fbdc3a3db2341c7c59353d2aa2.tar.gz
emacs-613c9a5c1f3237fbdc3a3db2341c7c59353d2aa2.zip
Update Org to v9.1.9
Please note this is a bugfix release. See etc/ORG-NEWS for details.
-rw-r--r--doc/misc/org.texi86
-rw-r--r--etc/ORG-NEWS62
-rw-r--r--etc/org/README2
-rw-r--r--etc/refcards/orgcard.tex2
-rw-r--r--lisp/org/ob-C.el2
-rw-r--r--lisp/org/ob-J.el2
-rw-r--r--lisp/org/ob-R.el2
-rw-r--r--lisp/org/ob-asymptote.el2
-rw-r--r--lisp/org/ob-awk.el2
-rw-r--r--lisp/org/ob-calc.el2
-rw-r--r--lisp/org/ob-clojure.el2
-rw-r--r--lisp/org/ob-comint.el2
-rw-r--r--lisp/org/ob-coq.el2
-rw-r--r--lisp/org/ob-core.el21
-rw-r--r--lisp/org/ob-css.el2
-rw-r--r--lisp/org/ob-ditaa.el2
-rw-r--r--lisp/org/ob-dot.el2
-rw-r--r--lisp/org/ob-ebnf.el2
-rw-r--r--lisp/org/ob-emacs-lisp.el2
-rw-r--r--lisp/org/ob-eval.el2
-rw-r--r--lisp/org/ob-exp.el2
-rw-r--r--lisp/org/ob-forth.el2
-rw-r--r--lisp/org/ob-fortran.el2
-rw-r--r--lisp/org/ob-gnuplot.el2
-rw-r--r--lisp/org/ob-groovy.el6
-rw-r--r--lisp/org/ob-haskell.el2
-rw-r--r--lisp/org/ob-hledger.el2
-rw-r--r--lisp/org/ob-io.el2
-rw-r--r--lisp/org/ob-java.el2
-rw-r--r--lisp/org/ob-js.el2
-rw-r--r--lisp/org/ob-keys.el2
-rw-r--r--lisp/org/ob-latex.el2
-rw-r--r--lisp/org/ob-ledger.el2
-rw-r--r--lisp/org/ob-lilypond.el4
-rw-r--r--lisp/org/ob-lisp.el2
-rw-r--r--lisp/org/ob-lob.el74
-rw-r--r--lisp/org/ob-lua.el2
-rw-r--r--lisp/org/ob-makefile.el2
-rw-r--r--lisp/org/ob-matlab.el2
-rw-r--r--lisp/org/ob-maxima.el2
-rw-r--r--lisp/org/ob-mscgen.el2
-rw-r--r--lisp/org/ob-ocaml.el2
-rw-r--r--lisp/org/ob-octave.el2
-rw-r--r--lisp/org/ob-org.el2
-rw-r--r--lisp/org/ob-perl.el2
-rw-r--r--lisp/org/ob-picolisp.el2
-rw-r--r--lisp/org/ob-plantuml.el2
-rw-r--r--lisp/org/ob-processing.el2
-rw-r--r--lisp/org/ob-python.el2
-rw-r--r--lisp/org/ob-ref.el2
-rw-r--r--lisp/org/ob-ruby.el2
-rw-r--r--lisp/org/ob-sass.el2
-rw-r--r--lisp/org/ob-scheme.el2
-rw-r--r--lisp/org/ob-screen.el2
-rw-r--r--lisp/org/ob-shell.el2
-rw-r--r--lisp/org/ob-shen.el2
-rw-r--r--lisp/org/ob-sql.el2
-rw-r--r--lisp/org/ob-sqlite.el2
-rw-r--r--lisp/org/ob-stan.el4
-rw-r--r--lisp/org/ob-table.el2
-rw-r--r--lisp/org/ob-tangle.el2
-rw-r--r--lisp/org/ob-vala.el2
-rw-r--r--lisp/org/ob.el2
-rw-r--r--lisp/org/org-agenda.el73
-rw-r--r--lisp/org/org-archive.el2
-rw-r--r--lisp/org/org-bbdb.el2
-rw-r--r--lisp/org/org-capture.el43
-rw-r--r--lisp/org/org-clock.el255
-rw-r--r--lisp/org/org-colview.el2
-rw-r--r--lisp/org/org-compat.el39
-rw-r--r--lisp/org/org-datetree.el2
-rw-r--r--lisp/org/org-docview.el2
-rw-r--r--lisp/org/org-element.el8
-rw-r--r--lisp/org/org-entities.el2
-rw-r--r--lisp/org/org-eww.el2
-rw-r--r--lisp/org/org-faces.el2
-rw-r--r--lisp/org/org-feed.el25
-rw-r--r--lisp/org/org-footnote.el2
-rw-r--r--lisp/org/org-gnus.el12
-rw-r--r--lisp/org/org-habit.el2
-rw-r--r--lisp/org/org-id.el2
-rw-r--r--lisp/org/org-indent.el2
-rw-r--r--lisp/org/org-info.el2
-rw-r--r--lisp/org/org-inlinetask.el2
-rw-r--r--lisp/org/org-list.el32
-rw-r--r--lisp/org/org-macro.el4
-rw-r--r--lisp/org/org-macs.el2
-rw-r--r--lisp/org/org-mhe.el2
-rw-r--r--lisp/org/org-mobile.el2
-rw-r--r--lisp/org/org-mouse.el2
-rw-r--r--lisp/org/org-pcomplete.el2
-rw-r--r--lisp/org/org-plot.el2
-rw-r--r--lisp/org/org-protocol.el6
-rw-r--r--lisp/org/org-rmail.el2
-rw-r--r--lisp/org/org-src.el2
-rw-r--r--lisp/org/org-table.el23
-rw-r--r--lisp/org/org-timer.el2
-rw-r--r--lisp/org/org-version.el4
-rw-r--r--lisp/org/org-w3m.el2
-rw-r--r--lisp/org/org.el223
-rw-r--r--lisp/org/ox-html.el12
-rw-r--r--lisp/org/ox-icalendar.el2
-rw-r--r--lisp/org/ox-latex.el7
-rw-r--r--lisp/org/ox-odt.el2
-rw-r--r--lisp/org/ox-publish.el80
-rw-r--r--lisp/org/ox.el41
106 files changed, 660 insertions, 648 deletions
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index 216f43eb32b..7583e2b88a4 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -4,11 +4,11 @@
4@settitle The Org Manual 4@settitle The Org Manual
5@include docstyle.texi 5@include docstyle.texi
6 6
7@set VERSION 9.1.6 7@set VERSION 9.1.9
8@set DATE 2018-01-03 8@set DATE 2018-03-22
9 9
10@c Version and Contact Info 10@c Version and Contact Info
11@set MAINTAINERSITE @uref{http://orgmode.org,maintainers web page} 11@set MAINTAINERSITE @uref{https://orgmode.org,maintainers web page}
12@set AUTHOR Carsten Dominik 12@set AUTHOR Carsten Dominik
13@set MAINTAINER Carsten Dominik 13@set MAINTAINER Carsten Dominik
14@set MAINTAINEREMAIL @email{carsten at orgmode dot org} 14@set MAINTAINEREMAIL @email{carsten at orgmode dot org}
@@ -856,7 +856,7 @@ platform.
856There is a website for Org which provides links to the newest 856There is a website for Org which provides links to the newest
857version of Org, as well as additional information, frequently asked 857version of Org, as well as additional information, frequently asked
858questions (FAQ), links to tutorials, etc. This page is located at 858questions (FAQ), links to tutorials, etc. This page is located at
859@uref{http://orgmode.org}. 859@uref{https://orgmode.org}.
860@cindex print edition 860@cindex print edition
861 861
862An earlier version (7.3) of this manual is available as a 862An earlier version (7.3) of this manual is available as a
@@ -894,11 +894,11 @@ Otherwise autoload Org functions will mess up the installation.
894Then, to make sure your Org configuration is taken into account, initialize 894Then, to make sure your Org configuration is taken into account, initialize
895the package system with @code{(package-initialize)} in your Emacs init file 895the package system with @code{(package-initialize)} in your Emacs init file
896before setting any Org option. If you want to use Org's package repository, 896before setting any Org option. If you want to use Org's package repository,
897check out the @uref{http://orgmode.org/elpa.html, Org ELPA page}. 897check out the @uref{https://orgmode.org/elpa.html, Org ELPA page}.
898 898
899@subsubheading Downloading Org as an archive 899@subsubheading Downloading Org as an archive
900 900
901You can download Org latest release from @uref{http://orgmode.org/, Org's 901You can download Org latest release from @uref{https://orgmode.org/, Org's
902website}. In this case, make sure you set the load-path correctly in your 902website}. In this case, make sure you set the load-path correctly in your
903Emacs init file: 903Emacs init file:
904 904
@@ -923,7 +923,7 @@ You can clone Org's repository and install Org like this:
923 923
924@example 924@example
925$ cd ~/src/ 925$ cd ~/src/
926$ git clone git://orgmode.org/org-mode.git 926$ git clone https://code.orgmode.org/bzg/org-mode.git
927$ make autoloads 927$ make autoloads
928@end example 928@end example
929 929
@@ -939,7 +939,7 @@ install Org with @code{make install}. Please run @code{make help} to get
939the list of compilation/installation options. 939the list of compilation/installation options.
940 940
941For more detailed explanations on Org's build system, please check the Org 941For more detailed explanations on Org's build system, please check the Org
942Build System page on @uref{http://orgmode.org/worg/dev/org-build-system.html, 942Build System page on @uref{https://orgmode.org/worg/dev/org-build-system.html,
943Worg}. 943Worg}.
944 944
945@node Activation 945@node Activation
@@ -952,7 +952,7 @@ Worg}.
952@findex org-agenda 952@findex org-agenda
953@findex org-capture 953@findex org-capture
954@findex org-store-link 954@findex org-store-link
955@findex org-iswitchb 955@findex org-switchb
956 956
957Org mode buffers need font-lock to be turned on: this is the default in 957Org mode buffers need font-lock to be turned on: this is the default in
958Emacs@footnote{If you don't use font-lock globally, turn it on in Org buffer 958Emacs@footnote{If you don't use font-lock globally, turn it on in Org buffer
@@ -962,7 +962,7 @@ There are compatibility issues between Org mode and some other Elisp
962packages, please take the time to check the list (@pxref{Conflicts}). 962packages, please take the time to check the list (@pxref{Conflicts}).
963 963
964The four Org commands @command{org-store-link}, @command{org-capture}, 964The four Org commands @command{org-store-link}, @command{org-capture},
965@command{org-agenda}, and @command{org-iswitchb} should be accessible through 965@command{org-agenda}, and @command{org-switchb} should be accessible through
966global keys (i.e., anywhere in Emacs, not just in Org buffers). Here are 966global keys (i.e., anywhere in Emacs, not just in Org buffers). Here are
967suggested bindings for these keys, please modify the keys to your own 967suggested bindings for these keys, please modify the keys to your own
968liking. 968liking.
@@ -970,7 +970,7 @@ liking.
970(global-set-key "\C-cl" 'org-store-link) 970(global-set-key "\C-cl" 'org-store-link)
971(global-set-key "\C-ca" 'org-agenda) 971(global-set-key "\C-ca" 'org-agenda)
972(global-set-key "\C-cc" 'org-capture) 972(global-set-key "\C-cc" 'org-capture)
973(global-set-key "\C-cb" 'org-iswitchb) 973(global-set-key "\C-cb" 'org-switchb)
974@end lisp 974@end lisp
975 975
976@cindex Org mode, turning on 976@cindex Org mode, turning on
@@ -1902,7 +1902,7 @@ marker in square brackets, inside text. Markers always start with
1902@example 1902@example
1903The Org homepage[fn:1] now looks a lot better than it used to. 1903The Org homepage[fn:1] now looks a lot better than it used to.
1904... 1904...
1905[fn:1] The link is: http://orgmode.org 1905[fn:1] The link is: https://orgmode.org
1906@end example 1906@end example
1907 1907
1908Org mode extends the number-based syntax to @emph{named} footnotes and 1908Org mode extends the number-based syntax to @emph{named} footnotes and
@@ -2032,7 +2032,7 @@ prefix is set, but folding/unfolding will work correctly.
2032@cindex Org syntax 2032@cindex Org syntax
2033 2033
2034A reference document providing a formal description of Org's syntax is 2034A reference document providing a formal description of Org's syntax is
2035available as @uref{http://orgmode.org/worg/dev/org-syntax.html, a draft on 2035available as @uref{https://orgmode.org/worg/dev/org-syntax.html, a draft on
2036Worg}, written and maintained by Nicolas Goaziou. It defines Org's core 2036Worg}, written and maintained by Nicolas Goaziou. It defines Org's core
2037internal concepts such as @code{headlines}, @code{sections}, @code{affiliated 2037internal concepts such as @code{headlines}, @code{sections}, @code{affiliated
2038keywords}, @code{(greater) elements} and @code{objects}. Each part of an Org 2038keywords}, @code{(greater) elements} and @code{objects}. Each part of an Org
@@ -2280,17 +2280,6 @@ format used by Orgtbl radio tables, see @ref{Translator functions}, for a
2280detailed description. 2280detailed description.
2281@end table 2281@end table
2282 2282
2283If you don't like the automatic table editor because it gets in your
2284way on lines which you would like to start with @samp{|}, you can turn
2285it off with
2286
2287@lisp
2288(setq org-enable-table-editor nil)
2289@end lisp
2290
2291@noindent Then the only table command that still works is
2292@kbd{C-c C-c} to do a manual re-align.
2293
2294@node Column width and alignment 2283@node Column width and alignment
2295@section Column width and alignment 2284@section Column width and alignment
2296@cindex narrow columns in tables 2285@cindex narrow columns in tables
@@ -2950,7 +2939,7 @@ element of @code{R-LIST}.
2950 2939
2951These three functions can be used to implement associative arrays, count 2940These three functions can be used to implement associative arrays, count
2952matching cells, rank results, group data etc. For practical examples 2941matching cells, rank results, group data etc. For practical examples
2953see @uref{http://orgmode.org/worg/org-tutorials/org-lookups.html, this 2942see @uref{https://orgmode.org/worg/org-tutorials/org-lookups.html, this
2954tutorial on Worg}. 2943tutorial on Worg}.
2955 2944
2956@node Editing and debugging formulas 2945@node Editing and debugging formulas
@@ -3284,7 +3273,7 @@ Further control over the labels, type, content, and appearance of plots can
3284be exercised through the @code{#+PLOT:} lines preceding a table. See below 3273be exercised through the @code{#+PLOT:} lines preceding a table. See below
3285for a complete list of Org-plot options. The @code{#+PLOT:} lines are 3274for a complete list of Org-plot options. The @code{#+PLOT:} lines are
3286optional. For more information and examples see the Org-plot tutorial at 3275optional. For more information and examples see the Org-plot tutorial at
3287@uref{http://orgmode.org/worg/org-tutorials/org-plot.html}. 3276@uref{https://orgmode.org/worg/org-tutorials/org-plot.html}.
3288 3277
3289@subsubheading Plot Options 3278@subsubheading Plot Options
3290 3279
@@ -5835,7 +5824,7 @@ An alternative way to capture and process property values into a table is
5835provided by Eric Schulte's @file{org-collector.el} which is a contributed 5824provided by Eric Schulte's @file{org-collector.el} which is a contributed
5836package@footnote{Contributed packages are not part of Emacs, but are 5825package@footnote{Contributed packages are not part of Emacs, but are
5837distributed with the main distribution of Org (visit 5826distributed with the main distribution of Org (visit
5838@uref{http://orgmode.org}).}. It provides a general API to collect 5827@uref{https://orgmode.org}).}. It provides a general API to collect
5839properties from entries in a certain scope, and arbitrary Lisp expressions to 5828properties from entries in a certain scope, and arbitrary Lisp expressions to
5840process these values before inserting them into a table or a dynamic block. 5829process these values before inserting them into a table or a dynamic block.
5841 5830
@@ -7062,6 +7051,7 @@ through the customize interface.
7062 7051
7063@table @kbd 7052@table @kbd
7064@orgkey{C-c c C} 7053@orgkey{C-c c C}
7054@vindex org-capture-templates
7065Customize the variable @code{org-capture-templates}. 7055Customize the variable @code{org-capture-templates}.
7066@end table 7056@end table
7067 7057
@@ -7657,13 +7647,13 @@ The variable @code{org-protocol-project-alist} maps URLs to local file names,
7657by stripping URL parameters from the end and replacing the @code{:base-url} 7647by stripping URL parameters from the end and replacing the @code{:base-url}
7658with @code{:working-directory} and @code{:online-suffix} with 7648with @code{:working-directory} and @code{:online-suffix} with
7659@code{:working-suffix}. For example, assuming you own a local copy of 7649@code{:working-suffix}. For example, assuming you own a local copy of
7660@url{http://orgmode.org/worg/} contents at @file{/home/user/worg}, you can 7650@url{https://orgmode.org/worg/} contents at @file{/home/user/worg}, you can
7661set @code{org-protocol-project-alist} to the following 7651set @code{org-protocol-project-alist} to the following
7662 7652
7663@lisp 7653@lisp
7664(setq org-protocol-project-alist 7654(setq org-protocol-project-alist
7665 '(("Worg" 7655 '(("Worg"
7666 :base-url "http://orgmode.org/worg/" 7656 :base-url "https://orgmode.org/worg/"
7667 :working-directory "/home/user/worg/" 7657 :working-directory "/home/user/worg/"
7668 :online-suffix ".html" 7658 :online-suffix ".html"
7669 :working-suffix ".org"))) 7659 :working-suffix ".org")))
@@ -7671,7 +7661,7 @@ set @code{org-protocol-project-alist} to the following
7671 7661
7672@noindent 7662@noindent
7673If you are now browsing 7663If you are now browsing
7674@url{http://orgmode.org/worg/org-contrib/org-protocol.html} and find a typo 7664@url{https://orgmode.org/worg/org-contrib/org-protocol.html} and find a typo
7675or have an idea about how to enhance the documentation, simply click the 7665or have an idea about how to enhance the documentation, simply click the
7676bookmark and start editing. 7666bookmark and start editing.
7677 7667
@@ -8024,7 +8014,7 @@ Remove current file from the list of agenda files.
8024@orgcmd{C-',org-cycle-agenda-files} 8014@orgcmd{C-',org-cycle-agenda-files}
8025@itemx C-, 8015@itemx C-,
8026Cycle through agenda file list, visiting one file after the other. 8016Cycle through agenda file list, visiting one file after the other.
8027@item M-x org-iswitchb @key{RET} 8017@item M-x org-switchb @key{RET}
8028Command to use an @code{iswitchb}-like interface to switch to and between Org 8018Command to use an @code{iswitchb}-like interface to switch to and between Org
8029buffers. 8019buffers.
8030@end table 8020@end table
@@ -9984,7 +9974,7 @@ To turn off fontification for marked up text, you can set
9984available markup syntax, you can customize @code{org-emphasis-alist}. To fine 9974available markup syntax, you can customize @code{org-emphasis-alist}. To fine
9985tune what characters are allowed before and after the markup characters, you 9975tune what characters are allowed before and after the markup characters, you
9986can tweak @code{org-emphasis-regexp-components}. Beware that changing one of 9976can tweak @code{org-emphasis-regexp-components}. Beware that changing one of
9987the above variables will no take effect until you reload Org, for which you 9977the above variables will not take effect until you reload Org, for which you
9988may need to restart Emacs. 9978may need to restart Emacs.
9989 9979
9990@node Horizontal rules 9980@node Horizontal rules
@@ -11779,7 +11769,7 @@ to @code{<a>} or @code{<img>} tags. This example shows changing the link's
11779@cindex @code{#+ATTR_HTML} 11769@cindex @code{#+ATTR_HTML}
11780@example 11770@example
11781#+ATTR_HTML: :title The Org mode homepage :style color:red; 11771#+ATTR_HTML: :title The Org mode homepage :style color:red;
11782[[http://orgmode.org]] 11772[[https://orgmode.org]]
11783@end example 11773@end example
11784 11774
11785@node Tables in HTML export 11775@node Tables in HTML export
@@ -12054,9 +12044,9 @@ program enhances large files in two different ways of viewing. One is an
12054navigation can be done with the @kbd{n} and @kbd{p} keys (and some other keys 12044navigation can be done with the @kbd{n} and @kbd{p} keys (and some other keys
12055as well, press @kbd{?} for an overview of the available keys). The second 12045as well, press @kbd{?} for an overview of the available keys). The second
12056one has a @emph{folding} view, much like Org provides inside Emacs. The 12046one has a @emph{folding} view, much like Org provides inside Emacs. The
12057script is available at @url{http://orgmode.org/org-info.js} and the 12047script is available at @url{https://orgmode.org/org-info.js} and the
12058documentation at @url{http://orgmode.org/worg/code/org-info-js/}. The script 12048documentation at @url{https://orgmode.org/worg/code/org-info-js/}. The script
12059is hosted on @url{http://orgmode.org}, but for reliability, prefer installing 12049is hosted on @url{https://orgmode.org}, but for reliability, prefer installing
12060it on your own web server. 12050it on your own web server.
12061 12051
12062To use this program, just add this line to the Org file: 12052To use this program, just add this line to the Org file:
@@ -12073,7 +12063,7 @@ below:
12073 12063
12074@example 12064@example
12075path: @r{The path to the script. The default grabs the script from} 12065path: @r{The path to the script. The default grabs the script from}
12076 @r{@url{http://orgmode.org/org-info.js}, but you might want to have} 12066 @r{@url{https://orgmode.org/org-info.js}, but you might want to have}
12077 @r{a local copy and use a path like @samp{../scripts/org-info.js}.} 12067 @r{a local copy and use a path like @samp{../scripts/org-info.js}.}
12078view: @r{Initial view when the website is first shown. Possible values are:} 12068view: @r{Initial view when the website is first shown. Possible values are:}
12079 info @r{Info-like interface with one section per page.} 12069 info @r{Info-like interface with one section per page.}
@@ -12993,10 +12983,10 @@ of these examples works:
12993@subsubheading Embedding clickable images 12983@subsubheading Embedding clickable images
12994For clickable images, provide a link whose description is another link to an 12984For clickable images, provide a link whose description is another link to an
12995image file. For example, to embed an image @file{org-mode-unicorn.png} which 12985image file. For example, to embed an image @file{org-mode-unicorn.png} which
12996when clicked jumps to @uref{http://Orgmode.org} website, do the following 12986when clicked jumps to @uref{https://orgmode.org} website, do the following
12997 12987
12998@example 12988@example
12999[[http://orgmode.org][./org-mode-unicorn.png]] 12989[[https://orgmode.org][./org-mode-unicorn.png]]
13000@end example 12990@end example
13001 12991
13002@subsubheading Sizing and scaling of embedded images 12992@subsubheading Sizing and scaling of embedded images
@@ -15512,7 +15502,7 @@ For more examples of header arguments for @code{#+CALL:} lines,
15512The ``Library of Babel'' is a collection of code blocks. Like a function 15502The ``Library of Babel'' is a collection of code blocks. Like a function
15513library, these code blocks can be called from other Org files. A collection 15503library, these code blocks can be called from other Org files. A collection
15514of useful code blocks is available on 15504of useful code blocks is available on
15515@uref{http://orgmode.org/worg/library-of-babel.html,Worg}. For remote code 15505@uref{https://orgmode.org/worg/library-of-babel.html,Worg}. For remote code
15516block evaluation syntax, @pxref{Evaluating code blocks}. 15506block evaluation syntax, @pxref{Evaluating code blocks}.
15517 15507
15518@kindex C-c C-v i 15508@kindex C-c C-v i
@@ -15554,7 +15544,7 @@ Org supports the following languages for the @samp{src} code blocks:
15554@end multitable 15544@end multitable
15555 15545
15556Additional documentation for some languages are at 15546Additional documentation for some languages are at
15557@uref{http://orgmode.org/worg/org-contrib/babel/languages.html}. 15547@uref{https://orgmode.org/worg/org-contrib/babel/languages.html}.
15558 15548
15559@vindex org-babel-load-languages 15549@vindex org-babel-load-languages
15560By default, only @code{emacs-lisp} is enabled for evaluation. To enable or 15550By default, only @code{emacs-lisp} is enabled for evaluation. To enable or
@@ -15642,7 +15632,7 @@ Org expand @code{:noweb} references by default.
15642Each language can have separate default header arguments by customizing the 15632Each language can have separate default header arguments by customizing the
15643variable @code{org-babel-default-header-args:<lang>}, where @code{<lang>} is 15633variable @code{org-babel-default-header-args:<lang>}, where @code{<lang>} is
15644the name of the language. For details, see the language-specific online 15634the name of the language. For details, see the language-specific online
15645documentation at @uref{http://orgmode.org/worg/org-contrib/babel}. 15635documentation at @uref{https://orgmode.org/worg/org-contrib/babel/}.
15646 15636
15647@node Header arguments in Org mode properties 15637@node Header arguments in Org mode properties
15648@subsubheading Header arguments in Org mode properties 15638@subsubheading Header arguments in Org mode properties
@@ -18225,7 +18215,7 @@ Org.
18225Org has a large number of hook variables for adding functionality. This 18215Org has a large number of hook variables for adding functionality. This
18226appendix illustrates using a few. A complete list of hooks with 18216appendix illustrates using a few. A complete list of hooks with
18227documentation is maintained by the Worg project at 18217documentation is maintained by the Worg project at
18228@uref{http://orgmode.org/worg/doc.html#hooks}. 18218@uref{https://orgmode.org/worg/doc.html#hooks}.
18229 18219
18230@node Add-on packages 18220@node Add-on packages
18231@section Add-on packages 18221@section Add-on packages
@@ -18234,10 +18224,10 @@ documentation is maintained by the Worg project at
18234Various authors wrote a large number of add-on packages for Org. 18224Various authors wrote a large number of add-on packages for Org.
18235 18225
18236These packages are not part of Emacs, but they are distributed as contributed 18226These packages are not part of Emacs, but they are distributed as contributed
18237packages with the separate release available at @uref{http://orgmode.org}. 18227packages with the separate release available at @uref{https://orgmode.org}.
18238See the @file{contrib/README} file in the source code directory for a list of 18228See the @file{contrib/README} file in the source code directory for a list of
18239contributed files. Worg page with more information is at: 18229contributed files. Worg page with more information is at:
18240@uref{http://orgmode.org/worg/org-contrib/}. 18230@uref{https://orgmode.org/worg/org-contrib/}.
18241 18231
18242@node Adding hyperlink types 18232@node Adding hyperlink types
18243@section Adding hyperlink types 18233@section Adding hyperlink types
@@ -18358,7 +18348,7 @@ to an alist of export functions. This alist replaces the parent back-end
18358functions. 18348functions.
18359 18349
18360For complete documentation, see 18350For complete documentation, see
18361@url{http://orgmode.org/worg/dev/org-export-reference.html, the Org Export 18351@url{https://orgmode.org/worg/dev/org-export-reference.html, the Org Export
18362Reference on Worg}. 18352Reference on Worg}.
18363 18353
18364@node Context-sensitive commands 18354@node Context-sensitive commands
@@ -18869,7 +18859,7 @@ Disable tag inheritance for agendas:
18869 18859
18870These options can be applied to selected agenda views. For more details 18860These options can be applied to selected agenda views. For more details
18871about generation of agenda views, see the docstrings for the relevant 18861about generation of agenda views, see the docstrings for the relevant
18872variables, and this @uref{http://orgmode.org/worg/agenda-optimization.html, 18862variables, and this @uref{https://orgmode.org/worg/agenda-optimization.html,
18873dedicated Worg page} for agenda optimization. 18863dedicated Worg page} for agenda optimization.
18874 18864
18875@node Extracting agenda information 18865@node Extracting agenda information
@@ -19213,7 +19203,7 @@ For a server to host files, consider options like
19213@uref{http://dropbox.com,Dropbox.com} account@footnote{An alternative is to 19203@uref{http://dropbox.com,Dropbox.com} account@footnote{An alternative is to
19214use webdav server. MobileOrg documentation has details of webdav server 19204use webdav server. MobileOrg documentation has details of webdav server
19215configuration. Additional help is at 19205configuration. Additional help is at
19216@uref{http://orgmode.org/worg/org-faq.html#mobileorg_webdav, FAQ entry}.}. 19206@uref{https://orgmode.org/worg/org-faq.html#mobileorg_webdav, FAQ entry}.}.
19217On first connection, MobileOrg creates a directory @file{MobileOrg/} on 19207On first connection, MobileOrg creates a directory @file{MobileOrg/} on
19218Dropbox. Pass its location to Emacs through an init file variable as 19208Dropbox. Pass its location to Emacs through an init file variable as
19219follows: 19209follows:
diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index b9f3b0cdbe4..013c7b13995 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -1,7 +1,7 @@
1ORG NEWS -- history of user-visible changes. -*- mode: org; coding: utf-8 -*- 1ORG NEWS -- history of user-visible changes. -*- mode: org; coding: utf-8 -*-
2 2
3#+LINK: doc http://orgmode.org/worg/doc.html#%s 3#+LINK: doc https://orgmode.org/worg/doc.html#%s
4#+LINK: git http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=%s 4#+LINK: git https://code.orgmode.org/bzg/org-mode/commit/%s
5 5
6Copyright (C) 2012-2018 Free Software Foundation, Inc. 6Copyright (C) 2012-2018 Free Software Foundation, Inc.
7See the end of the file for license conditions. 7See the end of the file for license conditions.
@@ -211,8 +211,8 @@ this ~:prologue "fpprintprec: 2; linel: 50;"~ for presenting Maxima
211results in a beamer presentation. 211results in a beamer presentation.
212**** PlantUML: add support for header arguments 212**** PlantUML: add support for header arguments
213 213
214[[http://plantuml.com/][Plantuml]] source blocks now support the [[http://orgmode.org/manual/prologue.html#prologue][~:prologue~]], [[http://orgmode.org/manual/epilogue.html#epilogue][~:epilogue~]] and 214[[http://plantuml.com/][Plantuml]] source blocks now support the [[https://orgmode.org/manual/prologue.html#prologue][~:prologue~]], [[https://orgmode.org/manual/epilogue.html#epilogue][~:epilogue~]] and
215[[http://orgmode.org/manual/var.html#var][~:var~]] header arguments. 215[[https://orgmode.org/manual/var.html#var][~:var~]] header arguments.
216 216
217**** SQL: new engine added ~sqsh~ 217**** SQL: new engine added ~sqsh~
218 218
@@ -266,7 +266,7 @@ using ~:namespaces~:
266- ~:flags~ passes arguments to the compiler 266- ~:flags~ passes arguments to the compiler
267- ~:cmdline~ passes commandline arguments to the generated executable 267- ~:cmdline~ passes commandline arguments to the generated executable
268 268
269Support for [[http://orgmode.org/manual/var.html#var][~:var~]] does not exist yet, also there is no [[http://orgmode.org/manual/session.html#session][~:session~]] 269Support for [[https://orgmode.org/manual/var.html#var][~:var~]] does not exist yet, also there is no [[https://orgmode.org/manual/session.html#session][~:session~]]
270support because Vala is a compiled language. 270support because Vala is a compiled language.
271 271
272The Vala compiler binary can be changed via the ~defcustom~ 272The Vala compiler binary can be changed via the ~defcustom~
@@ -436,9 +436,9 @@ Call ~org-agenda-set-restriction-lock~ from the agenda.
436 436
437The library-of-babel.org used to be accessible from the =doc/= 437The library-of-babel.org used to be accessible from the =doc/=
438directory, distributed with Org’s core. It is now accessible 438directory, distributed with Org’s core. It is now accessible
439from the Worg community-driven documentation [[http://orgmode.org/worg/library-of-babel.html][here]]. 439from the Worg community-driven documentation [[https://orgmode.org/worg/library-of-babel.html][here]].
440 440
441If you want to contribute to it, please see [[http://orgmode.org/worg/org-contribute.html][how to contribute]]. 441If you want to contribute to it, please see [[https://orgmode.org/worg/org-contribute.html][how to contribute]].
442 442
443*** Allow multiple columns view 443*** Allow multiple columns view
444 444
@@ -798,7 +798,7 @@ Evaluating a Stan block can produce two different results.
798 that does not end in ".stan". 798 that does not end in ".stan".
799 799
800For more information and usage examples, visit 800For more information and usage examples, visit
801http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-stan.html 801https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-stan.html
802 802
803**** Support for Oracle databases via ~sqlplus~ 803**** Support for Oracle databases via ~sqlplus~
804 804
@@ -1966,7 +1966,7 @@ This allows to specify the names of automatic bookmarks.
1966*** New option [[doc:org-agenda-ignore-drawer-properties][org-agenda-ignore-drawer-properties]] 1966*** New option [[doc:org-agenda-ignore-drawer-properties][org-agenda-ignore-drawer-properties]]
1967 1967
1968This allows more flexibility when optimizing the agenda generation. 1968This allows more flexibility when optimizing the agenda generation.
1969See http://orgmode.org/worg/agenda-optimization.html for details. 1969See https://orgmode.org/worg/agenda-optimization.html for details.
1970*** New option: [[doc:org-html-link-use-abs-url][org-html-link-use-abs-url]] to force using absolute URLs 1970*** New option: [[doc:org-html-link-use-abs-url][org-html-link-use-abs-url]] to force using absolute URLs
1971 1971
1972This is an export/publishing option, and should be used either within 1972This is an export/publishing option, and should be used either within
@@ -2050,7 +2050,7 @@ instructions:
2050When in doubt, run =M-x org-version RET= and see if you have a mixed-up 2050When in doubt, run =M-x org-version RET= and see if you have a mixed-up
2051installation. 2051installation.
2052 2052
2053See http://orgmode.org/org.html#Installation for details. 2053See https://orgmode.org/org.html#Installation for details.
2054 2054
2055** Incompatible changes 2055** Incompatible changes
2056 2056
@@ -2063,7 +2063,7 @@ you will have to update them.
2063 2063
2064Below is a list of changes for which you need to take action. 2064Below is a list of changes for which you need to take action.
2065 2065
2066See http://orgmode.org/worg/org-8.0.html for the most recent version of 2066See https://orgmode.org/worg/org-8.0.html for the most recent version of
2067this list and for detailed instructions on how to migrate. 2067this list and for detailed instructions on how to migrate.
2068 2068
2069**** New export engine 2069**** New export engine
@@ -2085,7 +2085,7 @@ corresponding files start with the =ox-= prefix.
2085If you customized an export back-end (like HTML or LaTeX), you will need to 2085If you customized an export back-end (like HTML or LaTeX), you will need to
2086rename some options so that your customization is not lost. Typically, an 2086rename some options so that your customization is not lost. Typically, an
2087option starting with =org-export-html-= is now named =org-html-=. See the 2087option starting with =org-export-html-= is now named =org-html-=. See the
2088manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg page]] for directions. 2088manual for details and check [[https://orgmode.org/worg/org-8.0.html][this Worg page]] for directions.
2089 2089
2090**** New syntax for #+ATTR_HTML/LaTeX/... options 2090**** New syntax for #+ATTR_HTML/LaTeX/... options
2091 2091
@@ -2146,7 +2146,7 @@ manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg p
2146 ~ox-taskjuggler.el~ by Nicolas Goaziou and others. 2146 ~ox-taskjuggler.el~ by Nicolas Goaziou and others.
2147 2147
2148 Also, the Taskjuggler exporter now uses TJ3 by default. John Hendy 2148 Also, the Taskjuggler exporter now uses TJ3 by default. John Hendy
2149 wrote [[http://orgmode.org/worg/org-tutorials/org-taskjuggler3.html][a tutorial on Worg]] for the TJ3 export. 2149 wrote [[https://orgmode.org/worg/org-tutorials/org-taskjuggler3.html][a tutorial on Worg]] for the TJ3 export.
2150 2150
2151** New packages in core 2151** New packages in core
2152 2152
@@ -2192,7 +2192,7 @@ manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg p
2192 2192
2193 Display bullets instead of stars for headlines. 2193 Display bullets instead of stars for headlines.
2194 2194
2195 Also see [[http://orgmode.org/worg/org-faq.html#sec-8-12][this updated FAQ]] on how to display another character than "*" 2195 Also see [[https://orgmode.org/worg/org-faq.html#sec-8-12][this updated FAQ]] on how to display another character than "*"
2196 for starting headlines. 2196 for starting headlines.
2197 2197
2198*** ~org-favtable.el~ by Marc-Oliver Ihm 2198*** ~org-favtable.el~ by Marc-Oliver Ihm
@@ -2200,7 +2200,7 @@ manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg p
2200 ~org-favtable.el~ helps you to create and update a table of favorite 2200 ~org-favtable.el~ helps you to create and update a table of favorite
2201 locations in org, keeping the most frequently visited lines right at 2201 locations in org, keeping the most frequently visited lines right at
2202 the top. This table is called "favtable". See the documentation on 2202 the top. This table is called "favtable". See the documentation on
2203 [[http://orgmode.org/worg/org-contrib/org-favtable.html][Worg]]. 2203 [[https://orgmode.org/worg/org-contrib/org-favtable.html][Worg]].
2204 2204
2205*** ~ox-confluence.el~ by Sébastien Delafond 2205*** ~ox-confluence.el~ by Sébastien Delafond
2206 2206
@@ -2241,7 +2241,7 @@ manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg p
2241 2241
2242**** New export generic options 2242**** New export generic options
2243 2243
2244If you use Org exporter, we advise you to re-read [[http://orgmode.org/org.html#Exporting][the manual section about 2244If you use Org exporter, we advise you to re-read [[https://orgmode.org/org.html#Exporting][the manual section about
2245it]]. It has been updated and includes new options. 2245it]]. It has been updated and includes new options.
2246 2246
2247Among the new/updated export options, three are of particular importance: 2247Among the new/updated export options, three are of particular importance:
@@ -2616,7 +2616,7 @@ of those tags.)
2616You can use group tags for sparse tree in an Org buffer, for creating 2616You can use group tags for sparse tree in an Org buffer, for creating
2617agenda views, and for filtering. 2617agenda views, and for filtering.
2618 2618
2619See http://orgmode.org/org.html#Tag-groups for details. 2619See https://orgmode.org/org.html#Tag-groups for details.
2620 2620
2621*** Links 2621*** Links
2622 2622
@@ -2624,7 +2624,7 @@ See http://orgmode.org/org.html#Tag-groups for details.
2624 2624
2625Org knows how to store links from Org buffers, from info files and from 2625Org knows how to store links from Org buffers, from info files and from
2626other Emacs buffers. Org can be taught how to store links from any buffer 2626other Emacs buffers. Org can be taught how to store links from any buffer
2627through new link protocols (see [[http://orgmode.org/org.html#Adding-hyperlink-types]["Adding hyperlink types"]] in the manual.) 2627through new link protocols (see [[https://orgmode.org/org.html#Adding-hyperlink-types]["Adding hyperlink types"]] in the manual.)
2628 2628
2629Sometimes you want Org to ignore added link protocols and store the link 2629Sometimes you want Org to ignore added link protocols and store the link
2630as if the protocol was not known. 2630as if the protocol was not known.
@@ -2648,7 +2648,7 @@ with-description and without-description links when inserting them.
2648 2648
2649When storing a link to a headline like 2649When storing a link to a headline like
2650 2650
2651: * See [[http://orgmode.org][Org website]] 2651: * See [[https://orgmode.org][Org website]]
2652 2652
2653[[doc:org-store-link][org-store-link]] used to convert the square brackets into curly brackets. 2653[[doc:org-store-link][org-store-link]] used to convert the square brackets into curly brackets.
2654It does not anymore, taking the link description or the link path, when 2654It does not anymore, taking the link description or the link path, when
@@ -2664,7 +2664,7 @@ those other formulas.
2664**** You now use "nan" for empty fields in Calc formulas 2664**** You now use "nan" for empty fields in Calc formulas
2665 2665
2666If empty fields are of interest, it is recommended to reread the section 2666If empty fields are of interest, it is recommended to reread the section
2667[[http://orgmode.org/org.html#Formula-syntax-for-Calc][3.5.2 Formula syntax for Calc]] of the manual because the description for the 2667[[https://orgmode.org/org.html#Formula-syntax-for-Calc][3.5.2 Formula syntax for Calc]] of the manual because the description for the
2668mode strings has been clarified and new examples have been added towards 2668mode strings has been clarified and new examples have been added towards
2669the end. 2669the end.
2670 2670
@@ -2683,7 +2683,7 @@ There are now three lookup functions:
2683- [[doc:org-loopup-last][org-loopup-last]] 2683- [[doc:org-loopup-last][org-loopup-last]]
2684- [[doc:org-loopup-all][org-loopup-all]] 2684- [[doc:org-loopup-all][org-loopup-all]]
2685 2685
2686See [[http://orgmode.org/org.html#Lookup-functions][the manual]] for details. 2686See [[https://orgmode.org/org.html#Lookup-functions][the manual]] for details.
2687*** Startup keywords 2687*** Startup keywords
2688 2688
2689These new startup keywords are now available: 2689These new startup keywords are now available:
@@ -2814,7 +2814,7 @@ instead of requiring each Babel library one by one.
2814 2814
2815David (and others) translated the Org compact guide in spanish: 2815David (and others) translated the Org compact guide in spanish:
2816 2816
2817You can read the [[http://orgmode.org/worg/orgguide/orgguide.es.pdf][PDF guide]]. 2817You can read the [[https://orgmode.org/worg/orgguide/orgguide.es.pdf][PDF guide]].
2818 2818
2819*** ~poporg.el~ and ~outorg.el~ 2819*** ~poporg.el~ and ~outorg.el~
2820 2820
@@ -2825,7 +2825,7 @@ Org-mode available. ~outorg.el~ comes together with ~outshine.el~ and
2825~navi-mode.el~, two more libraries by Thorsten Jolitz with the goal to give 2825~navi-mode.el~, two more libraries by Thorsten Jolitz with the goal to give
2826source-code buffers the /look & feel/ of Org-mode buffers while greatly 2826source-code buffers the /look & feel/ of Org-mode buffers while greatly
2827improving navigation and structure editing. A detailed description can be 2827improving navigation and structure editing. A detailed description can be
2828found here: http://orgmode.org/worg/org-tutorials/org-outside-org.html 2828found here: https://orgmode.org/worg/org-tutorials/org-outside-org.html
2829 2829
2830Here are two screencasts demonstrating Thorsten's tools: 2830Here are two screencasts demonstrating Thorsten's tools:
2831 2831
@@ -2894,7 +2894,7 @@ in most environments.
2894You can now add the Org ELPA repository like this: 2894You can now add the Org ELPA repository like this:
2895 2895
2896#+BEGIN_SRC emacs-lisp 2896#+BEGIN_SRC emacs-lisp
2897(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t) 2897(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
2898#+END_SRC 2898#+END_SRC
2899 2899
2900It contains both the =org-*.tar= package (the core Org distribution, also 2900It contains both the =org-*.tar= package (the core Org distribution, also
@@ -2902,7 +2902,7 @@ available through https://elpa.gnu.org) and the =org-plus*.tar= package (the
2902extended Org distribution, with non-GNU packages from the =contrib/= 2902extended Org distribution, with non-GNU packages from the =contrib/=
2903directory.) 2903directory.)
2904 2904
2905See http://orgmode.org/elpa/ 2905See https://orgmode.org/elpa/
2906 2906
2907** Overview of the new keybindings 2907** Overview of the new keybindings
2908 2908
@@ -3085,7 +3085,7 @@ See http://orgmode.org/elpa/
3085 3085
3086**** New =todo-unblocked= and =nottodo-unblocked= skip conditions 3086**** New =todo-unblocked= and =nottodo-unblocked= skip conditions
3087 3087
3088 See the [[http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=f426da][git commit]] for more explanations. 3088 See the [[https://orgmode.org/cgit.cgi/org-mode.git/commit/?id=f426da][git commit]] for more explanations.
3089 3089
3090**** Allow category filtering in the agenda 3090**** Allow category filtering in the agenda
3091 3091
@@ -3402,7 +3402,7 @@ See http://orgmode.org/elpa/
3402 Thanks to Carsten for implementing this. 3402 Thanks to Carsten for implementing this.
3403 3403
3404**** ODT: Add support for ODT export in org-bbdb.el 3404**** ODT: Add support for ODT export in org-bbdb.el
3405**** ODT: Add support for indented tables (see [[http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=e9fd33][this commit]] for details) 3405**** ODT: Add support for indented tables (see [[https://orgmode.org/cgit.cgi/org-mode.git/commit/?id=e9fd33][this commit]] for details)
3406**** ODT: Improve the conversion from ODT to other formats 3406**** ODT: Improve the conversion from ODT to other formats
3407**** ASCII: Swap the level-1/level-2 characters to underline the headlines 3407**** ASCII: Swap the level-1/level-2 characters to underline the headlines
3408**** Support for Chinese, simplified Chinese, Russian, Ukrainian and Japanese 3408**** Support for Chinese, simplified Chinese, Russian, Ukrainian and Japanese
@@ -3535,7 +3535,7 @@ that Calc formulas can operate on them.
3535 3535
3536*** Emacs 21 support has been dropped 3536*** Emacs 21 support has been dropped
3537 3537
3538 Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead. 3538 Do not use Org mode 7.xx with Emacs 21, use [[https://orgmode.org/org-6.36c.zip][version 6.36c]] instead.
3539 3539
3540*** XEmacs support requires the XEmacs development version 3540*** XEmacs support requires the XEmacs development version
3541 3541
@@ -3685,7 +3685,7 @@ that Calc formulas can operate on them.
3685 This replaces the earlier system org-remember. The manual only 3685 This replaces the earlier system org-remember. The manual only
3686 describes org-capture, but for people who prefer to continue to 3686 describes org-capture, but for people who prefer to continue to
3687 use org-remember, we keep a static copy of the former manual 3687 use org-remember, we keep a static copy of the former manual
3688 section [[http://orgmode.org/org-remember.pdf][chapter about remember]]. 3688 section [[https://orgmode.org/org-remember.pdf][chapter about remember]].
3689 3689
3690 The new system has a technically cleaner implementation and more 3690 The new system has a technically cleaner implementation and more
3691 possibilities for capturing different types of data. See 3691 possibilities for capturing different types of data. See
@@ -3749,7 +3749,7 @@ that Calc formulas can operate on them.
3749**** org-taskjuggler.el (Christian Egli) 3749**** org-taskjuggler.el (Christian Egli)
3750 3750
3751 Christian Egli's /org-taskjuggler.el/ module is now part of Org. 3751 Christian Egli's /org-taskjuggler.el/ module is now part of Org.
3752 He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it. 3752 He also wrote a [[https://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
3753 3753
3754**** org-ctags.el (Paul Sexton) 3754**** org-ctags.el (Paul Sexton)
3755 3755
@@ -3969,7 +3969,7 @@ that Calc formulas can operate on them.
3969 Org-mode documents or subtrees can now be converted directly in 3969 Org-mode documents or subtrees can now be converted directly in
3970 to BEAMER presentation. Turning a tree into a simple 3970 to BEAMER presentation. Turning a tree into a simple
3971 presentations is straight forward, and there is also quite some 3971 presentations is straight forward, and there is also quite some
3972 support to make richer presentations as well. See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER 3972 support to make richer presentations as well. See the [[https://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
3973 section]] in the manual for more details. 3973 section]] in the manual for more details.
3974 3974
3975 Thanks to everyone who has contributed to the discussion about 3975 Thanks to everyone who has contributed to the discussion about
diff --git a/etc/org/README b/etc/org/README
index 048f84cdcc7..7c175e3424b 100644
--- a/etc/org/README
+++ b/etc/org/README
@@ -21,7 +21,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
21 21
22Author: Jambunathan K <kjambunathan at gmail dot com> 22Author: Jambunathan K <kjambunathan at gmail dot com>
23Keywords: outlines, hypermedia, calendar, wp 23Keywords: outlines, hypermedia, calendar, wp
24Homepage: http://orgmode.org 24Homepage: https://orgmode.org
25 25
26Commentary: 26Commentary:
27 27
diff --git a/etc/refcards/orgcard.tex b/etc/refcards/orgcard.tex
index 1affe548529..91cc03f1f12 100644
--- a/etc/refcards/orgcard.tex
+++ b/etc/refcards/orgcard.tex
@@ -1,5 +1,5 @@
1% Reference Card for Org Mode 1% Reference Card for Org Mode
2\def\orgversionnumber{9.1.6} 2\def\orgversionnumber{9.1.9}
3\def\versionyear{2018} % latest update 3\def\versionyear{2018} % latest update
4\input emacsver.tex 4\input emacsver.tex
5 5
diff --git a/lisp/org/ob-C.el b/lisp/org/ob-C.el
index 092354e9ca6..ff5be349676 100644
--- a/lisp/org/ob-C.el
+++ b/lisp/org/ob-C.el
@@ -5,7 +5,7 @@
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Thierry Banel 6;; Thierry Banel
7;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ob-J.el b/lisp/org/ob-J.el
index 4aec293afca..87812213eee 100644
--- a/lisp/org/ob-J.el
+++ b/lisp/org/ob-J.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Oleh Krehel 5;; Author: Oleh Krehel
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-R.el b/lisp/org/ob-R.el
index 84bb89f6e00..d7e936eba0d 100644
--- a/lisp/org/ob-R.el
+++ b/lisp/org/ob-R.el
@@ -5,7 +5,7 @@
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Dan Davison 6;; Dan Davison
7;; Keywords: literate programming, reproducible research, R, statistics 7;; Keywords: literate programming, reproducible research, R, statistics
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ob-asymptote.el b/lisp/org/ob-asymptote.el
index 211eab7f29b..84e23648094 100644
--- a/lisp/org/ob-asymptote.el
+++ b/lisp/org/ob-asymptote.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-awk.el b/lisp/org/ob-awk.el
index 474111f2637..1ee4552eb0f 100644
--- a/lisp/org/ob-awk.el
+++ b/lisp/org/ob-awk.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-calc.el b/lisp/org/ob-calc.el
index 4ed5dd4be05..387cba210a9 100644
--- a/lisp/org/ob-calc.el
+++ b/lisp/org/ob-calc.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-clojure.el b/lisp/org/ob-clojure.el
index 852fe08b934..890f60ada8a 100644
--- a/lisp/org/ob-clojure.el
+++ b/lisp/org/ob-clojure.el
@@ -5,7 +5,7 @@
5;; Author: Joel Boehland, Eric Schulte, Oleh Krehel, Frederick Giasson 5;; Author: Joel Boehland, Eric Schulte, Oleh Krehel, Frederick Giasson
6;; 6;;
7;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ob-comint.el b/lisp/org/ob-comint.el
index 32449753a62..e9c6f937b14 100644
--- a/lisp/org/ob-comint.el
+++ b/lisp/org/ob-comint.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research, comint 6;; Keywords: literate programming, reproducible research, comint
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-coq.el b/lisp/org/ob-coq.el
index a52044e8ae0..875c794b19a 100644
--- a/lisp/org/ob-coq.el
+++ b/lisp/org/ob-coq.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-core.el b/lisp/org/ob-core.el
index 0e2e78a6710..5d5faaa6fd0 100644
--- a/lisp/org/ob-core.el
+++ b/lisp/org/ob-core.el
@@ -5,7 +5,7 @@
5;; Authors: Eric Schulte 5;; Authors: Eric Schulte
6;; Dan Davison 6;; Dan Davison
7;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
@@ -980,13 +980,24 @@ with a prefix argument then this is passed on to
980(defmacro org-babel-do-in-edit-buffer (&rest body) 980(defmacro org-babel-do-in-edit-buffer (&rest body)
981 "Evaluate BODY in edit buffer if there is a code block at point. 981 "Evaluate BODY in edit buffer if there is a code block at point.
982Return t if a code block was found at point, nil otherwise." 982Return t if a code block was found at point, nil otherwise."
983 `(let ((org-src-window-setup 'switch-invisibly)) 983 (declare (debug (body)))
984 (when (and (org-babel-where-is-src-block-head) 984 `(let* ((element (org-element-at-point))
985 ;; This function is not supposed to move point. However,
986 ;; `org-edit-src-code' always moves point back into the
987 ;; source block. It is problematic if the point was before
988 ;; the code, e.g., on block's opening line. In this case,
989 ;; we want to restore this location after executing BODY.
990 (outside-position
991 (and (<= (line-beginning-position)
992 (org-element-property :post-affiliated element))
993 (point-marker)))
994 (org-src-window-setup 'switch-invisibly))
995 (when (and (org-babel-where-is-src-block-head element)
985 (org-edit-src-code)) 996 (org-edit-src-code))
986 (unwind-protect (progn ,@body) 997 (unwind-protect (progn ,@body)
987 (org-edit-src-exit)) 998 (org-edit-src-exit)
999 (when outside-position (goto-char outside-position)))
988 t))) 1000 t)))
989(def-edebug-spec org-babel-do-in-edit-buffer (body))
990 1001
991(defun org-babel-do-key-sequence-in-edit-buffer (key) 1002(defun org-babel-do-key-sequence-in-edit-buffer (key)
992 "Read key sequence and execute the command in edit buffer. 1003 "Read key sequence and execute the command in edit buffer.
diff --git a/lisp/org/ob-css.el b/lisp/org/ob-css.el
index 8c0b8d75a0a..8cabf2bc789 100644
--- a/lisp/org/ob-css.el
+++ b/lisp/org/ob-css.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-ditaa.el b/lisp/org/ob-ditaa.el
index 82cc89d0221..9507630ba29 100644
--- a/lisp/org/ob-ditaa.el
+++ b/lisp/org/ob-ditaa.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-dot.el b/lisp/org/ob-dot.el
index e72dd3cada5..31e0a4f325e 100644
--- a/lisp/org/ob-dot.el
+++ b/lisp/org/ob-dot.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-ebnf.el b/lisp/org/ob-ebnf.el
index 4e96b211760..8c7c5415e6c 100644
--- a/lisp/org/ob-ebnf.el
+++ b/lisp/org/ob-ebnf.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Michael Gauland 5;; Author: Michael Gauland
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; Version: 1.00 8;; Version: 1.00
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
diff --git a/lisp/org/ob-emacs-lisp.el b/lisp/org/ob-emacs-lisp.el
index 2dc350629dd..8ea2ec127a6 100644
--- a/lisp/org/ob-emacs-lisp.el
+++ b/lisp/org/ob-emacs-lisp.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-eval.el b/lisp/org/ob-eval.el
index 44972f95636..2bfaa08a609 100644
--- a/lisp/org/ob-eval.el
+++ b/lisp/org/ob-eval.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research, comint 6;; Keywords: literate programming, reproducible research, comint
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-exp.el b/lisp/org/ob-exp.el
index d2c32fac81a..264dc0ed067 100644
--- a/lisp/org/ob-exp.el
+++ b/lisp/org/ob-exp.el
@@ -5,7 +5,7 @@
5;; Authors: Eric Schulte 5;; Authors: Eric Schulte
6;; Dan Davison 6;; Dan Davison
7;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ob-forth.el b/lisp/org/ob-forth.el
index ed14b1873d3..efd5759358c 100644
--- a/lisp/org/ob-forth.el
+++ b/lisp/org/ob-forth.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research, forth 6;; Keywords: literate programming, reproducible research, forth
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-fortran.el b/lisp/org/ob-fortran.el
index dad7eda0c72..49e960ff927 100644
--- a/lisp/org/ob-fortran.el
+++ b/lisp/org/ob-fortran.el
@@ -5,7 +5,7 @@
5;; Authors: Sergey Litvinov 5;; Authors: Sergey Litvinov
6;; Eric Schulte 6;; Eric Schulte
7;; Keywords: literate programming, reproducible research, fortran 7;; Keywords: literate programming, reproducible research, fortran
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11;; 11;;
diff --git a/lisp/org/ob-gnuplot.el b/lisp/org/ob-gnuplot.el
index 674627b8fa0..b2f491331e8 100644
--- a/lisp/org/ob-gnuplot.el
+++ b/lisp/org/ob-gnuplot.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-groovy.el b/lisp/org/ob-groovy.el
index 4e10ecd6b1d..565b09754ba 100644
--- a/lisp/org/ob-groovy.el
+++ b/lisp/org/ob-groovy.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Miro Bezjak 5;; Author: Miro Bezjak
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
@@ -84,12 +84,12 @@ in BODY as elisp."
84 (when session (error "Sessions are not (yet) supported for Groovy")) 84 (when session (error "Sessions are not (yet) supported for Groovy"))
85 (pcase result-type 85 (pcase result-type
86 (`output 86 (`output
87 (let ((src-file (org-babel-temp-file "groovy-"))) 87 (let ((src-file (org-babel-temp-file "groovy_")))
88 (progn (with-temp-file src-file (insert body)) 88 (progn (with-temp-file src-file (insert body))
89 (org-babel-eval 89 (org-babel-eval
90 (concat org-babel-groovy-command " " src-file) "")))) 90 (concat org-babel-groovy-command " " src-file) ""))))
91 (`value 91 (`value
92 (let* ((src-file (org-babel-temp-file "groovy-")) 92 (let* ((src-file (org-babel-temp-file "groovy_"))
93 (wrapper (format org-babel-groovy-wrapper-method body))) 93 (wrapper (format org-babel-groovy-wrapper-method body)))
94 (with-temp-file src-file (insert wrapper)) 94 (with-temp-file src-file (insert wrapper))
95 (let ((raw (org-babel-eval 95 (let ((raw (org-babel-eval
diff --git a/lisp/org/ob-haskell.el b/lisp/org/ob-haskell.el
index b19ee6d70fe..e607ee0c55b 100644
--- a/lisp/org/ob-haskell.el
+++ b/lisp/org/ob-haskell.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-hledger.el b/lisp/org/ob-hledger.el
index 71589034702..727fb1f162a 100644
--- a/lisp/org/ob-hledger.el
+++ b/lisp/org/ob-hledger.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Simon Michael 5;; Author: Simon Michael
6;; Keywords: literate programming, reproducible research, plain text accounting 6;; Keywords: literate programming, reproducible research, plain text accounting
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-io.el b/lisp/org/ob-io.el
index 7c7d9df25ad..4f407cc52c3 100644
--- a/lisp/org/ob-io.el
+++ b/lisp/org/ob-io.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Andrzej Lichnerowicz 5;; Author: Andrzej Lichnerowicz
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-java.el b/lisp/org/ob-java.el
index 1f257531831..d6301bff2d5 100644
--- a/lisp/org/ob-java.el
+++ b/lisp/org/ob-java.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-js.el b/lisp/org/ob-js.el
index 5aa2ed791dc..38c8c39ac96 100644
--- a/lisp/org/ob-js.el
+++ b/lisp/org/ob-js.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research, js 6;; Keywords: literate programming, reproducible research, js
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-keys.el b/lisp/org/ob-keys.el
index 3d8e865a029..fc96df47561 100644
--- a/lisp/org/ob-keys.el
+++ b/lisp/org/ob-keys.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-latex.el b/lisp/org/ob-latex.el
index 4654ba5d3a8..6a963e52f26 100644
--- a/lisp/org/ob-latex.el
+++ b/lisp/org/ob-latex.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-ledger.el b/lisp/org/ob-ledger.el
index 84f0599a417..2a1331441ae 100644
--- a/lisp/org/ob-ledger.el
+++ b/lisp/org/ob-ledger.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric S Fraga 5;; Author: Eric S Fraga
6;; Keywords: literate programming, reproducible research, accounting 6;; Keywords: literate programming, reproducible research, accounting
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-lilypond.el b/lisp/org/ob-lilypond.el
index b4c4b9a90e4..3d3cc07f135 100644
--- a/lisp/org/ob-lilypond.el
+++ b/lisp/org/ob-lilypond.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Martyn Jago 5;; Author: Martyn Jago
6;; Keywords: babel language, literate programming 6;; Keywords: babel language, literate programming
7;; Homepage: http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html 7;; Homepage: https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
@@ -24,7 +24,7 @@
24;;; Commentary: 24;;; Commentary:
25 25
26;; Installation, ob-lilypond documentation, and examples are available at 26;; Installation, ob-lilypond documentation, and examples are available at
27;; http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html 27;; https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html
28;; 28;;
29;; Lilypond documentation can be found at 29;; Lilypond documentation can be found at
30;; http://lilypond.org/manuals.html 30;; http://lilypond.org/manuals.html
diff --git a/lisp/org/ob-lisp.el b/lisp/org/ob-lisp.el
index d4a7c37133d..b846138f7a3 100644
--- a/lisp/org/ob-lisp.el
+++ b/lisp/org/ob-lisp.el
@@ -6,7 +6,7 @@
6;; Eric Schulte 6;; Eric Schulte
7;; David T. O'Toole <dto@gnu.org> 7;; David T. O'Toole <dto@gnu.org>
8;; Keywords: literate programming, reproducible research 8;; Keywords: literate programming, reproducible research
9;; Homepage: http://orgmode.org 9;; Homepage: https://orgmode.org
10 10
11;; This file is part of GNU Emacs. 11;; This file is part of GNU Emacs.
12 12
diff --git a/lisp/org/ob-lob.el b/lisp/org/ob-lob.el
index f103a811856..6af6bf07e84 100644
--- a/lisp/org/ob-lob.el
+++ b/lisp/org/ob-lob.el
@@ -5,7 +5,7 @@
5;; Authors: Eric Schulte 5;; Authors: Eric Schulte
6;; Dan Davison 6;; Dan Davison
7;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
@@ -79,44 +79,54 @@ if so then run the appropriate source block from the Library."
79 (org-babel-execute-src-block nil info) 79 (org-babel-execute-src-block nil info)
80 t))) 80 t)))
81 81
82(defun org-babel-lob--src-info (name) 82(defun org-babel-lob--src-info (ref)
83 "Return internal representation for Babel data named NAME. 83 "Return internal representation for Babel data referenced as REF.
84NAME is a string. This function looks into the current document 84REF is a string. This function looks into the current document
85for a Babel call or source block. If none is found, it looks 85for a Babel call or source block. If none is found, it looks
86after NAME in the Library of Babel. Eventually, if that also 86after REF in the Library of Babel."
87fails, it returns nil." 87 (let ((name ref)
88 ;; During export, look into the pristine copy of the document being 88 (file nil))
89 ;; exported instead of the current one, which could miss some data. 89 ;; Extract the remote file, if specified in the reference.
90 (with-current-buffer (or org-babel-exp-reference-buffer (current-buffer)) 90 (when (string-match "\\`\\(.+\\):\\(.+\\)\\'" ref)
91 (org-with-wide-buffer 91 (setq file (match-string 1 ref))
92 (goto-char (point-min)) 92 (setq name (match-string 2 ref)))
93 (catch :found 93 ;; During export, look into the pristine copy of the document
94 (let ((case-fold-search t) 94 ;; being exported instead of the current one, which could miss
95 (regexp (org-babel-named-data-regexp-for-name name))) 95 ;; some data.
96 (while (re-search-forward regexp nil t) 96 (with-current-buffer (cond (file (find-file-noselect file t))
97 (let ((element (org-element-at-point))) 97 (org-babel-exp-reference-buffer)
98 (when (equal name (org-element-property :name element)) 98 (t (current-buffer)))
99 (throw :found 99 (org-with-point-at 1
100 (pcase (org-element-type element) 100 (catch :found
101 (`src-block (org-babel-get-src-block-info t element)) 101 (let ((case-fold-search t)
102 (`babel-call (org-babel-lob-get-info element)) 102 (regexp (org-babel-named-data-regexp-for-name name)))
103 ;; Non-executable data found. Since names are 103 (while (re-search-forward regexp nil t)
104 ;; supposed to be unique throughout a document, 104 (let ((element (org-element-at-point)))
105 ;; bail out. 105 (when (equal name (org-element-property :name element))
106 (_ nil)))))) 106 (throw :found
107 ;; No element named NAME in buffer. Try Library of Babel. 107 (pcase (org-element-type element)
108 (cdr (assoc-string name org-babel-library-of-babel))))))) 108 (`src-block (org-babel-get-src-block-info t element))
109 (`babel-call (org-babel-lob-get-info element))
110 ;; Non-executable data found. Since names
111 ;; are supposed to be unique throughout
112 ;; a document, bail out.
113 (_ nil))))))
114 (cdr (assoc-string ref org-babel-library-of-babel))))))))
109 115
110;;;###autoload 116;;;###autoload
111(defun org-babel-lob-get-info (&optional datum) 117(defun org-babel-lob-get-info (&optional datum)
112 "Return internal representation for Library of Babel function call. 118 "Return internal representation for Library of Babel function call.
113Consider DATUM, when provided, or element at point. Return nil 119
114when not on an appropriate location. Otherwise return a list 120Consider DATUM, when provided, or element at point otherwise.
115compatible with `org-babel-get-src-block-info', which see." 121
122Return nil when not on an appropriate location. Otherwise return
123a list compatible with `org-babel-get-src-block-info', which
124see."
116 (let* ((context (or datum (org-element-context))) 125 (let* ((context (or datum (org-element-context)))
117 (type (org-element-type context))) 126 (type (org-element-type context))
127 (reference (org-element-property :call context)))
118 (when (memq type '(babel-call inline-babel-call)) 128 (when (memq type '(babel-call inline-babel-call))
119 (pcase (org-babel-lob--src-info (org-element-property :call context)) 129 (pcase (org-babel-lob--src-info reference)
120 (`(,language ,body ,header ,_ ,_ ,_ ,coderef) 130 (`(,language ,body ,header ,_ ,_ ,_ ,coderef)
121 (let ((begin (org-element-property (if (eq type 'inline-babel-call) 131 (let ((begin (org-element-property (if (eq type 'inline-babel-call)
122 :begin 132 :begin
diff --git a/lisp/org/ob-lua.el b/lisp/org/ob-lua.el
index ff9aae01fac..6ae72c7e565 100644
--- a/lisp/org/ob-lua.el
+++ b/lisp/org/ob-lua.el
@@ -4,7 +4,7 @@
4 4
5;; Authors: Dieter Schoen 5;; Authors: Dieter Schoen
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-makefile.el b/lisp/org/ob-makefile.el
index 692ebb6c923..46870378295 100644
--- a/lisp/org/ob-makefile.el
+++ b/lisp/org/ob-makefile.el
@@ -5,7 +5,7 @@
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Thomas S. Dye 6;; Thomas S. Dye
7;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ob-matlab.el b/lisp/org/ob-matlab.el
index da2eadc477c..5baac77742c 100644
--- a/lisp/org/ob-matlab.el
+++ b/lisp/org/ob-matlab.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Dan Davison 5;; Author: Dan Davison
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-maxima.el b/lisp/org/ob-maxima.el
index fc2471761a0..b42a4b8afaf 100644
--- a/lisp/org/ob-maxima.el
+++ b/lisp/org/ob-maxima.el
@@ -5,7 +5,7 @@
5;; Author: Eric S Fraga 5;; Author: Eric S Fraga
6;; Eric Schulte 6;; Eric Schulte
7;; Keywords: literate programming, reproducible research, maxima 7;; Keywords: literate programming, reproducible research, maxima
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ob-mscgen.el b/lisp/org/ob-mscgen.el
index 8f8c8c5dce9..b2c2443c8fc 100644
--- a/lisp/org/ob-mscgen.el
+++ b/lisp/org/ob-mscgen.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Juan Pechiar 5;; Author: Juan Pechiar
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-ocaml.el b/lisp/org/ob-ocaml.el
index b8212b128bc..90926b5c35b 100644
--- a/lisp/org/ob-ocaml.el
+++ b/lisp/org/ob-ocaml.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-octave.el b/lisp/org/ob-octave.el
index 7d729055060..c7339cf992d 100644
--- a/lisp/org/ob-octave.el
+++ b/lisp/org/ob-octave.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Dan Davison 5;; Author: Dan Davison
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-org.el b/lisp/org/ob-org.el
index 310aaec3f39..7a495faaedf 100644
--- a/lisp/org/ob-org.el
+++ b/lisp/org/ob-org.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-perl.el b/lisp/org/ob-perl.el
index 2b96bf9cd56..85806fd5330 100644
--- a/lisp/org/ob-perl.el
+++ b/lisp/org/ob-perl.el
@@ -5,7 +5,7 @@
5;; Authors: Dan Davison 5;; Authors: Dan Davison
6;; Eric Schulte 6;; Eric Schulte
7;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ob-picolisp.el b/lisp/org/ob-picolisp.el
index fd129b899b2..cc2c8a8dff2 100644
--- a/lisp/org/ob-picolisp.el
+++ b/lisp/org/ob-picolisp.el
@@ -5,7 +5,7 @@
5;; Authors: Thorsten Jolitz 5;; Authors: Thorsten Jolitz
6;; Eric Schulte 6;; Eric Schulte
7;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ob-plantuml.el b/lisp/org/ob-plantuml.el
index 53ba42ec367..9a9313e7be9 100644
--- a/lisp/org/ob-plantuml.el
+++ b/lisp/org/ob-plantuml.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Zhang Weize 5;; Author: Zhang Weize
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-processing.el b/lisp/org/ob-processing.el
index 83fcadd2575..1a88930277f 100644
--- a/lisp/org/ob-processing.el
+++ b/lisp/org/ob-processing.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Jarmo Hurri (adapted from ob-asymptote.el written by Eric Schulte) 5;; Author: Jarmo Hurri (adapted from ob-asymptote.el written by Eric Schulte)
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-python.el b/lisp/org/ob-python.el
index 951e4d2a4b4..9f1234bac52 100644
--- a/lisp/org/ob-python.el
+++ b/lisp/org/ob-python.el
@@ -5,7 +5,7 @@
5;; Authors: Eric Schulte 5;; Authors: Eric Schulte
6;; Dan Davison 6;; Dan Davison
7;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ob-ref.el b/lisp/org/ob-ref.el
index 872f7f98151..3efa17f9601 100644
--- a/lisp/org/ob-ref.el
+++ b/lisp/org/ob-ref.el
@@ -5,7 +5,7 @@
5;; Authors: Eric Schulte 5;; Authors: Eric Schulte
6;; Dan Davison 6;; Dan Davison
7;; Keywords: literate programming, reproducible research 7;; Keywords: literate programming, reproducible research
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ob-ruby.el b/lisp/org/ob-ruby.el
index 6daf52b0127..7686ac4e807 100644
--- a/lisp/org/ob-ruby.el
+++ b/lisp/org/ob-ruby.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-sass.el b/lisp/org/ob-sass.el
index 5b179a6e8cb..af55d763e34 100644
--- a/lisp/org/ob-sass.el
+++ b/lisp/org/ob-sass.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-scheme.el b/lisp/org/ob-scheme.el
index cc78b574d07..0efe5f3467c 100644
--- a/lisp/org/ob-scheme.el
+++ b/lisp/org/ob-scheme.el
@@ -5,7 +5,7 @@
5;; Authors: Eric Schulte 5;; Authors: Eric Schulte
6;; Michael Gauland 6;; Michael Gauland
7;; Keywords: literate programming, reproducible research, scheme 7;; Keywords: literate programming, reproducible research, scheme
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ob-screen.el b/lisp/org/ob-screen.el
index 4fad849d024..fb7c8e2daa4 100644
--- a/lisp/org/ob-screen.el
+++ b/lisp/org/ob-screen.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Benjamin Andresen 5;; Author: Benjamin Andresen
6;; Keywords: literate programming, interactive shell 6;; Keywords: literate programming, interactive shell
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-shell.el b/lisp/org/ob-shell.el
index c53dd65e66e..362dfd520fb 100644
--- a/lisp/org/ob-shell.el
+++ b/lisp/org/ob-shell.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-shen.el b/lisp/org/ob-shen.el
index 9308e5b38b1..d81e7d60df1 100644
--- a/lisp/org/ob-shen.el
+++ b/lisp/org/ob-shen.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research, shen 6;; Keywords: literate programming, reproducible research, shen
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-sql.el b/lisp/org/ob-sql.el
index 524e9b73e1a..959ede3decc 100644
--- a/lisp/org/ob-sql.el
+++ b/lisp/org/ob-sql.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-sqlite.el b/lisp/org/ob-sqlite.el
index 4799896f63b..42528a38712 100644
--- a/lisp/org/ob-sqlite.el
+++ b/lisp/org/ob-sqlite.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-stan.el b/lisp/org/ob-stan.el
index 6fa9fe5c94f..ffc26818841 100644
--- a/lisp/org/ob-stan.el
+++ b/lisp/org/ob-stan.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Kyle Meyer 5;; Author: Kyle Meyer
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
@@ -39,7 +39,7 @@
39;; that does not end in ".stan". 39;; that does not end in ".stan".
40;; 40;;
41;; For more information and usage examples, visit 41;; For more information and usage examples, visit
42;; http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-stan.html 42;; https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-stan.html
43;; 43;;
44;; [1] http://mc-stan.org/ 44;; [1] http://mc-stan.org/
45 45
diff --git a/lisp/org/ob-table.el b/lisp/org/ob-table.el
index 9ee0bcc24b5..f6a5c88e479 100644
--- a/lisp/org/ob-table.el
+++ b/lisp/org/ob-table.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-tangle.el b/lisp/org/ob-tangle.el
index 5fa59ac4d76..48eddb73a92 100644
--- a/lisp/org/ob-tangle.el
+++ b/lisp/org/ob-tangle.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ob-vala.el b/lisp/org/ob-vala.el
index 02b3bab5b7f..96c37e3ad08 100644
--- a/lisp/org/ob-vala.el
+++ b/lisp/org/ob-vala.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Christian Garbs <mitch@cgarbs.de> 5;; Author: Christian Garbs <mitch@cgarbs.de>
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;;; License: 9;;; License:
10 10
diff --git a/lisp/org/ob.el b/lisp/org/ob.el
index a029da861bd..35f65ffa828 100644
--- a/lisp/org/ob.el
+++ b/lisp/org/ob.el
@@ -4,7 +4,7 @@
4 4
5;; Authors: Eric Schulte 5;; Authors: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el
index 9aaec330708..5bbf5e34ee5 100644
--- a/lisp/org/org-agenda.el
+++ b/lisp/org/org-agenda.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
@@ -1644,9 +1644,10 @@ When nil, such items are sorted as 0 minutes effort."
1644 (tags . " %i %-12:c") 1644 (tags . " %i %-12:c")
1645 (search . " %i %-12:c")) 1645 (search . " %i %-12:c"))
1646 "Format specifications for the prefix of items in the agenda views. 1646 "Format specifications for the prefix of items in the agenda views.
1647An alist with five entries, each for the different agenda types. The 1647
1648keys of the sublists are `agenda', `todo', `search' and `tags'. 1648An alist with one entry per agenda type. The keys of the
1649The values are format strings. 1649sublists are `agenda', `todo', `search' and `tags'. The values
1650are format strings.
1650 1651
1651This format works similar to a printf format, with the following meaning: 1652This format works similar to a printf format, with the following meaning:
1652 1653
@@ -2075,7 +2076,10 @@ works you probably want to add it to `org-agenda-custom-commands' for good."
2075(defvar org-agenda-follow-mode nil) 2076(defvar org-agenda-follow-mode nil)
2076(defvar org-agenda-entry-text-mode nil) 2077(defvar org-agenda-entry-text-mode nil)
2077(defvar org-agenda-clockreport-mode nil) 2078(defvar org-agenda-clockreport-mode nil)
2078(defvar org-agenda-show-log nil) 2079(defvar org-agenda-show-log nil
2080 "When non-nil, show the log in the agenda.
2081Do not set this directly; instead use
2082`org-agenda-start-with-log-mode', which see.")
2079(defvar org-agenda-redo-command nil) 2083(defvar org-agenda-redo-command nil)
2080(defvar org-agenda-query-string nil) 2084(defvar org-agenda-query-string nil)
2081(defvar org-agenda-mode-hook nil 2085(defvar org-agenda-mode-hook nil
@@ -2207,9 +2211,9 @@ The following commands are available:
2207 nil t) 2211 nil t)
2208 (unless org-agenda-keep-modes 2212 (unless org-agenda-keep-modes
2209 (setq org-agenda-follow-mode org-agenda-start-with-follow-mode 2213 (setq org-agenda-follow-mode org-agenda-start-with-follow-mode
2210 org-agenda-entry-text-mode org-agenda-start-with-entry-text-mode)) 2214 org-agenda-entry-text-mode org-agenda-start-with-entry-text-mode
2211 (setq org-agenda-show-log org-agenda-start-with-log-mode) 2215 org-agenda-show-log org-agenda-start-with-log-mode
2212 (setq org-agenda-clockreport-mode org-agenda-start-with-clockreport-mode) 2216 org-agenda-clockreport-mode org-agenda-start-with-clockreport-mode))
2213 (add-to-invisibility-spec '(org-filtered)) 2217 (add-to-invisibility-spec '(org-filtered))
2214 (add-to-invisibility-spec '(org-link)) 2218 (add-to-invisibility-spec '(org-link))
2215 (easy-menu-change 2219 (easy-menu-change
@@ -6172,7 +6176,7 @@ scheduled items with an hour specification like [h]h:mm."
6172 ;; Nullify delay when a repeater triggered already 6176 ;; Nullify delay when a repeater triggered already
6173 ;; and the delay is of the form --Xd. 6177 ;; and the delay is of the form --Xd.
6174 ((and (string-match-p "--[0-9]+[hdwmy]" s) 6178 ((and (string-match-p "--[0-9]+[hdwmy]" s)
6175 (> current schedule)) 6179 (> schedule (org-agenda--timestamp-to-absolute s)))
6176 0) 6180 0)
6177 (suppress-delay 6181 (suppress-delay
6178 (let ((org-scheduled-delay-days suppress-delay)) 6182 (let ((org-scheduled-delay-days suppress-delay))
@@ -8177,7 +8181,6 @@ so that the date SD will be in that range."
8177 (interactive) 8181 (interactive)
8178 (org-agenda-check-type t 'agenda) 8182 (org-agenda-check-type t 'agenda)
8179 (setq org-agenda-clockreport-mode (not org-agenda-clockreport-mode)) 8183 (setq org-agenda-clockreport-mode (not org-agenda-clockreport-mode))
8180 (setq org-agenda-start-with-clockreport-mode org-agenda-clockreport-mode)
8181 (org-agenda-set-mode-name) 8184 (org-agenda-set-mode-name)
8182 (org-agenda-redo) 8185 (org-agenda-redo)
8183 (message "Clocktable mode is %s" 8186 (message "Clocktable mode is %s"
@@ -8201,7 +8204,6 @@ log items, nothing else."
8201 nil 'clockcheck)) 8204 nil 'clockcheck))
8202 (special '(closed clock state)) 8205 (special '(closed clock state))
8203 (t (not org-agenda-show-log)))) 8206 (t (not org-agenda-show-log))))
8204 (setq org-agenda-start-with-log-mode org-agenda-show-log)
8205 (org-agenda-set-mode-name) 8207 (org-agenda-set-mode-name)
8206 (org-agenda-redo) 8208 (org-agenda-redo)
8207 (message "Log mode is %s" (if org-agenda-show-log "on" "off"))) 8209 (message "Log mode is %s" (if org-agenda-show-log "on" "off")))
@@ -9895,32 +9897,33 @@ The prefix arg is passed through to the command if possible."
9895 (org-agenda-set-tags ,tag 9897 (org-agenda-set-tags ,tag
9896 ,(if (eq action ?+) ''on ''off)))))) 9898 ,(if (eq action ?+) ''on ''off))))))
9897 9899
9898 (?s 9900 ((and (or ?s ?d) c)
9899 (let ((time 9901 (let* ((schedule? (eq c ?s))
9900 (and (not arg) 9902 (prompt (if schedule? "(Re)Schedule to" "(Re)Set Deadline to"))
9901 (org-read-date nil nil nil "(Re)Schedule to" 9903 (time
9902 org-overriding-default-time)))) 9904 (and (not arg)
9905 (let ((new (org-read-date
9906 nil nil nil prompt org-overriding-default-time)))
9907 ;; A "double plus" answer applies to every
9908 ;; scheduled time. Do not turn it into
9909 ;; a fixed date yet.
9910 (if (string-match-p "\\`[ \t]*\\+\\+"
9911 org-read-date-final-answer)
9912 org-read-date-final-answer
9913 new)))))
9903 ;; Make sure to not prompt for a note when bulk 9914 ;; Make sure to not prompt for a note when bulk
9904 ;; rescheduling as Org cannot cope with simultaneous notes. 9915 ;; rescheduling/resetting deadline as Org cannot cope with
9905 ;; Besides, it could be annoying depending on the number of 9916 ;; simultaneous notes. Besides, it could be annoying
9906 ;; items re-scheduled. 9917 ;; depending on the number of marked items.
9907 (setq cmd 9918 (setq cmd
9908 `(lambda () 9919 (if schedule?
9909 (let ((org-log-reschedule (and org-log-reschedule 'time))) 9920 `(lambda ()
9910 (org-agenda-schedule arg ,time)))))) 9921 (let ((org-log-reschedule
9911 (?d 9922 (and org-log-reschedule 'time)))
9912 (let ((time 9923 (org-agenda-schedule arg ,time)))
9913 (and (not arg) 9924 `(lambda ()
9914 (org-read-date nil nil nil "(Re)Set Deadline to" 9925 (let ((org-log-redeadline (and org-log-redeadline 'time)))
9915 org-overriding-default-time)))) 9926 (org-agenda-deadline arg ,time)))))))
9916 ;; Make sure to not prompt for a note when bulk
9917 ;; rescheduling as Org cannot cope with simultaneous
9918 ;; notes. Besides, it could be annoying depending on the
9919 ;; number of items re-scheduled.
9920 (setq cmd
9921 `(lambda ()
9922 (let ((org-log-redeadline (and org-log-redeadline 'time)))
9923 (org-agenda-deadline arg ,time))))))
9924 9927
9925 (?S 9928 (?S
9926 (unless (org-agenda-check-type nil 'agenda 'todo) 9929 (unless (org-agenda-check-type nil 'agenda 'todo)
diff --git a/lisp/org/org-archive.el b/lisp/org/org-archive.el
index 755de7fdac2..e020ec21409 100644
--- a/lisp/org/org-archive.el
+++ b/lisp/org/org-archive.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-bbdb.el b/lisp/org/org-bbdb.el
index 1d39efb88c4..5d36379b5eb 100644
--- a/lisp/org/org-bbdb.el
+++ b/lisp/org/org-bbdb.el
@@ -5,7 +5,7 @@
5;; Authors: Carsten Dominik <carsten at orgmode dot org> 5;; Authors: Carsten Dominik <carsten at orgmode dot org>
6;; Thomas Baumann <thomas dot baumann at ch dot tum dot de> 6;; Thomas Baumann <thomas dot baumann at ch dot tum dot de>
7;; Keywords: outlines, hypermedia, calendar, wp 7;; Keywords: outlines, hypermedia, calendar, wp
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9;; 9;;
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11;; 11;;
diff --git a/lisp/org/org-capture.el b/lisp/org/org-capture.el
index cb1741f2f91..3de386c69d6 100644
--- a/lisp/org/org-capture.el
+++ b/lisp/org/org-capture.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
@@ -51,8 +51,8 @@
51(require 'org) 51(require 'org)
52 52
53(declare-function org-at-encrypted-entry-p "org-crypt" ()) 53(declare-function org-at-encrypted-entry-p "org-crypt" ())
54(declare-function org-datetree-find-date-create "org-datetree" 54(declare-function org-clock-update-mode-line "org-clock" (&optional refresh))
55 (date &optional keep-restriction)) 55(declare-function org-datetree-find-date-create "org-datetree" (date &optional keep-restriction))
56(declare-function org-decrypt-entry "org-crypt" ()) 56(declare-function org-decrypt-entry "org-crypt" ())
57(declare-function org-encrypt-entry "org-crypt" ()) 57(declare-function org-encrypt-entry "org-crypt" ())
58(declare-function org-table-analyze "org-table" ()) 58(declare-function org-table-analyze "org-table" ())
@@ -541,8 +541,8 @@ not-in-buffer: command not displayed in matching buffers
541If you define several checks, the agenda command will be 541If you define several checks, the agenda command will be
542accessible if there is at least one valid check. 542accessible if there is at least one valid check.
543 543
544You can also bind a key to another agenda custom command 544You can also bind a key to another capture template depending on
545depending on contextual rules. 545contextual rules.
546 546
547 \\='((\"c\" \"d\" ((in-mode . \"message-mode\")))) 547 \\='((\"c\" \"d\" ((in-mode . \"message-mode\"))))
548 548
@@ -724,21 +724,24 @@ captured item after finalizing."
724 724
725 ;; Did we start the clock in this capture buffer? 725 ;; Did we start the clock in this capture buffer?
726 (when (and org-capture-clock-was-started 726 (when (and org-capture-clock-was-started
727 org-clock-marker (marker-buffer org-clock-marker) 727 org-clock-marker
728 (equal (marker-buffer org-clock-marker) (buffer-base-buffer)) 728 (eq (marker-buffer org-clock-marker) (buffer-base-buffer))
729 (> org-clock-marker (point-min)) 729 (>= org-clock-marker (point-min))
730 (< org-clock-marker (point-max))) 730 (< org-clock-marker (point-max)))
731 ;; Looks like the clock we started is still running. Clock out. 731 ;; Looks like the clock we started is still running.
732 (when (not org-capture-clock-keep) (let (org-log-note-clock-out) (org-clock-out))) 732 (if org-capture-clock-keep
733 (when (and (not org-capture-clock-keep) 733 ;; User may have completed clocked heading from the template.
734 (org-capture-get :clock-resume 'local) 734 ;; Refresh clock mode line.
735 (markerp (org-capture-get :interrupted-clock 'local)) 735 (org-clock-update-mode-line t)
736 (buffer-live-p (marker-buffer 736 ;; Clock out. Possibly resume interrupted clock.
737 (org-capture-get :interrupted-clock 'local)))) 737 (let (org-log-note-clock-out) (org-clock-out))
738 (let ((clock-in-task (org-capture-get :interrupted-clock 'local))) 738 (when (and (org-capture-get :clock-resume 'local)
739 (org-with-point-at clock-in-task 739 (markerp (org-capture-get :interrupted-clock 'local))
740 (org-clock-in))) 740 (buffer-live-p (marker-buffer
741 (message "Interrupted clock has been resumed"))) 741 (org-capture-get :interrupted-clock 'local))))
742 (let ((clock-in-task (org-capture-get :interrupted-clock 'local)))
743 (org-with-point-at clock-in-task (org-clock-in)))
744 (message "Interrupted clock has been resumed"))))
742 745
743 (let ((beg (point-min)) 746 (let ((beg (point-min))
744 (end (point-max)) 747 (end (point-max))
@@ -1118,7 +1121,7 @@ may have been stored before."
1118 (setq level (org-get-valid-level 1121 (setq level (org-get-valid-level
1119 (if (org-at-heading-p) (org-outline-level) 1) 1122 (if (org-at-heading-p) (org-outline-level) 1)
1120 1)) 1123 1))
1121 (if reversed? (outline-next-heading) (org-end-of-subtree t))) 1124 (if reversed? (outline-next-heading) (org-end-of-subtree t t)))
1122 ;; Insert as a top-level entry at the beginning of the file. 1125 ;; Insert as a top-level entry at the beginning of the file.
1123 (reversed? 1126 (reversed?
1124 (goto-char (point-min)) 1127 (goto-char (point-min))
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index 4c5fcc64b0f..ff32e28d1e8 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
@@ -430,7 +430,9 @@ This applies when using `org-clock-goto'."
430 :type 'integer) 430 :type 'integer)
431 431
432(defcustom org-clock-display-default-range 'thisyear 432(defcustom org-clock-display-default-range 'thisyear
433 "Default range when displaying clocks with `org-clock-display'." 433 "Default range when displaying clocks with `org-clock-display'.
434Valid values are: `today', `yesterday', `thisweek', `lastweek',
435`thismonth', `lastmonth', `thisyear', `lastyear' and `untilnow'."
434 :group 'org-clock 436 :group 'org-clock
435 :type '(choice (const today) 437 :type '(choice (const today)
436 (const yesterday) 438 (const yesterday)
@@ -441,7 +443,8 @@ This applies when using `org-clock-goto'."
441 (const thisyear) 443 (const thisyear)
442 (const lastyear) 444 (const lastyear)
443 (const untilnow) 445 (const untilnow)
444 (const :tag "Select range interactively" interactive))) 446 (const :tag "Select range interactively" interactive))
447 :safe #'symbolp)
445 448
446(defvar org-clock-in-prepare-hook nil 449(defvar org-clock-in-prepare-hook nil
447 "Hook run when preparing the clock. 450 "Hook run when preparing the clock.
@@ -465,38 +468,6 @@ to add an effort property.")
465(defvar org-clock-stored-resume-clock nil 468(defvar org-clock-stored-resume-clock nil
466 "Clock to resume, saved by `org-clock-load'") 469 "Clock to resume, saved by `org-clock-load'")
467 470
468(defconst org-clock--oldest-date
469 (let* ((dichotomy
470 (lambda (min max pred)
471 (if (funcall pred min) min
472 (cl-incf min)
473 (while (> (- max min) 1)
474 (let ((mean (+ (ash min -1) (ash max -1) (logand min max 1))))
475 (if (funcall pred mean) (setq max mean) (setq min mean)))))
476 max))
477 (high
478 (funcall dichotomy
479 most-negative-fixnum
480 0
481 (lambda (m)
482 ;; libc in macOS 10.6 hangs when decoding times
483 ;; around year -2**31. Limit `high' not to go
484 ;; any earlier than that.
485 (unless (and (eq system-type 'darwin)
486 (string-match-p
487 "10\\.6\\.[[:digit:]]"
488 (shell-command-to-string
489 "sw_vers -productVersion"))
490 (<= m -1034058203135))
491 (ignore-errors (decode-time (list m 0)))))))
492 (low
493 (funcall dichotomy
494 most-negative-fixnum
495 0
496 (lambda (m) (ignore-errors (decode-time (list high m)))))))
497 (list high low))
498 "Internal time for oldest date representable on the system.")
499
500;;; The clock for measuring work time. 471;;; The clock for measuring work time.
501 472
502(defvar org-mode-line-string "") 473(defvar org-mode-line-string "")
@@ -542,6 +513,15 @@ cannot be translated."
542 (assoc-string language org-clock-clocktable-language-setup t)) 513 (assoc-string language org-clock-clocktable-language-setup t))
543 s)) 514 s))
544 515
516(defun org-clock--mode-line-heading ()
517 "Return currently clocked heading, formatted for mode line."
518 (cond ((functionp org-clock-heading-function)
519 (funcall org-clock-heading-function))
520 ((org-before-first-heading-p) "???")
521 (t (replace-regexp-in-string
522 org-bracket-link-analytic-regexp "\\5"
523 (org-no-properties (org-get-heading t t t t))))))
524
545(defun org-clock-menu () 525(defun org-clock-menu ()
546 (interactive) 526 (interactive)
547 (popup-menu 527 (popup-menu
@@ -690,19 +670,18 @@ If not, show simply the clocked time like 01:50."
690 (if org-clock-effort 670 (if org-clock-effort
691 (let* ((effort-in-minutes (org-duration-to-minutes org-clock-effort)) 671 (let* ((effort-in-minutes (org-duration-to-minutes org-clock-effort))
692 (work-done-str 672 (work-done-str
693 (propertize 673 (propertize (org-duration-from-minutes clocked-time)
694 (org-duration-from-minutes clocked-time) 674 'face
695 'face (if (and org-clock-task-overrun (not org-clock-task-overrun-text)) 675 (if (and org-clock-task-overrun
696 'org-mode-line-clock-overrun 'org-mode-line-clock))) 676 (not org-clock-task-overrun-text))
697 (effort-str (org-duration-from-minutes effort-in-minutes)) 677 'org-mode-line-clock-overrun
698 (clockstr (propertize 678 'org-mode-line-clock)))
699 (concat " [%s/" effort-str 679 (effort-str (org-duration-from-minutes effort-in-minutes)))
700 "] (" (replace-regexp-in-string "%" "%%" org-clock-heading) ")") 680 (format (propertize " [%s/%s] (%s)" 'face 'org-mode-line-clock)
701 'face 'org-mode-line-clock))) 681 work-done-str effort-str org-clock-heading))
702 (format clockstr work-done-str)) 682 (format (propertize " [%s] (%s)" 'face 'org-mode-line-clock)
703 (propertize (concat " [" (org-duration-from-minutes clocked-time) 683 (org-duration-from-minutes clocked-time)
704 "]" (format " (%s)" org-clock-heading)) 684 org-clock-heading))))
705 'face 'org-mode-line-clock))))
706 685
707(defun org-clock-get-last-clock-out-time () 686(defun org-clock-get-last-clock-out-time ()
708 "Get the last clock-out time for the current subtree." 687 "Get the last clock-out time for the current subtree."
@@ -712,10 +691,13 @@ If not, show simply the clocked time like 01:50."
712 ".*\\]--\\(\\[[^]]+\\]\\)") end t) 691 ".*\\]--\\(\\[[^]]+\\]\\)") end t)
713 (org-time-string-to-time (match-string 1)))))) 692 (org-time-string-to-time (match-string 1))))))
714 693
715(defun org-clock-update-mode-line () 694(defun org-clock-update-mode-line (&optional refresh)
695 "Update mode line with clock information.
696When optional argument is non-nil, refresh cached heading."
716 (if org-clock-effort 697 (if org-clock-effort
717 (org-clock-notify-once-if-expired) 698 (org-clock-notify-once-if-expired)
718 (setq org-clock-task-overrun nil)) 699 (setq org-clock-task-overrun nil))
700 (when refresh (setq org-clock-heading (org-clock--mode-line-heading)))
719 (setq org-mode-line-string 701 (setq org-mode-line-string
720 (propertize 702 (propertize
721 (let ((clock-string (org-clock-get-clock-string)) 703 (let ((clock-string (org-clock-get-clock-string))
@@ -1232,7 +1214,8 @@ the default behavior."
1232 (when (equal select '(64)) 1214 (when (equal select '(64))
1233 ;; Set start-time to `org-clock-out-time' 1215 ;; Set start-time to `org-clock-out-time'
1234 (let ((org-clock-continuously t)) 1216 (let ((org-clock-continuously t))
1235 (org-clock-in nil org-clock-out-time))) 1217 (org-clock-in nil org-clock-out-time)
1218 (throw 'abort nil)))
1236 1219
1237 (when (equal select '(4)) 1220 (when (equal select '(4))
1238 (setq selected-task (org-clock-select-task "Clock-in on task: ")) 1221 (setq selected-task (org-clock-select-task "Clock-in on task: "))
@@ -1298,15 +1281,7 @@ the default behavior."
1298 org-clock-in-switch-to-state 1281 org-clock-in-switch-to-state
1299 "\\>")))) 1282 "\\>"))))
1300 (org-todo org-clock-in-switch-to-state))) 1283 (org-todo org-clock-in-switch-to-state)))
1301 (setq org-clock-heading 1284 (setq org-clock-heading (org-clock--mode-line-heading))
1302 (cond ((and org-clock-heading-function
1303 (functionp org-clock-heading-function))
1304 (funcall org-clock-heading-function))
1305 ((nth 4 (org-heading-components))
1306 (replace-regexp-in-string
1307 "\\[\\[.*?\\]\\[\\(.*?\\)\\]\\]" "\\1"
1308 (match-string-no-properties 4)))
1309 (t "???")))
1310 (org-clock-find-position org-clock-in-resume) 1285 (org-clock-find-position org-clock-in-resume)
1311 (cond 1286 (cond
1312 ((and org-clock-in-resume 1287 ((and org-clock-in-resume
@@ -1442,7 +1417,7 @@ in particular CLOCK_MODELINE_TOTAL and the corresponding variable
1442`org-clock-mode-line-total' and then decides which time to use. 1417`org-clock-mode-line-total' and then decides which time to use.
1443 1418
1444The time is always returned as UTC." 1419The time is always returned as UTC."
1445 (let ((cmt (or (org-entry-get nil "CLOCK_MODELINE_TOTAL") 1420 (let ((cmt (or (org-entry-get nil "CLOCK_MODELINE_TOTAL" 'selective)
1446 (symbol-name org-clock-mode-line-total))) 1421 (symbol-name org-clock-mode-line-total)))
1447 (lr (org-entry-get nil "LAST_REPEAT"))) 1422 (lr (org-entry-get nil "LAST_REPEAT")))
1448 (cond 1423 (cond
@@ -1451,7 +1426,7 @@ The time is always returned as UTC."
1451 (current-time)) 1426 (current-time))
1452 ((equal cmt "today") 1427 ((equal cmt "today")
1453 (setq org--msg-extra "showing today's task time.") 1428 (setq org--msg-extra "showing today's task time.")
1454 (let* ((dt (org-decode-time nil t)) 1429 (let* ((dt (decode-time))
1455 (hour (nth 2 dt)) 1430 (hour (nth 2 dt))
1456 (day (nth 3 dt))) 1431 (day (nth 3 dt)))
1457 (if (< hour org-extend-today-until) (setf (nth 3 dt) (1- day))) 1432 (if (< hour org-extend-today-until) (setf (nth 3 dt) (1- day)))
@@ -1784,6 +1759,7 @@ With prefix arg SELECT, offer recently clocked tasks for selection."
1784(defvar-local org-clock-file-total-minutes nil 1759(defvar-local org-clock-file-total-minutes nil
1785 "Holds the file total time in minutes, after a call to `org-clock-sum'.") 1760 "Holds the file total time in minutes, after a call to `org-clock-sum'.")
1786 1761
1762;;;###autoload
1787(defun org-clock-sum-today (&optional headline-filter) 1763(defun org-clock-sum-today (&optional headline-filter)
1788 "Sum the times for each subtree for today." 1764 "Sum the times for each subtree for today."
1789 (let ((range (org-clock-special-range 'today))) 1765 (let ((range (org-clock-special-range 'today)))
@@ -1929,37 +1905,36 @@ Use `\\[org-clock-remove-overlays]' to remove the subtree times."
1929 (prop (cond ((not arg) :org-clock-minutes-default) 1905 (prop (cond ((not arg) :org-clock-minutes-default)
1930 (todayp :org-clock-minutes-today) 1906 (todayp :org-clock-minutes-today)
1931 (customp :org-clock-minutes-custom) 1907 (customp :org-clock-minutes-custom)
1932 (t :org-clock-minutes))) 1908 (t :org-clock-minutes))))
1933 time h m p)
1934 (cond ((not arg) (org-clock-sum-custom 1909 (cond ((not arg) (org-clock-sum-custom
1935 nil org-clock-display-default-range prop)) 1910 nil org-clock-display-default-range prop))
1936 (todayp (org-clock-sum-today)) 1911 (todayp (org-clock-sum-today))
1937 (customp (org-clock-sum-custom nil arg)) 1912 (customp (org-clock-sum-custom nil arg))
1938 (t (org-clock-sum))) 1913 (t (org-clock-sum)))
1939 (unless (eq arg '(64)) 1914 (unless (equal arg '(64))
1940 (save-excursion 1915 (save-excursion
1941 (goto-char (point-min)) 1916 (goto-char (point-min))
1942 (while (or (and (equal (setq p (point)) (point-min)) 1917 (let ((p nil))
1943 (get-text-property p prop)) 1918 (while (or (and (equal (setq p (point)) (point-min))
1944 (setq p (next-single-property-change 1919 (get-text-property p prop))
1945 (point) prop))) 1920 (setq p (next-single-property-change (point) prop)))
1946 (goto-char p) 1921 (goto-char p)
1947 (when (setq time (get-text-property p prop)) 1922 (let ((time (get-text-property p prop)))
1948 (org-clock-put-overlay time))) 1923 (when time (org-clock-put-overlay time)))))
1949 (setq h (/ org-clock-file-total-minutes 60)
1950 m (- org-clock-file-total-minutes (* 60 h)))
1951 ;; Arrange to remove the overlays upon next change. 1924 ;; Arrange to remove the overlays upon next change.
1952 (when org-remove-highlights-with-change 1925 (when org-remove-highlights-with-change
1953 (add-hook 'before-change-functions 'org-clock-remove-overlays 1926 (add-hook 'before-change-functions 'org-clock-remove-overlays
1954 nil 'local)))) 1927 nil 'local))))
1955 (message (concat (format "Total file time%s: " 1928 (let* ((h (/ org-clock-file-total-minutes 60))
1956 (cond (todayp " for today") 1929 (m (- org-clock-file-total-minutes (* 60 h))))
1957 (customp " (custom)") 1930 (message (concat (format "Total file time%s: "
1958 (t ""))) 1931 (cond (todayp " for today")
1959 (org-duration-from-minutes 1932 (customp " (custom)")
1960 org-clock-file-total-minutes) 1933 (t "")))
1961 " (%d hours and %d minutes)") 1934 (org-duration-from-minutes
1962 h m))) 1935 org-clock-file-total-minutes)
1936 " (%d hours and %d minutes)")
1937 h m))))
1963 1938
1964(defvar-local org-clock-overlays nil) 1939(defvar-local org-clock-overlays nil)
1965 1940
@@ -2051,27 +2026,32 @@ fontified, and then returned."
2051 2026
2052;;;###autoload 2027;;;###autoload
2053(defun org-clock-report (&optional arg) 2028(defun org-clock-report (&optional arg)
2054 "Create a table containing a report about clocked time. 2029 "Update or create a table containing a report about clocked time.
2055If the cursor is inside an existing clocktable block, then the table 2030
2056will be updated. If not, a new clocktable will be inserted. The scope 2031If point is inside an existing clocktable block, update it.
2057of the new clock will be subtree when called from within a subtree, and 2032Otherwise, insert a new one.
2058file elsewhere. 2033
2059 2034The new table inherits its properties from the variable
2060When called with a prefix argument, move to the first clock table in the 2035`org-clock-clocktable-default-properties'. The scope of the
2061buffer and update it." 2036clocktable, when not specified in the previous variable, is
2037`subtree' when the function is called from within a subtree, and
2038`file' elsewhere.
2039
2040When called with a prefix argument, move to the first clock table
2041in the buffer and update it."
2062 (interactive "P") 2042 (interactive "P")
2063 (org-clock-remove-overlays) 2043 (org-clock-remove-overlays)
2064 (when arg 2044 (when arg
2065 (org-find-dblock "clocktable") 2045 (org-find-dblock "clocktable")
2066 (org-show-entry)) 2046 (org-show-entry))
2067 (if (org-in-clocktable-p) 2047 (pcase (org-in-clocktable-p)
2068 (goto-char (org-in-clocktable-p)) 2048 (`nil
2069 (let ((props (if (ignore-errors 2049 (org-create-dblock
2070 (save-excursion (org-back-to-heading))) 2050 (org-combine-plists
2071 (list :name "clocktable" :scope 'subtree) 2051 (list :scope (if (org-before-first-heading-p) 'file 'subtree))
2072 (list :name "clocktable")))) 2052 org-clock-clocktable-default-properties
2073 (org-create-dblock 2053 '(:name "clocktable"))))
2074 (org-combine-plists org-clock-clocktable-default-properties props)))) 2054 (start (goto-char start)))
2075 (org-update-dblock)) 2055 (org-update-dblock))
2076 2056
2077(defun org-day-of-week (day month year) 2057(defun org-day-of-week (day month year)
@@ -2258,7 +2238,9 @@ have priority."
2258 ;; Format start and end times according to AS-STRINGS. 2238 ;; Format start and end times according to AS-STRINGS.
2259 (let* ((start (pcase key 2239 (let* ((start (pcase key
2260 (`interactive (org-read-date nil t nil "Range start? ")) 2240 (`interactive (org-read-date nil t nil "Range start? "))
2261 (`untilnow org-clock--oldest-date) 2241 ;; In theory, all clocks started after the dawn of
2242 ;; humanity.
2243 (`untilnow (encode-time 0 0 0 0 0 -50000))
2262 (_ (encode-time 0 m h d month y)))) 2244 (_ (encode-time 0 m h d month y))))
2263 (end (pcase key 2245 (end (pcase key
2264 (`interactive (org-read-date nil t nil "Range end? ")) 2246 (`interactive (org-read-date nil t nil "Range end? "))
@@ -2692,16 +2674,15 @@ LEVEL is an integer. Indent by two spaces per level above 1."
2692 2674
2693(defun org-clocktable-steps (params) 2675(defun org-clocktable-steps (params)
2694 "Step through the range to make a number of clock tables." 2676 "Step through the range to make a number of clock tables."
2695 (let* ((p1 (copy-sequence params)) 2677 (let* ((ts (plist-get params :tstart))
2696 (ts (plist-get p1 :tstart)) 2678 (te (plist-get params :tend))
2697 (te (plist-get p1 :tend)) 2679 (ws (plist-get params :wstart))
2698 (ws (plist-get p1 :wstart)) 2680 (ms (plist-get params :mstart))
2699 (ms (plist-get p1 :mstart)) 2681 (step0 (plist-get params :step))
2700 (step0 (plist-get p1 :step)) 2682 (step (cdr (assq step0 '((day . 86400) (week . 604800)))))
2701 (step (cdr (assoc step0 '((day . 86400) (week . 604800))))) 2683 (stepskip0 (plist-get params :stepskip0))
2702 (stepskip0 (plist-get p1 :stepskip0)) 2684 (block (plist-get params :block))
2703 (block (plist-get p1 :block)) 2685 cc tsb)
2704 cc step-time tsb)
2705 (when block 2686 (when block
2706 (setq cc (org-clock-special-range block nil t ws ms) 2687 (setq cc (org-clock-special-range block nil t ws ms)
2707 ts (car cc) 2688 ts (car cc)
@@ -2724,37 +2705,37 @@ LEVEL is an integer. Indent by two spaces per level above 1."
2724 (setq tsb 2705 (setq tsb
2725 (if (eq step0 'week) 2706 (if (eq step0 'week)
2726 (let ((dow (nth 6 (decode-time (seconds-to-time ts))))) 2707 (let ((dow (nth 6 (decode-time (seconds-to-time ts)))))
2727 (if (< dow ws) ts 2708 (if (<= dow ws) ts
2728 (- ts (* 86400 (- dow ws))))) 2709 (- ts (* 86400 (- dow ws)))))
2729 ts)) 2710 ts))
2730 (setq p1 (plist-put p1 :header ""))
2731 (setq p1 (plist-put p1 :step nil))
2732 (setq p1 (plist-put p1 :block nil))
2733 (while (< tsb te) 2711 (while (< tsb te)
2734 (or (bolp) (insert "\n")) 2712 (unless (bolp) (insert "\n"))
2735 (setq p1 (plist-put p1 :tstart (format-time-string 2713 (let ((start-time (seconds-to-time (max tsb ts))))
2736 (org-time-stamp-format nil t) 2714 (cl-incf tsb (let ((dow (nth 6 (decode-time (seconds-to-time tsb)))))
2737 (seconds-to-time (max tsb ts))))) 2715 (if (or (eq step0 'day)
2738 (cl-incf tsb (let ((dow (nth 6 (decode-time (seconds-to-time tsb))))) 2716 (= dow ws))
2739 (if (or (eq step0 'day) 2717 step
2740 (= dow ws)) 2718 (* 86400 (- ws dow)))))
2741 step 2719 (insert "\n"
2742 (* 86400 (- ws dow))))) 2720 (if (eq step0 'day) "Daily report: "
2743 (setq p1 (plist-put p1 :tend (format-time-string 2721 "Weekly report starting on: ")
2744 (org-time-stamp-format nil t) 2722 (format-time-string (org-time-stamp-format nil t) start-time)
2745 (seconds-to-time (min te tsb))))) 2723 "\n")
2746 (insert "\n" (if (eq step0 'day) "Daily report: " 2724 (let ((table-begin (line-beginning-position 0))
2747 "Weekly report starting on: ") 2725 (step-time
2748 (plist-get p1 :tstart) "\n") 2726 (org-dblock-write:clocktable
2749 (setq step-time (org-dblock-write:clocktable p1)) 2727 (org-combine-plists
2750 (re-search-forward "^[ \t]*#\\+END:") 2728 params
2751 (when (and (equal step-time 0) stepskip0) 2729 (list
2752 ;; Remove the empty table 2730 :header "" :step nil :block nil
2753 (delete-region (point-at-bol) 2731 :tstart (format-time-string (org-time-stamp-format t t)
2754 (save-excursion 2732 start-time)
2755 (re-search-backward "^\\(Daily\\|Weekly\\) report" 2733 :tend (format-time-string (org-time-stamp-format t t)
2756 nil t) 2734 (seconds-to-time (min te tsb))))))))
2757 (point)))) 2735 (re-search-forward "^[ \t]*#\\+END:")
2736 (when (and stepskip0 (equal step-time 0))
2737 ;; Remove the empty table
2738 (delete-region (line-beginning-position) table-begin))))
2758 (end-of-line 0)))) 2739 (end-of-line 0))))
2759 2740
2760(defun org-clock-get-table-data (file params) 2741(defun org-clock-get-table-data (file params)
diff --git a/lisp/org/org-colview.el b/lisp/org/org-colview.el
index 0d5a9827d59..cb5c091d0a3 100644
--- a/lisp/org/org-colview.el
+++ b/lisp/org/org-colview.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-compat.el b/lisp/org/org-compat.el
index f32fcd1783e..1fd408de9e5 100644
--- a/lisp/org/org-compat.el
+++ b/lisp/org/org-compat.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
@@ -61,12 +61,6 @@
61 (defalias 'format-message 'format) 61 (defalias 'format-message 'format)
62 (defalias 'gui-get-selection 'x-get-selection)) 62 (defalias 'gui-get-selection 'x-get-selection))
63 63
64(defun org-decode-time (&optional time zone)
65 "Backward-compatible function for `decode-time'."
66 (if (< emacs-major-version 25)
67 (decode-time time)
68 (decode-time time zone)))
69
70(unless (fboundp 'directory-name-p) 64(unless (fboundp 'directory-name-p)
71 (defun directory-name-p (name) 65 (defun directory-name-p (name)
72 "Return non-nil if NAME ends with a directory separator character." 66 "Return non-nil if NAME ends with a directory separator character."
@@ -78,37 +72,6 @@
78 (and (memq system-type '(windows-nt ms-dos)) 72 (and (memq system-type '(windows-nt ms-dos))
79 (= lastc ?\\)))))) 73 (= lastc ?\\))))))
80 74
81(unless (fboundp 'directory-files-recursively)
82 (defun directory-files-recursively (dir regexp &optional include-directories)
83 "Return list of all files under DIR that have file names matching REGEXP.
84This function works recursively. Files are returned in \"depth first\"
85order, and files from each directory are sorted in alphabetical order.
86Each file name appears in the returned list in its absolute form.
87Optional argument INCLUDE-DIRECTORIES non-nil means also include in the
88output directories whose names match REGEXP."
89 (let ((result nil)
90 (files nil)
91 ;; When DIR is "/", remote file names like "/method:" could
92 ;; also be offered. We shall suppress them.
93 (tramp-mode (and tramp-mode (file-remote-p (expand-file-name dir)))))
94 (dolist (file (sort (file-name-all-completions "" dir)
95 'string<))
96 (unless (member file '("./" "../"))
97 (if (directory-name-p file)
98 (let* ((leaf (substring file 0 (1- (length file))))
99 (full-file (expand-file-name leaf dir)))
100 ;; Don't follow symlinks to other directories.
101 (unless (file-symlink-p full-file)
102 (setq result
103 (nconc result (directory-files-recursively
104 full-file regexp include-directories))))
105 (when (and include-directories
106 (string-match regexp leaf))
107 (setq result (nconc result (list full-file)))))
108 (when (string-match regexp file)
109 (push (expand-file-name file dir) files)))))
110 (nconc result (nreverse files)))))
111
112 75
113;;; Obsolete aliases (remove them after the next major release). 76;;; Obsolete aliases (remove them after the next major release).
114 77
diff --git a/lisp/org/org-datetree.el b/lisp/org/org-datetree.el
index a8162fe9382..d00bad222cb 100644
--- a/lisp/org/org-datetree.el
+++ b/lisp/org/org-datetree.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-docview.el b/lisp/org/org-docview.el
index 57069b32aee..a467212d012 100644
--- a/lisp/org/org-docview.el
+++ b/lisp/org/org-docview.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Jan Böcker <jan.boecker at jboecker dot de> 5;; Author: Jan Böcker <jan.boecker at jboecker dot de>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-element.el b/lisp/org/org-element.el
index 9e5c4007bd7..d9c6522e2f0 100644
--- a/lisp/org/org-element.el
+++ b/lisp/org/org-element.el
@@ -22,7 +22,7 @@
22 22
23;;; Commentary: 23;;; Commentary:
24;; 24;;
25;; See <http://orgmode.org/worg/dev/org-syntax.html> for details about 25;; See <https://orgmode.org/worg/dev/org-syntax.html> for details about
26;; Org syntax. 26;; Org syntax.
27;; 27;;
28;; Lisp-wise, a syntax object can be represented as a list. 28;; Lisp-wise, a syntax object can be represented as a list.
@@ -3065,7 +3065,7 @@ Assume point is at the beginning of the link."
3065 (setq path (match-string-no-properties 1)) 3065 (setq path (match-string-no-properties 1))
3066 (setq contents-begin (match-beginning 1)) 3066 (setq contents-begin (match-beginning 1))
3067 (setq contents-end (match-end 1))) 3067 (setq contents-end (match-end 1)))
3068 ;; Type 2: Standard link, i.e. [[http://orgmode.org][homepage]] 3068 ;; Type 2: Standard link, i.e. [[https://orgmode.org][homepage]]
3069 ((looking-at org-bracket-link-regexp) 3069 ((looking-at org-bracket-link-regexp)
3070 (setq format 'bracket) 3070 (setq format 'bracket)
3071 (setq contents-begin (match-beginning 3)) 3071 (setq contents-begin (match-beginning 3))
@@ -3114,14 +3114,14 @@ Assume point is at the beginning of the link."
3114 (t 3114 (t
3115 (setq type "fuzzy") 3115 (setq type "fuzzy")
3116 (setq path raw-link)))) 3116 (setq path raw-link))))
3117 ;; Type 3: Plain link, e.g., http://orgmode.org 3117 ;; Type 3: Plain link, e.g., https://orgmode.org
3118 ((looking-at org-plain-link-re) 3118 ((looking-at org-plain-link-re)
3119 (setq format 'plain) 3119 (setq format 'plain)
3120 (setq raw-link (match-string-no-properties 0)) 3120 (setq raw-link (match-string-no-properties 0))
3121 (setq type (match-string-no-properties 1)) 3121 (setq type (match-string-no-properties 1))
3122 (setq link-end (match-end 0)) 3122 (setq link-end (match-end 0))
3123 (setq path (match-string-no-properties 2))) 3123 (setq path (match-string-no-properties 2)))
3124 ;; Type 4: Angular link, e.g., <http://orgmode.org>. Unlike to 3124 ;; Type 4: Angular link, e.g., <https://orgmode.org>. Unlike to
3125 ;; bracket links, follow RFC 3986 and remove any extra 3125 ;; bracket links, follow RFC 3986 and remove any extra
3126 ;; whitespace in URI. 3126 ;; whitespace in URI.
3127 ((looking-at org-angle-link-re) 3127 ((looking-at org-angle-link-re)
diff --git a/lisp/org/org-entities.el b/lisp/org/org-entities.el
index 65c7d055e08..e291b521f90 100644
--- a/lisp/org/org-entities.el
+++ b/lisp/org/org-entities.el
@@ -5,7 +5,7 @@
5;; Author: Carsten Dominik <carsten at orgmode dot org>, 5;; Author: Carsten Dominik <carsten at orgmode dot org>,
6;; Ulf Stegemann <ulf at zeitform dot de> 6;; Ulf Stegemann <ulf at zeitform dot de>
7;; Keywords: outlines, calendar, wp 7;; Keywords: outlines, calendar, wp
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9;; 9;;
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11;; 11;;
diff --git a/lisp/org/org-eww.el b/lisp/org/org-eww.el
index 3d9dddcac03..1b6112adbb9 100644
--- a/lisp/org/org-eww.el
+++ b/lisp/org/org-eww.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Marco Wahl <marcowahlsoft>a<gmailcom> 5;; Author: Marco Wahl <marcowahlsoft>a<gmailcom>
6;; Keywords: link, eww 6;; Keywords: link, eww
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/org-faces.el b/lisp/org/org-faces.el
index 83871fb4454..750ada1e9c3 100644
--- a/lisp/org/org-faces.el
+++ b/lisp/org/org-faces.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-feed.el b/lisp/org/org-feed.el
index c3491d5df70..fde19e632c7 100644
--- a/lisp/org/org-feed.el
+++ b/lisp/org/org-feed.el
@@ -4,7 +4,7 @@
4;; 4;;
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
@@ -276,14 +276,21 @@ have been saved."
276(defun org-feed-update-all () 276(defun org-feed-update-all ()
277 "Get inbox items from all feeds in `org-feed-alist'." 277 "Get inbox items from all feeds in `org-feed-alist'."
278 (interactive) 278 (interactive)
279 (let ((nfeeds (length org-feed-alist)) 279 (let ((entries 0)
280 (nnew (apply '+ (mapcar 'org-feed-update org-feed-alist)))) 280 (errors 0)
281 (message "%s from %d %s" 281 (total-feeds (length org-feed-alist)))
282 (cond ((= nnew 0) "No new entries") 282 (dolist (feed org-feed-alist)
283 ((= nnew 1) "1 new entry") 283 (let ((items (ignore-errors (org-feed-update feed))))
284 (t (format "%d new entries" nnew))) 284 (if items (cl-incf entries items)
285 nfeeds 285 (cl-incf errors))))
286 (if (= nfeeds 1) "feed" "feeds")))) 286 (message "%s from %d %s%s"
287 (pcase entries
288 (0 "No new entries")
289 (1 "1 new entry")
290 (_ (format "%d new entries" entries)))
291 total-feeds
292 (if (= total-feeds 1) "feed" "feeds")
293 (if (= 0 errors) "" (format " (unavailable feeds: %d)" errors)))))
287 294
288;;;###autoload 295;;;###autoload
289(defun org-feed-update (feed &optional retrieve-only) 296(defun org-feed-update (feed &optional retrieve-only)
diff --git a/lisp/org/org-footnote.el b/lisp/org/org-footnote.el
index 4d3f154c257..c6376ca5dc0 100644
--- a/lisp/org/org-footnote.el
+++ b/lisp/org/org-footnote.el
@@ -4,7 +4,7 @@
4;; 4;;
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-gnus.el b/lisp/org/org-gnus.el
index 0f2cdc28fbf..a53b343efb4 100644
--- a/lisp/org/org-gnus.el
+++ b/lisp/org/org-gnus.el
@@ -5,7 +5,7 @@
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Tassilo Horn <tassilo at member dot fsf dot org> 6;; Tassilo Horn <tassilo at member dot fsf dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 7;; Keywords: outlines, hypermedia, calendar, wp
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9;; 9;;
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11;; 11;;
@@ -42,6 +42,7 @@
42 42
43(declare-function gnus-activate-group "gnus-start" (group &optional scan dont-check method dont-sub-check)) 43(declare-function gnus-activate-group "gnus-start" (group &optional scan dont-check method dont-sub-check))
44(declare-function gnus-find-method-for-group "gnus" (group &optional info)) 44(declare-function gnus-find-method-for-group "gnus" (group &optional info))
45(declare-function gnus-article-show-summary "gnus-art" ())
45(declare-function gnus-group-group-name "gnus-group") 46(declare-function gnus-group-group-name "gnus-group")
46(declare-function gnus-group-jump-to-group "gnus-group" (group &optional prompt)) 47(declare-function gnus-group-jump-to-group "gnus-group" (group &optional prompt))
47(declare-function gnus-group-read-group "gnus-group" (&optional all no-article group select-articles)) 48(declare-function gnus-group-read-group "gnus-group" (&optional all no-article group select-articles))
@@ -142,7 +143,14 @@ If `org-store-link' was called with a prefix arg the meaning of
142 (save-excursion 143 (save-excursion
143 (nnir-article-group (gnus-summary-article-number)))) 144 (nnir-article-group (gnus-summary-article-number))))
144 (_ gnus-newsgroup-name))) 145 (_ gnus-newsgroup-name)))
145 (header (with-current-buffer gnus-summary-buffer 146 (header (if (eq major-mode 'gnus-article-mode)
147 ;; When in an article, first move to summary
148 ;; buffer, with point on the summary of the
149 ;; current article before extracting headers.
150 (save-window-excursion
151 (save-excursion
152 (gnus-article-show-summary)
153 (gnus-summary-article-header)))
146 (gnus-summary-article-header))) 154 (gnus-summary-article-header)))
147 (from (mail-header-from header)) 155 (from (mail-header-from header))
148 (message-id (org-unbracket-string "<" ">" (mail-header-id header))) 156 (message-id (org-unbracket-string "<" ">" (mail-header-id header)))
diff --git a/lisp/org/org-habit.el b/lisp/org/org-habit.el
index 09f13129e1b..375714e35ea 100644
--- a/lisp/org/org-habit.el
+++ b/lisp/org/org-habit.el
@@ -4,7 +4,7 @@
4 4
5;; Author: John Wiegley <johnw at gnu dot org> 5;; Author: John Wiegley <johnw at gnu dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-id.el b/lisp/org/org-id.el
index a230947c78a..26b203ff06d 100644
--- a/lisp/org/org-id.el
+++ b/lisp/org/org-id.el
@@ -4,7 +4,7 @@
4;; 4;;
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-indent.el b/lisp/org/org-indent.el
index ef68c3c4fa7..84bac2aa799 100644
--- a/lisp/org/org-indent.el
+++ b/lisp/org/org-indent.el
@@ -4,7 +4,7 @@
4;; 4;;
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-info.el b/lisp/org/org-info.el
index db5d66ce761..6dde36ceba1 100644
--- a/lisp/org/org-info.el
+++ b/lisp/org/org-info.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-inlinetask.el b/lisp/org/org-inlinetask.el
index 1825b88cdf6..08fc268d0d7 100644
--- a/lisp/org/org-inlinetask.el
+++ b/lisp/org/org-inlinetask.el
@@ -4,7 +4,7 @@
4;; 4;;
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el
index ad0030ffdf8..1f51809f1ce 100644
--- a/lisp/org/org-list.el
+++ b/lisp/org/org-list.el
@@ -5,7 +5,7 @@
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Bastien Guerry <bzg@gnu.org> 6;; Bastien Guerry <bzg@gnu.org>
7;; Keywords: outlines, hypermedia, calendar, wp 7;; Keywords: outlines, hypermedia, calendar, wp
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9;; 9;;
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11;; 11;;
@@ -121,6 +121,7 @@
121(declare-function org-element-set-element "org-element" (old new)) 121(declare-function org-element-set-element "org-element" (old new))
122(declare-function org-element-type "org-element" (element)) 122(declare-function org-element-type "org-element" (element))
123(declare-function org-element-update-syntax "org-element" ()) 123(declare-function org-element-update-syntax "org-element" ())
124(declare-function org-end-of-meta-data "org" (&optional full))
124(declare-function org-entry-get "org" 125(declare-function org-entry-get "org"
125 (pom property &optional inherit literal-nil)) 126 (pom property &optional inherit literal-nil))
126(declare-function org-export-create-backend "ox" (&rest rest) t) 127(declare-function org-export-create-backend "ox" (&rest rest) t)
@@ -2356,27 +2357,23 @@ is an integer, 0 means `-', 1 means `+' etc. If WHICH is
2356 2357
2357(defun org-toggle-checkbox (&optional toggle-presence) 2358(defun org-toggle-checkbox (&optional toggle-presence)
2358 "Toggle the checkbox in the current line. 2359 "Toggle the checkbox in the current line.
2359With prefix arg TOGGLE-PRESENCE, add or remove checkboxes. With 2360
2360double prefix, set checkbox to [-]. 2361With prefix argument TOGGLE-PRESENCE, add or remove checkboxes.
2362With a double prefix argument, set the checkbox to \"[-]\".
2361 2363
2362When there is an active region, toggle status or presence of the 2364When there is an active region, toggle status or presence of the
2363first checkbox there, and make every item inside have the same 2365first checkbox there, and make every item inside have the same
2364status or presence, respectively. 2366status or presence, respectively.
2365 2367
2366If the cursor is in a headline, apply this to all checkbox items 2368If point is on a headline, apply this to all checkbox items in
2367in the text below the heading, taking as reference the first item 2369the text below the heading, taking as reference the first item in
2368in subtree, ignoring drawers." 2370subtree, ignoring planning line and any drawer following it."
2369 (interactive "P") 2371 (interactive "P")
2370 (save-excursion 2372 (save-excursion
2371 (let* (singlep 2373 (let* (singlep
2372 block-item 2374 block-item
2373 lim-up 2375 lim-up
2374 lim-down 2376 lim-down
2375 (keyword-re (concat "^[ \t]*\\<\\(" org-scheduled-string
2376 "\\|" org-deadline-string
2377 "\\|" org-closed-string
2378 "\\|" org-clock-string "\\)"
2379 " *[[<]\\([^]>]+\\)[]>]"))
2380 (orderedp (org-entry-get nil "ORDERED")) 2377 (orderedp (org-entry-get nil "ORDERED"))
2381 (_bounds 2378 (_bounds
2382 ;; In a region, start at first item in region. 2379 ;; In a region, start at first item in region.
@@ -2389,15 +2386,10 @@ in subtree, ignoring drawers."
2389 (error "No item in region")) 2386 (error "No item in region"))
2390 (setq lim-down (copy-marker limit)))) 2387 (setq lim-down (copy-marker limit))))
2391 ((org-at-heading-p) 2388 ((org-at-heading-p)
2392 ;; On an heading, start at first item after drawers and 2389 ;; On a heading, start at first item after drawers and
2393 ;; time-stamps (scheduled, etc.). 2390 ;; time-stamps (scheduled, etc.).
2394 (let ((limit (save-excursion (outline-next-heading) (point)))) 2391 (let ((limit (save-excursion (outline-next-heading) (point))))
2395 (forward-line 1) 2392 (org-end-of-meta-data t)
2396 (while (or (looking-at org-drawer-regexp)
2397 (looking-at keyword-re))
2398 (if (looking-at keyword-re)
2399 (forward-line 1)
2400 (re-search-forward "^[ \t]*:END:" limit nil)))
2401 (if (org-list-search-forward (org-item-beginning-re) limit t) 2393 (if (org-list-search-forward (org-item-beginning-re) limit t)
2402 (setq lim-up (point-at-bol)) 2394 (setq lim-up (point-at-bol))
2403 (error "No item in subtree")) 2395 (error "No item in subtree"))
@@ -2656,8 +2648,8 @@ Return t if successful."
2656 (= top (point-at-bol)) 2648 (= top (point-at-bol))
2657 (cdr (assq 'indent org-list-automatic-rules)) 2649 (cdr (assq 'indent org-list-automatic-rules))
2658 (if no-subtree 2650 (if no-subtree
2659 (error 2651 (user-error
2660 "First item of list cannot move without its subtree") 2652 "At first item: use S-M-<left/right> to move the whole list")
2661 t)))) 2653 t))))
2662 ;; Determine begin and end points of zone to indent. If moving 2654 ;; Determine begin and end points of zone to indent. If moving
2663 ;; more than one item, save them for subsequent moves. 2655 ;; more than one item, save them for subsequent moves.
diff --git a/lisp/org/org-macro.el b/lisp/org/org-macro.el
index 0fb0b8ad175..1033db2af46 100644
--- a/lisp/org/org-macro.el
+++ b/lisp/org/org-macro.el
@@ -130,7 +130,7 @@ Templates are stored in buffer-local variable
130function installs the following ones: \"property\", 130function installs the following ones: \"property\",
131\"time\". and, if the buffer is associated to a file, 131\"time\". and, if the buffer is associated to a file,
132\"input-file\" and \"modification-time\"." 132\"input-file\" and \"modification-time\"."
133 (let* ((templates (org-macro--collect-macros)) 133 (let* ((templates nil)
134 (update-templates 134 (update-templates
135 (lambda (cell) 135 (lambda (cell)
136 (let ((old-template (assoc (car cell) templates))) 136 (let ((old-template (assoc (car cell) templates)))
@@ -164,7 +164,7 @@ function installs the following ones: \"property\",
164 (org-macro--counter-initialize) 164 (org-macro--counter-initialize)
165 (funcall update-templates 165 (funcall update-templates
166 (cons "n" "(eval (org-macro--counter-increment \"$1\" \"$2\"))")) 166 (cons "n" "(eval (org-macro--counter-increment \"$1\" \"$2\"))"))
167 (setq org-macro-templates templates))) 167 (setq org-macro-templates (nconc (org-macro--collect-macros) templates))))
168 168
169(defun org-macro-expand (macro templates) 169(defun org-macro-expand (macro templates)
170 "Return expanded MACRO, as a string. 170 "Return expanded MACRO, as a string.
diff --git a/lisp/org/org-macs.el b/lisp/org/org-macs.el
index 79d09e37970..510ece1cb19 100644
--- a/lisp/org/org-macs.el
+++ b/lisp/org/org-macs.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-mhe.el b/lisp/org/org-mhe.el
index 32a6ff11b91..e74a9ee59d6 100644
--- a/lisp/org/org-mhe.el
+++ b/lisp/org/org-mhe.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Thomas Baumann <thomas dot baumann at ch dot tum dot de> 5;; Author: Thomas Baumann <thomas dot baumann at ch dot tum dot de>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-mobile.el b/lisp/org/org-mobile.el
index 71914750f0b..cbf169f4078 100644
--- a/lisp/org/org-mobile.el
+++ b/lisp/org/org-mobile.el
@@ -3,7 +3,7 @@
3;; 3;;
4;; Author: Carsten Dominik <carsten at orgmode dot org> 4;; Author: Carsten Dominik <carsten at orgmode dot org>
5;; Keywords: outlines, hypermedia, calendar, wp 5;; Keywords: outlines, hypermedia, calendar, wp
6;; Homepage: http://orgmode.org 6;; Homepage: https://orgmode.org
7;; 7;;
8;; This file is part of GNU Emacs. 8;; This file is part of GNU Emacs.
9;; 9;;
diff --git a/lisp/org/org-mouse.el b/lisp/org/org-mouse.el
index ba38c058dd0..5a10b59b1eb 100644
--- a/lisp/org/org-mouse.el
+++ b/lisp/org/org-mouse.el
@@ -24,7 +24,7 @@
24;; 24;;
25;; Org-mouse provides mouse support for org-mode. 25;; Org-mouse provides mouse support for org-mode.
26;; 26;;
27;; http://orgmode.org 27;; https://orgmode.org
28;; 28;;
29;; Org mouse implements the following features: 29;; Org mouse implements the following features:
30;; * following links with the left mouse button 30;; * following links with the left mouse button
diff --git a/lisp/org/org-pcomplete.el b/lisp/org/org-pcomplete.el
index a7cc09def4b..88a2e10d854 100644
--- a/lisp/org/org-pcomplete.el
+++ b/lisp/org/org-pcomplete.el
@@ -5,7 +5,7 @@
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; John Wiegley <johnw at gnu dot org> 6;; John Wiegley <johnw at gnu dot org>
7;; Keywords: outlines, hypermedia, calendar, wp 7;; Keywords: outlines, hypermedia, calendar, wp
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9;; 9;;
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11;; 11;;
diff --git a/lisp/org/org-plot.el b/lisp/org/org-plot.el
index 6c74f3e6581..ebd7af42a85 100644
--- a/lisp/org/org-plot.el
+++ b/lisp/org/org-plot.el
@@ -4,7 +4,7 @@
4;; 4;;
5;; Author: Eric Schulte <schulte dot eric at gmail dot com> 5;; Author: Eric Schulte <schulte dot eric at gmail dot com>
6;; Keywords: tables, plotting 6;; Keywords: tables, plotting
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-protocol.el b/lisp/org/org-protocol.el
index 27c2bb28d0f..33957ee3269 100644
--- a/lisp/org/org-protocol.el
+++ b/lisp/org/org-protocol.el
@@ -184,10 +184,10 @@ Possible properties are:
184Example: 184Example:
185 185
186 (setq org-protocol-project-alist 186 (setq org-protocol-project-alist
187 \\='((\"http://orgmode.org/worg/\" 187 \\='((\"https://orgmode.org/worg/\"
188 :online-suffix \".php\" 188 :online-suffix \".php\"
189 :working-suffix \".org\" 189 :working-suffix \".org\"
190 :base-url \"http://orgmode.org/worg/\" 190 :base-url \"https://orgmode.org/worg/\"
191 :working-directory \"/home/user/org/Worg/\") 191 :working-directory \"/home/user/org/Worg/\")
192 (\"http://localhost/org-notes/\" 192 (\"http://localhost/org-notes/\"
193 :online-suffix \".html\" 193 :online-suffix \".html\"
@@ -688,7 +688,7 @@ the cdr of an element in `org-publish-project-alist', reuse
688 (let ((working-dir (expand-file-name 688 (let ((working-dir (expand-file-name
689 (or (plist-get project-plist :base-directory) 689 (or (plist-get project-plist :base-directory)
690 default-directory))) 690 default-directory)))
691 (base-url "http://orgmode.org/worg/") 691 (base-url "https://orgmode.org/worg/")
692 (strip-suffix (or (plist-get project-plist :html-extension) ".html")) 692 (strip-suffix (or (plist-get project-plist :html-extension) ".html"))
693 (working-suffix (if (plist-get project-plist :base-extension) 693 (working-suffix (if (plist-get project-plist :base-extension)
694 (concat "." (plist-get project-plist :base-extension)) 694 (concat "." (plist-get project-plist :base-extension))
diff --git a/lisp/org/org-rmail.el b/lisp/org/org-rmail.el
index be433f66d1f..d50fd648b60 100644
--- a/lisp/org/org-rmail.el
+++ b/lisp/org/org-rmail.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-src.el b/lisp/org/org-src.el
index 7c28acf9d85..829354c0d56 100644
--- a/lisp/org/org-src.el
+++ b/lisp/org/org-src.el
@@ -6,7 +6,7 @@
6;; Bastien Guerry <bzg@gnu.org> 6;; Bastien Guerry <bzg@gnu.org>
7;; Dan Davison <davison at stats dot ox dot ac dot uk> 7;; Dan Davison <davison at stats dot ox dot ac dot uk>
8;; Keywords: outlines, hypermedia, calendar, wp 8;; Keywords: outlines, hypermedia, calendar, wp
9;; Homepage: http://orgmode.org 9;; Homepage: https://orgmode.org
10;; 10;;
11;; This file is part of GNU Emacs. 11;; This file is part of GNU Emacs.
12;; 12;;
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el
index 4bb5c91ce87..dcf74303637 100644
--- a/lisp/org/org-table.el
+++ b/lisp/org/org-table.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
@@ -135,7 +135,7 @@ the fixed string \"#+ORGTBL: SEND\", followed by instruction on how to
135convert the table into a data structure useful in the 135convert the table into a data structure useful in the
136language of the buffer. Check the manual for the section on 136language of the buffer. Check the manual for the section on
137\"Translator functions\", and more generally check out 137\"Translator functions\", and more generally check out
138http://orgmode.org/manual/Tables-in-arbitrary-syntax.html#Tables-in-arbitrary-syntax 138the Info node `(org)Tables in arbitrary syntax'.
139 139
140All occurrences of %n in a template will be replaced with the name of the 140All occurrences of %n in a template will be replaced with the name of the
141table, obtained by prompting the user." 141table, obtained by prompting the user."
@@ -387,16 +387,19 @@ portability of tables."
387 (const :tag "Error on attempt to cross" error))) 387 (const :tag "Error on attempt to cross" error)))
388 388
389(defcustom org-table-formula-create-columns nil 389(defcustom org-table-formula-create-columns nil
390 "Non-nil means that evaluation of a field formula can add new 390 "Non-nil means evaluation of formula can add new columns.
391columns if an out-of-bounds field is being set." 391When non-nil, evaluating an out-of-bounds field can insert as
392many columns as needed. When set to `warn', issue a warning when
393doing so. When set to `prompt', ask user before creating a new
394column. Otherwise, throw an error."
392 :group 'org-table-calculation 395 :group 'org-table-calculation
393 :version "26.1" 396 :version "26.1"
394 :package-version '(Org . "8.3") 397 :package-version '(Org . "8.3")
395 :type '(choice 398 :type '(choice
396 (const :tag "Setting an out-of-bounds field generates an error (default)" nil) 399 (const :tag "Out-of-bounds field generates an error (default)" nil)
397 (const :tag "Setting an out-of-bounds field silently adds columns as needed" t) 400 (const :tag "Out-of-bounds field silently adds columns as needed" t)
398 (const :tag "Setting an out-of-bounds field adds columns as needed, but issues a warning message" warn) 401 (const :tag "Out-of-bounds field adds columns, but issues a warning" warn)
399 (const :tag "When setting an out-of-bounds field, the user is prompted" prompt))) 402 (const :tag "Prompt user when setting an out-of-bounds field" prompt)))
400 403
401(defgroup org-table-import-export nil 404(defgroup org-table-import-export nil
402 "Options concerning table import and export in Org mode." 405 "Options concerning table import and export in Org mode."
@@ -3327,7 +3330,9 @@ existing formula for column %s"
3327 t)) 3330 t))
3328 (and (eq org-table-formula-create-columns 'prompt) 3331 (and (eq org-table-formula-create-columns 'prompt)
3329 (yes-or-no-p 3332 (yes-or-no-p
3330 "Out-of-bounds formula. Add columns? "))))))) 3333 "Out-of-bounds formula. Add columns? "))
3334 (user-error
3335 "Missing columns in the table. Aborting"))))))
3331 (org-table-eval-formula nil formula t t t t)))) 3336 (org-table-eval-formula nil formula t t t t))))
3332 ;; Clean up markers and internal text property. 3337 ;; Clean up markers and internal text property.
3333 (remove-text-properties (point-min) (point-max) '(org-untouchable t)) 3338 (remove-text-properties (point-min) (point-max) '(org-untouchable t))
diff --git a/lisp/org/org-timer.el b/lisp/org/org-timer.el
index 65e777b63ef..d840944ef17 100644
--- a/lisp/org/org-timer.el
+++ b/lisp/org/org-timer.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el
index 8ec120e9b2f..132ad2b3035 100644
--- a/lisp/org/org-version.el
+++ b/lisp/org/org-version.el
@@ -5,13 +5,13 @@
5(defun org-release () 5(defun org-release ()
6 "The release version of Org. 6 "The release version of Org.
7Inserted by installing Org mode or when a release is made." 7Inserted by installing Org mode or when a release is made."
8 (let ((org-release "9.1.6")) 8 (let ((org-release "9.1.9"))
9 org-release)) 9 org-release))
10;;;###autoload 10;;;###autoload
11(defun org-git-version () 11(defun org-git-version ()
12 "The Git version of Org mode. 12 "The Git version of Org mode.
13Inserted by installing Org or when a release is made." 13Inserted by installing Org or when a release is made."
14 (let ((org-git-version "release_9.1.6-50-g96b33f")) 14 (let ((org-git-version "release_9.1.9-65-g5e4542"))
15 org-git-version)) 15 org-git-version))
16 16
17(provide 'org-version) 17(provide 'org-version)
diff --git a/lisp/org/org-w3m.el b/lisp/org/org-w3m.el
index 706619c5d2b..9690c8e90c6 100644
--- a/lisp/org/org-w3m.el
+++ b/lisp/org/org-w3m.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Andy Stewart <lazycat dot manatee at gmail dot com> 5;; Author: Andy Stewart <lazycat dot manatee at gmail dot com>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8;; 8;;
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10;; 10;;
diff --git a/lisp/org/org.el b/lisp/org/org.el
index a53553bfd8b..1373861ad1b 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -6,8 +6,8 @@
6;; Author: Carsten Dominik <carsten at orgmode dot org> 6;; Author: Carsten Dominik <carsten at orgmode dot org>
7;; Maintainer: Carsten Dominik <carsten at orgmode dot org> 7;; Maintainer: Carsten Dominik <carsten at orgmode dot org>
8;; Keywords: outlines, hypermedia, calendar, wp 8;; Keywords: outlines, hypermedia, calendar, wp
9;; Homepage: http://orgmode.org 9;; Homepage: https://orgmode.org
10;; Version: 9.1.6 10;; Version: 9.1.9
11;; 11;;
12;; This file is part of GNU Emacs. 12;; This file is part of GNU Emacs.
13;; 13;;
@@ -49,7 +49,7 @@
49;; --------------------------- 49;; ---------------------------
50;; See the corresponding sections in the manual at 50;; See the corresponding sections in the manual at
51;; 51;;
52;; http://orgmode.org/org.html#Installation 52;; https://orgmode.org/org.html#Installation
53;; 53;;
54;; Documentation 54;; Documentation
55;; ------------- 55;; -------------
@@ -60,7 +60,7 @@
60;; in the doc/ directory. 60;; in the doc/ directory.
61;; 61;;
62;; A list of recent changes can be found at 62;; A list of recent changes can be found at
63;; http://orgmode.org/Changes.html 63;; https://orgmode.org/Changes.html
64;; 64;;
65;;; Code: 65;;; Code:
66 66
@@ -1866,7 +1866,7 @@ See the manual for examples."
1866 1866
1867(defcustom org-descriptive-links t 1867(defcustom org-descriptive-links t
1868 "Non-nil means Org will display descriptive links. 1868 "Non-nil means Org will display descriptive links.
1869E.g. [[http://orgmode.org][Org website]] will be displayed as 1869E.g. [[https://orgmode.org][Org website]] will be displayed as
1870\"Org Website\", hiding the link itself and just displaying its 1870\"Org Website\", hiding the link itself and just displaying its
1871description. When set to nil, Org will display the full links 1871description. When set to nil, Org will display the full links
1872literally. 1872literally.
@@ -3758,7 +3758,7 @@ This variable is populated from #+PROPERTY lines.")
3758 :group 'org) 3758 :group 'org)
3759 3759
3760(defvar-local org-category nil 3760(defvar-local org-category nil
3761 "Variable used by org files to set a category for agenda display. 3761 "Variable used by Org files to set a category for agenda display.
3762Such files should use a file variable to set it, for example 3762Such files should use a file variable to set it, for example
3763 3763
3764# -*- mode: org; org-category: \"ELisp\" 3764# -*- mode: org; org-category: \"ELisp\"
@@ -4040,7 +4040,7 @@ Place-holders only used by `:image-converter':
4040(defcustom org-preview-latex-image-directory "ltximg/" 4040(defcustom org-preview-latex-image-directory "ltximg/"
4041 "Path to store latex preview images. 4041 "Path to store latex preview images.
4042A relative path here creates many directories relative to the 4042A relative path here creates many directories relative to the
4043processed org files paths. An absolute path puts all preview 4043processed Org files paths. An absolute path puts all preview
4044images at the same place." 4044images at the same place."
4045 :group 'org-latex 4045 :group 'org-latex
4046 :version "26.1" 4046 :version "26.1"
@@ -4238,9 +4238,9 @@ lines to the buffer:
4238 :type 'boolean) 4238 :type 'boolean)
4239 4239
4240(defcustom org-hidden-keywords nil 4240(defcustom org-hidden-keywords nil
4241 "List of symbols corresponding to keywords to be hidden the org buffer. 4241 "List of symbols corresponding to keywords to be hidden in the Org buffer.
4242For example, a value \\='(title) for this list will make the document's title 4242For example, a value \\='(title) for this list makes the document's title
4243appear in the buffer without the initial #+TITLE: keyword." 4243appear in the buffer without the initial \"#+TITLE:\" part."
4244 :group 'org-appearance 4244 :group 'org-appearance
4245 :version "24.1" 4245 :version "24.1"
4246 :type '(set (const :tag "#+AUTHOR" author) 4246 :type '(set (const :tag "#+AUTHOR" author)
@@ -4903,6 +4903,18 @@ Support for group tags is controlled by the option
4903 (message "Groups tags support has been turned %s" 4903 (message "Groups tags support has been turned %s"
4904 (if org-group-tags "on" "off"))) 4904 (if org-group-tags "on" "off")))
4905 4905
4906(defun org-tag-add-to-alist (alist1 alist2)
4907 "Append ALIST1 elements to ALIST2 if they are not there yet."
4908 (cond
4909 ((null alist2) alist1)
4910 ((null alist1) alist2)
4911 (t (let ((alist2-cars (mapcar (lambda (x) (car-safe x)) alist2))
4912 to-add)
4913 (dolist (i alist1)
4914 (unless (member (car-safe i) alist2-cars)
4915 (push i to-add)))
4916 (append to-add alist2)))))
4917
4906(defun org-set-regexps-and-options (&optional tags-only) 4918(defun org-set-regexps-and-options (&optional tags-only)
4907 "Precompute regular expressions used in the current buffer. 4919 "Precompute regular expressions used in the current buffer.
4908When optional argument TAGS-ONLY is non-nil, only compute tags 4920When optional argument TAGS-ONLY is non-nil, only compute tags
@@ -4931,10 +4943,11 @@ related expressions."
4931 (mapcar #'org-add-prop-inherited 4943 (mapcar #'org-add-prop-inherited
4932 (cdr (assq 'filetags alist)))) 4944 (cdr (assq 'filetags alist))))
4933 (setq org-current-tag-alist 4945 (setq org-current-tag-alist
4934 (append org-tag-persistent-alist 4946 (org-tag-add-to-alist
4935 (let ((tags (cdr (assq 'tags alist)))) 4947 org-tag-persistent-alist
4936 (if tags (org-tag-string-to-alist tags) 4948 (let ((tags (cdr (assq 'tags alist))))
4937 org-tag-alist)))) 4949 (if tags (org-tag-string-to-alist tags)
4950 org-tag-alist))))
4938 (setq org-tag-groups-alist 4951 (setq org-tag-groups-alist
4939 (org-tag-alist-to-groups org-current-tag-alist)) 4952 (org-tag-alist-to-groups org-current-tag-alist))
4940 (unless tags-only 4953 (unless tags-only
@@ -5249,7 +5262,7 @@ a string, summarizing TAGS, as a list of strings."
5249 (`(,(or :endgroup :endgrouptag)) 5262 (`(,(or :endgroup :endgrouptag))
5250 (when (eq group-status 'append) 5263 (when (eq group-status 'append)
5251 (push (nreverse current-group) groups)) 5264 (push (nreverse current-group) groups))
5252 (setq group-status nil)) 5265 (setq group-status nil current-group nil))
5253 (`(:grouptags) (setq group-status 'append)) 5266 (`(:grouptags) (setq group-status 'append))
5254 ((and `(,tag . ,_) (guard group-status)) 5267 ((and `(,tag . ,_) (guard group-status))
5255 (if (eq group-status 'append) (push tag current-group) 5268 (if (eq group-status 'append) (push tag current-group)
@@ -6052,17 +6065,21 @@ by a #."
6052 6065
6053(defun org-fontify-macros (limit) 6066(defun org-fontify-macros (limit)
6054 "Fontify macros." 6067 "Fontify macros."
6055 (when (re-search-forward "\\({{{\\).+?\\(}}}\\)" limit t) 6068 (when (re-search-forward "{{{\\([a-zA-Z][-a-zA-Z0-9_]*\\)" limit t)
6056 (add-text-properties 6069 (let ((begin (match-beginning 0))
6057 (match-beginning 0) (match-end 0) 6070 (opening-end (match-beginning 1)))
6058 '(font-lock-fontified t face org-macro)) 6071 (when (and (re-search-forward "\n[ \t]*\n\\|\\(}}}\\)" limit t)
6059 (when org-hide-macro-markers 6072 (match-string 1))
6060 (add-text-properties (match-end 2) (match-beginning 2) 6073 (let ((end (match-end 1))
6061 '(invisible t)) 6074 (closing-start (match-beginning 1)))
6062 (add-text-properties (match-beginning 1) (match-end 1) 6075 (add-text-properties
6063 '(invisible t))) 6076 begin end
6064 (org-remove-flyspell-overlays-in (match-beginning 0) (match-end 0)) 6077 '(font-lock-multiline t font-lock-fontified t face org-macro))
6065 t)) 6078 (org-remove-flyspell-overlays-in begin end)
6079 (when org-hide-macro-markers
6080 (add-text-properties begin opening-end '(invisible t))
6081 (add-text-properties closing-start end '(invisible t)))
6082 t)))))
6066 6083
6067(defun org-activate-footnote-links (limit) 6084(defun org-activate-footnote-links (limit)
6068 "Add text properties for footnotes." 6085 "Add text properties for footnotes."
@@ -8459,7 +8476,7 @@ This is a short-hand for marking the subtree and then cutting it."
8459 (org-copy-subtree n 'cut)) 8476 (org-copy-subtree n 'cut))
8460 8477
8461(defun org-copy-subtree (&optional n cut force-store-markers nosubtrees) 8478(defun org-copy-subtree (&optional n cut force-store-markers nosubtrees)
8462 "Copy the current subtree it in the clipboard. 8479 "Copy the current subtree into the clipboard.
8463With prefix arg N, copy this many sequential subtrees. 8480With prefix arg N, copy this many sequential subtrees.
8464This is a short-hand for marking the subtree and then copying it. 8481This is a short-hand for marking the subtree and then copying it.
8465If CUT is non-nil, actually cut the subtree. 8482If CUT is non-nil, actually cut the subtree.
@@ -8532,7 +8549,6 @@ When REMOVE is non-nil, remove the subtree from the clipboard."
8532 (org-with-limited-levels 8549 (org-with-limited-levels
8533 (let* ((visp (not (org-invisible-p))) 8550 (let* ((visp (not (org-invisible-p)))
8534 (txt tree) 8551 (txt tree)
8535 (^re_ "\\(\\*+\\)[ \t]*")
8536 (old-level (if (string-match org-outline-regexp-bol txt) 8552 (old-level (if (string-match org-outline-regexp-bol txt)
8537 (- (match-end 0) (match-beginning 0) 1) 8553 (- (match-end 0) (match-beginning 0) 1)
8538 -1)) 8554 -1))
@@ -8549,7 +8565,7 @@ When REMOVE is non-nil, remove the subtree from the clipboard."
8549 (condition-case nil 8565 (condition-case nil
8550 (progn 8566 (progn
8551 (outline-previous-visible-heading 1) 8567 (outline-previous-visible-heading 1)
8552 (if (looking-at ^re_) 8568 (if (looking-at org-outline-regexp-bol)
8553 (- (match-end 0) (match-beginning 0) 1) 8569 (- (match-end 0) (match-beginning 0) 1)
8554 1)) 8570 1))
8555 (error 1)))) 8571 (error 1))))
@@ -8558,7 +8574,7 @@ When REMOVE is non-nil, remove the subtree from the clipboard."
8558 (progn 8574 (progn
8559 (or (looking-at org-outline-regexp) 8575 (or (looking-at org-outline-regexp)
8560 (outline-next-visible-heading 1)) 8576 (outline-next-visible-heading 1))
8561 (if (looking-at ^re_) 8577 (if (looking-at org-outline-regexp-bol)
8562 (- (match-end 0) (match-beginning 0) 1) 8578 (- (match-end 0) (match-beginning 0) 1)
8563 1)) 8579 1))
8564 (error 1)))) 8580 (error 1))))
@@ -9680,7 +9696,8 @@ active region."
9680 (cdr (assoc-string 9696 (cdr (assoc-string
9681 (completing-read 9697 (completing-read
9682 "Which function for creating the link? " 9698 "Which function for creating the link? "
9683 (mapcar #'car results-alist) nil t name) 9699 (mapcar #'car results-alist)
9700 nil t (symbol-name name))
9684 results-alist))) 9701 results-alist)))
9685 t)))) 9702 t))))
9686 (setq link (plist-get org-store-link-plist :link)) 9703 (setq link (plist-get org-store-link-plist :link))
@@ -14124,7 +14141,7 @@ headlines matching this string."
14124 'org-todo-regexp org-todo-regexp 14141 'org-todo-regexp org-todo-regexp
14125 'org-complex-heading-regexp org-complex-heading-regexp 14142 'org-complex-heading-regexp org-complex-heading-regexp
14126 'help-echo 14143 'help-echo
14127 (format "mouse-2 or RET jump to org file %s" 14144 (format "mouse-2 or RET jump to Org file %S"
14128 (abbreviate-file-name 14145 (abbreviate-file-name
14129 (or (buffer-file-name (buffer-base-buffer)) 14146 (or (buffer-file-name (buffer-base-buffer))
14130 (buffer-name (buffer-base-buffer))))))) 14147 (buffer-name (buffer-base-buffer)))))))
@@ -14320,10 +14337,12 @@ instead of the agenda files."
14320 (mapcar 14337 (mapcar
14321 (lambda (file) 14338 (lambda (file)
14322 (set-buffer (find-file-noselect file)) 14339 (set-buffer (find-file-noselect file))
14323 (mapcar (lambda (x) 14340 (org-tag-add-to-alist
14324 (and (stringp (car-safe x)) 14341 (org-get-buffer-tags)
14325 (list (car-safe x)))) 14342 (mapcar (lambda (x)
14326 (or org-current-tag-alist (org-get-buffer-tags)))) 14343 (and (stringp (car-safe x))
14344 (list (car-safe x))))
14345 org-current-tag-alist)))
14327 (if (car-safe files) files 14346 (if (car-safe files) files
14328 (org-agenda-files)))))))) 14347 (org-agenda-files))))))))
14329 14348
@@ -14350,9 +14369,9 @@ See also `org-scan-tags'."
14350 ;; Get a new match request, with completion against the global 14369 ;; Get a new match request, with completion against the global
14351 ;; tags table and the local tags in current buffer. 14370 ;; tags table and the local tags in current buffer.
14352 (let ((org-last-tags-completion-table 14371 (let ((org-last-tags-completion-table
14353 (org-uniquify 14372 (org-tag-add-to-alist
14354 (delq nil (append (org-get-buffer-tags) 14373 (org-get-buffer-tags)
14355 (org-global-tags-completion-table)))))) 14374 (org-global-tags-completion-table))))
14356 (setq match 14375 (setq match
14357 (completing-read 14376 (completing-read
14358 "Match: " 14377 "Match: "
@@ -14534,7 +14553,7 @@ When DOWNCASE is non-nil, expand downcased TAGS."
14534 (tag (match-string 2 return-match)) 14553 (tag (match-string 2 return-match))
14535 (tag (if downcased (downcase tag) tag))) 14554 (tag (if downcased (downcase tag) tag)))
14536 (unless (or (get-text-property 0 'grouptag (match-string 2 return-match)) 14555 (unless (or (get-text-property 0 'grouptag (match-string 2 return-match))
14537 (member tag work-already-expanded)) 14556 (member tag tags-already-expanded))
14538 (setq tags-in-group (assoc tag taggroups)) 14557 (setq tags-in-group (assoc tag taggroups))
14539 (push tag work-already-expanded) 14558 (push tag work-already-expanded)
14540 ;; Recursively expand each tag in the group, if the tag hasn't 14559 ;; Recursively expand each tag in the group, if the tag hasn't
@@ -14802,36 +14821,28 @@ Assume point is on a headline."
14802 (org-set-tags arg just-align)))) 14821 (org-set-tags arg just-align))))
14803 14822
14804(defun org-set-tags-to (data) 14823(defun org-set-tags-to (data)
14805 "Set the tags of the current entry to DATA, replacing the current tags. 14824 "Set the tags of the current entry to DATA, replacing current tags.
14806DATA may be a tags string like :aa:bb:cc:, or a list of tags. 14825DATA may be a tags string like \":aa:bb:cc:\", or a list of tags.
14807If DATA is nil or the empty string, any tags will be removed." 14826If DATA is nil or the empty string, all tags are removed."
14808 (interactive "sTags: ") 14827 (interactive "sTags: ")
14809 (setq data 14828 (let ((data
14810 (cond 14829 (pcase (if (stringp data) (org-trim data) data)
14811 ((eq data nil) "") 14830 ((or `nil "") nil)
14812 ((equal data "") "") 14831 ((pred listp) (format ":%s:" (mapconcat #'identity data ":")))
14813 ((stringp data) 14832 ((pred stringp)
14814 (concat ":" (mapconcat 'identity (org-split-string data ":+") ":") 14833 (format ":%s:"
14815 ":")) 14834 (mapconcat #'identity (org-split-string data ":+") ":")))
14816 ((listp data) 14835 (_ (error "Invalid tag specification: %S" data)))))
14817 (concat ":" (mapconcat 'identity data ":") ":")))) 14836 (org-with-wide-buffer
14818 (when data 14837 (org-back-to-heading t)
14819 (save-excursion 14838 (let ((case-fold-search nil)) (looking-at org-complex-heading-regexp))
14820 (org-back-to-heading t) 14839 (when (or (match-end 5) data)
14821 (when (let ((case-fold-search nil)) 14840 (goto-char (or (match-beginning 5) (line-end-position)))
14822 (looking-at org-complex-heading-regexp)) 14841 (skip-chars-backward " \t")
14823 (if (match-end 5) 14842 (delete-region (point) (line-end-position))
14824 (progn 14843 (when data
14825 (goto-char (match-beginning 5)) 14844 (insert " " data)
14826 (insert data) 14845 (org-set-tags nil 'align))))))
14827 (delete-region (point) (point-at-eol))
14828 (org-set-tags nil 'align))
14829 (goto-char (point-at-eol))
14830 (insert " " data)
14831 (org-set-tags nil 'align)))
14832 (beginning-of-line 1)
14833 (when (looking-at ".*?\\([ \t]+\\)$")
14834 (delete-region (match-beginning 1) (match-end 1))))))
14835 14846
14836(defun org-align-all-tags () 14847(defun org-align-all-tags ()
14837 "Align the tags in all headings." 14848 "Align the tags in all headings."
@@ -14874,27 +14885,16 @@ When JUST-ALIGN is non-nil, only align tags."
14874 (if just-align current 14885 (if just-align current
14875 ;; Get a new set of tags from the user. 14886 ;; Get a new set of tags from the user.
14876 (save-excursion 14887 (save-excursion
14877 (let* ((seen) 14888 (let* ((table
14878 (table
14879 (setq 14889 (setq
14880 org-last-tags-completion-table 14890 org-last-tags-completion-table
14881 ;; Uniquify tags in alists, yet preserve 14891 (org-tag-add-to-alist
14882 ;; structure (i.e., keywords). 14892 (and
14883 (delq nil 14893 org-complete-tags-always-offer-all-agenda-tags
14884 (mapcar 14894 (org-global-tags-completion-table
14885 (lambda (pair) 14895 (org-agenda-files)))
14886 (let ((head (car pair))) 14896 (or org-current-tag-alist
14887 (cond ((symbolp head) pair) 14897 (org-get-buffer-tags)))))
14888 ((member head seen) nil)
14889 (t (push head seen)
14890 pair))))
14891 (append
14892 (or org-current-tag-alist
14893 (org-get-buffer-tags))
14894 (and
14895 org-complete-tags-always-offer-all-agenda-tags
14896 (org-global-tags-completion-table
14897 (org-agenda-files))))))))
14898 (current-tags (org-split-string current ":")) 14898 (current-tags (org-split-string current ":"))
14899 (inherited-tags 14899 (inherited-tags
14900 (nreverse (nthcdr (length current-tags) 14900 (nreverse (nthcdr (length current-tags)
@@ -14973,9 +14973,9 @@ This works in the agenda, and also in an Org buffer."
14973 (list (region-beginning) (region-end) 14973 (list (region-beginning) (region-end)
14974 (let ((org-last-tags-completion-table 14974 (let ((org-last-tags-completion-table
14975 (if (derived-mode-p 'org-mode) 14975 (if (derived-mode-p 'org-mode)
14976 (org-uniquify 14976 (org-tag-add-to-alist
14977 (delq nil (append (org-get-buffer-tags) 14977 (org-get-buffer-tags)
14978 (org-global-tags-completion-table)))) 14978 (org-global-tags-completion-table))
14979 (org-global-tags-completion-table)))) 14979 (org-global-tags-completion-table))))
14980 (completing-read 14980 (completing-read
14981 "Tag: " 'org-tags-completion-function nil nil nil 14981 "Tag: " 'org-tags-completion-function nil nil nil
@@ -16510,7 +16510,7 @@ a priority cookie and tags in the standard locations."
16510 (move-marker (make-marker) (match-beginning 0)))))))) 16510 (move-marker (make-marker) (match-beginning 0))))))))
16511 16511
16512(defun org-find-exact-heading-in-directory (heading &optional dir) 16512(defun org-find-exact-heading-in-directory (heading &optional dir)
16513 "Find Org node headline HEADING in all .org files in directory DIR. 16513 "Find Org node headline HEADING in all \".org\" files in directory DIR.
16514When the target headline is found, return a marker to this location." 16514When the target headline is found, return a marker to this location."
16515 (let ((files (directory-files (or dir default-directory) 16515 (let ((files (directory-files (or dir default-directory)
16516 t "\\`[^.#].*\\.org\\'")) 16516 t "\\`[^.#].*\\.org\\'"))
@@ -16633,10 +16633,18 @@ non-nil."
16633 16633
16634(defun org-time-stamp-inactive (&optional arg) 16634(defun org-time-stamp-inactive (&optional arg)
16635 "Insert an inactive time stamp. 16635 "Insert an inactive time stamp.
16636
16636An inactive time stamp is enclosed in square brackets instead of angle 16637An inactive time stamp is enclosed in square brackets instead of angle
16637brackets. It is inactive in the sense that it does not trigger agenda entries, 16638brackets. It is inactive in the sense that it does not trigger agenda entries,
16638does not link to the calendar and cannot be changed with the S-cursor keys. 16639does not link to the calendar and cannot be changed with the S-cursor keys.
16639So these are more for recording a certain time/date." 16640So these are more for recording a certain time/date.
16641
16642If the user specifies a time like HH:MM or if this command is called with
16643at least one prefix argument, the time stamp contains the date and the time.
16644Otherwise, only the date is included.
16645
16646When called with two universal prefix arguments, insert an active time stamp
16647with the current time without prompting the user."
16640 (interactive "P") 16648 (interactive "P")
16641 (org-time-stamp arg 'inactive)) 16649 (org-time-stamp arg 'inactive))
16642 16650
@@ -18230,7 +18238,7 @@ Prompt for confirmation when there are unsaved changes.
18230Be sure you know what you are doing before letting this function 18238Be sure you know what you are doing before letting this function
18231overwrite your changes. 18239overwrite your changes.
18232 18240
18233This function is useful in a setup where one tracks org files 18241This function is useful in a setup where one tracks Org files
18234with a version control system, to revert on one machine after pulling 18242with a version control system, to revert on one machine after pulling
18235changes from another. I believe the procedure must be like this: 18243changes from another. I believe the procedure must be like this:
18236 18244
@@ -18552,9 +18560,9 @@ When a buffer is unmodified, it is just killed. When modified, it is saved
18552 (setq org-todo-keyword-alist-for-agenda 18560 (setq org-todo-keyword-alist-for-agenda
18553 (append org-todo-keyword-alist-for-agenda org-todo-key-alist)) 18561 (append org-todo-keyword-alist-for-agenda org-todo-key-alist))
18554 (setq org-tag-alist-for-agenda 18562 (setq org-tag-alist-for-agenda
18555 (org-uniquify 18563 (org-tag-add-to-alist
18556 (append org-tag-alist-for-agenda 18564 org-tag-alist-for-agenda
18557 org-current-tag-alist))) 18565 org-current-tag-alist))
18558 ;; Merge current file's tag groups into global 18566 ;; Merge current file's tag groups into global
18559 ;; `org-tag-groups-alist-for-agenda'. 18567 ;; `org-tag-groups-alist-for-agenda'.
18560 (when org-group-tags 18568 (when org-group-tags
@@ -20988,9 +20996,12 @@ Use `\\[org-edit-special]' to edit table.el tables"))
20988 "Abort storing current note, or call `outline-show-branches'." 20996 "Abort storing current note, or call `outline-show-branches'."
20989 (interactive) 20997 (interactive)
20990 (if (not org-finish-function) 20998 (if (not org-finish-function)
20991 (progn 20999 (save-excursion
20992 (outline-hide-subtree) 21000 (save-restriction
20993 (call-interactively 'outline-show-branches)) 21001 (org-narrow-to-subtree)
21002 (org-flag-subtree t)
21003 (call-interactively 'outline-show-branches)
21004 (org-hide-archived-subtrees (point-min) (point-max))))
20994 (let ((org-note-abort t)) 21005 (let ((org-note-abort t))
20995 (funcall org-finish-function)))) 21006 (funcall org-finish-function))))
20996 21007
@@ -21104,7 +21115,13 @@ object (e.g., within a comment). In these case, you need to use
21104 (delete-and-extract-region (point) (line-end-position)))) 21115 (delete-and-extract-region (point) (line-end-position))))
21105 (newline-and-indent) 21116 (newline-and-indent)
21106 (save-excursion (insert trailing-data)))) 21117 (save-excursion (insert trailing-data))))
21107 (t (if indent (newline-and-indent) (newline)))))) 21118 (t
21119 ;; Do not auto-fill when point is in an Org property drawer.
21120 (let ((auto-fill-function (and (not (org-at-property-p))
21121 auto-fill-function)))
21122 (if indent
21123 (newline-and-indent)
21124 (newline)))))))
21108 21125
21109(defun org-return-indent () 21126(defun org-return-indent ()
21110 "Goto next table row or insert a newline and indent. 21127 "Goto next table row or insert a newline and indent.
@@ -21573,7 +21590,7 @@ such private information before sending the email.")
21573 "Remember to cover the basics, that is, what you expected to happen and 21590 "Remember to cover the basics, that is, what you expected to happen and
21574what in fact did happen. You don't know how to make a good report? See 21591what in fact did happen. You don't know how to make a good report? See
21575 21592
21576 http://orgmode.org/manual/Feedback.html#Feedback 21593 https://orgmode.org/manual/Feedback.html#Feedback
21577 21594
21578Your bug report will be posted to the Org mailing list. 21595Your bug report will be posted to the Org mailing list.
21579------------------------------------------------------------------------") 21596------------------------------------------------------------------------")
@@ -21613,7 +21630,7 @@ Your bug report will be posted to the Org mailing list.
21613 21630
21614;;;###autoload 21631;;;###autoload
21615(defun org-reload (&optional uncompiled) 21632(defun org-reload (&optional uncompiled)
21616 "Reload all org lisp files. 21633 "Reload all Org Lisp files.
21617With prefix arg UNCOMPILED, load the uncompiled versions." 21634With prefix arg UNCOMPILED, load the uncompiled versions."
21618 (interactive "P") 21635 (interactive "P")
21619 (require 'loadhist) 21636 (require 'loadhist)
diff --git a/lisp/org/ox-html.el b/lisp/org/ox-html.el
index 83f6479bd4a..39f7d83e14a 100644
--- a/lisp/org/ox-html.el
+++ b/lisp/org/ox-html.el
@@ -465,7 +465,7 @@ customize `org-html-head-include-default-style'.")
465;;;; Handle infojs 465;;;; Handle infojs
466 466
467(defvar org-html-infojs-opts-table 467(defvar org-html-infojs-opts-table
468 '((path PATH "http://orgmode.org/org-info.js") 468 '((path PATH "https://orgmode.org/org-info.js")
469 (view VIEW "info") 469 (view VIEW "info")
470 (toc TOC :with-toc) 470 (toc TOC :with-toc)
471 (ftoc FIXED_TOC "0") 471 (ftoc FIXED_TOC "0")
@@ -1324,7 +1324,7 @@ like that: \"%%\"."
1324 :type 'string) 1324 :type 'string)
1325 1325
1326(defcustom org-html-creator-string 1326(defcustom org-html-creator-string
1327 (format "<a href=\"https://www.gnu.org/software/emacs/\">Emacs</a> %s (<a href=\"http://orgmode.org\">Org</a> mode %s)" 1327 (format "<a href=\"https://www.gnu.org/software/emacs/\">Emacs</a> %s (<a href=\"https://orgmode.org\">Org</a> mode %s)"
1328 emacs-version 1328 emacs-version
1329 (if (fboundp 'org-version) (org-version) "unknown version")) 1329 (if (fboundp 'org-version) (org-version) "unknown version"))
1330 "Information about the creator of the HTML document. 1330 "Information about the creator of the HTML document.
@@ -1452,13 +1452,13 @@ done, timestamp, timestamp-kwd, tag, target.
1452For example, a valid value would be: 1452For example, a valid value would be:
1453 1453
1454 <style type=\"text/css\"> 1454 <style type=\"text/css\">
1455 <![CDATA[ 1455 /*<![CDATA[*/
1456 p { font-weight: normal; color: gray; } 1456 p { font-weight: normal; color: gray; }
1457 h1 { color: black; } 1457 h1 { color: black; }
1458 .title { text-align: center; } 1458 .title { text-align: center; }
1459 .todo, .timestamp-kwd { color: red; } 1459 .todo, .timestamp-kwd { color: red; }
1460 .done { color: green; } 1460 .done { color: green; }
1461 ]]> 1461 /*]]>*/
1462 </style> 1462 </style>
1463 1463
1464If you want to refer to an external style, use something like 1464If you want to refer to an external style, use something like
diff --git a/lisp/org/ox-icalendar.el b/lisp/org/ox-icalendar.el
index a87970eb3fd..7d7c8500472 100644
--- a/lisp/org/ox-icalendar.el
+++ b/lisp/org/ox-icalendar.el
@@ -5,7 +5,7 @@
5;; Author: Carsten Dominik <carsten at orgmode dot org> 5;; Author: Carsten Dominik <carsten at orgmode dot org>
6;; Nicolas Goaziou <n dot goaziou at gmail dot com> 6;; Nicolas Goaziou <n dot goaziou at gmail dot com>
7;; Keywords: outlines, hypermedia, calendar, wp 7;; Keywords: outlines, hypermedia, calendar, wp
8;; Homepage: http://orgmode.org 8;; Homepage: https://orgmode.org
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
diff --git a/lisp/org/ox-latex.el b/lisp/org/ox-latex.el
index c32aa298047..5aaaf991fde 100644
--- a/lisp/org/ox-latex.el
+++ b/lisp/org/ox-latex.el
@@ -920,15 +920,14 @@ using customize, or with
920 (add-to-list \\='org-latex-packages-alist \\='(\"newfloat\" \"minted\")) 920 (add-to-list \\='org-latex-packages-alist \\='(\"newfloat\" \"minted\"))
921 921
922In addition, it is necessary to install pygments 922In addition, it is necessary to install pygments
923\(http://pygments.org), and to configure the variable 923\(URL `http://pygments.org>'), and to configure the variable
924`org-latex-pdf-process' so that the -shell-escape option is 924`org-latex-pdf-process' so that the -shell-escape option is
925passed to pdflatex. 925passed to pdflatex.
926 926
927The minted choice has possible repercussions on the preview of 927The minted choice has possible repercussions on the preview of
928latex fragments (see `org-preview-latex-fragment'). If you run 928latex fragments (see `org-preview-latex-fragment'). If you run
929into previewing problems, please consult 929into previewing problems, please consult
930 930URL `https://orgmode.org/worg/org-tutorials/org-latex-preview.html'."
931 http://orgmode.org/worg/org-tutorials/org-latex-preview.html"
932 :group 'org-export-latex 931 :group 'org-export-latex
933 :type '(choice 932 :type '(choice
934 (const :tag "Use listings" t) 933 (const :tag "Use listings" t)
@@ -1719,7 +1718,7 @@ holding export options."
1719 ;; Table of contents. 1718 ;; Table of contents.
1720 (let ((depth (plist-get info :with-toc))) 1719 (let ((depth (plist-get info :with-toc)))
1721 (when depth 1720 (when depth
1722 (concat (when (wholenump depth) 1721 (concat (when (integerp depth)
1723 (format "\\setcounter{tocdepth}{%d}\n" depth)) 1722 (format "\\setcounter{tocdepth}{%d}\n" depth))
1724 (plist-get info :latex-toc-command)))) 1723 (plist-get info :latex-toc-command))))
1725 ;; Document's body. 1724 ;; Document's body.
diff --git a/lisp/org/ox-odt.el b/lisp/org/ox-odt.el
index cdee568fc81..a1145a9821c 100644
--- a/lisp/org/ox-odt.el
+++ b/lisp/org/ox-odt.el
@@ -4,7 +4,7 @@
4 4
5;; Author: Jambunathan K <kjambunathan at gmail dot com> 5;; Author: Jambunathan K <kjambunathan at gmail dot com>
6;; Keywords: outlines, hypermedia, calendar, wp 6;; Keywords: outlines, hypermedia, calendar, wp
7;; Homepage: http://orgmode.org 7;; Homepage: https://orgmode.org
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
10 10
diff --git a/lisp/org/ox-publish.el b/lisp/org/ox-publish.el
index 5deb7c54e71..8901dba34cf 100644
--- a/lisp/org/ox-publish.el
+++ b/lisp/org/ox-publish.el
@@ -405,11 +405,9 @@ definition."
405(defun org-publish--expand-file-name (file project) 405(defun org-publish--expand-file-name (file project)
406 "Return full file name for FILE in PROJECT. 406 "Return full file name for FILE in PROJECT.
407When FILE is a relative file name, it is expanded according to 407When FILE is a relative file name, it is expanded according to
408project base directory. Always return the true name of the file, 408project base directory."
409ignoring symlinks." 409 (if (file-name-absolute-p file) file
410 (file-truename 410 (expand-file-name file (org-publish-property :base-directory project))))
411 (if (file-name-absolute-p file) file
412 (expand-file-name file (org-publish-property :base-directory project)))))
413 411
414(defun org-publish-expand-projects (projects-alist) 412(defun org-publish-expand-projects (projects-alist)
415 "Expand projects in PROJECTS-ALIST. 413 "Expand projects in PROJECTS-ALIST.
@@ -436,10 +434,32 @@ This splices all the components into the list."
436 (match (if (eq extension 'any) "" 434 (match (if (eq extension 'any) ""
437 (format "^[^\\.].*\\.\\(%s\\)$" extension))) 435 (format "^[^\\.].*\\.\\(%s\\)$" extension)))
438 (base-files 436 (base-files
439 (cl-remove-if #'file-directory-p 437 (cond ((not (file-exists-p base-dir)) nil)
440 (if (org-publish-property :recursive project) 438 ((not (org-publish-property :recursive project))
441 (directory-files-recursively base-dir match) 439 (cl-remove-if #'file-directory-p
442 (directory-files base-dir t match t))))) 440 (directory-files base-dir t match t)))
441 (t
442 ;; Find all files recursively. Unlike to
443 ;; `directory-files-recursively', we follow symlinks
444 ;; to other directories.
445 (letrec ((files nil)
446 (walk-tree
447 (lambda (dir depth)
448 (when (> depth 100)
449 (error "Apparent cycle of symbolic links for %S"
450 base-dir))
451 (dolist (f (file-name-all-completions "" dir))
452 (pcase f
453 ((or "./" "../") nil)
454 ((pred directory-name-p)
455 (funcall walk-tree
456 (expand-file-name f dir)
457 (1+ depth)))
458 ((pred (string-match match))
459 (push (expand-file-name f dir) files))
460 (_ nil)))
461 files)))
462 (funcall walk-tree base-dir 0))))))
443 (org-uniquify 463 (org-uniquify
444 (append 464 (append
445 ;; Files from BASE-DIR. Apply exclusion filter before adding 465 ;; Files from BASE-DIR. Apply exclusion filter before adding
@@ -468,13 +488,13 @@ This splices all the components into the list."
468 "Return a project that FILENAME belongs to. 488 "Return a project that FILENAME belongs to.
469When UP is non-nil, return a meta-project (i.e., with a :components part) 489When UP is non-nil, return a meta-project (i.e., with a :components part)
470publishing FILENAME." 490publishing FILENAME."
471 (let* ((filename (file-truename filename)) 491 (let* ((filename (expand-file-name filename))
472 (project 492 (project
473 (cl-some 493 (cl-some
474 (lambda (p) 494 (lambda (p)
475 ;; Ignore meta-projects. 495 ;; Ignore meta-projects.
476 (unless (org-publish-property :components p) 496 (unless (org-publish-property :components p)
477 (let ((base (file-truename 497 (let ((base (expand-file-name
478 (org-publish-property :base-directory p)))) 498 (org-publish-property :base-directory p))))
479 (cond 499 (cond
480 ;; Check if FILENAME is explicitly included in one 500 ;; Check if FILENAME is explicitly included in one
@@ -499,9 +519,7 @@ publishing FILENAME."
499 ;; Check if FILENAME belong to project's base 519 ;; Check if FILENAME belong to project's base
500 ;; directory, or some of its sub-directories 520 ;; directory, or some of its sub-directories
501 ;; if :recursive in non-nil. 521 ;; if :recursive in non-nil.
502 ((org-publish-property :recursive p) 522 ((member filename (org-publish-get-base-files p)) p)
503 (and (file-in-directory-p filename base) p))
504 ((file-equal-p base (file-name-directory filename)) p)
505 (t nil))))) 523 (t nil)))))
506 org-publish-project-alist))) 524 org-publish-project-alist)))
507 (cond 525 (cond
@@ -1260,25 +1278,21 @@ the file including them will be republished as well."
1260 (with-current-buffer buf 1278 (with-current-buffer buf
1261 (goto-char (point-min)) 1279 (goto-char (point-min))
1262 (while (re-search-forward "^[ \t]*#\\+INCLUDE:" nil t) 1280 (while (re-search-forward "^[ \t]*#\\+INCLUDE:" nil t)
1263 (let* ((element (org-element-at-point)) 1281 (let ((element (org-element-at-point)))
1264 (included-file 1282 (when (eq 'keyword (org-element-type element))
1265 (and (eq (org-element-type element) 'keyword) 1283 (let* ((value (org-element-property :value element))
1266 (let ((value (org-element-property :value element))) 1284 (filename
1267 (and value 1285 (and (string-match "\\`\\(\".+?\"\\|\\S-+\\)" value)
1268 (string-match 1286 (let ((m (org-unbracket-string
1269 "\\`\\(\".+?\"\\|\\S-+\\)\\(?:\\s-+\\|$\\)" 1287 "\"" "\"" (match-string 1 value))))
1270 value) 1288 ;; Ignore search suffix.
1271 (let ((m (match-string 1 value))) 1289 (if (string-match "::.*?\\'" m)
1272 (org-unbracket-string 1290 (substring m 0 (match-beginning 0))
1273 "\"" "\"" 1291 m)))))
1274 ;; Ignore search suffix. 1292 (when filename
1275 (if (string-match "::.*?\"?\\'" m) 1293 (push (org-publish-cache-ctime-of-src
1276 (substring m 0 (match-beginning 0)) 1294 (expand-file-name filename))
1277 m)))))))) 1295 included-files-ctime)))))))
1278 (when included-file
1279 (push (org-publish-cache-ctime-of-src
1280 (expand-file-name included-file))
1281 included-files-ctime)))))
1282 (unless visiting (kill-buffer buf))))) 1296 (unless visiting (kill-buffer buf)))))
1283 (or (null pstamp) 1297 (or (null pstamp)
1284 (let ((ctime (org-publish-cache-ctime-of-src filename))) 1298 (let ((ctime (org-publish-cache-ctime-of-src filename)))
diff --git a/lisp/org/ox.el b/lisp/org/ox.el
index 7bdac4f290d..ea7d1dc81f0 100644
--- a/lisp/org/ox.el
+++ b/lisp/org/ox.el
@@ -66,7 +66,7 @@
66;; Eventually, a dispatcher (`org-export-dispatch') is provided in the 66;; Eventually, a dispatcher (`org-export-dispatch') is provided in the
67;; last one. 67;; last one.
68;; 68;;
69;; See <http://orgmode.org/worg/dev/org-export-reference.html> for 69;; See <https://orgmode.org/worg/dev/org-export-reference.html> for
70;; more information. 70;; more information.
71 71
72;;; Code: 72;;; Code:
@@ -714,12 +714,15 @@ frequently in plain text."
714(defcustom org-export-with-toc t 714(defcustom org-export-with-toc t
715 "Non-nil means create a table of contents in exported files. 715 "Non-nil means create a table of contents in exported files.
716 716
717The TOC contains headlines with levels up 717The table of contents contains headlines with levels up to
718to`org-export-headline-levels'. When an integer, include levels 718`org-export-headline-levels'.
719up to N in the toc, this may then be different from 719
720`org-export-headline-levels', but it will not be allowed to be 720When this variable is set to an integer N, include levels up to
721larger than the number of headline levels. When nil, no table of 721N in the table of contents. Although it may then be different
722contents is made. 722from `org-export-headline-levels', it is cannot be larger than
723the number of headline levels.
724
725When nil, no table of contents is created.
723 726
724This option can also be set with the OPTIONS keyword, 727This option can also be set with the OPTIONS keyword,
725e.g. \"toc:nil\" or \"toc:3\"." 728e.g. \"toc:nil\" or \"toc:3\"."
@@ -728,8 +731,9 @@ e.g. \"toc:nil\" or \"toc:3\"."
728 (const :tag "No Table of Contents" nil) 731 (const :tag "No Table of Contents" nil)
729 (const :tag "Full Table of Contents" t) 732 (const :tag "Full Table of Contents" t)
730 (integer :tag "TOC to level")) 733 (integer :tag "TOC to level"))
731 :safe (lambda (x) (or (booleanp x) 734 :safe (lambda (x)
732 (integerp x)))) 735 (or (booleanp x)
736 (integerp x))))
733 737
734(defcustom org-export-with-tables t 738(defcustom org-export-with-tables t
735 "Non-nil means export tables. 739 "Non-nil means export tables.
@@ -1777,7 +1781,8 @@ for a footnotes section."
1777 "List headlines and inlinetasks with a select tag in their tree. 1781 "List headlines and inlinetasks with a select tag in their tree.
1778DATA is parsed data as returned by `org-element-parse-buffer'. 1782DATA is parsed data as returned by `org-element-parse-buffer'.
1779INFO is a plist holding export options." 1783INFO is a plist holding export options."
1780 (let ((select (plist-get info :select-tags))) 1784 (let ((select (cl-mapcan (lambda (tag) (org-tags-expand tag t))
1785 (plist-get info :select-tags))))
1781 (if (cl-some (lambda (tag) (member tag select)) (plist-get info :filetags)) 1786 (if (cl-some (lambda (tag) (member tag select)) (plist-get info :filetags))
1782 ;; If FILETAGS contains a select tag, every headline or 1787 ;; If FILETAGS contains a select tag, every headline or
1783 ;; inlinetask is returned. 1788 ;; inlinetask is returned.
@@ -1811,11 +1816,13 @@ INFO is a plist holding export options."
1811 (funcall walk-data data nil) 1816 (funcall walk-data data nil)
1812 selected-trees)))) 1817 selected-trees))))
1813 1818
1814(defun org-export--skip-p (datum options selected) 1819(defun org-export--skip-p (datum options selected excluded)
1815 "Non-nil when element or object DATUM should be skipped during export. 1820 "Non-nil when element or object DATUM should be skipped during export.
1816OPTIONS is the plist holding export options. SELECTED, when 1821OPTIONS is the plist holding export options. SELECTED, when
1817non-nil, is a list of headlines or inlinetasks belonging to 1822non-nil, is a list of headlines or inlinetasks belonging to
1818a tree with a select tag." 1823a tree with a select tag. EXCLUDED is a list of tags, as
1824strings. Any headline or inlinetask marked with one of those is
1825not exported."
1819 (cl-case (org-element-type datum) 1826 (cl-case (org-element-type datum)
1820 ((comment comment-block) 1827 ((comment comment-block)
1821 ;; Skip all comments and comment blocks. Make to keep maximum 1828 ;; Skip all comments and comment blocks. Make to keep maximum
@@ -1854,8 +1861,7 @@ a tree with a select tag."
1854 (and (eq (org-element-type datum) 'inlinetask) 1861 (and (eq (org-element-type datum) 'inlinetask)
1855 (not (plist-get options :with-inlinetasks))) 1862 (not (plist-get options :with-inlinetasks)))
1856 ;; Ignore subtrees with an exclude tag. 1863 ;; Ignore subtrees with an exclude tag.
1857 (cl-loop for k in (plist-get options :exclude-tags) 1864 (cl-some (lambda (tag) (member tag excluded)) tags)
1858 thereis (member k tags))
1859 ;; When a select tag is present in the buffer, ignore any tree 1865 ;; When a select tag is present in the buffer, ignore any tree
1860 ;; without it. 1866 ;; without it.
1861 (and selected (not (memq datum selected))) 1867 (and selected (not (memq datum selected)))
@@ -2709,6 +2715,9 @@ from tree."
2709 (letrec ((ignore nil) 2715 (letrec ((ignore nil)
2710 ;; First find trees containing a select tag, if any. 2716 ;; First find trees containing a select tag, if any.
2711 (selected (org-export--selected-trees data info)) 2717 (selected (org-export--selected-trees data info))
2718 ;; List tags that prevent export of headlines.
2719 (excluded (cl-mapcan (lambda (tag) (org-tags-expand tag t))
2720 (plist-get info :exclude-tags)))
2712 (walk-data 2721 (walk-data
2713 (lambda (data) 2722 (lambda (data)
2714 ;; Prune non-exportable elements and objects from tree. 2723 ;; Prune non-exportable elements and objects from tree.
@@ -2717,7 +2726,7 @@ from tree."
2717 ;; accessed during export. 2726 ;; accessed during export.
2718 (when data 2727 (when data
2719 (let ((type (org-element-type data))) 2728 (let ((type (org-element-type data)))
2720 (if (org-export--skip-p data info selected) 2729 (if (org-export--skip-p data info selected excluded)
2721 (if (memq type '(table-cell table-row)) (push data ignore) 2730 (if (memq type '(table-cell table-row)) (push data ignore)
2722 (org-element-extract-element data)) 2731 (org-element-extract-element data))
2723 (if (and (eq type 'headline) 2732 (if (and (eq type 'headline)
@@ -4264,7 +4273,7 @@ A search cell follows the pattern (TYPE . SEARCH) where
4264 - target's or radio-target's name as a list of strings if 4273 - target's or radio-target's name as a list of strings if
4265 TYPE is `target'. 4274 TYPE is `target'.
4266 4275
4267 - NAME affiliated keyword is TYPE is `other'. 4276 - NAME affiliated keyword if TYPE is `other'.
4268 4277
4269A search cell is the internal representation of a fuzzy link. It 4278A search cell is the internal representation of a fuzzy link. It
4270ignores white spaces and statistics cookies, if applicable." 4279ignores white spaces and statistics cookies, if applicable."