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