From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Andresen Subject: org-babel: [PATCH] allow emacs-lisp results to be pretty-printed Date: Sat, 03 Oct 2009 20:29:15 +0200 Message-ID: <87r5tkqqkk.fsf@in-ulm.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mu9Mt-0004Jw-FX for emacs-orgmode@gnu.org; Sat, 03 Oct 2009 14:30:07 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mu9Mp-0004J8-OU for emacs-orgmode@gnu.org; Sat, 03 Oct 2009 14:30:07 -0400 Received: from [199.232.76.173] (port=58096 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mu9Mp-0004J2-J0 for emacs-orgmode@gnu.org; Sat, 03 Oct 2009 14:30:03 -0400 Received: from mail.in-ulm.de ([217.10.8.10]:43927) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1Mu9Mo-00021G-Fk for emacs-orgmode@gnu.org; Sat, 03 Oct 2009 14:30:03 -0400 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org --=-=-= 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? --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=babel-el-results-pp.patch 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 --=-=-= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode --=-=-=--