From 01b5b93cdf4cfb0ba14178f22eb0b1143ef5704f Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 7 Dec 2011 16:30:06 -0800 Subject: * debug.c (debug): Fix regression: repeat last command by hitting Enter stopped working. This was broken by recent bugfixes in the string splitting functions, which introduced a semantics change. * eval.c (flip_s, vecref_s): New symbol variables. (op_modplace): New places (vecref ...) and (flip ...). Bugfix: dec operator was incrementing. (expand_place): Handle vecref and flip. Bugfix: pop has no third argument and so is now handled by the same case as flip. Bugfix: if a modify form has no third argument, then do not resynthesize it with a nil third argument. (eval_init): Initialize new symbol variables. Register new flip operator. Register new list_vectory function as intrinsic. * lib.c (rplacd): When modifying the cdr field of a lazy cons, then lapse the lazy function to nil! This is needed by user-defined lazy conses, and it makes sense to do it this way rather than put in some explicit interface. (list_vector): New function. * lib.h (list_vector): Declared. --- ChangeLog | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 6042d04b..37970ac0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,28 @@ +2011-12-07 Kaz Kylheku + + * debug.c (debug): Fix regression: repeat last command by hitting + Enter stopped working. This was broken by recent bugfixes in the + string splitting functions, which introduced a semantics change. + + * eval.c (flip_s, vecref_s): New symbol variables. + (op_modplace): New places (vecref ...) and (flip ...). Bugfix: dec + operator was incrementing. + (expand_place): Handle vecref and flip. Bugfix: pop has no + third argument and so is now handled by the same case as flip. + Bugfix: if a modify form has no third argument, then do not + resynthesize it with a nil third argument. + (eval_init): Initialize new symbol variables. + Register new flip operator. Register new list_vectory function + as intrinsic. + + * lib.c (rplacd): When modifying the cdr field of a lazy cons, + then lapse the lazy function to nil! This is needed by user-defined + lazy conses, and it makes sense to do it this way rather than + put in some explicit interface. + (list_vector): New function. + + * lib.h (list_vector): Declared. + 2011-12-07 Kaz Kylheku * eval.c (lookup_var, lookup_fun): Reversing assoc arguments. -- cgit v1.2.3