Custom Query (1630 matches)
Results (67 - 69 of 1630)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#946 | fixed | csc can delete files specified on the command-line | ||
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. | ||
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 | ||
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? |