[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: loop bug

David Axmark <davida@se.detron.isil> writes:
> I never saw a reply on this (from dec 11). 

This is just a quick hack, but it seems to fix the problem for the example
you gave:

    (in-package :loop)
    (defun maybe-parse-unconditional ()
      (cond ((loop-keyword-p (car *remaining-stuff*) "DO" "DOING")
	     (pop *remaining-stuff*)
	     (setf *body-forms* (nconc *body-forms* (parse-expr-list)))
	    ((loop-keyword-p (car *remaining-stuff*) "RETURN")
	     (pop *remaining-stuff*)
	     (setf *body-forms*
		   (nconc *body-forms* `((return ,(pop *remaining-stuff*)))))

Remember, if you're really desperate, and no one seems to be paying any
attention, you can always grab the source, and fix the bug yourself (of
course also being nice and sending back your patches).

[Of course once you start trashing things, all bets are off...]

    (cltl) ftp lisp-rt2.slisp.cs.cmu.edu
    Connected to LISP-RT2.SLISP.CS.CMU.EDU.
    220 LISP-RT2.SLISP.CS.CMU.EDU FTP server (Version 4.105 of 10-Jul-90 12:08) ready.
    Name (lisp-rt2.slisp.cs.cmu.edu:miles): anonymous
    331 Guest login ok, send username@node as password.
    230 Filenames can not have '/..' in them.
    ftp> cd /afs/cs/project/clisp/src/beta/code
    250 Directory path set to /afs/cs/project/clisp/src/beta/code.
    ftp> dir loop.lisp
    200 PORT command successful.
    150 Opening data connection for ls (,3297).
    -r--r--r--  1 wlott    0           25534 Nov  7 00:06 loop.lisp
    226 Transfer complete.
    remote: loop.lisp
    65 bytes received in 0.01 seconds (6.3 Kbytes/s)


Miles Bader  --  HCRC, University of Edinburgh  --  Miles.Bader@ed.ac.uk
97% of everything is grunge