emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] ob-ruby org-babel-ruby-table-or-string numeric argument patch


From: Nicolas Goaziou
Subject: Re: [O] ob-ruby org-babel-ruby-table-or-string numeric argument patch
Date: Sun, 16 Aug 2015 19:20:36 +0200

Hello,

Matthew MacLean <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]