From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Yuri Khan Newsgroups: gmane.emacs.devel Subject: Re: What improvements would be truly useful? Date: Tue, 6 Mar 2018 14:48:39 +0700 Message-ID: References: <87inaiss6l.fsf@web.de> <6FCF6ACA-4F29-4B6B-BE9D-D7130C6E9495@gnu.org> <87fu5moe4c.fsf@web.de> <877eqyocro.fsf@web.de> <83zi3uz4nb.fsf@gnu.org> <0b1dd3fa-e0b0-ed20-a256-dd92d1c1826f@dancol.org> <8bc3c4c7-dfc7-987a-95e7-bd309e2326c6@cs.ucla.edu> <03118DC0-39DA-4AB5-980E-A33809B9A5EE@raeburn.org> <86578165-1b41-e75c-7180-84d8edefc44b@grinta.net> <83o9k2s4xw.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1520322737 20989 195.159.176.226 (6 Mar 2018 07:52:17 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 6 Mar 2018 07:52:17 +0000 (UTC) Cc: Daniele Nicolodi , Emacs developers To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Mar 06 08:52:12 2018 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 1et7OK-000439-0B for ged-emacs-devel@m.gmane.org; Tue, 06 Mar 2018 08:52:08 +0100 Original-Received: from localhost ([::1]:54003 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1et7QL-0004il-3x for ged-emacs-devel@m.gmane.org; Tue, 06 Mar 2018 02:54:13 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59495) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1et7LL-0001Of-PN for emacs-devel@gnu.org; Tue, 06 Mar 2018 02:49:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1et7LL-0005wI-1h for emacs-devel@gnu.org; Tue, 06 Mar 2018 02:49:03 -0500 Original-Received: from mail-ot0-x229.google.com ([2607:f8b0:4003:c0f::229]:35619) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1et7LJ-0005ut-IZ; Tue, 06 Mar 2018 02:49:01 -0500 Original-Received: by mail-ot0-x229.google.com with SMTP id r30so227660otr.2; Mon, 05 Mar 2018 23:49:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-transfer-encoding; bh=gI3UioL+br9coDId1/HtsMoh/8w5/fujx9BfzD2zXps=; b=BoAtaBI7kqoIVLU0HDnVzWqSG25JxeVxWNridU49foO2sw5Eysp30Lle9RMOizLooO jjamo+e6Qm/O1Lp7ncqeS5oihgqOxzCvLrwarhOZ1ChG2tBfPNQJ3UvEmDfqBg/++2bD 0m+uHOkstzUmlE1LjUJHA7Gdfj4UAj8myCO0ZCo46Ez7H+DOVFWAX1rSG20+S51bjiNL JyFsvQdVjj4XD2pUylNgQtsjO0C178xq+p1UymNuF3ehSsBOBZEWFc9a6IE/N7zy+zp7 x886ZW0eLjZ58awX/5ZYk9d9IwovL0AmiVaiz2N23aXuioxOM8aPvH8nUrSBqfC+i5Pf ogeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-transfer-encoding; bh=gI3UioL+br9coDId1/HtsMoh/8w5/fujx9BfzD2zXps=; b=fUfa0hpgFXo0cclN4W6BORd8482Dvv6KV290KumCgmOmisePHz6+Owq+fvYCozBJdt zsxdFaXjuQQ2i89NvQM3Rp3pu7VV92AxOt4ZfLu8PESQzc0M0fEAB/zaUL+S0t8C21A8 DqsifVheV4d4xjnj4VOz4iUhZxrT+p7shSb/B0Iw/RaY7j0JaKVtPFdGVhrbwHEGB3Ny GmZtlKWP9cJQxb4v1tsVsDfFaOp3pW9aruVmDkuXVh5l/IJH4hKm8/amCC8PkTgdENGN CVDn2Ufax6pttErVzELo5/THEaubylEEsxpL6J/CpaebVJcppgevBc/JXKypfwRmk8Gj vnOA== X-Gm-Message-State: APf1xPA1DYYCgVJvU1cSFtZiccxvAY6qK7or68JRS4CGxFPZg2GnsdYa 3G8EecJ31RSx2UwDHFD3HuEtE0tjfzHdEkMsnmI= X-Google-Smtp-Source: AG47ELtJoZZ3hcqoc/9rmNEeC0PtCcAlnKdvK4VbzOnvGMdkcigeI8Z1y3G46FUaEDQrGbNWOKWHAzh7kKxjVK/MkKU= X-Received: by 10.157.64.225 with SMTP id t30mr11935845oti.293.1520322540062; Mon, 05 Mar 2018 23:49:00 -0800 (PST) Original-Received: by 10.74.211.77 with HTTP; Mon, 5 Mar 2018 23:48:39 -0800 (PST) In-Reply-To: <83o9k2s4xw.fsf@gnu.org> X-Google-Sender-Auth: OoTwhixJ7vW0L4AFLjFLThmo9GA X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4003:c0f::229 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:223323 Archived-At: On Tue, Mar 6, 2018 at 2:22 AM, Eli Zaretskii wrote: >> I think that what will help to keep Emacs relevant in the long run is >> modernizing its structure and code base, moving away from the baroque >> architecture that developed as a result of its very long history (and >> some less than optimally future proof design decisions). > > What exactly are you talking about here? AFAIK, the Emacs > architecture didn't change since its inception, so its long history > has no relevance here. But maybe I'm missing something or > misunderstanding what you intended to convey. One architectural decision that I would call baroque is the input model. In Emacs, the input model is that of the character terminal: the input is a sequence of characters. The repertoire of Unicode characters is extended with special values for function and editing keys, and for keys modified with Ctrl, Super, Hyper, and Shift where necessary (and Meta is represented as an ESC prefix), but still it is a sequence of characters without explicit ties to the keys. Even mouse clicks are processed as a special kind of characters. This is inevitable when running in a terminal emulator where the underlying abstraction works this way, but in a GUI build this leads to inability to distinguish, for example, the =E2=80=98.=E2=80=99 character= as coming from the bottom-row right ring finger in US English layout, or from the bottom-row right pinky in Russian layout, or from the decimal separator key on the keypad. Bindings such as M-{ are unnecessarily hard for international users whose keyboard layout does not have a { character at all or puts it into third or fourth level. Another example was described in Daniel Colascione=E2=80=99s article/rant =E2=80=9CButtery Smooth Emacs=E2=80=9D.