Commit Graph

471 Commits

Author SHA1 Message Date
Lassi Kortela b989d60bcd Start rearranging things within scheme.h 2019-08-27 00:42:13 +03:00
Lassi Kortela 8c006ac672 Remove redundant Emacs -*- comments from C files 2019-08-27 00:38:56 +03:00
Lassi Kortela c24161d584 Streamline comments in scheme.h 2019-08-27 00:37:20 +03:00
Lassi Kortela b8ae211127 Consolidate the code itself from .h files to scheme.h 2019-08-27 00:24:58 +03:00
Lassi Kortela 2c7fe440e9 Add changes from missed in last commit 2019-08-27 00:24:54 +03:00
Lassi Kortela a02557230b Consolidate (almost) all #include's into new "scheme.h" 2019-08-26 22:12:15 +03:00
Lassi Kortela 6da8d0a939 Propagate scheme-core changes with a single build
Due to a slip-up in build.sh (compiling flmain.c instead of flisp.c multiple
times), making changes in the Scheme core would require two build.sh runs
instead of one to end up in the final executable. flisp.c is the C file that
includes boot_image.h so it's the one that should get compiled multiple times.
2019-08-26 16:53:21 +03:00
Lassi Kortela 83e64da945 Add term-init, term-exit builtins 2019-08-26 16:52:42 +03:00
Lassi Kortela 16d409c382 Add string-upcase, string-downcase builtins
Simple ASCII for now. Add some Unicode smarts later.
2019-08-26 11:47:56 +03:00
Lassi Kortela 41eb286f90 Remove vestigial char.* builtins 2019-08-26 11:15:38 +03:00
Lassi Kortela 464dac0e6c Rename builtin char procedures to match R7RS 2019-08-26 11:12:50 +03:00
Lassi Kortela c467f9e064 Add Unicode lambda 2019-08-26 11:06:42 +03:00
Lassi Kortela d38d99dd87 Remove comments about proposed 'struct ios' features
We don't need anything as fancy as these.
2019-08-26 00:20:50 +03:00
Lassi Kortela 219578cff9 Remove temp xwrite/x... and old princ/print 2019-08-25 23:27:59 +03:00
Lassi Kortela 08b4fe31ed Shake dangling princ/print references out of boot image 2019-08-25 23:25:44 +03:00
Lassi Kortela 33488d73cf Replace xwrite/xdisplay/xnewline with non-x names 2019-08-25 22:57:31 +03:00
Lassi Kortela 924a45b7bd Implement Scheme printer procedures in C 2019-08-25 22:39:35 +03:00
Lassi Kortela e3d60bb776 Add const to many utility functions 2019-08-25 22:12:34 +03:00
Lassi Kortela 55cb24023b Make Lisp core use xwrite/xdisplay/xnewline 2019-08-25 22:07:38 +03:00
Lassi Kortela 6e87c8ad26 Remove unused get-datum and put-datum procedures 2019-08-25 21:30:36 +03:00
Lassi Kortela 8fb0cbf472 Finish re-arranging printer options 2019-08-25 17:32:14 +03:00
Lassi Kortela 844b2e219c Rename pr.opts.pretty into pr.opts.indent 2019-08-25 17:29:18 +03:00
Lassi Kortela fe4b63b9a3 Turn pr.opts.readably into pr.opts.display 2019-08-25 17:27:16 +03:00
Lassi Kortela 726b7cad29 Decode printer options into a printer_options struct 2019-08-25 17:19:47 +03:00
Lassi Kortela 49e0a3ad1f Put all printer state into a global struct 2019-08-25 16:56:02 +03:00
Lassi Kortela 6defff3696 Refactor print_width and enforce minimum value 20 2019-08-25 13:42:26 +03:00
Lassi Kortela 96962da3d3 Rename print_circle_prefix -> write_cycle_prefix 2019-08-25 13:20:30 +03:00
Lassi Kortela 84c10258b3 Rename printer vars that track cyclic structures 2019-08-25 13:15:27 +03:00
Lassi Kortela dd3cc748ec Rename Lisp printer state variables 2019-08-25 12:58:40 +03:00
Lassi Kortela 098a991ed8 Turn print_princ into print_readably 2019-08-25 12:49:56 +03:00
Lassi Kortela 4550e1ba79 Rename SCR_WIDTH to print_width 2019-08-25 12:45:48 +03:00
Lassi Kortela 8b6b2d96e4 Comment variables used by Lisp printer 2019-08-25 12:41:24 +03:00
Lassi Kortela 2b9e15920b Fix off-by-one error 2019-08-23 00:40:41 +03:00
Lassi Kortela 9d4bf19367 Fix regression in ios_printf implementation
There was some problem with the way the varargs are handled. We had to
need to make (at least one) copy of them with va_copy(). The code is
brittle and I don't understand it, so just rip it all out and replace
with a fixed-size static buffer. It's a hack but we'll soon get rid of
printf completely so this will get us through the day until then.
2019-08-23 00:38:10 +03:00
Lassi Kortela 49e2ac5ae0 Add Docker to platforms in readme 2019-08-22 01:50:30 +03:00
Lassi Kortela 2e81ccd308 Fix nested bullet points in readme 2019-08-22 01:47:36 +03:00
Lassi Kortela 078cade0d2 Add platform list to readme 2019-08-22 01:43:21 +03:00
Lassi Kortela da02e9e554 Add missing sys/stat.h
Fixes failed OpenBSD build. How did it work before?
2019-08-22 00:05:57 +03:00
Lassi Kortela 862a2c9d68 Add Windows build script using Open Watcom C compiler 2019-08-21 22:22:39 +03:00
Lassi Kortela 34d417b4fc Change library name to (upscheme 2019 unstable)
The "unstable" is a new addition.
2019-08-21 22:18:53 +03:00
Lassi Kortela 682cbf2400 Add builtin_spawn stub for Windows 2019-08-21 22:18:20 +03:00
Lassi Kortela 1e306391a7 Add compiler name to build directory name 2019-08-21 22:18:01 +03:00
Lassi Kortela 2ff16a0182 Add Windows ID functions
Mostly of them are dummy placeholders that return false
2019-08-21 22:17:06 +03:00
Lassi Kortela b2027fe023 Split setenv/unsetenv by platform
Windows apparently doesn't have unsetenv() at all, so use the WinAPI
native envar functions instead of the usual C ones.
2019-08-21 22:16:07 +03:00
Lassi Kortela 5caf337589 Stub builtin_environment_stack for Windows 2019-08-21 22:15:19 +03:00
Lassi Kortela 0d95c386ac Fix socket includes 2019-08-21 22:14:04 +03:00
Lassi Kortela ebefb2a519 Stub time functions for Windows
Need to rethink all time stuff and read the relevant SRFIs.
2019-08-21 22:12:19 +03:00
Lassi Kortela 6ffe6bf174 Add truly sinful float hacks for Watcom 2019-08-21 22:11:05 +03:00
Lassi Kortela 439eeb2b06 Use vsnprintf() instead of vasprintf()
Windows doesn't reliably offer *asprintf() (sprintf functions that
automatically malloc as much memory as they need) so hand-roll the
equivalent on all platforms.
2019-08-21 22:10:13 +03:00
Lassi Kortela c76379e6f5 Brace try/except in main() for Watcom 2019-08-21 22:08:21 +03:00