unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: xenodasein@tutanota.de
Cc: emacs-devel@gnu.org,  eliz@gnu.org
Subject: Re: Development Speed
Date: Thu, 23 Dec 2021 14:12:44 -0500	[thread overview]
Message-ID: <jwvk0fvgnbm.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <MrcMFFw--J-2@tutanota.de> (xenodasein@tutanota.de's message of "Thu, 23 Dec 2021 18:35:50 +0100 (CET)")

> In the same vein, my thought at least, it was more about making the code
> more standard compliant, predictable, rather than specific features.

I'd be surprised if the compliance (or not) of Emacs's C code with
specific versions of the C standard would make any difference to
a newcomer.

The difficulty in our C code comes from various aspects, none of which
have much to do with the C language itself:
- The use of macros to wrap accesses/definitions of Lisp data/functions.
  REmacs had a slightly better story there, but still with the same "this
  is not your vanilla Rust code" problem.
- The actual logic of the code.
- The cruft accumulated over the years.
- The impact of the (conservative) GC which implies that things aren't
  always what they appear to be (e.g. when our string compaction moves
  string data under the feet of unsuspecting C code).

Over the years, we've managed to reduce the use of macros (replaced by
inlinable functions) to some extent, partly thanks to improvement in
compilers, but it didn't change much to the code overall.

> I can't see how this is something to ask over small patches, as
> in a patch that says "Make these few lines of code C17 compliant"
> wouldn't mean much without a plan.

If you describe a concrete problem linked to being "not C17 compliant",
then maybe we can start thinking about a plan.  But so far all I've seen
is "compliance for its own sake".

I don't even know of any single place where we're not "C17 compliant".


        Stefan




  reply	other threads:[~2021-12-23 19:12 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-22  0:52 Development Speed xenodasein--- via Emacs development discussions.
2021-12-22  1:16 ` Po Lu
2021-12-22 12:41 ` Eli Zaretskii
2021-12-22 15:15   ` xenodasein--- via Emacs development discussions.
2021-12-22 16:37     ` Eli Zaretskii
2021-12-23 13:36       ` xenodasein--- via Emacs development discussions.
2021-12-23 13:42         ` Po Lu
2021-12-23 13:48           ` xenodasein--- via Emacs development discussions.
2021-12-23 16:36             ` Stefan Monnier
2021-12-23 17:02               ` xenodasein--- via Emacs development discussions.
2021-12-24  0:21                 ` Po Lu
2021-12-24 20:21               ` Tim Cross
2021-12-23 16:35         ` Stefan Monnier
2021-12-23 17:35           ` xenodasein--- via Emacs development discussions.
2021-12-23 19:12             ` Stefan Monnier [this message]
2021-12-23 19:53               ` xenodasein--- via Emacs development discussions.
2021-12-23 20:10                 ` Stefan Monnier
2021-12-23 20:16                   ` Eli Zaretskii
2021-12-23 22:07                     ` xenodasein--- via Emacs development discussions.
2021-12-24  7:00                       ` Eli Zaretskii
2021-12-25  5:16               ` Richard Stallman
2021-12-25  5:22                 ` Po Lu
2021-12-25  7:03                 ` Eli Zaretskii
2021-12-25 15:55                 ` Stefan Monnier
2021-12-25  5:16             ` Richard Stallman
2021-12-24  1:33           ` Sean Whitton
2021-12-24 14:06             ` Stefan Monnier
2021-12-24 14:39               ` Óscar Fuentes
2021-12-22 15:21   ` xenodasein--- via Emacs development discussions.
2021-12-22 16:42     ` Eli Zaretskii
2021-12-23 13:57       ` xenodasein--- via Emacs development discussions.
2021-12-23 14:37         ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2021-12-21 10:52 xenodasein--- via Emacs development discussions.
2021-12-21 11:05 ` Po Lu
2021-12-21 11:25   ` xenodasein--- via Emacs development discussions.
2021-12-21 11:37     ` Po Lu
2021-12-21 14:47       ` xenodasein--- via Emacs development discussions.
2021-12-22  0:56         ` Po Lu
2021-12-22  1:05           ` xenodasein--- via Emacs development discussions.
2021-12-21 12:05     ` Stefan Kangas
2021-12-21 12:20       ` Theodor Thornhill
2021-12-21 14:14       ` xenodasein--- via Emacs development discussions.
2021-12-21 14:48 ` Eli Zaretskii
2021-12-22  4:16 ` Richard Stallman
2021-12-22 10:09   ` Óscar Fuentes
2021-12-22 10:22     ` Po Lu
2021-12-22 10:38       ` Óscar Fuentes
2021-12-22 10:45         ` Po Lu
2021-12-22 13:47         ` Eli Zaretskii
2021-12-23  3:43         ` Richard Stallman
2021-12-23  9:50           ` Óscar Fuentes
2021-12-23 10:37             ` Po Lu
2021-12-23 10:52               ` Óscar Fuentes
2021-12-23 10:54               ` Arthur Miller
2021-12-24  4:13               ` Richard Stallman
2021-12-24  4:13             ` Richard Stallman
2021-12-22 14:21       ` Dmitry Gutov
2021-12-23  1:00         ` Po Lu
2021-12-23  1:05           ` Dmitry Gutov
2021-12-23  1:07             ` Po Lu
2021-12-23  2:18               ` dick
2021-12-23  6:39                 ` Eli Zaretskii
2021-12-23 10:46               ` Dmitry Gutov
2021-12-23 12:54                 ` Arthur Miller
2021-12-22 13:41     ` Eli Zaretskii
2021-12-22 15:51       ` Óscar Fuentes
2021-12-22 17:12         ` Eli Zaretskii
2021-12-22 18:49           ` Óscar Fuentes
2021-12-23  3:43     ` Richard Stallman
2021-12-23 10:13       ` Óscar Fuentes
2021-12-23 10:35         ` Po Lu
2021-12-23 10:47           ` Óscar Fuentes
2021-12-23 10:50             ` Po Lu
2021-12-23 10:59               ` Óscar Fuentes
2021-12-23 11:05                 ` Po Lu
2021-12-23 11:16                   ` Óscar Fuentes
2021-12-24  4:13           ` Richard Stallman
2021-12-24  4:13         ` Richard Stallman
2021-12-23 10:23       ` Arthur Miller
2021-12-24  4:13         ` Richard Stallman
2021-12-22 14:41   ` xenodasein--- via Emacs development discussions.
2021-12-19 17:06 xenodasein--- via Emacs development discussions.
2021-12-20  0:31 ` Po Lu
2021-12-20  4:16   ` xenodasein--- via Emacs development discussions.
2021-12-20  5:12     ` Po Lu
2021-12-20  8:16     ` Philip Kaludercic
2021-12-20 14:30     ` Stefan Monnier
2021-12-20 15:51       ` xenodasein--- via Emacs development discussions.
     [not found]     ` <MrLr14W--3-2@tutanota.de>
     [not found]       ` <87lf0f1vko.fsf@yahoo.com>
2021-12-20 15:49         ` xenodasein--- via Emacs development discussions.
2021-12-21  1:06           ` Po Lu
2021-12-21 10:25       ` xenodasein--- via Emacs development discussions.
2021-12-21 10:31         ` Po Lu
2021-12-21 14:39         ` Eli Zaretskii
2021-12-20 10:31 ` Lars Ingebrigtsen
2021-12-21  4:15 ` Richard Stallman
2021-12-21  5:55   ` Eli Zaretskii
2021-12-21 11:09   ` xenodasein--- via Emacs development discussions.
2021-12-21 14:52     ` Eli Zaretskii
2021-12-22  0:55       ` xenodasein--- via Emacs development discussions.
2021-12-22 12:44         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvk0fvgnbm.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=xenodasein@tutanota.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).