From scsh-users-request@scsh.net Sun May 14 07:53:59 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id A54B314A; Sun, 14 May 2006 07:53:56 +0200 (DFT) Received: from mx1.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx1 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 25210-03; Sun, 14 May 2006 07:53:52 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id E487F111; Sun, 14 May 2006 07:53:50 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id CB3AE5ED4; Sun, 14 May 2006 07:53:50 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net Date: Sun, 14 May 2006 07:53:44 +0200 From: Lionel Elie Mamane To: Daniel Hagerty Cc: scsh-users@scsh.net Subject: Re: SCSH status and future Message-ID: <20060514055344.GA22371@capsaicin.mamane.lu> References: <20060218190240.GA13741@capsaicin.mamane.lu> <20060218190712.GA13963@capsaicin.mamane.lu> <17399.38634.713594.377273@perdition.linnaean.org> <20060218224149.GB14770@capsaicin.mamane.lu> <17399.48129.759286.213920@perdition.linnaean.org> <20060219072656.GA1894@capsaicin.mamane.lu> <17400.57126.946621.295332@perdition.linnaean.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <17400.57126.946621.295332@perdition.linnaean.org> X-Operating-System: GNU/Linux X-Request-PGP: http://www.mamane.lu/openpgp/rsa_v4_4096.asc User-Agent: Mutt/1.5.11+cvs20060403 Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/313 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Sun, 14 May 2006 07:53:50 +0200 (MST) On Sun, Feb 19, 2006 at 04:12:06PM -0500, Daniel Hagerty wrote: >> It doesn't exactly say that, but its requirements for 32 bit >> binaries and 64 bit binaries conflict, if I remember well. Like >> they both can expect their libraries to dlopen() to be in /usr/lib/ >> or something like that. Only on some 64 bit architectures. Not all >> of them. I don't remember the details. > This is not a conflict given engineering effort. 32 bit > binaries and 64 bit binaries are distinguishable from one another, > and your kernel can take appropriate steps to get them to coexist. It can, but this leads to either a different filesystem view for 32 bit and 64 bit binaries, or different system calls not acting on the same file when given the same filename; I find the two unattractive. The first means that typing "objdump -x /lib/foo.so" will give different results depending on whether you installed the 32 bit objdump or the 64 bit one. The second means that code like: if (access("/usr/lib/foo.so", R_OK)) dlopen("/usr/lib/foo.so") not to do what one expects at first. There are efforts in the direction of solving the problem cleanly by changing all this to a scheme so that 32 bit IA32 libraries for glibc/linux live in /usr/lib/i386-gnu-linux/, 64 bit sparc libraries glibc/(kernel of FreeBSD) live in /usr/lib/sparc64-gnu-freebsd/, ... so that whatever your processor can execute (and whatever your kernel can "emulate"), parallel installation is not an issue. This "obviously" breaks all legacy applications (except for _one_ architecture per filesystem, with symlinks), which are ... like the major point of the LSB. Politics, politics, politics. > It might help you to remember that amd64 is not the first platform > to have these sorts of issues; sparcv9 is a decade old and presented > similar problems with sparcv8 executables. The LSB is more reasonable for sparcv9: 64 bit libraries are in /usr/lib64/, if I remember well. Usually the base system is a 32 bit one (thus taking the special names /usr/lib/, etc), with support for 64 bit binaries (with _other_ paths like /usr/lib64/). I don't think any distro makes a "full native" sparc64 port. Because in amd64 you get double amount of registers compared to IA32 (and maybe for stoopid marketing reasons: we support a native 64 bit system!), it was usually decided to make a "port" of distros where the base system a 64 bit one, thus taking the special /usr/lib/ paths. Messy, messy, messy. This all doesn't help for truly 64 bit-only targets like alpha (unless you do real CPU emulation). OTOH in 5 years, alpha will be irrelevant anyway. :) -- Lionel From scsh-users-request@scsh.net Tue May 16 15:27:19 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id C722A158; Tue, 16 May 2006 15:27:17 +0200 (DFT) Received: from mx1.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx1 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 34028-02; Tue, 16 May 2006 15:27:12 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id 13CB2131; Tue, 16 May 2006 15:27:10 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id D509F5ECF; Tue, 16 May 2006 15:27:09 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net To: scsh-users Subject: Release of scsh 0.6.7 From: Martin Gasbichler Date: Tue, 16 May 2006 15:26:15 +0200 Message-ID: User-Agent: Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.5-b24 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/314 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Tue, 16 May 2006 15:27:09 +0200 (MST) The scsh developers are very pleased to announce the release of version 0.6.7 of scsh, the Scheme Shell. Scsh 0.6.7 is a mainly a bug-fix release with some minor additions to support the upcoming release of Commander S. For more information about scsh, visit our website at http://www.scsh.net/ You can download the tarball from ftp://ftp.scsh.net/pub/scsh/scsh.tar.gz We have appended the RELEASE file from the distribution for your convenience. Have fun! Brian, Martin, Mike and Dr. S. ---------------------------------------------------------------------------= ---- Scsh 0.6.7 Release notes -*- outline -*- We are pleased to release scsh version 0.6.7. The text below gives a general description of scsh, instructions for obtain= ing it, pointers to discussion forums, and a description of the new features in release 0.6.7. (Emacs should display this document is in outline mode. Say c-h m for instructions on how to move through it by sections (e.g., c-c c-n, c-c c-p).) * Contents =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D What is scsh Scsh as a scripting language Scsh as a systems-programming language Scsh is a portable programming environment Obtaining and installing scsh Getting in touch The World-Wide What? New in this release New in 0.6.6 New in 0.6.5 New in 0.6.4 New in 0.6.3 New in 0.6.2 New in 0.6.1 New in 0.6.0 Thanks * What is scsh =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Scsh is a broad-spectrum systems-programming environment for Unix embedded in R5RS Scheme. It has an open-source copyright, and runs on most major Unix systems. ** Scsh as a scripting language ------------------------------- Scsh has a high-level process notation for doing shell-script like tasks: running programs, establishing pipelines and I/O redirection. For example, = the shell pipeline gunzip < paper.tex.gz | detex | spell | lpr -Ppulp & would be written in scsh as (& (| (gunzip) (detex) (spell) (lpr -Ppulp)) ; Background a pipeline (< paper.tex.gz)) ; with this redirection Scsh embeds this process notation within a full Scheme implementation. The process notation is realized as a set of macro definitions, and is carefully designed to allow full integration with standard Scheme code. Scsh isn't Scheme-like; it is Scheme. At the scripting level, scsh also has an Awk design, also implemented as a macro that can be embedded inside general Scheme code. Scripts can be written as standalone Scheme source files, with a leading #!/usr/local/bin/scsh -s trigger line. ** Scsh as a systems-programming language ----------------------------------------- Scsh additionally provides the low-level access to the operating system normally associated with C. The current release provides full access to Pos= ix, plus important non-Posix extensions, such as complete sockets support. "Complete Posix" means: fork, exec & wait, sockets, full read, write, open & close, seek & tell, complete file-system access, including stat, chmod/chgrp/chown, symlink, FIFO & directory access, tty & pty support, file locking, pipes, select, file-name pattern-matching, time & date, environment variables, signal handlers, and more. In brief, you can now write Unix systems programs in Scheme instead of C. For example, we have implemented an extensible HTTP server at MIT entirely in scsh. As important as full access to the OS is the manner in which it is provided. Scsh integrates the OS support into Scheme in a manner which respects the general structure of the language. The details of the design are discussed in a joint MIT Lab for Computer Science/University of Hong Kong technical report, "A Scheme Shell," also to appear in a revised format in the "Journa= l=20 syof Lisp and Symbolic Computation." This paper is also available by ftp: ftp://ftp.scsh.net/pub/scsh/papers/scsh-paper.ps ** Scsh is a portable programming environment --------------------------------------------- Scsh is designed for portability. It is implemented on top of Scheme 48, a byte-code-interpreter Scheme implementation. The Scheme 48 virtual machine can be compiled on any system with a C compiler; the rest of Scheme 48 is machine-independent across 32-bit processors. Scsh's OS interface is also quite portable, providing a consistent interface across different Unix platforms. We currently have scsh implementations for: AIX BSD/OS CXUX FreeBSD HP-UX IRIX Linux NetBSD OpenBSD Solaris SunOS Win32 Darwin/Mac OS X GNU Hurd Scsh code should run without change across these systems. Porting to new platforms is usually not difficult. * Obtaining and installing scsh =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D You can get a copy of scsh via anonymous ftp, from ftp://ftp.scsh.net/pub/scsh/scsh.tar.gz The tar file includes a detailed manual and a paper describing the design of the system. For the lazily curious, we also have the manual separately available as ftp://ftp.scsh.net/pub/scsh/0.6/scsh-manual.ps Just click 'n view. You *should* be able to build scsh on the standard platforms with exactly f= ive commands: gunzip, tar, cd, ./configure, and make. The configure script figu= res out the special flags and switches needed to make the build work (thanks to the GNU project for the autoconfig tool that makes this possible). After doing the make, you can start up a Scheme shell and try it out by saying ./go See the manual for full details on the command-line switches. If it's harder than this, and your system is standard, we'd like to know about it. * Getting in touch =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Currently, there is a mailing-list which is mirrored to a newsgroup. To (un)subscribe to the mailing-list, send a message to scsh-users-request@scsh.net. To submit a message to the mailing-list, send it to scsh-users@scsh.net. The mailing-list is also readable as a standard newsgroup, thanks to gmane, a mail-to-news gateway. More information is available at the following URL: http://gmane.org/info.php?group=3Dgmane.lisp.scheme.scsh There used to be a newsgroup dedicated to scsh, called comp.lang.scheme.scsh but it is now deprecated. Bugs can be reported to the same list scsh-users@scsh.net or via the Scsh project's bugs section on SourceForge: http://sourceforge.net/projects/scsh/ * The World-Wide What? =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D We even have one of those dot-com cyberweb things:=20 http://www.scsh.net We manage the project using SourceForge: http://sourceforge.net/projects/scsh/ * New in this release =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ** Support for interix ** Ignoring of synchronous signals The procedures IGNORE-SIGNAL and HANDLE-SIGNAL-DEFAULT have been added. ** Support for gcc 4.0 ** 0.6 for module path The standard module path now contains ${prefix}/lib/scsh/modules/0.6 in addition to $prefix/lib/scsh/modules for compatibility with install-lib ** New implementation of open-pty Instead of search for /dev/pty??, scsh now tries a wide variety of ways to aquire a new pty and the corresponding tty. ** Bug fixes argv[0] is now the first element of command-line Fixes found by new test suite Regexp for empty string Argument checking for COPY-BYTES! GC_PROTECTs for send_substring format_date support for #f timezone Added predicates for user-info and group-info Reaping of stopped processes: Do not mark stopped processes as dead md5-digest-for-port | regexps return char-sets standard-let in srfi-5 (%)read-delimited! checks for mutable buffer leap second for srfi-19 The default image for the scshvm is now the installed scsh.image. * New in 0.6.6 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ** Removed or replaced non-free code Some files in the previous versions of scsh did not conform to scsh's BSD-style license. We therefore removed the directory scheme/infix and asked the copyright holders of the rest of the code to put their code under a compatible license. The code of the sort package has been replaced by a new version (see below). ** New code for sorting The old package SORT from Scheme 48 has been replaced by a sophisticated library written by Olin Shivers for the withdrawn SRFI 32. ** Separate documentation of the library directories search facility The manual now contains a separate section that describes the library directories search facility. The description of the respective switches has been adapted accordingly. ** New module CONFIGURE The new module CONFIGURE permits access to some of the values obtained during the run of the configure script. ** Argument processing more robust Any number of whitespaces may now occur between the arguments to the VM. ** Ultrix is no longer supported The Ultrix platform is lacking support for POSIX regular expressions and is therefore no longer supported. ** Bug fixes Fix WITH-LOCk Ensure that the exit value is 1 if scsh exits due to an error Load the package scheme-with-scsh before dumping images to get better start-up times Fix two bugs in GLOB related to quotation The optmizer AUTO-INTEGRATE can now inline procedures with macro-generated arguments The optmizer FLAT-ENVIRONMENTS now works if invoked after AUTO-INTEGRATE Fixed a bug in the parser of "-" sre forms Removed accidentally committed expansion of paths in SCSH_LIB_DIR Fix the various SELECT-like procedures for 0 timeouts Let PATH-LIST->FILE-NAME return "/" for '(""). Fix bug in S48_RECORD_TYPE: third parameter to s48_stob_ref was missing. Fixed check for -rdynamic=20=20=20 FIELD-READER returns (values EOF '()) on an empty port Fixed STRING-CONTAINS and STRING-CONCATENATE-REVERSE/SHARED from SRFI-13 * New in 0.6.5 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ** New platform: GNU Hurd Andreas V=F6gele ported scsh to GNU Hurd. ** ./configure option to set default scsh library directories=20 The ./configure script now accepts the option --with-lib-dirs-list to specify a list of default scsh library directories. In previous versions of scsh this list was hardwired to /usr/local/lib/scsh/modules. ** Support for DESTDIR for easier packaging The install target of the Makefile now respects the environment variable DESTDIR to allow package maintainers to use a staging directory. ** New SRFI This release adds support for SRFI 42. ** Switch to load exec scripts from library path The new switch -lel searches the library path for a file and loads the file into the exec package. ** Removed scheme/infix/ The directory scheme/infix/ had a non-free copyright licence and has been removed. ** Bug fixes - SEEK currently works on unbuffered ports only. Check this in the implementation and oopsify it in the manual. - Adjust documentation of some low-level regexp procedures - Removed message argument form errno-error - After fork/pipe, make the ports returned by the pipe the current-in/output-ports - Get the names of MAKE-STRING-PORT-FILTER and MAKE-CHAR-PORT-FILTER right in the doc - Fixed memory leak in scheme_cwd - Fixed memory leak in format_date - Avoid calling SOCKET-OPTION twice in case of an error - Fix for (rx (|)) by Peter Wang - Fix for (posix-string->regexp "$") by Peter Wang =20=20=20 ** API changes None known. * New in 0.6.4 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ** Switches to load exec scripts The new switch -le loads a file into the exec package, the new switch -de loads the "-s" script into the exec package. ** New SRFIs This release adds support for SRFI 25, 26, 27, 28 and 30. ** Bug fixes - Other select bug - Timeout for select is in seconds, not milliseconds - Load package md5 before dumping scsh.image - Revised implementation of SRFI-19 - -sfd switch called bogus procedures - Ooopsify write-string/partial=20=20=20 - Clean up get_groups - Check for "." in file-name-{sans-}extension - Bug fix for let-match: variables may be #f - Fix some problems with WAIT-FOR-CHANNELS - Fixes in the time zone code - Fix a bug in SEND-MESSAGE: There is such a thing as an empty datagram - Renamed string-filter to make-string-port-filter and char-filter to make-char-port-filter ** API changes pause-until-interrupt has been removed because it is not compatible with the thread system * New in 0.6.3 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ** Shorter startup times By a couple of small fixes we could diminish the startup time by 10-30%. ** stripped-scsh.image In addition to the standard heap image scsh.image, scsh now ships with an additional image stripped-scsh.image. This image contains the same code as the standard image but has almost all debugging information removed. It is therefore much smaller (2.5 MB vs. 4.5 MB) which also allows shorter startup times. The image is intended for use in scripts but not for interactive development. See the manual for more information. ** MD5 support The package md5 contains a bunch of procedures to compute MD5 checksums. ** New SRFIs This release adds support for SRFI 25, 26, 27, 28 and 30. ** API changes select and select! are supported again. Note however, that we recommend to use the new select-ports and select-port-channels procedures instead whenever possible. New interface to the uname function. New direct interface to the directory stream operations New structure scheme-with-scsh which combines the exports of the modules scsh and scheme, avoiding duplicates New procdures to work directly on file-info records The repl procedure has been removed New procedures connect-socket-no-wait, connect-socket-successful? Add lookup-external from recent S48 ** Bugfixes LET-MATCH, IF-MATCH, and COND-MATCH now behave according to the documentation. Many bug fixes for the SRE system, specifically for dynamic submatches. PORT->SOCKET uses dups both ports of the socket Added missing process resource alignments No reaping for stopped children Initialize t.c_lflag before reading it. Fix to allow single character here strings. Add a whole bunch of S48_GC_PROTECT against s48_extract_integer. Added MAP, FOR-EACH, MEMBER, ASSOC to SRFI 1 interface Fixed a subtle bug in the macro for the << redirection Use "compare" und "rename" to compare symbols in lots of macros Fixed the close method for string-input-ports ... and many others. * New in 0.6.2 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ** SRFIs In addition to SRFIs 1, 8, 13, 14 and 23 scsh now features SRFIs 2, 5, 6, 7, 9, 11, 16, 17 and 19. See http://srfi.schemers.org/ for a detailed description. The SRFIs are available in packages srfi-N where N is the number of the SRFI. ** port->socket New procedure port->socket to turn a port into a socket object was added to the network code. ** New forms in the module language The module language supports the new forms modify, subset and with-prefix from Scheme 48 version 0.57. ** API changes Fork, fork/pipe, fork/pipe+ take an optional argument continue-threads? to determine whether all threads should continue to run in the child. exec-path-list is now a preseved thread fluid ** PDF version of the manual There is now a PDF version of the manual generated by pdflatex. ** Bugfixes - Added default argument to tty-info as described in the manual - Conversion to s48_value in tty1.c - Fixed another hygiene problem in SRE - Plugged space leak in bind-listen-accept-loop - Aligned CWD and umask in various file operations - Better releasing of port locks - Corrected exception of time - Set-cloexec to #t for unrevealed ports. - Included scsh paper in the distribution. - Fixed accept for AF_UNIX - (setenv var #f) now deletes var from environment - Quoted { and } within literal strings of regexps * New in 0.6.1 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ** API changes For sre's, BOW, EOW, WORD, and WORD+ (which were already unsupported in 0.6.0 on most platforms) are gone for good. ** Bugfixes Most of the known bugs of version 0.6.0 have been fixed, many thanks for the precise reports! See the project page on SourceForge for a list of the remaining known bugs. Here is a brief overview of the fixes: - GC_PROTECT'ed the necessary variables (specifically, where >1 arg to a function 'may GC') (Thanks to Steven Jenkins for dealing with this) - Fixed various race conditons in the signal handling and process reaping= code - Fixed bug in set-process-group - If $HOME is unset, consult (user-info (user-uid)) for the value of=20 home-directory - Fix external-call-from-callback problem leading to spurious gc-protection-mismatch exceptions. - Let s48-do-gc return 0 so the PreScheme compiler will emit the correct signature of the function. - scsh/linux/tty-consts.scm: num-ttychars seems to be 32 not 19. - scsh/top.scm: Return 0 exit status for -c and -e. - *.c: Replaced // comments. - scsh/syslog1.c: Remove LOG_LPR from list of syslog levels. - scsh/network1.c: Pass SYSCALL argument to ERRNO-ERROR. - scsh/syscalls1.c: Disable timer interrupts before execve - scsh/network.scm: Correct name extraction in bind-socket - Added export for with-error-output-port - Install HTML version of manual under $(libdir) - ./configure is more rebost wrt $(srcdir) - Fixed installation of the S48 manual - Replaced several /tmp by /var/tmp=20 - Catch EISDIR in delete-filesys-object - flush-all-ports is now non-blocking * New in 0.6.0 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ** Scsh is now based on Scheme 48 0.53=20=20 With the move from Scheme 48 version 0.36 to version 0.53 in this release the underlying system received a massive update. The most significant changes include: User level threads Advanced garbage collector Improved foreign function interface to C The most significant change for Scsh users is the addition of a user-level thread system. Scsh provides various features to deal with this new power in a system programming environment: An event based interface to interrupts, thread local process state and thread-safe system calls. ** A manual for Scheme 48 has been included Richard Kelsey, the author of Scheme 48, has graciously allowed us to retrofit the current Scheme 48 manual for inclusion in this scsh release. ** Interfaces to dot-locking, crypt and syslog Scsh now provides advisory file locking via the dot-locking scheme and a direct binding to the crypt function. Furthermore we added a complete, system-independent and thread-safe interface to syslog. ** API changes Some features of the previous releases are currently not supported as we did not have the time to implement them. Please tell us, if you can't get along without them. Here is a listing of these currently dereleased features: select select! ODBC support bufpol/line The following procedures received new names in this release: sleep (now process-sleep) sleep-until (now process-sleep-until) network-info, service-info and protocol-info now return #f on non-success. The default directory for creating temporary files has changed: It's now the value of $TMPDIR if set and /var/tmp otherwise. The nth procedure is still there but is now officially obsolete. It will go away in a future release. ** HTML version of the manual There is now a HTML version of the scsh manual generated by tex2page * Thanks =3D=3D=3D=3D=3D=3D=3D=3D We would like to thank the members of local-resistance cells for the Underground everywhere for bug reports, bug fixes, design review and commen= ts that were incorporated into this release. We really appreciate their help, particularly in the task of porting scsh to new platforms. =09 Brought to you by the Scheme Underground. Go forth and write elegant systems programs. -Olin Shivers, Brian Carlstrom, Martin Gasbichler & Mike Sperber From scsh-users-request@scsh.net Fri May 19 08:00:24 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id 8BEF61314; Fri, 19 May 2006 08:00:22 +0200 (DFT) Received: from mx4.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx4 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 33166-04; Fri, 19 May 2006 08:00:18 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id 42E5A1250; Fri, 19 May 2006 08:00:14 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id 1A9005ECF; Fri, 19 May 2006 08:00:13 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net X-Injected-Via-Gmane: http://gmane.org/ To: scsh-users@scsh.net From: Eric Hanchrow Subject: Why is dump-scsh-program failing here? Date: Thu, 18 May 2006 22:48:42 -0700 Lines: 32 Message-ID: <87u07md0p1.fsf@offby1.atm01.sea.blarg.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: offby1.atm01.sea.blarg.net User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) Cancel-Lock: sha1:ohvPKxr7L0e7OcYaTFZCUORaLdw= Sender: news Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/315 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Fri, 19 May 2006 08:00:13 +0200 (MST) This is 0.6.6. Make this executable, make sure you don't have write access to /, then execute it with no arguments. #!/usr/local/bin/scsh \ -e compile -s !# (define (compile args) (with-cwd "/" 0) (dump-scsh-program main "plop")) (define (main args) 'nada) I see Error: exception cannot-open-channel (write-image 13 "plop" '#{Procedure 3927 (unnamed in usual-resumer in usual-resumer)} "Scsh 0.6" "Permission denied") But comment out the 'with-cwd' form, and it works. Why is this happening? -- There is such a thing as American-ness. ... [H]ackers ... come closest of any group I know to embodying it. Closer, probably, than the men running our government. -- Paul Graham From scsh-users-request@scsh.net Fri May 19 15:57:29 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id D54E710C; Fri, 19 May 2006 15:57:26 +0200 (DFT) Received: from mx1.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx1 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 47700-05; Fri, 19 May 2006 15:57:24 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id 3FA541C4; Fri, 19 May 2006 15:56:56 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id 294B15EDA; Fri, 19 May 2006 15:56:56 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net Message-ID: <61565.192.153.92.254.1148047000.squirrel@www.tamos.net> In-Reply-To: <87u07md0p1.fsf@offby1.atm01.sea.blarg.net> References: <87u07md0p1.fsf@offby1.atm01.sea.blarg.net> Date: Fri, 19 May 2006 09:56:40 -0400 (EDT) Subject: Re: Why is dump-scsh-program failing here? From: "Rick Hanson" To: scsh-users@scsh.net Reply-To: rick@tamos.net User-Agent: SquirrelMail/1.4.5 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/316 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Fri, 19 May 2006 15:56:56 +0200 (MST) I'm no expert at scsh (I haven't used it in a long time), but I don't see a problem. You say that the pre-condition is that you don't have write access to '/' and then you're trying to write a file (via 'write-image') into '/'? If so, it seems that scsh is working OK, by telling you that you don't have permission to do this. Am I missing some other info? --Rick > This is 0.6.6. > > Make this executable, make sure you don't have write access to /, then > execute it with no arguments. > > #!/usr/local/bin/scsh \ > -e compile -s > !# > > (define (compile args) > (with-cwd "/" 0) > (dump-scsh-program main "plop")) > > (define (main args) > 'nada) > > I see > > Error: exception > cannot-open-channel > (write-image 13 "plop" '#{Procedure 3927 (unnamed in > usual-resumer > in usual-resumer)} "Scsh 0.6" "Permission denied") > > But comment out the 'with-cwd' form, and it works. > > Why is this happening? > > -- > There is such a thing as American-ness. ... [H]ackers ... come > closest of any group I know to embodying it. Closer, probably, than > the men running our government. > -- Paul Graham > > > -- --Rick Rick Hanson ------------------------------------- echo Mhbqnrnes Stbjr | tr [a-y] [b-z] From scsh-users-request@scsh.net Fri May 19 18:09:02 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id E1A7D140E; Fri, 19 May 2006 18:08:59 +0200 (DFT) Received: from mx4.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx4 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 27132-05; Fri, 19 May 2006 18:08:53 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id B2FB6140F; Fri, 19 May 2006 18:08:51 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id 8FC935ED1; Fri, 19 May 2006 18:08:50 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net X-Injected-Via-Gmane: http://gmane.org/ To: scsh-users@scsh.net From: Eric Hanchrow Subject: Re: Why is dump-scsh-program failing here? Date: Fri, 19 May 2006 09:00:53 -0700 Lines: 35 Message-ID: <87d5eac8cq.fsf@offby1.atm01.sea.blarg.net> References: <87u07md0p1.fsf@offby1.atm01.sea.blarg.net> <61565.192.153.92.254.1148047000.squirrel@www.tamos.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: offby1.atm01.sea.blarg.net User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) Cancel-Lock: sha1:TLs/tXLEchaREqStec2MXsHK44E= Sender: news Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/317 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Fri, 19 May 2006 18:08:50 +0200 (MST) >>>>> "Rick" == Rick Hanson writes: Rick> You say that the pre-condition is that you don't have write Rick> access to '/' Correct. Rick> and then you're trying to write a file (via Rick> 'write-image') into '/'? Wrong. I'm trying to write a file via write-image into my current directory, which (I didn't make clear) was my home directory. (Or, presumably, any directory to which I have write access.) Rick> Am I missing some other info? Perhaps -- (with-cwd) is supposed to _temporarily_ set the working directory, evaluate its body (which in my example is just the number 0), then restore it. If you put (display (cwd)) after the call to (with-cwd), but before the call to dump-scsh-program, you'll see that your working directory is not /, but rather, whatever it was when you started the program. This is the correct behavior. However, despite that, the call to dump-scsh-program will _still_ fail with "Permission denied". -- A novice of the temple once approached the Master Programmer with a question. "Master, does Emacs have the Buddha nature?" the novice asked. The Master Programmer had been in the temple for many years and could be relied upon to know these things. He thought for several minutes before replying. "I don't see why not. It's bloody well got everything else." From scsh-users-request@scsh.net Fri May 19 18:46:58 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id EC88D179; Fri, 19 May 2006 18:46:54 +0200 (DFT) Received: from mx1.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx1 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 24776-03; Fri, 19 May 2006 18:46:51 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id 4B8EB162; Fri, 19 May 2006 18:46:49 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id 1500A5ED1; Fri, 19 May 2006 18:46:48 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net From: "Brian D. Carlstrom" MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <17517.63086.722549.573852@zot.electricrain.com> Date: Fri, 19 May 2006 09:46:38 -0700 To: rick@tamos.net Cc: scsh-users@scsh.net Subject: Re: Why is dump-scsh-program failing here? In-Reply-To: <61565.192.153.92.254.1148047000.squirrel@www.tamos.net> References: <87u07md0p1.fsf@offby1.atm01.sea.blarg.net> <61565.192.153.92.254.1148047000.squirrel@www.tamos.net> X-Mailer: VM 7.19 under Emacs 21.4.1 Reply-To: "Brian D. Carlstrom" Resent-Message-ID: <1myrKD.A.cWW.3ZfbEB@bernard> Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/318 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Fri, 19 May 2006 18:46:48 +0200 (MST) Note that the dump-scsh-program is not within the with-cwd. So he has a no-op with-cwd that cd's to / and back, after which he tries to dump. So this does look like a problem. -bri Rick Hanson writes: > I'm no expert at scsh (I haven't used it in a long time), but I don't see > a problem. You say that the pre-condition is that you don't have write > access to '/' and then you're trying to write a file (via 'write-image') > into '/'? If so, it seems that scsh is working OK, by telling you that > you don't have permission to do this. Am I missing some other info? > --Rick > > > This is 0.6.6. > > > > Make this executable, make sure you don't have write access to /, then > > execute it with no arguments. > > > > #!/usr/local/bin/scsh \ > > -e compile -s > > !# > > > > (define (compile args) > > (with-cwd "/" 0) > > (dump-scsh-program main "plop")) > > > > (define (main args) > > 'nada) > > > > I see > > > > Error: exception > > cannot-open-channel > > (write-image 13 "plop" '#{Procedure 3927 (unnamed in > > usual-resumer > > in usual-resumer)} "Scsh 0.6" "Permission denied") > > > > But comment out the 'with-cwd' form, and it works. > > > > Why is this happening? > > > > -- > > There is such a thing as American-ness. ... [H]ackers ... come > > closest of any group I know to embodying it. Closer, probably, than > > the men running our government. > > -- Paul Graham > > > > > > > > > -- > --Rick > Rick Hanson > ------------------------------------- > echo Mhbqnrnes Stbjr | tr [a-y] [b-z] > From scsh-users-request@scsh.net Sat May 20 00:23:45 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id D7E571301; Sat, 20 May 2006 00:23:42 +0200 (DFT) Received: from mx4.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx4 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 18844-03; Sat, 20 May 2006 00:23:38 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id 64896130C; Sat, 20 May 2006 00:23:36 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id 30D705ECD; Sat, 20 May 2006 00:23:35 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net X-Injected-Via-Gmane: http://gmane.org/ To: scsh-users@scsh.net From: Eric Hanchrow Subject: Fix for: Re: Why is dump-scsh-program failing here? Date: Fri, 19 May 2006 15:13:06 -0700 Lines: 28 Message-ID: <87r72pbr4d.fsf@offby1.atm01.sea.blarg.net> References: <87u07md0p1.fsf@offby1.atm01.sea.blarg.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: offby1.atm01.sea.blarg.net User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) Cancel-Lock: sha1:wJ8CXYsBzW1WYCI/HAKc7SfcaIM= Sender: news Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/319 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Sat, 20 May 2006 00:23:35 +0200 (MST) I haven't been able to test this, since I wasn't able to rebuild scsh (not having scheme48 0.53), but Taylor Campbell suggests this fix: diff -bu /usr/local/src/langs/scheme/scsh-0.6.7/scsh/startup.scm\~ /usr/local/src/langs/scheme/scsh-0.6.7/scsh/startup.scm --- /usr/local/src/langs/scheme/scsh-0.6.7/scsh/startup.scm~ 2006-04-05 00:54:00.000000000 -0700 +++ /usr/local/src/langs/scheme/scsh-0.6.7/scsh/startup.scm 2006-05-19 12:43:06.000000000 -0700 @@ -27,9 +27,12 @@ (newline (command-output)) ;JMG: it is set to #f in the vm, so I omit it now ;;;(flush-the-symbol-table!) ;Gets restored at next use of string->symbol + (with-resources-aligned + (list cwd-resource) + (lambda () (write-image filename (scsh-stand-alone-resumer start) - "Scsh 0.6") + "Scsh 0.6"))) #t)) Diff finished. Fri May 19 15:12:05 2006 -- There is such a thing as American-ness. ... [H]ackers ... come closest of any group I know to embodying it. Closer, probably, than the men running our government. -- Paul Graham From scsh-users-request@scsh.net Tue May 23 18:20:58 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id 03FD21496; Tue, 23 May 2006 18:20:56 +0200 (DFT) Received: from mx4.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx4 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 03416-01; Tue, 23 May 2006 18:20:49 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id B46151493; Tue, 23 May 2006 18:20:46 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id 6BDDF5ECF; Tue, 23 May 2006 18:20:45 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net From: Robby Findler To: scsh-users@scsh.net Subject: Final CFP: Scheme & Functional Programming Workshop 2006 X-Mailer: DrScheme 301.15 Message-Id: <20060523162017.2E2A26C0DF@laime.cs.uchicago.edu> Date: Tue, 23 May 2006 11:20:17 -0500 (CDT) Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/320 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Tue, 23 May 2006 18:20:45 +0200 (MST) Dear all, Just one last reminder that the Scheme and Functional programming workshop's deadline is fast approaching. Only a little more than two weeks to go. Do submit! Best, Robby ============================================================ The purpose of the workshop is to discuss experience with and future developments of the Scheme programming language, as well as general aspects of computer science loosely centered on the general theme of Scheme. http://scheme2006.cs.uchicago.edu/ IMPORTANT DATES Submission deadline: Friday June 9 Author notification: Friday June 30 Final versions due: Friday July 14 Workshop: Sunday September 17, the day before ICFP CALL FOR PAPERS Papers are invited concerning all aspects of the design, semantics, theory, application, implementation, and teaching of Scheme. Some example areas include (but are not limited to): * Language design Scheme's simple syntactic framework and minimal static semantics has historically made the language an attractive lab bench for the development and experimentation of novel language features and mechanisms. Topics in this area include modules systems, exceptions, control mechanisms, distributed programming, concurrency and synchronisation, macro systems, and objects. Past, present and future SRFIs are welcome. * Type systems Static analyses for dynamic type systems, type systems that bridge the gap between static and dynamic types, static systems with type dynamic extensions, weak typing. * Theory Formal semantics, calculi, correctness of analyses and transformations, lambda calculus. * Implementation Compilers, runtime systems, optimisation, virtual machines, resource management, interpreters, foreign-function and operating system interfaces, partial evaluation, program analysis and transformation, embedded systems, and generally implementations with novel or noteworthy features. * Program-development environments and tools The Lisp and Scheme family of programming languages have traditionally been the source of innovative program-development environments. Authors working on these issues are encouraged to submit papers describing their technologies. Topics include profilers, tracers, debuggers, program understanding tools, performance and conformance test suites and tools. * Education Scheme has achieved widespread use as a tool for teaching computer science. Papers on the theory and practice of teaching with Scheme are invited. * Agile Methogologies Dynamic languages seem to share a symbiotic relationship with agile software development methodologies. In particular, the dynamic type checking of Scheme clearly benefits from test-driven development, but that same dynamic checking makes the software more easily adapted to changing requirements. * Applications and experience Interesting applications which illuminate aspects of Scheme experience with Scheme in commercial or real-world contexts; use of Scheme as an extension or scripting language. * Scheme pearls Elegant, instructive examples of functional programming. A Scheme pearl submission is a special category, and should be a short paper presenting an algorithm, idea or programming device using Scheme in a way that is particularly elegant. Following the model of earlier workshops, experience papers need not necessarily report original research results; they may instead report practical experience that will be useful to others, re-usable programming idioms, or elegant new ways of approaching a problem. The key criterion for such a paper is that it makes a contribution from which other practitioners can benefit. It is not enough simply to describe a program! ORGANIZERS Program Chair Robby Findler, University of Chicago Program Committee John Clements, Cal Poly Sebastian Egner, Philips Research Robby Findler, University of Chicago Cormac Flanagan, UC Santa Cruz Erik Hilsdale, Google Eric Knauel, University of Tubingen Steering Committee William D. Clinger, Northeastern University Marc Feeley, University of Montreal Robby Findler, University of Chicago Dan Friedman, Indiana University Christian Queinnec, University Paris 6 Manuel Serrano, INRIA Olin Shivers, Georgia Tech Mitchell Wand, Northeastern University From scsh-users-request@scsh.net Wed May 24 15:14:35 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id B1835110; Wed, 24 May 2006 15:14:33 +0200 (DFT) Received: from mx1.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx1 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 53132-05; Wed, 24 May 2006 15:14:30 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id 3500610F; Wed, 24 May 2006 15:14:28 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id D04C95ED1; Wed, 24 May 2006 15:14:26 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net To: Eric Hanchrow Cc: scsh-users@scsh.net Subject: Re: Fix for: Re: Why is dump-scsh-program failing here? References: <87u07md0p1.fsf@offby1.atm01.sea.blarg.net> <87r72pbr4d.fsf@offby1.atm01.sea.blarg.net> From: Martin Gasbichler Date: Wed, 24 May 2006 15:14:19 +0200 In-Reply-To: <87r72pbr4d.fsf@offby1.atm01.sea.blarg.net> (Eric Hanchrow's message of "Fri, 19 May 2006 15:13:06 -0700") Message-ID: User-Agent: Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.5-b27 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/321 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Wed, 24 May 2006 15:14:26 +0200 (MST) Eric Hanchrow writes: > I haven't been able to test this, since I wasn't able to rebuild scsh > (not having scheme48 0.53), but Taylor Campbell suggests this fix: > > diff -bu /usr/local/src/langs/scheme/scsh-0.6.7/scsh/startup.scm\~ /usr/local/src/langs/scheme/scsh-0.6.7/scsh/startup.scm > --- /usr/local/src/langs/scheme/scsh-0.6.7/scsh/startup.scm~ 2006-04-05 00:54:00.000000000 -0700 > +++ /usr/local/src/langs/scheme/scsh-0.6.7/scsh/startup.scm 2006-05-19 12:43:06.000000000 -0700 > @@ -27,9 +27,12 @@ > (newline (command-output)) > ;JMG: it is set to #f in the vm, so I omit it now > ;;;(flush-the-symbol-table!) ;Gets restored at next use of string->symbol > + (with-resources-aligned > + (list cwd-resource) > + (lambda () > (write-image filename > (scsh-stand-alone-resumer start) > - "Scsh 0.6") > + "Scsh 0.6"))) > #t)) Unfortunately, this patch will leave a lock obtained in the dumped image and will thus break all CWD related procedures after resuming. Here is a better patch that still has its problems but will at least fix your problem: Index: startup.scm =================================================================== RCS file: /cvsroot/scsh/scsh/scsh/startup.scm,v retrieving revision 1.16.2.1 diff -u -c -r1.16.2.1 startup.scm *** startup.scm 5 Apr 2006 08:06:16 -0000 1.16.2.1 --- startup.scm 24 May 2006 13:09:05 -0000 *************** *** 22,36 **** ;;; error handler. MAKE-SCSH-STARTER shadows it in the interactive case. (define (really-dump-scsh-program start filename) ! (let ((filename (translate filename))) (display (string-append "Writing " filename) (command-output)) (newline (command-output)) ;JMG: it is set to #f in the vm, so I omit it now ;;;(flush-the-symbol-table!) ;Gets restored at next use of string->symbol ! (write-image filename ! (scsh-stand-alone-resumer start) ! "Scsh 0.6") ! #t)) ;;; This one relies on the scsh top-level command-line switch parser --- 22,39 ---- ;;; error handler. MAKE-SCSH-STARTER shadows it in the interactive case. (define (really-dump-scsh-program start filename) ! (let ((filename (absolute-file-name (translate filename)))) (display (string-append "Writing " filename) (command-output)) (newline (command-output)) ;JMG: it is set to #f in the vm, so I omit it now ;;;(flush-the-symbol-table!) ;Gets restored at next use of string->symbol ! ! ;; we cannot align umask-resource, euid-resource, and egid-resource here ! ;; as the corresponding locks would then be obtained in the dumped image ! (write-image filename ! (scsh-stand-alone-resumer start) ! "Scsh 0.6") ! #t)) BTW: You don't need Scheme 48 to incorporate this fix. A simple "make install" after patching is sufficient. -- Martin From scsh-users-request@scsh.net Wed May 24 15:22:06 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id C274C10F; Wed, 24 May 2006 15:22:03 +0200 (DFT) Received: from mx1.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx1 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 53140-02; Wed, 24 May 2006 15:22:01 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id 2A37D129; Wed, 24 May 2006 15:21:33 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id 174435ED1; Wed, 24 May 2006 15:21:32 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net Message-ID: <44745D0F.90302@att.net> Date: Wed, 24 May 2006 09:18:07 -0400 From: Duane Winner Reply-To: duanewinner@att.net User-Agent: Thunderbird 1.5.0.2 (Windows/20060308) MIME-Version: 1.0 To: scsh-users@scsh.net Subject: unsubscribe Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/322 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Wed, 24 May 2006 15:21:32 +0200 (MST) From scsh-users-request@scsh.net Wed May 24 17:44:16 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id 2F49513A6; Wed, 24 May 2006 17:44:14 +0200 (DFT) Received: from mx4.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx4 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 53940-05; Wed, 24 May 2006 17:44:09 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id 76B941383; Wed, 24 May 2006 17:44:06 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id 403565ECD; Wed, 24 May 2006 17:44:05 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net X-Injected-Via-Gmane: http://gmane.org/ To: scsh-users@scsh.net From: Eric Hanchrow Subject: Re: Fix for: Re: Why is dump-scsh-program failing here? Date: Wed, 24 May 2006 08:36:13 -0700 Lines: 6 Message-ID: <87ejyjigeq.fsf@offby1.atm01.sea.blarg.net> References: <87u07md0p1.fsf@offby1.atm01.sea.blarg.net> <87r72pbr4d.fsf@offby1.atm01.sea.blarg.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: offby1.atm01.sea.blarg.net User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) Cancel-Lock: sha1:10qjMjW8mR8jGdR6QWht+oN/cpo= Sender: news Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/323 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Wed, 24 May 2006 17:44:05 +0200 (MST) That works! Thanks. -- I think the future of the Republic may depend on young audiences seeing more movies like "Whale Rider" and fewer movies like "Scooby-Doo 2," but then that's just me. -- Roger Ebert From scsh-users-request@scsh.net Thu May 25 03:15:22 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id 5B6B813F5; Thu, 25 May 2006 03:15:19 +0200 (DFT) Received: from mx4.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx4 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 57448-05; Thu, 25 May 2006 03:15:11 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id D41DE1237; Thu, 25 May 2006 03:15:08 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id B8BD55ED3; Thu, 25 May 2006 03:15:08 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net X-Injected-Via-Gmane: http://gmane.org/ To: scsh-users@scsh.net From: "Taylor R. Campbell" Subject: Re: Fix for: Re: Why is dump-scsh-program failing here? Date: Thu, 25 May 2006 01:14:36 +0000 Lines: 5 Message-ID: References: <87u07md0p1.fsf@offby1.atm01.sea.blarg.net> <87r72pbr4d.fsf@offby1.atm01.sea.blarg.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org Cc: scsh-users@scsh.net X-Gmane-NNTP-Posting-Host: pluto.mumble.net In-reply-to: (gasbichl@informatik.uni-tuebingen.de) User-Agent: IMAIL/1.21; Edwin/3.116; MIT-Scheme/7.7.90.+ Sender: news Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/324 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Thu, 25 May 2006 03:15:08 +0200 (MST) The best solution would probably be to disable interrupts and then to call ALIGN-CWD!, rather than WITH-RESOURCES-ALIGNED. This would ensure both alignment and atomicity. Unfortunately, ALIGN-CWD! is not exported by SCSH-PROCESS-STATE-PACKAGE, and consequently it is not available in startup.scm. From scsh-users-request@scsh.net Wed May 31 18:13:17 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id 427C9102; Wed, 31 May 2006 18:13:16 +0200 (DFT) Received: from mx1.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx1 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 28586-01; Wed, 31 May 2006 18:12:38 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx1.informatik.uni-tuebingen.de (Postfix) with ESMTP id 4EEFB135; Wed, 31 May 2006 18:12:37 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id 154B95ED1; Wed, 31 May 2006 18:12:36 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=NufIEbSTtqp1xChFUSD7oVpNq7CxCX1ML1dGkSVqpURPO6/IcE5+y9pvssE+VlhTFTrqT0b4rIVP2rcvpQomMwSkVLKEeeE3/ASA9f5XTG7cirW4TNmAOpOWCzK7C9ksRjuvHU05BTVo+jaiMiNp0LZNL2e4hcDdFZr533f8FOo= Message-ID: <140e7ec30605310912h45e36fddg167fea9c88194413@mail.gmail.com> Date: Thu, 1 Jun 2006 00:12:28 +0800 From: sqweek To: scsh-users@scsh.net Subject: 0.6.5 compilation problem with gcc 4.0.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/325 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Wed, 31 May 2006 18:12:36 +0200 (MST) gcc -c -DHAVE_CONFIG_H -I./c -I./cig -O -march=i386 -pipe -DPIC -fPIC -O2 -o c/unix/io.o c/unix/io.c c/unix/io.c: In function 'ps_write_integer': c/unix/io.c:154: error: invalid storage class for function 'write_integer' c/unix/io.c: At top level: c/unix/io.c:171: error: conflicting types for 'write_integer' c/unix/io.c:160: error: previous implicit declaration of 'write_integer' was here make: *** [c/unix/io.o] Error 1 149 long 150 ps_write_integer(long n, FILE *port) 151 { 152 int status; 153 154 static long write_integer(unsigned long n, FILE *port); 155 156 if (n == 0) { 157 WRITE_CHAR('0', port, status); 158 return status; } 159 else if (n > 0) I moved the write_integer prototype outside the ps_write_integer function body and it went and compile happily. Best guess is that gcc is misinterpreting the intent of the static keyword in this context as a persistant variable instead of a symbol local to the compilation unit? From scsh-users-request@scsh.net Wed May 31 20:35:30 2006 Return-Path: X-Original-To: scsh@informatik.uni-tuebingen.de Delivered-To: scsh@informatik.uni-tuebingen.de Received: from localhost (loopback [127.0.0.1]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id 78E4713ED; Wed, 31 May 2006 20:35:28 +0200 (DFT) Received: from mx4.informatik.uni-tuebingen.de ([127.0.0.1]) by localhost (mx4 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 50220-01; Wed, 31 May 2006 20:35:23 +0200 (DFT) Received: from www.scsh.net (bernard.Informatik.Uni-Tuebingen.De [134.2.12.122]) by mx4.informatik.uni-tuebingen.de (Postfix) with ESMTP id 328D313C3; Wed, 31 May 2006 20:35:21 +0200 (DFT) Received: by www.scsh.net (Postfix, from userid 3123) id EBE9A5ED1; Wed, 31 May 2006 20:35:19 +0200 (MST) Old-Return-Path: X-Original-To: scsh-users@scsh.net Delivered-To: scsh-users@scsh.net To: sqweek Cc: scsh-users@scsh.net Subject: Re: 0.6.5 compilation problem with gcc 4.0.3 References: <140e7ec30605310912h45e36fddg167fea9c88194413@mail.gmail.com> From: Martin Gasbichler Date: Wed, 31 May 2006 20:35:14 +0200 In-Reply-To: <140e7ec30605310912h45e36fddg167fea9c88194413@mail.gmail.com> (sqweek@gmail.com's message of "Thu, 1 Jun 2006 00:12:28 +0800") Message-ID: User-Agent: Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.5-b27 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Resent-Message-ID: Resent-From: scsh-users@scsh.net X-Mailing-List: archive/latest/326 X-Loop: scsh-users@scsh.net List-Post: List-Help: List-Subscribe: List-Unsubscribe: Precedence: list Resent-Sender: scsh-users-request@scsh.net List-Id: List-Archive: Resent-Date: Wed, 31 May 2006 20:35:19 +0200 (MST) sqweek writes: > I moved the write_integer prototype outside the ps_write_integer > function body and it went and compile happily. Best guess is that gcc > is misinterpreting the intent of the static keyword in this context as > a persistant variable instead of a symbol local to the compilation > unit? This problem has been fixed in the latest version of scsh (0.6.7). It's available from . -- Martin