|
From: | Bernard Stumpf |
Subject: | bug#11902: Emacs 23.2: dired rename file and file is hidden - Windows 7 |
Date: | Thu, 12 Jul 2012 09:30:33 -0400 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) |
The overwrite with "bar" was
caused by me: hitting return on rename and not typing "bar1". I will try out the Edebug and get back to you later. As to the sequence I usually do, you are very close. I usually already have the dired buffer open from before. It is: C-x b Bernie down arrow to someFile R newName RET (in minibuffer after "Rename someFile to: ~/" ) -Bernie Eli Zaretskii wrote: Date: Thu, 12 Jul 2012 07:54:07 -0400 From: Bernard Stumpf <bernard.stumpf@verizon.net> CC: 11902@debbugs.gnu.org I have not noticed any sensitivity to the characters in "newname". I just created a file named "foo" and did an R to "foo1" - the line disappeared.OK.I did the same with file "bar" to "bar1". Here's output in *Messages* ... (New file) Saving file c:/Users/bernie/bar... Wrote c:/Users/bernie/bar Overwrite `c:/Users/bernie/bar'? [Type yn!q or C-h] [5 times]Any idea what that "Overwrite" message was about?As to using Edebug: I don't know Edebug. Is there a way to set breakpoints inside emacs from emacs?Edebug _is_ used from inside Emacs. For example, to step through dired-do-redisplay and dired-update-file-line, you do this: emacs -Q M-x load-library dired-aux.el RET C-x d some/directory RET C-x C-f path/to/dired-aux.el RET go to the function dired-do-redisplay with cursor inside dired-do-redisplay's body, type: M-x edebug-defun RET This instruments dired-do-redisplay, such that when it is called, the debugger kicks in automatically. Think if this as a kind of a breakpoint you set on the function. Now, go to the Dired buffer to the line of the file you want to rename and press "R". Emacs will pop up a window with the source of dired-do-redisplay, with a small arrow at the left showing the current line. Typing SPC repeatedly will step through the code one Lisp form at a time, and will also show in the echo area the result of evaluating each form, so you can track what Emacs does and why. To step into dired-update-file-line, type 'i' when you get just before the form that calls that function; then step through dired-update-file-line by repeatedly typing SPC again. Easy enough, isn't it? >From what you describe, I'd expect that dired-update-file-line deletes the line of the file being renamed, but then doesn't add the line for the new file, for some reason. The addition is done by dired-add-entry, which dired-update-file-line calls; you can step into it by typing 'i' again. The information you obtain by stepping through these functions will probably get us much closer to resolving the problem, if not point out the problem right away. And just for the record: the way to reproduce the problem on that machine is just the following sequence, and nothing else, right? emacs -Q C-x d RET go to some file type R foo RET There's nothing else you do except the above sequence, correct? Thanks. |
[Prev in Thread] | Current Thread | [Next in Thread] |