From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: taylanbayirli@gmail.com (Taylan Ulrich =?utf-8?Q?Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer?=) Newsgroups: gmane.emacs.devel Subject: Re: Emacs rewrite in a maintainable language Date: Sat, 17 Oct 2015 19:00:03 +0200 Message-ID: <87oafxwhv0.fsf@T420.taylan> References: <561A19AB.5060001@cumego.com> <87io6dl0h0.fsf@wanadoo.es> <87lhb82qxc.fsf@gmail.com> <87oag4jk74.fsf@wanadoo.es> <87k2qrki45.fsf@wanadoo.es> <8737xf9je9.fsf@fencepost.gnu.org> <87pp0fm0j3.fsf@gnu.org> <87r3kusx8z.fsf@fencepost.gnu.org> <83lhb26eb9.fsf@gnu.org> <876126key3.fsf@gnu.org> <83fv1a6bfu.fsf@gnu.org> <87d1weo7u9.fsf@gnu.org> <83zizi3qr0.fsf@gnu.org> <87lhb1n81y.fsf@gnu.org> <87a8rhqzdd.fsf@fencepost.gnu.org> <871tctxy1a.fsf@T420.taylan> <87y4f1phs3.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1445101494 6652 80.91.229.3 (17 Oct 2015 17:04:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 17 Oct 2015 17:04:54 +0000 (UTC) Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= , Eli Zaretskii , emacs-devel@gnu.org To: David Kastrup Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Oct 17 19:04:53 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZnUua-00038d-B3 for ged-emacs-devel@m.gmane.org; Sat, 17 Oct 2015 19:04:52 +0200 Original-Received: from localhost ([::1]:59152 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZnUuZ-0002Y0-JW for ged-emacs-devel@m.gmane.org; Sat, 17 Oct 2015 13:04:51 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35187) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZnUpz-00042n-IK for emacs-devel@gnu.org; Sat, 17 Oct 2015 13:00:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZnUpy-0006ic-DI for emacs-devel@gnu.org; Sat, 17 Oct 2015 13:00:07 -0400 Original-Received: from mail-wi0-x22f.google.com ([2a00:1450:400c:c05::22f]:37489) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZnUpy-0006gl-7K; Sat, 17 Oct 2015 13:00:06 -0400 Original-Received: by wicfv8 with SMTP id fv8so27805190wic.0; Sat, 17 Oct 2015 10:00:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type:content-transfer-encoding; bh=0VF9kI96D+aMd5JahgUbfNhFys5VmiNfonblD3+FQ48=; b=qv9PcZLFMBEj2Vig83VTzAfP5TcthyHY+NTz6021pGZaFk9nwlAQkJ5YhVnbrE/N2G 6JBpq6Dpc0sUhicVAN0qDyOCxRn8FfPW4GwHtzsplz3BLU52YRzSgf1NKJci5e3Yi2mV IPxnpRl6Zu386MqQdOz5311VV7XVnCy8iO2b9h+v2v8v9kPmxJgaELBmf6OOr/Chd1+Y ZJ7Kt9BkOfE3TjHgGFM5GDdu/gKiE57jvkVbo4//JMup72oFvLD9selXkW0Di+jNlgCs /5mwYtyYPlfWsPNxlzgJnJZwaTpA01EN0MxWASfn2nPx5F/SU6GkfEMQpQHV60PvLxFt WZ4g== X-Received: by 10.180.8.68 with SMTP id p4mr11808024wia.16.1445101205517; Sat, 17 Oct 2015 10:00:05 -0700 (PDT) Original-Received: from T420.taylan ([2a02:908:c32:4740:221:ccff:fe66:68f0]) by smtp.gmail.com with ESMTPSA id gl7sm17352539wib.1.2015.10.17.10.00.04 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Oct 2015 10:00:04 -0700 (PDT) In-Reply-To: <87y4f1phs3.fsf@fencepost.gnu.org> (David Kastrup's message of "Sat, 17 Oct 2015 18:43:40 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::22f X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:191855 Archived-At: David Kastrup writes: > taylanbayirli@gmail.com (Taylan Ulrich "Bay=C4=B1rl=C4=B1/Kammer") writes: > >> Most of the benefits in e.g. http://www.emacswiki.org/emacs/GuileEmacs >> apply without having to solve the string problem. Specifically, from >> the overview section, the first two points and half of the third >> should apply I think. The third point only halfway because some Guile >> APIs might expect to receive Guile strings, so using them from Elisp >> code would be problematic, but Guile APIs which don't take strings >> should be fine. Anyway, the first two points are already pretty >> attractive, especially the second. >> >> Whatever language Emacs is written in, the native string library of >> the language will be insufficient, so meh. > > Shrug. C strings are "insufficient" but they don't get in the way. The > problem with GUILE=C2=A02 strings is not that they are insufficient, the > problem is that they are incompatible while not exposing the mechanisms > that would allow working around that incompatibility. > > The way around that is to scrap _any_ string handling in GUILE and > instead map Emacs strings to byte vectors (and the related ports). > Which was actually what was recommended to me to do for LilyPond, > leading to me firing off a sequence of bug reports (I think the last one > was closed recently but the respective fix is not yet in any released > version of GUILE): this code has apparently not seen much exercise. So > even letting GUILE just step aside with regard to encoding/decoding is > something that's not yet to be called reliable and well-tested. > > But that at least improves over time since it cannot be called anything > but a bug. The coding implementation issues, in contrast, are not > considered something where GUILE is in need of change or redesign and/or > where any work would be scheduled or advertised as necessary. Maybe one could say GuileEmacs does indeed scrap any string handling in Guile, since it simply uses the existing Elisp string data type. I guess the problem for LilyPond was that it used to use the Guile 1 string data type which now doesn't exist anymore? Thankfully no such problem applies to GuileEmacs which can just stick to Elisp strings. (I think I need to take back the "none of the current problems are related to strings" though, since IIRC Elisp strings can't currently be serialized into Guile's byte-code to be written onto the disk. Not sure if that's relevant to the topic.) Taylan