From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Emacs rewrite in a maintainable language Date: Sat, 17 Oct 2015 18:43:40 +0200 Message-ID: <87y4f1phs3.fsf@fencepost.gnu.org> 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> 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 1445100237 20899 80.91.229.3 (17 Oct 2015 16:43:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 17 Oct 2015 16:43:57 +0000 (UTC) Cc: Ludovic =?iso-8859-1?Q?Court=E8s?= , Eli Zaretskii , emacs-devel@gnu.org To: taylanbayirli@gmail.com (Taylan Ulrich =?utf-8?Q?=22Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer=22?=) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Oct 17 18:43:56 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 1ZnUaH-0001cO-LN for ged-emacs-devel@m.gmane.org; Sat, 17 Oct 2015 18:43:53 +0200 Original-Received: from localhost ([::1]:59072 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZnUaG-0001Z4-NR for ged-emacs-devel@m.gmane.org; Sat, 17 Oct 2015 12:43:52 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59892) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZnUaC-0001Yy-Jd for emacs-devel@gnu.org; Sat, 17 Oct 2015 12:43:49 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZnUaB-00024u-Ch for emacs-devel@gnu.org; Sat, 17 Oct 2015 12:43:48 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57608) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZnUa7-00024T-LW; Sat, 17 Oct 2015 12:43:43 -0400 Original-Received: from localhost ([127.0.0.1]:43194 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.82) (envelope-from ) id 1ZnUa6-0002uS-2O; Sat, 17 Oct 2015 12:43:42 -0400 Original-Received: by lola (Postfix, from userid 1000) id A3106DF535; Sat, 17 Oct 2015 18:43:40 +0200 (CEST) In-Reply-To: <871tctxy1a.fsf@T420.taylan> ("Taylan Ulrich =?utf-8?Q?=5C=22Bay=C4=B1rl=C4=B1=2FKammer=5C=22=22's?= message of "Sat, 17 Oct 2015 18:25:21 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e 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:191852 Archived-At: taylanbayirli@gmail.com (Taylan Ulrich "Bay=C4=B1rl=C4=B1/Kammer") writes: > David Kastrup 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. --=20 David Kastrup