[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40693: 28.0.50; json-encode-alist changes alist
From: |
João Távora |
Subject: |
bug#40693: 28.0.50; json-encode-alist changes alist |
Date: |
Thu, 21 May 2020 23:16:30 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux) |
"Basil L. Contovounesios" <contovob@tcd.ie> writes:
> The declarations are needed because the byte-compiler does not know that
> loading json.el will e.g. define a dynamically bound variable
> json-object-type and a nullary function symbol json-read. It therefore
> not only complains but also generates invalid byte-code.
Basil, I understand the need for the declarations, but I was suggesting
something different. This, at the top, near all the other requires.
(eval-and-compile
(unless (fboundp 'json-parse-buffer)
(require 'json)))
and then do the defalias without the declarations below.
(defalias blabla
(if (fboundp 'json-parse-buffer)
(lambda () json-c-things...)
(lambda () json-el-things...)))
Am I missing something or doesn't this work like you want? We're
checking json.c function thrice instead of twice, but doesn't seem very
bad, only a 50% increase :-)
> But I find this more heavy handed and intrusive, since it
> unconditionally loads json.el during byte-compilation, even when
> json-parse-buffer is available.
I think the snippet above doesn't have this problem.
Anyway, this is a minor nitpick, push whatever you think is better.
João
- bug#40693: 28.0.50; json-encode-alist changes alist, Basil L. Contovounesios, 2020/05/17
- bug#40693: 28.0.50; json-encode-alist changes alist, Eli Zaretskii, 2020/05/18
- bug#40693: 28.0.50; json-encode-alist changes alist, Dmitry Gutov, 2020/05/18
- bug#40693: 28.0.50; json-encode-alist changes alist, João Távora, 2020/05/18
- bug#40693: 28.0.50; json-encode-alist changes alist, Basil L. Contovounesios, 2020/05/21
- bug#40693: 28.0.50; json-encode-alist changes alist,
João Távora <=
- bug#40693: 28.0.50; json-encode-alist changes alist, Basil L. Contovounesios, 2020/05/22
- bug#40693: 28.0.50; json-encode-alist changes alist, João Távora, 2020/05/22
- bug#40693: 28.0.50; json-encode-alist changes alist, Basil L. Contovounesios, 2020/05/23
- bug#40693: 28.0.50; json-encode-alist changes alist, João Távora, 2020/05/23
- bug#40693: 28.0.50; json-encode-alist changes alist, Basil L. Contovounesios, 2020/05/23
- bug#40693: 28.0.50; json-encode-alist changes alist, João Távora, 2020/05/23