BIND: fix broken accessors in BIND
Fix an issue where the symbol in WITH-ACCESSORS would be replaced with a gensym
and then be attempted to be rebound in a LET, which breaks since accessors are
symbol macros rather than normal bindings. Does cause accessors to leak in
BIND like how lambdas do, but not a major issue
BIND: fix errant debug FORMAT
BIND: update NEW-LET link in docstring
BIND: fix issue if first form of BIND* is not a list
Fix issue when BIND* attempts to parse for declarations and the first form
isn't a list
NYTPU.LISP-UTILS: add some type declarations
nytpu.lisp-utils, shorthand-lambdas: fix ENABLE-* bugs
nytpu.lisp-utils: fix bug in ENABLE-SYNTAXES
NYTPU.LISP-UTILS, SHORTHAND-LAMBDAS: change enable functions to macros
Change enable functions to macros, enabling a top-level EVAL-WHEN to enable the
readtable at all times.
NYTPU.LISP-UTILS, SHORTHAND-LAMBDAS: COPY-READTABLE by default
The behavior one typically wants is to set *READTABLE* to a new copy, so by
default they now copy. The optional parameter can be set to NIL to avoid
copying.
LISP-UTILS: add TOGGLEF macro
BIND: fix bug where multiple-value bind declarations aren't scoped properly
Due to a bug in GET-BINDING-NAMES, the code wouldn't properly extract the list
of variables bound by MULTIPLE-VALUE-BIND, which means that they wouldn't be
properly replaced with uninterned symbols in BIND and that declarations
wouldn't be moved to the proper scope in BIND*.
BIND: documentation typo fixes
NYTPU.LISP-UTILS.NMAPCAR: substantially reduce remaining consing
A freshly-consed list holding the CAR of every input list is required to call
APPLY on them, but it is now reused without additional consing every iteration.
NYTPU.LISP-UTILS: change all* and match* to functions, and fix bugs
BIND: documentation inaccuracy fix
bump to 2.0.0 because of BIND compatibility break
BIND: fix incompatibility with destructuring lambda lists