From: <Joe...@t-...> - 2017-12-04 10:49:45
|
Hi, >What are your plans for the next few weeks? What would you like to hack on soon? I have only 2 items: 1. regexp module #691 I need to change my patch. I've observed that almost no module works in a --without-unicode setting, because most of them reference things like O(misc_encoding) or S(utf_8). My patch allows to use #\ä inside both patterns and search strings. - Patch a) Use O(misc_encoding), ignore --without-unicode. Nothing to debate here. Perhaps good enough already. - Patch b) Change most misc_encoding to Symbol_value(utf_8), except the call to regerror which continues to use misc_encoding. Rationale: gnulib/regexp detects utf-8 internally -- if it has been compiled with Unicode. However, clisp cannot know how it was compiled. - Patch c) Find some way to make the module (and perhaps other modules) work in a --without-unicode setting. 2. Hopefully loop. 2a. (loop for x = x or for x on x or for x from x) bugs #375 and #667 I'm not convinced that Sam's recent change is TRT, but I need time to think about what clause goes where, read ANSI-CL and CLtL2 at least 7 more times etc. and think about the meaning of the AND clause. Perhaps translate some of the remaining german comments, so Sam and others can benefit. My current reading is that there are significant differences in code motion, binding and initialization between ANSI-CL and CLtL2 loop, but maybe I need to reread them and hopefully find a way that can accommodate both without creating trouble. For instance, CLtL2 clearly moves all initially clauses together inside one prog. CLISP alternates FOR and INITIALLY, IIRC. Or at least FOR and WITH. There's an interesting example in CLtL2 where LOOP-FINISH is used inside INITIALLY and references some of the initialized variables to cause termination. 2b. Maybe write a patch to signal an error from (loop for ... and for ...) ; no repetition of for/as after AND, as Pascal mentioned recently. CLtL2 did not allow that either. I just read CLtL2 but did not look at that code part of loop.lsp Regards, Jörg |