Commit Graph

8433 Commits

Author SHA1 Message Date
Nicolas Goaziou ca060f7be7 Require 2 blank lines to separate footnote definition
* lisp/org-element.el (org-element-footnote-definition-parser):
  Require 2 blank lines to separate footnote definition.
* lisp/org-footnote.el (org-footnote-at-definition-p): Require 2 blank
  lines to separate footnote definition.
* doc/org.texi: Update documentation for footnotes.
* testing/lisp/test-org-element.el: Update tests.
* testing/lisp/test-org-footnote.el: Add tests.

Footnote definitions can still be separated with other footnote
definitions and headlines. This change allows to have multiple
paragraphs in a footnote definition without resorting to the "\par"
trick.
2013-02-24 14:44:07 +01:00
Nicolas Goaziou a965c06213 ox: Use tabulated list mode for asynchronous stack
* lisp/ox.el (org-export-stack): Rewrite.
(org-export-stack-refresh): Refactor.
(org-export-stack-remove, org-export-stack-view): Apply renaming.
(org-export-stack-mode-map): Use tabulated list map as a basis.
(org-export-stack--generate, org-export-stack--num-predicate): New
function.
2013-02-24 13:51:49 +01:00
Bastien Guerry 398e8af56e Merge branch 'master' of orgmode.org:org-mode 2013-02-24 11:33:34 +01:00
Bastien Guerry d242be2c89 ox-html.el (org-html-format-headline-function): Fix docstring
* ox-html.el (org-html-format-headline-function): Fix docstring.
2013-02-24 10:01:39 +01:00
Nicolas Goaziou a15a657bfb ox: Better return value for `org-export-get-optional-title'
* lisp/ox.el (org-export-get-optional-title): Return regular title
  when no optional title is found.
* lisp/ox-ascii.el (org-ascii--build-title): Apply change to
  `org-export-get-optional-title'.
* lisp/ox-html.el (org-html--format-toc-headline): Apply change to
  `org-export-get-optional-title'.
* lisp/ox-latex.el (org-latex-headline): Apply change to
  `org-export-get-optional-title'.
* testing/lisp/test-ox.el: Add tests.
2013-02-24 09:20:35 +01:00
Bastien Guerry f8e87473d7 ob-sql.el (org-babel-execute:sql): Add header row delimiter for both mysql and postgresql
* ob-sql.el (org-babel-execute:sql): Add header row delimiter
for both mysql and postgresql.

Thanks to Daniel for reporting this.
2013-02-24 09:15:02 +01:00
Bastien Guerry 109f7314a3 org.el (org-agenda-prepare-buffers): Don't use `with-silent-modifications' too early
* org.el (org-agenda-prepare-buffers): Don't use
`with-silent-modifications' too early.

Thanks to J. David Boyd for reporting this and to Florian Beck for
confirming the problem.
2013-02-24 10:49:30 +01:00
Nicolas Goaziou d790fbd489 ox-ascii/ox-latex/ox-html: Make use of optional title in toc
* lisp/ox-ascii.el (org-ascii--build-title): Add an argument.  Use
  optional title when building a toc line.
(org-ascii--build-toc): Call `org-ascii--build-title' with appropriate
arguments.
* lisp/ox-latex.el (org-latex-headline): Use optional title for table
  of contents.
* lisp/ox-html.el (org-html--toc-text): Renamed from
  `org-html-toc-text'.  Add docstring.
(org-html--format-toc-headline): Renamed from
`org-html-format-toc-headline'.  Add docstring.  Use optional title if
possible.
(org-html-toc): Add docstring.
2013-02-23 23:58:23 +01:00
Nicolas Goaziou e5a249b327 org-element/ox: Introduce :optional-title property and an accessor
* lisp/org-element.el (org-element-headline-parser): Node
  property :OPTIONAL_TITLE: in a headline will be parsed and stored
  under :optional-title property.
* lisp/ox.el (org-export-get-optional-title): New function.
2013-02-23 22:41:30 +01:00
Nicolas Goaziou a1236b9606 ox-latex: Fix 99d4c8f915
* lisp/ox-latex.el (org-latex-format-headline-default-function): Make
  the variable a function.
2013-02-23 22:41:30 +01:00
Nicolas Goaziou de4669d3b7 ox-publish: No error when resolving external fuzzy links outside publishing
* lisp/ox-publish.el (org-publish-resolve-external-fuzzy-link): No
  error when resolving external fuzzy links outside publishing.  Though
  search option for these links will not be resolved.
2013-02-23 16:26:27 +01:00
Bastien Guerry 43c8aa02cc Use `with-silent-modifications' instead of `org-unmodified' when it makes sense
* org-macs.el: Add a comment on when to use `org-unmodified'
and when to use `with-silent-modifications'.

* org-colview.el (org-columns-display-here)
(org-columns-remove-overlays, org-columns-quit)
(org-columns-edit-value, org-columns-compute-all)
(org-columns-compute, org-agenda-colview-compute):
* org-clock.el (org-clock-sum):
* org.el (org-refresh-category-properties)
(org-refresh-properties, org-entry-blocked-p)
(org-agenda-prepare-buffers): Use `with-silent-modifications'
instead of `org-unmodified'.

Thanks to Stefan Monnier for reminding me about `with-silent-modifications'!
2013-02-23 14:57:51 +01:00
Bastien Guerry 64aae2fd29 Merge branch 'maint' 2013-02-23 14:42:45 +01:00
Bastien Guerry b6b509bfd4 org.el (org-tsr-regexp-both): Don't activate dates in links
* org.el (org-tsr-regexp-both): Don't activate dates in links.
(org-activate-dates): Change match boundaries according to the
new value of `org-tsr-regexp-both'.

Thanks to Richard Huang for reporting a related issue.
2013-02-23 14:42:11 +01:00
Bastien Guerry b2e38cb030 Merge branch 'master' of orgmode.org:org-mode 2013-02-23 14:37:43 +01:00
Bastien Guerry 8900b27fc8 ox-publish.el (org-publish-sitemap-date-format): Small docstring enhancement
* ox-publish.el (org-publish-sitemap-date-format): Small
docstring enhancement.
2013-02-23 14:37:23 +01:00
Nicolas Goaziou 57fb6ffa4d ox-latex: Set inputenc option according to `org-export-coding-system'
* lisp/ox-latex.el (org-latex-guess-inputenc): Set inputenc option
  according to `org-export-coding-system'.
2013-02-23 14:04:26 +01:00
Bastien Guerry 8ee6c13c7f Fix typo: an headline -> a headline. 2013-02-23 13:47:44 +01:00
Bastien Guerry 99d4c8f915 ox-latex.el (org-latex-format-headline-default-function): New option
* ox-latex.el (org-latex-format-headline-default-function):
New option.
(org-latex-format-headline-function): Use the new option as
the default value.

The rationale here is that most users will expect Org 8.0
to format headlines like Org <8.0 did.  If they want a different
formatting, then they can use `org-latex-format-headline-function'.
2013-02-23 13:40:47 +01:00
Bastien Guerry 5d5e5631ca ox-latex.el (org-latex-toc-command): Don't add vertical space after the table of contents
* ox-latex.el (org-latex-toc-command): Don't add vertical
space after the table of contents.

Let the user decides about such aesthetic issues.
2013-02-23 13:33:36 +01:00
Bastien Guerry 917cc1d516 Merge branch 'master-wip' 2013-02-23 11:48:21 +01:00
Bastien Guerry 82899fa841 Merge `org-with-buffer-modified-unmodified' into `org-unmodified'
* org.el (org-entry-blocked-p): Use `org-unmodified' instead
of `org-with-buffer-modified-unmodified'.
(org-agenda-prepare-buffers): Fix indentation.

* org-macs.el (org-unmodified): Rename from
`org-with-buffer-modified-unmodified'.
(org-with-buffer-modified-unmodified): Delete.
2013-02-23 11:44:24 +01:00
Nicolas Goaziou 65bacaac73 ox: Fix coding system error
* lisp/ox.el (org-export--generate-copy-script): Clone
  `buffer-file-coding-system' when creating a buffer copy.

This patches makes sure the output will share the same encoding as the
original buffer.
2013-02-23 11:22:58 +01:00
Bastien Guerry ef1bb160c6 ob-python.el: Use a defcustom for two variables.
* ob-python.el (org-babel-python-command): Use a defcustom.
(org-babel-python-mode): Use a defcustom and default to
'python-mode when featured.

Thanks to Andreas Röhler for providing a prelimiary patch.
2013-02-23 10:27:55 +01:00
Achim Gratz 570e0f93dc Replace `time-to-seconds´ with `org-float-time´
* lisp/org.el (org-current-time): Replace call to obsolete function
  `time-to-seconds´ with a call to compatibility function
  `org-float-time´.

XEmacs 21.5 already has float-time, so we may not need a compatibility
function here depending on what version of XEmacs introduced it and
what is the earliest version that Org is supposed to still support.
2013-02-23 10:20:03 +01:00
Achim Gratz ff064f89c2 Reverting "Fix compiler warning."
This reverts commit da22d29eb2.
2013-02-23 10:10:38 +01:00
Bastien Guerry e9e32173cc Update headers. 2013-02-23 09:56:24 +01:00
Bastien Guerry ceeee88f49 Update header information.
Those three files will be part of Emacs when Org 8.0
will be merged with Emacs trunk.

Thanks to Nick Dokos for pointing this.
2013-02-23 08:59:23 +01:00
Nicolas Goaziou 3e95e859cd ox-html: Handle external fuzzy links
* lisp/ox-html.el (org-html-link): Resolve external links with search
  options like [[file.org::#custom-id]] or
  [[file.org::*headline-search]].

In particular, this allows to resolve completely links produced by
index generation during publishing.
2013-02-23 00:05:10 +01:00
Nicolas Goaziou 93a70ac598 ox-publish: Implement tools to resolve external fuzzy links
* lisp/ox-publish.el (org-publish-collect-numbering,
  org-publish-resolve-external-fuzzy-link): New functions.
(org-publish-org-to): Add new collecting function to final output
filter.  Move index collecting function to the same filter.
(org-publish-collect-index): Called from final output filter.

An external fuzzy link is: [[file.org::*headline search]]
2013-02-23 00:05:10 +01:00
Christopher Schmidt 14df16d931 org.el: Use longest form when translating keys.
* org.el (orgstruct-setup): Use longest form when translating
keys.
2013-02-22 19:50:51 +01:00
Nicolas Goaziou b10e2bde13 export back-ends: Fix leftover downcase :custom-id properties
* lisp/ox-html.el (org-html-format-headline--wrap, org-html-headline):
  Use :CUSTOM_ID, not :custom-id.
* contrib/lisp/ox-deck.el (org-deck-toc): Use :CUSTOM_ID,
  not :custom-id.
2013-02-22 14:51:58 +01:00
Nicolas Goaziou 6c565ec533 org-element: Fix latex environment parsing
* lisp/org-element.el (org-element-latex-environment-parser): Fix
  wrong value for :post-affiliated property when parsing a latex
  environment.
2013-02-22 14:31:05 +01:00
Bastien Guerry d7fe32a0aa org-agenda.el (org-agenda-start-day): Refer to `org-read-date' in the docstring
* org-agenda.el (org-agenda-start-day): Refer to
`org-read-date' in the docstring.

Thanks to Xiao-Yong Jin for suggesting this.
2013-02-22 14:15:17 +01:00
Bastien Guerry e4a8f7b8c1 ox-org.el (org-org-publish-to-org): Autoload
* ox-org.el (org-org-publish-to-org): Autoload.
2013-02-22 13:42:02 +01:00
Bastien Guerry bfa47dcb94 Merge branch 'master' into master-wip 2013-02-22 12:57:16 +01:00
Bastien Guerry 65399674d5 Remove remember support
* org-protocol.el:
* org-bibtex.el: Remove remember support.

* org-clock.el (org-clock-heading-for-remember): Delete.
(org-clock-in): Do not set the heading for remember.

Users are encouraged to migrate their remember templates to
`org-capture-templates' instead of `org-remember-templates'.
See `org-capture-import-remember-templates' on how to ease
the transition.
2013-02-22 11:44:29 +01:00
Nicolas Goaziou 61bf4a5c3f export back-ends: Preserve subsequent blank lines when ignoring comments
* lisp/ox-latex.el (org-latex-property-drawer): Remove function.
* contrib/lisp/ox-groff.el (org-groff-property-drawer): Remove
  function.

This changes ensures that:

  paragraph
  # comment

  another paragraph

will be exported as:

  paragraph

  another paragraph

and not as:

  paragraph
  another paragraph

It only applies on back-end where empty lines are meaningful (e.g. not
html).
2013-02-22 11:43:38 +01:00
Bastien Guerry 6c788fe738 Move org-remember.el to contrib/lisp/ 2013-02-22 11:41:09 +01:00
Bastien Guerry 71c3c12b39 Use `user-error' when moving or modifying the element at point is not possible
* org.el (org-move-subtree-down, org-forward-element)
(org-backward-element):
* org-table.el (org-table-previous-field)
(org-table-move-column, org-table-move-row):
* org-list.el (org-move-item-down, org-move-item-up)
(org-cycle-item-indentation): Use `user-error' when moving or
modifying the element at point is not possible.
2013-02-22 10:31:35 +01:00
Bastien Guerry db0143f70e ox-html.el: Fix a few FIXMEs
* ox-html.el (org-html-table-header-tags)
(org-html-table-data-tags, org-html-table-row-tags)
(org-html-table-align-individual-fields): Use the
org-export-html group.
(org-html-inline-src-block, org-html-link): Fix error
messages.
(org-html-begin-plain-list): Fix formatting, better FIXME
comment.
2013-02-22 10:28:25 +01:00
Bastien Guerry da717614ac Remove some FIXME issues in the final list. 2013-02-22 09:58:58 +01:00
Bastien Guerry da22d29eb2 Fix compiler warning.
Thanks to Thomas S. Dye for reporting this.
2013-02-21 22:11:30 +01:00
Nicolas Goaziou 985321ea1f ox-ascii: Fix a docstring
* lisp/ox-ascii.el (org-ascii-filter-paragraph-spacing): Remove
  reference to now renamed `e-ascii' back-end.
2013-02-20 20:32:30 +01:00
Nicolas Goaziou f1e23104e3 ox-latex: Allow to span documentclass options accross multiple lines in template
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Allow to
  span documentclass options accross multiple lines in template.
* lisp/ox-beamer.el (org-beamer-template): Allow to span documentclass
  options accross multiple lines in template.
* lisp/ox-latex.el (org-latex-template): Allow to span documentclass
  options accross multiple lines in template.

Thanks to Michael Strey for reporting this bug.
2013-02-20 20:26:08 +01:00
Nicolas Goaziou 6e1bac2430 ox-texinfo: Fix 1efac41
* lisp/ox-texinfo.el (org-texinfo--get-node): Upcase property name.
  This is required since ae5932282d.
2013-02-20 20:07:43 +01:00
Nicolas Goaziou 1efac41f03 ox-texinfo: Fix fuzzy links to headlines
* lisp/ox-texinfo.el (org-texinfo--get-node): New function.
(org-texinfo-headline, org-texinfo-link): Use new function.

The same function is used to create @node entries and links to nodes,
to avoid any discrepancy between them
2013-02-20 11:10:49 -05:00
Bastien Guerry 2bd97a5ae6 org.el (org-fill-paragraph): Fill using `org-mode-transpose-word-syntax-table'
* org.el (org-fill-paragraph): Fill using
`org-mode-transpose-word-syntax-table'.

Thanks to Samuel Wales for raising this issue.
2013-02-20 16:46:27 +01:00
Stephen Eglen c0f8844b05 org-agenda.el (org-agenda-prefix-format): Small docstring enhancement
* org-agenda.el (org-agenda-prefix-format): Small docstring
enhancement.

TINYCHANGE
2013-02-20 16:38:34 +01:00
Bastien Guerry f35e82641c Merge branch 'maint' 2013-02-20 16:31:17 +01:00
Bastien Guerry 9a21403bd7 org-agenda.el (org-agenda-to-appt): Fix typos
* org-agenda.el (org-agenda-to-appt): Fix typos.

Thanks to Sean Allred for reporting this.
2013-02-20 16:30:48 +01:00
Bastien Guerry 272ca45701 Fix compiler warnings.
Thanks to Achim Gratz for reporting these problems.
2013-02-19 20:32:09 +01:00
Bastien Guerry 4354eb7223 Merge branch 'maint' 2013-02-19 19:38:59 +01:00
Bastien Guerry bf5a33a3c0 org-agenda.el (org-agenda-local-vars): Don't include `org-agenda-show-window'
* org-agenda.el (org-agenda-local-vars): Don't include
`org-agenda-show-window' as it needs to be checked outside of
the agenda window.

Thanks to Bernt Hansen for reporting this.
2013-02-19 19:38:47 +01:00
Bastien Guerry bfa648be7d ox-org.el (org-org-publish-to-org): New defun
* ox-org.el (org-org-publish-to-org): New defun.
2013-02-19 19:17:20 +01:00
Bastien Guerry 3891c97a72 Remove useless code (leftover from the new exporter merge). 2013-02-19 19:07:02 +01:00
Bastien Guerry 8134e80bdf org-html.el: Rename org-export-htmlize-* options to org-html-htmlize-*
* ox-html.el (org-export-htmlize): Delete group.
(org-html-htmlize-output-type)
(org-html-htmlized-org-css-url)
(org-html-htmlize-region-for-paste): Rename from
org-export-htmlize-*.
(org-html-htmlize-generate-css, org-html-fontify-code): Use
the correct names.
2013-02-19 19:03:59 +01:00
Suvayu Ali 57aa34f6b2 Change default org-mark-subtree speed command
* org.el (org-speed-commands-default): Change default binding
  for org-mark-subtree from "." to "@" to be more consistent with "C-c
  @".

TINYCHANGE
2013-02-19 18:02:31 +01:00
Bastien Guerry 5ea1322c99 org-compat.el (org-file-equal-p): New compatibility function
* org-compat.el (org-file-equal-p): New compatibility function.

* ox.el (org-export-output-file-name): Use the new function.

Thanks to Mark Edgington for reporting this.
2013-02-19 18:01:03 +01:00
Bastien Guerry 23057a57b4 Fix compiler warning 2013-02-19 13:02:14 +01:00
Bastien Guerry 85a1395efa org-clock.el: Minor code clean-up
* org-clock.el (org-clock-set-current)
(org-clock-delete-current): Delete.
(org-clock-in, org-clock-out): Set and delete
`org-clock-current-task'.  Minor code clean-up.
2013-02-19 12:59:46 +01:00
Bastien Guerry d1e57bd884 Fix bug with `org-clock-rounding-minutes'
* org-clock.el (org-clock-in, org-clock-in-last): Tell
`org-current-time' to always return a past time.

* org.el (org-current-time): New argument `past' to force
returning a past time when rounding.

If (setq org-clock-rounding-minutes 5) and time is 12:33
the clock start time would be 12:35, and the clock mode-line
would display 0:-2.  The fix ensures the rounded value is
always in the past.
2013-02-19 12:40:33 +01:00
Bastien Guerry 8a910bd40b Merge branch 'master-fixes' into master-new 2013-02-19 11:05:04 +01:00
Bastien Guerry 9bec2ec5d0 org-agenda.el: Small bug fixes
* org-agenda.el (org-agenda-unmark-clocking-task): New
function.
(org-agenda-mark-clocking-task): Use it.
(org-agenda-clock-in): Let the cursor where it is.
(org-agenda-clock-out): Ditto.  Also remove the
`org-agenda-clocking' overlay.
2013-02-19 11:04:26 +01:00
Bastien Guerry 66cba1c51f org-agenda.el (org-agenda-set-restriction-lock): Fix restriction
* org-agenda.el (org-agenda-set-restriction-lock): Fix
restriction so that it ends at the beginning of the next
headline at the same level.
2013-02-19 10:33:07 +01:00
Bastien Guerry 19a0b74ce6 org.el (org-set-effort, org-property-next-allowed-value): When needed, update the current clock effort time
* org.el (org-set-effort, org-property-next-allowed-value):
When needed, update the current clock effort time.
2013-02-19 10:24:59 +01:00
Bastien Guerry efb2ce9c12 org.el: Fix `org-next-link' and use it for `org-previous-link'
* org.el (org-next-link): New parameter `search-backward'.
Fix bug when at a link with no 'org-link face, e.g., in a DONE
headline.  Throw a message instead of an error.
(org-previous-link): Use `org-next-link'.
2013-02-19 10:02:34 +01:00
Bastien Guerry c64c599221 org-agenda.el (org-agenda-format-item): Only set the breadcrumbs when `org-prefix-has-breadcrumbs' is non-nil
* org-agenda.el (org-agenda-format-item): Only set the
breadcrumbs when `org-prefix-has-breadcrumbs' is non-nil.
2013-02-19 09:48:11 +01:00
Bastien Guerry 33d362788e Fix commit aa0e0068. 2013-02-19 09:41:40 +01:00
Nicolas Goaziou 27da9a2a0f Revert "Export: Prevent babel src blocks from being evaluated if org-export-babel-evaluate is nil"
This reverts commit 12d592b732.  When
the variable is nil, no block will be processed, which is a bug.
2013-02-18 21:14:00 +01:00
Nicolas Goaziou 99307eb786 ox-ascii: Fix quote block transcoding
* lisp/ox-ascii.el (org-ascii-quote-block): Do not fill quote block
  contents.  Just indent them.
2013-02-18 20:55:04 +01:00
Nicolas Goaziou 1513f89f7e ox-publish: Do not create an "* Index" headline in "theindex.inc"
* lisp/ox-publish.el (org-publish-index-generate-theindex): Do not
  create an "* Index" headline in "theindex.inc".  Though, create an
  "Index" title in fallback "theindex.org".
2013-02-18 20:34:55 +01:00
Nicolas Goaziou 5c61a34e5b ox-publish: Publish "theindex.org" last
* lisp/ox-publish.el (org-publish-projects): Publish "theindex.org"
  last, so that "theindex.inc" can be completed.
2013-02-18 20:34:55 +01:00
Nicolas Goaziou 875f5cc69b ox-publish: Fix docstring
* lisp/ox-publish.el (org-publish-project-alist): Fix docstring.
2013-02-18 20:34:54 +01:00
Nicolas Goaziou 38eca24f07 ox-publish: Fix code typo
* lisp/ox-publish.el (org-publish-collect-index): Fix typo.
2013-02-18 18:57:47 +01:00
Nicolas Goaziou f541bff087 ox: Prevent invisible cursor from highlighting brackets in UI
* lisp/ox.el (org-export--dispatch-ui): Prevent invisible cursor from
  highlighting brackets in UI

This is another try following f849239d73.
2013-02-18 18:35:21 +01:00
Bastien Guerry e8a6b56db9 Fix commit 5cdf84ea68
* org.el (org-mode): Don't make characters from
`org-emphasis-alist' word constituants.
(org-mode-transpose-word-syntax-table): Rename from
`org-syntax-table'.
(org-transpose-words): Use
`org-mode-transpose-word-syntax-table'.

Thanks to Achim Gratz and T.F. Torrey for reporting the broken tests.
2013-02-18 18:07:04 +01:00
Carsten Dominik 4708a4804f Merge branch 'fix-spacing-when-insert-new-heading' 2013-02-18 09:29:04 +01:00
Carsten Dominik 65b404427e Improve spacing when inserting new headline after end of subtree
When using C-RET to insert a new headline, the new headline was
inserted after arbitrary amounts of whitespace at the end of the
subtree.  This whitespace is now shrunk, to avoid unnatural spacing.

* lisp/org.el (org-insert-heading): Shrink whitespace at end of
  subtree when `org-insert-heading-respect-content' is on.
2013-02-18 09:28:05 +01:00
Nicolas Goaziou a385c6e0e4 org-element: Fix docstring, add tests
* lisp/org-element.el (org-element-headline-parser,
  org-element-inlinetask-parser): Fix docstring.
* testing/lisp/test-org-element.el: Add tests.

This follows ae5932282d.
2013-02-18 08:58:59 +01:00
Nicolas Goaziou af9191d18b ox-taskjuggler: Port TaskJuggler back-end to new export framework
* contrib/lisp/ox-taskjuggler.el: New file.
* lisp/org.el (org-export-backends): Add new back-end in customize
  interface.
2013-02-18 00:26:39 +01:00
Nicolas Goaziou 324a2cb3f9 export-back-ends: Apply changes from b692064e621acbc93876670585f8a4b0fd6a7ffa
* lisp/ox-beamer.el (org-beamer--get-label, org-beamer--frame-level,
  org-beamer--format-section, org-beamer--format-frame,
  org-beamer--format-block, org-beamer-headline): Apply changes to
  properties.
* lisp/ox-html.el (org-html-headline, org-html-link,
  org-html-section): Apply changes to properties.
* lisp/ox-icalendar.el (org-icalendar-create-uid,
  org-icalendar-blocked-headline-p, org-icalendar-entry,
  org-icalendar--valarm): Apply changes to properties.
* lisp/ox-odt.el (org-odt-headline): Apply changes
* lisp/ox-publish.el (org-publish-collect-index): Apply changes to
  properties.
* lisp/ox-texinfo.el (org-texinfo--generate-menu-list,
  org-texinfo--generate-menu-items, org-texinfo-template,
  org-texinfo-headline, org-texinfo-link): Apply changes to
  properties.
* lisp/ox.el (org-export-resolve-id-link, org-export-get-category):
  Apply changes to properties.
  (org-export-get-node-property): Update docstring.
* testing/lisp/test-ox.el: Update tests.
2013-02-18 00:12:57 +01:00
Nicolas Goaziou ae5932282d org-element: Headlines properties from property drawer are upcased
* lisp/org-element.el (org-element-headline-parser,
  org-element-inlinetask-parser): Upcase properties.  This is done to
  avoid confusion between properties from parser (e.g. `:end') and
  properties from the property drawer (e.g. :END:).

In particular, it means that :CUSTOM_ID: property is accessed through:

  (org-element-property :CUSTOM_ID headline)
2013-02-18 00:01:52 +01:00
Bastien Guerry 45442fbfb7 ox.el: Use integers for control chars
* ox.el (org-export--dispatch-ui)
(org-export--dispatch-action): Use integers for control chars.
2013-02-17 09:10:40 +01:00
Bastien Guerry f849239d73 Fix commit h9034345aa
Modifying the syntax char here broke The ODT exporter.
2013-02-17 09:10:37 +01:00
Nicolas Goaziou adc01ecf37 ox-publish: Preserve order in files when building the index
* lisp/ox-publish.el (org-publish-index-generate-theindex): Preserve
  order in file.
2013-02-17 01:40:53 +01:00
Nicolas Goaziou 8e2318a722 ox-publish: Fix error when two index entries were identical
* lisp/ox-publish.el (org-publish-index-generate-theindex): Fix error
  when two index entries were identical.
2013-02-17 01:31:14 +01:00
Nicolas Goaziou fb039937f9 ox-publish: Create again theindex.inc
* lisp/ox-publish.el (org-publish-index-generate-theindex): Create
  again theindex.inc.  See dd98619286.
2013-02-17 01:30:44 +01:00
Nicolas Goaziou 229d08e44e org-element: Allow to map over arbitrary lists
* lisp/org-element.el (org-element-map): Allow to map over any list.
  Do not restrict mapping to object types.
2013-02-17 00:49:13 +01:00
Bastien Guerry aa0e0068de org-agenda.el (org-agenda-set-restriction-lock): Put the overlay until the end of the subtree
* org-agenda.el (org-agenda-set-restriction-lock): Put the
overlay until the end of the subtree, not the end of the
headline.

When the agenda restriction is on, user expect agenda views to check
every entry in the subtree.  If a user add an entry outside of the
overlay without noticing it, this entry will not be checked and the
user will wonder why.  Put the end of the overlay at the end of the
subtree so that the user always knows if the entries she is adding
are within the current restriction.

We might need to find a less instrusive overlay color, though.
2013-02-16 23:09:57 +01:00
Bastien Guerry c4d8d26d1d org.el (org-toggle-ordered-property): Delete the drawer "PROPERTIES" if empty
* org.el (org-entry-delete, org-delete-property): New optional
arg delete-empty-drawer, a string, to delete any empty drawer
with that name.
(org-toggle-ordered-property): Delete the drawer "PROPERTIES"
if empty.
2013-02-16 23:04:12 +01:00
Bastien Guerry 3128edcbf8 Merge branch 'maint' 2013-02-16 22:29:42 +01:00
Bastien Guerry f8b15da24c org.el (org-set-tags-command): Fix bug.
* org.el (org-set-tags-command): Fix bug when setting tags for
multiple headlines in an active region.

Do not set the end of the region back to the beginning of the
previous headline.
2013-02-16 22:29:34 +01:00
Nicolas Goaziou 5f095f5909 Fontify latex, entities and sub/superscript again
* lisp/org-faces.el (org-latex-and-related): Renamed from
  `org-latex-and-export-specials', which wasn't appropriate anymore.
* lisp/org.el (org-highlight-latex-and-related,
  org-latex-and-related-regexp): New variables.
(org-compute-latex-and-related-regexp, org-do-latex-and-related): New
function, revived from a previous commit.
(org-set-regexps-and-options, org-set-font-lock-defaults): Use new
functions.
2013-02-16 22:19:37 +01:00
Bastien Guerry 3f95d811c2 Merge branch 'master' of orgmode.org:org-mode 2013-02-16 21:33:45 +01:00
Bastien Guerry c1cdb379af org-src.el: Use C-c C-k for `org-edit-src-abort'
* org-src.el (org-src-mode-map, org-edit-src-code)
(org-edit-fixed-width-region, org-edit-src-save): Use C-c C-k
for `org-edit-src-abort'.

Thanks to Bernt Hansen for the suggestion.
2013-02-16 21:33:28 +01:00
Nicolas Goaziou 9a6127d77b Small cleanup
* lisp/org.el (org-set-regexps-and-options): Remove reference to
  LATEX_CLASS and beamer back-end.
2013-02-16 21:27:34 +01:00
Nicolas Goaziou 3fbdb193b6 Reverting "ox-publish: Small refactoring"
Revert "ox-publish: Small refactoring"

This reverts commit 1d6f5b62b8.
2013-02-16 20:10:36 +01:00
Nicolas Goaziou 1d6f5b62b8 ox-publish: Small refactoring
* lisp/ox-publish.el (org-publish-org-to): Small refactoring.
2013-02-16 18:49:07 +01:00
Nicolas Goaziou 8858e1ffef ox-publish: Fix index generation
* lisp/ox.el (org-export-install-filters): Properly install filters
  send through ext-plist mechanism.
* lisp/ox-publish.el (org-publish-org-to): Small refactoring.
* lisp/ox-html.el (org-html-keyword): Remove INDEX keyword handling.
  ox-publish.el takes care of it already.
2013-02-16 18:44:22 +01:00
Nicolas Goaziou 48da6a46e0 Move macro expansion code into its own library
* lisp/org-macro.el: New file.
* lisp/org.el: Remove macro code.
* lisp/ox.el: Require new library
* testing/lisp/test-org-macro.el: New file.
* testing/lisp/test-org.el: Remove macro test.
2013-02-16 15:55:30 +01:00
Nicolas Goaziou f33d90fb28 ox: Fuzzy link matching ignores statistics cookies
* lisp/ox.el (org-export-resolve-fuzzy-link): Ignore statistics
  cookies when matching an headline.
* testing/lisp/test-ox.el: Add test.
2013-02-16 15:05:45 +01:00
Bastien Guerry 9c4d403ada org.el (org-mode): Use org-unmodified during startup initialization for functions that may be inhibited
* org.el (org-mode): Use org-unmodified during startup
initialization for functions that may be inhibited.
2013-02-16 14:10:14 +01:00
Bastien Guerry adcc0d414b org-table.el (org-table-align): Only set the window start when table alignment is performed in the selected window
* org-table.el (org-table-align): Only set the window start
when table alignment is performed in the selected window.

Thanks to Michael Brand for reporting this.

When opening an .org file from another .org file, org-mode
is initialized in the second one while the window is not yet
selected.  So, functions run during org-mode's initialization
need to check if the org-mode window is the selected one before
manipulating the "current window".
2013-02-16 14:08:47 +01:00
Bastien Guerry 09ffff9cee Merge branch 'master' of orgmode.org:org-mode 2013-02-16 11:35:59 +01:00
Bastien Guerry 25aabd7d2f org-src.el (org-edit-src-auto-save-idle-delay): New option
* org-src.el (org-edit-src-auto-save-idle-delay): New option.
(org-src-ask-before-returning-to-edit-buffer): Make a defcustom.
(org-edit-src-code-timer): New timer variable.
(org-edit-src-code): Run the timer.
(org-edit-fixed-width-region): Enhance message.
(org-edit-src-exit): Cancel the timer.

Thanks to Andreas Leha for suggesting this.
2013-02-16 11:35:39 +01:00
Achim Gratz 213e168c53 Merge branch 'maint' 2013-02-16 11:15:37 +01:00
Achim Gratz 45d52bfb4c fix wrong key for org-reload uncompiled in menu
* lisp/org.el (org-org-menu): Use correct key "C-u C-c C-x !" to do
  org-reload uncompiled in the menu.

The key binding has been changed in 8619361669 due to a conflict with
agenda mode, but the menu entry had never been corrected.
2013-02-16 11:14:35 +01:00
Bastien Guerry 602d6edb56 org-src.el: Prevent saving when editing fixed-width buffer, exiting will save already
* org-src.el (org-edit-src-save): Prevent saving when editing
fixed-width buffer, exiting will save already.
(org-edit-src-exit): Inconditionally kill the src/example
editing buffer.
2013-02-16 10:35:08 +01:00
Nicolas Goaziou 3eac442249 ox: Display a visible help for scrolling dispatcher's buffer
* lisp/ox.el (org-export--dispatch-ui): Display a help message in
  header line for scrolling dispatcher's buffer
2013-02-16 08:59:45 +01:00
Bastien Guerry 9215a8c6c3 org-pcomplete.el (pcomplete/org-mode/file-option): Require 'org-element.
* org-pcomplete.el (pcomplete/org-mode/file-option): Require
'org-element.  This fixes a bug about unbound variable
`org-element-affiliated-keywords' when trying to complete a
keyword before 'org-element was required.
2013-02-16 08:26:08 +01:00
Bastien Guerry 88c79b8071 Clean up commented code. 2013-02-16 07:56:43 +01:00
Aaron Ecay 23d9920e00 org-bibtex.el: Use visual-line-mode instead of longlines-mode
* org-bibtex.el (org-bibtex-ask): Use visual-line-mode instead
of longlines-mode.

TINYCHANGE
2013-02-15 23:36:16 +01:00
Bastien Guerry 996e3b6da3 Merge branch 'master' of orgmode.org:org-mode 2013-02-15 23:11:28 +01:00
Bastien Guerry 1ee94060bc org-list.el (org-list-bullet-string): Small fix
* org-list.el (org-list-bullet-string): Replace match when
there is a match, otherwise just return the bullet.
2013-02-15 23:09:10 +01:00
Nicolas Goaziou 2df6ded853 ox: Fix radio link resolution
* lisp/ox.el (org-export-resolve-radio-link): Radio targets are
  case-insensitive.
* testing/lisp/test-ox.el: Add test.
2013-02-15 23:03:29 +01:00
Bastien Guerry 6dd035c925 Merge branch 'master' of orgmode.org:org-mode 2013-02-15 22:59:29 +01:00
Bastien Guerry 7c9663eb4a org-src.el: Allow to abort editing with C-c k
* org-src.el (org-src-mode-map): New binding C-c k to abort
editing.
(org-edit-src-code): Mention the keybinding to abort editing
and go back to the correct position.
(org-edit-src-abort): New command to abort editing.

Thanks to Zech for suggesting this.
2013-02-15 22:59:13 +01:00
Nicolas Goaziou daa1d7d8f8 Fix some docstrings
* lisp/ox-icalendar.el (org-export-icalendar): Fix docstring.
* lisp/ox.el (org-export-dispatch): Fix docstring.
2013-02-15 22:01:49 +01:00
Bastien Guerry 451e8be770 ox-html.el (org-html--build-meta-info): Add a newline before the title meta information
* ox-html.el (org-html--build-meta-info): Add a newline before
the title meta information.
2013-02-15 21:50:35 +01:00
Nicolas Goaziou 68ab722a49 ox: Small improvement to scrolling
* lisp/ox.el (org-export--dispatch-action): Small improvement to line
  by line scrolling.
2013-02-15 18:32:47 +01:00
Nicolas Goaziou 4f2fccefc5 ox: Small refactoring
* lisp/ox.el (org-export-resolve-fuzzy-link): Refactor.
2013-02-15 18:30:14 +01:00
Nicolas Goaziou 78a652716e ox: Whitespaces are not significant when matching a fuzzy link
* lisp/ox.el (org-export-resolve-fuzzy-link): Whitespaces are not
  significant when matching a fuzzy link.
* lisp/org-element.el (org-element-link-parser): Do not remove
  newlines characters in paths anymore, since this is not required.
* testing/lisp/test-org-element.el: Update tests.
* testing/lisp/test-ox.el: Add test.
2013-02-15 18:08:03 +01:00
Nicolas Goaziou 5a1d46b990 ox: Implement vertical scrolling in non-expert UI
* lisp/ox.el (org-export--dispatch-ui): Renamed from
  `org-export-dispatch-ui'.  Handle scrolling.
(org-export--dispatch-action): Renamed from
`org-export-dispatch-action'.  Implement scrolling.
(org-export-dispatch): Apply renaming.

Heavily based on a patch from Jambunathan K.
2013-02-15 17:24:20 +01:00
Bastien Guerry 1298b6468a Merge branch 'master' of orgmode.org:org-mode 2013-02-15 16:48:40 +01:00
Bastien Guerry 7306e04193 org.el (org-return-follows-link): Mention that this does not affect the behavior of RET in tables
* org.el (org-return-follows-link): Mention that this does not
affect the behavior of RET in tables.
2013-02-15 16:44:58 +01:00
Bastien Guerry 4d7f4d87fb Fix last commit 2013-02-15 16:42:04 +01:00
Nicolas Goaziou 0b6a2e2416 C-c C-c does nothing when at a blank line
* lisp/org.el (org-ctrl-c-ctrl-c): Do nothing when at a blank line,
  but still run `org-ctrl-c-ctrl-c-final-hook'.
2013-02-15 16:14:15 +01:00
Nicolas Goaziou dbadb2916b Remove unnecessary `ignore-error'
* lisp/org.el (org-end-of-line): Remove `ignore-error'.  It is
  unnecessary since 3bc8c9647a.
2013-02-15 16:14:09 +01:00
Nicolas Goaziou 3bc8c9647a org-element: Fix error and infloop in `org-element-at-point'
* lisp/org-element.el (org-element-at-point): Return nil when in the
  first empty lines of the buffer.  Return headline when in empty
  lines just after the headline.
2013-02-15 16:13:53 +01:00
Bastien Guerry 94dbeedd4a ox-html.el (org-html--build-mathjax-config): Do not always include MathJax configuration
* ox-html.el (org-html--build-mathjax-config): Only include
MathJax configuration if the resulting HTML contains LaTeX
fragments.
2013-02-15 15:50:38 +01:00
Bastien Guerry 0641a22606 Fix typo and compiler warnings 2013-02-15 15:39:12 +01:00
Nicolas Goaziou a8e48bd3a8 Prevent export to file from overwriting current file
* lisp/ox.el (org-export-output-file-name): Add a protection when
  output file name is the same as the original org.
* testing/lisp/test-ox.el: Add tests.
2013-02-15 15:06:01 +01:00
Nicolas Goaziou 5bceb62142 ox-latex/beamer: Fix reported error when no suitable class is found
* lisp/ox-beamer.el (org-beamer-template): Add missing `class'
argument for `format-string'.
* lisp/ox-latex.el (org-latex-template): Add missing `class' argument
for `format-string'.

Thanks to Sébastien Vauban for reporting the problem and providing the
initial patch.
2013-02-15 14:18:59 +01:00
Bastien Guerry 5cdf84ea68 org.el: New functions `org-drag-line-forward' and `org-drag-line-backward'
* org.el (org-syntax-table, org-transpose-words): Delete.
(org-mode): Syntactically Define {} and <> as parentheses.
(org-drag-line-forward, org-drag-line-backward): New
functions.
(org-shiftmetaup, org-shiftmetadown): Fall back on the new
functions instead of throwing an error.

M-up/down used to drag a line up or down in contexts where it could not do
another move.  When org-element.el was integrated to core, dragging line by
line was not possible anymore since a line is not an "element".  This
commit reintroduces the ability to drag a line up/down with S-M-<up/down>.
2013-02-15 12:12:15 +01:00
Bastien Guerry 7afb487a28 org.el (org-make-org-heading-search-string): Don't use statistic or [x/y] cookies when creating a link
* org.el (org-make-org-heading-search-string): Don't use
statistic or [x/y] cookies when creating a link.

Thanks to William Lechelle for reporting this.
2013-02-15 11:15:57 +01:00
Nicolas Goaziou 8768fd125f ox: Docstring fix
* lisp/ox.el (org-export-stack-mode): Fix docstring.
2013-02-14 20:38:31 +01:00
Gregor Kappler 12d592b732 Export: Prevent babel src blocks from being evaluated if org-export-babel-evaluate is nil
* lisp/ox.el (org-export-as): Make sure org-export-babel-evaluate is not nil before calling `org-export-execute-babel-code'.

TINYCHANGE
2013-02-14 18:58:51 +01:00
Jonathan Leech-Pepin 0f6cb7f850 ox-texinfo: Ensure detailed menu generation does not exceed maximum
recognized depth

* lisp/ox-texinfo.el (org-texinfo-max-toc-depth): Maximum depth
  recognized by texinfo for nodes and sectioning.  Left as a constant
  to be updated if ever necessary.
(org-texinfo--generate-detailed): Use the smaller between
org-texinfo-max-toc-depth and headline levels (H: )
2013-02-14 11:59:48 -05:00
Nicolas Goaziou 3f421f309f Small fixes to completion
* lisp/org-pcomplete.el (pcomplete/org-mode/file-option): Allow
  completion for ATTR_ prefixed keywords.
* lisp/org.el (org-options-keywords): Add missing colons.
2013-02-14 17:50:58 +01:00
Bastien Guerry 131d70ab48 ox-html.el (org-html-table): Append #+attr_html attributes
* ox-html.el (org-html-table): Append #+attr_html attributes.

Thanks to Дядов Васил Стоянов for reporting this and for a preliminary
patch.
2013-02-14 11:07:18 +01:00
Bastien Guerry 6aa8829a1a Merge branch 'maint' 2013-02-14 10:40:04 +01:00
Bastien Guerry 981c6db3d7 Enhance doc wrt interactions between `org-startup-folded' and `org-agenda-inhibit-startup'
* org.el (org-startup-folded):
* org.texi (Visibility cycling): Suggest to set
`org-agenda-inhibit-startup' to nil if user wants the startup
visibility settings to be honored in any circumstances.

Thanks to Tassilo for pointing this.
2013-02-14 10:39:54 +01:00
Bastien Guerry 7a4d026b67 Remove references to the DocBook exporter
* org.el (org-emphasis-alist, org-protecting-blocks):
* org-src.el (org-edit-src-find-region-and-lang):
* org-list.el (org-list-forbidden-blocks):
* org-footnote.el (org-footnote-forbidden-blocks): Remove
references to the deleted DocBook exporter.

* org.texi (Top, Markup, Initial text, Images and tables)
(@LaTeX{} fragments, @LaTeX{} fragments, Exporting)
(Export options, JavaScript support, Beamer class export):
Remove references to the DocBook export, which has been
deleted.
(History and Acknowledgments): Mention that DocBook has been
deleted, suggest to use the Texinfo exporter instead, then to
convert the .texi to DocBook with makeinfo.
(Links in ODT export, Tables in ODT export): Fix indices.
2013-02-14 09:48:36 +01:00
Grégoire Jadi 7ddeb6fdf5 org.el (org-startup-with-latex-preview): New option
* org.el (org-startup-with-latex-preview): New option.
(org-startup-options): New startup keywords for the new
option.
(org-mode): Turn on/off LaTeX preview depending on the new
option.
2013-02-14 09:15:38 +01:00
Arun Persaud b0b3fcf49b added option %b to display breadcrumbs in agenda
* org-agenda.el (org-agenda-prefix-format): Add documentation for
the new %b option.
(org-prefix-has-breadcrumbs): Add flag, `t' when %b is set.
(org-agenda-format-item): Add breadcrumbs if requested.
(org-compile-prefix-format): Add compiled information for
breadcrumbs, add %b option.

If org file has the structure

* project
** task1
*** TODO item1

then when using %b in org-agenda-prefix-format the agenda will display
"project->taks1->TODO item1".
2013-02-14 08:54:00 +01:00
Nicolas Goaziou 19eae5dc00 org-pcomplete: Fix completion for file options
* lisp/org.el (org-options-keywords): Add missing colons.
* lisp/org-macs.el (org-default-options): Removed function.
* lisp/org-pcomplete.el (org-command-at-point): Fix bug with some file
  options.
(pcomplete/org-mode/file-option/x): Removed macro.
(pcomplete/org-mode/file-option): Refactor code.
(pcomplete/org-mode/file-option/author,
pcomplete/org-mode/file-option/date,
pcomplete/org-mode/file-option/title,
pcomplete/org-mode/file-option/tags,
pcomplete/org-mode/file-option/select_tags,
pcomplete/org-mode/file-option/priorities,
pcomplete/org-mode/file-option/language,
pcomplete/org-mode/file-option/filetags,
pcomplete/org-mode/file-option/exclude_tags,
pcomplete/org-mode/file-option/email): New functions.
2013-02-14 08:48:18 +01:00
Bastien Guerry 791a8d6bcc Merge branch 'maint' 2013-02-13 19:27:01 +01:00
Bastien Guerry 6d7142b145 Fix `org-insert-heading-respect-content'
* org-mobile.el (org-mobile-edit): DTRT when inserting a heading
in an invisible region.

* org.el (org-insert-heading-respect-content): New
`invisible-ok' parameter.  Add docstring.
(org-insert-todo-heading-respect-content): Add docstring.

Thanks to James Harkins for the extra detailed reports and
the proposed solutions, both for org.el and org-mobile.el.
2013-02-13 19:26:50 +01:00
Bastien Guerry afcb175e05 org.el (org-end-of-line): Don't throw an error outside elements
* org.el (org-end-of-line): Don't throw an error outside
elements.
2013-02-13 16:43:55 +01:00
Bastien Guerry 2108d294db Silent byte-compiler 2013-02-13 16:30:36 +01:00
Grégoire Jadi 67febc3600 Unify `org-id-reverse-string' and `org-babel-reverse-string' into `org-reverse-string'
* lisp/org.el (org-reverse-string): Add `org-reverse-string' to
  reverse a string.
* lisp/org-id.el(org-id-new, org-id-decode): Replace
  `org-id-reverse-string' by `org-reverse-string'.
* lisp/ob-core.el(org-babel-trim): Replace `org-babel-reverse-string'
  by `org-reverse-string' and declare it.

TINYCHANGE
2013-02-13 16:29:09 +01:00
Samuel Loury 9964d89d1b org.el (org-open-at-point): Open a plain link even if the cursor is before it
* org.el (org-open-at-point): Open a plain link even if the
cursor is before it, which is consistent with the behavior
with respect to bracket and angle links.

TINYCHANGE
2013-02-13 16:22:04 +01:00
Bastien Guerry 69032736c1 Merge branch 'master' of orgmode.org:org-mode 2013-02-13 16:04:02 +01:00
Nicolas Goaziou 39ed70495c ox: Correctly handle footnote section
* lisp/ox.el (org-export--collect-headline-numbering): Remove footnote
  section from TOC.
(org-export-collect-headlines): Do not count footnote section when
numbering a headline.
* testing/lisp/test-ox.el: Add tests.
2013-02-13 16:00:27 +01:00
Bastien Guerry 9d85946992 ox-html.el (org-html-link): Don't throw an error if the value of the :ID: property has not been generated by uuidgen
* ox-html.el (org-html-link): Don't throw an error if the
value of the :ID: property has not been generated by uuidgen.

Thanks to Florian Beck for requesting this.
2013-02-13 15:55:26 +01:00
Bastien Guerry a6ac2b5fed Merge branch 'maint' 2013-02-13 15:15:53 +01:00
Bastien Guerry fa3385e68b ob-tangle.el (org-babel-tangle-collect-blocks): Bugfix: remove code references from blocks
* ob-tangle.el (org-babel-tangle-collect-blocks): Bugfix:
remove code references from blocks.

Thanks a lot to Michael Alan Dorman for reporting this.
2013-02-13 15:15:42 +01:00
Bastien Guerry e292a1e2b8 Fix commit 03f1cf and 3f0b60. 2013-02-13 15:13:57 +01:00
Nicolas Goaziou 2fa53e44a7 ox-beamer: Allow both #+attr_latex and #+attr_beamer attributes
* lisp/ox-beamer.el (org-beamer-plain-list): Also read #+attr_latex
  attributes in order to determine list's options.
2013-02-13 14:31:38 +01:00
Bastien Guerry 977412f468 Merge branch 'master' of orgmode.org:org-mode 2013-02-13 14:29:36 +01:00
Bastien Guerry 03f1cffcd5 Restore completion over the most important keywords
* org-pcomplete.el (pcomplete/org-mode/file-option/x):
Resurrect.  Use `org-default-options' to initialize completion
fonctions for the most important keywords.

* org-macs.el (org-default-options): Rename and adapt from
`org-get-current-options'.

This is a partial revert of e14cf780 feature-wise.  The idea is
that it may be useful to get completion, even when it ends up with
the default value, because the user may want to adapt the default
values instead of re-typing them.
2013-02-13 14:29:31 +01:00
Bastien Guerry 3f0b608243 org.el (org-options-keywords): Add keywords
* org.el (org-options-keywords): Add keywords.
2013-02-13 14:25:36 +01:00
Nicolas Goaziou 88925e2e0b ox-ascii: Include footnote definitions even in a body-only export
* lisp/ox-ascii.el (org-ascii-inner-template): New function.
(org-ascii-template): Use new function.
(org-ascii-export-as-ascii, org-ascii-export-to-ascii): Update
docstring.
2013-02-13 13:57:34 +01:00
Nicolas Goaziou f3c79f9181 org-element: Fix 9f8f32c360
* lisp/org-element.el (org-element-link-parser): Take into
  consideration links filled and indented.
2013-02-13 13:29:07 +01:00
Christopher Schmidt e7403d6912 org.el: Ignore errors when bindings keys in orgstruct-setup
* org.el (orgstruct-setup): Ignore errors around org-defkey.
2013-02-13 13:01:23 +01:00
Christopher Schmidt 7c27e57c4c org.el: Disable orgstruct-mode when falling back to original command
* org.el (orgstruct-make-binding):
Disable orgstruct-mode on fallback.
2013-02-13 12:35:55 +01:00
Bastien Guerry 5ab647af64 Merge branch 'maint'
Conflicts:
	doc/org.texi
2013-02-13 12:10:45 +01:00
Bastien Guerry 718b210009 Backport typo fixes from Emacs revno 111250 by Paul Eggert. 2013-02-13 12:09:56 +01:00
Bastien Guerry 784b952818 Revert "org-exp.el (org-export-normalize-links): Don't match links within tags"
This reverts commit 80cb1b0a09.
2013-02-13 11:38:00 +01:00
Christopher Schmidt d6f69f58aa org.el: Use let instead of progv in org-run-like-in-org-mode
* org.el (org-run-like-in-org-mode): Use let instead of progv.
2013-02-13 10:04:37 +01:00
Christopher Schmidt ea2d1076bb org.el: Declare orgstruct-mode
* org.el (orgstruct-mode): Declare.
2013-02-13 10:04:04 +01:00
Nicolas Goaziou 9f8f32c360 org-element: Fix parsing of links with filled path
* lisp/org-element.el (org-element-link-parser): Remove all newline
  characters in path property.
* testing/lisp/test-org-element.el: Add test.
2013-02-13 08:41:43 +01:00
Bastien Guerry e5322d77f2 ox-odt.el (org-odt-convert-read-params): Fix typo in prompt
* ox-odt.el (org-odt-convert-read-params): Fix typo in prompt.
2013-02-12 22:26:39 +01:00
Bastien Guerry df6fc7607d ox-latex.el (org-latex-horizontal-rule): Fix typo in docstring
* ox-latex.el (org-latex-horizontal-rule): Fix typo in docstring.
2013-02-12 22:21:46 +01:00
Bastien Guerry cf1ba8cb05 ox-html.el (org-html-display-buffer-mode): New option
* ox-html.el (org-html-display-buffer-mode): New option.
(org-html-export-as-html): Use it.
2013-02-12 22:21:20 +01:00
Bastien Guerry 019a8dee21 ob-core.el (org-babel-insert-result): Fix bug when inserting an empty string as the result
* ob-core.el (org-babel-insert-result): Fix bug when inserting
an empty string as the result.
2013-02-12 17:49:06 +01:00
Bastien Guerry d38f79be97 Fix commit 5bde60c
Thanks to Michael Brand for reporting those problems.
2013-02-12 17:31:37 +01:00
Bastien Guerry 060caa8023 Fix last commit
Thanks to Michael Brand for reporting this.
2013-02-12 15:33:45 +01:00
Bastien Guerry 997fc9c5ea org.el (org-auto-repeat-maybe): Suppress temporary delays
* org.el (org-timestamp-change): New optional parameter
`suppress-tmp-delay' to suppress temporary delay like "--2d".
(org-auto-repeat-maybe): Suppress temporary delays.

Thanks to Michael Brand for suggesting this.
2013-02-12 10:30:38 +01:00
Bastien Guerry 5bde60c68c org-agenda.el (org-agenda-get-scheduled): Use "--2d" to ignore the delay for repeated occurrences
* org-agenda.el (org-agenda-get-scheduled): When the delay is
of the form "--2d" and there is a repeater, ignore the delay
for further repeated occurrences.

Thanks to Michael Brand for suggesting this was somehow needed.
2013-02-12 09:51:11 +01:00
Bastien Guerry 1f5edba494 org-agenda.el (org-agenda-get-deadlines, org-agenda-get-scheduled): Minor refactoring
* org-agenda.el (org-agenda-get-deadlines)
(org-agenda-get-scheduled): Minor refactoring.
2013-02-12 09:02:33 +01:00
Bastien Guerry 5b9a771040 org.el (org-time-string-to-absolute): Tiny docstring enhancement
* org.el (org-time-string-to-absolute): Tiny docstring enhancement.
2013-02-12 09:01:46 +01:00
Bastien Guerry 8071d67cdd Fix commit 25a4f5 (again) 2013-02-12 08:38:31 +01:00
Nicolas Goaziou 1f8c8dc6d6 ox: Implement `inner-template' transcoder
* lisp/ox.el (org-export-as): Call `inner-template' function, if
  available.
* lisp/ox-html.el (org-html-inner-template): New function.
(org-html-template): Move all parts that should be inserted even in
a body-only export into `org-html-inner-template'.
* testing/lisp/test-ox.el: Add tests.
2013-02-11 22:26:52 +01:00
Nicolas Goaziou cc683398d8 Fix failing test on `org-backward-element'
* lisp/org.el (org-forward-element, org-backward-element): When no
  headline is found at the same level, still move forward or
  backward.
2013-02-11 21:12:44 +01:00
Nicolas Goaziou 94bcc7e282 org-element: Fix parsing of orphaned keyword at the end of an element
* lisp/org-element.el (org-element--current-element): Add a limit
  argument.
(org-element--collect-affiliated-keywords): Fix parsing of orphaned
keyword at the end of an element.
* testing/lisp/test-org-element.el: Add test.
2013-02-11 21:12:43 +01:00
Bastien Guerry 7963c0b69c org.el (org-edit-special): Don't allow to edit when buffer is read only
* org.el (org-edit-special): Don't allow to edit when buffer
is read only.

Thanks to Greg Minshall for reporting this.
2013-02-11 16:22:19 +01:00
Bastien Guerry cc61ad218d ox-html.el (org-html-format-latex): Fix commit 25a4f5
* ox-html.el (org-html-format-latex): Don't set
`cache-relpath' and `cache-dir' when `processing-type' is
'mathjax.
2013-02-11 16:11:05 +01:00
Francesco Pizzolante 5e22630f00 Protect `org-agenda-prepare-buffers' with `org-unmodified'
* org.el (org-agenda-prepare-buffers): Protect with
`org-unmodified'.

TINYCHANGE
2013-02-11 15:46:56 +01:00
Bastien Guerry 8e34ec0b2b Merge branch 'maint' 2013-02-11 14:56:46 +01:00
Bastien Guerry fafb5f3429 org-agenda.el: Fix bug when displaying a temporary overlay
* org-agenda.el (org-agenda-schedule, org-agenda-deadline):
Cosmetic changes.
(org-agenda-show-new-time): Fix bug when displaying a
temporary overlay with the scheduled/deadline information.

Thanks to Thomas Morgan for reporting this bug and testing the patch.
2013-02-11 14:56:38 +01:00
Bastien Guerry 783eb3170c Merge branch 'maint' 2013-02-11 14:38:35 +01:00
Bastien Guerry 0b9e3b8a45 org.el (org-fill-paragraph-with-timestamp-nobreak-p): New function
* org.el (org-fill-paragraph-with-timestamp-nobreak-p): New
function.
(org-setup-filling): Use it to prevent breaking a timestamp
when filling a paragraph.

Thanks to William for requesting this.
2013-02-11 14:38:18 +01:00
Bastien Guerry 652919fca0 Fix bindings for `org-next-block' and `org-preview-block'.
Thanks to François and Sébastien for reporting this.
2013-02-11 14:20:36 +01:00
Nicolas Goaziou 1eccd207af ox-texinfo: Remove spurious blank line in src block export
* lisp/ox-texinfo.el (org-texinfo-src-block): Remove spurious newline
  character as `org-export-format-code-default' already makes sure the
  string returned will end with a single one.

Thanks to Frank Fischer for reporting it.
2013-02-10 20:50:38 +01:00
Christopher Schmidt a3f6570fff Allow a custom headline prefix in orgstruct-mode.
* lisp/org.el (org-cycle-global-status)
(org-cycle-subtree-status): Set state property.
(org-heading-components): Use org-heading-regexp in
orgstruct-mode.
(orgstruct-heading-prefix-regexp, orgstruct-setup-hook): New
options.
(orgstruct-initialized): New variable.
(orgstruct-mode): Simplify implementation.
(orgstruct-setup): Simplify implementation.  Translate keys to
their most general equivalent.
(orgstruct-make-binding): Generate index on the fly.  Discard
alternative keys.  Bind variables according to
orgstruct-heading-prefix-regexp.
(org-get-local-variables): Honour state property.
(org-run-like-in-org-mode): Do not override variables with
non-default values.
(org-forward-heading-same-level): Do not skip to headlines on
another level.  Handle negative prefix argument correctly.
(org-backward-heading-same-level): Use
org-forward-heading-same-level.
2013-02-10 18:47:58 +01:00
Nicolas Goaziou ba38de197e ox-latex: Fix behaviour when headline sectionning command is a function
* lisp/ox-latex.el (org-latex-headline): When a function returns
  a sectionning command, only one placeholder should be required.

Thanks to Florian Beck for reporting this.
2013-02-10 17:51:06 +01:00
Nicolas Goaziou 6b7101b910 Fix some compilation problem
* lisp/org-element.el (org-element-nested-p): Do not inline function.
* lisp/org.el: Do not autoload functions.
2013-02-10 14:47:57 +01:00
Nicolas Goaziou 02002a7651 ox: Define macro before it is actually used in code
* lisp/ox.el (org-export-copy-buffer, org-export-with-buffer-copy,
  org-export--generate-copy-script): Moved earlier in the file.
2013-02-10 13:28:28 +01:00
Eric Schulte 728c0eb693 bring back org-ts-regep fix lost in merge
* lisp/ob-core.el (org-babel-result-regexp): Bring back Bastien's
  hackish fix from commit c17e07e9 which was accidentally dropped in a
  merge.
2013-02-09 16:05:44 -07:00
Eric Schulte cb3e647734 org-babel-eval command instead of shell-command
* lisp/ob-sql.el (org-babel-execute:sql): Use the org-babel-eval command
  instead of shell-command.
2013-02-09 14:18:24 -07:00
Gary Oberbrunner e2b17ccc52 Improvements to Org SQL support
* add a header-row delimiter to the tables returned from mysql
 * add new sql-specific header args for the database connection, and implements them for mysql
 * add support for :colnames (mysql only)
 * (minor) add an edebug spec to org-babel-result-cond to allow edebugging through it
 * add some doc about what header args are used
2013-02-09 14:11:45 -07:00
Eric Schulte 7b62ae77b3 check that tuareg-run-caml is defined before use
* lisp/ob-ocaml.el (org-babel-prep-session:ocaml): Check that
  tuareg-run-caml is defined before use.
  (tuareg-run-ocaml): Declared for compiler.
2013-02-09 14:11:45 -07:00
Eric Schulte f3be2ae163 Change syntax of babel time hash layout
The syntax of result hashes with times are now as show below.

  #+RESULTS[<TIME> HASH]:

* lisp/ob-core.el (org-babel-result-regexp): Simplified regexp given new
  time hash layout.
  (org-babel-current-result-hash): New match string.
  (org-babel-hide-hash): New match string.
  (org-babel-where-is-src-block-result): New match string, and inserting
  hashes in the new format.
2013-02-09 14:11:45 -07:00
Nicolas Goaziou 16118a2af8 ox-texinfo: Fix "cross reference to non-existent node" error
* lisp/ox-texinfo.el (org-texinfo-link): Do not transform path part of
  internal links.
2013-02-09 19:26:58 +01:00
Nicolas Goaziou c44f8c0af0 Small refactoring
* lisp/org.el (org-org-menu): Small refactoring.
2013-02-09 18:33:01 +01:00
Nicolas Goaziou e3058f6855 Export back-ends: Fix some compilation errors
* lisp/ox-beamer.el (require): Require cl when compiling.
* lisp/ox-icalendar.el (require): Require cl when compiling.
* lisp/ox-jsinfo.el (require): Require cl when compiling.
* lisp/ox-md.el (require): Require cl when compiling.
2013-02-09 18:25:57 +01:00
Nicolas Goaziou 7f2d685219 ox: Tiny fix to code comments 2013-02-09 18:20:15 +01:00
Bastien Guerry da1ee63bbc Fix commit eac6af.
Thanks to Bill White for spotting this.
2013-02-09 10:25:13 +01:00
Nicolas Goaziou 779c450f52 Small fixes to docstrings
* lisp/org.el (org-export-backends): Fix docstring.
* lisp/ox.el (org-export-dispatch): Fix docstring.
2013-02-09 09:41:36 +01:00
Nicolas Goaziou 52e67a291d ox.el: Widen UI by 2 characters
* lisp/ox.el (org-export-dispatch-ui): Widen UI by 2 characters.
2013-02-08 23:12:36 +01:00
Nicolas Goaziou 1c096ea16f ox-latex: Add :options attribute to special blocks to specify options
* lisp/ox-latex.el (org-latex-special-block): Add :options attribute
  to special blocks to specify options.

With this patch, the following is now possible (again):

  #+attr_latex: :options [Someone]
  #+begin_theorem
  Something
  #+end_theorem
2013-02-08 22:53:03 +01:00
Nicolas Goaziou c16bfb448c ox-beamer: Add BEAMER_HEADER keyword
* lisp/ox-beamer.el (org-beamer-template): Add BEAMER_HEADER keywords
  below LATEX_HEADER.
2013-02-08 22:38:47 +01:00
Nicolas Goaziou 3888fd51a5 ox-beamer: Small change to menu entry 2013-02-08 22:36:07 +01:00
Nicolas Goaziou 302c2850fa org-latex/org-html: Small changes to menu entries 2013-02-08 22:19:37 +01:00
Nicolas Goaziou ab4a946ae2 ox-latex: Fix docstring
* lisp/ox-latex.el (org-latex-format-headline-function): Fix missing
  parens in the docstring.
2013-02-08 21:02:21 +01:00
Bastien Guerry 25a4f513a7 ox-html.el (org-html-format-latex): Fix conversion in non-file buffers
* ox-html.el (org-html-format-latex): Fix conversion in
non-file buffers.

Thanks to Vincent Beffara for spotting this and proposing a patch.
2013-02-08 19:49:25 +01:00
Bastien Guerry d1bf9a7df5 org.el (org-speed-commands-default): Bind `B' and `F' to `org-previous-block' and `org-next-block'
* org.el (org-speed-commands-default): Bind `B' and `F' to
`org-previous-block' and `org-next-block'.

Thanks to Sébastien Vauban for suggesting this.
2013-02-08 19:39:17 +01:00
Bastien Guerry b636982b00 Silent byte-compiler. 2013-02-08 17:21:54 +01:00
Bastien Guerry 22e9c264fd org.el: Use "!" instead of "?" to see today's diary as "?" when reading a date
* org.el (org-read-date-minibuffer-local-map): Use "!" instead
of "?" to see today's diary as "?" is already bounded by
Calendar.
2013-02-08 17:14:50 +01:00
Bastien Guerry 98f362b1b7 org.el (org-read-date-minibuffer-local-map): Use "." to go to today's date
* org.el (org-read-date-minibuffer-local-map): Use "." to go
to today's date.

Unless I'm crazy, there is a regression here, but I'm unable to find
when the regression started for now.
2013-02-08 17:13:31 +01:00
Bastien Guerry eac6af707c New commands `org-next-block' and `org-previous-block'
* ob-core.el (org-babel-next-src-block)
(org-babel-previous-src-block): Rewrite using
`org-next-block'.

* org.el (org-next-block, org-previous-block): New navigation
commands.
(org-mode-map): Bind the new commands to C-c C-F and C-c C-B
respectively.

Thanks to Bill White for suggesting this.
2013-02-08 17:11:13 +01:00
Bastien Guerry 6bcd7c44ec org-agenda.el (org-agenda-write): Don't copy headlines' subtrees when writing to an .org file
* org-agenda.el (org-agenda-write): Don't copy headlines'
subtrees when writing to an .org file.

* org.el (org-copy-subtree): New parameter `nosubtrees'.
2013-02-08 16:47:19 +01:00
Bastien Guerry 1af91246cf org-agenda.el (org-agenda-write): Allow writing to an .org file.
* org-agenda.el (org-agenda-write): Allow writing to an .org
file.
2013-02-08 15:06:01 +01:00
Bastien Guerry 87b43643c1 org.el (org-paste-subtree): Fix typo in docstring
* org.el (org-paste-subtree): Fix typo in docstring.
2013-02-08 15:04:51 +01:00
Bastien Guerry 05acaa9de4 org-agenda.el (org-agenda-get-timestamps): Use nil as `ts-date' for diary sexpressions
* org-agenda.el (org-agenda-get-todos)
(org-agenda-get-timestamps): Use nil as `ts-date' for diary
sexpressions.
2013-02-07 19:40:39 +01:00
Nicolas Goaziou 25a481d8ae Remove unneeded `:initialize' function for `org-export-backends'
* lisp/org.el (org-export-backends): Remove `:initialize' function.
2013-02-07 15:45:47 +01:00
Nicolas Goaziou 66150778a3 `org-reload' also reloads export back-ends in use
* lisp/org.el (org-reload): Also reload export back-ends in use.
2013-02-07 15:24:40 +01:00
Nicolas Goaziou 1193ca9c09 ox-beamer: Document columns 2013-02-07 15:03:11 +01:00
Nicolas Goaziou d86064c159 ox-latex: Ignore empty example-block and src-block elements
* lisp/ox-latex.el (org-latex-example-block, org-latex-src-block):
  Ignore element if it's empty.  This fixes error "apply: Wrong number
  of arguments: max, 0".
2013-02-07 14:35:52 +01:00
Bastien Guerry 3c4847cf67 org-agenda.el (org-agenda-get-todos): Skip diary sexps when trying to sort by timestamp
* org-agenda.el (org-agenda-get-todos): Skip diary sexps when
trying to sort by timestamp.

Thanks to Kyle Machulis for reporting this problem.
2013-02-07 10:32:43 +01:00
Bastien Guerry cadffe8e1a Merge branch 'maint' 2013-02-07 10:03:10 +01:00
Bastien Guerry c857077351 ox-html.el (org-html-link): Fix bug.
Thanks to Chuck Berry for reporting it.
2013-02-07 09:59:08 +01:00
tj@data-driven.de 3b3ffd5433 ob-lilypond.el: Fix test leftover
TINYCHANGE
2013-02-07 09:45:01 +01:00
Bastien Guerry fa55168d26 org-id.el (org-id-get-with-outline-path-completion): Fix docstring
* org-id.el (org-id-get-with-outline-path-completion): Fix
docstring.

Thanks to Florian Beck for reporting this.
2013-02-07 08:42:15 +01:00
Nicolas Goaziou ce79e36ff0 ox-latex/ox-beamer: Provide an error when LaTeX class is invalid
* lisp/ox-beamer.el (org-beamer-template): Provide an error when LaTeX
  class is invalid.
* lisp/ox-latex.el (org-latex-template): Provide an error when LaTeX
  class is invalid.

Patch suggested by Sébastien Vauban
2013-02-06 23:06:32 +01:00
Nicolas Goaziou 918c8a6c8f Add JIT export back-ends loading
* lisp/org.el (org-modules): Remove export back-ends from the list.
  Update docstring.
(org-export-backends): New variable.
* lisp/ox.el (org-export-async-start): Make sure export framework is
required in the external process.
2013-02-06 23:06:31 +01:00
Nicolas Goaziou 0484c5c64d Manage variables related to both LaTeX export and snippets
* lisp/org.el (org-format-latex-header-extra, org-export-have-math):
  Removed variables.
(org-latex-default-packages-alist): Renamed from
`org-export-latex-default-packages-alist'.
(org-latex-packages-alist): Renamed from
`org-export-latex-packages-alist'.
(org-try-cdlatex-tab, org-cdlatex-underscore-caret,
org-cdlatex-math-modify): Reorder in file.
(org-format-latex): Remove `org-format-latex-header-extra'.
(org-create-formula-image-with-dvipng,
org-create-formula-image-with-imagemagick): Apply variables renaming
and removal.
* lisp/org-entities.el (org-entities-user): Update docstring.
* lisp/ox-latex.el (org-latex-classes, org-latex-listings): Update
  docstring.
(org-latex-guess-inputenc): Renamed from `org-latex--guess-inputenc'.
(org-latex-guess-babel-language): Renamed from
`org-latex--guess-babel-language'.
(org-latex-template): Apply renaming.
* lisp/ox-beamer.el (org-beamer-template): Apply renaming.
* lisp/ob-latex.el (org-babel-execute:latex): Apply variable renaming
  and removal.
(org-babel-latex-tex-to-pdf): Call `org-latex-compile' instead of
copying it.
2013-02-06 23:06:31 +01:00
Nicolas Goaziou 73ddb3c49c Remove references to `org-protected' `org-example' and `original-indentation'
* lisp/org-macs.el (org-if-unprotected, org-if-unprotected-1,
  org-if-unprotected-at): Removed macros.
(org-re-search-forward-unprotected): Removed function.
* lisp/org.el (org-format-latex): Remove reference to `org-protected'.
* lisp/org-list.el (org-list-struct): Remove reference to
  `org-example' and `org-protected'.
* lisp/org-footnote.el (org-footnote-at-reference-p): Remove reference
  to `org-protected'.
* lisp/org-capture.el (org-capture-fill-template): Remove reference to
  `org-protected'.
* contrib/lisp/org-wikinodes.el (org-wikinodes-process-links-for-export):
  Remove reference to `org-protected' value.

These text properties were used by the old export framework. They are
not needed anymore.
2013-02-06 23:06:31 +01:00
Nicolas Goaziou 1cac3127c2 Fix tests related to export
* lisp/ob-exp.el (org-babel-exp-process-buffer): Renamed from
  `org-export-blocks-preprocess'.
* lisp/ox.el (org-export-execute-babel-code): Apply previous renaming.
* testing/org-test.el (org-test-at-id): Make sure the function returns
  the value of the last form in its body.
* testing/lisp/test-ob-exp.el: Fix tests.
* testing/lisp/test-ob-lob.el: Fix tests.
2013-02-06 23:06:31 +01:00
Nicolas Goaziou e14cf78056 org-pcomplete: Modify completion for buffer keywords
* lisp/org-pcomplete.el (pcomplete/org-mode/file-option): Collect
  valid keywords for completion without requiring the whole export
  framework.
(pcomplete/org-mode/file-option/options): Rewrite using new export
  framework.  Only complete up to the colon.
(pcomplete/org-mode/file-option/x): Removed macro.
(pcomplete/org-mode/file-option/title,
 pcomplete/org-mode/file-option/author,
 pcomplete/org-mode/file-option/email,
 pcomplete/org-mode/file-option/date): Removed functions.
(pcomplete/org-mode/file-option/infojs_opt): New function.

Completion for some keywords was removed because it provided only the
default value, which is the same as not writing the keyword at all.  In
other words, a user would almost always want to modify the completed
value, which makes the completion moot.
2013-02-06 23:06:31 +01:00
Nicolas Goaziou a2f56264c9 Remove unnecessary linking to export framework
* lisp/org-clock.el (org-clocktable-defaults,
  org-clocktable-write-default): Avoid requiring the whole export
  framework just to check one variable.
* lisp/org-footnote.el (org-footnote-section): Update
  docstring.
(org-footnote-normalize): Remove all export related part from the
  function.
* lisp/org-inlinetask.el (org-inlinetask-export,
  org-inlinetask-export-templates): Removed variables.
(org-inlinetask-export-handler): Removed function.
* lisp/org-plot.el: Remove dependency on `org-exp' library.
* lisp/org.el (org-additional-option-like-keywords): Remove variable.
(org-get-export-keywords): New function.
(org-options-keywords): Update default list of keywords.
(org-remove-flyspell-overlays-in): Apply changes to keywords
compilation.
(org-highlight-latex-fragments-and-specials)
org-latex-and-specials-regexp,
org-export-html-special-string-regexps): Remove variables.
(org-compute-latex-and-specials-regexp,
org-do-latex-and-special-faces, org-remove-file-link-modifiers):
Remove functions.
(org-set-regexps-and-options, org-set-font-lock-defaults): Apply all
removals.
(org-use-sub-superscripts): Fix docstring.  Remove unused group.
(org-match-sexp-depth): Make it a defconst instead of a defcustom in
order to remove `org-export-translation' group completely.

The new export framework shouldn't be as much interleaved with Org
core as with the previous one.  For example, export options, which are
back-end dependent, shouldn't interfere with the display of the
buffer.
2013-02-06 23:06:31 +01:00
Nicolas Goaziou 0a01e52aa1 Install new exporter into Org innards
* contrib/lisp/org-mime.el (org-mime-htmlize, org-mime-compose): Use
  new exporter.
* lisp/ob-haskell.el (org-babel-haskell-export-to-lhs): Use new
  exporter.
* lisp/ob-latex.el (org-babel-execute:latex): Use new exporter.
* lisp/ob-org.el (org-babel-execute:org): Use new exporter.
* lisp/org-agenda.el (org-agenda-menu, org-agenda-write): Use new
  iCalendar export back-end.
* lisp/org-table.el (org-table-export, orgtbl-export): Remove
  dependency on `org-exp' library.
(org-table-clean-before-export): New function.
(org-table-colgroup-info): New variable.
(orgtbl-to-html): Use to new HTML export back-end.
* lisp/org.el (org-modules): Remove modules relative to obsolete
  export framework and add those relative to the new one.
(org-create-formula-image-with-dvipng, org-format-latex
org-create-formula-image-with-imagemagick): Use new exporter.
(org-indent-line): INCLUDE keywords are indented like regular
keywords.
(org-mode-map): Bind C-c C-e to new export dispatcher.
(org-menu): Install new exporter in menu.
2013-02-06 23:06:30 +01:00
Nicolas Goaziou 03a9191dd3 Move previous export framework into contrib
* contrib/lisp/org-ascii.el: New file.
* contrib/lisp/org-beamer.el: New file.
* contrib/lisp/org-docbook.el: New file.
* contrib/lisp/org-exp-blocks.el: New file.
* contrib/lisp/org-exp.el: New file.
* contrib/lisp/org-freemind.el: New file.
* contrib/lisp/org-html.el: New file.
* contrib/lisp/org-icalendar.el: New file.
* contrib/lisp/org-jsinfo.el: New file.
* contrib/lisp/org-latex.el: New file.
* contrib/lisp/org-lparse.el: New file.
* contrib/lisp/org-odt.el: New file.
* contrib/lisp/org-publish.el: New file.
* contrib/lisp/org-special-blocks.el: New file.
* contrib/lisp/org-taskjuggler.el: New file.
* contrib/lisp/org-xoxo.el: New file.
* lisp/org-ascii.el: Removed file.
* lisp/org-beamer.el: Removed file.
* lisp/org-docbook.el: Removed file.
* lisp/org-exp-blocks.el: Removed file.
* lisp/org-exp.el: Removed file.
* lisp/org-freemind.el: Removed file.
* lisp/org-html.el: Removed file.
* lisp/org-icalendar.el: Removed file.
* lisp/org-jsinfo.el: Removed file.
* lisp/org-latex.el: Removed file.
* lisp/org-lparse.el: Removed file.
* lisp/org-odt.el: Removed file.
* lisp/org-publish.el: Removed file.
* lisp/org-special-blocks.el: Removed file.
* lisp/org-taskjuggler.el: Removed file.
* lisp/org-xoxo.el: Removed file.
* testing/lisp/test-org-exp.el: Removed file.
* testing/lisp/test-org-html.el: Removed file.
2013-02-06 23:06:30 +01:00
Nicolas Goaziou 8dd2bfc291 Move new export framework files into core
* contrib/README: Remove references to new export framework.
* contrib/lisp/org-e-ascii.el: Removed file.
* contrib/lisp/org-e-beamer.el: Removed file.
* contrib/lisp/org-e-confluence.el: Removed file.
* contrib/lisp/org-e-groff.el: Removed file.
* contrib/lisp/org-e-html.el: Removed file.
* contrib/lisp/org-e-icalendar.el: Removed file.
* contrib/lisp/org-e-latex.el: Removed file.
* contrib/lisp/org-e-man.el: Removed file.
* contrib/lisp/org-e-odt.el: Removed file.
* contrib/lisp/org-e-publish.el: Removed file.
* contrib/lisp/org-e-texinfo.el: Removed file.
* contrib/lisp/org-export.el: Removed file.
* contrib/lisp/org-koma-letter.el: Removed file.
* contrib/lisp/org-md.el: Removed file.
* contrib/lisp/ox-confluence.el: New file.
* contrib/lisp/ox-groff.el: New file.
* contrib/lisp/ox-koma-letter.el: New file.
* lisp/ox-ascii.el: New file.
* lisp/ox-beamer.el: New file.
* lisp/ox-html.el: New file.
* lisp/ox-icalendar.el: New file.
* lisp/ox-jsinfo.el: New file.
* lisp/ox-latex.el: New file.
* lisp/ox-man.el: New file.
* lisp/ox-md.el: New file.
* lisp/ox-odt.el: New file.
* lisp/ox-publish.el: New file.
* lisp/ox-texinfo.el: New file.
* lisp/ox.el: New file.
* mk/org-fixup.el (org-make-org-loaddefs): Install new export
  framework and back-end files.
* testing/lisp/test-org-export.el: Removed file.
* testing/lisp/test-ox.el: New file.
2013-02-06 23:06:30 +01:00
Bastien Guerry 33c4f6233d org-agenda.el: New options to limit the number of displayed entries
* org-agenda.el (org-agenda-max-entries)
(org-agenda-max-todos, org-agenda-max-tags)
(org-agenda-max-effort): New options.
(org-timeline, org-agenda-list, org-search-view)
(org-todo-list, org-tags-view): Tell
`org-agenda-finalize-entries' what agenda type we are
currently finalizing for.
(org-agenda-finalize-entries): Limit the number of entries
depending on the new options.
(org-agenda-limit-entries): New function.

Thanks to the various people who asked for this feature
or for a variation of it.

You can set the new options to an integer or to an alist.

(setq org-agenda-max-effort 120)
  => Don't display entries beyond 120 minutes of effort

(setq org-agenda-max-effort '((todo . 60) (agenda . 240)))
  => Limit to 60 minutes in TODO agenda and to 240 in
     "agenda" agenda views.
2013-02-06 17:23:25 +01:00
Bastien Guerry c5ac9d415e org.el: Allow C-u C-u to insert a warning/delay cookie for org-deadline/org-schedule
* org.el (org-deadline): Allow a double universal prefix
argument to insert/update a warning cookie.
(org-deadline): Allow a double universal prefix argument to
insert/update a delay cookie.
2013-02-06 17:23:25 +01:00
Bastien Guerry 8ecc966292 Implement "delay" cookies for scheduled items.
* org-agenda.el (org-agenda-skip-scheduled-delay-if-deadline):
New option.  The structure of the possible values is copied
from `org-agenda-skip-deadline-prewarning-if-scheduled'.
(org-agenda-get-scheduled): Honor the two new option,
`org-scheduled-delay-days' and
`org-agenda-skip-deadline-prewarning-if-scheduled'.  I.e. if a
scheduled entry has a delay cookie like "-2d" (similar to the
prewarning cookie for deadline), don't show the entry until
needed.

* org.el (org-deadline-warning-days): Small docstring fix.
(org-scheduled-delay-days): New option (see
`org-deadline-warning-days'.)
(org-get-wdays): Use the new option.

Thanks to Andrew M. Nuxoll and Michael Brand for this idea.

You can now use a "delay cookie" in scheduled items.  For example,

* TODO Sleep
  SCHEDULED: <2013-02-06 mer. -3d>

will not be shown on 06/02 but on 09/02, three days later.

The value of the cookie overrides any value of `org-scheduled-delay-days',
unless `org-scheduled-delay-days' is negative (same logic than for
`org-deadline-warning-days'.)

Also check org-agenda-skip-scheduled-delay-if-deadline, which does for
delay cookies what `org-agenda-skip-deadline-prewarning-if-scheduled' does
for prewarning deadline cookies.
2013-02-06 17:23:24 +01:00
Bastien Guerry 8517be79b5 org-agenda.el: Implement new sorting strategies
* org-agenda.el (org-agenda-sorting-strategy): Document the
new sorting strategies.
(org-agenda-get-todos, org-agenda-get-timestamps)
(org-agenda-get-deadlines, org-agenda-get-scheduled): Add a
`ts-date' text property with scheduled, deadline or timetamp
date.
(org-cmp-ts): New function to compare timestamps.
(org-em): Add a docstring.
(org-entries-lessp): Use `org-cmp-ts' to compare timestamps.
Implement the following sorting strategies: timestamp-up/down,
scheduled-up/down, deadline-up/down, ts-up/down (for active
timestamps) and tsia-up/down (for inactive timestamps.)
2013-02-06 17:23:24 +01:00
Bastien Guerry b91fe131ae Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2013-02-06 17:21:31 +01:00
Bastien Guerry b07a9bb29a org-agenda.el: Bugfix.
* org-agenda.el (org-agenda-get-deadlines)
(org-agenda-get-scheduled): Fix bug: use text properties for
the headline text since we rely on properties to get e.g. the
effort.
2013-02-06 17:18:03 +01:00
Bastien Guerry 3380460c69 Merge branch 'maint' 2013-02-05 00:11:08 +01:00
John K. Luebs f27e1e8e4d org.el (org-get-wdays): Handle matching a lead time specified in hours
* org.el (org-get-wdays): Handle matching a lead time specified in
hours.

TINYCHANGE

A lead time in hours is matched but will erroneously return nil.
2013-02-05 00:10:05 +01:00
Bastien Guerry 60b13f3dfe Merge branch 'maint' 2013-02-04 23:03:48 +01:00
Bastien Guerry 80cb1b0a09 org-exp.el (org-export-normalize-links): Don't match links within tags
* org-exp.el (org-export-normalize-links): Don't match links
within tags.

A headline with tags like :info:test: would not be exported correctly
because info:test is first matched and normalized as a link.
2013-02-04 22:14:52 +01:00
Nicolas Goaziou 413a35f7f8 ob-exp: Fix code indentation after src block evaluation
* lisp/ob-exp.el (org-export-blocks-preprocess): Do not use
  `indent-code-rigidly' as it doesn't indent contents of strings.
2013-02-03 17:07:55 +01:00
Nicolas Goaziou 787a07421c Merge branch 'maint' 2013-01-31 22:16:23 +01:00
Nicolas Goaziou 592dc2ee7e org-element: Fix macro parsing with protected commas
* lisp/org-element.el (org-element-macro-parser): Fix error when last
  argument ends with a protected comma.
* testing/lisp/test-org-element.el (test-org-element/macro-parser):
  Add tests.
2013-01-31 22:15:39 +01:00
Bastien Guerry a2febd2101 Merge branch 'maint' 2013-01-31 14:18:24 +01:00
Bastien Guerry 4259ea9fe5 org-clock.el (org-clock-sum): Fix indentation 2013-01-31 14:18:14 +01:00
Bastien Guerry 394398afab Merge branch 'maint' 2013-01-31 14:17:13 +01:00
Francesco Pizzolante 9cb3d3e7f8 org-clock.el (org-clock-sum): Protect with `org-unmodified'
* org-clock.el (org-clock-sum): Protect with `org-unmodified'.

TINYCHANGE
2013-01-31 14:17:01 +01:00
Bastien Guerry ad9ca25d86 Merge branch 'maint' 2013-01-31 12:06:49 +01:00
Bastien Guerry be1169fac7 Merge branch 'master-new-features' 2013-01-31 12:06:39 +01:00
Bastien Guerry 94d1b1169d org-html.el: Enhance docstrings
* org-html.el (org-export-html-preamble-format)
(org-export-html-postamble-format): Mention that
org-export-html-preamble/postamble need to be `t' in order for
these variables to have any effect.
2013-01-31 11:30:43 +01:00
Bastien Guerry 7dbe05551d ob-lilypond.el (ly-process-basic): Bugfix, don't use `pcase'
* ob-lilypond.el (ly-process-basic): Bugfix, don't use
`pcase'.

Thanks to Achim Gratz for suggesting this.
2013-01-31 11:17:18 +01:00
Bastien Guerry bbea8d348b Allow to contextualize capture and agenda commands by checking the name of the buffer
* org.el (org-contextualize-validate-key): Check against two
new context predicates [not-]in-buffer.

* org-capture.el (org-capture-templates-contexts):
* org-agenda.el (org-agenda-custom-commands-contexts):
Document the new [not-]in-buffer context predicates.

Thanks to Paul Sexton for triggering this and for proposing a patch.
2013-01-31 11:06:04 +01:00
Bastien Guerry c17e07e94f ob-core.el (org-ts-regexp): Remove duplicate defconst'ing
* ob-core.el (org-ts-regexp): Remove duplicate defconst'ing.
(org-babel-result-regexp): Don't use `org-ts-regexp', use a
regexp string directly.

This is not the best solution, we should be able to use
`org-ts-regexp' here, but the dependencies makes it hard.
So let's not define org-ts-regexp twice, just use a raw
regexp instead, and add a FIXME warning about this.
2013-01-31 10:57:49 +01:00
Bastien Guerry 55f4f92183 org-html.el (org-html-handle-links): Fix bug in setting the attribute for link with images
* org-html.el (org-html-handle-links): When the link
description is an image and the attribute is "width",
pass the attribute to the <img ...> tag.

Thanks to John Hendy for reporting this.
2013-01-31 10:25:03 +01:00
Eric Schulte ab49324917 fix bug introduced in c1226e8
* lisp/ob-core.el (org-ts-regexp): Declare this here as well.
2013-01-30 13:53:55 -07:00
Eric Schulte c1226e80d4 option to show time stamps over result hashes
suggested by Thomas Alexander Gerds

* lisp/ob-core.el (org-babel-result-regexp): Now matching time stamp as
  well.
  (org-babel-hash-show-time): Variable controlling the display of time
  stamps.
  (org-babel-current-result-hash): With hash time stamps.
  (org-babel-hide-all-hashes): With hash time stamps.
  (org-babel-where-is-src-block-result): With hash time stamps.
2013-01-30 10:08:38 -07:00
Bastien Guerry ff2d373dc3 Merge branch 'maint' 2013-01-30 17:53:30 +01:00
Francesco Pizzolante ebad7d9226 org-macs.el (org-unmodified): Inhibit modification hooks
* org-macs.el (org-unmodified): Inhibit modification hooks.

TINYCHANGE
2013-01-30 17:53:22 +01:00
Nicolas Goaziou 8798f15b72 org-element: Cosmetic change to `org-element-map' indentation
* lisp/org-element.el (org-element-map): Change to function
  indentation.  Also complete docstring.
2013-01-30 14:42:24 +01:00
Bastien Guerry f518bc8f81 ob-lilypond.el (ly-process-basic): Don't use `ly-gen-png'
* ob-lilypond.el (ly-process-basic): Don't use `ly-gen-png'
and friends, rely on the extension of the output file.

Thanks to Florian Beck for suggesting this.
2013-01-30 12:20:32 +01:00
Bastien Guerry 2d18609f4a Merge branch 'maint'
Conflicts:
	contrib/lisp/org-e-odt.el
2013-01-30 12:11:10 +01:00
Bastien Guerry e54dce3b8c org-archive.el (org-archive-file-header-format): New option
* org-archive.el (org-archive-file-header-format): New option.
(org-archive-subtree): Use it.

Thanks to Christopher Schmidt for suggesting something close.
2013-01-30 11:50:14 +01:00
racin e91a5dd33f org-bibtex.el (org-bibtex-search): Don't throw an error when `org-bibtex-prefix' is nil
* org-bibtex.el (org-bibtex-search): Don't throw an error when
`org-bibtex-prefix' is nil.

TINYCHANGE
2013-01-30 11:42:17 +01:00
Bastien Guerry 6d06bcfcbc org.el: Always honor `org-startup-indented', even when `org-inhibit-startup' is non-nil
* org.el (org-mode): Always honor `org-startup-indented', even
when `org-inhibit-startup' is non-nil.

* org-indent.el (org-indent-mode): Don't check
`org-inhibit-startup'.

Thanks to Carsten for suggesting this.
2013-01-30 11:18:24 +01:00
Bastien Guerry d6c3bd9c42 Fix commit eab0cd
Thanks to Florian for spotting this...
2013-01-27 15:21:29 +01:00
Bastien Guerry fe805ed97c Fix commit de3380
Thanks to Leo Liu for providing a patch.
2013-01-27 10:05:54 +01:00
Bastien Guerry 9b4b890da2 Merge branch 'maint' 2013-01-27 09:21:47 +01:00
Bastien Guerry 08c2938e7d org.el (org-fontify-meta-lines-and-blocks-1): Don't try to add text properties outside of the buffer
* org.el (org-fontify-meta-lines-and-blocks-1): Don't try to
add text properties outside of the buffer.

Thanks to Leo Liu for reporting this.
2013-01-27 09:21:35 +01:00
Eric Schulte f52600a439 fix bug: tangling #+headers: lines w/prefix arg 2013-01-26 13:58:30 -07:00
Bastien Guerry 5e11659e66 Merge branch 'maint'
Conflicts:
	lisp/org.el
2013-01-26 15:11:21 +01:00
Bastien Guerry a119649923 org.el (org-agenda-inhibit-startup): Rename from `org-agenda-inhibit-startup-visibility-cycling'
* org.el (org-agenda-inhibit-startup): Rename from
`org-agenda-inhibit-startup-visibility-cycling'.
(org-agenda-prepare-buffers): Bind `org-inhibit-startup' to
`org-agenda-inhibit-startup'.
2013-01-26 15:10:43 +01:00
Bastien Guerry d0cad612ec org.el (org-mode): Don't initialize `org-beamer-mode' when `org-inhibit-startup' is non-nil
* org.el (org-mode): Don't initialize `org-beamer-mode' when
`org-inhibit-startup' is non-nil.
2013-01-26 15:03:21 +01:00
Bastien Guerry 714b372278 Merge branch 'maint' 2013-01-26 13:40:26 +01:00
Bastien Guerry b425e2a2d6 org-footnote.el: Fix bug when using `electric-indent-mode'
* org-footnote.el (org-footnote-create-definition): Prevent
`electric-indent-mode' from inserting the definition at the
wrong place.

Thanks to Xue Fuqiao for reporting this bug.
2013-01-26 13:40:18 +01:00
Bastien Guerry 733a6fe063 Merge branch 'maint' 2013-01-26 13:29:49 +01:00
Bastien Guerry a5ed80fb32 org-agenda.el: Delete `org-agenda-no-heading-message'
* org-agenda.el (org-agenda-no-heading-message): Delete.
(org-agenda-get-timestamps, org-agenda-get-progress)
(org-agenda-get-deadlines, org-agenda-get-scheduled)
(org-agenda-get-blocks): Don't use
`org-agenda-no-heading-message', skip the entry.
2013-01-26 13:29:44 +01:00
Bastien Guerry eab0cd025c ob-lilypond.el (ly-process-basic): Rely on ly-gen-png/pdf/eps to set the output type
* ob-lilypond.el (ly-process-basic): Rely on
ly-gen-png/pdf/eps to set the output type.

Thanks to Florian Beck for reporting this.
2013-01-26 12:00:37 +01:00
Bastien Guerry de33803038 org.el (org-read-date-minibuffer-local-map): New variable (Incompatible change)
* org.el (org-read-date-minibuffer-local-map): New variable.
(org-read-date): Use it.
(org-read-date-minibuffer-setup-hook): Mark as obsolete.

Thanks to Mark Edgington for suggesting this.

This is an incompatible change: if you use
`org-read-date-minibuffer-setup-hook' to set up commands for the
`org-read-date' minibuffer, you need to update your configuration
and use `org-read-date-minibuffer-local-map' instead.
2013-01-26 11:32:46 +01:00
Bastien Guerry cd47d5a80b Silent compiler warning 2013-01-26 11:23:08 +01:00
Bastien Guerry 9a466f2f05 Merge branch 'maint'
Conflicts:
	lisp/org.el
2013-01-26 10:59:12 +01:00
Bastien Guerry 36dba0cf6e org.el (org-agenda-inhibit-startup-visibility-cycling): New option
* org.el (org-agenda-inhibit-startup-visibility-cycling): New
option.
(org-agenda-prepare-buffers): Use it to speed up the agenda
generation.

This change will boost agenda creation *a lot*, especially for
people using many agenda files.  See the docstring of the new
option for details.
2013-01-26 10:57:47 +01:00
Bastien Guerry 582cca5806 org-agenda.el (org-agenda-skip): Fix bug by correctly skipping commented scheduled/deadline lines
* org-agenda.el (org-agenda-skip): Fix bug by correctly
skipping commented scheduled/deadline lines.

This fixes a bug introduced in
http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=211b13
2013-01-26 10:55:35 +01:00
Nicolas Goaziou 61078b4ed4 Fix C-c C-c at a footnote definition
* lisp/org.el (org-ctrl-c-ctrl-c): `save-excursion' prevents
  `org-footnote-action' to put point back onto the definition.
2013-01-26 10:34:57 +01:00
Bastien Guerry f11accd3ee Merge branch 'maint'
Conflicts:
	lisp/org.el
2013-01-24 16:36:36 +01:00