Changeset 13452 in project


Ignore:
Timestamp:
03/02/09 12:40:15 (11 years ago)
Author:
felix winkelmann
Message:

some cleanup, manual fixes, NEWS and README update

Location:
chicken/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/NEWS

    r12940 r13452  
    1 4.0.0x5
     14.0.0
    22
    33- replaced PCRE regex engine with Alex Shinn's "irregex" regular expression
     
    88- added `CHICKEN_new_finalizable_gc_root()'
    99- `length' checks its argument for being cyclic
    10 
    11 4.0.0x3
    12 
    1310- removed custom declarations and "link-options" and "c-options" declarations
    1411- deprecated "-quiet" option to "chicken" program
    1512- added "-update-db" option to chicken-install
    1613- the compiler now suggests possibly required module-imports
    17 
    18 4.0.0x2
    19 
    2014- moved non-standard syntax-definitions into "chicken-syntax" library unit
    2115- the pretty-printer prints the end-of-file object readably now
     
    2620  for exported expanders in import libraries
    2721- added checks in some procedures in the the "tcp" library unit.
    28 
    29 4.0.0x1
    30 
    3122- the macro system has been completely overhauled and converted
    3223  to hygienic macros
  • chicken/trunk/README

    r12957 r13452  
    99 1. Introduction:
    1010
    11         CHICKEN is a Scheme-to-C compiler supporting the language
    12         features as defined in the 'Revised^5 Report on
    13         Scheme'. Separate compilation is supported and full
    14         tail-recursion and efficient first-class continuations are
    15         available.
    16 
    17         Some things that CHICKEN has to offer:
    18 
    19         1. CHICKEN generates quite portable C code and compiled files
    20            generated by it (including itself) should work without any
    21            changes on DOS, Windows, most UNIX-like platforms, and with
    22            minor changes on other systems.
    23 
    24         2. The whole package is distributed under a BSD style license
    25            and as such is free to use and modify as long as you agree
    26            to its terms.
    27 
    28         3. Linkage to C modules and C library functions is
    29            straightforward. Compiled programs can easily be embedded
    30            into existing C code.
    31 
    32         4. Loads of extra libraries.
     11        CHICKEN is a Scheme-to-C compiler supporting the language
     12        features as defined in the 'Revised^5 Report on
     13        Scheme'. Separate compilation is supported and full
     14        tail-recursion and efficient first-class continuations are
     15        available.
     16
     17        Some things that CHICKEN has to offer:
     18
     19        1. CHICKEN generates quite portable C code and compiled files
     20           generated by it (including itself) should work without any
     21           changes on DOS, Windows, most UNIX-like platforms, and with
     22           minor changes on other systems.
     23
     24        2. The whole package is distributed under a BSD style license
     25           and as such is free to use and modify as long as you agree
     26           to its terms.
     27
     28        3. Linkage to C modules and C library functions is
     29           straightforward. Compiled programs can easily be embedded
     30           into existing C code.
     31
     32        4. Loads of extra libraries.
    3333
    3434        Note: Should you have any trouble in setting up and using
     
    4040 2. Installation:
    4141
    42         First unzip the package ("unzip chicken-<version>.zip" or "tar
     42        First unzip the package ("unzip chicken-<version>.zip" or "tar
    4343        xzf chicken-<version>.tar.gz" on UNIX or use your favorite
    4444        extraction program on Windows).
    4545
    46         Building CHICKEN requires GNU Make. Other "make" derivates are
    47         not supported. If you are using a Windows system and do not
    48         have GNU Make, see below for a link to a precompiled set of
    49         UNIX utilities, which among other useful tools contains "make".
    50 
    51         Configuration and customization of the build process is done by
    52         either setting makefile variables on the "make" command line or
    53         by editing the platform-specific makefile.
    54 
    55         Invoke "make" like this:
    56 
    57           make PLATFORM=<platform> PREFIX=<destination>
    58 
    59         where "PLATFORM" specifies on what kind of system CHICKEN
    60         shall be built and "PREFIX" specifies where the executables
    61         and libraries shall be installed. Out-of-directory builds are
    62         currently not supported, so you must be in the toplevel source
    63         directory to invoke "make".
    64 
    65         Enter "make" without any options to see a list of supported
    66         platforms.
    67 
    68         If you build CHICKEN directly from the development sources out
    69         of the subversion repository, you will need a "chicken"
    70         executable to generate the compiled C files from the Scheme
    71         library sources. If you have a recent version of CHICKEN
    72         installed, then pass "CHICKEN=<chicken-executable>" to the
    73         "make" invocation to override this setting. "CHICKEN" defaults
    74         to "$PREFIX/bin/chicken".
    75 
    76         If you do not have a "chicken" binary installed, enter
    77 
    78           make PLATFORM=<platform> PREFIX=<destination> bootstrap
    79 
    80         which will unpack a tarball containing precompiled C sources
    81         that are recent enough to generate the current version. After
    82         building a statically linked compiler executable (named
    83         "chicken-boot") all *.scm files are marked for rebuilt. By
    84         passing "CHICKEN=./chicken-boot" to "make", you can force
    85         using this bootstrapped compiler to build the system.
    86 
    87         The build may show errors when creating the info(1)
    88         documentation, if you do not have GNU texinfo installed.
    89         This is not fatal - the build should proceed.
    90 
    91         If CHICKEN is build successfully, you can install it on your
    92         system by entering
    93 
    94           make PLATFORM=<platform> PREFIX=<destination> install
    95 
    96         "PREFIX" defaults to "/usr/local". Note that the PREFIX is
    97         compiled into several CHICKEN tools and must be the same
    98         while building the system and during installation.
    99 
    100         To install CHICKEN for a particular PREFIX on a different
    101         location, set the "DESTDIR" variable in addition to "PREFIX":
    102         It designates the directory where the files are installed
    103         into.
    104 
    105         You can further enable various optional features by adding
    106         one or more of the following variables to the "make"
    107         invocation:
    108 
    109         DEBUGBUILD=1
    110           Disable optimizations in compiled C code and enable
    111           debug information.
    112 
    113         STATICBUILD=1
    114           Build only static versions of the runtime library, compiler
    115           and interpreter. `chicken-setup' will not be generated,
    116           as it is mostly useless unless compiled code can be loaded.
    117 
    118         SYMBOLGC=1
    119           Always enable garbage collection for unused symbols in the
    120           symbol table by default. This will result in slightly slower
    121           garbage collection, but minimizes the amount of garbage
    122           retained at runtime (which might be important for long
    123           running server applications). If you don't specify this
    124           option you can still enable symbol GC at runtime by passing
    125           the `-:w' runtime option when running the program.
    126 
    127         NOAPPLYHOOK=1
    128           For maximum performance this will disable support for
    129           breakpoints, but speed up procedure invocation in safe
    130           code. Smaller binaries can be obtained by also giving
    131           "NOPTABLES=1", but that means serialization (available
    132           as a separate package) of procedures will not be available.
    133 
    134         C_COMPILER_OPTIMIZATION_OPTIONS=...
    135           Override built-in C compiler optimization options. Available
     46        Building CHICKEN requires GNU Make. Other "make" derivates are
     47        not supported. If you are using a Windows system and do not
     48        have GNU Make, see below for a link to a precompiled set of
     49        UNIX utilities, which among other useful tools contains "make".
     50
     51        Configuration and customization of the build process is done by
     52        either setting makefile variables on the "make" command line or
     53        by editing the platform-specific makefile.
     54
     55        Invoke "make" like this:
     56
     57          make PLATFORM=<platform> PREFIX=<destination>
     58
     59        where "PLATFORM" specifies on what kind of system CHICKEN
     60        shall be built and "PREFIX" specifies where the executables
     61        and libraries shall be installed. Out-of-directory builds are
     62        currently not supported, so you must be in the toplevel source
     63        directory to invoke "make".
     64
     65        Enter "make" without any options to see a list of supported
     66        platforms.
     67
     68        If you build CHICKEN directly from the development sources out
     69        of the subversion repository, you will need a "chicken"
     70        executable to generate the compiled C files from the Scheme
     71        library sources. If you have a recent version of CHICKEN
     72        installed, then pass "CHICKEN=<chicken-executable>" to the
     73        "make" invocation to override this setting. "CHICKEN" defaults
     74        to "$PREFIX/bin/chicken".
     75
     76        If you do not have a "chicken" binary installed, enter
     77
     78          make PLATFORM=<platform> PREFIX=<destination> bootstrap
     79
     80        which will unpack a tarball containing precompiled C sources
     81        that are recent enough to generate the current version. After
     82        building a statically linked compiler executable (named
     83        "chicken-boot") all *.scm files are marked for rebuilt. By
     84        passing "CHICKEN=./chicken-boot" to "make", you can force
     85        using this bootstrapped compiler to build the system.
     86
     87        The build may show errors when creating the info(1)
     88        documentation, if you do not have GNU texinfo installed.
     89        This is not fatal - the build should proceed.
     90
     91        If CHICKEN is build successfully, you can install it on your
     92        system by entering
     93
     94          make PLATFORM=<platform> PREFIX=<destination> install
     95
     96        "PREFIX" defaults to "/usr/local". Note that the PREFIX is
     97        compiled into several CHICKEN tools and must be the same
     98        while building the system and during installation.
     99
     100        To install CHICKEN for a particular PREFIX on a different
     101        location, set the "DESTDIR" variable in addition to "PREFIX":
     102        It designates the directory where the files are installed
     103        into.
     104
     105        You can further enable various optional features by adding
     106        one or more of the following variables to the "make"
     107        invocation:
     108
     109        DEBUGBUILD=1
     110          Disable optimizations in compiled C code and enable
     111          debug information.
     112
     113        STATICBUILD=1
     114          Build only static versions of the runtime library, compiler
     115          and interpreter. `chicken-install', `chicken-uninstall' and
     116          `chicken-status' will not be generated, as it is mostly
     117          useless unless compiled code can be loaded.
     118
     119        SYMBOLGC=1
     120          Always enable garbage collection for unused symbols in the
     121          symbol table by default. This will result in slightly slower
     122          garbage collection, but minimizes the amount of garbage
     123          retained at runtime (which might be important for long
     124          running server applications). If you don't specify this
     125          option you can still enable symbol GC at runtime by passing
     126          the `-:w' runtime option when running the program.
     127
     128        NOAPPLYHOOK=1
     129          For maximum performance this will disable support for
     130          breakpoints, but speed up procedure invocation in safe
     131          code. Smaller binaries can be obtained by also giving
     132          "NOPTABLES=1", but that means serialization (available
     133          as a separate package) of procedures will not be available.
     134
     135        C_COMPILER_OPTIMIZATION_OPTIONS=...
     136          Override built-in C compiler optimization options. Available
    136137          for debug or release build.
    137138
    138         PROGRAM_PREFIX=
     139        PROGRAM_PREFIX=
    139140          A prefix to prepend to the names of all generated executables.
    140           This allows having multiple CHICKEN versions in your PATH
    141           (but note that they have to be installed at different locations).
    142 
    143         PROGRAM_SUFFIX=
     141          This allows having multiple CHICKEN versions in your PATH
     142          (but note that they have to be installed at different locations).
     143
     144        PROGRAM_SUFFIX=
    144145          A suffix to be appended to the names of all generated executables.
    145146
    146         HOSTSYSTEM=
    147           A "<machine>-<platform>" name prefix to use for the C compiler to to
    148           use to compile the runtime system and executables. Set this variable
    149           if you want to compile CHICKEN for a different architecture than
    150           the one on which you are building it.
    151 
    152         TARGETSYSTEM=
    153           Similar to "HOSTSYSTEM", but specifies the name
    154           prefix to use for compiling code with the "csc" compiler
    155           driver. This is required for creating a "cross chicken", a
    156           specially built CHICKEN that invokes a cross C compiler to
    157           build the final binaries. You will need a cross compiled
    158           runtime system by building a version of CHICKEN with the
    159           "HOST" option mentioned above. More information about this
    160           process and the variables that you should set are provided
    161           in the CHICKEN wiki at
    162           <http://chicken.wiki.br/cross-compilation>.
     147        HOSTSYSTEM=
     148          A "<machine>-<platform>" name prefix to use for the C compiler to to
     149          use to compile the runtime system and executables. Set this variable
     150          if you want to compile CHICKEN for a different architecture than
     151          the one on which you are building it.
     152
     153        TARGETSYSTEM=
     154          Similar to "HOSTSYSTEM", but specifies the name
     155          prefix to use for compiling code with the "csc" compiler
     156          driver. This is required for creating a "cross chicken", a
     157          specially built CHICKEN that invokes a cross C compiler to
     158          build the final binaries. You will need a cross compiled
     159          runtime system by building a version of CHICKEN with the
     160          "HOST" option mentioned above. More information about this
     161          process and the variables that you should set are provided
     162          in the CHICKEN wiki at
     163          <http://chicken.wiki.br/cross-compilation>.
    163164
    164165        SRCDIR=
     
    169170
    170171
    171         To remove CHICKEN from your file-system, enter (probably as
     172        To remove CHICKEN from your file-system, enter (probably as
    172173        root):
    173174
    174             make PLATFORM=<platform> PREFIX=<destination> uninstall
    175 
    176         (If you gave DESTDIR during installation, you have to pass
    177         the same setting to "make" when uninstalling)
    178 
    179         In case you invoke "make" with different configuration parameters,
    180         it is advisable to run
    181 
    182             make PLATFORM=<platform> confclean
    183 
    184         to remove old configuration files.
     175            make PLATFORM=<platform> PREFIX=<destination> uninstall
     176
     177        (If you gave DESTDIR during installation, you have to pass
     178        the same setting to "make" when uninstalling)
     179
     180        In case you invoke "make" with different configuration parameters,
     181        it is advisable to run
     182
     183            make PLATFORM=<platform> confclean
     184
     185        to remove old configuration files.
    185186
    186187
    187188 3. Usage:
    188189
    189         Documentation can be found in the directory
    190         PREFIX/share/chicken/doc. The HTML documentation (in
    191         "PREFIX/share/chicken/doc/html") is automatically generated
    192         from the Wiki pages at <http://chicken.wiki.br/>. Go there to
    193         read the most up to date documentation.
    194 
    195 
    196  4. Extension:
     190        Documentation can be found in the directory
     191        PREFIX/share/chicken/doc. The HTML documentation (in
     192        "PREFIX/share/chicken/doc/html") is automatically generated
     193        from the Wiki pages at <http://chicken.wiki.br/>. Go there to
     194        read the most up to date documentation.
     195
     196
     197 4. Extensions:
    197198
    198199        A large number of extension libraries for CHICKEN are
    199         available at
    200         <http://www.call-with-current-continuation.org/eggs/>. You can
    201         automatically download, compile and install extensions with
    202         the "chicken-setup" program. See the CHICKEN User's Manual for
    203         more information.
    204 
    205         Windows users: Note that you must have "tar" and "gunzip"
    206         programs installed and available through the "PATH"
    207         environment variable to extract extensions. If you don't
    208         download and extract the extensions ("eggs") manually using a
    209         browser and the decompression program of your choice and run
    210         "chicken-setup" in the directory where you extracted the
    211         extension archive.
    212 
    213         Windows binaries for common UNIX utilities (most notably "tar"
    214         and "gunzip") are available here:
    215         <http://www.call-with-current-continuation.org/tarballs/UnxUtils.zip>.
    216 
    217         A selection of 3rd party libraries, together with source and
    218         binary packages for tools helpful for development with CHICKEN
    219         are also available at:
    220         <http://www.call-with-current-continuation.org/tarballs/>.
    221 
    222        
     200        available at
     201        <http://www.call-with-current-continuation.org/eggs/>. You can
     202        automatically download, compile and install extensions with
     203        the "chicken-install" program. See the CHICKEN User's Manual for
     204        more information.
     205
     206        A selection of 3rd party libraries, together with source and
     207        binary packages for tools helpful for development with CHICKEN
     208        are also available at:
     209        <http://www.call-with-current-continuation.org/tarballs/>.
     210
     211       
    223212 5. Platform issues:
    224213
    225         - *BSD system users *must* use GNU make ("gmake") - the makefiles
    226           can not be processed by BSD make.
    227 
    228         - Some old Linux distributions ship with a buggy version of
    229           the GNU C compiler (2.96). If the system is configured for
    230           kernel recompilation, then an alternative GCC version is
    231           available under the name `kgcc' (GCC 2.96 can not recompile
    232           the kernel). CHICKEN's configuration script should normally
    233           be able to handle this problem, but you have to remember to
    234           compile your translated Scheme files with `kgcc' instead of
    235           `gcc'.
    236 
    237         - Older versions of Solaris have a bug in ld.so that causes
    238           trouble with dynamic loading. Patching Solaris fixes the
    239           problem. Solaris 7 needs patch 106950-18. Solaris 8 has an
    240           equivalent patch, 109147-16.
    241 
    242           You can find out if you have these patches installed by
    243           running:
    244 
    245           % showrev -p | grep 106950    # solaris 7
    246           % showrev -p | grep 109147    # solaris 8
    247 
    248         - On NetBSD it might be possible that compilation fails with a
    249           "virtual memory exhausted error".  Try the following:
    250 
    251           % unlimit datasize
    252 
    253         - For Mac OS X, Chicken requires libdl, for loading compiled
    254           code dynamically. This library is available on Mac OS X 10.4
    255           (Tiger) by default. For older versions you can find it here:
    256 
    257             http://www.opendarwin.org/projects/dlcompat
    258 
    259         - On Mac OS X, Chicken and its eggs can be built as universal
    260           binaries which will work on either Intel or PowerPC.
    261           To build on Tiger (10.4):
    262 
    263             make PLATFORM=macosx ARCH=universal
    264 
    265           On Leopard (10.5), an extra step is required before `make':
    266 
    267             export MACOSX_DEPLOYMENT_TARGET=10.4
    268             make PLATFORM=macosx ARCH=universal
    269 
    270         - On Mac OS X, Chicken can be built in 64-bit mode on Intel
    271           Core 2 Duo systems--basically, most recent machines.  The default
    272           is 32-bit mode.  To enable 64-bit mode, invoke `make' thusly:
    273 
    274             make PLATFORM=macosx ARCH=x86-64
    275 
    276         - On Windows, mingw32, <http://mingw.sourceforge.net/>,
    277           Cygwin, and Visual C/C++ (PLATFORM=msvc) are supported.
    278           Makefiles for mingw under MSYS and Windows shell are provided
    279           (`Makefile.mingw-msys' and `Makefile.mingw').
     214        - *BSD system users *must* use GNU make ("gmake") - the makefiles
     215          can not be processed by BSD make.
     216
     217        - Some old Linux distributions ship with a buggy version of
     218          the GNU C compiler (2.96). If the system is configured for
     219          kernel recompilation, then an alternative GCC version is
     220          available under the name `kgcc' (GCC 2.96 can not recompile
     221          the kernel). CHICKEN's configuration script should normally
     222          be able to handle this problem, but you have to remember to
     223          compile your translated Scheme files with `kgcc' instead of
     224          `gcc'.
     225
     226        - Older versions of Solaris have a bug in ld.so that causes
     227          trouble with dynamic loading. Patching Solaris fixes the
     228          problem. Solaris 7 needs patch 106950-18. Solaris 8 has an
     229          equivalent patch, 109147-16.
     230
     231          You can find out if you have these patches installed by
     232          running:
     233
     234          % showrev -p | grep 106950    # solaris 7
     235          % showrev -p | grep 109147    # solaris 8
     236
     237        - On NetBSD it might be possible that compilation fails with a
     238          "virtual memory exhausted error".  Try the following:
     239
     240          % unlimit datasize
     241
     242        - For Mac OS X, Chicken requires libdl, for loading compiled
     243          code dynamically. This library is available on Mac OS X 10.4
     244          (Tiger) by default. For older versions you can find it here:
     245
     246            http://www.opendarwin.org/projects/dlcompat
     247
     248        - On Mac OS X, Chicken and its eggs can be built as universal
     249          binaries which will work on either Intel or PowerPC.
     250          To build on Tiger (10.4):
     251
     252            make PLATFORM=macosx ARCH=universal
     253
     254          On Leopard (10.5), an extra step is required before `make':
     255
     256            export MACOSX_DEPLOYMENT_TARGET=10.4
     257            make PLATFORM=macosx ARCH=universal
     258
     259        - On Mac OS X, Chicken can be built in 64-bit mode on Intel
     260          Core 2 Duo systems--basically, most recent machines.  The default
     261          is 32-bit mode.  To enable 64-bit mode, invoke `make' thusly:
     262
     263            make PLATFORM=macosx ARCH=x86-64
     264
     265        - On Windows, mingw32, <http://mingw.sourceforge.net/>,
     266          Cygwin, and Visual C/C++ (PLATFORM=msvc) are supported.
     267          Makefiles for mingw under MSYS and Windows shell are provided
     268          (`Makefile.mingw-msys' and `Makefile.mingw').
    280269
    281270        - When installing under the mingw-msys platform, PREFIX must be an
    282271          absolute path name (i.e. it must include the drive letter).
    283272
    284         - When installing under mingw, with a windows shell ("cmd.exe"),
    285           pass an absolute pathname as PREFIX and use forward slashes.
    286 
    287         - Cygwin will not be able to find the chicken shared libraries
     273        - When installing under mingw, with a windows shell ("cmd.exe"),
     274          pass an absolute pathname as PREFIX and use forward slashes.
     275
     276        - Cygwin will not be able to find the chicken shared libraries
    288277          until Windows is rebooted.
    289278
    290         - gcc 3.4 shows sometimes warnings of the form
    291 
    292             easyffi.c: In function `f_11735':
    293             easyffi.c:18697: warning: `noreturn' function does return
    294        
    295           when compiling the system or compiled Scheme files. These
    296           warnings are bogus and can be ignored.
    297 
    298         - The Visual C build requires GNU make and other POSIX
    299           utilities.  Both cygwin and msys (with the Developer's
    300           Toolkit) have the necessary utilities. When setting PREFIX,
    301           use forward slashes:
    302 
    303           make PLATFORM=msvc PREFIX=c:/development/chicken
    304 
    305           The build has been tested with Visual Studio 2003 and 2008.  If
    306           you are able to build Chicken with other versions, please let
    307           us know.
    308 
    309           The following additional issues apply when using Chicken with
    310           Visual C:
    311 
    312           - Add the /DPIC flag when compiling your source files.  Otherwise
    313             you will encounter undefined symbols when linking.  Note that csc
    314             does this automatically for dlls but NOT for programs.
    315 
    316           - csc generates dynamics libraries with a .so extension, not .dll.
     279        - gcc 3.4 shows sometimes warnings of the form
     280
     281            easyffi.c: In function `f_11735':
     282            easyffi.c:18697: warning: `noreturn' function does return
     283       
     284          when compiling the system or compiled Scheme files. These
     285          warnings are bogus and can be ignored.
     286
     287        - The Visual C build requires GNU make and other POSIX
     288          utilities.  Both cygwin and msys (with the Developer's
     289          Toolkit) have the necessary utilities. When setting PREFIX,
     290          use forward slashes:
     291
     292          make PLATFORM=msvc PREFIX=c:/development/chicken
     293
     294          The build has been tested with Visual Studio 2003 and 2008.  If
     295          you are able to build Chicken with other versions, please let
     296          us know.
     297
     298          The following additional issues apply when using Chicken with
     299          Visual C:
     300
     301          - Add the /DPIC flag when compiling your source files.  Otherwise
     302            you will encounter undefined symbols when linking.  Note that csc
     303            does this automatically for dlls but NOT for programs.
     304
     305          - csc generates dynamics libraries with a .so extension, not .dll.
    317306
    318307 6. Emacs support:
    319308
    320         An emacs mode is provided in the file `hen.el'. To use it,
    321         copy it somewhere into a location you normally use for emacs
    322         extensions. If you want to add a specific location permanently
    323         to the list of paths emacs should search for extensions, add
    324         the following line to your `.emacs' file:
    325 
    326           (setq load-path
    327             (cons
    328               "<directory-where-your-emacs-lisp-files-live>"
    329               load-path))
    330 
    331         Add
    332 
    333           (require 'hen)
    334        
    335         To make "hen-mode" available, and enter it by issuing the
    336         command M-x hen-mode.
    337 
    338         A copy of Alex Shinn's highly useful tab-completion code is
    339         also included in `scheme-complete.el'. Install it like `hen.el'
    340         and add this code to your `.emacs':
    341 
    342           (autoload 'scheme-smart-complete "scheme-complete" nil t)
    343           (eval-after-load 'scheme
    344             '(progn (define-key scheme-mode-map "\e\t" 'scheme-smart-complete)))
    345 
    346         Or:
    347 
    348           (eval-after-load 'scheme
    349             '(progn (define-key scheme-mode-map "\t" 'scheme-complete-or-indent)))
    350 
    351         If you use eldoc-mode (included in Emacs), you can also get live
    352         scheme documentation with:
    353 
    354         (add-hook 'scheme-mode-hook
    355           (lambda ()
    356               (setq eldoc-info-function 'scheme-get-current-symbol-info)
    357                   (eldoc-mode)))
    358 
    359         Replace "'scheme" in the elisp expressions above with "'hen", if
    360         you want to add tab-completion to CHICKEN's own emacs mode.
    361 
    362 
    363  7. What's next?
    364 
    365         If you find any bugs, or want to report a problem, please consider
    366         using the "chicken-bug" tool to create a detailed bug report.
    367 
    368         If you have any more questions or problems (even the slightest
     309        An emacs mode is provided in the file `hen.el'. To use it,
     310        copy it somewhere into a location you normally use for emacs
     311        extensions. If you want to add a specific location permanently
     312        to the list of paths emacs should search for extensions, add
     313        the following line to your `.emacs' file:
     314
     315          (setq load-path
     316            (cons
     317              "<directory-where-your-emacs-lisp-files-live>"
     318              load-path))
     319
     320        Add
     321
     322          (require 'hen)
     323       
     324        To make "hen-mode" available, and enter it by issuing the
     325        command M-x hen-mode.
     326
     327        A copy of Alex Shinn's highly useful tab-completion code is
     328        also included in `scheme-complete.el'. Install it like `hen.el'
     329        and add this code to your `.emacs':
     330
     331          (autoload 'scheme-smart-complete "scheme-complete" nil t)
     332          (eval-after-load 'scheme
     333            '(progn (define-key scheme-mode-map "\e\t" 'scheme-smart-complete)))
     334
     335        Or:
     336
     337          (eval-after-load 'scheme
     338            '(progn (define-key scheme-mode-map "\t" 'scheme-complete-or-indent)))
     339
     340        If you use eldoc-mode (included in Emacs), you can also get live
     341        scheme documentation with:
     342
     343        (add-hook 'scheme-mode-hook
     344          (lambda ()
     345              (setq eldoc-info-function 'scheme-get-current-symbol-info)
     346                  (eldoc-mode)))
     347
     348        Replace "'scheme" in the elisp expressions above with "'hen", if
     349        you want to add tab-completion to CHICKEN's own emacs mode.
     350
     351
     352 7. Compatibility notes
     353
     354        CHICKEN 4 uses a completely reimplemented hygienic macro and
     355        module system, which has considerably more felixbility and power,
     356        but will require rewriting macros in code that previously was
     357        used with CHICKEN 3. Notably, `define-macro' is not available
     358        anymore. See the manual on how to translate such macros to
     359        low-level hygienic macros or ask on the CHICKEN mailing list.
     360
     361
     362 8. What's next?
     363
     364        If you find any bugs, or want to report a problem, please consider
     365        using the "chicken-bug" tool to create a detailed bug report.
     366
     367        If you have any more questions or problems (even the slightest
    369368        problems, or the most stupid questions), then please subscribe
    370         to the "chicken-users" mailing list and ask for help. It will
    371         be answered.
    372 
    373 
    374         Have fun!
     369        to the "chicken-users" mailing list and ask for help. It will
     370        be answered.
     371
     372
     373        Have fun!
  • chicken/trunk/manual/Acknowledgements

    r12956 r13452  
    1010Category 5, Taylor Campbell, Naruto Canada, Esteban U. Caamano Castro,
    1111Franklin Chen, Thomas Chust, Gian Paolo Ciceri, John Cowan, Grzegorz
    12 Chrupa&#322;a, James Crippen, Tollef Fog Heen, Alejandro Forero
    13 Cuervo, Linh Dang, Brian Denheyer, dgym, Don, Chris Double, Brown
    14 Dragon, Jarod Eells, Petter Egesund, Steve Elkins, Daniel B. Faken,
    15 Will Farr, Graham Fawcett, Marc Feeley, Fizzie, Matthew Flatt, Kimura
    16 Fuyuki, Tony Garnock-Jones, Martin Gasbichler, Joey Gibson, Stephen
    17 C. Gilardi, Joshua Griffith, Johannes Groedem, Damian Gryski, Mario
    18 Domenech Goulart, Andreas Gustafsson, Sven Hartrumpf, Jun-ichiro
    19 itojun Hagino, Ahdi Hargo, Matthias Heiler, Karl M. Hegbloom, William
    20 P. Heinemann, Bill Hoffman, Bruce Hoult, Hans Huebner, Markus
    21 Huelsmann, Goetz Isenmann, Paulo Jabardo, Wietse Jacobs, David
    22 Janssens, Christian Jaeger, Dale Jordan, Valentin Kamyshenko, Daishi
    23 Kato, Peter Keller, Brad Kind, Ron Kneusel, Matthias Koeppe, Krysztof
    24 Kowa&#322;czyk, Andre Kuehne, Todd R. Kueny Sr, Goran Krampe, David
    25 Krentzlin, Ben Kurtz, Micky Latowicki, John Lenz, Kirill Lisovsky,
    26 Juergen Lorenz, Kon Lovett, Dennis Marti, Charles Martin, Bob McIsaac,
    27 Alain Mellan, Eric Merrit, Perry Metzger, Scott G. Miller, Mikael,
    28 Bruce Mitchener, Chris Moline, Eric E. Moore, Julian Morrison, Dan
    29 Muresan, Lars Nilsson, Ian Oversby, o.t., Gene Pavlovsky, Levi
    30 Pearson, Nicolas Pelletier, Carlos Pita, Robin Lee Powell, Pupeno,
    31 Davide Puricelli, Doug Quale, Eric Raible, Ivan Raikov, Joel Reymont,
    32 Eric Rochester, Andreas Rottman, David Rush, Lars Rustemeier, Daniel
    33 Sadilek, Oskar Schirmer, Burton Samograd, Reed Sheridan, Ronald
    34 Schroeder, Spencer Schumann, Ivan Shcheklein, Alex Shinn, Ivan
    35 Shmakov, Shmul, Tony Sidaway, Jeffrey B. Siegal, Andrey Sidorenko,
    36 Michele Simionato, Volker Stolz, Jon Strait, Dorai Sitaram, Robert
    37 Skeels, Jason Songhurst, Clifford Stein, Sunnan, Zbigniew Szadkowski,
    38 Rick Taube, Nathan Thern, Mike Thomas, Minh Thu, Christian Tismer,
    39 Andre van Tonder, John Tobey, Henrik Tramberend, Vladimir Tsichevsky,
    40 Neil van Dyke, Sander Vesik, Jaques Vidrine, Panagiotis Vossos, Shawn
    41 Wagner, Peter Wang, Ed Watkeys, Brad Watson, Thomas Weidner, Goeran
    42 Weinholt, Matthew Welland, Drake Wilson, Joerg Wittenberger, Peter
    43 Wright, Mark Wutka, Richard Zidlicky and Houman Zolfaghari for
    44 bug-fixes, tips and suggestions.
     12Chrupa&#322;a, James Crippen, Tollef Fog Heen, Drew Hess, Alejandro
     13Forero Cuervo, Linh Dang, Brian Denheyer, dgym, Don, Chris Double,
     14Brown Dragon, Jarod Eells, Petter Egesund, Steve Elkins, Daniel
     15B. Faken, Will Farr, Graham Fawcett, Marc Feeley, Fizzie, Matthew
     16Flatt, Kimura Fuyuki, Tony Garnock-Jones, Martin Gasbichler, Joey
     17Gibson, Stephen C. Gilardi, Joshua Griffith, Johannes Groedem, Damian
     18Gryski, Mario Domenech Goulart, Andreas Gustafsson, Sven Hartrumpf,
     19Jun-ichiro itojun Hagino, Ahdi Hargo, Matthias Heiler, Karl
     20M. Hegbloom, William P. Heinemann, Bill Hoffman, Bruce Hoult, Hans
     21Huebner, Markus Huelsmann, Goetz Isenmann, Paulo Jabardo, Wietse
     22Jacobs, David Janssens, Christian Jaeger, Dale Jordan, Valentin
     23Kamyshenko, Daishi Kato, Peter Keller, Brad Kind, Ron Kneusel,
     24Matthias Koeppe, Krysztof Kowa&#322;czyk, Andre Kuehne, Todd R. Kueny
     25Sr, Goran Krampe, David Krentzlin, Ben Kurtz, Micky Latowicki, John
     26Lenz, Kirill Lisovsky, Juergen Lorenz, Kon Lovett, Dennis Marti,
     27Charles Martin, Bob McIsaac, Alain Mellan, Eric Merrit, Perry Metzger,
     28Scott G. Miller, Mikael, Bruce Mitchener, Chris Moline, Eric E. Moore,
     29Julian Morrison, Dan Muresan, Lars Nilsson, Ian Oversby, o.t., Gene
     30Pavlovsky, Levi Pearson, Nicolas Pelletier, Carlos Pita, Robin Lee
     31Powell, Pupeno, Davide Puricelli, Doug Quale, Eric Raible, Ivan
     32Raikov, Joel Reymont, Eric Rochester, Andreas Rottman, David Rush,
     33Lars Rustemeier, Daniel Sadilek, Oskar Schirmer, Burton Samograd, Reed
     34Sheridan, Ronald Schroeder, Spencer Schumann, Ivan Shcheklein, Alex
     35Shinn, Ivan Shmakov, Shmul, Tony Sidaway, Jeffrey B. Siegal, Andrey
     36Sidorenko, Michele Simionato, Volker Stolz, Jon Strait, Dorai Sitaram,
     37Robert Skeels, Jason Songhurst, Clifford Stein, Sunnan, Zbigniew
     38Szadkowski, Rick Taube, Nathan Thern, Mike Thomas, Minh Thu, Christian
     39Tismer, Andre van Tonder, John Tobey, Henrik Tramberend, Vladimir
     40Tsichevsky, Neil van Dyke, Sander Vesik, Jaques Vidrine, Panagiotis
     41Vossos, Shawn Wagner, Peter Wang, Ed Watkeys, Brad Watson, Thomas
     42Weidner, Goeran Weinholt, Matthew Welland, Drake Wilson, Joerg
     43Wittenberger, Peter Wright, Mark Wutka, Richard Zidlicky and Houman
     44Zolfaghari for bug-fixes, tips and suggestions.
    4545
    4646CHICKEN uses the "irregex" regular expression package written by Alex Shinn.
  • chicken/trunk/manual/C interface

    r7036 r13452  
    395395Previous: [[Other support procedures]]
    396396
    397 Next: [[chicken-setup]]
     397Next: [[Extensions]]
  • chicken/trunk/manual/Extensions

    r12840 r13452  
    7272Extensions can be created by creating an (optionally gzipped) {{tar}}
    7373archive named {{EXTENSION.egg}} containing all needed files plus a
    74 {{.setup}} script in the root directory.  After {{chicken-setup}} has
     74{{.setup}} script in the root directory.  After {{chicken-install}} has
    7575extracted the files, the setup script will be invoked. There are no
    7676additional constraints on the structure of the archive, but the setup
     
    267267 [parameter] (setup-root-directory [PATH])
    268268
    269 Contains the path of the directory where {{chicken-setup}} was invoked.
     269Contains the path of the directory where {{chicken-install}} was invoked.
    270270
    271271
  • chicken/trunk/manual/faq

    r12559 r13452  
    613613Yes, just [[FAQ#Extensions#How can I install Chicken eggs to a non-default location?|install them in a directory you can write]].
    614614
     615==== Why does downloading an extension via {{chicken-install}} fail on Windows Vista?
     616
     617Possibly the Windows Firewall is active, which prevents {{chicken-install}} from opening a TCP
     618connection to the egg repository. Try disabling the firewall temporarily.
     619
    615620----
    616621
  • chicken/trunk/scheme-complete.el

    r12117 r13452  
    27282728                                 #'string-lessp)))))
    27292729      (and (fboundp 'shell-command-to-string)
    2730            (let* ((res (shell-command-to-string "chicken-setup -R"))
     2730           (let* ((res (shell-command-to-string "csi -p \"(repository-path)\""))
    27312731                  (res (substring res 0 (- (length res) 1))))
    27322732             (and res (file-directory-p res) res)))
  • chicken/trunk/setup-api.scm

    r13138 r13452  
    626626  (error
    627627   (sprintf
    628     "the required extension `~s' ~a - please run~%~%  chicken-setup ~a~%~%and repeat the current installation operation."
     628    "the required extension `~s' ~a - please run~%~%  chicken-install ~a~%~%and repeat the current installation operation."
    629629    ext msg ext) ) )
    630630
Note: See TracChangeset for help on using the changeset viewer.