branch: externals/compat commit 08c77ed267c8f0ded5c214d0b3ff76c6d1729987 Author: Philip Kaludercic <phil...@posteo.net> Commit: Philip Kaludercic <phil...@posteo.net>
Declare variable for gensym Older versions of Emacs do not handle the let-over-lambda as should be expected, so an explicit variable has to be declared. --- compat-26.1.el | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/compat-26.1.el b/compat-26.1.el index 90e07bf..b85d6ac 100644 --- a/compat-26.1.el +++ b/compat-26.1.el @@ -250,13 +250,16 @@ TRIM-LEFT and TRIM-RIGHT default to \"[ \\t\\n\\r]+\"." (declare (pure t)) (cdr (cdr (cdr (cdr x))))) -(let ((counter 0)) - (compat-defun gensym (&optional prefix) - "Return a new uninterned symbol. +(defvar compat--gensym-counter 0) + +(compat-defun gensym (&optional prefix) + "Return a new uninterned symbol. The name is made by appending `gensym-counter' to PREFIX. PREFIX is a string, and defaults to \"g\"." - (let ((num (prog1 counter (setq counter (1+ counter))))) - (make-symbol (format "%s%d" (or prefix "g") num))))) + (let ((num (prog1 compat--gensym-counter + (setq compat--gensym-counter + (1+ compat--gensym-counter))))) + (make-symbol (format "%s%d" (or prefix "g") num)))) ;;;; Defined in files.el