unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Andrea Corallo <acorallo@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org,  monnier@iro.umontreal.ca,
	mattias.engdegard@gmail.com,  stefankangas@gmail.com
Subject: Re: Introducing 'safety' compilation parameter
Date: Fri, 10 May 2024 14:05:01 -0400	[thread overview]
Message-ID: <yp1a5kxv8z6.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <yp1eda9v931.fsf@fencepost.gnu.org> (Andrea Corallo's message of "Fri, 10 May 2024 14:02:42 -0400")

Andrea Corallo <acorallo@gnu.org> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> From: Andrea Corallo <acorallo@gnu.org>
>>> Cc: Eli Zaretskii <eliz@gnu.org>, monnier@iro.umontreal.ca,
>>>  mattias.engdegard@gmail.com, stefankangas@gmail.com
>>> Date: Tue, 07 May 2024 06:37:50 -0400
>>> 
>>> I've put in scratch/comp-safety a branch wich introduces 'safety' as
>>> compilation parameter.
>>> 
>>> 'safety' can be used similarly to 'native-comp-speed' both as a global
>>> variable to influence compilation both as a function declaration.
>>> 
>>> 'safety' justification of existence is ATM being able to control the
>>> undefined behaviour being created when function type declaration added
>>> by the user is not correct.
>>> 
>>> ATM we can have two values:
>>> 
>>> 1 Emitted code is generated in a safe matter even if function types are
>>> miss-declared.
>>> 0 Emitted code can misbehave or crash Emacs if function declarations are
>>> not correct and the function is native compiled (@pxref{Native
>>> Compilation}).
>>> 
>>> 1 is ATM the default.
>>
>> Is this for Emacs 30 or Emacs 31?
>>
>> If the former, we should conclude this discussion soon enough.
>>
>> I don't have an opinion about the utility of this for Emacs Lisp, but
>> this part of the documentation:
>>
>>> +Possible values are:
>>> +
>>> +0 Emitted code can misbehave or crash Emacs if function declarations are
>>> +not correct and the function is native compiled (@pxref{Native
>>> +Compilation}).
>>> +
>>> +1 Emitted code is generated in a safe matter even if function are
>>> +miss-declared."
>>
>> should be formatted as a @table.
>
> Okay, I moved that part to doc/lispref/compile.texi to document in
> 'compilation-safety' and added the @table for the possible values.
> Still in functions.texi we keep a reference to it.

Sorry forgot to mention that the new code is in scratch/comp-safety2
(I'll do some GC at the end but wanted to keep both approaches for now).

Thanks

  Andrea



  reply	other threads:[~2024-05-10 18:05 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-07 10:37 Introducing 'safety' compilation parameter Andrea Corallo
2024-05-07 12:01 ` Alan Mackenzie
2024-05-07 13:15   ` Eli Zaretskii
2024-05-07 16:07     ` Drifting towards a statically typed Emacs Lisp. [Was: Introducing 'safety' compilation parameter] Alan Mackenzie
2024-05-07 17:06       ` Andrea Corallo
2024-05-07 23:37         ` Emanuel Berg
2024-05-07 18:00       ` Eli Zaretskii
2024-05-08  0:14         ` Emanuel Berg
2024-05-07 23:29       ` Emanuel Berg
2024-05-09 23:52       ` Richard Stallman
2024-05-10  6:31         ` Eli Zaretskii
2024-05-07 16:37   ` Introducing 'safety' compilation parameter Tomas Hlavaty
2024-05-07 16:54   ` Andrea Corallo
2024-05-07 23:42     ` Emanuel Berg
2024-05-07 14:56 ` Stefan Monnier
2024-05-07 16:13   ` Andrea Corallo
2024-05-10 17:58     ` Andrea Corallo
2024-05-13  2:29       ` Stefan Monnier
2024-05-13 18:59         ` Eli Zaretskii
2024-05-13 21:12           ` Andrea Corallo
2024-05-14  6:11             ` Eli Zaretskii
2024-05-09  8:40 ` Eli Zaretskii
2024-05-10  7:47   ` Andrea Corallo
2024-05-10 10:17     ` Eli Zaretskii
2024-05-10 11:42       ` Andrea Corallo
2024-05-10 15:10         ` Eli Zaretskii
2024-05-10 18:02   ` Andrea Corallo
2024-05-10 18:05     ` Andrea Corallo [this message]
2024-05-09  9:19 ` Gerd Möllmann
2024-05-10  7:58   ` Andrea Corallo
2024-05-10  8:09     ` Gerd Möllmann
2024-05-10  8:19       ` Andrea Corallo
2024-05-10 14:00     ` Stefan Monnier

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=yp1a5kxv8z6.fsf@fencepost.gnu.org \
    --to=acorallo@gnu.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=mattias.engdegard@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    --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 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).