[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Accept problem
Date: Mon, 22 Jun 1992 12:33 PDT
From: jbarnett@charming.nrtc.northrop.com
A while ago, I sent the following question/problem to SLUG. I got only one
response that confirmed that (1) yes, the problem exists and (2) it exists
on a machine that has just been cold booted. From the lack of help, I
thought that maybe my msg got lost. So I'm trying again:
Hmmm, I sent a response when you first asked, but I guess that it got
lost in the mail. Fortunately, my mail-handling machine has been up
for almost eight weeks, so I was able to retrieve this from the "Sent
Drafts" list:
Date: Thu, 21 May 1992 09:42 PDT
From: jbarnett@charming.nrtc.northrop.com
If I evaluate
(accept '((token-or-type (("None" . :none)) net:printer) :default :none))
I get the following on the terminal
Enter a printer or None [default None]:
If I hit return, the value is the default object (last input) of type printer,
i.e., the specified and displayed default is not used. In addition, evaluating
(accept '((or (member :none) net:printer)) :default :none
:default-type '((member :none)))
produces the same problem -- the displayed default is None but the value is
a printer. If I substitute another namespace type, e.g., net:host, for
net:printer, the same glitch occurs. However, if I substitute integer, the
correct behavior results. Any explanations and/or fixes would be greatly
appreciated.
This is pretty odd. In the course of examining this, I was able to
duplicate your problem. I thought it had something to do with the
parser for the NET:OBJECT presentation type (a supertype of both
NET:PRINTER and NET:HOST) explicitly supplying a default in its
recursive call to ACCEPT. But when I put some debugging code in the
problem went away! I tried it on another (freshly-booted) machine and
your example worked right out of the box.
You might try recompiling the NET:OBJECT presentation type.
Alternatively, you might try the "internal" presentation type
DW::LOCAL-PRINTER.
(scl:accept '((scl:token-or-type (:none) dw::local-printer)) :default :none)
which seems to work for me.