[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] org-babel: [PATCH] allow emacs-lisp results to be pretty-print
From: |
Benjamin Andresen |
Subject: |
[Orgmode] org-babel: [PATCH] allow emacs-lisp results to be pretty-printed |
Date: |
Sat, 03 Oct 2009 20:29:15 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) |
Hey there,
on irc (#org-mode) someone asked how one would go about to insert the
result of a emacs-lisp function without it being transformed into a
org-mode table.
I didn't see any other way, so I wrote a small patch that allows the
parameter :results to accept 'pp'. Is this the right way? And where
should this special parameter be documented?
diff --git a/contrib/babel/lisp/langs/org-babel-emacs-lisp.el
b/contrib/babel/lisp/langs/org-babel-emacs-lisp.el
index 39f5cc7..60671ac 100644
--- a/contrib/babel/lisp/langs/org-babel-emacs-lisp.el
+++ b/contrib/babel/lisp/langs/org-babel-emacs-lisp.el
@@ -39,10 +39,14 @@
"Execute a block of emacs-lisp code with org-babel. This
function is called by `org-babel-execute-src-block' via multiple-value-bind."
(message "executing emacs-lisp code block...")
- (save-window-excursion
- (let ((print-level nil) (print-length nil))
- (eval `(let ,(mapcar (lambda (var) `(,(car var) ',(cdr var))) vars)
- ,(read (concat "(progn " body ")")))))))
+ (let ((results (cdr (assoc :results params))))
+ (save-window-excursion
+ (let ((print-level nil) (print-length nil))
+ (eval `(let ,(mapcar (lambda (var) `(,(car var) ',(cdr var))) vars)
+ ,(read (concat "(progn " (if (string-match "pp$" results)
+ (concat "(pp " body ")")
+ body)
+ ")"))))))))
(provide 'org-babel-emacs-lisp)
;;; org-babel-emacs-lisp.el ends here
br,
benny
- [Orgmode] org-babel: [PATCH] allow emacs-lisp results to be pretty-printed,
Benjamin Andresen <=