diff options
author | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2000-12-29 15:47:16 +0000 |
---|---|---|
committer | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2000-12-29 15:47:16 +0000 |
commit | 174663302558e2eda063dfe185beef860b39deb2 (patch) | |
tree | 3c87c833fc35ff93b97a16e1f87ca55f764e34f9 | |
parent | 5d2b97cd077bb3d63e47729c800edc349e583f8e (diff) | |
download | guile-174663302558e2eda063dfe185beef860b39deb2.tar.gz |
* Remove calls to symbol-interned? which have always been useless, but now
have become wrong since symbols and bindings are separated.
-rw-r--r-- | ice-9/ChangeLog | 10 | ||||
-rw-r--r-- | ice-9/boot-9.scm | 6 |
2 files changed, 12 insertions, 4 deletions
diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index 2703c0ee5..dc624c644 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,3 +1,13 @@ +2000-12-29 Dirk Herrmann <D.Herrmann@tu-bs.de> + + * boot-9.scm (root-module-closure, scm-module-closure): Remove + calls '(symbol-interned? #f s)'. Formerly, these calls were + basically no-ops, guaranteed to return #t if 's' was a symbol. + After the separation of symbols and bindings, a call to + '(symbol-interned? #f s)' will only return #t if there really is a + binding for 's' in the scm_symhash table. Thanks to Dale P. Smith + for providing a test case that helped finding this bug. + 2000-12-13 Dirk Herrmann <D.Herrmann@tu-bs.de> * session.scm (apropos): Completed the last patch, which did only diff --git a/ice-9/boot-9.scm b/ice-9/boot-9.scm index c674f1b6b..c6a48099a 100644 --- a/ice-9/boot-9.scm +++ b/ice-9/boot-9.scm @@ -1440,8 +1440,7 @@ (define (root-module-closure m s define?) - (let ((bi (and (symbol-interned? #f s) - (builtin-variable s)))) + (let ((bi (builtin-variable s))) (and bi (or define? (variable-bound? bi)) (begin @@ -1462,8 +1461,7 @@ ;; (define (scm-module-closure m s define?) - (let ((bi (and (symbol-interned? #f s) - (builtin-variable s)))) + (let ((bi (builtin-variable s))) (and bi (variable-bound? bi) (begin |