Congratulations! You may have unearthed a bug in Viper!
Please mail a concise, accurate summary of the problem to the address above.
-------------------------------------------------------------------
I don't have a reproducible case (sorry) and am working on debugging
this myself, but it's hard to reproduce. I have emacs up all the time
and I've noticed that after "a few hours" viper-mode won't be entered in
automatically for new buffers (loaded with C-x C-f or :r. It doesn't
seem to matter). I have to M-x viper-mode manually.
Up until this point I've focused on set-viper-state-in-major-mode. It
looks like viper-current-state is set to vi-state even though I'm not in
viper-mode. This seems wrong to me (I'm assuming this state is only set
when in viper-mode), but I can't figure out how it's happening.
Googling has not been productive yet, hence this (rather unhelpful, I imagine) bug report.
Emacs : GNU Emacs 24.5.1 (x86_64-w64-mingw32)
of 2015-04-05 on KAEL
Package: Viper version is 3.14.2 of July 4, 2013
current state:
==============
(setq
viper-vi-minibuffer-minor-mode nil
viper-insert-minibuffer-minor-mode nil
viper-vi-intercept-minor-mode t
viper-vi-local-user-minor-mode t
viper-vi-kbd-minor-mode t
viper-vi-global-user-minor-mode t
viper-vi-state-modifier-minor-mode t
viper-vi-diehard-minor-mode nil
viper-vi-basic-minor-mode t
viper-replace-minor-mode nil
viper-insert-intercept-minor-mode nil
viper-insert-local-user-minor-mode nil
viper-insert-kbd-minor-mode nil
viper-insert-global-user-minor-mode nil
viper-insert-state-modifier-minor-mode nil
viper-insert-diehard-minor-mode nil
viper-insert-basic-minor-mode nil
viper-emacs-intercept-minor-mode nil
viper-emacs-local-user-minor-mode nil
viper-emacs-kbd-minor-mode nil
viper-emacs-global-user-minor-mode nil
viper-emacs-state-modifier-minor-mode nil
viper-automatic-iso-accents nil
viper-special-input-method nil
viper-want-emacs-keys-in-insert nil
viper-want-emacs-keys-in-vi t
viper-keep-point-on-undo nil
viper-no-multiple-ESC nil
viper-electric-mode t
viper-ESC-key [escape]
viper-want-ctl-h-help nil
viper-ex-style-editing t
viper-delete-backwards-in-replace nil
viper-vi-style-in-minibuffer t
viper-vi-state-hook 'viper-restore-cursor-type
viper-insert-state-hook 'viper-set-insert-cursor-type
viper-replace-state-hook 'viper-restore-cursor-type
viper-emacs-state-hook 'viper-restore-cursor-type
ex-cycle-other-window t
ex-cycle-through-non-files nil
viper-expert-level 2
major-mode 'emacs-lisp-mode
viper-device-type 'w32
color-display-p t
frame-parameters '((tool-bar-position . top) (parent-id) (explicit-name) (display . "w32")
(visibility . t) (icon-name) (window-id . "132178") (top + -8) (left + -8)
(buried-buffer-list #<buffer *Completions*> #<buffer *viper-ask-level*>)
(buffer-list #<buffer viper.el> #<buffer *Minibuf-1*> #<buffer buildRelease>
#<buffer build_publish.xml> #<buffer *Buffer List*> #<buffer viper.notes.txt>
#<buffer *Messages*> #<buffer *grep*> #<buffer configure<main>> #<buffer main>
#<buffer build_policies.pl> #<buffer PSRTestPolicies.xml> #<buffer Engine.java>
#<buffer *GNU Emacs*> #<buffer *scratch*>)
(unsplittable) (minibuffer . #<window 4 on *Minibuf-0*>) (modeline . t)
(width . 211) (height . 52) (name . "emacs@MANN")
(viper-vi-state-cursor-color . "dodgerblue")
(viper-saved-cursor-color-in-replace-mode . "dodgerblue") (environment)
(cursor-color . "dodgerblue") (background-mode . dark) (display-type . color)
(horizontal-scroll-bars . t) (window-system . w32) (scroll-bar-width . 0)
(cursor-type . box) (auto-lower) (auto-raise) (icon-type) (fullscreen . maximized)
(title) (buffer-predicate) (tool-bar-lines . 0) (menu-bar-lines . 1) (alpha)
(right-fringe . 9) (left-fringe . 9) (line-spacing) (screen-gamma)
(border-color . "black") (mouse-color . "green")
(background-color . "darkslategrey") (foreground-color . "white")
(vertical-scroll-bars) (bottom-divider-width . 0) (right-divider-width . 0)
(internal-border-width . 0) (border-width . 2)
(font . "-outline-Consolas-normal-normal-normal-mono-16-*-*-*-c-*-iso8859-1")
(font-backend uniscribe gdi))
minibuffer-vi-face [face unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified]
minibuffer-insert-face [face unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified]
minibuffer-emacs-face [face unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified]
)