emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/org-contrib a56fb90b16 2/2: Remove lisp/ob-asymptote.el


From: ELPA Syncer
Subject: [nongnu] elpa/org-contrib a56fb90b16 2/2: Remove lisp/ob-asymptote.el
Date: Wed, 8 Nov 2023 07:00:01 -0500 (EST)

branch: elpa/org-contrib
commit a56fb90b1696bb015abfbb04df08a1ebc589d686
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>

    Remove lisp/ob-asymptote.el
    
    * lisp/ob-asymptote.el: Remove the file.
    * README.org (Org Babel languages):
    * README.md: Remove from the list of libraries.
    
    ob-asymptote is now maintained at
    https://github.com/hurrja/ob-asymptote and distributed separately on
    ELPA: https://elpa.gnu.org/packages/ob-asymptote.html
---
 README.md            |   1 -
 README.org           |   1 -
 lisp/ob-asymptote.el | 138 ---------------------------------------------------
 3 files changed, 140 deletions(-)

diff --git a/README.md b/README.md
index 9ef4edb66c..480fcc110a 100644
--- a/README.md
+++ b/README.md
@@ -104,7 +104,6 @@ minor or major release.
 ## Org Babel languages
 
 -   **ob-abc.el:** Org-mode Babel Functions for ABC
--   **ob-asymptote.el:** Org-mode Babel Functions for Asymptote
 -   **ob-coq.el:** Org-mode Babel Functions for Coq
 -   **ob-csharp.el:** Org-mode Babel Functions for csharp evaluation
 -   **ob-ebnf.el:** Org-mode Babel Functions for EBNF
diff --git a/README.org b/README.org
index 30685ddd56..45b588ad63 100644
--- a/README.org
+++ b/README.org
@@ -94,7 +94,6 @@ minor or major release.
 *** Org Babel languages
 
 - ob-abc.el :: Org-mode Babel Functions for ABC
-- ob-asymptote.el :: Org-mode Babel Functions for Asymptote
 - ob-coq.el :: Org-mode Babel Functions for Coq
 - ob-csharp.el :: Org-mode Babel Functions for csharp evaluation
 - ob-ebnf.el :: Org-mode Babel Functions for EBNF
diff --git a/lisp/ob-asymptote.el b/lisp/ob-asymptote.el
deleted file mode 100644
index 55811bd409..0000000000
--- 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: Jarmo Hurri <jarmo.hurri@iki.fi>
-;; Keywords: literate programming, reproducible research
-;; Homepage: https://git.sr.ht/~bzg/org-contrib
-
-;; This file is not 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]