On Tue, Feb 09, 2021 at 11:15:21AM +1100, Brendan O'Dea wrote:
> On Mon, Feb 08, 2021 at 01:46:11PM -0600, J. Chris Coppick wrote:
> >Do not think the "use Vileserv" replaces those other lines.  It does ring a
> >bell.  I'd have to dig up the docs and code to check what was required for
> >what.
> 
> It does, you can pretty easily test it:
> 
>   $ echo 'perl "use Vileserv"' >~/vilerc.tmp
>   $ vile @~/vilerc.tmp
>   :!vileget /etc/passwd
> 
> at which point you should have a buffer containing /etc/passwd.
> 
> If you're interested in the gory details, the `use Vileserv;' statment in Perl
> is equivalent to:
> 
>   BEGIN { require Vileserv; Vileserv->import() }
> 
> You can ignore the BEGIN block which just changes the evaluation order (not
> relevant given that this evaluation context contains only that statement), the
> important part here is the invocation of the `import' method, which in the
> case of Vileserv does this:
> 
>   https://salsa.debian.org/debian/vile/-/blob/master/perl/Vileserv.pm#L80-83
> 
> it first calls `Vile::Exporter::import', which is the magic by which every key
> in `%REGISTRY' is mapped to a command using `Vile::register':
> 
>   https://salsa.debian.org/debian/vile/-/blob/master/perl/Vileserv.pm#L33-38
> 
> it then starts the server.  The `END' block arranges to stop the server on
> exit:
> 
>   https://salsa.debian.org/debian/vile/-/blob/master/perl/Vileserv.pm#L76-78
> 
Another thank you, another bit of puzzle answered.  :-)

-- 
Chris Green

Reply via email to