Commit Graph

46 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 399a428382 Added #include <limits.h> to src/ikarus-runtime.c. 2009-08-26 18:50:55 +03:00
Abdulaziz Ghuloum 9cb0945f1f - Added file-real-path which is identical to realpath(3). 2009-05-25 22:19:43 +03:00
Abdulaziz Ghuloum b97cbf1688 Fixed environ. The procedure environ takes no arguments and returns
an association list where both keys and values and strings found in
the posix environment.
2009-04-06 09:59:07 +03:00
Abdulaziz Ghuloum 2adc9cb85d Applied patch for "make-hard-link". Thanks to Andreas Rottmann. 2009-01-03 20:36:53 -05:00
Abdulaziz Ghuloum 4918b0e965 added setenv and unsetenv to (ikarus). 2008-12-23 20:58:46 -05:00
Abdulaziz Ghuloum f8efdfc848 fixed buffer overrun problem when printing a char to an unbuffered
port is interrupted.
2008-12-12 16:03:10 -05:00
Abdulaziz Ghuloum b037b1b671 getenv now returns #f for unset environment variables. 2008-12-05 02:19:26 -05:00
Abdulaziz Ghuloum d35f039ca1 ikrt_last_errno moved to ikarus-runtime where it belongs 2008-11-26 05:03:16 -05:00
Abdulaziz Ghuloum c5a2026472 fixed a few compile-time warnings. 2008-11-16 04:43:30 -05:00
Abdulaziz Ghuloum 25f40fefb0 Added the following file system primitives
- file-readable? path -> boolean
 - file-writable? path -> boolean
 - file-executable? path -> boolean
 - file-size path -> integer
 - rename-file source dest -> void
(thanks to Andreas Rottmann)
2008-11-10 23:36:11 -05:00
Abdulaziz Ghuloum 069bd683cd - added file-mtime
- Ikarus fasl files and source files are not compared using 
   (< (file-mtime ikfasl) (file-mtime filename))
  instead of
   (<= (file-ctime ikfasl) (file-ctime filename))
2008-11-01 07:28:08 -04:00
Abdulaziz Ghuloum d2022faf53 fixed a few gcc warnings as reported in bug 288824. 2008-10-29 13:54:06 -04:00
Abdulaziz Ghuloum b63055aed0 - changed argument type passed to ik_mmap* to be long int.
- mmap errors report request size (for debugging 64-bit errors)
- added a config definition for FLAT_TABLES which is not yet used
  (32-bit ikarus will use flat segment and dirty tables while 64-bit
  ikarus will use two-level tables)
2008-10-21 00:43:27 -04:00
Abdulaziz Ghuloum 16284e6545 fixed a bug that might cause ikarus to crash in directory-list. 2008-08-10 10:37:39 -07:00
Abdulaziz Ghuloum 01c4afa320 Major work towards the AMD64 port. Most important of which is that
continuations work, more assembly instructions are testing in 64-bit
mode, and some arithmetic operations (shift-right, etc.) have been
fixed by removing some 32-bit dependencies.
2008-07-18 01:35:13 -07:00
Abdulaziz Ghuloum 8f0f0abbca Applied a patch supplied by Derick Eddington that provides enhanced
functionality for waitpid (nonblocking waitpid and more status info)
as well as the ability to send a signal to a process, e.g., 
  (kill pid 'HUP).
2008-06-13 05:43:17 -07:00
Abdulaziz Ghuloum 81db526510 Fixed all warnings while compiling with -Wall 2008-06-04 00:54:53 -07:00
Abdulaziz Ghuloum 53905b9eea Changes from Derick Eddington supporting file system info:
- Added file-regular?, file-directory?, file-symbolic-link?,
  directory-list, make-directory, delete-directory, change-mode, 
  and make-symbolic-link.

- Bug fix in ikrt_open_input_fd and ikrt_open_output_fd which
  considered a 0 FD as an error.

- Bug fix in ikrt_getcwd about len+1.

- Bug fix of &i/o-file-protection which didn't have &i/o-filename as
  its parent.

- There is a new src/ikarus-errno.c file.  

- Made tcp-connect and friends tell when they "failed to resolve
  host name or connect".

- To support the uses of &i/o-filename subtypes, I modified
  print-condition so it will cleanly print the parents' fields of a
  condition;
2008-05-31 10:43:55 -07:00
Abdulaziz Ghuloum 5f92e4b96d Added current-directory parameter that gets/sets cwd. 2008-05-03 02:39:49 -04:00
Abdulaziz Ghuloum 25344fa1d0 Added nanosleep as per bug 210678. 2008-04-11 05:36:54 -04:00
Abdulaziz Ghuloum 50888bef94 Fixes issues/warnings in bug 193327. 2008-03-15 21:06:47 -04:00
Abdulaziz Ghuloum f3c92c9473 Fixes bug 188159: delete-file not recognizing "file doesn't exist"
error, and it's not using &i/o-filename
2008-02-03 17:11:53 -05:00
Abdulaziz Ghuloum f6e5e4d5b4 Added -m32 to CFLAGS/LDFLAGS, updated copyright dates and version no. 2008-01-29 00:34:34 -05:00
Abdulaziz Ghuloum 2dc4542148 Reimplemented the guardians collector which was yellowing out since
the last update to the GC.  All tests now run without a glitch.
2008-01-12 17:32:43 -05:00
Abdulaziz Ghuloum fbebc96bfa Fixed the ``bytes allocated off by n problem''. 2008-01-07 21:37:41 -05:00
Abdulaziz Ghuloum 755beeb7d7 uuid and gensym were not generating pretty unique strings. fixed. 2008-01-04 05:47:18 -05:00
Abdulaziz Ghuloum 341e53a36d 64-bit fasl files can now be produced and read. 2008-01-03 02:07:17 -05:00
Abdulaziz Ghuloum 66e9cd6415 ikarus now compiles cleanly (but still unrunnable) in 64-bit mode. 2008-01-01 21:42:52 -05:00
Abdulaziz Ghuloum e0909d76fe changed type of ikptr to unsigned int now and removed ikint. 2008-01-01 21:08:07 -05:00
Abdulaziz Ghuloum 15ea12f915 cleanup of the C files to make all ikptr->int casts ikptr->long int 2008-01-01 04:24:36 -05:00
Abdulaziz Ghuloum 5d33921c9e changed type of ikp from unsigned char* to char* 2007-12-23 13:37:48 -05:00
Abdulaziz Ghuloum d162c1cc25 moved definition of HEAPSIZE to ikarus-data.h 2007-12-20 03:51:43 -05:00
Abdulaziz Ghuloum 6eb6bf750d Added a (process "cmd" "args" ...) procedure that execs cmd, passing
args to it, and returns 4 values: 
* the process's pid
* the process's standard-input-port  (for writing)
* the process's standard-output-port (for reading)
* the process's standard-error-port  (for reading)
See lab/process-example.ss for a sample usage.
2007-12-19 22:46:07 -05:00
Abdulaziz Ghuloum 356a809970 the exit status due to calling (exit n) is
: n            if n is a fixnum
  : EXIT_FAILURE otherwise
2007-12-18 05:41:39 -05:00
Abdulaziz Ghuloum af020f909b slight change to implementation of time-gmt-offset so that the
gmt_off field of the tm struct is not used (not available in
cygwin).
2007-12-11 19:32:34 -05:00
Abdulaziz Ghuloum 0d79bcd42c removed some unused procedures from ikarus-runtime.c 2007-12-10 12:03:25 -05:00
Abdulaziz Ghuloum 0e38534d2e New IO layer is installed. Still buggy in some area but can be used
for bootstrapping at least.
2007-12-10 07:28:03 -05:00
Abdulaziz Ghuloum 1d5c069273 Fixes bug 175057: Added time-gmt-offset procedure that takes a time
object and returns the offset from gmt in seconds.
2007-12-09 07:20:49 -05:00
Abdulaziz Ghuloum 553c986253 Added current-time, time?, and time-seconds. 2007-12-05 02:35:14 -05:00
Abdulaziz Ghuloum 3056d26a9d Moved implementation of safe make-vector to foreign-call. 2007-12-01 05:38:09 -05:00
Abdulaziz Ghuloum 25555d7ff6 Added getenv, which takes a string and returns a string from the "unix"
environment.  
Example:
  (getenv "HOME") => "/Users/aghuloum"
  (getenv "FOO")  => ""
2007-11-19 12:57:50 -05:00
Abdulaziz Ghuloum 3b4d3097a1 Fixes bug 163540: allocation in bignum arithmetic does not garbage collect. 2007-11-18 10:37:13 -05:00
Abdulaziz Ghuloum 1afade6d43 * renamed ik_alloc to ik_unsafe_alloc since it was unsafe to call it
in general (it did not collect on heap overflow).
2007-11-18 09:12:00 -05:00
Abdulaziz Ghuloum 6f576dc224 * Added license stubs to all *.ss and *.[ch] files. 2007-10-25 16:27:34 -04:00
Abdulaziz Ghuloum 30a0a9458b * fixed a problem with building ikarus.boot on cygwin.
* fixed a couple of typos in ikarus-runtime.c and ikarus-winmmap.c
2007-10-18 11:48:11 -04:00
Abdulaziz Ghuloum d59c2b304b major restructuring to support autotools
added:
  Makefile
  Makefile.am
  Makefile.in
  aclocal.m4
  config.guess
  config.sub
  configure
  configure.ac
  depcomp
  install-sh
  missing
  mkinstalldirs
  src/Makefile.am
  src/Makefile.in
  src/scheme/
renamed:
  bin/ikarus-collect.c => src/ikarus-collect.c
  bin/ikarus-data.h => src/ikarus-data.h
  bin/ikarus-enter.s => src/ikarus-enter.s
  bin/ikarus-exec.c => src/ikarus-exec.c
  bin/ikarus-fasl.c => src/ikarus-fasl.c
  bin/ikarus-flonums.c => src/ikarus-flonums.c
  bin/ikarus-main.c => src/ikarus-main.c
  bin/ikarus-numerics.c => src/ikarus-numerics.c
  bin/ikarus-print.c => src/ikarus-print.c
  bin/ikarus-runtime.c => src/ikarus-runtime.c
  bin/ikarus-symbol-table.c => src/ikarus-symbol-table.c
  bin/ikarus-verify-integrity.c => src/ikarus-verify-integrity.c
  bin/ikarus-weak-pairs.c => src/ikarus-weak-pairs.c
  bin/ikarus-winmmap.c => src/ikarus-winmmap.c
  bin/ikarus-winmmap.h => src/ikarus-winmmap.h
  src/asm-tests.ss => src/scheme/asm-tests.ss
  src/dotests.ss => src/scheme/dotests.ss
  src/ikarus => src/scheme/ikarus
  src/ikarus.apply.ss => src/scheme/ikarus.apply.ss
  src/ikarus.bytevectors.ss => src/scheme/ikarus.bytevectors.ss
  src/ikarus.cafe.ss => src/scheme/ikarus.cafe.ss
  src/ikarus.chars.ss => src/scheme/ikarus.chars.ss
  src/ikarus.code-objects.ss => src/scheme/ikarus.code-objects.ss
  src/ikarus.codecs.ss => src/scheme/ikarus.codecs.ss
  src/ikarus.collect.ss => src/scheme/ikarus.collect.ss
  src/ikarus.command-line.ss => src/scheme/ikarus.command-line.ss
  src/ikarus.compiler.altcogen.ss => src/scheme/ikarus.compiler.altcogen.ss
  src/ikarus.compiler.ss => src/scheme/ikarus.compiler.ss
  src/ikarus.control.ss => src/scheme/ikarus.control.ss
  src/ikarus.date-string.ss => src/scheme/ikarus.date-string.ss
  src/ikarus.fasl.ss => src/scheme/ikarus.fasl.ss
  src/ikarus.fasl.write.ss => src/scheme/ikarus.fasl.write.ss
  src/ikarus.fixnums.ss => src/scheme/ikarus.fixnums.ss
  src/ikarus.guardians.ss => src/scheme/ikarus.guardians.ss
  src/ikarus.handlers.ss => src/scheme/ikarus.handlers.ss
  src/ikarus.hash-tables.ss => src/scheme/ikarus.hash-tables.ss
  src/ikarus.intel-assembler.ss => src/scheme/ikarus.intel-assembler.ss
  src/ikarus.io-ports.ss => src/scheme/ikarus.io-ports.ss
  src/ikarus.io-primitives.ss => src/scheme/ikarus.io-primitives.ss
  src/ikarus.io-primitives.unsafe.ss => src/scheme/ikarus.io-primitives.unsafe.ss
  src/ikarus.io.input-files.ss => src/scheme/ikarus.io.input-files.ss
  src/ikarus.io.input-strings.ss => src/scheme/ikarus.io.input-strings.ss
  src/ikarus.io.output-files.ss => src/scheme/ikarus.io.output-files.ss
  src/ikarus.io.output-strings.ss => src/scheme/ikarus.io.output-strings.ss
  src/ikarus.lists.ss => src/scheme/ikarus.lists.ss
  src/ikarus.load.ss => src/scheme/ikarus.load.ss
  src/ikarus.main.ss => src/scheme/ikarus.main.ss
  src/ikarus.multiple-values.ss => src/scheme/ikarus.multiple-values.ss
  src/ikarus.numerics.ss => src/scheme/ikarus.numerics.ss
  src/ikarus.pairs.ss => src/scheme/ikarus.pairs.ss
  src/ikarus.posix.ss => src/scheme/ikarus.posix.ss
  src/ikarus.predicates.ss => src/scheme/ikarus.predicates.ss
  src/ikarus.pretty-print.ss => src/scheme/ikarus.pretty-print.ss
  src/ikarus.promises.ss => src/scheme/ikarus.promises.ss
  src/ikarus.reader.ss => src/scheme/ikarus.reader.ss
  src/ikarus.records.procedural.ss => src/scheme/ikarus.records.procedural.ss
  src/ikarus.singular-objects.ss => src/scheme/ikarus.singular-objects.ss
  src/ikarus.sort.ss => src/scheme/ikarus.sort.ss
  src/ikarus.strings.ss => src/scheme/ikarus.strings.ss
  src/ikarus.structs.ss => src/scheme/ikarus.structs.ss
  src/ikarus.symbols.ss => src/scheme/ikarus.symbols.ss
  src/ikarus.timer.ss => src/scheme/ikarus.timer.ss
  src/ikarus.trace.ss => src/scheme/ikarus.trace.ss
  src/ikarus.transcoders.ss => src/scheme/ikarus.transcoders.ss
  src/ikarus.unicode-data.ss => src/scheme/ikarus.unicode-data.ss
  src/ikarus.vectors.ss => src/scheme/ikarus.vectors.ss
  src/ikarus.writer.ss => src/scheme/ikarus.writer.ss
  src/makefile.ss => src/scheme/makefile.ss
  src/pass-specify-rep-primops.ss => src/scheme/pass-specify-rep-primops.ss
  src/pass-specify-rep.ss => src/scheme/pass-specify-rep.ss
  src/psyntax.builders.ss => src/scheme/psyntax.builders.ss
  src/psyntax.compat.ss => src/scheme/psyntax.compat.ss
  src/psyntax.config.ss => src/scheme/psyntax.config.ss
  src/psyntax.expander.ss => src/scheme/psyntax.expander.ss
  src/psyntax.internal.ss => src/scheme/psyntax.internal.ss
  src/psyntax.library-manager.ss => src/scheme/psyntax.library-manager.ss
  src/r6rs-records.ss => src/scheme/r6rs-records.ss
  src/rationalize.ss => src/scheme/rationalize.ss
  src/run-tests.ss => src/scheme/run-tests.ss
  src/set-operations.ss => src/scheme/set-operations.ss
  src/tests => src/scheme/tests
  src/tests.libraries.ss => src/scheme/tests.libraries.ss
  src/todo-r6rs.ss => src/scheme/todo-r6rs.ss
  src/unicode => src/scheme/unicode
modified:
  src/ikarus.boot
2007-10-17 19:59:37 -04:00