Commit Graph

11529 Commits

Author SHA1 Message Date
Nicolas Goaziou d0fab8bb6f ox: Tiny refactoring
* lisp/ox.el (org-export-resolve-fuzzy-link): Use `string-to-char'
  instead of (aref STRING 0).
2015-05-11 01:33:24 +02:00
Nicolas Goaziou f653495419 ox: Tiny refactoring
* lisp/ox.el (org-export-expand-include-keyword):
(org-export--prepare-file-contents):
(org-export-with-backend): Wrap line of code within 80 columns.
(org-export--inclusion-absolute-lines): Remove unecessary `format'
call for error message.
2015-05-11 01:30:45 +02:00
Nicolas Goaziou c0dec9a8bc org-table: Fix durations extracted from node properties
* lisp/org-table.el (org-table-formula-substitute-names): Convert
  durations when needed.  Refactor code.

* testing/lisp/test-org-table.el (test-org-table/duration): New test.

Reported-by: Daniele Pizzolli <dan@toel.it>
<http://permalink.gmane.org/gmane.emacs.orgmode/97252>
2015-05-11 01:20:37 +02:00
Nicolas Goaziou fa5f8c8f90 Allow optional argument to {{{property}}} for remote entries
* lisp/org-macro.el (org-macro-initialize-templates): "property"
  template accepts an optional argument, as a search option to grab
  properties from other headlines.

* doc/org.texi (Macro replacement): Document new feature.  Improve
  documentation.
(An example): Update documentation.

* testing/lisp/test-org-macro.el (test-org/macro-replace-all): Add
  tests.
2015-05-10 11:48:13 +02:00
Nicolas Goaziou ecc8b9f3db org-macro: Fix incomplete docstring
* lisp/org-macro.el (org-macro-replace-all): Document missing KEYWORDS
  optional argument.
2015-05-10 10:05:46 +02:00
Titus von der Malsburg 6779f8f424 Fix detection of latex fragments
* org-element.el (org-element-latex-fragment-parser):
* org.el (org-latex-regexps): Fix the detection of latex
  fragments.  Uses syntax tables to detect whitespaces and punctuation
  marks following the final $ sign.

In order to qualify as a math delimiter, the final $ sign of a LaTeX
fragment has to be followed by a whitespace or punctuation mark but the
regexp used in the previous code matched only a small number of
punctuation marks and therefore missed some latex fragments.
2015-05-09 09:36:53 +02:00
Nicolas Goaziou b27e630bab org-capture: Fix "org-find-olp: Wrong type argument: stringp, nil"
* lisp/org-capture.el (org-capture-expand-file): Empyt string defaults
  to `org-default-notes-file'.
* lisp/org.el (org-default-notes-file): Do not fallback on
`remember-data-file' since "org-capture.el" is not based off
"remember.el" anymore.

Reported-by: Florian Lindner <mailinglists@xgm.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/97448>
2015-05-08 11:32:35 +02:00
Nicolas Goaziou 6ac8db9dba Fix TBLFM line handling
* lisp/org-table.el (org-table-TBLFM-begin-regexp): Take into
  consideration that table lines are not required to end with "|".
(org-table-calc-current-TBLFM): Properly clean markers at the end of
the process.
(org-table-TBLFM-begin): Small refactoring.
* lisp/org.el (org-at-TBLFM-p): Prevent false positives.

Suggested-by: Oleg Sivokon <olegsivokon@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97461>
2015-05-08 10:46:07 +02:00
Nicolas Goaziou 4980a9dbb8 Fix indentation in empty items
* lisp/org.el (org--get-expected-indentation): Fix indentation on
  in empty items.
* testing/lisp/test-org.el (test-org/indent-line): Add test.

Reported-by: Leo Ufimtsev <lufimtse@redhat.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97454>
2015-05-08 10:08:11 +02:00
Nicolas Goaziou 7af8ce6cb3 org-element: Fix parsing bug in items
* lisp/org-element.el (org-element-item-parser): When contents are
  empty, do not find a zero-width paragraph within.
2015-05-07 23:45:41 +02:00
Nicolas Goaziou a35c4332f2 ox-publish: Allow external references outside of publishing
* lisp/ox-publish.el (org-publish-resolve-external-link): Warn instead
  of throwing an error when a reference to a non-published external
  file is encountered.
2015-05-07 22:15:00 +02:00
Nicolas Goaziou 9aa69058bc org-list: Preserve newline characters when changing description lists
* lisp/org-list.el (org-list-to-generic): Preserve newline characters
  after description in description lists.

Reported-by: Leo Ufimtsev <lufimtse@redhat.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97432>
2015-05-07 01:16:32 +02:00
Nicolas Goaziou e42c161109 ox-publish: Throw an error for external reference outside of publish
* lisp/ox-publish.el (org-publish-resolve-external-link): Throw an
  error when trying to resolve an external reference while not in
  a publishing process.

Reported-by: Rainer M Krug <Rainer@krugs.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/97420>
2015-05-07 00:57:22 +02:00
Nicolas Goaziou 29e33ae2af ox-publish: Fix space matching in external fuzzy links
* lisp/ox-publish.el (org-publish--collect-references):
(org-publish-resolve-external-link): Treat consecutive blank
characters as a single space, not 0.
2015-05-07 00:48:36 +02:00
Nicolas Goaziou c76006a42c org-footnote: Make `org-footnote-create-definition' non-interactive
* lisp/org-footnote.el (org-footnote-create-definition): Remove
  `interactive' status.  Allow to insert definitions outside of
  narrowed part of buffer.  Preserve position.  Return beginning
  position of created definition.
(org-footnote-new):
(org-footnote-action): Apply changes above.
2015-05-06 23:47:16 +02:00
Nicolas Goaziou 360c4633e2 org-footnote: Rename `org-footnote-goto-local-insertion-point'
* lisp/org-footnote.el (org-footnote--goto-local-insertion-point):
  Renamed from `org-footnote-goto-local-insertion-point'.
(org-footnote-normalize): Use function above.  Small refactoring.

* testing/lisp/test-org-footnote.el (test-org-footnote/normalize-in-org):
  Small refactoring.
2015-05-06 23:47:13 +02:00
Nicolas Goaziou f6492d953c org-footnote: Add optional argument to `org-footnote-goto-definition'
* lisp/org-footnote.el (org-footnote-goto-definition): Add an optional
  argument in order to avoid duplicating calls to
  `org-footnote-get-definition'.  Return non-nil when move was
  successful.
2015-05-06 23:15:42 +02:00
Nicolas Goaziou 8f394624b8 org-footnote: Fix type error when creating a new footnote
* lisp/org-footnote.el (org-footnote-get-definition): Fix type error
  when creating a new footnote.

When footnote definition is new, contents are nil.
2015-05-04 09:38:32 +02:00
Nicolas Goaziou c8e3873a5e org-footnote: Offer to widen buffer when trying to move to a definiton
* lisp/org-footnote.el (org-footnote-action): Offer to widen buffer if
  definition is outside of narrow part of buffer.
2015-05-02 16:45:54 +02:00
Nicolas Goaziou 5b49f18941 org-footnote: Fix `org-footnote-get-definition'
* lisp/org-footnote.el (org-footnote-get-definition): Footnotes
  definitions are global, so ignore narrowing right from the start.
  Also skip false positives.
2015-05-02 16:45:54 +02:00
Nicolas Goaziou 9e52d2ed01 org-src: Allow to edit inline footnote references
* lisp/org-src.el (org-src--edit-element): Do not rely on :value to
  extract contents.  Small refactoring.
(org-src--contents-area): Renamed from
  `org-src--element-contents-area'.  Throw an error on unknown
  elements.
(org-src--on-datum-p): Rename from `org-src--on-element-p'.  Handle
objects.
(org-edit-export-block, org-edit-src-code,
org-edit-fixed-width-region, org-edit-table.el): Apply renaming.
(org-edit-src-save, org-edit-src-exit): Handle inline text.
(org-edit-src-exit): Allow empty or blank code.  Handle inline text.
(org-src--edit-element): Rename an argument
(org-edit-footnote-reference): Allow to edit inline definitions.

* etc/ORG-NEWS: Document new feature.
2015-05-02 16:45:51 +02:00
Nicolas Goaziou f8d1d373fc org-src: Make area being edited read-only
* lisp/org-src.el (org-src--make-source-overlay): Add read-only
  feature to overlay.
(org-edit-src-save): Adapt to change above.
2015-05-01 21:14:19 +02:00
Nicolas Goaziou 427403d0bb org-src: Remove `org-src--type'
* lisp/org-src.el (org-src--type): Remove variable.
(org-src--contents-for-write-back): Apply removal.
(org-edit-src-code): Add indentation in post-process.
2015-05-01 18:46:33 +02:00
Nicolas Goaziou 49a656a409 ob-core: Remove `org-babel-src-name-w-name-regexp'
* lisp/ob-core.el (org-babel-get-src-block-info):
(org-babel-src-block-names): Use
`org-babel-named-src-block-regexp-for-name' instead.
2015-05-01 14:51:57 +02:00
Nicolas Goaziou cec47a635e ob-core: Change `org-babel-named-src-block-regexp-for-name' signature
* lisp/ob-core.el (org-babel-named-src-block-regexp-for-name): Allow
  to match any name.
2015-05-01 14:51:56 +02:00
Nicolas Goaziou 4aeb622336 ob-core: Use `org-next-block'
* lisp/ob-core.el (org-babel-find-named-block):
(org-babel-src-block-names): Use `org-next-block'.
2015-05-01 14:05:46 +02:00
Nicolas Goaziou a4f4343110 ob-core: Fix regexp
* lisp/ob-core.el (org-babel-named-src-block-regexp-for-name): NAME
  needs no be the last affiliated keyword.
2015-05-01 14:03:26 +02:00
Nicolas Goaziou 0b7721322a Fix `org-next-block'
* lisp/org.el (org-next-block): Use Element API.

* testing/lisp/test-org.el (test-org/next-block):
(test-org/previous-block): New tests.
2015-05-01 14:03:26 +02:00
Nicolas Goaziou bce77d0db3 org-src: Fix "not in a sub-edit buffer" error on save
* lisp/org-src.el (org-src-mode): Fix "not in a sub-edit buffer" error
  on save.

Reported-by: Detlef Steuer <detlef.steuer@gmx.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/97349>
2015-05-01 10:29:05 +02:00
Nicolas Goaziou d289eb9361 org-src: Fix docstrings
* lisp/org-src.el (org-src-mode-hook):
(org-edit-src-code): Fix docstrings.
2015-05-01 10:03:17 +02:00
Nicolas Goaziou 0046955e23 org-src: Fix docstrings
* lisp/org-src.el (org-src-mode-hook):
(org-src-mode): Fix docstring.
(org-src-mode-map): Refactor.
2015-05-01 09:49:14 +02:00
Nicolas Goaziou 2777b3fd4c org-element: Tolerate missing space after colon in keywords
* lisp/org-element.el (org-element--set-regexps):
(org-element--affiliated-re): Tolerate missing space after colon in
keywords.
2015-05-01 09:23:35 +02:00
Luke Amdor 14f5b13218 org.el: Fix use of org-open-at-point with shell and midnight cleaning
* lisp/org.el (org-open-at-point): Make sure org shell output buffer
  is a string of buffer name before appending to
  `clean-buffer-list-kill-buffer-names' for cleaning later.

TINYCHANGE
2015-04-29 23:37:18 +02:00
Nicolas Goaziou ff1b975679 Merge branch 'maint' 2015-04-29 23:32:05 +02:00
Nicolas Goaziou c763faf529 org-agenda: Fix invalid face error for priority #B
* lisp/org-agenda.el (org-agenda-fontify-priorities): Ensure face
  doesn't inherit from nil.

Reported-by: Renato <renatofdds@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97253>
2015-04-29 23:29:36 +02:00
Nicolas Goaziou ea575950d9 org-src: Tiny fix
* lisp/org-src.el (org-src-mode): Tiny fix.
2015-04-29 13:25:34 +02:00
Nicolas Goaziou bf01f6fe66 org-src: Small fix to auto-save feature
* lisp/org-src.el (org-src-mode): Trigger auto-save even when current
  buffer is not and edit buffer.
2015-04-29 13:23:36 +02:00
Nicolas Goaziou bad0409c3b org-src: Small refactoring
* lisp/org-src.el (org-src--auto-save-timer): Renamed from
  `org-src--code-timer'.
(org-src--edit-element):
(org-src-mode): Enable auto-save features in minor mode.  Apply
variable renaming.
2015-04-29 13:16:21 +02:00
Bastien 86dcd90771 Merge branch 'maint' 2015-04-29 07:57:07 +02:00
Bastien 8cc7b72160 Backport commit 25166a91 from Emacs master branch. 2015-04-29 07:56:37 +02:00
Nicolas Goaziou 2e2f68467c ob-core: Update allowed values for :eval header arg
* lisp/ob-core.el (org-babel-common-header-args-w-values):
  Recognize :eval no.

Reported-by: Thomas S. Dye <tsd@tsdye.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97303>
2015-04-28 22:10:21 +02:00
Nicolas Goaziou 96c53376cc ob-core: Update allowed values for :eval header arg
* lisp/ob-core.el (org-babel-common-header-args-w-values): Add allowed
  values for :eval arg.

Reported-by: Thomas S. Dye <tsd@tsdye.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97272>
2015-04-28 09:50:35 +02:00
Konubinix 6f0cf14383 Fix `org-refresh-category-properties'
* lisp/org.el (org-refresh-category-properties): Prevent the `put-text-property'
  to change the point in order to take into account the CATEGORY
  property in subtrees also.

* testing/lisp/test-org.el (test-org/entry-properties): Add test.
2015-04-28 09:40:03 +02:00
Nicolas Goaziou 690e25d932 ox-odt: Fix defcustom keywords
* lisp/ox-odt.el (org-odt-inline-image-rules): Update keywords.

Default value changed in 8e89c0e3b4.
2015-04-28 00:25:11 +02:00
Nicolas Goaziou 2f0491d52e Merge branch 'master' of orgmode.org:org-mode 2015-04-28 00:24:05 +02:00
Nicolas Goaziou 21b6b1d9a2 org-src: Fix editing remotely empty footnote definitions
* lisp/org-src.el (org-src--element-contents-area):
(org-edit-footnote-reference): Take into consideration
that :contents-begin and :contents-end may be nil.

Reported-by: Rasmus <rasmus@gmx.us>
<http://permalink.gmane.org/gmane.emacs.orgmode/97262>
2015-04-28 00:22:20 +02:00
Vicente Vera Parra 8e89c0e3b4 ox-odt: Allow attaching SVG images by default
* lisp/ox-odt.el (org-odt-inline-image-rules): Modify default rule to
  allow including inline SVG images in exported ODT documents.

TINYCHANGE
2015-04-28 00:17:54 +02:00
Rasmus 34a3cd5467 ox-latex: Use standard LaTeX label prefixes
* ox-latex.el (org-latex--label): Use standard LaTeX prefixes.
  (org-latex-math-environments-re): New defconst.
2015-04-28 00:05:37 +02:00
Nicolas Goaziou eb77fed33f org-element: Fix parapraph parsing
* lisp/org-element.el (org-element--set-regexps): Refine
  `org-element-paragraph-separate'.
(org-element-paragraph-parser): Fix paragraph parsing when followed by
a dual keyword or an ill-formed latex environment.

* testing/lisp/test-org-element.el (test-org-element/paragraph-parser):
  Add tests.

Reported-by: Jacob Gerlach <jacobgerlach@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97256>
2015-04-27 22:27:48 +02:00
Nicolas Goaziou 2965f8fb0c ox: Refresh buffer properties after including files
* lisp/ox.el (org-export-as): Call `org-set-regexps-and-options'.

Suggested-by: Detlef Steuer <detlef.steuer@gmx.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/97244>
2015-04-27 20:40:28 +02:00
Nicolas Goaziou 88ea2ced0e ox-latex: Allow alt titles in starred sectionning commands
* lisp/ox-latex.el (org-latex-headline): Allow alt titles in starred
  sectionning commands.

Reported-by: Vikas Rawal <vikaslists@agrarianresearch.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/97242>
2015-04-27 17:43:18 +02:00
Bastien 367d48cbd8 Merge branch 'maint'
Conflicts:
	lisp/org-clock.el
2015-04-27 14:17:00 +02:00
Stefan Monnier 9ee9d69a34 org-clock.el (org-x11idle-exists-p): Be honest about which command is actually sent to the shell.
* org-clock.el (org-x11idle-exists-p): Be honest about which
command is actually sent to the shell.
2015-04-27 14:15:45 +02:00
Rasmus d13a2bb1c7 ox-latex: Fix footnote bug when narrowed buffer
* ox-latex.el (org-latex-footnote-reference): Support math in outside
  footnotes when narrowed.
2015-04-26 15:42:12 +02:00
Nicolas Goaziou 9d4b3e356f org-src: Refuse to edit remotely inline footnotes
* lisp/org-src.el (org-edit-footnote-reference): Throw an error when
  definition is inline.
2015-04-26 14:58:54 +02:00
Nicolas Goaziou ca2b398396 org-src: Allow editing footnote definitions
* lisp/org-src.el (org-src--element-contents-area): Make a special
  case for footnote definitions.
(org-edit-footnote-reference): New function.
* lisp/org.el (org-edit-special): Use new function.
2015-04-26 11:44:35 +02:00
Nicolas Goaziou 58af85a4a2 org-src: Allow editing elements remotely
* lisp/org-src.el (org-src--remote-p): New variable.
(org-src--edit-element): Add optional argument.
(org-edit-src-exit): Handle new optional argument.
2015-04-26 11:37:52 +02:00
Nicolas Goaziou c347b87ffe org-src: Allow to post-process edit buffer
* lisp/org-src.el (org-src--allow-write-back): Rename from
  `org-src--allow-write-back-p'.

(org-src--edit-element):
(org-src-mode-configure-edit-buffer):
(org-edit-src-abort):
(org-edit-src-exit): Apply renaming.

(org-src--contents-for-write-back):
(org-edit-export-block):
(org-edit-src-code):
(org-edit-fixed-width-region): Use post-process.
2015-04-26 11:13:37 +02:00
Charles Berry c1f515840d org-cycle: Cycle visibility when point is at the end of a folded headline
* lisp/org.el: (org-cycle): Ignore invisible newlines and cycle
  visibility when point is visibly on a headline.

Requested by: Nikolaus Rath <Nikolaus@rath.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/97125>
2015-04-25 11:23:59 -07:00
Nicolas Goaziou 510fc3761b org-footnote: Fix 5954f6aa25
* lisp/org-footnote.el (org-footnote-goto-definition): Better check
  for narrowed scope.
* testing/lisp/test-org-footnote.el (test-org-footnote/goto-definition):
  Add test.
2015-04-25 11:09:05 +02:00
Nicolas Goaziou 5954f6aa25 org-footnote: Do not move point if definition is unreachable
* lisp/org-footnote.el (org-footnote-goto-definition): Throw an error
  when definition is outside narrowed part of buffer.  Do not move
  point either.

* testing/lisp/test-org-footnote.el (test-org-footnote/goto-definition):
  New test.

Reported-by: Rasmus <rasmus@gmx.us>
<http://permalink.gmane.org/gmane.emacs.orgmode/97158>
2015-04-25 10:36:35 +02:00
Jarmo Hurri 0d21d8d0ea ob-processing.el: Support for Processing language
* lisp/ob-processing.el: New file.

* doc/org.texi (Languages): Signal new language.

This library implements necessary functions for implementing editing
of Processing code blocks, viewing the resulting sketches in an
external viewer, and HTML export of the sketches.

Editing Processing blocks requires processing2-emacs mode. Viewing
Processing blocks embedded in Org buffer in an external viewer also
requires processing2-emacs. This viewing is bound to C-c C-v C-k and
produces no results in Org buffer. HTML export of the results of a
Processing block is also supported, assuming that the processing.js
module is available: the sketch is then drawn by the browser when the
HTML page is viewed. This drawing is implemented by embedding the
Processing code in a script using the processing.js module. The user
is responsible for making sure that processing.js is available in the
correct location.

Console output from a Processing block produced e.g. by println() is
shown in the Processing compilation window when the code is executed
in Org buffer, and in text area (console) of the browser when the code
is embedded in HTML.
2015-04-25 10:01:21 +02:00
Kyle Meyer 63a3153842 org.el: Remove org-timer-cancel-timer binding
* lisp/org.el (org-mode-map): Remove binding for deleted command
  org-timer-cancel-timer.

The command org-timer-cancel-timer was removed in 173b0cb6d6.
2015-04-24 21:43:07 +02:00
Nicolas Goaziou 4542ef8799 ox-html: Fix typo
* lisp/ox-html.el (org-html-paragraph): Fix typo introduced in
  da571868a5.
2015-04-24 21:24:57 +02:00
Nicolas Goaziou da571868a5 ox-html: Fix paragraph class in footnote definitions
* lisp/ox-html.el (org-html-footnote-section):
(org-html-paragraph): Add "footpara" class for footnote definitions.

Reported-by: Rasmus <rasmus@gmx.us>
<http://permalink.gmane.org/gmane.emacs.orgmode/97157>
2015-04-24 21:21:22 +02:00
Nicolas Goaziou 84e2e1e752 org-element: Keep ARCHIVE tag in headline tags
* lisp/org-element.el (org-element-headline-parser): Do not remove
  ARCHIVE tag.
(org-element-headline-interpreter): Apply change.

* testing/lisp/test-org-element.el (test-org-element/headline-archive-tag):
Update tests.

<http://permalink.gmane.org/gmane.emacs.orgmode/97141>
2015-04-24 14:28:17 +02:00
Rasmus aad7dd2486 ox-odt: Fix bug links without labels.
* ox-odt.el (org-odt-format-label): Determine label more carefully.

Reported-by: Vicente Vera <vicentemvp@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97090>
2015-04-23 12:39:52 +02:00
Rasmus 2bdc661fde org.el: Handle nil org-latex-to-mathml-jar-file
* org.el (org-create-math-formula): Handle nil
  org-latex-to-mathml-jar-file.
2015-04-23 12:39:52 +02:00
Nicolas Goaziou ce4e647c21 Tiny refactoring
* lisp/org.el (org-iread-file-name): Refactor.

`read-file-name' already applies `read-file-name-function' when
available.
2015-04-22 14:30:59 +02:00
Nicolas Goaziou 3df8dae3c9 org-pcomplete: Update copyright year 2015-04-22 14:23:19 +02:00
Nicolas Goaziou 79db2d5dbb ox: Tiny fix to code comments
* lisp/ox.el (org-export--get-subtree-options): Tiny fix.
2015-04-22 14:05:51 +02:00
Nicolas Goaziou c88256c776 ox: Fix OPTIONS line parsing
* lisp/ox.el (org-export--parse-option-keyword): Fix parsing of items.
* testing/lisp/test-ox.el (test-org-export/parse-option-keyword): Add
  test.
2015-04-22 14:05:37 +02:00
Nicolas Goaziou e040ad58a1 Rename `org-export--registered-backends'
* lisp/ox.el (org-export-registered-backends): Renamed from
  `org-export--registered-backends'.
(org-export-get-backend):
(org-export-register-backend):
(org-export-insert-default-template):
(org-export--dispatch-ui):

* lisp/org.el (org-export-registered-backends):
(org-export-backends):
(org-get-export-keywords):

* lisp/org-pcomplete.el (pcomplete/org-mode/file-option/options):

* testing/lisp/test-ox.el (test-org-export/define-backend):
(test-org-export/define-derived-backend):
(test-org-export/derived-backend-p):
(test-org-export/get-all-transcoders):
(test-org-export/get-all-options):
(test-org-export/get-all-filters):
(test-org-export/with-backend): Apply renaming.

Since the variable is copiously used outside of "ox.el", there's no
reason to mark it as internal.
2015-04-22 10:27:24 +02:00
Nicolas Goaziou 9290395405 Silence byte-compiler
* lisp/ob-shell.el (org-babel-sh-evaluate):
* lisp/org-clock.el (org-x11idle-exists-p): Do not use last
  `call-process-shell-command' arg.

* lisp/org-mouse.el (org-mouse-show-context-menu): Ignore
  `redisplay-dont-pause'.

* lisp/org.el (org-icompleting-read): Fix typo.  Small refactoring.
2015-04-22 09:51:52 +02:00
Nicolas Goaziou bf024eed8d org-element: Improve babel calls parsing
* lisp/org-element.el (org-element-babel-call-parser):
(org-element-inline-babel-call-parser): Parse call name, inside
header, arguments and end header.  Update docstring.

* testing/lisp/test-org-element.el (test-org-element/babel-call-parser):
(test-org-element/inline-babel-call-parser):
(test-org-element/babel-call-interpreter):
(test-org-element/inline-babel-call-interpreter): Add tests.
2015-04-21 11:54:22 +02:00
Rasmus 797023b84c org.el: Fix 7ec8ced
* org.el (org-icompleting-read): Correct bug introduced previously.
2015-04-20 14:18:34 +02:00
Nicolas Goaziou e0567c9cac Export back-ends: Use `org-export-file-uri'
* contrib/lisp/ox-groff.el (org-groff-link):
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-man.el (org-man-link):
* lisp/ox-md.el (org-md-link):
* lisp/ox-odt.el (org-odt-link):
* lisp/ox-texinfo.el (org-texinfo-link): Use `org-export-file-uri'.
2015-04-20 12:37:13 +02:00
Nicolas Goaziou f85a961c23 ox: Implement `org-export-file-uri'
* lisp/ox.el (org-export-file-uri): New function.
* testing/lisp/test-ox.el (test-org-export/file-uri): New test.
2015-04-20 12:36:47 +02:00
Nicolas Goaziou 0ab15904ec org-element: Fix "file" link :path
* lisp/org-element.el (org-element-link-parser): Fix :path value.
* testing/lisp/test-org-element.el (test-org-element/link-parser):
  Update tests.

:path now really contains the filename, not some truncated URI.
2015-04-20 12:35:41 +02:00
Rasmus 4ee8f4f286 Revert "ox: Change label naming scheme"
This reverts commit cf7d64f1e4.
2015-04-19 16:00:06 +02:00
Nicolas Goaziou 3d4a153105 ox-latex: Tiny refactoring
* lisp/ox-latex.el (org-latex--label): Tiny refactoring.
2015-04-19 15:42:39 +02:00
Nicolas Goaziou 88108f652f ox-latex: Fix f1548e11fe
* lisp/ox-latex.el (org-latex-prefer-user-labels): Fix docstring.
(org-latex--label): Fix docstring.  Do not add a spurious newline
character when generating "\\label" macro for a target.
(org-latex-link):
(org-latex-radio-target): Radio targets always use internal labelling
scheme.

Radio targets are visible in the document so they can contain
forbidden characters, and user cannot adapt them to naming
restrictions from a given back-end.
2015-04-19 15:16:52 +02:00
Nicolas Goaziou 0449b785b4 ox-html: Fix CUSTOM_ID handling
* lisp/ox-html.el (org-html-headline): Prefer raw CUSTOM_ID over
  internal reference.

This is required for custom CSS and to link generated page from
outside Org.  However, the user is responsible for not using forbidden
characters in its value.
2015-04-19 00:30:58 +02:00
Rasmus d8494b5668 org.el: Respect read-file-name-function
* org (org-iread-file-name): Respect read-file-name-function.
2015-04-16 19:41:26 +02:00
Rasmus b80ed6124f org.el: Refactor org-file-complete-link
* org.el (org-file-complete-link): Refactor.
2015-04-16 19:41:13 +02:00
Rasmus 7ec8ced5d6 org.el: Small refactor
* org.el (org-icompleting-read): Support completing-read-default.
2015-04-16 17:28:10 +02:00
Oleh Krehel acf7f47ecd Use `completing-read-function' for completion
lisp/org.el (org-icompleting-read): When `completing-read-function' is
the default one, use `ido', otherwise, use `completing-read-function'.
2015-04-16 16:22:11 +02:00
Rasmus cf7d64f1e4 ox: Change label naming scheme
* ox.el (org-export-get-reference): Change labeling scheme.

160820bc94 and later changed the label naming scheme to follow types.
This commit maps to types to more standard names, e.g. 'headline' to
'sec'.
2015-04-16 12:08:34 +02:00
Rasmus f1548e11fe ox-latex: Accept user-label for more types
* ox-latex.el (org-latex--label): Add user-labels for targets.
(org-latex--wrap-label, org-latex-link, org-latex-target)
(org-latex-radio-target): Use org-latex--label.
2015-04-16 12:07:49 +02:00
Rasmus 586e29618b Remove intanglibe overlay
* org-colview.el (org-columns-display-here):
* org-agenda.el (org-agenda-dim-blocked-tasks): Remove
  intanglible overlay.

Suggested-by: Stefan Monnier <monnier@IRO.UMontreal.CA>
<http://permalink.gmane.org/gmane.emacs.orgmode/96914>
(Incl. original patch by Stefan).
2015-04-16 11:56:15 +02:00
Nicolas Goaziou cd7cbdcda8 ox-publish: Extend published external links
* lisp/ox-publish.el (org-publish-collect-numbering):
(org-publish-resolve-external-fuzzy-link): Remove functions.

(org-publish--collect-references, org-publish-resolve-external-link):
New functions.
(org-publish-org-to): Use new functions.

* lisp/ox-html.el (org-html-link): Reflect changes above.

This patch extends `org-publish-resolve-external-fuzzy-link', now
known as `org-publish-resolve-external-link' to custom-id links and
dedicated targets.
2015-04-13 15:37:27 +02:00
Nicolas Goaziou 4bbc054bd2 ox-latex: Introduce `org-latex-prefer-user-labels' variable
* lisp/ox-latex.el (org-latex-prefer-user-labels): New variable.
(org-latex-custom-id-as-label): Remove variable.
(org-latex--label): New function.

(org-latex--caption/label-string):
(org-latex-headline):
(org-latex-inlinetask):
(org-latex-latex-environment):
(org-latex-link): Use new function.

* etc/ORG-NEWS: Document new variable.

This variable replaces, and generalizes,
`org-latex-custom-id-as-label'.
2015-04-13 15:21:23 +02:00
Nicolas Goaziou 68eb1d0ab0 ox: Remove `org-export-solidify-link-text'
* lisp/ox.el (org-export-solidify-link-text): Remove function.

* etc/ORG-NEWS: Signal removal.
2015-04-13 15:21:22 +02:00
Nicolas Goaziou 4590332652 Export back-ends: Use `org-export-get-reference'
* lisp/ox-beamer.el (org-beamer-link):
(org-beamer-plain-list):
(org-beamer-target):
(org-beamer-radio-target):

* lisp/ox-html.el (org-html--wrap-image):
(org-html--format-toc-headline):
(org-html-list-of-listings):
(org-html-list-of-tables):
(org-html-headline):
(org-html-inline-src-block):
(org-html-link):
(org-html-paragraph):
(org-html-section):
(org-html-radio-target):
(org-html-src-block):
(org-html-table):
(org-html-target):

* lisp/ox-latex.el (org-latex--caption/label-string):
(org-latex--wrap-label):
(org-latex-center-block):
(org-latex-drawer):
(org-latex-dynamic-block):
(org-latex-example-block):
(org-latex-fixed-width):
(org-latex-headline):
(org-latex-horizontal-rule):
(org-latex-latex-environment):
(org-latex-link):
(org-latex-plain-list):
(org-latex-quote-block):
(org-latex-radio-target):
(org-latex-target):
(org-latex-verse-block):

* lisp/ox-man.el (org-man-target):

* lisp/ox-md.el (org-md-headline):

* lisp/ox-odt.el (org-odt-format-headline--wrap):
(org-odt-headline):
(org-odt-format-label):
(org-odt-link--infer-description):
(org-odt-link):
(org-odt-radio-target):
(org-odt-target):

* lisp/ox-texinfo.el (org-texinfo--get-node):
(org-texinfo-radio-target):
(org-texinfo-target):

* contrib/lisp/ox-groff.el (org-groff-link):
(org-groff-radio-target):
(org-groff-target):

* contrib/lisp/ox-rss.el (org-rss-headline): Use
  `org-export-get-reference'.
2015-04-13 15:21:22 +02:00
Nicolas Goaziou 186bae42a4 ox: Remove `org-export-get-headline-id'
* lisp/ox.el (org-export-get-headline-id):
(org-export--collect-unnumbered-headline-id): Remove function.
(org-export-collect-tree-properties): Apply removal.

* testing/lisp/test-ox.el (test-org-export/org-export-get-headline-id):
  Remove test.
(test-org-export/numbered-headline-p): Update test.

`org-export-get-reference' supersedes it.
2015-04-13 15:21:22 +02:00
Nicolas Goaziou 160820bc94 ox: Implement `org-export-get-reference'
* lisp/ox.el (org-export-get-reference): New function.

* etc/ORG-NEWS: Signal new function.
2015-04-13 15:21:22 +02:00
Nicolas Goaziou 1efb7561da ox-latex: Tiny fix
* lisp/ox-latex.el (org-latex-link): Tiny fix.
2015-04-13 09:56:44 +02:00
Nicolas Goaziou 65bbb1f7c8 ox-latex: Use :ALT_TITLE: on unnumbered headlines
* lisp/ox-latex.el (org-latex-headline): Use :ALT_TITLE: also on
  unnumbered headlines.

Suggested-by: Marcin Borkowski <mbork@wmi.amu.edu.pl>
<http://permalink.gmane.org/gmane.emacs.orgmode/96860>
2015-04-12 20:09:25 +02:00
Nicolas Goaziou 7584200bb8 org-footnote: Allow new footnotes in headlines
* lisp/org-footnote.el (org-footnote--allow-reference-p): Allow new
footnotes in headlines.

* testing/lisp/test-org-footnote.el (test-org-footnote/new): Add test.

Reported-by: Thomas S. Dye <tsd@tsdye.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/96843>
2015-04-12 00:25:33 +02:00
Nicolas Goaziou 9debffbe0f Fix wrong type error with %l in `org-agenda-prefix-format'
* lisp/org.el (org-scan-tags): Fix type.

Reported-by: Dominik Schrempf <dominik.schrempf@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/96823>
2015-04-11 00:15:04 +02:00
Nicolas Goaziou 7b97b631ef org-info: Correctly export info links to HTML
* lisp/org-info.el (org-info-export): New function.

Reported-by: Richard Y. Kim <emacs18@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/96779>
2015-04-10 10:39:24 +02:00
Nicolas Goaziou 98fdb642fc Merge branch 'maint' 2015-04-10 10:26:01 +02:00
Jacob Matthews d0bb993f70 org-mobile.org: Properly escape checksum binary path
* lisp/org-mobile.org (org-mobile-copy-agenda-files): Escape org-mobile-checksum-binary.

Fix a bug where if the checksum binary is in a non shell-safe path, then
the shell invocation silently fails. This can happen on any platform but
is probably worst on Windows where it's common to put programs in
"C:/Program Files".

TINYCHANGE
2015-04-10 10:25:23 +02:00
Vicente Vera Parra d6bd969ab2 ox: Fix Spanish translations
* lisp/ox.el (org-export-dictionary): Fix Spanish translations,
  including :ascii and :html properties. Also add :default Spanish
  property for "References".

TINYCHANGE
2015-04-09 20:06:36 +02:00
Rasmus a12d98e93e ox-latex: Fix a780080fc
* ox-latex.el (org-latex-template): Empty string for subtitle
  when it is not set.
2015-04-09 18:39:35 +02:00
Nicolas Goaziou 105ec604c2 ox: Allow multi-line objects in `parse' options
* lisp/ox.el (org-export--get-inbuffer-options): Allow multi-line objects.
* testing/lisp/test-ox.el (test-org-export/get-inbuffer-options): Add
  tests.  Update some others.

It is possible to write, e.g.,

  #+TITLE: *bold
  #+TITLE: sentence*
2015-04-09 14:11:25 +02:00
Nicolas Goaziou d7e7b78c2e Fix a780080fcf
* lisp/ox-latex.el (latex): Parse SUBTITLE, DESCRIPTION and KEYWORDS.
* lisp/ox-beamer.el (org-beamer-template): Do not parse again
  SUBTITLE.
2015-04-09 10:04:29 +02:00
Rasmus a780080fcf ox: Add #+SUBTITLE property in some backends
* ox-texinfo.el (texinfo, org-texinfo-template): Parse subtitle.
* ox-s5.el (org-s5-title-slide-template):
* ox-deck.el (org-deck-title-slide-template):
* ox-odt.el (odt, org-odt-template):
* ox-latex.el (latex, org-latex-template):
* ox-html.el (html, org-html-format-spec, org-html-template):
* ox-ascii.el (ascii, org-ascii-template--document-title):
* ox-beamer.el (beamer, org-beamer-template): Support #+SUBTITLE.
* ox-html.el (org-html-postamble-format)
(org-html-preamble-format):
* ox-latex.el (org-latex-title-command)
(org-latex-hyperref-template): Update docstring.
* ox-html.el (org-html-style-default): New .subtitle css property.
* ox-beamer.el (org-beamer-subtitle-format):
* ox-latex.el (org-latex-subtitle-format)
(org-latex-subtitle-separate): New variable.
* org.texi (ASCII/Latin-1/UTF-8 export)
(Beamer specific export settings)
(HTML Specific export settings)
(@LaTeX{} specific export settings, CSS support)
(ODT specific export settings)
(Texinfo specific export settings, Document preamble)
(Publishing options, Publishing options): Document #+SUBTITLE.

The patch adds a #+SUBTITLE keyword to ox-ascii, ox-latex, ox-html and
ox-odt.
2015-04-08 23:23:13 +02:00
Rasmus 951ae54c2e ox-ascii: Fix 12a6303
* ox-ascii.el (org-ascii-template--document-title): Take full lines
  into considerations for titles.
2015-04-08 22:00:50 +02:00
Nicolas Goaziou bf4edb6d16 ox-html: Silence byte-compiler
* lisp/ox-html.el (org-html--build-meta-info): Silence byte-compiler.
2015-04-08 13:32:31 +02:00
Nicolas Goaziou b6ccee763f ox-html: Silence byte-compiler
* lisp/ox-html.el (org-html--build-meta-info): Use `org-remove-if-not'
  instead of `remove-if-not'.
2015-04-08 13:23:35 +02:00
Rasmus a7becba686 ox-html: Use viewport
* ox-html.el (org-html--build-meta-info): Insert viewport.
  (org-html-viewport): New custom variable.
* ORG-NEWS: Mention viewport.
* org.texi: Mention org-html-viewport.

Viewport makes org-generated html work well with small screens.
2015-04-08 12:06:09 +02:00
Saulius Menkevičius 187dae0ab1 ob-sql: Add possibility to set dbport
* lisp/ob-sql.el (org-babel-sql-dbstring-mysql): Change type
signature to accept server port number too.
(org-babel-execute:sql) Will now recognize the dbport parameter.
Passed to `org-babel-sql-dbstring-mysql' only for now.

TINYCHANGE
2015-04-07 22:24:59 +02:00
Nicolas Goaziou edeb7fd8e1 Fix visibility issue when inserting a heading
* lisp/org.el (org-insert-heading): Fix visibility issue.  Remove
  unused binding.

Reported-by: Daniel E. Doherty <ded-law@ddoherty.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/96732>
2015-04-07 01:39:10 +02:00
Nicolas Goaziou 033847070e Fix b4f9ee4eba
* lisp/org.el (org-at-property-p): Fix typo.
2015-04-07 01:36:29 +02:00
Nicolas Goaziou b4f9ee4eba Fix `org-at-property-p'
* lisp/org.el (org-at-property-p): Return nil when at the beginning of
  the properties drawer.
2015-04-07 00:08:31 +02:00
Nicolas Goaziou 94c7619579 Small refactoring
* lisp/org.el (org-read-property-name): Small refactoring.
2015-04-07 00:02:54 +02:00
Nicolas Goaziou cff54cd127 org-table: `org-table-end' does not return a marker
* lisp/org-table.el (org-table-end): Do not return a maker.
(org-table-align):
(org-table-insert-column):
(org-table-delete-column):
(org-table-move-column):
(org-table-convert):
(org-table-recalculate): Create needed marker.

Creating a marker was not documented, and not always needed.
`copy-marker' should be used when they are.  Markers not deactivated
slow down editing.
2015-04-06 09:38:21 +02:00
Nicolas Goaziou 1ba8413b0a org-element: Fix cache bug
* lisp/org-element.el (org-element--cache-for-removal): Be more
  careful when altering a properties drawer.

* testing/lisp/test-org-element.el (test-org-element/cache): Add test.
2015-04-06 00:37:49 +02:00
Nicolas Goaziou 789ddf155a org-element: Fix regexp
* lisp/org-element.el (org-element--cache-sensitive-re): Fix regexp.
2015-04-05 21:38:10 +02:00
Nicolas Goaziou 12a63035e9 ox-ascii: Fix titles with line breaks
* lisp/ox-ascii.el (org-ascii-template--document-title): Take into
  consideration line breaks when computing title's width.
2015-04-05 21:11:20 +02:00
Nicolas Goaziou 9bf5ecbad1 ox-latex: Parse DATE
* lisp/ox-latex.el (latex): Parse DATE.
2015-04-05 19:00:56 +02:00
Nicolas Goaziou e69c4e7a1b `org-open-at-point' follows links in keywords
* lisp/org.el (org-open-at-point): Follow links in keywords.

* testing/lisp/test-org.el (test-org/open-at-point-in-keyword): New test.
2015-04-05 14:17:58 +02:00
Nicolas Goaziou c466a4deee ox-latex, ox-koma-letter: Use new `parse' syntax
* 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.
2015-04-05 14:11:14 +02:00
Nicolas Goaziou fa70778a20 org-element: Remove `org-element-document-properties'
* lisp/org-element.el (org-element-document-properties): Remove
  variable.
(org-element-context): Ignore ex-"document keywords".

* testing/lisp/test-org-element.el (test-org-element/context): Remove
  no longer applicable tests.

Parsed keywords are no longer hard-coded and can be set per export
back-end.

As a consequence, `org-element-context' no longer returns objects in
"TITLE", "DATE" or "AUTHOR" keywords.  This makes sense as these
objects would only make sense during export, and only if the chosen
back-end actually uses them.
2015-04-05 13:48:28 +02:00
Nicolas Goaziou fa64b59b05 org-macro: Allow macros in parsed keywords and associated properties
* lisp/org-macro.el (org-macro-replace-all): Add optional argument.
  Now accept macros in parsed keywords and associated properties.

* lisp/ox.el (org-export-as): Apply signature change.

* testing/lisp/test-ox.el (test-org-export/expand-macro): Add test.
2015-04-05 13:48:28 +02:00
Nicolas Goaziou ae9db17482 ox: Implement `parse' behavior for options
* lisp/ox.el (org-export-options-alist): Implement `parse' behavior
  and use it for parsed keywords.  Update docstring.
(org-export-document-properties): Remove variable.

(org-export--get-subtree-options):
(org-export--get-inbuffer-options):
(org-export--get-global-options):
(org-export--prune-tree):
(org-export--remove-uninterpreted-data): Handle `parse' behavior.

(org-export-as): Do not assume :date is always a secondary string
and :email is never one.

* testing/lisp/test-ox.el (test-org-export/get-inbuffer-options):
  Update tests.
2015-04-05 12:21:25 +02:00
Derek Feichtinger 4f7aba3b40 ox-latex: Fix for export of doi type links
* lisp/ox-latex.el (org-latex-link): Add "doi" to the list of link
types that retain the protocol prefix in the exported link.

<http://permalink.gmane.org/gmane.emacs.orgmode/96669>
TINYCHANGE
2015-04-04 00:04:31 +02:00
Nicolas Goaziou 9febca5349 Fix some copyright years
* contrib/lisp/org-mime.el:
* lisp/ob-ref.el: Fix copyrigtht years.
2015-04-02 11:37:32 +02:00
Nicolas Goaziou 707d52cff7 Fix diary sexp indentation
* lisp/org.el (org--get-expected-indentation): Diary sexps are to be
  indented at column 0.
* testing/lisp/test-org.el (test-org/indent-line): Add test.
2015-04-02 10:31:58 +02:00
Nicolas Goaziou ca08453cc9 Update defcustom
* lisp/org.el (org-cycle-hook): Update version and package-version.

Commit 03e81f0d24 modified default
value.
2015-04-02 00:23:57 +02:00
Nicolas Goaziou 03e81f0d24 Fix cycling ARCHIVE trees with inline tasks loaded
* lisp/org-inlinetask.el (org-inlinetask-hide-tasks): New function.
* lisp/org.el (org-cycle-hide-inline-tasks): Remove function.
(org-cycle-hook): Apply removal.

Reported-by: "Francesco Pizzolante" <fpz-djc/iPCCuDYQheJpep6IedvLeJWuRmrY@public.gmane.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/89563>
2015-04-02 00:06:49 +02:00
Rasmus baf0d3e0fa ox-html: Small fix
* ox-html.el (org-html-mathjax-options): Add new package-version.
2015-04-01 23:10:05 +02:00
Nicolas Goaziou 22bf1b8ae3 Fix 80bccca4e2
* lisp/org.el (org-refresh-category-properties): Extract default
  category before entering `with-silent-modifications', as
  `buffer-file-name' is then bound to nil.

Reported-by: John Hendy <jw.hendy@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/96620>
2015-04-01 22:41:41 +02:00
Rasmus c677c206fd ox-html: Tiny fix
* ox-html.el (html): Remove duplicated line.
2015-04-01 13:35:37 +02:00
Nicolas Goaziou b3e3f901b1 ob-ref: Small refactoring
* lisp/ob-ref.el (org-babel-ref-goto-headline-id):
(org-babel-ref-headline-body): Small refactoring.
2015-03-31 21:52:07 +02:00
Nicolas Goaziou 33e2e375df Small optimization
* lisp/org.el (org-find-property): Small optimization.

Since VALUE is included in the regexp, it doesn't need to be found
again with `org-entry-get'.  However, we still need to make sure match
really is a node property.
2015-03-31 16:34:51 +02:00
Nicolas Goaziou 80bccca4e2 Fix `org-refresh-category-properties'
* lisp/org.el (org-refresh-category-properties): Ignore false
  positives when setting category.  Also, deprecate old CATEGORY
  keyword behaviour: new keywords override old ones.
2015-03-31 16:22:10 +02:00
Nicolas Goaziou c1a744659d Fix "Before first headline" error in `org-refresh-property'
* lisp/org.el (org-refresh-property): Ignore function when before
first headline or inlinetask.  Small refactoring.

Reported-by: Nick Dokos <ndokos@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/96552>
2015-03-31 15:57:54 +02:00
Thierry Banel 2081cd3f62 Remove default #includes in Babel C, C++
* ob-C.el (org-babel-C-expand-C): remove automatic inclusion
of <string.h>, <stdio.h>, <stdlib.h>

* ob-C-test.org: adjust C++ tests to manually include
required header files.

<http://permalink.gmane.org/gmane.emacs.orgmode/96528>
2015-03-31 12:05:49 +02:00
Florian Beck 7a717f8f04 Allow searching for specific property value
* lisp/org.el (org-re-property): New optional argument.
(org-find-property): Use it.

See <http://permalink.gmane.org/gmane.emacs.orgmode/96316>.

TINYCHANGE
2015-03-31 11:57:43 +02:00
Rasmus 70d828af3a org.el: Fix org-copy-subtree at inlinetask
* org.el (org-copy-subtree): Include the end of an inlinetasks.

Previously, the end of an inlinetask would be left in the buffer.
2015-03-29 15:30:43 +02:00
Rasmus 564673b766 ox-org: Remove #+DESCRIPTION and #+KEYWORD support
* ox-org.el (org-org-keyword): Remove #+KEYWORD and #+DESCRIPTION
  (org-org-template): Remove explicit #+KEYWORD and #+DESCRIPTION
  support.
2015-03-29 15:00:33 +02:00
Nicolas Goaziou f6bd2a9cb4 org-table: Fix docstrings
* lisp/org-table.el (org-table-beginning-of-field):
(org-table-end-of-field): Swap docstrings.
2015-03-29 14:14:32 +02:00
Nicolas Goaziou 98ec17e204 Fix `org-backward-sentence' and `org-forward-sentence'
* lisp/org.el (org-backward-sentence):
(org-forward-sentence): Properly move at the boundaries of an element.

* testing/lisp/test-org.el (test-org/forward-sentence):
(test-org/backward-sentence): New tests.

Reported-by: Rasmus <rasmus@gmx.us>
<http://permalink.gmane.org/gmane.emacs.orgmode/96377>
2015-03-29 14:14:32 +02:00
Rasmus 79c0aa21ca ox: Remove #+KEYWORD and #+DESCRIPTION
* 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.
2015-03-29 14:08:13 +02:00
Nicolas Goaziou a8f8ea8b69 ox: New smart quote algorithm
* lisp/ox.el (org-export-smart-quotes-alist): Fix indentation.
(org-export-smart-quotes-regexps): Remove variable.
(org-export--smart-quote-status): New function.
(org-export-activate-smart-quotes): Use new function.

* testing/lisp/test-ox.el (test-org-export/activate-smart-quotes):
  Update tests.
2015-03-28 15:41:46 +01:00
Nicolas Goaziou 3ece4c5e5e ox: Tiny fix
* lisp/ox.el (org-export--get-inbuffer-options): Do not consider
  `quote' value as t.
2015-03-28 10:56:16 +01:00
Nicolas Goaziou a0f2293405 Remove comment related translators in export back-ends
* 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.
2015-03-28 10:56:11 +01:00
Nicolas Goaziou 0ac26737f0 ox: Remove filter associated to comments
* lisp/ox.el (org-export-filters-alist): Remove reference to comment
  filters.
(org-export-filter-comment-functions,
org-export-filter-comment-block-functions): Remove variables.

* doc/org.texi (Advanced configuration): Remove reference to comment
  filters.

* etc/ORG-NEWS: Signal removal.

Comments are removed before parsing the buffer.  As a consequence,
filters are never called.
2015-03-28 10:45:36 +01:00
Nicolas Goaziou 69dd4301ab ox: Remove comments and comment blocks prior to export
* lisp/ox.el (org-export--delete-comments): Renamed from
  `org-export--delete-commented-subtrees'.  Also remove comments and
  comment blocks.
(org-export-as): Apply renaming.

* testing/lisp/test-ox.el (org-test-with-parsed-data): Apply renaming.

From the export point of view COMMENTed subtrees and regular comments
are expected to be treated in the same way.
2015-03-28 10:27:04 +01:00
Nicolas Goaziou e8b2a120c2 ox: Fix `org-export--delete-commented-subtrees'
* lisp/ox.el (org-export--delete-commented-subtrees): Match COMMENT
  subtree even with a priority cookie or a TODO keyword.
2015-03-28 09:59:08 +01:00
Nicolas Goaziou fa0cc0ab70 Revert "Fix c9a52787c14c3a7429bcd3c8975350525e0baa04"
This reverts commit 359572d37e.

COMMENT headlines are expected to be ignored completely during export.
2015-03-28 09:54:37 +01:00
Nicolas Goaziou 2e9a1d9c84 Fix code comment
* lisp/org.el (org-fontify-entities): Fix comment.
2015-03-27 18:14:59 +01:00
Rasmus c3838377da ox-html: Tiny fix
* ox-html.el: Remove second :html-html5-fancy.
2015-03-27 14:52:50 +01:00
Rasmus 69cab81ffa ox-latex: Utilize change in bcf6970
* ox-koma-letter.el (org-koma-letter-template),
  ox-latex.el (org-latex--format-spec): Tiny refactor.
2015-03-27 13:04:13 +01:00
Rasmus e9fd19968b ox: Always insert creator in metadata
* ox-odt.el (org-odt-template): Always insert creator.
* ox-latex.el (org-latex--format-spec): Creator always available.
2015-03-27 12:51:01 +01:00
Nicolas Goaziou 22f732c255 Fuzzy links to headlines ignore COMMENT keywords
* lisp/org.el (org-link-search): Ignore COMMENT keyword.
* testing/lisp/test-org.el (test-org/fuzzy-links): Add test.

Reported-by: Martin Carlé <mc@aiguphonie.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/96413>
2015-03-26 21:05:27 +01:00
Nicolas Goaziou 2f58e3c011 org-macro: Small refactoring
* lisp/org-macro.el (org-macro-initialize-templates): Remove spurious
  lambda funcall.
2015-03-24 09:44:27 +01:00
Nicolas Goaziou 359572d37e Fix c9a52787c1
* lisp/org-macro.el (org-macro--collect-macros): Ignore macro
  definitions in commented subtrees.
* lisp/ox.el (org-export--get-inbuffer-options): Ignore options in
  commented subtrees.
(org-export--delete-commented-subtrees): Remove function.
(org-export-as): Apply removal.

Removing the whole subtree is not subtle as Babel might want to use
data there.

Reported-by: Robert Klein <RoKlein@roklein.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/96347>
2015-03-24 09:35:39 +01:00
Nicolas Goaziou ec54a5852d ox-beamer: Properly transcode description tags
* lisp/ox-beamer.el (org-beamer-item): Make sure description tags are
  transcoded using `beamer' back-end instead of `latex'.

Reported-by: Andreas Leha <andreas.leha@med.uni-goettingen.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/96345>
2015-03-24 09:15:47 +01:00
Andreas Leha 510e703798 ob-latex: htlatex and imagemagick
Hi all,

please find attached a small patch that fixes a problem discussed
in [1].

In short, when executing a latex src block and htlatex is a valid
option, it should be used even if imagemagick is part of the headers.

Regards,
Andreas

[1] http://permalink.gmane.org/gmane.emacs.orgmode/96257

>From 2986826441c24e2f0d6cf5efe6bf8aca75c4bdbb Mon Sep 17 00:00:00 2001
From: Andreas Leha <andreas.leha@gmx.de>
Date: Sat, 21 Mar 2015 22:11:37 +0000
Subject: [PATCH] ob-latex: htlatex preferred over imagemagick

* ob-latex.el (org-babel-execute:latex): change the order of the handlers

When `imagemagick' is given this entry acts as an else option.
So, it should always come last.
2015-03-24 00:41:52 +01:00
Nicolas Goaziou c9a52787c1 ox: Ignore export settings in commented subtrees
* lisp/ox.el (org-export--delete-commented-subtrees): New function.
(org-export-as): Use new function.

* testing/lisp/test-ox.el (org-test-with-parsed-data,
  test-org-export/get-inbuffer-options): Use new function.
(test-org-export/expand-macro): Add tests.

Reported-by: Andreas Leha <andreas.leha@med.uni-goettingen.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/96267>
2015-03-24 00:32:15 +01:00
Nicolas Goaziou f7b27896e9 ox: Rename some internal functions
* lisp/ox.el (org-export--prune-tree): Renamed from
  `org-export-prune-tree'.  Move it close to its caller.
(org-export--remove-uninterpreted-data): Renamed from
`org-export-remove-uninterpreted-data'.  Move it close to its caller.
(org-export--remove-uninterpreted-data-1): Move internal function
close to its caller.
(org-export-as): Apply renaming.

* testing/lisp/test-ox.el (org-test-with-parsed-data): Apply renaming.
2015-03-24 00:09:46 +01:00
Nicolas Goaziou 5a550938ce org-list: Modify M-RET on a description tag
* lisp/org-list.el (org-list-insert-item): On a description tag,
  insert item before current one.  However, past the colons, insert it
  after.
* testing/lisp/test-org-list.el (test-org-list/insert-item): Add
  tests.

Reported-by: Leo Ufimtsev <lufimtse@redhat.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/96330>
2015-03-23 23:35:57 +01:00
Nicolas Goaziou d4785381ec Change "\..." entities into "\_ "
* lisp/org-element.el (org-element--set-regexps):
(org-element-entity-parser): Update regexps.

* lisp/org-entities.el (org-entities): Modify syntax for space
  entities.

* lisp/org.el (org-fontify-entities): Update comment.

* lisp/org-clock.el (org-clocktable-indent-string): Apply syntax
  change.

* etc/ORG-NEWS (title): Update announce.

Use a less verbose syntax, which cannot interfere with file paths.
2015-03-22 21:45:00 +01:00
Nicolas Goaziou 51b206bcd2 ox-ascii: Remove dubious spacing in UTF8 titles
* lisp/ox-ascii.el (org-ascii-template--document-title): Remove
  spurious newline characters in title when exporting to UTF8.

Suggested-by: Rasmus <rasmus@gmx.us>
<http://permalink.gmane.org/gmane.emacs.orgmode/96229>
2015-03-22 15:19:36 +01:00
Nicolas Goaziou acebc4b0b5 org-element: Fix 22f942b481
* lisp/org-element.el (org-element-entity-parser): Fix regexp groups.
2015-03-22 10:09:29 +01:00
Nicolas Goaziou bcaf550826 org-clock: Use new entities for clock table
* lisp/org-clock.el (org-clocktable-indent-string): Use new entities.
  Update docstring.

Fixes: bug#18870
2015-03-22 09:55:52 +01:00
Nicolas Goaziou 22f942b481 Implement new entity family "\...."
* lisp/org-element.el (org-element--set-regexps):
(org-element-entity-parser): Update regexps for entities.

* lisp/org-entities.el (org-entities): Add new entities.

* lisp/org.el (org-fontify-entities): Add comment.

* etc/ORG-NEWS (title): Introduce new entities.

"\..." are used to insert an arbitrary number of spaces in various
back-ends.  In particular, this family can be used to introduce
leading spaces within table cells.

Also, unlike to other entities, these can be used mid-word, e.g.,

  wo\....rd

Curly brackets can still be added before a dot, e.g.,

  This is the end\...{}.
2015-03-22 09:55:20 +01:00
Nicolas Goaziou 4cc8ead4d8 org-entities: Remove unused variable and functions
* lisp/org-entities.el (org-entities-ascii-explanatory): Remove
  variable.
(org-entities--user-safe-p): Refactor.
(org-entities-user): Delete reference to removed variable.  Small
docstring fix.
(org-entity-get-representation, org-entity-latex-math-p): Remove
functions.

* etc/ORG-NEWS (Skipping): Document variable removal.
2015-03-22 00:35:50 +01:00
Nicolas Goaziou bcf6970369 org-element: `org-element-parse-secondary-string' accepts nil argument
* lisp/org-element.el (org-element-parse-secondary-string): Accept nil
  argument as a special case.

Reported-by: Rasmus <rasmus@gmx.us>
<http://permalink.gmane.org/gmane.emacs.orgmode/96234>
2015-03-21 09:43:45 +01:00
Nicolas Goaziou e0b19dedb9 ox: Throw an error on unresolved id links
* lisp/ox.el (org-export-get-environment): Properly find file
  associated to id link.
(org-export-resolve-id-link): Throw an error on unresolved id links.

Use `org-id-find' instead of `org-id-find-id-file' as the latter may
returns the file attached to current buffer on search failure.

Reported-by: Jacob Gerlach <jacobgerlach@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/96020>
2015-03-17 23:31:49 +01:00
Jacob Gerlach dc08e98885 ox.el: Issue error for unresolved fuzzy link
* lisp/ox.el (org-export-resolve-fuzzy-link): Throw an error instead
  of returning nil when link can't be resolved.

* testing/lisp/test-ox.el (test-org-export/resolve-fuzzy-link): Change
  last test from should-not to should-error

In addition to throwing an error, don't store the failed match in the
link cache.

TINYCHANGE
2015-03-17 22:46:05 +01:00
Nicolas Goaziou a886b23476 ox: Throw an error on unresolved coderef
* lisp/ox.el (org-export-resolve-coderef): Throw an error on
  unresolved coderef.

* testing/lisp/test-ox.el (test-org-export/resolve-coderef): Update
  test.
2015-03-17 22:42:45 +01:00
Nicolas Goaziou 22ff8381ed ox: Fix defcustom
* lisp/ox.el (org-export-with-title): Fix :package-information value.
2015-03-17 15:51:30 +01:00
Nicolas Goaziou 16cea3d7b7 ox: Remove `comment' special value for `org-export-with-creator'
* lisp/ox.el (org-export-with-creator): Change default value.

* lisp/ox-ascii.el (org-ascii-template):
* lisp/ox-beamer.el (org-beamer-template):
* lisp/ox-latex.el (org-latex-template):
* lisp/ox-odt.el (org-odt-template):
* lisp/ox-org.el (org-org-template):
* lisp/ox-texinfo.el (org-texinfo-template): Treat
  `org-export-with-creator' as a boolean.

* testing/lisp/test-ox.el (test-org-export/parse-option-keyword):
  Update test.

* doc/org.texi (Export settings): Update allowed values in
  `org-export-with-creator'.

* etc/ORG-NEWS: Signal change.

Special `comment' value isn't meaningful for all back-ends and is not
implemented in every back-end where it makes sense anyway.

It is possible to add a comment including creator at the end of the
document using a body filter instead.
2015-03-17 15:51:22 +01:00
Rasmus fd8c843692 ox-odt: Fix bugs in metadata generation
* ox-odt.el (org-odt-template): Use empty quotes when keyword and
  description is missing.  Fill the generator field like ox-latex.
2015-03-17 01:13:48 +01:00
Gustav Wikström 8562bd09ec org: Nesting grouptags
* lisp/org.el (org-tags-expand): Nesting grouptags.

  Allowing subtags to be defined as groups themselves.

  : #+TAGS: [ Group : SubOne(1) SubTwo ]
  : #+TAGS: [ SubOne : SubOne1 SubOne2 ]
  : #+TAGS: [ SubTwo : SubTwo1 SubTwo2 ]

  Should be seen as a tree of tags:
  - Group
    - SubOne
      - SubOne1
      - SubOne2
    - SubTwo
      - SubTwo1
      - SubTwo2

  Searching for "Group" should return all tags defined above.
2015-03-16 22:27:38 +01:00
Gustav Wikström 6c6ae990c1 org-agenda: Filtering in the agenda on grouptags
Filtering in the agenda on grouptags filter also subcategories.
Exception if filter is applied with a (double) prefix-argument.

Filtering in the agenda on subcategories does not filter the "above"
levels anymore.

If a grouptag contains a regular expression the regular expression
is also used as a filter.

* lisp/org-agenda.el (org-agenda-filter-by-tag): improved UI and
  refactoring.

  Now uses the argument arg and optional argument exclude instead of
  strip and narrow.  ARG because the argument has multiple purposes
  and makes more sense than strip now.  The term narrowing is changed
  to exclude.

* lisp/org-agenda.el (org-agenda-filter-by-tag-refine): name change in
  argument to match org-agenda-filter-by-tag.

* lisp/org-agenda.el (org-agenda-filter-make-matcher): new optional
  argument EXPAND and refactoring.

* lisp/org-agenda.el (org-agenda-filter-make-matcher-tag-exp): new
  function, previously baked into org-agenda-filter-make-matcher.

* lisp/org-agenda.el (org-agenda-filter-apply): New optional parameter
  EXPAND, used in call to org-agenda-filter-make-matcher.

* lisp/org-agenda.el (org-agenda-reapply-filters): Uses another
  parameter (the new optional one) in call to org-agenda-filter-apply.

* lisp/org-agenda.el (org-agenda-finalize): use of new parameter in
  call to org-agenda-filter-apply.

* lisp/org-agenda.el (org-agenda-redo): Use of new parameter in call
  to org-agenda-filter-apply.
2015-03-16 22:27:34 +01:00
Gustav Wikström ee45258cfe org: Grouptags not unique and can contain regexp
* lisp/org.el (org-tags-expand): Grouptags can have regular expressions as
  "sub-tags".

  The regular expressions in the group must be marked up within { }.
  Example use:

  : #+TAGS: [ Project : {P@.+} ]

  Searching for the tag Project will now list all tags also including
  regular expression matches for P@.+.  Good for example if tags for a
  certain project is tagged with a common project-identifier,
  i.e. P@2014_OrgTags.

* lisp/org.el (org-tag-alist) : New symbols for grouptags when the
  tags in the group don't have to be distinct on a heading.

  Grouptags had to previously be defined with { }.  This syntax is
  already used for exclusive tags and Grouptags need their own,
  non-exclusive syntax.  This behaviour is achieved with [ ].  Note: {
  } can still be used also for Grouptags but then only one of the
  given tags can be used on the headline at the same time.  Example:

  [ group : sub1 sub2 ]

  Grouptags also are not filtered when setting up tags.  This means
  they can exist multiple times in org-tag-alist list.  It will be
  usable if nesting of grouptags is ever to become reality.

  There is a slightly annoying side-effect when setting tags in that a
  tag which is both a part of a grouptag and a grouptag of it's own
  will get multiple key-choices in the selection-UI.

* lisp/org.el (org--setup-process-tags): Adaption for the added syntax
  for non-distinct grouptags.

* lisp/org.el (org-fast-tag-selection): Add support for the added,
  non-unique, grouptag-syntax.  Minor (if ...) to (when ...) refactor.
2015-03-16 22:27:26 +01:00
Rasmus e08dca9690 Merge branch 'maint' 2015-03-15 21:53:13 +01:00
Rasmus 19a7d6864d ox-man: Change dispatcher key to 'M'
* ox-man.el (man): Move man-export to 'M' in the ox dispatcher.

Reported by:  Brice Waegenire <brice.wge@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/96071>
2015-03-15 21:50:07 +01:00
Nicolas Goaziou 4d7772c6a4 org-plot: Fix empty cells handling
* lisp/org-plot.el (org-plot/gnuplot-script): Fix empty cells
  handling.

Reported-by: Anders Wirzenius <anders.wirzenius@netikka.fi>
<http://permalink.gmane.org/gmane.emacs.orgmode/96022>
2015-03-15 18:10:43 +01:00
Nicolas Goaziou de7c599669 org-plot: Tiny fixes
* lisp/org-plot.el (org-plot/gnuplot-script, org-plot/gnuplot): Tiny
  fixes.
2015-03-15 18:10:14 +01:00
Nicolas Goaziou 7b450bc7bb Fix `org-delete-property-globally'
* lisp/org.el (org-delete-property-globally): Ignore false positive.
2015-03-15 16:53:58 +01:00
Nicolas Goaziou 84d6ff4ec1 Fix `org-entry-delete' with accumulated properties
* lisp/org.el (org-entry-delete): Remove all occurrences of
  accumulated properties, too.  Return a non-nil value when some
  property was removed.

* testing/lisp/test-org.el (test-org/entry-delete): Add test.
2015-03-15 16:53:42 +01:00
Nicolas Goaziou 8cdb2eef0f Fix `org-find-entry-with-id'
* lisp/org.el (org-find-entry-with-id): Ignore false positive ID
  properties when looking for a specific ID.
2015-03-15 15:49:05 +01:00
Nicolas Goaziou 269b680900 Fix CUSTOM_ID search
* lisp/org.el (org-link-search): Avoid false positives when searching
  CUSTOM_ID property.

* testing/lisp/test-org.el (test-org/custom-id): Add test.
2015-03-15 15:49:05 +01:00
Nicolas Goaziou 7072dba04d Implement `org-find-property'
* lisp/org.el (org-find-property): New function.
* testing/lisp/test-org.el (test-org/find-property): New test.
2015-03-15 15:49:05 +01:00
Rasmus a95e9da223 ox-html: Handle missing title better
* ox-html.el (org-html-template): Only insert title when nonnil.

Empty headings trigger a W3 Validator warning.
2015-03-14 01:34:33 +01:00
Rasmus a566f2865d ox-beamer: Fix hyperref bug
* ox-beamer.el (org-beamer-template): Typeset hyperref as in
  ox-latex.
2015-03-14 00:53:11 +01:00
Rasmus cf4145db02 org.el: Declare org-element-update-syntax
* org.el: Declare org-element-update-syntax.  Required by org-add-link-type.
2015-03-14 00:39:54 +01:00
Nicolas Goaziou ac12984ff6 ob-exp: Use `user-error' over `error' when applicable
* lisp/ob-exp.el (org-babel-exp-process-buffer): Use `user-error'.
  Also keep lines within 80 characters.
2015-03-13 09:09:18 +01:00
Charles Berry 53c6f68896 ob-exp.el: org-babel-exp-process-buffer reports src block w/o language
* lisp/ob-exp.el (org-babel-exp-process-buffer): Issue an error when a
  src block with no language is processed.

Throw an error with an informative message when trying to export buffer
containing `#+src_block\n'.

Reported-by: XIE Yuheng <xyheme@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/95920>
2015-03-11 19:23:33 -07:00
Nicolas Goaziou 1de825df31 Fix CATEGORY property
* doc/org.texi (Special properties): Remove "CATEGORY"

* lisp/org.el (org-special-properties): Remove "CATEGORY".
(org-property-get-allowed-values): Ignore "CATEGORY".
(org-entry-get): Make sure to get CATEGORY value using
`org-entry-properties'.

* testing/lisp/test-org.el (test-org/entry-put): Add test.

"CATEGORY" is not a special property as it can also be set using
a properties drawer.
2015-03-11 17:12:49 +01:00
Matthew Gidden 3d01a0bd19 ox-beamer.el: Update BEAMER_HEADER placement
* lisp/ox-beamer.el (`beamer-header'): Move BEAMER_HEADER injection to
  final part of preamble (after themes, title, etc.).  Allows for
  custom short titles, etc., with #+BEAMER_HEADER:
  \title[Short]{Long}.

* doc/org.texi: Updated BEAMER_HEADER entry with a relevant footnote.

Previously, TITLE, etc., was being injected after BEAMER_HEADER, so
short titles (and related) could not be added.  BEAMER_HEADER now
serves as a final preamble injection point.

TINYCHANGE
2015-03-10 21:20:29 +01:00
Nicolas Goaziou 375c831418 Tiny refactoring
* lisp/org.el (org-timestamp--to-internal-time): New function.
(org-timestamp-format): Use new function.
(org-timestamp-split-range): Fix docstring.
2015-03-08 18:34:09 +01:00
Nicolas Goaziou fab7de5787 ox-ascii: Fix TOC keyword
* lisp/ox-ascii.el (org-ascii--build-toc): Fix TOC keyword.

Reported-by: Rasmus <rasmus@gmx.us>
<http://permalink.gmane.org/gmane.emacs.orgmode/95843>
2015-03-08 17:47:04 +01:00
Nicolas Goaziou 1219b07039 Revert "org-agenda: Fix small bug"
This reverts commit d92ef95170.

Reported-by: Ken Mankoff <mankoff@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/95817>
2015-03-08 01:19:45 +01:00