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: Musings on creating an HTML-based WYSIWYG mode Date: Wed, 02 May 2018 10:36:15 +0000 Message-ID: References: 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 1525263005 15177 195.159.176.226 (2 May 2018 12:10:05 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 2 May 2018 12:10:05 +0000 (UTC) Cc: Stefan Monnier , Emacs developers To: Lars Magne Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed May 02 14:10:00 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 1fDqa6-0003lx-3C for ged-emacs-devel@m.gmane.org; Wed, 02 May 2018 14:09:58 +0200 Original-Received: from localhost ([::1]:50138 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fDqcD-0003CJ-7y for ged-emacs-devel@m.gmane.org; Wed, 02 May 2018 08:12:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60502) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fDp7h-00039s-8w for emacs-devel@gnu.org; Wed, 02 May 2018 06:36:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fDp7b-0006bm-CS for emacs-devel@gnu.org; Wed, 02 May 2018 06:36:33 -0400 Original-Received: from mail-oi0-x229.google.com ([2607:f8b0:4003:c06::229]:37688) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fDp7a-0006aH-TN for emacs-devel@gnu.org; Wed, 02 May 2018 06:36:27 -0400 Original-Received: by mail-oi0-x229.google.com with SMTP id w123-v6so3497582oia.4 for ; Wed, 02 May 2018 03:36:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=qoanK4zkK/9II9fyVx8CqRZ09WTRfsmgFwPCTGN1RNc=; b=oR5JbUCojCsIiAk8HiMT+cP9W24QWdzkLJ+fO8P+KszNbB7G8k5Wdr173j8XBe7w3J 2VkmeOzpl+8RNkGp3ned1g2OlqyChK8Wr9npNBBSrarCHqbm/oogazJKJk+UzpqBbJlF tAhdRVE391qdgWk3n9+VTMbwlZ+RSkXoV715XI16SB2YrW9+WJDAXOilHXQdIZEoLwor q4prjoBYqJg0p58RLrC4On/HAvLV9AYzrJqAqmbKq5Jyw0MjmPpXqgqms+RF40Hyt222 x28ffKdck14RUkD3r3k+0e9af4NKJJ9kFjQiTNc9q68JDP3PyAwFdzNJtsDtVNaE8mwG Ma3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=qoanK4zkK/9II9fyVx8CqRZ09WTRfsmgFwPCTGN1RNc=; b=hzSmnBYNjRFwbKBwAInElVOWJ+O6ZVthrnmxXg5TwCmpF+BhqOsY7HtaVC/ue2yIjp Ffd9VTsNcVPfhXvBqyXgBINfwrFauB5x+jM+kFKmx36aiQtGfuWXDDqSaeENtihgF0rm gF2bh2bESKloN1rgMJepXBn9vhzTArBs9FvMFoashfhfBuMBYwRVY/3MGBvs8rCnWyj8 QQ/hXXNxW6k8KZ0LYbyyPlGqQPm7r+O+e+j0ZGGytzURaHjTOAHlLXsnYF+DApbAHOCB xh6j11xU/6USznnAadNmd4FDXAyeaI/zA9QOKZlohykhVRyhLyymHinj5ViBG7DrnAMr M5Fw== X-Gm-Message-State: ALQs6tDrQhN4g7LOaSaEBBbyBfiDlCuFUiRjSItFntSjneVwewHNleYq JRhjMR7Gi+FjSn4kwGbkxJka7h0tXx4O4YhLJXY= X-Google-Smtp-Source: AB8JxZpoDmBy8iK8KeyU5Ov02O3hQBhGtyt5ZmrLkGp7rMmMNSw+AkG4bciZ9MLB0EvZFiVteye9yDVRzYqThp2Bpbc= X-Received: by 2002:aca:e544:: with SMTP id c65-v6mr12331955oih.191.1525257385504; Wed, 02 May 2018 03:36:25 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4003:c06::229 X-Mailman-Approved-At: Wed, 02 May 2018 08:12:03 -0400 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:225028 Archived-At: On Wed, May 2, 2018 at 4:53 PM Lars Ingebrigtsen wrote: > I was thinking about things, like, "what does it mean to kill a > rectangle in a buffer that's auto-reformatted"? Do we re-render after > each "piece" that's been killed? (Probably not.) What about when the > user types `M-x query-replace-regexp RET ^foo RET bar'... If we > re-render after each replacement (or not), then there might be lines > starting with "foo" after it has run, anyway (because things will be > re-flowing). You can experience these things already with current Emacs. Just generate some lines that are longer than your window width, and enable visual-line-mode. * Rectangle operations break pretty horribly. That is, they behave as if no line wrapping was in effect, acting on parts of the logical lines defined in terms of character offset from beginning of line. * Regular expression ^ and $ work in terms of logical lines, too. And you know what =E2=80=94 that is okay. When you know you have (almost) n= o control over how words get laid out into lines, you stop worrying about that and let text flow freely. For rectangle operations, I know three use cases in plain text: indentation, tables, and multi-column layouts. All of these have direct HTML+CSS replacements that are better exposed as separate editing commands: apply style; clone style; modify some aspect of the style at point.