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

tape bug



   Date: Tue, 12 Jul 88 18:22 CDT
   From: maeda@mcc.com (Christopher Maeda)

   I was puzzled when our machines couldn't read carry tapes that they had
   dumped.  They kept saying that the list of items dumped could not be
   found.  I poked around a bit and noticed that carry-load made sure a
   certain symbol read was eq to :dump-list.  The symbol it was testing was
   :|dump-list|.  This bug resulted because print-plist called princ to
   dump :dump-list.  The print function for symbols looks at the special
   si:*princase* to see how to print them.  If this variable is set to
   :downcase during a carry dump, the tape cannot be read.  When I set it
   to :upcase during the dump, the tape can be read.  How's that for
   obscure?

Sounds like a job for SI:WITH-STANDARD-IO-ENVIRONMENT.  This should
always be used when using PRINT and READ for program-to-program
communication, as opposed to communicating with the user.  It makes
sure that all the printer/reader control variables are bound to
well-known values.  Unfortunately, many parts of the system are still
missing this.