From mboxrd@z Thu Jan 1 00:00:00 1970 From: Francesco Pizzolante Subject: Re: [babel] Idiomatic handling of quotes Date: Fri, 18 Dec 2009 10:20:53 +0100 Message-ID: <87iqc4hc3u.fsf@missioncriticalit.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: In-Reply-To: (Thomas S. Dye's message of "Thu, 17 Dec 2009 10:15:06 -1000") 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-mXXj517/zsQ@public.gmane.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: "Thomas S. Dye" Cc: Org Mode Hi Thomas, > In the example below, note that the R representation of the directory listing > escapes the quotes in the original and encloses it all in a second set of > quotes, e.g. "\"theta-1.csv\"". > > This must come up a lot. Is there an idiomatic way to change > "\"theta-1.csv\"" to "theta-1.csv" so that it could be assigned to x and the > following statement would yield a valid path? > > afile <- paste("r/",x,sep="") > > I'm aware the answer might be R code, but it is to tightly tied to org- > babel I figure it makes sense to ask the question here. I already sent an email related to double quotes in result tables. See the email hereunder. In order to get a result table without the double quotes for all texts, I use the patch enclosed in my email and add the ":results noquotes" header parameter. In your example, I would get the following result: --8<---------------cut here---------------start------------->8--- #+srcname: thetas() #+begin_src shell :results noquotes cd r && ls theta* #+end_src #+results: thetas | theta-1.csv | | theta-2.csv | --8<---------------cut here---------------end--------------->8--- Is this what you need? Here's the email I sent a few days ago. It contains the patch I use to remove the double quotes when I need it: ----------------------------------------------------------------- From: Francesco Pizzolante Subject: [Orgmode] [babel] double quotes in tables To: mailing-list-org-mode Date: Mon, 14 Dec 2009 17:18:30 +0100 Hi, Often, I find useful that babel could generate result tables without the double quotes (") enclosing all the text values in the cells. In order to do that, I added a 'noquotes` option to the :results header argument. Here's my patch. As I'm not an elisp expert, please tell me if there's a better/safer way to do that or maybe that it already exists an option to do that... --8<---------------cut here---------------start------------->8--- diff --git a/contrib/babel/lisp/org-babel.el b/contrib/babel/lisp/org-babel.el index 4c9bff5..13c8237 100644 --- a/contrib/babel/lisp/org-babel.el +++ b/contrib/babel/lisp/org-babel.el @@ -706,6 +706,9 @@ code ---- the results are extracted in the syntax of the source code of the language being evaluated and are added inside of a #+BEGIN_SRC block with the source-code language set appropriately." + (setq outputformat "%S") + (if (member "noquotes" result-params) + (setq outputformat "%s")) (if (stringp result) (progn (setq result (org-babel-clean-text-properties result)) @@ -739,7 +742,7 @@ code ---- the results are extracted in the syntax of the source (if (and (listp (car result)) (listp (cdr (car result)))) result (list result)) - '(:fmt (lambda (cell) (format "%S" cell)))) "\n")) + '(:fmt (lambda (cell) (format outputformat cell)))) "\n")) (forward-line -1) (org-cycle)) ((member "file" result-params) (insert result)) @@ -827,7 +830,8 @@ parameters when merging lists." (let ((results-exclusive-groups '(("file" "vector" "table" "scalar" "raw" "org" "html" "latex" "code" "pp") ("replace" "silent") - ("output" "value"))) + ("output" "value") + ("noquotes"))) (exports-exclusive-groups '(("code" "results" "both" "none"))) params results exports tangle cache vars var ref) --8<---------------cut here---------------end--------------->8--- Thanks, Francesco ----------------------------------------------------------------- Regards, Francesco _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode-mXXj517/zsQ@public.gmane.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode