Commit Graph

865 Commits

Author SHA1 Message Date
Nicolas Goaziou 096ffd571c org-element: White space fixing and trivial refactoring 2012-01-11 16:52:08 +01:00
Nicolas Goaziou 6951f9af15 org-export: Remove useless test
* contrib/lisp/org-export.el (org-export-get-previous-element): Remove
  useless test.
2012-01-11 16:52:08 +01:00
Nicolas Goaziou b73a8d6d82 Removal of persistent properties (:total-loc, :code-refs) in export engine
* contrib/lisp/org-element.el (org-element-map): Remove use of
  `org-export-update-info'.
* contrib/lisp/org-export.el (org-export-persistent-properties,
org-export-persistent-properties-list): Remove variables
(org-export-collect-tree-properties): Rename from
  `org-export-initialize-persistent-properties'.
(org-export-data): Get rid of `org-export-update-info' calls.
(org-export-as): Use new `org-export-collect-tree-properties' name.
(org-export-resolve-coderef, org-export-get-loc): New functions.
(org-export-handle-code): Use new functions instead of removed
  properties.  Reformat code.  Change signature.
2012-01-11 16:52:08 +01:00
Nicolas Goaziou acc6fa3a44 org-export: New function to retrieve previous element and object
* contrib/lisp/org-export.el (org-export-first-sibling-p,
  org-export-data): Apply changes.
(org-export-get-previous-element): New function.
2012-01-11 16:52:08 +01:00
Nicolas Goaziou bc22518812 org-export: Remove :previous-element :previous-object properties
* contrib/lisp/org-export.el (org-export-set-property):
2012-01-11 16:52:07 +01:00
Nicolas Goaziou aae20190a3 org-element: Remove empty strings between objects in parse tree
* contrib/lisp/org-element.el (org-element-parse-objects): Remove
  empty strings between objects in parse tree.
2012-01-11 16:52:07 +01:00
Nicolas Goaziou 27f3a7cb05 org-element: Fix infloop when an heading is the first line of a buffer
* contrib/lisp/org-element.el (org-element-section-parser): Fix
  infloop when an heading is the first line of a buffer.
2012-01-08 20:38:28 +01:00
Nicolas Goaziou bb39f7ea20 org-element: Small fix
* contrib/lisp/org-element.el (org-element-radio-target-interpreter):
  Correct interpreter for radio targets.
2012-01-08 19:34:15 +01:00
Nicolas Goaziou e09f92bf7e org-element: Correctly get section beginning
* contrib/lisp/org-element.el (org-element-section-parser): Fix
  `:begin' property, which was preventing correct parsing of text
  before first headline.
2012-01-08 19:33:50 +01:00
Nicolas Goaziou 3638097e5a org-element: Fix small bug when parsing visible headlines only
* contrib/lisp/org-element.el (org-element-parse-elements): Fix bug
  when restricting parsing to visible headlines only.
2012-01-08 12:50:29 +01:00
Nicolas Goaziou 25ab746fc9 org-export: Add a filter for new section element
* contrib/lisp/org-export.el (org-export-filter-section-functions):
  New variable.
2012-01-08 12:50:29 +01:00
Nicolas Goaziou daef88b0a8 org-element: Add a new greater element (section)
* contrib/lisp/org-element.el (org-element-section-parser,
  org-element-section-interpreter): New functions
(org-element-greater-elements): Add new element to the list.
(org-element-at-point): Change arguments to handle a new section mode.
(org-element-guess-type): Accept an optional argument to look for
  sections in priority.
(org-element-parse-buffer): Start in section mode by default.  Thus
  any text before the first headline is still in a section of his
  own.
(org-element-parse-elements): Handle new section mode.
2012-01-08 12:50:29 +01:00
Nicolas Goaziou ced1878fe4 org-export: Remove `:footnote-seen-labels' persistent property altogether
* contrib/lisp/org-export.el (org-export-update-info): No longer need
to keep it updated.
(org-export-collect-footnote-definitions,
org-export-footnote-first-reference-p): Get rid of dependency on the
removed property.
2012-01-08 02:06:34 +01:00
Nicolas Goaziou f4d8a55282 org-export: Code typo
* contrib/lisp/org-export.el (org-export-get-parent-headline): Code typo.
2012-01-08 00:22:37 +01:00
Nicolas Goaziou 5ef692030f org-export: Fix small bug
* contrib/lisp/org-export.el (org-export-table-format-info): Fix
  confusion between "\" which means nothing in special columns, and
  "/".
2012-01-07 18:33:06 +01:00
Nicolas Goaziou a9f9db68c1 org-export: Fix information returned from table analysis
* contrib/lisp/org-export.el (org-export-table-format-info): Now
  `:width' is properly retrieved with cookies where alignement is
  missing (i.e. "<6>").  Also `:row-groups' contains groups of
  standard lines only (colgroups and width lines are skipped).
2012-01-07 18:12:07 +01:00
Nicolas Goaziou 50213d28cb org-export: Improve `:genealogy' property in communication channel
* contrib/lisp/org-export.el (org-export-update-info): `:genealogy' is
  now a full flat list of objects and elements containing current
  object or element.  Thus, `:parent-properties' and
  `:inherited-properties' are now obsolete, and removed.
(org-export-data): Apply change to `:genealogy' property.
(org-export-get-parent-headline): New function to fullfil one common
  need.
(org-export-last-sibling-p, org-export-included-file): Make use of the
  new function.
2012-01-07 14:33:48 +01:00
Nicolas Goaziou aeb1ee1c66 contrib/lisp/org-export: Add a dispatcher for new export engine
* contrib/lisp/org-export.el (org-export-initial-scope,
  org-export-show-temporary-export-buffer,
  org-export-dispatch-use-expert-ui): New variables.
(org-export-dispatch, org-export-dispatch-ui): New functions.
2012-01-06 16:04:13 +01:00
Nicolas Goaziou 427327a94e contrib/lisp/org-export: Possibly add transcoded string to kill ring
* contrib/lisp/org-export.el (org-export-copy-to-kill-ring): New
  variable.
(org-export-as): Make use of new variable.
2012-01-05 22:21:57 +01:00
Nicolas Goaziou 9d47c4f23d contrib/lisp/org-export: Customize coding system for export to file
* contrib/lisp/org-export.el (org-export-coding-system): New variable.
(org-export-to-file): Use new variable.
2012-01-05 20:15:05 +01:00
Nicolas Goaziou a496c3af47 contrib/lisp/org-export: Fix subtree export
* contrib/lisp/org-export.el (org-export-get-subtree-options):
  Correctly get `:title: from headline when no "EXPORT_TITLE" property
  is defined.  Also assume point is at subtree beginning.
(org-export-as): Fix subtree parsing.  The subtree starts at point or
  at first heading above.  Contents do not include the first headline.
2012-01-05 20:15:05 +01:00
Nicolas Goaziou 3ada986ba3 contrib/lisp/org-export: Make export to file compatible with org-publish
* contrib/lisp/org-export.el (org-export-to-file): Automatically
  retrieve output file name.  Also add a PUB-DIR optional argument.
2012-01-05 20:15:05 +01:00
Bastien Guerry 346ee30e42 Fix trailing whitespaces for *.el files in contrib/. 2012-01-04 16:21:56 +01:00
Bastien Guerry 681914f32b Copyright year fixes for contrib/. 2012-01-04 15:48:18 +01:00
Bastien Guerry 575ecebcac More copyright year fixes. 2012-01-04 15:11:23 +01:00
Bastien Guerry e44d2975ff Fix copyright (to 2012) year and Org version (to 7.8.03). 2012-01-03 18:47:01 +01:00
Bastien Guerry b73075a8d2 Code cleanup up: rename org-on-*-p to org-at-*-p.
Rename `org-on-heading-p' and `org-on-target-p' to
`org-at-heading-p' and `org-at-target-p' to be more
consistent with the org-at-*-p family.

Also define two aliases.
2012-01-02 19:52:35 +01:00
Nicolas Goaziou 44bd38556c contrib/lisp/org-element.el: Fix docstrings 2011-12-29 19:41:16 +01:00
Bastien Guerry 371b0cf9aa org-drill.el: fix a few wrong :type spec.
* org-drill.el (org-drill-leech-method, org-drill-scope)
(org-drill-spaced-repetition-algorithm): Fix wrong :type spec.

Thanks to Joost Kremers for spotting this.
2011-12-26 15:40:02 +01:00
Bastien Guerry 80dd8f47f0 org-element.el: Added "This file is not part of GNU Emacs". 2011-12-26 15:34:36 +01:00
Sebastien Vauban 8e1eeaa190 Fix old-way variable assignments. 2011-12-26 14:42:22 +01:00
Nicolas Goaziou 732725a79b contrib/lisp/org-element: Translate "data" affiliated keyword into "name"
* contrib/lisp/org-element.el (org-element-keyword-translation-alist):
  Make "data" an alternate from "name" according to code blocks standardization.
2011-12-26 12:33:58 +01:00
Nicolas Goaziou 5136d2ee41 contrib/lisp/org-export: Add footnote number to footnotes definitions collection
* contrib/lisp/org-export.el
  (org-export-collect-footnote-definitions): Change key to footnote
  number, retrieved with `org-export-get-footnote-number'.  Also, do
  not use beginning position as label for inline footnotes, as those
  are weak identifiers.
2011-12-26 09:59:53 +01:00
Nicolas Goaziou a7afc47572 contrib/lisp/org-export: Extend footnote numbering to definitions
* contrib/lisp/org-export.el (org-export-get-footnote-number): Also
  retrieve ordinal associated to a footnote definition.
2011-12-25 16:46:38 +01:00
Nicolas Goaziou 639810cb54 contrib/lisp/org-element: Add attributes to inlinetask element
* contrib/lisp/org-element.el (org-element-headline-parser): Update
  list of attributes in the docstring.
(org-element-inlinetask-parser): Complete attributes with properties
  inherited from any property drawer within the inlinetask and with
  time properties (i.e. scheduled, clock...).
2011-12-25 10:15:36 +01:00
Nicolas Goaziou 64d9cd2b06 contrib/lisp/org-element.el (org-element-inlinetask-parser): Fix attributes names 2011-12-24 18:00:02 +01:00
Nicolas Goaziou d140374fc9 contrib/lisp/org-export.el (org-export-collect-headline-numbering): Small fix 2011-12-24 14:57:57 +01:00
Nicolas Goaziou b78800f05a contrib/lisp/org-element: Hygienize org-element-map
* contrib/lisp/org-element.el (org-element-map): Change name of local
  variables to prevent variable name collisions with the function
  around org-element-map.
2011-12-24 14:57:57 +01:00
Nicolas Goaziou 27480a2ee7 contrib/lisp/org-export: Improve footnote API
* contrib/lisp/org-export.el (org-export-initial-options): Rename
  `:footnotes-labels-alist' property into `:footnote-definition-alist'
  for consistency.  Add comments to code.
(org-export-persistent-properties-list): Apply previous renaming.
(org-export-update-info): Rename `:seen-footnote-labels' into
  `footnote-seen-labels'.
(org-export-collect-footnote-definitions,
org-export-footnote-first-reference-p,
org-export-get-footnote-definition,
org-export-get-footnote-number): New functions.
2011-12-23 16:24:13 +01:00
Bastien Guerry a0f2396f8f Move org-eshell.el by Konrad Hinsen to Org's core.
* org-eshell.el: New file.
2011-12-21 09:43:48 +01:00
Nicolas Goaziou e6ab3158e1 org-export: Add a function associating an ordinal to an element or object
* contrib/lisp/org-export.el (org-export-get-ordinal): New function.
2011-12-20 20:09:03 +01:00
Nicolas Goaziou 10ea126b36 contrib/lisp/org-export: Add omitted persistent properties
* contrib/lisp/org-export.el (org-export-persistent-properties-list):
  Add omitted persistent properties.

This patch also updates documentation with regards to persistent properties.
2011-12-20 19:58:24 +01:00
Nicolas Goaziou 4aace47474 contrib/lisp/org-export: Normalize collecting functions names
* contrib/lisp/org-export.el (org-export-collect-figures): Renamed
  from `org-export-get-figures'.
2011-12-20 19:18:11 +01:00
Nicolas Goaziou 3210994bc4 contrib/lisp/org-export.el: Simplify headlines collection
* contrib/lisp/org-export.el (org-export-collect-headlines): Simplify
  function, in order to allow greater flexibility to build a proper
  table of contents.
2011-12-20 19:16:19 +01:00
Nicolas Goaziou c3972265bb Modification to the type signature of `org-export-inline-image-p'
EXPERIMENTAL/org-e-latex.el (org-e-latex-link): Apply changes.
contrib/lisp/org-export.el (org-export-inline-image-p): Remove
description of the link as a required argument, since this function is
called with link contents anyway.
2011-12-20 18:50:59 +01:00
Nicolas Goaziou 69505ed062 contrib/lisp/org-export: New function to export to a file
* contrib/lisp/org-export.el (org-export-to-buffer): Slight change to
  doc-string.
(org-export-to-file): New function.
2011-12-20 13:49:06 +01:00
Paul M. Rodriguez bf25b68915 Rewrite of contrib/lisp/org-velocity.el.
From the author: "This is a rewrite of Org-Velocity for speed. Delays due
to file size should no longer be perceptible. I have also added in-line
previews of entry contents and dropped support for Org-Remember."
2011-12-11 17:14:09 +01:00
Nicolas Goaziou 4e36b533e0 Code indentation fix (tabify) 2011-12-11 11:20:11 +01:00
Jambunathan K 6aef72be12 Move org-lparse.el and org-odt.el to the main lisp dir 2011-12-10 18:12:53 +01:00
Jambunathan K 9c14e3d95e Move contrib/odt/styles/*.xml to etc/styles 2011-12-10 18:12:48 +01:00
Nicolas Goaziou b377e54c6a contrib/lisp/org-export: Extract more properties from tables
* contrib/lisp/org-export.el (org-export-table-format-info): Extract
column width and and row groups.
2011-12-07 20:49:10 +01:00
Nicolas Goaziou 816f60b0c7 contrib/lisp/org-element: Re-order a function within the file 2011-12-01 15:42:06 +01:00
Nicolas Goaziou b1f2903392 contrib/lisp/org-element: Do not map function to ignored elements or objects
* contrib/lisp/org-element.el (org-element-map): In an export
  situation, only map function on included elements or objects.
2011-12-01 15:04:38 +01:00
Nicolas Goaziou 9ee429ca1d contrib/lisp/org-export: Fix headline numbering
* contrib/lisp/org-export.el (org-export-persistent-properties-list):
  Remove unused persistent properties.
(org-export-initialize-persistent-properties): Delegate headline
  numbering alist to `org-export-collect-headline-numbering'.
(org-export-collect-headline-numbering): New function.
(org-export-update-info): Remove part relative to headline numbering.
(org-export-get-headline-number): Use new `:headline-numbering' to get
  current headline number.

Headline numbering is not done on demand anymore, but built once and
for all at the beginning of the export process, and stored in an
alist, accessible through the `:headline-numbering' property in the
communication channel.
2011-12-01 14:35:43 +01:00
Eric Schulte 6cad241b0e moving ob-picolisp into the core
Thanks to Thorsten Jolitz for contributing support for this new
language.

* Makefile (LISPF): Add ob-picolisp to the Makefile.
* contrib/babel/langs/ob-picolisp.el: Remove from contrib.
* lisp/ob-picolisp.el: Add to core lisp directory.
* lisp/org.el (org-babel-load-languages): Add Pico Lisp to the list of
  supported code block languages.
2011-11-29 09:05:31 -07:00
Nicolas Goaziou 21758c30c9 contrib/lisp/org-export: Fix visibility influence on list parsing
* contrib/lisp/org-export.el (org-export-with-current-buffer-copy):
  Full invisibility prevents `current-column' from returning useful
  values.  Thus, keep visibility related text-properties and set
  `buffer-invisibility-spec' to nil.
2011-11-28 20:14:20 +01:00
Nicolas Goaziou 55e4d0e695 contrib/lisp/org-export: Fix a docstring.
* contrib/lisp/org-export.el (org-export-option-alist): Fix docstring.
2011-11-25 19:33:23 +01:00
Nicolas Goaziou c84192e567 contrib/lisp/org-export.el: Fix misleading comments about transcoders
* contrib/lisp/org-export.el: Fix misleading comments about transcoders.
2011-11-25 19:06:19 +01:00
Nicolas Goaziou 4e2aaadda9 contrib/org-export: Generic Export Engine For Org
* contrib/lisp/org-export.el (org-export-collect-options,
  org-export-parse-option-keyword, org-export-get-subtree-options,
  org-export-get-inbuffer-options, org-export-get-global-options,
  org-export-initial-options, org-export-confirm-letbind,
  org-export-install-letbind-maybe,
  org-export-initialize-persistent-properties,
  org-export-use-select-tags-p, org-export-get-min-level,
  org-export-get-point-max, org-export-update-info,
  org-export-set-property, org-export-data,
  org-export-secondary-string, org-export-skip-p,
  org-export-interpret-p, org-export-filter-apply-functions,
  org-export-as, org-export-to-buffer, org-export-get-relative-level,
  org-export-get-headline-number, org-export-number-to-roman,
  org-export-first-sibling-p, org-export-last-sibling-p,
  org-export-included-file, org-export-get-file-contents,
  org-export-parse-included-file, org-export-solidify-link-text,
  org-export-get-coderef-format, org-export-inline-image-p,
  org-export-resolve-fuzzy-link, org-export-expand-macro,
  org-export-handle-code, org-export-table-format-info,
  org-export-clean-table, org-export-get-headlines,
  org-export-collect-elements, org-export-collect-tables,
  org-export-get-figures, org-export-collect-listings): New functions.
(org-export-max-depth, org-export-option-alist,
  org-export-special-keywords, org-export-persistent-properties-list,
  org-export-persistent-properties, org-export-with-archived-trees,
  org-export-with-author, org-export-with-creator,
  org-export-creator-string, org-export-with-drawers,
  org-export-with-email, org-export-with-emphasize,
  org-export-exclude-tags, org-export-with-fixed-width,
  org-export-with-footnotes, org-export-headline-levels,
  org-export-default-language, org-export-preserve-breaks,
  org-export-with-entities, org-export-with-priority,
  org-export-with-section-numbers, org-export-select-tags,
  org-export-with-special-strings, org-export-with-sub-superscripts,
  org-export-with-toc, org-export-with-tables, org-export-with-tags,
  org-export-with-tasks, org-export-time-stamp-file,
  org-export-with-timestamps, org-export-with-todo-keywords,
  org-export-allow-BIND, org-export-snippet-translation-alist,
  org-export-filter-parse-tree-functions,
  org-export-filter-final-output-functions,
  org-export-filter-plain-text-functions,
  org-export-filter-center-block-functions,
  org-export-filter-drawer-functions,
  org-export-filter-dynamic-block-functions,
  org-export-filter-headline-functions,
  org-export-filter-inlinetask-functions,
  org-export-filter-plain-list-functions,
  org-export-filter-item-functions,
  org-export-filter-comment-functions,
  org-export-filter-comment-block-functions,
  org-export-filter-example-block-functions,
  org-export-filter-export-block-functions,
  org-export-filter-fixed-width-functions,
  org-export-filter-footnote-definition-functions,
  org-export-filter-horizontal-rule-functions,
  org-export-filter-keyword-functions,
  org-export-filter-latex-environment-functions,
  org-export-filter-babel-call-functions,
  org-export-filter-paragraph-functions,
  org-export-filter-property-drawer-functions,
  org-export-filter-quote-block-functions,
  org-export-filter-quote-section-functions,
  org-export-filter-special-block-functions,
  org-export-filter-src-block-functions,
  org-export-filter-table-functions,
  org-export-filter-verse-block-functions,
  org-export-filter-emphasis-functions,
  org-export-filter-entity-functions,
  org-export-filter-export-snippet-functions,
  org-export-filter-footnote-reference-functions,
  org-export-filter-inline-babel-call-functions,
  org-export-filter-inline-src-block-functions,
  org-export-filter-latex-fragment-functions,
  org-export-filter-line-break-functions,
  org-export-filter-link-functions,
  org-export-filter-macro-functions,
  org-export-filter-radio-target-functions,
  org-export-filter-statistics-cookie-functions,
  org-export-filter-subscript-functions,
  org-export-filter-superscript-functions,
  org-export-filter-target-functions,
  org-export-filter-time-stamp-functions,
  org-export-filter-verbatim-functions): New variables.
2011-11-25 16:02:42 +01:00
Jeremy Compostella bafffdc5f6 org-odt.el: Export TOC max-level information.
The TOC max level which could be specified by user is lost during the
export operation. However, this information could be useful in particular
with the ODT exporter. So if another script work on the ODT afterward and
ask to re-compute the TOC, the new TOC will keep this max level.

TINYCHANGE.
2011-11-25 00:27:49 +05:30
Jambunathan K 2ded8ccb85 org-odt.el: Fix performance issue on manifest file writing
* contrib/lisp/org-odt.el (org-odt-write-manifest-file): Don't
use write-region.

The org-odt-write-manifest-file function take too much time -
several seconds for 164 files. This patch provides a cheaper
implementation (hundredths of a seconds for 164 files).

Original patch by Jérémy Compostella
<jeremy.compostella@gmail.com>.  Rewritten by Jambunathan K to
minimize the actual number of lines changed.

TINYCHANGE.

From http://www.mail-archive.com/emacs-orgmode@gnu.org/msg49248.html
I'm currently generating a road book for a trip from different
Org-Mode file and other data. It results in a 13 thousands
lines Org-Mode file and I have some performance issues. Using
the ELP package, I isolated the two main bottlenecks.

One is in org-odt : the org-odt-write-manifest-file function
is called once and takes 5.546672 seconds to write a 167 lines
file. I rewrote this function and now it takes 0.01606 seconds
to write the same file.
2011-11-24 23:46:57 +05:30
Nicolas Goaziou 5a24ffe004 org-element: Fix parsing of src-block switches when there is more than one
* contrib/lisp/org-element.el (org-element-src-block-parser): Previous
  regexp would only get the last switch if more than one were
  provided.
2011-11-24 14:29:53 +01:00
Jambunathan K e10722c9cd org-odt.el: Fix a bug wrt label references
* contrib/lisp/org-odt.el (org-odt-fixup-label-references)
(org-export-odt-preprocess-label-references): Modified.

Workaround for issue reported here:
http://lists.gnu.org/archive/html/emacs-orgmode/2011-11/msg00773.html
2011-11-23 06:01:33 +05:30
Nicolas Goaziou 45587af37b org-element: Parser for Org syntax
* contrib/lisp/org-element.el (org-element-center-block-parser,
  org-element-center-block-interpreter, org-element-drawer-parser,
  org-element-drawer-interpreter, org-element-dynamic-block-parser,
  org-element-dynamic-block-interpreter,
  org-element-footnote-definition-parser,
  org-element-headline-parser, org-element-headline-interpreter,
  org-element-inlinetask-parser, org-element-inlinetask-interpreter,
  org-element-item-parser, org-element-item-interpreter,
  org-element-plain-list-parser, org-element-plain-list-interpreter,
  org-element-quote-block-parser,
  org-element-quote-block-interpreter,
  org-element-special-block-parser,
  org-element-special-block-interpreter,
  org-element-babel-call-parser, org-element-babel-call-interpreter,
  org-element-comment-parser, org-element-comment-interpreter,
  org-element-comment-block-parser,
  org-element-comment-block-interpreter,
  org-element-example-block-parser,
  org-element-example-block-interpreter,
  org-element-export-block-parser,
  org-element-export-block-interpreter,
  org-element-fixed-width-parser,
  org-element-fixed-width-interpreter,
  org-element-horizontal-rule-parser,
  org-element-horizontal-rule-interpreter,
  org-element-keyword-parser, org-element-keyword-interpreter,
  org-element-latex-environment-parser,
  org-element-latex-environment-interpreter,
  org-element-paragraph-parser, org-element-paragraph-interpreter,
  org-element-property-drawer-parser,
  org-element-property-drawer-interpreter,
  org-element-quote-section-parser,
  org-element-quote-section-interpreter,
  org-element-src-block-parser, org-element-src-block-interpreter,
  org-element-table-parser, org-element-table-interpreter,
  org-element-verse-block-parser,
  org-element-verse-block-interpreter, org-element-emphasis-parser,
  org-element-emphasis-interpreter,
  org-element-text-markup-successor, org-element-entity-parser,
  org-element-entity-interpreter,
  org-element-latex-or-entity-successor,
  org-element-export-snippet-parser,
  org-element-export-snippet-interpreter,
  org-element-export-snippet-successor,
  org-element-footnote-reference-parser,
  org-element-footnote-definition-interpreter,
  org-element-footnote-reference-interpreter,
  org-element-footnote-reference-successor,
  org-element-inline-babel-call-parser,
  org-element-inline-babel-call-interpreter,
  org-element-inline-babel-call-successor,
  org-element-inline-src-block-parser,
  org-element-inline-src-block-successor,
  org-element-latex-fragment-parser,
  org-element-latex-fragment-interpreter,
  org-element-line-break-parser, org-element-line-break-interpreter,
  org-element-line-break-successor, org-element-link-parser,
  org-element-link-interpreter, org-element-link-successor,
  org-element-macro-parser, org-element-macro-interpreter,
  org-element-macro-successor, org-element-radio-target-parser,
  org-element-radio-target-interpreter,
  org-element-radio-target-successor,
  org-element-statistics-cookie-parser,
  org-element-statistics-cookie-interpreter,
  org-element-statistics-cookie-successor,
  org-element-subscript-parser, org-element-subscript-interpreter,
  org-element-sub/superscript-successor,
  org-element-superscript-parser,
  org-element-superscript-interpreter, org-element-target-parser,
  org-element-target-interpreter, org-element-target-successor,
  org-element-time-stamp-parser, org-element-time-stamp-interpreter,
  org-element-time-stamp-successor, org-element-verbatim-parser,
  org-element-verbatim-interpreter, org-element-get-property,
  org-element-get-contents, org-element-at-point,
  org-element-guess-type, org-element-collect-affiliated-keywords,
  org-element-parse-buffer, org-element-parse-secondary-string,
  org-element-map, org-element-parse-elements,
  org-element-parse-objects, org-element-get-next-object-candidates,
  org-element-interpret-data, org-element-interpret-secondary,
  org-element-interpret--affiliated-keywords,
  org-element-normalize-string, org-element-normalize-contents,
  org-element-swap-A-B, org-element-backward,
  org-element-drag-backward, org-element-drag-forward,
  org-element-forward, org-element-mark-element,
  org-narrow-to-element, org-transpose-elements,
  org-element-unindent-buffer, org-element-up): New functions.
(org-element-paragraph-separate, org-element-all-elements,
  org-element-greater-elements, org-element-all-successors,
  org-element-object-successor-alist, org-element-recursive-objects,
  org-element-non-recursive-block-alist,
  org-element-affiliated-keywords,
  org-element-keyword-translation-alist,
  org-element-multiple-keywords, org-element-parsed-keywords,
  org-element-dual-keywords, org-element-object-restrictions,
  org-element-string-restrictions, org-element--affiliated-re,
  org-element--element-block-types): New variables.
2011-11-21 08:12:25 +01:00
Jambunathan K e28e1038c4 org-odt.el: Rescale a large images so that it fits in text area
* contrib/lisp/org-odt.el (org-export-odt-max-image-size): New
variable.
(org-odt-image-size-from-file): Honor above variable.

Ivars Finvers <ifinvers@shaw.ca> says -
   One minor issue that I came across in using the ODT
exporter relates to the size of embedded images.  I often need
to include plots of simulation results in my documents.  These
plots can be larger than a normal page, which causes problems
in the text flow.  In LaTeX, I've grown used to being able to
automatically rescale a plot to match the maximum text width
of the document.  It would be useful to have such a feature
for the ODT exporter.
2011-11-17 23:58:42 +05:30
Eric Schulte 7e93b90f88 Standardized code block keywords
Nick Dokos <nicholas.dokos@hp.com> writes:

> Eric Schulte <schulte.eric@gmail.com> wrote:
>
>> The attached updated patch fixes a bug in the original.
>>
>
> Minor problem in applying:
>
> ,----
> | $ git apply ~/Mail/inbox/724
> | /home/nick/Mail/inbox/724:671: trailing whitespace.
> | #+name:
> | /home/nick/Mail/inbox/724:599: new blank line at EOF.
> | +
> | warning: 2 lines add whitespace errors.
> `----

The attached version fixes these issues, Thanks -- Eric

>From 0e43d59ee8d46a63f86780a502de726271bc39de Mon Sep 17 00:00:00 2001
From: Eric Schulte <schulte.eric@gmail.com>
Date: Fri, 28 Oct 2011 10:44:21 -0600
Subject: [PATCH] removing code block, results and call-line synonyms -- BREAKING CHANGE

Following a round of on-list discussion many code block synonyms have
been removed, moving forward the following syntax is valid.

- call lines are specified with #+call:
- code blocks are named with #+name:
- results are named with #+name:, however results generated by a code
  block may still be labeled with #+results:, and tables named with
  #+tblname: will be considered to be named results

The following function may be used to update an existing Org-mode
buffer to the new syntax.

  (defun update-org-buffer ()
    "Update an Org-mode buffer to the new data, code block and call line syntax."
    (interactive)
    (save-excursion
      (flet ((to-re (lst) (concat "^[ \t]*#\\+" (regexp-opt lst t)
                                  "\\(\\[\\([[:alnum:]]+\\)\\]\\)?\\:[ \t]*"))
             (update (re new)
                     (goto-char (point-min))
                     (while (re-search-forward re nil t)
                       (replace-match new nil nil nil 1))))
        (let ((old-re (to-re '("RESULTS" "DATA" "SRCNAME" "SOURCE")))
              (lob-re (to-re '("LOB")))
              (case-fold-search t))
          (update old-re "name")
          (update lob-re "call")))))

Note: If an old version of Org-mode (e.g., the one shipped with Emacs)
      is installed on your system many of the important variables will
      be pre-defined with a defvar and *will not* have their values
      automatically updated, these include the following.
      - org-babel-data-names
      - org-babel-result-regexp
      - org-babel-src-block-regexp
      - org-babel-src-name-regexp
      - org-babel-src-name-w-name-regexp
      It may be necessary to either remove the source code of older
      versions of Org-mode, or to explicitly evaluate the ob.el file.

* lisp/ob-exp.el (org-exp-res/src-name-cleanup): Updated
  Documentation.
* lisp/ob-lob.el (org-babel-block-lob-one-liner-regexp): Updated
  regular expression.
  (org-babel-inline-lob-one-liner-regexp): Updated regular expression.
* lisp/ob-ref.el (org-babel-ref-resolve): Notice when something that
  looks like a data results may actually be a code block.
* lisp/ob-table.el: Updated documentation.
* lisp/ob.el (org-babel-src-name-regexp): Simplified regexp.
  (org-babel-get-src-block-info): Updated match strings.
  (org-babel-data-names): Simplified acceptable names.
  (org-babel-find-named-block): Indentation.
  (org-babel-find-named-result): Updated to not return a code block as
  a result.
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Removing
  references to old syntactic elements.
  (org-additional-option-like-keywords): Removing references to old
  syntactic elements.
* contrib/babel/library-of-babel.org: Updated to make use of the new
  syntax.
* testing/examples/babel-dangerous.org: Updated to make use of the new
  syntax.
* testing/examples/babel.org: Updated to make use of the new syntax.
* testing/examples/ob-awk-test.org: Updated to make use of the new
  syntax.
* testing/examples/ob-fortran-test.org: Updated to make use of the new
  syntax.
* testing/lisp/test-ob.el: Removed two bad tests which tested the
  literal values of old regular expressions rather than their
  behavior.
2011-11-15 08:56:24 -07:00
Jambunathan K 9edb523bdd org-xhtml.el: Merge commit 2f50b1 2011-11-14 02:00:56 +05:30
Jambunathan K 457375be28 org-xhtml.el: Bring over few commits (contd.)
Bring over following commits:
-22ed1906
-2f1fbc58
-8d25fdc7
-236642dc
-d85e0e35
2011-11-14 01:05:48 +05:30
Jambunathan K 7e31ecdb22 org-lparse.el & co: Bring over few commits (contd.)
Bring over following commits:
- dfcb6fae
- 767f5188
- ca49e893
- 728611fa
- b2408c00
- 97d107d9
2011-11-13 15:25:20 +05:30
Jambunathan K c5081b8f14 org-lparse.el & co: Bring over few commits
Bring over following commits:
- 97538eb9
- 5c53026d
- 3482284b
- 58f1dbcc
- 8b16fae4
- 106993d3
2011-11-13 13:55:22 +05:30
Jambunathan K 22b9e68782 org-lparse.el: Fix issues with formatting of custom links
* contrib/lisp/org-lparse.el (org-lparse-format-org-link): Fix
issues with formatting of custom links - pass the right
backend to the custom formatter.

Fix for bug reported by Christian Moe here:
http://lists.gnu.org/archive/html/emacs-orgmode/2011-11/msg00474.html

TODO: Modify `org-bbdb-export' to support odt backend.  Review contrib
modules for odt compatibility.
2011-11-13 02:45:57 +05:30
Jambunathan K 25eefa57e4 org-xhtml.el: Minor fix
* contrib/lisp/org-xhtml.el (org-xhtml-begin-environment)
(org-xhtml-end-environment): Fix param list.

Continue commit 2e0e462d14.

Support for annotation blocks for xhtml backend still needs to
be ported.  See org-exp-blocks.el for more information.
2011-11-13 02:45:33 +05:30
Eric Schulte 6bbc3566f7 bring ob-fortran into the core -- FSF assignment completion
Thanks to Sergey Litvinov for contributing this language support!

* lisp/ob-fortran.el: Adding support for Fortran code blocks.
* Makefile (LISPF): Compile Fortran support.
* lisp/org.el (org-babel-load-languages): Adding fortran to this list.
2011-11-08 14:18:57 -07:00
Jambunathan K 311146aa21 Add support for embedding an equation via a link to its *.odf file
* contrib/lisp/org-odt.el (org-odt-is-formula-link-p):
Recognize *.mml and *.mathml as mathml files.  Recognize *.odf
files as OpenDocument formula file.
(org-odt-copy-formula-file): Use `org-odt-zip-extract-one' to
handle ODF formula files.
(org-export-odt-format-formula): If a ODF formula link has no
caption or label, embed it inline.  Otherwise embed it as
displayed.
2011-11-08 05:08:26 +05:30
Jambunathan K a69547c61c Add command to export LaTeX fragments to OpenDocument formula file
* contrib/lisp/org-lparse.el (org-lparse-and-open): Add a new
param `file-or-buf' to accommodate
`org-export-as-odf-and-open'.
* contrib/lisp/org-odt.el (org-export-as-odf)
(org-export-as-odf-and-open): New interactive commands.
(org-export-odt-convert): Add autoload cookie.
2011-11-08 03:08:55 +05:30
Jambunathan K fe19f7a637 org-odt.el: Preparing for introducing `org-export-as-odf'
* contrib/lisp/org-odt.el (org-odt-update-styles-file)
(org-odt-write-mimetype-file): New.  Extracted out of
`org-odt-save-as-outfile'.
(org-odt-save-as-outfile): Use above routines.
(org-export-odt-tmpdir-prefix)
(org-odt-init-outfile): Misc changes.

Preparing for introducing `org-export-as-odf'.  The new
command will create OpenDocument Formula files out of LaTeX
fragments.  Dynamic variable `org-lparse-backend' will be set
to 'odf during this command.
2011-11-08 03:08:48 +05:30
Jambunathan K f8168144a9 Annotate Dvipng images/Math formula and strengthen error handling
* contrib/lisp/org-odt.el (org-odt-encode-plain-text): New.
(org-odt-format-line)
(org-odt-format-source-code-or-example-plain): Use it.
(org-odt-format-object-description): New.  Format svg:title
and svg:desc elements out of plain text.
(org-export-odt-format-formula, org-export-odt-format-image):
Check whether the incoming formula or image is generated out
of a latex fragment.  If yes, pass the latex fragment for
downstream processing.
(org-odt-format-frame): Check if the object that is enclosed
in the frame has metadata associated with it.  If yes, dump it
as part of svg:title and svg:desc elements.
(org-odt-protect-latex-fragment): New after advice for
`org-format-latex-as-mathml'.  Fixes the following bug
http://lists.gnu.org/archive/html/emacs-orgmode/2011-11/msg00176.html
2011-11-07 00:32:27 +05:30
Jambunathan K 00cb82c266 org-odt.el: Minor modifications to reflect change in package layout
* contrib/lisp/org-odt.el (org-odt-data-dir): Modified to
reflect change in ELPA package layout.
2011-11-03 00:01:58 +05:30
Jambunathan K e856d1cfe7 org-odt.el: Protect label references against downstream expansion
* contrib/lisp/org-odt.el
(org-export-odt-preprocess-label-references): Mark label as
protected text and protect it from being expanded downstream.

Fixes bug reported by Myles English here:
http://lists.gnu.org/archive/html/emacs-orgmode/2011-11/msg00069.html
2011-11-02 23:33:10 +05:30
Jambunathan K 8559a91be8 org-odt.el: Fix a regression in export of src blocks
* contrib/lisp/org-odt.el
(org-odt-format-source-line-with-line-number-and-label): When
numbering was turned off, src blocks were getting stripped
from export.  Fixed this regression.
2011-10-31 14:09:36 +05:30
Jambunathan K a62818d561 org-odt.el: Put label generation and reference under user control
* contrib/lisp/org-odt.el (org-odt-begin-table)
(org-export-odt-format-formula, org-export-odt-format-image)
(org-odt-entity-frame-styles, org-odt-format-entity): Use
"__Table__", "__Figure__", "__MathFormula__",
"__DvipngImage__" as internal category handles.
(org-export-odt-user-categories)
(org-export-odt-get-category-from-label)
(org-odt-label-styles, org-odt-category-map-alist): New
variables.
(org-odt-entity-labels-alist): Add label style as an
additional entry.  Update docstring.
(org-odt-get-label-category-and-style): New defun.
(org-odt-add-label-definition)
(org-odt-format-label-definition)
(org-odt-format-label-reference)
(org-odt-fixup-label-references)
(org-odt-format-entity-caption, org-odt-init-outfile):
Modified.
(org-odt-label-def-ref-spec): Removed.  Superceded by
`org-odt-label-styles'.
(org-odt-get-label-definition): Removed

Give user more control over how labels are generated and
referenced.  This is accomplished by mapping each label to a
category-handle which in turn is used to locate the category,
counter and style to be associated with label.
2011-10-31 03:41:59 +05:30
Eric Schulte 884ec24c07 replace missing copyright year 2011-10-30 10:09:11 -06:00
Jonathan Bisson 7e56bb070f Adding :colnames and :noquote parameters 2011-10-30 10:07:30 -06:00
Jambunathan K 2e0e462d14 org-odt.el: Add support for annotation blocks
* contrib/lisp/org-lparse.el (org-lparse-special-blocks): New
variable.  Add "annotation" blocks in addition to the already
existing "list-table" blocks.
(org-lparse-get-block-params): New helper routine to read
params passed to a special block.  Used in conjunction with
OpenDocument annotations and with parsing of "#+ATTR_ODT:..."
lines attached to images.
(org-lparse-par-open-stashed): New let-bound variable.
(org-do-lparse): Bind `org-lparse-par-open-stashed'.  Treat
all blocks listed in `org-lparse-special-blocks' as special
environments.  Honor options passed as part of
"#+begin_<block-name>[options]".
(org-lparse-preprocess-after-blockquote-hook): Handle all
blocks listed in `org-lparse-special-blocks' specially.
(org-lparse-strip-experimental-blocks-maybe-hook): New hook
that hooks up to `org-export-preprocess-hook'.  Removes blocks
listed under `org-lparse-special-blocks' while exporting to
formats other than "odt" or "xhtml".
(org-lparse-begin-environment, org-lparse-end-environment):
Modified signature to accomodate block params.
(org-lparse-stash-save-paragraph-state)
(org-lparse-stash-pop-paragraph-state): New helper routines
for use with emitting of OpenDocument annotations.
(org-lparse-list-table-enable): Removed.  "list tables" are
now always enabled.

* contrib/lisp/org-odt.el (org-odt-begin-annotation)
(org-odt-end-annotation): New routines.
(org-odt-begin-environment, org-odt-end-environment): Handle
block params.  Handle the new "annotation" block.
(org-odt-format-author, org-odt-iso-date-from-org-timestamp):
New helper routnes for emitting author and comment timestamps
with annotation blocks.
(org-odt-update-meta-file): Use above routines.
(org-export-odt-format-image): Use
`org-lparse-get-block-params' to parse inline image attributes.
(org-odt-format-date): Removed.  Superceded by
`org-odt-iso-date-from-org-timestamp'.

See http://lists.gnu.org/archive/html/emacs-orgmode/2011-10/msg01251.html
2011-10-29 04:13:44 +05:30
Eric Schulte 71f1c1bed4 adding ob-picolisp by Thorsten Jolitz to contrib/babel/langs 2011-10-26 13:02:19 -06:00
Jambunathan K 614c15744c Move cmds and user vars in lparse namespace to odt namespace
* contrib/lisp/org-odt.el
(org-export-odt-preferred-output-format): Use
`org-lparse-reachable-format'.  Update docstring.
(org-export-odt-convert-processes)
(org-export-odt-convert-process)
(org-export-odt-convert-capabilities): New customizable
variables.  Migrated from org-lparse.el.
(org-export-odt-convert): New.  Replaces `org-lparse-convert'.
(org-odt-get): Handle options - `CONVERT-METHOD' and
`CONVERT-CAPABILITIES'.

* contrib/lisp/org-lparse.el (org-lparse-and-open)
(org-lparse-to-buffer)
(org-replace-region-by, org-lparse-region, org-lparse): Made
these functions non-interactive.
(org-lparse-convert): Removed.  Splitted it in to
`org-lparse-convert-read-params' and `org-lparse-do-convert'.
(org-lparse-convert-read-params, org-lparse-do-convert): New
helper routines.
(org-lparse-convert-processes, org-lparse-convert-process)
(org-lparse-convert-capabilities): Removed.  Migrated to
org-odt.el.
(org-lparse-get-other-backends, org-lparse-get-converter)
(org-lparse-all-backends): Removed these helper routines.
(org-lparse-do-reachable-formats)
(org-lparse-reachable-formats, org-lparse-reachable-p): New
helper routines.
(org-do-lparse): Misc changes.

org-lparse.el is likely to be replaced by Nicolas Goazious's
backend.  So, with future-proofing in view, hide org-lparse.el
from direct user contact.  This amounts to retiring all
interactive functions and customizable variables that have
org-lparse as prefix and migrating their existing functinality
to the odt namespace.  This set of changes does precisely
that.
2011-10-25 00:28:49 +05:30
Robert P. Goldman 821b854a0e Fix header prefixes for trac wiki.
trac wiki has hard limit on number of headers.  Need space before
macro characters in trac wiki.

Add a couple of TODO comments.
2011-10-24 18:40:28 +02:00
Robert P. Goldman 7c1c2bfe10 Fixed section-header-prefix for trac wiki. 2011-10-24 18:40:26 +02:00
Robert P. Goldman e377588de1 Kill the HTML exporter.
This is done better in core org-mode.
2011-10-24 18:40:24 +02:00
Jambunathan K b83e532174 Define customizable group org-export-odt
* contrib/lisp/org-odt.el (org-export-odt): Define the missing
customizable group and hook it up with `org-export'
customizable group.
(org-export-odt-preferred-output-format): Fix the `:group'
property.
2011-10-23 15:26:45 +05:30
Jambunathan K 5082f2bbd4 org-odt.el: Rename some variables that affect inline images
* contrib/lisp/org-odt.el (org-export-odt-inline-images):
Renamed from `org-odt-export-inline-images'.  Also removed
customizability.
(org-export-odt-inline-image-extensions): Renamed from
`org-odt-export-inline-image-extensions'.  Also fixed the
`:group' property.
(org-odt-format-org-link): Propagate above changes.
2011-10-23 15:26:37 +05:30
Jambunathan K 2c74df762b Make org-export-odt-embed-images internal
* contrib/lisp/org-odt.el (org-export-odt-embed-images):
Removed customizability of this variable.
2011-10-23 15:26:29 +05:30
Jambunathan K 08ac9121f5 Rename org-export-odt-use-htmlfontify to org-export-odt-fontify-srcblocks
* contrib/lisp/org-odt.el (org-export-odt-use-htmlfontify):
Replaced with `org-export-odt-fontify-srcblocks'.
(org-export-odt-fontify-srcblocks): Renamed from
`org-export-odt-use-htmlfontify'.
(org-odt-format-source-code-or-example-plain)
(org-export-odt-create-custom-styles-for-srcblocks)
(org-odt-format-source-code-or-example-colored)
(org-odt-format-source-code-or-example): Rename above
variable.
2011-10-23 15:26:21 +05:30
Jambunathan K 49f18ef5be Remove org-export-odt-use-bookmarks-for-internal-link
* contrib/lisp/org-odt.el
(org-export-odt-use-bookmarks-for-internal-links): Removed
unused variable.
2011-10-23 15:26:14 +05:30
Robert P. Goldman 3133b92fec Added trac-wiki and tikiwiki export settings. 2011-10-22 11:39:32 +02:00
Robert P. Goldman 22ad7e845a bind org-export-current-backend in generic exporter.
This is needed for org-export-preprocess-string to function correctly.
2011-10-22 11:38:48 +02:00
Tassilo Horn 4bbdfd229d Replace org-mode-p with usual (eq major-mode 'org-mode) check
Additionally, replace one

  (or (org-mode-p) (derived-mode-p 'org-mode))

with

  (derived-mode-p 'org-mode)

cause that is reflexive anyway (returns true, if the current mode is
org-mode).

Delete one check testing for org-mode or org derived mode
2011-10-22 11:29:24 +02:00
Jambunathan K a17ceed1cc Update default value of org-export-odt-table-styles
* contrib/lisp/org-odt.el (org-export-odt-table-styles): Add
the required table style "OrgEquation".

Continues the following commit:
,----
| commit 861ecb85ba
| Author: Jambunathan K <kjambunathan@gmail.com>
| Date:   Sun Sep 18 00:09:06 2011 +0530
|
| contrib/lisp/org-odt.el: Typeset display equations using tables
`----
2011-10-20 14:27:42 +05:30
Jambunathan K 7d595bbea0 OrgOdtContentTemplate.xml: Added custom table styles
* contrib/odt/styles/OrgOdtContentTemplate.xml: Added styles
for working with applying table templates.

The exporter with it's factory settings doesn't depend on the
availability of these styles for formatting - i.e., these
styles should ideally be created by the user himself depending
on his tastes.  However considering the complexity & verbosity
of these styles these have been included to:
- illustrate how the table templating facilitites can be
  exploited by the user
- enable unit-testing of table template changes

Complements the following commit:
,----
| commit e73bca63cf
| Author: Jambunathan K <kjambunathan@gmail.com>
| Date:   Tue Sep 13 19:37:13 2011 +0530
|
| org-odt.el: Support for styling of tables using table templates
`----
2011-10-20 13:59:17 +05:30
Eric Schulte 0da82db252 org-mime: use dvipng for inline images when export to html mail
* contrib/lisp/org-mime.el (org-mime-htmlize): Use dvipng for inline
  images when export to html mail.
2011-10-19 12:07:48 -06:00