0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-09-23 18:10:43 +00:00
Commit graph

106 commits

Author SHA1 Message Date
Eric Schulte a3cc050a96 babel: `org-babel-get-colnames' no longer requires hline 2010-04-30 13:03:46 -06:00
Eric Schulte c12e18b6cf babel: org-babel-reassemble-table checks for matching table/name dimensions 2010-04-23 11:54:31 -06:00
Dan Davison b8c4bb27ba babel: Use org-src edit buffer for expanded body preview 2010-04-23 10:10:01 -06:00
Dan Davison d0dde7c6d5 babel: flip default values of :hlines header arg 2010-04-23 10:10:00 -06:00
Eric Schulte 03f13106fb babel: adding org-babel-expand-body:generic for languages w/o body expansion support 2010-04-23 10:10:00 -06:00
Dan Davison 7decdec3b2 babel: erase previous contents of preview buffer 2010-04-23 10:10:00 -06:00
Eric Schulte 2fe12b99f4 babel: adding new function `org-babel-expand-src-block'
org-babel-expand-body:lang function needs to be implemented by every
  language, and is used to expand the body of a code block for
  execution or tangling
2010-04-23 10:09:57 -06:00
Dan Davison 788779e16c babel: typo in org-babel-get-rownames 2010-04-23 10:09:57 -06:00
Dan Davison d5dd160b23 babel: bug fix in org-babel-get-colnames 2010-04-23 10:09:57 -06:00
Eric Schulte b9aa92ba21 org-babel: splitting `org-babel-pick-name' into it's own function
also renaming org-babel-manicure-tables to org-babel-disassemble-tables
2010-04-23 10:09:57 -06:00
Eric Schulte 10b3da72fc babel: adding row/col-names functions
adding a suite of functions to org-babel.el which can be used to
  handle hlines, rownames, and columnnames in input tables.  These
  functions can be called from any org-babel-language.el file.

  done in close collaboration with Dan Davison
2010-04-23 10:09:57 -06:00
Eric Schulte 0c8b86e9a9 org-babel: keep within 80 columns
this is exclusively whitespace and indentation changes, with the
  goal of cleaning up the file, and keep all lines within 80 columns
2010-04-23 10:09:57 -06:00
Carsten Dominik c6ea2a1457 Use overlay-in and overlay-at instead of compatibility functions 2010-04-20 12:17:06 +02:00
Carsten Dominik 97e20048b2 Use `add-to-invisibility-spec' directly 2010-04-18 19:41:05 +02:00
Carsten Dominik b35b9914e6 Revert "Use `add-to-invisibility-spec' directly"
This reverts commit c2e5b13a2d.
2010-04-18 19:38:10 +02:00
Carsten Dominik c2e5b13a2d Use `add-to-invisibility-spec' directly 2010-04-18 19:26:30 +02:00
Carsten Dominik f45e6a28b1 Use the normal overlay API, not Org's one 2010-04-18 16:49:58 +02:00
Eric Schulte 0e8c9f7a49 org-babel: no longer over evaluating header arguments 2010-04-10 15:43:19 -06:00
Dan Davison 59d499ff51 babel: Allow table to end neatly with terminal hline
Prior to this, a terminal hline would leave dangling empty cells:

 #+TBLNAME: A
 |---+---+---|
 | a | b | c |
 |---+---+---|

 #+begin_src emacs-lisp :var tab=A
 tab
 #+end_src

 #+results:
 |---+---+---|
 | a | b | c |
 |---+---+---|
 |   |   |   |
2010-04-10 16:49:40 -04:00
Dan Davison 8c827ba5ba babel: Allow output tables to start with 'hline 2010-04-10 16:12:28 -04:00
Eric Schulte 98b4ae28a9 babel: allow lisp quoted expansion of variable values when starting with ` 2010-04-09 19:06:07 -06:00
Eric Schulte 8d405783cb babel: safer modification of `call-process-region' 2010-04-04 17:15:12 -06:00
Dan Davison 3637efe647 babel: Don't use language major-mode when expanding noweb references
There is no longer any need for the language major mode.
2010-03-30 10:20:18 -04:00
Eric Schulte fc28dd538b babel: shorter language names no longer shadow larger names
Previously "R" could overshadow "Ruby", and "C" could overshadow
  "Clojure", causing blocks of the longer language name to fail to
  load. This issue has now been fixed
2010-03-26 20:54:16 -06:00
Eric Schulte e3fbc98b26 babel: removed errant reference to R from org-babel.el 2010-03-26 16:28:25 -06:00
Eric Schulte 727aa263cb babel: src block regexps are more robust to embedded "[begin|end]_src" in block body 2010-03-22 15:19:33 -06:00
Eric Schulte 32bbd3f3bb babel: variable references which look like lisp forms are now evaluated
for example, the following simple example
    #+begin_src emacs-lisp :var two=(+ 1 1)
      (sqrt two)
    #+end_src

    #+results:
    : 1.4142135623730951

  Or this more interesting usage, which pulls variable values from
  headline properties
    *** example headline w/property
        :PROPERTIES:
        :special:  89
        :last-name: schulte
        :END:

    #+begin_src emacs-lisp :var special=(string-to-number (org-entry-get nil "special" t))
      (+ special 1)
    #+end_src

    #+results:
    : 90

    #+begin_src emacs-lisp :var last-name=(org-entry-get nil "last-name" t))
      (message "hello %s" last-name)
    #+end_src

    #+results:
    : hello schulte
2010-03-22 15:19:32 -06:00
Dan Davison 6976d9fc79 babel: org-babel-switch-to-session [C-c M-b z]
org-babel-pop-to-session is an alias of this
2010-03-16 12:57:28 -04:00
Dan Davison 485781ed40 babel: set default-directory in org-babel-pop-to-session 2010-03-13 14:02:47 -05:00
Dan Davison f4ae431706 babel: Make code block params available when initiating session 2010-03-13 14:02:31 -05:00
Dan Davison 215d11c092 babel: New hook org-babel-after-execute-hook
Runs at the end of org-babel-execute-src-block
2010-03-13 14:02:22 -05:00
Dan Davison ba4d698fa1 babel: Provide notification of errors during code execution
This deals with external process :results value mode for R, ruby,
python, perl and clojure: if the shell process has a non-zero exit
code, a buffer containing stderr is displayed.
2010-03-05 11:32:18 +00:00
Dan Davison 4e9a2d4efd babel: Fix bug in shell-command-on-region
Prior to this commit,

OUTPUT-BUFFER nil
REPLACE 'replace
ERROR-BUFFER 'current-buffer

resulted in stdout going with stderr to the current buffer, contra the
docstring. With this change stdout is discarded in this case. The
docstring does stipulate that stdout always should go to *Shell
Command Output*; this change does not make that happen in this case.
2010-03-05 11:32:11 +00:00
Dan Davison 05986e95ea babel: Introduce org-babel copy of shell-command-on-region
At this commit, org-babel-shell-command-on-region is a direct copy of
shell-command-on-region. In addition to switching to use the org-babel
version, we change the argument passed so that they agree with the
docstring of s-c-o-r.

Despite the change in arguments, the same behaviour results because
s-c-o-r does not behave as documented in emacs23. Future commits will
be able to fix these bugs in the org-babel version, as necessary.
2010-03-05 11:32:04 +00:00
Dan Davison 9c36b20a25 babel: make output file links track changed directory 2010-03-02 14:51:01 +00:00
Dan Davison 486bc2fe64 babel: Use file-name-as-directory to form default-directory 2010-03-02 14:51:01 +00:00
Dan Davison 44c8487e2d babel: fix bug with remote working directory
This change fixes a bug in the remote execution branch, involving the
way that org-babel-tramp-handle-call-process-region is used
to (conditionally) handle calls to call-process-region. When
org-babel-execute-src-block called itself recursively (e.g. when
resolving a reference to another src block), a circular binding of
symbols and values resulted.
2010-02-27 18:19:18 -05:00
Eric Schulte a705bf5925 babel: wrapped org-babel-make-remote-file-name' in conditional as org-babel-maybe-remote-file' 2010-02-27 18:18:37 -05:00
Dan Davison 24cdeea122 babel: read remote results from remote files
When using ':results value' in certain situations, results are written
to file by the foreign language process and subsequently read from
file by emacs into an elisp table structure. If the foreign language
process is running remotely, then the results are written
remotely. These changes ensure that in that case, an appropriate
remote file name is constructed to read the remote data.
2010-02-27 14:14:08 -05:00
Dan Davison 2056d7d419 babel: Allow shell-command-on-region to execute remotely
These changes solve two problems: both are discussed in the following thread

http://lists.gnu.org/archive/html/tramp-devel/2010-02/msg00025.html

of which a summary follows.

Firstly, shell-command-on-region does not work with tramp in the same
way that shell-command does. I.e. whereas

(let ((default-directory "/user@remote-host:"))
  (shell-command "hostname" t))

gives the remote hostname,

(let ((default-directory "/user@remote-host:"))
  (shell-command-on-region (point) (mark) "hostname" t))

does not.

The reason is that shell-command-on-region calls call-process-region,
which does not use a tramp handler for remote files. However, such a
file handler does exist (unused) in the tramp sources:
tramp-handle-call-process-region. There is a slight problem in that
there is a bug in that function definition in current tramp (which has
persisted because the function is not normally used).

Therefore, we define an org-babel version of
tramp-handle-call-process-region which fixes the bug, and we bind
call-process-region to org-babel-tramp-handle-call-process-region for
the duration of org-babel-execute-src-block.
2010-02-27 14:14:08 -05:00
Dan Davison b3d5a1eb39 babel: working directories and remote execution
This introduces a new header argument :dir. For the duration of source
block execution, default-directory is set to the value of this header
argument. Consequences include:

- external interpreter processes run in that directory
- new session processes run in that directory (but existing ones are unaffected)
- relative paths for file output are relative to that directory

The name of a directory on a remote machine may be specified with
tramp syntax (/user@host:path), in which case the interpreter
executable will be sought in tramp-remote-path, and if found will
execute on the remote machine in the specified remote directory.
2010-02-27 14:14:08 -05:00
Eric Schulte 522f30bc9f babel: tiny doc tweak 2010-02-27 14:14:07 -05:00
Dan Davison 283ebcb43b babel: New const variable org-babel-header-arg-names
This is used when checking for babel header args in org properties.
2010-02-27 14:14:07 -05:00
Dan Davison 82d7585810 babel: Tighten result and source line regexps
Anchored to beginning of line, with optional whitespace indenting.
2010-02-25 17:58:46 -05:00
Eric Schulte 753d1402d8 babel: avoid infinite loop in org-babel-execute-buffer -- Thanks to Stephan Schmitt 2010-02-16 13:34:09 -07:00
Eric Schulte 2531d704c0 babel: now able to reference links as results 2010-02-09 20:30:28 -07:00
Eric Schulte 3ce4962447 babel: added :shebang and :comments header arguments for finer control over tangled output 2010-02-05 19:04:50 -07:00
Eric Schulte 1e8107faf7 babel: improve doc strings for org-babel-execute-buffer and org-babel-execute-subtree 2010-01-11 08:47:29 -07:00
Eric Schulte 682d7a3193 babel: fixed bug where :exports was forced to "results" whenever :file was set 2010-01-09 12:44:02 -07:00
Eric Schulte da03a848e5 babel: now correctly combining nested tangle header arguments 2009-12-30 17:37:03 -07:00