[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#22859: 25.0.91; Errors in auto-revert-notify-handler
From: |
John Wiegley |
Subject: |
bug#22859: 25.0.91; Errors in auto-revert-notify-handler |
Date: |
Mon, 29 Feb 2016 12:27:35 -0800 |
User-agent: |
Gnus/5.130014 (Ma Gnus v0.14) Emacs/25.0.91 (darwin) |
While doing general editing and saving of files with emacs-25, I'm getting the
following backtrace somewhat often:
--8<---------------cut here---------------start------------->8---
Debugger entered: ((cl-assertion-failed (stringp file1) nil))
cl--assertion-failed((stringp file1))
auto-revert-notify-handler((29 renamed
"/Users/johnw/bae/rings/vignettes/simple_parser_fiat/Main.hs"))
file-notify-callback((29 (rename)
"/Users/johnw/bae/rings/vignettes/simple_parser_fiat/Main.hs"))
file-notify-handle-event((file-notify (29 (rename)
"/Users/johnw/bae/rings/vignettes/simple_parser_fiat/Main.hs")
file-notify-callback))
funcall-interactively(file-notify-handle-event (file-notify (29 (rename)
"/Users/johnw/bae/rings/vignettes/simple_parser_fiat/Main.hs")
file-notify-callback))
call-interactively(file-notify-handle-event nil [(file-notify (29 (rename)
"/Users/johnw/bae/rings/vignettes/simple_parser_fiat/Main.hs")
file-notify-callback)])
command-execute(file-notify-handle-event nil [(file-notify (29 (rename)
"/Users/johnw/bae/rings/vignettes/simple_parser_fiat/Main.hs")
file-notify-callback)] t)
--8<---------------cut here---------------end--------------->8---
The responsible code, in autorevert.el:
--8<---------------cut here---------------start------------->8---
(defun auto-revert-notify-handler (event)
"Handle an EVENT returned from file notification."
(with-demoted-errors
(let* ((descriptor (car event))
(action (nth 1 event))
(file (nth 2 event))
(file1 (nth 3 event)) ;; Target of `renamed'.
(buffers (gethash descriptor
auto-revert-notify-watch-descriptor-hash-list)))
;; Check, that event is meant for us.
(cl-assert descriptor)
;; Since we watch a directory, a file name must be returned.
(cl-assert (stringp file))
(when (eq action 'renamed) (cl-assert (stringp file1)))
--8<---------------cut here---------------end--------------->8---
However, I'm not performing any file renames. Perhaps this is due to the
renaming of files used when creating backups? What code might be raising a
rename enough without a rename target? From a cursory inspection, it looks
like it might be the file notification logic?
--
John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#22859: 25.0.91; Errors in auto-revert-notify-handler,
John Wiegley <=