Pillar Code Changes

This adventure starts with noticing that email addresses that contained underscores are not recognized by Pier, like this random mix of letters:

john_borden@myborden.com

Adding the update as an extension in Pier works, but is not a good practice.

Another dilemma is that manual steps are necessary to load the tests into a Pier image (loading core and model tests). In Iceberg, it shows most of pillar having changes:

Pillar uncommitted changes
First thing was that the markups package from the dev-8 branch of Pillar was loading Pillar core from the dev-7 branch.

Fixing this caused errors with a missing class - when loading the Pillar-ExportPillar initialize code fails:

       PRPillarCanvas>>initialize
             ...
                PillarCharacters := Dictionary new.
                PRPillarGrammar markups
                        valuesDo:

The class PRPillarGrammar was unknown. This was in src/Pillar-PetitPillar, which requires PP2CompositeNode.

Proceeding to fix this allows everything to load, but Pier is no longer functional:

pier templates no content
All of the links are pointing to root, like this:

*/*

One of the largest changes between the dev-7 and 8 branches is that PRInternalLink has the target instance variable removed. Adding it back resolves many of the load errors and allow Pier to display the introduction page. The Pillar and Pier tests all pass.

Posted by John Borden at 8 August 2026, 3:02 pm with tags Pier link

Leave your comment