File: 90INTERNALS

package info (click to toggle)
cl-launch 3.018-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 208 kB
  • sloc: sh: 2,408; makefile: 133
file content (23 lines) | stat: -rw-r--r-- 1,021 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
NOTE TO HACKERS WHO'D LIKE TO HACK cl-launch INTERNALS

I conceive cl-launch as the ultimate exercise in "useful quining".
It's a shell script, it's a Lisp program header and library,
it outputs shell scripts and Lisp programs that may include parts of cl-launch.
It also includes its own test system.

cl-launch is very hard to hack. A change you'd think is innocuous will actually
break some complex combination of options on some Lisp implementation and shell
variant. Even for the simplest of changes, I recommend running a full test
before you release, which may involve:

	LISPS="clisp sbcl ccl ecl gclcvs cmucl gcl" # include whatever you have
	mkdir -p ${TMP:-/tmp}/cl-launch-test &&
        cd ${TMP:-/tmp}/cl-launch-test &&
        ${CL-LAUNCH} -l "${LISPS}" -B tests &&
        ${CL-LAUNCH} -l clisp -B shell_tests

If you add a new option, you probably should be adding a test for in somewhere
in the shell function do_tests, which will double the testing time, currently
over an hour for me.

Happy hacking!