[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master de6b1e1efb1: Replace XSETSYMBOL with make_lisp_symbol
From: |
Eli Zaretskii |
Subject: |
Re: master de6b1e1efb1: Replace XSETSYMBOL with make_lisp_symbol |
Date: |
Sun, 25 Feb 2024 07:53:06 +0200 |
> From: Mattias EngdegÄrd <mattias.engdegard@gmail.com>
> Date: Sat, 24 Feb 2024 21:54:39 +0100
> Cc: emacs-devel@gnu.org
>
> 24 feb. 2024 kl. 19.23 skrev Eli Zaretskii <eliz@gnu.org>:
>
> > Why is this a good idea? We have those XSET* macros in Emacs since
> > time immemoriam; why remove them now?
>
> There is no longer any reason for having those macros now, nor has there been
> for a very long time.
Maybe not for you, but for those like me who are hacking on Emacs for
many years, there is a significant reason: the familiarity with the
Emacs sources and the knowledge of how certain things are done in
Emacs that is burnt into our muscle memory.
> More in detail, `a=f(b)` is inherently simpler, more transparent, concise and
> composable than `X(a,b)`. It is obvious to the reader that it's an assignment
> and that `a` is only modified, `b` not at all and is only evaluated once.
> There is no need for an assignment at all if the result is used elsewhere.
This is your stylistic preference, which I don't share, probably
because I'm biased by many years of staring on Emacs code that uses
such macros everywhere.
So unless you can point out some serious disadvantage of these macros,
I think we should revert that commit, and refrain from doing similar
changes with other XSET* macros we have, at least until the last of us
dinosaurs leave Emacs development. TIA.