From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.devel Subject: Re: GUI and redisplay work (was: SVG widget in GNU Emacs) Date: Tue, 26 Oct 2021 14:51:57 +0200 Message-ID: References: <87bl3kcrpl.fsf@yahoo.com> <83ilxrc2ys.fsf@gnu.org> <875ytrc168.fsf@yahoo.com> <83a6j3c092.fsf@gnu.org> <87wnm7al92.fsf@yahoo.com> <835ytrbx8s.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15444"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Po Lu , Eli Zaretskii , Akira Kyle , Emacs developers To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Oct 26 14:53:54 2021 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 1mfLxi-0003ok-G6 for ged-emacs-devel@m.gmane-mx.org; Tue, 26 Oct 2021 14:53:54 +0200 Original-Received: from localhost ([::1]:35306 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mfLxh-0000Gx-FD for ged-emacs-devel@m.gmane-mx.org; Tue, 26 Oct 2021 08:53:53 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55936) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfLw7-0007fG-BF for emacs-devel@gnu.org; Tue, 26 Oct 2021 08:52:15 -0400 Original-Received: from mail-pl1-f178.google.com ([209.85.214.178]:41604) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mfLw2-0003dk-F6; Tue, 26 Oct 2021 08:52:13 -0400 Original-Received: by mail-pl1-f178.google.com with SMTP id z11so2335521plg.8; Tue, 26 Oct 2021 05:52:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=oC60y0DgHun+qyb2gswqORZIzHy9eSpqYcb1QgGCqjQ=; b=zUw0+3PV27/ovLjL7swNIbLjvDkxezQde2YLrNNRiiEBqGer4M1evwmyxOX4ygeMlq gENsh5OyjhkWMtAjDKfUcI0AZ+zdvXgQEcC2ppZhD7fHWaB/sqYgSRQCL21LohCyqonD GS4HAOwT7j+dj+VmjADMxj32F3e1e4D+8SCCUlUhE/dygxCl+5Lry8Dz/7dTTGlR38qd vmdlRIibveLNs2sMmNVGIpxoKFLuhd9Vi8+9H1jcyRotnxkyaJV9R+MWAHbiTzOdUJ+l 4JuzsD++QEOcq6f2fcIJ3DjhAYcysWJRMVyKXL5xsXWg6oSVPNNsqYUe4pg9Nh+4SMu3 wEgw== X-Gm-Message-State: AOAM530NSwSqEcW3IDr0mFY0bD4ZmmQQBqk4SDzGjJjD6oNq7wD6/LTE Y96fGvg5q+SLFVZvfVRLR93rjN1pMRmEQGEBv6E/nh2y X-Google-Smtp-Source: ABdhPJxj8SLFgHWTKFTcIEWnntx3H5iO0K7g/QZrMMAqJahne+GmJqiYPIMGqqQqDGdVVs1sBd4SCtWevnZtQI2heYo= X-Received: by 2002:a17:90a:d917:: with SMTP id c23mr20962392pjv.133.1635252728794; Tue, 26 Oct 2021 05:52:08 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=209.85.214.178; envelope-from=stefankangas@gmail.com; helo=mail-pl1-f178.google.com X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.devel:277845 Archived-At: Stefan Monnier writes: > So I think we need to see a Web engine as just another "backend > display", just like currently have X11, Gtk, NS, w32, and tty backends. > :-( Interesting stuff. I don't have much of any substance to add, but I realize that the discussion is quite important and I hope someone would start serious work on something in this direction. One thing I have been thinking about is how you would fit Emacs concept of a buffer going from 'point-min' to 'point-max' and our concept of a window as an x/y grid onto a HTML+CSS page in the general case, where text and lines might be overlapping and displayed in all kinds of weird and wonderful ways. To take just a very simple example, when I say 'forward-line' in a web page, I want to move point to the element (text or image) visually above the current line, even if that section comes later in the actual HTML file. With CSS, text can be moved from anywhere, to anywhere on the page, and that's not even considering what JavaScript might be doing. Does this present any fundamental difficulties, or are those merely details to be worked out?