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: delete-selection-mode as default Date: Sun, 16 Sep 2018 15:06:09 +0700 Message-ID: References: <83k1nxvm5j.fsf@gnu.org> <87sh2ih0bp.fsf@fastmail.fm> <770f48a8-664a-40ae-8e03-19f6aad248b6@default> <20180910181615.GA4829@ACM> <874lev3bq4.fsf@toy.adminart.net> <20180912131602.GA5582@ACM> <87d0tihxzw.fsf@toy.adminart.net> <20180913174640.GB4019@ACM> <8736udkuit.fsf@toy.adminart.net> <20180914104833.GA4103@ACM> <83k1nojgia.fsf@gnu.org> <874leq799e.fsf@toy.adminart.net> <205df9be-2e5c-4cc4-a13a-7c80eb63bedc@default> <87in363zgq.fsf@toy.adminart.net> 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 1537085068 19072 195.159.176.226 (16 Sep 2018 08:04:28 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 16 Sep 2018 08:04:28 +0000 (UTC) Cc: spacibba@aol.com, Joost Kremers , Noam Postavsky , Emacs developers , Alan Mackenzie , Eli Zaretskii , Drew Adams , Phillip Lord To: hw@adminart.net Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Sep 16 10:04:23 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 1g1S2Z-0004pA-81 for ged-emacs-devel@m.gmane.org; Sun, 16 Sep 2018 10:04:23 +0200 Original-Received: from localhost ([::1]:58192 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g1S4f-0001ct-OC for ged-emacs-devel@m.gmane.org; Sun, 16 Sep 2018 04:06:33 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57285) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g1S4Z-0001cc-7m for emacs-devel@gnu.org; Sun, 16 Sep 2018 04:06:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g1S4Y-00083S-AA for emacs-devel@gnu.org; Sun, 16 Sep 2018 04:06:27 -0400 Original-Received: from mail-ot1-x32d.google.com ([2607:f8b0:4864:20::32d]:44807) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1g1S4X-00082q-3p; Sun, 16 Sep 2018 04:06:25 -0400 Original-Received: by mail-ot1-x32d.google.com with SMTP id 36-v6so8394190oth.11; Sun, 16 Sep 2018 01:06:24 -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=fpiChTBDfBk7lgTY9ujXrhBHXzlrK//5JKPs/kWTI+0=; b=TWS4a3D9GDLyV1J5Y0ADVgngXmNjM0Gr+4YTzuxg4yrv8NRz+J9HgHwQjfv4lgLiDw BKcu464Bswn2VyYzkal17iqZK57oJN2Yijhxh8UOLJ+TfKLo6DeCDozorKY2O0K9UJrk 6wsBk3YuROToYJ73/0bSOs2fW7muAR4VArTtDLW0zfOnovrW1d/e4H71ndZz+VHN5v/s 0eI5X4nVxiMpZyRM30JTL4/Guxt0u/cIkd1953CeifyOAQhOtLtrODOATTCFSYu0+xtU UNa+rQLDi5N0rn1aP7EH6KL2X+WM4dciY5iFklCGghpuP4zmkJq1yKBUywyy/dxJUq5L AbZA== 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=fpiChTBDfBk7lgTY9ujXrhBHXzlrK//5JKPs/kWTI+0=; b=f3ExCDipKRZX3ryckI1+47/DzomwsZBVcaHcD5eLb9NU6rKyeWSOo7P205NOLni9Ka r0fpaHeBIsgFCLQcFahYxVqR+pi1mEC4HwAdYjyPue119ydayOjPdn0SnycrBN6ak0fE qbSZmquVpUMkJiDLdnJM2xI38wov1FkQiXjFb6qMsBmVAnUD6SgNAvCoKvcygP1gHnQO qH3clxe73W8ZJYf1zFUO/QkPdSjkFZJvxf2jh6yTj65S8+GO/2Iy1Qb2kMb/yYAh+wFW xo5v7qxJ78DDo08hdONg7ZSvMkfn/VdVDGdqSiwqomMGRoy/SYK4mZi69bUwjuLeRA4K N5YQ== X-Gm-Message-State: APzg51CUjfMRlPbNRLy+xDYI4OygtBuqSUXyx3MuncTqtC89NpVnqdR3 mGVHNYrzfw+TW5hwogrANRitx6sxM91JSK3x6BM= X-Google-Smtp-Source: ANB0Vda8vDbSHW/HKSV9/7AC6gS1x19LlbYgihsfzCOkanS38d7weMG4vu0ZYy+POtY07BpgjsN+CIMRGuoDvFeE8eY= X-Received: by 2002:a9d:4114:: with SMTP id o20-v6mr8842278ote.260.1537085184317; Sun, 16 Sep 2018 01:06:24 -0700 (PDT) In-Reply-To: <87in363zgq.fsf@toy.adminart.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::32d 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:229839 Archived-At: On Sun, Sep 16, 2018 at 10:15 AM hw wrote: > In joe, you make a selection by pressing C-k b to mark the beginning and > C-k k to mark the end of the selection. The selection is called a block > in joe. It is highlighted. You can change it any time by setting the > marks again. > > Now you can copy the block with C-k c, meaning the whole block is > inserted at point, and the copy is the new selection. The beginning and > the end of a block (selection) can both be off screen. I recognize this as the WordStar block/region/selection model. Yes, I, too, was quite used to it in my Turbo Pascal years (late =E2=80=9990s). Lat= er, I migrated to Windows and got used to its CUA-like model. (Emacs has a WordStar emulation in obsolete/ws-mode.el, but it is unusable because of several reasons: * It is unmaintained and obsolete. * It is a major mode, meaning no syntax highlight, no language-specific features, just text editing. * It does not highlight the block. * When deleting the block, it does not move point to where it was. This makes it possible to mark a block, scroll it off the screen, and delete it without realizing you did it.) I think it is instructive to compare a few selection/region/block models, all of which have been quite successful. * WordStar model: Block is delimited by two markers, and is highlighted. (Some implementations allow toggling the highlight; when highlight is off, markers are preserved but block commands are not available.) Moving the cursor or typing text does not affect block markers (except to adjust their positions to accommodate length changes). Basic block operations are: copy to point, move to point, delete, write to file, read from file. (The latter inserts the contents of the file at point and puts block markers around it.) * Brief model: Block is delimited by mark and point (like in Emacs). Pressing Alt+A starts selecting the corresponding type of block (which is highlighted); pressing the same key again removes the highlight. When selecting, newly typed text is inserted normally at point. Block operations are: cut, copy, paste, delete, write to file. When no block is highlighted, these act on the current line. * Windows model: Selection is defined by two positions, one of which is at point. Unshifted cursor movement cancels the selection, shifted cursor movement extends or shrinks it, text insertion replaces the selected text, and both Backspace and Delete delete the selected text. Selection operations are cut, copy, paste, and delete; when there is no selection, cut and copy are disabled, and Backspace and Delete act on one character backward and forward, respectively.