On Wed, Nov 08, 2023 at 06:30:21PM -0500, Thomas Dickey wrote:
> On Wed, Nov 08, 2023 at 03:51:37PM +0000, Chris Green wrote:
> > I'm sure this should be obvious but at the moment it's not obvious to
> > me! :-)
> > 
> > I want to do something like the following:-
> > 
> >     map #9 :e `pdf $cfilname`^M
> > 
> > However the above doesn't work, $cfilname is null in the above
> > context. How can I get the current file's name in this sort of place? 
> 
> rather than map, doing a bind (to a stored macro) would work.
> 
> #9 is treated as function-key 9, and by default is bound to the name
> execute-macro-9 (seen using describe-key):
> 
> "execute-macro-9"             #-9
> 
> untested (does pdf echo the name of the file? - I checked with just "echo"),
> but to give some idea how to organize it:
> 
> 9 store-macro
>       " make a buffer to get the output of pdf
>       kill-buffer pdf-output
>       edit-file &cat "!pdf " $pathname
>       rename-buffer pdf-output
>       " cursor is at the beginning of the line; open that file
>       find-file $pathname
>       " dispose of the temporary buffer
>       kill-buffer pdf-output
> ~endm
> 
Thank you, I suspected there might be some way like this but just
couldn't see it.  That gives me lots of handles for getting what I
want. 

-- 
Chris Green

Reply via email to