Commit Graph

311 Commits

Author SHA1 Message Date
Nicolas Goaziou ed6849d18d ox-texinfo: Insert blank line between sectioning command and contents
* lisp/ox-texinfo.el (org-texinfo-headline): Insert blank line between
  sectioning command and contents.
2017-07-25 20:44:35 +02:00
Nicolas Goaziou 8112629d37 ox-texinfo: Fix code typo
* lisp/ox-texinfo.el (org-texinfo--menu-entries): Only collect direct
  children.

The regression was introduced in
1b415735ea.
2017-07-25 19:24:47 +02:00
Nicolas Goaziou 379a22c9c6 Revert "ox-texinfo: Move menu handling from sections to headlines"
This reverts commit 988e8802a6.
2017-06-28 22:51:26 +02:00
Nicolas Goaziou 1b415735ea ox-texinfo: Small menu refactoring
* lisp/ox-texinfo.el (org-texinfo--menu-entries): Use
  `org-export-collect-headlines'.
2017-06-22 19:01:28 +02:00
Nicolas Goaziou 988e8802a6 ox-texinfo: Move menu handling from sections to headlines
* lisp/ox-texinfo.el (org-texinfo-headline): Move menu handling from
  sections to headlines.
2017-06-22 19:01:23 +02:00
Nicolas Goaziou 20795aae27 ox-texinfo: Change Texinfo class definition
* lisp/ox-texinfo.el (org-texinfo-classes): Change default value and
  structure.
(org-texinfo--structuring-command): New function.
(org-texinfo-headline): Use new function.

The new structure handles properly appendices at sub-levels.
2017-06-22 18:46:44 +02:00
Nicolas Goaziou 03d43ee6c6 Merge branch 'maint' 2017-06-20 09:30:25 +02:00
Nicolas Goaziou 5d6325ffa3 ox-texinfo: Remove spurious "@insertcopying"
* lisp/ox-texinfo.el (org-texinfo-template): Remove "@insertcopying"
  command outside title page.

See (info "(texinfo) Copyright") for details.
2017-06-20 09:28:40 +02:00
Nicolas Goaziou 5e439d41f8 Merge branch 'maint' 2017-06-20 09:25:05 +02:00
Nicolas Goaziou fa6b7bf25c ox-texinfo: Fix location of text before first headline
* doc/org.texi (Info directory file): Fix node name.
(Headings and sectioning structure): Document location of text before
  first headline.
(A Texinfo example): Update example.

* lisp/ox-texinfo.el (org-texinfo-template): Handle contents of very
  first section.
(org-texinfo-section): Ignore very first section.

According to Texinfo specifications, Top node contents should not
appear in printed output.  Move it near "@top" command, within
"@ifnottex".
2017-06-20 09:24:34 +02:00
Nicolas Goaziou 1a6bf9c5f9 Merge branch 'maint' 2017-06-18 11:03:43 +02:00
Nicolas Goaziou 8769cfc91c Revert "ox-texinfo: Escape @ { } in index"
* lisp/ox-texinfo.el (org-texinfo-keyword): Index keywords are
  specific to Texinfo back-end, so they expect regular Texinfo code.
* doc/org.texi (Indices): Update documentation.
2017-06-18 11:00:56 +02:00
Nicolas Goaziou 4295d1b949 Merge branch 'maint' 2017-06-17 12:07:09 +02:00
Nicolas Goaziou 39351d0d14 ox-texinfo: Add missing entities
* lisp/ox-texinfo.el (org-texinfo-entity): Add "@textdegree{}" and
  "@registeredsymbol".
2017-06-17 12:04:36 +02:00
Nicolas Goaziou ad0312cde2 Merge branch 'maint' 2017-06-14 23:07:44 +02:00
Nicolas Goaziou 17382722db ox-texinfo: Fix last commit
* lisp/ox-texinfo.el (org-texinfo-keyword): Fix last commit.

Do not escape raw #+TEXINFO value.
2017-06-14 23:07:04 +02:00
Nicolas Goaziou e5396c189a Merge branch 'maint' 2017-06-14 21:27:37 +02:00
Nicolas Goaziou a621289953 ox-texinfo: Escape @ { } in index
* lisp/ox-texinfo.el (org-texinfo-keyword): Escape @ { } in index.
2017-06-14 21:27:02 +02:00
Nicolas Goaziou be30c8b126 ox-texinfo: Change default table markup
* lisp/ox-texinfo.el (org-texinfo-table-default-markup): Rename from
  `org-texinfo-def-table-markup'.  Set default value to the neutral
  "@asis".
(org-texinfo-plain-list): Use new name.
* lisp/org-compat.el (org-texinfo-def-table-markup): Mark as obsolete.
* doc/org.texi (Publishing options): Document change.
2017-06-14 19:11:33 +02:00
Nicolas Goaziou 5e35bc1807 Merge branch 'maint' 2017-06-11 11:39:37 +02:00
Nicolas Goaziou 62dc27dc75 ox-texinfo: Fix spurious "nil" in "special block export
* lisp/ox-texinfo.el (org-texinfo-special-block): Remove spurious
  "nil" when no option is defined.
2017-06-11 11:38:45 +02:00
Nicolas Goaziou cf505d2ebb ox-texinfo: Export example blocks as @example
* lisp/ox-texinfo.el (org-texinfo-example-block): Export as @example.

Escape @, {, }, however, so as to get proper verbatim contents.
2017-06-09 22:03:08 +02:00
Nicolas Goaziou c24c07c810 Merge branch 'maint' 2017-06-08 23:28:03 +02:00
Nicolas Goaziou 9fdc77a3cd ox-texinfo: Improve entities handling
* lisp/ox-texinfo.el (org-texinfo-entity): Use Texinfo specific
  commands whenever possible.
2017-06-08 23:26:26 +02:00
Nicolas Goaziou feb34a1fbf Merge branch 'maint' 2017-06-08 21:17:09 +02:00
Nicolas Goaziou a138fedfd2 ox-texinfo: Use UTF-8 instead of LaTeX for entities
* lisp/ox-texinfo.el (org-texinfo-entity): Use UTF-8 instead of LaTeX
  for entities.
2017-06-08 21:16:43 +02:00
Nicolas Goaziou ddc80b628a Merge branch 'maint' 2017-06-08 15:16:20 +02:00
Nicolas Goaziou f03387ef90 ox-texinfo: Fix special characters in plain text
* lisp/ox-texinfo.el (org-texinfo-plain-text): Add missing
  discretionary hyphenation point.  Tiny refactoring.
2017-06-08 15:14:48 +02:00
Nicolas Goaziou c5bb67ef60 ox-texinfo: Do not consider :sep value as a regexp
* lisp/ox-texinfo.el (org-texinfo-item): Do not consider :sep value as
  a regexp.
2017-06-08 09:04:31 +02:00
Nicolas Goaziou a2c13a31bb Merge branch 'maint' 2017-06-07 22:39:03 +02:00
Nicolas Goaziou 1c71172c54 ox-texinfo: Tolerate indicating commands without @-sign
* lisp/ox-texinfo.el (org-texinfo-def-table-markup): Improve
  docstring.
(org-texinfo-plain-list): Tolerate indicating commands without @-sign.
2017-06-07 22:38:02 +02:00
Nicolas Goaziou 8dc31ed680 ox-texinfo: Implement the :sep attribute in plain lists
* lisp/ox-texinfo.el (org-texinfo-item):
* doc/org.texi (Plain lists in Texinfo export):
2017-06-07 22:17:08 +02:00
Nicolas Goaziou 16f735f1cb Merge branch 'maint' 2017-06-07 12:23:56 +02:00
Nicolas Goaziou 8305c9381e ox-texinfo: Remove spurious blank line in fixed width areas
* lisp/ox-texinfo.el (org-texinfo-fixed-width): Remove spurious blank
  line.
2017-06-07 12:23:20 +02:00
Nicolas Goaziou 0ff8ba5907 ox-texinfo: Use @code instead of @verb for inline src blocks
* lisp/ox-texinfo.el (org-texinfo-inline-src-block): Use @code.
2017-06-07 00:16:35 +02:00
Nicolas Goaziou fdac3c0140 ox-texinfo: By default, use @samp instead of @verb for =...=
* lisp/ox-texinfo.el (org-texinfo-text-markup-alist): Change default
  value.
(org-texinfo--text-markup): Handle protected @samp{...} command.

@samp{} is more versatile than @verb{} as it can belong to more
commands.  So, it makes more sense as a default value.
2017-06-07 00:00:31 +02:00
Nicolas Goaziou f0f8ca730e Merge branch 'maint' 2017-06-06 23:51:57 +02:00
Nicolas Goaziou b13e672977 ox-texinfo: More fixes to cross-referencing
* lisp/ox-texinfo.el (org-texinfo--sanitize-title): New function.
(org-texinfo--get-node): Use new function.  Tiny improvement over
aesthetics of duplicate node names.
(org-texinfo--sanitize-node): Fix docstring.
(org-texinfo-headline): Use new function
(org-texinfo--@ref): Remove colons and protect commas in description.
(org-texinfo-link): Use new function.  Better handling of targets
within headings.
(org-texinfo--format-entries): Use new function.  Remove colons from
menu entries.
2017-06-06 23:48:33 +02:00
Nicolas Goaziou 53011308a5 Merge branch 'maint' 2017-06-06 02:20:51 +02:00
Nicolas Goaziou 93bc1b7c7e ox-texinfo: Improve algorithm to make node names unique
* lisp/ox-texinfo.el (org-texinfo--get-node): Use numbers to
  differentiate between common base node names instead of "x".
2017-06-06 02:18:40 +02:00
Nicolas Goaziou d44cadbe3e ox-texinfo: Fix conflicts between @node and @anchor names
* lisp/ox-texinfo.el (org-texinfo--get-node): Prevent using reserved
  "Top" node.
(org-texinfo-radio-target):
(org-texinfo-src-block):
(org-texinfo-table):
(org-texinfo-target): Use `org-texinfo--get-node' instead of
`org-export-get-reference'.
2017-06-06 02:18:40 +02:00
Nicolas Goaziou c822329faf ox-texinfo: Additional fix to @ref commands
* lisp/ox-texinfo.el (org-texinfo--@ref): New function.
(org-texinfo-link): Use new function.

When node name doesn't correspond to actual title, use the third @ref
argument to ensure the node name is not printed nor displayed.
2017-06-06 02:18:40 +02:00
Nicolas Goaziou bffe447778 Merge branch 'maint' 2017-06-06 00:23:13 +02:00
Nicolas Goaziou 6f12dfbcb0 ox-texinfo: Fix @ref{...} handling
* lisp/ox-texinfo.el (org-texinfo-link): Fix @ref{...} handling.  Use
  third argument as description.  Without description, use
  one-argument @ref.
2017-06-06 00:21:53 +02:00
Kyle Meyer 7278899697 Merge branch 'maint' 2017-01-26 00:05:29 -05:00
Kyle Meyer 7c710f6f57 Change :version in defcustoms from "25.2" to "26.1"
* lisp/ob-J.el (org-babel-J-command):
* lisp/ob-core.el (org-babel-hash-show-time):
* lisp/ob-exp.el (org-babel-exp-inline-code-template):
* lisp/ob-lisp.el (org-babel-lisp-eval-fn):
* lisp/org-agenda.el (org-agenda-view-columns-initially):
* lisp/org-attach.el (org-attach-commit):
(org-attach-archive-delete):
(org-attach-annex-auto-get):
* lisp/org-bibtex.el (org-bibtex-inherit-tags):
* lisp/org-clock.el (org-clock-into-drawer):
* lisp/org-colview.el (org-columns-summary-types):
* lisp/org-faces.el (org-block):
* lisp/org-src.el (org-src-block-faces):
* lisp/org-table.el (org-table-copy-increment):
(org-table-formula-create-columns):
(org-table-convert-region-max-lines):
* lisp/org-timer.el (org-timer-default-timer):
* lisp/org.el (org-export-backends):
(org-show-context-detail):
(org-cycle-hook):
(org-occur-case-fold-search):
(org-preview-latex-default-process):
(org-preview-latex-process-alist):
(org-preview-latex-image-directory):
(org-latex-default-packages-alist):
(org-sparse-tree-default-date-type):
(org-structure-template-alist):
(org-effort-durations):
(org-agenda-ignore-properties): Change :version from "25.2" to "26.1".
(customize-package-emacs-version-alist): Fix associations between Org
and Emacs releases.
* lisp/ox-ascii.el (org-ascii-list-margin):
* lisp/ox-beamer.el (org-beamer-subtitle-format):
* lisp/ox-html.el (org-html-format-headline-function):
(org-html-format-inlinetask-function):
(org-html-viewport):
* lisp/ox-latex.el (org-latex-caption-above):
(org-latex-prefer-user-labels):
(org-latex-subtitle-format):
(org-latex-hyperref-template):
(org-latex-footnote-defined-format):
(org-latex-images-centered):
(org-latex-default-figure-position):
(org-latex-text-markup-alist):
(org-latex-format-inlinetask-function):
(org-latex-custom-lang-environments):
(org-latex-compiler-file-string):
(org-latex-compiler):
(org-latex-bib-compiler):
(org-latex-logfiles-extensions):
(org-latex-known-warnings):
* lisp/ox-md.el (org-md-footnotes-section):
(org-md-footnote-format):
* lisp/ox-odt.el (org-odt-format-headline-function):
(org-odt-format-inlinetask-function):
(org-odt-inline-image-rules):
* lisp/ox-texinfo.el (org-texinfo-format-headline-function):
* lisp/ox.el (org-export-with-creator):
(org-export-with-title):
(org-export-with-broken-links):
(org-export-copy-to-kill-ring): Change :version from "25.2" to "26.1".

It looks like the goal is to sync Org 9.0.* (maint) with the Emacs
master branch (what will be version 26.1):
https://lists.gnu.org/archive/html/emacs-orgmode/2017-01/msg00558.html
2017-01-26 00:02:03 -05:00
Nicolas Goaziou 7289293e4e ox-texinfo: Delegate "info" links handling to "org-info.el"
* lisp/org-info.el (org-info-export): Handle links when exporting to
  "texinfo" back-end.
* lisp/ox-texinfo.el (org-texinfo-link): Delegate "info" links
  handling to the function above.
2017-01-21 14:19:29 +01:00
Kyle Meyer 713f785017 Update copyright years 2017-01-05 20:19:37 -05:00
Nicolas Goaziou 289363d510 Fix LaTeX preview
* lisp/org.el (org-compile-file): Introduce new %O placeholder.
(org-preview-latex-process-alist): Use it.

* lisp/ox-latex.el (org-latex-pdf-process):
* lisp/ox-man.el (org-man-pdf-process):
* lisp/ox-texinfo.el (org-texinfo-info-process): Document it.

Reported-by: Scott Otterson <scotto@sharpleaf.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/110464>
2016-11-27 12:07:11 +01:00
Nicolas Goaziou d907041911 Change :version in defcustoms from "25.1" to "25.2"
* lisp/ob-exp.el (org-babel-exp-inline-code-template):
* lisp/ob-lisp.el (org-babel-lisp-eval-fn):
* lisp/org-agenda.el (org-agenda-view-columns-initially):
* lisp/org-attach.el (org-attach-commit):
(org-attach-archive-delete):
(org-attach-annex-auto-get):
* lisp/org-bibtex.el (org-bibtex-inherit-tags):
* lisp/org-clock.el (org-clock-into-drawer):
* lisp/org-colview.el (org-columns-summary-types):
* lisp/org-table.el (org-table-copy-increment):
(org-table-formula-create-columns):
(org-table-convert-region-max-lines):
* lisp/org-timer.el (org-timer-default-timer):
* lisp/org.el (org-export-backends):
(org-cycle-hook):
(org-occur-case-fold-search):
(org-preview-latex-image-directory):
(org-latex-default-packages-alist):
(org-sparse-tree-default-date-type):
(org-structure-template-alist):
(org-effort-durations):
(org-agenda-ignore-properties): Change :version from "25.1" to "25.2".
(customize-package-emacs-version-alist): Fix associations between Org
and Emacs releases.
* lisp/ox-ascii.el (org-ascii-list-margin):
* lisp/ox-beamer.el (org-beamer-subtitle-format):
* lisp/ox-html.el (org-html-format-headline-function):
(org-html-format-inlinetask-function):
(org-html-viewport):
* lisp/ox-latex.el (org-latex-caption-above):
(org-latex-prefer-user-labels):
(org-latex-subtitle-format):
(org-latex-hyperref-template):
(org-latex-images-centered):
(org-latex-text-markup-alist):
(org-latex-format-inlinetask-function):
(org-latex-custom-lang-environments):
(org-latex-compiler-file-string):
(org-latex-compiler):
(org-latex-bib-compiler):
(org-latex-logfiles-extensions):
(org-latex-known-warnings):
* lisp/ox-md.el (org-md-footnotes-section):
(org-md-footnote-format):
* lisp/ox-odt.el (org-odt-format-headline-function):
(org-odt-format-inlinetask-function):
(org-odt-inline-image-rules):
* lisp/ox-texinfo.el (org-texinfo-format-headline-function):
* lisp/ox.el (org-export-with-creator):
(org-export-with-title):
(org-export-with-broken-links):
(org-export-copy-to-kill-ring): Change :version from "25.1" to "25.2".

Neither Org 8.3 nor Org 9.0 were released with Emacs 25.1.
2016-10-05 11:18:39 +02:00
Aaron Ecay 6b52bc6a21 Clean up string handling.
* lisp/org-compat.el (string-prefix-p, string-suffix-p):
Add compatibility definitions for 24.3.

* lisp/ob-R.el (org-babel-edit-prep:R):
* lisp/ob-core.el (org-babel-demarcate-block):
* lisp/ob-js.el (org-babel-js-read):
* lisp/ob-latex.el (org-babel-execute:latex):
* lisp/ob-ref.el (org-babel-ref-parse):
* lisp/ob-shell.el (org-babel-variable-assignments:shell):
* lisp/org-protocol.el (org-protocol-create):
* lisp/org-table.el (org-table-field-info):
* lisp/org.el (org-get-buffer-for-internal-link):
* lisp/ox-publish.el (org-publish-compare-directory-files):
* lisp/ox-texinfo.el (org-texinfo-template):
Use `string-{suffix,prefix}-p' instead of `string-match(-p)'.

* lisp/ob-python.el (org-babel-python-read-string):
Ditto, also use `substring' rather than `match-string'.

* lisp/org-table.el (org-table-copy-down):
(org-table-insert-hline, org-table-current-field-formula):
(org-table-get-formula): Use `string-match-p' instead of
`string-match'.
2016-08-24 16:05:54 +01:00
Nicolas Goaziou de24694f05 Turn org-mode into Org or Org mode
Use Org or Org mode instead of org-mode or Org-mode according to
"Documentation standards".
2016-08-23 22:13:56 +02:00
Nicolas Goaziou 7c5416958c ox-texinfo: Use cl-lib
* lisp/ox-texinfo.el (org-texinfo--find-verb-separator):
(org-texinfo-link):
(org-texinfo-table-column-widths):
(org-texinfo-timestamp): Silence byte-compiler.
2016-07-25 15:59:28 +02:00
Nicolas Goaziou 72461eaeaf Use `string-match-p' instead of `org-string-match-p'
* contrib/lisp/org-contacts.el (org-contacts-filter):
(org-contacts-complete-group):
(org-contacts-complete-tags-props):
* contrib/lisp/org-wl.el (org-wl-open):
* contrib/lisp/ox-bibtex.el (org-bibtex-merge-contiguous-citations):
* lisp/ob-core.el (org-babel-demarcate-block):
* lisp/ob-processing.el (org-babel-processing-view-sketch):
* lisp/ob-stan.el (org-babel-execute:stan):
* lisp/org-agenda.el (org-agenda-get-category-icon):
* lisp/org-clock.el (org-clock-into-drawer):
* lisp/org-element.el (org-element-link-parser):
* lisp/org-lint.el (org-lint-orphaned-affiliated-keywords):
(org-lint-invalid-babel-call-block):
(org-lint-colon-in-name):
* lisp/org-list.el (org-list-item-body-column):
* lisp/org-macro.el (org-macro-replace-all):
* lisp/org-plot.el (org-plot/gnuplot-script):
* lisp/org-table.el (org-table-export):
(org-table-align):
(org-table-get-range):
(org-table-recalculate):
(org-table-expand-lhs-ranges):
(org-table-formula-substitute-names):
(org-table-show-reference):
(orgtbl-to-texinfo):
(org-table-remote-reference-indirection):
* lisp/org.el (org-make-link-string):
(org--open-elisp-link):
(org-open-at-point):
(org-store-log-note):
(org-cached-entry-get):
(org--valid-property-p):
(org-entry-properties):
(org-buffer-property-keys):
(org-insert-drawer):
(org-display-inline-images):
(org-in-commented-heading-p):
* lisp/ox-ascii.el (org-ascii-keyword):
* lisp/ox-beamer.el (org-beamer--format-frame):
* lisp/ox-html.el (org-html-keyword):
* lisp/ox-latex.el (org-latex--label):
(org-latex-headline):
(org-latex-item):
(org-latex-keyword):
(org-latex--inline-image):
(org-latex-src-block):
* lisp/ox-odt.el (org-odt-styles-dir):
(org-odt-keyword):
(org-odt--translate-latex-fragments):
* lisp/ox-texinfo.el (org-texinfo-template):
(org-texinfo-keyword):
(org-texinfo-src-block):
* lisp/ox.el (org-export-inline-image-p):
(org-export-file-uri):
* testing/lisp/test-org-table.el (test-org-table/to-generic):
(test-org-table/to-latex):
(test-org-table/to-html):
(test-org-table/named-field):
(test-org-table/named-column):
(test-org-table/tab-indent):
(test-org-table/first-rc):
(test-org-table/last-rc): Use `string-match-p' instead of
`org-string-match-p'.
2016-07-25 15:21:12 +02:00
Nicolas Goaziou f94df5456f ox-texinfo: Add support for strike-through and underline markup
* lisp/ox-texinfo.el (texinfo): Add transcoders.
(org-texinfo-text-markup-alist): Allow `strike-though' and `underline'
as keys.  Remove unused `comment'.
(org-texinfo-strike-through):
(org-texinfo-underline): New functions.

By default, new markup produce no Texinfo code, but can be customized by
users for specific uses.
2016-06-04 22:40:21 +02:00
Nicolas Goaziou 8eb582b951 ox-texinfo: Allow :options attribute on special blocks
* lisp/ox-texinfo.el (org-texinfo-special-block): Handle :options
  attribute.
* doc/org.texi (Texinfo specific attributes): Add special block section.
2016-05-19 19:15:55 +02:00
Nicolas Goaziou ea1147a479 Add `org-compile-file' and `org-file-newer-than-p'
* lisp/org.el (org-compile-file):
(org-file-newer-than-p): New functions.

* lisp/ox-latex.el (org-latex-compile): Use new functions.

* lisp/ox-man.el (org-man-compile): Use new functions.
(org-man-collect-errors): Remove it.

* lisp/ox-texinfo.el (org-texinfo-compile): Use new functions.
(org-texinfo-collect-errors): Remove function as it is not accurate
enough (e.g., it doesn't handle internationalization).
2016-05-19 09:44:05 +02:00
Nicolas Goaziou 4bc07758a5 Merge branch 'maint' 2016-04-06 22:28:16 +02:00
Nicolas Goaziou 9c6811b9d4 ox-texinfo: Fix erroneous count of blank lines in menu
* lisp/ox-texinfo.el (org-texinfo-section):
(org-texinfo--build-menu): Normalize empty lines in generated menu.

Reported-by: Jonas Bernoulli <jonas@bernoul.li>
<http://permalink.gmane.org/gmane.emacs.orgmode/106145>
2016-04-06 22:26:42 +02:00
Nicolas Goaziou 13427c9029 Improve compilation checks for some back-ends
* contrib/lisp/ox-groff.el (org-groff-compile):
* lisp/ox-man.el (org-man-compile):
* lisp/ox-texinfo.el (org-texinfo-compile): Check more carefully if
  output file was produced.
2016-01-28 10:02:04 +01:00
Kyle Meyer 6345de2d05 Merge branch 'maint' 2016-01-09 17:43:27 -05:00
Kyle Meyer 6bc48c5f41 Update copyright years 2016-01-09 17:12:03 -05:00
Nicolas Goaziou 54318add34 Change export block syntax
* lisp/org-element.el (org-element-export-block-parser):
(org-element--current-element): Use new syntax for export blocks.
(org-element-block-name-alist): Remove.

* lisp/ox.el (org-export-register-backend):
(org-export-define-derived-backend): Remove :export-block keyword from
back-end's definition.
(org-export-expand-include-keyword): Use new syntax for include
keywords.

* lisp/ox-ascii.el (ascii):
* lisp/ox-beamer.el (beamer):
* lisp/ox-html.el (html):
* lisp/ox-latex.el (latex):
(org-latex-prefer-user-labels):
* lisp/ox-man.el (man):
* lisp/ox-md.el (md):
* lisp/ox-odt.el (odt):
* lisp/ox-texinfo.el (texinfo): Propagate changes to "ox.el".

* lisp/ob-core.el (org-babel-insert-result):
* lisp/ob-haskell.el (org-babel-haskell-export-to-lhs): Use new syntax.

* lisp/org.el (org-structure-template-alist): Use new syntax.
(org-protecting-blocks): Add "export" to protected blocks.  Remove
  back-ends blocks, which are now special blocks.
(org-fontify-meta-lines-and-blocks-1): Fontify correctly new blocks.

* lisp/org-footnote.el (org-footnote-forbidden-blocks):
* lisp/org-list.el (org-list-forbidden-blocks): Add "export" to
  forbidden blocks.  Remove back-ends blocks, which are now special
  blocks.

* contrib/lisp/ox-extra.el: Update comments.

* testing/lisp/test-org-element.el (test-org-element/export-block-parser):
(test-org-element/export-block-interpreter):
* testing/lisp/test-ob.el (test-ob/org-babel-remove-result--results-html):
(test-ob/org-babel-remove-result--results-latex):
* testing/lisp/test-ox.el (test-org-export/expand-include): Update tests.

Export blocks are explicitly marked as such at the syntax level to
disambiguate their parsing from special blocks.  The new syntax is

  #+BEGIN_EXPORT backend
  ...
  #+END_EXPORT

instead of

  #+BEGIN_backend
  ...
  #+END_backend

As a consequence, =INCLUDE= keywords syntax is modified, e.g.,

  #+INCLUDE: "file.org" HTML

becomes

  #+INCLUDE: "file.org" export html
2015-12-20 21:56:27 +01:00
Nicolas Goaziou 89b05fe7f7 ox-texinfo: Use lexical binding
* lisp/ox-texinfo.el (org-texinfo-format-drawer-function):
(org-texinfo--filter-section-blank-lines):
(org-texinfo--text-markup):
(org-texinfo-bold):
(org-texinfo-center-block):
(org-texinfo-clock):
(org-texinfo-code):
(org-texinfo-dynamic-block):
(org-texinfo-entity):
(org-texinfo-example-block):
(org-texinfo-export-block):
(org-texinfo-export-snippet):
(org-texinfo-fixed-width):
(org-texinfo-footnote-reference):
(org-texinfo-format-headline-default-function):
(org-texinfo-inline-src-block):
(org-texinfo-format-inlinetask-default-function):
(org-texinfo-italic):
(org-texinfo-keyword):
(org-texinfo-line-break):
(org-texinfo-node-property):
(org-texinfo-paragraph):
(org-texinfo-planning):
(org-texinfo-property-drawer):
(org-texinfo-quote-block):
(org-texinfo-special-block):
(org-texinfo-src-block):
(org-texinfo-statistics-cookie):
(org-texinfo-subscript):
(org-texinfo-superscript):
(org-texinfo-target):
(org-texinfo-timestamp):
(org-texinfo-verbatim):
(org-texinfo-verse-block): Silence byte-compiler.
2015-11-06 00:11:00 +01:00
Paul Eggert cc0d491739 Backport commit ab11a1c from Emacs master branch
* lisp/ob-latex.el (convert-pdf):
* lisp/org-crypt.el (org-crypt-check-auto-save):
* lisp/ox-man.el (org-man-compile):
* lisp/ox-odt.el (org-odt--export-wrap):
* lisp/ox-texinfo.el (org-texinfo-compile):
Use %s to avoid translating quotes of file names etc. in diagnostics.

Use %s to format strings instead of splicing them
ab11a1cf27ebe3791df45cccde3c851affd184dd
Paul Eggert
Sun Sep 20 09:42:05 2015 -0700
2015-09-22 00:20:57 -04:00
Paul Eggert c86a10b0bc Backport commit 284c470 from Emacs master branch
Backslash cleanup in Elisp source files
284c470ef752967fcd8bae6a450dc138462b1e49
Paul Eggert
Thu Sep 17 16:09:39 2015 -0700
2015-09-21 18:38:39 -04:00
Paul Eggert 3a81c7ee6f Backport commit 0c856a2 from Emacs master branch
* lisp/ob-core.el (org-babel-check-evaluate)
(org-babel-confirm-evaluate):
* lisp/ob-fortran.el (org-babel-fortran-var-to-fortran):
* lisp/ox-latex.el (org-latex-compile):
* lisp/ox-man.el (org-man-compile):
* lisp/ox-odt.el (org-odt-template):
* lisp/ox-texinfo.el (org-texinfo-compile):
Change (message (format ...)) to (message ...), and likewise
for ‘error’.  This lessens the probability of confusion when the
output of ‘format’ contains ‘%’.

Fix some confusion with ‘format’
0c856a2c459016f1f9cce173f5b2b49be36e3452
Paul Eggert
Wed Aug 5 19:07:28 2015 -0700
2015-08-05 23:29:43 -04:00
Kyle Meyer 6f9184a294 Merge branch 'maint' into backport-master 2015-07-26 23:56:50 -04:00
Paul Eggert 6b04312e85 Backport commit 96794d2 from Emacs master branch
Don't quote nil and t in doc strings
96794d2f97cd064e4c2bf4f71459b42558cc8c79
Paul Eggert
Thu May 21 10:06:44 2015 -0700
2015-07-26 23:29:31 -04:00
Nicolas Goaziou 5e63d35ace ox-texinfo: Change output for links to targets with no description
* lisp/ox-texinfo.el (org-texinfo-link): Change output for links to
  targets with no description.

See <http://permalink.gmane.org/gmane.emacs.orgmode/98007>.
2015-05-30 13:52:26 +02:00
Nicolas Goaziou 82b4b8a98c ox-texinfo: Refer to "Top" instead of "top"
* lisp/ox-texinfo.el (org-texinfo-link): Refer to "Top" instead of
  "top".
2015-05-30 12:29:50 +02:00
Nicolas Goaziou 0194425d52 ox-texinfo: Fix link to headlines
* lisp/ox-texinfo.el (org-texinfo-link): Reverse behaviour whether
  headline is numbered or not.
2015-05-30 12:20:10 +02:00
Nicolas Goaziou bb15b3937b ox-texinfo: Fix generated label
* lisp/ox-texinfo.el (org-texinfo-src-block):
(org-texinfo-table): Use `org-export-get-reference' to build internal
labels.
2015-05-29 11:43:28 +02:00
Nicolas Goaziou 1bd26e2d81 ox-texinfo: Put Texinfo output into `compilation-mode'
* lisp/ox-texinfo.el (org-texinfo-compile): Put Texinfo output into
  `compilation-mode'.

Suggested-by: Vaidheeswaran C <vaidheeswaran.chinnaraju@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97961>
2015-05-29 11:31:01 +02:00
Nicolas Goaziou 0ed99a4c8c ox-texinfo: Fix labelled images without caption
* lisp/ox-texinfo.el (org-texinfo--inline-image): Add an @anchor for
  labelled images without a caption.

Reported-by: Vaidheeswaran C <vaidheeswaran.chinnaraju@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97961>
2015-05-29 11:27:10 +02:00
Nicolas Goaziou 4049c680fb ox-texinfo: Handle listings with captions and list of listings
* lisp/ox-texinfo.el (org-texinfo-keyword): Handle "#+TOC: listings".
(org-texinfo-src-block): Wrap listings with captions within @float.
2015-05-26 10:03:59 +02:00
Nicolas Goaziou e36139ea02 ox-texinfo: Handle tables with captions and list of tables
* lisp/ox-texinfo.el (org-texinfo-table): Wrap captionned tables
  within a @float command.
(org-texinfo-keyword): Handle "#+TOC: tables".
2015-05-26 10:03:53 +02:00
Nicolas Goaziou deb4fe7838 ox-texinfo.el: Refactor caption code
* lisp/ox-texinfo.el (org-texinfo--wrap-float): New function.
(org-texinfo--inline-image): Use new function.
2015-05-26 09:41:02 +02:00
Nicolas Goaziou 20a3b61865 ox-texinfo: Rename an internal function
* lisp/ox-texinfo.el (org-texinfo--filter-section-blank-lines):
  Renamed from `org-texinfo-filter-section-blank-lines'.
(texinfo): Apply renaming.
2015-05-26 09:22:53 +02:00
Nicolas Goaziou 6ba3e60a68 ox-texinfo: Improve caption handling
* lisp/ox-texinfo.el (org-texinfo--inline-image): Apply appropriate
  restrictions if caption is meant to be also used in list of floats.
2015-05-26 09:18:00 +02:00
Nicolas Goaziou bc3cf21659 ox-texinfo: Handle @image
* lisp/ox-texinfo.el (org-texinfo-inline-image-rules): New variable.
(org-texinfo--inline-image): New function.
(org-texinfo-link): Use new function.

* doc/org.texi (Texinfo specific attributes):
* etc/ORG-NEWS:  Document new feature.
2015-05-26 01:14:24 +02:00
Nicolas Goaziou f1f6eb1140 ox-texinfo: Offer to open produced file from dispatcher
* lisp/ox-texinfo.el (texinfo): Offer to open produced file from
  dispatcher.

File is opened through `org-open-file' since texinfo back-end can
output multiple formats.
2015-05-25 23:55:00 +02:00
Nicolas Goaziou e0567c9cac Export back-ends: Use `org-export-file-uri'
* contrib/lisp/ox-groff.el (org-groff-link):
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-man.el (org-man-link):
* lisp/ox-md.el (org-md-link):
* lisp/ox-odt.el (org-odt-link):
* lisp/ox-texinfo.el (org-texinfo-link): Use `org-export-file-uri'.
2015-04-20 12:37:13 +02:00
Nicolas Goaziou 4590332652 Export back-ends: Use `org-export-get-reference'
* lisp/ox-beamer.el (org-beamer-link):
(org-beamer-plain-list):
(org-beamer-target):
(org-beamer-radio-target):

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

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

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

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

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

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

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

* contrib/lisp/ox-rss.el (org-rss-headline): Use
  `org-export-get-reference'.
2015-04-13 15:21:22 +02:00
Rasmus a780080fcf ox: Add #+SUBTITLE property in some backends
* ox-texinfo.el (texinfo, org-texinfo-template): Parse subtitle.
* ox-s5.el (org-s5-title-slide-template):
* ox-deck.el (org-deck-title-slide-template):
* ox-odt.el (odt, org-odt-template):
* ox-latex.el (latex, org-latex-template):
* ox-html.el (html, org-html-format-spec, org-html-template):
* ox-ascii.el (ascii, org-ascii-template--document-title):
* ox-beamer.el (beamer, org-beamer-template): Support #+SUBTITLE.
* ox-html.el (org-html-postamble-format)
(org-html-preamble-format):
* ox-latex.el (org-latex-title-command)
(org-latex-hyperref-template): Update docstring.
* ox-html.el (org-html-style-default): New .subtitle css property.
* ox-beamer.el (org-beamer-subtitle-format):
* ox-latex.el (org-latex-subtitle-format)
(org-latex-subtitle-separate): New variable.
* org.texi (ASCII/Latin-1/UTF-8 export)
(Beamer specific export settings)
(HTML Specific export settings)
(@LaTeX{} specific export settings, CSS support)
(ODT specific export settings)
(Texinfo specific export settings, Document preamble)
(Publishing options, Publishing options): Document #+SUBTITLE.

The patch adds a #+SUBTITLE keyword to ox-ascii, ox-latex, ox-html and
ox-odt.
2015-04-08 23:23:13 +02:00
Nicolas Goaziou a0f2293405 Remove comment related translators in export back-ends
* lisp/ox-ascii.el (ascii):
* lisp/ox-latex.el (latex):
* lisp/ox-man.el (man):
* lisp/ox-md.el (md):
* lisp/ox-org.el (org):
* lisp/ox-texinfo.el (texinfo):

* contrib/lisp/ox-groff.el (groff): Remove `comment' and
`comment-block' translators.

`comment' and `comment-block' translators are not needed since both
commented lines and comment blocks do not appear anymore in the parse
tree.  See 69dd4301ab.
2015-03-28 10:56:11 +01:00
Nicolas Goaziou 16cea3d7b7 ox: Remove `comment' special value for `org-export-with-creator'
* lisp/ox.el (org-export-with-creator): Change default value.

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

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

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

* etc/ORG-NEWS: Signal change.

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

It is possible to add a comment including creator at the end of the
document using a body filter instead.
2015-03-17 15:51:22 +01:00
Nicolas Goaziou c76f254e8b ox: Fix custom link handling in anonymous back-end
* lisp/ox.el (org-export-custom-protocol-maybe): Change signature.
* contrib/lisp/ox-groff.el (org-groff-link):
* lisp/ox-ascii.el (org-ascii-link):
* lisp/ox-beamer.el (org-beamer-link):
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-man.el (org-man-link):
* lisp/ox-md.el (org-md-link):
* lisp/ox-odt.el (org-odt-link):
* lisp/ox-org.el (org-org-link):
* lisp/ox-texinfo.el (org-texinfo-link): Apply signature change.

* testing/lisp/test-ox.el (test-org-export/custom-protocol-maybe):
  Update test.

Provide explicitly back-end used instead of guessing it from INFO
channel as an anonymous back-end could be used, masquerading the real
one.

Reported-by: Christian Moe <mail@christianmoe.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/95402>
2015-02-24 15:54:01 +01:00
Nicolas Goaziou 0d24086657 Update some copyright years 2015-02-16 01:40:07 +01:00
Rasmus 1cc23c6f3d Fix bugs introduced in b39dd5a
* ox-man.el (org-man-template),
  ox-texinfo.el (org-texinfo-template): Fix bug.
2015-02-12 11:00:56 +01:00
Rasmus e6fcc853c5 ox: Optional export of title
* ox.el (org-export-with-title): New variable.
* ox (org-export-options-alist),
  ox-ascii.el (org-ascii-template--document-title),
  ox-beamer.el (org-beamer-template), ox-html.el (org-html-template),
  ox-latex.el (org-latex-template), ox-man.el (org-man-template),
  ox-odt.el (org-odt-template), ox-org.el (org-org-template),
  ox-publish.el (org-publish-project-alist),
  ox-texinfo.el (org-texinfo-template),
  ox-groff.el (org-groff--mt-head): Use new variable.
* ox-koma-letter.el (org-koma-letter-use-title): Mark obsolete.
* test-ox.el (test-org-export/parse-option-keyword): Add :with-title.
* ORG-NEWS, org.texi: Mention org-export-with-title.

This is useful in e.g. ox-html where title can be set via
`org-html-preamble-template' or when using the {{{title}}}-macro.
2015-02-12 01:45:39 +01:00
Nicolas Goaziou 3900155788 Implement `org-export-custom-protocol-maybe' and use it
* lisp/ox.el (org-export-custom-protocol-maybe): New function.
* contrib/lisp/ox-groff.el (org-groff-link):
* lisp/ox-ascii.el (org-ascii-link):
* lisp/ox-beamer.el (org-beamer-link):
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-man.el (org-man-link):
* lisp/ox-md.el (org-md-link):
* lisp/ox-odt.el (org-odt-link):
* lisp/ox-texinfo.el (org-texinfo-link): Use new function.

* testing/lisp/test-ox.el (test-org-export/custom-protocol-maybe): New
  test.
2015-01-04 22:16:36 +01:00
Nicolas Goaziou e1adb17ba5 Fix custom timestamps during export
* lisp/org.el (org-translate-time): Remove function.
(org-timestamp-translate): Rewrite function so it doesn't use the one
above.

* lisp/ox-ascii.el (org-ascii-clock, org-ascii-planning):
* lisp/ox-html.el (org-html-clock, org-html-planning, org-html-timestamp):
* lisp/ox-latex.el (org-latex-clock, org-latex-planning):
* lisp/ox-texinfo.el (org-texinfo-clock, org-texinfo-planning): Use
  `org-timestamp-translate' instead of `org-translate-time'.

* etc/ORG-NEWS: Document function removal.

Reported-by: Ian Barton <lists@wilkesley.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/93127>
2014-12-03 17:18:16 +01:00
Nicolas Goaziou 7f97406542 Bump Emacs version
* lisp/ob-core.el (org-babel-examplize-region):
* lisp/ob-exp.el (org-babel-exp-inline-code-template):
* lisp/org-table.el (org-table-copy-increment):
(org-table-formula-create-columns):
* lisp/org.el (org-agenda-ignore-drawer-properties):
(org-agenda-ignore-properties):
* lisp/ox-ascii.el (org-ascii-list-margin):
* lisp/ox-html.el (org-html-format-headline-function):
(org-html-format-inlinetask-function):
* lisp/ox-latex.el (org-latex-hyperref-template):
(org-latex-custom-id-as-label):
(org-latex-format-inlinetask-function):
(org-latex-known-warnings):
* lisp/ox-odt.el (org-odt-format-headline-function):
(org-odt-format-inlinetask-function):
* lisp/ox-texinfo.el (org-texinfo-format-headline-function): Bump
  Emacs version.
2014-10-24 11:56:09 +02:00
Achim Gratz 1aa719cff2 ox-texinfo: fix bug in 3432681fbe
* lisp/ox-texinfo.el: Add missing argument to call of
  `org-element-property'.
2014-09-19 10:39:02 +02:00
Nicolas Goaziou 3432681fbe Parsing and exporting special blocks preserve case
* lisp/org-element.el (org-element-special-block-parser):
* lisp/ox-latex.el (org-latex-special-block):
* lisp/ox-html.el (org-html-special-block):
* lisp/ox-man.el (org-man-special-block):
* lisp/ox-odt.el (org-odt-special-block):
* lisp/ox-texinfo.el (org-texinfo-special-block):
* contrib/lisp/ox-groff.el (org-groff-special-block): Preserve case.

* testing/lisp/test-org-element.el (test-org-element/special-block-parser):
  Add test.
2014-09-17 20:52:54 +02:00
Nicolas Goaziou e3369c07f0 Revert "Merge export and special blocks within back-ends"
This reverts commit fbc7097ffa.

Conflicts:
	lisp/ox-texinfo.el
2014-09-08 11:57:27 +02:00
Nicolas Goaziou 5da35ee0ca Merge branch 'maint' 2014-08-28 01:04:01 +02:00
Nicolas Goaziou 42271d8c43 ox-texinfo: Fix link export
* lisp/ox-texinfo.el (org-texinfo--get-node): Return a node or anchor
  name.
(org-texinfo--sanitize-content): Fix regexp.
(org-texinfo-link): Fix various bugs in link export.
2014-08-28 00:57:29 +02:00
Nicolas Goaziou 258b572cd4 Merge branch 'maint' 2014-08-19 23:37:37 +02:00
Nicolas Goaziou f2ac6db0a6 ox-texinfo: Fix language case
* lisp/ox-texinfo.el (org-texinfo-template): Fix language and encoding
  case.

Thanks to Brian J. Carlson for reporting it and providing a patch.
http://permalink.gmane.org/gmane.emacs.orgmode/89965
2014-08-19 23:35:08 +02:00
Nicolas Goaziou cc6aa45f3b Merge branch 'maint'
Conflicts:
	lisp/ox-texinfo.el
2014-08-14 14:11:40 +02:00
Nicolas Goaziou 1adec31993 ox-texinfo: Fix parse tree corruption
* lisp/ox-texinfo.el (org-texinfo--normalize-headlines): Properly add
  a section to the contents.
2014-08-14 14:08:16 +02:00
Nicolas Goaziou 57644f7ebf ox-texinfo: Small refactoring
* lisp/ox-texinfo.el (org-texinfo--normalize-headlines): Do not set
  pre blanks since the value is now hard-coded.
(org-texinfo-headline): Force one blank line before contents, when non
empty.  Refactoring.
(org-texinfo-src-block): Refactor code.  Comply to predicate naming.
2014-08-14 14:06:48 +02:00
Nicolas Goaziou 644e602343 Merge branch 'maint' 2014-08-11 19:48:58 +02:00
Nicolas Goaziou e112f3c0df ox-texinfo: Fix corner case when fixing a node name
* lisp/ox-texinfo.el (org-texinfo--sanitize-node): Handle
  " (not)allowed" case.
2014-08-11 19:47:47 +02:00
Nicolas Goaziou 0a18095984 ox-texinfo: Do not sanitize sectioning titles
* lisp/ox-texinfo.el (org-texinfo-headline): Do not sanitize
  sectioning titles.
2014-08-11 15:46:21 +02:00
Nicolas Goaziou 2e98c7f43e Merge branch 'maint' 2014-08-11 15:45:35 +02:00
Nicolas Goaziou 7286925b7d ox-texinfo: Remove wrong code comments
* lisp/ox-texinfo.el (org-texinfo-headline): Remove wrong code
  comments.
2014-08-11 15:44:12 +02:00
Nicolas Goaziou 6400c9a8e5 Merge branch 'maint'
Conflicts:
	doc/org.texi
	lisp/ox-texinfo.el
2014-08-11 15:00:57 +02:00
Nicolas Goaziou 3c35300162 ox-texinfo: Remove `not-in-toc' case in headline export
* lisp/ox-texinfo.el (org-texinfo-headline): Remove `not-in-toc'
  special case for tags.

Check is useless for 2 reasons :

  1. there is no way to control @contents in the file header so
     sectioning name,

  2. menu entries provide their own title.  If it has to be handled,
     that should be elsewhere anyway.
2014-08-11 14:56:01 +02:00
Nicolas Goaziou 9f81c11d71 ox-texinfo: Remove left-over LaTeXism
* lisp/ox-texinfo.el (org-texinfo-headline): Remove LaTeXism (optional
  arguments within square brackets).
2014-08-11 14:56:01 +02:00
Nicolas Goaziou dcf5510053 ox-texinfo: Tiny refactoring
* lisp/ox-texinfo.el (org-texinfo-info-process): Fix docstring.
(org-texinfo-compile): Do not check for impossible cases (e.g., if the
previous variable contains a function).
2014-08-11 14:56:01 +02:00
Nicolas Goaziou d17cd9962f ox-texinfo: Fix a docstring
* lisp/ox-texinfo.el (org-texinfo-max-toc-depth): Fix docstring.
2014-08-11 14:56:00 +02:00
Nicolas Goaziou 4acfe1cba8 ox-texinfo: Remove unused internal functions
* lisp/ox-texinfo.el (org-texinfo--make-option-string,
  org-texinfo--sanitize-headline,
  org-texinfo--sanitize-headline-contents): Remove.
2014-08-11 14:56:00 +02:00
Nicolas Goaziou 6d75d708a1 ox-texinfo: Fix node names
* lisp/ox-texinfo.el (org-texinfo--sanitize-node): "@", "{" and "}"
  characters are allowed in a node name.  So are "(" and ")" unless
  "(" starts the name and there is ")" somewhere in the name.  Also
  trim and collapse whitespace characters.  Renamed from
  `org-texinfo--sanitize-menu'.
(org-texinfo--get-node): Do not sanitize node names over zealously.
Ensure returned node names are unique.
(org-texinfo-headline): Only add @node command where it makes sense.
2014-08-11 14:56:00 +02:00
Nicolas Goaziou 2ef63acae2 ox-texinfo: Fix docstrings
* lisp/ox-texinfo.el (org-texinfo--sanitize-menu,
  org-texinfo--sanitize-content): Fix docstrings.
2014-08-11 13:38:50 +02:00
Nicolas Goaziou 3ee7895c03 ox-texinfo: Fix blank lines in output
* lisp/ox-texinfo.el (org-texinfo--normalize-headlines): Make sure
  a blank line always follows nodes.
2014-08-11 13:38:50 +02:00
Nicolas Goaziou ee5c224017 ox-texinfo: Fix menus
* lisp/ox-texinfo.el (org-texinfo-make-menu): Change signature.
  Remove some intermediate functions.  Generate the full master menu
  when asked.
(org-texinfo--build-menu):  Use a simpler algorithm.
(org-texinfo--format-entries): Fix entries when both node and title
are different.
(org-texinfo--menu-entries): Renamed from `org-texinfo--generate-menu-list'.
(org-texinfo-headline): Move menu handling to next function.
(org-texinfo-section): Handle menu for current parent.
(org-texinfo--menu-headlines, org-texinfo--generate-detailed): Remove
functions.
(org-texinfo--normalize-headlines): New function.
2014-08-11 13:38:44 +02:00
Nicolas Goaziou 6326697f4e ox-texinfo: Fix appendix command
* lisp/ox-texinfo.el (org-texinfo-headline): Fix @appendix command.
2014-08-10 22:49:25 +02:00
Nicolas Goaziou 710e40f96a ox-texinfo: Fix heading text
* lisp/ox-texinfo.el (org-texinfo-headline): Do not sanitize heading
  text for sectioning command.

For example

  * This is ~code~

should be possibly exported as

  @chapter This is @code{code}

not

  @chapter This is @@code@{code@}
2014-08-10 22:49:18 +02:00
Nicolas Goaziou d2c0bbcf52 Merge branch 'maint' 2014-08-09 00:08:12 +02:00
Nicolas Goaziou 1faeb4e680 ox-texinfo: Fix ":COPYING: nil" node properties
* lisp/ox-texinfo.el (org-texinfo--generate-menu-list): ":COPYING:
  nil" is expected to be equivalent to no COPYING property at all.
2014-08-09 00:05:43 +02:00
Nicolas Goaziou 80525f5384 Merge branch 'maint' 2014-08-08 22:42:45 +02:00
Nicolas Goaziou 70fce0270f ox-texinfo: Fix blank lines between in items
* lisp/ox-texinfo.el (org-texinfo-item): Fix blank lines between
  items.
2014-08-08 22:42:08 +02:00
Nicolas Goaziou b1406dcddb Merge branch 'maint'
Conflicts:
	doc/org.texi
	lisp/ox-texinfo.el
2014-08-08 22:07:45 +02:00
Nicolas Goaziou dd085235e3 ox-texinfo: Code comments clean-up 2014-08-07 15:35:45 +02:00
Nicolas Goaziou d58a2960e0 ox-texinfo: Fix plain lists export
* lisp/ox-texinfo.el (org-texinfo-plain-list): Fix format string.
  Small refactoring.
2014-08-07 00:02:16 +02:00
Nicolas Goaziou 73809c1aa8 ox-texinfo: Allow to set a different title for hard copy
* lisp/ox-texinfo.el (texinfo): Provide new export property.
(org-texinfo-template): Use dedicated title for hard copy, when
available.
2014-08-07 00:02:16 +02:00
Nicolas Goaziou e0dbe1c776 ox-texinfo: Appendix has precedence over regular sectionning
* lisp/ox-texinfo.el (org-texinfo-headline): Always obey to
  a non-nil :APPENDIX: property.  Small refactoring.
2014-08-07 00:02:16 +02:00
Nicolas Goaziou 3e018d0afd ox-texinfo: Fix verse block export
* lisp/ox-texinfo.el (org-texinfo-verse-block): Generate somewhat
  meaningful Texinfo code instead of LaTeX.
2014-08-07 00:02:16 +02:00
Nicolas Goaziou 3b1d2811a8 ox-texinfo: Fix table export
* lisp/ox-texinfo.el (org-texinfo-table): Remove reference to
  "verbatim" attribute.  Handle table.el tables.  Tiny refactoring.
(org-texinfo-table--org-table, org-texinfo-table--table.el-table):
Remove functions.
(org-texinfo-table-column-widths): Indent code correctly.  Ignore
special column, if any.  Add a comment about the limitation on the
width computation.
(org-texinfo-table-row): Small refactoring.
2014-08-07 00:01:18 +02:00
Nicolas Goaziou beed9cbe63 ox-texinfo: Fix @setfilename command
* lisp/ox-texinfo.el (texinfo): Do not provide a default value for
  @setfilename value.
(org-texinfo-filename): Remove variable.
(org-texinfo-template): Correctly find value for @setfilename command.
If none is possible, do not provide the command at all.
2014-08-07 00:00:25 +02:00
Nicolas Goaziou f002451544 ox-texinfo: Do not hardcode "Manual" in top node
* lisp/ox-texinfo.el (org-texinfo-template): Do not hardcode "Manual"
  in top node.
2014-08-05 10:53:39 +02:00
Nicolas Goaziou 4b6f9b25b8 ox-texinfo: Fix `org-texinfo-classes'
* lisp/ox-texinfo.el (org-texinfo-classes): Change default value.
  Update docstring.
(org-texinfo-template): Insert header string from current class after
"@settitle" command.  Always provide "\input texinfo" at the beginning
of the output.

Header string in the class was inserted before "@setfilename".
Texinfo ignores anything between "\input texinfo" and that command,
making any value besides the default one useless.
2014-08-05 10:52:19 +02:00
Nicolas Goaziou 3ff46fdbff ox-texinfo: Remove spurious blank lines in output
* lisp/ox-texinfo.el (org-texinfo-template): Remove spurious blank
  lines in output.  Refactor code.
2014-08-05 10:52:14 +02:00
Nicolas Goaziou 33f6dc57ae ox-texinfo: Fix multi-line subtitles
* lisp/ox-texinfo.el (org-texinfo-template): Fix multi-line subtitles.
2014-08-05 10:51:46 +02:00
Nicolas Goaziou 6f73155454 ox-texinfo: Check options before inserting TOC
* lisp/ox-texinfo.el (org-texinfo-template): Make sure table of
  contents are allowed before inserting them.
2014-08-05 10:51:46 +02:00
Nicolas Goaziou b3fdf490b7 ox-texinfo: Handle documents without copying information
* lisp/ox-texinfo.el (org-texinfo-template): Check if copying data is
  not nil before using it.
2014-08-05 10:51:43 +02:00
Nicolas Goaziou 2dfaf78058 ox-texinfo: Properly handle subauthors and email
* lisp/ox-texinfo.el (org-texinfo-template): Fix multi-line
  subauthors.  Correctly add email, when provided.  Check if author
  info is wanted first.

This patch also removes AUTHOR variable since it's up to the user to
set it or not, through a class or a header keyword.
2014-08-04 13:29:26 +02:00
Nicolas Goaziou e9c1f5ca53 ox-texinfo: Fix docstrings
* lisp/ox-texinfo.el (org-texinfo-node-description-column,
  org-texinfo-format-drawer-function): Fix docstrings.
2014-08-04 13:29:26 +02:00
Nicolas Goaziou 60a407a7f5 ox-texinfo: Fix comments handling
* lisp/ox-texinfo.el (texinfo): Make sure comments are ignored.
(org-texinfo-comment, org-texinfo-comment-block): Remove functions.

This is consistent with all other back-ends, which ignore any comment.
2014-08-04 13:29:26 +02:00
Nicolas Goaziou fddee022b7 ox-texinfo: Fix error with wide @direntry
* lisp/ox-texinfo.el (org-texinfo-template): Properly pad @direntry
  description.
2014-08-04 13:29:26 +02:00
Nicolas Goaziou 0540dccadd Use options instead of hard-coded variables
* lisp/ox-beamer.el (org-beamer--format-frame,
  org-beamer--format-block, org-beamer-template): Use options instead
  of hard-coded variables.

* lisp/ox-man.el (org-man-inline-src-block, org-man-src-block,
  org-man-table, org-man-table-cell): Use options instead of
  hard-coded variables.

* lisp/ox-md.el (org-md-headline): Use options instead of hard-coded
  variables.

* lisp/ox-texinfo.el (org-texinfo-format-headline-function,
  org-texinfo-format-inlinetask-function): Change default value.
(org-texinfo--text-markup, org-texinfo--format-menu): Change signature
(org-texinfo--build-menu, org-texinfo-bold, org-texinfo-code,
org-texinfo-comment, org-texinfo-italic, org-texinfo-verbatim): Apply
signature change.

(org-texinfo-template, org-texinfo-clock, org-texinfo-drawer,
org-texinfo-link, org-texinfo-plain-list, org-texinfo-planning,
org-texinfo-table, org-texinfo-table-cell, org-texinfo-timestamp): Use
options instead of variable names.

(org-texinfo-format-headline-default-function,
org-texinfo-format-inlinetask-default-function): New functions.
(org-texinfo-headline, org-texinfo-inlinetask): Use new functions.
2014-07-29 15:45:18 +02:00
Nicolas Goaziou fd448cb1e2 Remove some options associated to variables
* lisp/ox-html.el: Remove options.

* lisp/ox-icalendar.el: Remove options.

* lisp/ox-latex.el (org-latex-guess-inputenc, org-latex-compile,
  org-latex--collect-warnings): Use full variable name instead of an
  option.

* lisp/ox-man.el: Remove options.

* lisp/ox-odt.el: Remove options.

* lisp/ox-texinfo.el: Remove options.

* doc/org.texi (Publishing options): Update documentation accordingly.

These variables are meant to be used outside (or on the fringe) of the
export process, where information channel is not available.

remove
2014-07-29 15:45:18 +02:00
Nicolas Goaziou fbc7097ffa Merge export and special blocks within back-ends
* lisp/ox-ascii.el (org-ascii-export-block): Remove function.
(org-ascii-special-block): Handle raw special blocks.

* lisp/ox-beamer.el (org-beamer-export-block): Remove function.

* lisp/ox-html.el (org-html-export-block): Remove function.
(org-html-special-block): Handle raw special blocks.

* lisp/ox-latex.el (org-latex-export-block): Remove function.
(org-latex-special-block): Handle raw special blocks.

* lisp/ox-man.el (org-man-export-block): Remove function.
(org-man-special-block): Handle raw special blocks.

* lisp/ox-md.el (org-md-export-block): Remove function.

* lisp/ox-odt.el (org-odt-export-block): Remove function.
(org-odt-special-block): Handle raw special blocks.

* lisp/ox-texinfo.el (org-texinfo-export-block): Remove function.
(org-texinfo-special-block): Handle raw special blocks.

* contrib/lisp/ox-groff.el (org-groff-export-block): Remove function.
(org-groff-special-block): Handle raw special blocks.

* contrib/lisp/ox-koma-letter.el (org-koma-letter-export-block):
  Remove function.
2014-07-27 14:29:24 +02:00
Nicolas Goaziou 7a956c3880 Associate all defcustoms to options in back-end definitions
* lisp/ox-ascii.el:
* lisp/ox-beamer.el:
* lisp/ox-html.el:
* lisp/ox-latex.el:
* lisp/ox-man.el:
* lisp/ox-md.el:
* lisp/ox-odt.el:
* lisp/ox-org.el:
* lisp/ox-texinfo.el: All defcustoms are defined as options in the
  back-end.
* lisp/ox-icalendar.el (icalendar): Ditto.  Also rename :with-vtodo
  property to :icalendar-include-todo.

* doc/org.texi (Publishing options): Update back-end specific
  properties.  Remove @vindex entries so as not to clobber variables
  index.

This change allows to change default value for any defcustom on the
fly when publishing.  It also normalizes how to choose and name what
variables to define as back-end options.
2014-05-28 14:53:29 +02:00
Nicolas Goaziou fffd055ac5 Merge branch 'maint'
Conflicts:
	lisp/org-element.el
	lisp/ox-html.el
2014-04-17 11:34:54 +02:00
Nicolas Goaziou 9dac00129d Update export back-ends wrt "file" link changes
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-html.el (org-html-link):  Do not expand absolute file names
  and do not try to fix hierarchy part, as it is already taken care of
  at the parser level.

* lisp/ox-md.el (org-md-link): Ditto.  Also fix absolute file names.

* lisp/ox-odt.el (org-odt-link):
* lisp/ox-man.el (org-man-link):
* lisp/ox-texinfo.el (org-texinfo-link):
* contrib/lisp/ox-groff.el (org-groff-link): Ditto.  Do not prepend
  scheme part to relative file names either.

* contrib/lisp/ox-deck.el (org-deck-link): Small refactoring.
2014-04-17 11:30:15 +02:00
Nicolas Goaziou 73c141e43e Revert "Fix link export"
This reverts commit fc1f7d752f.
2014-04-17 11:30:14 +02:00