bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#58950: [PATCH] * lisp/subr.el (buffer-match-p): Optimise performance


From: Dmitry Gutov
Subject: bug#58950: [PATCH] * lisp/subr.el (buffer-match-p): Optimise performance
Date: Fri, 6 Jan 2023 23:41:43 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2

On 06/01/2023 13:17, Mattias Engdegård wrote:
5 jan. 2023 kl. 13.55 skrev Dmitry Gutov <dgutov@yandex.ru>:

I'm not sure how we'd reach the same goals with plain old Elisp (structured 
editing in particular -- in Customize).

No enemy of little DSLs in principle but is that structural editing the main 
rationale now?

I think so? And the fact that it's more limited than Elisp means the values have to be uniform-ish. As a result they're easier to quickly grasp.

(I wish we had (byte-)compiled elisp functions carrying their own source, 
either as s-exp, string of formatted source text, or source file reference -- 
that would allow for sensible editing in Customise without performance penalty. 
But Santa gave me a wool jumper instead, that's nice too.)

We kind of have that already, if we just made the type for be 'sexp', or a Lisp form. With all the freedom associated with it, just lower performance compared to a compiled function.

Would that look like a good choice for e.g. font-lock-global-modes? I don't think the performance hit would be a problem for that use.

Regarding buffer-match-p, the fact that `not` actually means `nor` is a bit odd 
(we don't do that elsewhere), as well as arbitrary (why not `nand` etc) and 
undocumented.

Yeah, it's a wrinkle. I'm on the fence regarding changing it, though, for compatibility and ergonomical reasons (it's easier for the user to avoid typing a dot).

But I'm not married to it either.





reply via email to

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