-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
what function is broken #2419
Comments
Patched. For the bug in LENGTH? on words, and why it was removed instead of fixed: |
hostilefork
referenced
this issue
in metaeducation/ren-c
Aug 23, 2018
The breakdown of bits in a 32-bit value header are that the first 8 are generic node bits (some of which have specific meanings for cells), the next 8 bits are a byte for the "kind of value" indicator, then the next 8 are generic cell/value bits (like whether there is a new line on the value when visualized in an array)...finally the last 8 are datatype-specific. At one point, the third byte was actually the type-specific bits, and bit rebol#23 was taken for a seemingly harmless purpose. That was to indicate trash or unreadability. It didn't apply to most types, so if a VAL_TYPE() operation had a false positive in the "rare" case that a type used all 8 of its type specific bits...that would be fine, as long as it wasn't a trashy type (like an unreadable BLANK! or a trash cell) However, this prohibits the bit from being used for generic purposes that would apply to any cell--including blanks. Since the payload is not used in blanks or trash except to log file/line/tick values, this commit makes an adjustment that can still preserve that info, by flipping the tick value to negative in the case of unreadability. In order to keep the accelerated behavior of VAL_TYPE_Debug that had previously been using bit 23, this just folds that in with the "falsey" flag...so falsehood is used along with other warning bits to quickly shortcut valid values and give back their types. Slower answers will be given back for blanks, nulls, or logic as it is checked to see if they were genuinely falsey or just lumped in.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Just type
what
in the console.....The text was updated successfully, but these errors were encountered: