IRC channel logs
2023-10-13.log
back to list of logs
<graywolf>Heh, when I asked about the problem with ftw, it turns out I used it in a correct way. It is just that the guile compiles in the getuid and getgid values used during the compilation (of guile). So it makes sense that ftw thinks it cannot entry the directory with 0700 owned by my user... <mwette>disassembly of my own-built guile; looks like a bug <graywolf>Hm, I wonder why getuid-or-false is a macro. <graywolf>wait, what does macro without '() even do? Like, how does (define-macro (foo) (...)) and (define-macro (foo) '(...)) differ? <dthompson>myself, cwebber, and robin from spritely will be appearing shortly :) <graywolf>When I send a patch fixing a bug, should it go to the NUMBER@debbugs.gnu.org or bug-guile@gnu.org or is there a separate address for patches? <mwette>graywolf: I think the macro needs an eval-when set-up <RhodiumToad>it needs to not be a defmacro, or it needs to quote its expansion of (getuid) etc. <RhodiumToad>as written the whole macro executes at compile time and substitutes a constant datum into the expansion <RhodiumToad>it could have been for example (if (defined? 'getuid) '(getuid) #f) instead <RhodiumToad>graywolf: given (define-macro (foo) (...)) then (foo) evaluates the (...) and its result replaces the (foo) form <RhodiumToad>ACTION wonders why on earth it is a defmacro rather than a syntax rule <dsmith-work>Need to provide a mild electric shock whenever writing new code using defmacro.. You can still do it, but it should be.. uncomfortable. <RhodiumToad>maybe (define-syntax getuid-or-false (if (defined? 'getuid) (syntax-rules () ((_) (getuid))) (syntax-rules () ((_) #f))))