Good to know. In my case, however, I'm always loading code into a fresh image where these classes don't previously exist, so I would think that #initialize would always be sent. On 03/28/2018 10:32 PM, Sven Van Caekenberghe wrote:
class side #initialize is only send by MC if the incoming source code is different, has changed. I always add a date in a comment to be sure.
On 29 Mar 2018, at 04:47, Martin McClure <martin@hand2mouse.com> wrote:
On 03/28/2018 04:35 PM, Martin McClure wrote:
I have a project that loads via Metacello in builds up through build 738. In 739 the load fails with DNU.
The failure is in a method I have specified via a #postLoadDoIt:. It fails because it sends a message to a pool variable, which is nil. However, it should not be nil because it should have been initialized by a class-side #initialize method in a prerequisite package.
Again, this worked up through build 738. Any idea what changed in 739 that would cause this, and is this change intentional? Odd, I don't see any code changes that would be likely to have caused this.
Is the expected behavior of Metacello to send #initialize to classes in prerequisite packages before running a #postLoadDoIt in a package? I'd think so, but am starting to wonder if this is perhaps unordered and I've just been lucky...
-Martin