From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michael Kifer Newsgroups: gmane.emacs.bugs Subject: bug#22295: viper-mode undo bug introduced between Nov 10 and Nov 14 Date: Mon, 16 May 2016 23:38:56 -0400 Message-ID: <573A9250.8020504@cs.stonybrook.edu> References: <83vb2h6lfq.fsf@gnu.org> <83r3d56jrg.fsf@gnu.org> <87poso7nf5.fsf@russet.org.uk> <57378626.8060205@cs.stonybrook.edu> <87vb2g9xx5.fsf@russet.org.uk> <57378F7F.2040803@cs.stonybrook.edu> <878tzauyag.fsf@russet.org.uk> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1463456425 25393 80.91.229.3 (17 May 2016 03:40:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 17 May 2016 03:40:25 +0000 (UTC) Cc: 22295@debbugs.gnu.org, jim@meyering.net To: Phillip Lord Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue May 17 05:40:14 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1b2Vrg-0000NT-ST for geb-bug-gnu-emacs@m.gmane.org; Tue, 17 May 2016 05:40:13 +0200 Original-Received: from localhost ([::1]:48247 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2Vrf-0001yQ-Sf for geb-bug-gnu-emacs@m.gmane.org; Mon, 16 May 2016 23:40:11 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38594) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2Vrb-0001qB-Bb for bug-gnu-emacs@gnu.org; Mon, 16 May 2016 23:40:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b2VrW-0003D1-IQ for bug-gnu-emacs@gnu.org; Mon, 16 May 2016 23:40:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:42263) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2VrW-0003Ck-FC for bug-gnu-emacs@gnu.org; Mon, 16 May 2016 23:40:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1b2VrW-0005Zr-9V for bug-gnu-emacs@gnu.org; Mon, 16 May 2016 23:40:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Kifer Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 17 May 2016 03:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22295 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 22295-submit@debbugs.gnu.org id=B22295.146345634521372 (code B ref 22295); Tue, 17 May 2016 03:40:02 +0000 Original-Received: (at 22295) by debbugs.gnu.org; 17 May 2016 03:39:05 +0000 Original-Received: from localhost ([127.0.0.1]:54600 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b2Vqa-0005Ye-QU for submit@debbugs.gnu.org; Mon, 16 May 2016 23:39:04 -0400 Original-Received: from mail-qg0-f48.google.com ([209.85.192.48]:36675) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b2VqY-0005Y9-Ny for 22295@debbugs.gnu.org; Mon, 16 May 2016 23:39:03 -0400 Original-Received: by mail-qg0-f48.google.com with SMTP id w36so1932349qge.3 for <22295@debbugs.gnu.org>; Mon, 16 May 2016 20:39:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs-stonybrook-edu.20150623.gappssmtp.com; s=20150623; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=G8YW/nbhcCcAZz0y/rlgZXIibCN7WCTraYCPZMeAFL0=; b=C5Lbee9wZW8cuuluKWalb1SEy3ZlLEloI+j3UBYwJwD1ERerdiyCBZ1FzfZno2lodN aGsIeL/uUaI3H0IC+lEPuqPQmZ1z8Tl1w+/Bwk8qAQI+zi7RLr7bD1y4DK/hFU9RtZHJ amHI28b83dNEylW3YRNJmYvHE4ZweCUCwClik1EVAEPbKbjdgv99RdUPGa/FRrlvzjD/ FNZUbGXNuLvVUCoV4of7LVgbu+jiLHD56InJ84zMGnkuWmgcc+tzVQrzFktmGMVD/xlu CsW6h5pBWsGGEai5DiSMOJUHELvqkxwgUQ7Sk0SMk4NlQofF8v9hBXEUEdo3hbRqPg+R D0FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=G8YW/nbhcCcAZz0y/rlgZXIibCN7WCTraYCPZMeAFL0=; b=XXunWYDy7s25NDSIbkFE6uDRK2FmuGux2oWxxzui/pDwx9761kc0JaCqzamy4mikty iZHUZ1fZUqKjyE6VO3NbEY4F3aHJr5vwRPflAsmu5luPEAbjnXLY6/nigxTx/DeTLZhv yuc1TtngO+ikFztRrHvSY6ET6bnuZzh2UCXJ5nyzgpf5IBROtiHQA3x0KY0DBtC1CKHM aiRND6sWYaV3VggY+Cq8vB66kC5D++mpPbL+xQmSxorWKNXQFFwZq9XOCckE8EkHCWF1 blLGgyE2wCMAOFvPjlK08A6ym6Z+uNYujYNYxzMsfw/Or+UQ8xrZLI46wRWRuI8Ldx8k NL/Q== X-Gm-Message-State: AOPr4FXmgsbul79z/zQfK4vM6Yv4RvX/eHLuwt4T2dO/Gx2hiNcUD3aSUxJmxyAaR3/arjGr X-Received: by 10.140.42.195 with SMTP id c61mr32223540qga.40.1463456337184; Mon, 16 May 2016 20:38:57 -0700 (PDT) Original-Received: from [192.168.1.106] (ool-18ba1846.dyn.optonline.net. [24.186.24.70]) by smtp.gmail.com with ESMTPSA id w6sm346654qhb.2.2016.05.16.20.38.56 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 16 May 2016 20:38:56 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 In-Reply-To: <878tzauyag.fsf@russet.org.uk> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:118338 Archived-At:

On 05/16/2016 05:50 AM, Phillip Lord wrote:
Michael Kifer <kifer@cs.stonybrook.edu> writes:
Right, it has to do its own marking. When something gets viper-undone,
the latest viper-buffer-undo-list-mark is deleted and is replaced with
a nil, so that things can be further viper-undone.

Hope this helps.

It does yes. I am working on a solution; I think that the undo changes
mean that this should be easier to implement.



You don't by any chance remember why viper mode appears to turns itself
off in noninteractive mode? Turns out to be rather painful for testing.

I am not sure what you are referring to here.
Consider this:

(defcustom viper-mode (cond (noninteractive nil)
			    (t 'ask))
                            .....
                            

And the viper-mode function...

(defun viper-mode ()
  "Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Top'."
  (interactive)
  (if (not noninteractive)
      (progn
         'actually-turn-viper-mode-on.....)
  (if (eq major-mode 'viper-mode)
      (setq major-mode 'fundamental-mode))
  )

I normally run tests in batch, but viper automatically switches itself
off. It's going to make testing viper essentially impossible without
working around it (easy to do, but it would be good to understand why
it's like this).


OK. I don't remember this very clearly but there are cases (which I don't remember) where viper-mode gets kicked in implicitly for buffers where
the user didn't ask it to and where it is not wanted.  Maybe when one runs emacs in batch mode as a scripting tool.  One can defeat viper-mode in that case using emacs -q, but maybe there are other cases.

Since I don't remember and since it is not good to have kludges around, one way to figure it out is to comment out the (not interactive) part and then see what happens.
If and when you see undesired behavior, then uncomment and document :-)

--

       --- michael