* lisp/org.el (org-fill-paragraph): Do not mix consecutive comments
when filling any of them.
* testing/lisp/test-org.el: Add test.
Thanks to Samuel Wales for reporting it.
* org.el (org-refile): With a numeric prefix argument of `3',
emulate (setq org-refile-keep t) and copy the subtree to the
target location, don't delete it.
* org.texi (Refile and copy): Document `C-3 C-c C-w' and add
an index entry for `org-refile-keep'.
* org.el (org-set-regexps-and-options-for-tags): Fix the
setting of tag groups when relying on `org-tag-alist', not on
tags directly set in the buffer with the #+TAGS option.
Thanks to Maurice for reporting this.
* org.el (org-forward-element, org-backward-element): Throw a
message instead of an error when trying to move from a
position where there is no element.
* lisp/ox.el (org-export--registered-backends): Renamed from
`org-export-registered-backends'.
(org-export-invisible-backends): Removed variable.
(org-export-get-backend, org-export-get-all-transcoders
org-export-get-all-options, org-export-get-all-filters): New
functions. It replaces `org-export-backend-translate-table'.
(org-export-barf-if-invalid-backend, org-export-derived-backend-p,
org-export-define-backend, org-export-define-derived-backend):
Rewrite functions using new representation.
(org-export-backend-translate-table): Remove function.
(org-export-get-environment): Use new function.
(org-export--get-subtree-options, org-export--parse-option-keyword,
org-export--get-inbuffer-options, org-export--get-global-options,
org-export-to-buffer org-export-to-file, org-export-string-as
org-export-replace-region-by): Update docstring.
(org-export-data-with-translations): Remove function. Use
`org-export-data-with-backend' with a temporary back-end instead.
(org-export-data-with-backend, org-export-as): Reflect new definition
for back-ends.
(org-export--dispatch-action, org-export--dispatch-ui): Reflect new
definition for back-ends and variable removal. Refactoring.
(org-export-filter-apply-functions): Call functions with
current back-end's name, not full back-end.
* lisp/org.el (org-export-backends, org-create-formula--latex-header):
Use new structure and variables.
* testing/lisp/test-ox.el: Update tests.
This patch separates back-end definition from its registration. Thus,
it allows to use anonymous or unregistered back-ends.
* org.el (org-set-regexps-and-options-for-tags): Enhance
docstring.
(org-set-regexps-and-options): Make sure not to add
`org-tag-alist' twice when setting this variable through et
#+setupfile: directive.
Thanks to Anupam Sengupta for reporting this.
* org.el (org-set-regexps-and-options): Don't set font-lock
defaults here.
(org-mode): Set font-lock defaults here.
This fixes the bug reported here:
http://article.gmane.org/gmane.emacs.orgmode/73429
* org.el (org-mode-map): Remap `forward-paragraph' and
`backward-paragraph' to `org-forward-element' and
`org-backward-element'.
Thanks to Samuel for raising this.
* lisp/org.el (org-setup-filling): Set `paragraph-start' and
`paragraph-separate'.
(org-fill-paragraph-separate-nobreak-p): Remove function.
(org-mode): Do not set `paragraph-start'.
* lisp/org.el (org-re-property): Re-implement using full regex for
`org-re-property'. Add optional argument LITERAL to flag when
PROPERTY should to be regex-quoted. Move before definition of
`org-re-property'. (org-re-property-keyword): Remove, functionality
is subsumed by `org-re-property'. (org-property-re): Define using
`org-re-property'. (org-entry-get, org-property-values): Adjust
match number for PROPVAL. (org-entry-put): Use `org-re-property'
instead of `org-re-property-keyword'
This completes the refactoring started in 3c933adaf6.
* lisp/org.el (org-latex-default-packages-alist): Load "ulem" package
by default. Use "[normalem]" option to preserve \emph definition.
* lisp/ox-latex.el (org-latex-text-markup-alist): Use "\uline" and
"\sout" commands from "ulem" package.
* lisp/org.el (org-latex-default-packages-alist): Document need for
"soul" package.
* lisp/ox-latex.el (org-latex-text-markup-alist): Use \ul (from "soul"
package) instead of \underline for underline text.
* lisp/org.el (org-property-re): Improve definition so that this regex
can be used in all situations. Extend docstring with explanation of
matching groups.
(org-at-property-p): Implement using `org-element-at-point'.
(org-entry-properties, org-buffer-property-keys, org-indent-line):
Use `org-property-re' and adjust match group numbers accordingly.
* lisp/org-element.el (org-element-node-property-parser): Use
`org-property-re' and adjust match group numbers accordingly. Move
`looking-at' out of the let clause to not rely on the unspecified
evaluation order inside the let.
* org.el (org-set-regexps-and-options-for-tags): Return a list
with tag-related variables.
(org-set-regexps-and-options): Append tags from a setup file
to the local tags of the file.
(org-agenda-prepare-buffers): Set tags from a setup file by
calling `org-set-regexps-and-options' when necessary.
Thanks to Anupam Sengupta for reporting this.
* org.el (org-set-regexps-and-options): Fix
`org-deadline-time-hour-regexp' and
`org-scheduled-time-hour-regexp'.
Thanks to Nick Daly for reporting this.
* org.el (org-refresh-properties): Put the text property on
the whole subtree, not just on the headline.
Thanks to Ivan Kanis for reporting this and to Miguel Ruiz for confirming
the bug.
* lisp/org.el (org-table-clean-did-remove-column),
lisp/org-table.el (org-table-clean-did-remove-column): Move defvar,
this dynamic variable is only used in org-table.
* lisp/org-table.el (org-table-colgroup-info): Remove unused defvar
for `org-table-colgroup-info'.
(org-table-clean-before-export): Let-bind regular expression strings
and remove unused matching group. Use
`org-table-clean-did-remove-column' in cond statement rather than
branching via if to avoid code duplication. Remove the code
associated with the removed `org-table-colgroup-info'.
(orgtbl-export): Remove unused internal function.
orgstruct++-mode when the context around point is an item-body.
* org.el (orgstruct-make-binding): Execute org-insert-heading
and org-insert-heading-respect-content when the context around
point is an item-body.
Escape double quotes in URL passed to browse-url
* lisp/org.el (org-link-escape-chars-browser): Add char double quote.
* lisp/org.el (org-open-at-point): Make use of the constant
`org-link-escape-chars-browser'.
* testing/lisp/test-org.el
(test-org/org-link-unescape-ascii-extended-char): Fill paragraph.
(test-org/org-link-escape-url-with-escaped-char): Fill paragraph and
typo.
(test-org/org-link-escape-chars-browser): New test.
This is to make work to open the Org link
[[http://some.host.com/search?q="Org mode"]] in a browser.
From 28726bcc7b7c440d70e2d95ea5a61d0cd5f084ea Mon Sep 17 00:00:00 2001
From: Michael Brand <michael.ch.brand@gmail.com>
Date: Sun, 5 May 2013 17:02:18 +0200
Subject: [PATCH] Escape double quotes in URL passed to browse-url
* lisp/org.el (org-link-escape-chars-browser): Add char double quote.
* lisp/org.el (org-open-at-point): Make use of the constant
`org-link-escape-chars-browser'.
* testing/lisp/test-org.el
(test-org/org-link-unescape-ascii-extended-char): Fill paragraph.
(test-org/org-link-escape-url-with-escaped-char): Fill paragraph and
typo.
(test-org/org-link-escape-chars-browser): New test.
This is to make work to open the Org link
[[http://some.host.com/search?q="Org mode"]] in a browser.
* lisp/org.el (org-preview-latex-fragment)
(org-display-inline-images): Detect whether a graphic display is
available before inlining images to prevent an error.
Thanks to Rick Frankel for the report and the solution.
> `org-startup-with-inline-images' is a customizable variable. The
> problem is that if an org file is visited in a non-graphics buffer (or
> batch), `org-display-inline-images' is called an throws an error
> ("Non-X frame used").
>
> This problem also occurs when e.g., `org-babel-after-execute-hook' is
> set to 'org-display-inline-images (which can be mitigated by not
> setting the hook in a non-x frame).
>
> Since the startup variable is a customization, and causes problems if
> not set programatically, IMHO, the best solution would be to wrap the
> `org-display-inline-images' function in a test so that is is a no-op
> on non graphic displays:
* lisp/org.el (org-fill-paragraph): Move to table beginning before
aligning the table when M-q is called from an affiliated keyword.
* testing/lisp/test-org.el: Add test.
* org.el (org-insert-heading): Fix case when there the first
heading starts at the beginning of the buffer.
In this case, `org-backward-heading-same-level' will throw an error in
the let form, and the error would fall back on "*" instead of falling
back on the correct number of stars to add.
Thanks to Jisang Yoo and John Hendy who reported this bug.
* org.el (org-agenda-prepare-buffers): Add tags defined in
org-tag-persistent-alist to org-tag-alist-for-agenda.
This makes tag hotkeys defined in `org-tag-persistent-alist' appear when
the user invokes `org-agenda-filter-by-tag-refine'.
TINYCHANGE
* org.el (org-read-date-minibuffer-local-map): Check if we are
at the beginning of the prompt, not if we are after a whitespace.
Bind C-. to `calendar-goto-today'.
* org.el (org-read-date-minibuffer-local-map): Call
`calendar-goto-today' only if there is a space before point in
the minibuffer prompt.
Thanks to Michael Brand and others who asked for this regression to be fixed.
* org.el (org-insert-heading): Reveal context when called
interactively. Fix bug about wrong conversion of lines with
:END: or #+end_ into headlines.
(org-in-drawer-p): New function.
(org-meta-return): Use `org-catch-invisible-edits' and the
`org-in-drawer-p' to check whether we are within a drawer.
Thanks to Muchenxuan Tong and John Hendy who reported these errors.
* lisp/org.el (org-insert-heading): Check for checkbox at the
beginning of the item, not just at the beginning of the line.
Without this fix, M-RET in numbered lists would create a checkboxed
item because it was using match data from a previous match. Now we
make sure we go back to the beginning of the item, so that the match
really tells us if there was a checkbox there.
* org.el (org-clone-subtree-with-time-shift): Unconditionally
ask for a time shift if there is a time-stamp. Don't ask for
a time shift when called with a universal prefix argument.
Thanks to Ingmar Meissner for raising this issue again.
* org.el (org-store-link): Don't add a search string when
storing a link from a radio target.
(org-open-at-point): Jump to the radio link (<<<radio>>>), not
to the simple target (<<target>>).
* lisp/ox-latex.el (org-latex--script-size): Use \text command for
subscript and superscript. This is far superior to \mathrm, but it
requires "amstext" package. In particular, accented characters are
now allowed within sub/superscript.
* lisp/org.el (org-latex-default-packages-alist): Add "amstext"
package.
* org.el (org-shifttab): Show the correct number of empty
headlines when called with a numeric prefix argument. Enhance
docstring.
Thanks to Michael Crouch for reporting this bug and providing the fix.