Diff
Not logged in

Differences From:

File tools/cvs2fossil/lib/rcsparser.tcl part of check-in [e7bb3d073d] - rcs parser rewritten to snit type, singleton, using callbacks to convey information. Got a grip on regexp -start -indices (^ -> \A, indices are absolute). This means that I now don't have to shift the unprocessed string down in memory, it is all index processing now. This makes for a much faster parser, especially for large files with many revisions (example: ChangeLogs). by aku on 2007-10-06 21:00:48. [view]

To:

File tools/cvs2fossil/lib/rcsparser.tcl part of check-in [338854a61a] - API tweak rcs parser, definition of symbols, call through the callback once per symbol instead of once for the whole set. by aku on 2007-10-10 04:23:22. [view]

@@ -75,18 +75,14 @@
 	return
     }
 
     proc Symbols {} {
-	set d {}
 	RequiredLiteral symbols
 	while {[Ident -> symbol]} {
 	    RequiredNumber -> rev
-	    # TODO: distinguish branch/tag symbols, transform revision
-	    # numbers into canonical form.
-	    lappend d $symbol $rev
+	    Call deftag $symbol $rev
 	}
 	Semicolon
-	Call setsymbols $d
 	return
     }
 
     proc Locks {} {