From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Alfred M. Szmidt" Newsgroups: gmane.emacs.devel Subject: Re: find-file-literally and save-buffer Date: Tue, 27 Mar 2007 13:37:11 +0200 (CEST) Message-ID: <20070327113711.6EE393012B@Psilocybe.Update.UU.SE> References: <20070326115910.697F830147@Psilocybe.Update.UU.SE> <87odmfnxxw.fsf@stupidchicken.com> <87k5x3nxcl.fsf@stupidchicken.com> Reply-To: ams@gnu.org NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1174995447 11388 80.91.229.12 (27 Mar 2007 11:37:27 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 27 Mar 2007 11:37:27 +0000 (UTC) Cc: emacs-devel@gnu.org To: Chong Yidong Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Mar 27 13:37:21 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HW9zL-0001Lc-Ll for ged-emacs-devel@m.gmane.org; Tue, 27 Mar 2007 13:37:20 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HWA1g-0007Kx-Nq for ged-emacs-devel@m.gmane.org; Tue, 27 Mar 2007 06:39:44 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HWA1c-0007Gn-8d for emacs-devel@gnu.org; Tue, 27 Mar 2007 07:39:40 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HWA1b-0007F0-7G for emacs-devel@gnu.org; Tue, 27 Mar 2007 07:39:39 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HWA1b-0007Er-4P for emacs-devel@gnu.org; Tue, 27 Mar 2007 06:39:39 -0500 Original-Received: from psilocybe.update.uu.se ([130.238.19.25]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HW9zE-0005Zj-Aa for emacs-devel@gnu.org; Tue, 27 Mar 2007 07:37:13 -0400 Original-Received: by Psilocybe.Update.UU.SE (Postfix, from userid 30270) id 6EE393012B; Tue, 27 Mar 2007 13:37:11 +0200 (CEST) In-reply-to: <87k5x3nxcl.fsf@stupidchicken.com> (message from Chong Yidong on Tue, 27 Mar 2007 00:07:06 -0400) X-detected-kernel: Linux 2.6 (newer, 1) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:68668 Archived-At: >> 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... =3D=3D=3DFile /ssh:trillian:~/bt=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 rawfi= le 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 inhib= it-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) "=C3=82=08=C3=83 #=C2=85=14=00=C3=84 =C3=85=08#=C2=85=14=00=C3=86= =C3=87=C3=88\"=C2=87" [b file vc-call-backend registered vc-file-setprop = vc-backend throw found t] 4](Arch) mapcar(#[(b) "=C3=82=08=C3=83 #=C2=85=14=00=C3=84 =C3=85=08#=C2=85=14=00= =C3=86=C3=87=C3=88\"=C2=87" [b file vc-call-backend registered vc-file-se= tprop vc-backend throw found t] 4] (RCS CVS SVN SCCS Arch MCVS)) byte-code("=C3=83=08=C3=84\"=19=C3=85=C3=86 =C2=83=11=00 =C3=87=3D=C2=83= =15=00\n=C2=82=18=00 \nB\"=C2=88)=C3=88=08=C3=84=C3=87#=C2=88=C3=89=C2=87= " [file backend vc-handled-backends vc-file-getprop vc-backend mapcar #[(= b) "=C3=82=08=C3=83 #=C2=85=14=00=C3=84 =C3=85=08#=C2=85=14=00=C3=86=C3=87= =C3=88\"=C2=87" [b file vc-call-backend registered vc-file-setprop vc-bac= kend 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("=C3=86=C3=87=08!!=10=C3=88=08!=C2=83(=00 =C2=83#=00=C3=89=C3= =8A\n=C2=83=1E=00=C3=86=C3=8B=08!!=C2=82=1F=00=08\"=C2=86=C2=9B=02=C3=8C=C3= =8D=08\"=C2=87=0B=C2=83U=00\f=C2=83U=00=C3=8E=C3=8F=08\"=C2=84U=00=C3=8E=C3= =90=08\"=C2=83U=00=C3=91=C3=92=C3=93=C2=8F=C3=91=1C=C2=89=1D=C2=84O=00=C3= =94=08!=C2=82S=00=C3=95=C3=94=0D\"*=C2=87=C3=96=08!=1E@=C3=86=C3=8B=08!!=1E= A=C3=97=0EA!=1EB=C3=98=0EB=C2=9B=1EC=0E@?=C2=85v=00=C3=99=08!=C2=89=1ED=C2= =83=C2=A5=00=0EE=C2=84=C2=98=00=0EF=C2=84=C2=98=00=08=C3=9A=0ED!=C2=98=C2= =84=C2=98=00=C3=9B=C3=9C=08=C3=9A=0ED!#=C2=88=0EG=C2=84=C2=A1=00\n=C2=83=C2= =A5=00=0ED=16@=0EH=C2=83=C3=9A=00=C3=9D=0EB8=C2=83=C3=9A=00=0E@=C2=84=C3=9A= =00=0EE=C2=84=C3=9A=00=C3=9D=0EB8=0EHV=C2=83=C3=9A=00=C3=9E=C3=9F=C3=A0=C3= =A1=08!=C3=9D=0EB8=C3=A2=C2=A5#!=C2=84=C3=9A=00=C3=8C=C3=A3!=C2=88=0E@=C2= =83=C2=85=02=C3=91=1EI=0EE=C2=84=C2=88=01=C3=A4=0E@!=C2=84=C2=88=01=C3=A5= =08!=C2=84=C3=BF=00=C3=A6=16I=C3=9B=C3=A7=08\"=C2=88=C2=82=C2=88=01=C3=A8= =0E@!=C2=84D=01=0EJ=C3=91=1EK=C2=89=1EL=C2=83&=01=C3=8E=0EL@=08\"=C2=83=1D= =01=C3=A6=16K=0ELA=C2=89=16L=C2=84=11=01=0EK*=C2=83D=01r=0E@q=C2=88=C3=9B= =C3=A9=08\"=C2=88=C3=AA=C3=A6=C2=89\"=C2=88=C3=9B=C3=AB=08\"=C2=88)=C2=82= =C2=88=01=C3=AC=C3=A1=08!=C3=AD=0E@!=C2=98=C2=83d=01=C3=9F=C3=A8=0E@!=C2=83= \\=01=C3=AE=C2=82]=01=C3=AF=C3=A1=08!\"=C2=82y=01=C3=9F=C3=A8=0E@!=C2=83p= =01=C3=B0=C2=82q=01=C3=B1=C3=A1=08!=C3=AD=0E@!#!=C2=83=C2=88=01r=0E@q=C2=88= =C3=AA=C3=A6=C2=89\"=C2=88)r=0E@q=C2=88=C3=B2=0E=1A!?=1EM=0EI=C2=84=C3=8B= =01=0EM=0EN=3D=C2=84=C3=8B=01=0EM=0EO=3D=C2=84=C3=8B=01=0EE=C2=84=C3=87=01= =C3=9F=C3=B3=0E=1A=0EM=C2=83=C2=BB=01=C3=B4=C2=82=C2=BC=01=C3=B5#=1EP=C3=9E= =0EP!)=C2=83=C3=8B=01=0EM=16O=0EM=16N)=0EQ??=0ER??=3D=C2=84~=02=0EI=C2=84= ~=02=0ES=C3=B6=3D=C2=84~=02=C3=A8 =C2=83I=02=C3=9E=C3=9F=0EQ=C2=83=C3=B8=01= =C3=B7=C2=82=C3=B9=01=C3=B8=C3=A1=08!\"!=C2=83=16=02=C3=B9 =C2=88=C3=BA=0E= @=08=0EE=0EQ=0EA=0EC&=06=C2=88=C2=82~=02=C3=9E=C3=9F=0EQ=C2=83!=02=C3=BB=C2= =82\"=02=C3=BC!!=C2=839=02=C3=BA=0E@=08=0EE=0EQ=0EA=0EC&=06=C2=88=C2=82~=02= =C3=8C=0EQ=C2=83C=02=C3=BD=C2=82D=02=C3=BE!=C2=88=C2=82~=02=C3=9E=C3=9F=0E= Q=C2=83T=02=C3=BF=C2=82W=02=C2=81T=00=C3=A1=08!\"!=C2=83q=02=C3=BA=0E@=08= =0EE=0EQ=0EA=0EC&=06=C2=88=C2=82~=02=C3=8C=0EQ=C2=83{=02=C3=BD=C2=82|=02=C3= =BE!=C2=88)=0E@)=C2=82=C2=9A=02=C2=81U=00=08!=16@=C3=BA=0E@=08=0EE=0EQ=0E= A=0EC&=06-=C2=87" [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-functio= ns file-truename error "%s is a directory" string-match "\\`/:" "[[*?]" n= il (file-expand-wildcards filename t) ((error ...)) find-file-noselect ma= pcar 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" ver= ify-visited-file-modtime file-exists-p t "File %s no longer exists!" buff= er-modified-p "Reverting file %s..." revert-buffer "Reverting file %s...d= one" yes-or-no-p buffer-name "File %s changed on disk. Discard your edit= s? " "File %s changed on disk. Reread from disk? " "File %s changed on d= isk. 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 rawfi= le 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 inhib= it-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) "=C3=82=08=C3=83 #=C2=85=14=00=C3=84 =C3=85=08#=C2=85=14=00=C3=86= =C3=87=C3=88\"=C2=87" [b file vc-call-backend registered vc-file-setprop = vc-backend throw found t] 4](Arch) mapcar(#[(b) "=C3=82=08=C3=83 #=C2=85=14=00=C3=84 =C3=85=08#=C2=85=14=00= =C3=86=C3=87=C3=88\"=C2=87" [b file vc-call-backend registered vc-file-se= tprop vc-backend throw found t] 4] (RCS CVS SVN SCCS Arch MCVS)) byte-code("=C3=83=08=C3=84\"=19=C3=85=C3=86 =C2=83=11=00 =C3=87=3D=C2=83= =15=00\n=C2=82=18=00 \nB\"=C2=88)=C3=88=08=C3=84=C3=87#=C2=88=C3=89=C2=87= " [file backend vc-handled-backends vc-file-getprop vc-backend mapcar #[(= b) "=C3=82=08=C3=83 #=C2=85=14=00=C3=84 =C3=85=08#=C2=85=14=00=C3=86=C3=87= =C3=88\"=C2=87" [b file vc-call-backend registered vc-file-setprop vc-bac= kend 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("=C3=86=C3=87=08!!=10=C3=88=08!=C2=83(=00 =C2=83#=00=C3=89=C3= =8A\n=C2=83=1E=00=C3=86=C3=8B=08!!=C2=82=1F=00=08\"=C2=86=C2=9B=02=C3=8C=C3= =8D=08\"=C2=87=0B=C2=83U=00\f=C2=83U=00=C3=8E=C3=8F=08\"=C2=84U=00=C3=8E=C3= =90=08\"=C2=83U=00=C3=91=C3=92=C3=93=C2=8F=C3=91=1C=C2=89=1D=C2=84O=00=C3= =94=08!=C2=82S=00=C3=95=C3=94=0D\"*=C2=87=C3=96=08!=1E@=C3=86=C3=8B=08!!=1E= A=C3=97=0EA!=1EB=C3=98=0EB=C2=9B=1EC=0E@?=C2=85v=00=C3=99=08!=C2=89=1ED=C2= =83=C2=A5=00=0EE=C2=84=C2=98=00=0EF=C2=84=C2=98=00=08=C3=9A=0ED!=C2=98=C2= =84=C2=98=00=C3=9B=C3=9C=08=C3=9A=0ED!#=C2=88=0EG=C2=84=C2=A1=00\n=C2=83=C2= =A5=00=0ED=16@=0EH=C2=83=C3=9A=00=C3=9D=0EB8=C2=83=C3=9A=00=0E@=C2=84=C3=9A= =00=0EE=C2=84=C3=9A=00=C3=9D=0EB8=0EHV=C2=83=C3=9A=00=C3=9E=C3=9F=C3=A0=C3= =A1=08!=C3=9D=0EB8=C3=A2=C2=A5#!=C2=84=C3=9A=00=C3=8C=C3=A3!=C2=88=0E@=C2= =83=C2=85=02=C3=91=1EI=0EE=C2=84=C2=88=01=C3=A4=0E@!=C2=84=C2=88=01=C3=A5= =08!=C2=84=C3=BF=00=C3=A6=16I=C3=9B=C3=A7=08\"=C2=88=C2=82=C2=88=01=C3=A8= =0E@!=C2=84D=01=0EJ=C3=91=1EK=C2=89=1EL=C2=83&=01=C3=8E=0EL@=08\"=C2=83=1D= =01=C3=A6=16K=0ELA=C2=89=16L=C2=84=11=01=0EK*=C2=83D=01r=0E@q=C2=88=C3=9B= =C3=A9=08\"=C2=88=C3=AA=C3=A6=C2=89\"=C2=88=C3=9B=C3=AB=08\"=C2=88)=C2=82= =C2=88=01=C3=AC=C3=A1=08!=C3=AD=0E@!=C2=98=C2=83d=01=C3=9F=C3=A8=0E@!=C2=83= \\=01=C3=AE=C2=82]=01=C3=AF=C3=A1=08!\"=C2=82y=01=C3=9F=C3=A8=0E@!=C2=83p= =01=C3=B0=C2=82q=01=C3=B1=C3=A1=08!=C3=AD=0E@!#!=C2=83=C2=88=01r=0E@q=C2=88= =C3=AA=C3=A6=C2=89\"=C2=88)r=0E@q=C2=88=C3=B2=0E=1A!?=1EM=0EI=C2=84=C3=8B= =01=0EM=0EN=3D=C2=84=C3=8B=01=0EM=0EO=3D=C2=84=C3=8B=01=0EE=C2=84=C3=87=01= =C3=9F=C3=B3=0E=1A=0EM=C2=83=C2=BB=01=C3=B4=C2=82=C2=BC=01=C3=B5#=1EP=C3=9E= =0EP!)=C2=83=C3=8B=01=0EM=16O=0EM=16N)=0EQ??=0ER??=3D=C2=84~=02=0EI=C2=84= ~=02=0ES=C3=B6=3D=C2=84~=02=C3=A8 =C2=83I=02=C3=9E=C3=9F=0EQ=C2=83=C3=B8=01= =C3=B7=C2=82=C3=B9=01=C3=B8=C3=A1=08!\"!=C2=83=16=02=C3=B9 =C2=88=C3=BA=0E= @=08=0EE=0EQ=0EA=0EC&=06=C2=88=C2=82~=02=C3=9E=C3=9F=0EQ=C2=83!=02=C3=BB=C2= =82\"=02=C3=BC!!=C2=839=02=C3=BA=0E@=08=0EE=0EQ=0EA=0EC&=06=C2=88=C2=82~=02= =C3=8C=0EQ=C2=83C=02=C3=BD=C2=82D=02=C3=BE!=C2=88=C2=82~=02=C3=9E=C3=9F=0E= Q=C2=83T=02=C3=BF=C2=82W=02=C2=81T=00=C3=A1=08!\"!=C2=83q=02=C3=BA=0E@=08= =0EE=0EQ=0EA=0EC&=06=C2=88=C2=82~=02=C3=8C=0EQ=C2=83{=02=C3=BD=C2=82|=02=C3= =BE!=C2=88)=0E@)=C2=82=C2=9A=02=C2=81U=00=08!=16@=C3=BA=0E@=08=0EE=0EQ=0E= A=0EC&=06-=C2=87" [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-functio= ns file-truename error "%s is a directory" string-match "\\`/:" "[[*?]" n= il (file-expand-wildcards filename t) ((error ...)) find-file-noselect ma= pcar 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" ver= ify-visited-file-modtime file-exists-p t "File %s no longer exists!" buff= er-modified-p "Reverting file %s..." revert-buffer "Reverting file %s...d= one" yes-or-no-p buffer-name "File %s changed on disk. Discard your edit= s? " "File %s changed on disk. Reread from disk? " "File %s changed on d= isk. 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 rawfi= le 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 inhib= it-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) "=C3=82=08=C3=83 #=C2=85=14=00=C3=84 =C3=85=08#=C2=85=14=00=C3=86= =C3=87=C3=88\"=C2=87" [b file vc-call-backend registered vc-file-setprop = vc-backend throw found t] 4](Arch) mapcar(#[(b) "=C3=82=08=C3=83 #=C2=85=14=00=C3=84 =C3=85=08#=C2=85=14=00= =C3=86=C3=87=C3=88\"=C2=87" [b file vc-call-backend registered vc-file-se= tprop vc-backend throw found t] 4] (RCS CVS SVN SCCS Arch MCVS)) byte-code("=C3=83=08=C3=84\"=19=C3=85=C3=86 =C2=83=11=00 =C3=87=3D=C2=83= =15=00\n=C2=82=18=00 \nB\"=C2=88)=C3=88=08=C3=84=C3=87#=C2=88=C3=89=C2=87= " [file backend vc-handled-backends vc-file-getprop vc-backend mapcar #[(= b) "=C3=82=08=C3=83 #=C2=85=14=00=C3=84 =C3=85=08#=C2=85=14=00=C3=86=C3=87= =C3=88\"=C2=87" [b file vc-call-backend registered vc-file-setprop vc-bac= kend 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) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D