close Warning: Can't synchronize with repository "(default)" ("(default)" is not readable or not a Git repository.). Look in the Trac log for more information.

Opened 16 years ago

Last modified 16 years ago

#23 assigned defect

[cmucl-help] Spurious compilation diagnostic?

Reported by: Raymond Toy Owned by: Raymond Toy
Priority: minor Milestone:
Component: Core Version: 2008-09
Keywords: Cc:

Description

Reported on cmucl-help, by Steven Edwards, 2008/09/21.

(defun read-ch (my-stream)
  (declare (optimize speed (space 0)))
  (read-char my-stream nil nil))

produces spurious warnings:

; In: DEFUN READ-CH

;   (READ-CHAR MY-STREAM NIL NIL)
; --> BLOCK LET LISP::STREAM-DISPATCH ETYPECASE LET COND IF COND IF PROGN 
; ==>
;   (STREAM::%READ-CHAR STREAM LISP::EOF-ERRORP LISP::EOF-VALUE
;    LISP::RECURSIVE-P ...)
; Warning: Undefined function STREAM::%READ-CHAR 
; 
; --> BLOCK LET LISP::STREAM-DISPATCH ETYPECASE LET COND IF COND IF COND 
; --> IF PROGN LET 
; ==>
;   (STREAM-READ-CHAR STREAM)
; Warning: Undefined function STREAM-READ-CHAR 
; ; 

; Warning: These functions are undefined:
;   STREAM::%READ-CHAR STREAM-READ-CHAR
; 

These are caused by the stream-dispatch mechanism and the functions aren't defined because Gray streams and simple-streams aren't loaded.

We should probably get rid of the warnings.

Change History (1)

comment:1 Changed 16 years ago by Raymond Toy

Owner: changed from somebody to Raymond Toy
Status: newassigned

I think there are two possible options:

  1. Stick an inhibit-warnings in the stream-dispatch macro
  2. Define dummy versions of the undefined functions, which will get replaced when Gray streams or simple-streams are loaded.
Note: See TracTickets for help on using tickets.