|
From: | Vladimir Panteleev |
Subject: | Re: [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments |
Date: | Wed, 14 Mar 2018 14:03:56 +0000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
Hi, On 2018-03-14 13:49, Nicolas Goaziou wrote:
Vladimir Panteleev <address@hidden> writes:I agree that it is strange. I mentioned it (and its strangeness) in the cover-letter. The documentation of org-sbe describes it as well.AFAICT, it doesn't. "org-sbe" describes a dollar _prefix_, but yours stands on its own. It prefixes nothing.
I wrote about this in the cover letter too. $"foo" and $ "foo" are both the same thing. In both cases, they are two distinct lisp tokens. The way $ is presented as a string/reference "prefix" is through convention only.
Or are you objecting on stylistic grounds, that the test case from my patch doesn't follow the convention of omitting whitespace after the $ token, thus making it look like a prefix? This is, of course, subjective, but I would prefer to not perpetuate the illusion that $"foo" is some magical Emacs Lisp language syntax for a new kind of string literal, at least in the test suite.
Also, it seems to apply only to cell's references, whereas your example provides a strings which is clearly not a reference. I'm confused.
The references are substituted with string literals before the $-prefix handling occurs. This is why it doesn't work with ranges.
I agree that it is all very confusing, and there is a lot of room for improvement. That doesn't stand in the way of this patch series, though.
What happens if you use (org-sbe "identity" (x ...)) instead?
No difference. As can be seen from org-sbe's implementation, the normalization of symbols and string literals occurs before attempting to resolve references.
-- Best regards, Vladimir
[Prev in Thread] | Current Thread | [Next in Thread] |