REBOL Developer Network

Post REBOL 2.7.6 compatibility problems here

Carl Sassenrath, CTO
REBOL Technologies
17-Mar-2008 1:52 GMT

Article #0028
Main page || Index || Prior Article [0027] || Next Article [0029] || 66 Comments || Send feedback

This blog is for posting any compatibility problems you have found in 2.7.* relative to 2.6.*.

The purpose of doing this is to help other coders who might be searching for some answers.

For example, using 2.7, the script that builds REBOL stopped working. It is a complex script, and I finally tracked it down to this little change that came from the new SWITCH added back in 2.7.2:

In 2.6.*:

>> switch [x] [y [1] x [2]]
== 2

In 2.7.6:

>> switch [x] [y [1] x [2]]
== none

It make sense because 'x is not the same thing as [x]. The problem is the result of the 2.6 SWITCH code which used SELECT and that allows this kind of selection. (Search for a value or a block sequence of values.) But, in 2.7, SWITCH is a native function and does not have that subtle effect.

And, if you are asking "is this a good coding practice" in general (to use a block with a word as a switch value), the answer is no. It is not good practice, and I avoid that in my own code. (Note: I did not write the above build script.)

66 Comments

Updated 11-Sep-2009   -   Copyright 2006 Carl Sassenrath   -   WWW.REBOL.COM   -   Edit   -   Blogger Source Code