chicken-hackers
[Top][All Lists]
Advanced

[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

Attachment: 0001-Make-setters-special-cased-parameter-setters-compati.chicken-5.patch
Description: Text Data

Attachment: 0001-Make-setters-special-cased-parameter-setters-compati.master.patch
Description: Text Data

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]