* [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).