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

From: Stephen Berman <[email-masked]>
Date: Fri, 23 Oct 2020 01:09:43 +0200

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:

I believe this bug was introduced by this commit:

commit e038a7571ddb9ec2110533fdd1b359150939c58c
Author:     Stefan Monnier <[email-masked]>
Commit:     Stefan Monnier <[email-masked]>
CommitDate: Thu Aug 6 18:45:33 2020 -0400

    * lisp/skeleton.el: Use lexical-binding

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:)
 	(when (and (eq (cadr skeleton-il) '\n) (not recursive)
 	           (save-excursion (skip-chars-backward " \t") (bolp)))
 	  (setq skeleton-il (cons nil (cons '> (cddr skeleton-il)))))

In GNU Emacs 28.0.50 (build 38, x86_64-pc-linux-gnu, GTK+ Version 3.24.17, cairo version 1.17.3)
 of 2020-10-21 built on strobe-jhalfs
Repository revision: 39271ed108380494667ab680fc71b800f9ea5097
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Linux From Scratch SVN-20200401

Configured using:
 'configure --with-xwidgets 'CFLAGS=-Og -g3''

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY
INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 XDBE XIM MODULES THREADS XWIDGETS LIBSYSTEMD PDUMPER LCMS2