[Pkg] The Trunk: ST80-nice.136.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Aug 4 21:14:41 UTC 2011


Nicolas Cellier uploaded a new version of ST80 to project The Trunk:
http://source.squeak.org/trunk/ST80-nice.136.mcz

==================== Summary ====================

Name: ST80-nice.136
Author: nice
Time: 4 August 2011, 10:43:00.836 am
UUID: 6f8b2f4c-8c8c-48a8-ba32-bb5b37d827d0
Ancestors: ST80-ul.135

#shiftEnclose: is hardcoding the keyboard layout, which is not compatible with foreign keyboards and modern VM, and prevents correct enclosing to work.

This version rather use a normal #enclose:
A (ParagraphEditor initialize) postscrip is necessary.

=============== Diff against ST80-ul.135 ===============

Item was changed:
  ----- Method: ParagraphEditor class>>initializeCmdKeyShortcuts (in category 'keyboard shortcut tables') -----
  initializeCmdKeyShortcuts
  	"Initialize the (unshifted) command-key (or alt-key) shortcut table."
  
  	"NOTE: if you don't know what your keyboard generates, use Sensor kbdTest"
  
  	"ParagraphEditor initialize"
  
  	| cmdMap |
  
  	cmdMap := Array new: 256 withAll: #noop:.	"use temp in case of a crash"
  
  	cmdMap at: 1 + 1 put: #cursorHome:.			"home key"
  	cmdMap at: 4 + 1 put: #cursorEnd:.				"end key"
  	cmdMap at: 8 + 1 put: #backspace:.				"ctrl-H or delete key"
  	cmdMap at: 11 + 1 put: #cursorPageUp:.		"page up key"
  	cmdMap at: 12 + 1 put: #cursorPageDown:.	"page down key"
  	cmdMap at: 13 + 1 put: #crWithIndent:.			"cmd-Return"
  	cmdMap at: 27 + 1 put: #offerMenuFromEsc:.	"escape key"
  	cmdMap at: 28 + 1 put: #cursorLeft:.			"left arrow key"
  	cmdMap at: 29 + 1 put: #cursorRight:.			"right arrow key"
  	cmdMap at: 30 + 1 put: #cursorUp:.				"up arrow key"
  	cmdMap at: 31 + 1 put: #cursorDown:.			"down arrow key"
  	cmdMap at: 32 + 1 put: #selectWord:.			"space bar key"
  	cmdMap at: 127 + 1 put: #forwardDelete:.		"del key"
  
  	'0123456789-=' 
  		do: [:char | cmdMap at: char asciiValue + 1 put: #changeEmphasis:].
  
  	'([<{|"''' do: [:char | cmdMap at: char asciiValue + 1 put: #enclose:].
  
- 	cmdMap at: $, asciiValue + 1 put: #shiftEnclose:.
- 
  	"triplet = {character. comment selector. novice appropiated}"
  	#(
  		($a		#selectAll:				true)
  		($b		#browseIt:				false)
  		($c		#copySelection:			true)
  		($d		#doIt:						false)
  		($e		#exchange:				true)
  		($f		#find:						true)
  		($g		#findAgain:				true)
  		($h		#setSearchString:		true)
  		($i		#inspectIt:				false)
  		($j		#doAgainOnce:			true)
  		($k		#offerFontMenu:		true)
  		($l		#cancel:					true)
  		($m	#implementorsOfIt:		false)
  		($n		#sendersOfIt:			false)
  		($o		#spawnIt:				false)
  		($p		#printIt:					false)
  		($q		#querySymbol:			false)
  		($s		#save:					true)
  		($t		#tempCommand:		false)
  		($u		#align:					true)
  		($v		#paste:					true)
  		($w	#backWord:				true)
  		($x		#cut:						true)
  		($y		#swapChars:				true)
  		($z		#undo:					true)
  	)
  		select:[:triplet | Preferences noviceMode not or:[triplet third]]
  		thenDo:[:triplet | cmdMap at: triplet first asciiValue + 1 put: triplet second].
  
  	CmdActions := cmdMap.
  !

Item was changed:
  ----- Method: ParagraphEditor class>>initializeShiftCmdKeyShortcuts (in category 'keyboard shortcut tables') -----
  initializeShiftCmdKeyShortcuts 
  	"Initialize the shift-command-key (or control-key) shortcut table."
  	"NOTE: if you don't know what your keyboard generates, use Sensor kbdTest"
  	"wod 11/3/1998: Fix setting of cmdMap for shifted keys to actually use the 
  	capitalized versions of the letters.
  	TPR 2/18/99: add the plain ascii values back in for those VMs that don't return the shifted values."
  
  	| cmdMap |
  
  	"shift-command and control shortcuts"
  	cmdMap := Array new: 256 withAll: #noop:.  "use temp in case of a crash"
  
  	cmdMap at: ( 1 + 1) put: #cursorHome:.				"home key"
  	cmdMap at: ( 4 + 1) put: #cursorEnd:.				"end key"
  	cmdMap at: ( 8 + 1) put: #forwardDelete:.			"ctrl-H or delete key"
  	cmdMap at: (11 + 1) put: #cursorPageUp:.			"page up key"
  	cmdMap at: (12 + 1) put: #cursorPageDown:.		"page down key"
  	cmdMap at: (13 + 1) put: #crWithIndent:.			"ctrl-Return"
  	cmdMap at: (27 + 1) put: #offerMenuFromEsc:.	"escape key"
  	cmdMap at: (28 + 1) put: #cursorLeft:.				"left arrow key"
  	cmdMap at: (29 + 1) put: #cursorRight:.				"right arrow key"
  	cmdMap at: (30 + 1) put: #cursorUp:.				"up arrow key"
  	cmdMap at: (31 + 1) put: #cursorDown:.			"down arrow key"
  	cmdMap at: (32 + 1) put: #selectWord:.				"space bar key"
  	cmdMap at: (45 + 1) put: #changeEmphasis:.		"cmd-sh-minus"
  	cmdMap at: (61 + 1) put: #changeEmphasis:.		"cmd-sh-plus"
  	cmdMap at: (127 + 1) put: #forwardDelete:.		"del key"
  
+ 	"On some keyboards, these characters require a shift"
+ 	'([<{|"''' do: [:char | cmdMap at: char asciiValue + 1 put: #enclose:].
+ 		
- 	"Note: Command key overrides shift key, so, for example, cmd-shift-9 produces $9 not $("
- 	'9[,''' do: [ :char | cmdMap at: (char asciiValue + 1) put: #shiftEnclose: ].	"({< and double-quote"
- 	"Note: Must use cmd-9 or ctrl-9 to get '()' since cmd-shift-9 is a Mac FKey command."
- 
  	"NB: sw 12/9/2001 commented out the idiosyncratic line just below, which was grabbing shift-esc in the text editor and hence which argued with the wish to have shift-esc be a universal gesture for escaping the local context and calling up the desktop menu."  
  	"cmdMap at: (27 + 1) put: #shiftEnclose:." 	"ctrl-["
  
  	"'""''(' do: [ :char | cmdMap at: (char asciiValue + 1) put: #enclose:]."
  
  	"triplet = {character. comment selector. novice appropiated}"
  	#(
  		($a		argAdvance:						false)
  		($b		browseItHere:					false)
  		($c		compareToClipboard:			false)
  		($d		duplicate:							true)
  		($e		methodStringsContainingIt:	false)
  		($f		displayIfFalse:					false)
  		($g		fileItIn:							false)
  		($h		cursorTopHome:					true)
  		($i		exploreIt:							false)
  		($j		doAgainMany:					true)
  		($k		changeStyle:						true)
  		($l		outdent:							true)
  		($m	selectCurrentTypeIn:			true)
  		($n		referencesToIt:					false)
  		($p		makeProjectLink:				true)
  		($r		indent:							true)
  		($s		search:							true)
  		($t		displayIfTrue:					false)
  		($u		changeLfToCr:					false)
  		($v		pasteInitials:						false)
  		($w	methodNamesContainingIt:	false)
  		($x		makeLowercase:					true)
  		($y		makeUppercase:					true)
  		($z		makeCapitalized:				true)
  	)
  		select:[:triplet | Preferences noviceMode not or:[triplet third]]
  		thenDo:[:triplet |
  			cmdMap at: (triplet first asciiValue         + 1) put: triplet second.		"plain keys"
  			cmdMap at: (triplet first asciiValue - 32 + 1) put: triplet second.		"shifted keys"
  			cmdMap at: (triplet first asciiValue - 96 + 1) put: triplet second.		"ctrl keys"
  		].
  
  	ShiftCmdActions := cmdMap!

Item was removed:
- ----- Method: ParagraphEditor>>shiftEnclose: (in category 'editing keys') -----
- shiftEnclose: characterStream
- 	"Insert or remove bracket characters around the current selection.
- 	 Flushes typeahead."
- 
- 	| char left right startIndex stopIndex oldSelection which text |
- 	char := sensor keyboard.
- 	char = $9 ifTrue: [ char := $( ].
- 	char = $, ifTrue: [ char := $< ].
- 	char = $[ ifTrue: [ char := ${ ].
- 	char = $' ifTrue: [ char := $" ].
- 	char asciiValue = 27 ifTrue: [ char := ${ ].	"ctrl-["
- 
- 	self closeTypeIn.
- 	startIndex := self startIndex.
- 	stopIndex := self stopIndex.
- 	oldSelection := self selection.
- 	which := '([<{|"''' indexOf: char ifAbsent: [1].
- 	left := '([<{|"''' at: which.
- 	right := ')]>}|"''' at: which.
- 	text := paragraph text.
- 	((startIndex > 1 and: [stopIndex <= text size])
- 		and:
- 		[(text at: startIndex-1) = left and: [(text at: stopIndex) = right]])
- 		ifTrue:
- 			["already enclosed; strip off brackets"
- 			self selectFrom: startIndex-1 to: stopIndex.
- 			self replaceSelectionWith: oldSelection]
- 		ifFalse:
- 			["not enclosed; enclose by matching brackets"
- 			self replaceSelectionWith:
- 				(Text string: (String with: left), oldSelection string ,(String with: right)
- 					emphasis: emphasisHere).
- 			self selectFrom: startIndex+1 to: stopIndex].
- 	^true!

Item was changed:
+ (PackageInfo named: 'ST80') postscript: '"below, add code to be run after the loading of this package"
+ ParagraphEditor initialize.'!
- (PackageInfo named: 'ST80') postscript: '"below, add code to be run after the loading of this package"'!



More information about the Packages mailing list