emacs-devel
[Top][All Lists]
Advanced

[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.



reply via email to

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