set! creates top-level binding as follows. This is confusing several developers and users. uim> foo ERROR: unbound variable (errobj foo) uim> (set! foo 'bar) bar uim> foo bar
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.