[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pure-fns in byte-opt.el
From: |
Mark Oteiza |
Subject: |
Re: pure-fns in byte-opt.el |
Date: |
Wed, 26 Jul 2017 22:36:08 -0400 |
User-agent: |
Mutt/1.8.3 (2017-05-23) |
On 26/07/17 at 05:33pm, Eli Zaretskii wrote:
Date: Tue, 25 Jul 2017 21:00:00 -0400
From: Mark Oteiza <address@hidden>
Cc: address@hidden
The "listp" in the error makes me wonder if the byte compiler is
perhaps turning a quoted form into a string.
If you could run the offending command under a debugger and show both
C-level and Lisp-level backtrace from the error, maybe we could become
wiser. (Let me know if you need help in staging the experiment and/or
collecting the data after you catch the error.)
Here is the point during the build the error happens:
"../../src/bootstrap-emacs" -batch --no-site-file --no-site-lisp -L . -l
unidata-gen \
-f unidata-gen-file ../../lisp/international/uni-decomposition.el .
Loading macroexp.elc...
Wrong type argument: listp, "頩"
I set a breakpoint at wrong_type_argument
Thread 1 "bootstrap-emacs" hit Breakpoint 4, wrong_type_argument (
predicate=XIL(0x8550), value=XIL(0x3dee414)) at data.c:154
154 xsignal2 (Qwrong_type_argument, predicate, value);
(gdb) xbacktrace
"unidata-gen-table-word-list" (0xffffb690)
"unidata-gen-table-decomposition" (0xffffbb20)
"unidata-gen-file" (0xffffc108)
"funcall" (0xffffc100)
"if" (0xffffc2c0)
"cond" (0xffffc430)
"let*" (0xffffc5d0)
"while" (0xffffc760)
"let*" (0xffffc900)
"progn" (0xffffca30)
"if" (0xffffcb70)
"let" (0xffffcd50)
"let" (0xffffcf30)
"command-line-1" (0xffffd0b0)
"command-line" (0xffffd300)
"unwind-protect" (0xffffd4f0)
"let" (0xffffd6d0)
"if" (0xffffd840)
"normal-top-level" (0xffffd9c0)
I would need help with digging deeper. Also, I made an error in my
OP--it is make-vector being marked pure that's a problem:
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index 962a7ae5cd..297e43884f 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -1281,7 +1281,8 @@ byte-optimize-set
;; errors to compile time.
(let ((pure-fns
- '(concat symbol-name regexp-opt regexp-quote string-to-syntax)))
+ '(concat symbol-name regexp-opt regexp-quote string-to-syntax
+ make-vector)))
(while pure-fns
(put (car pure-fns) 'pure t)
(setq pure-fns (cdr pure-fns)))
Re: pure-fns in byte-opt.el, Mark Oteiza, 2017/07/25
- Re: pure-fns in byte-opt.el, Eli Zaretskii, 2017/07/26
- Re: pure-fns in byte-opt.el,
Mark Oteiza <=
- Re: pure-fns in byte-opt.el, Stefan Monnier, 2017/07/26
- Re: pure-fns in byte-opt.el, Mark Oteiza, 2017/07/29
- Re: pure-fns in byte-opt.el, Eli Zaretskii, 2017/07/29
- Re: pure-fns in byte-opt.el, Mark Oteiza, 2017/07/29
- Re: pure-fns in byte-opt.el, Andreas Schwab, 2017/07/29
- Re: pure-fns in byte-opt.el, Mark Oteiza, 2017/07/29
Re: pure-fns in byte-opt.el, Eli Zaretskii, 2017/07/27
Re: pure-fns in byte-opt.el, Mark Oteiza, 2017/07/27
Re: pure-fns in byte-opt.el, Eli Zaretskii, 2017/07/28
Re: pure-fns in byte-opt.el, Mark Oteiza, 2017/07/28