Christoph Thiede uploaded a new version of Files to project The Trunk:
http://source.squeak.org/trunk/Files-ct.197.mcz
==================== Summary ====================
Name: Files-ct.197
Author: ct
Time: 8 September 2022, 8:20:25.707752 pm
UUID: e0f68785-4f52-1842-80d6-ac7746f120a5
Ancestors: Files-cmm.196
Fixes yellow-button menu in ZipViewer by making all file reader services robust against absent/relative file paths.
=============== Diff against Files-cmm.196 ===============
Item was changed:
----- Method: FileDirectory class>>fileReaderServicesForFile:suffix: (in category 'file reader services') -----
fileReaderServicesForFile: fullName suffix: suffix
+ ^ (self default directoryExists: fullName)
- ^ (self on: fullName) exists
ifTrue: [self services]
ifFalse: [#()].!
Christoph Thiede uploaded a new version of Help-Squeak-TerseGuide to project The Trunk:
http://source.squeak.org/trunk/Help-Squeak-TerseGuide-ct.16.mcz
==================== Summary ====================
Name: Help-Squeak-TerseGuide-ct.16
Author: ct
Time: 8 September 2022, 7:22:19.321712 pm
UUID: 6f446ac1-2ee0-a549-8108-8b47c90ea5a8
Ancestors: Help-Squeak-TerseGuide-mt.15
Minor refinements to terse guide.
(Follow-up from https://github.com/squeak-smalltalk/squeak.org/pull/44)
=============== Diff against Help-Squeak-TerseGuide-mt.15 ===============
Item was changed:
----- Method: TerseGuideHelp class>>block (in category 'pages') -----
block
"This method was automatically generated. Edit it using:"
"TerseGuideHelp edit: #block"
<generated>
^(HelpTopic
title: 'Blocks'
contents:
'"Blocks:
- blocks are objects and may be assigned to a variable
- value is last expression evaluated unless explicit return
- blocks may be nested
- specification -
[ arguments | | localvars | expressions ]
- ^ expression terminates block & method (exits all nested blocks)
+ - blocks intended for long term storage must not contain ^,
- - blocks intended for long term storage should not contain ^,
as they can not return to the sender context
+ - up to 15 arguments are possible;
+ for up to 5 arguments, there are #value:, #value:value:, ...;
+ for more, use #valueWithArguments:
+ - use #cull: (and #cull:cull:...) or #valueWithEnoughArguments:
+ if you do not know the exact number of arguments
- - use #cull: (and #cull:cull:...) if you do not know the exact number of arguments
- blocks (along with polymorphism on booleans) are the basis of control structures
-> See Conditional Expressions
"
| x y z fac |
x := [ y := 1. z := 2. ]. x value. "simple block usage"
x := [ :argOne :argTwo | argOne, '' and '' , argTwo.]. "set up block with argument passing"
Transcript show: (x value: ''First'' value: ''Second''); cr. "use block with argument passing"
x := [:e | | v | v := 1. e + v] value: 2. "local variable in a block"
fac := [ :n | n > 1 ifTrue: [n * (fac value: n-1)] ifFalse: [1]]. "closure on block variable"
+ fac value: 5. "closure variable scoped to its block"!!' readStream nextChunkText)
- fac value: 5. "closure variable scoped to its block"
-
- !!' readStream nextChunkText)
key: #block;
shouldStyle: true;
yourself!
Item was changed:
----- Method: TerseGuideHelp class>>introduction (in category 'pages') -----
introduction
"This method was automatically generated. Edit it using:"
"TerseGuideHelp edit: #introduction"
+ <generated>
^(HelpTopic
title: 'General'
contents:
'Allowable characters:
- a-z
- A-Z
- 0-9
- .+/\*~<>@%|&?
- blank, tab, cr, ff, lf
Variables:
- Variables must be declared before use
+ - Shared vars (globals, pools, and class vars) must begin with uppercase
- - Shared vars must begin with uppercase
- Local vars must begin with lowercase
- Reserved names: self, super, thisContext, true, false, and nil
Variable scope:
- Global: defined in current environment (that is usually Smalltalk) and accessible by all objects in system
- Special (reserved): self, super, thisContext, true, false, and nil
- Method Temporary: local to a method
- Block Temporary: local to a block
- Pool: variables in a Dictionary object
- Method Parameters: automatic local vars created as a result of message call with params
- Block Parameters: automatic local vars created as a result of value: message call
- Class: shared with all instances of one class & its subclasses
- Class Instance: unique to each instance of a class
- Instance Variables: unique to each instance
"Comments are enclosed in quotes - like this"
+ Period (.) is the statement separator!!' readStream nextChunkText)
- Period (.) is the statement separator
-
- !!' readStream nextChunkText)
key: #introduction;
shouldStyle: false;
yourself!
Christoph Thiede uploaded a new version of JSON to project The Trunk:
http://source.squeak.org/trunk/JSON-AliceCengal.1.mcz
==================== Summary ====================
Name: JSON-AliceCengal.1
Author: AliceCengal
Time: 1 June 2013, 7:23:35.114 pm
UUID: 347fedb7-465b-4e26-b6ae-578b950c95e0
Ancestors:
empty log message
==================== Snapshot ====================
SystemOrganization addCategory: #JSON!