keyboardMacros.rc
author Claus Gittinger <cg@exept.de>
Sat, 10 Oct 2009 13:36:28 +0200
changeset 1070 d3525fab5c67
parent 1068 fd1c4a3e86fc
child 1076 2d6b2399e42c
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"*
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 * Encoding: iso8859-1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
 * $Header$
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 * MIMEType: application/x-smalltalk-source
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 * sample keyboardMacros.rc - file
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 * this file defines some keyboard macros
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
 * Feel free to add your own.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
 * Here, only the macro-codes are defined;
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
 * the actual binding of macro to a particular key is done in keyboard.rc.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
 * these are my personal preferrences which may not be
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
 * correct for your environment.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
 *
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
 * WARNING:
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
 *   please keep the expressions below free from manipulating
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
 *   global state.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
 *   Reason: in multihead applications, this will be consulted for each
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
 *   new display screen.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
 *"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
|macros|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
macros := UserPreferences current functionKeySequences.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
"/ macro to replace a text selection by unix commands output
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
macros at:#ReplaceSelectionByUnixCommandsOutput put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	"replace selection by corresponding
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	 unix commands output"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
	|sel|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	sel := self selection.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	sel notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	    self replace:
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
		(PipeStream readingFrom:(sel asString))
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
		    contents asString
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
"/ macro to paste the text generated by a block
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
"/macros at:#PasteBlockEvaluationsOutput put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
"/        "replace selection by blocks output"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
"/        |sel s block|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
"/        sel := self selectionAsString.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
"/        sel notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
"/            block := Compiler evaluate:sel asString string.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
"/            s := '''' writeStream.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
"/            block value:s.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
"/            self paste:s contents asString
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
"/        ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
"/'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
"/ macro to toggle tabs
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
macros at:#ToggleTabs put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
	"toggle between 4-col
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
	 and 8-col tabs"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
	(tabPositions == self class tab4Positions)
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
	     ifTrue:[self setTab8]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
	     ifFalse:[self setTab4]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
"/ macro to indent by 4
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
macros at:#IndentBy4 put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
	"indent selected line-range
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
	 by 4 spaces (i.e. to the right)"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
	|line1 line2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
	line1 := self selectionStartLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
	line2 := self selectionEndLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
	line1 isNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
	    line1 := self perform:#cursorLine ifNotUnderstood:nil.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
	    line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
		line2 := line1+1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
	    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
	].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
	line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
	    self withExecuteCursorDo:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
		line1 to:line2-1 do:[:lineNr |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
		    |line|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
		    line := self listAt:lineNr.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
		    line notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
			line notEmpty ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
			    line := ''    '' , line.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
			    self withoutRedrawAt:lineNr put:line.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
			]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
		    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
		].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
		self textChanged.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
		line1 to:line2-1 do:[:lineNr |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
		    self invalidateLine:lineNr.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
		].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
	    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
"/ macro to undent by 4
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
macros at:#UndentBy4 put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
	"undent selected line-range
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
	 by 4 spaces (i.e. to the left)"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
	|line1 line2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
	line1 := self selectionStartLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
	line2 := self selectionEndLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
	line1 isNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
	    line1 := self perform:#cursorLine ifNotUnderstood:nil.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
	    line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
		line2 := line1+1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
	    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
	].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
	line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
	    self withExecuteCursorDo:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
		line1 to:line2-1 do:[:lineNr |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
		    |line|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
		    line := self listAt:lineNr.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
		    line notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
			line notEmpty ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
			    (line startsWith:''    '') ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
				line := line copyFrom:5.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
				self withoutRedrawAt:lineNr put:line.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
			    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
			]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
		    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
		].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
		self textChanged.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
		line1 to:line2-1 do:[:lineNr |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
		    self invalidateLine:lineNr.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
		].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
	    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
"/ macro to indent by 1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
macros at:#IndentBy1 put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
	"indent selected line-range
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
	 by 1 space (i.e. to the right)"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
	|line1 line2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
	line1 := self selectionStartLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
	line2 := self selectionEndLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
	line1 isNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
	    line1 := self perform:#cursorLine ifNotUnderstood:nil.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
	    line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
		line2 := line1+1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
	    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
	].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
	line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
	    self withExecuteCursorDo:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
		line1 to:line2-1 do:[:lineNr |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
		    |line|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
		    line := self listAt:lineNr.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
		    line notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
			line notEmpty ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
			    line := '' '' , line.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
			    self withoutRedrawAt:lineNr put:line.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
			]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
		    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
		].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
		self textChanged.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
		line1 to:line2-1 do:[:lineNr |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
		    self invalidateLine:lineNr.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
		].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
	    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
"/ macro to undent by 1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
macros at:#UndentBy1 put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
	"undent selected line-range
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
	 by 1 space (i.e. to the left)"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
	|line1 line2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
	line1 := self selectionStartLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
	line2 := self selectionEndLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
	line1 isNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
	    line1 := self perform:#cursorLine ifNotUnderstood:nil.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
	    line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
		line2 := line1+1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
	    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
	].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
	line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
	    self withExecuteCursorDo:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
		line1 to:line2-1 do:[:lineNr |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
		    |line|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
		    line := self listAt:lineNr.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
		    line notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
			line notEmpty ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
			    (line startsWith:'' '') ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
				line := line copyFrom:2.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
				self withoutRedrawAt:lineNr put:line.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
			    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
			]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
		    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
		].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
		self textChanged.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
		line1 to:line2-1 do:[:lineNr |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
		    self invalidateLine:lineNr.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
		].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
	    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
"/ macro to convert selection to lowercase
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
macros at:#ConvertSelectionToLowercase put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
	"to-lower selected text"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
	|line1 line2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
	line1 := self selectionStartLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
	line2 := self selectionEndLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
	line1 isNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
	    line1 := self perform:#cursorLine ifNotUnderstood:nil.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
	    line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
		line2 := line1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
	    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
	].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
	line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
	    line1 to:line2 do:[:lineNr |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
		|line col1 col2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
		line := (self listAt:lineNr) copy.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
		line size > 0 ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
		    lineNr == line1 ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
			col1 := selectionStartCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
		    ] ifFalse:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
			col1 := 1.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
		    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
		    lineNr == line2 ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
			col2 := selectionEndCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
		    ] ifFalse:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
			col2 := (self listAt:lineNr) size.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
		    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
		    col1 to:col2 do:[:col |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
			|ch|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
			ch := line at:col.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
			line at:col put:ch asLowercase.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
		    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
		    self withoutRedrawAt:lineNr put:line.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
		    self invalidateLine:lineNr.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
		].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
	    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
"/ macro to convert selection to uppercaseFirst words
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
"/
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
macros at:#ConvertSelectionToUppercaseFirst put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
	"to-lower selected text"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
	|line1 line2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
	line1 := self selectionStartLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
	line2 := self selectionEndLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
	line1 isNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
	    line1 := self perform:#cursorLine ifNotUnderstood:nil.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
	    line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
		line2 := line1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
	    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
	].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
	line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
	    line1 to:line2 do:[:lineNr |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
		|line col1 col2 state|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
		line := (self listAt:lineNr) copy.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
		line size > 0 ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
		    lineNr == line1 ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
			col1 := selectionStartCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
		    ] ifFalse:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
			col1 := 1.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
		    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
		    lineNr == line2 ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
			col2 := selectionEndCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
		    ] ifFalse:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
			col2 := (self listAt:lineNr) size.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
		    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
		    state := #first.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
		    col1 to:col2 do:[:col |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
			|ch|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
			ch := line at:col.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
			ch isSeparator ifFalse:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
			    state == #first ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
				line at:col put:ch asUppercase.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
				state := #skipRest
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
			    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
			] ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
			    state := #first
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
			]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
		    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
		    self withoutRedrawAt:lineNr put:line.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
		    self invalidateLine:lineNr.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
		].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
	    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
macros at:#ConvertSelectionToUppercase put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
	"to-lower selected text"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
	|line1 line2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
	line1 := self selectionStartLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
	line2 := self selectionEndLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
	line1 isNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
	    line1 := self perform:#cursorLine ifNotUnderstood:nil.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
	    line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
		line2 := line1
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
	    ]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
	].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
	line1 notNil ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
	    line1 to:line2 do:[:lineNr |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
		|line col1 col2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
		line := (self listAt:lineNr) copy.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
		line size > 0 ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
		    lineNr == line1 ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
			col1 := selectionStartCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
		    ] ifFalse:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
			col1 := 1.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
		    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
		    lineNr == line2 ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
			col2 := selectionEndCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
		    ] ifFalse:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
			col2 := (self listAt:lineNr) size.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
		    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
		    col1 to:col2 do:[:col |
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
			|ch|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
			ch := line at:col.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
			line at:col put:ch asUppercase.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
		    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
		    self withoutRedrawAt:lineNr put:line.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
		    self invalidateLine:lineNr.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
		].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
	    ].
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
726
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   374
macros at:#ConvertSelectionToLowercaseOrUppercaseOrUppercaseFirst put:'
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   375
	"to-lower selected text"
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   376
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   377
	|line1 line2|
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   378
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   379
	line1 := self selectionStartLine.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   380
	line2 := self selectionEndLine.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   381
	line1 isNil ifTrue:[
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   382
	    line1 := self perform:#cursorLine ifNotUnderstood:nil.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   383
	    line1 notNil ifTrue:[
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   384
		line2 := line1
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   385
	    ]
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   386
	].
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   387
	line1 notNil ifTrue:[
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   388
	    line1 to:line2 do:[:lineNr |
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   389
		|line col1 col2 isAllLower isAllUpper isUpperFirst
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   390
		 makeLowercase makeUppercase makeUppercaseFirst|
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   391
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   392
		line := (self listAt:lineNr) copy.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   393
		line size > 0 ifTrue:[
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   394
		    lineNr == line1 ifTrue:[
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   395
			col1 := selectionStartCol.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   396
		    ] ifFalse:[
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   397
			col1 := 1.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   398
		    ].
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   399
		    lineNr == line2 ifTrue:[
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   400
			col2 := selectionEndCol.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   401
		    ] ifFalse:[
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   402
			col2 := (self listAt:lineNr) size.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   403
		    ].
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   404
		    isAllLower := isAllUpper := isUpperFirst := true.
1070
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   405
		    col1 to:col2 do:[:col |
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   406
			|ch|
726
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   407
1070
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   408
			ch := line at:col.
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   409
			ch isUppercase ifTrue:[
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   410
			    isAllLower := false.
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   411
			    col ~~ col1 ifTrue:[
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   412
				isUpperFirst := false.
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   413
			    ].
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   414
			] ifFalse:[
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   415
			    ch isLowercase ifTrue:[
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   416
				isUpperFirst := false.
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   417
				isAllUpper := false.
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   418
				col == col1 ifTrue:[
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   419
				    "/ isUpperFirst := false.
726
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   420
				].
1070
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   421
			    ]
726
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   422
			].
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   423
		    ].
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   424
		    makeLowercase := makeUppercase := makeUppercaseFirst := false.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   425
		    isAllLower ifTrue:[
729
2390cc6de1b4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 726
diff changeset
   426
			makeUppercase := true.
726
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   427
		    ] ifFalse:[
1070
d3525fab5c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1068
diff changeset
   428
			isAllUpper ifTrue:[
729
2390cc6de1b4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 726
diff changeset
   429
			    makeUppercaseFirst := true.
726
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   430
			] ifFalse:[
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   431
			    makeLowercase := true.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   432
			]
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   433
		    ].
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   434
		    col1 to:col2 do:[:col |
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   435
			|ch|
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   436
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   437
			ch := line at:col.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   438
			ch := makeLowercase
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   439
				ifTrue:[ ch asLowercase ]
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   440
				ifFalse:[
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   441
				    makeUppercase
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   442
					ifTrue:[ ch asUppercase ]
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   443
					ifFalse:[
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   444
					    col == col1
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   445
						ifTrue:[ ch asUppercase ]
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   446
						ifFalse:[ ch asLowercase ]
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   447
					]
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   448
				].
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   449
			line at:col put:ch.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   450
		    ].
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   451
		    self withoutRedrawAt:lineNr put:line.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   452
		    self invalidateLine:lineNr.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   453
		].
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   454
	    ].
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   455
	]
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   456
'.
c3108d9652d8 better F6 macro
Claus Gittinger <cg@exept.de>
parents: 720
diff changeset
   457
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
macros at:#ParenthizeSelection put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
	"place parenthesis around the selected text"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
	|line1 col1 line2 col2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
	line1 := self selectionStartLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
	col1 := self selectionStartCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
	line2 := self selectionEndLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
	col2 := self selectionEndCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
	(line1 notNil
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
	    and:[ col1 notNil
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
	    and:[ line2 notNil
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
	    and:[ col2 notNil ]]])
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
	ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
	    self insertString:'')'' atLine:line2 col:col2+1.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
	    self insertString:''('' atLine:line1 col:col1.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
	    self selectFromLine:line1 col:col1 toLine:line2 col:col2+2.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
	] ifFalse:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
	    self beep.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
macros at:#UnparenthizeSelection put:'
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
	"remove parenthesis in the selected text"
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
	|line1 col1 line2 col2|
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
	line1 := self selectionStartLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
	col1 := self selectionStartCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
	line2 := self selectionEndLine.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
	col2 := self selectionEndCol.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
	(line1 notNil
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
	    and:[ col1 notNil
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
	    and:[ line2 notNil
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
	    and:[ col2 notNil
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
	    and:[ (''({[<'' includes:(self characterAtLine:line1 col:col1))
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
	    and:[ (''>]})'' includes:(self characterAtLine:line2 col:col2))  ]]]]])
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
	ifTrue:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
	    self deleteCharAtLine:line2 col:col2.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
	    self deleteCharAtLine:line1 col:col1.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
	    self selectFromLine:line1 col:col1 toLine:line2 col:col2-2.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
	] ifFalse:[
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
	    self beep.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
	]
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
'.
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
936
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   504
macros at:#SingleQuoteSelection put:'
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   505
	"place single quotes around the selected text"
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   506
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   507
	|line1 col1 line2 col2|
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   508
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   509
	line1 := self selectionStartLine.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   510
	col1 := self selectionStartCol.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   511
	line2 := self selectionEndLine.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   512
	col2 := self selectionEndCol.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   513
	(line1 notNil
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   514
	    and:[ col1 notNil
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   515
	    and:[ line2 notNil
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   516
	    and:[ col2 notNil ]]])
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   517
	ifTrue:[
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   518
	    self insertString:Character quote asString atLine:line2 col:col2+1.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   519
	    self insertString:Character quote asString atLine:line1 col:col1.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   520
	    self selectFromLine:line1 col:col1 toLine:line2 col:col2+2.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   521
	] ifFalse:[
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   522
	    self beep.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   523
	]
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   524
'.
f0563e73619a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 729
diff changeset
   525
720
b41f5ac59722 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 718
diff changeset
   526
"/macros keys do:[:k |
b41f5ac59722 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 718
diff changeset
   527
"/    Transcript showCR:k.
b41f5ac59722 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 718
diff changeset
   528
"/].
718
4483f832a017 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
!