Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007814 [Squeak] Any major always 03-30-14 11:36 11-21-15 22:03
Reporter Herbert Koenig View Status public  
Assigned To lewis
Priority normal Resolution open  
Status acknowledged   Product Version
Summary 0007814: Can't save morphic projects from 4.5 to local disk only
Description In a fresh 4.5 all in one:
Projects --> new morphic project
In that Project:
Projects --> save project
Fill in the dialog, save on local disk only --> MNU "ScrapBook>>emptyScraps book"

Additional Information Fails with empty project and with some Morphs in the project
Attached Files  MessageNotUnderstood# ScrapBook##emptyScrapsBook.png [^] (28,292 bytes) 03-30-14 11:36
 NotImplemented# ClassBinding or a superclass should implement objectForDataStream#.gif [^] (20,661 bytes) 03-30-14 15:24

- Relationships

- Notes
(0014492 - 29 - 29 - 29 - 29 - 29 - 29)
Herbert Koenig
03-30-14 11:40

OS: Win 7 64 Bit Home Premium
 
(0014493 - 450 - 583 - 583 - 583 - 583 - 583)
lewis
03-30-14 14:07

We have at least two problems here. The first problem is MNU ScrapBook>>enptyScrapsBook. This is a spelling error in some recently refactored methods, and is now fixed in trunk.

There is an additional problem, not yet resolved, related to Environments. Saving a project now leads to:

ClassBinding>>objectForDataStream: refStream
    "It's not yet clear how serialization should work in the presence of environments"
    
    self shouldBeImplemented.
 
(0014535 - 1162 - 1302 - 1514 - 1514 - 1514 - 1514)
lewis
07-26-15 02:56
edited on: 07-26-15 02:58

Colin suggested a short-term fix here:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2014-September/180018.html [^]

For Binding>>objectForDataStream: the easy fix for the default case is to use the same implementation as Association>>objectForDataStream:. This will make save and reloading of object work in the case where there's only one environment in the image.

The case of multiple environments boils down to this: saving objects to
disk would have to be done from the perspective of a given environment, and
loading would have to be done from that of an equivalent environment.
Association's implementation special-cases instances that represent global
variables so that they get looked up in "Smalltalk globals" when the
objects are reloaded from disk. That should be replaced with "Environment
current" so that the lookup happens in the environment we're loading
against, rather than the environment where Binding is compiled.

Looking further up the layers of abstraction, each Project should probably
have its own environment, which would be used for compiling custom code for
that project, and serializing the project to disk.

 
(0014579 - 184 - 208 - 578 - 578 - 578 - 578)
kfr
11-21-15 22:03

http://source.squeak.org/trunk/Environments-kfr.59.mcz [^]

Colin's suggested workaround for Bindings

http://lists.squeakfoundation.org/pipermail/squeak-dev/2014-September/180018.html [^]
 

- Issue History
Date Modified Username Field Change
03-30-14 11:36 Herbert Koenig New Issue
03-30-14 11:36 Herbert Koenig Status new => assigned
03-30-14 11:36 Herbert Koenig Assigned To  => KenCausey
03-30-14 11:36 Herbert Koenig File Added: MessageNotUnderstood# ScrapBook##emptyScrapsBook.png
03-30-14 11:39 Herbert Koenig Issue Monitored: Herbert Koenig
03-30-14 11:40 Herbert Koenig Note Added: 0014492
03-30-14 13:48 lewis Assigned To KenCausey => lewis
03-30-14 14:07 lewis Note Added: 0014493
03-30-14 15:24 Herbert Koenig File Added: NotImplemented# ClassBinding or a superclass should implement objectForDataStream#.gif
03-31-14 22:54 lewis Status assigned => confirmed
03-31-14 22:55 lewis Status confirmed => acknowledged
07-26-15 02:56 lewis Note Added: 0014535
07-26-15 02:58 lewis Note Edited: 0014535
11-21-15 22:03 kfr Note Added: 0014579


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
60 total queries executed.
37 unique queries executed.
Powered by Mantis Bugtracker