Subject: bug#46159: closed (Re: bug#46159: 28.0.50; lexical-let does not work with returned closures on nativecomp)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 28 Jan 2021 21:25:03 +0000

Your bug report

#46159: 28.0.50; lexical-let does not work with returned closures on nativecomp

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
46159: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=46159
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#46159: 28.0.50; lexical-let does not work with returned closures on nativecomp
From: Andrea Corallo <[email-masked]>
To: "Mark A. Hershberger" <[email-masked]>
Cc: [email-masked]
Date: Thu, 28 Jan 2021 21:24:45 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

"Mark A. Hershberger" <[email-masked]> writes:

> Thank you for asking the dumb question.

:)

> I thought it was there because I got warnings about cl being deprecated, but when I put (require 'cl) just before this function, suddenly it worked.
>
> Strange that it breaks on the native-comp branch but not on master.

Byte compilation worked by chance because while compiling cl-lib was
already loaded for some reason.

Great closing.

  Andrea

Subject: 28.0.50; lexical-let does not work with returned closures on nativecomp
From: "Mark A. Hershberger" <[email-masked]>
To: [email-masked]
Date: Thu, 28 Jan 2021 15:10:33 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

I previously filed #45056 but the problem seemed to be fixed.

It has re-appeared and I just noticed some interesting messages in my
*Warnings* buffer that appear to be relevant.

Specifically:

    Warning (comp): init.el:164:39: Warning: ‘(post-cmd post-cmd)’ is a malformed function
    Warning (comp): init.el:181:59: Warning: reference to free variable ‘rsync-buff’

That section of code has this function:

(defun mah/firestarter-sentinel (host post-cmd)
  "Sentinal function that will run the POST-CMD on HOST."
  (lexical-let ((post-cmd post-cmd)
		             (host host)
		             (rsync-buff (get-buffer-create mah/rsync-buff-name)))
    (lambda (proc event-type)
      (message (concat "post cmd: " post-cmd "\nevent: " event-type))
      (cond ((string-equal event-type "finished\n")
	            (if post-cmd
		            (progn (message (concat "rsync finished, running "
					                        post-cmd))
			            (mah/firestarter-do-post host post-cmd rsync-buff))
	              (message "rsync finshed")))
	      (t (if post-cmd
		         (progn (message (concat "rsync didn't finish normally, "
					                     "running anyway.  Check "
					                     mah/rsync-buff-name))
			         (mah/firestarter-do-post host post-cmd rsync-buff))
		         (message "rsync finshed with errors")))))))

I just compiled emacs from master and it did not exhibit the same behavior

In GNU Emacs 28.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.5, cairo version 1.16.0)
 of 2021-01-28 built on silk
Repository revision: 0e250276d2445b258edcb5cb12796d626e5421dc (This is b8d3ae78c5 with a patch to revert 32c6732d16385f242b1109517f25e9aefd6caa5c applied to it.)
Repository branch: feature/native-comp
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description: Debian GNU/Linux 10 (buster)

Configured using:
 'configure --with-modules --with-xwidgets --with-gconf --with-cairo
 --with-json --with-nativecomp --with-imagemagick CFLAGS=-O2'

Configured features:
ACL CAIRO DBUS FREETYPE GCONF GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2
M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SOUND
THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Memory information:
((conses 16 1072892 320443)
 (symbols 48 54985 10)
 (strings 32 316990 71161)
 (string-bytes 1 10029517)
 (vectors 16 120122)
 (vector-slots 8 3853812 409822)
 (floats 8 1440 2041)
 (intervals 56 1385 1047)
 (buffers 984 21))

-- 
http://hexmode.com/

I cannot remember the books I've read any more than the meals I have eaten;
even so, they have made me.
            -- Ralph Waldo Emerson