Commit Graph

14222 Commits

Author SHA1 Message Date
Achim Gratz 68276fd62d org.el: implement org-property-re using org-re-property
* 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.
2013-06-23 19:35:09 +02:00
Eric Schulte 56ac8f8b69 prolog and epilog header arguments
* lisp/ob-gnuplot.el (org-babel-expand-body:gnuplot): Use new header
  arguments.
* lisp/ob-core.el (org-babel-common-header-args-w-values): Mention new
  header arguments.
  (org-babel-expand-body:generic): Use new header arguments.
* doc/org.texi (Specific header arguments): Document new header
  arguments.
2013-06-22 14:09:24 -06:00
rasmus 2d98dd80a4 Let =`latexmk'= be an option to =`org-latex-pdf-process'=.
* ox-latex.el (org-latex-pdf-process): let =`latexmk'= be a
  preconfigured choice and change the wording of the docstring.

TINYCHANGE
2013-06-21 23:52:44 +02:00
Eric Schulte d34813c64a more robust matching of examplized ranges
* lisp/ob-core.el (org-babel-read-result): More robust matching of
  examplized ranges.
  (org-babel-result-end): More robust matching of examplized ranges.
2013-06-21 13:40:38 -06:00
Nicolas Goaziou 70b9b93feb ox-html: Use OPTIONS items instead of keywords for booleans
* lisp/ox-html.el (html): Replace "HTML_HTML5_FANCY",
  "HTML_INCLUDE_STYLE" and "HTML_INCLUDE_SCRIPTS" with, respectively,
  ":html5-fancy", "html-style" and "html-scripts" options.
(org-html-html5-fancy): Reformat docstring.
* doc/org.texi (HTML doctypes): Reflect keyword removal.
(CSS support): Reflect keyword removal.

The reasoning behind this change is that keywords can only store
strings as value.  Therefore, they are not suited for toggles ("nil"
vs nil problem).
2013-06-21 19:17:47 +02:00
Eric Schulte e1f0232f33 gnuplot, close output terminal when opened
* lisp/ob-gnuplot.el (org-babel-expand-body:gnuplot): Gnuplot, close
  output terminal when opened.
2013-06-21 10:06:19 -06:00
Eric Schulte c5cc342e1c smarter gnuplot file extension to terminal mapping
* lisp/ob-gnuplot.el (*org-babel-gnuplot-terms*): Smarter gnuplot file
  extension to terminal mapping.
  (org-babel-expand-body:gnuplot): Smarter gnuplot file extension to
  terminal mapping.
2013-06-21 09:02:12 -06:00
Eric Schulte 7f05b315f5 customization variable prefix gnuplot code blocks
* lisp/ob-gnuplot.el (*org-babel-gnuplot-prefix*): Customization
  variable prefix gnuplot code blocks.
  (org-babel-expand-body:gnuplot): Customization variable prefix gnuplot
  code blocks.
2013-06-21 09:02:12 -06:00
Christopher Schmidt 3fe512d7ca doc/org.texi (Orgstruct mode): Fix wrong regexp.
* doc/org.texi (Orgstruct mode): Fix wrong regexp.
2013-06-20 22:09:11 +02:00
Nicolas Goaziou ab40235826 Merge branch 'maint' 2013-06-20 20:19:55 +02:00
Nicolas Goaziou f9ae004aca ox-html: Fix typo preventing insertion of link up/link home anchors
* lisp/ox-html.el (org-html-template): Fix typo preventing insertion
  of link up/link home anchors.

Thanks to Daniel G. Gerber for noticing it.
2013-06-20 20:18:55 +02:00
Eric Schulte a79fd4be28 fix babel merge params bug from commit 693dda67
The `org-babel-params-from-properties' command was calling
  `org-babel-merge-params', the output of which was then being fed back
  to another call to `org-babel-merge-params'.  The merge params
  function is not designed to allow this form of recursive calling, and
  as a result many variables were being set to empty values.

  The first noticed side effect of this bug was the breakage of the
  org-babel-load-file command, which relies on default header
  arguments (namely :tangle), which were overwritten by the bug above.

  The fix involved having the `org-babel-params-from-properties'
  function return a list of alists, which may then all be handed to the
  top-level merge-params call.

* lisp/ob-core.el (org-babel-params-from-properties): Now returns a list
  of alists and does *not* call `org-babel-merge-params'.
  (org-babel-parse-src-block-match): Handle new list of lists output of
  `org-babel-params-from-properties'.
  (org-babel-parse-inline-src-block-match): Handle new list of lists
  output of `org-babel-params-from-properties'.
* lisp/ob-exp.el (org-babel-exp-src-block): Handle new list of lists
  output of `org-babel-params-from-properties'.
  (org-babel-exp-non-block-elements): Handle new list of lists output of
  `org-babel-params-from-properties'.
* lisp/ob-lob.el (org-babel-lob-execute): Handle new list of lists
  output of `org-babel-params-from-properties'.
2013-06-20 09:53:56 -06:00
Nicolas Goaziou bd987e3804 org: Replace AUTO with appropriate language when previewing snippets
* lisp/org.el (org-create-formula--latex-header): Replace AUTO with
  appropriate language when previewing snippets.
2013-06-19 19:31:06 +02:00
Nicolas Goaziou 4788a58e71 Merge branch 'maint' 2013-06-18 22:48:08 +02:00
Nicolas Goaziou 7b8a79326f ox-latex: Allow hyperref and footnotemark in items description tags
* lisp/ox-latex.el (org-latex-item): Allow hyperref and footnotemark
  in items description tags.  Also remove a unnecessary hack allowing
  footnotemark with an optional argument in the tag.

Initial patch from Rick Frankel.
2013-06-18 22:46:43 +02:00
Nicolas Goaziou 60899b1a2f ox: Fix fuzzy link resolution before first headline
* lisp/ox.el (org-export-resolve-fuzzy-link): Fix link resolution when
  link lives before the first headline.
* testing/lisp/test-ox.el: Add test.
2013-06-18 22:29:49 +02:00
Nicolas Goaziou 5e3c3f93bf Merge branch 'maint' 2013-06-17 17:17:24 +02:00
Nicolas Goaziou dffdc499ea org-element: Fix special block parsing
* lisp/org-element.el (org-element-special-block-parser): Fix typo in
  regexp matching block type.  Also quote the type so it can contain
  special characters.
* testing/lisp/test-org-element.el: Add test.
2013-06-17 17:15:55 +02:00
Nicolas Goaziou 0e354321f5 Merge branch 'maint' 2013-06-16 22:49:56 +02:00
Nicolas Goaziou 0c789fd39e ox-latex: Remove -c argument from compilation with texi2dvi
* lisp/ox-latex.el (org-latex-pdf-process): This argument can cause
  problem with links with a relative path, since compilation happens
  in a different directory.
2013-06-16 22:48:49 +02:00
Nicolas Goaziou 7346dbe79b Merge branch 'maint' 2013-06-14 21:42:42 +02:00
Nicolas Goaziou 4fc03ec1fe ox-latex: Use "ulem" package for both underline and strike through
* 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.
2013-06-14 19:46:15 +02:00
Eric Schulte d316ecab0e missing argument to error message
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Missing
  argument to error message.
2013-06-13 09:44:49 -06:00
Eric Schulte 172061373f list term as a gnuplot header argument
* lisp/ob-gnuplot.el (org-babel-header-args:gnuplot): Term is a gnuplot
  header argument.
2013-06-12 23:44:15 -06:00
rasmus.pank 755251fdad ox-latex: Allow AUTO argument to org-latex-guess-babel-language
* ox-latex.el (org-latex-guess-babel-language): replace AUTO with
  language if AUTO is the option of the LaTeX package Babel.
(org-latex-classes): updated documentation with respect
to `org-latex-guess-babel-language'.

TINYCHANGE
2013-06-12 15:23:21 +02:00
rasmus a9c044a648 Possible to set default class for ox koma letters.
* 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>
2013-06-12 13:38:48 +02:00
rasmus 878ff19f35 Added support for to and from heading.
* 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>
2013-06-12 13:38:31 +02:00
rasmus.pank 8dd2aa4041 Bug fixes for ox-koma-letter.el
* 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>
2013-06-12 13:37:56 +02:00
Øyvind Stegard d3fb1812fa org-contacts: Provide ordering when using cycle completion
* 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.
2013-06-11 20:43:19 +02:00
Eric Schulte 1a8ad7dab1 fixed bug in tangle-file
* lisp/ob-tangle.el (org-babel-tangle): Fixed bug in tangle-file.
2013-06-11 11:59:43 -06:00
Bastien Guerry ef98a614f6 org-compat.el: Fix indentation. 2013-06-11 03:17:27 +02:00
Achim Gratz 693dda67e6 ob-core: allow language specific header arguments in properties
* lisp/ob-core.el (org-babel-insert-header-arg,
  org-babel-parse-src-block-match): Replace `if' with empty else part
  by `when' for readability.  (org-babel-params-from-properties):
  Inquire for language specific and default header properties.
  Language specific header properties take precedence over default
  header properties and old-style header property specifications.

This allows for header arguments to be specified as
properties (including inheritance).

#+PROPERTY: header-args :cache "no"
#+PROPERTY: header-args:R :session "*R-property*"

:PROPERTIES:
:header-args:   :cache "yes"
:header-args:R: :session "*R-drawer*"
:END:
2013-06-10 20:53:19 +02:00
Achim Gratz 2e4bcfc50d org-compat: XEmacs actually needs the argument lists...
org-compat (define-obsolete-variable-alias,
define-obsolete-function-alias): Re-introduce argument lists as
XEmacs' byte-compiler otherwise stops compilation.

This means that no other advices must modify these functions with a
different argument list.
2013-06-10 20:47:41 +02:00
Achim Gratz d7eed32784 org-compat: remove argument lists from defadvice, use positional arguments instead
org-compat (custom-handle-keyword, define-obsolete-variable-alias,
define-obsolete-function-alias): Remove argument lists from defadvice
and use positional arguments instead of named arguments.
2013-06-10 20:13:43 +02:00
Achim Gratz 66057bd2a8 org-compat: strip last argument from define-obsolete-{function,variable}-alias for XEmacs
* lisp/org-compat.el (define-obsolete-variable-alias,
  define-obsolete-function-alias): Actually remove the third (and any
  following) argument from the argument list before calling the
  advised function.
2013-06-10 19:45:55 +02:00
Eric Schulte 5c6f4fd130 change file modes once after tangling
* lisp/ob-tangle.el (org-babel-tangle): Collect tangle modes, and only
  apply them to the file after all tangling has completed, including the
  post-tangle-hook.
2013-06-10 09:56:43 -06:00
Nicolas Goaziou 8e9c10ada4 Merge branch 'maint' 2013-06-09 11:30:51 +02:00
Aurélien Aptel 56b864b265 lisp/ox-html.el: Minimal encoding for code and verbatim text
* lisp/ox-html.el: Remove fancy string replacements for code and
verbatim text when exporting to html.

Exporting =--option= or ~--option~ to html used to replace -- with a
ndash.

TINYCHANGE
2013-06-09 11:29:49 +02:00
Nicolas Goaziou efccedbf65 Merge branch 'maint' 2013-06-09 11:14:28 +02:00
Nicolas Goaziou 84de2396c3 ox-latex: Use \ul (from soul package) instead of \underline
* 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.
2013-06-09 11:11:13 +02:00
Eric Schulte 374a08b950 updating tangle-mode documentation for new reading 2013-06-08 15:15:28 -06:00
Eric Schulte 04a1b98e5e do not read #-prefix header-arg value as emacs lisp
* lisp/ob-core.el (org-babel-read): Do not read #-prefix header-arg
  value as emacs lisp.
2013-06-08 15:13:52 -06:00
Achim Gratz e23bd6df8a testing/examples/babel.org: quote :shebang
* testing/examples/babel.org: Quote :shebang header argument.

2a73e06 introduced a new behaviour for org-babel-read and values
starting with "#" must now be quoted.
2013-06-08 22:06:57 +02:00
Achim Gratz 8d3e672b38 ob-fortran: declare org-every
* lisp/ob-fortran.el (org-every): Declare.
2013-06-08 21:45:38 +02:00
Achim Gratz 3c933adaf6 org.el: improve org-property-re and use it throughout
* 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.
2013-06-08 21:38:24 +02:00
Eric Schulte c3711b14d6 org-babel-current-exec-src-block-head -> org-babel-current-src-block-location
* lisp/ob-core.el (org-babel-current-src-block-location): Rename
  org-babel-current-exec-src-block-head to
  org-babel-current-src-block-location.
(org-babel-execute-src-block): Rename
  org-babel-current-exec-src-block-head to
  org-babel-current-src-block-location.
* lisp/ob-exp.el (org-babel-exp-results): Rename
  org-babel-current-exec-src-block-head to
  org-babel-current-src-block-location.
* lisp/ob-lob.el (org-babel-lob-execute): Rename
  org-babel-current-exec-src-block-head to
  org-babel-current-src-block-location.
2013-06-08 13:19:38 -06:00
Eric Schulte bbc435595e fix errors building the documentation 2013-06-08 12:33:20 -06:00
Eric Schulte 2a73e06a6d adding a new global tangle-mode header argument
* doc/org.texi (Top): Documentation for new tangle-mode header argument.
  (Specific header arguments): Documentation for new tangle-mode header
  argument.
  (rownames): Documentation for new tangle-mode header argument.
  (tangle-mode): Documentation for new tangle-mode header argument.

* lisp/ob-core.el (org-babel-common-header-args-w-values): Adding the
  new :tangle-mode header argument.
  (org-babel-read): Read values starting with a "#" character as emacs
  lisp.

* lisp/ob-tangle.el (org-babel-tangle): Use the new :tangle-mode header
  argument.

* lisp/org-pcomplete.el (pcomplete/org-mode/block-option/src): Use the
  new :tangle-mode header argument.
2013-06-08 12:29:02 -06:00
Eric Schulte 805d1e63d6 save code block location during export
* lisp/ob-exp.el (org-babel-exp-results): Save the code block location
  into `org-babel-current-exec-src-block-head' during export.
2013-06-08 12:00:53 -06:00
Vitalie Spinu 6043de578f avoid file warnings in org-babel-post-tangle-hook
* lisp/ob-tangle.el (org-babel-find-file-noselect-refresh): call
  find-file-noselect with 'nowarn argument to surpress yes-or-no-p
  reversion message.
2013-06-07 07:23:16 -06:00