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

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

bug#45333: complex command history should not save optional nil paramete


From: Lars Ingebrigtsen
Subject: bug#45333: complex command history should not save optional nil parameters
Date: Tue, 05 Jul 2022 22:49:57 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Lars Ingebrigtsen <larsi@gnus.org> writes:

> (Which reminds me -- I've always found it odd that that function lives
> in help.el, and is in Emacs Lisp instead of C.  It is, after all, used
> by eldoc etc, and it'd probably be nice if it were more efficient.)

So I started taking a stab at this to see whether there's any gains to
be had, and I've now basically rewritten it in C.  And, yes, I think it
makes sense, because we can avoid at least some garbage generating
functions without contorting ourselves too much.

One thing, though -- I'm not sure how to do the oclosure stuff from C,
so I've added Stefan to the CCs.  It's this bit:

  ;; Advice wrappers have "catch all" args, so fetch the actual underlying
  ;; function to find the real arguments.
  (setq def (advice--cd*r def))

This is an oclosure these days.

(While poking at this, if we want to do the proposed history shortening,
we don't need to look at the arglist at all -- we can just call
Ffunc_arity, which will return Qmany for &rest, so this
help-function-arglist rewrite is totally irrelevant for this bug
report.)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





reply via email to

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