* contrib/lisp/org-mac-link.el (org-as-mac-chrome-get-frontmost-url):
Improve AppleScript used for grabbing information from Chrome. Now
it's shorter and doesn't require switching to the app. Also,
starting and ending quote are trimmed only when necessary.
* lisp/ob-core.el (org-babel-exp-reference-buffer): New variable, as
a replacement for `org-current-export-file'.
(org-babel-check-confirm-evaluate): Use new variable.
* lisp/ob-exp.el (org-babel-exp-in-export-file): Use new variable.
(org-babel-exp-get-export-buffer): Remove function.
(org-babel-exp-process-buffer): Change signature.
* lisp/ob-ref.el (org-babel-ref-resolve): Use new variable during
export in order to properly resolve references.
* lisp/ox.el (org-export-execute-babel-code): Use new variable.
* contrib/lisp/org-wikinodes.el (org-wikinodes-process-links-for-export):
Remove a cond branch as it is always
false (`org-current-export-file' couldn't be a string).
* testing/lisp/test-ob-lob.el (test-ob-lob/export-lob-lines): Update
test.
* testing/lisp/test-ob.el (test-ob/eval-header-argument): Update test.
* testing/lisp/test-ob-exp.el (ob-export/reference-in-post-header):
New test.
During export, Babel executes sequentially all blocks in the buffer
being exported. This can lead to modifications preventing some
references from being resolved. As a workaround, Babel stores
a pristine copy of the buffer in a variable so it can always find
needed references.
Before this patch, the variable storing this copy was
`org-current-export-file' and was dynamically bound in "ox.el". It
was used to resolve noweb references (`org-babel-expand-noweb-references')
but not regular references (`org-babel-ref-resolve').
Now, the variable is `org-babel-exp-reference-buffer' and it is bound
from `org-babel-exp-process-buffer'. It is used to resolve all
references. In particular, this allows to use references in :post
header.
Thanks to Jarmo Hurri for reporting it.
* contrib/lisp/org-annotate-file.el (org-annotate-file,
org-annotate-file-show-section): Provide autoloads for the functions
intended for use from outside the script.
TINYCHANGE
* contrib/lisp/org-annotate-file.el (org-annotate-file,
org-annotate-file-show-section): Return the annotation buffer from
`org-annotate-file-show-section` so that the user can decide how to
display it.
When adding an annotation using org-file-annotate, the buffer would
always be opened in the current window. By not making the buffer
current and instead returning it from `org-annotate-file-show-section`
the user can control how to display it.
For instance, it can be opened in a popup window using popwin:
(popwin:display-buffer-1 (org-annotate-file-show-section storage-file)
:default-config-keywords '(:position :bottom))
The function `org-annotate-file` will still work as before and open
the buffer in the current window.
* contrib/lisp/org-annotate-file.el (org-annotate-file,
org-annotate-file-show-storage-section): Permit a used to control
where to store the annotation when using
`org-annotate-file-show-section`.
By making the storage file a parameter the user can create their own
custom implementations of org-annotate-file and decide where to store
the annotation.
Personally I'm trying to use org-annotate-file to do code reviews and
I have set up my Emacs to write annotations into a file at the current
project root. This makes it easier for me to email my comments to
whoever wrote the code I just reviewed as I can now keep multiple
reviews separate.
* contrib/lisp/org-ebib.el: Support for links to Ebib's entries.
(org-ebib-open): Open an Ebib's entry.
(org-ebib-store-link): Store a link to an Ebib's entry.
* ox-koma-letter.el (org-koma-letter-template): Do not output
`fromaddress' when it is a string of white spaces.
(org-koma-letter-use-title): Fix typo in the documentation string.
* ox-koma-letter.el (org-koma-letter-use-title): New variable.
(org-koma-letter-prefer-subject): New variable.
(org-koma-letter-template): Allow separate subject and title.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/ox-koma-letter.el (org-koma-letter-opening): Correctly
report conditions to fulfill in order set opening string with
a headline.
(org-koma-letter-headline): Opening can no longer be nil, so look out
for the empty string instead.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-plug-into-ox):
Remove function.
(org-koma-letter-default-class): Change default value.
A default class is installed by default upon loading the library.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-use-foldmarks):
Change value to symbols or list of symbols.
(org-koma-letter--build-settings): Use new value for folding marks.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-subject-format):
Make it clear that lists of symbols are allowed.
(org-koma-letter-template): Refactor subject-related part.
* contrib/lisp/ox-koma-letter.el (koma-letter): Rewrite function.
Global variables are no longer ignored.
(org-koma-letter--build-settings): New function.
* contrib/lisp/ox-s5.el (org-s5-title-slide-template): Per Arne
Babenhauserheide, the heading levels on the default title slide
template were wrong per the S5 spec.
* lisp/org.el (org-mode-flyspell-verify): Rewrite function using
Org parser. As a consequence, Org is more cautious about areas
where checks are allowed.
(org-fontify-meta-lines-and-blocks-1, org-activate-footnote-links): Be
subtler when removing flyspell overlays.
(org-unfontify-region): Remove reference to unused `org-no-flyspell'
property.
(org-fontify-drawers): New function.
(org-set-font-lock-defaults): Use new function to fontify drawers.
* contrib/lisp/org-wikinodes.el (org-wikinodes-activate-links): Remove
reference to unused `org-no-flyspell' property.
If ebib is missing then the jump function from org-bibtex-extras.el
will be used if defined, else no jump function will be used.
Only call `org-bibtex-process-bib-files' on html export so that
ox-bibtex may be used for latex export without bibtex2html being
installed.
* 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.
* contrib/lisp/org-collector.el (org-dblock-write:propview): if a 'defaultval'
property has been set, then use this in place of org-propview-default-value.
TINYCHANGE
* contrib/lisp/ox-rss.el (org-rss-headline)
(org-rss-build-channel-info): Use %b instead of %h for RFC822
dates.
Thanks to Andrea Rossetti for reporting this.
* org-mac-link.el (org-mac-outlook-message-open): Use Apple Script.
Previously ~org-mac-outlook-message-open~ used the Mac OS X Spotlight
index via ~mdfind~ to open messages via shell commands. This patch
changes the open to an AppleScript method to resolve an issue reported
by Manish Sharma.
This is required as a plus sign (e.g. +49 for germany) will cause
hexification in the link helper.
contrib/lisp/org-contacts.el: unhexify tel link
TINYCHANGE
* contrib/lisp/org-mac-link.el: Add “o”utlook to capture descriptors along with
functions to capture links from Microsoft Outlook for Mac.
The functions here replicate those that capture from Mail.app.
* contrib/lisp/ox-koma-letter.el: Change default values to match the scrlttr2
default values. Track which options are set in the file and only output the
corresponding options when they are changed.
* contrib/lisp/org-mac-link-grabber.el: File removed.
* contrib/lisp/org-mac-link.el: New file.
* contrib/lisp/org-mac-message.el: File removed
* lisp/org.el (org-modules): Update with the new module org-mac-link
Patch by Anthony Lander
* ox-koma-letter.el: Reworded parts of the head of the file.
(org-koma-letter-prefer-special-headings,
org-koma-letter-subject-format, org-koma-letter-default-class,
org-koma-letter-special-tags-in-letter,
org-koma-letter-special-tags-after-closing,
org-koma-letter-special-tags-after-letter,
org-koma-letter-plug-into-ox, org-koma-letter-email,
org-koma-letter--get-tagged-contents,
org-koma-letter-special-contents): Changed docstring to pass checkdoc.
(org-koma-letter--get-value): Renamed `org-koma-letter--get-custom'.
Docstring changed to pass checkdoc.
(org-koma-letter--special-contents-as-macro): Renamed
`org-koma-letter--prepare-special-contents-as-macro'. Docstring
changed to pass checkdoc.
(org-koma-letter--normalize-string): Renamed
org-koma-letter--remove-offending-new-lines. Docstring changed to
pass checkdoc.
(org-koma-letter--determine-to-and-from): Renamed
org-koma-letter--determine-special-value. Docstring changed to pass
checkdoc.
Some functions have been renamed to make the names slightly more
informative.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el (org-koma-letter-headline-is-opening-maybe): new
variable. If `t' let headlines set subject.
(org-koma-letter-headline): let headline set opening.
(org-koma-letter-template): let opening and closing be empty if nil.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/org-contacts.el (org-contacts-remove-ignored-property-values):
Use `org-remove-if' and `org-find-if' instead of the unprefixed variants.
* ox-rss.el (org-rss-headline): Fix permalink concatenation.
(org-rss-headline, org-rss-build-channel-info): Use the
property :input-file from the info channel instead of
`buffer-file-name'.
Thanks to Nicolas for suggesting the latter fix.
* contrib/lisp/org-contacts.el (org-contacts-db-need-update-p):
Check if org-contacts-db cache contains markers with no buffer as well, when
determining if cache should be updated from files.
The function `org-contacts-db-need-update-p' does two checks to determine if the
contacts cache should be updated:
1. If the variable `org-contacts-last-update' is nil.
2. If modification time of any file containing contacts is more recent than
timestamp recorded in `org-contacts-last-update'.
There is another case where an update is required: when marker objects contained
in the contact cache `org-contacts-db' suddenly point to no buffer. If a buffer
containing contacts is killed, but underlying file is not modified, org-contacts
will not detect this, and cached markers that pointed to the now killed buffer
will become "dead" (e.g. have no buffer associated with them). This seems to cause
problems for instance in `org-contacts-anniversaries', which if used as diary
sexp in agenda file, will cause "Bad sexp" errors.
* contrib/lisp/ox-bibtex.el (org-latex-link, org-html-link): New
functions.
(org-bibtex-citation-p, org-bibtex-get-citation-key): Update function
to support "cite" links.
(org-bibtex-process-bib-files): Also look after "cite" links when
building citation list.
* lisp/ox-html.el (org-html--format-toc-headline): Make use of
anonymous back-ends.
* lisp/ox-odt.el (org-odt-footnote-reference): Make use of anonymous
back-ends.
(org-odt-format-label, org-odt-toc, org-odt-format-headline--wrap):
Use `org-export-with-backend' instead of
`org-export-with-translations'.
* contrib/lisp/ox-freemind.el (org-freemind--build-node-contents): Use
`org-export-with-backend' instead of `org-export-with-translations'.
* contrib/lisp/ox-rss.el (org-rss-headline): Fix the date and title
formats.
(org-rss-build-channel-info): Fix the date format. Add the
author's name after her email.
* ox-koma-letter.el (org-koma-letter-default-class): default class for
=ox-koma-letter=. Default is nil.
* ox-koma-letter.el (org-koma-letter-plug-into-ox): add a sparse
letter class to =`org-latex-class'= and set it to default.
By default it will use =`org-latex-default-class'=.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el: documentation.
(org-koma-letter-special-tags-in-letter): list of tags that
are typeset as part of the letter.
(org-koma-letter--determine-special-value): determine which
value to use (for to and from currentlly) if more than
candidate is available. Which value is selected depends on
`org-koma-letter-prefer-special-headings'.
(org-koma-letter-prefer-special-headings): a boolean stating
whether to prefer headings with to/from or the #+X_ADDRESS.
The following letter now exports "as expected". In particular when
special-headings is t heading values have presedence so the
from address would be ="Rasmus\nEmacs\nOrg-mode"= where the
=\n=s would be escaped. If specia-headings is nil (default)
the from would be my-adr. The same is true for TO address.
Here's the contents
* from :from:
Rasmus
Emacs
Org-mode
On a technical note, note that the default value will be used if
neither #+X_ADDRESS or a heading is given.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el: updated documentation and improved defcustoms.
(org-koma-letter-special-tags-after-letter)
(org-koma-letter-special-tags-after-closing): now symbol.
(org-koma-letter--get-custom): falls back to value
(org-koma-letter--prepare-special-contents-as-macro): let
newlines be handled outside of the function
(org-koma-letter--remove-offending-new-lines): function to add
new lines.
(org-koma-letter-headline): updated to work with symbols and
made more robust.
(org-koma-letter-export-to-latex): reset
=`org-koma-letter-special-contents'= to nil
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/org-contacts.el (org-contacts-metadata-prefix):
Provide same function for cycle ordering as is used for display ordering
in completion metadata.
When using cycle completion style for contacts, by setting
`completion-cycle-threshold' to some value, the ordering was not consistent
with order of email addresses in contact definition, nor the order
which was used for regular display completion. Fix that by also
supplying sort function for cycle completion in metadata.