Hi Bill, hello Gaby,

Look at this...

http://lists.gnu.org/archive/html/axiom-developer/2005-12/msg00262.html

I would even say: Throw away the noweb sources, throw away this awk script and rather go to the Axiom sources and correct a usage of an undefined chunk. Why would one want to have undefined chunks in the first place?

See also

http://lists.gnu.org/archive/html/axiom-developer/2005-12/msg00247.html

That is a bug. Ahm, was a bug, because "noweb 2.11 - released 6 April 2006" (http://www.eecs.harvard.edu/~nr/noweb/dist/noweb/CHANGES) seems to have corrected it. I've not yet time to check 2.11, though.

Ralf


On 05/04/2006 03:34 AM, Page, Bill wrote:
Gaby,

Thanks for your continuing work on the Axiom Silver branch! :)

On Wednesday, May 03, 2006 4:36 PM you wrote:
...
Tim Daly (root) wrote: | modules.c is one way to fix the noweb bug. i've submitted it
| as a patch to norman ramsey but he rejected it saying that i
| should use sed/awk to fix the problem rather than patch the
| C code. unfortunately i'm not a sed/awk programmer so rather
| than learn two new tools i simply kept the patch (which works).

Can you give me a test for detecting the problem, or at least
a detailed description of how to reproduce it?  Did Norman
Ramsey suggest on which file you should use the sed/awk fix?
Again, I'm willing to help out that issue:  It stands in my
way of making progress on the build machinery stuff.

Please forgive my irritation but this issue *has* been discussed
repeatedly on this list. Most recently see:

http://lists.gnu.org/archive/html/axiom-developer/2005-12/msg00226.html

Here is the awk script again since the version stored in the
axiom-developer archive is mangled because it confuses some of
script with an email address:

axiom-noweb:
------------

#!/bin/sh

awk '
/@use /  { uses [substr($0, 6)] = 1 }
/@defn / { defns[substr($0, 7)] = 1 }
{ print }
END {
  for (i in uses)
    if (!defns[i])
      printf "@begin [EMAIL PROTECTED] [EMAIL PROTECTED]@text <<%s>>[EMAIL 
PROTECTED] code\n", i,
i
}'

exit 0

# test with

sed '1,/test with/d' $0 | notangle -filter $0

<<*>>=
return x << 2 >> 2;
@

--------

All we have to do is include this script with the Axiom
distribution and call it as a filter as he shows.

% notangle -filter axiom-noweb

Really, this script is not so hard to understand is it? The
documentation for noweb filters is here:

http://www.literateprogramming.com/noweb_hacker.pdf

--------

Regards,
Bill Page.


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to