Why? Shouldn't we look for "(string-match \(.*\) emacs-version)" and
fold that if we recognize (match-string 1)?
No. There are lots of variations on that theme. For example, in xemacs-packages/python-modes/pydoc.el, function pydoc-menu-enter, we see:
(cond
;; GNU Emacs 19 or above
((and (not (string-match "XEmacs" emacs-version))
;; Version 19 and above
(string-lessp "19" emacs-version))
...
which doesn't invoke match-string at all. And then there is xemacs-packages/gnus/lisp/nntp.el, which defines the variable nntp-async-needs-kluge thusly:
(string-match "^GNU Emacs 20\\.3\\." (emacs-version))
We should audit all of those string-match calls. Some of them look wrong. I see quite a few that just check the version number, with no differentiation between Emacs and XEmacs. There are quite a few looking for "Lucid" only, and a number looking for "beta"!
Jerry, you're looking at this the wrong way. Why should you care if
anybody is interested? It's clearly interesting stuff (although I
probably won't work on it myself). If alioth won't support an
arbitrary number of branches, I bet Canonical's Launchpad will.
That's one major reason for doing the dVCS thing. The only question
is do you want to publish.
Mebbe I should get Barry Warsaw to bring his soapbox over and preach
the wonders of unofficial public branches.