Ver código fonte

ob-clojure.el: fix behavior for :results pp

* lisp/ob-clojure.el (org-babel-expand-body:clojure): Simplify the
  pretty printing.
  (org-babel-execute:clojure): Check for "pp" in the parameters.

http://permalink.gmane.org/gmane.emacs.orgmode/84876
Oleh Krehel 11 anos atrás
pai
commit
3a9bbb0ec3
1 arquivos alterados com 6 adições e 11 exclusões
  1. 6 11
      lisp/ob-clojure.el

+ 6 - 11
lisp/ob-clojure.el

@@ -84,16 +84,10 @@
 			     vars "\n      ")
 			    "]\n" body ")")
 		  body))))
-    (cond ((or (member "code" result-params) (member "pp" result-params))
-	   (format (concat "(let [org-mode-print-catcher (java.io.StringWriter.)] "
-			   "(clojure.pprint/with-pprint-dispatch clojure.pprint/%s-dispatch "
-			   "(clojure.pprint/pprint (do %s) org-mode-print-catcher) "
-			   "(str org-mode-print-catcher)))")
-		   (if (member "code" result-params) "code" "simple") body))
-	  ;; if (:results output), collect printed output
-	  ;; ((member "output" result-params)
-	  ;;  (format "(clojure.core/with-out-str %s)" body))
-	  (t body))))
+    (if (or (member "code" result-params)
+	    (member "pp" result-params))
+	(format "(clojure.pprint/pprint (do %s))" body)
+      body)))
 
 (defun org-babel-execute:clojure (body params)
   "Execute a block of Clojure code with Babel."
@@ -106,7 +100,8 @@
 	 (setq result
 	       (plist-get
 		(nrepl-send-string-sync expanded)
-		(if (member "output" result-params)
+		(if (or (member "output" result-params)
+			(member "pp" result-params))
 		    :stdout
 		  :value)))))
       (nrepl