diff options
| author | Rasmus | 2017-06-21 13:20:20 +0200 |
|---|---|---|
| committer | Rasmus | 2017-06-22 11:54:18 +0200 |
| commit | 5cecd275820df825c51bf9a27fcc7e35f30ff273 (patch) | |
| tree | b3f72e63953613d565e6d5a35bec97f158eb603c /lisp/org/ob-java.el | |
| parent | 386a3da920482b8cb3e962fb944d135c8a770e26 (diff) | |
| download | emacs-5cecd275820df825c51bf9a27fcc7e35f30ff273.tar.gz emacs-5cecd275820df825c51bf9a27fcc7e35f30ff273.zip | |
Update Org to v9.0.9
Please see etc/ORG-NEWS for details.
Diffstat (limited to 'lisp/org/ob-java.el')
| -rw-r--r-- | lisp/org/ob-java.el | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/lisp/org/ob-java.el b/lisp/org/ob-java.el index 70a10e0131a..7e720231e48 100644 --- a/lisp/org/ob-java.el +++ b/lisp/org/ob-java.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; ob-java.el --- org-babel functions for java evaluation | 1 | ;;; ob-java.el --- Babel Functions for Java -*- lexical-binding: t; -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2011-2017 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2011-2017 Free Software Foundation, Inc. |
| 4 | 4 | ||
| @@ -32,41 +32,51 @@ | |||
| 32 | (defvar org-babel-tangle-lang-exts) | 32 | (defvar org-babel-tangle-lang-exts) |
| 33 | (add-to-list 'org-babel-tangle-lang-exts '("java" . "java")) | 33 | (add-to-list 'org-babel-tangle-lang-exts '("java" . "java")) |
| 34 | 34 | ||
| 35 | (defvar org-babel-java-command "java" | 35 | (defcustom org-babel-java-command "java" |
| 36 | "Name of the java command.") | 36 | "Name of the java command. |
| 37 | 37 | May be either a command in the path, like java | |
| 38 | (defvar org-babel-java-compiler "javac" | 38 | or an absolute path name, like /usr/local/bin/java |
| 39 | "Name of the java compiler.") | 39 | parameters may be used, like java -verbose" |
| 40 | :group 'org-babel | ||
| 41 | :version "24.3" | ||
| 42 | :type 'string) | ||
| 43 | |||
| 44 | (defcustom org-babel-java-compiler "javac" | ||
| 45 | "Name of the java compiler. | ||
| 46 | May be either a command in the path, like javac | ||
| 47 | or an absolute path name, like /usr/local/bin/javac | ||
| 48 | parameters may be used, like javac -verbose" | ||
| 49 | :group 'org-babel | ||
| 50 | :version "24.3" | ||
| 51 | :type 'string) | ||
| 40 | 52 | ||
| 41 | (defun org-babel-execute:java (body params) | 53 | (defun org-babel-execute:java (body params) |
| 42 | (let* ((classname (or (cdr (assoc :classname params)) | 54 | (let* ((classname (or (cdr (assq :classname params)) |
| 43 | (error | 55 | (error |
| 44 | "Can't compile a java block without a classname"))) | 56 | "Can't compile a java block without a classname"))) |
| 45 | (packagename (file-name-directory classname)) | 57 | (packagename (file-name-directory classname)) |
| 46 | (src-file (concat classname ".java")) | 58 | (src-file (concat classname ".java")) |
| 47 | (cmpflag (or (cdr (assoc :cmpflag params)) "")) | 59 | (cmpflag (or (cdr (assq :cmpflag params)) "")) |
| 48 | (cmdline (or (cdr (assoc :cmdline params)) "")) | 60 | (cmdline (or (cdr (assq :cmdline params)) "")) |
| 49 | (full-body (org-babel-expand-body:generic body params)) | 61 | (full-body (org-babel-expand-body:generic body params))) |
| 50 | (compile | 62 | (with-temp-file src-file (insert full-body)) |
| 51 | (progn (with-temp-file src-file (insert full-body)) | 63 | (org-babel-eval |
| 52 | (org-babel-eval | 64 | (concat org-babel-java-compiler " " cmpflag " " src-file) "") |
| 53 | (concat org-babel-java-compiler | ||
| 54 | " " cmpflag " " src-file) "")))) | ||
| 55 | ;; created package-name directories if missing | 65 | ;; created package-name directories if missing |
| 56 | (unless (or (not packagename) (file-exists-p packagename)) | 66 | (unless (or (not packagename) (file-exists-p packagename)) |
| 57 | (make-directory packagename 'parents)) | 67 | (make-directory packagename 'parents)) |
| 58 | (let ((results (org-babel-eval (concat org-babel-java-command | 68 | (let ((results (org-babel-eval (concat org-babel-java-command |
| 59 | " " cmdline " " classname) ""))) | 69 | " " cmdline " " classname) ""))) |
| 60 | (org-babel-reassemble-table | 70 | (org-babel-reassemble-table |
| 61 | (org-babel-result-cond (cdr (assoc :result-params params)) | 71 | (org-babel-result-cond (cdr (assq :result-params params)) |
| 62 | (org-babel-read results) | 72 | (org-babel-read results) |
| 63 | (let ((tmp-file (org-babel-temp-file "c-"))) | 73 | (let ((tmp-file (org-babel-temp-file "c-"))) |
| 64 | (with-temp-file tmp-file (insert results)) | 74 | (with-temp-file tmp-file (insert results)) |
| 65 | (org-babel-import-elisp-from-file tmp-file))) | 75 | (org-babel-import-elisp-from-file tmp-file))) |
| 66 | (org-babel-pick-name | 76 | (org-babel-pick-name |
| 67 | (cdr (assoc :colname-names params)) (cdr (assoc :colnames params))) | 77 | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| 68 | (org-babel-pick-name | 78 | (org-babel-pick-name |
| 69 | (cdr (assoc :rowname-names params)) (cdr (assoc :rownames params))))))) | 79 | (cdr (assq :rowname-names params)) (cdr (assq :rownames params))))))) |
| 70 | 80 | ||
| 71 | (provide 'ob-java) | 81 | (provide 'ob-java) |
| 72 | 82 | ||