[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in argume
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 16:23:58 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
On 2018-03-14 15:00, Nicolas Goaziou wrote:
Vladimir Panteleev <address@hidden> writes:
I wrote about this in the cover letter too. $"foo" and $ "foo" are
both the same thing.
Just to make it clear: I read the cover letter. My confusion doesn't
come from the fact I may not have read it.
In that case, I need to apologize for not making it sufficiently clear,
as we're reiterating the same points without making much progress.
I disagree. You are testing an implementation detail here: the fact that
"$" is not necessarily a prefix. According to the docstring, it should
be, so the test should use that, too. What if we rewrite `org-sbe' at
some point?
I'm sorry if I didn't explain it properly in my previous messages. I'll
try again.
The fact that $"foo" and $ "foo" mean the same thing is not an
implementation detail of org-sbe. It is a consequence of Emacs Lisp grammar.
Try evaluating '($"foo") and '($ "foo") in M-:. You will get the same
result, because after tokenization, their representation is identical.
The whitespace between $ and "foo" is completely insignificant.
In fact, if you try to evaluate $"foo" by itself, you will get "Trailing
garbage following expression", because, as I mentioned before, $ and
"foo" are two distinct tokens.
There is absolutely nothing that anyone could change in org-sbe that
would make $ "foo" mean something other than $"foo".
So, whether the test case has a space between $ and "a\"b\"c" is as
relevant as whether it has comments, or uses tabs instead of spaces for
indentation.
I hope this explanation can put this issue to rest.
The same goes for the next string. $"foo", or in your case, $"a\"b\"c"
means nothing in `org-sbe' context. A reference should follow the dollar
character, per `org-sbe' docstring. I suggest to make an equivalent test
with, e.g., $"@1$1", where @1$1 refers to a field containing "a\"b\"c"
or some such.
As I've mentioned, table references are resolved before org-sbe is
invoked. By the time org-sbe begins executing, all table references will
have already been replaced by string literals. Using a table reference
confounds the matter because it is testing more than just org-sbe.
org-sbe's docstring is misleading: $ is not a way to quote just table
references, but any string literals in general. Had it been otherwise
(i.e. $-prefixing being part of the table reference syntax), there would
be no way to pass a string literal (which isn't an interpolated table
cell value) to the indicated function. The doc string should probably be
improved in this regard.
Adding a test which uses a table reference instead of a string literal
won't hurt, but it would be testing several layers at once, and,
assuming cell value interpolation into emacs lisp table formulas is
already tested somewhere else, superfluous.
--
Best regards,
Vladimir
- [O] [PATCH 0/3] org-sbe fixes, Vladimir Panteleev, 2018/03/08
- [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments, Vladimir Panteleev, 2018/03/08
- Re: [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments, Nicolas Goaziou, 2018/03/12
- Re: [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments, Vladimir Panteleev, 2018/03/13
- Re: [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments, Nicolas Goaziou, 2018/03/14
- Re: [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments, Vladimir Panteleev, 2018/03/14
- Re: [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments, Nicolas Goaziou, 2018/03/14
- Re: [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments,
Vladimir Panteleev <=
- Re: [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments, Nicolas Goaziou, 2018/03/18
- Re: [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments, Vladimir Panteleev, 2018/03/18
- Re: [O] [PATCH 1/3] ob-table: Fix org-sbe's handling of quotes in arguments, Nicolas Goaziou, 2018/03/18
- [O] [PATCH v2 0/3] org-sbe fixes, Vladimir Panteleev, 2018/03/18
- [O] [PATCH v2 2/3] ob-table: Fix org-sbe's handling of list arguments, Vladimir Panteleev, 2018/03/18
- [O] [PATCH v2 1/3] ob-table: Fix org-sbe's handling of quotes in cell values, Vladimir Panteleev, 2018/03/18
- [O] [PATCH v2 3/3] ob-table: Mention passing ranges as lists in org-sbe's documentation, Vladimir Panteleev, 2018/03/18
- Re: [O] [PATCH v2 0/3] org-sbe fixes, Nicolas Goaziou, 2018/03/19
- Re: [O] [PATCH v2 0/3] org-sbe fixes, Alan Schmitt, 2018/03/25
- Re: [O] [PATCH v2 0/3] org-sbe fixes, Nicolas Goaziou, 2018/03/25