From: Eric Schulte <schulte.eric@gmail.com>
To: MidLifeXis at PerlMonks <midlifexis@wightmanfam.org>
Cc: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: Re: Regression bug in tangle/weave
Date: Thu, 30 Jun 2011 11:30:50 -0700 [thread overview]
Message-ID: <8762nn8945.fsf@gmail.com> (raw)
In-Reply-To: <1309447445.43453.YahooMailNeo@web81602.mail.mud.yahoo.com> (MidLifeXis at PerlMonks's message of "Thu, 30 Jun 2011 08:24:05 -0700 (PDT)")
[-- Attachment #1: Type: text/plain, Size: 975 bytes --]
Hi,
Indeed this example below no longer works, however I believe the new
behavior is both desired and permanent. I'll explain and include an
option for how your example could be restructured to work with the new
code.
We ran into problems automatically removing trailing newlines from code
block bodies as in some languages (looking at you Python and Haskell)
things like trailing newlines are of syntactic importance. In your
example this behavior results in the insertion of newlines after
file-name and file-version. Babel is careful to preserve line prefixes
when expanding references in comments, so it then reproduces the
# Generated from
portion of that line for every line of the expanded noweb references.
I would suggest the following alternatives, either using a data
references in stead of a code block reference as in the file-version
example below, or using an evaluated code block as in the file-name
example below. Hope this helps.
Best -- Eric
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: ATestFile.org --]
[-- Type: text/x-org, Size: 1081 bytes --]
* Bugs
** SOMEDAY org-mode bug with tangle and newlines
:PROPERTIES:
:created: [2011-06-30 Thu 10:00]
:ID: e4c992b5-4d35-443b-b34a-0fbda7c66aea
:END:
:LOGBOOK:
- Added on [2011-06-30 Thu 10:00]
:END:
[2011-06-30 Thu]
A regression bug has surfaced in org-mode with the tangle/weave
process mangling the following setup:
#+begin_src perl :noweb yes :tangle testoutput.pl :shebang #!perl
# <<generated-from>>
print "Hello world\n";
#+end_src
#+srcname: generated-from
#+begin_src text :noweb yes
Generated from <<file-name()>> version <<file-version()>>.
#+end_src
#+srcname: file-name
#+begin_src emacs-lisp :var file=(buffer-file-name)
(file-name-nondirectory file)
#+end_src
#+results: file-version
: 1.2.3.4
The last it worked* was sometime in the early 7.4 timeframe. If I
get some time, I may do a bisect on it, although others are welcome
to do the work required. Timeframe is based on memory, not actual
checking, so first a bisect needs to be done to find where it last
worked.
[-- Attachment #3: Type: text/plain, Size: 2202 bytes --]
MidLifeXis at PerlMonks <midlifexis@wightmanfam.org> writes:
> It appears that there may be a regression problem with the current
> tangle/weave process. I used to be able to have a noweb section for
> the name of the file, another for the version of the file, and then
> have an autogenerated header section that included those two pieces of
> information on a single line. Following is an org file snippet of my
> bug description.
>
>
> * Bugs
> ** SOMEDAY org-mode bug with tangle and newlines :BUG:
> :PROPERTIES:
> :created: [2011-06-30 Thu 10:00]
> :ID: e4c992b5-4d35-443b-b34a-0fbda7c66aea
> :END:
> :LOGBOOK:
> - Added on [2011-06-30 Thu 10:00]
> :END:
> [2011-06-30 Thu]
>
> A regression bug has surfaced in org-mode with the tangle/weave
> process mangling the following setup:
>
> #+begin_src perl :noweb yes :tangle testoutput.pl :shebang #!perl
> # <<generated-from>>
> print "Hello world\n";
> #+end_src
>
> #+srcname: generated-from
> #+begin_src text :noweb yes
> Generated from <<file-name>> version <<file-version>>.
> #+end_src
>
> #+srcname: file-name
> #+begin_src text :noweb yes
> ATestFile.org
> #+end_src
>
> #+srcname: file-version
> #+begin_src text :noweb yes
> 1.2.3.4
> #+end_src
>
> The last it worked* was sometime in the early 7.4 timeframe. If I
> get some time, I may do a bisect on it, although others are welcome
> to do the work required. Timeframe is based on memory, not
> actual checking, so first a bisect needs to be done to find where
> it last worked.
>
>
> *** Actual output
>
> #+begin_src perl
> #!perl
>
> # Generated from ATestFile.org
> # Generated from version 1.2.3.4
> # Generated from <<file-name>> version .
> #
> print "Hello world\n";
> #+end_src
>
> *** Expected output (or at least similar)
>
> #+begin_src perl
> #!perl
>
> # Generated from ATestFile.org version 1.2.3.4.
>
> print "Hello world\n";
> #+end_src
>
> * End of org file
>
>
--
Eric Schulte
http://cs.unm.edu/~eschulte/
next prev parent reply other threads:[~2011-06-30 18:31 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-30 15:24 Regression bug in tangle/weave MidLifeXis at PerlMonks
2011-06-30 18:30 ` Eric Schulte [this message]
2011-07-01 12:51 ` MidLifeXis at PerlMonks
2011-07-01 19:14 ` Eric Schulte
2011-07-01 20:40 ` MidLifeXis at PerlMonks
2011-07-01 21:36 ` Eric Schulte
2011-07-05 12:56 ` MidLifeXis at PerlMonks
2011-07-05 15:17 ` Eric Schulte
2011-07-09 16:14 ` Neeum Zawan
2011-07-10 15:46 ` Eric Schulte
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8762nn8945.fsf@gmail.com \
--to=schulte.eric@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=midlifexis@wightmanfam.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).