Custom Query (1630 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (67 - 69 of 1630)

Ticket Resolution Summary Owner Reporter
#946 fixed csc can delete files specified on the command-line felix winkelmann Alan Post
Description

The follow commands:

touch a.scm b.c
csc -o b a.scm b.c

will delete the file b.c.

I expected, running the above, that the executable b would be created (or any errors in doing so to be reported.) Instead one finds the input file has been deleted.

Minimally I consider this anti-social, maximally I lost a file I'd invested a lot of time writing. :-(

Can a warning, error, or workaround be added to csc so it does not delete input files specified on the command-line?

#1083 invalid cannot import procedure from one egg during macro expansion in another egg. Alan Post
Description

I have two eggs, m0 and m1.

m0 defines a single procedure, f0.

m1 contains an ir-macro make-f1, which defines the procedure f1. It calls m0#f0 during macro expansion.

I get the following error during macro expansion, claiming f1 is undefined:

Error: during expansion of (make-f1 ...) - unbound variable: f0

I believe f0 is bound, and that this expansion should succeed. See attached files.

my csc version:

--(>:)-- csc -V (c) 2008-2013, The Chicken Team (c) 2000-2007, Felix L. Winkelmann Version 4.8.0.5 (stability/4.8.0) (rev f60b2b6) openbsd-unix-gnu-x86 [ manyargs dload ptables ] compiled 2013-12-10 on celia.c0redump.org (OpenBSD)

#381 fixed Report the top-level binding that an error occurs in felix winkelmann Alaric Snell-Pym
Description

One bane of my life is errors like this:

Warning: reference to possibly unbound identifier: archive

Error: module unresolved: ugarit-core

...when just about *every* procedure in ugarit-core has an 'archive' parameter. I eventually traced down the problem with a binary chop by putting deliberate references to unbound identifiers in and looking at the order of the unbound identifiers reported.

I'm not sure if line-number information persists into the expander, but I think that it should be possible to work out the name of the top-level binding (DEFINE, DEFINE-SYNTAX, or whatever) it's inside. I'm guessing that the unbound references are detected after any macros that expand *into* top-level bindings are expanded, so this mechanism would still produce useful results in such situations.

Inside the expander, ##sys#register-undefined registers undefined symbols, but it only seems to be called by ##sys#alias-global-hook which is in turn called only by ##sys#strip-syntax, and I'm not sufficiently versed in Chicken internals to work out what's what above that, as it's called in lots of places.

I see that it's called directly inside many of the core macro definitions inside expander.scm; would it therefore suffice to define a parameter for the "current top-level definition" and set it to the defined name in the macro expanders for DEFINE, DEFINE-SYNTAX, and any others, and if that parameter is not at its default value of #f, report it in errors (and make the unbound identifier list for the module be a list of pairs, mapping unbound identifiers to the top-level definitions they're in?

Would that work, or is strip-syntax called in other dynamic contexts?

Note: See TracQuery for help on using queries.