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: Suhail Singh <suhailsingh247@gmail.com>,
	 gerd.moellmann@gmail.com, nicolas@n16f.net,
	 arthur.miller@live.com,  emacs-devel@gnu.org
Subject: Emacs ffi (was: Re: as for Calc and the math library)
Date: Thu, 15 Aug 2024 05:31:49 -0400	[thread overview]
Message-ID: <yp14j7mi12y.fsf_-_@fencepost.gnu.org> (raw)
In-Reply-To: <86frr786k7.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 14 Aug 2024 18:31:20 +0300")

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Suhail Singh <suhailsingh247@gmail.com>
>> Cc: Suhail Singh <suhailsingh247@gmail.com>,  gerd.moellmann@gmail.com,
>>  nicolas@n16f.net,  arthur.miller@live.com,  emacs-devel@gnu.org
>> Date: Wed, 14 Aug 2024 11:08:02 -0400
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> On the topic of what would be acceptable for an FFI, wouldn't something
>> >> akin to what's done for modules be sufficient ?  I.e., have the users of
>> >> the interface explicitly state that they are compliant.
>> >> 
>> >> It would scale better than an allow-list.  IIUC, Arthur mentioned this
>> >> in another thread.  If this wouldn't be sufficient for an FFI, could you
>> >> please elaborate on why that's the case ?
>> >
>> > What exactly are you suggesting?  IOW, please describe what you have
>> > in mind in more detail, because I don't think I understand it.
>> 
>> Specifically, modify the `define-ffi-library' macro that emacs-ffi
>> provides.
>> 
>> Presently, it takes two arguments: a SYMBOL and a NAME.  I am proposing
>> that it be updated to take three arguments: a SYMBOL, a NAME and a
>> GPL-COMPATIBLE-P token.  A value of `t' would be necessary for creating
>> a reference to the library.
>
> And if the value is not t, then the load will fail?  If so, then this
> additional argument makes very little sense: you could instead say
> that just by loading the library, the Lisp program which uses
> emacs-ffi "declares" the loaded library to be GPL-compatible.  And we
> are back where we began.

Agree

> The way we do it when loading modules requires the _loaded_ library to
> declare itself compatible, by exporting a symbol of a certain name.
> That is an action by the library we load, not by the Lisp program
> which loads it.

But we could do the same for our hypothetical ffi machinery, that is:
`define-ffi-library' could fail if the shared library is not exporting
the predetermined symbol we expect no?

  Andrea



  parent reply	other threads:[~2024-08-15  9:31 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-12  5:30 as for Calc and the math library arthur miller
2024-08-12 11:00 ` Eli Zaretskii
2024-08-12 11:23   ` Nicolas Martyanoff
2024-08-12 11:46     ` Eli Zaretskii
2024-08-12 12:11       ` Nicolas Martyanoff
2024-08-12 13:22         ` Eli Zaretskii
2024-08-12 13:38           ` Christopher Dimech
2024-08-15  1:59             ` Richard Stallman
2024-08-15  3:06               ` Christopher Dimech
2024-08-15  6:43                 ` Eli Zaretskii
2024-08-15 13:28                   ` Christopher Dimech
2024-08-15 16:39                     ` Eli Zaretskii
2024-08-13  7:16           ` Sv: " arthur miller
2024-08-13 12:12             ` Eli Zaretskii
2024-08-13 13:10               ` Nicolas Martyanoff
2024-08-13 13:30                 ` Eli Zaretskii
2024-08-13 13:48                   ` Nicolas Martyanoff
2024-08-13 21:43               ` Sv: " arthur miller
2024-08-14  5:09                 ` Eli Zaretskii
2024-08-14  8:45                   ` Sv: " arthur miller
2024-08-14  9:56                     ` Nicolas Martyanoff
2024-08-14 10:43                       ` Eli Zaretskii
2024-08-13  5:39       ` Gerd Möllmann
2024-08-14  4:11         ` Gerd Möllmann
2024-08-14  6:23           ` Eli Zaretskii
2024-08-14  6:28             ` Gerd Möllmann
2024-08-14  6:43               ` Eli Zaretskii
2024-08-14 14:00             ` Suhail Singh
2024-08-14 14:20               ` Eli Zaretskii
2024-08-14 15:08                 ` Suhail Singh
2024-08-14 15:31                   ` Eli Zaretskii
2024-08-14 16:00                     ` Suhail Singh
2024-08-14 16:24                       ` Eli Zaretskii
2024-08-14 20:35                       ` Emanuel Berg
2024-08-15  5:00                     ` Sv: " arthur miller
2024-08-15  7:02                       ` Eli Zaretskii
2024-08-15 20:09                         ` Sv: " arthur miller
2024-08-16  5:47                           ` Eli Zaretskii
2024-08-16  6:17                           ` we need *modularity* [last problem] (was: Re: as for Calc and the math library) Emanuel Berg
2024-08-16  9:35                             ` first-is (3 versions, Elisp hangup) (was: Re: we need *modularity* [last problem]) Emanuel Berg
2024-08-16  9:53                               ` Emanuel Berg
2024-08-16 10:57                               ` Eli Zaretskii
2024-08-18 16:38                           ` as for Calc and the math library Richard Stallman
2024-08-18 17:27                             ` Christopher Dimech
2024-08-19 12:05                             ` Sv: " arthur miller
2024-08-24  2:59                               ` Richard Stallman
2024-08-24  2:59                               ` Richard Stallman
2024-08-15  9:31                     ` Andrea Corallo [this message]
2024-08-15  9:43                       ` Emacs ffi (was: Re: as for Calc and the math library) Eli Zaretskii
2024-08-15 20:32                         ` Emacs ffi Andrea Corallo
     [not found]                           ` <trinity-a24567af-9dc5-4e16-960c-c42d9759f282-1723755762558@3c-app-mailcom-bs05>
2024-08-16 20:07                             ` Andrea Corallo
2024-08-16 21:21                               ` Christopher Dimech
2024-08-17  6:06                                 ` Eli Zaretskii
2024-08-17  9:05                                   ` Christopher Dimech
2024-08-17 10:53                                     ` Eli Zaretskii
2024-08-17 13:21                                     ` Stefan Kangas
2024-08-17 14:30                                       ` Joel Reicher
2024-08-17 17:18                                         ` Christopher Dimech
2024-08-18  4:44                                         ` Emanuel Berg
2024-08-19 12:38                                         ` Sv: " arthur miller
2024-08-17 15:36                                       ` Christopher Dimech
2024-08-18  5:25                                       ` Emanuel Berg
2024-08-17 15:23                                 ` Andrea Corallo
2024-08-18 13:26                                 ` Björn Bidar
     [not found]                                 ` <87h6birmfy.fsf@>
2024-08-19 16:57                                   ` Richard Stallman
2024-08-19 17:22                                     ` Christopher Dimech
2024-08-17  2:21                               ` Emanuel Berg
2024-08-14 14:35               ` as for Calc and the math library Gerd Möllmann
2024-08-14 14:40                 ` Nicolas Martyanoff
2024-08-14 14:47                   ` Gerd Möllmann
2024-08-14 14:49                   ` Eli Zaretskii
2024-08-14  5:29     ` Madhu
2024-08-14  6:06       ` [ffi] " Madhu

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=yp14j7mi12y.fsf_-_@fencepost.gnu.org \
    --to=acorallo@gnu.org \
    --cc=arthur.miller@live.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=gerd.moellmann@gmail.com \
    --cc=nicolas@n16f.net \
    --cc=suhailsingh247@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).