From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yuri Khan Newsgroups: gmane.emacs.devel Subject: Re: 10 problems with Elisp, part 10 (was: Re: Emacs website, Lisp, and other) Date: Tue, 6 Aug 2024 00:13:03 +0700 Message-ID: References: <87sevj9b50.fsf@jeremybryant.net> <871q33rj7v.fsf@dataswamp.org> <86ed73qhly.fsf@gnu.org> <87frrjoryg.fsf_-_@dataswamp.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11109"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 05 19:14:18 2024 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 1sb1Hl-0002l0-Ke for ged-emacs-devel@m.gmane-mx.org; Mon, 05 Aug 2024 19:14:17 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sb1Gt-0006wD-8d; Mon, 05 Aug 2024 13:13:23 -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 1sb1Gs-0006w3-DX for emacs-devel@gnu.org; Mon, 05 Aug 2024 13:13:22 -0400 Original-Received: from mail-ot1-x333.google.com ([2607:f8b0:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sb1Gq-0007OP-RX for emacs-devel@gnu.org; Mon, 05 Aug 2024 13:13:22 -0400 Original-Received: by mail-ot1-x333.google.com with SMTP id 46e09a7af769-7093abb12edso8003609a34.3 for ; Mon, 05 Aug 2024 10:13:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722877996; x=1723482796; darn=gnu.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Ugt9Ce/YLXX/qLcGhIpaFIccfupx3EovSwDBuBikFvs=; b=dfpGI4RQSekYA3rsLOIOUOwyVKyBRgNDwqPbF7a1GPf6BoCCtWFcd4gDT8Zlpisxkb 7W1uITOyqtYsL5Px8hOsvPRjygfhGxSw6wsYfe7VwOMiuD5O4PBC4djpvYW5ypdShGU4 dsy1ojdyd48bfTY1sKirryQrlrrhq4305hH+rQjGPVjQSmewo4aA+ueIQ9aeDBEyqDW/ hN2o6XBXBhkyPxuSzjGIwN08urVyvlyA4gwxJrLbF3ZqQ0qBlvi5ZAZ+bZuxA9n0htWz xsM61hysR9qgP8jtYf8CEwro8/C3nziIqAS5T5brqSZqPguFSlOFIm0rQPIPTZoccVN8 NtgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722877996; x=1723482796; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ugt9Ce/YLXX/qLcGhIpaFIccfupx3EovSwDBuBikFvs=; b=enokPpVhLr3TswDQVPWIRsrZ0GFTO5L5QCy03l3fUZ08T7Lex1SuDlVhSU9FQ+P73C v9oG4XvVoDSddIe8JCtuSBnA/tflRcmLADwPOjMr6+5vmVDfVQsP2N0oi9gtXjNSAaFP QN+V1kMWS05lY6dEGLGRRBYECrPlUpn2/olBMsy7w4Mqz9sKap012LVkdP/M3TijMGLq Dbc+VrcOyGMsz6v67QC0UhnUxo9XJqi/zGOGHoeX4uuAKlk4VY8j9LOVbQmxnGJhjLeo tvrHanSFWN4lAVBg3OFCfnvBToJ7sJHrhNafT6x8BJgV+9+cuPxNPDXRd+iVuozn1bTU jNxw== X-Gm-Message-State: AOJu0Ywq1IzRJNtwCzfF9YA84rVKE/onPM0cuCEVucxWEX8HMuBqwYr3 5+O7DwJ4kik8jndXhTNuTMxc/Gp/qxlvMT9dpYxVIpgJPHlVj6ziQlnlGGpXCTVePHI/WBKySNv 9RMosQ3eOW1PArEhGmMFZu1d9gb7DnOd/VQs= X-Google-Smtp-Source: AGHT+IGu9Aye6XddjHl5t2mkIQJ7Jqp7nD8wfw6Tv04EUrB76USV+6NhtXcJDWSqjo/ukZSs+UDBx2pkk/Up3G6liKQ= X-Received: by 2002:a05:6358:524e:b0:1ad:10eb:cd39 with SMTP id e5c5f4694b2df-1af3bb8e9a8mr1543068255d.26.1722877995538; Mon, 05 Aug 2024 10:13:15 -0700 (PDT) In-Reply-To: <87frrjoryg.fsf_-_@dataswamp.org> Received-SPF: pass client-ip=2607:f8b0:4864:20::333; envelope-from=yurivkhan@gmail.com; helo=mail-ot1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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:322397 Archived-At: On Mon, 5 Aug 2024 at 23:31, Emanuel Berg wrote: > 10. Moving point around all the time.[=E2=80=A6] > > Frustration: What has this to do with my problem and > proposed solution? I understand Emacs grew around its > function as a text editor, but "everything is in the > buffer" and "the buffer is the data structure of Emacs", > that has goon too far and we see a lot of code being > virtually a very, very long traversal of buffers moving > around point. In a differently designed API, you[^*] would have iterators into buffers. And you would want from an iterator everything that is available from the point, just that there could be many of them simultaneously and that they wouldn=E2=80=99t affect the real user=E2=80=99= s point. And you would want iterators to be visible in the buffer text when debugging. In Elisp, you have save-excursion which protects the user=E2=80=99s point, = and markers which provide multiplicity. [^*]: I.