GNU bug report logs - #55414
29.0.50; Byte compilation error for the modus-themes

Previous Next

Package: emacs;

Reported by: Protesilaos Stavrou <info <at> protesilaos.com>

Date: Sat, 14 May 2022 18:09:01 UTC

Severity: normal

Found in version 29.0.50

Full log


View this message in rfc822 format

From: Alan Mackenzie <acm <at> muc.de>
To: Mattias EngdegÄrd <mattiase <at> acm.org>
Cc: 55414 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi <at> gnus.org>, Eli Zaretskii <eliz <at> gnu.org>, Stefan Monnier <monnier <at> iro.umontreal.ca>, Protesilaos Stavrou <info <at> protesilaos.com>
Subject: bug#55414: 29.0.50; Byte compilation error for the modus-themes
Date: Sun, 29 May 2022 13:38:00 +0000
Hello, Mattias.

On Sun, May 29, 2022 at 11:18:51 +0200, Mattias EngdegÄrd wrote:
> 27 maj 2022 kl. 20.24 skrev Alan Mackenzie <acm <at> muc.de>:

> > Records are typically not read as such by the
> > reader.  They are created by macro expansion from cl-defstruct or the
> > like.

> While that could happen, it doesn't change the fact that once built,
> that record literal is an opaque piece of data inside which no further
> diagnostics will be reported. (Much like vectors for that matter.)

You're telling me (I didn't know already) that, e.g., lambda forms inside
vectors do not normally get byte compiled.  This might be regarded as a
bug.

However, consider the following:

(defvar asdf nil)
(defun foo ()
  "doc string"
  (eval-when-compile
    (let ((baz  [ (lambda () (message "bar")) ] ))
      (aset baz 0
            (byte-compile (aref baz 0)))
      (setq asdf baz))))

..  It will be seen that the element of the vector baz gets compiled, and
the vector gets written to the global variable asdf.

Admittedly, the position information is currently stripped from the
object before the byte-compile is evaluated, but there is no reason this
will necessarily always be the case.

> However there is no appreciable cost to traverse records as well so
> that has now been changed.

Thanks!

-- 
Alan Mackenzie (Nuremberg, Germany).




This bug report was last modified 3 years and 107 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.