From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Emacs design and architecture (was: Shrinking the C core) Date: Thu, 14 Sep 2023 08:57:51 +0300 Message-ID: <838r99mh40.fsf@gnu.org> References: <87ledwx7sh.fsf@yahoo.com> <877cpfybhf.fsf@yahoo.com> <873503y66i.fsf@yahoo.com> <87fs3ur9u8.fsf@dataswamp.org> <875y4moiiq.fsf@dataswamp.org> <83r0n4rj78.fsf@gnu.org> <83cyynpmvd.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5999"; mail-complaints-to="usenet@ciao.gmane.io" Cc: rms@gnu.org, emacs-devel@gnu.org To: Lynn Winebarger Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Sep 14 07:59:33 2023 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 1qgfO1-0001Lp-3B for ged-emacs-devel@m.gmane-mx.org; Thu, 14 Sep 2023 07:59:33 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgfMm-0005gZ-5y; Thu, 14 Sep 2023 01:58:16 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qgfMi-0005gG-GH for emacs-devel@gnu.org; Thu, 14 Sep 2023 01:58:12 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qgfMh-0003xj-VN; Thu, 14 Sep 2023 01:58:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=kC9lusB9wkyG1RXmMJC0wxaw913+3sFFQ0U0W8iHpPY=; b=NnMsHcZlyO5Z d1xSi+Q6W2xbuUjWyCe/hD27clXW94zt/y1lUSP6jc+UbidX0hO2fwHAOkCFKjpi1VzIcq+bV8Xzi XFQJwX7IADAHtj8kNleTExA1lAXwjjCCs+4kQS1WvLwSGQuOCSUA16WEYxvNvDdmiZcPkHIB7JyVm tVOnbLDQqBfX1Ne4YlSMix+aGdvvlSwLgdHAv4tjoFEGAoHGx8zBzJ3bJFYjAAwdUStKBZAEoc9BL 9AfwMKkRIUt35xtLtIqtkxW6tS8LSuebmZTuws3CpuS7B4KQlbskTIZI8ZXdJwHW5KfAhTvqAEWgl JbEODZFs2vLdRIt9Kly3Hg==; In-Reply-To: (message from Lynn Winebarger on Wed, 13 Sep 2023 16:52:15 -0400) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:310566 Archived-At: > From: Lynn Winebarger > Date: Wed, 13 Sep 2023 16:52:15 -0400 > Cc: rms@gnu.org, emacs-devel@gnu.org > > I think I was more interested in why you said it would be a > "text-processing system" rather than an editor or even IDE Emacs is more than an editor and an IDE. Gnus (and other MUAs we have in Emacs) is neither, and neither is Org or ERC or any number of other Emacs features. > > . display engine design around the rectangular canvas model and > I don't know what the alternative is, exactly. Finding that out is part of the job. It's quite likely (I hope) that the relevant technology already exists, and we don't need to invent it. > VS Code and other IDEs I've used have more varied decorative > elements and containers, but text is still pretty much presented in > rectangular containers with sides parallel to the GUI window (frame > in Emacs terms). You misunderstood what I meant by "rectangular canvas model", I think. In Emacs, every screen line is represented as a "glyph row", a linear array of glyphs, and the window's display is represented as a liner array of glyph rows. This is why we cannot (easily) have an image that spans more than one screen line, and why we cannot have display elements (like images or text boxes) overlaid on top of buffer text.