[comp.sys.amiga] No K directive?

nschultz@polyslo.CalPoly.EDU (Ned W. Schultz) (03/29/89)

Could someone please explain the message, "No K directive."?  A friend
is getting this when using the hd startup sequence from the 1.3 disks.
He tries to "execute dh0:s/hd-startup" and execute fails, breaking
out to a CLI with the above message.  He has a 2090 (original model),
has 1.3 running (under a 1.2 ROM) and has one standard and two FFS
partitions, if those facts matter.  
 
We have not been able to decipher the AmigaDOS manual or the Enhancer
manual on this point...and it seems odd that the standard files from
the 1.3 disks would not work on a C= controller.  Can anyone explain
this or suggest what might be wrong?   Thanks for the help....
 
Ned Schultz           nschultz@polyslo.calpoly.slo

mp1u+@andrew.cmu.edu (Michael Portuesi) (03/30/89)

nschultz@polyslo.CalPoly.EDU (Ned W. Schultz) writes:
> Could someone please explain the message, "No K directive."?  A friend
> is getting this when using the hd startup sequence from the 1.3 disks.
> He tries to "execute dh0:s/hd-startup" and execute fails, breaking
> out to a CLI with the above message.  He has a 2090 (original model),
> has 1.3 running (under a 1.2 ROM) and has one standard and two FFS
> partitions, if those facts matter.  

Funny, I had this problem too -- only it happened with my
startup-sequence.  When writing scripts for the EXECUTE command, the K
or "KEY" directive is used to determine what the argument template for
the Execute script is to look like.  An example from the AmigaDOS
manual:

.k filename/a
run copy <filename> to prt:+
echo "Printing of <filename> done"

I boot off a floppy, whose startup-sequence transfers control to the
hard disk as soon as possible.  It EXECUTEs a startup-sequence on the
hard disk.  For some reason I have never been able to determine, the
startup-sequence on my hard disk would fail to run with the "No K
directive" error.  I eventually fixed the problem by putting

.k foobar/k

as the first line in my startup-sequence, though someday I would like
to know why I had to do that.  It certainly didn't seem necessary.

--
Michael Portuesi / Information Technology Center / Carnegie Mellon University
INET:   mp1u+@andrew.cmu.edu / BITNET: mp1u+@andrew
UUCP:   ...harvard!andrew.cmu.edu!mp1u+

	 The Amiga 1000 -- Support classic Amiga technology.

raz%kilowatt@Sun.COM (Steve -Raz- Berry) (03/30/89)

In article <wYAGwTy00Vsf01Max0@andrew.cmu.edu> mp1u+@andrew.cmu.edu (Michael Portuesi) writes:
)nschultz@polyslo.CalPoly.EDU (Ned W. Schultz) writes:
)) Could someone please explain the message, "No K directive."?  A friend
)) is getting this when using the hd startup sequence from the 1.3 disks.
)) He tries to "execute dh0:s/hd-startup" and execute fails, breaking
)) [more stuff relating to system specifics that aren't necessary]

)Funny, I had this problem too -- only it happened with my
)startup-sequence.  When writing scripts for the EXECUTE command, the K
)or "KEY" directive is used to determine what the argument template for
)the Execute script is to look like. [example deleted]

This is correct.

)I boot off a floppy, whose startup-sequence transfers control to the
)hard disk as soon as possible.  It EXECUTEs a startup-sequence on the
)hard disk.  For some reason I have never been able to determine, the
)startup-sequence on my hard disk would fail to run with the "No K
)directive" error.  I eventually fixed the problem by putting

).k foobar/k

)as the first line in my startup-sequence, though someday I would like
)to know why I had to do that.  It certainly didn't seem necessary.

It wasn't exactly. Although it will work sometimes.

I have had similar problems when I decided to make my startup-sequence
do some fancy footwork (a script calls a script calls a script, with the
ending of each terminating the previous). Anyway, with the help of Bill
Hawes we (he) traced it to the occurance of a line that did file redirection.
An example:

	'run <nil: >nil: dmouse foo bar c`

What happens is that Execute parses the script BEFORE it is run and looks for 
the '<' and '>' characters to bracket passed variables to the script, and
then do variable substitution based on the '.key' command.
Instead what it finds is the perfectly reasonable redirection, and decides
that it can't match a variable, since there was no '.k' directive to tell it
to expect one. One way around this mess is to change the bracket characters
to something reasonable (ie, not used often). I like:

	.bra {
	.ket }

Adding these two lines to the start of a script should help.

)Michael Portuesi / Information Technology Center / Carnegie Mellon University
)INET:   mp1u+@andrew.cmu.edu / BITNET: mp1u+@andrew
)UUCP:   ...harvard!andrew.cmu.edu!mp1u+


Steve -Raz- Berry
UUCP: sun!kilowatt!raz 
"Fate, it protects little children, old women, and ships named Enterprize"

rminnich@super.ORG (Ronald G Minnich) (03/31/89)

In article <wYAGwTy00Vsf01Max0@andrew.cmu.edu> mp1u+@andrew.cmu.edu (Michael Portuesi) writes:
>Funny, I had this problem too -- only it happened with my
>startup-sequence.  When writing scripts for the EXECUTE command, the K
>or "KEY" directive is used to determine what the argument template for
Well, i had this problem, but only when i used WSHawes's 
PatchDOS program with 1.3 I just assumed that PatchDos was doing 
something that would not work right under 1.3 and stopped using PatchDOS.
Anybody had any luck with this under 1.3? It would be nice to use
wsh for Execute ...
ron

andrews@cos.com (Andrew R. Scholnick) (03/31/89)

> In article <wYAGwTy00Vsf01Max0@andrew.cmu.edu> mp1u+@andrew.cmu.edu (Michael Portuesi) writes:
>Funny, I had this problem too -- only it happened with my
>startup-sequence.  When writing scripts for the EXECUTE command, the K
>or "KEY" directive is used to determine what the argument template for

How come if the same file that got the 'K' error is rerun from CLI manually
once or twice it will suddenly start to work again?  I have done this (Arne
Saknussem - {obscure joke}8-).  Seriously, I set failat to 50 and run the 
offending file two or three times, each time it gets a little further
until it runs through.... How come?

ARS.

-- 
- Andrew R. Scholnick @ Corp. for Open Systems, McLean, VA -- andrews@cos.com
- {uunet, sundc, decuac}!cos!andrews -- Everything I write blame on me, NOT
-- my employer. - "Adventure is when you toss your life on the scales of
-- chance and wait for the pointer to stop." - M. Leinster (First Contact)

paolucci@snll-arpagw.UUCP (Sam Paolucci) (04/01/89)

In article <16494@cos.com> andrews@cos.com (Andrew R. Scholnick) writes:
->> In article <wYAGwTy00Vsf01Max0@andrew.cmu.edu> mp1u+@andrew.cmu.edu (Michael Portuesi) writes:
->>Funny, I had this problem too -- only it happened with my
->>startup-sequence.  When writing scripts for the EXECUTE command, the K
->>or "KEY" directive is used to determine what the argument template for
->
->How come if the same file that got the 'K' error is rerun from CLI manually
->once or twice it will suddenly start to work again?  I have done this (Arne
->Saknussem - {obscure joke}8-).  Seriously, I set failat to 50 and run the 
->offending file two or three times, each time it gets a little further
->until it runs through.... How come?

Furthermore, I had one that used to work until I edited a couple of lines.
Now when I execute the next procedure I get the KEY directive error.  I think
that this is a BUG in the execute command.  I got around it by putting
".k foobar/k" on the first line of the procedure that is called (as
suggested by somebody recently) and now works fine.

Can somebody at CATS shed some light on this problem?


-- 
					-+= SAM =+-
"the best things in life are free"

				ARPA: paolucci@snll-arpagw.llnl.gov

robert@madnix.UUCP (Robert Moldenhauer) (09/05/90)

I have a problem.  I have a 2090 controller card, so I must boot from a 
floppy and then shift to the hard drive later, my df0:s/Startup-Sequence
is as follows:
BindDrivers
Assign Sys: Dh0:System
Assign S: Sys:s
(several mre assigns to get all system files off Df0:)
Execute S:Startup-Sequence
EndCLI

I've never had any problems with it, but now execute complains "No K directive",
What's wrong?  The errors started occuring after I started using Time Waste 
Management System, could they have don't something to my System?
The Startup-Sequnce dies, I'm left with a CLI prompt, if I then type:
Execute S:Startup-Sequence
everything works normally, the CLI even goes away like it's supposed to,
what's going on?

-- 
Robert Moldenhauer                              One People
U.S. Snail: 30 Lathrop St.,                     One Planet
            Madison, Wis 53705 USA              Please!
BITNET: rmoldenhauer@WISCMACC      INTERNET: rmoldenhauer@VMS.MACC.WISC.EDU