all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: charles@aurox.ch, Drew Adams <drew.adams@oracle.com>
Cc: 32956@debbugs.gnu.org
Subject: bug#32956: 26.1.50; t-m-m mark deactivation documentation
Date: Sun, 7 Oct 2018 01:02:28 +0000 (UTC)	[thread overview]
Message-ID: <8e713508-f360-4fcd-9288-e094d450683a@default> (raw)
In-Reply-To: <<m2efd2272p.fsf@aurox.ch>>

> > BTW, this (the manual) might be a good place to mention
> > to Elisp users that (in `transient-mark-mode', at least) the
> > mark is also deactivated by default after each command,
> > by the command loop. Some commands inhibit this
> > automatic deactivation.
> >
> > This is a fairly common question by Elisp users who try to
> > write a command that they think/hope will end with the
> > region staying activated (e.g. for use by a follow-up command).
> >
> > This is maybe a good place to tell them about the automatic
> > deactivation (by default), and maybe even let them know
> > that they can use (setq deactivate-mark  nil) at the end of a
> > command definition to inhibit automatic deactivation.
> 
> Hmm, deactivate-mark is nil by default -- what effect would setting it
> to "nil" again have?  Is it to counteract the effect of previous
> function calls within the command, which may have set
> "deactivate-mark" to "t"?

This is about defining a command that activates the region
and wants to leave/keep it activated after the command
is finished.

Consider, as one example, a repeatable command that
does something  with the active region (e.g. indents it).
Because it is repeatable it wants to keep the region 
activated, for the next action. It needs to do this at
the end: (setq deactivate-mark  nil).

Users sometimes try to define commands that try to
leave the region active, not realizing that the command
loop will deactivate the region when the command is
done - unless the command sets `deactivate-mark' to nil.

> > In fact, this bit of `The Mark' doesn't seem quite right:
> >
> >   A command can ... request deactivation of the mark upon
> >   return to the editor command loop by setting the variable
> >   'deactivate-mark' to a non-'nil' value.
> >
> > I think that's a bit backward, at least in `transient-mark-mode'.
> > IIUC, the command loop automatically deactivates the mark
> > after each command, unless `deactivate-mark' is non-nil.
> 
> Again, though, deactivate-mark is "nil" by default, so it seems that
> some editing function has to set it to "t" for the mark to really be
> deactivated.

I don't understand what you mean by "really be deactivated".
But see above.





       reply	other threads:[~2018-10-07  1:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <<<m2in2f17jo.fsf@aurox.ch>
     [not found] ` <<5399d374-2089-492a-b830-9eb2baac82a6@default>
     [not found]   ` <<m2efd2272p.fsf@aurox.ch>
2018-10-07  1:02     ` Drew Adams [this message]
2018-10-07 14:39       ` bug#32956: 26.1.50; t-m-m mark deactivation documentation Charles A. Roelli
2018-10-07 19:42         ` Charles A. Roelli
2018-10-08  2:28           ` Eli Zaretskii
2018-10-08 17:23             ` Charles A. Roelli
     [not found] <<m2in2f17jo.fsf@aurox.ch>
2018-10-06 14:48 ` Drew Adams
2018-10-06 19:44   ` Charles A. Roelli
2018-10-06 14:19 Charles A. Roelli
2018-10-06 16:39 ` Eli Zaretskii
2018-10-06 19:29   ` Charles A. Roelli

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

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

  git send-email \
    --in-reply-to=8e713508-f360-4fcd-9288-e094d450683a@default \
    --to=drew.adams@oracle.com \
    --cc=32956@debbugs.gnu.org \
    --cc=charles@aurox.ch \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.