Subject: Re: bug#44157: 28.0.50; skeleton bug due to lexical-binding

From: Lars Ingebrigtsen <[email-masked]>
Date: Mon, 26 Oct 2020 22:22:40 +0100

Stephen Berman <[email-masked]> writes:

> 0. emacs -Q
> 1. C-x C-f test.html RET
> 2. C-c C-t html RET Test RET
> => error in skeleton-internal-1: Symbol’s value as variable is void: resume:

Yup.

> The following patch fixes the bug, at least for the above recipe.
>
> diff --git a/lisp/skeleton.el b/lisp/skeleton.el
> index ea4e5dbc22..6e2c10d971 100644
> --- a/lisp/skeleton.el
> +++ b/lisp/skeleton.el
> @@ -339,7 +339,8 @@ skeleton-internal-list
>        (dlet ((str (or str
>                        `(setq str
>  			     (skeleton-read ',(car skeleton-il)
> -			                    nil ,recursive)))))
> +			                    nil ,recursive))))
> +             resume:)

So I've applied the patch to Emacs 28, but I guess there may be similar
things lurking in the skeleton code, if I understand it correctly (but I
probably don't).

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no