Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Introduce mcvs-debug tool for reproducing Meta-CVS problems in a debugging environment. * code/main.lisp (mcvs-execute): The setup of *interactive-error-io* and *mcvs-error-treatment* is no longer done here, but in the caller. Setting these here interferes with debugging. (mcvs-debug-shell): Removed. (main): Dependency on CLISP removed. Sets up *interactive-error-io* and *mcvs-error-treatment* as mcvs-execute did previously. Return value from mcvs-execute is now ignored. (main-debug): New function. Sets *interactive-error-io* to *terminal-io*, and *mcvs-error-treatment* to :decline. Otherwise behaves like main. * code/install.sh: Create mcvs-debug.mem in lib directory, and mcvs-debug in bin directory. In mcvs-debug, the debugger is enabled by passing ``-on-debug debug'' to CLISP. * code/package.lisp (defpackage): Export main-debug.
Use -q option of clisp during loading.
Uncomment compile step.
Rewrote the CLISP bindings. The CLISP FFI is used to directly access the glibc shared library on Linux. This completely eliminates the need to create a custom linking set. Meta-CVS can now be built without any C development tools. The downside is that the the FFI definitions are not portable, since they depend on the glibc ABI. Support for other C libraries has to be hacked in the clisp-ffi.lisp module now. The main() hack is gone now too. * code/unix-bindings/link.sh: Removed. * code/unix-bindings/Makefile: Likewise. * code/unix-bindings/wrap.c: Likewise. * code/unix-bindings/unix.lisp: Renamed to code/unix-bindings/clisp-ffi.lisp. Contains revamped FFI definitions targetting Linux glibc. * code/install.sh: Substantially simplified. No longer builds a CLISP linking set. No longer builds the mcvs-upgrade tool, which is not useful any longer. Error tests eliminated with use of ``set -e''. * code/mcvs.lisp: Updated to load everything properly.
Do garbage collection before saving image.
* code/install.sh: Generated mcvs-upgrade script cleans away old Meta-CVS package and does garbage collection.
Fix mcvs-upgrade to new compiling scheme.
Revamped loading system. Got rid of require/provide in all Lisp source files. * code/mcvs.lisp: New file. Responsible for compiling and loading everything in the right order. * code/mcvs-main.lisp: File renamed to main.lisp. * code/mcvs-package.lisp: File renamed to package.lisp. * code/system.lisp: File removed.
Merging from mcvs-1-0-branch. * code/install.sh: More fail-safe way to locate library directory; works even when clisp executable is a symlink. Thanks to Sam Steingold, CLISP maintainer, for tip.
* code/install.sh: More fail-safe way to locate library directory; works even when clisp executable is a symlink. Thanks to Sam Steingold, CLISP maintainer, for tip.
Merging from mcvs-1-0-branch. * code/install.sh: Now works under CLISP installations which call the CLISP executable lisp.exe rather than lisp.run. This is the case under Cygwin as of CLISP 2.30 or so.
* code/install.sh: Now works under CLISP installations which call the CLISP executable lisp.exe rather than lisp.run. This is the case under Cygwin as of CLISP 2.30 or so.
* code/mcvs-package.lisp: New file, defines META-CVS package. * code/purge.lisp: Put all symbols in new package. * code/restore.lisp: Likewise. * code/paths.lisp: Likewise. * code/install.sh: Likewise. * code/restart.lisp: Likewise. * code/update.lisp: Likewise. * code/move.lisp: Likewise. * code/grab.lisp: Likewise. * code/unix.lisp: Likewise. * code/slot-refs.lisp: Likewise. * code/prop.lisp: Likewise. * code/multi-hash.lisp: Likewise. * code/rcs-utils.lisp: Likewise. * code/branch.lisp: Likewise. * code/find-bind.lisp: Likewise. * code/execute.lisp: Likewise. * code/link.lisp: Likewise. * code/split.lisp: Likewise. * code/watch.lisp: Likewise. * code/clisp-unix.lisp: Likewise. * code/add.lisp: Likewise. * code/chatter.lisp: Likewise. * code/print.lisp: Likewise. * code/types.lisp: Likewise. * code/remove.lisp: Likewise. * code/convert.lisp: Likewise. * code/error.lisp: Likewise. * code/options.lisp: Likewise. * code/dirwalk.lisp: Likewise. * code/checkout.lisp: Likewise. * code/generic.lisp: Likewise. * code/sync.lisp: Likewise. * code/create.lisp: Likewise. * code/memoize.lisp: Likewise. * code/seqfuncs.lisp: Likewise. * code/cmucl-unix.lisp: Likewise. * code/remap.lisp: Likewise. * code/mapping.lisp: Put symbols in new package. Replace use of CLISP specific substring function with subseq. * code/filt.lisp: Likewise. * code/mcvs-main.lisp: Put symbols in new package. The mcvs function is renamed to main. * code/install.sh: Generate mcvs script that uses qualified name of new startup functiont to start the software.
Merging from mcvs-1-0-branch. * code/install.sh: generate a script called mcvs-upgrade.
* code/install.sh: generate a script called mcvs-upgrade.
Minimal changes for building on Cygwin. * code/install.sh (space_check, dash_check): Function definitions modified to conform to bash2. * code/clisp-unix.lisp (*have-dev-random*, *mcvs-random-state*): New special variables. (guid-gen): Rewritten to fall back on the Common Lisp random function if /dev/urandom is not available.
* code/install.sh: Don't specify -K full option when running specific, generated CLISP image already. When generating mcvs.mem, load the compiled version mcvs-main, rather than mcvs-main.lisp.
* code/install.sh: Check that the installation target path won't look like a command line option to shell commands.
Capitalization and punctuation of error messages.
* code/install.sh: Check that the installation target path does not contain any spaces. It cannot, because it is used in the #! line of an interpreter script. As a consequence of this check, whitespace precautions in the expansion of $TARGET, $TARGET_LIB and $TARGET_BIN have been removed.
Fix installation braindamage. The problem is that the linkkit material is architecture specific; it was wrong to copy that from CLISP. * code/install.sh (CLISP_PATH, CLISP_ROOT, CLISP_LIB): New variables, dynamically computed from clisp's location. The script now runs the clisp-link under $CLISP_LIB rather than using a replica, and uses $CLISP_LIB/linkkit rather than a replica linkkit. (CLISP): Variable renamed to LISPRUN. * code/clisp-link: File removed. * code/linkkit/modules.d: Likewise. * code/linkkit/modules.c: Likewise. * code/linkkit/clisp.h: Likewise.
Working back support for CLISP 2.27. * code/install.sh: Bogus *null-pointer* hack is no longer added to the generated mcvs script, since we have our own FFI functions for doing the test. * code/unix-bindings/unix.lisp (unix-funcs:null-pointer-p): New function, tests a C pointer for null, returns T or NIL. * code/unix-bindings/impl.c (impl_null_pointer_p): New function, C implementation of unix-funcs:null-pointer-p. * code/clisp-unix.lisp (pointer-null): New macro, uses ffi:foreign-address-null under CLISP 2.28 or greater, or unix-funcs:null-pointer-p, under an older CLISP.
Retargetting CVS with new system call bindings that are not GNU/Linux specific.
* clisp-linux.sh (:clisp-old): Added to *features* for CLISP 2.28 or higher. (*null-pointer*): Only defined when :clisp-old is present. (pointer-null): Use new ffi:foreign-pointer-null if :clisp-old feature is not present. * install.sh: Don't do *null-pointer* workaround hack unless :clisp-old feature is present in the memory image.
* update.lisp (mcvs-update): Re-print the "Invoking CVS" chatter if the user re-tries the error. * add.lisp (mcvs-add): CVS failure is now a restartable error; user can decide whether to roll back the effects, retry the CVS add, or keep the effects anyway despite the failed add. * install.sh: Stop the script if there are compilation errors.
Ugly hack to reset *null-pointer* after loading memory image, because CLISP changes the representation of a pickled *null-pointer*.
Adding simple installer.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|