Add config("fraction_space") to control spaces around printing fractions

Added config("tilde_space", boolean) to help/config, along with
a few few minor text improvements.  Updated cal/regress to test
config("tilde_space").

Added config("fraction_space", boolean).  The "fraction_space" controls
whether or not a space (' ') is printed before and after fractions.
By default, config("fraction_space") is false.

For example, with the default, config("fraction_space", 0):

    ; base(1/3),
    ; 1/7
            1/7

With config("fraction_space", 1):

    ; base(1/3),
    ; 1/7
            1 / 7

NOTE: Use of config("fraction_space", 1) can break printing and scanning
      of fractional values via "%r".

NOTE: Use of config("fraction_space", 1) can break printing and scanning
      of complex values via "%c".

Added config("fraction_space", boolean) to help/config, along with
a few few minor text improvements.  Updated cal/regress to test
config("tilde_space").
This commit is contained in:
Landon Curt Noll
2022-12-03 14:39:25 -08:00
parent 7c6723db88
commit 17702a4799
8 changed files with 132 additions and 8 deletions

1
hash.c
View File

@@ -1002,6 +1002,7 @@ hash_value(int type, void *v, HASH *state)
state = hash_int(type, value->v_config->baseb, state);
state = hash_bool(type, value->v_config->redecl_warn, state);
state = hash_bool(type, value->v_config->dupvar_warn, state);
state = hash_bool(type, value->v_config->fraction_space, state);
break;
case V_HASH: