commit 3721c0f5dcdccd168575db60093773dc8b1ab296 Merge: 69cd5dcf faa40741 Author: Peter Bex Date: Sun Sep 9 13:50:50 2018 +0200 Merge branch 'master' into prerelease commit faa40741728984ff73a6b26ebc03a93f61491b58 Author: Peter Bex Date: Sun Sep 9 13:50:41 2018 +0200 Sync manual with wiki commit 69cd5dcfc95c128d0abc39f3dbb1b7608884d81e Author: Peter Bex Date: Sun Sep 9 13:45:09 2018 +0200 Bump version to 5.0.0rc2 commit 2d5103ce2666cc21a59176e2858bfd93d583df08 Merge: db1dd973 aaf6a228 Author: Peter Bex Date: Sun Sep 9 13:27:35 2018 +0200 Merge branch 'master' into prerelease commit aaf6a228691bf3ddd22351adcdaf6556c379ab54 Author: Evan Hanson Date: Sun Sep 9 17:15:23 2018 +1200 Fix double quotation in random-files mkdir commands Signed-off-by: Peter Bex commit d4d0bfb43ea3ce333542ab7d261c05fa2fe923d2 Author: Evan Hanson Date: Sun Sep 9 16:56:17 2018 +1200 Fix double-quotation of custom shell commands Signed-off-by: Peter Bex commit 6e76b7e622ffcbdb96fb9f511e3adeed8ce522ae Author: Peter Bex Date: Thu Sep 6 16:48:34 2018 +0200 Fix build on Mac OS We would cons a string containing two arguments onto the link-options, but now the quoting has been corrected that no longer works, it is seen as one option. Instead, we append a list with the options. commit dc07113cf79a1930c6a109c738138dbea15afbc0 Author: Peter Bex Date: Sat Sep 1 18:33:59 2018 +0200 Fix quotation in scripts generated by chicken-install and csc (#1515) Instead of rolling our own quotation (which never works), we use the tried and true "qs" procedure from (chicken process). Unfortunately, this procedure expects 'mingw32 as input, so we have to map platform back to its original value again... While testing this patch on UNIX with a path that contained spaces, I also encountered a problem in the linking command which csc generates: It was also misquoting its arguments. While we're at it, we also remove the unused write-info procedure. We also ensure all "system" invocations have their quotes fixed on Windows. Many thanks to Kristian Lein-Mathisen for finding this bug. Signed-off-by: felix Added fix for double-quoting in "prepare-custom-command" commit 2769143a08a646893fa0965af405b5adcc204b32 Author: Mario Domenech Goulart Date: Wed Sep 5 09:46:37 2018 +0200 chicken-install: accept `distribution-files' egg property Make chicken-install accept `distribution-files' in the toplevel of egg description files. chicken-install will actually not do anything with `distribution-files' -- it will be handled by henrietta-cache. Also revert d72c0b240a, which introduced a bug (`files' could only be used at the toplevel). Signed-off-by: felix commit 37dbffcd9de492dc639258f3048bac3b4dbaf35b Author: Peter Bex Date: Sat Sep 1 20:32:03 2018 +0200 Fix type declaration for "qs" procedure The optional "platform" argument was missing. Signed-off-by: felix commit 1e3a866d0d24394d597143a5abaaf6750d4b7282 Author: felix Date: Sun Sep 2 13:36:51 2018 +0200 Allow the "files" egg property at toplevel to be used by henrietta as determining the required files for installation. commit d72c0b240a4992f8987575107e834bcccda1cdca Author: Mario Domenech Goulart Date: Sat Sep 1 08:45:01 2018 +0200 Allow `files' in the toplevel of egg description files The toplevel `files' form is not actually used by chicken-install, but by henrietta-cache. henrietta-cache uses the `files' form to determine what to cache. Fixes #1511. Signed-off-by: felix commit 1f55b6c0f91432d43dba1e565d0112cb49891c43 Author: Evan Hanson Date: Fri Aug 31 20:31:36 2018 +1200 Allow list-notation for modules property in egg files Signed-off-by: felix commit 70fed042fc81b37de4a0ecabb06a2ca4e11cb3cc Author: felix Date: Thu Aug 30 09:23:41 2018 +0200 Handle directories transparently in chicken-install Signed-off-by: Evan Hanson commit 8ebf1e7f32f645df3444eb5e22d2d4306645d7d4 Author: felix Date: Tue Aug 28 16:51:24 2018 +0200 chicken-install: do not invoke custom build script for import libraries Signed-off-by: Evan Hanson commit 7ea3d35311964adbffce778e6322c97a4a611da5 Author: felix Date: Wed Aug 29 14:54:30 2018 +0200 For unsetting CHICKEN_REPOSITORY_PATH use "env -u" only when MSYSTEM is set Signed-off-by: Evan Hanson commit cf66847a5ef81b48e1d6de39b5907e2680eeb348 Author: felix Date: Wed Aug 29 14:46:52 2018 +0200 Undid patch to use "env -u" as it is NOT PORTABLE commit f07a5670e230d5e8630567c90ebddf6597998a06 Author: megane Date: Fri Aug 17 14:59:09 2018 +0300 * chicken.h: Fix C_u_fixnum_modulo by extracting the definition from C_fixnum_modulo Signed-off-by: Peter Bex Signed-off-by: Kooda commit 46835db3aed28d387a0c5b3874c138262d3798ba Author: Evan Hanson Date: Mon Aug 27 18:13:34 2018 +1200 Fix error in "chicken-status -cached" due to `map' with string argument In 7a7d0be0 we added a clause to `list-egg-info' that maps over its `dir' argument, but that may be reached when `dir' is a string (causing an error). This procedure only actually needs to handle two cases, installed egg-info files and egg or VERSION files in the cache, so we simplify the procedure to fix this bug and remove some redundant logic. Signed-off-by: Kooda commit 555e005d32b2fa9f9dc67e36b6f2ba0904e7a691 Author: Kooda Date: Tue Aug 14 12:25:11 2018 +0200 Make `copy-directory-command` copy directories recursively on Windows Signed-off-by: Evan Hanson commit a2e1c099ba3243d93d29fcee43dae4e350d12583 Author: Evan Hanson Date: Fri Aug 24 13:31:18 2018 +1200 Use env(1) to unset CHICKEN_REPOSITORY_PATH in repository search path test On MSYS, the output of `export -p` includes noise like "declare -x !::" which prevents the saved output from being sourced. Since other platforms might exhibit similar oddities and we're only saving and restoring the environment to clear a single environment variable, it's easier to use env(1) to unset CHICKEN_REPOSITORY_PATH temporarily. commit c238e8e9f349f09e5ed59fb7deec3801ae16d567 Author: Evan Hanson Date: Fri Aug 24 11:02:50 2018 +1200 Suffix test debris with ".out" to simplify testclean target commit d7d5894afebd95f78960060014bea2454032fb25 Author: Evan Hanson Date: Fri Aug 24 10:44:23 2018 +1200 Update testclean target to include "obj" files commit a86b071f49ae86d76336aed162147eb573c3af72 Author: Kooda Date: Tue Aug 14 09:40:52 2018 +0200 Make static linking work on Windows Signed-off-by: Evan Hanson commit 55bb90510bea0bb7618193f2797e30f2207a41b7 Author: Evan Hanson Date: Thu Aug 23 19:07:32 2018 +1200 Drop module namespace from struct type in `##sys#make-structure' specialisation This addresses issue #1513 for the time being, although we may want to make the compiler more intelligent about struct types from modules in the future. Signed-off-by: Peter Bex commit 08e462c8895ac934de85ca1e82261562e29cea86 Author: Kristian Lein-Mathisen Date: Fri Aug 17 14:59:41 2018 +0200 Give a path example for clarity in the README Because it isn't clear if you should use PREFIX=/c/chicken/ or C:/chicken/. Signed-off-by: Peter Bex commit f12c070ba198027fd59398b41eb1c253dbf6aed8 Author: Kooda Date: Wed Aug 22 09:56:02 2018 +0200 Add an entry in the NEWS file about file access procedures commit bb6bf66b4bb6c16fedaf0aea55e965f9497f2885 Author: Kooda Date: Mon Aug 20 03:20:00 2018 +0200 Fix my mistake in the previous commit commit 0ae333805f8fc782d4cdc36e1f3675028a26d9fa Author: felix Date: Sat Aug 18 10:45:57 2018 +0200 chicken-install: allow any type of value when converting program arguments (Suggested by Joerg Wittenberger) Signed-off-by: Kooda commit d483b36a41104061f81521022a2bf02f126e520c Author: Peter Bex Date: Thu Aug 16 22:40:10 2018 +0200 Document in NEWS that read-lines and read-all don't accept filenames anymore commit 4c2d1187a5e21ea2cd0e1ef6521375a2fe233d03 Author: Peter Bex Date: Thu Aug 16 22:24:09 2018 +0200 Add the fact that we dropped read-all to the NEWS file commit f2cdae8b23264aa7fbfd4712ba018e32c5f3cba5 Author: Kooda Date: Mon Aug 13 23:57:28 2018 +0200 Fix repository-path tests on Windows commit 2ef7324ff9fbf8af9f0af183ff0d56dc48b3417e Merge: cc4f64bc c32b0448 Author: felix Date: Sun Aug 12 21:43:24 2018 +0200 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit cc4f64bc510789e44daabffb45985c37882e493f Author: Peter Bex Date: Sun Aug 12 20:17:31 2018 +0200 Fix behaviour of complex (platform) clauses in .egg files Something like (platform (and unix)) would always fail even on UNIX, as would (platform (or haiku unix)), and (platform (or (unix haiku))) would succeed on UNIX but fail on Haiku. Signed-off-by: felix commit 7ecbcb4387742b1cfbd048a075cf16937f62190d Author: Peter Bex Date: Sun Aug 12 19:40:22 2018 +0200 Fix stat() with trailing slashes behaviour on Haiku It would return that the file exists even if the target is not a directory. We work around it the same way we do with MinGW. Signed-off-by: felix commit db1dd9731f0bc1d322ab8ea575a1b0eeb56a6888 Merge: 9d480412 c32b0448 Author: Kooda Date: Sun Aug 12 14:40:35 2018 +0200 Merge branch 'master' into prerelease commit c32b044811a899dc649ccae8eb44d47311fce81c Author: Kooda Date: Sun Aug 12 14:29:24 2018 +0200 Make `chicken-install -u` do what it’s supposed to do commit 9d480412edf8a95aeafa31c3c32830c210ce83b7 Author: Peter Bex Date: Sat Aug 11 10:51:46 2018 +0200 Bump version to 5.0.0rc1 commit 617ba6c92f6b6f91ceb782eab9fde7c1c66d2d9c Merge: 03ced0a0 35834b1b Author: Peter Bex Date: Sat Aug 11 10:51:32 2018 +0200 Merge branch 'master' into prerelease commit 35834b1b356ff7f4b04b370be54ca4fe135b124c Author: Peter Bex Date: Sat Aug 11 10:42:49 2018 +0200 Add a few missing files to distribution manifest commit 0cb1061637efe10d86801bd31271b914f67acc15 Author: Peter Bex Date: Sat Aug 11 10:32:43 2018 +0200 Remove obsolete file tests/rev-app.scm from manifest commit 91c3f0d218fa85615d16271a8a6c705a7c711aa9 Author: Peter Bex Date: Sat Aug 11 10:31:21 2018 +0200 The chicken.type import lib is not generated (anymore?), it's a purely syntactical builtin module commit 3db76e317c580ceb406d8d97929e56f95a7c1632 Author: Peter Bex Date: Sat Aug 11 10:24:27 2018 +0200 Uncomment manual-labor in the "html" target commit 16927931e4c57389c22b769ced66545ff903db0d Author: Peter Bex Date: Sat Aug 11 09:53:42 2018 +0200 Remove (preliminary) from NEWS commit 47b669c339f5d3554dddd1a857b9e295c67fa5d3 Author: Peter Bex Date: Sat Aug 11 09:52:01 2018 +0200 Sync manual from wiki commit 7a7d0be01636a59f98d488e0038e73acce525baa Author: Kooda Date: Thu Aug 9 20:47:14 2018 +0200 Make `repository-path` from (chicken platform) return a list instead of a string Signed-off-by: felix commit a1635d960b0075c0d4057b73091d01478fa6e3fb Merge: 253831d6 0660a50d Author: felix Date: Tue Aug 7 15:06:48 2018 +0200 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit 253831d628e17ec73911d6397b17119f9bdc04b7 Author: Kooda Date: Mon Aug 6 15:08:08 2018 +0200 Use the SUDO variable in chicken-uninstall, as documented Also use the `--` argument to the `rm` command. Signed-off-by: felix commit 0660a50d177f232a7f6a0a5e10f1e3b89a20729d Author: Kooda Date: Mon Aug 6 11:59:51 2018 +0200 Add a NEWS entry about the argument type change for process, process* and process-execute commit 2029fcae882dbbf2552b3ae21a606ad0873da398 Author: Peter Bex Date: Sat Aug 4 11:29:52 2018 +0200 Ignore macros when looking up symbol aliases This makes it so that we don't unintentionally end up using macro definitions as identifiers. Fixes #1493, found by Megane. Signed-off-by: Evan Hanson commit 388d3432ad56ad8513a3ab86da836b2d94e747d0 Author: megane Date: Fri Aug 3 13:54:05 2018 +0300 * eval.scm (compile): Remove failing environment lookup in ##core#set! The x is the full expression (e.g. '(##core#set! foo bar)) which should never be in the syntax environment. Signed-off-by: Peter Bex Signed-off-by: felix commit ea1202b848b7fecf86a7057f7903ca4dc91b30df Merge: 9508c876 00485e03 Author: felix Date: Mon Jul 30 10:04:15 2018 +0200 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit 9508c87607b69dbe5026ea7227e1c1ff9ce1ef22 Author: Peter Bex Date: Sun Jul 29 17:33:27 2018 +0200 Restore read-string semantics when reading 0 bytes by not attempting to peek We accidentally changed this behaviour when we changed read-string to return #!eof on EOF. The code was slightly restructured under the assumption that calling peek-char will never hurt, and then return "" when asking for zero bytes. Logically, this is correct, but in some cases the FD might not be ready. In those cases you may run into a read timeout, but reading zero bytes should arguably always succeed immediately, regardless of port/FD state. Signed-off-by: felix commit 00485e0365b3afd3de71592650e62eec364d6eb8 Author: Evan Hanson Date: Wed Jul 25 21:18:48 2018 +1200 Two small fixes for egg refetching behaviour When a specific egg version is requested and does not match what's already in the cache, refetch it. Previously, the version in the cache might have been used, despite the version difference. When the user hasn't specified a version, the behaviour remains the same. Fix the version comparison logic in `check-remote-version' so that an egg is only fetched when a remote version is newer than the one in the cache. Previously, this procedure was checking whether any remote version is newer than the *requested* one (which might also be #f), but it should actually indicate the opposite, i.e. it should return #t if *no* remote version is newer than the local one (which should be the cached version, not the requested version). Signed-off-by: Peter Bex commit 8ef52448cecacf43fb4345c7429033abe2976f42 Author: Evan Hanson Date: Wed Jul 25 21:03:54 2018 +1200 Allow "chicken-status -cached" to be used with egg name arguments As with the previous commit, this allows `chicken-status -cached NAME` to list just the eggs in the cache of the given name. Avoid blowing up when the cache contains a directory with no egg file in it. Previously, `read-info' would signal an error, but we now return #f and handle the missing info in the caller. Fix a bug that would prevent versions of cached eggs from being detected, since the `dir' passed to `list-egg-info' was one level too deep (it included the egg name, but that is already handled by the procedure). Drop "(none)" from the output when no eggs are matched, so that all the chicken-status flags that cause things to be listed work the same way. Signed-off-by: Peter Bex commit 138a16f20a97728d9da2b5e590dc5e0d0c7c15e3 Author: Evan Hanson Date: Wed Jul 25 20:17:33 2018 +1200 Allow "chicken-status -list" to be used with egg name arguments This allows `chicken-status -list NAME ...` to generate output for just the named eggs (or the eggs specified by a pattern with "-match"), like we do with "-c" and "-f". The default behaviour, listing all installed eggs, remains the same when no name arguments are given. Signed-off-by: Peter Bex commit b03666eb6568da16a947da9228daa4f5760e5d3b Author: Evan Hanson Date: Wed Jul 25 20:08:52 2018 +1200 Fix remote version checking in chicken-install by resolving egg server names Previously, the `check-remote-version' procedure would never expand egg server aliases to their FQDNs, so its calls to `try-list-versions' would always fail (because they'd be hitting, for example, "call-cc" and not "code.call-cc.org"). Add location resolution to this procedure. Also, pull the call to `resolve-location' in the `fetch-egg-sources' procedure up into its loop initialisation, for consistency with the other places in chicken-install.scm where we walk the server list. Signed-off-by: Peter Bex commit 29ddab96381e0920ce2aac8713b549dd7096cd73 Author: Peter Bex Date: Sun Jul 29 19:30:24 2018 +0200 Slight rewording to avoid confusion commit 0f2dab4cefe8fa79b654240942356dd42f3f7caf Author: Peter Bex Date: Sun Jul 29 19:28:23 2018 +0200 Document the rename of change-file-mode to set-file-permissions! (plus improvments) commit 79d2479937fda0437497774b1858e1c98862b371 Author: felix Date: Fri Jul 27 18:06:26 2018 +0200 chicken-install doesn’t cleanup its temporary files in every cases (Submitted by Kooda) Signed-off-by: felix commit 3a2812534eae72602d7247ff2a27e326c4a220c7 Author: felix Date: Fri Jul 27 18:03:36 2018 +0200 chicken-status doesn’t find the version of eggs in the cache when using the `-cached` option (Submtted by Kooda) Signed-off-by: felix commit 6b4e2b5b493e03c872f1d030357fc68fa7c26ceb Author: Evan Hanson Date: Mon Jul 23 11:23:40 2018 +1200 Use `directory-exists?' instead of `directory?' in chicken-status This just removes the program's dependency on the posix unit, in order to give it a slightly lighter footprint. Signed-off-by: Kooda commit 86c9a72d6034efa9389b074ba970d2521761fb3e Author: Evan Hanson Date: Mon Jul 23 11:20:05 2018 +1200 Handle exceptions from `terminal-size' in chicken-status This fixes chicken-status on the MinGW platform where `terminal-size' will raise a (previously unhandled) exception. Signed-off-by: Kooda commit 9b2b6bc717ed266f17721444e9ac4e6277aa0c01 Author: felix Date: Thu Jul 26 10:18:38 2018 +0200 Add component-options egg specification item Signed-off-by: Kooda commit 85935635aed0faf1f4a79cb09705e460274c916e Author: Peter Bex Date: Sun Jul 22 16:58:46 2018 +0200 Quote and slashify destination directories too For example, xcopy will try to interpret forward slashes as command line parameters, resulting in problems when retrieving eggs and copying a directory. Signed-off-by: Evan Hanson commit 42f3ff1bd63f563d3fd9c3329f0c5f9fc4f5b749 Author: Evan Hanson Date: Mon Jul 16 19:05:45 2018 +1200 Only register REPL history hooks when csi is running interactively Fixes #1467. Signed-off-by: Kooda commit c833416695ea80377bf6869217ef882595bb6cba Author: Evan Hanson Date: Sat Jun 9 19:26:55 2018 +1200 Forbid relative pathnames in CHICKEN_INSTALL_REPOSITORY Signed-off-by: Kooda commit 0feb2b2a337a3f8f35e4f8ed344553289eae4354 Author: Evan Hanson Date: Tue Jul 10 19:20:46 2018 +1200 Don't warn when namespaced symbols are unbound in eval Signed-off-by: Peter Bex commit 0dff5a8326ac4ba0bbc21f3d5a406ae98e4f1ef3 Author: Peter Bex Date: Fri Jul 13 21:49:20 2018 +0200 Add test for interface export issue This was pointed out by Martin Schneeweis, fixed by megane. Signed-off-by: Evan Hanson commit 69a3f493c68e938db4999565daad088a9f0fe9b3 Author: megane Date: Fri Jul 13 21:49:20 2018 +0200 Scan module definition for extra exports following interface usage Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit e2dde281c8875da41cef82b18635543f0d986a85 Author: Evan Hanson Date: Sat Jul 14 12:31:10 2018 +1200 csi.csm: Clarify documentation for "-ss" flag commit ea747361ae1546d8c535889d409ec69318a4daa8 Author: Mario Domenech Goulart Date: Fri Jul 13 23:03:29 2018 +0200 csi.scm: Improve documentation for "-s" flag Signed-off-by: Evan Hanson commit 0ed47ce520bb87da07fbab1e69f0b0a3dd2a31e0 Author: felix Date: Sat Jun 30 11:53:11 2018 +0200 Check exitlevel in Windows build scripts and abort when a command fails Signed-off-by: Peter Bex commit b4bfcea1aeaf2558815e1f2ee11b2476cd16e1d4 Author: Evan Hanson Date: Thu Jul 12 10:53:54 2018 +1200 Update bootstrap script to 5.0.0pre8 commit cbb32b2b192a57d1f2bc1b6f4a1a3782a045b2da Author: Evan Hanson Date: Thu Jul 12 10:00:08 2018 +1200 Fix setversion script imports commit b2a8cc7a658874e131d3ae68fa69838eb6bdd100 Author: Evan Hanson Date: Thu Jul 12 09:14:14 2018 +1200 Update list of core units in eval.scm Add `debugger-client', `eval-modules', `profiler', and `scheduler'. This makes sure static compilation works correctly when these units are compiled into a program manually (via "-explicit-use" and "-uses"). Also, remove `files' since that unit no longer exists. commit d57fbee32c128dfcd03efa1710669109c01e6f63 Author: Evan Hanson Date: Tue Jul 10 19:21:24 2018 +1200 Use dotted module syntax for imports in library.scm This makes all the import forms in the file use the same syntax, for better grepability. commit 0c1eb21002151c8ba0a3598e5eea24e4b02201cb Author: Mario Domenech Goulart Date: Sun Jun 24 12:02:51 2018 +0200 chicken.h: identify arm64 architectures With this change, `(machine-type)' returns "arm64" for such architectures. Signed-off-by: Evan Hanson commit e921e2638625a40caf7704daf7cdfb2a49aee147 Merge: 861b106b 2ce47f3a Author: felix Date: Thu Jul 5 13:55:29 2018 +0200 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit 861b106b2bf4baa088ee6adf868c7fb3a0191636 Author: Evan Hanson Date: Thu Jul 5 20:48:56 2018 +1200 Remove directories when uninstalling extensions Signed-off-by: felix commit 2ce47f3abb947520d13dd5c5452fabe603c003ef Author: felix Date: Wed Jul 4 21:24:49 2018 +0200 Properly handle directory copying in "data" egg components Signed-off-by: Evan Hanson commit 317dbeaa0fdeb2ef5483bf0d065bcb12d946f097 Author: felix Date: Thu Jun 28 09:00:23 2018 +0200 chicken-install: use explicit ".bat" extension for custom scripts on Windows This also converts the names in chicken-do dependency lists and adds a missing dependency on the egg-file for generated-file components. Signed-off-by: Peter Bex commit 856c3e779b29f090e14293d6838e7f798b6cb27f Author: Kooda Date: Fri Jun 22 23:07:40 2018 +0200 Only inject the egg-info version property when it's properly defined commit 4f2cb99854a09cfab298563fc04ec1c72e14d047 Author: felix Date: Fri Jun 22 11:21:36 2018 +0200 ensure version from egg download is injected into egg-info file Signed-off-by: Kooda commit c571cff9a2b57080de4503536d38b44e154400e2 Author: Peter Bex Date: Thu Jun 21 18:11:10 2018 +0200 Always fetch tests when retrieving eggs to avoid caching issues When chicken-install retrieves an egg without tests, and later you want to install and run the tests, it will act like there are no tests because it uses the cached dir as if it contained the entire egg. This fixes #1477 Signed-off-by: felix commit 64446adf5d9aa7294fb0cfa6571314f498c52a8d Author: felix Date: Tue Jun 19 22:24:22 2018 +0200 manual: documented "modules" egg property commit 0be9d247a57da082bb2126b2e91958ea191c5513 Author: Evan Hanson Date: Wed Jun 13 19:35:24 2018 +1200 Splice includes into body contexts so definitions are handled correctly Now that non-toplevel definitions outside a "body" context are no longer allowed, we have to expand include forms during body canonicalisation so that any definitions in the included file are correctly spliced into the surrounding context. Otherwise, they won't be recognised as internal definitions and the compiler will reject them as "toplevel definitions in non-toplevel context". So, whenever a `##core#include' node is encountered, it's now extended to include the remainder of the forms in the surrounding body and control is handed back to the compiler. Then, whenever the compiler reads forms from an included file, it checks for a body and, if one is present, it knows it should return to the canonicalisation routine with the included forms (as well as the remainder of the original body context). If no body is present, included forms are treated as usual, i.e. as a normal sequence that gets inserted into a `##core#begin' node. This treatment is similar to what we currently do for modules, which must also be handled as a special case during body canonicalisation. Signed-off-by: felix commit 76379dc0f95e5ee0f1ff632884db660e6e624753 Author: Evan Hanson Date: Mon Jun 11 07:31:41 2018 +1200 Mark all extensions as static when using (linkage static) Rather than trying to locate static extensions during compilation with `chicken.load#find-static-extension', this leaves that task for csc to do at the linking step, since csc.scm already has more complete logic for locating files in `find-object-file', including a consideration of files in the current directory and whether setup-mode is enabled. Doing things this way ensures that objects from the build directory are found even before they're installed into the repository, which is necessary when compiling an egg that has dependencies from one static component to another. This finishes off #1468, for which a9fcaf7f was an incomplete fix. Signed-off-by: felix commit 9650de280ef723aac5a343b01791893734a9a833 Author: megane Date: Fri Mar 30 10:55:32 2018 +0300 Use more descriptive names in typematch-tests.scm Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit a9fcaf7f59a3379fc5389534a9a605ed894f232f Author: Evan Hanson Date: Sun Jun 10 08:19:44 2018 +1200 Link with static objects named "${x}.static.o" in setup mode When building an egg, the generated installation script gives static objects a "static.o" file extension, to avoid collisions with other build artifacts. To account for this, teach csc.scm about setup-mode and make it check for both "o" and "static.o" files when that's enabled. Then, because link file entries do not actually correspond 1:1 with filenames, drop the file extensions from that list and make them library names instead. This makes them easier to transform into filenames when looking for object files, and makes generating the link files simpler too. Finally, make sure generated object files are always given as the first arguments to the linker by *prepending* the files for linked extensions to the list of object-files, rather than appending (see csc.scm:923). Fixes #1468. Signed-off-by: felix commit b095c04336eb10b4c12c2fb37953d649312a4798 Author: Peter Bex Date: Sat Jun 9 19:44:02 2018 +0200 Update manual manifest commit a4c5e2fa9ca8ab6f547a7f03a9ba905bab9329bb Author: Peter Bex Date: Sat Jun 9 19:41:20 2018 +0200 Update distribution manifest for manual commit ddd8d393745dc48c8c465c71af78d44f2d5848be Author: Peter Bex Date: Sat Jun 9 19:39:49 2018 +0200 Copy over new manual from wiki commit 9bdb09c17f2d888de355f68d92f4dc9ef4086c69 Author: felix Date: Sat Jun 9 10:14:22 2018 +0200 Pass the source-file-dependencies to the component p-list for generated source files Without this the source-dependencies list in the build-script generation would always default to #f and trigger an error. Signed-off-by: Peter Bex commit 2adf319c4204f8b29f43efaabceedd4276b2c533 Author: Peter Bex Date: Sat May 26 18:21:44 2018 +0200 Include winerror.h in mingw native builds Signed-off-by: felix commit 5d61840f7d49ee704aa662dde10bece561828054 Author: felix Date: Wed May 30 10:55:50 2018 +0200 chicken-uninstall: show helpful msg when asking for confirmation and stdin is EOF Signed-off-by: Peter Bex commit 0089c1b8ea255089ca66d24b30c1837c0eb0f967 Author: felix Date: Wed May 30 17:21:49 2018 +0200 chicken-install: export environment variables for build tools to custom build scripts Signed-off-by: Mario Domenech Goulart commit 8c6237d170a04ba30a8f9b096a0d5d8f05439b1d Author: felix Date: Tue May 29 18:08:29 2018 +0200 chicken-install: added -defaults to usage output (reported by meganeka) commit d3906284f4c10435e840860d2231774cdc9ddc34 Author: Kooda Date: Wed May 2 14:27:36 2018 +0200 Make the test suite aware of the programs prefix and suffix This fixes #1458. Signed-off-by: Evan Hanson commit 5e1f084106649b14b092b943b08e3c4869cd84ba Author: felix Date: Mon May 21 11:18:27 2018 +0200 Correct handling of dependencies and introduce distinct names of egg properties - Fixes a misplaced paren in the "scheme-include" case in egg-compile.scm - properly check in egg-file validation that toplevel properties are not used in non-toplevel contexts - rename the component-specific "dependencies" property to "component-dependencies", added "source-dependencies" Signed-off-by: Kooda commit 36be0fcef8955eec5ae19f52723e5a0bf5b6592e Author: Peter Bex Date: Sun May 20 20:08:19 2018 +0200 Do not emit import-syntax forms when no syntax forms are exported This avoids importing and re-importing the same basic modules over and over again in an eval expression (as typically, one tends to import scheme and chicken.base, which provide quite large environments, which exacerbates the problem). This also exposed a minor problem with the types-db-consistency test: It didn't import all required modules, but they were available at the toplevel due to imports done implicitly in import libraries of those modules it _did_ import. This should mitigate #1457 somewhat. Of course, if the user imports several libraries that have lots of imports and at least one syntax export, it will still be slow (as this doesn't fix the underlying quadratic behaviour), but it should be nowhere near as bad as it was before this patch. As an added bonus, this should also increase compile times for any code, because those evaluated imports will always run inside the compiler when loading the import libraries, regardless of whether the output program is static or dynamic. For compiling CHICKEN itself this makes little difference (due to -explicit-use), but for a simple program that only does (import parley), compilation time dropped from 1.5s to 0.8s (with a DEBUGBUILD). Startup time of csi also improves dramatically: csi -e '' takes 0.024s after this patch versus 0.30s before (both with a DEBUGBUILD). Signed-off-by: felix commit 03cdfdcb723931e1fbdb4a1e0a6b36d6ce90cf9d Author: Kristian Lein-Mathisen Date: Sat May 5 12:33:27 2018 +0200 Add namespaces to procedure-information for various procedures Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit ffe889925894ed33bf6e3d486d6a3d59512c709a Author: Evan Hanson Date: Mon May 21 18:01:23 2018 +1200 Move `current-process-id' to "chicken.process-context.posix" This was moved in b47023ce, but belongs in the posix library with the rest of the current-{process,user,group}-id procedures. Signed-off-by: felix commit 11544dd8c30262890073d7887a6a765365cf9368 Author: felix Date: Mon May 7 11:08:34 2018 +0200 Enable local/inner dependencies, add custom build script to deps, if used Signed-off-by: Peter Bex commit cf5f48407668414995d908177f797002e3389e19 Author: megane Date: Mon May 14 21:59:05 2018 +1200 Fix error during compiler-typecase trail restore This fixes an error that can occur when a typecase clause fails to match and the subsequent trail restoration fails due to an incorrect environment being passed to `trail-restore'. This argument should be the one used for matching, not the original environment containing just the source expression's types. Signed-off-by: Evan Hanson Signed-off-by: felix commit 8ebbe0ff18b563a27ee92ef9184c0c675498c231 Merge: 50c4e0d7 a196826c Author: felix Date: Tue May 15 10:32:28 2018 +0200 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit a196826c65ab8534cbcf9b7de241f25bea62529c Author: Evan Hanson Date: Mon May 14 17:51:40 2018 +1200 A few small man page fixes Add "-d3" to csc.mdoc, drop "-csi" from chicken-install.mdoc, and fix the formatting of the warning about "-:" options in csi.mdoc. commit 45a7763a6ade22b9c1b6399ccab990f9833a84a0 Author: Evan Hanson Date: Mon May 14 17:39:27 2018 +1200 Unquote boolean type in expansion of `parameterize' This code was changed to use the internal `the' form in ee6b46ab, but the type itself shouldn't be quoted, so this drops the `##core#quote'. commit fdd9a022d1205b64c570d8c673487e38885a2828 Author: Kooda Date: Fri May 4 14:19:32 2018 +0200 Fix a few typos and renames in types.db and add a forgotten export of srfi-4 Signed-off-by: Peter Bex commit 5b9822a1950cc95cc12d847eaeba4caa0479101d Author: Kooda Date: Sat May 5 13:03:44 2018 +0200 Add a little script to check the consistency between documentation and actual modules Signed-off-by: Peter Bex commit 69eb29536f48bbeee6ba56bcfa7265e0cd7afe51 Author: Kooda Date: Sat May 5 12:51:37 2018 +0200 Add a types.db consistency check test Signed-off-by: Peter Bex commit b47023ce8e4568eab48e72c0256fd6bc1db12e74 Author: Kristian Lein-Mathisen Date: Thu May 3 14:52:20 2018 +0200 Fixes namespaces of chicken.process-context.posix exports These identifiers were exporting undefined values. Note that the lambda-info of these procedures are now incorrectly missing the namespace prefix. Let's address in a separate commit. Signed-off-by: Kooda Signed-off-by: Peter Bex commit d8545a630dfcd7f55756ddd6be9080b3aa7d61d1 Author: Kristian Lein-Mathisen Date: Thu Apr 26 23:10:26 2018 +0200 Always build in host mode unless cross-compiling When building with a prefix or suffix, compiling with csc fails. The include paths and library name are wrong because they use the suffix-less C_TARGET_INCLUDE_HOME and C_TARGET_LIB_NAME variables. Signed-off-by: Kooda Signed-off-by: Peter Bex commit 415bbaa7623b96f1a6b7efba98bf84e0df877f8d Author: felix Date: Tue May 8 18:22:00 2018 +0200 trivial changes in NEWS file commit 156cd99aa9e5c02c8293ba9ba49a4cb54d2bdc0c Author: Kooda Date: Wed May 2 21:02:51 2018 +0200 Tiny fixes for chicken-install on windows. commit 701ab0dda7fc15165e6335fd0ad33d58f084ff90 Author: Kooda Date: Tue May 1 19:54:45 2018 +0200 Remove a warning when compiling with clang. This fixes #1438 commit 239cec609e63172ac9fd0a72cf70357433a0bbf8 Author: felix Date: Sun Apr 22 16:00:08 2018 +0200 Lookup the argument for the executable in feathers. Also enable text widget in case error message is printed on startup. Signed-off-by: felix Signed-off-by: Kooda commit 171771fd7123530fbdfcc7e6a3f3c7625d2d0908 Author: Peter Bex Date: Sun Apr 29 13:57:21 2018 +0200 Simplify eval/meta a bit and drop ##sys#active-eval-environment In practice, the active-eval-environment will always be set to the parameter ##sys#current-environment (_not_ its value!), and there is no way to override it (anymore?). Instead of manually doing a dynamic-wind for all the parameters and manually set/restore it to the correct values (which is error-prone) we'll just use parameterize. Only the meta environments will be manually reset to the current value of their corresponding environments one level down in the phasing tower (which is the only depth currently supported by CHICKEN). If we ever implement infinite phasing support, I think we can change this to use a stack, instead. Signed-off-by: Kooda commit d642ec6c67dd16969a2add9f8f3fc63993338b4d Author: Kristian Lein-Mathisen Date: Sun Apr 29 12:57:44 2018 +0200 Check -L and -I for valid In csc, you can pass -L and -I which will get passed on to the C compiler with the -L prefix, like this: csc -L/tmp/lib This is handy. However, -L and -I are overloaded to pass options to the C compiler that do not include the prefix, like this: csc -L -lpng In the first example, the compiler sees "-L/tmp/lib" and in the seconds it sees only "-lpng". This causes problems if second version is accidentally quoted, like this: csc "-L -lpng" Now C compiler will see "-L -lpng" which isn't an error but it should be. We rarely have library directories that are called " -lpng". This patch addresses that. If you actually have a library path that starts with space, you will have to do something like `csc "-L./ madness"`. Signed-off-by: Kooda commit 6f51f3570b6e69835d79a0f75f9d03f2d1705b4f Author: Peter Bex Date: Mon Apr 30 19:00:49 2018 +0200 Refactor chicken.process-context.posix so it no longer refers to chicken.posix Again, similar to the previous commit and also very straightforward. This is the last module to convert; the export list of chicken.posix is now empty! Signed-off-by: Kooda commit 2cb9111e057f6a995bdf6e3c916abc331404a958 Author: Peter Bex Date: Mon Apr 30 17:57:18 2018 +0200 Refactor chicken.process.signals so it no longer refers to chicken.posix Again, similar to the previous commit. This one is very straightforward. Signed-off-by: Kooda commit e59919cd78db66978f22b1e1083049088b243b4a Author: Peter Bex Date: Mon Apr 30 17:25:49 2018 +0200 Refactor chicken.process so it no longer refers to chicken.posix Again, similar to the previous commit. Several small changes: - Renamed ##sys#process-wait (which holds the actual implementation of waiting for a process; common API uses this) to process-wait-impl. - Moved pip/buf, {open,close}-{input,output}-pipe, with-{input-from,output-to}-pipe and call-with-{input,output}-pipe to posix-common.scm as their implementations were identical in both posixwin.scm and posixunix.scm. - In preparation of potentially moving the "common" part of the process/process* implementations to posix-common.scm, unified the ##sys#shell-command interface so that it accepts a location in both posixunix (which ignores this argument) and posixwin (which uses it when raising an exception). Also dropped the ##sys# prefix on both it and ##sys#shell-command-arguments Signed-off-by: Kooda commit a5c949987b462960ed9c127032a82261f1f43cee Author: Peter Bex Date: Mon Apr 30 16:06:59 2018 +0200 Refactor chicken.time.posix so it no longer refers to chicken.posix Similar to the previous commit. One small change: - Moved ##sys#decode-seconds from library.scm to posix-common.scm and renamed it to decode-seconds. It is used nowhere else. Signed-off-by: Kooda commit de6281c1aa45380184397122a6bfb03f5b0558c2 Author: Peter Bex Date: Mon Apr 30 14:38:14 2018 +0200 Refactor chicken.file.posix so it no longer refers to chicken.posix This ensures when a user enters something like "open-input-file*" on the REPL, they will see "chicken.file.posix#open-input-file*" instead of "chicken.posix#open-input-file*" which is an internal implementation detail even moreso than the #-prefixed module name in the identifier. Some other small changes: - Removed duplicate definitions of fifo?, port->fileno and open-{input,output}-file* from posixwin (already in posix-common) - Moved shared open/ and perm/ definitions to posix-common - Moved shared fileno/{stdin,stdout,stderr} to posix-common - Fixed a small bug: check call in duplicate-fileno did not quote the procedure name for "loc" argument. Signed-off-by: Kooda commit d5594a63c741e4da7d4932e592efed1b85012c9c Merge: cc791727 580d44f6 Author: felix Date: Mon Apr 30 21:43:26 2018 +0200 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit cc7917272e08843575c4a89d0f3a2b45b9dd72ce Author: felix Date: Mon Apr 30 21:42:51 2018 +0200 when argument list is empty, recent change for handling CHICKEN_OPTIONS produces error commit 580d44f6c885872fe446ea263385b1fcd75eed5b Author: Peter Bex Date: Mon Apr 30 20:54:28 2018 +0200 Convert timeout to an exact number of milliseconds before sleeping This fixes a segfault in the C_ready_fds_timeout code that expected an unsigned integer. We get a segfault instead of an exception because scheduler.scm has (declare (unsafe)) at the top. Fixes #1459 Signed-off-by: Kooda commit 50c4e0d7f30b2e89e79285ed9ab42032947c7cfe Author: Kooda Date: Sun Apr 29 11:48:48 2018 +0200 Compile the posixwin.scm and posixunix.scm with -no-module-registration This prevents the chicken.posix module from being imported when using the interpreter. commit 73ea256188901192b63d1c4fd7b4a4ea2b850962 Author: felix Date: Sun Apr 29 12:22:46 2018 +0200 chicken-install: make extensions and programs dependent on the .egg file This was suggested by klm: during development, changing compiler options in the .egg file need to force recompilation. Signed-off-by: Kooda commit cd31e30781438e77c2baa0cc69c2cb5df1aa12f0 Author: Kooda Date: Sun Apr 29 11:48:48 2018 +0200 Compile the posixwin.scm and posixunix.scm with -no-module-registration This prevents the chicken.posix module from being imported when using the interpreter. commit edf9772200c8bee6b202f4335712fae1235b03d9 Merge: 8684b8e0 caf0a534 Author: felix Date: Sun Apr 29 11:37:40 2018 +0200 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit 8684b8e04eb5938419799c32263ba91f05a948b8 Author: felix Date: Sun Apr 29 11:13:42 2018 +0200 csc: drop obsolete compiler option commit caf0a5349468fec9ab3eac507cad1125c7fecf0b Author: Kristian Lein-Mathisen Date: Sun Apr 29 01:02:11 2018 +0200 chicken-install: improve error message for missing dependencies Signed-off-by: Peter Bex commit d332974f9495815479d8118417f2ab3cedf496ba Merge: 44934ff9 857c61fb Author: felix Date: Sun Apr 29 10:57:51 2018 +0200 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit 857c61fb10211b4826c7a81fcf1794e0551de4b3 Author: Peter Bex Date: Fri Apr 27 13:07:40 2018 +0200 Do not patch up iexpressions with syntax environment Just like we noted in 097053f, iexpressions are just symbol->symbol mappings and never contain macros, so there is no need to patch up the syntax environments either. commit 44934ff9a5d4c9bfcd2cc3d841d42fc150e4b39c Author: Peter Bex Date: Sun Apr 29 01:22:55 2018 +0200 Do not emit or install chicken.posix.import.{so,scm} This module is not supposed to be user-visible, and the chance that people will accidentally use it is extra large given that CHICKEN 4 had a "posix" module as well. Fixes #1456 Signed-off-by: felix commit 0746cdf32e9a67b485aada16d7e6c30708c8aada Author: Evan Hanson Date: Sun Apr 29 01:15:39 2018 +0200 Update bootstrap.sh to use CHICKEN 5.0.0pre7 commit 2dbfa725913e404efa36410e6a7cc36f3797b3db Author: Evan Hanson Date: Sun Apr 29 00:39:14 2018 +0200 Update "-consult-types-file" flag name in defaults.make commit c0bcb45078f1ef0a30f8aea4b5d5993d5b98f633 Merge: 52c30255 f5036f4d Author: felix Date: Sun Apr 29 00:40:53 2018 +0200 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit 52c3025586ab0fbd74f5a1a8191e1350d4feb9b3 Author: felix Date: Sun Apr 29 00:40:03 2018 +0200 Documented renaming of "-consult/emit-type-file" options commit f5036f4d06702572ee89850a81db8bb0903e7f70 Author: Peter Bex Date: Sun Apr 29 00:40:03 2018 +0200 Remove unused (direct) dependencies on chicken.posix.import.scm from rules.make commit f12166c4dcbc585f9fdc0d5d9c6aa11000820ef7 Author: Peter Bex Date: Sun Apr 29 00:34:25 2018 +0200 Remove obsolete (chicken posix) import from chicken-status We've already moved terminal-size and terminal-port to (chicken port), and (chicken posix) is not supposed to be used anymore. We do need (chicken file posix) now that directory? is in there. commit bf374b022bc40c3cc24d4e7e7267ea300f8be987 Author: Peter Bex Date: Sat Apr 28 18:09:13 2018 +0200 Change module imports to be lexically scoped. Instead of carrying around a syntactic environment in the code walker, we delay lookups by re-invoking the ##sys#current-environment parameter to get its current value (which is mutated by import). This is the final fix for the remaining issue in #1437 Signed-off-by: felix commit def95ad449f3cb6badfdddca33f07950e86e8ed0 Merge: 71edbb5b f2cc9230 Author: felix Date: Sun Apr 29 00:09:18 2018 +0200 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit 71edbb5b20fee2a388e0e3c690e8c50318d10117 Author: Evan Hanson Date: Sat Apr 28 23:20:49 2018 +0200 Rename -emit/consult-type-file flags to -emit/consult-types-file (with an "s") The file extension is "types", so these flags should use "types" too. Leave aliases in place so we don't break things. Signed-off-by: felix commit f2cc9230c6920814d0a4fb6854ec9e56ba578b01 Author: Evan Hanson Date: Sat Apr 28 23:01:59 2018 +0200 Include identifiers from "chicken.foreign" in modules.db We need to load chicken-ffi-syntax in chicken-install so that the `##sys#chicken-ffi-macro-environment' list has been populated before `update-db' is run. Also, skip "main" (the module that wraps chicken-install.scm) and add some more detailed messaging when "-verbose" is used with "-update-db". Signed-off-by: Peter Bex commit 0bc75263a0f69b6a661d2a1a91deaea06aee3a90 Author: Evan Hanson Date: Sat Apr 28 22:52:13 2018 +0200 Add `current-module' helper macro to "chicken.module" This special form returns the name of the module currently being compiled (or evaluated) as a symbol. Signed-off-by: Peter Bex commit a19e1a416eec38a9e63167192dfdd9399dd8b263 Author: Kristian Lein-Mathisen Date: Sat Apr 28 17:58:27 2018 +0200 chicken-install: Fix log output order The log message running: /tmp/bin/csi5 -s /tmp//tests/run.scm now appears before the actual tests run. Signed-off-by: Evan Hanson commit 7f4200526af79d47fa84738bb4b0e712767a14ac Author: Peter Bex Date: Fri Apr 27 13:15:08 2018 +0200 Speed up compiled module registration by avoid unnecessary work The merge-se calls are still of quadratic complexity, but we can avoid doing a lot of the work when there are no macros exported by a module, since we do not need to patch up any syntax environments. Also avoid consing up a full list if all syntax environments are empty; we can just use that one list. Signed-off-by: felix commit 1d03b9998379290385123a9b5144631ebcf89df7 Author: Evan Hanson Date: Sat Apr 28 11:25:42 2018 +0200 Make sure source filename argument precedes CHICKEN_OPTIONS The source filename argument is determined positionally (it must be the first argument), so it must be left in place when the contents of the CHICKEN_OPTIONS variable are added to the argument list. Signed-off-by: felix commit 1527e04682ef4d2b182151ac35a70e032875bdc6 Author: Evan Hanson Date: Sat Apr 28 10:41:48 2018 +0200 Fix lambda info strings for get, put!, list-ref and the c[ad]r procedures Now that `set!' preserves lambda info, we can get rid of the explicit info strings in the `getter-with-setter' calls for these procedures. Signed-off-by: felix commit 57ff6e51f8fc9464a7bb8dbb88e8396cb36aaee8 Author: Evan Hanson Date: Fri Apr 27 12:10:53 2018 +0200 Track all potential values for use when generating assigned global lambda infos This changes the "potential-value" item in the analysis database from a single value to a list of values, so that all assignments to a global can be tracked and used when generating lambda info. Previously, only the last assignment would be remembered, with any previously-encountered potential value being clobbered. Also, print a symbol's potential values even when a variable's true value is unknown when printing the analysis database, and print them last (after "refs", "css", and so on). Fixes #1363. Signed-off-by: felix commit 8b8bb18a6ebfef477935356bdf73c6eb2c3f0435 Author: Peter Bex Date: Fri Apr 27 21:11:21 2018 +0200 Fix import-library-hook in eval-modules so it won't call #f When used in a statically compiled program, the '##sys#import property will be missing from the module if it isn't linked into the program. We were calling the procedure value on the '##sys#import property, instead of checking whether it is set. Found during investigation of #1437 Signed-off-by: felix commit aab97e18452b8feb970a91d18b2e758b113cddcc Merge: f06dc574 a94d721e Author: felix Date: Fri Apr 27 21:18:37 2018 +0200 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit f06dc5746cf4b0d15be21a03ccd105206f2589af Author: Evan Hanson Date: Fri Apr 27 21:00:41 2018 +0200 Slightly nicer formatting of generated foreign-lambda* code This puts each string in a foreign-lambda* and foreign-primitive body on its own line (rather than all in one big long line), making it easier to track down errors produced by the C compiler. Closes #1387. Thanks to LemonBoy for the patch. Signed-off-by: felix commit a94d721eae96a652046a07544fe5eccb12fe570d Author: Kristian Lein-Mathisen Date: Thu Apr 26 16:52:59 2018 +0200 Make manpages match program names The TODO pretty much says it all. With PROGRAM_SUFFIX=5, now the man pages now become chicken5, csi5 etc. Signed-off-by: Evan Hanson Signed-off-by: Kooda commit ef496e36412921888a62f9e8da919fa94626dab9 Author: felix Date: Thu Apr 26 18:57:27 2018 +0200 removed duplicate variable definition commit ee6b46ab393647c654c325101784d42231941cbf Author: Evan Hanson Date: Thu Apr 26 13:56:29 2018 +0200 Use internal form for "(the ...)" in expansion of `parameterize' Because `the' now lives in the chicken.type module, we need to use the internal version of the form within `parameterize' so that users aren't confusingly told they need to import chicken.type without having used any values from that module. Signed-off-by: felix commit 097053f245df5d05b9526a016021d91a4b067d31 Author: Peter Bex Date: Thu Apr 26 13:20:15 2018 +0200 Do not walk iexps in ##sys#register-compiled-module. The iexps is always an alist of symbol->symbol mappings (see the comments in the module record type definition), which means it never contains syntax transformers. Signed-off-by: felix commit 55b3e0a010ad9d3241825e25c7bfdb039885acb6 Author: Peter Bex Date: Thu Apr 26 12:59:31 2018 +0200 Add clarifying comments to register-compiled-module commit ed979783046e687ccbbdf612a84166150667c777 Author: Evan Hanson Date: Tue Apr 10 19:51:58 2018 +1200 Make result of empty "else" clause undefined in `cond' and `case' forms Rather than resulting in a compiler error ("unbound variable: else"), make empty "else" clauses in these forms behave like they do in cond-expand and return `(##core#undefined)'. Signed-off-by: Kooda commit 7b59dcc9f161cfcbe08aea020af9ab1f362a0266 Author: Peter Bex Date: Sat Apr 7 21:46:40 2018 +0200 Add removal of interrupts-enabled to NEWS commit 2a34013f6cb47b0f09c6a714fb9d44e3e3eeaf72 Author: felix Date: Fri Mar 23 12:22:19 2018 +0100 drop "interrupts-enabled" declaration specifier, as it is redundant Signed-off-by: Peter Bex commit d41d0c8dfc7e427239b7a6fc4cf926bf520995c8 Author: Evan Hanson Date: Thu Mar 22 18:19:19 2018 +1300 Drop `require-extension-for-syntax' Signed-off-by: Peter Bex commit 85e5585ed14c8c952eda15ab60c05887d38d00c1 Merge: 5d89b60a ec01205f Author: felix Date: Thu Mar 22 21:54:42 2018 +0100 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit 5d89b60a5b6952d0f951d965555b7ad7cc0554ad Author: felix Date: Thu Mar 22 21:53:45 2018 +0100 csi.scm: +product+ wasn't used and the banner incomplete commit ec01205fe73e0e2a7782a3ef2a1de2011d46cf8c Author: Peter Bex Date: Sun Mar 18 15:01:00 2018 +0100 Remove ##core#aliased marking This is no longer needed, as all lookups are done either through the syntax environment or via fully qualified symbols; there are no more unqualified global symbols around. This also brings us closer towards fixing #1131 Signed-off-by: Evan Hanson commit 05f341e07a179ea95d891e5c55b2fe3d0dbe1ffe Author: Evan Hanson Date: Wed Mar 14 17:53:00 2018 +1300 Print #!-style symbols verbatim, without pipes These symbols are readable, so should be printed as-is by `##sys#print' just like #:keywords or the #!eof token. This has the side effect of making some lambda-infos look nicer in interpreted code, since the DSSSL indicators ("#!optional" et al.) will print verbatim rather than being enclosed by pipes, e.g. "(foo #!key x)" rather than "(foo |#!key| x)". Symbols that start with #% are no longer readable unquoted. Signed-off-by: Peter Bex commit c3b84891ce083f91fe6e46285324b15d100daa7a Author: Evan Hanson Date: Tue Feb 27 22:19:26 2018 +1300 Adjust `build-platform' and `software-version' values for Cygwin and MinGW This changes the platform reporting for Cygwin and MinGW as follows: (build-platform) ; => clang, gnu, or unknown (was cygwin/mingw32) (software-version) ; => cygwin or mingw32 (was unknown on both) These differences are intended to reflect the fact that Cygwin can build software with either the GNU compiler toolchain or Clang (and Mingw presumably too), and that the runtime platform is known to be Cygwin or Mingw. Signed-off-by: Peter Bex commit 6653dce1dcbc7e08a001b25b439368829f60b59e Author: Peter Bex Date: Sun Mar 18 17:55:21 2018 +0100 If cache dir does not exist, don't bail out with an error commit c723f3cba161b13658e1c0b22c5fbe418b0cd349 Author: felix Date: Thu Mar 15 18:31:09 2018 +0100 Document -cached option in manual pages Signed-off-by: Peter Bex commit d33b1f4634f9d316d729917d1077d3a3802f4fe7 Author: felix Date: Thu Mar 15 12:52:54 2018 +0100 chicken-install: -cached installs from cache only Signed-off-by: Peter Bex commit 16d7e81a1ce457a19d3c59c84e1882a87531831b Author: felix Date: Thu Mar 15 12:52:28 2018 +0100 chicken-status: -cached shows eggs currently in cache Signed-off-by: Peter Bex commit a8c7da30a7d7863be5cd0c8a5706a6b44153dd7f Author: felix Date: Thu Mar 15 12:51:32 2018 +0100 moved egg-file and version-file information into egg-environment.scm Signed-off-by: Peter Bex commit 9a5b457e9ebde1ef0d5938d1f1412d8ffde435c6 Author: Evan Hanson Date: Wed Mar 14 17:51:50 2018 +1300 Use "rest" as the rest argument variable name in DSSSL procedures This just changes the variable name used for rest arguments in DSSSL procedures from "tmp" to "rest", which is ever-so-slightly more intuitive when inspecting the procedure's resulting lambda-info. Signed-off-by: Peter Bex commit b9c92d11d8fe5dc1a2ec34df7417a30c6bd8cdb5 Author: Evan Hanson Date: Wed Mar 14 17:51:28 2018 +1300 Strip gensym noise from lambda-infos This gives a slightly nicer user experience by preserving the in-source names given to a procedure's arguments in its lambda-info. Signed-off-by: Peter Bex commit 571d33e252c845bf22cd208fd563c9bae5045f7c Author: Evan Hanson Date: Wed Mar 14 18:53:48 2018 +1300 Remove primitive aliasing Now that all built-in values are namespaced rather than marked as "##core#primitive" and aliased with a "#%" prefix, we can drop all special handling for primitive variable marks. Signed-off-by: Peter Bex commit b0361acaa02494833343f49ad0b9135871d8336c Author: Evan Hanson Date: Wed Mar 14 18:53:33 2018 +1300 Properly namespace srfi-6 module value exports Because they were not pairs, the items in the srfi-6 module's value exports list were being marked with "##sys#primitive-alias" rather than rewritten to their namespaced counterparts. This patch makes the srfi-6 module's exports list a map of namespaced values as should have been done in 6d1262c1. Signed-off-by: Peter Bex commit 96292d22632f455b34e9a12e61c9b282adbb1566 Author: Evan Hanson Date: Tue Mar 13 06:42:41 2018 +1300 Move `sleep' to "chicken.base" Signed-off-by: Peter Bex commit b4dcbe354a9100cd7d1e18ff0faf075b091ee7e1 Author: Peter Bex Date: Mon Mar 12 17:11:22 2018 +0100 Update bootstrap script to use 5.0.0pre6 commit 91e5c146dcd3ad8b5d5aa7151eaf10af265ac2b5 Author: Peter Bex Date: Sun Mar 11 14:42:01 2018 +0100 Remove the "chicken" module Any remaining uses of it have now been removed as well. Signed-off-by: Evan Hanson commit ca9b0ec0192a174c7582396afaec81c2fc831b50 Author: Peter Bex Date: Sat Feb 24 11:16:55 2018 +0100 Do not strip syntax when handling let-syntax This is not necessary and may (may!) break things. It's asking for trouble, though I haven't managed to build a test case where this makes a difference yet. Signed-off-by: Evan Hanson commit ed47df6be6550665506cf775ad6da6a6d4d67901 Author: Peter Bex Date: Sun Mar 11 19:13:57 2018 +0100 Move "eval" from r4rs to r5rs Signed-off-by: Evan Hanson commit 04ac34aba2cb6580f28c9162860373a57a2c31f1 Author: felix Date: Sun Mar 11 21:39:50 2018 +0100 Remove obsolete feature identifiers Signed-off-by: Evan Hanson commit 509c913d475d405151f4121195af7e565274108d Author: Peter Bex Date: Sun Mar 11 13:31:45 2018 +0100 Remove posix.import.scm from file.scm dependency list commit 317aa19f7ee8c3d0720142ad2858d1dd7baeda83 Author: Evan Hanson Date: Sun Mar 11 13:53:04 2018 +1300 A few chicken.file and chicken.file.posix module changes Move the following procedures into the "chicken.file.posix" module: create-fifo create-symbolic-link read-symbolic-link file-type block-device? character-device? directory? regular-file? socket? fifo? symbolic-link? Introduce a local version of `symbolic-link?' in file.scm and subsequently drop the file unit's dependency on posix. Replace all use of `directory?' with `directory-exists?' throughout the source tree. Rename `file-{copy,move}' to `{copy,move}-file' for consistency with the the other file management procedures in the "chicken.file" module. Add a "clobber" argument to `rename-file' and make it avoid overwriting files by default, again for consistency. Check the "clobber" flag before hitting the filesystem when validating arguments to `{copy,move,rename}-file', since the second test is not necessary when "clobber" is true. Standardise the parameter names and error messages across these three procedures. Rename the permission-related procedures in "chicken.file" from `file-{read,write,execute}-access?' to `file-{read,writ,execut}able?'. Use C_c_string() instead of of C_data_pointer() when handling c-string arguments in the file and posix units. Signed-off-by: Peter Bex commit 50047f29b27827e0ffb095b3e75c115b9487c959 Author: Evan Hanson Date: Wed Mar 7 07:36:37 2018 +1300 Remove eval-modules.c on "make spotless" Signed-off-by: felix commit 039fedf4f52eb96e5adef960ea8e33796b02612e Author: Evan Hanson Date: Tue Mar 6 17:26:42 2018 +1300 Revert eval-modules changes so unit isn't included in dynamic libchicken This fixes commits 4f39a4d0 and d35a74ce, which erroneously included the eval-modules unit in the dynamic library (i.e. libchicken.so) as well as the static one (libchicken.a). The eval-modules-static.o artifact *should* be included in the list of LIBCHICKEN_STATIC_OBJECTS, but not in LIBCHICKEN_SCHEME_OBJECTS_1 since that will also put it in LIBCHICKEN_SHARED_OBJECTS where it doesn't belong (eval-modules is for static compilation only). Signed-off-by: felix commit d35a74ced9b6fd77d3f988abb52eee9e05eeabeb Author: Evan Hanson Date: Mon Feb 19 22:09:03 2018 +1300 Drop redundant eval-modules-static.o dependency for libchicken in rules.make commit c75bb19f030581480f2ae4912f708415592ca09d Author: Peter Bex Date: Sat Feb 24 11:21:39 2018 +0100 Drop renaming code that was never possibly being used This was changed a while ago, and it turns out that the "fix" was actually disabling some code because assq will return a pair, not a symbol, so the symbol? check would always fail. The code in the else branch that would always trigger is duplicated in the main cond's else branch, so we can drop the entire assq cond clause. Signed-off-by: Evan Hanson commit e213ec8a5e8faa5fb1b1caffd5d2908fd14e7197 Author: Peter Bex Date: Sun Feb 25 11:53:13 2018 +0100 Move remaining macros from "chicken" into other modules or drop them. - Removed eval-when, select and ensure. Only "select" was really being used by core, in a handful of places in the posix modules which is trivially replaced by a "cond". These macros will be moved to the miscmacros egg. - Moved define-for-syntax and {let,define}-compiler-syntax into chicken.syntax - Moved time into chicken.time - Moved assert into chicken.base Signed-off-by: Evan Hanson commit 115b94abed53236d900996440fb3e6506ee7e1c8 Author: Peter Bex Date: Sat Feb 24 20:23:52 2018 +0100 Remove final OBSOLETE setslot entries for string ports commit 18f8904c6b69af2f36498c3ef8f9db88e59d7644 Author: Peter Bex Date: Sat Feb 24 16:58:35 2018 +0100 Update bootstrap script to use 5.0.0pre5 commit 2ce5fc2048c24e16223c8f41204275ac8649c7de Author: Peter Bex Date: Sat Feb 24 16:04:48 2018 +0100 Disable some tests (for now...) which don't work on Windows commit d9d52f099a7424f5dc126c8cbd52a232633a1e7b Author: Evan Hanson Date: Tue Feb 20 17:46:50 2018 +1300 Move `file-{read,write,execute}-access?' to chicken.file Signed-off-by: Peter Bex commit 33eedb468111336a33fef16408c1b17a3d1e9d70 Author: Evan Hanson Date: Mon Feb 19 21:23:04 2018 +1300 Move `directory' to chicken.file Signed-off-by: Peter Bex commit 2943b7a51f9dfd90085b7858b9d0ec22a05e7ca7 Author: Evan Hanson Date: Sat Feb 17 17:08:52 2018 +1300 Move `file-exists?' and `directory-exists?' from toplevel to chicken.file This requires using the low-level variant of `file-exists?' from library.scm in a few places, and adding a local version to eval.scm to avoid introducing a dependency on the "file" unit. Signed-off-by: Peter Bex commit 979f1a38897a9ec6c662ee02e331f4c16097457a Author: Evan Hanson Date: Sat Feb 17 17:08:52 2018 +1300 Move `errno' from toplevel to chicken.errno Signed-off-by: Peter Bex commit 8aef6d9ac3a436126e76097d1d2633118147095b Author: Evan Hanson Date: Sat Feb 17 17:08:51 2018 +1300 Move remaining parameters from toplevel to chicken.base Signed-off-by: Peter Bex commit 4f39a4d06f496bf58cc470e6c2a008c3045843d4 Author: Evan Hanson Date: Tue Feb 13 18:59:56 2018 +1300 Add eval-modules to the libchicken object list commit 381f641010b7fbfec53b9932dcd87c8bd5f86c0e Author: Evan Hanson Date: Wed Feb 14 12:14:29 2018 +1300 Rename C_C_fileno to C_port_fileno and move to chicken.h commit 209e3b6f9e29fe18fb89cb544adc5bd00a0906fd Author: Peter Bex Date: Sun Feb 11 14:34:05 2018 +0100 Move terminal port procedures from posix to chicken.port Signed-off-by: Evan Hanson commit c9fc1d39e74ec463258ab2cd1f14844fa46e59a6 Author: Peter Bex Date: Sun Feb 11 14:20:53 2018 +0100 Import chicken module in eval.scm to get string ports This can be removed after bootstrapping commit 55b2931bce35dc4e1cd2b9d131659b8c322d1046 Author: Evan Hanson Date: Sun Feb 11 13:39:55 2018 +1300 Remove duplicate `C_mpointer' and `C_mpointer_or_false' declarations commit 6d1262c1c7990af73ddbf79c4c1b60d913b31642 Author: Evan Hanson Date: Fri Jan 26 08:58:16 2018 +1300 Move port procedures out of toplevel and drop most "chicken" imports Move the following procedures into the "chicken.base" library: port? port-closed? input-port-open? output-port-open? get-output-string open-input-string open-output-string flush-output Move the following procedures into the "chicken.port" library: port-name port-position set-port-name! Go through all import expressions and remove "chicken", where possible. Where not possible, move the "chicken" import into its own expression with all of the identifiers that it's still necessary to import clearly indicated. Import "chicken.syntax" in chicken-syntax.scm and use the imported identifier names directly, rather than manually including the module prefix. This is possible now that we're bootstrapping with a version of CHICKEN that itself includes a "chicken.syntax" module. Fix the c-platform rewrite for `port?', which was not actually in the (scheme) module and now lives in "chicken.base" anyway. Signed-off-by: Peter Bex commit bad303cc928e584cb709d34aef93f3af13273b73 Author: Peter Bex Date: Sun Jan 21 13:27:22 2018 +0100 Move "sleep" into chicken.base and add "process-sleep" to chicken.process Signed-off-by: Peter Bex commit 71d2cf87f101bd10411a4bd0dd20eeac5dc484eb Author: Peter Bex Date: Sun Jan 21 14:14:09 2018 +0100 Move "system" into chicken.process (posix.scm) We already have system* in there, and it exports both, so it only makes sense to move the definition from library.scm here too. Signed-off-by: Evan Hanson commit 811a6a0d3cee9a3cc9747871e6fe283073d67dd7 Author: Evan Hanson Date: Thu Jan 18 12:12:02 2018 +1300 Update copyright year to 2018 Also, put the command used to update the copyright dates into a script so we can reuse it again next year. commit 7bd90e5d67101fdc96bddea077bc66b80fb744ee Author: Evan Hanson Date: Tue Jan 16 23:02:01 2018 +1300 Simplify `find-module/import-library' slightly We can use `or' to handle the situation where the module wasn't found, rather than `unless' and `set!'. commit 81e400fc2516b64d2c768fcd5e97772ecc8e5327 Author: Evan Hanson Date: Tue Jan 16 23:01:57 2018 +1300 Make the "eval-modules" unit depend on "modules" The "eval-modules" unit needs to load the "modules" unit, since the `##sys#import-library-hook' procedure must be defined before it can be redefined in eval-modules.scm. So, we add a dependency on "eval" (since "eval" loads "modules", but must itself be loaded first). Also, drop the "eval" dependency from "modules", since "modules" must be loaded before "eval", and add a comment explaining why. This is similar to the relationship between "expand" and "modules", which already has a comment to explain it. Make "modules" use the "chicken-syntax" unit, since "modules" needs the various ##sys#-prefixed macro environments to be defined before it can refer to them when registering core modules. "chicken-syntax" will then load "expand" and "internal" as necessary. commit f001a70f217b8a92578675fb878bb1d1d9d64bca Author: felix Date: Mon Jan 8 22:25:31 2018 +0100 Allow "import" in evaluated code in static executables This patch: - enables emission of module registration code in standalone executables, - retains module registration code in statically compiled extensions, - provides a new core unit ("eval-modules.scm") that is used by static standalone executables to allow importing core modules without loading external import libraries, - provides an internal hook for locating import library information to enable ther latter, - incorporates changes by Peter Bex to lazily initialize the initial evaluation environment to (see #1437), - adds the csc alias "-N" for "-no-module-registration", - provides a slightly more efficient variant of "merge-se" in modules.scm and - adds a test for using "import" in evaluated code in static binaries Signed-off-by: Evan Hanson commit 22d19827878cd12a5ab600d523abf8fede673a73 Author: Kooda Date: Mon Jan 15 13:24:31 2018 +0100 Make chicken-install work when the egg file is inside a chicken/ subdirectory. Signed-off-by: felix commit 52db781fe25566b6b3efc938363a89de7c564ee9 Author: Evan Hanson Date: Sat Jan 6 17:12:27 2018 +1300 Make `glob' skip nonexistent/unreadable directories Signed-off-by: Kooda commit ff1cf21c790127839c610f802ff078b8097cc2b4 Author: felix Date: Mon Jan 8 22:03:31 2018 +0100 Disable finalizer-test for toplevel literals This test fails on a regular basis for not directly related reasons, depending on toplevel allocation patterns and GC-frequency. Since the situation is relatively obscure (finailzer on code literal in evaluated code only) and since faiilures are frequently triggered by changes that do not directly refer to this, I have temporarily disabled the test until we settle on a desired semantics or a complete and final fix. commit f0a973dcb4acc47d8d64393f9e21de9b64a2f048 Author: Peter Bex Date: Sun Jan 7 21:03:04 2018 +0100 Remove argc+argv from chicken module, it's now in chicken.process-context commit c04154ee38eca82d8489ae0579c9fede1c040f9c Author: Peter Bex Date: Sun Jan 7 20:46:47 2018 +0100 Fix build on Cygwin by importing , needed for O_RDONLY Including it only on __linux__ and C_XXXBSD is one of the weirdest conditions, and will indeed hide bugs like this on Cygwin and other less mainstream platforms. commit 49311bb4eb067197f9ba24a6ecf000d23524f20a Author: Peter Bex Date: Sun Jan 7 20:13:31 2018 +0100 Clean up some unnecessary "chicken" imports commit 4fbb2220bc9897e534a90b59796ab6ae4df68019 Author: Evan Hanson Date: Wed Dec 27 19:48:56 2017 +1300 Split process-context library into "standard" and "posix" components This moves the high-level procedures of the chicken.process-context module out of posix.scm and into library.scm, to avoid programs having to load the posix unit for things like `get-environment-variable'. The procedures that are left in the "posix" component are those that deal with file descriptors, user/group information, and chroot(2). To allow the setter for `current-directory' to continue to be used with file descriptor arguments, a hook for directory changes is introduced. By default, this hook invokes the standard `change-directory' procedure, and when the posix unit is loaded it's extended to support fchdir(2). Also, evict the procedures in chicken.process-context from the bare "chicken" module, in preparation for its removal. Signed-off-by: Peter Bex commit b8473700db5d3270bbc2b44719fa82bf413bdb26 Author: Evan Hanson Date: Sat Jan 6 14:49:09 2018 +1300 Use +egg-info-extension+ constant when building pathname in `matching-installed-files' Also, remove unused `setup-file-extension' constant in library.scm. commit c596c8f9e3f42d85e1a3a0ac7a7f50e23a306f44 Merge: 1d86781b 86e90dc7 Author: felix Date: Thu Jan 4 12:22:19 2018 +0100 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit 1d86781b3c9c02c6f0bc0752516642f9d93a5ae3 Author: Evan Hanson Date: Wed Jan 3 17:58:00 2018 +1300 Minor changes to egg cache dir handling - Avoid error on "chicken-install -purge" when cache dir doesn't exist. - Don't cache builds in "/tmp" or "/Temp". - Use ".chicken-install/cache" path for egg cache. - Create cache dir recursively (i.e. "mkdir -p") in case parent directories don't exist. - Drop unnecessary call to `file-exists?' in `probe-dir' (testing the path with `directory?' is enough). - Drop redundant call to `create-directory' in `fetch-egg' (the cache dir is already created in the `fetch' helper procedure). Signed-off-by: felix commit 86e90dc779944b35499d758bbf664a3c4a59d108 Author: Evan Hanson Date: Thu Jan 4 08:27:13 2018 +1300 Override user-provided PREFIX/CHICKEN args as necessary in bootstrap.sh commit dbf43b5f1c75922fe4414f07d4f1289d97bafba6 Author: Evan Hanson Date: Tue Jan 2 17:16:49 2018 +1300 Reorder tar(1) flags in bootstrap.sh for portability commit 74b79c71ba105f61c7974f595d79689a7818c86b Author: felix Date: Sat Dec 30 14:15:03 2017 +0100 Add script to automate bootstrapping and some instructions in the README Signed-off-by: Evan Hanson commit df93ff11474ec63f4b8b0cd49b7842bef5cdc894 Author: Peter Bex Date: Mon Jan 1 17:15:12 2018 +0100 Fix a segfault when profiling CHICKEN itself The trace buffer will be filled during initialization, before the current thread symbol is set up yet. Then, when we look up the thread identifier, this may fail. Instead, we'll store #f as the identifier in such cases. commit baf6363e535b26a67d0b9a7d71a93d8deb5de8c6 Merge: 24325e3a e3141c72 Author: felix Date: Fri Dec 29 21:23:10 2017 +0100 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit e3141c722e70686acedbd5b20ac1cafef18eb2ee Author: Peter Bex Date: Fri Dec 29 20:58:38 2017 +0100 Remove data-structures.import.so from list of installed files in README commit 24325e3a6e1e829e9e9be8d22e28d1711a796bd2 Author: Peter Bex Date: Sun Dec 17 14:40:36 2017 +0100 Include definitions of default modules into modules.scm for "eval" We also inject (eval '(import scheme chicken.base chicken.syntax)) into program preludes through batch-driver.scm, so that the initial eval environment is populated (else it's initially completely empty). This fixes several tests which assume that eval environments are nonempty by default. This is a (hopefully) temporary workaround, as including just these imports is quite specific and only really works for the default situation. Statically linked programs cannot eval arbitrary imports right now. Because it's meant to be temporary, we still build and install the chicken.base.import.so and chicken.syntax.import.so compiled import libraries even though they'll never be used as the module definitions are now built into modules.scm. Signed-off-by: felix commit 4fca04e5e9c87134db79b87d622dd2a7b75ae959 Author: Peter Bex Date: Thu Dec 14 22:16:30 2017 +0100 Drop weird macro workarounds in favour of chicken.internal.syntax Instead of jumping through hoops to avoid referring to syntactic exports from modules we've just defined (but without macros) in library.scm, we just import all macros from chicken.internal.syntax. Signed-off-by: felix commit 91903231777f8d3bbb5e6a9c16d96c780be2f5ef Author: Peter Bex Date: Thu Dec 14 21:51:30 2017 +0100 Remove obsolete/deprecated stuff This cleans up the mess of variables from "scheme" and "chicken.base" that were aliased at toplevel, as there should be nothing relying on that anymore. Also add some explicit (import scheme) to non-module files, because we're using -explicit-use to compile most files, this is required even though these are not inside a module. Finally, remove support for direct lambdas in define-syntax or let-syntax, in favour of requiring wrapped transformer objects as created by [ei]r-macro-transformer and syntax-rules. Signed-off-by: felix commit 9eb48ff1e8aba8599a7f449f290a07f178004b37 Author: Peter Bex Date: Thu Dec 21 21:11:46 2017 +0100 Move (chicken data-structures) procedures into (chicken base) Signed-off-by: Kooda commit 57ec6d2b4dc6110db0b24f48cae2cfa0e29fa48a Author: Evan Hanson Date: Tue Dec 26 17:47:09 2017 +1300 Add missing imports to makedist.scm script commit 4258fea8d7a62650b23c58d80caec4ef7a2d7afa Author: Evan Hanson Date: Tue Dec 26 17:43:28 2017 +1300 Fix MSYS tests by using Windows-style path separators in runtests.sh When executing the runtests.sh script on Windows (in other words, when testing on MSYS), we need to use ";" as the path component separator for the CHICKEN_REPOSITORY_PATH variable. We use the presence of the MSYSTEM environment variable to detect this situation, as is done when setting the TEST_DIR variable. commit 04c1ad1bc4539bc183484d9cbb7c1580862d2eb7 Author: Evan Hanson Date: Tue Dec 26 17:42:31 2017 +1300 Fix linking tests on Windows We can't pass "-ignore-repository" to csc in the linking tests, since they include a test to ensure that static compilation will use files from the CHICKEN_REPOSITORY_PATH. Also, simplify the commands used to invoke csc in the test scripts by moving all common options into a single variable, and rename the "compile2" variable to "compile_r" (for repository) to indicate the absence of the "-ignore-repository" flag. commit b1466b0c973df9a57ff9a372cc181a5b15f294b5 Author: Evan Hanson Date: Tue Dec 26 13:28:19 2017 +1300 Fix csc tests on Windows Commit c8b0c723 introduced a "-compiler" switch to the csc commands in csc-tests.scm, but its value needs to be fixed-up based on the platform so that the correct directory separator is used on Windows (as was already done for csc). commit 61bc2c11488c512294eba54ecc93b20b3f42b7ce Author: felix Date: Mon Dec 25 15:41:36 2017 +0100 Use C_text for strings in C_trace invocations to silence C++ mode warnings commit 30c894a3e7d925d56f0f1c6e9bc878f3e724e602 Author: Peter Bex Date: Thu Dec 14 21:04:46 2017 +0100 r4rstest.out was renamed to r4rstest.expected; reflect this in distribution manifest commit 4834a707060846541f32af2369dc9afd8710d5f4 Author: Peter Bex Date: Thu Dec 14 20:46:44 2017 +0100 Add missing "scrutiny-2.expected" test file to distribution manifest commit b68357edc8afe63a7fba6b82a06d5451bf16ae62 Merge: 6a0ac898 5b532bb0 Author: felix Date: Thu Dec 14 10:35:03 2017 +0100 Merge branch 'master' of ssh://call-cc.org/usr/local/repos/chicken-core commit 6a0ac898e44787f7ecbde865ef7b185ca2fcd357 Author: Peter Bex Date: Wed Dec 13 23:23:44 2017 +0100 Add hand-written (chicken syntax) module. This fixes bootstrapping issues because we inject (import chicken.syntax) into each and every toplevel, which means this fails hard when that import library is missing. It also implements the final two identifiers needed for the chicken.syntax module to be finalized as per the library reorganisation. Signed-off-by: felix commit 5b532bb02e7290c82cbad6546107239ee6cf5a61 Author: Peter Bex Date: Wed Dec 13 21:48:51 2017 +0100 irregex uses a fixnum operator in a macro; require chicken.fixnum for syntax commit d8766ad941d2bc636d9c9b539d6dfefa65ac01a5 Author: Peter Bex Date: Wed Dec 13 21:39:45 2017 +0100 Referring to modules without "chicken." prefix is no longer supported commit 8e7d78ac17bda0b216c1de5a0d6755d571ec481a Author: Kooda Date: Wed Dec 13 16:22:53 2017 +0100 Dust off an #undef commit 54318e2e88839770e306c38d0ed725620e5af209 Merge: 8219c6ab b443ae38 Author: Kooda Date: Wed Dec 13 16:01:50 2017 +0100 Merge branch 'randomness' commit 8219c6ab02ec77d3e439d92ed02c2b228fb37f12 Author: LemonBoy Date: Sun Nov 12 19:04:21 2017 +0100 Make and-let* behave as specified in SRFI-2 When the body is missing the construction should return the last expression that's been evaluated or the last variable that's been bound. If there are no bindings and no body then #t is returned, like (and) does. Make sure the non-braced expressions refer to a variable and throw a syntax error otherwise. Signed-off-by: Peter Bex Signed-off-by: felix commit 139deae0eb6525f10cdd904bc9641dd254e945f5 Author: Peter Bex Date: Fri Nov 24 22:43:41 2017 +0100 Make default imports consistent between interpreter and compiler This moves default-(syntax-)imports are moved from c-platform.scm into internal.scm so that it can be found by csi.scm as well. The imports are changed to scheme, chicken.base and chicken.syntax in order to prepare for eventual removal of the "chicken" module. Tests are changed to import the needed modules now that "chicken" isn't in the default modules anymore. Signed-off-by: felix commit b443ae384c5f853222427b68a3f261a2768ec07a Author: Kooda Date: Tue Dec 12 19:35:06 2017 +0100 Force the ordering of calls to random_word in random64. Thanks to Riastradh for the help. commit 8316d45519fc2000236d3b23aefcdf52e31558b4 Author: Kooda Date: Tue Dec 12 18:35:02 2017 +0100 Fix a typo in an ifdef that messed up C_a_i_random_real commit 3d1ff2d652d169a31ccff56bfd516e5a198d47de Merge: b9189699 324448e6 Author: Peter Bex Date: Mon Dec 11 12:05:31 2017 +0100 Merge branch 'chicken-5' into master commit 324448e6edcb04015a39023d1c365b200392e4a5 Author: Peter Bex Date: Sun Dec 10 13:00:36 2017 +0100 Add some missing error checks to the profiler tests under Windows commit 9171d5fea8bac02833f6c103c6b7533574f31fa6 Author: felix Date: Fri Dec 8 20:27:46 2017 +0100 Build egg-tools even when doing a static build Also, avoid building dynamic extensions in this mode when compiling eggs. Signed-off-by: Peter Bex commit 7d892447f01de534a54df5f2eb17ef9e0e75819e Author: felix Date: Wed Dec 6 23:49:07 2017 +0100 added -libdir option to csc Also modifies calls to csc in test scripts to use this option so that running "make check" is independent of the installation directory. Signed-off-by: Peter Bex commit ab66b6f5b887b5d1d9a1af8ad2aadb07fc229da1 Author: felix Date: Thu Dec 7 22:46:42 2017 +0100 drop unused make def commit 8927603fcc9ed7efa2257ab3553f6549377c95ce Author: Evan Hanson Date: Thu Dec 7 16:45:26 2017 +1300 Fix man page uninstallation The uninstallation command for man pages was missing a "1" file extension, so we were previously uninstalling just ".../man1/chicken", for example, rather than ".../man1/chicken.1". commit 37f836993dd4a968e5001b876ce73afc93c52271 Author: felix Date: Tue Dec 5 13:03:58 2017 +0100 Remove chicken-bug Signed-off-by: Evan Hanson commit ce24df1943fc5d2637f26f42ea5099f98b701c91 Author: Peter Bex Date: Tue Dec 5 19:41:37 2017 +0100 "Consolidate" NEWS file for 4.13.0 commit 03ced0a0a4beccc79b66cee09f4df14d54606bc9 Author: Peter Bex Date: Tue Dec 5 19:43:22 2017 +0100 Bump version to 4.13.0rc1 commit ab21fc5d3f67a2bc1c646d0eab1e17e4bf41daab Merge: 40230757 b9189699 Author: Peter Bex Date: Tue Dec 5 19:42:39 2017 +0100 Merge branch 'master' into prerelease commit b918969951abb22887d4e4ce261ded7dec559318 Author: Peter Bex Date: Tue Dec 5 19:41:37 2017 +0100 "Consolidate" NEWS file for 4.13.0 commit 18cc8c8f3135072e69d2f4603aaed655bed49278 Author: Peter Bex Date: Mon Dec 4 22:31:30 2017 +0100 Move defs of standard Scheme procedures from "eval" unit to library.scm These library.scm definitions are stubs, which get replaced (via set!) when loading the eval unit. This should clear up how things get defined, with lots of comments to clarify what is going on. At least we no longer export standard Scheme identifiers from nonstandard modules. Signed-off-by: Evan Hanson commit 02e243abc86c35e129b7db9cf5f9f184100c88ca Author: Peter Bex Date: Fri Nov 10 21:38:04 2017 +0100 Similar to 118fce and 596332, clean up old state upon fork When fork receives a thunk to run in the child process, call it with a clean, empty continuation rather than keeping any cruft from the parent around. This should allow GC of objects that are no longer necessary and improve memory use somewhat, and perhaps prevent situations like that in #1367 when using processes instead of threads. Signed-off-by: felix commit 4c6f10c182f18df3935b74cc24e2ba203476db89 Author: Peter Bex Date: Sun Nov 12 14:03:33 2017 +0100 Avoid expanding to unbound procedures in FFI macros. These macros call procedures that are defined inside the compiler only. This will result in an "unbound variable" error in DEBUGBUILD CHICKENs, and a segfault(!) in non-DEBUGBUILDs. So, we check to see if the macro expander is running inside the compiler and emit an error if that's not the case. Signed-off-by: felix commit 8df1732407339c42e2a26fc5253b308783037a4c Author: Peter Bex Date: Fri Nov 10 21:38:04 2017 +0100 Similar to 118fce and 596332, clean up old state upon fork When fork receives a thunk to run in the child process, call it with a clean, empty continuation rather than keeping any cruft from the parent around. This should allow GC of objects that are no longer necessary and improve memory use somewhat, and perhaps prevent situations like that in #1367 when using processes instead of threads. Signed-off-by: felix commit 226bfc25d56716b666fdc58b907ed4adf3b1620d Author: Peter Bex Date: Fri Dec 1 21:29:17 2017 +0100 Fix calls to C_reclaim to use the number of saved objects (#1428) When the argvector change was introduced, several C_reclaim calls were incorrectly changed to use the size of the argvector to the C function that would invoke C_reclaim. In many cases we don't save all the arguments, which means "c" would be larger than the size of the temporary stack. The value of "c" gets set to C_restart_c, which will be used in the setjmp trampoline as the size of the buffer to set aside for the re-invoked closure's argvector. Then, we read C_restart_c words from the stack top, which might overshoot the temporary stack bottom, which means we're potentially reading beyond malloced memory. Finally, CHICKEN_initialize would save 2 objects on the temp stack but neglected to set C_restart_c to the correct value. This appeared to work only because CHICKEN_run happened to look at the effective stack size rather than the restart count. Now, we use the restart count and also assert that it's always identical to the stack size. Any mismatch must be due to a bug. This is not an exploitable bug because the copied bytes are inaccessible: they're lying just beyond the highest argument in the argvector, which is inaccessible from Scheme. The worst that can happen is that we try to read from a page that doesn't belong to us and we'll segfault. Signed-off-by: felix commit b8c112aaa95efdca639e7b6462181c2aaca5a553 Merge: 93012bb3 7a03b32c Author: felix Date: Sun Dec 3 00:13:38 2017 +0100 Merge branch 'chicken-5' of ssh://call-cc.org/usr/local/repos/chicken-core into chicken-5 commit 93012bb389d919ee3d575289be1f29d9a5701d8c Author: Peter Bex Date: Fri Dec 1 21:29:17 2017 +0100 Fix calls to C_reclaim to use the number of saved objects (#1428) When the argvector change was introduced, several C_reclaim calls were incorrectly changed to use the size of the argvector to the C function that would invoke C_reclaim. In many cases we don't save all the arguments, which means "c" would be larger than the size of the temporary stack. The value of "c" gets set to C_restart_c, which will be used in the setjmp trampoline as the size of the buffer to set aside for the re-invoked closure's argvector. Then, we read C_restart_c words from the stack top, which might overshoot the temporary stack bottom, which means we're potentially reading beyond malloced memory. Finally, CHICKEN_initialize would save 2 objects on the temp stack but neglected to set C_restart_c to the correct value. This appeared to work only because CHICKEN_run happened to look at the effective stack size rather than the restart count. Now, we use the restart count and also assert that it's always identical to the stack size. Any mismatch must be due to a bug. This is not an exploitable bug because the copied bytes are inaccessible: they're lying just beyond the highest argument in the argvector, which is inaccessible from Scheme. The worst that can happen is that we try to read from a page that doesn't belong to us and we'll segfault. Signed-off-by: felix commit 7a03b32cf8689fe35abdedfc3a6eb55e65927356 Author: Peter Bex Date: Sun Dec 3 00:01:53 2017 +0100 Drop unused 'only' egg clause commit 62d7991d41418cb29809e3e235fe5b50619f8225 Author: Evan Hanson Date: Mon Nov 27 17:15:19 2017 +1300 Generalise result type when scrutiniser merges differently-valued procedures When merging procedures with different result counts, we have to fall back to an "any" result since there's currently no way to express that a procedure may have, for example, zero or one results. We also generalise union types that include a "noreturn" result to the "any" type, since we can't (currently) do anything useful with procedures that are potentially-but-not-certainly noreturn. Fixes #1399. Signed-off-by: Peter Bex commit 5ea816dc541c0cefda7ca3020d8a28399894d003 Author: Evan Hanson Date: Mon Nov 27 17:15:19 2017 +1300 Generalise result type when scrutiniser merges differently-valued procedures When merging procedures with different result counts, we have to fall back to an "any" result since there's currently no way to express that a procedure may have, for example, zero or one results. We also generalise union types that include a "noreturn" result to the "any" type, since we can't (currently) do anything useful with procedures that are potentially-but-not-certainly noreturn. Fixes #1399. Signed-off-by: Peter Bex commit c8b0c723d98012a2c68f5996e29f759af6986ccc Author: Peter Bex Date: Sat Dec 2 15:51:13 2017 +0100 Fix csc-tests so we can run them without installing first Without this change, we'd be running the wrong compiler! commit 15f900e4404e2a4cd7faf9b8073184c0620d7b90 Author: felix Date: Sat Nov 25 16:03:00 2017 +0100 Improve using custom build scripts Refactored common "recursive" egg properties; custom build commands are made executable and are prefixed with the source directory. Also add bindir to the PATH. In build scripts CHICKEN_CC and CHICKEN_CXX are set to point to the required C/C++ compilers. Signed-off-by: Peter Bex commit e01f3b220a9ddc297bca4078742e0795d71debfd Author: felix Date: Thu Nov 23 09:56:28 2017 +0100 typo fix in manual commit 43220148b3dfd24d2d15f07a4de8ba88433f36fb Author: Peter Bex Date: Sun Nov 19 19:55:00 2017 +0100 Move several global identifiers into suitable modules. We move all "exit"-related stuff to (chicken base), force-finalizers to (chicken gc) and return-to-host to (chicken platform). So, we move: - exit - emergency-exit - on-exit - exit-handler - implicit-exit-handler - force-finalizers - return-to-host The reason the "exit" stuff moves to (chicken base) and not (chicken process-context) is because the latter lives in the posix unit, which means we'd have to link in a large unit in programs that just want to exit, which is absurd. Also, exit is not really process _context_ as such, and the cleanup stuff is so "core" that it doesn't belong in posix. Signed-off-by: Evan Hanson commit 1184e6a5ac4a7994be93c415b72b431657d7a877 Author: felix Date: Mon Nov 20 13:19:38 2017 +0100 added clz64 implementation for non-GCC compilers commit 99c6ca8dca4e33c68530ac86cfb53a49f5a19eac Author: felix Date: Sun Nov 19 14:54:07 2017 +0100 Dropped unused compiler-tests-3.scm commit e18379d79abf0b76d88be5fbd45187b6ff500c15 Author: LemonBoy Date: Thu Nov 9 13:29:08 2017 +0100 Fix an error in unicode-range->utf8-pattern The sequence generated for a utf8 character class contained an unintended trailing '(), causing the code to fail when `sre-length-ranges' is called. Reported by Chunyang Xu at CHICKEN-users. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 358334198d5ee507812c686b330fe884bda79848 Author: LemonBoy Date: Thu Nov 9 13:29:08 2017 +0100 Fix an error in unicode-range->utf8-pattern The sequence generated for a utf8 character class contained an unintended trailing '(), causing the code to fail when `sre-length-ranges' is called. Reported by Chunyang Xu at CHICKEN-users. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit a0bb345a4ad94e70e61a5cb9ae0247c809dcc3ad Author: LemonBoy Date: Wed Nov 8 15:56:21 2017 +0100 Correctly parse FFI types wrapped in `const' forms Keep parsing the cdr when calculating the total size of the type. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit c3393980e383a8d46c9b335ad6455a8589e5183d Author: LemonBoy Date: Wed Nov 8 15:36:29 2017 +0100 Correctly parse FFI types wrapped in `const' forms Keep parsing the cdr when calculating the total size of the type. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit a3c4c45e7d7467bd24c089476ff4f7d98e7b638f Author: Evan Hanson Date: Thu Nov 9 18:27:37 2017 +1300 Omit internal modules from modules.db The chicken.internal namespace is "private" and not meant for user code, so avoid suggesting that people import if when they use an identifier that happens to be defined there (e.g. 'hash-table-ref'). Signed-off-by: Peter Bex commit de195f10529fead17b1b3200fa983af5fded652a Author: Evan Hanson Date: Thu Nov 9 18:25:13 2017 +1300 Drop shorthand module aliases These were only added to provide some backwards compatibility while we reorganised the standard libraries. Now that this has been done for most of the core modules (data-structures is still left over), we can drop their aliases and start to use their real names instead. Signed-off-by: Peter Bex commit 3cafafd5f1d65280c56f15e50f9d266c6eb06cb0 Author: Evan Hanson Date: Mon Nov 6 17:43:29 2017 +1300 Drop `read-string' rewrite from c-platform.scm After 25064a3c, the c-platform rewrite for `read-string' would ignore its second argument and use an internal version of the procedure whenever at least one argument was given, leading to potentially unsafe behaviour since the type of that second argument wouldn't be checked (it must be an *open* input port). To fix this, we simply remove the rewrite so the port argument is always checked at runtime. Signed-off-by: Peter Bex commit bed0ad7f2cc7a3c65c4bbe3cf3bf9456a5a33309 Author: felix Date: Fri Nov 10 12:03:48 2017 +0100 random-bytes: invalid use of inline C function commit 7c570b21bc0416539dc2fcd8d1354313c66e3f6e Author: felix Date: Fri Nov 10 12:02:46 2017 +0100 drop unneeded header for OpenBSD commit b1e4632d0367750205bf31a100d9731063328e02 Author: LemonBoy Date: Mon Nov 6 11:14:48 2017 +0100 Move the definition of `_ex_software' The variable is used by ##sys#reset-handler but was defined much later in the file, resulting in a run-time exception when csi is interrupted. Signed-off-by: Evan Hanson Signed-off-by: Mario Domenech Goulart commit f5c0c3cd90fbadd5b22319b9aed61207f3499b9d Author: Peter Bex Date: Tue Oct 31 21:00:39 2017 +0100 Add module hack so library.scm can refer to built-in core macros This is necessary because library.scm is defining some modules, from which it also uses macros. For "scheme" this is possible because it is built-in as a special case but for srfi-12/chicken.condition and chicken.base we can't import them from those libraries themselves. Currently we get by through the "chicken" module which contains secondary exports for all these macros because they used to be available from that module, but the "chicken" module will disappear soonish. This commit is in preparation for the drop of the "chicken" module, which can then be done once we make a prerelease snapshot containing this change We can then add the following import to library.scm: (import (chicken internal syntax)) Signed-off-by: Evan Hanson commit 61e95fb01611cc54dd88760bad24757bbfbea4c5 Author: LemonBoy Date: Wed Nov 8 09:48:52 2017 +0100 Streamline the behaviour of set-procedure-data! Make it return a ##core#undefined value like the other set! procedures. The entry in types.db already has the correct return type. Signed-off-by: felix Signed-off-by: Evan Hanson commit 8941128b973253f9578765bf9a566c1a34bec474 Author: felix Date: Wed Nov 8 16:01:47 2017 +0100 use full length for random bignum, master florz says so, but it doesn't feel right... commit 57b0827f4f5d81788e8de5bf3157403cadb91838 Author: felix Date: Wed Nov 8 15:27:04 2017 +0100 obtain ptr to RtlGenRandom dynamically by loading adavpi32.dll (thanks to TheLemonMan); drop use of random in posixwin.scm commit 42958bc3c9aa8bc6e195ae63ef787d70fec52032 Author: Peter Bex Date: Sat Nov 4 18:40:26 2017 +0100 Fix several C++ compilation issues. - The compiler generates several calls to C functions that accept a "char *" as type, but with string constants. Those must be wrapped in C_text() to shut up these warnings, which get spammed like crazy: "blah.cpp:1147:12: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]" - When compiling a program with -debug-info or -d3, the resulting binary will fail with a segfault due to unresolved symbols, which are caused by name mangling: C_register_debug_info is defined outside an extern "C" { ... } block. - C_header_size returns a C_header, which is a C_uword. This results in another warning from C_u_i_string_equal_p(): "chicken.h:2262:22:warning: comparison between signed and unsigned integer expressions [-Wsign-compare]" Signed-off-by: Evan Hanson commit 5746f0c13a7278a5afecb690cc18df268e229d4e Author: Peter Bex Date: Sat Nov 4 18:40:26 2017 +0100 Fix several C++ compilation issues. - The compiler generates several calls to C functions that accept a "char *" as type, but with string constants. Those must be wrapped in C_text() to shut up these warnings, which get spammed like crazy: "blah.cpp:1147:12: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]" - When compiling a program with -debug-info or -d3, the resulting binary will fail with a segfault due to unresolved symbols, which are caused by name mangling: C_register_debug_info is defined outside an extern "C" { ... } block. - C_header_size returns a C_header, which is a C_uword. This results in another warning from C_u_i_string_equal_p(): "chicken.h:2262:22:warning: comparison between signed and unsigned integer expressions [-Wsign-compare]" Signed-off-by: Evan Hanson commit 87d811181e814502e87c4333a3a53a260c6a6c85 Author: felix Date: Sun Nov 5 11:45:32 2017 +0100 randomize result length for random bignum commit 9aa95d87db87ec9e4b2b936ddccd7c9dc7dc326f Author: felix Date: Sun Nov 5 11:45:11 2017 +0100 latch onto using /dev/urandom if syscall fails once commit fda751c76009c47d4a633dfb35ea5a8277ee0c04 Author: felix Date: Sun Nov 5 01:00:47 2017 +0100 fix wrong type in chicken.h, add urandom fallback when syscall fails Thanks to florz for this suggestion commit c34a4d8eb4984546ad7a9f2cf761a2552334357c Author: felix Date: Sun Nov 5 00:33:45 2017 +0100 use proper type for random_state + size constant commit 3ab72934553755cd54e1a870245137367c500cd8 Author: felix Date: Sun Nov 5 00:03:47 2017 +0100 better random_uniform, uses libsodium/arc4random approach, suggested by Kooda commit 04956ad22a8aaa198368a441d21a26495a0a14bc Author: felix Date: Sat Nov 4 23:47:45 2017 +0100 more random fixes commit 63a64c25e66b0607bc94ab8de48bcf88a2e1149a Author: Evan Hanson Date: Tue Oct 31 21:44:38 2017 +1300 Add bootclean target for removing boot-chicken artifacts Signed-off-by: Peter Bex commit 025d7146646c0dbf80e85dd627a76485e4aa5433 Author: Evan Hanson Date: Tue Oct 31 21:41:14 2017 +1300 Remove the chicken.compiler.chicken import library on 'make clean' Signed-off-by: Peter Bex commit 49dd463979d57d37606b7da9c0ca8a9644dd08fa Author: Evan Hanson Date: Tue Oct 31 21:38:26 2017 +1300 Clean up all generated files when running "make testclean" Update the test scripts and "testclean" make target to remove all files generated by the tests. Add an ".out" suffix to generated files so they can be easily distinguished. Escape the ">" in "string->number" when calling echo in runtests.bat. This avoids accidentally creating a file called "number" when running the test suite on Windows. Ignore the exit status of the USES_SONAME library removal command in the "clean" target. Always invoke diff(1) with expected on the left, actual on the right. Signed-off-by: Peter Bex commit 42012ba9fb141525b885f339be700224ed64c671 Author: Peter Bex Date: Sat Nov 4 14:21:26 2017 +0100 Length is already less than BIGNUM_DIGIT_LENGTH at the end of the loop No need to use modulo, that's overkill. commit 9bcb1017cf96e81d35b0846451224a02b628b5ee Author: felix Date: Sat Nov 4 13:38:58 2017 +0100 hardcode GRND_NONBLOCK as header might not be available commit 321aa0050233c557c2682ee3c3bf5bbf0db6e4a2 Author: felix Date: Sat Nov 4 13:35:20 2017 +0100 added pseudo-random-real to types.db commit 6e0bf7b6a17e85b402fee8c78913aafdcf7b6073 Merge: cd2a1a26 85a61f98 Author: felix Date: Sat Nov 4 13:30:46 2017 +0100 Merge branch 'randomness' of ssh://call-cc.org/usr/local/repos/chicken-core into randomness commit cd2a1a265f6075725701cfbd4a07d8411b1aa151 Author: felix Date: Sat Nov 4 13:30:23 2017 +0100 correctly set last digit of random bignum commit 85a61f98c2bfd8bddc94b8b20842b32a4bed7895 Author: Kooda Date: Sat Nov 4 13:18:12 2017 +0100 Reflect the signature change of random_word to C_a_i_random_real commit 6a3a8253525816e876ca48398cbb2b3e8cf3dd11 Author: Kooda Date: Sat Nov 4 13:10:21 2017 +0100 Add pseudo-random-real to the chicken.random module. Based on Taylor R. Campbell algorithm explained on https://mumble.net/~campbell/2014/04/28/uniform-random-float commit 29850b2b845a085fb68e45ba543bc89ab4df2e56 Author: felix Date: Sat Nov 4 13:12:16 2017 +0100 drop unused local commit cea57d12929acdb014df4ad34354aa6666529100 Author: felix Date: Sat Nov 4 13:11:06 2017 +0100 random_bignum: use correct word type (spotted by sjamaan) commit d193f83c00544872e6efacff61462af1a1acb6cf Author: felix Date: Sat Nov 4 13:09:35 2017 +0100 added random-test to manifest commit ef8c7d136487418159c706b30a46453baa4abf0a Author: felix Date: Sat Nov 4 12:40:20 2017 +0100 use direct syscall for getrandom(2), obtain uniformity via loop commit be47ffb9f49fab84c64522d22db6aed7c7b67aa0 Author: felix Date: Sat Nov 4 12:38:46 2017 +0100 set-pseudo-random-seed!: check for negative "n" commit 00d8dcd2425a9eaa31f768fc5eac08555952e89c Author: felix Date: Sat Oct 28 20:54:56 2017 +0200 Add identity slot to thread and use this for distinguishing threads when extracting call-chain. Otherwise we hold on to threads too long, see also #1356 Signed-off-by: Peter Bex commit c90c64998455d74d611056b4ecd10e3907dbaed9 Author: felix Date: Fri Nov 3 19:44:44 2017 +0100 fix several bugs, possibly introducing new, allow arbitrary large buffer for ranodm-bytes, trying to please the ruthless committee commit 59caefbb270c9167e059f04a9e8568799b5e258f Author: felix Date: Fri Nov 3 19:06:15 2017 +0100 use /dev/urandom on cygwin commit 84fdab81d5d36adac3d67bc7c56b128b7284034f Author: felix Date: Fri Nov 3 19:01:50 2017 +0100 unused local removed commit a72111962e59c1e4d8403b7c93ee3d3379cf4f6e Author: felix Date: Fri Nov 3 18:04:41 2017 +0100 perform reading of random bytes inside runtime.c commit 073d86499655d357499ba4542951480ca721ffca Author: felix Date: Fri Nov 3 14:45:07 2017 +0100 fixed some tests commit 4c8d3bc6a6ce70da8b86f1b4ecc0ae11530622e7 Author: felix Date: Fri Nov 3 14:44:46 2017 +0100 bugfix in set-pseudo-random-seed C primitive commit 8179b6ce8f28badf0089ea4f14e6f6698bfa6ac1 Author: felix Date: Fri Nov 3 14:44:29 2017 +0100 specialization for pseudo-random-integer with fixnum arg commit 97c470e8bd08cf3ffe2bb27d04a748499f0eae21 Author: felix Date: Fri Nov 3 14:43:48 2017 +0100 move error checks for random-* into C to allow specializing for the fixnum type commit 6cd7f7f801ff3da6a0217328d9cd4cac31bb3315 Author: felix Date: Fri Nov 3 14:04:25 2017 +0100 updated NEWS commit 12ed9e08d8fa8b21c0d7d02d8b2b4f4705ccf552 Author: felix Date: Fri Nov 3 14:03:56 2017 +0100 internal module: use rand(3) for hash table seeding commit 0e15d1421028439a078bedcf25dcbfef6e3ae344 Author: felix Date: Fri Nov 3 14:03:34 2017 +0100 csc: lionk with advapi32 on Windows, needed for RtlGenRandom commit be98b53b3e7dcabcd23dca44bd5ab6a328862178 Author: felix Date: Fri Nov 3 13:59:51 2017 +0100 drop use of chicken.random in support.scm commit 294574e3f997e9506e742aaafd0e01a027bfcf8a Author: felix Date: Fri Nov 3 13:59:14 2017 +0100 updated types.db for new random numbers API commit 4f9ff45ea7f17878dbb01cbd4f9760f2148547ce Author: felix Date: Fri Nov 3 13:58:54 2017 +0100 initial attempt at new random numbers API commit c6e3fd1d97304b413f8f2361e60954e7b8382dd9 Author: felix Date: Fri Nov 3 13:57:43 2017 +0100 added simple re-seeding test commit 36f3f33d17887b66628d9a3a01434973eaad0dd9 Author: Peter Bex Date: Wed Nov 1 21:31:54 2017 +0100 Remove declarations for bind/easyffi from chicken.h This decouples the bind egg from CHICKEN core, allowing it to be developed at its own pace and removing its somewhat "special" status among eggs. Signed-off-by: felix commit e2dd58fa3355fbfea36697329316445eab85ea97 Author: felix Date: Wed Nov 1 14:05:22 2017 +0100 Small bugfix in chicken-install, detected by Mario. If no version is given on the command line, we use locations and the target extension has no version either, then just go ahead with installation and do not skip. commit b95f44688364f57737dc84fb00d80e3761d48b6b Merge: a826b8fa b86bbcc9 Author: felix Date: Mon Oct 30 13:30:22 2017 +0100 Merge branch 'chicken-5' of ssh://call-cc.org/usr/local/repos/chicken-core into chicken-5 commit b86bbcc9d59ab899a2355eefe2a8928d2965ce11 Author: Evan Hanson Date: Mon Oct 30 20:28:00 2017 +1300 Minor fix for '(predefined TYPES-FILE)' handling in egg files This fixes the situation where a preexisting types file is specified by name, e.g. `(types-file (predefined "foo"))`. Previously, the extension name would be used instead of the name given in the 'predefined' form. commit c96b3adbf190d1839014bbec101161d28591d0f7 Author: Evan Hanson Date: Sun Oct 29 23:59:06 2017 +1300 Reassign scheme#read directly This makes `read` consistent with the other stubbed values from the "scheme" module and dispels a compiler warning about an "assignment to imported value binding" in library.scm. commit fbc3b179d9cc55da10b5a6ec0b1c49d3247f3113 Author: Peter Bex Date: Sat Oct 28 21:00:15 2017 +0200 Clean up "scheme" module to only contain standard definitions. In order to more tightly control what gets included in the "scheme" (or rnrs[-null]) module, we capture just the standard macro definitions and bind them to ##sys#scheme-macro-environment, which is used in the hardcoded rnrs module definitions in modules.scm. The macros "syntax", "letrec*", "delay-force" and "require-library" are moved to the (chicken base) module, where they belong. Because letrec* uses "check-for-multiple-bindings", the definition of this has been moved to (chicken internal), as well as the "macro-subset" helper procedure, which is used by expand.scm, chicken-syntax.scm and chicken-ffi-syntax.scm. The "cond-expand" macro has been moved to the "initial macro environment", so that it's always available, even inside modules. The macro probably really belongs in (chicken base) analogously to where it lives in r7rs (on the other hand, it also is available as a core subform in the "library" form), but having it initially available makes it much easier to have code that works both in CHICKEN 4 and CHICKEN 5 by using cond-expand to determine which imports to use; for the majority of programs that'll be the only substantial difference between CHICKEN 4 and 5. Tests have been updated to more correctly import only the stuff they truly need from scheme, chicken.base or chicken.module, as the bare "chicken" module is on its way out. Signed-off-by: Evan Hanson commit af12fa157f79ee8b59b207eaf34addf52857c653 Author: Evan Hanson Date: Sun Oct 29 11:26:49 2017 +1300 Fix output file extension for `csc -c foo.c` This expands the changes in 3eaa4f4 to include the situation where the input file is a C source file. It also does some minor refactoring around the target filename handling in csc.scm, adding a helper procedure and changing [] to (), and adds a test for csc's handling of the "-c" and "-t" flags. commit a826b8fa2d54213ea522f45c662bf5beaba8749e Merge: 6d14f739 db13aa87 Author: felix Date: Sat Oct 28 18:47:04 2017 +0200 Merge branch 'chicken-5' of ssh://call-cc.org/usr/local/repos/chicken-core into chicken-5 commit db13aa875597888744f03f386f6b53c9993bd0dc Author: felix Date: Fri Oct 27 11:01:47 2017 +0200 chicken-install: allow preexisting .types files The `types-file' egg extension property now may be `(predefined [NAME])` to specify an already existing .types file that should be installed. Signed-off-by: Peter Bex commit 3eaa4f4d6ae7b1531d2012db23b653daa833f502 Author: Kooda Date: Sat Oct 21 22:18:03 2017 +0200 Use the correct output file extension when using csc -c Signed-off-by: Peter Bex commit 61c90bffa8512d64e99a28a90a7c3f2518b4d1e6 Author: felix Date: Fri Oct 27 10:18:38 2017 +0200 Renamed "read-all" to "read-list". Previously this was called "read-file" and then renamed to "read-all". As the C4 "read-all" has the same signature as the C5 "read-all", this has now been renamed to "read-list" to avoid porting pain. Signed-off-by: Peter Bex commit baa2d855bde7ba236d1a86e69c99ff31e828cbad Author: Peter Bex Date: Fri Oct 27 21:24:31 2017 +0200 Add deterministic compilation to NEWS file commit c65524865c285dd84c0a27d7eb2b108822ff98e3 Author: Kooda Date: Sat Oct 21 13:50:45 2017 +0200 Remove the build tag completely. Signed-off-by: Peter Bex commit 579a9d1e689d1c3a29335d4052a86a588d9502ea Author: Kooda Date: Sat Oct 21 13:25:33 2017 +0200 Remove the date from the header comment of generated C files. Signed-off-by: Peter Bex commit 9e89d9c77763f1fcadd71cdc856228f134a1eedb Author: Kooda Date: Sat Oct 21 11:58:07 2017 +0200 Sort the symbol table before outputting C code from the compiler. This helps make the compiler deterministic, as the output will not change because of the random seeding of the symbol table. Signed-off-by: Peter Bex commit 6d14f7394e9bb7436f7aca7e830399667f651a6b Merge: a791ab72 a72d3d59 Author: felix Date: Thu Oct 26 20:52:47 2017 +0200 Merge branch 'chicken-5' of ssh://call-cc.org/usr/local/repos/chicken-core into chicken-5 commit a72d3d5958b51d5abdbee9b959a54d49663a58b5 Author: Peter Bex Date: Mon Oct 16 20:35:33 2017 +0200 Fix flonum to string conversion on extreme edge cases on 64-bit archs This bug was exposed by the previous commit which restored the tests to work as intended, because the serialization of (expt 2.0 64) resulted in "0.0" in compiled code, causing the exact/inexact comparison tests between the bignum (expt 2 64) and the flonum (expt 2.0 64.0) to fail. This representation fails because C_fits_in_unsigned_int_p will incorrectly return C_SCHEME_TRUE on a 64-bit architecture due to how we perform the casting: Because UINT_MAX is 2^64-1, it will be normalized by the floating-point representation to the nearest floating-point value that can represent it: 2^64. Thus, (double)2^64 <= UINT_MAX is true. When we then cast the double to an unsigned word, it will result in zero due to overflow. The fix here is to simply check if the log2 of the number is less than the number of bits in an UWORD, rather than trying a direct value comparison. As a bonus, this allows us to finally get rid of the obsolete C_fits_in_unsigned_int_p() inline helper function. Signed-off-by: Peter Bex commit 134f96615de8bcb2baa2691c35d592c4cef013a4 Author: Peter Bex Date: Mon Oct 16 17:44:19 2017 +0200 Fix test-end to not end the entire process but the current group only This makes it consistent with the test egg, and ensures some more tests actually get run, which were basically dead tests before. Signed-off-by: Kooda commit a791ab724f2d8228aea8c2eae22391cfc4662822 Merge: 34101b58 596332d6 Author: felix Date: Sun Oct 22 19:10:55 2017 +0200 Merge branch 'chicken-5' of ssh://call-cc.org/usr/local/repos/chicken-core into chicken-5 commit 118fcebbb7fcaf85aa2842806d3f5ee8fb2d14b6 Author: Peter Bex Date: Tue Oct 10 17:29:44 2017 +0200 Threads are tricky business. We must sacrifice a goat in the name of the dark gods to make them work properly! When scheduling a new thread, we need to invoke it with a continuation that goes nowhere. We know the thread call won't return, so the continuation must be swapped out because the scheduler continuation still has a reference to the old thread before invocation. This continuation itself still may holds a reference to the previous thread, and so on, resulting in infinite memory buildup. This fixes #1367 Signed-off-by: Kooda commit 596332d69e47a5d04fe5e4f5f609c3e4ab8fcdba Author: Peter Bex Date: Tue Oct 10 17:29:44 2017 +0200 Threads are tricky business. We must sacrifice a goat in the name of the dark gods to make them work properly! When scheduling a new thread, we need to invoke it with a continuation that goes nowhere. We know the thread call won't return, so the continuation must be swapped out because the scheduler continuation still has a reference to the old thread before invocation. This continuation itself still may holds a reference to the previous thread, and so on, resulting in infinite memory buildup. This fixes #1367 Signed-off-by: Kooda commit 24b9c7ba3d02ff5a86277f9010af1b7903754e2d Author: felix Date: Fri Oct 20 21:41:32 2017 +0200 chicken-install: use proper (module) name instead of source name when compiling import library Signed-off-by: Kooda commit bce023b78610b2b97f274fe59f63147cd55c41b6 Author: felix Date: Wed Oct 18 10:11:08 2017 +0200 "csc -static" is too static Signed-off-by: Kooda commit 34101b5837dc06417a7950a6868f73232f9b3ad4 Author: felix Date: Fri Oct 20 21:41:32 2017 +0200 chicken-install: use proper (module) name instead of source name when compiling import library commit 536e2351cf5836e76df79395813501fcb2c4b034 Author: Vasilij Schneidermann Date: Sat Oct 14 16:59:02 2017 +0200 Handle other errors than EACCES for access(3) Fixes #1386. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 6d3f83e5ced31e98a51f9009aeea2bb117f176bf Author: Evan Hanson Date: Fri Oct 20 07:17:17 2017 +1300 Fix incorrect types.db entry for `load-noisily` The `load-noisily` procedure takes keyword arguments, so its optional arguments should be indicated by "#!rest" rather than positional values. commit 04db084db8929ff4cb26b9518f5afc37a844c3b5 Author: felix Date: Thu Oct 19 22:03:47 2017 +0200 NEWS: moved last entry to proper section, fixed typo commit a9095ae46c20e7d4ec47ac8d31bb984f0d0e5c92 Author: felix Date: Thu Oct 19 22:01:38 2017 +0200 Added missing entry to NEWS about -from-list option commit 654ae0b1b70ce73028b517bb0e473d384d767e8a Author: Peter Bex Date: Wed Oct 18 13:55:54 2017 +0200 Add initial version of the "scheme" module. This makes a few things more explicit and even pointed out some issues: - "cond-expand" needs to compare unhygienically, because the initial environment will contain "and", "or" and "not" from scheme, but it should work even if "scheme" is not imported, so we can't compare equality like that. The Chibi implementation (reference implementation for R7RS) also does this unhygienically. - "module" needs to compare "=" (for functor syntax) unhygienically for the same basic reason. - "Extended bindings" included things like exact-integer?, make-polar, make-rectangular, real-part, imag-part and string->symbol, which are all *standard* bindings, from r5rs. - There are still a few macros in the wrong place, like delay-force, cond-expand, require-library and letrec* - A few macro definitions were missing some mappings in their syntactic environments. Also, a few definitions from chicken.base were still unprefixed in some places, those are now prefixed. Last but not least, in a few places in compiler-syntax, the bindings checked in standard-bindings were missing their prefix, thus causing the compiler specialization to not be applied. The define-internal-compiler-syntax macro has been slightly simplified by quoting the syntax environments in the call rather than in the macro itself, and the r-c-s procedure is only used by the macro, so there's no need to make the syntactic environment argument optional: we always expand to a call that includes it. Signed-off-by: felix (crosses fingers) commit a6252d12a8ce80f92b18725d7307805a2c8730b3 Author: Evan Hanson Date: Thu Oct 19 07:11:19 2017 +1300 Add "-from-list" option to chicken-install man page commit 7f3a0f5795ec120819fbb35b8c7786ab1f256846 Author: felix Date: Wed Oct 18 10:26:18 2017 +0200 Add "-from-list" option to chicken-install and allow entries with no version Signed-off-by: Evan Hanson commit 7d098fe47808b9442634975b05fb2d8fe7399c6a Author: Evan Hanson Date: Tue Oct 17 18:54:02 2017 +1300 Move `require-extension-for-syntax' out of the default macro environment Also, update and sort the list of identifiers to be filtered when constructing the rnrs[-null] environments in eval.scm, which had gone out of date with recent changes (3a5150e0, 58bc3769 and a647d9ed). Signed-off-by: Peter Bex commit 88138e982919382d4c98a6582217178015305ea1 Author: Evan Hanson Date: Tue Oct 17 18:54:02 2017 +1300 Move `begin-for-syntax' out of the default macro environment This moves the `begin-for-syntax' form out of expand.scm and into chicken-syntax.scm so that it isn't in the default macro environment, but rather part of (chicken base). Signed-off-by: Peter Bex commit 7c7980a64ad728352f7145ce722d8003a91ce3b1 Author: felix Date: Tue Oct 17 14:25:54 2017 +0200 csc: Don't try to include static .o files when linking dynamically When collecting object files before linking, ".link" files where consulted for all object files involved, but should not be done for .o files that resulted from the current compilation; previous builds may have generated ".link" files for the currently compiled file (e.g. when building an egg in default mode) and would thus be picked up, leading to link with static dependencies, even if the currently compiled file is not compiled in static mode, resulting in a linker error, complaining about non-PIC code being linked. Signed-off-by: Peter Bex commit e7673ab5aab4d6f0da764406e80ed5cf4c2be6f0 Author: Peter Bex Date: Mon Oct 16 17:21:14 2017 +0200 Pass on tl? in "eval" when compiling define-{constant,inline} Before, we'd pass #f as tl?, which means we'd always get an error when using define-constant or define-inline about it not occurring at toplevel, even when it did occur at toplevel. commit fdeaaaab23e3a3c3d6c82e7dab7b088b7b433c97 Author: Evan Hanson Date: Mon Oct 16 22:56:05 2017 +1300 Remove `use' and `use-for-syntax' Signed-off-by: Peter Bex commit 634e3041bc34baa8f7df6265dca00b7ee008e077 Author: Evan Hanson Date: Mon Oct 16 08:21:39 2017 +1300 Add unit dependency info to the scheme and rnrs[-null] modules The r4rs module depends on the "library" unit, so we add that dependency to its module registration in modules.scm. The r[45]rs-null modules don't depend on any unit since they only export syntax, so set their module-library slots to #f to indicate "no unit". The scheme module only depends on the "library" unit, so remove it from the list of `core-unit-requirements` and add "library" to its module registration so that it's treated like any other unit. Add a test to make sure the r4rs and r4-null libraries are working. Signed-off-by: Peter Bex commit d98606f75e083b2db68d75873600ce20d88a1b08 Author: Peter Bex Date: Thu Oct 12 16:44:48 2017 +0200 Remove deprecated -n option from csc This has been deprecated a long time ago in 4.9.0, let's remove it. Signed-off-by: Evan Hanson commit 1a6a9481f1d6d3d7bc582d5838b3a22ad7e8dec0 Author: Peter Bex Date: Thu Oct 12 16:35:14 2017 +0200 Replace all uses of C_mutate2() with C_mutate() C_mutate2 has been deprecated for a long time (it has been in core since 6c90c4a1a89 in 2012, as a temporary compatibility workaround), but calls to it were *still* being generated by the compiler. In order to get rid of the definition, we first need to ensure we don't generate any calls to it ourselves. This means that after the next snapshot we can finally and completely remove C_mutate2(). Signed-off-by: Evan Hanson commit e64c0ee784f0625adfd2717a656e30f41cabb97d Author: Peter Bex Date: Thu Oct 12 16:09:33 2017 +0200 Delete things marked OBSOLETE for the pre2 snapshot We'll introduce a couple more with the (chicken base) change and perhaps others, too. So let's remove the ones which are no longer necessary. Note: the scheduler used the flonum 0.0 as a default timeout value as an argument to a foreign-lambda that accepts an unsigned-int, this had to be changed to fixnum 0 to avoid a crash due to the removal of the OBSOLETE compatibility for automatically coercing flonums to these argument types. This crash only happens because the scheduler has an `unsafe' declaration. Signed-off-by: Evan Hanson commit 5193261cadd428bb2882546ade3be12088ea23e8 Author: Peter Bex Date: Sat Oct 14 11:57:32 2017 +0200 Kill temp hack for making gensym, add1 and sub1 globally available Without the temp hack, we got segfaults due to these being unavailable in chicken-ffi-syntax and it being declared with no-bound-checks and no-procedure-checks. The reason they weren't available is because chicken-ffi-syntax is compiled with -explicit-use, so we must import chicken.base manually at the start. Signed-off-by: Evan Hanson commit 8553c4c2f0b51c836b9486d8fef96a5656b3cdd4 Author: Peter Bex Date: Sat Oct 14 15:19:59 2017 +0200 Remove ambiguous -l option (fixes #1193) Instead, one should use -L -l Signed-off-by: Evan Hanson commit 56aada40da14e9f60be946b940c21b5fee3d4c8b Author: Peter Bex Date: Mon Sep 11 18:35:10 2017 +0200 Add preliminary version of (chicken base) module This is a primitive module because it has several syntax exports. We first define the module containing mostly stub definitions which are set! further down in the file. This ensures we won't have to import the module into itself, which will result in strange/unexpected errors. There's one hack: at the end of library.scm, we define a few toplevel aliases for procedures that are supposed to be in the default macro namespace. Without this, we'd need (import-for-syntax chicken.base) in practically every low-level macro use. We will need to find out why this is needed, and take better control over what's available in the initial macro environment. Signed-off-by: Evan Hanson commit cf915c96e67c641b12b01782a7e35d617ff2724c Author: Evan Hanson Date: Tue Oct 10 21:45:56 2017 +1300 Add a more thorough workaround for stat() issues on MinGW MinGW's stat(2) syscall is badly behaved with respect to trailing slashes in pathnames, so we add a drop-in replacement ("C_stat") in chicken.h that smoothes over these problems on MinGW, MSYS, and MSYS2. In particular, this replacement will strip trailing slashes and retry when the built-in stat(2) yields ENOENT, since paths like "//" will cause MinGW's version to fail (incorrectly). It will also return -1 when given a non-directory pathname that includes a trailing slash, since the built-in version will actually succeed in this case when it should instead fail with errno set to ENOTDIR. Note that we must attempt to stat the given filename at least once before stripping slashes, since there are some valid paths (e.g. "C:/" or "\\") that require them to be present in order for the call to succeed. The preexisting stat macros in posix*.scm have been given "u" and "i" prefixes to avoid name collisions with the new wrapper, and to indicate their proper usage. This commit also adds a test script to check for these and other similar problems on all platforms. The invocation of this script in runtests.sh is a bit unusual, passing "//" as an argument instead of "/" when running under MSYS*. This is because a single "/" will expand to the MSYS installation's root directory, for example "C:/MinGW/msys/1.0"; the second slash effectively escapes the first and disables this behaviour. Signed-off-by: Peter Bex commit e311b61770a64fde0ba4503cea5930b4d74679c0 Author: Peter Bex Date: Tue Oct 10 12:13:01 2017 +0200 Mention which keys win in case of conflicts with hash-table-merge[!] and alist->hash-table Fixes #1290 Signed-off-by: Evan Hanson commit 5cb3b1cb4b178db723df6a3b42066195fd8808c5 Author: Peter Bex Date: Tue Oct 10 11:39:59 2017 +0200 Improve instructions for building from Git The instructions mentioned using LD_LIBRARY_PATH to override the library search location but in an incorrect way. Besides, just setting LD_LIBRARY_PATH might not be enough and it's more complicated than simply instructing the user to install to a (temporary) location. Furthermore, the instructions mentioned getting the latest release tarball, but it's generally more reliable to use the closest development snapshot. Finally, just building might not work, you might need to build a boot-chicken first. Signed-off-by: Evan Hanson commit 9d2f5bb73305fb41312ab6fc26cf97135b1e9f32 Author: Peter Bex Date: Tue Oct 10 11:39:59 2017 +0200 Improve instructions for building from git The instructions mentioned using LD_LIBRARY_PATH to override the library search location but in an incorrect way. Besides, just setting LD_LIBRARY_PATH might not be enough and it's more complicated than simply instructing the user to install to a (temporary) location. Furthermore, the instructions mentioned getting the latest release tarball, but it's generally more reliable to use the closest development snapshot. Finally, just building might not work, you might need to build a boot-chicken first. Signed-off-by: Evan Hanson commit 07aa5c16cfb654ea66b5129cd4ba67ae29eefc87 Author: Evan Hanson Date: Fri Oct 6 22:00:52 2017 +1300 Add missing import to find-files test The `string-translate` procedure is used on Windows, so chicken.string needs to be imported. commit 97d76fe8a9e0bfec757cbb2b84367f420643407d Author: Peter Bex Date: Mon Sep 25 19:38:14 2017 +0200 Add DragonflyBSD fix and missing CVE ID for randomization factor to NEWS commit 138445766d40f7211c3a4d051ca59805cf401200 Author: Peter Bex Date: Mon Sep 25 19:38:14 2017 +0200 Add DragonflyBSD fix and missing CVE ID for randomization factor to NEWS commit 899a6f9a7a630bb4c56965fe7655941e24a07396 Author: Markus Pfeiffer Date: Thu Sep 21 10:17:31 2017 +1200 Disable feature macros on DragonFly BSD This allows CHICKEN to build on DragonFly without modification. Thanks to Markus Pfeiffer for the patch. Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit d2c4ab85484fc2e9adca951eb7cd7f9ea70ac201 Author: Markus Pfeiffer Date: Thu Sep 21 10:08:30 2017 +1200 Disable feature macros on DragonFly BSD This allows CHICKEN to build on DragonFly without modification. Thanks to Markus Pfeiffer for the patch. Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit 72ab8960ce9dd17fd45950df694ab822adbd7b03 Author: Evan Hanson Date: Sun Sep 17 17:30:18 2017 +1200 Drop unnecessary check for NULL trace buffer keys Signed-off-by: Peter Bex commit d9095a50eceaf79c2981145dc57efd63b1b47248 Author: Evan Hanson Date: Sun Sep 17 17:30:18 2017 +1200 Drop unnecessary check for NULL trace buffer keys Signed-off-by: Peter Bex commit 40fe7dc9c9facc686da89a331c194d0a8ba10d6a Author: Peter Bex Date: Sat Sep 16 21:03:33 2017 +0200 Pre-allocate profile bucket to avoid malloc() in signal handler This can cause deadlock because malloc() is not reentrant, see #1414. Signed-off-by: Evan Hanson commit 41ca5155a45984e8181bf8353bd2af52227e5857 Author: Peter Bex Date: Sat Sep 16 21:03:33 2017 +0200 Pre-allocate profile bucket to avoid malloc() in signal handler This can cause deadlock because malloc() is not reentrant, see #1414. Signed-off-by: Evan Hanson commit 8a1a9e5eab1847d3175c7307a104017c0c26e0a8 Author: felix Date: Thu Sep 14 16:11:30 2017 +0200 There are outside... I can hear their skin-crawling inhuman cries. There must be hundreds of them, and It's too dark to see anything through the windows, but I can feel their presence - the loathsome followers of the great old one, stretching out their filthy claws to get me, while HE is still sleeping in his wet slimy tomb down in sunken R'lyeh. But for how long? It is not that I haven't been warned, though. Prof. Angell did, he even implored me to desist from going down this path, implored me not to mess with powers that are not meant to be taken into human hands. Ludvig Prinn was quite explicit in his "De Vermis Mysteriis" in pointing out what frivolous occupation with the occult can result in. Neither did I heed the hints given by von Junzt. Mesmerized by the seduction of access to arcane powers I all too literally followed the instructions given in the cursed tome of the mad arab, Abdul Alhazred, without taking into account that the tiniest mistake in opening up the gate to the demonic voids that lie beneath the freezing seas, may awaken HIM, down in the unclean voids where HE sleeps, the great Cthulhu, waiting for careless dabblers like me to unlock the portal to the godless abyss and let him arise once again, bringing chaos and destruction to this world. What have I done? It all sounded to easy, so deceptively easy: adapting everything to the new argvector scheme. But, alas, had I been more careful in converting the code that slept in the dark corners of the runtime system, had I heeded that warnings and taken more care in making sure the ancient incantations that communicate with the demonic realms still were done in the correct order. But I didn't - the incantations where wrong, twisted by a devillish unseen hand in the depths of my consciousness. What have I done? The gate is open... What is that? The cries are getting louder, they are here... There is rattling at the door, a sickening miasmal stench is seeping through the cracks. Something else is with them... I can feel its malevolence. Something terrible... What is that scraping sound at the door? Oh my god, they are inside! They are breaking down the door... Oh... No, they are coming... THEY ARE COMsd slc sd,,-.s,dö--------------------------, Signed-off-by: Peter Bex commit 69f7659c4d9e99f05485760e8d62ab1a324fc6d8 Author: felix Date: Thu Sep 14 16:34:47 2017 +0200 There are outside... I can hear their skin-crawling inhuman cries. There must be hundreds of them, and It's too dark to see anything through the windows, but I can feel their presence - the loathsome followers of the great old one, stretching out their filthy claws to get me, while HE is still sleeping in his wet slimy tomb down in sunken R'lyeh. But for how long? It is not that I haven't been warned, though. Prof. Angell did, he even implored me to desist from going down this path, implored me not to mess with powers that are not meant to be taken into human hands. Ludvig Prinn was quite explicit in his "De Vermis Mysteriis" in pointing out what frivolous occupation with the occult can result in. Neither did I heed the hints given by von Junzt. Mesmerized by the seduction of access to arcane powers I all too literally followed the instructions given in the cursed tome of the mad arab, Abdul Alhazred, without taking into account that the tiniest mistake in opening up the gate to the demonic voids that lie beneath the freezing seas, may awaken HIM, down in the unclean voids where HE sleeps, the great Cthulhu, waiting for careless dabblers like me to unlock the portal to the godless abyss and let him arise once again, bringing chaos and destruction to this world. What have I done? It all sounded to easy, so deceptively easy: adapting everything to the new argvector scheme. But, alas, had I been more careful in converting the code that slept in the dark corners of the runtime system, had I heeded that warnings and taken more care in making sure the ancient incantations that communicate with the demonic realms still were done in the correct order. But I didn't - the incantations where wrong, twisted by a devillish unseen hand in the depths of my consciousness. What have I done? The gate is open... What is that? The cries are getting louder, they are here... There is rattling at the door, a sickening miasmal stench is seeping through the cracks. Something else is with them... I can feel its malevolence. Something terrible... What is that scraping sound at the door? Oh my god, they are inside! They are breaking down the door... Oh... No, they are coming... THEY ARE COMsd slc sd,,-.s,dö--------------------------, Signed-off-by: Peter Bex commit 2a4b804d9d08d8a53b47651d1ebeb37abc25785d Author: Evan Hanson Date: Wed Sep 13 19:07:20 2017 +1200 Update {delete,rename}-file types.db entries commit 2f519885f0c24bac3460452e95137cbb0c5327b8 Author: Peter Bex Date: Sun Sep 10 17:22:19 2017 +0200 Move delete-file and rename-file from library.scm to file.scm Nothing really depends on it, so we can move them without problems. Fix up csc.scm's dependencies while we're at it (it also gets a new dependency on file.import.scm) Signed-off-by: Evan Hanson commit 556c8110089d9ca82d422b61d05bf37146b2f7b3 Author: Peter Bex Date: Tue Sep 12 21:02:20 2017 +0200 Add multiple-values test to distribution manifest commit 671dd21f5fa98b9ddc6e9dc0ee0e9b62b51025bf Author: Kooda Date: Fri Sep 8 01:46:16 2017 +0200 Add a test case for multiple values handling. Signed-off-by: Peter Bex commit 2dc0c5929abc398f1d344500fba9fc10ed4857cc Author: Kooda Date: Fri Sep 8 01:46:15 2017 +0200 Make `call/cc` continuations behave like `values` ones. This makes the relaxed cases for multiple values work when using `call/cc` to pass multiple values to the continuation instead of `values`. This fixes ticket #1390 Signed-off-by: Peter Bex commit beb973155d6340c96d2742bc8b057084b85abf82 Author: Evan Hanson Date: Tue Sep 12 17:18:31 2017 +1200 Escape "c++" regex in custom install command prefix handling commit d33ef1056fc4d0884b77149b32be9f9621e36f32 Author: Evan Hanson Date: Tue Sep 12 17:18:01 2017 +1200 Drop unused variable in `install-inline-file` commit fa477844f0a4271902a02c2c355bc9841bce5999 Author: Evan Hanson Date: Tue Sep 12 17:17:17 2017 +1200 Switch the "named?" setting for (files ...) egg forms to #f commit 4b4931299261d47843374c1f500ab0040c1d43c1 Author: felix Date: Mon Sep 11 19:08:44 2017 +0200 Fix handling of types-file + inline-file Ensure paths to types- and inline-files are absolute, document optional filenames for types-file/inline-file egg properties, pass proper options to csc in these cases. Thanks to Kooda for pointing out these omissions. Signed-off-by: Evan Hanson commit 33d9c24469ce00b00f453ac5c4285f8a52a9cb1a Author: Evan Hanson Date: Mon Sep 11 08:41:41 2017 +1200 Add "chicken.type" module This moves the type-related macros in chicken-syntax.scm upwards in the file and captures a syntax environment containing just those six forms. These are added to a new "chicken.type" module defined in module.scm. We also leave these macros in the bare "chicken" module for the time being, as we have done with the "chicken.condition" module. Signed-off-by: Peter Bex commit cd96932c8247622e6247cc1e02e8e4015a157a9b Author: Peter Bex Date: Sun Sep 10 16:36:06 2017 +0200 Remove unused dependency on banner.scm and common-declarations.scm from library.scm commit d98b153c34df3f44df28c1454bc51f6c5004caf9 Author: Evan Hanson Date: Sun Sep 10 13:02:11 2017 +1200 Remove the `any?` procedure Signed-off-by: Peter Bex commit f3d44a918b13b958032b4abd2e4031a450a7758a Author: felix Date: Thu Sep 7 13:57:51 2017 +0200 When compiling static extensions, use a different name for static .o files to avoid collision with .o files for the dynamically linked extension. Signed-off-by: Kooda commit d2ac5e7ccc4f891d85af9440e87d375fea4f6752 Author: LemonBoy Date: Thu Sep 7 20:52:27 2017 +0200 Relax the syntax check a bit more Some foreign types are expressed using a list, eg: (enum ). Signed-off-by: Evan Hanson commit 8d5b390e6d9e2ca678b9ad1e4953b15d4401ff46 Author: LemonBoy Date: Thu Sep 7 20:52:27 2017 +0200 Relax the syntax check a bit more Some foreign types are expressed using a list, eg: (enum ). Signed-off-by: Evan Hanson commit a12fa8d4e0192e34b52034bdbf51d37337a98bf3 Author: Evan Hanson Date: Tue Sep 5 22:37:38 2017 +1200 Restore void return value for import forms In commit cdcafde9, the "import"" form was unintentionally changed to return a boolean value in some situations. This patch just restores the original (void) result. commit 00e7d9812dda4210715bb3cb0e70325d98592bca Author: Evan Hanson Date: Tue Sep 5 22:31:14 2017 +1200 Drop unused return value from `##sys#process-require' commit cd90612086253aadb95b6f87ff18543e1dd00d83 Author: Evan Hanson Date: Tue Sep 5 22:30:51 2017 +1200 Drop "-all" line from chicken-status help output This option was removed in dbab26ec. commit 072aea8a3458ddacfa23115d217a64f4cecbaf28 Author: Peter Bex Date: Sat Sep 2 13:45:44 2017 +0200 Add change-directory[*] to (chicken process-context) and fix find-files test commit 63b393d42f0431cf3cce852e6e2367c108690fbd Author: Evan Hanson Date: Fri Sep 1 16:09:04 2017 -0400 Make `current-directory` a pure getter with associated setter This adds a SRFI-17 setter for `current-directory` and drops the optional argument that could previously be passed to cause it to change directories. This makes it behave more like the other procedures in the posix unit, and makes for a better API since the current directory is a process-level variable and not a SRFI-39 parameter object (and it can't be made into one, since the CWD is not thread-local). Signed-off-by: Peter Bex commit 92f2bf9a342ab0e286917d436de1866400baf09e Author: Evan Hanson Date: Fri Sep 1 16:00:39 2017 -0400 Fix typo in "current-effective-user-id" getter decoration commit 1491b55d1aca1b6a533b3f6170d185fd8db340fb Author: Peter Bex Date: Sun Aug 13 17:45:52 2017 +0200 Stub fchdir() on Windows to simplify change-directory[*] This implements fchdir() in Windows, by abstracting out the file descriptor->path mapping first introduced with fchmod(). Windows won't in fact actually allow you to "open" a directory so you won't be able to obtain a file handle to a directory using file-open, but at least this allows us to use the exact same code on Windows and Unix, thus reducing code duplication. In any case, abstracting the fd to path function can prove helpful in other situations too. Signed-off-by: Evan Hanson commit ef63430906af38f2d95a382c5b7a930b6cbd5ea1 Author: Peter Bex Date: Mon Aug 21 21:12:59 2017 +0200 Rename (chicken lolevel) to (chicken memory representation) This module was already finished, we just hadn't decided on a final name until now. Signed-off-by: Evan Hanson commit 47337654081921efbe7ac6ce32848993daf243a0 Author: Peter Bex Date: Wed Aug 23 21:43:50 2017 +0200 Rewrite vararg generic operators to dyadic ones This allows for further optimizations because specialization rules are only defined for dyadic versions of procedures, so even if all argument types were known, vararg procedures would never be optimized at all. Now, even if not all types are known, we can at least specialize a few intermediate operations. Signed-off-by: Evan Hanson commit 6a42120bc964d1170ba6b12c21770ad390d4cf9d Author: LemonBoy Date: Wed Aug 30 13:42:38 2017 +0200 Teach the heap dumper about the new number formats Prevents a segfault when a {cplx,big,rat}num was found. Signed-off-by: Peter Bex commit 09c6dc9f2d77e2c5d1b4cfcdcef2377b2d92ed81 Author: Evan Hanson Date: Mon Aug 21 18:31:52 2017 +1200 Update types.db entries for chicken.string procedures Also, move the `reverse-string->list' procedure into (chicken string). Signed-off-by: Peter Bex commit 7c1b6abe5aaacf80191010e3790d82dbe31ace3e Author: Evan Hanson Date: Mon Aug 21 18:11:23 2017 +1200 Update posixwin.scm to use string module commit beb37f796a18922a72dca6bfc237ab58aeda5790 Author: Evan Hanson Date: Mon Aug 21 18:11:02 2017 +1200 Update makedist.scm and setversion to use string module commit f03b8245b64df7bff04939b4404f4f63ffb40118 Author: Peter Bex Date: Sun Aug 20 16:06:55 2017 +0200 Move string manipulation stuff from data-structures to chicken.string Signed-off-by: Evan Hanson commit ff6459cafa60665ced7835039d39cb41cc6a3f30 Author: Peter Bex Date: Sun Aug 20 16:38:19 2017 +0200 Remove MingW isnormal() workaround; we no longer use this function in our runtime Signed-off-by: Evan Hanson commit 1366ee852ddc20ee611f5f83c5aaee769df890d4 Author: Peter Bex Date: Sun Aug 13 14:42:46 2017 +0200 Move sorting procedures from chicken.data-structures to chicken.sort This also wraps the chicken-bug and chicken-profile programs in a "main" module. This helped find a bug in chicken-profile: we forgot to import chicken.file in chicken-profile when we moved "glob" into that module. We also forgot to export merge!, the side-effect version of merge from data-structures. The new chicken.sort module does export this procedure. Signed-off-by: Kooda commit aafc329d8432cae69c3328a26bc65151d418269f Author: Peter Bex Date: Sun Aug 13 13:38:32 2017 +0200 Move current-read-table to chicken.read-syntax module Signed-off-by: Kooda commit 45489c1b3d9fb20bacc91fa393ce7330dd61d22f Author: Peter Bex Date: Tue Aug 8 19:48:07 2017 +0200 Rename bit-set? to bit->boolean to avoid confusion (fixes #1385) The problem with bit-set? is that our definition has the argument order swapped when compared to SRFI-33 and SRFI-60. Given that all our other procedures follow the definitions given in these SRFIs, it is extra confusing that this one procedure has a different argument order. This may result in very subtle bugs. To make matters worse, swapping the argument to match the SRFIs would be downright evil, because it would make porting bugs harder to find: (bit-set? 1 2) for example will return different values depending on which argument indicates the number and which the bit position, but the result is still a boolean and in other cases it might "accidentally" return the expected result, making it very very difficult to figure out why a program is failing. So this is why we rename it: When porting any program from CHICKEN 4 to CHICKEN 5 (or from another Scheme), it will immediately error out, and after a quick search one will be able to find the CHICKEN 5 procedure bit->boolean (and curse us for deviating from the SRFI, not knowing our alternatives were even worse). The new bit->boolean procedure immediately has a sort of deprecated status. Later on, after enough time has passed to have ported all CHICKEN 4 code, bit-set? may be re-introduced with the correct (SRFI-compliant) argument order, and we can then officially deprecate bit->boolean. Even later still we can finally get rid of this ugly temporary procedure. Signed-off-by: Kooda commit ae9246f435e7b4010520147afffcd7cf0cee0d2d Author: Peter Bex Date: Sun Aug 13 13:13:38 2017 +0200 Move reset and reset-handler to (chicken repl) Signed-off-by: Evan Hanson commit 25a1527bda59dec2e0d51ed6ca2144669e94bcf4 Author: Peter Bex Date: Sun Aug 13 13:18:53 2017 +0200 Make print-call-chain match the declared type in types.db It is declared not to return anything (void), but it takes some effort to return the call chain, resulting in a type warning. Signed-off-by: Evan Hanson commit ef1bee9f0097138ca526fb6c4ab2769265c5b241 Author: Evan Hanson Date: Wed Aug 9 20:39:03 2017 +1200 Move call chain procedures out of (chicken condition) Call chains are a general feature not specifically related to conditions, so we move this back out into the bare "chicken" module. Eventually these will be moved into "chicken.base" (once it exists). Signed-off-by: Peter Bex commit c2afc9809ae09918ad1d64709fbf8261809e77a5 Author: Evan Hanson Date: Mon Aug 7 21:38:58 2017 +1200 Move `print-error-message' into (chicken condition) Signed-off-by: Peter Bex commit 49a66f0f19594314b5ec62a27899bbe9493a2925 Author: LemonBoy Date: Sat Jul 29 09:54:01 2017 +0200 Minor fixes in the srfi-4 module * subs64vector used the wrong element length (4 instead of 8) * Make sure the N parameter given to the make-NNvector is a fixnum, do not forcibly coerce it to a fixnum before doing so. Raise an error if the calculated vector length overflows. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 5b2564ab28ce1dc90244090bfc969b6c6d03e8b0 Author: Evan Hanson Date: Thu Jul 27 07:46:23 2017 +1200 Add chicken.plist module Signed-off-by: Peter Bex commit 4a813f3d47549cf8f9b0293a3268d98859b7e27f Author: Evan Hanson Date: Wed Jul 26 16:47:58 2017 +1200 Add chicken.blob module Signed-off-by: Peter Bex commit 7985d1a6602366f6905468c08e05bcffc4e31196 Author: Evan Hanson Date: Wed Jul 26 08:17:47 2017 +1200 Move `quit' into (chicken repl) Signed-off-by: Peter Bex commit 2f1cb148a9cedab9e56c3a0043264e3fea20dd18 Author: Peter Bex Date: Fri Aug 4 12:19:38 2017 +0200 Add #1344 fix to master NEWS for 4.12.1; this bug affects 4.12.0 as well commit b9fa5501284db3eb993bc73d3911996d60f04e96 Author: Peter Bex Date: Fri Aug 4 12:19:38 2017 +0200 Add #1344 fix to master NEWS for 4.12.1; this bug affects 4.12.0 as well commit 74fa4682d864cef0ff7b649475de2806375b439e Author: Evan Hanson Date: Sat Aug 5 10:05:12 2017 +1200 Add NEWS entry for sysinfo procedure removal commit f2c96809de45db2bbd373301737ce006979105b3 Author: felix Date: Thu Jul 27 17:13:17 2017 +0200 Removed sysinfo stuff (`get-host-name' and `system-information') Signed-off-by: Evan Hanson commit 0dc6b5fadfa4e1e11406372a2538baff2b0befff Author: Evan Hanson Date: Tue Jul 25 18:58:39 2017 +1200 Move `create-directory' into (chicken file) Signed-off-by: Peter Bex commit 3a5150e02d1124a633197dbf1f4a6415bbad78d2 Author: Evan Hanson Date: Sun Jul 23 23:08:19 2017 +1200 Move `functor' and `define-interface' into (chicken module) Signed-off-by: Peter Bex commit 5881a38919d186dcb19ab66ce1e28c65780d938d Author: felix Date: Tue Jul 25 14:42:10 2017 +0200 Added keyword generation + reclamation to symbol-GC test commit d01ce7783209aff7b94e02ca168849d782cb04d4 Merge: 0ec220f5 2e2f1310 Author: felix Date: Tue Jul 25 14:41:34 2017 +0200 Merge branch 'chicken-5' of ssh://call-cc.org/usr/local/repos/chicken-core into chicken-5 commit 0ec220f5babc4006ee7a748a24c99178210aa2b1 Author: Peter Bex Date: Tue Jul 18 22:32:48 2017 +0200 Introduce an inline helper function to check for keywords. Symbols bound to themselves aren't always keywords, which would trip up the GC sanity check. To make it easier to change how keywords are represented, the keyword? predicate now also makes use of this new C_u_i_keywordp() function. Signed-off-by: felix commit 2e2f1310401b638f3749eea786294e5ef6ea7dd9 Author: Evan Hanson Date: Mon Jul 24 13:58:50 2017 +1200 Drop extraneous "-D" flag in csc man page commit b856a6e79f5ae221e507e5780c9c36570ae72c72 Author: Evan Hanson Date: Sat Jul 15 14:12:15 2017 +1200 Fix repository searching for "-link" flag and associated tests The part of the linking tests that was supposed to make sure the "-link" flag picks up object files from the repository was broken, since the reverser.o file that should have been *moved* into the test repository was *copied* there instead. This meant that a reverser.o was left in the current directory, and the test picked up that one rather than the one from the repo. Fixing this uncovered the fact that the behaviour it was meant to test was broken, too, so this patch also fixes that by updating the `find-object-file` procedure in csc.scm to use the same lookup logic that `##sys#process-require` uses for static extensions. It also factors some duplicated logic for finding files in the repository out into a new `find-file` helper in the load module, standardises the naming of the two procedures used to look up files for extensions, and uses internal namespacing to share these procedures between files. Also, use "rmdir" to make sure the test repository is always deleted before running the test suite on Windows. Signed-off-by: felix commit ef9bbaf53a23764ca5c581f6ad802c844763ae00 Author: Peter Bex Date: Tue Jul 18 21:50:04 2017 +0200 Rename with-error-to-* to with-error-output-to-* Signed-off-by: Evan Hanson commit f3360f5f5f1b21545baf0de8aa983eb7b281e57c Author: Peter Bex Date: Tue Jul 18 21:46:38 2017 +0200 Move set-buffering-mode! from posix{unix,win}.scm to port.scm There was no real reason for having the two implementations separated in Windows- and UNIX-specific POSIX files, so this just moves the definition. To avoid another ugly #define block, the ##core#inline is replaced with a simpler foreign-lambda*. Signed-off-by: Evan Hanson commit 54e9d7c65a979e21679650b6ccd102c456db5307 Author: Evan Hanson Date: Mon Jul 17 19:02:07 2017 +1200 Add compatibility shims for use of 'define-record-type' within core After 54b0d5ad, record type tags include a namespace prefix when defined within a module. However, when bootstrapping from an older version of CHICKEN, the compiler that's used to build the stage1 boot-chicken won't include these prefixes and the resulting chicken will bomb out with errors when building core. As a temporary workaround, we add a feature as an indicator of the new behaviour and revert to the old behaviour when it isn't registered. commit 54b0d5adcc855fcc299ad116b6d95f31f3f2de3d Author: Peter Bex Date: Fri Jul 14 13:51:24 2017 +0200 Get rid of "global namespace" for record types. Before, when define-record-type or define-record were used, the name that's passed in is taken directly as the tag. Therefore, if two completely unrelated modules define a record type (with a completely different layout), both predicates would accept each other's record objects. Worse, if an accessor was used on one of them this could be an unsafe operation resulting in segfaults and other Bad Things. This restores "applied zbigniew's record-rename patch (finally), added test-case", which is 727b2b3fea271474540f215af4842d32e82e7e6d. Thereby, we revert commit 045524a45217ff1eed79a73190d61c561999fba5. Furthermore, we now expose the "type name" as an identifier which is bound to the value of the type tag stored in the record. This is a requirement of both SRFI-99 and R7RS (see #1342), and ensures we can access the tag of a record type defined in another module. This is useful for the record-variants egg; it extends existing/predefined record types with new behaviour, but to do so it needs to be able to know what the tag is even if the record was defined in another module. Signed-off-by: Evan Hanson commit 9b21b70a4d195c5a4c9c49d05120579aa86ecb86 Author: LemonBoy Date: Wed Jul 5 13:29:23 2017 +0200 Elide pointless type checks in the lfa2 pass Some C_i_foreign_*_argumentp functions can be safely elided if we can prove the arguments have the correct type. Ranged integer checks can't be removed in general because the type system currently does not represent any range info. Integer literals could be removed, but doing so is not worth the added complexity right now. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 08f30102f3ec998a7372861b6ca52ab44db6c4d9 Author: Peter Bex Date: Fri Jun 30 21:39:04 2017 +0200 Simplify forwarding pointer wrapping/unwrapping The original version would take the high bit and put it in the low bit, clobbering what was there. That's okay because pointers are word-aligned so they won't have their lowest bit set anyway. Then the high bit would be set to mark the header as a forwarding pointer. But a much simpler way of achieving the same is to simply shift right by one and set the high bit. Signed-off-by: Evan Hanson commit 41489039e994bdd2981686b89a61ade2da25b93a Author: Peter Bex Date: Fri Jun 30 15:39:45 2017 +0200 Initialize symbol table after setting up randomization Otherwise, the symbol table wouldn't be correctly randomized. Signed-off-by: felix commit 55f28987049e8b6be3d7a79401621d428273d172 Author: Peter Bex Date: Fri Jun 30 15:39:45 2017 +0200 Initialize symbol table after setting up randomization Otherwise, the symbol table wouldn't be correctly randomized. Signed-off-by: felix commit abc3cf4dd97f77da2b6cc7c6c36937205ef2eea8 Author: Peter Bex Date: Fri Jun 30 15:28:08 2017 +0200 Fix unpersistability sanity check for symbol GC The sanity check we do just before dropping symbols from the symbol table will ensure that the "bound value" slot of a symbol is either empty or contains the symbol itself. If either is violated, the assertion check fails. This is correct, but keywords may have been moved by the GC and replaced with forwarding pointers. This means the symbol value slot could contain a forwarding pointer, which is definitely _not_ equal to the symbol itself. To fix this, before performing our sanity checks, we now fix up any forwarding pointers in the symbol's value. Signed-off-by: felix commit aad07d40a7b8dc60cd9a4a492bac377e2ad78a9b Author: Peter Bex Date: Fri Jul 14 14:02:01 2017 +0200 Remove chicken.posix#unmap-file-from-memory from types.db This was an oversight; that procedure is part of the memory-mapped-files egg now. commit 09740e031622a6dc7952753569c4acb32c641874 Author: Evan Hanson Date: Sun Jul 2 12:22:37 2017 +1200 Rework "glob->regexp" into "glob->sre" and add to irregex exports This was previously an internal procedure used variously within core, but it's useful enough to promote to an official API. So, simplify its interface (making it always return an SRE) and add it to the irregex library's exports. Signed-off-by: Peter Bex commit 92f023f28aa9b0455218ff8b92df92f043a8a81d Author: Peter Bex Date: Wed Jun 14 21:34:58 2017 +0200 Move several procedures from "posix" to "file" - delete-directory - glob - find-files This also moves the dependency on irregex from posix to file, since only these three procedures used irregex helpers. Signed-off-by: Evan Hanson commit cdcafde90b95e90fbb1e37e360597566240a029d Author: Peter Bex Date: Sun Jun 25 16:01:59 2017 +0200 Finalize (chicken load) by hiding `load' and `load-extension' `load-extension' was deprecated in favor of `require'. `load' must be exported by scheme, and it makes no sense to export it in two modules so we do not export it from (chicken load). This also adds those type database entries which were missing for the remaining exported procedures in (chicken load). Signed-off-by: Evan Hanson commit de47b3238022f82ee644bf67235d80221282dd2b Author: LemonBoy Date: Wed Jun 14 21:30:48 2017 +0200 Restrict define-foreign-type forms to the toplevel This brings this in line with how the other define forms work. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 3353cd1dabf0a90cacfeb3a85e1313a08ff20d0c Author: LemonBoy Date: Wed Jun 14 21:28:52 2017 +0200 Propagate the tl? flag to the inner definitions The define-foreign-type form defines some auxiliary functions using define and this was bound to always fail as we'd treat those as non-toplevel ones. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 8b2d3e765cb9644ea6c6ee6c9d9db1dc6da6d0b8 Author: Evan Hanson Date: Tue Jun 20 21:51:56 2017 +1200 Fix running "make check" without installing This is the second half of 934eecc, re-applied. The symptom is the same as in that commit (the static linking tests failing), and the fix is also more or less the same (passing "-static -lchicken" and letting the linker sort out the path to libchicken.a). Fixes #1366. Signed-off-by: Peter Bex commit 43b89bf60a3fbfa30eb0e09f2b068e0e986bda58 Author: Evan Hanson Date: Tue Jun 20 21:51:55 2017 +1200 Export CHICKEN_REPOSITORY_PATH for functor and linking tests This is one half of 934eecc re-applied to fix a problem when running `make check` without first running `make install`: when compiling and executing use-square-functor.scm in the functor tests, the import library for the "chicken" module wouldn't be found since it wasn't present in the target install directory. To fix this, we export the CHICKEN_REPOSITORY_PATH and CHICKEN_INSTALL_REPOSITORY variables so that the test executable looks there rather than in the install directory. Signed-off-by: Peter Bex commit 602295b1bac74388c2541dc067144a63efa88911 Author: Evan Hanson Date: Sun Jun 25 17:13:17 2017 +1200 Add make dependencies from {irregex,csi}.c to chicken.syntax.import.scm These were missing from 25b7bb7. commit 25b7bb7be92fd4b58bf3c18755711a2425781f6b Author: Peter Bex Date: Sun Jun 18 19:24:50 2017 +0200 Rename (chicken expand) to (chicken syntax) This adds a small hack to the chicken.import.scm import library to define chicken.syntax#er-macro-transformer and friends as aliases for their chicken.expand# version, if those are defined. This is required when building the new chicken with an old one, because the old compiler will load "chicken.import.scm", but the name mappings aren't right for anything that happens at expansion time if there are no definition from the chicken.syntax module inside that compiler's libchicken. We also make some internal definitions in expand.scm explicit, namely match-expression and expand-curried-define. This happened to work because the macros that use these definitions live inside the same unit of compilation. If we were to move them, things would mysteriously start breaking. Signed-off-by: Evan Hanson commit 7f5f51356040cd8a1c0a7f9243214bf4c3ba757a Author: Peter Bex Date: Fri Jun 16 19:54:42 2017 +0200 Fix some edge cases with symbol GC Symbols are never statically allocated, their name strings are, so the permanentp() check in update_symbol_tables was bogus. It might trigger collection of a symbol even though it would be statically allocated. This could potentially cause problems when generated C code accessed a symbol global through lf[...], for example, because its symbol would have been collected. Instead, we now ensure persistence in add_symbol, based on whether the symbol's string name is in non-GCable memory, and C_i_unpersist_symbol will now also check the string for being GCable before unpersisting. This commit also adds a very paranoid check to update_symbol_tables which detects such edge cases. This check found more edge cases: - When a symbol is immediately given a value in C_intern3, it should also be persisted. - If a static symbol is to be generated by C_h_intern, but it has already been created in the heap (a practical example is the pending-finalizers symbol), there is no guarantee that it will stick around after GC. So, if a symbol is found already in the symbol table, and its string name isn't statically allocated, we replace it by a newly allocated static string, to ensure that the code which created it won't allow the symbol to get GCed. - The code in eval.scm had a problem if a GC happened in between persisting the symbol and actually assigning the value. This is not a problem in practice, but persisting it after calculating the value is cleaner. We also use the inline operator for performance and to avoid a GC in between persisting and assigning. Signed-off-by: felix commit 752539dd4ca211f732ddcfb71da5b16a30c087a8 Author: Mario Domenech Goulart Date: Sun Jun 18 20:09:02 2017 +0200 egg-compile.scm: fix output filename when installing programs b45930ff accidentally clobbered a change made by 9a7d2ea3, causing `program' forms that don't specify `install-name' to install programs as `#f' in the filesystem. Signed-off-by: Evan Hanson commit 5bc3b2d25768f9bd89bafa3b9dd4b85376b0c10a Author: Peter Bex Date: Mon Jun 19 15:01:14 2017 +0200 Add foreign result size computation for enums and enum locations Also, error out instead of assuming 0 size when encountering an unknown type, because that is too dangerous an assumption. Finally, we improve the scrutiny type of "enum" to be "integer" rather than the nondescript "number". Signed-off-by: Evan Hanson commit a50d6871b38c0b43c450c0ed142122616e8e9948 Author: felix Date: Sun May 28 23:17:22 2017 +0200 chicken-install: allow to override host-bindir/-sharedir/-incdir by setting env var CHICKEN_INSTALL_PREFIX Signed-off-by: Mario Domenech Goulart commit 847b172baf18178b1d87fdb57d0d13b213c62607 Author: Evan Hanson Date: Sat Jun 17 12:32:20 2017 +1200 Move `module-environment' into chicken.eval To align more closely with R7RS's library organisation, we put the `module-environment' procedure in the "chicken.eval" module. Also, drop the [undocumented] second argument from the user-facing version of this procedure, and remove it from the plain "chicken" module. The dropped argument is still used internally, but doesn't need to be part of the public API. Signed-off-by: Peter Bex commit 0ab0a18b6a9bc7a09f82791ddacfd178f08b854a Author: Evan Hanson Date: Sat Jun 17 12:05:36 2017 +1200 Add "chicken.module" module This syntax-only library contains CHICKEN's "module language" and currently contains: module, import[-*], export and reexport. TODOs have been left in place to remind us to move `functor` and `define-interface` into this module, as well. Signed-off-by: Peter Bex commit 5de91e374edac1ba58b3f647abf190e4c4d10713 Author: Evan Hanson Date: Sat Jun 17 11:34:30 2017 +1200 Drop now-unnecessary exports from the "chicken.export" module As of afd7867, we can make these values available to the other files that need to use them without making them part of the chicken.export module's public API by assigning directly to namespaced identifiers. Signed-off-by: Peter Bex commit 88b0864d37236ec7c9db117b0902c10391d8297d Author: Evan Hanson Date: Tue Jun 13 08:20:18 2017 +1200 Move duplicated posix module declarations into posix.scm This deduplicates the import and export lists of the posix modules in posix{unix,win}.scm, which are identical as of f4e53ff with the exception of two extra imports needed on Windows for its implementations of `process` and `file-mkstemp`. These exceptions have been left in posixwin.scm as supplemental import forms, but the rest of the posix module now lives solely in posix.scm. Signed-off-by: Kooda commit c338315a211eef734b3413cb68bb17fde54c7947 Author: Peter Bex Date: Thu Jun 8 21:02:18 2017 +0200 Make syntax-rules fully self-contained All expansion time support code for the generated expanders is moved into a (chicken internal syntax-rules) module, which is not emitted, so it's not available to users, but expansions can use the things defined by the module through explicit reference to the fully qualified name. Signed-off-by: Kooda commit d2991ae44520cc49e4aecfdf6b8ff0c5a1bdcd3e Author: Peter Bex Date: Fri Jun 9 20:40:25 2017 +0200 Don't convert symbol->string foreign values in `define-foreign-variable` Foreign values that are not strings are now already rejected at the macro transformer level by the check introduced by d17df1bf, so this is a small bit of unnecessary complexity we can get rid of. commit 122640ea10f5c84661dd9e0851424f05b7fef301 Author: Peter Bex Date: Fri Jun 9 20:34:08 2017 +0200 Relax syntax check on `define-foreign-variable` 7079f685 was overly strict when checking the "string" part of the `define-foreign-variable` form. The documentation states that it must be a string, but we explicitly allow a symbol as well. There are eggs using this undocumented feature, like the "socket" egg, so we should continue to support it on CHICKEN 4. commit 057b54670df80bcbefbe8949460375539ac77d9f Author: Evan Hanson Date: Thu Jun 8 18:33:38 2017 +1200 Include posix-common.scm before foreign declarations in posixwin.scm This ensures that all of the C-space includes and helper functions from posix-common.scm are visible in the foreign code for Windows. This was already the case in posixunix.scm, but needed to be done for posixwin.scm as well to avoid build failures after 6810aaac. commit 35bba6c191f6cb2b4e73501c2598d3978843f660 Author: Evan Hanson Date: Thu Jun 8 18:56:28 2017 +1200 Don't try to use lstat in posixwin.scm (since there's no lstat on Windows) In the definition of "set_file_mtime" on Windows we need to use stat(2) instead, since there is no lstat(2) available on that platform. This is a minor difference from posixunix.scm. commit 0bc635e4f1afb745010db8ed9b6b9528821d01f0 Author: Evan Hanson Date: Thu Jun 8 17:10:36 2017 +1200 Replace missing chown stub in posixwin.scm This went missing in f4e53ff, causing build failures on Windows. commit 7e9044a83095f26824190e851b60360764183625 Author: Peter Bex Date: Tue Jun 6 21:28:21 2017 +0200 Fix size_t to map to unsigned 64-bit integers, add signed ssize_t Add a test case to ensure they can represent the proper range. Signed-off-by: Evan Hanson commit a77e710902d1bd6bd4a7e40fa3e72cd03529801b Author: Peter Bex Date: Tue Jun 6 21:06:57 2017 +0200 Do not truncate file times to 32 bits on 32-bit or LLP platforms in setter Signed-off-by: Evan Hanson commit e438290b27af82ecd267d794d66ae82b0f5d6c49 Author: Peter Bex Date: Tue Jun 6 20:27:36 2017 +0200 Get rid of ##sys# prefix in ##sys#stat commit dedc01d7d472331305775ba803fbf684ec7e23d1 Author: felix Date: Tue Jun 6 16:27:01 2017 +0200 chicken-install: egg-info validation was completely broken commit 252cc18a195afa0cd9695041c05b76ea34f56cb2 Author: Peter Bex Date: Sat May 13 13:28:48 2017 +0200 Move process-group-id and create-session to chicken.process-context It makes more sense here, considering current-process-id and parent-process-id are also in this module, and (chicken process) now only contains procedures for starting new processes or replacing the current process with a new program image. Signed-off-by: Kooda commit f4e53ffec0dc8c83ed89eadea2ae20f149e0d4a8 Author: Peter Bex Date: Sat May 13 13:06:36 2017 +0200 Improve consistency of posix interface between Windows and Unix Firstly, the export lists of the posix module didn't match up between the two platforms, which meant any program using process-spawn, the spawn flags or the open/noinherit flag for create-pipe (and for all the low-level "open" procedures in general, in fact), would have to cond-expand on platform. Now we define them as no-ops for UNIX and export them, so you can import them with impunity. These extra flags have also been added to types.db Secondly, the types of create-pipe, process, process* and process-execute didn't match up: the extra "exact-flag" argument for the process procedures and the extra "mode" argument for create-pipe were accepted only on Windows, and it would result in compilation warnings due to types.db not knowing about this. On UNIX, passing the extra "mode" argument to create-pipe would result in an error, but due to the specifics of how optional arguments are handled by CHICKEN, passing the extra exact-flag argument to the process procedures on UNIX wouldn't be a problem in practice. Nevertheless, you'd still get a compilation warning. This has now been fixed by explicitly adding the (unused) extra arguments to the procedures and the types.db entries. Finally, process-spawn was only defined on Windows, so any program that used it couldn't even be compiled on UNIX. Now we move define-unimplemented to posix-common and define process-spawn as unimplemented on UNIX. An entry for process-spawn has also been added to types.db. Its runtime type check has been improved from checking for any exact number (which is incorrect) to checking for a fixnum. Signed-off-by: Kooda commit 32c535fe6e7b089865cbbc9ba89d34dda107cc87 Author: Peter Bex Date: Sun May 14 12:27:05 2017 +0200 Split change-file-owner into set-file-{owner,group}!, add file-group An accessor for the file's group ownership was missing, so we add this. Just like for permissions, it makes more sense to have a symmetric set of getter & setter procedures, with a matching SRFI-17 setter, so the setter is renamed and split in two. This is also moved from (chicken file) to (chicken file posix), where it belongs. We also use fchmod() if a port or FD is passed in to make it consistent with the getter. Signed-off-by: Kooda commit cb3552baadceeafdae06b381365e9815f14f8f1a Author: Peter Bex Date: Sat May 13 20:53:45 2017 +0200 Rename change-file-mode to set-file-permissions! for consistency This includes a SRFI-17 setter on file-permissions as well. The new setter is moved from (chicken file) to (chicken file posix), because the getter lives in that module too. file-permissions is changed to return just the permissions, so that the values used by setter and getter are symmetric. Before, the getter would also return the file type from stat(), as in it returned the raw value of st_mode. This makes no sense for the name "file-permissions", I'd expect only the permissions. Note that this doesn't remove any functionality: we can still get the file type or any of the special bits using other getters, and if we want we can still use "file-stat" to get the raw underlying values. Finally, the setter is modified to match the getter in accepting both a string and a fd or port, using fchmod. On Windows, fchmod is implemented using GetFinalPathNameByHandle() followed by chmod(). To make this work, the Windows API version has been bumped to Vista. It's probably better to officially require Windows 7 or newer, though. Signed-off-by: Kooda commit 17c40571f6763b045e797c83cfacb34431fb953f Author: Peter Bex Date: Sat May 13 20:51:14 2017 +0200 Move common change-file-mode and file-*-access? code to posix-common The only difference is that in Windows, we don't have [RWX]_OK, but that we can easily define them in an #ifdef check. Signed-off-by: Kooda commit 1cc4c2525266511f5c99debc96e3d81859b383d2 Author: Peter Bex Date: Wed May 10 22:34:04 2017 +0200 Add "port" to accepted file timestamp argument types Signed-off-by: Kooda commit 6810aaac5be163fb3092f51ffc72a0debbd28459 Author: Peter Bex Date: Wed May 10 22:06:13 2017 +0200 Replace file-modification-time setter with set-file-times! procedure This reduces several inconsistencies and any resulting confusion: - file-access-time and file-change-time have no associated setter - The setter for file-modification-time sets both mtime AND ctime - The getters all accept strings, ports and file descriptors; the setter only accepts a string. While at it, the new procedure also makes it possible to omit the timestamps (in which case the current time is assumed), supply only one (in which case the old behaviour stays: we set both timestamps to the supplied time) or both (in which case you can set either to a different value). If #f is supplied, the specific time is unchanged. This behaviour is maximally compatible with the "specify both or none" behaviour from SCSH's "set-file-times" procedure (note the missing bang though), and with MIT Scheme's "set-file-times!" procedure where passing in #f means to avoid modifying the corresponding time. Signed-off-by: Kooda commit 5b3f2c5ec26914b10d8d3c9abed73550949cb6d6 Author: Peter Bex Date: Sun Apr 30 18:02:09 2017 +0200 Remove ##sys#nodups and ##sys#del The ##sys#nodups and corresponding ##sys#del procedures are just differently named (and specialisable) versions of delete-duplicates and delete from SRFI-1. So, we load mini-srfi-1.scm into csi.scm, and get rid of those definition in library.scm. We also get rid of the optional arguments in the SRFI-1 "delete" and "delete-duplicates" definitions because that's completely unnecessary for a fast internal API. Signed-off-by: Evan Hanson commit 7f3f0092f4fcdadbe2f12d98e1fcdebb5eb51841 Author: Peter Bex Date: Sun Jun 4 17:50:53 2017 +0200 Avoid compiler warning in embedded test on LLP platforms commit 46903e12645f4030ea373c1e5c4ba3391acd8466 Author: Peter Bex Date: Sun Jun 4 17:30:13 2017 +0200 Do not use labs() on C_words; llabs() is required on LLP platforms Instead, we define C_wabs to return absolute word. commit bb9d1f85ecadfd7ecb7f848c93d5f820f02a553e Author: Peter Bex Date: Sun Jun 4 15:50:16 2017 +0200 LLP is really called C_LLP... commit 24ea6e9c2ab0f4428fe3cb78628cf12bfb0ef897 Author: Peter Bex Date: Sun Jun 4 15:22:51 2017 +0200 Fix another format specifier that's wrong on LLP platforms dbg-stub contains basically a copy/paste of runtime.c's head, which is wrong in the same way as fixed by 9ceef43. commit 913e87b7d71914a6034f903ac03c679d7f9f76d1 Author: Peter Bex Date: Sun Jun 4 15:02:35 2017 +0200 Fix type of "phandle" argument for C_process on 64-bit Windows The C type declaration read "C_word *", but that's of variable width, depending on if we're on 64 or 32 bits. The argument was always passed as an "int *", so we use that in the declaration now too. commit 35c4952a1c680b319f4bc448bf4598370f5a7b30 Author: Peter Bex Date: Sun Jun 4 14:49:36 2017 +0200 Fix formatting specifier for Windows OS major, minor, build versions They're prefixed with "dw", in Hungarian notation, so they're unsigned long integers. commit 9ceef43e9013f718170d7be5006024e791434eb9 Author: Peter Bex Date: Sun Jun 4 12:59:03 2017 +0200 Fix formatting and alignment hole constants on 64 bit LLP platforms This cleans up the last runtime.c compilation warnings on 64-bit versions of Windows commit e99d29f3fbe5c56971b35fae7d7c819cc18fb4b6 Author: Peter Bex Date: Sun Jun 4 12:44:13 2017 +0200 Fix previous commit; the shift should be for an unsigned value commit 9f4578b9145d325922d6f0d155db86536e4afe6b Author: Peter Bex Date: Sun Jun 4 12:42:28 2017 +0200 Fix "UL" left shift constants which are too small on 64-bit machines Shifting left a value for more than the width of the value's type is undefined, even if the result is written into a wider type. This resulted in a hang on 64-bit Windows (and possibly other platforms with the same compiler) because "1UL" is a 32-bit quantity there. commit 86a2d8e0c5f07f69ceb28fd18fb1cd19bfdc1215 Author: felix Date: Sat Jun 3 17:44:04 2017 +0200 chicken-install: forgot to handle "modules" in egg-info validation commit b45930ff0485e03b1eebea479b01f8fd5324a78a Author: felix Date: Thu Jun 1 11:30:45 2017 +0200 chicken-install: add modules property to selectively build/install import libraries Signed-off-by: Mario Domenech Goulart commit 82c7c06067ad02f7e9914b3e42983c79ff6b1d3e Author: Evan Hanson Date: Fri Jun 2 15:35:08 2017 +1200 Relax syntax check on `define-foreign-type` 7079f685 was overly strict when checking the "type" part of the `define-foreign-type` form, which might be a complex foreign type and not just a symbol. commit a6b9105f77a1f34fbeb1997a778ccd6afa797121 Author: Evan Hanson Date: Fri Jun 2 15:35:08 2017 +1200 Relax syntax check on `define-foreign-type` d17df1bf was overly strict when checking the "type" part of the `define-foreign-type` form, which might be a complex foreign type and not just a symbol. commit 70014e53d7d8a7977c5bed0bc5da41621e642494 Author: Evan Hanson Date: Thu Jun 1 19:27:34 2017 +1200 Add CVE-2017-9334 to changelog commit 96209ed0e2ced8db489cdb886a68ce5e0c85d532 Author: Evan Hanson Date: Thu Jun 1 19:27:31 2017 +1200 Add CVE-2017-9334 to changelog commit 075e58335f5c0a054b8f01f32de424b383a792f0 Author: Peter Bex Date: Sun May 28 12:37:44 2017 +0200 Fix segmentation fault in "length" on improper lists. This fixes #1375. Signed-off-by: Evan Hanson commit a8b114660f5d49849e08b026817dc1900cbcc057 Author: Peter Bex Date: Sun May 28 12:37:44 2017 +0200 Fix segmentation fault in "length" on improper lists. This fixes #1375. Signed-off-by: Evan Hanson commit 7079f6853e4d9e3a339193420086e454825a6fd1 Author: LemonBoy Date: Sat May 27 22:58:31 2017 +0200 Check the syntax correctness for some constructs Forgetting to do so leads to segfaults in the compiler and suboptimal error messages for the end user. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit d17df1bf9af7dfb74f67a63118c9df65e4401645 Author: LemonBoy Date: Sat May 27 22:58:31 2017 +0200 Check the syntax correctness for some constructs Forgetting to do so leads to segfaults in the compiler and suboptimal error messages for the end user. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit d921f0bd678a75194e2af2610dc9af7d0a320b54 Author: Peter Bex Date: Sat May 27 15:59:51 2017 +0200 Improve type declarations for condition-manipulation procedures Condition kinds and properties do not have to be symbols: they can be any type of object. The only constraint according to SRFI-12 is that they must be comparable using eqv?, so all type declarations that assume they're symbols are wrong, strictly speaking. Signed-off-by: Evan Hanson commit cdaf6978004a1eb0f4bba5eb586a8cf8002ecea8 Author: Peter Bex Date: Sat May 27 15:56:29 2017 +0200 Improve type declarations for condition-manipulation procedures Condition kinds and properties do not have to be symbols: they can be any type of object. The only constraint according to SRFI-12 is that they must be comparable using eqv?, so all type declarations that assume they're symbols are wrong, strictly speaking. Signed-off-by: Evan Hanson commit 9a7d2ea3cf2708af43f8adadbb1bc6334b56f897 Author: LemonBoy Date: Thu May 25 15:53:30 2017 +0200 Respect install-name when specified. Do this for 'program' and 'extension' components. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit f0770c330de183017c0d4a6b17ab135e6f42af67 Author: LemonBoy Date: Mon May 15 20:19:37 2017 +0200 Keep the module module-defined-syntax-list updated When a macro is shadowed via a set! it is also removed from the macro-environment but not from the current module's export list. This leads to a compile-time error during the module finalization phase. Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit f69abb587b7ba04c3a582e54d3b396a00b9abde5 Author: LemonBoy Date: Mon May 15 20:14:42 2017 +0200 Use the raw variable name in env lookups and errors The current-environment and the macro-environment are alists whose keys are the raw variable names. Also, reword the error messages a little and add some unit tests. Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit 733f1c8fb843824540d154b86a785a21615a72a3 Author: Evan Hanson Date: Fri May 19 22:11:03 2017 +1200 Drop files.scm This was only left in place to ease the transition from the "files" and "posix" units to separate "file" and "file.posix" modules. Now that some of the smoke has cleared from other refactoring, we can finish the rename and drop files.scm. Signed-off-by: Peter Bex commit 479041d91e71cc242dc954090b943083d525e0d5 Author: Evan Hanson Date: Sat May 27 15:01:27 2017 +1200 Make `condition->list` use property lists for condition properties This makes `condition->list` use the same list-based representation of condition properties as the new `condition` procedure introduced in d6e89287. Where previously an association list-style representation was used (though it was not exactly an alist), we now use a property list. commit d6e8928745b3d9824b5e31dc1d0130a40b3632fb Author: Peter Bex Date: Sat May 20 14:25:54 2017 +0200 Add a more convenient way of constructing condition objects This "condition" constructor is inspired by Kon Lovett's "make-condition+" constructor from the condition-utils egg. This also adds a helper procedure for converting plist-style condition property lists to the internal structure of condition properties by consing the kind onto the property, followed by the value. This also is used in make-property-condition, which now gives a better error message when the property list argument isn't a list with an even element count. Signed-off-by: Evan Hanson commit 289254d054a72aa4365f8fab3d6f22492227a2aa Author: Peter Bex Date: Fri May 19 15:49:59 2017 +0200 Ensure some functions marked OBSOLETE are really unused These were supposed to have been removed before, but they were still used in the compiler. C_u_i_positivep and C_u_i_evenp, as well as C_u_i_evenp and C_u_i_oddp are supposed to be unsafe faster variants of their C_i_-prefixed brethren, but because the type analysis is more complicated now that we have more than 2 numeric types, the additional error check is not worthwhile to leave off. C_i_foreign_integer_argumentp and ##sys#foreign-integer-argument (which is its Scheme procedure) were still used by the "enum" foreign type specifier. This has now been replaced by a ranged integer check. According to the C spec, enums are represented exactly as integers, so we just use the same range as integers. The test suite was lacking a test for the enum foreign type, so this patch adds that as well. Finally, the rewrites for C_i_zerop and C_u_i_zerop were the wrong way around. Our rewrites are applied in order, and a safe rewrite is always allowed, so it would never get to the unsafe rewrite. We fix this by swapping them. Now, the unsafe rewrite is considered first, and if we're in safe mode, we reject it and try the safe one instead. Signed-off-by: Evan Hanson commit 9c8c2b695af29ad2090f878c97946f8deb79ed70 Author: Peter Bex Date: Fri May 19 15:19:45 2017 +0200 Replace explicit complex number construction with literals This construction was necessary when compiling with an older CHICKEN whose reader didn't support cplxnums. Signed-off-by: Evan Hanson commit 52c702a9291e7287f28e9dc47958bb6608925545 Author: Peter Bex Date: Sun May 21 18:54:38 2017 +0200 In the scrutinizer, do not assume big fixnums will fit into 32 bits When the scrutinizer applies a specialization for a fixnum, it should make sure it really is a fixnum. If compiling on a 64-bit platform, a fixnum literal might no longer be a fixnum when the program is running on a 32-bit platform. Thus, we check whether the literal is a big-fixnum? first. Unfortunately, we can't do the converse in CHICKEN 4: when compiling on a 32-bit platform, a "big fixnum" literal will always be read in as a flonum. However, this will result in consistent behaviour when compiling the resulting C code on 32-bit or 64-bit. Signed-off-by: Evan Hanson commit 48a294e3c28ae6329fe2c2c660347f23551fb324 Author: Peter Bex Date: Fri May 19 14:21:32 2017 +0200 Replace convert_string_to_number with simpler flonum-only decoder Now that decode_literal() no longer needs to be able to deal with the case that compile-time fixnums might decode at runtime to flonums when going from a 64-bit machine to a 32-bit machine, we can simplify this code a lot. We now also get rid of the "radix" parameter, because string->number no longer relies on convert_string_to_number. We could have removed "radix" sooner, but it made more sense to postpone until now. Similarly, because we only ever need to decode literals produced by the compiler, rather than arbitrary user input, we can radically simplify the parsing: just call strtod() and be done with it. We only need to take care about parsing nan and inf syntax, because ours might not coincide with libc's. The decode_literal() code itself is also slightly restructured: originally, a "large fixnum" would be encoded as \xff\xfe...\0 and a proper flonum would be encoded as just \xfe...\0. Now, we only need to process the latter encoding. Unfortunately, because size is not encoded in the string, we have to special-case the flonum type a little bit: instead of adding it to the final switch(), we have to do an if() check before the size is decoded. Signed-off-by: Evan Hanson commit 79d654ec75d152cea1c7b79696bc0ab8d071aff4 Author: Peter Bex Date: Fri May 19 13:05:46 2017 +0200 Remove obsolete, unused numeric procedures This just drops those primitives that have been unused but were only still present for bootstrapping reasons. Signed-off-by: Evan Hanson commit 0ee85097ce2471651c6aca04c470ee728040a9d0 Author: Peter Bex Date: Sun May 21 18:54:38 2017 +0200 In the scrutinizer, do not assume big fixnums will fit into 32 bits When the scrutinizer applies a specialization for a fixnum, it should make sure it really is a fixnum. If compiling on a 64-bit platform, a fixnum literal might no longer be a fixnum when the program is running on a 32-bit platform. Thus, we check whether the literal is a big-fixnum? first. Similarly, small bignums are rewritten to 'integer for the reverse situation: when compiling on 32-bit, a bignum might become a fixnum when running on 64-bit. Signed-off-by: Evan Hanson commit dfd07ef6acc8cc3ef383c2587b4079c0b0745d8e Author: Peter Bex Date: Sun May 21 18:23:12 2017 +0200 Remove #:foldable for fixnum-specific ops What's a fixnum on a 64-bit platform may not be a fixnum on a 32-bit platform, which might cause problems with unsafe specialisation. Signed-off-by: Evan Hanson commit 93f08c8d88ef5e42223d9447db55759a35e5c935 Author: LemonBoy Date: Fri May 19 22:45:28 2017 +0200 Add entries in the types.db for the fxX? ops Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit c67725039f61ef1f08c767837194fe7d5f8cb3ce Author: LemonBoy Date: Sun May 21 15:56:59 2017 +0200 Infer types for inline foreign references The inline{_loc}_ref nodes already carry their type, let's use this piece of information during the scrutiny phase instead of typing them as '*. Signed-off-by: Peter Bex commit 8a7c6ed2042440ae56fbdda8605c426c3bd0e1c4 Author: LemonBoy Date: Sun May 21 15:56:59 2017 +0200 Infer types for inline foreign references The inline{_loc}_ref nodes already carry their type, let's use this piece of information during the scrutiny phase instead of typing them as '*. Signed-off-by: Peter Bex commit 1a0a597e9822bcc91bcfb2317fdf9832e0e5cbff Author: LemonBoy Date: Mon May 15 19:58:17 2017 +0200 Small code cleanup in the expander Merge ##sys#undefine-macro! with ##sys#unregister-macro since the latter was just a wrapper around the former. Signed-off-by: Evan Hanson commit e7ac2858cf153c91c62a6bf48dee27e0577f2dbc Author: Peter Bex Date: Fri May 19 16:32:01 2017 +0200 Remove in-source documentation for read-buffered; it's in man/5 commit 4c6b21b0986937433dbcb76d4f9c424ab46ca571 Author: Evan Hanson Date: Sat May 13 19:55:48 2017 +1200 Kill unused "##sys#call-with-direct-continuation" procedure Signed-off-by: Peter Bex commit 76b871f13a6e63165c508b91fc0c2dc5f1ea801a Author: Evan Hanson Date: Sat May 13 19:55:47 2017 +1200 Drop "##net#" qualifiers in tcp module Signed-off-by: Peter Bex commit abaa77307a7833665c25a62ae2733d0cc81168da Author: Peter Bex Date: Fri May 19 16:18:58 2017 +0200 Temporarily restore ##sys#read-string[!]/port for bootstrapping The optimizer will apply the read-string rewrite in c-platform, which means an old compiler will rewrite it to a ##sys#read-string call. After the next snapshot is made, we can drop this again. commit 25064a3cc08c2f55308a9242f9558d65071c2848 Author: Evan Hanson Date: Sat May 13 19:55:46 2017 +1200 Use "internally-namespaced" aliases for read-string[!]/port procedures Replace `##sys#read-string/port' and `##sys#read-string!/port', both of which are defined in extras.scm but also used in srfi-4.scm, with module-namespaced (but still internal) names. Also, reshuffle their argument checks so that the internal procedures trust their argument types and all the "##sys#check"-ing happens in the user-facing variants. This gives slightly better error locations when bad values are passed to `read-u8vector'. Signed-off-by: Peter Bex commit 7a45fad59f226d9d0321d6fa020dc4908a0bed31 Author: Evan Hanson Date: Thu May 18 11:25:56 2017 +1200 Drop (provide* ...) compatibility shims These were only there for compatibility when bootstrapping from CHICKEN 4, to make any units that are run early in startup indicate that they'd been loaded (this is done automatically for units compiled with 5.0.0). Now that we have a snapshot release, these can go away. Signed-off-by: Peter Bex commit d3c44a5f74ea8c8461ab0bdb74c4ece07eae32b7 Author: Peter Bex Date: Sun May 7 21:20:32 2017 +0200 Add syntax exports to chicken.condition The macros condition-case and handle-exceptions really belong to chicken.condition, but adding macros to library.scm is problematic because the module and eval units rely on library, whereas to add macros you'll need to use those two, causing a cyclic dependency. This dependency cycle is why we have a separate chicken-syntax unit. So, we keep the definitions there, but we add them to a separate syntax environment which we use in a hand-rolled import library, which we use in lieu of an emitted import library based on the module definition (which does not contain said macros). Because we no longer emit the import library, the compiler would generate a call to eval to register the module at least in the current compilation unit. To suppress this, we add -no-module-registration when compiling library.scm. Finally, to allow compilation with an older version CHICKEN, we use the original syntax environment from chicken if the new chicken.condition-macro-environment environment is undefined. This is strictly incorrect because too many macros will be exported by the chicken.condition module, but that's not a problem in practice, and once we have a bootstrap CHICKEN we can get rid of this hack. Signed-off-by: Evan Hanson commit c8608b99cd9c5c0319cacbeddbd9627f6b37c763 Author: Peter Bex Date: Sun May 7 16:45:16 2017 +0200 Add chicken.condition module Signed-off-by: Evan Hanson commit a1da96ffa0992e25013d7f242017ef137369e799 Author: felix Date: Wed May 17 08:32:49 2017 +0200 Previously, "install-inline-file" installed the inline file in place of the types one, rather than to the correct path. Also remove the executable bit when installing files that have no reason to have it. Submitted by LemonBoy Signed-off-by: Evan Hanson Signed-off-by: Felix Winkelmann commit 38c4467fd1c08a42a030390c38c29ec36e7ba8fe Author: Peter Bex Date: Mon May 15 20:51:58 2017 +0200 Add CHICKEN_DEBUGGER_PROGRAM to clean target This was missing, so the generated "feathers" script would stick around after a "make clean" or "make spotless" Conflicts: rules.make commit 736b85bfafdfd01a2665545469092666b1ac1c6a Author: Peter Bex Date: Mon May 15 20:51:13 2017 +0200 Add CHICKEN_DEBUGGER_PROGRAM to clean target This was missing, so the generated "feathers" script would stick around after a "make clean" or "make spotless" commit afd7867444fa5f378a241296b1d43479e98fc37a Author: Evan Hanson Date: Sun May 14 18:25:49 2017 +1200 Exempt explicitly-namespaced symbols from module aliasing This adds an "escape hatch" to variable resolution for namespaced symbols (e.g. `foo#bar`), allowing them to be used across module boundaries just like qualified symbols. This is done by simple string scanning of the identifier's name, which is emphatically not ideal as it means the compiler has to do more work as it checks whether a symbol is "namespaced" or not. The performance of generated programs isn't affected (besides `eval` of course), but we will still want to fix this before too long, probably when fixing #1077. To help mitigate the problem in the meantime, the patch makes sure the scanning procedure is always inlined. The one test case that checked for the inverse behaviour (no visibility of unimported namespaced symbols) has been removed. This change also avoids unnecessarily hiding identifiers when qualified symbols are bound to a value within a module. Previously, things like '|foo#\x03sysbar| would be marked hidden despite never being bound, since ##sys#toplevel-definition-hook wouldn't considering whether or not the symbol would really be aliased by ##sys#alias-global-hook. This didn't cause any problems, but it was inaccurate. Signed-off-by: Peter Bex commit 82151166675a3e2d01bc26fe8c299832909b2eb1 Author: Peter Bex Date: Sun May 14 16:49:45 2017 +0200 fx+?, fx-?, fx/? and fx*? are now documented commit edac191b3fda46c0ba07d65faf24f0336806560d Author: Peter Bex Date: Sat May 13 11:43:33 2017 +0200 Also add irregex-match-end-chunk to irregex exports commit 0b4c055becbf27356d162443c44415f89ebc3dd2 Author: Peter Bex Date: Mon May 8 19:41:05 2017 +0200 Only export documented procedures from chicken.irregex The chicken.irregex module exported lots of internal procedures that are useless or even dangerous, like irregex-flags and irregex-dfa/search. This is confusing and results in an environment with more identifiers than one would expect. Signed-off-by: Evan Hanson commit e4ce23f161cfcd234cb15be0fabd75bc53091fc2 Author: Evan Hanson Date: Wed May 10 22:06:41 2017 +1200 Put file-modification-time with file-{access,change}-time commit f9fec0d57745ca4e3101a99ff3473274c8ade6b3 Author: felix Date: Tue May 9 15:51:49 2017 +0200 NEWS: added changes to egg stuff, CHICKEN_PREFIX + new features commit a9aa473c1eca290cb353e56be10a86e38cac019f Author: Peter Bex Date: Mon May 8 19:47:22 2017 +0200 Update data representation with numerics and "weak pairs" commit 000c56b1e12f97cade11c39646fcdc10706ae448 Author: Evan Hanson Date: Sun May 7 22:31:48 2017 +1200 Import chicken.eval in load module This fixes bootstrapping with CHICKEN 4 by making sure "eval" is resolved to the right name inside chicken.load (otherwise, it would be unqualified and result in an error due to an undefined procedure). commit d6fbe659999b1c1832b75727f8e1fc852d00f443 Author: Peter Bex Date: Sat May 6 14:49:42 2017 +0200 Fix "backslashify" (again) to correctly double any backslashes. This was fixed in master as part of 37f94e90aeb1f. When cherry-picking this to chicken-5, this apparently got lost because the procedure was moved from the file in which it originally appeared in commit 50ee93d8db6586e2cda387ed9f86cf62ddb3f8fe, whereas the cherry-pick happened later. Signed-off-by: Evan Hanson commit 66399b7bd8595b4debef4b8f756fe106fce4a00d Author: Peter Bex Date: Sat May 6 16:17:01 2017 +0200 Get rid of interactive prompts during install on mingw. Due to dae44b93b02118c70c98cfd47041061b66bc0f0f, we now install manpages to a different target filename than the source filename has. Because we're using XCOPY, when we're installing to an empty directory, it asks us whether we intend the target to be a differently-named target *file*name or a newly-to-create *directory* under which it should place the file with the original source's filename. Because XCOPY has no switch to tell it to force interpretation of the final path component as a file, only as a directory (sigh, Windows...), we can't use it. Luckily, we only ever use the /Y flag, which COPY also has. So, COPY is effectively equivalent to XCOPY in all the situations we use it in. Therefore, switch to copy instead. Signed-off-by: Evan Hanson commit 2c34b3f049e9304f96bc55661e1722a4f3fdc5ac Author: LemonBoy Date: Wed May 3 21:06:11 2017 +0200 Fix the check for valid C identifiers We want to check the whole identifier, do not exit after the first successful check. We also add some tests for valid-c-identifier? Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit c259067a18c9905dcfca4904e4490c82663bc2ed Author: LemonBoy Date: Wed May 3 21:13:07 2017 +0200 Show the location in some more error messages. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 0d7152d08c1293436c188214828b01a3276fbafe Author: LemonBoy Date: Wed May 3 13:42:30 2017 +0200 Fix an oversight in define-external-variable handling Signed-off-by: Peter Bex commit 731429d315d462628f4c817b5abafc45a75e665e Author: Evan Hanson Date: Tue May 2 19:33:24 2017 +1200 Split eval.scm into chicken.eval and chicken.load modules This reorganises things in eval.scm so that two sets of procedures, those supporting `eval` and those dealing with code loading, can be logically grouped, allowing us to create a new, self-contained "chicken.load" module dedicated to the latter. Most of this patch is just swapping two large hunks around: the code relating to environments moves up the file into the existing chicken.eval module, while the foreign variables and constants that relate to dynamic code loading move down the file into a new chicken.load module. Signed-off-by: Peter Bex commit 535189477983ed973fe8a5587d1b638b4cae7720 Author: Peter Bex Date: Thu Apr 27 17:43:13 2017 +0200 Restore macro-expansion in canonicalize-body's "main" loop In commit c9220247dbcdf6fd39697b428cfd40068244219a, we removed a little bit too much: the original code's expansion in the main loop would expand begins and defines at the root level, which means they'd be "flattened" into the same letrec. This broke a few situations that are technically somewhat iffy, like (let () (define (foo) bar) (begin (define (bar) 1) (foo))) which would error out instead of returning 1, because the begin would stop the main loop and inject a new letrec, acting as a barrier, which means later definitions are in a new scope that the earlier definitions would not be able to see. Also, if there's an macro that expands to "define", that would also be put in its own letrec because macro-expansion would stop the current collection of vars and mvars, much like the aforementioned begin. Signed-off-by: Evan Hanson commit e603067dee750ec34f7cf9574377c55d3552e796 Author: Evan Hanson Date: Mon May 1 17:54:10 2017 +1200 Drop extension-information Signed-off-by: Peter Bex commit 3591398e5e6145cdf62dc6d107b2361838f19b3b Author: LemonBoy Date: Mon May 1 13:27:06 2017 +0200 Make fx*? aware of non-fixnum arguments This brings it in line with the other overflow-aware operators. Signed-off-by: Evan Hanson commit 4ca6d3d664025866efd1b206ddb6ea20bbfb87e8 Author: LemonBoy Date: Mon May 1 13:27:06 2017 +0200 Make fx*? aware of non-fixnum arguments This brings it in line with the other overflow-aware operators. Signed-off-by: Evan Hanson commit c822d87b006dceb35b37f4afe77154fc561bd8d6 Author: LemonBoy Date: Tue May 2 16:31:53 2017 +0200 Prevent the use of an unbound variable Signed-off-by: Evan Hanson commit 0d2bf2587c5f2f874f1934cb3ba7fc069e059ced Author: Evan Hanson Date: Sun Apr 30 11:32:51 2017 +1200 Fix chicken-install error when user declines egg upgrade Previously, chicken-install would blow out when the user declined an egg upgrade, since the `dependencies` list would contain an entry that was not present in `canonical-eggs` and #f would appear the ordered egg list. To fix this, we just filter declined eggs from the ordered list. commit b0b860046e45411b90b7d02a59bf030b67435224 Author: Evan Hanson Date: Sun Apr 30 11:21:44 2017 +1200 Mark "static" parameter to ##sys#process-require with a question mark commit 970d23e98c9104d6d0f48ef519f0f8f68f53d151 Author: Peter Bex Date: Sun Apr 30 17:19:09 2017 +0200 Move low-level hash tables to the "internal" unit & module. Low-level hash tables were in eval.scm, but that unit itself no longer uses any hash tables directly, so it makes no sense to keep it there. By moving it to chicken.internal, we can also get rid of the ##sys# prefixes on each of these procedures, which cleans the code up considerably. This should also make custom builds _without_ the eval unit easier, because it turns out that quite a few units were relying on eval by way of low-level hash tables. This was also obscured by the fact that the "uses" declarations didn't mention eval. Signed-off-by: Evan Hanson commit 02da789dba6194243f3baf180ab19fa2c6278772 Author: Peter Bex Date: Sun Apr 30 18:34:34 2017 +0200 Remove feature? from cond-expand's SE The macro's expansion doesn't use feature?, the macro itself does. commit 5943e1b52d12af895930934011eda29e2b4901c9 Author: LemonBoy Date: Sun Apr 30 09:50:38 2017 +1200 Remove unused parameter in 'walk' Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit dbab26ec540ed1865c3bbaff046fb5ebcd991c57 Author: felix Date: Sat Apr 29 12:07:46 2017 +0200 chicken-status: make -all the default behaviour Signed-off-by: Evan Hanson commit 07f9be43ba313274832a4dd7530b7b2d811cf884 Author: felix Date: Sat Apr 29 12:24:30 2017 +0200 Drop CHICKEN_PREFIX Signed-off-by: Evan Hanson commit 71c74491a1c839aa509f188a04a49f675398baa1 Author: Evan Hanson Date: Sat Apr 29 19:10:45 2017 +1200 Fix makedist.scm after new-egg-install changes commit b244e088f1e7cc24d20aa8d5de8051f05ffb3009 Author: Evan Hanson Date: Sat Apr 29 19:14:08 2017 +1200 Drop unused variable assignments from test scripts Also, reorganise things slightly so that the Windows and Unix scripts are a bit more similar. commit 10ee201732c23d6c52ff8ec419bddd610f9b8d47 Author: Evan Hanson Date: Sat Apr 29 19:08:54 2017 +1200 Drop unused ##sys#read-from-string procedure commit 790907d3b8d11cedec227468b1486a838d2ede74 Author: Peter Bex Date: Sat Apr 22 22:12:20 2017 +0200 Move some procedures from chicken.eval to chicken.platform These are: chicken-home, extension-information, repository-path and installation-repository. provide and provided? should probably go to chicken.load, considering those directly interact with require, which has more to do with code loading than platform features. So they stay put in chicken.eval. The entire module is moved down to the end of library.scm, because some of these definitions take strings from C using the FFI, and the FFI will inject calls to ##sys#make-c-string in the code, which is defined pretty late in library.scm. Signed-off-by: Evan Hanson commit fad0550f6afef54fd3a30752ff0551d7c78b5991 Author: Peter Bex Date: Sat Apr 22 21:37:25 2017 +0200 Add chicken.platform module (incomplete) Signed-off-by: Evan Hanson commit 4d41a53505ef09e81349a3656daf141656b7ad0a Author: Evan Hanson Date: Wed Apr 26 17:45:12 2017 +1200 Fix incorrect sprintf in "csc -version" handling commit cf76721066420a29bf1d79de99c86caf15efe3ca Author: Evan Hanson Date: Wed Apr 26 17:20:55 2017 +1200 Man page cleanup - Remove references to CHICKEN_INSTALL_PREFIX. - Move all "help" and "-version" flags to the top. - Wrap long lines. - Document some missing options for the new egg tools. - Bump modification dates. - Standardise option descriptions to use sentence case with full stops. - A handful of other small macro syntax and typo fixes. commit 656a03e48e746fc5b800ca3fe6bc5aded271bc73 Author: felix Date: Mon Apr 24 11:15:20 2017 +0200 setup.defaults: drop temporary location for C5 development eggs commit f948de18492e1da00ab8955e1a593e3664a38d03 Author: Mario Domenech Goulart Date: Sun Apr 23 20:05:29 2017 +0200 chicken-install: Update list of short options Also sort them according to the order printed by chicken-install -h. Signed-off-by: Evan Hanson commit c672de1ae2d53a67254c195344c493eed3617383 Author: Mario Domenech Goulart Date: Sun Apr 23 19:55:52 2017 +0200 chicken-install: Add note to docs about -list-version being for HTTP transport only Signed-off-by: Evan Hanson commit 7b3b3900243554ee35ed00f0a9973665ae9d8500 Author: Mario Domenech Goulart Date: Sun Apr 23 19:50:12 2017 +0200 manual/Extensions: Update documentation for chicken-status command line options - Remove -prefix (not implemented in the code) - Sort options according to the order displayed by chicken-status -h - Document -components Signed-off-by: Evan Hanson commit 6353a79abf1049335bdab14354dc8682cfb4259c Author: Mario Domenech Goulart Date: Sun Apr 23 19:47:05 2017 +0200 manual/Extensions: Update documentation for chicken-uninstall command line options - Remove -prefix (not implemented in the code) - Sort options according to the order displayed by chicken-uninstall -h Signed-off-by: Evan Hanson commit 1c3bae79df13de019200385947996d9eff82b935 Author: Mario Domenech Goulart Date: Sun Apr 23 19:43:40 2017 +0200 chicken-install: Document -v and add long option for it -v was the only option without a long counterpart, so add -verbose. Signed-off-by: Evan Hanson commit 8833742be9d4d3d37cb8de881cbd733801e59662 Author: Mario Domenech Goulart Date: Sun Apr 23 19:42:54 2017 +0200 manual/Extensions: Update documentation for chicken-install command line options - Remove -location and -transport (not implemented in the code) - Document -no-install-deps and -purge - Sort options according to the order displayed by chicken-install -h Signed-off-by: Evan Hanson commit c7148d0bcb39845075aa9f6a67e7a2f53742a93a Author: Evan Hanson Date: Sun Apr 23 17:05:57 2017 +1200 Add `generated-source-file` to "chicken-status -c" output commit 1a2e3bcc2bdd102368e127950c5831c37a760321 Author: Evan Hanson Date: Sun Apr 23 16:50:29 2017 +1200 Re-prompt on invalid uninstallation confirmation response As with 59b5a657, but for chicken-uninstall. commit 59b5a6576b2b305f32905008d29122b97b93123f Author: Evan Hanson Date: Sun Apr 23 15:41:19 2017 +1200 Re-prompt on invalid input in replace-extension-question This redisplays the "replace extension? yes/no/abort" prompt when the user enters an invalid response on egg upgrades, so that it's clear chicken-install is still waiting for input. Also, fix the indentation of the procedure's `filter-map` form. commit bc03800a86f85469075f58c40ab4ba98ff9b3cab Author: Peter Bex Date: Sat Apr 22 15:12:50 2017 +0200 Fix #1169 by deleting the egg-info file before (re)creating it If the user used "chicken-install" without sudo before, and later they use "chicken-install -s" to reinstall the same egg, the egg-info file will still exist. This means the shell redirect will simply clobber the existing file. Removing it first and then writing it will ensure the file is using the new owner and umask. Signed-off-by: Evan Hanson commit 6da4f74ad51c9cca1ad8efe6af8574d437b26ba2 Merge: 9b428de8 0a8b4519 Author: Peter Bex Date: Sat Apr 22 14:16:01 2017 +0200 Merge branch 'chicken-5-new-egg-install' into chicken-5 commit 9b428de837c60f37cf2fbbfd32935d150b47e0b1 Author: Peter Bex Date: Sat Apr 15 16:20:35 2017 +0200 Bump binary compatibility version to 9 We haven't done so for CHICKEN 5, and it definitely is not compatible with the current release of CHICKEN 4 anymore. Signed-off-by: Evan Hanson commit a959524b84c44bfb675fb6933350ccddbdfc0f11 Author: Peter Bex Date: Fri Apr 14 17:17:45 2017 +0200 Remove unnecessary double alias for already aliased renamed identifiers. This was an overly complicated solution for #518, which was only necessary because of the bogus "lookup" call when renaming. Now that we don't undo a macro-alias on renaming anymore, but only look up already-renamed identifiers in the syntax env, this case is no longer triggered, so we fall back to the "else" clause, which will cause the symbol to be aliased normally. All the sample code snippets from that ticket behave identically with and without this patch. Signed-off-by: Evan Hanson commit 41d48cdba2e46645c7dd157525652aa3953aed6c Author: Peter Bex Date: Fri Apr 14 17:17:45 2017 +0200 Remove unnecessary double alias for already aliased renamed identifiers. This was an overly complicated solution for #518, which was only necessary because of the bogus "lookup" call when renaming. Now that we don't undo a macro-alias on renaming anymore, but only look up already-renamed identifiers in the syntax env, this case is no longer triggered, so we fall back to the "else" clause, which will cause the symbol to be aliased normally. All the sample code snippets from that ticket behave identically with and without this patch. Signed-off-by: Evan Hanson commit 0d7f83f4cfcb17d834331a34dac1fe57cab9ce55 Author: Peter Bex Date: Fri Apr 14 16:49:54 2017 +0200 Do not undo macro renaming when renaming twice. The "lookup" procedure will try to look up the renamed identifier in the syntax env and if that fails, it checks whether the looked-up identifier is an alias of another identifier, in which case it returns the original identifier. This fallback behaviour causes problems when we rename an identifier twice. In normal use, that doesn't tend to happen (but it could). When using IR macros, this happens all the time, because the input form is completely renamed first, and then the output form is reverse-renamed (renaming any "plain" identifiers in the process). This behaviour will "collapse" any plain identifiers, so that, on the reverse rename, they are mapped to the same identifier as those from the input form. This fixes ticket #1362, as found by Megane. Signed-off-by: Evan Hanson commit 9473076e7daa2945c8233667db9495177ee34e6c Author: Peter Bex Date: Fri Apr 14 16:49:54 2017 +0200 Do not undo macro renaming when renaming twice. The "lookup" procedure will try to look up the renamed identifier in the syntax env and if that fails, it checks whether the looked-up identifier is an alias of another identifier, in which case it returns the original identifier. This fallback behaviour causes problems when we rename an identifier twice. In normal use, that doesn't tend to happen (but it could). When using IR macros, this happens all the time, because the input form is completely renamed first, and then the output form is reverse-renamed (renaming any "plain" identifiers in the process). This behaviour will "collapse" any plain identifiers, so that, on the reverse rename, they are mapped to the same identifier as those from the input form. This fixes ticket #1362, as found by Megane. Signed-off-by: Evan Hanson commit 89f418de361960420ff0f4cf97179d61514b26f7 Author: Kristian Lein-Mathisen Date: Thu Apr 13 14:15:07 2017 +0200 Use s8vector-set! for the s8vector-ref's setter This fixes a bug where u8vector-set! was used instead. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 04d9ec68159151ab9800dd04cf35bf63dc3de7da Author: Kristian Lein-Mathisen Date: Thu Apr 13 14:15:07 2017 +0200 Use s8vector-set! for the s8vector-ref's setter This fixes a bug where u8vector-set! was used instead. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit a116f30b77b79a3b9a732bdd334e7125e4ad79f6 Author: Evan Hanson Date: Tue Apr 18 22:52:21 2017 +1200 Move delete-directory tests into posix-tests.scm This moves the dotfile and symlink-related behaviour checks for `delete-directory` into posix-tests.scm and out of the test scripts themselves, and removes a potentially dangerous operation that would symlink to a system directory when deleting files. Signed-off-by: Peter Bex commit 0a8b45194e2123b5bcaac1beb1795a9498975edd Author: felix Date: Sat Apr 15 17:44:34 2017 +0200 don't remove remover.o from current dir, stupid commit 6b433ea1eae6f0b698b6c4c10eeae579d7f9c9cb Author: Moritz Heidkamp Date: Fri Apr 14 16:22:39 2017 +0200 Fix char-ready? on EOF for string input ports char-ready? on string input ports would return #f when they've reached the end of their underlying string. However, char-ready? is supposed to return #t in this case. Signed-off-by: Peter Bex commit 822a03ddca4c6faf2a147553977acbc89e5fa7b2 Author: Moritz Heidkamp Date: Fri Apr 14 16:22:39 2017 +0200 Fix char-ready? on EOF for string input ports char-ready? on string input ports would return #f when they've reached the end of their underlying string. However, char-ready? is supposed to return #t in this case. Signed-off-by: Peter Bex commit 9381c498521117be43f1714c8513b9604361e403 Author: felix Date: Wed Apr 12 13:23:28 2017 +0200 csc: dropped redundant change, that was taken care of earlier. commit 68cab8d13c919ae823a64020b830423bb4133ae1 Merge: a9eed487 81c46e5f Author: felix Date: Wed Apr 12 13:22:36 2017 +0200 Merge remote-tracking branch 'origin/windows-fix' into chicken-5-new-egg-install commit 81c46e5fc13f4048873db7b49d49263059b2c34d Author: Kooda Date: Mon Apr 10 17:03:19 2017 +0200 Make the chicken-do make rule work on windows, also add a missing dependency for chicken-install. commit cd7a2666df9e8af5f06a31a1c7d70466c157f6bc Author: Kooda Date: Mon Apr 10 16:58:00 2017 +0200 Make chicken-install scripts generation work on Windows Replaced xcopy with copy in a few places to avoid the annoying “Is the target a file or directory” prompt. Fixed a few whitespaces, backslash vs slash and escaping issues. commit 2c101996f7225806b70508be76aeeddaaa716122 Author: Kooda Date: Mon Apr 10 16:56:39 2017 +0200 Make csc output the desired file in compile-only mode commit 5630ce1f12a926f256c3d8c58c5d98c646b8234a Author: Kooda Date: Mon Apr 10 16:51:54 2017 +0200 Make chicken-do work in Windows. commit a9eed4873151d6a4562ad9e4093db204bde99647 Author: felix Date: Mon Apr 10 11:36:27 2017 +0200 dropped .meta/.setup from reverser test egg and added .egg files commit 399e46fbfcb06b604b7944bb6ae02166bf6a2637 Author: felix Date: Mon Apr 10 11:34:28 2017 +0200 eval.scm: more merge debris commit 1169e68f98e16f5a9d728e1a23a85cf015167a31 Author: felix Date: Mon Apr 10 11:34:20 2017 +0200 csc: fix broken find-object-files (only returns a single file) commit 9b9f938d694826d0eac264f9f6d66d1b53e28d76 Author: felix Date: Mon Apr 10 11:33:53 2017 +0200 csc: repaired merge debris commit f1a0e50df11314348ea7e99ceb050f5193959042 Merge: fac09ea8 541035ef Author: felix Date: Mon Apr 10 10:57:58 2017 +0200 Merge remote-tracking branch 'origin/chicken-5' into chicken-5-new-egg-install Conflicts: chicken-install.scm csc.scm eval.scm tests/runtests.sh commit 883431cab63dd357e8f70e745d9ed45f4045d9b1 Author: Peter Bex Date: Sun Apr 9 13:49:26 2017 +0200 Add feature macro for NetBSD NetBSD does not expose all of its own stuff with _BSD_SOURCE. For that, you also need _NETBSD_SOURCE. Without this, "NSIG" (and probably other things too) is undefined, because it's declared conditionally in sys/signal.h on _NETBSD_SOURCE. Signed-off-by: Evan Hanson commit 541035ef5794c53609e2e15451e8f5252d5f230b Author: Peter Bex Date: Sun Apr 9 13:49:26 2017 +0200 Add feature macro for NetBSD NetBSD does not expose all of its own stuff with _BSD_SOURCE. For that, you also need _NETBSD_SOURCE. Without this, "NSIG" (and probably other things too) is undefined, because it's declared conditionally in sys/signal.h on _NETBSD_SOURCE. Signed-off-by: Evan Hanson commit b9898e4d1ae404b04316351c5de9329e7aa336b5 Author: LemonBoy Date: Mon Mar 27 16:05:23 2017 +0200 Fix a bug in scan-toplevel-assignments walk routine Commit [ac8f2dadd] introduced a bug in the node walking routine. We end up evaluating only the first two subexpression for some kind of nodes, this means the else branch for if/cond nodes is never walked and neither is most of ##core#switch since we stop the walk at the first constant node. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit ae578568d3c6ca9dcb775217a90d77ffae1d7725 Author: Peter Bex Date: Sun Apr 9 15:20:51 2017 +0200 Reject define-values in expression contexts. This allows us to detect when define-values is being used in an expression context, without it inadvertently defining toplevel variables. To make this work, ##core#define-toplevel is now removed in favour of a new ##core#ensure-toplevel-definition. All defining forms will expand to a call to this new core form plus a set!. The tests for define in expression context were incorrect too, the expression would result in an error (as expected) even if define didn't error, because + would receive a void value. Signed-off-by: Evan Hanson commit fac09ea88dde8d8e80335e8fdf9d4378fd315b4e Author: felix Date: Sat Apr 8 23:44:16 2017 +0200 small rewording in error message commit 5fa67777f2cddf12b2fb53049ae7cae8de42fa6e Author: felix Date: Sat Apr 8 23:31:35 2017 +0200 chicken-install: set DYLD_LIBRARY_PATH on Mac OS when running build/install script, if needed commit addda2107c3bea7ec1fc73b2e247c4b3bd0753e9 Author: felix Date: Sat Apr 8 23:11:48 2017 +0200 csc: drop "prefix", use correct libname when cross-compiling, lookup .o files in csc now commit d36ecf75bf9eb596c312f1cd7a80a5a670627a1b Author: felix Date: Sat Apr 8 23:09:30 2017 +0200 target/host use same link file commit 48724eb0c2b0d4a45e23817aa2b5b776cf836bfc Author: felix Date: Sat Apr 8 23:09:11 2017 +0200 drop directory from files in link file commit 80ab83ce75c98c4b14b59bc02a6361db3fb1b6d4 Author: felix Date: Fri Apr 7 18:05:07 2017 +0200 chicken-instal: use TARGET_RUN_LIB_DIR when building target-version of .egg-info (incomplete), produce link file for target with proper name commit 31bc076a1510fbea02be0262e2f2e0cc16e91d17 Author: felix Date: Fri Apr 7 18:03:10 2017 +0200 csc: use target-filename for output file if in compile-only mode commit 72b6495b129149116e03c5ba7166d20d703a4744 Author: felix Date: Fri Apr 7 18:02:47 2017 +0200 csc: don't add -emit-link-file, if already given commit 98aa94f3dce1952b4c46a3d8bc34b6db6c99f689 Author: felix Date: Fri Apr 7 18:02:30 2017 +0200 chicken-status: compoinent-listing was broken commit cb631ce8922935aff44a3ffc1ffb2d7192b78716 Author: felix Date: Fri Apr 7 18:02:13 2017 +0200 chicken-install: simplify code that decides what to build/install/test commit 94c3ee4238a8e947e0f8769e70036aa0eb103153 Author: felix Date: Fri Apr 7 18:01:47 2017 +0200 chicken-install: in verbose mode, show locs/servers tried commit 621a005badd98b932b554e6d5a36acb2fa5f6e23 Author: felix Date: Fri Apr 7 18:01:11 2017 +0200 chicken-install: invalid setting of locations list when loading setup.defaults commit e7baf2b93fae5f4546c61fe14ec54126ce9e3953 Author: Evan Hanson Date: Tue Apr 4 22:35:27 2017 +1200 Move C_process_sleep into runtime.c The C_process_sleep macro, introduced in 0493e29, depends on for access to Sleep() on Windows, so this converts it into a procedure in runtime.c where we already include that header. It also renames the procedure to reflect the fact that it's an inline call. Signed-off-by: Peter Bex commit 7a53761e9936c3dde484ca673a7e5f3fba5a4b0f Author: felix Date: Thu Apr 6 17:38:40 2017 +0200 pass -host when generating host build script in cross-chicken commit 4d2c536e5caea00d3fccecdb790335fc0830c072 Author: felix Date: Wed Apr 5 16:55:50 2017 +0200 compile with default optimization options, unless given in the .egg file commit e0bfebabd53694a2ce18157edda87bc9a013c4f3 Author: felix Date: Mon Apr 3 21:50:18 2017 +0200 chicken-do: all wrong, of course commit 82f0b107ba32f64355a816c206d2a450282d6fa1 Author: felix Date: Mon Apr 3 18:00:43 2017 +0200 first attempt to port chicken-do to windows commit 2e667a10aa8092c77b42082dc1ad88e868d08b80 Author: LemonBoy Date: Sat Mar 25 00:04:28 2017 +0100 Rewrite string->list to be tail-recursive. This way we allocate one less word per iteration. A run of chicken-benchmarks shows a (very) small speed-up. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit bc6fe0c6b392ca2066c2d8fde13e1f28c937fc17 Author: LemonBoy Date: Sat Mar 25 00:04:28 2017 +0100 Rewrite string->list to be tail-recursive. This way we allocate one less word per iteration. A run of chicken-benchmarks shows a (very) small speed-up. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 20d5178b580b77dbb76969c1d24400a1a47de1a1 Author: jfw Date: Sat Mar 25 14:26:04 2017 +0100 export "sort!" from data-structures Signed-off-by: Peter Bex commit 7d6e701dbc7edbe5beb2f6717f2842ded20b8617 Author: felix Date: Wed Mar 22 11:20:15 2017 +0100 drop comments from generated C code commit bd0aa1c6088d865988cf5afc2f53dad36cbe2d3b Author: Peter Bex Date: Sat Mar 18 14:15:35 2017 +0100 Add expander hook so compiler can track line numbers. This restores (and even improves) precision of line number reporting in let bodies. Now that ##sys#canonicalize-body is performing macro expansion, we need a way for the compiler to update its line number database. This information got lost in the preceding commit. Signed-off-by: felix commit c9220247dbcdf6fd39697b428cfd40068244219a Author: Peter Bex Date: Sat Feb 25 21:04:45 2017 +0100 Change the way LET bodies are macro-expanded. A macro might expand into a define. That means we need to keep expanding the body and restart the main expansion process when we encounter a define. Instead of returning the original expressions when wrapping up, we should return the macro-expanded expressions, because macros should be called exactly once to be safe in the presence of side-effects. We now also treat ##core#begin as a reason to restart the expansion process, because nested begins can contain definitions as well. The expansion will recursively eliminate those nested begins. There is some special treatment for ##core#module and "import", because those do all kinds of nasty side-effecting things which ensure we can't simply expand the body in one go. Import is one of those aforementioned side-effecting macros, and the core module form is also side-effecting in a way: we can't refer to the module until it has been processed by the compiler. There could be other macros and special forms that are allowed in let bodies but need special processing. This situation needs to be addressed properly and fixed in general, but for now we can fix them by adding more special cases. Note that this is not a newly introduced problem: there have always been such issues, but due to the obscure workings of ##sys#canonicalize-body they would only surface under very specific conditions. Signed-off-by: felix commit d345e514c10956a7e95267dfd027725f89394122 Author: Peter Bex Date: Sat Feb 25 17:04:28 2017 +0100 Export internal define-like definitions from chicken.syntax Without this, the compiler would "inline" these aggressively as unspecified, because they're not assigned to from within the module itself. Signed-off-by: felix commit 2a3ea33b86cb30d12ff8496dd6dfeba53c8628fb Author: Peter Bex Date: Sat Feb 25 15:45:41 2017 +0100 Fix invalid definition caught by previous commit. This was inadvertantly treated as a global definition before! Signed-off-by: felix commit 61241e5d58299264ff0a8a7318288906ff710660 Author: Peter Bex Date: Sat Feb 11 15:30:13 2017 +0100 Reject toplevel definitions in non-toplevel contexts. This introduces a distinction between define and set!, which allows the compiler (and the closure-compiler in the interpreter) to error out when a definition somehow ends up out of place. Fixes #1309 Signed-off-by: felix commit 0f13860630dfbc2e347b6e0329a0c40a893f2038 Author: Peter Bex Date: Sun Mar 12 20:57:45 2017 +0100 Remove inconsistent typecast to C_restart_trampoline The function argument "trampoline" is already of type void *, which is the type of C_restart_trampoline, to which we assign it. Casting to C_proc results in a compiler warning on Sun Studio. This was introduced in 67a3d9c4, when we got rid of C_HACKED_APPLY and the TRAMPOLINE typedef. Signed-off-by: Evan Hanson commit 82ec4c59c28e5f342234b9cbec1141186ea7ae70 Author: Peter Bex Date: Sun Mar 12 20:22:54 2017 +0100 Replace C_inline definitions with "inline static". Now that we officially require C99, there's no reason to make this configurable, and it complicates the source a bit. Signed-off-by: Evan Hanson commit 14ccde8457050bf0e9740c1807ee994634c92876 Author: Peter Bex Date: Sun Mar 12 20:18:02 2017 +0100 Remove special case for math.h definitions on Solaris. With revision cce929c2 we introduced __C99FEATURES__, which "unlocks" all the definitions from math.h, including isinf() and isnan(). Signed-off-by: Evan Hanson commit 212590ce959b785373c6eb700d60304a632dd317 Author: Peter Bex Date: Thu Mar 16 19:51:07 2017 +0100 Add CVE-2017-6949 number to changelog. commit fba81299af14cd0eb0310e36f043dc88c8e2329a Author: Peter Bex Date: Thu Mar 16 19:51:07 2017 +0100 Add CVE-2017-6949 number to changelog. commit 68c4e537a29d3f878016e0144c42d0e7ae5d41b4 Author: LemonBoy Date: Fri Mar 10 16:29:47 2017 +0100 Add bound checking to all srfi-4 vector allocations. Do what C_allocate_vector already does and prevent the creation of a vector that's too big or too small. We should be very careful to avoid the latter case because the allocation size is directly fed into `malloc' as 'x + sizeof(C_header)' thus making possible to successfully allocate a vector smaller than the C_header structure and get C_block_header_init to write over uninitialized memory. To reduce code duplication, type checking is moved from each of the make-*vector procedures to the common "alloc" helper procedure. Signed-off-by: Peter Bex Signed-off-by: Kooda commit e792fd8cc9a48a7c1890da72d94ead272ada9d33 Author: LemonBoy Date: Fri Mar 10 16:29:47 2017 +0100 Add bound checking to all srfi-4 vector allocations. Do what C_allocate_vector already does and prevent the creation of a vector that's too big or too small. We should be very careful to avoid the latter case because the allocation size is directly fed into `malloc' as 'x + sizeof(C_header)' thus making possible to successfully allocate a vector smaller than the C_header structure and get C_block_header_init to write over uninitialized memory. To reduce code duplication, type checking is moved from each of the make-*vector procedures to the common "alloc" helper procedure. Signed-off-by: Peter Bex Signed-off-by: Kooda commit f20aa0b48436bc6fcf0e001792264da5c48ff9b9 Author: felix Date: Mon Mar 13 11:29:30 2017 +0100 removed obsolete and incorrect ext-info-extension constant. commit a75a11e5161e4df3030b9e5bc1d72a389a603cd0 Author: LemonBoy Date: Fri Mar 3 17:24:31 2017 +0100 Prevent an infinite loop when the heap is resized. When the heap has already reached its maximum size and we try to expand it farther the resize operation becomes a no-op. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 31d154d1623df7f8cb33909205ad07cb3ec7e66a Author: LemonBoy Date: Fri Mar 3 17:24:31 2017 +0100 Prevent an infinite loop when the heap is resized. When the heap has already reached its maximum size and we try to expand it farther the resize operation becomes a no-op. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 264cc652babc38e492a3868f9d0c3523e8e3daa9 Author: Evan Hanson Date: Sat Mar 11 15:40:40 2017 +1300 Add chicken.process-context module Like the other modules in posix.scm, this just reexports identifiers from the "chicken" and "chicken.posix" modules. Also, add `executable-pathname` to chicken.import.scm, to which it had never been added (so it was available implicitly at the toplevel but totally inaccessible from within a module). Signed-off-by: Peter Bex commit 7a6a772243a6bf5d39b0a79d7ad4b847c29b8b17 Author: Evan Hanson Date: Sat Mar 11 20:20:30 2017 +1300 Emit link file based on output file name rather than input source The `install-static-extension` procedure expects link files to be named based on the compiled filename of the extension, not the source file that was compiled, so make csc call chicken with a "-link-emit-file" argument based on the output filename. commit 4f7d4325be091993afef88992043d3a7d19a749f Author: Evan Hanson Date: Sat Mar 11 23:16:24 2017 +1300 Load types.db file by filename when given with "-types" option commit 94b0f3193991921a81f81181f97a2a4dc19c9d7c Author: Evan Hanson Date: Sat Mar 11 20:02:22 2017 +1300 Fix chicken.port.import.scm dependency of chicken-uninstall.c This was accidentally changed from "port" back to "ports" in 74d080dd. commit a2545a7c523a6c26a5a3345690c1fff3b6f2d10c Author: Evan Hanson Date: Sat Mar 11 17:08:02 2017 +1300 Fix test-repo var name when setting CHICKEN_REPOSITORY_PATH in test script commit dfcf38ef11eee8ffcf62b72116e21973b5edb1b9 Author: Evan Hanson Date: Sat Mar 11 16:26:48 2017 +1300 Add missing slash to test script's CHICKEN_REPOSITORY_PATH setting commit a9a09026faef67557a76df500cd55c7a6a1fb417 Author: Evan Hanson Date: Sat Mar 11 15:39:57 2017 +1300 Add missing user-pass-tests.scm to distribution/manifest commit 137739038294e14dd290726fe0265b16e85a7ab7 Author: Peter Bex Date: Thu Mar 9 21:36:05 2017 +0100 Avoid allocating scratchspace when reading fixnums. The code that handles reading digit streams into an integer is written to be as straightforward as possible. Currently this means it always allocates a bignum, even if the number is small enough to fit a fixnum. That way, we don't need to distinguish between these cases in the actual stream converter (str_to_bignum). We can improve on this a little bit by pre-allocating enough for a small bignum in the nursery, much like the C_s_a_u_i_integer_plus and friends do. This avoids malloc()ing a scratchspace just for the one small number, which will be free()d again as soon as the stack is full, resulting in a lot of needless thrashing. Signed-off-by: Evan Hanson commit 83010488d7649aafc577344182dd518015ac6fdf Author: Kooda Date: Wed Mar 1 12:10:00 2017 +0100 Make process procedures in the posix module accept alists for environments. Previously, environments were passed as a list of strings in the form "name=value", which seemed inconsistent with the get-environment-variables which hands out an alist. This fixes #1270. Signed-off-by: Evan Hanson commit 7a74155c58c830dbb61b22897de4d70c1cf2a6ac Author: Jörg F. Wittenberger Date: Wed Feb 1 19:46:38 2017 +0100 Handle possible EINTR in file-lock, file-lock/blocking and file-unlock. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 4720659fd58b4bfe2026616af9912d60ee9874b4 Author: Jörg F. Wittenberger Date: Wed Feb 1 19:46:38 2017 +0100 Handle possible EINTR in file-lock, file-lock/blocking and file-unlock. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit b45349559e572f59b7c1d871812d6d8fc711f47c Author: felix Date: Wed Mar 8 00:49:17 2017 +0100 used new module names commit 74d080dd35967ed639c470c2c73f64749baba5cb Merge: 8f20a795 c4c60ce5 Author: felix Date: Wed Mar 8 00:20:37 2017 +0100 Merge remote-tracking branch 'origin/chicken-5' into chicken-5-new-egg-install Conflicts: chicken-install.scm chicken-status.scm chicken-uninstall.scm csc.scm defaults.make manual/Extensions rules.make setup-api.scm setup-download.scm setup.defaults tests/runtests.sh commit 8f20a795d077fb1efefdbda04c97078248b21d24 Author: Mario Domenech Goulart Date: Tue Mar 7 21:18:40 2017 +0100 chicken-status.mdoc: typo fix (s/extensionm/extension/) commit 38c0774227ffee9f25b6858024aa927281fc2e18 Author: Mario Domenech Goulart Date: Tue Mar 7 21:14:30 2017 +0100 manual/Unit eval: typo fix (s/paramater/parameter/) commit 1d34b9410ec935588f33029911761a798e0c7b59 Author: Mario Domenech Goulart Date: Tue Mar 7 20:58:14 2017 +0100 chicken-install.scm: avoid calling file-exists? on #f commit 784d827fe3b0d4fa043451551e77570b8b5c9ac9 Author: Mario Domenech Goulart Date: Tue Mar 7 20:39:07 2017 +0100 chicken-install.scm: fix usage format commit 934eecc82bc6d6b8381773516c9dbbeddd617613 Author: Peter Bex Date: Sun Mar 5 16:38:33 2017 +0100 Fix running of tests when not installed (#1347) When the tests were being run, and an extension was required for syntax, the compiler would not be able to load the extension or even its import library, because it would search the target installation directory, which either contained an old, outdated, version of the library (whoops!), or it wouldn't exist at all. To fix this we simply export CHICKEN_REPOSITORY, always. Static linking was also busted for much the same reason: it would link directly against /path/to/chicken/lib/libchicken.a. This is not necessary, because the path would be put after -static. Instead, we rely on ld(1)'s behaviour that any -l flags after the -static flag is interpreted as referring to a static archive, so we just use -lchicken in all cases, regardless of requiring static or dynamic linking. This should also fix static cross-compilation when the target library name of libchicken has been customised. Signed-off-by: Evan Hanson commit c4c60ce590bdadd456b85d8764a661dda1874591 Merge: fc7c5c8b 3dd9e42c Author: Peter Bex Date: Sat Mar 4 16:34:30 2017 +0100 Merge remote-tracking branch 'origin/chicken-5-posix-modules' into chicken-5 commit fc7c5c8ba0063edeb7dee4e5dcba7a8dc3851a22 Author: Evan Hanson Date: Wed Mar 1 23:05:11 2017 +1300 Fix procedure name in errors on bad string arguments to `system` When `system` is called with a string containing null bytes, the resulting error should use "system" as its location, not "get-environment-variables". Signed-off-by: Peter Bex commit d0110a8bd1d68f5e0c14298d0312f434df1eb809 Author: Evan Hanson Date: Wed Mar 1 23:05:11 2017 +1300 Fix procedure name in errors on bad string arguments to `system` When `system` is called with a string containing null bytes, the resulting error should use "system" as its location, not "get-environment-variables". Signed-off-by: Peter Bex commit 0c55b8cd2bef2835c5e572fefd81eb41f02f9096 Author: Mario Domenech Goulart Date: Sat Mar 4 10:49:27 2017 +0100 mini-salmonella.scm: use get-environment-variable instead of getenv commit 9e4c114838a1045416545946ac482c51764beb6c Author: Mario Domenech Goulart Date: Sat Mar 4 10:48:22 2017 +0100 chicken-uninstall.mdoc: typo fix s/CHICKEN_INSTAL_REPOSITORY/CHICKEN_INSTALL_REPOSITORY/ commit 06d7571f83412c80bca73fef6defd4013a81cd87 Author: felix Date: Fri Mar 3 17:29:35 2017 +0100 ##sys#split-path must handle an #f path (reported by Kooda) commit 3dd9e42cf2f9edba51dab54497684b4085d6ef88 Author: Evan Hanson Date: Fri Mar 3 23:27:11 2017 +1300 Update makedist.scm and setversion for recent module changes Add a missing import and fix a bug in makedist.scm (`read-lines` no longer opens files), fix buildversion handling and the use of `system*` in setversion (it no longer sprintfs). commit 2ef17a9df0733ae082706d43e0ae5b969a2d852f Author: Evan Hanson Date: Fri Mar 3 23:19:58 2017 +1300 Drop compile-file and remove the utils unit The `compile-file` and `compile-file-options` procedures have been moved to an egg, so the utils unit is now empty and can be dropped entirely. Also fix the types.db entries for `qs` and `system*`, which have been moved to the chicken.process module. commit 17882aaf46261a43246000c0a2e42eff9d55c4f7 Author: Evan Hanson Date: Tue Feb 28 16:54:02 2017 +1300 Add chicken.process.signal module Also adds a stub for `signal/bus` on Windows so that the list of signal/* values is the same on both platforms. commit cee15faf20311a22aa1c4f8b391396518e685ff5 Author: Evan Hanson Date: Fri Feb 24 16:02:59 2017 +1300 Add chicken.process module This module reexports all process-related procedures from the posix unit, as well as `qs` and `system*` from utils. The former procedure has been tweaked to avoid a dependency on `string-intersperse` from the data-structures unit, while the latter has been modified so as not to "sprintf" its arguments. commit 753112e79896a861f554fb91ae5d89a6f33cb4fa Author: Evan Hanson Date: Fri Feb 24 14:12:21 2017 +1300 Add chicken.time.posix module commit 474e053520cde174924babbca6cca0f655e634fd Author: Evan Hanson Date: Fri Feb 24 14:09:13 2017 +1300 Add chicken.file.posix module This module simply reexports the low-level file-related values from posix (mostly having to do with file descriptors). It also adds a stub for `file-control` and the various various fcntl/* values on Windows so that the posix module's export list can be the same across all platforms. commit 89d71e4226df5a9f71c9eb7fa8f79e49172743a1 Author: Evan Hanson Date: Fri Feb 24 13:45:11 2017 +1300 Deduplicate the Unix and Windows chicken.errno module definitions Stubs EWOULDBLOCK on Windows so that the module only needs to be declared once. commit 18d75b95174dce22dd835836c5a288e94de6a7ff Author: Evan Hanson Date: Fri Feb 24 13:39:36 2017 +1300 Add posix.scm file that wraps platform-specific posix implementations This inverts the way the posix unit is organised by having one outer file (posix.scm) that includes a platform-specific implementation file (either posixunix.scm or posixwin.scm), depending on what feature flag is passed. commit 3495e365e356ee56e5360a9fd1fd135f54a0b364 Author: Evan Hanson Date: Fri Feb 24 09:26:17 2017 +1300 Rename chicken.ports module to chicken.port commit 29511b88c7f4b599aad9e91bfb6545de1ad9d085 Author: Evan Hanson Date: Sat Jun 4 10:41:48 2016 +1200 Add chicken.file module This is a placeholder for what will eventually be the (chicken file) module. For now, it simply reexports values from the preexisting "files" and "posix" units. commit 01d13b2893f8cfed40da9217c795a1e47a60efe8 Author: Evan Hanson Date: Wed Mar 1 19:51:31 2017 +1300 Add a handful of missing files to distribution/manifest commit f53a6342800eb225b16e0783e49c7f5f3b4db929 Author: felix Date: Wed Mar 1 21:09:30 2017 +0100 split paths consistently; added -no-install-deps commit df49ac575c7e41c1ee5655b7d33b6575925db718 Author: felix Date: Wed Mar 1 15:02:02 2017 +0100 overhaul paths used to locate eggs, added new env. variables, updated docs commit 4bd43108b24de7c860ae8e4ccb4dd4d72b0ac349 Author: felix Date: Wed Mar 1 14:39:58 2017 +0100 drop doc-from-wiki commit c646d9fce514aac08b773126cb89b9878f19a597 Author: felix Date: Wed Mar 1 14:39:29 2017 +0100 chicken-install: only run tests for explicitly named eggs, exit immediately if tests fail commit aad09cad8c84b14fd28cc8d561185cab253d8399 Author: Kooda Date: Mon Feb 27 15:42:26 2017 +0100 Fix runtime panic with mingw-w64. Big-fixnum literals were wrongly encoded on windows 64 bits with mingw-w64. This fixes ticket #1344. Thanks to LemonBoy for taking the time to resolve this. commit 686545750874d31fac022e0f9d5be75b0edd2a77 Author: Kooda Date: Mon Feb 27 15:42:26 2017 +0100 Fix runtime panic with mingw-w64. Big-fixnum literals were wrongly encoded on windows 64 bits with mingw-w64. This fixes ticket #1344. Thanks to LemonBoy for taking the time to resolve this. commit ba97d7aa86b3ed2507b72f36559528d4f91674c8 Author: Kooda Date: Sun Feb 26 01:23:50 2017 +0100 Correct a wrong include from sys/poll.h to poll.h commit 80a34c6e281943576ef1d91dc60a6329fe249a5f Author: Peter Bex Date: Sun Jan 29 19:12:51 2017 +0100 Move SEARCH_EXE_PATH macro magic to platform Makefiles The macro #ifdef.. etc stuff got way too complex for no good reason. Get rid of the detection logic and place #define SEARCH_EXE_PATH 1 in the platform-specific Makefiles for platforms that don't have any more specific search logic in C_resolve_executable_pathname(). Signed-off-by: Kooda commit 20b9b0e05df25ffd13278e8dbb82cdcf7420677a Author: Peter Bex Date: Sun Jan 29 17:40:15 2017 +0100 Remove unused C_GENERIC_CONSOLE definition Signed-off-by: Kooda commit f44cca8b1ee33a13ae5e18d4ee60a137cbaeb854 Author: Peter Bex Date: Sun Jan 29 17:38:28 2017 +0100 Simplify C_STACK_GROWS_DOWNWARD detection Instead of first defining it to -1 if it's undefined and then checking whether it has been defined as -1, we simply check if it's undefined. There seems to be no good reason for the current behaviour. Signed-off-by: Kooda commit f40315d02e477bd6d24e29bc04f95dd12f8a5934 Author: Peter Bex Date: Sun Jan 29 17:37:53 2017 +0100 Remove unused C_c_regparm definition & fix typo Signed-off-by: Kooda commit 3b99cb28f4c7f149b67530d4e556f3875f055c0b Merge: 3c7f2984 1e61f4aa Author: felix Date: Thu Feb 23 18:06:28 2017 +0100 Merge branch 'chicken-5-new-egg-install' of ssh://call-cc.org/usr/local/repos/chicken-core into chicken-5-new-egg-install Conflicts: manual/Extensions commit 3c7f2984ec193ef1c50914da9eb47915a7c88b76 Author: felix Date: Thu Feb 23 18:05:12 2017 +0100 documented -no-install, dropped abbreviation -n for -dry-run, use "egg" instead of "extension" in the manual at some places. commit 1e61f4aafcbd0ed1b98ec62d95bbcc05c122f812 Author: Mario Domenech Goulart Date: Wed Feb 22 21:12:15 2017 +0100 manual/Extensions: add missing tag commit 57e29b69281a1760b50b5e4799c88a3175a9c43a Author: Mario Domenech Goulart Date: Wed Feb 22 21:11:46 2017 +0100 manual/Extensions: another small typo fix commit 4a2d17efdf8cca76593993f9d9c7f8996758ef39 Author: Mario Domenech Goulart Date: Wed Feb 22 20:57:06 2017 +0100 manual/Extensions: some typo fixes commit 06d627d0093deb6052fd571771ed9f9e30278ec5 Author: Mario Domenech Goulart Date: Wed Feb 22 20:48:32 2017 +0100 manual/Extensions: link egg index to /chicken-projects/egg-index-5.html commit 645dee01e0da973dab550d5c877d3c11527cc23d Author: felix Date: Wed Feb 22 15:18:58 2017 +0100 chicken-install: reimplemented -no-install commit 65cb9baa7e130a3530cdc291bcf6bccaa599a865 Author: felix Date: Wed Feb 22 15:18:45 2017 +0100 added copyright headers commit 543dbd82c9f56cb20ef3f78c66de3f874a506168 Author: felix Date: Thu Feb 16 00:10:17 2017 +0100 because it must be. commit 0a63f9e6ee8478d9a0cdf0eaab782ac56e6bc518 Author: felix Date: Thu Feb 16 00:08:58 2017 +0100 added inline-file egg property commit 6cb952dc4dd3fe73951cf8419595d95340589d1f Author: felix Date: Thu Feb 16 00:08:50 2017 +0100 added support for "chicken" subdir commit a37f96c02c483b0d8a93b5b3f8be0cbd2ad3a880 Author: felix Date: Thu Feb 16 00:08:04 2017 +0100 updated chicken-install manual page, added manpage for chicken-do commit 403478edab6cd2dda5a346a8aab737d99c011097 Author: felix Date: Thu Feb 16 00:07:27 2017 +0100 Revamped manual section for extensions commit 40230757da57c3ec0379ba79b833a691fef2479e Author: Evan Hanson Date: Mon Feb 6 11:52:20 2017 +1300 Bump version to 4.12.0rc2 commit 5d08241bae72015399eaf0d8f7bfe2302c47de06 Author: Peter Bex Date: Sat Jan 28 16:22:57 2017 +0100 Android has SETENV, so define HAVE_SETENV. This prevents the env test from breaking. Signed-off-by: Evan Hanson commit 8df6f7d634ff788017567edb4428f56c9fae19e6 Author: Peter Bex Date: Sat Jan 28 16:29:43 2017 +0100 Do not define standards macros in OS X and iOS. They behave more like FreeBSD than other *NIXes. Signed-off-by: Evan Hanson commit 008185f8a1d07705be81cabf5aeb9580a17d0d4f Author: Peter Bex Date: Sat Jan 28 16:22:57 2017 +0100 Android has SETENV, so define HAVE_SETENV. This prevents the env test from breaking. Signed-off-by: Evan Hanson commit b63e61ccc845d0c265e916bec9a2adacc1e63789 Author: Peter Bex Date: Sat Jan 28 16:27:51 2017 +0100 Do not define standards macros in OS X and iOS. They behave more like FreeBSD than other *NIXes. Signed-off-by: Evan Hanson commit a8f31b008bd495f3059a1441e226d7e1def35ba4 Author: Peter Bex Date: Sat Jan 28 16:22:57 2017 +0100 Android has SETENV, so define HAVE_SETENV. This prevents the env test from breaking. Signed-off-by: Evan Hanson commit 0838c4ba670510ba15e8bb2e8934c44a246b8236 Author: Peter Bex Date: Sat Jan 28 16:27:51 2017 +0100 Do not define standards macros in OS X and iOS. They behave more like FreeBSD than other *NIXes. Signed-off-by: Evan Hanson commit 227250ca64e36629aa23d89e45b1641c3aff3ac1 Author: felix Date: Mon Jan 23 18:13:44 2017 +0100 chicken-install: updated usage information, added -repository commit 735de1d5a5a4422c9ff2368af6c47c06af1bf061 Author: Peter Bex Date: Sun Jan 22 21:07:54 2017 +0100 Bump master version to 4.12.1 commit 9275cfab34e8b9b341c6d742fa8e37e39afd4d41 Author: Peter Bex Date: Sun Jan 22 18:09:20 2017 +0100 Bump version to 4.12.0rc1 commit 5944fbb2bc48d7f27cd117adf0e7544ad1106401 Merge: c2f37304 81d9fd15 Author: Peter Bex Date: Sun Jan 22 18:06:01 2017 +0100 Merge branch 'master' into prerelease Conflicts: README buildversion dbg-stub.c manual/Acknowledgements manual/The User's Manual tests/library-tests.scm commit d9bf7bb64444a942ef57f337ef42e37131351e4d Author: Peter Bex Date: Sun Jan 22 18:04:29 2017 +0100 Merge manual changes from wiki commit 34f351983c70eee80538700770e0a5b00c0d82cf Author: Peter Bex Date: Sun Jan 22 18:04:19 2017 +0100 Consolidate NEWS file for 4.12.0 Conflicts: NEWS commit 81d9fd151b4b1c693d40dcc7309f476960f56979 Author: Peter Bex Date: Sun Jan 22 18:00:26 2017 +0100 Merge manual changes from wiki commit 091966af7273996fda7ae198e16537c8f0e5c0f5 Author: Peter Bex Date: Sun Jan 22 17:49:32 2017 +0100 Consolidate NEWS file for 4.12.0 commit c311de9c5432857f03e701f3faf52c36304c8757 Author: Peter Bex Date: Sun Jan 22 17:47:03 2017 +0100 Add new -no-install-deps option to NEWS file Conflicts: NEWS commit ea1b8f46b11c81cf522f8abdd961ea6e005d9b12 Author: Peter Bex Date: Sun Jan 22 17:46:15 2017 +0100 Add new -no-install-deps option to NEWS file commit e8429de09d806c77d90b676291aa2fdce15a4881 Author: Kooda Date: Wed Jan 18 02:21:11 2017 +0100 Add the -no-deps-install option to chicken-install. Signed-off-by: Peter Bex commit f68e1d16a869664732f19188263f6ac7003488fb Author: Peter Bex Date: Sun Jan 22 14:36:26 2017 +0100 Use C_snprintf and C_strlcpy in lieu of sprintf and strcpy in dbg-stub.c This reuses our aliases from chicken.h and silences a couple of linker warnings on OpenBSD. Signed-off-by: Peter Bex commit 149b06cb24b120e8f3378d426897dc10d01695ab Author: Evan Hanson Date: Thu Jan 19 22:15:24 2017 +1300 Use C_snprintf and C_strlcpy in lieu of sprintf and strcpy in dbg-stub.c This reuses our aliases from chicken.h and silences a couple of linker warnings on OpenBSD. Signed-off-by: Peter Bex commit 79fc714a9cc99fd701ef12ad1bc11202fcc87a46 Author: Peter Bex Date: Sun Jan 22 14:05:16 2017 +0100 Update copyright year to 2017. Used more or less the same grep/sed line as last time: git grep -Il '(c) [0-9-]*, The CHICKEN Team' | while read i; do sed -r 's/\(c\) (([0-9]+)-|(2016))(2016)?,/(c) \2\3-2017,/' "$i" > tmp && mv tmp "$i"; done Conflicts: compiler-namespace.scm continuation.scm data-structures.import.scm debugger-client.scm files.import.scm irregex.import.scm lolevel.import.scm ports.import.scm posix.import.scm srfi-1.import.scm srfi-13.import.scm srfi-14.import.scm srfi-18.import.scm srfi-18.scm srfi-4.import.scm srfi-69.import.scm srfi-69.scm tcp.import.scm user-pass.scm utils.import.scm commit cd7c6b41c6b297d8471cc843393bc56294a87bcb Author: Peter Bex Date: Sun Jan 22 14:02:12 2017 +0100 Update copyright year to 2017. Used more or less the same grep/sed line as last time: git grep -Il '(c) [0-9-]*, The CHICKEN Team' | while read i; do sed -r 's/\(c\) (([0-9]+)-|(2016))(2016)?,/(c) \2\3-2017,/' "$i" > tmp && mv tmp "$i"; done commit 02dcbe1d8a2d74dae270931a0c75f7b89652dcbb Author: Evan Hanson Date: Thu Jan 19 20:33:25 2017 +1300 Fix spurious array bounds warnings on OpenBSD This changes the C_block_item struct definition to always use a C99-style flexible array for its data field rather than falling back to the "struct hack" on non-C99 compilers, which was causing bound analysis warnings on OpenBSD. Fixes #1107. Signed-off-by: Peter Bex commit 2a32b6f87326857e95ec83167ec4bbaf812f1e30 Author: Evan Hanson Date: Thu Jan 19 20:33:25 2017 +1300 Fix spurious array bounds warnings on OpenBSD This changes the C_block_item struct definition to always use a C99-style flexible array for its data field rather than falling back to the "struct hack" on non-C99 compilers, which was causing bound analysis warnings on OpenBSD. Fixes #1107. Signed-off-by: Peter Bex commit 73037302ac980288a89ed3aa2a3a774eb97f90c6 Author: felix Date: Sat Jan 21 18:06:29 2017 +0100 remove obsolete tests and support files (found by sjamaan) commit 478c1e3e4cf3c7df3a8e9291fba609fd95e0f578 Author: Evan Hanson Date: Thu Jan 19 22:16:20 2017 +1300 Ensure va_end() is always called in C_a_i_string() Previously, the call to va_end() would be skipped when this procedure was given invalid arguments (and continued to `barf` a result). Signed-off-by: Kooda commit b3c7062087c385d237905a5064906e3c141e5c1e Author: Evan Hanson Date: Thu Jan 19 22:16:20 2017 +1300 Ensure va_end() is always called in C_a_i_string() Previously, the call to va_end() would be skipped when this procedure was given invalid arguments (and continued to `barf` a result). Signed-off-by: Kooda commit 02e2e4d66d217dd84e2228cf67c14350b304e74c Author: Peter Bex Date: Tue Jan 17 21:52:17 2017 +0100 Add for strn[case]cmp. Apparently, is a POSIX header that's completely distinct from the ISO C header. MingW is the only purist here, which doesn't include one from the other, thereby causing "implicit declaration of strncasecmp" warnings. See also the Single Unix Spec: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/strings.h.html Signed-off-by: Evan Hanson commit 92e1c1238c581ef3b29c8d783f1f4fbd40951151 Author: Evan Hanson Date: Wed Jan 18 10:32:04 2017 +1300 Include chicken-config.h before feature macro definitions Now that chicken-config.h includes a flag that enables or disables the various feature macros defined in chicken.h (_XOPEN_SOURCE et al.), we need to make sure it precedes their definitions. commit a5073542e06222b30c285387746350184274abdb Author: Peter Bex Date: Tue Jan 17 21:52:17 2017 +0100 Add for strn[case]cmp. Apparently, is a POSIX header that's completely distinct from the ISO C header. MingW is the only purist here, which doesn't include one from the other, thereby causing "implicit declaration of strncasecmp" warnings. See also the Single Unix Spec: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/strings.h.html Signed-off-by: Evan Hanson commit e6ee1f154b8bae578504838b858e54f2e7d3ad63 Author: Evan Hanson Date: Wed Jan 18 10:32:04 2017 +1300 Include chicken-config.h before feature macro definitions Now that chicken-config.h includes a flag that enables or disables the various feature macros defined in chicken.h (_XOPEN_SOURCE et al.), we need to make sure it precedes their definitions. commit 3d436c5caf522c8a912e376f98fef7288d4f20f6 Author: Peter Bex Date: Tue Jan 17 21:47:11 2017 +0100 Do not use feature macros on FreeBSD. According to this post on the "freebsd-standards" mailing list, FreeBSD discourages using feature macros to enable features. It takes a very strict approach and disables all other features, including "native" standard BSD functions when you enable a specific standard. There is no way to re-enable the BSD functions (not even via _BSD_SOURCE). https://lists.freebsd.org/pipermail/freebsd-standards/2004-March/000474.html Signed-off-by: Evan Hanson commit 56c907ce6b2c50924436e4e929b1fe5835dc2320 Author: Peter Bex Date: Tue Jan 17 20:57:11 2017 +0100 Do not use feature macros on FreeBSD. According to this post on the "freebsd-standards" mailing list, FreeBSD discourages using feature macros to enable features. It takes a very strict approach and disables all other features, including "native" standard BSD functions when you enable a specific standard. There is no way to re-enable the BSD functions (not even via _BSD_SOURCE). https://lists.freebsd.org/pipermail/freebsd-standards/2004-March/000474.html Signed-off-by: Evan Hanson commit 936b17f9382e615cd1802b3afa8a5a0bbcef3c56 Author: Peter Bex Date: Sat Dec 31 13:48:12 2016 +0100 chicken-install's -keep-installed looks in prefix Instead of using "extension-information" to check whether the egg already exists, we use "ext-version" in the filter procedure which decides which eggs to remove from consideration when installing. Ext-version looks under prefix, while extension-information uses the system-wide egg location. Signed-off-by: Evan Hanson commit 181f21d3646340e2085932fcba6761e3ce22bebc Author: Evan Hanson Date: Fri Jan 13 16:08:03 2017 +1300 Add _XOPEN_SOURCE feature test macro This provides access to strptime(3) from , which is otherwise undefined on at least Cygwin and possibly other platforms. Signed-off-by: Peter Bex commit f01e666271defbb64548aece9c18bc4378666b24 Author: Evan Hanson Date: Fri Jan 13 16:08:03 2017 +1300 Add _XOPEN_SOURCE feature test macro This provides access to strptime(3) from , which is otherwise undefined on at least Cygwin and possibly other platforms. Signed-off-by: Peter Bex commit a559bb2e4ccb2da71df2f2df4ad2d50ed582f3ff Author: Peter Bex Date: Mon Jan 16 14:43:52 2017 +1300 Make "time" command detection more robust in tests This is a better way of checking for a "time" command: we just call it and check for an exit status of 127 (i.e. command not found). Note that `time' must be called through a variable during this check. Otherwise, the Cygwin shell will use its builtin for the test, but not later in the script when it's called as "$time", causing an error. Signed-off-by: Evan Hanson commit 708456bc180e5816a6c94121e9f31b789ca5aef4 Author: Evan Hanson Date: Mon Jan 16 14:43:52 2017 +1300 Make "time" command detection more robust in tests This is a better way of checking for a "time" command: we just call it and check for an exit status of 127 (i.e. command not found). Note that `time' must be called through a variable during this check. Otherwise, the Cygwin shell will use its builtin for the test, but not later in the script when it's called as "$time", causing an error. commit ddb1b3969ec0d74231147d9422a1e69b9f0be3f8 Author: Evan Hanson Date: Fri Jan 13 08:54:00 2017 +1300 Use Windows-aware BINDIR and DATADIR paths when installing feathers Signed-off-by: Peter Bex commit 9e6cba42b5e7f40723a004d678823d4e46c6aef5 Author: Evan Hanson Date: Fri Jan 13 08:54:00 2017 +1300 Use Windows-aware BINDIR and DATADIR paths when installing feathers Signed-off-by: Peter Bex commit 4c79400068010ef8e5b4cf77eccf318ba28c9013 Author: felix Date: Fri Jan 13 13:54:45 2017 +0100 egg-compile: avoid unnecessary -emit-link-file options commit de96cf11ddfa3f35cca4b631ef7e96258ac862ba Author: felix Date: Fri Jan 13 13:54:26 2017 +0100 csc: transient link files for programs are deleted, fixed collect-linked-objects (thanks to Kooda) commit c395e14545aca8b3814e683a778091d74a9347e3 Author: felix Date: Fri Jan 13 12:29:12 2017 +0100 chicken-install: install correct file as link file, emit link file also when building static program commit 92c661162f31370cc534609cd2829a5aa4aaa6bd Author: felix Date: Fri Jan 13 12:28:49 2017 +0100 csc: collect linked files before creating argument listm commit 9bdb1cdf20aa14cfb6b62a917c794b25ae1e0e25 Author: felix Date: Fri Jan 13 11:48:01 2017 +0100 drop use of -static-libs when compiling static progranm (found by Kooda) commit 05646e8ec553dfc8857c9324597829a9976a286f Author: Peter Bex Date: Thu Dec 15 23:44:35 2016 +0100 Statically determine if av can be reused or not. This is faster due to avoiding branch prediction misses. Signed-off-by: felix commit 6b9ebc427aa2b3bcd9ae30e7258e9b9ffe0a4bc8 Author: Peter Bex Date: Thu Dec 15 23:44:35 2016 +0100 Statically determine if av can be reused or not. This is faster due to avoiding branch prediction misses. Signed-off-by: felix commit fac2d9fa9ecdcea7a1c39b63f17df1ecdb20e1f8 Merge: 954e75a3 73c083a9 Author: felix Date: Thu Jan 12 12:00:29 2017 +0100 Merge branch 'chicken-5' of ssh://call-cc.org/usr/local/repos/chicken-core into chicken-5 commit 954e75a3b8074d0edc0eebc1f9f6618399968e11 Author: Peter Bex Date: Tue Dec 27 17:53:40 2016 +0100 Add __builtin_expect to help branch prediction. Currently applied to all C_demand() checks, which are unlikely to fail. So we make sure the C compiler knows the default branch is more likely. Signed-off-by: felix commit aaca4af5b1fd9cc9c064fcae4e9a4a6ce67a0485 Author: Peter Bex Date: Tue Dec 27 18:06:12 2016 +0100 Add __builtin_expect to help branch prediction. Currently applied to all C_demand() checks, which are unlikely to fail. So we make sure the C compiler knows the default branch is more likely. Signed-off-by: felix commit 029e0a7858f424a41a0380ef1838436d759cc17d Author: felix Date: Mon Jan 9 22:14:49 2017 +0100 check installed egg-infos for files that may be overwritten commit 5164b65e9d1fc50717527ff9ed009776c8eb8ad0 Author: felix Date: Mon Jan 9 10:47:11 2017 +0100 documented -emit-link-file commit f72d4150de170b9fc0a67bbf2a2289b72aad0d0a Author: felix Date: Sat Jan 7 17:19:46 2017 +0100 use link files when compiling static eggs commit 17928437dca99e07bd4f4cbf10952eb750693f0a Author: felix Date: Sat Jan 7 17:19:26 2017 +0100 copy local eggs only if necessary into cache commit 82988ca4e4547a8d01c93f6b68192b035aa0e237 Author: felix Date: Sat Jan 7 17:19:04 2017 +0100 use link files instaed of file marks commit 36f71387065e74a14eeb69188099157bbf9d10d6 Author: felix Date: Sun Jan 1 15:12:33 2017 +0100 added "install-name", order installed eggs by dependencies, check for dependency cycles, in scripts, cd to builddir. commit 73c083a9f04ea64f0c84eea68d1c69b22d822e50 Author: Peter Bex Date: Wed Dec 28 19:11:35 2016 +0100 Fix crashes in callbacks after GC (#1337). This was caused by keeping argvector in temp stack, similar to 9eed2742. Instead, we also copy the argvector into the stack before re-invoking the trampoline when in a callback context, just like a regular CPS context. Also, fix an off-by-one in the number of arguments which allocate_vector_2 accepts; simply passing the original argcount doesn't allow for the extra 'mode' argument which gets added onto the front of the stack. Signed-off-by: Christian Kellermann commit dc5bd1e06894ee98d46223c784724dc95907f6cf Author: Peter Bex Date: Wed Dec 28 19:04:12 2016 +0100 Fix crashes in callbacks after GC (#1337). This was caused by keeping argvector in temp stack, similar to 9eed2742. Instead, we also copy the argvector into the stack before re-invoking the trampoline when in a callback context, just like a regular CPS context. Also, fix an off-by-one in the number of arguments which allocate_vector_2 accepts; simply passing the original argcount doesn't allow for the extra 'mode' argument which gets added onto the front of the stack. Signed-off-by: Christian Kellermann commit fae7cba498f7f2a4270a92bad8ef51860152647a Author: Kooda Date: Mon Dec 19 16:04:51 2016 +0100 Fix type declaration of get-environment-variables Signed-off-by: Evan Hanson commit da76f9a44cc056a6535c38840f850d2880a9200b Author: Kooda Date: Mon Dec 19 16:33:27 2016 +0100 Fix type declaration of get-environment-variables Signed-off-by: Evan Hanson commit 8c3e9c5d1069b847d971ebcd617fcadc4a0214af Author: Mario Domenech Goulart Date: Fri Dec 23 19:16:19 2016 +0100 egg-download.scm: replace (##sys#fudge 41) by major-version commit 1ad3512ac0b1d657ecf3b9e773396dc8065c2a0f Author: Peter Bex Date: Sat Sep 27 13:37:53 2014 +1200 Include debug info on ##core#direct_call nodes Signed-off-by: Evan Hanson commit 06577311a49f6fd04f91f056f2e6b4cf8f40ea97 Author: Peter Bex Date: Sun Dec 18 20:11:04 2016 +0100 Include debug info on ##core#direct_call nodes Signed-off-by: Evan Hanson commit 92bd67d6ce8389d65b199dab53cd84bae99ea05b Author: felix Date: Fri Dec 16 15:26:04 2016 +0100 egg-download: avoid using ##sys#fudge commit cf501262811b108d3286cbd115b0c3352032bc6a Author: felix Date: Fri Dec 16 15:25:43 2016 +0100 egg-compile: make build-script aware of keeping generated files, bugfix in ordering of dependencies commit c93cfb621782d412b2f8c67360e5b1aa7905d42b Author: felix Date: Fri Dec 16 15:24:47 2016 +0100 data-structures: missing export of "sort!" commit 137fdb60c859a7f01afe5de3fe180db2ff57f988 Author: felix Date: Fri Dec 16 15:24:31 2016 +0100 chicken-install.scm: option to keep generated files. commit 26372729662465373262eefffeac010edd1a74b4 Author: Peter Bex Date: Thu Dec 15 20:27:31 2016 +0100 Add CVE-2016-9954 number to changelog. commit 670f32e87c9a723a982d9589170d18a55afcf2e0 Author: Peter Bex Date: Thu Dec 15 20:26:49 2016 +0100 Add CVE-2016-9954 number to changelog. commit 60118b0cc425b121e5a0f8e65cee0b471b09f89e Author: Peter Bex Date: Wed Dec 14 20:28:12 2016 +0100 Update irregex to upstream 0.9.6 This fixes a resource consumption vulnerability due to exponential memory use based on the depth of nested "+" patterns. Signed-off-by: Mario Domenech Goulart commit 2c419f18138c17767754b36d3b706cd71a55350a Author: Peter Bex Date: Wed Dec 14 20:25:25 2016 +0100 Update irregex to upstream 0.9.6 This fixes a resource consumption vulnerability due to exponential memory use based on the depth of nested "+" patterns. Signed-off-by: Mario Domenech Goulart commit 47389780514daadf2fa5ed8cf9142d740b429597 Author: Evan Hanson Date: Mon Dec 12 15:52:59 2016 +1300 Only try to time tests when `time` command is available Signed-off-by: Peter Bex commit cfdeb4ab4bb857d18e28d587a0663d02cba14b70 Author: Peter Bex Date: Mon Dec 12 21:34:13 2016 +0100 Only try to time tests when `time` command is available Signed-off-by: Peter Bex commit 87b879bac18b929255dfa46657fbb9d7b98854b8 Author: Peter Bex Date: Wed Dec 7 22:24:50 2016 +0100 Remove run-time/compile-time diffs in parameterize We bind the "saveds" once more to their own values. This ensures that any call/cc in the parameterize form itself will not affect the saving/restoring of the parameters due to compilation strategy. Strictly speaking, I think this is not required by SRFI-39, but this way we get consistent behaviour in the tests, compiled or interpreted. Second part of fix for #1336 Signed-off-by: Evan Hanson commit 9e20052a88adb540aef72058463921a43ac6b088 Author: Peter Bex Date: Tue Dec 6 22:12:59 2016 +0100 Save "current" values when leaving parameterizes. These remembered parameter values are reinstated when we enter the dynamic extent again, instead of resetting to the original values the parameters had when first entering the extent, like we did in the fix for #1227. Signed-off-by: Evan Hanson commit a75d2b22bdbb990cf336c696f297de22a1247e0b Author: Peter Bex Date: Wed Dec 7 22:24:50 2016 +0100 Remove run-time/compile-time diffs in parameterize We bind the "saveds" once more to their own values. This ensures that any call/cc in the parameterize form itself will not affect the saving/restoring of the parameters due to compilation strategy. Strictly speaking, I think this is not required by SRFI-39, but this way we get consistent behaviour in the tests, compiled or interpreted. Second part of fix for #1336 Signed-off-by: Evan Hanson commit 6ea929ddb2c21ad340e1403248529017352928c5 Author: Peter Bex Date: Tue Dec 6 22:12:59 2016 +0100 Save "current" values when leaving parameterizes. These remembered parameter values are reinstated when we enter the dynamic extent again, instead of resetting to the original values the parameters had when first entering the extent, like we did in the fix for #1227. Signed-off-by: Evan Hanson commit b35822385a97a69f1de86017ee8fbd1d479f0f62 Merge: df75cd56 efa387a0 Author: felix Date: Sat Dec 10 21:07:52 2016 +0100 FUCK YOU GIT! FUCK YOU! commit df75cd56a444027e58f0574a83bf3926eda4a228 Author: felix Date: Sat Dec 10 20:58:15 2016 +0100 documented -static option for chicken commit a35b0569fa863adc3f274e03c9992411b652272f Author: felix Date: Sat Dec 10 20:58:00 2016 +0100 eval: dropped obscure extension options, depends on egg-information, determine static extensions, if requested commit d150545c29cc0d84d526f5cfa8bcf72852c44d4b Author: felix Date: Sat Dec 10 20:56:25 2016 +0100 renamed some vars in egg-environment for more consistency commit fd80ab7e4b7a398f9ee07095448ac302b64f7461 Author: felix Date: Sat Dec 10 20:56:04 2016 +0100 moved egg-info validation into chicken-install commit 84e7e0d24ad13ee2d0e7645f359a90bbc22a0e25 Author: felix Date: Sat Dec 10 20:55:17 2016 +0100 csc: twrapped in module, use egg-environment.scm commit 036d56cd13af6683ce62fd93d0a52297464ac057 Author: felix Date: Sat Dec 10 20:53:38 2016 +0100 c-backend: emit "mark" indicating statically linked extensions commit 58f5296386f84162744472e68bee94738de2a5e0 Author: felix Date: Sat Dec 10 20:53:15 2016 +0100 changed semantcis of -static option in csc, added -static to chicken commit 7274d9b7a24a9bbf995d47d2ec7773058902f2b6 Author: felix Date: Sat Dec 10 20:50:36 2016 +0100 removed comments about possible future "genericity" of backend commit 9e5c32cf66326d0c3ceb2585a8be1f0974577810 Author: felix Date: Tue Nov 15 16:36:27 2016 +0100 removed alternatives for some egg properties commit 30d994b6c3ecfd89436aef6f74c9988bb8c85dfa Author: felix Date: Tue Nov 15 16:36:15 2016 +0100 bugfix in egg-compile output commit b0171a1296b0bb7147ce4f652af616e667cf88e1 Author: felix Date: Tue Nov 15 16:36:01 2016 +0100 updated manifest commit ff6083ab544624aeebfbfdc0525c5a88a730d44c Author: felix Date: Tue Nov 15 16:35:48 2016 +0100 typo in list of import libs commit 364d04cf60cf21828968dc0cf66cfe2ac4e2bc85 Author: felix Date: Tue Nov 15 16:35:30 2016 +0100 chicken-uninstall: bugfix commit 3cecf0a7ad0e1cda450d4b0384db059a8aa11afe Author: felix Date: Tue Nov 15 16:35:20 2016 +0100 use new module for pathnames commit c1d42682b8d19e9a66f08c0679ef167ab54bb0b1 Author: felix Date: Tue Nov 15 16:34:56 2016 +0100 dropped deployment commit 97387c4a9040985bb9c872d5612278656b3a673b Author: Peter Bex Date: Mon Nov 14 20:03:57 2016 +0100 Improve description of how to use release-number-vector Before, it was implied that any vector made by a make-XXXvector procedure could be deallocated with release-number-vector, which is of course not true! commit 6408d55ff0cbfe3f0a0fd6504bb558490d515ea4 Author: Peter Bex Date: Mon Nov 14 20:03:38 2016 +0100 Improve description of how to use release-number-vector Before, it was implied that any vector made by a make-XXXvector procedure could be deallocated with release-number-vector, which is of course not true! commit 4213c880b6d80cfbb6ac8bcc16d970922915fcfe Author: felix Date: Sun Nov 13 16:50:17 2016 +0100 removed NOTES commit 19e24b09a14d0bd2628859e5d4fae25a78ffc00f Author: felix Date: Sat Nov 12 23:42:28 2016 +0100 optional continue when running script (why this?) commit da7609b71734ae8703f5e03d150f5340508babe4 Author: felix Date: Sat Nov 12 23:40:36 2016 +0100 resurrecteed -override commit 380bb96803732e078e453abdd7fe078eb05733b1 Author: felix Date: Sat Nov 12 23:40:21 2016 +0100 if cached version exists, ignore if egg can't be found or retrieved from server commit 390cbc5c2e9ce62377af5527cf41475529c504b6 Author: felix Date: Fri Nov 11 13:06:18 2016 +0100 version: make minor/patch optional commit f5626b8b7fb1ba4bdba4c7fe79d11ea2108a35ef Author: felix Date: Fri Nov 11 13:06:03 2016 +0100 always exit with 2, if tests failed commit 4bd742b5c8d05737fa2728fd98e5eae31608ba30 Author: felix Date: Fri Nov 4 21:22:20 2016 +0100 chicken-install: flush stdout before dbg output commit 3bf6b79acc4c46a9184a530ba4ab660bd562bc0a Author: felix Date: Thu Nov 3 10:12:45 2016 +0100 exit with status 2 if tests failed commit 020af74501ae609bd393f6a6e10b1a3f7d03cc84 Author: felix Date: Thu Nov 3 10:10:06 2016 +0100 bugfix in server checking loop, added running tests. commit 3beb63b9f0cbb79527475f867a12473c96f866e4 Author: felix Date: Fri Oct 28 21:42:03 2016 +0200 write version file, always copy sources from location commit 9c080bbd0be61e8015eff82795e2f386f9816ca3 Author: felix Date: Fri Oct 28 21:41:19 2016 +0200 add generated-files, simplify (sort of) building commands commit 87c2c6166ad2c108947d4e49634cdb965c12bb63 Author: felix Date: Fri Oct 28 21:40:35 2016 +0200 need access to csi name too commit 77aa45ff4a7cf57f5f8c7e02d2422fab67ce4b06 Author: felix Date: Fri Oct 28 21:40:24 2016 +0200 added some egg properties commit 8214de96adaae257620c1cca968af78965aff590 Author: felix Date: Fri Oct 21 12:03:46 2016 +0200 overhauled egg-file validation commit edbabfd760600cc7c34da0814f167bd0f7a8bb2d Author: felix Date: Fri Oct 21 12:03:34 2016 +0200 some extra output when interacting with server commit 7fb0430d6d6cbd40f77f1144796aef97e3593b18 Author: felix Date: Fri Oct 21 12:03:12 2016 +0200 chicken-install: bugfix and omitted dep-list commit 0a1e59e9d07dd20f501bd769a5ea2adcfd7bea7a Author: felix Date: Sun Oct 2 19:30:44 2016 +0200 output tweaks in chicken-install, explicit recursive download, some bugfixes, remove programs and shared libraries before overwriting commit 244f65e0f9edece02354d5e4cdcef07660b0a74f Author: felix Date: Fri Sep 30 22:33:12 2016 +0200 bugfixes to make basic retrieval work commit 032aed6cc9c6750df39d1fd50c30e11a4b3c9866 Author: felix Date: Fri Sep 30 22:32:55 2016 +0200 use install(1), when possible, differentiate between executable and file install. commit ad38d9ff4764382450365d4fdd7fec7d6827dc75 Author: felix Date: Fri Sep 30 22:32:22 2016 +0200 bugfixes in chicken-uninstall commit 8c9166c0e3876c3ae3275bf8e1554141f8210567 Author: Mario Domenech Goulart Date: Sat Sep 24 18:42:31 2016 +0200 Remove references to setup-download and setup-api This is mostly to fix the build system and for minor cleanup. Some references in scripts have been kept, as a reminder the we have to fix them. commit fe20c6aed8340c897eb70c3d4665db5fc073444e Author: felix Date: Sat Sep 24 18:13:36 2016 +0200 egg-compilation: fix info-validation, new egg prop access impl, pass C-compiler include path option when compiling commit aea100169c2db68d0ee134c2e3c6e08dd5521842 Author: felix Date: Sat Sep 24 18:10:42 2016 +0200 chicken-uninstall: use better egg-prop access commit 1918b420dd53998774b3bcd9704a2d8b6f596198 Author: felix Date: Sat Sep 24 18:10:23 2016 +0200 chicken-status: new egg prop access, bugfix in read-info commit e0cb06117a8e81d2af00d144884041aabd95cd1a Author: felix Date: Sat Sep 24 18:09:47 2016 +0200 chicken-install: added update-db operation again, improved egg-property access commit cf000f3c8605027f66b119fab93407a61f5249c0 Author: felix Date: Sat Sep 24 18:08:16 2016 +0200 chicken-do: flush stdout before exec'ing commit 1261fa0998c5817d2979a97ff084738f4354ac0e Author: felix Date: Wed Sep 7 14:30:06 2016 +0200 egg tools build commit 75d13dae2ec1392b7d0478bc027bd04da73560dd Author: felix Date: Sun Sep 4 22:28:19 2016 +0200 updated rules.make commit 5fb25ad641e75c0c3bfafa524b1a24404c250472 Author: felix Date: Sun Sep 4 22:28:06 2016 +0200 improvements in egg-related code commit 286dd6df19a2d7ffb3a9b1face78caf886743a92 Author: felix Date: Sun Sep 4 22:27:42 2016 +0200 updated manifest commit 0d9fe39a0b08271ec12ed9a212d04f97829847ed Author: felix Date: Sun Sep 4 22:27:25 2016 +0200 replaced new chicken-install commit d4c09fd4be6da1da702142d5bde35f70d18ddc8f Author: felix Date: Sun Sep 4 22:27:02 2016 +0200 dropped old files commit 298e78cddafd9c9f4f443588739ac898bb845e10 Author: felix Date: Fri Aug 19 22:45:04 2016 +0200 bugfixes in chicken-do and script-generation/execution commit dac873ad61451896bf1bd8357bdf6c636d39cb51 Author: felix Date: Fri Aug 19 00:47:07 2016 +0200 bugfixes in egg-compile + new-install, added use of CHICKEN_REPOSITORY commit 34d36e0c22748d8efb6fe012e68b59d09fd280a9 Author: felix Date: Thu Aug 18 17:51:37 2016 +0200 various corrections and enhancements in egg-compile/new-install commit d6ea95271e24ab30ccfbc76ce0d1f621977b12e7 Author: felix Date: Thu Aug 18 17:51:14 2016 +0200 removed obsolete script commit 7467535aec7db8d5273159623795b90dab3f2b2e Author: felix Date: Thu Aug 18 17:51:03 2016 +0200 removed deployment section from manual commit 10e7689730cd4f5f89d90984873fb0602c8498a7 Author: felix Date: Thu Aug 18 17:49:07 2016 +0200 changed setup-info file extension commit 2d2646296bbe5633829be17b008889ba8f13a304 Author: felix Date: Thu Aug 18 17:48:17 2016 +0200 added chicken-do program commit e43e62e30eb178d72a7ab7503ee90404714ded7a Author: felix Date: Mon Aug 8 21:54:26 2016 +0200 document "-debug-level 3" in the manual commit f83495033fabffe786e25205446490946d027de3 Author: felix Date: Sun Jul 17 14:10:55 2016 +0200 more options, more complete rec. retrieval commit 9dff4319a179758812a5b1e5e22193492efb1958 Author: felix Date: Sun Jul 10 22:28:58 2016 +0200 continuing to complete retrieval + version mgmt commit 457b513b102b3469214615f6f1d476233739b2da Author: felix Date: Thu Jun 30 12:25:41 2016 +0200 changed setup.defaults, some bugfixes, list-versions mode commit f3370bc522ff80ef435d8dc0afc65cec3222246c Author: felix Date: Wed Jun 15 14:39:15 2016 +0200 various changes to make a basic chicken-install compile commit c623cad942497e00b00a5ae9def4a5bef3d4ab61 Author: felix Date: Thu May 19 15:47:54 2016 +0200 notes, cleanup in egg-compile, startup with chicken-install wrapper and download code. commit ac3f13aa0050cb1ebda264fa4f469492286dc2ef Author: felix Date: Thu Apr 21 23:04:53 2016 +0200 improvments to egg-compile.scm commit 7191ba90b858557c9fef0f6d1ba8e7c468f48046 Author: felix Date: Thu Apr 21 23:04:19 2016 +0200 moved http-download code into new file commit 5c0cd26c50e40fa07c1a6a494d61cd4298bf3c50 Author: felix Date: Sat Apr 16 22:40:29 2016 +0200 completed (for the time being) egg-environment commit 8facc0d2ed8f3f7fddf57587f1a919bf23688778 Author: felix Date: Sat Apr 16 22:40:12 2016 +0200 basic implementation of egg-tree compilation commit 26b6d9d61175510200e957c7b744c3316d03e10c Author: felix Date: Sat Apr 16 22:39:46 2016 +0200 Add STATICBUILD to chicken-config.h commit db3bd87bb1617ba8256a90d7cec508ec6dac43c1 Author: felix Date: Sun Apr 3 20:24:45 2016 +0200 egg-info tweaks commit 009bd07ceaa1aa5dc96c2d04f22c697de744ebee Author: felix Date: Sun Apr 3 20:24:22 2016 +0200 notes commit 825df9e5ad801ba82d873328ade650d38b1473b9 Author: felix Date: Sat Apr 2 15:15:24 2016 +0200 added first experimental code for processing egg-info commit efa387a033bc6696030fba4a0596433720326cd4 Author: felix Date: Fri Nov 11 13:06:18 2016 +0100 version: make minor/patch optional commit 25a463722a7d94d62eb9c4dbebdbedee638f3930 Author: felix Date: Fri Nov 11 13:06:03 2016 +0100 always exit with 2, if tests failed commit 1ab62dd3946d48014961e846c3546276c73d4d2a Author: Peter Bex Date: Tue Nov 1 15:18:26 2016 +0100 Improve read/write invariance of keywords (#1332). Keywords are now treated more like symbols are: when they are written, we check for readability, which means they'll be pipe-delimited if they contain "special" characters. The reader now also uses the same "extended token" reader for keywords using the "portable" representation as the style-specific reader, so that it's possible to enter keywords containing "special" characters when using this style. We now also support empty keywords, which can be entered through the "portable" syntax using quotation, i.e., as #:||. Currently, ||: and :|| are not recognised as keywords, but as a symbol of one character, the colon. Ie, it's treated the same as : by itself. Signed-off-by: Evan Hanson commit 3e3ccd8dee517985cf84e4843ddd94d87fb55e7e Author: Peter Bex Date: Sat Nov 5 20:41:07 2016 +0100 Use "portable" keyword style when WRITEing. This ensures s-expressions are readable. The selected keyword style of the program that eventually reads it doesn't need to match the keyword of the program that writes it. Signed-off-by: Evan Hanson commit de934e900e3e52abaaa4ab3e07126e9e3480d124 Author: Peter Bex Date: Tue Nov 1 15:18:26 2016 +0100 Improve read/write invariance of keywords (#1332). Keywords are now treated more like symbols are: when they are written, we check for readability, which means they'll be pipe-delimited if they contain "special" characters. The reader now also uses the same "extended token" reader for keywords using the "portable" representation as the style-specific reader, so that it's possible to enter keywords containing "special" characters when using this style. We now also support empty keywords, which can be entered through the "portable" syntax using quotation, i.e., as #:||. Currently, ||: and :|| are not recognised as keywords, but as a symbol of one character, the colon. Ie, it's treated the same as : by itself. Signed-off-by: Evan Hanson commit d4b3d5ad2057160c9969a642ce509dad39407569 Author: felix Date: Fri Nov 4 21:22:20 2016 +0100 chicken-install: flush stdout before dbg output commit b66bb5d454a222ace301b74c37d5225d2aa738db Author: felix Date: Thu Nov 3 10:12:45 2016 +0100 exit with status 2 if tests failed commit 6305fbc8f38b9445752e144b5a7b6003e0006219 Author: felix Date: Thu Nov 3 10:10:06 2016 +0100 bugfix in server checking loop, added running tests. commit 09efd966a77bfc0cc2dca873fa72a7843a86b58f Author: felix Date: Fri Oct 28 21:42:03 2016 +0200 write version file, always copy sources from location commit b5c66c5b141c1fba413445bede227f1007411665 Author: felix Date: Fri Oct 28 21:41:19 2016 +0200 add generated-files, simplify (sort of) building commands commit a488b134a818fce7bcd6db24d862440a69d467fc Author: felix Date: Fri Oct 28 21:40:35 2016 +0200 need access to csi name too commit 8ab1b471a6943ea63aabc945eaff914c4ab81592 Author: felix Date: Fri Oct 28 21:40:24 2016 +0200 added some egg properties commit 0c64540da8de435dd0cf8365e8ab3756c98bce22 Author: Evan Hanson Date: Fri Oct 28 13:56:55 2016 +1300 Remove use of `##sys#fudge` from setversion script Also, simplify buildversion handling and fix imports for chicken-5. commit a08fc90c703e31e1191b7d91804099330249f753 Author: Peter Bex Date: Fri Oct 14 21:51:56 2016 +0200 Finally, remove all traces of ##sys#fudge/C_fudge Signed-off-by: Evan Hanson commit 318e11990dc6ee211d8859760e268ade1279d562 Author: Peter Bex Date: Fri Oct 14 21:46:13 2016 +0200 Add helper functions for remaining fudge factors. These are all used directly inline in the one place they were used. For fudge factor 13 (debug mode), a ##sys#debug-mode? is added, to make it more readable. A types.db entry is provided to ensure debug mode checks don't cause a performance regression (there was a built-in rewrite for ##sys#fudge). Alternatively, some of the internal variables could be exposed to the outside world (like fake_tty, finalizer_count etc), but this would also make them settable, which is something we might not want. And by not having them be static, performance could also be adversely affected in case of the variables used in the GC. Signed-off-by: Evan Hanson commit 220c71cbf829b43116402ac7807a2220860a2d37 Author: Peter Bex Date: Fri Oct 14 21:11:56 2016 +0200 Replace CHICKEN version fudges with foreign-values This requires the version test to be compiled. The test is still useful, as it compares the version in build-version.scm with the baked in constant definitions of C_{MAJOR,MINOR}_VERSION. Signed-off-by: Evan Hanson commit 29ea42afe7e2e3d743cc526619f4f36c4eedd50f Author: Peter Bex Date: Wed Oct 12 22:07:23 2016 +0200 Replace fudges with readily available variables. C_BINARY_VERSION was defined in chicken-{install,uninstall,status} already. C_enable_repl wasn't static, so added it to chicken.h, after which we can use that directly in ##sys#break-on-error definition. dload, ptables, gchooks and cross-chicken features can be determined through their corresponding #defined values. Everywhere else, we can just check if the feature is defined. This adds a new #:gchooks feature for consistency with other "spec" printing aspects. C_getpid() is now directly used from a foreign-lambda. repository-path simply checks C_private_repository_path() result, which is defined to return c-string. This may be NULL, which maps to #f already, making fudge 22 completely unnecessary. Signed-off-by: Evan Hanson commit 955e40ab2a56330b8faa5adebad702ed3d3d5796 Author: Peter Bex Date: Tue Oct 11 22:40:49 2016 +0200 Remove a few more semi-unused fudge factors. Fudges 8 (words per double), 9 (latency), 10 (clocks per sec), 23 (startup time), 29 (trace buffer size) were used nowhere. Remove ##sys#apply-limit, as it is used nowhere and doesn't make much sense (its value is just a crude guess anyway). This was the only use of fudge 34. Fudge 36 (toggle debug mode) doesn't make much sense either. If we want to set it it is more logical to just set it to the desired value. The one test that used it seemed to use it for no apparent reason (??) Signed-off-by: Evan Hanson commit 066b6b261c222cb38240cffbbf9b203ab7bd4087 Author: Peter Bex Date: Tue Oct 11 22:30:11 2016 +0200 Use C_gui_mode directly; remove OS-specific fudges Only fudge 4 was used by core at all. These are all quite weird; in fact, fudge factor 5 even has a comment indicating its silliness. Signed-off-by: Evan Hanson commit e4dad2ef8c68fcde9d379c49c245081b554f119f Author: Peter Bex Date: Tue Oct 11 22:03:30 2016 +0200 Remove a few obsolete fudge factors. - eof-object wasn't used anywhere via fudge-factor anymore. - symbolgc can no longer be disabled. - manyargs and apply-hook are no longer relevant. - Reading any other obsolete fudge factor will now cause a panic. After this change, #:manyargs is simply always defined. Signed-off-by: Evan Hanson commit aea23751abd310f60306e124d3a9c07d3164c897 Author: Peter Bex Date: Tue Oct 11 21:54:27 2016 +0200 Replace (##sys#fudge 3) by #:64bit feature checks. We could alternatively use cond-expand. When _defining_ the feature, we resort to checking the C_WORD_SIZE foreign value, which is more or less equivalent to what the fudge did. Signed-off-by: Evan Hanson commit 4bea71ab16718617449c19f1080f6bd4851fd05f Author: Peter Bex Date: Tue Oct 11 21:42:30 2016 +0200 Replace uses of (##sys#fudge 7) by C_wordstobytes. Signed-off-by: Evan Hanson commit 81b316a6bbf1f8f8f252aba99613bad0067e72a6 Author: felix Date: Fri Oct 21 12:03:46 2016 +0200 overhauled egg-file validation commit 5ba44a591b2c6ceda1f6bb121b73d60143f105af Author: felix Date: Fri Oct 21 12:03:34 2016 +0200 some extra output when interacting with server commit ab95f99d32fb39d93b43147cddd2645b95aed0f0 Author: felix Date: Fri Oct 21 12:03:12 2016 +0200 chicken-install: bugfix and omitted dep-list commit 58e6c5d582c0c5223cbcfc51d343a4185d6c7fff Author: Kooda Date: Fri Sep 16 17:20:30 2016 +0200 Make (time) show the maximum heap usage Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit f311543adeddc1a9848bb7e4bdc6b0fb259cc5e8 Author: Kooda Date: Fri Sep 16 17:20:30 2016 +0200 Make (time) show the maximum heap usage Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 7f60f95c7f376fb981d662943d27feabab7e1d21 Author: Peter Bex Date: Mon Aug 8 22:33:41 2016 +0200 Change ratnum and cplxnum representation to also use custom types. Same change as bignums. This eats up two more reserved type tags, resulting in more pre-allocation savings, about as much as with the bignum change. The performance gains on code that *doesn't* use these numeric types are minimal, but it really cleans up the code; the numeric ops are now much less branchy, and it changes 2 checks to 1 check for every case where a ratnum or a cplxnum is involved. In total, this is a net removal of 100 lines of code. While at it, this also replaces direct C_block_item(x, n) calls with more opaque/abstract C_u_i_ratnum_{num,denom} and C_u_i_cplxnum_{real,imag} helper macros. This would make it easier to change the representation in the future. Currently only the eqv? implementation directly accesses the slots to keep the code simpler. Signed-off-by: felix commit 7d393cf3901cc73ad269e382ce2923e3f985920a Author: Peter Bex Date: Sun Aug 7 21:32:59 2016 +0200 Change bignum representation to use a custom type. Instead of using a generic record type with a "bignum_type_tag" symbol slot, we use a custom object containing only a pointer to the actual bignum data. This saves at least one slot when pre-allocating for a call to an arithmetic operator. In case of the generic operators, this can save up to four slots (maximum size is allotted for a complex number consisting of two ratnums, each containing two bignums; so four bignums in total). Less allocation results in slower nursery growth, which in turn means minor garbage collections will happen less frequently. The change in object type also means we need to do one less check in the bignum? predicate. Signed-off-by: felix commit 01d34ab52c2b3409d844366b82fdc29f691760fe Author: felix Date: Sun Oct 2 19:30:44 2016 +0200 output tweaks in chicken-install, explicit recursive download, some bugfixes, remove programs and shared libraries before overwriting commit 2bbcdbd5ae15c9eb609c75ae32e7bbff5b3ba47e Author: felix Date: Sun Oct 2 19:29:25 2016 +0200 notes commit 2b17d922cd8f66c136ae024be059a92e097d9c6e Merge: 0c0252c1 73487f0b Author: felix Date: Fri Sep 30 22:35:55 2016 +0200 Merge branch 'chicken-5-new-egg-install' of ssh://call-cc.org/usr/local/repos/chicken-core into chicken-5-new-egg-install commit 0c0252c109de71b65d97974abe7626e565357972 Author: felix Date: Fri Sep 30 22:33:12 2016 +0200 bugfixes to make basic retrieval work commit 6907d22d1eb5aa8c3f16e02d47140d68f88d813a Author: felix Date: Fri Sep 30 22:32:55 2016 +0200 use install(1), when possible, differentiate between executable and file install. commit 80b6763e5e14fd68a5573809c4b8bc88a067be38 Author: felix Date: Fri Sep 30 22:32:22 2016 +0200 bugfixes in chicken-uninstall commit 743a535b8d049759a9f3b134f87e41150378aa4f Author: felix Date: Fri Sep 30 22:32:07 2016 +0200 notes commit de09e0a2c286a260dd3a15baaa2a1f86512a4b1e Author: Peter Bex Date: Sat Sep 3 18:45:54 2016 +0200 Remove C_BUCKET_TYPE The original GC code detected C_BUCKET_TYPE as a special case, for which it would insert the bucket's symbol into the weak symbol hash table. Now that we treat hsah table buckets *almost* normally, there's only one special case left, which also works if we use "weak pair" as a type. There is one caveat, namely that anything which checks for "pair" by directly matching the header tag against C_PAIR_TAG will not accept a weak pair. This is not as bad as it sounds, since the buckets are in an internal hash table that's not directly accessible to the user anyway. The only place we need a special case for it is in dump_heap_state_2(). Signed-off-by: Evan Hanson commit 9b4d279b8c3cdb7c61ad74112edb3d04657dfc9f Author: felix Date: Thu Sep 29 15:43:26 2016 +0200 test-finalizers: missing import statement commit cae39e635a499bf6f6adb02a3fb79213d7f2f6bc Author: felix Date: Thu Sep 29 15:19:38 2016 +0200 (by Peter Bex) Make weak symbol GC the default. Because symbol GC is now nothing special, we can do this. The overhead of the symbol table fixup in update_symbol_tables() is neglible, and in many cases offset by the gains of not needlessly copying symbol data. This removes the -:w option, and the SYMBOLGC compile-time option no longer does anything. Signed-off-by: felix commit 5c3a429228767678582037c48d8a942b9f251ddc Author: felix Date: Thu Sep 29 15:15:35 2016 +0200 (by Peter Bex) Simplify and improve reclaimability of symbol GC Instead of using a secondary symbol table ("weak table") for tracking unreferenced symbols, we change the symbol's buckets to either hold the symbol strongly or weakly. This allows us to rely on the GC's normal function to copy or discard unused symbols. On minor GC, we *always* copy the symbols, ignoring its bucket's weak/strong status. This is for performance reasons. After a major or reallocating GC, we traverse the symbol table and update the pointers in weak buckets: if the new location of the symbol is in the tospace/new heap, it must be live, so we keep it and update the bucket's pointer. Otherwise, we can drop the bucket. This requires one change to how symbols are managed: when a bucket is allocated, it is weak by default. When a symbol becomes globally bound or gains a plist, we change the bucket type from weak to strong. If the plist is emptied, the bucket type is changed to weak again (but only if it isn't also globally bound). Currently we don't support unbinding a symbol, but if we ever do we'll need to call unpersist on the symbol as well. There are several advantages to this: 1) It is simpler than the tricky weak table code (see also #1173). 2) Now, all symbols can be collected instead of an upper limit of 997. 3) It is much faster when a lot of discardable symbols are generated. 4) Memory usage is no longer unbounded when many symbols are generated. Points 3 and 4 are related to point 2. See the knucleotide benchmark for an extreme example of this: it uses about half as much memory and is twice as fast under the new implementation. Signed-off-by: felix commit 73487f0b8c887ad206d429ed0fe14783f246b19c Author: Mario Domenech Goulart Date: Sat Sep 24 18:42:31 2016 +0200 Remove references to setup-download and setup-api This is mostly to fix the build system and for minor cleanup. Some references in scripts have been kept, as a reminder the we have to fix them. commit ad6e006b2cde987323d5034a9b969db986328d52 Author: Peter Bex Date: Tue Sep 27 20:11:59 2016 +0200 Fix description of test (thanks to Arthur Maciel for pointing this out) commit f5ef2ee41b29700eb222658ff36a0c31aff3172e Author: Peter Bex Date: Tue Sep 27 20:11:02 2016 +0200 Fix description of test (thanks to Arthur Maciel for pointing this out) commit 246745d13a1def0b5cbea5084b542de2f0ce191a Author: felix Date: Mon Sep 26 15:27:47 2016 +0200 notes commit 3dba781d64e585afc973476af1301bd4bc66792d Author: Peter Bex Date: Mon Sep 26 14:51:33 2016 +0200 Updated copyright year to 2016. Used (more or less) the same script as on the master branch: git grep -Il '(c) [0-9-]*, The CHICKEN Team' | while read i; do sed -ri 's/\(c\) (([0-9]+)-|(2015))(2015)?,/(c) \2\3-2016,/' "$i"; done commit eefcc20fe757e73dd27009814953c28137983dab Author: Peter Bex Date: Sat Sep 24 11:41:41 2016 +0200 Copy temp arg values back into argvector on loop This would prevent the procedure from starting from scratch after GC. With this change, we continue the calculation, as it should be. Fixes #1317 Signed-off-by: Evan Hanson commit 73b7b3dc01f85fdfa87d5b0949eb2775b7e76e39 Author: Peter Bex Date: Sat Sep 24 11:41:41 2016 +0200 Copy temp arg values back into argvector on loop This would prevent the procedure from starting from scratch after GC. With this change, we continue the calculation, as it should be. Fixes #1317 Signed-off-by: Evan Hanson commit 0ca2286d25c1982ff796c16542d1c6da81c56723 Author: felix Date: Sat Sep 24 18:13:36 2016 +0200 egg-compilation: fix info-validation, new egg prop access impl, pass C-compiler include path option when compiling commit 3d177eba8e19f2f5d83d25aac6289c6c21fcc9be Author: felix Date: Sat Sep 24 18:10:42 2016 +0200 chicken-uninstall: use better egg-prop access commit 156dbe7f885043245cd88c3225fadb1655b4020b Author: felix Date: Sat Sep 24 18:10:23 2016 +0200 chicken-status: new egg prop access, bugfix in read-info commit 4734a42ad3a247a18c5bcaa1088bb12289e7bdba Author: felix Date: Sat Sep 24 18:09:47 2016 +0200 chicken-install: added update-db operation again, improved egg-property access commit f5caf7349416ceb8f8d6ba8a286078d0af361d66 Author: felix Date: Sat Sep 24 18:08:16 2016 +0200 chicken-do: flush stdout before exec'ing commit bdffc23cadd28b4ac5353cfb1c532c7c10b64084 Author: felix Date: Sat Sep 24 18:06:06 2016 +0200 more notes commit 1e3d20de85da3a4e1a633c3e38324ad77bd5eb20 Author: Peter Bex Date: Sun Sep 11 22:21:07 2016 +0200 Missed one more merge conflict marker commit 5c310bbcecf949140b636979b4b01c9793eb0ba6 Author: Peter Bex Date: Sun Sep 11 22:17:45 2016 +0200 Merge bumping of version to 4.11.2 into NEWS and such Conflicts: NEWS README buildversion manual/The User's Manual commit 0012ce0dbee381af6e17418bff1fe47546713b5b Author: Peter Bex Date: Sun Sep 11 22:17:45 2016 +0200 Bump version to 4.11.2 commit a4c3e1411eba89f0dcc05dc7ef5ec205a7915e69 Author: Evan Hanson Date: Thu Sep 8 22:32:21 2016 +1200 Detect and signal error on stack overflow in `apply` When a demand for nursery space is unsatisfied even after popping the stack and reinvoking the caller, going back to C_save_and_reclaim to try to reclaim space *again* just leads to an infinite loop. Since there's not much else we can do in this situation, it's better to signal the problem as a Scheme-level error. To do this, we can just remember that there was a stack demand when jumping into the GC from C_apply or C_apply_values and, if the same demand fails when we bounce back and try again, we barf. The one tricky thing to this is that we must forget the remembered demand if the jump to the GC is redirected to the interrupt handler. Otherwise, the next call to C_apply/C_apply_values would only get one chance to demand nursery space. commit 116f42e7a3eab2a02b853fd038af3cb3aadad5c3 Author: Evan Hanson Date: Sat Sep 10 22:53:36 2016 +1200 Detect and signal error on stack overflow in `apply` When a demand for nursery space is unsatisfied even after popping the stack and reinvoking the caller, going back to C_save_and_reclaim to try to reclaim space *again* just leads to an infinite loop. Since there's not much else we can do in this situation, it's better to signal the problem as a Scheme-level error. To do this, we can just remember that there was a stack demand when jumping into the GC from C_apply or C_apply_values and, if the same demand fails when we bounce back and try again, we barf. The one tricky thing to this is that we must forget the remembered demand if the jump to the GC is redirected to the interrupt handler. Otherwise, the next call to C_apply/C_apply_values would only get one chance to demand nursery space. commit 1995b31de157dc1c4214741159cd33786764d1b1 Author: Evan Hanson Date: Mon Sep 5 22:54:31 2016 +1200 Drop initial temp stack size to 256 words The vast majority of programs won't need more than this, so reduce the starting size to avoid paying more in memory than is typically required. commit 97e15fe188a20ca065518de6695594c20b227605 Author: Evan Hanson Date: Mon Sep 5 22:54:31 2016 +1200 Drop initial temp stack size to 256 words The vast majority of programs won't need more than this, so reduce the starting size to avoid paying more in memory than is typically required. commit f7787a7a6b15eb09d4f87f17bb19584d6437a41e Author: Evan Hanson Date: Mon Sep 5 22:37:39 2016 +1200 Only shrink temp stack when new size is "significantly" smaller This is to reduce, however slightly, the number of resizes that occur when a program sees consistently diverse size requirements between GC cycles. commit 69510911f2fb816f2550b7554903cf01cbfd8823 Author: Evan Hanson Date: Mon Sep 5 22:37:03 2016 +1200 Trace temp stack resizing with "-:g" rather than "-:d" commit 5b5b3f74e631f0168b4b9725dcbf10e1a8fcbfb4 Author: Peter Bex Date: Sat Oct 31 19:57:38 2015 +0100 Dynamically resize temporary stack when needed. When the argcount is extremely large, the temporary stack can be resized to fit the arguments on GC. The default temporary stack size can thus be lowered, because the size no longer has to fit the worst case. This fixes #1098. Signed-off-by: Evan Hanson commit 62da2e3d26e1a4882d54d17922cdd1523f66f066 Author: Evan Hanson Date: Mon Sep 5 22:37:39 2016 +1200 Only shrink temp stack when new size is "significantly" smaller This is to reduce, however slightly, the number of resizes that occur when a program sees consistently diverse size requirements between GC cycles. commit de45c0636b35f9faf7605c51286e51dc80dd3424 Author: Evan Hanson Date: Mon Sep 5 22:37:03 2016 +1200 Trace temp stack resizing with "-:g" rather than "-:d" commit a23fa1f4854c28f2c3578815cb3a71515085200a Author: Peter Bex Date: Sat Oct 31 19:57:38 2015 +0100 Dynamically resize temporary stack when needed. When the argcount is extremely large, the temporary stack can be resized to fit the arguments on GC. The default temporary stack size can thus be lowered, because the size no longer has to fit the worst case. This fixes #1098. Signed-off-by: Evan Hanson commit 503b7905da0855e08c47534a9f35b87dc989e45c Author: Peter Bex Date: Sat Sep 10 11:29:55 2016 +0200 Update irregex to upstream version 0.9.5 This fixes a bug with matching "bow" occurrances after the first match with irregex-fold (or irregex-extract). This is upstream issue #14: https://github.com/ashinn/irregex/issues/14 Signed-off-by: Evan Hanson commit 90a08d56633409edef3a6eadbc628fafd3f0b20d Author: Peter Bex Date: Sat Sep 10 11:29:55 2016 +0200 Update irregex to upstream version 0.9.5 This fixes a bug with matching "bow" occurrances after the first match with irregex-fold (or irregex-extract). This is upstream issue #14: https://github.com/ashinn/irregex/issues/14 Signed-off-by: Evan Hanson commit e648d6fe531a4a2d43f9defe9bcabbde5db0ead7 Author: felix Date: Fri Sep 2 15:55:57 2016 +0200 feathers: fixed use of source file search path Signed-off-by: Peter Bex commit 2f5952b92b48207161dd4252a0888b14cc7c5cca Author: felix Date: Fri Sep 2 15:55:57 2016 +0200 feathers: fixed use of source file search path Signed-off-by: Peter Bex commit 99b8d77be64930464ba9a42e82437a071abc4b60 Author: felix Date: Fri Sep 2 15:55:18 2016 +0200 feathers: use more neutral colors, increased font size Signed-off-by: Peter Bex commit ad85a4c0c9325537fd7d9625ad2afe29b77df163 Author: felix Date: Fri Sep 2 15:55:18 2016 +0200 feathers: use more neutral colors, increased font size Signed-off-by: Peter Bex commit 70a3d2d0073ce046a87a6518c924fe3138531ee0 Author: felix Date: Wed Sep 7 14:30:06 2016 +0200 egg tools build commit d760f6b86deb5dbdfabff53c8bf4a265d73bfad0 Author: felix Date: Sun Sep 4 22:28:19 2016 +0200 updated rules.make commit a5da30f852462440e96ddb9f083b9188001f9d33 Author: felix Date: Sun Sep 4 22:28:06 2016 +0200 improvements in egg-related code commit b0b7c1a35ca9b77c99f6023293588a627d02c837 Author: felix Date: Sun Sep 4 22:27:42 2016 +0200 updated manifest commit c295dec997cadc5ac9fc89097f87bf3d016bf240 Author: felix Date: Sun Sep 4 22:27:32 2016 +0200 notes commit 8915343ea0d20e6bb8576ebd6f974a87d211d114 Author: felix Date: Sun Sep 4 22:27:25 2016 +0200 replaced new chicken-install commit 2306a09b6cc32e8fc5c838bc9351bb5e449ea5ad Author: felix Date: Sun Sep 4 22:27:02 2016 +0200 dropped old files commit b4b5a9005c3522ba795770e20403011066918718 Author: felix Date: Fri Sep 2 15:50:20 2016 +0200 Typo fix in copyright header commit 1f0a353f8f01dc61b6b392967619e8d6880fdc0e Author: felix Date: Fri Sep 2 15:50:20 2016 +0200 Typo fix in copyright header commit b6c9d813f80f4e550a2e68b103ac56934eda9c4e Author: Peter Bex Date: Wed Aug 24 21:04:37 2016 +0200 Fix symbol GC: add wep lookup after fptr chasing Sometimes, with symbol GC enabled, a major GC might "drop" symbols which were still being referenced, resulting in weird errors like (eq? x 'foo) returning #f even if x holds the symbol 'foo. If, during marking in major GC, we encounter the bucket before we encounter the symbol, the bucket still refers to the symbol in its original location (the fromspace). This pointer is added to the weak table with a counter of 0. Then, the symbol itself is scanned, and the item is found in the weak table, the counter is updated and the symbol is moved to the heap. The header at the symbol's original location in the fromspace becomes a forwarding pointer. Then, when we encounter a _second_ reference to the symbol, it still refers to the symbol's pointer in the fromspace, but the header will be a forwarding pointer, so it won't match the symbol type (which we look for right at the start of the mark function). This means the code code to update the weak entry's count won't be triggered. Instead, we should chase the forwarded pointer and *then* check if it's a symbol. If it is, look up the *original* location's pointer in the weak table. Note: We don't need to look up the new location, because that can only be the case if the symbol was marked before we encountered the bucket, in which case it will already saturate the pointer immediately upon insertion of the weak table entry. Note 2: Before a reallocing GC, we reset the weak table and we never consult it during the reallocing GC, so all symbols will be copied. A minor GC also doesn't handle symbols specially, so they'll be copied there too. This fixes #1173 Signed-off-by: felix commit 2150ad563e02c4c0edc1e98f0f6f967924df361c Author: Peter Bex Date: Wed Aug 24 21:04:37 2016 +0200 Fix symbol GC: add wep lookup after fptr chasing Sometimes, with symbol GC enabled, a major GC might "drop" symbols which were still being referenced, resulting in weird errors like (eq? x 'foo) returning #f even if x holds the symbol 'foo. If, during marking in major GC, we encounter the bucket before we encounter the symbol, the bucket still refers to the symbol in its original location (the fromspace). This pointer is added to the weak table with a counter of 0. Then, the symbol itself is scanned, and the item is found in the weak table, the counter is updated and the symbol is moved to the heap. The header at the symbol's original location in the fromspace becomes a forwarding pointer. Then, when we encounter a _second_ reference to the symbol, it still refers to the symbol's pointer in the fromspace, but the header will be a forwarding pointer, so it won't match the symbol type (which we look for right at the start of the mark function). This means the code code to update the weak entry's count won't be triggered. Instead, we should chase the forwarded pointer and *then* check if it's a symbol. If it is, look up the *original* location's pointer in the weak table. Note: We don't need to look up the new location, because that can only be the case if the symbol was marked before we encountered the bucket, in which case it will already saturate the pointer immediately upon insertion of the weak table entry. Note 2: Before a reallocing GC, we reset the weak table and we never consult it during the reallocing GC, so all symbols will be copied. A minor GC also doesn't handle symbols specially, so they'll be copied there too. This fixes #1173 Signed-off-by: felix commit 2812556663c0540a696c1e5ad0b20fa0dc0bb836 Author: felix Date: Fri Aug 19 22:45:04 2016 +0200 bugfixes in chicken-do and script-generation/execution commit f002246ce5f94d36d58e3b0b8e66b18e33b9e4d1 Author: Peter Bex Date: Fri Aug 19 20:39:33 2016 +0200 Add CVE-2016-683[01] for process-spawn/process-execute bugs to NEWS commit 724f6866bb809c140b4a0b39e51630baf1944c93 Author: Peter Bex Date: Fri Aug 19 20:39:33 2016 +0200 Add CVE-2016-683[01] for process-spawn/process-execute bugs to NEWS commit 65f8c294651efb7444ab77e04c86627320c78682 Author: felix Date: Fri Aug 19 00:47:07 2016 +0200 bugfixes in egg-compile + new-install, added use of CHICKEN_REPOSITORY commit 9f7aeaeb7b78f4bd4797bec36c2767028b5b7eb0 Author: felix Date: Thu Aug 18 17:51:37 2016 +0200 various corrections and enhancements in egg-compile/new-install commit 34714c6d0784c66556d9d0ed9e6fdadb726c533e Author: felix Date: Thu Aug 18 17:51:14 2016 +0200 removed obsolete script commit 6d8919ad2bc8d542b28c427ad7e3dac4cd303937 Author: felix Date: Thu Aug 18 17:51:03 2016 +0200 removed deployment section from manual commit 61a7f604245e7f7d3435ae1a8f727739b2db855f Author: felix Date: Thu Aug 18 17:50:44 2016 +0200 feathers: fixed use of source-file search path commit a62af2c128992d2cd4e31795793ec6adf87d36cb Author: felix Date: Thu Aug 18 17:50:25 2016 +0200 feathers: use more neutral default colors, increased font size commit 587ec7657044c84f4a05c44f073ebfb1363cbafb Author: felix Date: Thu Aug 18 17:49:07 2016 +0200 changed setup-info file extension commit cdc9ad0ff02e134aab0e8e16ea6f2e7d23799bd4 Author: felix Date: Thu Aug 18 17:48:17 2016 +0200 added chicken-do program commit c5983812188d01daeaa9bc64e7306f2a34a9f207 Author: Evan Hanson Date: Fri Aug 12 17:47:58 2016 +1200 Preserve spawnvp[e] return value in process-spawn commit d866ac1962d9d73e652c8efaa54685238c3ec780 Author: Evan Hanson Date: Fri Aug 12 17:47:58 2016 +1200 Preserve spawnvp[e] return value in process-spawn commit 8d3bb5d3e8b9b3c15459ef73031e0aafecd575ad Author: Evan Hanson Date: Fri Aug 12 17:47:22 2016 +1200 Add process-spawn to posixwin.scm export list commit adcec284b2253dcf14fda00bd13300607b0905b2 Author: Christian Kellermann Date: Sat Jul 23 21:23:50 2016 +0200 Fix buffer overflow in posix execvp/execve wrapper This fixes bug #1308 found by wasamasa. It turns out that we don't check the number of arguments or the number of env entries before trying to write them to the target string. Instead of checking the argument count, this patch replaces the static buffer with a dynamically allocated string and relies on errno being set to E2BIG if the argument vector is too large. Furthermore, this merges the process-execute and process-spawn code from Windows and Unix some more to use more common code. This should make it easier to tweak this code in the future. This new version also fixes a memory leak which would be triggered when the arg or env list contained non-string objects or embedded NULs, or when the exec itself would fail. Most C code in these procedures was rewritten to Scheme. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 0d20426c6da0f116606574dadadaa878b96a68ea Author: Christian Kellermann Date: Sat Jul 23 21:23:50 2016 +0200 Fix buffer overflow in posix execvp/execve wrapper This fixes bug #1308 found by wasamasa. It turns out that we don't check the number of arguments or the number of env entries before trying to write them to the target string. Instead of checking the argument count, this patch replaces the static buffer with a dynamically allocated string and relies on errno being set to E2BIG if the argument vector is too large. Furthermore, this merges the process-execute and process-spawn code from Windows and Unix some more to use more common code. This should make it easier to tweak this code in the future. This new version also fixes a memory leak which would be triggered when the arg or env list contained non-string objects or embedded NULs, or when the exec itself would fail. Most C code in these procedures was rewritten to Scheme. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 06a55aa38afd91993b2f4d4ee55eec82f110ffc4 Author: Mario Domenech Goulart Date: Fri Aug 5 23:15:23 2016 +0200 create-temporary-directory: don't try to mkdir if a file with the same name exists By checking for the existence of a _directory_ in create-temporary-directory, the following program would eventually cause a runtime error, as a _file_ with the same name would exist: (use files) (let loop () (create-temporary-file "") (create-temporary-directory) (loop)) Error: (create-temporary-directory) cannot create temporary directory - File exists: ... Use file-exists? instead of directory-exists? to work around this issue. Signed-off-by: Evan Hanson commit 045f51386a07ca9a5df6597610f62caa42eb82b2 Author: Mario Domenech Goulart Date: Fri Aug 5 23:15:23 2016 +0200 create-temporary-directory: don't try to mkdir if a file with the same name exists By checking for the existence of a _directory_ in create-temporary-directory, the following program would eventually cause a runtime error, as a _file_ with the same name would exist: (use files) (let loop () (create-temporary-file "") (create-temporary-directory) (loop)) Error: (create-temporary-directory) cannot create temporary directory - File exists: ... Use file-exists? instead of directory-exists? to work around this issue. Signed-off-by: Evan Hanson commit 57d1a1257b14e1613cb3fbbc458ce0eef7626498 Author: Evan Hanson Date: Wed Aug 10 20:58:35 2016 +1200 Add missing module shortcuts Aliases for the csi, errno, eval, internal, pathname and repl modules were missed when they were changed or added, so this just makes all modules under the "chicken" namespace consistent w.r.t. import shorthand. commit 7796f12a385be5fbbfdca5c6aa632d3ad7037e9b Author: Evan Hanson Date: Tue Aug 9 23:55:39 2016 +1200 Add `include-relative` form to "chicken" module Adds a new include form that searches for files relative to the including file rather than the CWD. In all other ways it behaves like the normal `include`. Because `load-relative` and `include-relative` are so similar, this change also moves some pathname handling code into a group of shared procedures in eval.scm and uses them for both. Also slightly simplifies the filename handling code in `load` and fixes a segfault in the following program caused by the use of `##sys#current-load-path` as a string when it's false: (load (open-input-string "(load-relative \"foo.scm\")")) Signed-off-by: Peter Bex commit 3ff0513fa7ab3186b1395f952b92253021ad4f7b Author: felix Date: Mon Aug 8 21:54:26 2016 +0200 document "-debug-level 3" in the manual commit 48be1ffb27dc8ef512012ff8cc27affcdfe531cf Author: Peter Bex Date: Mon Aug 8 19:40:03 2016 +0200 Fix C_bitwise_xor allocation buffer copy/paste mistake; we only need C_SIZEOF_BIGNUM_WRAPPER, not that much more commit 8e664d245cf4ff3bb6492578248263f2fdb9a1e2 Author: Peter Bex Date: Sun Aug 7 20:25:46 2016 +0200 Use abstract C_SIZEOF_BIGNUM_WRAPPER instead of concrete C_SIZEOF_STRUCTURE(2) If we decide to tweak the bignum wrapper, this won't break. commit 077b0f941232053e953cc398e07fa5d4e8c71056 Author: Kooda Date: Wed Jun 15 09:33:38 2016 +0200 Change encoding of compiler-tests.scm to utf-8 - Fixes #1299, thanks dram! Signed-off-by: Peter Bex commit eb0753bc83617a0c2c91abd6f189a93deb138cf3 Author: Kooda Date: Wed Jun 15 09:33:38 2016 +0200 Change encoding of compiler-tests.scm to utf-8 - Fixes #1299, thanks dram! Signed-off-by: Peter Bex commit 1229e0a01c8c125042eefabd9b7ca5053bfc5010 Author: Peter Bex Date: Sat Jul 30 21:18:36 2016 +0200 Add chicken.memory to modules installed for tests. And also a shortcut, to make it like the other modules. commit e89f3e98e57aefb217356b623c78260ea86a874e Author: Peter Bex Date: Sun Jul 24 20:04:20 2016 +0200 Add special-case scrutiny handling for "append" Type derivation works perfectly for arguments known to be proper lists, but for (pair ...) structures it will punt. However, it can emit warnings when the arguments (except for the last one) are known to be non-lists or improper lists. Signed-off-by: Evan Hanson commit e61b5e9ccef5254e908a6d5b31bdf5d793d17046 Author: Peter Bex Date: Sun Jul 24 20:04:20 2016 +0200 Add special-case scrutiny handling for "append" Type derivation works perfectly for arguments known to be proper lists, but for (pair ...) structures it will punt. However, it can emit warnings when the arguments (except for the last one) are known to be non-lists or improper lists. Signed-off-by: Evan Hanson commit afcab700abd7ecb1b9e35ed84ffe733b527e02df Author: Peter Bex Date: Sun Jul 24 15:37:11 2016 +0200 Do not warn for out of range indices into possibly smashed list types When a list is smashed, usually ends up as (or pair null). If then we cons something onto it, it's seen as a list of length 1 or possibly 2. We should *not* give a warning on (list-ref 3 that-list), because it may originally have been a list of a greater length. We don't know that, so we should avoid warning for anything that's not absolutely sure to be a proper list. Luckily, if it's typed as a proper list, that's presumably safe. That's because a list with smashed components should end in just "pair", due to possible mutation by set-cdr!, which means its type is not that of a proper list. We still always warn when list-ref takes a negative index, because that's never ever valid, regardless of the argument list type. We still always preserve types when using list-ref, even on a list with smashed components, as long as the list is known to contain the index. Signed-off-by: Evan Hanson commit 1931d7960614f668c441ae44eaf6837a8272fa96 Author: Peter Bex Date: Sun Jul 24 15:37:11 2016 +0200 Do not warn for out of range indices into possibly smashed list types When a list is smashed, usually ends up as (or pair null). If then we cons something onto it, it's seen as a list of length 1 or possibly 2. We should *not* give a warning on (list-ref 3 that-list), because it may originally have been a list of a greater length. We don't know that, so we should avoid warning for anything that's not absolutely sure to be a proper list. Luckily, if it's typed as a proper list, that's presumably safe. That's because a list with smashed components should end in just "pair", due to possible mutation by set-cdr!, which means its type is not that of a proper list. We still always warn when list-ref takes a negative index, because that's never ever valid, regardless of the argument list type. We still always preserve types when using list-ref, even on a list with smashed components, as long as the list is known to contain the index. Signed-off-by: Evan Hanson commit f727ee3f11c21e258540ea8154473dd5f331f11e Author: Evan Hanson Date: Sun Jul 24 21:06:39 2016 +1200 Add mdoc for "-link" option commit 1eac399d86e4890c0b372f84419d2ba82a64a094 Author: Evan Hanson Date: Sun Jul 24 20:58:29 2016 +1200 Update mdoc for "-module" option commit dae44b93b02118c70c98cfd47041061b66bc0f0f Author: Timo Myyrä Date: Wed Jul 20 08:31:01 2016 +0300 Rewrite chicken manuals to use mdoc(7) This makes the mdoc(7) format the default on all platforms. If old man(7) format is required the mdoc(7) pages can be converted to man format and `MAN=.man' option can be set in platform specific makefile to copy those files as manual pages. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 6c822ec6d576e9f6e36edcdbc9fd26e2595e44b5 Author: Evan Hanson Date: Sun Jul 24 12:28:31 2016 +1200 Use "~a" formatter for procedure names in scrutiny output In some `list-ref` and `vector-ref` calls for which an index-out-of-range scrutiny message is printed, the procedure name is a string rather than a symbol. We should find where this difference is introduced and fix it, but until then we need to use the "~a" output formatter so these procedure names are printed without surrounding quotes. commit 159e5fe8fd893fdca256fa8360f87a9cb4910a19 Author: Evan Hanson Date: Sun Jul 24 12:28:01 2016 +1200 Fix expected line numbers in scrutiny test output commit dc55c85015b0fa961537a6aa8c21bad7b09e4167 Author: Peter Bex Date: Wed Jul 13 22:27:20 2016 +0200 Keep vector length when smashing component types. We just convert the slot types to '*, so we still know the length of the vector. Signed-off-by: Evan Hanson commit 3ec1969166532c7e61b55332122cbdc5847b44c3 Author: Peter Bex Date: Wed Jul 13 21:34:41 2016 +0200 Add scrutiny warning for bad indexing into vectors and lists. If vector-ref, vector-set!, list-ref, list-tail, drop or take are used with an index that's known to be out of bounds for the vector or list/pair sequence (of known length), give a warning. Signed-off-by: Evan Hanson commit 80d404532849528d105c943323afdfa337c0e6f7 Author: Peter Bex Date: Sun Jul 10 12:54:51 2016 +0200 Special-case vector-{ref,set!} to ##sys#[set[i]]slot when index is known. Again, this unfortunately doesn't seem to make a difference on our benchmark suite. Signed-off-by: Evan Hanson commit 9dc2592cc09bf337474b1c765806163790be1747 Author: Peter Bex Date: Fri Jul 8 19:30:58 2016 +0200 Do not track set! to known-to-be-immediate values. This extends the core language by adding an optional second param to the internal core version of set!, which gets filled in by the scrutinizer whenever the set! value is determined to always be immediate. In tight loops where set! is called very often it might make a difference. On our benchmarks it doesn't make a dent in the results, though. Signed-off-by: Evan Hanson commit a023effefa9a8edaad97e5082ba6d0696cede46a Author: felix Date: Sun Jul 17 14:10:55 2016 +0200 more options, more complete rec. retrieval commit ea8b704d09c83e4dfd298d728f8afbb12ce4859b Author: felix Date: Sun Jul 10 22:28:58 2016 +0200 continuing to complete retrieval + version mgmt commit 551d98cd1f2000935837f479de4158296ab1fa02 Author: Evan Hanson Date: Thu Jun 2 18:41:22 2016 +1200 Reschedule when a thread blocked on thread-join! is forcibly resumed When a thread that's waiting on another with `thread-join!` is forced to execute -- usually on an interrupt, when the primordial thread is forcibly resumed via `##sys#force-primordial` -- it must return control to the scheduler if it can't yet be unblocked. Otherwise, execution will return to the point in the program where the interrupt occured, but without any bookkeeping to prevent that continuation from being executed *again* on an ensuing call to `##sys#schedule`. Signed-off-by: Peter Bex commit c369ad4f5e28aa92bbfb2995f91a9e33bc56360c Author: Peter Bex Date: Wed Jul 13 22:27:20 2016 +0200 Keep vector length when smashing component types. We just convert the slot types to '*, so we still know the length of the vector. Signed-off-by: Evan Hanson commit 5e9aa097171bea359ff70e03008ba15ee23c8b0b Author: Peter Bex Date: Wed Jul 13 21:34:41 2016 +0200 Add scrutiny warning for bad indexing into vectors and lists. If vector-ref, vector-set!, list-ref, list-tail, drop or take are used with an index that's known to be out of bounds for the vector or list/pair sequence (of known length), give a warning. Signed-off-by: Evan Hanson commit f4fbd941be08c95a6c0b36f89be285113ab2b9c6 Author: Peter Bex Date: Sun Jul 10 12:54:51 2016 +0200 Special-case vector-{ref,set!} to ##sys#[set[i]]slot when index is known. Again, this unfortunately doesn't seem to make a difference on our benchmark suite. Signed-off-by: Evan Hanson commit bbfc758f50ce4c87dbc770aabe2574597e2956cf Author: Peter Bex Date: Fri Jul 8 19:30:58 2016 +0200 Do not track set! to known-to-be-immediate values. This extends the core language by adding an optional second param to the internal core version of set!, which gets filled in by the scrutinizer whenever the set! value is determined to always be immediate. In tight loops where set! is called very often it might make a difference. On our benchmarks it doesn't make a dent in the results, though. Signed-off-by: Evan Hanson commit efdfd2e6bb72d1242b68fa0dd113fc8328e71767 Author: Evan Hanson Date: Thu Jun 30 23:33:57 2016 +1200 Restore input- and output-specific port direction error messages Replaces the specific "port direction" error messages for standard, unidirectional input and output ports, with the more generic message being used only when the required port direction is neither of those most common cases. Signed-off-by: Peter Bex commit b00218d724bbcd1006a94019eb0ebc90ebdc2584 Author: Evan Hanson Date: Thu Jun 30 20:09:49 2016 +1200 Add new `make-bidirectional-port` procedure to ports unit This allows an input and output port to be combined into a single bidirectional port. Signed-off-by: Peter Bex commit 23c684ef311f19471f4a5ce6e7de83c9cdf51353 Author: Evan Hanson Date: Thu Jun 30 22:35:28 2016 +1200 Add scrutinizer test suite Signed-off-by: Peter Bex commit 365bd2baf6c2fa1a82a00f6254b83361f7d75819 Author: Evan Hanson Date: Thu Jun 30 20:09:47 2016 +1200 Add basic refinement types Adds a new "refine" type form to the scrutinizer, which allows other types to be "tagged" with extra information. Applies this approach to the existing types for input- and output- ports, which are now expressed as "(refine (input) port)" and "(refine (output) port)", respectively. Improves the type inference of predicates and enforcing procedures by descending into container argument types during type reduction, and by taking already-determined types from the branch list into account. Other scrutinizer changes: - Moves repeated lists of type symbols into constants. - Removes some unnecessary cond/case clauses. - Removes "##core#global-ref" handling. - Improves "(not ...)" type matching. - Removes `type<=?` and reimplements it in terms of the more complete and correct `match-types` procedure. Signed-off-by: Peter Bex commit 3693970dc8b09eabc2c2ba6c04b268edef3ec8fa Author: Evan Hanson Date: Thu Jun 30 20:09:46 2016 +1200 Add input-port-open? and output-port-open? procedures These test whether a port is open in a specific direction. Signed-off-by: Peter Bex commit c29ba2b8b26f9bbbafdb9483ae58704dda3eb538 Author: Evan Hanson Date: Thu Jun 30 20:09:45 2016 +1200 Generalize port directionality Convert the port direction and closed flags from booleans to bitmasks, to allow for multidirectional ports. Signed-off-by: Peter Bex commit 2522491f1e809405f444bf9c998ed312c86b0dd6 Author: felix Date: Thu Jun 30 12:25:41 2016 +0200 changed setup.defaults, some bugfixes, list-versions mode commit 7b01d7d0b264473708d0a19333d467e247b6ea6e Author: Peter Bex Date: Wed Jun 29 16:38:16 2016 +0200 Teach C_permanentp about the scratch space. Signed-off-by: Evan Hanson commit 83198fca2a540203d11542312c5e1bf7ba915396 Author: Peter Bex Date: Fri Jun 17 17:17:01 2016 +0200 Fix several hygiene issues in DSSSL expansions (#806). The expansion of DSSSL lambda list would take "optional", "let*" and "let-optionals*" from the current syntactic environment, which might not have it or a different definition, depending on the user's import statements. Now we explicitly take them from the default macro environment or the chicken macro environment, depending on the macro to use. Signed-off-by: Evan Hanson commit d76166d493e4573b3e0ed39b1d7fc0079d34dc83 Author: Evan Hanson Date: Mon Jun 20 09:59:35 2016 +1200 Remove extraneous colon on scheduler error messages commit 7507cba67e8b2aaec2e8f88f6e7111cfc0b39e4a Author: Evan Hanson Date: Mon Feb 15 22:20:20 2016 +1300 Specialize `not` for true/false and add hardcoded result types This could also be accomplished by making `not` a #:predicate for false, but the scrutiny message for predicates refers specifically to a "predicate" returning true or false, which might be confusing for `not`. Signed-off-by: Peter Bex commit 1082e8998759ee2b3f8b47ff5b2d24be91c58a5e Author: Evan Hanson Date: Mon Feb 15 22:15:42 2016 +1300 Propagate known predicate call result types Previously, predicate calls would specialize but not communicate the true or false result type to the caller, who would re-walk the node but still use the original, more general type (probably "boolean"). Signed-off-by: Peter Bex commit 8fb1176ff3bad8dd10a29ba87f979aeebd1dbc98 Author: Evan Hanson Date: Mon Feb 15 22:13:35 2016 +1300 Drop consequent branch for conditionals that are always false Also, add a line number prefix to the scrutiny messages for the always-true and always-false situations, just in case we have enough info to print them. Signed-off-by: Peter Bex commit 339b8ffa1b133a117aef6dd6757e1885302878ff Author: Evan Hanson Date: Mon Feb 15 22:05:42 2016 +1300 Track source nodes for better scrutiny output Adds a map from specialized nodes back to their original source nodes so that the scrutinizer can (a) print line numbers for parts of the program that started out as ##core#call nodes but ended up being specialized to something without line number information, and (b) print program fragments as they appeared in the user's source, pre-specialization. Signed-off-by: Peter Bex commit 223283d24526cbe6ce94709abae4b18dec6be0aa Author: Evan Hanson Date: Sat Jun 11 13:05:37 2016 +1200 Clear fd list and suspend I/O threads on process-fork w/kill-other-threads Previously, ##sys#kill-other-threads wouldn't clear the ##sys#fd-list, leading to errors when unrecognized file descriptors were encountered during scheduling. Additionally, it would set slots in random heap locations near ##sys#fd-list (potentially leading to heap corruption) since it incorrectly tried to suspend a list rather than a thread; the fd list has a different format than the timeout-list, and its `cdr` is a list of threads that must be each suspended individually. Signed-off-by: Peter Bex commit 7d88987859ba7d67da491723f2602696622c9903 Author: Peter Bex Date: Fri Jun 17 17:17:01 2016 +0200 Fix several hygiene issues in DSSSL expansions (#806). The expansion of DSSSL lambda list would take "optional", "let*" and "let-optionals*" from the current syntactic environment, which might not have it or a different definition, depending on the user's import statements. Now we explicitly take them from the default macro environment or the chicken macro environment, depending on the macro to use. Signed-off-by: Evan Hanson commit c88ea653a5e5350793c4c186f347eb9e304d08b0 Author: Peter Bex Date: Wed Jun 22 20:49:54 2016 +0200 Add with-error-to-string and rename with-error-output-to-port to with-error-to-port This improves compatibility with Bigloo, Stk, Gauche, SCM and Guile. Signed-off-by: Evan Hanson commit 253a76debab8f58a33b0aa9c4b7b2ffc9f5cc850 Author: Evan Hanson Date: Mon Feb 15 22:20:20 2016 +1300 Specialize `not` for true/false and add hardcoded result types This could also be accomplished by making `not` a #:predicate for false, but the scrutiny message for predicates refers specifically to a "predicate" returning true or false, which might be confusing for `not`. Signed-off-by: Peter Bex commit 87aa34277b410713707bd8d819b9090b5a4831fe Author: Evan Hanson Date: Mon Feb 15 22:15:42 2016 +1300 Propagate known predicate call result types Previously, predicate calls would specialize but not communicate the true or false result type to the caller, who would re-walk the node but still use the original, more general type (probably "boolean"). Signed-off-by: Peter Bex commit f0ddac9001e419a77cdfd7cfaecb18d82ac527bb Author: Evan Hanson Date: Mon Feb 15 22:13:35 2016 +1300 Drop consequent branch for conditionals that are always false Also, add a line number prefix to the scrutiny messages for the always-true and always-false situations, just in case we have enough info to print them. Signed-off-by: Peter Bex commit 7f1fd58a30dd5402ca0b75b4fffa962575a4fecb Author: Evan Hanson Date: Mon Feb 15 22:05:42 2016 +1300 Track source nodes for better scrutiny output Adds a map from specialized nodes back to their original source nodes so that the scrutinizer can (a) print line numbers for parts of the program that started out as ##core#call nodes but ended up being specialized to something without line number information, and (b) print program fragments as they appeared in the user's source, pre-specialization. Signed-off-by: Peter Bex commit 7866d8019e0a524b875e1b6e17743f4f382a0592 Author: Evan Hanson Date: Sat Jun 11 13:05:37 2016 +1200 Clear fd list and suspend I/O threads on process-fork w/kill-other-threads Previously, ##sys#kill-other-threads wouldn't clear the ##sys#fd-list, leading to errors when unrecognized file descriptors were encountered during scheduling. Additionally, it would set slots in random heap locations near ##sys#fd-list (potentially leading to heap corruption) since it incorrectly tried to suspend a list rather than a thread; the fd list has a different format than the timeout-list, and its `cdr` is a list of threads that must be each suspended individually. Signed-off-by: Peter Bex commit 0493e298ee6f04ade06ae6e2f391703a5d48296c Author: Evan Hanson Date: Fri Jun 10 15:24:43 2016 +1200 Make `sleep` suspend thread if scheduler is loaded, process otherwise Makes `sleep` change its behaviour based on whether the scheduler is loaded: when it is, the current thread is suspended (allowing other threads to continue executing), and when it isn't the whole process is suspended with sleep(3). Also adds a `process-sleep` procedure to the posix unit as a way to sleep the process unconditionally. Signed-off-by: Peter Bex commit a8ae67feec667b2d213f9431ca4d431cec30a871 Author: Evan Hanson Date: Sat Jun 4 00:03:25 2016 +1200 Remove group-information and {get, set, initialize}-groups from unit posix These procedures have been moved to an egg. Signed-off-by: Peter Bex commit 3f28786b1440af1efdf2207ddf5d8818e08fc6fb Author: Evan Hanson Date: Sat Jun 4 00:03:24 2016 +1200 Move errno values to new chicken.errno module Signed-off-by: Peter Bex commit 6f4a50ce66f8a721a6343ccd75d35426e738755b Author: Evan Hanson Date: Sat Jun 4 00:03:23 2016 +1200 Move memory-related procedures to new chicken.memory module Signed-off-by: Peter Bex commit bf09182065c6a71f6c1e23867281d0b34101e8d3 Author: felix Date: Wed Jun 15 14:39:15 2016 +0200 various changes to make a basic chicken-install compile commit dd8f05163220c14e543d3d76b58f76842eab0bc7 Author: Evan Hanson Date: Fri Jun 3 18:56:26 2016 +1200 Put provided library identifier properties on the core "provided" symbol Rather than the other way around, to avoid polluting the user-accessible symbol property namespace with implementation details. commit 6902ed5e88934563c81358446368a960ac4240ad Author: Evan Hanson Date: Fri Jun 3 19:10:28 2016 +1200 Remove unused "unit-hook" procedure This was a remnant of some earlier work on library loading. It should have been removed in 09ae443. commit 1c283fa8ccbb2ee6b1b07c7243ef0ec574c18a6c Author: LemonBoy Date: Wed May 25 21:35:11 2016 +0200 Truncate overlong lines in ##sys#error-handler Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 47436a00555838148d5fac4337019684f8cb5f17 Author: LemonBoy Date: Wed May 25 21:35:11 2016 +0200 Truncate overlong lines in ##sys#error-handler Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit a03678ebba89f75b738937a658dc9305e7b8647a Author: Evan Hanson Date: Tue May 31 10:22:50 2016 +1200 Remove obsolete C_SVN_REVISION fudge factor commit 110f539bbc202b6ff4eaa6be8b1ee57180bf8de5 Author: Evan Hanson Date: Mon May 30 10:39:38 2016 +1200 Drop unnecessary boxing of constant-table entries Now that "collapsable-literal?" constants are inserted into the constants table as quoted values, there's no need to box them in a list (which was done to ensure that "#f" isn't treated as a missing entry). commit 471cbbc6b6feb5b551defe3b3172c6ef0e2b2cd1 Author: Peter Bex Date: Sun May 29 15:54:29 2016 +0200 Make `define-constant` support singly-quoted symbols Allows the following program to work correctly: (define-constant a 'frizzle) (print a) Previously, the second `a` would be replaced by an *unquoted* `frizzle`, resulting in an undefined variable reference (or, if the constant value were instead `(quote a)`, causing the compiler to enter an infinite loop). This patch makes sure constant values are quoted after evaluation so that collapsable literal constants (including symbols) are always treated as data when substituted into their usage sites. Signed-off-by: Evan Hanson commit e946ed4bdd9be32b3f78b63f94981e036bbb512f Author: Peter Bex Date: Sun May 29 16:07:10 2016 +0200 Remove unnecessary {inline-table,constants}-used These are used only to indicate that their corresponding tables are not empty, but it's safe to perform the lookup regardless (and it won't find anything), so this is redundant and somewhat confusing. Signed-off-by: Evan Hanson commit d910cef6f84554fb4738112ddb46fa2aaf70faa1 Author: Evan Hanson Date: Sun May 29 15:54:58 2016 +0200 Make `define-constant` support singly-quoted symbols Allows the following program to work correctly: (define-constant a 'frizzle) (print a) Previously, the second `a` would be replaced by an *unquoted* `frizzle`, resulting in an undefined variable reference (or, if the constant value were instead `(quote a)`, causing the compiler to enter an infinite loop). This patch makes sure constant values are quoted after evaluation so that collapsable literal constants (including symbols) are always treated as data when substituted into their usage sites. Signed-off-by: Evan Hanson commit f43cba489635a193698211bd1af53218c4798cde Author: Evan Hanson Date: Tue May 24 10:28:28 2016 +1200 Fix misnamed "define-definition" globals These were partially renamed in ba7cc8d, but a few instances of the "##sys#" versions remained. commit 894f9caa7327a0f5266ff69019bdcda43d36d122 Author: Evan Hanson Date: Sat May 21 17:18:35 2016 +1200 Make `repository-path` a proper parameter This makes it compatible with the new `convert?` and `set?` arguments that parameterize uses to separately convert and then change a parameter's value. See #1227 and a94b69e. Signed-off-by: Peter Bex commit f6e8bb8516bf6b34c54913ed9545d425ad875a9e Author: Evan Hanson Date: Sat May 21 17:08:58 2016 +1200 Make special-cased parameters return the new value This ensures the correct value of a parameter is used within the body of a `parameterize` form. Previously, the original value would be returned from the conversion step and used as the new value within the form's body, making the parameterization a noop. Supplements the previous commit's fix for #1285. Signed-off-by: Peter Bex commit fdfdfc808704e53a8eebbd30d00fd79c6a2710a0 Author: Peter Bex Date: Mon May 16 13:01:35 2016 +0200 Make special-cased parameter setters compatible with new-style parameterize If set? if #f it should not try to set the value. This would prevent parameterize from restoring the original value. Fixes #1285 Signed-off-by: Evan Hanson commit c2f37304ff8ed8c1612f9fe9a5c717876ee29690 Author: Evan Hanson Date: Sat May 21 17:18:35 2016 +1200 Make `repository-path` a proper parameter This makes it compatible with the new `convert?` and `set?` arguments that parameterize uses to separately convert and then change a parameter's value. See #1227 and a94b69e. Signed-off-by: Peter Bex commit 7c14fd6df17c3b7a6f4d2639c5218cce0246e5d9 Author: Evan Hanson Date: Sat May 21 17:08:58 2016 +1200 Make special-cased parameters return the new value This ensures the correct value of a parameter is used within the body of a `parameterize` form. Previously, the original value would be returned from the conversion step and used as the new value within the form's body, making the parameterization a noop. Supplements the previous commit's fix for #1285. Signed-off-by: Peter Bex commit 1c4841202bd11c8e8d81769a2c8f5aacdc8c9a48 Author: Peter Bex Date: Mon May 16 12:58:57 2016 +0200 Make special-cased parameter setters compatible with new-style parameterize If set? if #f it should not try to set the value. This would prevent parameterize from restoring the original value. Fixes #1285 Signed-off-by: Evan Hanson commit 9f056340ce598ac68e7714aa4f16affa84c57188 Author: Evan Hanson Date: Sat May 21 17:18:35 2016 +1200 Make `repository-path` a proper parameter This makes it compatible with the new `convert?` and `set?` arguments that parameterize uses to separately convert and then change a parameter's value. See #1227 and a94b69e. Signed-off-by: Peter Bex commit 89408e4109d86c34257b83950c4d640714fe5974 Author: Evan Hanson Date: Sat May 21 17:08:58 2016 +1200 Make special-cased parameters return the new value This ensures the correct value of a parameter is used within the body of a `parameterize` form. Previously, the original value would be returned from the conversion step and used as the new value within the form's body, making the parameterization a noop. Supplements the previous commit's fix for #1285. Signed-off-by: Peter Bex commit 9ace4ecce1445b795116066e2696cae29aeacdd3 Author: Peter Bex Date: Mon May 16 12:58:57 2016 +0200 Make special-cased parameter setters compatible with new-style parameterize If set? if #f it should not try to set the value. This would prevent parameterize from restoring the original value. Fixes #1285 Signed-off-by: Evan Hanson commit 758540a7d9e64dced73836247dd2e381ad510e24 Author: Peter Bex Date: Sun May 22 12:50:01 2016 +0200 Bump master version to 4.11.1 commit 570e398f10571036f9b4972f24ed80e3dc65c968 Author: Evan Hanson Date: Sun May 22 17:35:00 2016 +1200 Add +plus-signs+ to list constants in c-platform This is a workaround for #1286, which causes the constant definition of `extended-bindings` to be ignored and the (null, default) value from core to be used instead. commit 14c01313d1f7ec9e083c31fee7d714eb90c6b88f Author: Kooda Date: Wed May 18 10:48:58 2016 +0200 Make locative-ref inlineable (ticket #1260) - Deprecate C_locative_ref - Add C_a_i_locative_ref - Add a compiler rewrite for locative-ref - Add a specialization for locative-ref on locatives Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 40e476a52d5a9d5904a729adf477251710579677 Author: Kooda Date: Wed May 18 10:48:58 2016 +0200 Make locative-ref inlineable (ticket #1260) - Deprecate C_locative_ref - Add C_a_i_locative_ref - Add a compiler rewrite for locative-ref - Add a specialization for locative-ref on locatives Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit b6ea10739749654c3d022baf48701725861b0e54 Author: Evan Hanson Date: Sat May 21 17:30:18 2016 +1200 Fix misnamed recursive-hash-max-length manual tag commit d75ae837d12ca20094536a395ce08999163250e0 Author: Evan Hanson Date: Sat May 21 17:30:18 2016 +1200 Fix misnamed recursive-hash-max-length manual tag commit dc8aa434ce6cacfbb17afe490e802e61c82b4ee7 Author: felix Date: Thu May 19 15:47:54 2016 +0200 notes, cleanup in egg-compile, startup with chicken-install wrapper and download code. commit 363f295dc28de04cf50f19f5f7d9a248763b3e3b Author: Evan Hanson Date: Wed Apr 27 20:47:08 2016 +1200 Modularise csi Wraps csi in a module and renames the primitive "csi" module to "chicken.csi" for consistency with the other core libraries. Also cleans up some old and unused code from csi.scm. Signed-off-by: Peter Bex commit 8944c98086762876802a984411ea4d763251df90 Author: LemonBoy Date: Thu May 5 13:18:56 2016 +1200 Convert the shift count to a unsigned word for fxshr Make it behave consistently with regards to fxshl. Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit 712e0e0f42d451612c22a41c6ed7e304d9aa0cc8 Author: LemonBoy Date: Fri Apr 29 15:14:41 2016 +1200 Change how unbound variables are checked for The previous method checks if the object 'x' we want to check is equal to the value contained in the first slot of a symbol that's supposed to always be undefined. This patch replaces the code above with the use of the C_boundp and C_unboundvaluep macros with no functional effect. Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit e910197b27ff8bea754a3faec22d790b8a72b100 Author: Peter Bex Date: Thu Apr 28 19:35:23 2016 +0200 Bump prerelease version to 4.11.0rc2 commit 10ef6f66761eb4a62f16581239b7c7fcee715adb Author: Peter Bex Date: Sun Apr 24 14:45:17 2016 +0200 Avoid triggering stack overflows in signal handler The signal handler would touch C_stack_limit in order to force a GC, but this only really works for C_demand(). The C_stack_limit is also checked by C_stack_check1, but this check is used to detect runaway C recursion and *actual* stack overflow errors. This patch introduces a distinction between the C_stack_limit of old (which is unchanged in meaning) and a new C_stack_hard_limit, which is the true stack limit. The C_demand checks are still against C_stack_limit, but C_stack_check1 checks are against C_stack_hard_limit. Fixes #1283 Signed-off-by: Evan Hanson commit f2ed4212f35baafdb542bfc9a8e0a5a59be2fa92 Author: Peter Bex Date: Sun Apr 24 14:50:15 2016 +0200 Avoid triggering stack overflows in signal handler The signal handler would touch C_stack_limit in order to force a GC, but this only really works for C_demand(). The C_stack_limit is also checked by C_stack_check1, but this check is used to detect runaway C recursion and *actual* stack overflow errors. This patch introduces a distinction between the C_stack_limit of old (which is unchanged in meaning) and a new C_stack_hard_limit, which is the true stack limit. The C_demand checks are still against C_stack_limit, but C_stack_check1 checks are against C_stack_hard_limit. Fixes #1283 Signed-off-by: Evan Hanson commit 5d2a17a5a7b3815fb8f561956fd198a514501b08 Author: Peter Bex Date: Sun Apr 24 14:45:17 2016 +0200 Avoid triggering stack overflows in signal handler The signal handler would touch C_stack_limit in order to force a GC, but this only really works for C_demand(). The C_stack_limit is also checked by C_stack_check1, but this check is used to detect runaway C recursion and *actual* stack overflow errors. This patch introduces a distinction between the C_stack_limit of old (which is unchanged in meaning) and a new C_stack_hard_limit, which is the true stack limit. The C_demand checks are still against C_stack_limit, but C_stack_check1 checks are against C_stack_hard_limit. Fixes #1283 Signed-off-by: Evan Hanson commit eee72eac07f348b2d6779fdef62be14535ccc57d Author: LemonBoy Date: Mon Apr 25 22:23:41 2016 +0200 Create the destination folder for the "-init" command Signed-off-by: Mario Domenech Goulart Signed-off-by: Evan Hanson commit a8a9e945bf22c95adbc765a6754137cd80492fd9 Author: LemonBoy Date: Mon Apr 25 22:23:41 2016 +0200 Create the destination folder for the "-init" command Signed-off-by: Mario Domenech Goulart Signed-off-by: Evan Hanson commit 49b6b9e7b33a9b8aa3830a48ea0e7b8d6ac9d870 Author: LemonBoy Date: Mon Apr 25 22:23:41 2016 +0200 Create the destination folder for the "-init" command Signed-off-by: Mario Domenech Goulart Signed-off-by: Evan Hanson commit 39b2f3f918c3fa59866219ea31177ab4c2a064c4 Author: Evan Hanson Date: Wed Apr 27 15:53:45 2016 +1200 Add missing import library to chicken-install's file list The file for the "chicken.continuation" module went missing in 9973d0e. commit 6d291dd9b3f0cf9e18a14573425858a560395b62 Author: Peter Bex Date: Mon Apr 25 19:59:40 2016 +0200 Forgot to add pathname.c to manifest file commit db0f4b0e16e3cf8905acf7bfb4b634aa45bcffde Author: Evan Hanson Date: Fri Apr 22 12:04:31 2016 +1200 Move pathname procedures to new chicken.pathname module Signed-off-by: Peter Bex commit dca744b5e10264d904cb734ff6ad15358d8e098a Author: Peter Bex Date: Sat Apr 16 17:55:40 2016 +0200 Remove a few outdated notes from README Some notes about extremely old GCC versions are too obscure and not very relevant to 99.999% of our users. The apply-hack is gone, so errors mentioning it won't appear anymore. Running tests without installing has been supported since 4.9.0. Signed-off-by: Evan Hanson commit 58b43e9406dea9d0813d916e76dece5ca2498ce5 Author: Peter Bex Date: Sat Apr 23 20:43:11 2016 +0200 Fix fixnum literal decoding on ARM64 (#1280) In literal_decode, we relied on sign extension of characters when putting them into a C_word. On ARM64, characters are unsigned by default, which causes fixnum literals (but only if embedded in other objects) to be decoded incorrectly. The fix is simple: explicitly cast the first value to a signed character. Many thanks to Alexander Shendi for reporting the bug and helping to come up with and testing this fix. Signed-off-by: Evan Hanson commit ec14532b9246025518620e84f17a6625b8a2f962 Author: felix Date: Thu Apr 21 23:05:00 2016 +0200 notes commit 3ae120d3ea14a7bfeb54d48d9b96d7541d9ec670 Author: felix Date: Thu Apr 21 23:04:53 2016 +0200 improvments to egg-compile.scm commit 2c294f2e7c2efc4eec519e9720c83043e8a79ab1 Author: felix Date: Thu Apr 21 23:04:19 2016 +0200 moved http-download code into new file commit ff2f1839ae608888291210613b371af37f761001 Author: felix Date: Sat Apr 16 22:40:37 2016 +0200 updated notes commit f4c098ab6268616e1bd2ad083e25cb21fed5818f Author: felix Date: Sat Apr 16 22:40:29 2016 +0200 completed (for the time being) egg-environment commit f12ab503a5354a2e6f97872be0b938c325387313 Author: felix Date: Sat Apr 16 22:40:12 2016 +0200 basic implementation of egg-tree compilation commit 4285b9e5d23f52ddba1d26f3e4325952920873ff Author: felix Date: Sat Apr 16 22:39:46 2016 +0200 Add STATICBUILD to chicken-config.h commit f6d55729bd6bd247e429cda5f76c02031abfe660 Author: Peter Bex Date: Sat Apr 16 17:55:40 2016 +0200 Remove a few outdated notes from README Some notes about extremely old GCC versions are too obscure and not very relevant to 99.999% of our users. The apply-hack is gone, so errors mentioning it won't appear anymore. Running tests without installing has been supported since 4.9.0. Signed-off-by: Evan Hanson commit 7bd24046a3683443e1795e23c4c61753a91a5c7b Author: Peter Bex Date: Sat Apr 23 20:43:11 2016 +0200 Fix fixnum literal decoding on ARM64 (#1280) In literal_decode, we relied on sign extension of characters when putting them into a C_word. On ARM64, characters are unsigned by default, which causes fixnum literals (but only if embedded in other objects) to be decoded incorrectly. The fix is simple: explicitly cast the first value to a signed character. Many thanks to Alexander Shendi for reporting the bug and helping to come up with and testing this fix. Signed-off-by: Evan Hanson commit b3c89b70aee45e418febd23f5c52fd6fc0f0ba5d Author: Peter Bex Date: Sat Apr 16 17:55:40 2016 +0200 Remove a few outdated notes from README Some notes about extremely old GCC versions are too obscure and not very relevant to 99.999% of our users. The apply-hack is gone, so errors mentioning it won't appear anymore. Running tests without installing has been supported since 4.9.0. Signed-off-by: Evan Hanson commit 3a524bdd948e8643652d85ae840f1609bd2d2a68 Author: Peter Bex Date: Sat Apr 23 20:43:11 2016 +0200 Fix fixnum literal decoding on ARM64 (#1280) In literal_decode, we relied on sign extension of characters when putting them into a C_word. On ARM64, characters are unsigned by default, which causes fixnum literals (but only if embedded in other objects) to be decoded incorrectly. The fix is simple: explicitly cast the first value to a signed character. Many thanks to Alexander Shendi for reporting the bug and helping to come up with and testing this fix. Signed-off-by: Evan Hanson commit 7e2730df1ef82f666b594959b9c248df0c732206 Author: Evan Hanson Date: Fri Apr 22 11:08:06 2016 +1200 Fix premature use of `void` when bootstrapping with chicken-5 commit 383e6b82f178e177959e0815508940622645a8cc Author: Evan Hanson Date: Sat Apr 2 17:17:44 2016 +1300 Respect the "-ignore-repository" option when linking with extensions This requires accumulating a list of linked extensions and resolving their objects after all command line arguments have been processed. Also, clean up some repeated options in the runtests.sh script's compiler invocations. Signed-off-by: Peter Bex commit f0aafa063b465b90b6414397ddd77860da6ab54e Author: Evan Hanson Date: Thu Mar 31 22:06:12 2016 +1300 Add "-link" flag for linking with objects from extensions This is a basic helper option that just adds object files for the named extensions to csc's link step (if any exist) and automatically "-uses" them as units. Signed-off-by: Peter Bex commit 80d5a0a393e429be92ad8d1c639cfd26d62c4dd2 Author: Evan Hanson Date: Mon Apr 4 16:06:56 2016 +1200 Move user-pass parameters to dedicated module Now that the compiler driver is a module, the parameters containing user-defined compilation passes need to be exposed so that that they can be imported and used in compiler extensions. Also, add a test for these parameters while we're in the neighborhood. Signed-off-by: Peter Bex commit 3ebff5d9558bb7e652d1ac82dab41a7a3db4a823 Author: Peter Bex Date: Sun Apr 17 17:19:18 2016 +0200 Fix compilation of chicken-install; qs wasn't imported commit a606eb8186538ace2e72dd8aa68db4c7f280b774 Author: Jim Ursetto Date: Fri Apr 15 22:44:48 2016 -0500 On OS X, ensure DYLD_LIBRARY_PATH is passed to children (#1277) On OS X 10.11, according to Apple's System Integrity Protection Guide, "Any dynamic linker (dyld) environment variables, such as DYLD_LIBRARY_PATH, are purged when launching protected processes," including /bin/sh. This causes a failure running `make check` (bug #1277) because launching children via system(3) wipes out the library path override used to test uninstalled binaries. Turning off SIP will resolve the issue but disables other useful protections. This patch simulates the pre-SIP behavior by prepending /usr/bin/env DYLD_LIBRARY_PATH=... to all shell calls made by csc, chicken-install and setup-api, using the value of the variable in the caller's environment. To get all tests in `make check` to work, it is only necessary to augment calls from csc to chicken, from chicken-install to csi, and from setup-api to csc. Converting these from system(3) to exec(2) works as well, but was deemed too invasive. This patch affects more calls than necessary in the interest of simplicity, but calls to protected binaries will have the DYLD_LIBRARY_PATH stripped out by SIP again anyway. Signed-off-by: Peter Bex commit 87c1bab9c5ecc28af323b76f2bc5ef10fb17ab76 Author: Jim Ursetto Date: Fri Apr 15 22:44:48 2016 -0500 On OS X, ensure DYLD_LIBRARY_PATH is passed to children (#1277) On OS X 10.11, according to Apple's System Integrity Protection Guide, "Any dynamic linker (dyld) environment variables, such as DYLD_LIBRARY_PATH, are purged when launching protected processes," including /bin/sh. This causes a failure running `make check` (bug #1277) because launching children via system(3) wipes out the library path override used to test uninstalled binaries. Turning off SIP will resolve the issue but disables other useful protections. This patch simulates the pre-SIP behavior by prepending /usr/bin/env DYLD_LIBRARY_PATH=... to all shell calls made by csc, chicken-install and setup-api, using the value of the variable in the caller's environment. To get all tests in `make check` to work, it is only necessary to augment calls from csc to chicken, from chicken-install to csi, and from setup-api to csc. Converting these from system(3) to exec(2) works as well, but was deemed too invasive. This patch affects more calls than necessary in the interest of simplicity, but calls to protected binaries will have the DYLD_LIBRARY_PATH stripped out by SIP again anyway. Signed-off-by: Peter Bex commit 9d21c952850141d1387ca9bdb837ff4e9a3acf54 Author: Jim Ursetto Date: Fri Apr 15 22:44:48 2016 -0500 On OS X, ensure DYLD_LIBRARY_PATH is passed to children (#1277) On OS X 10.11, according to Apple's System Integrity Protection Guide, "Any dynamic linker (dyld) environment variables, such as DYLD_LIBRARY_PATH, are purged when launching protected processes," including /bin/sh. This causes a failure running `make check` (bug #1277) because launching children via system(3) wipes out the library path override used to test uninstalled binaries. Turning off SIP will resolve the issue but disables other useful protections. This patch simulates the pre-SIP behavior by prepending /usr/bin/env DYLD_LIBRARY_PATH=... to all shell calls made by csc, chicken-install and setup-api, using the value of the variable in the caller's environment. To get all tests in `make check` to work, it is only necessary to augment calls from csc to chicken, from chicken-install to csi, and from setup-api to csc. Converting these from system(3) to exec(2) works as well, but was deemed too invasive. This patch affects more calls than necessary in the interest of simplicity, but calls to protected binaries will have the DYLD_LIBRARY_PATH stripped out by SIP again anyway. Signed-off-by: Peter Bex commit bdc5633a3306decfec3a388612e3059e07a8b354 Author: Jim Ursetto Date: Thu Apr 14 13:38:17 2016 -0500 Fix typo in library path used in deployment tests Signed-off-by: Evan Hanson commit 072a0a47527d80fc72ee6b2cd7f2c08ec376d026 Author: Jim Ursetto Date: Thu Apr 14 13:38:17 2016 -0500 Fix typo in library path used in deployment tests Signed-off-by: Evan Hanson commit 1ab37d3cf4178b136dc718905cebdc826716a16e Author: Jim Ursetto Date: Thu Apr 14 13:38:17 2016 -0500 Fix typo in library path used in deployment tests Signed-off-by: Evan Hanson commit 17342f9d5981f949986ec524751550803fde5330 Author: Peter Bex Date: Tue Apr 12 21:17:14 2016 +0200 Fix another format string in dbg-stub.c which we overlooked commit 9f47236be6a120cc6442fc6a39a16fd3ad961891 Author: Peter Bex Date: Tue Apr 12 21:16:47 2016 +0200 Fix another format string in dbg-stub.c which we overlooked commit 5fa3e008f5a8ae1322fcc05fc653788deee709a3 Author: Peter Bex Date: Tue Apr 12 21:08:35 2016 +0200 Fix another format string in dbg-stub.c which we overlooked commit 3adc144600bedbc5ba23a7455625d8e5f228ce5a Author: Peter Bex Date: Mon Apr 11 22:28:45 2016 +0200 Fix dbg-stub formatting strings to be 32-bit clean The formatting strings used were specific to integer widths on 64-bit machines, which meant there were problems with debugging on 32-bit systems. Thanks to Kooda for pointing this out. Signed-off-by: Evan Hanson commit d22d72420d26d6aaadafc8cc4fe664d1f95ed07b Author: Peter Bex Date: Mon Apr 11 22:28:45 2016 +0200 Fix dbg-stub formatting strings to be 32-bit clean The formatting strings used were specific to integer widths on 64-bit machines, which meant there were problems with debugging on 32-bit systems. Thanks to Kooda for pointing this out. Signed-off-by: Evan Hanson commit 19578e3a257a7fe0e4993e7bdbe668f6c31c4880 Author: Peter Bex Date: Mon Apr 11 22:28:45 2016 +0200 Fix dbg-stub formatting strings to be 32-bit clean The formatting strings used were specific to integer widths on 64-bit machines, which meant there were problems with debugging on 32-bit systems. Thanks to Kooda for pointing this out. Signed-off-by: Evan Hanson commit f0b9817de5331d8539bd74015e76707ae006ac19 Author: Evan Hanson Date: Tue Apr 5 20:49:51 2016 +1200 Fix types.db entry for set-read-syntax! to allow symbols as read-marks commit 7c341016a80dd57b8b739680f22e1a420d2bac99 Author: Evan Hanson Date: Tue Apr 5 21:15:49 2016 +1200 Make read-marks table a qualified global in library.scm This is necessary so that both library.scm and the read-syntax units can access it (for `read` and `set-read-syntax!`, respectively). commit c7a402830b8381b001b928e93090800931b5c1d5 Author: Evan Hanson Date: Tue Apr 5 21:18:08 2016 +1200 Fix types.db entries for read-{string,u8vector} to allow eof return value commit f815158289343a4021eb739694462289853ccce1 Author: Evan Hanson Date: Tue Apr 5 20:33:15 2016 +1200 Return #!eof on end-of-file in read-u8vector This change is for uniformity with read-string, and fixes an invalid memory access in read-u8vector's use of `##sys#read-string/port`, which didn't check for #!eof. commit 44cb24e931076107d53ba6b1a7b7b523ef41ae04 Author: Peter Bex Date: Mon Apr 4 21:25:38 2016 +0200 Bump prerelease version to 4.11.0rc1 commit 0235eb32de1c29052b2381d07e6fbf110df54a26 Merge: 24763042 b69b0806 Author: Peter Bex Date: Mon Apr 4 21:24:55 2016 +0200 Merge branch 'master' into prerelease Conflicts: NEWS README buildversion files.scm manual/Getting started manual/The User's Manual manual/faq commit 57c3e98c39da1f7f775af74f1bd3b5eca5eea59b Author: Peter Bex Date: Mon Apr 4 21:23:01 2016 +0200 Add debugger-client, dbg-stub and manual/Debugging to manifest. commit b69b0806049b263b1bd3bc271377e54f9044195e Author: Peter Bex Date: Mon Apr 4 20:55:39 2016 +0200 Add debugger-client, dbg-stub and manual/Debugging to manifest. commit f02c2f84e2ee6a04b651ea36c8009d368ea6871b Author: Peter Bex Date: Mon Apr 4 21:10:25 2016 +0200 Consolidate NEWS file for 4.11.0 Conflicts: NEWS commit 9ce4016936387c2de7f300e4ef803bfca881eb27 Author: Peter Bex Date: Mon Apr 4 20:40:15 2016 +0200 Consolidate NEWS file for 4.11.0 commit 6913ac9e4176743156da313ca72a5a7835682b29 Author: Evan Hanson Date: Mon Apr 4 20:31:21 2016 +1200 Remove define-macro style define-syntax in normal syntax definitions As with 5d4f12e but for "normal" define-syntax forms (i.e. not those in a sequence of internal definitions). commit 469f2bb6c196edadcb2ad44f65ddf1e04659198b Author: Peter Bex Date: Sun Apr 3 17:36:33 2016 +0200 Fix #1274 by grouping mvars and vars together. Instead of collecting mvars and vars in separate variables, which means we lose their correct ordering, we now store them in "vars" and their values in "vals". We still keep a separate "mvars" list around which holds #t and #f to distinguish mvars from non-mvars, because non-mvars are implicitly MV; additional values after the first must be silently ignored. Also, set! is more efficient than call-with-values for one argument. Signed-off-by: Evan Hanson commit a5cf1db1c4b75f0b785d5b61b4dddeba43b6d621 Author: felix Date: Sun Apr 3 20:24:45 2016 +0200 egg-info tweaks commit c852f68e20353a817ccab9324767db91804edd5f Author: felix Date: Sun Apr 3 20:24:22 2016 +0200 notes commit 5d4f12e23b8ac38ea8f33e06bb1e8d790e2b40be Author: Peter Bex Date: Sun Apr 3 18:47:33 2016 +0200 Remove define-macro style define-syntax in internal definitions This was undocumented and unsupported, and complicated the code of "##sys#canonicalize-body". Signed-off-by: Evan Hanson commit 6992762995792a0668107c85b89b85b122f9fa1b Author: Peter Bex Date: Sun Apr 3 17:36:33 2016 +0200 Fix #1274 by grouping mvars and vars together. Instead of collecting mvars and vars in separate variables, which means we lose their correct ordering, we now store them in "vars" and their values in "vals". We still keep a separate "mvars" list around which holds #t and #f to distinguish mvars from non-mvars, because non-mvars are implicitly MV; additional values after the first must be silently ignored. Also, set! is more efficient than call-with-values for one argument. Signed-off-by: Evan Hanson commit b363a4f86dc364f1c0036d98d2ac9fcef7b324c1 Author: Evan Hanson Date: Mon Apr 4 15:46:06 2016 +1200 Update the "distributing C files" manual section It had fallen far out of date and contained some minor errors. Also, sort the file listings and fix some noise caused by a merge conflict. commit 691fee5db54e1dfa2733296bbafb4317a5dee73d Author: Kooda Date: Sat Mar 19 13:21:43 2016 +0100 Clean up process exit and flush output streams Flush standard output streams before both forking and exiting, and use C_exit_runtime() uniformly to exit the process. This fixes bug #1269. See this mail thread for details: http://lists.nongnu.org/archive/html/chicken-hackers/2016-03/msg00022.html Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit 62662bb20557b9b43505c7ad1710a727aa3104e0 Author: Kooda Date: Sat Mar 19 13:21:43 2016 +0100 Clean up process exit and flush output streams Flush standard output streams before both forking and exiting, and use C_exit_runtime() uniformly to exit the process. This fixes bug #1269. See this mail thread for details: http://lists.nongnu.org/archive/html/chicken-hackers/2016-03/msg00022.html Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit 70c3e3b60ef07d4a20c66ba77ee0b3b337c4f312 Author: Evan Hanson Date: Sun Apr 3 17:12:28 2016 +1200 Add a simple test case for invalid string->number bases commit 3d4228b97a5759e1dc55780999c68e56ec2fbd00 Author: Evan Hanson Date: Sun Apr 3 17:12:28 2016 +1200 Add a simple test case for invalid string->number bases commit 2d5ff600150494b4226a5b5659ac127e1e01b0ba Author: Peter Bex Date: Thu Mar 31 21:40:29 2016 +0200 Fix invalid base handling of string->number Before, we'd segfault when given absurd base arguments like 60, depending on how the libc implemented this undefined behaviour. Now we detect it early and bail out. The handling of invalid values is slightly improved as well; we might get a return value of 0 from strtod and strtol(l) on error: HUGE_VAL / (LONG_)LONG_{MAX,MIN} are only returned on overflow/underflow, and the errno might have a different value from ERANGE as pointed out by the glibc manual page, even though the spec is silent about other errnos. At least if the string couldn't be converted eptr will be mutated to point to str. But otherwise, all bets are off. The spec for strtod() even says: "If the result underflows (7.12.1), the functions return a value whose magnitude is no greater than the smallest normalized positive number in the return type; whether errno acquires the value ERANGE is implementation-defined" Attempting to write C code: not even once... Fixes #1272. Signed-off-by: Evan Hanson commit 76a84c3c444631b62a875cfda682ea3ee322a447 Author: Peter Bex Date: Thu Mar 31 21:40:29 2016 +0200 Fix invalid base handling of string->number Before, we'd segfault when given absurd base arguments like 60, depending on how the libc implemented this undefined behaviour. Now we detect it early and bail out. The handling of invalid values is slightly improved as well; we might get a return value of 0 from strtod and strtol(l) on error: HUGE_VAL / (LONG_)LONG_{MAX,MIN} are only returned on overflow/underflow, and the errno might have a different value from ERANGE as pointed out by the glibc manual page, even though the spec is silent about other errnos. At least if the string couldn't be converted eptr will be mutated to point to str. But otherwise, all bets are off. The spec for strtod() even says: "If the result underflows (7.12.1), the functions return a value whose magnitude is no greater than the smallest normalized positive number in the return type; whether errno acquires the value ERANGE is implementation-defined" Attempting to write C code: not even once... Fixes #1272. Signed-off-by: Evan Hanson commit 5947ebb73e05f304f10e1a5a2520df86a13e8400 Author: felix Date: Sat Apr 2 15:15:37 2016 +0200 added notes for new setup system commit eaced6c9bb5209b321543511bd5ce02022498c2f Author: felix Date: Sat Apr 2 15:15:24 2016 +0200 added first experimental code for processing egg-info commit d6c35912072687ed6149c2cc7c248e18059d1a74 Author: Peter Bex Date: Fri Mar 18 20:27:09 2016 +0100 Don't shortcut pure calls in the optimiser When we notice a node represents a call to a pure (side effect-free) procedure, we attempt to drop the call completely, if the result is unused. However, if the result _is_ used, we shouldn't just give up. In fact, if the callee is of type explicit-rest, we *must* finish the optimisation by tweaking the caller. This fixes a bug reported by Joerg Wittenberger which got triggered rather easily when adding profiler instrumentation to procedures, because those always use rest args. Signed-off-by: Evan Hanson commit 29ae9575759e9650547145d9f13ac73c9b0c336b Author: Peter Bex Date: Sun Mar 27 17:11:53 2016 +0200 Automatically retry file-close on _eintr Before, it would just raise an exception, causing lost file descriptors. Thanks to Joerg Wittenberger. Signed-off-by: Evan Hanson commit c59306a38233abb0aa91a591d034a58e330db353 Author: Timo Myyrä Date: Fri Mar 25 16:11:41 2016 +0200 Add support for sudo alternatives through $SUDO environment variable We fall back to "sudo" if the environment variable isn't set. Thanks to Timo Myyrä. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 21cab067514c3f2982d5a7dc31e16f250f6a2328 Author: Peter Bex Date: Fri Mar 18 20:27:09 2016 +0100 Don't shortcut pure calls in the optimiser When we notice a node represents a call to a pure (side effect-free) procedure, we attempt to drop the call completely, if the result is unused. However, if the result _is_ used, we shouldn't just give up. In fact, if the callee is of type explicit-rest, we *must* finish the optimisation by tweaking the caller. This fixes a bug reported by Joerg Wittenberger which got triggered rather easily when adding profiler instrumentation to procedures, because those always use rest args. Signed-off-by: Evan Hanson commit 3ba1326e6f9b3aa2062fa032a7c218e60f32e8b2 Author: Peter Bex Date: Sun Mar 27 16:10:13 2016 +0200 Automatically retry file-close on _eintr Before, it would just raise an exception, causing lost file descriptors. Thanks to Joerg Wittenberger. Signed-off-by: Evan Hanson commit 46b8c3ec8ad706ae8042989c96f44e5d8af0603e Author: Timo Myyrä Date: Fri Mar 25 16:11:41 2016 +0200 Add support for sudo alternatives through $SUDO environment variable We fall back to "sudo" if the environment variable isn't set. Thanks to Timo Myyrä. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit a5374e0b539121d113e2bb24d9d5c2866a5f3276 Author: LemonBoy Date: Tue Mar 8 19:11:07 2016 +0100 Make ##sys#find-extension return the full path Return the whole path including the extension to avoid any ambiguity. Fixes #133. Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit af7f338de8b5ffb93a0363235e51f3c124f035c7 Author: Evan Hanson Date: Wed Mar 16 10:45:39 2016 +1300 Really send C_DEBUGGER_REPLY_GET_BYTES responses as unsigned char values As with a26f82fe, whose commit message erroneously claims it changes C_DEBUGGER_REPLY_GET_BYTES responses when in fact it changes the BLOB type of REPLY_GET_SLOTS responses. This commit actually fixes REPLY_GET_BYTES responses, in the same way. commit 27f4c00f7ffac2693d81c924bdd5970de0420aa3 Author: Evan Hanson Date: Wed Mar 16 10:45:39 2016 +1300 Really send C_DEBUGGER_REPLY_GET_BYTES responses as unsigned char values As with 44f1623, whose commit message erroneously claims it changes C_DEBUGGER_REPLY_GET_BYTES responses when in fact it changes the BLOB type of REPLY_GET_SLOTS responses. This commit actually fixes REPLY_GET_BYTES responses, in the same way. commit fe311473c6944692652e78dadd01d20bfeb35965 Author: Peter Bex Date: Tue Mar 8 19:52:59 2016 +0100 Preserve destination name when inserting C_DEBUG_GLOBAL_ASSIGN events Using a gensym for the let binding inserted by C_DEBUG_GLOBAL_ASSIGN events causes a different "dest" to be used when walking the assigned value, which (for procedures) means that the value's accompanying C_DEBUG_ENTRY event will use that temporary name rather than the procedure's real, assigned one. Signed-off-by: Peter Bex commit fc329c3b28dfaffcd8a288391b7eff1839ad8149 Author: Evan Hanson Date: Sun Mar 6 17:37:13 2016 +1300 Preserve destination name when inserting C_DEBUG_GLOBAL_ASSIGN events Using a gensym for the let binding inserted by C_DEBUG_GLOBAL_ASSIGN events causes a different "dest" to be used when walking the assigned value, which (for procedures) means that the value's accompanying C_DEBUG_ENTRY event will use that temporary name rather than the procedure's real, assigned one. Signed-off-by: Peter Bex commit a26f82fe7d7e705deb3228c69a2ab216c52d7c5f Author: Evan Hanson Date: Fri Mar 4 14:03:14 2016 +1300 Send C_DEBUGGER_REPLY_GET_BYTES responses as unsigned char values This allows the client to consider the stream as a written u8vector, without needing to mask off the extra bits of any elements outside the byte range. Signed-off-by: Peter Bex commit 44f1623081fb02fde2b8bbb06d4950a87dcea36f Author: Evan Hanson Date: Fri Mar 4 14:03:14 2016 +1300 Send C_DEBUGGER_REPLY_GET_BYTES responses as unsigned char values This allows the client to consider the stream as a written u8vector, without needing to mask off the extra bits of any elements outside the byte range. Signed-off-by: Peter Bex commit b489a2fda90258b7bcd40d8967d0c137ba4f479c Author: Evan Hanson Date: Thu Feb 25 13:57:36 2016 +1300 Move fixnum procedures to new chicken.fixnum module commit d6a0ccf7b8a309939f1c0689ec7c0afe59ba6699 Author: Evan Hanson Date: Tue Feb 9 17:02:34 2016 +1300 Documentation updates commit b92149da52e53c55fb7a1521228866cad0bb054f Author: Evan Hanson Date: Tue Feb 9 13:37:46 2016 +1300 Drop srfi-88 and 98 from library's features They must be imported now (by their SRFI numbers or, in SRFI 88's case, as chicken.keyword). commit b3aff204780a190ebb296736579444581c17529d Author: Evan Hanson Date: Tue Feb 9 12:19:16 2016 +1300 Give load-library and load-extension a void result Also, use the normal, non-##sys# load-extension in require-for-syntax and standardize the names of the auxiliary load-library/extension procedures to (hopefully) make their roles slightly more clear. commit e174be1bd3290d2f6a59a81a1240f993af3fde80 Author: Evan Hanson Date: Tue Feb 9 12:14:31 2016 +1300 Drop duplicate call to `##sys#provided?` from load-library commit b8db248bbfb65136c211b853ebaee017af75fc09 Author: Evan Hanson Date: Tue Feb 9 12:14:05 2016 +1300 Some small fixes after rebasing against chicken-5 commit 64be532ea33137784582ededc0e03ff33609c67d Author: Evan Hanson Date: Tue Feb 9 10:01:26 2016 +1300 Restore non-registration of modules in executables This is just to preserve the behaviour of CHICKEN 4 until a more flexible way of controlling module registration is implemented. commit aa95702f937d79f118c23322ee5993ee43aff9a6 Author: Evan Hanson Date: Tue Feb 9 09:26:11 2016 +1300 Drop unnecessary "##core#begin" from "##core#require" expansions commit 35f76a8a35287e3b0a1531e4965375e880c54dc5 Author: Evan Hanson Date: Tue Feb 9 09:24:46 2016 +1300 Add missing import libraries to README commit cbb5a37ca55b1928352c1fba01cd2ba455aae8d5 Author: Evan Hanson Date: Tue Feb 9 07:37:58 2016 +1300 Restore the warning for missing extensions Also, pull `##sys#canonicalize-extension-path` into `##sys#find-extension` to simplify calling code. commit 8fe52bc30b70d294453882482d30b59d7f3c584c Author: Evan Hanson Date: Tue Feb 9 07:35:28 2016 +1300 Remove the dynamic unit compilation warning This is perfectly valid now. commit 044fd609cb3fc77fdefbde1069f70fd945b92189 Author: Evan Hanson Date: Tue Feb 9 07:34:10 2016 +1300 Only require-for-syntax one library at a time commit 648ca198945f6b51634b45dbe60eb6e7c792cfbc Author: Evan Hanson Date: Tue Feb 9 07:29:54 2016 +1300 Better tracking for statically-provided requirements Adds a tracking list for provided library requirements and consults that in addition to the set of used-units when checking for static availability of requirements in `##core#require`. commit 9aaabd5ff9e7ffd8b162bbb6b9dfc57376367e2c Author: Evan Hanson Date: Tue Feb 9 07:22:39 2016 +1300 Check library requirement against alternates list in load-extension Rather than expanding `##core#require` into a conditional, pass the list of alternate requirements along to `##sys#load-extension` and check it there. This simlifies the generated code somewhat. commit 5e70786195d09d406fbf7346da736f5b86e65a13 Author: Evan Hanson Date: Fri Feb 5 23:30:20 2016 +1300 Use imports rather than hardcoded module prefixes in library.scm commit 2fc3e23a2bde7ca34af368af1ca4984629bbff65 Author: Evan Hanson Date: Fri Feb 5 19:33:54 2016 +1300 Issue warning when program loads libraries but not the eval unit Also, add `notice` to the chicken module. commit 647d33ddf5e949080cee9b5e2c910dfed277c92c Author: Evan Hanson Date: Fri Feb 5 19:31:32 2016 +1300 Handle "-uses" flags before "-R" so units are called first commit 21709a0026c55694e8f0db08bab656d2b19c1dac Author: Evan Hanson Date: Fri Feb 5 17:04:01 2016 +1300 Update module-environment types.db entry for list-style library names commit 4d6e55151960e514700ae9e2518ec48999d2f9e2 Author: Evan Hanson Date: Fri Feb 5 12:35:23 2016 +1300 Use imports rather than hardcoded module prefixes in modules.scm commit 5cbb53c6599c1e3acb3319481fa08e755524f04e Author: Evan Hanson Date: Fri Feb 5 11:27:56 2016 +1300 Argument type checks and types.db entries for new eval procedures Also, move the types.db entries for the chicken.eval module into a separate section together. commit 96bae4947b044b9ba06ad0c6383d7e267689ff6e Author: Evan Hanson Date: Fri Feb 5 10:33:09 2016 +1300 Hook modules into new provide/require infrastructure Each module now provides an identifier, based on its name, which serves as an indicator that the module's implementation has been loaded. The expansions of `import` et al. then check to see whether this requirement has already been provided before attempting to load the module's library. commit cc07beaa06865f7b140dcf3ee0ab1365319ac47b Author: Evan Hanson Date: Fri Feb 5 10:24:38 2016 +1300 Some fixes after load-extension signature changes Require that extension IDs be symbols, and make sure it's only ever called with a single library ID argument. commit ba7cc8d358533aafe69c31b487a02d5cbbf57a5b Author: Evan Hanson Date: Fri Feb 5 10:14:35 2016 +1300 Un-##sys# more chicken.expand identifiers Also, drop `##sys#copy-macro` (which is never used). commit 1441dbf97ee10778be78e27fd9fa290ed75c03be Author: Evan Hanson Date: Fri Feb 5 10:03:33 2016 +1300 Drop srfi-12 from built-in features now that it's a module commit f19f2a687897eedee9509c1e8debdf177f58e57b Author: Evan Hanson Date: Fri Feb 5 10:02:05 2016 +1300 Drop unnecessary trailing form from program code commit 3b5cb47d9789134db5395482615b0f29737d873f Author: Evan Hanson Date: Wed Feb 3 00:28:30 2016 +1300 Print error message before panicking on missing error-hook We always have a message on hand and there's no harm in printing it before exiting. commit d245c1cd4cad4d93cddb2e5120beb71fd23a8798 Author: Evan Hanson Date: Wed Feb 3 00:25:14 2016 +1300 Load chicken-syntax for eval and add modules for all built-in SRFIs commit 27567757736aaba527985f71e6c96c14ea484a21 Author: Evan Hanson Date: Wed Feb 3 00:03:55 2016 +1300 Add core form for library tracking Add a `##core#provide` form and runtime primitives for tracking code loading. Make units self-providing. Bring back the `require`, `provide`, and `provided?` procedures for user control of library loading at runtime. Drop the unit mapping table from the eval unit and instead fetch library dependencies of core modules from their import libraries and module definitions. Load the special "chicken" and "chicken.foreign" modules for-syntax. Avoid expanding import forms twice, which would cause duplicate warnings to be issued when invalid imports were encountered. Remove the unused `##core#toplevel-begin` form. commit 9735828be82aad9edeaa0cd47331133018037388 Author: Evan Hanson Date: Tue Feb 2 23:36:35 2016 +1300 Unset `standalone-executable` when a unit declaration is encountered commit e1d3b21427293bc7ce5208c46e54dad89aa8ed70 Author: Evan Hanson Date: Tue Feb 2 23:33:55 2016 +1300 No implicit imports when explicit-use is given commit 9b6954edd159a6b4613b3a4e379b7c17f364a617 Author: Evan Hanson Date: Wed Jan 27 22:43:38 2016 +1300 Add modules for some built-in SRFIs Define modules for built-in SRFIs (either as aliases or as primitive modules with only a few exports) for so that "(import (srfi n))" always has the desired effect. commit efad96cac187de51a696f712d6470a0c38b3513c Author: Evan Hanson Date: Wed Jan 27 19:26:42 2016 +1300 Drop feature test from evaluated requirement processing This keeps decisions about whether to load a library or not local to `load-library` and `load-extension`. commit 31a1e0c92be24a703ef5b3a20bf9b03656431c39 Author: Evan Hanson Date: Wed Jan 27 19:45:54 2016 +1300 Rename `require` to `load-extension` commit c243dc497549119cc52aa70f7505ad8e228116b8 Author: Evan Hanson Date: Tue Jan 26 09:26:45 2016 +1300 Clean up imports and drop unnecessary require-library forms commit 5611e9995bcb2d04347a8a100a94a4bc65db93bf Author: Evan Hanson Date: Fri Jan 22 16:15:19 2016 +1300 Move `yes-or-no?` into setup-api commit c6acc1650e9f79367ce7fa054486f7fe35dc67b6 Author: Evan Hanson Date: Fri Jan 22 14:59:10 2016 +1300 Rename "_exit" to "emergency-exit" and move to posix-common The implementations in posixunix.scm and posixwin.scm were identical. commit a0cc040dc211cab324751920887894b88202ba91 Author: Evan Hanson Date: Fri Jan 22 13:18:05 2016 +1300 Move `cpu-time` and `current-[milli]seconds` to new chicken.time module commit b792fc2a869a838009b2d4500cfbfc4faad01342 Author: Evan Hanson Date: Fri Jan 22 08:17:16 2016 +1300 Move flonum procedures to new chicken.flonum module commit 895612ed2e69d244a17155ead360c71f2d483b6b Author: Evan Hanson Date: Wed Jan 20 23:10:56 2016 +1300 Move keyword-related procedures to new chicken.keyword module commit 7ce8688f0b948c0385c6b5109e172fcb3be43dd6 Author: Evan Hanson Date: Wed Jan 20 22:22:29 2016 +1300 Drop filename argument handling from "read-lines" commit 0f39091c5e21924b087f78eb62b919367a605985 Author: Evan Hanson Date: Wed Jan 20 22:14:08 2016 +1300 Rename "read-file" to "read-all", drop filename argument handling commit 04462913f6715a6f9ee2a8022f09044d2b689ff7 Author: Evan Hanson Date: Tue Jan 19 23:50:59 2016 +1300 Drop nonexistent file from runbench.sh thread-list.scm was removed with srfi-18 in c04f36b. commit 89e8671d9a9e881c15bc958e84ef5577df822a20 Author: Evan Hanson Date: Tue Jan 19 20:03:15 2016 +1300 Drop some unnecessary "hide" declarations commit 8c9d4d1ac564a334ad03d0585f503b9f940dc328 Author: Evan Hanson Date: Tue Jan 19 20:02:34 2016 +1300 Move read-syntax module into its own unit commit 29748e690bc810ff9ef7f0d532a6568926d4cdfd Author: Evan Hanson Date: Tue Jan 19 16:02:47 2016 +1300 Move reader-related procedures to new chicken.read-syntax module This includes `define-reader-ctor` from the eval unit and the reader-related procedures from the library unit, but not `current-read-table` as `##sys#read` needs that at the top level. commit e955b8dc658bf8d1a69a953554721ee7fe100816 Author: Evan Hanson Date: Tue Jan 19 09:42:09 2016 +1300 Move gc-related procedures to new chicken.gc module commit b24b03084e2b2214fdbfcdba5fe27bf3532b7277 Author: Evan Hanson Date: Tue Jan 19 00:17:34 2016 +1300 Move locative-related procedures to new chicken.locative module commit 93d97a11067af69b18b345f5ed29a8d8603b075c Author: Evan Hanson Date: Mon Jan 18 23:36:24 2016 +1300 Drop `read-all` from unit utils commit c78cdcd9347a1e501ccc8882cd8c1cadeb76f0c3 Author: Evan Hanson Date: Mon Jan 18 23:31:53 2016 +1300 Make `read-string` return #!eof on empty input commit 47249ad1e2064f21313d8a48e8e7b4ca5bd33c1e Author: Evan Hanson Date: Mon Jan 18 22:34:58 2016 +1300 Move remaining procedures in extras to new chicken.io module This allows full removal of the extras module. commit c4400ff01dad3ee02978642def1e7716c86388c5 Author: Evan Hanson Date: Mon Jan 18 21:45:28 2016 +1300 Move pretty-print procedures to new chicken.pretty-print module commit 54ea5a7d1a98d74a9a815091c41f9d828792f3cb Author: Evan Hanson Date: Mon Jan 18 21:03:26 2016 +1300 Rename [un]setenv -> [un]set-environment-variable! commit 33b0880af191c299ad9851c9ce6db0709f1f16db Author: Evan Hanson Date: Mon Jan 18 20:59:55 2016 +1300 Move formatting procedures to new chicken.format module commit 219f6e6e7141ce0a22c1fe3e3bbd462416a7087d Author: Evan Hanson Date: Mon Jan 18 19:09:45 2016 +1300 Drop obsolete #:tmp marker for specializations in `build-node-graph` commit 5fae080cc68d6fe0fe295aaaeb729a90701b9a18 Author: Evan Hanson Date: Fri Jan 15 17:41:16 2016 +1300 Rename the "import-only" extension flag to "syntax-only" commit b17e47253eb8f05114ae5dbfa9bd30e758e9fd4f Author: Evan Hanson Date: Thu Jan 14 00:12:31 2016 +1300 Remove scan-input-lines from unit utils It's now available as an extension, instead. Also, fix a missing dependency on ports in runbench.sh. commit de78797fa243211aca7d7ac520291f85d67051a7 Author: Evan Hanson Date: Wed Jan 13 22:54:21 2016 +1300 Move random[ize] to new chicken.random module commit b5ebf93c9ab674ea425bd40537e83477d0761d04 Author: Evan Hanson Date: Wed Jan 13 22:23:58 2016 +1300 Un-##sys# `compile-to-closure` commit a913beac4256366b9f307034ebe55613b91efb79 Author: Evan Hanson Date: Wed Jan 13 21:20:03 2016 +1300 Update runtests.bat for meta-syntax-test.scm changes commit 9973d0e33211d0452e033d48fd010dddb1364e6e Author: Evan Hanson Date: Wed Jan 13 15:08:58 2016 +1300 Move bitwise procedures to new chicken.bitwise module Refactors the make rules for import libraries to allow building files for modules that don't have their own unit, and moves `bitwise-and` et al. into a dedicated module within the library unit. commit 782c15b91bc088bebe1636bced3bd02e87baa0dc Author: Evan Hanson Date: Wed Jan 13 09:05:46 2016 +1300 Move continuations API to new chicken.continuation module commit e1d4dea7aab29fe7c3a4b1c307f055e7512c8cae Author: Evan Hanson Date: Tue Jan 12 23:42:55 2016 +1300 Move repl and repl-prompt to new chicken.repl module Also, sort the library list in runtests.sh. commit 7ca3fd65b9f3f86dafae10e521bc3b568e526a45 Author: Evan Hanson Date: Tue Jan 12 22:47:00 2016 +1300 Minor bugfix for mini-srfi-1's lset-union/eq? commit c0442ea167af88e75aa6965012638dfa1bc38781 Author: Evan Hanson Date: Tue Jan 12 22:45:29 2016 +1300 Hide check-for-multiple-bindings commit 8dd1c237ed6e3fdc4bc58152153bd0b9b05b25b1 Author: Evan Hanson Date: Tue Jan 12 22:44:22 2016 +1300 Add some missing chicken.expand imports commit c4cd22f8d9ac373c8b7e95541852c650228722d0 Author: Evan Hanson Date: Tue Jan 12 22:38:06 2016 +1300 Simplify toplevel name generation Move the `string->c-identifier` procedure, which is used by both the compiler and the eval unit but doesn't really belong in eval.scm, to the internal unit, and use it for toplevel name generation in c-backend.scm. commit 09ae443c12cb7ec9b4e411d419dbb2f2e51d5eb3 Author: Evan Hanson Date: Tue Jan 12 22:14:36 2016 +1300 Rehaul library loading Import libraries now include a library identifier that is consulted in order to determine a module's presence. When loaded, a module provides this identifier via `##sys#provide` from the eval unit. When shared libraries are loaded with `##sys#require`, either via `import` or some similar method, an attempt is made to enter a toplevel corresponding to the required library's name before falling back to the library's default, non-unit toplevel. Units specified by the "-uses" flag are treated identically to those declared used in-source. The "-R" flags to csc(1) and csi(1) now use `import` to load the requested libraries. commit 6a15da5387f129e8965d37327aa588e744928345 Author: Evan Hanson Date: Mon Jan 4 14:32:14 2016 +1300 Use full filename of found extensions when loading code Avoids loading files without extensions, such as executables, when using `require` and loading import libraries. Fixes #133. commit 9a93b94de5be276a7d8d7dd9fa6172c67e9be2e6 Author: Evan Hanson Date: Mon Jan 4 14:28:48 2016 +1300 Import just syntax when updating the chicken-install db commit c1a85bc86b412b93c519677d0935a451a9642add Author: Evan Hanson Date: Mon Jan 4 14:28:19 2016 +1300 Use `import` when loading "csi -require-extension" arguments commit c3a8576ac8e64b1c07336ce7eb2ca958f8569a35 Author: Evan Hanson Date: Sun Jan 3 21:18:11 2016 +1300 Require imported libraries commit fdae78e16392632e7e043afe79939406494aeb27 Author: Evan Hanson Date: Sun Jan 3 21:15:26 2016 +1300 Trigger unit hook on module definition commit fa104a8a22786a46377655cdff3dd474919dddda Author: Evan Hanson Date: Sun Jan 3 19:03:15 2016 +1300 Explicitly `##core#quote` required library ids in eval.scm The standard `quote` syntax isn't available in environments that haven't imported the "scheme" module. commit bb521b126467b80ed431d5983bf406cc3e4824a2 Author: Evan Hanson Date: Sat Jan 2 14:12:08 2016 +1300 Remove obsolete compiler flags from batch-driver.scm commit d390148915b98e635732efab5528a0222a19ec9d Author: Evan Hanson Date: Sat Jan 2 13:22:14 2016 +1300 Add "-consult-type-file" flag for consistency with inline feature commit e4bfe38fcd42414f14849ce0126d1b6b25184f00 Author: Evan Hanson Date: Sat Jan 2 13:07:08 2016 +1300 Drop nonexistent compiler flags from c-platform.scm commit 948ddab6473b862a68d2322f455355a64089a703 Author: Evan Hanson Date: Sat Jan 2 11:37:01 2016 +1300 Tiny wording change to dload debug message These aren't really "modules" as CHICKEN uses the term. commit 3a12b8a371f9f524a4d1f447504e47c4617298a8 Author: Evan Hanson Date: Sat Jan 2 11:31:31 2016 +1300 Add syntax unit mappings Removes unit version checking from chicken-install, which didn't work anyway. Makes core unit lists constant and private to eval.scm. Avoids implicitly loading compiler-specific units such as chicken-ffi-syntax. Instead, we raise an error if the user tries to load one explicitly. commit e0e8e8495703577f2c2b306d64895e56c91e3b86 Author: Evan Hanson Date: Sat Jan 2 11:23:46 2016 +1300 Kill `provide` and `provided?` commit 7bda9854de8552c27c59fbd796bdb5cd26b88a6f Author: Evan Hanson Date: Sat Jan 2 11:22:57 2016 +1300 Don't use features to track core unit loading commit 439fe437790a37771d4cdd5d6394f2dec20d12e1 Author: Evan Hanson Date: Fri Jan 1 23:09:35 2016 +1300 Collect the "unit-name" declaration argument as a symbol commit f52b256a406ec89ecc1c98692892b9e24b216ea5 Author: Evan Hanson Date: Fri Jan 1 20:27:46 2016 +1300 Remove unused list of required-extensions from csc commit e15ef2ef871046567bfd285534ff207c1e44773d Author: Evan Hanson Date: Fri Jan 1 12:11:59 2016 +1300 Make import load, add unit info to import libraries, track unit execution Adds a load flag to import expansion, to indicate whether to a module's code should be loaded when its identifiers are imported. Tracks library loading with a new "unit hook". This requires pulling build-version into library.scm so that library (which provides the hook) is always the first unit loaded. commit 26f1edaf33165d2b756a05ecaeecf9a6e9afd4b3 Author: Peter Bex Date: Tue Mar 8 20:47:19 2016 +1300 Include argvector size in C_demand() calculations. When generating code, we check all the callees and their argument sizes. The largest of these will be added to the C_demand() call to ensure we can allocate the argvector to call it. If this is less than the current argument count, we don't add it because we won't need to allocate. Signed-off-by: Evan Hanson commit 7515a0840dcf93a158d76dc03e397e709f69b3d0 Author: Peter Bex Date: Sun Feb 28 14:57:56 2016 +0100 Simplify code generation by only using C_demand() This obsoletes C_stack_probe(), which was a bit broken in general, because it was passed the base pointer. This would only work reliably on architectures where the stack grows downward; on architectures where the stack grows upward, we would have to add the allocated amount to the base pointer to find out how much stack was used. In many cases this didn't break because often we statically allocate using the "C_word *ab[DEMAND]; C_word *a = ab;" idiom. In this case, "a" would be allocated at the end of the stack, before/after the entire buffer. But in situations where we dynamically allocated using the "C_word *a; a = C_alloc(DEMAND);" idiom, "a" might still fall within range of the stack, while a+DEMAND might push it just over the stack reserve. Besides simplifying and removing a potential bug on platforms where the stack grows upwards, this change makes it possible to add argvector allocation to the C_demand() call. Signed-off-by: Evan Hanson commit 3cda4c56bf8abe1e1d76fd61474c9c397db26f04 Author: Peter Bex Date: Tue Mar 8 20:47:19 2016 +1300 Include argvector size in C_demand() calculations. When generating code, we check all the callees and their argument sizes. The largest of these will be added to the C_demand() call to ensure we can allocate the argvector to call it. If this is less than the current argument count, we don't add it because we won't need to allocate. Signed-off-by: Evan Hanson commit 66bcec0b24a004fa974a5d604a4ea04f653009e0 Author: LemonBoy Date: Sun Feb 28 20:34:56 2016 +0100 Check if port is open before file-lock operations The file-lock functions in posixunix.scm didn't check if the port was actually open. Calling fileno on a closed descriptor causes a invalid memory read, as pointed out by valgrind. Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit a5006d93b6697e4e38722376d87724c99ec251f8 Author: Peter Bex Date: Sun Feb 28 18:15:37 2016 +0100 Fix excessive temporary generation In deeply nested if structures, we would generate a set of temporaries for each arm of the if, while the code would re-use temporaries. This means if each arm uses N temporaries, at a nesting depth of M we would generate N*2^M temporaries, instead of just N. This is especially clear in the generated code for core.scm; there is one C function with over 200 temporaries which uses less than 100! Signed-off-by: Evan Hanson commit b3a31490b810cd3ed45e170a771a2f3fed80ee50 Author: Peter Bex Date: Sun Feb 28 14:57:56 2016 +0100 Simplify code generation by only using C_demand() This obsoletes C_stack_probe(), which was a bit broken in general, because it was passed the base pointer. This would only work reliably on architectures where the stack grows downward; on architectures where the stack grows upward, we would have to add the allocated amount to the base pointer to find out how much stack was used. In many cases this didn't break because often we statically allocate using the "C_word *ab[DEMAND]; C_word *a = ab;" idiom. In this case, "a" would be allocated at the end of the stack, before/after the entire buffer. But in situations where we dynamically allocated using the "C_word *a; a = C_alloc(DEMAND);" idiom, "a" might still fall within range of the stack, while a+DEMAND might push it just over the stack reserve. Besides simplifying and removing a potential bug on platforms where the stack grows upwards, this change makes it possible to add argvector allocation to the C_demand() call. Signed-off-by: Evan Hanson commit 06df89dc0e28a83f25338202f0da1ddfad183199 Author: LemonBoy Date: Mon Feb 29 11:56:05 2016 +1300 Check if port is open before file-lock operations The file-lock functions in posixunix.scm didn't check if the port was actually open. Calling fileno on a closed descriptor causes a invalid memory read, as pointed out by valgrind. Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit eb97d20553fbce6561ce77a647821230b8faade3 Author: Peter Bex Date: Sun Feb 28 18:13:21 2016 +0100 Fix excessive temporary generation In deeply nested if structures, we would generate a set of temporaries for each arm of the if, while the code would re-use temporaries. This means if each arm uses N temporaries, at a nesting depth of M we would generate N*2^M temporaries, instead of just N. This is especially clear in the generated code for compiler.scm; there is one C function with over 200 temporaries which uses less than 100! Signed-off-by: Evan Hanson commit 539d3ad975f0b603c4a4d0d77d517296303aa5f2 Author: Evan Hanson Date: Thu Feb 25 17:03:57 2016 +1300 Fix C_call_with_cthulhu Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn. commit 3d086dd2257f71917070057adcff715a8fba46b3 Author: Evan Hanson Date: Thu Feb 25 17:01:03 2016 +1300 Fix C_call_with_cthulhu Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn. commit cd12e52ff41e64320dfa7c2c820e81ec55e4d03b Author: Peter Bex Date: Wed Feb 24 21:11:32 2016 +0100 Allow hooking into ##sys#force-primordial This is an extraordinary exception: we allow this to work around an alleged breakage which we haven't yet fixed. Signed-off-by: Evan Hanson commit aef448689ea3b55fca1af617a73614839da0d866 Author: Peter Bex Date: Wed Feb 24 21:10:26 2016 +0100 Allow hooking into ##sys#force-primordial This is an extraordinary exception: we allow this to work around an alleged breakage which we haven't yet fixed. Signed-off-by: Evan Hanson commit 99c1e5aa8b46b2026141cec5cb281632a6c67b6f Author: Evan Hanson Date: Mon Feb 22 14:04:40 2016 +1300 Print "chicken-install -repository" after processing all arguments Without this, the sanity check that requires a prefix to be given when the "-deploy" option is used is never triggered, and running the command "chicken-install -deploy -repository" just prints "#f". Signed-off-by: Peter Bex commit 38d3f52ffe2a8bed74a709e57859ada79a9fdeb1 Author: Evan Hanson Date: Mon Feb 22 14:04:40 2016 +1300 Print "chicken-install -repository" after processing all arguments Without this, the sanity check that requires a prefix to be given when the "-deploy" option is used is never triggered, and running the command "chicken-install -deploy -repository" just prints "#f". Signed-off-by: Peter Bex commit 0634d339f5a1c106721bddaab3cd6ce058ba7431 Author: Evan Hanson Date: Tue Feb 23 13:11:42 2016 +1300 Load lolevel in compiler so that foldable bindings are present This ensures that all identifiers that are subject to constant folding are bound to procedures in the compiler so that `constant-form-eval` will work correctly. Note that the data-structures, extras, and srfi-4 units also contain foldable bindings, but these are already used by the compiler so they don't need to be added. Signed-off-by: Peter Bex commit 57d0097c6f731ef5a30a77c351017145213af9b9 Author: Evan Hanson Date: Tue Feb 23 12:37:24 2016 +1300 Load lolevel in compiler so that foldable bindings are present This ensures that all identifiers that are subject to constant folding are bound to procedures in the compiler so that `constant-form-eval` will work correctly. Note that the data-structures, extras, and srfi-4 units also contain foldable bindings, but these are already used by the compiler so they don't need to be added. Signed-off-by: Peter Bex commit 8be5ab434d6b89e4e186e3a1231f628771f8aac7 Author: Peter Bex Date: Thu Feb 18 21:48:49 2016 +0100 Fix references into u32 and s32 locatives Thanks to Joerg Wittenberger for pointing out that this was broken. Signed-off-by: Evan Hanson commit 8c9905a87896f84daafc05321dc7f0a53a5e7176 Author: Peter Bex Date: Sun Feb 21 13:38:37 2016 +0100 Fix module db generation on Windows. On Windows, the generated pathname for the glob in update-db would consist of slashes, but the final directory name would contain a backslash between the binary version and the filename. The regular expression which extracted the module name from the full path to the import file only matched on slashes, causing the backslash to be included in the module name. Instead of regexes, we now use platform-aware path manipulation procedures which honour the system's separator character(s). Signed-off-by: Evan Hanson commit 9126396739faeab8c8425360048dd4a20e4d6456 Author: Evan Hanson Date: Wed Feb 17 14:08:08 2016 +1300 Declare _WIN32_WINNT for access to timer functions on mingw32 32-bit MinGW requires _WIN32_WINNT >= 0x0500 in order to access the CreateTimerQueueTimer and DeleteTimerQueueTimer functions, which are used by the statistical profiler. Signed-off-by: Peter Bex commit 7f928ac230029d0ddd532f9a8afc16741c2f6e9c Author: Evan Hanson Date: Tue Feb 16 09:29:11 2016 +1300 Allow compatible types, not just subtypes, in (the ...) declarations Add "the" declaration to parameterize to allow compilation with -strict-types (thanks to Joerg Wittenberger) Signed-off-by: Peter Bex commit 32910b279634aa58a04c4fb825d872fd6c1347f2 Author: Evan Hanson Date: Sat Feb 20 15:49:20 2016 +1300 Fix CHICKEN_DEBUGGER host splitting The previous commit should have shortened the "host" string, not "addr". commit ee4518f762ca49e4480190795caeb90066a084e3 Author: Peter Bex Date: Thu Feb 18 21:33:44 2016 +0100 Fix references into u32 and s32 locatives Thanks to Joerg Wittenberger for pointing out that this was broken. Signed-off-by: Evan Hanson commit 6e554718b5a398b0154f061c34d920bd81eca60c Author: Peter Bex Date: Sun Feb 21 13:38:37 2016 +0100 Fix module db generation on Windows. On Windows, the generated pathname for the glob in update-db would consist of slashes, but the final directory name would contain a backslash between the binary version and the filename. The regular expression which extracted the module name from the full path to the import file only matched on slashes, causing the backslash to be included in the module name. Instead of regexes, we now use platform-aware path manipulation procedures which honour the system's separator character(s). Signed-off-by: Evan Hanson commit 65af265831bd6fd4ab8d1e1a1f9e7dc14a17107f Author: Evan Hanson Date: Wed Feb 17 14:08:08 2016 +1300 Declare _WIN32_WINNT for access to timer functions on mingw32 32-bit MinGW requires _WIN32_WINNT >= 0x0500 in order to access the CreateTimerQueueTimer and DeleteTimerQueueTimer functions, which are used by the statistical profiler. Signed-off-by: Peter Bex commit 1939cbb960ab5105c8c93b188939ce424c3e7549 Author: Evan Hanson Date: Tue Feb 16 09:29:11 2016 +1300 Allow compatible types, not just subtypes, in (the ...) declarations Add "the" declaration to parameterize to allow compilation with -strict-types (thanks to Joerg Wittenberger) Signed-off-by: Peter Bex commit 7d1512b4f4013d1e52c7809f2469cea9a64deec6 Author: Peter Bex Date: Sat Feb 20 13:38:07 2016 +0100 Update copyright year to 2016. Used basically the same oneliner as Moritz used in 2015: git grep -Il '(c) [0-9-]*, The CHICKEN Team' | while read i; do sed -r 's/\(c\) (([0-9]+)-|(2015))(2015)?,/(c) \2\3-2016,/' "$i" > tmp && mv tmp "$i"; done commit 4dac6a79330cc471776e621d9fca488aa8da49ab Author: Evan Hanson Date: Sat Feb 20 15:49:20 2016 +1300 Fix CHICKEN_DEBUGGER host splitting The previous commit should have shortened the "host" string, not "addr". commit 22716b025504181d292cbecaff9ad30588d5e9a5 Author: Evan Hanson Date: Fri Feb 19 09:02:46 2016 +1300 Add `for-each` to the srfi-1 module's export list commit ee62f799c536b80924897a5b064bc001102ae242 Author: Peter Bex Date: Mon Feb 15 20:49:43 2016 +0100 Replace strndup() with strdup() for compat reasons This is the only thing preventing successful build for MingW on Vista. Also fix the default port, if only a plain hostname was supplied in the CHICKEN_DEBUGGER environment variable. Before, it would have been reading an uninitialized variable and always copying the full string as a host name due to an unintended cast to unsigned because of a bad stop condition in the loop. Signed-off-by: Evan Hanson commit d8260d3a989952f18001dde8796038dcb89d01a3 Author: Peter Bex Date: Mon Feb 15 20:49:43 2016 +0100 Replace strndup() with strdup() for compat reasons This is the only thing preventing successful build for MingW on Vista. Also fix the default port, if only a plain hostname was supplied in the CHICKEN_DEBUGGER environment variable. Before, it would have been reading an uninitialized variable and always copying the full string as a host name due to an unintended cast to unsigned because of a bad stop condition in the loop. Signed-off-by: Evan Hanson commit 2f7d7f2cd8c231a7eb061421b132771c9911078d Author: Peter Bex Date: Tue Feb 16 21:16:00 2016 +0100 Fix scrutiny out/expected comparison in tests on Mingw w/o MSYS It turns out that "fc", Microsoft's pathetic excuse for a file comparison tool, only reads in a fixed number of lines when comparing files (100 by default). If that number is exceeded, it just stops and reports there were differences, even though there are only newline differences, even when whitespace is ignored. So we just increase the buffer size and hope for the best. Signed-off-by: Evan Hanson commit a9bee11508eebf700f9a39fb18eb90ee4f21ae66 Author: Peter Bex Date: Tue Feb 16 21:17:14 2016 +0100 Fix scrutiny out/expected comparison in tests on Mingw w/o MSYS It turns out that "fc", Microsoft's pathetic excuse for a file comparison tool, only reads in a fixed number of lines when comparing files (100 by default). If that number is exceeded, it just stops and reports there were differences, even though there are only newline differences, even when whitespace is ignored. So we just increase the buffer size and hope for the best. Signed-off-by: Evan Hanson commit 36ad662f8eb24fa9ef4686b353995ef7e2c4e1df Author: Evan Hanson Date: Tue Feb 16 14:35:20 2016 +1300 Allow multiple debug modes to be used for `debugging` Previously, `with-debugging-output` allowed using a list to specify multiple debug modes, but `debugging` didn't. The scrutinizer uses "(debugging '(o e) ...)" to print specialization info, however, meaning that info was never printed. This change just makes both procedures accept a list of modes. commit f757e7d9977663f663840dc86e4028e1d36a844b Author: Evan Hanson Date: Tue Feb 16 14:35:20 2016 +1300 Allow multiple debug modes to be used for `debugging` Previously, `with-debugging-output` allowed using a list to specify multiple debug modes, but `debugging` didn't. The scrutinizer uses "(debugging '(o e) ...)" to print specialization info, however, meaning that info was never printed. This change just makes both procedures accept a list of modes. commit 307ba887ca786ded9460bdc50d54efc1cf093ad5 Author: Peter Bex Date: Mon Feb 15 19:40:26 2016 +0100 Update NEWS file with alist-{update[!],ref} changes and reindent commit 8622b1c7e3ed95e337493ba80ecba5306234d510 Author: Peter Bex Date: Mon Feb 15 19:39:33 2016 +0100 Update NEWS file with alist-{update[!],ref} changes and reindent commit 7fcb9fe2fd0129143f04b5462b996d3559000464 Author: felix Date: Wed Feb 10 15:21:01 2016 +0100 Fix for ticket 1231 Fix removal of owner from mutex when mutex-lock! with timeout fails. Fix memory leak in mutex-unlock! More tests. Patch originally by Joerg Wittenberger Signed-off-by: felix Signed-off-by: Peter Bex commit 5aaedf214425aa6196cb6daaf9fc2e053ed58dde Author: Evan Hanson Date: Sun Feb 14 11:49:02 2016 +1300 Add line numbers to scrutiny warnings for value count mismatches Pull the logic for node line number extraction into a single procedure to make it easier to print line numbers during scrutiny, and use it in the `single` and `call-result` procedures. Signed-off-by: Peter Bex commit 54a1ba8fa43068741f3d96d39c3ec9576ea76099 Author: Evan Hanson Date: Sun Feb 14 11:49:02 2016 +1300 Add line numbers to scrutiny warnings for value count mismatches Pull the logic for node line number extraction into a single procedure to make it easier to print line numbers during scrutiny, and use it in the `single` and `call-result` procedures. Signed-off-by: Peter Bex commit 1bfc0df86da217edb58c36f3155f6ac799d8a69c Author: Peter Bex Date: Sat Feb 13 19:21:33 2016 +0100 Preserve type of argument in car in assq/assv procedure results. If the result is a pair, the car will always be the same type as the first procedure argument. The list may consist of pairs of union types or unknown types, so this allows us to recover some type info due to the first argument in most cases being more specific. Signed-off-by: Evan Hanson commit caec8083ed7df20dbd1b6bbe1aa92f4835c91279 Author: Peter Bex Date: Sat Feb 13 19:23:06 2016 +0100 Preserve type of argument in car in assq/assv/assoc procedure results. If the result is a pair, the car will always be the same type as the first procedure argument. The list may consist of pairs of union types or unknown types, so this allows us to recover some type info due to the first argument in most cases being more specific. Signed-off-by: Evan Hanson commit 2a8feb5ed1b432fc89ef763a927cce55bf163098 Author: Evan Hanson Date: Sat Feb 13 23:51:07 2016 +1300 Preserve type of first element in memq/memv procedure results If the result is a list, its first element will be the same type as the first procedure argument. Signed-off-by: Peter Bex commit 0b501bc5a5cc2ac76e9bb78ba48f6e9250b59dc5 Author: Evan Hanson Date: Sat Feb 13 23:56:40 2016 +1300 Preserve type of first element in mem* procedure results If the result is a list, its first element will be the same type as the first procedure argument. Signed-off-by: Peter Bex commit b376d3a0b87f1d48f5555edd676c8eaed21c66d8 Author: Peter Bex Date: Fri Feb 12 20:17:03 2016 +0100 Fix type signatures of a few alist procedures Thanks to Joerg Wittenberger for pointing out that the types weren't exactly right. This also makes the types and higher order procedures consistent in how they call their argument predicates: always the supplied key first, and the "thing in the list" second. Signed-off-by: Evan Hanson commit df99ec3e9b5f5be334a179e57b64984f29af8817 Author: Peter Bex Date: Thu Feb 11 21:20:00 2016 +0100 Fix type signatures of a few alist procedures Thanks to Joerg Wittenberger for pointing out that the types weren't exactly right. This also makes the types and higher order procedures consistent in how they call their argument predicates: always the supplied key first, and the "thing in the list" second. Signed-off-by: Evan Hanson commit be8208198d156e2e6ab27891f39128a5b187e8ae Author: Peter Bex Date: Sat Jan 23 16:26:27 2016 +0100 Simplify parameterize expansion Conversion is only enabled upon first time entering the extent, this makes that a bit clearer. It's not necessary, but this would also allow setting the parameters in reverse order. It also pulls the code a little more comfortably to the left again. Signed-off-by: Evan Hanson commit 9a63e35fb4018c2f17b8f22e7b743015b1478ed7 Author: Peter Bex Date: Sat Jan 23 15:10:26 2016 +0100 Fix nonlocal exit handling in parameterize When a parameter's "guard" procedure raises an exception, the values should be consistent. Before, the values were assigned one by one, and if the exception got raised halfway through, the already-assigned parameters would not be restored to their original values. Add a clarifying comment as to why we must alias all the parameters: they don't need to be identifiers but can be complex expressions evaluating to parameters. This is not immediately obvious from the code. It's only clear when you remember that parameterize can be used like this when reading the code. Signed-off-by: Evan Hanson commit cd2f4c2113af1986e1360361a0580dd2cade2bc4 Author: Evan Hanson Date: Sat Feb 6 13:19:41 2016 +1300 Unrename types when reporting scrutiny results Points the `##core#real-name` property of renamed type variables at their original names so that types can be syntax-stripped before printing and scrutiny warnings will print types as they appear in the source, rather than using their gensym'd counterparts. Also tweaks the scrutinizer's reporting procedures to implicitly format their arguments, as they were only ever called with a sprintf-formatted string, and slightly changes the grammar and punctuation of some scrutiny messages. As a nice side effect, this change stops us from having to commit changes to tests/scrutiny*.expected every time the number of gensyms used by the compiler changes. Signed-off-by: Peter Bex commit 67b5182b61f7bef54e3dac5d7ab47f6a65780eb8 Author: Peter Bex Date: Sat Jan 30 14:18:36 2016 +0100 Don't silently truncate huge literals Instead stop compilation and show an error. Unfortunately, we can't really show the object that caused it to bomb, because that would be too large to print. Don't constant-fold expressions that result in such an unencodeable literal. Signed-off-by: Evan Hanson commit bdda1a0dcf1195e0e78e4b2e62678e4f44cd55fa Author: Peter Bex Date: Thu Jan 28 22:35:53 2016 +0100 Port another B/Z performance fix from numbers egg. This is actually the *proper* fix for the pathological case that revision b0711c4ca7f8e92dd18807a1c553e6ce649f1380 tried to fix: Because X is divided into DIV_LIMIT (BZ_DIFF_THRESHOLD) sized pieces, this only makes sense if Y is bigger than those pieces. Finally, the revision in which I tried to fix it also changed the name of the threshold parameter, but it didn't fix the #ifdef guard around it, which means it wasn't overrideable by the user like it should be. This changes back the name to the original, thereby fixing that problem as well. commit 2c3797fe634e74195e7a89d0a765dc2647f6914d Author: Peter Bex Date: Mon Jan 25 21:00:55 2016 +0100 Fix reference URL in comment, which moved commit 33cea4e5fb2a44a25d868b90665859dee700f5b7 Author: Peter Bex Date: Mon Jan 25 20:45:22 2016 +0100 Fix number->string "overlap" radix handling. For power of two radices which had a bit length that's not an exact multiple of the word size, this would sometimes result in leading zeroes or assertion failures (direct port of the corresponding fix in the CHICKEN 4 numbers egg). commit 927f18644131d0407eae3aec2caa6cd6418cbf6a Author: Peter Bex Date: Sun Jan 24 15:31:49 2016 +0100 Update manual with latest changes from the wiki Conflicts: manual/Unit posix commit 1f6345983c64f4dc3f5190412ac129ad43e6fb2a Author: Peter Bex Date: Sun Jan 24 13:54:23 2016 +0100 Fix init-repository: use repo-path instead of prefix This fixes today's massive Salmonella breakage commit 7be07eaf29d9227668bf95e381fa6a0e8596f0ac Author: Peter Bex Date: Thu Jan 21 21:28:22 2016 +0100 Do not reinstall satisfied deps in deploy mode This fixes #1106 Signed-off-by: Evan Hanson commit 24b0ce85ca5cb8881155d4a9834a4b036d1701da Author: Peter Bex Date: Thu Jan 21 21:27:49 2016 +0100 Add -prefix and -deploy support to chicken-{uninstall,status} This can be helpful when managing deployed programs. Signed-off-by: Evan Hanson commit 54c1af5d147ff7cbfbd08be69b97d56a484a71cc Author: Peter Bex Date: Sat Jan 23 21:06:33 2016 +0100 Fix unsafe code generation for procedure calls. When the debugger was integrated, ##core#call in the *target* language was slightly changed: it got an additional leading argument that indicates the debug info index, so the "safe-flag" option was moved to position number 2. However, the code generation would still interpret the first position as "safe-flag", which meant C_fast_retrieve_proc() was omitted even in cases where the called object was not guaranteed to be a closure. C_fast_retrieve_proc will check the object and raise an exception if it's not a closure. Signed-off-by: felix commit 245b656ade27c2e7be09994204c7930f27cfdb89 Author: Peter Bex Date: Sat Jan 23 17:21:04 2016 +0100 Reindent core libraries and swap with tools section in NEWS This also to reduce merge conflicts commit 944eee0d663de35d2be39156e5844675ad4c4a2d Author: Peter Bex Date: Sat Jan 23 17:12:18 2016 +0100 Fix NEWS's missing SRFI-18 entry. This synchs chicken-5 back with master again: the changelog for CHICKEN 4.10 includes SRFI-18, even if was later removed from CHICKEN 5 again. Because the patch to SRFI-18 wasn't applied to the chicken-5 branch, the NEWS update wasn't, either. commit b0594d1bb17d47a629164edfbb36bc972acc8823 Author: Peter Bex Date: Sat Jan 23 16:26:27 2016 +0100 Simplify parameterize expansion Conversion is only enabled upon first time entering the extent, this makes that a bit clearer. It's not necessary, but this would also allow setting the parameters in reverse order. It also pulls the code a little more comfortably to the left again. Signed-off-by: Evan Hanson commit a94b69e52433708179d34098cae12f352a01d33b Author: Peter Bex Date: Sat Jan 23 15:10:26 2016 +0100 Fix nonlocal exit handling in parameterize When a parameter's "guard" procedure raises an exception, the values should be consistent. Before, the values were assigned one by one, and if the exception got raised halfway through, the already-assigned parameters would not be restored to their original values. Add a clarifying comment as to why we must alias all the parameters: they don't need to be identifiers but can be complex expressions evaluating to parameters. This is not immediately obvious from the code. It's only clear when you remember that parameterize can be used like this when reading the code. Signed-off-by: Evan Hanson commit ba053bb487e6431b81a3230c405ac73f5b5bee05 Author: Evan Hanson Date: Sat Feb 6 13:19:41 2016 +1300 Unrename types when reporting scrutiny results Points the `##core#real-name` property of renamed type variables at their original names so that types can be syntax-stripped before printing and scrutiny warnings will print types as they appear in the source, rather than using their gensym'd counterparts. Also tweaks the scrutinizer's reporting procedures to implicitly format their arguments, as they were only ever called with a sprintf-formatted string, and slightly changes the grammar and punctuation of some scrutiny messages. As a nice side effect, this change stops us from having to commit changes to tests/scrutiny*.expected every time the number of gensyms used by the compiler changes. Signed-off-by: Peter Bex commit 812b52ea9ad7cf5e50c12c568c330f6462284772 Author: Peter Bex Date: Sat Jan 30 14:23:47 2016 +0100 Don't silently truncate huge literals Instead stop compilation and show an error. Unfortunately, we can't really show the object that caused it to bomb, because that would be too large to print. Don't constant-fold expressions that result in such an unencodeable literal. Signed-off-by: Evan Hanson commit 06cedbbaba2471911ce8ecb096aa9d0c40ec2dd4 Author: Peter Bex Date: Sun Jan 24 15:31:02 2016 +0100 Update manual with latest changes from the wiki commit ad5f74dce9e9b5fc9516f2ed8c62d1fbdecc5e9a Author: Peter Bex Date: Sun Jan 24 13:53:29 2016 +0100 Fix init-repository: use repo-path instead of prefix This fixes today's massive Salmonella breakage commit e090c524b782e3bc982299b4c021a5fc96db36e4 Author: Peter Bex Date: Sat Jan 16 16:30:41 2016 +0100 Do not reinstall satisfied deps in deploy mode This fixes #1106 Signed-off-by: Evan Hanson commit c24fcb6f525fa795afeaaf0a94f587518c0ae2e1 Author: Peter Bex Date: Sat Jan 16 16:03:44 2016 +0100 Add -prefix and -deploy support to chicken-{uninstall,status} This can be helpful when managing deployed programs. Signed-off-by: Evan Hanson commit 5b27c626dcd00e7ee46e6bc7f51aba61c304a800 Author: Peter Bex Date: Sat Jan 23 21:04:37 2016 +0100 Fix unsafe code generation for procedure calls. When the debugger was integrated, ##core#call in the *target* language was slightly changed: it got an additional leading argument that indicates the debug info index, so the "safe-flag" option was moved to position number 2. However, the code generation would still interpret the first position as "safe-flag", which meant C_fast_retrieve_proc() was omitted even in cases where the called object was not guaranteed to be a closure. C_fast_retrieve_proc will check the object and raise an exception if it's not a closure. Signed-off-by: felix commit ead7f9b7a0b3e4cc30e4eaebda1f2833bee23bd1 Author: Peter Bex Date: Sat Jan 23 16:49:52 2016 +0100 Fix NEWS entry for Unit "posix" change It should be below "Core libraries" like it is in chicken-5 branch. commit 685e137bdef74bba3916abb677dede792bb7840c Author: Peter Bex Date: Sat Jan 16 16:47:48 2016 +0100 Fix dependencies of csc.scm It uses posix, which was missing from the declaration and import form. The dependencies in rules.make were wrong. Signed-off-by: Mario Domenech Goulart Signed-off-by: Peter Bex commit 0221f15c52e3bc244019907161007d2f4c52aee2 Author: Peter Bex Date: Sat Jan 16 15:54:42 2016 +0100 Fix double quote wrapping of libs in csc. Prefix should not wrap its argument in a call to "quotewrap", because copy-libraries will use (target-lib-path), which will then be quoted, passing it on to copy-files which will quote it once again. This would break csc -deploy when copying libchicken. Bug was introduced in edd4926bb4f4c97760a0e03b0d0e8210398fe967 (master) and 3246aa817f342578e541bcdc2ac1dcb8fbe300f2 (chicken-5). Signed-off-by: Mario Domenech Goulart Signed-off-by: Peter Bex commit 9603c61688c5e667364f5424d39f82e5a717d3fb Author: Mario Domenech Goulart Date: Sun Jan 17 11:28:56 2016 -0200 Fix path quoting patch (introduced in 5920000) This is basically a revert of 5920000, a cherry pick of edd4926 (from master) and a squash of them. The changes in 5920000 were not the right ones to be commited (my mistake). They correspond to a work-in-progress patch from the https://lists.gnu.org/archive/html/chicken-hackers/2015-11/msg00017.html thread. Signed-off-by: Peter Bex commit 932004b7d43e9df492de17189555fa4ed562d423 Author: Peter Bex Date: Sat Jan 16 15:54:42 2016 +0100 Fix double quote wrapping of libs in csc. Prefix should not wrap its argument in a call to "quotewrap", because copy-libraries will use (target-lib-path), which will then be quoted, passing it on to copy-files which will quote it once again. This would break csc -deploy when copying libchicken. Bug was introduced in edd4926bb4f4c97760a0e03b0d0e8210398fe967. Signed-off-by: Mario Domenech Goulart commit 4be9b00df5d01c95ce043f17611b55efb5575e7f Author: Peter Bex Date: Sat Jan 16 17:02:52 2016 +0100 Add posix to declared units in csc.scm It uses create-directory, which is provided by posix. Signed-off-by: Mario Domenech Goulart commit 96c503a11fde5db6316dea578e3596b20e3da35b Author: Evan Hanson Date: Sat Jan 16 19:55:20 2016 +1300 Add NEWS entry for the statistical profiler Also, clarify runtime argument documentation slightly. commit 5674e3cd1d47377cb53c2afa8dacb068ef59a6f9 Author: Evan Hanson Date: Sat Jan 16 19:55:20 2016 +1300 Add NEWS entry for the statistical profiler Also, clarify runtime argument documentation slightly. commit 0953e6dde71ee5791276b5b49f99ec469d5e87ff Author: Evan Hanson Date: Sat Jan 16 19:18:42 2016 +1300 Hide `empty-file?` in unit profiler commit 8dcd283fdc1f279ace1417844bba7d4e27a2577f Author: Peter Bex Date: Sun Dec 6 20:07:30 2015 +0100 Fix statistical percentage chicken-profile output Now both profiling types write a header in the first line to indicate the type of file, so that chicken-profiles knows whether to take the highest or the total of the run time as 100% when dividing. Signed-off-by: Evan Hanson commit 60c3df0b5734119b81219f52900076a1df0ed246 Author: Peter Bex Date: Sun Dec 6 17:02:12 2015 +0100 Support profiling on Windows with native timers In MingW there's no setitimer support, so we'll have to use a native Windows API. This API unfortunately only supports millisecond precision. The CreateWaitableTimer API seems like it supports better precision, but it requires that you wait for it using WaitFor{Single,Multiple}Object. Signed-off-by: Evan Hanson commit 37f94e90aeb1f38cb0e856f4cebfec38a1d9672a Author: Peter Bex Date: Sat Dec 5 16:28:59 2015 +0100 Add simple statistical profiler to runtime library This enables collection of profiling data via statistical sampling to every program built with CHICKEN. It relies on trace information for determining which procedure is running. This also means it has a finer granularity than the default instrumentation-based profiler. This can be an advantage or disadvantage depending on what you're trying to do. Signed-off-by: Evan Hanson commit 6cb94c959a656f528b1ee127d941aa51ebc1c6e5 Author: Evan Hanson Date: Sat Jan 16 19:21:07 2016 +1300 Hide `empty-file?` in unit profiler commit a68c580475ded09cc716e5777a2a63cc29ba26ec Author: Peter Bex Date: Sat Jan 2 17:24:37 2016 +0100 Fix statistical percentage chicken-profile output Now both profiling types write a header in the first line to indicate the type of file, so that chicken-profiles knows whether to take the highest or the total of the run time as 100% when dividing. Signed-off-by: Evan Hanson commit e9f5eaaa3ccbff44f3951cd45931d117ebcd5bc0 Author: Peter Bex Date: Sat Jan 2 17:20:58 2016 +0100 Support profiling on Windows with native timers In MingW there's no setitimer support, so we'll have to use a native Windows API. This API unfortunately only supports millisecond precision. The CreateWaitableTimer API seems like it supports better precision, but it requires that you wait for it using WaitFor{Single,Multiple}Object. Signed-off-by: Evan Hanson commit a24457f0a563e336905d4277e2b365d93c8ebbc2 Author: Peter Bex Date: Sat Jan 2 17:20:30 2016 +0100 Add simple statistical profiler to runtime library This enables collection of profiling data via statistical sampling to every program built with CHICKEN. It relies on trace information for determining which procedure is running. This also means it has a finer granularity than the default instrumentation-based profiler. This can be an advantage or disadvantage depending on what you're trying to do. Signed-off-by: Evan Hanson commit 72165012f47068a5eeae3c5ac6410f9e5727e54c Author: Jörg F. Wittenberger Date: Thu Jan 14 20:09:40 2016 +0100 Allow signal handlers to be dispatched to multiple threads To avoid clobbering the saved_stack_limit when multiple signals are dispatched in parallel: 1. Remember C_stack_limit 2. Test pending_interrupts_count 3. Increment pending_interrupts_count 4. Write remembered value to saved_stack_limit Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit 82946832fc3401ee896140a46b101eed34f8fb28 Author: Jörg F. Wittenberger Date: Thu Dec 3 10:52:06 2015 +0100 Allow signal handlers to be dispatched to multiple threads To avoid clobbering the saved_stack_limit when multiple signals are dispatched in parallel: 1. Remember C_stack_limit 2. Test pending_interrupts_count 3. Increment pending_interrupts_count 4. Write remembered value to saved_stack_limit Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit 71da1be7a570cc22b47c8bf5922efdd7251e7644 Author: Peter Bex Date: Tue Dec 8 21:50:26 2015 +0100 Improve irregex matching performance We add type declarations to "cset-contains?" to ensure unsafe versions of char comparison functions, vector access and car/cdr are used. This hacks up irregex core even further, but it's worthwhile: in some cases a regex match can run twice as fast. Signed-off-by: Evan Hanson commit c62d96c47f3a2d6352c23c33883ce0362a8e0ec1 Author: Evan Hanson Date: Mon Jan 11 08:58:01 2016 +1300 Use ##compiler#type-source property for type origin info (db local inference) commit a8f97697496856c2675964b5c3658276b8f33466 Author: Peter Bex Date: Wed Nov 18 19:28:08 2015 +0100 Mark external type declarations as declared. By not being marked as "declared", types loaded from a types database would be considered to be inferred via flow analysis. When scrutinizing procedure definitions, "initial-argument-types" and "variable-result" would simply return '* or '(*) as the type, which doesn't match the loaded declaration. This had the effect of blocking specialization. This fixes the most important part of #1219. Signed-off-by: Evan Hanson commit e77c9932d8671126ade7dde626954b2a2690f087 Author: Evan Hanson Date: Fri Jan 1 16:09:40 2016 +1300 Remove stray trailing parenthesis in uninstall target commit fa2f24af1b6cecf22414c9dd88cb898244b61b38 Author: Evan Hanson Date: Fri Jan 1 14:53:44 2016 +1300 Fix feathers usage message so program name is interpolated commit 505735e4eeaf37009b8689d62ad5c684edb191b7 Author: Evan Hanson Date: Fri Jan 1 14:27:27 2016 +1300 Fix typo in feathers' MangleSymbol commit 022dce8264fb9aead93ecc98b88ad7cc7cc79915 Author: Peter Bex Date: Tue Dec 8 21:43:16 2015 +0100 Improve irregex matching performance We add type declarations to "cset-contains?" to ensure unsafe versions of char comparison functions, vector access and car/cdr are used. This hacks up irregex core even further, but it's worthwhile: in some cases a regex match can run twice as fast. Signed-off-by: Evan Hanson commit dde0adcd543d4e3f93e60bfb198d0d43da4605e8 Author: Evan Hanson Date: Mon Jan 11 08:52:44 2016 +1300 Use ##compiler#type-source property for type origin info (db local inference) commit 5fcf890d6a724da6d7eac2f7beee19aa6832c80f Author: Peter Bex Date: Wed Nov 18 17:04:57 2015 +0100 Mark external type declarations as declared. By not being marked as "declared", types loaded from a types database would be considered to be inferred via flow analysis. When scrutinizing procedure definitions, "initial-argument-types" and "variable-result" would simply return '* or '(*) as the type, which doesn't match the loaded declaration. This had the effect of blocking specialization. Because CHICKEN 4 doesn't use modules for its core procedures, we will only do this when building CHICKEN itself. User code may define toplevel procedures which match names from core, if the matching units are not loaded this is okay, but we can't apply the specializations in that case. This fixes the most important part of #1219. Signed-off-by: Evan Hanson commit 25dc2841b3ae7c78e94b72e91bd8d611313fc2b6 Author: Evan Hanson Date: Fri Jan 1 16:09:40 2016 +1300 Remove stray trailing parenthesis in uninstall target commit afd7278c546755aaf102bd7c206c7fa2136cf35c Author: Evan Hanson Date: Fri Jan 1 14:53:44 2016 +1300 Fix feathers usage message so program name is interpolated commit 89119e77aa6f5940d73817b4add3c6a8c8954db8 Author: Evan Hanson Date: Fri Jan 1 14:27:27 2016 +1300 Fix typo in feathers' MangleSymbol commit 86010b507bef896d0b744c47633eb0ede8218a4e Author: felix Date: Mon Dec 7 10:27:50 2015 +0100 Add a basic form of source-level debugging to compiled Scheme code The compiler has been extended to decorate code with "debug-event" forms ("##core#debug-event"). In the code-generation phase these emit calls to a hook-function ("C_debugger") that is used to submit debug events to a connected TCP server. Each event has an associated record of debug-information (line-numbers, etc.) An extension to the run-time system implements the C_debugger hook and provides a simple TCP-based connection to a TCP server on port 9999, sending events, when encountered and reading response "actions" from the server. The protocol is text- and s-expression based. The new debug-level 3 enables the mechanism. If "-d3" is given, the "debugger-client" unit is invoked, which checks the environment variable "CHICKEN_DEBUGGER" (that should hold a string of the form ":"), tried to connect and, if the connection can be established, suspends the program, waiting for responses. A simple Tcl/Tk based debugger "front-end" is provided. It is called "feathers" and requires Tcl/Tk 8.5. Basic usage is explained in the new "Debugging" chapter in the manual. It cointains just the basics, though. I have tested this on Linux, Windows and Mac. As the version of Tcl/Tk on Mac is very buggy, I was only able to run it with an X11-based version (requires XQuartz). It seems to run ok on Windows (using ActiveState Tcl/Tk), but I have only done very basic tests on that platform. The front-end currently allows single-stepping, inspecting arguments and global variables, setting break-points on source lines (only for those, for which line-number information could be recovered) and global variables. The build has been extended to produce and install executable scripts ("feathers" and "feathers.bat"), and the "debugger-client" unit has been added. Note that the calls to C_debugger have a performance impact. "C_trace" is called implicitly in the case of a "procedure call" event to avoid an additional library function call. C_debugger is called for the following events: procedure entry, procedure call, global-variable assignment, GC, error and termination. Signed-off-by: Evan Hanson commit edd039e4dfda7b63d7999a7cbf7fb44bbd26fe98 Author: felix Date: Mon Dec 7 11:09:26 2015 +0100 Add a basic form of source-level debugging to compiled Scheme code The compiler has been extended to decorate code with "debug-event" forms ("##core#debug-event"). In the code-generation phase these emit calls to a hook-function ("C_debugger") that is used to submit debug events to a connected TCP server. Each event has an associated record of debug-information (line-numbers, etc.) An extension to the run-time system implements the C_debugger hook and provides a simple TCP-based connection to a TCP server on port 9999, sending events, when encountered and reading response "actions" from the server. The protocol is text- and s-expression based. The new debug-level 3 enables the mechanism. If "-d3" is given, the "debugger-client" unit is invoked, which checks the environment variable "CHICKEN_DEBUGGER" (that should hold a string of the form ":"), tried to connect and, if the connection can be established, suspends the program, waiting for responses. A simple Tcl/Tk based debugger "front-end" is provided. It is called "feathers" and requires Tcl/Tk 8.5. Basic usage is explained in the new "Debugging" chapter in the manual. It cointains just the basics, though. I have tested this on Linux, Windows and Mac. As the version of Tcl/Tk on Mac is very buggy, I was only able to run it with an X11-based version (requires XQuartz). It seems to run ok on Windows (using ActiveState Tcl/Tk), but I have only done very basic tests on that platform. The front-end currently allows single-stepping, inspecting arguments and global variables, setting break-points on source lines (only for those, for which line-number information could be recovered) and global variables. The build has been extended to produce and install executable scripts ("feathers" and "feathers.bat"), and the "debugger-client" unit has been added. Note that the calls to C_debugger have a performance impact. "C_trace" is called implicitly in the case of a "procedure call" event to avoid an additional library function call. C_debugger is called for the following events: procedure entry, procedure call, global-variable assignment, GC, error and termination. Signed-off-by: Evan Hanson commit c6791b7b6c2e4cccc6c15ab646b304eff2209a22 Author: Peter Bex Date: Thu Nov 19 16:51:25 2015 +0100 Make ##sys#with-print-limit a bit more consistent This fixes #951, for the most part. Signed-off-by: Evan Hanson commit 36a5403b93c803574e9c8a48a3d442c24e1843d3 Author: Evan Hanson Date: Fri Jan 1 18:30:50 2016 +1300 Update error message on missing import libraries to use `quit-compiling` commit b941aab9a7a52801367ec887156cec243338dbfe Author: Evan Hanson Date: Fri Jan 1 18:27:43 2016 +1300 Make the chicken executable a module commit 0330f719e1befff4b994be34e0fb48971f24c0cf Author: Evan Hanson Date: Fri Jan 1 18:27:16 2016 +1300 Make mini-srfi-1's delete remove all occurences of x commit f55c138d9573dd6488eab2b4b8871a9da4771265 Author: Evan Hanson Date: Fri Jan 1 17:17:11 2016 +1300 Remove import libraries from tracking list even when "-J" is used commit d63741b79bbeac34971e0ef0600e51e93453b11c Author: Peter Bex Date: Thu Nov 19 15:58:37 2015 +0100 Error out when emitting import libraries for nonexistant modules This fixes #1188. Signed-off-by: Evan Hanson commit ad691278c49fc7e6ba7fc4ebdd0f98a231a52de3 Author: Peter Bex Date: Sun Dec 20 20:18:43 2015 +0100 Fix UWORD_COUNT_FORMAT_STRING on 64bit platforms It should be "unsigned long", not just "unsigned integer". This allows us to remove some questionable casts. heap{space[12]}_size are also changed from size_t to C_uword because all the intermediate calculations for them are done through C_uwords. Besides, C_maximal_heap_size is a C_uword so it doesn't need to be size_t because the value of heap_size can never be bigger than C_maximal_heap_size. This also helps with printf for heap_size, because the "z" modifier seems not as widely supported as %lu. Signed-off-by: Evan Hanson commit 850fa48e370b29076be8b93123a30b5344a4c1d4 Author: Evan Hanson Date: Tue Dec 29 08:38:49 2015 +1300 Don't warn about unused hidden variables Fixes #1237. Signed-off-by: Peter Bex commit 0f1330246075166051ab396b1c31c06a167b97b3 Author: Evan Hanson Date: Mon Dec 21 12:18:48 2015 +1300 Use pair as loop result handle in compiler-syntax for `map` This allows the expansion to blindly dereference the second slot of the value accumulated by the loop, avoiding the need for a conditional that detects the first iteration and updates the loop's result box and removing the continuation resulting from that conditional. Because the map-loop is then free of any CPS calls, it compiles to a label and goto. Signed-off-by: Peter Bex commit 02da15c26d906feac3cea15a300690b71f746025 Author: Peter Bex Date: Thu Dec 17 21:59:11 2015 +0100 Reduce difference with upstream irregex. Instead of using a custom "%irregex-error", which is redefined to just "error" in a compiler macro, we simply use "error" directly. Upstream also does this, which means the diff between upstream's irregex.scm and our irregex-core.scm is smaller, which makes maintenance less of a hassle. Signed-off-by: Evan Hanson commit 3d833218dae4e9d9bdce7a8fe4b64ba5d00c2124 Author: Peter Bex Date: Thu Dec 17 21:44:14 2015 +0100 Update irregex to upstream version 0.9.4 This fixes a pathological performance problem with {n,m} patterns. Signed-off-by: Evan Hanson commit 5249d9d066fc7931ca5d40215789be5157be2e11 Author: Peter Bex Date: Wed Nov 18 19:29:59 2015 +0100 Fix a few incorrect type declarations These were found by simply compiling with DEBUGBUILD after rebuilding CHICKEN with all identifiers in types.db marked with "declared-type" in the scrutinizer. Signed-off-by: Evan Hanson commit a1a0ab93968ac26fb112c864398de73c2264b494 Author: Peter Bex Date: Wed Nov 18 19:28:21 2015 +0100 Avoid CPS call in read-char to read-char/port. This should improve performance somewhat for those cases where the procedure is called indirectly, or with zero arguments. This fixes the remaining part of #1219. Signed-off-by: Evan Hanson commit eb51b331cea780b88a4836a24d4dcd468ab5d7fd Author: Jörg F. Wittenberger Date: Fri Nov 6 20:50:21 2015 +0100 Remove unused procedure `##sys#hash-table-location` Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit fac7415f5eacdf8df2e172a93fd01904ae61b674 Author: Peter Bex Date: Sat Nov 28 18:02:44 2015 +0100 Attempt to detect server errors and translate them to an exception. Fixes #1110, albeit not very cleanly. A proper fix would involve specifying a more rigorous protocol, but that's hard to do while being backward-compatible. Henrietta should return only s-expressions, but there are situations where it won't. It's also impossible to detect when we're talking to a non-Henrietta web server. Signed-off-by: Christian Kellermann Conflicts: setup-download.scm commit bacdd50ebc5f8c6479de0b9d73347166c93559ce Author: Christian Kellermann Date: Tue Dec 8 12:35:41 2015 +0100 Fix documentation for procedures using ##sys-stat The last commit forgot to mention some procedures that now also work for port objects. Clarify the ones that work in the NEWS file. Conflicts: NEWS commit 6812155e0f02dbd4c348f58c8752ffd8d4ca1ac6 Author: LemonBoy Date: Mon Dec 7 22:10:14 2015 +0100 Update the documentation. Signed-off-by: Christian Kellermann Conflicts: NEWS commit 8c1015d4a8e219a98110f8a2ffe5e8f4777feb3f Author: LemonBoy Date: Mon Dec 7 21:50:56 2015 +0100 Make ##sys#stat work with ports. Signed-off-by: Christian Kellermann commit 451b6577c2077a8956b55b618e74d7ac82fa978d Author: Peter Bex Date: Sat Dec 5 14:52:02 2015 +0100 Fix "slashify" C string escaping mechanism. If you have backslashes in procedure names, they would incorrectly be converted to slashes in the call trace. The "slashify" procedure is only used in one place, and only for injecting strings to C, which means it's easy to fix. Signed-off-by: Evan Hanson commit 379a019327bdb309fe1fe6ba62d00e208018d203 Author: Peter Bex Date: Fri Nov 20 15:54:39 2015 +0100 C_i_char_*p are now truly safe. The original definitions are retained under C_u_i_char_*p and used in unsafe mode and when the argument types are known to be characters. Signed-off-by: Evan Hanson commit eb15ee6b6cc6a417fe4eea08edbb86d3ccf52115 Author: Peter Bex Date: Fri Nov 20 18:50:54 2015 +0100 Fix equal? comparison of closures. Even though you're not supposed to compare closures (the spec says it's undefined), CHICKEN supports this to a degree. Two closures are compared in such a way that the slots must be identical. In other words, the function address and all the variables that are closed over are eq? to one another on both sides. The current implementation had an off-by-one which caused it to omit the comparison of the last slot, which holds either the last argument or the lambda-info in case we've compiled with lambda info. This caused the equal? procedure to behave differently depending on whether the code was compiled with the -no-lambda-info option or without it. Thanks to Mario Goulart for finding this in ticket #1041. Signed-off-by: Mario Domenech Goulart commit 938b33f44d0bc06131e215fd6a70712501b1af53 Author: Peter Bex Date: Thu Nov 19 16:51:25 2015 +0100 Make ##sys#with-print-limit a bit more consistent This fixes #951, for the most part. Signed-off-by: Evan Hanson commit 3d22782b245a179d42c75ad8273f7f726c231fd5 Author: Evan Hanson Date: Fri Jan 1 17:17:11 2016 +1300 Remove import libraries from tracking list even when "-J" is used commit 7cdf0eb7dfea14998615c64e91a46c40ca1a86b3 Author: Peter Bex Date: Thu Nov 19 15:55:55 2015 +0100 Error out when emitting import libraries for nonexistant modules This fixes #1188. Signed-off-by: Evan Hanson commit c9fa040bdd3687379477d1e34d8b4c34e35eef35 Author: Peter Bex Date: Sun Dec 20 19:45:13 2015 +0100 Fix UWORD_COUNT_FORMAT_STRING on 64bit platforms. It should be "unsigned long", not just "unsigned integer". This allows us to remove some questionable casts. heap{space[12]}_size are also changed from size_t to C_uword because all the intermediate calculations for them are done through C_uwords. Besides, C_maximal_heap_size is a C_uword so it doesn't need to be size_t because the value of heap_size can never be bigger than C_maximal_heap_size. This also helps with printf for heap_size, because the "z" modifier seems not as widely supported as %lu. Signed-off-by: Evan Hanson commit 0710fa98e976d7333b3448c7a35f7dfcd43b674a Author: Evan Hanson Date: Tue Dec 29 08:38:49 2015 +1300 Don't warn about unused hidden variables Fixes #1237. Signed-off-by: Peter Bex commit 1382439b5c952f46c2eb4cfa5c5a46484112c8c8 Author: Evan Hanson Date: Mon Dec 21 12:18:48 2015 +1300 Use pair as loop result handle in compiler-syntax for `map` This allows the expansion to blindly dereference the second slot of the value accumulated by the loop, avoiding the need for a conditional that detects the first iteration and updates the loop's result box and removing the continuation resulting from that conditional. Because the map-loop is then free of any CPS calls, it compiles to a label and goto. Signed-off-by: Peter Bex commit 6e034642ae764f4de63c5283810cd94149ad10f9 Author: Peter Bex Date: Thu Dec 17 21:59:11 2015 +0100 Reduce difference with upstream irregex. Instead of using a custom "%irregex-error", which is redefined to just "error" in a compiler macro, we simply use "error" directly. Upstream also does this, which means the diff between upstream's irregex.scm and our irregex-core.scm is smaller, which makes maintenance less of a hassle. Signed-off-by: Evan Hanson commit a2473d9471a5a42abc1cf8df97881139fa0d2a22 Author: Peter Bex Date: Thu Dec 17 21:44:14 2015 +0100 Update irregex to upstream version 0.9.4 This fixes a pathological performance problem with {n,m} patterns. Signed-off-by: Evan Hanson commit 532549d598285e326c02b8542604db23e4f161cc Author: Peter Bex Date: Wed Nov 18 19:26:05 2015 +0100 Fix a few incorrect type declarations These were found by simply compiling with DEBUGBUILD after rebuilding CHICKEN with all identifiers in types.db marked with "declared-type" in the scrutinizer. Signed-off-by: Evan Hanson commit 6b33edffd9ecac963466afda388a7c49ffba0108 Author: Peter Bex Date: Wed Nov 18 19:14:16 2015 +0100 Avoid CPS call in read-char to read-char/port This should improve performance somewhat for those cases where the procedure is called indirectly, or with zero arguments. This fixes the remaining part of #1219. Signed-off-by: Evan Hanson commit 5cdcbb36c02010e929a0a96594eb0dfa20c6a09a Author: Peter Bex Date: Sat Nov 28 18:02:44 2015 +0100 Attempt to detect server errors and translate them to an exception. Fixes #1110, albeit not very cleanly. A proper fix would involve specifying a more rigorous protocol, but that's hard to do while being backward-compatible. Henrietta should return only s-expressions, but there are situations where it won't. It's also impossible to detect when we're talking to a non-Henrietta web server. Signed-off-by: Christian Kellermann commit eea44fc943630ba0b0a0072cdacdc854963b83be Author: Christian Kellermann Date: Tue Dec 8 12:35:41 2015 +0100 Fix documentation for procedures using ##sys-stat The last commit forgot to mention some procedures that now also work for port objects. Clarify the ones that work in the NEWS file. commit 17d2f2169f2f9c9d553925fd435757bbd4d83192 Author: LemonBoy Date: Mon Dec 7 22:10:14 2015 +0100 Update the documentation. Signed-off-by: Christian Kellermann commit c0adebca86caa8e6c91b5d425bfb7d8f8c627e12 Author: LemonBoy Date: Mon Dec 7 21:50:56 2015 +0100 Make ##sys#stat work with ports. Signed-off-by: Christian Kellermann commit c3dfc51e1e3c83a6f70fa9682a6d3e7833d9da79 Author: Peter Bex Date: Sat Dec 5 14:43:01 2015 +0100 Fix "slashify" C string escaping mechanism. If you have backslashes in procedure names, they would incorrectly be converted to slashes in the call trace. The "slashify" procedure is only used in one place, and only for injecting strings to C, which means it's easy to fix. Signed-off-by: Evan Hanson commit 274e7afa599adc501ca84f5e8e44d45cbf90c5c7 Author: Peter Bex Date: Fri Nov 20 15:46:48 2015 +0100 C_i_char_*p are now truly safe. The original definitions are retained under C_u_i_char_*p and used in unsafe mode and when the argument types are known to be characters. Signed-off-by: Evan Hanson commit 3545d5e88c34e218f88f1e4a52cf267235c7ef3b Author: Peter Bex Date: Fri Nov 20 18:50:54 2015 +0100 Fix equal? comparison of closures. Even though you're not supposed to compare closures (the spec says it's undefined), CHICKEN supports this to a degree. Two closures are compared in such a way that the slots must be identical. In other words, the function address and all the variables that are closed over are eq? to one another on both sides. The current implementation had an off-by-one which caused it to omit the comparison of the last slot, which holds either the last argument or the lambda-info in case we've compiled with lambda info. This caused the equal? procedure to behave differently depending on whether the code was compiled with the -no-lambda-info option or without it. Thanks to Mario Goulart for finding this in ticket #1041. Signed-off-by: Mario Domenech Goulart commit e0747bad8fcddd9ed32558a7d514c02c5e5a3d3c Author: Jörg F. Wittenberger Date: Sat Nov 7 18:54:48 2015 +0100 In thread-join! handle joining a thread in state `sleeping` with timeout. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 2152d20b533bbfba79fb2597d752b9e5b5fc2409 Author: Mario Domenech Goulart Date: Thu Nov 12 21:14:28 2015 -0200 manual/Extensions: standard-extension: use VERSION instead of the arbitrary 0.1 in the example commit 48f692bcfde9b17fda1eb4711819b2c409a3b003 Author: Mario Domenech Goulart Date: Wed Nov 11 20:50:34 2015 -0200 manual/Unit files: normalize-pathname doesn't perform ~ and $ expansions anymore commit 59200008876d3fc6cda1dfe0276b5ef1a59de65c Author: felix Date: Fri Nov 6 10:13:16 2015 +0100 On UNIX-based systems, only accept "/" as path-separator. Windows still allows "/" and "\" (as does the Windows file-APIs) Signed-off-by: Mario Domenech Goulart commit 4e186092a846e72f1c3361794193e40898e33555 Author: Mario Domenech Goulart Date: Thu Nov 12 21:14:28 2015 -0200 manual/Extensions: standard-extension: use VERSION instead of the arbitrary 0.1 in the example commit f36c19ccf9f54304c2f3ffe6669d444b7a04fb48 Author: Mario Domenech Goulart Date: Wed Nov 11 20:50:34 2015 -0200 manual/Unit files: normalize-pathname doesn't perform ~ and $ expansions anymore commit edd4926bb4f4c97760a0e03b0d0e8210398fe967 Author: felix Date: Wed Nov 11 14:12:57 2015 +0100 On UNIX-based systems, only accept "/" as path-separator. Windows still allows "/" and "\" (as does the Windows file-APIs) Signed-off-by: Mario Domenech Goulart commit a9dd2bf7af0b8539f551b0eaecc5ae97a42b0189 Merge: fe7e02b3 31e69d23 Author: felix Date: Sun Nov 8 16:36:08 2015 +0100 Merge remote-tracking branch 'origin/chicken-5' into chicken-5 commit fe7e02b36e312505cf15c7e486fbc9a95aa55fb5 Author: felix Date: Sun Nov 8 16:14:54 2015 +0100 Disable getc_unlocked on MinGW (by Evhan Hanson) The platform doesn't provide this function. Thanks to Matt Gushee for raising this. Signed-off-by: felix commit 2068b7ba7179db9d660993727ad12bff1177b71f Author: felix Date: Sun Nov 8 16:14:54 2015 +0100 Disable getc_unlocked on MinGW (by Evhan Hanson) The platform doesn't provide this function. Thanks to Matt Gushee for raising this. Signed-off-by: felix commit 31e69d239113b92ced5cd94c74c4f5a9bd70ea2d Author: Evan Hanson Date: Tue Nov 3 23:11:19 2015 +1300 Support library lists when switching modules with csi's ",m" command commit afc8fb60855ff65968ffc35a0194a6f29b25c991 Author: Evan Hanson Date: Tue Nov 3 23:09:40 2015 +1300 Check list? in library-id for nicer error messages commit 0c77daa4adbea67ecd14c26db1073e47b6bd9ef7 Author: Evan Hanson Date: Wed Oct 14 11:15:27 2015 +1300 Update manual/Modules to mention new library list syntax commit cda6dc6b422c8a1b33a61103b55295e123087a9a Author: Evan Hanson Date: Tue Oct 13 21:29:48 2015 +1300 Add missing srfi-1.scm dependency to internal unit's make rule commit 15c5f8fcebc21c2629cc5cde47435a1edd2eec8a Author: Evan Hanson Date: Tue Oct 13 20:22:10 2015 +1300 Un-##sys# toplevel definitions not used outside eval.scm Moves some module-local procedures out of the global environment. Names-only commit, no logic is changed. commit 72eb12ddd0ef987d2c64afabc721f5abf6c2d640 Author: Evan Hanson Date: Mon Oct 12 19:53:35 2015 +1300 Un-##sys# and hide toplevel definitions not used outside modules.scm Also removes the totally-unused `##sys#register-interface` procedure and hides `check-for-redefs`, which was previously leaked into the toplevel. commit 9a42090d173ab29fa57de23af835a54c1aa92f6c Author: Evan Hanson Date: Sun Oct 11 17:56:24 2015 +1300 Some refactoring to simplify import handling Introduces a mapping from modules to unit names in eval.scm, for loading code when a core module is required (with e.g. `use`). Cleans up library list handling in eval.scm and modules.scm. Standardizes syntax stripping behaviour across all of the four complex import types ("prefix", "rename" et al.). commit d2d195ac1757b86caaf503535da97b1afc604b85 Author: Evan Hanson Date: Fri Oct 9 20:36:33 2015 +1300 Add support for library lists in functors and functor arguments Also removes the syntax for creating module aliases to avoid ambiguity between that and instantiation of a functor with a list-style name. commit f2523f3baffc5c0076c4e6094ce3840e0bbd0d6e Author: Evan Hanson Date: Fri Oct 9 11:48:50 2015 +1300 Move library list helpers to new "internal" unit commit 11fc480e512bc098a46ddd09a7930d62cfd7b96b Author: Evan Hanson Date: Thu Oct 8 18:01:46 2015 +1300 Restructure import expansion for nicer errors on missing libraries This gives a nicer error when a module isn't found, reporting that e.g. module "a.b.c" couldn't be found, rather than just "b". commit fc05e0403e7895dd57919eb4638fe6cb5e736e13 Author: Evan Hanson Date: Thu Oct 8 18:01:35 2015 +1300 Add support for library lists in module definitions commit 3a4c31fa51d83469c0791e65f157a9f720fe4d03 Author: Evan Hanson Date: Thu Oct 1 12:25:50 2015 +1300 Move library list-related utilities into new chicken.core module commit 0b3a73dcf90dff2f3fd50412d6bef5a9945d648c Author: Evan Hanson Date: Fri Aug 14 21:59:54 2015 +1200 Process library lists when expanding imports Moves srfi-id and library-id into the "sys" namespace, so they can be used in both eval.scm and modules.scm. Once there's a private runtime module, these should go there. commit 6e02eff32288cdd47a5d998751ac9534f655f27a Author: Evan Hanson Date: Sun Jul 12 19:34:49 2015 +1200 Process library lists when ##sys#doing-the-right-thing commit 2d0040f23facb0eeca5dc3bfc12c143b0c600557 Author: Evan Hanson Date: Sun Nov 1 11:12:41 2015 +1300 Rename "exact" param to "all" in over-all-instantiations "all" is a better description of what the flag does now that there's no "exact" mode for type matching (see 14f6f55). commit 3b01f72731b0a4f54e27d3357f906ced88b8e619 Merge: e58f6e22 6c93e9c9 Author: Peter Bex Date: Sat Oct 31 15:56:51 2015 +0100 Merge remote-tracking branch 'origin/chicken-5-named-module-option' into chicken-5 commit 6c93e9c95648d6585e3c823df82823fa56608735 Author: Evan Hanson Date: Sat Oct 31 14:35:10 2015 +1300 Remove the somewhat silly "-main-module" option Users can just type "-module main" instead. commit e58f6e2293be2a6e948b53496e21b250adf86e7e Author: Peter Bex Date: Fri Oct 30 21:30:08 2015 +0100 Update NEWS with fix for #1214 commit 9b3818991f838c0b3136edee2d654d0ebe05a296 Author: Peter Bex Date: Fri Oct 30 21:30:08 2015 +0100 Update NEWS with fix for #1214 commit 14f6f55e31835fc09c6fb07de56a5dc56821a5c8 Author: Evan Hanson Date: Wed Sep 30 09:01:31 2015 +1300 Standardize specialization and argument type matching Removes the concept of "exact" matching, making the behaviour of specializations and `compiler-typecase` more like that of normal flow-analysis. This makes it possible to specialize on implicit union types such as `number` where previously such specializations would never be triggered (because, for example, `number` would never match `fixnum` or `flonum` "exactly"). Ensures that user-defined specializations take precedence over built-in ones, and that specializations are prioritized by the order in which they're defined. Refactors `match-types` slightly in order to remove some redundant code and standardize idioms, and adds a handful of scrutinizer tests. Fixes #1214. Signed-off-by: Peter Bex commit c467b406f8a1a96269251679198e3df183bbc60d Author: Evan Hanson Date: Wed Sep 30 09:01:31 2015 +1300 Standardize specialization and argument type matching Removes the concept of "exact" matching, making the behaviour of specializations and `compiler-typecase` more like that of normal flow-analysis. This makes it possible to specialize on implicit union types such as `number` where previously such specializations would never be triggered (because, for example, `number` would never match `fixnum` or `flonum` "exactly"). Ensures that user-defined specializations take precedence over built-in ones, and that specializations are prioritized by the order in which they're defined. Refactors `match-types` slightly in order to remove some redundant code and standardize idioms, and adds a handful of scrutinizer tests. Fixes #1214. Signed-off-by: Peter Bex commit 393285a53dd00b18f2cf99bfef0d4a5cb8243a1e Author: Peter Bex Date: Sat Oct 24 21:17:07 2015 +0200 Copy thread "state vector" to a fresh argvector before invoking the trampoline function. Upon resumption of a thread from a "state vector" (rather than a closure/continuation), the trampoline function was passed a pointer right into the state vector, which doubled as an argument vector. Now that argvectors may be re-used, their slots can be trashed any time in the call history, depending on the exact situation. These argvector slots will eventually contain temporary data which becomes invalid over time. When the original state vector is then copied during garbage collection, the mutated slot is also copied. When the Cheney algorithm traverses over this slot, it will break down because the data it points to is now invalid. This hopefully fixes the "random crashes" we've been seeing on Salmonella the last few weeks. Signed-off-by: felix commit 40fe2c9337d0f45778fd893b7129c3b6932d27d9 Author: Peter Bex Date: Sat Oct 24 21:17:07 2015 +0200 Copy thread "state vector" to a fresh argvector before invoking the trampoline function. Upon resumption of a thread from a "state vector" (rather than a closure/continuation), the trampoline function was passed a pointer right into the state vector, which doubled as an argument vector. Now that argvectors may be re-used, their slots can be trashed any time in the call history, depending on the exact situation. These argvector slots will eventually contain temporary data which becomes invalid over time. When the original state vector is then copied during garbage collection, the mutated slot is also copied. When the Cheney algorithm traverses over this slot, it will break down because the data it points to is now invalid. This hopefully fixes the "random crashes" we've been seeing on Salmonella the last few weeks. Signed-off-by: felix commit 00593363b7610b00a0f887a40029c64c77acec18 Author: Evan Hanson Date: Tue Apr 7 08:23:43 2015 +1200 Make the "-module" option take the module name as an argument Allows specifying the module name at the command line, aliases this option as "-m", and adds a "-main-module" option (aliased as "-M") that provides the old behaviour (a default module name of "main"). Also removes the long-since-deprecated "-scrutinize" option and fixes a missing import of c.c.support in chicken.scm (for `quit-compiling`, and possibly other procedures). commit fb28e74992c84b0149832dd8409fb5844ef14703 Author: Peter Bex Date: Sat Oct 17 16:47:09 2015 +0200 Make literal-size calculation for symbols more precise. Symbol literals take up a symbol (size 4) and a bucket (size 3), for a total of 7, not 10. Signed-off-by: Evan Hanson commit fc545f526db842f095c076ea89e592cd42e92fbe Author: Peter Bex Date: Sat Oct 17 16:45:26 2015 +0200 Make memory demand for rest-args list more precise. When allocating a list for holding rest args, instead of demanding memory corresponding to the total argument count, we should only demand memory for the rest arguments. This now matches the allocation that corresponds to the demand, just before calling C_build_rest(). Signed-off-by: Evan Hanson commit 9455d4e4985769032a13294360b0498f118cee5d Author: Peter Bex Date: Sat Oct 17 16:44:25 2015 +0200 Try to detect corrupted data before performing GC_REALLOC. If an "impossible" object in the stack or heap: one that has a size that's larger than the memory area that contains it, we know we have a data corruption on our hands. Panic immediately instead of going in for the reallocating GC. This prevents the memory state from being mutated any more, which may help in debugging. Signed-off-by: Evan Hanson commit af3bf5b59de956e3c114338f7ec86a08adff577c Author: Peter Bex Date: Sat Oct 17 16:44:04 2015 +0200 Fix heap allocation size calculations in toplevel. The toplevel is responsible for decoding literals and storing them in the heap. When the heap is not big enough to store one toplevel's literals, the toplevel will call C_rereclaim2 with the desired extra size for the heap. C_rereclaim2 will calculate the size by adding it to the current heap size, but because the heap is split in two parts, it needs to multiply the demanded size with two. This change also adds the current stack size to this, because when the GC is performed, it will also copy what's in the nursery to the heap. So worst case, the heap size needs to be (current heap size + demanded memory + stack size). We add regression tests for this as well. This fixes #1221. Signed-off-by: Evan Hanson commit f8ff9d7093c67fda1f30951a66c5091108c2dd99 Author: Peter Bex Date: Sat Oct 17 15:50:06 2015 +0200 Make literal-size calculation for symbols more precise. Symbol literals take up a symbol (size 4) and a bucket (size 3), for a total of 7, not 10. Signed-off-by: Evan Hanson commit 6d4a6ca9500281afc967189d45f878ec122832d3 Author: Peter Bex Date: Sat Oct 17 15:47:35 2015 +0200 Make memory demand for rest-args list more precise. When allocating a list for holding rest args, instead of demanding memory corresponding to the total argument count, we should only demand memory for the rest arguments. This now matches the allocation that corresponds to the demand, just before calling C_build_rest(). Signed-off-by: Evan Hanson commit 9d36c362e18afd2b136f276cb7d2070d838848b6 Author: Peter Bex Date: Sat Oct 17 13:19:36 2015 +0200 Try to detect corrupted data before performing GC_REALLOC. If an "impossible" object in the stack or heap: one that has a size that's larger than the memory area that contains it, we know we have a data corruption on our hands. Panic immediately instead of going in for the reallocating GC. This prevents the memory state from being mutated any more, which may help in debugging. Signed-off-by: Evan Hanson commit b7510458def3b95ab4656a03640e39b6247b0672 Author: Peter Bex Date: Sat Oct 17 13:10:33 2015 +0200 Fix heap allocation size calculations in toplevel. The toplevel is responsible for decoding literals and storing them in the heap. When the heap is not big enough to store one toplevel's literals, the toplevel will call C_rereclaim2 with the desired extra size for the heap. C_rereclaim2 will calculate the size by adding it to the current heap size, but because the heap is split in two parts, it needs to multiply the demanded size with two. This change also adds the current stack size to this, because when the GC is performed, it will also copy what's in the nursery to the heap. So worst case, the heap size needs to be (current heap size + demanded memory + stack size). We add regression tests for this as well. This fixes #1221. Signed-off-by: Evan Hanson commit d420a814d65ee45c73db2fb1721ad0ac840f5c54 Author: Peter Bex Date: Sat Oct 17 16:20:54 2015 +0200 Close file in test, otherwise we can't delete it in Windows commit 5d2ac6203df36c927923a9b279f8449ea213f2a9 Author: Christian Kellermann Date: Tue Oct 6 20:47:45 2015 +0200 Remove bogus and in cond case This cleans up the change introduced by "Avoid adding runtime prefix on destination prefix". commit 75e0ccef58ad477c7d7433a8dacdac3e97a66f80 Author: Christian Kellermann Date: Tue Oct 6 20:47:45 2015 +0200 Remove bogus and in cond case This cleans up the change introduced by "Avoid adding runtime prefix on destination prefix". commit a4c4ca25f25cedea1ad199caf13647e9b222c19b Author: Evan Hanson Date: Sun Oct 4 20:25:56 2015 +1300 Loop to known list length when copying args into av during C_apply* This avoids some unnecessary bit-fiddling, since we already know the length of the list to copy. commit 250fdc2e7aeef7461309fa86873f362e6edf29ce Author: Evan Hanson Date: Sun Oct 4 20:09:19 2015 +1300 Fix (harmless) off-by-one in C_apply_values commit e358c8861ef943c26771ae0a8137e6fc02b14a77 Author: Peter Bex Date: Thu Oct 1 17:03:21 2015 +0200 Simplify C_make_structure by using standard save_and_reclaim This gets rid of the extra make_structure_2 function which doesn't really add anything except make the code less clear & more confusing. Signed-off-by: Evan Hanson commit 1ee1ce4be4d7d5ea2bbc4c381e7a88ac81cac451 Author: Evan Hanson Date: Sun Oct 4 20:25:56 2015 +1300 Loop to known list length when copying args into av during C_apply* This avoids some unnecessary bit-fiddling, since we already know the length of the list to copy. commit 705b28563f317d27ba09776b37f68233bac9b4a1 Author: Evan Hanson Date: Sun Oct 4 20:09:19 2015 +1300 Fix (harmless) off-by-one in C_apply_values commit 1d60b7d9c24b9b788d06ceafb7899080f661dbb7 Author: Peter Bex Date: Thu Oct 1 16:18:16 2015 +0200 Simplify C_make_structure by using standard save_and_reclaim This gets rid of the extra make_structure_2 function which doesn't really add anything except make the code less clear & more confusing. Signed-off-by: Evan Hanson commit 9eed2742d4adcec1e60fb7cdfaa1fd621b645965 Author: Peter Bex Date: Thu Oct 1 15:57:56 2015 +0200 Avoid allocating argvectors on the temporary stack. The temporary stack should be strictly reserved for setting aside live data just before performing a GC & longjump (which resets the stack). There are several problems with (ab)using the temporary stack in non-GC situations, which surfaced only after the re-use of argvectors was made more prevalent: 1) Anything allocated on the temp stack will be kept around during a GC, which may cause objects to unnecessarily stick around for another round of GC. 2) When the longjmp is performed, if the argvector is allocated in the temporary stack and then the temporary_stack pointer is reset, we may scribble over the argvector whenever something is put on the temp stack. With argvector re-use, this will more commonly trigger errors. Now the restart trampoline will move the saved data from the temporary stack to the C stack. This should probably slightly more cause garbage collection events, but it will also make it easier to eventually make a dynamically allocated temporary stack (see also #1098). Signed-off-by: Evan Hanson commit 491e914ebf0195958327c743fc638532644ac76c Author: Peter Bex Date: Thu Oct 1 15:57:56 2015 +0200 Avoid allocating argvectors on the temporary stack. The temporary stack should be strictly reserved for setting aside live data just before performing a GC & longjump (which resets the stack). There are several problems with (ab)using the temporary stack in non-GC situations, which surfaced only after the re-use of argvectors was made more prevalent: 1) Anything allocated on the temp stack will be kept around during a GC, which may cause objects to unnecessarily stick around for another round of GC. 2) When the longjmp is performed, if the argvector is allocated in the temporary stack and then the temporary_stack pointer is reset, we may scribble over the argvector whenever something is put on the temp stack. With argvector re-use, this will more commonly trigger errors. Now the restart trampoline will move the saved data from the temporary stack to the C stack. This should probably slightly more cause garbage collection events, but it will also make it easier to eventually make a dynamically allocated temporary stack (see also #1098). Signed-off-by: Evan Hanson commit 74fb96070b40cc5284818f30471ba74581a3115e Author: Peter Bex Date: Mon Sep 28 17:01:10 2015 +0200 Always call fdset_add for every entry in ##sys#fd-list, to ensure positions match. In some situations (forced interrupt handler onto primordial thread?) fd-list may have items that aren't waiting for an fd to become ready for read/write. commit fe1448856f6e6a0ef830391dcc3683864faaa089 Author: Peter Bex Date: Mon Sep 28 17:01:10 2015 +0200 Always call fdset_add for every entry in ##sys#fd-list, to ensure positions match. In some situations (forced interrupt handler onto primordial thread?) fd-list may have items that aren't waiting for an fd to become ready for read/write. commit ad0bc663def0eb0328e6813f8c1bea3f70d11566 Author: Christian Kellermann Date: Sun Sep 27 12:16:59 2015 +0200 Avoid adding runtime prefix on destination prefix When using the prefix option (-p) on chicken-install the runtime prefix and destination prefix are set to the same value. Without this patch both get added to the file paths in the setup-info files. This fixes bug #1220. (Thanks to ryslash for reporting this issue) commit d90426ad6b6402c86cddb1bd84db72014869d07b Author: Christian Kellermann Date: Sun Sep 27 12:16:59 2015 +0200 Avoid adding runtime prefix on destination prefix When using the prefix option (-p) on chicken-install the runtime prefix and destination prefix are set to the same value. Without this patch both get added to the file paths in the setup-info files. This fixes bug #1220. (Thanks to ryslash for reporting this issue) commit 7d5a3342d3774ab972dfaf55b23f0d429708a24a Author: Evan Hanson Date: Sun Sep 27 01:37:02 2015 +0200 Minor tweak to import warnings to avoid extras dependency This changes the import warnings added by dab1eb6 use `string-append` rather than `sprintf`, to avoid making modules.scm depend on extras. commit 03d8d608f637471c0ae5dabbbe7543981198869e Author: Evan Hanson Date: Sat Sep 26 15:22:25 2015 +0200 Warn when users try to import nonexistent identifiers from modules Adds a warning when a nonexistent identifier is specified in an import form using (only ...), (rename ...) or (except ...). Thanks to Kristian Lein-Mathisen for helping with the patch. commit dab1eb671bbe208dbe0bbbaba9f29a247573ebe3 Author: Evan Hanson Date: Sat Sep 26 15:22:25 2015 +0200 Warn when users try to import nonexistent identifiers from modules Adds a warning when a nonexistent identifier is specified in an import form using (only ...), (rename ...) or (except ...). Thanks to Kristian Lein-Mathisen for helping with the patch. commit 6fac44ad48df0441dc8f67bbeec266514bc1b8f0 Author: Evan Hanson Date: Sat Sep 26 08:37:41 2015 +0200 Initialize saved-environments list for compiled modules Also restores the test for using `module-environment` with a non-primitive module. commit 8c683403a318abc718efe9b5fc05aae98a18dac6 Author: Evan Hanson Date: Sat Sep 26 08:37:41 2015 +0200 Initialize saved-environments list for compiled modules commit d46bf47a9bb07d4c85aa7f4ab385e09ce82f8a9b Author: Peter Bex Date: Fri Sep 25 23:34:25 2015 +0200 Fix misleading comment for C_u_fixnum_modulo commit fc6045225f052f04960799db8712a31b646bde02 Author: Evan Hanson Date: Fri Sep 25 20:29:09 2015 +0200 Avoid adding duplicate file descriptors when populating C_fdset_set Previously, when populating the C_fdset_set with pollfd entries before unblocking threads for i/o, an entry was added for each thread waiting on a given file descriptor, meaning multiple entries might be created for the same fd. Later code assumes that the C_fdset_set is a true set of fds, causing an assertion to fail. This patch changes `create-fdset` to ensure that each file descriptor appears once in the C_fdset_set, with the union of its input and output flags. commit 4e32262036806b2fc51964e518135fcd3de3a79b Author: Evan Hanson Date: Fri Sep 25 20:29:09 2015 +0200 Avoid adding duplicate file descriptors when populating C_fdset_set Previously, when populating the C_fdset_set with pollfd entries before unblocking threads for i/o, an entry was added for each thread waiting on a given file descriptor, meaning multiple entries might be created for the same fd. Later code assumes that the C_fdset_set is a true set of fds, causing an assertion to fail. This patch changes `create-fdset` to ensure that each file descriptor appears once in the C_fdset_set, with the union of its input and output flags. commit af59953b2253c61b23a157bbacaab8a0702faa26 Author: Peter Bex Date: Fri Sep 25 18:20:13 2015 +0200 Restore unsafe fixnum modulo operator C macro. This is still used in the c-platform.scm unsafe rewrites for fxmod. Found by Alexander Shendi. commit a33fc6209f4f6f1c2e0baaf5092837e0a549adb7 Author: Peter Bex Date: Sun Aug 30 20:11:45 2015 +0200 Dynamically determine if we can re-use argvectors. This applies to CPS context procedures which call other procedures in CPS context only. This replaces a few memcpy() calls with memmove() because in a few extreme situations, argvectors can remain in the temporary stack indefinitely (which is a good thing). Signed-off-by: Evan Hanson commit d04f591d023b4f091e82d530b791929b61e9bea5 Author: Peter Bex Date: Sun Aug 30 20:11:45 2015 +0200 Dynamically determine if we can re-use argvectors. This applies to CPS context procedures which call other procedures in CPS context only. This replaces a few memcpy() calls with memmove() because in a few extreme situations, argvectors can remain in the temporary stack indefinitely (which is a good thing). Signed-off-by: Evan Hanson commit b1da1ba3898a703fbe6abad7132e9b2d208b4413 Author: Peter Bex Date: Mon Sep 21 15:27:52 2015 +0200 Fix URLencoding of user manual link in index.html. The non-urlencoded link worked in most browsers, but stricter ones like "eww" in emacs didn't accept the link. Fixes #1203 (thanks to Nishant Varma) commit 704ab5568b5b73c538ce9c061de9f6d4726038bf Author: Peter Bex Date: Mon Sep 21 15:27:52 2015 +0200 Fix URLencoding of user manual link in index.html. The non-urlencoded link worked in most browsers, but stricter ones like "eww" in emacs didn't accept the link. Fixes #1203 (thanks to Nishant Varma) commit 9d8c529f80dc6523cf703ca9a4a63f80a93cf4b0 Author: Peter Bex Date: Sat Sep 19 17:40:34 2015 +0200 Add make-[su]64vector to SRFI-4 export list. Thanks to "please_help" for pointing this out on IRC. commit 979c6517c118cc2c4e1d048b36d5ec514641057e Author: Peter Bex Date: Sun Sep 13 17:06:27 2015 +0200 Ensure scheduler calls C_msleep() with an integral value. This fixes the tests of the SRFI-18 egg, which invoke ##sys#thread-block-for-timeout! with flonum values. Now, it is also possible to use exact fractions as timeout value! Signed-off-by: Mario Domenech Goulart commit 0efdd46ba4085af6ea2cd65314c2dc33b2e999f3 Author: Peter Bex Date: Sun Sep 13 12:09:54 2015 +0200 Make base allocation size zero for C_a_i_listN rewrites Previously, C_a_i_listN rewrites specified one word as the base size of the resulting `##core#inline_allocate` form. However, because the terminating C_SCHEME_END_OF_LIST isn't allocated, that base word needn't be included in the calculated allocation size. Signed-off-by: Peter Bex commit 8e4dee9e4f67743ef7dfde568452b84eccd69865 Author: Evan Hanson Date: Sun Sep 13 14:39:16 2015 +1200 Make base allocation size zero for C_a_i_listN rewrites Previously, C_a_i_listN rewrites specified one word as the base size of the resulting `##core#inline_allocate` form. However, because the terminating C_SCHEME_END_OF_LIST isn't allocated, that base word needn't be included in the calculated allocation size. Signed-off-by: Peter Bex commit d1281cb1021cc95958994cc5800a4da4ab0cdadf Author: Peter Bex Date: Fri Sep 11 20:08:14 2015 +0200 Unbreak chicken-install's -init option. It tried to install some no-longer existing import files, and a few new files were missing from the list. Signed-off-by: Mario Domenech Goulart commit 3a15b29109f5a7269f68189261d4e68664b8b63e Author: Peter Bex Date: Thu Sep 10 20:45:33 2015 +0200 Fix unsafe specializations in types.db This patch fixes some specializations in types.db which could lead to unsafe code. In all cases, the specialized versions did not only elide runtime type checks but also range checks for their arguments. For example, `string-ref' could have been specialized so that it would allow for an index pointing past the end of the string to be passed. Fixes #1216. Signed-off-by: Peter Bex Conflicts: types.db commit 55e9d1e1768865c26409d483269bf03c8c351da2 Author: Moritz Heidkamp Date: Sat Sep 5 00:24:32 2015 +0200 Fix unsafe specializations in types.db This patch fixes some specializations in types.db which could lead to unsafe code. In all cases, the specialized versions did not only elide runtime type checks but also range checks for their arguments. For example, `string-ref' could have been specialized so that it would allow for an index pointing past the end of the string to be passed. Fixes #1216. Signed-off-by: Peter Bex commit 30bb83a717842fd8b63662bddae855904434f1ac Author: Peter Bex Date: Tue Sep 1 20:31:13 2015 +0200 Add support for the Linux X32 ABI. This is simply a check on ARCH to add a flag to the C compiler and the linker. Thanks to Sven Hartrumpf for pointing out CHICKEN now supports this since the argvector changes, and for testing. Signed-off-by: Evan Hanson commit 68d0c2d14b5265d85d0e2c9ee1b9e34645caafc9 Author: Peter Bex Date: Tue Sep 1 20:25:34 2015 +0200 Add support for the Linux X32 ABI. This is simply a check on ARCH to add a flag to the C compiler and the linker. Thanks to Sven Hartrumpf for pointing out CHICKEN now supports this since the argvector changes, and for testing. Signed-off-by: Evan Hanson commit e96c2d20fba5f41e6ec2948a047dd855389c9485 Author: Peter Bex Date: Sun Sep 6 21:09:42 2015 +0200 Don't use exact comparison for inexact result commit 33fcdb3a5eb3e25b25a28059c5c86c742179ca25 Author: Peter Bex Date: Mon Aug 24 21:45:39 2015 +0200 Ensure "try-compile" from setup-api cleans up tempfiles. It now creates the file with a controlled name, which can then be cleaned up. Fixes #1213 Signed-off-by: Moritz Heidkamp commit 85988273080fcd61ccfe608173b84efb15858470 Author: Peter Bex Date: Mon Aug 24 21:45:39 2015 +0200 Ensure "try-compile" from setup-api cleans up tempfiles. It now creates the file with a controlled name, which can then be cleaned up. Fixes #1213 Signed-off-by: Moritz Heidkamp commit 259fa4bfedcbbd8a84639bf538f44bfb7f763603 Author: Peter Bex Date: Sat Sep 5 17:17:55 2015 +0200 Replace two more memcpy calls with memmove. (apply apply ...) may result in memcpy of temporary stack into temporary stack. This is triggered by syntax-tests.scm on OpenBSD when compiled with clang (thanks to Alex Shendi for reporting this) Signed-off-by: felix commit 0260c17679adeafcccc55c57c701eff97a1e8189 Author: Peter Bex Date: Sat Sep 5 17:17:55 2015 +0200 Replace two more memcpy calls with memmove. (apply apply ...) may result in memcpy of temporary stack into temporary stack. This is triggered by syntax-tests.scm on OpenBSD when compiled with clang (thanks to Alex Shendi for reporting this) Signed-off-by: felix commit 3011d62e52d1e9c65b77f47d280c454aa2b432c5 Author: Peter Bex Date: Sun Aug 30 13:18:34 2015 +0200 Remove generation of large C_procN signatures. Previously, chicken.h contained C_procN prototypes for C functions up to small-parameter-limit, which is 128. When a Scheme procedure would be defined that accepted more arguments than that, the compiler would "lazily" add a new prototype for the generated C function on-demand. Now, C_procN is not necessary anymore: every CPS procedure has two arguments; argcount and argvector. The C_procN definitions are unused, so we can omit their code generation. This also removes the unused "parameter-limit" global variable along with "small-parameter-limit". Conflicts: c-backend.scm c-platform.scm compiler-namespace.scm Signed-off-by: felix commit 2f7f0ec34d1083f11bff3a28bed9dd4de2c492d2 Author: Peter Bex Date: Sun Aug 30 17:48:48 2015 +0200 Fix off-by-one error in C_values use of memmove. It moves a block of memory one "to the left", so that the original values at positions 2..n are copied over to 1..n-1. That means it needs to copy n - 2 values, not n - 1 values. Signed-off-by: felix commit bd8610b67ef45018b5d282ec3c97ad9ff2d389dc Author: Peter Bex Date: Sun Aug 30 13:18:34 2015 +0200 Remove generation of large C_procN signatures. Previously, chicken.h contained C_procN prototypes for C functions up to small-parameter-limit, which is 128. When a Scheme procedure would be defined that accepted more arguments than that, the compiler would "lazily" add a new prototype for the generated C function on-demand. Now, C_procN is not necessary anymore: every CPS procedure has two arguments; argcount and argvector. The C_procN definitions are unused, so we can omit their code generation. This also removes the unused "parameter-limit" global variable along with "small-parameter-limit". Signed-off-by: felix commit f2fa0b11966e432886b86704808a063ad727329d Author: Peter Bex Date: Sun Aug 30 17:48:48 2015 +0200 Fix off-by-one error in C_values use of memmove. It moves a block of memory one "to the left", so that the original values at positions 2..n are copied over to 1..n-1. That means it needs to copy n - 2 values, not n - 1 values. Signed-off-by: felix commit 2344ce2a2a8ee409978208e15e5b0c4031e89a1d Author: Peter Bex Date: Sat Aug 29 18:44:26 2015 +0200 Fix "identify.sh" for release and snapshot builds. This is a bit of a hack: check whether the manual-html directory exists and assume it must be a distribution build, then exit to avoid a rebuild which requires a pre-existing chicken. Changeset 4e1f7272a3536dd93577c71f0a8bad16dab2a308 (for "allowing custom builds") caused this breakage. commit eb1e95e041f617a7076cd2dda74040cba0941ca0 Author: Peter Bex Date: Sat Aug 29 18:44:26 2015 +0200 Fix "identify.sh" for release and snapshot builds. This is a bit of a hack: check whether the manual-html directory exists and assume it must be a distribution build, then exit to avoid a rebuild which requires a pre-existing chicken. Changeset 5639ad58ce7d30a87970e561e782d13e088a1064 (for "allowing custom builds") caused this breakage. commit e33585619ff94c2acb0f33cea16df9dc1036cbaa Author: Peter Bex Date: Sat Aug 29 17:19:56 2015 +0200 Note in NEWS that C_values, C_do_apply and C_procN have changed. Point people in the right direction on how to fix code that relies on it. commit 6b5f96a7af788ab1652d09ffaa6eba719f91fea6 Author: Peter Bex Date: Sat Aug 29 17:19:56 2015 +0200 Note in NEWS that C_values, C_do_apply and C_procN have changed. Point people in the right direction on how to fix code that relies on it. commit 74a3401ec7dc9856c20d67cc9413eec70f8c8320 Author: Peter Bex Date: Sat Aug 29 16:28:46 2015 +0200 Remove notes about apply-hack in "Cross development" manual section. commit 605b353a2dce1ee27bad3d1f7abb64a02fb3b79b Author: Peter Bex Date: Sat Aug 29 16:21:09 2015 +0200 Update docs: returning multiple values from FFI. C_values has been changed with the argvector overhaul, so you need to allocate an argvector and pass that to C_values. commit 96ddb43ddc6c59ba046a101ebd4289e52687a736 Author: Peter Bex Date: Sat Aug 29 16:15:26 2015 +0200 Bump binary compatibility version to 8. This includes the manual's "Cross development" section and the file tree in README under "What gets installed". commit 39544a9987c7632716742a3f94b4db9cce2a99f9 Author: Peter Bex Date: Sat Aug 29 16:13:14 2015 +0200 Update NEWS with argvector changes Conflicts: NEWS commit fac7819052bb2aac2e4db873aaa6ad78220edff0 Author: Peter Bex Date: Sat Aug 29 16:56:51 2015 +0200 Update NEWS to list 4.10.0 instead of 4.9.1 commit 553bac084a7812f7062da09ab65e1e12771c6e06 Merge: 8b59cc6e 366a299a Author: Peter Bex Date: Sat Aug 29 16:54:59 2015 +0200 Merge branch 'chicken-5-argvector' into chicken-5 commit 2713ac842638697f00d084e0678252783df1bb06 Author: Peter Bex Date: Sat Aug 29 16:28:46 2015 +0200 Remove notes about apply-hack in "Cross development" manual section. commit 5452e795ab9b0418306f8dbd29afa03d5b9e3d0a Author: Peter Bex Date: Sat Aug 29 16:21:09 2015 +0200 Update docs: returning multiple values from FFI. C_values has been changed with the argvector overhaul, so you need to allocate an argvector and pass that to C_values. commit 73479ee6703e56b1cfd28f0140ddda5585b18f33 Author: Peter Bex Date: Sat Aug 29 16:15:26 2015 +0200 Bump binary compatibility version to 8. This includes the manual's "Cross development" section and the file tree in README under "What gets installed". commit 099c35c7aa2650de3fb8b41d3ff7b5f73328e906 Author: Peter Bex Date: Sat Aug 29 16:13:14 2015 +0200 Update NEWS with argvector changes commit 0c7f127fc4e2af237134d8a8ae35e5080d32952e Merge: c8d9cd2f 0e402033 Author: Peter Bex Date: Sat Aug 29 16:04:38 2015 +0200 Merge branch 'argvector' into master commit 8b59cc6eeddc5e97b507fcd3b8439914d85a1e37 Author: Peter Bex Date: Mon Aug 10 20:57:44 2015 +0200 Restore type definitions for pure R5RS versions of SRFI-1 and SRFI-13 extended procedures Signed-off-by: Evan Hanson commit 366a299a98061c9318de9bffc3834c490fb4ca1b Author: Peter Bex Date: Sat Aug 22 18:20:10 2015 +0200 Fix C_kontinue block to use do..while construct, thanks to Florian Zumbiehl commit 129df54c756506e86f97c4767de4a9032aa4e515 Author: Peter Bex Date: Sat Aug 22 18:20:04 2015 +0200 corrected prototype for C_toplevel in 2nd embedded test commit 27cd45d410abc0290998c5022adc2655126f2372 Author: Peter Bex Date: Sat Aug 22 18:19:58 2015 +0200 removed code in apply-test that used fixed limit (there is no fixed limit, the limit depends on multiple factors) Conflicts: tests/apply-test.scm commit 2fdd7dde9546b8bbe910931a332bba1e9d085008 Author: Peter Bex Date: Sat Aug 22 18:17:54 2015 +0200 bugfixes in C_make_structure(_2) commit bd345df26441ab8d896c3502966a652c7365eea4 Author: Peter Bex Date: Sat Aug 22 18:17:47 2015 +0200 C_allocate_vector: better range-check (negative sizes) commit 037a8fbf29ba669a9be36fe7cdeeb5efbe1e763b Author: Peter Bex Date: Sat Aug 22 18:17:36 2015 +0200 corrected counts + offsets in C_apply commit 2b0e440c02c7bbd15ae6ccb09f33b2d50e1f4dff Author: Peter Bex Date: Sat Aug 22 18:17:31 2015 +0200 increased tempstack-size, as apply + gc-related av-save both need it. commit cb63b29fa29890787e45ee2cbe0bc74ad1d27aa3 Author: Peter Bex Date: Sat Aug 22 18:17:20 2015 +0200 in toplevel, call C_reclaim with correct toplevel entry name commit 0ce1e7ec6e4e9bf19fc5154840c8dd03cd3fe295 Author: Peter Bex Date: Sat Aug 22 18:17:13 2015 +0200 missing closing brace for toplevel-lambda without lf commit c781b2516c4c1df19ebf4f0d49f991ffe37ea6cc Author: Peter Bex Date: Sat Aug 22 18:17:07 2015 +0200 updated specialization-test for use of C_values commit 5322e826e2a018b9c261d10085c826ad75b9c944 Author: Peter Bex Date: Sat Aug 22 18:17:00 2015 +0200 fixed incorrect argc-limit check in apply commit a8a32200ab3aad090ab9b4d61fcb0b6da7b518ad Author: Peter Bex Date: Sat Aug 22 18:16:53 2015 +0200 "manyargs" may be considered available commit 71eca8c921eb317db42fbf1cdcf772b0aecaaec3 Author: Peter Bex Date: Sat Aug 22 18:16:43 2015 +0200 C_save_and_reclaim clobbered count commit 56d308e88139e63f1da0be6aefdebd9fd1b4dfc3 Author: Peter Bex Date: Sat Aug 22 18:16:32 2015 +0200 reverse order when pushing callback arguments commit 9b92c5879bb9a5249c2561f732dc9532e3174ee9 Author: Peter Bex Date: Sat Aug 22 18:16:25 2015 +0200 bugfixes in C_callback Conflicts: chicken.h commit 7f945a5b7380e3638e719be5822268744ff87afa Author: Peter Bex Date: Sat Aug 22 18:15:34 2015 +0200 repaired codegen for foreign-stubs commit 8bf06ffe7406e98eba296dc18c6760880e5340ae Author: Peter Bex Date: Sat Aug 22 18:15:10 2015 +0200 use av instead of stack when restoring args in trampoline commit eb13513be6fe2a5b20ef1006708bdf4ed00af188 Author: Peter Bex Date: Sat Aug 22 18:15:00 2015 +0200 restore temp-stack after use, and use av where appropriate Conflicts: runtime.c commit cb9b4ab41067063af1d49be4f23801246c0acffb Author: Peter Bex Date: Sat Aug 22 18:14:14 2015 +0200 dropped obsolete stack-modification macros commit 69ca5e082d8781f21c41ac774b31848db9323aae Author: Peter Bex Date: Sat Aug 22 18:14:06 2015 +0200 several corrections in C_apply_values commit fa07fab41c9924ba6f176df5f11543e3009512b9 Author: Peter Bex Date: Sat Aug 22 18:13:59 2015 +0200 C_values: another off-by-one error while moving args in av commit 9d8805311fbed0374d298a85a4030ba4af9f6553 Author: Peter Bex Date: Sat Aug 22 18:13:48 2015 +0200 move arg-extraction after argc checks, minor cleanups commit b0d1c77845c38a2e2a52a8ea2ed1b1246e353f24 Author: Peter Bex Date: Sat Aug 22 18:13:39 2015 +0200 C_call_with_values: fetch args after checking argc Conflicts: runtime.c commit af172af5ef25e1a7439ccf9650c5de65337b5ceb Author: Peter Bex Date: Sat Aug 22 18:12:56 2015 +0200 fixedx off-by-one in C_context_switch commit 12b70846f0913d80382eb32fd0c810a5ef994bd7 Author: Peter Bex Date: Sat Aug 22 18:12:43 2015 +0200 restore C_temporary_stack, where necessary commit b4ece07007a532311e09a2bcbe099d09f3eff85d Author: Peter Bex Date: Sat Aug 22 18:12:24 2015 +0200 Changed argcount limit in manual commit cd2874b2038e40289031d03be7748804f02a69f4 Author: Peter Bex Date: Sat Aug 22 18:01:15 2015 +0200 csi starts commit 79f19cc21497b9d093c5eb4b231e077348b17d16 Author: Peter Bex Date: Sat Aug 22 18:01:06 2015 +0200 added correctly working "base" apply, repaired C_apply once more Conflicts: runtime.c commit fc747adfd69887c86038993f8fc65def25981388 Author: Peter Bex Date: Sat Aug 22 17:58:37 2015 +0200 corrected apply commit 99d4c2caaf9eddf6745089a291a95d7ed6dd32b0 Author: Peter Bex Date: Sat Aug 22 17:58:19 2015 +0200 repaired rest-list allocation commit b1288c7a897c92be5768713a4a327c161ef34194 Author: Peter Bex Date: Sat Aug 22 17:58:09 2015 +0200 drop rewrites for ##sys#direct-return Conflicts: c-platform.scm commit bab70f41f7de3f7a4da6268178ba33ed12860eb9 Author: Peter Bex Date: Sat Aug 22 17:54:16 2015 +0200 backend-bugfixes and corrections commit 5b440dc571da855f916e9334a6888724c157d088 Author: Peter Bex Date: Sat Aug 22 17:54:09 2015 +0200 minimal example (fac) compiles commit 243ac40388aeb446c2cb2a41e85265c1edec7086 Author: Peter Bex Date: Sat Aug 22 17:52:27 2015 +0200 create proper termination continuation before invoking toplevel commit 3bb9fd97db7be7d43cd6221f7bb2f37c86b3e5fb Author: Peter Bex Date: Sat Aug 22 17:52:18 2015 +0200 C_build_rest needs to know effective argc commit 7800dc454d33fb7bb8bf033c6575e53478ca26a1 Author: Peter Bex Date: Sat Aug 22 17:52:10 2015 +0200 cosmetic change in chicken.h commit 3cb590644ebd1c12f0cfae5d46de401291f61026 Author: Peter Bex Date: Sat Aug 22 17:52:00 2015 +0200 dropped use of obsolete ##sys#direct-return commit b6556fdb3da71a6227b307f1feb7d6ced5353cd8 Author: Peter Bex Date: Sat Aug 22 17:51:44 2015 +0200 runtime.c compiles Conflicts: chicken.h runtime.c commit 67a3d9c490a7d6e4fcd63f8cd0c7ca9ca91d9d09 Author: Peter Bex Date: Sat Aug 22 17:33:00 2015 +0200 removed hacked-apply, rewrote all cps-procs in runtime.c Conflicts: runtime.c commit 9f6a25779c62ce2a6c90d8fd1cdee4c04a4e3cfd Author: Peter Bex Date: Sat Aug 22 15:30:39 2015 +0200 removed C_procXXX definitions, simplified cps-proc declarations, removed obsolete stuff Conflicts: chicken.h commit 9adc6654a2b777037bb3cd7173f13d19495bd025 Author: Peter Bex Date: Sat Aug 22 15:20:20 2015 +0200 dropped obsolete rest-vector rewrites in c-platform Conflicts: c-platform.scm commit 92e4a92a739a4e37eb0044a70abfc851377735da Author: Peter Bex Date: Sat Aug 22 15:13:47 2015 +0200 removed apply-hack commit cfbe25c9c9678226e7ee11dbdf57aa8a2b47186e Author: Peter Bex Date: Sat Aug 22 15:13:37 2015 +0200 separate av for calls (to avoid confusion with incoming av), simplification of rest-handling commit 179ad48ff2c15df730f613959b90f0f91bcf3e08 Author: Peter Bex Date: Sat Aug 22 15:13:29 2015 +0200 further backend changes commit d7bd5f081b9c35ce7f13d693f52cbc20ec397f19 Author: Peter Bex Date: Sat Aug 22 15:13:04 2015 +0200 first go at conversion of CPS-calls to use of argument-vector. Conflicts: c-backend.scm commit c0395ce2f1a4683e5401f7b72c09612d61590015 Author: Peter Bex Date: Sun Aug 9 16:46:39 2015 +0200 Do not override ##sys#quit-hook in csi This is not needed; the "repl" procedure already overrides it anyway. The old behaviour seems to have been that this (incorrectly!) created a "local" ##sys#quit-hook in csi which ",q" would invoke, ignoring the global one. However, it's fine to simply call the default quit hook. Instead of directly calling ##sys#quit-hook (which has a different signature than the aforementioned "local" quit-hook), we now call the official API: "quit". This has an optional argument, so it won't bomb out like ",q" did before this patch. Signed-off-by: Evan Hanson commit 73bc11f9d3bd38f5e2332d2200a59c6b3fdb9a70 Author: Peter Bex Date: Sun Aug 9 13:53:06 2015 +0200 Remove support for SWIG. The upstream documentation still references various CHICKEN 2.x or even 1.x features, there are no tests for SWIG and nobody seems to be using it. It is just dead-weight, bitrotted code to us which adds a maintenance burden so it's better to officially drop support. Signed-off-by: Evan Hanson commit d053ea6d6558c3cfb8fa638cd03af10e1a99c244 Author: Peter Bex Date: Sun Aug 9 14:49:32 2015 +0200 Add missing exports for chicken.lolevel#pointer-[su]64-{ref,set!} commit c8d9cd2fe97402a91bf6d4de0827860da5b6ec27 Author: Peter Bex Date: Sun Aug 9 12:50:13 2015 +0200 Fix posix tests to also remove the mmap test's temporary file commit 1b79aa532b7cd2a77afa77e4fce7a014c13ad11d Author: Peter Bex Date: Tue Aug 4 22:10:42 2015 +0200 Bump version to 4.10.1, and update version in NEWS commit a94507313c459defca3f1314888536fe48a2e2f3 Author: Peter Bex Date: Sat Aug 1 18:05:07 2015 +0200 Update DISTFILES to include dynamically generated import files. This fixes "make spotless" and might make a difference when generating a distribution tarball. commit a65660fb2a5d58ef4b802e330708b8f0f550c656 Merge: c98a6d65 bba98355 Author: Peter Bex Date: Sat Aug 1 17:17:37 2015 +0200 Merge branch 'chicken-5-unit-modules' into chicken-5 commit 0e40203385cb9acfcb9797e04b15c09f93ffce5f Author: Peter Bex Date: Fri Jul 31 09:35:33 2015 +0200 Fix C_kontinue block to use do..while construct, thanks to Florian Zumbiehl commit c98a6d650e6d1285d6a9db9a010829cfcb547868 Author: Mario Domenech Goulart Date: Tue Jul 28 22:30:31 2015 -0300 README: update instructions on how to subscribe to mailing lists Remove reference to www.call-with-current-continuation.org. commit 24763042d88c36b637d3de37d4d8b2ca6b3f543a Author: Mario Domenech Goulart Date: Tue Jul 28 22:30:31 2015 -0300 README: update instructions on how to subscribe to mailing lists Remove reference to www.call-with-current-continuation.org. commit 3ef2c39df480b40d515893a707004db5b8ceb4ea Author: Mario Domenech Goulart Date: Tue Jul 28 22:30:31 2015 -0300 README: update instructions on how to subscribe to mailing lists Remove reference to www.call-with-current-continuation.org. commit 1bd9b185e6e7d6f0bec94ba00891897da8f4dae9 Author: Mario Domenech Goulart Date: Mon Jul 27 22:49:14 2015 -0300 README: fix binversion in libchicken filename ("What gets installed" section) commit 64423f9a05f99b28d246fa696ddae7fc1dcc8d45 Author: Mario Domenech Goulart Date: Mon Jul 27 22:49:14 2015 -0300 README: fix binversion in libchicken filename ("What gets installed" section) commit eb9f5092498b848d906876f3273d75dd598f6534 Author: Mario Domenech Goulart Date: Mon Jul 27 22:49:14 2015 -0300 README: fix binversion in libchicken filename ("What gets installed" section) commit ba91e2ea43d48fea9088b4214cab854d684327a5 Author: Peter Bex Date: Fri Jul 24 12:58:02 2015 +0200 Bump version to 4.10.0rc4 (correctly, this time) commit 7bfed552135e0c42b69c574b8c44a10660d96d49 Author: Mario Domenech Goulart Date: Fri Jul 10 20:41:16 2015 -0300 Getting started (manual): some fixes * Remove note on swig support (even if it is not fully deprecated yet, it probably doesn't belong to a "Getting started" chapter) * Use the full URI for wiki links instead of the URI path only * Mention other lists and discussion groups (only chicken-users and chicken-hackers were being mentioned) * Mention clang support * Mention other line editing eggs besides readline (parley and linenoise) * Remove reference to the commercial Lugaru editor * Minor markup fixes Signed-off-by: Evan Hanson commit 1bc51ed476a3df90f9ad2688f64be3270596d1ae Author: Mario Domenech Goulart Date: Fri Jul 10 20:41:16 2015 -0300 Getting started (manual): some fixes * Remove note on swig support (even if it is not fully deprecated yet, it probably doesn't belong to a "Getting started" chapter) * Use the full URI for wiki links instead of the URI path only * Mention other lists and discussion groups (only chicken-users and chicken-hackers were being mentioned) * Mention clang support * Mention other line editing eggs besides readline (parley and linenoise) * Remove reference to the commercial Lugaru editor * Minor markup fixes Signed-off-by: Evan Hanson commit 98deea7246a10b37939eeb89aa98b1e3a7a0c413 Author: Mario Domenech Goulart Date: Fri Jul 10 20:41:16 2015 -0300 Getting started (manual): some fixes * Remove note on swig support (even if it is not fully deprecated yet, it probably doesn't belong to a "Getting started" chapter) * Use the full URI for wiki links instead of the URI path only * Mention other lists and discussion groups (only chicken-users and chicken-hackers were being mentioned) * Mention clang support * Mention other line editing eggs besides readline (parley and linenoise) * Remove reference to the commercial Lugaru editor * Minor markup fixes Signed-off-by: Evan Hanson commit 1e39d54a6cbcc28da14c3c80e2fea4e8facd2fdb Author: Peter Bex Date: Thu Jul 23 20:20:25 2015 +0200 Bump version to 4.10.0rc3 commit e81a4dcc39f4b7f2ab8a51c2710940599d93bc0e Author: Evan Hanson Date: Tue Jul 21 22:19:45 2015 +1200 Fix normalize-pathname for dot-relative paths beginning with ".//" Because dots aren't pushed onto the accumulated list of pathname parts, `normalize-pathname` would hit the second slash, see that there were no leading parts, and consider the path absolute. To fix this, we make the function save the type of the path, either 'abs(olute) or 'rel(ative), as soon as it's known, and avoid overwriting it from then on. Fixes #1202. Signed-off-by: Peter Bex commit d1d093f027c8c1d0953bf6df6431a8340a5dc5d4 Author: Evan Hanson Date: Tue Jul 21 22:19:45 2015 +1200 Fix normalize-pathname for dot-relative paths beginning with ".//" Because dots aren't pushed onto the accumulated list of pathname parts, `normalize-pathname` would hit the second slash, see that there were no leading parts, and consider the path absolute. To fix this, we make the function save the type of the path, either 'abs(olute) or 'rel(ative), as soon as it's known, and avoid overwriting it from then on. Fixes #1202. Signed-off-by: Peter Bex commit cde395398877f1ec984e3a38f8bd810926f23be2 Author: Evan Hanson Date: Tue Jul 21 22:19:45 2015 +1200 Fix normalize-pathname for dot-relative paths beginning with ".//" Because dots aren't pushed onto the accumulated list of pathname parts, `normalize-pathname` would hit the second slash, see that there were no leading parts, and consider the path absolute. To fix this, we make the function save the type of the path, either 'abs(olute) or 'rel(ative), as soon as it's known, and avoid overwriting it from then on. Fixes #1202. Signed-off-by: Peter Bex commit 44c72738b099b80ef59e6250b0abbe226b640a3a Author: felix Date: Mon Jul 20 22:53:09 2015 +0200 corrected prototype for C_toplevel in 2nd embedded test commit 3837dd8c998ff31c179c0e2cba95615ead3f761b Author: felix Date: Mon Jul 20 22:52:56 2015 +0200 removed code in apply-test that used fixed limit (there is no fixed limit, the limit depends on multiple factors) commit 4b6fe237ef16cacab1d1388ed47e492d4eba3dbd Author: felix Date: Mon Jul 20 22:52:22 2015 +0200 bugfixes in C_make_structure(_2) commit 190a81881f0c9e8105098ce43ae660b24dbac575 Author: felix Date: Mon Jul 20 22:52:08 2015 +0200 C_allocate_vector: better range-check (negative sizes) commit c150029e0dbdc70a4c8246a36b0df5e8ce910959 Author: felix Date: Mon Jul 20 22:51:56 2015 +0200 corrected counts + offsets in C_apply commit 50dc82d0e1eb9594c18277cf175678c73c01fb9a Author: felix Date: Mon Jul 20 22:51:35 2015 +0200 increased tempstack-size, as apply + gc-related av-save both need it. commit 34f5dba79437b249748fc6da49ea4c0498a8d0df Merge: aabb523a 135b562f Author: felix Date: Mon Jul 20 22:25:04 2015 +0200 Merge branch 'argvector-bootstrap' into argvector commit 135b562f38f62c247a819479e62838fcde691150 Author: felix Date: Mon Jul 20 22:24:39 2015 +0200 in toplevel, call C_reclaim with correct toplevel entry name commit aabb523ac072aab1e940ffe573ef1bdd6fb239ad Merge: e95b024a fe752175 Author: felix Date: Mon Jul 20 22:03:29 2015 +0200 Merge branch 'argvector-bootstrap' into argvector commit fe7521755559568e9fbcba482d05a3e829842da2 Author: felix Date: Mon Jul 20 22:03:08 2015 +0200 missing closing brace for toplevel-lambda without lf commit bba9835502694c3301d61e698a2bb853dee5f380 Author: Evan Hanson Date: Mon Jul 20 17:20:10 2015 +1200 Update README with new import files commit e95b024a109a0c4800699f30881a303b80bf1639 Author: felix Date: Sun Jul 19 22:31:06 2015 +0200 updated specialization-test for use of C_values commit f8816e4c6e1810f57d52730c77da1a733b42eb06 Author: felix Date: Sun Jul 19 22:30:42 2015 +0200 fixed incorrect argc-limit check in apply commit ae04d33f15906fd029f2b8afd8cf978dd6488fb0 Author: felix Date: Sun Jul 19 22:30:28 2015 +0200 "manyargs" may be considered available commit 76115ae2c7f67091f46bbc6219e2de8d70e60331 Author: felix Date: Sun Jul 19 22:30:14 2015 +0200 C_save_and_reclaim clobbered count commit 384412bc2d06e709376daae901298b7dc326500b Merge: 41b9d74b 01fcd00e Author: felix Date: Sun Jul 19 19:30:58 2015 +0200 Merge branch 'argvector-bootstrap' into argvector commit 01fcd00e47063b5ef7464422fbd51cb793f121e6 Author: felix Date: Sun Jul 19 19:30:31 2015 +0200 reverse order when pushing callback arguments commit 41b9d74b1acb1320c2cd757fcc223da248f326a4 Author: felix Date: Sun Jul 19 11:32:37 2015 +0200 bugfixes in C_callback commit a7799579528da03e47abd82b5a9178c632f24ea6 Author: Evan Hanson Date: Sun Jul 19 21:10:36 2015 +1200 Add NEWS entry for SRFI removals commit 28c81a032ca1fdfde18519dc2f79cee137322969 Merge: 38dab1e2 443c37dc Author: felix Date: Sun Jul 19 11:05:42 2015 +0200 Merge branch 'argvector-bootstrap' into argvector commit 443c37dc313c13b371f82d8ee710c2f8a5a77910 Author: felix Date: Sun Jul 19 11:05:34 2015 +0200 repaired codegen for foreign-stubs commit f651d097da3f3a310fbcea4124a89e1261e7fe5e Author: Evan Hanson Date: Sun Jul 19 20:56:00 2015 +1200 Add NEWS entry for unit modularisation commit 38dab1e200f8ceaa14004e9245dfbec65b6b32c8 Merge: 2c3d1d91 bf1bba56 Author: felix Date: Sat Jul 18 23:11:43 2015 +0200 Merge branch 'argvector-bootstrap' into argvector commit bf1bba56845da74aa37407a5b185a320610dcae7 Author: felix Date: Sat Jul 18 23:11:11 2015 +0200 use av instead of stack when restoring args in trampoline commit 2c3d1d9108365416ed2582b3de4ce37a6bf89f5b Author: felix Date: Sat Jul 18 23:10:35 2015 +0200 restore temp-stack after use, and use av where appropriate commit b5a227dcc2a950e6a2836681d18a4072f42bdad9 Author: felix Date: Sat Jul 18 23:09:47 2015 +0200 dropped obsolete stack-modification macros commit 23fdb45756b9c5de9f89607423570d3ab948aa7c Author: felix Date: Fri Jul 17 12:06:11 2015 +0200 several corrections in C_apply_values commit 79fa43ed4e01b28efb286c4b69d09f74c14b78b4 Author: felix Date: Fri Jul 17 12:05:55 2015 +0200 C_values: another off-by-one error while moving args in av commit 80be013d0da204c30bc30155fcf8dccdc84680b6 Author: felix Date: Fri Jul 17 12:05:31 2015 +0200 move arg-extraction after argc checks, minor cleanups commit 0f20eec89c3e98a5fa0fe4e44503e11dc288d697 Author: felix Date: Fri Jul 17 12:04:23 2015 +0200 C_call_with_values: fetch args after checking argc commit e4e2afbf37ea8c22a69d51279213aa6d5f2d4f68 Author: felix Date: Fri Jul 17 12:04:00 2015 +0200 fixedx off-by-one in C_context_switch commit da93a243ef1c21c5ffeec4b791d797da61075611 Author: felix Date: Thu Jul 16 13:14:26 2015 +0200 restore C_temporary_stack, where necessary commit 1cd83685cb3512844a242b52b89506e1573d3104 Author: felix Date: Wed Jul 15 14:50:22 2015 +0200 Changed argcount limit in manual commit bf7d5821d5bf0d7149645023fbf8f08186b0e431 Merge: d310dc22 8c423c47 Author: felix Date: Wed Jul 15 14:48:28 2015 +0200 Merge remote-tracking branch 'origin/master' into argvector commit d310dc22833d4f45cfa209a4f58bb23ebb39a1c0 Author: felix Date: Wed Jul 15 12:32:27 2015 +0200 csi starts commit 8f0193bd64df78440f1f31953acfb81db84cf91a Author: felix Date: Wed Jul 15 10:01:32 2015 +0200 added correctly working "base" apply, repaired C_apply once more commit ea2740f7707a12336955bc1aac86211be339ff44 Author: felix Date: Tue Jul 14 23:33:33 2015 +0200 corrected apply commit 75239d75d76e8d52d24d3249d863e368558ac080 Merge: b666dd21 ad0be361 Author: felix Date: Tue Jul 14 23:21:33 2015 +0200 Merge branch 'argvector-bootstrap' into argvector commit e53bea422fe8b80d3c9dec066fe5369ca17e9e58 Author: Evan Hanson Date: Tue Jul 14 21:34:12 2015 +1200 Use `print` for debug-mode printing Now that `pp` comes from the extras module, we can't rely on it having been imported anywhere `common-declarations.scm' is used since the chicken.extras import library may not have been built yet. (The use of `pp` can be restored after a release that includes a chicken.extras module.) commit b666dd21e1f64c3e4211dff04acfd16e2c8224ec Author: felix Date: Tue Jul 14 11:05:13 2015 +0200 create proper termination continuation before invoking toplevel commit fe34c3bfd667a5a1bb7b61cbf323e51a1bdc1123 Author: felix Date: Tue Jul 14 11:04:42 2015 +0200 C_build_rest needs to know effective argc commit 134752b2d2c44edf295c672f8d0b5cc71f1eb275 Author: felix Date: Tue Jul 14 11:04:15 2015 +0200 cosmetic change in chicken.h commit ad0be3617b0b558be3a5e852a503fbfa5a2bcc1e Author: felix Date: Tue Jul 14 11:03:58 2015 +0200 repaired rest-list allocation commit 3f45498d67d1a32791f0186900d4e065237682f7 Author: Peter Bex Date: Mon Jul 13 21:44:28 2015 +0200 Include `angle` in the "scheme" primitive module Signed-off-by: Peter Bex Conflicts: modules.scm commit 8c423c4762a0e7624eb88da77a3c520d8c72e2a5 Author: Peter Bex Date: Mon Jul 13 21:43:51 2015 +0200 Include `angle` in the "scheme" primitive module Signed-off-by: Peter Bex Conflicts: modules.scm commit 538ff85599b97fe29a4f4f71b414ddeed009d4c7 Author: Evan Hanson Date: Mon Jul 13 17:34:57 2015 +1200 Include `angle` in the "scheme" primitive module Signed-off-by: Peter Bex commit f73bbeeb053587a0a60f23ca26984c2e4b825c5e Author: felix Date: Mon Jul 13 21:22:55 2015 +0200 dropped use of obsolete ##sys#direct-return commit fdeea7aa257d4ed66e4c7208152454664344e0fe Author: felix Date: Mon Jul 13 21:21:42 2015 +0200 drop rewrites for ##sys#direct-return commit f2f5b5735d34cbb29bf154a1978deb74bcc22970 Author: felix Date: Mon Jul 13 21:18:08 2015 +0200 backend-bugfixes and corrections commit df85f4fcbe8803afc3af3fbadc9c06d0a80f88a2 Author: Peter Bex Date: Thu Jun 25 20:03:49 2015 +0200 Improve read-u8vector performance This also adds a few basic test cases for read-u8vector and makes the implicit depency of the srfi-4 unit on the extras unit explicit. Signed-off-by: Evan Hanson commit e5797f6953ad0699d48ddad1c67a66ebaae5cbe8 Author: Evan Hanson Date: Mon Jul 13 12:08:52 2015 +1200 Update built-in compiler-syntax rules to respect modules Ensures that compiler-syntax rules for identifiers from core unit modules are only triggered when those identifiers have actually been imported. Updates format string compilation output to use fully-qualified identifiers, where necessary. commit 2fdacd1a5d49b0986b6b14abf0ca82b09bdf9582 Author: felix Date: Sun Jul 12 22:37:45 2015 +0200 minimal example (fac) compiles commit 02ec62cebe699c4ea38693b1952b558c238f2025 Author: felix Date: Sun Jul 12 22:09:10 2015 +0200 runtime.c compiles commit ad562fb48519c9d160148ab1cf0687a629619ab6 Author: felix Date: Sun Jul 12 17:25:43 2015 +0200 removed hacked-apply, rewrote all cps-procs in runtime.c commit 550d787f28e5fbc2df1c650e76befd41bff61235 Author: felix Date: Sun Jul 12 17:25:15 2015 +0200 removed C_procXXX definitions, simplified cps-proc declarations, removed obsolete stuff commit 100ceb3ce3eeada8e49f35049e5d9dae3ed9a93f Author: felix Date: Sun Jul 12 17:24:35 2015 +0200 dropped spurious newline commit e86f006b7710e6f06909deb56bce21c912669bb5 Author: felix Date: Sun Jul 12 17:21:30 2015 +0200 dropped obsolete rest-vector rewrites in c-platform commit 58e7441092882331e1eaca44e55b6953cfd1222e Author: felix Date: Sun Jul 12 17:21:30 2015 +0200 dropped obsolete rest-vector rewrites in c-platform commit eb76436fae3a2037db4d8c449aa7cf44d78f7549 Author: Evan Hanson Date: Sun Jul 12 21:48:36 2015 +1200 Update built-in compiler-syntax rules to handle module-namespaced identifiers Ensures that compiler-syntax rules are triggered even when the identifier in head position is imported from a core unit module (and thus namespaced). commit 5a347891f29b04e6005874a7c9f2b9bcc871def6 Author: felix Date: Sat Jul 11 19:46:45 2015 +0200 removed apply-hack commit c9c560f2468a07ee1aa32c4b0208c480a7ad9d1f Author: felix Date: Sat Jul 11 19:44:48 2015 +0200 separate av for calls (to avoid confusion with incoming av), simplification of rest-handling commit 9a8b25e01b72ad0009950f773b940c8de0c09d6c Author: Evan Hanson Date: Sat Jul 11 17:12:08 2015 +1200 Update c-platform rewrites for core unit modules commit 0ecfffadf616b8389216910a35028b4d82021639 Author: felix Date: Fri Jul 10 23:36:07 2015 +0200 further backend changes commit 150500bd30107350e8de732fdddd7849987d8ad2 Author: felix Date: Fri Jul 10 12:00:43 2015 +0200 first go at conversion of CPS-calls to use of argument-vector. commit 7f97f04161548b16032bdc91e0a154717b300ae2 Author: Evan Hanson Date: Fri Jul 10 13:11:56 2015 +1200 Remove ##sys# prefix from lambda-info names of eval module procedures As with 7daaa4baac1cb6aeefcd7d480c912c1cb44880a1. commit 0f55d5a15763a1d0dc0fe1900f6a2686454729c4 Author: Evan Hanson Date: Fri Jul 10 12:30:21 2015 +1200 Remove unused ##sys#abort-load procedure commit 517009e3b9ea5bbb911687c4449987147c461d53 Author: Evan Hanson Date: Sun Jul 12 19:37:15 2015 +1200 Add missing extras dependencies For internal usage of `printf` et al. commit 200e63870b8468ba09d48e1a8b29b0a57a940921 Author: Evan Hanson Date: Fri Jul 10 10:46:45 2015 +1200 Simplify import library Makefile definitions The foreign import library doesn't really need its own definition. Also, specify which import libraries live under the "chicken" namespace. commit 6b3e7e0dfb864bc8f0f90bb6bdac9b86e25e2d72 Author: Evan Hanson Date: Fri Jul 10 10:17:24 2015 +1200 Convert the srfi-4 unit into a module commit 36eb3e9ba7395119132f9c5ee9ef78b33add91b8 Author: Evan Hanson Date: Thu Jul 9 13:50:45 2015 +1200 Use module-namespaced load procedures Replaces `##sys#load` with a module-internal equivalent and redefines `load`, `load-relative`, and `load-noisily` to use that. commit b4d9df49e9750bfbcf032d251df5d2b995ecaa8f Author: Evan Hanson Date: Wed Jul 8 22:58:06 2015 +1200 Use module-namespaced expand procedures Removes `##sys#expand` and `##sys#strip-syntax`, updating all files to use the module-namespaced versions instead. For modules, "chicken.expand" is imported and its identifiers are used directly; for other files, the fully-qualified names are used. Also removes some square brackets from surrounding code. commit 14f7eb30207e801072e26bcd818180496dc397d4 Author: Evan Hanson Date: Wed Jul 8 21:14:44 2015 +1200 Convert the expand unit into a module commit 702f3f259c322569a9caf615ffa09374bef1784f Author: Peter Bex Date: Sat Jul 4 11:28:10 2015 +0200 Remove other mentions of set-process-group-id! in manual commit 858ce03894ccafa3a8f05014edfc0cd21049e50d Author: Peter Bex Date: Sat Jul 4 11:27:43 2015 +0200 Remove other mentions of set-process-group-id! in manual commit 779bc252fff142e83cf75f0ef1a3f974c0441c15 Author: Peter Bex Date: Sat Jul 4 11:25:54 2015 +0200 set-process-group-id! does not exist anymore: remove from manual commit 51f3c2e4114423f384c9e96f92338829b91ac985 Author: Peter Bex Date: Sat Jul 4 11:21:24 2015 +0200 set-process-group-id! does not exist anymore: remove from manual commit 2c2ab14b345ee1e3a082e838e9b4200fbd03dafd Author: Moritz Heidkamp Date: Fri Jul 3 18:30:56 2015 +0200 Bump version to 4.10.0rc2 commit 6dcb15feb82b634fe7a76da8d5c9c1269f53abae Author: Moritz Heidkamp Date: Fri Jul 3 18:17:24 2015 +0200 Fix various erroneous types.db entries for srfi-4 commit 61ceb83bfa11f566ab84ad56ff84af56bedef968 Author: Moritz Heidkamp Date: Fri Jul 3 18:17:24 2015 +0200 Fix various erroneous types.db entries for srfi-4 commit 474cb9fa5f53c270230007a317e1db69846006ea Author: Peter Bex Date: Thu Jun 25 20:03:49 2015 +0200 Improve read-u8vector performance This also adds a few basic test cases for read-u8vector and makes the implicit depency of the srfi-4 unit on the extras unit explicit. Signed-off-by: Evan Hanson commit e0514dd8ee634e2625ab6b268f89a17791ef3ba1 Author: Peter Bex Date: Thu Jun 25 20:03:49 2015 +0200 Improve read-u8vector performance This also adds a few basic test cases for read-u8vector and makes the implicit depency of the srfi-4 unit on the extras unit explicit. Signed-off-by: Evan Hanson commit a9ca6d91052ef6152227a8d5ed2b523a2076f4ea Author: Evan Hanson Date: Mon Jul 13 10:29:48 2015 +1200 Add basic test case for `chicken-profile' commit e9db7f89efab0e06709c070076cb23623b308c79 Author: Peter Bex Date: Sat Jul 4 15:06:53 2015 +0200 Replace calls to deleted "remove" with "filter" in chicken-profile. We also simplify the filter, as #f never occurs in the call count position and the rest of the code does not handle #f there either. Signed-off-by: Evan Hanson commit 7b73c88c13196a9d01b44a4a6c6a99ff6a58d201 Author: Evan Hanson Date: Mon Jul 13 08:53:50 2015 +1200 Fix filenames of numbers tests in manifest They were added with the wrong filenames in 92433dc. commit b0711c4ca7f8e92dd18807a1c553e6ce649f1380 Author: Peter Bex Date: Mon Jul 6 23:39:14 2015 +0200 Port B/Z division perf stability fix from numbers. This changes Burnikel-Ziegler division's threshold check to look at the *difference* between the two arguments instead of the size of the smallest one. This idea is taken from MCA, algorithm 1.9. This seems to make a big difference on the "pidigits" benchmark from the Great Language Shootout game, which somehow triggers such pathological behaviour of the B/Z division routine that using plain gradebook division would be up to three times faster on that benchmark. Other benchmarks are mostly unaffected by this issue. Many thanks to "balkenbrij" on Reddit for finding this issue! commit 19ff7930fd096bbb61e417495eeca7c09ae5f612 Author: Peter Bex Date: Sat Jul 4 14:39:44 2015 +0200 Remove unused variable, change misleading comment commit 819482aaf0f0032ee4191a6ddb7bfede74b6783d Author: Peter Bex Date: Sat Jul 4 11:28:33 2015 +0200 Remove other mentions of set-process-group-id! in manual commit ce4830f7ff22b776fe012bc4f3702bdde22c2894 Author: Peter Bex Date: Sat Jul 4 11:24:52 2015 +0200 set-process-group-id! does not exist anymore: remove from manual commit c7919bab222100196314bee5692f7da3078c3597 Author: Peter Bex Date: Fri Jul 3 20:57:35 2015 +0200 Fix double C_fix wrap in ratcmp code, resulting in wrong temporary bignum sizes commit 3846c9f0a75dffe0c01979b819dd4d4dd0ac73fa Author: Moritz Heidkamp Date: Fri Jul 3 18:17:24 2015 +0200 Fix various erroneous types.db entries for srfi-4 commit e5c7d96dd9c8cb9160fa8601b4c9d0c0c457ce7f Author: Peter Bex Date: Sat Jun 20 21:04:01 2015 +0200 Avoid shifting signed values, which is undefined behaviour in C. Signed-off-by: Christian Kellermann commit 9d8c2cbd321c716d867a6aadf7a45e94f4d691c3 Author: Peter Bex Date: Sat Jun 20 20:55:23 2015 +0200 Avoid shifting signed values, which is undefined behaviour in C. Signed-off-by: Christian Kellermann commit f918d869e3020d44c3c5bb8b53a3816961d3c01b Author: Evan Hanson Date: Thu Jun 25 09:24:13 2015 +1200 Make LENGTH argument to read-u8vector, {read, write}-string more precise in types.db Also fix up the signature of read-u8vector in the manual. Signed-off-by: Christian Kellermann commit 76218f597344d94ca17fa7a7ef8e197d5afb7c20 Author: Evan Hanson Date: Thu Jun 25 09:22:40 2015 +0200 Make LENGTH argument to read-u8vector, {read, write}-string more precise in types.db Also fix up the signature of read-u8vector in the manual. commit f16da9605361e7d26b38e0cea2a1062b7b8568fa Author: Evan Hanson Date: Thu Jun 25 09:24:13 2015 +1200 Make LENGTH argument to read-u8vector, {read, write}-string more precise in types.db Also fix up the signature of read-u8vector in the manual. Signed-off-by: Christian Kellermann commit 221f751c4132f8054a9dd6ef57d48275f635d77d Author: Peter Bex Date: Sat Jun 20 14:08:26 2015 +0200 Fix create-directory parent dir creation on Windows. When passing #t as the second argument to make create-directory behave like "mkdir -p", on Windows there was a small mistake in the logic so it would never actually create the topmost parent directory, only those at level 2 and below. This was exposed by the find-files test which uses this feature of create-directory. Instead of having differing implementations, we move the UNIX implementation into posix-common; it recursively decomposes pathnames using standard procedures that already deal with the difference in path separator. Both use C_mkdir(), which is defined in a platform-specific way (but using a common API) at the top of each corresponding platform's posix file. Signed-off-by: Evan Hanson commit 8eb73e474b24d303730c4c2ca4980aaeaaddc8e8 Author: Peter Bex Date: Sat Jun 20 14:59:54 2015 +0200 Fix executable-tests on mingw-msys for path separator Signed-off-by: Evan Hanson commit c594cdae5469b9c159badcc0e7bf2048946582cc Author: Peter Bex Date: Sat Jun 20 14:36:28 2015 +0200 Skip symlink tests in find-files test on Windows, which can't handle symlinks Signed-off-by: Evan Hanson commit 3d56f30181193db762dedd309faadaa4b98abd21 Author: Peter Bex Date: Sat Jun 20 14:08:26 2015 +0200 Fix create-directory parent dir creation on Windows. When passing #t as the second argument to make create-directory behave like "mkdir -p", on Windows there was a small mistake in the logic so it would never actually create the topmost parent directory, only those at level 2 and below. This was exposed by the find-files test which uses this feature of create-directory. Instead of having differing implementations, we move the UNIX implementation into posix-common; it recursively decomposes pathnames using standard procedures that already deal with the difference in path separator. Both use C_mkdir(), which is defined in a platform-specific way (but using a common API) at the top of each corresponding platform's posix file. Signed-off-by: Evan Hanson commit cd5273c49bc1fd692e062561063648473108749f Author: Peter Bex Date: Sat Jun 20 14:36:28 2015 +0200 Skip symlink tests in find-files test on Windows, which can't handle symlinks Signed-off-by: Evan Hanson commit 4379c19e62476799300611a52f12b8e4e7a9bb51 Author: Peter Bex Date: Sat Jun 20 14:08:26 2015 +0200 Fix create-directory parent dir creation on Windows. When passing #t as the second argument to make create-directory behave like "mkdir -p", on Windows there was a small mistake in the logic so it would never actually create the topmost parent directory, only those at level 2 and below. This was exposed by the find-files test which uses this feature of create-directory. Instead of having differing implementations, we move the UNIX implementation into posix-common; it recursively decomposes pathnames using standard procedures that already deal with the difference in path separator. Both use C_mkdir(), which is defined in a platform-specific way (but using a common API) at the top of each corresponding platform's posix file. Signed-off-by: Evan Hanson commit 11955672a6cb551ff5fc95ba5162801d74deb4c5 Author: Peter Bex Date: Wed Jun 17 20:14:32 2015 +0200 Fix compiler error in C++ strict mode. Fixes a few "deprecated string to char * cast" warnings too. Thanks to Izaak for pointing out this was broken. Signed-off-by: Christian Kellermann commit 2658c4efa8d7ef214418aa299eb7787b0bcfcd2d Author: Peter Bex Date: Wed Jun 17 20:14:32 2015 +0200 Fix compiler error in C++ strict mode. Fixes a few "deprecated string to char * cast" warnings too. Thanks to Izaak for pointing out this was broken. Signed-off-by: Christian Kellermann commit a03442e228388a34ab5a81fba966868a404b14a7 Author: Peter Bex Date: Wed Jun 17 20:19:48 2015 +0200 Fix compiler error in C++ strict mode. Fixes a few "deprecated string to char * cast" warnings too. Thanks to Izaak for pointing out this was broken. Signed-off-by: Christian Kellermann commit 3dd602a46286c900737c02bb3d3d1259848c5067 Author: Peter Bex Date: Wed Jun 17 23:23:05 2015 +0200 Fix Mingw-MSYS build: mkdir program was not set, and install was set to 'cp'. Fixes regression caused by f62a7f5798cfc8cedae791f6d39a94a1123ed9b6. Signed-off-by: Evan Hanson commit 79c38d06f17cff8ec138f77fe50d0b3e2515e4f2 Author: Peter Bex Date: Wed Jun 17 23:23:05 2015 +0200 Fix Mingw-MSYS build: mkdir program was not set, and install was set to 'cp'. Fixes regression caused by f62a7f5798cfc8cedae791f6d39a94a1123ed9b6. Signed-off-by: Evan Hanson commit dde858eeb5ba50bb2e14df20459a3bfeb7774d02 Author: Moritz Heidkamp Date: Wed Jun 10 15:03:38 2015 -0300 data-structures: fix substring-index[-ci] corner case ("" as 2nd arg) Fix regression introduced by 25db851b90260: $ ~/local/chicken-4.9.0.1/bin/csi -p '(substring-index "foo" "")' $ ~/local/chicken-4.10.0rc1/bin/csi -p '(substring-index "foo" "")' Error: (substring-index) out of range 0 0 Call history: (substring-index "foo" "") (substring-index "foo" "") <-- Signed-off-by: Mario Domenech Goulart commit 5de5c6e14873e2049039ebfa1ec2bdf82477ca25 Author: Moritz Heidkamp Date: Wed Jun 10 15:03:38 2015 -0300 data-structures: fix substring-index[-ci] corner case ("" as 2nd arg) Fix regression introduced by 25db851b90260: $ ~/local/chicken-4.9.0.1/bin/csi -p '(substring-index "foo" "")' $ ~/local/chicken-4.10.0rc1/bin/csi -p '(substring-index "foo" "")' Error: (substring-index) out of range 0 0 Call history: (substring-index "foo" "") (substring-index "foo" "") <-- Signed-off-by: Mario Domenech Goulart commit 623fe3d036017054839d14f3c8ad599e5384046a Author: Arthur Maciel Date: Sun Jun 14 13:15:26 2015 -0300 Drop Watcom, Metroworks and Delorie (DJGPP) support (deleted comment and pre-processor definitions) Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit e6723ded1f21a814f318bf8bf26a73fad15e3e6c Author: Moritz Heidkamp Date: Wed Jun 10 15:03:38 2015 -0300 data-structures: fix substring-index[-ci] corner case ("" as 2nd arg) Fix regression introduced by 25db851b90260: $ ~/local/chicken-4.9.0.1/bin/csi -p '(substring-index "foo" "")' $ ~/local/chicken-4.10.0rc1/bin/csi -p '(substring-index "foo" "")' Error: (substring-index) out of range 0 0 Call history: (substring-index "foo" "") (substring-index "foo" "") <-- Signed-off-by: Mario Domenech Goulart commit 360d49bd612607778a55c09e2b50bbee84d8ea13 Author: Peter Bex Date: Mon Jun 15 19:41:32 2015 +0200 Add CVE-2015-4556 reference to NEWS commit 85f7491db2ccb55be09d1db2f6e972a39a1443e8 Author: Peter Bex Date: Mon Jun 15 19:41:32 2015 +0200 Add CVE-2015-4556 reference to NEWS commit ea221a3b3cad34ab8cd7548397ea2e291c5998e9 Author: Peter Bex Date: Mon Jun 15 19:41:32 2015 +0200 Add CVE-2015-4556 reference to NEWS commit d2982b0d4b75d1f9406e1d198aaf3c1539b5a318 Author: Peter Bex Date: Sun Jun 14 19:52:26 2015 +0200 Fix potential buffer overrun error in string-translate* string-translate* would scan from every position in the target string for each source string in the map, even if that would mean scanning past the end. The out-of-bounds read would be limited to the size of the overlapping prefix in the trailing garbage beyond the string, because memcmp will stop scanning as soon as there is a different byte in either of the memory areas. This also adds a few basic tests for string-translate* Signed-off-by: Evan Hanson commit 8a460209d78ed532c0b92e32c21625c4952bde3c Author: Peter Bex Date: Sun Jun 14 19:52:26 2015 +0200 Fix potential buffer overrun error in string-translate* string-translate* would scan from every position in the target string for each source string in the map, even if that would mean scanning past the end. The out-of-bounds read would be limited to the size of the overlapping prefix in the trailing garbage beyond the string, because memcmp will stop scanning as soon as there is a different byte in either of the memory areas. This also adds a few basic tests for string-translate* Signed-off-by: Evan Hanson commit 46cf1138c2f14c1b2d10ba6d89d79de776ce2170 Author: Peter Bex Date: Sun Jun 14 19:52:26 2015 +0200 Fix potential buffer overrun error in string-translate* string-translate* would scan from every position in the target string for each source string in the map, even if that would mean scanning past the end. The out-of-bounds read would be limited to the size of the overlapping prefix in the trailing garbage beyond the string, because memcmp will stop scanning as soon as there is a different byte in either of the memory areas. This also adds a few basic tests for string-translate* Signed-off-by: Evan Hanson commit 4568ac2a66a8a813f16d20483ee05460c8462dbb Author: Jörg F. Wittenberger Date: Sat Jun 13 10:38:28 2015 +0200 Add cases for unhandled error codes to `barf`. Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit 1ae3dc143f10ae5edacde04adec2c572ef350bf6 Author: Jörg F. Wittenberger Date: Sat Jun 13 10:38:28 2015 +0200 Add cases for unhandled error codes to `barf`. Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit 5639ad58ce7d30a87970e561e782d13e088a1064 Author: Benutzer Date: Sat Jun 13 14:14:01 2015 +0200 Modify identify.sh to make custom builds easier. Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit 29248f4759f0bbdd69589cc64564f96fbd1c3e69 Author: Michele La Monaca Date: Fri Jun 12 16:08:16 2015 +0200 fix MAKEDIR_COMMAND when INSTALL_PROGRAM is set Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit f459a334785310f8c991f0c16f46a50fea73900d Author: Peter Bex Date: Sat Jun 13 16:06:19 2015 +0200 Move Haiku and MacOS-specific includes into runtime.c; they're not used elsewhere Signed-off-by: Mario Domenech Goulart commit 50dfa0f37bc0dada3406eddde05b225e9498682e Author: Peter Bex Date: Sat Jun 13 14:32:07 2015 +0200 Add cases for unhandled error codes to `barf`. Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit 4e1f7272a3536dd93577c71f0a8bad16dab2a308 Author: Benutzer Date: Sat Jun 13 14:14:01 2015 +0200 Modify identify.sh to make custom builds easier. Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit f62a7f5798cfc8cedae791f6d39a94a1123ed9b6 Author: Michele La Monaca Date: Fri Jun 12 16:08:16 2015 +0200 fix MAKEDIR_COMMAND when INSTALL_PROGRAM is set Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit 817afd5ac625dcbba1cab5b51ae0a2767097bbf5 Author: Peter Bex Date: Sat Jun 6 17:38:26 2015 +0200 Merge online wiki changes into the manual. commit 27b1ba2d32da584d92883671aa4a282846efa52d Merge: c8af768e c567d252 Author: Peter Bex Date: Sat Jun 13 15:56:37 2015 +0200 Merge remote-tracking branch 'refs/remotes/origin/chicken-5-executable-pathname' into chicken-5 commit c8af768ebffa0191cda4890addbfd2de7184423d Author: Peter Bex Date: Mon Jun 1 20:23:49 2015 +0200 Allow for zero or single-argument numeric comparisons, as an extension to R5RS and for consistency with existing type specializations Signed-off-by: Evan Hanson commit b9129eebaf46c9cd974b58c9efd230493feb345e Author: Evan Hanson Date: Fri Jun 12 10:18:51 2015 +1200 Use ordering-insensitive comparison for find-files tests Because `find-files` doesn't specify the order in which files are visited, the test-find-files suite's comparisons must test for membership but not ordering. commit 2df56df8a5a48fc4eb1a6094f7ce44f2192c963e Author: Mario Domenech Goulart Date: Tue Jun 2 22:08:17 2015 -0300 posix-common: find-files: use `directory' instead of `glob' Using `directory' instead of `glob' gives a nice speed boost: With `glob': (time (find-files ".")) 2.1s CPU time, 0.164s GC time (major), 2759998/21115 mutations (total/tracked), 4/15016 GCs (major/minor) With `directory`: (time (find-files ".")) 0.58s CPU time, 0.092s GC time (major), 220194/12135 mutations (total/tracked), 3/2633 GCs (major/minor) Timings for `(find-files ".")' on a directory containing the Linux source code. Signed-off-by: Evan Hanson commit 773164a7d37f73cb2f0ee3cc813fb4d8620714f7 Author: Mario Domenech Goulart Date: Tue Jun 2 22:07:27 2015 -0300 Add test suite for find-files Signed-off-by: Evan Hanson commit ad14b7e46e53677f531948bd18efc7d63ba26c82 Author: Evan Hanson Date: Fri Jun 12 10:18:51 2015 +1200 Use ordering-insensitive comparisons in find-files tests Because `find-files` doesn't specify the order in which files are visited, the comparisons in test-find-files.scm must test for membership but not ordering. commit d87e1238485eb3b6a5b7a03efe71d6f6513855fd Author: Mario Domenech Goulart Date: Tue Jun 2 22:08:17 2015 -0300 posix-common: find-files: use `directory' instead of `glob' Using `directory' instead of `glob' gives a nice speed boost: With `glob': (time (find-files ".")) 2.1s CPU time, 0.164s GC time (major), 2759998/21115 mutations (total/tracked), 4/15016 GCs (major/minor) With `directory`: (time (find-files ".")) 0.58s CPU time, 0.092s GC time (major), 220194/12135 mutations (total/tracked), 3/2633 GCs (major/minor) Timings for `(find-files ".")' on a directory containing the Linux source code. Signed-off-by: Evan Hanson commit 540ab9c19653c4fd9c4ef7c5c7c0d4d99e528270 Author: Mario Domenech Goulart Date: Tue Jun 2 22:07:27 2015 -0300 Add test suite for find-files Signed-off-by: Evan Hanson commit 671a5eb3fa2cf29f7e9d7a877e22335fb503934a Author: Moritz Heidkamp Date: Sat Jun 6 20:55:09 2015 +0200 Also bump version in NEWS to 4.10.0rc1 commit eacc846be7cf4026eb8e8f6eaa577082d826da2e Author: Moritz Heidkamp Date: Sat Jun 6 18:47:06 2015 +0200 Bump version to 4.10.0rc1 commit e59d9cabebc43bc0e93ce6856d6768eb83ff753e Merge: ce208785 8c769c55 Author: Moritz Heidkamp Date: Sat Jun 6 17:44:13 2015 +0200 Merge remote-tracking branch 'origin/master' into prerelease commit 8c769c553022f317586f7a2d21cd88ae2155ce2d Author: Peter Bex Date: Sat Jun 6 17:38:26 2015 +0200 Merge online wiki changes into the manual. commit 0b0d820a1a0077395a9de371012d765411aa00fb Author: Moritz Heidkamp Date: Sat Jun 6 14:33:44 2015 +0200 Update copyright year to 2015. I used the same script as last time, only that it didn't work anymore so I had to change it to this: git grep -Il '(c) [0-9-]*, The CHICKEN Team' | while read i; do sed -r 's/\(c\) (([0-9]+)-|(2014))(2014)?,/(c) \2\3-2015,/' "$i" > tmp && mv tmp "$i"; done On GNU systems you can use "sed -i" instead of mucking about with tmp files. commit d91a1a28e0ee0d9f3dc57319b797da5c0b908c0b Author: Moritz Heidkamp Date: Sat Jun 6 14:28:59 2015 +0200 Update copyright year to 2015. I used the same script as last time, only that it didn't work anymore so I had to change it to this: git grep -Il '(c) [0-9-]*, The CHICKEN Team' | while read i; do sed -r 's/\(c\) (([0-9]+)-|(2014))(2014)?,/(c) \2\3-2015,/' "$i" > tmp && mv tmp "$i"; done On GNU systems you can use "sed -i" instead of mucking about with tmp files. commit 525e0f71e7ac8d0a3aca597980a61ca84ba46e47 Author: Peter Bex Date: Sun May 31 15:59:26 2015 +0200 Update NEWS to mention full numeric tower support, and note the pitfall mentioned by John Cowan commit a3f09e53101c34fd161dc00e04f575304ffd5be3 Author: Peter Bex Date: Tue May 26 22:38:44 2015 +0200 Also perform range checks on foreign integer argument types. Enforce integers to lie within the range representable by the foreign type. This simplifies runtime a little by passing the size in bits to the checking procedure. This allows us to replace the four procedures sys#foreign-[unsigned-]integer[64]-argument with the two procedures sys#foreign-[unsigned-]ranged-integer-argument. This is more correct for highly system-dependent types like size_t, which may be 32 bits or 64 bits on different systems. Otherwise, we would have to add these 8 missing procedures: - sys#foreign-[unsigned-]integer32-argument - sys#foreign-[unsigned-]short-argument - sys#foreign-[unsigned-]long-argument - sys#foreign-[unsigned-]size_t-argument commit ec5ebfca528c81b5550e24b7bef69b0701aa1032 Author: Peter Bex Date: Sat May 23 15:04:40 2015 +0200 Fix C_long_to_num and C_unsigned_long_to_num so it doesn't attempt to allocate bignums of size 2 commit 81da7430a61c9c2a00c2a783d21aee61d1be39a3 Author: Peter Bex Date: Fri May 22 21:24:23 2015 +0200 Also add handling for bignums to [unsigned-]long and fix integer64 and integer argument type checkers to accept bignums too. Add a few basic tests. Fix size calculation for foreign [unsigned]-integer64 type and srfi-4 conversions and fix conversion on 32-bit platforms. commit f7889a9a91fb90cf9ea0b9ea093bb595b953c716 Author: felix Date: Mon May 18 12:27:00 2015 +0200 posix unit: "local-time->seconds" and "utc-time->seconds" internally expected float result (changed now to use "=" instead of "fp=", which also removes compiler warning. commit 97e61d2b5697260654f1fbd3e1c7a3536ee78958 Author: Peter Bex Date: Wed May 6 20:13:38 2015 +0200 Small cleanup: remove unnecessary code in overflow detection in C_a_i_fixnum_plus commit 5a3f3638fe6fa7fb86fb8eea591e103db4420d1f Author: Peter Bex Date: Sun Apr 19 14:50:04 2015 +0200 Use precise tracking of scratch space memory usage to reduce the number of "forced" minor GCs commit 3044620ac1a20c22a0f501cf01592c09396fb89f Author: Peter Bex Date: Sun Apr 19 13:38:49 2015 +0200 Restore Burnikel-Ziegler division, which makes a big difference for division of huge numbers commit a04069e4a4f44412931574cba3efcd82a33eea13 Author: Peter Bex Date: Tue Apr 7 22:29:01 2015 +0200 Convert the final procedure that uses C_bignum_allocate to use the scratch space. This allows us to can get rid of C_bignum_allocate. The converted procedure was C_u_flo_to_int, (converted to C_s_a_u_i_flo_to_int). This function was duplicated as flo_to_tmp_bignum to be used internally inline - this is now converted to also make use of C_s_a_u_i_flo_to_int, reducing quite a bit of code bloat. commit 40e30a4534399ffe720821017a771951e309952d Author: Peter Bex Date: Mon Apr 6 20:16:14 2015 +0200 Make quotient, remainder *and* modulo inlineable, and restore compiler rewrites for them. Fix fxmod to work according to Scheme rather than C %-operator semantics. commit e4dee9a9364cd2c86852508b1968fd1b702c3f0d Author: Peter Bex Date: Mon Apr 6 15:39:07 2015 +0200 Clean up rat_times_{rat,integer}, integer_gcd and C_a_i_exact_to_inexact considerably. This is possible now that generic integer division is inlineable. commit 4859e34b0f6102b60ddf44dfc5aabbe388e40b6a Author: Peter Bex Date: Mon Apr 6 13:34:38 2015 +0200 Convert dyadic integer division functions to use scratch space. commit fc2b39944b59fe96f64558a81c7be50875b343b5 Author: Peter Bex Date: Sun Mar 29 22:14:50 2015 +0200 Simplify division of bignums and remove a lot of boilerplate code. Unfortunately, this gets rid of Burnikel-Ziegler division (for the time being) The Burnikel-Ziegler optimization wasn't as effective as Karatsuba in the first place, and it got in the way of inlineability for quotient and remainder. And besides, if it isn't too difficult we can restore it later in a similar way like Karatsuba multiplication. commit 15d7c84f68a53b6ff968d3a226ecf65d40496eb4 Author: Peter Bex Date: Sun Mar 29 19:55:04 2015 +0200 Restore Lehmer's gcd, which *really* improves bignum performance in some cases. commit 71a88794a70ec0feb9fdc2a25c424b7fbb432720 Author: Peter Bex Date: Sun Mar 29 15:09:06 2015 +0200 Make C_digits_to_integer inlineable, to make the reading of numbers a little bit faster commit 84391f76b2be6833c11bcf1d8e86f339ddc11d1b Author: Peter Bex Date: Sat Mar 28 20:02:11 2015 +0100 Re-implement variadic * in C, in order to avoid consing up rest lists. commit 404627f287754ff03ae16a2aa6cb9b0cfa203632 Author: Peter Bex Date: Sat Mar 28 19:28:56 2015 +0100 Make generic dyadic * inlineable! Restore old-style compiler specialization rewrites for dyadic *. commit be8d50782e83d0fd41139ed30365093a38ac9cd0 Author: Peter Bex Date: Wed Mar 25 16:51:58 2015 +0100 Convert dyadic integer multiplication (including Karatsuba!) to use scratch space. The multiplication code tries to run Karatsuba only if there's enough room on the stack. This means the runtime performance may be somewhat unpredictable, but at least it allows us to still have a more-or-less readable version of Karatsuba, which is a fundamentally recursive algorithm. If anyone feels up to it, this could be improved by making it iterative with a dynamically allocated stack of TODOs, making the algorithm use constant C stack space, ensuring it can always be used. And, best of all, it means multiplication can be inlineable. commit ef6fe73f7e1c09aa752308c471fd2c55f134ac22 Author: Peter Bex Date: Sun Mar 22 19:35:26 2015 +0100 Make dyadic bitwise operators inlineable again and restore compiler rewrites. Also move variadic versions of bitwise operators to C. commit fe500d835565e373891e9b92c52a1ff4db4c7301 Author: Peter Bex Date: Sun Mar 22 15:45:24 2015 +0100 Make arithmetic-shift inlineable again, and restore compiler rewrites for it. This makes it possible to drastically simplify exact->inexact and rat/flo comparisons. commit 6140fe4d060fa56fa27b8d5781c762ab6eea87c7 Author: Peter Bex Date: Sun Mar 22 14:47:02 2015 +0100 Make bignum-extract-digits inlineable, to improve Karatsuba and Burnikel-Ziegler perf. commit 3700b414240e87f0a6454949762b3240c458e1cb Author: Peter Bex Date: Sat Mar 21 10:19:41 2015 +0100 Re-implement variadic + and - in C, in order to avoid consing up rest lists. Restore old-style compiler specialization rewrites for dyadic + and -. Also clean up library.scm a bit by removing the explicit calls to dyadic procedures: they're rewritten so it isn't necessary. commit db5d28646c2802be55f604c1566ee3d212e3512a Author: Peter Bex Date: Thu Mar 19 20:38:36 2015 +0100 Make generic dyadic + and - inlineable! commit 15fd900137c5007d60e6300973df7e73b2934110 Author: Peter Bex Date: Sun Mar 15 17:56:56 2015 +0100 Convert exact->inexact to a horribly long and ugly C function, making it inlineable (needed for converting + and - to be inlineable) commit fdae1c59fe2cca92db621daaebe14f4b25dbf29e Author: Peter Bex Date: Thu Mar 12 22:27:48 2015 +0100 Convert dyadic integer plus and integer minus to use scratch space. commit 285b06bccf7c43d17e6652c852c33fc55014ed8b Author: Peter Bex Date: Mon Mar 9 23:31:12 2015 +0100 Convert gcd to use scratch space, making it inlineable. This is in preparation of converting + and - to use scratch space, since those need gcd support when dealing with ratnums. Unfortunately, by making gcd inlineable, we can't (yet) make use of Burnikel-Ziegler division, which means that gcd on large bignums will not benefit from the fancy algorithms. We drop Lehmer's GCD implementation (at least for now), because transcribing it to C using the current API would result in many more piles of hairy code. Because the inlineable GCD does not receive a continuation, yet still needs to create an unbounded number of intermediate bignums, this requires a way to "re-use" a fixed number of buffers. We add a new "migrate" function which can move all components of an object that live in a particular buffer into another buffer. If the object does not live in that buffer (or is immediate), it will not be touched. This allows us to drag along the x and y objects in gcd with only one "lookbehind buffer" that *may* hold the previous iteration's intermediate object. On the first iteration, x and y will be provided by the caller and hence not live in the buffer, so these won't be touched. commit 4b517f9e64b0bb209de261a7f15072009016be2d Author: Peter Bex Date: Thu Mar 19 22:25:58 2015 +0100 Convert generic negate and abs procedures to inlinable scratchspace-based versions commit 46f1bea70bc33069d97ac275102474d6a43dd204 Author: Peter Bex Date: Sun Mar 1 21:51:07 2015 +0100 Introduce a new transient memory region: the "scratch space", and update integer abs and integer negate to use it. This memory region is used when a variable amount of memory is needed in an inline function. We don't have a continuation to save in these situations, so we set aside the variable part of the object in the scratch space, but the returned object itself must still be allocated on the stack. This can only be done if the returned object is "immutable". This is required because we need to update the object slot when the scratch space is resized and the data part is moved. The stack-allocated object's slot pointer is remembered in a pointer which directly precedes the stored object in memory. This allows us to update the slot without having to do a liveness analysis while resizing the scratch space; we can just update the one slot and move the object with impunity. The scratch space is reclaimed at the earliest opportunity, which will be during a minor GC. This ensures we don't get runaway memory allocation situations. Because some part of the object is still stored on the stack, even in a tight loop that gets compiled to a C loop, there will still be stack built up, ensuring an eventual GC. The GC is extended to understand that the scratch region may(!) exist, and will copy objects from it into the heap, like stack-allocated objects, making it a proper extension of the nursery. Currently, the only objects stored like this are (of course!) bignums, but this approach could also be used to allocate u8vectors, for example: they have a similar structure, with a wrapper struct pointing to bytevector/blob data. commit f2315e8e883b0db3e22292727bc6e6eba8c103da Author: Peter Bex Date: Sun Feb 22 15:44:05 2015 +0100 Convert bignum representation to be a string wrapped in a structure. This is exactly the same representation as the numbers egg uses. This will allow us to store the data block in a different place in memory. commit c493d510081b32c02971812fc1b060bd3ae4360a Author: Peter Bex Date: Thu Feb 12 23:03:24 2015 +0100 Improve performance a lot by also rewriting vararg numeric ops with two arguments of *unknown* types to the dyadic versions. Fix rewrite loop caused by ##sys#gcd and ##sys#lcm having an internal procedure name of gcd and lcm while the latter have specialization rewrites to the former. commit a2d7a0454cc2ab24bdfff8e6920a28e48a799182 Author: Peter Bex Date: Thu Feb 12 20:57:27 2015 +0100 Fix silly bug in eqv? commit f945fd844bf6e24527d5dd085cdba7c0e9f57cd7 Author: Peter Bex Date: Wed Feb 11 22:02:45 2015 +0100 Improve error messages in lcm by enforcing that the checks done by gcd are performed first, which has the location available commit 5576895f9607fcdb51d61a323a136a0e1da4267a Author: Peter Bex Date: Sat Feb 7 16:06:31 2015 +0100 Update lfa2 with the new number types commit a5bd817ac2dff19a94af6a4cc6b483a46f882a57 Author: Peter Bex Date: Sat Feb 7 15:45:45 2015 +0100 Change procedures that deal with UNIX timestamps so they return exact integers commit ed55272409842280910a6d7e46bffc10deb07b69 Author: Peter Bex Date: Sat Feb 7 12:52:29 2015 +0100 Extend srfi-4 with s64vectors and u64vectors, so we have the full SRFI covered. Update locatives to use exact integers and support 64-bit integers. commit 45874a8badda0b19f6a0c5f52b3824c4a0022c6a Author: Peter Bex Date: Fri Feb 6 22:18:40 2015 +0100 Fix srfi-4 integer vectors so they operate on exact integers. Add better arg checking and improve tests. TODO: Add s64vectors and u64vectors. commit 8ff49601f4a5e627eb3db35116db4a5416c037ff Author: Peter Bex Date: Tue Feb 3 20:55:01 2015 +0100 Update arithmetic-test expectations to have exact integers instead of flonums. Fix arithmetic test to signal success/failure in exit status (it would just ignore failure before, which makes it a pretty useless test) commit 65e2e7076416dea94e52bdedceb7b6c4760e865a Author: Peter Bex Date: Mon Feb 2 21:10:53 2015 +0100 Provide the "full-numeric-tower" feature identifier, like the numbers egg does. Update expected r4rs output to include lines about bignums and cplxnums. All tests now pass again! commit ed374ee144fbbb6665954913a0837348bd693fcf Author: Peter Bex Date: Sun Feb 1 21:21:37 2015 +0100 Add bignum support to the FFI. commit 12a921b5dc3d512c6f41b2d6a008e996f956c4bc Author: Peter Bex Date: Sun Feb 1 20:20:52 2015 +0100 Teach C backend about bignums, so that literals will be encoded/decoded correctly in binaries. Currently, bignums are decoded into statically allocated memory, just like strings. This simplifies things a bit, and ensures we won't run out of stack in case of truly huge bignums. Remember, ratnums and compnums are represented internally as structures, so these are correctly serialized "for free". commit 1d6b133c488867b640460ef72855e8b8fe580e6b Author: Peter Bex Date: Sun Feb 1 13:31:32 2015 +0100 Restore optimized algorithms for multiplication, division and number->string conversion. commit 92433dcf7ba701520ad7cd5a1e1365837107562e Author: Peter Bex Date: Sat Jan 31 22:31:21 2015 +0100 Add some tests from the numbers egg, they all pass in interpreted mode. To run the test suite we still need to do quite a bit of work on the compiler. commit 039a8d5c2519cb2e9b5c8f516ad20cf0607158b4 Author: Peter Bex Date: Sat Jan 31 21:37:38 2015 +0100 Convert most ##sys#check-exact calls to the new ##sys#check-fixnum, because that's what's usually really meant. commit 98bac9be2fd53bec014f273bca0b389915129cf5 Author: Peter Bex Date: Sat Jan 31 16:47:00 2015 +0100 Fix sqrt and signum to accept extended numbers (behaving like CL on cplxnums). Add exact-integer-sqrt and exact-integer-nth-root for exact root finding. commit ff20cb560683b520a008a46d8455491e1abf7c05 Author: Peter Bex Date: Sat Jan 31 16:01:12 2015 +0100 Convert bitwise operators to accept bignums: - bitwise-and - bitwise-xor - bitwise-ior - bitwise-not - arithmetic-shift - bit-set? These now accept only exact integers, so no more flonums! commit f89539d7cd0df71361202687ca876a16f61781ed Author: Peter Bex Date: Sun Jan 25 20:07:11 2015 +0100 Make exact->inexact and inexact->exact aware of extended number types. Implement rounding operations: round, floor, ceiling, truncate. Add rationalize, remove ratnum restrictions from "Deviations from the standard". Update angle, log, exp, expt and the trig functions to accept extended numbers. After bootstrapping this with itself, numbers-string-conversion-tests works! commit 61af5f12d958e63811a8bb23a93706c0b53f4b27 Author: Peter Bex Date: Sun Jan 25 17:51:52 2015 +0100 Implement the basic five (and derived) operators for extended numbers: +, -, *, /, gcd This means we have complete read/write support for the full numeric tower! The algorithms used here are the unoptimized "schoolbook" operators, the calls to the optimized versions are currently commented out. Nevertheless, this commit's diff is still very big, due to a few things: - The basic algorithms for bignums are on the large side, and we have to add them all at once because ratnum simplification involves all five operations. - There are three "flavours" of division: returning quotient and/or remainder - We rip out all the old-style "specialization" rewrites in the compiler for the operators we're adding. These will require further study if we want rewrites at this low level. - The inline bignum constructors are moved up in the file due to them being used in some fixnum operators. - We can finally implement "magnitude" for compnums. - The number-syntax test has been reverted to the original "numbers" one. - In library-tests we need to change tests for division by inexact zero to check for +inf.0 instead of error (this is more consistent even though it may result in error propagation). This also adds a few new procedures: - quotient&modulo and quotient&remainder, which calculate the named values simultaneously and return them both, which is efficient for bignums. - fxrem to calculate the remainder for fixnums (see also fxmod) - fxgcd to calculate the GCD for fixnums - fpgcd to calculate the GCD for flonums (will error if not integral) commit c0ac70d05c95430e46ea9c622e0c2d561ac15dda Author: Peter Bex Date: Sun Jan 25 12:52:19 2015 +0100 Change comparison procedures to understand extended number types. This is a pretty big and very ugly change, for a few reasons. First, we make comparisons between fixnum and flonums more carefully: We might be on a 64-bit system; simply coercing the fixnum to a flonum would case 10 bits of data loss there. Instead we coerce the fixnum to a bignum, do the same to the integer part of the flonum and compare the two. If they're equal, we simply check the sign and the fractional part to break the tie. To compare ratnums with flonums we multiply the numerator and the flonum by the denominator, and we shift both by the number of bits in the flonum fraction. Afterwards, we simply compare the resulting bignums. Finally, in order to keep things manageable we have only one comparator function (basic_cmp) that does the hard work. The various comparison primitives are expressed in terms of basic_cmp. commit 53b2775d76405c0361f7fcc6d597c8d35904b79f Author: Peter Bex Date: Sun Jan 25 20:02:01 2015 +0100 Add extended number support to "describe" feature in csi commit 0378abc4f4ec7a302fd8ba60175558f806530eea Author: Peter Bex Date: Sat Jan 24 21:56:42 2015 +0100 Add basic support for reading and writing of extended numbers. This adds the following new procedures: - integer-length to get the length in bits for an integer (from SRFI 33) - fxlen to get the integer length of a fixnum It doesn't work 100%: ratnums can't be read yet because there's no division support yet (they need to be simplified after reading), and exact numbers can't be read in scientific notation yet due to missing integer-power and aforementioned division procedures. Reading complex numbers works, except for exact compnums due to the above caveats), and bignums work when written as a sequence of digits in any radix. commit c47ac2643ca05600e7b3a0411e765e385358a6fe Author: Peter Bex Date: Sat Jan 24 18:05:57 2015 +0100 Add a few predicates and teach existing ones about extended numbers; add complex constructors. Added: - cplxnum? - ratnum? - exact-integer? - imag-part - real-part - make-rectangular - make-polar - infinite? - nan? - ##sys#check-real Updated to understand new types: - exact? (and ##sys#check-exact) - inexact? (and ##sys#check-inexact) - integer? (and ##sys#check-integer) - real? - rational? - finite? - zero? - exact? - inexact? - negative? - positive? - odd? - even? commit 1ee218f1a208936dacb4e0dbce0cca79f5e58869 Author: Peter Bex Date: Thu Jan 22 22:01:20 2015 +0100 Add basic low-level plumbing for extended numeric types. This includes the following: - New header type tag for bignums: - Bignums are bytevectors for simplicity of GC, but we access C_uword slots - Data field stores n+1 uwords, where n is the number of digits or limbs - At slot index 0, we store 0 if the bignum is positive, 1 if it is negative - At slot index n+1, we store digit n, as an unsigned word - Some basic C-level support for inspecting bignum internals: - C_bignum_size(x) to get the number of limbs (digits) in a bignum - C_SIZEOF_BIGNUM(n) to calculate size requirements for bignum of n limbs - C_SIZEOF_FIX_BIGNUM for size of upgraded fixnum to unnormalized bignum - C_bignum_negativep(b) to check if a bignum is negative (first slot) - C_bignum_digits(b) to get a pointer to the first digit - C_bignum_mutate_size(b,s) to do a hard reset of the internal bignum size - Some basic bignum construction functions and macros: - C_allocate_bignum to dynamically allocate on stack or heap in CPS context - {allocate,free}_tmp_bignum to allocate with malloc (internal use only!) - Inlineable allocators C_bignumX for when size is known in advance to be X - C_a_u_i_fix_to_big for promoting fixnum to (unnormalized!) bignum - C_bignum_simplify to normalize them again (demote to fixnum if it fits) - Some other support macros, like signed & unsigned C halfword types etc - Complex numbers are stored as structures, with type tag ##sys#cplxnum - Rational numbers are stored as structures, with type tag ##sys#ratnum - Type tags are kept around in exported C globals, and tracked by GC - New scrutinizer types "bignum", "cplxnum" and "ratnum" - New scrutinizer class "integer", for exact integral numbers (or fixnum bignum) - Scrutinizer class "number" is upgraded to include bignum, cplxnum and ratnum. - Add "exact type" predicates so you can detect bignums, cplxnums and ratnums. commit 08f07fd2fc16cb81587cf4b84f56e3b58fb05e35 Author: Peter Bex Date: Sat May 30 16:52:02 2015 +0200 silence a valgrind warning about "count" being used without initialization Signed-off-by: Peter Bex commit 3b30dcfbe4b3da791c07236f417c57cf62e7431c Author: Joerg F. Wittenberger Date: Tue May 26 16:11:59 2015 +0200 silence a valgrind warning about "count" being used without initialization Signed-off-by: Peter Bex commit 800fff56e8e8c95316154e14648b69fc632c4f0b Author: Evan Hanson Date: Wed May 27 20:25:33 2015 +1200 Add test case that triggers clustering Signed-off-by: Peter Bex commit 00a78166fab1a632afa0047f5f3f59036b508de4 Author: Evan Hanson Date: Wed May 27 17:34:15 2015 +1200 Fix invalid calls to `get` where `db-get` should be used Small optimizer.scm fixes after 50ee93d. Signed-off-by: Peter Bex commit 7eb95c52acc4f57a2dd66c36090d87fdce62412f Author: Peter Bex Date: Mon May 25 17:42:01 2015 +0200 Re-walk `if` nodes after dropping branches This makes sure the scrutinizer uses the new type of each node after converting it into a non-conditional form. For example, the expression `(if #t 1 2.0)` should have the type `fixnum` after dropping the unreachable branch, rather than its original type `(or fixnum float)`. Signed-off-by: Peter Bex commit 93f5ce7c906cc6523386da3449f79ce1367d5b55 Author: Evan Hanson Date: Mon May 25 11:53:21 2015 +1200 Re-walk `if` nodes after dropping branches This makes sure the scrutinizer uses the new type of each node after converting it into a non-conditional form. For example, the expression `(if #t 1 2.0)` should have the type `fixnum` after dropping the unreachable branch, rather than its original type `(or fixnum float)`. Signed-off-by: Peter Bex commit 33000ace25470920a87a53c178de6ac29f294367 Author: Peter Bex Date: Mon May 25 15:43:30 2015 +0200 Silence "always true" warning for *allow-utf8-mode?* commit 87422d23af61871b1a2fb8c6c835e9d5e40b1c27 Author: Peter Bex Date: Mon May 25 15:42:03 2015 +0200 Don't consider #t not always-true Signed-off-by: Peter Bex Conflicts: tests/scrutiny.expected commit 21fa0f220b0db8682844faf680834b3aef486c01 Author: Peter Bex Date: Mon May 25 15:25:17 2015 +0200 Don't use -local for bootstrap compiler objects Some variables from the compiler-namespace are reassigned -- for example the handful of globals from compiler.scm that are `set!` to another value in batch-driver.scm -- so the compiler objects that use them shouldn't be compiled with -local. Signed-off-by: Peter Bex Conflicts: defaults.make commit c48a2fb65e0d19992439a231747230e544b88405 Author: Peter Bex Date: Mon May 25 15:08:23 2015 +0200 Silence "always true" warning for *allow-utf8-mode?* commit 332ba1db115590e389513d05b3be2e61e38d59da Author: Evan Hanson Date: Sat Apr 18 18:21:17 2015 +1200 Don't consider #t not always-true Signed-off-by: Peter Bex commit f606bbc8e29f956f399cffd01b83f72f1ba32b29 Author: Evan Hanson Date: Sat Apr 18 18:08:02 2015 +1200 Don't use -local for bootstrap compiler objects Some variables from the compiler-namespace are reassigned -- for example the handful of globals from compiler.scm that are `set!` to another value in batch-driver.scm -- so the compiler objects that use them shouldn't be compiled with -local. Signed-off-by: Peter Bex commit f40f5daf969459b2601dfec39dfdcfcf82c2ccc9 Author: Peter Bex Date: Sat May 23 16:14:36 2015 +0200 Fix size calculation for generated code for (list ...). The calculation was off by one, which might cause errors. Signed-off-by: Evan Hanson commit b6fbdbc80e3052d8ec81be91b5ea4eecce6bbf9f Author: Peter Bex Date: Sat May 23 16:01:32 2015 +0200 Fix size calculation for generated code for (list ...). The calculation was off by one, which might cause issues. Signed-off-by: Evan Hanson commit 889d1c9bbec9077eff11985621e85595f69ac868 Author: Evan Hanson Date: Fri May 1 20:24:43 2015 +1200 Specialize memq, assq et al. of null to false Signed-off-by: Peter Bex Conflicts: types.db commit fca21d2786ea4a0e2c97df941794a0417c2bd5b3 Author: Evan Hanson Date: Fri May 1 20:24:43 2015 +1200 Specialize memq, assq et al. of null to false Signed-off-by: Peter Bex commit e1dd32923238660c2d00b8ca011c5c0ee22dfd79 Author: Evan Hanson Date: Sat Apr 25 15:27:56 2015 +1200 Convert the eval unit into a module Updates the "chicken", "r4rs", "r5rs" and "scheme" modules to reexport procedures from the eval module. These can be removed from the "chicken" module as other code is updated to use "chicken.eval" instead. Uses the fully-namespaced version of `eval` in generated import libraries. Moves `file-requirements` registration out of the eval unit's `##sys#do-the-right-thing` procedure and into an optional callback, in order to avoid a circular dependency on chicken.compiler.core. Removes declaration processing from the eval unit's `##sys#compile-to-closure`. Uses namespaced versions of some eval unit procedures, such as `repository-path`, in a handful of places, to simplify bootstrapping now that importing the latter requires the eval module to have been built. Modifies `eval-when` to treat its situation specifiers as raw symbols, so that the following evaluates to 1 rather than raising an error: (let ((eval #f)) (eval-when (eval) 1)) ; => 1 This version should be bootstrapped with itself before building from any subsequent commits. commit 60512769eaf841ee42f086e7dcebcaf9986ccfef Author: Evan Hanson Date: Sat Apr 25 08:40:29 2015 +1200 Use srfi-4 module for environment-tests The `module-environment` procedure only works for primitive modules, which chicken.data-structures is not. commit a3b8a0adf77a9a7ec65a66918a84c2bbda0f97cc Author: Evan Hanson Date: Sat Apr 25 08:11:24 2015 +1200 Remove references and rewrites for null-pointer[?] They were removed in e1a5773. commit 279dee59c211e3920f34e263dbfa6ad31669209b Author: Evan Hanson Date: Sat Apr 25 08:11:24 2015 +1200 Remove references and rewrites for null-pointer[?] They were removed in e1a5773. commit 541215a4bb3dad44dce412b090b8d04a7987774b Author: Mario Domenech Goulart Date: Fri Apr 24 17:16:29 2015 -0300 README: typo fix in Windows notes (s/but use backslashes/use backslashes/) commit c1f9dc27f0e817c96272828b1b465eac97729b52 Author: Mario Domenech Goulart Date: Fri Apr 24 17:11:50 2015 -0300 README: update binary version in "What gets installed" commit 30ea66a7ada5a6d794482696cbe8ca64cb2f706d Author: Mario Domenech Goulart Date: Fri Apr 24 17:16:29 2015 -0300 README: typo fix in Windows notes (s/but use backslashes/use backslashes/) commit 792059f40ca837f828dada847738ecb569685495 Author: Mario Domenech Goulart Date: Fri Apr 24 17:11:50 2015 -0300 README: update binary version in "What gets installed" commit 233ac05c199df3c379c345998add6072051551af Author: Evan Hanson Date: Fri Apr 24 19:13:59 2015 +1200 Remove references to c-runtime It was removed in e1a5773. commit 3f40dafc1479f01cff4b58c5140fcbef009ac753 Author: Evan Hanson Date: Fri Apr 24 19:13:59 2015 +1200 Remove references to c-runtime It was removed in e1a5773. commit e86234cd8ad7dd8253b166e552b8f2cf406c4c0f Author: Evan Hanson Date: Fri Apr 24 18:55:14 2015 +1200 Fix misspelled "if" forms in argument check procedures commit 100f322ab29306907f2af8892b22558ba8b32654 Author: Evan Hanson Date: Fri Apr 24 18:55:14 2015 +1200 Fix misspelled "if" forms in argument check procedures commit ed76dd2ad1b69c6137e994c4348829f3b17ff936 Merge: ebcbcb0a 0d53a48d Author: felix Date: Tue Apr 21 10:13:45 2015 +0200 Merge remote-tracking branch 'origin/chicken-5' into chicken-5 commit ebcbcb0a7287fd9b4b4c4d8b8d4907ac07087d11 Author: Evan Hanson Date: Mon Apr 20 18:55:57 2015 +1200 Remove c-platform rewrites for srfi-1 identifiers Signed-off-by: felix commit 6fb7d63338b1667c967be1ce2744c0db42dea66a Author: Evan Hanson Date: Mon Apr 20 18:55:36 2015 +1200 Remove extended-bindings for srfi-1 identifiers Signed-off-by: felix commit c567d252bdb3bec67954f75b616a2945f628f917 Author: Evan Hanson Date: Mon Apr 20 18:26:40 2015 +1200 Remove unused C_WINDOWS_GUI macro commit fb2eb5260121db9a5c24fd37c881b83a0e4ae02b Author: Evan Hanson Date: Mon Apr 20 18:01:49 2015 +1200 Only resolve executable once when using a private repository Avoids resolving the current executable twice when a private repository is used on SEARCH_EXE_PATH platforms by moving the `C_main_exe` assignment into `C_main_entry_point`. (Previously, it would be resolved once by `C_private_repository` and once again when setting `C_main_exe`.) commit 52febfc825729ed3c9f24755bc28c08977ff95f7 Author: Evan Hanson Date: Tue Mar 17 20:57:16 2015 +1300 Move C_path_to_executable into runtime and add executable-pathname procedure Moves the logic from `C_path_to_executable` into a new function `C_resolve_executable_pathname` that returns the executable's full pathname, exposes this as a library procedure `executable-pathname`, and redefines `C_path_to_executable` as a wrapper for the new function that simply drops the filename part of the resolved path. Resolves the executable once, at startup, on platforms that require searching for it. Uses realpath to resolve pathnames, where supported. Handles some additional error cases and frees the allocated buffer when `C_resolve_executable_pathname` fails. Removes the dependency on CoreFoundation when compiling with a private repository on Mac OS X by using _NSGetExecutablePath instead of the CoreFoundation framework's Bundle- and URL-related functions. Fixes #971. commit 0d53a48d838b08f923eb0a3393b0521777d99e91 Merge: 778605bb 2abae62e Author: Evan Hanson Date: Sat Apr 18 10:17:44 2015 +1200 Merge branch 'drop-srfi-1' into chicken-5 commit 2abae62eba2faa82d7a0380504ed5f6746268830 Author: Evan Hanson Date: Sat Apr 18 10:07:54 2015 +1200 Remove srfi-1 usage from files under scripts/ commit bd9e8a15bc0625e89a6532ff7d9824804c37292b Author: Evan Hanson Date: Thu Apr 16 18:52:50 2015 +1200 Make initializer argument to mini-srfi-1's make-list optional commit 38cb8621ab91483f9da33ff53e694da8d08184d2 Author: Evan Hanson Date: Thu Apr 16 18:52:04 2015 +1200 Use eq? as default comparator for mini-srfi-1's delete commit d8d2334fb2b23f83108eaf6c2c74e269c4f91096 Author: Evan Hanson Date: Thu Apr 16 18:50:14 2015 +1200 Suffix mini-srfi-1 lset procedures to indicate that they use eq? commit 2b89724d5654b3a729b06c8a3fb95f16cf304101 Author: Evan Hanson Date: Sun Mar 22 15:25:49 2015 +1300 Add arity checks for ##core#proc-class platform rewrites This prevents the c-backend from producing code containing invalid C procedure calls when a Scheme procedure with a ##core#proc (class 13) rewrite is invoked with the wrong number of arguments. Signed-off-by: Moritz Heidkamp commit 778605bb491b77ac991a10c8c51960192ac5f61e Author: Evan Hanson Date: Sun Mar 22 15:25:49 2015 +1300 Add arity checks for ##core#proc-class platform rewrites This prevents the c-backend from producing code containing invalid C procedure calls when a Scheme procedure with a ##core#proc (class 13) rewrite is invoked with the wrong number of arguments. Signed-off-by: Moritz Heidkamp commit 3a061a3b8daf1bff04f8795bb64739168fd8ead9 Author: Evan Hanson Date: Sun Mar 22 10:54:45 2015 +1300 Fix typo in variable name "user-suppplied-options" commit b61e79cb5ffad878b39b9317152d303bfae3c713 Author: Evan Hanson Date: Thu Mar 19 21:54:09 2015 +1300 Remove incorrect sentence in argv docs re: uniquity of resulting list commit 175e21578b0d4544f030c0557524e9367bcc71b3 Author: Evan Hanson Date: Thu Mar 19 21:54:09 2015 +1300 Remove incorrect sentence in argv docs re: uniquity of resulting list commit 39b1a129cddb4f39279b39396556112a444d3267 Author: felix Date: Tue Feb 17 12:34:04 2015 +0100 changed links to tarball repo, which moved to code.call-cc.org commit 51081b8ca91a12408d01105b86701f7496f36534 Author: Evan Hanson Date: Sun Feb 15 10:28:36 2015 +1300 Add missing imports to scripts/makedist.scm commit f94b6850756c55cfedf9034d48b9b01ce6a60d06 Author: Evan Hanson Date: Fri Feb 13 17:06:45 2015 +1300 Import regardless of features when interpreted This causes import libraries to be loaded into interpreted code whether or not the associated feature has already been registered, which is necessary now that the core units are modules and thus may require aliasing even when their libraries are already loaded. commit abd9f27ec1900db8e1d55c5bc5436782fdf2660c Author: Evan Hanson Date: Thu Feb 12 19:20:24 2015 +1300 Rename the foreign module to chicken.foreign commit 591bc953400af200c4bbfcb76736171f1752f462 Author: Evan Hanson Date: Thu Feb 12 17:44:54 2015 +1300 Convert the irregex unit into a module commit 041031797ff18f927c2c3ebf933a0e972e228b47 Author: Evan Hanson Date: Thu Jun 18 20:59:12 2015 +1200 Add extras import to numbers-tests for sprintf The test suite introduced by 92433dc needs to import the extras module for access to `sprintf`. commit 1b7ffe2138160fa26766c24d3bd56e1bd9b20e86 Author: Evan Hanson Date: Wed Feb 11 09:17:47 2015 +1300 Convert the extras unit into a module Includes minor workarounds in build-version.scm and posix-common.scm to avoid depending on extras (and associated bootstrapping problems). commit 8ebea4a70de449b883f9f973e8d41772eb7bc340 Author: Evan Hanson Date: Wed Feb 11 09:06:06 2015 +1300 Convert the posix unit into a module commit bfb7fdf9bedb34730d8b6694c9676bf4825bdb92 Author: Evan Hanson Date: Tue Feb 10 18:39:12 2015 +1300 Convert the lolevel unit into a module commit 7f7ec447321f1c06de46423ebfb4745bd30a2d83 Author: Evan Hanson Date: Tue Feb 10 17:55:43 2015 +1300 Convert the files unit into a module commit 03f709f892d1cb515dfc237e7de7cf685efb61f0 Author: Evan Hanson Date: Tue Feb 10 14:12:35 2015 +1300 Convert the tcp unit into a module commit ee71f3cdae746a5a37dbe9327e9d6c5d6fac0438 Author: Evan Hanson Date: Mon Feb 9 07:04:34 2015 +1300 Convert the data-structures unit into a module Includes a minor tweak to srfi-4, to avoid depending on data-structures. commit ad725d1298648cc89b0f034e43916098fa4ae891 Author: Evan Hanson Date: Sat Feb 7 23:41:02 2015 +1300 Convert the utils unit into a module commit d4b6dab350b7db7efe0911d3599be277483d3175 Author: Evan Hanson Date: Wed Jan 28 19:35:20 2015 +1300 Convert the ports unit into a module Makes ports.scm into a proper module (named "chicken.ports") and removes its static, "primitive" import library in favor of one that is dynamically generated during the build. Also removes a now-unnecessary compatibility hack during bootstrapping in irregex-core.scm. commit cbd0028871d756bd3532996c68bf8278d01188e6 Author: Evan Hanson Date: Sun Feb 8 14:43:48 2015 +1300 Remove references to srfi-1 from the manual commit d02169861a4182c5ae65c0037f61bb0701901150 Author: felix Date: Tue Feb 17 12:31:08 2015 +0100 declare functions in mini-srfi-1 as unused, as recommended by evhan commit 3a39198bd4f401896e0859fe50cdaadb1f4a0db6 Author: felix Date: Sun Feb 1 14:45:20 2015 +0100 Fixed bug in chicken-install.scm (incorrect attempt to simulate iota) commit c54824f75f025038c8f367fc9568da450d4ea68a Author: felix Date: Sat Jan 31 00:44:09 2015 +0100 More fixing for mini-srfi-1 commit 77e3855c5d4328af6275b2a18b4440054638b32a Author: felix Date: Fri Jan 30 11:56:05 2015 +0100 added posq/posv to mini-srfi-1.scm and fixed a few bugs, but optimizer seems to be broken. commit 5589270fd236d0e314360e7a7496adbe14b0a972 Author: Evan Hanson Date: Thu Jan 29 19:02:09 2015 +1300 Clarify define-inline documentation Reshuffles define-inline's documentation so that it's a bit easier to understand, and adds a sentence pointing out that the `inline-limit` option doesn't affect inline procedure expansion. commit 20cb557de585587e323c24373f6718ab895e0e3b Author: Evan Hanson Date: Thu Jan 29 17:52:52 2015 +1300 Merge wiki changes into manual This includes removing explicit hostnames from wiki links for offline use, per wiki revision 27938. commit 98fcf5fd614e4424da553d8c34189960896f2014 Author: Moritz Heidkamp Date: Thu Jan 29 18:53:49 2015 +0100 Add CVE-2014-9651 to NEWS commit 9ff12f96c902bbdce529e0147e54dcea24d1801d Author: Moritz Heidkamp Date: Thu Jan 29 18:53:49 2015 +0100 Add CVE-2014-9651 to NEWS commit 5d102c31cef490e6e3d3bd8f0044801ed4e50d0e Author: Evan Hanson Date: Thu Jan 29 19:02:09 2015 +1300 Clarify define-inline documentation Reshuffles define-inline's documentation so that it's a bit easier to understand, and adds a sentence pointing out that the `inline-limit` option doesn't affect inline procedure expansion. commit a9ecc86e31a55e2953f63ea786692c1245fe5a91 Author: Evan Hanson Date: Thu Jan 29 17:52:52 2015 +1300 Merge wiki changes into manual This includes removing explicit hostnames from wiki links for offline use, per wiki revision 27938. commit c5599d13eb1aa919991adf6ccb4b3cfca0db0074 Author: felix Date: Wed Jan 28 23:29:35 2015 +0100 Many changes to make build run trough commit 4f1d3c90897469982804ba4ab0ed6e58c8a38c77 Author: felix Date: Wed Jan 28 11:53:50 2015 +0100 Removed special cases for srfi-1 operations in scrutiinizer. commit dede8e271247b38f93dadcd0cf112da5d6b61e74 Author: felix Date: Wed Jan 28 11:53:39 2015 +0100 Removed srfi-1 from tests. commit eea2aae3360af25545e019b3e23b4593e7312b08 Author: felix Date: Wed Jan 28 11:53:29 2015 +0100 Removed srfi-1 refs in build and config files commit c5eea053da201cddcc90b567b60de70164ad11c8 Author: felix Date: Wed Jan 28 11:53:10 2015 +0100 Removed srfi-1 entries in types.db commit 38eba685aff02ae81cadead7076cb2920c8af089 Author: felix Date: Wed Jan 28 11:53:02 2015 +0100 Removed more references to srfi-1 unit. commit 8c4ad133d56d4c543261c2793b9bde9c77094f2c Author: felix Date: Wed Jan 28 11:52:37 2015 +0100 Removed srfi-1 sources and import lib commit 2bea48d98a0e58f44b4c6e401a571c9d03e3c12b Author: felix Date: Wed Jan 28 11:52:06 2015 +0100 Removed srfi-1 from docs commit f7d4cb8c2a18ec71ef3ef7d8eed2907499899175 Author: felix Date: Sun Jan 25 22:39:20 2015 +0100 Converted all core modules commit c5279b81a24187c52b51088d0da2a7dd32c5d901 Author: felix Date: Sun Jan 25 22:17:21 2015 +0100 And on, and on, and on. commit 2457805b2561664cabd0dd07f9c0825e3ee60857 Author: felix Date: Sun Jan 25 22:04:00 2015 +0100 csc, chicken-status, chicken-uninstall: mini-srfi-1.scm commit afcc38711da17055c105b56948039aaae6879e2f Author: felix Date: Sun Jan 25 22:03:26 2015 +0100 compiler-syntax.scm: mini-srfi-1 commit 7152bdbe5e26d20a98941078b12dce5db8f27892 Author: felix Date: Sun Jan 25 22:03:05 2015 +0100 mini-srfi-1.scm: length+ commit 7fdad6a82738ee25f1561b9d0f68b95cdfe8913b Author: felix Date: Sun Jan 25 21:54:41 2015 +0100 Added dependencies for mini-srfi-1.scm commit 993c6754dbc32bb4cbb1c7d3baac677efe797a4f Author: felix Date: Sun Jan 25 21:54:30 2015 +0100 lfa2.scm: mini-srfi-1 commit 957a745b7dbf5ecef26471cf539794c36dc8f997 Author: felix Date: Sun Jan 25 21:53:08 2015 +0100 core.scm: mini-srfi-1 commit b7a86a7be1705f373193a5e98defe1bf98bfa6a4 Author: felix Date: Sun Jan 25 21:52:31 2015 +0100 optimizer.scm: mini-srfi-1 commit 84887121d4afed6046e5c47e9204a102cacdbfcb Author: felix Date: Sun Jan 25 21:50:03 2015 +0100 chicken.scm: mini-srfi-1, dropped unnecessary "remove" commit fde5d35ae39b385d633503eae5b0578aa17470c7 Author: felix Date: Sun Jan 25 21:49:36 2015 +0100 Use non-destructive split-at in chicken-syntax.scm commit c7c0bdf8f944b6508b98c2b9c52e3f0e1e023eae Author: felix Date: Sun Jan 25 21:49:16 2015 +0100 mini-srfi-1: batch-driver.scm commit 5846115e0b9c7a09525df62bc23bebf414c72b96 Author: felix Date: Sun Jan 25 21:49:05 2015 +0100 Added more stuff to mini-srfi-1.scm commit 7f462b7654cf3c2e2548e5df221e2d2574eefdb2 Author: felix Date: Sat Jan 24 12:53:24 2015 +0100 chicken-syntax.scm and chicken-ffi-syntax.scm depend on mini-srfi-1.scm commit 1557f5a4992c9b676474bdde36719f04b3eeab94 Author: felix Date: Sat Jan 24 12:52:39 2015 +0100 chicken-ffi-syntax.scm: use mini-srfi-1.scm and dropped use of 3-arg fold-right commit e153e0e397f070494fb66aa2e3bed18f7eb29991 Author: felix Date: Sat Jan 24 12:51:48 2015 +0100 chicken-syntax.scm: uses mini-srfi-1.scm commit 3c843e18d5a5fd73231f8faeb88f0cfed8aefd96 Author: felix Date: Sat Jan 24 12:51:20 2015 +0100 Removed use of not-pair? from data-structures.scm commit 4008cf8211c810ae42e59db824c785769640c0ec Author: felix Date: Sat Jan 24 12:51:08 2015 +0100 Removed use of lset-adjoin in eval.scm commit 8b8add5b95eb1debbf354461fe05faa35123cab5 Author: felix Date: Sat Jan 24 12:50:22 2015 +0100 Added minimal implementation of some srfi-1 procedures. commit 3ab0b0d182ca4f17c546eadf301bd8643ea3e70f Author: felix Date: Sat Jan 24 12:19:07 2015 +0100 Typo fix in chicken-profile.scm commit d701161502ac7c21ab46e586151cdd3c2a4d2982 Author: Evan Hanson Date: Mon Jan 12 18:40:19 2015 +1100 Make ->string procedures non-foldable This follows the other string conversion procedures, which return newly-allocated strings. - number->string - symbol->string - ##sys#fixnum->string Signed-off-by: Peter Bex commit 63d0445ed379a43343cfcea7032a284cf7deca2b Author: Moritz Heidkamp Date: Sun Dec 14 23:33:52 2014 +0100 Fix buffer overrun in substring-index[-ci] When passing a start index greater than 0, substring-index[-ci] would scan past the end of the subject string, leading to bogus results in case the substring is accidentally run into beyond the end of the subject. This patch fixes the issue and also adds a range check for the start index. Signed-off-by: Peter Bex commit 25db851b902606741b1a520bd7e4a3fbd12c9b2a Author: Moritz Heidkamp Date: Sun Dec 14 23:33:52 2014 +0100 Fix buffer overrun in substring-index[-ci] When passing a start index greater than 0, substring-index[-ci] would scan past the end of the subject string, leading to bogus results in case the substring is accidentally run into beyond the end of the subject. This patch fixes the issue and also adds a range check for the start index. Signed-off-by: Peter Bex commit 266391aab91b8032e24217c8dbcfb20aa5e5132e Author: Oleg Kolosov Date: Tue Oct 21 22:56:28 2014 +0400 Removed few usages of gcc extensions from runtime Moved calls to 'mark' and 'remark' macros into the corresponding 'for' loop bodies. These macros are expanded into a do-while statement which is not allowed in the loop expression position inside a 'for' loop in standard C. In particular, MSVC compiler considers this a syntax error. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit e7248ba500c74b0888074b40c1f4dfab90e68c34 Author: Oleg Kolosov Date: Tue Oct 21 22:56:28 2014 +0400 Removed few usages of gcc extensions from runtime Moved calls to 'mark' and 'remark' macros into the corresponding 'for' loop bodies. These macros are expanded into a do-while statement which is not allowed in the loop expression position inside a 'for' loop in standard C. In particular, MSVC compiler considers this a syntax error. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit f71a49c11d9b36f56919466cd54af5e79008efac Author: Peter Bex Date: Sun Nov 16 13:40:45 2014 +0100 Fix missing/wrong filenames in distribution manifest, as detected by the modified "dist" script Signed-off-by: Mario Domenech Goulart commit e91bbd7ac1718e4bc67680de8d922d5c4da770be Author: Peter Bex Date: Sun Nov 16 13:32:05 2014 +0100 Fix broken missing file detection in distribution tarball generator Signed-off-by: Mario Domenech Goulart commit fb788c618306c693607ca3c52ac909001b7d40d1 Author: Peter Bex Date: Sun Nov 16 14:00:11 2014 +0100 Fix missing/wrong filenames in distribution manifest, as detected by the modified "dist" script Signed-off-by: Mario Domenech Goulart commit 6a8b5bf413e39734ed4ca39829e434e047b9fc58 Author: Peter Bex Date: Sun Nov 16 13:32:05 2014 +0100 Fix broken missing file detection in distribution tarball generator Signed-off-by: Mario Domenech Goulart commit 231a1c7fd5aaeab7289aac74a904b9c182530390 Author: Evan Hanson Date: Wed Oct 1 20:39:55 2014 +1300 Mark circular-list?, dotted-list? and atom? as foldable in types.db Signed-off-by: Peter Bex commit 368fca8ccdd22cec65cd0b75fc8f8f08e8267d32 Author: Evan Hanson Date: Mon Sep 22 18:37:31 2014 +1200 Move foldable binding annotations into types.db This adds a #:foldable property for procedures in types.db and migrates the list of foldable bindings out of c-platform.scm and into that file. It also makes the optimizer consider #:predicate procedures foldable, unmarks some identifiers that shouldn't be marked foldable, and adds a handful of identifiers from the core units that should. Also, update the list of standard and extended bindings in manual/faq and remove all remaining references to hash-table-ref, thread-specific, and thread-specific-set! Signed-off-by: Peter Bex commit aaa172becb0fdde4e7d97b5c77f291ee3035ac04 Author: Mario Domenech Goulart Date: Wed Nov 5 06:09:39 2014 -0200 manual: remove random-seed from data-structures random-seed has been removed in bf98eff6d13537b9f1a126505cb57614b48d1ae4 Thanks to "zenspider" and Thomas Hintz for catching this issue. commit 2905dde7a869c53174afeefe48e12b6435a26620 Author: Mario Domenech Goulart Date: Wed Nov 5 06:09:39 2014 -0200 manual: remove random-seed from data-structures random-seed has been removed in bf98eff6d13537b9f1a126505cb57614b48d1ae4 Thanks to "zenspider" and Thomas Hintz for catching this issue. commit 16a6fb59b83aa1b00d68ef6af6565e74033bb0d4 Author: Peder Refsnes Date: Sat Oct 25 17:39:03 2014 +0200 Fix deprecation warning for _BSD_SOURCE When compiling any egg with CHICKEN you get a deprecation warning: /usr/include/features.h:148:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" On linux, `man feature_test_macros` states that the _BSD_SOURCE macro is deprecated in glibc 2.20. As suggested in the warning defining _DEFAULT_SOURCE makes the warning go away. Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit 163872127c5882812c0b6bae30994184a9afba32 Author: Peder Refsnes Date: Sat Oct 25 17:39:03 2014 +0200 Fix deprecation warning for _BSD_SOURCE When compiling any egg with CHICKEN you get a deprecation warning: /usr/include/features.h:148:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" On linux, `man feature_test_macros` states that the _BSD_SOURCE macro is deprecated in glibc 2.20. As suggested in the warning defining _DEFAULT_SOURCE makes the warning go away. Signed-off-by: Evan Hanson Signed-off-by: Peter Bex commit a0ce0b4cb4155754c1a304c0d8b15276b11b8cd2 Author: Thomas Hintz Date: Tue Oct 21 10:38:00 2014 -0700 Improve performance of write-u8vector. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit be1110b93f97e0258f5035e2ab06e92bc2712987 Author: Thomas Hintz Date: Tue Oct 21 10:38:00 2014 -0700 Improve performance of write-u8vector. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 873b3361a0940b4a66ce747549aa131180c3ce39 Author: Mario Domenech Goulart Date: Fri Oct 24 22:56:50 2014 -0200 manual: chicken-home returns $CHICKEN_PREFIX/share/chicken if CHICKEN_PREFIX is set commit f9f9e0f00b7d3341b179dcdc875a6ef4316726ef Author: felix Date: Mon Oct 20 12:34:45 2014 +0200 Use correct variable when updating buffer-location in "read-buffered" for tcp ports. Signed-off-by: Mario Domenech Goulart commit 1d21ec81479f93051148059e7becd81f99eacd20 Author: felix Date: Mon Oct 20 12:34:45 2014 +0200 Use correct variable when updating buffer-location in "read-buffered" for tcp ports. Signed-off-by: Mario Domenech Goulart commit 465b584aa87873a5319ec5cb4c526a9347247dd2 Author: Oleg Kolosov Date: Sun Oct 19 17:36:00 2014 +0400 Add missing "C_" prefix to a snprintf calls in a tcp module A functions ##net#getsockname and ##net#getpeername of the tcp module called bare snprintf without using the "C_" prefix which caused build errors on Windows platform when using MSVC. Signed-off-by: Peter Bex commit 7e796865ce202e4f652eb051994d6d3d19e10435 Author: Oleg Kolosov Date: Sun Oct 19 17:36:00 2014 +0400 Add missing "C_" prefix to a snprintf calls in a tcp module A functions ##net#getsockname and ##net#getpeername of the tcp module called bare snprintf without using the "C_" prefix which caused build errors on Windows platform when using MSVC. Signed-off-by: Peter Bex commit 9808ec07e10b7a48f685ac09d27bf22ae5abbcd3 Author: Evan Hanson Date: Sun Oct 19 15:39:37 2014 +1300 Dealias module names in saved module import forms When import and meta-import forms are saved during module expansion, they need to respect module aliasing; otherwise, import libraries may refer to libraries by names that are no longer accessible. In particular, functors alias their arguments during instantiation, and the resulting module's import library must refer to these by alias target. Fixes #1149. Thanks to Juergen Lorenz for reporting this bug. Signed-off-by: Peter Bex Conflicts: NEWS commit 4e3d990030e490bb8fb489e731b2f9c5e23eaded Author: Evan Hanson Date: Sun Oct 19 15:39:37 2014 +1300 Dealias module names in saved module import forms When import and meta-import forms are saved during module expansion, they need to respect module aliasing; otherwise, import libraries may refer to libraries by names that are no longer accessible. In particular, functors alias their arguments during instantiation, and the resulting module's import library must refer to these by alias target. Fixes #1149. Thanks to Juergen Lorenz for reporting this bug. Signed-off-by: Peter Bex commit 20e7cae502b5efaa51f146c60940f1c68bb5f209 Author: Evan Hanson Date: Sat Sep 6 09:10:18 2014 +1200 Add scrutiny special case for reverse and specialization for null argument This preserves the element types of list- and null-type arguments to reverse in its result type (rather than the less specialized list-of). Signed-off-by: Peter Bex commit 535b90926979f4655ac06feac465d62d390eb549 Author: Evan Hanson Date: Sat Sep 6 09:10:18 2014 +1200 Add scrutiny special case for reverse and specialization for null argument This preserves the element types of list- and null-type arguments to reverse in its result type (rather than the less specialized list-of). Signed-off-by: Peter Bex commit 9f07e332986de5bc94b5bc04735ca599df41615d Author: Evan Hanson Date: Sun Aug 17 18:36:21 2014 +1200 Add scrutiny special cases for make-list/make-vector with known sizes Signed-off-by: Peter Bex commit fce5c764a8dea2084cc7862f9609ac57349bd1f9 Author: Evan Hanson Date: Sun Aug 17 18:36:21 2014 +1200 Add scrutiny special cases for make-list/make-vector with known sizes Signed-off-by: Peter Bex commit b946076726a7800301dbf1deac0463829e2498db Author: Evan Hanson Date: Sun Aug 17 13:10:43 2014 +1200 Add scrutiny special cases for drop & take This preserves the element types of pair and list arguments in the result types for these procedures where possible, similarly to the preexisting special cases for list-ref and list-tail. Signed-off-by: Peter Bex commit 506ecbbe33efac6e466dda1c76011c0cb22e2ab8 Author: Evan Hanson Date: Sun Aug 17 13:10:43 2014 +1200 Add scrutiny special cases for drop & take This preserves the element types of pair and list arguments in the result types for these procedures where possible, similarly to the preexisting special cases for list-ref and list-tail. Signed-off-by: Peter Bex commit d65ccd18e5f20db69f822ab9ab8c1608bc4090d6 Author: Evan Hanson Date: Sat Aug 16 16:42:07 2014 +1200 Walk nested pair types in special-cased scrutiny for list-ref/list-tail Also, remove the unused ##sys#list-ref alias and its special case. Fixes #759. Signed-off-by: Peter Bex commit 6a9db9638a0a49ef1cb8ae6c2f31e6b752b0a54a Author: Evan Hanson Date: Sat Aug 16 16:42:07 2014 +1200 Walk nested pair types in special-cased scrutiny for list-ref/list-tail Also, remove the unused ##sys#list-ref alias and its special case. Fixes #759. Signed-off-by: Peter Bex commit bf5cf6a1f280b134314530f8fba69a261a3d3fcb Author: Evan Hanson Date: Sat Aug 16 16:16:29 2014 +1200 Fix list-copy types.db entry to allow any argument type list-copy accepts any argument type (returning non-pair arguments unchanged), so its type should be a -> a. This also means it can be marked pure, and improves the scrutinizer's accuracy on list-copy calls since the argument type can be preserved as the result type. Signed-off-by: Peter Bex commit 4d07d9e713fa68a11033d3edd03e333df107ee10 Author: Evan Hanson Date: Sat Aug 16 16:16:29 2014 +1200 Fix list-copy types.db entry to allow any argument type list-copy accepts any argument type (returning non-pair arguments unchanged), so its type should be a -> a. This also means it can be marked pure, and improves the scrutinizer's accuracy on list-copy calls since the argument type can be preserved as the result type. Signed-off-by: Peter Bex commit d143e6eb7aa7fea4272cadec69b4b34ebbd521e0 Author: Peter Bex Date: Fri Oct 17 20:46:15 2014 +0200 Fix incorrect optimization in cond expansion. When a constant is used as the condition, the consequence would be simply taken as-is (or wrapped in a "begin" if it's multiple statements). However, if there's a => following the constant, it should expand to a call of the procedure with the constant as argument. Reported by Michele La Monaca Signed-off-by: Evan Hanson commit af1658cc345eacc60d1bb76215b25e3ef8f8487a Author: Peter Bex Date: Fri Oct 17 20:46:15 2014 +0200 Fix incorrect optimization in cond expansion. When a constant is used as the condition, the consequence would be simply taken as-is (or wrapped in a "begin" if it's multiple statements). However, if there's a => following the constant, it should expand to a call of the procedure with the constant as argument. Reported by Michele La Monaca Signed-off-by: Evan Hanson commit 0cf4eba9060bdd4354afe50cb6c4ef38146694e2 Author: Evan Hanson Date: Wed Oct 15 20:11:05 2014 +1300 Remove srfi-14 Signed-off-by: Mario Domenech Goulart commit 7bf261dc6907bfa1267f2ffc441410cd5fde65ba Author: Evan Hanson Date: Mon Oct 13 06:16:40 2014 +1300 Add missing bufpos variable for read-buffered on tcp ports Signed-off-by: Peter Bex commit 931ba53824d4c8d7fcd38ea9992f9d116ff94c12 Author: Evan Hanson Date: Mon Oct 13 06:16:40 2014 +1300 Add missing bufpos variable for read-buffered on tcp ports Signed-off-by: Peter Bex commit dfd28828f9a61277b161fbe88e928ce572719e4d Author: Peter Bex Date: Sun Oct 12 20:40:13 2014 +0200 Minor improvements to predicated/enforcing type inference Improves inference for #:predicate and #:enforce branches by trying a bit harder to find the smaller of the possible typesets. Improves inference for enforcing calls when the procedure is found in the type environment by ensuring procedure names are preserved by `resolve`. Fixes a bug in `type<=` where a right-hand-side type variable would be overwritten by its type when unified, possibly causing a cxr-style error later on. Handles some previously ignored cases in `type<=`: left-side boolean, number & undefined; (not ...) types; (or ...) comparisons against simple types. Adds predicate types for `port?` and `pointer-like?` to types.db. Signed-off-by: Peter Bex Conflicts: scrutinizer.scm tests/scrutiny.expected commit 097f6425f7fabf02d876fc82eb15be69e246e509 Author: Evan Hanson Date: Thu Sep 25 19:40:51 2014 +1200 Minor improvements to predicated/enforcing type inference Improves inference for #:predicate and #:enforce branches by trying a bit harder to find the smaller of the possible typesets. Improves inference for enforcing calls when the procedure is found in the type environment by ensuring procedure names are preserved by `resolve`. Fixes a bug in `type<=` where a right-hand-side type variable would be overwritten by its type when unified, possibly causing a cxr-style error later on. Handles some previously ignored cases in `type<=`: left-side boolean, number & undefined; (not ...) types; (or ...) comparisons against simple types. Adds predicate types for `port?` and `pointer-like?` to types.db. Signed-off-by: Peter Bex commit 811785343ef2fd77e8f35f30085326f23ad8193c Author: Evan Hanson Date: Mon Oct 13 06:04:31 2014 +1300 Fix misnamed location variable in %irregex-error commit d0c1874c01ed8a94ad66e745d288f3b670c982dd Author: Evan Hanson Date: Mon Oct 13 06:02:23 2014 +1300 Fix typo in ##sys#custom-input-port EAGAIN check. commit 58cbee77e250c38f8954ee16247dc8036dbb76b1 Author: Evan Hanson Date: Mon Oct 13 06:04:31 2014 +1300 Fix misnamed location variable in %irregex-error commit 32df2731097710ef8b98e6044080b243222b7858 Author: Evan Hanson Date: Mon Oct 13 06:02:23 2014 +1300 Fix typo in ##sys#custom-input-port EAGAIN check. commit 8d038d86c17ef59c0d61697966dc7a32fbf56d15 Author: Evan Hanson Date: Thu Oct 9 07:08:59 2014 +1300 Avoid invalid specializations for multi-valued foreign-primitives The foreign-primitive form may return multiple values with the C_values function, but its expansion is always declared to return a (single) undefined value. This triggers invalid ##sys#c-w-v specializations for single-valued producers where multiple values may in fact result. This fixes that declaration so that multiple values are expected when no return type is specified. Signed-off-by: Peter Bex Conflicts: chicken-ffi-syntax.scm commit 2464eca504b56eb8c5c337dd4a1bdb9d1a8f48b4 Author: Evan Hanson Date: Thu Oct 9 07:08:59 2014 +1300 Avoid invalid specializations for multi-valued foreign-primitives The foreign-primitive form may return multiple values with the C_values function, but its expansion is always declared to return a (single) undefined value. This triggers invalid ##sys#c-w-v specializations for single-valued producers where multiple values may in fact result. This fixes that declaration so that multiple values are expected when no return type is specified. Signed-off-by: Peter Bex commit ddc222e89298a5266f4171521af6356e817287b1 Author: Evan Hanson Date: Thu Oct 9 20:57:44 2014 +1300 Fix the -r5rs-syntax flag Signed-off-by: Peter Bex Conflicts: NEWS commit e79224481afd377a4c813bae0bfb7b491f6df91c Author: Evan Hanson Date: Thu Oct 9 20:57:44 2014 +1300 Fix the -r5rs-syntax flag Signed-off-by: Peter Bex commit e43c7ebe22e8a97d2a5c2f34b7421d021ae6a372 Author: Evan Hanson Date: Mon Sep 22 06:51:52 2014 +1200 Make normalize-pathname take pathnames with no parts to just "/" or "." Previously, it would unnecessarily append a dot or slash if the normalized path was equivalent to "/" or ".", respectively. Fixes #1153. commit b95f4c46b6e5d82609acdaa5e2f5cad7fc4ceaf3 Author: Evan Hanson Date: Mon Sep 22 06:51:52 2014 +1200 Make normalize-pathname take pathnames with no parts to just "/" or "." Previously, it would unnecessarily append a dot or slash if the normalized path was equivalent to "/" or ".", respectively. Fixes #1153. commit ae8fb48fd7af400b05ddac913c0d7b8619e9a4f9 Merge: 72c5e04f b4de0398 Author: felix Date: Tue Oct 7 22:23:50 2014 +0200 Merge remote-tracking branch 'origin/chicken-5' into chicken-5 commit 72c5e04f3810ae24b3dff6ce9274744378c24e86 Author: Peter Bex Date: Sun Oct 5 20:46:29 2014 +0200 Enable debug_mode on Android only for DEBUGBUILDs Signed-off-by: felix commit b4de0398adb5ff5cb87135753d47641ce18b5e8a Author: Peter Bex Date: Sun Oct 5 20:46:29 2014 +0200 Enable debug_mode on Android only for DEBUGBUILDs Signed-off-by: felix commit 0fd4db3d3232639bec9e88961807cae4842ba984 Author: Peter Bex Date: Sun Oct 5 20:46:29 2014 +0200 Enable debug_mode on Android only for DEBUGBUILDs Signed-off-by: felix commit edec4a9219e5e03dbdd006ecdcb44b39adb6898d Author: Evan Hanson Date: Tue Sep 30 19:43:33 2014 +1300 Fix malformed specialization for irregex-match-num-submatches It was missing parentheses on a ##sys#slot invocation and contained unquoted fixnum literals. Signed-off-by: Peter Bex commit 5bdd2693a39e201f87fbb435cc1689a31bc490f2 Author: Evan Hanson Date: Tue Sep 30 19:43:33 2014 +1300 Fix malformed specialization for irregex-match-num-submatches It was missing parentheses on a ##sys#slot invocation and contained unquoted fixnum literals. Signed-off-by: Peter Bex commit 996b13c0dd045d75dae492e170eaf2e1f66398e4 Author: Evan Hanson Date: Mon Aug 11 19:40:22 2014 +1200 Add procedure argument checks for srfi-1's list= and lset procedures Fixes #1085. Signed-off-by: Peter Bex commit ca281584884f5ab1d5d83e69031b5e61150a42dd Author: Evan Hanson Date: Mon Aug 11 19:40:22 2014 +1200 Add procedure argument checks for srfi-1's list= and lset procedures Fixes #1085. Signed-off-by: Peter Bex commit 6a860ab07ca23729b805c8c964d876268b09b285 Author: Evan Hanson Date: Mon Sep 22 19:18:12 2014 +1200 Fix incorrect error message for malformed `pure` declarations The message said "constant" rather than "pure". commit 8d252394d19b0e3941c8c6bbd4a4d8e9da2f9fac Author: Evan Hanson Date: Mon Sep 22 19:18:12 2014 +1200 Fix incorrect error message for malformed `pure` declarations The message said "constant" rather than "pure". commit 253ea893c47e4b7299703e3f47367b02a0608d7b Author: Evan Hanson Date: Tue Sep 16 08:43:23 2014 +1200 Remove use of srfi-13 string-trim-both from yes-or-no in utils.scm Signed-off-by: Mario Domenech Goulart commit bcf817a06a76db4ef98d5597b10752bb03f537e5 Author: Mario Domenech Goulart Date: Fri Sep 12 15:02:36 2014 -0300 Bump version to 5.0.0 Signed-off-by: Evan Hanson commit cfa6d990b28071cf28f6b1181b8b42e83652a42c Author: Evan Hanson Date: Mon Sep 15 17:20:38 2014 +1200 Fix incorrect error locations in with-[error-]output-to-port argument checks commit 627ea21800c3808a6f630f8e628560e09285b018 Author: Evan Hanson Date: Mon Sep 15 17:20:38 2014 +1200 Fix incorrect error locations in with-[error-]output-to-port argument checks commit b284eebedc48819c940ef2a26252011e8648d20c Author: Peter Bex Date: Sun Sep 14 15:18:37 2014 +0200 Pass major CHICKEN version to Henrietta Signed-off-by: Mario Domenech Goulart commit 7cf997642a59c0d9183f58e1de1380b8f5b8990e Author: Peter Bex Date: Sun Sep 14 15:14:43 2014 +0200 Remove subversion transport type from setup-download It is not really as useful anymore with the new SYSTEM. And it's still possible to just make a local checkout. Signed-off-by: Mario Domenech Goulart commit 83498aa82d39a21410a56a1e90d91d8cf6c7d702 Author: felix Date: Sun Sep 14 22:12:18 2014 +0200 Removed obsolete test. commit 881356344c87c5e2c2aeeb1cebfae20f5578763c Merge: b900c071 c04f36b9 Author: felix Date: Sun Sep 14 21:38:17 2014 +0200 Merge remote-tracking branch 'origin/chicken-5' into chicken-5 commit b900c071dbcc7312278880106457ad8cf512389d Author: Peter Bex Date: Sat Sep 13 19:55:54 2014 +0200 Add convenience macros for calculating allocation sizes of structures and closures. Also convert the allocation calculations to use them, as well as C_SIZEOF_VECTOR(). Corrected entry for "C_structure" in "C interface" chapter of the manual. Signed-off-by: felix commit c04f36b95322253362c564c8007d53e20e76ee89 Author: felix Date: Thu Sep 11 20:58:56 2014 +0200 Removed srfi-18 and srfi-69. Signed-off-by: Peter Bex commit 60a0aa1f55a7316d3fe2603abee3c9578f6eeb30 Author: felix Date: Sat Sep 13 23:37:22 2014 +0200 Use correct module prefix for call of "process-declaration" in eval.scm commit 00cc9687cdb6e2ea0dcf40bfad172646938de00b Merge: db71a1b4 2ddcd398 Author: felix Date: Sat Sep 13 23:32:16 2014 +0200 Merge remote-tracking branch 'origin/chicken-5' into chicken-5 commit db71a1b4ef3ccc5900f2bf102d718b1c9e87a2b5 Author: arthurmaciel Date: Sat Sep 13 16:54:50 2014 -0300 * modules.scm: Removed #+debugbuild map-se duplicate and corrected typo. Signed-off-by: felix commit 2ddcd398871694bd3ca556bda6f72f663fab4826 Author: felix Date: Mon Aug 25 22:21:51 2014 +0200 Renamed compiler modules to "chicken.compiler.XXX", to avoid collisions with eggs when used in user-passes, and in preparation for a later R7RSish hierarchical module structure. Renamed "compiler.scm" to "core.scm", since "chicken.compiler.compiler" may be too confusing. Changed build-rules inferring import-library names and updated explicit module prefixes where used. Signed-off-by: Peter Bex commit 5b466669cab0c672802d185294fa5da1c04a1d26 Author: Mario Domenech Goulart Date: Mon Sep 8 21:54:24 2014 -0300 Remove srfi-13 Signed-off-by: felix commit 6a22ce5f51fe1ac2dd2f30cca09f3d02cc621a73 Author: felix Date: Mon Aug 25 23:07:04 2014 +0200 Removed memory-mapped files, object-eviction, binary-search and queues - these are now available as eggs. Signed-off-by: Christian Kellermann commit ccfb168bf1eb1090a788231b2cccff413e9f96c6 Author: Moritz Heidkamp Date: Mon Aug 4 15:23:13 2014 +0200 Invert poll(2) flag default To be on the safe side we now assume that poll(2) is available by default and define the NO_POSIX_POLL flag in case it isn't available on a platform. Signed-off-by: Christian Kellermann commit 3395c0edad5172dd56f7335a7c5845301ec1d965 Author: Moritz Heidkamp Date: Mon Aug 4 15:23:13 2014 +0200 Invert poll(2) flag default To be on the safe side we now assume that poll(2) is available by default and define the NO_POSIX_POLL flag in case it isn't available on a platform. Signed-off-by: Christian Kellermann commit 2f96b84bc8a36af461172997e51ebc94bef1eb7a Merge: 50ee93d8 729febc0 Author: Christian Kellermann Date: Thu Sep 11 15:01:05 2014 +0200 Merge branch 'master' into chicken-5 This should ease further development on this branch. This potentially will become the new master branch after a final 4.x release. Signed-off-by: Christian Kellermann Conflicts: scrutinizer.scm commit 729febc07a94074b36e403f3ead2d3519470d0f8 Author: Moritz Heidkamp Date: Thu Sep 11 12:25:48 2014 +0200 Update NEWS to mention CVE-2014-6310. commit e6ebb0280fb9e47b62a960eba7fffcb6cd470765 Author: Evan Hanson Date: Tue Sep 9 21:49:19 2014 +1200 Remove the unused typename procedure from scrutinizer.scm Signed-off-by: Christian Kellermann commit 7af0014e60c087292acd7aef59ccfb17a83a0afe Author: Evan Hanson Date: Tue Sep 9 21:47:45 2014 +1200 Mark vector and ##sys#vector as pure As with list/##sys#list. Signed-off-by: Christian Kellermann commit 38483b82007792d3a42d2bfa1938feff6c459c22 Author: Evan Hanson Date: Tue Sep 9 21:47:08 2014 +1200 Avoid building unnecessary forall types during simplification when no typevars are used Previously, if typevars were given in a polymorphic type specification but none of them were actually used within its body, type simplification would still produce a "forall" type, e.g. `(forall () list)` where simply a `list` would do. This patch fixes these cases by only keeping the "forall" when at least one typevar is used within a type's body. Signed-off-by: Christian Kellermann commit d7aad7e15128253c0e502c1a00ef1f977e28bb46 Author: Evan Hanson Date: Tue Sep 9 21:46:30 2014 +1200 Evaluate length/##sys#length subforms when specializing for null Signed-off-by: Christian Kellermann commit 50ee93d8db6586e2cda387ed9f86cf62ddb3f8fe Author: felix Date: Mon Aug 25 19:08:55 2014 +0200 Squashed commit of the following: commit 1891eba297ddf6ce8d6012db7e556b3570fe2c7f Author: Peter Bex Date: Sun Aug 17 22:13:56 2014 +0200 compiler-modules: Finalize modularisation of compiler! Remove compiler-namespace.scm and private-namespace.scm, update NEWS and remove special-case handling of CHICKEN_COMPILER_OPTIONS from build system. Add all generated import libraries to distribution manifest. However, for now they're not compiled to C or installed; they are only used during generation of the compiler because the API is nowhere near finished or ready for public consumption. Once we've defined a "proper" API, these can be compiled and installed too. commit 9dc927d72c759bb25bfa7090847f3b74427527f5 Author: Peter Bex Date: Sun Aug 17 21:50:45 2014 +0200 compiler-modules: Move the remaining globals "unsafe" and "number-type" to support. These are used in too many places for it to be practical to move them into the compiler module and pass them around. This should be cleaned up some day, but not right now. commit 0cbadaf978dd24e0b904ab62d400e670e2688c79 Author: Peter Bex Date: Sun Aug 17 21:05:54 2014 +0200 compiler-modules: Make bindings non-global. This is a bit of a tricky change. The reason is that the platform defines the *default* standard, extended, internal and foldable bindings. The final extended-bindings and standard-bindings, however, are possibly overridden through declarations by the compiler. The compiler takes the bindings from the default bindings. In order to make all this work without creating cyclic dependencies between the backend/platform and the compiler, we've moved the definitions of *all* bindings to the compiler. The platform then set!s these to the correct values. This creates a new dependency between platform and compiler, but that's okay (the backend also depends on the compiler, and it exists at about the same level). The compiler-syntax also makes use of these bindings, so it makes sense to define a dependency for compiler-syntax on the compiler. commit 776ef16f7598822f7ae8ac2fd144f98cd8e8ea52 Author: Peter Bex Date: Sun Aug 17 20:33:46 2014 +0200 compiler-modules: Move foreign callback code from compiler to support. Because support makes use of foreign-callback accessors, it makes more sense to put the record definition there as well. The foreign-type-table also fits better in support; after moving it there we can put accessors and setters, as well as an initialization procedure into a "proper" API which the other modules can consume. Foreign stubs are now registered through a separate API as well, so that the foreign stub list can be moved to support. Unfortunately, the c-backend still accesses this list directly. commit b98203c1f2ef4e5e5cf8e9658fd1c70031abf1a1 Author: Peter Bex Date: Sun Aug 17 17:39:58 2014 +0200 compiler-modules: Reduce coupling between components by passing around more options. The options in question are used in a lot of places, but it is only necessary to set them in batch-driver, and export them from compiler. When invoking a subcomponent of the compiler, batch-driver can pass the various options to that component. This is inspired by the fact that the scrutinizer's "scrutinize" procedure already received "specialize" as an argument. This corresponds to a global "enable-specialization" option defined in compiler. This idea has been taken further, with the following options: - enable-specialization (wasn't passed to load-type-database) - block-compilation - inline-locally - inline-substitutions-enabled - inline-max-size - strict-variable-types commit 63bdf6b8a6c46f192829358c59878c7e38335a77 Author: Peter Bex Date: Sun Aug 17 16:51:45 2014 +0200 compiler-modules: Move all profiling support code to support unit. The declaration of the variables profile-info-vector-name and profile-lambda-list were moved from compiler to support. Initialisation of the profiling vector's name has been moved into a new procedure: reset-profiler-info-vector-name!, which is exported by support. The code which generates the prelude to initialise the profiling vector accessed these variables directly, so to make things a little cleaner this code has been moved to a single new procedure: profiling-prelude-exps. There was an unused gensym call in batch-driver, probably originally used to determine the profile vector's name. This has been removed, which caused one test to fail due to overly specific reliance on gensymed names. The scrutiny.expected file has been tweaked accordingly. commit b432e5c709b539073f4824aa9e12d3e49c565d06 Author: Peter Bex Date: Sun Aug 17 16:11:15 2014 +0200 compiler-modules: Fix -no-parentheses-synonyms flag to compiler. The patch in d31f8ea988425e94745258f174a86fdb2bb06459 was apparently incomplete: it fixed the interpreter's handling of the -no-parentheses-synonyms flag, but this flag was not used by the compiler: it was listed amongst the valid compiler options with arguments, which is wrong, and the batch-driver used it as a no-argument flag, but with a typo in its name, so it would never get used. The version with typo is also used in compiler-namespace. commit 5a529310b8dd71bc09616c5397615657ad79ec75 Author: Peter Bex Date: Sun Aug 17 15:53:28 2014 +0200 compiler-modules: Make compiler-arguments and source-file nonglobal by passing them around. The compiler-arguments global was declared in chicken.scm and used only in c-backend to write the compiler arguments to the resulting C file, for informational/debugging/forensic purposes. Just like the filename and the final (derived) options, this is now passed around from chicken to batch-driver, and from batch-driver to c-backend. The variable has been renamed for (hopefully) increased clarity. As stated above, the "filename" in batch-driver is passed to some procedures. However, it is not passed to all: emit-type-file and emit-global-inline-file were the only two procedures to read the filename from the global "source-filename". This global has now been removed and the file name is passed to the procedures as an argument. commit a10afa948f68efc5bfa6c7d054c09de078991823 Author: Peter Bex Date: Sat Aug 16 17:45:00 2014 +0200 compiler-modules: Convert compiler to a module. In eval.scm, there is a hack that invokes ##compiler#process-declaration when it runs inside the compiler. This has been rewritten to compiler#process-declaration, which is the modularised new name. A similar thing was happening for ##sys#do-the-right-thing, where the hash table ##compiler#file-requirements was updated when running in the compiler. This has been rewritten to compiler#file-requirements. Some things have been moved around: - broken-constant-nodes is moved into optimizer, and not exported because nobody else is using it. - compute-database-statistics was moved out of support into compiler, because it uses a few variables that are internal to compiler and there's no need to export them. Exporting them would also create a cyclic dependency between support and compiler, which is not good. - print-program-statistics was moved out of support into batch-driver to avoid the cyclic dependency between support and compiler. It was only used by batch-driver anyway. - profile-lambda-index has been moved to support, which is the only place it is used (it's a counter for expand-profile-lambda) - unlikely-variables has moved from c-platform to compiler, which is the only place it was used, and it has nothing to do with the target (C) platform. - The definition of real-name-table was moved from compiler to support to avoid cyclic dependencies. To make initialization cleaner, clear-real-name-table! has been added. Instead of directly looking up names in the hash-table, compiler now calls get-real-name (which mirrors the set-real-name! naming convention). A few obsolete things that were no longer used have been removed: - csc-control-file - data-declarations - require-imports-flag - postponed-initforms (always empty list, because it is never assigned) - default-target-heap-size (and the corresponding, no longer used, C_DEFAULT_TARGET_HEAP_SIZE definition) Several names were in compiler-namespace that no longer existed, which were probably dropped somewhere along the line (not in this set of patches): - debug-info-index - debug-info-vector-name - debug-lambda-list - debug-variable-list - debugging-executable - default-default-target-heap-size (typo for default-target-heap-size?) - default-optimization-iterations (typo for default-optimization-passes?) - default-output-filename - dependency-list - emit-control-file-item - expand-debug-assignment - expand-debug-call - expand-debug-lambda - expand-foreign-callback-lambda - expand-foreign-callback-lambda* - export-dump-hook - file-io-only - find-early-refs - find-inlining-candidates - foreign-callback-stub-body - foreign-callback-stub-callback - foreign-callback-stub-cps - foreign-string-result-reserve - foreign-stub-qualifiers - inlining - nonwinding-call/cc - optimization-iterations - perform-inlining! - register-unboxed-op - rest-argument-mode (typo for lambda-literal-rest-argument-mode?) - rest-parameters-promoted-to-vector - update-line-number-database (it was probably renamed to have a trailing bang) commit 95dbd419ed6753fbcadb3f4c1b9b4fdd5287a7a6 Author: Peter Bex Date: Sat Aug 16 17:02:01 2014 +0200 compiler-modules: Simplify compiler module import forms Prefix the get, get-all, get-list and put! procedures with "db-". This prevents confusion with the 2-argument "get" and "put!" versions from library.scm, and it also cleans up the chicken module import. Remove syntax-error from exclusion list: The module system merely aliases identifiers, so it doesn't need any special handling in order to prevent compiler modules from including the "wrong" syntax-error procedure. Add a test for the aliasing behaviour of the module system. The debugging-chicken variable is used in a similar fashion: it is defined in and exported by support, and it is set! in batch-driver. It is read by both support and compiler. commit 28ad796e08682d2e810041444607039fd69e79dd Author: Peter Bex Date: Sun Aug 10 22:03:50 2014 +0200 compiler-modules: Convert support to a module. This is quite a big module which is used throughout the compiler, so this is necessarily a very large change. I basically only went through, checked if and where identifiers were used and added them to the export list if they were used elsewhere. If they were only used in one place, I added a small note to indicate it, for a future, proper cleanup. In chicken-ffi-syntax.scm, the foreign definition macros now expand directly to support#foreign-type->scrutiny-type, and in chicken-syntax.scm, define-specialization now directly expands to support#variable-mark. This is needed in order to remove foreign-type->scrutiny-type and variable-mark from compiler-namespace. With this, a few things have been cleaned up: - The "quit" procedure has been renamed to "quit-compiling", to avoid confusion with "quit" from library.scm. - The "words" procedure has been renamed "bytes->words", for improved clarity and consistency with words->bytes. - The decompose-lambda-list alias has been removed in favor of using ##sys#decompose-lambda-list directly. Possibly this could be reverted and the alias moved into library.scm. - The "count!" and "pprint-expressions-to-file" procedures have been removed, as they were unused. - The disabled-warnings list has been removed, as it was unused. - slashify and uncommentify have been moved to c-backend, where they belong. commit 632045e07adaa0f9d47b3b695e232d5a7b784f6a Author: Peter Bex Date: Sun Aug 10 18:55:12 2014 +0200 compiler-modules: Convert scrutinizer to a module. In chicken-syntax, :, the, define-specialization, compiler-typecase, and define-type now expand directly to scrutinizer#[check-and-]validate-type, which is needed in order to remove these two procedures from compiler-namespace. Fixed lfa2 debugging code to look at lfa2-debug instead of scrutiny-debug. Converted use of string-concatenate to string-join to avoid dependency on srfi-13, which is slated for extraction from core. commit f44999c9ead1f6807943371dfdb1e22106bf2b67 Author: Peter Bex Date: Sun Aug 10 17:31:54 2014 +0200 compiler-modules: Convert c-backend to a module. In chicken-ffi-syntax, foreign-type-size now expands directly to c-backend#foreign-type-declaration, which is needed in order to remove foreign-type-declaration from compiler-namespace. Added simple test to ensure that this macro still functions correctly. Added the variables target-include-file words-per-flonum, parameter-limit and small-parameter-limit to c-platform's export list. These are consumed only by c-backend, so can be removed from compiler-namespace. Added a lot of accessors defined by "compiler" to the compiler-namespace, which were not renamed correctly before (and, thus, inadvertantly accessible to user macros when running inside the compiler). Removed the unused variable unique-id. commit 1dccfd39cab4d3abbc6e1d262de216129c956001 Author: Peter Bex Date: Sun Aug 10 16:46:04 2014 +0200 compiler-modules: Convert c-platform to a module. A few variables (default-optimization-passes eq-inline-operator, membership-test-operators and membership-unfold-limit) were defined by c-platform but used by optimizer. This would result in a circular dependency, because c-platform is already using various things which were exported by the optimizer. For this reason, and to reduce coupling between the optimizer and the platform-specific code, optimizer now defines the variables, which are then set by the specific platform in use. This makes it more explicit what the optimizer needs from a platform. Removed the unused variable default-debugging-declarations. Rewrite is now exported cleanly by optimizer, and used by c-platform, so it could be removed from compiler-namespace. Added small-parameter-limit to compiler-namespace, for the time being. commit c3e83850d39f852fa8a03a8d6d44b0c5443f926a Author: Peter Bex Date: Sun Aug 10 15:38:35 2014 +0200 compiler-modules: Convert optimizer to a module Add "foldable?" to compiler-namespace which would otherwise be undefined within optimizer (defined in support.scm). commit bcda11d5cbe80f10b1e60efcb939248ab0c66edf Author: Peter Bex Date: Sun Aug 10 15:27:36 2014 +0200 compiler-modules: Convert compiler-syntax to a module commit de188037d5535e338dabd3afec89d8be7014b3c6 Author: Peter Bex Date: Sun Aug 10 15:17:03 2014 +0200 compiler-modules: Convert lfa2 to a module Add a few missing names to compiler-namespace which would otherwise be undefined within lfa2. commit 1a2be190dfcd0512fba59de6c8a569e384e6fbc1 Author: Peter Bex Date: Sun Aug 10 15:00:13 2014 +0200 compiler-modules: Convert batch-driver to a module For now, we use "batch-driver" as the module name, to make things simple. Originally, it looks like the idea was that you can have other kinds of drivers, like an interactive one or a staged one, or one used through the interpreter. We can try to do this through the use of functors, perhaps. This makes things simpler for us: Now we can just append .import.scm to the filename in the build system. The unit now also has the same name as the module, which may be undone when we add a functor and an implementation selection mechanism. Add a few missing names to compiler-namespace which would otherwise be undefined within batch-driver. The apply-test was using "printf" in a macro, which happened to be available when running inside the compiler due to namespace leakage, which is now fixed through proper module usage. It now cleanly imports extras, which provides the printf procedure. commit c1d87e77993abf4b2835fff140e8c46fcde9b85d Author: Peter Bex Date: Sun Aug 10 14:55:01 2014 +0200 compiler-modules: Add normal lookup fallback to private namespace hack We now remember and call the usual implementation of alias-global-hook for all variables not part of the namespace hack, so that modules inside the compiler are supported, but the namespace hack still keeps working for units not yet converted to a module. Eventually private-namespace.scm will be removed completely. Signed-off-by: felix commit 57bbe3b7895a328a6b04852947d1a4c2fa2a8ba0 Author: felix Date: Mon Aug 18 15:32:41 2014 +0200 commented some curious things - these seem to be wrong commit ee2bab380aa424c045536bdfc6afb26e172aa504 Author: Peter Bex Date: Sun Aug 3 14:52:32 2014 +0200 Fix file-mkstemp behaviour on Windows (#819). Before, it would return "random" invalid file descriptors. Thanks to Michele La Monaca for the initial patch. Signed-off-by: Evan Hanson commit 2782232f83ff5cbf91099810d5a3ea3cf43d309c Author: Evan Hanson Date: Tue Aug 12 17:12:07 2014 +1200 Remove outdated manual section on letrec binding references As of a647d9ed65f44df527e513464093447f56e24ead, letrec no longer uses letrec* semantics, so this section in "Extensions to the standard" is no longer valid. Signed-off-by: Peter Bex commit 870c3538c04b3c6294bf850234c32e29eeb030fa Author: Peter Bex Date: Sun Aug 3 17:54:34 2014 +0200 Fix bug in deploy mode under Cygwin introduced by be5b0827ad02473c7fbf277b8153dabb8863e973 Signed-off-by: Evan Hanson commit 8aee5a8c10f6b94d786f5d69989114221772465e Author: Evan Hanson Date: Wed Aug 6 18:33:45 2014 +1200 Fix scrutiny special case for list-tail when tail is null Due to an off-by-one, the special-cased scrutiny for `list-tail` fails when the index argument is equal to the length of the list, giving a (list-of ...) as the result type rather than null. While that isn't technically incorrect, it also isn't as accurate as possible; this patch fixes this case. Signed-off-by: Peter Bex commit 7daaa4baac1cb6aeefcd7d480c912c1cb44880a1 Author: Evan Hanson Date: Wed Aug 6 18:35:12 2014 +1200 Remove ##sys# prefix from lambda-info names of expand unit procedures As with f4dafebf09662ff6bdbada206d394340d8c24ef0. Signed-off-by: Peter Bex commit 7b2fef6f7c1f66fdf28d0442f9ab5dcc05f628f7 Author: Evan Hanson Date: Wed Aug 6 18:49:19 2014 +1200 Strip syntax from identifiers in scrutiny output This resolves identifiers to their real (i.e. non-macro-aliased) names in order to give cleaner scrutiny output messages. Signed-off-by: Peter Bex commit 10b3a533963841b55f984e5556afbb444b6a77af Author: Evan Hanson Date: Wed Aug 6 18:25:19 2014 +1200 Make chicken-install write "(none)" to stderr when no eggs are matched Signed-off-by: Peter Bex commit bbf5c1d5839970c17b37406155180853c325c710 Author: Moritz Heidkamp Date: Mon Aug 4 15:19:48 2014 +0200 Set HAVE_POSIX_POLL for Android Signed-off-by: Peter Bex commit 04b7f4689a9b032b2e1d204d724d17c541662000 Author: Evan Hanson Date: Mon Aug 4 21:33:39 2014 +1200 Include reverse-list->string in srfi-13's import library This procedure is provided by library.scm, but also needs to be exported by the primitive srfi-13 library so that it's accessible when a module imports "srfi-13" but not "chicken". Fixes #1101. Signed-off-by: Peter Bex commit 5baaaa25da3167a60e7c000c66f2abd3a5b3b683 Author: Peter Bex Date: Sun Aug 3 21:25:51 2014 +0200 Fix #1109: chicken-install -r should remove empty directory when egg doesn't exist Thanks to Alex Charlton for pointing out this bug Signed-off-by: Evan Hanson commit b1b832f9f9de08e2d6e99393725cb7b7e3f90dc3 Author: Evan Hanson Date: Wed Aug 6 18:54:36 2014 +1200 Remove the nonexistent `zap-strings-flag` from compiler-namespace commit 6e763cda40d44051e342ec84d77f35f1c793e559 Author: Evan Hanson Date: Wed Aug 6 18:22:54 2014 +1200 Fix incorrect comment on `canonicalize-list-type` commit 3e5941deda87479ba04593193a819cbca07257b4 Author: Peter Bex Date: Sat Jul 26 14:30:50 2014 +0200 Do not use a private namespace for the "csi" program. This is unnecessary as it does not share hidden variables with any other separately compiled unit. This also removes the (unused) private-namespace dependency from the extras and srfi-69 units, and the unused `get-config' from the list of hidden identifiers in csi. Signed-off-by: Evan Hanson commit e29b85b242178e2b9b3317a3e8031af76dce2316 Author: Peter Bex Date: Sun Jul 13 13:52:51 2014 +0200 Fix bug in move-memory! for overlapping memory regions (#1136). Also fix its specialization to use C_bytes instead of C_w2b() which is defined locally to lolevel.scm and isn't available in programs. Signed-off-by: Christian Kellermann commit f4dafebf09662ff6bdbada206d394340d8c24ef0 Author: Evan Hanson Date: Wed Jul 23 19:56:01 2014 +1200 Remove ##sys# prefix from lambda-info names of library procedures This is a cosmetic change that removes the "##sys#" prefix from the lambda-info names of procedures defined in library.scm. Where a procedure was defined first with the prefix and later as an alias without it, their definitions have been swapped, making sure the non-prefixed name is used in its lambda-info structure. Signed-off-by: Christian Kellermann commit be5b0827ad02473c7fbf277b8153dabb8863e973 Author: Michele La Monaca Date: Sun Jul 13 13:39:43 2014 +0200 fix static compilation in cygwin Signed-off-by: Peter Bex Signed-off-by: felix commit 9ee2a22a3634bfcb20bae69a54b85875961e8101 Author: Peter Bex Date: Sun Jul 20 15:50:02 2014 +0200 Get rid of explicit marking of primitives re-exported by modules. When importing a module, its dependencies always *must* be imported, because a re-export could involve a macro which is defined by another module, and the definitions of macros are handled through the import library. Because this is happening anyway, any module re-exporting a primitive will end up importing the core module which exports it. This import will execute ##sys#register-primitive-module which causes the primitives to be marked though ##sys#primitive-alias. Because of this recursive module loading, it's unnecessary to detect primitives at module registration time. This simplifies the module registration code a little (which is already hairy enough of itself). Signed-off-by: Evan Hanson commit 9c442c97700fa74bb9bb7f5ce7df3e8e4ce8f562 Author: Peter Bex Date: Sun Jul 13 15:03:19 2014 +0200 Enforce consistent official spelling of CHICKEN to be all-caps in code, manual and README (#362) Signed-off-by: felix commit 26de3cdf72950056b9f503ffc2a52e60e96b086e Author: Peter Bex Date: Sat Jul 12 18:22:17 2014 +0200 Add a few more tests for define-values: internal bindings should "shadow" toplevel ones commit df0eb601874c78131fb6a61af4f053729ff1888f Author: felix Date: Mon Jul 7 22:46:00 2014 +0200 Allow functor-arguments to be optional and having defaults, and use the correct export-lists when matching functor arguments. Signed-off-by: Peter Bex commit 136e0b4292aec0cb8c5c8f6c9860d22bc2261a1e Author: Peter Bex Date: Sat Jul 12 17:29:02 2014 +0200 Clarify that let[(*|rec)]-values can use dotted tail notation (a little tricky to make a BNF-like production for this) commit e2960480729bc1cec339024818495114487b4a4d Author: Evan Hanson Date: Sat Jul 5 13:54:29 2014 +1200 Add full lambda list support for letrec-values bindings Use the logic for multi-value assignment expansion already shared by set!-values and ##sys#canonicalize-body for letrec-values, too. Signed-off-by: Peter Bex commit 3a00e602d3babbc89df699446ca6ee38bd4dbe19 Author: Evan Hanson Date: Thu Jul 3 22:31:09 2014 +1200 Add full lambda list support for define-values forms in internal definitions Since ##sys#canonicalize-body does its own rewriting of internal definitions (including define-values), this factors the logic for expanding multi-valued assignments out of the set!-values transformer and into a dedicated procedure that both can use for binding variables. Signed-off-by: Peter Bex commit 9d6a21eee1c7d8655c738ab6541d22e870a766eb Author: Peter Bex Date: Sat Jul 12 16:48:38 2014 +0200 Update manual to mention basic lambda list syntax for define-values, set!-values. Make the naming of the expressions consistent with receive, and point out the similarity of the forms. commit 25a9b9932014f8ff84825658c054a91e6c0630f3 Author: Evan Hanson Date: Thu Jul 3 22:08:22 2014 +1200 Add full lambda list support for define-values and set!-values Previously, the macro transformers for define-values and set!-values only allowed proper lists as formals. This adds full lambda list support, so that symbols and improper lists can be used as well. Signed-off-by: Peter Bex commit 30bb2f29579c6cacfb9da8b6eba81aff745373eb Author: felix Date: Fri Jun 27 22:55:12 2014 +0200 Generalize "scheme-pointer" foreign type to allow giving a type for the generated pointer variable holding the argument. Signed-off-by: Peter Bex commit 20b1c5960b32796ddad22b58d9991351041cc2af Author: felix Date: Tue Jul 8 08:40:48 2014 +1200 types.db fix for append Append's final argument needn't be a list. Signed-off-by: Evan Hanson commit 4f91e654f04254ba1039e327460e643fefbf5e36 Author: Peter Bex Date: Sun Jun 22 13:31:26 2014 +0200 Remove ##sys#expand-home-path as shell expansion has no place in a filesystem API. The functionality is now available as a separate egg for those who need it ("pathname-expand"). An added advantage is that expansion must be explicitly performed, and that the egg can be developed separately. Thanks to Florian Zumbiehl. Signed-off-by: Evan Hanson commit 2ef671b6d4f3266815f7795b0d81d1d579f2056b Author: Peter Bex Date: Sun Jun 22 18:02:33 2014 +0200 Fix #878 which was indeed a bug, caused by an incorrect hand-rolled optimisation. This adds some more "integration" test cases so that we can verify more easily that the combination of make-kmp-restart-vector and kmp-step is looping through the pattern correctly as it advances through the search string. The optimisation was due to a mistaken reading of the reference implementation: the pattern was indexed as pat[k+1] at the j=-1 case and as pat[k] at the pat[k]=pat[j+start] case, but the optimisation changed the code to use pat[k] in both cases. Signed-off-by: Mario Domenech Goulart commit 6b36695d94e0bd977e0d85d48438f621128e1101 Author: Mario Domenech Goulart Date: Fri Jun 27 17:43:38 2014 -0300 C_substring_copy: use C_memmove instead of C_memcpy memcpy will screw things up when given the src and dest strings' memory area overlap (e.g., the same string object is given as src and dest argument), and that can cause problems in some string-copy! use cases. Fixes #1135. Signed-off-by: Peter Bex commit a25d2006bdbcd794a5ce3002c04b618f35667f7c Author: Peter Bex Date: Thu Jun 19 20:06:19 2014 +0200 Fix #1133 by adding ports (and dropping extras) in unit tcp's "uses" declaration This problem got caused by 4eafceedddf34dff83c05eb6001214461949e7ce (the fix for #999), because tcp uses make-input-port. This is provided by ports, which got pulled in through extras which tcp does depend upon. Unit TCP doesn't really use anything from extras, so we now declare it to depend on ports instead. Ports pulls in extras, so there's no way to easily verify that TCP isn't using anything from extras except by grepping the sources for procedures. We should really try to switch to modules in core, that would've easily caught this! Reported by Kristian Lein-Mathisen Signed-off-by: Christian Kellermann commit b1a32afc675a74753691778d8d3604801b6c9d34 Author: Peter Bex Date: Thu Jun 12 21:13:49 2014 +0200 Make the handling of variables for directory prefixes a little more consistent with common UNIX practice, and support setting the important ones from Make through the environment (by using ?=-style instead of =-style assignment) Unfortunately this is slightly backwards-incompatible, as it renames INCDIR and changes the meaning of MANDIR. I think sticking with common practice is more important than backwards compat for the small set of cases where these variables will be overridden. Signed-off-by: Christian Kellermann commit 3dccbc8b206c58027c1f2c253ba1400c8dab9608 Author: Peter Bex Date: Sat Jun 14 20:45:12 2014 +0200 Remove two more deprecated procedures (##sys#check-port-mode and ##sys#check-port*) now that no remaining eggs are using it Signed-off-by: Evan Hanson commit 15b2dc1a570567326699d7729249aeec0ceb9e47 Author: Peter Bex Date: Sun Jun 15 20:55:52 2014 +0200 Make compiler.scm honor debug mode when the "d" debug macro is enabled, like the rest commit ee34cc875415a00e1f365b757baaa81a30e2dd7b Author: Peter Bex Date: Thu Jun 12 20:18:25 2014 +0200 Make /bin/sh scripts in scripts/ directory executable and fix a small portability issue with "csc-trans" reported by Aleksej Saushev commit c407a369197af4785b6e546bf5168621ae8f95f7 Author: Peter Bex Date: Sat Jun 7 22:21:10 2014 +0200 Remove obsolete procedures and C functions, undeprecate C_mutate() and deprecate C_mutate2(). An obscure deprecated internal detail of how temporaries introduced by specialization were handled is now converted from a comment to a hard error. If this causes no trouble we can eventually really remove it. In particular, these Scheme procedures were removed: ##sys#zap-strings, ##sys#round, ##sys#foreign-number-vector-argument These public C functions and macros were removed: C_zap_strings, C_stack_check, C_retrieve, C_retrieve_proc, C_retrieve_symbol_proc, C_i_foreign_number_vector_argumentp, C_display_flonum, C_enumerate_symbols, C_get_argv, C_get_argument, C_get_environment_variable These internal C functions and macros were removed: resolve_procedure, C_get_argv_2, get_argument_2, C_do_getenv, C_free_envbuf, get_environment_variable_2 Signed-off-by: Christian Kellermann commit e88cc7acc88f567355e9e3dedae63e99e888515c Author: Peter Bex Date: Sat Jun 7 14:03:09 2014 +0200 Fix recursive Make invocation for boot-chicken and installation when relinking commit 9b055f95d5b3c19a9037224e9ca4d0c32a53be6a Merge: 54005772 e033c2b1 Author: felix Date: Wed Jun 4 21:44:25 2014 +0200 Merge remote-tracking branch 'origin/master' commit 54005772bed76db5f22d85219db3332a33fa3387 Author: felix Date: Wed Jun 4 21:43:53 2014 +0200 Manual fixes and slight rewordings. commit e033c2b177fc59f30027e09bed25096ad811ab3e Author: Peter Bex Date: Mon Jun 2 16:30:17 2014 +0200 Add a note regarding Haiku (remove -fwrapv and touch build-version.c) commit 10e353b937555241914ad2a82f91c3cf8f5101ed Author: Peter Bex Date: Sun May 18 18:39:00 2014 +0200 Shorten defaults.make by automating the replacement of slash->backslash in 'I'-prefixed variables under Windows. Some small reshufflings to group together more WINDOWS_SHELL things to make it a little easier to read. Remove currently-unused "HEAD" variable. Signed-off-by: Evan Hanson commit ae99aa3c4c043ff71c56f0f6a6aadea334e693e1 Author: Peter Bex Date: Sat May 17 22:03:20 2014 +0200 Instead of calling Make recursively, include the platform-specific Makefile, but avoid including the config when building boot-chicken. This allows the user to call any target defined in the platform Makefile, making it possible to build *only* library.c, for example. Signed-off-by: Evan Hanson commit 3018776b6ca20ef7185a344b217c288b6d6e0974 Author: Evan Hanson Date: Wed May 21 09:09:15 2014 +1200 Sync manual/Types with wiki, and some nitpicky faq grammar tweaks commit ce208785381eced532f9e8c0f3235b6e6c3922ad Author: Peter Bex Date: Mon May 19 19:44:51 2014 +0200 Bumped version to 4.9.0 commit fc6e933321563e9c11672a0a58ad8f83b8b5874f Author: Peter Bex Date: Mon May 19 16:45:44 2014 +0200 Add CVE-2014-3776 to NEWS commit 6703b707170d2f3f2029cd0c6e3ca68f89d0666c Author: Peter Bex Date: Mon May 19 16:45:44 2014 +0200 Add CVE-2014-3776 to NEWS commit f47e7cc5ff02acdf93f52bf76444366e8d99145d Author: Evan Hanson Date: Mon May 19 06:24:16 2014 +1200 Generalize deprecation warnings Thanks to Jörg for the fully-general wording. Signed-off-by: Peter Bex commit 10f19b06ebd8da4872f2cf5b2164494bca97a5e6 Author: Evan Hanson Date: Mon May 12 11:42:25 2014 -0700 Document alternative form of "deprecated" type Signed-off-by: Peter Bex commit 661d1470d48045f31ab951bde94204320f9e62fe Author: Peter Bex Date: Sun May 18 14:20:25 2014 +0200 Manually merge latest wiki changes into the manual commit 8ac1b6935bbe14bb2c0cc1c0d478546f43f29b54 Author: Peter Bex Date: Sun May 18 14:20:25 2014 +0200 Manually merge latest wiki changes into the manual commit 54621ee49cbdb3883715202f0766843a8f1c2c33 Author: Evan Hanson Date: Sat May 17 20:43:58 2014 -0700 Fix read-string! and u8vector! types.db entries to allow false length arguments Signed-off-by: Peter Bex commit d4a3c11cf5cdb76026fe14bb4a939fcdd867f4f1 Author: Evan Hanson Date: Sun May 18 14:16:31 2014 +1200 Bound read-u8vector! to dest vector's size when no length is given Fixes #1124. Signed-off-by: Christian Kellermann commit fa248a734d6d59c8eed72579d08ab0e31af0a957 Author: Evan Hanson Date: Sat May 17 20:43:58 2014 -0700 Fix read-string! and u8vector! types.db entries to allow false length arguments Signed-off-by: Peter Bex commit 1d06ce7e21c7e903ca5dca11fda6fcf2cc52de5e Author: Evan Hanson Date: Sun May 18 14:16:31 2014 +1200 Bound read-u8vector! to dest vector's size when no length is given Fixes #1124. Signed-off-by: Christian Kellermann commit 5b62a076ff6dce3faa2f979e33290bbd0197d44f Author: Peter Bex Date: Fri May 2 12:47:22 2014 +0200 Allow negative arguments to set-file-position! for seek/cur. This is done by ignoring the argument altogether, and letting POSIX handle the error instead. Thanks to Seth Alves for reporting the restriction. Also move several duplicated file position accessor procedures from posixwin and posixunix to posix-common. Signed-off-by: Christian Kellermann commit 06fb58e175d0d0d79fe62b4abb6fcd487cf85e96 Author: Peter Bex Date: Fri May 2 16:41:26 2014 +0200 Fix #983 by reinstating the vector-like? procedure. This got (probably accidentally) deleted by commit 1affb847c0c43dbcba34bd5c098ffb28ff1160c0 Signed-off-by: Christian Kellermann commit 89e7da4710186eefd3b0044567f34bfeef2b3bff Author: Peter Bex Date: Mon May 5 12:20:22 2014 +0200 Use TARGETS as dependency for "check" target to ensure that everything's built before testing. Signed-off-by: Christian Kellermann commit 397e41cfa44b898674c68b0c52ef87563c88cc7c Author: Michele La Monaca Date: Tue May 6 13:17:57 2014 +0200 fix private repository tests for Solaris Signed-off-by: Mario Domenech Goulart Signed-off-by: Peter Bex commit 9839760eba9d5291ab0a9282d8834055964861eb Author: Michele La Monaca Date: Tue May 6 13:17:57 2014 +0200 fix private repository tests for Solaris Signed-off-by: Mario Domenech Goulart Signed-off-by: Peter Bex commit 1218353a7867e19403950c3f7d060dd38275ffca Author: Peter Bex Date: Tue May 6 00:50:52 2014 +0200 sync again :) commit 05cbd44f755c0b3fe14571de6ee93992bb851ac3 Author: Peter Bex Date: Tue May 6 00:47:36 2014 +0200 Update 'data representation' manual section to match the current wiki version commit 1b00bdfd5cd3319c26e1ad911caea31803f0bc07 Author: Peter Bex Date: Sun May 4 11:27:10 2014 +0200 For consistency, raise an exception from alist-ref when passed a non-list. Problem reported by Andy Bennett, solution suggested by Evan Hanson. Signed-off-by: Evan Hanson commit a3c7a5a4baa82c6b55875854d7483aad601c64fc Author: felix Date: Sun May 4 14:26:41 2014 +0200 Comments. commit 66e61af856ed7817dc07a0f542e9c2e27e284e36 Author: Mario Domenech Goulart Date: Thu Apr 17 23:32:09 2014 -0300 Add tests/version-tests.scm Basic version tests. Check if chicken-version matches the values for C_MAJOR_VERSION/C_MINOR_VERSION and the registered chicken-. feature. Signed-off-by: Peter Bex commit b00d73a5f4cfa3c7bcc44687ae4c9bc464bd8d04 Author: Mario Domenech Goulart Date: Fri Apr 18 09:45:24 2014 -0300 Bump version to 4.9.1 commit 3cf19679fa751ebf3a442091381ff616916085aa Author: Mario Domenech Goulart Date: Thu Apr 17 11:25:12 2014 -0300 Bump C_MINOR_VERSION to 9 commit a4fab85f89602230f61b01fab72fa955c778b847 Author: Mario Domenech Goulart Date: Thu Apr 17 11:04:13 2014 -0300 NEWS: typo fix (s/leightweight/lightweight/) commit ab6f00b16d4908bc54f38d8fab12c1acf51d291c Author: Mario Domenech Goulart Date: Thu Apr 17 11:25:12 2014 -0300 Bump C_MINOR_VERSION to 9 commit 8dbd7529a00ff9678653a61f049b3160cba331d2 Author: Mario Domenech Goulart Date: Thu Apr 17 11:04:13 2014 -0300 NEWS: typo fix (s/leightweight/lightweight/) commit 839d4e518b61ff21b2cbe09fbd40d8c89e9aad0d Author: felix Date: Wed Apr 16 15:34:34 2014 +0200 Make sure "ev-tstvec" does not hold on to a released object, because the storage may be re-used during GC. This would magically turn the released (and probably mangled) data into a heap-object again, should the heap be resized. Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit c4a09c91bde721c9cee8aff51fe5817927f51b78 Author: Peter Bex Date: Wed Apr 16 15:55:19 2014 +0200 Remove stuff from posixwin's 'unimplemented' list which has since been implemented commit 97849ffc17f20c2e035d6e672fe8871dc0487863 Author: felix Date: Wed Apr 16 15:34:34 2014 +0200 Make sure "ev-tstvec" does not hold on to a released object, because the storage may be re-used during GC. This would magically turn the released (and probably mangled) data into a heap-object again, should the heap be resized. Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit aeadade8ebb14bb79ae390ccd2e803db28878a10 Author: Peter Bex Date: Wed Apr 16 15:55:19 2014 +0200 Remove stuff from posixwin's 'unimplemented' list which has since been implemented commit cf37a5caade94cb8c73655f6c8ac698461806c79 Author: Peter Bex Date: Sat Apr 12 19:10:35 2014 +0200 Set version to 4.9.0rc1 commit 3890bdc762726cf0418a28d42143a39c34e7a009 Author: Peter Bex Date: Sat Apr 5 21:04:54 2014 +0200 Improve GC performance by avoiding tracking of nursery->nursery or heap->heap mutations. Instead, we only track mutations pointing *into* the nursery, and only on objects *not* in the nursery. Signed-off-by: Mario Domenech Goulart commit 775df1077cc06d000d873054cb8cc2b549ac263f Merge: 96a2bbff e42caebc Author: Moritz Heidkamp Date: Fri Apr 4 21:05:57 2014 +0200 Merge remote-tracking branch 'origin/master' into prerelease commit e42caebcb035dccb9853d728b364ada3089344fa Author: Peter Bex Date: Fri Apr 4 08:38:07 2014 +0200 Consolidate NEWS file for 4.9.0 Signed-off-by: Moritz Heidkamp commit b1e5a9bccd70d841a1915f4d89f46b52d19e082b Author: Mario Domenech Goulart Date: Fri Mar 28 11:07:53 2014 -0300 runtime.c: remove unused FILE_INFO_SIZE constant It's a leftover from ee1a502ed3ca4bd165875f1bae3cc9a7787c2d9b (thanks to Andy Bennett for pointing out that commit). Signed-off-by: Christian Kellermann commit cf48879e151b1568d7aea3a32b745535c7d78d66 Author: Mario Domenech Goulart Date: Wed Mar 26 18:27:23 2014 -0300 manual/Unit library: update the possible return values for build-platform, software-version, machine-type and software-type Note that I've removed macos from possible return value for `software-type', as it doesn't seem to be detected in chicken.h (maybe it was a leftover). commit 96a2bbff5ab669ab6ec9adf52968ba0044361b15 Merge: 4f063e8a ec4444e3 Author: Moritz Heidkamp Date: Tue Mar 25 11:54:52 2014 +0100 Merge remote-tracking branch 'origin/master' into prerelease commit ec4444e3b9a7c80c63f0dad4059b83f254b92fb2 Author: felix Date: Thu Dec 19 11:02:06 2013 +0100 Added basic iOS support. Signed-off-by: Moritz Heidkamp commit 4f063e8a570a91be49dda396ee774a2a60e8c608 Merge: 86391ede a105a031 Author: Christian Kellermann Date: Mon Mar 24 11:45:03 2014 +0100 Merge branch 'master' into prerelease for a new 4.8.4rc round. Acknowledgements conflict for unknown reason, I am fixing it manually, I hope I have not dropped a person's name. Conflicts: README buildversion manual/Acknowledgements manual/Extensions manual/The User's Manual commit a105a03133bbfee9764d604b9626b0d94b875d70 Author: Peter Bex Date: Thu Mar 20 20:49:34 2014 +0100 Use rpath for test binaries to make install-less tests work always. This enforces usage of ../libchicken.so even if there's an older installation already living under $PREFIX (otherwise that would take precedence due to default rpath of $PREFIX/lib) Signed-off-by: Christian Kellermann commit e8b48bf4300bde06e950d54be7eb81db32bf244e Author: Christian Kellermann Date: Wed Mar 19 14:32:29 2014 +0100 Deduplicate Tools section in NEWS commit 026fdaa886d6c7e1c660b5cba4f858777d1d4ca3 Author: Peter Bex Date: Mon Mar 17 21:30:39 2014 +0100 Don't fire finalizers on compiled, non-GCable constants (reported by "Pluijzer") Signed-off-by: Christian Kellermann commit 391ead6b2971ab2893c65dd322b10eae6c2e4c22 Author: Christian Kellermann Date: Wed Mar 12 15:42:29 2014 +0100 Fix bug #1106 chicken-install -deploy dependencies This commit will make chicken-install ignore the local egg db while traversing the dependency list when in deployment mode. This results in all dependencies installed in the deployment directory, instead of just the explicitly stated one in the egg's meta file. I have tested this with a spiffy example and chicken-install -deploy -p $(pwd)/t spiffy Which installs all dependencies of spiffy and intarweb. Signed-off-by: Peter Bex commit 814913e4c33e52e55329a0ba932dcdee21ea2805 Author: Peter Bex Date: Wed Mar 12 19:26:40 2014 +0100 Add a few hooks and hacks to make tests work without having to install CHICKEN (fixes #1057) Signed-off-by: Christian Kellermann commit 59144e025f6752387092631d208ffe37d1865916 Author: Peter Bex Date: Sun Mar 9 21:34:36 2014 +0100 Remove dependency on dos2unix, and restore r4rstest diff. DIFF_OPTS already contains a -w switch, which takes care of line ending differences. The r4rstest diff is okay now that we're not relying on gcvt() anymore. Signed-off-by: Mario Domenech Goulart commit a12c3486a4124c177b237874cec5add5244e7ee0 Author: Peter Bex Date: Sun Feb 23 13:30:43 2014 +0100 Fix isnormal() problem on MingW by using gcc builtin instead of the macro from mingw's header-files. Restore the tests as well Signed-off-by: Mario Domenech Goulart commit 84f89ca25ae51bae9d1d34cec8e6e06751aea722 Author: Peter Bex Date: Mon Feb 24 21:23:35 2014 +0100 Disable deployment tests on Hurd (for now); ORIGIN is not fully supported there Signed-off-by: Christian Kellermann commit f6080d2762b4a007ec19973a87de16effca9f709 Author: Peter Bex Date: Tue Mar 4 16:24:14 2014 +0100 numbers no longer uses GMP commit 4777fb07523457614296e3a1d037f5d8266f464d Author: felix Date: Sat Feb 22 14:55:25 2014 +0100 Attempt to fix #219 where renamed reexports are not correctly resolved. This follows a hint given by sjamaan, in that "##sys#register-compiled-module" clobbers the syntactic environments (SEs) of exported syntactic definitions with new complete SE built from all imports. This patch keeps the old SEs of each exported syntactic binding my merging instead of overwriting. This appears to fix the bug and all tests run ok for me, so far. Signed-off-by: Peter Bex Signed-off-by: Evan Hanson commit 62183d19774a190fa87f937de8bf5ffd59c5a604 Author: Peter Bex Date: Tue Feb 25 10:10:28 2014 +0100 Fix typo: C_structure -> C_structurep commit 9a4183fd93518b0863925d8ea1674fb06bdd093e Author: Peter Bex Date: Sun Feb 23 21:21:31 2014 +0100 Use proper linker flag quotation on Haiku commit 4121a759e68849836e1bc1988beed7d450e798a6 Author: Mario Domenech Goulart Date: Thu Feb 20 21:57:05 2014 -0300 Quote $(MAKE) invocations Unquoted $(MAKE) seems to cause problems on Windows (cmd.exe) when the path to `make' contains spaces. Signed-off-by: Peter Bex commit 5e69e49bdadcdfe92877fa98379f9d1ae222b637 Author: Peter Bex Date: Thu Feb 20 22:07:01 2014 +0100 Fix unsetenv() on Solaris, and start an effort to get rid of the strange "GNU_ENV" definition Signed-off-by: Mario Domenech Goulart commit 841d25fff90f4a52a72781d7b7b466f98d4a6388 Author: Peter Bex Date: Thu Feb 20 22:44:44 2014 +0100 Disable deployment tests on Solaris as well, because it isn't supported there Signed-off-by: Mario Domenech Goulart commit 49f4a606b87dcb81089cb28e9a546245872b8232 Author: Peter Bex Date: Thu Feb 20 22:20:45 2014 +0100 Solaris uses sonames as well Signed-off-by: Mario Domenech Goulart commit 9892683b014c31050f98933faca09f0d650c0b68 Author: Peter Bex Date: Tue Feb 18 21:48:57 2014 +0100 As a BSD family member (distant relative by now), Solaris has strlcat/strlcpy Signed-off-by: Mario Domenech Goulart commit cce929c25a46a3ff45ed8c742937aa28e1e28fed Author: Peter Bex Date: Thu Feb 20 21:30:31 2014 +0100 Solaris requires __C99FEATURES__ to enable C99 support (which we need from math.h) Signed-off-by: Mario Domenech Goulart commit a30edf399dc1dfed81c12e8375d89472495a9d1c Author: Peter Bex Date: Tue Feb 18 22:03:51 2014 +0100 On Solaris, ginstall requires the -m switch and its numerical argument to be separated by whitespace Signed-off-by: Mario Domenech Goulart commit 2e85368d4635f9a61a97fdc62b9d0cafa07ffa80 Author: Peter Bex Date: Sun Feb 16 11:50:24 2014 +0100 Update manual with changes from the wiki commit 0cfcd5bbcdbbc2007c785b8ae77b5bd1328de383 Author: felix Date: Fri Dec 20 13:52:27 2013 +0100 Use C_COMPILER_OPTIMIZATION_OPTIONS also when building "chicken-boot", as this setting is the only one the user can override to provide custom compiler options. Signed-off-by: Peter Bex commit ca891676d99a947550c821db4db59e3c5c62735c Author: Peter Bex Date: Sat Feb 15 11:36:59 2014 +0100 Update manifest; remove stale files, add a few missing ones commit 6cf5b12b275455ff9c9adfd9e7d6e0ffeed98478 Author: Peter Bex Date: Thu Feb 13 21:20:20 2014 +0100 Block *all* signals while the global signal handler is running. Before, it would block just the signal that it was currently handling. This is problematic because different signals could interrupt the signal handler causing annoying race conditions on multi-CPU systems. Hopefully this will finally fix #877 properly. Signed-off-by: Christian Kellermann commit 019c1bfb1d1e7f598ecbc776e518444cb8f2bbff Author: Peter Bex Date: Fri Feb 14 08:46:57 2014 +0100 Android patch was submitted in 2013 but applied in 2014 after updating copyright commit c3684622188fb7b80b2554df05c0eb7343ba0f22 Author: Peter Bex Date: Sat Feb 8 13:50:11 2014 +0100 Disable denormalized flonum tests, as this is too unreliable and requires hardware support as well as proper implementation in software. Signed-off-by: Mario Domenech Goulart commit bcf46becbc23276975bb2941b7e54c0cfd1f3147 Author: Kon Lovett Date: Thu Feb 6 11:28:09 2014 -0800 macosx has strlcpy & strlcat Signed-off-by: Mario Domenech Goulart Signed-off-by: Peter Bex commit 6e984b25481b5346a93ac5f219e45107cbd880df Author: Mario Domenech Goulart Date: Fri Feb 7 21:42:14 2014 -0200 Add note about SRFI-13 fixes to NEWS Better late than never. :-) commit 758656d63e727de9cedbed3c15a8c6fe87e5ef73 Author: Peter Bex Date: Fri Feb 7 21:42:31 2014 +0100 Move C_strlcat/C_strlcpy definitions up in chicken.h This is needed so that the uses of C_strlcat and C_strcpy in the PRIVATE_REPOSITORY block's inline functions aren't interpreted as implicit forward declarations of external functions by the C compiler, thereby preventing our definitions from being inlined. Signed-off-by: Mario Domenech Goulart commit b89d1d4fc17fea01916fff8ad23b8d3a756abcf9 Author: Peter Bex Date: Thu Feb 6 10:00:17 2014 +0100 Fix strlcat usage in setenv: use the start of the string as dest buffer and append the "=" using strlcat instead of overwriting the NUL character. Signed-off-by: Mario Domenech Goulart commit d6d3da4bcdceb2beb223db0e0d9fd381546ff6b7 Author: Peter Bex Date: Thu Feb 6 09:56:48 2014 +0100 Prevent problems when the host system does provide strlcpy/strlcat. Defining strlcat/strlcopy causes trouble if HAVE_STRLCAT/HAVE_STRLCPY is not set and the host system does offer these functions. This could also happen on systems that don't offer these functions but bsd/string.h is being included by user code on Linux, for example. Instead of defining strlcat and defining C_strlcat to point to that, we define the replacement function directly under the name C_strlcat. On systems which do have strlcat, we define C_strlcat as an alias of strlcat. Signed-off-by: Mario Domenech Goulart commit 226007b282865d23b67db0ffa92a8b790032efdc Author: Mario Domenech Goulart Date: Thu Feb 6 09:01:02 2014 -0200 Fix subvector when the TO optional argument equals the given vector length (#1097) Signed-off-by: Peter Bex commit 3d545a9e245dc943f4b8afcfb20b71d0c5dc1f3f Author: Moritz Heidkamp Date: Wed Feb 5 23:26:39 2014 +0100 Remove list argument check from C_u_i_memq This was erroneously added in 0a52536b7cb6b3d5a35ecc8f4c11131041ae873a Signed-off-by: Peter Bex commit 1eee3f99256c5bce67401c3ecee7a6a0f559d5ed Author: Peter Bex Date: Thu Feb 6 08:46:11 2014 +0100 Cygwin has strlcat and strcpy commit be56516c37416ea1d78fa5d93e0c801410e2b1c6 Author: Peter Bex Date: Sat Jan 25 21:36:40 2014 +0100 Remove more Makefile redundancy Remove even more ugly duplication in Mingw Makefile by moving the quoting style into a function which depends on the shell type. Now the call looks pretty ugly, but in time we can hopefully replace the $(call echo, >>, $@,foo) pattern with $(file >> $@,foo) At least this reduces the possibility of mistakes when tweaking the generated chicken header files or resource files. Signed-off-by: Mario Domenech Goulart commit 217883572c2ae7593c910fa377ae05663c90314a Author: Peter Bex Date: Fri Jan 24 23:24:29 2014 +0100 Fix SONAME handling on Windows This removes unnecessarily duplicated rules for chicken-defaults.h from Cygwin Makefile and fixes MingW makefile to set the new USES_SONAME definition. The only actual difference between Makefile.cygwin and defaults.make was that it set TARGET_RUN_LIB_HOME to TARGET_PREFIX/bin - now make this dependent on DLLSINPATH, which also controls where the library is copied during install. Signed-off-by: Mario Domenech Goulart commit 3aa8ec7fffa59950771d756cf91f2394403973be Author: Kristian Lein-Mathisen Date: Fri Jan 3 15:16:51 2014 +0100 fix: eval.scm: use soname only with when USES_SONAME present in Makefile Android, who'se software-version is 'linux, does not use sonames and crashes with (use ) because the binary-version is incorrectly appended to the shared library filename. This patch explicitly propagates the Makefiles' USES_SONAME property through to eval for this to work properly. Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit 8efbbc50d050d28c34ea0c5a58d0de92ec9f918a Author: Christian Kellermann Date: Fri Jan 10 15:43:07 2014 +0100 Replace unsafe string functions with their safer counterparts This patch removes strcpy, strcat and sprintf usage out of core in favor for strlcpy, strlcat and snprintf. For systems that don't include strlcat and strlcpy in their string.h, drop-in replacements for these two functions are provided, derived from public code by C.B. Falconer. Systems that *do* ship these functions should declare HAVE_STRLCPY and HAVE_STRLCAT in their chicken-config.h. The chicken definitions for strcpy and strcat have been removed. This has been done for the Makefile.bsd as these do ship with these procedures. Some Windows/Unix POSIX duplication has been pulled into the posix-common file used on both platforms. Signed-off-by: Peter Bex commit 26b5e92be64a2d022f355499815ffe9b8b670287 Author: Peter Bex Date: Sat Feb 1 20:05:06 2014 +0100 Enable -deploy ($ORIGIN) support for NetBSD It works, but with a small caveat: it's been added since 5.0 and the program must be invoked through an absolute path when running it. This works implicitly when running the program without a path (ie through $PATH), as well. Signed-off-by: Christian Kellermann commit af659a64674d8814412401d07c0024664524d302 Author: felix Date: Fri Dec 20 13:50:36 2013 +0100 Allow overriding EGGDIR. Signed-off-by: Peter Bex commit 402879b42f5459e07f9b9184402fff1eac4a723b Author: Peter Bex Date: Thu Jan 30 21:17:25 2014 +0100 Remove obsolete -no-cpp-precomp flag for OS X build (thanks to Jason E. Aten) Signed-off-by: Jim Ursetto commit c6a6a26225620b566f8bc487cc4180de55555a2a Author: felix Date: Tue Jan 28 10:16:09 2014 +0100 Use additional variables in MacOSX makefile to specify location of C compiler and build tools. Setting -isysroot doesn't seem to be necessary in this case, the default being to compile for Mac OS, apparently. commit 3913575fd59efe2067bfdaf4acecc7cdf560f12a Author: felix Date: Tue Jan 28 10:17:18 2014 +0100 Store name of the post-install program in chicken-config, so that csc can pick up the path to "install_program_name" on Mac OS. Also pass "-headerpad_max_install_names" to the linker when building dynamically loadable .so's. commit bed74a7464b58826f1e948d86648c83bf3277c2f Author: Peter Bex Date: Sat Feb 1 19:57:44 2014 +0100 Bumped version to 4.8.4 commit 49f4bcdbfc239bdf3f4f04cfb4daeb1193dd5acc Author: Christian Kellermann Date: Fri Jan 24 15:31:42 2014 +0100 Enable -deploy on OpenBSD The fix is the same as for FreeBSD. DF_1_ORIGIN has to be set and this gets done by passing the -z origin flag to the linker. With this patch the deployment test passes and OpenBSD has a full and working make check run now. Signed-off-by: Peter Bex commit 8a16742b6bc2881f97915e6bec4ebcca84aa726b Author: Evan Hanson Date: Thu Jan 30 20:23:11 2014 +1300 types.db signature improvements - pointer-tag (result may be any Scheme object) - string-any, string-every (polymorphic result when predicate is a procedure) - make-pathname (specify allowed types for directory argument) - mutex-lock! (specify allowed types for timeout argument) Signed-off-by: Peter Bex commit ddb2b635013492c660b017b1cc29118e9d73165d Author: Evan Hanson Date: Mon Jan 27 11:37:37 2014 +1300 Add distinct boolean subtypes for true and false Fixes #847. Signed-off-by: Peter Bex commit 13d526f517d228cecaacbcf8ca53b548f2be9b44 Author: Mario Domenech Goulart Date: Sun Jan 19 20:08:17 2014 -0200 srfi-13: fix bug in string-trim-right The bug in srfi-13's reference implementation was found by Seth Alves, who also provided the fix (see http://lists.gnu.org/archive/html/chicken-hackers/2014-01/msg00016.html ) His patch has been amended with some tests. Signed-off-by: Evan Hanson commit 32d0deac00795122cc03146c04523a7145ac626a Author: Mario Domenech Goulart Date: Sat Jan 11 18:11:47 2014 -0200 Fix bug in string-index-right and string-skip-right Patch by David Van Horn to the SRFI-13 mailing list (see http://srfi.schemers.org/srfi-13/post-mail-archive/msg00007.html). Ported to CHICKEN by Seth Alves (see http://lists.nongnu.org/archive/html/chicken-hackers/2014-01/msg00022.html). Signed-off-by: Evan Hanson commit 2b37594c72ce3f48b0b18b64df6eb0aa1fd283b2 Author: Peter Bex Date: Mon Jan 27 21:16:59 2014 +0100 Fix issue building files which explicitly use units via -uses and then (use) them Found through the "git" egg's compilation failure. Signed-off-by: Moritz Heidkamp commit 9b47664db26526a8075020fcfb55dd69b40d9557 Author: Evan Hanson Date: Mon Jan 27 21:48:12 2014 +1300 Fix validation for multiple-return procedure types Validation for procedure types like (a -> . b) relied on the pre-0a52536 behavior of memq, where a failed search on an improper list would return false rather than raise an error. After that change, such types are rejected as invalid, so this adds a local memq variant to the scrutinizer that reproduces the old behavior, as a workaround to re-support this type syntax. Signed-off-by: Moritz Heidkamp commit 92fbfcfcbb4a923998065df59adc44ba0512d7cc Author: Peter Bex Date: Wed Jan 22 15:26:15 2014 +0100 Fix #1003 by converting section references to internal links or removing them if the section isn't in our manual Signed-off-by: Evan Hanson commit 0a52536b7cb6b3d5a35ecc8f4c11131041ae873a Author: Moritz Heidkamp Date: Tue Jan 21 12:20:11 2014 +0100 Add proper list checks to assq/assv/assoc and memq/memv/member Previously it was possible to pass any kind of value to these procedures as their list argument and they would just return #f in that case. This patch adds checks to the checked variants at the end of the loop so it will only incur additional runtime cost if either a non-list is passed as the list argument or if the sought element is not found. Note that this patch has the side-effect of also erroring out on improper lists in the not-found case. This lead to an error getting raised in the scrutinizer which is taken care of in this patch, too. Furthermore, the test cases added for all procedures affected by this patch uncovered a bug in the specializations defined for assq, assv, and assoc in types.db which would specialize to the unsafe inlined variant of assq for any kind of list rather than lists of pairs. This is also fixed. Signed-off-by: Peter Bex commit 5649c906ee021f1310ccfee6693f4056929455ce Author: Peter Bex Date: Sun Jan 5 20:38:43 2014 +0100 Fix race condition in #877. Don't allow a flood of identical signals to hog the signal queue. In the test, just to be sure, first set up a signal that the child can send the parent when it's ready. Then start sending signals to the child, so we know the child managed to set up all its handlers. Finally, wait for acknowledgement of child shutdown so we can detect whether the error persists. Signed-off-by: Christian Kellermann commit 18fec778f8b36a364893deaf8ca96be66f8a36d8 Author: Peter Bex Date: Tue Jan 21 16:06:04 2014 +0100 Make type declaration for vector-resize more precise and correct when initialisation type differs from the type of the vector's contents Signed-off-by: Evan Hanson commit 229ff282eba8a5dc351635751a5550dd7d673689 Author: felix Date: Fri Dec 20 13:51:29 2013 +0100 Some changes in the "acknowledgements" section of the manual. Signed-off-by: felix commit d152736aac8dcb9b3d5a5dd0254351ad32e1d9c6 Author: felix Date: Wed Dec 18 14:36:16 2013 +0100 Added Android-specific changes to posix-unit and runtime and added a simple makefile. Signed-off-by: Peter Bex Signed-off-by: felix commit 8fbcbf9af8eb2c7575dae094ac1943ff3ce055f3 Author: Peter Bex Date: Fri Jan 17 21:26:51 2014 +0100 Fix crashes in resize-vector when sizing down (detected by DEBUGBUILD) Signed-off-by: Mario Domenech Goulart commit 7bf5eceb0a1f1d1284529036e3dfb7ac12d002d3 Author: Evan Hanson Date: Fri Jan 17 14:30:59 2014 +1300 Pass "-z origin" as a linker option for deployed binaries on FreeBSD Thanks to Jules Altfas and Vitaly Magerya for the report and suggested fix. Signed-off-by: Christian Kellermann commit 0326751bb5ecfe6169058bf740010c9f0987b059 Author: Peter Bex Date: Fri Jan 3 20:03:02 2014 +0100 Update copyright year to 2014. I used the same script as last time, with 2012 and 2013 replaced with 2013 and 2014: for i in `git grep -Il '(c) [0-9-]*, The Chicken Team'`; do sed -r 's/\(c\) (([0-9]+)-|(2013))(2013)?,/(c) \2\3-2014,/' "$i" > tmp && mv tmp "$i"; done On GNU systems you can use "sed -i" instead of mucking about with tmp files. Signed-off-by: Evan Hanson commit 504ec7a30debc416d300157ffb542e660231f08b Author: Evan Hanson Date: Sun Dec 29 14:47:32 2013 +1300 Improve scrutiny for pair types This avoids lossy canonicalization of pair types in the scrutinizer, and makes type matching slightly more accurate when matching (pair ...) forms against list/list-of types. This allows type variables in pairs to be unified from the type environment during pair <-> list-of comparisons. Fixes #1039. Signed-off-by: Peter Bex commit 639896ed406e57020a64e07f17c319718ee83978 Author: Evan Hanson Date: Sun Dec 29 14:46:39 2013 +1300 Remove some redundant/unreachable cases in type matching Signed-off-by: Peter Bex commit 04fb8aa6879e8d7d9cea471563bee7f051aba231 Author: Evan Hanson Date: Sat Dec 28 19:47:19 2013 +1300 Add null guards and fix empty list rewriting in (pair a b) <-> (list ...) type comparisons This makes sure type comparisons between (pair ...) and (list ...) forms don't fall off the end of the list, causing unhelpful errors about calling cadr/caddr on null. Signed-off-by: Peter Bex commit 8910d79edf601682af6bc396a2509f0f2c7dea6d Author: Peter Bex Date: Sun Jan 5 19:55:44 2014 +0100 Convert map-se to be a macro This avoids a warning messages when compiling a debugbuild and keeping the "d" macro disabled (the default). commit 62157e98221e74770099df5ca99ac4a19dd3026f Author: Evan Hanson Date: Wed Jan 1 07:38:11 2014 +1300 Fix invalid assertions in scrutiny-tests-2.scm This addresses #1063. Signed-off-by: Peter Bex commit 05d663cccb4ea37b3f86f5020dbde8c29613a591 Author: Peter Bex Date: Sun Dec 29 16:57:14 2013 +0100 Fix for #1068 (2): don't allow captured lambdas to get replaced. This caused issues with letrec-like constructs: by replacing variables with complex lambda expressions lexical scoping would be broken and references to variables could be moved around to a location where the variable was out of scope. More generally, the optimization which replaces variables completely ignores all scoping rules, which can cause issues if the values being moved about refer to other variables in the same scope. For unknown reasons, this hasn't caused issues in other situations yet. Signed-off-by: Christian Kellermann commit 3e302a402bb20f8ffc2975eb77edcfe2f7c0e36c Author: Peter Bex Date: Sun Dec 15 16:04:27 2013 +0100 Fix #1068 (partially!) by removing returnvar-passing from CPS-conversion Signed-off-by: Christian Kellermann commit 99d43101f8bd2766f8ac64332dc19c2a6ee16d4c Author: Evan Hanson Date: Mon Dec 30 18:02:54 2013 +1300 Various types.db signature fixes, specializations - Specializations for 0/1/2-argument procedure calls: - =, >, <, >=, <= - list=, char-set=, char-set<= - srfi-1 lset procedures - Type signature fixes - append (allows no arguments) - feature? (variable arity) - list= (first argument should be a procedure) - lset=, lset<=, lset-xor[!] & -union[!] (don't require list arguments) - lset-diff+intersection[!] (returns two values) - make-list (returns (list-of a) when a is given) Signed-off-by: Peter Bex commit ac54afbcbe37676ce1f9fcc864d0a5cd6f8c7f13 Author: Peter Bex Date: Sun Dec 15 13:30:41 2013 +0100 Add initial dir-locals file Signed-off-by: Christian Kellermann commit 0cb14819da55360774b1f2a0c4068086079e1e8a Author: Peter Bex Date: Fri Dec 27 21:30:04 2013 +0100 Add foreign-primitive to chicken.el's known syntactic forms commit 59007e8bb8ea153f9e942945380139714a045f88 Author: Evan Hanson Date: Fri Dec 27 06:41:48 2013 +1300 Fix premature EOF termination This fixes the same issue as 1d9b585 in a slightly different way, in order to fix a bug in empty line handling for here documents introduced by that change. commit 1d9b585414e6f6e67bb996782821ef84a581571f Author: Evan Hanson Date: Sat Dec 21 20:19:42 2013 +1300 Fix argument error on incomplete here document tag due to (string-length #!eof) Signed-off-by: Peter Bex commit fa97b396f13b36ad8179c6a485a37e001ee272f7 Author: Evan Hanson Date: Sat Dec 21 20:20:49 2013 +1300 Signal read errors on unterminated string literals ending with '\' Signed-off-by: Peter Bex commit 84f293edc0ad83a990d898485ac4631f2346ec34 Author: Evan Hanson Date: Sat Dec 21 20:18:39 2013 +1300 Fix argument error when signaling invalid (surrogate) \U unicode escapes commit d2fa321f6ccc218c40d619cedbc37553e9eeb328 Author: Peter Bex Date: Sun Dec 1 18:01:19 2013 +0100 Get rid of all fallback winsock.h code and simplify a few more Windows things. - Winsock 1 probably doesn't work anymore anyway, and Winsock 2 is supported on all target Windows versions. All of our Windows Makefiles define HAVE_WINSOCK2 so it was dead, untested code. - Remove unused strange HAVE_... feature definitions - Remove unused get_netinfo() function - Remove a whole bunch of unused process/pipe/IO redirection functions and macros Signed-off-by: Christian Kellermann commit 18e75a43ad70ff3088135fbe45930bbb340944b9 Author: Peter Bex Date: Wed Nov 20 23:05:40 2013 +0100 Several Windows-related fixes and one race condition-related fix for TCP. - Fix nonblocking socket behaviour on Windows by actually marking it nonblocking. - Fix socket error handling in Windows by using WSAGetLastError() instead of checking errno. - Declare tcp should run with interrupts disabled, to prevent race conditions between multiple threads causing TCP errors (or on UNIX, causing any error which may overwrite errno). Signed-off-by: Christian Kellermann commit 5879eb1080dc42e18f62623f24b2b5d8facea878 Author: Peter Bex Date: Wed Dec 18 21:58:39 2013 +0100 Mark ##sys#zap-symbols obsolete This procedure would replace every single symbol's string value in the symbol table by the same string. This could even cause segfaults. Since it's not used, not documented and can cause trouble, let's get rid of it! Signed-off-by: Mario Domenech Goulart commit dc961de83de1ffe831ab206cb9058f95cdd90374 Author: Peter Bex Date: Sun Dec 15 13:23:38 2013 +0100 Remove duplicate and-let* from, and add letrec* indentation rule to, chicken.el commit b504261ea6f46680661d296b2a42f52aa39b820f Author: Peter Bex Date: Fri Dec 13 21:50:25 2013 +0100 Fix #1080 We now simply check whether an "else"-clause was generated before we generate a catchall else-clause. It's a bit dirty, but it works... Signed-off-by: Christian Kellermann commit 5d2b4fadd0913c03b6fd457fd38d63f501f48fc8 Author: Christian Kellermann Date: Thu Dec 12 05:29:13 2013 -0500 Fix #1081 by explicitly setting the interval to 0 in setitimer. commit 2477220de9c5663417f1d2626b34a3f71fc68992 Author: Peter Bex Date: Fri Nov 22 20:34:30 2013 +0100 Fix "process" under Windows and fix general error handling under Windows. - In PROCESS, don't try to mark duplicated descriptors from the parent process as inheritable; this isn't allowed (and they should already be inheritable or you can't duplicate them, and we duplicate with SAME_ACCESS anyway). - In PROCESS[*], don't try to close handles that haven't been opened. - When setting the errno for nonexisting error, don't loop endlessly. - When no error is known, just set it to ENOTSUP (what to do?) - Add simple regression test for process/process*. Signed-off-by: Christian Kellermann commit dec1b2ee2556e4a53a2f34d8aca8ed76b6e99e9c Author: Peter Bex Date: Tue Dec 10 23:16:58 2013 +0100 Fix test compilation error on Windows commit e2700786c777b8ef353e92c66f8ccdeea7524cca Author: Christian Kellermann Date: Tue Dec 10 12:41:54 2013 +0100 Go back to sleep when thread-join! is called without timeout. This patch fixes an issue discovered by Michael Greenly. When a signal handler is called a thread waiting for another with thread-join! got woken up and the code assumed this could have happened only because the other thread died or the timeout occured. Hence if the waited-for thread is not in state terminated or dead a timeout exception is thrown. With this patch the thread is put back to blocking state (for termination of the waited-for thread) if no timeout has been given. Note: This is reliably triggered only when the signal is delivered external from the CHICKEN process. The patch also refactors the code to explicitly match the expected thread states and errors out in the else clause. A test case for this situation has been added. Signed-off-by: Peter Bex commit b1aa804894bf53a78ed93a12d76276b2552f7d2b Author: Peter Bex Date: Tue Nov 26 21:44:53 2013 +0100 Explicitly use signed chars for s8vector operations. This fixes the srfi-4 errors on PowerPC and ARM which were uncovered by tests which were recently added to compiler-tests.scm Signed-off-by: Christian Kellermann commit 37a788ce764aa93bc459b883bb1c350644704f9d Author: Peter Bex Date: Mon Nov 25 20:04:05 2013 +0100 Ignore user's umask: set proper permissions on directories while installing. Thanks to David Ward for this patch and John J Foerch for reporting the bug. Signed-off-by: Moritz Heidkamp commit 700500202d1f948bed363ad2dfc599ec5e642587 Author: Peter Bex Date: Mon Nov 18 22:06:13 2013 +0100 Remove HAVE_GCVT check and definition. Use snprintf on all platforms. gcvt() is deprecated in POSIX, and it produces problematic output in at least cygwin. For example, -0.0 is printed as "0.0" and more fun things. This fix adds a regression test for the negative zero case. Replace sprintf usage with snprintf just in case someone decides to use insane values for flonum_print_precision. Signed-off-by: Moritz Heidkamp commit 6a389c5c6fee611f2e4b54b1cee6873e52c38e7a Author: Evan Hanson Date: Wed Nov 27 16:11:20 2013 +1300 Expand cond clauses with constant tests and no expressions to the test value Signed-off-by: Peter Bex commit 133dc1c7654eca1d92bde078996e085355551a0e Author: Peter Bex Date: Sun Nov 24 15:16:16 2013 +0100 Simplify handling of header file inclusion: - Remove headers from specific files if already included by chicken.h - While we're at it, reorder headers in chicken.h so they're included in alphabetic order so it's easier to find a header in the list. - unistd.h was unconditionally included in files.scm, so it's safe to include it unconditionally in chicken.h even if running under Windows - sys/types.h was unconditionally included in posix-common.scm, so safe to use in chicken.h - stdint.h is included by inttypes.h, so remove the conditional inclusion of stdint.h when not under SunOS. - inttypes.h was already included by the above check, even on Windows, so it's safe to remove the conditional around that. - Just to be on the safe side, include stddef.h; we use NULL and size_t, which are supposed to be defined by it - On haiku, only include kernel/image.h when C_PRIVATE_REPOSITORY is defined, as it's needed only for the path_to_executable hack. - Don't include signal.h twice in runtime.c Signed-off-by: Evan Hanson commit 6ca6044dc6fca14b471203a16fe728abba71397d Author: Peter Bex Date: Sun Nov 17 11:37:56 2013 +0100 Irregex: Fix #1066: submatches in negative look-behind work with chunked strings This includes upstream changesets 60eb93968828, 13211f6af649 and a3abbe85fd00. Signed-off-by: Evan Hanson commit e902a2713b5dcbde53ad4d2ba3c436277882e6ee Author: Peter Bex Date: Mon Nov 18 21:31:57 2013 +0100 Silence compiler warning due to inconsistent broken piece of shit Windows API commit 22d7cda0c2ec28fe5e7ae1ea5c02bf9d6f477d2e Author: Peter Bex Date: Sun Nov 17 21:33:16 2013 +0100 Add a note for hapless Windows users getting bitten by the broken virusscanner commit 7718c808aae118ee49ad0271772c4b7ab282a01c Author: Peter Bex Date: Sat Nov 16 13:37:41 2013 +0100 Irregex: Fix #1064 and #1065 (documentation bugs) This corresponds to Irregex upstream changesets 13742647d43a and 55efe3bf41a6 commit fdd6415b6f145c4a626a1d8f20cf6267177b8a5d Author: Evan Hanson Date: Sat Nov 16 17:52:29 2013 +1300 Fix literal identifier formatting in the irregex unit's docs This replaces some "\q{{foo}}" escapes (as used in IrRegex's docs) with "{{foo}}" wiki syntax. commit b982e51adf373805d7bcab097abcf19d6125764a Author: Evan Hanson Date: Sat Nov 16 17:50:34 2013 +1300 Fix incorrect irregex-search examples in irregex docs commit b6add5383f325c864dda2fcee3046eda6d94cb2b Author: Peter Bex Date: Fri Nov 15 20:04:39 2013 +0100 Warn on cond clauses following constant expressions like for `else'. Thanks to Joerg Wittenberger for suggestion and initial patch. Signed-off-by: Evan Hanson commit 4fb8be6f5e7d5c749b6b4260e42008ade9e36ed4 Author: Evan Hanson Date: Fri Nov 15 15:17:26 2013 +1300 Return the result of EXP from (assert EXP) Signed-off-by: Peter Bex commit e98b6f61617c15dcb60d082ea3925f77a772d2fd Author: Evan Hanson Date: Fri Nov 15 14:03:48 2013 +1300 Warn on all clauses after an else in cond and case forms Previously, warnings were issued for non-else clauses, but any else clauses after the first are also effectively ignored so this adds warnings for those as well (and at the same warn level; case had been using ##sys#notice while cond used ##sys#warn). Signed-off-by: Peter Bex commit 9fcc363109864c5d3022d06fad1f95ca5f41908b Author: Christian Kellermann Date: Tue Nov 12 20:56:54 2013 +0100 Add Hurd also to the dynamic-load-libraries in eval.scm The default used to work by chance and this is more explicit. Signed-off-by: Christian Kellermann commit f97cfc9008e4cb9bbd13f4082f1407fa37bd60ff Author: Peter Bex Date: Sun Nov 10 21:53:32 2013 +0100 Fix various Haiku issues - It was unable to load shared libraries (module files) outside LIBRARY_PATH because it wasn't marked as an ELF platform - The unsetenv() test failed. It was using putenv() but Haiku is a (mostly) GNU system so unsetenv() is available - repository path support was broken as it used strcat() on uninitialized memory - fast_read_string_from_file defined variables after other statements; this is not accepted by GCC 2, which Haiku still uses as main compiler Signed-off-by: Christian Kellermann commit b663e07c84bc011db7590f556b3cac02ce3e4308 Author: Mario Domenech Goulart Date: Sat Nov 9 12:32:46 2013 -0200 Fix unsetenv on Windows Environment variables were not really being unset on Windows. Assume the following code: (use posix) (setenv "FOO" "bar") (print "1 " (get-environment-variable "FOO")) (unsetenv "FOO") (print "2 " (get-environment-variable "FOO")) Before this patch, the output was: 1 bar 2 bar After this patch, the output is: 1 bar 2 #f as expected. This patch only affects Windows systems. Signed-off-by: Peter Bex commit d3906e96adaf9dc24e6f514faf2e978810d516c8 Author: Peter Bex Date: Fri Nov 8 16:50:29 2013 +0100 Fix #1059: Use appropriate lolevel accessors for SRFI-4 vectors (not C_u_i_cdr) Also add a few VERY basic tests for srfi-4 vector FFI support. Signed-off-by: Mario Domenech Goulart commit d217ed78c5c9a2a5c0d6353e1cfb5c83c34981f6 Author: Mario Domenech Goulart Date: Sat Nov 9 09:44:04 2013 -0200 README: fix typo (unintended hyphenation: "auto- matically") commit 6ab54b7858af342029bd86990bf1bbaf11005f7e Author: Peter Bex Date: Fri Nov 8 19:23:11 2013 +0100 Update NEWS commit 50e6c96de581b1613c435bfe1d4304a74e710df2 Author: Peter Bex Date: Fri Nov 8 19:14:19 2013 +0100 Add change-directory* to the POSIX export list (thanks to Alan Post) commit 8783c0acce3a56e2b50834f93935b661ea387634 Author: Peter Bex Date: Fri Nov 8 17:21:18 2013 +0100 Use C_block_item(bucket,[01]) instead of C_u_i_c[ad]r in C_enumerate_symbols. It may be obsolete, but it's still broken, and the apropos egg still uses it commit ac83e67c5ee6fdddde212eb5edeeedf1421451f8 Author: Peter Bex Date: Fri Nov 8 16:59:25 2013 +0100 Remove unused and silly C_invert_flag macro commit a0eee6e938af40532996398223123b9ae9f549b8 Author: Evan Hanson Date: Fri Nov 8 06:28:27 2013 +1300 Warn and exit when the user declines an egg upgrade during chicken-install This avoids an error when the user declines an egg upgrade, since that extension doesn't go into eggs+dirs+vers but the installation carries on regardless (and its dependency associates to #f where an e+d+v is expected). Signed-off-by: Peter Bex commit f91293746b9f0ba0c51961e2ac5b6c2ec8013bc2 Author: Evan Hanson Date: Fri Nov 8 06:24:02 2013 +1300 Properly set the default value ("no") for chicken-install's egg upgrade prompt yes-or-no?'s default value is a keyword argument, but wasn't being passed as one. Signed-off-by: Peter Bex commit afc06e05cbca79e351bdcd47b29368c20b4af5ab Author: Christian Kellermann Date: Thu Oct 24 10:21:54 2013 +0200 Make The Hurd a first class target This patch adds a Makefile which is currently a clone of the linux one. The Hurd also uses ELF binaries so it gets added to the list for csc. Also define PATH_MAX for now (1024). Signed-off-by: Peter Bex commit 4d1d39a051ffb37924fd995471ac6469c9d1d834 Author: Christian Kellermann Date: Wed Oct 23 14:42:16 2013 +0200 Don't rely on __MACH__ being MAC OS X when choosing the apply-hack This change enables compilation on the GNU/Hurd system which also defines __MACH__. Signed-off-by: Christian Kellermann Signed-off-by: Peter Bex commit f22c58ad23d3f3df7da937039dddd46577b011ae Author: Peter Bex Date: Tue Nov 5 16:37:09 2013 +0100 Fix regression introduced by interrupt handling change. This attempts to simplify interrupt handling somewhat by getting rid of the interrupt_reason variable, and just keeping an array of pending interrupts. Lock out the GC from interrupting the interrupt-hook once it starts collecting pending interrupts. Signed-off-by: Mario Domenech Goulart commit 3f43b7c808269ff9eba0702800018ed327d7758e Author: Peter Bex Date: Mon Nov 4 21:07:59 2013 +0100 Git rid of endless GC loop while handling signals. Fixes #989 (and #877?) Signal handling is intertwined with the GC for performance reasons. When a signal is received, the real C signal handler will put the signal on a pending stack for Scheme to pick up. In order to get the signal handler invoked ASAP, it will also force the stack to appear "full" to the GC. If a signal is received during a Scheme "signal handler", the stack will be set to "full" in the real signal handler, and control will then continue in the regular code, as is usual in POSIX. The next signal is fetched by ##sys#signal-hook through C_i_pending_interrupt, which clears interrupt_reason. Then it calls the inner LOOP in ##sys#signal-hook, which performs a stack_probe in the generated C code which will cause a minor GC. Thus, the stack is "full" but handle_interrupt() is not reached (as interrupt_reason was already cleared). So the GC will clear the stack but it cannot because the stack is mostly empty already. This means it will still seem "full" after the GC has finished. Then, the trampoline calls proc, which again does a stack_probe which triggers a minor GC, ad infinitum. To make things worse, this only happens if the user-mode signal handler is uninterruptible (ie, native code or code with a disable-interrupts declaration). If the user code contains its own stack_probe it will get to it before ##sys#interrupt-hook has a chance to clear interrupt_reason, thus it will cause the regular handler to be invoked through save_and_reclaim(). In order to normalise all this behaviour, the route into handle_interrupts() through the GC is now blocked while ##sys#interrupt-hook is running. This block also applies to forcing the stack to appear full while handling interrupt-hook as that's not required because we're still looping and fetching interrupts from the queue. Signed-off-by: Mario Domenech Goulart commit d7bc26071a3ab26c58cb9474056b61f90f017fab Author: Evan Hanson Date: Thu Oct 31 19:05:17 2013 +1300 Treat lone carriage returns as line endings in ##sys#scan-buffer-line This fixes #1004. Signed-off-by: Peter Bex commit a6cdfd09d398476f89969a246e4d12c5dca6e3df Author: Evan Hanson Date: Thu Oct 31 19:02:47 2013 +1300 Remove unused procedure definition in extras' read-line Signed-off-by: Peter Bex commit f058105f85eced314531553445869be3997cd94c Author: Peter Bex Date: Sun Nov 3 12:39:54 2013 +0100 Add delay-force to NEWS commit 58bc37692fff883dd735ec320087885aca5da603 Author: Evan Hanson Date: Wed Oct 30 20:43:10 2013 +1300 R7RS delay/force/delay-force Implement R7RS's lazy semantics, specifically the space-safe tail-recursive forcing via delay-force, and a set of tests (mostly taken from SRFI 45). Also make promise a single-slot record type, whose value is dispatched on by type when forcing (since it can now be a procedure, the resulting values, or (in the case of iterative forcing) another promise). Signed-off-by: Peter Bex commit 9fc316865323996771b5f0d0d9576b5066f12cc1 Author: Evan Hanson Date: Wed Oct 30 20:40:25 2013 +1300 Fix force's types.db entry to specify multiple-value return Signed-off-by: Peter Bex commit 99f526aabbf1d3f5a652ee98a23a7695ad3a1505 Author: Peter Bex Date: Thu Oct 24 15:12:38 2013 +0200 Get rid of clang warnings in embedded3 test Signed-off-by: Mario Domenech Goulart commit e04f68d3ad003ff15dc59857ab3b92ea29dd99b2 Author: Peter Bex Date: Mon Oct 28 19:56:36 2013 +0100 Complete AIX instructions in README and manual (contributed by Erik Falor) commit 654ca18f5cfc1ea7daa3cf697b7300b0f400bee6 Author: Erik Falor (fadein) Date: Mon Aug 12 16:27:44 2013 -0600 Add support for AIX Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit dc071fbae201f2b8db5539fd016c0d51be0bbe15 Author: Peter Bex Date: Mon Oct 21 22:15:29 2013 +0200 Use "noreturn" attribute in newer clang versions and get rid of a clang warning. The division procedure C_2_divide would try to call C_fix on the uninitialised variable "iresult" in the case where either of the divident or the divisor values are flonums ("fflag" will be 1 then). In the situation where neither value is a flonum, it'll either barf (which is declared "noreturn"), or properly initialise iresult. This means the C_unfix() call on an uninitialised value which gets C_fix()ed later is pure overhead in the case either value is a flonum. Signed-off-by: Moritz Heidkamp commit eccd1789742975c14030b25a5d4149163e9c0ec5 Author: Peter Bex Date: Thu Oct 17 21:23:18 2013 +0200 Don't do a shady unsigned comparison, but ensure we're growing the heap before checking it grows enough to fit the stack Signed-off-by: Moritz Heidkamp commit ba01911d2644dd8ac40eced46a8451033e565d86 Author: Mario Domenech Goulart Date: Sun Oct 20 22:06:08 2013 -0200 `##sys#find-files' bug fix: handle dot files recursively Assuming: $ mkdir -p foo/bar/.baz Old behavior: $ csi -e '(use posix) (print (find-files "foo" dotfiles: #t))' (foo/bar) Behavior with this patch: $ csi -e '(use posix) (print (find-files "foo" dotfiles: #t))' (foo/bar/.baz foo/bar) Without this patch, delete-directory doesn't properly honor the `recursive' optional argument: $ csi -e '(use posix) (delete-directory "foo" #t)' Error: (delete-directory) cannot delete directory - Directory not empty: "foo/bar" Signed-off-by: Christian Kellermann commit 9c093ffd35fc690661f0d2240168b4efa3807b9d Author: Peter Bex Date: Sun Oct 13 12:50:28 2013 +0200 Fix read-string!'s EINTR handling in stream ports (non-fixnum in rem. byte calc) Signed-off-by: Mario Domenech Goulart commit 16c2295ce35f22bb6e9b83e73ea08edc1b8c870e Author: Peter Bex Date: Fri Oct 18 19:23:26 2013 +0200 Fix private-repository-test on non-cygwin Windows (broken by d5dbf637ea8ec8cf819852b644a2240b0c51398b). Thanks to Rivo for reporting commit 5ddc861d249f9cc5e2b8598be75647b42283b516 Author: Peter Bex Date: Fri Oct 18 12:53:41 2013 +0200 Disable some bogus library tests commit 445e245a54b56e232236c3a47ce4905ca79b2007 Author: Peter Bex Date: Sat Oct 12 11:12:57 2013 +0200 Add paranoid checks to C_u_i_car and C_u_i_cdr. Replace all calls to these two on non-pairs for "convenience" (use C_block_item) Signed-off-by: Mario Domenech Goulart commit 4c14161ba09eb1f875c40dfa0d722382fad98f36 Author: Peter Bex Date: Fri Oct 11 22:22:40 2013 +0200 Fix #1058: never add mutex objects to FD lists in the scheduler (causes panics!) Signed-off-by: Mario Domenech Goulart commit c6384b71dd9ade032449c67231be83bc4f486c25 Author: Peter Bex Date: Mon Oct 14 22:14:34 2013 +0200 Grow both halves of the heap by stack_size instead of growing them by half the stack_size Signed-off-by: Mario Domenech Goulart commit 7cc54e2764eb44d6249bf26bc12bc36e0ea0e8a3 Author: Peter Bex Date: Sun Oct 6 17:01:27 2013 +0200 Disable paranoid code for clang & C++, due to limited support in g++/clang Signed-off-by: Mario Domenech Goulart commit b4ee6336b05e2eeeff7440a3ee9e25fe09d3619d Author: Peter Bex Date: Sun Oct 13 14:28:32 2013 +0200 Remove duplicate C_C_fileno macro definition commit d519f5bd3bdb1532f767e04922cd806287e836f2 Author: Peter Bex Date: Sat Oct 12 11:23:15 2013 +0200 Add data-structures and extras to hash-table-tests so they can also be compiled commit 9f319b5e425b142f9cd7b9bba89ab9d9ac440069 Author: Peter Bex Date: Fri Oct 11 20:18:35 2013 +0200 Be helpful: Add a little debugging info to the panics in the scheduler... commit 61a4ce784d58c9234d7c56341d3aebe962163fd3 Author: Peter Bex Date: Mon Oct 7 22:52:09 2013 +0200 Avoid running lolevel-tests twice (probably a copy/paste mistake) commit dcb09a2b47ecf7c678199c2e9e36d87e4c234ef8 Author: Peter Bex Date: Sat Oct 5 09:59:22 2013 +0200 Simplify evil C macroloy & remove misleading comment about how I *thought* it worked :) commit d095c9c20d68e3f85a78155113c8278a0711eac6 Author: Peter Bex Date: Thu Oct 3 20:05:03 2013 +0200 Use HAVE_STATEMENT_EXPRESSIONS for determining how to define C_a_i() as well. Also move it to chicken.h so that we can decide to use a different compiler at any time without running into trouble that the C_a_i function does not exist in libchicken. Also, inline is faster if it's available. commit 5bf6208bd5e1110bf55c8cd161079d7dad693579 Author: Peter Bex Date: Wed Oct 2 23:17:15 2013 +0200 Fix data corruption problem in list->queue and add a set of tests for queues. Signed-off-by: Mario Domenech Goulart commit 18ce467a28f4f180b5efebdaeb167498c1b19508 Author: Peter Bex Date: Sun Sep 22 16:30:56 2013 +0200 Fix #1051: use C99 isnormal() and return canned values. Instead of relying on unusable code from numbers egg, we return +1.0/+inf.0 or -1.0/+inf.0 when given a subnormal floating-point number. Signed-off-by: Christian Kellermann commit df10e8ae06e98d27f045463949b8acaef765c6e7 Author: Peter Bex Date: Sun Sep 29 13:17:58 2013 +0200 Fix read-string! behaviour after peeking at EOF & add regression test. Slot 6 does not store the peeked character (anymore?), but whether the port is in an EOF state. Peeking goes via ungetc on FILE * ports, and via custom logic in other port types. Signed-off-by: Christian Kellermann commit 37355ff0d92c553d8dd29cfa24f1033538b423cc Author: Peter Bex Date: Sat Sep 28 22:14:16 2013 +0200 Fix several subtle problems in the reader caused by calling char=? on EOF Signed-off-by: Christian Kellermann commit 555856c4d8f9b6dec14a14f52a1252311fd27421 Author: Peter Bex Date: Sat Sep 28 22:06:57 2013 +0200 Fix CHICKEN_initialize's call to C_randomize (which expects a boxed fixnum) Signed-off-by: Christian Kellermann commit bedbfe6cd1660df6097894fe8f6d1e6f590065b2 Author: Peter Bex Date: Sat Sep 28 21:11:24 2013 +0200 In DEBUGBUILDs, add sanity assertions to most important Scheme object accessors. A few unused macros are removed and the accessors are cleaned up somewhat to ensure all access goes through the accessors which have sanity assertions. Signed-off-by: Christian Kellermann commit 27e912e0aad2824bb36b689ceba57112a5bbe703 Author: Peter Bex Date: Tue Oct 1 22:16:26 2013 +0200 A few fixes for file-creation-mode. - Don't pass #f to C_umask as if it were a fixnum - Ensure it always returns the old value even if no new value is set - Document the fact that MODE is optional Signed-off-by: Christian Kellermann commit 2063347a83141d977f7ae503aa92ffe75f8c036c Author: Peter Bex Date: Mon Sep 30 21:32:47 2013 +0200 Forgot final sentence about read-line commit 842aee777ef3659fd107b998ecd4d213f3360e5d Author: Peter Bex Date: Mon Sep 30 21:30:15 2013 +0200 Document make-input-port's other optional arguments (except for read-buffered which is currently undocumented itself) commit 2d08e9657caa67c11e8903ac802f10922ab32a3d Author: Peter Bex Date: Sat Sep 28 21:15:35 2013 +0200 Add HAVE_POSIX_POLL to cygwin Makefile. Pedro Melendez tested and verified this works on Windows. After this, select() is only used on Mingw anymore commit e501d1e88337e8a71e23d025b28075bc821d870d Author: Peter Bex Date: Fri Sep 27 08:55:20 2013 +0200 Add CVE-2013-4385 identifier to NEWS commit 4eafceedddf34dff83c05eb6001214461949e7ce Author: Peter Bex Date: Sun Sep 22 17:46:49 2013 +0200 Fix #999 Now, unit ports depends on extras. The dependency on ports is removed from extras as it doesn't use anything from ports. Signed-off-by: Mario Domenech Goulart commit cd1b9775005ebe220ba11265dbf5396142e65f26 Author: Peter Bex Date: Sun Sep 22 11:37:09 2013 +0200 Read no more than the buffer length when a length of #f is passed in Signed-off-by: Mario Domenech Goulart Signed-off-by: Peter Bex commit 1d5df004167b491cce1561068e7ab56696043aee Author: Peter Bex Date: Tue Sep 17 18:45:52 2013 +0200 Update acknowledgements chapter commit d31f8ea988425e94745258f174a86fdb2bb06459 Author: Peter Bex Date: Fri Aug 30 16:51:17 2013 +0200 Fix handling of -no-symbol-escape and -no-parentheses-synonyms Add some basic tests for the effect of the underlying parameters on READ, and fix the manual which mentioned a STYLE argument for -no-parentheses-synonyms Thanks to Matt Gushee for reporting this bug. Signed-off-by: Moritz Heidkamp commit 4491642ff234403483f39937467b4fdd1ce9a028 Author: felix Date: Wed Aug 28 22:07:30 2013 +0200 debugging output for finalizer-management blindly wrote to stdout, which could interfere with code that uses with-output-to-string, for example. Signed-off-by: Peter Bex commit bf0e0c03c9f3b7cff57848e1655c79505125b87a Author: Peter Bex Date: Mon Aug 26 16:05:43 2013 +0200 Fix TMPDIR handling in chicken-install (#1048) - Clean up make-install-command so it doesn't depend too much on the e+d+v list structure used elsewhere. - Don't "override" current-directory as if it were a parameter: just change directory back and forth using dynamic-wind. Signed-off-by: Jim Ursetto commit 37cf50fe7f4dd2335fa330ab9538d245f1f58a06 Author: Peter Bex Date: Sat Aug 17 20:27:28 2013 +0200 Clean up 64-bit detection logic (fixes #979) Affects C_SIXTY_FOUR and C_LLP. Also add some notes about C_NONUNIX being misleading and the check around unistd.h, inttypes.h and sys/types being very unsemantical (it's completely unclear what's being checked there). Signed-off-by: Moritz Heidkamp commit 808d6028e880a9b2534ff6b53395b76cc6796798 Author: Mario Domenech Goulart Date: Wed Aug 14 21:40:41 2013 -0300 manual/Unit lolevel: markup fixes In documentation for record-instance-slot and record-instance-slot-set!. commit b88c768ed1143134a213b008395701409abb39e0 Author: Jim Ursetto Date: Mon Aug 12 15:51:41 2013 -0500 Make trace buffer resizable at runtime, via ##sys#resize-trace-buffer - Add C_resize_trace_buffer - Add ##sys#resize-trace-buffer interface, returning old size - Move check for min trace buffer size to C_clear_trace_buffer, where the buffer is actually allocated - In the current implementation, resizing the buffer clears its contents. Signed-off-by: Peter Bex commit aaac3530597fd28c35c07bbd54aff53bac3fd190 Author: Peter Bex Date: Wed Aug 7 21:17:32 2013 +0200 Bumped version to 4.8.2 commit 8b1afe9cd72e1a152926215f3bb730709a5c4e91 Author: Peter Bex Date: Wed Aug 7 21:16:49 2013 +0200 Fix 'setversion' script; make it executable and restore the 'huh' variable's item in the list returned by version parser commit 67d134deb1bf7265c15f1ba429cabc6d0b264817 Author: Peter Bex Date: Sun Aug 4 19:09:06 2013 +0200 Fix 'flatten' type signature in database (thanks to Hugo Arregui for pointing it out) commit a647d9ed65f44df527e513464093447f56e24ead Author: felix Date: Thu Aug 1 11:52:57 2013 +0200 Adds "letrec*" and minimal tests. "letrec*" ist not used explicitly and only in internal expansions to avoid bootstrapping issues. Internal defines expand into uses of "letrec*". Signed-off-by: Peter Bex commit 8f2e4da74da59fbfe558f80e13fc19ee29a821ee Author: felix Date: Thu Aug 1 16:51:31 2013 +0200 Fixes "on-exit": previously calls to "exit" inside an on-exit handler would loop endlessly. Signed-off-by: Peter Bex commit 38e94362ab930208e0d83aba9f22083d964d2d5e Author: Peter Bex Date: Tue Jul 30 20:12:20 2013 +0200 Reset TCP read/write timeout whenever at least *some* progress is made. On slow connections, this won't give up so soon. Signed-off-by: Mario Domenech Goulart commit d20c598010d13172363ee16db0c0dcda7ef685c3 Author: Peter Bex Date: Thu Aug 1 22:11:05 2013 +0200 ##sys#syntax-error does not exist -> ##sys#syntax-error-hook commit 2d4cc34ca8b438c35f0856b0687a09c9565ac9e4 Author: felix Date: Thu Aug 1 12:11:59 2013 +0200 removed uses of unused units in posix and utils. commit 488d8ea7093faa7bfe5647caadb8b8b4846d777a Author: felix Date: Thu Aug 1 12:11:34 2013 +0200 typo fixes. commit 24847fdee29db4874e7e25393bfb8731c297754b Author: felix Date: Thu Aug 1 12:11:19 2013 +0200 added note about multiple threads with respect to runtime-initialization to the manual. commit 20a129b8a3b33004ceb2294a04a62b0f419192ef Author: felix Date: Thu Aug 1 12:10:37 2013 +0200 removed remark about allowing to allocate on stack in "foreign-safe-lambda". commit d37f2bc30daddedea171abc536f90cb5323d89fc Author: felix Date: Thu Aug 1 12:09:54 2013 +0200 removed comment about nonexistant declaration specifier. commit 4cdd1d81589858fd551fd6f7bd7699eb5f967ab8 Author: felix Date: Thu Aug 1 12:09:33 2013 +0200 mark C_display_flonum as obsolete, as it isn't used anymore. commit 8bb3b4c73399cbf79311d7222b7ba2668861e32c Author: Peter Bex Date: Fri Jul 26 21:48:08 2013 +0200 Panic when maximum heap size exhausted, instead of crashing hard (fixes #892). It used to simply return from C_rereclaim2 and carry on as if the heap was resized(!) Signed-off-by: Moritz Heidkamp commit 26ffd1a01ec29f723c56f1975044610574225769 Author: Peter Bex Date: Wed Jul 24 21:05:10 2013 +0200 Add checks for hitting the rest arg count limit on direct procedure application. Fixes some of the confusion from #910 commit 40a4bb37b893c07398c263b823ae135566042c46 Author: Jim Ursetto Date: Tue Jul 16 16:25:16 2013 -0500 Only generate a versioned .so if USES_SONAME Fixes a problem on OS X and Solaris, which do not currently use SONAME, where a versioned dynamic library was generated but there was no way for the linker to find it. Bug was introduced in commit 53128c23; prior to that, both worked but Solaris was generating an unused versioned .so. Note that OS X does support SONAME (via -install_name) but names should look like libchicken.7.dylib, whereas we only currently support names like libchicken.dylib.7. Also, some code in csc assumes libchicken.dylib is unversioned. Signed-off-by: Mario Domenech Goulart commit 6f95a493ff0ad5a6e89ff3dc65d77484fb744261 Author: Peter Bex Date: Thu Jul 11 13:31:16 2013 +0200 zero is not nul commit 2e4ec6d4d6dfdb6d80760571c8608a6c16f69362 Author: felix Date: Thu Jul 11 12:14:50 2013 +0200 Explicitly add trailing 0 when printing fractions on mingw32 On mingw32 gcvt(3) doesn't add a trailing zero to it's output when the argument has a zero fractional part. This change adds '\0' explicitly in that case. Reported by Michele La Monaca, who also tested the fix. Signed-off-by: Christian Kellermann commit f08f4d6d102117e98c09907111873fb196d9c71f Author: Peter Bex Date: Fri May 24 22:25:03 2013 +0200 Some shuffling about and fixing of the POSIX time handling stuff. * All time<->string conversion routines used a static object, which resulted in inconsistent results across several calls using incomplete time specification strings. Now they get fresh buffers allocated whenever they're called (fixes #1014). Thanks to David Krentzlin for pointing out the bug. * time->string was duplicated in posixunix from posix-common * posixwin and posixunix both had C_tm_set(), C_tm_set_08, C_asctime() and C_a_mktime() macros, moved these to posix-common * tm_get could be moved to posix-common, but it is only used in posixunix so it's kept there for now commit f8230a466ce3a86f360178f115fb62ee124448b9 Author: Peter Bex Date: Sun Jun 30 18:50:09 2013 +0200 Fix meta-evaluation to actually take place in the meta environment and add tests Signed-off-by: Christian Kellermann commit 5162cc446c613ce180fcb001179ade7ede36d49a Author: Mario Domenech Goulart Date: Tue Jul 2 07:19:01 2013 -0300 Deprecate implicit $VAR- and ~-expansion in pathnames Signed-off-by: Peter Bex commit 9bb86f98900759d74be4aeec9f3f42221e0ac82e Author: Peter Bex Date: Sun Jun 30 15:11:37 2013 +0200 Make and-let* check its syntax strictly instead of silently discarding forms. Reported by Michele La Monaca Signed-off-by: Mario Domenech Goulart commit 0bdfbe1e04238aaf5f4f670838e8aa34e9b466a4 Author: felix Date: Sun May 12 22:36:39 2013 +0200 Add "require-extension-for-syntax" A more intuitive form of the often occurring idiom (begin-for-syntax (require-library ...)) (import-for-syntax ...) For consistency and as a slightly shorter variant, "use-for-syntax" is also provided as an alias. Signed-off-by: Peter Bex Signed-off-by: Christian Kellermann commit f4bf8ca5b47f06563f17004e95c5e049c4e69f9b Author: Peter Bex Date: Wed May 22 19:36:54 2013 +0200 Replace SRFI-1's PARTITION procedure with a faster implementation, provided by Joerg Wittenberger Signed-off-by: Christian Kellermann commit 35367c581c590eb9021234babf74428027287478 Author: Evan Hanson Date: Sat Jun 1 16:18:30 2013 +1200 Strip all trailing slashes from directory pathname parts This causes decompose-pathname (and its derivatives pathname-directory, pathname-replace-file, etc.) to strip all trailing slashes from the directory parts of pathnames, rather than just the last one. Signed-off-by: Peter Bex Signed-off-by: Christian Kellermann commit 38c5af40478da43d72502402b94d9d42ea5cf2a8 Author: Peter Bex Date: Sun Jun 16 21:03:19 2013 +0200 Accept flonums in numerator and denominator procedures (fixes #1016) Signed-off-by: Christian Kellermann commit 3fe057199c724374db9bceec98a2a20e47829557 Author: Michele La Monaca Date: Thu Jun 27 20:13:21 2013 +0200 added missing signal/break in posix.import Signed-off-by: Peter Bex Signed-off-by: Christian Kellermann commit ea02c9aaf60aa08951c917711809f8025ad842e5 Author: Peter Bex Date: Mon Jun 17 11:50:08 2013 +0200 Add tests/r7rs-tests.scm to distribution manifest commit 4e24ed510dd202850257fe63745796b9f639f86b Author: Peter Bex Date: Mon Jun 17 09:45:16 2013 +0200 Additional jmpbuf fix commit 78c15c477f6109bc2f25281c9611c5bc96b13c74 Author: felix Date: Sun Jun 16 00:04:55 2013 +0200 If sigsetjmp(3) is used, "gc_restart" must be of the correct type. Signed-off-by: Peter Bex commit 0d58b23e75fc90a85eb8f431d10bc66a66344a33 Author: Peter Bex Date: Sat Jun 8 17:35:03 2013 +0200 Do not reset string size upon closing a string output port Signed-off-by: Christian Kellermann commit 802993fb20bd358ef3ce0aa9fe4131aa6677e8b9 Author: Peter Bex Date: Sat Jun 8 17:33:42 2013 +0200 Use "write" for printing expectation and result, for better test output Signed-off-by: Christian Kellermann commit 1255242c962147a842e618da405a6c2597ce6ad8 Author: Evan Hanson Date: Mon May 27 14:11:02 2013 +1200 verify syntax in => cond clauses This corrects cond's behavior given clauses of the form `(test =>)` or `(test => foo bar)`. Signed-off-by: Peter Bex Signed-off-by: Christian Kellermann commit 26580f19bbb4455246c21e8b23412b2dd2d24aca Author: Peter Bex Date: Sat Jun 15 17:18:32 2013 +0200 Fix segfault caused by srfi-4-vector? check (check for non-immediateness first) commit 6edccb4bd5dfbedce6497cae8eae35b2279f8fa8 Author: Florian Zumbiehl Date: Thu Mar 14 05:43:46 2013 +0100 alist-update: don't segfault on non-list Check the alist passed to alist-update is actually a pair before using ##sys#slot on it. Signed-off-by: Peter Bex commit a302a6dcc92d99c36b87353d81a22525a2493a4a Author: Peter Bex Date: Sat Feb 16 15:07:44 2013 +0100 Restore row and column number tracking in read-line (partially fixes #978) commit 3eba42bfa0177e923703d3506d0800d4db75ed63 Author: Jim Ursetto Date: Fri May 31 16:47:00 2013 -0500 Add tests for #978 (read-line port position). Tests are added for string ports, process ports and TCP ports. Process and TCP tests are disabled by default as they are dependent on environment or slightly fragile (although the behavior has been verified here). commit 64659c6a7f436bd278c769020955556f58991d46 Author: Evan Hanson Date: Mon May 27 16:18:53 2013 +1200 handle CR & CRLF-terminated lines when collapsing intraline whitespace Signed-off-by: Peter Bex Signed-off-by: Moritz Heidkamp commit d46f0aeb2c8ece5670de9d4d6a6af19a0f471125 Author: Peter Bex Date: Wed May 29 19:05:32 2013 +0200 Use inexact comparison for flonum tests. GCC optimizes trig functions (by inlining? pre-calculating?), which causes answers to be slightly different from the libc implementation. Thanks to John Long for reporting and Sven Hartrumpf for initial patch. commit a36d5d9a4a89496a85d62168e1b46ddd6cf6e408 Author: Peter Bex Date: Wed May 29 22:46:31 2013 +0200 Add CASE => syntax to NEWS and manual. commit 5a27001de982c09874353ea263a0ef9683370bdd Author: Evan Hanson Date: Mon May 27 14:06:20 2013 +1200 add => syntax for case clauses Signed-off-by: Christian Kellermann Signed-off-by: Peter Bex commit 683335b617016f4c87da82315f57fe8bbed41a1a Author: Kristian Lein-Mathisen Date: Sat May 25 16:58:04 2013 +0200 Adds argument-type check on getter-with-setter ===== before: $ csi -p '(getter-with-setter (void) (void))' Segmentation fault (core dumped) ===== after: $ csi -p '(getter-with-setter (void) (void))' Error: (getter-with-setter) bad argument type - not a procedure: # Call history: (getter-with-setter (void) (void)) (void) (void) (getter-with-setter (void) (void)) (void) (void) <-- Signed-off-by: Peter Bex Signed-off-by: Christian Kellermann commit 1c11e406191f8f9459cf1605cdcb827a290e0761 Author: Evan Hanson Date: Tue May 28 16:18:54 2013 +1200 use internal process-wait procedure in ##sys#process Signed-off-by: Peter Bex commit d5dbf637ea8ec8cf819852b644a2240b0c51398b Author: Moritz Heidkamp Date: Sat May 25 17:31:12 2013 +0200 Make tests work from symlinked paths The private repository path tests didn't work when run from inside a path containing symlinks because runtests.sh didn't expand symlinks while the -private-repository mechanism does. This lead the test assertion which compares the two paths to fail. Signed-off-by: Peter Bex commit f018a55feebe22abcb3d7081ddafe027aef94b64 Author: Moritz Heidkamp Date: Sat May 25 17:27:55 2013 +0200 Fix read-symbolic-link types.db entry The optional CANONICALIZE argument was missing. Signed-off-by: Peter Bex commit 00ed675fef88ed931c16859947ea5a79f62b1bf5 Author: Moritz Heidkamp Date: Sat May 25 17:08:09 2013 +0200 Improve read-symbolic-link canonicalization Passing #t for the CANONICALIZE option of read-symbolic-link now behaves like the --canonicalize option of readlink(1), i.e. it recursively follows every symlink in every component of the given path. When called like this, read-symbolic-link like readlink(1) now verifies that all components exist. Signed-off-by: Peter Bex commit d60af17c844ee9e169542a5f09630cce5d0b293e Author: Evan Hanson Date: Fri May 3 16:28:27 2013 +1200 remove redundant call to rm eggdir on uninstall Signed-off-by: Peter Bex commit d6a53663e299c67e3819adde66ee8f32aebd8be8 Author: Peter Bex Date: Sun May 26 21:33:41 2013 +0200 Add support for R7RS's "indented string" escape syntax. This allows the user to "escape" all whitespace surrounding *one* newline with a backslash, causing all of this to be completely collapsed to nothing. This is useful when writing long string literals which should be broken up into multiple lines. This also adds some tests for other R7RS escape syntax, most of which we already supported anyway. There's only the escaped hex scalar value left, which is ambiguous with regard to the old CHICKEN hex scalar syntax. commit fe97ba69a041c34c2d98a24baca03617f26c1df4 Author: Peter Bex Date: Sun May 26 19:38:17 2013 +0200 Added #\null and #\escape character literal names, for R7RS compatibility. WRITE now uses this instead of the old #\nul and #\esc, so other impls can READ s-expression written by CHICKEN. Unfortunately, the flip side is that older CHICKENs can't READ data written by newer CHICKENs. commit 20e15646b68dba64152cd0f096c4f7c99a3fc716 Author: Peter Bex Date: Sun May 26 17:09:33 2013 +0200 Fix r7rs tests: * Add exit status to error reporting. * Fix some of the vector tests themselves, so they don't fail with a hard error. * Add r7rs-tests to the Windows batch file commit 4dca8212ee08050d45639e96a1510a2081e03a8b Author: Christian Kellermann Date: Sun May 26 14:41:01 2013 +0200 Add specialisation for make-promise, retain procedures as they are Signed-off-by: Peter Bex commit 3ca8ae924d34b3184531687f998f9f58735ebd5e Author: Moritz Heidkamp Date: Sun May 26 15:51:38 2013 +0200 Clean up R7RS test helpers code and add test-error commit 14c084b3887da034d2bf296323d4b6d2b838e51f Author: Peter Bex Date: Sun May 26 14:24:06 2013 +0200 Make vectors, srfi-4 vectors self-evaluating, for R7RS compat. Blobs are made self-evaluating as well, for consistency reasons. This also adds a convenience predicate number-vector? which checks whether an object is of any of the SRFI-4 homogeneous number vector types. Signed-off-by: Christian Kellermann commit 02bc6447c00d0b56248688bc4e9ae6c6bb2aa8ec Author: Christian Kellermann Date: Sun May 26 13:37:26 2013 +0200 Add make-promise from R7RS to core This also introduces tests/r7rs-tests: A place for the R7RS tests that don't belong anywhere else. Signed-off-by: Peter Bex commit 5dabf20938569a21752553b20af474d63babffcf Author: Peter Bex Date: Thu May 9 17:01:41 2013 +0200 Fix file descriptor leaks in tcp that happen in case of exceptions before a port or a listener gets returned to the caller. These close the file descriptor and report the original errno corresponding to the error that occurred even if close() modified errno. Originally suggested by Florian Zumbiehl. This patch is based on his work, but it also simplifies tcp-listen by removing the unused multi-value return in ##net#bind-socket, and replacing let-optionals with the much simpler DSSSL optionals. Signed-off-by: Moritz Heidkamp commit 5b931ea39a266e6650ba2dfa2954b285c783c6db Author: Michele La Monaca Date: Sat May 11 00:32:09 2013 +0200 more general macros for solaris platform recognition Signed-off-by: Peter Bex Signed-off-by: felix commit f57ae089425a9cdf5163d5cb55cbdb7a582184a9 Author: Peter Bex Date: Sat May 11 13:08:43 2013 +0200 Remove C_set_timeval function which is no longer in use (was used by file-select when it was implemented with select()) commit c6e6ef2cc5bca9c5e9751a66be72cc52cffa0022 Author: Peter Bex Date: Sat May 11 12:50:13 2013 +0200 Add CVE-2013-2075 to the NEWS file commit dcd6403c1ff38a37f01a525fe1e9b2448ad9ed81 Author: Michele La Monaca Date: Fri May 10 22:28:09 2013 +0200 fix (terminal-size) on solaris Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit 9247cec3930849e6570a18333739b9733daed2ce Author: Moritz Heidkamp Date: Sun Mar 3 13:28:20 2013 +0100 Reimplement topological-sort with cycle detection. Signed-off-by: felix commit 968cd4d33fd80fafd4c833842403335bb31b7870 Author: felix Date: Wed May 8 14:28:47 2013 +0200 Allow &rest and &optional in type-declarations. This is intended to keep code more portable by not having to use non-standard reader extensions. Signed-off-by: Peter Bex commit 766056cd5f26b1d529405705449cb534609c113f Author: Peter Bex Date: Thu May 9 15:00:44 2013 +0200 Restore call to (yield) which got dropped on the floor in previous commit. This ensures tcp-connect will succeed properly even if connect()-operation in progress commit 556108092774086b6c86c2e27daf3f740ffec091 Author: felix Date: Wed May 8 12:09:05 2013 +0200 Replace select() by poll() when available, in char-ready? and tcp-accept-ready? Also, timeout values in tcp-accept and tcp-connect, and in the TCP port read and write procedures are now honored more strictly by calculating the wait time at the start instead of after each interrupted system call. It was pointed out by Florian Zumbiehl that select() was still being used in a few places, and Joerg Wittenberger provided an initial patch to remove select() from the TCP unit. Signed-off-by: felix commit 9e2022652258e8a30e5cedbf0abc9cd85a0f6af7 Author: Peter Bex Date: Thu Apr 18 00:31:08 2013 +0200 Implement file-select in terms of POSIX poll() for UNIX Signed-off-by: felix commit c90b5fea25cdfed5b971bc74e72849264e13ea17 Author: Peter Bex Date: Thu Apr 18 00:07:24 2013 +0200 Fix types database entry for file-select to allow for #f and bare fixnums, too commit 9953fa4b27b9e539f29aa78f5fb9b3cac3a25b46 Author: felix Date: Sun May 5 13:53:01 2013 +0200 documented release-number-vector commit 4c0b5f77038186df71a6c55493acdd9ffce67776 Author: felix Date: Mon Apr 29 14:44:09 2013 +0200 Delete stale binaries in cross build of egg. When cross-building extensions from a local directory (instead of downloading) and the setup script uses make(1) or the "make" egg, or may otherwise be influenced by files produced during the build, then the 2nd (target) build may fail due to binaries left by the 1st build, or the 1st may have leftover binaries from a previously built target ... you get the idea. This change modifies "chicken-install.scm" to delete binary files (with the extensions "so", "dll", "o", and a few others) before building the host- or target-variant of an egg. Signed-off-by: Peter Bex Signed-off-by: felix commit 034909215a9215496ba9e9430e12c24a5b86c1f0 Author: Peter Bex Date: Wed May 1 14:20:58 2013 +0200 Change test argument to find-files conversion to check for procedure and otherwise pass it to irregex, so that anything accepted by the irregex constructor is also allowed as a test (previously, SRE expressions were not accepted) Signed-off-by: felix commit 2f9db57569698ed1f1d57f630631a229e6231453 Merge: 7a87c0bd 34a2bb65 Author: felix Date: Thu May 2 10:21:56 2013 +0200 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 34a2bb657a99c5d0bced737c0ad7793222e8eb9b Author: Peter Bex Date: Mon Apr 29 21:54:15 2013 +0200 Add CVE identifier for qs issue to NEWS (CVE-2013-2024) commit 177058d4e996111cd5d1b7d2815233f298a46b23 Author: felix Date: Fri Apr 26 11:56:42 2013 +0200 when trying all available sources for egg-download, do not invalidate list-entries on failure for "local" transport. This allows using local egg-trees as "overlay" repositories. Hetwork-based transports are still invalidated once a download failed, as it is assumed that the network access is down (or timing out). This patch also fixes a bug in the handling of "local" transport, which didn't test whether the egg directory acutally existed. Signed-off-by: Peter Bex commit 7a87c0bd2d9862ee01ef3ba3b443fd5b54875197 Author: felix Date: Fri Apr 26 11:52:51 2013 +0200 typo commit 964ae0c49ddfe2abd19fc7c4ce3164e7e16b1d09 Author: Christian Kellermann Date: Wed Apr 24 20:53:16 2013 +0200 Correct description of ERROR parameter for file-type. Thanks zbigniew! Signed-off-by: Christian Kellermann commit c2e464f1ab55ebe7f4975e8328ac93ddfcf45cb9 Author: Christian Kellermann Date: Wed Apr 24 09:33:12 2013 +0200 posix: Add file-type to list of exported identifiers This has been reported by Jules Altfas. Signed-off-by: Christian Kellermann commit 58684f69572453acc6fed7326fa9df39be98760e Author: felix Date: Tue Apr 16 23:30:29 2013 +0200 qs uses single quotes instead of backslashing by blacklist Thanks to Florian Zumbiehl and sjamaan. Signed-off-by: Christian Kellermann commit 1366bb0f532312311bdd97a3495b212743ceca74 Author: felix Date: Tue Apr 16 23:31:02 2013 +0200 Also remove bogus assert. It's a test, if it crashes it crashes, the assert will always be true. Flow analysis and J Altfas found this independently. Signed-off-by: Christian Kellermann Signed-off-by: felix commit e1e519311d08fc11a4e76e52ca4c599c6d7f4dad Author: felix Date: Fri Apr 12 23:05:56 2013 +0200 Old code that passes a fixnum timeout value to SRFI-18 functions that later invoke ##sys#thread-block-for-timeout! may cause the timeout-value (after massaging) to be 0. In this case nothing is done and thread will not block. commit 7d73d598ad1ee3bff4c9444d63ade60c5409dde4 Author: felix Date: Fri Apr 12 23:01:48 2013 +0200 Disabled symbol-GC test for Windows. Sometimes one symbol is not recovered, possibly caused by some reference being left in a temporary location. This may have endless reasons, and is IMHO not critical. commit 1e4b64bc8afcbea2de09abfb60f794672cede020 Author: felix Date: Fri Apr 12 22:43:48 2013 +0200 Updated acknowledgments commit 298c932c16c9187551e579d7ac74511a1f95786a Author: Christian Kellermann Date: Wed Apr 10 21:14:27 2013 +0200 Fetch a new char before peeking it on custom input ports. This fixes a regression introduced by commit 7fdc4b41b4a7b2a78afd33f73bc5d2ea07e6d60c which returns eof chars upon broken up strings. This patch tries to fetch a new character before calling peek. Also the buffer position must not advance on a real eof condition. Signed-off-by: Christian Kellermann Signed-off-by: Peter Bex commit 9eea204cb79bdd300cabdcf3ae229ad4102276e1 Author: felix Date: Tue Apr 9 23:16:43 2013 +0200 added initial support for memory-mapped files on Windows (contributed by rivo) Signed-off-by: felix Signed-off-by: Christian Kellermann commit 1896e5828da59a1de858456e1e9942a2895943eb Author: Jim Ursetto Date: Sat Mar 30 11:13:59 2013 -0500 manual: Document flonum-print-precision commit 23ad126f3ded161bd2a114681a2f78e3187f7eeb Author: felix Date: Sat Mar 30 14:38:35 2013 +0100 qs should also escape pipe commit c7f5d92e6d91eb4075245ba9061f379632286d97 Author: felix Date: Tue Mar 12 08:34:55 2013 +0100 Declaring a procedure "inline" does not force inlining, as this may be lead to non-termination of the compiler. Declaring an identifier "inline" is now equivalent to declare it "local", which enables inlining for the given named procedures but does not force it. The decision as to inline or not is now done entirely by the compiler. Signed-off-by: Peter Bex commit c9a2356a24b7a8c4c316e581ee871410698233bc Merge: d8c32576 53b0b4e2 Author: Felix Winkelmann Date: Wed Mar 20 11:16:56 2013 -0400 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit d8c325760b080895a03aefb45d675e6722a768a3 Author: Felix Winkelmann Date: Wed Mar 20 11:16:49 2013 -0400 use unsigned key for computing weak table entry in symbol-GC, which fixes a segfault on OpenBSD (thanks to Christian Kellermann) commit 53b0b4e2368d5439c061c48a014859ede068fc5b Author: Peter Bex Date: Wed Mar 20 09:55:31 2013 +0100 Add CVE-2013-1874 id to changelog entry commit 0f7e24f4b8e519b4db1dd9311a093b02ba4d1315 Author: Peter Bex Date: Tue Mar 19 19:23:46 2013 +0100 Remove mention of ./.csirc commit 50a2e04c54f7f20b017283af89470ff3ea220a85 Author: Jim Ursetto Date: Mon Mar 18 19:55:45 2013 -0500 Fix mishandling of network-error arguments in 79cf5e9a0ac7 commit 79cf5e9a0ac7cd1d2bc777253c77dd2dcaaca355 Author: Jim Ursetto Date: Mon Mar 18 13:40:05 2013 -0500 Avoid context switch during TCP errno reporting There is currently the potential for a scheduler context switch between when the global (errno) is updated and the when the textual error message is obtained. This can also happen if a non-inlined procedure is called prior to updating (errno). We fix the first by using the return value of (##sys#update-errno), which is the updated value, as the message errno. The second is fixed by avoiding a separate call to (fail). We also consolidate error handling into a macro, which catches a couple instances where (errno) was not updated. Signed-off-by: Felix Winkelmann commit 118ee4344c122c9ef688f28ce12af761e17e73bc Author: Felix Winkelmann Date: Sun Mar 17 18:25:33 2013 -0400 more acknowledgments commit 545a689655fff29265873690a110c660e7de899a Author: Felix Winkelmann Date: Sun Mar 17 18:08:31 2013 -0400 Allow symbol-GC test to fail. In certain situations it may not be able to reclaim all symbols, with a single symbol remaining. commit fb96bf65928c635676ac9fbc60d8fadeba955d59 Author: Felix Winkelmann Date: Sun Mar 17 17:50:43 2013 -0400 added acknowledgment commit 56d30e3be095b6abe1bddcfe10505fa726a43bb5 Author: Peter Bex Date: Sun Mar 17 12:24:07 2013 +0100 Remove mention of GNU MP in the manual, since that's no longer required for bignums commit 0e83e4990d4ae0d77e1ccb7cc099ceef0f2cb6a4 Author: Michele La Monaca Date: Sat Mar 16 11:35:01 2013 +0100 Fix setup-proxy to accept http URIs Signed-off-by: Peter Bex Signed-off-by: Jim Ursetto commit c7bca844eba91ce030f65ad490dcdd3c32158e8b Author: Jim Ursetto Date: Tue Feb 19 01:14:30 2013 -0600 Ensure sleep seconds is a fixnum on Windows; also, don't halve sleep time Halving sleep time was a regression in be44f5328 when posix stuff was consolidated; Windows side needs ##core#inline. Signed-off-by: Christian Kellermann commit 7fdc4b41b4a7b2a78afd33f73bc5d2ea07e6d60c Author: Peter Bex Date: Wed Feb 20 22:19:07 2013 +0100 Fix #985 by making process ports consistent with TCP ports. This causes it to call "fetch" only when more data is requested than available in the buffer, instead of always calling "fetch" and checking inside the procedure whether we need more data. The bug was due to the fact that fetch checked the position was at the end of the buffer, but it wasn't since ##sys#scan-buffer-line and the posix eos-handler doesn't advance the position while reading (only afterwards, assuming "fetch" would reset the position). Signed-off-by: Christian Kellermann commit 73be14999ab7e63d2b404f2fb6eeb50d02e482f3 Author: Florian Zumbiehl Date: Fri Mar 15 17:05:58 2013 +0100 tcp-listen: allow port 65535 Port 65535 is a perfectly valid TCP port which so far was rejected by tcp-listen. Signed-off-by: Peter Bex commit c09fafe6e1c0c492085ba58bca3b321817a7d53e Author: Florian Zumbiehl Date: Fri Mar 15 06:53:55 2013 +0100 csi dirseparator?: don't treat backslash as dir separator on non-windows Make csi's dirseparator? not flag backslashes as path component separators on non-windows, in particular so that chop-separator won't corrupt directory names ending in backslashes. Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit c6750af99ada7fa4815ee834e4e705bcfac9c137 Author: Florian Zumbiehl Date: Fri Mar 15 06:58:42 2013 +0100 csi: fix untrusted code execution by (load)ing ./.csirc Remove (load)ing of ./.csirc on csi startup as it can lead to execution of untrusted code. Signed-off-by: Peter Bex Signed-off-by: Mario Domenech Goulart commit 0b9673dae8862646fbc3486e99c1e111e055d6e8 Author: Peter Bex Date: Tue Mar 5 20:30:08 2013 +0100 Document changes in pp and write behavior Signed-off-by: Moritz Heidkamp commit 5cd403c419f083ef41dc5bb9be21804ac24eefe0 Author: Florian Zumbiehl Date: Tue Mar 5 18:48:58 2013 +0100 extras/pretty-print: escape control characters in strings Make pretty-print encode control characters in strings as escape sequences rather than as literal bytes, the same way write does it. Signed-off-by: Peter Bex commit 7c5e1b948fe5ffdb1f806eebc626ade06cd15b58 Author: Florian Zumbiehl Date: Tue Mar 5 18:48:44 2013 +0100 write: escape DEL character in strings, encode BEL as \a Encode DEL (ASCII character 127) in strings as \x7f instead of as literal DEL in write. Also encode BEL (ASCII character 7) as \a instead of \x07, for consistency. Signed-off-by: Peter Bex commit 8833978ae542bfa83c4ae9a0410b9664348b9997 Author: Mario Domenech Goulart Date: Sat Mar 2 14:48:16 2013 -0300 setup-download: fix +url-regex+ and deconstruct-url to match urls with path=/ or no path when port number is provided Without this patch, we get: (deconstruct-url "http://localhost:8080") => (values "http://localhost:8080" 80 "/") (deconstruct-url "http://localhost:8080/") => (values "http://localhost:8080/" 80 "/") That behavior makes chicken-install request port 80, even if another port was requested (8080, in the examples). Also, it returns host as "http://localhost:8080" instead of "localhost". This patch makes deconstruct-url correctly handle / and no path when a port is provided: (deconstruct-url "http://localhost:8080") => (values "localhost" 8080 "/") (deconstruct-url "http://localhost:8080/") => (values "localhost" 8080 "/") Signed-off-by: Peter Bex commit 561e047f11f2975fbbf4a90edf62cd2a40fad10b Author: Peter Bex Date: Fri Mar 1 20:41:49 2013 +0100 Remove ##sys#get-argument and simplify get-environment-variable by using the FFI instead of hand-rolled C functions; deprecated these underlying C functions This should make the code easier to understand, more maintainable and reduce bloat. It is also a more structural approach of preventing security problems like those fixed by d9f2ad87b42f by using one vetted underlying system; the FFI conversion procedures. Signed-off-by: Christian Kellermann Signed-off-by: Peter Bex commit 1b37b43822f3349f26490cc77d06b6cd34bc2618 Author: Peter Bex Date: Tue Feb 26 19:41:43 2013 +0100 Fix mutex-lock! type signature (thanks to Joerg Wittenberger for reporting this bug) Signed-off-by: Mario Domenech Goulart commit 2a9696691c2792f981f0adfd46208d419eaad867 Author: Peter Bex Date: Tue Feb 26 18:58:45 2013 +0100 When checking whether an FD is ready for input or output, also check for special situations (error, device/FIFO/pipe hangup and invalid FD) in the poll() implementation of the scheduler. This fixes a CPU consumption bug in waiting for process-ports on Linux (thanks to Mario Goulart for finding the bug). Signed-off-by: Mario Domenech Goulart commit 19647f4ff4fece0291cf0dc39a00b31a3b5b386f Author: Jim Ursetto Date: Tue Feb 19 14:53:49 2013 -0600 trivial change to describe-output not so trivial after all Signed-off-by: Christian Kellermann commit fa9ccaa030cf7acaceb15378a4d6c33464f0eb1f Author: Peter Bex Date: Sat Feb 16 14:01:08 2013 +0100 Get rid of overflow situation in read-line causing lines to be read wrong Signed-off-by: Christian Kellermann commit 599908177619ccccf595c395551773aaf1f48c92 Author: felix Date: Fri Feb 15 11:24:15 2013 +0100 fixed types.db entry for join - contributed J. Altfas Signed-off-by: felix Signed-off-by: Christian Kellermann commit 863a28e3c26f2b665dcaf75d892fcb09f62c09a1 Author: felix Date: Tue Feb 12 22:38:45 2013 +0100 escape single backslash in symbols when printing Signed-off-by: Peter Bex commit 002ea4128f8b04c7e6d63b6b7a2bdbcd957b785b Author: Peter Bex Date: Sun Feb 3 18:51:26 2013 +0100 Implement fix for #568 by making ##sys#scan-buffer-line aware of the edge case. Invert data fetching logic to prevent having to put all this complicated stuff in the read-line handler of each port type. The hacky workaround for chicken-install introduced by 2a2656cacadd3791c11d24b57742c1b37370a24c is reverted. Signed-off-by: Christian Kellermann commit 400edefe35d82585bb688793f07be62b490308bc Author: Christian Kellermann Date: Tue Feb 12 12:03:06 2013 +0100 revert 051e4105, enable -fwrapv on OpenBSD This has been changed in 2010, meanwhile the supported stable branches architectures all come with a gcc 4.2.x (except the luna88k and mvme88k architectures), so I think this justifies taking out the quirk again. Signed-off-by: Christian Kellermann Signed-off-by: felix commit 8b8d62f8641e285ba4cae23485057eadf0edae5a Merge: 3943427d 53128c23 Author: felix Date: Tue Feb 12 22:18:35 2013 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 53128c23a114af030af3d47ea50c59cf42ff6ce4 Author: Mario Domenech Goulart Date: Tue Feb 12 11:37:12 2013 +0100 Drop SONAME_VERSION, use BINARYVERSION instead Signed-off-by: Christian Kellermann commit 3943427d62da76c1c8c7701344a7ac3a3a40d754 Author: felix Date: Fri Feb 8 20:17:41 2013 +0100 removed obsolete prototype commit 5dd88c98a04b242680da1556543edef55bd9c5a0 Author: Peter Bex Date: Fri Feb 8 14:19:00 2013 +0100 Add CVE identifiers to the security issues in the NEWS file commit 5fe25c3c3589b622715d504dc8e21f082e53a03c Author: felix Date: Wed Feb 6 22:34:20 2013 +0100 Do not apply PROGRAM_PREFIX and PROGRAM_SUFFIX to include directory for cross-built target installation - the prefix/suffix strings are intended for the host system to distinguish cross-chickens or multiple installations (often with the same PREFIX directory). Signed-off-by: Christian Kellermann commit 80d7cd1cf70134a6585be6a4e0f392a1467f1101 Author: felix Date: Sun Feb 3 23:32:19 2013 +0100 Warn if the same variable is bound multiple times in a let, letrec, let-syntax or letrec-syntax form. Signed-off-by: Peter Bex Signed-off-by: felix commit eb1a63e1215c32aea480966ab6d878316323f1c7 Merge: 019f56f4 623c46be Author: felix Date: Sun Feb 3 22:27:14 2013 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 623c46bea299fa8fb2e5702661a8e3def1016984 Author: Jim Ursetto Date: Sat Feb 2 20:29:20 2013 -0600 Make heap_size size_t instead of uint, permitting > 4GB heap on 64-bit systems (#974) Signed-off-by: Christian Kellermann commit 9d6fbcbe97948a0d304f3aeef834489c465c7a79 Author: felix Date: Mon Jan 28 11:07:58 2013 +0100 allow -ot/-oi as aliases for -emit-type-file/-emit-inline-file, deprecated -n Signed-off-by: Peter Bex commit 019f56f4daaadbd15f8cf0ebdbda96681edc39e8 Merge: e9c17453 f7cf4191 Author: felix Date: Thu Jan 31 22:38:21 2013 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit f7cf41912e6cf4c28402f98bd5c7e3de02e59084 Author: Jim Ursetto Date: Tue Jan 29 14:35:35 2013 -0600 manual: note set-read-syntax! can return zero values, from way back in c1dc721cd9 commit e9c174530b4b0ce18e4d4bb77b92882dd33a1886 Merge: 42873720 b2da860e Author: felix Date: Tue Jan 29 21:18:25 2013 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 42873720663dc53e16db88df89ecfbf8fc6e1ed7 Author: felix Date: Tue Jan 29 21:18:16 2013 +0100 acknowledgments commit 2e93bf17b7a91df262854090d0b701ec5bfdb163 Author: Jim Ursetto Date: Tue Jan 29 13:18:03 2013 -0600 manual: merge (aesthetic) wiki changes for Exceptions and srfi-13 commit e285b82a3aec9453aaa9ddfb8c5f649050a2e978 Author: Peter Bex Date: Tue Jan 29 19:56:34 2013 +0100 Fix several compilation warnings - Pointer to void expected versus procedure type passed to C_save_and_reclaim() - eight_0 is not used in C_i_o_fixnum_quotient anymore (a literal is used directly) - In C_reclaim, UWORD_FORMAT_STRING was used but unsigned int passed to printf Signed-off-by: Jim Ursetto commit b2da860e152bb202ee050936ea5a58fd1af57129 Author: mikele Date: Wed Jan 23 23:26:58 2013 +0100 more portable method for exporting variables Signed-off-by: Christian Kellermann commit 613c7ca8e2e6a25c7c0d85844c0175198808a8a9 Author: Jim Ursetto Date: Wed Jan 23 23:42:19 2013 -0600 manual/Foreign type specifiers: merge changes from wiki (content expansion, tag) commit 0570c729a83d0ce1d53b4952df546220ae28b7e9 Author: mikele Date: Mon Jan 21 21:04:44 2013 +0100 added missing library (-lrt) for nanosleep calls (#970) Signed-off-by: felix Signed-off-by: Jim Ursetto commit 689d41ed86378a363ee4ee3c761edf0211a68ef0 Author: felix Date: Mon Jan 21 21:11:02 2013 +0100 Use test -f instead of test -e in identify.sh, as the sh(1) variant of Solaris doesn't support -f. Reported by "mikele", fixed #965. Signed-off-by: Jim Ursetto commit 7ee6852a61e54553ffd622faf923f597c608d95a Merge: 4e2a1b8a 1114be67 Author: felix Date: Wed Jan 16 22:47:43 2013 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 4e2a1b8aac3573029e6b39a1d91f287f08e7c031 Author: Mario Domenech Goulart Date: Wed Jan 16 18:57:57 2013 -0200 runtests.sh: remove unused TIME variable Signed-off-by: felix commit a20de87124010f7d6578aa8cba76a8725e287908 Author: felix Date: Wed Jan 16 22:43:29 2013 +0100 small doc fix for functor: added signature commit 1114be676122a84d44bf8b479fd8a5d904b3c2d4 Author: felix Date: Mon Jan 7 22:51:16 2013 +0100 Fix bug in lfa2 pass of compiler reported by Sven Hartrumpf: The code walker in the lfa2 pass incorrectly assumed that ##core#inline_allocate forms have at least one argument, where in fact they may be called with zero arguments. Signed-off-by: Peter Bex commit ee07a472b1c388b32395846bfa381e5a25196983 Author: Jim Ursetto Date: Wed Jan 9 19:13:55 2013 -0600 NEWS: expand upon foreign uint64 changes in 4.8.1 commit 446e2c2048c8e31902267248949c2cf2674dda3c Author: Jim Ursetto Date: Tue Jan 8 15:44:38 2013 -0600 Irregex: make %irregex-error unused, correcting typo in 84e997b97 commit c2ea63b340995b1882d9ed400db0019c1686aa11 Author: felix Date: Fri Dec 28 00:13:27 2012 +0100 Corrected behaviour for "C_i_foreign_[unsigned]_integer64_argumentp" Extract floating-point values from argument and compare with MIN/MAX for the associated C type). Added limits to chicken.h, which uses stdint.h now (or inttypes.h on SunOS). Disabled compiler-test added by Peter for #955 for 32-bit platforms. Signed-off-by: Peter Bex commit 537824a9f3f04aef98894789d99e4dc36a6bbabf Merge: 62aac355 fa2f293e Author: felix Date: Fri Jan 4 23:27:56 2013 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 62aac3554955e36fbe31ad7b13846b712805f612 Author: Peter Bex Date: Thu Jan 3 23:02:33 2013 +0100 Update copyright year to 2013. This time I used a slightly modified version of last year's oneliner, to catch banner.scm and README as well: for i in `git grep -Il '(c) [0-9-]*, The Chicken Team'`; do sed -r 's/\(c\) (([0-9]+)-|(2012))(2012)?,/(c) \2\3-2013,/' "$i" > tmp && mv tmp "$i"; done banner.scm had to be slightly changed (spaces and commas) in order to get detected by this script. Signed-off-by: felix commit fa2f293e4ab592cbccf4668de0987e1491c9e92a Author: felix Date: Sat Dec 29 23:08:44 2012 +0100 omit bound-checks in eval's closure-compilation for global variables that are already bound at compile-time Signed-off-by: Peter Bex commit a35eb23de05a3dc106260d73fcf8596737dc31db Author: felix Date: Thu Jan 3 11:48:24 2013 +0100 bumped version to 4.8.2 commit fe4c184e20d358d2c9befb20a3d53c729b58fc86 Author: Moritz Heidkamp Date: Wed Jan 2 22:02:10 2013 +0100 Fix TO argument check in subvector procedure The subvector procedure checked its TO argument as if it was inclusive. However, its default value is the passed vector's length so it must be exclusive which also corresponds with the implementation. In effect, the erroneous check prevented producing a subvector including the given vector's last element. This patch changes the TO argument check to be exclusive and adds some test cases for the subvector procedure. Signed-off-by: felix commit 67ca64e751451880c89af7c7aa0a233ded34ed09 Author: felix Date: Sat Dec 29 23:19:27 2012 +0100 From: Kon Lovett Date: Sat, 29 Dec 2012 11:41:51 -0800 Subject: stop clang warnings Signed-off-by: felix commit 8ed1ff65f31628b215b435dfd03d6f1ee3ae4b0b Author: felix Date: Sat Dec 29 23:09:15 2012 +0100 pass "-z origin" to freebsd linker only if "-deployed" is given; explained -deployed somewhat (csc help output). commit eb9c5c6a07e423381f56c38b1756127370555d3c Author: felix Date: Sat Dec 29 23:04:44 2012 +0100 disable integer64 test on 32-bit platforms commit 70d0ff929bb88ceb916c060e047d0541a9b20788 Author: felix Date: Sat Dec 29 00:33:51 2012 +0100 added missing exports for recursive-hash parameters to srfi-69.import.scm commit a5c27cdff721dd6801b6450abdba59cfd7624d05 Author: felix Date: Fri Dec 28 15:12:23 2012 +0100 updated NEWS commit b0f25e9750594d29810ff56b0dc583d1e83ec7ca Author: felix Date: Fri Dec 28 15:12:14 2012 +0100 doc fix for recursive-match-max-length commit 4d5f1f063790567f244b4848f3604cdad7675a3a Merge: 2833b77b bbbbc0be Author: felix Date: Mon Dec 24 12:42:51 2012 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit bbbbc0be8fb56a1c2e6dc2e37a4d582c780da518 Author: Peter Bex Date: Sun Dec 23 17:51:41 2012 +0100 Add regression test for #955 commit 1117e01239b1181b0d6ee66d998eb1e83dbd8285 Author: Peter Bex Date: Sun Dec 23 17:20:49 2012 +0100 Change one of the duplicated ##sys#foreign-unsigned-integer64-argument definitions to ##sys#foreign-unsigned-integer-argument (copy/paste mistake?) commit 42c869949f893baba40c9b0d5e4832eb2004b20e Author: felix Date: Sun Dec 23 16:08:31 2012 +0100 Bugfix for foreign-argument-check routine for 64-bit unsigned longs. The function returned a raw floating-point value (coerced to C_word) instead of the original number. Reported by Kon Lovett. Signed-off-by: Peter Bex commit 2833b77b851d6f47d4fddc801102ad30066a6c34 Author: felix Date: Sun Dec 23 16:06:26 2012 +0100 scrutiny enabled by default, -S not necessary in compile-file commit 4223b30426c257f3192d780b7d5e4de3a919dcfd Author: felix Date: Sun Dec 23 16:05:58 2012 +0100 trivial formatting change commit af7cc16b0f5986c758958b3b5d73885ad2f4217c Author: felix Date: Sun Dec 23 16:05:43 2012 +0100 trivial change in describe-output commit 6f95195f4840fe8e1342356b648036713a59e93e Author: felix Date: Fri Dec 21 22:53:53 2012 +0100 register feature-identifier 64bit when running on a 64-bit CPU (suggested by Kon Lovett) commit 2f067cdb09f27a1086b97661cd7469e5caf848bd Author: Mario Domenech Goulart Date: Fri Dec 14 15:18:33 2012 -0200 chicken-status: add -eggs command line option Currently, chicken-status lists information about extensions. Eggs can contain one or more extensions. This patch adds a -eggs (or -e) command line option to chicken-status, so it can list eggs instead of extensions. It is possible to make eggs install multiple extensions with different versions. chicken-install only stores versions of extensions in the local repo. It does not store information about egg versions. Thus, this patch does not address egg versions, since chicken-status is unable to determine them. It simply lists egg names. (felix) removed reference to non-existent -dump option in error message. Signed-off-by: felix commit 799b4b27a557232e6455791bdfd532f950f0fbdb Author: Kon Lovett Date: Thu Dec 13 20:45:27 2012 -0800 Add recursive hash depth & length parameters. Make pair hash truely recursive. Signed-off-by: felix commit 56ee10352fdd029e0e9c434bf816defa270e8fd1 Merge: 709a4ea4 7818de84 Author: felix Date: Fri Dec 14 21:47:25 2012 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 7818de84946260fabbaffbc971ac77583832ce83 Author: felix Date: Thu Dec 13 20:27:09 2012 +0100 handle case in make-pathname when the directory-argument is #f and the file-argument begins with a path separator (reported by kon) Fixes #959 Signed-off-by: Mario Domenech Goulart commit 564285c33e7a1451084e0ba809d6efd29ae2dab1 Author: Jim Ursetto Date: Thu Dec 13 23:53:05 2012 -0600 manual: Note find-files old signature style was made invalid after 4.7.3 commit 709a4ea4e2fe3008c890d80a5b102bc62e9ba306 Author: felix Date: Thu Dec 13 20:15:06 2012 +0100 define keys only for scheme-mode commit f016cd78979654ef43d7dbd90b0e96382274a1b4 Author: felix Date: Thu Dec 13 20:14:48 2012 +0100 some comments commit 09bf6acd1ad76ea2e4e75a62258de97a80c72c43 Author: felix Date: Tue Nov 27 21:22:40 2012 +0100 Added support for 64-bit Windows. Since Win64 is an LLP64 platform, references to "long" and some other data-types and C-runtime library functions have been aliased with macros. commit 19a6b5bbdeb5c858f2bbf2bebf9c9dafc1e52247 Merge: 52c69531 432aa3c1 Author: felix Date: Tue Dec 4 19:59:40 2012 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 52c69531d586a39c51f3acc636596c65e181622e Author: felix Date: Tue Dec 4 19:58:56 2012 +0100 bugfix for unsigned-integer64 type check commit 432aa3c16a584b9748dd394ec9d10742a951ec95 Author: Peter Bex Date: Fri Nov 30 00:09:19 2012 +0100 Finetune types.db entries for irregex and update its module export list to match latest version by removing obsolete procedures Signed-off-by: Christian Kellermann commit 0425b20986a049217c599870f7eed70c45cb3071 Author: Peter Bex Date: Wed Nov 28 23:57:10 2012 +0100 Irregex: Fixing folds on conditional begin patterns which aren't treated as searchers. This is the final fix for #686 and synchronizes with upstream version 0.9.2 (upstream changesets 01058fc79a16 and fad713187dbb) Signed-off-by: Christian Kellermann commit 9d905e1acd87b32b744fc308891bd968bf97f10a Author: Peter Bex Date: Tue Nov 27 20:40:04 2012 +0100 Irregex: Ensure 'bos is matched only once in irregex/fold; this fixes #686 and updates irregex to 0.9.1 (upstream changesets a6444839100c through 1741bbf14d3e) Upstream changeset message for this bugfix: Don't bother looping in irregex-fold(/chunked)/fast if the irregex is a searcher. Either it only matches the beginning, or it already consumed the rightmost match. Signed-off-by: felix commit 85aa84403e565cb6ce77302bc01b6d027f595018 Author: felix Date: Fri Nov 23 20:06:53 2012 +0100 and also for our Windows users commit 4b2a4f00fda5a8b152228e1a47e77d0daa0969d2 Author: felix Date: Fri Nov 23 19:57:35 2012 +0100 better name commit 335a0d2e230f7e004370c0243ed6dd498770cef0 Author: felix Date: Fri Nov 23 19:54:09 2012 +0100 added elisp files and flymake script commit 27e6458716b7078f8ade4d6d8ef0f5d6a8203eb1 Author: felix Date: Fri Nov 23 19:53:34 2012 +0100 do not make buildid and buildbranch .PHONY on Windows, or buildversion.scm needs to be recompiled on every make(1) invocation commit 9b0fac688337d292bb96965bf7c45bd3a74ff2c2 Author: felix Date: Fri Nov 23 19:52:42 2012 +0100 trivial change commit 9eef92115fba6034a98cc21ef740fd82ea52387b Author: Peter Bex Date: Sun Nov 18 21:03:51 2012 +0100 Fix select() buffer overrun vulnerability by using POSIX poll() on systems that support it, leaving only those few systems vulnerable that don't (ie, only Windows). Signed-off-by: felix commit b2f0fd52a9d93df14472653e9f646d9f3f7e11e0 Merge: 04ef9ef5 ef8c48db Author: felix Date: Tue Nov 20 21:23:50 2012 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit ef8c48db3fb656663e148eac0dad4f78a44af599 Author: Mario Domenech Goulart Date: Mon Oct 15 19:56:05 2012 -0300 install-extension fix for when the second arg contains pairs (SOURCE DEST) Cases like (install-extension 'foo '(("orig" "dest"))) break install-extension. See http://tests.call-cc.org/master/linux/x86/2012/10/15/salmonella-report/install/crunch.html for example. Signed-off-by: Peter Bex commit 0b0fcb6ef33ae342accc2de3af07f22095e93f08 Author: felix Date: Thu Nov 15 20:28:26 2012 +0100 csc detects when intermediate files generated from source files passed on the command-line conflict with other C or object files that were explicitly given. Reported by Alan Post. Signed-off-by: Peter Bex commit 04ef9ef5401d25e40e61f96aeb2f4ccd473a4772 Author: felix Date: Sat Nov 17 23:57:46 2012 +0100 das auge isst ja schliesslich mit... commit 33c484028ff76bad3143296a31077bd5d038f95a Author: Peter Bex Date: Sat Nov 10 18:39:50 2012 +0100 Add regression test for #952 commit dd46f2348c2c8f86e5358a6e376483bdb7690446 Author: felix Date: Sat Nov 10 14:10:56 2012 +0100 Improve type-matching for list-like types. canonicalization of list-like types uses "(list ...)" where appropriate to allow more precise type-matching of combinations of "list-of"/"list" types. Signed-off-by: Peter Bex commit 84e997b979393600323c19d2149c39c88b4ea71e Author: Peter Bex Date: Fri Nov 9 21:55:24 2012 +0100 Mark all unused procedures (or replaced by compiler-macro) in irregex to get rid of compile-time warnings Signed-off-by: felix commit 10c77f8c18a569d5f34d9abc558311c38c62dda9 Author: Peter Bex Date: Fri Nov 9 21:54:10 2012 +0100 Irregex: Remove bogus pair? checks; they were testing the wrong bit of the list, and sre-sequence will already return 'epsilon when the passed list is empty (upstream changeset 4f257a9c3576) This gets rid of a scrutiny warning Signed-off-by: felix commit 3e72cecc8891e43a998787144d6bcb2757e4f652 Author: felix Date: Sun Nov 4 17:58:12 2012 +0100 Scrutinizer fixes. a) when matching "list-of"/"vector-of" with "list"/"vector", each element of the latter must match the element-type of the former (reported by megane, fixes #948) b) when matching result-types, allow "undefined" to match "noreturn" as the "noreturn" property can not be inferred for foreign procedures (for example) in general Signed-off-by: Peter Bex commit d707a5a96431c1590b08f3699184479174330193 Author: Peter Bex Date: Sat Nov 3 16:43:10 2012 +0100 Process-fork's type has changed in 47b5be71; the procedure can be #f now too. Update types.db to match Signed-off-by: felix commit 1b499f9022ca5650bea2510eb1f061e5997e98a1 Author: Peter Bex Date: Sat Nov 3 21:47:11 2012 +0100 Simplify and fix fast_read_string_from_file so it will correctly keep reading when interrupted after having read 0 bytes (by always clearing errors) Signed-off-by: felix commit 549f5675d6294145fc3a815cf282fe96cc41656a Merge: 924be13f 9079b9b7 Author: felix Date: Mon Nov 5 20:11:04 2012 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 9079b9b7ab57f296c9e3bf9f9cd42b1bad1a6baf Author: Moritz Heidkamp Date: Mon Nov 5 16:14:36 2012 +0100 Make promises slightly more efficient and less memory intensive Instead of keeping the promise result in the promise thunk's closure the implementation is changed to keep the result in a slot of the promise structure. This allows for removing the reference to the thunk once the promise has been forced and thus saving some memory. Signed-off-by: Peter Bex commit 924be13f922df06c336084dc4356ec1920257369 Author: felix Date: Sun Nov 4 17:39:35 2012 +0100 add missing module to compile-all script commit f97a4e630c1390372c168327ee97838f633d0eac Author: felix Date: Fri Nov 2 10:50:30 2012 +0100 Make symbol-GC more reliable by a) clear weak-entry-table on heap-resizing to avoid keeping stale pointers to the old heap-space(s) b) use a randomization value recomputed on every GC to reduce the probability of unresolvable hashtable collisions which would cause some values never to be reclaimed c) only enter symbol objects in the w-e-t - which is, after all, kind of obvious ... This change seems to recover all unused symbols, both in interpreted and compiled code. Signed-off-by: Peter Bex commit b5472d45310ebb1838d6b2b0534bcf31d5857a8a Author: felix Date: Fri Nov 2 21:34:20 2012 +0100 assert: only add form as argument to error if no message is given commit 13ad31d97ce35ea13215db3d50dfcf8b21e4d9a4 Author: felix Date: Fri Nov 2 10:49:38 2012 +0100 removed obsolete declaration commit 7bef21de09d279b0413ca94dbef978665c7a0f1c Author: Peter Bex Date: Wed Oct 31 22:27:01 2012 +0100 Fix #944 by making the behvior of macro-renamed definitions inside modules similar to the behavior at toplevel; they unhygienically introduce identifiers Signed-off-by: felix commit 2c8fa0a608a02dd953220e836594751ac88b1455 Merge: 42c6071a 399f9968 Author: felix Date: Wed Oct 31 23:09:33 2012 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 42c6071ada87135a3eca87defd2af061ff1a21b7 Author: felix Date: Wed Oct 31 23:09:26 2012 +0100 removed obsolete definitions commit 399f9968848c2dc1d0d7e94df5e2c5a699934e53 Author: felix Date: Tue Oct 30 10:47:15 2012 +0100 allow unsetting read-syntax Signed-off-by: Peter Bex commit 47b5be71353305425a419831ff2a5682a5c39df1 Author: felix Date: Sun Oct 28 12:37:22 2012 +0100 Added optional argument to process-fork that allows killing all threads in the child process but the current one Signed-off-by: Peter Bex commit 20b7d9ef62480b43a64e04b7381d9cf62e6823a7 Author: felix Date: Mon Oct 29 14:48:45 2012 +0100 comments commit 877429b9fabe17ad052d9158327b9d6a49ba630c Author: Peter Bex Date: Sun Oct 28 15:15:48 2012 +0100 Forgot to add this. Let's just blame git commit bc09c5580b3dbd76810bc4cd26c89e0d455c24fd Author: felix Date: Sun Oct 28 13:29:28 2012 +0100 remove implicit dependency on tcp.scm from posix-common.scm commit f6cb209c295467479ba5311fa9c70c9407018ca0 Author: felix Date: Sat Oct 27 17:00:28 2012 +0200 Use "chicken-syntax" unit by default. This makes extended chicken syntax available to compiled code that invokes the evaluator. Signed-off-by: Peter Bex commit 7cc25c4756558b47e0e695700a7a8217f0c74a14 Author: felix Date: Sat Oct 27 17:25:18 2012 +0200 fixed incorrect signature of _exit in types.db commit 8d05f1f09297c7a8ca75b1440865c33e12ad4ea6 Author: felix Date: Sun Oct 7 22:48:21 2012 +0200 catch serious signals (SIGSEGV, SIGILL, SIGBUS, SIGPE) Signed-off-by: Peter Bex commit 818276d5e8a71b05b2c94147cae7e442f32fbdca Author: felix Date: Sat Oct 27 13:23:31 2012 +0200 Enable "scrutiny" (simple intraprocedural flow-analysis) by default. Signed-off-by: Peter Bex commit 1ae287896160a006ea648b1234a20553f28d618d Author: felix Date: Sun Oct 21 20:49:13 2012 +0200 added missing Types.html to manifest (reported by megane) commit 8181fe9b6a29a40dcffbe3389a8f7bd04564c445 Author: felix Date: Sun Oct 21 20:48:48 2012 +0200 new is a C++ keyword commit f3aa0f2d861cbafb0c7455da3de219a5be27a280 Author: Peter Bex Date: Fri Oct 5 20:20:31 2012 +0200 Convert (errno == EINTR && !feof(fp)) checks into ferror(fp) checks, and put the errno dispatching code into Scheme, raising an exception on anything but EINTR Signed-off-by: Christian Kellermann commit 050ca67f43ba3cd4e424f403564f096af3c33440 Author: Felix Winkelmann Date: Tue Oct 9 03:49:24 2012 -0400 Add lightweight flow-analysis pass to remove some unnecessary type checks after normal optimization has taken place. Even with specialization, inlining (in particular cross-module inlining) may result in type checks that are in many cases redundant. For example inlined record accessors compiled in safe mode, and inlining of code in general (which is done after the normal flow-analysis pass) will introduce type-checks that specialization would have removed. This patch adds a new compiler pass (called "lfa2"), that does a simplified flow-analysis to identify redundant forms of the form '(##core#inline "C_i_check_..." ...)'. Type-information is obtained from constant forms and predicates like '(##core#inline "C_i_structurep" ...)'. In unsafe mode checks will generally be removed. Signed-off-by: Peter Bex commit 59926ffe6928530a683be56009efc78cdcf66e90 Author: Evan Hanson Date: Thu Oct 11 22:31:36 2012 -0500 respect -output-file option when compiling from stdin Signed-off-by: Peter Bex Signed-off-by: felix commit ce80916d63b7aefe77ad35bff4401a8c811a2a59 Author: felix Date: Sat Oct 13 09:41:38 2012 +0200 type-matching in reduce-typeset must be exact commit 9bb90f7761760efa69bd78c391b9e35bbc5320c9 Author: felix Date: Fri Oct 12 19:07:20 2012 +0200 Reduce typeset in alternative conditional branch with predicate. During flow-analysis, when a predicate is applied to a variable, the variable is assumed to have the corresponding type in the consequent branch of a conditional that depends on this predicate call. This patch adds a small enhancement that, in case the variable type is known to be a typeset (an "(or ...)" type), reduces the typeset by removing those types that match the predicate-type: (let ((a ...)) ; say "a" is of type "(or string number)" (if (number? a) ... ; "a" is known to be of type "number" ...)) ; "a" is now known to be of type "string" <- new Here "number" matches the predicate type of "number?" ("number"), is removed from the "(or string number)" type, and results in type "string" for "a" in the second "if" branch. Signed-off-by: Peter Bex commit c67b2bc55d4fc3eb145110634f8cf528e1b6ad40 Author: felix Date: Fri Oct 12 15:08:07 2012 +0200 added missing tests commit 1c6f37c00ffd043fe187f6b5a73d589d780bcada Author: felix Date: Wed Oct 10 22:27:06 2012 +0200 removed obsolete file from helper script commit 6c90c4a1a897f7d1fd638f811f5c2c9e165881c6 Author: Felix Winkelmann Date: Tue Oct 9 03:44:44 2012 -0400 Split "C_mutate" primitive into an inlinable immediateness-check and a call to the mutation procedure. This will avoid a procedure call in case the stored value is immediate, the test for this being cheap enough to performed in place. IIRC, this was originally suggested by Joerg Wittenberger. Signed-off-by: Peter Bex commit 3e6e91e63d294df598d7e251738f9262c9ed9e01 Author: Mario Domenech Goulart Date: Mon Oct 8 11:11:35 2012 -0300 types.db: stricter return types for read-line Signed-off-by: felix commit 95e32b229cc982113b1dab290761b95d8761bd3f Author: Peter Bex Date: Sat Oct 6 18:26:32 2012 +0200 Fixed scrutiny db type entry for signal-handler: it will return #f when no handler was installed Signed-off-by: Mario Domenech Goulart commit a1b972dfe1d9cc238b5fcddc577d357c355d3bbe Author: Peter Bex Date: Fri Oct 5 21:41:54 2012 +0200 standard-extension uses -O3, not -O2, which can make a big difference commit 0f4a0a3d1f2f3a98fb5c9e03255345f8b1d7aace Author: Peter Bex Date: Wed Oct 3 22:22:55 2012 +0200 Fix handling of EINTR in process-wait by retrying. Add combined test for this and the getc() EINTR handling bug Signed-off-by: felix commit 6e6afed0e1cd2f57958c126e6192aed3f0f7c8bb Author: Peter Bex Date: Wed Oct 3 21:00:52 2012 +0200 After calling getc() and getting back EOF, properly check feof() before checking errno; if errno is not cleared we'd get in an endless loop on an interrupted system call. These are quite rare, that's why this wasn't noticed before. Also copy the bit already read when looping, after receiving EINTR in read-line Signed-off-by: felix commit 6e10dfb17175faa307a2a7230cf705c987af85c5 Author: felix Date: Thu Oct 4 23:33:27 2012 +0200 Remove some unused procedures and old "binary compatibility" stuff: - ##sys#double->number - find-lambda-container - explicitly-consed list - contains? - C_exact_to_inexact - C_string_to_number Originally by Peter Bex, changes made by felix: * "##sys#call-with-cthulhu" was kept to avoid messing with powers that one is not to trifle with * bumped binary compatibility version to 7 Signed-off-by: felix commit e1a5773f52691c48097ae4f698081fa50f9647f7 Author: felix Date: Thu Oct 4 23:12:48 2012 +0200 Remove everything marked DEPRECATED and the tests that still used them. Removed a few type annotations that were forgotten last time Originally by Peter Bex, with some changes made by felix, to avoid breaking too much existing code: * lambdas as syntax-transformers are still available * kept the 'script feature-identifier (for csi) Signed-off-by: felix commit 96c5b48e107a0353902e0eca4ea2eed21d99d97f Author: felix Date: Thu Oct 4 20:36:20 2012 +0200 small fix in identify.sh, originally by Mario Signed-off-by: felix commit 8efd0784e189c0fe0434a5e1d16c25cff4c827e0 Author: felix Date: Thu Oct 4 20:34:08 2012 +0200 scrutinizer and types.db fixes by sjamaan Signed-off-by: felix commit c6d6cd1b153c39ae4191d52193c8da853ddb9a08 Author: Mario Domenech Goulart Date: Tue Oct 2 17:18:23 2012 -0300 Revert "Prevent running applications from crashing when reinstalling eggs" This reverts commit 91cc29dfe22f1bded11fa4fec0389857df7b26d0. The patch as it is risks removing directories when the second argument (to) is a directory. Eggs that depend on setup-helper trash (chicken-home), since setup-helper runs (when (setup-install-mode) (copy-file "setup-helper.scm" (chicken-home)) at some point. commit 0cca92ea9ca8dfef2b2edafa95948e1afd511beb Author: felix Date: Mon Oct 1 19:47:54 2012 +0200 Copy-propagation of global that refers to intrinsic If a variable is known to be bound to a global variable which itself refers to an intrinsic function (one of the "standard-" or "extended" bindings, that get specifically treated in call position by the compiler), than references to the former variable will be replaced with the latter. Signed-off-by: Peter Bex commit 91cc29dfe22f1bded11fa4fec0389857df7b26d0 Author: Christian Kellermann Date: Mon Oct 1 17:35:30 2012 +0200 Prevent running applications from crashing when reinstalling eggs As suggested by Jim Ursetto this removes any previously installed files before installing ones by the same name. Fixes Bug #929. Amended by felix to use "shellpath". Signed-off-by: felix commit f86a31d32f5cef4e297414251516d65b2bb39c33 Author: felix Date: Sun Sep 30 11:44:58 2012 +0200 Compiler preserves argument names in foreign-lambda* and friends This is useful because if you print your procedures, the arguments will be a little more meaningful. This will preserve argument-names with foreign-lambda* and friends, or construct ones based on type with foreign-lambda and friends. Running this sample-snippet: (define fl* (foreign-lambda* void (((c-pointer (struct "point")) cursor)) "cursor->x=0;")) (define fl (foreign-lambda void "external_lambda" (c-pointer (struct "point")))) (print fl* "\n" fl) Before this patch: # # After this patch: # # (Contributed by Kristian Lein-Mathisen , slightly amended by felix to fallback on 'a in the non-list case and moving type->symbol inside create-foreign-stub to avoid exposing its global binding) Signed-off-by: felix Signed-off-by: Peter Bex commit 4e5ba39639abe206f2e8cf0e2a7647d00e759562 Author: felix Date: Tue Sep 25 21:19:35 2012 +0200 Do not clear eof-status of input port when reading from file-port. Calling "(read-string #f)" or "(read-all)" from csi in a terminal will not detect EOF, waiting forever for more input. This is caused by "C_fast_read_string_from_file", which calls clearerr(3) to clear the error/eof status on encountering EOF. But when the input port is connected to a terminal, input may still follow and the EOF status will be lost. The patch removes the call to clearerr(3) and adds an additional EOF check at the beginning. I'm not 100% sure about this fix, but it seems to do the job. Signed-off-by: Christian Kellermann commit 8bbe3a8f37cd57b73f22e3deef0df02de0ba384e Author: Peter Bex Date: Mon Sep 24 21:11:41 2012 +0200 Remove deprecated procedures which were already removed from the types database Signed-off-by: felix commit 7d308b23d624a6b0111058a93887716e823ef73e Author: Peter Bex Date: Mon Sep 24 21:09:15 2012 +0200 Wrap remaining 'bare lambda' macro transformers in er-macro-transformer calls, to prevent future breakage when this deprecated feature is actually removed Signed-off-by: felix commit 0c258f5cfd16d0062ed483fc5233f84a2d3162c9 Author: felix Date: Sun Sep 23 23:44:58 2012 +0200 use lower-level runtime routines in compiler-syntax expansion of [sf]printf Signed-off-by: Peter Bex commit fe84b3ac373ac68991638ec152c2712810c8569a Author: felix Date: Mon Sep 24 00:00:58 2012 +0200 show keyword style in csi ,r output Signed-off-by: Peter Bex commit 86391edee6144c5fe911e7af165762f637b44e9a Author: Ivan Raikov Date: Mon Sep 24 16:01:27 2012 +0900 applied manual fixes from the wiki commit 0c61a04d2634920b7e587e4fa1bb6fabd432a01f Author: Peter Bex Date: Sun Sep 23 15:43:00 2012 +0200 Irregex: Fix problem with suffixes returned while searching instead of matching (thanks to Sven Hartrumpf for reporting this) (upstream changeset afae3f6a8f8a) Now, finalizers are run whenever we move from an accepting state to a non-accepting state. This allows memory slots to be modified even if we never reach an accepting state, returning a match found earlier. Signed-off-by: felix commit 0b0eb8d0e7188a0413d7b1c2aac4d9b41e607b64 Author: Peter Bex Date: Sun Sep 23 15:35:51 2012 +0200 Irregex: Use proper abstractions for manipulating the nfa-multi-state representation, to make the code more readable and maintainable. (upstream changeset 65b8e4a1529c) commit 31370f9cd313360c089a15283a04abf8912d46be Merge: 15330594 561a0b31 Author: Peter Bex Date: Sun Sep 23 15:57:38 2012 +0200 Merge branch 'patch1' commit 15330594c51cec0dfecc1c2a6fe152f9bec14ec4 Author: felix Date: Sun Sep 23 01:14:58 2012 +0200 add type-declarations and rewrite rules for some internal port routines and record-instance? from the lolevel unit Signed-off-by: Peter Bex commit 561a0b31b250c079954d402183b4cad1fa245894 Author: felix Date: Sun Sep 23 00:55:42 2012 +0200 add type declaration for ##sys#size and specialization rule for record-instance? Signed-off-by: Peter Bex commit 49c1af45fdce3881076c7224cb25ceb514c1c0a1 Author: Mario Domenech Goulart Date: Sat Sep 22 13:57:04 2012 -0300 csc.scm: add "-z origin" to linker options in FreeBSD FreeBSD's linker require tath option to process $ORIGIN. Without this patch, the deployment test (make check) fails. Signed-off-by: felix commit 8d409f9d88243e94467bdf1e3b1a22310bf8a475 Author: Peter Bex Date: Sun Sep 16 20:11:06 2012 +0200 Irregex: Convert strings with charset ranges into large SRE ranges instead of alternation of several ranges, producing smaller NFAs. (upstream changeset e8822a0dbf06) Signed-off-by: felix commit 3da15587c79b65f3b2592d2cb10bc8ebc62ed0f8 Author: Peter Bex Date: Sun Sep 16 20:07:15 2012 +0200 Irregex: Small test changes: Add regression test for failing initial submatch. (upstream changeset be8270498f02) commit c5a5d250c38691a4d7b675c07ccc53fc9bf8cb44 Author: Peter Bex Date: Sun Sep 16 20:04:14 2012 +0200 Irregex: Implement Laurikari's algorithm for tNFA->(t)DFA compilation. (upstream changesets 6ec98fa4f5a9 and 71c42f9974ce) commit 6fe652ab24d6ef8c4cdb0fe5ebaccb30c779c401 Author: Peter Bex Date: Sun Sep 16 15:43:26 2012 +0200 Convert irregex's NFA representation to support tags (becoming tNFAs). (upstream changeset ed694ba7adff) commit 0f6cef91fbf7992e6aee0bf9de5bedbb6317f7f0 Author: felix Date: Sun Sep 16 13:43:34 2012 +0200 bumped version to 4.8.1 commit 28836d948a45fb6e002b5c37485dfce8975f1311 Author: felix Date: Sat Sep 15 22:54:56 2012 +0200 bumped version to 4.8.0rc4 commit b9f83054916e6350a6f2590b4da75fc3da89c5b0 Merge: 1bf03ea5 a86ed010 Author: felix Date: Sat Sep 15 22:51:37 2012 +0200 Merge branch 'master' into prerelease commit a86ed010d019e6dafa98d6af94e40a44a6bef983 Author: felix Date: Wed Sep 12 22:25:54 2012 +0200 Detect keywords that start with numbers or dot correctly. This was reported by Moritz and Christian and was caused by using the wrong internal token-reader function when a token started with a digit or #\. - this implies the #\. inside a dotted list. Signed-off-by: Peter Bex commit f89c87539f9157fd199c78240709a70148299f1e Author: Jim Ursetto Date: Fri Sep 14 09:45:23 2012 -0500 Silence clang return type warnings by removing else keyword after calls to C_div_by_zero_error Signed-off-by: felix commit 0e68a6d2ff664fbedfd47b0553c59e97ea86f928 Author: Peter Bex Date: Fri Sep 14 10:46:49 2012 +0200 Run scrutiny tests in analyze-only mode. We don't run the resulting program, and on OpenBSD the linker warnings about unsafe functions create spurious diffs between expected and actual compiler output. This fixes #923 Signed-off-by: felix commit 7fcd9026c12d6ef1e52a864e306b6186e9a4ef25 Author: Peter Bex Date: Sun Sep 9 14:05:02 2012 +0200 Add 'make check' description Signed-off-by: Mario Domenech Goulart commit 5aad4d93a347f5f1a2d3202245d82e32ea3a11ce Author: felix Date: Wed Sep 12 22:24:54 2012 +0200 added missing quote in test-case in posix-tests.scm commit b7d7e082c931fcf4fb0a5419112348b7fff9dd0f Author: felix Date: Wed Sep 12 21:37:26 2012 +0200 forgot updated patch version commit fc314560d220bf28108faa78093484e6c7d9e449 Author: felix Date: Wed Sep 12 21:32:00 2012 +0200 * fix libchicken name in "csc -deploy" to use the correct DLL name on cygwin * rename chicken runtime DLL to avoid library-conflicts when running "make check" on cygwin * enable some tests for cygwin which where previously disabled for all supported windows platforms (cygwin + mingw) This patch is originally by me and was improved by Mario, with help from John Cowan. Signed-off-by: felix commit 4af367d75e438fb270fe27224bc49832457c262d Author: Mario Domenech Goulart Date: Tue Sep 11 18:52:52 2012 -0300 rules.make: use $(LINKER) instead of hardcoded gcc for cygchicken-0.dll Signed-off-by: felix commit 08808a813bda8f0ec96f8f2361fbd551a99c646a Author: felix Date: Fri Sep 7 23:47:51 2012 +0200 Type-validation returned incorrect result for "deprecation" type-specifier. This also fixes a bug in types.db for "record-instance?" Fixes #918. Signed-off-by: Peter Bex commit b2622b523ca954468d305c791ad30518c65cf952 Author: Peter Bex Date: Sat Sep 8 18:15:24 2012 +0200 Copyright year wasn't updated in README and banner.scm commit 1bf03ea547a36c2be1efcc480e74f85a416ea4bf Merge: fc3b83b5 6e32feaa Author: Felix Winkelmann Date: Thu Aug 30 05:53:16 2012 -0400 Merge branch 'prerelease' of /home/chicken/chicken-core into prerelease commit e061038ab8ed3b120b63b35abd4666683257840e Merge: 209f0960 29d7522d Author: Felix Winkelmann Date: Thu Aug 30 05:53:08 2012 -0400 Merge branch 'master' of /home/chicken/chicken-core commit fc3b83b52eb91ac0426f03c15c14bd65b7a849a4 Author: Felix Winkelmann Date: Thu Aug 30 05:51:01 2012 -0400 bumped version to 4.8.0rc3 commit 722eaf721fca6264941c0a6951b72fffbdd51aa4 Merge: 29d7522d 209f0960 Author: Felix Winkelmann Date: Thu Aug 30 05:48:49 2012 -0400 Merge branch 'master' into prerelease commit 209f09603a4498adf27596d602870d30c3f933e1 Author: Felix Winkelmann Date: Thu Aug 30 05:40:38 2012 -0400 Explained symbols (particularly the difference between interned and uninterned symbols) in more detail, as requested by Ivan. Fixed #908 commit 29d7522d6fa5c3655b2a48d0b0c3ac3dd888f1c6 Author: Felix Winkelmann Date: Thu Aug 30 05:40:38 2012 -0400 typo fixes commit f4c16819450694f7a5b599f1e2589fc607ddb119 Author: Felix Winkelmann Date: Thu Aug 30 05:36:17 2012 -0400 Revert "version set to 4.8.0rc3" The version for release candidates should be set in the prerelease branch, otherwise we get annoying conflicts when later merging the release. This reverts commit 4e1a34009339bcd60b9312a007f45538a03762bf. commit 6e32feaac09aebe2b78b150b979472f85210c94a Merge: f60f0ddd 4e1a3400 Author: Ivan Raikov Date: Thu Aug 30 10:57:18 2012 +0900 Merge branch 'master' into prerelease commit 4e1a34009339bcd60b9312a007f45538a03762bf Author: Ivan Raikov Date: Thu Aug 30 10:55:44 2012 +0900 version set to 4.8.0rc3 commit d6c0b818e308d6cf7878035d21aa3da8282d5c83 Author: Peter Bex Date: Tue Aug 28 21:04:30 2012 +0200 For copy-hash-table, after making a new hash table, reset the hash function to the one of the original table. This fixes #905 (thanks to Mario) Signed-off-by: felix commit a42607e61cbfe6bad64ac68cc37c1577052bd33e Author: felix Date: Thu Aug 23 21:47:35 2012 +0200 Fix problems with `reexport'. This patch fixes the bugs #900 and #901 (both reported by megane): * When reexporting syntax in a module with "*" export list, the syntax must be added to the modules' "exist" list, so that it can be retrieved on import. * When reexporting, indirect exports (of the form "( ...)") must be copied from the module that is reexported into the module that reexports, to make them available in the importing module (reexported syntactic bindings may refer to indirect exports, but these do not exist in the wrapper, the module that does the reexport. Yes, this is quite confusing). Test cases have been added. Signed-off-by: Christian Kellermann commit d856a53aa194922b73f480f0e943c38268ef93f1 Author: felix Date: Mon Aug 27 21:49:54 2012 +0200 in signal-tests terminate child process by signal instead of tcp-message because the test will never finish if the tcp-listen operation fails, for example, when the port is already in use Fixes #907. Signed-off-by: Mario Domenech Goulart commit 91d56ee4be941fb0b63b9d2f60b57dd2660c451f Author: Mario Domenech Goulart Date: Thu Aug 23 16:38:24 2012 -0300 csc.scm: properly handle -output-file This commit contains the code suggested by Felix (see http://lists.nongnu.org/archive/html/chicken-hackers/2012-08/msg00045.html) This fixes #903 commit d9f2ad87b42ff5f545e70248a02f92c4a34e8267 Author: Peter Bex Date: Sat Aug 18 21:26:50 2012 +0200 Add embedded NUL byte checks to all(?) C functions that accept strings and are called directly instead of through the FFI with 'c-string' or via the ##sys#make-c-string procedure Signed-off-by: felix commit 30b2e4ca0b20651e88d79e5d757c93d22487acc7 Author: felix Date: Wed Aug 15 21:34:01 2012 +0200 Validate type given to ##core#typecase. Type-specifiers given in "##core#typecase"/"compiler-typecase" forms must be validated, as the validation resolved type-aliases created with "define-type". Moreover all type-validation takes place when type-specifiers are expanded/canonicalized (":", "compiler-typecase", "the", ...) and not when processing the "##core#..." forms. Signed-off-by: Christian Kellermann commit 0e9a6e59b5c199e463491796dba383dca3882a19 Author: Peter Bex Date: Wed Aug 15 21:41:43 2012 +0200 Trivial bugfix for irregex to make it accept URLs containing paths having multiple components (upstream changesets aa623d0cbdec and 85cbe4d1565c) commit 0c8c318c89810ef1337a4169c3cc714f67fa0b51 Author: felix Date: Sun Aug 19 02:05:52 2012 +0200 added test-case from #896 commit 9c04968eb45c0b14794326711620367af8a839f9 Author: felix Date: Wed Aug 15 21:49:20 2012 +0200 Resolve type-variables when computing initial argument types. In "strict-types" mode, the initial types of procedure arguments are assumed to default to those found in existing declarations, but this did not detect and resolve type variables in "forall" types. Reported by Moritz, should fix #896. Signed-off-by: Peter Bex commit 790bbb6ccd599781507546acd20115df39d68382 Author: felix Date: Wed Aug 15 21:23:59 2012 +0200 Handle struct-types in subtype-relationship test. Struct types were simply forgotten in the implementation of the subtype-relationship test ("type<=?") in scrutinizer.scm Reported by megane (#898) Signed-off-by: Christian Kellermann commit a8ed6385dc7f9c39926913f306a0515e4b2f9deb Merge: cb9155e7 4f61dae9 Author: felix Date: Tue Aug 14 22:17:23 2012 +0200 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 4f61dae9ac9842afa57ddd1bbb049bb5d32d8f61 Author: felix Date: Mon Aug 13 12:23:27 2012 +0200 Fix computation of stack depth beyond C_stack_limit. The old way of calculating the depth could overflow if the stack is located very high in memory. This was causing incorrect stack-overflow errors on some 64-bit systems (sparc64 and x86-64). The new method checks whether the stack-pointer is beyond the limit computed at startup, including a 64k "slack" area to allow (modestly) deep recursions in direct-call-optimized (simple, non-allocating, not externally visible) procedures. Signed-off-by: Christian Kellermann commit cb9155e78911dbf009d75d324449b9e9294bfdec Author: felix Date: Tue Aug 14 11:44:51 2012 +0200 typo fix in comment commit f60f0ddd316788b84f792b97b8370807b3b80f74 Author: felix Date: Fri Aug 10 12:45:02 2012 +0200 bumped version to 4.8.0rc2 commit 86849a687d613389c04a42c7b8fc0c757403ef3b Merge: 89913360 1564a460 Author: felix Date: Fri Aug 10 10:59:46 2012 +0200 Merge branch 'master' into prerelease commit 1564a4600c69c0db6b9be97bbda518e725121f75 Author: Peter Bex Date: Thu Aug 9 20:55:24 2012 +0200 Fix implicit renaming to avoid using core aliases directly; this wreaks havoc when later the original symbol needs to be retrieved. This fixes #893, reported by Megane Signed-off-by: felix commit 8991336084d583217e14c47365dc9b5fb421d06c Author: felix Date: Tue Aug 7 09:16:32 2012 +0200 bumped version to 4.8.0rc1 commit a01a9da3e4832791c70a062f4a1534909fff1c77 Author: felix Date: Mon Jul 30 22:08:02 2012 +0200 Fix for star-export with explicit re-export of syntax (#882) In a module with a "*" export list that explicitly re-exports syntax (via "export") imported from another module, the export is currently not externally visible. The reason for this is that the re-exported syntax does not appear in the "sexports" slot of the module record from the module that does the export. It is also not in the list of syntax definition (since it is not defined in that module). To make this work, "export" has to check for a module with "*" export-list and add the information of the rexported syntax found in the current macro-environment to the "sexports" slot. Finalization of the module will merge syntax definitions found in the definition-list and in sexports to make the reexport work with import-libraries. Part of this patch is from sjamaan, the problem was reported by megane. Signed-off-by: Christian Kellermann commit dcc50aebcec56e09fc7e5a0ac89856747e876f36 Author: Moritz Heidkamp Date: Sun Aug 5 23:48:11 2012 +0200 Fix xcons rewrite (patch devised by Peter Bex) commit 70b96058893bef1f4f3ca710f0dfca7c9c12c262 Author: felix Date: Wed Aug 1 13:48:27 2012 +0200 use named procedure for continuation wrapper for a slightly more useful printed representation Signed-off-by: Peter Bex commit ab9b93a236ca4337f523672883e3d88015c10346 Author: Peter Bex Date: Wed Jul 18 21:18:49 2012 +0200 Add check to "max" and "min" for exactness of all values including the first; add type check for first value so that the procedure really becomes "enforcing" like types.db claims. This fixes #887 Signed-off-by: Christian Kellermann commit 999b4ee25e8d2b596fb9c119bdae3c78cd519b85 Author: Mario Domenech Goulart Date: Thu Jul 19 20:40:25 2012 -0300 chicken-install: abort when transport and location cannot be determined This patch fixes the number of arguments passed to the procedure given as argument to `with-default-sources', which would raise an arity error when transport and location could not be determined (issue found by Peter Bex). That procedure is now given a thunk that will properly abort chicken-install, displaying a meaningful message. Signed-off-by: Peter Bex commit 547ca87cf551aeeb156491710d1af3f152242db2 Author: Peter Bex Date: Wed Jul 18 20:40:45 2012 +0200 Fix irregex builtin "real" utility pattern to allow leading +/- sign. This fixes #888 (upstream changeset 3c51418853de) Signed-off-by: Christian Kellermann commit 92c06df22bb7dd5d9539ebf0002b625d50b1d722 Author: Peter Bex Date: Wed Jul 18 20:36:30 2012 +0200 Update irregex copyright and NEWS; this brings us exactly up to upstream release 0.8.3 (upstream changeset 88104ffcd77a) Signed-off-by: Christian Kellermann commit 50d9540af6108789a605ccff10915b030a324461 Author: Peter Bex Date: Wed Jul 18 20:31:09 2012 +0200 Add complemented unicode char-set tests for irregex (upstream changeset 78ba6b09e021) Signed-off-by: Christian Kellermann commit 5a0e7eb5fd2147189304b2ab37a36c8e05642485 Author: Peter Bex Date: Wed Jul 18 20:26:27 2012 +0200 Fix hang in irregex-fold caused by patterns matching the empty string (upstream changeset ba70feace1dd) Signed-off-by: Christian Kellermann commit 735a6304b138dce0ca5a47577ff23a9a884d12df Author: Christian Kellermann Date: Mon Jul 16 11:39:10 2012 +0200 Set hash-table size to number of entries in hash-table-copy As reported by John Croisant before this patch hash-table-copied tables would report a size of 0. This is due to *make-hash-table setting the number of entries to 0 regardless of the size of the hash-table's vector. This patch also adds a test to the testsuite. Signed-off-by: felix commit a74133638f3f19cfc6549491483002a5f56fb3f2 Author: felix Date: Sun Jul 15 23:19:58 2012 +0200 retain whether procedure-type is pure when using nested procedure types in type-declarations Signed-off-by: Christian Kellermann commit 6256ae18ec023aef4cf388d3a0969c9928ac2fb2 Author: felix Date: Mon Jul 16 07:15:57 2012 +0200 Use PID when creating temporary files or directories to reduce the risk of reusing temporary filenames This can be a problem when (for example) two processes create a large number of temporary files concurrently. This fixes #810 (https://bugs.call-cc.org/ticket/810) Signed-off-by: Mario Domenech Goulart commit 0e449706c68b62e8c6c66acc91e9b8f39c153c4b Author: Mario Domenech Goulart Date: Mon Jul 9 11:37:16 2012 -0300 NEWS: typo fix (s/accedentally/accidentally/) commit 48aad2961ea943093cebf7f3c7c2d1d681df34b2 Author: Peter Bex Date: Sun Jul 8 11:51:21 2012 +0200 Update NEWS to mention sigsetjmp usage on Haiku commit ac8838b3f11017148d44563b987367e3762a5f28 Author: Peter Bex Date: Sun Jul 8 11:48:19 2012 +0200 Also enable sigsetjmp/siglongjmp on Haiku; verified to work by augiedoggie on IRC commit fb02ab4ef72d155c09549672e01660ba4c26eea0 Author: Peter Bex Date: Wed Jun 13 22:54:26 2012 +0200 Use sigsetjmp/siglongjmp instead of setjmp/longjmp on platforms where these are available to prevent inadvertent resetting of signal mask and the associated unneccessary system call overhead Signed-off-by: felix commit ffe1163a9b49df31c81982c274cc5fac3f979c7d Merge: d6845c13 cce431ab Author: felix Date: Sat Jul 7 22:41:08 2012 +0200 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit d6845c138174d13c12406c4297f83ee80ad15dca Author: Peter Bex Date: Sat Jul 7 11:40:23 2012 +0200 Resolve user-defined scrutiny types at canonicalization time, before with-property-restore in each module's expansion is compiled away and ##compiler#type-abbreviation properties are restored. Fixes #884. Signed-off-by: felix commit cce431abb358f184362a946c55debe624e5240f1 Author: Mario Domenech Goulart Date: Sat Jul 7 15:39:29 2012 -0300 Add tests for SRFI-14 Tests by Olin Shivers for the SRFI-14 reference implementation (http://srfi.schemers.org/srfi-14/srfi-14-tests.scm). Those tests triggered a compiler bug (http://bugs.call-cc.org/ticket/874) which has been fixed by 285f53dbca729cffb4c4d9ee84e4ba893c882546 Signed-off-by: Peter Bex commit 285f53dbca729cffb4c4d9ee84e4ba893c882546 Author: felix Date: Fri Jul 6 08:50:29 2012 +0200 Copy propagation of local procedure names may re-introduce references to contracted procedures, and thus breaks the invariant that contracted procedures are only referenced once. With certain code patterns (for example in srfi-14-tests.scm as reported by Mario) this could cause the compiler to contract infinitely (if the contracted code contains propagated references to other contractions). Now contraction is disabled for variables that are "replacing" (i.e. propagated). Once the propagation has taken place a later optimization pass will do the contraction. This fixes #874 (https://bugs.call-cc.org/ticket/874) Signed-off-by: Mario Domenech Goulart commit 1b7b630d37ead147b2ed89e0a69a484a542bf0a5 Author: felix Date: Fri Jul 6 08:45:47 2012 +0200 type-declaration macros in code evaluated at runtime must not assume they are executed in a compilation context (contributed by megane) Signed-off-by: felix Signed-off-by: Christian Kellermann commit 5c501f149aec450ab1c3100721e99f34d0418e88 Author: Jim Ursetto Date: Thu Jul 5 14:37:24 2012 -0500 Add tests/srfi-13-tests.scm to manifest commit f7adb38a4f0f02ab4d2c6e93b216476453f3a14f Author: Jim Ursetto Date: Thu Jul 5 11:15:36 2012 -0500 README: Remove section on LLVM incompatibility with OS X, as it is now supported. commit fd114321aed864408a856a638d1858476fb5779f Author: Peter Bex Date: Wed Jul 4 11:59:37 2012 +0200 Fix assume macro, found by megane on IRC We cannot use ##sys#er-transformer here. This could have never worked. Signed-off-by: Christian Kellermann commit 2ff95afa0c34b98c6c063e46568f5275f64b4116 Author: Peter Bex Date: Sat Jun 30 12:46:33 2012 +0200 When resizing the heap ensure it grows enough to accommodate the nursery. This fixes out of memory errors in extreme cases like allocating finalizers on lots of objects in a tight loop Signed-off-by: felix commit ac0a3d132f772da5c543288af6d0d33f66c8fecb Author: Peter Bex Date: Sat Jun 30 11:37:29 2012 +0200 Add tests/srfi-13-tests.scm to LICENSE, for completeness commit 56d2581de632754f20ea964a4a735174dee22994 Author: Mario Domenech Goulart Date: Fri Jun 29 20:24:19 2012 -0300 Add tests for SRFI-13 (adapted from Gauche) Signed-off-by: Peter Bex commit 250fa01d489c8a9571fa256f402c4ea4df22246b Author: Mario Domenech Goulart Date: Thu Jun 28 10:46:03 2012 -0300 Avoid using / in xsubstring and string-xcopy!, since srfi-13 is compiled with (declare (fixnum)) This patch fixes #869 Signed-off-by: Peter Bex commit 9b47cab6d0633dde440276f1cdb6bdc882d28709 Author: felix Date: Thu Jun 28 14:06:52 2012 +0200 disable warning for accesses to variables with undefined value; this is a bogus warning, as undefined values are completely legal, as long as one doesn't make any assumptions about their meaning; as long as such a variable is not used, it is ok to pass their value around (and may be the result in macro-generated code - restricting this even if by warning causes unnecessary convolutions (fixes #849) commit a9bd42146f2debc6f651123488d7e6a870ce3ab0 Author: Peter Bex Date: Sun Jun 24 18:07:51 2012 +0200 Add finalizer test, which was accidentally left out of commit 8a6d9a46185f4ae0498792840a5ebda659eaed61 commit 31f7e20d285c962080bcdf8f93ea1135c714f1e3 Merge: af50ab32 8a6d9a46 Author: felix Date: Sat Jun 23 22:35:56 2012 +0200 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit af50ab32216c3e644587eea44bac12bbca4185bc Author: Peter Bex Date: Sat Jun 23 19:33:11 2012 +0200 Fix finalizer size check: if it's bigger, we're already using one slot beyond the vector commit 8a6d9a46185f4ae0498792840a5ebda659eaed61 Author: felix Date: Fri Jun 22 17:20:47 2012 +0200 Exceptions signalled by code that executes in finalizers will now be caught and do not propagate upwards into arbitrary user code. Signed-off-by: Peter Bex commit 24df3271dfae12532dcd74a9a5428f2140587a2d Author: Peter Bex Date: Thu Jun 21 20:43:43 2012 +0200 Fix out-of-memory check so it includes alignment (and prevent future bugs by removing the code duplication) Signed-off-by: Christian Kellermann commit ae6af2c1894b8ab8178f21f8169a98c3b5e0327a Author: felix Date: Tue Jun 19 19:46:26 2012 +0200 smash types in implicit global type-declarations; added test Signed-off-by: Peter Bex commit 24b6ab7d2b670a837ae21fc67632b701856e3113 Author: Peter Bex Date: Wed Jun 20 21:36:39 2012 +0200 Fix typo in call to heap_free (second argument is currently unused, but it might potentially be used in the future) Signed-off-by: Christian Kellermann commit abf5ae1e4a5025cbf03b24c6ce8574ceb5af12b1 Author: Jim Ursetto Date: Mon Jun 18 20:16:24 2012 -0500 Ensure that srfi-13 string= and its string-comparison friends return booleans on success This corrects a deficiency which exists in the reference implementation and fixes ticket #870. Signed-off-by: Mario Domenech Goulart commit e5f341a81cb2d5b8c4f7d8eedabcd35c1ecb7281 Merge: 9952a9bc 7e7d44ac Author: felix Date: Tue Jun 19 10:08:23 2012 +0200 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit 9952a9bc4d240f1a9f4eeb8f5752360a55060193 Author: felix Date: Tue Jun 19 10:07:55 2012 +0200 trivial changes commit 7e7d44aca43f5522c138668a45baaaae823f8877 Author: Christian Kellermann Date: Mon Jun 18 16:43:46 2012 +0200 Correct typo in EAGAIN patch spotted by Marijn commit f94b8c514693f693bf016f7adb3ecac6eb83871f Author: felix Date: Thu Jun 14 09:09:18 2012 +0200 EAGAIN is available on Windows commit c48a109d668f3186bb4a213940c0b0b81a1ad03d Author: felix Date: Tue Jun 5 11:17:08 2012 +0200 copy directories on installation recursively Signed-off-by: Peter Bex commit 5247d0dde5762d7ae984746b4c4f617b8e60ba17 Author: felix Date: Tue Jun 12 12:55:57 2012 +0200 updated NEWS commit 7a1146608edf8339b9671c2baec487d318da0c36 Author: felix Date: Tue Jun 12 10:01:41 2012 +0200 handle EAGAIN in I/O operations Signed-off-by: Christian Kellermann commit 3875d1361b2f285cd5bafd987869e5a011e304fb Author: felix Date: Tue Jun 12 10:40:15 2012 +0200 reexport must update module-exist-list for modules having wildcard export list (contributed by megane) Signed-off-by: felix Signed-off-by: Christian Kellermann commit 4f4738fdec98062301fa8f970eca9e92a67bccb9 Author: felix Date: Tue Jun 12 09:39:29 2012 +0200 update module-exist-list when doing an deferred export in a module with wildcard export list (contributed by 'megane') Signed-off-by: felix Signed-off-by: Christian Kellermann commit 6b0ad78ca90ceacb463d12e6c784063daccad5f5 Merge: 20e1860e e7b36888 Author: felix Date: Tue Jun 12 09:08:45 2012 +0200 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit 20e1860e637554ebc09e5658884de711954abb14 Author: Kon Lovett Date: Sat Apr 28 10:59:59 2012 -0700 ignore rpath for macosx commit e7b368881b075800c6cb2136e2080006b0e32ad4 Author: Peter Bex Date: Sun Jun 10 12:29:39 2012 +0200 Remove duplicate [[toc]] macro on irregex manual page commit 5e410dbd51f0e1a5ef2b5da919eddfa97705a88b Author: felix Date: Fri Jun 8 13:21:06 2012 +0200 consolidated NEWS file for 4.8.0 commit 3d079916d8cb86d2e57d284b0cae1cd5d9eade99 Author: felix Date: Fri Jun 8 09:48:01 2012 +0200 updated NEWS commit cc04ee397ab9a753ff54484ffc25c7fb9389bf32 Author: felix Date: Sat Jun 2 13:24:32 2012 +0200 skip ##core#callunit when scanning toplevel assignments Signed-off-by: Peter Bex commit 721acfa74e9f46d783869ad5ecb39891008aaaf9 Author: felix Date: Mon Jun 4 09:30:30 2012 +0200 compile-file should not print a message commit c31c6ecf7c6ffcde49707184d49c6303792649a4 Author: felix Date: Tue May 29 13:27:10 2012 +0200 when specializing, substitute argument nodes by nodes wrapped in ##core#the/result nodes which are never rewalked Signed-off-by: Mario Domenech Goulart commit e1db62133efadaba206c34f5713ba33bc299e08b Author: Mario Domenech Goulart Date: Wed May 30 17:34:47 2012 -0300 Revert "Check all elements of the list for being a string in make-pathname" This reverts commit dd18d957edaccd5301875e6b073a873bae8b15cc. That patch doesn't actually fix the real problem. See the following links for more context information: * https://bugs.call-cc.org/ticket/855 * https://bugs.call-cc.org/ticket/751 * http://lists.nongnu.org/archive/html/chicken-hackers/2012-05/msg00034.html * http://lists.nongnu.org/archive/html/chicken-hackers/2012-05/msg00048.html commit 8dd2cd3ee3a6307aab95b4205c757096dec72336 Author: Mario Domenech Goulart Date: Thu May 24 15:11:16 2012 -0300 path-tests.scm: add a simple test to check if make-pathname barfs when given a list of non-strings commit dd18d957edaccd5301875e6b073a873bae8b15cc Author: Christian Kellermann Date: Thu May 24 19:12:49 2012 +0200 Check all elements of the list for being a string in make-pathname This fixes #855. Signed-off-by: Mario Domenech Goulart commit bd1d0fc65ce824b1f71df9b6e220b98ff4fc6533 Author: Peter Bex Date: Sat May 19 17:46:36 2012 +0200 Do not allow closure compiler to access macros as first-class objects; this is not supported and not useful either. This fixes #852 commit 5fe91ae31df87b46cda0d91ec8bb4892353596ac Author: Mario Domenech Goulart Date: Thu May 17 11:39:01 2012 -0300 When referencing libchicken, take PROGRAM_PREFIX and PROGRAM_SUFFIX into account The build system names libchicken taking PROGRAM_PREFIX and PROGRAM_SUFFIX into account (to assemble INSTALL_LIB_NAME), but the chicken tools don't. `libchicken' is hardcoded in chicken tools and tests. This patch makes cross tools load libchicken according to the name generated by the build system. It also tries to keep tests working on windows, in cases that libchicken has to be copied to the tests dir (this is a bit hacky, since the actual lib name is not known from scripts, so lib*chicken*.dll is copied). This patch doesn't handle the case when TARGET_LIB_NAME is used by csc (i.e., when not in host-mode). TARGET_LIB_NAME is hardcoded to `chicken'. Signed-off-by: Peter Bex commit ee0e0099f29a5db4a4256f69150fd4c4e72b29af Author: Mario Domenech Goulart Date: Thu May 17 09:48:07 2012 -0300 README: fixed reference to documentationt about cross compilation Signed-off-by: Peter Bex commit 897684c785e9c50a7b2a615f2963511c9aba23ef Author: Jim Ursetto Date: Wed May 16 19:47:59 2012 -0500 tcp-connect must close socket on connection timeout [thanks to Jörg Wittenberger] commit eed2d89be9e9710f0ba3d3a0ac492509c0b75c7b Author: felix Date: Wed May 16 09:04:07 2012 +0200 Fix scrutiny type for c-string-list[*] foreign result type (by Peter Bex) commit c80f6fed87b4cccf356b93db2f4cbe019e3b4d8c Author: felix Date: Tue May 15 21:19:37 2012 +0200 Revert "strip import specs as well" This reverts commit 5b69b574504eb4484809c86ee215806953207bda. commit 5b69b574504eb4484809c86ee215806953207bda Author: felix Date: Sat May 12 17:04:34 2012 +0200 strip import specs as well commit 5b79f72624d71d5aff0ec0ffb9f61320452006d4 Author: felix Date: Sat May 12 16:56:21 2012 +0200 just some indentation fix commit d4321905a3afc752e00fc594db3b1d06790a331c Author: felix Date: Sat May 12 16:04:02 2012 +0200 also strip module names commit 0c2c01dd73218ef7463152cb9911ad27fd8b42b3 Author: Peter Bex Date: Sun May 6 21:22:43 2012 +0200 Ensure error messages carry their line numbers correctly inside modules by preventing all syntax from being stripped off of modules commit 1545ee13acba6c47a4dc4a2b0ba36451616d5755 Author: felix Date: Fri May 11 13:32:38 2012 +0200 at least strip module exports commit 77f3c449139a43f8c02f2f38178d3ba5c18ec9ca Author: felix Date: Wed May 9 11:39:52 2012 +0200 added Windows-specific test-result for one numbers-string-conversion case commit c113adeca726e59791848cb23cbcc6372c1941f7 Author: Kon Lovett Date: Fri Apr 27 14:33:51 2012 -0700 manual blob read syntax fix Signed-off-by: Peter Bex commit 6f5f5f8dac7b7f44815a2c6893bfa3f7cb33185f Author: Christian Kellermann Date: Wed Apr 25 17:56:07 2012 +0200 Use binary mode when downloading files Fix for #820 Signed-off-by: felix commit 1d136037b61acbf3503f8680fc576e28800b4145 Author: Christian Kellermann Date: Tue Apr 24 22:17:34 2012 +0200 Do not set other optimising options in -O5 than the optimising level This has been reported as bug #817 by Sven Hartrumpf Signed-off-by: felix commit 52b28d56c9aed4e6d36aaf2b2f314c4c03aafb1b Author: Christian Kellermann Date: Tue Apr 24 22:02:30 2012 +0200 Merge manual changes from the wiki Signed-off-by: felix commit 540aa92e8c77af8a6f94d98c0ff39b36dffa0434 Author: felix Date: Tue Apr 24 12:36:16 2012 +0200 prepend line-number in error message generated by assert only if literal string is given Signed-off-by: Peter Bex commit 8f452b4d663e863ab4d2b605233e51a8db9471a6 Author: felix Date: Tue Apr 24 09:14:46 2012 +0200 applied patch by sjamaan that makes sure smashed lists may still potentially be empty commit 59c58b2416e3c0892948db6e317468c91ceae919 Author: Peter Bex Date: Sat Apr 21 20:18:19 2012 +0200 Always add default core macros to syntax env in internal compiler-syntax so that even when the user doesn't import scheme the macros will expand correctly Signed-off-by: felix commit e4f9b851343be7e8a9acd091c7fcaa96121856de Author: Jim Ursetto Date: Mon Apr 23 23:33:31 2012 -0500 Tiny aesthetic fixes in oddp and arithmetic_shift commit fa911bd5828863a81075dc3527602af1d41c6b11 Author: Peter Bex Date: Sat Apr 7 15:07:46 2012 +0200 Add tests for inf and nan values to even?, odd?, arithmetic-shift, lcm, gcd, quotient, modulo and remainder and fix them. Disallow non-integral values for flonums on lcm, gcd and quotient, modulo and remainder and make them consistent across compiled and interpreted code (R5RS/R7RS compat). Signed-off-by: Jim Ursetto commit 1be37b85437c8e0644964ed6ca7b54a1ecfd29b5 Author: Jim Ursetto Date: Mon Apr 23 12:56:22 2012 -0500 Also use C_memcasecmp for case-insensitive substring comparisons (#808) Signed-off-by: Peter Bex commit e87a7e808903303f71e82a3d069e3fb0ff2ae860 Author: Jim Ursetto Date: Mon Apr 23 11:16:52 2012 -0500 Prevent #!key from occurring twice in DSSSL arg lists; add tests for this and other misc DSSSL syntax Signed-off-by: Peter Bex commit 5da352371df6544073186206fa505b480dfa6499 Author: Peter Bex Date: Sun Apr 22 15:49:45 2012 +0200 Fix #808; use memcmp instead of strncmp for comparing blobs and Scheme strings, and include our own "memcasecmp" to replace strncasecmp Signed-off-by: Jim Ursetto commit f825d98b52599bfd2c6048e23d144d2629a630df Author: Peter Bex Date: Sun Apr 22 13:34:34 2012 +0200 Fix DSSSL key arg handling in the presence of optional and rest args. Reported on IRC by R. Winkler Signed-off-by: Jim Ursetto commit ce3eb589552465c7898271a6515512d65bb09725 Author: felix Date: Sat Apr 21 15:51:38 2012 +0200 when calling a possibly mutating procedure, invalidate list-of/list types by converting them to type pair (fixes #803) Signed-off-by: Peter Bex commit d127450d6e574427a3dccf1531e908135eed2bac Author: Peter Bex Date: Sat Apr 21 00:13:49 2012 +0200 Two types.db fixes: - finite?, exact? and inexact? raise an error on non-numbers. They are not pure predicates and shouldn't be rewritten to "pure" C functions. - The "base" (aka "radix") argument for string->number and number->string can only be a fixnum. Signed-off-by: felix commit 6731ef7a00483dae266ec846c6365e99ecd4229a Author: Peter Bex Date: Fri Apr 20 20:19:00 2012 +0200 Add remaining hashing procedures to list of automatically randomized procedures (pointed out by Jim Ursetto in ticket #818) Signed-off-by: Christian Kellermann commit 82fa87d5bafd10cfe10dfcead40616b8f7653762 Author: Peter Bex Date: Thu Apr 19 09:48:55 2012 +0200 Add test for c948b4baf8a159fa9c033fcd3512dd8fd31c391d (#818) commit c948b4baf8a159fa9c033fcd3512dd8fd31c391d Author: Jim Ursetto Date: Wed Apr 18 18:28:11 2012 -0500 Ensure outside hash functions do not leak into srfi-69 (fixes #818) Signed-off-by: Peter Bex commit 78efcaa0773fc0ab88ceb83b845b3261ae07d9e2 Author: felix Date: Fri Mar 2 12:02:35 2012 +0100 check egg-name in setup-download Signed-off-by: Christian Kellermann commit 0eaead56d58ea77579e891c0c854713579d92bf1 Author: Moritz Heidkamp Date: Sat Apr 14 20:37:06 2012 +0200 Correct the types.db entry for `eval' to allow multiple return values. Signed-off-by: Christian Kellermann commit ddd69e0a8514ba8998ed896535b541b032b4a7a6 Author: felix Date: Tue Apr 10 12:33:23 2012 +0200 Revert "this will never be fully correct" This reverts commit bcb76e2997f8ec631a1a0f081980808d857eec15. commit 05a5cd856bc739a3d7156513fa80ad88ff2e3b97 Author: felix Date: Sat Apr 7 12:18:38 2012 +0200 reduce already simplified types when folding procedure-type set (and don't drop initial) commit 83d51ebce761d724cd44cc126b87c598e630e482 Author: felix Date: Sat Apr 7 11:55:14 2012 +0200 don't log debug-output-for i in generated file, as o is sufficient commit e26fb3a1243401ef68399c0294fdfb3a7bc940b3 Author: felix Date: Sat Apr 7 11:50:59 2012 +0200 show qualified string in variable-name comments commit bcb76e2997f8ec631a1a0f081980808d857eec15 Author: felix Date: Sat Apr 7 11:48:47 2012 +0200 this will never be fully correct commit 0a2b412cf7f1e1b7995f01ce56606a2278fab470 Author: felix Date: Sat Apr 7 11:45:44 2012 +0200 removed obsolete function commit ac89a66094446d354053a5fe084cde0e767c7f6f Author: felix Date: Sat Apr 7 11:45:28 2012 +0200 typo fix in manual commit c75cc04a5e6cf570b83ab4df40834583aa5ed369 Author: Moritz Heidkamp Date: Sun Mar 25 16:43:44 2012 +0200 Use ##core#quote in ##sys#expand-extended-lambda-list Signed-off-by: Christian Kellermann commit d638d9e70ccdfd6344db3e58ce006ff48dcb9452 Author: Jim Ursetto Date: Tue Apr 3 18:00:32 2012 -0500 Remove unused evict-table-size. Signed-off-by: Peter Bex commit 7cc417e02257644b9687c3048bcb93efda26cfe3 Author: Mario Domenech Goulart Date: Thu Apr 5 19:37:12 2012 -0300 README: small typo fix (s/zo/to/) commit cdfa2279e57f036f9aa35aad6d1ceedc7f7b5555 Author: Peter Bex Date: Wed Mar 21 22:16:59 2012 +0100 Only emit warning about not being able to represent exact fractions when the user asked for an exact value and we couldn't deliver (example: #i1/2 should just return 0.5 without warnings) Signed-off-by: Christian Kellermann commit 8e4101dd5e0d9271279ed5786f54cf2b16e4d065 Author: Moritz Heidkamp Date: Sun Mar 25 16:36:27 2012 +0200 give the #805 regression test module a more descriptive name Signed-off-by: Christian Kellermann commit 4d6d906ca1ea573fdf15ecd22c406daae2e12208 Author: Moritz Heidkamp Date: Sun Mar 25 14:24:35 2012 +0200 Add regression tests for fixes introduced in 4706afb4 and bc5cc698 Signed-off-by: Christian Kellermann commit bc5cc698dac6b49ea86448522693eb0c36664ca7 Author: Moritz Heidkamp Date: Sun Mar 25 14:24:19 2012 +0200 Fix hygiene issue in `ensure' Signed-off-by: Christian Kellermann commit 4706afb42ea681d39f2ded7a25033776bcc9c039 Author: Moritz Heidkamp Date: Sun Mar 25 14:24:07 2012 +0200 Fix hygiene issues in `case-lambda' This adresses bug #805 Signed-off-by: Christian Kellermann commit e6671cd00ead26bb01d39930ea557124f439f042 Author: Peter Bex Date: Fri Mar 23 23:06:17 2012 +0100 Add number syntax tests from John Cowan and fix these cases. Furthermore, string->number shouldn't raise errors but return #f if given a number we can't represent. Finally, fix C_i_finitep for nan values and add entries for it to the library tests (without this the numbers test won't succeed) Signed-off-by: Christian Kellermann commit 59425bbbd622d68eb047651c8692c638a69a3af7 Author: Evan Hanson Date: Thu Mar 22 21:45:19 2012 -0500 fix typo in _errno check in ##sys#custom-input-port (Fixes bug introduced in b7995839c0b481280bdeda117eb68bc0e78a40bf. See demonstration at http://paste.call-cc.org/paste?id=31cb941072e331d7dcbba4c67208842acbe27bbd) Signed-off-by: Jim Ursetto commit c1a2206c03c42726e5434b67c3b4a923ed766eca Author: Christian Kellermann Date: Sat Mar 17 19:36:46 2012 +0100 Do not specialise make-vector calls with negative lengths Signed-off-by: Peter Bex commit d8be3dcb2e3df86f9b677cbf5c525dded358d86b Author: Peter Bex Date: Sat Mar 17 20:54:40 2012 +0100 Types database fix: for any x that's not #f, (not x) => #f so for non-booleans we can always just rewrite to #f Signed-off-by: Christian Kellermann commit 6e3300878df5b7c9f47fbfd91f32036a08920e0f Author: felix Date: Sun Mar 4 11:53:54 2012 +0100 options explicitly given to compile-file override default options Signed-off-by: Peter Bex commit 79331514cf46786e12066ad6ef0e0c81a7cb9d7e Author: felix Date: Sat Feb 25 11:46:13 2012 +0100 deprecate 'make' syntax Signed-off-by: Peter Bex commit 94fffe462df319afabb18d40527644919b1ec177 Author: Christian Kellermann Date: Fri Mar 16 11:35:57 2012 +0100 Check for isnan & isinf in C_u_i_fpintegerp Signed-off-by: Peter Bex commit 98491bfc2db8a93579ba6ae95dd1cd879c494102 Author: felix Date: Fri Mar 16 08:48:35 2012 +0100 use correct inline-prefix commit ae91f816d0a3911d71a37e22435f83ade9c77d69 Author: Christian Kellermann Date: Sun Mar 4 11:42:58 2012 +0100 Fix bug #791 and unpack flonums correctly for integer? The patch originally comes from Peter, I have added the tests for it. Maybe there should be more. Signed-off-by: felix commit 0d8e29fe20d21d81329934ed62f6ff777820d8d1 Author: Peter Bex Date: Sun Mar 4 18:32:08 2012 +0100 Don't allow random numbers for hash tables to have all zeroes as lower bits; especially for small hashes this produces values that are more predictable than neccessary. Also hide hash-default-randomization in srfi-69 Signed-off-by: felix commit 8def727da41593977bc7a40cfcb69ebc76a7b258 Author: Peter Bex Date: Sun Mar 4 17:51:47 2012 +0100 Also convert ##sys#make-structure to use and-let* like the vector-ref and list-ref result type special cases Signed-off-by: felix commit 89ca56364924e653fc08bf32e61a12ba74af70ef Author: felix Date: Fri Feb 10 13:45:15 2012 +0100 fixed bug in handling of scrutinizer special cases for vector-ref/list-ref/list-tail when too few arguments where given Signed-off-by: Peter Bex Signed-off-by: felix commit 4a0e63573fa0d9f5d77b6201ac91624201c952dd Author: Peter Bex Date: Sun Mar 11 20:52:01 2012 +0100 Ensure library-tests are compiled to catch specialization errors more easily; fix several of those found this way Signed-off-by: felix commit 1a5f9def31a3e1d5a628b0b80da1b575a15dc1f1 Author: Peter Bex Date: Sun Mar 4 16:31:17 2012 +0100 Update copyright year to 2012 Also normalize copyright string so that next time, the following command can be used to update all files in one go (if you use GNU sed, you can use the -i switch instead of a tempfile): for i in `git grep -Il 'Copyright (c) [0-9-]*, The Chicken Team'`; do sed -r 's/Copyright \(c\) (([0-9]+)-|(2011))(2011)?,/Copyright (c) \2\3-2012,/' "$i" > tmp && mv tmp "$i"; done Signed-off-by: Christian Kellermann commit 05e5fd340ffb04b3b7cdff1880871417e8553dcb Author: Peter Bex Date: Sun Mar 11 20:00:06 2012 +0100 Remove old Changelog files (see historical cvs or svn logs for these) Signed-off-by: Christian Kellermann commit df28a86fc34b45d769e31c46846e66d10162b8ce Author: Peter Bex Date: Sun Mar 4 16:44:07 2012 +0100 Remove outdated and unmaintained Debian subdirectory Signed-off-by: Christian Kellermann commit 5303c411c6d148a8dc40e3e0ecf00422b2babced Author: Peter Bex Date: Thu Mar 8 21:47:12 2012 +0100 Change numbers string conversion test to use a helper procedure to speed it up, and restore compilation (since this might catch possible literal representation errors) Signed-off-by: Christian Kellermann commit 380b6cbe7ae56add43eee9bae73a8c6b677bf097 Author: felix Date: Sat Mar 10 12:55:22 2012 +0100 fix for delete-directory in types.db (thanks to Evan Hanson) commit 3887db2a7434f2a494ca14bacd419c594f66d4e9 Author: Alaric Snell-Pym Date: Sun Nov 20 20:15:58 2011 +0000 Clarified the define-record documentation I hope it's a clarification, at least. I found the original definition a bit terse for my tastes. Signed-off-by: Christian Kellermann commit dc41668ccaf71b37f9a3da908d60863faf85c97f Author: Christian Kellermann Date: Tue Mar 6 12:31:40 2012 +0100 Check assert's msg argument for being a string. Signed-off-by: felix commit 4dc412750bf2862b2377ce7ddf1da3d818440de5 Author: Peter Bex Date: Sun Feb 19 22:39:46 2012 +0100 Don't generate extra LET statements during cps transformation but try to re-use old LET variables as lambda arguments Signed-off-by: felix commit 8e0e40161015b8b8c004d934eb5aabe364f769e0 Author: felix Date: Mon Mar 5 13:11:15 2012 +0100 trivial error message change commit 042b576454edfaf820cddc86bc08ede286d0d820 Author: Christian Kellermann Date: Sun Mar 4 09:33:12 2012 +0100 Make maximal-string-length architecture dependent Rely on the bits set in C_HEADER_SIZE_MASK for the string lenght and do not hard code it to #xffffff. This will enhance buffering etc on 64bit systems. Signed-off-by: Peter Bex commit b8363cb1d0e6144c4f2a048f578929b4eb435b9f Author: Peter Bex Date: Sat Mar 3 18:58:56 2012 +0100 Add line number improvements to NEWS commit 8b95e6e18ba435b6dfa7d195f3bd55ee354b795d Author: felix Date: Mon Feb 27 10:24:22 2012 +0100 Line-number tracking enhancements. Squashed commit of the following: commit 5bab46186c52d3983d97eeebb804f69015d0a4ff Author: felix Date: Fri Jan 27 09:13:03 2012 +0100 use line-number info in debug-messages for inlining commit 99f7cc9b482d9130824ecb1b6b5b32a5fb96e366 Author: felix Date: Tue Jan 24 12:13:35 2012 +0100 use line-number info of outer-expression if no other is available; updated expected scrutinizer output commit bf40b1fb70acc2c4d7893209ea2711689773fb34 Author: felix Date: Tue Jan 24 12:12:59 2012 +0100 use the same output-format for line-numbers in scrutinizer-messages as used in other places commit e0e3409a889ea40e775044fa77f6b21e20699dda Author: felix Date: Tue Jan 24 11:57:40 2012 +0100 update ln-db for intermediate calls to ##sys#expand in canonicalization pass of compiler; use available ln-information when canonicalizing ##core#typecase commit 34ced5125133b074dc5b5bc2ba57802a964a436c Author: felix Date: Tue Jan 24 08:26:56 2012 +0100 failure-message for compiler-typecase shows line-number if available Signed-off-by: Peter Bex commit b5919a37ae9abf2d8f384c43f737096a566f7d74 Author: Peter Bex Date: Wed Feb 29 21:47:17 2012 +0100 Update NEWS with random procedure update Signed-off-by: felix commit 140d713a53416e487da0548129f7d6b8f7064097 Author: Peter Bex Date: Wed Feb 29 20:50:52 2012 +0100 Fix cast in C_random_fixnum so it doesn't cause overflow and truncation on amd64 for large arguments like most-positive-fixnum (as used in hash-tables) Signed-off-by: felix commit b7f7e36837a324fb5b077da91ca26dc38cad45b2 Merge: a886c4e8 61f2799f Author: felix Date: Wed Feb 29 15:33:03 2012 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit a886c4e84afe3c9221e343ec18b50912a4c66ad5 Author: felix Date: Wed Feb 29 15:32:57 2012 +0100 compile-file-options was missing from import library commit 61f2799f6c42006eeb52d34fe874a370c440a310 Author: Peter Bex Date: Mon Feb 13 22:24:19 2012 +0100 Convert flat lambda literals list into hash table to improve code generation performance Signed-off-by: felix commit 56ad8c3845f67548ccf1675c15c7e0941381663d Author: felix Date: Mon Feb 27 09:59:05 2012 +0100 add aliases for old C-level SRFI-4 accessors to keep bootstrap working (suggested by sjamaan) commit 6bb536cba85f866e684da1056ad475c405c595d0 Author: felix Date: Wed Jan 11 14:47:12 2012 +0100 use correct naming for unsafe allocating XXXvector accessors that allocate; also fixed bug in f64vector getter commit 92a5123b4c6999cfb132f8375f98776da6b743a8 Author: felix Date: Sat Feb 25 13:02:21 2012 +0100 types.db fix for mutex-state by Joerg Wittenberger commit 21d8722402a685122b1efec935220a2de685bf57 Merge: 16bcce2a 3c70f5bf Author: felix Date: Sat Feb 25 12:14:57 2012 +0100 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit 16bcce2a5b9578663d5663275a47c804ebf0fbb9 Author: Peter Bex Date: Thu Feb 2 21:27:28 2012 +0100 When preparing for compilations, don't keep re-appending the literals list each time a new literal is added, but keep a counter and traverse the list only once to reverse it, at the end. Also simplify by removing special handling for flonums and add a note about the counter-intuitive definition of the immediate? predicate. Signed-off-by: felix commit fd00f95fb1c586eb9dcb639b688854564fa9a44b Author: Peter Bex Date: Fri Feb 3 20:05:19 2012 +0100 Similar to 1b6c8f6797ec4a142074c7408aada9d44d2e1674, append only to the front of environments during preparation to avoid exponential complexity Signed-off-by: felix commit a0b8cc9a654357119ba89d9cc566c41debcda6ec Author: Peter Bex Date: Sun Feb 19 21:42:34 2012 +0100 Use a hand-rolled loop in WALK-GENERIC; this saves us having to traverse the list a second time in the slow EVERY function and a recursive MAP that checks its arguments all the time. It's called a lot of times with small lists, so this adds up Signed-off-by: felix commit 3c70f5bf9e09db6d2f28fa2cd759df95cd8b60da Author: felix Date: Fri Feb 24 10:50:32 2012 +0100 removed obsolete (and incorrect) MSVC-specific code commit bb36b1d1516b485d7ae522e39fdf9b56e7a70d4f Author: felix Date: Fri Jan 13 18:47:48 2012 +0100 Ensure character is extended to full word-length. This doesn't make much of a difference semantically, but avoids a warning with valgrind(1) on 64-bit platforms: gcc stores a character argument using a 32-bit "mov" instruction into the stackframe, keeping the upper half uninitialized. The argument value of "C_make_character" is cast to "C_uword", which was once suggested by Joerg Wittenberger and Alan Post to ensure that the default sign of characters (which may be different, depending on the compiler and platform) does not influence any character operations. Signed-off-by: Peter Bex commit 91f78aaf7ed1a9975eb93663b4a8cb44ccc10c0b Author: felix Date: Tue Feb 14 13:15:28 2012 +0100 possible fix for flow-analysis bug reported by JW: assignment now also destructively modifies blist entries for all sub- (outer) flows Signed-off-by: Peter Bex commit 44c2f63e04e1bca094f05f236e741c57071c844e Author: Jim Ursetto Date: Fri Jan 13 00:00:22 2012 -0600 Use C_stack_pointer instead of C_alloc(0) when generating foreign callback stubs alloca(0) returns NULL in LLVM instead of returning the stack pointer, so generate a call to C_stack_pointer instead. This is only necessary when adjusting the callback stack, as all other calls to C_alloc are omitted when their size is 0. commit 1127692f8ab51b07df99ea8b2024c6062ac2bdbb Author: Jim Ursetto Date: Thu Jan 12 18:20:53 2012 -0600 Make C_stack_pointer work with LLVM backend When using LLVM, allocating zero bytes on the stack is legal but is documented to return an undefined value. In practice, this is NULL if optimization is enabled, or alloca(1) if not. Work around this by using alloca(1) to get the stack pointer or, in supported environments, using inline asm. alloca(1) may waste a machine word, but does not always; also, llvm uses the stack more efficiently, so the effects tend to even out. commit 1b60ad2e7a1ba2065421b1173aab3f3270601ed4 Author: Jim Ursetto Date: Wed Feb 15 22:45:37 2012 -0600 Update README notes on LLVM hang and ARCH for OS X 10.7. commit 4ce70e56c9f8ed5682d8fec5571a74bb229e9f26 Merge: 49293945 df62dbb9 Author: felix Date: Sun Feb 12 14:40:36 2012 +0100 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit 49293945bc7f1864e19bb3b8607bcaf6fdd82692 Author: Peter Bex Date: Sat Feb 11 18:19:04 2012 +0100 Use previous run's identifier database size as a heuristic for next run's database size to avoid too many hash collisions for large programs Signed-off-by: felix commit df62dbb9299ad67ee9ae8e4810a00701aaf3742e Author: Peter Bex Date: Sat Feb 11 18:19:04 2012 +0100 Use previous run's identifier database size as a heuristic for next run's database size to avoid too many hash collisions for large programs commit cdd6492a44cb051ffc3f0d4398baedf2f5ecd2a3 Author: felix Date: Sat Feb 11 15:49:31 2012 +0100 another typo commit aae34f1a0a18ff518c3b7a958f15ba98162715e7 Author: Mario Domenech Goulart Date: Tue Feb 7 17:12:59 2012 -0200 NEWS typo fix (s/und/and/) commit 889b7000401cdc37ad919a578e7caee9928a092f Author: felix Date: Tue Feb 7 08:23:38 2012 +0100 merged some changes from the wiki to the manual commit 0f13f6a25d18329a9f44231ec484d85c7d88e070 Author: Peter Bex Date: Sun Feb 5 22:54:34 2012 +0100 While optimizing, don't traverse the same chain of replacable variables multiple times; update all variables encountered during traversal with the endpoint. Signed-off-by: felix commit 505ce3154b3315616b2e989e7ed951fb9869a8a3 Author: Moritz Heidkamp Date: Sun Feb 5 20:37:02 2012 +0100 register `module-environments' feature to indicate availability of the `module-environment' function Signed-off-by: felix commit 9e3c9c35f8fbe7f425129cb241385e2dcf97287b Author: felix Date: Mon Feb 6 09:17:54 2012 +0100 forgot to update manual commit edea9d61d6019ac826cf9195ab6c587f524f56dd Author: felix Date: Mon Feb 6 09:16:25 2012 +0100 deprecated -v/-V for -version which is consistent across all core tools commit 5518972124edfaa1fba34a76eaf9905b6c708bb0 Author: felix Date: Sat Feb 4 14:59:34 2012 +0100 bumped version to 4.7.5 commit ad149e79434c2bfb267093cc8a1f8d73b39bbab5 Author: felix Date: Sat Feb 4 13:47:16 2012 +0100 updated NEWS commit 60f08f41a5b3976a456b5d7e0bfd829d3fb28949 Author: felix Date: Thu Feb 2 12:05:25 2012 +0100 get-condition-property: pass default argument correctly commit 5ddfa715e50a6bf9c117d7c3bbd17298a6d8061a Author: Peter Bex Date: Wed Feb 1 21:03:29 2012 +0100 Fix SRFI-69 bug which occurs when string-hash is used as a user-provided procedure Introduced by a85865154b4f8129f816722eef49fabb8ae8acc1 (hash table "backwards compatibility" fix after the randomization was added) Reported by Christian Kellermann commit c1d86c261da456189a7280a26fc0bfde4e4d6fe8 Author: Peter Bex Date: Sun Jan 29 15:23:15 2012 +0100 In the analysis phase, keep around a copy of localenv appended to env. This ensures that deeply nested let forms don't cause exponential behaviour in (append localenv env) calls for large localenvs Signed-off-by: felix commit 4ca0f7dbd29b1e38edd09dd61d94f5df40a12c70 Author: felix Date: Fri Jan 20 09:20:49 2012 +0100 Squashed commit of the following: commit a5c646137f73e31aa92bc576eea9dae02397550f Author: felix Date: Fri Jan 20 09:20:07 2012 +0100 disabled debug output for scrutinizer commit d605271870a12f49e9e3d3e951c52388e0e44bea Author: felix Date: Fri Dec 30 13:01:59 2011 +0100 updated expected output for 2nd scrutiny test commit 059738feaa75789ccbf0b172753a636ccee42178 Author: felix Date: Wed Dec 21 23:16:50 2011 +0100 FA: invalidate blist entries only for captured variables; canonicalize pair/list types prior to matching with list-of type; pounding on matching to not make it too strict or too loose Signed-off-by: Peter Bex commit 8f19d852ce9f08fd3a14e616948cef5a41dbfb06 Author: Peter Bex Date: Mon Jan 23 18:39:34 2012 +0100 Limit depth for procedure nesting reports to ensure linear scaling of compilation times on input file size. Signed-off-by: Christian Kellermann commit 8324031c8e3c5ef89928a2e3f0c62a7c5523efee Author: felix Date: Fri Dec 30 12:40:12 2011 +0100 inline calls to variables known to be bound to intrinsic Signed-off-by: Christian Kellermann commit 74005ce1fa9c95fe7998744b2e2f514cf42af80a Author: Peter Bex Date: Sat Jan 21 20:19:00 2012 +0100 Improve performance by not using sprintf to build continuation nesting description in real-name commit fb814d66b47d570a4a34cab60941b26f6e07f944 Author: Peter Bex Date: Sat Jan 21 20:18:01 2012 +0100 Add option to enable profiling more easily for specific compilation objects commit 3f44e143f9c08376ee5537a248b4ad4bbae5213f Author: felix Date: Mon Jan 2 12:17:16 2012 +0100 don't assume type of global variable if declaring as not inline commit 284233d46d63a948f1bf5dbf626e39df7ca3fe96 Author: felix Date: Fri Dec 30 16:06:21 2011 +0100 small types.db fix for close-output-pipe commit bd3a68b105f20f0643d2f5d10c53409a82ae0ef2 Author: felix Date: Fri Dec 30 12:39:56 2011 +0100 -debug e shows specializations, sorted output of -debug h commit 7a1e07a263aed861bc0ee24f810e36eb8bc49814 Author: felix Date: Fri Jan 20 08:50:25 2012 +0100 actually remove unboxing file commit d0418ed239ea61683d525a9f5d1b6aabb4af3c6d Author: felix Date: Thu Jan 19 11:56:51 2012 +0100 read-all should use binary mode to avoid ^Z at end of data on Windows commit 5c38ea4e8297d836c5fc48445e74d9a2b91b093d Author: felix Date: Fri Jan 13 19:09:17 2012 +0100 allow -unboxing option but emit warning that it is obsolete commit 4a0c07d821cac1fc31d44b5354168542008a2833 Author: felix Date: Wed Dec 21 09:03:53 2011 +0100 removed unboxing completely commit 1e08c8833e2e452352d99f19b6be5dc26d41b4dd Merge: a60f86dc b60f0ae5 Author: felix Date: Tue Jan 17 11:22:11 2012 +0100 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit b60f0ae50a1175ab054be92a4e19cc6bbe1a5de2 Author: felix Date: Thu Jan 5 09:34:06 2012 +0100 Added win32-specific keyboard-interrupt handling in read/peek char routines in C runtime system According to information found here: http://mail.python.org/pipermail/python-bugs-list/2002-July/012579.html Without this patch SIGINT will result in the input routine returning EOF which makes csi exit. Signed-off-by: Jim Ursetto commit 3ac5bf73c0bec0c5f230ac685e4a17d69a7ea382 Author: Jim Ursetto Date: Mon Jan 16 00:02:09 2012 -0600 Use flexible array member in C99 mode; silences clang array bounds warnings [#778] Signed-off-by: Christian Kellermann commit a60f86dcfb4368bd0756cbc5f8230ccd44aa4378 Merge: 4685d89b a471d956 Author: felix Date: Fri Jan 13 19:01:58 2012 +0100 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit 4685d89bbbb153353be2175387cd74204fc246ec Author: Jim Ursetto Date: Thu Jan 12 01:05:01 2012 -0600 Ensure we C_alloc enough stack space in C_string_to_symbol. Fixes a crash when built with LLVM. Plain gcc tends to round up. Signed-off-by: felix commit a471d9567c197565838257e278443fc231c267c1 Author: Jim Ursetto Date: Thu Jan 12 23:06:35 2012 -0600 Fix stack alloc size in C_callback Signed-off-by: Christian Kellermann commit 38ca6fd52b7d54c9c2de1698bb984bf7fe3f673f Author: Jim Ursetto Date: Thu Jan 12 01:05:01 2012 -0600 Ensure we C_alloc enough stack space in C_string_to_symbol. Fixes a crash when built with LLVM. Plain gcc tends to round up. Signed-off-by: Christian Kellermann commit 6d8290e3a8e2fc31dee901234cc7376e3ff3f528 Author: felix Date: Wed Jan 11 11:39:21 2012 +0100 escape single-char symbol if it is a special character (fixes #772) commit 226ad16a07730fe718611c15eff22def4bf41666 Author: felix Date: Wed Jan 11 10:52:39 2012 +0100 removed unused variable commit 313f435d60a9c544883af4db43daf0a46233520d Author: felix Date: Mon Jan 9 18:17:39 2012 +0100 removed entry for hash-table-randomization from types.db commit a85865154b4f8129f816722eef49fabb8ae8acc1 Author: felix Date: Mon Jan 9 17:35:21 2012 +0100 applied hash-table compatibility patch by sjamaan commit 8e39bafd0382385f77104ff271c921f65705bb78 Author: Peter Bex Date: Thu Jan 5 18:30:27 2012 +0100 Fix typo in NEWS file which I had already fixed before but @#$&^%*(@#$ git didn't take up. FUCK YOU GIT, FUCK YOU AND YOUR RETARDED STAGING AREA CONCEPT commit 724270c4f22c3cbaa35a379a5b86d1b961bcaa78 Author: felix Date: Thu Jan 5 12:16:45 2012 +0100 added missing entry for hash-table-randomization to srif-69.import.scm. commit cbd78f16cf935f8f084ae29c3ac5c60ffcbfc1a5 Author: felix Date: Tue Jan 3 09:14:25 2012 +0100 print chars outside of ASCII range as #\x... not #\u... commit 2d722205ee1d827d1555761df72f330519c6c1c5 Author: Peter Bex Date: Wed Jan 4 21:17:47 2012 +0100 Provide protection against algorithmic complexity attacks on hash tables: - Replace predictable hashing function with a simple shift-xor-and hash, which has better key distribution for shared suffix strings. - Perturb input with a different random number per process for low-level hash tables and symbol tables, and a different nubmer per hash table for SRFI-69 tables. - In order to make it easier to change the string hashing function in the future, put the algorithm in one place for all three of SRFI-69, low-level and symbol table hashing. Because the random number needs to be used as the seed for the hash in order to properly perturb the input, the C interface must be changed, deprecating C_string_hash[_ci]. Signed-off-by: felix commit 53398cc5fe35b317215aeb43ab5ae8640ad1a569 Merge: 96286a7a 649c2514 Author: Peter Bex Date: Wed Jan 4 20:51:51 2012 +0100 Merge branch 'master' into sjamaan-pending Conflicts: runtime.c commit 649c2514d07643f3c13a5eba80ace6d4c843dede Merge: e7ebc848 f9c5c694 Author: felix Date: Wed Dec 21 21:21:56 2011 +0100 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit f9c5c6945c1f1af26f585f1151c8f2711dfc8e13 Author: felix Date: Wed Dec 21 11:50:34 2011 +0100 handle invalid type in 'the' form; fix bug in pair-type validation commit e7ebc8481fdaa990f865eb4b9d9973ea29809b5d Author: felix Date: Tue Dec 20 08:01:46 2011 +0100 trivial comment change commit 5ae71ecd963948d0d1c9eeea5c47c32ecaac963a Author: Jim Ursetto Date: Mon Dec 19 15:53:13 2011 -0600 Ensure current-{input,output}-port are properly restored on exception. Modify with-input-from-{file,pipe} and with-output-to-{file,pipe} to use fluid-let on ##sys#standard-{input,output} to ensure they are restored after an exception. The ports were restored only if the exception bubbled up to the REPL; if intercepted prior to that, the REPL would then read further commands from (or write output to) that file or pipe. Signed-off-by: felix commit 2d2b889ae3c16f3cc33e4277d7066723ab02f113 Author: felix Date: Tue Dec 20 07:14:04 2011 +0100 showing the branchname in prerelease is ok, I guess commit 16148057c63002c7532a5a7ec610755359cea282 Author: felix Date: Mon Dec 19 13:29:15 2011 +0100 no branchname in banner if [pre]release branch commit f335156a069b4be8c3ec90c1c3f5bddb076f2759 Author: felix Date: Thu Dec 15 08:19:38 2011 +0100 scrutiny: add special cases for result types of list-ref/list-tail Signed-off-by: Peter Bex commit bbc59afd386c6feb44c7af5aab3bbec63871a722 Merge: 9dc839e4 cb10d7c6 Author: felix Date: Sun Dec 18 13:55:03 2011 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit cb10d7c6237dacb7d5dbfcc5549e93762d8945ca Author: felix Date: Thu Dec 15 15:15:48 2011 +0100 typo fix in manual commit 9846f125cc4252dabe812c611b873084fa708a13 Author: felix Date: Thu Dec 15 12:34:00 2011 +0100 unboxing is completely borked - disable for -O3 and below commit be1963374922e42024433f516f15d394a0b2e2f9 Author: felix Date: Thu Dec 15 11:15:53 2011 +0100 fprintf wasn't internally registered as extended binding commit 6044790def02eb63957c989795e6b1b9ebc76920 Author: felix Date: Thu Dec 15 11:15:33 2011 +0100 disabled specialization for write-byte that could cause output to a closed port commit 1948e0047cc8fc908ecbd0c7de46812f8844c1a9 Author: felix Date: Thu Dec 15 07:46:42 2011 +0100 removed obsolete comment commit 460733d099809f04a98b392640e65930629af9ab Author: felix Date: Mon Dec 12 12:19:57 2011 +0100 use C-style comment in embedded C code inside locative-stress-test.scm commit 9dc839e4acadb20e8d6fb24fdf02cd737e38c5aa Author: felix Date: Sun Dec 11 17:02:01 2011 +0100 escaped symbol -d0 that is (incorrectly) parsed as a number on irix because strtod seems to accept it as legal number syntax (found by andy) commit f8d11e4ef58f5524f097f740a2543a7a1e597f0e Merge: 61ee5587 dc920741 Author: felix Date: Sun Dec 11 14:51:22 2011 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 61ee5587f59a5ae7b56dbee2ef6ca7580dff12f9 Author: Mario Domenech Goulart Date: Sun Dec 11 11:04:26 2011 -0200 Copy cygchicken-0.dll to tests dir (runtests.sh) and remove *.dll on testclean target (rules.make). Fixes #690. commit dc920741dc7979a91bf62abd8601a76f7d6ae16f Author: Mario Domenech Goulart Date: Sun Dec 11 10:12:42 2011 -0200 add -show-depends to NEWS commit b391e0370b3d8d94a63a6e7d2c96626af7c868dc Author: felix Date: Sun Dec 11 12:59:14 2011 +0100 changed wording of deprecation-note for old signature of find-files commit f7cdd74099210fd262a20b9f4d78896948c8abfb Author: felix Date: Sun Dec 11 12:46:22 2011 +0100 types.db fix (kindly contributed by moritz) commit 087110e54a107e9db378f0bf3193a6e403ad7c3f Author: felix Date: Sun Dec 11 12:43:59 2011 +0100 last touch on NEWS commit ee9ccb8dbdce5dae2e11f88d17322fc23a0f87f1 Author: felix Date: Sat Dec 10 22:24:57 2011 +0100 typo fix in Types manual chapter commit d0b3cceb40d0653e567b25b78b7d8b90eebc231b Author: Peter Bex Date: Fri Dec 9 10:48:49 2011 +0100 Apply upstream changesets ba70feace1dd and 78ba6b09e021 This fixes an infinite loop problem with irregex-fold when empty matches are found (reported by Manuel Serrano) and adds some extra tests for complemented UTF-8 character sets. Signed-off-by: felix commit fe846d82e57270d229ff5fa00f065ea648143763 Author: felix Date: Sat Dec 10 11:53:17 2011 +0100 trivial error fix for module-environment (spotted by moritz) commit 4ebabf80db35ce23ce99fd72caa8e0dc7f112609 Author: Evan Hanson Date: Wed Dec 7 18:03:46 2011 -0600 -show-depends flag for chicken-install This option fetches and displays egg dependencies, to accompany -show-foreign-depends. Signed-off-by: Christian Kellermann Signed-off-by: Moritz Heidkamp commit f3708222bc9cae4682ef00028f0549ff1df8ec5a Author: Mario Domenech Goulart Date: Thu Dec 8 15:25:30 2011 -0200 `subvector' was actually introduced in 4.7.3 commit fdf3caf364055b4147d1cacc62d2ad6598998267 Author: Mario Domenech Goulart Date: Thu Dec 8 15:16:59 2011 -0200 Note to the manual about the chicken version that introduces `subvector' commit 12e2c4ff8666331c644bf8b4e5e6889ba78af02f Author: felix Date: Wed Dec 7 11:13:27 2011 +0100 more NEWS updates commit 74c8404dc142e4367a050aa06f5ab34fd159666e Author: felix Date: Wed Dec 7 09:14:44 2011 +0100 use ICONEXCLAMATION on win32 in ##sys#message commit 13498e8ea90c0677b824d93c487683d805da49a4 Merge: ded31c27 25721b96 Author: felix Date: Fri Dec 2 11:46:08 2011 +0100 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit ded31c27df2076e1014f8ee52cecf9f4323e79cb Author: felix Date: Fri Dec 2 11:45:42 2011 +0100 don't exit process in gui mode when ##sys#message is called (probably copy+paste error) commit 25721b9679fcf18f153bd2eaaeb3efe7f81b8543 Author: Christian Kellermann Date: Thu Dec 1 17:18:21 2011 +0100 Update help text and manual to mention proxy_auth commit a83afc74d1471843c010faf5ec7e83c8da05172b Author: Christian Kellermann Date: Thu Dec 1 17:13:00 2011 +0100 Add note about http_proxy usage to chicken-install -h commit 10d6c84dbc121856185701d7a3c266ecb8242bf0 Author: felix Date: Thu Dec 1 14:45:03 2011 +0100 updated NEWS commit 231acab228150177adcb980b0db9e80ff4e9eddd Author: felix Date: Wed Nov 30 13:54:00 2011 +0100 tiny change for inlining car commit c0d913de1a31f8aec86138927815a8bf36af598a Author: felix Date: Sat Nov 26 22:00:48 2011 +0100 disable warning for binding keywords - matchable uses this Signed-off-by: Christian Kellermann commit 848afe8c440b3f487b88e10ae691020989f19fd4 Author: felix Date: Tue Nov 29 08:07:23 2011 +0100 removed some obsolete scripts Signed-off-by: Christian Kellermann commit b7995839c0b481280bdeda117eb68bc0e78a40bf Author: felix Date: Thu Oct 27 12:08:23 2011 +0200 Overhaul interrupt handling: - EINTR handling for all read-operations from tcp, file and process streams - signals are queued (up to a certain limit, with the usual restrictions given by UNIX) - added silly test-file - csi installs SIGINT handler directly (independent of the posix unit) - added setter for "signal-handler" - moved some more code into "posix-common" Squashed commit of the following (merges and fix commits omitted -- ck): fixed incorrect option when compiling signal-test.scm EINTR handling for process-I/O and read-line/read-string from FP disable failing numbers/string-conv test for windows added background threads to signal-test - moved low-level signal handling into library - establish SIGINT handler in csi (posix not needed) - added internal exn category #:memory-error (unused in the moment - this was intended for SIGSEGV handling, but ... not sure) - added setter for "signal-handler" - added note to manual about order of handling when signal-overrun occurs - "signal-handler" and setter moved to "posix-common.scm" - gave label in C_reclaim a more meaningful name - C_raise_interrupt drops interrupts if pending stack is full - C_i_pending_interrupts ignores timer interrupts - EINTR handling for tcp accept/connect - signal-tests fixes stack signals that arrive during handling; explicit EINTR handling in stream and tcp ports (Note: what about accept/connect?) do windows test in test-file, not in runtests.sh; added signal tests learning about EINTR - how could this ever have worked? use sigaction(3) instead of signal(3) where available. Patch by Alan Post, problem originally spotted by Joerg Wittenberger Signed-off-by: Christian Kellermann commit ced8b0718f371b85b8b8fa22e38b6d48d6ec4d41 Author: felix Date: Tue Nov 29 07:51:53 2011 +0100 trivial changes (comments, generated code header) commit e1a54378d3481147f38519a9b14285ba84c7864e Author: felix Date: Mon Nov 14 14:30:36 2011 +0100 when conditional branches differ in the number of results, do not merge the results Instead treat the expression as returning an undetermined number of unknown results. Bugfix for #680 Signed-off-by: Christian Kellermann commit bae7d92d9d1d17330b43fba4e278159c7d0d7fc1 Author: felix Date: Sat Oct 15 23:41:38 2011 +0200 clustering optimization added Signed-off-by: Christian Kellermann commit b1907c5ab8b42afb781685f02adba2dcd4f11d5f Author: felix Date: Thu Nov 10 11:11:36 2011 +0100 use different default stack-sizes on 32/64 bit platforms stack-resizing should not be done in compiled files by default, also deprecate -heap-initial-size, -heap-growth and -heap-shirnkage options Signed-off-by: Christian Kellermann commit 986bd3f229914c9fe7159cc1f71734ceb1f6766f Author: felix Date: Thu Nov 10 11:14:00 2011 +0100 disable apply-hack on sparc64 The assembly stub used in apply-hack.sparc64.S appears to generate random crashes. Signed-off-by: Christian Kellermann commit 28a36bf408f21725e0bf5b5773cc2fe877dbf3d2 Author: Mario Domenech Goulart Date: Fri Nov 11 09:59:26 2011 -0200 Remove scripts/make-egg-rss-feed.scm (imported into the chicken-infrastructure repo) commit fbeffd1061eab51191c42e422afc2d2e476a8c80 Author: Mario Domenech Goulart Date: Fri Nov 11 09:58:42 2011 -0200 scripts/tools.scm: needs regex for `string-match' commit 1fca9c6e7803020be84107c29aa611763b39f96e Author: felix Date: Thu Nov 10 11:07:24 2011 +0100 use equal? in case MSYSTEM is not defined (makedist.scm) commit 42a826354eda16b7d02f0481c78c0449ae3c39e7 Author: felix Date: Mon Nov 7 13:25:34 2011 +0100 don't remove build-info files on make confclean or it is not possible to build from a tarball without preinstalled chicken Signed-off-by: Christian Kellermann commit 3bb96457ec91a91895c5ecffbdea4c9c124c02f2 Author: felix Date: Thu Oct 27 10:34:28 2011 +0200 write debugging output for optimizations into generated source file - changed debug-mode flag for scrutiny from 'x to 'o - slightly extended compiler-debugging-output mechanism Signed-off-by: Christian Kellermann commit e7fe2fb5725be459a20fe4d703a8e3367d885e6a Author: felix Date: Mon Oct 31 09:03:22 2011 +0100 allow procedure in operator-position of evaluated list (#705, suggested by John Cowan) Signed-off-by: Christian Kellermann commit e2fb31c4e4fb9a1ad44065494476ebde289b164e Author: felix Date: Sun Nov 6 10:26:18 2011 +0100 fix subtype check for fixed-size list/vector types in scrutinizer Signed-off-by: Christian Kellermann commit fd018dfd63f16cba2c5762bf76f5e614e2f3f956 Author: felix Date: Thu Nov 3 14:06:07 2011 +0100 strip std-envs of non-std identifiers, ignore ##sys#macro-environment when evaluating with an explicit environment Signed-off-by: Christian Kellermann commit fe8f63cb2480870aaf55243c9356c8a3df1d14bb Author: felix Date: Wed Nov 2 14:42:50 2011 +0100 minor change in port-tests.scm to handle case when HOME is not defined (Windows) commit 723a4694ce3fd0dac732207ff612a5511497e7a0 Author: felix Date: Tue Nov 1 12:42:06 2011 +0100 cut of union types above a certain length Signed-off-by: Mario Domenech Goulart commit 919a7c7c4e5a89f3c3b940ef85b5b2bd3a289997 Author: felix Date: Mon Oct 31 08:56:36 2011 +0100 fixes in build + Windows test script, added note to README (thanks to mario) commit ddb96f9b4b6ebfe90dcb3b5a4605500b4c67a898 Author: felix Date: Thu Oct 27 09:36:35 2011 +0200 Also added runtests.bat to manifest. Squashed commit of the following: commit 1ea3769a55398b0f8392e8b81a04afee5d9292da Author: felix Date: Thu Oct 27 09:35:18 2011 +0200 completed runtests.bat commit bdb6fdf35358ab0964ccc5af5a77d8d70612f9c6 Author: felix Date: Wed Oct 26 11:10:17 2011 +0200 started runtests.bat, disable arithmetic test on Windows commit 0df9bb8079184682a677a07eeb3eb136c5804fbf Author: felix Date: Fri Oct 28 14:55:27 2011 +0200 another trivial fix for making boot-chicken work on cmd.exe commit cea668f3c767ce7f9e1eb3dd87f95fe995f7fc86 Author: felix Date: Fri Oct 28 14:42:26 2011 +0200 trivial Windows-related corrections in rules.make, found by Mario - not yet working, though commit 1bc311d98b51aad1de2a0fce598266c25294c050 Author: felix Date: Fri Oct 28 09:14:42 2011 +0200 undocumented scrutinize declaration (obsolete), reported by ckeen commit 10494f6bdc87c105b60fa33f011c3083af6149be Author: felix Date: Thu Oct 27 11:16:16 2011 +0200 fixed stupid paren-matching error commit f9a6702c0c18c8d2b58286ada4f4c0b9cf4802a3 Author: felix Date: Sat Oct 15 23:44:14 2011 +0200 disable debug output in scrutinizer commit 2483f8d05c28e70f0e7f728764fe093f21e8394e Author: felix Date: Mon Oct 24 11:11:48 2011 +0200 check not necessary for lambda and warn if using keyword as variable in binding form Signed-off-by: Christian Kellermann commit aa6b2bbd68cc33d6c2699ecc9d563830db435caa Author: felix Date: Tue Oct 25 13:26:28 2011 +0200 cleaning up uninitialized variables in C_reclaim, add debug output to C_mutate on m-stack resize, grow m-stack at higher rate Signed-off-by: Christian Kellermann commit 1e04156d9cc20643efc8a130a828178c4caf51d9 Author: felix Date: Tue Oct 25 13:06:47 2011 +0200 use write-string port-class method Signed-off-by: Christian Kellermann commit 59cdaaf52baeee56332190ed2ca2cd78babe89db Author: felix Date: Tue Oct 25 12:55:13 2011 +0200 remove obsolete C_h_... allocation functions (pointed out by Joerg Wittenberger) Signed-off-by: Christian Kellermann commit 159611d58b949fa4763aa9c2cbb27dfed931d074 Author: felix Date: Fri Oct 21 02:52:53 2011 +0200 handle macro-aliases when resolving declared identifier, making sure things are done right inside modules. Signed-off-by: Peter Bex commit 0cc88a4f77cc2eaab2c0f16939caec5d9d10dea6 Author: felix Date: Fri Oct 21 13:30:36 2011 +0200 removed obsolete file commit 1f56f3ad6bf20ea910d85bed45b4d6c304973dc5 Author: felix Date: Thu Oct 13 10:47:23 2011 +0200 ##core#type makes subtype-check optional; quit compile when type-mismatches in strict mode Signed-off-by: Christian Kellermann commit b60fd39cc450d22974090654143a71f1df413786 Merge: a91d8189 f84051ca Author: felix Date: Fri Oct 14 13:17:53 2011 +0200 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit a91d818921235fbe965a2f9dc2ea970ba45d4378 Author: Christian Kellermann Date: Thu Oct 13 21:28:53 2011 +0200 Remove check_alignment macro This has been put in for debugging purposes and PARANOIA. (Enabled when the PARANOIA define is set). We do not need it and it can be resurrected if the need arises again. Signed-off-by: felix commit d7f8a386200961d1a5f94e7eac62485a9ccd4f02 Author: Christian Kellermann Date: Thu Oct 13 21:57:22 2011 +0200 Prefix include path correctly when CHICKEN_PREFIX is set. This fixes bug #712 as reported by Sven Hartrumpf. Signed-off-by: felix commit f84051ca4b85b7a8ab7bfc6ec68efa2219c02a9a Author: felix Date: Fri Oct 14 09:43:13 2011 +0200 moved some posix functions into posix-common, corrected entry for process-wait in types.db Signed-off-by: Christian Kellermann commit be44f53283970f3a90f13d266d8567291132b2d2 Author: felix Date: Fri Oct 14 09:43:13 2011 +0200 moved some posix functions into posix-common, corrected entry for process-wait in types.db commit 0a76d4b047016f204fc6f81630d49b65c1fb83bd Author: felix Date: Wed Oct 12 10:24:38 2011 +0200 EOVERFLOW doesn't seem to be there, here in this mingw version Signed-off-by: Christian Kellermann commit 17b58b84095e67c36e06dd38b102c0a683484dce Author: felix Date: Wed Oct 12 10:02:41 2011 +0200 run numbers-string-conversion-test in interpreted mode, since it only tests library functionality and takes very long to compile Signed-off-by: Peter Bex commit c43f479c4b9b44964e7ac7f7da4d83e524dc42d9 Author: felix Date: Wed Oct 12 10:25:30 2011 +0200 when using -force chicken-install must handle 'chicken'-dependency correctly Signed-off-by: Christian Kellermann commit d529d8b061919965f4cd1395acab30b18a771635 Author: felix Date: Wed Oct 12 12:41:11 2011 +0200 add Windows-specific case in numbers-string-conversion-test.scm Signed-off-by: Peter Bex commit 1ec74707a74ffde0de9abcfff11d46bf1c7377c1 Author: felix Date: Wed Oct 12 09:57:33 2011 +0200 Use correct type in allocate_vector_2 for "bytes" argument (by Christian Kellermann) Signed-off-by: felix commit 0895475e9d904a3d4e2b2854dd61fb7ed626d696 Author: Peter Bex Date: Tue Oct 11 15:33:06 2011 +0200 Small stylistical change: always initialize exactf, even though it is only checked after checking exactpf commit 6020e97b578b0276018fe7f2bd4608d477ce2bd6 Author: felix Date: Sat Oct 8 15:09:42 2011 +0200 handle EOVERFLOW and ENOTDIR gracefully in file/directory-exists? Signed-off-by: Christian Kellermann commit d4393438bc97150fcc5a0d2b8c8f983a3e8c122a Author: felix Date: Fri Oct 7 08:17:54 2011 +0200 fix test for variable being always bound before optimizing the binding away Signed-off-by: Christian Kellermann commit 3a9e0f2e490af2be49b9c51be1c2de008af50af3 Author: felix Date: Tue Oct 4 08:13:00 2011 +0200 Mark let-bound variables as inline-transient, if introduced during inlining. If this is not done, then subsequent optimization in the same pass will remove the bound variable if the binding has no side-effects Signed-off-by: Christian Kellermann commit ee1a502ed3ca4bd165875f1bae3cc9a7787c2d9b Author: felix Date: Tue Oct 4 08:00:04 2011 +0200 Squashed commit of the following: commit 8220b82dfdb4e422c0ab03cfbf0866e03cd29e01 Author: felix Date: Tue Oct 4 07:59:15 2011 +0200 fixed completely broken implementation of fifo? - thanks to Alan Post commit 8ef1105d85e6e652c96e88a71b711b0ef75588b0 Author: felix Date: Fri Sep 30 09:54:27 2011 +0200 fixed type name and adjusted initial ptable commit 71eb0e713084f670d9f2cebc1f475ba25d779b3a Author: felix Date: Fri Sep 30 09:17:01 2011 +0200 replaced ##sys#file-info with ##sys#file-exists? Signed-off-by: Christian Kellermann commit d36182868c786243eab359fb0cdb6f9feb66c4aa Author: felix Date: Fri Sep 30 08:19:10 2011 +0200 Squashed commit of the following: commit ea3060ca9d458ce8c79c5cc121c2dcc024d9b62a Author: felix Date: Fri Sep 30 08:18:15 2011 +0200 fixed junk in optimizer.scm (detected by Alan Post) commit 62fdf24668971131d25af1d4f087d83d8b56c7c0 Author: felix Date: Thu Sep 29 14:04:08 2011 +0200 fixed incorrectly named parameter (thanks to Alan Post) commit 1d6a1e66ec087d191beb7aa6da39d0903722d137 Author: felix Date: Thu Sep 29 08:14:31 2011 +0200 added more diverse selection of port-check routines Signed-off-by: Christian Kellermann commit fcff2bc347a95259907de78e019cf70252e31d49 Author: Christian Kellermann Date: Sat Oct 1 22:42:26 2011 +0200 Make the procedure returned by condition-predicate accept any argument. This fixes bug #708 as reported by John Cowan. Signed-off-by: felix commit a12a8474b02b2b9344c17737b7494dee3f100cc9 Author: felix Date: Fri Sep 30 08:36:08 2011 +0200 Squashed commit of the following: commit f1e71d18fda1b3779a71db70185075578e75af3f Author: felix Date: Fri Sep 30 08:21:49 2011 +0200 fixed typo in type-table in manual (thanks to Alan Post) commit aa5ad07f1cf2c0754be6af26e6a937935e0f198b Author: felix Date: Thu Sep 29 09:11:18 2011 +0200 - added distinguished types for input and output ports - old "port" type abbreviates "(or input-port output-port)" - small optimization in over-all-instantiations - removed commented out obsolete type-check generator code - updated types.db to use new port types Signed-off-by: Christian Kellermann commit cc3fcbd624478318263c233ba03567f3d6034460 Author: Christian Kellermann Date: Wed Sep 28 14:02:14 2011 +0200 Remove ##sys#walk-namespace as it is not used anymore. commit 5bbdac9abf618f42db0171de4bdffffe2b21c286 Author: Mario Domenech Goulart Date: Wed Sep 28 09:27:19 2011 -0300 numbers-string-conversion-tests.scm needs `ports' unit (for `with-{in,out}put-{from,to}-string') This change has been considered trivial enough to skip the chicken-hackers pass. Informally acked by Peter via IRC. commit 296874e523a6bcbd157b8112d59919f0eba76b2c Author: felix Date: Wed Sep 28 12:25:53 2011 +0200 push exactness check into ##sys#string->number to catch superfluous base/exactness prefixes in numbers parsing; added tests (developed in collaboration with sjamaan) Signed-off-by: felix commit 52659efd6ae54c1a02af6a1b1a2604e3feca3f11 Merge: c344ffbc 1d4cc4f1 Author: felix Date: Tue Sep 27 08:13:41 2011 +0200 Merge branch 'felix-pending' into tmp commit c344ffbc405cfb120b6e687839a1f070de51afb3 Author: Christian Kellermann Date: Sun Sep 25 11:58:02 2011 +0200 replace write-line calls to display with internal procedures. Signed-off-by: felix commit 1d4cc4f10c5898c0278e7660d5d175fe69820dd7 Merge: acd4cdea c8ac5219 Author: felix Date: Mon Sep 26 13:50:51 2011 +0200 Merge branch 'felix-pending' of /home/felix/chicken/master into felix-pending commit acd4cdeab6a9274234a26c8b5575ddc313105360 Merge: 320d8c2e 4c46a5f5 Author: felix Date: Mon Sep 26 13:23:49 2011 +0200 Merge branch 'more-scrutiny-fixes' into felix-pending commit 4c46a5f58ab4c9e4effc985606789915db2ebfd9 Author: felix Date: Mon Sep 26 13:18:35 2011 +0200 fixed incorrect generalization of simple list/vector types commit c8ac52191ba45bc887b167a4ce42c0cf8d6b383b Merge: 320d8c2e 596d4f46 Author: felix Date: Mon Sep 26 09:15:45 2011 +0200 Merge commit 'origin/felix-pending' into felix-pending commit 320d8c2ea46956bd25d0cb9c326ebe985084ca2a Merge: 017918bd 001b57f1 Author: felix Date: Mon Sep 26 09:13:42 2011 +0200 Merge branch 'felix-pending' of /home/felix/chicken/master into felix-pending commit 017918bd4b374b4743fe6a4009a5d16532047885 Author: felix Date: Mon Sep 26 09:11:58 2011 +0200 - simplify use of "over-all-instantiations" - combining instantiations over union-types uses fallback "*" type only in exact mode - fixed broken Node->Sexpr transformation for "##core#typecase" without "else"-clause - added more test-cases for type-matching Squashed commit of the following: commit 56299cdc71ccbc6342b4614014536b715ff3747c Author: felix Date: Mon Sep 26 08:34:10 2011 +0200 added some testcases commit 2ab58471a67b474197714aeb98a17a44b6ca8416 Author: felix Date: Sun Sep 25 15:26:04 2011 +0200 simplified o-a-i, fallback to * for unbound typevars only in exact mode, fixed bug in build-expression-tree for typecase commit e7632fe06c80f22b268f32bc9ed08ab5a2014e9c Author: felix Date: Sun Sep 25 14:23:11 2011 +0200 pretty printer shows blobs readably commit 001b57f1681074561959b69ab89af34a4e415c76 Merge: 54fa2545 d055edc0 Author: felix Date: Mon Sep 26 09:08:55 2011 +0200 Merge branch 'master' into felix-pending commit ec31ca1beaa8a7e305d663e1482cda6116f27615 Merge: 54fa2545 d055edc0 Author: felix Date: Mon Sep 26 09:06:04 2011 +0200 Merge commit 'origin/master' into felix-pending commit 56299cdc71ccbc6342b4614014536b715ff3747c Author: felix Date: Mon Sep 26 08:34:10 2011 +0200 added some testcases commit a10bf8df7a3bb191d259b1e9df59d586f35b1bf4 Author: felix Date: Sun Sep 25 14:23:11 2011 +0200 pretty printer shows blobs readably Signed-off-by: Christian Kellermann commit 2ab58471a67b474197714aeb98a17a44b6ca8416 Author: felix Date: Sun Sep 25 15:26:04 2011 +0200 simplified o-a-i, fallback to * for unbound typevars only in exact mode, fixed bug in build-expression-tree for typecase commit 596d4f4642d512f24a0b7e4b1db2ea681911ab75 Author: felix Date: Sun Sep 25 14:23:11 2011 +0200 pretty printer shows blobs readably commit aa2d6b8247b13476fe609d1fd263238cc10a6a8e Author: felix Date: Fri Sep 23 08:34:20 2011 +0200 pseudo parameters current-input-port, current-output-port, current-error-port and current-exception-handler now return the correct value in the assignment case; fixed some types.db entries; all noted by sjamaan Signed-off-by: Christian Kellermann commit b6eba657c54c4099f1799d548cc1d6749d50aa9c Author: Christian Kellermann Date: Thu Sep 22 23:41:30 2011 +0200 Error out if given nonexistant egg name commit 54fa2545d475740cfe66f42627163aad70b35446 Author: felix Date: Fri Sep 23 08:34:20 2011 +0200 pseudo parameters current-input-port, current-output-port, current-error-port and current-exception-handler now return the correct value in the assignment case; fixed some types.db entries; all noted by sjamaan commit d055edc0fe87442b76b72692df9ecef567443c00 Merge: 9aaea628 1697bed7 Author: felix Date: Fri Sep 23 08:06:02 2011 +0200 Merge branch 'felix-pending' into tmp commit 9aaea6281f9deaa77f427e6288242a859cf797a8 Author: Christian Kellermann Date: Thu Sep 22 23:08:17 2011 +0200 Do not follow symlinks by default in find-files commit 8e64fc76e298c86fd241c3134107ad8d4cd24fba Author: Christian Kellermann Date: Thu Sep 22 09:57:26 2011 +0200 Remove deprecated find-files variant. Deprecated since 4.6.0. commit 1723561a687983858f5aeb0da8ace7a3bf7d426b Author: Peter Bex Date: Thu Sep 22 21:52:21 2011 +0200 Pass a C_word pointer to convert_string_to_number instead of a long pointer (this fixes a compiler warning, ticket #695. Thanks to John Cowan for reporting it) commit 0fbbba9d5fc0dcce7b2364beaf3396d501967d0e Author: felix Date: Mon Sep 19 13:00:52 2011 +0200 This commit fixes several problems with the scrutinizer: - instantiations of type-variables need to be done over all alternatives in a union ("or") type - swapped order of "or"-type matching to handle cases where matching two union types failed where they shouldn't - resolution of type-variables may require type-simplification - subtype-checking uses existing typeenv machinery - commented out unused typecheck-generation code for the time being - adds a few testcase Squashed commit of the following: commit 34f451dbcc3119c0307e503a97a512eff964e5a9 Merge: 93ccf52... 60b4a6c... Author: felix Date: Mon Sep 19 13:00:15 2011 +0200 Merge branch 'scrutiny-fixes' into tmp commit 60b4a6c2f7aa7dd5afb0c0ad1436177a34d634ed Merge: 5ae00b5... e8d45b2... Author: felix Date: Mon Sep 19 12:41:27 2011 +0200 Merge branch 'felix-pending' into scrutiny-fixes commit 5ae00b5a16ea6cf0daeed8cc85d15eb15525ee7f Author: felix Date: Mon Sep 19 12:28:36 2011 +0200 specialization for atan/2 in mixed fixnum/flonum case commit 60371ba7dec19f1110e1ad79c4e4e7ac83938df2 Author: felix Date: Mon Sep 19 09:19:32 2011 +0200 specializations for expt in mixed flonum/fixnum case commit 8c2c8764362ccf540a4a01c65c71fbf5993f00ef Author: felix Date: Mon Sep 19 08:39:54 2011 +0200 correct order of OR-type matching; slight simplification of o-a-i; added testcase commit 032448a84ef067d4dc786916565efe34e26c0468 Author: felix Date: Sat Sep 17 15:16:54 2011 +0200 list-of is not a subtype of pair or fixed-length list; factored out setting up of final instantiations of vars in over-all-instantiations; fixed bugs in the latter commit b629144e1f3127f3ae664a07670542df95ea2a32 Author: felix Date: Fri Sep 16 23:52:16 2011 +0200 scrutiny not completely broken anymore, but still feels flaky commit feeec2010eaab6386a4890cf13c7691a62b96073 Author: felix Date: Fri Sep 16 23:51:38 2011 +0200 tiny fix in compile-all script commit 85dd3577a145b344db34d5037d3a841bca209304 Author: felix Date: Fri Sep 16 23:51:19 2011 +0200 removed compile-all target (slightly broken and redundant) commit 3aa6214bf4b8ef80f228bc2b1ef0eb0d9720e2e7 Author: felix Date: Fri Sep 16 18:39:53 2011 +0200 added debugging output commit 593bb9b84d622f79dc838d95f558ddad8cf108b2 Author: felix Date: Fri Sep 16 18:25:55 2011 +0200 combine typevar instantiations over all elements of 'or' types; type<=? does the same and uses usual typeenv mechanisms commit 4a06a44531806cfa8306c6076f96e33613401ebf Author: felix Date: Fri Sep 16 14:36:05 2011 +0200 trying to reduce list-type complexity, variable unification results in incorrect instantiation when multiple alternatives exist, i.e. (list-of a) = (list (or X Y)) - first match insantiates a, second is ignored, but must match, too Signed-off-by: Peter Bex commit 09df24b94a117d865910bd7a3d93f452a74af68d Author: Peter Bex Date: Sun Sep 18 18:15:13 2011 +0200 Fix decode_literal not to use system functions strtol() and strtod() but convert_string_to_number(), which is the inverse of the function(s) used in encode-literal. This fixes a panic bug when reading back infs or nans, which is triggered by the change in 139f7e9cdba897bc0969e761aede66218fcabb11 but which could also have cropped up before, when cross-compiling Signed-off-by: felix commit 1697bed746fd32081d44f6444fa8a060977300d1 Author: felix Date: Wed Sep 21 10:20:10 2011 +0200 removed failing test (corrected smashing for (list T) will force result to be list of undetermined type) commit 414b5301f3196e9a431f95c39e8758742627e566 Author: Peter Bex Date: Sat Sep 17 17:41:58 2011 +0200 Do not drop precision in flonums when compiling Signed-off-by: felix commit 720e634bb47e9893302269c10626308b278e8557 Author: felix Date: Wed Sep 21 09:27:37 2011 +0200 fixed reference to incorrect pair-of type in component-type smashing commit d8584d8a8054fdff2344b43bebe7de84c8b9561c Merge: 42853564 e7aa05a3 Author: felix Date: Tue Sep 20 16:12:28 2011 +0200 Merge commit 'origin/master' into felix-pending commit 5cf15217afa44aacb3fbf4e3cef2b69b8ef90bb4 Author: felix Date: Mon Sep 19 12:58:01 2011 +0200 Removes broken makefile target "compile-all", since the "compile-all" script in the "scripts" directory does the same. Squashed commit of the following: commit 570450c2facd4ab8df3a2c6feccea64f2e5f0a36 Author: felix Date: Fri Sep 16 23:51:19 2011 +0200 removed compile-all target (slightly broken and redundant) commit ca1e09d8dfa3be167d210cc72e039cc46116fb1a Author: felix Date: Fri Sep 16 23:51:38 2011 +0200 tiny fix in compile-all script Signed-off-by: Christian Kellermann commit dada13de386167ed89e1e3fe622a603ee17e45f5 Author: felix Date: Mon Sep 19 12:46:06 2011 +0200 Added specialization rules for "expt" and "atan" with mixed fixnum/float arguments. Squashed commit of the following: commit b70229f600e1097457451af40421a0101a2fa1c7 Author: felix Date: Mon Sep 19 12:28:36 2011 +0200 specialization for atan/2 in mixed fixnum/flonum case commit 25d48ad53502076d91dc09e35d14fbf0f0eb451b Author: felix Date: Mon Sep 19 09:19:32 2011 +0200 specializations for expt in mixed flonum/fixnum case Signed-off-by: Christian Kellermann commit e7aa05a33fda11c6d7cdd2d39f029fa484b673f1 Author: felix Date: Tue Sep 20 09:16:17 2011 +0200 another trivial typeo-fix commit b9aa769c0e2b9ce3a086f44e4c5caff589d6ee63 Author: felix Date: Tue Sep 20 08:37:01 2011 +0200 trivial bugfix that referenced a nonexistent local variable - fixed #668 commit 42853564b1fa4941731c570ad9f091882ab68e70 Author: felix Date: Mon Sep 19 13:07:53 2011 +0200 Revert "added evaluation hooks for variable references" This reverts commit ae95cdfe32131fecb7b16bc148be8dbfaca98ba8. The general usefulness isn't clear yet - some more elaborate mechanism may be needed. commit 4c574b040d5ee1e67993b1c3d6aa557741a36e5f Author: felix Date: Mon Sep 19 13:00:52 2011 +0200 This commit fixes several problems with the scrutinizer: - instantiations of type-variables need to be done over all alternatives in a union ("or") type - swapped order of "or"-type matching to handle cases where matching two union types failed where they shouldn't - resolution of type-variables may require type-simplification - subtype-checking uses existing typeenv machinery - commented out unused typecheck-generation code for the time being - adds a few testcase Squashed commit of the following: commit 34f451dbcc3119c0307e503a97a512eff964e5a9 Merge: 93ccf52... 60b4a6c... Author: felix Date: Mon Sep 19 13:00:15 2011 +0200 Merge branch 'scrutiny-fixes' into tmp commit 60b4a6c2f7aa7dd5afb0c0ad1436177a34d634ed Merge: 5ae00b5... e8d45b2... Author: felix Date: Mon Sep 19 12:41:27 2011 +0200 Merge branch 'felix-pending' into scrutiny-fixes commit 5ae00b5a16ea6cf0daeed8cc85d15eb15525ee7f Author: felix Date: Mon Sep 19 12:28:36 2011 +0200 specialization for atan/2 in mixed fixnum/flonum case commit 60371ba7dec19f1110e1ad79c4e4e7ac83938df2 Author: felix Date: Mon Sep 19 09:19:32 2011 +0200 specializations for expt in mixed flonum/fixnum case commit 8c2c8764362ccf540a4a01c65c71fbf5993f00ef Author: felix Date: Mon Sep 19 08:39:54 2011 +0200 correct order of OR-type matching; slight simplification of o-a-i; added testcase commit 032448a84ef067d4dc786916565efe34e26c0468 Author: felix Date: Sat Sep 17 15:16:54 2011 +0200 list-of is not a subtype of pair or fixed-length list; factored out setting up of final instantiations of vars in over-all-instantiations; fixed bugs in the latter commit b629144e1f3127f3ae664a07670542df95ea2a32 Author: felix Date: Fri Sep 16 23:52:16 2011 +0200 scrutiny not completely broken anymore, but still feels flaky commit feeec2010eaab6386a4890cf13c7691a62b96073 Author: felix Date: Fri Sep 16 23:51:38 2011 +0200 tiny fix in compile-all script commit 85dd3577a145b344db34d5037d3a841bca209304 Author: felix Date: Fri Sep 16 23:51:19 2011 +0200 removed compile-all target (slightly broken and redundant) commit 3aa6214bf4b8ef80f228bc2b1ef0eb0d9720e2e7 Author: felix Date: Fri Sep 16 18:39:53 2011 +0200 added debugging output commit 593bb9b84d622f79dc838d95f558ddad8cf108b2 Author: felix Date: Fri Sep 16 18:25:55 2011 +0200 combine typevar instantiations over all elements of 'or' types; type<=? does the same and uses usual typeenv mechanisms commit 4a06a44531806cfa8306c6076f96e33613401ebf Author: felix Date: Fri Sep 16 14:36:05 2011 +0200 trying to reduce list-type complexity, variable unification results in incorrect instantiation when multiple alternatives exist, i.e. (list-of a) = (list (or X Y)) - first match insantiates a, second is ignored, but must match, too commit 93ccf52cff6177ddbd6088b22f25856b3ea56484 Author: felix Date: Mon Sep 19 12:58:01 2011 +0200 Removes broken makefile target "compile-all", since the "compile-all" script in the "scripts" directory does the same. Squashed commit of the following: commit 570450c2facd4ab8df3a2c6feccea64f2e5f0a36 Author: felix Date: Fri Sep 16 23:51:19 2011 +0200 removed compile-all target (slightly broken and redundant) commit ca1e09d8dfa3be167d210cc72e039cc46116fb1a Author: felix Date: Fri Sep 16 23:51:38 2011 +0200 tiny fix in compile-all script commit 0880ec1b83ed2fa5e472931597085b9daa9fcf14 Author: felix Date: Mon Sep 19 12:46:06 2011 +0200 Added specialization rules for "expt" and "atan" with mixed fixnum/float arguments. Squashed commit of the following: commit b70229f600e1097457451af40421a0101a2fa1c7 Author: felix Date: Mon Sep 19 12:28:36 2011 +0200 specialization for atan/2 in mixed fixnum/flonum case commit 25d48ad53502076d91dc09e35d14fbf0f0eb451b Author: felix Date: Mon Sep 19 09:19:32 2011 +0200 specializations for expt in mixed flonum/fixnum case commit e8d45b2a39e70a982456180ddb3019147ee9bbeb Merge: ae95cdfe 37868c78 Author: felix Date: Mon Sep 19 08:41:16 2011 +0200 Merge branch 'master' into felix-pending commit 96286a7a7144b17e4b7a3f08164fb6d6296f1722 Author: Peter Bex Date: Sun Sep 18 18:15:13 2011 +0200 Fix decode_literal not to use system functions strtol() and strtod() but convert_string_to_number(), which is the inverse of the function(s) used in encode-literal. This fixes a panic bug when reading back infs or nans, which is triggered by the change in 139f7e9cdba897bc0969e761aede66218fcabb11 but which could also have cropped up before, when cross-compiling commit 6c39851e1504d01b2de05e014f5542913e3e5c5e Author: Peter Bex Date: Sat Sep 17 17:41:58 2011 +0200 Do not drop precision in flonums when compiling commit 37868c7890553437da90ae8bd1e346850f8c85d4 Author: felix Date: Sat Sep 17 15:17:40 2011 +0200 documented interaction between options and declarations commit 4d821a6a21b95197290067b9541f4613b952d203 Author: Jim Ursetto Date: Thu Sep 15 23:04:28 2011 -0500 Update the README with improved OS X build instructions. Added fix for Lion LLVM hang and 10.6 build error on Core 2 Duo, clarified 32/64 bit stuff and rearranged a bit. commit 63efecb1d200af5c16d88a9df4e3ebb24cbb97f9 Author: felix Date: Thu Sep 15 09:54:29 2011 +0200 converted Acknowledgements section to UTF-8 and corrected some umlauts commit ae95cdfe32131fecb7b16bc148be8dbfaca98ba8 Author: felix Date: Thu Sep 15 09:54:55 2011 +0200 added evaluation hooks for variable references commit b7fc825ed815103149a5cb5a234410d779f10aa0 Author: felix Date: Thu Sep 15 09:54:29 2011 +0200 converted Acknowledgements section to UTF-8 and corrected some umlauts commit 3b0731bf0b64592b56aa57c32047048889c6c08a Author: felix Date: Wed Sep 14 22:41:08 2011 +0200 now ack'd with correct name commit daf1629dca88e78959ea35e7d3e3df8769e6d1a8 Author: felix Date: Wed Sep 14 22:34:52 2011 +0200 ack'd Timo Myraa commit ac658d50f0af11831c9834a0eb16eeaeb7d159dd Author: Timo Myyrä Date: Wed Sep 14 13:49:43 2011 -0300 Fix typo in man page and place dot on its own line to satisfy mandoc Signed-off-by: Mario Domenech Goulart Signed-off-by: felix commit bc20f8b59c60d06d46b0d2a3e925ed5185fef064 Merge: b159af00 0b974fd1 Author: felix Date: Wed Sep 14 22:24:22 2011 +0200 Merge remote branch 'origin/felix-pending' into tmpmerge Merged the following changes - extension of type-system to "(list T ...)" and "(vector T ...)" types, with "(list T)" and "(vector T)" renamed to "(list-of T)" and "(vector-of T)", respectively - allow matching of "list" with "list-of" in exact/all mode for specialization matching - types.db fixes suggested by sjamaan - slightly more precise types for mem*/ass* All changes reviewed and acknowledged by sjamaan commit b159af007d01e8801144267924c37f8852448bea Author: Peter Bex Date: Wed Sep 14 21:05:09 2011 +0200 Add "5." as valid printback syntax for "10/2" (as pointed out in #691) commit d9e905c2abfe1b89b0b4a0603f2bbcf4259e0340 Merge: ef2a9752 4216221c Author: felix Date: Wed Sep 14 10:22:02 2011 +0200 Merge branch 'sjamaan-pending' Signed-off-by: felix commit 0b974fd1c8e9715ea0b1618b55a9bd37f8e9a9f1 Merge: 0a76384f 01502524 Author: felix Date: Wed Sep 14 10:07:06 2011 +0200 resolved conflicts commit 0a76384f1d7aa86daa85fc2df7c85d5babddc60d Author: felix Date: Wed Sep 14 01:06:35 2011 +0200 - types.db fixes, suggested by sjamaan and some ehancements (need testing) - matching (list-of T) with pair or list types will also work in exact mode commit 4216221cb5f6e267ddb7cf1dd270285ddbd5adb3 Author: Peter Bex Date: Wed Sep 14 09:45:50 2011 +0200 Add tests/numbers-string-conversion-tests.scm to distribution manifest and move NEWS item to a new 'HEAD' heading (it was posted under an already released Chicken) commit ef2a975293bdef102953b2876b9e1ecb0ad27aab Author: Mario Domenech Goulart Date: Tue Sep 13 20:27:52 2011 -0300 C_TARGET_INCLUDE_HOME fix for cygwin signed off by felix commit 34ae5a3ee51081cacda90523919c29682950bf48 Author: Moritz Heidkamp Date: Tue Sep 13 15:17:10 2011 +0200 add alist-update, a non-destructive version of alist-update! alist-update only copies as much of the alist as needed (i.e. up until the matching pair) add documentation and a types.db entry for alist-update add tests for both alist-update and alist-update! -- Fixed type in types.db (one argument was missing) and added entry in manifest for tests/data-structures-tests.scm. Signed off by felix. commit 01502524afc49f65b2c41b754d0a5c0d65d4fb9a Author: felix Date: Wed Sep 14 01:06:35 2011 +0200 types.db fixes, suggested by sjamaan and some ehancements (need testing) commit 139f7e9cdba897bc0969e761aede66218fcabb11 Author: Peter Bex Date: Tue Sep 13 18:36:01 2011 +0200 Add torture test for numerical syntax and fix all failing testcases. Invalid syntax that used to be OK, like "+inf" and "nan", is currently still accepted but marked deprecated and the tests commented out. In the next release commit 397219495718e3e0723e36ae86810d4601223c3a Author: felix Date: Tue Sep 13 10:11:28 2011 +0200 - marked "constant" declaration as deprecated - documented "pure" declaration, which is a synonym for the deprecated "constant" declaration commit fe80ccfa8ce886c220b699211991c6a81fea50da Author: felix Date: Sun Sep 11 00:07:43 2011 +0200 Added support for fixed-size list and vector types, renamed old (list T)/(vector T) type specifiers to (list-of T)/(vector-of T). types.db was changed so making boot-chicken is needed to build this version. Squashed commit of the following: commit 9f03791673927e769c1e5a2db8d1cce0e50ed0cb Merge: e35329f... 3a2f7e3... Author: felix Date: Sun Sep 11 00:05:03 2011 +0200 resolved conflicts commit e35329fcdf68f6aecd88c0560268050813276329 Author: felix Date: Sat Sep 10 23:58:28 2011 +0200 fixed two bugs in handling of rest arg and simplification of list-of/vector-of commit e228f022e1668d90fed8d3cc8e70c1af15b3393d Author: felix Date: Sat Sep 10 16:24:11 2011 +0200 various bugfixes in the FA and corrections in the tests commit 81a084216f9f199926ceca4e79d7e0b5305cf456 Author: felix Date: Sat Sep 10 02:56:16 2011 +0200 special-case handler also receives argtypes commit bf2642cb12de6f775ffc1bdd18cea1771a93a120 Author: felix Date: Sat Sep 10 02:55:58 2011 +0200 added variant of types.db with new-style sequence types commit 39768d2c188b5b0037313e5cf297d6b4426da3c0 Author: felix Date: Sat Sep 10 02:55:24 2011 +0200 corrected use of old-style list type commit 7a32bdc84122ccc7a3255777e261db18751ad603 Author: felix Date: Fri Sep 9 16:35:32 2011 +0200 renamed vector/list to vector-of/list-of; added support for vector/list commit 3a2f7e376e1b5f5a8b1ed7483a3dfe3fc8c53c2e Author: felix Date: Fri Sep 9 16:48:32 2011 +0200 removed some unused code in scrutinizer commit 087ee9c2ee8f586ef865cfda95ea491b2370d88f Author: felix Date: Fri Sep 9 16:48:22 2011 +0200 resurrected enforcement test for user-decls commit 40df84629d43a48ab6d9a27794721669f4e7b435 Merge: 2d5244dd 9b4f78a1 Author: felix Date: Fri Sep 9 09:23:15 2011 +0200 Merge branch 'irregex-bugfixes' commit 2d5244dd01d4e91ed6f73bb566e92f04a2ab6361 Author: felix Date: Fri Sep 9 08:35:19 2011 +0200 removed obsolete C_emit_trace_info commit 08493d91d5b2b64b1396d0a2c0866deb324d0551 Author: felix Date: Fri Sep 9 08:30:34 2011 +0200 marked null-pointer? as deprecated in import lib; removed deprecated pointer-offset commit 24f87f20a46fa53b38ab9f98e04a5852587eb4b1 Author: felix Date: Fri Sep 9 08:24:28 2011 +0200 removed deprecated internal error procedure commit 1d9b4cfd14d57d3a95f5f994ec4a9a3fc120d0d5 Author: felix Date: Thu Sep 8 15:08:35 2011 +0200 fixed obsolete refernce to -debug ? (thanks to Joerg Wittenberger) commit 43661a3b7ca7db3be99643219b9de05816d34c00 Author: felix Date: Thu Sep 8 15:05:07 2011 +0200 re-added type-check generation (but unused yet) commit 9bf8a135368309f453c6fcfaf8ecd2af9c0a07c2 Author: felix Date: Thu Sep 8 14:20:48 2011 +0200 actually move C-definitions to posix-common as well commit 0c2cd063cc95acd8b0edaf8cc7af2865617c7399 Author: felix Date: Thu Sep 8 11:29:46 2011 +0200 updated scrutiny.expected commit 586d998c928abb4a7c4ca964ecedc80a58f81ed0 Author: felix Date: Thu Sep 8 11:29:32 2011 +0200 moved some fd-related stuff into posix-common, disabled check for failed port->fileno in port tests commit bdd6d154273458eddda84bc32fcb8002841cbbd1 Author: felix Date: Thu Sep 8 10:49:09 2011 +0200 user-declared procedure types are not enforcing by default commit ae79ad0b23dcf799f29c6c512bc6f9d916c8f57d Author: felix Date: Wed Sep 7 15:54:43 2011 +0200 added hacks entry for setup.defaults; renamed call-cc.org alias to call-cc commit 2c5f2556e8c962af15ca6fee8fb4c82996570a9a Merge: 66bfb331 646dcdd8 Author: felix Date: Wed Sep 7 08:49:28 2011 +0200 Merge branch 'master' of ssh://call-cc.org/~/chicken-core commit 66bfb33182307f62f2a89af346eea1849f128552 Author: felix Date: Wed Sep 7 08:49:21 2011 +0200 trivial changes commit 9b4f78a1c698ac020954ba9821dea77d53498394 Author: Peter Bex Date: Tue Sep 6 21:42:11 2011 +0200 types.db fix: irregex-replace and irregex-replace/all always return strings (now! :P) commit 88690836207d7d4c9cc99654da8d071eaf1ba733 Author: Peter Bex Date: Tue Sep 6 21:41:44 2011 +0200 Apply irregex fix for #687, this makes irregex-replace return the original string instead of #f when the regex did not match (upstream changeset e53cba40b988) commit 646dcdd8db9772a83abd01a825da34608fdb387a Author: felix Date: Tue Sep 6 13:15:57 2011 +0200 use type-abbrevs; documented define-type; don't wrap iface and type defs into begin-for-syntax (just do at elaboration-time) commit cfc05f5fbd419de5e4c66c7ada8226bcf556ebf7 Author: felix Date: Tue Sep 6 12:35:28 2011 +0200 restore interface defs in modules, added define-type (untested) commit c4553054173bf7ebf08267d3daf1623e147fb9d9 Author: felix Date: Tue Sep 6 11:25:56 2011 +0200 types.db fix for vector-resize (thanks to Jules) commit e8874af8a2182a3465cfbb2c9692295bbf31283c Author: felix Date: Tue Sep 6 08:34:34 2011 +0200 types.db: thread-join returns multiple values (thanks to Joerg Wittenberger) commit 916ccadb3f9d0743b8cb15d36123c79a4dda1b50 Merge: 12a1cde4 76bc9300 Author: felix Date: Tue Sep 6 08:30:12 2011 +0200 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit 12a1cde4553fcaced8545bdb66b676a97f683159 Author: felix Date: Tue Sep 6 08:30:04 2011 +0200 correct result-types for tcp-timeout parameters (thanks to Joerg Wittenberger) commit 76bc9300211045551447dea43e06fcc62f96dd92 Author: Christian Kellermann Date: Sat Sep 3 22:56:29 2011 +0200 Add -show-foreign-depends option to chicken-install This new option fetches and displays the foreign-depends clause from meta files. When invoked in combination with -r only the retrieved egg's clause will be displayed. commit daef959a6ba440d759aafd828706b097f1504678 Author: felix Date: Mon Sep 5 10:15:16 2011 +0200 type-constraints for forall-typevars commit 54cf09bafd8a1f5263bcd696c83959492db02922 Author: Jim Ursetto Date: Sat Sep 3 15:56:37 2011 -0500 manual/Types: Close tag and a couple {{...}} commit a764498361882b57ea7852836ee8a453db6f29a0 Author: felix Date: Sat Sep 3 22:08:53 2011 +0200 don't run chicken-install -init for test-repository; also make sure it is created from scratch commit a613223a8c950bb083fff982433a21c1ee97ff25 Author: felix Date: Sat Sep 3 21:56:53 2011 +0200 applied README changes by alaric commit d5c2991cb02a1017cbe86568e61faec1e89a7507 Author: felix Date: Sat Sep 3 21:48:55 2011 +0200 fixed bug in handling of (srfi N) extension specifiers commit d2d56dd8d930eaf3780bd82c0f0fa2fd161d4794 Author: felix Date: Sat Sep 3 21:28:31 2011 +0200 slightly more specific result type for f32vector->list commit 8025792049501e870a0b0b5bf5beab1f1905f8ab Author: felix Date: Fri Sep 2 22:03:22 2011 +0200 types.db fix for f64vector->list (thanks to Kon) commit bce4666c3b5efd6db0d6a90da863cf2fd66a63ff Author: felix Date: Fri Sep 2 09:20:22 2011 +0200 added note in types.db commit b58ddabd96db68f23acd95370c4d68c825200662 Author: felix Date: Fri Sep 2 08:57:09 2011 +0200 type-simplification removes unused typevars, not -validation commit 25e3368864b7c003af4e0a40af0f2bc9b86bf8d9 Author: felix Date: Fri Sep 2 08:56:45 2011 +0200 tweaked types.db entry for module-environment commit 14a213c55d17883a1a61144f1c488a0882b7d085 Author: felix Date: Thu Sep 1 15:34:28 2011 +0200 added missing finite? to types.db commit 09cd5d1eb16e31db7b270b31f29a5c53f6b66906 Author: felix Date: Thu Sep 1 08:48:26 2011 +0200 typo in posixunix.scm (reported by ckeen, found by alan post) commit 4b9480c6ceb516bb41c513a71c5835f03bfa43ca Author: felix Date: Wed Aug 31 15:49:57 2011 +0200 disabled assign-to-captured opt. - needs to be tested more commit 1a75d1f3db16f1fe3b6924e68da5900bffff4f60 Author: felix Date: Wed Aug 31 14:29:23 2011 +0200 assignment to non-escaping var retains type of assigned value commit 5598d83d062d7a66e7eec6596bf668cc93f4705a Author: felix Date: Wed Aug 31 12:46:21 2011 +0200 fixed bug in ##sys#switch-module (thanks to ckeen) commit 4ec47dad87572ad6523c3c23747e523f397ed12d Merge: 9235b64d d7863afd Author: felix Date: Wed Aug 31 11:47:27 2011 +0200 resolved conflicts commit 9235b64dab35843478e76a349875110648e2243d Author: felix Date: Wed Aug 31 11:45:18 2011 +0200 added change-directory* (contributed by Alan Post) commit 5c70f58b6c562c5449d8b1709da663af36fe1445 Author: felix Date: Wed Aug 31 11:44:50 2011 +0200 show correct extension-id when complaining about a missing extension commit 9087b4d456293f974ac2e683543cae2b81b404ae Author: felix Date: Wed Aug 31 11:43:41 2011 +0200 handle C-comments in string literals commit 12b9a6e38fe0f3bd6f8602b1ea07e8d97357cd79 Author: felix Date: Wed Aug 31 11:42:26 2011 +0200 also use binary mode for file-move commit b2602444d4baf5dda38c465112917ec4dedc3e14 Author: felix Date: Tue Aug 30 21:24:19 2011 +0200 file-copy opens files in binary mode (thanks to satori) commit 4438f5de103a20af94ea4ea2f2a834d9d2959299 Merge: 7c8f5a46 523cf4db Author: felix Date: Tue Aug 30 21:22:22 2011 +0200 Merge branch 'complex-types' commit 523cf4dbdeec6b6536575a39090669a6c425ea39 Author: felix Date: Tue Aug 30 21:22:12 2011 +0200 WHOOSH commit 82c127fe6b20f32d1cfff9583164ed43b7774a0e Author: felix Date: Tue Aug 30 20:45:25 2011 +0200 types.db tweaks commit 7c8f5a466a6bc5a138884813e568b8e40ba30e02 Author: felix Date: Tue Aug 30 20:43:55 2011 +0200 Revert "types.db tweaks" This reverts commit c236b8b1f88c31b5b2cb6fe2cf6d7081ba2489f6. commit c236b8b1f88c31b5b2cb6fe2cf6d7081ba2489f6 Author: felix Date: Tue Aug 30 20:43:10 2011 +0200 types.db tweaks commit c2d6ee14e9eac239b2d4c02bb574f58e43e578c1 Merge: 4d40a7af 3744e608 Author: felix Date: Tue Aug 30 20:18:51 2011 +0200 resolved conflicts commit 4d40a7af73bab3699a1cdabe383475139abc7688 Author: felix Date: Tue Aug 30 13:44:56 2011 +0200 some types.db fixes commit 73ee51ffa0467d8b7116fb478f293dc5867bd66d Author: felix Date: Mon Aug 29 04:28:04 2011 +0200 repaired define-specialization; various bugfixes; will this ever end? commit 8fdfb877d30433bf61b39427a84cd9cd11b4ec86 Author: felix Date: Mon Aug 29 04:27:23 2011 +0200 ignore and report notice on named declarations of local vars commit 095cca382b6183c058aa99d0574c47bdd72e783e Author: felix Date: Mon Aug 29 04:25:54 2011 +0200 docd type aliases commit 34bfd2eaa5deae58ce6dea5fda8198a052bb4bc9 Author: felix Date: Mon Aug 29 04:25:27 2011 +0200 locatives are allows as ffi pointer args commit ffcc52723d8b8eec068d73e485756fa0ab9662f5 Author: felix Date: Mon Aug 29 02:04:54 2011 +0200 use more meaningful alias for parameterized parameter commit 01b4dc90f156b588a89741c266312118eaf2dd54 Author: felix Date: Sun Aug 28 19:48:26 2011 +0200 more circ. handling, somem cleanups commit 58f504192dbefbdb0e2ff7b4faec33c16526e2a6 Author: felix Date: Sun Aug 28 19:23:01 2011 +0200 handle circularities in resolve commit b5ee4976121a123a22e2f319267a961a239424f7 Author: felix Date: Sun Aug 28 14:56:35 2011 +0200 opt. arg to make-pathname may be false commit 2260b0b41519207d6872d57ecdb2e11430819c3f Author: felix Date: Sat Aug 27 22:25:12 2011 +0200 yet another one: handle #!rest/#!optional marker for both candidates when merging argtypes commit 0e1aa7ef226aa6c80625fd4753546e0462b9987d Author: felix Date: Sat Aug 27 22:07:32 2011 +0200 small change in output of mini-salmonella in debug mode commit b230939b1d97b008d937ed459b4dcbd08acceb24 Author: felix Date: Sat Aug 27 14:19:33 2011 +0200 trivial change commit 093dcea86bfd735173aaf25e19d16de7512b4605 Author: felix Date: Sat Aug 27 13:57:27 2011 +0200 fixed bug in noreturn merging of conditional branches commit 85e8ad0baba7210e2a7cf270232af0f5388e1ef5 Author: felix Date: Sat Aug 27 12:29:39 2011 +0200 documented immediate abbrev., enabled specialization again commit 7e66907fe883908836959131ed3f1473d7a441f0 Author: felix Date: Fri Aug 26 23:53:51 2011 +0200 mark procedures as clean/pure commit 29887c07c6f188894b2a5ccc1fca112e4ec0891a Author: felix Date: Fri Aug 26 23:53:23 2011 +0200 added a few sentences aobut types in the manual commit be521e5ca4cad895fc78a58dc65b2c30e4dda6c8 Author: felix Date: Fri Aug 26 23:47:36 2011 +0200 pure marking is completely done in types.db, now commit 2c380be9e24eb8f6dda148647435d8c1e421fe68 Author: felix Date: Fri Aug 26 23:47:09 2011 +0200 disable part of port-tests that does process-fork for windows commit 12c5c1c58e4d9267e77adc450ca3cef4dda2c2ff Author: felix Date: Fri Aug 26 13:52:54 2011 +0200 enabled test that uses process-fork for msys commit 44d5788689c995065c5fbd5cf6016454d161dc05 Author: felix Date: Fri Aug 26 13:52:38 2011 +0200 bugfix for noreturn result detection commit 8c3913f09f9997c2c4ffe4e419838fb38643dc6c Author: felix Date: Thu Aug 25 15:29:05 2011 +0200 small bugfix in proc-type analysis; new format for types.db (test suite not run, yet) commit 3744e608973de7e26a5423b845bb32a11ff184d5 Author: felix Date: Thu Aug 25 10:22:39 2011 +0200 fixed incorrect instructions in README for building boot chicken (thanks to Mario Goulart) commit d7863afd996626f3474f19cedfbce480d02588ba Merge: 98c13757 a2fdf43e Author: felix Date: Thu Aug 25 09:18:33 2011 +0200 Merge branch 'master' into new-environments commit a2fdf43eb402b9abadff942a10210182a56fb5b2 Author: felix Date: Wed Aug 24 10:38:51 2011 +0200 workaround for typematch-bug found by Sven Hartrumpf commit 4aabc9b303706b080206ef394cda3ccf7105c139 Author: felix Date: Wed Aug 24 10:36:22 2011 +0200 trying out new procedure type format commit 167be53b4c23c3917a7fc9638ce1375ad81e9589 Author: felix Date: Wed Aug 24 10:36:07 2011 +0200 disable some debug output commit c3592e3e1ad9ddc436b5f4da0e51b18178685571 Author: felix Date: Wed Aug 24 10:35:46 2011 +0200 no scrutiny for stage 1 boot-chicken commit f77bb406f3c56d97fb6c34a3e3d18d98c8cd1cbe Merge: 75cf6f4c 6de4a42f Author: felix Date: Tue Aug 23 23:13:38 2011 +0200 Merge remote branch 'origin/irregex-bugfixes' commit 006bd0e45ef861f52e9846736fa943f439d8a2cd Author: felix Date: Tue Aug 23 22:56:45 2011 +0200 purity commit 75cf6f4c5c8e7fec8204e3b83b9ffc8963b96b36 Author: felix Date: Tue Aug 23 22:12:40 2011 +0200 Revert "some changes based on suggestion by Joerg Wittenberger" Not sure about this anymore. It worked so far well enough. This reverts commit 726b770796e24745685fa042d571400d8f1332f1. commit 6de4a42ffc0bd9059327472ada28dffda38e690f Author: Peter Bex Date: Tue Aug 23 21:08:21 2011 +0200 irregex manual: Update irregex-match description so it mentions and arguments commit afb994594a5a49bc0f266eea4b069fef9bf6f753 Author: Peter Bex Date: Tue Aug 23 21:07:21 2011 +0200 Update types.db: irregex-match accepts an optional start and end argument just like irregex-search commit 726b770796e24745685fa042d571400d8f1332f1 Author: felix Date: Tue Aug 23 13:50:14 2011 +0200 some changes based on suggestion by Joerg Wittenberger commit 2a685174ce60bccc529c2ca217ca1b24c53a0adc Author: felix Date: Tue Aug 23 12:10:07 2011 +0200 fixed bug in reading of octal escape in string literal commit 94ec8c893a9ededc66ece7f48175856111e55823 Author: felix Date: Tue Aug 23 11:19:15 2011 +0200 assignment bugfix by sh (also in master); blist/env smashing on call to impure procedure; purity-declaration still has to be figured out commit 543012d359222db370427af60a25b6b9fc97f54e Author: felix Date: Tue Aug 23 11:17:35 2011 +0200 added script to compile all files with some set of options commit 28810cd12cfe27dee5765af2d9960665626392c1 Author: felix Date: Tue Aug 23 11:17:16 2011 +0200 slight simplification in handling of ##compiler#pure mark commit a8d4e8816fdf503284699558670a57c07ae126c6 Author: felix Date: Tue Aug 23 11:16:39 2011 +0200 allow pure as alias for constant declaration (undoc'd) commit 11e02a549e2469ec51dceae671a4520b0968dd74 Author: felix Date: Tue Aug 23 11:16:09 2011 +0200 removed unused makefile variable commit ef4e7acd2a62f7f8ab81193653799fbffe085c00 Author: felix Date: Tue Aug 23 11:15:48 2011 +0200 purity/impurity is declared in types.db (in a way that still has to be figured out), so remove it from c-platform.scm commit 08d60b5201d92a40aa68940ae8e5818b5fa55667 Author: felix Date: Tue Aug 23 11:13:16 2011 +0200 some small types.db tweaks commit 3d35c32333d8ee323c1f5db6d7f9f03f84284d7d Author: felix Date: Tue Aug 23 11:10:05 2011 +0200 load-verbose with -debug p; throw error when types-file given by -types does not exist commit d2a3610761963d7864eb27a72bfeebaeced15c49 Author: felix Date: Tue Aug 23 11:09:12 2011 +0200 bugfix for FA of assignment (thanks to Sven Hartrumpf); validate deprecated type correctly commit af18bae84421be691356f48fcd6ca450ae2439db Author: felix Date: Mon Aug 22 19:25:27 2011 +0200 documented struct types; allow bare type names for core struct types commit daf9cbdee17d203e2643b4dad4670c1885d0e97d Author: felix Date: Mon Aug 22 16:25:49 2011 +0200 enable specialization again, replaced types.db, all looks good commit 6ac34c65c951379e4f4dea252f4e796958e99fed Author: felix Date: Mon Aug 22 12:59:11 2011 +0200 more bugfixes; found some bugs in core libs commit 77e53c7e8648a6ec9a3a605fa131626fd7a31be9 Author: felix Date: Mon Aug 22 01:13:06 2011 +0200 if it goes on like this, I'll go mad commit 108fef13b40dc150cdc6ac2f096a35c83756edaa Author: felix Date: Sun Aug 21 12:44:18 2011 +0200 various scrutiny bugfixes commit de8a21c7031e0a6a59fc5e4520ae8d007e1b6980 Author: felix Date: Sun Aug 21 12:43:46 2011 +0200 specializations for some list accessors commit b50d7cec890ec6a4c3179ae3c1d78e968f6ba9c8 Author: felix Date: Sun Aug 21 00:19:49 2011 +0200 scrutinizer fixes; make check runs with new types.db commit 5d8a022ff2f87f6be1c8f48c9fe76192a87f9789 Author: felix Date: Sun Aug 21 00:16:47 2011 +0200 enable specialization for compiler files commit b1799c584e5aced59e342eb0b1f03b3d5ca3f47a Author: felix Date: Sat Aug 20 14:54:56 2011 +0200 small fixes; tests; new typedb update commit 5beba7488b92a9b622b09d348e0ac09ad9ce4963 Author: felix Date: Sat Aug 20 14:54:30 2011 +0200 disable debugging output in modules unit commit 6d0465f84136712ea08742dd2b844231707b292a Merge: d1f1408b 7367c220 Author: felix Date: Sat Aug 20 13:36:30 2011 +0200 resolved conflicts commit d1f1408b7cbe21ad5679c1d1c02a45f63f2b8ccb Author: felix Date: Sat Aug 20 13:35:11 2011 +0200 more tmatch tests commit 3e0f3d880a2c3248809f1ddad0597a9f05437480 Author: felix Date: Sat Aug 20 04:55:26 2011 +0200 types.db.new usable commit d04f240e1fad6fb2d8f7c288a6f1a72bede80b1a Author: felix Date: Sat Aug 20 04:55:10 2011 +0200 documented compiler-typecase; added note about exact specialization matches commit f23e9bc7b728e5e92a75bbfb45bbda9ace5b481a Author: felix Date: Sat Aug 20 03:58:30 2011 +0200 fixed evaluation-order dependency in division routine commit 7367c220e2d48f14b5108c06bdfb1112317544e3 Author: felix Date: Sat Aug 20 03:58:30 2011 +0200 fixed evaluation-order dependency in division routine commit 3873899b48eff6a5c5e70d7e99b91db3fb92a351 Merge: 6574bed4 d9e0fbaa Author: felix Date: Sat Aug 20 03:29:35 2011 +0200 Merge branch 'master' of /home/felix/chicken/chicken-core commit 6574bed4df597413b0693cb034d1886d201e6203 Author: felix Date: Sat Aug 20 03:29:22 2011 +0200 deprecated none?, always?, never?; removed incorrect specialization for queue->list commit c4144fa2a6a15cffc947de3676671a44864f2070 Author: felix Date: Sat Aug 20 03:28:05 2011 +0200 renamed mutate-procedure to mutate-procedure!; deprecated mutate-procedure commit 0f53037b1d95eb321131ad47a046db5e4835db81 Author: felix Date: Fri Aug 19 21:26:30 2011 +0200 types.db work; fixes; tests; fixes; tests... commit 3993d9c96b301c02657f187bda14a48b76a876ac Author: felix Date: Fri Aug 19 21:26:14 2011 +0200 trivial changes commit 9ffdbd3e5e17e96afe6d79836a2b4c3602647d9a Author: felix Date: Fri Aug 19 21:25:45 2011 +0200 small note about object-size commit b0ce140766b3929a9c7354336c1832370b8fc54e Author: felix Date: Fri Aug 19 21:25:05 2011 +0200 typo fix commit 6fca205ea0c109765a4cbd633ed087c39161a106 Author: felix Date: Fri Aug 19 16:05:37 2011 +0200 restore trail after failed OR-element match; types.db.new stuff commit 2817709c1d58e220fa2e29fc265ece3547c2597a Author: felix Date: Fri Aug 19 13:27:06 2011 +0200 countless tests and fixes commit d63d1fb8c53e538f22994ad420eaf59c5450ae17 Author: felix Date: Fri Aug 19 09:20:23 2011 +0200 added tests for typematching; fixed bug in matching of not-types; extract typevars for each specialization match; more obscure stuff commit fd6335b6130bf0c87a742a37fdd8594ef67e57b6 Author: felix Date: Thu Aug 18 15:15:26 2011 +0200 work on types.db commit ca17d63d565380cdab723688be6bb9e6c01beb71 Author: felix Date: Thu Aug 18 15:15:13 2011 +0200 resolve typevars in warning messages commit bce5af534277f4fc408575407f0c65d6183e8525 Author: felix Date: Thu Aug 18 13:07:09 2011 +0200 use general matcher also for specialization; many fixes; started with adapted types.db.new commit cc95833b8521a08486d1f704e43a50dc03da070a Author: felix Date: Wed Aug 17 15:06:10 2011 +0200 handle forall in special cases for types.db commit d9e0fbaa8b5e16030239a0b4128cda325c3f0ee2 Author: felix Date: Wed Aug 17 13:58:44 2011 +0200 trivial tweak in identify.sh commit 81874fead47a5333f7515069fbd648150bfd62cd Author: felix Date: Wed Aug 17 11:37:22 2011 +0200 also for internal alias for call-with-values, of course commit 7042404349f086aa08e0781fb63f441c36669604 Author: felix Date: Wed Aug 17 11:35:13 2011 +0200 more accurate type for call-with-values, cleverly optimizes single-value case commit 614611f75f68b98c6f616f82804e46ba18d8e2b7 Author: felix Date: Wed Aug 17 10:17:09 2011 +0200 added (undocumented) compiler-typecase commit 9e1d722f7b88dffda06dc594ded8d776dba06526 Author: felix Date: Tue Aug 16 15:44:58 2011 +0200 restore typevars after every specialization match; documented forall types commit 24bc0229f509b10d08716eb6ebe15eab87b56232 Author: felix Date: Tue Aug 16 14:01:36 2011 +0200 identify.sh: use empty branchname for (no branch) commit aa26bb8466669192b36a6c2259b4d3a65c9db272 Author: felix Date: Tue Aug 16 00:55:43 2011 +0200 started with polymorphic types commit ac8f2daddf4be1b6650ad48da14f3034bb5e310e Author: felix Date: Mon Aug 15 11:15:25 2011 +0200 clear list of previous assignments in toplevel-assignment-removal for each branch in conditional (found by Paul Colby and Mario Domenench Goulart) commit b0a2cb42bd8534ec103a7b1e5e0bc6221b50ded2 Author: felix Date: Mon Aug 15 10:22:33 2011 +0200 print parameters when printing compiler nodes commit a84501c6e9236ada00545869204f3dcd3a1b7511 Author: felix Date: Fri Aug 12 12:12:43 2011 +0200 handle complex types in specialization-match commit 3711757c9f288b97c587266c240641f080485d8e Merge: b1e65f3c 0562f2e5 Author: felix Date: Fri Aug 12 08:53:31 2011 +0200 Merge branch 'unboxing-straightening-fix' commit 0562f2e5935498e76e86780d59bbed55b60d09f4 Author: felix Date: Fri Aug 12 08:53:20 2011 +0200 bugfix in form-straightening commit 6b23185d5d3e69eb851391607db6947b51245c0c Author: felix Date: Fri Aug 12 08:18:45 2011 +0200 also straighten ##core#inline_unboxed commit c8165a2dc0f8f6ec26afc5f0ad3bbaa0a54a662c Author: felix Date: Thu Aug 11 11:45:33 2011 +0200 type-handling bugfixes; disable debug output during loading of type dbs commit efe7f7e5854260f3b49154c2678ff75817f6ab6c Author: felix Date: Thu Aug 11 11:44:54 2011 +0200 disable unboxing debugging commit b1e65f3c631059c7b9db1c9d32861fa1d0bbfba4 Author: felix Date: Thu Aug 11 10:44:11 2011 +0200 minor scrutiny bugfixes commit 02a581607edf6c2713ace0fbf58927adac0c88df Author: felix Date: Thu Aug 11 10:43:37 2011 +0200 straightening of let_unboxed inside inline[_allocate] (to fix bug reported by Sven Hartrumpf) commit d5e975fcc8faf822645feba2d943646b00b6ae68 Author: felix Date: Thu Aug 11 08:10:00 2011 +0200 some tweaks for complex types commit d0f778ec0f9c3c0b8e68a3025dca5459b1d726b6 Author: felix Date: Wed Aug 10 15:36:46 2011 +0200 hackish non-solution for specialization-matching of complex types commit 2a2abf7b7ed667a411860da0c91d1082b678fdf3 Author: felix Date: Wed Aug 10 15:33:21 2011 +0200 complex list/vector/pair types - untested and incomplete commit 759726da248adc72121cb611f80c33ee7091dbe5 Author: felix Date: Wed Aug 10 05:00:12 2011 -0400 bumped version to 4.7.4 commit ad2cb46b41e75097def9e95e5f714dd1d81e0a44 Author: felix Date: Wed Aug 10 05:00:01 2011 -0400 removed obsolete variable in scripts/setversion commit 5bbf21f1e32671b9cf49bb73a79943287d04a3e0 Author: felix Date: Wed Aug 10 04:43:47 2011 -0400 updated NEWS commit 98c13757c9bfc8746e655d990f20b1c6e94d65b0 Merge: 8be78e19 c765281f Author: felix Date: Tue Aug 9 14:04:24 2011 +0200 resolved conflicts commit 8be78e19c6918d782d55a7d4a6a2d3a3f9217317 Merge: 5b4368ed a588198a Author: felix Date: Tue Aug 9 14:00:50 2011 +0200 Merge branch 'master' into new-environments commit c765281f46fae8481a7f75e598cf9772b9e5d859 Author: felix Date: Tue Aug 9 13:31:12 2011 +0200 fixed incorrect result type in types.db entry for pointer-vector-set\! commit 1437a1152ca9a5223a3c532e9a200309a39a8448 Author: felix Date: Tue Aug 9 09:14:02 2011 +0200 add explicit path to fft test program invocation (suggested by Kon Lovett) commit 3c7b16605cdb170bb7c3d4c2b1eb06a8e0cf610f Author: felix Date: Mon Aug 8 05:35:32 2011 +0200 added queue-length commit 6e62d19f7af72546d6f43a191e4375c410f9d511 Merge: 1569fd20 a588198a Author: felix Date: Mon Aug 8 05:05:26 2011 +0200 Merge commit 'origin/master' into specialization commit 1569fd20820cfe7cfd6d4b74347db8cc9ba33946 Author: felix Date: Mon Aug 8 05:03:04 2011 +0200 more specific type for current-seconds commit a588198a1ffca015ffe0f834cf35ee125f7e8da6 Merge: 56feb9b9 63951bf4 Author: felix Date: Sun Aug 7 14:12:18 2011 +0200 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit 56feb9b9222d125b865e961396efc7d712de0eba Author: felix Date: Sun Aug 7 14:12:07 2011 +0200 added internal unsafe reverse proc; marked queue operations that happen to be thread safe; queue->list creates fresh list commit 5b4368ed12896b7e675f5ebf5c99e2d87050c566 Author: felix Date: Sat Aug 6 09:02:24 2011 +0200 removed scheme.import lib from README commit 63951bf423e828473f83bcb01ce871a050da4d6f Author: felix Date: Fri Aug 5 07:42:37 2011 -0400 updated manual for optional-argument macros commit 57a7bf7103c4e21ed83ff4b6876a2b13d22163ec Merge: ac843dd5 1eff1721 Author: felix Date: Fri Aug 5 10:04:12 2011 +0200 resolved conflicts commit 1eff172120220cb7e45ee4189821f7a7c3bd29a3 Author: felix Date: Fri Aug 5 09:34:05 2011 +0200 removed checks for surplus arguments in [let-]optional[sÜ]; reverted args-hack for current-directory commit ca990ee483c2de61228079b4e7e8b704f7f3b98c Author: felix Date: Fri Aug 5 09:33:17 2011 +0200 fixed bug in gp optimizuation (reported by Sven Hartrumpf) commit e1d04cff95ecc7ba1c7a556e9abc98ef6d376dd0 Author: felix Date: Thu Aug 4 06:26:10 2011 -0400 allows use of parameterize with current-directory (reported by Sven Hartrumpf) commit cc6cdd802cccd9dd9e4302eefae63b414e0c7a4f Author: felix Date: Thu Aug 4 05:37:33 2011 -0400 added use of er-m-t commit 9bdcc7ea41018947036e22dc09524fc901c9c413 Author: felix Date: Tue Aug 2 09:09:06 2011 +0200 profile-unit is compiled unsafe; fixed incorrect % calculation in chicken-profile (thanks to Sven hartrumpf) commit ce0ce0c4f175ce05cdcae86843a1382bf7389758 Author: felix Date: Mon Aug 1 12:27:09 2011 +0200 profiler uses flonum ms values commit ac7a7a963d43e7363a88ba6143a3a3eb01738131 Author: felix Date: Mon Aug 1 09:08:34 2011 +0200 ack Joo ChurlSoo commit 70e53184f9a530905011503a0a90c21919202cdb Author: felix Date: Mon Aug 1 08:51:59 2011 +0200 additional parameter-argument determines whether guard proc should be called or not commit e1c462abb056035e5146daf1be20f6c58d4b7fa3 Author: felix Date: Mon Aug 1 08:29:37 2011 +0200 renamed use of quit in chicken-uninstall.scm commit ac843dd5da8f41ba1fabd4d2ad7ba80b0adbf984 Author: felix Date: Sun Jul 31 14:07:22 2011 +0200 parameter-assignments returns the new value commit bf657f845645fb040b7f419649c603739bd93be8 Author: felix Date: Sun Jul 31 14:04:31 2011 +0200 added clarification about visible bindings in ,m and module-environment commit c7417d3e9112ff5fd2e18e171a755e73118b2301 Author: felix Date: Fri Jul 29 14:40:07 2011 +0200 added module-environment; refactored lookup of import lib; module saved-envs include val+syntax exports; added env tests; fixed overly general result-type decls for r5rs env procs commit b09d9cfc8f6b26549f8457dcae5d59179448784b Author: felix Date: Fri Jul 29 14:39:34 2011 +0200 fixed bug in tests/test.scm commit 180f5811da6a16b062a9587b829a3c6243a4ad3d Author: felix Date: Fri Jul 29 14:37:58 2011 +0200 added note about additional bindings in standard envs commit e96f3ee314dcfa8e4f0d8bfe76f4361888ba0b5b Author: felix Date: Fri Jul 29 14:37:14 2011 +0200 moved some list-operations into library.scm commit 6b94206e784d3a8bc476e1f9d430711cb0e649ac Author: felix Date: Fri Jul 29 14:36:18 2011 +0200 renamed redef of quit commit caa87e86ea76727320ba79c0c16ff084963188e2 Author: felix Date: Fri Jul 29 14:35:59 2011 +0200 removed ref to scheme.import.so commit 73848a7c8eefc2ec9f913522bdabc206f402f22b Author: felix Date: Fri Jul 29 13:10:14 2011 +0200 note about finalizer execution commit 3a437ebe64351be56ea0234dc3dfdc47bcd18891 Author: felix Date: Wed Jul 27 01:08:50 2011 +0200 argc limit depends on platform commit 48919d6d2928e12c2a2af615ad46c19195257147 Author: felix Date: Wed Jul 27 00:50:44 2011 +0200 use se's in eval-environments - this makes things fully standards-compliant but breaks the environments egg and everything that depends on it commit dfbde3ebfe2afcc20a84e71c220c396a976ce60c Author: felix Date: Tue Jul 26 03:54:39 2011 +0200 bugfix in ,m command commit 6b9d64e358dbb21f148d875d2ec4a5f0ae692871 Author: felix Date: Tue Jul 26 03:54:23 2011 +0200 primitive modules should be switchable, too commit bdfab86b4835e5c6b9c174063754b5b3b6c926c3 Author: felix Date: Tue Jul 26 03:53:55 2011 +0200 removed incorrect comments commit 822198a259da69336a36cfe7e0eb385d1ad3d08f Author: felix Date: Tue Jul 26 03:31:50 2011 +0200 removed ##core#global-ref commit f9355b4fba2bbf98a350c6a9e903957116f2b994 Author: felix Date: Tue Jul 26 03:31:39 2011 +0200 removed obsolete reference to global-ref commit f212116515aea9d99f1cf10c1f6b4baac6c9fab9 Author: felix Date: Tue Jul 26 03:29:35 2011 +0200 removed inconsistency in resolution of var in eval of assignment commit cf141f9c8773dcabb0ae0db7980d66a3bad49135 Author: felix Date: Mon Jul 25 14:41:51 2011 +0200 simplified gae handling in gp commit 8383d275069aa254fa6324e214dfbee0dcf2c790 Author: felix Date: Sun Jul 24 23:33:51 2011 +0200 don't gp when declared not-inline commit 53c1f1aa4367dc0a0d7013b9b291c97da503416e Merge: 4a275fcc cb22c92c Author: felix Date: Sun Jul 24 22:33:34 2011 +0200 resolved conflicts commit cb22c92c6786281e6885ab488138dcb35b31c945 Author: felix Date: Sun Jul 24 22:30:20 2011 +0200 floor ms values when returned as flonum commit 898c3a8cff0958dff859a4400ffbc4f192dddf04 Merge: 5e76f95e 610b76c9 Author: felix Date: Sat Jul 23 12:55:14 2011 +0200 resolved conflicts; no -verbose in debugbuild; simplify type after validation commit 610b76c95d4a2e3ae575af45963f38a9767ecbb1 Author: felix Date: Sat Jul 23 12:13:18 2011 +0200 updated scrutiny.expected commit 3fd7361a18342ba17fc16c0289be5677e205fcb9 Author: felix Date: Fri Jul 22 14:29:16 2011 +0200 removed constant-fold warning, since there allways will be stuff like macro-generated dead code commit 50f521d1c81a143aebe4cd1a285af784dc475f4e Author: felix Date: Fri Jul 22 14:08:53 2011 +0200 tiredly pounding commit c86c6571ad0d51aa0ec86ded641119e7a8616026 Author: felix Date: Fri Jul 22 13:16:02 2011 +0200 typo fix commit 130fec6c351ad186c3e13727de4e8e9568b59648 Author: felix Date: Fri Jul 22 13:15:34 2011 +0200 handle nonexistent version in download-file-header (thanks to Kon Lovett) commit c070950d6126ac11aa587414f92b778a2d4edb99 Author: felix Date: Fri Jul 22 13:12:27 2011 +0200 run identify-script from srcdir commit 5e76f95ed5d2f7e87c1b900666b2e3ec71570e34 Author: felix Date: Tue Jul 19 23:07:09 2011 +0200 moved arg/result merging to toplevel commit 4a275fcc8843674eba459b3004675141588a3750 Merge: f9158539 419223b4 Author: felix Date: Tue Jul 19 22:18:02 2011 +0200 Merge branch 'master' into global-propagation commit 419223b4f58d95620ecbc9774be1a54cecf7f15e Author: felix Date: Tue Jul 19 22:17:52 2011 +0200 make sure buildbranch always exists commit f9158539b624da1459b16cfe1321ad8a83b45585 Merge: 17b567e6 0d9aff40 Author: felix Date: Tue Jul 19 22:16:45 2011 +0200 Merge branch 'master' into global-propagation commit 0d9aff403cbe588bcadad3b9e167a9392560e262 Author: felix Date: Tue Jul 19 22:16:37 2011 +0200 added identification script commit 5be8296e051da543b3caa4625a86f276a5220edd Author: felix Date: Tue Jul 19 22:15:33 2011 +0200 fiddling with build to ensure buildconfig-files are only generated when their content would change commit 3af8d848fa42181af0ec84004dbad8f26ab0ef3b Author: felix Date: Tue Jul 19 13:40:44 2011 +0200 confclean must force regeneration of buildXXX commit d7a087972fa736faf6aa3984a50dc1f77e8c2d72 Author: felix Date: Tue Jul 19 13:38:40 2011 +0200 buildXXX is not phony, or the build will never be complete commit 17b567e60ef9348df2778a86c471ee3b4f14175e Author: felix Date: Tue Jul 19 13:19:47 2011 +0200 gp causes extra warning in scrutiny-test commit d5178d86dc06ad89771ce0d4859753636350dcbe Author: felix Date: Tue Jul 19 13:19:29 2011 +0200 don't propagate across direct_lambda commit 42468a61e73862be3bc2d41e911859b5f6a1073f Merge: bc364f72 9999b426 Author: felix Date: Tue Jul 19 12:25:15 2011 +0200 Merge branch 'master' into global-propagation commit 9999b42674d50e1dec79f8fac5253d51613a08c4 Author: felix Date: Tue Jul 19 12:25:03 2011 +0200 distinguish quit used inside compiler from library procedure commit 35f78c1839d01c7c84d4de5deebc45a7a16a4d91 Author: felix Date: Tue Jul 19 12:24:44 2011 +0200 use correct default for exit-code commit bc364f727b231801fabfea2c562ddf26d21b0e98 Author: felix Date: Tue Jul 19 12:04:01 2011 +0200 use x debugging mode for gp message commit 785c5e9c5da5e4e3e6518c39bbf03b47bfb1eb47 Author: felix Date: Tue Jul 19 12:02:30 2011 +0200 strip location identifier when ensuring transformer commit 0a15783abbbd2b01baec1ac5b119f50f5ad5a184 Merge: 635d8d3f eca1945c Author: felix Date: Tue Jul 19 12:00:06 2011 +0200 resolved conflicts commit eca1945c6b6ea1d7d0dbd2936f13aa388266a64e Author: felix Date: Tue Jul 19 11:59:21 2011 +0200 quit invokes exit-handler by default; added missing exports for chicken module commit 965df1b001cf010d06c8252748dc4a8125dae6c2 Author: felix Date: Tue Jul 19 11:57:49 2011 +0200 round time needed for compiler-passes commit 4e8ef70c5edeb6d4d0d81923842a57300bab253c Author: felix Date: Mon Jul 18 00:28:41 2011 +0200 added quit, q csi command invokes quit commit 23fad30a3f02fcb949b8ca853bdda43c74abdb41 Author: felix Date: Mon Jul 18 00:05:36 2011 +0200 add isinf definition for Solaris - thanks to Claude Marinier commit 85110baf3b5723e681156ce06fd39b2d65681493 Author: felix Date: Sun Jul 17 23:57:25 2011 +0200 types.db entries for some internal procedures commit 8ac1eea5f9f7547a03438175506b4ed00fed3300 Author: felix Date: Sun Jul 17 23:42:45 2011 +0200 added build-version.c to manual where it talks about deploying compiled .c files commit de4d03ed60567dc28fa25fb72359dbd88470103f Author: Jim Ursetto Date: Fri Jul 1 18:16:02 2011 -0500 Remove version.scm and references to C_BRANCH_NAME and C_BUILD_TAG commit c7d571753a3db9381545e0b466f69fd0192eb13e Author: felix Date: Sun Jul 17 23:37:19 2011 +0200 look, it's not my fault git is so stupid, ok? commit 3177a4daa58d518e074a06de728dcf88fe8750a2 Author: Jim Ursetto Date: Fri Jul 1 18:15:25 2011 -0500 Add unit build-version with build branch, tag and ID variables Generate new files buildtag and buildbranch during the make process, as well as buildid (containing the git hash of HEAD, via identify-revision.sh). Make their contents available via ##sys variables in new Unit build-version, and pull this unit into Unit library. commit 93517411bfad107871a11cdc4ecc1a9a12079290 Author: Peter Bex Date: Sun Jul 17 15:56:55 2011 +0200 Change port procedures which try to read or write (or access the underlying descriptor) to not just check their arguments for being a port, but also check that the port is still open. commit 1518daab965bbde5e5c99b3b56b3dbd56af67094 Merge: 4d3a7dd7 7a9d96de Author: felix Date: Fri Jul 15 16:11:30 2011 +0200 resolved conflicts commit 4d3a7dd7d24619190d3961fea39e28d21dbb6bed Author: felix Date: Fri Jul 15 16:08:22 2011 +0200 enable verbose mode when DEBUGBUILD is used commit 7a9d96def782128ec33db66b2319c6e14d42806c Author: felix Date: Fri Jul 15 16:07:55 2011 +0200 enabled linear-cc again commit a02d077631437e0a42af2f719928a6a366dbef6f Merge: 7202de09 e31d2830 Author: felix Date: Fri Jul 15 15:08:53 2011 +0200 resolved conflicts commit e31d2830c23a46298b06bc3c6600e3762fd286f2 Author: felix Date: Fri Jul 15 15:07:47 2011 +0200 removed implicit lambda variant of define-compiler-syntax from manual commit 5aab750e2388fde60b5fd0c07f1157c23fb254a7 Author: felix Date: Fri Jul 15 15:05:48 2011 +0200 compiler-syntax fixes; removed uses of define-syntax with implicit lambda commit 24dd015c316ef1318c11f169ffd635c844df370a Author: felix Date: Fri Jul 15 14:44:34 2011 +0200 use er-macro-transformer everywhere commit e65a1b47c1a586b9a95f2540622ff7660f8b6761 Author: felix Date: Thu Jul 14 16:46:32 2011 +0200 first attempt at introducing wrapper structs for transformers; documented er/ir-macro-transformer; make check seems to work but self-compile is not yet tested commit 832ab32b465348c6e2de70d71b7d68c5152a1c8c Merge: 34544391 7d0520e1 Author: felix Date: Wed Jul 13 17:36:48 2011 +0200 Merge commit 'origin/irregex-bugfixes' commit 34544391f22cde66349fed1d43c7c6d8044ff22c Author: felix Date: Wed Jul 13 17:23:19 2011 +0200 added sanity check in make-er/ir-transformer commit afa0977c3aa00910af8bf8d2627151181cecde1c Author: felix Date: Wed Jul 13 17:01:24 2011 +0200 undocumented use of raw lambdas in places where transformer procedures are used commit 7d0520e145bc251abe2499af8149ff271ede6b29 Author: Peter Bex Date: Wed Jul 13 00:44:41 2011 +0200 Apply upstream irregex changesets 65f3099f0aa6 and 4b9d8131ca52 (fixes the 'help my irregex is half-matched' part of #636. Still doesn't explain why sometimes the input does get rejected on some machines) commit 7202de092b41c36bb720168a5f7ca5d0cc04793c Author: felix Date: Wed Jul 13 00:25:46 2011 +0200 argh commit e87440a88b966f1c4dc95902070537b43fa0939e Author: felix Date: Tue Jul 12 21:48:13 2011 +0200 promise? is a predicate commit 9e73b5a89fbbf5067b577869cd7709306fc0772f Merge: 5defd64d 7893f6eb Author: felix Date: Tue Jul 12 21:45:42 2011 +0200 resolved conflicts commit 635d8d3f5292d35f99bac11845ff6268e780d281 Merge: 756e891c 7893f6eb Author: felix Date: Tue Jul 12 21:39:00 2011 +0200 Merge branch 'master' into global-propagation commit 3cc1e64e04c8fcab1d0d024ecb80b7e8a560c5c0 Author: felix Date: Tue Jul 12 20:59:16 2011 +0200 remove duplicates from closure records commit 7893f6eb521dcfe91f49726e9ee7c0ab7a33f74a Author: felix Date: Tue Jul 12 20:29:31 2011 +0200 Revert "trying to do sensible closure-conversion" This reverts commit 80708c08b4da846879ccd2b320fe1525931f211f. commit 0d4149ed2d0c44ecd1c50ffbb106f6d8f10db149 Author: felix Date: Tue Jul 12 20:28:30 2011 +0200 Revert "fixed closure conversion, nice speedup" This reverts commit 2560f00518d4b9456ddf3fa014394c81b38c2611. Not working yet (as reported by Kon) - "expand.scm" compiled with this change will result in csi failing syntax-tests.scm. commit c67b6654f0f4add320f282408e4df931ee8714ed Author: felix Date: Tue Jul 12 20:27:46 2011 +0200 deprecated shuffle commit 2bf40f0b08baa7a82d0ee19e1511f2b4d90af1bd Author: felix Date: Tue Jul 12 14:41:46 2011 +0200 cast to double in C_cpu_milliseconds to avoid overflow commit 7d2491a5f4886f92c7bca4cbec73192d49ec6ccd Author: felix Date: Tue Jul 12 14:40:28 2011 +0200 setup-download: handle nonexistent version in response comment commit 2f19b0100e30dfbd94db6a4f9283e751b82a1659 Author: felix Date: Mon Jul 11 23:39:55 2011 +0200 handle OR dependencies in chicken-install commit 9faf228474c6a0e73f892fe92033a45e1d5ae424 Author: felix Date: Mon Jul 11 22:58:42 2011 +0200 chicken-status did not accept patterns as documented commit a1b5f0eabcdb56b6aa64010ca7e79359dfc325db Author: felix Date: Mon Jul 11 22:57:26 2011 +0200 parse henrietta response and properly set default version commit 1c5ce50808416ef20039af87e811ad02cdf36836 Author: felix Date: Mon Jul 11 22:54:21 2011 +0200 printer-tweak for regex-match commit 2560f00518d4b9456ddf3fa014394c81b38c2611 Author: felix Date: Sun Jul 10 23:01:15 2011 +0200 fixed closure conversion, nice speedup commit 80708c08b4da846879ccd2b320fe1525931f211f Author: felix Date: Sun Jul 10 14:35:02 2011 +0200 trying to do sensible closure-conversion commit 756e891c705a5da8a55f51876042736f3feb8cd0 Author: felix Date: Sun Jul 10 13:33:55 2011 +0200 propagate bindings to globals until invalidated commit 5208ca9574c0150f44d6968d1e8d542216f9dc82 Author: felix Date: Sat Jul 9 13:49:51 2011 +0200 added note in README about overriding LIBDIR when /usr/lib64 can not be found (#210) commit aa311949b1d78f75bf3ccc5274eeac98ac73db14 Author: felix Date: Wed Jul 6 08:25:06 2011 +0200 minor fixes reported by mario commit 9663b2ea0eee0fc95c1f16d9491c1adab762498a Author: felix Date: Wed Jul 6 08:19:59 2011 +0200 fixed percentage calculation in chicken-profile (thanks to megane) commit 45c040f0a352c6f4b4431788aef1d0357c6ede6f Author: felix Date: Wed Jul 6 08:04:37 2011 +0200 increased default backlog for tcp-listen (as suggested by sjamaan) commit 49b92ba0bfb7ecfceb49a45f64e9943ea83a6d94 Author: felix Date: Wed Jul 6 08:02:33 2011 +0200 removed def and use of fdset for error flags commit 5defd64d28e29060e2b4fbcf9418d6a4e41539c8 Author: felix Date: Mon Jul 4 12:21:09 2011 +0200 moved type-simplification to toplevel commit 98259ae99912d3c7883cb32bfa2e51252ec02e4e Author: felix Date: Mon Jul 4 12:13:59 2011 +0200 make active-eval-env a parameter commit 8f1cabaabadf89361ce3b594903cbd2c43c3deec Author: felix Date: Sun Jul 3 12:09:02 2011 +0200 removed remaining support for reloading/unloading .so's commit 4f04803b4b67f329b336beb37142fe8e6be710e3 Author: felix Date: Sun Jul 3 11:15:20 2011 +0200 added optional evaluator procedure to repl (as suggested by John Cowan) commit 98d24ac8173c30cf7f7fa9dcb5925d897e66db97 Merge: 7ae936da 7d63669f Author: felix Date: Sat Jul 2 23:14:22 2011 +0200 resolved conflicts commit 7d63669fd4d13f1b9a567b84675969e9cc70fe3b Author: felix Date: Sat Jul 2 23:07:02 2011 +0200 added foldl/foldr to types.db commit 0fc30833918e25090f5e7da0911cf970f21a13a1 Author: felix Date: Sat Jul 2 23:04:02 2011 +0200 added foldl and foldr commit 7ae936dabe848a7afe7cb3ab727bb4785c8d8907 Author: felix Date: Thu Jun 30 06:24:00 2011 -0400 tcp-port-numbers used incorrect checks for results of port-accessors; string-results in foreign functions have scrutiny-type "(or boolean string)" commit a8f8a6f9826dd5ccd33248affd0932574600aea3 Author: felix Date: Thu Jun 30 06:23:28 2011 -0400 removed redundant test in lookup-script-file (csi) commit 83cdf21f6b04a894dda8abd299d4c4cae070bc62 Author: felix Date: Thu Jun 30 03:30:47 2011 -0400 another comment commit 1a09519edcbdc916700087810ccc692f406bd955 Author: felix Date: Thu Jun 30 02:56:44 2011 -0400 added note commit 17484a4013ef4f964110c2a502316ef538a142e0 Author: felix Date: Wed Jun 29 05:06:28 2011 -0400 amended manual entry for def-spec commit 44348a9f9ab8bd3312e89e751a6307fe653e33f7 Author: felix Date: Mon Jun 27 10:33:54 2011 +0200 drop else-branch when conditional test is non-boolean (as suggested by Joerg Wittenberger) commit a548805a0114bed0f0aa426549eb68e81caa0b47 Author: felix Date: Mon Jun 27 09:42:31 2011 +0200 -uses didn't split option-argument as documented (thanks to Santosh Rajan) commit e15665416d3dbe2851b2e7f37b41c068fd52018d Merge: f5ba87bb 458d8da1 Author: felix Date: Sat Jun 25 14:16:24 2011 +0200 Merge commit 'origin/experimental' commit f5ba87bb0f13dafe4f1ea85eae1a10ddf958167e Author: felix Date: Sat Jun 25 13:56:45 2011 +0200 added missing entry in filelist to README commit df56ea82055cbde6aba59e61c0a4beffa3e11c8c Author: felix Date: Sat Jun 25 13:44:29 2011 +0200 added some missing entries to NEWS file commit 7df0ae11d7ea5e21f7e18832a57e53a0d844c1e9 Author: felix Date: Sat Jun 25 13:37:28 2011 +0200 allow unboxing fx/?; factored out div-by-zero generation and moved some fixnum and flonum operations into chicken.h commit ba2dd616650a25c368b80a1a8644e8322b4196c0 Author: felix Date: Sat Jun 25 13:36:48 2011 +0200 brutally force-globalizing name in define-specialization commit 72027c7bfe2384d78cc694914c2200ddad7499f2 Author: felix Date: Fri Jun 24 19:33:02 2011 +0200 NEWS fixes commit 458d8da13f192dca6fdfd2a4ad613feb351646ea Author: felix Date: Fri Jun 24 19:32:19 2011 +0200 bumped version to 4.7.2 commit e20d1d9e45e4abae9940647ad786f23983b24da7 Author: Mario Domenech Goulart Date: Fri Jun 24 11:46:36 2011 -0300 makedist.scm (release): create directories with parents (tests/reverser contains subdirs, for example) commit 033859fd4f9b0c4393a7c7501f8ebd433c3db944 Author: felix Date: Fri Jun 24 19:05:44 2011 +0200 validate types in define-specialization commit f912e5647a7a410908e0cfbbf5200ae980920364 Author: felix Date: Fri Jun 24 17:09:28 2011 +0200 local specializations; added badass define-specialization commit 9d1495e09d6decd57119872bb47b2976d4896642 Author: felix Date: Fri Jun 24 14:23:20 2011 +0200 rest-list access in speciialization-templates; fixed specialization-syntax specification; show walk-depth in debug output commit e43d3f2ebe22ab82fd64079738e1040bdd6fb978 Merge: d28e16ab 315fc369 Author: felix Date: Fri Jun 24 13:33:49 2011 +0200 Merge branch 'expander-simplifications' commit d28e16ab4920a4c587444fa2afba82c219fa79ab Author: zbigniew Date: Thu Jun 23 17:46:16 2011 -0500 string->number accepted out-of-range characters for base > 10 commit 315fc3698727803ad74dd424b365d5ae1c56d5cf Author: Peter Bex Date: Thu Jun 23 22:28:56 2011 +0200 Peter, whenever you change something, check to see if *all* occurrences of the same kind of thing are handled! commit 41cff6fc00bc40ce3485ab99725b6073b31a425c Author: Peter Bex Date: Thu Jun 23 20:49:27 2011 +0200 Fix strip-syntax for nested renames by storing the realname of the aliased symbol instead of storing the alias as realname (alternatively we could've recursively walked the alias chain, but that's more expensive) commit 138b7cb0f82188e60bcaebe34334a1b8b8d89cad Author: felix Date: Thu Jun 23 20:42:32 2011 +0200 use proper id-generating syntax for predicate-specialization; rewalk specialized node to allow result to be specialized, yet retaining the result type) commit bb29d049813112d08e2ae4d739a874fd09527b5c Author: felix Date: Thu Jun 23 20:40:21 2011 +0200 added suggestive note to types.db commit 639c75bc115e8cc28c6f31ee3f644712989bf7b0 Merge: cf9aea2d 4e36ed93 Author: felix Date: Thu Jun 23 20:04:55 2011 +0200 Merge commit 'origin/master' into experimental commit 4e36ed938b523d1d3b89e2df48065c47edfc395e Author: felix Date: Thu Jun 23 19:54:52 2011 +0200 treat core syntax-modules differently when doing the right thing commit 69fe4239f0160c2dd0a3d54132eb4dbaf8f6ac86 Author: felix Date: Thu Jun 23 10:48:12 2011 +0200 generalized introduction of temporaries in rewrite-rule, also allows backrefs; rewrite fp-div into fp/? (new); updated test-files commit 81f8f3e65e7500065858b669f635b1b9ee7a0955 Merge: 80d18437 4aaea216 Author: felix Date: Thu Jun 23 09:52:27 2011 +0200 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit 80d18437c0e2e4932631bb9eb155aee43e8b6414 Author: felix Date: Thu Jun 23 09:42:24 2011 +0200 fixed chicken-install -list for local and svn transports commit cf9aea2d88708e5227e909ef4dbc8bec33e02d74 Author: felix Date: Wed Jun 22 05:40:53 2011 -0400 bumped version to 4.7.2 commit 4aaea216cc9887c1def052588f4a472114a330e7 Author: felix Date: Wed Jun 22 03:29:14 2011 -0400 completed NEWS commit 2e08ab283ac26cd166cd463f7c5507624470fbd3 Merge: 7d9b681b 71ecc38e Author: felix Date: Tue Jun 21 12:51:26 2011 +0200 Merge branch 'master' into experimental commit 71ecc38e2f851ffb558152bd2ad0c7cc5d2368c0 Author: felix Date: Tue Jun 21 12:50:52 2011 +0200 updated NEWS (not complete, yet) commit 8b838223486f70b09a2a9e07f8f05555e8b1b631 Author: felix Date: Tue Jun 21 12:50:41 2011 +0200 added -reinstall to usage info in chicken-install commit 21e1be23bc8655e1a04185cb6d71def89d3b6f5c Author: felix Date: Tue Jun 21 12:50:22 2011 +0200 trivial change commit 0693f46156d8b8c0e9d0959a566311492bc9bcb8 Author: felix Date: Tue Jun 21 11:57:48 2011 +0200 updated scrutiny.expected commit 7d9b681b5658f087d00bf45c1e1f45df27dd0f86 Merge: faeb66eb e03847a0 Author: felix Date: Tue Jun 21 10:17:20 2011 +0200 resolved conflicts (can you tell I'm hopeless with git?) commit faeb66ebe92ae51bd497b8b85218516317372285 Author: felix Date: Tue Jun 21 10:16:20 2011 +0200 re-applied patch to set and clear error-fdset in scheduler commit c2fabc00c2c88c0fb595bb61f2752858661330d3 Author: felix Date: Tue Jun 21 10:15:58 2011 +0200 re-applied patch to enable sanity checks in scheduler commit 3fe98e5fbf4fb13a85a831cb2c094a11fbb9ee54 Merge: 8969da90 e03847a0 Author: felix Date: Tue Jun 21 10:14:32 2011 +0200 resolved conflicts commit 8969da90e403c2fcdda2814c3b30243a1d0d2003 Author: felix Date: Tue Jun 21 10:12:16 2011 +0200 Revert "also check for errors in select(2) call in scheduler; don't ignore sanity checks anymore" This reverts commit 3fe53ece5a210d5a67d7ebc764af038593b00824. This might break something and will be postponed until 4.7.2 commit 543624dead79e6169033adcfa478151e3c992158 Author: felix Date: Tue Jun 21 10:11:42 2011 +0200 Revert "actually clear/set fdsets for error-fdset" This reverts commit 7cd875bb13f2efd2af83a9f8d82217101e4e85a3. This might break something and will be postponed for 4.7.2 commit a0eb3a76048c7f520e190167558789d0cd9aefe1 Merge: 44509903 df279bda Author: felix Date: Mon Jun 20 15:51:52 2011 +0200 resolved conflicts commit e03847a03d47415a9ded94ef66a3bcb690aadf73 Author: felix Date: Mon Jun 20 15:40:49 2011 +0200 immediate non-null argument to list-tail resulted in crashing type-check (reported by Sven Hartrumpf) commit df279bda1c3909a65d57053482d325d38becf360 Author: felix Date: Mon Jun 20 15:41:13 2011 +0200 give warning when constant fold fails due to error message commit d530de2f7623629dc38f99c6b0c4d5127dea743a Author: felix Date: Mon Jun 20 15:40:49 2011 +0200 immediate non-null argument to list-tail resulted in crashing type-check (reported by Sven Hartrumpf) commit 54adaee1d6bba6cb123e916aace05ef5ef086c3a Author: felix Date: Mon Jun 20 15:38:21 2011 +0200 trivial changes commit 7cd875bb13f2efd2af83a9f8d82217101e4e85a3 Author: felix Date: Sun Jun 19 14:28:06 2011 +0200 actually clear/set fdsets for error-fdset commit 3fe53ece5a210d5a67d7ebc764af038593b00824 Author: felix Date: Sun Jun 19 14:06:50 2011 +0200 also check for errors in select(2) call in scheduler; don't ignore sanity checks anymore commit 445099034df2fa486aff393b0074d12fb8e16cfb Author: felix Date: Sat Jun 18 23:47:58 2011 +0200 rewrite-rules for number-of-bytes and number-of-slots commit a2f3fb1209301c78c518f91a6691be25a2fad8ec Author: felix Date: Sat Jun 18 22:37:52 2011 +0200 cherry-picked fix for #578 commit bd1ddb1be0761317a16a000c19eb000987e07f60 Author: felix Date: Sat Jun 18 22:33:21 2011 +0200 fix for #578: require-extension must expand into import for core-units commit 4c57d2cba9c756c7ceaeea9b38c8bc0a028dcf7c Author: felix Date: Sat Jun 18 21:54:21 2011 +0200 use proper environment in eval/meta for compile-time evaluation, factored it out into ##sys#eval/meta commit e39865ff77837f1b82a96e70aae92ffc1bbaf554 Author: felix Date: Tue Jun 14 11:03:35 2011 +0200 applied patch by sjamaan to fix #584; store both raw and aliased name in callback-names list commit 03690b1a25b2fd8d052482e7ea74dbfe8fd4dabb Author: felix Date: Wed Jun 15 03:21:08 2011 -0400 default target library name for cross-chicken is libchicken (suggested by Otavio Salvador) commit 5bb87a8c9f607e14223e5522a430958934492287 Author: felix Date: Sat Jun 18 13:12:38 2011 +0200 tried to make make-pathname more sensible (thanks to Jim Ursetto) commit 8b4bfa4ffe368c261d13b667625d68f27fd2a2ee Author: zbigniew Date: Wed Jun 15 00:49:51 2011 -0500 Fix posix#file-type on Windows by testing for regular file first commit 658955c86d2e7083e6184246f77088cfb354152c Author: felix Date: Sat Jun 18 15:20:58 2011 +0200 fixed dropping of device name for windows flavor of normalize-pathname (reported by Jim) commit 234ea22ff3f56d11680db383801ce22e4b84aa91 Author: felix Date: Sat Jun 18 15:21:27 2011 +0200 no need to run ##sys#resolve-module-name here commit ae2b9b68f01a912fac86154b96013da1c4041619 Author: felix Date: Sat Jun 18 15:20:58 2011 +0200 fixed dropping of device name for windows flavor of normalize-pathname (reported by Jim) commit 7b147cfcbe162d319a1d650a0a4d3b571b763a9d Author: zbigniew Date: Wed Jun 15 00:49:51 2011 -0500 Fix posix#file-type on Windows by testing for regular file first commit 972d399b59a383c46b11f74c7388258b7f533f45 Author: felix Date: Sat Jun 18 13:12:38 2011 +0200 tried to make make-pathname more sensible (thanks to Jim Ursetto) commit c6812e621f0b28bc0749f9323b4a3c8b59586b15 Author: felix Date: Fri Jun 17 07:41:55 2011 +0200 turned subtype-declaration warning into notice commit 9dc95e7867c3d4829a2226a03d47a262c400c434 Merge: a075edf4 2cb3cd5e Author: felix Date: Thu Jun 16 03:52:35 2011 -0400 Merge remote branch 'origin/experimental' into specialization commit a075edf423df96cef955a3c4c36d1ffa2c2ceada Author: felix Date: Thu Jun 16 03:51:51 2011 -0400 commented out type-check-generation to avoid warning; slightly better pname in argtype warning commit 2cb3cd5ed5eacf40223533a64217ca838063f891 Author: felix Date: Thu Jun 16 03:39:55 2011 -0400 use cps in %process to avoid warning commit 6714cd5265607ee5bf7f988300f096922284dba0 Author: felix Date: Wed Jun 15 08:00:15 2011 -0400 void ftype maps to undefined stype commit 4be3ce7fb74c769c98cf1e995b428223b827b8ae Author: felix Date: Wed Jun 15 07:58:56 2011 -0400 -specialize implies -scrutinize commit 72cdfa401726869eff901bc57960fd72bc515928 Author: felix Date: Wed Jun 15 07:57:49 2011 -0400 slight extension of assume doc commit f8bf7d645503a9d4584618514ee19b261d0d787c Author: felix Date: Wed Jun 15 05:53:29 2011 -0400 types.db fixes commit 87e5fcd7205bdf4fde3e058b523ec5eb0199a758 Merge: 45945e65 d736b66c Author: felix Date: Wed Jun 15 03:42:59 2011 -0400 Merge branch 'specialization' of /home/chicken/chicken-core into specialization commit 45945e653bf7790ccec03bddcc8427c9215cb2c0 Author: felix Date: Wed Jun 15 03:41:25 2011 -0400 types.db fix for string-conc.-rev. commit ef22968d292e5204bbe2e45b8a28abd7a5d78471 Author: felix Date: Wed Jun 15 03:21:08 2011 -0400 default target library name for cross-chicken is libchicken (suggested by Otavio Salvador) commit d736b66cd005d1de97e016b84c4bde5251474b1d Author: felix Date: Tue Jun 14 13:20:20 2011 +0200 argument to ##core#the needn't be quoted commit 3a38ca4aeeeb36ac068a0f93f98c131133886245 Author: felix Date: Tue Jun 14 11:03:35 2011 +0200 applied patch by sjamaan to fix #584; store both raw and aliased name in callback-names list commit fddf8a7c1790786e031f42e5ead898d3c59392f3 Author: felix Date: Tue Jun 14 09:23:17 2011 +0200 chicken-install -list commit e1753f6f144829104ca5569055fdd5f1e5f01fec Author: felix Date: Tue Jun 14 09:21:28 2011 +0200 updated binary-version number in crossdev manual chapter commit 031ce5c6d750f4f8727c26a61a5fbb27ece0af0f Author: felix Date: Sat Jun 11 22:51:05 2011 +0200 eval: handle ##core#the commit 122524c3e6a205b66ca4ef1175ff6d93a349c04d Author: felix Date: Sat Jun 11 15:36:32 2011 +0200 removed escape decl; no more typecheck generation; initial types only with strict-types; added assume; ffi forms are the-wrapped commit 00d3ee7c58af409de131c3132ba9d77c2e3a106e Author: felix Date: Fri Jun 10 14:43:08 2011 +0200 added some notes to scrutinizer source code regarding type-check generation commit c0a87aa01b4642d49145b9872bd01541e800c8fa Author: felix Date: Fri Jun 10 14:35:32 2011 +0200 mark debugging 'x commit 48a1c43acae276cd8cea71e9218b5e9d26f9ffd5 Author: felix Date: Fri Jun 10 14:34:04 2011 +0200 omit argtype checks unless dest is declared commit cb1964414a788657ac48bdbf8c84576982388467 Author: felix Date: Fri Jun 10 14:13:55 2011 +0200 decorate procedure-type on validation only if not validating parts recursively commit 8ce4a09fb70b5c4be2c51949078556be7acd27b9 Author: felix Date: Fri Jun 10 14:03:56 2011 +0200 small typo in error message commit 388f6dc8468af5240165770d11f50c320e8b6589 Author: felix Date: Fri Jun 10 09:49:48 2011 +0200 csc -v enables -verbose commit 150644df9793b774686f94561f8681897f5bad22 Author: felix Date: Fri Jun 10 08:33:19 2011 +0200 doc and test fixes; added notes in code about type-qualifications for FFI forms; added type-conversion routine (unused yet) commit 6ec9151674560199a7a35bd629c3442a17a04a72 Merge: 54e18c8c 7140d3cb Author: felix Date: Fri Jun 10 07:50:03 2011 +0200 Merge branch 'specialization' of /home/felix/chicken/core into specialization commit 7140d3cbe406df979e6c73cf8d0b37196d700c45 Author: felix Date: Thu Jun 9 04:39:11 2011 -0400 -verbose enables notices; debug-info about compiler-passes, -phases and interesting events is shown with -debug p commit 487579a1a1faff1755cdacc4175dafe0c2560e38 Author: felix Date: Thu Jun 9 03:53:21 2011 -0400 ##core#the validates type; fixed incorrect type<=? for procedure argument types commit 53c6da07739cbe498bfc94ad1146998d71e62568 Author: felix Date: Wed Jun 8 08:24:59 2011 -0400 tweaked/fixed scrutinizer warning for incompatible types in 'the' forms commit 325ac17d21e2961e2abdc5ac19f329af78c0685d Author: felix Date: Wed Jun 8 03:58:57 2011 -0400 added ##core#the commit 54e18c8cce7c2dcd073bff4ed3f5bfbf1d288928 Author: felix Date: Mon Jun 6 15:45:30 2011 +0200 disable scrutiny if -w is given commit 7080a850552c1dc939352aa1ddd2b342c88e57b2 Merge: 7a0bdd96 94a90d7a Author: felix Date: Mon Jun 6 12:56:41 2011 +0200 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit 7a0bdd962424622fafa829960ca72cdcf08257e8 Author: felix Date: Mon Jun 6 12:56:20 2011 +0200 removed make-egg-index and add it to maintenance repo, as suggested by sjamaan commit 1f694f868dbc361781466c23bd67db614e128f4c Author: felix Date: Mon Jun 6 12:55:14 2011 +0200 applied patch by sjamaan commit 94a90d7abe92aa165a46ba6746fba421bd461c6f Author: felix Date: Wed Jun 1 04:02:34 2011 -0400 updates to Getting Started manual chapter commit 947e231899b82428a9c5ee42e068728696d5ef27 Author: felix Date: Wed Jun 1 03:52:09 2011 -0400 updated supported SRFI feature-identifiers commit 0f385bb9c61931bff1eaa212fa8dd83fcbae870d Author: felix Date: Wed Jun 1 02:58:28 2011 -0400 added support for missing int32 type in c-backend (thanks to Jim Ursetto) commit 413d127e61f167356c18dfed8b48e880915f8494 Author: felix Date: Mon May 30 14:01:56 2011 +0200 better check in type-validation; nicer predicate-specification in types.db; updated scrutiny.expected commit be77b972f9e691cb7ae1ea1dfbc9a8bda6d9c21e Author: felix Date: Fri May 27 11:25:46 2011 +0200 respect enforcement and predicate status for emitted types commit 714871dd8241c6b00c8e6eeb7c8f1e8e8445636d Author: felix Date: Fri May 27 11:25:32 2011 +0200 corrected when type-checks are generated commit b2ada759898634a131388a778e5cdf4068d41e40 Author: felix Date: Fri May 27 09:08:09 2011 +0200 declaration doc cleanup commit 6b3fd9c0cf8af748e20c5af0f133eec2240b528e Author: felix Date: Fri May 27 09:03:57 2011 +0200 escape declaration; tests; doc commit fbd01232468c6b939a82bb543169862a9ce4e3af Author: felix Date: Thu May 26 09:28:27 2011 -0400 predicate syntax for procedure types (as in typed sports equipment) commit 6ef0839ae2da648e32d28b6b903073f47473c76c Author: felix Date: Thu May 26 09:27:56 2011 -0400 types.db conflict resolution commit 823a0bd1ecef0432c97efb082eb236e142c5ee9e Merge: f90f9b28 bd8e5228 Author: felix Date: Thu May 26 09:08:46 2011 -0400 Merge branch 'specialization' of /home/felix/chicken-core into specialization commit bd8e5228fe1b6adeeaf61bf4695cdbf15ce8a2f2 Merge: 7f113e59 8ab5a7ec Author: felix Date: Thu May 26 09:08:28 2011 -0400 resolved conflicts commit 8ab5a7ec7cd878354e6facf3b47bc85030a2f6d9 Author: felix Date: Thu May 26 09:04:11 2011 -0400 bumped version to 4.7.1 commit c5705f61e3de31c4fa0e35f47dbbb5ceafe05d15 Merge: 021384ba 90682e34 Author: felix Date: Thu May 26 09:03:30 2011 -0400 resolved conflicts commit 90682e34178bd29f495989bad1af5e76eee3e7e9 Author: felix Date: Thu May 26 08:02:56 2011 -0400 merged wiki changes into manual commit d74b3f00a1bdbb946964523813a9fdaefee936ec Merge: 08a1b87b 98e77a7f Author: felix Date: Thu May 26 07:59:46 2011 -0400 Merge branch 'release' commit f90f9b280e3721bcca3309166770d739c7f69453 Author: felix Date: Thu May 26 06:25:04 2011 -0400 different debug options for inline-info and implicit type decls commit 1cd8062c86eb26d711279ec1b743ab31a6c37a9a Author: felix Date: Thu May 26 06:24:38 2011 -0400 enable specialization by default commit 08a1b87b6568514a946375bc2f6153a8ef605453 Merge: 383121ed 118aa8b5 Author: felix Date: Tue May 24 11:25:47 2011 +0200 Merge branch 'prerelease' commit 98e77a7f8a8f7dd4043a2f77f3391c8beb15f05b Merge: 59e1f7bc 118aa8b5 Author: Ivan Raikov Date: Tue May 24 18:09:38 2011 +0900 Merge branch 'prerelease' into release commit 118aa8b5e3b49e1d18aee9617356dcbdb7631ac0 Author: felix Date: Tue May 24 08:27:24 2011 +0200 applied missing fix for incorrect removal of unprefixed lambda handling commit 021384ba3a9d273dd1f7d95e386c412cdc7489e3 Author: felix Date: Mon May 23 13:37:48 2011 +0200 stricter error check for value part of constant definitions (problem reported by Kon Lovett) commit 59e1f7bccbb3234127117ec71385b49c3b284984 Author: Ivan Raikov Date: Mon May 23 20:10:07 2011 +0900 merge of prerelease and version set to 4.7.0 commit 9a07eaa1a656214d0975b676a97a024d55f502b8 Author: felix Date: Mon May 23 12:13:44 2011 +0200 types.db fixed for some irregex procedures, found by Kon Lovett commit 383121eded67b0b87efb0e2316d7b7d7eee64548 Author: felix Date: Mon May 23 10:55:56 2011 +0200 disable -setup-mode for csc in deployment mode (thanks to Ivan Raikov) commit c29c39712f854bc298119e8819ab39d29d781dc9 Author: felix Date: Mon May 23 10:55:56 2011 +0200 disable -setup-mode for csc in deployment mode (thanks to Ivan Raikov) commit 3deda9a84e49a5177ff2515fa6f59e5698493e8b Author: felix Date: Mon May 23 10:55:56 2011 +0200 disable -setup-mode for csc in deployment mode (thanks to Ivan Raikov) commit fe15b21641a741ee30b3924ba43c4c7b80279207 Author: felix Date: Wed May 11 04:50:18 2011 -0400 also disable -setup-mode for csi when installing in deployment mode commit c7d8791b56be7a3537ab04ec2929fe53de2c513c Author: felix Date: Sat May 21 23:55:11 2011 +0200 small change in Embedding chapter commit 7f113e5999f24a613caa6e4caeff560ca711ccd1 Author: felix Date: Sat May 21 23:50:09 2011 +0200 use different marker for predicates in types.db to avoid conflicts with user procedures commit ea0ab0ea01e6250f782dd3cc8682906247da670e Author: felix Date: Sat May 21 23:47:42 2011 +0200 some changes in C runtime to avoid warnings with SunPro compiler (thanks to Joe Python) commit 7835cba04da1267823c7ad1d19b4de54d378bad3 Author: felix Date: Fri May 20 12:32:40 2011 +0200 trivial changes commit f68ef0bc69fc0f1a745add98bf09b7cd130d84de Author: felix Date: Fri May 20 12:32:33 2011 +0200 fixes in benchmark script; added irregex run commit 0cb8eb7c910284c1696700ab5f45018c8822286e Author: felix Date: Fri May 20 12:32:07 2011 +0200 fixed unboxing bugs related to assignment; unbox C_a_i_fix_to_flo commit 6aca79676702b856f462a9416b365848eeb6dad1 Author: felix Date: Fri May 20 08:54:17 2011 +0200 updated scrutiny test file; scrutiny-2 output is diffed as well commit 6eb8d14963e59982aef77d233d3bfe66c6ee2622 Author: felix Date: Fri May 20 08:53:47 2011 +0200 build-expression-tree does not use ##core#app commit b1523aaf9231e2841108b48bfa66e362c1a32f82 Author: felix Date: Fri May 20 08:53:19 2011 +0200 better fragment output; increased fragment limits commit b43b9812527eadc78b0710b74209792271310816 Merge: 44a51b02 b6938581 Author: felix Date: Fri May 20 07:55:39 2011 +0200 Merge commit 'origin/prerelease' into prerelease commit 44a51b027d2d7acf0a38e476e900d7ec50d0cfe9 Author: felix Date: Fri May 20 07:35:41 2011 +0200 incorrect rewrites for fixnum even?/odd? commit b6938581716c0e02ce4ef647e1daf5b80b61161a Author: felix Date: Tue May 17 10:40:14 2011 +0200 fixed incorrect rewrite-rules for fp-rounding operators commit f5c87f894e1a94a7ae8355563b3e374d4480797b Author: felix Date: Mon May 16 20:57:09 2011 +0200 bootstrap-mode broke potential-value assignment for toplevel assignments, which causes wrong lambda-infos commit 9d4af2a7375fae0aeb5bc3fe869cd180e433e867 Author: felix Date: Tue May 17 14:07:33 2011 +0200 proper check in extended llist (thanks to sjamaan) commit f1866224afcbeac28145c6153593171a36ce3cdb Merge: 69776d0c 197fb6f8 Author: felix Date: Tue May 17 15:24:09 2011 +0200 resolved conflicts commit 197fb6f88746d780166ff37e37a6cda2d6456546 Author: felix Date: Tue May 17 14:07:33 2011 +0200 proper check in extended llist (thanks to sjamaan) commit 4c191467803965d725af29d219a578d81b30710f Author: felix Date: Tue May 17 10:41:14 2011 +0200 resurrected unprefixed lambda node for analysis; handle ambiguity of symbol in value-position of define-constant (thanks to sjamaan) commit a2857f19789778ee53a0dfe727a6ff6b5799c713 Author: felix Date: Tue May 17 10:40:14 2011 +0200 fixed incorrect rewrite-rules for fp-rounding operators commit f28b24c7951219ad890e7fe8cf9865bd1a3ca91f Merge: 8c64c94c 33893ecb Author: felix Date: Mon May 16 20:58:45 2011 +0200 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit 8c64c94c0a01d249948adaf17a82dc4d4987c847 Author: felix Date: Mon May 16 20:57:09 2011 +0200 bootstrap-mode broke potential-value assignment for toplevel assignments, which causes wrong lambda-infos commit f5784674e458eddda0d31c042f02f6e45be8e835 Author: felix Date: Mon May 16 20:34:48 2011 +0200 typo in pp-output of lambda-info record commit 40eb909e54e7d9763548a27713617feeb85c799e Author: felix Date: Mon May 16 20:07:44 2011 +0200 limit print-length for elements in described sequences commit 69776d0cceab5bf39ccdad51fc21089676b522bc Author: felix Date: Mon May 16 11:09:18 2011 +0200 FA-fixes for noreturn and result-count checks in conditionals commit 33893ecb2a80faa641629ed493d5d36c59cb3110 Author: felix Date: Sun May 15 22:55:09 2011 +0200 typos commit e0d88f70d2eab01abc5b0062a3060efd03493e97 Author: felix Date: Sun May 15 22:53:56 2011 +0200 added note to manual about compile-time expressions in define-constant forms commit 72e02961d68b687383d8c1daba403761e34c8b59 Author: felix Date: Sun May 15 22:53:13 2011 +0200 debugging self-compile commit 8985027342d6553ad8d15665821df827a43fa8d2 Author: felix Date: Sun May 15 22:43:16 2011 +0200 types.db fixes commit 78b23b13111f10999c9a12d80accf4fbca90e8cf Author: felix Date: Sun May 15 14:30:43 2011 +0200 fix for allocate in types.sdb (thanks to Peter Bex) commit daf84dc5c9889e232aed30086802bf58f5bf80df Author: felix Date: Fri May 13 14:44:02 2011 +0200 undocumented -static-extension commit 1fb4cdf361a7479abaaa92b2cbead7396d370c87 Author: felix Date: Fri May 13 14:43:51 2011 +0200 removed C_end_of_main commit 0af35d490b038f08197fe4806e136e4fee778e79 Author: felix Date: Fri May 13 14:43:42 2011 +0200 deprecated -static-extension officially commit 543131a8129614cf37162c226958fdf6f985e207 Author: felix Date: Fri May 13 13:59:27 2011 +0200 added another scrutinizer tests commit c8f585fcafd0e5b9e31b1c8910e6b9fc72068124 Author: felix Date: Fri May 13 13:54:44 2011 +0200 added more scrutinizer tests commit cfe84ac3fbf1f6143ea32db6405770b2084462cd Author: felix Date: Fri May 13 09:18:02 2011 +0200 special-handling of noreturn results in conditional branches; reversed diffing order for scrutiny test commit f35831470b43c1211160acb34e5dd20f1d3d4713 Author: felix Date: Fri May 13 08:14:41 2011 +0200 added kon's egg-name reconstruction script (slightly modified) commit 4b48d71b26ad9d2eb1641e03cc1e50e93d3a040b Author: felix Date: Thu May 12 06:58:58 2011 -0400 first go at let-alias handling commit d84ce9b756aa8737cf11a0ad0ff892709d717ef9 Author: felix Date: Thu May 12 04:42:13 2011 -0400 simplifed egg-name-and-version to egg-name; added -csi option to chicken-install; documentation update commit eda3186204d8e53d73d354eca2561fa9ae524534 Author: felix Date: Wed May 11 09:29:55 2011 -0400 properly cast math in C_milliseconds to avoid integer overflow commit 6abd14f4a19ca5ebe24d40cdbadd302ee2332521 Author: felix Date: Wed May 11 05:27:35 2011 -0400 deprecated null-pointer[?] commit ad9f40cb36dea53260059dc091aec88530e9ab4a Author: felix Date: Wed May 11 05:21:57 2011 -0400 types.db entries for internal type-checking routines commit 72cb4bcc121220329719756ff09815502ce95d86 Author: felix Date: Wed May 11 05:21:39 2011 -0400 if a variable has a value or local-value, then we don't need to check for non-visibility commit 49e22024c632a8fbe5a577ca1d95b7481ac2e868 Author: felix Date: Wed May 11 05:20:40 2011 -0400 comment commit 44642e752a1b996006007e5e7a88e87a00a393ac Author: felix Date: Wed May 11 05:15:13 2011 -0400 argument-count mismatch (found by scrutiny) commit c635969f09263f7129b7a2999f534e017e82d7cc Author: felix Date: Wed May 11 04:50:18 2011 -0400 also disable -setup-mode for csi when installing in deployment mode commit 34e46927468244553f5df14237a65df856d2d93a Author: felix Date: Wed May 11 04:44:16 2011 -0400 -reinstall: needs internal property in setup info to handle egg installing multiple subextensions (problem pointed out by kon) commit 284104409ea76c0488002c41202404d41cd9e960 Merge: ca0edb14 63c01978 Author: Ivan Raikov Date: Wed May 11 13:35:35 2011 +0900 Merge consolidated NEWS into prerelease Conflicts: NEWS commit 63c01978f46d87095172cc0a8b1ee35818018108 Author: Ivan Raikov Date: Wed May 11 12:26:06 2011 +0900 consolidated NEWS file commit 37c631f433706cf06de4bc862356f5f18b2f9aa8 Merge: 5b334002 84c222be Author: felix Date: Tue May 10 11:13:21 2011 +0200 resolved conflicts in dist.-manifest commit ca0edb14a7b8dd91a91c52d63ad1540be46abd54 Merge: 198ef5dd 84c222be Author: felix Date: Tue May 10 11:12:39 2011 +0200 Merge branch 'master' into prerelease commit 84c222bea54590976c8a68b76f7858b90b4e4cd5 Author: felix Date: Tue May 10 11:12:32 2011 +0200 also added typo fix reported by kon commit 6e5c0b35f683f1fb1a9c57f224dcddfd11605a22 Author: felix Date: Tue May 10 11:12:01 2011 +0200 updated distribution/manifest commit 198ef5dd767b4ab478b034cefefe9a4866eafa2b Author: felix Date: Tue May 10 11:09:08 2011 +0200 added note about -setup-mode and -deploy commit cdcab3c81e4f2bb4010d7ec80c2ef5a842d4a766 Author: felix Date: Tue May 10 11:06:14 2011 +0200 bumped version to 4.7.0rc2 commit 5b334002d215927ef52ae8daa115d3878308fe53 Merge: a7df13bd 7b083bfc Author: felix Date: Tue May 10 11:03:15 2011 +0200 Merge branch 'master' into experimental commit 7c6fcb14cc3e7917d5aef021517f43c123775771 Merge: 0c36123e 7b083bfc Author: felix Date: Tue May 10 11:03:01 2011 +0200 Merge branch 'master' into prerelease commit 7b083bfc42924b96489dc7dcd359d58182f7fc04 Author: felix Date: Tue May 10 11:02:47 2011 +0200 disable -setup mode in deployment mode to handle problems reported by iraikov commit 1f5ac17f7ac5ea2149960c35153c94d94f5a4a74 Author: felix Date: Tue May 10 08:31:24 2011 +0200 missing parens reported by kon commit a7df13bd78fe9da4dcdf27286d3a57b58f44998a Author: felix Date: Tue May 10 08:29:01 2011 +0200 missing parens reported by kon commit f54fd27aa740b98b4848ed1c2676fed72ee77ffb Author: felix Date: Tue May 10 07:47:57 2011 +0200 strict-types declaration commit c538e9d663f6f2b2c4da65732441b279bdaee4d6 Author: felix Date: Mon May 9 19:53:01 2011 +0200 added reminder commit c71a342a4d5965b9bd632c745f3a316e97ec8f1f Author: felix Date: Mon May 9 12:20:32 2011 +0200 -strict-types implies -specialize commit 2ecc729b0ddb74740f82c01ba3d2816433b95975 Author: felix Date: Mon May 9 12:20:14 2011 +0200 re-enabled scrutiny and current types.db in build commit 5ab03abf0ce11337bf675b227ece05cab8e9aff2 Author: felix Date: Mon May 9 12:19:40 2011 +0200 disabled folding of some extended bindings commit a984ac0d8467667f186c78154251116980688aa9 Author: felix Date: Mon May 9 11:45:37 2011 +0200 fixed obsolete specialized flag for rewrites commit e690a31507c1afebd93d4b056e79e6004b12594e Merge: 7a3f416c cf5393cd Author: felix Date: Mon May 9 08:20:01 2011 +0200 resolved conflicts commit cf5393cd60bd4c4ecac98a8a3b28bd770e84532f Author: felix Date: Mon May 9 08:09:21 2011 +0200 fixed incorrect rewrites for fxeven?/fxodd? commit 5a094af3597397cb44a5c1f7c6ae693aac3b1ff6 Author: felix Date: Sun May 8 12:58:28 2011 +0200 removed unsafe-specialization-arithmetic declaration and machinery commit f9c199d9af316c2af1c629729b9984ad5f48a4bf Author: felix Date: Sat May 7 14:15:45 2011 +0200 documented env variables commit 69e468de3432734b3725d9c979e2c89b7e736f20 Author: felix Date: Sat May 7 14:12:52 2011 +0200 chicken-install -reinstall commit 8502720741144d81e6ae80e5147cc398e7e469b0 Author: felix Date: Sat May 7 14:12:29 2011 +0200 CHICKEN_C_INCLUDE_PATH and CHICKEN_C_LIBRARY_PATH (undocumented) commit 7a3f416ccb79d568e6f0f2a1440b727de993755a Author: felix Date: Sat May 7 14:00:25 2011 +0200 specialization rewrites for some cases of move-memory! commit 43f603722b22ec10c89a338add4dae03b9562bc2 Author: felix Date: Sat May 7 14:00:01 2011 +0200 typo fix commit ebbf08047adc719a65e9c44592542ebb120fbde9 Author: felix Date: Sat May 7 13:59:11 2011 +0200 changed warning message commit 3285056c7419b4474cce96fa413c4741b8fd7f7a Author: felix Date: Sat May 7 13:58:46 2011 +0200 trivial changes commit 543e31aa19490afa0a4e232ed5c1c3a89a9517eb Author: felix Date: Sat May 7 12:49:36 2011 +0200 -O3 and above enables specialization commit 11a68f3ff9984c0249229abec2cb6aaf87afbe92 Author: felix Date: Sat May 7 12:49:22 2011 +0200 enable specialization for compiler files commit 3bbdbf47f3888b56bd1fd76ea0071870502c6aa3 Author: felix Date: Sat May 7 12:48:07 2011 +0200 added specialize declaration commit 6a008b55ede70fa3847e1030045becabd3d3e134 Merge: 0abc010d 07e499c1 Author: felix Date: Fri May 6 16:50:42 2011 +0200 Merge commit 'origin/specialization' into specialization commit 16562d4d192ac33af4134ecf90d5066388111ca8 Author: felix Date: Fri May 6 16:49:45 2011 +0200 added -keep-installed to manual commit 0abc010d0a699724243fb208fb51624cfe417c8d Author: felix Date: Fri May 6 13:09:48 2011 +0200 mini-salmonella bugfix commit afe153133ddc82215900d0bb3c148299e7b99ccc Author: felix Date: Fri May 6 13:09:34 2011 +0200 added reminder commit ba0857d233f628f87f54dc0d1c56b2ba5fbc6df0 Author: felix Date: Thu May 5 03:45:22 2011 -0400 chicken-install -keep-installed commit 07e499c13d71abeaf38c295e285d8bc3b8cb1c13 Author: felix Date: Wed May 4 05:53:32 2011 -0400 flow-analysis fixes commit 08f4b5c592040ceceab917653940a85f5b26b380 Author: felix Date: Wed May 4 05:27:24 2011 -0400 types.db fixes commit 3ae1c18d6eb959eec72b19bf406c0a5499f4ef84 Author: felix Date: Wed May 4 05:26:54 2011 -0400 correct dependency detection if no eggname is given commit 4276026f522a3de0b89adf45651edc8c89d183a4 Author: felix Date: Tue May 3 12:36:43 2011 +0200 types.db typo fix commit e2ce36f92c6e47bb4629062014dda869fdb51b90 Merge: 531740a3 20704eaa Author: felix Date: Tue May 3 12:16:26 2011 +0200 resolved conflicts commit 20704eaa8b74787d30a60a33810dfcd54765f166 Merge: 67494c11 238f99fd Author: felix Date: Mon May 2 14:09:51 2011 +0200 Merge branch 'master' into experimental commit 0c36123eebb25bb2bac158d8fee597aa8909d9fd Merge: 768cf9d7 238f99fd Author: felix Date: Mon May 2 14:09:46 2011 +0200 Merge branch 'master' into prerelease commit 238f99fd393128709959f14464ddd261969a8f4b Author: felix Date: Mon May 2 14:09:39 2011 +0200 increased connection and read/write tcp timeouts to 30 seconds commit 67494c119cc473b979384f7ae9785215fcf5c999 Merge: 85ce78b0 d94224c2 Author: felix Date: Mon May 2 11:11:54 2011 +0200 Merge branch 'master' into experimental commit 768cf9d76ab4980daae08f870a7c693b4ad82142 Merge: 4dcada6d d94224c2 Author: felix Date: Mon May 2 11:11:46 2011 +0200 Merge branch 'master' into prerelease commit d94224c26fec3bb4860ef8affcc1d0811d125c74 Author: felix Date: Mon May 2 11:11:38 2011 +0200 types.db fix for compile-file commit 4dcada6d2c41e9cc9d4796491380a868e0ace945 Merge: 698ef5e7 788868f6 Author: felix Date: Mon May 2 10:52:37 2011 +0200 Merge branch 'master' into prerelease commit 788868f64a4ca86c3b37b76ce43ce8b5a32ca7fa Author: felix Date: Mon May 2 10:52:15 2011 +0200 postpone inlining for procedures with explicit-rest argument merging commit 85ce78b002ad14cde5d654f98912e635de01bf8f Author: felix Date: Mon May 2 10:52:15 2011 +0200 postpone inlining for procedures with explicit-rest argument merging commit 89b1b61c24580dc07ef575b696f8349f7889c6bf Author: felix Date: Sun May 1 02:04:47 2011 +0200 sigh commit d28185aa00d74eec536a0c3eb118117377bdf291 Author: felix Date: Sun May 1 01:49:48 2011 +0200 fucked up conflict resolution commit 6ad1eccabb26e93c2129efe9979f3797497acba2 Merge: d5f7ef25 2a2656ca Author: felix Date: Sat Apr 30 22:38:56 2011 +0200 resolved conflicts commit 698ef5e712ff50133ac138e5afe02916d96c41c8 Merge: 0fcc982d 2a2656ca Author: felix Date: Sat Apr 30 22:37:20 2011 +0200 Merge branch 'master' into prerelease commit 2a2656cacadd3791c11d24b57742c1b37370a24c Author: felix Date: Fri Apr 29 11:14:09 2011 +0200 added workaround for #568 (thanks to sjamaan) commit 531740a3d2561a7fc9a1ea58c817aed598f5a55e Author: felix Date: Fri Apr 29 09:49:36 2011 +0200 better error message for failed type-check commit 5f5243170df37ebc7dfc41f56ff48f49f1975ca5 Author: felix Date: Thu Apr 28 10:04:37 2011 -0400 some testsuite fixes commit d5f7ef25957413a828bd65c4d8e5968f8ab18e62 Author: felix Date: Wed Apr 27 06:17:32 2011 -0400 added note about integer->char with negative arguments commit dc04f59ea3d3c716318ca77f1804fdfd843db493 Merge: 949bf2b0 48683caa Author: felix Date: Wed Apr 27 05:08:06 2011 -0400 Merge branch 'specialization' of /home/chicken/chicken-core into specialization commit 949bf2b04d41890be187d6abd186f61b0698caed Author: felix Date: Wed Apr 27 05:07:55 2011 -0400 tiny manual change commit f170d45149d4cd9d48ad85a1974a9425017f96c6 Author: felix Date: Mon Apr 25 22:26:54 2011 +0200 added comment to setup.defaults showing override syntax commit e35102c68e73053ab1461d00a8325ba8c753d90b Author: felix Date: Mon Apr 25 22:23:18 2011 +0200 handle invalid size in server-response commit d0d56eda49f324afef66926f81055f4d935ff2f7 Author: felix Date: Mon Apr 25 21:59:37 2011 +0200 chicken-install -test should apply to all extensions given on command-line (thanks to Kon Lovett) commit 0dc9bf00458d1bcefd6cc953e89991dccb3b6ff0 Author: felix Date: Mon Apr 25 21:58:44 2011 +0200 export syntax used hidden module accessor commit 95674354bb5cb76100cc3552f81c146b8e650e99 Author: felix Date: Sat Apr 23 23:29:51 2011 +0200 override msg in progress output for chicken-install; scan/override fixes commit 48683caa134288dbd2529ff513881542bd6167f5 Author: felix Date: Sat Apr 23 23:15:48 2011 +0200 insert literal arguments to unboxed call directly via ##core#unboxed_ref commit c1738c6caba83b0b8f6f102a35ab48a309435e54 Author: felix Date: Thu Apr 21 22:25:43 2011 +0200 chicken-install -override commit 274f6dcc9d9965c5b2a053ce1d6b6d22ccbced8e Author: felix Date: Thu Apr 21 22:01:31 2011 +0200 documented -scan and -list commit f385034f4e1bffa298cf0baf9f40ad09de5561a0 Author: felix Date: Thu Apr 21 21:59:16 2011 +0200 chicken-install -scan commit 459f24b53a875bb7fe409553922c5e8f44f27726 Author: felix Date: Thu Apr 21 21:58:52 2011 +0200 symbolify egg name (-list) commit 621c8b764e6c26f197c52cffae5d210563253692 Author: felix Date: Thu Apr 21 21:48:44 2011 +0200 chicken-status -list commit 08025e99d232d00e9d2cfea67726641104278ef5 Author: felix Date: Tue Apr 19 22:36:05 2011 +0200 added some comments to unboxing.scm commit e4aeaa3ef037da7dc65da5e6a7421376861078e9 Author: felix Date: Tue Apr 19 21:58:25 2011 +0200 completed types chapter in manual commit f1a45fd97f06111c0109680ccf1068ec386cc5e0 Author: felix Date: Mon Apr 18 23:12:28 2011 +0200 -O5 does not -strict-types; started type-stuff documentation; type-checks for all valid types commit de173b624ddd20bbe86dd5810f25b27d14fbe81d Author: felix Date: Mon Apr 18 00:39:23 2011 +0200 forgot entry in c-platform commit caf6b73968f45b4b79202e371c2a510a0b441697 Author: felix Date: Mon Apr 18 00:38:58 2011 +0200 don't remove type-defs on incompatible assignments; don't check for assigned type-compat. (because of icky map-compiler-syntax expansion) commit b4d056ac344b69dee65a173e4d305276910819ef Author: felix Date: Mon Apr 18 00:13:44 2011 +0200 - added type-check routines for booleans and locatives - changed all node-constructions in compiler to not use constant parameter lists (or side-effecting one would create a shared side-effect - not sure if this can be the case, but who knows...) - -O5 enables -strict-types - declared types generate type-checks at procedure entry, unless unsafe or strict-types - specialization: assigned variables retain computed type if strict-types; no blist-invalidation anymore; using declared procedure-argument types as initial type-env entries for formal parameters; incompatible assignment to declared global removes type marks; blist-entries for assigned vars only if strict-types; no occurrance typing for assigned vars commit de3731bd8b0fef528a1d2d0ebfb6af2e65dfa71e Author: felix Date: Wed Apr 13 06:14:45 2011 -0400 proper environment switching with ,m (reported by ckeen) commit bf74435c21a89fc04265e0a528fade19c018ff86 Author: felix Date: Tue Apr 12 12:58:25 2011 +0200 printer/reader shadow I/O parameters to avoid error in error when a parameter is bound to an incorrect value or non-procedure; fixed inconsistencies with keywords and escapes in symbol names. perhaps. commit bc31bd793291d2bc866ab89c685150711acfd0d3 Merge: e73515a5 f7a80555 Author: felix Date: Mon Apr 11 23:13:01 2011 +0200 Merge commit 'origin/experimental' into specialization commit e73515a5b4e03a5e8d843cf31d8fa3d05f2290de Author: felix Date: Mon Apr 11 23:05:26 2011 +0200 trying to understand unboxing commit 0fcc982da9aac4fb01f670778eaaf9059297994f Merge: 3e9d5553 adcba34a Author: felix Date: Mon Apr 11 12:12:28 2011 +0200 Merge branch 'master' into prerelease commit adcba34a2e6fd2e0c0833eddf6ec95c827c4ce15 Author: felix Date: Mon Apr 11 12:12:22 2011 +0200 NEWS typo fix reported by mario commit f7a805557571780d19bc992fa2d32a73604625cf Merge: ab2055df 7d328f15 Author: felix Date: Mon Apr 11 06:09:30 2011 -0400 Merge branch 'master' into experimental commit ab2055df9d690bd09e8e5d9e8b772b4be446204c Author: felix Date: Mon Apr 11 06:09:13 2011 -0400 give read-error on empty #: keyword syntax, escape #: properly, when converted to symbol (still doesn't handle |#:| properly, due to #332) commit ab53ba3f0f4e133ab6b71d90845f1f570bc5d0e3 Author: felix Date: Mon Apr 11 11:58:28 2011 +0200 CPS does not treat ##core#inline[_allocate] as atomic to avoid unboxing problem with nested unboxing; -debug h instead of question-mark; -debug i; updated scrutiny.expected; modules used non-existant map-se in debugging build commit 3e9d5553f6170d8268bee9889ea6ea84ef82ed9e Merge: 21f9591b 7d328f15 Author: felix Date: Mon Apr 11 02:55:52 2011 -0400 Merge branch 'master' into prerelease commit 7d328f154de19f941899586ce9d6d62ca4580036 Author: felix Date: Mon Apr 11 08:31:39 2011 +0200 strip foreign-result type in finish-foreign-result (patch by sjamaan) commit efc305b73bd313040ad0c13ae049ad49f2f8619b Author: felix Date: Sun Apr 10 14:15:28 2011 +0200 marked unboxing bug commit a92291a34179c68cc939750951297524c8b2e150 Author: felix Date: Sun Apr 10 14:15:11 2011 +0200 trivial debug output change commit 26088584395fe70ae2eeeb7422131659decb958e Author: felix Date: Sat Apr 9 21:21:13 2011 +0200 proper special-case handling (##sys#make-structure); rewrite can optionally narrow result type; added fixnum/decimal special number->string conversion; occurrance-typing uses more specific type for argument var; debug-output indents for exceptional clarity and aesthetic pleasure. All for you, my dear users. commit d6720155a1520165d71ab0cd8256f598ddf4277f Author: felix Date: Sat Apr 9 14:42:35 2011 +0200 hardcoded special-case not working like this. Now let's eat something. commit dc18241562fbef3d29f900ebd497e30e7cebf0f3 Author: felix Date: Sat Apr 9 14:38:56 2011 +0200 match-spec.: the endless fiddling commit 01eca4ab2c8c7d8474cb538ea5fee733a0d55e09 Author: felix Date: Sat Apr 9 14:33:04 2011 +0200 changed subtype-matching in match-specializations once again; moved some procedures to toplevel; ptype-adjustment fix commit 2a153704899637e554b787bada3be182c01ba0e8 Author: felix Date: Sat Apr 9 14:31:55 2011 +0200 -debug ? shows debugging options; removed them from manual commit cef399243a2531d36831b8dcd25b834e627450f6 Merge: 074fdfc6 9ab3a617 Author: felix Date: Sat Apr 9 13:47:19 2011 +0200 resolved conflicts commit 074fdfc6b5ccea0bbbacfac351a7a883997b24fc Author: felix Date: Sat Apr 9 13:36:19 2011 +0200 implicit toplevel type defs; procedure-type adjustment from blist commit 21f9591b77ce6ec0a0a2eb70272862945be6e6ae Merge: 04ccb196 87e525f6 Author: felix Date: Sat Apr 9 10:52:25 2011 +0200 Merge branch 'master' into prerelease commit 87e525f6652c3a2a201dc3b577d17f639715046a Author: felix Date: Sat Apr 9 10:51:54 2011 +0200 NEWS and README fixes commit 04ccb196bccffde4337493d999e7b0a3c7704c56 Merge: f3ddffa6 b5a229e2 Author: felix Date: Fri Apr 8 20:28:08 2011 +0200 Merge branch 'master' into prerelease commit b5a229e2ca1f1c22e6799a685300594c693a7bcc Author: felix Date: Tue Apr 5 13:18:06 2011 +0200 ensure directory when writing egg info (thanks to mario) commit 9ab3a6170e06bdf74476f65aeff58a693ac44a0b Merge: b6c1a87b e79760ad Author: felix Date: Fri Apr 8 12:10:23 2011 +0200 Merge branch 'master' into experimental commit f3ddffa64c6ad0d7fb5920b587b6fe9bf131ad67 Author: felix Date: Fri Apr 8 12:10:05 2011 +0200 bumped version to 4.7.0rc1 commit e79760ad31aceb99f6d4d09869427dcf79d8bec7 Author: felix Date: Fri Apr 8 12:08:01 2011 +0200 merged wiki manul changes commit b6c1a87b16766d02d306c3a32186d692e9eba01a Merge: 77434d93 2a5bd0ab Author: felix Date: Fri Apr 8 11:28:33 2011 +0200 resolved conflicts commit 0fcd7c2731193dbeaa895f35e89718068fede328 Author: felix Date: Fri Apr 8 10:44:08 2011 +0200 Makefile.cygwin was missing some cofiguration definitions commit 77434d93034fb8e74b99861060f38d87f92f724f Author: felix Date: Fri Apr 8 10:44:08 2011 +0200 Makefile.cygwin was missing some cofiguration definitions commit eaff531433520aaf752fbf79550aa43124d8c2fc Author: felix Date: Fri Apr 8 10:38:34 2011 +0200 windows special cases in runtests.sh commit 5e654f8f39ffd6d4f8e44a518049907b4454f366 Author: felix Date: Fri Apr 8 07:58:54 2011 +0200 bumped version to 4.6.8 commit 7722b5c9404cc0e58cbff9bfb11fc8502e6df82a Merge: d38cc80e c75d2c94 Author: felix Date: Fri Apr 8 07:58:18 2011 +0200 Merge branch 'master' into experimental commit c75d2c94506fd377d32410722721d8b322c811c3 Author: felix Date: Fri Apr 8 07:57:02 2011 +0200 bumped version to 4.6.7 commit 441b1b8956b888b66f97524ec71b8c79a3e236d2 Author: felix Date: Fri Apr 8 07:17:06 2011 +0200 typo fix in manifest commit e2406838f3c5a5448c943d7e406149abb4e5daaf Author: felix Date: Fri Apr 8 01:15:42 2011 -0400 forgot to add test file (thanks to Kon) commit 1bf9681e02268670636aabb0cbdf0073fdf9be96 Author: felix Date: Thu Apr 7 09:18:08 2011 -0400 fixed stupid syntax error in runtime.c - thanks to Sven Hartrumpf commit fb5294a960e74dc3b040aa5e9938438c4216dcc2 Author: felix Date: Thu Apr 7 08:53:28 2011 -0400 pretty-printer fix, contributed by mario commit 2e6ef61345398e4193b57f4a3ab612e42bebc4fe Author: felix Date: Thu Apr 7 04:39:25 2011 -0400 scrutiny fixes, slight changes in fft.scm commit a9d3a22e16c0ab5b888cf72301dedc8c20f1c201 Author: felix Date: Thu Apr 7 03:23:02 2011 -0400 predicate-specialization match fixes and tests commit e231be6676389285f60399cc71cad6f390e03e24 Author: felix Date: Wed Apr 6 08:57:32 2011 -0400 -strict-types commit 225fdfc473ce834cdc76dbc184c018ff6196c45c Author: felix Date: Wed Apr 6 06:26:06 2011 -0400 more specialization match tweaking commit 4650202a6e026e664c4d9ff4413f74f500b62a6e Author: felix Date: Wed Apr 6 04:41:03 2011 -0400 slight generalization in specialization matching, types.db fixes commit b671f5db5832d28d0f43c5236624e3f5f0d26ca6 Author: felix Date: Tue Apr 5 15:17:59 2011 +0200 scrutiny bugfix and types.db predicate fixes for list-predicates commit d38cc80e67575ff15e7ae8298f1f908ad2cc5ff0 Author: felix Date: Tue Apr 5 13:18:06 2011 +0200 ensure directory when writing egg info (thanks to mario) commit e838a000c841faaa90cad150af7a6b524e0ea45f Author: felix Date: Tue Apr 5 12:47:40 2011 +0200 added setup-extensions import libraries to manifest commit d5279d8b4d6920c01ce61b584be67ca2e628eaec Author: felix Date: Tue Apr 5 12:47:40 2011 +0200 added setup-extensions import libraries to manifest commit 22a3783ea532a2d06c502f71af334c2c35708c46 Merge: cb30751b 4257e57f Author: felix Date: Tue Apr 5 11:59:11 2011 +0200 Merge branch 'master' into experimental commit 4257e57f59c013a8c9d475f41c05d571e72b509b Author: felix Date: Tue Apr 5 11:58:47 2011 +0200 NEWS fix commit a2ea74893661fd798594c5be9792448e1fedab54 Author: felix Date: Sun Apr 3 09:14:11 2011 +0200 enforcing adds blist entries for both cond.-tags commit fa40fd33a759ca065a601bdb7a9b4ecc3cf8358d Author: felix Date: Sun Apr 3 09:11:08 2011 +0200 always show warning if declared type doesn't match assigned type commit cb30751b10ae133883d6f9baeb7ae6d2204fd32d Merge: d298bab2 ad766a7f Author: felix Date: Sat Apr 2 23:18:01 2011 +0200 Merge branch 'master' into experimental commit d298bab2fc13dd0145d2b13aa296d2e865466d61 Author: felix Date: Sat Apr 2 23:17:59 2011 +0200 bumped version to 4.6.7 commit ad766a7f0a31182b81cece8a44675d5b05036ee4 Author: felix Date: Sat Apr 2 23:16:43 2011 +0200 updated NEWS commit 1cbc8961efd86101e7233b1054d40e0cc573c72e Merge: 196dbaeb 8f3446e2 Author: felix Date: Sat Apr 2 12:27:26 2011 +0200 resolved conflicts commit 17e01b89925c960f9c4e9565733b8ebc4d0d5744 Author: felix Date: Fri Apr 1 14:14:15 2011 +0200 object-become! is not enforcing commit 8f3446e2269f8ff3e5273516adee78bcfc32feab Author: felix Date: Thu Mar 31 12:22:07 2011 +0200 use safer character-comparison macros in generated C code that mask out garbage in the upper bits; increase C_STACK_RESERVE for deeply recursive direct-call-optimized code commit 99929b98c4e9824eb08a924d4253ea73b897240d Author: felix Date: Thu Mar 31 10:24:54 2011 +0200 types.db fix; disabled scrutiny for debugbuild temporarily; scrutiny fixes, predicate-specialization reports commit 018226880008f3898e37a8f3db8ded45f9368133 Author: felix Date: Thu Mar 31 09:58:57 2011 +0200 report when predicate-rewrite takes place commit 88fe335a357ca000b1f27e2a58ccb398d2e4cc1f Author: felix Date: Wed Mar 30 19:35:53 2011 +0200 use more specific existing type when assuming commit 5f8235e30d26e253a61cafa860658c45c38dcc9e Author: felix Date: Wed Mar 30 16:01:55 2011 +0200 marked enforcing types in types.db; assuming uses most specialized type commit 18b1be562e0825afe706b49abb296a0ae105ae4d Author: felix Date: Wed Mar 30 11:09:52 2011 +0200 slightly faster lexical-access commit 523cdeae141e59d7afe9d6fabeebafc135513f52 Author: felix Date: Tue Mar 29 12:40:35 2011 -0400 only assume if enforcing commit 3d25993da72509d027c1cccb6634c9cd68b7f9c5 Author: felix Date: Tue Mar 29 12:40:03 2011 -0400 temporarily disabled -specialize at >=O3 commit ac06f46f4bdc32f115cdeb2737d4969523309058 Author: felix Date: Tue Mar 29 07:31:18 2011 -0400 simplified predicate specialization; occurrance typing fixes commit 096806b032851a7fe0e6c17f64ae82e3d4fb0562 Author: felix Date: Tue Mar 29 04:47:25 2011 -0400 more conflict screwups commit f9f768d6acfb84fa535ac668e0d59434d9dc1dc8 Author: felix Date: Tue Mar 29 10:35:14 2011 +0200 syntax fix commit 13eaedc7ff55da4cf62eaa2d2163af4639a8dd75 Author: felix Date: Tue Mar 29 10:15:33 2011 +0200 more conflict resolution commit 99b92da9f666d9edc4e8f127334b7808d6fd264a Author: felix Date: Mon Mar 28 10:03:50 2011 -0400 repaired incorrect conflict resolution commit ff5ec0968e287aa3d8ae65378fbc806a26cc2523 Merge: 2d9ddc53 c9a081e9 Author: felix Date: Mon Mar 28 09:59:46 2011 -0400 resolved conflicts commit 2d9ddc537e0a2777ea6560c118ce0b385d67acb0 Author: felix Date: Mon Mar 28 09:45:42 2011 -0400 added predicate handling to scrutinizer commit 8ea08fe948b6c898c606280a0df4f08708c2310b Author: felix Date: Mon Mar 28 08:50:46 2011 -0400 flow-analysis fixes; added comments to scrutiny-test commit b1e934e85b1258d590a80f8ccfd5938b9e745a8c Author: felix Date: Mon Mar 28 05:45:58 2011 -0400 flow-sensitive variable types commit e1936189444046a61eda5cb20f9f8a69b975a7de Author: felix Date: Mon Mar 28 03:37:26 2011 -0400 pp should escape tab and newline (thanks to Mr. Post) commit 66fc534467ee9cc12f1824a365a62f005e80bf5c Author: felix Date: Fri Mar 25 19:48:24 2011 +0100 install-wrappers fix and error message commit c763ab302150240244b6296497c6ed9dc670fca7 Author: felix Date: Fri Mar 25 19:44:46 2011 +0100 stupid copy+paste error (reported by Kon) commit bf6c6d98ee1e266ffdd4300592e40474c04be439 Author: felix Date: Fri Mar 25 18:50:31 2011 +0100 trivial changes commit 2a5bd0ab7f1e9d0c795eab6cc1cddc71e5d636a7 Author: felix Date: Fri Mar 25 12:24:21 2011 +0100 documented alternative functor syntax commit ef7be8f889e34cb1c0a10e3021f45fd5b95e42ad Author: felix Date: Fri Mar 25 09:17:43 2011 +0100 allow -lambda-lift but warn about it (suggested by Kon) commit 8b25ee067396446c6f7ca5d36f5adb04c6f165c5 Author: felix Date: Fri Mar 25 09:13:11 2011 +0100 fixed functor tests and incorrect syntax check; better error message for mismatch commit bae148680cf3ed65dc344b53121a2aa7e60f3bf3 Author: felix Date: Thu Mar 24 21:01:13 2011 +0100 added alternative syntax to functor-tests commit 665fadc427ec1c50d558f845c3325797782bf9af Author: felix Date: Thu Mar 24 09:32:11 2011 -0400 fixed obligatory bug commit 5a0282c3b77e218baa038a9e0ab35fcd6e5fc23e Author: felix Date: Thu Mar 24 09:30:10 2011 -0400 added experimental instantiate+define functor instantiation syntax suggested by syn commit dd54be4bfdd1fc3b4692111adcf20fbd8998ddca Author: felix Date: Thu Mar 24 04:08:01 2011 -0400 module-aliases may be local to a module commit f5506a132c2a9b64946c6d59c2adbc592cd30846 Author: felix Date: Wed Mar 23 10:19:55 2011 -0400 fixed functor tests; fixed bug in exports-validation; everything works; the sun is shining commit c9a081e93413b6fc7104ea7477a576401e8ffc6d Author: felix Date: Wed Mar 23 07:59:33 2011 -0400 don't import : in tests/ec.scm to avoid warning commit e5fd5366c97d7966f12517855b40d7e196fec448 Author: felix Date: Wed Mar 23 07:14:23 2011 -0400 runtests.sh fixes commit 17f79a6647636b0ddfe5bc3302af2cb844f34792 Merge: dc683fc0 ad16d1de Author: felix Date: Wed Mar 23 07:09:54 2011 -0400 resolved conflicts commit dc683fc0601acad13a66d1fe1a327fd3ac143219 Author: felix Date: Wed Mar 23 07:06:54 2011 -0400 various specialization fixes; improved tests commit 24a2feefaa0a3d807b952fe9441bf1efaf948843 Author: felix Date: Wed Mar 23 05:38:02 2011 -0400 small rules.make refactoring and test target; types.db fixes commit ef1aee77610668c3a8a344e2a8795e8e3fa9dbab Author: felix Date: Tue Mar 22 14:50:45 2011 +0100 added functor example commit ad16d1de0076e761b33bcbb19bbb1474327adc5c Author: felix Date: Tue Mar 22 12:47:57 2011 +0100 removed lambda-lifting compiler test commit 41890ee45f03911e9f26730fcb1843c6776ebafd Author: felix Date: Tue Mar 22 12:38:39 2011 +0100 DIE, lambda-lift, DIE!!! commit 0b1b7f7f58cfc750e9330dab63d604a1ae554053 Author: felix Date: Mon Mar 21 21:25:22 2011 +0100 allow single interface name as export-list, catch (define-interface * ...), more tests, added to runtests, not tried out yet commit 0ef8861a0e1d3cc8e01175964d713ffd38c6efde Author: felix Date: Mon Mar 21 15:46:28 2011 +0100 functor tests written, but untested commit 1f74df5e6dc969459cacc15f890e24e88c303199 Author: felix Date: Mon Mar 21 15:27:06 2011 +0100 started writing functor tests, some syntax fixes commit 5990b42e07725a3b877fc4b4aedd1818d522c8aa Author: felix Date: Mon Mar 21 12:58:04 2011 +0100 types.db fixes, manual update, enable specialization for -O3 and higher, removed warning in srfi-4 commit 0efffa77b0b29d1807552d29fff74d56709356fd Author: felix Date: Sun Mar 20 22:38:12 2011 +0100 export validates export list; started functor docs commit b70f084e3f77de17397b47592b0dd361bb195c40 Author: felix Date: Sun Mar 20 21:59:11 2011 +0100 polishing some error messages commit bd6d65020824f1c1e50e1a9ab55e23a1fcc85855 Author: felix Date: Sun Mar 20 21:20:57 2011 +0100 allow empty list for exports commit 3348229625aff9f8cd2bcb52079655c058fffb01 Author: felix Date: Sun Mar 20 21:17:33 2011 +0100 changed functor instantiation syntax commit 9ac7ea68f9598a1432cbf03317e57ec3a9cda735 Author: felix Date: Sun Mar 20 18:19:31 2011 +0100 use fft benchmark for specialization test in runtests commit 7b104cf043bf3ad706f66ae1cc14bee6a3034cc8 Author: felix Date: Sun Mar 20 17:26:53 2011 +0100 use better english for some scrutinizer warnings commit 600754ea4582ec6ca9aee89178f38e596b7cebfd Author: felix Date: Sun Mar 20 12:50:54 2011 +0100 make -emit-type-file work commit 5673d868d79fc87d2527945fee20c0cfddc6801f Author: felix Date: Sun Mar 20 00:42:33 2011 +0100 disabled debug output for expander commit 9540677374afd1b1e90cc2004066591762ee2460 Author: felix Date: Sun Mar 20 00:33:39 2011 +0100 types.db fixed (unquoted literals in rewrite templates) commit 301b0ccbb35b0f51e9328ff4641e288d71f29f41 Author: felix Date: Sat Mar 19 23:24:35 2011 +0100 types.db fix commit 90dd06cb5930974f1b8532bdbbe63f6bbbd01e75 Author: felix Date: Sat Mar 19 20:40:59 2011 +0100 scrutiny/specialization bugfixes commit 1c3d3ba16971b42d9cf81e1babfe9df7c98a2559 Author: felix Date: Sat Mar 19 19:32:20 2011 +0100 specialization fixes commit 1e17a7003b78614b5b00e01a80b2e05100ba8117 Author: felix Date: Sat Mar 19 18:19:58 2011 +0100 handle (const c-string) as foreign result type (fixes #541, eported by syn) commit fbc508bcb19d66a3add3e67106f187bd5b4ba3c1 Author: felix Date: Sat Mar 19 17:59:02 2011 +0100 close-input-pipe didn't return status on windows (thanks to Mario) commit 01f77922a1cb2a81e07c82c6b3a5744cc085fcc2 Author: felix Date: Sat Mar 19 17:50:38 2011 +0100 functors commit 4102bd0057eeab69d53c06d754e286089f8383f3 Author: felix Date: Sat Mar 19 09:16:12 2011 +0100 module aliases commit a6ce103ec037b52f01ed090d8f2465af9057b7c0 Author: felix Date: Sat Mar 19 09:15:56 2011 +0100 don't use XXX here - it marks notes in code commit 5572cec09b06cd7dbeeb88d00234fe333afd8f7f Author: felix Date: Fri Mar 18 19:27:05 2011 +0100 module uses ##sys#validate-exports commit 5c3923fbd40bcc786bc4c803d8d737231d18e4e7 Author: felix Date: Fri Mar 18 19:24:31 2011 +0100 moved module-specific code into modules.scm, added new core unit, added define-interface commit 353cf3afdc8cf5b7ef481a6db9ff4c6545923d43 Author: felix Date: Thu Mar 17 12:42:28 2011 +0100 validate-type cleans up and validates llists commit b4315de45dcfbb61a99df44e4447c62ccde93d88 Merge: 90c0d08e 2dac30b7 Author: felix Date: Thu Mar 17 12:28:44 2011 +0100 resolved conflicts commit 2dac30b73f7770636fa59a9866cfe499bcb18d88 Merge: cae28977 47f68889 Author: felix Date: Wed Mar 16 06:38:53 2011 -0400 Merge remote branch 'origin/expander-simplifications' into tmpmerge commit 47f6888973fa487bf5e05d9852858ca83f28dc3a Author: Peter Bex Date: Tue Mar 15 21:55:28 2011 +0100 Make unquote-splicing test less strict; append is allowed to append a list to a nonlist according to Felix. All tests should now work again commit cae28977b11c3cc08af992b82b28fa113660fe30 Author: felix Date: Tue Mar 15 11:02:57 2011 -0400 reduced testcase in trav2 and removed benchmark commit 39cf6a5fc1f058cb393d0549d991698496389873 Author: Peter Bex Date: Mon Mar 14 22:58:43 2011 +0100 Revert fix for second part of #444 - this is also handled by the extra level of indirection that fixes #518. Now core primitive names are not "stripped" incorrectly anymore either commit caa54d22321cff3be2657c07a1c66d62ea9f3370 Author: Peter Bex Date: Mon Mar 14 20:50:57 2011 +0100 Implement proper fix for #518 commit 4656323ef76ad9b2c1097c80f5d4226dae1c0ec7 Author: felix Date: Mon Mar 14 14:27:36 2011 +0100 qq simplification commit af22b6f976b7598527faf41f6d9428aa0180f8d5 Author: felix Date: Mon Mar 14 14:27:18 2011 +0100 types.db fix commit 318b0a038b3858a1b9f7d0ae7892e65b301eb68f Author: felix Date: Mon Mar 14 14:13:08 2011 +0100 argh commit 47c38b44b74881ef2a8c7118568dadd611fb791e Author: felix Date: Mon Mar 14 13:37:56 2011 +0100 fuck this commit c8b4d7ffe677e09847bc67d507f11c1088ea0c86 Author: felix Date: Mon Mar 14 12:40:52 2011 +0100 Revert "Fix #519 by putting a ##core#real-name onto module-exported symbols" This reverts commit 1e2546c1ee895e0809dc1900b485506470264865. commit 16ca275815f78bf6338e17938e5e16078cff085a Author: felix Date: Mon Mar 14 12:34:50 2011 +0100 simpler qq simplification; runtests removes some stale files commit 674bdc04476176c18a5525d30e1e0c6f01eb0df0 Author: felix Date: Mon Mar 14 07:46:54 2011 +0100 matches for qq-simplification were broken - thanks to syn for providing testcase commit 134ec32a01bf0fee9d46c83a253a04747fa75658 Merge: 26e69a72 7ca7ccb7 Author: felix Date: Mon Mar 14 07:35:35 2011 +0100 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit 26e69a72a9ee989e4136405d6480a424a25f4d14 Author: felix Date: Mon Mar 14 07:35:23 2011 +0100 qq-simplification didn't recurse into uses of ##sys#cons commit 7ca7ccb7f508a6969de1a59a2cf35fff215528de Author: felix Date: Sun Mar 13 12:15:13 2011 +0100 fied readme-typo, reported by mario, found by merlincorey commit cbd04ea7ee22d95f976c467ec784c0b022ff55ec Author: Christian Kellermann Date: Fri Mar 11 13:26:24 2011 +0100 Append the binary version to libchicken.so when deploying This will add the binary version to the chicken library when copying the libchicken.so to the app directory. Before the patch loading libchicken.so.BINARY_VERSION fails on linux systems w/o an installed chicken. commit 90c0d08e032d71f2633dfa9271e93ecad0adf95e Author: felix Date: Sat Mar 12 14:03:17 2011 +0100 : allows rewrite rules; specialization tests commit 30750024747f36e2e48d573722eebbbbf93eb544 Author: felix Date: Thu Mar 10 20:55:54 2011 +0100 validate converts (... -> ...) type syntax commit 0c4678c4136ea1add8efd4e2f48ac348da64053c Author: felix Date: Thu Mar 10 03:52:51 2011 -0500 types.db rules for mixed-mode arithmetic commit 8bba184b090c0ee596f958a1e23cef500bbc52f0 Author: felix Date: Thu Mar 10 03:52:36 2011 -0500 rewrite rules for current-XXX-port and current-thread, modified optimizer rule #3 to optionally check argument count commit abbffb094fa940dfa2145d043e5e6048bec5c021 Author: felix Date: Wed Mar 9 09:35:47 2011 -0500 resolution bugs, load type files in correct order, types.db fixes commit 7b656ccb6045fd458828cb2f41641176b3610bb8 Author: felix Date: Wed Mar 9 09:29:37 2011 -0500 spec. fixes commit 170500fbca932ce79031ac096e5442eb3b75bfe1 Author: felix Date: Wed Mar 9 08:56:19 2011 -0500 types.db complete. phew. commit 5a40360d93ede5d85f9db33ae72634b7c077e7fc Author: felix Date: Wed Mar 9 04:33:10 2011 -0500 -emit-type-file; types.db work; type-declaration syntax; stripping/globalizing in type-declarations; type-validation commit ac9833e69238e3c8637b63865ccd042e39936201 Author: felix Date: Wed Mar 9 04:25:40 2011 -0500 rewrites for alist-cons and xcons commit caebbf19b11d7231357333aa01a5053316afd31e Author: felix Date: Tue Mar 8 17:37:46 2011 +0100 types work commit 3c8adb29b4c25daac81060abebc9c9df7d34f6d5 Author: felix Date: Tue Mar 8 00:12:21 2011 +0100 types work; removed undefined export for irregex commit a8ddc165c58a0a3966cb21436855396b8c338d42 Author: felix Date: Sun Mar 6 12:59:35 2011 +0100 types work commit 1e2546c1ee895e0809dc1900b485506470264865 Author: Peter Bex Date: Sat Mar 5 20:08:06 2011 +0100 Fix #519 by putting a ##core#real-name onto module-exported symbols commit 72b62a8ca427926ed78796a4d56ff281fa2f2960 Author: felix Date: Sat Mar 5 01:17:21 2011 +0100 updated meta-syntax-tests with code from sjamaan commit 7550b9b6cb31093529536fc885d44505ae87073d Author: felix Date: Fri Mar 4 20:27:49 2011 +0100 link with -lpthread on BSD (reported by sjamaan, with help from Aleksej Saushev) commit 2e28a6fe9bbba8f61db4ccfe2712a9901656cb22 Merge: 39c2e525 1178450b Author: felix Date: Wed Mar 2 09:22:34 2011 -0500 resolved conflicts commit 1178450b35fc24200b9abbddc63a91939ece6ff3 Author: felix Date: Wed Mar 2 09:21:46 2011 -0500 moved usage print procedure in support.scm to simplify merging with specialization branch commit 39c2e525bfdf0784b94192e354c8198490655e3b Merge: c23fdb83 6725c9e2 Author: felix Date: Wed Mar 2 09:20:44 2011 -0500 resolved conflicts commit c23fdb83dda6909f783f4f53e6ee54df758a4e02 Author: felix Date: Wed Mar 2 09:18:16 2011 -0500 types.db work commit 0e2916d1d90bdf95fdd57ecad9c75b9ff6fec647 Author: felix Date: Wed Mar 2 07:11:38 2011 -0500 don't drop arguments for specialization-rewrites that expand into constant commit 91fb64afba890b27c981e94c56496b8c9d3b040b Author: felix Date: Tue Mar 1 15:32:28 2011 +0100 dropped global assignment bug reported by syn possibly fixed commit e804aa00de16bc770b0c5a5f53d8ca4ab773acb8 Author: felix Date: Tue Mar 1 13:58:44 2011 +0100 output-routines return void commit c29e9b2151bfd06efb1e46dd51682059770e8048 Author: felix Date: Tue Mar 1 11:27:51 2011 +0100 fixes in octal string-escape reader; added test commit e1b27335820dea4908e3e738f96c39f388c1ca01 Author: felix Date: Mon Feb 28 23:17:11 2011 +0100 octal escape sequences in strings; documented escape sequences commit efa7df16b2896d9686089a1117d429392a538cd2 Author: felix Date: Mon Feb 28 23:04:28 2011 +0100 added platform specific annotations to filelist in README commit e808c81032f2508f91094864ab8ebe0b096ab9d3 Author: felix Date: Mon Feb 28 18:35:00 2011 +0100 added list of installed files in README commit 39d936ae732a39fa9d4acd8d3425a9f69c58a629 Author: felix Date: Mon Feb 28 16:56:38 2011 +0100 listed c....r in manual (thanks to Juergen Lorenz for pointing out this omission) commit b1cfee253351cab9fbef8a0cc29fc8520d69d936 Author: felix Date: Mon Feb 28 12:51:31 2011 +0100 conditionalized some debugging output commit 254d8db848c79d64f40f709e1e60473fc954d409 Author: felix Date: Mon Feb 28 10:02:36 2011 +0100 tiny typo fix commit ffb143ee56c25598fde0097f04cf9c6d1e363824 Author: felix Date: Fri Feb 25 12:26:46 2011 +0100 eval/meta change also in compiler (untested) commit f242bcda3611b5411c9d6dd3e8b5ae87334e787e Author: felix Date: Fri Feb 25 12:25:29 2011 +0100 meta-syntax-test test commit 1e0b774792c7ff83bde199bd0874ad162fa56409 Author: felix Date: Fri Feb 25 09:32:31 2011 +0100 slight simplifications in loading types files for requirements commit e90ee86e0dd3ad56ad53916c2e840bd370c452d4 Author: felix Date: Fri Feb 25 09:31:52 2011 +0100 handle single char vbar in readable print (thanks to zbigniew) commit 2916b67a281e258dbca4cebdcfff59e29ae8f33e Merge: bab0ebdc 6725c9e2 Author: felix Date: Thu Feb 24 21:06:30 2011 +0100 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit bab0ebdcc33ced20ec7b2aa5d0fac447d1df2976 Author: felix Date: Thu Feb 24 21:06:14 2011 +0100 mini-salmonella: use -force (to handle problem reported by sjamaan) commit 8afeb2c50f476c229b1b5202dc6e5437f0b6707f Author: felix Date: Thu Feb 24 08:20:44 2011 -0500 types.db work commit a3e2aaea6cb8d0fc6987e75fc00e4e46177bc6c9 Author: felix Date: Wed Feb 23 09:01:07 2011 -0500 types.db enhancements commit 6725c9e2fb2ea89c51f69f4fc4d0ee293d529e64 Author: felix Date: Wed Feb 23 08:12:25 2011 -0500 load types files for file-requirements commit d3b0fb81f44c334c4d56a9e590bd12c98987e3f3 Merge: 8434c5c5 0862e159 Author: felix Date: Tue Feb 22 21:51:39 2011 +0100 Merge commit 'origin/expander-simplifications' into experimental commit 8434c5c578260f2ccc4d4ecba70d6d8f53f89d91 Author: felix Date: Tue Feb 22 09:02:24 2011 +0100 keep macro environment extension in eval/meta commit 0b2b134b61ddcbbdad35020d6155ffdb2b3bcc0a Author: felix Date: Mon Feb 21 10:08:30 2011 +0100 yet another brokenness in arg_val (tanks to ckeen for reporting this) commit 98d62c61ae77bbc50495f259466b9484619cd305 Author: felix Date: Sun Feb 20 14:02:41 2011 +0100 added reader-test to manifest commit 0862e1597f5f5a2f832ad75e3d8c6dd6ba50a35d Author: Peter Bex Date: Sat Feb 19 17:42:06 2011 +0100 Add regression test for behaviour exhibited by #511 - we don't want to accidentally start changing the expander so it doesn't do this check anymore commit 0eb872444b61717c542deb45e1e181a988acc749 Author: Peter Bex Date: Sat Feb 19 17:20:13 2011 +0100 Fix syntax-rules expansion problem introduced in the patch for #379, which got exposed in #511 commit 07ac21dc95c173d332286b06f2b5693a8aa4b5bb Author: felix Date: Sat Feb 19 01:44:16 2011 +0100 create library symlink regardless of DESTDIR (pointed out by mario) commit 7f9d72049b0ff462fe097dbc8ee6dfb3d7467858 Merge: c1dc721c 4577b107 Author: felix Date: Sat Feb 19 01:36:33 2011 +0100 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit c1dc721cd9bf867e483a82b0ed83e6a1e6f11f50 Author: felix Date: Sat Feb 19 01:36:16 2011 +0100 read-macro-handers now can return zero values (thanks to zbigniew) commit da042c2ae1f7936d3bf6565edc7e1c8cafce4066 Author: Peter Bex Date: Thu Feb 17 21:31:41 2011 +0100 Remove se and alias args from strip-syntax now they aren't used anymore commit 27781ff69c3a5946bc65afba4e773280debffd23 Author: Peter Bex Date: Thu Feb 17 20:33:31 2011 +0100 Change compiler macros and 'declare' statements so they explicitly look up symbols in the syntax env instead of stripping their syntax; in effect, this does the same thing commit 4577b107fbaef8e269fb386f23e7c0fe6444340c Merge: 677e1a52 d6befa27 Author: felix Date: Thu Feb 17 09:30:22 2011 -0500 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit 677e1a526bc6d1ddc3e97da968ab6bc95b9a6ed3 Author: felix Date: Thu Feb 17 09:30:10 2011 -0500 changed comment about gather-egg-information (thanks to mario for clearing that up) commit 196dbaeb929e93b6342ad6a4be80a0717200882d Author: felix Date: Mon Feb 14 19:08:53 2011 +0100 fixed stupid bug in runtime-option argument checking (thanks to Sandro) commit d6befa274e17f924e4eb6714bf9e03f42457fec9 Author: felix Date: Mon Feb 14 19:08:53 2011 +0100 fixed stupid bug in runtime-option argument checking (thanks to Sandro) commit e925e70a94c226929d20f791009c198cbe4ca636 Merge: c1fc419f e818bd9f Author: felix Date: Sun Feb 13 14:02:01 2011 +0100 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit c1fc419fb06a90ef4ec950d71f50c908f51f8b2d Author: felix Date: Sun Feb 13 13:55:38 2011 +0100 ,m #f switches back to toplevel module (thanks to ckeen) commit 5d858598c04fd772c9f8b19cb0de9d236029a471 Author: felix Date: Sat Feb 12 13:18:39 2011 +0100 fixed name in NEWS; trivial changes commit e818bd9fa4bfd5445000232da5313215dc139771 Author: felix Date: Fri Feb 11 03:49:07 2011 -0500 fixed stupid error in chicken.h (reported by ckeen) commit d4d418713d721cb6b47b41fd0ca3a0a3406868fb Author: felix Date: Thu Feb 10 21:17:46 2011 +0100 detect little endian byte-order on MIPS correctly (thanks to ckeen) commit 42490cf95afd4d2f0521a967b965239403398420 Author: felix Date: Wed Feb 9 08:37:57 2011 -0500 and pattern matches and *; added interesting rule for eqv? (untested) commit 8f27a6e31588a4d45baef31649e9771326185197 Author: felix Date: Wed Feb 9 08:23:59 2011 -0500 bumped exp. version to 4.6.6 - sigh. commit bf328d549c57e730a7a6cd8b0223ebb124ffc98a Merge: 8e3e3ca8 191caf9a Author: felix Date: Wed Feb 9 08:22:51 2011 -0500 Merge branch 'master' into experimental commit 191caf9a6b6abf0e37bbd6221488ed91bfdaf7cc Author: felix Date: Wed Feb 9 08:22:40 2011 -0500 changed version to 4.6.5, due to wrong versioning of dev-snapshot commit 8e3e3ca84cf1f6d6f822d0944a1ebd780aa10f3c Merge: 458da248 0e22a709 Author: felix Date: Wed Feb 9 05:10:39 2011 -0500 Merge branch 'master' into experimental commit 0e22a70972f5d5c022ba9c0cee9eb018326bbe9f Author: felix Date: Wed Feb 9 05:10:27 2011 -0500 added missing entry to NEWS commit 458da2489efd1d8413b3efbf500d4a81a872afed Author: felix Date: Wed Feb 9 05:07:55 2011 -0500 moved default feature-id's to better places; added srfi-46 commit a931dceceb594602d5a6d337ce6dd21ec98e1389 Author: felix Date: Wed Feb 9 05:07:36 2011 -0500 tcp-abandon-port marked wrong socket-port direction (found out by zbigniew) commit 5889b1e6b054022d3d82f0b6ccf62eed9f732640 Author: felix Date: Wed Feb 9 04:54:46 2011 -0500 added doc for condition->list by ckeen commit 7c6fb3fc074e14fd3c0609d78abd7bd3229e51ba Merge: 1a6921b5 9e0f08c4 Author: felix Date: Wed Feb 9 04:53:26 2011 -0500 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit 9e0f08c4c77899d7e1f0447987960196455c52ea Merge: 5f396215 30486394 Author: felix Date: Tue Feb 8 15:40:18 2011 +0100 Merge branch 'master' into experimental commit 30486394496133da3bd72c5f7d117b7af058864f Author: felix Date: Tue Feb 8 15:39:53 2011 +0100 install manual css correctly commit 5f3962159627b975d0f188a7509c462c103828af Author: felix Date: Tue Feb 8 15:20:11 2011 +0100 restored version.scm commit 6c04dd46f95aa79dd20628215c8d0706b891ecf4 Author: felix Date: Tue Feb 8 15:19:38 2011 +0100 html-installation fixes commit 3a9f4ef8afd2ec83a7f39e3b117279e6c40f07c7 Author: felix Date: Tue Feb 8 13:47:14 2011 +0100 reverted version.scm commit 8f144b8569fb306b4fafefcae3e5e83900b115cb Merge: 8fe3b26f aa925bb0 Author: felix Date: Tue Feb 8 13:34:57 2011 +0100 Merge branch 'experimental' commit aa925bb0951318a52bf427f2c01826ac5ca2937b Author: felix Date: Tue Feb 8 10:21:10 2011 +0100 fixed incorrect unsafe rewrite for pointer->address (thanks to Kon Lovett) commit 69bea5f5bbfecfcb8440cd8cbd3144eadbdaa3d1 Author: felix Date: Tue Feb 8 10:15:47 2011 +0100 use backtick instead of make-var for pwd (suggested by ckeen) commit e7a91d05c472905d875ac002b096ea6df74e111b Author: felix Date: Tue Feb 8 10:15:12 2011 +0100 yeah, should we? commit e8a891c507830e9aeef3856f93e3982a8d136fea Author: felix Date: Mon Feb 7 11:09:12 2011 +0100 html manual dist + install totally broken commit d2e59395247509727a52ac909fd479a641fa9e76 Author: felix Date: Mon Feb 7 11:01:27 2011 +0100 reordered list of toplevel interpreter commands in manual; added documentation for ,m commit 8fe3b26fe6114f90a1d7f1d16eaa22fec769c995 Author: felix Date: Mon Feb 7 10:48:12 2011 +0100 use correct foreign type for ##sys#process in posixwin.scm (reported by mario) commit 3181e60bf381c41fb10af8a8ba8e04a7158b5d5d Author: felix Date: Mon Feb 7 10:48:12 2011 +0100 use correct foreign type for ##sys#process in posixwin.scm (reported by mario) commit 6d2ddf9bcf53f2f7dd79feafd7f5430abb27ce19 Author: felix Date: Sun Feb 6 18:04:13 2011 +0100 ,m command to switch current module; prompt shows current one commit 03a2a84090ebf759960caf612de0e7ea043b7e94 Author: felix Date: Sun Feb 6 17:49:26 2011 +0100 use list for storing toplevel commands commit 5652b717c9c9e7a6631e55d418133ab98ca97236 Author: felix Date: Sun Feb 6 12:27:14 2011 +0100 slightly better argument value checking for runtime argument values (thanks to ckeen) commit 40a2249b0b948682b90533eb66bea0519f251a5f Author: felix Date: Sat Feb 5 16:27:16 2011 +0100 added patch by sjamaan for tail-pattern support in syntax-rules commit 11a2ffeda295f6eeb747e220ea08073b55755524 Author: felix Date: Sat Feb 5 15:53:10 2011 +0100 fixed wilrdcard type-comparison for 'not' commit b8f2531c3805e1109bf50c6b0de7ff1f00844cfc Author: felix Date: Sat Feb 5 00:27:29 2011 +0100 added a few specialiations; tests commit 1a6921b5aee774f20954126f7c53971d91df0a42 Merge: 08170cec 1342cccb Author: felix Date: Thu Feb 3 05:00:15 2011 -0500 Merge branch 'master' into experimental commit 1342cccbe6c68330599ebbdddad62a379d1d3a75 Author: felix Date: Thu Feb 3 03:43:18 2011 -0500 fixes in NEWS commit 08170cecbe63c8dbe86c6b0a14b64f04e18337d8 Author: felix Date: Wed Feb 2 09:38:13 2011 -0500 bumped version to 4.6.5 commit 84c3144d29e4473abdefb376560f4388af670e7a Author: felix Date: Wed Feb 2 09:37:24 2011 -0500 updated NEWS commit 529b4aebaa486d3c14097499ae8377a3d020ab84 Merge: c0349031 9024ae85 Author: felix Date: Wed Feb 2 09:25:26 2011 -0500 resolved merge conflicts commit c0349031b1e3c0c3006ab187b687e92422d412f3 Author: felix Date: Wed Feb 2 09:24:13 2011 -0500 updated NEWS for 4.6.4 snapshot release commit 9024ae85b5df7329db18432292bdf47be8c4c046 Author: felix Date: Wed Feb 2 09:21:08 2011 -0500 support.scm still listed -picky commit afa4512d8cd9ea482acab0adea812b16b16de339 Author: felix Date: Tue Feb 1 13:01:26 2011 +0100 added subvector; types.db enhancements; better handling of not in specializer signature; slight optimization in reverse-string->list commit 806b378fd834154e042254d5cd2e4d29d005cc6a Author: felix Date: Sat Jan 29 13:03:22 2011 +0100 handle #(N ...) in specialization templates commit d1217287c0b508e4495093b0114c37ca3c64e6c4 Author: felix Date: Thu Jan 27 21:16:08 2011 +0100 changed argument-ref syntax for specializations; spec.s for fp-ops; works; happy commit 7aaa1fa3a0aded748175c1c90b2d467b14697a73 Author: felix Date: Thu Jan 27 03:35:46 2011 -0500 test-entry in types.db commit 367c66754cb96aa310b9cebe9d707d965fceb3db Author: felix Date: Thu Jan 27 03:27:25 2011 -0500 not and or variants in specializer type spec commit b27610b34b6743566b34b815e524c19a3a5350d2 Merge: 49e6c4b2 3d8167f6 Author: felix Date: Mon Jan 24 19:32:38 2011 +0100 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit 49e6c4b241424b45c6a0cb8967b7c46765e66229 Author: felix Date: Mon Jan 24 19:29:38 2011 +0100 no panic when fd-list entry has wrong fd registered (reported by zbigniew) commit 3d8167f6b9e0f27141a3efd0045bf0240ed8fb67 Author: Peter Bex Date: Mon Jan 24 19:26:58 2011 +0100 Apply CR#439. Voting time is over. Nobody cares about it anyway commit 4fb46842b4abb10a1b6bc250d0bfbd3ac781b75e Author: felix Date: Mon Jan 24 19:27:25 2011 +0100 typo fix in types.db commit 58158284a7a04c895c7182ac3abe27c2741884ef Author: felix Date: Mon Jan 24 19:21:26 2011 +0100 compile-file returns #f on error commit 4d05ce083b393c18dd2cd7b72155cc86919021e6 Author: felix Date: Mon Jan 24 19:19:00 2011 +0100 increased default trace-buffer size to 16 commit cbb23a2a984a2a24299234ee1c0e96b47f18bae5 Author: felix Date: Sun Jan 23 22:02:35 2011 +0100 db entries for read-buffered and condition->list commit de033aef6860a4b76d388810e73d3927fd553e95 Author: felix Date: Fri Jan 21 09:39:13 2011 +0100 fix in scrutinizer after bug-report by alan commit 06d7fd21a4651b7850381061c8ad9dc8ea0f5835 Author: felix Date: Thu Jan 20 20:24:28 2011 +0100 build-node-graph accepts nodes; substitution in specializer commit df0bb192a6ac069e9d845d8445d96bf173e117fa Author: felix Date: Thu Jan 20 20:19:21 2011 +0100 updated manifest commit 2c85c5031709878ae12c31b88bbd126f9ff383ed Author: felix Date: Thu Jan 20 05:58:08 2011 -0500 specialization fixes; template subst currently broken commit 7ab8030ca16177b719a370f3cde40f2a83a0b95d Author: felix Date: Thu Jan 20 04:56:39 2011 -0500 -specialize option and scrutinizer changes commit fbbd452e90fcda7a23d56d2d6889304e19ff59fc Author: felix Date: Wed Jan 19 09:47:13 2011 -0500 applied patch by Sven Hartrumpf that fixes use of get-environment-variable in helper scripts commit 29a3bc5226fea8c41abd3703f7c0b88637b905c9 Author: felix Date: Wed Jan 19 09:43:45 2011 -0500 added read-buffered, but currently undocumented commit a53437b0abb1db43d69f5863b227a4eb17e059c3 Author: felix Date: Wed Jan 19 09:43:29 2011 -0500 mark ___byte_vector as deprecated commit d287f2ce0e153ba250e1111d9f484c0d52e22b75 Author: felix Date: Wed Jan 19 05:35:25 2011 -0500 supper definition for ___blob type added to bind commit 5559d61913c2828eb53ae3f6653ec5162bf427a0 Author: Christian Kellermann Date: Fri Jan 7 18:06:13 2011 +0100 Add condition->list procedure This addition to library.scm allows programs to convert, inspect or print condition objects independently from chicken's internal structures. Example: (condition->list (make-property-condition 'exn 'message "foo" 'arguments '("bar") 'location 'test)) => ((exn (location test) (arguments ("bar")) (message "foo"))) Tests for this behaviour are added to the test script. commit db33f6fb8bf1660e46f2db14d212a6d96b9dbd20 Author: felix Date: Wed Jan 19 04:04:55 2011 -0500 csc tried to link with chicken.rc.o for -gui on all platforms (reported by ddp) commit fac15e433ed60e4becc7794c948fc99c21b553f1 Author: felix Date: Tue Jan 18 09:35:38 2011 +0100 accumulated profile stuff seriously broken (needs name or is ineffective) - thanks to Taylor Venable commit 95834010ad8f7724a3aca5016958c4ff37ec8cfa Author: felix Date: Tue Jan 18 00:49:49 2011 +0100 incorrect closure test in equal? - thanks to ckeen commit fe1325920d875c1fd7322aa42d09164a067369c9 Author: felix Date: Mon Jan 17 16:25:35 2011 +0100 fixed broken integer64 check (thanks to Sven Hartrumpf) commit 802f433d2f474e8f2a1102b62600eb14131f84e7 Author: felix Date: Sat Jan 15 13:45:48 2011 +0100 no need to check int64 range, it exceeds doubles anyway commit 15476160b779120013eccd54fbe5650a2597c31d Author: felix Date: Fri Jan 14 23:48:33 2011 +0100 callback-lambdas are not allowed to be leaf-optimized (reason for a bug reported by David Dreisigmeyer) commit 6652b5b58d51cb0b291e5fd32bb46447633cc7e3 Author: felix Date: Fri Jan 14 23:46:36 2011 +0100 get rid of some C compiler warnings in runtime.c commit eb07a140d8959d88aa848b6c79c2469d0b476416 Author: felix Date: Fri Jan 14 04:54:32 2011 -0500 foreign-argument checks for 64-bit integer types where insufficient (thanks to Kon Lovett) commit f7818e6ab942174453f02659380efc38140c6b0b Author: felix Date: Fri Jan 14 04:54:06 2011 -0500 added foreign-type-size commit 4b124bce3e2569895506a36a0d2229618c67c95a Author: felix Date: Tue Jan 11 23:44:54 2011 +0100 added vector-copy! to types.db and chicken module imports (thanks to Jules Altfas) commit a8fa3fdbc96a949b0fa158b9807ad365922728c1 Author: felix Date: Sat Jan 8 12:26:05 2011 +0100 fix in types.db and type-specifier syntax in manual by Kon Lovett commit decf8d44e04a0a9ad967e17321cb14ac0181c6e1 Author: felix Date: Sat Jan 8 12:18:40 2011 +0100 types.db fixes by Kon Lovett commit 680f1f4b3d934a348f171c27a01e3a8fe0ec497c Author: felix Date: Sat Jan 8 11:24:11 2011 +0100 csc quoted translation-options twice commit 1e0bc6bf89e26ecb0004fb9a280295d7a4ec216c Author: felix Date: Sat Jan 8 11:23:53 2011 +0100 reader fixes for escaping single-char symbols commit 35e6429e4f4397c654cec39e0d2bc5cf42073a8d Author: felix Date: Wed Jan 5 09:37:36 2011 +0100 updated copyright notices commit 8a65dc646b3848ce0a6100c017bfe900d54231e2 Author: felix Date: Sun Jan 2 11:55:09 2011 +0100 added explanations for data-representation of locatives (pointed out by mario) commit b2ccac5a895ed37cbc44685aec5138e5e060387b Author: felix Date: Sun Jan 2 11:48:50 2011 +0100 unsigned-integer64 return type commit 7ee034e3f2e6f8c9e433391dc4c02b6196052e7f Author: felix Date: Sun Jan 2 11:38:34 2011 +0100 equal? and equal=? do not recurse into closures (CR #441) commit 5cf19f5e2831c2b78fb992562ab2f61362ddf986 Author: felix Date: Wed Dec 29 12:15:14 2010 +0100 typo fixes (thanks to Peter Bex) commit 5e002ef8901c91dc3197ceae7f9882699d89b55f Author: felix Date: Tue Dec 28 12:34:12 2010 +0100 moved common time-related code into posix-common.scm commit b2aaa204398f94b24308eff5312ad8b9b1a6c61a Author: felix Date: Thu Dec 23 12:35:09 2010 +0100 removed deprecated left-section/right-section/noop/getenv and ftypes pointer/nonnull-pointer/byte-vector/nonnull-byte-vector commit c413efd7c1f94ce83f27045ce7cb2738519c53f8 Author: felix Date: Wed Dec 22 05:08:05 2010 -0500 ..._LIB_NAME build fixes commit acd400274007e759e462a39cd79c1a5bef86ba8d Author: felix Date: Wed Dec 22 04:37:19 2010 -0500 removed deprecated time->milliseconds, milliseconds->time, project and global-* procedures from lolevel; removed deprecated -W/-windows csc option commit a1bae03fe303457d7463bba83e6045ad2a9f4410 Author: felix Date: Wed Dec 22 04:34:14 2010 -0500 removed remaining MSVC support, deprecated c-runtime procedure commit 8817a2cebbaf5599c7eb8d9bb9cda92406c09acf Author: felix Date: Wed Dec 22 07:31:47 2010 +0100 apply PROGRAM_PREFIX/SUFFIX also to share + lib subdirectories and library names; use distinctive subdir in include; remove msvc specific stuff from csc; use build-variable for actual library name; prefix/suffix-related build fixes; things may be broken at this point commit ee105fd99b761743fa487062f15a6345023cc1a5 Author: felix Date: Mon Dec 20 06:51:36 2010 -0500 chicken.h patch by ckeen commit 6e084960e18f4d332d4fc31538126bd01573a116 Author: felix Date: Mon Dec 20 04:48:53 2010 -0500 mingw/msys makefiles fixes commit 341bb2b218df711d77918b278319c458f25f23dd Author: felix Date: Sun Dec 19 13:42:48 2010 +0100 increased obscurity and complexity of canonicalize-body even more, thanks to sjamaan for help on this problem and nice testcases commit 06733dda4d7866a73ae9d13a537ef1c7fa0c4e55 Author: felix Date: Sun Dec 19 13:42:07 2010 +0100 bumped binary version commit bbb3b76171f560f1333a42d8542a30fbd4f173ca Author: felix Date: Sun Dec 19 13:41:46 2010 +0100 added stupid alias for missing h_addr hostent shit struct commit e6c87a718936b070ce8983f0e95cbead7959629c Author: felix Date: Sun Dec 19 13:41:15 2010 +0100 added stupid shit macros to include required functionality ofor ISO number predicates; adjust stub-toplevel function name decl for new naming scheme commit 806bdb60d143712646a07ae891101a11a1511ab6 Author: felix Date: Sat Dec 18 13:54:28 2010 +0100 quoting crap commit 6be036bf483b77b5600fcfa20d96f328aa0844b5 Author: felix Date: Sat Dec 18 13:36:59 2010 +0100 removed some shit commit fd156beb0771532b1a06c5764b8565e8bd4463b0 Author: felix Date: Sat Dec 18 12:52:40 2010 +0100 better string->c-identifier commit 55cae38d5b0f0d95c01184c94906efcb27c79058 Author: felix Date: Sat Dec 18 12:52:23 2010 +0100 update of file-creation-mode types.db entry commit ad323818809b1044969fb1032ac8c833508f912a Author: felix Date: Fri Dec 17 17:42:19 2010 +0100 I'm fed up with it commit 05fac72d26dcf5cf6fdf9e67835168d1c1e40630 Author: felix Date: Fri Dec 17 08:02:32 2010 -0500 csc qs's argument to complex chicken options commit 26915785e4043b08ed811800eb9a500b7bfbba09 Author: felix Date: Fri Dec 17 07:50:58 2010 -0500 allow optional mask arg for file-creation-mode to allow use of parameterize commit 31297387390ca336f70c592d9e482582acc9ee09 Merge: 77cadb0b 517d98bc Author: felix Date: Fri Dec 17 04:21:40 2010 -0500 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit 77cadb0b54e536695522190cd813707479ae3b64 Author: felix Date: Fri Dec 17 04:21:31 2010 -0500 removed deprecated internal srfi-18 routines; time->seconds returned incorrect result (thanks to Alan Post for reporting this) commit 517d98bc03d13925d8ea4bc6be477689616a13b2 Author: felix Date: Thu Dec 16 18:59:10 2010 +0100 added implementation for CR 424 - seems to do something, but needs verification commit 454bc1b6aac50c3b9a19628ee515d701041b5f90 Author: felix Date: Thu Dec 16 18:52:39 2010 +0100 removed incorrect text from comment commit 179f6fa30a737605adefd23578ed63ec559122f9 Author: felix Date: Wed Dec 15 11:56:17 2010 +0100 fixed brokenness in normalize-pathname commit 6acca7f87c035ede83c773efc6ce21de0eaa643d Author: felix Date: Sun Dec 12 00:57:40 2010 +0100 csc passes -:d along to chicken (suggested by sjamaan) commit 1761ef4bb49e9fa07c26bc639760040ed3824646 Author: felix Date: Sat Dec 11 13:48:30 2010 +0100 strip-syntax bugfix by sjamaan commit 8115df7e2d86cdf5d5e160c1604ef69545bd03b0 Author: felix Date: Sat Dec 11 13:31:01 2010 +0100 fix for IR renaming bug by sjamaan commit 49958f2b6d7d23d1a2cfdf537d17540b31f8f26e Author: felix Date: Sat Dec 11 13:16:13 2010 +0100 syntax-test test-macro fix by sjamaan commit d4d64aabafde3ed4ed4265137b6398e22897c34e Author: felix Date: Sat Dec 11 13:15:46 2010 +0100 make cover page even nicer commit addbb6df21f8e5e746bd08d772907e35de334134 Author: felix Date: Sat Dec 11 13:15:16 2010 +0100 use WRAPPERDIR for wrapper-install commit c60e1cb38af5143f54e2dbfcce45bf1840a4cc40 Author: felix Date: Sat Dec 11 01:16:46 2010 +0100 correct dist target invocation in toplevel makefile commit 3ebca08592a05d3c32df84e85eab0018da865191 Author: felix Date: Sat Dec 11 01:16:28 2010 +0100 added note to set-finalizer! doc commit 14381303bf6dba97290ca183e229a65e3c4cfa69 Author: felix Date: Sat Dec 11 01:16:08 2010 +0100 typo fixes reported by Kon Lovett commit 827218d1fcdce342e4e35bba95ad97edb52822f1 Author: felix Date: Fri Dec 10 15:19:25 2010 +0100 trivial change in message commit 39e6b72d827e4451718f32e03be2476d5c8cb70c Author: felix Date: Fri Dec 10 15:19:09 2010 +0100 added wrapper-maker script for private installations commit 650d6736b37771380b5b8e5e9e291fc5978bb69a Author: felix Date: Fri Dec 10 15:18:29 2010 +0100 documented finalizer behaviour a little more commit 664fc2e61caaec82d429d3dac3f1e82f66e643a6 Author: felix Date: Fri Dec 10 15:18:13 2010 +0100 added index-page for html manual commit 93f804de2817510f84b2e259dab928c7852a6fd3 Author: felix Date: Fri Dec 10 15:17:05 2010 +0100 slight cleanup in ##sys#canonicalize-body, removed redundant lookups commit 40160a8dce63228dfdeed8c1e9b742fae59d6c96 Author: felix Date: Fri Dec 10 15:16:03 2010 +0100 finalizers are scanned first, then marked, or the first mark will not trigger a finalizer for the same object commit 26d7ba6a1220dde0b3312a216dd9896f699ea983 Author: felix Date: Thu Dec 9 05:40:13 2010 -0500 applied sjamaans DISTFILES patch (#438) commit 7cdabbf66c95f8e1e0599b1f6e05791466fc7776 Author: felix Date: Thu Dec 9 05:24:09 2010 -0500 added -picky mode commit e06aa80e0a4f344d11a1fb4490d457d1be64d85b Author: felix Date: Thu Dec 9 04:46:26 2010 -0500 short option marker in csc for -module commit 2a94e86f0aac76e42b31135ba127306464219794 Author: felix Date: Wed Dec 8 22:14:22 2010 +0100 added lambda-lifter back again as it proved to be effective in one use case commit 9a1d9456d3f4ae2348767ef481f31d83b0615dea Author: felix Date: Wed Dec 8 05:08:36 2010 -0500 improved command-line list creation code commit 6ab0b9f6b99c230f52a040d26a460ab6d99dc4ef Author: felix Date: Wed Dec 8 05:08:07 2010 -0500 added -M/-module option commit c157ff502829c6f2856df4a963d81a88ee241ebf Author: felix Date: Mon Dec 6 04:58:45 2010 -0500 more useful error message in case equal? recurses too deep commit a2f2efb84fb7f6136b0cbd50f2f8302240b3b825 Author: felix Date: Sun Dec 5 18:22:56 2010 +0100 non-inlined cons in expander broken when redefined (reported by David Steiner) commit ceebffcad686378635edeeea6906c75faf9d4e01 Author: felix Date: Sun Dec 5 18:22:56 2010 +0100 non-inlined cons in expander broken when redefined (reported by David Steiner) commit 926a29d044cbad484a3acd093eda8f32150228e8 Author: felix Date: Sat Dec 4 15:57:47 2010 +0100 types.db fix for string-translate commit c336f1c0d72d245b4d3ffc4dd761e80cd927e059 Author: felix Date: Sat Dec 4 15:52:55 2010 +0100 fixed page-name in distribution file (thanks to Jim); updated README about html docs commit 2bb09388cff32b7ecb49f39df0692e2d4db7a0bf Author: felix Date: Fri Dec 3 17:19:05 2010 +0100 silly link case problems, tiring commit 692db130a6c9d9364ec8b8a908d33cafd33e1ebd Author: felix Date: Fri Dec 3 17:02:22 2010 +0100 dumb dumb dumb commit a3394007935818d1acbcaf7625aa893acc2efdb7 Author: felix Date: Fri Dec 3 12:43:55 2010 +0100 more silly bugs commit 34e8b79ecc8acd7d160949a02dcb5cc6f65e69fc Author: felix Date: Fri Dec 3 09:55:29 2010 +0100 silly bug in scrutinizer commit 1bc780b6b522a059753396c0f9ed04fae052555f Author: felix Date: Thu Dec 2 08:47:25 2010 -0500 updated manifest for html manual commit c4b71df8f76d58360cc781cf4dca6a17b0f1ddb1 Author: felix Date: Thu Dec 2 08:44:14 2010 -0500 use manual-labor in makefiles for generating html to be distributed commit c3d916c026f2fdaacbea1c34613df65588e0dc1f Author: felix Date: Thu Dec 2 08:32:29 2010 -0500 cleanups commit 72ce83d159afc15d9ffe30bf8707a7151a0f5640 Author: felix Date: Thu Dec 2 08:32:12 2010 -0500 removed broken mail-sending stuff from chicken-bug commit 6ff3957f988e530861d8ca77a1fa5b310b4b9e32 Author: felix Date: Thu Dec 2 08:31:31 2010 -0500 chicken-script feature-id, old script is deprecated; removed silly meroon-specific describe code commit f5b02bb9bde320201e4cfdc17aec5650129a5129 Merge: 8518c87a 8576f86a Author: felix Date: Thu Dec 2 04:38:53 2010 +0100 resolved conflicts commit 8518c87a88cec01c3e4369fefa03cd82de8ab2f8 Author: felix Date: Thu Dec 2 04:29:43 2010 +0100 scrutinizer only needs to handle single-var lets commit fd7cded5eb72cc390e7cc63132d623bfd837c1d1 Author: felix Date: Thu Dec 2 03:47:40 2010 +0100 got rid of ineffective lambda-lifter commit 8576f86aa7ca84489df31ee4cb435eaa52044aa7 Author: felix Date: Wed Dec 1 06:17:44 2010 -0500 updated test for disabled pickyness in scrutinizer commit a56037b4908622d65b8decda92d07fc7c93fee42 Author: felix Date: Wed Dec 1 05:52:10 2010 -0500 fixed broken sleep-time conversion reported by Karel Miklav commit b6884ea0987f05c0027cc8086902fbb599ef63ad Author: felix Date: Wed Dec 1 05:52:10 2010 -0500 fixed broken sleep-time conversion reported by Karel Miklav commit 7f8bf2b4daf264a438cbc3ea99230c88d9c66323 Author: felix Date: Mon Nov 29 06:48:19 2010 -0500 strip-syntax patch by sjamaan commit 29dd1e50dfd6f131fba4430ccda02ee9fc05b674 Author: felix Date: Sun Nov 28 17:16:49 2010 +0100 disabled if-branch-undefd scrutinizer check for thetime being commit 4a2a5a1b37ff17f07a3b4b46f182b6b17d030ca4 Author: felix Date: Sat Nov 27 15:39:52 2010 +0100 chicken-bootstrap feature defd during build, disables redef-std/ext binding warning commit 51b192309f802a096735a89b8c55f5a80a509af4 Author: felix Date: Sat Nov 27 15:38:56 2010 +0100 re-enabled undefd-in-tail-pos warning, detects self-tail-call commit 571476a508c692c08d52433714c0532bb56a4f34 Author: felix Date: Fri Nov 26 10:58:00 2010 -0500 both cygwin and git are stupid commit cd105a338a5536741f128644d838d8f1e4f6bd8e Author: felix Date: Fri Nov 26 14:40:53 2010 +0100 distinguish for-each/map loop name gensym commit e964a0d93989ebebd25c09e3a67755b191582c7a Author: felix Date: Fri Nov 26 14:41:18 2010 +0100 better warning message in compiler commit de5cfee541907dbdade82ef74a91e46e62f61aa9 Merge: d8cab033 92047d86 Author: felix Date: Thu Nov 25 09:12:24 2010 -0500 resolved conflicts commit d8cab033a8af891274c2b6e3935a80e0413ef701 Author: felix Date: Thu Nov 25 09:10:42 2010 -0500 comments in scrutinizer commit 494c12e90f9150d41bf41294dd279adadbb510cd Author: felix Date: Thu Nov 25 08:41:00 2010 -0500 scrutinizer-enhancement is too heavy, need to reconsider commit 9a89a61c0830bde5962b2c34153dbf28d4da38b6 Author: felix Date: Thu Nov 25 06:03:20 2010 -0500 more efficient inline_allocate functions for string->number and exact->inexact commit d1eac90290c6d8ad4389d428eb7ed5eaddebfad3 Author: felix Date: Mon Nov 22 04:59:25 2010 -0500 different layout for feature-list in csi ,r command commit 62ba0336d510561eff725a45fe08c01512e8fed5 Author: felix Date: Mon Nov 22 04:59:10 2010 -0500 added irregex-is-core-unit feature-id (requested by Morirtz Heidkamp) commit 5cde640bcff2af77dc9030250e9326939d20fa44 Author: felix Date: Mon Nov 22 04:22:38 2010 -0500 forgot equal=? in types.db and import lib (as usual) commit d47df9bbc9a1efd94670ab810a03fc4c79d159c9 Author: felix Date: Mon Nov 22 04:22:22 2010 -0500 added note about local mode (thanks to Joerg Wittenberger for making it clear that this needs to be documented in a better manner) commit 92047d863677b203d7570d0e8e60554b8deab6a7 Author: felix Date: Sat Nov 20 16:13:52 2010 +0100 fixed bug in ##sys#halt (thanks to Jeronimo Pellegrini) commit 04af68b541adab8dcaa24dd0915c7e68de6eb7ed Author: felix Date: Sat Nov 20 16:13:52 2010 +0100 fixed bug in ##sys#halt (thanks to Jeronimo Pellegrini) commit 80528ac6af99ca974eec9e1169aecf2a57ff599b Merge: be2a3565 1d9bca5e Author: felix Date: Fri Nov 19 07:27:58 2010 -0500 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit be2a356562ceb2c87f230e54b09fe0faa2132e97 Author: felix Date: Fri Nov 19 07:27:47 2010 -0500 updated scrutiny-tests commit 4d923a24c807c2a28a8f7569dbf4d77e5ec9c8f4 Author: felix Date: Fri Nov 19 06:04:33 2010 -0500 added equal=? commit 2e45f04a2facdd51d86cd38fb1ed12cdf2d85f26 Author: felix Date: Fri Nov 19 05:30:52 2010 -0500 warn if conditional one node branch in tail-position is (##core#undefined) and one is not (suggested by Joerg Wittenberger) commit 1d9bca5e10baca7306a4f3541fcef7624121da0a Merge: 59a64ea4 9d0dad75 Author: felix Date: Wed Nov 17 23:48:26 2010 +0100 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit 59a64ea4a15644162e3c214c12f0ce578ff3b09c Author: felix Date: Wed Nov 17 23:48:18 2010 +0100 make-mutex does not store current thread (thanks to Joerg Wittenberger) commit 6e0e99eb8a8635d4aedda361230f5a14df1bdcb4 Author: felix Date: Wed Nov 17 02:30:38 2010 -0500 llist-match fix commit 9116689ceb9612092c1f8b52f3a672b2a21694df Author: felix Date: Wed Nov 17 02:24:11 2010 -0500 forcing primordial clears unblock-state commit 9d0dad75fbf8b6df8c8ca8412cfa0cd2f887b75c Author: felix Date: Tue Nov 16 05:53:21 2010 -0500 ,g shows variable fetched; documented prefix matching in ,g commit b0a82f9da4225bf77f34d46b10748d3c3c26710d Merge: b8689e69 c5170b16 Author: felix Date: Mon Nov 15 11:43:36 2010 -0500 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit b8689e69e38e91bef50edc3ecfb45af180a2b228 Author: felix Date: Mon Nov 15 11:43:26 2010 -0500 fixed broken ,g command in csi commit 39ba4406e8633c78969237b45a34856cec60fbf8 Author: felix Date: Mon Nov 15 11:24:36 2010 -0500 when scheduler detects thread on fdlist that is not blocked for I/O, then just unblock it and let things be commit 9c742da9256dc4a7219c0d4e10cec07b83143551 Author: felix Date: Sun Nov 14 17:50:03 2010 +0100 added allocation benchmark commit c5170b1676cb6faf83ae4263cadc4e028594d62d Author: felix Date: Sun Nov 14 16:19:53 2010 +0100 added thread-list benchmark commit ddaacdfdb11a0a1c0d1e6363b1af3af78746575c Merge: 903ff596 cc86c30c Author: felix Date: Sat Nov 13 12:37:21 2010 +0100 Merge branch 'master' of ssh://chicken@call-cc.org/~/chicken-core commit 903ff596e6b2b082e2c1969843cc6ab06a6ecdad Author: felix Date: Sat Nov 13 12:37:06 2010 +0100 fixed conflict in compiler.scm commit 2ee23dcd68e790676ef739d83ec1cf4239ac4cd4 Author: felix Date: Sat Nov 13 12:35:18 2010 +0100 fixed incorrect llist check (thanks to Alan Post) commit 3eb6ac062298a511e0d544f018b243d85350a581 Merge: ec24b5e7 5ddd7f4e Author: felix Date: Sat Nov 13 12:08:18 2010 +0100 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit 5ddd7f4ec299f822d8038826fdffdc394e07ef8f Merge: cbb27fe3 cc86c30c Author: felix Date: Fri Nov 12 09:41:19 2010 -0500 Merge branch 'master' into experimental commit cbb27fe380ff8e45cdf04d812e1ec649bf45ca47 Author: felix Date: Fri Nov 12 09:25:58 2010 -0500 always quit when directly called procedure has wrong number of args commit b755bbf2647a00ec9301fea472344327d21587ff Author: felix Date: Fri Nov 12 08:37:23 2010 -0500 internal unboxing support for ints commit cc86c30ca115c1c25c7bc811fc34d7ce5fb4050f Author: felix Date: Fri Nov 12 05:35:30 2010 -0500 removed obsolete csi-static from rules.make (thanks to mario) commit ec24b5e72f9c24b38d0a088e8338adbd3ac1aa31 Merge: ba74854f 815cadb1 Author: felix Date: Thu Nov 11 23:14:18 2010 +0100 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit 815cadb12adf95a1cd8e1cdeff6e7a038c263a0e Author: felix Date: Thu Nov 11 05:55:17 2010 -0500 bumped version to 4.6.4 commit a62a93488b0090cca7173b8eb1630ef358b93cf3 Merge: cd19d7e0 e4307e3e Author: felix Date: Thu Nov 11 05:54:19 2010 -0500 Merge branch 'experimental' commit e4307e3ecd44958f8333b4a6193a5d13407b4783 Author: felix Date: Thu Nov 11 05:51:52 2010 -0500 fixed bug in rules-make for static programs commit d3cbf40d9873f1494dda108c513c7cfd718e497b Author: felix Date: Thu Nov 11 05:21:52 2010 -0500 updated NEWS commit bf074c6f5c470aeed43acc7c70b7099a71b29106 Author: felix Date: Thu Nov 11 05:21:45 2010 -0500 added sre->string to irregex import lib commit e4bdec8a3ae1077b4213e259639623e91706c22c Author: felix Date: Thu Nov 11 05:21:24 2010 -0500 fixed comment in GNUmakefile commit 8774a50388769b7092373f716d24394481823a1c Author: felix Date: Wed Nov 10 07:37:32 2010 -0500 added GNUmakefile to manifest commit a06ff8424d79f8b165e33f9937ca80d6a80bf7c3 Author: felix Date: Wed Nov 10 07:34:55 2010 -0500 undocumented static egg linking stuff commit c4d21d453bbd4fa1217f50b4c167abee764f9673 Author: felix Date: Wed Nov 10 04:45:31 2010 -0500 don't escape chars > 127 commit fad240593129b82ce3f8f3ad3382f1fcf3f32f55 Author: felix Date: Mon Nov 8 20:46:31 2010 +0100 `getter-with-setter' was modifying the getter instead of creating a new closure when the getter already had a setter slot - the bugger. commit b05638576bce31fbea8b5ad327e3a403f4c047ea Author: felix Date: Mon Nov 8 20:34:23 2010 +0100 added comment in copy_closure_2 commit 5f7bda7df4ab2d2066257fc4024dbc1cc6c8ea15 Author: felix Date: Mon Nov 8 20:24:54 2010 +0100 added note about placement of INCLUDES variable commit 9e4fef8566faf944838586a9d11f9426d64de2fe Author: felix Date: Mon Nov 8 10:19:11 2010 -0500 list-tail should check list argument type commit 850d6bcb0b6a35eca9e5fd15c177c5911f45523b Author: felix Date: Mon Nov 8 08:06:07 2010 -0500 backslash in path used for -I appears to confuse mingw32-make (ugh) commit 397acc242896af20186da603e549352a960c992a Author: felix Date: Mon Nov 8 07:35:15 2010 -0500 removed use of HOST_ variables commit f01f11ebf08be9c2464b1b4997896e8fe97f50ea Merge: 5f17e3fc 8de0ec73 Author: felix Date: Mon Nov 8 06:31:56 2010 -0500 merged make-refactoring into temporary branch commit 5f17e3fcac425156b26648b7f5ffed5aef0aa458 Author: felix Date: Mon Nov 8 05:30:21 2010 -0500 show escaped special characters in readable symbol (reported by Alaric) commit cc65bc9912a7a3e704c6d025afaef0c0e6e2e5e0 Merge: c5eafcc6 ce65dcc5 Author: felix Date: Tue Nov 2 15:51:21 2010 +0100 fixed conflict commit c5eafcc641e74c67eaa279716ab4c901b262bb17 Author: felix Date: Tue Nov 2 13:00:18 2010 +0100 removed define-macro stub; updated acks commit ba74854f4a08bf7f2655ce310276408215ed0542 Author: felix Date: Tue Nov 2 00:37:43 2010 +0100 removed last remnant of define-macro commit ce65dcc50b02d740a2a74ad1c5915acffff97170 Author: felix Date: Sun Oct 31 00:23:56 2010 +0200 added note and removed debug output from test-optional.scm commit 7c4050ddad74adf02bfb522dca89206fcf8570fe Author: felix Date: Sun Oct 31 00:21:42 2010 +0200 added tests by Alan Post (slightly fixed) commit bcea30312d1c4f3c6815dcb73b79a2ad9d08e288 Author: felix Date: Sun Oct 31 00:05:11 2010 +0200 use let-optionals* for DSSSL llists (thanks to Alan Post) commit 549af9340b7b28fc897b5980dac0dbc2a873b9d2 Merge: 4f3c046a 4f67fc36 Author: felix Date: Sat Oct 30 00:10:52 2010 +0200 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit 4f3c046ab3058949c0b64082a243904f1752fbca Author: felix Date: Sat Oct 30 00:10:32 2010 +0200 build-fix in rules.make by ewfalor (libchicken didn't get relinked) commit 9120a5e2c486b628e9209c015575225005486e57 Author: felix Date: Fri Oct 29 15:41:15 2010 +0200 removed funny rewrite rules that back-convert internal aliases commit 4f67fc36761bfdca06ef99904a2c86851d51264b Author: felix Date: Thu Oct 28 09:38:21 2010 -0400 setter for list-ref commit b69e5203ae4089e82457294f4ed9379e21d83c8e Merge: 9bd14fe2 78062449 Author: felix Date: Mon Oct 25 02:53:24 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit 9bd14fe2e84a358de84d285e5353dac4a31f99ee Author: felix Date: Mon Oct 25 02:53:14 2010 -0400 basic proxy authorization (contributed by "iru") commit bfe377b0f900e74a692613f2f56270576fea7a83 Author: felix Date: Mon Oct 25 02:17:50 2010 -0400 blob read-syntax fixes commit 6c592634183d8feeb70119434892abe2de53297f Author: felix Date: Mon Oct 25 02:17:39 2010 -0400 fixed more brokenness in delete-directory commit 1cf1f95b8762a385647cbae839882cf00b03430a Author: felix Date: Mon Oct 25 02:05:48 2010 -0400 find-files did not respect follow-symlinks; fixed brokenness in delete-directory commit 55e96744bdfcff965cec4f1ded4d4bdb2bd393b7 Author: felix Date: Mon Oct 25 01:46:20 2010 -0400 incorrectly named variable in scheduler.scm (reported by Kon Lovett) commit 78062449993428f6b8213cf494602c918eb3d61d Author: felix Date: Sun Oct 24 22:14:36 2010 +0200 depecated internal srfi-18 aliases; types.db fix (both thanks to Kon) commit e191960f77619a4b4ea233b883365eaf4cafc0c5 Merge: 90c942ad 1acdbfa1 Author: felix Date: Sat Oct 23 22:08:48 2010 +0200 Merge branch 'irregex-bugfixes' into tmpmerge commit 1acdbfa1ba163929eab4d032c0e07bbb6b543f5d Author: Peter Bex Date: Sat Oct 23 18:59:55 2010 +0200 Apply upstream changeset 2e55ccfbbab7 (Change all submatch accessors to return #f in case of a defined, but nonmatching subchunk. They still throw errors on undefined subchunks. The representation of match objects was also changed to have only the absolutely required vector size (it was too big by one slot, which caused problems when trying to determine the number of defined numbered submatches)). Also fix the Chicken internal submatch vector size of match objects (it was too big because it allocated room for stuff that was pulled out of the submatch vector) commit 90c942adc338fa343df7a8d577b56105e0674f67 Author: felix Date: Fri Oct 22 23:44:22 2010 +0200 fix in ##sys#glob->regexp; fixed wrong entry in types.db commit 3316b9da28a6ebde974996ad65227b68f46e79b7 Author: felix Date: Fri Oct 22 03:05:30 2010 -0400 read-symbolic-link returns non-link without error (suggested by Jim Ursetto); delete-directory allows optionally removing directory contents commit db019db299a7eeec19997c8472eb5609411d8baf Author: felix Date: Thu Oct 21 06:45:42 2010 -0400 [unsigned-]integer wasn't handled everywhere in ffi (thanks to Moritz) commit c14ca4975e8e1d4966042e7d4e6d091e53c903b6 Author: felix Date: Thu Oct 21 04:34:35 2010 -0400 fixed broken timeout test commit 3ee08462294b9bf7d1f601afcf97991b51b84782 Author: felix Date: Thu Oct 21 03:56:08 2010 -0400 catch negative timeout values in ##sys#thread-block-for-timeout commit 48a8d29cc7eaf0ce773c0399e9bcf90b4cb14fd8 Author: felix Date: Thu Oct 21 03:49:29 2010 -0400 timing vector too large (thanks to Kon Lovett) commit 972388c5753bb24142dde67bdd4870865b01739f Author: felix Date: Wed Oct 20 04:43:32 2010 -0400 moved incorrectly placed foreign vars in posixunix.scm (thanks to Kon Lovett) commit 34345a5f048ecf8efa39c481d32878fea4cda83b Author: felix Date: Wed Oct 20 04:20:25 2010 -0400 blob literal syntax (uses sharp-dollar now) commit 1831914f6d98daec95bcbf138f872061f3545532 Author: felix Date: Mon Oct 18 09:01:56 2010 -0400 optional slot-setter for define-record commit f5c5364723d70e1724bbfb4ece7312b2a88ef29b Author: felix Date: Mon Oct 18 04:14:45 2010 -0400 support for blob-literals commit 051e4105b5c59109c082b237f20f5caa854d20d5 Author: felix Date: Mon Oct 18 03:24:59 2010 -0400 don't use -fwrapv on OpenBSD (suggested and contributed by Christian Kellermann) commit aadb13fade3bb775bc2ddddebff5c3f99948ca0c Author: felix Date: Mon Oct 18 03:23:58 2010 -0400 make gcc the default compiler for Solarias (suggested by Peter Bex) commit 546712e8eb12eaa09b5d31173aad7e487dc1dd96 Author: felix Date: Mon Oct 18 03:23:34 2010 -0400 direct fid-call only when not declared not-inline; also done for local values commit 2f552362df8a06fbe739d38ac3fafb4ffa1e3efb Author: felix Date: Tue Oct 12 11:13:26 2010 -0400 remove I/O-unblocked thread from timeout list if timeout slot is set (possible problem pointed out by Joerg Wittenberger) commit 308c6b62caf66caecdf9d20b73bb842d31208f1d Merge: 8deaf07f 0ea0570b Author: felix Date: Tue Oct 12 10:55:10 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit 8deaf07f6622a51ee7199cc3f379bf2c76cff215 Author: felix Date: Tue Oct 12 10:54:57 2010 -0400 disabled debugging output in scheduler commit 7afb53281275ca0a248ad74315c30ba079539e83 Merge: 49ded4ba 23031a3d Author: felix Date: Tue Oct 12 10:49:22 2010 -0400 Merge remote branch 'origin/safer-scheduler' into experimental commit 0ea0570b4555c737e35288ba9f43e45b25539913 Merge: 49ded4ba e353bbab Author: Peter Bex Date: Mon Oct 11 21:32:05 2010 +0200 Merge branch 'irregex-bugfixes' into experimental commit e353bbab2c5cba5589082849514b207717aa3a0f Author: Peter Bex Date: Mon Oct 11 21:20:26 2010 +0200 Correct an oversight in irregex merge of upstream changeset 9c903144d459 commit 49ded4ba4369a43e90ac347cb924883466437194 Author: felix Date: Mon Oct 11 10:00:14 2010 -0400 csc -c++: pass -Wno-write-strings if g++ is used commit 0380ef0f2665426a8450352df9465a93bacf5d31 Author: felix Date: Mon Oct 11 09:09:57 2010 -0400 chicken-install: -k does disable deleting so's in local build dir commit a6ce7df4f199388b4fdfd29658475699238504d5 Merge: 5441f5e1 b1606e94 Author: felix Date: Fri Oct 8 23:35:30 2010 +0200 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit 5441f5e1833793cd141f0e4b5a1e12428099b243 Author: felix Date: Fri Oct 8 23:35:20 2010 +0200 removed tinyclos support from csi's describe commit b1606e94c97f981aeb77a5e624d2d0f887ae7b79 Merge: d9e4a38a 9f344785 Author: felix Date: Fri Oct 8 03:28:12 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit d9e4a38a5d5779bfe82168fd055022348d32ad16 Author: felix Date: Fri Oct 8 03:28:03 2010 -0400 setup-download deletes *.so's with local transport commit 9f344785eb338b286cfa2f3ecabdeeceb2681e49 Merge: 7647cf9b 3a35e0d4 Author: Peter Bex Date: Fri Oct 8 09:16:03 2010 +0200 Merge commit '3a35e0d' into experimental commit 3a35e0d4c90601621a86de8e620068c3af28d240 Author: Peter Bex Date: Thu Oct 7 22:54:51 2010 +0200 Remove bogus exports from irregex import library commit cd19d7e077f0a6b53c3c804c972ec3738683e9ab Author: felix Date: Thu Oct 7 09:29:18 2010 -0400 typo fix in compiler commit 7647cf9bca724c7e503a9c6e50802d014f0a1179 Author: felix Date: Thu Oct 7 09:29:18 2010 -0400 typo fix in compiler commit 47a5e4fdb0f021d8fd0fd7464f00c23c2de265f8 Author: felix Date: Thu Oct 7 04:27:28 2010 -0400 abort actually does abort (thanks to c-keen) commit 81ac8985e53e0e5c4d1728b62bd15369a2485d71 Author: felix Date: Thu Oct 7 04:27:28 2010 -0400 abort actually does abort (thanks to c-keen) commit cba1b3bbcc83819957baa761e83c61c8eea35834 Author: felix Date: Thu Oct 7 03:00:19 2010 -0400 eval'd code should not load extensions from include-path (pointed out by Mario) commit 38229e9eb77ff524ef8e0a7485bae6239a65d3ff Merge: 99de2ba6 d27f3ec1 Author: felix Date: Wed Oct 6 08:51:29 2010 -0400 Merge branch 'master' into experimental commit 99de2ba699997ff980d8f8066c7c53415a419aed Author: felix Date: Wed Oct 6 06:10:58 2010 -0400 bumped version to 4.6.3 commit d27f3ec1e6211567af5b1a5b4cf0b14d3e4dc246 Author: felix Date: Wed Oct 6 06:06:29 2010 -0400 updated NEWS commit ee1ad5ec376424b2418d8e6d55860a3097e539cf Merge: 3a4cac31 bf98eff6 Author: felix Date: Wed Oct 6 05:52:46 2010 -0400 Merge branch 'experimental' commit bf98eff6d13537b9f1a126505cb57614b48d1ae4 Author: felix Date: Wed Oct 6 05:52:13 2010 -0400 removed deprecated random-seed commit d8f222ca5606b6b951124b3ec56dbf148812b656 Merge: 33bccc8b 32f31b8b Author: felix Date: Mon Oct 4 09:32:30 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit 33bccc8b946a37e0ec35be37ff6aba7e152bdb39 Author: felix Date: Mon Oct 4 09:32:16 2010 -0400 report location of unresolved refs in modules (only minimally tested) commit 32f31b8b68192bb2c07403902e6cbdc0922fd4ef Author: Peter Bex Date: Sun Oct 3 17:32:09 2010 +0200 BSD doesn't have alloca.h commit 8de0ec734f04c4f5a405140683ee0a5f5bd979b2 Author: Peter Bex Date: Sun Oct 3 17:32:09 2010 +0200 BSD doesn't have alloca.h commit f5b6c78fd51ff4ed5a3292d9e52eb20508eca162 Author: felix Date: Fri Oct 1 05:47:10 2010 -0400 install-prefix handling for deployment mode and cross-chickens in chicken-install/setup-api fixed (hopefully) commit c155b5499353193571c8367bdf30763cef9abffd Author: felix Date: Thu Sep 30 08:39:37 2010 -0400 bugfixes in stuff made in last commit commit 5e4976b2022c7add5d1a4a3492bf0974d1aad960 Author: felix Date: Thu Sep 30 08:32:07 2010 -0400 make -r work for local transport (suggested by Mario) commit cc0625c0a1dd5dcced8f63b9d4030ada49f0f066 Author: felix Date: Wed Sep 29 08:59:56 2010 -0400 make parameters settable (fixes #315) commit bc768c3b3d12196074e37b174a16a4021030ac03 Merge: b355fb17 d7290cd8 Author: felix Date: Wed Sep 29 02:43:55 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit b355fb179d35a9d6a88117af54ef520b330bc06e Author: felix Date: Wed Sep 29 02:43:40 2010 -0400 map gensyms in se back to their original name when stripping (fixes #398), thanks to sjamaan, who also provided a test-case commit 3a4cac310846b3dbf22095a62e3f7a150d2cf88b Author: felix Date: Mon Sep 27 20:39:29 2010 +0200 silly stupid dumb bug in srfi-4 commit d7290cd854060dbac557328fe976d661d10f554c Author: felix Date: Mon Sep 27 20:39:29 2010 +0200 silly stupid dumb bug in srfi-4 commit f1e4dd642da247265f76d8c59381e1d9745d6940 Merge: dfa5c29a 7d4eb862 Author: felix Date: Sun Sep 26 22:42:27 2010 +0200 Merge branch 'irregex-bugfixes' into experimental commit dfa5c29a4941a7d6aad6980373c51c0df6ee4867 Author: felix Date: Sun Sep 26 22:12:03 2010 +0200 use er-macro-transformer in er-macro examples (suggested by sjamaan) commit 806c211b443a33bee673b50a46193257c9521775 Author: felix Date: Sun Sep 26 22:05:03 2010 +0200 ir-macro-transformer docs by sjamaan commit 0174c119c300ec2403928948d1dfa6bf591b538e Merge: 8f254e8d f0b83b64 Author: felix Date: Sun Sep 26 09:29:02 2010 +0200 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit 8f254e8ddb7edb50976463df99c9246a15e8c9fb Author: felix Date: Sun Sep 26 09:26:20 2010 +0200 applied ir-transformer patch by sjamaan commit 7d4eb862e99e3c6914a10e1ec843f35a92a06553 Author: Peter Bex Date: Fri Sep 24 23:13:42 2010 +0200 Apply upstream changeset 40233db2c0cb (Convert all character-set matching stuff to use the cset API, simplifying the code considerably) commit f0b83b645054379262c6db11bcf0589a770064ef Merge: 660be1ff 274708ad Author: felix Date: Fri Sep 24 23:04:40 2010 +0200 merged overflow-detection and resolved conflicts commit 05ad6479329bdeaaca87c0b9f9d7b462bd0ca65a Author: Peter Bex Date: Fri Sep 24 22:50:39 2010 +0200 Apply upstream changeset b3ad88d0b32d (Add a note that case insensitivity only works for non-ASCII characters ) commit d4f4019f8779b0cfa30513b3c0026831a66d688b Author: Peter Bex Date: Fri Sep 24 22:46:35 2010 +0200 Apply upstream changeset f161a053a24e (Make case insensitivity work for enumerated charsets, and add case-insensitivity testcases for most charset types) commit b733f9bb85d705395775773b1b52f7d774c92b39 Author: Peter Bex Date: Fri Sep 24 22:44:34 2010 +0200 Apply upstream changeset 2df51ecb1b14 (Fix UTF8 issue caused by calling the STRING procedure on characters, which breaks the string in Chicken) commit 8682c07b0ea629dc31f1aa1241c4fea6640d9e62 Author: Peter Bex Date: Fri Sep 24 22:40:13 2010 +0200 Apply upstream changeset a492229b349f (Get rid of some (now useless) complexity in the way SRE character set expressions were converted to csets) commit e207a1f6543fb235d7bd9334efcf858d744f3d07 Author: Peter Bex Date: Fri Sep 24 22:39:04 2010 +0200 Apply upstream changeset b0e9bf428748 (Simplify NFA and DFA code by using csets instead of custom pairs/chars) commit 58df78eea09328057028a086224c98c35bec7f35 Author: Peter Bex Date: Fri Sep 24 22:36:17 2010 +0200 Apply upstream changeset 9718c63d6f58 (Fix joining algorithm in cset-union to always iterate with the new value consed onto the correct list to cause it to join with the other when there's overlap) commit e13bc7656c29ab36cc743ec126f8d37db9720ff2 Author: Peter Bex Date: Fri Sep 24 22:32:56 2010 +0200 Apply upstream changeset ec75cdba83fc (Improve performance of character set lookups for the backtracking matcher, and clean up use of csets so it purely uses the API. Add tests for csets) -- Except that the tests are not added because cset API is internal so hidden in the module. commit 7cad210a0897318b8101b3742b85b166db0f952f Author: Peter Bex Date: Fri Sep 24 21:30:22 2010 +0200 Apply upstream changeset 289d4d859e9d (remove tabs) commit 660be1ffbafec7acfe88d1aec3521f473612544a Merge: 926e8662 887df892 Author: felix Date: Thu Sep 23 04:56:45 2010 -0400 Merge branch 'pointer-vectors' into experimental commit 926e86623998e97ec6d5bf61f61af1f7a0148585 Merge: a59bb135 157b2b37 Author: felix Date: Wed Sep 22 09:04:59 2010 -0400 merged total-irregex-reconstruction and fixed conflict commit 90098530013e9dadd5e5bd3e5807e4a2e264e0c3 Author: Peter Bex Date: Tue Sep 21 18:14:11 2010 +0200 And also disable -xannotate=no when compiling C files... commit df072494ee5dd85bbb811bc7857abfb81f38730d Author: Peter Bex Date: Tue Sep 21 18:11:09 2010 +0200 Fix SunW compiler linking options on Solaris. Get rid of a warning on x86 and x86_64 Solaris regarding -xannotate=no commit a59bb1354862fb8bdd2240f2492da29b9869052b Merge: 304bd8da 933c4dc5 Author: felix Date: Tue Sep 21 10:34:40 2010 -0400 don't inline if inlined body refers to contractable (thanks to Sven Hartrumpf for reporting bug) commit 304bd8dad4d61fb9d0bc88c2db08aa02acf766d3 Author: felix Date: Tue Sep 21 09:03:00 2010 -0400 same here commit 7ac10a2fb9b04d114af97d8c9918bffae38cc534 Author: felix Date: Tue Sep 21 08:11:37 2010 -0400 I'm a stupid arse and I don't deserve any better commit 933c4dc51454c9318be80ae1d46a16d860033cdf Author: felix Date: Tue Sep 21 08:07:39 2010 -0400 debug output commit 2dec666b1f0f68a312f7d211ace18c09293d23e7 Author: felix Date: Tue Sep 21 07:51:59 2010 -0400 abort inlining if body refers to contractable commit f852b0d47e6d50626ac02a96a9b69413d75c3dd5 Author: felix Date: Tue Sep 21 03:03:34 2010 -0400 bumped version; added note in manual about with-exception-handler (thanks to Kon Lovett) commit 79ef7ee2584de18d0b2f0feee1d388618b0c6b87 Author: felix Date: Mon Sep 20 05:03:13 2010 -0400 fix for egg-mapping code in chicken-install (thanks to Kon Lovett) commit 4ae966a014d6c750a6e4d140b3839ace9ff137f5 Author: felix Date: Mon Sep 20 05:03:13 2010 -0400 fix for egg-mapping code in chicken-install (thanks to Kon Lovett) commit 274708adf78af6f404b4f7e1dd2c09ae94e56688 Author: felix Date: Mon Sep 20 04:49:40 2010 -0400 test-suite fixes commit 2b2e943b2d9de3702f7a25d2c9565a1f2230da27 Author: felix Date: Mon Sep 20 03:49:04 2010 -0400 use long constants in i_o_... routines (thanks to Derrell Piper) commit 41e927046741daf58def1a8b84bb806efb9d3097 Author: felix Date: Mon Sep 20 03:49:04 2010 -0400 use long constants in i_o_... routines (thanks to Derrell Piper) commit 9a29061ddeb249c94621b8ffe479150dad9bdeaa Author: felix Date: Mon Sep 20 03:40:08 2010 -0400 use long on 64-bit commit 786e251e5e699c1c8499f6b783227dcf7df5d58c Merge: 5650df55 e15054bc Author: felix Date: Mon Sep 20 02:49:59 2010 -0400 Merge remote branch 'origin/overflow-detection' into overflow-detection commit 1c63d74a2528cdf04376b7136b008486fa498b68 Merge: d6ec6b1b 22400d2d Author: felix Date: Mon Sep 20 02:49:22 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit 22400d2d7d6a7d04a620c6cfa4271d198d04b562 Author: Peter Bex Date: Sun Sep 19 20:31:11 2010 +0200 Get rid of accidentally committed comment characters that comment out half the syntax-tests.scm testcases (introduced by my patch of #385) commit c91666347129d533a79957b2038f3c493e243968 Author: felix Date: Fri Sep 17 22:57:52 2010 +0200 applied fix by Kon Lovett for serious bug in unboxing of pointer-setters commit 045524a45217ff1eed79a73190d61c561999fba5 Author: felix Date: Sun Sep 19 00:06:47 2010 +0200 Revert "applied zbigniew's record-rename patch (finally), added test-case" This reverts commit 727b2b3fea271474540f215af4842d32e82e7e6d. Module-renaming records will not work with record-variants, and will break coops. Since I can't think of a correct fix for this, the feature will be removed for the time being. commit 7b82981dcff8993395fbf6064d36dce5c3a70f69 Author: felix Date: Sun Sep 19 00:15:01 2010 +0200 fixed srfi-69 tests commit e570f2d698c2fe79f33670f68dbca533da28b00b Author: felix Date: Sun Sep 19 00:06:47 2010 +0200 Revert "applied zbigniew's record-rename patch (finally), added test-case" This reverts commit 727b2b3fea271474540f215af4842d32e82e7e6d. Module-renaming records will not work with record-variants, and will break coops. Since I can't think of a correct fix for this, the feature will be removed for the time being. commit d61c82e1a301115f99090eb0a4f6e48942f6f1b3 Author: felix Date: Sat Sep 18 13:13:51 2010 +0200 I don't quite understand why this causes GC faults commit e26866e51f129296f77cb924fe67ed9270a96b32 Author: felix Date: Sat Sep 18 12:48:16 2010 +0200 fiddling commit 40b2d4cb1aec3ed1674132ea783c5bee07a7fcb9 Author: felix Date: Fri Sep 17 23:20:04 2010 +0200 turned unbound-warning in interpreter into notice commit 3228f4737fc4584888be0f77794a960518b168de Author: felix Date: Fri Sep 17 23:09:09 2010 +0200 don't C_mutate if slot already holds identical val commit c9ec6c3e3f99428d5136b63fd703c295a32b00aa Author: felix Date: Fri Sep 17 22:59:59 2010 +0200 3rd arg to hash-table-update\! is optional commit 438bb1fca3e626fb596f2664953583564d17730c Author: felix Date: Fri Sep 17 22:57:52 2010 +0200 applied fix by Kon Lovett for serious bug in unboxing of pointer-setters commit e15054bc91439ba2d3cec140dee9a06e5622bf07 Author: felix Date: Fri Sep 17 21:14:18 2010 +0200 arithmetic test micro tweak commit 23031a3d8ef6ae9e7aa86d881eaabf7292625ea0 Author: felix Date: Fri Sep 17 13:05:26 2010 +0200 exposed print-length-limit for scheduler commit 5650df55ad702d5fbd681ebec0501012d43c4577 Author: felix Date: Fri Sep 17 05:34:17 2010 -0400 updated manifest commit c66e4f65ae3da0aaaebe4623f7eb00b2b7a4087b Author: felix Date: Fri Sep 17 05:32:19 2010 -0400 use parameterize instead of fluid-let (scheduler) commit d6ec6b1b243168dcbfce51fdcd3f7c3fef71d18a Author: felix Date: Fri Sep 17 05:31:25 2010 -0400 updated manifest commit 52416735dda63b58c2f9b027afe591c1a484235f Merge: e9c401e8 f1d991b3 Author: felix Date: Thu Sep 16 09:03:23 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit e9c401e8d842695c2bce1dc4bcefdeaeac83555e Author: felix Date: Thu Sep 16 09:02:40 2010 -0400 added simple threading test commit 5d4740db6d88371bd774c393b750d5588ac9ee08 Author: felix Date: Thu Sep 16 09:02:40 2010 -0400 added simple threading test commit 44c814b7ce5e711e409d71f34c6188a72c07ad44 Author: felix Date: Thu Sep 16 08:59:15 2010 -0400 halt on deadlock; disable print-length-limit in dbg output of scheduler commit 52cad50d492e2e599bb845dbcfc514274eea5aac Author: felix Date: Thu Sep 16 04:40:25 2010 -0400 added -fwrapv to gcc options commit 887df892c58462824a917f8f606d8ab3c5b64b5c Author: felix Date: Thu Sep 16 04:24:55 2010 -0400 fixes to pointer-vector ops commit 198d8ccbbc75d4fa0b5de4d44941be97450537ee Author: felix Date: Wed Sep 15 09:31:18 2010 -0400 more pv tests commit a1763b87d5d1f56998d5a005c3bd903969c358fd Author: felix Date: Wed Sep 15 09:06:22 2010 -0400 added pv-length and tests commit 11014f17d16e50f99d4a54cb7c4927228269c5c7 Author: felix Date: Wed Sep 15 08:50:29 2010 -0400 first implementation of pointer vectors commit f1d991b3f71f01c37fef5aadb07e9bb289acd8a5 Author: felix Date: Wed Sep 15 10:14:21 2010 +0200 test tweaks commit 351dd4c3f3f452f107bed9511530d1d26a77c8a8 Author: felix Date: Wed Sep 15 10:14:07 2010 +0200 applied srfi-26 error-reporting patch by Peter Bex commit 1076e2f3122350fd13b22352eedb93f2394553af Author: felix Date: Wed Sep 15 09:25:30 2010 +0200 make version arg to standard-extension optional commit 2c3b864bc61cdfe7df265f7ecf2972f36458aa26 Author: felix Date: Tue Sep 14 19:04:18 2010 +0200 make sure sXXvector ops use signed chars (thanks to Peter Bex) commit 95dca5636ef250f73a3257e339e673e3d3cfcf70 Author: felix Date: Tue Sep 14 18:50:21 2010 +0200 enable scheduler debugging output commit c9fb43c6c87b80fb8d92205d26783790b0b19e75 Author: felix Date: Tue Sep 14 15:46:57 2010 +0200 why this? commit 1cb9220ce48eb4512ccc47507a12f76fdb82615e Author: felix Date: Tue Sep 14 15:21:44 2010 +0200 removed conflict markers commit b86e11587d269bf9d5bdf5e41b7c82e13bb5acdc Author: felix Date: Tue Sep 14 15:21:07 2010 +0200 updated NWEWS, typo-fix in runtime.c commit e03ee6aa8c916d73eaf9da7657373dd42124ac4a Merge: 6aba0744 134c710f Author: felix Date: Tue Sep 14 15:02:16 2010 +0200 merged experimental (4.6.1) commit 6aba0744e3b72f26465da3176a03a9b2236cc5d1 Merge: 38fdc422 5bd8e7c3 Author: felix Date: Tue Sep 14 15:00:14 2010 +0200 Merge branch 'release' commit 134c710fe6c71bc4a4e673f9732cc14f4fdae63d Author: felix Date: Tue Sep 14 08:44:09 2010 +0200 rm -rf for testclean (thanks to Kon Lovett) commit 5bd8e7c32566c856b6b6159e8c732a504d6ae802 Author: Ivan Raikov Date: Mon Sep 13 13:37:36 2010 +0900 Merge prerelease into release branch commit 03113e3ce7be377e07c55779088bcf8ea08a3c02 Author: Peter Bex Date: Sat Sep 11 14:52:40 2010 +0200 Get rid of accidental re-use of a variable name 'declare-compiler-object'. The name is both wrong for the second instance and a duplicate of a variable used earlier in the file, which could result in trouble if the declaration block is moved around in the file. commit cac17154b9e910314639a79008e56c6699773f12 Author: felix Date: Fri Sep 10 13:08:47 2010 +0200 csc: don't pass -fpic on cygwin commit ae2b5c9166f3c5e480112b4aba1a7c2188dfe232 Author: felix Date: Fri Sep 10 13:05:11 2010 +0200 cygwin build fixes (sort of) commit 886bf3a8e208beec626f546688275d6ef3d81a42 Merge: 92548940 38fdc422 Author: felix Date: Fri Sep 10 13:13:07 2010 +0200 resolved conflict commit 38fdc422a6a0ae05107c6bedf2f4ba49a8a50c52 Author: felix Date: Fri Sep 10 13:08:47 2010 +0200 csc: don't pass -fpic on cygwin commit 6d6430909883370577b1fa37ae7eacc23d8ae979 Author: felix Date: Fri Sep 10 13:05:11 2010 +0200 cygwin build fixes (sort of) commit ed76efca414ce41cdd6383bca4d5d23999520c37 Author: felix Date: Fri Sep 10 13:02:52 2010 +0200 removed warning commit 2148440a304e68aed9c7232ebf4a476f363eb247 Author: felix Date: Fri Sep 10 04:27:35 2010 -0400 typo fix commit e6e23ca8676c4530e86846c8862f23579eb23a71 Author: felix Date: Fri Sep 10 03:59:24 2010 -0400 different arithmetic test results for 32/64-bit systems commit 92548940accf74d9d3350604c6988b6b5cdcf19d Author: felix Date: Thu Sep 9 02:56:57 2010 -0400 -O2 enables unboxing, docd unsafe-specialized-arithmetic decl commit cf13a294bf4ea08702633eec1983837961d835ea Author: felix Date: Wed Sep 8 08:45:43 2010 -0400 uses old implementation of division commit dac35041ba1e2577858dd5269190fb6c2e99cca0 Author: felix Date: Wed Sep 8 08:23:32 2010 -0400 yuck1 commit 338bb2030aa081b3f16428c5bad08aaaa45d8c52 Merge: c8fce88b 7cc6d67d Author: felix Date: Wed Sep 8 06:28:55 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit c8fce88bd33f406b10fdb1f6783cce36ded456d8 Author: felix Date: Wed Sep 8 06:11:35 2010 -0400 new declaration unsafe-specialized-arithmetic and unboxing changes commit 4f9974e4c53b55533447601aa2c8535672867cb0 Author: felix Date: Wed Sep 8 06:11:03 2010 -0400 changed optimize-level settings once again commit 870c28d83f0ae2ca91e7181aee848bc406d5b391 Author: felix Date: Wed Sep 8 06:10:01 2010 -0400 deprecated lolevel operations for accessing globals commit 73949bd8f231069953024c02efd0444f7c398981 Author: felix Date: Wed Sep 8 04:46:57 2010 -0400 reimplemented basic arithmetic ops commit 7cc6d67d9afc5eaed761127b8947ccc5089af44b Author: felix Date: Tue Sep 7 12:53:05 2010 +0200 correctified help text for -inline-limit commit d6ecdd84becf11980f8f4e418ac686bf1a772cf4 Merge: 55d1f945 37706c9e Author: felix Date: Tue Sep 7 11:01:39 2010 +0200 Merge branch 'better-cfold' into experimental commit 62c3114476103f50def569c707ecf068afcaf68c Author: felix Date: Tue Sep 7 10:58:32 2010 +0200 correct constant-comparison operator for strength reduction (thanks to Sven Hartrumpf) commit 37706c9e55fd9cb9d18b2068c80ccd722c9c142d Author: felix Date: Tue Sep 7 10:58:44 2010 +0200 safer proc check for cfold commit 858a0ed950aaec01de784e864b5c412087aff2d1 Author: felix Date: Tue Sep 7 10:58:32 2010 +0200 correct constant-comparison operator for strength reduction (thanks to Sven Hartrumpf) commit 55d1f945dd5ffcb7cea900154a340163aa494833 Merge: ea1cb826 e7b1c15a Author: felix Date: Mon Sep 6 20:36:26 2010 +0200 Merge commit 'origin/safer-scheduler' into experimental commit 1ec315982093f39a7945fabb00a2daf1aa23189c Author: felix Date: Mon Sep 6 20:30:53 2010 +0200 cfolding done via apply commit 369ee46efa3bb5cdbbf8a771d0577633931134c6 Author: felix Date: Mon Sep 6 09:46:13 2010 -0400 moved script commit cb3c07d02da8d05684a000c64248f8b6f17b351e Author: felix Date: Mon Sep 6 09:42:09 2010 -0400 fx-ops in arith-test only for fixnums commit 198458cb60998593dea429357d645634341d9e5e Author: felix Date: Mon Sep 6 08:48:24 2010 -0400 print constfold message before evaluation commit e60b22543240b91f71b2bf34df4c1ef3b92fa8b5 Author: felix Date: Mon Sep 6 06:07:02 2010 -0400 better version of fx*? commit e7b1c15a172d66c21dac6444d3fa3206f6a923bb Author: felix Date: Mon Sep 6 05:12:40 2010 -0400 removed check for i/o mode commit ea1cb826b81358a6e69ad7cb0012f11c65f5cfd2 Author: felix Date: Mon Sep 6 05:11:03 2010 -0400 simpler uninstallation commit b8c8d460a5c7e64aa7fafb5969b0b4ee3b6af8e0 Author: felix Date: Mon Sep 6 05:09:03 2010 -0400 thread-specific is settable commit a70ff2e2f9f5b90e5b1eb5d32c01f1fc06082ccf Merge: 821ba868 3e6d2611 Author: felix Date: Mon Sep 6 05:06:25 2010 -0400 resolved conflicts commit 821ba86829ba6eb946d9be3ec4e58eb699c7365a Author: felix Date: Mon Sep 6 04:47:36 2010 -0400 import-libs should not build in host mode, host mode is actually bogus commit ca114c1785335e4c37273e880c2d2d5140573bc5 Author: Peter Bex Date: Sun Sep 5 22:36:31 2010 +0200 Exclude runtime.c from DISTFILES! commit dd891849b9ec10d98bfb11a25f686d2167cc1a4f Author: Peter Bex Date: Sun Sep 5 22:24:26 2010 +0200 Split chicken.h and CHICKEN_CONFIG_H lines so they actually get removed (it used to be interpreted as one long filename with a space in it that separated path/to/chicken.h from path/to/chicken-config.h) commit ff753749eca46b2a5414ee72f9832f701efba2c3 Author: Peter Bex Date: Sun Sep 5 22:22:32 2010 +0200 Remove trailing space which caused libchicken.a not to be uninstalled Uninstall import libs commit deb584a5bd77b2d724fbebbe712914d5dbb40ce7 Author: Peter Bex Date: Sun Sep 5 22:14:33 2010 +0200 Fix a couple of unescaped newlines commit 3ebdc0d5ded3120f99dda3fee21ad345600ace29 Author: Peter Bex Date: Sun Sep 5 22:10:21 2010 +0200 CHICKEN_BUG_PROGRAM, not CSI_BUG_PROGRAM commit a7d97934dbb189b0048efb68ce3094709083c4ab Author: Peter Bex Date: Sun Sep 5 22:09:39 2010 +0200 Use LIBCHICKEN_OBJECTS_1 commit 0ce9811da76a3311d45a7620c46b15b5117dec2e Author: Peter Bex Date: Sun Sep 5 22:08:33 2010 +0200 Get rid of recursive reference in DISTFILES to itself ;) commit 5e34d30f507ee973c8d60fbb9ce80fa93025919c Author: Peter Bex Date: Sun Sep 5 22:08:02 2010 +0200 Make DISTFILES a derived variable too commit 309c07f61a342b4cc615975496c69a3e2eb980ab Author: Peter Bex Date: Sun Sep 5 21:54:58 2010 +0200 INSTALLED_PROGRAMS already includes the chicken-(un)install and chicken-status programs conditionally depending on STATICBUILD so don't install it again commit cb13ed51c643c9d5768859c5a5a8edd202b734ef Author: Peter Bex Date: Sun Sep 5 21:50:19 2010 +0200 Provide explanation at the first use of this eval hackery. Remove install-import-libs from PHONY list because it does not exist anymore commit bf305005f6a579cf78c90b8279d0bfff69a50cd4 Author: Peter Bex Date: Sun Sep 5 21:38:04 2010 +0200 Add more comments about the function of some variables Streamline setup api somewhat (do not repeat ourselves so often with setup-api/setup-download; that's just asking for trouble anyway) commit babc8763a39ae9f855f04006c7fed6acf5dbf82c Author: Peter Bex Date: Sun Sep 5 21:22:47 2010 +0200 Simplify and correct programs/libs installed under static builds commit 44a088ee35400ade174a321698d8102d4a7976fe Author: Peter Bex Date: Sun Sep 5 21:11:19 2010 +0200 Clear all SUFFIXES. Remove SUFFIXES lines for Scheme code; they're only necessary for "old-fashioned suffix rules" (like ".c.o: blabla.h") and not for pattern rules (like "%o: %.c blablah.h") commit 2f0ae82716c75b9f9c1642f7b391a4dfc1ff60b6 Author: Peter Bex Date: Sun Sep 5 20:59:32 2010 +0200 I was reinventing some variables that were already declared (in defaults.make). Use the predefined ones, instead commit aceef6749cae748610232a50dea339cc0e096903 Author: Peter Bex Date: Sun Sep 5 20:45:49 2010 +0200 Refactor installation to loop over libs and programs commit 9df7569c99660352d251f1fb92625f15ad129199 Author: Peter Bex Date: Sun Sep 5 20:18:49 2010 +0200 Move DISTFILES up so all variables containing filenames are grouped together commit 2a05e7c3fd74390d54e464ec2709415638f9f930 Author: Peter Bex Date: Sun Sep 5 20:05:39 2010 +0200 Make use of CHICKEN_CONFIG_H in the uninstallation too (instead of just chicken-config.h) commit fb93601ed257835beb27fd940c822801c73888e0 Author: Peter Bex Date: Sun Sep 5 20:03:34 2010 +0200 Refactor installation and uninstallation of manpages Use NL macro to make inline loops easier commit 0db0b206676576203f0c9f1c3739a27d5fe683f8 Author: Peter Bex Date: Sun Sep 5 19:44:13 2010 +0200 Handle static files too (git lied to me!) commit b4cb2d441a14202303f58c29fd752d9618ca6b11 Author: Peter Bex Date: Sun Sep 5 19:35:41 2010 +0200 Fix typo that broke building of object files commit 39ffa4d53d4889e023dd0ad5a4e51ec46e0f4103 Author: Peter Bex Date: Sun Sep 5 17:40:19 2010 +0200 UTILITY_PROGRAMS => UTILITY_PROGRAM_OBJECTS because obviously the programs are built in a way less streamlined way. This may change back later when I grok it better commit 6d20552c1a11bb59b8258e413b01ac4caa83e360 Author: Peter Bex Date: Sun Sep 5 17:21:42 2010 +0200 Refactor setup API stuff (re-use the same lib building declaration as other libs), and refactor "utility programs", for lack of a better word commit 0298ea57a02f859fdba4bbb66a573b719e6e0b8c Author: Peter Bex Date: Sun Sep 5 16:52:45 2010 +0200 Restore setup-api import lib creation and remove Make's builtin rules for C programs (this aids debugging. Explicit listing of dependencies is better for Chicken) commit 1832d05e5e8a66c6ac56acc561b383e386dfc916 Author: Peter Bex Date: Sun Sep 5 16:36:26 2010 +0200 Fix syntax problem in install-import-lib commit 7802a45784bf483d3beee5512101642f163c99cd Author: Peter Bex Date: Sun Sep 5 16:30:43 2010 +0200 Refactor import lib and compiler object compilation (static and dynamic). Also put the installation of import libraries inside a loop so they're not listed in full in the installation steps commit 50868290c0905a4c7bf35204435ed99bdb3bbb5a Author: felix Date: Sun Sep 5 16:24:12 2010 +0200 added comment about SIGFPE problem commit 6d2a4ccfe4a5389d0e73bd80796b505cb3a50115 Author: felix Date: Sun Sep 5 16:06:06 2010 +0200 rewrite-rules for overflow-detection ops, improved arithmetic test commit 3e6d2611b4ffd17e17ab858caaaca9b73d150b67 Author: felix Date: Sun Sep 5 15:24:07 2010 +0200 removed slight inconsistency in rules.make (thanks to Peter Bex) commit 5cd819d553c24b31f9d8f1557f3ce32ceb3401b1 Author: Peter Bex Date: Sun Sep 5 14:14:01 2010 +0200 Do Not Repeat Yourself: Don't list the distfiles explicitly under "spotless" rule. Turns out that both "spotless" and "clean" (which "spotless" depends on) removed the setup-api.c and setup-download.c files. commit c0e18b68b6b7a48d30435925c214a52a6f35344b Author: Peter Bex Date: Sun Sep 5 14:11:04 2010 +0200 Forgot to add pattern substitution for platform strings (strip "Makefile." from the output) commit a6493faaf1cfe0be1a3059bfe116bb3fe89aa378 Author: Peter Bex Date: Sun Sep 5 13:59:23 2010 +0200 Start abstracting out some rules for the bootstrapping libs. Make exceptions more explicit (will convert this to one line later) commit 1a8fe768edfdf449d8e788e38900929839e71cfb Author: Peter Bex Date: Sun Sep 5 13:40:39 2010 +0200 Get rid of duplication of installation of import libs in static/dynamic builds commit d795c75ee56610d9e945dd21175fc9d1686c3e25 Author: Peter Bex Date: Sun Sep 5 12:26:21 2010 +0200 Include a note for hackers looking for the proper Makefile commit 9c548ea1a1f532cd4424b1627ca8d1a46dd9fac7 Author: Peter Bex Date: Sun Sep 5 12:25:01 2010 +0200 Make use of GNU Make's own looping constructs and info/error message system. This avoids needing to rely on the shell to perform wildcard expansion and looping which I understand Windows doesn't know how to do commit 20e40514540fc3ef79390248b9db789f3fea03f0 Author: Peter Bex Date: Sun Sep 5 11:31:03 2010 +0200 Convert library object creation (including static) to pattern rules commit 67c28b8b84eb94736c6286d43d99223516220366 Author: Peter Bex Date: Sun Sep 5 11:26:31 2010 +0200 Refactor import library object compilation to use a pattern rule commit d0a98ad13ad9ef7acc40382076c3098263886ffc Author: Peter Bex Date: Sat Sep 4 22:00:52 2010 +0200 Don't be so sure that it's the system default. Also note that GNU Make might need to be installed commit 8666f0776b93ccbdbe0309753723e46fbcc13480 Author: Peter Bex Date: Sat Sep 4 21:57:35 2010 +0200 Add a helpful note to people trying to build with non-GNU makes. To make this work, the actual makefile is now called GNUmakefile (which GNU make will read instead of Makefile when it sees it) commit 54fd7f3fcb26ba9cc33b00648e53173a0d2cddfe Author: Peter Bex Date: Sat Sep 4 21:53:58 2010 +0200 Refactor basic Makefile so we only need to add a single Makefile.platform when adding a new platform and not add a new line to the instructions. Also collapse all the standard rules for invoking recursive Make commit 0b3920d9ad12bb71df582d18d1ec74850efcf50b Author: felix Date: Sat Sep 4 13:30:19 2010 +0200 added arithmetic tests commit a5a0bb50ccfef431de15e6ea7e049c3a41a8c5e2 Author: felix Date: Sat Sep 4 12:11:39 2010 +0200 typo fix in runtime.c commit ca378285f55c293d1c7b50a108c11f80df315731 Author: felix Date: Sat Sep 4 11:59:19 2010 +0200 types.db fixes commit 501f928eac3fc6c7a25751f2912ae631d9bc7c3e Merge: 049dfc0d bfe4cb34 Author: felix Date: Sat Sep 4 11:57:13 2010 +0200 Merge branch 'safer-scheduler' into experimental commit bfe4cb34b18b2b13c74762559f63d88653c23d1a Merge: 4d4d9d61 f2df1a57 Author: felix Date: Sat Sep 4 11:42:37 2010 +0200 Merge branch 'safer-scheduler' of ssh://chicken@call-cc.org/~/chicken-core into safer-scheduler commit 4d4d9d61f4af0663764b81e1e1e38e87b8f5aec5 Author: felix Date: Sat Sep 4 11:42:02 2010 +0200 allow old i/o flagging commit 049dfc0d563cf1dcc047d541f7b37c06ba058280 Author: felix Date: Fri Sep 3 09:30:39 2010 -0400 fx-overflow op fixes commit 635578967909374ad36782888059a5f023f5b900 Author: felix Date: Fri Sep 3 07:13:35 2010 -0400 internal overflow-detection fixnum ops commit fdcb7b2da8753afab1ca7d38dfb200f1dac36dbe Author: felix Date: Fri Sep 3 07:13:07 2010 -0400 -p, -P and -e imply -n in csi commit cf2ec03044ba81aa4cb99319036138f4d51c410e Author: felix Date: Fri Sep 3 07:12:50 2010 -0400 reworded warning commit f41b8b99982c1d1874f0734d40357241ccb18b98 Author: felix Date: Fri Sep 3 06:28:29 2010 -0400 turned redef-of-import notice into warning commit 9d8ceff12b43a6e559d8592e0e6bd72fc44185c7 Author: felix Date: Thu Sep 2 04:27:14 2010 -0400 simplifed modulo commit 2d03fb5cebcd35e5dba2b82bad7442dafe423029 Author: felix Date: Thu Sep 2 04:22:49 2010 -0400 fixnum-+/- with overflow check wrong for 64-bit systems commit df2708e7f406a2b4f1d4b3abf6b141671487618b Author: felix Date: Thu Sep 2 04:22:22 2010 -0400 changed layout of ,d fixnum commit 157b2b371d23ba775ac2694a0445962fc70bd515 Author: felix Date: Wed Sep 1 08:06:32 2010 -0400 applied 8343cb22 from irregex-bugfixes branch commit d54cb8de9cc32a22cfddc2ea8ece3a371297a816 Merge: 053c315e f2df1a57 Author: felix Date: Wed Sep 1 07:45:12 2010 -0400 merged scheduler changes from safer-scheduler branch commit 300a05e65b3f9d300a8a67a0011e8fa65fed9e40 Merge: 8a516a04 053c315e Author: felix Date: Tue Aug 31 10:25:14 2010 -0400 merged experimental into total-irregex-reconstruction commit 053c315e18261bad2bb1f4c880c17029d4d1a222 Merge: d8707335 904986f2 Author: felix Date: Tue Aug 31 10:18:53 2010 -0400 Merge branch 'master' into experimental commit d8707335cc2f7d96ec5f63fbcf367b2309d909e9 Author: felix Date: Tue Aug 31 05:30:54 2010 -0400 marked as deprecated also in export list commit 4704471977b69fdeeffc381bf9b5635f8d995f43 Author: felix Date: Tue Aug 31 05:29:22 2010 -0400 deprecated reqired-extension-version and required-chicken-version commit f2df1a5761ef0ec516a8f638f3226a2dd2fe8dc1 Author: felix Date: Tue Aug 31 05:27:20 2010 -0400 silly paren-missing bug (thanks to mario for detecting this) commit d074a3ca03ed2f9d0433afc80b441ca6fafd5325 Author: felix Date: Mon Aug 30 06:26:33 2010 -0400 types.db fix by kon commit 8d1c1dd747e871c527dba6bcd07e712d8e75f2b9 Author: felix Date: Sun Aug 29 12:22:24 2010 +0200 ensure default stderr is used commit 904986f29cebaaf962cd1493f60e7d3b87f24bea Author: felix Date: Sat Aug 28 12:59:59 2010 +0200 removed broken rewerite rule for cpu-time (thanks to Kon Lovett) commit 37b395b490008a99d957da40e02c10639a9f3057 Author: felix Date: Sat Aug 28 12:59:59 2010 +0200 removed broken rewerite rule for cpu-time (thanks to Kon Lovett) commit e1d5c139ef750db185c4602b68313451d9c121be Author: felix Date: Sat Aug 28 12:06:03 2010 +0200 fixed result type for current-milliseconds commit df3ee10c84758ca747763487d09fc7907cfe7feb Author: felix Date: Sat Aug 28 12:06:03 2010 +0200 fixed result type for current-milliseconds commit 0e9085971b6e365c21b4dcf86881f53e124ab9f8 Author: felix Date: Sat Aug 28 12:04:27 2010 +0200 disabled debug output commit c87b7eb2d4fe286149bb417eea7f1b9e0a209002 Author: felix Date: Fri Aug 27 21:00:04 2010 +0200 insane debugging and dump mistakes commit c22f038cec0fe5956fcebd5112b7b334163d3b44 Author: felix Date: Fri Aug 27 20:01:56 2010 +0200 merged manual changes from wiki commit 85146d48834bb9557f05037f47dcb7b12b3cb371 Author: felix Date: Thu Aug 26 17:18:08 2010 +0200 refactored removal of thread from fd-list commit 027b8cbb97edcdc412529cc867bb7a1442b0afd5 Author: felix Date: Thu Aug 26 16:50:26 2010 +0200 simplified fdset handling; fixed incorrectly named variable in ##sys#thread-unblock commit aa5874e1fc35c8d343771ce9dd954b87dc3551a0 Author: felix Date: Tue Aug 24 15:11:21 2010 +0200 profiling-decoration was applied to non-global procedures (reported by sjamaan) commit 510bea6fc23312a43674ae258e76f378f331e8cf Author: felix Date: Wed Aug 25 19:19:06 2010 +0200 handle ./ prg prefix on windows commit 60a2a9f22d01bd8000e2c69f45aa8e20d577136b Author: felix Date: Wed Aug 25 19:15:32 2010 +0200 reverted incorrect change commit 29781eb8d8e46a6dcfa7777818675af41a9368b0 Author: felix Date: Wed Aug 25 14:37:05 2010 +0200 warn if escaped symbol syntax spans multiple lines commit 49c05f3f14265da411cb7866ce688e7bc34dc9e4 Author: felix Date: Wed Aug 25 14:20:17 2010 +0200 half-hearted attempt to get more sense into the scheduler commit b51c3afba8f6faab89e06eb724c8fb6a6d7bce1c Author: felix Date: Wed Aug 25 19:25:10 2010 +0200 Revert "half-hearted attempt to get more sense into the scheduler" This reverts commit 40d7877ba02b9701479d83b8d9777a37ef0c8980. commit c80fdbc89fab79b06b0faadb2a6241c74d7eaa00 Author: felix Date: Wed Aug 25 19:25:00 2010 +0200 Revert "warn if escaped symbol syntax spans multiple lines" This reverts commit 1e1395e0b7c5f97d06989ce7197f6ac9bf5889a1. commit f09a99fe2238b497797a6e53654bb89cb95ce3aa Author: felix Date: Wed Aug 25 19:24:48 2010 +0200 Revert "reverted incorrect change" This reverts commit fb102e7a111b9d3b48d6d32b0ad3f5f2b556c62b. commit 48b2dd2a89f413372452834e4edd01b27ce5d926 Author: felix Date: Wed Aug 25 19:24:32 2010 +0200 Revert "handle ./ prg prefix on windows" This reverts commit 5f60c9d7e21007a7215193f93859f7f227414372. commit 103de441afc66173a9293a2c961bf526b5e2ed92 Author: felix Date: Wed Aug 25 19:23:25 2010 +0200 Fuck this Revert "Revert "applied fix for broken randomize (provided by Kon)"" This reverts commit 2614291026e61005560bf87e36ad8dd5d11d388a. commit 2614291026e61005560bf87e36ad8dd5d11d388a Author: felix Date: Wed Aug 25 19:22:48 2010 +0200 Revert "applied fix for broken randomize (provided by Kon)" This reverts commit fc8d57e897df9eefd638b9358250fbd3069c70f9. commit 5f60c9d7e21007a7215193f93859f7f227414372 Author: felix Date: Wed Aug 25 19:19:06 2010 +0200 handle ./ prg prefix on windows commit fb102e7a111b9d3b48d6d32b0ad3f5f2b556c62b Author: felix Date: Wed Aug 25 19:15:32 2010 +0200 reverted incorrect change commit 1e1395e0b7c5f97d06989ce7197f6ac9bf5889a1 Author: felix Date: Wed Aug 25 14:37:05 2010 +0200 warn if escaped symbol syntax spans multiple lines commit 40d7877ba02b9701479d83b8d9777a37ef0c8980 Author: felix Date: Wed Aug 25 14:20:17 2010 +0200 half-hearted attempt to get more sense into the scheduler commit fc8d57e897df9eefd638b9358250fbd3069c70f9 Author: felix Date: Wed Aug 25 03:26:59 2010 +0200 applied fix for broken randomize (provided by Kon) commit 8725fd0d9cfedca3566f7db3dd8eacc22561d5ed Author: felix Date: Wed Aug 25 03:26:59 2010 +0200 applied fix for broken randomize (provided by Kon) commit b8d61402ca068fad127cced77589dba0ce30ef8c Author: felix Date: Tue Aug 24 15:11:21 2010 +0200 profiling-decoration was applied to non-global procedures (reported by sjamaan) commit 4e3c25dd6dda42e6b6b6af592ee4a164c09e5738 Author: felix Date: Tue Aug 24 14:28:57 2010 +0200 file-copy and file-move give proper error when used on directories (thanks to syn) commit 7a22bcfe35edd6d841ba9eed7594cc5818f7084e Author: felix Date: Tue Aug 24 00:52:45 2010 +0200 removed more shadowing bindings and did some cleanups commit 4294f891826d14590562654a0b86edee7bc280b9 Author: felix Date: Tue Aug 24 00:24:00 2010 +0200 bumped version commit c8d451a6c9f827b6f794934f2f35cd38618b180a Merge: 97e5cbbb e2a3df86 Author: felix Date: Tue Aug 24 00:22:06 2010 +0200 Merge branch 'post-migration-fixes' into experimental commit e2a3df86f0b12283f10047a5fd04432ecbad37e9 Author: felix Date: Mon Aug 23 23:54:54 2010 +0200 post-migration-fixes for wiki2html (mario, again) commit 4b66457758a9cdd2c7e94fca44f1a50bf142ceab Author: felix Date: Mon Aug 23 23:04:21 2010 +0200 post-migration fixed to rss-feed generator (by mario) commit 7e055f6f398a6f2f5bd5f535f9c9b62082a3f90f Author: felix Date: Mon Aug 23 23:02:21 2010 +0200 post-migration README fixes by mario commit 97e5cbbbbdb5a3b2c5d7f90e0342fbb42cfa3d28 Merge: c4f7d847 5efc89a4 Author: felix Date: Mon Aug 23 22:46:05 2010 +0200 Merge branch 'shorter-call-chain' into experimental commit c4f7d847dcd5fdead1d87b1d52aa7a7a96599046 Author: felix Date: Mon Aug 23 22:46:01 2010 +0200 commented some variables used in csi commit dfe99dee5c3b322ffb27cef278e36673d0575c0c Author: felix Date: Mon Aug 23 22:36:24 2010 +0200 consolidated NEWS and bumped version to 4.6.0rc1 commit 5efc89a4687e0a11fbcb5342b07d1d8cf1a7de49 Author: felix Date: Sun Aug 22 23:41:42 2010 +0200 fetch call-chain in exception-handler and print that one in the REPL's error message (suggested by Commander Keen) commit 727b2b3fea271474540f215af4842d32e82e7e6d Author: felix Date: Sun Aug 22 23:22:10 2010 +0200 applied zbigniew's record-rename patch (finally), added test-case commit 7830cc52b14339ccf4971cb416b34469ea56b3dd Merge: 046f8de1 57ad774a Author: felix Date: Sat Aug 21 12:01:28 2010 +0200 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit 046f8de162ef51fe14662717b035c61d60e0d5f2 Author: felix Date: Fri Aug 20 17:09:35 2010 +0200 trivial changes commit 57ad774af75251f0264d2e3d72e4e98722e4ee81 Author: felix Date: Thu Aug 19 05:54:50 2010 -0400 scrutinizer message changed again commit 92b91cd41ad1488d475a0c5e0b3b269cee56162f Author: felix Date: Thu Aug 19 05:52:58 2010 -0400 scrutinizer message commit 6c6b3d84a88f466c8775cf0fe52a028a2a41386d Author: felix Date: Thu Aug 19 05:49:10 2010 -0400 removed shadowing bindings for non-standard procedures commit 4287d477b8fa1746ee536a85862407f6b930bd3c Author: felix Date: Thu Aug 19 05:48:56 2010 -0400 two fixes taken over from total-irregex work commit 8a516a042542ad4245d79eecc23643e765d61a0e Author: felix Date: Thu Aug 19 03:41:21 2010 -0400 manually applied patch between experimental and total-irregex commit a032b09ad95f658fa55a438b7e0dd8a3c58763aa Author: felix Date: Thu Aug 19 03:08:13 2010 -0400 types.db fix by Kon Lovett commit ffb9d81052efd9df073eff285f01c1753156bab5 Author: felix Date: Wed Aug 18 09:27:31 2010 -0400 allow arbitrary large non-decimal integers in str->num conversion commit bc7c4fc530f6bc13bc68d19a8c2737f5204451af Author: felix Date: Wed Aug 18 06:06:58 2010 -0400 disablesd notices when loading import library commit 366617ef176c0fcb4a883569b086cd00267a065f Author: felix Date: Wed Aug 18 05:52:19 2010 -0400 new handling of symbol escape syntax should respect symbol-escape commit 55ad083b47dc281ed31ce218433d847cc6eeba59 Author: felix Date: Wed Aug 18 05:43:31 2010 -0400 generalized symbol escape syntax commit 081e3b567de635fe17082db94063f0af0c702cf2 Author: felix Date: Wed Aug 18 04:34:56 2010 -0400 more suitable description for keywords commit aca9e5a1b2552bd72eca6b3da5b399658462587a Author: felix Date: Mon Aug 16 06:51:00 2010 -0400 removed henrietta; support in setup-download for listversions query commit 7332820147698c357689e6fcd51ecd0fa9ba9535 Author: felix Date: Mon Aug 16 03:07:20 2010 -0400 added missing entry for decompose-directory in types.db and files.import.scm (thanks to Kon) commit 1186f2232a686f0bfd92f7be3de9784cf4c6f2d3 Author: felix Date: Fri Aug 13 06:25:01 2010 -0400 check callbacks for returning twice commit 7f9f4545d8a6519076749a8dedc046e387eb50c5 Author: felix Date: Fri Aug 13 04:03:15 2010 -0400 import accepts (srfi N) as module name (suggested by Kon Lovett) commit d161b3fe5c12947022ffbc082f80772ea8abe514 Author: felix Date: Fri Aug 13 04:01:43 2010 -0400 when frame-info is #f, don't show in call-trace commit 908b2015140c67a558087e31b83e66bb7110b98f Author: felix Date: Fri Aug 13 03:23:47 2010 -0400 copy-port fixes and tests commit a2bc36bf401ce74d0cce79a2d9821af3c7e5fc5d Merge: 84c7f883 7e6afa59 Author: felix Date: Fri Aug 13 03:04:41 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit 84c7f88378497f6ffa087e704883738730acaf2a Author: felix Date: Fri Aug 13 03:04:35 2010 -0400 single-digit sym was not print readably (thanks to zbigniew) commit 7e6afa590cba232c02f89305773c51480a9ddcfb Author: felix Date: Thu Aug 12 20:54:12 2010 +0200 no backtrace with -q in csi is STUPID commit 89f85d79ab131dcc96e32dbbc45b438841591312 Author: felix Date: Thu Aug 12 20:05:40 2010 +0200 typo fix in NEWS commit 57e99ee3ad64173b8ceb99a0957b1ba8ade17aa9 Author: felix Date: Thu Aug 12 06:30:51 2010 -0400 added -keep-going option to chicken-install commit 6e186a9622119b3a2a9372afe28c695a3039f397 Author: felix Date: Thu Aug 12 04:23:50 2010 -0400 Solaris build- and runtime patches by Semih Cemiloglu commit f9c40d5cd167ed97130ef76a49b1d9cb26636831 Author: felix Date: Thu Aug 12 03:24:26 2010 -0400 use correct comparison routine in timeout-check of scheduler (thanks to zbigniew); setup-download prints dots for downloaded chunks commit c6d6f125c1eed52dd9e8540fc4454eea95472b09 Author: felix Date: Wed Aug 11 08:51:49 2010 -0400 fix in setup-api (thanks to zbigniew) commit 6e2585df55f8083ca29614ad0ef244fb093a387f Merge: cc3bbea5 f06409c7 Author: felix Date: Wed Aug 11 08:50:05 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit cc3bbea5e3ac7748fb7a024e288ced29e7457ed5 Author: felix Date: Wed Aug 11 08:50:02 2010 -0400 trivial changes commit f06409c7a4d0e9e9038ca8d0d0d381b5d4138f7a Merge: a928fe1a 33c00905 Author: felix Date: Wed Aug 11 00:27:11 2010 +0200 Merge branch 'experimental' of ssh://chicken@call-cc.org/~/chicken-core into experimental commit a928fe1a4f7707e41fab65e9026596be902c39e8 Author: felix Date: Wed Aug 11 00:26:41 2010 +0200 added -debug option to chicken-install and use error inside setup-api commit 33c00905e149d649047b1ba251f2d084a0bc9c13 Author: felix Date: Tue Aug 10 08:57:49 2010 -0400 missing req. in tes commit 808b9da746b74cdd05c6d9c78e958918e3b6b0b4 Author: felix Date: Tue Aug 10 08:41:29 2010 -0400 added missing entries in types.db and ports.import.scm commit f4936490e67502fb81eacd37caaf3c92d107f6a2 Author: felix Date: Tue Aug 10 04:39:18 2010 -0400 added copy-port (suggested by Moritz Heidkamp) commit fcc46092bd00c595f939d405605d204b5b5904c8 Merge: 07d0bedb 2033ec7f Author: felix Date: Tue Aug 10 03:35:51 2010 -0400 merged flonum-milliseconds branch commit 07d0bedb902e61c389e24fcb9703c99f14bf77b2 Merge: 1f563728 fd53e823 Author: felix Date: Tue Aug 10 03:32:57 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit fd53e823cab6cc5fc5b71e5548ca08b2b7ebb152 Author: felix Date: Mon Aug 9 20:32:54 2010 +0200 bumped version to 4.5.8 commit 53dd489c76b7ad8119b6a4eefe85ddb37af8e28b Merge: 7cf223f4 4f3e7c7c Author: felix Date: Mon Aug 9 20:32:13 2010 +0200 Merge branch 'master' into experimental commit 4f3e7c7ca683d7c8fc208f9632c77cc08f2eee9b Author: felix Date: Mon Aug 9 20:29:27 2010 +0200 fixed mean bug in creation of initial ptable commit 1f563728fc644356899e1ddb0413e2dd98358396 Merge: 7cf223f4 7d9ad2d6 Author: felix Date: Mon Aug 9 11:14:38 2010 -0400 Merge branch 'master' into experimental commit 7d9ad2d6fd97956731defbe4230e87d05cce7f86 Merge: fa444768 c1fdd98a Author: felix Date: Mon Aug 9 11:09:56 2010 -0400 Merge branch 'master' of /home/chicken/chicken-core commit 7cf223f4402ec99536a189b30e57b6933b6b12c8 Merge: eeabfa01 f8128f34 Author: felix Date: Mon Aug 9 11:09:12 2010 -0400 Merge branch 'experimental' of /home/chicken/chicken-core into experimental commit fa444768f1111b1e1925abb1db1919ae40d4457c Author: felix Date: Mon Aug 9 10:58:21 2010 -0400 disable apply-hack for boot-chicken commit 833e9d2362a619bf5873a41e524b00936fd925cc Author: felix Date: Mon Aug 9 10:29:18 2010 -0400 updated NEWS for 4.5.7 minor release commit 5c36aa0b1a2fd0a2c0481cbc9b5e4b0f50440dfb Merge: e80a921c eeabfa01 Author: felix Date: Mon Aug 9 09:48:04 2010 -0400 Merge branch 'experimental' commit eeabfa01884b7be3c1084bcaab6bae894fdd533f Author: felix Date: Mon Aug 9 09:47:16 2010 -0400 updated setup.defaults to point to call-cc.org commit c1fdd98a175174c5337a7ff72f73ebd476aceb14 Author: felix Date: Mon Aug 9 05:30:40 2010 +0200 trivial change to test post-update hook commit c8af21b866693f811c3ac913d56b655ef5577d33 Author: felix Date: Sun Aug 8 23:20:56 2010 +0200 fixed incorrect entry in types.db for 'format' (thanks to Kon Lovett) commit be3f39229114e8e79a7952f5467272b6677a1168 Author: felix Date: Sun Aug 8 23:03:43 2010 +0200 applied patch by mario (#310) commit f8128f34dea5d521dd0792f11cdbe3db924f6d4b Author: felix Date: Sun Aug 8 22:17:40 2010 +0200 had to be commit e80a921ce6f5a5c0a415e5c84be10e58473e5192 Author: felix Date: Sat Aug 7 16:14:42 2010 +0200 added requirement of srfi-69 to scripts/tools (thanks to Mario) commit 2033ec7fa574b04486779f556cad8a1d6690b27f Merge: 379a24ab 27ff5434 Author: felix Date: Fri Aug 6 21:05:54 2010 +0200 Merge branch 'flonum-milliseconds' of /home/felix/chicken/core into flonum-milliseconds commit 379a24abb7c0a969b84e0e4c6d3ca473978182d0 Author: felix Date: Fri Aug 6 21:04:07 2010 +0200 marked time<->ms conversion routines as deprecated commit 513a9b15591db3697b34543504659da198951004 Merge: d720a5d1 226837f3 Author: felix Date: Fri Aug 6 19:51:15 2010 +0200 Merge branch 'experimental' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core into experimental commit 226837f36d43ef438f8b2bdb3cc9845525de08b0 Author: felix Date: Fri Aug 6 04:28:40 2010 -0400 added some missing initial ptable entries commit 27ff54345614fcf3945eab63a8aa14c5db684de0 Author: felix Date: Thu Aug 5 08:57:01 2010 -0400 cpu-time can return flonums commit ab40ca14689d1cd4bdf5221645f7ad6439119ee4 Author: felix Date: Tue Aug 3 05:44:30 2010 -0400 force major gc when dump heap state or filtering heap commit d720a5d15cc0fb0619c70ccc26eb888171744a7f Author: felix Date: Tue Aug 3 01:16:11 2010 +0200 Revert "Merge branch 'total-irregex' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core into experimental" This reverts commit c53dcbfd42c6baf325538aa312c3364bd5d3b88f. Well, this can happen to the best of us ... (that was a joke) commit c53dcbfd42c6baf325538aa312c3364bd5d3b88f Merge: 2c82d5ca 2657a2b8 Author: felix Date: Tue Aug 3 01:10:03 2010 +0200 Merge branch 'total-irregex' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core into experimental commit 2c82d5cadfcb65cc6adada96f5cf2f8a4bad82d6 Author: felix Date: Tue Aug 3 01:08:04 2010 +0200 documented version>=? commit d390a3d045ea2c60fac4c428addef2166c2ddece Author: felix Date: Mon Aug 2 23:11:46 2010 +0200 Soham commit e1fa21f42d146ca3befeac508ec272c1ebf34b5e Author: felix Date: Mon Aug 2 08:40:29 2010 -0400 added missing NAME entry for procedure type declarations (thanks to sjamaan) commit 0f00ca829ea195e48d558dc510cfc249b28d6824 Merge: 7f0fdc19 c225f93e Author: felix Date: Mon Aug 2 06:07:10 2010 -0400 Merge branch 'master' into experimental commit 7f0fdc198647b15ed29a34b22d501326aa400c54 Author: felix Date: Mon Aug 2 06:06:29 2010 -0400 fixed use of non-existant internal s8/u8 accessors (thanks to Kon Lovett) commit 2657a2b80ae40c3e8fe99b15b6128b774c77f981 Author: felix Date: Mon Aug 2 05:55:54 2010 -0400 unsafe match-vector-ref/set\! commit f4508401cd36eea03f22f7cf432a49571b386926 Merge: 0f1c1849 d2d9d689 Author: felix Date: Mon Aug 2 05:49:55 2010 -0400 Merge branch 'experimental' into total-irregex commit d2d9d689d4419aeb2f4a603b8d9cf8e6db0b0e58 Author: felix Date: Sun Aug 1 16:50:26 2010 +0200 OM commit 0f1c1849eee64db459af49029199c891518fbf2d Author: felix Date: Sun Aug 1 16:49:47 2010 +0200 ishq allah commit 82eb22ceb9704403225f7f27cac7cd327cf4a19c Author: felix Date: Sun Aug 1 16:45:37 2010 +0200 use compiler-syntax for chicken-specific code as much as possible commit ba1568213249dd8d25e849ac33d25128f77e5e75 Author: felix Date: Sat Jul 31 23:44:04 2010 +0200 Opening my heart to thy beauty. commit feab48786fcfd9550c2e501aa64c21cdd4d34132 Author: felix Date: Sat Jul 31 15:41:02 2010 +0200 added ,h and ,ch interpreter commands commit 3e40e96850974eaa7851ba4953ede8e7beea0ae7 Author: felix Date: Sat Jul 31 15:36:30 2010 +0200 replaced use of easyffi with bind in manual (thanks to mario) commit 7d7c23f6134eb7f18efb84ae7d830dcc4c093c2b Merge: fd1ac20d 526179fb Author: felix Date: Sat Jul 31 01:00:08 2010 +0200 resolved conflicts commit fd1ac20d33c3527e9a1c348cb65dde0ae157bf8a Merge: 71cdec91 a0f0aec9 Author: felix Date: Sat Jul 31 00:54:36 2010 +0200 resolved conflicts commit 71cdec912537ce50abb1fe7b2c25a29c8e0f67db Author: felix Date: Fri Jul 30 23:28:53 2010 +0200 fixes commit a0f0aec91f5bf5c3019df04456be1969cf46424e Author: felix Date: Fri Jul 30 22:45:34 2010 +0200 trivial changes and cleanup commit c393a88afd508bd69a104be6d9e65ee3162016ed Author: felix Date: Fri Jul 30 22:44:37 2010 +0200 lifted irregex-core.scm to 0.8.2 commit 26a67a9a7bed964130b3c760849d7d1e9765a519 Author: felix Date: Fri Jul 30 15:14:21 2010 +0200 tweaked note about hooks commit ef5fdefb8068d558bd1308d0a43804c55677238f Author: felix Date: Fri Jul 30 13:45:52 2010 +0200 manually inlined mark/remark commit 416defd22601ae42f637e93dd143742276f11070 Author: felix Date: Fri Jul 30 12:55:51 2010 +0200 marked left- and right-section as deprecated in import lib commit 4344088e5a77d08323c539c02f6e84793f5f6db6 Author: felix Date: Thu Jul 29 23:01:54 2010 +0200 removed man-or-boy test commit 7bd92ff78681ddee949441114bcc8bd6bd6a4284 Author: felix Date: Thu Jul 29 23:00:37 2010 +0200 superficially seems to work commit 526179fbaa03b8ed7e9d046c8c018f83fdf98f18 Author: felix Date: Thu Jul 29 16:27:50 2010 -0400 slowly, irregex begins to annoy me commit 2df0df6d68d58dff57e9c534b67efaebec395395 Author: felix Date: Thu Jul 29 08:12:11 2010 -0400 ack'd Imran Rafique commit 3cdcf14971a9f92a03f8c8787d0640c64d0199ec Author: felix Date: Thu Jul 29 08:37:38 2010 +0200 trivial changes commit 493c89fd8b9fecae1c5f033e0de69dc7ff3f8a6b Author: felix Date: Wed Jul 28 16:26:49 2010 +0200 grep examples must use irregex commit 42eb7a37c51591e4ea709260c380a391a849cf6d Author: felix Date: Wed Jul 28 14:49:59 2010 +0200 chicken-install fixes commit b12797524beaaf27023fea905adf44394448e515 Author: felix Date: Wed Jul 28 15:13:46 2010 +0200 some bugfixes commit 1120935c0828cc8767f88ebc91f6803b19d4b1fe Author: felix Date: Wed Jul 28 14:49:59 2010 +0200 chicken-install fixes commit 51043ce0a13a9132d9856c2579d384931efb3606 Author: felix Date: Wed Jul 28 14:37:22 2010 +0200 use irregex in chicken-status commit 5ec7d310177947eec0c01ee54ba2f0d640143fe4 Merge: cddf07cd 1e1c9640 Author: felix Date: Wed Jul 28 14:34:21 2010 +0200 Merge branch 'experimental' into total-irregex commit 1e1c9640d3be4b131c1904a885f75f462d11164c Author: felix Date: Wed Jul 28 14:31:32 2010 +0200 version check for setup.defaults; expanded in manual on import libraries; trivial changes commit 30ee4254951051bedfcd20fd0ddc0fff1d09ab8a Author: felix Date: Wed Jul 28 12:11:35 2010 +0200 removed benchmarks from runtests.sh commit 067ae4a26f51d5530748131f4f65ffc40160865c Author: felix Date: Wed Jul 28 10:20:23 2010 +0200 added ##sys#filter-heap-objects commit 58dbbf68832306b2bce5d40e37afbfc45a6817d2 Author: felix Date: Wed Jul 28 08:39:48 2010 +0200 use nul: device for try-compile on windows commit b3ad21fa8e5236b0d5f2fbfdd365581b19e6ea4d Author: felix Date: Tue Jul 27 13:42:57 2010 +0200 yes, yes. commit aabc5bec18c51a3575896e43686ac937674b0328 Author: felix Date: Tue Jul 27 13:28:44 2010 +0200 added -exact to chicken-status commit cddf07cd73071acf7398c8e18b310a6c5418d609 Author: felix Date: Tue Jul 27 13:23:22 2010 +0200 added irregex-utils; rebased to experimental commit c6fb2bf8ccf71a59f99a5732697f8e6e81c1a4d7 Merge: 3ec8a3bc 4a8bd81f Author: felix Date: Tue Jul 27 13:15:19 2010 +0200 git, you suck commit 3ec8a3bcf8f4d406e94d3ba965e6617ad5bb0699 Author: felix Date: Wed Jul 21 11:51:41 2010 +0200 fixed setup.defaults commit 3c05b53b2a71d23586f9d2d8d71667ff11693575 Author: felix Date: Tue Jul 20 01:48:13 2010 +0200 preparations for eggification of regex; removed regex unit; applied newest patch by sjaaman; replaced internal uses of regex into uses of irregex; worked like a slave commit 04b31b97c5ba6fea018c6f99ba9bc529b23144bd Author: felix Date: Sat Jul 17 23:47:51 2010 +0200 upgraded irregex to 0.8.1 and updated types.db; build-chicken feature commit 0f5e52f897ab6b034eb3afadaf041fd899c2bf0f Author: felix Date: Sat Jul 17 15:41:32 2010 +0200 changed internal representation of irregex objects; added cache for irregex; no wrapper object in regex.scm commit a152154e8291bd9b7597bae20022162eb8293a02 Author: felix Date: Sat Jul 17 15:38:42 2010 +0200 alternative deprecated type for scrutiny; bugfix in symbol-aliasing in declarations commit 4a3cec73c9a723bcf5ea656c9599a3b793cb6ecf Author: felix Date: Thu Jul 15 15:08:03 2010 +0200 added irregex manual (thanks to sjamaan) and made various changes for completing irregex promotion commit a9aa54dc72189f08a0739ad413142d8cfd9542a8 Author: felix Date: Thu Jul 15 13:54:39 2010 +0200 applied zbigniews irregex-promotion patch commit 9431b1e65eb2d9e85fbb0c17bf030cb474b8f022 Author: felix Date: Mon Feb 22 12:52:20 2010 +0100 added irregex 0.8 and updated tests, nothing tested or compiled, yet commit dac431ef10ac400d3655677b764469306132aede Author: felix Date: Tue Jul 27 13:09:06 2010 +0200 renamed -no-import-library to -no-module-registration commit 232afeaa499699ecd407f19764b2794d0ac7c712 Author: felix Date: Tue Jul 27 00:36:22 2010 +0200 enabled import/rename test commit 0667581c7f004fd7395254a7bdf9d2fe58aef403 Author: felix Date: Tue Jul 27 00:35:47 2010 +0200 mutex-unlock! fix in srfi-18 commit e1fbfa36c6f5bd421f391f7c6d0c7a699f0b15e8 Author: felix Date: Tue Jul 27 00:28:32 2010 +0200 added -no-import-library option commit bdc9a7dd56f25b04da5fd508dcbc7165796e124b Author: felix Date: Tue Jul 27 00:27:39 2010 +0200 removed some duplicate compiler options commit ce09af5dd7e014c07afb3b44c4a89e130a0997f0 Author: felix Date: Tue Jul 27 00:27:17 2010 +0200 applied srfi-18 and scheduler fixes by Joerg Wittenberger commit afa2a403074c0fa166971d0e2f7dbf838f66e40a Author: felix Date: Tue Jul 27 00:25:43 2010 +0200 -exact option for chicken-uninstall commit c225f93e6cf1915893a08281f01b0bdafe162eeb Merge: fe13bd84 e9791253 Author: felix Date: Mon Jul 26 22:26:10 2010 +0200 Merge branch 'master' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core commit 8a1aa876f2e6656ff868f4c67208bc7f87d137bd Author: felix Date: Mon Jul 26 16:54:17 2010 +0200 potential import/rename fix commit f04cf1aeee522b65fa96ec6e3633cba0de431861 Author: felix Date: Mon Jul 26 12:39:40 2010 +0200 removed silly comment commit 9fcddd51f03fd32a5bdc458efe3573c440f34098 Author: felix Date: Mon Jul 26 12:01:39 2010 +0200 special-casing of allocators as C_inline routines commit 65a881d0c19c375d330cd1e0ce2b93cf76496b83 Merge: b6466b56 e9791253 Author: felix Date: Mon Jul 26 12:00:58 2010 +0200 Merge branch 'master' into experimental commit b6466b56e3f3aede318827f611b78bedc97a5175 Author: felix Date: Mon Jul 26 11:09:09 2010 +0200 license fix by sjaaman commit 1f54db006a918ffd4d06917595b9bc4a4b17a680 Author: felix Date: Mon Jul 26 10:26:53 2010 +0200 timezone fixes (thanks to zbigniew) commit 41718a18f26060ffca2df6357cd3eb7ac925d7fb Author: felix Date: Mon Jul 26 10:26:34 2010 +0200 manual example fix (thanks to mario) commit c4e65b9e7284a6f34d71ade0b9828e3decef2ad1 Author: felix Date: Mon Jul 26 10:11:46 2010 +0200 updated LICENSE (thanks to sjaaman) commit 869fc9dd3f6c502575967d5091383b56459ddf8c Author: felix Date: Mon Jul 26 10:04:07 2010 +0200 use timegm for Mac OS X (fix by zbigniew) commit e9791253b6fcda46370e937e500050cb01887132 Author: felix Date: Sat Jul 24 12:11:55 2010 +0200 updated manifest (modules/macros manual pages, thanks to Tayler Venable and mario) commit 24404892d5cafcc29b7b967f9f127285faa921b9 Author: felix Date: Sat Jul 24 12:07:19 2010 +0200 csi: ,c skips empty lexical envs commit fe13bd846053bf33e43234e0e3a9c86d761eda8d Author: felix Date: Wed Jul 21 15:19:45 2010 +0200 fix for my carelessness by Jeronimo Pellegrini commit 63dfb62033778197d4a76401cf3530f402016eca Author: felix Date: Wed Jul 21 12:06:13 2010 +0200 binary-file detection allows #\xff (thanks to Sven Hartrumpf) commit 0734bd318ae3d70353fb16c5740d44612e7b493a Author: felix Date: Wed Jul 21 12:01:05 2010 +0200 deprecated [left|right]-section commit c57ddf95b2692bf22a9450d9bc02a609b905b076 Author: felix Date: Wed Jul 21 11:53:30 2010 +0200 srfi-4 fixes by Kon Lovett commit 4a8bd81fb94df0ce8a1b0a98fdacc165039d4e66 Author: felix Date: Wed Jul 21 11:51:41 2010 +0200 fixed setup.defaults commit 489b853f50af9ed1eff6a3f89a3c2e1d274dbdcb Author: felix Date: Tue Jul 20 01:48:13 2010 +0200 preparations for eggification of regex; removed regex unit; applied newest patch by sjaaman; replaced internal uses of regex into uses of irregex; worked like a slave commit 2ab50f96ed2d8a5c79e21bace07a49e797ce56c6 Author: felix Date: Sun Jul 18 08:17:56 2010 +0200 use safe C routines for caar, cdar, cddr commit ae9e59d3b28074851d5f632037c2541c4abc2001 Author: felix Date: Sat Jul 17 23:47:51 2010 +0200 upgraded irregex to 0.8.1 and updated types.db; build-chicken feature commit 3ad6e0e9941dd6224298d400818fb44dfafa82fc Author: felix Date: Sat Jul 17 15:41:32 2010 +0200 changed internal representation of irregex objects; added cache for irregex; no wrapper object in regex.scm commit 3ac00f85ca63f6048cfc3f6e63c780b7f982b134 Author: felix Date: Sat Jul 17 15:38:42 2010 +0200 alternative deprecated type for scrutiny; bugfix in symbol-aliasing in declarations commit ceaff85e6c0fac253a0e8a6b532fbdccaf9642f5 Author: felix Date: Fri Jul 16 21:10:35 2010 +0200 renamed frameinfo toplevel commands; added explanation in manual commit 4180f098b6109fcbf5d5ddef611017b997befa99 Author: felix Date: Fri Jul 16 08:25:32 2010 +0200 frameinfo handling and commands commit a82ee1718552e895e5d118afe5e8cc4712449cab Author: felix Date: Fri Jul 16 01:20:13 2010 +0200 use C_return internally commit a9a85ccc66de763fdde1cc40aa877badaef7d19d Author: felix Date: Fri Jul 16 01:19:55 2010 +0200 ##sys#eval-debug-level turned into parameter; eval-frameinfo stored in trace buffer commit f11bdbcc9ac7fa85276dac5b622852b87d2e7c38 Author: felix Date: Fri Jul 16 01:17:18 2010 +0200 added compiler re-writes and C implementations of safe caar and cdar commit dd47e50aa4de9371dc2643c3ace5d7940f54265e Author: felix Date: Thu Jul 15 15:29:34 2010 +0200 documented blocking operation of closing process ports commit ce9a5963f6f70129db354246d6e0170c82512691 Author: felix Date: Thu Jul 15 15:08:03 2010 +0200 added irregex manual (thanks to sjamaan) and made various changes for completing irregex promotion commit b6a59acb6f4f96d977620f1d001c188e86af2126 Author: felix Date: Thu Jul 15 13:54:39 2010 +0200 applied zbigniews irregex-promotion patch commit 246b3ff10a8ca83e89161b40a3fa96c7d77d64de Author: felix Date: Mon Feb 22 12:52:20 2010 +0100 added irregex 0.8 and updated tests, nothing tested or compiled, yet commit c752a153c006d6ef9854b37c96807d0d91a0903b Author: felix Date: Wed Jul 14 22:11:17 2010 +0200 assert shows line-number information, if available (suggested by Alejandro Forero Cuervo) commit 91bcf385ab0b5e3ff90cf742a34aa2518eaf13b4 Author: felix Date: Sun Jul 11 15:11:15 2010 +0200 cast to throttle warnings, why can't we just code in BCPL? commit 6de2820d8901516e5a80fd78063d9272af5ecebd Merge: 168d8353 0cc55fe1 Author: felix Date: Sat Jul 10 11:44:55 2010 +0200 Merge branch 'master' into experimental commit 0cc55fe1d91af124b64644ea7fd9a82cd4712e52 Author: felix Date: Sat Jul 10 11:44:12 2010 +0200 file-type got new additional arg; file-type predicates return #f if file does not exist (thanks to zbigniew) commit 168d8353a1d6da1cfaeaf0087959e78382e84f12 Merge: 3acede64 f7b342e3 Author: felix Date: Sat Jul 10 00:31:17 2010 +0200 Merge branch 'master' into experimental commit f7b342e382954a295838eb5b44cb0a3d34f1fa7b Author: felix Date: Sat Jul 10 00:31:07 2010 +0200 dumping heap state crashed for funny non-8aligned byte-vector commit 3acede64bbe710ddec5ba35df2b71418b5f06a3f Merge: 83ce6a6d c2d5bebb Author: felix Date: Sat Jul 10 00:16:11 2010 +0200 Merge branch 'master' into experimental commit c2d5bebb1c78d096575248107de751fde82dfef3 Author: felix Date: Sat Jul 10 00:14:53 2010 +0200 added -:H runtime option commit 83ce6a6d58ea155a6957c30f556779cbfc1caf08 Author: felix Date: Fri Jul 9 15:54:15 2010 +0200 bumped version to 4.5.7 commit fb5c0367d646344dd1078bca27d129c8e0002032 Author: felix Date: Fri Jul 9 15:52:53 2010 +0200 updated NEWS commit 0e21947ec9d058d1d590e55dff3da4d51b15d12f Merge: e2c762b1 027db3f4 Author: felix Date: Fri Jul 9 15:38:36 2010 +0200 Merge branch 'experimental' commit 027db3f4e29245d481b2855e7d3e0d819db26506 Author: felix Date: Fri Jul 9 11:48:28 2010 +0200 bugfix in create-directory; doc'd #f version to standard-extension commit 1c5806c6f4cc08861b2746fdc28202ddca227c74 Author: felix Date: Fri Jul 9 08:08:27 2010 +0200 added Knuth's man-or-boy test (thanks to Benedikt Rosenau) commit 2e9d037555f4324aeb374013b03f0774f408fb58 Author: felix Date: Thu Jul 8 14:55:23 2010 +0200 if known, supply version automatically (suggested by Alejandro) commit b22c5b2a5839f52b5f390735dd1843b9d7e62828 Author: felix Date: Thu Jul 8 14:54:56 2010 +0200 features in csc for target language commit 01b556e2b98ad14e25505e739488e5c9a3b4cfd0 Author: felix Date: Thu Jul 8 11:17:08 2010 +0200 trivial change and documented extension-name-and-version commit e2c762b1f9db12a692d0638e5843ad4ad5a34820 Author: felix Date: Wed Jul 7 14:20:44 2010 +0200 fixed missing config-macro definition in Makefile.cygwin (thanks to John Cowan) commit 906be45f6aa7d89de1e03bdf127dd86cf7b1ae98 Author: felix Date: Wed Jul 7 14:20:44 2010 +0200 fixed missing config-macro definition in Makefile.cygwin (thanks to John Cowan) commit e2abe211ab5e719631d1dbc01b0903e61509ed41 Author: felix Date: Wed Jul 7 13:41:18 2010 +0200 added runtime routine to dump object counts in heap commit cdadc1e9058bb564c9f29d6e1702fa1800e3aa88 Author: felix Date: Tue Jul 6 15:56:17 2010 +0200 gc-count in debug-termination message is bogus if timer is used commit 6a4da28b7b2f19716c146fa955950c433b9703da Author: felix Date: Tue Jul 6 15:38:26 2010 +0200 write debug-message about forcing finalizers to stderr commit 1ed8ba48297e3bba35724ab2e23f8de28bf1e6f3 Author: felix Date: Tue Jul 6 12:57:21 2010 +0200 updated types.db for find-files commit 9b42bc29f707903e01dcdb6d1184dcb8fc4a3435 Author: felix Date: Mon Jul 5 14:31:45 2010 +0200 fixed renaming bug in let-optionals (thanks to Alejandro Forero Cuervo) commit 15da5479a2dfd74a4c9e2fba011e1b9c0764a491 Author: felix Date: Mon Jul 5 14:35:48 2010 +0200 changed argument signature of find-files to use keywords (the old signature is still supported but deprecated commit 853746f62769201a34abaa11585fa5e8b421ed58 Author: felix Date: Mon Jul 5 14:31:45 2010 +0200 fixed renaming bug in let-optionals (thanks to Alejandro Forero Cuervo) commit 2b5650ef6e9c141aed8ab8ed3875ad414aefaf3a Author: felix Date: Mon Jul 5 09:49:34 2010 +0200 more posix-refactoring and fixing of bugs related to this commit 63eedb246fd40830008e685a7bb3452fc60f7e3d Author: felix Date: Sun Jul 4 00:27:49 2010 +0200 some posix refactoring; added file-type; file-type testers now accept file-descriptors commit 2c8e10182bca50c17752e6a45cd95388b3572d5a Author: felix Date: Sun Jul 4 00:27:05 2010 +0200 trivial fix in compiler-notice for exported unsafe global procs commit 023a7adf96cf31e28935eb7f652a394abc071c73 Author: felix Date: Sun Jul 4 00:25:21 2010 +0200 tiny fix in compiler-note about else-clauses in 'select' commit cf81e3aa7f67eafbdb37ca6a540d7dae31d02034 Author: felix Date: Sun Jul 4 00:24:36 2010 +0200 use fixnum comparison in string-port method (thanks to Kon Lovett) commit 28243227787f9191389fa90a6caa3afdd06cfb49 Author: felix Date: Wed Jun 30 10:24:42 2010 +0200 fixed refs to undefined internal srfi-4 setters commit d71cf43e0e46fbe3a9c4b9863d27a0abb2625c0d Author: felix Date: Wed Jun 30 09:14:41 2010 +0200 added test for #277 commit 3095a8700d0bda4c6a145c70ca5ae1ced6023389 Author: felix Date: Sun Jun 27 18:40:33 2010 +0200 strip syntax of keywords in invocation of ##sys#get-keyword in extended llist-expansion commit 0bad6daad6483894f67c05694c38c266d93b2116 Merge: 63c8ba3f 11b62d48 Author: felix Date: Sun Jun 27 18:41:02 2010 +0200 Merge branch 'experimental' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core into experimental commit 63c8ba3f5dd2211513b9712ce82418b73faff0be Author: felix Date: Sun Jun 27 18:40:33 2010 +0200 strip syntax of keywords in invocation of ##sys#get-keyword in extended llist-expansion commit 11b62d4861ce7783224063d57789d17280ec2336 Author: felix Date: Fri Jun 25 12:30:31 2010 +0200 added note to mingw installation notes to use a drive letter for the PREFIX (thanks to nicktick) commit e891c3e9238c3cf144266314f600e1d26bbd562d Author: felix Date: Fri Jun 25 12:30:00 2010 +0200 added 'mode' query-option to henrietta and setup-download commit f1643b6a66cd7872fa88a79bc15254c369bf1702 Author: felix Date: Fri Jun 25 09:14:43 2010 +0200 bumped version to 4.5.6 commit dcc64a8c6b6d8cd39390ab11d16f3ff04e4c4425 Author: felix Date: Fri Jun 25 09:10:58 2010 +0200 small fix in test-invocation commit 2d9911abb77674f064f49d25b713e5b3f436c861 Author: felix Date: Fri Jun 25 08:44:55 2010 +0200 added dwindtst from slib commit 318658ff28a083bffd6bef98353b554e81a0cc66 Author: felix Date: Tue Jun 22 16:07:22 2010 +0200 bumped version to 4.5.5 commit 738c3d8878f902b4432392f8fdd05987b88850bc Merge: 6b80dea6 1c005515 Author: felix Date: Tue Jun 22 14:52:47 2010 +0200 Merge branch 'experimental' commit 1c005515feaec00387bc558e45059be0cbc1dbff Author: felix Date: Tue Jun 22 14:52:41 2010 +0200 removed dependency on symbol-append in syntax uses in srfi-4.scm commit 1c4809cf6339c41046db3acd8abe56a31c96d8bd Merge: 1e4b2c04 81978c04 Author: felix Date: Tue Jun 22 13:47:05 2010 +0200 Merge branch 'experimental' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core into experimental commit 6b80dea678a68f939e8dd6a196f72284f55b4f6c Author: felix Date: Tue Jun 22 13:46:25 2010 +0200 bumped version to 4.5.4 and updated NEWS commit 43bb04adbd18dc395337477b29740bc8108983b0 Merge: 1e4b2c04 35e49272 Author: felix Date: Tue Jun 22 13:43:36 2010 +0200 Merge branch 'master' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core commit 1e4b2c04e7d6471cf5e973fdaaab8d912edbdcc9 Author: felix Date: Tue Jun 22 13:42:33 2010 +0200 fixed missing srfi-69 requirement in scripts/makedist.scm commit 81978c04ad9abe61b1f92ad4fa5bbeeefaef0042 Author: felix Date: Mon Jun 21 16:05:27 2010 +0200 bumped version to 4.5.4 commit 35e492726ced9bc59d06a3c874145573b6aded6c Author: felix Date: Mon Jun 21 16:01:50 2010 +0200 merged experimental into master for 4.5.3 minor release commit c4425f82c47a201d855e351e6e09e61df9e41bd1 Merge: 8a89f2ac 7d620473 Author: felix Date: Mon Jun 21 12:02:46 2010 +0200 Merge branch 'experimental' of galinha.ucpel.tche.br:chicken-core into experimental commit 8a89f2ac3b82d6b0ea5db37f91214816fe72fff2 Author: felix Date: Mon Jun 21 12:02:39 2010 +0200 need windows.h on mingw in any case commit 7d620473790c1a8a7a363625c3d0c4a829dfd3f1 Author: felix Date: Sun Jun 20 02:17:29 2010 +0200 manual updates commit 423eb6bf4fc4eb4de2f9b646ca0c66641f2793aa Author: felix Date: Sun Jun 20 02:17:08 2010 +0200 added half-assed check for binary data in reader commit 9d271b50771106b8247d5dea9a30e5f258965ca4 Author: felix Date: Sun Jun 20 02:16:22 2010 +0200 massaged error-message for dload fail commit f331b106bc3fa13d1342cdd66885b61849a7c167 Author: felix Date: Sun Jun 20 02:15:48 2010 +0200 added ,e command to csi toplevel (suggested by Oivind Binde) commit 5b8b792d155ecd51f0df6c6443aadaa2ce067558 Author: felix Date: Tue Jun 15 15:00:41 2010 +0200 documented library units automatically loaded in csi (thanks to Moritz Heidkamp) commit 82881d88cfbf6124b83952a2482efa46a7afd59d Author: felix Date: Tue Jun 15 14:50:36 2010 +0200 csi's describe handles more circularity in lists (thanks to Christian Kellermann) commit 1f91b0b79e562bd0881b1589b1f375a5fc712de0 Author: felix Date: Tue Jun 15 14:36:27 2010 +0200 don't rewrite hooks for exactness-conversion; optimized some uses commit 02e278cd174810aa28bfc027588d0117ba9295e1 Author: felix Date: Tue Jun 15 14:22:38 2010 +0200 srfi-4 tweaks, C_a_i_... macro for faster unsafe exact->inexact commit acb4c37ef7d2ba2db349fd6a3ea03d3c020e203a Merge: d71450f1 e5822459 Author: felix Date: Tue Jun 15 09:04:26 2010 +0200 Merge branch 'experimental' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core into experimental commit e582245949e4c571bd97cc4177538d10603ee6ee Author: felix Date: Mon Jun 14 17:12:20 2010 +0200 heavy cleanup in srfi-4 (not completely tested, yet) commit 832e8e1cbfc2c32e4f834a8f1af54dc577c751d8 Author: felix Date: Mon Jun 14 08:35:31 2010 +0200 added chicken.png to manifest commit d71450f19114c94285639e33f0e2fd9aed944687 Author: felix Date: Sat Jun 12 15:36:53 2010 +0200 get-keyword is not pure commit 0788efbe0012e5a96317cfa5963823cca5b21696 Author: felix Date: Sat Jun 12 15:16:40 2010 +0200 use global aliasing in declarations for symbols commit 34bf9cc6cc62443d01cdf72d2e04915beb6d6aa5 Author: felix Date: Sat Jun 12 14:32:16 2010 +0200 optimizer emits notice if pure standard/extended binding procedure ain't used commit 5e773da5cf912327437b219fa719d3bdb9a91c1e Author: felix Date: Sat Jun 12 14:31:52 2010 +0200 trivial change commit ac557264e00f346728b673afc4b0ae7641e02d06 Author: felix Date: Fri Jun 11 23:25:14 2010 +0200 added support for http_proxy env. var (thanks to Stephen Eilert) commit e042f6063062f02111439a4ecc5408608e5468a7 Author: felix Date: Fri Jun 11 15:26:20 2010 +0200 added logo by Joshua Griffith commit ead2c9745d934397d87e8f5cd56e8b2e11c3994f Author: felix Date: Fri Jun 11 14:22:42 2010 +0200 repl shows number of values when more than 1 commit fa6bd93d552c2665c46203dc1cfabe70d4baf528 Author: felix Date: Fri Jun 11 14:04:35 2010 +0200 list-termination read errors give starting line commit 2b84f40515a33a66778e751436d8f6af4853cfc9 Author: felix Date: Fri Jun 11 13:50:48 2010 +0200 cross-chicken-status shows headers for both target and host commit a1d5b460807249ab85a0d4a6d1c9af3af282fcff Author: felix Date: Thu Jun 10 01:24:16 2010 +0200 updated docs commit c63f9db3dc9abf38f78ca59c0441cab8f50b3dbd Author: felix Date: Thu Jun 10 00:56:34 2010 +0200 several fixes to host/target specific egg tool processing commit 09ce2d5a44633c1ab86f4a04aa72ee4abf315752 Author: felix Date: Thu Jun 10 00:18:51 2010 +0200 -target options for chicken-status and -uninstall commit 8e7599325b79d3a1708d3b4130e75726b7f3aebb Author: felix Date: Wed Jun 9 23:56:06 2010 +0200 csi didn't skip -no-feature commit 190890e351996e3d5497abd2fcb8e83e6bccf577 Author: felix Date: Wed Jun 9 23:40:39 2010 +0200 fixed missing paren commit f0724916bbbc8a61675c00cc8e6b188039fbd211 Author: felix Date: Wed Jun 9 14:26:48 2010 +0200 elimination of unused results for procedures declared pure/constant - needs more testing (but already found some unused code) commit f2b3bf92fb606d42f1898b8ff914cb1c352d3c32 Author: felix Date: Tue Jun 8 21:39:15 2010 +0200 TARGET_FEATURES and some trivial changes commit 1e460d37464006a8e3f50947530fb36729b61e5a Author: felix Date: Tue Jun 8 07:57:27 2010 +0200 changed error message when required extension is out of date (thanks to mario) commit a54e0f9b28d552963c412cd0015d6123f20a2e88 Author: felix Date: Mon Jun 7 16:54:32 2010 +0200 default to host+target when cross-compiling commit 51d1aa599fed5c3aa72031edfaaf1d395c1e25a9 Author: felix Date: Mon Jun 7 15:43:41 2010 +0200 double-install appears to work somewhat commit 6f9046549ad5c822175dde9ce0ff0f1318796b9f Author: felix Date: Mon Jun 7 15:30:06 2010 +0200 global inlining of externally defined procedures ignores inline-limit commit 95ed1c2d2c1ae12558d80bf7f5b5e12441729dd2 Author: felix Date: Mon Jun 7 12:52:28 2010 +0200 added -no-feature option; boot-chicken target does multistage build commit 9acd98d4386fa1373bfef766a2881efe19dfeee6 Author: felix Date: Sun Jun 6 13:19:09 2010 +0200 added aliases to setup.defaults commit d5cdeda602da63c03ba50d0d2ae5eabab733865f Author: felix Date: Sun Jun 6 12:55:59 2010 +0200 removed unused global; fixed incorrect option for -O3 commit d0c02200c3cf2388190c26e82a5c266d964f91fd Author: felix Date: Fri Jun 4 13:37:33 2010 +0200 values given by ##sys#display-times were bogus commit 0a4f4ab156081cc69a5105a1e9a9661cd22e31cf Author: felix Date: Thu Jun 3 20:43:55 2010 +0200 trivial changes commit a395ffc2b16a82184343509b5b248672271148da Author: felix Date: Thu Jun 3 20:10:03 2010 +0200 emit global inlines only if interrupts are enabled; fixed incorrectly listed hidden procs in export-unsafe-check commit 2cf46d1933e08773d12078c7d53d6528ed7cdf7a Author: felix Date: Thu Jun 3 20:09:16 2010 +0200 made d debug symbol a macro commit 0899b4260059e6d3c5eadd8dd9cac8c0e3766dff Author: felix Date: Thu Jun 3 20:08:52 2010 +0200 standard-extension: fixed yet another bug and produces and installs inline file, if created commit 1dac0071672eaddb5c3fdfff9756369ea02faf34 Author: felix Date: Thu Jun 3 09:57:51 2010 +0200 -O3 enables global inlining commit 6a5a70b0e39adcba2c106a035dfb7005b8841ebf Author: felix Date: Thu Jun 3 09:08:00 2010 +0200 fixed bug in handling of file-requirements table for extensions; fixed broken yes-or-no? in gui mode commit e1e891748a27f5d4b38ce94ae6e4035241df5f24 Author: felix Date: Wed Jun 2 16:50:41 2010 +0200 don't emit empty inline files and delete if existing; bumped version to 4.5.3 commit c5acd12ac51e7bf65c13809cddb1210cf0e4b5eb Author: felix winkelmann Date: Wed Jun 2 12:02:58 2010 +0200 -update-db doesn't load setup.defaults; postinstall in build was done before actual installation commit e7e92c9aad1713e36a0e8eaf9cc19530fe6f0f90 Author: felix Date: Tue Jun 1 13:37:35 2010 +0200 bumped version to 4.5.2 commit 9d2b7e70970e9077854259683c3a13905f791aa9 Merge: c6bafbf6 118b48f1 Author: felix Date: Tue Jun 1 13:36:50 2010 +0200 Merge branch 'experimental' commit 118b48f132e16014ff19d84f59434aac2267860c Author: felix Date: Tue Jun 1 13:36:35 2010 +0200 applied patch by Peter Bex for providing location-info for ##sys#make-c-string invocations commit 914aa091a79ed9fe3fc9e60a6aa413befd54a08d Author: felix Date: Tue Jun 1 13:36:15 2010 +0200 fix in runbench script commit 5b44e35bddf973480fc943db328d01cc86e23e9c Author: felix Date: Tue Jun 1 13:35:59 2010 +0200 updated NEWS for 4.5.2 commit 6a348c00a65c6fb6a7d67c331f76ef52bf1781d3 Author: felix Date: Tue Jun 1 12:50:15 2010 +0200 update for instance type-spec in manual commit ec693515dc6be72d6b3aaba0632c0e69a57d7235 Author: felix Date: Tue Jun 1 08:52:32 2010 +0200 use tinyclos-style api for instance-of type-conversion commit ab9760f1840fd7b0c69e98695d375d888eaeb88e Merge: 3c655ed6 330f6a29 Author: felix Date: Tue Jun 1 08:28:47 2010 +0200 Merge branch 'experimental' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core into experimental commit 330f6a29b73288cf2ff5ac3650c2e35038ac9fb9 Author: felix Date: Mon May 31 14:54:51 2010 +0200 lifted C_stack_check out of looping direct procedures (suggested by Benedikt Rosenau) commit e6eb2d2499182816747f9818a2d1a7195be5f659 Author: felix Date: Mon May 31 11:46:22 2010 +0200 added patch by Christian Kellermann to make describe handle circular lists commit 891369056a9ce1e04a2ac6b48c3e96c3f27aee49 Merge: 8cbf11a8 4668adbc Author: felix Date: Mon May 31 09:56:31 2010 +0200 Merge branch 'experimental' of galinha.ucpel.tche.br:chicken-core into experimental commit 8cbf11a834827fa8a4466b0b65ed9a868bf8102a Author: felix Date: Mon May 31 09:56:13 2010 +0200 use slot-value instead of slot-ref commit 4668adbc33fbd253589d7ebdb4c1123e22cf9231 Author: felix Date: Sun May 30 01:56:17 2010 +0200 types.db fix for filter-map commit 3e4838bbd8e64049b536830f69c3692ef4a9916a Author: felix Date: Fri May 28 15:33:42 2010 +0200 hello, Mr Vandusen commit ca08950d4d756d81a9a3226e128924727e42a5f9 Author: felix Date: Fri May 28 15:25:25 2010 +0200 check C_gui_mode before opening dialog in yes-or-no? commit c31ecdad7ac305b03c4ab841a9a307ccd221392f Author: felix Date: Fri May 28 11:56:57 2010 +0200 moved yes-or-no? from setup-api into utils commit b2b9030b6dc3628d7ea330ec3eb0062abeb41a0f Author: felix Date: Fri May 28 09:42:51 2010 +0200 split modules-and-macros manual chapter (suggested by mario) commit 0ab8596c4430eb410183be7e47192844ab4473d4 Author: felix Date: Fri May 28 09:31:38 2010 +0200 disable warnings when building, unless DEBUGBUILD commit 1c6368a21315767d440523618571053f1417abc1 Author: felix Date: Fri May 28 09:29:43 2010 +0200 removed option and declararation to disable warnings commit 55720462c51861beb1603b6c14595b810a46f264 Author: felix Date: Fri May 28 09:19:39 2010 +0200 modified documentation to emphasize use of csc commit 977282b23f684062612d88408e2f1b9d34f58b55 Author: felix Date: Fri May 28 09:07:11 2010 +0200 updated manual pages commit abe41c6f0c51f34158bf45c02ba9962bf5321f12 Author: felix Date: Thu May 27 12:53:02 2010 +0200 trivial change to rules.make commit 9d3cd14fa2c6a79604de9bb80d0702f883fbdfc3 Merge: 84040969 f5a6745b Author: felix Date: Thu May 27 12:45:50 2010 +0200 Merge branch 'experimental' of /home/felix/chicken-core into experimental commit f5a6745b2f301bb03db92c8988af7acf749fcab5 Author: felix Date: Thu May 27 12:45:41 2010 +0200 getter-with-setter copies lambda-info from getter commit a976778b50688c58ac6a43faf83be8c54492a796 Author: felix Date: Thu May 27 12:45:12 2010 +0200 added boot-chicken makefile target (untested) and better bootstrapping explanation in README (the latter being suggested by zbigniew) commit 84040969e850ac25ecd25b45150c074b9edf6a84 Author: felix Date: Thu May 27 12:25:23 2010 +0200 trivial change in bench.log output commit 6cfcc3bf08efe3bfe715cdb8448e55d6cc19be7c Merge: 81006aa1 d689ea38 Author: felix Date: Thu May 27 10:31:45 2010 +0200 resolved conflicts commit 81006aa15c42da87f18c78d098355dc82a611e50 Author: felix Date: Thu May 27 10:30:29 2010 +0200 BSD-specific changes to runbench.sh commit d689ea3831f26716f4481fe85a7416929061c84f Author: felix Date: Thu May 27 09:02:27 2010 +0200 documentation fixes; applied change by mario to README commit 676846653e045bf0a9b158c7f43f64fdd67dc328 Author: felix Date: Wed May 26 13:47:23 2010 +0200 removed comment commit 1e78858365295e0807646eff12edba9634ccbc1f Author: felix Date: Wed May 26 13:41:13 2010 +0200 - compiler gives notice about assigned globals that are externally visible and declared unsafe - procedure check and global-access or done as C_inline functions - use `safe-globals' instead of `no-procedure-checks-for-toplevel-bindings' (still this is somewhat unsafe) - compiler and interpreter gives notice about assignment to imported value binding - documented `safe-globals' declaration - disabled notice about dropped toplevel assignments - fixed invalid calls to `##sys#stat' in posixwin.scm - DATADIR wasn't always created on install - various trivial fixes - tests/benchmarks use more aggressive optimization options commit be1e59b29ce8a5a4f49eff5785f9e6aeffdb08d0 Author: felix Date: Tue May 25 14:19:50 2010 +0200 trivial cleanup commit 55bb0762b39bd935d1d4e0eb29b65486cff51145 Author: felix Date: Tue May 25 13:44:44 2010 +0200 private-repo works for solaris (thanks to Semih Cemiloglu) commit 3c655ed6d71cba74828242319b5fd7252dadb48c Author: felix Date: Tue May 25 00:55:43 2010 +0200 trivial fix in warning commit 76c628545d3c903790ad831c3c836db4940d53c9 Author: felix Date: Mon May 24 23:11:42 2010 +0200 better check for redef of def. form commit aaefb216e687284f25c50ae7d1df2232c9537603 Author: felix Date: Sun May 23 14:21:09 2010 +0200 fixed minor version in chicken.h commit 343371bd4eae1dbac5978b5733586d9780b5ec79 Author: felix Date: Sat May 22 22:53:18 2010 +0200 added crossdev chapter to manual commit e3b88bfb10790af391d933843c02050874fbb066 Author: felix Date: Sat May 22 14:40:39 2010 +0200 ##sys#make-c-string checks for embedded NUL bytes (thanks to Peter Bex) commit 5c3db792d4b3aa0c56edc8d60a25a2e1db059638 Author: felix Date: Sat May 22 14:26:24 2010 +0200 Haiku-specific fix to runtests.sh by Chris Roberts commit 0fca63be7a7d78d8f6f7cd5d4a17864f184ef29a Author: felix Date: Sat May 22 01:03:37 2010 +0200 added support for Haiku (thanks to Chris Roberts) commit e5f2223b0c2b9dfac51c2c8eb70dd298ae8aeca3 Author: felix Date: Sat May 22 00:49:08 2010 +0200 chicken-install: -deploy with missing -prefix gives error commit 92e176c19696339c2817ab662f0e45a486a6ef1b Author: felix Date: Sat May 22 00:15:34 2010 +0200 types.db fixes for call-with-input/output-file commit fe9315e59b4628c84d01b03298cec1e479c275e2 Author: felix Date: Sat May 22 00:14:46 2010 +0200 install-dev should also install libs commit 50191ad8b52bc5f67740b97aae168aa231f0f8c2 Author: felix Date: Fri May 21 22:08:37 2010 +0200 should be put somewhere else commit f6925b6075dfdfe83aca155f09864909fba59b07 Author: felix Date: Fri May 21 22:07:14 2010 +0200 allow building with gcc on Solaris commit 5b01de0a6c711ea940413fd813aa0247b92981aa Author: felix Date: Thu May 20 18:43:50 2010 +0200 catch errors in user-print-hook commit 8f79e95e7a50a216f1c46e472263d566ef06de66 Author: felix Date: Thu May 20 17:50:28 2010 +0200 added ##sys#parse-keyword-argument-list commit e705943f8adefa9594aa10c31993a8cced517501 Author: felix Date: Thu May 20 15:46:07 2010 +0200 Applied OpenSolaris patches to compile with cc (contributed by Semih Cemiloglu) commit 4a04895c43c0f21337d4ce17934223b488dce4a4 Author: felix Date: Thu May 20 15:34:02 2010 +0200 csc didn't handle -verbose (thanks to mario) commit d77006123add139c68b14f577be235091dc1221e Author: felix Date: Thu May 20 15:15:00 2010 +0200 -d2 enables scrutiny commit ef53e9ec3aedf6540d47dfbae03c8f7f54d78aee Author: felix Date: Thu May 20 15:14:53 2010 +0200 forgot to newline after display-times commit 489b8d694c453a662c3d410528c0ecd165649c3f Author: felix Date: Wed May 19 17:59:07 2010 +0200 lowercased commit c6bafbf6a44ae093fd63afb28740e5a99172198d Author: felix Date: Wed May 19 07:32:23 2010 +0200 types.db fix for read-u8vector! (thanks to Kon Lovett) commit bf6c3e5f405fd76a04fea28169fe6c2b94d21d8e Merge: ae8a9edb 3cbd42e9 Author: felix Date: Tue May 18 07:44:45 2010 +0200 resolved conflicts commit 3cbd42e9d026dc0ddd0e58068456c071dfe12d12 Merge: b0232996 a7c6952c Author: felix Date: Tue May 18 07:40:00 2010 +0200 merged 4.5.1 changes from future branch commit ae8a9edba01a245a506d04e7db3279836ee80804 Merge: 5760e2dc b0232996 Author: felix Date: Tue May 18 07:34:47 2010 +0200 resolved conflicts commit b023299632019a0df0e2157ab75144b24e31ecf2 Author: felix Date: Tue May 18 07:31:54 2010 +0200 added Exceptions page to manifest commit 9f515cf3a69331612da30de41d2af59a6b150601 Author: felix Date: Tue May 18 07:31:29 2010 +0200 merged wiki manual commit c99913c235402ca9190ce72c3752adb6dc216d8f Merge: 90ff06e5 917631a8 Author: felix Date: Tue May 18 07:19:30 2010 +0200 Merge branch 'release' commit 5760e2dc26dcc5cc24a3d09b6042e3acfb49251c Author: felix Date: Mon May 17 11:55:42 2010 +0200 cache precompiled regular expressions commit 19d9512b56dad9fced297f4395544c8bb0e1bd40 Author: felix Date: Mon May 17 11:54:07 2010 +0200 removed cache code from sgrep test; time(1) options for bsd+mac (yawn) commit a7c6952ce77ba50b1a4c3bb060f29d34e6d1c0cc Author: felix Date: Sun May 16 01:59:40 2010 +0200 mean bug in export: would kill previously defined exports commit 3403b3a03402e843d33d0cb9cd3dc88b2540ca79 Author: felix Date: Sun May 16 01:59:40 2010 +0200 mean bug in export: would kill previously defined exports commit eddf5076b2f13eb1af9f2232d776d2189ceb2378 Author: felix Date: Sun May 16 01:59:21 2010 +0200 extra line before bench output commit af278fbdd05b4d052a2c33f6e307314eb8f165be Author: felix Date: Sun May 16 01:09:46 2010 +0200 isn't it fascinating how much time one can spend tweaking timing output? commit af27c556997ee6d934effba8f604e45980040d79 Author: felix Date: Sun May 16 00:08:56 2010 +0200 tiny fix commit 90ff06e528de6fadc9128baeb71a2837fd63fc41 Author: felix Date: Sun May 16 00:04:28 2010 +0200 added missing argument checks for inline number comparison operators (thanks to Jim Ursetto) commit 094b553bbf5fa822c793b3fa6596ea4aab82fb3f Author: felix Date: Sun May 16 00:04:28 2010 +0200 added missing argument checks for inline number comparison operators (thanks to Jim Ursetto) commit 7b1614cd47dc4665ca75a129d5c526f2632a057e Author: felix Date: Sat May 15 23:01:50 2010 +0200 div-by-0 checks is done at C level for fx/ and fxmod commit 6f45378c0ab87e173d814ad365b6e05c2ae5f65b Author: felix Date: Sat May 15 23:01:11 2010 +0200 makefile variable for buildhead target commit 6d1741b08a70d9e61a724b8ddc3a014200c5e625 Author: felix Date: Sat May 15 23:00:15 2010 +0200 documented unsafe fixnum division C macros commit 1b6ee39a83d8fb7ebbe102a2c890796c6aedf97c Author: felix Date: Sat May 15 01:17:55 2010 +0200 also bench compilation time commit f9d92f5d4884c38705b6e0a9eb329eb7423b78ae Author: felix Date: Sat May 15 01:09:12 2010 +0200 no need to check proc syntax in internal compiler syntax for for-each and map commit d011f065f13197504caedd566f8a398bf05cf739 Author: felix Date: Sat May 15 01:08:48 2010 +0200 reverted last change to for-each invocation - the compiler should be able to handle this commit 6a679103a60c60322bdc509ea374bd756703c685 Author: felix Date: Sat May 15 01:04:44 2010 +0200 fixed incorrect codegen for no-global-procedure-checks that caused hidden vars to be handled incorrectly commit 7eaf4dea757b5e9db7e4af98c5e36593ad7589d1 Author: felix Date: Fri May 14 23:45:27 2010 +0200 cleaned up declarations and moved them into common file; fixed wrongly named constant reference in srfi-69.scm commit c1f8ca15d237ed91ebe52e28b2200f906b777f49 Author: felix Date: Fri May 14 15:20:10 2010 +0200 provided safe inline variants for fx/ and fxmod commit dad433092338464027b2f30b47e4b099b9b76d92 Author: felix Date: Fri May 14 15:01:17 2010 +0200 trivial henrietta changes commit d8338456f1b2e81f53c1c8ce6e4855455a4c5194 Author: felix Date: Fri May 14 15:00:54 2010 +0200 fix in benchmark target commit 6da902a362718e8b6a40c16103943f90f74d4d21 Author: felix Date: Fri May 14 14:14:59 2010 +0200 benchmark tweaking commit 69b49ebaa58d191cb6fa60fbc4771a41e8b5a897 Merge: 9dfcbeff 5fda7f66 Author: felix Date: Fri May 14 12:56:56 2010 +0200 Merge branch 'experimental' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core into experimental commit 9dfcbeff37a76358653680f6afc2032ea0d87ab3 Author: felix Date: Fri May 14 12:56:36 2010 +0200 added benchmark target and script commit 5fda7f66ffed85de9e32ccaf6408fd6487e5e3a8 Author: felix Date: Wed May 12 16:32:24 2010 +0200 added benchmark test for regular expression caching commit 3af7b6872a6b18c11a88ee3f077963bca92e76fd Author: felix Date: Wed May 12 16:13:57 2010 +0200 fxmin/fxmax can be considered safe commit 917631a8457e8f8d1cd8f19339a22d4f996ff2ee Merge: 469e2545 d811d03a Author: Ivan Raikov Date: Wed May 12 00:39:45 2010 +0900 Merge branch prerelease into release commit d811d03a2aebc8a522260f2dca7ec1380e73470e Author: felix Date: Mon May 10 16:29:52 2010 +0200 added missing entries to manifest; make diff-invocation in tests/runtests.sh unaware of whitespace changes commit f1dbd72e6ac025d45b15e9208a977bbe37feacdb Author: felix Date: Tue May 11 13:14:08 2010 +0200 correct version patching in chicken.h commit 5946057ddd5556ea47f7c9ff6738d018b18b5b18 Author: felix Date: Tue May 11 13:05:12 2010 +0200 added feature id for chicken-MAJOR.MINOR commit 21427a90547bd314eec343a220c7d2ee8b7ad2ae Author: felix Date: Tue May 11 12:33:19 2010 +0200 bumped version to 4.5.1; minor manual and makefile fixes commit 3fd1e42a3a8454996358d9c7b84ce0bcc6951611 Merge: bd0ac7d0 0847c0e2 Author: felix Date: Tue May 11 07:58:33 2010 +0200 Merge branch 'experimental' into future commit 0847c0e2db5717f4634250a67e4e39a2fc7e97b6 Author: felix Date: Mon May 10 16:29:52 2010 +0200 added missing entries to manifest; make diff-invocation in tests/runtests.sh unaware of whitespace changes commit 1ae0742795220505b7f9477f4eef2baf50604727 Author: Ivan Raikov Date: Mon May 10 00:32:44 2010 +0900 set prerelease version to 4.5.0rc4 commit d17cc3b2a3de8db1619b1fe0adc9efb2aee43a23 Merge: b8fa8c78 bd0ac7d0 Author: Ivan Raikov Date: Mon May 10 00:27:56 2010 +0900 Merge fix to make-eggdoc into prerelease commit bd0ac7d0684da5e1afc4535e6e94f53cff0a9dfd Author: Ivan Raikov Date: Sun May 9 17:59:31 2010 +0900 allow eggdoc documentation to include other files commit 0ab78549940e8bc52933ae5c0bcfd9ccd685ddd3 Author: felix Date: Fri May 7 12:07:15 2010 +0200 add -no-procedure-checks-for-toplevel-bindings commit a3053710fcad9ed81a266873dadd9e54681a1f9e Author: felix Date: Thu May 6 16:01:27 2010 +0200 cross-mode fixes for chicken-install/chicken-uninstall commit 4f55a2120ec36d9ae3ef3ae48f4ddb0448ce8024 Author: felix Date: Wed May 5 14:06:51 2010 +0200 better messagess for syntax-errors with context commit 88f742d318aa43c9ae3ac85b11ca1a6d8da9de85 Author: felix Date: Wed May 5 11:05:52 2010 +0200 slight posix refactoring work; 2nd arg to find-files is optional; fixed unbound var in unix version of file-modification-time setter commit 391f552553d184e9732aac35b0e99f4c6cada5fc Author: felix Date: Wed May 5 09:14:32 2010 +0200 docd time changes commit 4fa1723232cd58846131908f61f8e127e48d0196 Author: felix Date: Wed May 5 09:13:01 2010 +0200 even more compact time macro output commit b8fa8c78a1caa610de2acb01f8e2ac32f4c833fa Author: felix Date: Tue May 4 09:44:11 2010 +0200 bumped version to 4.5.0rc3 commit af40e01b20b4949c8da325843d0651c49e618389 Author: felix Date: Tue May 4 08:52:32 2010 +0200 time macro writes to stdout, moved ##sys#display-times into library unit, compresses output of time macro a little commit 59312df3fec1086b4a2469ac45ef4cd240153f9e Author: felix Date: Mon May 3 13:37:52 2010 +0200 incorrect fix commit a5af46bd1ca1849f5c75ed14b4bb3ac34d2ea888 Author: felix Date: Mon May 3 13:34:22 2010 +0200 export didn't handle '*' export list commit a6b816956663659f6127101906ae704288479bde Author: felix Date: Mon May 3 13:34:10 2010 +0200 fixed entry in types.db for atan commit 258488f4f9706cae9822a05df0d39112f1175269 Author: felix Date: Mon May 3 13:07:14 2010 +0200 reexport didn't handle '*' export lists commit 9768ca3de132cb57e586ea9f269fcc5781451561 Author: felix Date: Mon May 3 13:06:56 2010 +0200 added missing finite? in chicken.import.scm commit 281ff322593fae365a67ece55d819c60a478f423 Author: felix Date: Mon May 3 09:46:14 2010 +0200 added -O0 commit 036a17b4164848ff3048039c63e50fa91ecee14b Author: felix Date: Mon May 3 09:45:51 2010 +0200 -host options for chicken-status and chicken-install (untested) commit 6191ef0ec2a7935fa2c0c127d86bac3d2585cd1b Author: felix Date: Mon May 3 08:38:36 2010 +0200 simplified manpages commit 455b210a56c7b0b88598f376b567c9fbe6acf38e Author: felix Date: Sun May 2 02:17:43 2010 +0200 library name fix for -deploy commit 8eeff766ba4d2b3d437a49fd5f1b6f2ad9e4dbe8 Author: felix Date: Sun May 2 02:06:44 2010 +0200 cross-build fixes commit ce9d3bc5866a03e6526bbf5ec5575762cbffc4b9 Author: felix Date: Sun May 2 01:19:59 2010 +0200 escape backtick in echo output in rules.make commit 22699fd729e2b1e08e8bdb2d6a5d640382d209d8 Author: felix Date: Sun May 2 01:14:02 2010 +0200 map and for-each check argument types, when expanded by compiler syntax (reported by zbigniew); procedure argument is evaluated in correct order commit 68f0df2c995dfb5bc9149d2ce1a69e9a456985d0 Author: felix Date: Sun May 2 01:12:44 2010 +0200 removed unused definition commit 4eb791fc459977e8f1780d74763ca2359f4bb523 Author: felix Date: Fri Apr 30 12:22:26 2010 +0200 fixed ref. to unimported variable in srfi-69 (thanks to zbigniew) commit 6eda778123408d57e78e6e87935dd7c588df724c Author: felix Date: Sun May 2 00:21:36 2010 +0200 added port-closed? (contributed by Peter Bex) commit 8c3681ca0ee605430b5254348f6fd1700b3f77d4 Author: felix Date: Sat May 1 23:37:58 2010 +0200 use TARGET_DESTDIR only if not in host mode commit 02d6e11a235782fe720565ce63e5c1b930f3e3ec Author: felix Date: Sat May 1 23:37:42 2010 +0200 fixed missing test in create-temporary-directory commit 1603c5205c50ac8c23aef3af971b40b8aaf6c0a2 Author: felix Date: Tue Apr 27 12:13:59 2010 +0200 applied fix by Paul Romanchenko for broken peek-char with tcp ports commit fc644491b20ed3f4b165453ecfefce22f4a54d34 Author: felix Date: Fri Apr 30 12:22:26 2010 +0200 fixed ref. to unimported variable in srfi-69 (thanks to zbigniew) commit 68faf53e064519ea66567f9b1fbcd70e4f5ccbc0 Author: felix Date: Fri Apr 30 12:22:26 2010 +0200 fixed ref. to unimported variable in srfi-69 (thanks to zbigniew) commit 47761be0d3172eae824f3b59fe1a306ca5b524c2 Author: felix Date: Thu Apr 29 14:14:25 2010 +0200 fix in create-temporary-directory commit d71c259c7aa144993305d438e26853617376f70d Author: felix Date: Thu Apr 29 11:27:00 2010 +0200 removed create-temporary-directory from setup-api; removed unused internal function; moved current-directory into posix-common.scm; fix in files.scm commit 0440011fdb38d94119a38162c42c5cd1bac8dab7 Author: felix Date: Thu Apr 29 09:53:33 2010 +0200 - removed deprecated `-host-extension' option of `chicken-install' - added `create-temporary-directory' (files unit) - removed deprecated second optional argument to `make-absolute-pathname' (files unit) - removed deprecated `canonical-path' (posix unit) - removed deprecated `current-environment' (posix unit) - started moving definitions into `posix-common.scm' commit 857aae25368f8405c246167021cf1bfd23b4b6fb Author: felix Date: Wed Apr 28 08:33:38 2010 +0200 reverted nonsensical change in setup-api commit 64b367b4d480eb57030bca6080f26f87ee10665d Author: felix Date: Tue Apr 27 13:24:02 2010 +0200 turned warning about unused local assignment into notice commit 4d285bb430f150d5fd881b89f1aab255b43c57d5 Author: felix Date: Tue Apr 27 12:13:59 2010 +0200 applied fix by Paul Romanchenko for broken peek-char with tcp ports commit fde95082fe2075d36bd17f5e2a1188b17ba74ef6 Author: felix Date: Tue Apr 27 10:46:05 2010 +0200 deprecated random-seed (extras) since it is equivalent to randomize commit a5fc3983b4505ab208b61615fb2af8c1eb7e6e20 Merge: e15c38b7 476e40d1 Author: felix Date: Tue Apr 27 10:08:35 2010 +0200 Merge commit 'origin/void-to-noop' into experimental commit e15c38b7c50061a5a3c8b5575c09b7601e022c74 Author: felix Date: Tue Apr 27 08:11:30 2010 +0200 minor fixes in rules.make commit ae39f2bf37a48840c17876c0ff7b1af3d3e52335 Author: felix Date: Tue Apr 27 08:08:28 2010 +0200 documented -feature option for chicken-install commit 635aebac1bc4ecb3ad838423395702fb57b7a8b9 Merge: 8eb461a7 19258684 Author: felix Date: Tue Apr 27 07:39:31 2010 +0200 Merge commit 'origin/cleaned-up-install-targets' into experimental commit 8eb461a79fe221e0e0669839cf12025acde6d1c1 Author: felix Date: Mon Apr 26 12:25:27 2010 +0200 added TARGET_DESTDIR which is used by -deploy and as default destination for chicken-install in cross-chickens commit 07e9c74b0f32c7e0fdaef83e7e3a293dd03fe5cf Author: felix Date: Mon Apr 26 12:24:17 2010 +0200 symbol-append import commit ac9bf937f7a3bf39a1b4044f8d4328756d9b4a52 Author: felix Date: Mon Apr 26 12:23:46 2010 +0200 added symbol-append commit 192586843357da2319cd171e827955c75d0ffef4 Author: felix Date: Mon Apr 26 11:28:20 2010 +0200 cleaned up install targets somewhat commit 9fd71180ce4c45d5b81051f1e942ef135450a9f8 Author: felix Date: Mon Apr 26 10:33:43 2010 +0200 refactored defjam error message generation commit d318031ff9305bd43be631f5f4f2c6b4a282c15a Author: felix Date: Sun Apr 25 04:52:38 2010 +0200 define[-syntax] of definition with the same name signals syntax error commit 77df3b796d2795f48386a33a62c0748b07d335fd Author: felix Date: Sun Apr 25 04:51:51 2010 +0200 fixed incorrect recent change commit 05358920ab6141273e2e67e2bd60ea6b96092f69 Author: felix Date: Sun Apr 25 04:51:11 2010 +0200 added test for expander rename/reexport bug commit 984399beeba5dedac21a7b3322c7b619b56f47d8 Author: felix Date: Sun Apr 25 04:43:31 2010 +0200 csi ,r shows argv commit b5463fe0110b1fd17e300182b59b177ae7394d41 Author: felix Date: Sun Apr 25 00:45:43 2010 +0200 removed duplicate export from setup-api and unused code in library.scm commit f7b8a125e4be3a207bdf4c198659e2847d055e1c Merge: 552e6e15 ab2f6d6b Author: felix Date: Fri Apr 23 19:11:36 2010 +0200 Merge branch 'master' into experimental commit 552e6e158ec07293bc1b792ae18d870ee06fd86d Merge: bb1940be e069b289 Author: felix Date: Fri Apr 23 19:06:43 2010 +0200 Merge commit 'origin/experimental' into experimental commit ab2f6d6b62fc4ef1fdb5ddaa4497e7225a5982a1 Author: felix Date: Fri Apr 23 14:41:49 2010 +0200 added entry to acknowledgements commit 164b33a5683d84b879f7ba0e8573cd0bcdadec29 Author: felix Date: Fri Apr 23 14:39:07 2010 +0200 added entry for 4.4.6 to NEWS commit e069b289416b030d853882170faa2cb67b6196c1 Author: felix Date: Fri Apr 23 10:36:44 2010 +0200 turned warning for typeds.db conflict into notice commit 476e40d193092156aa4fa4145728149f97240d26 Author: felix Date: Thu Apr 22 20:12:01 2010 +0200 fixed handling of arguments for void in optimizer; more efficient treatment of ##sys#undefined-value; if ##core#always-bound, then 'removable commit 4722762d1388325de22d4e9a4f3d6bcc8b7094f7 Author: felix Date: Thu Apr 22 16:52:13 2010 +0200 added ##core#toplevel-begin which works like ##core#begin, but isn't spliced by body-canonicalization commit bb1940be3934b66144e5e2592a8c7e9744669a19 Author: felix Date: Thu Apr 22 04:29:45 2010 +0200 added test for local definitions with redefined define commit 03f82e045790af1bbc3f65471c59e6b71310e82c Merge: cac829ea 08c72b4e Author: Ivan Raikov Date: Thu Apr 22 11:23:32 2010 +0900 Merge commit '08c72b4e65858bcc8b10cb135e5b5aa3742892b5' into prerelease and set prerelease version to 4.5.0rc2. Conflicts: Makefile.cygwin README buildversion manual/The User's Manual version.scm commit 61adcf340c5ee41a829c5e3e4fdf7fc1e7250bd6 Merge: c0a81db3 fd66e1b1 Author: felix Date: Wed Apr 21 21:07:47 2010 +0200 Merge branch 'master' into experimental commit fd66e1b108194917ee6fcb430820c1a32543e18c Author: felix Date: Wed Apr 21 20:53:38 2010 +0200 merged wiki manual changes made by zb commit c0a81db33f6695fd556d1a20ddcd5d302350d258 Merge: aadc14ba 08c72b4e Author: felix Date: Wed Apr 21 20:05:59 2010 +0200 Merge branch 'master' into experimental commit 08c72b4e65858bcc8b10cb135e5b5aa3742892b5 Author: felix Date: Wed Apr 21 20:04:53 2010 +0200 added pointer-offset again, which is removed by mistake (thanks to Jim Ursetto for reporting this) commit aadc14ba07e8efc388bef10769253d931a289f33 Merge: d6ad245f fc017208 Author: felix Date: Wed Apr 21 16:58:16 2010 +0200 Merge branch 'master' into experimental commit fc0172085080ae415eccf3700070bf9822c77f69 Author: felix Date: Wed Apr 21 16:58:02 2010 +0200 trivial whitespace removal commit cac829ea262cbed88186e80ac8c6aeb00d1f5109 Author: felix Date: Tue Apr 20 12:33:11 2010 +0200 applied patch by Mario for fixing cygwin makefile (#213) commit a45515962958990f112a622303ba5b898f5c0757 Author: felix Date: Tue Apr 20 12:33:11 2010 +0200 applied patch by Mario for fixing cygwin makefile (#213) commit d6ad245fd8933bfa00aa90d9f1727a3f61c2b189 Merge: ef9ef442 1fd4db8c Author: felix Date: Mon Apr 19 15:07:41 2010 +0200 Merge branch 'master' into experimental commit 33a9c5b30f1b852d43c8bd5c87fe4389ef0ecd8d Author: felix Date: Mon Apr 19 15:04:57 2010 +0200 fixed bug in reporting known call with wrong number of args commit 1fd4db8c32b79ccab42bc73fd459cab2b62d232d Author: felix Date: Mon Apr 19 15:04:57 2010 +0200 fixed bug in reporting known call with wrong number of args commit d2be7ef5192a240c0aa9f3c79b1df46be0b1382d Author: felix Date: Mon Apr 19 12:12:19 2010 +0200 fixed silly bug in rules.make commit ef9ef44209430a5ff6f16c1589b67bad3b781607 Merge: 2c81b811 fd5b91a3 Author: felix Date: Mon Apr 19 12:13:05 2010 +0200 Merge branch 'master' into experimental commit fd5b91a395a1c8e5b0b13ba8085869e6cb1e4c2f Author: felix Date: Mon Apr 19 12:12:19 2010 +0200 fixed silly bug in rules.make commit 2c81b811b8bb8024d0d52eda0544b833a889a639 Merge: 909bf8ee f0e52333 Author: felix Date: Mon Apr 19 04:40:50 2010 +0200 fixed conflicts commit 909bf8eea67c578e0246b684f23a00e03935ef4d Author: felix Date: Mon Apr 19 03:54:46 2010 +0200 deprecated COPY-FILE and MOVE-FILE in setup-api commit 8ef53edff4a27de64ae561a0b8bbaa89a032111e Author: felix Date: Wed Apr 14 16:46:25 2010 +0200 merged manual changes from wiki commit f4d67b16a63a7f9fa34b8e5b2def079c6ec13ffe Author: Chicken Date: Thu Apr 15 09:22:01 2010 -0300 bumped version to 4.4.6 commit f0e523336a12f66b040c2d61ac19298e60a96afa Merge: f6502107 cfa1d11e Author: felix Date: Wed Apr 14 16:46:34 2010 +0200 Merge branch 'master' into experimental commit cfa1d11eced2bae8ddf0437c1bdda0a31e5634eb Author: felix Date: Wed Apr 14 16:46:25 2010 +0200 merged manual changes from wiki commit f65021078a697fc1512c911d50534eebba562c5a Merge: aa97b6e7 098a8b9a Author: felix Date: Wed Apr 14 11:33:41 2010 +0200 Merge branch 'master' into experimental commit d3de027241eb816c0462a6796da6b3602c1ccab5 Author: felix Date: Wed Apr 14 11:32:45 2010 +0200 added destination-prefix to make installation-prefix compatible again commit 098a8b9a626ce58f0f8f5d8c7c85889df04604fb Author: felix Date: Wed Apr 14 11:32:45 2010 +0200 added destination-prefix to make installation-prefix compatible again commit dcef2427791f83f164f1bfbf75e5dba0ae539dc5 Merge: 9d33b424 e473108e Author: felix Date: Wed Apr 14 09:40:10 2010 +0200 merged; bumped version to 4.5.0rc1 commit aa97b6e7e53761bd0333515cd92c2c4bd9b684b4 Merge: 04bb268c e473108e Author: felix Date: Wed Apr 14 09:34:36 2010 +0200 Merge branch 'master' into experimental commit e473108e2658ba5de2fb3848bbcf91b5501bcd43 Author: felix Date: Wed Apr 14 09:33:59 2010 +0200 updated NEWS commit 25f881172613e0573bc98cb29d4202e4569bb9f8 Author: felix Date: Wed Apr 14 09:07:19 2010 +0200 removed some debug output commit 6131c3a77b4302062078b3a412358e659d423ac7 Author: felix Date: Wed Apr 14 09:05:53 2010 +0200 types.db fix; handling of VARDIR broken in chicken-install commit 04bb268c07f003b94efa4d5962e266d910c6b98e Author: felix Date: Wed Apr 14 09:07:19 2010 +0200 removed some debug output commit c86e8f205e3305a1bc62cebc49b4bc3747a5d47d Author: felix Date: Wed Apr 14 09:05:53 2010 +0200 types.db fix; handling of VARDIR broken in chicken-install commit 460fe6b7a3a3a6ed96a7afffdfdc4c0a03d045b2 Merge: d275e597 c7479e22 Author: felix Date: Tue Apr 13 15:10:39 2010 +0200 Merge branch 'master' into experimental commit d275e5975fc7b953836cb52a394018a0af917924 Merge: 89efeda7 55d6fe4b Author: felix Date: Tue Apr 13 15:08:38 2010 +0200 Merge branch 'experimental' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core into experimental commit c7479e22f87a463808031274a95c93453ed520ef Author: felix Date: Tue Apr 13 15:07:26 2010 +0200 bumped version to 4.4.5, not tagged yet commit 89efeda766ef4f9680a743fc4364e8db5b0832e1 Author: felix Date: Tue Apr 13 15:05:27 2010 +0200 r4rstest.out corrected commit 55d6fe4b3891ebd345f1431cadd45a2336aee16c Author: felix Date: Tue Apr 13 14:55:19 2010 +0200 - moved chicken-ffi-syntax into own unit - note about redefinitions of `define' in manual (thanks to Jeronimo) - mini-salmonella: sorts directory before building extensions - canonicalization creates a more helpful error message when an invalid data object occurs in source expressions and the object is part of another expression that might be a reference to a macro in modules.db commit 34c7f2e97286cef6a27510670b79249bab160393 Author: felix Date: Mon Apr 12 12:21:35 2010 +0200 added ##sys#notice and how csi/chicken set it according to command-line options; converted some warnings to use notice commit a798a31c57f0e12963bb8c063ffd93be0a3aab1a Author: felix Date: Mon Apr 12 11:37:43 2010 +0200 fixed number->string; runtests fails on tests that diff; removed float-erad/write tests from r4rstest commit bc13cf67c4c5aca26b5e4ebf0e681f08f272550c Author: felix Date: Sun Apr 11 00:16:42 2010 +0200 tweaks in 3-stage build commit 073e60669c6871427451eb42a099094495e3a454 Author: felix Date: Sun Apr 11 00:11:38 2010 +0200 comments commit 945d43821cb076f8c437634bee5e03e8445a2031 Author: felix Date: Sat Apr 10 23:45:49 2010 +0200 describe mentions if number is inexact; expected output for r4rstest waas wrong commit 98e3c4d311cfd1ba901cc71303e77cee49d3eb07 Author: felix Date: Sat Apr 10 23:16:14 2010 +0200 added 3-stage build commit 513ba59749622230bfc8623c96d63beff9d09c61 Author: felix Date: Fri Apr 9 11:50:58 2010 +0200 keyword-argument speedup, needs more testing commit 8b293b1ce2c701db4d63530583c2ac8696dc018e Author: felix Date: Thu Apr 8 14:43:59 2010 +0200 inlined literals keep their identity commit c89222cb1193ef32135e60f21ea7da3a8c5e5fe8 Author: felix Date: Thu Apr 8 14:43:38 2010 +0200 updated scrutiny-test test-file commit aff7beadaeb99e421920684d6a7c4454ee530b73 Author: felix Date: Thu Apr 8 14:39:39 2010 +0200 modified code in regex.scm to avoid scrutiny warning commit 3ae42449f6c919ef241c71d5555a1175aee042e1 Author: felix Date: Sun Apr 4 23:47:40 2010 +0200 fixed use of internal eqv? alias in expansion of case (thanks to Vitaly Magerya) commit b332b1b5804531e3d57a7e6fa079481f7e5a9642 Author: felix Date: Sun Apr 4 23:04:39 2010 +0200 removal of duplicated manual entry for qs (patch by mario) commit 14b2d48ca65a2e53af484ebd363a2c58b5dc8b0c Author: felix Date: Sun Apr 4 22:57:26 2010 +0200 applied patch by Christian Kellermann for number->string conversion with arbitrary base commit b9d091df90f6092573eaf36c22436daa7ef2085f Author: felix Date: Sun Apr 4 22:25:47 2010 +0200 else-clause check for select; removed deprecated define-compiled-syntax and define-extension commit b528ffbded9de3335c1631d7abb34672e04855f0 Author: felix Date: Sat Apr 3 19:47:47 2010 +0200 warning if non-else clauses follows else clause in cond or case commit da7cb50b09dba08f2a44afc20216d9315e9a028d Author: felix Date: Fri Apr 2 19:23:43 2010 +0200 config-macros for all other programs and registration in setup-api commit 4337b3c96352718b77860e75635d88419426a49a Author: felix Date: Thu Apr 1 00:21:32 2010 +0200 setup-api exports find-program commit fb74f2a13695b275e942de06b384ec72bf791e40 Author: felix Date: Wed Mar 31 23:47:43 2010 +0200 removed broken toplevel-alias optimization commit 0b728d168f467502e635f9cce4aad1ec124e6fd1 Author: felix Date: Wed Mar 31 23:47:29 2010 +0200 export used outside module is ignored; slight cleanup in syntax-checks for define commit 867918d9587b8ccbcb3177dd20bdd4c83f20db86 Author: felix Date: Wed Mar 31 23:45:47 2010 +0200 test in chicken-uninstall was incorrect, now the user is always asked before deinstalling, unless -force is given commit b86f80d9455602a576461382ef55c1bcdf8b7718 Author: felix Date: Wed Mar 31 23:44:50 2010 +0200 chicken-install -test only applies to explicitly installed extension; not dependecnies commit 6df285bcb81077bf467a1ed0331be20e2c756374 Author: felix Date: Sun Mar 28 15:13:39 2010 +0200 fixed bug in standard-extension (setup-api) commit 7967bdf6ab72548f781f30e09673a03205533cd2 Author: felix Date: Sun Mar 28 14:32:49 2010 +0200 removed warning and feature commit 8acb3f92df82f369fc5dbef8f7c44a68468a92c3 Author: felix Date: Sun Mar 28 14:03:05 2010 +0200 types and import fixes for fxeven?/fxodd? commit c8a6a3a0e9a4bcf5838a2c0e757b52de2d626727 Author: felix Date: Sat Mar 27 16:45:41 2010 +0100 fix in handling of -:G runtime option; bumped version to 4.4.4 commit 2dbe4d40e0f197f24e27191d8564b2ee3d9867f7 Author: felix Date: Sat Mar 27 16:19:53 2010 +0100 fixed bug in csc (use of unbound INSTALL_RC_COMPILER); fix in mini-salmonella; fix in wiki2html by zbigniew commit 56947e808a5f30f94bf607a2df6f0de7cc4b7baa Merge: 664036a3 fa8e6f78 Author: felix Date: Sat Mar 27 10:51:40 2010 +0100 Merge branch 'master' into experimental commit fa8e6f7804c89d89035415e8309604be34014b80 Author: felix Date: Sat Mar 27 10:50:24 2010 +0100 applied patch my mario to fix bug in chicken-install reported by Jeronimo Pellegrini commit 664036a3b78a62e13bbf7c089f7ee770b28d029d Author: felix Date: Fri Mar 26 11:45:41 2010 +0100 added fxodd? and fxeven?; expander tuning; get/put implemented in C commit f36539a31612ad16494e6d17601478bc2e59c3f5 Author: felix Date: Fri Mar 26 09:42:36 2010 +0100 added -:G runtime option; added feature id #:explicit-renaming commit 38c7328f6ae37954c7127fcf39f72e361bd7f78c Author: felix Date: Thu Mar 25 14:47:52 2010 +0100 manual fixes (thanks to Joerg Wittenberger) commit 5f4e0410d75e50e737d5b5a6e453855f426bcd21 Author: felix Date: Thu Mar 25 12:06:44 2010 +0100 pulled some manual improvements from wiki commit f2cbd906819b8935324002f83ddc250e2b23f0f3 Author: felix Date: Thu Mar 25 09:13:50 2010 +0100 disabled debugging code which resulted in crash of chicken-install commit e968b6ac9ddf5f2f4c1dba1bc928d837b28ad714 Author: felix Date: Thu Mar 25 09:00:20 2010 +0100 still references to unsafe library files commit bed246d421d88fa31dc2c92f3a6b3f500d0e4554 Author: felix Date: Thu Mar 25 08:45:02 2010 +0100 include-syntax for modules commit eb5e7e41f5def3c0333d007b213d35aa1e2f53ed Author: felix Date: Wed Mar 17 14:55:26 2010 +0100 some repairs commit df84dd4eee4d3cd54c6c07e9dd4a0e01c0d81d9a Author: felix Date: Wed Mar 17 14:26:59 2010 +0100 use internal forms for builtin syntax commit fa94f2449007442f40e0f650a79c20a7f99d0640 Author: felix Date: Fri Mar 12 14:52:37 2010 +0100 more work commit a59c9a110e49b8395b8845f2de12f27b3941e066 Author: felix Date: Fri Mar 12 14:33:21 2010 +0100 started work on fully consistent syntax commit f2c8fc30b6a590a28d9ae25def85837e49cf9e92 Author: felix Date: Sun Mar 14 13:13:28 2010 +0100 - integer? always returns #f for nan and inf - implemented lambda as syntax and fixed various bugs - tests run, added some new module-related tests commit 1f2722cd053d23292fca29508e7fb23187652dfa Author: felix Date: Sat Mar 13 13:45:16 2010 +0100 various syntax bugfixes commit 64d49f486e0760cd726cd38ba82083976537d5ef Author: felix Date: Fri Mar 12 14:52:37 2010 +0100 more work commit d9cdb524431da58ec108100d7d0268d11fa49507 Author: felix Date: Fri Mar 12 14:33:21 2010 +0100 started work on fully consistent syntax commit 4cbc9d250a5f2a60a4526ad1435c13a1d605cef4 Author: felix Date: Tue Mar 23 14:33:43 2010 +0100 fixed bug in quoting of shell commands in setup-api commit ed8ab71fee0892c53b9add828adcecef8e0cc24f Author: felix Date: Tue Mar 23 14:10:01 2010 +0100 bumped version to 4.4.3 commit c1ae874fe9c6eeb1820be1b3dc27f77ab6275291 Merge: c95dc5f6 6148b89a Author: felix Date: Tue Mar 23 14:07:22 2010 +0100 Merge branch 'experimental' commit 6148b89ab3dd04153d2acaab699375a85f443359 Author: felix Date: Tue Mar 23 14:02:35 2010 +0100 fixed case of -K option in help text in csc commit d7ed747bd1593e2dfa90dfa70e8091cd8d3a4502 Merge: 126b4631 7f537bb7 Author: felix Date: Tue Mar 23 07:42:17 2010 +0100 Merge branch 'experimental' of ssh://galinha.ucpel.tche.br/~/chicken-core into experimental commit 126b4631ecffb9a81fb308af074401018d19586f Author: felix Date: Tue Mar 23 07:42:02 2010 +0100 trivial whitespace change commit 7f537bb7065da5864ca54c5858e8346e9e8bf77e Merge: c19d3c2a 186ac540 Author: felix Date: Tue Mar 23 07:39:32 2010 +0100 Merge branch 'experimental' of ssh://chicken@galinha/~/chicken-core into experimental commit 186ac540b963b72a081420b28830429fe0219262 Merge: a7998d49 400e22df Author: felix Date: Mon Mar 22 11:16:58 2010 +0100 Merge branch 'experimental' of ssh://galinha.ucpel.tche.br/~/chicken-core into experimental commit a7998d49bb538a06e868c0187eb37a97864b08c3 Author: felix Date: Mon Mar 22 11:16:19 2010 +0100 fix in types.db, thanks to Kon Lovett commit c19d3c2a86574437b27723ebfd9dd13d6c1686be Author: felix Date: Sat Mar 20 23:04:58 2010 +0100 cleanup and trivial fix commit a0128b4afe8b385cd42ce677c763b57654eb7f0e Author: felix Date: Sat Mar 20 22:39:45 2010 +0100 added register-program to setup-api commit a5e2d81914e3e1bc6e6e410a95c4ecf1a6fe66e2 Author: felix Date: Sat Mar 20 22:29:25 2010 +0100 removed more unsafe runtime stuff commit a70dddecb280e4a54e28c1a9843c7b8c76d0db83 Author: felix Date: Sat Mar 20 10:02:37 2010 +0100 removed unsafe libchicken and -unsafe-libraries options commit 7a872acdac1a5f5038c29065886a40ac5a5e0bdd Author: felix Date: Fri Mar 19 22:51:35 2010 +0100 symbol beginning with #%... is readable commit 95192de29974b61ab886f1d00b33c717b7157773 Author: felix Date: Fri Mar 19 22:32:17 2010 +0100 fixed comment commit b3fd772a654adfbc9ba633b142e379f7070f62f0 Author: felix Date: Fri Mar 19 20:54:38 2010 +0100 restored change incorrectly reverted commit 33ffee134e4dc30895ce22cc965249dccd7442d0 Author: felix Date: Fri Mar 19 20:52:48 2010 +0100 don't show backtrace when shell command fails in setup-api commit 9a22d5e63d185f1fcc3255342187ff4a46d6ecf4 Merge: 516521a1 033f45ec Author: felix Date: Fri Mar 19 10:52:49 2010 +0100 Merge branch 'experimental' of /home/felix/chicken/core into experimental commit 516521a1cd21b74863b4ea43f2435d793af9e947 Author: felix Date: Fri Mar 19 10:52:25 2010 +0100 make clean should handle program prefix/suffix commit 033f45ec893a71be560bcc52cfe0acf0f9d488d8 Author: felix Date: Fri Mar 19 10:48:17 2010 +0100 use -O3 or standard-extension commit 400e22dfbdad087bd28eddcb0213d7ce3b45d8ed Merge: b0439fca 0d314266 Author: felix Date: Thu Mar 18 21:29:22 2010 +0100 fixed conflict commit c95dc5f62be34284716025ddb0d5e5431566c24f Author: felix Date: Thu Mar 18 12:01:06 2010 +0100 fixed bug in runtests.sh commit 0d314266b30fd2e8ebf762ea50c67a48ef044c03 Author: felix Date: Thu Mar 18 11:59:32 2010 +0100 fixed bug in suffix rule for .so files; bumped version to 4.4.2 commit 53a8264545d3f119778411bbb7db4e382488b096 Author: felix Date: Thu Mar 18 10:00:49 2010 +0100 fixes in types.db (thanks to Kon Lovett) commit 8dee2d7643147554d284b303a615d5662e531e8a Author: felix Date: Wed Mar 17 11:41:50 2010 +0100 using install is ok on cygwin commit 259e3e98779f6adc7acc4e97da4a0bc73b6a77a6 Author: felix Date: Wed Mar 17 11:41:23 2010 +0100 -O5 does not link with unsafe library anymore commit b5c8d59e83b7c654e6f79dee91476470ac07b882 Author: felix Date: Tue Mar 16 16:12:04 2010 +0100 define-record-type allows using setters for modifier; added testcase commit 77dba659a2df49f01734bea1ca5caf48b24f0e47 Merge: c1b3d35d 8a3129a1 Author: felix Date: Tue Mar 16 13:11:20 2010 +0100 Merge branch 'experimental' of ssh://galinha.ucpel.tche.br/~/chicken-core into experimental commit c1b3d35d78bfabf9bb989d4204ede10619e2cf8c Author: felix Date: Tue Mar 16 13:03:02 2010 +0100 csc handles .rc files; install .rc for windows gui apps; patch by Thomas Chust for embedding manifest; new csc option -no-elevation commit a0960b7f22c0481677a904e6e5fa5c2a5934985f Author: felix Date: Tue Mar 16 13:05:51 2010 +0100 removed chicken-fetch and chicken-remove commit 8a3129a10dc588a492130c29a38b57db4c3498c1 Author: felix Date: Sun Mar 14 13:17:33 2010 +0100 integer? returns #f for nan and inf commit f771a79b4408a962c2b3f80eeaf13cc5578276aa Author: felix Date: Sat Mar 13 13:43:24 2010 +0100 allow overriding HOSTSYSTEM in mingw32 cross build commit be4ec378a6f47a94805652b6f126e95967cbb805 Author: felix Date: Fri Mar 12 11:14:35 2010 +0100 module bodies are completely stripped (#131) commit 5d11f891e65b7e6308c1a8e607077f4483220572 Merge: 67f3af07 590e58d9 Author: felix Date: Fri Mar 12 07:51:28 2010 +0100 Merge branch 'master' into experimental commit 590e58d9cfaed30d1b79abcc8bab4c13b80691ce Author: felix Date: Fri Mar 12 07:51:21 2010 +0100 same for chicken-status and chicken-uninstall commit 688537a2d1408ea9a551e3dec8db642455c041a6 Author: felix Date: Fri Mar 12 07:50:20 2010 +0100 fixed bug in handling of combined options in chicken-install commit b0439fca1a9971b11b151fe1a5582d3b2e0a7b40 Author: felix Date: Thu Mar 11 20:12:20 2010 +0100 combined short options where incorrectly handled in chicken-install commit 36e4501c7dceca1330887c1f0866998ae7fe9b67 Author: felix Date: Thu Mar 11 09:31:10 2010 +0100 fix for not handling netbsd as an elf target commit 67f3af07386b3d6f3aae24efc7b49a5ac4ad6fa3 Author: felix Date: Wed Mar 10 14:17:08 2010 +0100 fixed typo in chicken-install, handles relative pathname for local transport commit 73d8e2a6fa50eb75a422cd32b1368586466cc0fb Author: felix Date: Wed Mar 10 14:05:03 2010 +0100 user correct string for error message commit cf945b34303b74348c34ca8432a7fc6fe366f791 Author: felix Date: Wed Mar 10 13:54:48 2010 +0100 show mapping of eggs only if changed commit 4f125f7a6ed2f72218064876a5004831903974c5 Author: felix Date: Wed Mar 10 09:10:46 2010 +0100 changed instructions for bootstrapping in README commit 7a35d64c30c36ef50aefbf9ce81d5ae0e1e0cba4 Author: felix Date: Tue Mar 9 14:56:14 2010 +0100 removed bootstrap files; added script to generate bootstrapping chicken commit e3a354a9e1c8a3e85ff500fec28d7e41d729d3e2 Author: felix Date: Tue Mar 9 13:18:19 2010 +0100 don't include scripts/ in distribution, with exception of identify-branch.sh commit e66fb90a71b0883001812bce405a8192bd55849b Merge: 1bc6f519 e4d840c1 Author: felix Date: Tue Mar 9 13:14:15 2010 +0100 Merge branch 'master' into experimental commit e4d840c1db2d3cc0ad7af1278636eb074ccf4f7b Author: felix Date: Tue Mar 9 13:12:31 2010 +0100 set version to 4.4.1; copied NEWS from release branch commit 1bc6f5196a7246e48edc3ca6790652d7195674d4 Author: felix Date: Tue Mar 9 13:01:13 2010 +0100 provide chicken-fetch and chicken-install on windows commit a935874b93cbca504682852dc107de08d5c11717 Author: felix Date: Tue Mar 9 13:00:59 2010 +0100 regexp didn't handle regexp arguments properly commit b5a1c5cf1625f768c67773aa32db529ac80df72f Author: felix Date: Tue Mar 9 07:40:01 2010 +0100 merged with wiki manual commit 2e5b2798f4bd2a42533a37cf88f074d7e0887cd3 Author: felix Date: Tue Mar 9 07:31:28 2010 +0100 doc fix commit 577dd7ec342bae34c71a90cafcd539c88464672d Author: felix Date: Tue Mar 9 07:17:51 2010 +0100 fixed ##sys#round to old behaviour commit 469e2545e08908c7af3cefed59e8d5d1e68dc3d6 Merge: fbc6dda2 9d33b424 Author: Ivan Raikov Date: Tue Mar 9 10:08:27 2010 +0900 Merge branch 'prerelease' into release commit 9d33b424230bad15c8302dcc2132b2c03ed153dd Merge: c44aabae 57766861 Author: Ivan Raikov Date: Tue Mar 9 10:05:25 2010 +0900 Merge branch 'master' into prerelease commit 7b310fa154c0f550852fd2586bfea3e50cdec1ea Author: felix Date: Mon Mar 8 13:42:01 2010 +0100 applied universal build mac os patch by Jim Ursetto commit 91b23b12c0107ae202d480cf22aa08b930c411e6 Merge: b24d526a 57766861 Author: felix Date: Mon Mar 8 13:36:23 2010 +0100 Merge branch 'master' into experimental commit c44aabaeb9ae0380d97781948be78e2060222d6f Author: felix Date: Mon Mar 8 13:26:04 2010 +0100 applied cygwin build patch by Mark Carter commit 5776686100626401b2c26e37e366d2a6f56a255b Author: felix Date: Mon Mar 8 13:26:04 2010 +0100 applied cygwin build patch by Mark Carter commit b24d526adef44032d36e0573098ee8bebfb9476c Merge: 2ea25153 1357ff1b Author: felix Date: Sun Mar 7 14:44:12 2010 +0100 Merge branch 'experimental' of ssh://chicken@galinha/~/chicken-core into experimental commit 2ea25153cd75ae06a3e7d75fcb39d01b0ce42419 Author: felix Date: Sun Mar 7 00:00:46 2010 +0100 added a few more tests commit 412c4e7a43a2374da42f0738d5970a195c1b59e9 Author: felix Date: Sat Mar 6 23:05:53 2010 +0100 glob->regexp returns regexp, optional sre; does a better job now commit 1357ff1b75ed7a9120c51a47b0c32a1953428a98 Author: felix Date: Fri Mar 5 21:35:41 2010 +0100 indicate zero values in repl result commit 3f304513c1a678fccdae3119f4ead3e27b048d5b Author: felix Date: Fri Mar 5 11:55:37 2010 +0100 better symbol printing behaviour, suggested by Jim commit bf8216a1acf666d54ff1c6755bcd307706df8721 Author: felix Date: Fri Mar 5 11:54:48 2010 +0100 documented fix by Jim for terminal-port? on windows commit a7f5cdc115104758d6c27ceb3129e8bcbd02f5b5 Author: felix Date: Fri Mar 5 11:53:29 2010 +0100 terminal-size for windows was unimplemented, but should at least return 0/0 commit d228bfecf2e89ce0bebe46c33df88e67fa8a5d48 Author: felix Date: Fri Mar 5 11:52:30 2010 +0100 no special handling of describe for extended number types commit 48d759c9ef86f2eee58a2802ecfd1e3b4007bb80 Merge: b9c25de7 7e1f2568 Author: felix Date: Fri Mar 5 09:19:17 2010 +0100 Merge branch 'experimental' of c:/Users/felix/tmp/../chicken into experimental commit 7e1f2568b145fab7db5d8af94e14eb70c4a022ca Author: felix Date: Thu Mar 4 13:05:44 2010 +0100 incorrect change for line-number output in read error/warning commit b9c25de7141d51e1098998d99040580ad4a6d159 Author: felix Date: Thu Mar 4 12:20:44 2010 +0100 make hacked apply optional for mingw/msys builds commit 74119cff5d3abcce7aff3012915467d76bbc6e84 Author: felix Date: Thu Mar 4 09:36:57 2010 +0100 merged some manual changes from wiki commit 5adc06455e6b20258eedbea823623ae8a7644655 Author: felix Date: Wed Mar 3 15:01:52 2010 +0100 removed some unneeded files commit 06299f3813c471e987a10d23d1f6399ae7f5072a Author: felix Date: Tue Mar 2 13:31:21 2010 +0100 qualified core-forms and syntax for if and begin commit d15fc586510da712f86ed5d67f79c312f37659c9 Author: felix Date: Tue Mar 2 12:56:57 2010 +0100 resurected pointer-offset, added unboxing for null-pointer? commit bc0efaf9d8a1a82d00a28b370fc397f39b9f3643 Author: felix Date: Tue Mar 2 12:52:49 2010 +0100 resurrected pointer-offset commit aa0be1fce1804c06b673720244fef4ec2af9fedf Author: felix Date: Mon Mar 1 21:20:25 2010 +0100 somewhat better line-info handling, included files retain source filename, made include syntax expanding into core-form (handled differently by compiler and interpreter), added unboxing for pointer-ops, removed unsafe warning for compiled code in dynamic mode, rewrite rules for lolevel some pointer ops and what the heck else commit 272a01414bf74ea36c3869fdb2036b157edb51be Author: felix Date: Mon Mar 1 14:09:56 2010 +0100 removed glob? commit d6800beb4017c6f07ab511e85543a2d471c26ad6 Author: felix Date: Mon Mar 1 14:09:34 2010 +0100 unboxing only effective in unsafe mode; added unboxed rewrites for pointer ops commit b665092d6fa96375da66aed5df1d39c424f626b9 Author: felix Date: Mon Mar 1 01:40:05 2010 +0100 restrict max size of chicken-status output lines commit d9b21cd0413dd9755109d7962438da4bcceffa93 Merge: 85105ef4 9a3f840b Author: felix Date: Sun Feb 28 23:35:20 2010 +0100 merged master 9a3f840 (pointer+ in lolevel import lib) commit 9a3f840b6dc98986a58411dca15865a05388af7e Author: felix Date: Sun Feb 28 23:33:08 2010 +0100 added missing pointer+ to lolevel import lib commit 9e9905340d73cb6c71545ee73258feebf9fa7da8 Author: felix Date: Sun Feb 28 23:33:08 2010 +0100 added missing pointer+ to lolevel import lib commit 85105ef40050ab69fc09c872c39a340df8e1b7b4 Author: felix Date: Sun Feb 28 22:25:15 2010 +0100 resolved commit in lolevel.scm commit 4ce743a7e4a287b26238c1c7c66be31bad6ed59c Author: felix Date: Sun Feb 28 22:23:38 2010 +0100 bumped version to 4.4.0rc1 commit eb4dc4aba8753330cb1e6e08494c8bf63a2c8abc Merge: 929fa71b ceedfdf7 Author: felix Date: Sun Feb 28 22:22:53 2010 +0100 resolved conflicts commit 14fa9f4e2e3d6821054d2a0b25df58f3a48ee59a Author: felix Date: Fri Feb 26 13:45:05 2010 +0100 -rpath should not be effective on windows commit ceedfdf7f6a37bfffc309f5345e8bbcc7f96debd Author: felix Date: Fri Feb 26 13:34:34 2010 +0100 added missing test-files to manifest; bumped version to 4.3.7 commit 1fc71673073b208177d6a3c2e7cab60ec9f598b7 Author: felix Date: Fri Feb 26 12:01:52 2010 +0100 relative path is allowed for -prefix commit db89f70e04d13ac8911f39fb52228b0edae62791 Author: felix Date: Fri Feb 26 12:01:11 2010 +0100 use C_char instead of char commit 095509cc76f60f4e3554ee5b4202c1e64f1f4f8d Author: felix Date: Thu Feb 25 19:38:12 2010 +0100 C_text casts to char* in C++ mode (groan) commit ffa2a9af8256b4b5c616affd3f377a5f9c7d859d Author: felix Date: Thu Feb 25 18:55:41 2010 +0100 bugfix in csc -deploy commit a3388f627cda013b65f0387f87fa45455623fc1b Author: felix Date: Thu Feb 25 17:28:05 2010 +0100 added -trunk mode to chicken-install (only for local transport), can be used by mini-salmonella commit b3cc898a5175775b7a7e1bbca9b0b686891860a0 Merge: 946e656f c1d87357 Author: felix Date: Thu Feb 25 16:58:47 2010 +0100 Merge branch 'experimental' of /home/felix/chicken/core into experimental commit 946e656f86bf1a0f66ad9416ae8fd6a9b6d95001 Author: felix Date: Thu Feb 25 16:58:23 2010 +0100 clang-specific changes to chicken.h commit c1d8735716332bbb2fadc5e3064bf838c909de95 Author: felix Date: Thu Feb 25 16:21:01 2010 +0100 added missing manual page to manifest commit 1ccb70cb50e9afdf62b2a185110ac2a698b97792 Merge: 2aa701a3 49042434 Author: felix Date: Thu Feb 25 16:13:19 2010 +0100 resolved conflicts; enabled $ORIGIN for openbsd commit 2aa701a3b6b0a0eff301c152e161ba11a515ba95 Author: felix Date: Thu Feb 25 15:57:32 2010 +0100 removed unnecessary test commit 490424343093f233324e42274df9641175ab9b11 Author: felix winkelmann Date: Wed Feb 24 19:29:49 2010 +0100 deployment fixes for Mac commit e07470995153c8aead1daaab42f9f69bb2312432 Author: felix Date: Tue Feb 23 23:15:23 2010 +0100 fixes and enhancements for mini-salmonella; -prefix for chicken-install may be relative; platform meta prop. commit a050591790cd312ace9504c1ccf9899326d72e3a Author: felix Date: Mon Feb 22 21:00:39 2010 +0100 added -deployed to csc; documented deployment (not finished); everything seems to work fine on Linux commit 7e5c04920a7a7776dc393bd495154123269b304b Author: felix Date: Mon Feb 22 12:16:10 2010 +0100 updated bootstrap files commit b8f946bd71a576edae582c2b69e9a0b76867f3b9 Author: felix Date: Mon Feb 22 12:15:12 2010 +0100 this actually has a reason commit 29080c2d70df940db62c6e4c0fbb7322c77487ba Author: felix Date: Mon Feb 22 11:39:39 2010 +0100 bumped vesion to 4.3.6 commit 1d4b209da2210e702017165e3ca154f94d7fcc98 Author: felix Date: Mon Feb 22 11:28:19 2010 +0100 use PATH_MAX instead of MAX_PATH commit 9fb648cb7fe7c53e3a58771d64625b7e725edf60 Author: felix Date: Mon Feb 22 10:09:25 2010 +0100 disabled procedure checks and used fixnum mode for regex unit commit 01806b96aa11b21b9e86929735be567a6fd54d3d Merge: 3c56a566 657179e0 Author: felix Date: Mon Feb 22 09:24:27 2010 +0100 Merge commit 'origin/experimental' into experimental commit 3c56a5665cf9fe6522b4f435b543f34da5e8d3c4 Author: felix Date: Mon Feb 22 09:24:07 2010 +0100 bugfixes in srfi-18.scm commit a0b366c4692145fa8a1fb0b8811c1a0b8610f71d Author: felix Date: Mon Feb 22 09:22:39 2010 +0100 added missing entries in chicken.import.scm for new fp-math ops (thanks to Kon Lovett) commit 572d15fc48c0ff536badb559d32d6139e80e18d3 Author: felix Date: Mon Feb 22 09:19:17 2010 +0100 added missing entry in srfi-18 import lib (thanks to JW) commit e4f7c82f9306b7420599d447b7ff41bf71ef0877 Author: felix Date: Sun Feb 21 17:44:21 2010 +0100 started doc; various fixes commit fae9e090a7959a020a4e13415b9eb39b4c0bba72 Author: felix Date: Sat Feb 20 11:48:08 2010 +0100 only assume freebsd/linux/solaris can handle $ORIGIN commit 7313167f3aae755f4404030efd1ba002ef1df5e3 Author: felix Date: Sat Feb 20 11:46:39 2010 +0100 trivial change commit 657179e0b8a91a4b327700030cac50eb57606326 Author: felix Date: Sat Feb 20 11:43:40 2010 +0100 added mappings for core units to setup.defaults commit c6e57fa85d702b6e3db182128cec81d238b1e0cd Author: felix Date: Fri Feb 19 11:36:40 2010 +0100 various changes regarding deployment for csc and chicken-install commit e78ff953fa241b3d31deda11f1c99a872fdc25c4 Author: felix Date: Fri Feb 19 08:15:22 2010 +0100 scan-input-lines also accepts predicate as first argument commit 4b0e48ac3b59ab66c2eef87f8890a58864362be3 Author: felix Date: Fri Feb 19 08:09:17 2010 +0100 added missing condition-variable-name (thanks to Joerg Wittenberger) commit 7cd76bf1f7d67ec0a972e45779d18e33b0dbc91d Author: felix Date: Thu Feb 18 16:03:23 2010 +0100 use qualified symbol in assignment comment in generated code commit 6497179f056be28460dfa55ffcb79ca8a37a3dbc Author: felix Date: Thu Feb 18 14:17:50 2010 +0100 apply mappings from setup.defaults also to indirect requirements commit 7be8c8ef6b83532c2b2f02f72730ff4908a53f6e Author: felix Date: Thu Feb 18 12:41:42 2010 +0100 fix for PATH walking with -private-repository; fix for incorrectly boxed index for unboxed fXXvector accesses (thanks to Jeronimo Pellegrini); removed use of deprecated glob? provedure commit fbaf8336e81afe5ec56c6e0b94fe6f8ed3251964 Merge: d6eea6fe c3ac6b85 Author: felix Date: Thu Feb 18 10:15:14 2010 +0100 Merge branch 'experimental' of ssh://galinha.ucpel.tche.br/~/chicken-core into experimental commit c3ac6b85dfc171ccb29a57805c967e66d081b3b3 Author: felix Date: Wed Feb 17 16:57:45 2010 +0100 undocd OPTIMIZE_FOR_SPEED; forgot scan-input-lines in utils.import.scm commit 94b60523af8122580f89c8a175bf933b5f4dc3c0 Author: felix Date: Wed Feb 17 16:18:52 2010 +0100 renamed scan-lines to scan-input-lines commit d6eea6fed45fe378d42d041aeb8e3f816fcda05e Author: felix Date: Wed Feb 17 09:04:48 2010 +0100 trivial whitespace in ,r commit 7c27aa0392f1562a5764382b7d03f75f33fd28df Author: felix Date: Wed Feb 17 08:52:52 2010 +0100 fixed problematic test commit e51635e25fa50e0f28e206506ab1beb135c3952f Author: felix Date: Wed Feb 17 07:55:51 2010 +0100 fixed egg mapping commit 53b0d1ef97e6f02d6c0799a792623c7cc2b18b0b Author: felix Date: Wed Feb 17 07:39:43 2010 +0100 new setup.defaults format and egg mappings commit 9812921577b55737bf5ee79af7bf66993e7c74ac Author: felix Date: Wed Feb 17 07:39:26 2010 +0100 same for delete-file* commit 17d9418adacdd03bdc9862d3e93932b4ea1be74c Author: felix Date: Wed Feb 17 07:38:43 2010 +0100 file-deletion and rename returns destination filename commit 04b3b77967ad4b7c573ed59df5926ef0bf8a43d1 Author: felix Date: Tue Feb 16 16:06:36 2010 +0100 core-forms for define-inline and define-constant commit 93eecede6c30e4b1822c6488dafcb1bdd7a6cd58 Author: felix Date: Tue Feb 16 12:29:21 2010 +0100 add note in chicken-config.h when using an optimized build commit fa0501ecade9790b71d458b4d0064aa9e2cd907d Author: felix Date: Tue Feb 16 07:46:27 2010 +0100 added new test files to manifest commit b8f593facfe0bca8adc8004f05baf49ddd43e810 Merge: 8fad80cf 3d35f9fa Author: felix Date: Mon Feb 15 17:32:37 2010 +0100 Merge branch 'master' into experimental commit 8fad80cf0fc99b2718575b3b4445119c253c2324 Author: felix Date: Mon Feb 15 17:18:35 2010 +0100 deprecated glob\?, added scan-lines commit aea2af44fdf3ad733e270021993d88eef0035276 Author: felix Date: Mon Feb 15 13:07:05 2010 +0100 line-terminators commit 5b5364030d3b20abd7543321b70f692f574376e9 Author: felix Date: Mon Feb 15 13:06:48 2010 +0100 line-terminators commit e1d5924215e95880c9fd2e75f59df206ff23187d Author: felix Date: Mon Feb 15 13:06:21 2010 +0100 test-suite fixes commit d91c1be3b7a27f2eb6a0af4deb5cd2842322fa83 Author: felix Date: Mon Feb 15 12:39:03 2010 +0100 was still not right commit 673019cfe7b747efee35b47f68e955824941966d Author: felix Date: Mon Feb 15 12:29:37 2010 +0100 private-repo fixes for generic path walking commit eb4820854a906c4d5cc4c29dd500737a9eeac28e Author: felix Date: Mon Feb 15 12:29:08 2010 +0100 fixed warnings for ctype functions found on NetBSD commit bb7016ac25ee22a7570227f429f5fb7abb5062e6 Author: felix Date: Mon Feb 15 09:51:26 2010 +0100 don't fuck with me, git commit d946386d2bdbf1b93ebb1b2a83c83bd26cc6cf84 Author: felix Date: Mon Feb 15 09:48:29 2010 +0100 applied srfi-18 patch by Joerg Wittenberger commit c4aa5ccdc1502c96305e7b8747ba3a592a371268 Author: felix Date: Mon Feb 15 09:46:04 2010 +0100 windows private repo was still broken commit 5c13af7e87a330f62ebaddf29547a49ebe5c6a6d Author: felix Date: Mon Feb 15 09:32:48 2010 +0100 windows fixed for private repositories commit c74359418a6dce8d5b33f303e71243c27fe2b405 Author: felix Date: Sun Feb 14 13:34:06 2010 +0100 enabled use of -private-repository commit 2849a8ad472c663ae86cdbf6bdc053db5eeb183c Author: felix Date: Sun Feb 14 13:20:36 2010 +0100 - factored out program-path calculation - removed test-chicken.sh script - factored out debug-output routine (everything goes to stderr, now) - added 'g' runtime option (shows GC debugging info) - added tests for symbol-GC and import-forms in `require-extension' commit efbd0df9d2b6294220b8be3a9aae46a13cade8dc Author: felix Date: Sat Feb 13 12:28:35 2010 +0100 private repository path handling, new option to csc commit 622ec81278ce83a6351dd99ba3c265f6bc5d6225 Author: felix Date: Fri Feb 12 16:04:36 2010 +0100 forgot to alias some foreign-XXX-lambda[*] forms commit d0c01383c8cd17bbef340b4ec88f30b92832e884 Author: felix Date: Fri Feb 12 15:46:06 2010 +0100 UNIX API aliases commit 1808896cbb5ae8824eb5c35c217cf21e4cdbf866 Author: felix Date: Fri Feb 12 15:45:07 2010 +0100 PATH walking for getting executable path commit 28347b495e52e06f0f408e8b63ac347feaa8b0d3 Author: felix Date: Fri Feb 12 15:09:36 2010 +0100 added ##sys#path-to-executable (untested) commit 9c60c5cdb3d8ed0cfe650dd78498ca830e5ee006 Author: felix Date: Fri Feb 12 14:23:56 2010 +0100 added internal aliases for some FFI forms commit 74561c9598d0acb97c328f9719827a2989607079 Author: felix Date: Fri Feb 12 10:10:36 2010 +0100 gc symbols in weak mode only if the plist is empty commit 273399bbd1ff54d0eab5334bc7fa072f35de8d6c Author: felix Date: Thu Feb 11 15:13:57 2010 +0100 started support for direct creation of Mac gui apps with csc commit de4c02c94a702ec2fbdf43c089759a44ed6750a3 Author: felix Date: Thu Feb 11 09:38:09 2010 +0100 introduced C_INSTALL_PREFIX, csi report prints some paths commit 3d35f9fa8b316bda61ad6b0b512d623d878f78e4 Author: felix Date: Wed Feb 10 19:16:25 2010 +0100 inverted use of yes-or-no? for no-install case commit 9edaf7d044cac04ece75f0436bcde04d2b96f582 Merge: bd95f13c 560d164c Author: felix Date: Tue Feb 9 11:27:28 2010 +0100 fixed conflicts commit bd95f13ca0013796261d16d9f56568166b69b3a1 Merge: 6597d954 d6ca5e12 Author: felix Date: Tue Feb 9 08:07:02 2010 +0100 Merge branch 'experimental' of c:/users/felix/tmp/../chicken into experimental commit 6597d95480929b43b41caf90f937a35e27f3e05c Merge: cfa7c4de 7d4ad3f1 Author: felix Date: Tue Feb 9 08:06:49 2010 +0100 Merge branch 'no-gui-lib' into experimental commit d6ca5e12a3602052cea6d98f8f5f523828c9f1e4 Author: felix Date: Mon Feb 8 13:52:16 2010 +0100 updated FAQ (gui mode) commit cfa7c4ded513b67a30c8a4c07db952e0359ee4ee Author: felix Date: Mon Feb 8 13:42:11 2010 +0100 removed user-defined extension-specifiers; require-extension handles import forms commit 7d4ad3f1044661505532eb16f624e52265716506 Author: felix Date: Mon Feb 8 12:31:55 2010 +0100 removed libchickengui, libchicken handles distinction at runtime; added -gui to csc and deprecated -W/-windows commit 5ca3094f92b6d0c1e103df0bc0cb7e5ebe6f5e20 Author: felix Date: Fri Feb 5 12:14:07 2010 +0100 strip extensions-specifiers and -ids in require-extension commit 560d164c587f7b6233e7f8e07893cb5c631f468e Author: felix Date: Thu Feb 4 15:40:52 2010 +0100 added missing cast in chicken.h (thanks to Sean D'Epagnier) commit 61f9936ce84c49d21b9476e45cb638661b4bb935 Author: felix Date: Tue Feb 2 15:36:11 2010 +0100 doc fix commit e650a306b3c236697732eaa9f9cc8ea19776848e Merge: 1b253f89 467ab66a Author: felix Date: Mon Feb 1 08:54:21 2010 +0100 Merge commit 'origin/experimental' into experimental commit 1b253f89d8656344c37c9bc95ef25788842e2b97 Author: felix Date: Mon Feb 1 07:18:08 2010 +0100 updated copyrights, README commit 467ab66a73d9d8936e84d2902241588ebb785e99 Author: felix Date: Fri Jan 29 11:49:26 2010 +0100 bumped version to 4.3.5 commit 37781c9d3ddbc94191304083cb80813c35131e24 Merge: 243a89e1 cf528be6 Author: felix Date: Fri Jan 29 11:44:32 2010 +0100 Merge branch 'experimental' commit cf528be6d4e07df7aeb9a76beb2d43b2f3888fc8 Merge: fa3021cc d1b98433 Author: felix Date: Fri Jan 29 11:43:46 2010 +0100 Merge branch 'experimental' of /home/felix/chicken/core into experimental commit fa3021cca1647b3c6005cf43b0ec38e34de063da Author: felix Date: Mon Jan 25 15:16:21 2010 +0100 fixed utime use in posixunix.scm commit d1b984332c72cf7c7b76eee7c91b652bf104e3df Author: felix Date: Thu Jan 28 00:38:48 2010 +0100 fixed use of undefined constant for binary version in eval.scm commit 349d38b1c5370b3ce25edb7f02b7c239224fd06c Author: felix Date: Wed Jan 27 23:37:55 2010 +0100 handle case of undefined C_BRANCH_NAME commit 55f3b29b5706444d1c8d4a68d29356641d2ecdab Author: felix Date: Thu Jan 21 14:26:36 2010 +0100 check filename arg in file-modification-time setter commit c3c499cd7d8445e7b40b81501307dbc324174cd5 Author: felix Date: Thu Jan 21 09:22:36 2010 +0100 added setter for file-modification-time commit 1e5bb5e58ae5a07abd6a64ae9299d8fa0fc70516 Author: felix Date: Tue Jan 19 17:03:51 2010 +0100 -W is only effective on windows commit a30d9d8fe2361b2edf9102c15d9529662dfce7e5 Author: felix Date: Tue Jan 19 14:45:12 2010 +0100 renamed marker commit 7283667e359c597c54e35a0b74b788b0570e7dcd Author: felix Date: Tue Jan 19 14:30:35 2010 +0100 dloading checks whether dll was linked with gui libs; fixed linking of gui-libs in csc commit 243a89e1bbb3fc631e621b54eb628a6a62679665 Author: felix Date: Mon Jan 18 15:42:16 2010 +0100 forgot banner, of course commit 4f4643f33756a7ec23fa9a9b0f984089ec1fc6e0 Author: felix Date: Mon Jan 18 15:32:28 2010 +0100 updated copyrights commit 29d5e7a6018cafef5e60ac4156afabd8af5d1bd3 Author: felix Date: Mon Jan 18 15:22:54 2010 +0100 added aliases to fp-rounding functions, because numbers egg needs them commit 709b1eaf61821679773b65a8568748fcf4d76b42 Author: felix Date: Mon Jan 18 15:09:44 2010 +0100 re-added ##sys#floor, which is needed for numbers egg commit eed01e3ba3e835f4e746a2f9ee249264114e6f01 Author: felix Date: Mon Jan 18 14:05:09 2010 +0100 bumped version to 4.3.4 commit cae038d42c0c0be0eb4703c6be874f323f7f126c Author: felix Date: Mon Jan 18 10:55:50 2010 +0100 fixed unboxing bug (#164) commit 2839224a3ceb7152ca9cae64927b9219f7da8e5d Author: felix Date: Sun Jan 17 00:38:52 2010 +0100 trivial change commit 311bff094b4586ae0581ad44d7e686c5de2b02ad Merge: b6217679 74e04d7c Author: felix Date: Sun Jan 17 00:35:46 2010 +0100 resolved conflicts commit b62176798967c0503bf426b85c3b787ae08718b9 Author: felix Date: Sun Jan 17 00:33:16 2010 +0100 fix for signed number->string conversion (reported by Peter Danenberg) commit b63d1316e319312030993f4737b1e85018899b0b Merge: 59a962f1 c68eef45 Author: felix Date: Sat Jan 16 13:19:45 2010 +0100 Merge branch 'master' into experimental commit c68eef4564ba9fed3e652942f699b9f274c8c977 Merge: 2689b366 2c7c6cca Author: felix Date: Sat Jan 16 12:09:42 2010 +0100 Merge branch 'master' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core commit 2c7c6cca5026c6a3857547a7e1b499fa1e0219e5 Author: felix Date: Fri Jan 15 16:06:07 2010 +0100 fixed construction of dep.-list in chicken-install (#159) commit 74e04d7cf8487ae39c84a3da40c325c9a0740fb2 Merge: da127d36 00e95feb Author: felix Date: Fri Jan 15 16:06:37 2010 +0100 Merge branch 'experimental' of c:/Users/felix/tmp/chicken/core into experimental commit da127d36dd4b5310254ac433402b5b7b87f25062 Author: felix Date: Fri Jan 15 16:06:07 2010 +0100 fixed construction of dep.-list in chicken-install (#159) commit 00e95feb22cfd844d6aea5107faeeded06c3d9d6 Author: felix Date: Fri Jan 15 12:12:15 2010 +0100 updated scripts/README commit 15cce2548fe2fa3ab2412ea9a43bbf0cb3784d61 Author: felix Date: Fri Jan 15 12:09:16 2010 +0100 tweaks to test-chicken.sh commit de17a12cc083a2ab0cac4231c2a66eabb28c7725 Author: felix Date: Fri Jan 15 11:37:56 2010 +0100 added mega-test script commit fe555f97b2229b1a67254aa962555c3f17a12861 Author: felix Date: Fri Jan 15 11:37:00 2010 +0100 removed comment commit 5d76d7e234050ecf7b5599af11c0d0d1a71e123b Author: felix Date: Fri Jan 15 11:12:40 2010 +0100 added option to fetch eggs from server commit 0472b53785526197a14d75d71ecdbe7b7143bfd1 Author: felix Date: Thu Jan 14 12:56:23 2010 +0100 trivial change commit 178546547a43daca424f13aa87807324b7a46ee9 Author: felix Date: Thu Jan 14 10:44:16 2010 +0100 allow extra options to be passed to scheme compiles commit fb423c06afa0a30c1be8040785f0769c459d180b Author: felix Date: Wed Jan 13 21:53:18 2010 +0100 toplevel-alias detection for simple cases commit 55b93b0d373961ea125c62251efe0673934e7943 Author: felix Date: Wed Jan 13 17:44:55 2010 +0100 added some compiler-syntax tests commit c4f4e913e10e6feb71d4ff53421046c63ec0e390 Author: felix Date: Wed Jan 13 11:28:36 2010 +0100 slight compiler-syntax tweaks and more tests commit aa48ba2a0fb40c7f449266c8e5bc5aafdfe644c8 Author: felix Date: Wed Jan 13 11:28:36 2010 +0100 slight compiler-syntax tweaks and more tests commit 5cd6008b06e8455d2c9bb762736debb70ba62853 Merge: 2b565be2 8fd98f50 Author: felix Date: Wed Jan 13 10:53:18 2010 +0100 Merge branch 'master' into experimental commit 2b565be2e648c56338d0b8e8fa0f904175d5a8ed Merge: 926437c6 918d5ccd Author: felix Date: Wed Jan 13 10:52:09 2010 +0100 Merge branch 'master' into experimental commit 8fd98f5083b0f8e53a454d0fcbfdecc59774b34a Author: felix Date: Wed Jan 13 10:51:52 2010 +0100 proper restoration of compiler-syntax; optional removal of the same commit 7fa64f240e47fe34a9915b604e3fe5f43ba9fe75 Author: felix Date: Wed Jan 13 07:25:32 2010 +0100 reverted broken commit and redid change to setup-api commit 836da54ead8b3162b815d1cc2c56fe2163ba1c71 Author: felix Date: Wed Jan 13 07:24:34 2010 +0100 Revert "handle numeric version in upgrade message" This reverts commit 21a4cae9701bf34e87741ac360e4f160da79a739. commit 21a4cae9701bf34e87741ac360e4f160da79a739 Author: felix Date: Tue Jan 12 13:21:47 2010 +0100 handle numeric version in upgrade message commit 8a36e6fd29d5220f74ae447ab3f8a0a6dd31943e Merge: c08efe2b 00569961 Author: felix Date: Tue Jan 12 09:42:50 2010 +0100 Merge branch 'master' of c:/Users/felix/tmp/chicken/core commit c08efe2b8d2dcb339d4d8f9f0bc609bfea13b79c Author: felix Date: Tue Jan 12 09:42:44 2010 +0100 fix for wrong entry in real-name hash-table commit 00569961d38b977872844542ed13d047ebb62795 Author: felix Date: Tue Jan 12 09:26:25 2010 +0100 because it is not that simple as one often thinks commit 918d5ccd05af7d7dc26e048d488db01a27e4483f Author: felix Date: Mon Jan 11 13:15:25 2010 +0100 bumped version to 4.3.3 commit 80f411379bbf77bc1d2748d5abd28e7c7285d81f Author: felix Date: Sat Jan 2 02:28:28 2010 +0100 possible fix for reexport problem commit 146114bd80538e67b30961fba1a4621e47b6ce7c Author: felix Date: Mon Jan 11 08:10:59 2010 +0100 silly commit f3dc35978412af59e4e96fc4a7180dba25692c54 Author: felix Date: Mon Jan 11 08:10:19 2010 +0100 bugfix in chicken-install commit c2e94e1940157222522b308934af20d68fd5814c Author: felix Date: Mon Jan 11 08:04:53 2010 +0100 removed patches commit 6ddfab3d00bc4ef38c59d97c5808010a29fed7e2 Author: felix Date: Mon Jan 11 08:02:30 2010 +0100 simplification in Makefile.mingw-msys commit 926437c672e07f26296d88b4e61e1445afa99e8d Author: felix Date: Mon Jan 11 07:58:43 2010 +0100 hide debugging routine in eval.scm commit 2689b366fd0934d39df674d3ecaa736ecee18089 Author: felix Date: Sun Jan 10 15:27:39 2010 +0100 removed backup file from manifest commit 59a962f1c8bf58ae514e47be7d80bdea7cc67b6a Merge: c0cdcc53 9bf74107 Author: felix Date: Sun Jan 10 13:42:38 2010 +0100 resolved conflicts commit 9bf74107eb94d034dbed2404ca8238530c2a9abf Merge: efe04406 24260dd3 Author: felix Date: Sun Jan 10 13:41:18 2010 +0100 Merge branch 'zbigniew' commit efe044067ffddf99fbda12c36f8e1181e0a02e3f Author: felix Date: Mon Jan 4 09:33:21 2010 +0100 posixwin.c in bootstrap dir was using obsolete identifier commit 0e331c6f3fce7e94cbe815ed830cab3d62c6e0dc Author: zbigniew Date: Fri Jan 8 18:04:05 2010 -0600 Remove remnants of for-each-line / for-each-argv-line commit 24260dd30d387a6b85994cabf636d0eb11669c2b Merge: 12f2d1c3 549f17ca Author: felix Date: Sun Jan 10 13:18:00 2010 +0100 Merge branch 'master' into zbigniew commit 549f17ca363e43c78150e1bd24999ddc30369e1e Author: zbigniew Date: Sat Jan 9 01:25:52 2010 -0600 Remove extra quotes in Makefile.mingw commit 24ee7e193ff1d63f3d5d6e6a03a7e767de37007d Author: zbigniew Date: Fri Jan 8 23:54:49 2010 -0600 Fix find-files on Windows to include directories Synchronized posixwin.scm's find-files with posixunix.scm. Makes find-files execute ACTION for directories, rather than skipping them. commit 474f70666c29fec323d27365b31ba93458446bbf Author: zbigniew Date: Fri Jan 8 15:07:48 2010 -0600 Use all: rule from defaults.make for MinGW commit 12f2d1c38c6f781dfe52500e0c6213b56ba53ebc Merge: f4f2adff 0548541b Author: felix Date: Sun Jan 10 13:09:59 2010 +0100 Merge branch 'master' of git://3e8.org/chicken-core into zbigniew commit f4f2adffa7b8dff128284751a92daa0c89251cf5 Author: felix Date: Sun Jan 10 13:05:37 2010 +0100 added -repository option to chicken-install (thanks to Christian Kellermann) commit c0cdcc5389a8f97ff3482a0b704ba93704f88ef3 Author: felix Date: Sat Jan 9 14:39:04 2010 +0100 fixed silly typo in chicken.h; chicken-install.scm depends on setup-api.c commit 6e404cf65b98fbe8e347c66e1bfa7869c79ee400 Author: felix Date: Sat Jan 9 13:11:35 2010 +0100 forgot to commit commit 03ed75b418d157dff47753774f5ccaf477171292 Author: felix Date: Sat Jan 9 13:10:32 2010 +0100 restrict srfi-69 hash to 32-bit commit 0548541ba5c6c93ebaae78e2e0ee783fd312dc8c Author: zbigniew Date: Sat Jan 9 01:25:52 2010 -0600 Remove extra quotes in Makefile.mingw commit de552df0857e514528adb81b5e3ad344f4b43ecc Author: zbigniew Date: Fri Jan 8 23:54:49 2010 -0600 Fix find-files on Windows to include directories Synchronized posixwin.scm's find-files with posixunix.scm. Makes find-files execute ACTION for directories, rather than skipping them. commit 4c8d3fb0ed11cd3c11487790e969b754a965f959 Author: zbigniew Date: Fri Jan 8 15:07:48 2010 -0600 Use all: rule from defaults.make for MinGW commit 1c7765a5267023aac8506841832a45b0e4d2c7ba Author: felix Date: Mon Jan 4 09:44:40 2010 +0100 removed more traces of chicken-setup commit 321e60a95da0c17bd0693d6231d130dc1dacf5d7 Author: felix Date: Mon Jan 4 09:33:21 2010 +0100 posixwin.c in bootstrap dir was using obsolete identifier commit fc601b5bf3286cd2db694dd9811c9dc25ce7f87b Author: zbigniew Date: Fri Jan 8 18:04:05 2010 -0600 Remove remnants of for-each-line / for-each-argv-line commit e31a3786739837438725dabd8585646fd11d795b Merge: 65c91928 b13bda51 Author: felix Date: Fri Jan 8 15:55:38 2010 +0100 Merge branch 'master' into experimental commit b13bda51bd643c31781dd78482345314b5e1aa37 Author: zbigniew Date: Thu Jan 7 12:52:00 2010 -0600 Hopefully fix unquote-splicing for real commit 65c919288b0d4acba71dde0000cc562dae6e0098 Author: felix Date: Fri Jan 8 11:08:19 2010 +0100 enabled branchname for msys, fix in mini-s., -no-trace for import libs commit be334a8bfbbd152a8dcd17f2f668a0c249c5c9aa Author: felix Date: Thu Jan 7 16:01:02 2010 +0100 more mini-s. tweaks commit 66af4494896e27a174896423667fcfe32456ec6f Author: felix Date: Thu Jan 7 14:49:11 2010 +0100 tweaks to identify-branch commit f67f6c5d8690d38d78118a18d1ae056d6eeb5eab Merge: be8c0e00 6d73344f Author: felix Date: Thu Jan 7 14:20:13 2010 +0100 Merge branch 'experimental' of ssh://galinha.ucpel.tche.br/~/chicken-core into experimental commit be8c0e001ade616355517d4dc59c6fc7438c5e3d Author: felix Date: Thu Jan 7 14:19:01 2010 +0100 mini-salmonella tweaks; added entry in README commit 6fd1299372454078d19e5687d48871129fe29eb5 Author: felix Date: Thu Jan 7 13:18:54 2010 +0100 chicken-uninstall uses glob instead of regex; mini-salmonella fixes commit 47e78e1ea6b0b32065a60ce441645d67a4b6e495 Author: felix Date: Thu Jan 7 12:52:54 2010 +0100 added mini eggtest script; fixed silly bug in chicken-install that forgot to check for -no-install commit 6d73344fb8987b544de2f1636a0a23b5c45e2182 Author: felix Date: Wed Jan 6 18:40:00 2010 +0100 added missing identify-branch script commit 964b51a15a085b416b6c5ca2f36dacb8c0998f33 Merge: 33f30b9c 1efafd06 Author: felix Date: Wed Jan 6 18:20:36 2010 +0100 Merge branch 'experimental' of /home/felix/chicken/core into experimental commit 1efafd06b723cb012dade30e7b3061caf703eede Merge: 68dcd0fb 7d6f1e4f Author: felix Date: Wed Jan 6 18:19:20 2010 +0100 Merge branch 'experimental' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core into experimental commit 8b1b58249ce19147dab69440b731f6a97a37e158 Author: felix Date: Wed Jan 6 15:05:55 2010 +0100 fixed bug in create-directory commit 7d6f1e4f73d6b47b9f7f2cd958a5623dfb0c99d4 Merge: d2f43472 70e091fd Author: felix Date: Wed Jan 6 15:06:03 2010 +0100 Merge branch 'experimental' of c:/Users/felix/tmp/chicken/core into experimental commit d2f43472fb88dde5d0152bcc8fd170284ab8f006 Author: felix Date: Wed Jan 6 15:05:55 2010 +0100 fixed bug in create-directory commit 70e091fdb198e03e62b819e647b7029b6d39cb95 Author: felix Date: Wed Jan 6 08:35:25 2010 +0100 handle installation of deps in no-install mode; removed deprecated setup-install-flag and setup-verbose-flag commit e166fa31dded9de669904848048922ee23921c33 Author: felix Date: Tue Jan 5 13:17:48 2010 +0100 fixed bug in unused-var-removal optimization done the other day commit 004f21c32cc3374c9a342a693b4192b82fa37df9 Author: felix Date: Tue Jan 5 13:17:48 2010 +0100 fixed bug in unused-var-removal optimization done the other day commit 91a088e06eb3125f14cf04c21202db7f2e542416 Author: felix Date: Mon Jan 4 09:51:22 2010 +0100 udated README commit 066d1acc0ea7aa886a5ada78a1835c2279505c0b Author: felix Date: Mon Jan 4 09:44:40 2010 +0100 removed more traces of chicken-setup commit db997a945acee7f230a0e129cc7643cac083eca5 Author: felix Date: Mon Jan 4 09:33:21 2010 +0100 posixwin.c in bootstrap dir was using obsolete identifier commit 0dcb0ac3537eb8af52f09b680038768cb38e44f7 Merge: 673bfc65 becb4609 Author: felix Date: Mon Jan 4 09:17:19 2010 +0100 Merge branch 'master' into experimental commit becb4609bab19e0d6b50d310158fa47a70e5e7b5 Author: felix Date: Mon Jan 4 09:16:39 2010 +0100 again fucking line terminators commit c2b925a47c048811aca694a3e2e704b3e3213d20 Merge: e9956349 0d7d4dec Author: felix Date: Mon Jan 4 09:15:48 2010 +0100 Merge branch 'master' of ssh://galinha.ucpel.tche.br/~/chicken-core commit e9956349195a91f99f341da7c467978794ff7f09 Author: felix Date: Mon Jan 4 09:15:09 2010 +0100 removed obsolete stuff; no more documentation handling by chicken-install; removed chicken-setup stub commit 673bfc65ee108e0e830dd47be6455ae6021ef842 Author: felix Date: Mon Jan 4 09:00:13 2010 +0100 really unixified line-terminators commit 1bec4b6c49c32804c0256ee47d683b500077ccb2 Merge: dce56fc3 21204430 Author: felix Date: Mon Jan 4 08:59:04 2010 +0100 Merge branch 'experimental' of ssh://galinha.ucpel.tche.br/~/chicken-core into experimental commit dce56fc3ba120ebdb40a0d4b4b65de8922ae87ca Author: felix Date: Mon Jan 4 08:57:43 2010 +0100 unixified line-terminators commit 68dcd0fb62dd69012bd551c1fbfc496fe08002f5 Merge: 21204430 0d7d4dec Author: felix Date: Sat Jan 2 02:52:56 2010 +0100 Merge branch 'master' into experimental commit 2120443009d8cadb33a19abd4388ea0d0c8b63a6 Author: felix Date: Sat Jan 2 02:28:28 2010 +0100 possible fix for reexport problem commit 33f30b9c447ca588ee53786c6662d94b51fe5118 Author: felix Date: Fri Jan 1 23:52:16 2010 +0100 identify branchname in banner commit 0d7d4dec7e266152ca2605bb5433493ac0dd9629 Author: felix Date: Thu Dec 31 01:35:19 2009 +0100 fixed typo in NEWS! commit 076d3c14ef009d430fc8cb3458c3a1ecd478c113 Author: felix Date: Thu Dec 31 01:16:13 2009 +0100 proper handling of install_name_tool with unsafe libraries (thanks to Derell Piper) commit 045a0f256d9a5361871cc8fe4d4da52de0fcef75 Author: felix Date: Thu Dec 31 01:06:27 2009 +0100 rename and compare procedures for ER macros handle any sexp commit 9143b062c9e68cb09a7906ee0f4451e7b12a8d62 Author: felix Date: Wed Dec 30 22:56:40 2009 +0100 bumped version to 4.3.2 commit 6757282da6207b345d8bc2c4715603d2ebd25b0b Author: felix Date: Wed Dec 30 22:53:00 2009 +0100 updated NEWS commit d5aaf7621e57adcc27a22d34a393756dcb534d62 Merge: ee85eaec ef4420c6 Author: felix Date: Wed Dec 30 22:28:06 2009 +0100 Merge branch 'experimental' commit ee85eaec3954c36a1d37f7644a5f7520f2a1e283 Author: Ivan Raikov Date: Fri Dec 11 14:08:52 2009 +0900 Consolidated NEWS items for release 4.3.0. commit b015ea54a74dc2b14ac56608836f3df4835d6304 Author: felix Date: Tue Dec 29 01:10:10 2009 +0100 allow ARCH override in config file commit ef4420c6848e7ea5a7817eedb33a742d0a7ce76e Author: felix Date: Tue Dec 29 00:59:33 2009 +0100 trivial fixes commit 37c7156da6c0b23536c031f44a7734a8c6542e84 Author: felix Date: Tue Dec 29 00:17:26 2009 +0100 toplevel assignment-scan extended to check for drop over whole program; emits warning when dropping commit e02aae34c13f67184dcdae2121573eaeb3b3cc0e Author: felix Date: Tue Dec 29 00:04:44 2009 +0100 - removed deprecated chicken option `-quiet' - removed deprecated csc options `-v2' and `-v3' - removed some deprecated runtime functions (`C_callback_adjust_stack_limits' and `C_rereclaim') - removed deprecated declaration `run-time-macros' - removed deprecated function `list-of' from data-structures unit - removed deprecated `stat-...' functions from posix unit - removed deprecated functions `for-each-line' and `for-each-argv-line' commit d62f62357598d22606591e16c731a75cb2d2b7be Merge: 329d798a a326b13e Author: felix Date: Mon Dec 28 23:49:11 2009 +0100 Merge branch 'master' into experimental commit a326b13e3eb338128fd7b79a95a2ab4283ec6901 Author: felix Date: Mon Dec 28 23:46:28 2009 +0100 bumped version to 4.3.1 commit 329d798a8efb2be553d89a89aefb6f6206b507ed Merge: f295b2dd 9570bbb1 Author: felix Date: Mon Dec 28 23:43:46 2009 +0100 merged master commit 9570bbb15e0baf034d3b7b0507d2551afb20c595 Author: felix Date: Thu Dec 24 01:18:37 2009 +0100 changed -k option in csi to -K (thanks to Mario Goulart) commit 896eb83e19c939d41091153bda10aceb8e3482b6 Author: felix Date: Thu Dec 24 00:52:04 2009 +0100 merged wiki changes into manual commit f295b2dd1f994b08a40f53c769a3e809b48e5bee Author: felix Date: Thu Dec 24 00:28:13 2009 +0100 added some more unboxed flonum operations commit 2e7c7540acec014e96c6351dbddbdb002b87c62d Author: felix Date: Thu Dec 24 00:27:33 2009 +0100 deprecated pointer-offset, renamed it to pointer+ commit c6d2abc010fa4e853c6ceb3ed94eca9563555c42 Author: felix Date: Thu Dec 24 00:26:14 2009 +0100 added slatex to test suite commit 2b2fab29c5fdde110f10bc787ecd0cccbc5841fd Author: felix Date: Wed Dec 23 15:03:04 2009 +0100 drop previous safe toplevel assigns if assigned multiple times commit d1b7c9772f3b98459dad946132421816e8af1efe Author: felix Date: Wed Dec 23 15:02:04 2009 +0100 enable unboxing at opt.level >= 4 commit 106b4b7406682c703581fa0d0dc8dfd0a2d3bc4b Author: felix Date: Wed Dec 23 15:01:10 2009 +0100 trivial compiler things commit 39a20164449319603a966ca2d85181ddd9c43656 Author: felix Date: Mon Dec 21 16:05:41 2009 +0100 fixed (?) bug in quasiquote commit ff47f1c2c4cbfed2a3e63be8c9f0906c3144f0dd Author: felix Date: Mon Dec 21 12:15:15 2009 +0100 bumped version to 4.2.15 commit 9b68e65e482cfc2580bffe1d6646ae1accb295dc Author: felix Date: Mon Dec 21 12:13:10 2009 +0100 trivial message being shown commit f88c56121555f66c6892808c7b946b2f73fe126a Author: felix Date: Fri Dec 18 11:16:50 2009 +0100 added fpinteger?; unboxing fixes; renamed unboxing types; removed rewrite-parameters related to obsolete rest-arg-as-vector optimization commit 8a20eb5feafd679c2a456adc1d3ffcfc581a28c3 Merge: 7dd29d66 c9e8464c Author: felix Date: Thu Dec 17 22:05:51 2009 +0100 Merge branch 'master' into experimental commit 7dd29d6698a14991ac410ac26d366118e5244d4b Author: felix Date: Thu Dec 17 22:03:04 2009 +0100 bumped version to 4.2.15 commit d49d5993897756d93c8ca7bc3074e53753b7d8f5 Merge: cc3c804a bc9b4223 Author: felix Date: Thu Dec 17 21:52:25 2009 +0100 Merge branch 'unboxing' into experimental commit bc9b4223d9eb22b40dc25e41e050f4aa68e10b0b Merge: 8043df37 9ea0b69a Author: felix Date: Thu Dec 17 21:51:28 2009 +0100 merged unboxing work commit c9e8464cc99537c41da9aef0eb73a54493f227e5 Author: felix Date: Wed Dec 16 09:42:49 2009 +0100 sorted files in misc/*.files by dependency commit ee5b43f4e8a47937492fa577ca034616eeb3e923 Author: felix Date: Tue Dec 15 16:02:41 2009 +0100 types.db fixes by zbigniew commit f2fbf3ae612773777fc9f809f34c911a2b531741 Author: felix Date: Tue Dec 15 15:11:56 2009 +0100 car is better than list-ref here commit cc3c804a25419f46d20681e17c9f3e8b3763ac0d Author: felix Date: Mon Dec 14 16:49:22 2009 +0100 removed rest-arg-as-vector optimization, since it can conflict with inlining commit 233ecbbdaf83aeb3f55cc873f82dbabd50190c03 Author: felix Date: Mon Dec 14 07:32:27 2009 +0100 removed obsolete control-file declarations commit 9ea0b69a9e6b49e9a64d2ba59e40fcc1d131997f Author: felix Date: Sun Dec 13 12:32:09 2009 +0100 fXXvector-ref unboxed rewrites; rewrites for fpXXX fraction-ops; unboxed fix type is C int; fft is shit-fast commit 0684e04a8a0b6330b538c845f05d9dc68c4d6b20 Author: felix Date: Sat Dec 12 14:56:59 2009 +0100 unboxing improvements; more unboxed primitives commit 6aec5903e05015a77728d24c97227c209be4ee8c Author: felix Date: Fri Dec 11 23:50:34 2009 +0100 fix in unboxing pass (##core#switch default clause) commit 9d409750675486e176546d0de289a081a0cb9223 Author: felix Date: Fri Dec 11 21:31:08 2009 +0100 - handling of '*' unboxed type (untested) - various unboxing fixes commit cb4829ce7b37c911d6518038acbc5e461b4f5f8a Author: felix Date: Tue Dec 8 00:53:09 2009 +0100 added note about unboxing problem with literal arguments commit 3ba051df156cc7c5e9e6c4a31184f23c0885b1cc Author: felix Date: Tue Dec 8 00:47:10 2009 +0100 - added `fpabs' - documented `-debug U' - unboxed rewrites for `fp-' and `fp/' - this still fails: (use srfi-4) (define x 64.0) (pp (fp- 23.4 x)) here an unboxed temporary for `x' is used in the assignment, but it is never introduced through a binding commit 339958acc1054c481ba4a7df8244e88abb36f293 Author: felix Date: Sat Dec 5 21:37:31 2009 +0100 added bootstrap file for unboxing.scm commit 2feb8bb4c7081f2800d60d5fc626a957a45d1fcd Author: felix Date: Sat Dec 5 21:31:44 2009 +0100 added missing file commit 302d4523620162854b8933fb88c0582e63f118e2 Author: felix Date: Sat Dec 5 21:30:57 2009 +0100 incorporated unboxing patches commit 2995b0c820cb9a28172a18f31e6f2980bb30d8f7 Author: felix Date: Fri Dec 11 11:24:21 2009 +0100 wiki2html tweaks commit 9ba41daed4e39322013c10abae1a730af0e355d9 Author: felix Date: Fri Dec 11 09:22:10 2009 +0100 bumped version to 4.2.14 commit 929fa71b3e584291e8733d6b57f27437b5d0cadc Author: felix Date: Fri Dec 11 09:20:10 2009 +0100 added move-memory fix to NEWS commit 88455c3c22578a8fc74512aedbf32bd7f9e24c58 Merge: c9ece0ac 70a7b4dd Author: felix Date: Fri Dec 11 09:18:08 2009 +0100 Merge branch 'prerelease' of ssh://galinha.ucpel.tche.br/~/chicken-core into prerelease commit c9ece0acc497d3247c83fb3ab5feeb3d55f744ec Author: felix Date: Thu Dec 10 09:59:05 2009 +0100 handling of negative offsets in move-memory\! commit ece85f720064a5ca523c072279f017308e3b8efe Author: felix Date: Fri Dec 11 09:16:32 2009 +0100 tools.scm: no color-output on mingw commit fbc6dda24fcd7b3a95771b56c2eee7144dfce7d6 Author: Ivan Raikov Date: Fri Dec 11 14:49:37 2009 +0900 updated release version to 4.3.0 commit 70a7b4dd05926bee498188e7c80cb8d67aa4ef70 Author: Ivan Raikov Date: Fri Dec 11 14:08:52 2009 +0900 Consolidated NEWS items for release 4.3.0. commit 9767d784c45621732bbdd080260cfc011cd5da7b Author: felix Date: Thu Dec 10 16:22:47 2009 +0100 - deprecated `define-compiled-syntax' - `define-syntax' is now a core macro and can be renamed and reexported commit 5dccc269dcae32ce907c837135c75b47a36ee575 Author: felix Date: Thu Dec 10 16:21:55 2009 +0100 C_COMPILER_OPTIONS can be overridden in config-file commit 72be4d4334280a8bcd83a91253295fb8e32debd7 Author: felix Date: Thu Dec 10 09:59:05 2009 +0100 handling of negative offsets in move-memory\! commit f3a6db0236151266638ed683789ec98d4796b127 Author: felix Date: Wed Dec 9 12:14:17 2009 +0100 build-system fixes for handling whitespace in installation-directory names commit 94b36089295984e3de09ac903625a68abdc465b5 Author: felix Date: Wed Dec 9 09:20:13 2009 +0100 fixed bug in mingw makefile commit 2690bcf21931a34a5357f7d4e0967dd6b57fc36d Author: felix Date: Wed Dec 9 09:26:42 2009 +0100 resolved conflict commit 0ad84ca3d1cad42eabaaacac35530931f0e7a1e6 Author: felix Date: Wed Dec 9 09:20:13 2009 +0100 fixed bug in mingw makefile commit 45564ef033d5f3ceaf37f5b2954e2a75b7687b66 Author: felix Date: Wed Dec 9 09:17:30 2009 +0100 fixed incorrect macro name in posixwin commit 8b9355913f45081856f0a30502fc807d2324ae61 Author: felix Date: Tue Dec 8 15:20:43 2009 +0100 slightly less verbose benchmark in tests commit afd5667894177e5809ed61e3e261f14c26aa376e Author: felix Date: Tue Dec 8 10:09:36 2009 +0100 added missing entry in manifest commit ba2ab07e3919585d015e90b4cab206d7f89e7e5e Author: felix Date: Tue Dec 8 10:09:36 2009 +0100 added missing entry in manifest commit 8043df37873de70b3fad0944e7cd3a6a44f9d758 Author: felix Date: Tue Dec 8 00:53:09 2009 +0100 added note about unboxing problem with literal arguments commit 32f975948e9a18a9f1593c7689b4e8f3c3a36fbc Author: felix Date: Tue Dec 8 00:47:10 2009 +0100 - added `fpabs' - documented `-debug U' - unboxed rewrites for `fp-' and `fp/' - this still fails: (use srfi-4) (define x 64.0) (pp (fp- 23.4 x)) here an unboxed temporary for `x' is used in the assignment, but it is never introduced through a binding commit d9aa3f3f62c868ad417c54eae1d9b8e57609c301 Author: felix Date: Sun Dec 6 14:06:50 2009 +0100 manual fixes commit fb2899f1f982e46efb89ffeca24df9b37e2176e4 Author: felix Date: Sun Dec 6 13:26:07 2009 +0100 Incorporated changes from the wiki-version of the manual (patch provided by zbigniew) commit 494d8057ef468029a1e69bd98c9f416a3e6e8b64 Merge: 3bfcae27 54fc7dfd Author: felix Date: Sun Dec 6 14:17:25 2009 +0100 Merge branch 'unboxing' of /home/felix/chicken/core into unboxing commit 3bfcae274e2e041b5532fb29c1da8217a08a6157 Author: felix Date: Sat Dec 5 21:37:31 2009 +0100 added bootstrap file for unboxing.scm commit 00eea51028ae8f78569a1cf445ffda662544997b Author: felix Date: Sat Dec 5 21:31:44 2009 +0100 added missing file commit 8a09e8803e2084d32e4ca64fb5e609c1e3113284 Author: felix Date: Sat Dec 5 21:30:57 2009 +0100 incorporated unboxing patches commit ffd5cfbe120bf57206b21362998560927b0df28c Author: felix Date: Sun Dec 6 14:07:17 2009 +0100 converted some runtime C functions to inline versions and moved them to chicken.h commit f1775c3e699991b64a30e7dc3915fc8da5e2d427 Author: felix Date: Sun Dec 6 14:06:50 2009 +0100 manual fixes commit 434e6446d54fdf7c9a0371d1c9111c97ad186b0a Author: felix Date: Sun Dec 6 13:26:07 2009 +0100 Incorporated changes from the wiki-version of the manual (patch provided by zbigniew) commit e7128b2f0c282545a32fab6e19610f1eaff3fed1 Author: felix Date: Sun Dec 6 13:16:25 2009 +0100 trivial changes commit 54fc7dfd052b1dd214d1a8d850f65f42c3aab49c Author: felix Date: Sat Dec 5 21:37:31 2009 +0100 added bootstrap file for unboxing.scm commit c6cc7ac650734fdcca3d3d68e84d577558fad018 Author: felix Date: Sat Dec 5 21:31:44 2009 +0100 added missing file commit 91267288baf5dcc97c601807007488bfd61c76f6 Author: felix Date: Sat Dec 5 21:30:57 2009 +0100 incorporated unboxing patches commit 0e95d304d4e774b5814c8e3d6721e52c07d9cffa Author: felix Date: Sat Dec 5 21:02:41 2009 +0100 making clean didn't remove setup-module import-libraries (thanks to Peter Bex) commit 608a56543f62877aed7e76b14849f5a977dfe3dd Author: felix Date: Sat Dec 5 21:02:41 2009 +0100 making clean didn't remove setup-module import-libraries (thanks to Peter Bex) commit e00ee5744fdbc786775297e84a3650788aaef2dc Author: felix Date: Sat Dec 5 19:55:31 2009 +0100 updated version to 4.3.0rc1 commit 3d9ac22b4ac0d0e11e5cc491780d2f67f94dfe72 Author: felix Date: Sat Dec 5 19:45:52 2009 +0100 - replaced bootstrap-tarball with set of files in `bootstrap' - bumped version to 4.2.13 commit f3bf5587e7875730632ee214369ce9262580a195 Author: felix Date: Fri Dec 4 21:36:35 2009 +0100 updated bootstrapping tarball commit 870cbbc082ed4970324fecd11c4e21b0f710a155 Merge: 95fe2be5 cdeedb65 Author: felix Date: Fri Dec 4 20:52:44 2009 +0100 Merge branch 'fpcleanup' commit cdeedb654ac0086d715152f26597c7c4f876c28b Author: felix Date: Fri Dec 4 20:52:06 2009 +0100 added inline macro commit a1a5e4b8c7de7ceb861871e28e353ac4e55900d8 Author: felix Date: Fri Dec 4 20:21:42 2009 +0100 fp-op rewrites, new srfi-4 test, much better implementation of fvector access commit 95fe2be5cd039435f9c3139ba68812e58e61a8d7 Author: felix Date: Fri Dec 4 18:46:19 2009 +0100 replaced non-ASCII character in NEWS commit 6832900e74c3c719ecc2fc3800416ce0cd38151c Author: felix Date: Thu Dec 3 20:15:38 2009 +0100 trivial changes commit 978ed01f2b2775f654e7c3311c6a73395806302a Author: felix Date: Thu Dec 3 19:57:28 2009 +0100 fixed warnings in posixunix.c; -:d shows number of collection on normal exit commit fcc7e346c63e24be91337df9a3ad30d0c5360144 Author: felix Date: Thu Dec 3 19:21:29 2009 +0100 fpmath fixes; added tests for fp-ops commit cabb7897b5111c4b91a77e09dafcd315d57fa651 Author: felix Date: Thu Dec 3 18:25:56 2009 +0100 heavy cleanup in fp-primitives; added more fp-specific operators; removed various library routines commit d9eac1cc38dac0ac2deb888c1089068aef4ee47b Author: felix Date: Thu Dec 3 17:20:13 2009 +0100 removed obsolete build option in config.make commit c57ec38e126d812e1c3fbf1ddff41883de5a7338 Merge: 67b43481 cd56845c Author: felix Date: Thu Dec 3 17:17:18 2009 +0100 resolved conflicts commit 67b43481415918b74e09639d6058d40dd7d9f586 Author: felix Date: Sun Nov 22 12:37:35 2009 +0100 replaced silex with feeley's compiler commit cd56845ca8dd35dfaaea31d4ab3603edbec6d325 Author: felix Date: Wed Dec 2 19:11:37 2009 +0100 marked candidates for inlining commit 61f45f868f83c08fb4f88d8c8ce3bf64a32c4413 Author: felix Date: Wed Dec 2 14:24:12 2009 +0100 possible fix for optimizer bug in #138 commit e880040ee0834b2a2cbf33f66a566042e0950336 Author: felix Date: Wed Dec 2 14:23:48 2009 +0100 manual type commit bc31b6a57f81366fc7077e9d56049d72180c0ffb Author: felix Date: Tue Dec 1 11:27:22 2009 +0100 removed TODO commit c8a25dc4445926eccfbc9343c78491e8d27381d6 Author: felix Date: Tue Dec 1 11:25:49 2009 +0100 removed applyhook and tracing and breakpoint facilities; bumped version to 4.2.12 commit be5d58a99068b1c68c0a73e403817fad658b540a Merge: 911872af 7648a4e2 Author: felix Date: Tue Dec 1 09:52:56 2009 +0100 merged master into private commit 7648a4e274f1ef780d8d71053a509d90f64d4b57 Author: Felix Date: Sun Oct 11 11:37:44 2009 +0200 removed trace operations from manual commit 7ca8d7e927ec67a4872d0c2ab741dd00a04d9ef5 Author: Felix Date: Sun Oct 11 11:37:06 2009 +0200 remove tracing facilities from csi - this can be done better using the advice egg commit 780ea33e42803be571aea76ab98a78d7c9b5d86f Merge: 768d1905 529032c1 Author: felix Date: Mon Nov 30 20:21:36 2009 +0100 Merge branch 'master' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core commit 768d1905646e9e1dee9b338d78d4b8e77b8eecd0 Author: felix Date: Mon Nov 30 20:21:11 2009 +0100 added default config build-parameter file (config.make) and bumped version to 4.2.11 commit 57cd52d63de54f80dbcc22f089d9e15debad8f22 Author: felix Date: Sat Nov 28 22:18:37 2009 +0100 include default config file in Makefile, if no CONFIG or PLATFORM given commit 529032c1d98cf5eda3caeb80bcf46dfaa7fff28f Author: felix Date: Wed Nov 25 10:10:35 2009 +0100 reverted incorrect merge commit db019f7c25c47c463c89fa49d6fd90fdcf02424e Merge: 895a4d51 44c52edc Author: felix Date: Wed Nov 25 10:05:47 2009 +0100 Merge branch 'pending' of ssh://galinha.ucpel.tche.br/~/chicken-core commit 895a4d51277071deee6cfe0f0e2a04f0bc10813e Author: felix Date: Wed Nov 25 10:05:13 2009 +0100 proxy-support for chicken-install (suggested by Nicolas Pelletier) commit 3f9fd398b5314a0d1e8b6e90383134d758f7e95d Author: felix Date: Mon Nov 23 18:01:33 2009 +0100 bumped version to 4.2.10 commit 62fbbf0c10b76bac1079898796481bf8d602866c Author: unknown Date: Thu Nov 5 09:52:10 2009 +0100 removed benchmark mode, added -O5 Signed-off-by: felix commit 2097ada70c88406411f4a76bc9590e2fc79a7f6e Author: Felix Date: Sun Nov 8 00:50:31 2009 +0100 removed obsolete files; removed elisp files; minor cleaning up Signed-off-by: felix commit 0a39b152e877caff7875784a163f08516992156e Author: Felix Date: Sun Nov 8 00:13:43 2009 +0100 removed meaningless benchmarks and replaced them with two real ones; also did some test-suite cleanups commit ab3f895fe7fd3ff84a1e38fef4d79349a699e0cd Author: felix Date: Mon Nov 16 10:37:14 2009 +0100 don't use backdoor to tinyclos for instance foreign type Signed-off-by: felix commit 2b119e431fed2f2e3fd352bea0446849aa21e4f9 Author: Felix Winkelmann Date: Wed Nov 11 05:40:15 2009 -0200 fixed bug in rules.make Signed-off-by: felix commit 5599f26f0761791d4940a82f674a46eb5eb8b996 Author: unknown Date: Wed Nov 4 09:49:01 2009 +0100 allow using config-file for make variables commit 505ec20962cab7c54baa86c37a525ce525a4c40c Author: unknown Date: Tue Nov 3 23:53:32 2009 +0100 handle non-atomic operator in function call generically by introducing temporary Signed-off-by: felix commit 6e9a12de515b8c31710e1eaa53b515c7667eb915 Author: unknown Date: Fri Oct 30 12:43:17 2009 +0100 removed remaining references and support code for breakpoints; removed uses of NOAPPLYHOOK in makefiles Signed-off-by: felix commit d8c60219874deef3555b16e0b64581f2e97548b2 Author: Felix Date: Sun Nov 8 00:59:33 2009 +0100 import lib only generated if changed Signed-off-by: felix commit b6eeedccc7bcb10856da9d196f25106bbbc05450 Author: felix Date: Thu Nov 19 18:38:57 2009 +0100 synrules use internal form of syntax Signed-off-by: felix commit 03934486747ea87d36bb0c7844a93448f63d375d Author: felix Date: Mon Nov 23 01:44:47 2009 +0100 cond-expand should strip f-ids (reported by Thomas Bushnell) Signed-off-by: felix commit 44c52edc17c6354f7d6bbd8aeacde4286b2ebca0 Author: felix Date: Mon Nov 23 01:44:47 2009 +0100 cond-expand should strip f-ids (reported by Thomas Bushnell) commit eeefc0a298e0a909801f085523d172c9987f6857 Author: felix Date: Sun Nov 22 11:18:17 2009 +0100 bumped version to 4.2.9 commit a263b3cec246939354f3459d16f45f69db15e02a Author: felix Date: Sat Nov 21 13:19:40 2009 +0100 removed read-syntax for 'syntax' Signed-off-by: felix commit 518dbf433ceb8b29a4b5aeddc7d6b19cee0ba15a Author: felix Date: Fri Nov 13 16:13:54 2009 +0100 added import-only extension property Signed-off-by: felix commit 3de97278e21c980cd4b9d57dc584c4d0da8d924e Author: felix Date: Tue Nov 17 13:39:01 2009 +0100 documented optional args to seconds->XXX Signed-off-by: felix commit cd7d9d6cf1ac0fb2ec1a02a9c23362edd72797ac Author: felix Date: Mon Nov 16 11:37:02 2009 +0100 make seconds argument to seconds->... procedures optional (suggested by mario) Signed-off-by: felix commit 6804642f44ab01fcbb49451dcf1997cc513c85e1 Author: unknown Date: Wed Nov 11 09:14:55 2009 +0100 updated entry for grep in types.db Signed-off-by: felix commit 508ed475235b8367db2bfcc671b3c95ac63d85ef Author: Felix Date: Wed Oct 14 14:59:13 2009 +0200 Added optional argument to grep function in regex unit [suggested by Tony Sidaway] Signed-off-by: felix commit 75abaae87b42125a88f1ab55a974f4603d597b04 Author: felix Date: Sat Nov 21 13:19:40 2009 +0100 removed read-syntax for 'syntax' commit 0b121bcabd4a5354f5c6a86cb223fa7ae2041e17 Author: felix Date: Thu Nov 19 18:38:57 2009 +0100 synrules use internal form of syntax commit 766003feea6c12ee68b497a2a9ac4163b087f160 Author: felix Date: Mon Nov 16 10:37:14 2009 +0100 don't use backdoor to tinyclos for instance foreign type commit f8e63d971c2e98279194299f8af1fd92c5713911 Author: felix Date: Sat Nov 21 12:46:43 2009 +0100 updated NEWS commit c21369188d5452626e89ac16fa21801dd010c6b2 Author: felix Date: Sat Nov 21 12:46:14 2009 +0100 bumped version to 4.2.8 commit 4514731d7dd7688d35ee4767c35b29c6ce4eff0e Author: unknown Date: Tue Oct 20 11:51:45 2009 +0200 process-execute on windows didn't handle case of missing arglist argument Signed-off-by: felix commit 93f6984794d426ffb0f384296b5aa9f40c7e8e02 Author: unknown Date: Mon Oct 19 12:12:46 2009 +0200 henrietta shows version in comment marker; removed unused ##sys#syntactic-environment? Signed-off-by: felix commit 908fa2eedbeb450ebd788d8ea09021add4c9e6e2 Author: Felix Date: Thu Nov 12 20:30:57 2009 +0100 use distinct condition kind for tcp timeouts Signed-off-by: felix commit a8b1663f131c8cea394b70d7c3bc888982db09c8 Author: unknown Date: Fri Oct 30 09:49:15 2009 +0100 fixed bug in get-condition-property Signed-off-by: felix commit 49489e99244a38923fc91fdb70ed7276e14eb638 Author: felix Date: Fri Nov 20 15:39:01 2009 +0100 bumped version to 4.2.7 commit eaeaf6d4f130c44fec61bce583b69f67f5cd794b Author: felix Date: Thu Nov 19 17:20:29 2009 +0100 -force should override chicken-version check in chicken-install Signed-off-by: felix commit c24086037dc06a759e76005ebb9881e647d28dc1 Author: unknown Date: Thu Oct 29 09:32:00 2009 +0100 installation-prefix is always valid Signed-off-by: felix commit a4745f89cced4fbf91e936e1f5121459c6499f32 Author: unknown Date: Thu Oct 22 11:46:23 2009 +0200 disabled e-mail transmission in chicken-bug Signed-off-by: felix commit 02d01d66783b4a0338e59aa130213bd08002b8a5 Author: Felix Date: Sun Nov 1 00:02:00 2009 +0100 chicken-install should not use setup-mode when cross-compiling Signed-off-by: felix commit 53594a5316e116680c5e92b48494f42c84887f41 Author: felix Date: Fri Nov 13 16:19:24 2009 +0100 standard-extension should use keyword args Signed-off-by: felix commit 979068fff282f7f161a6b0252a71e6df7271141d Author: Felix Date: Sun Nov 8 00:34:19 2009 +0100 fixes for setup-api procedure 'standard-extension' Signed-off-by: felix commit 4181d474fb1f5fa451f092b894c85b9d6d20ffca Author: felix Date: Thu Nov 19 17:20:29 2009 +0100 -force should override chicken-version check in chicken-install commit 2317d74881ee98534cb18c5f47b3eb93a21933bc Merge: d3987ff8 f5ec0024 Author: felix Date: Thu Nov 19 17:15:56 2009 +0100 Merge branch 'master' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core commit d3987ff8d5607544625aa471bd287af02edce148 Author: felix Date: Thu Nov 19 17:15:02 2009 +0100 bumped version to 4.2.6 commit 010f2c069c2e347660b79802b0af809f1f7279f1 Author: unknown Date: Mon Oct 19 14:21:51 2009 +0200 possible fix for reexport bug; no timing output for benchmarks in test suite Signed-off-by: felix commit f5ec002480964048880a3de6fd78609400a43647 Author: felix Date: Wed Nov 18 17:29:33 2009 +0100 added documentation for let-compiler-syntax commit 0d40564d6a2abca4a68f906cfbfaffdbceab28ae Author: felix Date: Wed Nov 18 12:30:18 2009 +0100 slight rewording and example in manual for define-compiler-syntax commit 7cad910cdf8acc419c8a6fe663f1789f0e556990 Author: felix Date: Wed Nov 18 10:35:28 2009 +0100 added note in doc for define-compiler-syntax; updated NEWS commit 606461bd250245cac4a8a8738a9cc8a98ea28057 Author: felix Date: Wed Nov 18 10:17:24 2009 +0100 documented compiler syntax commit 67332101f008d672bc5cb63fd140ae7461af9e7a Author: felix Date: Wed Nov 18 08:34:27 2009 +0100 bumped version to 4.2.5 commit cbe42442f1e1bd0a0e05bbb48e0fded7b12d9add Author: Felix Date: Sun Nov 8 00:02:39 2009 +0100 fixed bug in optimizer reported by Joerg Wittenberger (#99) Signed-off-by: felix commit 1e76c412ae73c5262a076c2188b23d09a4782c7c Author: felix Date: Tue Nov 17 13:39:01 2009 +0100 documented optional args to seconds->XXX commit 03ef45962b10183aa7e6c925e93f26b75cfd7e98 Author: felix Date: Mon Nov 16 11:37:02 2009 +0100 make seconds argument to seconds->... procedures optional (suggested by mario) commit 911872af4f83ff31e7368b43d4adbaa5789877a5 Author: felix Date: Mon Nov 16 11:37:02 2009 +0100 make seconds argument to seconds->... procedures optional (suggested by mario) commit b1ccc50a0746102c8dd73ad2fc50682a4caa9900 Author: felix Date: Mon Nov 16 10:38:04 2009 +0100 updated TODO commit 5b09da9117edcc3c80d45d1ef08b788bed42ddf1 Author: felix Date: Mon Nov 16 10:37:14 2009 +0100 don't use backdoor to tinyclos for instance foreign type commit ca4ba3ffe8de408ceecd3c74c2dcdb1247807624 Author: felix Date: Fri Nov 13 16:21:33 2009 +0100 updated TODO commit e5c59af14c2c01b2c7d51944d67e6e7099a47407 Author: felix Date: Fri Nov 13 16:19:24 2009 +0100 standard-extension should use keyword args commit 78a1d9712a7c1c1d432cf3ba587dcb44c651ef82 Author: felix Date: Fri Nov 13 16:13:54 2009 +0100 added import-only extension property commit b1cc359d8288253993460eb771259c3a42593c02 Author: Felix Date: Thu Nov 12 20:30:57 2009 +0100 use distinct condition kind for tcp timeouts commit d8bcbdc3f1a25c873a3fb664e3a82e9d1b72073d Author: felix Date: Fri Nov 13 16:01:07 2009 +0100 updated TODO commit 5882660b749ec566801c40523b6370fdecbd59a8 Merge: f8de10b1 9b0b862d Author: felix Date: Fri Nov 13 15:59:22 2009 +0100 Merge branch 'private' of ssh://galinha/~/chicken-core-private into private commit 9b0b862d9d4e389cbdc9edddb65645114c4d0555 Author: Felix Date: Thu Nov 12 20:30:57 2009 +0100 use distinct condition kind for tcp timeouts commit 917f251affacbd4822dcbac2bf149d2668458a83 Author: Felix Date: Thu Nov 12 20:12:58 2009 +0100 added note about OPTIMMIZE_FOR_SPEED and gcc 4.4 brokenness commit a8b3b99482439ac946057caa717df5536be5d385 Merge: 8350e028 005f70c2 Author: Felix Date: Thu Nov 12 20:08:31 2009 +0100 Merge branch 'private' of ssh://felix@galinha.ucpel.tche.br/~/chicken-core-private into private commit ce4c96819da9119cca3450c4ea3612c5b8d90b19 Author: unknown Date: Wed Nov 11 09:14:55 2009 +0100 updated entry for grep in types.db commit 952a3f362e6b71eef26f96aec8be167ebc1d9593 Author: Felix Winkelmann Date: Wed Nov 11 05:40:15 2009 -0200 fixed bug in rules.make commit f8de10b1a0a4fe545134c66c818edd710406f3d3 Author: unknown Date: Wed Nov 11 09:14:55 2009 +0100 updated entry for grep in types.db commit 005f70c268870492bddebb955f8895644f12e3a9 Author: Felix Winkelmann Date: Wed Nov 11 05:40:15 2009 -0200 fixed bug in rules.make commit 8f37c692cfc1f9090f9193db3af5a033fa59f0e8 Author: Felix Date: Mon Nov 9 23:02:08 2009 +0100 updatedv version to 4.2.4 commit 2d3a0491b38715f818db64b7dbaf036ec81e403a Author: Felix Date: Mon Nov 9 22:54:13 2009 +0100 updated NEWS commit 8350e028cd7eb82e77d8a5eef7d634546d7a3e16 Author: Felix Date: Mon Nov 9 22:44:40 2009 +0100 added comment (whoa) commit 5b238ddc2d7e8972912585f59bc78ce20a8e9d1e Merge: 123f9067 64234726 Author: Felix Date: Sun Nov 8 01:24:45 2009 +0100 Merge branch 'pending' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core into pending commit 43a11082ddc109bfe1b4fdb400b6079ca64d024a Merge: 0e4c415e f0f3ea5b Author: Felix Date: Sun Nov 8 01:23:56 2009 +0100 Merge branch 'master' of ssh://chicken@galinha.ucpel.tche.br/~/chicken-core commit 9ec1a9a9dd0bca236b60edc3e638c0fd66ab7508 Author: Felix Date: Sun Nov 8 01:22:42 2009 +0100 updated TODO commit 123f90677bc4deed5f7b9ca3dc18a7e19220073d Author: unknown Date: Tue Oct 20 11:51:45 2009 +0200 process-execute on windows didn't handle case of missing arglist argument commit 49c33b1401eb859ddcaab090b70beccb95e70b3d Author: unknown Date: Thu Oct 29 09:32:00 2009 +0100 installation-prefix is always valid commit fb0304220af9473b18e238dbecf88bac25491f27 Author: unknown Date: Tue Nov 3 23:53:32 2009 +0100 handle non-atomic operator in function call generically by introducing temporary commit c8e248a2a6b8258c51d2f8f994507c6d6c573e09 Author: unknown Date: Wed Nov 4 09:49:01 2009 +0100 allow using config-file for make variables commit a8438327a114280f333d0ea97ed2e8665cb262e4 Author: unknown Date: Thu Nov 5 09:52:10 2009 +0100 removed benchmark mode, added -O5 commit 09af195f51aca523b2b1bf6c4dffedc347e9ed72 Merge: 864713b7 0e4c415e Author: Felix Date: Sun Nov 8 01:07:13 2009 +0100 Merge branch 'master' into pending commit 0e4c415e17e80491f7f760a028263c819ffe6807 Author: unknown Date: Thu Nov 5 09:50:58 2009 +0100 NEWS restored (will be done later); fixed missing entry in manifest commit 8451f45aea53833b534dc3740df026fffa78579e Author: unknown Date: Tue Oct 27 11:17:23 2009 +0100 CHICKEN_yield callback should use internal ##sys#thread-yield commit 9469cd87e18a957eaa4e8c829d9ce78151c62d6a Author: unknown Date: Mon Oct 26 15:21:06 2009 +0100 printer for hash-tables shows current size commit 864713b7dc84d9df5f30cf10dd6b2fee2b0335c1 Author: Felix Date: Sun Nov 8 00:59:33 2009 +0100 import lib only generated if changed commit 0eea8c9c93dee287694674b8b1246f7a11262f4d Author: unknown Date: Thu Oct 22 09:40:10 2009 +0200 upgrade message in setup-api shows version (thanks to ckeen) commit a02ad8dd2af1a93ab57004372cc109bec5c03070 Author: Felix Date: Sun Nov 8 00:50:31 2009 +0100 removed obsolete files; removed elisp files; minor cleaning up commit c5fdd4fe0583d50ad48ae7c7b9bbe494815379c4 Author: Felix Date: Sun Nov 8 00:34:19 2009 +0100 fixes for setup-api procedure 'standard-extension' commit 2fe53300a5318ceb4e451df44ab0a5018e33bbeb Merge: e8e3b17b ef5ebf95 Author: Felix Date: Sun Nov 8 00:32:23 2009 +0100 Merge branch 'master' into pending commit ef5ebf95e01479c1bca667d7307e3f56cd7763f8 Author: unknown Date: Mon Oct 26 08:50:50 2009 +0100 -debug S instead of -debug C commit 664e83c462717d97eb50885d01ae43e778bf586d Author: Felix Date: Sun Oct 25 13:05:07 2009 +0100 -debug C for compiler syntax commit e8e3b17b65f9921c3277f0768e757d2f03121fd9 Author: Felix Date: Sun Nov 8 00:13:43 2009 +0100 removed meaningless benchmarks and replaced them with two real ones; also did some test-suite cleanups commit 5c851ce643b4cd995c7fd467162efdc922c61b83 Author: Felix Date: Sun Nov 8 00:02:39 2009 +0100 fixed bug in optimizer reported by Joerg Wittenberger (#99) commit 7e98f03d5fe30db6b328df0fc3a4b3b4054d9812 Merge: 7d994a90 9fa79d4c Author: Felix Date: Sat Nov 7 23:44:10 2009 +0100 fixed conflicts in TODO commit 7d994a904e71d0fadd39afd92c13d84976767ec0 Author: Felix Date: Sat Nov 7 23:42:47 2009 +0100 cleaned up TODO commit 9fa79d4c40afdd57d7681715b527159f3afb80a0 Author: unknown Date: Fri Nov 6 10:42:49 2009 +0100 updated TODO commit 90b3408415c5c4687e64d0b5edbc4277d5846d4f Author: unknown Date: Thu Nov 5 12:06:37 2009 +0100 fixes in makedist script commit 23cebadc9e30dba8c7ec257444a6fb23040a488f Author: unknown Date: Thu Nov 5 11:17:12 2009 +0100 removed debugging output in support.scm commit 0d258908a522c5ad83cc238eb6b4f3276e0b6c3b Author: unknown Date: Thu Nov 5 11:16:49 2009 +0100 removed obsolete stuff in rules.make commit 1fe3a8eb634b800c3846a55bb643d0bdaed6d0cd Author: unknown Date: Thu Nov 5 09:58:09 2009 +0100 TODO update commit c0a0986acd92cb7301954ea20caf41e384d54269 Author: unknown Date: Thu Nov 5 09:54:21 2009 +0100 updated version commit bf5c355fd8f3e81798d0072370fd51459d38a2f1 Author: unknown Date: Thu Nov 5 09:53:42 2009 +0100 fixed bug in optimizer (#99) (reported by Joerg Wittenberger) related to inlining commit 8241daf4d4428a9536b9029061ba3a7044016e19 Author: unknown Date: Thu Nov 5 09:52:39 2009 +0100 tests fixes, run fft in unboxed mode, too commit ec3069d12920cefa4f5865b6ff11f105d3b1c33e Author: unknown Date: Thu Nov 5 09:52:10 2009 +0100 removed benchmark mode, added -O5 commit 2ef0dc8b81dad8fc781f18de5777052e77235783 Author: unknown Date: Thu Nov 5 09:50:58 2009 +0100 NEWS restored (will be done later); fixed missing entry in manifest commit 9c42bd53f019e2f0ea91de26bea66de06371a911 Author: unknown Date: Thu Nov 5 08:51:05 2009 +0100 trivial optimization commit 92f03ebe18fb2ce67f413bb7a4a861b66d8682ce Author: unknown Date: Wed Nov 4 13:16:08 2009 +0100 todo update commit a2eee7ac4fa8053a0c444b4b94cf97f6ae997628 Author: unknown Date: Wed Nov 4 13:08:02 2009 +0100 added Brad Luciers fft benchmark to test suite commit b4da807a873a4c955704a81a69849ffb318fd927 Author: unknown Date: Wed Nov 4 13:07:41 2009 +0100 removed references to obsolete option commit ee5af60c5d9b09a7acb180de6ac1652b8b0af9b6 Author: unknown Date: Wed Nov 4 09:49:01 2009 +0100 allow using config-file for make variables commit 09b9631ad652b900a414413b1868b75fa77c5fc0 Author: unknown Date: Tue Nov 3 23:53:32 2009 +0100 handle non-atomic operator in function call generically by introducing temporary commit 2e5f33742846e5ef47e1d48a762ce4cc7c78dc07 Author: unknown Date: Tue Nov 3 23:50:01 2009 +0100 added silex.scm as large file for testing compiler runtime commit 479a3dbb10b73c475b22f50cc31e8ec1ecb2513e Author: unknown Date: Tue Nov 3 16:32:43 2009 +0100 documented new behaviour for import-lib generation commit a279f20b7bf2fee7c425ebade0da982ad14b45b7 Author: unknown Date: Tue Nov 3 14:53:04 2009 +0100 ... commit 5f06d4deafa19424d49d78ed0c0a4b4ee5f6e1e5 Author: unknown Date: Tue Nov 3 14:51:47 2009 +0100 fix in handling of import-only commit 1b0996e966da46d3bb02dc46a6dab3545fe5cbbe Author: unknown Date: Tue Nov 3 14:50:33 2009 +0100 import-library is only generated if changed or doesn't exist (suggested by Joerg Wittenberger) commit 3ccc1301e2e61d8aab1835ca48c7e215004c8eaa Author: unknown Date: Tue Nov 3 14:44:35 2009 +0100 removed toplevel-def-.exp.-hook again commit 7625d978a572af6d703f398c2706d69fc6b64dbc Author: unknown Date: Tue Nov 3 14:41:14 2009 +0100 removed benchmarks commit ae5ec1dda65c33d78fe5744311a41d59f6fd5f80 Author: unknown Date: Tue Nov 3 14:40:25 2009 +0100 removed elisp files and unused stuff commit 7a9f9a64552a7a13a166e5b86870111ee78b105c Author: unknown Date: Mon Nov 2 18:28:53 2009 +0100 standard-extension takes keyword args; added import-only extension property commit 0eecdc818cee9e90e2e8c854a7ca76f6ce2c204f Merge: d04fa84a 88c03db5 Author: unknown Date: Mon Nov 2 17:37:08 2009 +0100 Merge branch 'private' of ssh://galinha/~/chicken-core-private into private commit d04fa84aa85dd28f5e102278e01330e5924b7668 Author: unknown Date: Mon Nov 2 17:34:36 2009 +0100 added culprit to an error message; removed -inlines.scm files commit f0f3ea5b19904aba6ab45cc2cef65a1561e118b9 Author: unknown Date: Thu Oct 22 09:40:10 2009 +0200 upgrade message in setup-api shows version (thanks to ckeen) commit 64234726ed2161d1a4b22a95fa80ce219f810f49 Merge: c8ba8a9d 045f1db4 Author: unknown Date: Mon Nov 2 10:27:04 2009 +0100 Merge branch 'pending' of ssh://galinha.ucpel.tche.br/~/chicken-core into pending commit c8ba8a9dd94483279127f5eed6c1f6940917f488 Author: unknown Date: Thu Oct 22 09:40:10 2009 +0200 upgrade message in setup-api shows version (thanks to ckeen) commit 88c03db5bcbe7476f9d0d10c8c2b3fe4da5d7777 Author: Felix Date: Sun Nov 1 00:10:53 2009 +0100 ... commit 045f1db4ee22cdbecade4a17307ae61bba8bf31d Author: Felix Date: Sun Nov 1 00:02:00 2009 +0100 chicken-install should not use setup-mode when cross-compiling commit 64bd77d6435c4f6ffbc6e4fc42ad14befa9d7261 Author: Felix Date: Sat Oct 31 21:41:24 2009 +0100 csc uses actual name in help texts commit 9d89839ea6226af8a14b3daa8f2352e6d3cc39da Merge: 6298628c 21a57c2c Author: Felix Date: Sat Oct 31 01:01:51 2009 +0100 Merge branch 'private' of /home/felix/chicken/core into private commit 6298628c56ac7cf14e29eebef51f1b349dc36d9d Author: Felix Date: Sat Oct 31 01:01:07 2009 +0100 added some blank lines for better readablility commit 21a57c2cce0a301f13ecf4be69a9b0bd4fdabff0 Author: Felix Date: Sat Oct 31 00:58:27 2009 +0100 updated commit list commit add125c47a08c2afa371ae2d6d3b538325a42a43 Author: Felix Date: Fri Oct 30 23:54:59 2009 +0100 -setup-mode was not switched off for cross-chicken in setup-api commit f07d04881a90992b810b5c1add6240e1bf9a3ddb Author: unknown Date: Fri Oct 30 15:45:56 2009 +0100 updated commit list commit dc0ba86aa9d4488a57ccc7e03c7dcc5b6ff41798 Author: unknown Date: Thu Oct 22 11:46:23 2009 +0200 disabled e-mail transmission in chicken-bug commit ee844ebd18de4ebbd0ec6d2290e3c711633ccae5 Author: unknown Date: Fri Oct 30 09:49:15 2009 +0100 fixed bug in get-condition-property commit bff0472a148dee1f600557423240b32a07b46eda Author: unknown Date: Fri Oct 30 12:43:17 2009 +0100 removed remaining references and support code for breakpoints; removed uses of NOAPPLYHOOK in makefiles commit 44b4ceb7a124641408c74ee472431f986372ca49 Author: unknown Date: Fri Oct 30 12:27:31 2009 +0100 applied bugfix by ashinn for scheme-complete commit 337557ac424dfcb5aa2078585fce957a78b3937e Author: unknown Date: Fri Oct 30 10:03:04 2009 +0100 updated scheme-complete to version 0.8.9 commit 5e4ccdc174b2b9cb416505ad2c5c5360c125b878 Author: unknown Date: Fri Oct 30 10:00:32 2009 +0100 updated commit list commit 420c646af6f8f3e028e97950451539e29e4401d8 Author: unknown Date: Fri Oct 30 09:49:15 2009 +0100 fixed bug in get-condition-property commit 97ff6712f864d10fecc834e0f3bb44fe7a5ebf55 Author: unknown Date: Thu Oct 29 14:44:44 2009 +0100 updated TODO commit 0ef80438adf6bc8f2b4efb0891ce9ee5f645f1c6 Author: unknown Date: Thu Oct 29 09:32:00 2009 +0100 installation-prefix is always valid commit 887601250b1801c3fb77cfe04915760252852ae0 Author: unknown Date: Thu Oct 29 09:26:34 2009 +0100 do not run in -setup-mode when cross-compiling an extension commit 4ed90dd4b0680a8d5de3ac6f26ee7807428deaf6 Author: unknown Date: Wed Oct 28 16:51:23 2009 +0100 updated pending commit list commit 1e4cd5ff9206cbae2434a3ae487de9987c8a54b0 Author: unknown Date: Mon Oct 19 14:21:51 2009 +0200 possible fix for reexport bug; no timing output for benchmarks in test suite commit 1fd12a3db39bc1bdafb9c71678e07c1be3a87232 Author: unknown Date: Mon Oct 19 12:12:46 2009 +0200 henrietta shows version in comment marker; removed unused ##sys#syntactic-environment? commit e485b528988d16f946bb1da97640038e07cadc8f Merge: aa5dcd04 06330025 Author: unknown Date: Wed Oct 28 16:28:11 2009 +0100 Merge branch 'master' into pending commit aa5dcd04b1ce490542f3ac1fd1077b39aef5e8d3 Author: unknown Date: Wed Oct 28 16:28:08 2009 +0100 fixing line-terminators commit cca42e017be8527391949c110ea9b579a1416fbc Author: unknown Date: Wed Oct 28 16:13:01 2009 +0100 renamed -host-extension in chicken-install to -host, the old option is deprecated commit d6f66436f47ffb1b57cff508bc20ac071bf05445 Author: unknown Date: Wed Oct 28 09:54:46 2009 +0100 todos commit 0633002591a4e4210067761fd58a5daa0491050b Author: unknown Date: Tue Oct 27 22:59:47 2009 +0100 updated version to 4.2.3; removed TODO and cleaned up NEWS commit b3e9c2317b02cd5683dcfd36872c642ad54062b1 Author: unknown Date: Tue Oct 27 22:59:40 2009 +0100 updated version to 4.2.3; removed TODO and cleaned up NEWS commit 55d1668f48c66a4410757ae32a473ee0e1e8b196 Author: unknown Date: Tue Oct 27 21:12:49 2009 +0100 updated commit list in TODO commit 3abf6cb65e4ee617f22375d6faba931715993b49 Author: unknown Date: Tue Oct 27 12:02:26 2009 +0100 win32 makefiles didn't handle program prefix/suffix settings commit 2ebef902352257f1eb17060a8d895d76c32d0400 Author: unknown Date: Thu Oct 22 11:46:42 2009 +0200 added chicken-4 feature identifier commit facb360c945f1b6f4f476e0e8af07550d121bc45 Author: unknown Date: Tue Oct 27 11:26:14 2009 +0100 updated TODO commit c3b3345ed4307fe32ef37151bc29d9c4bccf34a4 Author: unknown Date: Tue Oct 27 11:17:23 2009 +0100 CHICKEN_yield callback should use internal ##sys#thread-yield commit f4f1ce51affa0295314a5d120627664bd432f0aa Author: unknown Date: Mon Oct 26 15:21:06 2009 +0100 printer for hash-tables shows current size commit 4d9e6048783133aebd4c4ecc03783aefe40f4103 Author: unknown Date: Mon Oct 26 08:50:50 2009 +0100 -debug S instead of -debug C commit 317ea7467daca1f469881eb01126f62d2e3dfd78 Merge: 872efaf9 f674d131 Author: unknown Date: Mon Oct 26 08:49:42 2009 +0100 Merge branch 'private' of ssh://galinha/~/chicken-core-private into private commit 872efaf9624bf7208f56b9aee903dcb5032e3835 Author: unknown Date: Mon Oct 26 08:49:33 2009 +0100 added open commits commit f674d1310a9aa780bd1edc9316e092c062572dde Author: Felix Date: Sun Oct 25 13:05:07 2009 +0100 -debug C for compiler syntax commit 07b6c75671e6ffaf9fa8502cef089165be44686e Author: unknown Date: Fri Oct 23 15:41:32 2009 +0200 resurrected manual.css commit ba8e90552aea04709749ad490801e9762e3ec87d Author: unknown Date: Fri Oct 23 09:09:23 2009 +0200 todo update commit 6579494dffd3d84fe6ab0ce2b89bbf0fbc2807de Author: unknown Date: Thu Oct 22 11:47:04 2009 +0200 toplevel-def.-expansion-hook commit d10eb80f3b055c570e632deb50ca8367e55e63bc Author: unknown Date: Thu Oct 22 11:46:42 2009 +0200 added chicken-4 feature identifier commit 6b762ab536b3c4c58730d0763447210beab89d3b Author: unknown Date: Thu Oct 22 11:46:23 2009 +0200 disabled e-mail transmission in chicken-bug commit 7681d0616942284f166232a91f7a48eb9e49c1d0 Author: unknown Date: Thu Oct 22 09:41:26 2009 +0200 updated commit list commit ab284ea5881e8a6698f1bfff8e3d0d3ce57ee425 Author: unknown Date: Thu Oct 22 09:40:10 2009 +0200 upgrade message in setup-api shows version (thanks to ckeen) commit d611cdb4ff734bfaaadfadc57985eee6cf410dd1 Author: unknown Date: Wed Oct 21 16:06:31 2009 +0200 standard-extension has optional static compile flag commit 8d30b67ec916dfad0bf8ddba921b1cabb5063a08 Author: unknown Date: Wed Oct 21 09:47:08 2009 +0200 todo update commit 57768ff58ca13049d0215d2a7a7b3628e56a085c Merge: 2a996096 cb832097 Author: unknown Date: Wed Oct 21 09:31:12 2009 +0200 Merge branch 'master' of ssh://galinha.ucpel.tche.br/~/chicken-core commit 2a996096f5b8101a6b568a42f9795cf5123ca5f1 Author: unknown Date: Wed Oct 21 09:30:43 2009 +0200 line-terminators commit 1a3e07af972bb63375fc2bc26b4b8e65666b5183 Author: unknown Date: Wed Oct 21 09:17:46 2009 +0200 todo update commit 8a988e1fff944a080402b60b1b3f6d983c236a02 Author: unknown Date: Tue Oct 20 21:56:59 2009 +0200 removed breakpoint from import file commit 94f9b927fa3d7b1a6083cb07a8d7c60aa387b4ae Author: unknown Date: Tue Oct 20 16:56:01 2009 +0200 todo update commit c4b8bde930d383d5572975e6f5cce025d9fb759d Author: unknown Date: Tue Oct 20 13:23:55 2009 +0200 install so, not scm, silly commit 18b042d591d28ed57115ec783b6b51e66ce62a19 Author: unknown Date: Tue Oct 20 13:20:10 2009 +0200 standard-extension didn't install import library commit c5fac3c98d7c187e0564d062c3f77623f3882741 Author: unknown Date: Tue Oct 20 12:21:53 2009 +0200 cleanups in some text-files commit 89a110080526e0160f3240281d3bd98eb0aff0ba Author: unknown Date: Tue Oct 20 12:18:53 2009 +0200 removed some obsolete scripts and files commit 9ede86efaff36f5d7e9aeaf34f095d887f01cb52 Author: unknown Date: Tue Oct 20 12:15:29 2009 +0200 updated TODO commit 81dcc1cfe055eb150c6643447c3ed0f12c118836 Author: unknown Date: Tue Oct 20 11:51:45 2009 +0200 process-execute on windows didn't handle case of missing arglist argument commit bce0d16a76588f8918ace633313edd62ffe575e6 Author: unknown Date: Mon Oct 19 14:21:51 2009 +0200 possible fix for reexport bug; no timing output for benchmarks in test suite commit 1402eea7aec2611dfe48542715b1492561072f41 Author: unknown Date: Mon Oct 19 12:12:46 2009 +0200 henrietta shows version in comment marker; removed unused ##sys#syntactic-environment? commit 7aacba829e680a9c20fdac4800d3445f624bf6c5 Author: Felix Date: Mon Oct 19 00:42:55 2009 +0200 removed breakpoint support from scheduler commit ec82c1e366d51492e2728189d61a8add828c99af Author: Felix Date: Thu Oct 15 00:38:44 2009 +0200 re-added incorrectly removed ,s command commit 6e5eb38f11a2a8f9a82d1009563e371139a76438 Author: Felix Date: Sun Oct 11 00:45:40 2009 +0200 removed apply-, unbound-value- and invalid procedure call hooks. These are just complicated hacks with very little value. commit 3a8da718bf4c6b71ced0fb60bee2bd84a2f2321d Author: Felix Date: Wed Oct 14 14:59:13 2009 +0200 Added optional argument to grep function in regex unit [suggested by Tony Sidaway] commit cb832097a76e49cc3b23c9968ef4f732f8f4c056 Author: unknown Date: Mon Oct 12 13:20:25 2009 +0200 create-directory/helper handles forward slash in path commit ead334955e50929e34261aa6c84159ebc0ea7d3f Author: Felix Date: Sun Oct 11 00:00:36 2009 +0200 make-lambda-info is fine in eval.scm commit 9acc3325e6fdf695439fa9e2f8b8102ef22bf5ad Author: Felix Date: Sat Oct 10 23:48:18 2009 +0200 reverted several commits that added dloaded module introspection and API; heavy modifications where made to code that worked fine, and which nobody complained about. To avoid wasting time on tracking down bugs in this code, I have removed the changes. commit 9a51145bd9332f04c64e0d0145d5fb4ea3a38a5e Author: unknown Date: Tue Oct 13 11:25:19 2009 +0200 removed leftover CR characters commit 01b4438580d739410558b8a103a2cf5d57251359 Author: unknown Date: Mon Oct 12 13:20:51 2009 +0200 unix lineterminators commit 9513fda044ac898c30a344eb3aa87ce5e0655340 Author: Felix Date: Wed Oct 14 14:59:13 2009 +0200 Added optional argument to grep function in regex unit [suggested by Tony Sidaway] commit 62e34fbd25b9c6256a398389267c965631d60743 Author: unknown Date: Tue Oct 13 11:25:19 2009 +0200 removed leftover CR characters commit 02bb21b57d2b4f3ab17d1de4e668ac3ff5f88b0e Author: unknown Date: Mon Oct 12 13:20:51 2009 +0200 unix lineterminators commit 1744a3d19142c3a1738331d6fcfdb022105ed6a5 Author: unknown Date: Mon Oct 12 13:20:25 2009 +0200 create-directory/helper handles forward slash in path commit c672e8431755a8a080fea9e2eb8274521e6ce7fb Author: Felix Date: Sun Oct 11 12:33:21 2009 +0200 changed version commit 6987792e2c27ee6c9f6ff655ec94cff052528438 Author: Felix Date: Sun Oct 11 11:54:28 2009 +0200 removed uses of NOAPPLYHOOK commit c1154565abc041202110aae8e93a57cbe3fba3c2 Author: Felix Date: Sun Oct 11 11:37:44 2009 +0200 removed trace operations from manual commit c41657eedc99190a644df6581a8bf9944452a97a Author: Felix Date: Sun Oct 11 11:37:06 2009 +0200 remove tracing facilities from csi - this can be done better using the advice egg commit 521323fcb27c59eb9c92a178764f35b615c39782 Author: Felix Date: Sun Oct 11 01:39:14 2009 +0200 updated TODO commit 463b3bfadfe953ad6f4315039066e88d47ca286d Author: Felix Date: Sun Oct 11 01:27:46 2009 +0200 removed .gitignore commit cf5f4614bfeb036f1bf14362c228aa1863a85670 Author: Felix Date: Sun Oct 11 00:59:56 2009 +0200 not quite correct change in chicken-version commit 65270ae1ebe5091df5a95ba258f1d46eae0b2221 Author: Felix Date: Sun Oct 11 00:57:43 2009 +0200 fixed change in expected output of scrutiny-test commit 1affb847c0c43dbcba34bd5c098ffb28ff1160c0 Author: Felix Date: Sun Oct 11 00:45:40 2009 +0200 removed apply-, unbound-value- and invalid procedure call hooks. These are just complicated hacks with very little value. commit e24b7dbb69765501ba4ff4c5c806d45a843caf80 Author: Felix Date: Sun Oct 11 00:00:36 2009 +0200 make-lambda-info is fine in eval.scm commit f1043cc64bbba25e7828e94c36bfc9b6f1b771d1 Merge: 4ac0c1b2 6eb40727 Author: Felix Date: Sat Oct 10 23:56:17 2009 +0200 Merge branch 'unfucked-dload' into private commit 6eb407278bec522566490694924fafc4d3074646 Author: Felix Date: Sat Oct 10 23:48:18 2009 +0200 reverted several commits that added dloaded module introspection and API; heavy modifications where made to code that worked fine, and which nobody complained about. To avoid wasting time on tracking down bugs in this code, I have removed the changes. commit 4ac0c1b207e88f4dca7b19c1e4e25155fa36ef5b Author: Felix Date: Sat Oct 10 22:54:08 2009 +0200 removed svn revision from banner and build stuff that generates it commit 364023e4eee865875983224234bc6315cb3bfd3a Author: Felix Date: Sat Oct 10 13:03:48 2009 +0200 imported svn rev. 16155