With nanoseconds precision in the timestamp risk for duplicates shall
be ... near 0 ... even in heavy teamwork-environments or heavily
scripted setups.
* lisp/org-compat.el (org-time-convert-to-integer)
(org-time-convert-to-list): New defsubt's to replace common
invocations of time-convert (new in Emacs 27).
* lisp/org-compat.el (org-current-time-as-list): Drop in favor of
org-time-convert-to-list.
These will be used to port changes from the Emacs repo.
* New choice in org-id-method
Timestamps can be chosen as org-id-method. This id-method has the
benefit of being human-readable and has synergies with org-attach if
one likes to organize attachment directories by timestamp instead of
by random names.
* org-id-locations-file-relative
New customization that allows the user to specify that filenames
should be saved relative to the file specified in
org-id-locations-file, instead of being absolute paths.
* org-id-locations-save
Respects new custom variable, org-id-locations-file-relative, and
can save locations with relative filenames.
* org-id-locations-load
Updated to be able to deal with relative filenames if they exist.
* org-id-update-id-locations
Major speedup and minor functionality change. This function is more
predictable now since local open files are not considered. Providing
files as arguments to the function does no longer override other
files. They are instead seen as a complement.
* org-id-add-location
Don't add duplicates.
* org-id-hash-to-alist
Fixed function, previously didn't do its job correctly.
* lisp/org-id.el (org-id-link-to-org-use-id):
* lisp/org.el (org-support-shift-select, org-file-apps):
Remove backslash-newline that immediately precedes another
newline, as this is not the usual style and is confusing.
Avoid backslash-newline-newline in source code
5424436452bc0b3d8a62a8398f92d0c2db81e22b
Paul Eggert
Wed May 22 23:59:36 2019 -0700
* lisp/org-id.el: Update RFC citations.
Update citations of Internet RFCs
b5e66f46a6f33f9d633e6cc3e0770a566bdfcf6b
Paul Eggert
Sat Feb 16 12:00:02 2019 -0800
* lisp/org-compat.el (org-current-time-as-list): New function for
compatibility with Emacsen before 27.1.
This is a follow-up to the backport of Emacs's 93fe42094.
This follows on a suggestion by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2018-08/msg00991.html
(Bug#32902).
* lisp/org-id.el (org-id-uuid, org-id-time-to-b36):
Don't assume timestamps default to list form.
New (TICKS . HZ) timestamp format
93fe420942c08111a6048af7c4d7807c61d80a09
Paul Eggert
Sat Oct 6 23:31:04 2018 -0700
Add changes from Emacs repo that should have been backported with
bb77dd2.
Update copyright year to 2015
7e09ef09a479731d01b1ca46e94ddadd73ac98e3
Paul Eggert
Thu Jan 1 14:26:41 2015 -0800
* org-macs.el (org-autoload): Delete.
* org-docview.el ("docview"): Fix declarations and require
doc-view directly.
* org-id.el (org-id-copy)
(org-id-get-with-outline-path-completion)
(org-id-get-with-outline-drilling, org-id-new):
* org-colview.el:
(org-colview-initial-truncate-line-value)
(org-columns-open-link, org-string-to-number):
* org-clock.el:
(org-clock-put-overlay, org-count-quarter, org-clock-loaded):
* org-archive.el (org-get-local-archive-location):
* org-agenda.el (org-agenda-todo-custom-ignore-p):
Autoload.
Those functions were autoloaded from within calls to `org-autoload'
in org.el, we now autoload them from where they live.
* lisp/org-id.el (org-id-locations-save): Bind print-(level,length) to
nil in this function.
Having these variables set to non-nil values results in an unreadable
result being written to `org-id-locations-file'.
* lisp/org.el (org-reverse-string): Add `org-reverse-string' to
reverse a string.
* lisp/org-id.el(org-id-new, org-id-decode): Replace
`org-id-reverse-string' by `org-reverse-string'.
* lisp/ob-core.el(org-babel-trim): Replace `org-babel-reverse-string'
by `org-reverse-string' and declare it.
TINYCHANGE
* lisp/org-compat.el (org-define-obsolete-function-alias,
org-define-obsolete-variable-alias): Introduce new compatibility
macros to obsolete functions and variables.
* lisp/org-agenda.el, lisp/org-clock.el, lisp/org-id.el,
lisp/org-lparse.el, lisp/org-protocol.el lisp/org.el: Use
`org-define-obsolete-{function,variable}-alias´instead of
`define-obsolate{function,variable}-alias´.
* 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 reverts commit 7719734dd7.
* lisp/org-id.el: Do not use (random t), we just want a new random
number, not a re-seeding of the PRNG for which (random t) doesn't
provide enough entropy anyway. Even if (random) would always
produce the same sequence, the other components going into the MD5
hash ensure that the result will be unique.
* org.el (org-compute-latex-and-specials-regexp)
(org-paste-subtree, org-sort-entries, org-store-link)
(org-open-at-point, org-file-remote-p, org-add-log-setup)
(org-set-tags-to, org-fast-tag-selection)
(org-diary-sexp-entry): Ditto.
* org-agenda.el (org-agenda-get-blocks, org-cmp-priority)
(org-cmp-effort, org-cmp-todo-state, org-cmp-alpha)
(org-cmp-tag, org-cmp-time): Remove useless (t nil) sexps at
the end of (cond ...) constructs.
* org-mobile.el (org-mobile-create-index-file): Ditto.
* org-lparse.el (org-lparse-format-table-row): Ditto.
* org-list.el (org-sort-list): Ditto.
* org-id.el (org-id-get): Ditto.
* org-html.el (org-export-html-preprocess): Ditto.
* org-exp.el (org-default-export-plist)
(org-table-clean-before-export): Ditto.
(t nil) in (cond (...) (...) (t nil)) has no other meaning that to
remind the developer that the cond sexp returns nil in case no condition
is matched. For several (cond ...) constructs this is obvious from reading
the code. For others, the reminder might be useful and we leave it.
See the discussion about this on emacs-devel:
http://thread.gmane.org/gmane.emacs.devel/152664
* org-id.el (org-id-update-id-locations): New parameter to
silent `org-id-find'.
(org-id-find): Use the new parameter.
Thanks to Sébastien Vauban for raising a related issue.
I started from the 78ec8e commit then cherry-picked and squashed
commits that have been done in master since then, except the bad
commits that overwrote the tree (in master) with the tree in maint.
This commit also bumps the version number to 7.8.06.
The only "fix" that was made between 78ec8e and the previous commit
is e0072f which has been reported to break stuff.
This fixes a wrong merge that should not have happened:
commit 7e903a merges the master branch into the maint branch,
while we really want to keep the maint branch a bugfix-only
branch.
This commit reverts back the maint branch to its state before
merging the master branch. From there, we will fix remaining
problems with the maint branch (e.g. copyright issues) then
release this maint branch as Org-mode 7.8.05.
Additionally, replace one
(or (org-mode-p) (derived-mode-p 'org-mode))
with
(derived-mode-p 'org-mode)
cause that is reflexive anyway (returns true, if the current mode is
org-mode).
Delete one check testing for org-mode or org derived mode
Also remove blank lines before the ";;; org*el ends here" declarations.
Having a "Version" header forced us to update every file when releasing a
new version of Org; it also forced us to update every file when merging Org
with Emacs trunk, thus cluttering the diffs between the previously merged
version and the new one with useless information.
Glenn Morris suggested this in emacs-devel:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00322.html
* org-id.el (org-id-locations): Fix docstring, remove reference to
non-existent option.
The configuration option `org-id-use-hash' does not exist. Git bisect
and grepping for 'org-id-use-hash' showed that this string never ever
occured more than once, hence it was never there..
Upstream change from Juanma Barranquero <lekktu@gmail.com>
See message on Sun, 06 Mar 2011 01:30:16 on emacs-diff:
[Emacs-diffs] /srv/bzr/emacs/trunk r103541: * lisp/bookmark.el:
This is the third patch in a series that makes some straightforward
corrections to a number of docstrings. Each change is normally to:
- correct a typo, or
- fix up hyperlinks to function or variable names, or
- ensure slightly better conformance with the documentation guidelines
and tips given in the Elisp manual
No attempt is made to provide missing docstrings or document arguments.
Cheers,
Phil
I'd appreciate if this one could be applied. I'll fix XEmacs to accept
#B<binary> in the future, but I'd appreciate this one anyway. Doesn't
really add complexity ...