Using the Document Viewer


The complete Smalltalk/X online documentation is provided in HTML format. As such, it can be viewed with any web browser, such as Firefox, Internet Explorer, Safari or Opera.

However, the documents also contain interactive code execution features, which requires direct communication with the running Smalltalk system. A feature which was not at all possible at times when the ST/X documentation was initially written (mid 90's, when JavaScript was not even invented). Therefore, we wrote our own implementation of an HTML renderer, which supported what was more or less state of the art at that time. As we do not plan to go into the browser business, and the documentation viewer fullfills our needs for online manual presentation, we did not and don't plan to put more effort into further development of the viewer. Therefore, it might look a bit outdated and also does not support all those fancy new features (stylesheets, for example). It also has a lot of bugs in its layout engine (tables, for example). It is still (after 25 years !) a preliminary implementation of a help viewer.

Summary: you can use another viewer for a slightly better look, but you will not get the interactive experience.


In the text, you will find highlighted items which contain references to other parts of the documentation.

A single click on such an item will locate and show the corresponding part of the documentation.

The help viewer keeps a history of vistited documents; the "back" button returns to the previous document(s). The "home" button returns you to the top introduction document.

Most documents contain extra navigation buttons located at the beginning of the document. The "prev" (left arrow) and "next" (right arrow) buttons lead you to the previous/next chapter in the same hierarchy level of the documentation. The "up" (up arrow) button leads you back to the next higher level.

Notational Conventions

The documentation uses different font styles to distinguish plain text from variables, code fragments, examples etc. The layout may vary with different HTML viewers and their configuration settings. The documents may also look slightly different in printed form.

Cross references within this documentation usually include the title of the referenced section or chapter enclosed in quotation marks (e.g., see "What's new in the documentation").

Lowercase italic type represents a variable, a placeholder for the text you actually enter. A variable can consist of different characters each time you make the entry. A typical example would be: "someArray at:index".

Italic type is also used when some term is defined in the text, as in:
"an executable example" is a code fragment that is executed when clicked upon.

Smalltalk code, constants, class names etc. are identified by a courier font, such as

... the UndefinedObject class ...
... the #at:put: selector ...

This is also true for code fragments or example expressions such as:

	Transcript showCR:'hello world'

To distinguish symbols and message selectors from regular strings or variable names, these are typically prefixed by a "#" character, as in:

... the #new-message creates a new instance ...
or a "#" character followed by a quoted string, as in:
... the #'foo_bar'-message does this and that ...

Filenames are also shown in a monospaced font, but have additional quotes around them, as in "/usr/lib/smalltalk/smalltalk.rc".

Keys that are labeled on your keyboard with more than one character, such as the "RETURN" key, are identified by all uppercase letters in a bold courier font. Keys that you are to press simultaneously or in succession are linked with a hyphen (e.g., press "SHIFT-ALT-d").
If multiple keys are to be pressed in sequence, no hyphen is shown (e.g., as in "COMPOSE a *").

Executable Examples

In some sections you will find executable example code or code fragments. You can execute those iretly from within the help viewer by clicking on them.

Like other code fragments, executable examples are layed out in a fixed (Courier) font but rendered in a different (darkened red) color.

    Transcript topView raise.
    Transcript showCR:'hello world'
If you have problems with red/green colors, please change the color settings in the help viewer's settings dialog.

The help viewer will catch errors occurring in those examples and show a warn box. Examples which produce such an error by purpose (to demonstrate error behavior), can also be copied into a workspace and executed there (right-click on the example's text to get a popUp-menu).

    5 / (3 - 3)
which will bring you into the debugger due to a division by zero error.

Programmed halts and breakpoints will also bring you directly into the debugger.
Try also:

    self halt
Executable examples are a special feature of the ST/X help viewer. In regular browsers, such as Firefox, IE, Safari or any other HTML reader or web browser, these cannot be executed and an error page will be shown.

An example's text can also be copied to a workspace as follows:

alternatively, the "Open Workspace on Example's Text" menu item will open a new workspace which contains the example.

In the workspace, you may want to try variations of the example (trying different parameters, for example).


Be careful with documents provided by untrusted people:

Since the examples are executed by your running Smalltalk system, a bad guy can place example code into a document, which could be harmful to your (Smalltalk-) system.
Always read and understand what is going on the code example, before executing it.
In the help viewer, you can disable example execution, to avoid executing any code by unintended clicks.

In non-Smalltalk HTML readers, command execution is not possible and there is no danger whatsoever with examples.

Dynamic links (executed hrefs)

A link may be defined to execute some Smalltalk action; from a technical point of view, they are much like executable examples, but the text which is shown is different from the executed code.

For example:
Click here to open a browser.
Or click here to ask for a class and open a browser there.
Click here, to browse the ApplicationModel class.

The above security warning also applies to this type of code execution.

Interactive Documents

In some sections, you may find interactive elements, such as buttons or input fields. These fields can be filled out and actions are performed when the button is pressed.
For example:
Enter the name of a class here:
To browse, press: .


Enter the name of a class:
and selector:
press: .

For these fillout forms, the same security dangers are to be considered as for executable examples (even more, since you do not see the underlying code). Therefore, these can also be disabled in the help viewer when reading untrusted documents. If disabled, the help viewer will show the underlying code in a box instead.

The ST/X documents as provided here were of course written with great care to avoid doing any harm to your Smalltalk environment - however, even these documents could have been modified by someone else at the time you read them...

Copyright © 1995-2016 Claus Gittinger Development & Consulting, all rights reserved
Copyright © 1996-2016 eXept Software AG

Doc $Revision: 1.19 $ $Date: 2016/11/04 00:19:00 $