Hello, Matthew MacLean <archen...@gmail.com> writes:
> Could you review my patch? Thanks..! Thank you for the patch. > diff --git a/lisp/ob-core.el b/lisp/ob-core.el > index e3abe97..01c4da8 100644 > --- a/lisp/ob-core.el > +++ b/lisp/ob-core.el > @@ -2813,34 +2813,37 @@ block but are passed literally to the > \"example-block\"." > (error "Unterminated string in `org-babel-script-escape'")) > (apply #'string (reverse out)))) > > -(defun org-babel-script-escape (str &optional force) > - "Safely convert tables into elisp lists." > - (unless (stringp str) > - (error "`org-babel-script-escape' expects a string")) > - (let ((escaped > - (cond > - ((and (> (length str) 2) > - (or (and (string-equal "[" (substring str 0 1)) > - (string-equal "]" (substring str -1))) > - (and (string-equal "{" (substring str 0 1)) > - (string-equal "}" (substring str -1))) > - (and (string-equal "(" (substring str 0 1)) > - (string-equal ")" (substring str -1))))) > - > - (concat "'" (org-babel--script-escape-inner str))) > - ((or force > - (and (> (length str) 2) > - (or (and (string-equal "'" (substring str 0 1)) > - (string-equal "'" (substring str -1))) > - ;; We need to pass double-quoted strings > - ;; through the backslash-twiddling bits, even > - ;; though we don't need to change their > - ;; delimiters. > - (and (string-equal "\"" (substring str 0 1)) > - (string-equal "\"" (substring str -1)))))) > - (org-babel--script-escape-inner str)) > - (t str)))) > - (condition-case nil (org-babel-read escaped) (error escaped)))) > +(defun org-babel-script-escape (val &optional force) > + "Safely convert passed in values (including collections of > +them; tables) into elisp lists." First sentence in docstring has to fit in a single line. > + (if (numberp val) > + val > + (unless (stringp val) > + (error "`org-babel-script-escape' expects a string or number")) > + (let ((escaped Arguably, a `cond' might look nicer: (cond ((numberp val) val) ((not (stringp val) (error ...))) (t (let ((escaped ...)) ...))) Could you add a test for that in `test-org-babel/script-escape' (test-ob.el)? Regards, -- Nicolas Goaziou