Commit Graph

12104 Commits

Author SHA1 Message Date
Alan Schmitt d344fda27a Add koma-letter back-end
* contrib/lisp/org-koma-letter.el: New file.
2012-11-26 08:58:59 +01:00
John Foerch a3490b140d org-store-log-note: access org-log-note-headings in org buffer
This change allows org-mode to respect a buffer-local value of
org-log-note-headings, by accessing its value in the org buffer
instead of in the "*Org Note*" buffer.
2012-11-25 19:45:45 +01:00
Nicolas Goaziou 6c8bd67cae org-e-latex: Take into account default mode when building a cluster
* contrib/lisp/org-e-latex.el (org-e-latex--math-table): Take into
  account default mode when building a cluster.
2012-11-25 16:41:43 +01:00
Nicolas Goaziou 755af23577 org-e-latex: Implement math table clusters
* contrib/lisp/org-e-latex.el (org-e-latex--math-table): Contiguous
  tables sharing the same math mode are wrapped within the same
  environment.

This patch will allow to write:

  #+label: I_2
  #+attr_latex: :mode math :environment bmatrix
  | a | b |
  |---+---|
  | c | d |
  #+attr_latex: :mode math :environment bmatrix :math-prefix "\\times"
  | 1 | 0 |
  |---+---|
  | 0 | 1 |
  #+attr_latex: :mode math :environment bmatrix :math-prefix "="
  | 1 | 0 |
  |---+---|
  | 0 | 1 |
  #+attr_latex: :mode math :environment bmatrix :math-prefix "\\times"
  | a | b |
  |---+---|
  | c | d |
  #+attr_latex: :mode math :environment bmatrix :math-prefix "="
  | a | b |
  |---+---|
  | c | d |

and get:

  \begin{equation}
    \label{I_2}
    \begin{bmatrix}
      a & b \\
      c & d \\
    \end{bmatrix}
    \times\begin{bmatrix}
      1 & 0 \\
      0 & 1 \\
    \end{bmatrix}
    =\begin{bmatrix}
      1 & 0 \\
      0 & 1 \\
    \end{bmatrix}
    \times\begin{bmatrix}
      a & b \\
      c & d \\
    \end{bmatrix}
    =\begin{bmatrix}
      a & b \\
      c & d \\
    \end{bmatrix}
  \end{equation}
2012-11-25 16:16:29 +01:00
Nicolas Goaziou fe3f1a0026 org-e-latex: Implement :font attribute for regular tables
* contrib/lisp/org-e-latex.el (org-e-latex--org-table):
  Implement :font attribute for regular tables.
2012-11-25 15:10:37 +01:00
Nicolas Goaziou 0226b01c3c org-e-icalendar: Create vevents for timestamps within headline's title
* contrib/lisp/org-e-icalendar.el (org-e-icalendar-entry): Create
  vevent for timestamps within headline's title.
2012-11-25 01:16:44 +01:00
Nicolas Goaziou a51b8fa308 org-element: Fix timestamp interpreter
* lisp/org-element.el (org-element-timestamp-interpreter): Fix
  timestamp interpreter when raw value isn't available.
* testing/lisp/test-org-element.el: Update test.
2012-11-25 01:16:39 +01:00
Nicolas Goaziou b7053b5f9c org-export: Fix Babel unresolved references error
* contrib/lisp/org-export.el (org-export-execute-babel-code): New
  function.
(org-export-as): Use new function.
2012-11-25 00:24:25 +01:00
Nicolas Goaziou 2f4c85e6b4 ob-exp: Repair inline code evaluation after last commit.
* lisp/ob-exp.el (org-babel-exp-non-block-elements): Make sure to
  parse inline babel call or inline src block instead of the following
  object.
2012-11-24 22:30:06 +01:00
Nicolas Goaziou ce8819f18d Merge branch 'maint' 2012-11-23 23:49:19 +01:00
Nicolas Goaziou 89b8a8ca6d org-element: Fix `org-element-context'
* lisp/org-element.el (org-element-context): When point is between two
  objects, be sure to return the second one.
* testing/lisp/test-org-element.el: Add test.
2012-11-23 23:46:52 +01:00
Nicolas Goaziou f71df7dc50 export back-ends: Use new tools for timestamps
* contrib/lisp/org-e-ascii.el (org-e-ascii-timestamp): Use new tool.
* contrib/lisp/org-e-groff.el (org-e-groff-timestamp): Use new tool.
* contrib/lisp/org-e-html.el (org-e-html-timestamp): Use new tool.
* contrib/lisp/org-e-latex.el (org-e-latex-timestamp): Use new tool.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-timestamp): Use new
  tool.
2012-11-23 18:43:05 +01:00
Nicolas Goaziou 0a142efdde org-export: Add tools for timestamps objects
* contrib/lisp/org-export.el (org-export-split-timestamp-range,
  org-export-translate-timestamp): New functions.
* testing/lisp/test-org-export.el: Add tests.
2012-11-23 18:41:58 +01:00
Nicolas Goaziou cb32494e24 org-element: Timestamp with time range has active/inactive-range type
* lisp/org-element.el (org-element-timestamp-parser): Timestamp with
  time range has active/inactive-range type.
* testing/lisp/test-org-element.el: Add test.

In order to know if starting date/time is really the same as ending
date/time, this patch permits to use the following:

  (memq (org-element-property :type timestamp) '(active inactive))
2012-11-22 22:32:48 +01:00
Nicolas Goaziou 68234d5a41 org-export: uniquify and sort allowed keys in dispatcher expert UI
* contrib/lisp/org-export.el (org-export-dispatch-ui): uniquify and
  sort allowed keys.
2012-11-22 22:32:48 +01:00
Nicolas Goaziou 785e470c6c org-e-latex: Fix bug with inline images
* contrib/lisp/org-e-latex.el (org-e-latex--inline-image): Use
  appropriate string.

This bug was introduced by 984ef56e65.
2012-11-22 22:24:10 +01:00
Nicolas Goaziou eb1ef7267b org-export: Fix "wrong number of arguments" error
* contrib/lisp/org-export.el (org-export-with-backend): Fix "wrong
  number of arguments" error.

This fixexs d1a075e6bb.
2012-11-22 17:44:10 +01:00
Nicolas Goaziou d1a075e6bb org-export: Allow variable arity in `org-export-with-backend'
* contrib/lisp/org-export.el (org-export-with-backend): Allow to
  ignore contents and info, if necessary.  Also fix code typo.
2012-11-22 15:02:21 +01:00
Nicolas Goaziou cc998ccbad org-e-html: Allow to set preamble/postamble in OPTIONS line 2012-11-22 14:37:11 +01:00
Nicolas Goaziou b5bfebb568 org-e-latex: Fix small bug
* contrib/lisp/org-e-latex.el (org-e-latex--table.el-table): Fix small
  bug.
2012-11-21 17:31:32 +01:00
Nicolas Goaziou 984ef56e65 org-e-latex: Change syntax for images attributes
* contrib/lisp/org-e-latex.el (org-e-latex--inline-image): Rename from
  `org-e-latex-link--inline-image'.  Use new attributes.
(org-e-latex-link): Use new function.
2012-11-21 17:28:03 +01:00
Nicolas Goaziou cf3eb34953 org-e-latex: Change syntax for plain list attributes
* contrib/lisp/org-e-latex.el (org-e-latex-plain-list): Change syntax
  for plain list attributes.
2012-11-21 17:28:03 +01:00
Nicolas Goaziou 82c88878bc org-e-latex: Change tables attributes and implement matrix support
* contrib/lisp/org-e-latex.el (org-e-latex-table-matrix-macros,
  org-e-latex-default-table-mode): New variables.
(org-e-latex-tables-verbatim): Removed variable.
(org-e-latex-tables-booktabs): Update docstring.
(org-e-latex--align-string, org-e-latex--org-table,
org-e-latex--table.el-table): Rename functions from, respectively
`org-e-latex-table--align-string', `org-e-latex-table--org-table' and
`org-e-latex-table--table.el-table'.  Use new attributes.
(org-e-latex-table,org-e-latex-table-row): Use new attributes.
(org-e-latex--math-table): New function.
2012-11-21 17:28:03 +01:00
Jonathan Leech-Pepin d939c4fb75 * contrib/lisp/org-e-texinfo.el: Added support for optional menu titles, also do not create menu entries for non-exporting headlines
(org-e-texinfo--generate-menu-items): Use optional title in menu if
present.
(org-e-texinfo-headline): Use optional title in node entry if present.
(org-e-texinfo--generate-menu-list): Omit headlines with :noexport:
tag when generating menu entries.
2012-11-21 11:15:33 -05:00
Toby S. Cubitt 6d01be052d Fix org-minutes-to-clocksum-string to cope with floating point arguments. 2012-11-20 20:22:59 +01:00
Nicolas Goaziou c3407d3c98 org-element: Do not reset `org-element-block-name-alist' at each reload
* lisp/org-element.el (org-element-block-name-alist): Do not reset
`org-element-block-name-alist' at each reload.
2012-11-19 22:57:17 +01:00
Nicolas Goaziou 807e4af09c org-element: Allow timestamps in parsed keywords (i.e. DATE)
* lisp/org-element.el (org-element-object-restrictions): Allow
  timestamps in parsed keywords (i.e. DATE).
2012-11-19 21:53:58 +01:00
Nicolas Goaziou 1a0f8b5c8b org-export: Add tools for timestamps
* contrib/lisp/org-export.el (org-export-timestamp-has-time-p,
  org-export-format-timestamp): New functions.
* testing/lisp/test-org-export.el: Add tests.
2012-11-19 21:52:32 +01:00
Nicolas Goaziou dadde768f7 org-export: Fix docstring
* contrib/lisp/org-export.el (org-export-smart-quotes-alist): Fix
  docstring.
2012-11-19 21:32:59 +01:00
Eric Schulte f8a69a4250 passing as many tests as before
* lisp/ob-emacs-lisp.el (org-babel-execute:emacs-lisp): Better about
  when to fully escape the results or just print them close to verbatim.
2012-11-18 22:06:12 -07:00
Eric Schulte 78cdf14939 org-babel-result-cond - unified handling of results
* lisp/ob.el (org-babel-result-cond): This function should now be used
  by all language backends to handle the processing of raw code block
  output into scalar results, table results, or ignored results
  depending on the value of result-params.

* lisp/ob-C.el (org-babel-C-execute): Use org-babel-result-cond.
* lisp/ob-R.el (org-babel-R-evaluate-external-process): Use
  org-babel-result-cond.
  (org-babel-R-evaluate-session): Use org-babel-result-cond.
* lisp/ob-awk.el (org-babel-execute:awk): Use org-babel-result-cond.
* lisp/ob-clojure.el (org-babel-execute:clojure): Use
  org-babel-result-cond.
* lisp/ob-emacs-lisp.el (org-babel-execute:emacs-lisp): Use
  org-babel-result-cond.
* lisp/ob-fortran.el (org-babel-execute:fortran): Use
  org-babel-result-cond.
* lisp/ob-io.el (org-babel-io-evaluate): Use org-babel-result-cond.
* lisp/ob-java.el (org-babel-execute:java): Use org-babel-result-cond.
* lisp/ob-lisp.el (org-babel-execute:lisp): Use org-babel-result-cond.
* lisp/ob-maxima.el (org-babel-execute:maxima): Use
  org-babel-result-cond.
* lisp/ob-picolisp.el (org-babel-execute:picolisp): Use
  org-babel-result-cond.
* lisp/ob-python.el (org-babel-python-evaluate-external-process): Use
  org-babel-result-cond.
  (org-babel-python-evaluate-session): Use org-babel-result-cond.
* lisp/ob-scala.el (org-babel-scala-evaluate): Use org-babel-result-cond.
* lisp/ob-sh.el (org-babel-sh-evaluate): Use org-babel-result-cond.
* lisp/ob-shen.el (org-babel-execute:shen): Use org-babel-result-cond.
* lisp/ob-sql.el (org-babel-execute:sql): Use org-babel-result-cond.
* lisp/ob-sqlite.el (org-babel-execute:sqlite): Use
  org-babel-result-cond.
2012-11-18 21:58:38 -07:00
Nicolas Goaziou 5107ca3c9b org-export: Fix subtree option with `split' behaviour
* contrib/lisp/org-export.el (org-export--get-subtree-options): Store
  value of options with `split' behaviour as a list of strings, not
  simply as a string.  Small refactoring.
* testing/lisp/test-org-export.el: Add tests.
2012-11-18 14:44:20 +01:00
Eric Schulte c2223c8979 still execute code block even if :results none
* lisp/ob.el (org-babel-execute-src-block): Fixed bug introduced in
  d4b739f.
2012-11-17 17:54:08 -07:00
Nicolas Goaziou 626786c6eb org-e-beamer: Add "fullframe" special environment
* contrib/lisp/org-e-beamer.el (org-e-beamer-environments-special):
  Add "fullframe" environment.  Change access key for "againframe".
(org-e-beamer--frame-level): "fullframe" environment also sets the
frame level for the tree.
(org-e-beamer--format-frame): Ignore headline title when environment
is "fullframe".
(org-e-beamer-select-environment): Change access key for "againframe".
2012-11-17 21:55:26 +01:00
Nicolas Goaziou b58ce97144 org-e-beamer: Fix "columns" environment when explicitly requested
* contrib/lisp/org-e-beamer.el (org-e-beamer-environments-special):
  Add "columns" as a new special environment.
(org-e-beamer--format-block): Allow options in columns environment
when explictly requested as a BEAMER_env property.  Small refactoring.
2012-11-17 21:17:19 +01:00
Eric Schulte d4b739fbf2 "none" header avoids result post-process
This patch introduces a new header argument which hide all code block
results from Emacs so that they are not processed into Emacs-lisp
objects; a process which may take a great deal of time for large
objects.

* lisp/ob.el (org-babel-common-header-args-w-values): Adding the new
  "none" header argument.
  (org-babel-execute-src-block): Don't do *any* result processing if the
  "none" header argument has been specified.
  (org-babel-sha1-hash): Remove the none header argument from
  header arg lists when calculating cache sums.
  (org-babel-insert-result): Flesh out some documentation.
2012-11-17 10:08:45 -07:00
Myles English 359b10b307 org-e-latex: Fixes bug introduced by commit 907110e
* contrib/lisp/org-e-latex.el: Floating tables get a \centering
  declaration, otherwise the table get wrapped in \begin{center}
  and \end{center} environment.

Thanks to Andreas Leha for reporting it.

TINYCHANGE
2012-11-17 16:44:47 +01:00
Nicolas Goaziou 4c7dcd0830 Silence byte compiler
* contrib/lisp/org-invoice.el (org-invoice-info-to-table,
  org-invoice-list-to-table): Silence byte compiler.
* lisp/org-agenda.el (org-agenda-show-clocking-issues,
  org-agenda-format-item): Silence byte compiler.
* lisp/org-colview-xemacs.el (org-agenda-columns): Silence byte
  compiler.
* lisp/org-colview.el (org-agenda-columns): Silence byte compiler.
* lisp/org.el (org-properties-postprocess-alist): Silence byte
  compiler.

Function renaming was necessary as of
a00a7b2918.
2012-11-17 15:51:26 +01:00
Toby S. Cubitt a00a7b2918 Allow more flexible customization of clocksum format
* lisp/org.el (org-time-clocksum-format, org-time-clocksum-fractional-format):
in addition to a single format string, the clocksum formats can now be
plists specifying separate formats for different time units.

* lisp/org.el (org-minutes-to-clocksum-string): new function to
replace org-minutes-to-hh:mm-string, which converts a number of
minutes to a string according to the customization options.

* lisp/org-colview.el (org-columns-number-to-string): use new
org-minutes-to-clocksum-string function to format clocksum durations.

* lisp/org-clock.el: always call new org-minutes-to-clocksum-string
function when formatting time durations, instead of calling
org-minutes-to-hh:mm-string or passing org-time-clocksum-format
directly to format.
2012-11-17 15:39:07 +01:00
Nicolas Goaziou daf0275085 org-e-latex: Stuff label and caption within special blocks
* contrib/lisp/org-e-latex.el (org-e-latex-special-block): Stuff label
  and caption within special blocks.
2012-11-17 14:47:26 +01:00
Nicolas Goaziou 74faf5bd26 org-export: New `org-export-derived-backend-p' predicate
* contrib/lisp/org-export.el (org-export-define-derived-backend): Add
  `:parent' property to derived backend.
(org-export-derived-backend-p): New function.
* testing/lisp/test-org-export.el: Add tests.

This function can be useful in filters implemation. I.e.

  (defun my-filter (contents backend info)
    (when (memq backend '(e-latex e-beamer some-derived-backend-from-latex))
      ...))

can be replaced with:

  (defun my filter (contents backend info)
    (when (org-export-derived-backend-p backend 'e-latex)
      ...))
2012-11-17 13:33:38 +01:00
Christophe Junke 60abb38ee3 Change fontification order for links
* lisp/org.el (org-set-font-lock-defaults): let footnote fontifications
  be done before other links' fontification. This allows links appearing
  inside footnotes to be both visible and active.

TINYCHANGE
2012-11-16 18:19:47 +01:00
Nicolas Goaziou b46b5d1c44 org-element: Return nil for unspecified time values
* lisp/org-element.el (org-element-timestamp-parser): Return nil for
  unspecified :hour-end and :minute-end properties.
* testing/lisp/test-org-element.el: Add tests.
2012-11-15 21:02:26 +01:00
Nicolas Goaziou aa7dbec775 org-export: Fix dispatcher
* contrib/lisp/org-export.el (org-export-dispatch-ui): Correctly
  compute allowed keys, taking into account derived backends.
(org-export-dispatch-action): Correctly compute action associated to
key combination, taking into account derived backends.
2012-11-15 14:05:05 +01:00
Peter Münster 8fb2cb8c19 Make org-notify.el work with latest org-element.el
* contrib/lisp/org-notify.el (org-notify-convert-deadline): New function.
(org-notify-make-todo): Use that function.
2012-11-14 19:28:30 +01:00
Myles English 907110e913 org-e-latex: Tables get correct amount of vertical space
* contrib/lisp/org-e-latex.el: Replaced a set of \begin{center}
  and \end{center} environment markers with a \centering
  declaration.

Using both \begin{table} and \being{center} environments leads to double
the vertical space around the float, whereas \centering adds none.

TINYCHANGE
2012-11-14 15:00:36 +01:00
Nicolas Goaziou 72a27c3b3f org-export: Make backend registration more stable wrt Org reload
* contrib/lisp/org-export.el (org-export-define-backend,
  org-export-define-derived-backend): Modify backend properties if
  backend is already registered.
(org-export-registered-backends): Use defvar instead of defconst so
a reload doesn't reset it.
2012-11-14 14:43:11 +01:00
Nicolas Goaziou 3d56f56399 org-export: Internal changes to back-end definition
* contrib/lisp/org-export.el (org-export-registered-backends): New
  variable.
(org-export-define-backend, org-export-define-derived-backend): Use
new variable. Also redefine how sub-menus are defined.
(org-export-backend-filters, org-export-backend-menu,
org-export-backend-options, org-export-backend-translate-table): New
functions.
(org-export-get-environment, org-export--parse-option-keyword,
org-export--get-subtree-options, org-export--get-inbuffer-options,
org-export--get-global-options, org-export-install-filters,
org-export-with-backend): Access to data stored in new variable.
(org-export-dispatch-ui): Display sub-menus according to new
definition.
(org-export-dispatch-menu-entries): Removed variable.
* contrib/lisp/org-e-beamer.el: Use new sub-menu definition.
(org-e-beamer--format-section, org-e-beamer-item,
org-e-beamer-keyword): Use `org-export-with-backend' instead of
relying on removed variables.
* testing/lisp/test-org-export.el: Update tests.

This patch gets rid of "invisible" variables, that is variables
defvar'ed within a macro.
2012-11-13 23:25:08 +01:00
Nicolas Goaziou 0421be2cee Merge branch 'maint' 2012-11-13 15:46:33 +01:00
Nicolas Goaziou 5dbccdb432 org-list: Fix infloop when inserting an item
* lisp/org-list.el (org-list-separating-blank-lines-number): When
  computing number of blank lines separating items, also count those
  in unparsed blocks, like example blocks.
* testing/lisp/test-org-list.el: Add tests.

In the following situation, with `org-blank-before-new-entry' set to
`auto' for `plain-list-item, a blank line should be inserted when
inserting the following item:

- item1
  #+BEGIN_EXAMPLE

  contents

  #+END_EXAMPLE
2012-11-13 15:45:09 +01:00