cwal

All files named "s2/shell.c"
Login

All files named "s2/shell.c"

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for s2/shell.c

2021-08-01
10:23
Removed CWAL_FEATURE_SCOPE_STORAGE_HASH and changed the default of CWAL_OBASE_ISA_HASH to 1. file: [4da7702bc0] check-in: [deddd35e15] user: stephan branch: trunk, size: 8061
2021-07-10
20:14
Got CWAL_ENABLE_TRACE compiling again and added --trace-cwal flag to s2sh/s2sh2. file: [99cb251156] check-in: [b73445b7ca] user: stephan branch: trunk, size: 8129
19:56
Now it doesn't work in either mode. Stashing this for later analysis and rolling back to some previous version (possibly the start). file: [0c202a01f3] check-in: [9522bcf73e] user: stephan branch: obase-isa-hash-wha, size: 8133
2020-04-24
09:18
s2sh help text fixes. file: [705a9fb6a7] check-in: [c13e4296b3] user: stephan branch: trunk, size: 8003
2020-02-09
11:13
Mentioned the S2SH_INIT_SCRIPT environment var in the s2sh/s2sh2 help. file: [1bd1006b16] check-in: [dee1e896ac] user: stephan branch: trunk, size: 8064
2020-02-08
17:20
Replaced s2's clampdown mode with a flags-based approach (see s2.h's s2_disabled_flags enum). Added --s2-disable=flag,names,list to s2sh/s2sh2. file: [ad85b8bcbd] check-in: [7dbb093d4e] user: stephan branch: trunk, size: 7994
2020-02-06
16:11
All s2sh/s2sh2 code except for the CLI switch definitions are now consolidated into shell_common.c. file: [f06926eb25] check-in: [123dd9a01a] user: stephan branch: trunk, size: 7755
11:58
Consolidated the remaining s2sh/s2sh2 code except for their --help handling into shell_common.c. shell.c now uses cliapp.c for its input and REPL, just like shell2.c. file: [054ddebee5] check-in: [6f4bb57574] user: stephan branch: trunk, size: 18778
10:46
Consolidated more than half of shell.c and shell2.c into shell_common.c. Still some cleanups to do there. file: [4a410a58ee] check-in: [a397d67753] user: stephan branch: trunk, size: 29275
2020-02-02
09:00
s2: introducing "User Keywords" (UKWDs). Clients may now install constant symbols which resolve during the keyword lookup phase, so they're faster than var/const lookups, but they cost some memory and should be used judiciously to avoid a slight performance hit. Also added the define() keyword function to create them from script-space. file: [6cf08f544b] check-in: [226dd49cad] user: stephan branch: trunk, size: 72069
2020-02-01
15:02
Initial grunt work on s2sh2, a cleaned-up reimplementation of s2sh. It doesn't do anything useful yet. file: [b60fce424e] check-in: [ededde8927] user: stephan branch: trunk, size: 72024
11:20
s2sh -? is now brief by default and shows All Of It if -v is passed before -?. file: [babe94d9de] check-in: [c5ed6e5edb] user: stephan branch: trunk, size: 72068
10:48
Fixed an unused var in certain build configs. file: [20c69de6a4] check-in: [ab888a9cf0] user: stephan branch: trunk, size: 71699
2020-01-31
18:41
Compile fix when building with static "renamed" modules. file: [c5766d74e2] check-in: [420702f5ab] user: stephan branch: trunk, size: 71655
09:23
Infrastructure to allow s2sh to install static modules to s2 properties other than their module name. e.g. regex_js and regex_posix can now be installed as s2.regex.js and s2.regex.posix. We also install the historical names to keep certain scripts which may dynamically load modules running. file: [dc11ef8a58] check-in: [4e3a6ecf91] user: stephan branch: trunk, size: 71675
2020-01-16
04:47
cwal_printf() %p now uses lower-case hex (was upper case). Efficiency hack in s2out impl: bypassed an unneeded function proxy call in s2.operator<<(). Added s2_engine::stash stats to s2sh metrics output. s2.io.output() and friends now prepend a 0x prefix when outputing a native address via the %p cwal_printf() format option. file: [4ea6d73921] check-in: [38c02a3714] user: stephan branch: trunk, size: 66608
2019-12-30
16:35
Added trace-assert and trace-token-stack pragmas. Related minor refactoring, symbol renaming, and docs. file: [b092c50ac7] check-in: [6d39f4ad9f] user: stephan branch: trunk, size: 66397
07:43
Enabled s2 pragma() and added docs for it. The tokenizer now has a flag which tells it to permit '-' as a legal identifier character so that longer pragma (and, eventually, typeinfo) tags can be written like a-b-c instead of abc. (Hmmm... It might be interesting to allow those as keys in object/hash literals.) file: [159be6840f] check-in: [439f5c71ce] user: stephan branch: trunk, size: 66392
2019-12-18
04:27
Finally added -e SCRIPT support to s2sh. Fixed reporting of a specific OOM case found while testing (was crashing with a NULL pointer deref). file: [4cd1993d66] check-in: [376e25b48b] user: stephan branch: trunk, size: 66391
2019-12-16
01:42
Changed s2sh's input prompt from 's2>' to 's2sh>' because that makes more sense/gives more context in the new docs. file: [77979686e1] check-in: [1a24239e34] user: stephan branch: trunk, size: 64068
2019-12-07
16:53
s2sh: added -s2.shell flag to force installation of the s2.shell API even in non-interactive mode (needed for some client code). file: [ba78b1664e] check-in: [83f7dd9c79] user: stephan branch: trunk, size: 64066
09:15
s2sh: minor metrics output tweaks. Typo fix. file: [d1f4917644] check-in: [050859dff2] user: stephan branch: trunk, size: 63494
08:43
s2: Added placeholder for the potential future ?. operator. Shaved 2k memory by shrinking the default size of the function script file name hash and added a metric to count how much reuse we get from that hash. file: [cecfc404f6] check-in: [8cfe21fd57] user: stephan branch: trunk, size: 62980
2019-07-19
05:47
Added s2_cb_seal_object(). Correct the setting of s2sh's history file name from the S2SH_HISTORY_FILE environment variable. file: [e2b90537b4] check-in: [450a903bf4] user: stephan branch: trunk, size: 62666
2019-07-18
19:07
s2sh shell now supports optional S2SH_HISTORY_FILE environment variable to define the location of its interactive editing history file (because i'm tired of having one in every directory i run s2sh in). file: [f6e537d67e] check-in: [d17613e7f6] user: stephan branch: trunk, size: 62593
2018-11-29
14:43
Minor tweaks caught while porting some of this code into another tree. file: [fa234c1644] check-in: [4398c5bec4] user: stephan branch: trunk, size: 62535
2018-11-26
14:39
Tinkering with recursive vacuum. TL;DR: it can work in _very limited_ circumstances, but often not enough to run it periodically (it's expensive). file: [4477f24dec] check-in: [7010376835] user: stephan branch: trunk, size: 62498
09:59
Improvements in various compile-time configuration checks. Added a couple s2 functions in prep for some module-related changes. file: [f6ce9f83d0] check-in: [bd5c8fc100] user: stephan branch: trunk, size: 61968
2018-11-25
12:23
Completely overhauled the s2sh static/built-in module approach with a non-source-invasive method requiring only that the client define S2SH_MODULE_INITS properly. file: [da270d4465] check-in: [570470501b] user: stephan branch: trunk, size: 60930
2018-11-24
10:47
s2sh now only saves the history file if the session added a line to the history. file: [3c1602dd1e] check-in: [40cdbd5dd2] user: stephan branch: trunk, size: 59261
2018-11-23
14:43
Snapshot. Lots of cleanup of the new s2_scope mechanism. Removed some now-obsolete s2 scope-handling functions. file: [161e10c7a4] check-in: [b7de2a8e38] user: stephan branch: scope-push-pop-hooks, size: 58915
09:55
Snapshot - seem to have gotten the new s2_scope infrastructure in place and working, but now comes the real work: swapping out the existing bits with this. file: [64338946f1] check-in: [166008b65a] user: stephan branch: scope-push-pop-hooks, size: 58501
07:48
Initial work on scope push/pop hooks. The intent is so that clients (s2) can keep their own scope state in sync with cwal's, but whether that will really be possible is as yet uncertain because of engine init/startup timing vis-a-vis access to the allocator. file: [830ae42edb] check-in: [a1472de17e] user: stephan branch: scope-push-pop-hooks, size: 58459
2018-11-22
16:42
Cleaned up the shell_extend.c skeleton a bit and modified the interface slightly to give s2_shell_extend() access to the 's2' object. file: [abdc829327] check-in: [64d08eefa3] user: stephan branch: trunk, size: 58392
11:38
Comment tweaks. file: [db45eb65f5] check-in: [752d2190db] user: stephan branch: trunk, size: 58278
11:15
Improved the s2hsh statically-linked-in module build process so that we don't need a per-module init block in shell.c, but instead generate the module init calls at build-time. file: [14f700f1ec] check-in: [9c6c448902] user: stephan branch: trunk, size: 58118
09:18
s2 static module builds now support C++ modules. file: [109805180c] check-in: [0b5e4b2d37] user: stephan branch: trunk, size: 58444
2018-11-21
22:42
auto.def: default --prefix to $HOME, added --cc and --cxx so that auto-reconfigure can propagate CC/CXX properly. Replaced all switch fall through comments with CWAL_SWITCH_FALL_THROUGH so that the amalgamation bundles still compile warning-free when comments are stripped out. file: [23572e8bd2] check-in: [9c48749922] user: stephan branch: trunk, size: 58375
01:15
Expanded auto.def to support readline, lineedit, or neither. Other related tweaks. file: [13f982c55c] check-in: [0b2e7ecbc0] user: stephan branch: trunk, size: 58371
2018-11-20
09:05
Squelched dozens of unused parameter warnings (removing their names causes a completely different warning) triggered by work on the build process. Fixed cwal_scope_chain_set_with_flags() to not ignore the flags it was given and to honor various KVP/container flags which its _v() counterpart was honoring. file: [be5d09b53a] check-in: [211af69f84] user: stephan branch: trunk, size: 58132
2018-11-19
06:49
Blocked out some old test code (which explains behavour which i thought was a weird bug a couple weeks ago). file: [6913363a3b] check-in: [b186194c61] user: stephan branch: trunk, size: 57869
2018-11-16
16:38
Added missing --help entry for s2sh's --h flag. file: [2472de2ad9] check-in: [b7d19b59d1] user: stephan branch: trunk, size: 57856
2018-09-19
18:03
Added s2 FILE module, which more or less mimics the C89 FILE API. file: [a055bf4a8e] check-in: [1fd872a4b9] user: stephan branch: trunk, size: 57800
2018-05-09
14:40
Build tweaks to more easily support modules which simply compile in an s2 script. Added the s2.iterate module. file: [2a8db1cfc7] check-in: [0a93b0e69f] user: stephan branch: trunk, size: 57743
2018-05-08
00:34
more minor internal cleanups and a unit test update for the previous commit. file: [a6fc2dd8b3] check-in: [bc12476f02] user: stephan branch: trunk, size: 57680
2018-05-07
23:31
minor internal tinkering. file: [f78d765f6a] check-in: [9211afe535] user: stephan branch: trunk, size: 57819
2018-01-03
15:05
Removed the v1 s2 plugin init interface. file: [5c560d0b5f] check-in: [fa16637e69] user: stephan branch: trunk, size: 57623
2018-01-02
04:02
Added -h FILENAME option to s2sh to set the interactive mode history file. file: [c7c8e75a6d] check-in: [07649a929a] user: stephan branch: trunk, size: 57742
2018-01-01
16:02
Far too much tweaking in the s2 loadable module bits. file: [828b4492f6] check-in: [d9164fb176] user: stephan branch: trunk, size: 57391
2017-12-31
23:01
Spontaneously invented a 'v2' init interface for s2 loadable modules, to help consolidate how their result values are used. Still need to port most of the plugins to it, though. file: [9c17c6f2d0] check-in: [ebacbcb3d6] user: stephan branch: trunk, size: 58163
2017-12-29
16:41
Minor cleanups in catching of stray break/return/continue, improving the error reporting for those in some cases. file: [951458a2f0] check-in: [c0b9358ec4] user: stephan branch: trunk, size: 56933
2017-12-28
01:26
Minor cleanups in the module bootstrapping code. file: [bf5d10a089] check-in: [b7b225f650] user: stephan branch: trunk, size: 56961
01:09
Made the remaining s2 modules statically linkable. file: [86c090bb7e] check-in: [dd480f2992] user: stephan branch: trunk, size: 56961
00:55
Added a couple generic utilities in tools/. Added an s2 C module which compiles in a copy of require.s2 for use as a loadable module. make clean is now recursive. file: [d6db04ce85] check-in: [76d80dabb1] user: stephan branch: trunk, size: 56581
2017-12-07
01:40
Seem to have gotten s2 property interceptors working, but there is much, much testing and experimentation to be done (opportunities for side-effects abound). file: [477f0254c6] check-in: [8d58c40828] user: stephan branch: s2-interceptors, size: 56429
2017-12-03
21:09
Tiny random cleanups. file: [175daa8313] check-in: [ed33242e31] user: stephan branch: trunk, size: 56336
15:16
Added cwal_build_info() to make various build-time config options available to client code. Stole another bit from the maximum string length to add an is-ascii flag to strings, which we can use to speed up many algorithms for the most common cases (but it slows down string creation for the common case). file: [2797ffa285] check-in: [72236d95aa] user: stephan branch: trunk, size: 55657
2017-12-02
14:47
Removed s2sh's 'g' global-scope object (it's never used). file: [297915c987] check-in: [a4df2f4112] user: stephan branch: trunk, size: 55596
2017-11-29
16:59
Added verbosity level support to the internal VERBOSE command, and some comments now only appear with levels higher than 1. file: [cf7aca2aa3] check-in: [e94924cf1a] user: stephan branch: trunk, size: 55851
2017-11-16
10:16
added static build of termbox module. file: [35f017c5a2] check-in: [8d6c64f651] user: stephan branch: trunk, size: 55818
06:52
Got basic infrastructure in place for building s2 the loadable modules as static modules which get linked directly in to s2sh. file: [63f54fd676] check-in: [21be566a6f] user: stephan branch: trunk, size: 55802
2017-11-13
12:54
s2sh now uses cwal_output(), rather than stdout, for its metrics dump. file: [dcdd4540e7] check-in: [46bf02a600] user: stephan branch: trunk, size: 52620
2017-11-12
16:42
Re-enabled the "eval value holder" to work around an "interesting" value lifetime conflict until a better (less memory-costly) solution can be found (if one can - it is a tricky situation: see notes around EVAL_USE_HOLDER in s2_eval.c). file: [a0c2873af0] check-in: [e5adf161e4] user: stephan branch: trunk, size: 52342
2017-11-11
17:55
Added some verbose-mode warning output when s2sh's clean-room mode is enabled. file: [329f1cb6bb] check-in: [4d41b724cc] user: stephan branch: trunk, size: 52339
2017-11-08
16:35
Added s2.shell.tokenizeLine() for potential use in upcoming(?) script code. file: [c82f93c755] check-in: [f0051dbf0d] user: stephan branch: trunk, size: 52338
10:40
Added s2_enum_builder API to enable creation of s2 enums from C code. file: [b644827fac] check-in: [4ea3759581] user: stephan branch: trunk, size: 52666
08:37
Moved filesystem-related APIs from s2.io to s2.fs. file: [7c2e80ecad] check-in: [474633d583] user: stephan branch: trunk, size: 51711
2017-11-07
13:57
minor metrics label change. file: [26bce31484] check-in: [08f2715401] user: stephan branch: trunk, size: 51656
13:06
imported GLOB/LIKE pattern matching from sqlite3. Added s2.glob(glob,haystack[,globStyle]). file: [174dda0325] check-in: [4eac2f17a9] user: stephan branch: trunk, size: 51644
2017-11-03
01:39
Tinkering with the module loader to try to bend things such that we can choose to link (or not) certain modules into s2sh statically. That doesn't yet work because the build process for each module can be arbitrarily complex, and hooking those in to s2sh's build would be more difficult than i'm ready/willing to futz with right now. file: [80287471fa] check-in: [0ea9d180a5] user: stephan branch: trunk, size: 51598
2017-11-02
22:42
Removed s2.isCallable() and s2.isDerefable() (both long since deprecated via typeinfo()). Removed s2.getResultCodeHash() because it's never used. file: [a43b066a0d] check-in: [e32ab75603] user: stephan branch: trunk, size: 51554
2017-10-05
17:09
Merged (private) strlen-rewrite branch. This eliminates the 'length of 0 means to use cwal_strlen()' semantics from the major APIs (there may be a couple small outliers). My hands managed to survive, with the left pinky being only ever so slightly sore. file: [fc3a844915] check-in: [ef477c5d1e] user: stephan branch: trunk, size: 51542
2016-09-12
16:57
According to valgrind FFI is now free of all memory leaks! Also, bug fixes, unit tests, and more! file: [c9460539b1] check-in: [47d64280e3] user: calebg branch: s2_ffi, size: 51594
2016-09-09
19:21
Adding a preliminary CMakeLists.txt for use in CLion. Also changed the UNUSED_VAR macro to an UNUSED attribute which appears to be more widely adopted by compilers. file: [01a1c35b5a] check-in: [d834ba36b3] user: calebg branch: s2-ndebug, size: 51588
2016-09-02
16:16
Using the avcall lib to replicate stack frames. Works like a charm. Most primitive types aralready supported. file: [19593a5195] check-in: [133ca72aeb] user: calebg branch: s2_ffi, size: 51701
2016-09-01
18:15
A (VERY ALPHA) Foreign Function Interface implementation that allows calling system functions (like setenv, mount, fopen, etc) directly from s2sh. file: [d73019e138] check-in: [20a4347076] user: calebg branch: s2_ffi, size: 51650
2016-08-30
18:15
Added newly available build information to s2. file: [dedb1538d1] check-in: [1dcbbc617f] user: calebg branch: cwal-ndebug, size: 51607
18:07
Forgot to add the new functions in the header. file: [83b415155b] check-in: [ac69d2a631] user: calebg branch: cwal-ndebug, size: 51582
16:44
Fixing up the s2 non-debug build: * Switched around the amal build so that s2_amalgamation.* files can be used without including other files. * Replaced all debugging double negatives with just a positive expressions: "#if !defined(NDEBUG)" is now "#ifdef DEBUG" * Added the UNUSED_VAR macro to prevent the 'unused variable' compiler warning. * Removed the "force assert() to always work" sections in the shell.c and test.c files. * Added S2_AMALGAMATION_BUILD to test.c so that it's possible to easily build the test with the amal build. * Littered UNUSED_VAR everywhere it was needed. file: [402bae9512] check-in: [80f0382c88] user: calebg branch: s2-ndebug, size: 51382
2016-08-19
15:41
typo fix file: [8a7e765bf1] check-in: [e82bc3649b] user: stephan branch: trunk, size: 51461
2016-03-03
16:03
Improved interrupt handling in the shell, such that tapping ctrl-c during interactive input will not set the interrupted flag on the s2_engine. It now toggles the engine's interruptability on/off in the input loop and when reading the auto-loaded init script. Unfortunately, linenoise (readline-like clone) treats it like ctrl-d, but that's a small price to pay. file: [a57be4653d] check-in: [3f2f9253d7] user: stephan branch: trunk, size: 51462
2016-02-28
10:56
merged trunk, resolved a conflict. file: [e09a8e62e0] check-in: [08244059ce] user: stephan branch: core-prop-interceptors, size: 52746
10:44
removed a done todo, fixed a variadic misuse (too few args) in an error handling case. file: [696257b89c] check-in: [39205fd7e9] user: stephan branch: trunk, size: 51369
2016-02-26
01:25
okay, got carried away: discovered that hashes as scope storage fail to trigger const violations on s2 assignments, at least in one of the unit tests (but not in the interactive shell, for reasons unknown). Too tired to debug it further now. file: [b5ee6aecb2] check-in: [42ddd6cf8c] user: stephan branch: cwal_value_pair, size: 51183
2016-02-25
21:42
refactored pairs as tuples (fixed-length arrays). Still need to add foreach() support. file: [d1c99c74ad] check-in: [5cc361ae64] user: stephan branch: cwal_value_pair, size: 51204
19:25
merged in trunk. file: [2ddc1b87b8] check-in: [ec839ef681] user: stephan branch: cwal_value_pair, size: 51202
2016-02-20
05:27
minor internal tweaking of the s2_engine interrupt flag handling. _Seems_, in unscientific tests, to work better (propagate more often) now. file: [048a138744] check-in: [88345a22d4] user: stephan branch: trunk, size: 51135
2016-02-16
18:09
i had a property setter interceptor working, then broke it, and am now too tired (and this machine has no debugger). Someone's getting cleaned up when they shouldn't, random crashes. To look at later. file: [9628066067] check-in: [ef67b58df2] user: stephan branch: core-prop-interceptors, size: 52487
14:29
merged in trunk file: [93ae14fe60] check-in: [7658116a71] user: stephan branch: cwal_value_pair, size: 51177
2016-02-13
19:22
Minor tweaks to get it compiling (again) with CWAL_SIZE_T_BITS=16. file: [c6e8a3a391] check-in: [6509fa8dd3] user: stephan branch: trunk, size: 51110
15:59
Merged in trunk, as it's about to get messy with planned internal refcount refactoring. file: [711bf8ab3d] check-in: [da81a83408] user: stephan branch: cwal_value_pair, size: 51102
04:57
String.split('') now mimics JavaScript, splitting into an array of the individual characters. String interning saves scads of allocations here if the string splitted is of any appreciable length. file: [f2c5ab4c2c] check-in: [7604b3a206] user: stephan branch: trunk, size: 51035
2016-02-12
01:09
Added cwal_value_pair type, but shortcomings elsewhere make it clean up improperly when there's recursion involved (because it's not a full-fledged container, and is not privy to the cleanup treatment involved). Not sure if this is yet worth the hassle (and it asserts() now in s2 in very simple cyclic cases). They also can't be made explicitly vacuum-safe with the current code. file: [1913d33d33] check-in: [f505331bdb] user: stephan branch: cwal_value_pair, size: 50870
2016-02-06
13:25
Restructured how functions manage their source code, now that they have a rescoper. It is no longer stored in the global scope, but scoped along with the containing Function. file: [493fba9854] check-in: [1bee5e925d] user: stephan branch: trunk, size: 50803
2016-02-05
19:38
a number of doc updates, internally restructured how keywords determine whether an EOL is an alias for EOX, and limited it to certain keywords (due to a buggy interpretation found while testing unrelated stuff). Added s2.Buffer.slice() to copy byte ranges. A bit of further s2 internal-vs-public code-moving and minor cleanups. file: [fe7adaded1] check-in: [bd2fa6618f] user: stephan branch: trunk, size: 50707
11:14
split up the s2 APIs into internal/public parts. file: [6bb82b251f] check-in: [efa2b6c8b8] user: stephan branch: trunk, size: 50680
2016-02-03
19:36
got zlib support into s2, as a drop-in replacement for miniz. file: [136d1b6c06] check-in: [e54e62513e] user: stephan branch: trunk, size: 50708
15:31
minor error reporting fix. file: [584b1ce0a4] check-in: [2fb8af4eec] user: stephan branch: trunk, size: 50629
2016-01-31
17:26
internal restructuring of how s2 manages a few pointers which could become stale seems to have alleviated the string interning conflicts, so string interning is back on. Valgrind is happy. file: [6717c1afc0] check-in: [fc4ced9311] user: stephan branch: trunk, size: 50485
12:58
minor s2-internal cleanups in prep for some internal ref/unref handling experimentation. file: [a02e8e29ce] check-in: [4a11a6b32e] user: stephan branch: trunk, size: 50485
2016-01-29
18:37
minor internal tweaks to s2sh, initializing less stuff (and no auto-load script) in -cleanroom mode, plus minor build-level conf tweaks to potentially support upcoming work. file: [c8575986b9] check-in: [944de2c280] user: stephan branch: cpp-placement-new, size: 50435
16:47
merged in trunk file: [5aedfa34a6] check-in: [d523f1af4a] user: stephan branch: cpp-placement-new, size: 49989
2016-01-26
16:57
disabled string interning entirely in s2sh (for the time being, maybe forever) because those unpredictible corner cases involving temp strings bit us again. file: [4ab2b3dae6] check-in: [978e458f42] user: stephan branch: trunk, size: 49956
2016-01-24
18:27
experimenting with managing C++ binding memory with cwal via placement-new so that (new T()) can use cwal's recycler. file: [02a6dfbc2d] check-in: [88858804ea] user: stephan branch: cpp-placement-new, size: 49816
2016-01-23
12:09
renamed s2_new_function2() to s2_new_callback(). file: [cb45cde110] check-in: [89a724ee0f] user: stephan branch: trunk, size: 49783
2016-01-22
01:45
added s2_minify_script() and friends. Discovered that ctrl-c interruption is not working, for unknown reasons - possibly a recent regression, but i don't remember touching those bits recently. file: [076673b6b8] check-in: [afdabee3e3] user: stephan branch: trunk, size: 49784
2016-01-11
18:29
Added CWAL_VERSION_STRING config option and populate it from the fossil info if it is available. added --version option to s2sh. file: [f18635bbe8] check-in: [035cefe320] user: stephan branch: trunk, size: 49698
2016-01-10
14:37
added cwal_memcap_config.forceAllocSizeTracking and the -fst/--fst flags to s2sh to toggle it. file: [b242a916f3] check-in: [d1f8344ad3] user: stephan branch: trunk, size: 49535
2016-01-09
18:08
merged in s2-scope-hashes branches - thought it had already been done :/. file: [dd7f50fb7f] check-in: [1526166a76] user: stephan branch: trunk, size: 48454
17:14
fixed missing source location info for the 'fatal' keyword. Improved interrupt checking, added source location info (if known) to the interrupt message. Made elvis a separate operator (not alias of |||) so that error messages show the proper operator symbol. file: [1c03b0f62a] check-in: [ff5029f230] user: stephan branch: trunk, size: 47870
2016-01-08
17:09
large batch of tweaks, largely related to the hash-vs-objects work, but also an attempt at guaranteeing under/overflow behaviour on integer ops. file: [8ed4414926] check-in: [4d688d1ffc] user: stephan branch: s2-scope-hashes, size: 48426
14:55
large batch of tweaks, largely related to the hash-vs-objects work, but also an attempt at guaranteeing under/overflow behaviour on integer ops. file: [2fbef48c0f] check-in: [b79462d915] user: stephan branch: s2-scope-hashes, size: 48426
01:59
scopes seems to work with both hash and property storage. still doc cleanups to make and valgrind output to compare. bed time. file: [e2f8548d9c] check-in: [97b6c34301] user: stephan branch: s2-scope-hashes, size: 48068
2016-01-07
15:24
added s2.compare(value1,value2). file: [dce8b774b7] check-in: [5772449a00] user: stephan branch: trunk, size: 47842
2016-01-05
23:30
minor internal tweaking/cleanups. file: [00d6a1671a] check-in: [a5d85d398a] user: stephan branch: enum-with-value, size: 47794
2014-12-17
04:32
core: internal refactoring to make Buffer Values containers, so they may now hold properties and be prototypes. It was much easier than expected to implement and the cost increase is negligible (48 bytes) in the amalgamated s2 unit tests. file: [521084cefb] check-in: [73df044fc1] user: stephan branch: trunk, size: 47750
2014-12-16
19:03
s2sh: Merry Christmas, Caleb: added cli options for adjusting the memory caps. file: [af9774a6e1] check-in: [262f9b7957] user: stephan branch: trunk, size: 47362
2014-12-15
19:41
s2: fixed a logic bug which kept some temp values in (X+Y) ops alive longer than needed. file: [0a19931a74] check-in: [bf2ae745e5] user: stephan branch: trunk, size: 43990
2014-12-14
15:32
s2sh: minor cli flag handling touchups. file: [7ca53682ea] check-in: [aeb48c9484] user: stephan branch: trunk, size: 44018
15:12
core: added optional allocation count/amount capping, in support of Caleb's site. Refactored the Unique type to act like a wrapper for a single value. My hand has had it - enough hacking for a good while :(. file: [68d4a52181] check-in: [8cb797fc88] user: stephan branch: trunk, size: 43712
2014-12-09
19:00
s2sh: renamed +safemode to +clampdown to avoid giving any delusions of "safety" and because that it what it is internally called. file: [938a786508] check-in: [ff1576c404] user: stephan branch: trunk, size: 41416
2014-12-06
01:40
s2: API renaming, more work on the 'new' keyword. file: [9b5942de17] check-in: [874963ab8e] user: stephan branch: trunk, size: 41414
2014-12-05
22:44
more work on the container flags, added a couple missing cwal_value_is_XXX() variants, minor API renamings. file: [26acb01c15] check-in: [38060dc5e9] user: stephan branch: trunk, size: 41402
17:33
Changes in semantics how cwal_prop_set() and friends report various cases, so that we can move some constraint checks into cwal, so that s2 does not have to do duplicate lookups to get the same feature. file: [779d5a9114] check-in: [6dbf89b73c] user: stephan branch: trunk, size: 41204
11:37
s2: more work on integrating the 'unique' type, added s2sh -safemode flag to s2sh to disable file i/o APIs (for use in Caleb's demo page). file: [cd1e6701a4] check-in: [29f4657ea7] user: stephan branch: trunk, size: 41101
11:25
s2: more work on integrating the 'unique' type, added s2sh -safemode flag to s2sh to disable file i/o APIs (for use in Caleb's demo page). file: [d52302d275] check-in: [1977b92f84] user: stephan branch: trunk, size: 41059
01:32
s2: moved installation of __typename handler to the engine init, out of the prototype setup (where it is not called when in -cleanroom mode). Added recycling config for the new CWAL_TYPE_UNIQUE. file: [5cd3a5bf33] check-in: [b0d124695a] user: stephan branch: trunk, size: 40595
2014-11-29
21:48
s2sh: Added -C/--C flags to enable/disable chunk recycler. file: [e750e979ef] check-in: [881ab17cf7] user: stephan branch: trunk, size: 40480
20:31
Moved cwal_engine::eWeak into cwal_engine::recycler, fixed consolidation of Value- with non-Value types in a single recycler: each recycler must be specific to a certain base type so that we can use the list-linking members to build the lists. file: [f441a45adb] check-in: [8ba45681a0] user: stephan branch: trunk, size: 40079
16:33
more metrics-related tinkering. file: [cd32ac5979] check-in: [624ffc5926] user: stephan branch: trunk, size: 39482
15:11
more work on the metrics, now recording value recycling hits/misses. file: [16a326fc00] check-in: [61ab49b29e] user: stephan branch: trunk, size: 39279
14:13
core: Value recycling bins are now allotted by the size of the Value, so like-sized Value types get grouped. i.e. more effective use of the recycler. However, this does not jive with the per-type-based configuration of bin sizes, but is an overall improvement with no losers, so we'll find a different configuration mechanism. file: [2f975cbfbd] check-in: [97b8ce3372] user: stephan branch: trunk, size: 39279
2014-11-28
19:19
s2sh: added -cleanroom mode, which elides all prototype/global infrastructure, leaving just raw s2. Massif says it needs 6kb (on 64-bit) to get going and run an empty script. file: [6d47eff201] check-in: [0c8be96778] user: stephan branch: trunk, size: 38563
15:28
core: improvements in the chunk recycler, and more memory gets recycled. file: [6a3a1d9d23] check-in: [a9a7aa2637] user: stephan branch: trunk, size: 37977
2014-11-26
20:50
s2: minor cleanups, renamed new==>constructor to new==>__new for symmetry with the typename==>__typename. file: [534faa7552] check-in: [d9bea6b0b4] user: stephan branch: trunk, size: 37448
2014-11-25
16:29
Minor but subtle semantics changes in cwal_function_call() and friends ("self" is now made vacuum-safe) and cwal_exception/propagating_set() (now uses unref instead of unhand when reseting/clearing the value). Accommodated that in s2/th1ish. Added cwal_utf8_char_next() utility function. In s2: started experimentation with the "new" keyword, but it is disabled and incomplete. Yeah, that is more than i wanted in this commit. file: [2f2a77d5d8] check-in: [bd8ecee444] user: stephan branch: trunk, size: 37468
2014-11-20
18:06
core: refactored cwal_hash so that we can resize hashtables (APIs for that still pending). Negatively affects alloc counts (currently +1 per table) but the Value part of the hash is now recyclable and the hash table memory is currently reusable as array list memory. file: [b3d1c4f31f] check-in: [310ba44db8] user: stephan branch: trunk, size: 37411
16:13
s2sh: added s2.shell.exit() to exit interactive mode. file: [96f10a61c5] check-in: [2a13a4876f] user: stephan branch: trunk, size: 37392
15:35
s2sh: __GLOBAL now derives from the base Object prototype. file: [44f57745c9] check-in: [82ae406400] user: stephan branch: trunk, size: 37040
2014-11-19
19:20
minor assertion improvement. file: [eb4010762d] check-in: [de65f26c68] user: stephan branch: trunk, size: 36880
19:04
s2: s2sh EXPERIMENTALLY exposes the top-most scope's variable storage via the __GLOBAL symbol (an Object). If we like it, it will move to a keyword to make it much faster. file: [1acee186d4] check-in: [2111f2269e] user: stephan branch: trunk, size: 36653
2014-11-16
13:48
s2: added s2.getResultCodeHash(), a map of CWAL_RC_xxx and S2_RC_xxx for script space. Other minor tinkering. file: [36d0c8dc0c] check-in: [e40a358147] user: stephan branch: trunk, size: 35831
2014-11-14
18:36
s2: minor tinkering, extended Exception.codeString() a bit. s/isDereffable/isDerefable/g. file: [4134b3c6a2] check-in: [12afba3491] user: stephan branch: trunk, size: 35787
13:29
Added s2.isDereffable(). file: [514e4898cf] check-in: [48a15eb8ea] user: stephan branch: trunk, size: 35788
10:32
s2: minor refactoring, moved fork() binding out of the shell, into the public binding API. file: [46893568dc] check-in: [4f17506ec4] user: stephan branch: trunk, size: 35742
2014-11-13
17:43
s2: merged in s2-dotdot-op, but am not documenting it yet because i am still uncertain about whether it will stay or not. file: [1e9fb7e159] check-in: [71df0812b2] user: stephan branch: trunk, size: 36078
17:32
s2sh: minor help text addition. file: [ced2e7f20d] check-in: [38a4ac1926] user: stephan branch: s2-dotdot-op, size: 36078
15:34
s2sh: increased integer recycling bin size, as data-heavy apps (e.g. libfossil reports) run through lots of integers. file: [7455f12e15] check-in: [bd2685898e] user: stephan branch: trunk, size: 36051
2014-10-31
08:44
s2: fixed Function.call() to accept a non-object "this", other minor cleanups. file: [c37b6e4972] check-in: [0519af4688] user: stephan branch: trunk, size: 36051
2014-10-13
17:14
Added a missing newline in an error message. file: [30ccd1136d] check-in: [22258b807a] user: stephan branch: trunk, size: 36056
14:59
s2sh: minor error reporting tweaks. file: [748e26874d] check-in: [5fa7e758a8] user: stephan branch: trunk, size: 36054
2014-10-12
09:04
minor cleanups in s2sh. file: [71cebf1903] check-in: [6646ba2cee] user: stephan branch: trunk, size: 35646
2014-10-11
08:47
added cwal_engine_adjust_client_mem() so that clients can account (in some minimal way) for memory via cwal metrics. s2 now uses this to report stack token and script function memory. file: [a4ebf78e29] check-in: [8a484ca98c] user: stephan branch: trunk, size: 35378
2014-09-15
12:30
s2.dumpMetrics() now only dumps string interning tables on verbosity level 3 and higher or if passed a boolean true as its first parameter. file: [a4682e22d8] check-in: [3fd18e0f10] user: stephan branch: trunk, size: 35408
2014-09-03
19:03
minor internal tinkering. file: [69774e4aa8] check-in: [bf4237278c] user: stephan branch: trunk, size: 35345
2014-08-31
15:26
doc additions for new users. file: [b675e9b561] check-in: [c8996c8c3f] user: stephan branch: trunk, size: 35193
2014-08-30
04:22
more work on the s2 interruption. file: [c3675f2bb4] check-in: [0d4158e5f6] user: stephan branch: trunk, size: 35102
2014-08-29
12:12
s2: experimenting with the ability to interrupt a running script, e.g. via Ctrl-C handler. Results look fairly promising but not perfect. Added Buffer|String.evalContents() and minor API changes to accommodate them. file: [2dfce06ca0] check-in: [cdf401e000] user: stephan branch: trunk, size: 35070
2014-08-28
16:56
minor exception message tweak. file: [8c959dc4e9] check-in: [6b283a0f71] user: stephan branch: trunk, size: 35036
16:45
s2: merged in fork() impl. It seems the array_set bug was the culprite for it not working before. file: [7ee569503c] check-in: [cf9b7afa1b] user: stephan branch: trunk, size: 35033
2014-08-27
21:21
a round of commenting/docs. file: [ae19e9e173] check-in: [90dc687e12] user: stephan branch: trunk, size: 32381
2014-08-26
20:18
s2sh: enabled string interning by default. It seems time. file: [60438f62a1] check-in: [587e2aa2c3] user: stephan branch: trunk, size: 29560
2014-08-25
17:43
s2: added s2_cb_is_callable() and s2.isCallable() to simplify some script code. file: [31074fac32] check-in: [91bc0544fa] user: stephan branch: trunk, size: 29560
2014-08-23
20:25
s2: fork() impl ported from th1ish, but the child process is returning with a very weird non-0 result i cannot trace. file: [3131544ec1] check-in: [87498ec295] user: stephan branch: s2-fork-impl, size: 32145
15:51
core: consolidate integers and doubles into one recycling bin where there sizeofs are the same. Have to check it in to try it out on the 32-bit box (where they differ). file: [368c86c660] check-in: [06a8a0df82] user: stephan branch: trunk, size: 29518
2014-08-19
18:24
s2sh: build fixes for when neither linenoise nor readline are used. file: [af5e9daea7] check-in: [324bd49089] user: stephan branch: trunk, size: 28969
2014-08-17
17:09
s2sh: only install s2.shell API when in interactive mode. file: [7f9610ed20] check-in: [2c251c7b7f] user: stephan branch: trunk, size: 28723
11:26
s2sh: minor API renaming, added s2.shell family of functions for basic read-line access from scripts. file: [f75aa4b06c] check-in: [930d2f744e] user: stephan branch: trunk, size: 28609
2014-08-16
17:25
s2: minor restructuring to allow some of the currently core functionality to be loaded via DLLs instead (or in addition to). file: [93e3be52da] check-in: [a77fb28977] user: stephan branch: trunk, size: 25041
2014-08-15
13:16
added cwal_buffer_fill_from_filename2(), patched s2_eval_filename() to use it (to avoid hypothetical corner cases involving non-NUL-terminated X-/Z-strings). file: [35acc76ae0] check-in: [4c8879eff0] user: stephan branch: trunk, size: 25033
2014-08-10
13:40
help text improvements. file: [e9c6a96666] check-in: [d96422266d] user: stephan branch: trunk, size: 25025
12:21
fixed display of sweep/vacuum intervals in --help output. file: [48d296d74e] check-in: [d850a9024d] user: stephan branch: trunk, size: 24824
2014-08-09
08:47
added s2.io.realpath(), patched require.s2 to use it. file: [595c4e9576] check-in: [f54dba503e] user: stephan branch: trunk, size: 24777
2014-08-07
21:12
s2: objects inheriting a function are now call()able, more keywords now treat {} as an object instead of a script. file: [74b5085d90] check-in: [a1c6680274] user: stephan branch: trunk, size: 24994
2014-07-31
19:47
Added optional GNU Readline support to s2sh. file: [cd3c0ed5d6] check-in: [53d5b5ce92] user: stephan branch: trunk, size: 24935
2014-07-28
15:53
s2sh now prefers getenv("S2SH_INIT_SCRIPT") over $0.s2, but will use the latter if the former is not set. file: [33fa525e81] check-in: [df7edd3432] user: stephan branch: trunk, size: 23442
2014-07-26
18:52
s2: added script file name to s2_error class, and got it working in more contexts. file: [098a1efd7a] check-in: [2285eb16ea] user: stephan branch: trunk, size: 23242
2014-07-20
13:41
s2: added s2.io.flush(). file: [8c59673917] check-in: [2315509a76] user: stephan branch: trunk, size: 23177
2014-07-18
17:42
s2sh now autoloads after extending, so that 3rd-party features can be used in the autoload script. file: [825cb49e00] check-in: [ea23993ade] user: stephan branch: trunk, size: 23144
14:40
s2: ported in strftime() impl from th1ish. file: [175ff87bde] check-in: [066ab7f7a2] user: stephan branch: trunk, size: 23144
2014-07-17
17:52
s2sh: tinkering with recycling bin sizes. file: [0d3e51d064] check-in: [86a5705d13] user: stephan branch: trunk, size: 23025
2014-07-16
22:55
s2 now takes over cwal's top-most scope. file: [e4fabfbe6f] check-in: [640daaf522] user: stephan branch: trunk, size: 22586
2014-07-14
20:16
s2: ported in tmplish (s2.tmpl()), with minor mods, added s2.io.output/print(). file: [31c92fe78e] check-in: [e66a6f2525] user: stephan branch: trunk, size: 22474
2014-07-11
20:08
s2: and this time set up the proper value. file: [da68e17385] check-in: [ab8a9ffaf2] user: stephan branch: trunk, size: 22166
20:03
s2: mostly build-related stuff, getting s2sh client-extensible. file: [8d3a1ae21d] check-in: [cc53da0c53] user: stephan branch: trunk, size: 22166
15:32
s2: ported in sleep() and mssleep(), installed as s2.time.ms/sleep(). Other minor cleanups along the way. file: [1eb3237b86] check-in: [03c1247d01] user: stephan branch: trunk, size: 21551
2014-07-10
19:07
s2: overhauled the scope subsystem, adding the s2_scope abstraction layer. Moved the sweep/vacuum guard levels, which are always scope-specific anyway, into that. Ooops - and i now see that the overloadable -> operator (which i thought was checked in last night) is also here. Wanted that done separately :/. file: [0ab1714d37] check-in: [f18c8ff4ed] user: stephan branch: trunk, size: 21507
2014-07-09
20:12
s2: Strings and numbers no longer inherit from Object. Added -a/--a option to s2sh, added more ob test code and a demonstration of how to implement 'switch' in script. Edit: doh, that means their prototypes no longer have access to the various Object methods unless we add them directly to these prototypes. file: [7ac22e1ea2] check-in: [21fbc0dc13] user: stephan branch: trunk, size: 21502
2014-07-08
20:58
s2: ported the "ob" API. file: [0b465924d2] check-in: [f7f7e7dff7] user: stephan branch: trunk, size: 21268
18:07
s2: added init script autoloading to the shell, but that reveals a shortcoming with the error-vs-exception dichotomy, in that we lose the script name (but keep line/column) when we trigger non-exception errors which are not handled until after the evaluator has returned. Hmmm. i really do not want to allocate that string :/. file: [ac316c1e71] check-in: [b2c2222019] user: stephan branch: trunk, size: 20352
2014-07-07
20:29
s2: added a getenv(3) script binding. file: [bb0ca9783e] check-in: [2f4e931872] user: stephan branch: trunk, size: 20165
19:01
s2: ported in module loader and sample module. file: [c819e4478b] check-in: [460a4cf3ef] user: stephan branch: trunk, size: 20132
17:56
s2: ported in PathFinder class from th1ish, plus some related infrastructure. file: [aed1fdc16b] check-in: [a609daa8f4] user: stephan branch: trunk, size: 20090
16:30
s2: minor internal cleanups, ported in the JSON parsing API from th1ish. file: [d5d6bdbafb] check-in: [683900d70d] user: stephan branch: trunk, size: 20046
2014-07-06
16:01
s2: minor tinkering. break time. file: [1d9c1f895d] check-in: [11bb54fc2c] user: stephan branch: trunk, size: 19994
13:23
s2: syntax errors triggered in script functions now report their position properly :-D. Fixed a mis-propagation of a result code when exiting the interactive shell right after an exception is thrown. file: [92917476bf] check-in: [2671d11be4] user: stephan branch: trunk, size: 19630
10:17
s2: alternative impl of script func storage which uses a central hashtable to hold the body bytes. Not yet sure about mem costs. file: [f4f4efd236] check-in: [6ce7937b3a] user: stephan branch: s2-funcs, size: 19618
2014-07-05
16:01
s2: minor internal cleanups, added interactive-by-default if isatty(stdin) to the shell. file: [a0663a8501] check-in: [21addb0266] user: stephan branch: trunk, size: 19529
14:33
s2: added some missing overloadable ops, added --help to the shell app. file: [88a4b29c1f] check-in: [e93101f988] user: stephan branch: trunk, size: 19307
2014-07-04
18:22
s2: added ++/-- for obj.property. Added s2_engine::metrics::nextTokenCalls. file: [fa11047630] check-in: [e5558631f0] user: stephan branch: trunk, size: 15733
09:43
s2 shell: do not try to read from stdin by default in interactive mode. file: [028d94125c] check-in: [f7a194388d] user: stephan branch: trunk, size: 15639
2014-07-03
22:26
s2: minor shell tinkering. file: [709b23197a] check-in: [27e2e16195] user: stephan branch: trunk, size: 15619
21:52
s2: started work on an interactive shell mode using linenoise for input. file: [0a286909ad] check-in: [04c0d82c9d] user: stephan branch: trunk, size: 14769
2014-07-02
22:30
s2sh: added -w and +w to adjust the sweep/vacuum intervals. file: [eb530245af] check-in: [3c53ce906a] user: stephan branch: trunk, size: 14141
22:07
s2: minor tinkering, mostly with how to adjust error location info for script function bodies. file: [fba00f9e6b] check-in: [25aebe67d6] user: stephan branch: trunk, size: 13858
18:18
s2: ported in the Hash class, other minor cleanups. file: [ef10b06029] check-in: [62a274945f] user: stephan branch: trunk, size: 13235
2014-07-01
21:26
s2: ported in the Buffer class, a number of other tweaks. TODO: finish buffer unit tests. file: [68aeece0a5] check-in: [5f6b5a8f85] user: stephan branch: trunk, size: 13127
2014-06-30
22:47
s2: moved the dumpVal() to s2.dumpVal() file: [d0a639b62a] check-in: [9641050b03] user: stephan branch: trunk, size: 13055
19:52
s2: added Function.apply/call(). MUCH more efficient than in th1ish, too :). file: [9320e5708a] check-in: [2a04e6480b] user: stephan branch: trunk, size: 12970
18:21
s2: ported more prototype-level bits. Got const object properties working at the C level, bt no script-side way of doing it yet. Removed one member from s2_func_state, trading an alloc the cost of a (non-propagating) member lookup. file: [27ea09195b] check-in: [52e45abad7] user: stephan branch: trunk, size: 12981
2014-06-29
20:56
s2: minor recycling bin size tweaks, a typo fix. file: [776730f596] check-in: [70e2152a4c] user: stephan branch: trunk, size: 13050
13:57
s2: improved func call support (lifetimes invalidated prematurely), fixed a stale pointer usage, added function NAME(){...} option, recycle s2_func_state, added some metrics for func state. file: [d1417bd1fe] check-in: [479f623b39] user: stephan branch: trunk, size: 13048
2014-06-28
18:24
s2: calling script-created funcs seems to be working working. Error location info is wrong (it's relative to the function), but we'll eventually find a way around that. file: [ca4f6ebc37] check-in: [ef7556dbf5] user: stephan branch: trunk, size: 12894
02:44
side effects of tonight's gc debugging session. Fixed return/refcount keyword ordering. file: [294f08ee3e] check-in: [5800e99ab7] user: stephan branch: s2-semicolons, size: 12551
2014-06-26
20:04
removed an invalid unref. file: [9b0b6e6c9f] check-in: [b12318df5c] user: stephan branch: trunk, size: 12167
19:07
s2: added while() loop. file: [4705e1d7ce] check-in: [0146917516] user: stephan branch: trunk, size: 11777
2014-06-25
21:44
s2: added if/else. Turned off string interning by default in the shell. file: [3dcdcdaee4] check-in: [5c27b8123d] user: stephan branch: trunk, size: 11777
19:20
s2: added break keyword, fixed sweepup in eval-file subscopes, added global s2 object and s2.import(), several minor cleanups and fixes. file: [ba605d9924] check-in: [cb6ce80c0b] user: stephan branch: trunk, size: 11777
2014-06-24
22:32
Moved auto-propagation of return/break/etc values (back) into the cwal core. s2: added refcount keyword. Fixed EOL handling for keyword RHS parsing (most require that the RHS start on the same line, or optionally treat EOL as an empty/undefined result, e.g. return/exit). file: [a06700b1cc] check-in: [7cc1a0c00c] user: stephan branch: trunk, size: 9922
19:55
s2: added return/throw/fatal/exit keywords, all specializations of eval/scope. file: [3f9777519c] check-in: [e33a2d68a3] user: stephan branch: trunk, size: 9874
2014-06-21
14:50
s2: added PHP-style array-append operator, imported a bit more prototypes infrastructure, improved valgrind testing a bit. Added inherits operator. Keep forgetting to check in. file: [47faca2b21] check-in: [6e0c316928] user: stephan branch: trunk, size: 9140
2014-06-20
22:32
cleanups in s2 error reporting/handling. file: [1672b4015e] check-in: [336caed0e0] user: stephan branch: trunk, size: 8941
18:48
s2: fixed a newline-slurping bug which caused expressions to bleed together. Added infrastructure for propagating return/exit/break values. file: [3f981d0350] check-in: [edd8c19dfc] user: stephan branch: trunk, size: 9569
2014-06-19
15:45
More exception-vs-fatal error distinctions. Lots of tinkering with sweep-up, fixing some cleanup timings. file: [e500210f63] check-in: [f3e77e10f9] user: stephan branch: trunk, size: 9217
2014-06-16
21:47
minor cleanups before bed. file: [bae16fc34f] check-in: [d8ff1745bb] user: stephan branch: trunk, size: 8456
20:17
More work on operator overloading, +/- ops, got unary +/- on strings doing the right thing. file: [036a513798] check-in: [8bee802f30] user: stephan branch: trunk, size: 7814
2014-06-15
19:41
Seem to have gotten sweep-up working how i want it in s2. file: [fdcf24715f] check-in: [2239164d8f] user: stephan branch: trunk, size: 7673
15:52
extended s2 eval with a modifier to change eval behaviour. Started adding external unit test file infrastructure. file: [995232bcf9] check-in: [05af410235] user: stephan branch: trunk, size: 7480
14:11
Found a workaround wrt the newline handling in some cases. Don't like it much, but the tests are happy. file: [73af804c3c] check-in: [052b1bcbba] user: stephan branch: trunk, size: 7449
12:50
Added: added very basic s2 shell (stdin only). Discovered some EOL-related problems along the way. file: [1c1c7a255b] check-in: [948fb7e49e] user: stephan branch: trunk, size: 7216