* value.h (COERCE_ARRAY): Don't coerce enums.
(COERCE_ENUM): Don't COERCE_REF.
(COERCE_NUMBER): New macro (same as COERCE_ARRAY then COERCE_ENUM).
* valops.c (value_assign): Only do COERCE_ARRAY if internalvar (let
value_cast handle it otherwise); do *not* COERCE_ENUM either way.
* valarith.c: Use COERCE_NUMBER instead od COEREC_ARRAY.
Add COERCE_REF before COERCE_ENUM.
* values.c (value_as_long): Simplify.
This fixes PR chill/8869.
* valops.c (value_array): Create internalvar if !c_style_arrays.