[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-hackers] [PATCH] [PRERELEASE] Fix #1285
From: |
Peter Bex |
Subject: |
[Chicken-hackers] [PATCH] [PRERELEASE] Fix #1285 |
Date: |
Mon, 16 May 2016 13:13:48 +0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
Hi all,
As Evan found out, the new way of parameterizing (fix for #1227) has broken
parameterization of current-{input,output,error}-port (see #1285).
I had a look and the hardcoded/special-cased fake "parameters" are
listed in ##sys#make-thread:
(vector ; #5 state buffer
##sys#dynamic-winds
##sys#standard-input
##sys#standard-output
##sys#standard-error
##sys#default-exception-handler
(##sys#vector-resize ##sys#current-parameter-vector
(##sys#size ##sys#current-parameter-vector) #f) )
So aside from the standard ports, there's also ##sys#dynamic-winds and
##sys#default-exception-handler. As far as I know the dynamic winds
are not supposed to be accessible to the user, in any case there's no
parameter-like API to get or set it. For the exception handler, there
is current-exception-handler, which acts like a parameter, even though
SRFI-12 and SRFI-18 don't state that you should be able to use it as
a parameter (it only defines it as a getter). However, in CHICKEN it
has always worked to do that, so to be on the safe side, I decided to
keep that possible. We may want to drop that "feature" in CHICKEN 5.
Attached are patches for master (should be applied to prerelease as well),
and chicken-5. After this is applied, I think we can make a proper
release, or do y'all think it's needed to make a new RC just for this
fix?
Cheers,
Peter
0001-Make-setters-special-cased-parameter-setters-compati.chicken-5.patch
Description: Text Data
0001-Make-setters-special-cased-parameter-setters-compati.master.patch
Description: Text Data
signature.asc
Description: Digital signature
- [Chicken-hackers] [PATCH] [PRERELEASE] Fix #1285,
Peter Bex <=