summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Schulte <schulte.eric@gmail.com>2010-07-07 23:01:43 -0700
committerEric Schulte <schulte.eric@gmail.com>2010-07-07 23:01:43 -0700
commitec22856978826cfbc48557bc72ee430441891355 (patch)
treed4cf0177474f09391f96a4660e9153ed6d22d42d
parent4b2721d428f7aecfecaf00a02090773c9a9f2bb7 (diff)
downloadorg-mode-ec22856978826cfbc48557bc72ee430441891355.tar.gz
ob-exp: now returns an empty string when the language can't be evaluated
* lisp/ob-exp.el (org-babel-exp-results): now returns an empty string when the language can't be evaluated
-rw-r--r--lisp/ob-exp.el64
1 files changed, 33 insertions, 31 deletions
diff --git a/lisp/ob-exp.el b/lisp/ob-exp.el
index 7fa673b..81f6f2b 100644
--- a/lisp/ob-exp.el
+++ b/lisp/ob-exp.el
@@ -252,37 +252,39 @@ results into the buffer."
pair))
(nth 2 info))))
;; skip code blocks which we can't evaluate
- (when (fboundp (intern (concat "org-babel-execute:" lang)))
- (case type
- ('inline
- (let ((raw (org-babel-execute-src-block
- nil info '((:results . "silent"))))
- (result-params (split-string (cdr (assoc :results params)))))
- (unless silent
- (cond ;; respect the value of the :results header argument
- ((member "file" result-params)
- (org-babel-result-to-file raw))
- ((or (member "raw" result-params) (member "org" result-params))
- (format "%s" raw))
- ((member "code" result-params)
- (format "src_%s{%s}" lang raw))
- (t
- (if (stringp raw)
- (if (= 0 (length raw)) "=(no results)="
- (format "%s" raw))
- (format "%S" raw)))))))
- ('block
- (org-babel-execute-src-block
- nil info (org-babel-merge-params
- params `((:results . ,(if silent "silent" "replace")))))
- "")
- ('lob
- (save-excursion
- (re-search-backward org-babel-lob-one-liner-regexp nil t)
- (org-babel-execute-src-block
- nil info (org-babel-merge-params
- params `((:results . ,(if silent "silent" "replace")))))
- ""))))))
+ (if (fboundp (intern (concat "org-babel-execute:" lang)))
+ (case type
+ ('inline
+ (let ((raw (org-babel-execute-src-block
+ nil info '((:results . "silent"))))
+ (result-params (split-string (cdr (assoc :results params)))))
+ (unless silent
+ (cond ;; respect the value of the :results header argument
+ ((member "file" result-params)
+ (org-babel-result-to-file raw))
+ ((or (member "raw" result-params) (member "org" result-params))
+ (format "%s" raw))
+ ((member "code" result-params)
+ (format "src_%s{%s}" lang raw))
+ (t
+ (if (stringp raw)
+ (if (= 0 (length raw)) "=(no results)="
+ (format "%s" raw))
+ (format "%S" raw)))))))
+ ('block
+ (org-babel-execute-src-block
+ nil info (org-babel-merge-params
+ params
+ `((:results . ,(if silent "silent" "replace")))))
+ "")
+ ('lob
+ (save-excursion
+ (re-search-backward org-babel-lob-one-liner-regexp nil t)
+ (org-babel-execute-src-block
+ nil info (org-babel-merge-params
+ params `((:results . ,(if silent "silent" "replace")))))
+ "")))
+ "")))
(provide 'ob-exp)