From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andy Moreton Newsgroups: gmane.emacs.devel Subject: Re: Internationalize Emacs's messages (swahili) Date: Wed, 30 Dec 2020 14:00:22 +0000 Message-ID: <867doz1jih.fsf@gmail.com> References: <87o8ivumn5.fsf@telefonica.net> <83sg7xrgr5.fsf@gnu.org> <83h7odrdwy.fsf@gnu.org> <86sg7w39fh.fsf@163.com> <83pn30pku5.fsf@gnu.org> <86wnx8otoj.fsf@163.com> <834kkbp9vr.fsf@gnu.org> <87czyxuxw6.fsf@db48x.net> <87v9cosv0b.fsf@db48x.net> <877dp3skh8.fsf@db48x.net> <86h7o68iev.fsf@163.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10019"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (windows-nt) To: emacs-devel@gnu.org Cancel-Lock: sha1:M9FPSL6k8ckOhBYZ2VKNz7eEyeY= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Dec 30 15:02:06 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kuc3C-0002Xf-TA for ged-emacs-devel@m.gmane-mx.org; Wed, 30 Dec 2020 15:02:06 +0100 Original-Received: from localhost ([::1]:33598 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kuc3B-0001r7-Tb for ged-emacs-devel@m.gmane-mx.org; Wed, 30 Dec 2020 09:02:05 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kuc1i-0001Gw-P5 for emacs-devel@gnu.org; Wed, 30 Dec 2020 09:00:34 -0500 Original-Received: from ciao.gmane.io ([116.202.254.214]:49608) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kuc1g-0007ow-J0 for emacs-devel@gnu.org; Wed, 30 Dec 2020 09:00:33 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1kuc1d-0000vK-FA for emacs-devel@gnu.org; Wed, 30 Dec 2020 15:00:29 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 5 X-Spam_score: 0.5 X-Spam_bar: / X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:262126 Archived-At: On Tue 29 Dec 2020, Richard Stallman wrote: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > Rust is able to generate C dynamic library, so we can link with it. > > I am interested in understanding what that means. Could you describe > in 10-20 lines what it means? What is the input, what is the output, > and what software does the conversion? The suggestion above is to build a shared library (.so, .dll, etc), but written in Rust instead of C. That requires a Rust toochain to compile the code. > > You can take a look at librsvg[1] (from project GNOME). A SVG renderer > > powered by Rust(and it's also used by Emacs currently) > > That is not something I can feasibly do -- it would take an hour if > not several hours for me to learn the basic points. So I hope > you will describe what I need to know in a brief summary. Rust is a language that fits the same space as C does: a systems language with minimal runtime support needed (so ok for embedded targets). It has good interop with C, so Rust code and C code can call each other directly without any complicated FFI or marshalling. For the example SVG library, that allowed the authors to rewrite parts of the C code in Rust for better type safety (to reduce the number of security critical bugs) without changing the library ABI. > But I think it would be a nuisance to make this a separate library. > It should be packaged with the support for getopt, and written in C so > we (the GNU Project) can easily maintain it. > > From what I hear, Rust has a fundamental practical flaw: it is not > intended to be stable. The developers want to keep changing it. > That's fine, in principle, but until they decided to make it stable, > we should write important code in some other language. The language core is stable now, and current work is mostly on stabilising libraries. Rust is a promising language, and while not yet completely stable the pace of change is slowing as it matures. Many projects are using Rust in production code. Adding another toolchain to the dependencies for a project is a large change. In addition, the Rust toolchains do not (yet) support many of the targets that are supported by C toolchains. AndyM