Closed Mardikhouran closed 2 years ago
Can't you just use this?
neutralisation:
@cons => x / _ a
Regardless, writing things in an over-complicated way shouldn't break the rules. I'll take a look.
I used the barest minimum of a MWE, because I encountered the problem when using features: rather than writing [cons +prenas $Place] => [nasal $Place -prenas -voice -WhateverConsFeatureIrrelevantForNasals]
, I used [cons +prenas $Place] * => * [nasal $Place]
, which shouldn't have me revise the rule if the segment to change gets another feature nasals aren't defined for.
Okay, that makes sense. And I appreciate the effort in distilling this down to a minimum example.
As a workaround while I get this sorted out, it seems to work if you switch the order:
neutralisation:
@cons * => * x / _ a
Basically Lexurgy struggles whenever you use *
at a syllable boundary, because it isn't clear which syllable it's supposed to belong to. Let me know if this change works for your actual case.
Results are the same for either [+prenas $Place] * => * [nasal $Place]
or * [+prenas $Place] * => [nasal $Place] *
. I will resort to the clunky -Whatever
without null segments for the time being.
This is fixed in commit 0068789e6bd56e044247372730c338468101f7a3. Getting to your remaining bug report shortly...
Same end result as #44, but different trigger.
.lsc file
.wli file
Results
Expected
Remarks
Results are the same regardless of the placement of the stress mark (
first
,before
, etc)