[squeak-dev] The Inbox: System-dtl.1304.mcz

David T. Lewis lewis at mail.msen.com
Wed Feb 9 03:13:00 UTC 2022


@Marcel, I think this will simplify maintenance of the authors
list but I want to let you see it before I put it in trunk.

This puts each author entry into a new line in the method so
that new entries will show up in the method diffs.

Dave


On Wed, Feb 09, 2022 at 01:54:18AM +0000, commits at source.squeak.org wrote:
> A new version of System was added to project The Inbox:
> http://source.squeak.org/inbox/System-dtl.1304.mcz
> 
> ==================== Summary ====================
> 
> Name: System-dtl.1304
> Author: dtl
> Time: 8 February 2022, 8:54:15.36808 pm
> UUID: 425a12bd-d324-4d48-91db-a29dfb4bb67b
> Ancestors: System-mt.1303
> 
> Use Character cr as a separator in privateAuthorsRaw so that each author appears on a separate line in the method. Future updates will be readable in the version diffs.
> 
> =============== Diff against System-mt.1303 ===============
> 
> Item was changed:
>   ----- Method: SystemNavigation class>>initializeAuthors (in category 'class initialization') -----
>   initializeAuthors
>   	"self initializeAuthors"
>   	
>   	| s currentName currentAbbrv |
>   	Authors := Dictionary new.
>   	s := self privateAuthorsRaw readStream.
>   	
>   	[s atEnd] whileFalse: [
>   		"Read author name"
>   		currentName := String streamContents: [:as |
>   			[s peek ~= $#] whileTrue: [as nextPut: s next]].
>   		Authors at: currentName put: Set new.
>   		"Read abbreviations"
>   		s next. "skip $#"
>   		currentAbbrv := ''.
> + 		[s atEnd not and: [s peek ~= Character cr]] whileTrue: [
> - 		[s atEnd not and: [s peek ~= $!!]] whileTrue: [
>   			s peek = $# ifTrue: [
>   				(Authors at: currentName) add: currentAbbrv.
>   				currentAbbrv := ''.
>   				s next. "skip $#"].
>   			currentAbbrv := currentAbbrv, s next asString. "slow..."
>   			].
>   		currentAbbrv ifNotEmpty: [(Authors at: currentName) add: currentAbbrv].
>   		s next. "skip $!!"
>   	].
>   
>   	"Fill inverted index for authors."
>   	AuthorsInverted := Dictionary new.
>   	Authors keysAndValuesDo: [:fullName :abbreviations |
>   		abbreviations do: [:abbrv |
>   			(AuthorsInverted
>   				at: abbrv
>   				ifAbsentPut: [Set new]) add: fullName]].!
> 
> Item was changed:
>   ----- Method: SystemNavigation class>>privateAuthorsRaw (in category 'class initialization') -----
> (excessive size, no diff calculated)
> 
> 


More information about the Squeak-dev mailing list