* [BABEL][BUG] lists and inline src
@ 2012-09-18 21:48 cberry
2012-09-19 7:31 ` Bastien
0 siblings, 1 reply; 9+ messages in thread
From: cberry @ 2012-09-18 21:48 UTC (permalink / raw)
To: emacs-orgmode
My apologies if this is already reported (I recall seeing something like
this, but cannot find it in the archives).
A list element starting with an inline src block is improperly
parsed. for example
- src_emacs-lisp{(org-version)}
is not executed by babel. An ECM:
,----
| * virgin version
|
| The version is src_emacs-lisp{(org-version)}
|
| * list versions
|
| - The version is
| - src_emacs-lisp{(org-version)}
| - The version is
| - now src_emacs-lisp{(org-version)}
`----
yields
,----
| ...
| \section{virgin version}
| \label{sec-1}
|
|
| The version is \verb=7.9.1=
| \section{list versions}
| \label{sec-2}
|
|
| \begin{itemize}
| \item The version is
| \item src$_{\mathrm{emacs}}$-lisp\{(org-version)\}
| \item The version is
| \item now \verb=7.9.1=
| \end{itemize}
| ...
`----
Chuck
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BABEL][BUG] lists and inline src
2012-09-18 21:48 [BABEL][BUG] lists and inline src cberry
@ 2012-09-19 7:31 ` Bastien
2012-09-19 15:45 ` cberry
0 siblings, 1 reply; 9+ messages in thread
From: Bastien @ 2012-09-19 7:31 UTC (permalink / raw)
To: cberry; +Cc: emacs-orgmode
Hi Chuck,
cberry@tajo.ucsd.edu writes:
> My apologies if this is already reported (I recall seeing something like
> this, but cannot find it in the archives).
>
> A list element starting with an inline src block is improperly
> parsed.
I cannot reproduce this with Org 7.9.1.
--
Bastien
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BABEL][BUG] lists and inline src
2012-09-19 7:31 ` Bastien
@ 2012-09-19 15:45 ` cberry
2012-09-19 23:50 ` [New Latex Exporter][BABEL][BUG] " Eric Schulte
0 siblings, 1 reply; 9+ messages in thread
From: cberry @ 2012-09-19 15:45 UTC (permalink / raw)
To: emacs-orgmode
Bastien <bzg@altern.org> writes:
> Hi Chuck,
>
> cberry@tajo.ucsd.edu writes:
>
>> My apologies if this is already reported (I recall seeing something like
>> this, but cannot find it in the archives).
>>
>> A list element starting with an inline src block is improperly
>> parsed.
>
> I cannot reproduce this with Org 7.9.1.
I just did a git pull, trimmed my .emacs down to
(setq load-path (cons "~/elisp/org-mode/lisp" load-path))
(setq load-path (cons "~/elisp/org-mode/contrib/lisp" load-path))
renamed customizations.el, started Aquamacs, loaded org-e-latex.el and
reran
(org-export-to-buffer 'e-latex "*Test e-LaTeX*" nil nil t)
I am still getting the same result.
What else can I do to get to the bottom of this??
Chuck
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [New Latex Exporter][BABEL][BUG] lists and inline src
2012-09-19 15:45 ` cberry
@ 2012-09-19 23:50 ` Eric Schulte
2012-09-20 12:13 ` Nicolas Goaziou
0 siblings, 1 reply; 9+ messages in thread
From: Eric Schulte @ 2012-09-19 23:50 UTC (permalink / raw)
To: cberry; +Cc: Nicolas Goaziou, emacs-orgmode
cberry@tajo.ucsd.edu writes:
> Bastien <bzg@altern.org> writes:
>
>> Hi Chuck,
>>
>> cberry@tajo.ucsd.edu writes:
>>
>>> My apologies if this is already reported (I recall seeing something like
>>> this, but cannot find it in the archives).
>>>
>>> A list element starting with an inline src block is improperly
>>> parsed.
>>
>> I cannot reproduce this with Org 7.9.1.
>
> I just did a git pull, trimmed my .emacs down to
>
> (setq load-path (cons "~/elisp/org-mode/lisp" load-path))
> (setq load-path (cons "~/elisp/org-mode/contrib/lisp" load-path))
>
> renamed customizations.el, started Aquamacs, loaded org-e-latex.el and
> reran
>
> (org-export-to-buffer 'e-latex "*Test e-LaTeX*" nil nil t)
>
> I am still getting the same result.
>
> What else can I do to get to the bottom of this??
>
Hi Chuck,
Does this problem present itself when you execute the inline code block
interactively, or only when using the new latex exporter? If the later
then it is a latex exporter bug and not a Babel bug. I've updated the
subject line so that hopefully the latex export experts will notice this
message.
Cheers,
>
> Chuck
>
>
--
Eric Schulte
http://cs.unm.edu/~eschulte
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [New Latex Exporter][BABEL][BUG] lists and inline src
2012-09-19 23:50 ` [New Latex Exporter][BABEL][BUG] " Eric Schulte
@ 2012-09-20 12:13 ` Nicolas Goaziou
2012-09-20 14:28 ` Eric Schulte
0 siblings, 1 reply; 9+ messages in thread
From: Nicolas Goaziou @ 2012-09-20 12:13 UTC (permalink / raw)
To: Eric Schulte; +Cc: emacs-orgmode, cberry
Hello,
Eric Schulte <eric.schulte@gmx.com> writes:
> Does this problem present itself when you execute the inline code block
> interactively, or only when using the new latex exporter? If the later
> then it is a latex exporter bug and not a Babel bug. I've updated the
> subject line so that hopefully the latex export experts will notice this
> message.
Indeed, the parser doesn't understand:
- src_emacs-lisp{(+ 1 2)}
That's a bug. The problem is related to
`org-babel-inline-src-block-regexp', which is used by the parser. More
accurately, at the beginning of that regexp, there is:
"\\(?:^\\|[^-[:alnum:]]\\)\\(src_"
Item contents start at the "s" from "src" but the regexp cannot match
from there. So, is "[^-[:alnum:]]" (and, therefore,
"\\(?:^\\|[^-[:alnum:]]\\)") really necessary? Why couldn't an user be
able to write an inline-src-block in the middle of something (for
example with raw results)?
If checking the character before the inline-src-block object is
mandatory, I'll have to rely on an hack in org-element.el, along the
lines of:
#+begin_src emacs-lisp
(save-excursion
(unless (bolp) (backward-char))
(re-search-forward org-babel-inline-src-block-regexp nil limit)
...)
#+end_src
Obviously, I'd rather have the first part of the regexp removed.
What do you think?
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [New Latex Exporter][BABEL][BUG] lists and inline src
2012-09-20 12:13 ` Nicolas Goaziou
@ 2012-09-20 14:28 ` Eric Schulte
2012-09-20 17:07 ` Nicolas Goaziou
0 siblings, 1 reply; 9+ messages in thread
From: Eric Schulte @ 2012-09-20 14:28 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: cberry, emacs-orgmode
Nicolas Goaziou <n.goaziou@gmail.com> writes:
> Hello,
>
> Eric Schulte <eric.schulte@gmx.com> writes:
>
>> Does this problem present itself when you execute the inline code block
>> interactively, or only when using the new latex exporter? If the later
>> then it is a latex exporter bug and not a Babel bug. I've updated the
>> subject line so that hopefully the latex export experts will notice this
>> message.
>
> Indeed, the parser doesn't understand:
>
> - src_emacs-lisp{(+ 1 2)}
>
> That's a bug. The problem is related to
> `org-babel-inline-src-block-regexp', which is used by the parser. More
> accurately, at the beginning of that regexp, there is:
>
> "\\(?:^\\|[^-[:alnum:]]\\)\\(src_"
>
> Item contents start at the "s" from "src" but the regexp cannot match
> from there. So, is "[^-[:alnum:]]" (and, therefore,
> "\\(?:^\\|[^-[:alnum:]]\\)") really necessary? Why couldn't an user be
> able to write an inline-src-block in the middle of something (for
> example with raw results)?
>
Thanks for finding the source of this problem. The preceding character
is checked so that inline source blocks can be commented. E.g., a user
may want =src_sh{date}= to appear verbatim. Similarly if the preceding
character is a letter e.g., notsrc_sh{date}, then the source block
should not be executed.
>
> If checking the character before the inline-src-block object is
> mandatory, I'll have to rely on an hack in org-element.el, along the
> lines of:
>
> #+begin_src emacs-lisp
> (save-excursion
> (unless (bolp) (backward-char))
> (re-search-forward org-babel-inline-src-block-regexp nil limit)
> ...)
> #+end_src
>
> Obviously, I'd rather have the first part of the regexp removed.
>
> What do you think?
>
Ideally there would be a way to specify that *if* a character exists
before the code block it must have some property, or to match the
beginning of the element as another regexp option. I would say we can
go ahead and remove the leading portion of the regexp, but as I recall I
wrote it in response to legitimate complaints on the mailing list about
the overly permissive behavior of inline source blocks, and I do not
want for those problems to re-emerge.
Best,
>
>
> Regards,
--
Eric Schulte
http://cs.unm.edu/~eschulte
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [New Latex Exporter][BABEL][BUG] lists and inline src
2012-09-20 14:28 ` Eric Schulte
@ 2012-09-20 17:07 ` Nicolas Goaziou
2012-09-20 17:26 ` Eric Schulte
0 siblings, 1 reply; 9+ messages in thread
From: Nicolas Goaziou @ 2012-09-20 17:07 UTC (permalink / raw)
To: Eric Schulte; +Cc: cberry, emacs-orgmode
Hello,
Eric Schulte <eric.schulte@gmx.com> writes:
> Thanks for finding the source of this problem. The preceding character
> is checked so that inline source blocks can be commented. E.g., a user
> may want =src_sh{date}= to appear verbatim.
=src_sh{date}= won't be expanded by `org-babel-exp-non-block-elements'
(is there another function executing them?) since the current version
checks object at point (in this case, it is a verbatim object, not an
inline-src-block). So, in this case, there's no need for the check.
> Similarly if the preceding character is a letter e.g.,
> notsrc_sh{date}, then the source block should not be executed.
I don't understand why it wouldn't be expanded in that situation. It can
be useful if results are raw: it becomes a beefed-up macro.
> Ideally there would be a way to specify that *if* a character exists
> before the code block it must have some property, or to match the
> beginning of the element as another regexp option. I would say we can
> go ahead and remove the leading portion of the regexp, but as I recall I
> wrote it in response to legitimate complaints on the mailing list about
> the overly permissive behavior of inline source blocks, and I do not
> want for those problems to re-emerge.
I understand, but it looks like a very drastic solution. It may be worth
reconsidering it for 8.x branch. If problems re-emerge then, test cases
will be provided. What do you think about it?
For 7.9.x, I'll just commit the workaround.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [New Latex Exporter][BABEL][BUG] lists and inline src
2012-09-20 17:07 ` Nicolas Goaziou
@ 2012-09-20 17:26 ` Eric Schulte
2012-09-20 19:27 ` Nicolas Goaziou
0 siblings, 1 reply; 9+ messages in thread
From: Eric Schulte @ 2012-09-20 17:26 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: emacs-orgmode, cberry, Eric Schulte
Nicolas Goaziou <n.goaziou@gmail.com> writes:
> Hello,
>
> Eric Schulte <eric.schulte@gmx.com> writes:
>
>> Thanks for finding the source of this problem. The preceding character
>> is checked so that inline source blocks can be commented. E.g., a user
>> may want =src_sh{date}= to appear verbatim.
>
> =src_sh{date}= won't be expanded by `org-babel-exp-non-block-elements'
> (is there another function executing them?) since the current version
> checks object at point (in this case, it is a verbatim object, not an
> inline-src-block). So, in this case, there's no need for the check.
>
>> Similarly if the preceding character is a letter e.g.,
>> notsrc_sh{date}, then the source block should not be executed.
>
> I don't understand why it wouldn't be expanded in that situation. It can
> be useful if results are raw: it becomes a beefed-up macro.
>
>> Ideally there would be a way to specify that *if* a character exists
>> before the code block it must have some property, or to match the
>> beginning of the element as another regexp option. I would say we can
>> go ahead and remove the leading portion of the regexp, but as I recall I
>> wrote it in response to legitimate complaints on the mailing list about
>> the overly permissive behavior of inline source blocks, and I do not
>> want for those problems to re-emerge.
>
> I understand, but it looks like a very drastic solution. It may be worth
> reconsidering it for 8.x branch. If problems re-emerge then, test cases
> will be provided. What do you think about it?
>
> For 7.9.x, I'll just commit the workaround.
>
Yea, that sounds reasonable, thanks for taking care of this. If I find
time I'll dig through the mailing list and see if I can find the exact
reason why that portion of the regexp was added.
I've had the experience before of reverting a piece of code that seemed
superfluous to then have old bugs re-emerge and finally revert my
reversion. So I now try to err on the side of deference towards
existing code.
Cheers,
>
>
> Regards,
--
Eric Schulte
http://cs.unm.edu/~eschulte
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [New Latex Exporter][BABEL][BUG] lists and inline src
2012-09-20 17:26 ` Eric Schulte
@ 2012-09-20 19:27 ` Nicolas Goaziou
0 siblings, 0 replies; 9+ messages in thread
From: Nicolas Goaziou @ 2012-09-20 19:27 UTC (permalink / raw)
To: Eric Schulte; +Cc: emacs-orgmode, cberry
Eric Schulte <eric.schulte@gmx.com> writes:
> Yea, that sounds reasonable, thanks for taking care of this. If I find
> time I'll dig through the mailing list and see if I can find the exact
> reason why that portion of the regexp was added.
That would be a great starting point to avoid repeating past mistakes.
> I've had the experience before of reverting a piece of code that seemed
> superfluous to then have old bugs re-emerge and finally revert my
> reversion. So I now try to err on the side of deference towards
> existing code.
I know the feeling. But I'm pretty confident on this one.
BTW, the bug should be fixed in 7.9.x now.
Regards,
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-09-20 19:31 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-18 21:48 [BABEL][BUG] lists and inline src cberry
2012-09-19 7:31 ` Bastien
2012-09-19 15:45 ` cberry
2012-09-19 23:50 ` [New Latex Exporter][BABEL][BUG] " Eric Schulte
2012-09-20 12:13 ` Nicolas Goaziou
2012-09-20 14:28 ` Eric Schulte
2012-09-20 17:07 ` Nicolas Goaziou
2012-09-20 17:26 ` Eric Schulte
2012-09-20 19:27 ` Nicolas Goaziou
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).