No problem. The fix is now in args 1.4.4.
On Aug 5, 2013, at 21:54, Jonathan Chan j...@fastmail.fm wrote:
Sorry for the delayed reply - I missed your message for some reason. The
patch does work! Thanks for the help and for the useful egg.
--
Jonathan Chan
On Sun, Aug 4, 2013, at 06:43 AM, Jim Ursetto wrote:
Did you try my patch? You don't have to rewrite anything, it's a bug in
the args egg.
On Aug 4, 2013, at 2:13 AM, Jonathan Chan j...@fastmail.fm wrote:
Thank you for the help! This is definitely a very interesting language to
learn.
On 08/03/2013 09:06 AM, John Cowan wrote:
Jonathan Chan scripsit:
Here is the smallest amount of args-using Chicken that will cause the
problem:
(define-syntax test
(syntax-rules ()
((test)
(begin
(define opts (list (args:make-option (h help) #:none display
this text (print foo
(write (args:parse (command-line-arguments) opts))
[...]
The strange thing is that h and help seem to have turned into (h390
help391), causing problems.
This is not a Chicken-specific problem, but a general problem
with non-hygienic macros. You are using the non-hygienic macro
args:make-option within a hygienic macro. The syntax-rules transformer
doesn't know that h and help are being used literally here (because
it cannot tell what args:make-option does), so it systematically renames
them to avoid collisions.
Is there something I need to change to fix the problem? Sorry for many
misunderstandings.
You can rewrite test as a non-hygienic (explicit renaming or implicit
renaming) macro.
--
Jonathan Chan
j...@fastmail.fm
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users