emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: find-file-literally and save-buffer


From: Alfred M. Szmidt
Subject: Re: find-file-literally and save-buffer
Date: Tue, 27 Mar 2007 13:37:11 +0200 (CEST)

   >> To reproduce:
   >>
   >> | emacs -Q
   >> | M-x find-file-literally ~/RMAIL.empty RET
   >> | C-u M-~   (not-modified t)
   >> | C-x C-s   (save-buffer)
   >>
   >> Answering y at this point has no effect
   >
   > I can't seem to reproduce this...

I tried this on two different systems, on running GNU/Linux and the
other running OpenBSD, and both exhibit the same behaviour for me.  I
think this might be related to me having my home directory under
version control (using arch; this might be the reason why you couldn't
reproduce it.

find-file-noselect enters a recursive loop (I snipped the backtrace a
bit, since it was long), why I'm not sure.  But I think it is because
vc-arch-file-source-p calls find-file-noselect, which in turn calls
vc-arch-file-source-p, and so on...


===File /ssh:trillian:~/bt==================================
Debugger entered--entering a function:
* ad-Orig-find-file-noselect("/home/ams/RMAIL.empty" nil nil nil)
  (setq ad-return-value (ad-Orig-find-file-noselect filename nowarn rawfile 
wildcards))
  (let ((trace-level ...) (trace-buffer ...)) (unless inhibit-trace 
(with-current-buffer trace-buffer nil ... ... ...)) (setq ad-return-value 
(ad-Orig-find-file-noselect filename nowarn rawfile wildcards)) (unless 
inhibit-trace (with-current-buffer trace-buffer nil ... ...)))
  (let (ad-return-value) (let (... ...) (unless inhibit-trace ...) (setq 
ad-return-value ...) (unless inhibit-trace ...)) ad-return-value)
  find-file-noselect("/home/ams/RMAIL.empty")
  vc-arch-file-source-p("/home/ams/RMAIL.empty")
  vc-arch-registered("/home/ams/RMAIL.empty")
  apply(vc-arch-registered "/home/ams/RMAIL.empty")
  vc-call-backend(Arch registered "/home/ams/RMAIL.empty")
  #[(b) "Âà    #…Ä   Å#…ÆÇÈ\"‡" [b file vc-call-backend registered 
vc-file-setprop vc-backend throw found t] 4](Arch)
  mapcar(#[(b) "Âà     #…Ä   Å#…ÆÇÈ\"‡" [b file vc-call-backend 
registered vc-file-setprop vc-backend throw found t] 4] (RCS CVS SVN SCCS Arch 
MCVS))
  byte-code("ÃÄ\"ÅÆ   ƒ     Ç=ƒ\n‚      \nB\"ˆ)ÈÄÇ#ˆÉ‡" [file backend 
vc-handled-backends vc-file-getprop vc-backend mapcar #[(b) "Âà #…Ä   Å#…
ÆÇÈ\"‡" [b file vc-call-backend registered vc-file-setprop vc-backend throw 
found t] 4] none vc-file-setprop nil] 4)
  vc-registered("/home/ams/RMAIL.empty")
  vc-backend("/home/ams/RMAIL.empty")
  vc-before-save()
  basic-save-buffer()
  save-buffer()
  byte-code("ÆÇ!!È!ƒ(       
ƒ#ÉÊ\nƒÆË!!‚\"†›ÌÍ\"‡ƒU\fƒUÎÏ\"„UÎÐ\"ƒUÑÒӏщ„OÔ!‚SÕÔ
\"address@hidden@address@hidden@address@hidden@!„ˆå!„ÿæIÛç\"address@hidden&address@hidden"address@hidden"ˆêæ‰\"ˆÛë\"ˆ)address@hidden@!ƒ\\î‚]ïá!\"address@hidden@address@hidden"ˆ)address@hidden)ƒËMOMN)Q??R??=„~I„~Sö=„~è
 ƒIÞßQƒø÷‚ùøá!\"!ƒù 
address@hidden&ˆ‚~ÞßQƒ!û‚\"address@hidden&ˆ‚~ÌQƒCý‚Dþ!ˆ‚~ÞßQƒTÿ‚WTá!\"address@hidden&ˆ‚~ÌQƒ{ý‚|þ!ˆ)@)address@hidden@EQAC&-‡"
 [filename find-file-run-dired find-file-visit-truename wildcards 
find-file-wildcards files abbreviate-file-name expand-file-name 
file-directory-p run-hook-with-args-until-success find-directory-functions 
file-truename error "%s is a directory" string-match "\\`/:" "[[*?]" nil 
(file-expand-wildcards filename t) ((error ...)) find-file-noselect mapcar 
get-file-buffer file-attributes 10 find-buffer-visiting buffer-file-name 
message "%s and %s are the same file" 7 y-or-n-p format "File %s is large 
(%dMB), really open? " file-name-nondirectory 1048576 "Aborted" 
verify-visited-file-modtime file-exists-p t "File %s no longer exists!" 
buffer-modified-p "Reverting file %s..." revert-buffer "Reverting file 
%s...done" yes-or-no-p buffer-name "File %s changed on disk.  Discard your 
edits? " "File %s changed on disk.  Reread from disk? " "File %s changed on 
disk.  Discard your edits in %s? " "File %s changed on disk.  Reread from disk 
into %s? " ...] 8)
* ad-Orig-find-file-noselect("/home/ams/RMAIL.empty" nil nil nil)
  (setq ad-return-value (ad-Orig-find-file-noselect filename nowarn rawfile 
wildcards))
  (let ((trace-level ...) (trace-buffer ...)) (unless inhibit-trace 
(with-current-buffer trace-buffer nil ... ... ...)) (setq ad-return-value 
(ad-Orig-find-file-noselect filename nowarn rawfile wildcards)) (unless 
inhibit-trace (with-current-buffer trace-buffer nil ... ...)))
  (let (ad-return-value) (let (... ...) (unless inhibit-trace ...) (setq 
ad-return-value ...) (unless inhibit-trace ...)) ad-return-value)
  find-file-noselect("/home/ams/RMAIL.empty")
  vc-arch-file-source-p("/home/ams/RMAIL.empty")
  vc-arch-registered("/home/ams/RMAIL.empty")
  apply(vc-arch-registered "/home/ams/RMAIL.empty")
  vc-call-backend(Arch registered "/home/ams/RMAIL.empty")
  #[(b) "Âà    #…Ä   Å#…ÆÇÈ\"‡" [b file vc-call-backend registered 
vc-file-setprop vc-backend throw found t] 4](Arch)
  mapcar(#[(b) "Âà     #…Ä   Å#…ÆÇÈ\"‡" [b file vc-call-backend 
registered vc-file-setprop vc-backend throw found t] 4] (RCS CVS SVN SCCS Arch 
MCVS))
  byte-code("ÃÄ\"ÅÆ   ƒ     Ç=ƒ\n‚      \nB\"ˆ)ÈÄÇ#ˆÉ‡" [file backend 
vc-handled-backends vc-file-getprop vc-backend mapcar #[(b) "Âà #…Ä   Å#…
ÆÇÈ\"‡" [b file vc-call-backend registered vc-file-setprop vc-backend throw 
found t] 4] none vc-file-setprop nil] 4)
  vc-registered("/home/ams/RMAIL.empty")
  vc-backend("/home/ams/RMAIL.empty")
  vc-before-save()
  basic-save-buffer()
  save-buffer()
  byte-code("ÆÇ!!È!ƒ(       
ƒ#ÉÊ\nƒÆË!!‚\"†›ÌÍ\"‡ƒU\fƒUÎÏ\"„UÎÐ\"ƒUÑÒӏщ„OÔ!‚SÕÔ
\"address@hidden@address@hidden@address@hidden@!„ˆå!„ÿæIÛç\"address@hidden&address@hidden"address@hidden"ˆêæ‰\"ˆÛë\"ˆ)address@hidden@!ƒ\\î‚]ïá!\"address@hidden@address@hidden"ˆ)address@hidden)ƒËMOMN)Q??R??=„~I„~Sö=„~è
 ƒIÞßQƒø÷‚ùøá!\"!ƒù 
address@hidden&ˆ‚~ÞßQƒ!û‚\"address@hidden&ˆ‚~ÌQƒCý‚Dþ!ˆ‚~ÞßQƒTÿ‚WTá!\"address@hidden&ˆ‚~ÌQƒ{ý‚|þ!ˆ)@)address@hidden@EQAC&-‡"
 [filename find-file-run-dired find-file-visit-truename wildcards 
find-file-wildcards files abbreviate-file-name expand-file-name 
file-directory-p run-hook-with-args-until-success find-directory-functions 
file-truename error "%s is a directory" string-match "\\`/:" "[[*?]" nil 
(file-expand-wildcards filename t) ((error ...)) find-file-noselect mapcar 
get-file-buffer file-attributes 10 find-buffer-visiting buffer-file-name 
message "%s and %s are the same file" 7 y-or-n-p format "File %s is large 
(%dMB), really open? " file-name-nondirectory 1048576 "Aborted" 
verify-visited-file-modtime file-exists-p t "File %s no longer exists!" 
buffer-modified-p "Reverting file %s..." revert-buffer "Reverting file 
%s...done" yes-or-no-p buffer-name "File %s changed on disk.  Discard your 
edits? " "File %s changed on disk.  Reread from disk? " "File %s changed on 
disk.  Discard your edits in %s? " "File %s changed on disk.  Reread from disk 
into %s? " ...] 8)
* ad-Orig-find-file-noselect("/home/ams/RMAIL.empty" nil nil nil)
  (setq ad-return-value (ad-Orig-find-file-noselect filename nowarn rawfile 
wildcards))
  (let ((trace-level ...) (trace-buffer ...)) (unless inhibit-trace 
(with-current-buffer trace-buffer nil ... ... ...)) (setq ad-return-value 
(ad-Orig-find-file-noselect filename nowarn rawfile wildcards)) (unless 
inhibit-trace (with-current-buffer trace-buffer nil ... ...)))
  (let (ad-return-value) (let (... ...) (unless inhibit-trace ...) (setq 
ad-return-value ...) (unless inhibit-trace ...)) ad-return-value)
  find-file-noselect("/home/ams/RMAIL.empty")
  vc-arch-file-source-p("/home/ams/RMAIL.empty")
  vc-arch-registered("/home/ams/RMAIL.empty")
  apply(vc-arch-registered "/home/ams/RMAIL.empty")
  vc-call-backend(Arch registered "/home/ams/RMAIL.empty")
  #[(b) "Âà    #…Ä   Å#…ÆÇÈ\"‡" [b file vc-call-backend registered 
vc-file-setprop vc-backend throw found t] 4](Arch)
  mapcar(#[(b) "Âà     #…Ä   Å#…ÆÇÈ\"‡" [b file vc-call-backend 
registered vc-file-setprop vc-backend throw found t] 4] (RCS CVS SVN SCCS Arch 
MCVS))
  byte-code("ÃÄ\"ÅÆ   ƒ     Ç=ƒ\n‚      \nB\"ˆ)ÈÄÇ#ˆÉ‡" [file backend 
vc-handled-backends vc-file-getprop vc-backend mapcar #[(b) "Âà #…Ä   Å#…
ÆÇÈ\"‡" [b file vc-call-backend registered vc-file-setprop vc-backend throw 
found t] 4] none vc-file-setprop nil] 4)
  vc-registered("/home/ams/RMAIL.empty")
  vc-backend("/home/ams/RMAIL.empty")
  vc-before-save()
  basic-save-buffer()
  save-buffer(1)
  call-interactively(save-buffer)
============================================================




reply via email to

[Prev in Thread] Current Thread [Next in Thread]