[comp.text.tex] dvi2tty on VMS

ruberman@BINAH.CC.BRANDEIS.EDU (05/09/91)

I have recently obtained (from fileserv@shsu.bitnet) a port of dvi2tty to
VAX/VMS.  It compiled just fine under VAXC, but  I can't get it to
work properly.  The problem is presumably trivial, but I know nothing
of C.  The difficulty is simply in giving dvi2tty the name of a dvi file
to input:  if I say dvi2tty filename (or filename.dvi) VMS complains that
the filename should not be on the line (ie the error message is
"Too many parameters, reenter command with fewer parameters); if I just 
say dvi2tty, I get an error message telling me the standard usage.  Could 
someone tell me the correct procedure?  I could make some changes in the
code and recompile if that were necessary, providing you tell me what the
changes are!
	Thanks--
	Danny Ruberman
	ruberman@binah.cc.brandeis.edu
	ruberman@brandeis.bitnet

jeh@cmkrnl.uucp (05/14/91)

It sounds as if you've defined a DCL symbol for dvi2tty as a RUN command 
rather than a "foreign command".  eg, you did

	$ dvi2tty == "run ddcu:[dire]dvi2tty"

and then you tried to invoke the program with 

	$ dvi2tty file.dvi

which expands to

	$ run ddcu:[dire]dvi2tty file.dvi

which is not what you want, as RUN only wants one parameter.  

Instead, define the symbol like so:

	$ dvi2tty == "$ddcu:[dire]dvi2tty"

then 

	$ dvi2tty file[.dvi]

should work.

ddcu and dire should of course be replaced by the appropriate device and
directory specs.  Note, the foreign command mechanism defaults to SYS$SYSTEM,
so you need to specify the device and directory even if the image is in your
current default directory. 

	--- Jamie Hanrahan, Kernel Mode Consulting, San Diego CA
Chair, VMS Internals Working Group, U.S. DECUS VAX Systems SIG 
Internet:  jeh@dcs.simpact.com, hanrahan@eisner.decus.org, or jeh@crash.cts.com
Uucp:  ...{crash,scubed,decwrl}!simpact!cmkrnl!jeh