Commit Graph

2074 Commits

Author SHA1 Message Date
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 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
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
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
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
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
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
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 6d099eedc8 org-element: Allow footnote references in table cells
* lisp/org-element.el (org-element-object-restrictions): Add footnote
  references objects in table cells.
* contrib/lisp/org-e-latex.el (org-e-latex-footnote-reference,
  org-e-latex-table): Add support for footnote reference in table
  cells.
2012-11-12 21:14:43 +01:00
Nicolas Goaziou aaf179fe7f org-e-publish: Fix cache invalid read syntax error
* contrib/lisp/org-e-publish.el (org-e-publish-collect-index): Do not
  store text properties from strings in the cache.  Instead focus on
  necessary data only.
(org-e-publish-index-generate-theindex): Apply changes to previous
function.
2012-11-12 00:04:07 +01:00
Thomas Dye 2eaed05e70 org-e-texinfo: Correct typo in error message
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-collect-errors):
Correct typo in error message.
2012-11-11 10:09:20 +01:00
Nicolas Goaziou 4a7d1f7b9e org-e-texinfo: Follow noexport tag specifications in menu
* contrib/lisp/org-e-texinfo.el (org-e-texinfo--sanitize-headline-contents,
  org-e-texinfo--generate-menu-list): Provide communication channel as
  as optional argument so `org-element-map' can properly skip ignored
  elements.
(org-e-texinfo--find-copying, org-e-texinfo-headline,
org-e-texinfo-make-menu, org-e-texinfo-table-column-widths): Tiny
refactoring.
2012-11-11 10:08:49 +01:00
Nicolas Goaziou b0a0511ff4 org-e-beamer: Output "\date{}" when :with-date is nil
* contrib/lisp/org-e-beamer.el (org-e-beamer-template): Output "\date{}"
  when :with-date is nil.
* contrib/lisp/org-e-latex.el (org-e-latex-template): Make sure output
  contains "\date{}" when date is empty.
2012-11-09 20:45:57 +01:00
Alan Schmitt 292f70ee7f org-export: Output "\date{}" in LaTeX export when :with-date is nil
* contrib/lisp/org-e-latex.el (org-e-latex-template):
  output "\date{}" instead of nothing when :with-date is nil

TINYCHANGE
2012-11-09 20:25:13 +01:00
Nicolas Goaziou c6d709d0ed org-export: Allow to toggle date insertion
* contrib/lisp/org-export.el (org-export-with-date): New variable.
(org-export-options-alist): Use new variable.
* contrib/lisp/org-e-ascii.el (org-e-ascii-template--document-title):
  Check `:with-date' property in communication channel.
* contrib/lisp/org-e-beamer.el (org-e-beamer-template): Check
  `:with-date' property in communication channel.
* contrib/lisp/org-e-groff.el (org-e-groff--mt-head): Check
  `:with-date' property in communication channel.
(org-e-groff-date-format): Remove variable.
* contrib/lisp/org-e-html.el (org-e-html--build-meta-info,
  org-e-html--build-preamble, org-e-html--build-postamble): Check
  `:with-date' property in communication channel.
(org-e-html-format-date): Remove variable.
* contrib/lisp/org-e-latex.el (org-e-latex-template): Check
  `:with-date' property in communication channel.
contrib/lisp/org-e-man.el: Do not redefine DATE keyword.
2012-11-09 11:04:07 +01:00
Jambunathan K 0125685553 org-e-html.el: Handle clickable images correctly
Fix bug http://permalink.gmane.org/gmane.emacs.orgmode/62197.
2012-11-09 02:03:51 +01:00
Nicolas Goaziou 359891f811 org-export: Consider colons as a safe character for targets
* contrib/lisp/org-export.el (org-export-solidify-link-text): Consider
  colons as a safe character for targets.
2012-11-08 00:36:41 +01:00
Nicolas Goaziou 1896fc352f org-e-ascii: Fix docstring
* contrib/lisp/org-e-ascii.el (org-e-ascii-format-drawer-function):
  Fix docstring.
2012-11-05 15:44:46 +01:00
Nicolas Goaziou 11c5faa7dd org-e-icalendar: Fix events duration when ending time is specified
* contrib/lisp/org-e-icalendar.el (org-e-icalendar-convert-timestamp):
  Fix events duration when ending time is specified.
2012-11-05 15:25:14 +01:00
Nicolas Goaziou 7d87ed1e4a org-e-icalendar: Remove over-zealous tasks filter
* contrib/lisp/org-e-icalendar.el (org-e-icalendar-include-todo): New
  variable.
(org-e-icalendar-with-tasks): Remove variable.
(org-e-icalendar-entry): Handle new variable.
2012-11-05 14:03:57 +01:00
Jambunathan K 7cdfa64677 org-e-odt.el: Fix broken export
Followup to commit 9751dc45.  See also,
http://comments.gmane.org/gmane.emacs.orgmode/61784
2012-11-03 19:28:02 +01:00
Nicolas Goaziou d8a3b84c93 org-export: New function to locally use another back-end
* contrib/lisp/org-export.el (org-export-with-backend): New function.
* contrib/lisp/org-e-beamer.el (org-e-beamer-link): Use new function.
2012-11-03 17:43:04 +01:00
Nicolas Goaziou 203d5123bc org-export: Fix `org-export-get-category'
* contrib/lisp/org-export.el (org-export-get-category):
  `org-entry-properties' is over-zealous when it comes to "CATEGORY"
  property.  Ignore its "???" return value, which only means it wasn't
  able to find an appropriate category.
2012-11-03 11:24:28 +01:00
Nicolas Goaziou 686cc243ee Add e-icalendar back-end
* contrib/lisp/org-e-icalendar.el: New file.
2012-11-03 00:39:46 +01:00
Nicolas Goaziou 3d1ae7b7f2 org-export: Do not push empty strings to kill ring
* contrib/lisp/org-export.el (org-export-as): Do not push empty
  strings to kill ring.
2012-11-03 00:25:13 +01:00
Nicolas Goaziou 5d4243bccc org-export: Run a hook just before expanding include keywords and macros
* contrib/lisp/org-export.el (org-export-before-processing-hook): New
  variable.
(org-export-as): Run a hook just before expanding include keywords and
macros, and evaluating Babel blocks.
* testing/lisp/test-org-export.el: Add test.
2012-11-02 14:06:50 +01:00
Nicolas Goaziou 22ac03bee5 org-export: Add a function to retrieve category of an element or object
* contrib/lisp/org-export.el (org-export-get-category): New function.
* testing/lisp/test-org-export.el: Add tests.
2012-11-02 13:44:46 +01:00
Nicolas Goaziou 869e0fa73d org-e-latex: No \author{} command with author:nil option
* contrib/lisp/org-e-latex.el (org-e-latex-template): No \author{}
  command with author:nil option.
2012-11-01 08:09:29 +01:00
Nicolas Goaziou 32c3456020 org-export: Fix previous/next element finding in secondary strings
* contrib/lisp/org-export.el (org-export-get-previous-element,
  org-export-get-next-element): Correctly retrieve previous and next
  object, if any, in secondary strings.
* testing/lisp/test-org-export.el: Add tests.
2012-10-31 13:21:16 +01:00
Nicolas Goaziou 14e0cd553f org-export: require ob-exp 2012-10-30 22:21:33 +01:00
Nicolas Goaziou c60ef1d9d9 Export back-ends: Fix planning and clock export
* contrib/lisp/org-e-ascii.el (org-e-ascii-clock,
  org-e-ascii-planning): Fix export due to recent timestamps changes.
* contrib/lisp/org-e-groff.el (org-e-groff-clock,
  org-e-groff-planning): Fix export due to recent timestamps changes.
* contrib/lisp/org-e-html.el (org-e-html-clock, org-e-html-planning):
  Fix export due to recent timestamps changes.
* contrib/lisp/org-e-latex.el (org-e-latex-clock,
  org-e-latex-planning): Fix export due to recent timestamps changes.
* contrib/lisp/org-e-odt.el (org-e-odt-clock, org-e-odt-planning): Fix
  export due to recent timestamps changes.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-clock,
  org-e-texinfo-planning): Fix export due to recent timestamps
  changes.
2012-10-30 21:59:50 +01:00
Nicolas Goaziou caee8076f8 org-export: Fix docstring
* contrib/lisp/org-export.el (org-export-with-tasks): Fix docstring.
2012-10-30 16:28:33 +01:00
Nicolas Goaziou 1a7610ed98 org-export: Add FILETAGS when retreiving tags with inheritance
* contrib/lisp/org-export.el (org-export-special-keywords): New
  "FILETAGS" keyword.
(org-export--get-inbuffer-options): Handle "FILETAGS" keywords.
(org-export-get-tags): Add FILETAGS when retreiving tags with
inheritance.
* testing/lisp/test-org-export.el: Add test.
2012-10-30 16:03:59 +01:00
Nicolas Goaziou dda56367b8 org-export: Fix :input-file property
* contrib/lisp/org-export.el (org-export-get-environment): Add misc
  properties.
(org-export-as): Extract buffer attributes before entering its copy.
2012-10-30 15:07:44 +01:00
Nicolas Goaziou ad811f5437 org-export: Fix inclusion of files with no final newline
* contrib/lisp/org-export.el (org-export--prepare-file-contents): File
  contents should end with a newline character.
2012-10-30 13:53:28 +01:00
Nicolas Goaziou 1f3a2c42c6 org-element, org-export: Fix documentation typos
* contrib/lisp/org-export.el (org-export--get-subtree-options): Fix
  code comment.
* lisp/org-element.el (org-element-map): Fix docstring.
2012-10-29 21:57:46 +01:00
Nicolas Goaziou 8fb5987e56 org-export: Fix smart quotes with isolated quotes
* contrib/lisp/org-export.el (org-export-activate-smart-quotes): Fix
  smart quotes in some corner-cases.  Refactor code.
* testing/lisp/test-org-export.el: Add test.
2012-10-29 20:36:03 +01:00
Nicolas Goaziou a2120a9d73 org-export: Expand correctly {{{title}}} and such
* contrib/lisp/org-export.el (org-export-as): Expand correctly
  {{{title}}} and such when they already contain a regular macro.
  This is done by expanding macros in two steps: at first regular
  macros,  then document specific macros.
(org-export-expand-macro): Remove function.
* testing/lisp/test-org-export.el: Add test.
2012-10-29 14:01:20 +01:00
Nicolas Goaziou a8c026cb26 org-export: Explicit error when using invalid syntax for INCLUDE keywords
* contrib/lisp/org-export.el (org-export-expand-include-keyword):
  Error out when file isn't specified within double quotes.
* testing/lisp/test-org-export.el: Add test.
2012-10-29 11:31:19 +01:00
Nicolas Goaziou 90fcb4b841 org-export: Add filter set for diary sexp elements
* contrib/lisp/org-export.el (org-export-filters-alist): Add filter
  set for diary sexp elements.
(org-export-filter-comment-block-functions): Fix docstring.
(org-export-filter-diary-sexp-functions): New variable.
2012-10-28 23:00:04 +01:00
Nicolas Goaziou f6e936c2b9 Export back-ends: Update timestamp export
* contrib/lisp/org-e-ascii.el (org-e-ascii-timestamp): Update
  timestamp export.
* contrib/lisp/org-e-groff.el (org-e-groff-timestamp): Update
  timestamp export.
* contrib/lisp/org-e-html.el (org-e-html-timestamp): Update timestamp
  export.
* contrib/lisp/org-e-latex.el (org-e-latex-timestamp): Update
  timestamp export.
* contrib/lisp/org-e-odt.el (org-e-odt-timestamp): Update timestamp
  export.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-timestamp): Update
  timestamp export.
2012-10-28 16:36:45 +01:00
Nicolas Goaziou ccc98ebc2d org-export: Fix expansion of babel calls in included files
* contrib/lisp/org-export.el (org-export-as):
  `org-current-export-file' should refer to current, temporary, buffer
  containing included contents, not to original buffer with include
  keywords.
(org-export-with-current-buffer-copy): Buffer copy must contain the
whole buffer, possibly narrowed to a proper part, not only the
narrowed part.
* testing/lisp/test-org-export.el: Tweak tests.
2012-10-28 16:21:30 +01:00
Nicolas Goaziou f04a5bcea1 Export back-ends: Install smart quotes module
* contrib/lisp/org-e-ascii.el (org-e-ascii-plain-text): Install smart
  quotes module.
* contrib/lisp/org-e-html.el (org-e-html-plain-text): Install smart
  quotes module.  Fix :preseve-breaks option.
(org-e-html--quotation-marks): Remove function.
(org-e-html-quotes): Remove variable.
* contrib/lisp/org-e-latex.el (org-e-latex-plain-text): Install smart
  quotes module.
(org-e-latex--quotation-marks): Remove function.
(org-e-latex-quotes): Remove variable.
* contrib/lisp/org-e-odt.el (org-e-odt-plain-text): Install smart
  quotes module.
(org-e-odt--quotation-marks): Remove function.
(org-e-odt-quotes): Remove variable.
* contrib/lisp/org-md.el (org-md-plain-text): Install smart quotes
  module.  Fix characters escaping.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-center-block,
  org-e-texinfo-special-block): new functions.
(org-e-texinfo-quotes): Remove variable.
(org-e-texinfo--quotations-marks): Remove function.
(org-e-texinfo-plain-text): Install smart quotes module.
* contrib/lisp/org-e-groff.el (org-e-groff-plain-text): Install smart
quotes module.  Fix line break preservation.
(org-e-groff--quotation-marks): Remove function.
(org-e-groff-quotes): Remove variable.
(org-e-groff-entity): Fix property name.
* contrib/lisp/org-e-man.el (org-e-man-entity): Fix property name.
(org-e-man-plain-text): Install smart quotes module.  Fix line break
preservation.
(org-e-man-quotes): Remove variable.
(org-e-man--quotation-marks): Remove function.
2012-10-27 11:42:31 +02:00
Nicolas Goaziou b2047a2565 org-export: Implement a generic smart quote module
* contrib/lisp/org-export.el (org-export-options-alist): Add an option
  item to toggle smart quotes during export.
(org-export-with-smart-quotes, org-export-smart-quotes-alist,
org-export-smart-quotes-regexps): New variables.
(org-export-activate-smart-quotes): New function.
(org-export-data): Remove residual text properties.
* testing/lisp/test-org-export.el: Add tests.
2012-10-27 11:42:31 +02:00
Nicolas Goaziou 00eaa4dc97 org-export: Fix error when exporting buffers not visiting a file
* contrib/lisp/org-export.el (org-export-output-file-name): Do not
  return an error when exported buffer isn't visiting a file.
2012-10-27 00:02:52 +02:00
Bastien Guerry 8866f86624 Merge branch 'maint' 2012-10-26 15:12:02 +02:00
Bastien Guerry 3cd0c14d34 contrib/lisp/org-contacts.el: Require 'org-agenda.
Thanks to Christopher Schmidt for pointing this.
2012-10-26 14:49:09 +02:00
Nicolas Goaziou c712d65397 org-e-texinfo: Update compile function
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-compile): Mirror recent
changes about base filename and default-directory made to
`org-e-latex-compile'.
2012-10-25 16:07:13 +02:00
Nicolas Goaziou ec40ba021a org-e-man, org-e-groff: Update compile functions
* contrib/lisp/org-e-groff.el (org-e-groff-compile): Mirror recent
  changes about base filename and default-directory made to
  `org-e-latex-compile'.
* contrib/lisp/org-e-man.el (org-e-man-compile): Mirror recent changes
  about base filename and default-directory made to
  `org-e-latex-compile'.
2012-10-25 16:06:18 +02:00
Nicolas Goaziou 4bb5a06b15 org-e-latex: "%b" really means base filename
* contrib/lisp/org-e-latex.el (org-e-latex-pdf-process): Update
  docstring.
(org-e-latex-compile): "%b" is replaced with base filename, that is
filename without directory and extension.
2012-10-25 15:13:40 +02:00
Nicolas Goaziou 6e73c22d15 org-export: Fix commit 468d860528
* contrib/lisp/org-export.el (org-export-dispatch-ui): Ensure fitting
  happens once contents have been inserted in the displayed buffer.
2012-10-22 23:56:26 +02:00
Nicolas Goaziou 9751dc4561 org-export: Use relative path for target filenames
* contrib/lisp/org-export.el (org-export-output-file-name): Use
  relative path for target filenames.
2012-10-22 20:58:27 +02:00
Nicolas Goaziou 468d860528 org-export: Make sure that window displaying UI is tall enough
* contrib/lisp/org-export.el (org-export-dispatch-ui): Make sure that
  window displaying UI is tall enough. This fixes a bug where only
  a part of the menu was displayed.
2012-10-21 14:54:23 +02:00
Nicolas Goaziou 9497098dd4 org-export: Don't modify inlinetasks stars when including a file
* contrib/lisp/org-export.el (org-export--prepare-file-contents):
  Don't modify inlinetasks stars when including a file.
2012-10-16 22:00:39 +02:00
Nicolas Goaziou c1c0c70c89 org-export: Add tag inheritance to `org-export-get-tags'
* contrib/lisp/org-export.el (org-export-get-tags): Add optional tag
  inheritance.
* testing/lisp/test-org-export.el: Add test.
2012-10-14 13:19:12 +02:00
Nicolas Goaziou 9b11e63e7a org-e-latex: Fix publishing problems when compiling a TeX file
* contrib/lisp/org-e-latex.el (org-e-latex-compile): Fix compilation
  when default-directory from current buffer doesn't match directory
  from file being compiled. Small refactoring, too.

Thanks to Robert Klein for reporting the problem and suggesting a fix.
2012-10-11 23:46:07 +02:00
Nicolas Goaziou 0a99cf7249 org-export: Tweak dispatch UI
* contrib/lisp/org-export.el (org-export-dispatch-use-expert-ui):
  Complete docstring.
(org-export-dispatch): Fix docstring. Clean dispatch buffer, if any,
each time the function is called.
(org-export-dispatch-ui): Make sure window containing dispatch buffer
is active when user is prompted for a key.  Also remove cursor from
view.
(org-export-dispatch-action): Ring a bell when a wrong key is pressed.
In regular UI, also inform the user by a message.
2012-10-11 21:32:21 +02:00
Nicolas Goaziou b6822edce3 org-export: Update radio targets after expanding include keywords
* contrib/lisp/org-export.el (org-export-as): Update radio targets
  after expanding include keywords.
2012-10-10 13:55:51 +02:00
Nicolas Goaziou 89d6a26f8d org-export: Expand include keywords before macros
* contrib/lisp/org-export.el (org-export-as): Expand include keywords
  before macros.  This allows to specify macro templates in the
  included file.
* testing/examples/macro-templates.org: New file for testing purposes.
* testing/lisp/test-org-export.el: Add test.
2012-10-10 13:52:54 +02:00
Nicolas Goaziou 0ccf650b4b org-e-publish: Remove default value for publishing function
* contrib/lisp/org-e-publish.el (org-e-publish-file): Remove default
  value for publishing function.
2012-10-08 14:28:07 +02:00
Nicolas Goaziou 9109dc13ea org-e-publish: Move publishing functions into back-end libraries
* contrib/lisp/org-e-ascii.el (org-e-ascii-publish-to-ascii,
  org-e-ascii-publish-to-latin1, org-e-ascii-publish-to-utf8): New
  functions.
* contrib/lisp/org-e-html.el (org-e-html-publish-to-html): New
  function.
* contrib/lisp/org-e-latex.el (org-e-latex-publish-to-latex,
  org-e-latex-publish-to-pdf): New functions.
* contrib/lisp/org-e-publish.el (org-e-publish-org-to-latex,
  org-e-publish-org-to-pdf, org-e-publish-org-to-ascii,
  org-e-publish-org-to-latin1, org-e-publish-org-to-utf8,
  org-e-publish-org-to-html): Remove functions.

Each back-end can define its own publishing functions.  This patch
avoids to clutter org-e-publish.el.
2012-10-08 14:27:08 +02:00
Nicolas Goaziou 19a28c5528 org-e-publish: Fix publishing for files not directly in :base-directory
* contrib/lisp/org-e-publish.el (org-e-publish-org-to-pdf): Don't
  expect every file from a project to sit in :base-directory.
(org-e-publish-org-to): Make publishing directory optional.
2012-10-08 13:03:14 +02:00
Nicolas Goaziou faa9eaa273 org-e-odt: Do not use function from org-exp.el
* contrib/lisp/org-e-odt.el (org-e-odt-link): Do not use function from
  org-exp.el.
2012-10-08 08:19:59 +02:00
Achim Gratz 424a1c5d2f correct reference to non-existing source file
* contrib/lisp/org-export.el: Correct reference to non-existing source
  file, org-exp-blocks has been removed and the imported function is
  now in ob-exp.
2012-10-07 19:16:20 +02:00
Achim Gratz 12e59b66d1 Merge branch 'maint' 2012-10-07 18:13:06 +02:00
Achim Gratz 4b9db1cce0 declare function org-solidify-link-text
* contrib/lisp/org-e-odt.el: Declare function org-solidify-link-text
  from org-exp.
2012-10-07 18:11:36 +02:00
Achim Gratz b47a7d5125 refer to libraries only by name
* contrib/lisp/org-e-odt.el: Replace arc-mode.el -> arc-mode.
* lisp/org-odt.el: Replace arc-mode.el -> arc-mode.
* lisp/org.el: Replace org-macs.el -> org-macs.
2012-10-07 18:11:25 +02:00
Nicolas Goaziou 956858a395 org-export: Fix menu leak when reloading Org
* contrib/lisp/org-export.el (org-export-define-backend,
  org-export-define-derived-backend): Make sure a given entry won't be
  added to menu more than once.
2012-10-06 22:04:27 +02:00
Nicolas Goaziou 36306bae4e org-e-publish: Fix type mismatch error
* contrib/lisp/org-e-publish.el (org-e-publish-find-title): Store
  title as a string, not as a secondary string.
2012-10-06 19:44:04 +02:00
Nicolas Goaziou f461a10532 org-e-publish: Fix publishing to PDF
* contrib/lisp/org-e-publish.el (org-e-publish-org-to-pdf): First
  publish in base directory, then move results to publishing
  directory.  It allows to correctly publish a document with images
  generated by some Babel code.
2012-10-06 19:43:32 +02:00
Nicolas Goaziou 58b42debb1 org-export: Include title, author, date and email macros
* contrib/lisp/org-export.el (org-export-expand-macro): New function.
(org-export-as): Use new function.
* lisp/org.el (org-macro-expand, org-macro-replace-all): Change
  signature.  The function now accepts an alist of templates so it
  doesn't have to rely only on `org-macro-templates'.
(org-macro-initialize-templates): {{{date}}} is not anymore an alias
for {{{time}}}.  During export, it will provide the value stored in
DATE keyword instead.
* testing/lisp/test-org-export.el: Add tests.
* testing/lisp/test-org.el: Update tests.
2012-10-06 10:29:37 +02:00
Nicolas Goaziou 0af2f6068f org-export: Fix comma escape in included files
* contrib/lisp/org-export.el (org-export-expand-include-keyword): Use
  new functions to comma escape contents of included files when in an
  example or a src block.
2012-10-06 09:19:41 +02:00
Nicolas Goaziou e5e49ea327 org-e-groff, org-e-man, org-e-texinfo: Silence byte-compiler 2012-10-04 14:48:06 +02:00
Nicolas Goaziou e4799ef25e org-export: Remove unused function declarations 2012-10-04 14:42:51 +02:00
Bastien Guerry 2e94271bd1 Merge branch 'maint' 2012-10-03 12:15:35 +02:00
Bastien Guerry 21478e1733 Revert "org-odt.el (and org-e-odt.el): Simplify the way style/schema files are found"
This reverts commit d042e3add1.
2012-10-03 12:13:47 +02:00
Bastien Guerry 1a029166a7 Revert "Fix compiler warnings introduced in commit d042e3a."
This reverts commit 79e907fd8c.
2012-10-03 12:13:26 +02:00
Bastien Guerry eba20536e9 Revert "org-e-odt.el: Bugfix: default to the correct directory for styles."
This reverts commit 27c6737813.
2012-10-03 12:13:17 +02:00
Bastien Guerry 1700ea7722 Merge branch 'maint' 2012-10-03 10:30:54 +02:00
Bastien Guerry 27c6737813 org-e-odt.el: Bugfix: default to the correct directory for styles.
* org-e-odt.el (org-e-odt-styles-dir): Try more directories.
Don't throw an error, just send a message.
(org-e-odt): Fix a bug about deactivating an advice that was
activated by org-odt.el, not org-e-odt.el.

Thanks to Nick Dokos for reporting this.
2012-10-03 10:28:43 +02:00
Nicolas Goaziou 09d6bcda98 org-md: Fix function call from dispatcher 2012-10-02 22:44:04 +02:00
Bastien Guerry 36b95d4491 Merge branch 'maint' 2012-10-02 17:58:00 +02:00
Bastien Guerry 79e907fd8c Fix compiler warnings introduced in commit d042e3a. 2012-10-02 17:57:51 +02:00
Bastien Guerry 410c5cb9e4 Merge branch 'maint' 2012-10-02 14:48:13 +02:00
Bastien Guerry d042e3add1 org-odt.el (and org-e-odt.el): Simplify the way style/schema files are found
* org-odt.el (org-odt-lib-dir, org-odt-data-dir)
(org-odt-schema-dir-list, org-odt-styles-dir-list): Delete.
(org-export-odt-schema-dir, org-odt-styles-dir): Infer the
correct directories without requiring other variables.

* org-fixup.el (org-make-org-version, org-make-autoloads):
Don't define `org-odt-data-dir' in org-version.el.

* contrib/lisp/org-e-odt.el (org-e-odt-lib-dir, org-e-odt-data-dir)
(org-e-odt-schema-dir-list, org-e-odt-styles-dir-list): Delete.
(org-e-odt-schema-dir, org-e-odt-styles-dir): Infer the
correct directories without requiring other variables.
2012-10-02 14:47:04 +02:00
Bastien Guerry 4f0b3bfe0c Merge branch 'maint' 2012-10-02 13:07:09 +02:00
Bastien Guerry 16e0730342 Fix references to org-install.el.
Use org-loaddefs.el when needed.
Update README_maintainer wrt this.
2012-10-02 12:19:39 +02:00
Nicolas Goaziou 2a95a47c5f Merge branch 'maint' 2012-10-01 21:37:48 +02:00
Nicolas Goaziou 3bd22fb045 org-element: Store value of example-blocks and src-blocks unescaped
* lisp/org-element.el (org-element-example-block-parser,
  org-element-src-block-parser): Store value of example-blocks and
  src-blocks unescaped.
(org-element-example-block-interpreter,
org-element-src-block-interpreter): Escape value again when storing
it.
* contrib/lisp/org-export.el (org-export-unravel-code): Don't clean
  commas from code since org-element already took care of it.
* testing/lisp/test-org-export.el: Update test.
* testing/lisp/test-org-element.el: Add tests.
2012-10-01 21:35:50 +02:00
Nicolas Goaziou 934208ece1 org-element: Allow links in captions
* lisp/org-element.el (org-element-object-restrictions): Allow links
  in caption. Also allow inline-src-blocks and inline-babel-calls.
* contrib/lisp/org-e-ascii.el (org-e-ascii--unique-links): Handle
  links in captions.
(org-e-ascii--describe-links): Small refactoring.
(org-e-ascii-template--document-title): Handle links in document
properties.
2012-09-30 23:57:45 +02:00
Nicolas Goaziou e74523905b org-element: Distinguish parsed affiliated keywords from document properties
* lisp/org-element.el (org-element-parsed-keywords): Remove document
  properties from the value.
(org-element-dual-keywords): Fix docstring.
(org-element-document-properties): New variable
* contrib/lisp/org-export.el (org-export--get-subtree-options,
  org-export--get-inbuffer-options, org-export--get-global-options):
  Use new variable instead of parsed keywords.
2012-09-30 23:57:45 +02:00
Nicolas Goaziou e189be5720 org-export: Small refactoring
* contrib/lisp/org-export.el (org-export--get-buffer-attributes):
  Small refactoring.
2012-09-30 14:03:37 +02:00
Nicolas Goaziou e5488204f3 org-e-publish: Mirror changes made to org-publish.el
* contrib/lisp/org-e-publish.el (org-e-publish-cache-ctime-of-src):
  Change signature.
(org-e-publish-update-timestamp,
org-e-publish-cache-file-needs-publishing): Apply signature change.

See commit f71db4e509.
2012-09-28 19:00:00 +02:00
Bastien Guerry fe7f964b49 Merge branch 'maint' 2012-09-28 17:47:53 +02:00
Bastien Guerry 222eae4033 Fix error messages: don't use a dot at the end 2012-09-28 17:47:48 +02:00
Bastien Guerry cbe4cfc99a Merge branch 'maint' 2012-09-28 17:08:46 +02:00
Bastien Guerry 79d3c289da org-e-html.el (org-e-html-final-function): Turn on `html-mode', not `nxml-mode'
* org-e-html.el (org-e-html-final-function): Turn on
`html-mode', not `nxml-mode'.
2012-09-28 17:08:37 +02:00
Nicolas Goaziou ee19704a71 org-e-ascii: Fix 1aae9d83bf
* contrib/lisp/org-e-ascii.el (org-e-ascii-filter-paragraph-spacing):
  Only apply variables to contiguous paragraphs.
2012-09-27 19:25:38 +02:00
Nicolas Goaziou 60127b7096 org-e-ascii: Fix docstrings
* contrib/lisp/org-e-ascii.el (org-e-ascii-filter-headline-blank-lines,
  org-e-ascii-filter-paragraph-spacing): Fix docstrings.
2012-09-27 19:13:05 +02:00
Nicolas Goaziou 1aae9d83bf org-e-ascii: Add variables to format paragraphs
* contrib/lisp/org-e-ascii.el (org-e-ascii-indented-line-width,
  org-e-ascii-paragraph-spacing): New variables.
(org-e-ascii-paragraph): Use a new variable.
(org-e-ascii-filter-paragraph-spacing): New function.
2012-09-27 14:53:32 +02:00
Nicolas Goaziou b40d8f7c73 org-e-html: Fix preamble and postamble
* contrib/lisp/org-e-html.el (org-e-html--build-preamble): Renamed
  from `org-e-html-preamble'.  Properly call user-provided preamble
  function when appropriate.  Refactor code.
(org-e-html--build-postamble): Renamed from `org-e-html-postamble.
  Properly call user-provided preamble function when appropriate.
  Refactor code.
(org-e-html-template): Small refactoring.
(org-e-html--translate): Use :html entries in `org-export-dictionary'
instead of :utf-8.
(org-e-html--build-meta-info): Renamed from `org-e-html-meta-info'.
Add docstring.
(org-e-html--build-style): Renamed from `org-e-html-style'. Add
docstring.
(org-e-html--build-mathjax-config): Renamed from
`org-e-html-mathjax-config'.  Add docstring.
2012-09-25 22:50:00 +02:00
Nicolas Goaziou 5b303c8df3 org-e-html: Fix some variables values, docstrings and customize types
* contrib/lisp/org-e-html.el (org-e-html-scripts): Fix default value.
(org-e-html-style-default): Small fix to indentation.
(org-e-html-content-div): Remove obsolete variable.
(org-e-html-toplevel-hlevel): Fix type.
(org-e-html-postamble-format, org-e-html-preamble-format): Fix
docstring and type.
2012-09-25 22:17:54 +02:00
Bastien Guerry 1e6263354e contrib/lisp/htmlize.el: Upgrade to version 1.43 2012-09-25 16:03:28 +02:00
Nicolas Goaziou 31431aefbc org-e-publish: Require appropriate back-ends when publishing
* contrib/lisp/org-e-publish.el (org-e-publish-org-to-latex,
  org-e-publish-org-to-pdf, org-e-publish-org-to-html,
  org-e-publish-org-to-ascii): Require appropriate back-ends.
2012-09-24 22:46:56 +02:00
Nicolas Goaziou 179a5224f6 org-export: Signal an error when back-end isn't registered
* contrib/lisp/org-export.el (org-export-barf-if-invalid-backend): New
  function.
(org-export-as): Signal an error when back-end isn't registered.
2012-09-24 22:35:55 +02:00
Nicolas Goaziou 9ebf47afbf org-export: Re-order filter variables 2012-09-24 08:30:46 +02:00
Nicolas Goaziou ddfaa6fe7a org-export: Add filters for new element type
* contrib/lisp/org-export.el (org-export-filter-node-property-functions):
  New variable.
(org-export-filters-alist): Use new variable.
2012-09-23 22:50:33 +02:00
Nicolas Goaziou 66fe322120 org-export: New function to return a node property, even inherited
* contrib/lisp/org-export.el (org-export-get-node-property): New
  function.
* testing/lisp/test-org-export.el: Add tests.
2012-09-23 19:37:21 +02:00
Bastien Guerry 1fea5530e3 Merge branch 'maint' 2012-09-22 18:43:07 +02:00
Bastien Guerry c76d722fc4 contrib/lisp/org-e-html.el: Honor the use of `org-time-stamp-custom-formats'
* org-e-html.el (org-e-html-timestamp): Honor the use of
`org-time-stamp-custom-formats'.
2012-09-22 18:42:51 +02:00
Nicolas Goaziou 08c5ea04ec org-e-groff: Remove some unused transcoding functions
* contrib/lisp/org-e-groff.el: Remove some unused transcoding
  functions.
2012-09-22 14:34:30 +02:00
Luis Anaya 74ef099f2c Merge branch 'master' of orgmode.org:org-mode
Conflicts:
	contrib/lisp/org-e-groff.el
2012-09-22 05:45:49 -04:00
Luis Anaya 2a87c94c9f Removed extraneous quote on the list passed to `org-export-define-backend'.
* org-e-groff.el (e-groff):
Removed quote at the beginning of the list of cons containing
the backend defition that is being passed to `org-export-define-backend'.
2012-09-22 05:38:42 -04:00
Nicolas Goaziou a5cf105b44 org-e-groff: Cleanup some useless defvars
* contrib/lisp/org-e-groff.el: Cleanup some useless defvars.
2012-09-22 11:27:30 +02:00
Nicolas Goaziou 6aaa9ff455 org-e-groff: Fix some functions names
* contrib/lisp/org-e-groff.el (org-e-groff-latex-environment): Renamed
  from `org-e-groff-groff-environment'.
(org-e-groff-latex-fragment): Renamed from
`org-e-groff-groff-fragment'.
2012-09-22 11:26:54 +02:00
Nicolas Goaziou 97f7c51e8f org-e-groff: Fix typo in back-end definition
* contrib/lisp/org-e-groff.el: Fix typo in back-end definition.
2012-09-22 11:26:04 +02:00
Bastien Guerry 8c36e4d00a Merge branch 'maint' 2012-09-22 10:33:27 +02:00
Bastien Guerry 1aa21dc70d contrib/lisp/org-wikinodes.el: Fixes
* org-wikinodes.el (org-wikinodes-follow-link): Specify
the directory when trying to find a target.
(org-wikinodes-which-file): Rewrite.
2012-09-22 09:20:14 +02:00
Bastien Guerry 5abc82b3ab Merge branch 'maint' 2012-09-21 11:02:15 +02:00
Bastien Guerry 1434394730 contrib/lisp/org-wikinodes.el: Fix typo
* org-wikinodes.el
(org-wikinodes-clear-directory-targets-cache): Rename from
mispelled name.
(org-wikinodes-follow-link)
(org-wikinodes-clear-cache-when-on-target): Use the correct
name.
2012-09-21 10:39:44 +02:00
Nicolas Goaziou baed7dc7db org-element: Optimize affiliated keywords parsing
* lisp/org-element.el (org-element-center-block-parser,
  org-element-drawer-parser, org-element-dynamic-block-parser,
  org-element-footnote-definition-parser,
  org-element-plain-list-parser, org-element-quote-block-parser,
  org-element-special-block-parser, org-element-babel-call-parser,
  org-element-comment-parser, org-element-comment-block-parser,
  org-element-example-block-parser, org-element-export-block-parser,
  org-element-fixed-width-parser, org-element-horizontal-rule-parser,
  org-element-keyword-parser, org-element-latex-environment-parser,
  org-element-paragraph-parser, org-element-property-drawer-parser,
  org-element-src-block-parser, org-element-table-parser,
  org-element-verse-block-parser): Change signature. Now use an
  additional argument: affiliated.
(org-element--current-element): Skip affiliated keywords and pass them
  as an argument to parsers.  It prevents to walk through these
  keywords twice: the first time to get to the first line of the
  element, and a second time to collect the affiliated keywords.
* contrib/lisp/org-export.el (org-export-get-caption): Update function
  since multiple affiliated keywords are now reversed.
* testing/lisp/test-org-element.el: Update tests.
2012-09-20 20:08:16 +02:00
Bastien Guerry 5940b7aa65 Merge branch 'maint' 2012-09-19 10:51:30 +02:00
Robert Klein 7dd9573450 org-e-publish.el (org-e-publish-org-to-html): Fix typo
* org-e-publish.el (org-e-publish-org-to-html): Fix typo.

TINYCHANGE
2012-09-19 08:07:36 +02:00
Bastien Guerry 7cf6bbeeac Merge branch 'maint' 2012-09-17 19:02:35 +02:00
Suvayu Ali a86fd71719 Fix org-e-beamer subtree export options template
Prepend "EXPORT_" to LaTeX_CLASS* properties in the beamer subtree
export options template.
2012-09-17 18:48:44 +02:00
Nicolas Goaziou a99402facf org-e-latex: Consistently change label names
* contrib/lisp/org-e-latex.el (org-e-latex--caption/label-string,
  org-e-latex--wrap-label, org-e-latex-latex-environment):
  Consistently call `org-export-solidify-link-text' so references can
  match labels.
2012-09-16 09:25:31 +02:00
Philipp Kroos c092c8e29d org-e-latex: Introduced org-e-latex-known-errors
* contrib/lisp/org-e-latex.el: new customizable org-e-latex-known-errors
  is an alist of possible errors, taken from org-e-latex--collect-errors

* contrib/lisp/org-e-latex.el (org-e-latex--collect-errors):
  More concise code.
  The previous explicit search for errors is replaced by an iteration
  over the alist org-e-latex-known-errors.
2012-09-15 15:18:49 +02:00
Nicolas Goaziou f0bcf780a3 org-export: Fix collision between old export menu and new one
* contrib/lisp/org-export.el (org-export-dispatch-ui): Do not use same
  buffer name as previous export dispatcher.  Also make sure the
  temporary buffer is deleted once the export is done.
2012-09-14 13:54:43 +02:00
Jambunathan K dd44a62c7e org-e-odt.el: Fix earlier commit
Handle the case when latex fragment/environment fails to yield an
image or formula file.
2012-09-14 02:42:17 +05:30
Jambunathan K 3501be303e org-e-odt.el: Pre-process LaTeX fragments
Handle enumeration more robustly.  Numbered OpenDocument formula no
longer uses a table for typesetting of formula and it's number.

Also some renaming and moving around.
2012-09-14 02:11:03 +05:30
Nicolas Goaziou cedf5190e5 org-export: Update code comments 2012-09-13 21:01:10 +02:00
Nicolas Goaziou 7efd61249b org-e-latex: Ignore empty captions in lstlisting environments
* contrib/lisp/org-e-latex.el (org-e-latex-src-block): Ignore empty
  captions in lstlisting environments.
2012-09-13 18:27:39 +02:00
Nicolas Goaziou a0e3e84edc org-e-html/org-e-odt: Changes to caption handling
* contrib/lisp/org-e-html.el (org-e-html--caption/label-string,
  org-e-html--wrap-label, org-e-html--find-verb-separator): Remove
  functions.
(org-e-html-center-block, org-e-html-drawer, org-e-html-dynamic-block,
org-e-html-fixed-width, org-e-html-inline-src-block,
org-e-html-inlinetask, org-e-html-latex-environment,
org-e-html-plain-list, org-e-html-quote-block,
org-e-html-special-block, org-e-html-verse-block): Apply functions
removal.
(org-e-html-example-block, org-e-html-src-block): Allow textarea. Use
new caption scheme.
(org-e-html-horizontal-rule): Cleanup.
(org-e-html-link--inline-image, org-e-html-table): Use new caption
scheme.
* contrib/lisp/org-e-odt.el (org-e-odt--wrap-label,
  org-e-odt--caption/label-string): Remove functions.
(org-e-odt-format-label): Use new caption scheme.
(org-e-odt-center-block, org-e-odt-drawer, org-e-odt-dynamic-block,
org-e-odt-example-block, org-e-odt-fixed-width,
org-e-odt-horizontal-rule, org-e-odt-inlinetask,
org-e-odt-latex-environment, org-e-odt-plain-list,
org-e-odt-quote-block, org-e-odt-special-block,
org-e-odt-verse-block): Apply functions removal.

In e-html export, textareas are now possible with the following
attribute:

  #+ATTR_HTML: :textarea t :width 80 :height 10

:width and :height keywords are optional.
2012-09-13 17:33:46 +02:00
Nicolas Goaziou 1e1a476824 org-e-groff/org-e-man: Changes to caption handling
* contrib/lisp/org-e-groff.el (org-e-groff--caption/label-string):
  Change signature.
(org-e-groff-link--inline-image, org-e-groff-src-block,
org-e-groff-table--org-table): Use `org-export-read-attribute'. Apply
signature change.
* contrib/lisp/org-e-man.el (org-e-man--caption/label-string): Change
  signature.
(org-e-man-src-block): Remove unused caption code.
(org-e-man-table--org-table): Use `org-export-read-attribute'. Apply
signature change.
2012-09-13 17:33:46 +02:00
Nicolas Goaziou 28f8ca60c7 org-e-ascii/org-e-latex/org-e-md: Use new caption tool
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-caption,
  org-e-ascii--list-listings, org-e-ascii--list-tables): Use new
  caption tool.
* contrib/lisp/org-e-latex.el (org-e-latex--caption/label-string): New
  signature.  Use new caption tool.
(org-e-latex-link--inline-image, org-e-latex-src-block,
org-e-latex-table--org-table): Apply signature change.
* contrib/lisp/org-md.el (org-md-link): Use new caption tool.
2012-09-13 17:33:46 +02:00
Nicolas Goaziou fe140488aa org-element: Allow multiple caption keywords
* lisp/org-element.el (org-element-multiple-keywords): Allow multiple
  caption keywords.
* contrib/lisp/org-export.el (org-export-get-caption): New function.
* testing/lisp/test-org-element.el: Add tests.
* testing/lisp/test-org-export.el: Add tests.
2012-09-13 17:33:46 +02:00
Nicolas Goaziou e0da410066 org-e-latex: Allow to customize table of contents command
* contrib/lisp/org-e-latex.el (org-e-latex-toc-command): New variable.
(org-e-latex-template): Use new variable.

Thanks to Thomas S. Dye for providing the patch.
2012-09-12 16:29:30 +02:00
Bastien Guerry aac2e8b93f Merge branch 'maint' 2012-09-12 15:50:25 +02:00
Andreas Leha 14296c0599 fix typo in support of sidewaystables in the new latex exporter
* contrib/lisp/org-e-latex.el (org-e-latex-table--org-table): Typo.
  sidewaystables -> sidewaystable.
2012-09-12 15:49:49 +02:00
Philipp Kroos daf7cd98ea * org-e-latex.el (org-e-latex-export-block): Fix typo.
* org-e-latex.el (org-e-latex-export-block): Fix typo.

TINYCHANGE
2012-09-12 12:41:31 +02:00
Jambunathan K b335ce2aa5 org-e-html.el: No section numbers for listified headlines
Lisftified headline is numbered or unnumbered according to the value
of num:N spec.
2012-09-11 04:52:41 +05:30
Bastien Guerry 6bcd44e914 Revert "org-e-html/org-e-odt: Autoload (org-export-define-backend ...)"
This reverts commit 830a0781a6.
2012-09-10 22:14:31 +02:00
Luis Anaya 033abff4c0 Changed `org-babel-tcl-command' from a defvar to a defcustom.
* ob-tcl.el (org-babel-tcl-command):
Changed `org-babel-tcl-command' from a defvar to a defcustom.
2012-09-10 14:54:05 -04:00
Nicolas Goaziou faa2be8d57 org-export: Don't overwrite menus or add redundant entries
* contrib/lisp/org-export.el (org-export-define-backend,
  org-export-define-derived-backend): Don't overwrite menus or add
  redundant entries.
2012-09-09 15:39:28 +02:00
Nicolas Goaziou fe02e60789 org-e-beamer: Small refactoring
* contrib/lisp/org-e-beamer.el (org-e-beamer-property-changed): Small
  refactoring.
2012-09-09 14:58:10 +02:00
Jambunathan K 830a0781a6 org-e-html/org-e-odt: Autoload (org-export-define-backend ...)
Auto-create menu entries in the dispatcher UI.
2012-09-09 17:20:57 +05:30
Nicolas Goaziou 6b8276ce76 Export back-ends: add entry in `org-export-dispatch' when loaded
* contrib/lisp/org-e-ascii.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-beamer.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-groff.el (e-groff): Use
  `org-export-define-backend'.  Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-html.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-latex.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-man.el: Use `org-export-define-backend'.  Add an
  entry for `org-export-dispatch'.
* contrib/lisp/org-e-odt.el: Add an entry for `org-export-dispatch'.
* contrib/lisp/org-e-texinfo.el: Use `org-export-define-backend'.  Add an
  entry for `org-export-dispatch'.
* contrib/lisp/org-md.el: Add an entry for `org-export-dispatch'.
2012-09-09 13:15:23 +02:00
Nicolas Goaziou 113ca8767a org-export: Define new interface for `org-export-dispatch'
* contrib/lisp/org-export.el (org-export-define-backend):
  Add :menu-entry keyword.
(org-export-define-derived-backend): Add :menu-entry
and :sub-menu-entry keywords.
(org-export-dispatch-menu-entries): New variable.
(org-export-dispatch): Define a new interface.
(org-export-dispatch-ui): Rewrite function.
(org-export-dispatch-action): New function.

Every back-end defined through `org-export-define-backend' or
`org-export-define-derived-backend' can specify a menu entry for
`org-export-dispatch'. Navigating the menu is now a two levels
process.
2012-09-09 13:13:57 +02:00
Luis Anaya 659be37758 Added long cell support for man exports.
* org-e-man.el (org-e-man-table--org-table): Added long cell support
to man tables.
2012-09-08 12:29:16 -04:00
Luis Anaya 4088609fa5 First release into babel/contrib.
* src/org-mode/contrib/babel/langs/ob-eukleides.el: First release
into babel/contrib.
2012-09-08 11:22:48 -04:00
Luis Anaya e51e27f66b Initial release ob-tcl.el
* ob-tcl.el: First release into contrib/babel.
2012-09-08 11:18:05 -04:00
Luis Anaya 7041360ef7 Initial release: ob-mathomatic.el.
* ob-mathomatic.el: Initial release into contrib/babel.
2012-09-08 11:16:30 -04:00
Luis Anaya 9fc33dab8a Removed extra new line in the table creation command.
* org-e-groff.el
(org-e-groff-table--org-table): Removed extra new line in the
table termination command.
2012-09-08 11:08:29 -04:00
Achim Gratz d5fddbc053 Merge branch 'maint' 2012-09-06 20:14:52 +02:00
Achim Gratz 2de5d35243 add a missing require for gnus-util
* lisp/org-gnus.el: Add a missing require for gnus-util.

* contrib/lisp/org-contacts.el: Add a missing require for gnus-util.
2012-09-06 19:54:28 +02:00
Jambunathan K c276eeebee org-export.el: Revert an erroneous commit, sigh 2012-09-05 03:33:16 +05:30
Jambunathan K 272c5fb74f org-e-freemind.el: Reverted accidental commit 2012-09-05 03:25:50 +05:30
Jambunathan K f7de184e43 org-e-odt.el: Typeset list-tables within a grid 2012-09-05 03:21:06 +05:30
Jambunathan K 602ef336a7 org-e-odt.el: Don't use `org-e-odt--translate-description-lists' 2012-09-05 01:08:30 +05:30
Nicolas Goaziou 9d0d1bdc01 org-e-beamer: Small refactoring
* contrib/lisp/org-e-beamer.el (org-e-beamer--get-label): New
  function.
(org-e-beamer--format-frame, org-e-beamer-headline): Use new function.
2012-09-04 15:04:31 +02:00
Nicolas Goaziou 8f96986c45 org-e-latex: Add xelatex as a possible processor
* contrib/lisp/org-e-latex.el (org-e-latex-pdf-process): Add xelatex
  as a possible processor.
2012-09-04 14:19:30 +02:00
Nicolas Goaziou 153ff40a2a org-e-odt: Internalize filter
* contrib/lisp/org-e-odt.el (org-e-odt--translate-description-lists):
  This is a developer filter, which should be handled by
  `org-export-define-backend'.  Also, such filters do not require
  a back-end check.

`org-export-*-functions' are user-oriented variables.
2012-09-04 11:15:51 +02:00
Nicolas Goaziou e49668ab5d org-e-beamer: Add an "againframe" environment
* contrib/lisp/org-e-beamer.el (org-e-beamer-environments-special):
  Make "againframe" an hard-coded environment.
(org-e-beamer-headline): Handle "againframe" environment.
(org-e-beamer-select-environment): Provide support for "againframe"
environments.
2012-09-04 11:10:54 +02:00
Jambunathan K 7435489f1d org-e-odt.el: Continue earlier commit 2012-09-04 14:28:05 +05:30
Jambunathan K d7e75f3035 org-e-odt.el: Support for list-tables.
A list marked with non-nil `:list-table' attribute will be deemed as a
list-table.  A typical list-table will look like this:

,----
| #+attr_odt :list-table t
| - Row 1
|   - 1.1
|   - 1.2
|   - 1.3
| - Row 2
|   - 2.1
|   - 2.2
|   - 2.3
`----

Also fix regression in indented table caused by recent `section'
changes.
2012-09-04 14:15:14 +05:30
Nicolas Goaziou 97c1b93e04 org-e-beamer: Allow to define frame labels
* contrib/lisp/org-e-beamer.el (org-e-beamer--format-frame):
  User-provided frame labels overwrite default label.
2012-09-04 08:25:46 +02:00
Luis Anaya d46887f206 Code to process export of PNG and JPG images.
* org-e-groff.el
(org-e-groff-inline-image-rules): Added PNG and JPG as valid
inline suffixes.
(org-e-groff-raster-to-ps): Variable that contains the command
to execute raster to eps conversion.
(org-e-groff--letter-head): Updated logic to handle empty
FROM/TO in letter classes.
(org-e-groff-link--inline-image): Added logic to process
raster images.
2012-09-03 17:24:58 -04:00
Jambunathan K 0ea0a60c59 org-e-odt.el: Continue previous commit 2012-09-03 20:04:34 +05:30
Jambunathan K 3ad0618169 org-e-odt.el: Don't meddle with `org-file-apps' 2012-09-03 19:19:28 +05:30
Jambunathan K 8ff4ea03b0 org-export.el (org-export-dispatch): Open ODT files with system app 2012-09-03 19:19:28 +05:30
Jambunathan K 845daf6648 org-e-odt-preferred-output-format: Make string values safe 2012-09-02 03:01:56 +05:30
Nicolas Goaziou 7ce732b294 org-export: Make BIND keywords case insensitive
* contrib/lisp/org-export.el (org-export--install-letbind-maybe): Make
  BIND keywords case insensitive.
* testing/lisp/test-org-export.el: Add test.
2012-09-01 14:21:09 +02:00
Nicolas Goaziou 57da184a5c org-export: Allow in-buffer keywords at any column
* contrib/lisp/org-export.el (org-export--get-inbuffer-options): Allow
  in-buffer keywords at any column.

`org-make-options-regexp' enforces keywords at column 0. This is an
unnecessary restriction, as we can imagine the following Org buffer:

* Export Setup              :noexport:

  #+AUTHOR: Me
  #+DATE: 29/03/2012

* Headline 1

  ...
2012-09-01 13:04:14 +02:00
Nicolas Goaziou 61ad50d758 org-export: Fix #+BIND: keywords evaluation
* contrib/lisp/org-export.el (org-export--install-letbind-maybe): If
  a variable is bound two times in the buffer, be sure to set its
  value to the last bound. Use correct function to confirm binding.
  Allow keyword to start on any column.
* testing/lisp/test-org-export.el: Add tests.
2012-09-01 12:59:57 +02:00
Nicolas Goaziou ea77b2ccb2 org-export: Use new API for macro expansion
* contrib/lisp/org-export.el (org-export-define-backend): Update
  docstring.
(org-export-special-keywords): Remove "MACRO".
(org-export--get-inbuffer-options, org-export--get-buffer-attributes):
Remove internal macro handling.
(org-export-as): Use external tool instead.
(org-export-expand-macro): Remove function.
* contrib/lisp/org-e-ascii.el (org-e-ascii-macro): Remove function.
* contrib/lisp/org-e-groff.el (org-e-groff-macro): Remove function.
* contrib/lisp/org-e-html.el (org-e-html-macro): Remove function.
* contrib/lisp/org-e-latex.el (org-e-latex-macro): Remove function.
* contrib/lisp/org-e-man.el (org-e-man-macro): Remove function.
* contrib/lisp/org-e-odt.el (org-e-odt-macro): Remove function.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-macro): Remove
  function.
* testing/lisp/test-org-export.el: Remove tests.

Since macros are now expanded before parsing (and produce Org syntax),
back-ends will never see them (unless NO-EXPAND argument from
`org-export-as' is non-nil, which isn't the case for any back-end so
far).
2012-09-01 10:56:00 +02:00
Nicolas Goaziou 43c0ae945e org-e-latex/org-e-beamer: Allow inserting class option when there was none
* contrib/lisp/org-e-beamer.el (org-e-beamer-template): Allow
  inserting class option when there was none.
* contrib/lisp/org-e-latex.el (org-e-latex-template): Allow inserting
  class option when there was none.

Thanks to Fabrice Popineau for suggesting this.
2012-08-30 15:54:33 +02:00
Jonathan Leech-Pepin 2b9cc23dd0 contrib/lisp/org-e-texinfo: Properly format table heading rows
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-table-row): Check if the row is part of the first row group.  If it is treat it as @headitem rather than a normal @item.
2012-08-29 15:14:03 -04:00
Bastien Guerry 3b792443c1 Merge branch 'maint' 2012-08-29 20:19:47 +02:00
Sean O'Halpin 71af82f55e Fix: org-e-html-special-block had not been converted from LaTeX version
* contrib/lisp/org-e-html.el (org-e-html-special-block): convert LaTeX
markup to HTML

This function had not been modified from its org-e-latex-special-block original
so with #+BEGIN_ORG for example you would get \begin{org}...\end{org}
in the output instead of <div class="org">...</div>.

TINYCHANGE
2012-08-29 20:19:35 +02:00
Bastien Guerry 0a78e90362 Merge branch 'maint' 2012-08-28 13:39:45 +02:00
Bastien Guerry a9b8778b0c Code clean-up: rename some agenda internals.
* org.el (org-agenda-prepare-buffers): Rename from
`org-prepare-agenda-buffers'.
(org-match-sparse-tree, org-map-entries): Use the new names.

* org-agenda.el (org-agenda-prepare-window): Rename from
`org-prepare-agenda-window'.
(org-agenda-prepare): Rename from `org-prepare-agenda'.
(org-agenda-run-series, org-agenda-prepare, org-timeline)
(org-agenda-list, org-search-view, org-todo-list)
(org-tags-view, org-agenda-list-stuck-projects, org-diary)
(org-agenda-to-appt): Use the new names.

* org-mobile.el (org-mobile-create-index-file): Ditto.

* org-icalendar.el (org-export-icalendar): Ditto.

* org-clock.el (org-dblock-write:clocktable)
(org-dblock-write:clocktable): Ditto.

* org2rem.el (org2rem): Ditto.
2012-08-28 13:11:12 +02:00
Nicolas Goaziou 4e56f31a24 org-e-ascii: No trailing whitespace in headlines/inlinetasks titles
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-title): Remove
  trailing whitespace in headlines/inlinetasks titles.
2012-08-27 15:35:59 +02:00
Nicolas Goaziou caf2432c52 org-export: Add an option to toggle export of stat cookies
* contrib/lisp/org-export.el (org-export-with-statistics-cookies): New
  variable.
(org-export-options-alist): Use new variable.
(org-export--skip-p): Handle new option.
* testing/lisp/test-org-export.el: Add test.
2012-08-27 15:27:02 +02:00
Nicolas Goaziou 9f2824852c org-export: Objects in secondary strings can also be ignored
* contrib/lisp/org-export.el (org-export--populate-ignore-list): Move
  into secondary strings when looking for objects to ignore in the
  parse tree.
2012-08-27 15:27:02 +02:00
Nicolas Goaziou 86b1be57b9 org-export: Handle "\-" as a special string
* contrib/lisp/org-export.el (org-export-with-special-strings): Fix
  docstring.
* contrib/lisp/org-e-ascii.el (org-e-ascii-plain-text): Remove soft
  hyphens.
* contrib/lisp/org-e-latex.el (org-e-latex-plain-text): Handle soft
  hyphens.
2012-08-27 14:35:54 +02:00
Nicolas Goaziou 4d789f4c30 org-export: Fix filters returning a nil value
* contrib/lisp/org-export.el (org-export-filter-apply-functions): If
  a filter returns nil, return last non-nil value.
2012-08-27 14:35:54 +02:00
Jambunathan K 9c1d338834 org-e-odt.el: Support for indented tables.
1. Use element translation for description lists.
2. Handle low-level headlines.
3. Handle tables within listified headlines.

Some crude changes for creating references to a list item.

Also other misc changes.
2012-08-26 02:06:20 +05:30
Jambunathan K 0b209c16f6 Set `org-e-html-coding-system' to 'utf-8 2012-08-25 22:13:58 +02:00
Jambunathan K 2cb72af8e8 Set `org-e-html-coding-system' to 'utf-8 2012-08-26 00:50:17 +05:30
Nicolas Goaziou 61b5e28509 org-export: Flesh out dictionary
* contrib/lisp/org-export.el (org-export-dictionary): Flesh out
  dictionary.
(org-export-translate): Allow for a :default charset in order to
simplify dictionary completion.
2012-08-25 14:07:41 +02:00
Nicolas Goaziou d86f09a854 org-element: Extract search option and application in "file"-type links
* lisp/org-element.el (org-element-link-type-is-file): New variable.
(org-element-link-parser): Extract search option and application in
"file"-type links.
* contrib/lisp/org-e-html.el (org-e-html-link): Remove components
  extraction since this in now done in `org-element-link-parser'.
* contrib/lisp/org-e-odt.el: Remove components extraction since this
  in now done in `org-element-link-parser'.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-link): Remove
  components extraction since this in now done in
  `org-element-link-parser'.
* contrib/lisp/org-e-latex.el (org-e-latex-link): Remove components
  extraction since this in now done in `org-element-link-parser'.
* contrib/lisp/org-e-man.el (org-e-man-link): Remove components
  extraction since this in now done in `org-element-link-parser'.
* contrib/lisp/org-e-groff.el (org-e-groff-link): Remove components
  extraction since this in now done in `org-element-link-parser'.
* contrib/lisp/org-md.el (org-md-link): Remove components extraction
  since this in now done in `org-element-link-parser'.
* testing/lisp/test-org-element.el: Add tests.
2012-08-25 10:38:25 +02:00
Bastien Guerry e9b4debd0f Move x11idle.c from utils/ to contrib/scripts/ 2012-08-25 10:25:01 +02:00
Bastien Guerry 9c3386567c contrib/lisp/org-notify.el: Make `org-notify-start' interactive. Clean-up.
* org-notify.el (org-notify-start): Make interactive.
(org-notify-add, org-notify-start, org-notify-stop)
(org-notify-select-highest-window, default): Docstring and
indentation clean-up.
2012-08-25 10:06:55 +02:00
Bastien Guerry be70cfd084 org-e-texinfo.el: Tiny formatting and code fix
* org-e-texinfo.el (org-e-texinfo-table-column-widths): Remove
a quote before a lambda expression.
2012-08-24 11:21:24 +02:00
Nicolas Goaziou 7e466ea883 org-export: Small clean-up 2012-08-24 10:44:05 +02:00
Nicolas Goaziou 095f9322e5 org-export: Make sure back-end specific filters do not make any back-end check
* contrib/lisp/org-e-ascii.el (org-e-ascii-filter-headline-blank-lines):
  Remove backend check.
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-filter-section-blank-lines):
  Remove backend check.
* contrib/lisp/org-export.el (org-export-define-backend): Update
  docstring accordingly.
2012-08-24 10:41:41 +02:00
Nicolas Goaziou cced6735a7 org-export: Run export hook with current back-end as argument
* contrib/lisp/org-export.el (org-export-as): Run export hook with
  current back-end as argument.
* testing/lisp/test-org-export.el: Update test.
2012-08-24 10:10:44 +02:00
Nicolas Goaziou cc839259a4 org-export: Nil value from a filter means filter will be skipped
* contrib/lisp/org-export.el (org-export-filter-apply-functions): Nil
  value from a filter means filter will be skipped. To ignore the
  current element or object, the filter has to return the empty string
  instead.

This change is done to ease filter writing. When writing
a backend-specific filter (and I guess most are), there's no more need
for the somewhat contrived:

  (if (not (eq backend 'e-latex)) data
    ... filter's job...)

A more straightforward:

  (when (eq backend 'e-latex)
    ... filter's job...)

is now enough.

On the other hand, it is not possible anymore to specify 'ignore as
a filter to ignore every element or object of a given type. To
achieve that goal, one can now write, for example:

  (add-to-list 'org-export-filter-example-block-functions
                 (lambda (value backend info)
                   (when (eq backend 'e-html) "")))

It will ignore every example block in the `e-html' export back-end.
2012-08-24 09:56:48 +02:00
Nicolas Goaziou 3f40057adc org-export: Limit depth of headline collection to headline level
* contrib/lisp/org-export.el (org-export-collect-headlines): By
  default, limit depth of headline collection to last headline level.
* contrib/lisp/org-e-html.el (org-e-html-toc): Small refactoring.
2012-08-24 09:36:18 +02:00
Nicolas Goaziou 5b19471358 org-e-html: Fix TOC generation with a non numeric value
* contrib/lisp/org-e-html.el (org-e-html-toc): Accept non numeric
  values for depth.
(org-e-html-template): Call previous function even when depth isn't
a number.
(org-e-html-keyword): Call previous function even when depth isn't
a number.  Also react on #+HTML keywords, not #+LATEX.
2012-08-23 21:32:12 +02:00
Jonathan Leech-Pepin d4d29efb53 contrib/lisp/org-e-texinfo: Ensure valid export of escaped characters
and remove invalid characters from menu items

* contrib/lisp/org-e-texinfo.el (org-e-texinfo--sanitize-menu): Remove
  invalid characters from menu entries and nodes.
(org-e-texinfo--sanitize-contents): Ensure @ { and } are properly
escaped in text and headlines.
(org-e-texinfo--generate-menu-items): Strip invalid characters from
menu titles.
(org-e-texinfo-fixed-width): Escape @ { and } in fixed-width
environments.
(org-e-texinfo-headline): Ensure nodes do not have invalid characters
and escape @ { and } in section titles.
(org-e-texinfo-plain-text): Use proper escape character for @ { and }.
2012-08-23 10:51:47 -04:00
Jonathan Leech-Pepin 8441782b11 contrib/lisp/org-e-texinfo: Remove markup from headlines when
exporting to ensure info can process them properly

* contrib/lisp/org-e-texinfo.el (org-e-texinfo--generate-menu-items):
  Use org-e-texinfo--sanitize-headline to ensure markup is stripped
  before being used for sectioning and menu information.  Nodes and
  menus can fail because of formatting and section titles do not show
  any formatting when viewed in an info-viewer.
(org-e-texinfo--sanitize-headline): Wrapper function for
org-e-texinfo--sanitize-healine-contents
(org-e-texinfo--sanitize-headline-contents): Strips markup from
headlines.  It treats content recursively to ensure nested formatting
is removed as well.
2012-08-23 09:20:02 -04:00
Jonathan Leech-Pepin 44d68803d3 contrib/lisp/org-e-texinfo: Improve error reporting after makeinfo
* contrib/lisp/org-e-texinfo.el (org-e-texinfo-collect-errors): Fixed
  error checking to actually return an error message.
2012-08-23 08:40:47 -04:00
Nicolas Goaziou f9e5600f82 org-export: Fix reference to a free variable in macros
* contrib/lisp/org-export.el (org-export-define-backend,
  org-export-define-derived-backend): Fix reference to a free variable
  in macro.
2012-08-23 11:03:09 +02:00
Jonathan Leech-Pepin 9e0f48db2f contrib/lisp/org-e-texinfo.el: Fix export bugs
* contrib/lisp/org-e-texinfo.el (org-e-texinfo--generate-detailed): Do
  not run if there are no headlines in the file.
(org-e-texinfo-template): Generate menu and detailed menu in initial
let form.  Only insert them if non-empty.
(org-e-texinfo-headline): Ensure that %'s are properly escaped in
@node's to prevent parse errors.
(org-e-texinfo-make-menu): Do not insert "detailed" if menu is empty,
return empty entry instead.

Thanks to Bastien for reporting the failures with headline-less files
and simple "%" in the headline.
2012-08-22 13:51:46 -04:00
Nicolas Goaziou 436c2a0794 org-e-beamer: Do not normalize empty arguments
* contrib/lisp/org-e-beamer.el (org-e-beamer--normalize-argument): Do
  not normalize empty arguments.
2012-08-22 17:45:18 +02:00
Nicolas Goaziou cd9ce4b914 org-e-latex: Fix bug when exporting empty items
* contrib/lisp/org-e-latex.el (org-e-latex-item): Fix bug when
  exporting empty items.
2012-08-22 16:55:18 +02:00
Nicolas Goaziou d1f36ea313 org-e-beamer: Fix bug with default value for outline frame options
* contrib/lisp/org-e-beamer.el (org-e-beamer-outline-frame-options):
  Value must be a string, so make default value an empty string
  instead of nil.
2012-08-22 16:32:16 +02:00
Nicolas Goaziou a273a37ce0 org-e-latex: Fix typo in a docstring
* contrib/lisp/org-e-latex.el (org-e-latex--delayed-footnotes-definitions):
  Fix typo in a docstring.
2012-08-22 09:34:24 +02:00
Nicolas Goaziou 043f2fcbbc org-e-latex: Display nicer horizontal rules
* contrib/lisp/org-e-latex.el (org-e-latex-horizontal-rule): Display
  nicer horizontal rules. Support :width and :thickness attributes.
2012-08-21 18:55:17 +02:00
Bastien Guerry 478a8393f2 contrib/: Update the README 2012-08-21 12:34:53 +02:00
Bastien Guerry 7d5c05463f contrib/: Delete useless files
Delete these files:
contrib/lisp/test-org-export-preproc.el
contrib/scripts/staticmathjax/README.txt
2012-08-21 12:34:37 +02:00
Bastien Guerry 502e538020 contrib/lisp/: Replace the deleted function `org-make-link' by `concat'
* org-notmuch.el (org-notmuch-store-link)
(org-notmuch-search-store-link): Use `concat' instead of
`org-make-link'.

* org-git-link.el (org-git-create-git-link)
(org-git-insert-link-interactively): Ditto.

* org-bookmark.el (org-bookmark-store-link): Ditto.

Thanks to Friedrich Delgado for reporting this.
2012-08-20 14:03:15 +02:00
Nicolas Goaziou fc6b9f1d88 org-export: Fix code comments 2012-08-20 10:25:05 +02:00
Luis Anaya 5da2745fb8 Merge branch 'master' of orgmode.org:org-mode 2012-08-19 13:14:05 -04:00
Nicolas Goaziou c81bcccbf3 org-md: Fix export of paragraph starting with an hash sign
* contrib/lisp/org-md.el (org-md-paragraph): Fix export of paragraph
  starting with an hash sign.
2012-08-19 15:59:24 +02:00
Jambunathan K 3a8969edbc org-e-html-table: Emit `caption' elements only when required 2012-08-18 21:03:49 +05:30
Nicolas Goaziou 952d722dcd org-export: Allow to toggle inlinetasks inclusion in export output
* contrib/lisp/org-export.el (org-export-options-alist,
  org-export--skip-p): Allow to toggle inlinetask inclusion in export.
(org-export-headline-levels, org-export-with-priority): Fix docstring.
(org-export-with-inlinetasks): New variable.
* testing/lisp/test-org-export.el: Add tests.
2012-08-16 12:46:49 +02:00
Bastien Guerry a4bef9a73d contrib: Do not tell files are part of Emacs if they are not (yet) 2012-08-16 00:01:59 +02:00
Bastien Guerry 3d2b7841e6 org-e-texinfo.el: Clean up code. 2012-08-16 00:00:51 +02:00
Luis Anaya 08c6b3d2e3 Merge branch 'master' of orgmode.org:org-mode 2012-08-15 16:06:47 -04:00
Jonathan Leech-Pepin eff62b3843 org-e-texinfo: Provide the ability to export to .texinfo from Org-Mode
* contrib/lisp/org-e-texinfo.el: Provide the ability to generate .texinfo and .info files from an Org-Mode file.

Export can be called using either (org-e-texinfo-export-to-texinfo) to generate a .texinfo file, or (org-e-texinfo-export-to-info) to additionally compile the .texinfo file into a .info file.
2012-08-15 16:00:20 -04:00
Nicolas Goaziou a88ab9cdbc org-e-beamer: Prevent fragile frames from eating first word
* contrib/lisp/org-e-beamer.el (org-e-beamer--format-frame): In
  a fragile frame, append a white space to contents in order to
  prevent Beamer from eating first word when appending "\par".
2012-08-12 18:24:34 +02:00
Nicolas Goaziou a270c7dd90 org-e-publish: Fix code typo
* contrib/lisp/org-e-publish.el (org-e-publish-cache-ctime-of-src):
  Fix code typo.
2012-08-12 00:50:26 +02:00
Nicolas Goaziou 8ff6054c85 org-e-publish: Mirror changes applied to org-publish.el
* contrib/lisp/org-e-publish.el (org-e-publish-needed-p,
  org-e-publish-update-timestamp, org-e-publish-file,
  org-e-publish-cache-file-needs-publishing,
  org-publish-cache-ctime-of-src): Mirror changes applied to org-publish.el.
2012-08-11 22:18:00 +02:00
Nicolas Goaziou f86ec13ce9 org-e-publish: Mirror changes made to org-publish.el
* contrib/lisp/org-e-publish.el (org-e-publish-initialize-cache): Fix
  small error.
(org-publish-cache-ctime-of-src): Simplify function.
2012-08-10 18:20:48 +02:00
Luis Anaya 36bb59fdc5 Enhanced the org-e-groff.el code to use the Groff MM letter macros
* org-e-groff.el (org-e-groff-classes): Added
letter classes.
(org-e-groff-special-tags): New variable to identify special tags.
(org-e-groff--get-tagged-content): New function to retrieve
special tagged content.
(org-e-groff--mt-head): New function to create "memo" type headers.
(org-e-groff--letter-head): New function to create "letter" type headers.
(org-e-groff-template): Handle the "letter" type.
(org-e-groff-headline): handle special tags.
2012-08-10 10:14:00 -04:00
Achim Gratz a089a3bccc add autload cookie for org-export-dispatch
* contrib/lisp/org-export.el: Add autload cookie for org-export-dispatch.
2012-08-09 18:25:45 +02:00
Bastien Guerry c81bb45d23 org-e-groff.el (org-e-groff-table--align-string): Small code cleanup.
* org-e-groff.el (org-e-groff-table--align-string): Small code
cleanup.
2012-08-08 18:48:14 +02:00
Luis Anaya a3778633c5 Removed not needed variables in org-e-groff.el and org-e-man.el
* org-e-groff.el (org-e-groff-item): Removed the `counter' variable from let assignment list.
	(org-e-groff-table--align-string): Removed the `attr' and `align' variables from the list assignment list.

	* org-e-man.el (org-e-man-item): Removed the `counter' variable from the let assignment list.
	(org-e-man-src-block): Removed non needed formatting string that was causing formatting errors for source blocks.
	(org-e-man-table--align-string): Removed `attr' and `align' variables from the let assignment list.
2012-08-08 12:31:05 -04:00
Bastien Guerry 481c89f388 org-e-groff.el: Massive code clean-up. 2012-08-08 14:11:09 +02:00
Luis Anaya 6aacc8bf7c Code Cleanup
* org-e-man.el (org-e-man-pdf-process)
	(org-e-man--caption/label-string, org-e-man-template)
	(org-e-man--caption/label-string)
	(org-e-man-source-highlight-langs, org-e-man-bold)
	(org-e-man-center-block, org-e-man-clock, org-e-man-code)
	(org-e-man-example-block, org-e-man-headline)
	(org-e-man-inline-src-block, org-e-man-item, org-e-man-keyword)
	(org-e-man-link, org-e-man-paragraph, org-e-man-radio-target)
	(org-e-man-macro, org-e-man-src-block, org-e-man-table)
	(org-e-man-table--align-string, org-e-man-table--org-table)
	(org-e-man-collect-errors): Code clean-up.

	* org-e-groff.el (org-e-groff-classes, org-e-groff-special-char)
	(org-e-groff-pdf-process, org-e-groff-registered-references)
	(org-e-groff--caption/label-string, org-e-groff--text-markup)
	(org-e-groff-template, org-e-groff-footnote-reference)
	(org-e-groff-headline, org-e-groff-inline-src-block)
	(org-e-groff-item, org-e-groff-link--inline-image)
	(org-e-groff-link, org-e-groff-paragraph)
	(org-e-groff-plain-list, org-e-groff-plain-text)
	(org-e-groff-src-block, org-e-groff-table)
	(org-e-groff-table--align-string, )
	(org-e-groff-table--org-table, org-e-groff-table-cell)
	(org-e-groff-table-row, org-e-groff-export-to-groff)
	(org-e-groff-collect-errors): Code cleanup.
2012-08-08 06:04:56 -04:00
Nicolas Goaziou d02eedc987 org-e-latex: Correctly export statistics cookies with percents
* contrib/lisp/org-e-latex.el (org-e-latex-statistics-cookie): Protect
  percents in statistics cookies.
2012-08-07 09:24:44 +02:00
Luis Anaya d69de79e4a Performed changes to meet the new org-export.el API.
* contrib/lisp/org-e-man.el (org-e-man-headline): Fixed call to org-export-first-sibling-p and org-export-last-sibling-p
	(org-e-man-table-cell): Fixed call to org-export-get-next-element
2012-08-03 07:47:50 -04:00
Luis Anaya 61c9996cf0 Perform changes in org-e-groff-headline and org-e-groff-table-cell calls to
meet changed org-export.el API calls.

	* contrib/lisp/org-e-groff.el (org-e-groff-headline): Fixed call to org-export-last-sibling-p

	* contrib/lisp/org-e-groff.el (org-e-groff-headline): Fixed call to org-export-first-sibling-p

	* contrib/lisp/org-e-groff.el (org-e-groff-table-cell): Fixed call to org-export-get-next-element.
2012-08-03 07:42:38 -04:00
Nicolas Goaziou 43606a916a org-e-ascii: Remove spurious blank lines ascii art tables
* contrib/lisp/org-e-ascii.el (org-e-ascii-table): Remove spurious
  blank lines ascii art tables.
2012-08-03 09:57:15 +02:00
Luis Anaya 0601d117bb Fixed missing \\ needed for padding of checklists. 2012-08-02 21:53:20 -04:00
Luis Anaya 91fb3ae412 New features added to the Groff export. Includes:
- Ability to handle long tables.
- Ability to automatically generate reference lists
- Ability to perform special processing in paragraph
- Ability to disable captions.
- Ability to process special characters.
- Improved table handling.
2012-08-02 20:21:13 -04:00
Nicolas Goaziou db004a0ad6 org-e-ascii: Allow to use ascii-art for table.el tables
* contrib/lisp/org-e-ascii.el (org-e-ascii-table-use-ascii-art): New
  variable.
(org-e-ascii-table): Allow to use ascii-art for table.el tables.
2012-07-31 16:32:06 +02:00
Luis Anaya c9d0a486cc Org-Export exporters for Groff and Man Pages. Uses the new
org-export.el for operation.
2012-07-28 16:20:41 -04:00
Achim Gratz c2735e7c19 Re-apply (correctly): Move org-element.el from contrib/lisp to lisp/.
* org.el (org-mode-map): Add keybindings to
`org-element-transpose' and `org-narrow-to-element'.
(org-metaup): Fall back on `org-element-drag-backward'.
(org-metadown): Fall back on `org-element-drag-forward'.
Also move chunks of declarations and require statements to
get rid of compiler warnings.

* org-exp-blocks.el (org): Don't require org.  Add declarations.

* org-clock.el (org): Don't require org.

* ob-exp.el (org-list-forbidden-blocks): Add declarations.
2012-07-28 07:06:25 +02:00
Achim Gratz 234df465ad Revert "Move org-element.el from contrib/lisp to lisp/."
This reverts commit abbea59611.
2012-07-28 07:02:21 +02:00
Bastien Guerry 88fd65f251 Merge branch 'master' of orgmode.org:org-mode 2012-07-28 00:57:14 +02:00
Bastien Guerry abbea59611 Move org-element.el from contrib/lisp to lisp/.
* org.el (org-mode-map): Add keybindings to
`org-element-transpose' and `org-narrow-to-element'.
(org-metaup): Fall back on `org-element-drag-backward'.
(org-metadown): Fall back on `org-element-drag-forward'.
Also move chunks of declarations and require statements to
get rid of compiler warnings.

* org-exp-blocks.el (org): Don't require org.  Add declarations.

* org-clock.el (org): Don't require org.

* ob-exp.el (org-list-forbidden-blocks): Add declarations.
2012-07-28 00:55:45 +02:00
Nicolas Goaziou 144f2a3f9e org-md: Fix docstring
* contrib/lisp/org-md.el (org-md-headline-style): Fix docstring.
2012-07-28 00:49:58 +02:00
Nicolas Goaziou 5dac2ca753 org-e-ascii: Fix error when formatting an headline with a priority
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-title): Fix error
  when formatting an headline with a priority.
2012-07-28 00:44:07 +02:00
Nicolas Goaziou edaa0c4ee7 org-md: Fix error when formatting an headline with a priority
* contrib/lisp/org-md.el (org-md-headline): Fix error when formatting
  an headline with a priority.
2012-07-27 23:05:34 +02:00
Nicolas Goaziou 029e499939 org-md: Fix spurious white space in Setext style
* contrib/lisp/org-md.el (org-md-headline): Fix spurious white space
  in Setext style.
2012-07-27 22:58:49 +02:00
Nicolas Goaziou 7b6e6e9ff5 org-md: Allow atx and Setext style for headlines
* contrib/lisp/org-md.el (org-export-md): New customize group.
(org-md-headline-style): New variable.
(org-md-headline): Allow atx and Setext style.  Also provide fall-back
for low level headlines.
2012-07-27 22:53:38 +02:00
Nicolas Goaziou 5057ae0fc2 org-export: Require info argument in some topology functions
* contrib/lisp/org-export.el (org-export-first-sibling-p,
  org-export-last-sibling-p, org-export-get-previous-element,
  org-export-get-next-element): Add INFO argument.  This is necessary
  to ignore non-exportable elements or objects.
(org-export--skip-p): Apply signature change.
* testing/lisp/test-org-export.el: Add tests.
* contrib/lisp/org-e-odt.el (org-e-odt-footnote-reference): Apply
  signature change.
* contrib/lisp/org-e-latex.el (org-e-latex-footnote-reference,
  org-e-latex-headline, org-e-latex-table-cell): Apply signature
  change.
* contrib/lisp/org-e-html.el (org-e-html-footnote-reference,
  org-e-html-headline): Apply signature change.
* contrib/lisp/org-e-beamer.el (org-e-beamer-export-snippet,
  org-e-beamer--format-block): Apply signature change.
2012-07-27 16:16:04 +02:00
Nicolas Goaziou f3e264af56 org-md: Add missing chuck from previous patch (536c55b)
* contrib/lisp/org-md.el (org-md-section): # protection shouldn't
  happen at the section level, when there is no difference between raw
  # from export blocks and # in plain text.
2012-07-27 14:43:12 +02:00
Nicolas Goaziou 536c55b644 org-md: Be more subtle when protecting #
* contrib/lisp/org-md.el (org-md-paragraph, org-md-plain-text): Make
  sure raw # (inserted with, for example, an export snippet) don't get
  escaped.  A few false positives don't hurt.
2012-07-27 14:05:44 +02:00
Nicolas Goaziou c8acf8d695 org-export and back-ends: Fix some docstrings 2012-07-26 15:33:27 +02:00
Nicolas Goaziou 065401cfdb org-md: Export back-end for Markdown format
* contrib/lisp/org-md.el: New file.
2012-07-26 12:41:26 +02:00
Nicolas Goaziou b6b40424d2 org-e-ascii: Center shortened horizontal rules
* contrib/lisp/org-e-ascii.el (org-e-ascii-horizontal-rule): Center
  shortened horizontal rules.
2012-07-25 12:55:00 +02:00
Nicolas Goaziou 8d98835a3c org-export: Export properties from subtrees are case insensitive
* contrib/lisp/org-export.el (org-export--get-subtree-options): Export
  properties from subtrees are case insensitive.
2012-07-25 10:13:09 +02:00
Bastien Guerry f06a4db2be org-export-generic.el: Add require 'cl for defmacro*. 2012-07-25 08:32:54 +02:00
Nicolas Goaziou 2b6ba84ad6 org-export: Memoize results from `org-export-data'
* contrib/lisp/org-export.el (org-export-collect-tree-properties):
  Initialize hash table for memoization.
(org-export-data): Memoize results.
2012-07-24 22:52:29 +02:00
Nicolas Goaziou dbea7e658f org-export: Rename some internal functions
* contrib/lisp/org-export.el (org-export-get-environment,
  org-export-collect-tree-properties, org-export-data,
  org-export-expand-include-keyword): Use new names.
(org-export--parse-option-keyword): Renamed from
`org-export-parse-option-keyword'.
(org-export--get-subtree-options): Renamed from
`org-export-get-subtree-options'.
(org-export--get-inbuffer-options): Renamed from
`org-export-get-inbuffer-options'.
(org-export--get-buffer-attributes): Renamed from
`org-export-get-buffer-attributes'.
(org-export--get-global-options): Renamed from
`org-export-get-global-options'.
(org-export--allow-BIND-local): Renamed from
`org-export-allow-BIND-local'.
(org-export--confirm-letbind): Renamed from
`org-export-confirm-letbind'.
(org-export--install-letbind-maybe): Renamed from
`org-export-install-letbind-maybe'.
(org-export--get-min-level): Renamed from `org-export-get-min-level'.
(org-export--collect-headline-numbering): Renamed from
`org-export-collect-headline-numbering'.
(org-export--populate-ignore-list): Renamed from
`org-export-populate-ignore-list'.
(org-export--interpret-p): Renamed from `org-export--interpret-p'.
(org-export--prepare-file-contents): Renamed from
`org-export-prepare-file-contents'.
* contrib/lisp/org-e-publish.el (org-e-publish-find-date): Use new
  names.
* testing/lisp/test-org-export.el: Update tests.
2012-07-24 22:52:29 +02:00
Jambunathan K e0f59dfb05 (org-e-html-footnote-separator): Remove duplicate `
Also re-arrange defcustoms in alphabetical order.
2012-07-25 00:24:07 +05:30
Nicolas Goaziou b0f2e083b7 org-export: Update docstrings 2012-07-23 19:32:57 +02:00
Nicolas Goaziou 2b21bb4e52 export back-ends: Remove unused translators functions 2012-07-23 17:53:55 +02:00
Nicolas Goaziou a13a51e812 org-export: Add :export-block keyword to `org-export-define-derived-backend'
* contrib/lisp/org-export.el (org-export-define-derived-backend):
  Add :export-block keyword.  Also fix a generated doc-string.
* contrib/lisp/org-e-beamer.el: Use new keyword.
2012-07-23 14:19:51 +02:00
Nicolas Goaziou 6ea9d8c827 org-export: `org-export-define-backend': the standard way to create a back-end
* contrib/lisp/org-export.el (org-export-define-backend): New macro.
* contrib/lisp/org-e-ascii.el: Use new macro.
* contrib/lisp/org-e-html.el: Use new macro.
* contrib/lisp/org-e-latex.el: Use new macro.
* contrib/lisp/org-e-odt.el: Use new macro.
* contrib/lisp/org-element.el (org-element-block-name-alist): Remove
  hard-coded export block names from variable, since they are added
  automatically by `org-export-define-backend'.
* testing/lisp/test-org-element.el: Update test.
2012-07-23 14:12:14 +02:00
Nicolas Goaziou 9a2e479b32 org-e-beamer: Fix docstring typo 2012-07-23 09:51:55 +02:00
Nicolas Goaziou 611075db0b org-e-html: Remove an useless argument
* contrib/lisp/org-e-html.el (org-e-html-export-as-html): Remove
  PUB-DIR, which doesn't make sense in that function.
* contrib/lisp/org-export.el: Apply change in function declaration.
2012-07-23 09:51:45 +02:00
Nicolas Goaziou 3a633732b7 org-e-ascii: Fix typo
* contrib/lisp/org-e-ascii.el (org-e-ascii-horizontal-rule): Fix typo.
2012-07-23 09:43:29 +02:00
Nicolas Goaziou c92913b5f9 org-e-latex: Allow multiple objects and spaces in sub/superscript
* contrib/lisp/org-e-latex.el (org-e-latex-subscript,
  org-e-latex-superscript): Allow multiple objects and spaces in
  sub/superscript.
2012-07-22 13:55:10 +02:00
Nicolas Goaziou 1b64d9582e org-export: Add optional argument to `org-export-read-attribute'
* contrib/lisp/org-export.el (org-export-read-attribute): Add optional
  argument to `org-export-read-attribute'.
* contrib/lisp/org-e-ascii.el (org-e-ascii-horizontal-rule): Use
  additional argument.
2012-07-21 15:12:08 +02:00
Nicolas Goaziou 86ff4cde98 org-export: Silence byte-compiler 2012-07-20 19:37:22 +02:00
Nicolas Goaziou eed478ffaa org-e-beamer: Small docstring changes
* contrib/lisp/org-e-beamer.el (org-e-beamer-export-as-latex,
  org-e-beamer-export-to-pdf): Small docstring changes.
2012-07-20 13:48:19 +02:00
Nicolas Goaziou 8478fac4a5 Add autoload and a commands to export to temporary buffer in export back-ends
* contrib/lisp/org-e-ascii.el (org-e-ascii-export-as-ascii): New
  function.
(org-e-ascii-export-to-ascii): Now autoloaded.
* contrib/lisp/org-e-latex.el (org-e-latex-export-as-latex): New
  function.
(org-e-latex-export-to-pdf): Now autoloaded.
(org-e-latex--collect-errors): Renamed from
`org-e-latex-collect-errors'.
(org-e-latex-compile): Apply renaming.
* contrib/lisp/org-e-html.el (org-e-html-export-as-html): New
  function.
(org-e-html-export-to-html): Fix docstring.
* contrib/lisp/org-export.el (org-export-dispatch): Use new functions.
2012-07-20 13:48:05 +02:00
Jambunathan K 99ef5728a2 org-e-odt.el: Fix more compilation errors 2012-07-19 23:15:44 +05:30
Jambunathan K dc92a8dbff org-e-odt.el: Fix all compilation errors
Rearrange and rename for greater consistency and clarity.  More cleanups
will follow.
2012-07-19 22:15:30 +05:30
Nicolas Goaziou 070e03011d org-element: Rename a few internal functions
* contrib/lisp/org-element.el (org-element--parse-elements): Renamed
  from `org-element-parse-elements'.
(org-element--parse-objects): Renamed from `org-element-parse-objects'.
(org-element--get-next-object-candidates): Renamed from
`org-element-get-next-object-candidates'.
(org-element--interpret-affiliated-keywords): Renamed from
`org-element-interpret--affiliated-keywords'.
(org-element--current-element): Renamed from
`org-element-current-element'.
(org-element--collect-affiliated-keywords): Renamed from
`org-element-collect-affiliated-keywords'.
(org-element-center-block-parser, org-element-drawer-parser,
org-element-dynamic-block-parser,
org-element-footnote-definition-parser, org-element-inlinetask-parser,
org-element-plain-list-parser, org-element-quote-block-parser,
org-element-special-block-parser, org-element-comment-parser,
org-element-comment-block-parser, org-element-example-block-parser,
org-element-export-block-parser, org-element-fixed-width-parser,
org-element-horizontal-rule-parser,
org-element-latex-environment-parser, org-element-paragraph-parser,
org-element-src-block-parser, org-element-table-parser,
org-element-verse-block-parser, org-element-fill-paragraph,
org-element-context, org-element-at-point, org-element-interpret-data,
org-element-parse-secondary-string, org-element-parse-buffer): Apply
name change.
* contrib/lisp/org-export.el (org-export-get-buffer-attributes): Apply
  name change.
* testing/lisp/test-org-element.el: Update tests accordingly.
* testing/lisp/test-org-export.el: Update tests accordingly.
2012-07-19 11:23:43 +02:00
Nicolas Goaziou ea7b5a327f org-e-ascii: Fix link description in empty section
* contrib/lisp/org-e-ascii.el (org-e-ascii-headline): Fix link
  description in empty section.
2012-07-18 19:24:11 +02:00
Nicolas Goaziou 17b865ddd0 org-element: Fix first section parsing
* contrib/lisp/org-element.el (org-element-current-element): Use a new
  special mode symbol to treat section before first headline
  differently.  In this case, its boundaries must be computed since it
  has not been limited by headline container.
(org-element-parse-elements): Use new special mode symbol.
2012-07-18 19:17:12 +02:00
Nicolas Goaziou 8bf8cf8223 org-element: Allow links and export snippets in descriptions lists items tag
* contrib/lisp/org-element.el (org-element-object-restrictions): Allow
  links and export snippets in descriptions lists items tag.
2012-07-18 18:23:26 +02:00
Nicolas Goaziou d80661e764 org-e-latex: Don't use mathrm in sub/superscripts with a single LaTeX command or entity
* contrib/lisp/org-e-latex.el (org-e-latex-subscript,
  org-e-latex-superscript): Don't use mathrm in sub/superscripts with
  a single LaTeX command or entity.
2012-07-18 17:02:08 +02:00
Nicolas Goaziou 3e76a25f7c org-element: Fix inlinetask parsing
* contrib/lisp/org-element.el (org-element-inlinetask-parser): Fix
  inlinetask parsing.
2012-07-18 11:24:40 +02:00
Nicolas Goaziou 66767db56c org-export: Replace member with memq when possible
* contrib/lisp/org-element.el (org-element-set-element): Replace
  member with memq.
* contrib/lisp/org-export.el (org-export-get-min-level,
  org-export--skip-p, org-export-data, org-export-table-cell-width,
  org-export-table-cell-alignment): Replace member with memq.
2012-07-17 20:49:31 +02:00
Nicolas Goaziou 8a9429f9c3 org-element: Fix timestamp interpreter
* contrib/lisp/org-element.el (org-element-timestamp-interpreter): Fix
  timestamp interpreter.
2012-07-17 20:47:01 +02:00
Nicolas Goaziou 528b17ea15 org-export: Adapt back-ends to timestamp object change
* contrib/lisp/org-e-ascii.el (org-e-ascii-timestamp): Use :range-end
  property when applicable.
* contrib/lisp/org-e-html.el (org-e-html-timestamp): Use :range-end
  property when applicable.
* contrib/lisp/org-e-latex.el (org-e-latex-timestamp): Use :range-end
  property when applicable.
* contrib/lisp/org-e-odt.el (org-e-odt-timestamp): Use :range-end
  property when applicable.
2012-07-17 17:03:29 +02:00
Nicolas Goaziou a1634b4489 org-element: Store parsed timestamps without the bracket markers
* contrib/lisp/org-element.el (org-element-planning-parser): Store
  parsed timestamps without the bracket markers.
(org-element-timestamp-interpreter): Store parsed timestamps without
  the bracket markers.  Also provide a new property: `:range-end'.
(org-element-planning-interpreter, org-element-timestamp-interpreter):
Apply changes to parsers.
* testing/lisp/test-org-element.el: Add test.
2012-07-17 16:51:19 +02:00
Nicolas Goaziou e4a300d90d org-element: Fix error when parsing a line-break
* contrib/lisp/org-element.el (org-element-line-break-parser)
(org-element-line-break-interpreter): Line-break object ends where the
line ends.  It doesn't contain the next newline character.
(org-element-parse-objects): Refactoring.
2012-07-17 11:53:41 +02:00
Nicolas Goaziou 69af0913b2 org-element: Normalize contents of elements in place
* contrib/lisp/org-element.el (org-element-normalize-contents):
  Normalize contents of elements in place.  This is required to be
  sure that a normalized element still is `eq' to its equivalent in
  the parse tree.
2012-07-17 00:46:08 +02:00
Nicolas Goaziou 4cf88ac31d org-e-ascii: Fix export of tables with a special column or a top-left corner
* contrib/lisp/org-e-ascii.el (org-e-ascii--table-cell-width,
  org-e-ascii-table-row): Fix export of tables with a special column
  or a top-left angle.
2012-07-16 22:53:53 +02:00
Nicolas Goaziou 5dbd1386f3 org-e-ascii: Comment fix 2012-07-16 18:17:56 +02:00
Nicolas Goaziou 95cd07d058 org-export: Use `eq' instead of `equal' when possible
* contrib/lisp/org-export.el (org-export-data,
  org-export-footnote-first-reference-p,
  org-export-get-footnote-number, org-export-get-ordinal,
  org-export-get-loc, org-export-table-row-group,
  org-export-table-cell-starts-colgroup-p,
  org-export-table-cell-ends-colgroup-p,
  org-export-table-cell-address): Use `eq' instead of `equal' when
  possible.
* contrib/lisp/org-e-ascii.el (org-e-ascii-table-row):
* contrib/lisp/org-e-beamer.el (org-e-beamer-select-environment):
* contrib/lisp/org-e-html.el (org-e-html-footnote-section,
  org-e-html-latex-environment, org-e-html-paragraph): Use `eq'
  instead of `equal' when possible.
* contrib/lisp/org-e-latex.el (org-e-latex--get-footnote-counter):
* contrib/lisp/org-e-odt.el (org-e-odt-do-format-code,
  org-e-odt-footnote-def, org-e-odt-item, org-e-odt-latex-environment,
  org-e-odt-latex-fragment, org-e-odt-plain-list, org-e-odt-table,
  org-e-odt-enumerate-element): Use `eq' instead of `equal' when
  possible.

In particular, comparing elements shouldn't be done with `equal' since
they are circular lists.  On the other hand, using `eq' is fine if
they belong to the same tree.
2012-07-16 16:28:06 +02:00
Jambunathan K 4a53af87de org-e-odt.el: Fix previous commit 2012-07-16 03:43:01 +05:30
Jambunathan K 4aec2e6937 org-e-odt.el: Refactor and rearrange 2012-07-16 03:38:07 +05:30
Nicolas Goaziou 5a3617c6be org-export: Allow anonymous functions in translate alists
* contrib/lisp/org-export.el (org-export-transcoder, org-export-data):
  Allow anonymous functions in translate alists.
* testing/lisp/test-org-export.el: Update tests.
2012-07-15 21:29:38 +02:00
Nicolas Goaziou a605067181 org-element: Silence byte-compiler 2012-07-15 14:35:04 +02:00
Nicolas Goaziou e6a88820bf org-export: Fix a docstring
* contrib/lisp/org-export.el (org-export-translate): Fix docstring.
2012-07-15 12:39:44 +02:00
Nicolas Goaziou b6edf5649c org-element: Inline accessors
* contrib/lisp/org-element.el (org-element-type, org-element-property,
  org-element-contents, org-element-restriction): Inline functions.
2012-07-15 12:27:54 +02:00
Nicolas Goaziou ebad68a059 org-export: Fix table test failure
* contrib/lisp/org-element.el (org-element-center-block-parser,
  org-element-drawer-parser, org-element-dynamic-block-parser,
  org-element-footnote-definition-parser, org-element-headline-parser,
  org-element-inlinetask-parser, org-element-item-parser,
  org-element-plain-list-parser, org-element-quote-block-parser,
  org-element-section-parser, org-element-special-block-parser,
  org-element-babel-call-parser, org-element-clock-parser,
  org-element-comment-parser, org-element-comment-block-parser,
  org-element-example-block-parser, org-element-export-block-parser,
  org-element-fixed-width-parser, org-element-horizontal-rule-parser,
  org-element-keyword-parser, org-element-latex-environment-parser,
  org-element-paragraph-parser, org-element-planning-parser,
  org-element-property-drawer-parser,
  org-element-quote-section-parser, org-element-src-block-parser,
  org-element-table-parser, org-element-table-row-parser,
  org-element-verse-block-parser, org-element-bold-parser,
  org-element-code-parser, org-element-entity-parser,
  org-element-export-snippet-parser,
  org-element-footnote-reference-parser,
  org-element-inline-babel-call-parser,
  org-element-inline-src-block-parser, org-element-italic-parser,
  org-element-latex-fragment-parser, org-element-line-break-parser,
  org-element-link-parser, org-element-macro-parser,
  org-element-radio-target-parser,
  org-element-statistics-cookie-parser,
  org-element-strike-through-parser, org-element-subscript-parser,
  org-element-superscript-parser, org-element-table-cell-parser,
  org-element-target-parser, org-element-timestamp-parser,
  org-element-underline-parser, org-element-verbatim-parser): Use
  `list' instead of backquotes to avoid using a quoted constant list
  as a non-last argument to `nconc'.
2012-07-15 12:25:09 +02:00
Nicolas Goaziou ceaeb33629 org-element: Handle special cases in setter functions
* contrib/lisp/org-element.el (org-element-put-property,
  org-element-set-contents): Handle special cases like empty or string
  arguments.
(org-element-parse-secondary-string): Correctly set `:parent' property
in objects within the secondary string if element or object containing
it is provided as an optional argument.
(org-element-parse-elements, org-element-parse-objects): Rewrite
functions using setter functions.
2012-07-15 12:25:09 +02:00
Jambunathan K f0d5d935ce org-e-odt.el: Introduced `org-e-odt--export-wrap'
- Clean up work directory and buffers on error.
- Don't use `org-current-export-file'.
- Handle file paths robustly i.e., don't rely on `default-directory'.
- Remove stale code.
2012-07-14 18:21:31 +05:30
Nicolas Goaziou 373cb5a37e org-export: Silence byte-compiler 2012-07-14 12:05:20 +02:00
Jambunathan K 90a20261f1 org-e-html.el: Use `org-export-dictionary'
Don't use `org-export-language-setup'.  Lots of miscellaneous cleanups to
enable clean compilation.
2012-07-13 03:26:13 +05:30
Jambunathan K 22a6d99d5a org-export: Re-arrange entries in `org-export-dictionary'
* contrib/lisp/org-export.el (org-export-dictionary):
Re-arrange entries in ascending order.
2012-07-13 03:25:41 +05:30
Jambunathan K 936ff0703b org-export: Update org-export-dictionary
* contrib/lisp/org-export.el (org-export-dictionary): Add
follwing new entires - "Author", "Date", "Equation" and
"Figure".
2012-07-13 03:25:29 +05:30
Nicolas Goaziou 1216df61cc org-export: Implement multi-backend dictionary
* contrib/lisp/org-export.el (org-export-translate): New function.
(org-export-dictionary): New variable.
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-toc,
  org-e-ascii--list-listings, org-e-ascii--list-tables,
  org-e-ascii-template, org-e-ascii--translate): Use new translation
  system.
(org-e-ascii-dictionary): Remove variable.
2012-07-12 13:31:06 +02:00
Nicolas Goaziou c75120aa71 org-element: Refactoring 2012-07-11 14:17:02 +02:00
Nicolas Goaziou d5f5c77fcd org-export: Small refactoring
* contrib/lisp/org-export.el (org-export-get-previous-element,
  org-export-get-next-element): Small refactoring.
* testing/lisp/test-org-export.el: Add tests.
2012-07-10 19:22:04 +02:00
Nicolas Goaziou bb9a26389c org-element: Rename `org-export-set-element' into `org-element-set-element'
* contrib/lisp/org-element.el (org-element-set-element): New function.
* contrib/lisp/org-export.el (org-export-set-element): Removed function.
* testing/lisp/test-org-element.el: Add test.
* testing/lisp/test-org-export.el: Remove test.
2012-07-10 17:29:13 +02:00
Nicolas Goaziou d9f975cf7b org-element: Add setters to modify parse tree
* contrib/lisp/org-element.el (org-element-put-property,
  org-element-set-contents, org-element-adopt-element): New
  functions.
* testing/lisp/test-org-element.el: Add tests.
2012-07-10 17:23:33 +02:00
Nicolas Goaziou 9028c4655f org-export: Improve a docstring
* contrib/lisp/org-export.el (org-export-get-genealogy): Improve
  docstring.
2012-07-10 15:30:51 +02:00
Nicolas Goaziou 0bbc9fa075 org-export: Accept nil :post-blank property
* contrib/lisp/org-export.el (org-export-data): Nil :post-blank
  property is equivalent to a value of 0.
2012-07-09 22:48:00 +02:00
Jambunathan K 0e9ec97ed4 org-e-odt.el: Don't rely on buffer positions
They may not be available when element translation is in effect.
2012-07-08 23:28:16 +05:30
Jambunathan K b7be665ef3 org-e-html.el: Introduced `org-e-html-allow-name-attribute-in-anchors'
Apparently helps with creating epub formats.  See
http://lists.gnu.org/archive/html/emacs-orgmode/2011-12/msg00391.html
2012-07-08 00:50:47 +05:30
Jambunathan K c83e251ae0 org-e-html.el: Handle headlines with ID 2012-07-07 19:24:53 +05:30
Jambunathan K 14b093275f org-e-html/org-e-odt: Handle links to headlines created with C-c C-l 2012-07-07 15:10:42 +05:30
Nicolas Goaziou 69540aba51 org-e-beamer: Fix defgroup 2012-07-07 00:51:02 +02:00
Nicolas Goaziou 3a70c90667 org-element: Implement a function to find object at point
* contrib/lisp/org-element.el (org-element-context): New function.
* testing/lisp/test-org-element.el: Add tests.
2012-07-07 00:49:13 +02:00
Bastien Guerry 9731a8b681 Fix `org-export-creator-string' and add the option `org-e-html-creator-string'.
* org-e-html.el (org-e-html-creator-string): New option.
(org-e-html-options-alist): Use it.

* org-export.el (org-export-creator-string): Don't use HTML
tags in the generic creator string.

Thanks to Nicolas for directions on what to change wrt this.
2012-07-06 09:09:31 +02:00
Nicolas Goaziou b5eccf94df org-export: Fix docstrings 2012-07-05 23:42:09 +02:00
Bastien Guerry ec5cc394b4 org-export.el (org-export-filters-alist): Fix typo in docstring.
* org-export.el (org-export-filters-alist): Fix typo in docstring.
2012-07-05 18:06:14 +02:00
Bastien Guerry 820803ab95 Add links to Org mode and GNU Emacs websites in creator strings.
* org-html.el (org-export-as-html): Add links to the Org mode
and GNU Emacs websites When :html-postamble is set to 't.

* org-export.el (org-export-creator-string): Add links to the
Org mode and GNU Emacs websites.
2012-07-05 16:02:06 +02:00
Nicolas Goaziou 73951db845 org-export: Add a subtree property for each export option
* contrib/lisp/org-export.el (org-export-get-subtree-options): Add
  a subtree property for each export option.
* testing/lisp/test-org-export.el: Add tests.

Properties names are obtained by adding "EXPORT_" prefix to buffer
keywords.
2012-07-05 13:44:26 +02:00
Nicolas Goaziou e2cd9c398d org-export: Modify exclude tags and select tags keywords
* contrib/lisp/org-export.el (org-export-options-alist):
  EXPORT_EXCLUDE_TAGS (resp. EXPORT_SELECT_TAGS) becomes
  EXCLUDE_TAGS (resp. SELECT_TAGS).

EXPORT_ prefix is required for subtree properties relative to export.
Thus, this change avoids confusion.
2012-07-04 18:38:48 +02:00
Nicolas Goaziou c96431a2ea org-export: Small clean-up
* contrib/lisp/org-export.el (org-export-get-subtree-options): Small
  clean-up.
2012-07-04 18:00:31 +02:00
Nicolas Goaziou a69f4b88c1 org-export: Fix byte-compilation
* contrib/lisp/org-export.el (org-export-with-current-buffer-copy):
  Fix byte-compilation.
2012-07-02 11:56:17 +02:00
Nicolas Goaziou 0b89d5bcc6 org-export: Silence byte-compiler 2012-07-02 11:22:22 +02:00
Nicolas Goaziou fd52a24160 org-e-beamer: Fix customize group and a variable name 2012-07-01 21:58:24 +02:00
Nicolas Goaziou dab2505fb5 org-e-latex: Clean-up beamer parts in template
* contrib/lisp/org-e-latex.el (org-e-latex-template): Clean-up beamer
  parts in template.
2012-06-30 16:31:20 +02:00
Nicolas Goaziou e698ead540 Implement a Beamer back-end for org-export
* contrib/lisp/org-e-beamer.el: New file.
2012-06-30 16:31:19 +02:00
Nicolas Goaziou 475fac147b org-element: Every keyword starting with ATTR_ is an affiliated keyword
* contrib/lisp/org-element.el (org-element-affiliated-keywords):
  Remove attributes keywords from the list since they are, de facto,
  affiliated keywords.
(org-element-multiple-keywords): Remove "attr" keywords from the list
since they always belong to that list.
(org-element--affiliated-re, org-element-collect-affiliated-keywords,
org-element-interpret--affiliated-keywords): Handle special attr
keywords correctly.
2012-06-30 13:49:46 +02:00
Nicolas Goaziou ab82a9dcfe Update tests and comments for new snippet syntax
* contrib/lisp/org-export.el (org-export-snippet-translation-alist):
  Fix docstring.
(org-export-as): Fix code comment.
* testing/lisp/test-org-element.el: Update tests.
* testing/lisp/test-org-export.el: Update tests.
2012-06-30 10:01:28 +02:00
Nicolas Goaziou 2e38ed36cb org-element: New syntax for export snippets
* contrib/lisp/org-element.el (org-element-export-snippet-parser,
  org-element-export-snippet-interpreter,
  org-element-export-snippet-successor): Use "@@backend:contents@@"
  syntax.
2012-06-30 09:05:24 +02:00
Nicolas Goaziou cf8d979d8c org-element: Fix `org-element-map' when type looked after is plain text
* contrib/lisp/org-element.el (org-element-map): Fix `org-element-map'
  when type looked after is plain text.
2012-06-25 15:45:56 +02:00
Nicolas Goaziou 802fc6581d org-e-latex: Fix footnotes in item tags
* contrib/lisp/org-e-latex.el (org-e-latex--get-footnote-counter): New
  function.
(org-e-latex-footnote-reference): Use new function.
2012-06-23 10:50:24 +02:00
Nicolas Goaziou 9696250e53 org-element: Small refactoring
* contrib/lisp/org-element.el (org-element-map): Remove use of `every'
  function.
2012-06-22 15:30:13 +02:00
Nicolas Goaziou bafe0fb295 org-export: Fix bug with default DATE value
* contrib/lisp/org-export.el (org-export-get-global-options): Parse
  default value from parsed keywords, too.
* testing/lisp/test-org-export.el: Change test accordingly.
2012-06-22 15:07:07 +02:00
Nicolas Goaziou 62453c5bf4 Export backends: Interpret correctly DATE keyword
* contrib/lisp/org-e-ascii.el (org-e-ascii-template--document-title):
  Interpret correctly DATE keyword.
* contrib/lisp/org-e-html.el (org-e-html-format-date): Interpret
  correctly DATE keyword.
* contrib/lisp/org-e-latex.el (org-e-latex-template): Interpret
  correctly DATE keyword.
* contrib/lisp/org-e-odt.el (org-e-odt-format-preamble,
  org-e-odt-update-meta-file): Interpret correctly DATE keyword.
2012-06-20 12:33:23 +02:00
Nicolas Goaziou 500567fab3 org-element: Parse contents of DATE keyword
* contrib/lisp/org-element.el (org-element-parsed-keywords): Parse
  contents of DATE keyword.
2012-06-20 12:32:12 +02:00
Nicolas Goaziou fca0169147 org-e-latex: Allow previously definied footnotes in item tag
* contrib/lisp/org-e-latex.el (org-e-latex-footnote-reference): Allow
  previously definied footnotes in item tag.
2012-06-18 18:38:08 +02:00
Nicolas Goaziou e8aafa3337 org-e-latex: Refactor code
* contrib/lisp/org-e-latex.el (org-e-latex--delayed-footnotes-definitions):
  New function.
(org-e-latex-footnote-reference, org-e-latex-item): Use new function.
2012-06-18 14:28:47 +02:00
Nicolas Goaziou add8d28ba2 org-e-latex: Support for footnote references in an item tag 2012-06-18 12:39:17 +02:00
Nicolas Goaziou b2c413ecf6 org-element: Allow footnote references in an item tag
* contrib/lisp/org-element.el (org-element-object-restrictions): Allow
  footnote references in an item tag.
2012-06-18 12:01:40 +02:00
Nicolas Goaziou 2900138774 org-export: Fix error when calling "l" from dispatcher
* contrib/lisp/org-export.el (org-export-dispatch): Fix error when
  calling "l" from dispatcher.
2012-06-18 11:49:12 +02:00
Nicolas Goaziou a69e6b6225 org-e-latex: Make headlines more robust in toc
* contrib/lisp/org-e-latex.el (org-e-latex-headline): Allow curly
  brackets and replace square brackets with parenthesis in table of
  contents when tags are removed.
2012-06-18 11:42:22 +02:00
Nicolas Goaziou 769fa4f7ab org-e-latex: Follow `not-in-toc' specification for tags
* contrib/lisp/org-e-latex.el (org-e-latex-headline): Follow
  `not-in-toc' specification for tags.
2012-06-18 10:39:51 +02:00
Nicolas Goaziou 04ad4ab417 org-export: Follow EXPORT_TITLE property when exporting subtree
* contrib/lisp/org-export.el (org-export-get-subtree-options): Make
  sure point is at an headline and buffer isn't narrowed before
  looking for EXPORT_TITLE property.
* testing/lisp/test-org-export.el: Add test.
2012-06-18 01:34:57 +02:00
Jambunathan K a975751527 org-e-odt.el: Use `org-export-read-attribute' 2012-06-17 14:31:04 +05:30
Nicolas Goaziou 8840cd6ddc org-e-latex: Babel language set through LANGUAGE keyword is loaded last
* contrib/lisp/org-e-latex.el (org-e-latex--guess-babel-language):
  Make sure Babel language set through LANGUAGE keyword is loaded
  last.
2012-06-15 17:19:26 +02:00
Nicolas Goaziou 393f2f5ae8 org-e-latex: Set Babel language according to LANGUAGE keyword
* contrib/lisp/org-e-latex.el (org-e-latex-babel-language-alist): New
  variable.
(org-e-latex--guess-babel-language): New function.
(org-e-latex-template): Set babel language according to LANGUAGE keyword.
2012-06-15 12:07:21 +02:00
Nicolas Goaziou a2fd96a3de org-export: Fix code comments 2012-06-12 17:31:48 +02:00
Nicolas Goaziou f2bfa3a6b2 org-element: Fix item interpreter when item doesn't start with a paragraph
* contrib/lisp/org-element.el (org-element-item-interpreter): Fix item
  interpreter when item doesn't start with a paragraph.
* testing/lisp/test-org-element.el: Add test.
2012-06-12 14:29:53 +02:00
Nicolas Goaziou eb69035d5e org-export: Fix template for derived back-ends
* contrib/lisp/org-export.el (org-export-as): Fix template for derived
  back-ends.
2012-06-12 13:48:19 +02:00
Nicolas Goaziou 68a595ce9d org-export: Add `org-export-read-attribute' for normalized attr lines
* contrib/lisp/org-export.el (org-export-read-attribute): New function.
* testing/lisp/test-org-export.el: Add test.
2012-06-12 10:25:00 +02:00
Nicolas Goaziou 168c83e6d4 org-export: Correctly export check-boxes in description lists
* contrib/lisp/org-e-ascii.el (org-e-ascii--current-text-width): Pay
  attention to length of check-box, if any when computing text width.
(org-e-ascii--checkbox): New function.
(org-e-ascii-item): Allow check-boxes in description lists.
(org-e-ascii-paragraph): Refactor code.
* contrib/lisp/org-e-html.el (org-e-html-format-list-item): Allow
  check-boxes in description lists.
* contrib/lisp/org-e-latex.el (org-e-latex-item): Allow check-boxes in
  description lists.
* contrib/lisp/org-e-odt.el (org-e-odt--checkbox): New function.
(org-e-odt-item): Allow check-boxes in description lists.
(org-e-odt-paragraph): Do not add checkbox in front of paragraph if it
belongs to a description item, since the box will be attached to the
tag.
2012-06-09 15:34:27 +02:00
Nicolas Goaziou c88599424c org-e-html: Remove spurious newline characters
* contrib/lisp/org-e-html.el (org-e-html-example-block,
  org-e-html-fixed-width, org-e-html-horizontal-rule,
  org-e-html-inlinetask, org-e-html-paragraph, org-e-html-src-block,
  org-e-html-table-row): Remove spurious newline characters.
2012-06-09 13:24:17 +02:00
Nicolas Goaziou f56e862b1e org-export: Change signatures of first-sibling-p and last-sibling-p
* contrib/lisp/org-export.el (org-export-first-sibling-p,
  org-export-last-sibling-p): Remove communication channel from
  signature.
* contrib/lisp/org-e-html.el (org-e-html-headline): Apply signature
  changes.
* contrib/lisp/org-e-latex.el (org-e-latex-headline): Apply signature
  changes.
* contrib/lisp/org-e-odt.el (org-e-odt-headline): Change code
  comments.
2012-06-09 11:34:16 +02:00
Nicolas Goaziou 4dee3eb952 org-export: Update code comments 2012-06-09 10:31:46 +02:00
Nicolas Goaziou e23f506d98 org-export: Add function to change elements in parse tree
* contrib/lisp/org-export.el (org-export-get-buffer-attributes):
  Ensure initial accumulator in non-nil.
(org-export-set-element): New function.
* testing/lisp/test-org-export.el: Add test.
2012-06-09 00:17:40 +02:00
Nicolas Goaziou 03739dd512 org-export: Fix code typo
* contrib/lisp/org-export.el (org-export-get-ordinal): Fix code typo.
2012-06-09 00:17:40 +02:00
Nicolas Goaziou 4728a4611e org-export: Rewrite topology functions
* contrib/lisp/org-export.el (org-export-get-genealogy,
  org-export-get-parent, org-export-get-parent-headline,
  org-export-get-parent-table): Rewrite function to use :parent
  property.  Remove communication channel from signature.
(org-export-get-parent-element): Rename from
`org-export-get-parent-paragraph'.
(org-export-data, org-export-table-row-is-special-p)
org-export-table-row-group, org-export-table-cell-starts-colgroup-p,
org-export-table-cell-ends-colgroup-p,
org-export-table-row-starts-header-p,
org-export-table-row-ends-header-p, org-export-table-cell-address,
org-export-first-sibling-p, org-export-last-sibling-p,
org-export-resolve-fuzzy-link, org-export-get-ordinal): Apply
signature change.
(org-export--skip-p, org-export-table-cell-width,
org-export-table-cell-alignment, org-export-table-cell-borders):
Refactor code.  Apply signature change.
* contrib/lisp/org-e-ascii.el (org-e-ascii--current-text-width,
  org-e-ascii--unique-links, org-e-ascii-inlinetask,
  org-e-ascii-item, org-e-ascii-paragraph, org-e-ascii-quote-section,
  org-e-ascii-section, org-e-ascii--table-cell-width): Apply signature
  change.
* contrib/lisp/org-e-html.el (org-e-html-link,
  org-e-html-link--inline-image): Use new function and apply signature
  change.
(org-e-html-item, org-e-html-standalone-image-p, org-e-html-paragraph,
org-e-html-section, org-e-html-table-cell, org-e-html-table-row,
org-e-html-footnote-reference): Apply signature change.
* contrib/lisp/org-e-latex.el (org-e-latex-link--inline-image): Use
  new function and apply signature change.
(org-e-latex-footnote-reference, org-e-latex-item,
org-e-latex-table-cell, org-e-latex-table-row): Apply signature
change.
* contrib/lisp/org-e-odt.el (org-e-odt-format-formula,
  org-e-odt-format-label, org-e-odt-link--inline-image): Use new
  function and apply signature change.
(org-e-odt-item, org-e-odt-standalone-image-p, org-e-odt-paragraph,
org-e-odt-plain-list, org-e-odt-table-style-spec,
org-e-odt-get-table-cell-styles, org-e-odt-table-cell,
org-e-odt-table-row, org-e-odt-table, org-e-odt-footnote-reference,
org-e-odt-enumerate-element): Apply signature change.
2012-06-09 00:17:30 +02:00
Nicolas Goaziou af285d6c8c org-element: Add `:parent' property to elements/objects in parse tree
* contrib/lisp/org-element.el (org-element-parse-buffer): Correctly
  set original parent.
(org-element-parse-elements, org-element-parse-objects): Set `:parent'
property of each element/object.
* testing/lisp/test-org-element.el: Add tests.
2012-06-08 23:29:21 +02:00
Nicolas Goaziou 3f0f8734ff org-export: Suppress some byte-compiling warnings 2012-06-08 16:12:47 +02:00
Nicolas Goaziou a147dc3150 org-e-html: Links inherit attributes from their paragraph container
* contrib/lisp/org-e-html.el (org-e-html-link): Add attributes from
  paragraph container.
2012-06-08 15:25:29 +02:00
Nicolas Goaziou 451191bc41 org-export: Correctly resolve fuzzy links whose path starts with *
* contrib/lisp/org-export.el (org-export-resolve-fuzzy-link):
  Correctly resolve fuzzy links whose path starts with *
* testing/lisp/test-org-export.el: Add tests.
2012-06-07 00:06:19 +02:00
Nicolas Goaziou ad235400a6 org-export: Support for external id links
* contrib/lisp/org-export.el (org-export-get-buffer-attributes):
  Retrieve footnote definitions and id in buffer.
(org-export-store-footnote-definitions): Removed function.
(org-export-collect-tree-properties): Update docstring.
(org-export-as): Do not call `org-export-store-footnote-definitions'.
(org-export-resolve-id-link): Return external file name when there's
no match for id in current parse tree.
* contrib/lisp/org-e-latex.el (org-e-latex-link): Handle external id
  links.
* testing/lisp/test-org-export.el: Add tests.
2012-06-06 23:39:04 +02:00
Jambunathan K 03fbf6b161 org-e-odt.el: Support for indented tables (first cut) 2012-06-05 19:34:20 +05:30
Jambunathan K 1dc00c5ddb org-e-odt.el: Handle checkboxes
Cleanup lists: Preparing for indented tables (Take 2)
Disable listification of deep headings
2012-06-04 03:59:49 +05:30
Jambunathan K fe2e2f1550 org-e-html.el: Remove org-element and org-export related declarations 2012-06-03 18:44:09 +05:30
Jambunathan K 066afd05ad org-e-odt.el: Remove org-element and org-export related declarations 2012-06-03 18:24:52 +05:30
Jambunathan K 160c7ee356 Preparing for typesetting of indented tables 2012-06-03 18:07:21 +05:30
Jambunathan K ec368e844d org-e-odt: Remove dependency on `org-e-html-encode-plain-text' 2012-06-03 02:59:35 +05:30
Jambunathan K ca6f523ff5 org-e-html: Honor `org-e-html-link-org-files-as-html' 2012-06-02 20:25:41 +05:30
Jambunathan K 1d7e78ebf8 org-e-odt: Turn off `org-e-odt-prettify-xml' 2012-06-02 19:42:26 +05:30
Jambunathan K d728c17004 org-e-html.el: Properly render relative file URLs 2012-06-02 17:07:56 +05:30
Jambunathan K 2d71a58ef3 org-e-html: Use <a>...</a> instead of <a/> 2012-06-02 15:37:10 +05:30
Jambunathan K 02f3ee40f3 org-e-html: Fix misc. bugs 2012-06-02 05:34:20 +05:30
Jambunathan K 984748641b org-e-html: Don't use default href for headlines linked via customid.
If headline is linked via customid in Org file, use customid in HTML
export as well.  Additionally, while linking to headline from within a
TOC section, use customid preferentially in HTML export.
2012-06-02 05:12:00 +05:30
Jambunathan K 40e710bbd5 org-e-odt: Add require + autoload cookie 2012-06-02 01:13:47 +05:30
Nicolas Goaziou c1ba122a57 org-e-html: Remove spurious newline character before paragraphs
* contrib/lisp/org-e-html.el (org-e-html-paragraph): Remove spurious
  newline character before paragraphs.
2012-06-01 18:25:15 +02:00
Jambunathan K 72bb8dc691 org-e-html.el: Honor CUSTOM_IDs in outline headings 2012-05-31 02:56:59 +05:30
Jambunathan K 11ef636f55 org-e-html.el: Fix XML declaration.
Also add autoload cookie and a require.
2012-05-31 00:00:56 +05:30
Nicolas Goaziou 4aa8693c2c org-export: Remove paths from requires
* contrib/lisp/org-export.el: Remove paths from requires.
2012-05-28 15:49:07 +02:00
Nicolas Goaziou 4b0121fc2a org-export: Move requires into dispatcher
* contrib/lisp/org-export.el (org-export-dispatch): Move requires into
  dispatcher.

This is a temporary change, until interactive functions in back-ends
can be properly autoloaded.
2012-05-28 09:34:23 +02:00
Jambunathan K 540dfce8fe org-e-html.el: Handle #+STYLE, #+LINK_UP, #+LINK_HOME 2012-05-27 17:44:12 +05:30
Jambunathan K c554052def org-e-odt.el: Introduce :header-columns as a new table attribute 2012-05-26 23:50:38 +05:30
Nicolas Goaziou 09164e5c72 org-export: Hide select tags
* contrib/lisp/org-export.el (org-export-get-tags): New function.
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-title): Use new function.
* contrib/lisp/org-e-html.el (org-e-html-format-headline--wrap,
  org-e-html-headline): Use new function.
* contrib/lisp/org-e-latex.el (org-e-latex-headline,
  org-e-latex-inlinetask): Use new function.
* contrib/lisp/org-e-odt.el (org-e-odt-format-headline--wrap): Use new
  function.
* testing/lisp/test-org-export.el: Add tests.
2012-05-26 13:52:03 +02:00
Nicolas Goaziou 68744bf19f org-export: Fix selective export when a select tag is present
* contrib/lisp/org-export.el (org-export-populate-ignore-list): Fix
  docstring.
(org-export--selected-trees): Correctly search for headlines with
a select tag.
(org-export--skip-p): Fix selective export when a select tag is
present in the buffer.
* testing/lisp/test-org-export.el: Update tests.
2012-05-26 13:51:55 +02:00
Jambunathan K 8ee5ce1d2b org-e-odt.el: Fix example, fixed width, QUOTE and verse blocks 2012-05-26 02:55:22 +05:30
Jambunathan K b00eeb4d5a org-e-odt.el: Some cleanups 2012-05-26 00:09:53 +05:30
Nicolas Goaziou 8d96bbc5c3 org-element: Update entities regexp
* contrib/lisp/org-element.el (org-element-entity-parser, org-element-latex-or-entity-successor):
Update entities regexp.
2012-05-25 16:53:32 +02:00
Jambunathan K f12e41e37c org-e-odt: Handle quotation marks etc
Handle quotation marks, special strings, line breaks

Avoid corrupt of ODT files when
`nxml-auto-insert-xml-declaration-flag' is on.
2012-05-25 09:29:05 +05:30
Nicolas Goaziou 5d1c7e741b Update some docstrings and comments
* contrib/lisp/org-e-ascii.el (org-e-ascii-table,
  org-e-ascii--table-cell-width): Update docsring.
* contrib/lisp/org-e-html.el (org-e-html-table): Update docstring.
* contrib/lisp/org-e-latex.el (org-e-latex-table): Update docstring.
* contrib/lisp/org-e-odt.el (org-e-odt-table): Update docstring.
2012-05-23 23:21:25 +02:00
Nicolas Goaziou 00a4bf0663 org-e-latex: Reordering functions 2012-05-23 16:29:16 +02:00
Nicolas Goaziou 4721052ec6 org-e-ascii: Small refactoring
* contrib/lisp/org-e-ascii.el (org-e-ascii--unique-links): Small refactoring.
2012-05-21 21:54:09 +02:00
Nicolas Goaziou dc976e1139 org-export: Only number elements with a caption
* contrib/lisp/org-export.el (org-export-collect-elements): Collect
  elements with a caption only.
(org-export-collect-tables, org-export-collect-figures,
org-export-collect-listings): Update docstring.
* contrib/lisp/org-e-ascii.el (org-e-ascii--has-caption-p): Renamed
  from `org-e-ascii--has-caption-or-name-p'.
(org-e-ascii-link): Use previous function.
(org-e-ascii--build-caption, org-e-ascii--list-listings,
org-e-ascii--list-tables): Do not use #+NAME keyword as a fallback caption.
2012-05-21 21:38:42 +02:00
Nicolas Goaziou 42f7ba0d02 org-element: Fix ill-defined keywords parsing
* contrib/lisp/org-element.el (org-element-comment-parser):
  Ill-defined keywords (without the colons) are treated as comments.
(org-element-comment-interpreter): Apply changes to lexer.
* testing/lisp/test-org-element.el: Add test.
2012-05-20 17:33:36 +02:00
Nicolas Goaziou 65c0e18892 org-e-ascii: Ensure consistent cross-referencing between elements and links
* contrib/lisp/org-e-ascii.el (org-e-ascii--has-caption-or-name-p):
  New function.
(org-e-ascii--build-caption, org-e-ascii-link): Use new function.

This patch ensures only elements with a name or a caption are counted
in when a fuzzy link pointing to an element is resolved.
2012-05-20 13:57:58 +02:00
Nicolas Goaziou c91bcb368f org-export: Fix macro expansion when back-end protects dollar signs
* contrib/lisp/org-export.el (org-export-get-inbuffer-options): Return
  an "eval" macro as a regular secondary string instead of a plain
  string.
(org-export-expand-macro): Replace arguments before exporting
them (and possibly protecting dollar signs).  Refactor code.
* testing/lisp/test-org-export.el: Add tests.
2012-05-20 12:18:16 +02:00
Nicolas Goaziou 368a7f69c4 org-export: Move translate-alist into communication channel
* contrib/lisp/org-export.el (org-export-get-environment): Move
  translate-alist in communication channel.  Refactor code.
(org-export-transcoder): Retrieve transcoder from communication
channel instead of global variable.
2012-05-20 12:18:11 +02:00
Nicolas Goaziou 57cfa6aa9b org-export: Fix macro expansion error
* contrib/lisp/org-export.el (org-export-expand-macro): Fix code typo.
2012-05-20 09:57:33 +02:00
Nicolas Goaziou c84cda961f Fix some more comments in export back-ends 2012-05-18 21:06:12 +02:00
Nicolas Goaziou 946230bae4 A few fixes to comments and docstrings 2012-05-18 17:26:53 +02:00
Nicolas Goaziou 893a0915b5 org-e-latex: Customizable format string for broken links
* contrib/lisp/org-e-latex.el (org-e-latex-link-with-unknown-path-format):
  New variable.
(org-e-latex-link): Use new variable.
2012-05-18 12:42:32 +02:00
Nicolas Goaziou 5ab59625e6 org-e-publish: Apply #+INCLUDE keyword regexp change
* contrib/lisp/org-e-publish.el (org-e-publish-cache-file-needs-publishing):
  Make quotes mandatory around the file name and allow spaces in
  it.
2012-05-18 11:48:15 +02:00
Nicolas Goaziou 507b3c937b org-export: Fill `org-export-current-backend' before pre-parsing hook
* contrib/lisp/org-export.el (org-export-as): Store current back-end
  in `org-export-current-backend' before running
  `org-export-before-parsing-hook'.
2012-05-18 11:42:16 +02:00
Nicolas Goaziou 51472b4d33 org-export: Implement `org-export-resolve-radio-link'
* contrib/lisp/org-export.el (org-export-resolve-coderef): New function.
* contrib/lisp/org-e-ascii.el (org-e-ascii-link): Use new function.
* contrib/lisp/org-e-html.el (org-e-html-link): Use new function.
* contrib/lisp/org-e-latex.el (org-e-latex-link): Use new function.
* contrib/lisp/org-e-odt.el (org-e-odt-link): Use new function.
* testing/lisp/test-org-export.el: Add tests.
2012-05-18 11:42:16 +02:00
Nicolas Goaziou e1eb6a4af2 org-export: Rename `org-export-option-alist' into `org-export-options-alist'
* contrib/lisp/org-e-ascii.el (org-e-ascii-options-alist): Renamed
  from `org-e-ascii-option-alist'.
* contrib/lisp/org-e-html.el (org-e-html-options-alist): Renamed from
  `org-e-html-option-alist'.
* contrib/lisp/org-e-latex.el (org-e-latex-options-alist): Renamed
  from `org-e-latex-option-alist'.
* contrib/lisp/org-e-odt.el (org-e-odt-options-alist): Renamed from
  `org-e-odt-option-alist'.
* contrib/lisp/org-export.el (org-export-define-derived-backend,
  org-export-parse-option-keyword, org-export-get-inbuffer-options,
  org-export-get-global-options): Rename `org-export-option-alist'
  into `org-export-options-alist'.
2012-05-18 11:42:16 +02:00
Nicolas Goaziou 69f7a9b67f org-export: Implement `org-export-define-derived-backend'
* contrib/lisp/org-export.el (org-export-define-derived-backend): New
  function.
2012-05-18 11:42:15 +02:00
Nicolas Goaziou 7421e96536 org-export: Remove naming convening for back-ends
* contrib/lisp/org-e-ascii.el (org-e-ascii-translate-alist): New variable.
* contrib/lisp/org-e-html.el (org-e-html-translate-alist): New
  variable.
(org-e-html-filters-alist): Move variable into an appropriate section.
* contrib/lisp/org-e-latex.el (org-e-latex-translate-alist): New variable.
* contrib/lisp/org-e-odt.el (org-e-odt-translate-alist): New variable.
(org-e-odt-option-alist): Move variable into an appropriate section.
* contrib/lisp/org-export.el (org-export-transcoder): Retrieve
  translators from `org-BACKEND-translate-alist' instead of applying
  a naming convention to each of them.
* testing/lisp/test-org-export.el: Update tests.
2012-05-18 11:42:15 +02:00
Nicolas Goaziou 1c2aaca837 org-e-ascii: Table cells are exported with proper export options
* contrib/lisp/org-e-ascii.el (org-e-ascii-superscript): Table cells
  are exported with proper export options.
2012-05-18 11:42:15 +02:00
Jambunathan K 5847931b37 org-e-odt.el: Fix italic style 2012-05-17 19:36:32 +05:30
Nicolas Goaziou 323836f0ff org-export: Fix code comments
* contrib/lisp/org-export.el (org-export-resolve-fuzzy-link): Fix code comments.
2012-05-12 10:45:06 +02:00
Nicolas Goaziou 5750f0869c org-element: Preserve visibility when moving elements
* contrib/lisp/org-element.el (org-element-swap-A-B): Preserve
  visibility when moving elements.
* testing/lisp/test-org-element.el: Add tests.
2012-05-11 16:07:11 +02:00
Nicolas Goaziou d71464c0d3 org-element: Handle multiple TBLFM keywords
* contrib/lisp/org-element.el (org-element-table-parser,
  org-element-table-interpreter): Handle multiple TBLFM keywords.
(org-element-collect-affiliated-keywords): Minor changes to
docstring.
* testing/lisp/test-org-element.el: Add test.
2012-05-11 15:17:14 +02:00
Nicolas Goaziou d308ea3172 org-element: Fix latex environment parsing
* contrib/lisp/org-element.el (org-element-latex-environment-parser):
  Grab value until closing of main environment block.
(org-element-current-element): Check if main block is properly closed.
* testing/lisp/test-org-element.el: Add test.
2012-05-10 23:05:42 +02:00
Christian Egli 294589270e org2hpda: Adapt to modern pdfjam
* contrib/scripts/org2hpda (all): Adapt the invocation of pdfnup and
pdfjoin to a modern version of the pdfjam package.

Since version 2.0 of pdfjam, i.e. since 2010-03-14 some of the default
values for parameters have changed. This makes sure org2hpda does the
right thing under the new circumstances.
2012-05-10 16:31:46 +02:00
Nicolas Goaziou b797c88d70 org-e-latex: Fix export of tables with a percent in caption
* contrib/lisp/org-e-latex.el (org-e-latex-table): Refactor code.
(org-e-latex-table--org-table, org-e-latex-table--table.el-table): New
functions.
(org-e-latex-table--format-string): Removed function.
2012-05-07 15:21:25 +02:00
Nicolas Goaziou e1d6c251ae org-export: Fix uninterpreted syntax status
* contrib/lisp/org-export.el (org-export-data): Send uninterpreted Org
  syntax into export process again, so plain text transformations
  still can be applied on it.
2012-05-07 13:32:49 +02:00
Nicolas Goaziou cbc1c03680 org-element: Allow targets in a few more places
* contrib/lisp/org-element.el (org-element-object-restrictions): Allow
  targets in a few more places.
2012-05-07 08:53:31 +02:00
Nicolas Goaziou b5c0d7d2d1 org-e-latex: Fix table alignment for tables starting with a rule
* contrib/lisp/org-e-latex.el (org-e-latex-table--align-string): Fix
  table alignment for tables starting with a rule.
2012-05-06 20:10:21 +02:00
Nicolas Goaziou e8d291bc76 org-e-latex: Fix multicolumn handling for figures
* contrib/lisp/org-e-latex.el (org-e-latex-link--inline-image): Fix typo.
2012-05-06 08:27:56 +02:00
Paul Sexton eb48e426d5 org-drill: prevent fontifcation functions from being called when saving outline
visibility info during drill sessions. This should fix slow transitions between drill
items for some people.
2012-05-06 10:45:39 +12:00
Nicolas Goaziou 212819c5d0 org-export: Properly handle export-block elements
* contrib/lisp/org-e-ascii.el (org-e-ascii-export-block): type
  attribute is always uppercase.
* contrib/lisp/org-e-html.el (org-e-html-export-block): type attribute
  is always uppercase.
* contrib/lisp/org-e-latex.el (org-e-latex-export-block): type
  attribute is always uppercase.
* contrib/lisp/org-e-odt.el (org-e-odt-export-block): type attribute
  is always uppercase.
2012-05-05 22:47:00 +02:00
Nicolas Goaziou 557fad288b org-element: Silence byte-compiler 2012-05-05 21:02:47 +02:00
Nicolas Goaziou 1d0f8b2611 org-e-latex: Fix code typo
* contrib/lisp/org-e-latex.el (org-e-latex--text-markup): Fix code typo.
2012-05-05 20:09:02 +02:00
Nicolas Goaziou 64cdd8879b org-element: Fix paragraph separator
* contrib/lisp/org-element.el (org-element-paragraph-separate): Fix
  paragraph separator.
2012-05-05 18:05:33 +02:00
Nicolas Goaziou b7dbf357c3 org-element: Small modifications to comments 2012-05-05 17:43:42 +02:00
Nicolas Goaziou e4c2540b68 org-element: Add a function to fill an element
* contrib/lisp/org-element.el (org-element-fill-paragraph): New function.
* testing/lisp/test-org-element.el: Add tests.
2012-05-05 17:43:42 +02:00
Nicolas Goaziou 88032eed64 org-element: `org-element-map' applies to strings and secondary strings
* contrib/lisp/org-element.el (org-element-map): `org-element-map' now
  applies to strings and secondary strings.
* testing/lisp/test-org-element.el: Add tests.
2012-05-05 17:43:42 +02:00
Nicolas Goaziou 5cbc56a175 org-element: Small modification to `org-element-block-name-alist'
* contrib/lisp/org-element.el (org-element-block-name-alist): Directly
  store parser's name in CDR.
2012-05-05 12:41:32 +02:00
Nicolas Goaziou 761add3580 org-element: Remove an obsolete defconst
* contrib/lisp/org-element.el (org-element--element-block-re): Remove
  variable.
2012-05-05 11:31:05 +02:00
Nicolas Goaziou ed9a748057 org-element: Refactor navigation tools
* contrib/lisp/org-element.el (org-element-at-point,
  org-element-backward, org-element-up, org-element-down,
  org-element-drag-backward): Refactor.
(org-element-swap-A-B): Handle the case of the first paragraph in an
item.
(org-element-transpose): New function.
(org-transpose-elements): Removed function.
(org-element-unindent-buffer): Correctly un-indent contents of
headlines.
* testing/lisp/test-org-element.el: Add tests.
2012-05-05 09:15:33 +02:00
Nicolas Goaziou b137cdb296 org-element: Fix to footnote-definition parsing
* contrib/lisp/org-element.el (org-element-footnote-definition-parser):
Fix bug when parsing a footnote definition at end of buffer.
* testing/lisp/test-org-element.el: Add test.
2012-05-05 09:15:33 +02:00
Nicolas Goaziou 2a6b7c87f4 org-element: Remove :level attribute from plain-list elements
* contrib/lisp/org-element.el (org-element-plain-list-parser):
  Remove :level attribute from plain-list elements since it isn't
  directly related to the plain-list and can be computed during export
  process.
* contrib/lisp/org-e-latex.el (org-e-latex-item): Compute list level.
* contrib/lisp/org-e-html.el (org-e-html-item): Remove unneeded
  reference to :level attribute.
* contrib/lisp/org-e-odt.el (org-e-odt-item): Remove unneeded
  reference to :level attribute.
2012-05-05 09:15:33 +02:00
Nicolas Goaziou d83ab52626 org-element: Refactor code, add tests
* contrib/lisp/org-element.el (org-element-babel-call-parser): Be sure
  to match "#+CALL:".
(org-element-block-name-alist): New variable.
(org-element-non-recursive-block-alist): Removed variable.
(org-element-current-element): Refactor.
* testing/lisp/test-org-element.el: Add tests.
2012-05-05 09:15:33 +02:00
Paul Sexton 5412883c1d org-drill: prevent errors caused by attempting to display inline images on a non-graphical display. 2012-05-05 08:09:22 +12:00
Nicolas Goaziou 72ca00ca09 org-e-ascii: Fix table export bug when ignoring sub/superscript
* contrib/lisp/org-e-ascii.el (org-e-ascii--table-cell-width):
  Refactor code.
* contrib/lisp/org-export.el: Do not normalize contents when expanding
  them, since it will be done at the end of the function, and only for
  elements.
2012-05-04 14:02:41 +02:00
Nicolas Goaziou 01d83dc1f4 org-export: Fix table export bug with cells made of only one object
* contrib/lisp/org-export.el (org-export-table-row-is-special-p,
  org-export-table-cell-width, org-export-table-cell-alignment):
  Ensure cell only contains a string before trying to match width
  cookie.
* testing/lisp/test-org-export.el: Modify tests accordingly.

Thanks to Eric Fraga for discovering and investigating about this.
2012-05-03 14:29:30 +02:00
Nicolas Goaziou f4791557e2 org-element: Store fixed-with and comment contents without markers
* contrib/lisp/org-element.el (org-element-comment-parser): Store
  comments without leading hash and maybe plus sign.
(org-element-fixed-width-parser): Store fixed-width contents without
leading colons.
(org-element-comment-interpreter,
org-element-fixed-width-interpreter): Apply changes.
* contrib/lisp/org-e-odt.el (org-e-odt-fixed-width): Apply changes to
  fixed-width `:value' property.
* contrib/lisp/org-e-latex.el (org-e-latex-fixed-width): Apply changes
  to fixed-width `:value' property.
* contrib/lisp/org-e-html.el (org-e-html-fixed-width): Apply changes
  to fixed-width `:value' property.
* contrib/lisp/org-e-ascii.el (org-e-ascii-fixed-width): Apply changes
  to fixed-width `:value' property.
* testing/lisp/test-org-element.el: Add tests.
2012-05-02 17:25:30 +02:00
Nicolas Goaziou 172d7a6f5e org-element: Apply `org-translate-link' when parsing a link
* contrib/lisp/org-element.el (org-element-link-parser): Apply
  `org-translate-link' when parsing a link.
* testing/lisp/test-org-element.el: Add test.
2012-05-01 15:47:14 +02:00
Nicolas Goaziou 32a5920e69 org-element: Internally store headline/inlinetask's tags as a list of strings
* contrib/lisp/org-element.el (org-element-headline-parser,
  org-element-headline-interpreter, org-element-inlinetask-parser,
  org-element-inlinetask-interpreter): Store headline/inlinetask's
  tags as a list of strings.
* contrib/lisp/org-export.el (org-export--selected-trees,
  org-export--skip-p): Use new tag representation.
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-title,
  org-e-ascii-format-inlinetask-function, org-e-ascii-inlinetask): Use
  new tag representation.
* contrib/lisp/org-e-html.el (org-e-html-format-headline-function,
  org-e-html-format-inlinetask-function, org-e-html--tags): Use new
  tag representation.
* contrib/lisp/org-e-latex.el (org-e-latex-format-headline-function,
  org-e-latex-format-inlinetask-function, org-e-latex-headline,
  org-e-latex-inlinetask): Use new tag representation.
* contrib/lisp/org-e-odt.el (org-e-odt-format-org-tags): Use new tag
  representation.
* testing/lisp/test-org-element.el: Update test.
2012-05-01 14:29:40 +02:00
Nicolas Goaziou 4f8e1e85b2 org-element: Interpret headlines without a `:pre-blank' property
* contrib/lisp/org-element.el (org-element-headline-interpreter):
  Interpret headlines without a `:pre-blank' property.
2012-05-01 12:20:06 +02:00
Nicolas Goaziou 49228181ee org-element: code clean-up and some optimizations
* contrib/lisp/org-element.el (org-element-center-block-parser,
  org-element-plain-list-parser, org-element-quote-block-parser,
  org-element-special-block-parser, org-element-comment-parser,
  org-element-comment-block-parser, org-element-example-block-parser,
  org-element-export-block-parser, org-element-fixed-width-parser,
  org-element-horizontal-rule-parser, org-element-keyword-parser,
  org-element-latex-environment-parser, org-element-paragraph-parser,
  org-element-property-drawer-parser, org-element-src-block-parser,
  org-element-table-parser): Since parser will alway be called at the
  beginning of the element, simplify code.
2012-05-01 01:02:48 +02:00
Nicolas Goaziou 2ab6367daf org-element: Interpret correctly switches in example blocks
* contrib/lisp/org-element.el (org-element-example-block-interpreter):
  Interpret correctly switches in example blocks.
* testing/lisp/test-org-element.el: Add test.
2012-04-30 23:44:30 +02:00
Nicolas Goaziou 537ab2ada3 org-element: Interpret secondary strings with `org-element-interpret-data'
* contrib/lisp/org-element.el (org-element-headline-interpreter,
  org-element-inlinetask-interpreter, org-element-item-interpreter,
  org-element-footnote-reference-interpreter,
  org-element-interpret--affiliated-keywords): Use
  `org-element-interpret-data' instead of
  `org-element-interpret-secondary'.
(org-element-interpret-data): Handle secondary strings.  Refactor
code.
(org-element-interpret-secondary): Remove function
* contrib/lisp/org-export.el (org-export-table-cell-alignment): Use
  `org-element-interpret-data' instead of
  `org-element-interpret-secondary'.
2012-04-30 20:10:54 +02:00
Nicolas Goaziou 03813d9bc4 org-export: Secondary strings are transcoded with `org-export-data'
* contrib/lisp/org-export.el (org-export-transcoder): New function.
(org-export-data): Also export secondary strings.  Refactored.
(org-export-secondary-string): Remove function.
(org-export-expand): Fix code indentation.
(org-export-expand-macro): Use `org-export-data' instead of
`org-export-secondary-string'.
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-title,
  org-e-ascii--build-caption, org-e-ascii--list-listings,
  org-e-ascii--list-tables, org-e-ascii--describe-links,
  org-e-ascii-template--document-title, org-e-ascii-inlinetask,
  org-e-ascii-item, org-e-ascii-link, org-e-ascii-quote-section,
  org-e-ascii--table-cell-width): Use `org-export-data' instead of
  `org-export-secondary-string'.
* contrib/lisp/org-e-html.el (org-e-html-footnote-section,
org-e-html--caption/label-string, org-e-html-meta-info,
org-e-html-preamble, org-e-html-template,
org-e-html-format-headline--wrap, org-e-html-headline,
org-e-html-item, org-e-html-link): Use `org-export-data' instead of
`org-export-secondary-string'.
* contrib/lisp/org-e-latex.el (org-e-latex--caption/label-string,
  org-e-latex-template, org-e-latex-footnote-reference,
  org-e-latex-headline, org-e-latex-inlinetask, org-e-latex-item,
  org-e-latex-link, org-e-latex-src-block): Use `org-export-data'
  instead of `org-export-secondary-string'.
* contrib/lisp/org-e-odt.el (org-e-odt-format-preamble,
  org-e-odt-format-label, org-e-odt-update-meta-file,
  org-e-odt--caption/label-string, org-e-odt-footnote-def,
  org-e-odt-format-headline--wrap, org-e-odt-headline, org-e-odt-item,
  org-e-odt-latex-environment, org-e-odt-link, org-e-odt-src-block):
  Use `org-export-data' instead of `org-export-secondary-string'.
2012-04-30 20:10:54 +02:00
Nicolas Goaziou 15315c5cc6 org-element: Fix src-block switches parsing
* contrib/lisp/org-element.el (org-element-src-block-parser): Fix
  switches parsing.
* testing/lisp/test-org-element.el: Add test.
2012-04-30 18:21:35 +02:00
Nicolas Goaziou 99a5d6bea8 org-element: Small fix to previous commit
* contrib/lisp/org-element.el (org-element-export-snippet-parser):
  Small fix.
* testing/lisp/test-org-export.el: Fix test.
2012-04-30 17:49:55 +02:00
Nicolas Goaziou 803d76825a org-element: Change to export-snippet syntax
* contrib/lisp/org-element.el (org-element-export-snippet-parser):
  Change syntax from @back-end{contents} to <back-end@contents>.
(org-element-export-snippet-successor): Use new syntax
* testing/lisp/test-org-element.el: Add test.

This change is required as curly braces conflict with LaTeX syntax
when trying to break a command in two parts.  On the other hand, HTML
tags can be broken easily in two.  More explicitely, both the
following constructs are possible now:

  <latex@\textsc{>Name<latex@}> and <html@<b>>
2012-04-30 17:34:01 +02:00
Nicolas Goaziou bea597be96 org-export: Add `active' and `inactive' alternatives to `org-export-with-timestamps'
* contrib/lisp/org-export.el (org-export-with-timestamps): Allow to
  keep only active timestamps or inactive ones with respectively
  `active' and `inactive' values.
(org-export--skip-p): Update tests to determine if a timestamp should
be ignored.
* testing/lisp/test-org-export.el: Add tests.
* contrib/lisp/org-element.el: Fix some comments.
2012-04-29 22:55:37 +02:00
Nicolas Goaziou e3dfe717c8 org-export: Use (org-version) for creator string
* contrib/lisp/org-export.el (org-export-creator-string):
  Use (org-version) for creator string.
2012-04-29 15:52:14 +02:00
Nicolas Goaziou b5f4b526ca org-element: Rename `time-stamp' object type into `timestamp' 2012-04-29 02:26:57 +02:00
Nicolas Goaziou 941f90a649 org-export: Export `clock' and `planning' elements
* contrib/lisp/org-export.el (org-export-option-alist): Add new
  filters.
(org-export-with-clocks, org-export-with-planning,
org-export-filter-clock-functions,
org-export-filter-planning-functions): New variables.
(org-export--skip-p): Skip `clock' and `planning' types depending on
export options.
* contrib/lisp/org-e-ascii.el (org-e-ascii-clock,
  org-e-ascii-planning): New functions.
(org-e-ascii-time-stamp): Update function.  Use `org-translate-time'.
* contrib/lisp/org-e-html.el (org-e-html-clock, org-e-html-planning):
  New functions.
(org-e-html-time-stamp): Update function.
* contrib/lisp/org-e-latex.el (org-e-latex-clock,
  org-e-latex-planning): New functions.
(org-e-latex-time-stamp): Update function.  Use `org-translate-time'.
* contrib/lisp/org-e-odt.el (org-e-odt-clock, org-e-odt-planning): New
  functions.
(org-e-odt-time-stamp): Update function.  Use `org-translate-time'.
* testing/lisp/test-org-export.el: Add tests.
2012-04-29 02:26:33 +02:00
Nicolas Goaziou 5cd9c01757 org-element: Add `clock' and `planning' element types
* contrib/lisp/org-element.el (org-element-babel-call-parser): Fix
  property name.
(org-element-babel-call-interpreter, org-element--element-block-re):
Fix docstring.
(org-element-clock-parser, org-element-clock-interpreter,
org-element-planning-parser, org-element-planning-interpreter): New
functions.
(org-element-time-stamp-parser): Move planning keywords out of the
object: no more `:appt-type' property
(org-element-time-stamp-interpreter,
org-element-time-stamp-successor): Apply changes to previous function.
(org-element-paragraph-separate): Time keywords also end paragraphs.
(org-element-all-elements): Register new elements types.
(org-element-current-element): Recognize new elements.
(org-element-parse-elements): Fix comments.
* testing/lisp/test-org-element.el: Add tests.
2012-04-29 02:26:33 +02:00
Nicolas Goaziou 3621634861 org-element: Fix code typo
* contrib/lisp/org-element.el (org-element-object-successor-alist):
  Fix code typo.
2012-04-28 21:12:56 +02:00
Nicolas Goaziou fd5f561a3e org-element: Fix block parsing
* contrib/lisp/org-element.el (org-element-current-element): Fix
  regexp for block boundaries.
* testing/lisp/test-org-element.el (test-org-element/block-switches):
  Fix test.
2012-04-28 21:12:30 +02:00
Nicolas Goaziou 676846cd85 org-element: Don't forget to register new objects
* contrib/lisp/org-element.el (org-element-all-objects): Register new objects.
2012-04-28 19:01:25 +02:00
Nicolas Goaziou f70afc42ef org-export: Fix tests
* contrib/lisp/org-export.el (org-export-filters-alist): Remove
  unexistant filters.
2012-04-28 18:08:37 +02:00
Nicolas Goaziou b21b6ead24 org-element: Define new objects (bold, code, italic, ...)
* contrib/lisp/org-e-ascii.el (org-e-ascii-option-alist): Fix typo.
(org-e-ascii-bold, org-e-ascii-code, org-e-ascii-strike-through,
org-e-ascii-underline): New functions.
(org-e-ascii-emphasis): Remove function.
* contrib/lisp/org-e-html.el (org-e-html-text-markup-alist): Variable
  renamed from `org-e-html-emphasis-alist'.  Change value type.
(org-e-html-bold, org-e-html-italic, org-e-html-strike-through,
org-e-html-underline): New functions.
(org-e-html-verbatim): Update function.
(org-e-html-emphasis): Remove function.
* contrib/lisp/org-e-latex.el (org-e-latex-text-markup-alist):
  Variable renamed from `org-e-latex-emphasis-alist'.  Change value
  type.
(org-e-latex-center-block): Fix docstring.
(org-e-latex--text-markup, org-e-latex-bold, org-e-latex-code,
org-e-latex-italic, org-e-latex-strike-through,
org-e-latex-underline): New functions.
(org-e-latex-verbatim): Update function.
(org-e-latex-emphasis): Remove function.
* contrib/lisp/org-e-odt.el (org-e-odt-bold, org-e-odt-code,
  org-e-odt-italic, org-e-odt-strike-through, org-e-odt-underline):
  New functions.
(org-e-odt-verbatim): Update function.
(org-e-odt-center-block): Fix docstring.
(org-e-odt-emphasis): Remove function.
* contrib/lisp/org-element.el (org-element-bold-parser):
(org-element-bold-interpreter, org-element-code-parser,
org-element-code-interpreter, org-element-italic-parser,
org-element-italic-interpreter, org-element-strike-through-parser,
org-element-strike-through-interpreter, org-element-underline-parser,
org-element-underline-interpreter): New functions.
(org-element-emphasis-parser, org-element-emphasis-interpreter):
Remove functions.
(org-element-verbatim-parser, org-element-verbatim-interpreter,
org-element-text-markup-successor): Update function.
(org-element-object-successor-alist): Add associations for new object
types.
(org-element-recursive-objects): Add `bold', `italic',
`strike-through' and `underline' as recursive types.
(org-element-object-restrictions): Add restrictions for new recursive
object types.
* contrib/lisp/org-export.el (org-export-filters-alist): Add filters
  for new object types.
(org-export-with-todo-keywords): Add missing keywords.
(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-section-functions,
org-export-filter-quote-block-functions,
org-export-filter-section-functions,
org-export-filter-special-block-functions,
org-export-filter-src-block-functions,
org-export-filter-table-functions,
org-export-filter-table-cell-functions,
org-export-filter-table-row-functions,
org-export-filter-verse-block-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): Fix docstring.
(org-export-filter-bold-functions, org-export-filter-code-functions,
org-export-filter-italic-functions,
org-export-filter-strike-through-functions,
org-export-filter-underline-functions): New variables.
(org-export-filter-emphasis-functions): Remove variable.
* testing/lisp/test-org-element.el: Add tests.
2012-04-28 18:00:50 +02:00
Nicolas Goaziou 312e225685 org-export: Remove unnecessary back-end arguments
* contrib/lisp/org-e-ascii.el (org-e-ascii--build-title,
  org-e-ascii--build-caption, org-e-ascii--list-listings,
  org-e-ascii--list-tables, org-e-ascii--describe-links,
  org-e-ascii-template--document-title, org-e-ascii-dynamic-block,
  org-e-ascii-inlinetask, org-e-ascii-item, org-e-ascii-link,
  org-e-ascii-quote-section, org-e-ascii--table-cell-width): Do not
  provide back-end symbol.
* contrib/lisp/org-e-html.el (org-e-html--caption/label-string,
  org-e-html-footnote-section, org-e-html-template,
  org-e-html-dynamic-block, org-e-html-format-headline--wrap,
  org-e-html-headline, org-e-html-item, org-e-html-link,
  org-e-html-time-stamp): Do not provide back-end symbol.
* contrib/lisp/org-e-latex.el (org-e-latex--caption/label-string,
  org-e-latex-template, org-e-latex-dynamic-block,
  org-e-latex-footnote-reference, org-e-latex-headline,
  org-e-latex-inlinetask, org-e-latex-item, org-e-latex-link,
  org-e-latex-src-block): Do not provide back-end symbol.
* contrib/lisp/org-e-odt.el (org-e-odt-format-preamble,
  org-e-odt-format-label, org-e-odt-write-manifest-file,
  org-e-odt--caption/label-string, org-e-odt-dynamic-block,
  org-e-odt-format-headline--wrap, org-e-odt-headline, org-e-odt-item,
  org-e-odt-latex-environment, org-e-odt-link, org-e-odt-src-block,
  org-e-odt-time-stamp): Do not provide back-end symbol.
* contrib/lisp/org-export.el (org-export-get-environment): Provide
  back-end symbol under `:back-end' property.
(org-export-collect-tree-properties, org-export-data,
org-export-filter-verbatim-functions, org-export-install-filters,
org-export-as, org-export-expand-macro,
org-export-filter-apply-functions, org-export-secondary-string):
Remove back-end references.
* testing/lisp/test-org-export.el: Update tests.

Back-end can be found in communication channel with (plist-get
info :back-end).  Hence back-ends do not have to hard-code their name
in any transcoder.  It will allow to derive a back-end from another
one.
2012-04-28 11:41:15 +02:00
Nicolas Goaziou b3e8a8d437 org-export: Run a hook before parsing
* contrib/lisp/org-export.el (org-export-before-parsing-hook): New
  variable.
(org-export-as): Run `org-export-before-parsing-hook'.
* testing/lisp/test-org-export.el: Add test.
2012-04-28 09:35:12 +02:00
Nicolas Goaziou 8e52d1d7f0 org-element: Fix comment block interpreter
* contrib/lisp/org-element.el (org-element-comment-block-interpreter):
  Fix comment block interpreter.
2012-04-27 17:27:28 +02:00
Nicolas Goaziou 7cdd0db287 org-element: Fix headline/inlinetask interpretation
* contrib/lisp/org-element.el (org-element-inlinetask-interpreter,
  org-element-headline-interpreter): Fix headline/inlinetask
  interpretation.
(org-element-inlinetask-interpreter): Prefer degenerate inlinetasks
when they have no contents.
2012-04-27 17:16:32 +02:00
Nicolas Goaziou e4852f7ee9 org-element: Fix dynamic block parsing and interpretation 2012-04-27 17:16:32 +02:00
Nicolas Goaziou 18aef0875a org-element: Fix docstrings 2012-04-27 17:16:32 +02:00
Nicolas Goaziou c6dc6e3d32 org-element: Verse blocks now contain objects
* contrib/lisp/org-element.el (org-element-verse-block-parser): Verse
  blocks now contain objects.
(org-element-verse-block-interpreter, org-element-current-element):
Apply changes to verse blocks.
(org-element-secondary-value-alist): Remove verse blocks from elements
with a secondary string.
* contrib/lisp/org-e-odt.el (org-e-odt-verse-block): Apply changes to
  verse blocks.
* contrib/lisp/org-e-latex.el (org-e-latex-verse-block): Apply changes
  to verse blocks.
* contrib/lisp/org-e-html.el (org-e-html-verse-block): Apply changes
  to verse blocks.
* contrib/lisp/org-e-ascii.el (org-e-ascii-verse-block): Apply changes
  to verse blocks.
* testing/lisp/test-org-element.el: Add tests.
2012-04-26 14:49:29 +02:00
Nicolas Goaziou c3d7d21108 org-e-latex: Fix coderef display for links with no contents
* contrib/lisp/org-e-latex.el (org-e-latex-link): Fix coderef display
  for links with no contents.
* contrib/lisp/org-e-odt.el (org-e-odt-link): Remove useless test.
* contrib/lisp/org-e-html.el (org-e-html-link): Remove useless test.
2012-04-26 14:49:29 +02:00
Nicolas Goaziou 206ce6e0b5 org-element: Ignore blank lines when removing element indentation
* contrib/lisp/org-element.el (org-element-normalize-contents): Ignore
  blank and empty lines when removing element indentation.
* testing/lisp/test-org-element.el: Add tests.
2012-04-26 14:49:29 +02:00
Jambunathan K ac5d8c92a5 org-e-odt.el: Adjust search paths for schema and styles files 2012-04-22 23:49:18 +05:30
Jambunathan K 43ee3a441a rm -rf contrib/odt 2012-04-22 23:05:26 +05:30
Nicolas Goaziou 052247ce81 org-e-ascii: Correctly indent table.el tables
* contrib/lisp/org-e-ascii.el (org-e-ascii-table): Remove indentation
  from table.el tables.
2012-04-22 17:00:32 +02:00
Jambunathan K 0b97c97170 org-e-html/org-e-odt: Use new table infrastructure 2012-04-22 19:48:26 +05:30
Jambunathan K 00cc5d5cef org-export: Minor fixes
* contrib/lisp/org-export.el (org-export-creator-string):
Check for `org-version' being bound before using it.
(org-export-get-inbuffer-options): Use
`org-element-restriction'.
2012-04-22 19:47:53 +05:30
Jambunathan K d73db66a38 Move org-e-* from EXPERIMENTAL/ to contrib/lisp/ 2012-04-22 19:47:37 +05:30
Nicolas Goaziou 0264495f52 org-export: Fix small bug
* contrib/lisp/org-export.el (org-export-get-coderef-format): Handle
  nil descriptions.
2012-04-22 19:42:47 +05:30
Nicolas Goaziou 172ae310a8 org-export: Define tools for tables, table rows and table cells
* contrib/lisp/org-export.el (org-export-table-cell-width,
  org-export-table-cell-alignment, org-export-table-cell-borders,
  org-export-table-row-group, org-export-table-has-special-column-p,
  org-export-table-row-is-special-p, org-export-get-parent-table,
  org-export-table-dimensions, org-export-table-cell-address,
  org-export-get-table-cell-at, org-export-table-has-header-p,
  org-export-table-cell-starts-colgroup-p,
  org-export-table-cell-ends-colgroup-p,
  org-export-table-row-starts-rowgroup-p,
  org-export-table-row-ends-rowgroup-p,
  org-export-table-row-starts-header-p,
  org-export-table-row-ends-header-p): New functions.
(org-export-table-format-info, org-export-clean-table): Removed
functions.
(org-export-filter-table-cell-functions,
org-export-filter-table-row-functions): New variables.
(org-export-filters-alist): Install new filters.
(org-export-collect-tree-properties, org-export--skip-p): Mark special
rows and cells as ignored.
* testing/lisp/test-org-export.el: Add tests.
2012-04-22 19:41:45 +05:30
Nicolas Goaziou eeeee5f1da org-element: Split tables into table-row elements and table-cell objects
* contrib/lisp/org-element.el (org-element-table-parser): Split tables
  into table-row elements and table-cell objects.
(org-element-table-interpreter): Adapt interpreter to new code.
(org-element-table-row-parser, org-element-table-row-interpreter,
org-element-table-cell-parser, org-element-table-cell-interpreter,
org-element-table-cell-successor, org-element-table-row-successor,
org-element-restriction): New functions.
(org-element-headline-parser,
  org-element-inlinetask-parser, org-element-item-parser,
  org-element-verse-block-parser,
  org-element-footnote-reference-parser,
  org-element-collect-affiliated-keywords, org-element-parse-objects):
  Use new function
(org-element-all-objects): Add new objects.
(org-element-target-parser): Small change to docstring.
(org-element-object-restrictions): Merge `org-element-string-restrictions'
into it.
(org-element-string-restrictions): Remove variable.
(org-element-parse-elements): Parse objects in non-recursive elements
with contents.
(org-element-normalize-string): Small refactoring.
(org-element-at-point): Handle table navigation.
* testing/lisp/test-org-element.el: Add tests.
2012-04-22 19:41:28 +05:30
Jambunathan K aa2e5308ee Move contrib/lisp/org-e-*.el to EXPERIMENTAL/ 2012-04-22 19:41:10 +05:30
Martyn Jago 6b6f0d625b Fix require path due to removal of EXPERIMENTAL
* contrib/lisp/org-export.el:

path relative to org-export.el has changed due
to relocation of org-e-publish.el (removal of
EXPERIMENTAL)
2012-04-21 23:51:38 +02:00
Bastien Guerry abd49c8aae Deleate trailing whitespaces. 2012-04-21 17:44:47 +02:00
François Allisson 0189c5d2d9 Update of contrib/README 2012-04-21 17:44:29 +02:00
Bastien Guerry bafd9a42f8 Move EXPERIMENTAL/* into contrib/lisp/ and change org-export.el accordingly. 2012-04-21 16:22:31 +02:00
Achim Gratz b323d9e5c3 move schema files to etc/ and modify makefile to install them into $(datadir)
etc/Makefile: add "schema" to $(ETCDIRS)

	contrib/odt/etc/schema/od-manifest-schema-v1.2-cs01.rnc: move to etc/schema/od-manifest-schema-v1.2-cs01.rnc

	contrib/odt/etc/schema/od-schema-v1.2-cs01.rnc: move to etc/schema/od-schema-v1.2-cs01.rn

	contrib/odt/etc/schema/schemas.xml: move to etc/schema/schemas.xml
2012-04-20 21:04:12 +02:00
Eric Schulte 66ae794a66 contrib/org-docco.org -- docco side-by-side HTML export of annotated source code
for an example of the code output see
  http://eschulte.github.com/org-docco/org-docco.html
2012-04-20 12:21:50 -04:00
Bastien Guerry e449f12d6f Remove contrib/doc/fr-latex.tex as this is now on Worg.
See http://orgmode.org/worg/code/latex/fr-orgcard.tex
and http://orgmode.org/worg/images/bzg/fr-orgcard.pdf
2012-04-20 13:30:06 +02:00
Nicolas Goaziou f0c737862d org-export: Refactor code 2012-04-17 13:33:38 +02:00
Nicolas Goaziou 36711b05ba org-export: Fix footnotes export outside parsing scope
* contrib/lisp/org-export.el (org-export-get-buffer-attributes):
  Function renamed from `org-export-initial-options'.
(org-export-store-footnote-definitions): New function.
(org-export-as): Store footnote definitions at the appropriate place.
It happens twice if buffer gets expanded.
* testing/lisp/test-org-export.el: Add test.
2012-04-13 15:47:13 +02:00
Eric Schulte 165d34af6a Revert "Revert "in emails, wrap html and images in a multipart/mixed structure""
This reverts commit 3f810ad424.
2012-04-12 08:21:05 -04:00
Eric Schulte 0202817e06 Revert "retain disposition=inline change for images in html mail"
This reverts commit e307d08382.
2012-04-12 08:21:05 -04:00
Eric Schulte e307d08382 retain disposition=inline change for images in html mail
* contrib/lisp/org-mime.el (org-mime-file): Retain disposition=inline
  change for images in html mail.
2012-04-11 09:20:45 -04:00
Eric Schulte 3f810ad424 Revert "in emails, wrap html and images in a multipart/mixed structure"
This reverts commit 718fefa4e3.
2012-04-11 09:18:16 -04:00
Eric Schulte 718fefa4e3 in emails, wrap html and images in a multipart/mixed structure
* contrib/lisp/org-mime.el (org-mime-file): Mark images included as
  part of html portions as "disposition=inline".
  (org-mime-multipart): When images are present wrap html and images
  in a multipart/mixed structure.
  (org-mime-htmlize): When images are present wrap html and images in
  a multipart/mixed structure.
2012-04-11 00:20:33 -04:00
Nicolas Goaziou 97d2db4867 org-element: Fix interpretation of affiliated keywords
* contrib/lisp/org-element.el (org-element-interpret--affiliated-keywords):
  Fix interpretation of affiliated keywords.
(org-element-interpret-data): If no `:post-blank' property is
specified, assumed there is no blank line or whitespace after the
element or object.
* testing/lisp/test-org-element.el: Add a test.
2012-04-10 23:53:11 +02:00
Nicolas Goaziou f188721692 org-element: Fix target interpretation
* contrib/lisp/org-element.el (org-element-target-parser): Fix
  docstring.
(org-element-target-interpreter): Fix target interpretation.
2012-04-08 18:19:17 +02:00
Nicolas Goaziou 2ff3da0f1a org-export: Fix footnotes bug in ODT export
* contrib/lisp/org-export.el (org-export-as): Reorder actions taken to
  fix footnotes bug in ODT export.
2012-04-07 15:14:58 +02:00
Nicolas Goaziou 8453ac1bf3 org-element: Remove dependency on org-footnote predicates
* contrib/lisp/org-element.el (org-element-footnote-definition-parser):
  Remove the need for `org-footnote-at-definition-p'.
  (org-element-footnote-reference-parser): Remove the need for
  `org-footnote-at-reference-p'.
(org-element-footnote-reference-successor): Do not use
`org-footnote-get-next-reference'.
* testing/lisp/test-org-element.el: Add test.
2012-04-06 23:50:00 +02:00
Nicolas Goaziou 4019559ee2 org-footnote: Don't grab trailing blank lines in a footnote definition
* lisp/org-footnote.el (org-footnote-at-definition-p): Don't grab
  trailing blank lines in a footnote definition.
(org-footnote-delete-definitions): Remove both footnote definition and
trailing blank lines.
* testing/lisp/test-org-export.el (test-org-export/fuzzy-links): Fix
  a docstring.
* contrib/lisp/org-element.el (org-element-footnote-definition-parser):
  Apply change to footnote definitions.
2012-04-06 19:14:51 +02:00
Bastien Guerry c9948bc906 Merge branch 'hotfix-7.8.06' 2012-04-02 16:02:53 +02:00
Bastien Guerry 9d01ca1bf3 org-checklist.el: Fix dynamically bound variable name.
* org-checklist.el (org-checklist): Fix dynamically bound
variable name.

Thanks to Bernt Hansen for reporting this.
2012-04-02 16:02:44 +02:00
Jambunathan K e917477005 (org-xhtml.el): Removed 2012-04-01 13:15:49 +05:30
Nicolas Goaziou 82281bcc94 org-element: Fix bug with `greater-element' granularity
* contrib/lisp/org-element.el (org-element-parse-elements): Enter
  section type elements even if granularity is set to
  `greater-element'.
(org-element-parse-buffer): Update doc-string.
* testing/lisp/test-org-element.el: Add test.
2012-03-28 17:29:14 +02:00
Nicolas Goaziou bb671936b5 org-element: Speed up parsing when granularity is bigger than default
* contrib/lisp/org-element.el (org-element-headline-parser,
  org-element-inlinetask-parser, org-element-item-parser,
  org-element-verse-block-parser, org-element-current-element): New
  optional argument so parsing of secondary string is not mandatory.
(org-element-parse-elements): Remove duplicate part from doc-string.
(org-element-at-point): Improve speed of function since secondary
string are never parsed.
(org-element-secondary-value-alist): Simplify doc-string.
* testing/lisp/test-org-element.el: Add test.
2012-03-28 16:31:56 +02:00
Nicolas Goaziou 763991fbda org-element: Store keywords in upper cases
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-keyword): Apply keywords
  case change.
* EXPERIMENTAL/org-e-html.el (org-e-html-keyword): Apply keywords case
  change.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-keyword): Apply keywords
  case change.
* EXPERIMENTAL/org-e-odt.el (org-e-odt-keyword): Apply keywords case change.
* contrib/lisp/org-element.el (org-element-export-block-parser):
  Internally store type in upper cases.
(org-element-keyword-parser): Internally store keyword `:key' property
in upper cases.
(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):
Use uppercased keywords.
(org-element-current-element): Use uppercase for keywords.
(org-element-collect-affiliated-keywords): Store affiliated keywords
in upper cases.
* contrib/lisp/org-export.el (org-export-get-inbuffer-options,
  org-export-collect-tree-properties, org-export-resolve-fuzzy-link):
  Use upper cased keywords.
* testing/lisp/test-org-export.el: Update tests.
2012-03-28 14:27:15 +02:00
Nicolas Goaziou ada00fb857 org-element: Remove some unneeded element properties
* contrib/lisp/org-element.el (org-element-center-block-parser,
  org-element-quote-block-parser,
  org-element-quote-block-interpreter,
  org-element-special-block-parser,
  org-element-special-block-interpreter,
  org-element-babel-call-interpreter,
  org-element-comment-block-parser,
  org-element-export-block-interpreter,
  org-element-src-block-interpreter,
  org-element-example-block-interpreter): Use standard case for Org
  syntax.
(org-element-inlinetask-parser): Remove `:raw-value' property.
(org-element-headline-interpreter,
org-element-inlinetask-interpreter): Rely on `:title' property instead
of `:raw-value'.
(org-element-item-parser): Remove `:raw-tag' property.
(org-element-item-interpreter): Do not use `:raw-tag' anymore.  Rely
on `:tag' instead.
(org-element-verse-block-parser): Remove `:raw-value' property.  Use
standard case for Org syntax, too.
(org-element-verse-block-interpreter): Rely on `:value' instead of
`:raw-value'.
(org-element-footnote-reference-parser): Remove `:raw-definition'
value.
(org-element-footnote-reference-interpreter): Use `:inline-definition'
property, when non-nil, instead of `:raw-definition'.
(org-element-radio-target-parser): Rename `:raw-value' into `:value'.

Most raw values don't add worthy information to an element, since they
can be retrieved with an interpretation of the secondary string they
represent.
2012-03-28 13:59:18 +02:00
Bastien Guerry 6ca74804c9 Delete trailing whitespaces in contrib/lisp/ files. 2012-03-28 02:08:03 +02:00
Bastien Guerry 5fc7b7d138 Merge branch 'hotfix-7.8.06' 2012-03-27 12:22:04 +02:00
Bastien Guerry 410dd12d89 org-mime.el: Set `org-export-with-LaTeX-fragments' correctly.
* org-mime.el (org-mime-htmlize): Set
`org-export-with-LaTeX-fragments' correctly.
2012-03-27 12:21:56 +02:00
Bastien Guerry 9602e1cb38 org-collector.el: Don't narrow to subtree when collecting properties on the whole buffer.
* org-collector.el (org-dblock-write:propview): Don't narrow
to subtree when collecting properties on the whole buffer.

TINYCHANGE
2012-03-26 17:24:26 +02:00
Bastien Guerry 973695beb3 Add org-notify.el by Peter Münster to contrib/lisp/.
It's useful for getting notifications for todo items and more flexible
than org-agenda-to-appt.

Here a summary:
- different warning periods for different todo-types
- fine grained warning periods (smallest unit is second)
- continue notifications, when deadline is overdue
- easy modification of timestamps (just one click, to say
  "let's do it tomorrow")
- switch from "todo" to "done" by clicking on the notification window
- configurable notification types (email, notifications-notify, beep,
  etc.)
- configurable notification period
- configurable notification duration
- crescendo notifications (be more aggressive, when time gets closer to
  deadline)

There was a little thread about this subject:
http://thread.gmane.org/gmane.emacs.orgmode/48832

Example usage:
  (org-notify-add 'appt
                  '(:time "-1s" :period "20s" :duration 10
                    :actions (-message -ding))
                  '(:time "15m" :period "2m" :duration 100
                    :actions -notify/window)
                  '(:time "2h" :period "5m" :actions -message)
                  '(:time "1d" :actions -email))

This means for todo-items with `notify' property set to `appt': 1 day before
deadline, send a reminder-email, 2 hours before deadline, start to send
messages every 5 minutes, then, 15 minutes before deadline, start to pop up
notification windows every 2 minutes. The timeout of the window is set to
100 seconds. Finally, when deadline is overdue, send messages and make
noise.
2012-03-24 07:48:07 +01:00
Bastien Guerry eb7f7159c9 Merge branch 'hotfix-7.8.06' 2012-03-23 13:42:29 +01:00
Ilya Shlyakhter 532a1ac40a Tags/properties matcher: Fixed issues with todo-only matches
lisp/org.el (org-scan-tags): Require todo-only argument, and document
that it should be the same one set by make-org-tags-matcher.
Fix documentation to explain that todo-only is really
not-done-todo-only.

(org-make-tags-matcher): If todo part of matcher starts with /!,
matcher now always checks that the TODO keyword is present and
is a not-done state.  This matters e.g. for org-map-entries
which unlike org-scan-tags does not do its own separate todo-only
filtering.  Added docs to explain matcher dependencies.

(org-map-entries): Make sure todo-only is correctly passed from
org-make-tags-matcher to org-scan-tags.

* lisp/org-clock.el: (org-clock-get-table-data): Make sure todo-only
does not leak when it is set by make-org-tags-macher.

* lisp/org-crypt.el: (org-encrypt-entries, org-decrypt-entries): Make
sure todo-only is correctly passed from org-make-tags-matcher to
org-scan-tags.

* contrib/lisp/contacts.el: (org-contacts-filter) : Make sure todo-only
is correctly passed from org-make-tags-matcher to org-scan-tags.
2012-03-23 13:42:06 +01:00
Nicolas Goaziou 1581b16c78 org-element: Small refactoring
* contrib/lisp/org-element.el (org-element-swap-A-B,
  org-element-drag-backward, org-element-drag-forward): Small
  refactoring.
* testing/lisp/test-org-element.el: Add tests.
2012-03-22 19:32:09 +01:00
Nicolas Goaziou 5e950a9e56 org-element: Remove an unused argument
* contrib/lisp/org-element.el (org-element-parse-secondary-string):
  Remove unused optional argument.
2012-03-22 18:26:34 +01:00
Nicolas Goaziou dd7aa8ece9 org-export: Fix export with Babel calls outside export scope
* contrib/lisp/org-export.el (org-export-as): Fix export with Babel
  calls outside export scope by providing buffer's name holding full
  data instead of the one holding its copy limited to scope.
* testing/lisp/test-org-export.el (test-org-export/export-scope): Add
  a test.
2012-03-22 16:49:19 +01:00
Tom Alexander ce7579e1f7 contrib/lisp/org-export-generic.el: Added variables for exporting tables and a mediawiki exporter. 2012-03-20 17:01:21 +01:00
Bastien Guerry 6c911234ac Remove files coming from maint. 2012-03-20 01:50:59 +01:00
Bastien Guerry df82832fb7 Merge maint fixup and finish master fixup 2012-03-20 00:35:55 +01:00
Bastien Guerry 4e5c24ea81 Delete files that sneaked in while fixing the master branch. 2012-03-19 23:48:07 +01:00
Bastien Guerry ecd0562c5f Fix the master branch.
I started from the 78ec8e commit then cherry-picked and squashed
commits that have been done in master since then, except the bad
commits that overwrote the tree (in master) with the tree in maint.

This commit also bumps the version number to 7.8.06.

The only "fix" that was made between 78ec8e and the previous commit
is e0072f which has been reported to break stuff.
2012-03-19 22:01:29 +01:00
Bastien Guerry c44e07a4fa Fix the maint branch.
Thanks to Achim Gratz for his precious help on this.
2012-03-19 20:27:28 +01:00
Bastien Guerry 6e306f65ff Fix copyright years in maint. 2012-03-17 16:31:04 +01:00
Bastien Guerry de42649f7b Manually revert maint to e85080.
e85080 is the last correct commit in the maint branch
before releasing 7.8.04.  The 7.8.05 release should be
done from this commit.
2012-03-17 16:28:46 +01:00
Bastien Guerry eea3802bba Whitespace cleanup. 2012-03-17 15:59:38 +01:00
Bastien Guerry 73bb18ba37 Manually revert to the Release 7.8.04 tag. 2012-03-17 15:52:24 +01:00
Bastien Guerry fdc20f7792 Fix more copyright years. 2012-03-17 14:39:43 +01:00
Bastien Guerry 6e534f9c61 Manually revert back to commit e85080.
This fixes a wrong merge that should not have happened:
commit 7e903a merges the master branch into the maint branch,
while we really want to keep the maint branch a bugfix-only
branch.

This commit reverts back the maint branch to its state before
merging the master branch.  From there, we will fix remaining
problems with the maint branch (e.g. copyright issues) then
release this maint branch as Org-mode 7.8.05.
2012-03-17 14:34:01 +01:00
Nicolas Goaziou 3fda301b07 org-element: Unhide contents of collapsed elements before entering them
* contrib/lisp/org-element.el (org-element-down): Unhide contents of
  collapsed elements before entering them.
2012-03-14 18:47:38 +01:00
David Maus 21391e2f84 Merge branch 'maint' 2012-03-14 06:00:49 +01:00
Tassilo Horn 429cf28ebe Add missing word to org-contacts y-or-n-p question
* org-contacts.el (org-contacts-check-mail-address): Add missing word
to y-or-n-p question.
2012-03-14 05:46:04 +01:00
Nicolas Goaziou beb024687b org-export: Remove useless INFO argument from `org-export-unravel-code'
* contrib/lisp/org-export.el (org-export-unravel-code): Remove INFO
  argument.  Fix a bug preventing code references to be properly
  recognized.
(org-export-format-code-default): Apply signature change.
(org-export-resolve-coderef): Fix a bug preventing code references to
be properly recognized.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-src-block): Apply signature
  change.
* testing/lisp/test-org-export.el: Add tests.
2012-03-10 20:25:32 +01:00
Nicolas Goaziou c7203b4142 org-export: Change source code handling API
* contrib/lisp/org-element.el (org-element-example-block-parser,
  org-element-src-block-parser): Add `:number-lines',
  `:preserve-indent, `:retain-labels', `:use-labels'  and
  `:label-fmt' properties.
* contrib/lisp/org-export.el (org-export-resolve-coderef,
  org-export-get-loc): Apply changes to src-block and example-block
  elements' properties.
(org-export-unravel-code, org-export-format-code,
org-export-format-code-default): New functions.
(org-export-handle-code): Removed function.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-example-block): Use new
  function.
(org-e-latex-src-block): Use new API.  Better handling of numbered
lines with special packages.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-example-block,
  org-e-ascii-src-block): Use new functions.
* testing/lisp/test-org-element.el: Add tests.
* testing/lisp/test-org-export.el: Add tests.
2012-03-10 13:42:46 +01:00
Nicolas Goaziou 86131a8b50 org-element: New `org-element-down' function
* contrib/lisp/org-element.el (org-element-down): New function.
* testing/lisp/test-org-element.el: Add test.
2012-03-09 19:47:50 +01:00
Nicolas Goaziou 62a631e236 org-export: Small fix
* contrib/lisp/org-export.el (org-export-get-ordinal): Change signature.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--build-caption): Apply
  changes to previous function
2012-03-07 18:02:57 +01:00
Nicolas Goaziou bbbdff9f81 org-export: Predicate in `org-export-get-ordinal' accepts two arguments
* contrib/lisp/org-export.el (org-export-get-ordinal): Predicate in
  `org-export-get-ordinal' accepts two arguments.
2012-03-07 17:18:20 +01:00
Nicolas Goaziou bf609d8844 org-export: Avoid duplicates in `org-export-collect-footnote-definitions'
* contrib/lisp/org-element.el (org-element-map): New optional argument
  to avoid recursion into certain recursive types.
* contrib/lisp/org-export.el (org-export-footnote-first-reference-p,
  org-export-get-footnote-number,
  org-export-collect-footnote-definitions): Use new argument from
  `org-element-map'.
* testing/lisp/test-org-export.el: Add test.

The new argument allows to force entering footnotes definitions at
a certain time (when their first reference is found) but not a second
time when they are encountered in the parse tree.

Thanks to Jambunathan for reporting this.
2012-03-04 11:57:16 +01:00
Nicolas Goaziou 933c0fa441 Implement numbered cross-references
* lisp/org.el (org-link-search): Search for #+name affiliated keywords
  and invisible targets.
* contrib/lisp/org-element.el (org-element-link-parser): Remove "ref"
  links relative part.
(org-element-target-parser): Move property name from `:raw-value' to
`:value'.
(org-element-recursive-objects): Remove targets from tables.  Cells
are not parsed unless explicitely asked by back-end developer, too
late.  A target wouldn't be noticed in time.  One solution could be to
parse every table, but that's time consumming.
(org-element-object-restrictions): Target are not recursive anymore.
* contrib/lisp/org-export.el (org-export-resolve-fuzzy-link): Find
  elements with a matching "#+name: path" affiliated keyword.
(org-export-get-ordinal): Make special cases for headlines, items,
footnotes definitions and references.
(org-export-resolve-ref-link): Removed function.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-link): Handle
  cross-reference numbers.
(org-e-latex-target): Targets have no contents.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--describe-links): Ignore
  fuzzy links in link description at the end of the section.
(org-e-ascii-link): Handle cross-reference numbers.
* testing/contrib/lisp/test-org-export.el: Add tests.
* testing/lisp/test-org.el: Add tests.
2012-03-01 14:49:53 +01:00
Nicolas Goaziou 701e99e923 org-element: Fix misleading comments 2012-02-29 19:06:50 +01:00
Nicolas Goaziou 73c5044963 org-export: Add `org-export-headline-numbered-p' predicate
* contrib/lisp/org-export.el (org-export-numbered-headline-p): New function.
* EXPERIMENTAL/org-e-ascii.el: Apply new function.
* EXPERIMENTAL/org-e-latex.el: Apply new function.
* testing/lisp/test-org-export.el: Add a test.
2012-02-29 19:05:45 +01:00
Eric Schulte e4ac36225d org-bibtex-extras --- extras for working with org-bibtex entries
A contributed package which is still in early development, but
  should eventually have some fun extras for working with org-mode
  bibtex entries
2012-02-28 13:01:22 -07:00
Nicolas Goaziou fcd4418a70 org-element: Refactor code 2012-02-26 13:24:27 +01:00
Nicolas Goaziou 29e633f7cd org-element: Fix small bug in org-element-map
* contrib/lisp/org-element.el (org-element-map): Don't forget to apply
  function on paragraph even when no object should be mapped.  Just
  don't recurse in it.
2012-02-26 11:24:26 +01:00
Nicolas Goaziou c166bfbb1a org-export: fix bug with nested footnotes in invisible definitions
* contrib/lisp/org-export.el (org-export-collect-footnote-definitions):
  Also collect footnotes in footnote definitions
(org-export-get-footnote-number): Remove unused check.
* testing/contrib/lisp/test-org-export.el: Add test.
2012-02-26 10:57:42 +01:00
Nicolas Goaziou 12c94310a2 org-export: Allow nested footnotes (part 2)
* EXPERIMENTAL/org-e-latex.el (org-e-latex-footnote-reference):
  Correctly handle numbering with nested footnotes.
* contrib/lisp/org-element.el (org-element-map): Apply function to
  element or object before applying it to its secondary string, if
  any.  Otherwise, linearity is broken.
* contrib/lisp/org-export.el (org-export-footnote-first-reference-p,
  org-export-get-footnote-number): Take care of recursive footnotes.
(org-export-get-genealogy): Correctly get genealogy of an item within
a secondary string.
* testing/contrib/lisp/test-org-export.el: Add tests.
2012-02-26 01:38:26 +01:00
Nicolas Goaziou 81cc6dff19 org-e-latex: Allow nested footnotes
* EXPERIMENTAL/org-e-latex.el (org-e-latex-footnote-reference): Allow
  nested footnotes.
* contrib/lisp/org-element.el (org-element-string-restrictions): Allow
  footnote references within a footnote reference.
* testing/contrib/lisp/test-org-export.el: Add a test for nested
  footnotes.
2012-02-25 14:56:37 +01:00
Nicolas Goaziou 5313dc9d09 org-export: Allow user to explicitely ignore parts of parse tree
* contrib/lisp/org-export.el (org-export-collect-tree-properties):
  Do not overwrite any user's ignore list.
* testing/contrib/lisp/test-org-export.el: Add test.

A good way to populate `:ignore-list' is through the use of
`org-export-filter-parse-tree-functions', with the help of
`org-element-map' and `org-export-ignore-element'.  As an example, the
following code will skip every headline containing the word "note"
in its title during a LaTeX export:

(defun user-skip-note-headlines (data backend info)
  ;; For now LaTeX back-end is called `e-latex'.
  (when (eq backend 'test)
    ;; Traverse the parse tree, adding to ignore list any headline
    ;; matching criteria.
    (org-element-map
     data 'headline
     (lambda (headline)
       (when (string-match "\\<note\\>"
                           (org-element-property :raw-value headline))
         (org-export-ignore-element headline info)))
     info))
  ;; Return original DATA.
  data)

Then install it in parse-tree filters:

(add-to-list 'user-skip-note-headlines org-export-filter-parse-tree-functions)

Back-end delevopers will install it via `org-BACKEND-filters-alist'
where BACKEND stands for the name of the back-end considered.  Se
`org-export-filters-alist' for more information.
2012-02-25 14:55:21 +01:00
Nicolas Goaziou 9f7965a80e org-element: Function mapped through org-element-map accepts only one argument
* contrib/lisp/org-element.el (org-element-map): Remove use of an
  alternate communication channel.  Function is now called with only
  one argument.
* contrib/lisp/org-export.el (org-export-collect-tree-properties):
(org-export-collect-headline-numbering, org-export--selected-trees,
org-export-collect-footnote-definitions,
org-export-footnote-first-reference-p,
org-export-get-footnote-number, org-export-resolve-fuzzy-link,
org-export-resolve-id-link, org-export-resolve-ref-link,
org-export-resolve-coderef, org-export-get-ordinal,
org-export-get-loc, org-export-collect-headlines): Apply changes.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--unique-links): Apply
  changes.
* EXPERIMENTAL/org-e-publish.el (org-e-publish-collect-index): Apply
  changes.
2012-02-25 14:53:35 +01:00
Nicolas Goaziou 3b3936b9a9 org-export: Do not ignore automatically elements with empty output
* contrib/lisp/org-export.el (org-export-data): org-export: Do not
  ignore automatically elements with empty output.
2012-02-25 14:53:34 +01:00
Nicolas Goaziou 752a531eb5 org-element: Refactor code 2012-02-24 22:33:16 +01:00
Nicolas Goaziou 404ede23fc org-element: Change algorithm for `org-element-at-point'
* contrib/lisp/org-element.el (org-element-at-point): Change
  algorithm.
(org-element-guess-type): Removed function.
(org-element--element-block-types): Removed variable.
(org-element-forward, org-element-backward, org-element-up): Rewrite
functions.
* testing/contrib/lisp/test-org-element.el: Add tests.
2012-02-24 17:52:43 +01:00
Nicolas Goaziou fc7c80c37e org-export: Minor UI change
* contrib/lisp/org-export.el (org-export-dispatch-ui): Small UI change.
2012-02-24 17:52:43 +01:00
Nicolas Goaziou 94185eac92 org-export: Fix bug with recursive file inclusion and relative paths
* contrib/lisp/org-export.el (org-export-expand-include-keyword): Use
  another optional argument to specify the current working directory.
(org-export-as): Apply changes.
* testing/contrib/lisp/test-org-export.el: Add tests.
* testing/examples/include.org: New test file.
* testing/examples/include2.org: New test file.
2012-02-23 21:28:15 +01:00
Nicolas Goaziou 186f0f7594 org-element: Small refactoring
* contrib/lisp/org-element.el (org-element-parse-elements): Small refactoring.
2012-02-23 19:08:23 +01:00
Nicolas Goaziou 0fa24209cf org-export: Export snippets are not skipped automatically: back-ends decide
* contrib/lisp/org-export.el (org-export-snippet-backend): New
  function.
(org-export--skip-p): Remove automatic skip of export snippets.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-export-snippet): Use new
  function.
* EXPERIMENTAL/org-e-html.el (org-e-html-export-snippet): Use new
  function.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-export-snippet): Use new
  function.
* EXPERIMENTAL/org-e-odt.el (org-e-odt-export-snippet): Use new
  function.
* testing/contrib/lisp/test-org-export.el: Add test.

The idea behind this change is that a given back-end may decide to
keep an export snippet not directly targetted at it (i.e. a beamer
back-end that would want to keep latex snippets).  Hence, filtering
snippets is on back-ends side, and a new function is added to help
them in that task.
2012-02-23 18:21:29 +01:00
Nicolas Goaziou 8714fba308 org-element: COMMENT and QUOTE keywords, ARCHIVE tags are case sensitive
* contrib/lisp/org-element.el (org-element-headline-parser): COMMENT
  and QUOTE keywords, ARCHIVE tags are case sensitive.
* testing/contrib/lisp/test-org-element.el: New file.
2012-02-23 16:30:06 +01:00
Nicolas Goaziou 675713c539 org-export: Fix select-tag handling
* contrib/lisp/org-export.el (org-export-collect-tree-properties):
  Remove `:use-select-tags' property.
(org-export-populate-ignore-list): Renamed from
`org-export-get-ignore-list'.
(org-export--selected-trees): Renamed from
`org-export-use-select-tag-p'.
(org-export--skip-p): Use an additional argument to specify list of
trees containing a select tag.
(org-export-select-tags, org-export-exclude-tags,
org-export-with-priority): Change doc-string.
* testing/contrib/lisp/test-org-export.el: Tests modified
  accordingly.
2012-02-23 14:57:16 +01:00
Nicolas Goaziou a87c463818 org-element: Move archived tree handling out of org-element-map
* contrib/lisp/org-element.el: Move archived tree handling out of
  org-element-map.
* contrib/lisp/org-export.el (org-export-get-ignore-list): Properly
  ignore archived with `org-export-with-archived-trees' set to
  `headline'.
* testing/contrib/lisp/test-org-export.el (test-org-export/handle-options):
  Add a test for that.
2012-02-23 11:24:58 +01:00
Nicolas Goaziou 5e849070be org-export: Add a require to e-odt back-end
* contrib/lisp/org-export.el (org-e-odt): Add a require to e-odt
  back-end.
2012-02-23 09:13:06 +01:00
Nicolas Goaziou 6b0a302ead org-export: Remove call to a phantom function
* contrib/lisp/org-export.el (org-export-get-min-level): Remove call
  to a phantom function.
2012-02-23 08:33:35 +01:00
Nicolas Goaziou a940e3d22c org-export: Fix some small bugs, include tests
* contrib/lisp/org-export.el (org-export-get-inbuffer-options): Fix
  but with incomplete macros returning an error.  Also with behaviour
  `nil', only insert new value if none was defined before.
(org-export-use-select-tags-p): Fix bug preventing it from properly
detecting select-tags.
(org-export--skip-p): Small refactoring
* testing/contrib/lisp/test-org-export.el: New test file.
2012-02-23 00:58:55 +01:00
Nicolas Goaziou 04a064d623 org-element: New variable defining complete list of objects
* contrib/lisp/org-element.el (org-element-all-objects): New variable.
2012-02-22 21:09:00 +01:00
Nicolas Goaziou c20402fd14 org-export: Fix export to subtree
* contrib/lisp/org-export.el (org-export-as): Subtree option was
  ignored.  Also, narrowing to region and to subtree are exclusive.
2012-02-22 19:29:05 +01:00
Nicolas Goaziou 7f816c6073 org-export: Small changes to UI, allow q to quit
* contrib/lisp/org-export.el (org-export-dispatch): Small changes to
  UI, allow q to quit.
2012-02-22 19:05:07 +01:00
Nicolas Goaziou 40e42b9dca org-export: New function `org-export-get-parent'
* contrib/lisp/org-export.el (org-export-get-parent): New function.
(org-export-data, org-export-get-previous-element,
org-export-get-next-element): Use new function.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-item): Use new function.
  Refactor code.
(org-e-ascii-paragraph): Use new function.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-item): Use new function.
* EXPERIMENTAL/org-e-html.el (org-e-html-item): Use new function.
* EXPERIMENTAL/org-e-odt.el (org-e-odt-item): Use new function.
2012-02-22 18:23:44 +01:00
Nicolas Goaziou 620f1d5181 org-export: Remove `:genealogy', introduce `:ignore-list'
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--current-text-width,
  org-e-ascii-item, org-e-ascii-paragraph): Apply `:genealogy' removal.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-item): Apply `:genealogy'
  removal.
* contrib/lisp/org-element.el (org-element-map): Do not compile
  genealogy.  Also use `:ignore-list' when possible.
* contrib/lisp/org-export.el (org-export-collect-tree-properties):
  Populate `:ignore-list' before starting to transcode each element in
  subtree.
(org-export-get-min-level): Use `:ignore-list'.
(org-export--skip-p): Renamed from `org-export-skip-p'.  This is now
an internal function.
(org-export-data): Use and update `:ignore-list'.  Do not update
genealogy.
(org-export-ignore-element): New function
(org-export-last-sibling-p): Small refactoring.
(org-export-resolve-fuzzy-link): Apply `:genealogy' removal.
(org-export-get-genealogy): Use a more efficient algorithm.

The equivalent of (plist-get info :genealogy) is
now (org-export-get-genealogy blob info), blob being any element or
object.
2012-02-22 18:19:09 +01:00
Jambunathan K bfd31d7268 org-export: Modify dispatcher to accommodate e-odt backend
* contrib/lisp/org-export.el (org-export-dispatch)
(org-export-dispatch-ui): New entries for ODT backend.
2012-02-22 20:17:25 +05:30
Nicolas Goaziou 60caccc7e9 org-element: Rename accessors
* contrib/lisp/org-element.el (org-element-property,
  org-element-contents): New functions, renamed from, respecively
  `org-element-get-property' and `org-element-get-contents'.
(org-element-link-successor): Small refactoring.
(org-element-drawer-interpreter,
  org-element-dynamic-block-interpreter,
  org-element-footnote-definition-interpreter,
  org-element-headline-interpreter,
  org-element-inlinetask-interpreter, org-element-item-interpreter,
  org-element-special-block-interpreter,
  org-element-babel-call-interpreter,
  org-element-comment-interpreter,
  org-element-comment-block-interpreter,
  org-element-example-block-interpreter,
  org-element-export-block-interpreter,
  org-element-fixed-width-interpreter,
  org-element-keyword-interpreter,
  org-element-latex-environment-interpreter,
  org-element-property-drawer-interpreter,
  org-element-quote-section-interpreter,
  org-element-src-block-interpreter, org-element-table-interpreter,
  org-element-verse-block-interpreter,
  org-element-emphasis-interpreter, org-element-entity-interpreter,
  org-element-export-snippet-interpreter,
  org-element-footnote-reference-interpreter,
  org-element-inline-babel-call-interpreter,
  org-element-inline-src-block-interpreter,
  org-element-latex-fragment-interpreter,
  org-element-link-interpreter, org-element-macro-interpreter,
  org-element-statistics-cookie-interpreter,
  org-element-subscript-interpreter,
  org-element-superscript-interpreter,
  org-element-time-stamp-interpreter,
  org-element-verbatim-interpreter, org-element-map,
  org-element-parse-elements, org-element-parse-objects,
  org-element-interpret-data,
  org-element-interpret--affiliated-keywords,
  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): Use new names.
* contrib/lisp/org-export.el (org-export-get-inbuffer-options,
  org-export-use-select-tags-p, org-export-get-min-level,
  org-export-data, org-export-skip-p, org-export-interpret-p,
  org-export-collect-footnote-definitions,
  org-export-footnote-first-reference-p,
  org-export-get-footnote-number, org-export-get-relative-level,
  org-export-last-sibling-p, org-export-inline-image-p,
  org-export-resolve-fuzzy-link, org-export-resolve-id-link,
  org-export-resolve-ref-link, org-export-resolve-coderef,
  org-export-expand-macro, org-export-get-loc,
  org-export-handle-code, org-export-collect-elements,
  org-export-get-genealogy, org-export-get-previous-element): Use new names.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--current-text-width,
  org-e-ascii--build-title, org-e-ascii--build-caption,
  org-e-ascii--list-listings, org-e-ascii--list-tables,
  org-e-ascii--unique-links, org-e-ascii--describe-links,
  org-e-ascii-template, org-e-ascii-drawer, org-e-ascii-emphasis,
  org-e-ascii-entity, org-e-ascii-export-snippet,
  org-e-ascii-export-block, org-e-ascii-fixed-width,
  org-e-ascii-headline, org-e-ascii-horizontal-rule,
  org-e-ascii-inline-src-block, org-e-ascii-inlinetask,
  org-e-ascii-item, org-e-ascii-keyword,
  org-e-ascii-latex-environment, org-e-ascii-latex-fragment,
  org-e-ascii-link, org-e-ascii-paragraph, org-e-ascii-quote-section,
  org-e-ascii-statistics-cookie, org-e-ascii-subscript,
  org-e-ascii-superscript, org-e-ascii-table, org-e-ascii-verbatim,
  org-e-ascii-verse-block): Use new names
* EXPERIMENTAL/org-e-latex.el (org-e-latex--wrap-label,
  org-e-latex-drawer, org-e-latex-emphasis, org-e-latex-entity,
  org-e-latex-example-block, org-e-latex-export-snippet,
  org-e-latex-export-block, org-e-latex-fixed-width,
  org-e-latex-footnote-reference, org-e-latex-headline,
  org-e-latex-link--inline-image, org-e-latex-latex-fragment,
  org-e-latex-latex-environment, org-e-latex-keyword,
  org-e-latex-item, org-e-latex-inlinetask,
  org-e-latex-inline-src-block, org-e-latex-special-block,
  org-e-latex-radio-target, org-e-latex-quote-section,
  org-e-latex-plain-list, org-e-latex-src-block,
  org-e-latex-statistics-cookie, org-e-latex-table--format-string,
  org-e-latex-target, org-e-latex-time-stamp, org-e-latex-verbatim):
  Use new names
* EXPERIMENTAL/org-e-publish.el (org-e-publish-collect-index,
  org-e-publish-index-generate-theindex): Use new names.
2012-02-22 13:47:20 +01:00
Nicolas Goaziou 0ff3d47d13 org-element: Introduce a new accessor: `org-element-type'
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--current-text-width,
  org-e-ascii--build-caption, org-e-ascii--build-title,
  org-e-ascii--describe-links, org-e-ascii-template,
  org-e-ascii-paragraph): Use new accessor
* EXPERIMENTAL/org-e-latex.el (org-e-latex--guess-inputenc): Small
  refactoring.
  (org-e-latex-footnote-reference, org-e-latex-link):  Use new
  accessor.
* contrib/lisp/org-element.el (org-element-type): New function.
  (org-element-map, org-element-parse-elements,
  org-element-interpret-data, org-element-normalize-contents,
  org-element-forward, org-element-unindent-buffer): Use new
  accessor.
* contrib/lisp/org-export.el (org-export-get-inbuffer-options,
  org-export-get-min-level, org-export-data, org-export-skip-p,
  org-export-interpret-p, org-export-expand,
  org-export-expand-include-keyword,
  org-export-prepare-file-contents, org-export-first-sibling-p,
  org-export-resolve-fuzzy-link, org-export-get-ordinal,
  org-export-get-loc, org-export-get-genealogy,
  org-export-get-parent-headline): Use new accessor.
2012-02-22 13:21:13 +01:00
Nicolas Goaziou 0ab12148bc org-export: Don't export tables rows containing parameters for formulas
* contrib/lisp/org-export.el (org-export-clean-table): Don't export
  tables rows containing parameters for formulas.
2012-02-22 09:34:06 +01:00
Nicolas Goaziou 58019df5b2 org-element: Normalize paragraph contents recursively
* contrib/lisp/org-element.el (org-element-normalize-contents): Global
  indentation is also removed from recursive objects in the
  paragraph.
2012-02-21 14:01:50 +01:00
Nicolas Goaziou a8fcca7526 org-export: Small cosmetic changes to export UI
* contrib/lisp/org-export.el (org-export-dispatch-ui): Small cosmetic
  changes to export UI.
2012-02-20 23:08:18 +01:00
Nicolas Goaziou f272093768 org-element: Tweak restrictions for objects and secondary strings
* contrib/lisp/org-element.el (org-element-footnote-reference-parser):
  Take restrictions into account.
(org-element-object-restrictions, org-element-string-restrictions):
Tweak restrictions.
2012-02-20 20:18:30 +01:00
Nicolas Goaziou 8736d92d0e org-element: org-element-map also checks secondary strings
* contrib/lisp/org-element.el (org-element-object-restrictions):
  Modify docstring.
(org-element-secondary-value-alist): New variable.
(org-element-map): Possibly look into secondary strings when mapping
through objects.  Also sanitize some function names.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--unique-links): Make use of
  org-element-map improvement.
2012-02-20 20:18:29 +01:00
Nicolas Goaziou abaeb42a3a org-e-ascii: Get item number right
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-item): Use new
  `org-list-get-item-number' function.
* contrib/lisp/org-element.el (org-element-item-interpreter): Use new
  `org-list-get-item-number' function.
2012-02-20 17:17:39 +01:00
Nicolas Goaziou d426d0f030 org-element: Allow targets in tables
* contrib/lisp/org-element.el (org-element-string-restrictions): Allow
  targets in tables.  Also fix wrong symbol for verse-blocks.
  (org-element-verse-block-parser): Apply change.
2012-02-20 16:10:27 +01:00
Nicolas Goaziou af2a46a76f org-export: Implement "ref" type links
* contrib/lisp/org-element.el (org-element-link-parser): Recognize
  "ref" type links as a new type of Org link.
* contrib/lisp/org-export.el (org-export-resolve-ref-link): New
  function.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--describe-links): Do not
  describe "ref" type links at the end of each section.
(org-e-ascii-link): Handle "ref" type links.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-link): Handle "ref" type
  links.

"ref" type links are Org answer to LaTeXisms like "\ref{some-label}".
Hence, [[ref:some-label]] will be replaced with the sequence number of
the element with name "#+name: some-label" during export.
2012-02-19 18:24:22 +01:00
Bastien Guerry 16ea957cd0 Copyright year fixes for contrib/. 2012-02-19 08:16:54 -07:00
Bastien Guerry 01f7b698a7 More copyright year fixes. 2012-02-19 08:16:27 -07:00
Jambunathan K f1e5dfdbe9 org-export: Put HTML buffers in either nxhtml-mode or nxml-mode
* contrib/lisp/org-export.el (org-export-dispatch): Put
temporary buffer that holds exported HTML source in either
`nxhtml-mode' or `nxml-mode'.

`nxhtml-mode' is *not* part of stock Emacs while `nxml-mode' is.
2012-02-18 22:39:58 +05:30
Eric Schulte 9a15619654 Merge branch 'origin-maint' 2012-02-18 09:16:20 -07:00
Sebastien Vauban 2d78957c5c Fix old Babel syntax 2012-02-18 09:15:44 -07:00
Nicolas Goaziou 5fa426bfe2 org-export: Allow to have HTML back-end output in a temporary buffer
* contrib/lisp/org-export.el (org-export-dispatch,
  org-export-dispatch-ui): Add a key to export to a temporary buffer.
2012-02-18 10:11:10 +01:00
Jambunathan K 93ec2c7a50 org-e-html: New HTML exporter - a first attempt
* contrib/lisp/org-export.el (org-export-dispatch)
(org-export-dispatch-ui): Add new entries for the new HTML
exporter.

* EXPERIMENTAL/org-e-html.el: New file.  This is a very rough
cut based out on org-xhtml.el and org-e-latex.el.  The file
retains all the LaTeXisms in either commented form or
otherwise.  This is deliberate so as to have a quick look at
the reference implementation.  Retaining the organization
style of org-xhtml.el would enable easy creation of
org-e-odt.el by simply replacing e-html with e-odt for the
most part.
The changes here covers fairly a good ground - say 90% - of my
unit test file.
2012-02-18 12:25:53 +05:30
Nicolas Goaziou 1cc27e0d3a org-export: allow toggling Babel execution and file inclusion
* contrib/lisp/org-export.el (org-export-as, org-export-to-buffer,
  org-export-to-file): Add an optional argument to prevent including
  files and executing Babel code.

This can be used as a basis for an Org to Org exporter.
2012-02-17 20:48:57 +01:00
Nicolas Goaziou 4b33c23af8 org-export: Make macros recursives
* contrib/lisp/org-element.el (org-element-recursive-objects): Add
  macro object type to recursive types.
(org-element-object-restrictions): Macros can only contain other
macros.
* contrib/lisp/org-export.el (org-export-get-inbuffer-options): Parse
  macro value, unless it it meant to be eval'ed.
(org-export-expand-macro): Expand macros recursively.
2012-02-17 20:20:38 +01:00
Nicolas Goaziou 6782d6f77b Fix infloop when parsing radio targets
* contrib/lisp/org-element.el (org-element-link-parser): Do not parse
  radio link as a recursive link.
* contrib/lisp/org-export.el (org-export-solidify-link-text): Make
  sure "\" isn't allowed in solidified strings.  This is required to
  allow entities in radio targets.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-link): Apply changes to
  radio links.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-link): Apply changes to
  radio links.
2012-02-17 18:46:05 +01:00
Nicolas Goaziou de0c86ffeb org-export: Fix small bug in `org-export-get-genealogy'
* contrib/lisp/org-export.el (org-export-get-genealogy): Return
  `:genealgy' value, not the full communication channel.
2012-02-17 14:20:19 +01:00
Nicolas Goaziou 664271cde7 org-export: New `org-export-get-parent-paragraph' function
* contrib/lisp/org-export.el (org-export-get-genealogy,
org-export-get-parent-paragraph): New functions.
(org-export-get-parent-headline, org-export-get-previous-element,
org-export-get-next-element): Internally use new function.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-link--inline-image,
org-e-latex-link): Apply changes to topology functions.

This new function is especially useful since every object derives its
properties from those the containing paragraph.
2012-02-16 20:14:31 +01:00
Nicolas Goaziou 7d3f7f60e0 Make inline image definition more configurable
* contrib/lisp/org-element.el (org-element-object-restrictions): Allow
  plain links in link description.
* contrib/lisp/org-export.el (org-export-default-inline-image-rule):
  New variable.
(org-export-inline-image-p): Use rules instead of extensions. A rule
is a regexp applied to path for a given type of link.  It allows to
extend inline images to non-local files.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-inline-image-rules): New
  variable.
(org-e-latex-inline-image-extensions): Removed variable

There are two motivations behind this change.  The first one is to
allow, for example, an HTML exporter to define a rule like the
following:

 ("http" . "\\.\\(png\\|jpg\\|jpeg\\|gif\\)\\(\\?\\(\\w+=\\w+&?\\)*\\)?")

The other one is to properly define thumbnails (clickable images),
like the following:

  [[http://orgmode.org][file:~/my-logo.png]]
2012-02-16 20:14:31 +01:00
Nicolas Goaziou 432c3d60c6 Implement a cleaner way to install back-end specific filters in new exporter
* contrib/lisp/org-export.el (org-export-filters-alist): New variable.
(org-export-install-filters): New function.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-filters-alist): New variable.

Back-end specific filters can now be installed in communication
channel with `org-BACKEND-filters-alist' variable.
2012-02-13 13:51:22 +01:00
Nicolas Goaziou b5082974c8 Publishing system compatible with new export engine
* contrib/lisp/org-e-publish.el: New file.
* contrib/lisp/org-export.el (org-export-dispatch,
  org-export-dispatch-ui): Install publishing commands into dispatcher.
2012-02-12 23:00:33 +01:00
Nicolas Goaziou 862fc8f479 org-export: Small documentation and indentation changes 2012-02-12 21:37:02 +01:00
Nicolas Goaziou 6bde2dfd1a org-export: Internal modification to in-buffer options retrieval
* contrib/lisp/org-export.el (org-export-get-environment): Renamed
  function from org-export-collect-options.  Also make arguments
  optionals.
(org-export-as): Apply renaming.  Refactor code a bit.
(org-export-get-inbuffer-options): Remove string argument from
signature.  Backend is now optional.  Also, check if option match is
really a keyword.
(org-export-get-global-options, org-export-parse-option-keyword): Make
backend argument optional.
2012-02-12 21:33:05 +01:00
Jambunathan K eda5eb1f3a Retire support for BasicODConverter 2012-02-12 16:59:37 +05:30
Nicolas Goaziou be43806794 org-export: Allow access to input file's full path in communication channel
* contrib/lisp/org-export.el (org-export-collect-options): Remove
  useless argument.
(org-export-initial-options): Add an `:input-file' property in
communication channel.
2012-02-06 12:26:01 +01:00
Nicolas Goaziou 223b618393 org-export: Fix bug when a macro returns a nil value
* contrib/lisp/org-export.el (org-export-initial-options): Initialize
  correctly some macros when buffer is a clone.
(org-export-expand-macro): Ignore output when macro's value is nil.
2012-02-05 18:04:55 +01:00
Nicolas Goaziou 8d57abc669 org-element: Fix small bug in org-element-map
* contrib/lisp/org-element.el (org-element-map): Fix small bug.
2012-02-05 14:38:07 +01:00
Nicolas Goaziou 176b959c4f Handling of file inclusion through keywords is done before export
* contrib/lisp/org-element.el (org-element-map): Remove included file
  expansion part.
* contrib/lisp/org-export.el (org-export-as): Expand include keywords
  before executing blocks.
(org-export-expand-include-keyword, org-export-prepare-file-contents):
  New functions.
(org-export-included-file, org-export-parse-included-file): Removed
  functions.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-keyword): Remove include
  keyword handling.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-keyword): Remove include
  keyword handling.

Back-ends do not need anymore to take care of #+include keywords.
This change is required since file inclusion can potentially break any
structure.  Hence, it should be done before parsing.
2012-02-05 12:57:50 +01:00
Nicolas Goaziou d2fbf45c82 org-export: Fix docstrings 2012-02-04 15:32:03 +01:00
Nicolas Goaziou c8d9f1438f Fix bugs related to includes files in new export system 2012-02-04 12:39:31 +01:00
Nicolas Goaziou 42c96c4c26 org-export: Filters now require a third argument: the communication channel
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-filter-headline-blank-lines):
  Apply signature change.
* contrib/lisp/org-export.el (org-export-filter-apply-functions): Call
  filter with the info channel as the third argument.
(org-export-data): Apply signature change
(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-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): Update docstring.
2012-02-04 12:20:49 +01:00
Nicolas Goaziou 4b201ab66d org-export: Fix error when exporting a buffer with a code block
* contrib/lisp/org-export.el (org-export-as): Set a default value for
  org-current-export-file.
2012-02-03 17:56:51 +01:00
Nicolas Goaziou efc10c9286 org-export: Fix bug preveting low level headlines to close properly in e-latex
* contrib/lisp/org-export.el (org-export-with-current-buffer-copy):
  Copy `outline-level' value in the temporary buffer.  This fixes
  a bug introduced by commit
  10b06ae53c.
2012-02-02 20:29:33 +01:00
Nicolas Goaziou a623767a90 org-element: Fix item parsing with an empty first line and a child below
* contrib/lisp/org-element.el (org-element-item-parser): If item's
  first line is empty, ensure contents start at a beginning of line so
  that child can be correctly parsed.
2012-01-30 20:43:09 +01:00
Nicolas Goaziou d9970d1bd9 Implement limited headine numbering for e-latex and e-ascii back-ends
* contrib/lisp/org-export.el (org-export-with-section-numbers): Modify
  doc-string to document the changes.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--build-title): Implement
  limited headline numbering.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-template): Implement
  limited headline numbering.
2012-01-27 14:49:32 +01:00
Nicolas Goaziou 10b06ae53c org-export: Fix bug with false-positive inline tasks
* contrib/lisp/org-export.el (org-export-with-current-buffer-copy):
  Fix bug with false-positive inline tasks.
2012-01-23 22:41:00 +01:00
Nicolas Goaziou a47713717b org-export: Add function to retrieve next element/object in parse tree
* contrib/lisp/org-export.el (org-export-get-next-element): New function.
2012-01-23 22:15:39 +01:00
Nicolas Goaziou 711d2ef0e0 org-element: Syntax change for caption
* contrib/lisp/org-element.el (org-element-dual-keywords): Move
  caption in the dual keywords category.
(org-element--affiliated-re): Change regexp matching a dual keyword.
(org-element-collect-affiliated-keywords): Dual parsed keywords also
  get their optional value parsed as a secondary string.
* EXPERIMENTAL/org-e-latex.el (org-e-latex--caption/label-string,
  org-e-latex-src-block): Apply caption status change.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--build-caption): Apply
  caption status change.
(org-e-ascii--list-listings, org-e-ascii--list-tables): Apply caption
  status change.  Also use short caption name when available.

The status change implies a syntax change.  Captions can now share
#+results: syntax, which mean that they can have a secondary
value. Thus, the following Org snippets are valid, the first two being
equivalent.

#+caption: long name
#+caption[]: long name
#+caption[short name]: long name
2012-01-22 21:34:00 +01:00
Nicolas Goaziou 0f29f23b06 org-element: Fix code typo
* contrib/lisp/org-element.el (org-element-string-restrictions):
  Correct name for both verbatim and emphasis successor is
  text-markup.
2012-01-22 14:30:03 +01:00
Nicolas Goaziou d41b9803e2 org-export: Do not export subtree titles as-is
* contrib/lisp/org-export.el (org-export-get-subtree-options):
  Interpret subtree title as a secondary string, not as a simple string.
2012-01-22 14:27:51 +01:00
Nicolas Goaziou f694c3d996 org-export: Fix some errors and corner cases with macros
* contrib/lisp/org-export.el (org-export-get-inbuffer-options):
  Replace macro with an empty string when no value is provided.
  Ignore macros with an ill-formed key.
2012-01-22 10:37:28 +01:00
Nicolas Goaziou fc93b6f340 org-export: Ask user for a file name when exporting from temporary buffer
* contrib/lisp/org-export.el (org-export-output-file-name): Ask user
  for a file name when exporting from temporary buffer.
2012-01-21 22:58:23 +01:00
Nicolas Goaziou 58b509c091 ASCII back-end for new export engine
* EXPERIMENTAL/org-e-ascii.el: New file.
* contrib/lisp/org-export.el (org-export-dispatch): Reference E-ASCII
  back-end in dispatcher.
2012-01-21 20:40:15 +01:00
Nicolas Goaziou 588a7c261b org-element: Correctly parse inlinetasks before first headline
* contrib/lisp/org-element.el (org-element-section-parser): Correctly
  parse inlinetasks before first headline.
2012-01-21 20:38:22 +01:00
Nicolas Goaziou f86de3d233 org-export: Export standard drawers by default
* contrib/lisp/org-export.el (org-export-with-drawers): Export
  standard drawers by default.
2012-01-21 20:16:33 +01:00
Nicolas Goaziou a5766a98d5 org-export: Fix option item for drawers
* contrib/lisp/org-export.el (org-export-option-alist): Use "d"
  instead of "drawer".
2012-01-21 20:04:51 +01:00
Nicolas Goaziou 76f249b4f3 org-export: Filters can only be list of functions
* contrib/lisp/org-export.el
  (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-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): Only allow list of functions.
2012-01-21 15:29:25 +01:00
Nicolas Goaziou 5f81b563e0 org-export: Implement access to filters through communication channel
* contrib/lisp/org-export.el (org-export-option-alist): Add filters as
  properties in the communication channel.  This allows back-end
  developers to install their own filters at run time instead of
  making them reside in a global variable.
(org-export-data, org-export-as): Read filters from communication
  channel instead of global variables.
(org-export-filter-apply-functions): Only accept list of functions.
  Also change order of calling: it is now LIFO.
2012-01-21 15:23:49 +01:00
Nicolas Goaziou e760c0c1f2 org-export: Fix code typos 2012-01-20 20:27:04 +01:00
Nicolas Goaziou b6610f8609 org-export: Change signature of collect functions
* contrib/lisp/org-export.el (org-export-collect-elements): Change
  output to list of elements instead of their beginning position.
  Also add an optional predicate argument for fine grain control.
  Remove back-end argument.
(org-export-collect-tables, org-export-collect-listings): Apply
  changes from previous function.
(org-export-collect-figures): Apply changes from previous function.
  Also require a predicate to correctly define the concept of figure.
2012-01-20 20:12:30 +01:00
Nicolas Goaziou 3dc734eaf2 org-export: Correctly handle predicate in `org-export-get-ordinal'
* contrib/lisp/org-export.el (org-export-get-ordinal): Correctly
  handle predicate in `org-export-get-ordinal'. Also allow to count
  more than one element type in the same sequence with optional
  argument TYPES.
2012-01-20 20:12:30 +01:00
Nicolas Goaziou 95744ce7f8 org-element: Fix docstrings 2012-01-19 19:14:41 +01:00
Nicolas Goaziou 3bace4b335 org-element: Use correct regexp to identify comments at column 0
* contrib/lisp/org-element.el (org-element-guess-type,
org-element-current-element): Use correct regexp to identify comments
at column 0.
2012-01-19 19:14:41 +01:00
Nicolas Goaziou c2fd307df3 org-element: Fix `quote-section' detection and parsing
* contrib/lisp/org-element.el (org-element-quote-section-parser):
  Assume point is at quote-section beginning.
(org-element-guess-type): Move point to section beginning before
  calling for quote-section parser.
(org-element-parse-elements, org-element-current-element): Correctly
  detect and parse quote section.
2012-01-19 18:09:10 +01:00
Nicolas Goaziou 6c9c6eff05 org-export: Fix docstrings 2012-01-19 17:14:22 +01:00
Nicolas Goaziou c12246931f org-export: Add a function to resolve id or custom-id links
* contrib/lisp/org-export.el (org-export-resolve-id-link): New function.
2012-01-19 17:07:18 +01:00
Nicolas Goaziou 46ff3b7a56 org-export: Remove :point-max property
* contrib/lisp/org-export.el (org-export-last-sibling-p): Make use
  of :genealogy property instead.
(org-export-get-point-max): Removed function.
(org-export-collect-tree-properties): Remove :point-max property.
2012-01-18 23:45:02 +01:00
Nicolas Goaziou 0bd090379b org-element: Fix block parsing
* contrib/lisp/org-element.el (org-element-parse-elements): Fix
  erroneous block parsing introduced by recent speed improvements.
  Also refactor code a bit.
2012-01-18 22:12:36 +01:00
Nicolas Goaziou 3c4a0795df Fix some docstrings 2012-01-17 21:06:30 +01:00
Nicolas Goaziou ecfb12de19 New interactive export functions for 'e-latex back-end
* EXPERIMENTAL/org-e-latex.el (org-e-latex-export-to-latex,
  org-e-latex-export-to-pdf): New functions.
* contrib/lisp/org-export.el (org-export-dispatch): Make use of new
  functions.
2012-01-17 20:27:38 +01:00
Nicolas Goaziou 418f63c8b1 org-export: Externalize output file name retrieval
* contrib/lisp/org-export.el (org-export-output-file-name): New function.
(org-export-to-file): Remove post-process and pub-dir arguments. Add
a file argument to specify an output file.
2012-01-17 19:14:14 +01:00
Nicolas Goaziou e270792bd8 org-export: Fix regression in headline numbering
* contrib/lisp/org-export.el (org-export-collect-tree-properties):
  Ensure `:headline-offset' is filled before `:headline-numbering'
  since the latter depends on the former.
(org-export-collect-headline-numbering): Use headline elements as keys
  in the returned alist, instead of just beginning numbers.
(org-export-get-headline-number): Apply key change.
2012-01-16 00:36:26 +01:00
Nicolas Goaziou 5e970e407a org-export: Add a new predicate to test if an headline is low level
* contrib/lisp/org-export.el (org-export-low-level-p): New function.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-headline): Make use of new function.
2012-01-15 18:40:40 +01:00
Nicolas Goaziou b03ec00a0e org-export: Change output from org-export-resolve-fuzzy-link
* contrib/lisp/org-export.el (org-export-resolve-fuzzy-link): Now
  return the full object (for a target) or element (for an headline)
  when a match is found.  Also rewrite internals so it doesn't rely
  on :headline-alist.
(org-export-collect-tree-properties): Remove :headline-alist property
  from communication channel, since `org-export-resolve-fuzzy-link'
  doesn't use it anymore. Also store full target objects
  in :target-list property, not only raw names. Fix an argument name
  mismatch, too.

Previous version of org-export-resolve-fuzzy-link returned beginning
position as the identifier for the headline found, which is pretty
weak when files are included in the parsed buffer.
2012-01-14 01:02:07 +01:00
Nicolas Goaziou 117ee610e5 org-element: Fix small bug
* contrib/lisp/org-element.el (org-element-non-recursive-block-alist):
  Fix small bug.
2012-01-13 18:00:27 +01:00
Nicolas Goaziou fb046f5b59 org-element: Speed optimizations
* contrib/lisp/org-element.el (org-element--element-block-re): New
  variable.
(org-element-current-element): New function.
(org-element-parse-elements): Make use of the new specialized function
  instead of `org-element-at-point'.  Also narrow buffer to current
  container (greater element or recursive object) being parsed to
  improve search speed.
(org-element-comment-parser): Speed-up parsing for comments at column 0.
(org-element-guess-type): Make comment regexp less restrictive, due to
  comment optimizations.
2012-01-13 17:56:56 +01:00