James Amundson <amundson@users.sourceforge.net> writes:
...
> Unfortunately, it still gets the wrong answer when I set inchar to
> foo and outchar to foobar. Suggestions welcome.
I suppose, if mexplabel matches inchar, it could check to see if
mexplabel matches outchar, also. The relevant part of tex1 (in
mactex.lisp) could become
((and
itsalabel ;; but is it a user-command-label?
(<= (length (string $inchar)) (length (string mexplabel)))
(eq (getchars $inchar 2 (1+ (length (string $inchar))))
(getchars mexplabel 2 (1+ (length (string $inchar)))))
;; Check to make sure it isn't an outchar in disguise
(not
(and
(<= (length (string $outchar)) (length (string mexplabel)))
(eq (getchars $outchar 2 (1+ (length (string $outchar))))
(getchars mexplabel 2 (1+ (length (string $outchar))))))))
;; aha, this is a C-line: do the grinding:
(format texport "~%|~a " mexplabel) ;delimit with |marks
(mgrind mexp texport) ;write expression as string
(format texport ";|~%"))
Jay