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 | |