--- a/Make.proto Fri Dec 30 18:14:48 1994 +0100
+++ b/Make.proto Mon Feb 06 02:03:09 1995 +0100
@@ -37,6 +37,39 @@
# and the baseName (without .obj/.so)
PRIVATELIBS=
+#
+# directories from which bitmap files in bitmap subdirectories are to be symlinked
+# to the bitmaps subdirectory
+#
+BITMAPDIRS= \
+ $(LIBBASIC2DIR) $(LIBVIEWDIR) $(LIBWIDGDIR) \
+ $(LIBWIDG2DIR) $(LIBWIDG3DIR) $(LIBTOOLDIR) $(CLIENTDIR)/[A-Z]* \
+ $(OTHERLIBDIRS) \
+ $(TOP)/fileIn $(TOP)/fileIn/* $(TOP)/libtomcat $(TOP)/goodies \
+ $(TOP)/goodies/* $(TOP)/goodies/*/*
+
+#
+# directories from which binary files are to be symlinked
+# to the binary subdirectory
+#
+BINARYDIRS= \
+ $(LIBBASICDIR) $(LIBBASIC2DIR) $(LIBVIEWDIR) $(LIBWIDGDIR) \
+ $(LIBWIDG2DIR) $(LIBWIDG3DIR) $(LIBTOOLDIR) $(CLIENTDIR)/[A-Z]* \
+ $(LIBCOMPDIR) $(OTHERLIBDIRS) \
+ $(TOP)/fileIn $(TOP)/libtomcat $(TOP)/goodies $(TOP)/goodies/* \
+ $(TOP)/goodies/*/*
+
+#
+# directories from which source files are to be symlinked
+# to the source subdirectory
+#
+SOURCEDIRS= \
+ $(LIBBASICDIR) $(LIBBASIC2DIR) $(LIBCOMPDIR) $(LIBVIEWDIR) $(LIBWIDGDIR) \
+ $(LIBWIDG2DIR) $(LIBWIDG3DIR) $(LIBTOOLDIR) $(CLIENTDIR)/[A-Z]* \
+ $(OTHERLIBDIRS) \
+ $(TOP)/fileIn $(TOP)/libtomcat $(TOP)/goodies $(TOP)/goodies/* \
+ $(TOP)/goodies/*/*
+
# for example, if you have a libprivate directory,
# where libprivate.obj is built,
# change above lines to:
@@ -66,12 +99,25 @@
smalltalk: $(TARGET)
smalltalk_static:
- $(MAKE) linkIt LIBOBJS="$(LIBOBJS) $(PERSOBJ) $(PRIVATEOBJS)"
+ $(MAKE) linkIt LIBOBJS="$(LIBOBJS) $(PERSOBJ) $(PRIVATEOBJS)" EXTRA_OBJ="$(EXTRA_OBJ)"
smalltalk_shared:
- $(MAKE) linkIt LIBOBJS="$(LIBOBJS_SHARED) $(PERS_SO) $(PRIVATE_SO)"
+ $(MAKE) linkIt LIBOBJS="$(LIBOBJS_SHARED) $(PERS_SO) $(PRIVATE_SO)" EXTRA_OBJ="$(EXTRA_OBJ)"
+#
+# a "smaller" smalltalk (does not include development classes)
+#
+smalltalk_exec:
+ -rm classList.stc
+ $(MAKE) classList.stc \
+ EXTRA_CLASSES="$(EXTRA_CLASSES) DebugView" \
+ EXTRA_OBJ="$(EXTRA_OBJ) $(LIBTOOLDIR)/DebugView.so" \
+ LIBLIST="$(FUNDAMENTAL_LIST)"
+ $(MAKE) smalltalk \
+ EXTRA_OBJ="$(EXTRA_OBJ) $(LIBTOOLDIR)/DebugView.so" \
+ LIBOBJS="$(FUNDAMENTAL_LIB)" \
+ LIBOBJS_SHARED="$(FUNDAMENTAL_LIB_SHARED)"
linkIt: main.$(O) $(LIBOBJS) $(LIBRUN) $(EXTRA_LIBS) $(EXTRA_OBJ)
@-echo "Making classList ..."
@@ -101,6 +147,7 @@
classList.stc:
@$(MAKE) GENERICLIST CLASSLIST=classList.stc \
EXTRA_CLASSES="$(EXTRA_CLASSES)" \
+ LIBLIST="$(LIBLIST)" \
CLASSLIBRARIES=" \
$(LIBLIST) \
$(OTHERLIBRARIES) \
@@ -125,34 +172,6 @@
$(MAKE) sourceLink
#
-# create symbolic links to all source files in the source subdirectory
-#
-sourceLink:
- -mkdir source
- @-for i in $(LIBBASICDIR) $(LIBBASIC2DIR) $(LIBCOMPDIR) $(LIBVIEWDIR) $(LIBWIDGDIR) \
- $(LIBWIDG2DIR) $(LIBWIDG3DIR) $(LIBTOOLDIR) $(CLIENTDIR)/[A-Z]* \
- $(OTHERLIBDIRS) \
- $(TOP)/fileIn $(TOP)/libtomcat $(TOP)/goodies $(TOP)/goodies/* \
- $(TOP)/goodies/*/* \
- ; do \
- if [ -d $$i ]; then \
- if [ "`echo $$i/*.st`" != '$$i/*.st' ]; then \
- echo linking sourcefiles files from $$i; \
- (cd source; $(LNS) ../$$i/*.st .); \
- (cd source; rm -f \*.st); \
- fi \
- else \
- if [ -d $(TOP)/$$i ]; then \
- if [ "`echo $(TOP)/$$i/*.st`" != '$(TOP)/$$i/*.st' ]; then \
- echo linking sourcefiles files from $(TOP)/$$i; \
- (cd source; $(LNS) ../$(TOP)/$$i/*.st .); \
- (cd source; rm -f \*.st); \
- fi \
- fi \
- fi \
- done
-
-#
# make a new include subdirectory and link to abbreviation file
newInclude:
-rm -rf include
@@ -185,23 +204,6 @@
binary:
$(MAKE) binaryLink
-binaryLink:
- -mkdir binary
- @-for i in $(LIBBASICDIR) $(LIBBASIC2DIR) $(LIBVIEWDIR) $(LIBWIDGDIR) \
- $(LIBWIDG2DIR) $(LIBWIDG3DIR) $(LIBTOOLDIR) $(CLIENTDIR)/[A-Z]* \
- $(LIBCOMPDIR) $(OTHERLIBDIRS) \
- $(TOP)/fileIn $(TOP)/libtomcat $(TOP)/goodies $(TOP)/goodies/* \
- $(TOP)/goodies/*/* \
- ; do \
- if [ -d $$i ]; then \
- if [ "`echo $$i/*$(BIN_O)`" != '$$i/*$(BIN_O)' ]; then \
- echo linking binaries from $$i; \
- (cd binary; $(LNS) ../$$i/*$(BIN_O) .); \
- (cd binary; rm -f \*$(BIN_O)); \
- fi \
- fi \
- done
-
#
# make a new bitmaps subdirectory
# (simply collect the contents of all bitmap directories)
@@ -212,24 +214,8 @@
Bitmaps: bitmaps
-bitmaps:
- -mkdir bitmaps
- @-for i in $(LIBBASIC2DIR) $(LIBVIEWDIR) $(LIBWIDGDIR) \
- $(LIBWIDG2DIR) $(LIBWIDG3DIR) $(LIBTOOLDIR) $(CLIENTDIR)/[A-Z]* \
- $(OTHERLIBDIRS) \
- $(TOP)/fileIn $(TOP)/fileIn/* $(TOP)/libtomcat $(TOP)/goodies \
- $(TOP)/goodies/* $(TOP)/goodies/*/* \
- ; do \
- if [ -d $$i ]; then \
- if [ -d $$i/bitmaps ]; then \
- if [ "`echo $$i/bitmaps/*`" != '$$i/bitmaps/*' ]; then \
- echo linking bitmaps from $$i; \
- (cd bitmaps; $(LNS) ../$$i/bitmaps/* .); \
- (cd bitmaps; rm -f \*); \
- fi \
- fi \
- fi \
- done
+bitmaps:
+ $(MAKE) bitmapLink
#
# clean out intermediate chunk
--- a/display.rc Fri Dec 30 18:14:48 1994 +0100
+++ b/display.rc Mon Feb 06 02:03:09 1995 +0100
@@ -18,6 +18,8 @@
map := Display keyboardMap.
+map bindValue:#UserInterrupt to:#Ctrlc.
+
map bindValue:#DoIt to:#Cmdd.
map bindValue:#InspectIt to:#Cmdi.
map bindValue:#PrintIt to:#Cmdp.
@@ -41,12 +43,29 @@
map bindValue:#EndOfLine to:#Ctrle.
map bindValue:#NextWord to:#Ctrlw.
+map bindValue:#ScrollUp to:#CtrlCursorUp.
+map bindValue:#ScrollDown to:#CtrlCursorDown.
+
map bindValue:#SearchMatchingParent to:#Ctrlm.
map bindValue:#SelectMatchingParents to:#Cmdm.
map bindValue:#SelectToEnd to:#CtrlE. "that is ctrl-shift-e"
map bindValue:#SelectFromBeginning to:#CtrlA. "that is ctrl-shift-a"
+"Notice:
+ Cmd-CursorLeft/Right and Alt-CursorLeft/Right
+ are also used by so,e winmdowmanagers (fvwm)
+ if this is the case on your system, either
+ change the following to use different keys,
+ or chamge the windowmanagers configuration file
+ (usr/lib/X11/xxxwm/*rc)
+"
+map bindValue:#FocusNext to:#CmdCursorRight. "experimental"
+map bindValue:#FocusPrevious to:#CmdCursorLeft. "experimental"
+map bindValue:#FocusNext to:#CtrlCursorRight. "experimental"
+map bindValue:#FocusPrevious to:#CtrlCursorLeft. "experimental"
+
+
"
* on some german keyboards, the x-server does NOT correctly
* xlate characters ....
@@ -83,7 +102,7 @@
map bindValue:(Character value:16rB2) to:#twosuperior.
map bindValue:(Character value:16rB3) to:#threesuperior.
map bindValue:(Character value:16rB5) to:#mu.
-!
+
"*
* mouse-button translation
@@ -152,6 +171,8 @@
formats at:'.xpm' put:XPMReader.
formats at:'.pcx' put:PCXReader.
formats at:'.PCX' put:PCXReader.
+formats at:'.tga' put:TargaReader.
+formats at:'.TGA' put:TargaReader.
!
"*
--- a/patches Fri Dec 30 18:14:48 1994 +0100
+++ b/patches Mon Feb 06 02:03:09 1995 +0100
@@ -30,7 +30,21 @@
"
|optionalClasses optionalGames optionalDemos optionalApps optionalBench
- optionalTools optionalViews optionalImage compat|
+ optionalTools optionalViews optionalImage compat requiredClasses|
+
+"
+ the following are required (either compiled or interpreted) ...
+"
+requiredClasses := #(
+ VariableArray
+ Text
+ ).
+
+requiredClasses do:[:s |
+ (Smalltalk at:s) isNil ifTrue:[
+ Smalltalk fileInClass:s initialize:true lazy:false silent:true
+ ]
+].
Transcript showCr:'installing autoloaded classes ...'.
@@ -46,7 +60,7 @@
GLSphereDemoView1 GLSphereDemoView2
GLObjectDemoView GLCubeDemoView GLTetraDemoView
GLWireCubeDemoView GLWireSphereDemoView
- GLCubeDemoView2 Logo3DView1 GLPlanetDemoView
+ GLCubeDemoView2 GLBrickCubeDemoView Logo3DView1 GLPlanetDemoView
).
optionalApps := #(
@@ -55,7 +69,8 @@
DrawTool DrawObject DrawLine DrawText
DrawRectangle DrawRoundRectangle DrawEllipse
DrawPolygon DrawCurve DrawGroup DrawView DrawImage
- PatternMenu
+ DrawVLine DrawHLine
+ PatternMenu LineMenu
LogicTool LogicView LogicObject Connection Input Output
Low High Inverter AndGate OrGate AndGate2 NandGate2 OrGate2 NorGate2 ExorGate2
@@ -157,14 +172,10 @@
optionalImage := #(
GIFReader TIFFReader FaceReader WindowsIconReader SunRasterReader
XBMReader JPEGReader PBMReader ST80FormReader XPMReader
- PCXReader
- ).
+ PCXReader TargaReader
+ ).
optionalClasses := #(
- GIFReader TIFFReader FaceReader WindowsIconReader SunRasterReader
- XBMReader JPEGReader PBMReader ST80FormReader XPMReader
- PCXReader
-
EpsonFX1PrinterStream HPLjetIIPrinterStream
PostscriptPrinterStream
Decompiler Polygon
@@ -176,7 +187,7 @@
RDoItServer
- HandlerCollection
+ HandlerCollection VariableArray Text
).
optionalViews do:[:s |
@@ -268,6 +279,106 @@
].
"
+ check if this is a minitalk ... and install
+ all widget & tool classes as autoloaded if so
+"
+((Smalltalk at:#TextView) isNil
+or:[(Smalltalk at:#DebugView) isNil]) ifTrue:[
+ "
+ but only, if this is not a non GUI smalltalk
+ "
+ Workstation notNil ifTrue:[
+ optionalClasses := #(
+ ArrowButton
+ Button
+ CheckToggle
+ ClickMenuView
+ CodeView
+ DialogBox
+ DialogView
+ EnterFieldGroup
+ EditTextView
+ EditField
+ EnterBox
+ EnterBox2
+ FileSaveBox
+ FileSelectionBox
+ FileSelectionList
+ FontPanel
+ FramedBox
+ HorizontalMiniScroller
+ HorizontalPanelView
+ HorizontalScrollBar
+ HorizontalScroller
+ HVScrollableView
+ InfoBox
+ ListSelectionBox
+ Label
+ ListView
+ MenuView
+ MiniScroller
+ ObjectView
+ OptionBox
+ PanelView
+ PopUpList
+ PopUpMenu
+ PullDownMenu
+ RadioButtonGroup
+ RadioButton
+ ScrollableView
+ ScrollBar
+ Scroller
+ SelectionInListView
+ TextCollector
+ TextView
+ Toggle
+ VerticalPanelView
+ VariableHorizontalPanel
+ VariableVerticalPanel
+ WarningBox
+ Workspace
+ YesNoBox
+
+ FilenameEditField
+ FilenameEnterBox
+ HorizontalSlider
+ ImageView
+ ImageEditView
+ LabelledEnterField
+ MultiColListEntry
+ Ruler
+ Slider
+ TabulatorSpecification
+ TextBox
+
+ ChangesBrowser
+ ContextInspectorView
+ DebugView
+ DictionaryInspectorView
+ DirectoryBrowser
+ FileBrowser
+ InspectorView
+ Launcher
+ OrderedCollectionInspectorView
+ ProjectView
+ SystemBrowser
+
+ ).
+
+ optionalClasses do:[:s |
+ "install if not already compiled-in"
+ (Smalltalk at:s) isNil ifTrue:[
+ Autoload subclass:s
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'autoloaded-Classes'.
+ ]
+ ].
+ ]
+].
+
+"
a kludge: we have added new ImageReaders above - tell Image
"
"avoid introducing a new global ..."
@@ -319,7 +430,7 @@
!
Transcript showCr:'installing patches ...' !
-!OperatingSystem class methodsFor:'queries'!
+!OperatingSystem class methodsFor:'os queries'!
supportsIOInterrupts
"return true, if the OS supports IO availability interrupts
(i.e. SIGPOLL/SIGIO)."
--- a/private.rc Fri Dec 30 18:14:48 1994 +0100
+++ b/private.rc Mon Feb 06 02:03:09 1995 +0100
@@ -3,33 +3,62 @@
*
* sample private.rc - file
*
- * a copy of this file can reside in your home directory -
- * put all user-private preferences in here.
+ * a copy of this file can (should) reside in your home or
+ * current directory - put all private preferences in here.
*"
Smalltalk systemPath addFirst:'../..'.
-"claus:
- I like those cursors :-)
- if you think this is too 'childish', remove the line below ...
+"
+ color allocation strategy:
+
+ the default is to allocate from the colormap as required.
+ As long as the number of distinct colors used is less than the number
+ of available colors (which is usually the case) this leads to better looking
+ images.
+ However, if many images are to be displayed simulatiously, images displayed
+ first may steal too many colors required in images displayed later.
+ In this case, it is better to preallocate some colors, and dither all images
+ using theese. Of course, while making the worst case better, this makes
+ the best case worse. You can decide ...
+"
+"/ Color getColors6x6x4.
+
+"
+ The following loads some nice cursors; for example thumbsUp and thumbsDown
+
+ claus:
+ I like those cursors :-)
+ if you think this is too 'childish', remove the line below ...
"
Smalltalk silentFileIn:'../goodies/Cursor-ST80Cursors.chg'.
-!
-"claus:
- I dont want those warnings about stx features being non-portable ...
+
+"
+ claus:
+ I dont want those warnings about stx features being non-portable ...
+ However, you should (at least when new to the system) see them.
+ Once you get bored about them, make the below unconditional.
"
OperatingSystem getLoginName = 'claus' ifTrue:[
Compiler warnSTXSpecials:false
].
+
+"
+ this is a temporary kludge: specify the flags to be used
+ when compiling via stc. Primitive compilation (from within the browser)
+ is still experimental. So you better not care (yet)
+"
+OperatingSystem getOSType = 'irix' ifTrue:[
+ Compiler stcCompilationFlags:'-I../../include +optinline -DGLX'.
+] ifFalse:[
+ Compiler stcCompilationFlags:'-I../../include -I../../librun/VGL/vogl/src +optinline -DVGL'.
+]
!
-EditTextView classResources at:'cursorType' put:#caret.
-!
-"/ MessageTracer trace:Display selectors:(XWorkstation selectorArray)
-
-
-"the following is experimental (and a secret)
+"
+ another experimental (and a secret)
+ Playing around with GC parameters (aging params)
"
|a|
ObjectMemory newSpaceSize > (500*1024) ifTrue:[
--- a/smalltalk.rc Fri Dec 30 18:14:48 1994 +0100
+++ b/smalltalk.rc Mon Feb 06 02:03:09 1995 +0100
@@ -83,8 +83,7 @@
].
Smalltalk readEvalPrint.
Smalltalk exit
-]
-!
+].
"*
* this makes X-errors be handled immediately (so you see,
@@ -92,8 +91,7 @@
* if commented out, errors will be reported asynchronously.
* (I enable this, when things go bad during startup)
*"
-"Display unBuffered"
-!
+"/ Display unBuffered.
"*
* this starts incremental GC earlier
@@ -101,19 +99,16 @@
* the number given is the number of bytes which have to be allocated
* since the last GC, to start the incremental GC running.
*"
-"
-ObjectMemory incrementalGCLimit:100000
-"
-!
+"/ ObjectMemory incrementalGCLimit:100000.
"*
* lazy loading
- * (faster fileIn) - this is EXPERIMENTAL
+ * (faster fileIn) - this is EXPERIMENTAL.
+ * If there are any problems with lazy methods, disable the following
+ * and let me (cg@ssw.de) know what happened.
*"
-" "
-Autoload compileLazy:true
-" "
-!
+
+Autoload compileLazy:true.
"*
* define the language (you can also set the LANG-shell variable)
@@ -123,35 +118,32 @@
* (currently, strings are not available for other than english
* and german; french will follow next - see resource files)
*"
-"Language := #german"
-"Language := #english"
-!
+"/ Smalltalk language:#german.
+"/ Smalltalk language:#english.
"*
* this handles all variant display stuff
* (i.e. things which might change, when DISPLAY is set different)
*"
-Smalltalk fileIn:'display.rc'
-!
+Smalltalk fileIn:'display.rc'.
"*
- * this defines stuff relating to the machine we are running on
+ * this defines stuff relating to the host we are running on
*"
-Smalltalk fileIn:'host.rc'
-!
+Smalltalk fileIn:'host.rc'.
"*
* you can add your very private things here - if its put into HOME/.smalltalk,
* each user can add his/her private things even when everything else is
* shared
*"
-Smalltalk fileIn:'private.rc'
-!
+Smalltalk fileIn:'private.rc'.
"*
* start some views ...
* you can add all stuff you'd like to come up by default
- * the first time
+ * the first time.
+ * NOTICE: you should do that in your 'private.rc'-file
*"
"*
@@ -160,8 +152,7 @@
TextCollector notNil ifTrue:[
'starting Transcript ...' errorPrintNL.
TextCollector newTranscript.
-]
-!
+].
"*
* start the Launcher (if linked-in)
@@ -169,57 +160,43 @@
Launcher notNil ifTrue:[
'starting main-menu ...' errorPrintNL.
Launcher open
-]
-!
+].
"*
* start a SystemBrowser
* - I dont want one (using Launcher)
*"
-"
- SystemBrowser open
-"
-!
+"/ SystemBrowser open.
"*
* start a FileBrowser
* - I dont want one (using Launcher)
*"
-"
- FileBrowser open
-"
-!
+"/ FileBrowser open.
"*
* start a Workspace
* - I dont want one (using Launcher)
*"
-"
-Workspace open
-"
-!
+"/ Workspace open.
"*
* if things go very badly, turn on message tracing ...
* but be prepared for lots of output
*"
-"
-Smalltalk debugOn.
-"
+"/ Smalltalk debugOn.
+
"*
* if error occurs, and debugger has problems coming up
*"
-"
-" "
-Debugger := MiniDebugger.
-" "
-!
+"/ Debugger := MiniDebugger.
"*
+ * remember the type of display we started on, to check for
+ * a need to change things when we are restarted on another display.
* see smalltalk_r.rc for what this is for ...
*"
Smalltalk at:#'_ImageDisplayDepth' put:Display depth.
Smalltalk at:#'_ImageDisplayHasColors' put:Display hasColors.
Smalltalk at:#'_ImageDisplayHasGreyscales' put:Display hasGreyscales.
!
-"/ Smalltalk debugOn