|
From: | GNU bug Tracking System |
Subject: | [debbugs-tracker] bug#20532: closed (25.0.50; void-variable cursor-sensor-inhibit) |
Date: | Wed, 27 May 2015 16:19:02 +0000 |
Your message dated Wed, 27 May 2015 12:18:20 -0400 with message-id <address@hidden> and subject line Re: bug#20532: 25.0.50; void-variable cursor-sensor-inhibit has caused the debbugs.gnu.org bug report #20532, regarding 25.0.50; void-variable cursor-sensor-inhibit to be marked as done. (If you believe you have received this mail in error, please contact address@hidden) -- 20532: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20532 GNU Bug Tracking System Contact address@hidden with problems
--- Begin Message ---Subject: 25.0.50; void-variable cursor-sensor-inhibit Date: Fri, 08 May 2015 16:46:50 +0000 Hi,Lately, I have been facing this issue in the emacs built from master branch. I haven't yet seen this error occur on emacs 24.4.I see it happen now and then and haven't been able to consistently reproduce it but here is the backtrace. I have not been able to create this error on "emacs -Q".I get this error when I am trying to quit isearch. I don't know if this happens when I try to quit after I tried to search for a term that failed to be found in the buffer or when I try to quit after a successful search hit.But once this started happening, repeated C-g hits keep on throwing this error and I can't quit isearch.Then the only way is to restart emacs.Debugger entered--Lisp error: (void-variable cursor-sensor-inhibit)isearch-done(t)isearch-cancel()isearch-abort()funcall-interactively(isearch-abort)#<subr call-interactively>(isearch-abort nil nil)ad-Advice-call-interactively(#<subr call-interactively> isearch-abort nil nil)apply(ad-Advice-call-interactively #<subr call-interactively> (isearch-abort nil nil))call-interactively(isearch-abort nil nil)command-execute(isearch-abort)In GNU Emacs 25.0.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.10.4)of 2015-05-05 on ...Windowing system distributor `The X.Org Foundation', version 11.0.60900000System Description: Red Hat Enterprise Linux Client release 5.10 (Tikanga)Configured using:`configure --prefix=/home/kmodi/usr_local/apps/emacs/masterCPPFLAGS=-fgnu89-inline'Configured features:XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGSNOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIBImportant settings:value of $LANG: en_US.UTF-8locale-coding-system: utf-8-unixMinor modes in effect:global-auto-complete-mode: tminibuffer-line-mode: tguide-key-mode: tdesktop-save-mode: tpdf-occur-global-minor-mode: tglobal-anzu-mode: tanzu-mode: trecentf-mode: twinner-mode: tglobal-undo-tree-mode: tundo-tree-mode: tprojectile-global-mode: tprojectile-mode: tglobal-page-break-lines-mode: tkeyfreq-autosave-mode: tkeyfreq-mode: tdiff-auto-refine-mode: tido-ubiquitous-mode: tido-vertical-mode: tflx-ido-mode: tglobal-hungry-delete-mode: thungry-delete-mode: tvolatile-highlights-mode: tglobal-hi-lock-mode: thi-lock-mode: tglobal-hardcore-mode: thardcore-mode: tdrag-stuff-global-mode: tdrag-stuff-mode: tido-everywhere: tace-window-display-mode: tglobal-adaptive-wrap-prefix-mode: tadaptive-wrap-prefix-mode: tdisplay-time-mode: tpopwin-mode: twhich-function-mode: tshell-dirtrack-mode: tglobal-modi-mode: tmodi-mode: toverride-global-mode: tsave-place-mode: tshow-paren-mode: tdelete-selection-mode: tglobal-eldoc-mode: telectric-indent-mode: tmouse-wheel-mode: tfile-name-shadow-mode: tglobal-font-lock-mode: tfont-lock-mode: tauto-composition-mode: tauto-encryption-mode: tauto-compression-mode: tbuffer-read-only: tcolumn-number-mode: tline-number-mode: t
--- End Message ---
--- Begin Message ---Subject: Re: bug#20532: 25.0.50; void-variable cursor-sensor-inhibit Date: Wed, 27 May 2015 12:18:20 -0400 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) >> Can you think of any reason why you might have started your search in >> one buffer and ended it in another? > This will happen by design if you use isearch to search across multiple > files (i.e. multi-isearch), such as a sequence of ChangeLog.N files. > (There may be other variables than cursor-sensor-inhibit that are also > mishandled in this situation.) I installed the patch below which should fix this. Stefan diff --git a/lisp/isearch.el b/lisp/isearch.el index dc10502..5599ea5 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -932,12 +932,6 @@ convert the search string to a regexp used by regexp search functions." (add-hook 'post-command-hook 'isearch-post-command-hook) (add-hook 'mouse-leave-buffer-hook 'isearch-done) (add-hook 'kbd-macro-termination-hook 'isearch-done) - (make-local-variable 'cursor-sensor-inhibit) - (unless (boundp 'cursor-sensor-inhibit) - (setq cursor-sensor-inhibit nil)) - ;; Suspend things like cursor-intangible during Isearch so we can search even - ;; within intangible text. - (push 'isearch cursor-sensor-inhibit) ;; isearch-mode can be made modal (in the sense of not returning to ;; the calling function until searching is completed) by entering @@ -949,10 +943,23 @@ convert the search string to a regexp used by regexp search functions." ;; Some high level utilities. Others below. +(defvar isearch--current-buffer) (defun isearch-update () "This is called after every isearch command to update the display. The last thing it does is to run `isearch-update-post-hook'." + (unless (eq (current-buffer) isearch--current-buffer) + (when isearch--current-buffer + (with-current-buffer isearch--current-buffer + (setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit)))) + (setq isearch--current-buffer (current-buffer)) + (make-local-variable 'cursor-sensor-inhibit) + (unless (boundp 'cursor-sensor-inhibit) + (setq cursor-sensor-inhibit nil)) + ;; Suspend things like cursor-intangible during Isearch so we can search + ;; even within intangible text. + (push 'isearch cursor-sensor-inhibit)) + (if (and (null unread-command-events) (null executing-kbd-macro)) (progn @@ -1026,7 +1033,9 @@ NOPUSH is t and EDIT is t." (remove-hook 'mouse-leave-buffer-hook 'isearch-done) (remove-hook 'kbd-macro-termination-hook 'isearch-done) (setq isearch-lazy-highlight-start nil) - (setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit)) + (with-current-buffer isearch--current-buffer + (setq isearch--current-buffer nil) + (setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit))) ;; Called by all commands that terminate isearch-mode. ;; If NOPUSH is non-nil, we don't push the string on the search ring.
--- End Message ---
[Prev in Thread] | Current Thread | [Next in Thread] |