about summary refs log tree commit diff stats
path: root/021arithmetic.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-09-04 00:22:36 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-09-04 00:22:36 -0700
commit4adb09bc12b81faac8f77fbce36d6e636d374301 (patch)
tree8579d5ce4a761c1c096e4b6d9a65cc669b533233 /021arithmetic.cc
parente2f9979e5cc7297f89e3ff0c86860c6686e9eaab (diff)
downloadmu-4adb09bc12b81faac8f77fbce36d6e636d374301.tar.gz
2138 - warn on jump to an ambiguous label
This seemingly simple goal uncovered a little nest of bugs: it turns out
I've been awash in ambiguous labels until now. My baseline recipes in
edit.mu were clean, but they introduced duplicate <waypoints> -- and
*those* waypoints contained +jump-targets. Result: duplicate jump
targets, so that I wasn't jumping where I thought I was jumping. Somehow
I happened to be picking one of the alternatives that magically kept
these issues quiescent.

My first plan to fix this was to mangle names of all labels inside
before/after fragments, keep the jump targets private to their fragment.
But the labels also include more waypoints! Mangle those, and I can't
tangle to them anymore.

Solution: harden the convention that jump targets begin with '+' and
waypoints are surrounded by '<>'. Mangle jump targets occurring inside
before/after fragments to keep them private to their lexical fragment,
but *don't* mangle waypoints, which must remain globally accessible.
Diffstat (limited to '021arithmetic.cc')
0 files changed, 0 insertions, 0 deletions