Commit Graph

136 Commits

Author SHA1 Message Date
Carsten Dominik 76a25715c9 Bump version number to 7.5 2010-12-10 18:43:10 +01:00
Dan Davison c6a945e82c babel: Handle errors when temporary directory is on a different partition
* lisp/ob.el (org-babel-remove-temporary-directory): Handle exception
  with message informing of failure to remove directory.

Thanks to Antti Kaihola for the bug report:

http://thread.gmane.org/gmane.emacs.orgmode/34394

From: Antti Kaihola <akaihola <at> gmail.com>
Subject: Can't close Emacs+org-mode if /tmp and /home on different	partitions
Newsgroups: gmane.emacs.orgmode
Date: 2010-12-02 08:33:28 GMT (6 days, 1 hour and 22 minutes ago)
I have /tmp on my root partition and a separate partition for /home.
When trying to close an Emacs session which is using org-mode, I get
this error:

    move-file-to-trash: Non-regular file: Is a directory, /tmp/babel-XXXXXXX

(where XXXXXXX are random characters).

I tracked down the problem to org-babel-remove-temporary-directory
which ob.el adds to kill-emacs-hook. It tries to remove the temporary
directory using delete-directory, which in turn tries to move the
directory (by renaming) into trash, which is in my home directory.

I added this to my ~/.emacs.d/init.el:

   (custom-set-variables '(temporary-file-directory "/home/akaihola/tmp/"))

and closing Emacs works correctly again. However, since my init.el is
part of emacs-starter-kit which I update frequently, I'd prefer not to
modify that file. Unfortunately the customization hook
emacs-starter-kit provides (~/.emacs.d/custom.el) is loaded too late
to affect the temporary directory.

I'm running emacs-snapshot 1:20090909-1 in Ubuntu 10.10. Looks like
this is really an Emacs bug and is already fixed:
http://groups.google.com/group/gnu.emacs.bug/browse_thread/thread/0446b8684a8ef504
2010-12-08 10:11:49 +00:00
Eric Schulte 1ce04c5057 updating Code block evaluation messages
Thanks to Sébastien Vauban for suggesting these changes.

* lisp/ob.el (org-babel-insert-result): More informative code block
  evaluation messages.
2010-12-06 08:04:17 -07:00
Eric Schulte 201eb8ce23 ob: examplization of inserted results is smarter about markers
* lisp/ob.el (org-babel-examplize-region): Check if `end' is a marker
  or a point and handle appropriately.
2010-12-03 07:11:09 -07:00
Eric Schulte a9a77780dc change requirement order to ob-eval is always loaded
* lisp/ob-eval.el (require): No longer require ob.el to allow
  requiring by ob.el.
* lisp/ob.el (ob-eval): Require ob-eval.
2010-12-01 07:19:45 -07:00
Eric Schulte 232651a57e ob: mention code block name when ":eval query"
* lisp/ob.el (org-babel-confirm-evaluate): Show code block's name when
  it is available during evaluation query.
2010-11-30 22:02:02 -07:00
Eric Schulte c4418fc472 ob: fixed insertion of result error
* lisp/ob.el (org-babel-insert-result): Using markers instead of
  points for more robust buffer anchors.
2010-11-30 19:22:34 -07:00
Eric Schulte c3b7eca193 ob: fixed newly introduced empty result error
* lisp/ob.el (org-babel-examplize-region): Remove old assertion which
  no longer applies to the result insertion code.
2010-11-27 17:51:46 -07:00
Eric Schulte 01b4f63fe9 ob: no longer escaping results which will be wrapped in a block.
* lisp/ob.el (org-babel-insert-result): No longer escape results which
  will be wrapped in a block.
2010-11-26 15:48:22 -07:00
Eric Schulte 30b2d604c5 ob: more descriptive "Evaluation Aborted" message
* lisp/ob.el (org-babel-confirm-evaluate): More descriptive message
  when evaluation is aborted or disabled.
2010-11-25 10:28:04 -07:00
Eric Schulte b5f7b02814 "wrap" :results header argument wraps code block results
* lisp/ob.el (org-babel-insert-result): Responds to new "wrap" header
  argument.
  (org-babel-merge-params): Includes new "wrap" header argument in
  one of the results header argument exclusive groups.

* lisp/org.el (org-additional-option-like-keywords): Fontify begin and
  and results lines as comments.
2010-11-24 10:19:44 -07:00
Eric Schulte 950bea36f8 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-11-23 09:39:41 -07:00
Eric Schulte d24b04d82f ob: cleaner parsing of header arguments
Thanks to Charles C. Berry for insisting on this issues existence

  This change is now secured with a unit test

* lisp/ob.el (org-babel-parse-header-arguments): Stripping trailing
  spaces off of header arguments (even the first one).
2010-11-23 09:39:26 -07:00
Dan Davison 666e6ed5e7 babel: Wipe error buffer clean at start of execution
* lisp/ob-eval.el (org-babel-error-buffer-name): Define new variable.

  (org-babel-eval-error-notify): Use new variable `org-babel-error-buffer-name'
  (org-babel-eval): Make temp error buffer invisible to the user with
		    initial space in name.
  (org-babel-eval-wipe-error-buffer): New function to wipe the error message buffer.

* lisp/ob-exp.el (org-babel-eval-wipe-error-buffer): Declare external function
  `org-babel-eval-wipe-error-buffer'.
  (org-babel-exp-results): Wipe error buffer clean at outset of execution

* lisp/ob.el (org-babel-execute-src-block-maybe): Wipe error buffer clean at
  outset of execution
  (org-babel-eval-wipe-error-buffer): Declare external function
				    `org-babel-eval-wipe-error-buffer'.
2010-11-23 13:26:31 +00:00
Eric Schulte b174975eb7 ob: safer conversion of results of scripting languages into elisp objects
* lisp/ob-python.el (org-babel-python-table-or-string): Using
  `org-babel-script-escape' for reading string input from scripting
  languages.

* lisp/ob-ruby.el (org-babel-ruby-table-or-string): Using
  `org-babel-script-escape' for reading string input from scripting
  languages.

* lisp/ob.el (org-babel-script-escape): Using
  `org-babel-script-escape' for reading string input from scripting
  languages.

* lisp/ob-haskell.el (org-babel-haskell-table-or-string): Using
  `org-babel-script-escape' for reading string input from scripting
  languages.
2010-11-22 18:51:00 -07:00
Achim Gratz 95bb16661b Fix byte compiler warnings
* org-macs.el (org-called-interactively-p): Wrap function call in
	with-no-warnings.
	(with-silent-modifications) Declare macro for Emacs < 23.2.

TINYCHANGE
2010-11-22 21:22:27 +01:00
Eric Schulte 3785722e92 ob: fix compiler warnings introduced by code-block list reading/writing 2010-11-22 07:21:18 -07:00
Eric Schulte 6baa78b2da ob: no longer adding extra ":" to singleton first header args
* lisp/ob.el (org-babel-parse-header-arguments): Removed addition of
  ":" to singleton first header arguments as it was leading to errors.
2010-11-22 06:44:06 -07:00
Eric Schulte 451acd11ce move ob-map-src-blocks up in ob.el and autoload it
* lisp/ob.el (org-babel-map-src-blocks): Moved to earlier in the file
  and now autoloading.
2010-11-19 01:16:29 -07:00
Eric Schulte e34033fec2 using higher level function for checking list membership
Thanks to Nicolas Goaziou for pointing this out

* lisp/ob-ref.el (org-babel-ref-at-ref-p): Use higher level function
  for testing list membership.
* lisp/ob.el (org-babel-read-result): Use higher level function for
  testing list membership.
  (org-babel-result-end): Use higher level function for testing list
  membership.
2010-11-18 09:34:21 -07:00
Eric Schulte 97f4c3f9a1 fixed (hopefully) error in compiled form of org-babel-map-src-blocks
* lisp/ob.el (org-babel-map-src-blocks): Ensure that the file argument
  is only evaluated once.
2010-11-17 17:03:44 -07:00
Eric Schulte 88947588bc lists are now a data type recognized by code blocks
* lisp/ob-ref.el (org-babel-ref-resolve): Recognize `list' as a unique
  type of data
  (org-babel-ref-at-ref-p): Recognize `list' as a unique type of data

* lisp/ob.el (org-babel-read-result): Recognize `list' as a unique
  type of data
  (org-babel-read-list): A function to read a textual Org-mode list
  into an emacs-lisp list.
  (org-babel-insert-result): Recognizes the "list" result param to
  insert data as an Org-mode list.
  (org-babel-result-end): Find the end of an Org-mode list.
  (org-babel-merge-params): Add "list" as a result param.

* doc/org.texi (results): Documentation of the new "list" results
  header argument.
2010-11-17 16:47:55 -07:00
Eric Schulte c676f62361 passing header arguments through to called code blocks
* lisp/ob-lob.el (org-babel-lob-get-info): including pass-through
  header arguments in results variable header argument string

* lisp/ob.el (org-babel-execute-src-block): working with new header
  argument setup
  (org-babel-parse-header-arguments): only split header argument
  strings when []'s are balanced
2010-11-08 14:18:33 -07:00
Bastien Guerry 6630edbd0f Set version number to 7.3 2010-11-07 14:52:14 +01:00
Dan Davison ed5665e1e2 babel: Use `copy-sequence' instead of `copy-tree'
* lisp/ob.el: `copy-sequence' suffices to copy alist; no need for
`copy-tree'
2010-10-31 13:22:13 +00:00
Dan Davison d6599c5699 babel: Ensure that result is a file link when that is intended
* lisp/ob.el (org-babel-execute-src-block): If ":results file" is in
effect, then ensure that the value of :file is returned as the result;
don't rely on language files for this.

Examples of languages that were not honouring :file are sh and
emacs-lisp.
2010-10-31 12:55:35 +00:00
Dan Davison cf0cdd7785 babel: Fix data structure corruption when sorting parameters
* lisp/ob.el (org-babel-sha1-hash): Avoid corrupting `info' data
structure by side-effects of `sort'.
2010-10-31 12:51:18 +00:00
Dan Davison 1ee54e0db7 babel: Don't resolve variable references unless requested
* lisp/ob.el (org-babel-initiate-session): Don't resolve variable
  references unless prefix arg is supplied.
2010-10-29 20:44:58 +01:00
Eric Schulte 2152f1ec28 ob-tangle: detangle changes in code files back to the original org files
* lisp/ob-tangle.el (org-babel-update-block-body): declaring function
  for updating code block bodies
  (org-babel-spec-to-string):
  (org-babel-detangle): detangle all tangled and commented code blocks
  in the current file back to org
  (org-babel-tangle-jump-to-org): jump from a tangled and commented
  file back to the originating org-mode code block
ob-tangle: detangle changes in code files back to the original org files

* lisp/ob-tangle.el (org-babel-update-block-body): declaring function
  for updating code block bodies
  (org-babel-spec-to-string):
  (org-babel-detangle): detangle all tangled and commented code blocks
  in the current file back to org
  (org-babel-tangle-jump-to-org): jump from a tangled and commented
  file back to the originating org-mode code block
2010-10-29 02:13:38 -06:00
Carsten Dominik 82af72eef7 Push version number to 7.02trans 2010-10-29 09:11:46 +02:00
Dan Davison 9c1acbc667 babel: Fix regexp parsing of functional-style arguments
* lisp/ob.el (org-babel-get-src-block-info): Retrieve contents of
  parentheses, excluding parentheses themselves
2010-10-27 16:31:34 +01:00
David Maus 095f9e298f Declare to silence byte compiler
* ob.el (org-babel-ref-resolve): Declare to silence byte compiler.
2010-10-24 20:45:26 +02:00
Eric Schulte d87e33ea19 babel: ob-execute-src-block respects prefix argument (which forces re-calculation)
* lisp/ob.el (org-babel-execute-src-block): respects prefix argument
  (which forces re-calculation)
2010-10-21 07:50:32 -06:00
Eric Schulte 3fd8d906e4 babel: removed needless param sorting from ob-execute-src-block
* lisp/ob.el (org-babel-execute-src-block): removed needless param
  sorting from ob-execute-src-block, the params are sorted already by
  ob-sha1-hash
2010-10-21 07:44:34 -06:00
Eric Schulte b664510ec4 babel: ensure that info is sorted at the header argument level
* lisp/ob.el (org-babel-sha1-hash): ensure that info is sorted at the
  header argument level
2010-10-21 07:11:13 -06:00
Dan Davison 7c44c8ca7d babel: Make test for identical input more stringent when hashing
* ob.el (org-babel-sha1-hash): Consider words in different
	order as different input.
2010-10-21 07:02:50 -06:00
Dan Davison f2e547c657 babel: Fix check for zero length sequences when constructing hash key
* ob.el (org-babel-sha1-hash): Fix check for zero length
	sequences
2010-10-21 07:02:22 -06:00
Eric Schulte 91f8cfaebb ob: ob-demarcate updated to reflect the new info list contents
* lisp/ob.el (org-babel-demarcate-block): updated to reflect the new
  info list contents
2010-10-21 13:06:56 +01:00
Eric Schulte b50125a1ac fixed minor bug in and improved efficiency of org-babel-map-src-blocks
* lisp/ob.el (org-babel-map-src-blocks): fixed minor bug in and
  improved efficiency of org-babel-map-src-blocks
2010-10-21 13:06:56 +01:00
Dan Davison 4247150094 babel: Don't resolve variable references during `org-babel-demarcate-block'
* ob.el (org-babel-demarcate-block): Use light version of
	`org-babel-get-src-block-info'
2010-10-21 13:06:55 +01:00
Eric Schulte e905dbe0f6 babel hashing now handles more complex types in params
* lisp/ob.el (org-babel-sha1-hash): now handles more complex types in
  params
* testing/examples/babel.org: whitespace
* testing/lisp/test-ob.el (test-org-babel/sha1-hash): new test for
  babel hashing
2010-10-21 13:06:55 +01:00
Eric Schulte cea9fd7421 sanding off some rough corners left by the reworking of process-params
* lisp/ob.el (org-babel-execute-src-block): generally using the new
  more informative params
  (org-babel-process-params): don't forget the :var portion of
  variable assignments
2010-10-21 13:06:55 +01:00
Dan Davison 83332fb69c babel: New version of generic expansion function
* ob.el (org-babel-expand-src-block): Supply variable
	assignment lines to generic expansion function
	(org-babel-expand-body:generic): Prepend body with optional
	variable assignment lines
2010-10-21 13:06:01 +01:00
Eric Schulte 43c712fccb unifying ob-process-params and ob-expand-variables
* lisp/ob-exp.el (org-babel-exp-results): replaced old function call

* lisp/ob-lob.el (org-babel-lob-execute): replaced old function call

* lisp/ob-ref.el (org-babel-ref-parse): removed obsolete optional
  params argument, also no longer chokes when handed an
  already-resolved reference

  (org-babel-ref-resolve): removed obsolete optional params argument

* lisp/ob.el (org-babel-ref-parse): updated function declaration
  (org-babel-get-src-block-info): replaced old function call
  (org-babel-header-arg-names): indentation
  (org-babel-execute-src-block): now expanding all parameters using
  the newly combined org-babel-process-params
  (org-babel-switch-to-session-with-code): indentation
  (org-mode-hook): indentation
  (org-babel-process-params): now packages all results into the
  parameter alist and does variable expansion, this should no longer
  be called from inside of language functions
  (org-babel-expand-noweb-references): updated function call for newly
  removed obsolete function parameter
2010-10-21 13:06:01 +01:00
Eric Schulte fd97cb9386 ob-lob: now working with the new variable resolution setup
* lisp/ob-lob.el (org-babel-lob-execute): now expanding variable
  references before execution

* lisp/ob.el (org-babel-merge-params): better indentation, and finally
  sorted out the proper replacement of conflicting variable
  definitions
2010-10-21 13:06:00 +01:00
Eric Schulte 71d50277b5 ob: only sort parameters if it's required for caching
* lisp/ob.el (org-babel-execute-src-block): only sort parameters if
  it's required for caching
2010-10-21 13:06:00 +01:00
Eric Schulte 1aed27c104 ob-merge-params: fixed order or precedence for variables
* lisp/ob.el (org-babel-merge-params): fixed order or precedence for
  variables
2010-10-21 13:06:00 +01:00
Eric Schulte 2ddcf9e255 removing obsoleted optional third argument from org-babel-expand-body:LANG
* lisp/ob-C.el (org-babel-expand-body:c++): removing obsoleted
  optional third argument
  (org-babel-expand-body:c++): removing obsoleted optional third
  argument
  (org-babel-C-expand): removing obsoleted optional third argument
* lisp/ob-R.el:
  (org-babel-expand-body:R): removing obsoleted optional third
  argument
  (org-babel-execute:R): removing obsoleted optional third argument
  (org-babel-R-variable-assignments): removing obsoleted optional
  third argument
* lisp/ob-asymptote.el:
  (org-babel-expand-body:asymptote): removing obsoleted optional third
  argument
  (org-babel-execute:asymptote): removing obsoleted optional third
  argument
* lisp/ob-clojure.el:
  (org-babel-expand-body:clojure): removing obsoleted optional third
  argument
  (org-babel-execute:clojure): removing obsoleted optional third
  argument
* lisp/ob-css.el:
  (org-babel-expand-body:css): removing obsoleted optional third
  argument
* lisp/ob-ditaa.el:
  (org-babel-expand-body:ditaa): removing obsoleted optional third
  argument
* lisp/ob-dot.el:
  (org-babel-expand-body:dot): removing obsoleted optional third
  argument
  (org-babel-execute:dot): removing obsoleted optional third argument
* lisp/ob-emacs-lisp.el:
  (org-babel-expand-body:emacs-lisp): removing obsoleted optional
  third argument
  (org-babel-execute:emacs-lisp): removing obsoleted optional third
  argument
* lisp/ob-gnuplot.el:
  (org-babel-expand-body:gnuplot): removing obsoleted optional third
  argument
* lisp/ob-haskell.el:
  (org-babel-expand-body:haskell): removing obsoleted optional third
  argument
  (org-babel-execute:haskell): removing obsoleted optional third
  argument
  (org-babel-load-session:haskell): removing obsoleted optional third
  (org-babel-prep-session:haskell): removing obsoleted optional third
* lisp/ob-js.el:
  (org-babel-expand-body:js): removing obsoleted optional third
  argument
  (org-babel-execute:js): removing obsoleted optional third argument
* lisp/ob-latex.el:
  (org-babel-expand-body:latex): removing obsoleted optional third
  argument
* lisp/ob-lisp.el:
  (org-babel-expand-body:lisp): removing obsoleted optional third
  argument
  (org-babel-execute:lisp): removing obsoleted optional third argument
* lisp/ob-mscgen.el:
  (org-babel-expand-body:mscgen): removing obsoleted optional third
  argument
* lisp/ob-ocaml.el:
  (org-babel-expand-body:ocaml): removing obsoleted optional third
  argument
  (org-babel-execute:ocaml): removing obsoleted optional third
  argument
* lisp/ob-octave.el:
  (org-babel-expand-body:matlab): removing obsoleted optional third
  argument
  (org-babel-expand-body:octave): removing obsoleted optional third
  argument
  (org-babel-execute:octave): removing obsoleted optional third
  argument
  (org-babel-octave-variable-assignments): removing obsoleted optional
  third
* lisp/ob-org.el:
  (org-babel-expand-body:org): removing obsoleted optional third
  argument
* lisp/ob-perl.el:
  (org-babel-expand-body:perl): removing obsoleted optional third
  argument
  (org-babel-execute:perl): removing obsoleted optional third argument
* lisp/ob-plantuml.el:
  (org-babel-expand-body:plantuml): removing obsoleted optional third
  argument
* lisp/ob-python.el:
  (org-babel-expand-body:python): removing obsoleted optional third
  argument
  (org-babel-execute:python): removing obsoleted optional third
  argument
  (org-babel-python-variable-assignments): removing obsoleted optional
  third
* lisp/ob-ruby.el:
  (org-babel-expand-body:ruby): removing obsoleted optional third
  argument
  (org-babel-execute:ruby): removing obsoleted optional third argument
* lisp/ob-sass.el:
  (org-babel-expand-body:sass): removing obsoleted optional third
  argument
* lisp/ob-scheme.el:
  (org-babel-expand-body:scheme): removing obsoleted optional third
  argument
  (org-babel-execute:scheme): removing obsoleted optional third
  argument
* lisp/ob-screen.el:
  (org-babel-expand-body:screen): removing obsoleted optional third
  argument
* lisp/ob-sh.el:
  (org-babel-expand-body:sh): removing obsoleted optional third
  argument
  (org-babel-execute:sh): removing obsoleted optional third argument
  (org-babel-sh-variable-assignments): removing obsoleted optional
  third
* lisp/ob-sql.el:
  (org-babel-expand-body:sql): removing obsoleted optional third
  argument
* lisp/ob-sqlite.el:
  (org-babel-expand-body:sqlite): removing obsoleted optional third
  argument
  (org-babel-execute:sqlite): removing obsoleted optional third
  argument
* lisp/ob.el:
  (org-babel-expand-body:generic): removing obsoleted optional third
  argument
2010-10-21 13:06:00 +01:00
Eric Schulte 832dc71f31 ob-lob: now working with the new ob-get-src-block-info
ob-get-src-block-info wasn't correctly returning the name of the
  code block

* lisp/ob-lob.el (org-babel-lob-ingest): now returns the count of
  ingested code blocks

* lisp/ob.el (org-babel-get-src-block-info): walks up possible
  additional header arg lines before checking for the code block name

  (org-babel-merge-params): can now handle empty variables gracefully
2010-10-21 13:06:00 +01:00
Eric Schulte 9931dae20a babel: exporting now working with the new ob-get-src-block-info schema
includes a simple export test

* lisp/ob-exp.el (org-babel-exp-in-export-file): wrapper for
  collecting information from within the original export file

  (org-babel-exp-src-blocks): simplified through use of the above
  macro

  (org-babel-exp-code): simplified through the use of new functions
  for parsing header arguments

  (org-babel-exp-results): simpler high-level organization, also this
  is now where the expansion of variable references takes place during
  export

* lisp/ob.el (org-babel-expand-variables): broke variable replacement
  in a parameter list into it's own function

  (org-babel-get-src-block-info): now using the above function
2010-10-21 13:05:59 +01:00