[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org db67c7e 55/85: Move some ob-*el files to the new or
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org db67c7e 55/85: Move some ob-*el files to the new org-contrib repo |
Date: |
Mon, 27 Sep 2021 15:57:49 -0400 (EDT) |
branch: externals/org
commit db67c7e9231d35e34341431bb4fc8ba213f1d811
Author: Bastien <bzg@gnu.org>
Commit: Bastien <bzg@gnu.org>
Move some ob-*el files to the new org-contrib repo
* lisp/ob-vala.el:
* lisp/ob-shen.el:
* lisp/ob-picolisp.el:
* lisp/ob-mscgen.el:
* lisp/ob-ledger.el:
* lisp/ob-io.el:
* lisp/ob-hledger.el:
* lisp/ob-ebnf.el:
* lisp/ob-coq.el:
* lisp/ob-asymptote.el:
* lisp/ob-abc.el:
* lisp/ob-J.el: Delete.
See https://list.orgmode.org/87bl9rq29m.fsf@gnu.org/
---
etc/ORG-NEWS | 25 +++++--
lisp/ob-J.el | 189 ---------------------------------------------------
lisp/ob-abc.el | 94 -------------------------
lisp/ob-asymptote.el | 138 -------------------------------------
lisp/ob-coq.el | 81 ----------------------
lisp/ob-ebnf.el | 81 ----------------------
lisp/ob-hledger.el | 69 -------------------
lisp/ob-io.el | 105 ----------------------------
lisp/ob-ledger.el | 69 -------------------
lisp/ob-mscgen.el | 82 ----------------------
lisp/ob-picolisp.el | 185 -------------------------------------------------
lisp/ob-shen.el | 79 ---------------------
lisp/ob-vala.el | 116 -------------------------------
13 files changed, 20 insertions(+), 1293 deletions(-)
diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 6a61496..80a8bc3 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -3,12 +3,8 @@ ORG NEWS -- history of user-visible changes. -*- mode: org;
coding: utf-8 -*-
#+STARTUP: overview
#+LINK: doc https://orgmode.org/worg/doc.html#%s
-<<<<<<< HEAD
-#+LINK: git https://code.orgmode.org/bzg/org-mode/commit/%s
-#+LINK: msg https://orgmode.org/list/%s/
-=======
+#+LINK: msg https://list.orgmode.org/%s/
#+LINK: git https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=%s
->>>>>>> bugfix
Copyright (C) 2012-2021 Free Software Foundation, Inc.
See the end of the file for license conditions.
@@ -70,6 +66,25 @@ Hopefully problems have been fixed. See
[[https://orgmode.org/worg/org-faq.html
Setting ~org-speed-commands-user~ in your configuration won't have any
effect. Please set ~org-speed-commands~ instead, which see.
+*** Some =ob-*.el= files have migrate to the org-contrib repo
+
+These files have been moved to https://git.sr.ht/~bzg/org-contrib:
+
+- ob-vala.el
+- ob-shen.el
+- ob-picolisp.el
+- ob-mscgen.el
+- ob-ledger.el
+- ob-io.el
+- ob-hledger.el
+- ob-ebnf.el
+- ob-coq.el
+- ob-asymptote.el
+- ob-abc.el
+- ob-J.el
+
+See the discussion [[msg::87bl9rq29m.fsf@gnu.org][here]].
+
** New options and settings
*** Option ~org-hidden-keywords~ now also applies to #+SUBTITLE:
diff --git a/lisp/ob-J.el b/lisp/ob-J.el
deleted file mode 100644
index 306ad0f..0000000
--- a/lisp/ob-J.el
+++ /dev/null
@@ -1,189 +0,0 @@
-;;; ob-J.el --- Babel Functions for J -*- lexical-binding: t;
-*-
-
-;; Copyright (C) 2011-2021 Free Software Foundation, Inc.
-
-;; Author: Oleh Krehel
-;; Maintainer: Joseph Novakovich <josephnovakovich@gmail.com>
-;; Keywords: literate programming, reproducible research
-;; Homepage: https://orgmode.org
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Org-Babel support for evaluating J code.
-;;
-;; Session interaction depends on `j-console' from package `j-mode'
-;; (available in MELPA).
-
-;;; Code:
-
-(require 'ob)
-(require 'org-macs)
-
-(declare-function j-console-ensure-session "ext:j-console" ())
-
-(defcustom org-babel-J-command "jconsole"
- "Command to call J."
- :group 'org-babel
- :version "26.1"
- :package-version '(Org . "9.0")
- :type 'string)
-
-(defun org-babel-expand-body:J (body _params &optional _processed-params)
- "Expand BODY according to PARAMS, return the expanded body.
-PROCESSED-PARAMS isn't used yet."
- (org-babel-J-interleave-echos-except-functions body))
-
-(defun org-babel-J-interleave-echos (body)
- "Interleave echo',' between each source line of BODY."
- (mapconcat #'identity (split-string body "\n") "\necho','\n"))
-
-(defun org-babel-J-interleave-echos-except-functions (body)
- "Interleave echo',' between source lines of BODY that aren't functions."
- (if (obj-string-match-m
"\\(?:^\\|\n\\)[^\n]*\\(?:0\\|1\\|2\\|3\\|4\\|dyad\\) : 0\n.*\n)\\(?:\n\\|$\\)"
body)
- (let ((s1 (substring body 0 (match-beginning 0)))
- (s2 (match-string 0 body))
- (s3 (substring body (match-end 0))))
- (concat
- (if (string= s1 "")
- ""
- (concat (org-babel-J-interleave-echos s1)
- "\necho','\n"))
- s2
- "\necho','\n"
- (org-babel-J-interleave-echos-except-functions s3)))
- (org-babel-J-interleave-echos body)))
-
-(defalias 'org-babel-execute:j 'org-babel-execute:J)
-
-(defun org-babel-execute:J (body params)
- "Execute a block of J code BODY.
-PARAMS are given by org-babel.
-This function is called by `org-babel-execute-src-block'."
- (message "executing J source code block")
- (let* ((processed-params (org-babel-process-params params))
- (sessionp (cdr (assq :session params)))
- (sit-time (let ((sit (assq :sit params)))
- (if sit (cdr sit) .1)))
- (full-body (org-babel-expand-body:J
- body params processed-params))
- (tmp-script-file (org-babel-temp-file "J-src")))
- (org-babel-j-initiate-session sessionp)
- (org-babel-J-strip-whitespace
- (if (string= sessionp "none")
- (progn
- (with-temp-file tmp-script-file
- (insert full-body))
- (org-babel-eval (format "%s < %s" org-babel-J-command
tmp-script-file) ""))
- (org-babel-J-eval-string full-body sit-time)))))
-
-(defun org-babel-J-eval-string (str sit-time)
- "Sends STR to the `j-console-cmd' session and execute it."
- (let ((session (j-console-ensure-session)))
- (with-current-buffer (process-buffer session)
- (goto-char (point-max))
- (insert (format "\n%s\n" str))
- (let ((beg (point)))
- (comint-send-input)
- (sit-for sit-time)
- (buffer-substring-no-properties
- beg (point-max))))))
-
-(defun org-babel-J-strip-whitespace (str)
- "Remove whitespace from jconsole output STR."
- (mapconcat
- #'identity
- (delete "" (mapcar
- #'org-babel-J-print-block
- (split-string str "^ *,\n" t)))
- "\n\n"))
-
-(defun obj-get-string-alignment (str)
- "Return a number to describe STR alignment.
-STR represents a table.
-Positive/negative/zero result means right/left/undetermined.
-Don't trust first line."
- (let* ((str (org-trim str))
- (lines (split-string str "\n" t))
- n1 n2)
- (cond ((<= (length lines) 1)
- 0)
- ((= (length lines) 2)
- ;; numbers are right-aligned
- (if (and
- (numberp (read (car lines)))
- (numberp (read (cadr lines)))
- (setq n1 (obj-match-second-space-right (nth 0 lines)))
- (setq n2 (obj-match-second-space-right (nth 1 lines))))
- n2
- 0))
- ((not (obj-match-second-space-left (nth 0 lines)))
- 0)
- ((and
- (setq n1 (obj-match-second-space-left (nth 1 lines)))
- (setq n2 (obj-match-second-space-left (nth 2 lines)))
- (= n1 n2))
- n1)
- ((and
- (setq n1 (obj-match-second-space-right (nth 1 lines)))
- (setq n2 (obj-match-second-space-right (nth 2 lines)))
- (= n1 n2))
- (- n1))
- (t 0))))
-
-(defun org-babel-J-print-block (x)
- "Prettify jconsole output X."
- (let* ((x (org-trim x))
- (a (obj-get-string-alignment x))
- (lines (split-string x "\n" t))
- b)
- (cond ((< a 0)
- (setq b (obj-match-second-space-right (nth 0 lines)))
- (concat (make-string (+ a b) ? ) x))
- ((> a 0)
- (setq b (obj-match-second-space-left (nth 0 lines)))
- (concat (make-string (- a b) ? ) x))
- (t x))))
-
-(defun obj-match-second-space-left (s)
- "Return position of leftmost space in second space block of S or nil."
- (and (string-match "^ *[^ ]+\\( \\)" s)
- (match-beginning 1)))
-
-(defun obj-match-second-space-right (s)
- "Return position of rightmost space in second space block of S or nil."
- (and (string-match "^ *[^ ]+ *\\( \\)[^ ]" s)
- (match-beginning 1)))
-
-(defun obj-string-match-m (regexp string &optional start)
- "Call (string-match REGEXP STRING START).
-REGEXP is modified so that .* matches newlines as well."
- (string-match
- (replace-regexp-in-string "\\.\\*" "[\0-\377[:nonascii:]]*" regexp)
- string
- start))
-
-(defun org-babel-j-initiate-session (&optional session)
- "Initiate a J session.
-SESSION is a parameter given by org-babel."
- (unless (string= session "none")
- (require 'j-console)
- (j-console-ensure-session)))
-
-(provide 'ob-J)
-
-;;; ob-J.el ends here
diff --git a/lisp/ob-abc.el b/lisp/ob-abc.el
deleted file mode 100644
index 83a38a8..0000000
--- a/lisp/ob-abc.el
+++ /dev/null
@@ -1,94 +0,0 @@
-;;; ob-abc.el --- Org Babel Functions for ABC -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2013-2021 Free Software Foundation, Inc.
-
-;; Author: William Waites
-;; Maintainer: William Waites
-;; Keywords: literate programming, music
-;; Homepage: https://www.tardis.ed.ac.uk/~wwaites
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;;; This file adds support to Org Babel for music in ABC notation.
-;;; It requires that the abcm2ps program is installed.
-;;; See http://moinejf.free.fr/
-
-;;; Code:
-
-(require 'ob)
-
-;; optionally define a file extension for this language
-
-(add-to-list 'org-babel-tangle-lang-exts '("abc" . "abc"))
-
-;; optionally declare default header arguments for this language
-(defvar org-babel-default-header-args:abc
- '((:results . "file") (:exports . "results"))
- "Default arguments to use when evaluating an ABC source block.")
-
-(defun org-babel-expand-body:abc (body params)
- "Expand BODY according to PARAMS, return the expanded body."
- (let ((vars (org-babel--get-vars params)))
- (mapc
- (lambda (pair)
- (let ((name (symbol-name (car pair)))
- (value (cdr pair)))
- (setq body
- (replace-regexp-in-string
- (concat "\\$" (regexp-quote name))
- (if (stringp value) value (format "%S" value))
- body))))
- vars)
- body))
-
-(defun org-babel-execute:abc (body params)
- "Execute a block of ABC code with org-babel.
-This function is called by `org-babel-execute-src-block'."
- (message "executing Abc source code block")
- (let* ((cmdline (cdr (assq :cmdline params)))
- (out-file (let ((file (cdr (assq :file params))))
- (if file (replace-regexp-in-string "\\.pdf$" ".ps" file)
- (error "abc code block requires :file header
argument"))))
- (in-file (org-babel-temp-file "abc-"))
- (render (concat "abcm2ps" " " cmdline
- " -O " (org-babel-process-file-name out-file)
- " " (org-babel-process-file-name in-file))))
- (with-temp-file in-file (insert (org-babel-expand-body:abc body params)))
- (org-babel-eval render "")
- ;;; handle where abcm2ps changes the file name (to support multiple files
- (when (or (string= (file-name-extension out-file) "eps")
- (string= (file-name-extension out-file) "svg"))
- (rename-file (concat
- (file-name-sans-extension out-file) "001."
- (file-name-extension out-file))
- out-file t))
- ;;; if we were asked for a pdf...
- (when (string= (file-name-extension (cdr (assq :file params))) "pdf")
- (org-babel-eval (concat "ps2pdf" " " out-file " " (cdr (assq :file
params))) ""))
- ;;; indicate that the file has been written
- nil))
-
-;; This function should be used to assign any variables in params in
-;; the context of the session environment.
-(defun org-babel-prep-session:abc (_session _params)
- "Return an error because abc does not support sessions."
- (error "ABC does not support sessions"))
-
-(provide 'ob-abc)
-
-;;; ob-abc.el ends here
diff --git a/lisp/ob-asymptote.el b/lisp/ob-asymptote.el
deleted file mode 100644
index 5c89c5d..0000000
--- a/lisp/ob-asymptote.el
+++ /dev/null
@@ -1,138 +0,0 @@
-;;; ob-asymptote.el --- Babel Functions for Asymptote -*- lexical-binding: t;
-*-
-
-;; Copyright (C) 2009-2021 Free Software Foundation, Inc.
-
-;; Author: Eric Schulte
-;; Maintainer: Luc Pellissier <luc.pellissier@crans.org>
-;; Keywords: literate programming, reproducible research
-;; Homepage: https://orgmode.org
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Org-Babel support for evaluating asymptote source code.
-;;
-;; This differs from most standard languages in that
-;;
-;; 1) there is no such thing as a "session" in asymptote
-;;
-;; 2) we are generally only going to return results of type "file"
-;;
-;; 3) we are adding the "file" and "cmdline" header arguments, if file
-;; is omitted then the -V option is passed to the asy command for
-;; interactive viewing
-
-;;; Requirements:
-
-;; - The asymptote program :: http://asymptote.sourceforge.net/
-;;
-;; - asy-mode :: Major mode for editing asymptote files
-
-;;; Code:
-(require 'ob)
-
-(defvar org-babel-tangle-lang-exts)
-(add-to-list 'org-babel-tangle-lang-exts '("asymptote" . "asy"))
-
-(defvar org-babel-default-header-args:asymptote
- '((:results . "file") (:exports . "results"))
- "Default arguments when evaluating an Asymptote source block.")
-
-(defun org-babel-execute:asymptote (body params)
- "Execute a block of Asymptote code.
-This function is called by `org-babel-execute-src-block'."
- (let* ((out-file (cdr (assq :file params)))
- (format (or (file-name-extension out-file)
- "pdf"))
- (cmdline (cdr (assq :cmdline params)))
- (in-file (org-babel-temp-file "asymptote-"))
- (cmd
- (concat "asy "
- (if out-file
- (concat
- "-globalwrite -f " format
- " -o " (org-babel-process-file-name out-file))
- "-V")
- " " cmdline
- " " (org-babel-process-file-name in-file))))
- (with-temp-file in-file
- (insert (org-babel-expand-body:generic
- body params
- (org-babel-variable-assignments:asymptote params))))
- (message cmd) (shell-command cmd)
- nil)) ;; signal that output has already been written to file
-
-(defun org-babel-prep-session:asymptote (_session _params)
- "Return an error if the :session header argument is set.
-Asymptote does not support sessions."
- (error "Asymptote does not support sessions"))
-
-(defun org-babel-variable-assignments:asymptote (params)
- "Return list of asymptote statements assigning the block's variables."
- (mapcar #'org-babel-asymptote-var-to-asymptote
- (org-babel--get-vars params)))
-
-(defun org-babel-asymptote-var-to-asymptote (pair)
- "Convert an elisp value into an Asymptote variable.
-The elisp value PAIR is converted into Asymptote code specifying
-a variable of the same value."
- (let ((var (car pair))
- (val (let ((v (cdr pair)))
- (if (symbolp v) (symbol-name v) v))))
- (cond
- ((integerp val)
- (format "int %S=%S;" var val))
- ((floatp val)
- (format "real %S=%S;" var val))
- ((stringp val)
- (format "string %S=\"%s\";" var val))
- ((and (listp val) (not (listp (car val))))
- (let* ((type (org-babel-asymptote-define-type val))
- (fmt (if (eq 'string type) "\"%s\"" "%s"))
- (vect (mapconcat (lambda (e) (format fmt e)) val ", ")))
- (format "%s[] %S={%s};" type var vect)))
- ((listp val)
- (let* ((type (org-babel-asymptote-define-type val))
- (fmt (if (eq 'string type) "\"%s\"" "%s"))
- (array (mapconcat (lambda (row)
- (concat "{"
- (mapconcat (lambda (e) (format fmt e))
- row ", ")
- "}"))
- val ",")))
- (format "%S[][] %S={%s};" type var array))))))
-
-(defun org-babel-asymptote-define-type (data)
- "Determine type of DATA.
-
-DATA is a list. Return type as a symbol.
-
-The type is `string' if any element in DATA is a string.
-Otherwise, it is either `real', if some elements are floats, or
-`int'."
- (letrec ((type 'int)
- (find-type
- (lambda (row)
- (dolist (e row type)
- (cond ((listp e) (setq type (funcall find-type e)))
- ((stringp e) (throw 'exit 'string))
- ((floatp e) (setq type 'real)))))))
- (catch 'exit (funcall find-type data)) type))
-
-(provide 'ob-asymptote)
-
-;;; ob-asymptote.el ends here
diff --git a/lisp/ob-coq.el b/lisp/ob-coq.el
deleted file mode 100644
index 61746a26..0000000
--- a/lisp/ob-coq.el
+++ /dev/null
@@ -1,81 +0,0 @@
-;;; ob-coq.el --- Babel Functions for Coq -*- lexical-binding: t;
-*-
-
-;; Copyright (C) 2010-2021 Free Software Foundation, Inc.
-
-;; Author: Eric Schulte
-;; Maintainer: Luc Pellissier <luc.pellissier@crans.org>
-;; Keywords: literate programming, reproducible research
-;; Homepage: https://orgmode.org
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Rudimentary support for evaluating Coq code blocks. Currently only
-;; session evaluation is supported. Requires both coq.el and
-;; coq-inferior.el, both of which are distributed with Coq.
-;;
-;; https://coq.inria.fr/
-
-;;; Code:
-(require 'ob)
-
-(declare-function run-coq "ext:coq-inferior.el" (cmd))
-(declare-function coq-proc "ext:coq-inferior.el" ())
-
-(defvar coq-program-name "coqtop"
- "Name of the coq toplevel to run.")
-
-(defvar org-babel-coq-buffer "*coq*"
- "Buffer in which to evaluate coq code blocks.")
-
-(defun org-babel-coq-clean-prompt (string)
- (if (string-match "^[^[:space:]]+ < " string)
- (substring string 0 (match-beginning 0))
- string))
-
-(defun org-babel-execute:coq (body params)
- (let ((full-body (org-babel-expand-body:generic body params))
- (session (org-babel-coq-initiate-session))
- (pt (lambda ()
- (marker-position
- (process-mark (get-buffer-process (current-buffer)))))))
- (org-babel-coq-clean-prompt
- (org-babel-comint-in-buffer session
- (let ((start (funcall pt)))
- (with-temp-buffer
- (insert full-body)
- (comint-send-region (coq-proc) (point-min) (point-max))
- (comint-send-string (coq-proc)
- (if (string= (buffer-substring (- (point-max) 1) (point-max)) ".")
- "\n"
- ".\n")))
- (while (equal start (funcall pt)) (sleep-for 0.1))
- (buffer-substring start (funcall pt)))))))
-
-(defun org-babel-coq-initiate-session ()
- "Initiate a coq session.
-If there is not a current inferior-process-buffer in SESSION then
-create one. Return the initialized session."
- (unless (fboundp 'run-coq)
- (error "`run-coq' not defined, load coq-inferior.el"))
- (save-window-excursion (run-coq coq-program-name))
- (sit-for 0.1)
- (get-buffer org-babel-coq-buffer))
-
-(provide 'ob-coq)
-
-;;; ob-coq.el ends here
diff --git a/lisp/ob-ebnf.el b/lisp/ob-ebnf.el
deleted file mode 100644
index 77975e5..0000000
--- a/lisp/ob-ebnf.el
+++ /dev/null
@@ -1,81 +0,0 @@
-;;; ob-ebnf.el --- Babel Functions for EBNF -*- lexical-binding: t;
-*-
-
-;; Copyright (C) 2013-2021 Free Software Foundation, Inc.
-
-;; Author: Michael Gauland
-;; Keywords: literate programming, reproducible research
-;; Homepage: https://orgmode.org
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Org-Babel support for using ebnf2ps to generate encapsulated postscript
-;; railroad diagrams. It recognizes these arguments:
-;;
-;; :file is required; it must include the extension '.eps.' All the rules
-;; in the block will be drawn in the same file. This is done by
-;; inserting a '[<file>' comment at the start of the block (see the
-;; documentation for ebnf-eps-buffer for more information).
-;;
-;; :style specifies a value in ebnf-style-database. This provides the
-;; ability to customize the output. The style can also specify the
-;; grammar syntax (by setting ebnf-syntax); note that only ebnf,
-;; iso-ebnf, and yacc are supported by this file.
-
-;;; Requirements:
-
-;;; Code:
-(require 'ob)
-(require 'ebnf2ps)
-
-;; optionally declare default header arguments for this language
-(defvar org-babel-default-header-args:ebnf '((:style . nil)))
-
-;; Use ebnf-eps-buffer to produce an encapsulated postscript file.
-;;
-(defun org-babel-execute:ebnf (body params)
- "Execute a block of Ebnf code with org-babel.
-This function is called by `org-babel-execute-src-block'."
- (save-excursion
- (let* ((dest-file (cdr (assq :file params)))
- (dest-dir (file-name-directory dest-file))
- (dest-root (file-name-sans-extension
- (file-name-nondirectory dest-file)))
- (style (cdr (assq :style params)))
- (result nil))
- (with-temp-buffer
- (when style (ebnf-push-style style))
- (let ((comment-format
- (cond ((string= ebnf-syntax 'yacc) "/*%s*/")
- ((string= ebnf-syntax 'ebnf) ";%s")
- ((string= ebnf-syntax 'iso-ebnf) "(*%s*)")
- (t (setq result
- (format "EBNF error: format %s not supported."
- ebnf-syntax))))))
- (setq ebnf-eps-prefix dest-dir)
- (insert (format comment-format (format "[%s" dest-root)))
- (newline)
- (insert body)
- (newline)
- (insert (format comment-format (format "]%s" dest-root)))
- (ebnf-eps-buffer)
- (when style (ebnf-pop-style))))
- result)))
-
-(provide 'ob-ebnf)
-
-;;; ob-ebnf.el ends here
diff --git a/lisp/ob-hledger.el b/lisp/ob-hledger.el
deleted file mode 100644
index 48dcb8c..0000000
--- a/lisp/ob-hledger.el
+++ /dev/null
@@ -1,69 +0,0 @@
-;;; ob-hledger.el --- Babel Functions for hledger -*- lexical-binding: t;
-*-
-
-;; Copyright (C) 2010-2021 Free Software Foundation, Inc.
-
-;; Author: Simon Michael
-;; Keywords: literate programming, reproducible research, plain text accounting
-;; Homepage: https://orgmode.org
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Babel support for evaluating hledger entries.
-;;
-;; Based on ob-ledger.el.
-;; If the source block is empty, hledger will use a default journal file,
-;; probably ~/.hledger.journal (it may not notice your $LEDGER_FILE env var).
-;; So make ~/.hledger.journal a symbolic link to the real file if necessary.
-
-;; TODO Unit tests are more than welcome, too.
-
-;;; Code:
-(require 'ob)
-
-(defvar org-babel-default-header-args:hledger
- '((:results . "output") (:exports . "results") (:cmdline . "bal"))
- "Default arguments to use when evaluating a hledger source block.")
-
-(defun org-babel-execute:hledger (body params)
- "Execute a block of hledger entries with org-babel.
-This function is called by `org-babel-execute-src-block'."
- (message "executing hledger source code block")
- (letrec ( ;(result-params (split-string (or (cdr (assq :results params))
"")))
- (cmdline (cdr (assq :cmdline params)))
- (in-file (org-babel-temp-file "hledger-"))
- (out-file (org-babel-temp-file "hledger-output-"))
- (hledgercmd (concat "hledger"
- (if (> (length body) 0)
- (concat " -f " (org-babel-process-file-name
in-file))
- "")
- " " cmdline)))
- (with-temp-file in-file (insert body))
-;; TODO This is calling for some refactoring:
-;; (concat "hledger" (if ...) " " cmdline)
-;; could be built only once and bound to a symbol.
- (message "%s" hledgercmd)
- (with-output-to-string
- (shell-command (concat hledgercmd " > " (org-babel-process-file-name
out-file))))
- (with-temp-buffer (insert-file-contents out-file) (buffer-string))))
-
-(defun org-babel-prep-session:hledger (_session _params)
- (error "hledger does not support sessions"))
-
-(provide 'ob-hledger)
-
-;;; ob-hledger.el ends here
diff --git a/lisp/ob-io.el b/lisp/ob-io.el
deleted file mode 100644
index 5955977..0000000
--- a/lisp/ob-io.el
+++ /dev/null
@@ -1,105 +0,0 @@
-;;; ob-io.el --- Babel Functions for Io -*- lexical-binding: t;
-*-
-
-;; Copyright (C) 2012-2021 Free Software Foundation, Inc.
-
-;; Author: Andrzej Lichnerowicz
-;; Keywords: literate programming, reproducible research
-;; Homepage: https://orgmode.org
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; Currently only supports the external execution. No session support yet.
-;; :results output -- runs in scripting mode
-;; :results output repl -- runs in repl mode
-
-;;; Requirements:
-;; - Io language :: https://iolanguage.org/
-;; - Io major mode :: Can be installed from Io sources
-;;
https://github.com/stevedekorte/io/blob/master/extras/SyntaxHighlighters/Emacs/io-mode.el
-
-;;; Code:
-(require 'ob)
-
-(defvar org-babel-tangle-lang-exts) ;; Autoloaded
-(add-to-list 'org-babel-tangle-lang-exts '("io" . "io"))
-(defvar org-babel-default-header-args:io '())
-(defvar org-babel-io-command "io"
- "Name of the command to use for executing Io code.")
-
-(defun org-babel-execute:io (body params)
- "Execute a block of Io code with org-babel.
-This function is called by `org-babel-execute-src-block'."
- (message "executing Io source code block")
- (let* ((processed-params (org-babel-process-params params))
- (session (org-babel-io-initiate-session (nth 0 processed-params)))
- (result-params (nth 2 processed-params))
- (result-type (cdr (assq :result-type params)))
- (full-body (org-babel-expand-body:generic
- body params))
- (result (org-babel-io-evaluate
- session full-body result-type result-params)))
-
- (org-babel-reassemble-table
- result
- (org-babel-pick-name
- (cdr (assq :colname-names params)) (cdr (assq :colnames params)))
- (org-babel-pick-name
- (cdr (assq :rowname-names params)) (cdr (assq :rownames params))))))
-
-(defvar org-babel-io-wrapper-method
- "(
-%s
-) asString print
-")
-
-
-(defun org-babel-io-evaluate (session body &optional result-type result-params)
- "Evaluate BODY in external Io process.
-If RESULT-TYPE equals `output' then return standard output as a string.
-If RESULT-TYPE equals `value' then return the value of the last statement
-in BODY as elisp."
- (when session (error "Sessions are not (yet) supported for Io"))
- (pcase result-type
- (`output
- (if (member "repl" result-params)
- (org-babel-eval org-babel-io-command body)
- (let ((src-file (org-babel-temp-file "io-")))
- (progn (with-temp-file src-file (insert body))
- (org-babel-eval
- (concat org-babel-io-command " " src-file) "")))))
- (`value (let* ((src-file (org-babel-temp-file "io-"))
- (wrapper (format org-babel-io-wrapper-method body)))
- (with-temp-file src-file (insert wrapper))
- (let ((raw (org-babel-eval
- (concat org-babel-io-command " " src-file) "")))
- (org-babel-result-cond result-params
- raw
- (org-babel-script-escape raw)))))))
-
-(defun org-babel-prep-session:io (_session _params)
- "Prepare SESSION according to the header arguments specified in PARAMS."
- (error "Sessions are not (yet) supported for Io"))
-
-(defun org-babel-io-initiate-session (&optional _session)
- "If there is not a current inferior-process-buffer in SESSION then create.
-Return the initialized session. Sessions are not
-supported in Io."
- nil)
-
-(provide 'ob-io)
-
-;;; ob-io.el ends here
diff --git a/lisp/ob-ledger.el b/lisp/ob-ledger.el
deleted file mode 100644
index 291c35b..0000000
--- a/lisp/ob-ledger.el
+++ /dev/null
@@ -1,69 +0,0 @@
-;;; ob-ledger.el --- Babel Functions for Ledger -*- lexical-binding: t;
-*-
-
-;; Copyright (C) 2010-2021 Free Software Foundation, Inc.
-
-;; Author: Eric S Fraga
-;; Maintainer: Eric S Fraga
-;; Keywords: literate programming, reproducible research, accounting
-;; Homepage: https://orgmode.org
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Org-Babel support for evaluating ledger entries.
-;;
-;; This differs from most standard languages in that
-;;
-;; 1) there is no such thing as a "session" in ledger
-;;
-;; 2) we are generally only going to return output from the ledger program
-;;
-;; 3) we are adding the "cmdline" header argument
-;;
-;; 4) there are no variables
-
-;;; Code:
-(require 'ob)
-
-(defvar org-babel-default-header-args:ledger
- '((:results . "output") (:cmdline . "bal"))
- "Default arguments to use when evaluating a ledger source block.")
-
-(defun org-babel-execute:ledger (body params)
- "Execute a block of Ledger entries with org-babel.
-This function is called by `org-babel-execute-src-block'."
- (message "executing Ledger source code block")
- (let ((cmdline (cdr (assq :cmdline params)))
- (in-file (org-babel-temp-file "ledger-"))
- (out-file (org-babel-temp-file "ledger-output-")))
- (with-temp-file in-file (insert body))
- (message "%s" (concat "ledger"
- " -f " (org-babel-process-file-name in-file)
- " " cmdline))
- (with-output-to-string
- (shell-command (concat "ledger"
- " -f " (org-babel-process-file-name in-file)
- " " cmdline
- " > " (org-babel-process-file-name out-file))))
- (with-temp-buffer (insert-file-contents out-file) (buffer-string))))
-
-(defun org-babel-prep-session:ledger (_session _params)
- (error "Ledger does not support sessions"))
-
-(provide 'ob-ledger)
-
-;;; ob-ledger.el ends here
diff --git a/lisp/ob-mscgen.el b/lisp/ob-mscgen.el
deleted file mode 100644
index 8c699d4..0000000
--- a/lisp/ob-mscgen.el
+++ /dev/null
@@ -1,82 +0,0 @@
-;;; ob-mscgen.el --- Babel Functions for Mscgen -*- lexical-binding:
t; -*-
-
-;; Copyright (C) 2010-2021 Free Software Foundation, Inc.
-
-;; Author: Juan Pechiar
-;; Maintainer: Justin Abrahms
-;; Keywords: literate programming, reproducible research
-;; Homepage: https://orgmode.org
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;
-;; This software provides EMACS org-babel export support for message
-;; sequence charts. The mscgen utility is used for processing the
-;; sequence definition, and must therefore be installed in the system.
-;;
-;; Mscgen is available and documented at
-;; https://www.mcternan.me.uk/mscgen/index.html
-;;
-;; This code is directly inspired by Eric Schulte's ob-dot.el
-;;
-;; Example:
-;;
-;; #+begin_src mscgen :file example.png
-;; msc {
-;; A,B;
-;; A -> B [ label = "send message" ];
-;; A <- B [ label = "get answer" ];
-;; }
-;; #+end_src
-;;
-;; Header for alternative file type:
-;;
-;; #+begin_src mscgen :file ex2.svg :filetype svg
-
-;; This differs from most standard languages in that
-;;
-;; 1) there is no such thing as a "session" in mscgen
-;; 2) we are generally only going to return results of type "file"
-;; 3) we are adding the "file" and "filetype" header arguments
-;; 4) there are no variables
-
-;;; Code:
-(require 'ob)
-
-(defvar org-babel-default-header-args:mscgen
- '((:results . "file") (:exports . "results"))
- "Default arguments to use when evaluating a mscgen source block.")
-
-(defun org-babel-execute:mscgen (body params)
- "Execute a block of Mscgen code with Babel.
-This function is called by `org-babel-execute-src-block'.
-Default filetype is png. Modify by setting :filetype parameter to
-mscgen supported formats."
- (let* ((out-file (or (cdr (assq :file params)) "output.png" ))
- (filetype (or (cdr (assq :filetype params)) "png" )))
- (unless (cdr (assq :file params))
- (error "ERROR: no output file specified. Add \":file name.png\" to the
src header"))
- (org-babel-eval (concat "mscgen -T " filetype " -o " out-file) body)
- nil)) ;; signal that output has already been written to file
-
-(defun org-babel-prep-session:mscgen (_session _params)
- "Raise an error because Mscgen doesn't support sessions."
- (error "Mscgen does not support sessions"))
-
-(provide 'ob-mscgen)
-
-;;; ob-mscgen.el ends here
diff --git a/lisp/ob-picolisp.el b/lisp/ob-picolisp.el
deleted file mode 100644
index 102389d..0000000
--- a/lisp/ob-picolisp.el
+++ /dev/null
@@ -1,185 +0,0 @@
-;;; ob-picolisp.el --- Babel Functions for Picolisp -*- lexical-binding: t;
-*-
-
-;; Copyright (C) 2010-2021 Free Software Foundation, Inc.
-
-;; Authors: Thorsten Jolitz
-;; Eric Schulte
-;; Keywords: literate programming, reproducible research
-;; Homepage: https://orgmode.org
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; This library enables the use of PicoLisp in the multi-language
-;; programming framework Org-Babel. PicoLisp is a minimal yet
-;; fascinating Lisp dialect and a highly productive application
-;; framework for web-based client-server applications on top of
-;; object-oriented databases. A good way to learn PicoLisp is to first
-;; read Paul Grahams essay "The hundred year language"
-;; (http://www.paulgraham.com/hundred.html) and then study the various
-;; documents and essays published in the PicoLisp wiki
-;; (https://picolisp.com/5000/-2.html). PicoLisp is included in some
-;; GNU/Linux Distributions, and can be downloaded here:
-;; https://software-lab.de/down.html. It ships with a picolisp-mode and
-;; an inferior-picolisp-mode for Emacs (to be found in the /lib/el/
-;; directory).
-
-;; Although it might seem more natural to use Emacs Lisp for most
-;; Lisp-based programming tasks inside Org, an Emacs library written
-;; in Emacs Lisp, PicoLisp has at least two outstanding features that
-;; make it a valuable addition to Org Babel:
-
-;; PicoLisp _is_ an object-oriented database with a Prolog-based query
-;; language implemented in PicoLisp (Pilog). Database objects are
-;; first-class members of the language.
-
-;; PicoLisp is an extremely productive framework for the development
-;; of interactive web-applications (on top of a database).
-
-;;; Requirements:
-
-;;; Code:
-(require 'ob)
-(require 'comint)
-
-(declare-function run-picolisp "ext:inferior-picolisp" (cmd))
-(defvar org-babel-tangle-lang-exts) ;; Autoloaded
-
-;; optionally define a file extension for this language
-(add-to-list 'org-babel-tangle-lang-exts '("picolisp" . "l"))
-
-;;; interferes with settings in org-babel buffer?
-;; optionally declare default header arguments for this language
-;; (defvar org-babel-default-header-args:picolisp
-;; '((:colnames . "no"))
-;; "Default arguments for evaluating a picolisp source block.")
-
-(defvar org-babel-picolisp-eoe "org-babel-picolisp-eoe"
- "String to indicate that evaluation has completed.")
-
-(defcustom org-babel-picolisp-cmd "pil"
- "Name of command used to evaluate picolisp blocks."
- :group 'org-babel
- :version "24.1"
- :type 'string)
-
-(defun org-babel-expand-body:picolisp (body params)
- "Expand BODY according to PARAMS, return the expanded body."
- (let ((vars (org-babel--get-vars params))
- (print-level nil)
- (print-length nil))
- (if (> (length vars) 0)
- (concat "(prog (let ("
- (mapconcat
- (lambda (var)
- (format "%S '%S)"
- (print (car var))
- (print (cdr var))))
- vars "\n ")
- " \n" body ") )")
- body)))
-
-(defun org-babel-execute:picolisp (body params)
- "Execute a block of Picolisp code with org-babel.
-This function is called by `org-babel-execute-src-block'."
- (message "executing Picolisp source code block")
- (let* (
- ;; Name of the session or "none".
- (session-name (cdr (assq :session params)))
- ;; Set the session if the session variable is non-nil.
- (session (org-babel-picolisp-initiate-session session-name))
- ;; Either OUTPUT or VALUE which should behave as described above.
- (result-params (cdr (assq :result-params params)))
- ;; Expand the body with `org-babel-expand-body:picolisp'.
- (full-body (org-babel-expand-body:picolisp body params))
- ;; Wrap body appropriately for the type of evaluation and results.
- (wrapped-body
- (cond
- ((or (member "code" result-params)
- (member "pp" result-params))
- (format "(pretty (out \"%s\" %s))" null-device full-body))
- ((and (member "value" result-params) (not session))
- (format "(print (out \"%s\" %s))" null-device full-body))
- ((member "value" result-params)
- (format "(out \"%s\" %s)" null-device full-body))
- (t full-body)))
- (result
- (if (not (string= session-name "none"))
- ;; Session based evaluation.
- (mapconcat ;; <- joins the list back into a single string
- #'identity
- (butlast ;; <- remove the org-babel-picolisp-eoe line
- (delq nil
- (mapcar
- (lambda (line)
- (org-babel-chomp ;; Remove trailing newlines.
- (when (> (length line) 0) ;; Remove empty lines.
- (cond
- ;; Remove leading "-> " from return values.
- ((and (>= (length line) 3)
- (string= "-> " (substring line 0 3)))
- (substring line 3))
- ;; Remove trailing "-> <<return-value>>" on the
- ;; last line of output.
- ((and (member "output" result-params)
- (string-match-p "->" line))
- (substring line 0 (string-match "->" line)))
- (t line)
- )
- ;;(if (and (>= (length line) 3);Remove leading "<-"
- ;; (string= "-> " (substring line 0 3)))
- ;; (substring line 3)
- ;; line)
- )))
- ;; Returns a list of the output of each evaluated exp.
- (org-babel-comint-with-output
- (session org-babel-picolisp-eoe)
- (insert wrapped-body) (comint-send-input)
- (insert "'" org-babel-picolisp-eoe)
- (comint-send-input)))))
- "\n")
- ;; external evaluation
- (let ((script-file (org-babel-temp-file "picolisp-script-")))
- (with-temp-file script-file
- (insert (concat wrapped-body "(bye)")))
- (org-babel-eval
- (format "%s %s"
- org-babel-picolisp-cmd
- (org-babel-process-file-name script-file))
- "")))))
- (org-babel-result-cond result-params
- result
- (read result))))
-
-(defun org-babel-picolisp-initiate-session (&optional session-name)
- "If there is not a current inferior-process-buffer in SESSION then create.
-Return the initialized session."
- (unless (string= session-name "none")
- (require 'inferior-picolisp)
- ;; provide a reasonable default session name
- (let ((session (or session-name "*inferior-picolisp*")))
- ;; check if we already have a live session by this name
- (if (org-babel-comint-buffer-livep session)
- (get-buffer session)
- (save-window-excursion
- (run-picolisp org-babel-picolisp-cmd)
- (rename-buffer session-name)
- (current-buffer))))))
-
-(provide 'ob-picolisp)
-
-;;; ob-picolisp.el ends here
diff --git a/lisp/ob-shen.el b/lisp/ob-shen.el
deleted file mode 100644
index 6803b0b..0000000
--- a/lisp/ob-shen.el
+++ /dev/null
@@ -1,79 +0,0 @@
-;;; ob-shen.el --- Babel Functions for Shen -*- lexical-binding: t;
-*-
-
-;; Copyright (C) 2010-2021 Free Software Foundation, Inc.
-
-;; Author: Eric Schulte
-;; Keywords: literate programming, reproducible research, shen
-;; Homepage: https://orgmode.org
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Currently this only works using session evaluation as there is no
-;; defined method for executing shen code outside of a session.
-
-;;; Requirements:
-
-;; - shen-mode and inf-shen will soon be available through the GNU
-;; elpa, however in the interim they are available at
-;; https://github.com/eschulte/shen-mode
-
-;;; Code:
-(require 'ob)
-
-(declare-function shen-eval-defun "ext:inf-shen" (&optional and-go))
-(declare-function org-babel-ruby-var-to-ruby "ob-ruby" (var))
-
-(defvar org-babel-default-header-args:shen '()
- "Default header arguments for shen code blocks.")
-
-(defun org-babel-expand-body:shen (body params)
- "Expand BODY according to PARAMS, return the expanded body."
- (let ((vars (org-babel--get-vars params)))
- (if (> (length vars) 0)
- (concat "(let "
- (mapconcat (lambda (var)
- (format "%s %s" (car var)
- (org-babel-shen-var-to-shen (cdr var))))
- vars " ")
- body ")")
- body)))
-
-(defun org-babel-shen-var-to-shen (var)
- "Convert VAR into a shen variable."
- (if (listp var)
- (concat "[" (mapconcat #'org-babel-ruby-var-to-ruby var " ") "]")
- (format "%S" var)))
-
-(defun org-babel-execute:shen (body params)
- "Execute a block of Shen code with org-babel.
-This function is called by `org-babel-execute-src-block'."
- (require 'inf-shen)
- (let* ((result-params (cdr (assq :result-params params)))
- (full-body (org-babel-expand-body:shen body params)))
- (let ((results
- (with-temp-buffer
- (insert full-body)
- (call-interactively #'shen-eval-defun))))
- (org-babel-result-cond result-params
- results
- (condition-case nil (org-babel-script-escape results)
- (error results))))))
-
-(provide 'ob-shen)
-
-;;; ob-shen.el ends here
diff --git a/lisp/ob-vala.el b/lisp/ob-vala.el
deleted file mode 100644
index 6c3068a..0000000
--- a/lisp/ob-vala.el
+++ /dev/null
@@ -1,116 +0,0 @@
-;;; ob-vala.el --- Babel functions for Vala evaluation -*- lexical-binding: t;
-*-
-
-;; Copyright (C) 2017-2021 Free Software Foundation, Inc.
-
-;; Author: Christian Garbs <mitch@cgarbs.de>
-;; Keywords: literate programming, reproducible research
-;; Homepage: https://orgmode.org
-
-;;; License:
-
-;; This file is part of GNU Emacs.
-
-;; 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 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. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; ob-vala.el provides Babel support for the Vala language
-;; (see https://live.gnome.org/Vala for details)
-
-;;; Requirements:
-
-;; - Vala compiler binary (valac)
-;; - Vala development environment (Vala libraries etc.)
-;;
-;; vala-mode.el is nice to have for code formatting, but is not needed
-;; for ob-vala.el
-
-;;; Code:
-
-(require 'ob)
-(require 'org-macs)
-
-;; File extension.
-(add-to-list 'org-babel-tangle-lang-exts '("vala" . "vala"))
-
-;; Header arguments empty by default.
-(defvar org-babel-default-header-args:vala '())
-
-(defcustom org-babel-vala-compiler "valac"
- "Command used to compile a C source code file into an executable.
-May be either a command in the path, like \"valac\"
-or an absolute path name, like \"/usr/local/bin/valac\".
-Parameters may be used like this: \"valac -v\""
- :group 'org-babel
- :version "26.1"
- :package-version '(Org . "9.1")
- :type 'string)
-
-;; This is the main function which is called to evaluate a code
-;; block.
-;;
-;; - run Vala compiler and create a binary in a temporary file
-;; - compiler/linker flags can be set via :flags header argument
-;; - if compilation succeeded, run the binary
-;; - commandline parameters to the binary can be set via :cmdline
-;; header argument
-;; - stdout will be parsed as RESULT (control via :result-params
-;; header argument)
-;;
-;; There is no session support because Vala is a compiled language.
-;;
-;; This function is heavily based on ob-C.el
-(defun org-babel-execute:vala (body params)
- "Execute a block of Vala code with Babel.
-This function is called by `org-babel-execute-src-block'."
- (message "executing Vala source code block")
- (let* ((tmp-src-file (org-babel-temp-file
- "vala-src-"
- ".vala"))
- (tmp-bin-file (org-babel-temp-file "vala-bin-" org-babel-exeext))
- (cmdline (cdr (assq :cmdline params)))
- (flags (cdr (assq :flags params))))
- (with-temp-file tmp-src-file (insert body))
- (org-babel-eval
- (format "%s %s -o %s %s"
- org-babel-vala-compiler
- (mapconcat #'identity
- (if (listp flags) flags (list flags)) " ")
- (org-babel-process-file-name tmp-bin-file)
- (org-babel-process-file-name tmp-src-file)) "")
- (when (file-executable-p tmp-bin-file)
- (let ((results
- (org-trim
- (org-babel-eval
- (concat tmp-bin-file (if cmdline (concat " " cmdline) ""))
""))))
- (org-babel-reassemble-table
- (org-babel-result-cond (cdr (assq :result-params params))
- (org-babel-read results)
- (let ((tmp-file (org-babel-temp-file "vala-")))
- (with-temp-file tmp-file (insert results))
- (org-babel-import-elisp-from-file tmp-file)))
- (org-babel-pick-name
- (cdr (assq :colname-names params)) (cdr (assq :colnames params)))
- (org-babel-pick-name
- (cdr (assq :rowname-names params)) (cdr (assq :rownames
params))))))))
-
-(defun org-babel-prep-session:vala (_session _params)
- "Prepare a session.
-This function does nothing as Vala is a compiled language with no
-support for sessions."
- (error "Vala is a compiled language -- no support for sessions"))
-
-(provide 'ob-vala)
-
-;;; ob-vala.el ends here
- [elpa] externals/org 9a4a24a 12/85: mk/targets.mk: Fix ORGVERSION in tag-less repos, (continued)
- [elpa] externals/org 9a4a24a 12/85: mk/targets.mk: Fix ORGVERSION in tag-less repos, ELPA Syncer, 2021/09/27
- [elpa] externals/org 2311677 13/85: mk/server.mk: Use a new path, ELPA Syncer, 2021/09/27
- [elpa] externals/org ce99b55 14/85: Merge commit '986341bd08', ELPA Syncer, 2021/09/27
- [elpa] externals/org 26b0297 20/85: Merge branch 'bugfix', ELPA Syncer, 2021/09/27
- [elpa] externals/org 45a5f17 21/85: org-manual.org: Augment TODO keywords example, ELPA Syncer, 2021/09/27
- [elpa] externals/org 35690cd 36/85: org-src.el (org-src--contents-for-write-back): Do not indent blank lines, ELPA Syncer, 2021/09/27
- [elpa] externals/org faf1ba8 34/85: Merge branch 'bugfix', ELPA Syncer, 2021/09/27
- [elpa] externals/org 63a5af9 63/85: Backport commit 85e9e5f61 from Emacs, ELPA Syncer, 2021/09/27
- [elpa] externals/org 5e58af5 52/85: oc-csl: Use citeproc-el to create CSL processor itemgetters, ELPA Syncer, 2021/09/27
- [elpa] externals/org be0cdd1 40/85: org-mouse: Support intermediate-state checkboxes, ELPA Syncer, 2021/09/27
- [elpa] externals/org db67c7e 55/85: Move some ob-*el files to the new org-contrib repo,
ELPA Syncer <=
- [elpa] externals/org 2aa2615 59/85: Document new agenda faces in the ORG-NEWS, ELPA Syncer, 2021/09/27
- [elpa] externals/org b80b0a5 51/85: org-clock.el: Make org-notify support macOS notification, ELPA Syncer, 2021/09/27
- [elpa] externals/org 78783f4 48/85: ob-core.el: Add ability to use closures as default header arguments, ELPA Syncer, 2021/09/27
- [elpa] externals/org b2da9ea 64/85: Backport commit 0da8118dc from Emacs, ELPA Syncer, 2021/09/27
- [elpa] externals/org 7d67719 68/85: org-manual: comment about latex code-block export, ELPA Syncer, 2021/09/27
- [elpa] externals/org 80798fc 72/85: oc.el (org-cite-register-processor): Silence a compiler warning, ELPA Syncer, 2021/09/27
- [elpa] externals/org 593740c 74/85: etc/ORG-NEWS: Mention the citation engine and reorder items, ELPA Syncer, 2021/09/27
- [elpa] externals/org c76a7ee 76/85: org: Refactor width in `org-display-inline-images', ELPA Syncer, 2021/09/27
- [elpa] externals/org e816ae1 75/85: org: Display proportional image widths, ELPA Syncer, 2021/09/27
- [elpa] externals/org 981bcbf 80/85: Merge branch 'bugfix', ELPA Syncer, 2021/09/27