Commit Graph

8079 Commits

Author SHA1 Message Date
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