John McIntosh | 26 Jun 06:08 2016
Gravatar

Smalltalk books & Smalltalk reports

I've about 20 Smalltalk books and 36 issues of the ancient Smalltalk Reports to give anyway to anyone that will pay the postage from Canada. Decuttering my office and its a shame to send all of it to the shredder. 






--
===========================================================================
John M. McIntosh. Corporate Smalltalk Consulting Ltd https://www.linkedin.com/in/smalltalk
===========================================================================

Jordi Delgado | 25 Jun 12:13 2016

ESUG 2016, 13th Innovation Technology Awards

ESUG 2016, 13th Innovation Technology Awards

Have you written innovative Smalltalk? The developers of any
Smalltalk-based software can enter by submitting a 3-5min video of their
software. Entrants demo their systems in a session at the end of Monday
August 22, 2016, after which the conference attendees vote. (A vote
consists in providing a sorted list of 3 preferred pieces of software.)

The top 3 teams with the most innovative software will receive,
respectively, 500 Euros, 300 Euros and 200 Euros. The results are
announced in the Awards ceremony that is held during the social event.

Applicants should provide the following information on the conference
registration server (registration.esug.org). Once you have registered
your personal info, an 'Awards' menu allows submitting your software.
You can provide this information when you first register, or login again
later and update your details.

Info to provide:

    Name of the software
    Licence information (free, shareware, or commercial)
    Name of the Smalltalk dialect used
    Name, Affiliation and Country of developers

Besides, it would be great if the submission could include:

    URL for a video (3-5 min) showing a screencast / demo of the software
    URL for downloading the software or at least a runnable demo
    Deadline: August 21, 2016

Any Smalltalker can apply (students, companies, ...). The presented
piece of code/software should be written in Smalltalk or directly
support Smalltalk (e.g. Smalltalk VM). All Smalltalk dialects are
accepted. The applicant should be "strongly related" to the presented
code, be it as an author, as owner of the copyright/copyleft, or as an
official representative of the copyright/copyleft owner.

Bests,

Jordi

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

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
DwFjA9T1ONO5LR0iknc=
=1gTk
-----END PGP PUBLIC KEY BLOCK-----

Ben Coman | 24 Jun 17:35 2016

debuggerCompleteToSender (was Re: Having comments for pragma?)

On Fri, Jun 24, 2016 at 9:54 PM, Alexandre Bergel <alexandre.bergel <at> me.com> wrote:
Hi!

A pragma may be very obscure. For example, I do: 
Pragma allInstances anyOne
=> <debuggerCompleteToSender>

If I want to know more about this <debuggerCompleteToSender> is actually quite challenging. 
I see many methods having that pragma, but not idea what it is for. 
I see that Halt>>signalerContext and Process>>complete: that use that pragma somehow. But still, I have no idea when I should use that pragma in my method.

 
Sorry I don't know enough of Pragma architecture to form an opinion on your question, but I can give you some background on debuggerCompleteToSender.  There are two cases where the debugger interacts with a halt statement.  

The first is when a halt is first encountered in running code. This could be "Halt now" or "self halt" which respectively invoke...

    Halt>>now
        self signal.

    Object>>halt
        Halt now.

Now you don't want the debugger to open in those methods, but the method that sent the message.  The problem with the implementation prior to 
 <debuggerCompleteToSender> was that while it was okay for signalerContext to be search the context chain for a Halt object so the debugger could open in the sender of #now, that meant the debugger would open inside "self halt" since it sends #now. So there was an  #or:  to look for  #halt being sent,   and an  #or:  for  #haltOnce  beign sent, and the  dozen other senders of Halt>>now  were ignored, or otherwise you'd need a dozen #or: conditions.  

The second case is when you are stepping through code you come across another "self haltOnce" and previously when you <Step Over> the debugger would end up several methods "in" and it would take eight or so <Steps> to get back out to the method containing the "self halt".   (and this really annoyed me enough to fix it).
So DebuggSession>>stepOver: calls Process>>completeStep:  which calls Process>>complete:  Again (vaguely I remember) it originally only searched up the context chain for senders of #halt and the dozen others halt methods were ignored and so they failed to set the debugger to the correct location.  

From from #complete: the call "self completeTo: aContext sender" moves up the context chain, and completeTo: recurses back to complete.  This recursion only happens while the error class is Halt and while the context methods have the pragma, otherwise it falls through to return  suspendedContext  as it unwinds.

So having written all that to remind myself, the short answer of the net effect is that a first method with <debuggerCompleteToSender> can call another method with <debuggerCompleteToSender> which can call another <debuggerCompleteToSender> methods etc to any depth, until eventually Halt>>now is called to signal the exception, then all calls get unwound up to the first method with <debuggerCompleteToSender>, and the debugger lands in its sender.

I was not completely happy with the pragma's name, but I was really at a loss what to name it, and so... since I was fixing the debugger, and was all happening in the "completion" machinery, and it unwound to the sender...   *shrugs*

Now, where to add all that as a comment?
HTH, cheers -ben
Valentin Ryckewaert | 24 Jun 16:18 2016
Picon

Impossible to delete a class

Hello everyone,

I just downloaded the last Pharo version and I found a bug when I tried to delete a class.
The last version deprecated a method "name" and it looks like SmalltalkImage>>errorReportOn: doesn't like this. When you try to delete a class there is an infinite loop everytime.

Valentin
Alexandre Bergel | 24 Jun 15:54 2016

Having comments for pragma?

Hi!

A pragma may be very obscure. For example, I do: 
Pragma allInstances anyOne
=> <debuggerCompleteToSender>

If I want to know more about this <debuggerCompleteToSender> is actually quite challenging. 
I see many methods having that pragma, but not idea what it is for. 
I see that Halt>>signalerContext and Process>>complete: that use that pragma somehow. But still, I have no idea when I should use that pragma in my method.

What about having a way to comment pragma? Maybe something like 
-=-=-=-=-=-=
Object subclass: #Pragma
instanceVariableNames: 'method keyword arguments comment'
-=-=-=-=-=-=

And a simple way to annotate pragmas?
Just an idea. 

Cheers,
Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



GitHub | 24 Jun 15:21 2016

[pharo-project/pharo-core] b637cf: 60112

  Branch: refs/heads/6.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: b637cf9547873482910a1cf6159b60d220b6e0c9
      https://github.com/pharo-project/pharo-core/commit/b637cf9547873482910a1cf6159b60d220b6e0c9
  Author: Jenkins Build Server <board@...>
  Date:   2016-06-24 (Fri, 24 Jun 2016)

  Changed paths:
    A ConfigurationOfTxText.package/ConfigurationOfTxText.class/instance/versions/version2125_.st
    M Kernel.package/Halt.class/class/halting/once.st
    M Ring-Core-Kernel.package/RGElementDefinition.class/instance/accessing/package.st
    R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60111.st
    A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60112.st
    R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60111.st
    A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60112.st
    M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
    M TxText-Athens.package/TxAdapterBindings.class/instance/initialize/initializeBindings.st
    R TxText-Model.package/TxModel.class/instance/copying/postCopy.st

  Log Message:
  -----------
  60112
18597 fix haltOnce to open debugger in the right place
	https://pharo.fogbugz.com/f/cases/18597

18539 Can not browse methods for a change set that modified class comments
	https://pharo.fogbugz.com/f/cases/18539

18073 TxModel >>#postCopy sends #halt
	https://pharo.fogbugz.com/f/cases/18073

http://files.pharo.org/image/60/60112.zip

GitHub | 24 Jun 15:21 2016

[pharo-project/pharo-core]

  Branch: refs/tags/60112
  Home:   https://github.com/pharo-project/pharo-core
GitHub | 24 Jun 14:06 2016

[pharo-project/pharo-core] b67123: 60111

  Branch: refs/heads/6.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: b67123481cfacd8b11c33802fdacc9fc7d182137
      https://github.com/pharo-project/pharo-core/commit/b67123481cfacd8b11c33802fdacc9fc7d182137
  Author: Jenkins Build Server <board@...>
  Date:   2016-06-24 (Fri, 24 Jun 2016)

  Changed paths:
    R Kernel.package/CompiledMethod.class/instance/literals/symbolLiterals.st
    M Kernel.package/CompiledMethod.class/instance/testing/containsHalt.st
    M Kernel.package/CompiledMethod.class/instance/testing/isDeprecated.st
    A Kernel.package/CompiledMethod.class/instance/testing/sendsAnySelectorOf_.st
    M Manifest-Core.package/TheManifestBuilder.class/definition.st
    M Manifest-Core.package/TheManifestBuilder.class/instance/printing/printOn_.st
    M Nautilus.package/MethodContainsFlagsAction.class/instance/order/isActionHandled.st
    M Nautilus.package/MethodWidget.class/instance/private/methodWrapper_.st
    R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60110.st
    A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60111.st
    R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60110.st
    A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60111.st
    M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
    M Spec-Inspector.package/EyeAbstractInspector.class/instance/menu/inspectionMenu_.st

  Log Message:
  -----------
  60111
18592 fix a #name deprecation in Manifest Builder
	https://pharo.fogbugz.com/f/cases/18592

18587 Show depreciated methods with strikethrough emphasis
	https://pharo.fogbugz.com/f/cases/18587

18584 DNU on showing menu in PointerExplorer
	https://pharo.fogbugz.com/f/cases/18584

http://files.pharo.org/image/60/60111.zip

GitHub | 24 Jun 14:06 2016

[pharo-project/pharo-core]

  Branch: refs/tags/60111
  Home:   https://github.com/pharo-project/pharo-core
GitHub | 24 Jun 11:16 2016

[pharo-project/pharo-core] d93829: 60110

  Branch: refs/heads/6.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: d938291183988224940621c636ddf2f55c792165
      https://github.com/pharo-project/pharo-core/commit/d938291183988224940621c636ddf2f55c792165
  Author: Jenkins Build Server <board@...>
  Date:   2016-06-24 (Fri, 24 Jun 2016)

  Changed paths:
    M AST-Core.package/RBParseErrorNode.class/instance/converting/asSyntaxErrorNotification.st
    A Collections-Strings.package/String.class/instance/copying/trimLineSpaces.st
    A Collections-Tests.package/StringTest.class/instance/testing - converting/testTrimLineSpaces.st
    M Epicea.package/extension/CompiledMethod/instance/asEpiceaRingDefinition.st
    M Kernel.package/Halt.class/class/halting/onCount_.st
    M Kernel.package/Halt.class/class/halting/once.st
    M Kernel.package/Halt.class/class/private/haltIfBlockWithCallingObject_.st
    M Kernel.package/Halt.class/class/private/haltIfCallChainContains_.st
    M Kernel.package/Object.class/instance/deprecation/deprecated_transformWith_.st
    A OpalCompiler-Core.package/AbstractCompiler.class/class/settings/compileWithErrors.st
    A OpalCompiler-Core.package/AbstractCompiler.class/class/settings/compileWithErrors_.st
    M OpalCompiler-Core.package/AbstractCompiler.class/class/settings/compilerSettingsOn_.st
    M OpalCompiler-Core.package/CCompilationContext.class/class/instance creation/default.st
    M OpalCompiler-Core.package/CompilationContext.class/class/instance creation/default.st
    R ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60109.st
    A ScriptLoader60.package/ScriptLoader.class/instance/pharo - scripts/script60110.st
    R ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60109.st
    A ScriptLoader60.package/ScriptLoader.class/instance/pharo - updates/update60110.st
    M ScriptLoader60.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st

  Log Message:
  -----------
  60110
18586 add String>>#trimmLineSpaces
	https://pharo.fogbugz.com/f/cases/18586

18591 fix call to #name in asEpiceaRingDefinition
	https://pharo.fogbugz.com/f/cases/18591

18583 For experiments: Option to compile with syntax errors
	https://pharo.fogbugz.com/f/cases/18583

18585 deprecated:transformWith: should to Transcript output
	https://pharo.fogbugz.com/f/cases/18585

http://files.pharo.org/image/60/60110.zip

GitHub | 24 Jun 11:16 2016

[pharo-project/pharo-core]

  Branch: refs/tags/60110
  Home:   https://github.com/pharo-project/pharo-core

Gmane