Skip to content

Commit 6a49356

Browse files
committed
Merge branch 'dev'
2 parents 2889b61 + d5e2a55 commit 6a49356

File tree

918 files changed

+7444
-108529
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

918 files changed

+7444
-108529
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,7 @@
88
*.xcuserdatad
99
*.xcworkspace
1010
*.xcuserstate
11+
*.OLD
1112
build/
1213
objects/glue/test*
14+

.travis.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

ChangeLog.md

Lines changed: 74 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
Changes in Self 24.01
2+
----------------------
3+
4+
Deprecated:
5+
6+
* MacOS port and Self Control.app (32 bit no longer works on MacOS since Catalina in 2019)
7+
* travis-ci.org for CI
8+
9+
VM:
10+
11+
* Thanks to nbuwe, we now build on NetBSD and FreeBSD (x86)
12+
* Fewer unecessary warnings on build (4912a2f)
13+
14+
Objects:
15+
16+
* Made Morphic more responsive at cost of some CPU usage
17+
* More usable `sliderMorph`
18+
* New `copyTransparent` method on morphs allowing simplification of intialisation code
19+
* New preference to swap mouse buttons on Linux
20+
* A new `StationMorph` to help navigate around the Kansas desktop
21+
* New facilty to scroll around Kansas, and to assist on platforms with only one mouse button (or pen)
22+
* New flag: `--runAutomaticTest` to run a suite of tests when building image (then `_Quit`)
23+
* New Flag: `--snapshotActionPostRead` to run `snapshotAction postRead` instead of `scheduler start` on a newly build image (to handle command lines)
24+
* Improvements to `userProfile`s and main menu options to allow and remove user access to desktop
25+
26+
Fixes:
27+
28+
* Fix to bug in damage logging
29+
* Fix to bug preventing shadow being shown when morphs grabbed by hand
30+
* Fix capitalizeAll (Issue #124)
31+
* Fix to display opening issue on X11 (doesn't try to second guess $DISPLAY)
32+
133
Changes in Self 2017.1
234
----------------------
335

@@ -49,42 +81,42 @@ Changes in Self 4.5.0
4981

5082
* Support for **Mac Classic**, and **MetroWerks** compiler **removed**
5183
* Build process uses **CMake** now
52-
84+
5385
* Less files: 2022 (Makefiles/Xcode) → 1709 (CMake), that is -313 files
54-
* Less code: ca. 510,000 (130,000 w/o Self source) SLOC → ca. 499,00 (123,500 w/o Self source) SLOC,
86+
* Less code: ca. 510,000 (130,000 w/o Self source) SLOC → ca. 499,00 (123,500 w/o Self source) SLOC,
5587
that is ca. -11,000 (6,500 w/o Self source) SLOC
56-
88+
5789
* New supported compilers: **GCC** ≥ 4.2, **Clang**
5890
* Experimental Mac OS X support for Self as double-clickable Application
59-
60-
* New Self Control.app on OS X to manage your running worlds as a more robust
61-
and featured replacement for the older 'Self Droplet'. Use of this app is
91+
92+
* New Self Control.app on OS X to manage your running worlds as a more robust
93+
and featured replacement for the older 'Self Droplet'. Use of this app is
6294
optional and the Self VM can still be accessed through the command line.
6395

6496
* New look for standard world, with better fonts, colours and greater use of space.
6597

66-
* Various fixes to the standard world, including a new build script 'worldBuilder.self'
98+
* Various fixes to the standard world, including a new build script 'worldBuilder.self'
6799
replacing several ad hoc build scripts.
68100

69101
* Updated Self Handbook at handbook.selflanguage.org
70-
102+
71103
## New Features ##
72104

73105
* [CLANG] Self can now be built with the Clang C++ compiler
74-
* [OSX] The experimental Cocoa launcher now supports asking for Snapshots.
106+
* [OSX] The experimental Cocoa launcher now supports asking for Snapshots.
75107
[0c0c5a1]
76108
* [OSX] Self can be compiled on Mac OS 10.6, 10.7, and 10.8 [08544b3 et al.]
77109
* [VM] The VM can now be built with coverage data generation [f6de5d6]
78-
110+
79111
## Removed Features ###
80112

81-
* [VM] Mac OS pre-X, and the MetroWerks Compiler are gone.
113+
* [VM] Mac OS pre-X, and the MetroWerks Compiler are gone.
82114
[ed4495c, 4d476d9]
83115
* [VM] The ASSEMBLER, MANUFACTURER preprocessor macros have been removed
84116
[2820d73]
85-
* [Building] The `bin` directory no longer exists. See _Fate of the tools_
117+
* [Building] The `bin` directory no longer exists. See _Fate of the tools_
86118
below. This also means no dependency on `lex` anymore. [24c92b7]
87-
119+
88120
## Build-Process ##
89121

90122
* [VM] *The build-process is changed from hand-written Makefiles/
@@ -93,10 +125,10 @@ Changes in Self 4.5.0
93125
* Feature-detection can warn early if libraries are missing and provides an
94126
unified way of finding the right include-directory- and library-flags.
95127
* Easy management of en/disabled VM features and configurations.
96-
* [vmDate] The Self VM identification string is now generated using a C++
128+
* [vmDate] The Self VM identification string is now generated using a C++
97129
instead of an assembly file and includes git information, if applicable.
98130
[fb2b1ff]
99-
* [Assembler] Renamed all `.s` files to `.S` files, as most of them need
131+
* [Assembler] Renamed all `.s` files to `.S` files, as most of them need
100132
preprocessing. GCC then does the right thing™ with them.
101133
* [Assembler] Unified GNU/Apple `as` handling for i386.
102134
* [Build] Certain tools used for building have been moved, some have been
@@ -106,22 +138,22 @@ Changes in Self 4.5.0
106138

107139
* [C++] String literals are now all “const char*
108140
* [C++] Friend injection is gone, no “-ffriend-injection” needed. See Blog:
109-
* “True” friend functions, i.e., those that are accessible globally and
110-
not class-bound but have to access private members of other classes,
111-
were left as is. However, their implementation has been moved to a
141+
* “True” friend functions, i.e., those that are accessible globally and
142+
not class-bound but have to access private members of other classes,
143+
were left as is. However, their implementation has been moved to a
112144
respective implementation (i.e., .cpp) file.
113-
* Friend functions, that were mere shortcuts and so could be used without
114-
full qualification have been turned into normal static functions. They
145+
* Friend functions, that were mere shortcuts and so could be used without
146+
full qualification have been turned into normal static functions. They
115147
now have to be called with their class prefixed.
116-
* Constructors (like create_objVector) and converters (like as_mapOop) are
117-
now static members of their class and also have a static inline
148+
* Constructors (like create_objVector) and converters (like as_mapOop) are
149+
now static members of their class and also have a static inline
118150
non-member function.
119151
[cdeb93c]
120-
* [GCC] Self can be built with GCC 4.2.1, GCC 4.5, GCC 4.6, GCC 4.7,
152+
* [GCC] Self can be built with GCC 4.2.1, GCC 4.5, GCC 4.6, GCC 4.7,
121153
and LLVM-GCC 4.2
122154
* [OSX/Carbon] Some functionality used by certain primitives was deprecated in
123-
10.5 and removed in 10.7. Theses were replaced using newer functionality.
124-
This includes:
155+
10.5 and removed in 10.7. Theses were replaced using newer functionality.
156+
This includes:
125157
* Clipboard/pasteboard handling (now done using Pasteboard-API) [4564b38]
126158
* Window creation/Quartz (now done using HIToolbox) [08544b3]
127159

@@ -134,28 +166,28 @@ Changes in Self 4.5.0
134166

135167
* Fate of the shellscripts:
136168
* **gone**:
137-
`ConvertRevisions`, `CreateFileStatus`, `Publish`,
138-
`PublishCompare`, `changes`, `check_locks`, `createSourceLinks`,
139-
`delete_xlib_symlinks`, `fix4.1.1`, `ftpPublish`, `makeFileLists`,
140-
`makeSelfWorkingTree`, `makeVMWorkingTree`, `make_glue`, `make_incs`,
141-
`make_vmDate`, `make_xlib_symlinks`, `mf`, `mzap`, `nocompile`,
142-
`Publish`, `PublishCompar`, `pushLink`, `remove`, `testPragma`,
169+
`ConvertRevisions`, `CreateFileStatus`, `Publish`,
170+
`PublishCompare`, `changes`, `check_locks`, `createSourceLinks`,
171+
`delete_xlib_symlinks`, `fix4.1.1`, `ftpPublish`, `makeFileLists`,
172+
`makeSelfWorkingTree`, `makeVMWorkingTree`, `make_glue`, `make_incs`,
173+
`make_vmDate`, `make_xlib_symlinks`, `mf`, `mzap`, `nocompile`,
174+
`Publish`, `PublishCompar`, `pushLink`, `remove`, `testPragma`,
143175
`undangle`, `verifyChecksum`
144176
* **moved** to `tools/shell`:
145-
`Browse`, `Compare`, `Script`,
177+
`Browse`, `Compare`, `Script`,
146178
`expandNames`, `get_arch`, `profile`, `sdiffc`
147179

148180
* Fate of the compiled tools in `bin`:
149181
* **gone**:
150-
`UpdateFiles.cpp`, `cwdRootedIn.cpp`, `fixTar.cpp`,
151-
`ftpshell.cpp`, `getRevision.cpp`, `lock_run.cpp`, `rcsfile.cpp`,
152-
`rcsfile.hh`, `removeUnderscore.l`, `resetTime.c`, `skipComments.l`,
182+
`UpdateFiles.cpp`, `cwdRootedIn.cpp`, `fixTar.cpp`,
183+
`ftpshell.cpp`, `getRevision.cpp`, `lock_run.cpp`, `rcsfile.cpp`,
184+
`rcsfile.hh`, `removeUnderscore.l`, `resetTime.c`, `skipComments.l`,
153185
`table.cpp`, `table.hh`, `testSocket.cpp`
154186
* **moved** to `vm/build_support`:
155187
`makeDeps`, `obj_patch`
156188
* **moved** to `tools/src`:
157-
`AddTrailingNewline.cpp`, `cmprev.c`,
158-
`dangling.c`, `isLink.cpp`, `linked.c`, `rself.cpp`, `runBinary.cpp`,
189+
`AddTrailingNewline.cpp`, `cmprev.c`,
190+
`dangling.c`, `isLink.cpp`, `linked.c`, `rself.cpp`, `runBinary.cpp`,
159191
`zap.cpp`
160192

161193

@@ -164,12 +196,12 @@ Changes in Self 4.5.0
164196
* [OSX] Carbon Text uses a deprecated API. This should be changed. Probably,
165197
all Carbon stuff should be replaced using Cocoa.
166198
* [SUN] Testing and compiling on SunOSen, SPARC.
167-
199+
168200
Changes in Self 4.4
169201
-------------------
170202

171203
* Self now builds and runs on standard x86 Linux
172-
* Rebuilt OS X VM
204+
* Rebuilt OS X VM
173205
* Rewritten Self droplet for OS X VM
174206

175207
Changes in Self 4.3
@@ -183,7 +215,7 @@ Dave has revived the original Self user interface ("UI1"), which was built to sh
183215

184216
*Salience-Based Highlighting*
185217

186-
Self now implements David Ungar and Kristen McIntyre’s patented (U.S. patent #6842182) salience-based highlighting. When selecting text, the selected text will be highlighted in a brighter color if the selected region is small (to make it easier to notice), but in a dimmer color if the selected region is large (to avoid being too intense).
218+
Self now implements David Ungar and Kristen McIntyre’s patented (U.S. patent #6842182) salience-based highlighting. When selecting text, the selected text will be highlighted in a brighter color if the selected region is small (to make it easier to notice), but in a dimmer color if the selected region is large (to avoid being too intense).
187219

188220
*Graphical Profiler*
189221

@@ -267,7 +299,7 @@ Changes Self 4.2
267299
* The “methods containing” operation now uses a new-style slice outliner by default.
268300
* Added support for applying a userDefinedOperation to category names as well as slots.
269301
* Arrows between outliners now get updates. Previously, if the value of a slot changed, the arrow coming from that slot would still point to the old value.
270-
* userProfile has been changed to use the display’s host name as the user’s name. (Previously, it was attempting to use the “finger” command to figure out the real name of the user, but it was not parsing the finger output correctly. The finger code is still there, but is not being called anymore.)
302+
* userProfile has been changed to use the display’s host name as the user’s name. (Previously, it was attempting to use the “finger” command to figure out the real name of the user, but it was not parsing the finger output correctly. The finger code is still there, but is not being called anymore.)
271303
* When reopening a world, Self will attempt to use the same display that the world was saved on. (So, for example, on the Mac, if you save an image in X and then quit and restart Self, the world will reopen in X, not in Carbon.)
272304
* New core methods:
273305
* defaultBehavior - isNil, isNotNil, ifNil:, ifNotNil:, ifNil:IfNotNil:, ifNotNil:IfNil:
@@ -337,7 +369,7 @@ Changes in Self 4.1.4
337369
* The Self debugger has been generalized to be retargetable to debug other things (for example, machine-level debugging).
338370
* The transporter has been enhanced to handle object vectors that aren’t copies of the prototypical object vector.
339371
* We have implemented an experimental model for slots that hold methods. Under the traditional semantics, a method may only be stored in a constant slot, and the method is invoked whenever the slot is accessed. By executing _NakedMethods: true, the user can now select a relaxed model, which permits a method to be stored in an assignable slot. Accessing such a slot merely returns a reference to the method object.
340-
* Added an argument count bytecode. A new instruction set has been defined and there is backward compatibility with the old instruction set.
372+
* Added an argument count bytecode. A new instruction set has been defined and there is backward compatibility with the old instruction set.
341373
* bigInt now uses a binary base rather than a decimal base, so we can do bitwise operations.
342374
* Support for handling 32 bit binary integers has been increased (see the int32 and int64 objects).
343375
* Variations for transparent forwarding (useful for debugging) have been added (see loggingSender).

docs/handbook/.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.idea
2+
_build
3+
_build/html
4+
_static
5+
_templates

0 commit comments

Comments
 (0)