STInST compiler not used for fileins
| Project: | GNU Smalltalk |
| Component: | STInST |
| Category: | bug |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | fixed |
c12efdf "VFS rewrite" introduced some specializations of #fileIn on subclasses of Stream that shadow STInST's version; 45ffb40 on my master has StartCompiler.st remove those.
Updates
| Status: | committed | » active |
| Attachment: | gst-fix-filein-vfs.patch (1.25 KB) |
Fixed with the attached alternative patch (committed to master), which instead overrides the methods in Stream that call the built-in compiler (#fileIn does not).
However, I see that there are some problems in Compiler with the implementation of deferred variable bindings, exposed by the following test:
PackageLoader fileInPackage: 'Compiler'. PackageLoader fileInPackage: 'SUnit'. p := (PackageLoader packageAt: 'Complex') test. p fileIn. ComplexTest buildSuiteFromSelectors run printNl
Could you take a look?
| Status: | active | » committed |
| Attachment: | home-undecl-assocs.patch (1.08 KB) |
95d8f67: don't rely on BindingDictionaries to home plain Associations
I suppose at some point in history #add: on BindingDictionaries would potentially answer a different association than the one given; this hasn't been the case since at least 3.0a, but I seem to recall it being so before. Anyway, this just dupes what's at sym.c:904.
| Status: | committed | » fixed |
applied, thanks!
