From: Matthew X. Economou
Subject: Contact info for Roger Corman (Corman Lisp)?
Date: 
Message-ID: <w4or8k4dqx6.fsf@eco-fs1.irtnog.org>
I tried to email a bug report for Corman Lisp to ·····@corman.net",
but it bounced with the errors "user unknown" and "relaying denied".
Basically, the sharpsign-asterisk reader macro doesn't work quite
right in Corman Lisp 1.5.  It won't signal an error of the length of
the token exceeds the read macro's prefix argument (e.g. the input
"#5*110011" returns #*110011 instead of signaling a reader error),
and it doesn't treat the end-of-line condition as a token delimiter,
for example:

 (with-input-from-string (s "#5*11001")
   (read s))

will signal an error.

-- 
Matthew X. Economou <········@irtnog.org> - Unsafe at any clock speed!
I'm proud of my Northern Tibetian heritage! (http://www.subgenius.com)

From: Karsten Poeck
Subject: Re: Contact info for Roger Corman (Corman Lisp)?
Date: 
Message-ID: <acgpou$pjk$1@reader2.wnet>
Try http://www.corman.net/
and especially the link
There is a new Corman Lisp mailing list. Click <here> to sign up.

Karsten
"Matthew X. Economou" <···············@irtnog.org> wrote in message
····················@eco-fs1.irtnog.org...
> I tried to email a bug report for Corman Lisp to ·····@corman.net",
> but it bounced with the errors "user unknown" and "relaying denied".
> Basically, the sharpsign-asterisk reader macro doesn't work quite
> right in Corman Lisp 1.5.  It won't signal an error of the length of
> the token exceeds the read macro's prefix argument (e.g. the input
> "#5*110011" returns #*110011 instead of signaling a reader error),
> and it doesn't treat the end-of-line condition as a token delimiter,
> for example:
>
>  (with-input-from-string (s "#5*11001")
>    (read s))
>
> will signal an error.
>
> --
> Matthew X. Economou <········@irtnog.org> - Unsafe at any clock speed!
> I'm proud of my Northern Tibetian heritage! (http://www.subgenius.com)
>
From: Roger Corman
Subject: Re: Contact info for Roger Corman (Corman Lisp)?
Date: 
Message-ID: <3cf1e263.91675392@news.sf.sbcglobal.net>
We have noted this defect and will make sure it gets fixed.
Thanks for reporting it.

You should be able to e-mail to ····@corman.net.
Perhaps the ISP provider was having a bad day when you tried.
I know a lot of spam (and even some with viruses) has been coming to
that address regularly. However, it is still the preferred address for defect
reports.

Roger
-----------------------------------------------------------------------------------------------------
On 22 May 2002 13:37:57 -0400, "Matthew X. Economou"
<···············@irtnog.org> wrote:

>I tried to email a bug report for Corman Lisp to ·····@corman.net",
>but it bounced with the errors "user unknown" and "relaying denied".
>Basically, the sharpsign-asterisk reader macro doesn't work quite
>right in Corman Lisp 1.5.  It won't signal an error of the length of
>the token exceeds the read macro's prefix argument (e.g. the input
>"#5*110011" returns #*110011 instead of signaling a reader error),
>and it doesn't treat the end-of-line condition as a token delimiter,
>for example:
>
> (with-input-from-string (s "#5*11001")
>   (read s))
>
>will signal an error.
>
>-- 
>Matthew X. Economou <········@irtnog.org> - Unsafe at any clock speed!
>I'm proud of my Northern Tibetian heritage! (http://www.subgenius.com)
>
From: Matthew X. Economou
Subject: Re: Contact info for Roger Corman (Corman Lisp)?
Date: 
Message-ID: <w4ovg96okk6.fsf@eco-fs1.irtnog.org>
>>>>> "Roger" == Roger Corman <·····@corman.net> writes:

    Roger> We have noted this defect and will make sure it gets
    Roger> fixed. Thanks for reporting it.

My pleasure.  Actually, I think I've worked out a function that
implements the reader macro properly.  You are welcome to include it
in Corman Lisp.  You'll need to replace the call to WHITESPACE-P with
something that talks to your read table, and I'm not certain how to
fill out the calls to ERROR, so I'll leave those bits up to you.

(defun reader-macro-sharpsign-asterisk (stream sub-char p)
  (declare (ignore sub-char))
  (let ((new-vector-elements nil)
	(iteration 0))
    (loop
     (let ((char (read-char stream nil nil t)))
       (cond
	 ((or (null char)		;token delimited by EOF or
	      (whitespace-p char))	; whitespace
	  ;; XXX: Should I unread the whitespace?
	  ;; (when (whitespace-p char)
	  ;;   (unread-char char stream))
	  ;; Unless no length was specified, check the length of the
	  ;; token against the specified length and signal
	  ;; READER-ERROR if the token is longer.
	  (unless (or (null p) (<= iteration p))
	    (error ...))
	  ;; If a length was specified, pad the rest of the bit vector
	  ;; with the last element in the token.
	  (when (not (null p))
	    (loop
	     while (< iteration p) do
	     (setf new-vector-elements
		   (cons (car new-vector-elements)
			 new-vector-elements))
	     (incf iteration)))
	  ;; Convert the token into a simple bit vector.
	  (return
	    (make-array iteration
			:element-type 'bit
			:initial-contents (nreverse new-vector-elements))))
	 ((char= char #\0)
	  (setf new-vector-elements
		(cons 0 new-vector-elements))
	  (incf iteration))
	 ((char= char #\1)
	  (setf new-vector-elements
		(cons 1 new-vector-elements))
	  (incf iteration))
	 (t
	  (error ...)))))))

-- 
Matthew X. Economou <········@irtnog.org> - Unsafe at any clock speed!
I'm proud of my Northern Tibetian heritage! (http://www.subgenius.com)