org.el: Use nil as the default value for `org-link-to-org-use-id'
* org.el (org-link-to-org-use-id): Move to org-id.el. * org-id.el (org-id-link-to-org-use-id): Rename from `org-link-to-org-use-id'. Use `nil' as the default value. (org-link-to-org-use-id): Alias and define as obsolete. `org-link-to-org-use-id' was previously defined in org.el but only active when org-id.el was loaded. This is wrong. It now belongs to org-id.el. Also, as some libraries require org-id.el on the fly, a non-nil default value for `org-link-to-org-use-id' had the side-effect of changing the behavior of `org-store-link' behind the user's back. Which is wrong too. The new default value is `nil' so that, even when a library requires org-id.el without the user noticing it, the behavior of `org-store-link' will not change. Users who want to keep the previous behavior can set the variable to 'create-if-interactive-and-no-custom-id INCOMPATIBLE
This commit is contained in:
parent
b20ef32b9a
commit
0906e32b15
|
@ -83,6 +83,46 @@
|
|||
:tag "Org ID"
|
||||
:group 'org)
|
||||
|
||||
(define-obsolete-variable-alias
|
||||
'org-link-to-org-use-id 'org-id-link-to-org-use-id "24.3")
|
||||
(defcustom org-id-link-to-org-use-id nil
|
||||
"Non-nil means storing a link to an Org file will use entry IDs.
|
||||
|
||||
The variable can have the following values:
|
||||
|
||||
t Create an ID if needed to make a link to the current entry.
|
||||
|
||||
create-if-interactive
|
||||
If `org-store-link' is called directly (interactively, as a user
|
||||
command), do create an ID to support the link. But when doing the
|
||||
job for capture, only use the ID if it already exists. The
|
||||
purpose of this setting is to avoid proliferation of unwanted
|
||||
IDs, just because you happen to be in an Org file when you
|
||||
call `org-capture' that automatically and preemptively creates a
|
||||
link. If you do want to get an ID link in a capture template to
|
||||
an entry not having an ID, create it first by explicitly creating
|
||||
a link to it, using `C-c C-l' first.
|
||||
|
||||
create-if-interactive-and-no-custom-id
|
||||
Like create-if-interactive, but do not create an ID if there is
|
||||
a CUSTOM_ID property defined in the entry. This is the default.
|
||||
|
||||
use-existing
|
||||
Use existing ID, do not create one.
|
||||
|
||||
nil Never use an ID to make a link, instead link using a text search for
|
||||
the headline text."
|
||||
:group 'org-link-store
|
||||
:group 'org-id
|
||||
:type '(choice
|
||||
(const :tag "Create ID to make link" t)
|
||||
(const :tag "Create if storing link interactively"
|
||||
create-if-interactive)
|
||||
(const :tag "Create if storing link interactively and no CUSTOM_ID is present"
|
||||
create-if-interactive-and-no-custom-id)
|
||||
(const :tag "Only use existing" use-existing)
|
||||
(const :tag "Do not use ID to create link" nil)))
|
||||
|
||||
(defcustom org-id-uuid-program "uuidgen"
|
||||
"The uuidgen program."
|
||||
:group 'org-id
|
||||
|
|
43
lisp/org.el
43
lisp/org.el
|
@ -1447,46 +1447,6 @@ It should match if the message is from the user him/herself."
|
|||
:group 'org-link-store
|
||||
:type 'regexp)
|
||||
|
||||
(defcustom org-link-to-org-use-id 'create-if-interactive-and-no-custom-id
|
||||
"Non-nil means storing a link to an Org file will use entry IDs.
|
||||
|
||||
Note that before this variable is even considered, org-id must be loaded,
|
||||
so please customize `org-modules' and turn it on.
|
||||
|
||||
The variable can have the following values:
|
||||
|
||||
t Create an ID if needed to make a link to the current entry.
|
||||
|
||||
create-if-interactive
|
||||
If `org-store-link' is called directly (interactively, as a user
|
||||
command), do create an ID to support the link. But when doing the
|
||||
job for capture, only use the ID if it already exists. The
|
||||
purpose of this setting is to avoid proliferation of unwanted
|
||||
IDs, just because you happen to be in an Org file when you
|
||||
call `org-capture' that automatically and preemptively creates a
|
||||
link. If you do want to get an ID link in a capture template to
|
||||
an entry not having an ID, create it first by explicitly creating
|
||||
a link to it, using `C-c C-l' first.
|
||||
|
||||
create-if-interactive-and-no-custom-id
|
||||
Like create-if-interactive, but do not create an ID if there is
|
||||
a CUSTOM_ID property defined in the entry. This is the default.
|
||||
|
||||
use-existing
|
||||
Use existing ID, do not create one.
|
||||
|
||||
nil Never use an ID to make a link, instead link using a text search for
|
||||
the headline text."
|
||||
:group 'org-link-store
|
||||
:type '(choice
|
||||
(const :tag "Create ID to make link" t)
|
||||
(const :tag "Create if storing link interactively"
|
||||
create-if-interactive)
|
||||
(const :tag "Create if storing link interactively and no CUSTOM_ID is present"
|
||||
create-if-interactive-and-no-custom-id)
|
||||
(const :tag "Only use existing" use-existing)
|
||||
(const :tag "Do not use ID to create link" nil)))
|
||||
|
||||
(defcustom org-context-in-file-links t
|
||||
"Non-nil means file links from `org-store-link' contain context.
|
||||
A search string will be added to the file name with :: as separator and
|
||||
|
@ -8890,7 +8850,8 @@ type. For a simple example of an export function, see `org-bbdb.el'."
|
|||
(setcdr (assoc type org-link-protocols) (list follow export))
|
||||
(push (list type follow export) org-link-protocols)))
|
||||
|
||||
(defvar org-agenda-buffer-name)
|
||||
(defvar org-agenda-buffer-name) ; Defined in org-agenda.el
|
||||
(defvar org-link-to-org-use-id) ; Defined in org-id.el
|
||||
|
||||
;;;###autoload
|
||||
(defun org-store-link (arg)
|
||||
|
|
Loading…
Reference in New Issue