summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2000-12-29 15:47:16 +0000
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2000-12-29 15:47:16 +0000
commit174663302558e2eda063dfe185beef860b39deb2 (patch)
tree3c87c833fc35ff93b97a16e1f87ca55f764e34f9
parent5d2b97cd077bb3d63e47729c800edc349e583f8e (diff)
downloadguile-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/ChangeLog10
-rw-r--r--ice-9/boot-9.scm6
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