Summary: | Strange set! behavior that creates top-level binding | ||
---|---|---|---|
Product: | UIM | Reporter: | YamaKen <yamaken> |
Component: | libuim: Scheme interpreter | Assignee: | YamaKen <yamaken> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | enhancement | ||
Priority: | low | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | 481 | ||
Bug Blocks: | 7164 |
Description
YamaKen
2004-04-17 07:57:01 UTC
Fixed. See svn diff -r 734:735 I think that set-symbol-value! also have to behave as same as set!. Currently set-symbol-value! is directly bound to setvar(), so wrapper function is required. uim> hoge ERROR: unbound variable (errobj hoge) uim> (set-symbol-value! 'hoge 1) 1 uim> hoge 1 set-symbol-value! (and also symbol-value) doesn't exists at R5RS. So if it's not very convenient, simply removing it would be enough. (In other words, if it's convenient enough, we should use it.) What do you think about this idea? I think that set-symbol-value! (and symbol-value) is required to implement some uim features. Yes, they are not exiting at R5RS world, and I can't find corresponding procedures. Should I read SRFIs? Regardless of procedure name, I think that set-symbol-value! or the corresponding one should not create top-level binding. It will be resolved in uim 1.2.0 by SigScheme's set! implementation, and replaced with a portable proc such as follows in uim 1.3.0. (define set-symbol-value! (lambda (sym val) (eval '(set! sym val) (interaction-environment)))) Resolved in uim 1.4.0 by SigScheme introduction. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.