Commit Graph

729 Commits

Author SHA1 Message Date
Carsten Dominik 11dec73c0c Merge branch 'master' of orgmode.org:org-mode 2011-09-14 08:54:53 +02:00
Carsten Dominik a3c3ff3fde Restore point when exporting a subtree
* lisp/org-exp.el (org-export): Restore point when exporting a subtree.
2011-09-14 07:48:49 +02:00
Eric Schulte d0a3a3870f org-exp: only remove commas on the front line of a code block
* lisp/org-exp.el (org-export-select-backend-specific-text): Only
  remove commas on the front line of a code block.
2011-09-06 21:52:17 -06:00
Nick Dokos 7f913bc816 Get rid of gratuitous newline after listing/minted environment.
Signed-off-by: Nick Dokos <nick@dokosmarshall.org>
2011-08-21 12:29:56 -06:00
Nick Dokos 707897c25c Eliminate extra newline(s) after example or src block.
Signed-off-by: Nick Dokos <nick@dokosmarshall.org>
2011-08-21 12:28:33 -06:00
Bastien Guerry 58f1dbccf8 Remove the "Version" header in Org libraries (leave it in org.el).
Also remove blank lines before the ";;; org*el ends here" declarations.

Having a "Version" header forced us to update every file when releasing a
new version of Org; it also forced us to update every file when merging Org
with Emacs trunk, thus cluttering the diffs between the previously merged
version and the new one with useless information.

Glenn Morris suggested this in emacs-devel:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00322.html
2011-08-17 14:42:34 +02:00
Bastien Guerry 7a18799e25 Remove arch-tag at the bottom of files. 2011-08-15 20:04:38 +02:00
Bastien Guerry 904ed18bc2 Fix copyright years for elisp files in core and contrib.
Also add "This file is not part of GNU Emacs." when this is the case.
2011-08-15 15:23:11 +02:00
Bastien Guerry bc1b688ff0 Move org-find-visible and org-find-invisible from org-exp.el to org.el. 2011-08-15 09:44:52 +02:00
Nicolas Goaziou 36974045b6 org-exp: fix a doc-string 2011-07-29 15:46:03 +02:00
emacs 7340cee33a Update website to show 7.7 as current release 2011-07-28 10:33:35 +00:00
Bastien Guerry bbb2ef510a org-exp: Handle recursively included setup files correctly.
* org-exp.el (org-infile-export-plist): Handle recursively
included setup files.  The value of the last included file
always takes precedence over previous values.

Thanks to Stefan Vollmar for signaling this bug.
2011-07-25 15:44:22 +02:00
Nicolas Goaziou ba092ec08d Do not add an extraneous blank lines when parsing lists
* lisp/org-exp.el (org-export-mark-list-end,
  org-export-mark-list-properties): don't remove the ending regexp
  when it consists in blank lines.
* lisp/org-list.el (org-list-parse-list): ditto, but remove it
  completely when it isn't made of blank lines (i.e. during export process).
2011-07-24 20:03:30 +02:00
Bastien Guerry 5c53026d32 Fix (a lot of) compiler warnings.
Also introduce `org-pop-to-buffer-same-window' as a compatibility
function for Emacs =>24.1.
2011-07-18 19:25:10 +02:00
Bastien Guerry c3748fcd80 Don't use `outline-regexp' anymore.
Use `org-outline-regexp' instead or `outline-regexp'.  Also use the
new defconst `org-outline-regexp-bol' to match `org-outline-regexp'
at the beginning of line.

* org.el (org-outline-regexp-bol): New defconst.
(org-outline-level, org-set-font-lock-defaults, org-cycle)
(org-overview, org-content, org-flag-drawer)
(org-first-headline-recenter, org-insert-todo-heading)
(org-map-region, org-move-subtree-down, org-paste-subtree)
(org-kill-is-subtree-p, org-context-p, org-refile)
(org-refile-new-child, org-toggle-comment, org-todo)
(org-add-planning-info, org-add-log-setup, org-scan-tags)
(org-set-tags, org-insert-property-drawer)
(org-prepare-agenda-buffers, org-preview-latex-fragment)
(org-speed-command-default-hook, org-check-for-hidden)
(org-toggle-item, org-toggle-heading)
(org-indent-line-function, org-set-autofill-regexps)
(org-fill-paragraph, org-toggle-fixed-width-section)
(org-yank-generic, org-yank-folding-would-swallow-text)
(org-first-sibling-p, org-goto-sibling)
(org-goto-first-child, org-show-entry): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-remember.el (org-remember-handler): Use
`org-outline-regexp-bol'.

* org-mouse.el (org-mouse-match-todo-keyword, org-mode-hook)
(org-mouse-move-tree, org-mouse-transform-to-outline): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-macs.el (org-with-limited-levels)
(org-get-limited-outline-regexp): Use `org-outline-regexp'.

* org-indent.el (org-indent-outline-re)
(org-indent-refresh-section, org-indent-refresh-to): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-html.el (org-export-as-html): Use
`org-outline-regexp-bol'.

* org-footnote.el (org-footnote-at-definition-p)
(org-footnote-normalize): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-exp.el (org-export-preprocess-string): Don't redefine
`outline-regexp'.

* org-docbook.el (org-export-as-docbook): Use
`org-outline-regexp-bol'.

* org-colview.el (org-columns, org-columns-compute): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-colview-xemacs.el (org-columns, org-columns-compute):
Use `org-outline-regexp-bol'.

* org-clock.el (org-clock-insert-selection-line)
(org-clock-in, org-clock-out, org-dblock-write:clocktable):
Use `org-outline-regexp' and `org-outline-regexp-bol'.

* org-ascii.el (org-export-as-ascii)
(org-export-ascii-push-links): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-archive.el (org-archive-to-archive-sibling)
(org-archive-all-done): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-agenda.el (org-agenda, org-search-view)
(org-agenda-list-stuck-projects, org-agenda-get-timestamps)
(org-agenda-get-progress, org-agenda-get-blocks): Use
`org-outline-regexp' and `org-outline-regexp-bol'.
2011-07-18 09:42:11 +02:00
Nicolas Goaziou 31e92984bc Correctly export lists in footnotes (take 2)
* lisp/org-exp.el (org-export-preprocess-string): add the possibility
  to call recursively the function. Also change order of some function
  calls. Comment export process for footnotes.
* lisp/org-footnote.el (org-footnote-normalize): change the export
  specific parameter to hold properties of export. Thus, the function
  can send every footnote definition in the buffer through
  `org-export-process-string'.
2011-07-13 18:15:52 +02:00
Bastien Guerry 9c05a7c781 Bump to version 7.6 2011-07-06 21:06:03 +02:00
Bastien Guerry c86a84828d EXPERIMENTAL/org-export.el: Delete redundant function.
`org-export-export-preprocess-string' was a dummy copy of
`org-export-preprocess-string', adapted for specific needs
of org-mw-export.  We now use `org-export-preprocess-string'
directly.  This requires a minor change in this latter function:
if :for-backend is not explicitely passed, then the let binding
of `org-export-current-backend' falls back on the previous value
of org-export-current-backend'.
2011-07-06 12:56:53 +02:00
Nicolas Goaziou 301b3450fe org-exp: remove tasks before normalizing footnotes
* lisp/org-exp.el (org-export-preprocess-string): if the last subtree
  is a task, footnotes may be removed along with the subtree. This
  patch ensures footnotes are put at the end of the buffer after the
  subtree has been removed.
2011-07-05 20:42:15 +02:00
Nicolas Goaziou 56b558d15a org-exp: normalize footnotes after removing commented subtrees
* lisp/org-exp.el (org-export-preprocess-string): if the last subtree
  is commented, footnotes inserted during normalizing at the end of
  the buffer may get deleted. This patch ensures deletion comes first,
  normalization second.
2011-06-29 12:00:43 +02:00
Nicolas Goaziou 39d4bfa0e8 Rename org-export-footnotes-markers to org-export-footnotes-seen
* lisp/org-exp.el (org-export-footnotes-data): change docstring.
(org-export-footnotes-seen): renamed from
org-export-footnotes-markers.
* lisp/org-ascii.el (org-export-as-ascii): apply change.
* lisp/org-docbook.el (org-export-as-docbook): apply change.
* lisp/org-footnote.el (org-footnote-normalize): apply change.
* lisp/org-html.el (org-export-as-html): apply change.
* lisp/org-latex.el (org-export-as-latex): apply change.
2011-06-29 12:00:43 +02:00
Nicolas Goaziou 6eee91a117 org-latex: correct bugs in footnote export
* lisp/org-exp (org-export-preprocess-string): normalize footnotes
  before marking lists ending.
* lisp/org-latex.el (org-export-latex-preprocess): work with labels as
  strings and not as numbers.
2011-06-29 12:00:42 +02:00
Nicolas Goaziou ab9c52fd79 Improve footnotes handling in exporters
* lisp/org-exp.el (org-export-footnotes-markers,
  org-export-footnotes-data): new variables.
  (org-export-preprocess-string): use a more explicit argument.

* lisp/org-html.el (org-export-as-html): initialize new variables.

* lisp/org-docbook.el (org-export-as-docbook): initialize new variables.

* lisp/org-latex.el (org-export-latex-footmark-seen): new variable.
  (org-export-as-latex): initialize new variables.
  (org-export-latex-preprocess): allow to export two or more footnotes
  in a row. Also permit to have footnotes refering to previously
  defined footnotes.

* lisp/org-ascii.el (org-export-as-ascii): feed org-footnote-normalize
  with data so it can normalize footnotes before first headline, or
  footnotes with their definition outside exported region.
2011-06-29 12:00:42 +02:00
Eric Schulte 20044297a4 exp: strip protective commas from literal code blocks
* lisp/org-exp.el (org-export-select-backend-specific-text): Strip
  protective commas from literal code blocks.
2011-06-28 15:43:20 -07:00
Jambunathan K 7adb6675d7 org-export-format-source-code-or-example: Fix commit f0177f (org-odt)
* lisp/org-exp.el (org-export-format-source-code-or-example):
Fix signature of org-<backend>-format-source-code-or-example
function.
2011-06-25 10:53:14 +02:00
Jambunathan K 01c2f06ea4 Simplify org-export-format-source-code-or-example
PATCH-4/5 org-odt compatibility patch

Addtional Note: Diff looks primarily because of
un-indentation. Effective changes are just couple of lines.

From 923402f12f30a39d54e16c0b105db2b1f20c2a7c Mon Sep 17 00:00:00 2001
From: Jambunathan K <kjambunathan@gmail.com>
Date: Thu, 23 Jun 2011 12:06:33 +0530
Subject: [PATCH 4/5] Simplify org-export-format-source-code-or-example.

* lisp/org-exp.el (org-export-format-source-code-or-example):
Simplify. Also add `org-native-text' as a text property to the
formatted text and throw error for unknown backends.
2011-06-23 23:10:24 +02:00
Jambunathan K f0177f4a11 Support custom formatters for marking up source or example blocks
PATCH-3/5 org-odt compatibility patch

From a7881b8d146ddb27452b00ff19c345899d356536 Mon Sep 17 00:00:00 2001
From: Jambunathan K <kjambunathan@gmail.com>
Date: Thu, 23 Jun 2011 11:24:32 +0530
Subject: [PATCH 3/5] Support custom formatters for marking up source or example blocks.

* lisp/org-exp.el (org-export-format-source-code-or-example):
Add support for:
- custom formatters for existing backends
- seamless plugging in of new backends.
2011-06-23 23:10:09 +02:00
Jambunathan K 67da474db5 org-exp.el: Allow easy plugging in of new backends
PATCH-2/5: org-odt compatibility

From 2bc4854fb86a96b69e53db00603e0b2f8f47fe08 Mon Sep 17 00:00:00 2001
From: Jambunathan K <kjambunathan@gmail.com>
Date: Thu, 23 Jun 2011 02:16:30 +0530
Subject: [PATCH 2/5] org-exp.el: Allow easy plugging in of new backends.

* lisp/org-exp.el (org-export-backends): New variable.
(org-export-select-backend-specific-text): Use above
variable. Also mark text between #+BACKEND and
#+BEGIN_BACKEND...#+END_BACKEND with org-native-text
property. This text property is currently used only by the new
line-oriented generic exporter (which is not yet part of the
repo).
2011-06-23 23:09:53 +02:00
Jambunathan K aca61a173c org-export: Reserve a slot for OpenDocumentExporter
PATCH-1/5 for org-odt compatibility

From 06379ccef996e8dabd8dcced6cbe430aacdef3f0 Mon Sep 17 00:00:00 2001
From: Jambunathan K <kjambunathan@gmail.com>
Date: Thu, 23 Jun 2011 01:53:37 +0530
Subject: [PATCH 1/5] org-export: Reserve a slot for OpenDocumentExporter.

* lisp/org-exp.el (org-export): Reserve keys 'o' and 'O' for
OpenDocumentText export and bind them to org-export-as-odt and
org-export-as-odt-and-open.
2011-06-23 23:09:35 +02:00
Eric Schulte 94b325839c Replacing '(λ...) with #'(λ...).
* lisp/org-ascii.el (org-export-as-ascii): Replacing '(λ...) with #'(λ...).
* lisp/org-attach.el: Replacing '(λ...) with #'(λ...).
  (org-attach-commit): Replacing '(λ...) with #'(λ...).
* lisp/org-exp.el: Replacing '(λ...) with #'(λ...).
  (org-export-handle-include-files): Replacing '(λ...) with #'(λ...).
* lisp/org-html.el: Replacing '(λ...) with #'(λ...).
  (org-export-as-html): Replacing '(λ...) with #'(λ...).
* lisp/org-mouse.el: Replacing '(λ...) with #'(λ...).
  (org-mouse-popup-global-menu): Replacing '(λ...) with
  (org-mode-hook): Replacing '(λ...) with #'(λ...).
  (org-agenda-mode-hook): Replacing '(λ...) with #'(λ...).
* #'(λ...).Replacing '(λ...) with #'(λ...).
  (org-mouse-context-menu): Replacing '(λ...) with #'(λ...).
* lisp/org-src.el: Replacing '(λ...) with #'(λ...).
  (org-src-mode-configure-edit-buffer): Replacing '(λ...) with #'(λ...).
* lisp/org-table.el: Replacing '(λ...) with #'(λ...).
  (org-table-fix-formulas-confirm): Replacing '(λ...) with #'(λ...).
* lisp/org.el: Replacing '(λ...) with #'(λ...).
  (org-confirm-shell-link-function): Replacing '(λ...) with
  (org-category): Replacing '(λ...) with #'(λ...).
* #'(λ...).Replacing '(λ...) with #'(λ...).
  (org-time-stamp-rounding-minutes): Replacing '(λ...) with #'(λ...).
2011-06-14 12:01:04 -07:00
David Maus e47fcaae35 Provide compatibility function for `activate-mark'
* org-exp.el (org-export): Use new compatibility function
  `org-activate-mark'.
* org-compat.el (org-activate-mark): New function. Provide
  `activate-mark' if not present (e.g. Emacs22).

Emacs 22 misses this function. Defun copied from Emac23's
`active-mark' but removed reference to customization variable
`select-active-regions' which is not present in Emacs22.
2011-06-01 09:05:24 +02:00
Nicolas Goaziou 8f0ea16167 Ignore lists within exporters specific blocks
* lisp/org-exp.el (org-export-mark-list-properties): even if context
  is invalid, mark list item with `list-context' property.
* lisp/org-list.el (org-list-forbidden-blocks): add exporters specific
  blocks to the list of forbidden blocks.

Thanks to Jai Bharat Patel for reporting this.
2011-05-27 16:53:54 +02:00
Roland Kaufmann 33bae13aeb Fix markup problems when using references in source fragments
* lisp/org-exp.el (org-remove-formatting-on-newlines-in-region): New function.
(org-export-format-source-code-or-example): Call
`org-remove-formatting-on-newlines-in-region'.

TINYCHANGE
2011-05-25 09:39:47 +02:00
Nick Dokos 438536f615 Change underscores to hyphens in section labels
* lisp/org-exp.el (org-export-define-heading-targets): Use dash instead
of underscore to make labels valid.

Currently, the section number (a string of the form "X.Y.Z") is used
to manufacture a section label of the form sec-X_Y_Z. Underscores are
overloaded however, both in org and in LaTeX, and cause conflicts with
some packages.  This patch changes underscores to hyphens in section
labels.

TINYCHANGE
2011-05-24 13:12:16 +02:00
Thomas S. Dye cd05598dcd Optional \caption argument for LaTeX export
Aloha all,

The attached patch initializes the existing variable shortn, adds it to
two caption situations in addition to the one already coded, and adds
some description to the manual.

With this patch, #+CAPTION: [Short caption]{Long caption.} in the
Org-mode source exports to \caption[Short caption]{Long caption.} in the
LaTeX export, which is, I think, as it should be.

Many thanks to Nick Dokos who made me understand why earlier patches
hadn't shown up on the patchwork server (wrong mime type, evil mail
client).  This one sent with gnus and fingers crossed.

All the best,
Tom

>From 9dc65f7e598dd171ebce9448cd39c4062f7cafff Mon Sep 17 00:00:00 2001
From: Tom Dye <tsd@tsdye.com>
Date: Sun, 8 May 2011 06:56:25 -1000
Subject: [PATCH] optional caption arguments in LaTeX export
2011-05-08 22:15:45 +02:00
Carsten Dominik 13669d7e96 Fix another option parsing bug
* lisp/org-exp.el (org-export-add-options-to-plist): Use the right match group.
2011-05-05 12:48:23 +02:00
Carsten Dominik d752029422 EXPORT: Fix the options parser
* lisp/org-exp.el (org-export-add-options-to-plist): Fix the option parser

This fixes up commit aa6dba8a74.
Instead of looking for the start of a word (which does not work for
the options that are characters), it looks for the beginning of the
line or a whitespace character preceding the option.
2011-05-05 09:08:13 +02:00
Nicolas Goaziou ae60048a81 org-exp: make lists more robust wrt macros expansion
* lisp/org-exp.el (org-export-preprocess-string): mark list end before
  expanding macros. Thus, a macro inside a list and containing blank
  lines cannot break the list structure.
  (org-export-preprocess-apply-macros): multi-lines macros get
  indented with the same indentation as the first line. Thus, we are
  sure that every line belongs to the same list as the first line, if
  such list exists. Also add comments in code.
2011-04-24 19:34:09 +02:00
Carsten Dominik e7217a74e9 Export: Add EXPORT_FILE_NAME to the enclosing tree properties
* lisp/org-exp.el (org-export): Add EXPORT_FILE_NAME to the enclosing
tree properties
2011-04-22 11:23:18 +02:00
Carsten Dominik a20eebd73f Another fix for exporting enclosing class/title piece in buffer
* lisp/org-exp.el (org-export): Define a bound for finding enclosing
tree with class/title definition.
2011-04-21 18:03:05 +02:00
Carsten Dominik b7e3d7d90b Make exporting the enclosing entry with CLASS/TITLE property work better
* lisp/org-exp.el (org-export): Go to next heading before searching
backward, so make this also work if we are on the headline of the
entry with the property...
2011-04-21 17:55:18 +02:00
Carsten Dominik a0a526bc3e Export: handle include files before processing macros.
* lisp/org-exp.el (org-export-preprocess-string): Handle include files
before processing macros.

Patch by Benny Simonsen.  TINYCHANGE
2011-04-08 12:35:37 +02:00
Nick Dokos 9e15cf4fc2 Fix begin/end comment
* lisp/org-exp.el (org-export-remove-comment-blocks-and-subtrees): Fix regexp.

Rasmus <rasmus.pank@gmail.com> wrote:

> Hi,
> It seems that
>
> ,----
> | #+BEGIN_COMMENT
> |  ...
> | #+END_COMMENT
> `----
>
> Might be broken in Org-mode 7.5. According to the manual,
>
> ,----
> | Finally, regions surrounded by
> |  #+BEGIN_COMMENT  ...  #+END_COMMENT  will not be exported.
> `----
>
> Consider the following example generated with Org-mode 7.5 in Emacs 24.0.50
> (started without config files).
>
> ,----
> | #+TITLE: this is a test
> |
> | #+BEGIN_COMMENT
> | Don't export me
> | #+END_COMMENT
> |
> | I'd like to be exposed
> `----
>
> The HTML export is:
>
> ,----
> | <snip>
> | <h1 class="title">this is a test</h1>
> |
> | <div class="org-comment">
> | </br>
> | <p>
> | <p>
> | Don't export me
> | </p>
> | </div>
> |
> | I'd like to be exposed
> | <snip>
> `----
>
> The LaTeX export is:
>
> ,----
> | \begin{verbatim}
> | Don't export me
> | \end{verbatim}
> | I'd like to be exposed
> `----
>

Indeed.

It seems that one of the hair-raising regexps that Carsten manages
to come up with is not quite right. Try this patch for now:

--8<---------------cut here---------------start------------->8---
--8<---------------cut here---------------end--------------->8---

Nick
2011-04-08 12:10:32 +02:00
Lawrence Mitchell 56cb9cff34 Ensure org-export-handle-comments protects its insertions
* lisp/org-exp.el (org-export-handle-comments): Add the org-protected
property to the replacement string.

Although org-export-handle-comments adds the org-protected property to
the matched string, the subsequent `replace-match' call to change the
comment character does not add this property to the entire format
string.  Fix this by propertizing the entirety of the newtext argument
to replace-match.
2011-04-06 10:42:57 +02:00
Carsten Dominik 57c379bb26 Clean up the new options to remove tasks on export 2011-03-30 05:27:43 +02:00
Carsten Dominik b4e2ef4cb9 Allow to exclude tasks from being exported
* doc/org.texi (Selective export): Document exclusion of any tasks from
export.
* lisp/org-exp.el (org-export-with-tasks): New option.
(org-export-plist-vars): Add :tasks property.
2011-03-30 00:48:29 +02:00
Carsten Dominik 6d40eb3809 Implement export without DONE tasks
* doc/org.texi (Selective export): Document how to exclude DONE tasks
from export.
(Publishing options): Document the properties to be used to turn off
export of DONE tasks.
* lisp/org-ascii.el (org-export-as-ascii):
* lisp/org-docbook.el (org-export-as-docbook):
* lisp/org-html.el (org-export-as-html):
* lisp/org-latex.el (org-export-as-latex): Pass the :done-tasks property
to the export preprocessor.
* lisp/org-exp.el (org-export-with-done-tasks): New option.
(org-export-plist-vars): Add entry for :done-tasks.
(org-export-preprocess-string): Call `org-export-remove-done-tasks'.
(org-export-remove-done-tasks): New function.
2011-03-29 17:29:24 +02:00
Bastien Guerry df38f5648c * org-exp.el (org-export-xml): Remove the defgroup of org-export-xml. 2011-03-15 15:43:12 +01:00
Rodrigo Lazo a0dead7f10 Docstring fix for org-export-preprocess-string
Hi,

I found a trivial error with this docstring.

--8<---------------cut here---------------start------------->8---
--8<---------------cut here---------------end--------------->8---

Best regards,
  Seb
2011-03-10 19:08:59 +01:00
Manuel Giraud 72011fc407 org-html.el: correct HTML export of dedicated target.
* org-html.el (org-format-org-table-html): fix anchors in HTML
export (thanks to <aankhen@gmail.com>)
(org-html-protect): fix a  bug that prevents some target to be
rendered correctly.

* org-exp.el (org-solidify-link-text): a single "-" to avoid a
"&ndash" rewrite in HTML export later.
2011-03-09 16:37:32 +01:00