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
* Remember:: Capture new tasks/ideas with little interruption
* Capture::
* Refiling notes:: Moving a tree from one place to another
* Archiving:: What to do with finished projects
Remember
Capture
* Setting up Remember for Org:: Some code for .emacs to get things going
* Remember templates:: Define the outline of different note types
* Storing notes:: Directly get the note to where it belongs
* Setting up a capture location:: Where notes will be stored
* Using capture:: Commands to invoke and terminate capture
* Capture templates:: Define the outline of different note types
Agenda Views
@ -1525,89 +1525,90 @@ Cave's Date and Time tutorial}@*
An important part of any organization system is the ability to quickly
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
related to a task (@i{attachments}) in a special directory. Once in the
system, tasks and projects need to be moved around. Moving completed project
trees to an archive file keeps the system compact and fast.
Org defines a capture process to create tasks. It stores files related to a
task (@i{attachments}) in a special directory. Once in the system, tasks and
projects need to be moved around. Moving completed project trees to an
archive file keeps the system compact and fast.
@menu
* Remember:: Capture new tasks/ideas with little interruption
* Capture::
* Refiling notes:: Moving a tree from one place to another
* Archiving:: What to do with finished projects
@end menu
@node Remember, Refiling notes, Capture - Refile - Archive, Capture - Refile - Archive
@section Remember
@node Capture, Refiling notes, Capture - Refile - Archive, Capture - Refile - Archive
@section Capture
The Remember package by John Wiegley lets you store quick notes with little
interruption of your work flow. It is an excellent way to add new notes and
tasks to Org files. The @code{remember.el} package is part of Emacs 23, not
Emacs 22. See @uref{http://www.emacswiki.org/cgi-bin/wiki/RememberMode} for
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.
Org's method for capturing new items is heavily inspired by John Wiegley
excellent remember package. It lets you store quick notes with little
interruption of your work flow. Org lets you define templates for new
entries and associate them with different targets for storing notes.
@menu
* Setting up Remember for Org:: Some code for .emacs to get things going
* Remember templates:: Define the outline of different note types
* Storing notes:: Directly get the note to where it belongs
* Setting up a capture location:: Where notes will be stored
* Using capture:: Commands to invoke and terminate capture
* Capture templates:: Define the outline of different note types
@end menu
@node Setting up Remember for Org, Remember templates, Remember, Remember
@unnumberedsubsec Setting up Remember for Org
@node Setting up a capture location, Using capture, Capture, Capture
@unnumberedsubsec Setting up a capture location
The following customization will tell Remember to use Org files as
target, and to create annotations compatible with Org links.
The following customization sets a default target@footnote{Using capture
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
(org-remember-insinuate)
(setq org-directory "~/path/to/my/orgfiles/")
@example
(setq org-default-notes-file (concat org-directory "/notes.org"))
(define-key global-map "\C-cr" 'org-remember)
@end smallexample
(define-key global-map "\C-cc" 'org-capture)
@end example
@noindent
The last line binds the command @code{org-remember} to a global
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 Using capture, Capture templates, Setting up a capture location, Capture
@unnumberedsubsec Using capture
@node Remember templates, Storing notes, Setting up Remember for Org, Remember
@unnumberedsubsec Remember templates
@table @kbd
@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
different types of Remember notes. For example, if you would like
to use one template to create general TODO entries, another one for
journal entries, and a third one for collecting random ideas, you could
@node Capture templates, , Using capture, Capture
@unnumberedsubsec Capture templates
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:
@smallexample
(setq org-remember-templates
'(("Todo" ?t "* TODO %?\n %i\n %a" "~/org/TODO.org" "Tasks")
("Journal" ?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org")
("Idea" ?i "* %^@{Title@}\n %i\n %a" "~/org/JOURNAL.org" "New Ideas")))
(setq org-capture-templates
'(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks")
"* TODO %?\n %i\n %a")
("j" "Journal" entry (file+datetree "~/org/journal.org")
"* %?\nEntered on %U\n %i\n %a")))
@end smallexample
@noindent In these entries, the first string is just a name, and the
character specifies how to select the template. It is useful if the
character is also the first letter of the name. The next string specifies
the template. Two more (optional) strings give the file in which, and the
headline under which, the new note should be stored.
@noindent In these entries, the first string is the key to reach the
template, the second is a short description. Then follows the type of the
entry and a definition of the target location for storing the note. Finally,
the template itself, a string with %-escapes to fill in information based on
time and context.
When you call @kbd{M-x org-remember} (or @kbd{M-x remember}) to remember
something, Org will prompt for a key to select the template (if you have
more than one template) and then prepare the buffer like
When you call @kbd{M-x org-capture}, Org will prompt for a key to select the
template (if you have more than one template) and then prepare the buffer like
@smallexample
* TODO
[[file:@var{link to where you called remember}]]
[[file:@var{link to where you were when initiating capture}]]
@end smallexample
@noindent
@ -1623,18 +1624,7 @@ possibilities, consult the manual for more.
%u, %U @r{like the above, but inactive timestamps}
@end smallexample
@node Storing notes, , Remember templates, Remember
@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
@node Refiling notes, Archiving, Capture, Capture - Refile - Archive
@section Refiling notes
When reviewing the captured data, you may want to refile some of the entries
@ -2432,10 +2422,8 @@ code.
@section iCalendar export
@table @kbd
@kindex C-c C-e i
@item C-c C-e i
Create iCalendar entries for the current file in a @file{.ics} file.
@kindex C-c C-e c
@item C-c C-e c
Create a single large iCalendar file from all files in
@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
;; Copyright (C) 2010 Eric Schulte
;; Copyright (C) 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -34,10 +32,15 @@
;;; Code:
(require 'ob)
(require 'org)
(require 'cc-mode)
(declare-function org-entry-get "org" (&optional inherit))
(add-to-list 'org-babel-tangle-lang-exts '("c++" . "cpp"))
(defvar org-babel-default-header-args:C '())
(defvar org-babel-C-compiler "gcc"
"Command used to compile a C source code file into an
executable.")
@ -46,6 +49,10 @@
"Command used to compile a c++ source code file into an
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)
"Execute BODY according to PARAMS. This function calls
`org-babel-execute:C'."
@ -54,22 +61,22 @@
(defun org-babel-execute:c++ (body params)
"Execute a block of C++ code with org-babel. This function is
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)
"Expand a block of C++ code with org-babel according to it's
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)
"Execute a block of C code with org-babel. This function is
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)
"Expand a block of C code with org-babel according to it's
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)
"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")
(let* ((processed-params (org-babel-process-params params))
(tmp-src-file (make-temp-file "org-babel-C-src" nil
(case c-variant
('c ".c")
('cpp ".cpp"))))
(cond
((equal org-babel-c-variant 'c) ".c")
((equal org-babel-c-variant 'cpp) ".cpp"))))
(tmp-bin-file (make-temp-file "org-babel-C-bin"))
(tmp-out-file (make-temp-file "org-babel-C-out"))
(cmdline (cdr (assoc :cmdline params)))
@ -93,9 +100,9 @@ or `org-babel-execute:c++'."
(org-babel-shell-command-on-region
(point-min) (point-max)
(format "%s -o %s %s %s"
(case c-variant
('c org-babel-C-compiler)
('cpp org-babel-c++-compiler))
(cond
((equal org-babel-c-variant 'c) org-babel-C-compiler)
((equal org-babel-c-variant 'cpp) org-babel-c++-compiler))
tmp-bin-file
(mapconcat 'identity
(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)
"Expand a block of C or C++ code with org-babel according to
it's header arguments."
(let ((vars (second (or processed-params
(let ((vars (nth 1 (or processed-params
(org-babel-process-params params))))
(main-p (not (string= (cdr (assoc :main params)) "no")))
(includes (or (cdr (assoc :includes params))
@ -191,4 +198,7 @@ of the same value."
(provide 'ob-C)
;; arch-tag: 8f49e462-54e3-417b-9a8d-423864893b37
;;; ob-C.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -37,16 +35,18 @@
pagecentre colormodel useDingbats horizontal)
"R-specific header arguments.")
(defvar org-babel-default-header-args:R '())
(defun org-babel-expand-body:R (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body."
(let* ((processed-params (or processed-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
(cdr (nth i (second processed-params)))
(cdr (nth i (fifth processed-params)))
(cdr (nth i (sixth processed-params))))))
(number-sequence 0 (1- (length (second processed-params))))))
(cdr (nth i (nth 1 processed-params)))
(cdr (nth i (nth 4 processed-params)))
(cdr (nth i (nth 5 processed-params))))))
(number-sequence 0 (1- (length (nth 1 processed-params))))))
(out-file (cdr (assoc :file params))))
(concat
(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...")
(save-excursion
(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))
(colnames-p (cdr (assoc :colnames params)))
(rownames-p (cdr (assoc :rownames params)))
@ -124,7 +124,7 @@ called by `org-babel-execute-src-block'."
(insert "\n"))
(format "%s <- read.table(\"%s\", header=%s, row.names=%s, sep=\"\\t\", as.is=TRUE)"
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")))
(format "%s <- %s" name (org-babel-R-quote-tsv-field value))))
@ -249,4 +249,7 @@ requested."
(provide 'ob-R)
;; arch-tag: cd4c7298-503b-450f-a3c2-f3e74b630237
;;; ob-R.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -46,6 +44,7 @@
;;; Code:
(require 'ob)
(eval-when-compile (require 'cl))
(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)
"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)))))
(concat (mapconcat 'org-babel-asymptote-var-to-asymptote vars "\n")
"\n" body "\n")))
@ -152,4 +151,7 @@ be of int type."
(or (anything-but-int data) 'int)))
(provide 'ob-asymptote)
;; arch-tag: f2f5bd0d-78e8-412b-8e6c-6dadc94cc06b
;;; ob-asymptote.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -47,6 +45,8 @@
(add-to-list 'org-babel-tangle-lang-exts '("clojure" . "clj"))
(defvar org-babel-default-header-args:clojure '())
(defvar org-babel-clojure-wrapper-method
"
(defn spit
@ -270,7 +270,7 @@ last statement in BODY, as elisp."
(defun org-babel-expand-body:clojure (body params &optional processed-params)
"Expand BODY according to PARAMS, return the expanded body."
(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)
"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))
(session (org-babel-clojure-initiate-session (first processed-params))))
(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 5 processed-params) (cdr (assoc :rownames params))))))
(provide 'ob-clojure)
;; arch-tag: a43b33f2-653e-46b1-ac56-2805cf05b7d1
;;; ob-clojure.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -32,6 +30,8 @@
;;; Code:
(require 'ob)
(defvar org-babel-default-header-args:css '())
(defun org-babel-expand-body:css (body params &optional processed-params)
"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"))
(provide 'ob-css)
;; arch-tag: f4447e8c-50ab-41f9-b322-b7b9574d9fbe
;;; ob-css.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -69,4 +67,7 @@ sessions."
(error "Ditaa does not support sessions"))
(provide 'ob-ditaa)
;; arch-tag: 492cd006-07d9-4fac-bef6-5bb60b48842e
;;; ob-ditaa.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -68,4 +66,7 @@ called by `org-babel-execute-src-block'."
(error "Dot does not support sessions"))
(provide 'ob-dot)
;; arch-tag: 817d0516-7b47-4f77-a8b2-2aadd8e4d0e2
;;; ob-dot.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -45,7 +43,6 @@
"Expand BODY according to PARAMS, return the expanded body."
(let* ((processed-params (or processed-params (org-babel-process-params params)))
(vars (nth 1 processed-params))
(processed-params (org-babel-process-params params))
(result-params (nth 2 processed-params))
(print-level nil) (print-length nil)
(body (if (> (length vars) 0)
@ -66,9 +63,13 @@
(let ((processed-params (org-babel-process-params params)))
(org-babel-reassemble-table
(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 5 processed-params) (cdr (assoc :rownames params)))))))
(provide 'ob-emacs-lisp)
;; arch-tag: e9a3acca-dc84-472a-9f5a-23c35befbcd6
;;; ob-emacs-lisp.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -209,4 +207,7 @@ Pass PARAMS through to `orgtbl-to-generic' when exporting TABLE."
data-file)
(provide 'ob-gnuplot)
;; arch-tag: 50490ace-a9e1-4b29-a6e5-0db9f16c610b
;;; ob-gnuplot.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -48,13 +46,15 @@
(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-eoe "\"org-babel-haskell-eoe\"")
(defun org-babel-expand-body:haskell (body params &optional processed-params)
"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
(mapconcat
(lambda (pair) (format "let %s = %s;" (car pair) (cdr pair)))
@ -65,8 +65,8 @@
(message "executing haskell source code block")
(let* ((processed-params (org-babel-process-params params))
(session (first processed-params))
(vars (second processed-params))
(result-type (fourth processed-params))
(vars (nth 1 processed-params))
(result-type (nth 3 processed-params))
(full-body (org-babel-expand-body:haskell body params processed-params))
(session (org-babel-prep-session:haskell session params))
(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))))
(provide 'ob-haskell)
;; arch-tag: b53f75f3-ba1a-4b05-82d9-a2a0d4e70804
;;; ob-haskell.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -49,7 +47,7 @@
(regexp-quote (format "%S" (car pair)))
(if (stringp (cdr pair))
(cdr pair) (format "%S" (cdr pair)))
body))) (second (org-babel-process-params params)))
body))) (nth 1 (org-babel-process-params params)))
body)
(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"))
(provide 'ob-latex)
;; arch-tag: 1f13f7e2-26de-4c24-9274-9f331d4c6ff3
;;; ob-latex.el ends here

View File

@ -1,28 +1,26 @@
;;; ob-matlab.el --- org-babel support for matlab evaluation
;; Copyright (C) Dan Davison
;; Copyright (C) 2010 Free Software Foundation, Inc.
;; Author: Dan Davison
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -41,6 +39,8 @@
(require 'matlab)
(require 'ob-octave)
(defvar org-babel-default-header-args:matlab '())
(defvar org-babel-matlab-shell-command "matlab -nosplash"
"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))
(provide 'ob-matlab)
;; arch-tag: 6b234299-c1f7-4eb1-ace8-7b93344065ac
;;; ob-matlab.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -43,12 +41,14 @@
(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-output "org-babel-ocaml-eoe")
(defun org-babel-expand-body:ocaml (body params &optional processed-params)
"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
(mapconcat
(lambda (pair) (format "let %s = %s;" (car pair) (cdr pair)))
@ -58,7 +58,7 @@
"Execute a block of Ocaml code with org-babel."
(message "executing ocaml source code block")
(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))
(session (org-babel-prep-session:ocaml session params))
(raw (org-babel-comint-with-output
@ -125,4 +125,7 @@ Emacs-lisp table, otherwise return the results as a string."
results)))
(provide 'ob-ocaml)
;; arch-tag: 2e815f4d-365e-4d69-b1df-dd17fdd7b7b7
;;; ob-ocaml.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -35,12 +33,14 @@
(require 'ob)
(require 'octave-inf)
(defvar org-babel-default-header-args:octave '())
(defvar org-babel-octave-shell-command "octave -q"
"Shell command to use to run octave as an external process.")
(defun org-babel-expand-body:octave (body params &optional processed-params)
"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
;; prepend code to define all arguments passed to the code block
;; (may not be appropriate for all languages)
@ -58,9 +58,9 @@
;; set the session if the session variable is non-nil
(session (funcall (intern (format "org-babel-%s-initiate-session" lang))
(first processed-params) params))
(vars (second processed-params))
(result-params (third processed-params))
(result-type (fourth processed-params))
(vars (nth 1 processed-params))
(result-params (nth 2 processed-params))
(result-type (nth 3 processed-params))
(out-file (cdr (assoc :file params)))
(augmented-body (org-babel-expand-body:octave body params processed-params))
(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))
(provide 'ob-octave)
;; arch-tag: d8e5f68b-ba13-440a-a495-b653e989e704
;;; ob-octave.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -33,9 +31,11 @@
(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)
"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
(mapconcat ;; define any variables
(lambda (pair)
@ -50,9 +50,9 @@ called by `org-babel-execute-src-block'."
(message "executing Perl source code block")
(let* ((processed-params (org-babel-process-params params))
(session (first processed-params))
(vars (second processed-params))
(result-params (third processed-params))
(result-type (fourth processed-params))
(vars (nth 1 processed-params))
(result-params (nth 2 processed-params))
(result-type (nth 3 processed-params))
(full-body (org-babel-expand-body:perl
body params processed-params)) ;; then the source block body
(session (org-babel-perl-initiate-session session)))
@ -126,4 +126,7 @@ last statement in BODY, as elisp."
(error "Sessions are not supported for Perl.")))
(provide 'ob-perl)
;; arch-tag: 88ef9396-d857-4dc3-8946-5a72bdfa2337
;;; ob-perl.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -36,6 +34,8 @@
(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)
"Expand BODY according to PARAMS, return the expanded body."
(concat
@ -44,7 +44,7 @@
(format "%s=%s"
(car 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"))
(defun org-babel-execute:python (body params)
@ -53,8 +53,8 @@ called by `org-babel-execute-src-block'."
(message "executing Python source code block")
(let* ((processed-params (org-babel-process-params params))
(session (org-babel-python-initiate-session (first processed-params)))
(result-params (third processed-params))
(result-type (fourth processed-params))
(result-params (nth 2 processed-params))
(result-type (nth 3 processed-params))
(full-body (org-babel-expand-body:python
body params processed-params)) ;; then the source block body
(result (org-babel-python-evaluate session full-body result-type)))
@ -252,4 +252,7 @@ last statement in BODY, as elisp."
string))
(provide 'ob-python)
;; arch-tag: f19b6c3d-dfcb-4a1a-9ce0-45ade1ebc212
;;; ob-python.el ends here

View File

@ -1,28 +1,26 @@
;;; ob-ruby.el --- org-babel functions for ruby evaluation
;; Copyright (C) 2009 Eric Schulte
;; Copyright (C) 2009, 2010 Free Software Foundation
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -44,9 +42,11 @@
(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)
"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
(mapconcat ;; define any variables
(lambda (pair)
@ -61,8 +61,8 @@ called by `org-babel-execute-src-block'."
(message "executing Ruby source code block")
(let* ((processed-params (org-babel-process-params params))
(session (org-babel-ruby-initiate-session (first processed-params)))
(result-params (third processed-params))
(result-type (fourth processed-params))
(result-params (nth 2 processed-params))
(result-type (nth 3 processed-params))
(full-body (org-babel-expand-body:ruby
body params processed-params))
(result (org-babel-ruby-evaluate session full-body result-type)))
@ -232,4 +232,7 @@ last statement in BODY, as elisp."
string))
(provide 'ob-ruby)
;; arch-tag: 3e9726db-4520-49e2-b263-e8f571ac88f5
;;; ob-ruby.el ends here

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -44,6 +42,8 @@
(require 'ob)
(require 'sass-mode)
(defvar org-babel-default-header-args:sass '())
(defun org-babel-expand-body:sass (body params &optional processed-params)
"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"))
(provide 'ob-sass)
;; arch-tag: 2954b169-eef4-45ce-a8e5-3e619f0f07ac
;;; ob-sass.el ends here

View File

@ -1,28 +1,26 @@
;;; ob-screen.el --- org-babel support for interactive terminal
;; Copyright (C) 2009 Benjamin Andresen
;; Copyright (C) 2009, 2010 Free Software Foundation
;; Author: Benjamin Andresen
;; Keywords: literate programming, interactive shell
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; 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."
(let* ((processed-params (org-babel-process-params params))
(session (first processed-params))
(vars (second processed-params))
(vars (nth 1 processed-params))
(socket (org-babel-screen-session-socketname session))
(vars (org-babel-ref-variables params))
(cmd (cdr (assoc :cmd params)))
@ -141,4 +139,7 @@ flicker."
"DOESN'T work.")))))
(provide 'ob-screen)
;; arch-tag: 908e5afe-89a0-4f27-b982-23f1f2e3bac9
;;; ob-screen.el ends here

View File

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

View File

@ -1,28 +1,26 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -47,6 +45,8 @@
;;; Code:
(require 'ob)
(defvar org-babel-default-header-args:sql '())
(defun org-babel-expand-body:sql (body params &optional processed-params)
"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"))
(provide 'ob-sql)
;; arch-tag: a43ff944-6de1-4566-a83c-626814e3dad2
;;; ob-sql.el ends here

View File

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

View File

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

View File

@ -1,32 +1,32 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; 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:
(require 'ob)
@ -286,4 +286,7 @@ results into the buffer."
""))))))
(provide 'ob-exp)
;; arch-tag: 523abf4c-76d1-44ed-9f27-e3bddf34bf0f
;;; ob-exp.el ends here

View File

@ -1,35 +1,33 @@
;;; ob-keys.el --- key bindings for org-babel
;; Copyright (C) 2009 Eric Schulte
;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
;; Author: Eric Schulte
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; Add some org-babel keybindings to the org-mode keymap for exposing
;; org-babel functions. These will all share the common C-c M-b
;; prefix. See the value of `org-babel-key-bindings' for a list of
;; interactive functions and their associated keys.
;; Add org-babel keybindings to the org-mode keymap for exposing
;; org-babel functions. These will all share a common prefix. See
;; the value of `org-babel-key-bindings' for a list of interactive
;; functions and their associated keys.
;;; Code:
(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'.")
(provide 'ob-keys)
;; arch-tag: 01e348ee-4906-46fa-839a-6b7b6f989048
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; 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:
(require 'ob)
@ -111,4 +111,7 @@ the word 'call'."
nil (list "emacs-lisp" "results" params nil nil (nth 2 info)))))
(provide 'ob-lob)
;; arch-tag: ce0712c9-2147-4019-ba3f-42341b8b474b
;;; ob-lob.el ends here

View File

@ -1,55 +1,52 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; Functions for referencing data from the header arguments of a
;; org-babel block. The syntax of such a reference should be
;;
;; #+VAR: variable-name=file:resource-id
;;
;; - variable-name :: the name of the variable to which the value
;; will be assigned
;;
;; - file :: path to the file containing the resource, or omitted if
;; resource is in the current file
;;
;; - resource-id :: the id or name of the resource
;;
;; So an example of a simple src block referencing table data in the
;; same file would be
;;
;; #+TBLNAME: sandbox
;; | 1 | 2 | 3 |
;; | 4 | org-babel | 6 |
;;
;; #+begin_src emacs-lisp :var table=sandbox
;; (message table)
;; (message table)
;; #+end_src
;;
;;; Code:
(require 'ob)
@ -231,4 +228,7 @@ types are tables and source blocks."
((looking-at org-babel-result-regexp) 'results-line)))
(provide 'ob-ref)
;; arch-tag: ace4a4f4-ea38-4dac-8fe6-6f52fcc43b6d
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; Should allow calling functions from org-mode tables using the
;; function `sbe' as so...
;;
;; #+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
;;
;; #+srcname: fibbd
;; #+begin_src emacs-lisp :var n=2 :results silent
;; (fibbd n)
;; #+end_src
;;
;; | original | fibbd |
;; |----------+--------|
;; | 0 | |
@ -104,4 +102,7 @@ example above."
""))))
(provide 'ob-table)
;; arch-tag: 4234cc7c-4fc8-4e92-abb0-2892de1a493b
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
@ -262,4 +260,7 @@ form
(insert-comment (format "%s ends here" source-name)))))
(provide 'ob-tangle)
;; arch-tag: 413ced93-48f5-4216-86e4-3fc5df8c8f24
;;; ob-tangle.el ends here

View File

@ -1,32 +1,32 @@
;;; 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
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; 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
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; 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
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; 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:
(eval-when-compile (require 'cl))
@ -1605,4 +1605,7 @@ specifies the value of ERROR-BUFFER."
exit-status))
(provide 'ob)
;; arch-tag: 01a7ebee-06c5-4ee4-a709-e660d28c0af1
;;; ob.el ends here

View File

@ -556,7 +556,7 @@ already gone."
((eq (car target) 'file+regexp)
(set-buffer (org-capture-target-buffer (nth 1 target)))
(goto-char (point-min))
(if (re-search-forward (nth 1 target) nil t)
(if (re-search-forward (nth 2 target) nil t)
(progn
(goto-char (match-beginning 0))
(setq target-entry-p (and (org-mode-p) (org-at-heading-p))))
@ -584,8 +584,7 @@ already gone."
((eq (car target) 'clock)
(if (and (markerp org-clock-hd-marker)
(marker-buffer org-clock-hd-marker))
(progn (set-buffer (org-capture-target-buffer
(marker-buffer org-clock-hd-marker)))
(progn (set-buffer (marker-buffer org-clock-hd-marker))
(goto-char org-clock-hd-marker))
(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."
`(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)
"Execute body without changing `buffer-modified-p'.
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))))
(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
separator line, or a list of fields for that line.
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))
(parent-pos (and (org-up-heading-safe) (point))))
(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)
(re-search-forward org-not-done-heading-regexp pos t))
(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 parent-pos (and (org-up-heading-safe) (point)))
(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)
(re-search-forward org-not-done-heading-regexp pos t))
(throw 'dont-block nil)))))))) ; block, older sibling not done.
@ -18560,8 +18560,8 @@ beyond the end of the headline."
(if (bobp)
nil
(backward-char 1)
(if (org-invisible-p)
(while (and (not (bobp)) (org-invisible-p))
(if (org-truely-invisible-p)
(while (and (not (bobp)) (org-truely-invisible-p))
(backward-char 1)
(beginning-of-line 1))
(forward-char 1))))
@ -18779,6 +18779,17 @@ interactive command with similar behavior."
(outline-invisible-p)
(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 ()
"Check if point is at a character currently not visible."
(save-excursion