emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstr


From: Stefan Monnier
Subject: Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstraps.
Date: Sun, 25 Nov 2018 13:22:38 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

> symbols-with-pos-enabled gets bound to t by Lisp code (that's its point).
> So Vsymbols_with_pos_enabled has to be a Lisp_Object of some sort.

No, it doesn't.  If you use DEFVAR_BOOL, then the underlying C var will
be of type `bool` but it's still exported as a normal Elisp variable
that can be `let` bound like any other (except that any non-nil value
will result in the variable taking value t).

> NILP won't work here (as I pointed out to Eli), because of circular
> dependencies inside lisp.h.

Oh, right:

    #define lisp_h_NILP(x) EQ (x, Qnil)

Reminds me of another question I had: in your code, do you need NILP to
pay attention to symbols-with-pos-enabled?

That would significantly increase the impact in terms of code-size and
CPU time (could explain why you see 8% slowdown which is more expansive
than my patch which turns EQ into EQL).


        Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]