magic/windows
Intubun f4c22438c6 Wire up headless / WASM mode at module boundaries
Glue between the null display driver and the rest of Magic so that
running with -d null does not require any process-level resources
(signals, timers, stdin, an X display, or a Tcl interpreter).

* utils/signals.c — gate setitimer, fcntl-based file watches, kill
  and the legacy sigsetmask/sigaction setup behind #ifdef
  __EMSCRIPTEN__. Every signals path becomes a no-op in WASM.
  Also fixes DBWriteBackup() being called with one argument when
  its real prototype takes three.

* windows/windDisp.c — WindUpdate() returns immediately when
  GrDisplayStatus == DISPLAY_SUSPEND. This is the runtime
  counterpart to the null driver's DISPLAY_SUSPEND state.

* extflat/EFargs.c — EFArgs() with a missing input name no longer
  jumps to "usage:" in headless WASM (which would call MainExit and
  kill the process); it sets *err_result and returns NULL so the
  caller can decide what to do. Native MAGIC_WRAPPER and native
  non-MAGIC_WRAPPER builds keep their original behavior.

* dbwind/DBWcommands.c — registers exttosim / ext2sim / exttospice /
  ext2spice in non-MAGIC_WRAPPER builds. Without this, WASM users
  could not invoke these commands at all (they were previously
  inside an #ifdef MAGIC_WRAPPER block). The C implementations
  (CmdExtToSim / CmdExtToSpice) are linked unconditionally outside
  modular builds.

* textio/txCommands.c, textio/textio.h — TxDispatchString(), a new
  library-style command entry point that parses a single string,
  dispatches it through WindSendCommand and returns a status code.
  This is what magic_wasm_run_command() calls from JavaScript.
2026-05-11 14:20:47 -04:00
..
Makefile Makefile: whitespace only change 2025-07-29 10:50:32 -04:00
vfont.B.12 Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
vfont.I.12 Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
vfont.R.8 Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
windClient.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
windCmdAM.c Fixed issues with the "macro" command that have existed since the 2026-04-13 12:26:42 -04:00
windCmdNR.c Use HAVE_SYS_TIME_H and TIME_WITH_SYS_TIME from autoconf where possible 2025-07-27 12:43:04 -04:00
windCmdSZ.c Fixed the mess that is the "expand"/"unexpand" command set. This 2026-04-04 20:47:04 -04:00
windDebug.c gcc11 -Wall -Wpedantic cleanup (post __attribute__) 2025-01-06 16:25:38 +00:00
windDisp.c Wire up headless / WASM mode at module boundaries 2026-05-11 14:20:47 -04:00
windInt.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
windMain.c Substantially revised the "macro" command callback functions and 2025-10-09 15:43:54 -04:00
windMove.c GeoDisjoint() unify return type of callback to bool 2024-12-26 15:10:35 -05:00
windSearch.c Removing extra `$Header$` 2020-05-27 20:35:27 -04:00
windSend.c Lookup() constify WindGetCommandTable() returns 'const' 2024-12-26 15:20:58 -05:00
windTrans.c Removing extra `$Header$` 2020-05-27 20:35:27 -04:00
windView.c Fix five latent bugs surfaced while porting to WASM 2026-05-11 14:20:47 -04:00
windows.h Substantially revised the "macro" command callback functions and 2025-10-09 15:43:54 -04:00
windows7.glyphs Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
windows11.glyphs Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
windows14.glyphs Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
windows22.glyphs Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00