Update Org to v9.1.9

Please note this is a bugfix release. See etc/ORG-NEWS for details.
This commit is contained in:
Rasmus 2018-03-27 23:34:41 +02:00
parent 1b075a9e38
commit 613c9a5c1f
106 changed files with 659 additions and 647 deletions

View file

@ -4,11 +4,11 @@
@settitle The Org Manual @settitle The Org Manual
@include docstyle.texi @include docstyle.texi
@set VERSION 9.1.6 @set VERSION 9.1.9
@set DATE 2018-01-03 @set DATE 2018-03-22
@c Version and Contact Info @c Version and Contact Info
@set MAINTAINERSITE @uref{http://orgmode.org,maintainers web page} @set MAINTAINERSITE @uref{https://orgmode.org,maintainers web page}
@set AUTHOR Carsten Dominik @set AUTHOR Carsten Dominik
@set MAINTAINER Carsten Dominik @set MAINTAINER Carsten Dominik
@set MAINTAINEREMAIL @email{carsten at orgmode dot org} @set MAINTAINEREMAIL @email{carsten at orgmode dot org}
@ -856,7 +856,7 @@ platform.
There is a website for Org which provides links to the newest There is a website for Org which provides links to the newest
version of Org, as well as additional information, frequently asked version of Org, as well as additional information, frequently asked
questions (FAQ), links to tutorials, etc. This page is located at questions (FAQ), links to tutorials, etc. This page is located at
@uref{http://orgmode.org}. @uref{https://orgmode.org}.
@cindex print edition @cindex print edition
An earlier version (7.3) of this manual is available as a An earlier version (7.3) of this manual is available as a
@ -894,11 +894,11 @@ Otherwise autoload Org functions will mess up the installation.
Then, to make sure your Org configuration is taken into account, initialize Then, to make sure your Org configuration is taken into account, initialize
the package system with @code{(package-initialize)} in your Emacs init file the package system with @code{(package-initialize)} in your Emacs init file
before setting any Org option. If you want to use Org's package repository, before setting any Org option. If you want to use Org's package repository,
check out the @uref{http://orgmode.org/elpa.html, Org ELPA page}. check out the @uref{https://orgmode.org/elpa.html, Org ELPA page}.
@subsubheading Downloading Org as an archive @subsubheading Downloading Org as an archive
You can download Org latest release from @uref{http://orgmode.org/, Org's You can download Org latest release from @uref{https://orgmode.org/, Org's
website}. In this case, make sure you set the load-path correctly in your website}. In this case, make sure you set the load-path correctly in your
Emacs init file: Emacs init file:
@ -923,7 +923,7 @@ You can clone Org's repository and install Org like this:
@example @example
$ cd ~/src/ $ cd ~/src/
$ git clone git://orgmode.org/org-mode.git $ git clone https://code.orgmode.org/bzg/org-mode.git
$ make autoloads $ make autoloads
@end example @end example
@ -939,7 +939,7 @@ install Org with @code{make install}. Please run @code{make help} to get
the list of compilation/installation options. the list of compilation/installation options.
For more detailed explanations on Org's build system, please check the Org For more detailed explanations on Org's build system, please check the Org
Build System page on @uref{http://orgmode.org/worg/dev/org-build-system.html, Build System page on @uref{https://orgmode.org/worg/dev/org-build-system.html,
Worg}. Worg}.
@node Activation @node Activation
@ -952,7 +952,7 @@ Worg}.
@findex org-agenda @findex org-agenda
@findex org-capture @findex org-capture
@findex org-store-link @findex org-store-link
@findex org-iswitchb @findex org-switchb
Org mode buffers need font-lock to be turned on: this is the default in Org mode buffers need font-lock to be turned on: this is the default in
Emacs@footnote{If you don't use font-lock globally, turn it on in Org buffer Emacs@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
packages, please take the time to check the list (@pxref{Conflicts}). packages, please take the time to check the list (@pxref{Conflicts}).
The four Org commands @command{org-store-link}, @command{org-capture}, The four Org commands @command{org-store-link}, @command{org-capture},
@command{org-agenda}, and @command{org-iswitchb} should be accessible through @command{org-agenda}, and @command{org-switchb} should be accessible through
global keys (i.e., anywhere in Emacs, not just in Org buffers). Here are global keys (i.e., anywhere in Emacs, not just in Org buffers). Here are
suggested bindings for these keys, please modify the keys to your own suggested bindings for these keys, please modify the keys to your own
liking. liking.
@ -970,7 +970,7 @@ liking.
(global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cc" 'org-capture) (global-set-key "\C-cc" 'org-capture)
(global-set-key "\C-cb" 'org-iswitchb) (global-set-key "\C-cb" 'org-switchb)
@end lisp @end lisp
@cindex Org mode, turning on @cindex Org mode, turning on
@ -1902,7 +1902,7 @@ marker in square brackets, inside text. Markers always start with
@example @example
The Org homepage[fn:1] now looks a lot better than it used to. The Org homepage[fn:1] now looks a lot better than it used to.
... ...
[fn:1] The link is: http://orgmode.org [fn:1] The link is: https://orgmode.org
@end example @end example
Org mode extends the number-based syntax to @emph{named} footnotes and Org mode extends the number-based syntax to @emph{named} footnotes and
@ -2032,7 +2032,7 @@ prefix is set, but folding/unfolding will work correctly.
@cindex Org syntax @cindex Org syntax
A reference document providing a formal description of Org's syntax is A reference document providing a formal description of Org's syntax is
available as @uref{http://orgmode.org/worg/dev/org-syntax.html, a draft on available as @uref{https://orgmode.org/worg/dev/org-syntax.html, a draft on
Worg}, written and maintained by Nicolas Goaziou. It defines Org's core Worg}, written and maintained by Nicolas Goaziou. It defines Org's core
internal concepts such as @code{headlines}, @code{sections}, @code{affiliated internal concepts such as @code{headlines}, @code{sections}, @code{affiliated
keywords}, @code{(greater) elements} and @code{objects}. Each part of an Org keywords}, @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
detailed description. detailed description.
@end table @end table
If you don't like the automatic table editor because it gets in your
way on lines which you would like to start with @samp{|}, you can turn
it off with
@lisp
(setq org-enable-table-editor nil)
@end lisp
@noindent Then the only table command that still works is
@kbd{C-c C-c} to do a manual re-align.
@node Column width and alignment @node Column width and alignment
@section Column width and alignment @section Column width and alignment
@cindex narrow columns in tables @cindex narrow columns in tables
@ -2950,7 +2939,7 @@ element of @code{R-LIST}.
These three functions can be used to implement associative arrays, count These three functions can be used to implement associative arrays, count
matching cells, rank results, group data etc. For practical examples matching cells, rank results, group data etc. For practical examples
see @uref{http://orgmode.org/worg/org-tutorials/org-lookups.html, this see @uref{https://orgmode.org/worg/org-tutorials/org-lookups.html, this
tutorial on Worg}. tutorial on Worg}.
@node Editing and debugging formulas @node Editing and debugging formulas
@ -3284,7 +3273,7 @@ Further control over the labels, type, content, and appearance of plots can
be exercised through the @code{#+PLOT:} lines preceding a table. See below be exercised through the @code{#+PLOT:} lines preceding a table. See below
for a complete list of Org-plot options. The @code{#+PLOT:} lines are for a complete list of Org-plot options. The @code{#+PLOT:} lines are
optional. For more information and examples see the Org-plot tutorial at optional. For more information and examples see the Org-plot tutorial at
@uref{http://orgmode.org/worg/org-tutorials/org-plot.html}. @uref{https://orgmode.org/worg/org-tutorials/org-plot.html}.
@subsubheading Plot Options @subsubheading Plot Options
@ -5835,7 +5824,7 @@ An alternative way to capture and process property values into a table is
provided by Eric Schulte's @file{org-collector.el} which is a contributed provided by Eric Schulte's @file{org-collector.el} which is a contributed
package@footnote{Contributed packages are not part of Emacs, but are package@footnote{Contributed packages are not part of Emacs, but are
distributed with the main distribution of Org (visit distributed with the main distribution of Org (visit
@uref{http://orgmode.org}).}. It provides a general API to collect @uref{https://orgmode.org}).}. It provides a general API to collect
properties from entries in a certain scope, and arbitrary Lisp expressions to properties from entries in a certain scope, and arbitrary Lisp expressions to
process these values before inserting them into a table or a dynamic block. process these values before inserting them into a table or a dynamic block.
@ -7062,6 +7051,7 @@ through the customize interface.
@table @kbd @table @kbd
@orgkey{C-c c C} @orgkey{C-c c C}
@vindex org-capture-templates
Customize the variable @code{org-capture-templates}. Customize the variable @code{org-capture-templates}.
@end table @end table
@ -7657,13 +7647,13 @@ The variable @code{org-protocol-project-alist} maps URLs to local file names,
by stripping URL parameters from the end and replacing the @code{:base-url} by stripping URL parameters from the end and replacing the @code{:base-url}
with @code{:working-directory} and @code{:online-suffix} with with @code{:working-directory} and @code{:online-suffix} with
@code{:working-suffix}. For example, assuming you own a local copy of @code{:working-suffix}. For example, assuming you own a local copy of
@url{http://orgmode.org/worg/} contents at @file{/home/user/worg}, you can @url{https://orgmode.org/worg/} contents at @file{/home/user/worg}, you can
set @code{org-protocol-project-alist} to the following set @code{org-protocol-project-alist} to the following
@lisp @lisp
(setq org-protocol-project-alist (setq org-protocol-project-alist
'(("Worg" '(("Worg"
:base-url "http://orgmode.org/worg/" :base-url "https://orgmode.org/worg/"
:working-directory "/home/user/worg/" :working-directory "/home/user/worg/"
:online-suffix ".html" :online-suffix ".html"
:working-suffix ".org"))) :working-suffix ".org")))
@ -7671,7 +7661,7 @@ set @code{org-protocol-project-alist} to the following
@noindent @noindent
If you are now browsing If you are now browsing
@url{http://orgmode.org/worg/org-contrib/org-protocol.html} and find a typo @url{https://orgmode.org/worg/org-contrib/org-protocol.html} and find a typo
or have an idea about how to enhance the documentation, simply click the or have an idea about how to enhance the documentation, simply click the
bookmark and start editing. bookmark and start editing.
@ -8024,7 +8014,7 @@ Remove current file from the list of agenda files.
@orgcmd{C-',org-cycle-agenda-files} @orgcmd{C-',org-cycle-agenda-files}
@itemx C-, @itemx C-,
Cycle through agenda file list, visiting one file after the other. Cycle through agenda file list, visiting one file after the other.
@item M-x org-iswitchb @key{RET} @item M-x org-switchb @key{RET}
Command to use an @code{iswitchb}-like interface to switch to and between Org Command to use an @code{iswitchb}-like interface to switch to and between Org
buffers. buffers.
@end table @end table
@ -9984,7 +9974,7 @@ To turn off fontification for marked up text, you can set
available markup syntax, you can customize @code{org-emphasis-alist}. To fine available markup syntax, you can customize @code{org-emphasis-alist}. To fine
tune what characters are allowed before and after the markup characters, you tune what characters are allowed before and after the markup characters, you
can tweak @code{org-emphasis-regexp-components}. Beware that changing one of can tweak @code{org-emphasis-regexp-components}. Beware that changing one of
the above variables will no take effect until you reload Org, for which you the above variables will not take effect until you reload Org, for which you
may need to restart Emacs. may need to restart Emacs.
@node Horizontal rules @node Horizontal rules
@ -11779,7 +11769,7 @@ to @code{<a>} or @code{<img>} tags. This example shows changing the link's
@cindex @code{#+ATTR_HTML} @cindex @code{#+ATTR_HTML}
@example @example
#+ATTR_HTML: :title The Org mode homepage :style color:red; #+ATTR_HTML: :title The Org mode homepage :style color:red;
[[http://orgmode.org]] [[https://orgmode.org]]
@end example @end example
@node Tables in HTML export @node Tables in HTML export
@ -12054,9 +12044,9 @@ program enhances large files in two different ways of viewing. One is an
navigation can be done with the @kbd{n} and @kbd{p} keys (and some other keys navigation can be done with the @kbd{n} and @kbd{p} keys (and some other keys
as well, press @kbd{?} for an overview of the available keys). The second as well, press @kbd{?} for an overview of the available keys). The second
one has a @emph{folding} view, much like Org provides inside Emacs. The one has a @emph{folding} view, much like Org provides inside Emacs. The
script is available at @url{http://orgmode.org/org-info.js} and the script is available at @url{https://orgmode.org/org-info.js} and the
documentation at @url{http://orgmode.org/worg/code/org-info-js/}. The script documentation at @url{https://orgmode.org/worg/code/org-info-js/}. The script
is hosted on @url{http://orgmode.org}, but for reliability, prefer installing is hosted on @url{https://orgmode.org}, but for reliability, prefer installing
it on your own web server. it on your own web server.
To use this program, just add this line to the Org file: To use this program, just add this line to the Org file:
@ -12073,7 +12063,7 @@ below:
@example @example
path: @r{The path to the script. The default grabs the script from} path: @r{The path to the script. The default grabs the script from}
@r{@url{http://orgmode.org/org-info.js}, but you might want to have} @r{@url{https://orgmode.org/org-info.js}, but you might want to have}
@r{a local copy and use a path like @samp{../scripts/org-info.js}.} @r{a local copy and use a path like @samp{../scripts/org-info.js}.}
view: @r{Initial view when the website is first shown. Possible values are:} view: @r{Initial view when the website is first shown. Possible values are:}
info @r{Info-like interface with one section per page.} info @r{Info-like interface with one section per page.}
@ -12993,10 +12983,10 @@ of these examples works:
@subsubheading Embedding clickable images @subsubheading Embedding clickable images
For clickable images, provide a link whose description is another link to an For clickable images, provide a link whose description is another link to an
image file. For example, to embed an image @file{org-mode-unicorn.png} which image file. For example, to embed an image @file{org-mode-unicorn.png} which
when clicked jumps to @uref{http://Orgmode.org} website, do the following when clicked jumps to @uref{https://orgmode.org} website, do the following
@example @example
[[http://orgmode.org][./org-mode-unicorn.png]] [[https://orgmode.org][./org-mode-unicorn.png]]
@end example @end example
@subsubheading Sizing and scaling of embedded images @subsubheading Sizing and scaling of embedded images
@ -15512,7 +15502,7 @@ For more examples of header arguments for @code{#+CALL:} lines,
The ``Library of Babel'' is a collection of code blocks. Like a function The ``Library of Babel'' is a collection of code blocks. Like a function
library, these code blocks can be called from other Org files. A collection library, these code blocks can be called from other Org files. A collection
of useful code blocks is available on of useful code blocks is available on
@uref{http://orgmode.org/worg/library-of-babel.html,Worg}. For remote code @uref{https://orgmode.org/worg/library-of-babel.html,Worg}. For remote code
block evaluation syntax, @pxref{Evaluating code blocks}. block evaluation syntax, @pxref{Evaluating code blocks}.
@kindex C-c C-v i @kindex C-c C-v i
@ -15554,7 +15544,7 @@ Org supports the following languages for the @samp{src} code blocks:
@end multitable @end multitable
Additional documentation for some languages are at Additional documentation for some languages are at
@uref{http://orgmode.org/worg/org-contrib/babel/languages.html}. @uref{https://orgmode.org/worg/org-contrib/babel/languages.html}.
@vindex org-babel-load-languages @vindex org-babel-load-languages
By default, only @code{emacs-lisp} is enabled for evaluation. To enable or By default, only @code{emacs-lisp} is enabled for evaluation. To enable or
@ -15642,7 +15632,7 @@ Org expand @code{:noweb} references by default.
Each language can have separate default header arguments by customizing the Each language can have separate default header arguments by customizing the
variable @code{org-babel-default-header-args:<lang>}, where @code{<lang>} is variable @code{org-babel-default-header-args:<lang>}, where @code{<lang>} is
the name of the language. For details, see the language-specific online the name of the language. For details, see the language-specific online
documentation at @uref{http://orgmode.org/worg/org-contrib/babel}. documentation at @uref{https://orgmode.org/worg/org-contrib/babel/}.
@node Header arguments in Org mode properties @node Header arguments in Org mode properties
@subsubheading Header arguments in Org mode properties @subsubheading Header arguments in Org mode properties
@ -18225,7 +18215,7 @@ Org.
Org has a large number of hook variables for adding functionality. This Org has a large number of hook variables for adding functionality. This
appendix illustrates using a few. A complete list of hooks with appendix illustrates using a few. A complete list of hooks with
documentation is maintained by the Worg project at documentation is maintained by the Worg project at
@uref{http://orgmode.org/worg/doc.html#hooks}. @uref{https://orgmode.org/worg/doc.html#hooks}.
@node Add-on packages @node Add-on packages
@section Add-on packages @section Add-on packages
@ -18234,10 +18224,10 @@ documentation is maintained by the Worg project at
Various authors wrote a large number of add-on packages for Org. Various authors wrote a large number of add-on packages for Org.
These packages are not part of Emacs, but they are distributed as contributed These packages are not part of Emacs, but they are distributed as contributed
packages with the separate release available at @uref{http://orgmode.org}. packages with the separate release available at @uref{https://orgmode.org}.
See the @file{contrib/README} file in the source code directory for a list of See the @file{contrib/README} file in the source code directory for a list of
contributed files. Worg page with more information is at: contributed files. Worg page with more information is at:
@uref{http://orgmode.org/worg/org-contrib/}. @uref{https://orgmode.org/worg/org-contrib/}.
@node Adding hyperlink types @node Adding hyperlink types
@section Adding hyperlink types @section Adding hyperlink types
@ -18358,7 +18348,7 @@ to an alist of export functions. This alist replaces the parent back-end
functions. functions.
For complete documentation, see For complete documentation, see
@url{http://orgmode.org/worg/dev/org-export-reference.html, the Org Export @url{https://orgmode.org/worg/dev/org-export-reference.html, the Org Export
Reference on Worg}. Reference on Worg}.
@node Context-sensitive commands @node Context-sensitive commands
@ -18869,7 +18859,7 @@ Disable tag inheritance for agendas:
These options can be applied to selected agenda views. For more details These options can be applied to selected agenda views. For more details
about generation of agenda views, see the docstrings for the relevant about generation of agenda views, see the docstrings for the relevant
variables, and this @uref{http://orgmode.org/worg/agenda-optimization.html, variables, and this @uref{https://orgmode.org/worg/agenda-optimization.html,
dedicated Worg page} for agenda optimization. dedicated Worg page} for agenda optimization.
@node Extracting agenda information @node Extracting agenda information
@ -19213,7 +19203,7 @@ For a server to host files, consider options like
@uref{http://dropbox.com,Dropbox.com} account@footnote{An alternative is to @uref{http://dropbox.com,Dropbox.com} account@footnote{An alternative is to
use webdav server. MobileOrg documentation has details of webdav server use webdav server. MobileOrg documentation has details of webdav server
configuration. Additional help is at configuration. Additional help is at
@uref{http://orgmode.org/worg/org-faq.html#mobileorg_webdav, FAQ entry}.}. @uref{https://orgmode.org/worg/org-faq.html#mobileorg_webdav, FAQ entry}.}.
On first connection, MobileOrg creates a directory @file{MobileOrg/} on On first connection, MobileOrg creates a directory @file{MobileOrg/} on
Dropbox. Pass its location to Emacs through an init file variable as Dropbox. Pass its location to Emacs through an init file variable as
follows: follows:

View file

@ -1,7 +1,7 @@
ORG NEWS -- history of user-visible changes. -*- mode: org; coding: utf-8 -*- ORG NEWS -- history of user-visible changes. -*- mode: org; coding: utf-8 -*-
#+LINK: doc http://orgmode.org/worg/doc.html#%s #+LINK: doc https://orgmode.org/worg/doc.html#%s
#+LINK: git http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=%s #+LINK: git https://code.orgmode.org/bzg/org-mode/commit/%s
Copyright (C) 2012-2018 Free Software Foundation, Inc. Copyright (C) 2012-2018 Free Software Foundation, Inc.
See the end of the file for license conditions. See the end of the file for license conditions.
@ -211,8 +211,8 @@ this ~:prologue "fpprintprec: 2; linel: 50;"~ for presenting Maxima
results in a beamer presentation. results in a beamer presentation.
**** PlantUML: add support for header arguments **** PlantUML: add support for header arguments
[[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 [[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
[[http://orgmode.org/manual/var.html#var][~:var~]] header arguments. [[https://orgmode.org/manual/var.html#var][~:var~]] header arguments.
**** SQL: new engine added ~sqsh~ **** SQL: new engine added ~sqsh~
@ -266,7 +266,7 @@ using ~:namespaces~:
- ~:flags~ passes arguments to the compiler - ~:flags~ passes arguments to the compiler
- ~:cmdline~ passes commandline arguments to the generated executable - ~:cmdline~ passes commandline arguments to the generated executable
Support 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~]] Support 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~]]
support because Vala is a compiled language. support because Vala is a compiled language.
The Vala compiler binary can be changed via the ~defcustom~ The Vala compiler binary can be changed via the ~defcustom~
@ -436,9 +436,9 @@ Call ~org-agenda-set-restriction-lock~ from the agenda.
The library-of-babel.org used to be accessible from the =doc/= The library-of-babel.org used to be accessible from the =doc/=
directory, distributed with Orgs core. It is now accessible directory, distributed with Orgs core. It is now accessible
from the Worg community-driven documentation [[http://orgmode.org/worg/library-of-babel.html][here]]. from the Worg community-driven documentation [[https://orgmode.org/worg/library-of-babel.html][here]].
If you want to contribute to it, please see [[http://orgmode.org/worg/org-contribute.html][how to contribute]]. If you want to contribute to it, please see [[https://orgmode.org/worg/org-contribute.html][how to contribute]].
*** Allow multiple columns view *** Allow multiple columns view
@ -798,7 +798,7 @@ Evaluating a Stan block can produce two different results.
that does not end in ".stan". that does not end in ".stan".
For more information and usage examples, visit For more information and usage examples, visit
http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-stan.html https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-stan.html
**** Support for Oracle databases via ~sqlplus~ **** Support for Oracle databases via ~sqlplus~
@ -1966,7 +1966,7 @@ This allows to specify the names of automatic bookmarks.
*** New option [[doc:org-agenda-ignore-drawer-properties][org-agenda-ignore-drawer-properties]] *** New option [[doc:org-agenda-ignore-drawer-properties][org-agenda-ignore-drawer-properties]]
This allows more flexibility when optimizing the agenda generation. This allows more flexibility when optimizing the agenda generation.
See http://orgmode.org/worg/agenda-optimization.html for details. See https://orgmode.org/worg/agenda-optimization.html for details.
*** New option: [[doc:org-html-link-use-abs-url][org-html-link-use-abs-url]] to force using absolute URLs *** New option: [[doc:org-html-link-use-abs-url][org-html-link-use-abs-url]] to force using absolute URLs
This is an export/publishing option, and should be used either within This is an export/publishing option, and should be used either within
@ -2050,7 +2050,7 @@ instructions:
When in doubt, run =M-x org-version RET= and see if you have a mixed-up When in doubt, run =M-x org-version RET= and see if you have a mixed-up
installation. installation.
See http://orgmode.org/org.html#Installation for details. See https://orgmode.org/org.html#Installation for details.
** Incompatible changes ** Incompatible changes
@ -2063,7 +2063,7 @@ you will have to update them.
Below is a list of changes for which you need to take action. Below is a list of changes for which you need to take action.
See http://orgmode.org/worg/org-8.0.html for the most recent version of See https://orgmode.org/worg/org-8.0.html for the most recent version of
this list and for detailed instructions on how to migrate. this list and for detailed instructions on how to migrate.
**** New export engine **** New export engine
@ -2085,7 +2085,7 @@ corresponding files start with the =ox-= prefix.
If you customized an export back-end (like HTML or LaTeX), you will need to If you customized an export back-end (like HTML or LaTeX), you will need to
rename some options so that your customization is not lost. Typically, an rename some options so that your customization is not lost. Typically, an
option starting with =org-export-html-= is now named =org-html-=. See the option starting with =org-export-html-= is now named =org-html-=. See the
manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg page]] for directions. manual for details and check [[https://orgmode.org/worg/org-8.0.html][this Worg page]] for directions.
**** New syntax for #+ATTR_HTML/LaTeX/... options **** New syntax for #+ATTR_HTML/LaTeX/... options
@ -2146,7 +2146,7 @@ manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg p
~ox-taskjuggler.el~ by Nicolas Goaziou and others. ~ox-taskjuggler.el~ by Nicolas Goaziou and others.
Also, the Taskjuggler exporter now uses TJ3 by default. John Hendy Also, the Taskjuggler exporter now uses TJ3 by default. John Hendy
wrote [[http://orgmode.org/worg/org-tutorials/org-taskjuggler3.html][a tutorial on Worg]] for the TJ3 export. wrote [[https://orgmode.org/worg/org-tutorials/org-taskjuggler3.html][a tutorial on Worg]] for the TJ3 export.
** New packages in core ** New packages in core
@ -2192,7 +2192,7 @@ manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg p
Display bullets instead of stars for headlines. Display bullets instead of stars for headlines.
Also see [[http://orgmode.org/worg/org-faq.html#sec-8-12][this updated FAQ]] on how to display another character than "*" Also see [[https://orgmode.org/worg/org-faq.html#sec-8-12][this updated FAQ]] on how to display another character than "*"
for starting headlines. for starting headlines.
*** ~org-favtable.el~ by Marc-Oliver Ihm *** ~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
~org-favtable.el~ helps you to create and update a table of favorite ~org-favtable.el~ helps you to create and update a table of favorite
locations in org, keeping the most frequently visited lines right at locations in org, keeping the most frequently visited lines right at
the top. This table is called "favtable". See the documentation on the top. This table is called "favtable". See the documentation on
[[http://orgmode.org/worg/org-contrib/org-favtable.html][Worg]]. [[https://orgmode.org/worg/org-contrib/org-favtable.html][Worg]].
*** ~ox-confluence.el~ by Sébastien Delafond *** ~ox-confluence.el~ by Sébastien Delafond
@ -2241,7 +2241,7 @@ manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg p
**** New export generic options **** New export generic options
If you use Org exporter, we advise you to re-read [[http://orgmode.org/org.html#Exporting][the manual section about If you use Org exporter, we advise you to re-read [[https://orgmode.org/org.html#Exporting][the manual section about
it]]. It has been updated and includes new options. it]]. It has been updated and includes new options.
Among the new/updated export options, three are of particular importance: Among the new/updated export options, three are of particular importance:
@ -2616,7 +2616,7 @@ of those tags.)
You can use group tags for sparse tree in an Org buffer, for creating You can use group tags for sparse tree in an Org buffer, for creating
agenda views, and for filtering. agenda views, and for filtering.
See http://orgmode.org/org.html#Tag-groups for details. See https://orgmode.org/org.html#Tag-groups for details.
*** Links *** Links
@ -2624,7 +2624,7 @@ See http://orgmode.org/org.html#Tag-groups for details.
Org knows how to store links from Org buffers, from info files and from Org knows how to store links from Org buffers, from info files and from
other Emacs buffers. Org can be taught how to store links from any buffer other Emacs buffers. Org can be taught how to store links from any buffer
through new link protocols (see [[http://orgmode.org/org.html#Adding-hyperlink-types]["Adding hyperlink types"]] in the manual.) through new link protocols (see [[https://orgmode.org/org.html#Adding-hyperlink-types]["Adding hyperlink types"]] in the manual.)
Sometimes you want Org to ignore added link protocols and store the link Sometimes you want Org to ignore added link protocols and store the link
as if the protocol was not known. as if the protocol was not known.
@ -2648,7 +2648,7 @@ with-description and without-description links when inserting them.
When storing a link to a headline like When storing a link to a headline like
: * See [[http://orgmode.org][Org website]] : * See [[https://orgmode.org][Org website]]
[[doc:org-store-link][org-store-link]] used to convert the square brackets into curly brackets. [[doc:org-store-link][org-store-link]] used to convert the square brackets into curly brackets.
It does not anymore, taking the link description or the link path, when It does not anymore, taking the link description or the link path, when
@ -2664,7 +2664,7 @@ those other formulas.
**** You now use "nan" for empty fields in Calc formulas **** You now use "nan" for empty fields in Calc formulas
If empty fields are of interest, it is recommended to reread the section If empty fields are of interest, it is recommended to reread the section
[[http://orgmode.org/org.html#Formula-syntax-for-Calc][3.5.2 Formula syntax for Calc]] of the manual because the description for the [[https://orgmode.org/org.html#Formula-syntax-for-Calc][3.5.2 Formula syntax for Calc]] of the manual because the description for the
mode strings has been clarified and new examples have been added towards mode strings has been clarified and new examples have been added towards
the end. the end.
@ -2683,7 +2683,7 @@ There are now three lookup functions:
- [[doc:org-loopup-last][org-loopup-last]] - [[doc:org-loopup-last][org-loopup-last]]
- [[doc:org-loopup-all][org-loopup-all]] - [[doc:org-loopup-all][org-loopup-all]]
See [[http://orgmode.org/org.html#Lookup-functions][the manual]] for details. See [[https://orgmode.org/org.html#Lookup-functions][the manual]] for details.
*** Startup keywords *** Startup keywords
These new startup keywords are now available: These new startup keywords are now available:
@ -2814,7 +2814,7 @@ instead of requiring each Babel library one by one.
David (and others) translated the Org compact guide in spanish: David (and others) translated the Org compact guide in spanish:
You can read the [[http://orgmode.org/worg/orgguide/orgguide.es.pdf][PDF guide]]. You can read the [[https://orgmode.org/worg/orgguide/orgguide.es.pdf][PDF guide]].
*** ~poporg.el~ and ~outorg.el~ *** ~poporg.el~ and ~outorg.el~
@ -2825,7 +2825,7 @@ Org-mode available. ~outorg.el~ comes together with ~outshine.el~ and
~navi-mode.el~, two more libraries by Thorsten Jolitz with the goal to give ~navi-mode.el~, two more libraries by Thorsten Jolitz with the goal to give
source-code buffers the /look & feel/ of Org-mode buffers while greatly source-code buffers the /look & feel/ of Org-mode buffers while greatly
improving navigation and structure editing. A detailed description can be improving navigation and structure editing. A detailed description can be
found here: http://orgmode.org/worg/org-tutorials/org-outside-org.html found here: https://orgmode.org/worg/org-tutorials/org-outside-org.html
Here are two screencasts demonstrating Thorsten's tools: Here are two screencasts demonstrating Thorsten's tools:
@ -2894,7 +2894,7 @@ in most environments.
You can now add the Org ELPA repository like this: You can now add the Org ELPA repository like this:
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t) (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
#+END_SRC #+END_SRC
It contains both the =org-*.tar= package (the core Org distribution, also It 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
extended Org distribution, with non-GNU packages from the =contrib/= extended Org distribution, with non-GNU packages from the =contrib/=
directory.) directory.)
See http://orgmode.org/elpa/ See https://orgmode.org/elpa/
** Overview of the new keybindings ** Overview of the new keybindings
@ -3085,7 +3085,7 @@ See http://orgmode.org/elpa/
**** New =todo-unblocked= and =nottodo-unblocked= skip conditions **** New =todo-unblocked= and =nottodo-unblocked= skip conditions
See the [[http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=f426da][git commit]] for more explanations. See the [[https://orgmode.org/cgit.cgi/org-mode.git/commit/?id=f426da][git commit]] for more explanations.
**** Allow category filtering in the agenda **** Allow category filtering in the agenda
@ -3402,7 +3402,7 @@ See http://orgmode.org/elpa/
Thanks to Carsten for implementing this. Thanks to Carsten for implementing this.
**** ODT: Add support for ODT export in org-bbdb.el **** ODT: Add support for ODT export in org-bbdb.el
**** ODT: Add support for indented tables (see [[http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=e9fd33][this commit]] for details) **** ODT: Add support for indented tables (see [[https://orgmode.org/cgit.cgi/org-mode.git/commit/?id=e9fd33][this commit]] for details)
**** ODT: Improve the conversion from ODT to other formats **** ODT: Improve the conversion from ODT to other formats
**** ASCII: Swap the level-1/level-2 characters to underline the headlines **** ASCII: Swap the level-1/level-2 characters to underline the headlines
**** Support for Chinese, simplified Chinese, Russian, Ukrainian and Japanese **** Support for Chinese, simplified Chinese, Russian, Ukrainian and Japanese
@ -3535,7 +3535,7 @@ that Calc formulas can operate on them.
*** Emacs 21 support has been dropped *** Emacs 21 support has been dropped
Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead. Do not use Org mode 7.xx with Emacs 21, use [[https://orgmode.org/org-6.36c.zip][version 6.36c]] instead.
*** XEmacs support requires the XEmacs development version *** XEmacs support requires the XEmacs development version
@ -3685,7 +3685,7 @@ that Calc formulas can operate on them.
This replaces the earlier system org-remember. The manual only This replaces the earlier system org-remember. The manual only
describes org-capture, but for people who prefer to continue to describes org-capture, but for people who prefer to continue to
use org-remember, we keep a static copy of the former manual use org-remember, we keep a static copy of the former manual
section [[http://orgmode.org/org-remember.pdf][chapter about remember]]. section [[https://orgmode.org/org-remember.pdf][chapter about remember]].
The new system has a technically cleaner implementation and more The new system has a technically cleaner implementation and more
possibilities for capturing different types of data. See possibilities for capturing different types of data. See
@ -3749,7 +3749,7 @@ that Calc formulas can operate on them.
**** org-taskjuggler.el (Christian Egli) **** org-taskjuggler.el (Christian Egli)
Christian Egli's /org-taskjuggler.el/ module is now part of Org. Christian Egli's /org-taskjuggler.el/ module is now part of Org.
He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it. He also wrote a [[https://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
**** org-ctags.el (Paul Sexton) **** org-ctags.el (Paul Sexton)
@ -3969,7 +3969,7 @@ that Calc formulas can operate on them.
Org-mode documents or subtrees can now be converted directly in Org-mode documents or subtrees can now be converted directly in
to BEAMER presentation. Turning a tree into a simple to BEAMER presentation. Turning a tree into a simple
presentations is straight forward, and there is also quite some presentations is straight forward, and there is also quite some
support to make richer presentations as well. See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER support to make richer presentations as well. See the [[https://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
section]] in the manual for more details. section]] in the manual for more details.
Thanks to everyone who has contributed to the discussion about Thanks to everyone who has contributed to the discussion about

View file

@ -21,7 +21,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
Author: Jambunathan K <kjambunathan at gmail dot com> Author: Jambunathan K <kjambunathan at gmail dot com>
Keywords: outlines, hypermedia, calendar, wp Keywords: outlines, hypermedia, calendar, wp
Homepage: http://orgmode.org Homepage: https://orgmode.org
Commentary: Commentary:

View file

@ -1,5 +1,5 @@
% Reference Card for Org Mode % Reference Card for Org Mode
\def\orgversionnumber{9.1.6} \def\orgversionnumber{9.1.9}
\def\versionyear{2018} % latest update \def\versionyear{2018} % latest update
\input emacsver.tex \input emacsver.tex

View file

@ -5,7 +5,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Thierry Banel ;; Thierry Banel
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Oleh Krehel ;; Author: Oleh Krehel
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Dan Davison ;; Dan Davison
;; Keywords: literate programming, reproducible research, R, statistics ;; Keywords: literate programming, reproducible research, R, statistics
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Author: Joel Boehland, Eric Schulte, Oleh Krehel, Frederick Giasson ;; Author: Joel Boehland, Eric Schulte, Oleh Krehel, Frederick Giasson
;; ;;
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research, comint ;; Keywords: literate programming, reproducible research, comint
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Authors: Eric Schulte ;; Authors: Eric Schulte
;; Dan Davison ;; Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -980,13 +980,24 @@ with a prefix argument then this is passed on to
(defmacro org-babel-do-in-edit-buffer (&rest body) (defmacro org-babel-do-in-edit-buffer (&rest body)
"Evaluate BODY in edit buffer if there is a code block at point. "Evaluate BODY in edit buffer if there is a code block at point.
Return t if a code block was found at point, nil otherwise." Return t if a code block was found at point, nil otherwise."
`(let ((org-src-window-setup 'switch-invisibly)) (declare (debug (body)))
(when (and (org-babel-where-is-src-block-head) `(let* ((element (org-element-at-point))
;; This function is not supposed to move point. However,
;; `org-edit-src-code' always moves point back into the
;; source block. It is problematic if the point was before
;; the code, e.g., on block's opening line. In this case,
;; we want to restore this location after executing BODY.
(outside-position
(and (<= (line-beginning-position)
(org-element-property :post-affiliated element))
(point-marker)))
(org-src-window-setup 'switch-invisibly))
(when (and (org-babel-where-is-src-block-head element)
(org-edit-src-code)) (org-edit-src-code))
(unwind-protect (progn ,@body) (unwind-protect (progn ,@body)
(org-edit-src-exit)) (org-edit-src-exit)
(when outside-position (goto-char outside-position)))
t))) t)))
(def-edebug-spec org-babel-do-in-edit-buffer (body))
(defun org-babel-do-key-sequence-in-edit-buffer (key) (defun org-babel-do-key-sequence-in-edit-buffer (key)
"Read key sequence and execute the command in edit buffer. "Read key sequence and execute the command in edit buffer.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Michael Gauland ;; Author: Michael Gauland
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; Version: 1.00 ;; Version: 1.00
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research, comint ;; Keywords: literate programming, reproducible research, comint
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Authors: Eric Schulte ;; Authors: Eric Schulte
;; Dan Davison ;; Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research, forth ;; Keywords: literate programming, reproducible research, forth
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Authors: Sergey Litvinov ;; Authors: Sergey Litvinov
;; Eric Schulte ;; Eric Schulte
;; Keywords: literate programming, reproducible research, fortran ;; Keywords: literate programming, reproducible research, fortran
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Miro Bezjak ;; Author: Miro Bezjak
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -84,12 +84,12 @@ in BODY as elisp."
(when session (error "Sessions are not (yet) supported for Groovy")) (when session (error "Sessions are not (yet) supported for Groovy"))
(pcase result-type (pcase result-type
(`output (`output
(let ((src-file (org-babel-temp-file "groovy-"))) (let ((src-file (org-babel-temp-file "groovy_")))
(progn (with-temp-file src-file (insert body)) (progn (with-temp-file src-file (insert body))
(org-babel-eval (org-babel-eval
(concat org-babel-groovy-command " " src-file) "")))) (concat org-babel-groovy-command " " src-file) ""))))
(`value (`value
(let* ((src-file (org-babel-temp-file "groovy-")) (let* ((src-file (org-babel-temp-file "groovy_"))
(wrapper (format org-babel-groovy-wrapper-method body))) (wrapper (format org-babel-groovy-wrapper-method body)))
(with-temp-file src-file (insert wrapper)) (with-temp-file src-file (insert wrapper))
(let ((raw (org-babel-eval (let ((raw (org-babel-eval

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Simon Michael ;; Author: Simon Michael
;; Keywords: literate programming, reproducible research, plain text accounting ;; Keywords: literate programming, reproducible research, plain text accounting
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Andrzej Lichnerowicz ;; Author: Andrzej Lichnerowicz
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research, js ;; Keywords: literate programming, reproducible research, js
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric S Fraga ;; Author: Eric S Fraga
;; Keywords: literate programming, reproducible research, accounting ;; Keywords: literate programming, reproducible research, accounting
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Martyn Jago ;; Author: Martyn Jago
;; Keywords: babel language, literate programming ;; Keywords: babel language, literate programming
;; Homepage: http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html ;; Homepage: https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -24,7 +24,7 @@
;;; Commentary: ;;; Commentary:
;; Installation, ob-lilypond documentation, and examples are available at ;; Installation, ob-lilypond documentation, and examples are available at
;; http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html ;; https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html
;; ;;
;; Lilypond documentation can be found at ;; Lilypond documentation can be found at
;; http://lilypond.org/manuals.html ;; http://lilypond.org/manuals.html

View file

@ -6,7 +6,7 @@
;; Eric Schulte ;; Eric Schulte
;; David T. O'Toole <dto@gnu.org> ;; David T. O'Toole <dto@gnu.org>
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Authors: Eric Schulte ;; Authors: Eric Schulte
;; Dan Davison ;; Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -79,44 +79,54 @@ if so then run the appropriate source block from the Library."
(org-babel-execute-src-block nil info) (org-babel-execute-src-block nil info)
t))) t)))
(defun org-babel-lob--src-info (name) (defun org-babel-lob--src-info (ref)
"Return internal representation for Babel data named NAME. "Return internal representation for Babel data referenced as REF.
NAME is a string. This function looks into the current document REF is a string. This function looks into the current document
for a Babel call or source block. If none is found, it looks for a Babel call or source block. If none is found, it looks
after NAME in the Library of Babel. Eventually, if that also after REF in the Library of Babel."
fails, it returns nil." (let ((name ref)
;; During export, look into the pristine copy of the document being (file nil))
;; exported instead of the current one, which could miss some data. ;; Extract the remote file, if specified in the reference.
(with-current-buffer (or org-babel-exp-reference-buffer (current-buffer)) (when (string-match "\\`\\(.+\\):\\(.+\\)\\'" ref)
(org-with-wide-buffer (setq file (match-string 1 ref))
(goto-char (point-min)) (setq name (match-string 2 ref)))
(catch :found ;; During export, look into the pristine copy of the document
(let ((case-fold-search t) ;; being exported instead of the current one, which could miss
(regexp (org-babel-named-data-regexp-for-name name))) ;; some data.
(while (re-search-forward regexp nil t) (with-current-buffer (cond (file (find-file-noselect file t))
(let ((element (org-element-at-point))) (org-babel-exp-reference-buffer)
(when (equal name (org-element-property :name element)) (t (current-buffer)))
(throw :found (org-with-point-at 1
(pcase (org-element-type element) (catch :found
(`src-block (org-babel-get-src-block-info t element)) (let ((case-fold-search t)
(`babel-call (org-babel-lob-get-info element)) (regexp (org-babel-named-data-regexp-for-name name)))
;; Non-executable data found. Since names are (while (re-search-forward regexp nil t)
;; supposed to be unique throughout a document, (let ((element (org-element-at-point)))
;; bail out. (when (equal name (org-element-property :name element))
(_ nil)))))) (throw :found
;; No element named NAME in buffer. Try Library of Babel. (pcase (org-element-type element)
(cdr (assoc-string name org-babel-library-of-babel))))))) (`src-block (org-babel-get-src-block-info t element))
(`babel-call (org-babel-lob-get-info element))
;; Non-executable data found. Since names
;; are supposed to be unique throughout
;; a document, bail out.
(_ nil))))))
(cdr (assoc-string ref org-babel-library-of-babel))))))))
;;;###autoload ;;;###autoload
(defun org-babel-lob-get-info (&optional datum) (defun org-babel-lob-get-info (&optional datum)
"Return internal representation for Library of Babel function call. "Return internal representation for Library of Babel function call.
Consider DATUM, when provided, or element at point. Return nil
when not on an appropriate location. Otherwise return a list Consider DATUM, when provided, or element at point otherwise.
compatible with `org-babel-get-src-block-info', which see."
Return nil when not on an appropriate location. Otherwise return
a list compatible with `org-babel-get-src-block-info', which
see."
(let* ((context (or datum (org-element-context))) (let* ((context (or datum (org-element-context)))
(type (org-element-type context))) (type (org-element-type context))
(reference (org-element-property :call context)))
(when (memq type '(babel-call inline-babel-call)) (when (memq type '(babel-call inline-babel-call))
(pcase (org-babel-lob--src-info (org-element-property :call context)) (pcase (org-babel-lob--src-info reference)
(`(,language ,body ,header ,_ ,_ ,_ ,coderef) (`(,language ,body ,header ,_ ,_ ,_ ,coderef)
(let ((begin (org-element-property (if (eq type 'inline-babel-call) (let ((begin (org-element-property (if (eq type 'inline-babel-call)
:begin :begin

View file

@ -4,7 +4,7 @@
;; Authors: Dieter Schoen ;; Authors: Dieter Schoen
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Thomas S. Dye ;; Thomas S. Dye
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Dan Davison ;; Author: Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Author: Eric S Fraga ;; Author: Eric S Fraga
;; Eric Schulte ;; Eric Schulte
;; Keywords: literate programming, reproducible research, maxima ;; Keywords: literate programming, reproducible research, maxima
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Juan Pechiar ;; Author: Juan Pechiar
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Dan Davison ;; Author: Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Authors: Dan Davison ;; Authors: Dan Davison
;; Eric Schulte ;; Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Authors: Thorsten Jolitz ;; Authors: Thorsten Jolitz
;; Eric Schulte ;; Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Zhang Weize ;; Author: Zhang Weize
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Jarmo Hurri (adapted from ob-asymptote.el written by Eric Schulte) ;; Author: Jarmo Hurri (adapted from ob-asymptote.el written by Eric Schulte)
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Authors: Eric Schulte ;; Authors: Eric Schulte
;; Dan Davison ;; Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Authors: Eric Schulte ;; Authors: Eric Schulte
;; Dan Davison ;; Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Authors: Eric Schulte ;; Authors: Eric Schulte
;; Michael Gauland ;; Michael Gauland
;; Keywords: literate programming, reproducible research, scheme ;; Keywords: literate programming, reproducible research, scheme
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Benjamin Andresen ;; Author: Benjamin Andresen
;; Keywords: literate programming, interactive shell ;; Keywords: literate programming, interactive shell
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research, shen ;; Keywords: literate programming, reproducible research, shen
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Kyle Meyer ;; Author: Kyle Meyer
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -39,7 +39,7 @@
;; that does not end in ".stan". ;; that does not end in ".stan".
;; ;;
;; For more information and usage examples, visit ;; For more information and usage examples, visit
;; http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-stan.html ;; https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-stan.html
;; ;;
;; [1] http://mc-stan.org/ ;; [1] http://mc-stan.org/

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Christian Garbs <mitch@cgarbs.de> ;; Author: Christian Garbs <mitch@cgarbs.de>
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;;; License: ;;; License:

View file

@ -4,7 +4,7 @@
;; Authors: Eric Schulte ;; Authors: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;
@ -1644,9 +1644,10 @@ When nil, such items are sorted as 0 minutes effort."
(tags . " %i %-12:c") (tags . " %i %-12:c")
(search . " %i %-12:c")) (search . " %i %-12:c"))
"Format specifications for the prefix of items in the agenda views. "Format specifications for the prefix of items in the agenda views.
An alist with five entries, each for the different agenda types. The
keys of the sublists are `agenda', `todo', `search' and `tags'. An alist with one entry per agenda type. The keys of the
The values are format strings. sublists are `agenda', `todo', `search' and `tags'. The values
are format strings.
This format works similar to a printf format, with the following meaning: This format works similar to a printf format, with the following meaning:
@ -2075,7 +2076,10 @@ works you probably want to add it to `org-agenda-custom-commands' for good."
(defvar org-agenda-follow-mode nil) (defvar org-agenda-follow-mode nil)
(defvar org-agenda-entry-text-mode nil) (defvar org-agenda-entry-text-mode nil)
(defvar org-agenda-clockreport-mode nil) (defvar org-agenda-clockreport-mode nil)
(defvar org-agenda-show-log nil) (defvar org-agenda-show-log nil
"When non-nil, show the log in the agenda.
Do not set this directly; instead use
`org-agenda-start-with-log-mode', which see.")
(defvar org-agenda-redo-command nil) (defvar org-agenda-redo-command nil)
(defvar org-agenda-query-string nil) (defvar org-agenda-query-string nil)
(defvar org-agenda-mode-hook nil (defvar org-agenda-mode-hook nil
@ -2207,9 +2211,9 @@ The following commands are available:
nil t) nil t)
(unless org-agenda-keep-modes (unless org-agenda-keep-modes
(setq org-agenda-follow-mode org-agenda-start-with-follow-mode (setq org-agenda-follow-mode org-agenda-start-with-follow-mode
org-agenda-entry-text-mode org-agenda-start-with-entry-text-mode)) org-agenda-entry-text-mode org-agenda-start-with-entry-text-mode
(setq org-agenda-show-log org-agenda-start-with-log-mode) org-agenda-show-log org-agenda-start-with-log-mode
(setq org-agenda-clockreport-mode org-agenda-start-with-clockreport-mode) org-agenda-clockreport-mode org-agenda-start-with-clockreport-mode))
(add-to-invisibility-spec '(org-filtered)) (add-to-invisibility-spec '(org-filtered))
(add-to-invisibility-spec '(org-link)) (add-to-invisibility-spec '(org-link))
(easy-menu-change (easy-menu-change
@ -6172,7 +6176,7 @@ scheduled items with an hour specification like [h]h:mm."
;; Nullify delay when a repeater triggered already ;; Nullify delay when a repeater triggered already
;; and the delay is of the form --Xd. ;; and the delay is of the form --Xd.
((and (string-match-p "--[0-9]+[hdwmy]" s) ((and (string-match-p "--[0-9]+[hdwmy]" s)
(> current schedule)) (> schedule (org-agenda--timestamp-to-absolute s)))
0) 0)
(suppress-delay (suppress-delay
(let ((org-scheduled-delay-days suppress-delay)) (let ((org-scheduled-delay-days suppress-delay))
@ -8177,7 +8181,6 @@ so that the date SD will be in that range."
(interactive) (interactive)
(org-agenda-check-type t 'agenda) (org-agenda-check-type t 'agenda)
(setq org-agenda-clockreport-mode (not org-agenda-clockreport-mode)) (setq org-agenda-clockreport-mode (not org-agenda-clockreport-mode))
(setq org-agenda-start-with-clockreport-mode org-agenda-clockreport-mode)
(org-agenda-set-mode-name) (org-agenda-set-mode-name)
(org-agenda-redo) (org-agenda-redo)
(message "Clocktable mode is %s" (message "Clocktable mode is %s"
@ -8201,7 +8204,6 @@ log items, nothing else."
nil 'clockcheck)) nil 'clockcheck))
(special '(closed clock state)) (special '(closed clock state))
(t (not org-agenda-show-log)))) (t (not org-agenda-show-log))))
(setq org-agenda-start-with-log-mode org-agenda-show-log)
(org-agenda-set-mode-name) (org-agenda-set-mode-name)
(org-agenda-redo) (org-agenda-redo)
(message "Log mode is %s" (if org-agenda-show-log "on" "off"))) (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."
(org-agenda-set-tags ,tag (org-agenda-set-tags ,tag
,(if (eq action ?+) ''on ''off)))))) ,(if (eq action ?+) ''on ''off))))))
(?s ((and (or ?s ?d) c)
(let ((time (let* ((schedule? (eq c ?s))
(and (not arg) (prompt (if schedule? "(Re)Schedule to" "(Re)Set Deadline to"))
(org-read-date nil nil nil "(Re)Schedule to" (time
org-overriding-default-time)))) (and (not arg)
(let ((new (org-read-date
nil nil nil prompt org-overriding-default-time)))
;; A "double plus" answer applies to every
;; scheduled time. Do not turn it into
;; a fixed date yet.
(if (string-match-p "\\`[ \t]*\\+\\+"
org-read-date-final-answer)
org-read-date-final-answer
new)))))
;; Make sure to not prompt for a note when bulk ;; Make sure to not prompt for a note when bulk
;; rescheduling as Org cannot cope with simultaneous notes. ;; rescheduling/resetting deadline as Org cannot cope with
;; Besides, it could be annoying depending on the number of ;; simultaneous notes. Besides, it could be annoying
;; items re-scheduled. ;; depending on the number of marked items.
(setq cmd (setq cmd
`(lambda () (if schedule?
(let ((org-log-reschedule (and org-log-reschedule 'time))) `(lambda ()
(org-agenda-schedule arg ,time)))))) (let ((org-log-reschedule
(?d (and org-log-reschedule 'time)))
(let ((time (org-agenda-schedule arg ,time)))
(and (not arg) `(lambda ()
(org-read-date nil nil nil "(Re)Set Deadline to" (let ((org-log-redeadline (and org-log-redeadline 'time)))
org-overriding-default-time)))) (org-agenda-deadline arg ,time)))))))
;; Make sure to not prompt for a note when bulk
;; rescheduling as Org cannot cope with simultaneous
;; notes. Besides, it could be annoying depending on the
;; number of items re-scheduled.
(setq cmd
`(lambda ()
(let ((org-log-redeadline (and org-log-redeadline 'time)))
(org-agenda-deadline arg ,time))))))
(?S (?S
(unless (org-agenda-check-type nil 'agenda 'todo) (unless (org-agenda-check-type nil 'agenda 'todo)

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -5,7 +5,7 @@
;; Authors: Carsten Dominik <carsten at orgmode dot org> ;; Authors: Carsten Dominik <carsten at orgmode dot org>
;; Thomas Baumann <thomas dot baumann at ch dot tum dot de> ;; Thomas Baumann <thomas dot baumann at ch dot tum dot de>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;
@ -51,8 +51,8 @@
(require 'org) (require 'org)
(declare-function org-at-encrypted-entry-p "org-crypt" ()) (declare-function org-at-encrypted-entry-p "org-crypt" ())
(declare-function org-datetree-find-date-create "org-datetree" (declare-function org-clock-update-mode-line "org-clock" (&optional refresh))
(date &optional keep-restriction)) (declare-function org-datetree-find-date-create "org-datetree" (date &optional keep-restriction))
(declare-function org-decrypt-entry "org-crypt" ()) (declare-function org-decrypt-entry "org-crypt" ())
(declare-function org-encrypt-entry "org-crypt" ()) (declare-function org-encrypt-entry "org-crypt" ())
(declare-function org-table-analyze "org-table" ()) (declare-function org-table-analyze "org-table" ())
@ -541,8 +541,8 @@ not-in-buffer: command not displayed in matching buffers
If you define several checks, the agenda command will be If you define several checks, the agenda command will be
accessible if there is at least one valid check. accessible if there is at least one valid check.
You can also bind a key to another agenda custom command You can also bind a key to another capture template depending on
depending on contextual rules. contextual rules.
\\='((\"c\" \"d\" ((in-mode . \"message-mode\")))) \\='((\"c\" \"d\" ((in-mode . \"message-mode\"))))
@ -724,21 +724,24 @@ captured item after finalizing."
;; Did we start the clock in this capture buffer? ;; Did we start the clock in this capture buffer?
(when (and org-capture-clock-was-started (when (and org-capture-clock-was-started
org-clock-marker (marker-buffer org-clock-marker) org-clock-marker
(equal (marker-buffer org-clock-marker) (buffer-base-buffer)) (eq (marker-buffer org-clock-marker) (buffer-base-buffer))
(> org-clock-marker (point-min)) (>= org-clock-marker (point-min))
(< org-clock-marker (point-max))) (< org-clock-marker (point-max)))
;; Looks like the clock we started is still running. Clock out. ;; Looks like the clock we started is still running.
(when (not org-capture-clock-keep) (let (org-log-note-clock-out) (org-clock-out))) (if org-capture-clock-keep
(when (and (not org-capture-clock-keep) ;; User may have completed clocked heading from the template.
(org-capture-get :clock-resume 'local) ;; Refresh clock mode line.
(markerp (org-capture-get :interrupted-clock 'local)) (org-clock-update-mode-line t)
(buffer-live-p (marker-buffer ;; Clock out. Possibly resume interrupted clock.
(org-capture-get :interrupted-clock 'local)))) (let (org-log-note-clock-out) (org-clock-out))
(let ((clock-in-task (org-capture-get :interrupted-clock 'local))) (when (and (org-capture-get :clock-resume 'local)
(org-with-point-at clock-in-task (markerp (org-capture-get :interrupted-clock 'local))
(org-clock-in))) (buffer-live-p (marker-buffer
(message "Interrupted clock has been resumed"))) (org-capture-get :interrupted-clock 'local))))
(let ((clock-in-task (org-capture-get :interrupted-clock 'local)))
(org-with-point-at clock-in-task (org-clock-in)))
(message "Interrupted clock has been resumed"))))
(let ((beg (point-min)) (let ((beg (point-min))
(end (point-max)) (end (point-max))
@ -1118,7 +1121,7 @@ may have been stored before."
(setq level (org-get-valid-level (setq level (org-get-valid-level
(if (org-at-heading-p) (org-outline-level) 1) (if (org-at-heading-p) (org-outline-level) 1)
1)) 1))
(if reversed? (outline-next-heading) (org-end-of-subtree t))) (if reversed? (outline-next-heading) (org-end-of-subtree t t)))
;; Insert as a top-level entry at the beginning of the file. ;; Insert as a top-level entry at the beginning of the file.
(reversed? (reversed?
(goto-char (point-min)) (goto-char (point-min))

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;
@ -430,7 +430,9 @@ This applies when using `org-clock-goto'."
:type 'integer) :type 'integer)
(defcustom org-clock-display-default-range 'thisyear (defcustom org-clock-display-default-range 'thisyear
"Default range when displaying clocks with `org-clock-display'." "Default range when displaying clocks with `org-clock-display'.
Valid values are: `today', `yesterday', `thisweek', `lastweek',
`thismonth', `lastmonth', `thisyear', `lastyear' and `untilnow'."
:group 'org-clock :group 'org-clock
:type '(choice (const today) :type '(choice (const today)
(const yesterday) (const yesterday)
@ -441,7 +443,8 @@ This applies when using `org-clock-goto'."
(const thisyear) (const thisyear)
(const lastyear) (const lastyear)
(const untilnow) (const untilnow)
(const :tag "Select range interactively" interactive))) (const :tag "Select range interactively" interactive))
:safe #'symbolp)
(defvar org-clock-in-prepare-hook nil (defvar org-clock-in-prepare-hook nil
"Hook run when preparing the clock. "Hook run when preparing the clock.
@ -465,38 +468,6 @@ to add an effort property.")
(defvar org-clock-stored-resume-clock nil (defvar org-clock-stored-resume-clock nil
"Clock to resume, saved by `org-clock-load'") "Clock to resume, saved by `org-clock-load'")
(defconst org-clock--oldest-date
(let* ((dichotomy
(lambda (min max pred)
(if (funcall pred min) min
(cl-incf min)
(while (> (- max min) 1)
(let ((mean (+ (ash min -1) (ash max -1) (logand min max 1))))
(if (funcall pred mean) (setq max mean) (setq min mean)))))
max))
(high
(funcall dichotomy
most-negative-fixnum
0
(lambda (m)
;; libc in macOS 10.6 hangs when decoding times
;; around year -2**31. Limit `high' not to go
;; any earlier than that.
(unless (and (eq system-type 'darwin)
(string-match-p
"10\\.6\\.[[:digit:]]"
(shell-command-to-string
"sw_vers -productVersion"))
(<= m -1034058203135))
(ignore-errors (decode-time (list m 0)))))))
(low
(funcall dichotomy
most-negative-fixnum
0
(lambda (m) (ignore-errors (decode-time (list high m)))))))
(list high low))
"Internal time for oldest date representable on the system.")
;;; The clock for measuring work time. ;;; The clock for measuring work time.
(defvar org-mode-line-string "") (defvar org-mode-line-string "")
@ -542,6 +513,15 @@ cannot be translated."
(assoc-string language org-clock-clocktable-language-setup t)) (assoc-string language org-clock-clocktable-language-setup t))
s)) s))
(defun org-clock--mode-line-heading ()
"Return currently clocked heading, formatted for mode line."
(cond ((functionp org-clock-heading-function)
(funcall org-clock-heading-function))
((org-before-first-heading-p) "???")
(t (replace-regexp-in-string
org-bracket-link-analytic-regexp "\\5"
(org-no-properties (org-get-heading t t t t))))))
(defun org-clock-menu () (defun org-clock-menu ()
(interactive) (interactive)
(popup-menu (popup-menu
@ -690,19 +670,18 @@ If not, show simply the clocked time like 01:50."
(if org-clock-effort (if org-clock-effort
(let* ((effort-in-minutes (org-duration-to-minutes org-clock-effort)) (let* ((effort-in-minutes (org-duration-to-minutes org-clock-effort))
(work-done-str (work-done-str
(propertize (propertize (org-duration-from-minutes clocked-time)
(org-duration-from-minutes clocked-time) 'face
'face (if (and org-clock-task-overrun (not org-clock-task-overrun-text)) (if (and org-clock-task-overrun
'org-mode-line-clock-overrun 'org-mode-line-clock))) (not org-clock-task-overrun-text))
(effort-str (org-duration-from-minutes effort-in-minutes)) 'org-mode-line-clock-overrun
(clockstr (propertize 'org-mode-line-clock)))
(concat " [%s/" effort-str (effort-str (org-duration-from-minutes effort-in-minutes)))
"] (" (replace-regexp-in-string "%" "%%" org-clock-heading) ")") (format (propertize " [%s/%s] (%s)" 'face 'org-mode-line-clock)
'face 'org-mode-line-clock))) work-done-str effort-str org-clock-heading))
(format clockstr work-done-str)) (format (propertize " [%s] (%s)" 'face 'org-mode-line-clock)
(propertize (concat " [" (org-duration-from-minutes clocked-time) (org-duration-from-minutes clocked-time)
"]" (format " (%s)" org-clock-heading)) org-clock-heading))))
'face 'org-mode-line-clock))))
(defun org-clock-get-last-clock-out-time () (defun org-clock-get-last-clock-out-time ()
"Get the last clock-out time for the current subtree." "Get the last clock-out time for the current subtree."
@ -712,10 +691,13 @@ If not, show simply the clocked time like 01:50."
".*\\]--\\(\\[[^]]+\\]\\)") end t) ".*\\]--\\(\\[[^]]+\\]\\)") end t)
(org-time-string-to-time (match-string 1)))))) (org-time-string-to-time (match-string 1))))))
(defun org-clock-update-mode-line () (defun org-clock-update-mode-line (&optional refresh)
"Update mode line with clock information.
When optional argument is non-nil, refresh cached heading."
(if org-clock-effort (if org-clock-effort
(org-clock-notify-once-if-expired) (org-clock-notify-once-if-expired)
(setq org-clock-task-overrun nil)) (setq org-clock-task-overrun nil))
(when refresh (setq org-clock-heading (org-clock--mode-line-heading)))
(setq org-mode-line-string (setq org-mode-line-string
(propertize (propertize
(let ((clock-string (org-clock-get-clock-string)) (let ((clock-string (org-clock-get-clock-string))
@ -1232,7 +1214,8 @@ the default behavior."
(when (equal select '(64)) (when (equal select '(64))
;; Set start-time to `org-clock-out-time' ;; Set start-time to `org-clock-out-time'
(let ((org-clock-continuously t)) (let ((org-clock-continuously t))
(org-clock-in nil org-clock-out-time))) (org-clock-in nil org-clock-out-time)
(throw 'abort nil)))
(when (equal select '(4)) (when (equal select '(4))
(setq selected-task (org-clock-select-task "Clock-in on task: ")) (setq selected-task (org-clock-select-task "Clock-in on task: "))
@ -1298,15 +1281,7 @@ the default behavior."
org-clock-in-switch-to-state org-clock-in-switch-to-state
"\\>")))) "\\>"))))
(org-todo org-clock-in-switch-to-state))) (org-todo org-clock-in-switch-to-state)))
(setq org-clock-heading (setq org-clock-heading (org-clock--mode-line-heading))
(cond ((and org-clock-heading-function
(functionp org-clock-heading-function))
(funcall org-clock-heading-function))
((nth 4 (org-heading-components))
(replace-regexp-in-string
"\\[\\[.*?\\]\\[\\(.*?\\)\\]\\]" "\\1"
(match-string-no-properties 4)))
(t "???")))
(org-clock-find-position org-clock-in-resume) (org-clock-find-position org-clock-in-resume)
(cond (cond
((and org-clock-in-resume ((and org-clock-in-resume
@ -1442,7 +1417,7 @@ in particular CLOCK_MODELINE_TOTAL and the corresponding variable
`org-clock-mode-line-total' and then decides which time to use. `org-clock-mode-line-total' and then decides which time to use.
The time is always returned as UTC." The time is always returned as UTC."
(let ((cmt (or (org-entry-get nil "CLOCK_MODELINE_TOTAL") (let ((cmt (or (org-entry-get nil "CLOCK_MODELINE_TOTAL" 'selective)
(symbol-name org-clock-mode-line-total))) (symbol-name org-clock-mode-line-total)))
(lr (org-entry-get nil "LAST_REPEAT"))) (lr (org-entry-get nil "LAST_REPEAT")))
(cond (cond
@ -1451,7 +1426,7 @@ The time is always returned as UTC."
(current-time)) (current-time))
((equal cmt "today") ((equal cmt "today")
(setq org--msg-extra "showing today's task time.") (setq org--msg-extra "showing today's task time.")
(let* ((dt (org-decode-time nil t)) (let* ((dt (decode-time))
(hour (nth 2 dt)) (hour (nth 2 dt))
(day (nth 3 dt))) (day (nth 3 dt)))
(if (< hour org-extend-today-until) (setf (nth 3 dt) (1- day))) (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."
(defvar-local org-clock-file-total-minutes nil (defvar-local org-clock-file-total-minutes nil
"Holds the file total time in minutes, after a call to `org-clock-sum'.") "Holds the file total time in minutes, after a call to `org-clock-sum'.")
;;;###autoload
(defun org-clock-sum-today (&optional headline-filter) (defun org-clock-sum-today (&optional headline-filter)
"Sum the times for each subtree for today." "Sum the times for each subtree for today."
(let ((range (org-clock-special-range 'today))) (let ((range (org-clock-special-range 'today)))
@ -1929,37 +1905,36 @@ Use `\\[org-clock-remove-overlays]' to remove the subtree times."
(prop (cond ((not arg) :org-clock-minutes-default) (prop (cond ((not arg) :org-clock-minutes-default)
(todayp :org-clock-minutes-today) (todayp :org-clock-minutes-today)
(customp :org-clock-minutes-custom) (customp :org-clock-minutes-custom)
(t :org-clock-minutes))) (t :org-clock-minutes))))
time h m p)
(cond ((not arg) (org-clock-sum-custom (cond ((not arg) (org-clock-sum-custom
nil org-clock-display-default-range prop)) nil org-clock-display-default-range prop))
(todayp (org-clock-sum-today)) (todayp (org-clock-sum-today))
(customp (org-clock-sum-custom nil arg)) (customp (org-clock-sum-custom nil arg))
(t (org-clock-sum))) (t (org-clock-sum)))
(unless (eq arg '(64)) (unless (equal arg '(64))
(save-excursion (save-excursion
(goto-char (point-min)) (goto-char (point-min))
(while (or (and (equal (setq p (point)) (point-min)) (let ((p nil))
(get-text-property p prop)) (while (or (and (equal (setq p (point)) (point-min))
(setq p (next-single-property-change (get-text-property p prop))
(point) prop))) (setq p (next-single-property-change (point) prop)))
(goto-char p) (goto-char p)
(when (setq time (get-text-property p prop)) (let ((time (get-text-property p prop)))
(org-clock-put-overlay time))) (when time (org-clock-put-overlay time)))))
(setq h (/ org-clock-file-total-minutes 60)
m (- org-clock-file-total-minutes (* 60 h)))
;; Arrange to remove the overlays upon next change. ;; Arrange to remove the overlays upon next change.
(when org-remove-highlights-with-change (when org-remove-highlights-with-change
(add-hook 'before-change-functions 'org-clock-remove-overlays (add-hook 'before-change-functions 'org-clock-remove-overlays
nil 'local)))) nil 'local))))
(message (concat (format "Total file time%s: " (let* ((h (/ org-clock-file-total-minutes 60))
(cond (todayp " for today") (m (- org-clock-file-total-minutes (* 60 h))))
(customp " (custom)") (message (concat (format "Total file time%s: "
(t ""))) (cond (todayp " for today")
(org-duration-from-minutes (customp " (custom)")
org-clock-file-total-minutes) (t "")))
" (%d hours and %d minutes)") (org-duration-from-minutes
h m))) org-clock-file-total-minutes)
" (%d hours and %d minutes)")
h m))))
(defvar-local org-clock-overlays nil) (defvar-local org-clock-overlays nil)
@ -2051,27 +2026,32 @@ fontified, and then returned."
;;;###autoload ;;;###autoload
(defun org-clock-report (&optional arg) (defun org-clock-report (&optional arg)
"Create a table containing a report about clocked time. "Update or create a table containing a report about clocked time.
If the cursor is inside an existing clocktable block, then the table
will be updated. If not, a new clocktable will be inserted. The scope
of the new clock will be subtree when called from within a subtree, and
file elsewhere.
When called with a prefix argument, move to the first clock table in the If point is inside an existing clocktable block, update it.
buffer and update it." Otherwise, insert a new one.
The new table inherits its properties from the variable
`org-clock-clocktable-default-properties'. The scope of the
clocktable, when not specified in the previous variable, is
`subtree' when the function is called from within a subtree, and
`file' elsewhere.
When called with a prefix argument, move to the first clock table
in the buffer and update it."
(interactive "P") (interactive "P")
(org-clock-remove-overlays) (org-clock-remove-overlays)
(when arg (when arg
(org-find-dblock "clocktable") (org-find-dblock "clocktable")
(org-show-entry)) (org-show-entry))
(if (org-in-clocktable-p) (pcase (org-in-clocktable-p)
(goto-char (org-in-clocktable-p)) (`nil
(let ((props (if (ignore-errors (org-create-dblock
(save-excursion (org-back-to-heading))) (org-combine-plists
(list :name "clocktable" :scope 'subtree) (list :scope (if (org-before-first-heading-p) 'file 'subtree))
(list :name "clocktable")))) org-clock-clocktable-default-properties
(org-create-dblock '(:name "clocktable"))))
(org-combine-plists org-clock-clocktable-default-properties props)))) (start (goto-char start)))
(org-update-dblock)) (org-update-dblock))
(defun org-day-of-week (day month year) (defun org-day-of-week (day month year)
@ -2258,7 +2238,9 @@ have priority."
;; Format start and end times according to AS-STRINGS. ;; Format start and end times according to AS-STRINGS.
(let* ((start (pcase key (let* ((start (pcase key
(`interactive (org-read-date nil t nil "Range start? ")) (`interactive (org-read-date nil t nil "Range start? "))
(`untilnow org-clock--oldest-date) ;; In theory, all clocks started after the dawn of
;; humanity.
(`untilnow (encode-time 0 0 0 0 0 -50000))
(_ (encode-time 0 m h d month y)))) (_ (encode-time 0 m h d month y))))
(end (pcase key (end (pcase key
(`interactive (org-read-date nil t nil "Range end? ")) (`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."
(defun org-clocktable-steps (params) (defun org-clocktable-steps (params)
"Step through the range to make a number of clock tables." "Step through the range to make a number of clock tables."
(let* ((p1 (copy-sequence params)) (let* ((ts (plist-get params :tstart))
(ts (plist-get p1 :tstart)) (te (plist-get params :tend))
(te (plist-get p1 :tend)) (ws (plist-get params :wstart))
(ws (plist-get p1 :wstart)) (ms (plist-get params :mstart))
(ms (plist-get p1 :mstart)) (step0 (plist-get params :step))
(step0 (plist-get p1 :step)) (step (cdr (assq step0 '((day . 86400) (week . 604800)))))
(step (cdr (assoc step0 '((day . 86400) (week . 604800))))) (stepskip0 (plist-get params :stepskip0))
(stepskip0 (plist-get p1 :stepskip0)) (block (plist-get params :block))
(block (plist-get p1 :block)) cc tsb)
cc step-time tsb)
(when block (when block
(setq cc (org-clock-special-range block nil t ws ms) (setq cc (org-clock-special-range block nil t ws ms)
ts (car cc) ts (car cc)
@ -2724,37 +2705,37 @@ LEVEL is an integer. Indent by two spaces per level above 1."
(setq tsb (setq tsb
(if (eq step0 'week) (if (eq step0 'week)
(let ((dow (nth 6 (decode-time (seconds-to-time ts))))) (let ((dow (nth 6 (decode-time (seconds-to-time ts)))))
(if (< dow ws) ts (if (<= dow ws) ts
(- ts (* 86400 (- dow ws))))) (- ts (* 86400 (- dow ws)))))
ts)) ts))
(setq p1 (plist-put p1 :header ""))
(setq p1 (plist-put p1 :step nil))
(setq p1 (plist-put p1 :block nil))
(while (< tsb te) (while (< tsb te)
(or (bolp) (insert "\n")) (unless (bolp) (insert "\n"))
(setq p1 (plist-put p1 :tstart (format-time-string (let ((start-time (seconds-to-time (max tsb ts))))
(org-time-stamp-format nil t) (cl-incf tsb (let ((dow (nth 6 (decode-time (seconds-to-time tsb)))))
(seconds-to-time (max tsb ts))))) (if (or (eq step0 'day)
(cl-incf tsb (let ((dow (nth 6 (decode-time (seconds-to-time tsb))))) (= dow ws))
(if (or (eq step0 'day) step
(= dow ws)) (* 86400 (- ws dow)))))
step (insert "\n"
(* 86400 (- ws dow))))) (if (eq step0 'day) "Daily report: "
(setq p1 (plist-put p1 :tend (format-time-string "Weekly report starting on: ")
(org-time-stamp-format nil t) (format-time-string (org-time-stamp-format nil t) start-time)
(seconds-to-time (min te tsb))))) "\n")
(insert "\n" (if (eq step0 'day) "Daily report: " (let ((table-begin (line-beginning-position 0))
"Weekly report starting on: ") (step-time
(plist-get p1 :tstart) "\n") (org-dblock-write:clocktable
(setq step-time (org-dblock-write:clocktable p1)) (org-combine-plists
(re-search-forward "^[ \t]*#\\+END:") params
(when (and (equal step-time 0) stepskip0) (list
;; Remove the empty table :header "" :step nil :block nil
(delete-region (point-at-bol) :tstart (format-time-string (org-time-stamp-format t t)
(save-excursion start-time)
(re-search-backward "^\\(Daily\\|Weekly\\) report" :tend (format-time-string (org-time-stamp-format t t)
nil t) (seconds-to-time (min te tsb))))))))
(point)))) (re-search-forward "^[ \t]*#\\+END:")
(when (and stepskip0 (equal step-time 0))
;; Remove the empty table
(delete-region (line-beginning-position) table-begin))))
(end-of-line 0)))) (end-of-line 0))))
(defun org-clock-get-table-data (file params) (defun org-clock-get-table-data (file params)

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;
@ -61,12 +61,6 @@
(defalias 'format-message 'format) (defalias 'format-message 'format)
(defalias 'gui-get-selection 'x-get-selection)) (defalias 'gui-get-selection 'x-get-selection))
(defun org-decode-time (&optional time zone)
"Backward-compatible function for `decode-time'."
(if (< emacs-major-version 25)
(decode-time time)
(decode-time time zone)))
(unless (fboundp 'directory-name-p) (unless (fboundp 'directory-name-p)
(defun directory-name-p (name) (defun directory-name-p (name)
"Return non-nil if NAME ends with a directory separator character." "Return non-nil if NAME ends with a directory separator character."
@ -78,37 +72,6 @@
(and (memq system-type '(windows-nt ms-dos)) (and (memq system-type '(windows-nt ms-dos))
(= lastc ?\\)))))) (= lastc ?\\))))))
(unless (fboundp 'directory-files-recursively)
(defun directory-files-recursively (dir regexp &optional include-directories)
"Return list of all files under DIR that have file names matching REGEXP.
This function works recursively. Files are returned in \"depth first\"
order, and files from each directory are sorted in alphabetical order.
Each file name appears in the returned list in its absolute form.
Optional argument INCLUDE-DIRECTORIES non-nil means also include in the
output directories whose names match REGEXP."
(let ((result nil)
(files nil)
;; When DIR is "/", remote file names like "/method:" could
;; also be offered. We shall suppress them.
(tramp-mode (and tramp-mode (file-remote-p (expand-file-name dir)))))
(dolist (file (sort (file-name-all-completions "" dir)
'string<))
(unless (member file '("./" "../"))
(if (directory-name-p file)
(let* ((leaf (substring file 0 (1- (length file))))
(full-file (expand-file-name leaf dir)))
;; Don't follow symlinks to other directories.
(unless (file-symlink-p full-file)
(setq result
(nconc result (directory-files-recursively
full-file regexp include-directories))))
(when (and include-directories
(string-match regexp leaf))
(setq result (nconc result (list full-file)))))
(when (string-match regexp file)
(push (expand-file-name file dir) files)))))
(nconc result (nreverse files)))))
;;; Obsolete aliases (remove them after the next major release). ;;; Obsolete aliases (remove them after the next major release).

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; Author: Jan Böcker <jan.boecker at jboecker dot de> ;; Author: Jan Böcker <jan.boecker at jboecker dot de>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -22,7 +22,7 @@
;;; Commentary: ;;; Commentary:
;; ;;
;; See <http://orgmode.org/worg/dev/org-syntax.html> for details about ;; See <https://orgmode.org/worg/dev/org-syntax.html> for details about
;; Org syntax. ;; Org syntax.
;; ;;
;; Lisp-wise, a syntax object can be represented as a list. ;; Lisp-wise, a syntax object can be represented as a list.
@ -3065,7 +3065,7 @@ Assume point is at the beginning of the link."
(setq path (match-string-no-properties 1)) (setq path (match-string-no-properties 1))
(setq contents-begin (match-beginning 1)) (setq contents-begin (match-beginning 1))
(setq contents-end (match-end 1))) (setq contents-end (match-end 1)))
;; Type 2: Standard link, i.e. [[http://orgmode.org][homepage]] ;; Type 2: Standard link, i.e. [[https://orgmode.org][homepage]]
((looking-at org-bracket-link-regexp) ((looking-at org-bracket-link-regexp)
(setq format 'bracket) (setq format 'bracket)
(setq contents-begin (match-beginning 3)) (setq contents-begin (match-beginning 3))
@ -3114,14 +3114,14 @@ Assume point is at the beginning of the link."
(t (t
(setq type "fuzzy") (setq type "fuzzy")
(setq path raw-link)))) (setq path raw-link))))
;; Type 3: Plain link, e.g., http://orgmode.org ;; Type 3: Plain link, e.g., https://orgmode.org
((looking-at org-plain-link-re) ((looking-at org-plain-link-re)
(setq format 'plain) (setq format 'plain)
(setq raw-link (match-string-no-properties 0)) (setq raw-link (match-string-no-properties 0))
(setq type (match-string-no-properties 1)) (setq type (match-string-no-properties 1))
(setq link-end (match-end 0)) (setq link-end (match-end 0))
(setq path (match-string-no-properties 2))) (setq path (match-string-no-properties 2)))
;; Type 4: Angular link, e.g., <http://orgmode.org>. Unlike to ;; Type 4: Angular link, e.g., <https://orgmode.org>. Unlike to
;; bracket links, follow RFC 3986 and remove any extra ;; bracket links, follow RFC 3986 and remove any extra
;; whitespace in URI. ;; whitespace in URI.
((looking-at org-angle-link-re) ((looking-at org-angle-link-re)

View file

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>, ;; Author: Carsten Dominik <carsten at orgmode dot org>,
;; Ulf Stegemann <ulf at zeitform dot de> ;; Ulf Stegemann <ulf at zeitform dot de>
;; Keywords: outlines, calendar, wp ;; Keywords: outlines, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; Author: Marco Wahl <marcowahlsoft>a<gmailcom> ;; Author: Marco Wahl <marcowahlsoft>a<gmailcom>
;; Keywords: link, eww ;; Keywords: link, eww
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; ;;
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;
@ -276,14 +276,21 @@ have been saved."
(defun org-feed-update-all () (defun org-feed-update-all ()
"Get inbox items from all feeds in `org-feed-alist'." "Get inbox items from all feeds in `org-feed-alist'."
(interactive) (interactive)
(let ((nfeeds (length org-feed-alist)) (let ((entries 0)
(nnew (apply '+ (mapcar 'org-feed-update org-feed-alist)))) (errors 0)
(message "%s from %d %s" (total-feeds (length org-feed-alist)))
(cond ((= nnew 0) "No new entries") (dolist (feed org-feed-alist)
((= nnew 1) "1 new entry") (let ((items (ignore-errors (org-feed-update feed))))
(t (format "%d new entries" nnew))) (if items (cl-incf entries items)
nfeeds (cl-incf errors))))
(if (= nfeeds 1) "feed" "feeds")))) (message "%s from %d %s%s"
(pcase entries
(0 "No new entries")
(1 "1 new entry")
(_ (format "%d new entries" entries)))
total-feeds
(if (= total-feeds 1) "feed" "feeds")
(if (= 0 errors) "" (format " (unavailable feeds: %d)" errors)))))
;;;###autoload ;;;###autoload
(defun org-feed-update (feed &optional retrieve-only) (defun org-feed-update (feed &optional retrieve-only)

View file

@ -4,7 +4,7 @@
;; ;;
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Tassilo Horn <tassilo at member dot fsf dot org> ;; Tassilo Horn <tassilo at member dot fsf dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;
@ -42,6 +42,7 @@
(declare-function gnus-activate-group "gnus-start" (group &optional scan dont-check method dont-sub-check)) (declare-function gnus-activate-group "gnus-start" (group &optional scan dont-check method dont-sub-check))
(declare-function gnus-find-method-for-group "gnus" (group &optional info)) (declare-function gnus-find-method-for-group "gnus" (group &optional info))
(declare-function gnus-article-show-summary "gnus-art" ())
(declare-function gnus-group-group-name "gnus-group") (declare-function gnus-group-group-name "gnus-group")
(declare-function gnus-group-jump-to-group "gnus-group" (group &optional prompt)) (declare-function gnus-group-jump-to-group "gnus-group" (group &optional prompt))
(declare-function gnus-group-read-group "gnus-group" (&optional all no-article group select-articles)) (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
(save-excursion (save-excursion
(nnir-article-group (gnus-summary-article-number)))) (nnir-article-group (gnus-summary-article-number))))
(_ gnus-newsgroup-name))) (_ gnus-newsgroup-name)))
(header (with-current-buffer gnus-summary-buffer (header (if (eq major-mode 'gnus-article-mode)
;; When in an article, first move to summary
;; buffer, with point on the summary of the
;; current article before extracting headers.
(save-window-excursion
(save-excursion
(gnus-article-show-summary)
(gnus-summary-article-header)))
(gnus-summary-article-header))) (gnus-summary-article-header)))
(from (mail-header-from header)) (from (mail-header-from header))
(message-id (org-unbracket-string "<" ">" (mail-header-id header))) (message-id (org-unbracket-string "<" ">" (mail-header-id header)))

View file

@ -4,7 +4,7 @@
;; Author: John Wiegley <johnw at gnu dot org> ;; Author: John Wiegley <johnw at gnu dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; ;;
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; ;;
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; ;;
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.

View file

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Bastien Guerry <bzg@gnu.org> ;; Bastien Guerry <bzg@gnu.org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;
@ -121,6 +121,7 @@
(declare-function org-element-set-element "org-element" (old new)) (declare-function org-element-set-element "org-element" (old new))
(declare-function org-element-type "org-element" (element)) (declare-function org-element-type "org-element" (element))
(declare-function org-element-update-syntax "org-element" ()) (declare-function org-element-update-syntax "org-element" ())
(declare-function org-end-of-meta-data "org" (&optional full))
(declare-function org-entry-get "org" (declare-function org-entry-get "org"
(pom property &optional inherit literal-nil)) (pom property &optional inherit literal-nil))
(declare-function org-export-create-backend "ox" (&rest rest) t) (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
(defun org-toggle-checkbox (&optional toggle-presence) (defun org-toggle-checkbox (&optional toggle-presence)
"Toggle the checkbox in the current line. "Toggle the checkbox in the current line.
With prefix arg TOGGLE-PRESENCE, add or remove checkboxes. With
double prefix, set checkbox to [-]. With prefix argument TOGGLE-PRESENCE, add or remove checkboxes.
With a double prefix argument, set the checkbox to \"[-]\".
When there is an active region, toggle status or presence of the When there is an active region, toggle status or presence of the
first checkbox there, and make every item inside have the same first checkbox there, and make every item inside have the same
status or presence, respectively. status or presence, respectively.
If the cursor is in a headline, apply this to all checkbox items If point is on a headline, apply this to all checkbox items in
in the text below the heading, taking as reference the first item the text below the heading, taking as reference the first item in
in subtree, ignoring drawers." subtree, ignoring planning line and any drawer following it."
(interactive "P") (interactive "P")
(save-excursion (save-excursion
(let* (singlep (let* (singlep
block-item block-item
lim-up lim-up
lim-down lim-down
(keyword-re (concat "^[ \t]*\\<\\(" org-scheduled-string
"\\|" org-deadline-string
"\\|" org-closed-string
"\\|" org-clock-string "\\)"
" *[[<]\\([^]>]+\\)[]>]"))
(orderedp (org-entry-get nil "ORDERED")) (orderedp (org-entry-get nil "ORDERED"))
(_bounds (_bounds
;; In a region, start at first item in region. ;; In a region, start at first item in region.
@ -2389,15 +2386,10 @@ in subtree, ignoring drawers."
(error "No item in region")) (error "No item in region"))
(setq lim-down (copy-marker limit)))) (setq lim-down (copy-marker limit))))
((org-at-heading-p) ((org-at-heading-p)
;; On an heading, start at first item after drawers and ;; On a heading, start at first item after drawers and
;; time-stamps (scheduled, etc.). ;; time-stamps (scheduled, etc.).
(let ((limit (save-excursion (outline-next-heading) (point)))) (let ((limit (save-excursion (outline-next-heading) (point))))
(forward-line 1) (org-end-of-meta-data t)
(while (or (looking-at org-drawer-regexp)
(looking-at keyword-re))
(if (looking-at keyword-re)
(forward-line 1)
(re-search-forward "^[ \t]*:END:" limit nil)))
(if (org-list-search-forward (org-item-beginning-re) limit t) (if (org-list-search-forward (org-item-beginning-re) limit t)
(setq lim-up (point-at-bol)) (setq lim-up (point-at-bol))
(error "No item in subtree")) (error "No item in subtree"))
@ -2656,8 +2648,8 @@ Return t if successful."
(= top (point-at-bol)) (= top (point-at-bol))
(cdr (assq 'indent org-list-automatic-rules)) (cdr (assq 'indent org-list-automatic-rules))
(if no-subtree (if no-subtree
(error (user-error
"First item of list cannot move without its subtree") "At first item: use S-M-<left/right> to move the whole list")
t)))) t))))
;; Determine begin and end points of zone to indent. If moving ;; Determine begin and end points of zone to indent. If moving
;; more than one item, save them for subsequent moves. ;; more than one item, save them for subsequent moves.

View file

@ -130,7 +130,7 @@ Templates are stored in buffer-local variable
function installs the following ones: \"property\", function installs the following ones: \"property\",
\"time\". and, if the buffer is associated to a file, \"time\". and, if the buffer is associated to a file,
\"input-file\" and \"modification-time\"." \"input-file\" and \"modification-time\"."
(let* ((templates (org-macro--collect-macros)) (let* ((templates nil)
(update-templates (update-templates
(lambda (cell) (lambda (cell)
(let ((old-template (assoc (car cell) templates))) (let ((old-template (assoc (car cell) templates)))
@ -164,7 +164,7 @@ function installs the following ones: \"property\",
(org-macro--counter-initialize) (org-macro--counter-initialize)
(funcall update-templates (funcall update-templates
(cons "n" "(eval (org-macro--counter-increment \"$1\" \"$2\"))")) (cons "n" "(eval (org-macro--counter-increment \"$1\" \"$2\"))"))
(setq org-macro-templates templates))) (setq org-macro-templates (nconc (org-macro--collect-macros) templates))))
(defun org-macro-expand (macro templates) (defun org-macro-expand (macro templates)
"Return expanded MACRO, as a string. "Return expanded MACRO, as a string.

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; Author: Thomas Baumann <thomas dot baumann at ch dot tum dot de> ;; Author: Thomas Baumann <thomas dot baumann at ch dot tum dot de>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -3,7 +3,7 @@
;; ;;
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -24,7 +24,7 @@
;; ;;
;; Org-mouse provides mouse support for org-mode. ;; Org-mouse provides mouse support for org-mode.
;; ;;
;; http://orgmode.org ;; https://orgmode.org
;; ;;
;; Org mouse implements the following features: ;; Org mouse implements the following features:
;; * following links with the left mouse button ;; * following links with the left mouse button

View file

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; John Wiegley <johnw at gnu dot org> ;; John Wiegley <johnw at gnu dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; ;;
;; Author: Eric Schulte <schulte dot eric at gmail dot com> ;; Author: Eric Schulte <schulte dot eric at gmail dot com>
;; Keywords: tables, plotting ;; Keywords: tables, plotting
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -184,10 +184,10 @@ Possible properties are:
Example: Example:
(setq org-protocol-project-alist (setq org-protocol-project-alist
\\='((\"http://orgmode.org/worg/\" \\='((\"https://orgmode.org/worg/\"
:online-suffix \".php\" :online-suffix \".php\"
:working-suffix \".org\" :working-suffix \".org\"
:base-url \"http://orgmode.org/worg/\" :base-url \"https://orgmode.org/worg/\"
:working-directory \"/home/user/org/Worg/\") :working-directory \"/home/user/org/Worg/\")
(\"http://localhost/org-notes/\" (\"http://localhost/org-notes/\"
:online-suffix \".html\" :online-suffix \".html\"
@ -688,7 +688,7 @@ the cdr of an element in `org-publish-project-alist', reuse
(let ((working-dir (expand-file-name (let ((working-dir (expand-file-name
(or (plist-get project-plist :base-directory) (or (plist-get project-plist :base-directory)
default-directory))) default-directory)))
(base-url "http://orgmode.org/worg/") (base-url "https://orgmode.org/worg/")
(strip-suffix (or (plist-get project-plist :html-extension) ".html")) (strip-suffix (or (plist-get project-plist :html-extension) ".html"))
(working-suffix (if (plist-get project-plist :base-extension) (working-suffix (if (plist-get project-plist :base-extension)
(concat "." (plist-get project-plist :base-extension)) (concat "." (plist-get project-plist :base-extension))

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -6,7 +6,7 @@
;; Bastien Guerry <bzg@gnu.org> ;; Bastien Guerry <bzg@gnu.org>
;; Dan Davison <davison at stats dot ox dot ac dot uk> ;; Dan Davison <davison at stats dot ox dot ac dot uk>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;
@ -135,7 +135,7 @@ the fixed string \"#+ORGTBL: SEND\", followed by instruction on how to
convert the table into a data structure useful in the convert the table into a data structure useful in the
language of the buffer. Check the manual for the section on language of the buffer. Check the manual for the section on
\"Translator functions\", and more generally check out \"Translator functions\", and more generally check out
http://orgmode.org/manual/Tables-in-arbitrary-syntax.html#Tables-in-arbitrary-syntax the Info node `(org)Tables in arbitrary syntax'.
All occurrences of %n in a template will be replaced with the name of the All occurrences of %n in a template will be replaced with the name of the
table, obtained by prompting the user." table, obtained by prompting the user."
@ -387,16 +387,19 @@ portability of tables."
(const :tag "Error on attempt to cross" error))) (const :tag "Error on attempt to cross" error)))
(defcustom org-table-formula-create-columns nil (defcustom org-table-formula-create-columns nil
"Non-nil means that evaluation of a field formula can add new "Non-nil means evaluation of formula can add new columns.
columns if an out-of-bounds field is being set." When non-nil, evaluating an out-of-bounds field can insert as
many columns as needed. When set to `warn', issue a warning when
doing so. When set to `prompt', ask user before creating a new
column. Otherwise, throw an error."
:group 'org-table-calculation :group 'org-table-calculation
:version "26.1" :version "26.1"
:package-version '(Org . "8.3") :package-version '(Org . "8.3")
:type '(choice :type '(choice
(const :tag "Setting an out-of-bounds field generates an error (default)" nil) (const :tag "Out-of-bounds field generates an error (default)" nil)
(const :tag "Setting an out-of-bounds field silently adds columns as needed" t) (const :tag "Out-of-bounds field silently adds columns as needed" t)
(const :tag "Setting an out-of-bounds field adds columns as needed, but issues a warning message" warn) (const :tag "Out-of-bounds field adds columns, but issues a warning" warn)
(const :tag "When setting an out-of-bounds field, the user is prompted" prompt))) (const :tag "Prompt user when setting an out-of-bounds field" prompt)))
(defgroup org-table-import-export nil (defgroup org-table-import-export nil
"Options concerning table import and export in Org mode." "Options concerning table import and export in Org mode."
@ -3327,7 +3330,9 @@ existing formula for column %s"
t)) t))
(and (eq org-table-formula-create-columns 'prompt) (and (eq org-table-formula-create-columns 'prompt)
(yes-or-no-p (yes-or-no-p
"Out-of-bounds formula. Add columns? "))))))) "Out-of-bounds formula. Add columns? "))
(user-error
"Missing columns in the table. Aborting"))))))
(org-table-eval-formula nil formula t t t t)))) (org-table-eval-formula nil formula t t t t))))
;; Clean up markers and internal text property. ;; Clean up markers and internal text property.
(remove-text-properties (point-min) (point-max) '(org-untouchable t)) (remove-text-properties (point-min) (point-max) '(org-untouchable t))

View file

@ -4,7 +4,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -5,13 +5,13 @@
(defun org-release () (defun org-release ()
"The release version of Org. "The release version of Org.
Inserted by installing Org mode or when a release is made." Inserted by installing Org mode or when a release is made."
(let ((org-release "9.1.6")) (let ((org-release "9.1.9"))
org-release)) org-release))
;;;###autoload ;;;###autoload
(defun org-git-version () (defun org-git-version ()
"The Git version of Org mode. "The Git version of Org mode.
Inserted by installing Org or when a release is made." Inserted by installing Org or when a release is made."
(let ((org-git-version "release_9.1.6-50-g96b33f")) (let ((org-git-version "release_9.1.9-65-g5e4542"))
org-git-version)) org-git-version))
(provide 'org-version) (provide 'org-version)

View file

@ -4,7 +4,7 @@
;; Author: Andy Stewart <lazycat dot manatee at gmail dot com> ;; Author: Andy Stewart <lazycat dot manatee at gmail dot com>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;

View file

@ -6,8 +6,8 @@
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Maintainer: Carsten Dominik <carsten at orgmode dot org> ;; Maintainer: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp ;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org ;; Homepage: https://orgmode.org
;; Version: 9.1.6 ;; Version: 9.1.9
;; ;;
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
;; ;;
@ -49,7 +49,7 @@
;; --------------------------- ;; ---------------------------
;; See the corresponding sections in the manual at ;; See the corresponding sections in the manual at
;; ;;
;; http://orgmode.org/org.html#Installation ;; https://orgmode.org/org.html#Installation
;; ;;
;; Documentation ;; Documentation
;; ------------- ;; -------------
@ -60,7 +60,7 @@
;; in the doc/ directory. ;; in the doc/ directory.
;; ;;
;; A list of recent changes can be found at ;; A list of recent changes can be found at
;; http://orgmode.org/Changes.html ;; https://orgmode.org/Changes.html
;; ;;
;;; Code: ;;; Code:
@ -1866,7 +1866,7 @@ See the manual for examples."
(defcustom org-descriptive-links t (defcustom org-descriptive-links t
"Non-nil means Org will display descriptive links. "Non-nil means Org will display descriptive links.
E.g. [[http://orgmode.org][Org website]] will be displayed as E.g. [[https://orgmode.org][Org website]] will be displayed as
\"Org Website\", hiding the link itself and just displaying its \"Org Website\", hiding the link itself and just displaying its
description. When set to nil, Org will display the full links description. When set to nil, Org will display the full links
literally. literally.
@ -3758,7 +3758,7 @@ This variable is populated from #+PROPERTY lines.")
:group 'org) :group 'org)
(defvar-local org-category nil (defvar-local org-category nil
"Variable used by org files to set a category for agenda display. "Variable used by Org files to set a category for agenda display.
Such files should use a file variable to set it, for example Such files should use a file variable to set it, for example
# -*- mode: org; org-category: \"ELisp\" # -*- mode: org; org-category: \"ELisp\"
@ -4040,7 +4040,7 @@ Place-holders only used by `:image-converter':
(defcustom org-preview-latex-image-directory "ltximg/" (defcustom org-preview-latex-image-directory "ltximg/"
"Path to store latex preview images. "Path to store latex preview images.
A relative path here creates many directories relative to the A relative path here creates many directories relative to the
processed org files paths. An absolute path puts all preview processed Org files paths. An absolute path puts all preview
images at the same place." images at the same place."
:group 'org-latex :group 'org-latex
:version "26.1" :version "26.1"
@ -4238,9 +4238,9 @@ lines to the buffer:
:type 'boolean) :type 'boolean)
(defcustom org-hidden-keywords nil (defcustom org-hidden-keywords nil
"List of symbols corresponding to keywords to be hidden the org buffer. "List of symbols corresponding to keywords to be hidden in the Org buffer.
For example, a value \\='(title) for this list will make the document's title For example, a value \\='(title) for this list makes the document's title
appear in the buffer without the initial #+TITLE: keyword." appear in the buffer without the initial \"#+TITLE:\" part."
:group 'org-appearance :group 'org-appearance
:version "24.1" :version "24.1"
:type '(set (const :tag "#+AUTHOR" author) :type '(set (const :tag "#+AUTHOR" author)
@ -4903,6 +4903,18 @@ Support for group tags is controlled by the option
(message "Groups tags support has been turned %s" (message "Groups tags support has been turned %s"
(if org-group-tags "on" "off"))) (if org-group-tags "on" "off")))
(defun org-tag-add-to-alist (alist1 alist2)
"Append ALIST1 elements to ALIST2 if they are not there yet."
(cond
((null alist2) alist1)
((null alist1) alist2)
(t (let ((alist2-cars (mapcar (lambda (x) (car-safe x)) alist2))
to-add)
(dolist (i alist1)
(unless (member (car-safe i) alist2-cars)
(push i to-add)))
(append to-add alist2)))))
(defun org-set-regexps-and-options (&optional tags-only) (defun org-set-regexps-and-options (&optional tags-only)
"Precompute regular expressions used in the current buffer. "Precompute regular expressions used in the current buffer.
When optional argument TAGS-ONLY is non-nil, only compute tags When optional argument TAGS-ONLY is non-nil, only compute tags
@ -4931,10 +4943,11 @@ related expressions."
(mapcar #'org-add-prop-inherited (mapcar #'org-add-prop-inherited
(cdr (assq 'filetags alist)))) (cdr (assq 'filetags alist))))
(setq org-current-tag-alist (setq org-current-tag-alist
(append org-tag-persistent-alist (org-tag-add-to-alist
(let ((tags (cdr (assq 'tags alist)))) org-tag-persistent-alist
(if tags (org-tag-string-to-alist tags) (let ((tags (cdr (assq 'tags alist))))
org-tag-alist)))) (if tags (org-tag-string-to-alist tags)
org-tag-alist))))
(setq org-tag-groups-alist (setq org-tag-groups-alist
(org-tag-alist-to-groups org-current-tag-alist)) (org-tag-alist-to-groups org-current-tag-alist))
(unless tags-only (unless tags-only
@ -5249,7 +5262,7 @@ a string, summarizing TAGS, as a list of strings."
(`(,(or :endgroup :endgrouptag)) (`(,(or :endgroup :endgrouptag))
(when (eq group-status 'append) (when (eq group-status 'append)
(push (nreverse current-group) groups)) (push (nreverse current-group) groups))
(setq group-status nil)) (setq group-status nil current-group nil))
(`(:grouptags) (setq group-status 'append)) (`(:grouptags) (setq group-status 'append))
((and `(,tag . ,_) (guard group-status)) ((and `(,tag . ,_) (guard group-status))
(if (eq group-status 'append) (push tag current-group) (if (eq group-status 'append) (push tag current-group)
@ -6052,17 +6065,21 @@ by a #."
(defun org-fontify-macros (limit) (defun org-fontify-macros (limit)
"Fontify macros." "Fontify macros."
(when (re-search-forward "\\({{{\\).+?\\(}}}\\)" limit t) (when (re-search-forward "{{{\\([a-zA-Z][-a-zA-Z0-9_]*\\)" limit t)
(add-text-properties (let ((begin (match-beginning 0))
(match-beginning 0) (match-end 0) (opening-end (match-beginning 1)))
'(font-lock-fontified t face org-macro)) (when (and (re-search-forward "\n[ \t]*\n\\|\\(}}}\\)" limit t)
(when org-hide-macro-markers (match-string 1))
(add-text-properties (match-end 2) (match-beginning 2) (let ((end (match-end 1))
'(invisible t)) (closing-start (match-beginning 1)))
(add-text-properties (match-beginning 1) (match-end 1) (add-text-properties
'(invisible t))) begin end
(org-remove-flyspell-overlays-in (match-beginning 0) (match-end 0)) '(font-lock-multiline t font-lock-fontified t face org-macro))
t)) (org-remove-flyspell-overlays-in begin end)
(when org-hide-macro-markers
(add-text-properties begin opening-end '(invisible t))
(add-text-properties closing-start end '(invisible t)))
t)))))
(defun org-activate-footnote-links (limit) (defun org-activate-footnote-links (limit)
"Add text properties for footnotes." "Add text properties for footnotes."
@ -8459,7 +8476,7 @@ This is a short-hand for marking the subtree and then cutting it."
(org-copy-subtree n 'cut)) (org-copy-subtree n 'cut))
(defun org-copy-subtree (&optional n cut force-store-markers nosubtrees) (defun org-copy-subtree (&optional n cut force-store-markers nosubtrees)
"Copy the current subtree it in the clipboard. "Copy the current subtree into the clipboard.
With prefix arg N, copy this many sequential subtrees. With prefix arg N, copy this many sequential subtrees.
This is a short-hand for marking the subtree and then copying it. This is a short-hand for marking the subtree and then copying it.
If CUT is non-nil, actually cut the subtree. If CUT is non-nil, actually cut the subtree.
@ -8532,7 +8549,6 @@ When REMOVE is non-nil, remove the subtree from the clipboard."
(org-with-limited-levels (org-with-limited-levels
(let* ((visp (not (org-invisible-p))) (let* ((visp (not (org-invisible-p)))
(txt tree) (txt tree)
(^re_ "\\(\\*+\\)[ \t]*")
(old-level (if (string-match org-outline-regexp-bol txt) (old-level (if (string-match org-outline-regexp-bol txt)
(- (match-end 0) (match-beginning 0) 1) (- (match-end 0) (match-beginning 0) 1)
-1)) -1))
@ -8549,7 +8565,7 @@ When REMOVE is non-nil, remove the subtree from the clipboard."
(condition-case nil (condition-case nil
(progn (progn
(outline-previous-visible-heading 1) (outline-previous-visible-heading 1)
(if (looking-at ^re_) (if (looking-at org-outline-regexp-bol)
(- (match-end 0) (match-beginning 0) 1) (- (match-end 0) (match-beginning 0) 1)
1)) 1))
(error 1)))) (error 1))))
@ -8558,7 +8574,7 @@ When REMOVE is non-nil, remove the subtree from the clipboard."
(progn (progn
(or (looking-at org-outline-regexp) (or (looking-at org-outline-regexp)
(outline-next-visible-heading 1)) (outline-next-visible-heading 1))
(if (looking-at ^re_) (if (looking-at org-outline-regexp-bol)
(- (match-end 0) (match-beginning 0) 1) (- (match-end 0) (match-beginning 0) 1)
1)) 1))
(error 1)))) (error 1))))
@ -9680,7 +9696,8 @@ active region."
(cdr (assoc-string (cdr (assoc-string
(completing-read (completing-read
"Which function for creating the link? " "Which function for creating the link? "
(mapcar #'car results-alist) nil t name) (mapcar #'car results-alist)
nil t (symbol-name name))
results-alist))) results-alist)))
t)))) t))))
(setq link (plist-get org-store-link-plist :link)) (setq link (plist-get org-store-link-plist :link))
@ -14124,7 +14141,7 @@ headlines matching this string."
'org-todo-regexp org-todo-regexp 'org-todo-regexp org-todo-regexp
'org-complex-heading-regexp org-complex-heading-regexp 'org-complex-heading-regexp org-complex-heading-regexp
'help-echo 'help-echo
(format "mouse-2 or RET jump to org file %s" (format "mouse-2 or RET jump to Org file %S"
(abbreviate-file-name (abbreviate-file-name
(or (buffer-file-name (buffer-base-buffer)) (or (buffer-file-name (buffer-base-buffer))
(buffer-name (buffer-base-buffer))))))) (buffer-name (buffer-base-buffer)))))))
@ -14320,10 +14337,12 @@ instead of the agenda files."
(mapcar (mapcar
(lambda (file) (lambda (file)
(set-buffer (find-file-noselect file)) (set-buffer (find-file-noselect file))
(mapcar (lambda (x) (org-tag-add-to-alist
(and (stringp (car-safe x)) (org-get-buffer-tags)
(list (car-safe x)))) (mapcar (lambda (x)
(or org-current-tag-alist (org-get-buffer-tags)))) (and (stringp (car-safe x))
(list (car-safe x))))
org-current-tag-alist)))
(if (car-safe files) files (if (car-safe files) files
(org-agenda-files)))))))) (org-agenda-files))))))))
@ -14350,9 +14369,9 @@ See also `org-scan-tags'."
;; Get a new match request, with completion against the global ;; Get a new match request, with completion against the global
;; tags table and the local tags in current buffer. ;; tags table and the local tags in current buffer.
(let ((org-last-tags-completion-table (let ((org-last-tags-completion-table
(org-uniquify (org-tag-add-to-alist
(delq nil (append (org-get-buffer-tags) (org-get-buffer-tags)
(org-global-tags-completion-table)))))) (org-global-tags-completion-table))))
(setq match (setq match
(completing-read (completing-read
"Match: " "Match: "
@ -14534,7 +14553,7 @@ When DOWNCASE is non-nil, expand downcased TAGS."
(tag (match-string 2 return-match)) (tag (match-string 2 return-match))
(tag (if downcased (downcase tag) tag))) (tag (if downcased (downcase tag) tag)))
(unless (or (get-text-property 0 'grouptag (match-string 2 return-match)) (unless (or (get-text-property 0 'grouptag (match-string 2 return-match))
(member tag work-already-expanded)) (member tag tags-already-expanded))
(setq tags-in-group (assoc tag taggroups)) (setq tags-in-group (assoc tag taggroups))
(push tag work-already-expanded) (push tag work-already-expanded)
;; Recursively expand each tag in the group, if the tag hasn't ;; Recursively expand each tag in the group, if the tag hasn't
@ -14802,36 +14821,28 @@ Assume point is on a headline."
(org-set-tags arg just-align)))) (org-set-tags arg just-align))))
(defun org-set-tags-to (data) (defun org-set-tags-to (data)
"Set the tags of the current entry to DATA, replacing the current tags. "Set the tags of the current entry to DATA, replacing current tags.
DATA may be a tags string like :aa:bb:cc:, or a list of tags. DATA may be a tags string like \":aa:bb:cc:\", or a list of tags.
If DATA is nil or the empty string, any tags will be removed." If DATA is nil or the empty string, all tags are removed."
(interactive "sTags: ") (interactive "sTags: ")
(setq data (let ((data
(cond (pcase (if (stringp data) (org-trim data) data)
((eq data nil) "") ((or `nil "") nil)
((equal data "") "") ((pred listp) (format ":%s:" (mapconcat #'identity data ":")))
((stringp data) ((pred stringp)
(concat ":" (mapconcat 'identity (org-split-string data ":+") ":") (format ":%s:"
":")) (mapconcat #'identity (org-split-string data ":+") ":")))
((listp data) (_ (error "Invalid tag specification: %S" data)))))
(concat ":" (mapconcat 'identity data ":") ":")))) (org-with-wide-buffer
(when data (org-back-to-heading t)
(save-excursion (let ((case-fold-search nil)) (looking-at org-complex-heading-regexp))
(org-back-to-heading t) (when (or (match-end 5) data)
(when (let ((case-fold-search nil)) (goto-char (or (match-beginning 5) (line-end-position)))
(looking-at org-complex-heading-regexp)) (skip-chars-backward " \t")
(if (match-end 5) (delete-region (point) (line-end-position))
(progn (when data
(goto-char (match-beginning 5)) (insert " " data)
(insert data) (org-set-tags nil 'align))))))
(delete-region (point) (point-at-eol))
(org-set-tags nil 'align))
(goto-char (point-at-eol))
(insert " " data)
(org-set-tags nil 'align)))
(beginning-of-line 1)
(when (looking-at ".*?\\([ \t]+\\)$")
(delete-region (match-beginning 1) (match-end 1))))))
(defun org-align-all-tags () (defun org-align-all-tags ()
"Align the tags in all headings." "Align the tags in all headings."
@ -14874,27 +14885,16 @@ When JUST-ALIGN is non-nil, only align tags."
(if just-align current (if just-align current
;; Get a new set of tags from the user. ;; Get a new set of tags from the user.
(save-excursion (save-excursion
(let* ((seen) (let* ((table
(table
(setq (setq
org-last-tags-completion-table org-last-tags-completion-table
;; Uniquify tags in alists, yet preserve (org-tag-add-to-alist
;; structure (i.e., keywords). (and
(delq nil org-complete-tags-always-offer-all-agenda-tags
(mapcar (org-global-tags-completion-table
(lambda (pair) (org-agenda-files)))
(let ((head (car pair))) (or org-current-tag-alist
(cond ((symbolp head) pair) (org-get-buffer-tags)))))
((member head seen) nil)
(t (push head seen)
pair))))
(append
(or org-current-tag-alist
(org-get-buffer-tags))
(and
org-complete-tags-always-offer-all-agenda-tags
(org-global-tags-completion-table
(org-agenda-files))))))))
(current-tags (org-split-string current ":")) (current-tags (org-split-string current ":"))
(inherited-tags (inherited-tags
(nreverse (nthcdr (length current-tags) (nreverse (nthcdr (length current-tags)
@ -14973,9 +14973,9 @@ This works in the agenda, and also in an Org buffer."
(list (region-beginning) (region-end) (list (region-beginning) (region-end)
(let ((org-last-tags-completion-table (let ((org-last-tags-completion-table
(if (derived-mode-p 'org-mode) (if (derived-mode-p 'org-mode)
(org-uniquify (org-tag-add-to-alist
(delq nil (append (org-get-buffer-tags) (org-get-buffer-tags)
(org-global-tags-completion-table)))) (org-global-tags-completion-table))
(org-global-tags-completion-table)))) (org-global-tags-completion-table))))
(completing-read (completing-read
"Tag: " 'org-tags-completion-function nil nil nil "Tag: " 'org-tags-completion-function nil nil nil
@ -16510,7 +16510,7 @@ a priority cookie and tags in the standard locations."
(move-marker (make-marker) (match-beginning 0)))))))) (move-marker (make-marker) (match-beginning 0))))))))
(defun org-find-exact-heading-in-directory (heading &optional dir) (defun org-find-exact-heading-in-directory (heading &optional dir)
"Find Org node headline HEADING in all .org files in directory DIR. "Find Org node headline HEADING in all \".org\" files in directory DIR.
When the target headline is found, return a marker to this location." When the target headline is found, return a marker to this location."
(let ((files (directory-files (or dir default-directory) (let ((files (directory-files (or dir default-directory)
t "\\`[^.#].*\\.org\\'")) t "\\`[^.#].*\\.org\\'"))
@ -16633,10 +16633,18 @@ non-nil."
(defun org-time-stamp-inactive (&optional arg) (defun org-time-stamp-inactive (&optional arg)
"Insert an inactive time stamp. "Insert an inactive time stamp.
An inactive time stamp is enclosed in square brackets instead of angle An inactive time stamp is enclosed in square brackets instead of angle
brackets. It is inactive in the sense that it does not trigger agenda entries, brackets. It is inactive in the sense that it does not trigger agenda entries,
does not link to the calendar and cannot be changed with the S-cursor keys. does not link to the calendar and cannot be changed with the S-cursor keys.
So these are more for recording a certain time/date." So these are more for recording a certain time/date.
If the user specifies a time like HH:MM or if this command is called with
at least one prefix argument, the time stamp contains the date and the time.
Otherwise, only the date is included.
When called with two universal prefix arguments, insert an active time stamp
with the current time without prompting the user."
(interactive "P") (interactive "P")
(org-time-stamp arg 'inactive)) (org-time-stamp arg 'inactive))
@ -18230,7 +18238,7 @@ Prompt for confirmation when there are unsaved changes.
Be sure you know what you are doing before letting this function Be sure you know what you are doing before letting this function
overwrite your changes. overwrite your changes.
This function is useful in a setup where one tracks org files This function is useful in a setup where one tracks Org files
with a version control system, to revert on one machine after pulling with a version control system, to revert on one machine after pulling
changes from another. I believe the procedure must be like this: changes from another. I believe the procedure must be like this:
@ -18552,9 +18560,9 @@ When a buffer is unmodified, it is just killed. When modified, it is saved
(setq org-todo-keyword-alist-for-agenda (setq org-todo-keyword-alist-for-agenda
(append org-todo-keyword-alist-for-agenda org-todo-key-alist)) (append org-todo-keyword-alist-for-agenda org-todo-key-alist))
(setq org-tag-alist-for-agenda (setq org-tag-alist-for-agenda
(org-uniquify (org-tag-add-to-alist
(append org-tag-alist-for-agenda org-tag-alist-for-agenda
org-current-tag-alist))) org-current-tag-alist))
;; Merge current file's tag groups into global ;; Merge current file's tag groups into global
;; `org-tag-groups-alist-for-agenda'. ;; `org-tag-groups-alist-for-agenda'.
(when org-group-tags (when org-group-tags
@ -20988,9 +20996,12 @@ Use `\\[org-edit-special]' to edit table.el tables"))
"Abort storing current note, or call `outline-show-branches'." "Abort storing current note, or call `outline-show-branches'."
(interactive) (interactive)
(if (not org-finish-function) (if (not org-finish-function)
(progn (save-excursion
(outline-hide-subtree) (save-restriction
(call-interactively 'outline-show-branches)) (org-narrow-to-subtree)
(org-flag-subtree t)
(call-interactively 'outline-show-branches)
(org-hide-archived-subtrees (point-min) (point-max))))
(let ((org-note-abort t)) (let ((org-note-abort t))
(funcall org-finish-function)))) (funcall org-finish-function))))
@ -21104,7 +21115,13 @@ object (e.g., within a comment). In these case, you need to use
(delete-and-extract-region (point) (line-end-position)))) (delete-and-extract-region (point) (line-end-position))))
(newline-and-indent) (newline-and-indent)
(save-excursion (insert trailing-data)))) (save-excursion (insert trailing-data))))
(t (if indent (newline-and-indent) (newline)))))) (t
;; Do not auto-fill when point is in an Org property drawer.
(let ((auto-fill-function (and (not (org-at-property-p))
auto-fill-function)))
(if indent
(newline-and-indent)
(newline)))))))
(defun org-return-indent () (defun org-return-indent ()
"Goto next table row or insert a newline and indent. "Goto next table row or insert a newline and indent.
@ -21573,7 +21590,7 @@ such private information before sending the email.")
"Remember to cover the basics, that is, what you expected to happen and "Remember to cover the basics, that is, what you expected to happen and
what in fact did happen. You don't know how to make a good report? See what in fact did happen. You don't know how to make a good report? See
http://orgmode.org/manual/Feedback.html#Feedback https://orgmode.org/manual/Feedback.html#Feedback
Your bug report will be posted to the Org mailing list. Your bug report will be posted to the Org mailing list.
------------------------------------------------------------------------") ------------------------------------------------------------------------")
@ -21613,7 +21630,7 @@ Your bug report will be posted to the Org mailing list.
;;;###autoload ;;;###autoload
(defun org-reload (&optional uncompiled) (defun org-reload (&optional uncompiled)
"Reload all org lisp files. "Reload all Org Lisp files.
With prefix arg UNCOMPILED, load the uncompiled versions." With prefix arg UNCOMPILED, load the uncompiled versions."
(interactive "P") (interactive "P")
(require 'loadhist) (require 'loadhist)

Some files were not shown because too many files have changed in this diff Show more