* 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.
* lisp/org-compat.el (file-attribute-modification-time,
file-attribute-size): New functions for compatibility with Emacsen
before 26.1.
This is a follow-up to the backport of Emacs's 662bee7d7.
* lisp/org-compat.el (proper-list-p): New function for compatibility
with Emacsen before 27.1.
This is a follow-up to the backport of Emacs's 2fde6275b.
* lisp/org.el (org-dynamic-block-insert-dblock,
org-dynamic-block-alist, org-dynamic-block-functions,
org-dynamic-block-types, org-dynamic-block-define,
org-dynamic-block-function): New variables, New functions.
* lisp/org-keys.el (org-dynamic-block-insert-dblock): Add binding for
the function.
(org-clock-report, org-columns-insert-dblock): Remove function
keybindings. Mark them as obsolete.
* doc/org-manual.org (Dynamic Blocks): : Add manual for dispatch
command `org-dynamic-block-insert-dblock'.
* testing/lisp/test-org-clock.el: New test.
* lisp/ob-core.el (org-babel-strip-quotes): Remove function.
* lisp/org-macs.el (org-strip-quotes): New function.
* lisp/org-compat.el (org-babel-strip-quotes): Alias for new function.
* lisp/ob-haskell.el (org-babel-execute:haskell):
* lisp/ob-octave.el (org-babel-octave-evaluate-session): Use new function.
* lisp/org.el (org-effort-duration): Remove unused variable.
* lisp/org-compat.el (org-effort-durations): Make
`org-effort-duration' an alias for `org-duration-units'.
* lisp/org-clock.el (org-clock-modify-effort-estimate): Fix docstring.
* doc/org-manual.org (Footnotes): Clarify footnote.
The variable is inactive since introduction of "org-duration" library.
* lisp/org-capture.el (org-capture-member): Make obsolete; the old
definition was identical to ‘org-capture-get’ anyway.
(org-capture-mode-map): Move the calls to ‘define-key’ up to where the
variable is defined.
(org-capture-mode-hook): Small docstring tweak.
(org-capture-mode): Fix typo in mode lighter.
(org-capture-set-target-location, org-capture-place-item):
(org-capture-place-plain-text, org-capture-narrow):
(org-capture-empty-lines-after):
(org-capture-import-remember-templates): ‘if’ without else -> ‘when’
* lisp/org-colview.el (org-columns-edit-value): Change an error to a
user-error.
(org-columns-uncompile-format): Improve docstring.
* lisp/org-compat.el (org-remove-from-invisibility-spec): Make
obsolete, the underlying emacs function exists since 1997, commit 31aa282e.
(org-in-invisibility-spec-p, org-count-lines): ‘if’ without else -> ‘when’.
* lisp/org-element.el (org-element-swap-A-B):
* lisp/org-entities.el (org-entities-create-table):
* lisp/org-list.el (org-insert-item):
* lisp/org-macs.el (org-with-point-at, org-base-buffer):
(org-preserve-local-variables, org-overlay-display):
(org-overlay-before-string): ‘if’ without else -> ‘when’.
* lisp/org-eshell.el (org-eshell-open): Fix docstring typo.
* lisp/org-pcomplete.el (pcomplete/org-mode/file-option/language):
(pcomplete/org-mode/file-option/startup):
(pcomplete/org-mode/file-option/options):
(pcomplete/org-mode/file-option/infojs_opt):
(pcomplete/org-mode/link, pcomplete/org-mode/tex):
(pcomplete/org-mode/todo, pcomplete/org-mode/searchhead):
(pcomplete/org-mode/tag, pcomplete/org-mode/prop): Avoid the formerly
misspelled ‘pcomplete-uniqify-list’ function. It has a defalias in
emacs >= 27; we add our own for older emacsen.
(pcomplete/org-mode/file-option/bind): ‘if’ without else -> ‘when’.
* lisp/org-protocol.el (org-protocol-capture):
(org-protocol-convert-query-to-plist): ‘if’ without else -> ‘when’.
(org-protocol-do-capture): Pacify byte compiler, simplify conditional
logic.
* lisp/org-table.el (org-table-create-with-table.el): Simplify conditional
logic.
(org-table-create, org-table-convert-region, org-table-next-field):
(org-table-beginning-of-field, org-table-end-of-field):
* lisp/org-w3m.el (org-w3m-copy-for-org-mode): ‘if’ without else ->
‘when’.
* lisp/org.el (org-babel-do-load-languages, org-previous-link):
(org-refile): Use ‘(foo ...)’ instead of ‘(funcall 'foo ...)’.
(org-add-log-note): Convert a long cond into a cl-case.
(org-priority): Improve docstring, show a deprecation warning if the
‘show’ argument is passed (which was previously silently ignored).
Also, use ?\s instead of ?\ as a character literal for space.
(org-fast-tag-insert): Fix docstring typo.
(org-fill-element): ‘if’ without else -> ‘when’.
(org-on-target-p): Remove ancient compatibility alias.
* lisp/org-compat.el (org-speedbar-set-agenda-restriction):
* lisp/org-agenda.el (org-agenda-set-restriction-lock):
If there is an agenda restriction at point, remove it.
* doc/org-manual.org:
* etc/ORG-NEWS: Document the new feature.
* org.el (org-sort-entries): Use collated sorting.
(org-tags-sort-function): Use collated sorting.
(org-string-collate-greaterp): Add helper-function to use as defcustom
option, since there is no ‘string-collate-greaterp’ in Emacs.
* org-compat.el (org-string-collate-lessp): Add proxy to fall-back on
string-lessp when string-collate-lessp is missing (Emacs ≤ 24).
* test-org.el (test-org/string-collate-lessp): Add test.
(test-org/sort-entries): Add regression test for non-ASCII inputs.
‘org-sort-entries’ and ‘org-tags-sort-function’ advertise alphabetic
sorting, but actually sort based only on character code. This
produces non-alphabetic orderings of strings in non-ASCII locales.
E. g., German Umlauts “Ä Ü Ö” are alphabetically sorted as if they
were “A U O”, whereas sorting based on character-code will place them
after “Z”, which is unexpected.
* lisp/org-compat.el (org-calendar-to-agenda-key):
(org-calendar-insert-diary-entry-key): Moved from "org.el".
(org--setup-calendar-bindings): New function.
Fixes: Bug#10289
* lisp/org-compat.el (org-decode-time): New function.
* lisp/org-clock.el (org-clock-get-sum-start): Use new function.
Emacs 24's `decode-time' doesn't accept two arguments.
* lisp/ox-texinfo.el (org-texinfo-table-default-markup): Rename from
`org-texinfo-def-table-markup'. Set default value to the neutral
"@asis".
(org-texinfo-plain-list): Use new name.
* lisp/org-compat.el (org-texinfo-def-table-markup): Mark as obsolete.
* doc/org.texi (Publishing options): Document change.
* lisp/org-compat.el (org-time-clocksum-format):
(org-time-clocksum-use-fractional):
(org-time-clocksum-fractional-format):
(org-time-clocksum-use-effort-durations): Do not make an alias to
a variable with an incompatible value.
Reported-by: Achim Gratz <Stromeko@nexgo.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/112266>
* contrib/lisp/org-depend.el (org-depend-trigger-todo): Use new
functions.
* contrib/lisp/org-invoice.el (org-invoice-heading-info):
(org-invoice-info-to-table):
(org-invoice-list-to-table): Use new functions.
* contrib/lisp/ox-taskjuggler.el (org-taskjuggler--build-task): Use
new functions.
* lisp/org-agenda.el (org-agenda-show-clocking-issues):
(org-agenda-format-item):
(org-agenda-filter-effort-form): Use new functions.
* lisp/org-clock.el (org-clock-get-clock-string):
(org-clock-modify-effort-estimate):
(org-clock-notify-once-if-expired):
(org-clock-out):
(org-clock-display):
(org-clock-put-overlay):
(org-clocktable-write-default): Use new functions.
* lisp/org-table.el (org-table-sort-lines): Use new functions.
* lisp/org.el (org-properties-postprocess-alist):
(org-refresh-effort-properties):
(org-set-effort):
(org-entry-properties):
(org-property-next-allowed-value): Use new functions.
(org-time-clocksum-format):
(org-time-clocksum-use-fractional):
(org-time-clocksum-use-fractional-format):
(org-time-clocksum-use-effort-durations): Declare as obsolete. Move
to "org-compat.el".
(org-minutes-to-clocksum-string):
(org-hh:mm-string-to-minutes):
(org-duration-string-to-minutes): Declare as obsolete. Move to
"org-compat.el".
(org-hours-to-clocksum-string): Remove function.
* lisp/org-colview.el (org-columns--collect-values): Use new
functions.
(org-columns--duration-re): Remove variable.
(org-columns--time-to-seconds): Rename to...
(org-columns--age-to-minutes): ... this.
(org-columns--format-age): New function.
(org-columns--summary-apply-times):
(org-columns--summary-min-age):
(org-columns--summary-max-age):
(org-columns--summary-mean-age): Use new functions.
* testing/lisp/test-org-clock.el (test-org-clock-clocktable-contents-at-point):
* testing/lisp/test-org-colview.el (test-org-colview/columns-summary):
Update tests.
* lisp/ob-core.el (org-babel-capitalize-example-region-markers): Mark
as obsolete.
(org-babel-uppercase-example-markers): New defcustom to replace defvar
org-babel-capitalize-example-region-markers.
(org-babel-examplify-region): Use new option.
Rather than moving org-babel-capitalize-example-region-markers to a
defcustom, give the option a new name that makes it clearer that all
characters, not just the first, will be in upper case.
Suggested-by: Vicente Vera <vicentemvp@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/111656>
* lisp/org-agenda.el (org-agenda-skip-entry-if):
(org-agenda-skip-entry-if):
(org-agenda-skip-entry-if): Move to...
* lisp/org-compat.el (org-agenda-skip-entry-when-regexp-matches):
(org-agenda-skip-subtree-when-regexp-matches):
(org-agenda-skip-entry-when-regexp-matches-in-subtree): ... here and
mark as obsolete.
These functions are not used in code base anymore, and they are easily
replaced with `org-agenda-skip-if'.
* lisp/ox-publish.el (org-publish-project-alist): Document
new :sitemap-format-entry property, and change to `:sitemap-function'.
(org-publish-sitemap-file-entry-format): Make variable obsolete.
(org-publish-org-sitemap): Remove function.
(org-publish--sitemap-files-to-lisp):
(org-publish-sitemap):
(org-publish-sitemap-default-entry):
(org-publish-sitemap-default): New functions.
(org-publish-projects): Use new functions.
* lisp/org-compat: Implement directory-name-p when not available.
* doc/org.texi (Sitemap): Update documentation.
:sitemap-function is more specialized so it is easier to manipulate. In
particular, it can make use of built-in `org-list-to-*' functions.
Also, :sitemap-format-entry, as a function, is less limited than
`org-publish-sitemap-file-entry-format' format string.
* lisp/ob-exp.el (org-babel-exp-process-buffer): Change variable
name `org-export-babel-evaluate' to `org-export-use-babel'. Also
change the name in its `defcustom' and set the `:safe' key.
* lisp/ox-icalendar.el (org-icalendar-export-current-agenda): Change
variable name.
* lisp/ox.el (org-export-as): Change variable name.
* doc/org.texi (Exporting code blocks): Change variable name. Amplify
the explanation of what the variable does. Add variable index entry.
* testing/lisp/test-ob-exp.el: Change variable name.
* testing/lisp/test-ob-lob.el: Change variable name.
* testing/lisp/test-ox.el: Change variable name.
Users were often confused that setting this variable to `nil' will
cause header arguments to be ignored in addition to preventing code
from being evaluated. It is hoped that the documentation changes and
the name `org-export-use-babel' will better convey that everything
babel does can be switched off with this variable.
* lisp/org-compat.el: `string-prefix-p' was introduced in Emacs 24.1,
which is below Org minimal expectations. Only define
`string-suffix-p' when necessary.
* lisp/org.el (org-in-fixed-width-region-p): Make obsolete.
It has no calls in core or contrib, and its function would be better
served by using the parser.
* doc/org.texi (External links): Remove "file+emacs" and "file+sys"
syntax.
* lisp/org-compat.el (org): Support "file+emacs" and "file+sys" for the
time being.
* lisp/org-lint.el (org-lint--checkers): Add checker for obsolete link
types.
(org-lint-file-application): New function.
* lisp/org.el (org-link-parameters): Remove deprecated link types.
* lisp/org-element.el: Replace `org-link-types' variable with
`org-link-types' function.
* lisp/org.el: Replace the `org-link-types' variable with
`org-link-types' function. Create `org-link-get-parameter' and
`org-link-set-parameters' functions. Remove `org-add-link-type'. Add
`org-store-link-functions' function and remove
`org-store-link-functions' variable. Add `org--open-file-link' for use
as a :follow function for file type links.
* lisp/org.el: Set :follow functions for file links in `org-link-parameters.
Define `org-open-file-link' that opens a file link with an app.
* testing/lisp/test-ox.el: Remove usage of the `org-link-types'
variable.
* lisp/org-compat.el: Move `org-add-link-type' and mark it as obsolete.
* lisp/ox.el: Change org-add-link-type comment in ox.el.
* lisp/org-compat.el (org-link-escape-browser): Make function an alias
for `url-encode-url'.
* lisp/org.el (org-link-escape-chars-browser): Remove variable.
(org-link-escape-browser): Remove function.
(org-open-at-point):
* lisp/ox-html.el (org-html-link): Use `url-encode-url'.
* testing/lisp/test-org.el(test-org/org-link-escape-chars-browser):
Remove test.
* lisp/org.el (org-find-if): Remove function.
(org-key):
* contrib/lisp/org-contacts.el (org-contacts-db-need-update-p):
(org-contacts-filter):
(org-contacts-test-completion-prefix):
(org-contacts-remove-ignored-property-values): Use `cl-find-if'
* lisp/org-compat.el (org-find-if): Mark function as an obsolete alias
for `cl-find-if'.
* lisp/org-compat.el (org-get-x-clipboard): Use `gui-get-selection',
which obsoletes `x-get-selection'. Define the former as an alias for
the latter for backward compatibility.
* lisp/org-compat.el (org-select-frame-set-input-focus): Check for
w32-focus-frame to quiet byte compiler.
Don't use declare-function because this function was marked obsolete in
Emacs 23.1 (44fe0f6).
* lisp/org-compat.el (org-font-lock-ensure): Add new alias that accepts
the same number of arguments as font-lock-ensure does. Use an org-
prefix.
* lisp/org-clock.el (org-clock-get-clocktable):
* lisp/org.el (org-fontify-like-in-org-mode):
* lisp/ox-html.el (org-html-fontify-code):
* lisp/ox-odt.el (org-odt-do-format-code):
* lisp/ox-org.el (org-org-publish-to-org): Use org-font-lock-ensure.
See Emacs's bug#22399.
These changes are the combination of the commits below (in order
applied). Unlike other backports, these are applied in one commit
because they are closely related and because some of the later commits
reverse changes in earlier commits. Changes to message and help quote
display for Emacs 25 seem to be here to stay. The quote protections are
required to ensure grave accents and apostrophes are displayed as
intended in Emacs 25, and they should not affect earlier versions.
Quoting fixes in lisp/org
6cd2629bd1b3ce77d29ac28e29237c94a4197116
Paul Eggert
Mon Aug 31 00:29:40 2015 -0700
More-conservative ‘format’ quote restyling
fbb5531fa11d13854b274d28ccd329c9b6652cfc
Paul Eggert
Sun Aug 23 22:39:06 2015 -0700
Prefer directed to neutral quotes
875a5d0ead827d3da32ecbd30e739a29f07bbc87
Paul Eggert
Mon Aug 24 23:57:25 2015 -0700
Escape ` and ' in doc
19532d147b431a4fe34f088d6de07891c48e2c5c
Paul Eggert
Tue Sep 1 18:23:21 2015 -0700
Fix some more docstring etc. quoting problems
26bd978d87dfbf9baa115cd961a67d42b416c4bf
Paul Eggert
Thu Sep 3 15:32:54 2015 -0700
Go back to grave quoting in source-code docstrings etc.
6afef3f6ca2f3009c722b84e249903b7f807b044
Paul Eggert
Mon Sep 7 16:09:27 2015 -0700
* lisp/org-compat.el (org-number-sequence):
* lisp/org.el (org-remove-highlights-with-change)
(org-structure-template-alist):
* lisp/ox-html.el (org-html-link-org-files-as-html):
Fix minor quoting problems in doc strings, e.g., missing quote,
``x'' where `x' was meant, etc.
Fix minor quoting problems in doc strings
9d35bb8d6518bb913ab08bace2af08963c003177
Paul Eggert
Tue May 19 15:01:16 2015 -0700
* lisp/org-compat.el (org-font-lock-ensure): Remove in favor of
font-lock-ensure alias from dcbaebc.
Instead of org-font-lock-ensure alias introduced in dcbaebc ("Backport
commit 6711a21 from Emacs master branch", 2014-05-28), use
font-lock-ensure alias added in e6883dd ("org-compat: Provide
compatibility definition for font-lock-ensure", 2014-06-01).
* lisp/org-compat.el (org-font-lock-ensure): New function.
* lisp/ox-odt.el (org-odt-do-format-code):
* lisp/ox-html.el (org-html-fontify-code):
* lisp/org.el (org-fontify-like-in-org-mode):
* lisp/org-src.el (org-src-font-lock-fontify-block):
* lisp/org-clock.el (org-clock-get-clocktable): Use it.
* lisp/ox-org.el (org-org-publish-to-org):
Use it. Avoid using find-file from Elisp.
6711a21f1125c0047c56eb266eb374c1ec90a967
Stefan Monnier
Wed May 28 23:45:29 2014 -0400
* lisp/org-compat.el (org-float-time):
Use 2-arg defalias, since XEmacs 21.4 doesn't support 3-arg.
Port current-time change to XEmacs 21.4.
78d45b66d41859ab9bdd571fea18fc06a7670911
Paul Eggert
Tue Oct 28 20:21:06 2014 -0700
* doc/org.texi (Dynamic blocks):
* lisp/org-archive.el (org-archive-subtree)
(org-archive-to-archive-sibling):
* lisp/org-clock.el (org-resolve-clocks, org-clock-get-sum-start)
(org-clock-special-range):
* lisp/org-timer.el (org-timer-seconds):
* lisp/org.el (org-read-date-analyze, org-get-cursor-date):
* lisp/ox-html.el (org-html-format-spec):
* lisp/ox-icalendar.el (org-icalendar--vtodo):
Omit unnecessary call to current-time.
* lisp/org.el (org-get-cursor-date):
Don't call current-time twice to get the current time stamp,
as this can lead to inconsistent results.
* lisp/org-compat.el (org-float-time):
Simplify to an alias because time-to-seconds now behaves like float-time
with respect to nil arg.
* lisp/org-clock.el (org-clock-get-table-data): Omit unnecessary, lossy
conversion from floating point to Emacs time and back.
(org-resolve-clocks): Prefer two-argument floor.
Simplify use of current-time and friends.
123ddec7f807f4bd7400bbbe08219afb02269c00
Paul Eggert
Tue Oct 28 18:42:51 2014 -0700
* lisp/org-compat.el (org-activate-mark): Make obsolete.
The activate-mark function was introduced in Emacs 23 and
org-activate-mark wasn’t called anywhere in the code base.
* lisp/org-compat.el: Provide compatibility definition for
`font-lock-ensure' falling back to `font-lock-fontify-buffer' via an
alias.
This fallback fixes f36b19eef6. Using a simple alias means we can't
use the optional arguments for `font-lock-ensure' or would have to
provide a macro if we ever want to use them.
* org-compat.el (org-in-invisibility-spec-p): Tiny code
cleanup.
(org-move-to-column): Only remove '(org-filtered) from
`buffer-invisibility-spec'.
* org-agenda.el (org-agenda-mode): Add buffer invisibility
specs.
(org-agenda-filter-hide-line, org-agenda-remove-filter): Set
the 'invisible text property to 'org-filtered.
(org-agenda-show-new-time): Add the default face to avoid the
foreground of the last character on the line to leak into the
timestamp notification.
Thanks to Thomas Morgan for reporting this.
* org-compat.el (org-move-to-column): Always ignore invisible
text in agenda buffer, and when there is both a bracket link
and '(org-link) as a member of `buffer-invisibility-spec'.
Add a docstring.
* org.el (org-align-tags-here): Add docstring and remove
useless arguments when calling `org-move-to-column'.
* org-table.el (org-table-copy-down)
(org-table-find-dataline, org-table-move-row)
(org-table-insert-hline, org-table-kill-row):
* org-agenda.el (org-agenda-next-item)
(org-agenda-previous-item, org-agenda-todo)
(org-agenda-priority, org-agenda-show-new-time)
(org-agenda-clock-in, org-agenda-clock-out): Remove useless
arguments when calling `org-move-to-column'.
This fixes the issue about S-RET not placing the cursor in the right
table field when M-x org-toggle-link-display RET removed '(org-link)
from `buffer-invisibility-spec' and some other discrepancies (like
S-M-<up> not restoring point correctly when there is a bracket link
before point, or M-x org-clock-display RET not aligning overlays
correctly, etc.
Thanks to Matt Lundin and Michael Brand for tracking issues
about this.
* org-compat.el (org-move-to-column): Fix bug about ignoring
bracket links visibility status in tables with S-RET.
Thanks to Michael Brand for reporting this.
* org-compat.el (org-set-transient-map): Alias pointing at
`set-transient-map' if defined, at `set-temporary-overlay-map'
otherwise.
Thanks to Eric Abrahamsen for reporting this.
* org-agenda.el (org-agenda-show-new-time): Ignore invisible
text when inserting the new time as a text property.
* org-compat.el (org-move-to-column): New argument
`ignore-invisible' to turn on `buffer-invisibility-spec'.
Thanks to Marcin Borkowski and Karl Voit for reporting this.
org-compat (define-obsolete-variable-alias,
define-obsolete-function-alias): Re-introduce argument lists as
XEmacs' byte-compiler otherwise stops compilation.
This means that no other advices must modify these functions with a
different argument list.
org-compat (custom-handle-keyword, define-obsolete-variable-alias,
define-obsolete-function-alias): Remove argument lists from defadvice
and use positional arguments instead of named arguments.
* lisp/org-compat.el (define-obsolete-variable-alias,
define-obsolete-function-alias): Actually remove the third (and any
following) argument from the argument list before calling the
advised function.
* lisp/ob-eval.el, lisp/ob.el, lisp/org-macro.el, lisp/org-mhe.el:
Require org-macs and org-compat as necessary.
* lisp/ob-tangle.el: Declare function `org-store-link' and
`org-open-link-from-string'.
* lisp/org-compat.el: Extend eval-and-compile clause and add advices
for functions that have different parameter lists in XEmacs. Add
variable definitions that XEmacs lacks .
* lisp/org-macs.el (declare-function): Define macro to use autoload
instead for XEmacs.
* lisp/ox-html.el, lisp/ox-odt.el: XEmacs does not have table.el, so
use 'noerror on the require form.
* lisp/ox-texinfo.el (org-texinfo-table-column-widths): Fix spliced
argument list that XEmacs complains about by adding parenthesis.
This fixes all compilation failures on XEmacs and warnings related to
Org that indicate that XEmacs has compiled things wrongly (for
instance it might have interpreted a function as a variable symbol).
There are still many warnings that probably indicate serious problems.
* org.el (org-insert-heading): DTRT when in a narrowed region.
* org-compat.el (org-buffer-narrowed-p): New compatibility
function.
Thanks to Samuel Wales for reporting this problem.
* org-macs.el: Don't define `with-silent-modifications' for
emacsen that don't have it.
* org-compat.el (org-with-silent-modifications): New
compatibility macro.
* org.el (org-refresh-category-properties)
(org-refresh-properties, org-entry-blocked-p)
(org-agenda-prepare-buffers):
* org-indent.el (org-indent-remove-properties)
(org-indent-add-properties):
* org-colview.el (org-columns-display-here)
(org-columns-remove-overlays, org-columns-quit)
(org-columns-edit-value, org-columns-compute-all)
(org-columns-compute, org-agenda-colview-compute):
* org-clock.el (org-clock-sum): Use the compatibility macro
`org-with-silent-modifications' instead of
`with-silent-modifications'.
Thanks to Achim for a preliminary patch.
* org-compat.el (org-file-equal-p): New compatibility function.
* ox.el (org-export-output-file-name): Use the new function.
Thanks to Mark Edgington for reporting this.
* org-compat.el (org-condition-case-unless-debug): Delete.
* org-odt.el (org-odt-cleanup-xml-buffers): Use
`condition-case' instead of `org-condition-case-unless-debug',
which is now deleted.
* 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´.
* lisp/org-compat.el (org-condition-case-unless-debug): Do not use
defalias for special forms, the Emacs 22 byte-compiler does not
recognize them correctly when compiling macros. Use a macro instead
and rely on macro expansion. That however makes the decision at
compile time, which should be acceptable in this case since it only
affects debugging.
* org-compat.el (org-delete-directory): New compatibility
function for Emacs 22, where `delete-directory' does not
support recursive deletion.
* org-odt.el (org-odt-cleanup-xml-buffers): Use the new
compatibility function.
Thanks to Achim and Jambunathan for suggesting this.
* lisp/org-compat.el (org-no-popups): New wrapper macro which
let-binds the correct variables to suppress popup windows depending
on the Emacs version in use. This is a compile-time decision when
byte-compiling.
* lisp/org.el (org-get-location, org-switch-to-buffer-other-window):
Use the wrapper `org-no-popups´ to let-bind the correct variables
for suppression of popup windows.
* lisp/org-compat.el: Make sure that file-name-directory is getting a
stringp. This avoids a possible "(wrong-type-argument stringp nil)"
error when the library in question does not exist.
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.
* Makefile: Include default.mk and targets.mk from mk/ where they've
been moved to.
* README_maintainer: Rename utils to make throughout.
* doc/Makefile: Rename utils to make throughout.
* doc/org.texi: Remove reference to utils/, x11idle.c is now in
contrib/scripts.
* mk/make_emacs_changelog: Add mk/ to list of directories not to be
reported in Emacs' ChangeLog. Also retain utils/ and re-add
UTILITIES; add a comment explaining why these need to stay.
* mk/default.mk: Rename utils to make throughout. Include version.mk
from mk/ where it's been moved to.
* mk/targets.mk: Rename utils to make throughout.
* mk/server.mk: Rename utils to make throughout. Only put those files
from mk/ into the archives that are needed outside the server:
default.mk targets.mk version.mk and org-fixup.el.
* lisp/org-compat.el: Rename utils to make throughout.
* .gitignore: Rename utils to make throughout.
* org-macs.el (org-no-properties): Allow a new parameter
`restricted' to restrict the properties removal to those in
`org-rm-props'. The default is now to remove all properties.
* org-compat.el (org-substring-no-properties): Remove unused
defun.
* org-remember.el (org-remember-apply-template): Remove
redundant removal of text properties.
(org-remember-apply-template): Use `org-no-properties'.
* org-capture.el (org-capture-fill-template): Remove redundant
removal of text properties.
(org-capture-fill-template): Use `org-no-properties'.
* org-gnus.el (org-gnus-open, org-gnus-follow-link): Use
`org-no-properties'.