diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-04-03 20:44:41 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-04-03 20:44:41 -0700 |
commit | 5249db385aa8434d19924457a83d8bb164d9fc96 (patch) | |
tree | c0bd0075dbfb79228f46919a53dfb735e629e80b /linenoise | |
parent | 324c43c51202e914e8742e855d788312c9ebb47d (diff) | |
download | txr-5249db385aa8434d19924457a83d8bb164d9fc96.tar.gz txr-5249db385aa8434d19924457a83d8bb164d9fc96.tar.bz2 txr-5249db385aa8434d19924457a83d8bb164d9fc96.zip |
apply and iapply bugfix: split sequences into args.
These functions don't conform with the documentation. For
instance [apply list "abc"] yields "abc". It is supposed to
yield (#\a #\b #\c), since the characters of "abc" must become
individual arguments to list. Part of the fix is in the
apply_frob_args logic; however, we have to clone that function
because it is used for implementing other things which
will break: we cannot, for for example, have (list* 1 "ab")
producing (1 #\a #\b).
* eval.c (apply_intrisic_frob_args): New static function.
Differs from apply_frob_args in that it calls tolist
on the final element.
(apply_intrinsic): Use apply_intrinsic_frob_args
instead of apply_frob_args.
(iapply): Invoke tolist on the value assigned to last_arg.
* txr.1: Add a clarifying note for iapply that the terminating
atom is not split into arguments if it is a sequence.
Diffstat (limited to 'linenoise')
0 files changed, 0 insertions, 0 deletions