diff --git a/config.c b/config.c index 2bfffe8..6c6e5f4 100644 --- a/config.c +++ b/config.c @@ -94,6 +94,7 @@ NAMETYPE configs[] = { {"redc2", CONFIG_REDC2}, {"tilde", CONFIG_TILDE}, {"tilde_space", CONFIG_TILDE_SPACE}, + {"fraction_space", CONFIG_FRACTION_SPACE}, {"tab", CONFIG_TAB}, {"quomod", CONFIG_QUOMOD}, {"quo", CONFIG_QUO}, @@ -132,7 +133,6 @@ NAMETYPE configs[] = { {"redecl_warn", CONFIG_REDECL_WARN}, {"dupvar_warn", CONFIG_DUPVAR_WARN}, {"hz", CONFIG_HZ}, - {"fraction_space", CONFIG_FRACTION_SPACE}, {NULL, 0} }; @@ -644,6 +644,20 @@ setconfig(int type, VALUE *vp) } break; + case CONFIG_FRACTION_SPACE: + if (vp->v_type == V_NUM) { + q = vp->v_num; + conf->fraction_space = !qiszero(q); + } else if (vp->v_type == V_STR) { + temp = lookup_long(truth, vp->v_str->s_str); + if (temp < 0) { + math_error("Illegal truth value for fraction_space"); + not_reached(); + } + conf->fraction_space = (int)temp; + } + break; + case CONFIG_TAB: if (vp->v_type == V_NUM) { q = vp->v_num; @@ -1009,20 +1023,6 @@ setconfig(int type, VALUE *vp) not_reached(); break; - case CONFIG_FRACTION_SPACE: - if (vp->v_type == V_NUM) { - q = vp->v_num; - conf->fraction_space = !qiszero(q); - } else if (vp->v_type == V_STR) { - temp = lookup_long(truth, vp->v_str->s_str); - if (temp < 0) { - math_error("Illegal truth value for fraction_space"); - not_reached(); - } - conf->fraction_space = (int)temp; - } - break; - default: math_error("Setting illegal config parameter"); not_reached(); @@ -1243,6 +1243,10 @@ config_value(CONFIG *cfg, int type, VALUE *vp) i = (cfg->tilde_space ? 1 : 0); break; + case CONFIG_FRACTION_SPACE: + i = (cfg->fraction_space ? 1 : 0); + break; + case CONFIG_TAB: i = (cfg->tab_ok ? 1 : 0); break; @@ -1422,10 +1426,6 @@ config_value(CONFIG *cfg, int type, VALUE *vp) i = CALC_HZ; break; - case CONFIG_FRACTION_SPACE: - i = (cfg->fraction_space ? 1 : 0); - break; - default: math_error("Getting illegal CONFIG element"); not_reached(); diff --git a/help/config b/help/config index 4f6ebb5..c9dfaca 100644 --- a/help/config +++ b/help/config @@ -372,7 +372,7 @@ DESCRIPTION If config("tilde") is false, then config("tilde_space") has no effect. - The initial "tilde" value is 1. + The initial "tilde" value is 1 (on). =-= @@ -385,7 +385,22 @@ DESCRIPTION NOTE: Use of config("tilde_space", 1) can break printing and scanning of complex values via "%c". - The initial "tilde_space" value is 0. + The initial "tilde_space" value is 0 (off) + + =-= + + config("fraction_space", boolean) + + The "fraction_space" controls whether or not a space (' ') is + printed both before and after '/' when printing a fraction. + + 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". + + The initial "fraction_space" value is 0 (off). =-= @@ -902,21 +917,6 @@ DESCRIPTION This config parameter is read-only and cannot be set. - =-= - - config("fraction_space", boolean) - - The "fraction_space" controls whether or not a space (' ') is - printed both before and after '/' when printing a fraction. - - 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". - - The initial "fraction_space" value is 0. - EXAMPLE ; current_cfg = config("all"); ; config("tilde", off),;