(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&#x2019;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&#x2019;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 $";
 
 
   /**

Reply via email to