From: Sam S. <sd...@gn...> - 2003-03-19 18:00:32
|
> * In message <9458609.1048073301@GOLDSCHMIDT.phyast.pitt.edu> > * On the subject of "[clisp-list] help with compiling clisp cvs on cygwin" > * Sent on Wed, 19 Mar 2003 11:28:21 -0500 > * Honorable "Yadin Y. Goldschmidt" <ya...@pi...> writes: > > I tried to built clisp on cygwin (Win XP) from the recent cvs. The > executable builds, but it fails to build the memory image. In > particular it chokes when loading "type.lisp" with an error message > "unix error 2 file not found". this is probably because of some encoding not being supported on cygwin. Please try the appended patch and report your experiences here. Thanks! > Is it possible to build clisp on cygwin? Yes! you could also try building with mingw, i.e., $ ./configure --with-mingw --with-export-syscalls --build build-mingw -- Sam Steingold (http://www.podval.org/~sds) running RedHat8 GNU/Linux <http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/> <http://www.mideasttruth.com/> <http://www.palestine-central.com/links.html> There are 3 kinds of people: those who can count and those who cannot. --- type.lisp.~1.43.~ 2003-03-12 11:37:04.000000000 -0500 +++ type.lisp 2003-03-19 12:59:48.000000000 -0500 @@ -1380,12 +1380,18 @@ ; Return the definition range of a character set. If necessary, compute it ; and store it in the cache. (defun get-charset-range (charset &optional maxintervals) - (or (gethash charset table) - (setf (gethash charset table) - (charset-range (make-encoding :charset charset) - (code-char 0) (code-char (1- char-code-limit)) - maxintervals - ) ) ) ) + (let ((name (if (encodingp charset) (encoding-charset charset) charset))) + (or (gethash name table) + (let ((enc (if (encodingp charset) charset + (make-encoding :charset charset + :if-does-not-exist nil)))) + (unless enc ; SHOULD BE AN ERROR!!! + (warn "~S: invalid charset ~S" 'get-charset-range charset) + (return nil)) + (setf (gethash name table) + (charset-range enc (code-char 0) + (code-char (1- char-code-limit)) + maxintervals)))))) ; Fill the cache, but cache only the results with small lists of intervals. ; Some iconv based encodings have large lists of intervals (up to 5844 ; intervals for ISO-2022-JP-2) which are rarely used and not worth caching. |