Requested by @lefticus in PR #687 review.
Fix warnings-as-errors failures on all three compiler families:
- GCC Release: replace strncpy with memcpy in mystrdup (stringop-truncation)
- GCC ASAN+UBSAN Release: add bounds check in Operator() before indexing
m_operators array — the recursive call could exceed the array size of 12,
which is an actual out-of-bounds bug, not just a warning
- GCC: downgrade maybe-uninitialized to warning (false positive in libstdc++
std::regex under sanitizers + optimizations)
- AppleClang: add default cases to all switch statements on Common_Types in
boxed_number.hpp (Wswitch-default)
- AppleClang: mark Dispatch_Engine move ctor/assignment as deleted since
shared_mutex is non-movable (Wdefaulted-function-deleted)
- AppleClang on macOS: suppress Wpoison-system-directories for /usr/local/include
- MSVC Release: suppress C4702 (unreachable code) around if-constexpr in
proxy_functions_detail.hpp
- Fix unused variable warnings in emscripten_eval_test.cpp when asserts are
disabled in Release mode
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix#472: Add Emscripten/WebAssembly build for browser-based ChaiScript
Port Rob Loach's ChaiScript.js work (https://github.com/RobLoach/ChaiScript.js)
into the main repository as an Emscripten build target. Adds a GitHub Actions
workflow that builds ChaiScript to WebAssembly and publishes artifacts (JS, WASM,
HTML) for embedding in the official ChaiScript.com website. Includes an HTML
interactive playground frontend and a native test validating the eval API surface.
Co-Authored-By: Rob Loach <robloach@gmail.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Address review: publish WASM assets as release under wasm-latest tag
Add a publish job to the emscripten workflow that creates a prerelease
tagged wasm-latest with chaiscript.js, chaiscript.wasm, and
chaiscript.html as downloadable assets. Runs only on pushes to the
develop branch. The website repo can fetch these via the public
GitHub Releases API on a daily cron without any cross-repo auth.
Requested by @lefticus in PR #662 review.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: leftibot <leftibot@users.noreply.github.com>
Co-authored-by: Rob Loach <robloach@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>