diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-02-04 10:41:44 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-02-04 11:12:28 +0100 |
commit | 8e2e2ceb1745620bef318fc403b6dea2c590f318 (patch) | |
tree | ecb04e47f3dcbe0e552f263b780546e90eb5268e /NEWS | |
parent | 2ebf0397075d6a557f18e45c9b0ed824be68808e (diff) | |
download | guile-8e2e2ceb1745620bef318fc403b6dea2c590f318.tar.gz |
Deprecate symbol properties.
* libguile/strings.c (scm_i_make_symbol): Remove 'props' argument. Use
3 words instead of 'scm_double_cell'.
* libguile/strings.h: Adjust accordingly.
* libguile/symbols.c (scm_i_str2symbol, scm_i_str2uninterned_symbol):
Likewise.
(scm_symbol_fref, scm_symbol_pref, scm_symbol_fset_x,
scm_symbol_pset_x): Move to...
* libguile/deprecated.c: ... here. Rewrite in terms of object
properties.
(symbol_function_slot, symbol_property_slot): New variables.
* libguile/symbols.h (SCM_SYMBOL_FUNC, SCM_SET_SYMBOL_FUNC)
(SCM_SYMBOL_PROPS, SCM_SET_SYMBOL_PROPS)
(scm_symbol_fref, scm_symbol_pref, scm_symbol_fset_x)
(scm_symbol_pset_x): Move to...
* libguile/deprecated.h: ... here. Mark declarations as 'SCM_DEPRECATED'.
* module/system/base/types.scm (cell->object): Remove 'props' field for
%TC7-SYMBOL.
* doc/ref/api-data.texi (Symbol Props): Remove.
* NEWS: Update.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -175,6 +175,14 @@ SCM_SET_ARRAY_CONTIGUOUS_FLAG, SCM_CLR_ARRAY_CONTIGUOUS_FLAG, SCM_I_ARRAY_CONTP preprocessor interfaces, as they were internal and there is no longer a sensible way of using them. +** Deprecate symbol properties + +Symbols used to have a "function slot" and a "property slot", inherited +from Emacs Lisp and early Lisps, which one would access with +'symbol-pref', 'symbol-fref', 'symbol-pset!', and 'symbol-fset!'. These +procedures have been discouraged in favor of object properties; they are +now deprecated. This saves a few words of memory per symbol. + * Bug fixes ** Fix compilation of (ash x N), where N is a literal, at -O1 and below |