all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Po Lu <luangruo@yahoo.com>
Cc: gregory@heytings.org, stefankangas@gmail.com, emacs-devel@gnu.org
Subject: Re: master 37889523278: Add new `swap` macro and use it
Date: Mon, 15 Jan 2024 16:13:11 +0200	[thread overview]
Message-ID: <8334uyelc8.fsf@gnu.org> (raw)
In-Reply-To: <87v87uya1h.fsf@yahoo.com> (message from Po Lu on Mon, 15 Jan 2024 21:56:58 +0800)

> From: Po Lu <luangruo@yahoo.com>
> Cc: Gregory Heytings <gregory@heytings.org>,  stefankangas@gmail.com,
>   emacs-devel@gnu.org
> Date: Mon, 15 Jan 2024 21:56:58 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Sun C 5.8 is part of Sun Studio 11, which was released in 2005.  Sun 
> >> Studio 11 is an (optional) extension package for Solaris 10 / SunOS 
> >> 5.10... on which GCC (3.4.3) is installed by default.
> >> 
> >> Sun C 5.9, part of Sun Studio 12 (which is likewise an optional extension 
> >> package for that same operating system), released in 2007, supports the 
> >> typeof operator.
> >
> > Thanks.  Given this information, I don't see why we should be bothered
> > with the deficiencies of Sun C 5.8.
> 
> For the same reason we bother with the deficiencies of GCC 3.4.3 and
> other C compilers and OSes.

AFAIK, we care about GCC 3.4.3 only for the MSDOS build, and only
because the MSDOS port cannot be built at all with any later version
of GCC.  And only for some value of "care": building Emacs with that
old version spews gobs of bogus warnings about "condition being true
due to limited data size", and we ignore that.

I fail to see how this is similar to the issue here.

> It is not enough that Emacs work on some combination of supported
> system and compiler, it must work on _all_ combinations of C
> compiler and supported system, provided that the C compiler is
> reasonable, for which we have a definition provided by the C99
> Standard.

No, that's not the goal.  We only support versions of the compilers
that are good enough for us.  So if a platform has a newer compiler
that will do, and that compiler is not too new and hard to obtain,
that is enough to not bother with supporting a much older version of
that compiler on that platform.  Especially wrt a proprietary compiler
on a proprietary OS.

> This practice of ours is so well established as to justify a mention in
> the GNU Coding Standards identifying Emacs by name.  (standards)Using
> Extensions:
> 
>   An exception to this rule are the large, established programs (such as
>   Emacs) which run on a great variety of systems.  Using GNU extensions
>   in such programs would make many users unhappy, so we don't do that.
> 
> Before you is one user who would be unhappy in such an event!

This is not a dogma, and doesn't have to be applied religiously in
every single instance of every single extension.  The above just hints
to people not to take Emacs as a counter-argument to the rest of the
advice in that section.

> Sun Studio 5.8 and 5.12 were once standard on systems at my workplace,
> but we have since moved to a different C compiler that has rendered both
> and GCC redundant, and does not implement "__typeof__" in its default
> mode of operation, despite being usually configured for compatibility
> with Sun C.  I will try to establish if its defaults are capable of
> compiling Emacs tomorrow.

If this is just to convince me not to install swap or some of its
variants, then please don't waste your time: I've already made the
decision, and it will not change because you find some compiler that
doesn't support typeof in any shape.



  reply	other threads:[~2024-01-15 14:13 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <170452579053.27998.16123231327386305897@vcs2.savannah.gnu.org>
     [not found] ` <20240106072311.28B8FC0034E@vcs2.savannah.gnu.org>
2024-01-06  7:39   ` master 37889523278: Add new `swap` macro and use it Po Lu
2024-01-06  8:44     ` Eli Zaretskii
2024-01-06  8:45       ` Po Lu
2024-01-06  9:18         ` Stefan Kangas
2024-01-06 10:33           ` Po Lu
2024-01-06 11:30             ` Stefan Kangas
2024-01-06 13:13               ` Po Lu
2024-01-06 13:59                 ` Eli Zaretskii
2024-01-06 14:41                   ` Po Lu
2024-01-06 15:34                     ` Eli Zaretskii
2024-01-07  1:39                       ` Po Lu
2024-01-07  6:34                         ` Stefan Kangas
2024-01-07  7:50                           ` Po Lu
2024-01-07  8:33                             ` Eli Zaretskii
2024-01-07  9:45                             ` Stefan Kangas
2024-01-07 10:36                               ` Po Lu
2024-01-07 11:34                                 ` Eli Zaretskii
2024-01-07 11:53                                   ` Po Lu
2024-01-07 14:37                                     ` Eli Zaretskii
2024-01-07 17:32                                 ` Stefan Kangas
2024-01-08  2:15                                   ` Po Lu
2024-01-07  7:09                         ` Eli Zaretskii
2024-01-12  0:50                   ` Gregory Heytings
2024-01-13 10:16                     ` Stefan Kangas
2024-01-14  3:03                     ` Richard Stallman
2024-01-14  5:14                     ` Po Lu
2024-01-14  7:07                       ` Eli Zaretskii
2024-01-14  8:05                         ` Po Lu
2024-01-14  9:31                           ` Eli Zaretskii
2024-01-15  1:32                             ` Gregory Heytings
2024-01-15 12:41                               ` Eli Zaretskii
2024-01-15 13:56                                 ` Po Lu
2024-01-15 14:13                                   ` Eli Zaretskii [this message]
2024-01-18  1:01                                 ` Gregory Heytings
2024-01-18  2:11                                   ` Po Lu
2024-01-27  1:26                                     ` Gregory Heytings
2024-01-27  2:58                                       ` Po Lu
2024-01-27 23:44                                         ` Stefan Kangas
2024-01-28  1:51                                           ` Po Lu
2024-01-28  2:35                                             ` Stefan Kangas
2024-01-28  4:17                                               ` Po Lu
2024-01-28  6:28                                             ` Eli Zaretskii
2024-01-28  2:22                                         ` Gregory Heytings
2024-01-28  4:03                                           ` Po Lu
2024-01-30  2:00                                             ` Gregory Heytings
2024-01-30  2:41                                               ` Po Lu
2024-01-28  6:40                                           ` Eli Zaretskii
2024-01-30  1:59                                             ` Gregory Heytings
2024-01-30 12:41                                               ` Eli Zaretskii
2024-01-18  6:22                                   ` Eli Zaretskii
2024-01-27  1:25                                     ` Gregory Heytings
2024-01-27  3:08                                       ` Po Lu
2024-01-27  7:19                                       ` Eli Zaretskii
2024-01-17  3:29                           ` Richard Stallman
2024-01-17 10:16                       ` Stefan Kangas
2024-01-17 11:15                         ` Po Lu
2024-01-17 21:15                           ` Stefan Kangas
2024-01-18  0:39                             ` Po Lu
2024-01-18 19:17                               ` Stefan Kangas
2024-01-19  1:10                                 ` Po Lu
2024-01-20 20:31                                   ` Stefan Kangas
2024-01-22  3:35                                     ` Richard Stallman
2024-01-22  4:48                                       ` Po Lu
2024-01-22 18:21                                         ` Dmitry Gutov
2024-01-23  0:50                                           ` Po Lu
2024-01-25 23:38                                           ` Stefan Kangas
2024-01-26  2:02                                             ` Po Lu
2024-01-26  7:53                                               ` Eli Zaretskii
2024-01-26  7:38                                             ` Eli Zaretskii
2024-01-19  3:32                               ` Richard Stallman
2024-01-19  4:12                                 ` Po Lu
2024-01-27  1:27                               ` Gregory Heytings
2024-01-27 23:56                                 ` Stefan Kangas
2024-01-28  2:23                                   ` Gregory Heytings
2024-01-13  8:02       ` Stefan Kangas
2024-01-13  9:14         ` Eli Zaretskii
2024-01-13  9:50           ` Mattias Engdegård
2024-01-06  8:50     ` Stefan Kangas
2024-01-06  9:09       ` Po Lu
2024-01-06  9:52       ` Andreas Schwab

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=8334uyelc8.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=gregory@heytings.org \
    --cc=luangruo@yahoo.com \
    --cc=stefankangas@gmail.com \
    /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.