(please keep me cc'd, I'm not subscribed to -patches)
The freshly generated Japi files confirmed a suspicion I've had for a
while: the stupid RCSID fields in javax.swing.undo actually *have*
always kept the same values in Sun's official releases.
In the original discussion of the attached patch, the main arguments
against adopting Sun's values were:
- They're stupid fields, nobody could *possibly* be relying on them,
so why bother?, and
- The values have changed even between different JDK releases.
The first of these is still true of course. They surely are utterly
stupid. But IMHO, while that may be a reason not to *care*, it isn't a
reason to *oppose* matching the values.
The second reason now turns out not to be true - it's simply that Sun
wasn't as careful as I was in ensuring that the values wouldn't be
mangled by various source control systems, and Blackdown were
similarly un-careful in importing Sun's sources into their own system.
And that Sun's compatibility testing tools aren't as thorough as ours
( ;) ) and never caught it.
The reason why I think we *should* match these values isn't really
about compatibility - it's true that nobody would ever rely on them -
but because I think that Japi is a valuable tool to indicate areas
that need work, and "false" (or at least unimportant) positives in the
Japi results make it harder to spot where real problems are. I've put
a lot of work into making sure Japi does the best possible job of
knowing which differences indicate real problems, but unfortunately
Japi will never be capable of stupidity-detection.
(Also, we're getting dangerously close to the point where this is the
*only* non-minor error left against 1.2...)
Sorry for wasting so much time on something so trivial. It's an issue
that irrationally irks me ;)
Here's the changelog to go along with the patch, anyway. I updated the
comments in the patch to reflect that the value has never changed in
Sun's releases.
2006-02-10 Stuart Ballard <[EMAIL PROTECTED]>
* javax/swing/undo/StateEdit.java (RCSID): Match Sun's value.
* javax/swing/undo/StateEditable.java (RCSID): Likewise.
Stuart
--
http://sab39.dev.netreach.com/
Index: javax/swing/undo/StateEdit.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/undo/StateEdit.java,v
retrieving revision 1.8
diff -u -u -r1.8 StateEdit.java
--- javax/swing/undo/StateEdit.java 2 Jul 2005 20:32:52 -0000 1.8
+++ javax/swing/undo/StateEdit.java 4 Oct 2005 17:59:41 -0000
@@ -104,9 +104,11 @@
* System (RCS). This certainly should not be part of the API
* specification. But in order to be API-compatible with
* Sun’s reference implementation, GNU Classpath also has to
- * provide this field. However, we do not try to match its value.
+ * provide this field and match its value. The value used here has
+ * been in every JDK release at least from 1.2 to 1.5.
*/
- protected static final String RCSID = "";
+ protected static final String RCSID = "$" +
+ "Id: StateEdit.java,v 1.6 1997/10/01 20:05:51 sandipc Exp $";
/**
Index: javax/swing/undo/StateEditable.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/undo/StateEditable.java,v
retrieving revision 1.7
diff -u -u -r1.7 StateEditable.java
--- javax/swing/undo/StateEditable.java 2 Jul 2005 20:32:52 -0000 1.7
+++ javax/swing/undo/StateEditable.java 4 Oct 2005 17:59:41 -0000
@@ -78,9 +78,11 @@
* System (RCS). This certainly should not be part of the API
* specification. But in order to be API-compatible with
* Sun’s reference implementation, GNU Classpath also has to
- * provide this field. However, we do not try to match its value.
+ * provide this field and match its value. The value used here has
+ * been in every JDK release at least from 1.2 to 1.5.
*/
- String RCSID = "";
+ String RCSID = "$" +
+ "Id: StateEditable.java,v 1.2 1997/09/08 19:39:08 marklin Exp $";
/**