From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Tobias Gerdin Newsgroups: gmane.emacs.devel Subject: Re: Spending time on Guile Emacs? Date: Fri, 2 Dec 2016 21:56:11 +0100 Message-ID: References: <96C4AEF9-2D74-47C9-848C-780454CB9DE4@gmail.com> <83r35qokzx.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a1140210e01601a0542b32b14 X-Trace: blaine.gmane.org 1480712219 14506 195.159.176.226 (2 Dec 2016 20:56:59 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 2 Dec 2016 20:56:59 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 02 21:56:48 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cCusx-0001yS-0j for ged-emacs-devel@m.gmane.org; Fri, 02 Dec 2016 21:56:47 +0100 Original-Received: from localhost ([::1]:36436 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cCut0-0000cH-TP for ged-emacs-devel@m.gmane.org; Fri, 02 Dec 2016 15:56:50 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44031) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cCusS-0000bt-PP for emacs-devel@gnu.org; Fri, 02 Dec 2016 15:56:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cCusR-0003sn-JN for emacs-devel@gnu.org; Fri, 02 Dec 2016 15:56:16 -0500 Original-Received: from mail-lf0-x231.google.com ([2a00:1450:4010:c07::231]:36229) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cCusP-0003ri-St; Fri, 02 Dec 2016 15:56:14 -0500 Original-Received: by mail-lf0-x231.google.com with SMTP id t196so204192748lff.3; Fri, 02 Dec 2016 12:56:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=2ADXWGhwJuCkhmLP0dQ5MQxvQpOsGEPEHPxv63XviXU=; b=ZOfxIVy8VtNGFaS0GBi9veBN8fBaTLRZsK49tHpVWX2t+KHeaotlP7e0GHHdjf4H0n 6apRc24qYsav4cyP4I5zh33xurH9hJLot3gPEqsHi9cK1hMGKTzRR2ibCYnYhz3VpDt8 6+0PNudiUNWG+AhEB/W1WLzdTGmn9iDM67SGrNjlm12bP5BWCC0FKlQ778goABpir4i2 sm46zTnR0bMkzgaD1/KQ799FgMSbdwXWis6MYgAsKss1qqF3uiwXmo5RF/49jVBtzVHV hQiC3OW/iB962zbcyYXSGmrpGF3ZrLqM2NxnW1zJxB0+X9g0wviUYYdBbvWuFECkrYRp Bx+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=2ADXWGhwJuCkhmLP0dQ5MQxvQpOsGEPEHPxv63XviXU=; b=NqW/mTNWgWcdJsmPw+zUxI1v0DGHbTtJlUrpiV0rk7vV2tT9WLhKgGz2UKsomM/b+u 0Jgy6Hz3kB5hvFr2u87naxhS0I2HoqgXzqmCoP7ZgS8o3lDVtTMJhWQXet9oD4fykNv6 EKpo3I5nDxXL5Cb2S7lEEleK5OAEx21XCrPqPd+Rv+fOlyYN53T4sHQrNkmm/KIqL6nC I3RlmDsE4HCw6lyStOa13XWgQd5EtV8zwPkh5oD1fe2IxO++WvjW6rAZPbz932JjOljM X96eNZN6Mc5GF7Kz3ymLRAVPUxe0BRLtgnIY6rKeOjTflWpwa/XfjwN0QQZKqihi9i0K F52g== X-Gm-Message-State: AKaTC01RnAt0fuWJ1osiYIcGLZuY3KR8d/cm0d4f0akbSgMw+x0wh7VAO+Rkujl2B+Bf7Tzbd8fDmCQimxEVlA== X-Received: by 10.25.28.145 with SMTP id c139mr15116556lfc.167.1480712171641; Fri, 02 Dec 2016 12:56:11 -0800 (PST) Original-Received: by 10.25.166.194 with HTTP; Fri, 2 Dec 2016 12:56:11 -0800 (PST) In-Reply-To: <83r35qokzx.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:4010:c07::231 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:209943 Archived-At: --001a1140210e01601a0542b32b14 Content-Type: text/plain; charset=UTF-8 2016-12-02 8:20 GMT+01:00 Eli Zaretskii : > > From: Tobias Gerdin > > Date: Thu, 1 Dec 2016 21:48:05 +0100 > > > > In addition there is the text properties support. Unless one unifies the > two representations (perhaps via a compile-time flag if Emacs will be > statically linked with Guile) I think the challenge is to make it easy and > not too expensive to convert between them. > > Why would Guile want to know about text properties? What would it do > with them? > If one would like to be able to use the standard Scheme string manipulation procedures I believe Guile would need to know about the text properties since they should be preserved. One option would be to have special implementations of these when called from Emacs, or just provide some other Emacs-only string library alltogether. > AFAIU, Guile should receive only the text part of the Emacs strings, > with or without encoding conversion (probably with, because there are > some quirks in Emacs internal representation of text that Guile > neither can nor should care about). > Right, keeping string Unicode-only makes a lot of sense for Guile in general. As for statically linking Emacs with Guile, I'm not sure it's a good > idea, as Guile is a very large library. > Dynamically linked would be best of course, provided one could work out the other issues without resorting to any compile-time configuration. --001a1140210e01601a0542b32b14 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
2016-12-02 8:20 GMT+01:00 Eli Zaretskii = <eliz@gnu.org><= /span>:
> From: Tobias Gerdin <tgerdin@gmail.com>
> Date: Thu, 1 Dec 2016 21:48:05 +0100
>
> In addition there is the text properties support. Unless one unifies t= he two representations (perhaps via a compile-time flag if Emacs will be st= atically linked with Guile) I think the challenge is to make it easy and no= t too expensive to convert between them.

Why would Guile want to know about text properties?=C2=A0 What would it do<= br> with them?
=C2=A0
If one would like to be ab= le to use the standard Scheme string=20 manipulation procedures I believe Guile would need to know about the=20 text properties since they should be preserved. One option would be to have= special implementations of these when called from Emacs, or just provide s= ome other Emacs-only string library alltogether.
=C2=A0
AFAIU, Guile should receive only the text part of the Emacs strings,
with or without encoding conversion (probably with, because there are
some quirks in Emacs internal representation of text that Guile
neither can nor should care about). =C2=A0

Right, keeping string Unicode-on= ly makes a lot of sense for Guile in general.

As for statically linking Emacs with Guile, I'm not sure it's a goo= d
idea, as Guile is a very large library.

Dynamically linked would be best of course, provided one could work out th= e other issues without resorting to any compile-time configuration.
--001a1140210e01601a0542b32b14--