Hmm, here are some cases that really oughtn't fail; even if they're probably rare, they're perfectly legit. Using a pattern twice on the same line shouldn't cause it to fail. :(
- ''em '''em-strong''''' normal ''em '''em-strong'''''
goes to: <em>em <strong>em-strong<em><strong> normal </em>em </strong>em-strong</em></strong>
Ah, I see.
Well, I've already sort of concluded (and now for certain) that regexps won't do this. You shouldn't have made Wiki-markup use the same character (') for two concepts that can be nested. You should have used '' for em and "" for strong. :-p
Now, the case you described at least produces completely wrong output, which is better than wrong HTML that renders right. This forces the author to go back and check. Eventually they will realise that they can get it to work by putting a linebreak in between (which obviously won't put a linebreak in the final output, so you're okay).
An alternate implementation, incidentally, might be to treat '' and ''' as toggles rather than nestable delimiters, and ensure that the correct nesting level in the output HTML is maintained upon changing the toggles.
Yes, that would have been my second implementation plan, but I don't think that'll be possible with just regexps.
Posting to the list is the most likely way to get people to look it over. If we ever get around to setting up a CVS commit notification mailer that would do as well...
Hm, I'm sorry, but this didn't really answer my question. Are you going to commit the patch for me (once I've made it work satisfactorily), or are you going to give me CVS write access? I'm wondering this because copying & pasting patches from e-mails seems like a very inefficient way of handling it; certainly that can't be how you handle contributions from other developers?
Thanks a lot for your help, insight, etc.
Greetings, Timwi