summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-02-04 10:41:44 +0100
committerLudovic Courtès <ludo@gnu.org>2022-02-04 11:12:28 +0100
commit8e2e2ceb1745620bef318fc403b6dea2c590f318 (patch)
treeecb04e47f3dcbe0e552f263b780546e90eb5268e /NEWS
parent2ebf0397075d6a557f18e45c9b0ed824be68808e (diff)
downloadguile-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--NEWS8
1 files changed, 8 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 17a4c3961..93eac87b8 100644
--- a/NEWS
+++ b/NEWS
@@ -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