GNU bug report logs -
#78220
bug fix: viper-put-back and viper-Put-back do not set viper-d-com correctly
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sat, 28 Jun 2025 11:47:03 +0300
with message-id <86ikkg8d88.fsf <at> gnu.org>
and subject line Re: bug#78220: bug fix: viper-put-back and viper-Put-back do not set viper-d-com correctly
has caused the debbugs.gnu.org bug report #78220,
regarding bug fix: viper-put-back and viper-Put-back do not set viper-d-com correctly
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
78220: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78220
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
To: kifer <at> cs.stonybrook.edu, bug-gnu-emacs <at> gnu.org
Subject: Viper version is 3.14.2 of July 4, 2013; viper-put-back and viper-Put-back do
not correctly set viper-d-com
From: mls <scott <at> scott.cs.rochester.edu>
Congratulations! You may have unearthed a bug in Viper!
Please mail a concise, accurate summary of the problem to the address above.
In the code for viper-put-back and viper-Put-back, both in viper-cmd.el,
viper-use-register is reset to nil before calling viper-set-destructive-command.
It needs to happen after:
sigma> diff -c viper-cmd.el viper-cmd_fix.el
*** viper-cmd.el Fri May 2 16:19:41 2025
--- viper-cmd_fix.el Fri May 2 16:20:37 2025
***************
*** 3865,3871 ****
(setq viper-use-register nil)
(error viper-EmptyRegister reg))
(user-error viper-ViperBell)))
- (setq viper-use-register nil)
(if (viper-end-with-a-newline-p text)
(progn
(end-of-line)
--- 3865,3870 ----
***************
*** 3877,3882 ****
--- 3876,3882 ----
(set-marker (mark-marker) (point) (current-buffer))
(viper-set-destructive-command
(list 'viper-put-back val nil viper-use-register nil nil))
+ (setq viper-use-register nil)
(setq sv-point (point))
(viper-loop val (viper-yank text))
(setq chars-inserted (abs (- (point) sv-point))
***************
*** 3915,3924 ****
(setq viper-use-register nil)
(error viper-EmptyRegister reg))
(user-error viper-ViperBell)))
- (setq viper-use-register nil)
(if (viper-end-with-a-newline-p text) (beginning-of-line))
(viper-set-destructive-command
(list 'viper-Put-back val nil viper-use-register nil nil))
(set-marker (mark-marker) (point) (current-buffer))
(setq sv-point (point))
(viper-loop val (viper-yank text))
--- 3915,3924 ----
(setq viper-use-register nil)
(error viper-EmptyRegister reg))
(user-error viper-ViperBell)))
(if (viper-end-with-a-newline-p text) (beginning-of-line))
(viper-set-destructive-command
(list 'viper-Put-back val nil viper-use-register nil nil))
+ (setq viper-use-register nil)
(set-marker (mark-marker) (point) (current-buffer))
(setq sv-point (point))
(viper-loop val (viper-yank text))
sigma>
With this fix, a command like “xp or “xP will repeat correctly with the dot command.
-------------------------------------------------------------------
Emacs : GNU Emacs 29.4 (build 1, aarch64-apple-darwin21.6.0, NS appkit-2113.60 Version 12.6.6 (Build 21G646))
of 2024-08-02
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 t
viper-want-emacs-keys-in-vi t
viper-keep-point-on-undo nil
viper-no-multiple-ESC t
viper-electric-mode nil
viper-ESC-key "`"
viper-want-ctl-h-help nil
viper-ex-style-editing nil
viper-delete-backwards-in-replace nil
viper-vi-style-in-minibuffer t
viper-vi-state-hook 'viper-restore-cursor-type
viper-insert-state-hook '(turn-on-auto-fill 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 5
major-mode 'fundamental-mode
window-system 'ns
x-display-color-p t
viper-frame-parameters '((tool-bar-position . top) (parent-id)
(explicit-name) (display . "scott.cs.rochester.edu")
(visibility . t) (icon-name) (window-id . "1")
(top . 25) (left . 1526)
(buried-buffer-list #<buffer *Completions*> #<buffer
*viper-ask-level*>)
(buffer-list #<buffer .viper> #<buffer
viper-cmd.el.gz> #<buffer viper-init.el.gz>
#<buffer *Backtrace*> #<buffer *Help*> #<buffer
*Buffer List*> #<buffer chap.tex> #<buffer
CDex.tex<04_semantics>> #<buffer
2025-05-01_Yuan_Yao> #<buffer attr_grammars.tex>
#<buffer main.tex> #<buffer *scratch*> #<buffer
2025-04-10_hbeadle> #<buffer response.txt> #<buffer
notes> #<buffer 2025-04-29_rdong3+sree> #<buffer
CDex.tex<03_names>> #<buffer notes.txt>)
(unsplittable) (modeline . t) (width . 80)
(height . 86) (name . "Emacs-arm64-11 <at> sigma")
(last-focus-update . t)
(viper-vi-state-cursor-color . "firebrick")
(viper-saved-cursor-color-in-replace-mode .
"firebrick")
(environment) (font-parameter)
(cursor-color . "firebrick")
(background-mode . light) (display-type . color)
(scroll-bar-background) (scroll-bar-foreground)
(window-system . ns) (fullscreen) (alpha-background)
(alpha) (scroll-bar-height . 15)
(scroll-bar-width . 15) (cursor-type . box)
(auto-lower) (auto-raise) (icon-type) (title)
(buffer-predicate) (tool-bar-lines . 0)
(tab-bar-lines . 0) (menu-bar-lines . 0)
(no-accept-focus) (no-focus-on-map) (z-group)
(parent-frame) (ns-transparent-titlebar)
(ns-appearance) (undecorated) (no-special-glyphs)
(right-fringe . 8) (left-fringe . 8) (line-spacing)
(background-color . "alice blue")
(foreground-color . "Black")
(horizontal-scroll-bars)
(vertical-scroll-bars . right)
(bottom-divider-width . 0) (right-divider-width . 0)
(child-frame-border-width)
(internal-border-width . 2) (border-width . 0)
(font .
"-*-Monaco-regular-normal-normal-*-12-*-*-*-m-0-iso10646-1")
(fontsize . 0) (font-backend mac-ct)
(minibuffer . t))
viper-minibuffer-vi-face [face unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified]
viper-minibuffer-insert-face [face unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified]
viper-minibuffer-emacs-face [face unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified unspecified]
)
--text follows this line--
--
Michael L. Scott (he/him)
Arthur Gould Yates Professor of Engineering
Computer Science Department, University of Rochester
scott <at> cs.rochester.edu<mailto:scott <at> cs.rochester.edu>; 585-275-5671, 5478
http://www.cs.rochester.edu/u/scott/
[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
Closing.
This bug report was last modified 14 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.