Subject: Re: bug#35177: 27.0.50; Binding deactivate-mark to nil unexpectedly deactivates the mark

From: Markus Triska <[email-masked]>
Date: Mon, 08 Apr 2019 17:50:10 +0200

Eli Zaretskii <[email-masked]> writes:

> I cannot reproduce your result: the above does show an active mark
> after the execution, both in Emacs 26.2 and Emacs 27.0.50.

Here is a more complete recipe, could you please try it:

  1. download deactivate_mark.el with
     $ wget https://www.metalevel.at/ei/deactivate_mark.el

  2. start Emacs with
     $ emacs -Q deactivate_mark.el

  3. move point at the end of the form and evaluate it with C-x C-e.

The result is that "hello" is displayed in buffer "t", and the mark is
not active. The content of deactivate_mark.el is:

(let (deactivate-mark)
  (switch-to-buffer (get-buffer-create "t"))
  (insert "hello")
  (set-mark-command nil)
  (move-beginning-of-line nil))

It seems to play a role whether its buffer is modified or not, hence
this receipe starting from a fresh file and an unmodified buffer.

Can you reproduce this up to here? If so, please proceed as follows:

  4. Kill the "t" buffer with C-x C-k RET

  5. Add a space to the end of deactivate_mark.el by pressing SPACE.

  6. Evaluate the form again with C-x C-e.

After these steps, "hello" is highlighted and the mark is active. Also,
on all further iterations of (4) to (6), the region is again active.

Can you reproduce this? If possible, could you please make it so that
the mark is active also on the first run, i.e., after steps (1) to (3)?

Thank you and all the best,
Markus