1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-02 07:40:30 +02:00

Locale have static tc16

* libguile/print.c (iprin1):
* libguile/eq.c (scm_equal_p): Add case for locales and also regexps
which we missed in the past.
* libguile/finalizers.h:
* libguile/finalizers.c (scm_i_add_locale_finalizer):
(run_finalizer): Add locale finalizers.
* libguile/scm.h (scm_tc16_locale): New tc16.
* module/oop/goops.scm:
* libguile/goops.c: Add locale class.
* libguile/i18n.c: Give locale objects their own tc16.
This commit is contained in:
Andy Wingo 2025-06-18 12:18:24 +02:00
parent a5c70aa914
commit bc43d4f9a7
9 changed files with 84 additions and 25 deletions

View file

@ -760,6 +760,16 @@ iprin1 (SCM exp, SCM port, scm_print_state *pstate)
scm_uintprint (SCM_UNPACK (exp), 16, port);
scm_putc ('>', port);
break;
case scm_tc16_regexp:
scm_puts ("#<regexp ", port);
scm_uintprint (SCM_UNPACK (exp), 16, port);
scm_putc ('>', port);
break;
case scm_tc16_locale:
scm_puts ("#<locale ", port);
scm_uintprint (SCM_UNPACK (exp), 16, port);
scm_putc ('>', port);
break;
default:
abort ();
}