[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Character styles
> You will actually see the raw codes if you use Release 6 without the
> compatibility system (not recommended), or if you examine the files
> using some other operating system. [...]
> If you actually have a case in which a perfectly-OK file is written from
> 7.0, and then it is read back into 7.0, and the codes are visible, then
> there is a bug, and it should be reported. It doesn't sound like
> anything I've ever heard of.
There are some ways to actually get confronted with the raw codes
when running 6.x with 6-7 compatibility loaded. And you may will
even hear it! Simply try to hardcopy a file written in 7.0 from a
6.1 & 6-7 machine with :Hardcopy File from the command processor.
You will here the notification delivery ring the bell; An simple
example; that's the file's contents
D,#TD1PsT[Begin using 006 escapes](0 0 (NIL 0) (NIL NIL NIL) "CPTFONT")(1 0 (NIL 0) (NIL :BOLD-EXTENDED NIL) "CPTFONTB")(2 0 (NIL 0) (NIL :ITALIC NIL) "CPTFONTI")0;;; -*- Mode: Lisp; Package: User; Base: 10.; Fonts: CPTFONT, CPTFONTB, CPTFONTI; -*
-
;2;;========================================================================
0(DEFUN 1FOO0 ()
(PRINT 'BAR)
'BAZ)
;2;;========================================================================1EOF2.
Due to the header's format (using an epsilon, which is the font
escape) it throws into the debugger.
In Symbolics 3640 Release 6.1, Release-6-7 6.0, IP-TCP 29.13,
microcode TMC5-IO4-ST506-MIC 336, FEP 127, FEP0:>v127-lisp.flod(44),
FEP0:>v127-loaders.flod(44), FEP0:>v127-debug.flod(31),
FEP0:>v127-info.flod(44), GMD, on GRASPIN 3:
>>Error: Font -43 out of range.
While in the function (:METHOD SI:HARDCOPY-STREAM-FONT-MIXIN :SET-FONT) SI:HARDCOPY-FROM-STREAM-1 SI:HARDCOPY-FROM-STREAM
(:METHOD SI:HARDCOPY-STREAM-FONT-MIXIN :SET-FONT): (P.C. = 25)
Arg 0 (SELF): #<LGP2-PAGE-BUFFERING-STREAM 16002062>
Arg 1 (SYS:SELF-MAPPING-TABLE): #<Map to flavor SI:HARDCOPY-STREAM-FONT-MIXIN -- 7. IV's, 0. FL's 1200625>
Arg 2 (SI:OPERATION): :SET-FONT
Arg 3 (SI:NEW-FONT): -43
--Defaulted args:--
Arg 4 (FORMAT): :DEVICE
SI:HARDCOPY-FROM-STREAM-1: (P.C. = 117) (from SYS: HARDCOPY; HARDCOPY-46-25)
Arg 0 (SI:STREAM): #<NFILE-INPUT-CHARACTER-STREAM "G1:>jc>foo.lisp" 16001714>
Arg 1 (SI:HARDCOPY-STREAM): #<LGP2-PAGE-BUFFERING-STREAM 16002062>
Arg 2 (SI:INTERPRET-FONT-CHANGES): T
SI:HARDCOPY-FROM-STREAM: (P.C. = 241)
Arg 0 (SI:STREAM): #<NFILE-INPUT-CHARACTER-STREAM "G1:>jc>foo.lisp" 16001714>
Arg 1 (SI:DEVICE): #<LGP2-PRINTER LGP-2 43306403>
Rest arg (SI:OPTIONS): (:BANNER-FILE-NAME "G1:>jc>foo.lisp.5" :BANNER-CREATION-DATE 2750355146 :PRESS-FONTS (("COURIER" "" 9)) :INTERPRET-FONT-CHANGES T :COPIES 1 ...)
That's the way I really like it. It is annoying how fonts are
'supported' by Symbolics. Starting back in the old days with Release
4.x, where I even had to provide a reader macro for the epsilon
escape to allow loading of source files written with multiple fonts.
Making hardcopies of such files was and is until now not well
supported. (e.g. mapping from screen fonts to device fonts: there
is no LGP(1/2) counterpart for most of the screen fonts.)
It's sad, but I quiet accustomed to it now and don't expect it to
change in the near future. Each new release brings a lot of bells
and whistles (status line time display for example in 7.0), but a lot
of necessary things won't be fixed. For instance the Print Spooler:
in 6.x it wouldn't check that the printer was turned off meanwhile
and busy spooled onto a dead serial line (at least it didn't waste
paper :-) and until now, (including 7.0) it doesn't recognize when
the printer is switched off (or connected to a MAC) and then
reconnected to the lispm. OK I'm a hacker and know it's "<select>-P,
get the LW into the debugger, c-9 c-N c-m-R Yes Quit" and the damned
thing will work again, but our 'high level' end users here. It's
pretty annoying and the LW is switched a lot between our lispms and
our macs. (Why not AppleTalk; its much faster (~2.5MBit) than those
19200 bauds we have and it would work with the macs. Ok, ok, its a
foreign protocol, I know...)
Resumee: There's still a lot to be done. And it is the small things
too, not the large ones only!
JC
P.S. And they've taken hacks away in 7.0! How do I check for new
mail? I've used #'hacks:background-check-mail, but now it's gone and
I had to write a function of my own. And all those visiting our
institute I'll send to our SUNs where they may see some real nice
demos since #'hacks:demo is gone. Back to work now, it's getting late...