* Has been failing intermittently on various platforms, apparently as long as it has been there. Log as bug #428.
* Mention putative buildability on Win64 in NEWS. * Weak hash tables are supposed to work, don't say otherwise on the man-page. * Tweak README: mention INSTALL first. Manual lives in doc/manual nowadays, INSTALL tells how to build it.
* Reported by Josh Morrison. Regression from the recent DEFSTRUCT constructor hacking. Slots initialized by constructor lambda-list arguments have their types checked, but those slots always initialized directly by the initform values did not -- wrap the DSD-DEFAULT in a THE.
* Explanation and test-case from Alexey Dejneka -- mistakes are mine in the transcription. * Note about REFs to DX closures violating the rule -- which is why we cannot assert it right now. * Use DO-USES instead of DOLIST in UPDATE-UVL-LIVE-SETS. * Fix a stray typo in comment in USE-GOOD-FOR-DX-P.
* Use MAYBE-PSEUDO-ATOMIC in the LIST-OR-LIST* VOP: stack allocation doesn't need PA. * When using STACK-ALLOCATE-P parameter with ALLOCATION, also pass in the lowtag. This allows us to generate LEA REG [STACK_REG+LOWTAG] instead of MOV REG STACK_REG LEA REG [REG+LOWTAG] for stack allocation & tagging. On x86-64 can use the same trick in the inline path for heap allocation as well.
* New function INSERT-NODE-BEFORE, makes the action easier to understand by separating out the entry/cleanup creation from the flow-graph hacking.
* Consider this a clarification of 188.8.131.52: MAP-BLOCK-NLXES will miss calls that don't end their blocks. If let-conversion happens, as is the case most of the time, this is not an issue, since the LAMBDA-CALL-LEXENV will hold the lexenv with the cleanup. A :LET functional, however, should never appear in RECOGNIZE-DYNAMIC-EXTENT-LVARS, since let-conversion doesn't happen until later -- so the conditional was bogus. So: delete the conditional, and write a comment that points in the place where we depend on the block-endingness. * Add a FIXME note to another DX related place where we make nodes end their blocks, which I don't quite understand.
* When a non-let function has dynamic extent arguments, the combination must end its block, or stack analysis will miss the cleanup, and stack will be popped too soon.
* STYLE-WARN for argument list mismatches for all already-defined functions.
* Change definition of UNINTERESTING-ORDINARY-FUNCTION-REDEFINITION-P so that replacing an interpreted function is always uninteresting when the new definition comes from the same file. * Monkey with source-locations so that they get created during LOAD of a source file when *EVALUATOR-MODE* is :INTERPRET.
* Recently-renamed FUNCTION-KEYWORD-PARAMETERS did something different than what FUNCTION-KEYWORDS is supposed to do. Fix FUNCTION-KEYWORDS, and re-add a distinct FUNCTION-KEYWORD-PARAMETERS (used indirectly by DESCRIBE, something in sb-introspect, maybe elsewhere).
…sockets. * Contributed by Matthew D. Swank
* Add various subclasses of STYLE-WARNING in src/code/condition.lisp for most of the cases signaled around the system. (A few style warnings remain SIMPLE-STYLE-WARNINGS for now.) * Make STYLE-WARN be like WARN (take a condition class name and arguments). * Change over many callers of STYLE-WARN to supply names of new STYLE-WARNING classes and initargs for those conditions. * Set the default value of SB-EXT:*MUFFLED-WARNINGS* to a type that includes uninteresting redefinitions of functions and methods.
* Dynamic-space was too large after the last adjustment.
* Thanks to John Connors if this works, blame me if it doesn't (untested, as I don't have a Windows box available, but reputedly this should be good for both Win32 and Win64.) Source: http://article.gmane.org/gmane.lisp.steel-bank.devel/10686
* During EVAL-WHEN (:COMPILE-TOPLEVEL) and LOAD, record both the filename and the S-expression in the DEBUG-SOURCE. * Change clients of the DEBUG-SOURCE structure to use the new slots. (This also affects SLIME.)
* Incorrect definition lead to segfault during gencgc when gencgc_verbose>1.
* We had two, of which CEIL-POWER-OF-TWO with arguments that already were powers of two returned the *next* power of two, and not the argument, whereas POWER-OF-TWO-CEILING returned the argument if it already was a power of two. As far as I can tell returning the argument is fine in those case in places where CEIL-POWER-OF-TWO was used, so replace it with POWER-OF-TWO-CEILING -- which really doesn't have to be inline.
…EYWORDS * Not that anyone seems to have missed it yet...
* One more bug in TRANSFORM-LIST-ITEM-SEEK.
* Derived type of the second argument can eg. be a MEMBER type with where all members are not valid type specifiers: this is a runtime error, not a compile-time one.
* Don't convert (op <int> <single>) to (op (float <int> <single>) <single) if the integer may be too large for accurate conversion.
* In SAFELY-BINOP, when the other argument must be coerced to single float, punt if it is an integer that cannot be exactly represented as a single float. * Fixes bug 420, and a whole slew of MISC failures in ansi-tests -- including the ones that used to cause a hard crash or a hang: cvs up -dPC your ansi-test trees, and should huzzah!
* CTYPEP used to retur a secondary value of true in cases where the function in question was not foldable. * Slightly sleazily extent SB-C::CONSTANT-FUNCTION-CALL-P (part of CONSTANTP) to return the primary result of the call as the secondary value, so CTYPEP can use it. * Test-case.
* Return value in the no-op case for non-simple-strings must not be the underlying simple string object. * Correct return type (per spec) for STRING-TRIM &co is STRING-DESIGNATOR, but as long as we take care, we can make it STRING -- but the old SIMPLE-STRING is still wrong. * Instead of making WITH-STRING a full-blown Evil Macro, just use WITH-ARRAY-DATA at the call site. * Two more test-cases. patch by James Knight.
* Also refactor some code * Patch by Travis Cross
* Reported by Xach