Unexpected contextual alternate

So I’m becoming familiar with creating contextual alternates, and I’m encountering an unexpected behavior.

So far, I only have a handful of alternates specified in calt. They are as follows:

sub l' a by l.alt;
sub k' a by k.alt;
sub w n' by n.alt;
sub u' s by u.alt;

however, when I type “ns” it substitutes the n for n.alt, which is not a rule I’ve specified. If I remove either the 3rd or 4th line here, this behavior no longer occurs, so I’m guessing there’s some sort of interaction between these two rules that I’m not comprehending. Or perhaps my syntax is off.

This could be a font caching issue, such that an old version of the font is used by whatever app you are using. Try an app like FontGoggles that is not affected by caching issues. Does typing ns there also produce an n.alt?

I’m still only previewing inside of Glyphs 3 itself, so I haven’t tried exporting this and seeing if the behavior translates to other software.

A small development, I changed line 3 to

sub [w v] n' by n.alt; 

And the unexpected behavior seems to no longer be occurring. Which is nice, but I’d like to understand why it was happening in the first place.

What happens if you change it back to the original third line? Make sure to click the Update button on the bottom of the feature code editor.

Doing so reverts back to the unexpected behavior. And I’ve been clicking update each time I make any code changes.

The preview of contextual substitutions was broken in Glyphs. Can you switch to the cutting edge version (you can activate it in Preferences > Updates).