GNU bug report logs - #16520
24.3.50; cl-defstruct with :predicate option

Previous Next

Package: emacs;

Reported by: Helmut Eller <eller.helmut <at> gmail.com>

Date: Wed, 22 Jan 2014 10:08:01 UTC

Severity: normal

Found in version 24.3.50

Fixed in version 24.4

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Helmut Eller <eller.helmut <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; cl-defstruct with :predicate option
Date: Wed, 22 Jan 2014 11:06:34 +0100
Compiling this code:

  (require 'cl-lib)
  (cl-defstruct (foo (:predicate foop)))
  (defun bar (x) (cl-check-type x foo))

with with:  emacs -Q -batch -f batch-byte-compile foo.el
produces this warning:

  foo.el:8:1:Warning: the function `foo-p' is not known to be defined.

and since foo-p is not defined will also lead errors at run-time when
bar is called.

Adding eval-and-compile to the structure definition avoids the problem
but it's a bug that the compiler emits a call to foo-p at all.


In GNU Emacs 24.3.50.2 (i686-pc-linux-gnu, GTK+ Version 2.24.10)
 of 2014-01-20 on ix





This bug report was last modified 11 years and 167 days ago.

Previous Next


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