unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: charles@aurox.ch (Charles A. Roelli)
To: hw <hw@adminart.net>
Cc: emacs-devel@gnu.org
Subject: Re: visual-region-mode?
Date: Thu, 27 Sep 2018 23:01:52 +0200	[thread overview]
Message-ID: <m2a7o23b9b.fsf@aurox.ch> (raw)
In-Reply-To: <87h8ibx6k5.fsf@toy.adminart.net> (message from hw on Thu, 27 Sep 2018 00:00:42 +0200)

> From: hw <hw@adminart.net>
> Cc: emacs-devel@gnu.org
> Date: Thu, 27 Sep 2018 00:00:42 +0200
>
> > Yes, but since we have commands that offer behavior specific to active
> > regions, we have the so-called "temporary transient mark mode" --
> > which is a hack to get around this problem.  I'd rather have a way to
> > explicitly activate/deactivate the region.
> 
> I'm not sure this is a distinct mode; it seems more like the region is
> activated regardless of t-m-m being enabled or not and gets somehow
> disabled eventually.

For what it's worth, the doc of the variable "transient-mark-mode" says:

- The pair (only . OLDVAL) enables Transient Mark mode
  temporarily.  After any subsequent point motion command that is
  not shift-translated, or any other action that would normally
  deactivate the mark (e.g. buffer modification), the value of
  ‘transient-mark-mode’ is set to OLDVAL.

> Why would I disable it permanently?  I wouldn't have highlighting, there
> would be no way to fortify the region --- which is a requirement because
> it can not really be disabled due to a fundamental design flaw --- and I
> would have to narrow the buffer all the time to do something with a
> region and to widen it afterwards.

You disable "t-m-m" if you don't want a "transient" mark -- as in,
activating and deactivating itself seemingly of its own volition.

> >> > and without the region randomly deactivating itself after certain
> >> > commands as it does with "t-m-m" switched on.
> >> 
> >> [...]
> >>
> >> Are you referring to commands deactivating the region?  
> >
> > Yes.  See the doc of "t-m-m":
> >
> >             The mark is "deactivated" by changing the buffer,
> > and after certain other operations that set the mark but whose
> > main purpose is something else--for example, incremental search,
> > M-<, and M->.
> 
> So this doesn't happen randomly but intentionally --- and you could
> re-activate the region if you still want to do something with it.

Actually, the documentation lacks at least one other case: scrolling
that results in point moving, either with the keyboard or with the
mouse.  That's one of several arbitrary decisions in the design of
t-m-m.

> > I'd like to be able to carry this behavior over to commands that
> > require an active region for certain things, like M-% does for
> > replacing inside a region.
> 
> I guess the right, or consistent, way to do that might be to write more
> antagonistic functions that imply "region", like `query-replace-region'.
> 
> Why don't you make a selection when you want to do something with one?
> With t-m-m enabled, that automatically activates the region, and it is
> much better than doing stuff with random parts of the buffer.

I'd rather tells Emacs when the region is active, than the other way
round.

> Other than that, I wonder what would go wrong if you made a key binding
> to a function that toggles `use-region-p' which you use before and
> perhaps after calling functions you want to have a different behaviour.
> Maybe `query-replace-region' could make use of that.

This would be a binding to activate or deactivate the region, I think.
No extra command ("query-replace-region") should be necessary.

> Of course, functions implying "region" don't make sense when t-m-m is
> enabled: t-m-m already implies "region" in the sense of "selection",
> somewhat overcoming the fundamental design flaw of "the region" and the
> idea of doing stuff randomly with parts of buffers.  The functions
> implying "region" are merely children of this design flaw because they
> were only invented because nobody wants to narrow and widen their
> buffers to do something with parts of them.

Narrowing still has its place in everyday editing.

> (global-set-key "\C-x\C-x" 'my-exchange-point-and-mark)
> (global-set-key (kbd "<C-f1>")
> 		(lambda ()
> 		  "Toggle the activeness of the region."
> 		  (interactive)
> 		  (if mark-active (deactivate-mark)
> 		    (activate-mark t))))
> (global-set-key [C-f2] 'my-exchange-point-and-mark)
> (global-set-key [C-f3] 'previous-buffer)
> (global-set-key [C-f5] 'next-buffer)
> 
> Those are actual keys, i. e. I press only one key for them.  It's rather
> convenient.  (The key caps are labeled Print, Help, Record and Play.)
> 
> Unfortunately, it seems Unicomp is the only manufacturer still making
> really good keyboards, and the only one for 122 keys ...  (The fine
> keyboard started working again the next day after I banged it a little,
> but I really like having more keys.)

Neat, let us know how this approach goes.  I don't know what key we
could allocate to a command that activates or deactivates the region,
since there are not free ones left on average keyboards...

> On a side note, why is the function that activates the region called
> activate-mark and not activate-region?  Is there some purpose or
> distinction involved we don't know about?

People use "active mark" and "active region" interchangeably, AFAIK.
(I know I do!)

> > [...]
> > Btw, I'm culling most of the CC list since it seems no longer relevant.
> 
> I don't know who/what created this list; I suspect it might have been
> gnus.

Those people had responded to this thread earlier, so they ended up on
the list automatically.



  reply	other threads:[~2018-09-27 21:01 UTC|newest]

Thread overview: 245+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-07  0:32 delete-selection-mode as default (WAS: Some developement questions) Noam Postavsky
2018-09-07  0:35 ` Drew Adams
2018-09-07  6:47 ` Eli Zaretskii
2018-09-07  9:18   ` delete-selection-mode as default hw
2018-09-07 13:16     ` Clément Pit-Claudel
2018-09-07 13:28       ` Robert Pluim
2018-09-07 13:47         ` Dmitry Gutov
2018-09-07 13:50         ` Eli Zaretskii
2018-09-07 14:16           ` Robert Pluim
2018-09-07 16:02             ` Drew Adams
2018-09-07 17:08               ` Robert Pluim
2018-09-07 20:28                 ` Jostein Kjønigsen
2018-09-07 14:22           ` Stefan Monnier
2018-09-08 23:11             ` Juri Linkov
2018-09-09  5:49               ` Eli Zaretskii
2018-09-09 16:16                 ` Juri Linkov
2018-09-09 14:22               ` Drew Adams
2018-09-16 23:34             ` Juri Linkov
2018-09-17  0:36               ` Drew Adams
2018-09-17 22:37                 ` Juri Linkov
2018-09-17 23:12                   ` Drew Adams
2018-09-17 23:21                     ` Juri Linkov
2018-09-17 23:36                       ` Drew Adams
2018-09-19  6:53                   ` Jostein Kjønigsen
2018-09-19 22:44                     ` Juri Linkov
2018-09-07 14:39       ` hw
2018-09-07 16:27         ` Drew Adams
2018-09-08 17:37         ` Clément Pit-Claudel
2018-09-09  5:15           ` hw
2018-09-08  5:14       ` Richard Stallman
2018-09-08 11:32         ` Elias Mårtenson
2018-09-08 14:01           ` Eli Zaretskii
2018-09-08 15:52           ` hw
2018-09-08 19:31             ` Charles A. Roelli
2018-09-09  3:19               ` Drew Adams
2018-09-09  6:08               ` Richard Stallman
2018-09-09 14:48                 ` Drew Adams
2018-09-10 11:50                   ` hw
2018-09-11  4:25                     ` Richard Stallman
2018-09-10  7:52                 ` hw
2018-09-10 11:52               ` visual-region-mode? (was: delete-selection-mode as default) hw
2018-09-10 20:02                 ` Charles A. Roelli
2018-09-11  5:43                   ` Yuri Khan
2018-09-11 18:25                     ` Charles A. Roelli
2018-09-12  5:12                       ` Yuri Khan
2018-09-12  6:59                         ` visual-region-mode? Andreas Schwab
2018-09-12  7:12                           ` visual-region-mode? Yuri Khan
2018-09-12  7:44                             ` visual-region-mode? Andreas Schwab
2018-09-12 18:31                         ` visual-region-mode? (was: delete-selection-mode as default) Charles A. Roelli
2018-09-16 22:55                     ` visual-region-mode? Juri Linkov
2018-09-11 21:56                   ` visual-region-mode? hw
2018-09-12 19:47                     ` visual-region-mode? Charles A. Roelli
2018-09-12 20:40                       ` visual-region-mode? Drew Adams
2018-09-12 20:50                       ` visual-region-mode? Juri Linkov
2018-09-13  4:01                         ` visual-region-mode? hw
2018-09-13  4:00                       ` visual-region-mode? hw
2018-09-13 17:22                         ` visual-region-mode? Alan Mackenzie
2018-09-13 20:08                           ` visual-region-mode? hw
2018-09-13 20:42                         ` visual-region-mode? Charles A. Roelli
2018-09-15 19:21                           ` visual-region-mode? hw
2018-09-16 19:31                             ` visual-region-mode? Charles A. Roelli
2018-09-17 20:36                               ` visual-region-mode? hw
2018-09-17 22:24                                 ` visual-region-mode? Drew Adams
2018-09-17 23:11                                   ` visual-region-mode? hw
2018-09-18  0:11                                     ` visual-region-mode? Juri Linkov
2018-09-18 12:32                                     ` visual-region-mode? Eli Zaretskii
2018-09-18 19:22                                 ` visual-region-mode? Charles A. Roelli
2018-09-19  1:45                                   ` visual-region-mode? hw
2018-09-19 19:22                                     ` visual-region-mode? Charles A. Roelli
2018-09-19 20:04                                       ` visual-region-mode? hw
2018-09-20 18:14                                         ` visual-region-mode? Charles A. Roelli
2018-09-21 20:28                                           ` visual-region-mode? hw
2018-09-24 17:42                                             ` visual-region-mode? Charles A. Roelli
2018-09-24 18:07                                               ` visual-region-mode? Yuri Khan
2018-09-29 11:18                                                 ` visual-region-mode? Charles A. Roelli
2018-10-03 13:13                                                   ` visual-region-mode? hw
2018-10-04 20:20                                                     ` visual-region-mode? Charles A. Roelli
2018-09-26 22:00                                               ` visual-region-mode? hw
2018-09-27 21:01                                                 ` Charles A. Roelli [this message]
2018-10-03 13:59                                                   ` visual-region-mode? hw
2018-09-24 20:24                                             ` visual-region-mode? Alan Mackenzie
2018-09-26 18:12                                               ` visual-region-mode? Charles A. Roelli
2018-09-26 22:45                                               ` visual-region-mode? hw
2018-09-27 17:26                                                 ` visual-region-mode? Alan Mackenzie
2018-10-03 15:43                                                   ` visual-region-mode? hw
2018-10-03 17:03                                                     ` visual-region-mode? Alan Mackenzie
     [not found]                                             ` <<m2ftxy3i79.fsf@aurox.ch>
2018-09-24 20:39                                               ` visual-region-mode? Drew Adams
2018-09-12 20:27                     ` visual-region-mode? Juri Linkov
2018-09-08 18:16           ` delete-selection-mode as default Dmitry Gutov
2018-09-09  7:42             ` Elias Mårtenson
2018-09-09 14:25               ` Clément Pit-Claudel
2018-09-07  9:40   ` delete-selection-mode as default (WAS: Some developement questions) Phil Sainty
2018-09-07 13:41     ` Eli Zaretskii
2018-09-08 11:37       ` Phil Sainty
2018-09-08 14:04         ` Eli Zaretskii
2018-09-07 15:35     ` Drew Adams
2018-09-07 16:16       ` Yuri Khan
2018-09-07 19:01   ` tomas
2018-09-07 19:23     ` Drew Adams
2018-09-07 20:28       ` tomas
2018-09-08 23:19         ` delete-selection-mode as default Juri Linkov
2018-09-09  8:02           ` tomas
2018-09-07 20:33     ` delete-selection-mode as default (WAS: Some developement questions) Noam Postavsky
2018-09-07 21:31       ` tomas
2018-09-10  8:01         ` delete-selection-mode as default Robert Pluim
2018-09-10  8:09           ` tomas
2018-09-09 13:45   ` delete-selection-mode as default (WAS: Some developement questions) Alan Mackenzie
2018-09-09 14:22     ` Clément Pit-Claudel
2018-09-09 15:12     ` Drew Adams
2018-09-10 11:42     ` delete-selection-mode as default Filipp Gunbin
2018-09-09 20:39   ` delete-selection-mode as default (WAS: Some developement questions) Joost Kremers
2018-09-09 22:24     ` Drew Adams
2018-09-10  3:08       ` Phil Sainty
2018-09-10  3:17         ` Drew Adams
2018-09-10  5:15       ` Bingo
2018-09-10 13:34         ` delete-selection-mode as default Stefan Monnier
2018-09-10  8:46       ` hw
2018-09-10 18:16       ` delete-selection-mode as default (WAS: Some developement questions) Alan Mackenzie
2018-09-10 18:35         ` Clément Pit-Claudel
2018-09-10 19:19           ` Alan Mackenzie
2018-09-10 20:36         ` Drew Adams
2018-09-11 22:34           ` delete-selection-mode as default hw
2018-09-12  0:04             ` Drew Adams
2018-09-13  2:58               ` hw
2018-09-12 13:16             ` Alan Mackenzie
2018-09-12 13:41               ` Drew Adams
2018-09-12 14:53                 ` Alan Mackenzie
2018-09-12 15:51               ` Yuri Khan
2018-09-12 15:59                 ` Alan Mackenzie
2018-09-12 16:36                   ` Yuri Khan
2018-09-13  3:59               ` Elias Mårtenson
2018-09-13  4:16               ` hw
2018-09-13 17:46                 ` Alan Mackenzie
2018-09-13 20:32                   ` hw
2018-09-14 10:48                     ` Alan Mackenzie
2018-09-14 13:41                       ` Yuri Khan
2018-09-14 14:03                         ` Alan Mackenzie
2018-09-14 15:37                           ` Yuri Khan
2018-09-14 14:29                         ` Phil Sainty
2018-09-14 14:32                           ` Phil Sainty
2018-09-14 14:33                         ` Eli Zaretskii
2018-09-14 15:23                           ` Drew Adams
2018-09-14 18:49                             ` Eli Zaretskii
2018-09-15 21:20                             ` hw
2018-09-15 22:37                           ` hw
2018-09-16  0:22                             ` Drew Adams
2018-09-16  3:15                               ` hw
2018-09-16  3:34                                 ` Drew Adams
2018-09-16 13:48                                   ` hw
2018-09-16 14:14                                     ` Alan Mackenzie
2018-09-17 21:00                                       ` hw
2018-09-16 15:28                                     ` Yuri Khan
2018-09-16 16:30                                     ` Drew Adams
2018-09-16 16:59                                     ` Eli Zaretskii
2018-09-16 18:20                                       ` Yuri Khan
2018-09-16 18:49                                         ` Eli Zaretskii
2018-09-16 20:17                                         ` Drew Adams
2018-09-17 21:22                                       ` hw
2018-09-18 12:14                                         ` Eli Zaretskii
2018-09-18 23:45                                           ` hw
2018-09-19  5:41                                             ` Eli Zaretskii
2018-09-19 20:09                                               ` hw
     [not found]                                     ` <<831s9tidjc.fsf@gnu.org>
2018-09-16 18:04                                       ` Drew Adams
2018-09-16 18:17                                         ` Eli Zaretskii
     [not found]                                         ` <<83va75gvc8.fsf@gnu.org>
2018-09-16 20:14                                           ` Drew Adams
     [not found]                                       ` <<CAP_d_8VcFjkQQxzgv+XUheE4Q33vNgbuGpGwtv2-dOEBuK7OeQ@mail.gmail.com>
     [not found]                                         ` <<83tvmpgtwe.fsf@gnu.org>
2018-09-16 20:29                                           ` Drew Adams
2018-09-17  5:28                                             ` Yuri Khan
2018-09-16  8:06                                 ` Yuri Khan
2018-09-16 13:36                                   ` hw
2018-09-16 16:48                             ` Eli Zaretskii
2018-09-17 22:11                               ` hw
2018-09-17 22:44                                 ` Drew Adams
2018-09-17 23:30                                   ` hw
2018-09-18 12:31                                 ` Eli Zaretskii
2018-09-18 13:14                                   ` Yuri Khan
2018-09-18 14:14                                     ` Eli Zaretskii
2018-09-18 15:28                                       ` Yuri Khan
2018-09-18 15:37                                         ` Drew Adams
2018-09-18 16:49                                           ` Eli Zaretskii
2018-09-18 16:46                                         ` Eli Zaretskii
2018-09-20  1:46                                     ` Richard Stallman
2018-09-20  5:45                                       ` Yuri Khan
2018-09-19  2:26                                   ` hw
2018-09-19  6:38                                     ` Eli Zaretskii
2018-09-19 20:36                                       ` hw
     [not found]                           ` <<874leq799e.fsf@toy.adminart.net>
     [not found]                             ` <<205df9be-2e5c-4cc4-a13a-7c80eb63bedc@default>
     [not found]                               ` <<87in363zgq.fsf@toy.adminart.net>
     [not found]                                 ` <<aedad52c-aaf1-414d-bc8c-8e7d0284f4c8@default>
     [not found]                             ` <<835zz5ie17.fsf@gnu.org>
     [not found]                               ` <<87musg0wyf.fsf@toy.adminart.net>
     [not found]                                 ` <<83va73f0mv.fsf@gnu.org>
     [not found]                                   ` <<CAP_d_8WFoHecEv-krQmAP0fWVSYXDLWuwdKfXwpcLbkJYYfWJQ@mail.gmail.com>
     [not found]                                     ` <<83musegaf2.fsf@gnu.org>
     [not found]                                       ` <<CAP_d_8VH38kAdG3QZ4EiM_3-S+PVFg=7QyxZP6pZG_mc3Qct5w@mail.gmail.com>
     [not found]                                         ` <<3f242636-6fa4-4e36-a37b-86f1d7088aae@default>
     [not found]                                           ` <<83h8img39b.fsf@gnu.org>
2018-09-18 17:42                                             ` Drew Adams
2018-09-18 18:30                                               ` Eli Zaretskii
2018-09-18 19:15                                                 ` Alan Mackenzie
2018-09-14 15:15                         ` Elias Mårtenson
2018-09-14 14:33                       ` Drew Adams
2018-09-15 21:59                         ` hw
2018-09-15 20:31                       ` hw
2018-09-11 23:30           ` Juri Linkov
2018-09-12  0:13             ` Drew Adams
2018-09-10  7:05     ` delete-selection-mode as default (WAS: Some developement questions) Eli Zaretskii
2018-09-10 13:41       ` delete-selection-mode as default Stefan Monnier
2018-09-10 14:01         ` Eli Zaretskii
2018-09-10 14:19           ` Stefan Monnier
2018-09-10 14:24         ` Drew Adams
     [not found]         ` <<83tvmxo3iy.fsf@gnu.org>
2018-09-10 14:30           ` Drew Adams
2018-09-10 14:54             ` Eli Zaretskii
2018-09-10 16:09             ` Yuri Khan
     [not found]         ` <<<83tvmxo3iy.fsf@gnu.org>
     [not found]           ` <<c7872ab4-8a1b-43bc-aeb4-2d08bc899857@default>
     [not found]             ` <<83muspo12f.fsf@gnu.org>
2018-09-10 15:25               ` Drew Adams
2018-09-11  4:22       ` delete-selection-mode as default (WAS: Some developement questions) Richard Stallman
2018-09-11  7:48         ` Eli Zaretskii
2018-09-12  0:33           ` Richard Stallman
2018-09-11  8:08         ` Eli Zaretskii
2018-09-12  0:33           ` Richard Stallman
2018-09-12 14:07             ` Eli Zaretskii
2018-09-11 12:36         ` delete-selection-mode as default Stefan Monnier
2018-09-11 23:09           ` hw
2018-09-12  0:33           ` Richard Stallman
2018-09-12 13:23             ` Stefan Monnier
2018-09-13  3:33               ` Richard Stallman
     [not found]   ` <<87sh2ih0bp.fsf@fastmail.fm>
     [not found]     ` <<770f48a8-664a-40ae-8e03-19f6aad248b6@default>
     [not found]       ` <<20180910181615.GA4829@ACM>
     [not found]         ` <<ab70ed3e-96a7-446f-be9b-e02130e71927@default>
     [not found]           ` <<874lev3bq4.fsf@toy.adminart.net>
     [not found]             ` <<20180912131602.GA5582@ACM>
     [not found]               ` <<87d0tihxzw.fsf@toy.adminart.net>
     [not found]                 ` <<20180913174640.GB4019@ACM>
     [not found]                   ` <<8736udkuit.fsf@toy.adminart.net>
     [not found]                     ` <<20180914104833.GA4103@ACM>
     [not found]                       ` <<CAP_d_8WpO9+w-W1ZXMyoucUNtofNQ3Bc6Gchmxj6Rgy1nm3FOA@mail.gmail.com>
     [not found]                         ` <<83k1nojgia.fsf@gnu.org>
     [not found]                           ` <<7bed1f76-5bae-44cb-9b22-206b513043be@default>
     [not found]                             ` <<83d0tfkj77.fsf@gnu.org>
2018-09-14 20:57                               ` Drew Adams
2018-09-15  7:50                                 ` Eli Zaretskii
2018-09-15 10:20                                   ` Alan Mackenzie
2018-09-15 10:56                                     ` Eli Zaretskii
2018-09-15 19:44                                     ` Ergus
2018-09-15 20:01                                       ` Eli Zaretskii
2018-09-16  0:29                                         ` Ergus
2018-09-16 16:55                                           ` Eli Zaretskii
2018-09-16 10:52                                       ` Alan Mackenzie
     [not found]                                         ` <3D72B095-01EC-4E7D-90F9-5691AEFE16DC@aol.com>
2018-09-17  2:17                                           ` Alan Mackenzie
2018-09-17  5:46                                             ` Elias Mårtenson
2018-09-17 18:37                                               ` Alan Mackenzie
2018-09-17 19:57                                               ` hw
2018-09-17 22:56                                                 ` Drew Adams
2018-09-15 15:02                                   ` Stefan Monnier
2018-09-15 15:27                                     ` Eli Zaretskii
2018-09-15 18:30                                       ` Stefan Monnier
2018-09-15 20:04                                         ` Eli Zaretskii
2018-09-16  3:14                                     ` Richard Stallman
     [not found]                                 ` <<83zhwji4hx.fsf@gnu.org>
2018-09-17  0:55                                   ` Drew Adams
2018-10-03  0:22                                     ` Richard Stallman
2018-10-03 17:38                                       ` Eli Zaretskii
2018-09-08  5:13 ` delete-selection-mode as default (WAS: Some developement questions) Richard Stallman
2018-09-08 14:54   ` Drew Adams
2018-09-09  1:23     ` Ergus
2018-09-08 17:25   ` Clément Pit-Claudel
2018-09-08 18:08   ` delete-selection-mode as default Stefan Monnier
2018-09-09  6:08     ` Richard Stallman
2018-09-09  7:56       ` Yuri Khan
2018-09-09 14:33       ` Drew Adams
2018-09-10  5:47         ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2a7o23b9b.fsf@aurox.ch \
    --to=charles@aurox.ch \
    --cc=emacs-devel@gnu.org \
    --cc=hw@adminart.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).