Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode

This commit is contained in:
Carsten Dominik 2010-06-26 06:38:31 +02:00
commit 6aac0a449f
36 changed files with 1207 additions and 1022 deletions

File diff suppressed because it is too large Load diff

View file

@ -169,15 +169,15 @@ Dates and Times
Capture - Refile - Archive Capture - Refile - Archive
* Remember:: Capture new tasks/ideas with little interruption * Capture::
* Refiling notes:: Moving a tree from one place to another * Refiling notes:: Moving a tree from one place to another
* Archiving:: What to do with finished projects * Archiving:: What to do with finished projects
Remember Capture
* Setting up Remember for Org:: Some code for .emacs to get things going * Setting up a capture location:: Where notes will be stored
* Remember templates:: Define the outline of different note types * Using capture:: Commands to invoke and terminate capture
* Storing notes:: Directly get the note to where it belongs * Capture templates:: Define the outline of different note types
Agenda Views Agenda Views
@ -1525,89 +1525,90 @@ Cave's Date and Time tutorial}@*
An important part of any organization system is the ability to quickly An important part of any organization system is the ability to quickly
capture new ideas and tasks, and to associate reference material with them. capture new ideas and tasks, and to associate reference material with them.
Org uses the @file{remember.el} package to create tasks, and stores files Org defines a capture process to create tasks. It stores files related to a
related to a task (@i{attachments}) in a special directory. Once in the task (@i{attachments}) in a special directory. Once in the system, tasks and
system, tasks and projects need to be moved around. Moving completed project projects need to be moved around. Moving completed project trees to an
trees to an archive file keeps the system compact and fast. archive file keeps the system compact and fast.
@menu @menu
* Remember:: Capture new tasks/ideas with little interruption * Capture::
* Refiling notes:: Moving a tree from one place to another * Refiling notes:: Moving a tree from one place to another
* Archiving:: What to do with finished projects * Archiving:: What to do with finished projects
@end menu @end menu
@node Remember, Refiling notes, Capture - Refile - Archive, Capture - Refile - Archive @node Capture, Refiling notes, Capture - Refile - Archive, Capture - Refile - Archive
@section Remember @section Capture
The Remember package by John Wiegley lets you store quick notes with little Org's method for capturing new items is heavily inspired by John Wiegley
interruption of your work flow. It is an excellent way to add new notes and excellent remember package. It lets you store quick notes with little
tasks to Org files. The @code{remember.el} package is part of Emacs 23, not interruption of your work flow. Org lets you define templates for new
Emacs 22. See @uref{http://www.emacswiki.org/cgi-bin/wiki/RememberMode} for entries and associate them with different targets for storing notes.
more information.
Org significantly expands the possibilities of Remember: you may define
templates for different note types, and associate target files and headlines
with specific templates. It also allows you to select the location where a
note should be stored interactively, on the fly.
@menu @menu
* Setting up Remember for Org:: Some code for .emacs to get things going * Setting up a capture location:: Where notes will be stored
* Remember templates:: Define the outline of different note types * Using capture:: Commands to invoke and terminate capture
* Storing notes:: Directly get the note to where it belongs * Capture templates:: Define the outline of different note types
@end menu @end menu
@node Setting up Remember for Org, Remember templates, Remember, Remember @node Setting up a capture location, Using capture, Capture, Capture
@unnumberedsubsec Setting up Remember for Org @unnumberedsubsec Setting up a capture location
The following customization will tell Remember to use Org files as The following customization sets a default target@footnote{Using capture
target, and to create annotations compatible with Org links. templates, you can define more fine-grained capture locations, see
@ref{Capture templates}.} file for notes, and defines a global
key@footnote{Please select your own key, @kbd{C-c c} is only a suggestion.}
for capturing new stuff.
@smallexample @example
(org-remember-insinuate)
(setq org-directory "~/path/to/my/orgfiles/")
(setq org-default-notes-file (concat org-directory "/notes.org")) (setq org-default-notes-file (concat org-directory "/notes.org"))
(define-key global-map "\C-cr" 'org-remember) (define-key global-map "\C-cc" 'org-capture)
@end smallexample @end example
@noindent @node Using capture, Capture templates, Setting up a capture location, Capture
The last line binds the command @code{org-remember} to a global @unnumberedsubsec Using capture
key@footnote{Please select your own key, @kbd{C-c r} is only a
suggestion.}. @code{org-remember} basically just calls Remember,
but it makes a few things easier: if there is an active region, it will
automatically copy the region into the Remember buffer. It also allows
to jump to the buffer and location where Remember notes are being
stored: just call @code{org-remember} with a prefix argument. If you
use two prefix arguments, Org jumps to the location where the last
remember note was stored.
@node Remember templates, Storing notes, Setting up Remember for Org, Remember @table @kbd
@unnumberedsubsec Remember templates @item C-c c
Start a capture process. You will be placed into a narrowed indirect buffer
to edit the item.
@item C-c C-c
Once you are done entering information into the capture buffer,
@kbd{C-c C-c} will return you to the window configuration before the capture
process, so that you can resume your work without further distraction.
@item C-c C-w
Finalize by moving the entry to a refile location (@pxref{Refiling notes}).
@item C-c C-k
Abort the capture process and return to the previous state.
@end table
In combination with Org, you can use templates to generate @node Capture templates, , Using capture, Capture
different types of Remember notes. For example, if you would like @unnumberedsubsec Capture templates
to use one template to create general TODO entries, another one for
journal entries, and a third one for collecting random ideas, you could You can use templates to generate different types of capture notes, and to
store them in different places. For example, if you would like
to store new tasks under a heading @samp{Tasks} in file @file{TODO.org}, and
journal entries in a date tree in @file{journal.org} you could
use: use:
@smallexample @smallexample
(setq org-remember-templates (setq org-capture-templates
'(("Todo" ?t "* TODO %?\n %i\n %a" "~/org/TODO.org" "Tasks") '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks")
("Journal" ?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org") "* TODO %?\n %i\n %a")
("Idea" ?i "* %^@{Title@}\n %i\n %a" "~/org/JOURNAL.org" "New Ideas"))) ("j" "Journal" entry (file+datetree "~/org/journal.org")
"* %?\nEntered on %U\n %i\n %a")))
@end smallexample @end smallexample
@noindent In these entries, the first string is just a name, and the @noindent In these entries, the first string is the key to reach the
character specifies how to select the template. It is useful if the template, the second is a short description. Then follows the type of the
character is also the first letter of the name. The next string specifies entry and a definition of the target location for storing the note. Finally,
the template. Two more (optional) strings give the file in which, and the the template itself, a string with %-escapes to fill in information based on
headline under which, the new note should be stored. time and context.
When you call @kbd{M-x org-remember} (or @kbd{M-x remember}) to remember When you call @kbd{M-x org-capture}, Org will prompt for a key to select the
something, Org will prompt for a key to select the template (if you have template (if you have more than one template) and then prepare the buffer like
more than one template) and then prepare the buffer like
@smallexample @smallexample
* TODO * TODO
[[file:@var{link to where you called remember}]] [[file:@var{link to where you were when initiating capture}]]
@end smallexample @end smallexample
@noindent @noindent
@ -1623,18 +1624,7 @@ possibilities, consult the manual for more.
%u, %U @r{like the above, but inactive timestamps} %u, %U @r{like the above, but inactive timestamps}
@end smallexample @end smallexample
@node Storing notes, , Remember templates, Remember @node Refiling notes, Archiving, Capture, Capture - Refile - Archive
@unnumberedsubsec Storing notes
When you are finished preparing a note with Remember, you have to press
@kbd{C-c C-c} to file the note away.
The handler will store the note in the file and under the headline
specified in the template, or it will use the default file and headline. The
window configuration will be restored, sending you back to the working
context before the call to Remember.
@node Refiling notes, Archiving, Remember, Capture - Refile - Archive
@section Refiling notes @section Refiling notes
When reviewing the captured data, you may want to refile some of the entries When reviewing the captured data, you may want to refile some of the entries
@ -2432,10 +2422,8 @@ code.
@section iCalendar export @section iCalendar export
@table @kbd @table @kbd
@kindex C-c C-e i
@item C-c C-e i @item C-c C-e i
Create iCalendar entries for the current file in a @file{.ics} file. Create iCalendar entries for the current file in a @file{.ics} file.
@kindex C-c C-e c
@item C-c C-e c @item C-c C-e c
Create a single large iCalendar file from all files in Create a single large iCalendar file from all files in
@code{org-agenda-files} and write it to the file given by @code{org-agenda-files} and write it to the file given by

View file

@ -1,28 +1,26 @@
;;; ob-C.el --- org-babel functions for C and similar languages ;;; ob-C.el --- org-babel functions for C and similar languages
;; Copyright (C) 2010 Eric Schulte ;; Copyright (C) 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -34,10 +32,15 @@
;;; Code: ;;; Code:
(require 'ob) (require 'ob)
(require 'org)
(require 'cc-mode) (require 'cc-mode)
(declare-function org-entry-get "org" (&optional inherit))
(add-to-list 'org-babel-tangle-lang-exts '("c++" . "cpp")) (add-to-list 'org-babel-tangle-lang-exts '("c++" . "cpp"))
(defvar org-babel-default-header-args:C '())
(defvar org-babel-C-compiler "gcc" (defvar org-babel-C-compiler "gcc"
"Command used to compile a C source code file into an "Command used to compile a C source code file into an
executable.") executable.")
@ -46,6 +49,10 @@
"Command used to compile a c++ source code file into an "Command used to compile a c++ source code file into an
executable.") executable.")
(defvar org-babel-c-variant nil
"Internal variable used to hold which type of C (e.g. C or C++)
is currently being evaluated.")
(defun org-babel-execute:cpp (body params) (defun org-babel-execute:cpp (body params)
"Execute BODY according to PARAMS. This function calls "Execute BODY according to PARAMS. This function calls
`org-babel-execute:C'." `org-babel-execute:C'."
@ -54,22 +61,22 @@
(defun org-babel-execute:c++ (body params) (defun org-babel-execute:c++ (body params)
"Execute a block of C++ code with org-babel. This function is "Execute a block of C++ code with org-babel. This function is
called by `org-babel-execute-src-block'." called by `org-babel-execute-src-block'."
(let ((c-variant 'cpp)) (org-babel-C-execute body params))) (let ((org-babel-c-variant 'cpp)) (org-babel-C-execute body params)))
(defun org-babel-expand-body:c++ (body params &optional processed-params) (defun org-babel-expand-body:c++ (body params &optional processed-params)
"Expand a block of C++ code with org-babel according to it's "Expand a block of C++ code with org-babel according to it's
header arguments (calls `org-babel-C-expand')." header arguments (calls `org-babel-C-expand')."
(let ((c-variant 'cpp)) (org-babel-C-expand body params processed-params))) (let ((org-babel-c-variant 'cpp)) (org-babel-C-expand body params processed-params)))
(defun org-babel-execute:C (body params) (defun org-babel-execute:C (body params)
"Execute a block of C code with org-babel. This function is "Execute a block of C code with org-babel. This function is
called by `org-babel-execute-src-block'." called by `org-babel-execute-src-block'."
(let ((c-variant 'c)) (org-babel-C-execute body params))) (let ((org-babel-c-variant 'c)) (org-babel-C-execute body params)))
(defun org-babel-expand-body:c (body params &optional processed-params) (defun org-babel-expand-body:c (body params &optional processed-params)
"Expand a block of C code with org-babel according to it's "Expand a block of C code with org-babel according to it's
header arguments (calls `org-babel-C-expand')." header arguments (calls `org-babel-C-expand')."
(let ((c-variant 'c)) (org-babel-C-expand body params processed-params))) (let ((org-babel-c-variant 'c)) (org-babel-C-expand body params processed-params)))
(defun org-babel-C-execute (body params) (defun org-babel-C-execute (body params)
"This function should only be called by `org-babel-execute:C' "This function should only be called by `org-babel-execute:C'
@ -77,9 +84,9 @@ or `org-babel-execute:c++'."
(message "executing C source code block") (message "executing C source code block")
(let* ((processed-params (org-babel-process-params params)) (let* ((processed-params (org-babel-process-params params))
(tmp-src-file (make-temp-file "org-babel-C-src" nil (tmp-src-file (make-temp-file "org-babel-C-src" nil
(case c-variant (cond
('c ".c") ((equal org-babel-c-variant 'c) ".c")
('cpp ".cpp")))) ((equal org-babel-c-variant 'cpp) ".cpp"))))
(tmp-bin-file (make-temp-file "org-babel-C-bin")) (tmp-bin-file (make-temp-file "org-babel-C-bin"))
(tmp-out-file (make-temp-file "org-babel-C-out")) (tmp-out-file (make-temp-file "org-babel-C-out"))
(cmdline (cdr (assoc :cmdline params))) (cmdline (cdr (assoc :cmdline params)))
@ -93,9 +100,9 @@ or `org-babel-execute:c++'."
(org-babel-shell-command-on-region (org-babel-shell-command-on-region
(point-min) (point-max) (point-min) (point-max)
(format "%s -o %s %s %s" (format "%s -o %s %s %s"
(case c-variant (cond
('c org-babel-C-compiler) ((equal org-babel-c-variant 'c) org-babel-C-compiler)
('cpp org-babel-c++-compiler)) ((equal org-babel-c-variant 'cpp) org-babel-c++-compiler))
tmp-bin-file tmp-bin-file
(mapconcat 'identity (mapconcat 'identity
(if (listp flags) flags (list flags)) " ") (if (listp flags) flags (list flags)) " ")
@ -123,7 +130,7 @@ or `org-babel-execute:c++'."
(defun org-babel-C-expand (body params &optional processed-params) (defun org-babel-C-expand (body params &optional processed-params)
"Expand a block of C or C++ code with org-babel according to "Expand a block of C or C++ code with org-babel according to
it's header arguments." it's header arguments."
(let ((vars (second (or processed-params (let ((vars (nth 1 (or processed-params
(org-babel-process-params params)))) (org-babel-process-params params))))
(main-p (not (string= (cdr (assoc :main params)) "no"))) (main-p (not (string= (cdr (assoc :main params)) "no")))
(includes (or (cdr (assoc :includes params)) (includes (or (cdr (assoc :includes params))
@ -191,4 +198,7 @@ of the same value."
(provide 'ob-C) (provide 'ob-C)
;; arch-tag: 8f49e462-54e3-417b-9a8d-423864893b37
;;; ob-C.el ends here ;;; ob-C.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-R.el --- org-babel functions for R code evaluation ;;; ob-R.el --- org-babel functions for R code evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte, Dan Davison
;; Keywords: literate programming, reproducible research, R, statistics ;; Keywords: literate programming, reproducible research, R, statistics
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -37,16 +35,18 @@
pagecentre colormodel useDingbats horizontal) pagecentre colormodel useDingbats horizontal)
"R-specific header arguments.") "R-specific header arguments.")
(defvar org-babel-default-header-args:R '())
(defun org-babel-expand-body:R (body params &optional processed-params) (defun org-babel-expand-body:R (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." "Expand BODY according to PARAMS, return the expanded body."
(let* ((processed-params (or processed-params (let* ((processed-params (or processed-params
(org-babel-process-params params))) (org-babel-process-params params)))
(vars (mapcar (lambda (i) (cons (car (nth i (second processed-params))) (vars (mapcar (lambda (i) (cons (car (nth i (nth 1 processed-params)))
(org-babel-reassemble-table (org-babel-reassemble-table
(cdr (nth i (second processed-params))) (cdr (nth i (nth 1 processed-params)))
(cdr (nth i (fifth processed-params))) (cdr (nth i (nth 4 processed-params)))
(cdr (nth i (sixth processed-params)))))) (cdr (nth i (nth 5 processed-params))))))
(number-sequence 0 (1- (length (second processed-params)))))) (number-sequence 0 (1- (length (nth 1 processed-params))))))
(out-file (cdr (assoc :file params)))) (out-file (cdr (assoc :file params))))
(concat (concat
(if out-file (concat (org-babel-R-construct-graphics-device-call out-file params) "\n") "") (if out-file (concat (org-babel-R-construct-graphics-device-call out-file params) "\n") "")
@ -64,7 +64,7 @@ called by `org-babel-execute-src-block'."
(message "executing R source code block...") (message "executing R source code block...")
(save-excursion (save-excursion
(let* ((processed-params (org-babel-process-params params)) (let* ((processed-params (org-babel-process-params params))
(result-type (fourth processed-params)) (result-type (nth 3 processed-params))
(session (org-babel-R-initiate-session (first processed-params) params)) (session (org-babel-R-initiate-session (first processed-params) params))
(colnames-p (cdr (assoc :colnames params))) (colnames-p (cdr (assoc :colnames params)))
(rownames-p (cdr (assoc :rownames params))) (rownames-p (cdr (assoc :rownames params)))
@ -124,7 +124,7 @@ called by `org-babel-execute-src-block'."
(insert "\n")) (insert "\n"))
(format "%s <- read.table(\"%s\", header=%s, row.names=%s, sep=\"\\t\", as.is=TRUE)" (format "%s <- read.table(\"%s\", header=%s, row.names=%s, sep=\"\\t\", as.is=TRUE)"
name transition-file name transition-file
(if (or (eq (second value) 'hline) colnames-p) "TRUE" "FALSE") (if (or (eq (nth 1 value) 'hline) colnames-p) "TRUE" "FALSE")
(if rownames-p "1" "NULL"))) (if rownames-p "1" "NULL")))
(format "%s <- %s" name (org-babel-R-quote-tsv-field value)))) (format "%s <- %s" name (org-babel-R-quote-tsv-field value))))
@ -249,4 +249,7 @@ requested."
(provide 'ob-R) (provide 'ob-R)
;; arch-tag: cd4c7298-503b-450f-a3c2-f3e74b630237
;;; ob-R.el ends here ;;; ob-R.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-asymptote.el --- org-babel functions for asymptote evaluation ;;; ob-asymptote.el --- org-babel functions for asymptote evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -46,6 +44,7 @@
;;; Code: ;;; Code:
(require 'ob) (require 'ob)
(eval-when-compile (require 'cl))
(add-to-list 'org-babel-tangle-lang-exts '("asymptote" . "asy")) (add-to-list 'org-babel-tangle-lang-exts '("asymptote" . "asy"))
@ -55,7 +54,7 @@
(defun org-babel-expand-body:asymptote (body params &optional processed-params) (defun org-babel-expand-body:asymptote (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." "Expand BODY according to PARAMS, return the expanded body."
(let ((vars (second (or processed-params (let ((vars (nth 1 (or processed-params
(org-babel-process-params params))))) (org-babel-process-params params)))))
(concat (mapconcat 'org-babel-asymptote-var-to-asymptote vars "\n") (concat (mapconcat 'org-babel-asymptote-var-to-asymptote vars "\n")
"\n" body "\n"))) "\n" body "\n")))
@ -152,4 +151,7 @@ be of int type."
(or (anything-but-int data) 'int))) (or (anything-but-int data) 'int)))
(provide 'ob-asymptote) (provide 'ob-asymptote)
;; arch-tag: f2f5bd0d-78e8-412b-8e6c-6dadc94cc06b
;;; ob-asymptote.el ends here ;;; ob-asymptote.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-clojure.el --- org-babel functions for clojure evaluation ;;; ob-clojure.el --- org-babel functions for clojure evaluation
;; Copyright (C) 2009 Joel Boehland ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Joel Boehland ;; Author: Joel Boehland
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -47,6 +45,8 @@
(add-to-list 'org-babel-tangle-lang-exts '("clojure" . "clj")) (add-to-list 'org-babel-tangle-lang-exts '("clojure" . "clj"))
(defvar org-babel-default-header-args:clojure '())
(defvar org-babel-clojure-wrapper-method (defvar org-babel-clojure-wrapper-method
" "
(defn spit (defn spit
@ -270,7 +270,7 @@ last statement in BODY, as elisp."
(defun org-babel-expand-body:clojure (body params &optional processed-params) (defun org-babel-expand-body:clojure (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." "Expand BODY according to PARAMS, return the expanded body."
(org-babel-clojure-build-full-form (org-babel-clojure-build-full-form
body (second (or processed-params (org-babel-process-params params))))) body (nth 1 (or processed-params (org-babel-process-params params)))))
(defun org-babel-execute:clojure (body params) (defun org-babel-execute:clojure (body params)
"Execute a block of Clojure code with org-babel." "Execute a block of Clojure code with org-babel."
@ -278,9 +278,12 @@ last statement in BODY, as elisp."
(body (org-babel-expand-body:clojure body params processed-params)) (body (org-babel-expand-body:clojure body params processed-params))
(session (org-babel-clojure-initiate-session (first processed-params)))) (session (org-babel-clojure-initiate-session (first processed-params))))
(org-babel-reassemble-table (org-babel-reassemble-table
(org-babel-clojure-evaluate session body (fourth processed-params)) (org-babel-clojure-evaluate session body (nth 3 processed-params))
(org-babel-pick-name (nth 4 processed-params) (cdr (assoc :colnames params))) (org-babel-pick-name (nth 4 processed-params) (cdr (assoc :colnames params)))
(org-babel-pick-name (nth 5 processed-params) (cdr (assoc :rownames params)))))) (org-babel-pick-name (nth 5 processed-params) (cdr (assoc :rownames params))))))
(provide 'ob-clojure) (provide 'ob-clojure)
;; arch-tag: a43b33f2-653e-46b1-ac56-2805cf05b7d1
;;; ob-clojure.el ends here ;;; ob-clojure.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-css.el --- org-babel functions for css evaluation ;;; ob-css.el --- org-babel functions for css evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -32,6 +30,8 @@
;;; Code: ;;; Code:
(require 'ob) (require 'ob)
(defvar org-babel-default-header-args:css '())
(defun org-babel-expand-body:css (body params &optional processed-params) (defun org-babel-expand-body:css (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." body) "Expand BODY according to PARAMS, return the expanded body." body)
@ -46,4 +46,7 @@ called by `org-babel-execute-src-block'."
(error "CSS sessions are nonsensical")) (error "CSS sessions are nonsensical"))
(provide 'ob-css) (provide 'ob-css)
;; arch-tag: f4447e8c-50ab-41f9-b322-b7b9574d9fbe
;;; ob-css.el ends here ;;; ob-css.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-ditaa.el --- org-babel functions for ditaa evaluation ;;; ob-ditaa.el --- org-babel functions for ditaa evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -69,4 +67,7 @@ sessions."
(error "Ditaa does not support sessions")) (error "Ditaa does not support sessions"))
(provide 'ob-ditaa) (provide 'ob-ditaa)
;; arch-tag: 492cd006-07d9-4fac-bef6-5bb60b48842e
;;; ob-ditaa.el ends here ;;; ob-ditaa.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-dot.el --- org-babel functions for dot evaluation ;;; ob-dot.el --- org-babel functions for dot evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -68,4 +66,7 @@ called by `org-babel-execute-src-block'."
(error "Dot does not support sessions")) (error "Dot does not support sessions"))
(provide 'ob-dot) (provide 'ob-dot)
;; arch-tag: 817d0516-7b47-4f77-a8b2-2aadd8e4d0e2
;;; ob-dot.el ends here ;;; ob-dot.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-emacs-lisp.el --- org-babel functions for emacs-lisp code evaluation ;;; ob-emacs-lisp.el --- org-babel functions for emacs-lisp code evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -45,7 +43,6 @@
"Expand BODY according to PARAMS, return the expanded body." "Expand BODY according to PARAMS, return the expanded body."
(let* ((processed-params (or processed-params (org-babel-process-params params))) (let* ((processed-params (or processed-params (org-babel-process-params params)))
(vars (nth 1 processed-params)) (vars (nth 1 processed-params))
(processed-params (org-babel-process-params params))
(result-params (nth 2 processed-params)) (result-params (nth 2 processed-params))
(print-level nil) (print-length nil) (print-level nil) (print-length nil)
(body (if (> (length vars) 0) (body (if (> (length vars) 0)
@ -66,9 +63,13 @@
(let ((processed-params (org-babel-process-params params))) (let ((processed-params (org-babel-process-params params)))
(org-babel-reassemble-table (org-babel-reassemble-table
(eval (read (format "(progn %s)" (eval (read (format "(progn %s)"
(org-babel-expand-body:emacs-lisp body params)))) (org-babel-expand-body:emacs-lisp
body params processed-params))))
(org-babel-pick-name (nth 4 processed-params) (cdr (assoc :colnames params))) (org-babel-pick-name (nth 4 processed-params) (cdr (assoc :colnames params)))
(org-babel-pick-name (nth 5 processed-params) (cdr (assoc :rownames params))))))) (org-babel-pick-name (nth 5 processed-params) (cdr (assoc :rownames params)))))))
(provide 'ob-emacs-lisp) (provide 'ob-emacs-lisp)
;; arch-tag: e9a3acca-dc84-472a-9f5a-23c35befbcd6
;;; ob-emacs-lisp.el ends here ;;; ob-emacs-lisp.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-gnuplot.el --- org-babel functions for gnuplot evaluation ;;; ob-gnuplot.el --- org-babel functions for gnuplot evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -209,4 +207,7 @@ Pass PARAMS through to `orgtbl-to-generic' when exporting TABLE."
data-file) data-file)
(provide 'ob-gnuplot) (provide 'ob-gnuplot)
;; arch-tag: 50490ace-a9e1-4b29-a6e5-0db9f16c610b
;;; ob-gnuplot.el ends here ;;; ob-gnuplot.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-haskell.el --- org-babel functions for haskell evaluation ;;; ob-haskell.el --- org-babel functions for haskell evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -48,13 +46,15 @@
(add-to-list 'org-babel-tangle-lang-exts '("haskell" . "hs")) (add-to-list 'org-babel-tangle-lang-exts '("haskell" . "hs"))
(defvar org-babel-default-header-args:haskell '())
(defvar org-babel-haskell-lhs2tex-command "lhs2tex") (defvar org-babel-haskell-lhs2tex-command "lhs2tex")
(defvar org-babel-haskell-eoe "\"org-babel-haskell-eoe\"") (defvar org-babel-haskell-eoe "\"org-babel-haskell-eoe\"")
(defun org-babel-expand-body:haskell (body params &optional processed-params) (defun org-babel-expand-body:haskell (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." "Expand BODY according to PARAMS, return the expanded body."
(let (vars (second (or processed-params (org-babel-process-params params)))) (let (vars (nth 1 (or processed-params (org-babel-process-params params))))
(concat (concat
(mapconcat (mapconcat
(lambda (pair) (format "let %s = %s;" (car pair) (cdr pair))) (lambda (pair) (format "let %s = %s;" (car pair) (cdr pair)))
@ -65,8 +65,8 @@
(message "executing haskell source code block") (message "executing haskell source code block")
(let* ((processed-params (org-babel-process-params params)) (let* ((processed-params (org-babel-process-params params))
(session (first processed-params)) (session (first processed-params))
(vars (second processed-params)) (vars (nth 1 processed-params))
(result-type (fourth processed-params)) (result-type (nth 3 processed-params))
(full-body (org-babel-expand-body:haskell body params processed-params)) (full-body (org-babel-expand-body:haskell body params processed-params))
(session (org-babel-prep-session:haskell session params)) (session (org-babel-prep-session:haskell session params))
(raw (org-babel-comint-with-output (raw (org-babel-comint-with-output
@ -202,4 +202,7 @@ constructs (header arguments, no-web syntax etc...) are ignored."
(message "running %s" command) (shell-command command) (find-file tex-file)))) (message "running %s" command) (shell-command command) (find-file tex-file))))
(provide 'ob-haskell) (provide 'ob-haskell)
;; arch-tag: b53f75f3-ba1a-4b05-82d9-a2a0d4e70804
;;; ob-haskell.el ends here ;;; ob-haskell.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-latex.el --- org-babel functions for latex "evaluation" ;;; ob-latex.el --- org-babel functions for latex "evaluation"
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -49,7 +47,7 @@
(regexp-quote (format "%S" (car pair))) (regexp-quote (format "%S" (car pair)))
(if (stringp (cdr pair)) (if (stringp (cdr pair))
(cdr pair) (format "%S" (cdr pair))) (cdr pair) (format "%S" (cdr pair)))
body))) (second (org-babel-process-params params))) body))) (nth 1 (org-babel-process-params params)))
body) body)
(defun org-babel-execute:latex (body params) (defun org-babel-execute:latex (body params)
@ -139,4 +137,7 @@ from `org-export-as-pdf' in org-latex.el."
(error "Latex does not support sessions")) (error "Latex does not support sessions"))
(provide 'ob-latex) (provide 'ob-latex)
;; arch-tag: 1f13f7e2-26de-4c24-9274-9f331d4c6ff3
;;; ob-latex.el ends here ;;; ob-latex.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-matlab.el --- org-babel support for matlab evaluation ;;; ob-matlab.el --- org-babel support for matlab evaluation
;; Copyright (C) Dan Davison ;; Copyright (C) 2010 Free Software Foundation, Inc.
;; Author: Dan Davison ;; Author: Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -41,6 +39,8 @@
(require 'matlab) (require 'matlab)
(require 'ob-octave) (require 'ob-octave)
(defvar org-babel-default-header-args:matlab '())
(defvar org-babel-matlab-shell-command "matlab -nosplash" (defvar org-babel-matlab-shell-command "matlab -nosplash"
"Shell command to use to run matlab as an external process.") "Shell command to use to run matlab as an external process.")
@ -75,4 +75,7 @@ the initialized session."
(org-babel-octave-initiate-session session params 'matlab)) (org-babel-octave-initiate-session session params 'matlab))
(provide 'ob-matlab) (provide 'ob-matlab)
;; arch-tag: 6b234299-c1f7-4eb1-ace8-7b93344065ac
;;; ob-matlab.el ends here ;;; ob-matlab.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-ocaml.el --- org-babel functions for ocaml evaluation ;;; ob-ocaml.el --- org-babel functions for ocaml evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -43,12 +41,14 @@
(add-to-list 'org-babel-tangle-lang-exts '("ocaml" . "ml")) (add-to-list 'org-babel-tangle-lang-exts '("ocaml" . "ml"))
(defvar org-babel-default-header-args:ocaml '())
(defvar org-babel-ocaml-eoe-indicator "\"org-babel-ocaml-eoe\";;") (defvar org-babel-ocaml-eoe-indicator "\"org-babel-ocaml-eoe\";;")
(defvar org-babel-ocaml-eoe-output "org-babel-ocaml-eoe") (defvar org-babel-ocaml-eoe-output "org-babel-ocaml-eoe")
(defun org-babel-expand-body:ocaml (body params &optional processed-params) (defun org-babel-expand-body:ocaml (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." "Expand BODY according to PARAMS, return the expanded body."
(let ((vars (second (or processed-params (org-babel-process-params params))))) (let ((vars (nth 1 (or processed-params (org-babel-process-params params)))))
(concat (concat
(mapconcat (mapconcat
(lambda (pair) (format "let %s = %s;" (car pair) (cdr pair))) (lambda (pair) (format "let %s = %s;" (car pair) (cdr pair)))
@ -58,7 +58,7 @@
"Execute a block of Ocaml code with org-babel." "Execute a block of Ocaml code with org-babel."
(message "executing ocaml source code block") (message "executing ocaml source code block")
(let* ((processed-params (org-babel-process-params params)) (let* ((processed-params (org-babel-process-params params))
(vars (second processed-params)) (vars (nth 1 processed-params))
(full-body (org-babel-expand-body:ocaml body params processed-params)) (full-body (org-babel-expand-body:ocaml body params processed-params))
(session (org-babel-prep-session:ocaml session params)) (session (org-babel-prep-session:ocaml session params))
(raw (org-babel-comint-with-output (raw (org-babel-comint-with-output
@ -125,4 +125,7 @@ Emacs-lisp table, otherwise return the results as a string."
results))) results)))
(provide 'ob-ocaml) (provide 'ob-ocaml)
;; arch-tag: 2e815f4d-365e-4d69-b1df-dd17fdd7b7b7
;;; ob-ocaml.el ends here ;;; ob-ocaml.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-octave.el --- org-babel functions for octave and matlab evaluation ;;; ob-octave.el --- org-babel functions for octave and matlab evaluation
;; Copyright (C) Dan Davison ;; Copyright (C) 2010 Free Software Foundation, Inc.
;; Author: Dan Davison ;; Author: Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -35,12 +33,14 @@
(require 'ob) (require 'ob)
(require 'octave-inf) (require 'octave-inf)
(defvar org-babel-default-header-args:octave '())
(defvar org-babel-octave-shell-command "octave -q" (defvar org-babel-octave-shell-command "octave -q"
"Shell command to use to run octave as an external process.") "Shell command to use to run octave as an external process.")
(defun org-babel-expand-body:octave (body params &optional processed-params) (defun org-babel-expand-body:octave (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." "Expand BODY according to PARAMS, return the expanded body."
(let ((vars (second (or processed-params (org-babel-process-params params))))) (let ((vars (nth 1 (or processed-params (org-babel-process-params params)))))
(concat (concat
;; prepend code to define all arguments passed to the code block ;; prepend code to define all arguments passed to the code block
;; (may not be appropriate for all languages) ;; (may not be appropriate for all languages)
@ -58,9 +58,9 @@
;; set the session if the session variable is non-nil ;; set the session if the session variable is non-nil
(session (funcall (intern (format "org-babel-%s-initiate-session" lang)) (session (funcall (intern (format "org-babel-%s-initiate-session" lang))
(first processed-params) params)) (first processed-params) params))
(vars (second processed-params)) (vars (nth 1 processed-params))
(result-params (third processed-params)) (result-params (nth 2 processed-params))
(result-type (fourth processed-params)) (result-type (nth 3 processed-params))
(out-file (cdr (assoc :file params))) (out-file (cdr (assoc :file params)))
(augmented-body (org-babel-expand-body:octave body params processed-params)) (augmented-body (org-babel-expand-body:octave body params processed-params))
(result (org-babel-octave-evaluate session augmented-body result-type matlabp))) (result (org-babel-octave-evaluate session augmented-body result-type matlabp)))
@ -218,4 +218,7 @@ comment lines and then calls `org-babel-import-elisp-from-file'."
string)) string))
(provide 'ob-octave) (provide 'ob-octave)
;; arch-tag: d8e5f68b-ba13-440a-a495-b653e989e704
;;; ob-octave.el ends here ;;; ob-octave.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-perl.el --- org-babel functions for perl evaluation ;;; ob-perl.el --- org-babel functions for perl evaluation
;; Copyright (C) 2009 Dan Davison, Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation
;; Author: Dan Davison, Eric Schulte ;; Author: Dan Davison, Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -33,9 +31,11 @@
(add-to-list 'org-babel-tangle-lang-exts '("perl" . "pl")) (add-to-list 'org-babel-tangle-lang-exts '("perl" . "pl"))
(defvar org-babel-default-header-args:perl '())
(defun org-babel-expand-body:perl (body params &optional processed-params) (defun org-babel-expand-body:perl (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." "Expand BODY according to PARAMS, return the expanded body."
(let ((vars (second (or processed-params (org-babel-process-params params))))) (let ((vars (nth 1 (or processed-params (org-babel-process-params params)))))
(concat (concat
(mapconcat ;; define any variables (mapconcat ;; define any variables
(lambda (pair) (lambda (pair)
@ -50,9 +50,9 @@ called by `org-babel-execute-src-block'."
(message "executing Perl source code block") (message "executing Perl source code block")
(let* ((processed-params (org-babel-process-params params)) (let* ((processed-params (org-babel-process-params params))
(session (first processed-params)) (session (first processed-params))
(vars (second processed-params)) (vars (nth 1 processed-params))
(result-params (third processed-params)) (result-params (nth 2 processed-params))
(result-type (fourth processed-params)) (result-type (nth 3 processed-params))
(full-body (org-babel-expand-body:perl (full-body (org-babel-expand-body:perl
body params processed-params)) ;; then the source block body body params processed-params)) ;; then the source block body
(session (org-babel-perl-initiate-session session))) (session (org-babel-perl-initiate-session session)))
@ -126,4 +126,7 @@ last statement in BODY, as elisp."
(error "Sessions are not supported for Perl."))) (error "Sessions are not supported for Perl.")))
(provide 'ob-perl) (provide 'ob-perl)
;; arch-tag: 88ef9396-d857-4dc3-8946-5a72bdfa2337
;;; ob-perl.el ends here ;;; ob-perl.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-python.el --- org-babel functions for python evaluation ;;; ob-python.el --- org-babel functions for python evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation
;; Author: Eric Schulte ;; Author: Eric Schulte, Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -36,6 +34,8 @@
(add-to-list 'org-babel-tangle-lang-exts '("python" . "py")) (add-to-list 'org-babel-tangle-lang-exts '("python" . "py"))
(defvar org-babel-default-header-args:python '())
(defun org-babel-expand-body:python (body params &optional processed-params) (defun org-babel-expand-body:python (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." "Expand BODY according to PARAMS, return the expanded body."
(concat (concat
@ -44,7 +44,7 @@
(format "%s=%s" (format "%s=%s"
(car pair) (car pair)
(org-babel-python-var-to-python (cdr pair)))) (org-babel-python-var-to-python (cdr pair))))
(second (or processed-params (org-babel-process-params params))) "\n") (nth 1 (or processed-params (org-babel-process-params params))) "\n")
"\n" (org-babel-trim body) "\n")) "\n" (org-babel-trim body) "\n"))
(defun org-babel-execute:python (body params) (defun org-babel-execute:python (body params)
@ -53,8 +53,8 @@ called by `org-babel-execute-src-block'."
(message "executing Python source code block") (message "executing Python source code block")
(let* ((processed-params (org-babel-process-params params)) (let* ((processed-params (org-babel-process-params params))
(session (org-babel-python-initiate-session (first processed-params))) (session (org-babel-python-initiate-session (first processed-params)))
(result-params (third processed-params)) (result-params (nth 2 processed-params))
(result-type (fourth processed-params)) (result-type (nth 3 processed-params))
(full-body (org-babel-expand-body:python (full-body (org-babel-expand-body:python
body params processed-params)) ;; then the source block body body params processed-params)) ;; then the source block body
(result (org-babel-python-evaluate session full-body result-type))) (result (org-babel-python-evaluate session full-body result-type)))
@ -252,4 +252,7 @@ last statement in BODY, as elisp."
string)) string))
(provide 'ob-python) (provide 'ob-python)
;; arch-tag: f19b6c3d-dfcb-4a1a-9ce0-45ade1ebc212
;;; ob-python.el ends here ;;; ob-python.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-ruby.el --- org-babel functions for ruby evaluation ;;; ob-ruby.el --- org-babel functions for ruby evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -44,9 +42,11 @@
(add-to-list 'org-babel-tangle-lang-exts '("ruby" . "rb")) (add-to-list 'org-babel-tangle-lang-exts '("ruby" . "rb"))
(defvar org-babel-default-header-args:ruby '())
(defun org-babel-expand-body:ruby (body params &optional processed-params) (defun org-babel-expand-body:ruby (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." "Expand BODY according to PARAMS, return the expanded body."
(let ((vars (second (or processed-params (org-babel-process-params params))))) (let ((vars (nth 1 (or processed-params (org-babel-process-params params)))))
(concat (concat
(mapconcat ;; define any variables (mapconcat ;; define any variables
(lambda (pair) (lambda (pair)
@ -61,8 +61,8 @@ called by `org-babel-execute-src-block'."
(message "executing Ruby source code block") (message "executing Ruby source code block")
(let* ((processed-params (org-babel-process-params params)) (let* ((processed-params (org-babel-process-params params))
(session (org-babel-ruby-initiate-session (first processed-params))) (session (org-babel-ruby-initiate-session (first processed-params)))
(result-params (third processed-params)) (result-params (nth 2 processed-params))
(result-type (fourth processed-params)) (result-type (nth 3 processed-params))
(full-body (org-babel-expand-body:ruby (full-body (org-babel-expand-body:ruby
body params processed-params)) body params processed-params))
(result (org-babel-ruby-evaluate session full-body result-type))) (result (org-babel-ruby-evaluate session full-body result-type)))
@ -232,4 +232,7 @@ last statement in BODY, as elisp."
string)) string))
(provide 'ob-ruby) (provide 'ob-ruby)
;; arch-tag: 3e9726db-4520-49e2-b263-e8f571ac88f5
;;; ob-ruby.el ends here ;;; ob-ruby.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-sass.el --- org-babel functions for the sass css generation language ;;; ob-sass.el --- org-babel functions for the sass css generation language
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -44,6 +42,8 @@
(require 'ob) (require 'ob)
(require 'sass-mode) (require 'sass-mode)
(defvar org-babel-default-header-args:sass '())
(defun org-babel-expand-body:sass (body params &optional processed-params) (defun org-babel-expand-body:sass (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." body) "Expand BODY according to PARAMS, return the expanded body." body)
@ -66,4 +66,7 @@ called by `org-babel-execute-src-block'."
(error "Sass does not support sessions")) (error "Sass does not support sessions"))
(provide 'ob-sass) (provide 'ob-sass)
;; arch-tag: 2954b169-eef4-45ce-a8e5-3e619f0f07ac
;;; ob-sass.el ends here ;;; ob-sass.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-screen.el --- org-babel support for interactive terminal ;;; ob-screen.el --- org-babel support for interactive terminal
;; Copyright (C) 2009 Benjamin Andresen ;; Copyright (C) 2009, 2010 Free Software Foundation
;; Author: Benjamin Andresen ;; Author: Benjamin Andresen
;; Keywords: literate programming, interactive shell ;; Keywords: literate programming, interactive shell
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -65,7 +63,7 @@ In case you want to use a different screen than one selected by your $PATH")
"Prepare SESSION according to the header arguments specified in PARAMS." "Prepare SESSION according to the header arguments specified in PARAMS."
(let* ((processed-params (org-babel-process-params params)) (let* ((processed-params (org-babel-process-params params))
(session (first processed-params)) (session (first processed-params))
(vars (second processed-params)) (vars (nth 1 processed-params))
(socket (org-babel-screen-session-socketname session)) (socket (org-babel-screen-session-socketname session))
(vars (org-babel-ref-variables params)) (vars (org-babel-ref-variables params))
(cmd (cdr (assoc :cmd params))) (cmd (cdr (assoc :cmd params)))
@ -141,4 +139,7 @@ flicker."
"DOESN'T work."))))) "DOESN'T work.")))))
(provide 'ob-screen) (provide 'ob-screen)
;; arch-tag: 908e5afe-89a0-4f27-b982-23f1f2e3bac9
;;; ob-screen.el ends here ;;; ob-screen.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-sh.el --- org-babel functions for shell evaluation ;;; ob-sh.el --- org-babel functions for shell evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -41,6 +39,8 @@
(declare-function org-babel-comint-with-output "ob-comint" (meta &rest body)) (declare-function org-babel-comint-with-output "ob-comint" (meta &rest body))
(declare-function orgtbl-to-generic "org-table" (table params)) (declare-function orgtbl-to-generic "org-table" (table params))
(defvar org-babel-default-header-args:sh '())
(defvar org-babel-sh-command "sh" (defvar org-babel-sh-command "sh"
"Command used to invoke a shell. This will be passed to "Command used to invoke a shell. This will be passed to
`shell-command-on-region'") `shell-command-on-region'")
@ -196,4 +196,7 @@ last statement in BODY."
string) string)
(provide 'ob-sh) (provide 'ob-sh)
;; arch-tag: 416dd531-c230-4b0a-a5bf-8d948f990f2d
;;; ob-sh.el ends here ;;; ob-sh.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-sql.el --- org-babel functions for sql evaluation ;;; ob-sql.el --- org-babel functions for sql evaluation
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -47,6 +45,8 @@
;;; Code: ;;; Code:
(require 'ob) (require 'ob)
(defvar org-babel-default-header-args:sql '())
(defun org-babel-expand-body:sql (body params &optional processed-params) (defun org-babel-expand-body:sql (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body." body) "Expand BODY according to PARAMS, return the expanded body." body)
@ -81,4 +81,7 @@ called by `org-babel-execute-src-block'."
(error "sql sessions not yet implemented")) (error "sql sessions not yet implemented"))
(provide 'ob-sql) (provide 'ob-sql)
;; arch-tag: a43ff944-6de1-4566-a83c-626814e3dad2
;;; ob-sql.el ends here ;;; ob-sql.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-sqlite.el --- org-babel functions for sqlite database interaction ;;; ob-sqlite.el --- org-babel functions for sqlite database interaction
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2010 Free Software Foundation
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -31,6 +29,8 @@
;;; Code: ;;; Code:
(require 'ob) (require 'ob)
(defvar org-babel-default-header-args:sqlite '())
(defun org-babel-expand-body:sqlite (defun org-babel-expand-body:sqlite
(body params &optional processed-params) body) (body params &optional processed-params) body)
@ -88,4 +88,7 @@ called by `org-babel-execute-src-block'."
(error "sqlite sessions not yet implemented")) (error "sqlite sessions not yet implemented"))
(provide 'ob-sqlite) (provide 'ob-sqlite)
;; arch-tag: 5c03d7f2-0f72-48b8-bbd1-35aafea248ac
;;; ob-sqlite.el ends here ;;; ob-sqlite.el ends here

View file

@ -1,34 +1,32 @@
;;; ob-comint.el --- org-babel functions for interaction with comint buffers ;;; ob-comint.el --- org-babel functions for interaction with comint buffers
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research, comint ;; Keywords: literate programming, reproducible research, comint
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
;; These functions build on comint to ease the sending and receiving ;; These functions build on comint to ease the sending and receiving
;; of commands and results from comint buffers. ;; of commands and results from comint buffers.
;;
;; Note that the buffers in this file are analogous to sessions in ;; Note that the buffers in this file are analogous to sessions in
;; org-babel at large. ;; org-babel at large.
@ -135,4 +133,7 @@ blocks of code)."
(accept-process-output (get-buffer-process buffer))))) (accept-process-output (get-buffer-process buffer)))))
(provide 'ob-comint) (provide 'ob-comint)
;; arch-tag: 9adddce6-0864-4be3-b0b5-6c5157dc7889
;;; ob-comint.el ends here ;;; ob-comint.el ends here

View file

@ -1,32 +1,32 @@
;;; ob-exp.el --- Exportation of org-babel source blocks ;;; ob-exp.el --- Exportation of org-babel source blocks
;; Copyright (C) 2009 Eric Schulte, Dan Davison ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte, Dan Davison ;; Author: Eric Schulte, Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
;; for more information see the comments in org-babel.el ;; See the online documentation for more information
;;
;; http://orgmode.org/worg/org-contrib/babel/
;;; Code: ;;; Code:
(require 'ob) (require 'ob)
@ -286,4 +286,7 @@ results into the buffer."
"")))))) ""))))))
(provide 'ob-exp) (provide 'ob-exp)
;; arch-tag: 523abf4c-76d1-44ed-9f27-e3bddf34bf0f
;;; ob-exp.el ends here ;;; ob-exp.el ends here

View file

@ -1,35 +1,33 @@
;;; ob-keys.el --- key bindings for org-babel ;;; ob-keys.el --- key bindings for org-babel
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
;; Add some org-babel keybindings to the org-mode keymap for exposing ;; Add org-babel keybindings to the org-mode keymap for exposing
;; org-babel functions. These will all share the common C-c M-b ;; org-babel functions. These will all share a common prefix. See
;; prefix. See the value of `org-babel-key-bindings' for a list of ;; the value of `org-babel-key-bindings' for a list of interactive
;; interactive functions and their associated keys. ;; functions and their associated keys.
;;; Code: ;;; Code:
(require 'ob) (require 'ob)
@ -78,4 +76,7 @@ with keys. Each element of this list will add an entry to the
a-list placed behind the generic `org-babel-key-prefix'.") a-list placed behind the generic `org-babel-key-prefix'.")
(provide 'ob-keys) (provide 'ob-keys)
;; arch-tag: 01e348ee-4906-46fa-839a-6b7b6f989048
;;; ob-keys.el ends here ;;; ob-keys.el ends here

View file

@ -1,32 +1,32 @@
;;; ob-lob.el --- The Library of Babel: off-the-shelf functions for data analysis and plotting using org-babel ;;; ob-lob.el --- functions supporting the Library of Babel
;; Copyright (C) 2009 Eric Schulte, Dan Davison ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte, Dan Davison ;; Author: Eric Schulte, Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
;; See org-babel.org in the parent directory for more information ;; See the online documentation for more information
;;
;; http://orgmode.org/worg/org-contrib/babel/
;;; Code: ;;; Code:
(require 'ob) (require 'ob)
@ -111,4 +111,7 @@ the word 'call'."
nil (list "emacs-lisp" "results" params nil nil (nth 2 info))))) nil (list "emacs-lisp" "results" params nil nil (nth 2 info)))))
(provide 'ob-lob) (provide 'ob-lob)
;; arch-tag: ce0712c9-2147-4019-ba3f-42341b8b474b
;;; ob-lob.el ends here ;;; ob-lob.el ends here

View file

@ -1,55 +1,52 @@
;;; ob-ref.el --- org-babel functions for referencing external data ;;; ob-ref.el --- org-babel functions for referencing external data
;; Copyright (C) 2009 Eric Schulte, Dan Davison ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte, Dan Davison ;; Author: Eric Schulte, Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
;; Functions for referencing data from the header arguments of a ;; Functions for referencing data from the header arguments of a
;; org-babel block. The syntax of such a reference should be ;; org-babel block. The syntax of such a reference should be
;;
;; #+VAR: variable-name=file:resource-id ;; #+VAR: variable-name=file:resource-id
;;
;; - variable-name :: the name of the variable to which the value ;; - variable-name :: the name of the variable to which the value
;; will be assigned ;; will be assigned
;;
;; - file :: path to the file containing the resource, or omitted if ;; - file :: path to the file containing the resource, or omitted if
;; resource is in the current file ;; resource is in the current file
;;
;; - resource-id :: the id or name of the resource ;; - resource-id :: the id or name of the resource
;;
;; So an example of a simple src block referencing table data in the ;; So an example of a simple src block referencing table data in the
;; same file would be ;; same file would be
;;
;; #+TBLNAME: sandbox ;; #+TBLNAME: sandbox
;; | 1 | 2 | 3 | ;; | 1 | 2 | 3 |
;; | 4 | org-babel | 6 | ;; | 4 | org-babel | 6 |
;; ;;
;; #+begin_src emacs-lisp :var table=sandbox ;; #+begin_src emacs-lisp :var table=sandbox
;; (message table) ;; (message table)
;; #+end_src ;; #+end_src
;;
;;; Code: ;;; Code:
(require 'ob) (require 'ob)
@ -231,4 +228,7 @@ types are tables and source blocks."
((looking-at org-babel-result-regexp) 'results-line))) ((looking-at org-babel-result-regexp) 'results-line)))
(provide 'ob-ref) (provide 'ob-ref)
;; arch-tag: ace4a4f4-ea38-4dac-8fe6-6f52fcc43b6d
;;; ob-ref.el ends here ;;; ob-ref.el ends here

View file

@ -1,43 +1,41 @@
;;; ob-table.el --- integration for calling org-babel functions from tables ;;; ob-table.el --- support for calling org-babel functions from tables
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
;; Should allow calling functions from org-mode tables using the ;; Should allow calling functions from org-mode tables using the
;; function `sbe' as so... ;; function `sbe' as so...
;;
;; #+begin_src emacs-lisp :results silent ;; #+begin_src emacs-lisp :results silent
;; (defun fibbd (n) (if (< n 2) 1 (+ (fibbd (- n 1)) (fibbd (- n 2))))) ;; (defun fibbd (n) (if (< n 2) 1 (+ (fibbd (- n 1)) (fibbd (- n 2)))))
;; #+end_src ;; #+end_src
;;
;; #+srcname: fibbd ;; #+srcname: fibbd
;; #+begin_src emacs-lisp :var n=2 :results silent ;; #+begin_src emacs-lisp :var n=2 :results silent
;; (fibbd n) ;; (fibbd n)
;; #+end_src ;; #+end_src
;;
;; | original | fibbd | ;; | original | fibbd |
;; |----------+--------| ;; |----------+--------|
;; | 0 | | ;; | 0 | |
@ -104,4 +102,7 @@ example above."
"")))) ""))))
(provide 'ob-table) (provide 'ob-table)
;; arch-tag: 4234cc7c-4fc8-4e92-abb0-2892de1a493b
;;; ob-table.el ends here ;;; ob-table.el ends here

View file

@ -1,28 +1,26 @@
;;; ob-tangle.el --- Extract source code from org-mode files ;;; ob-tangle.el --- extract source code from org-mode files
;; Copyright (C) 2009 Eric Schulte ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte ;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
@ -262,4 +260,7 @@ form
(insert-comment (format "%s ends here" source-name))))) (insert-comment (format "%s ends here" source-name)))))
(provide 'ob-tangle) (provide 'ob-tangle)
;; arch-tag: 413ced93-48f5-4216-86e4-3fc5df8c8f24
;;; ob-tangle.el ends here ;;; ob-tangle.el ends here

View file

@ -1,32 +1,32 @@
;;; ob.el --- working with code blocks in org-mode ;;; ob.el --- working with code blocks in org-mode
;; Copyright (C) 2009 Eric Schulte, Dan Davison ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte, Dan Davison ;; Author: Eric Schulte, Dan Davison
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org ;; Homepage: http://orgmode.org
;; Version: 0.01 ;; Version: 0.01
;;; License: ;; This file is part of GNU Emacs.
;; This program is free software; you can redistribute it and/or modify ;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option) ;; the Free Software Foundation, either version 3 of the License, or
;; any later version. ;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary: ;;; Commentary:
;; See org-babel.org in the parent directory for more information ;; See the online documentation for more information
;;
;; http://orgmode.org/worg/org-contrib/babel/
;;; Code: ;;; Code:
(eval-when-compile (require 'cl)) (eval-when-compile (require 'cl))
@ -1605,4 +1605,7 @@ specifies the value of ERROR-BUFFER."
exit-status)) exit-status))
(provide 'ob) (provide 'ob)
;; arch-tag: 01a7ebee-06c5-4ee4-a709-e660d28c0af1
;;; ob.el ends here ;;; ob.el ends here

View file

@ -556,7 +556,7 @@ already gone."
((eq (car target) 'file+regexp) ((eq (car target) 'file+regexp)
(set-buffer (org-capture-target-buffer (nth 1 target))) (set-buffer (org-capture-target-buffer (nth 1 target)))
(goto-char (point-min)) (goto-char (point-min))
(if (re-search-forward (nth 1 target) nil t) (if (re-search-forward (nth 2 target) nil t)
(progn (progn
(goto-char (match-beginning 0)) (goto-char (match-beginning 0))
(setq target-entry-p (and (org-mode-p) (org-at-heading-p)))) (setq target-entry-p (and (org-mode-p) (org-at-heading-p))))
@ -584,8 +584,7 @@ already gone."
((eq (car target) 'clock) ((eq (car target) 'clock)
(if (and (markerp org-clock-hd-marker) (if (and (markerp org-clock-hd-marker)
(marker-buffer org-clock-hd-marker)) (marker-buffer org-clock-hd-marker))
(progn (set-buffer (org-capture-target-buffer (progn (set-buffer (marker-buffer org-clock-hd-marker))
(marker-buffer org-clock-hd-marker)))
(goto-char org-clock-hd-marker)) (goto-char org-clock-hd-marker))
(error "No running clock that could be used as capture target"))) (error "No running clock that could be used as capture target")))

View file

@ -43,6 +43,10 @@
"Return the value of symbol VAR if it is bound, else nil." "Return the value of symbol VAR if it is bound, else nil."
`(and (boundp (quote ,var)) ,var)) `(and (boundp (quote ,var)) ,var))
(defun org-not-nil (v)
"Is V not nil, and also not the string \"nil\"?"
(and v (not (equal v "nil"))))
(defmacro org-unmodified (&rest body) (defmacro org-unmodified (&rest body)
"Execute body without changing `buffer-modified-p'. "Execute body without changing `buffer-modified-p'.
Also, do not record undo information." Also, do not record undo information."

View file

@ -4226,7 +4226,7 @@ this function is called."
(orgtbl-to-generic table (org-combine-plists params2 params)))) (orgtbl-to-generic table (org-combine-plists params2 params))))
(defun orgtbl-to-html (table params) (defun orgtbl-to-html (table params)
"Convert the orgtbl-mode TABLE to LaTeX. "Convert the orgtbl-mode TABLE to HTML.
TABLE is a list, each entry either the symbol `hline' for a horizontal TABLE is a list, each entry either the symbol `hline' for a horizontal
separator line, or a list of fields for that line. separator line, or a list of fields for that line.
PARAMS is a property list of parameters that can influence the conversion. PARAMS is a property list of parameters that can influence the conversion.

View file

@ -10881,7 +10881,7 @@ changes. Such blocking occurs when:
(let* ((pos (point)) (let* ((pos (point))
(parent-pos (and (org-up-heading-safe) (point)))) (parent-pos (and (org-up-heading-safe) (point))))
(if (not parent-pos) (throw 'dont-block t)) ; no parent (if (not parent-pos) (throw 'dont-block t)) ; no parent
(when (and (org-entry-get (point) "ORDERED") (when (and (org-not-nil (org-entry-get (point) "ORDERED"))
(forward-line 1) (forward-line 1)
(re-search-forward org-not-done-heading-regexp pos t)) (re-search-forward org-not-done-heading-regexp pos t))
(throw 'dont-block nil)) ; block, there is an older sibling not done. (throw 'dont-block nil)) ; block, there is an older sibling not done.
@ -10893,7 +10893,7 @@ changes. Such blocking occurs when:
(setq pos (point)) (setq pos (point))
(setq parent-pos (and (org-up-heading-safe) (point))) (setq parent-pos (and (org-up-heading-safe) (point)))
(if (not parent-pos) (throw 'dont-block t)) ; no parent (if (not parent-pos) (throw 'dont-block t)) ; no parent
(when (and (org-entry-get (point) "ORDERED") (when (and (org-not-nil (org-entry-get (point) "ORDERED"))
(forward-line 1) (forward-line 1)
(re-search-forward org-not-done-heading-regexp pos t)) (re-search-forward org-not-done-heading-regexp pos t))
(throw 'dont-block nil)))))))) ; block, older sibling not done. (throw 'dont-block nil)))))))) ; block, older sibling not done.
@ -18560,8 +18560,8 @@ beyond the end of the headline."
(if (bobp) (if (bobp)
nil nil
(backward-char 1) (backward-char 1)
(if (org-invisible-p) (if (org-truely-invisible-p)
(while (and (not (bobp)) (org-invisible-p)) (while (and (not (bobp)) (org-truely-invisible-p))
(backward-char 1) (backward-char 1)
(beginning-of-line 1)) (beginning-of-line 1))
(forward-char 1)))) (forward-char 1))))
@ -18779,6 +18779,17 @@ interactive command with similar behavior."
(outline-invisible-p) (outline-invisible-p)
(get-char-property (point) 'invisible))) (get-char-property (point) 'invisible)))
(defun org-truely-invisible-p ()
"Check if point is at a character currently not visible.
This version does not only check the character property, but also
`visible-mode'."
;; Early versions of noutline don't have `outline-invisible-p'.
(if (org-bound-and-true-p visible-mode)
nil
(if (fboundp 'outline-invisible-p)
(outline-invisible-p)
(get-char-property (point) 'invisible))))
(defun org-invisible-p2 () (defun org-invisible-p2 ()
"Check if point is at a character currently not visible." "Check if point is at a character currently not visible."
(save-excursion (save-excursion