On 7/9/10, Jan Lelis <prog / janlelis.de> wrote: > So what about allowing to specify, which end belongs to which start? > I've thought about something like this: > > end|do > end|if > end|def > > or > > end~do > end~if > end~def > > or > > end:do > end:if > end:def I've been told that very old versions of ruby used to have this feature, using a space to separate the end from the keyword being terminated instead of | ~ or : as suggested by Jan. So, in other words, you could write: if foo bar end if I like this syntax far above anything involving punctuation. Supposedly, this feature was removed when the 'modifier' versions of if and unless and etc were added to the language; keeping both was difficult to support in the parser. However, after giving it a little thought, it seems to me that a form of this feature could be reintroduced with not an excessive amount of trouble. If the keyword being terminated is immediately followed by a newline or semicolon, it is treated as a Jan wants. Otherwise, it's treated as a 'modifier' flow control (if it's an if or unless or etc). I could write a RubyLexer-based preprocessor which does this pretty easily. However, I'm not terribly motivated. This doesn't seem like that useful a feature to me and I've got so much else to work on....