Commit graph

13194 commits

Author SHA1 Message Date
Achim Gratz 2d3addeccf test-ob-perl: add a few perl babel tests
* testing/lisp/test-ob-perl.el: New file with a few tests of the perl
  babel integration.
2013-03-02 22:49:46 +01:00
Achim Gratz ca125b82b3 ob-perl: implement results interpretation and improve wrapper
* lisp/ob-perl.el (org-babel-execute:perl): Pass `result-params´
  through to `org-babel-perl-evaluate´.
* lisp/ob-perl.el (org-babel-variable-assignments:perl): Add "my" to
  variable declaration so that it becomes compatible with "use
  strict;".
* lisp/ob-perl.el (org-babel-varariable-assignments:perl): Use new
  internal formatting function `org-babel-perl--var-to-perl´.
* lisp/ob-perl.el (org-babel-perl--var-to-perl): New internal function, uses Perl
  non-interpolating quoting on the string that defines the variable to
  suppress spurious interpretation of it as Perl syntax.
* lisp/ob-perl.el (org-babel-perl-wrapper-method): Use a block and
  declare all variables as "my", also use Perl quoting throughout.
  Redirect STDOUT to the temporary file so that simply "print" will
  put the results there.  Check the return value and output in table
  form if it is an ARRAY ref, otherwise print it without a final
  newline.
* lisp/ob-perl.el (org-babel-perl-preface): Content of this variable
  is prepended to body before invocation of perl.
* lisp/ob-perl.el (org-babel-perl-evaluate): Rename input parameter
  body to ibody and let-bind body to concatentation of
  org-babel-perl-preface and ibody.  Implement results interpretation
  so that tables are easier to produce.

Following suggestions by Daniel M. German in
http://thread.gmane.org/gmane.emacs.orgmode/66855.
2013-03-02 22:49:46 +01:00
Achim Gratz 94934010d7 ob-eval: make org-babel--shell-command-on-region internal and simplify
* lisp/ob-eval.el (org-babel-eval): Use simplified version of
  `org-babel--shell-command-on-region´, we are the only caller of this
  function.
* lisp/ob-eval.el (org-babel--shell-command-on-region): Replace
  `org-babel-shell-command-on-region´ with a much more simplified
  internal version, remove superfluous DOCSTRING and interactive
  clause, strip out all conditionals which were never used.  Prevent
  deletion of temporary input file to aid debugging when the symbol
  `org-babel--debug-input´ is bound and has non-nil value.
2013-03-02 22:49:46 +01:00
Nicolas Goaziou cbf2fcf60c Update `org-export-backends'
* lisp/org.el (org-export-backends): Update variable.  `infojs' was
  merged into ox-html and `freemind' was added.
2013-03-02 22:48:09 +01:00
Jambunathan K f2b2c8318f Add Freemind Mindmap Back-End for Org Export Engine
* contrib/lisp/ox-freemind.el: New file.

* lisp/ox-html.el (org-html--tags, org-html-format-headline)
(org-html--format-toc-headline, org-html-checkbox)
(org-html-table-cell, org-html-timestamp)
(org-html-verse-block, org-html-special-string-regexps):
Replace named HTML entities with their numeric counterparts.
This keeps Freemind backend happy.
2013-03-02 22:33:03 +01:00
Nicolas Goaziou 25f2ae88f5 ox-org: Silence byte-compiler 2013-03-02 19:31:12 +01:00
Bastien Guerry 71e9b321ec Merge branch 'master-wip3' 2013-03-02 18:59:55 +01:00
Bastien Guerry 0a21f82962 Merge branch 'maint'
Conflicts:
	lisp/org-clock.el
2013-03-02 18:59:47 +01:00
Bastien Guerry 4351dda5ab ox-org.el: Handle :htmlized-source in publishing projects
* ox-org.el (org-org-htmlized-css-url): Rename from
`org-html-htmlized-org-css-url' and moved here from
ox-html.el.
(org-org-publish-to-org): Handle :htmlized-source in
publishing projects.
2013-03-02 18:46:07 +01:00
Achim Gratz 6bc6a361b0 Ensure that new exporter gets tested in batch mode
* testing/org-test.el: Require ox so that these tests will be run
  during batch test.
2013-03-02 18:28:18 +01:00
Achim Gratz 3773029db9 fix 17131cbf63
* lisp/ob-tangle.el (org-babel-tangle): Do not change signature, a nil
  arg is even documented in the manual.
* lisp/org-src.el: Change declaration of `org-babel-tangle´ to "arg"
  for first argument.
2013-03-02 18:13:52 +01:00
Bastien Guerry 2752ef1c4b ox-html.el: Use HTML_HEAD instead of HTML_STYLE and fix some variable names
* ox-html.el (org-html-style-default): Update docstring.
(org-html-infojs-install-script, org-html--build-style):
Update property names.
(org-html-head-include-scripts)
(org-html-head-include-default-style, org-html-head):
Respectively rename from `org-html-style-include-scripts',
`org-html-style-include-default' and `org-html-style', now
obsolete.
(org-html-style-extra): Delete.

Thanks to those who pointed at this problem on the mailing list.
2013-03-02 18:05:16 +01:00
Nicolas Goaziou 82246f8196 ox-html: Fix infloop
* lisp/ox-html.el (org-html--format-toc-headline): Fix infloop
  introduced in c299c109bb.
2013-03-02 18:02:57 +01:00
Bastien Guerry 3b21f246d6 org-clock.el (org-clock-out): Fix bug.
* org-clock.el (org-clock-out): Fix bug: if a closing note
needs to be stored in the drawer where clocks are stored,
let's temporarily remove `org-clock-remove-empty-clock-drawer'
from `org-clock-out-hook'.

Thanks to Дядов Васил Стоянов for reporting this bug.
2013-03-02 17:39:23 +01:00
Bastien Guerry aa3091580d ob-tangle.el: A small fix and some refactoring
* ob-tangle.el (org-babel-tangle): Remove unused attempt of
prompting the user of the tangle file name since :tangle is
always set.  Don't prompt for a tangle file name when called
with two universal prefix arg outside of a src block.
Use `org-babel-tangle-single-block'.
(org-babel-tangle-single-block): New function.
(org-babel-tangle-collect-blocks): Use the new function.

Thanks to Rick Frankel who provided a patch for this fix.
The patch fixes this issue (quoting Rick's email):

"When attempting to tangle a single block, `org-babel-tangle'
would use `narrow-to-region', causing any header arguments not
on the "#+BEGIN_SRC" line to be excluded from the tangled file."
2013-03-02 17:15:08 +01:00
Bastien Guerry ff97a0ee9d Revert "Add (provide ...) forms."
This reverts commit 8decdbcd23.
2013-03-02 16:20:59 +01:00
Bastien Guerry 13c481b583 Merge branch 'master' of orgmode.org:org-mode 2013-03-02 16:08:46 +01:00
Bastien Guerry bd89d6a02f org-table.el: Use user-error' instead of error' for user errors
* org-table.el (org-table-convert-region, org-table-export)
(org-table-align, org-table-beginning-of-field)
(org-table-copy-down, org-table-check-inside-data-field)
(org-table-insert-column, org-table-find-dataline)
(org-table-delete-column, org-table-move-column)
(org-table-insert-row, org-table-insert-hline)
(org-table-kill-row, org-table-paste-rectangle)
(org-table-wrap-region, org-table-sum, org-table-get-formula)
(org-table-get-formula, org-table-get-stored-formulas)
(org-table-fix-formulas, org-table-maybe-eval-formula)
(org-table-rotate-recalc-marks, org-table-eval-formula)
(org-table-get-range, org-table-get-descriptor-line)
(org-table-find-row-type, org-table-recalculate)
(org-table-iterate, org-table-iterate-buffer-tables)
(org-table-formula-handle-first/last-rc)
(org-table-edit-formulas, org-table-fedit-shift-reference)
(org-rematch-and-replace, org-table-shift-refpart)
(org-table-fedit-finish, org-table-fedit-lisp-indent)
(org-table-show-reference, org-table-show-reference)
(org-table-show-reference, org-table-show-reference)
(org-table-force-dataline, orgtbl-error, orgtbl-export)
(orgtbl-send-replace-tbl, org-table-to-lisp)
(orgtbl-send-table, orgtbl-send-table, orgtbl-send-table)
(orgtbl-toggle-comment, orgtbl-insert-radio-table)
(orgtbl-to-unicode, org-table-get-remote-range)
(org-table-get-remote-range, org-table-copy-dow)
(org-table-check-inside-data-field, org-table-insert-colum)
(org-table-find-dataline, org-table-delete-colum)
(org-table-move-column, org-table-insert-ro)
(org-table-insert-hline, org-table-kill-ro)
(org-table-paste-rectangle, org-table-wrap-regio)
(org-table-sum, org-table-get-formul)
(org-table-get-stored-formulas, org-table-fix-formula)
(org-table-maybe-eval-formul, org-table-rotate-recalc-marks)
(org-table-eval-formul, org-table-get-range)
(org-table-get-descriptor-lin, org-table-find-row-type)
(org-table-recalculat, org-table-iterate)
(org-table-iterate-buffer-table)
(org-table-formula-handle-first/last-r)
(org-table-edit-formulas, org-table-fedit-shift-referenc)
(org-rematch-and-replace, org-table-shift-refpar)
(org-table-fedit-finish, org-table-fedit-lisp-inden)
(org-table-show-reference, org-table-force-datalin)
(orgtbl-error, orgtbl-export, orgtbl-send-replace-tb)
(org-table-to-lisp, orgtbl-send-tabl, orgtbl-toggle-comment)
(orgtbl-insert-radio-tabl, orgtbl-to-unicode)
(org-table-get-remote-range): Use `user-error' instead of
`error' for user errors.
2013-03-02 15:40:09 +01:00
Bastien Guerry 2d2913ce4f ob-core.el (org-babel-load-in-session): Throw a useful error when there is no code block at point
* ob-core.el (org-babel-load-in-session): Throw a useful error
when there is no code block at point.
2013-03-02 15:28:51 +01:00
Bastien Guerry 17131cbf63 ob-tangle.el (org-babel-tangle): Allow two universal prefix arguments to tangle by the target file of the block at point
* ob-tangle.el (org-babel-tangle): Rename the ONLY-THIS-BLOCK
parameter to ARG.  Allow two universal prefix arguments to
tangle by the target file of the block at point.
(org-babel-tangle-collect-blocks): New parameter TANGLE-FILE
to restrict the collection of blocks to those who will be
tangled in TARGET-FILE.

Thanks to Zech for suggesting this.
2013-03-02 15:27:25 +01:00
Bastien Guerry 463a2f602f org-src.el (org-edit-src-auto-save-idle-delay): Deactivate auto-saving by default
* org-src.el (org-edit-src-auto-save-idle-delay): Use a delay
of 0 by default (i.e., deactivate auto-saving.)
(org-edit-src-code): Set `buffer-auto-save-file-name' for
auto-saving with `auto-save-mode'.

Thanks to Andreas Leha for suggesting this.
2013-03-02 15:04:43 +01:00
Nicolas Goaziou 5a0239b9fc ox: Ignore inlinetasks with a :noexport: tag
* lisp/ox.el (org-export--selected-trees): Also mark inlinetasks with
  a select tag.
(org-export--skip-p): Skip inlinetasks with a :noexport: tag.
* testing/lisp/test-ox.el: Add tests.
2013-03-02 15:03:28 +01:00
Bastien Guerry 66d6a6c450 Merge branch 'master-fixes-8' 2013-03-02 12:10:44 +01:00
Bastien Guerry e57ce7bd78 Merge branch 'maint' 2013-03-02 12:10:35 +01:00
Bastien Guerry fc8824791d org.el (org-deadline, org-schedule): Set the warning/delay relatively to the timestamp
* org.el (org-deadline, org-schedule): When called with two
universal prefix arguments, set the warning time or the delay
relatively to the current timestamp, not to today's date.

Thanks to Sébastien Vauban for reporting this.
2013-03-02 11:24:30 +01:00
Bastien Guerry c8d5674562 org-agenda.el (org-agenda-filter-apply): Deactive `org-agenda-entry-text-mode' when filtering
* org-agenda.el (org-agenda-filter-apply): Deactive
`org-agenda-entry-text-mode' when filtering.
(org-agenda-entry-text-mode): Don't allow in filtered views.
Don't show the maximum number of lines when turning off.

Thanks to Sébastien Vauban for pointing a related issue.
2013-03-02 11:00:30 +01:00
Bastien Guerry ee3b3eb421 Remove contrib/oldexp/.
If users want to use the old exporter, they now need
to checkout an earlier version of Org.
2013-03-02 10:26:22 +01:00
Bastien Guerry 8decdbcd23 Add (provide ...) forms.
E.g., if a user requires the 'org-icalendar feature,
he really wants to load 'ox-icalendar if it's in her
load-path.
2013-03-02 10:25:10 +01:00
Nicolas Goaziou 8ef19cdeee ob-tangle: Correctly unescape code when tangling
* lisp/ob-tangle.el (org-babel-spec-to-string): Use dedicated function
  for unescaping code.
2013-03-02 10:07:37 +01:00
Nicolas Goaziou 2c797c41d9 ox-html: Silence byte-compiler
* lisp/ox-html.el (org-html-link): Silence byte-compiler.
2013-03-02 09:45:26 +01:00
Nicolas Goaziou 3049f1c75f ox-html: Fix infojs integration
* lisp/ox-html.el (html): Add infojs installation script in options
  filter.
(org-html-infojs-install-script): Remove check for back-end as we can
safely assume the function will be called from `html' back-end or one
of its derivative.

`org-export-filter-*-functions' are user oriented. Developer filters
should be installed in back-end definition.
2013-03-01 23:14:30 +01:00
Bastien Guerry c299c109bb ox-html.el (org-html-headline): Add comment
* ox-html.el (org-html-headline): Add comment.

The comment explains why commit
http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=1f591b
is needed.
2013-03-01 19:06:53 +01:00
Bastien Guerry 94e501cab8 Merge branch 'maint' 2013-03-01 18:58:05 +01:00
Bastien Guerry 7afbf870f2 org.el (org-mode): Set `paragraph-start'
* org.el (org-mode): Set `paragraph-start'.

The value inherited from outline-mode is wrong because
outline mode does not enforce the space after the star
while Org-mode does.

outline-mode value for `paragraph-start' prevents filling
paragraphs containing a string like " -- *bold*": in this
case, fill-paragraph might think that the "*b" part of the
string starts a paragraph while it does not.

Thanks to Samuel Wales for reporting this.
2013-03-01 18:57:55 +01:00
Bastien Guerry 3b4a0b21c8 org-agenda.el (org-agenda-entry-text-leaders): New option
* org-agenda.el (org-agenda-entry-text-leaders): New option.
(org-agenda-entry-text-show-here): Use it.

Thanks to Sébastien Vauban for a preliminary patch for this.
2013-03-01 17:27:50 +01:00
Bastien Guerry 1094a5eab7 Merge branch 'master' of orgmode.org:org-mode 2013-03-01 17:16:56 +01:00
Bastien Guerry 1dfdbe331a ox-html.el: Fix setting of attributes for inline images
* ox-html.el (org-html-link--inline-image): Always retrieve
attributes for inline images.
(org-html-link): Fix trailing whitespace at the end of the
opening <a ...> HTML tag.

Thanks to John Hendy for forcing me to focus on this :)
2013-03-01 17:08:27 +01:00
Nicolas Goaziou 8a3e72208a ox-icalendar: Small refactoring
* lisp/ox-icalendar.el (org-agenda-collect-markers,
  org-create-marker-find-array): Remove functions.
(org-icalendar-export-current-agenda): Integrate previous functions.
2013-03-01 16:26:28 +01:00
Bastien Guerry 1f591bcc30 ox-html.el: Bugfix wrt org-info.js
* ox-html.el (org-html-headline): For headlines whose first
element is a headline and not a section, pretend there is an
empty section (as "") for the correct HTML div to be inserted.

This fixes a bug wrt org-info.js.  Thanks to Nicolas for
guiding me through this patch.
2013-03-01 16:16:53 +01:00
Bastien Guerry e48f13423a Fix compiler warnings 2013-03-01 15:50:05 +01:00
Bastien Guerry ccc7383890 Don't create UID for the entire file when write an agenda to .ics
* org-agenda.el (org-agenda-collect-markers)
(org-create-marker-find-array): Move to ox-icalendar.el.
(org-agenda-marker-table, org-check-agenda-marker-table):
Delete.

* ox-icalendar.el (org-icalendar-create-uid): New parameter
H-MARKERS to only update some headlines, not the whole file.
(org-icalendar--combine-files): When exporting to an .ics file
only add UID to the headlines shown in the agenda buffer.
(org-agenda-collect-markers, org-create-marker-find-array):
Move here.
2013-03-01 15:47:55 +01:00
Bastien Guerry 0c40f479cd org-agenda.el (org-agenda-write): Ask before overwriting an existing file
* org-agenda.el (org-agenda-write): Ask before overwriting an
existing file.

Thanks to Rainer Stengele for suggesting this.
2013-03-01 15:06:28 +01:00
Bastien Guerry 1dfc45554a Merge ox-infojs.el into ox-html.el
* org-pcomplete.el
(pcomplete/org-mode/file-option/infojs_opt): Use
`org-html-infojs-opts-table'.

* ox-html.el (org-html-infojs-opts-table):
(org-html-use-infojs, org-html-infojs-options)
(org-html-infojs-template): Move from ox-jsinfo.el.
Rename using the org-html- prefix.
(org-html-infojs-install-script): Move from ox-infojs.el.

* ox-infojs.el: Delete.

* org.texi (JavaScript support): Update variable names.
2013-03-01 14:26:55 +01:00
Bastien Guerry 136781b6a1 ox-html.el (org-html-section): Fix indentation
* ox-html.el (org-html-section): Fix indentation.
2013-03-01 14:22:09 +01:00
Bastien Guerry cfe1d9a9fc ox-html.el: Fix document structure for org-info.js compatibility.
* ox-html.el (org-html-inner-template): Add the document title
here, within the "content" class, as the org-info.js needs it.
(org-html-template): Don't include the document's title here.
(org-html-format-inlinetask-function): Remove wrong example.

Although counter-intuitive and certainly weird, the
<h1 class="title"> string needs to be within the "content"
div, not before it.  We would need the developer of org-info.js
to update org-info.js to put the title outside of "content".
2013-03-01 13:57:54 +01:00
Nicolas Goaziou 25b5ab8a23 ox-latex: Fix nested markup in TODO keyword defalt format
* lisp/ox-latex.el (org-latex-format-headline-default-function): Use
  declarative shape to nest makup for TODO keywords.  Previous syntax
  generated errors during export.
2013-03-01 11:06:00 +01:00
Nicolas Goaziou ce3e6555d3 ox: Ignore org-mode-hook' and kill-emacs-hook' in asynchronous export
* lisp/ox.el (org-export-async-start): Ignore `org-mode-hook' and
  `kill-emacs-hook'.  The first one has been run in the original
  buffer.  The second is not necessary and can pollute output to
  a temporary buffer (e.g. with `org-clock-persistence-insinuate').
2013-03-01 08:31:39 +01:00
Grégoire Jadi 7d48126665 contrib/lisp/org-contacts.el (org-contacts-complete-name): Prevent an error when there is no completion available
* contrib/lisp/org-contacts.el (org-contacts-complete-name): Compute the
completion-list a bit earlier to prevent an error when there is no
completion available.
2013-02-28 13:46:33 +01:00
Carsten Dominik 8f3a109a21 Use base buffer for storing export dispatch position
* lisp/ox.el (org-export-dispatch): Make sure the last position marker
  uses the base buffer if there is one.
2013-02-28 12:53:45 +01:00
Bastien Guerry 8e0b4529f7 ob-tangle.el (org-babel-tangle-collect-blocks): Don't collect blocks in commented out headings
* ob-tangle.el (org-babel-tangle-collect-blocks): Don't
collect blocks in commented out headings.

Thansk to the various people who requested this.
2013-02-28 10:25:21 +01:00