From: Joerg-Cyril Hoehle
Subject: PCL compiler warnings (even at run-time) with GINA2.3 and CMUCL17e
Date: 
Message-ID: <303h3v$59q@hermes.uni-konstanz.de>
Hi,

when compiling (and even at run-time) we get lots of warnings about
PCL::.ARGS-TAIL and a few warnings about PCL::.ARG0 being unused. I
wonder if this is a hint for some bugs or a typical effect of
macro-expansion.

However, as the messages at run-time are garbling the lisp output
display, I wonder if there's a way to get rid of them. That means
really avoiding them by appropriate declares or at least not let
Python (the CMU compiler) tell us about them.

Examples:
;; Loading #p"/tmp_mnt/pro/wis/src/GINA2.3/gina/views.sparcf".
Compiling LAMBDA (#:G1819 #:G1820): 

In: LAMBDA (#:G1819 #:G1820)
  #'(LAMBDA
        (PCL::.PV-CELL. PCL::.NEXT-METHOD-CALL. PCL::.ARG0. PCL::.ARG1.
         PCL::.ARG2. ...)
      (DECLARE (IGNORE PCL::.PV-CELL. PCL::.NEXT-METHOD-CALL.))
      (ERROR #:G1819 #:G1820))
Warning: Variable PCL::.ARG0. defined but never used.

* (clock::make-clock-application)

#<Application Clock on localhost>
* 
In: LAMBDA (PCL::.PV-CELL. PCL::.NEXT-METHOD-CALL. CLOCK::DOC)
  (PCL::FAST-LEXICAL-METHOD-FUNCTIONS
   ((CLOCK::DOC &AUX CLOCK::NOW) PCL::.NEXT-METHOD-CALL. (CLOCK::DOC) NIL
    :CALL-NEXT-METHOD-P ...)
   (DECLARE (PCL::CLASS CLOCK::DOC CLOCK::CLOCK-DOCUMENT))
   (PCL::PV-BINDING (# # #:|pv-table|) ..))
--> PCL::BIND-FAST-LEXICAL-METHOD-MACROS MACROLET 
--> PCL::BIND-LEXICAL-METHOD-FUNCTIONS LET PCL::BIND-ARGS 
==>
  (LET* ((PCL::.ARGS-TAIL. NIL) CLOCK::NOW)
    (DECLARE (PCL::CLASS CLOCK::DOC CLOCK::CLOCK-DOCUMENT))
    (PCL::PV-BINDING (# # #:|pv-table|)
                     (PROGN CLOCK::DOC)
                     (BLOCK CLOCK::TICK #)))
Warning: Variable PCL::.ARGS-TAIL. defined but never used.

Thanks for your help,
 	Joerg Hoehle.
······@inf-wiss.uni-konstanz.de
Information Science
University of Constance
Germany
From: Rob MacLachlan
Subject: Re: PCL compiler warnings (even at run-time) with GINA2.3 and CMUCL17e
Date: 
Message-ID: <CsxvHr.4vx.3@cs.cmu.edu>
Compiler error output (in this case from COMPILE) is sent to the Common Lisp
*ERROR-OUTPUT* stream, so you can gag it by binding *ERROR-OUTPUT* to
(MAKE-BROADCAST-STREAM).  This won't break the debugger, since it uses
*DEBUG-IO* (though you may lose the initial error message.)

  Rob