From: xenodasein--- via "Emacs development discussions." <emacs-devel@gnu.org>
To: monnier@iro.umontreal.ca
Cc: emacs-devel@gnu.org, eliz@gnu.org
Subject: Re: Development Speed
Date: Thu, 23 Dec 2021 23:07:39 +0100 (CET) [thread overview]
Message-ID: <MrdKT2t--B-2@tutanota.de> (raw)
In-Reply-To: <83k0fvt6th.fsf@gnu.org>
Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02457.html
From: Eli Zaretskii
> Not -std=c17, -std=gnu17. We need some extensions, and cannot compile
> with __STRICT_ANSI__ defined (which is what -std=c17 does, AFAIK).
But we are also restricted to some subset dialect of it, not to break
older settings, right?
Quoting: https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg02453.html
From: Stefan Monnier
>> Language would help with this, I think.
> I don't think so. Such cruft is just the result of having to change
> code you don't know or understand enough to be sure exactly what to do,
> so you write your change so as to preserve as much of the previous
> behavior to be on the safe side. Language doesn't come into the picture
> very much. Test suites and "memory" (e.g. having the original author(s)
> around) do to some extent.
It is helpful to know what dialect you are dealing with when refactoring
such code, in terms of understanding and not causing new bugs. Newer
language features might also help. Of course other things mentioned
are a lot more significant:
> Language doesn't come into the picture very much.
But I guess this is getting too abstract, better for me talk over
examples when I'm over more of the code.
> There isn't much code in Emacs which suffers from UB, as far as I know.
> That code is quite crucial, OTOH (it's typically the bit-twiddling we
> use to manipulate the tagbits of `Lisp_Object` and the conservative
> stack scanning): I don't know how to write this without going outside of
> the specs of C (or Rust for that matter).
I see. I wouldn't consider this "UB", I mean it literally is but when
it is intentional, functional on all targeted platforms, documented
and localized, it is just normal practice. What I meant was of course
the unintended ones.
>> I had heard of studies showing how most bugs in important
>> C software were resulting from UBs, i.e. having wrong assumptions
>> on what you write
> [ Never heard of such studies. ]
>> Hell, didn't they invent Rust just to avoid these issues?
> Not that I know, no. It had to do with avoiding memory management and
> concurrency bugs, as far as I know. And yes I have heard of studies
> that showed that memory safety and concurrency are the most common
> sources of bugs in C-style languages.
Hm. So, memory safety and concurrency mistakes in most cases do not
stem from "having wrong assumptions on what you write?"
Perhaps I should work on my wording to legally prove what I thought
a lot more clearly if some things I write here will get literal answers;
or get taunted.
next prev parent reply other threads:[~2021-12-23 22:07 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
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. [this message]
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=MrdKT2t--B-2@tutanota.de \
--to=emacs-devel@gnu.org \
--cc=eliz@gnu.org \
--cc=monnier@iro.umontreal.ca \
--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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.