Add new link type "acrobat" to grab links to documents open in Adobe
Acrobat application.
* contrib/lisp/org-mac-link.el (org-mac-acrobat-open): Open Adobe
Acrobat document pointed to by a link.
* contrib/lisp/org-mac-link.el (org-mac-as-get-acrobat-page-link):
Invoke applescript to generate a link to an open and active Adobe
Acrobat document.
* contrib/lisp/org-mac-link.el (org-mac-acrobat-get-page,
org-mac-acrobat-insert-page): methods used when an Adobe Acrobat link
grab request is issued or a link is clicked in an org document.
* contrib/lisp/org-mac-link.el (org-mac-grab-Acrobat-app-p): predicate
that enables grabbing Adobe Acrobat links.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/org-mac-link.el (org-mac-firefox-get-frontmost-url)
(org-mac-vimperator-get-frontmost-url)
(org-mac-chrome-get-frontmost-url)
(org-mac-skim-get-page)
(org-mac-outlook-message-get-links)
(org-mac-devonthink-get-links): Replace the handling of AppleScript
results code with `org-mac-paste-applescript-links'.
This fixes some bugs where links would have a dangling quote at the end.
* ox-koma-letter.el (org-koma-letter--keyword-or-headline):
New function.
(org-koma-letter-template): Use new function.
(org-koma-letter-opening, org-koma-letter-closing)
(org-koma-letter-signature)
(org-koma-letter-headline-is-opening-maybe): Update docstring.
If both org-koma-letter-headline-is-opening-maybe and
org-koma-letter-prefer-special-headings is non-nil, always prefer
special headline title for opening and closing.
* contrib/lisp/org-notify.el (org-notify-make-todo): Properties from
org-element are all uppercase now.
* (org-notify-maybe-too-late): Fix typo in docstring (thanks to davemq,
https://github.com/p-m/org-notify/issues/3).
* ox-latex.el (org-latex--make-header): New function.
(org-latex-template): Use new function.
* ox-koma-letter.el (org-koma-letter-template): Use new function.
* ox-koma-letter.el (org-koma-letter-special-tags-in-letter):
Add closing.
(org-koma-letter-template): Potentially take closing value
from closing spcical heading.
(org-koma-letter--build-settings): Potentially take signature
value from closing special heading.
(org-koma-letter-closing):
(org-koma-letter-signature): Update docstring.
Suggested-by: Suvayu Ali <fatkasuvayu+linux@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/99028>
* contrib/lisp/org-eww.el (org-eww-copy-for-org-mode): Lines starting
with '*' get quoted at special kill.
This allows yanking content containing lines starting with a '*' without
changing the outline structure.
* org-contacts.el (org-contacts-db): Catch `nextfile'.
When a file in the list returned by the `org-contacts-files' function
doesn't exist and the user selects the option to attempt to remove it
from the `org-agenda-files' list, 'nextfile is thrown. Catch it and
skip processing that file instead of failing.
TINYCHANGE
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Insert
"\begin{document}" even if :with-title and :with-subject are both
nil.
Reported-by: Dieter Faulbaum <mail@faulbaum.in-berlin.de>
* org-mac-link.el (org-mac-outlook-message-open, org-as-get-selected-outlook-mail): Specify Microsoft Outlook.app non-ambiguously
If the user has:
- a virtual solution (Parallels, etc.)
- with Office for PC installed
- and configured to expose WinTel applications to the Macintosh Finder
The AppleScript commands may try to select the WinTel version of
"Microsoft Outlook". This—obviously—doesn’t work. By adding the Mac
~.app~ file extension and path, we reduce this confusion and more
reliably call the Macintosh version of Outlook.
TINYCHANGE
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* org-notmuch.el (org-notmuch-search-open): Bug fix
When opening a notmuch-search link, we use =message= to display the
path at the bottom of the screen. This would signal "Not enough
arguments for format string" when the path contained %-signs, as it is
likely to when the query contains spaces:
[[notmuch-search:tag:inbox%2520not%2520tag:bulk%2520org]]
That query appears to be double-escaped, which also might contribute
to the problem, but either way: we should use =(message "%s" str)= to
print arbitrary strings, not =(message str)=.
* contrib/lisp/ox-koma-letter.el (koma-letter): Set "SUBJECT" as
parsed.
(org-koma-letter-template): Apply.
* lisp/ox-latex.el (latex): Set "DESCRIPTION" and "KEYWORDS" as
parsed.
(org-latex--format-spec): Apply.
* contrib/lisp/org-mime.el (org-mime-send-subtree, org-mime-compose):
`cl-letf' doesn't exist in Emacs <= 23, but `letf' won't exist in
future Emacs. Replace with `lambda' and `funcall'.
* ox.el: Remove #+KEYWORD: and #+DESCRIPTION:.
* ox-deck.el, ox-rss.el, ox-html, ox-latex, ox-odt, ox-org: Add
#+KEYWORD and #+DESCRIPTION.
* org.texi (Export settings): Explicit state which backends
support #+DESCRIPTION and #+KEYWORDS.
* lisp/ox-ascii.el (ascii):
* lisp/ox-latex.el (latex):
* lisp/ox-man.el (man):
* lisp/ox-md.el (md):
* lisp/ox-org.el (org):
* lisp/ox-texinfo.el (texinfo):
* contrib/lisp/ox-groff.el (groff): Remove `comment' and
`comment-block' translators.
`comment' and `comment-block' translators are not needed since both
commented lines and comment blocks do not appear anymore in the parse
tree. See 69dd4301ab.
* ox-koma-letter.el (org-koma-letter--special-tag): New function.
(org-koma-letter-headline): Use org-koma-letter--special-tag
and do not guess opening.
(org-koma-letter-template): Directly infer subject from first
non-special headline.
* ox.el (org-export-with-title): New variable.
* ox (org-export-options-alist),
ox-ascii.el (org-ascii-template--document-title),
ox-beamer.el (org-beamer-template), ox-html.el (org-html-template),
ox-latex.el (org-latex-template), ox-man.el (org-man-template),
ox-odt.el (org-odt-template), ox-org.el (org-org-template),
ox-publish.el (org-publish-project-alist),
ox-texinfo.el (org-texinfo-template),
ox-groff.el (org-groff--mt-head): Use new variable.
* ox-koma-letter.el (org-koma-letter-use-title): Mark obsolete.
* test-ox.el (test-org-export/parse-option-keyword): Add :with-title.
* ORG-NEWS, org.texi: Mention org-export-with-title.
This is useful in e.g. ox-html where title can be set via
`org-html-preamble-template' or when using the {{{title}}}-macro.
* org-mime.el (org-mime-change-element-style): Correctly capture the
HTML element instead of partially.
Passing element of "p" would end up matching and altering "pre"
elements as well. Need to properly anchor the regex to HTML elements.
TINYCHANGE
* contrib/lisp/org-eww.el (org-eww-store-link): Depending on the Emacs
version use the appropriate interface to store the url of an
eww-mode buffer.
This patch fixes the org-store-link feature for eww-mode buffers for
Emacs 25.
* lisp/org-colview.el (org-columns-display-here): Use regular "ITEM"
value instead of computing another one. Simplify process.
(org-columns-cleanup-item): Remove function.
* contrib/lisp/org-colview-xemacs.el (org-columns-display-here): Use
regular "ITEM" value instead of computing another one. Simplify
process. (org-columns-cleanup-item): Remove function.
* etc/ORG-NEWS: Document change.
Eldoc wil show:
- a 'breadcrumb' of headers when on headerline
- properties of SRC block when on BEGIN/END_SRC line
- inside body of SRC block it will try to use that mode's eldoc function
* contrib/lisp/ox-taskjuggler.el (org-taskjuggler-format-dependencies):
Pass string that was used in string-match to
org-match-string-no-properties. This fixes a problem with dependency
options.
* contrib/lisp/org-mac-link.el (org-as-mac-safari-get-frontmost-url):
Run only the AppleScript.
(org-mac-safari-get-frontmost-url): reuse
`org-mac-paste-applescript-links' to properly deal with quotes.
* contrib/lisp/org-passwords.el (org-passwords-default-password-size):
New variable.
(org-passwords-default-random-words-number): New variable.
(org-passwords-copy-username, org-passwords-copy-password): Use
`org-entry-get' to obtain the property value.
(org-passwords-open-url): New function.
(org-passwords): Can be called with universal argument.
(org-passwords-generate-password): Use default size given by
`org-passwords-default-password-size'.
(org-passwords-random-words): Use default number given by
`org-passwords-default-random-words-number'.
(org-passwords-concat-this-with-string): Fix bug.
The patch adds several functionality:
Open the URL property directly from the mode. URLs can be inherit.
Universal argument in org-passwords allows for longer browsing. Two
arguments is used for editing.
There is a default password size and random-words number for faster
password generating.
Fix bug in C-u M-x org-passwords-generate-password.
Commentary in file has more information.
* org-passwords.el (org-passwords-generate-password-with-symbols): Do not insert password,
this matches how `org-passwords-generate-password-without-symbols` behaves.
* contrib/lisp/org-mac-link.el (org-mac-message-get-links): Fix and use the `org-mac-paste-applescript-links' helper.
The existing code inserted links which should have been "[[message:ABC][the subject]]"
as "[[essage:ABC][the subjec]]".
Based on a patch by Steve Purcell <steve@sanityinc.com>.
* contrib/lisp/org-mac-link.el: Shorten the file description, which shouldn't span lines.
TINYCHANGE
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/org-mac-link.el (org-as-get-flagged-mail): Don't assume Growl is installed.
Applescript can't run if it refers to uninstalled apps, so since Growl is not universally
installed, references to it should be dropped. This change also provides a less cryptic
message when `org-mac-mail-account' is unset at the time flagged messages are grabbed.
TINYCHANGE
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/org-eww.el(org-eww-copy-for-org-mode): Realization of
the kill.
(org-eww-goto-next-url-property-change,
org-eww-no-next-link-p, org-eww-url-below-point): Auxiliaries
for accessing a eww buffer
(org-eww-extend-eww-keymap): Add the new kill to eww keymap
The code has emerged from the very similar org-w3m.el.
* contrib/lisp/org-eww.el: New file
* contrib/README: Added org-eww.
* lisp/org.el (org-modules): Add org-eww to the pool of org-modules.
The hook gets hooked in the module.
The file is more or less a fraction of the org-w3m module with 'w3m'
replaced by 'eww'.
* contrib/lisp/ox-koma-letter.el (koma-letter): Properly display
default "from" address from template.
(org-koma-letter--determine-to-and-from): Do not provide a default
"to" value as it might be set through a LCO file.
(org-koma-letter-template): Remove trailing whitespace.
* contrib/lisp/ox-groff.el (org-groff-link):
* lisp/ox-beamer.el (org-beamer-link):
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-odt.el (org-odt-link): When radio link has no valid
target (e.g., this is a subtree export and the radio target is not
in the exported subtree), simply return contents.
Thanks to Daniel Clement for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/90218
* contrib/lisp/ob-stata.el: New file based on ob-julia.el.
* contrib/README: Document addition of new file.
ob-stata.el provides basic support for evaluating Stata code.
* ox-taskjuggler.el (org-taskjuggler--build-project): Insert all
valid attributes from project.
* ox-taskjuggler.el (org-taskjuggler--build-attributes): Add project
as possible ITEM to docstring.
* ox-taskjuggler.el (org-taskjuggler-valid-project-attributes): New
defcustom.
As reported by Nick Garber, project attributes like 'timingresolution'
could not be changed via Org-mode properties. This patch makes the
exporter treat project-attributes just like it treats task-, resource-
and report-attributes.
* org-git-link.el (org-git-open): Jump to the line if provided in the link.
(org-git-split-string): Parse a third element of the list and change the error
message accordingly.
(org-git-create-git-link): Accept the third optional line argument.
(org-git-store-link): call `org-git-create-git-link' with the current line
number.
* contrib/lisp/org-notmuch.el: org-notmuch-open-function,
org-notmuch-open-search-function: New defcustoms, can be used to set
custom notmuch-open functions.
* contrib/lisp/ox-rss.el (org-rss-publish-to-rss): Fix a bug that
causes ID properties to be generated in org buffer emacs is
currently visiting rather than the file containing the feed.
* contrib/lisp/org-contacts.el (org-contacts-export-as-vcard): Wrap
`org-contacts-export-as-vcard-internal' to prompt for the parameters
when called interactively.
(org-contacts-export-as-vcard-internal): The old function
`org-contacts-export-as-vcard'.
Thanks to Esben Stien for the suggestion.
* contrib/lisp/org-contacts.el (org-contacts-complete-tags-props): New
function that allows the user to retrieve contacts based on tags and
properties.
(org-contacts-complete-functions): Add
org-contacts-complete-tags-props to the completion functions.
(org-contacts-tags-props-prefix): Prefix used to detect the
completion method wished.
Based on the idea and implementation of John Kitchin
* contrib/lisp/org-bibtex-extras.el: Remove functions to find
citations, moved into ox-bibtex.
* contrib/lisp/ox-bibtex.el: Add functionality to follow cite links.
These options break citation handling for these other backends, so we
should just drop them.
* contrib/lisp/ox-bibtex.el (org-bibtex-merge-contiguous-citations):
Drop citation options for HTML and ASCII export.
* contrib/lisp/org-contacts.el (org-contacts-at-point): New function
used to return the contact at point.
(org-contacts-db): Factorize the construction of the database using
`org-contacts-at-point' and fix a small typo.
* contrib/lisp/org-contacts.el (org-contacts-complete-functions): A
hook that contains the list of functions used to complete contacts.
(org-contacts-message-complete-function): Use the new hook.
Suggested by John Kitchin.
* org-mac-link.el (org-mac-grab-Addressbook-app-p): New option.
(org-mac-grab-link): New interactive option.
(org-devonthink-item-open)
(org-as-get-selected-devonthink-item)
(org-mac-devonthink-get-links)
(org-mac-devonthink-item-insert-selected): New functions.
* contrib/lisp/org-mac-link.el (org-as-get-selected-mail): Make sure
no extra new line is present in the string returned from the
AppleScript.
* contrib/lisp/org-mac-link.el (org-mac-message-get-links): Get rid of
the enclosing quotes before splitting the string.
* contrib/lisp/ox-bibtex.el (org-bibtex-merge-contiguous-citations):
Add the ability to specify options so that for example the following
link "[[cite:(Chapter 2)foo]]" will be converted to the following
LaTeX "\cite[Chapter 2](foo)".
* contrib/lisp/org-passwords.el: New file.
The file gives a mode for consulting a passwords database with entries
in org format. The database opens in Read-Only mode and a timer is
set to close the database. The file provides functions for making
usernames and passwords available to the facility for pasting text of
the window system (clipboard on X and MS-Windows, pasteboard on
Nextstep/Mac OS, etc.) without inserting them in the kill-ring. It
also provides functions for generating passwords as a random string of
characters or as a number of random words from a dictionary.
* contrib/lisp/org-annotate-file.el (org-annotate-file): New customization
group.
(org-annotate-file-storage-file org-annotate-file-add-search
org-annotate-file-always-open): Convert `defvar' symbols to `defcustom' using the new group.
* ox.el (org-export-dictionary): Add "References".
* contrib/lisp/ox-bibtex.el (org-bibtex-process-bib-files):
Translate "References" according to the export language.
Thanks to Julian Gehring for suggesting this.
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-html.el (org-html-link): Do not expand absolute file names
and do not try to fix hierarchy part, as it is already taken care of
at the parser level.
* lisp/ox-md.el (org-md-link): Ditto. Also fix absolute file names.
* lisp/ox-odt.el (org-odt-link):
* lisp/ox-man.el (org-man-link):
* lisp/ox-texinfo.el (org-texinfo-link):
* contrib/lisp/ox-groff.el (org-groff-link): Ditto. Do not prepend
scheme part to relative file names either.
* contrib/lisp/ox-deck.el (org-deck-link): Small refactoring.
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-man.el (org-man-link):
* lisp/ox-odt.el (org-odt-link):
* contrib/lisp/ox-groff.el (org-groff-link): "mailto" URI do not have
an authority part, we do not append "//".
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-man.el (org-man-link):
* lisp/ox-odt.el (org-odt-link):
* lisp/ox-texinfo.el (org-texinfo-link): Append "//" after some link
types.
* lisp/ox-md.el (org-md-link):
* contrib/lisp/ox-groff.el (org-groff-link): Ditto. Also remove some
unused code, as search options are already stripped out link's path.
Since 3589f64e42, Org ignores "//" in
a link type so it has to be re-introduced upon exporting.
* 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.
* contrib/lisp/org-contacts.el: Add a complex org-contacts template to
the file header, which can help users to know all the org-contacts
properties quickly.
* contrib/lisp/org-contacts.el (org-contacts-ignore-property): Improve
formatting and spelling.
(org-contacts-complete-name): Improve formatting.
(org-contacts-vcard-format): Improve formatting and silent byte compiler.
(org-contacts-split-property): Fix a bug where `omit-nulls' were not
forced to `t' when `separators' was nil.
* contrib/lisp/org-contacts.el (org-contacts-ignore-property): New variable.
(org-contacts-remove-ignored-property-values): New function, which
remove all ignore-list's elements from list.
(org-contacts-complete-name): When completing, ignore the
values which has been included into the ignore property.
(org-contacts-vcard-format): Don't export the values which has
been included into the ignore property.
If emails or phones is included into the ignore property, they will
not show in complete buffer. When the contact is exported to vcard,
they will be ignored too.
* lisp/ox-latex.el (org-latex-compile): Properly set working
directory.
* lisp/ox-man.el (org-man-compile): Properly set working directory.
* lisp/ox-texinfo.el (org-texinfo-compile): Properly set working
directory.
* contrib/lisp/ox-groff.el (org-groff-compile): Properly set working
directory.
* lisp/ox-latex.el (org-latex-compile): Make sure generated file can
be found by `file-exists-p'.
* contrib/lisp/ox-groff.el (org-groff-compile): Make sure generated
file can be found by `file-exists-p'.
* lisp/ox-man.el (org-man-compile): Make sure generated file can be
found by `file-exists-p'.
* lisp/ox-texinfo.el (org-texinfo-compile): Make sure generated file
can be found by `file-exists-p'.
* lisp/ox-html.el (org-html-doctype): Add new function `org-html-doctype'.
(org-html-template): Use `org-html-doctype' function instead of inline
code.
* contrib/lisp/ox-deck.el (org-deck-template): Use `org-html-doctype'
function instead of inline code.
* contrib/lisp/ox-s5.el (org-s5-template): Use `org-html-doctype'
function instead of inline code.
* contrib/lisp/ox-deck.el (deck): add new deck specific link handler.
(org-deck-toc): Add "sec-" to non-custom link ids.
(org-deck-link): New function. Rename internal link to point at
container instead of heading.
(org-deck-template): Use alist doctype instead of string (per changes
to ox-html).
* ox-koma-letter.el: =`org-koma-letter-subject-format'= can now be a list. Default is t.
If nil neither subject format nor type is exported.
* ox-koma-letter.el (org-koma-letter-template): better subject handling.
* ox-koma-letter.el (org-koma-letter-template): allow for t value of =#+OPTIONS: subject:VALUE=
* ox-koma-letter.el (org-koma-letter-template): export of subject format is independent
of title, but title is not independent of =:with-subject=.
The issue was with =#+OPTIONS: subject:t= one would get a LaTeX error.
New behavior:
If =#+OPTIONS: subject:(x,y)= then =\KOMAoption{subject}{x, y}=.
If =subject:x= then =\KOMAoption{subject}{x}=.
If =subject:t= then =\KOMAoption{subject}{...}= is not set but
\setkomavar{subject}{...} is set (in the output file)
If =subject:nil= neither are printed.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el(org-koma-letter-signature): set to nil.
The previoues value corresponds to the default value cf. the the koma
manual pp. 183.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el (org-koma-letter-special-tags-after-closing):
specials tags inserted after =\end{closing}=.
* ox-koma-letter.el (org-koma-letter-special-tags): collect
the special lists.
* ox-koma-letter.el (org-koma-letter-headline): stores content
in of headline if the first tag is special. Otherwise return content.
* ox-koma-letter.el (org-koma-letter-special-content): holds special
content temporarily.
* ox-koma-letter.el (org-koma-letter--format-string-as-macro): format a string as
a macro or don't.
* ox-koma-letter.el (org-koma-letter-template): added support
for the headings with special tags.
The following example will now export a sensible manner.
* my letter
here's a letter
* PS :ps:
it's requires this patch
* CC :cc:
Nicolas, Viktor and Alan
* ENCL :encl:
many patches
1. this patch
2. another patch.
* include patches :after_letter:
\myspecialmacro
\includepdf{pdf}
Namely, content of ps, encl and cc headings will be exported after
\closing{.} in the order prescribed by
=`org-koma-letter-special-tags-after-closing'= as a (LaTeX) macro
removing trailing and leading newlines. The macro is the same as the
tag, althogh the case is determined by the special list.
The concents of the =after_letter= heading will be inserted after
=\end{letter}= and newlines are preserved.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el (org-koma-letter-author): defaults to a function
that returns =`user-full-name'=.
Setting the variables `org-koma-letter-author' and
`org-koma-letter-email' to the values of `user-full-name' and
`user-mail-address' respectively, allows the user to skip =#+AUTHOR:=
and =#+EMAIL:= lines when configuring a letter. However, if the user
wishes to set this information in LCO files, these variables need to
be set to nil.
With the old after-init-hook method my user name was always set to "".
Now org-koma-letter will (i) allow for default nil values (good if you
use LCO files); (ii) default to =`user-full-name'= and
=`user-mail-address'= like =ox-latex.el=. These values are obtained
on-the-fly.
The two variables in question can also be strings or functions
returning strings.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/ox-deck.el (deck): Add deck specific link function.
(org-deck-toc): Generate correct link to slide for custom ids as well
as default section ids.
(org-deck-link): HTML custom ids link to the headline. deck.js
requires linking to the wrapper (slide) so modify the link to point at
the container instead of the headline.
(org-deck-template): Fix doctype handling to use alist option instead
of literal string.
* ox-koma-letter.el: changed the unorthodox =SENDER= keyword to
the ordinary =AUTHOR= keyword.
* ox-koma-letter.el: changed email to work as in standard
latex exporter and dropped dedicated ox-koma-letter variable.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
Prior to the fix the firefox link grabber won't work correctly if a cursor has been already positioned in the URL field. The fix works by adding an additional keystore for selecting all the text in that field.
* The shortcut is set to [S]
* Grabs not just the link to file, but a page
* Inserts the selected text as a description, if present. Otherwise
inserts "<filename>, p. <page #>"
* Defines a new "skim" link type
* contrib/lisp/org-contacts.el (org-contacts-setup-completion-at-point):
Setup `completion-at-point-functions' in a dedicated function so it's
easier to add and to remove it from `message-mode-hook'.
(org-contacts-unload-hook): This function removes all hooks added while
loading `org-contacts' in order to respect Emacs coding conventions.
* ox-koma-letter.el (org-koma-letter-opening): No default / set to nil.
(org-koma-letter-closing): No default / set to nil.
We should not assume a formal English opening and closing
line. A letter requires many personal options, such as the
address, so it is no more work to also these options.
TINYCHANGE
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/org-contacts.el (org-contacts-filter): Add a PROP-MATCH
argument.
(org-contacts-gnus-article-from-get-marker): Search for email as a
property not a tag.
`org-contacts-gnus-article-from-get-marker' seems to assume that the
contact properties exist within the contact's tags as colon-separated
KEY={VALUE} entries. This isn't the case for me, using org-mode from
git master.
This commit adds a PROP-MATCH argument to `org-contacts-filter' so
that `org-contacts-gnus-article-from-get-marker` can filter by the
EMAIL property.
* contrib/lisp/org-contacts.el (org-contacts-db): Use
`make-progress-reporter' instead of `message' for messages. Also
change the sentence to present progressive tense.
* ox-taskjuggler.el (org-taskjuggler-project-plan): Use the
project name as the title of the (default) report if the
document title is empty.
Thanks to Eric S Fraga for reporting this bug.
* ox-taskjuggler.el (org-taskjuggler-get-start): Use memq
instead of member as we are searching for symbols. Also
search in valid-task-attributes instead of
valid-resource-attributes.
* contrib/lisp/org-contacts.el (org-contacts-property-values-separators):
Definition of a new constant that will be used as default value of
separators for `org-contacts-split-property'.
* contrib/lisp/org-contacts.el (org-contacts-vcard-format): We are now
using the default separator in general.
* contrib/lisp/org-contacts.el (org-contacts-show-map): Line break
corrected.
* contrib/lisp/org-contacts.el (org-contacts-split-property): Correct
the comment describing the function. Application of the newly
defined constant `org-contacts-property-values-separators'.
* contrib/lisp/org-contacts.el (org-contacts-split-property):
Introduce a custom version of split-string that keeps org links
intact.
* contrib/lisp/org-contacts.el (org-contacts-strip-link): Introduce a
new function that removes brackets, description, link type and colon
from an org link string returning the pure link target.
* contrib/lisp/org-contacts.el (provide 'org-contacts): Remove a
redundant line.
* contrib/lisp/org-contacts.el (org-contacts-complete-group,
org-contacts-complete-name, org-contacts-view-send-email,
org-contacts-get-icon, org-contacts-vcard-format): Apply the new
functions to the already existing functions extracting telephone
numbers and email addresses from the properties.
Allowed separators for email addresses and phone numbers are `,', `;'
and whitespace. `:' is not allowed anymore as separator to avoid
confusion with implicit links.
Examples of properties that are possible after those changes:
* Surname, Name
:PROPERTIES:
:EMAIL: mailto:test2@test.de; [[mailto:name@test.de]] foo@bar.biz
:PHONE: [[tel:+49 351 4129535]], +491766626196 [[+49 (351) 41295-35]]
:END:
Phone links of the form [[tel:+49 351 412 95-35][My phone number]] or
[[tel:+49 351 41295-35]] are expected. `-', `/', `(', `)' and
whitespace characters are allowed in telephone numbers.
* contrib/lisp/org-contacts.el (org-contacts-db): fix typo in the
word `matching'.
* contrib/lisp/org-contacts.el (org-contacts-complete-group): fix typo
in the word `found'.
TINYCHANGE
* ox-taskjuggler.el (org-taskjuggler-resolve-dependencies): When
resolving dependencies do not only look for matching task_id
properties but also for the standard ID property.
That way the user can make use of the standard org-id functionality to
create unique ids for a task and yanking the id in another task as a
BLOCKER.
* ox-taskjuggler.el (org-taskjuggler-default-reports)
(org-taskjuggler-project-plan): If the default reports contain
%title it will be replaced with the document title.
This is based on a suggestion by John Hendy.
* ox-taskjuggler.el (org-taskjuggler-get-start): Use both the
scheduled and the start property (if it is in
org-taskjuggler-valid-resource-attributes) to determine the
start of a task or the project.
Thanks to John Hendy for the report and thorough analysis.
* ox-taskjuggler.el (org-taskjuggler-process-command)
(org-taskjuggler-reports-directory): Add a defcustom to define
the tj3 command and the directory where the reports are to be
generated.
(org-taskjuggler-export-and-process)
(org-taskjuggler-export-process-and-open): Split the command
so that you can now process and open in separate commands.
(org-taskjuggler-compile): New function to process a tjp file
using org-taskjuggler-process-command.
Finally we have support for processing and opening the exported file
with tj3. For TaskJuggler 2.4 this always worked. Now it also works
for tj3. `org-taskjuggler-export-and-process' exports the file and
runs it through tj3. `org-taskjuggler-export-process-and-open'
additionally opens the reports in a browser.
* ox-koma-letter.el (org-koma-letter-template): Treat `#+LCO:'
variable as a list of multiple LCO files separated by spaces.
Example:
#+LCO: Default Signed
will result in the following LaTeX fragment
#+BEGIN_SRC latex
\LoadLetterOption{Default}
\LoadLetterOption{Signed}
#+END_SRC
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el ((org-koma-letter-use-subject):
Configure printing of subject line.
(org-koma-letter-use-backaddress): Configure presence of back
address.
(org-koma-letter-use-foldmarks): Configure presence of foldmarks.
(org-koma-letter-use-phone): Configure printing of phone number.
(org-koma-letter-use-email): Configure printing of email.
(org-koma-letter-use-place): Configure printing of place.
(koma-letter): Add export option to exporter backend.
(org-koma-letter-template): Evaluate export options in
exporter template.
Usage:
#+OPTIONS: backaddress:t foldmarks:t subject:titled phone:t email:t place:t
Except for `subject', all options are boolean, i.e., the accept the
values `nil' and `t'. `subject' accepts the values defined in
`scrlttr2`, i.e., `afteropening', `beforeopening', `centered', `left',
`right', `titled', `underlined', and `untitled'.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el (org-koma-letter-closing): More
business-like closing.
(org-koma-letter-from-address): Do not set default personal
information.
(org-koma-letter-opening): Gendered opening.
(org-koma-letter-phone-number): Do not set default personal
information.
(org-koma-letter-sender): Use `#+SENDER:' instead of
`#+AUTHOR:' because the latter is always set by the LaTeX
exporter.
(org-koma-letter-email): Duplicte `#+EMAIL:' in this exporter
because it is always set by the LaTeX exporter.
(koma-letter): Add additional `#+SENDER:' and `#+EMAIL:' to
exporter (see above).
(org-koma-letter-template): Set LCO before evaluating other
KOMA variables if they are set; add `#+SENDER:' and `#+EMAIL:'
to template (see above).
The LCO file is set loaded first and KOMA variables are only set if
their value is not `nil'.
Example:
#+LCO: Default
#+SIGNATURE: A friend
will result in the following LaTeX code:
#+BEGIN_SRC latex
\LoadLetterOption{Default} % LCO file, with default signature
\setkomavar{signature}{A friend} % Overwrite signature
#+END_SRC
Other KOMA variables defined in the LCO file, e.g., `fromaddress', will
not be overwritten.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el (koma-letter): Use `L' to export to LaTeX
buffer, `l' to export to LaTeX file, and `o' to export to PDF
file and open.
Patch suggested by Rasmus.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-taskjuggler.el (org-taskjuggler-default-reports): Set the default
reports so that the user gets a good out-of-the-box experience with
tj3.
The defaults in the defcustom now out-of-the-box support tj3. If you
really want to export to taskjuggler 2.x the documentation explains
how you can do that.
* ox-taskjuggler.el: Update the comment section to TaskJuggler
3.x.
(org-taskjuggler-target-version): Add a link to
`org-taskjuggler-default-reports' to make it clear that both
need to be changed in order to support TaskJuggler 2.4.
* contrib/lisp/org-contacts.el (org-contacts-alias-property): add new
varible
(org-contacts-matcher): add org-contacts-alias-property to this list
Name alias is a very useful feature, especially for CJK users.
* contrib/lisp/org-contacts.el (org-contacts-export-as-vcard): Don't use
non-existent function `org-install-letbind'.
Thanks to Simon Thum for reporting this.
* org-contacts.el (org-contacts-vcard-format): let the function
work with email-address list.
The org-contact file is :
* Name
:PROPERTIES:
:EMAIL: name1@test.org; name2@test.org, name3@test.orgname4@test.org
:END:
The export result is like:
BEGIN:VCARD
VERSION:3.0
N:Name;;;
FN:Name
EMAIL:name1@test.org
EMAIL:name2@test.org
EMAIL:name3@test.org
EMAIL:name4@test.org
END:VCARD
* contrib/lisp/org-git-link.el: Wrap into `eval-and-compile'
to silent warnings.
(org-git-show): Use `with-current-buffer' instead
of (save-excursion (set-buffer ...))
TINYCHANGE
* contrib/lisp/ox-deck.el (org-deck--build-meta-info): Use
`org-export-get-date'.
* contrib/lisp/ox-groff.el (org-groff--mt-head): Use
`org-export-get-date'.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Use
`org-export-get-date'.