Ar an ceathrú lá déag de mí Lúnasa, scríobh Stephen J. Turnbull:
> > Doing this with an eval-when-compile is kind of evil,
since it makes
> > the semantics of compiled code different from interpreted code.
> Hmm? Not in a significant way;
Eh? Interpreted code *won't work correctly in 21.5* as I understand
it. No? Or is that only in the case of the "needed patches" you
refer to above?
1) Interpreted code that uses the multiple-values functions consistently
will continue to work in as far as it ever did in 21.4, and will work
correctly in 21.5-with-multiple-values.
2) Code compiled by 21.4, that uses the multiple-values functions, and
without patch http://mid.gmane.org/19070.60359.500812.167386＠parhasard.net
will have subtle problems when run in 21.5 with the multiple-values patch.
This is because it assumes that #'values is an alias for #'list, and that
#'values-list is an alias for #'identity, and that these aliases are
available at runtime. Most of the package changes just remove the third
assumption, and the forms that deal with multiple values (the expansion of
#'multiple-value-bind, most relevantly) continue to get presented with
3) Code compiled by 21.4 and executed by it, that uses the multiple-values
functions, will work correctly in as far as it ever did.
4) Code compiled by 21.5-with-multiple-values and executed by it, that uses
the multiple-values functions, will work correctly.
5) Code compiled by 21.5-with-multiple-values and executed by 21.4, that uses
the multiple-values functions, will throw an error at the start of the file.
6) Code compiled by 21.5-without-multiple-values, that uses the
multiple-values functions, will work as far as it ever did.
(Also, by “telling people” I meant telling the beta testers encountering the
subtle problems in 2) how to address them, not talking with Vin or Norbert.)
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
XEmacs-Patches mailing list