From: Juri Linkov <juri@jurta.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: martin rudalics <rudalics@gmx.at>, emacs-devel@gnu.org
Subject: find-file-literally (was: find-file-read-args)
Date: Mon, 23 Nov 2009 23:17:12 +0200 [thread overview]
Message-ID: <87bpitvvw6.fsf_-_@mail.jurta.org> (raw)
In-Reply-To: <jwvskc528jj.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Sun, 22 Nov 2009 23:19:44 -0500")
> So, I like it. But I have some more questions:
>
>> ***************
>> *** 2020,2026 ****
>> In a Lisp program, if you want to be sure of accessing a file's
>> contents literally, you should create a temporary buffer and then read
>> the file contents into it using `insert-file-contents-literally'."
>> ! (interactive "FFind file literally: ")
>> (switch-to-buffer (find-file-noselect filename nil t)))
>> \f
>> (defvar after-find-file-from-revert-buffer nil)
>> --- 2012,2021 ----
>> In a Lisp program, if you want to be sure of accessing a file's
>> contents literally, you should create a temporary buffer and then read
>> the file contents into it using `insert-file-contents-literally'."
>> ! (interactive
>> ! (list (read-file-name
>> ! "Find file literally: " nil default-directory
>> ! (confirm-nonexistent-file-or-buffer))))
>> (switch-to-buffer (find-file-noselect filename nil t)))
>> \f
>> (defvar after-find-file-from-revert-buffer nil)
>
> Good change, thank you.
Please note that this change would be unnecessary if following lines
were removed from `read-file-name':
(unless default-filename
(setq default-filename (if initial (expand-file-name initial dir)
buffer-file-name)))
That's because (interactive "FFind file literally: ") calls
`read-file-name' with `default-filename' = nil:
case 'F': /* Possibly nonexistent file name. */
args[i] = Fread_file_name (callint_message,
Qnil, Qnil, Qnil, Qnil, Qnil);
and `read-file-name' sets `default-filename' to `buffer-file-name'.
IMHO, it's dangerous when the user types RET on the directory name
(in the initial input) not expecting that buffer-file-name will be
really used as the default.
Fortunately, there are not many places where that call `read-file-name'
with `default-filename' = nil. Most commands call `read-file-name'
with `default-filename' = default directory.
--
Juri Linkov
http://www.jurta.org/emacs/
next prev parent reply other threads:[~2009-11-23 21:17 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-06 0:13 find-file-literally-at-point Edward O'Connor
2009-11-06 1:45 ` find-file-literally-at-point Juri Linkov
2009-11-06 4:20 ` FFAP (was: find-file-literally-at-point) Stefan Monnier
2009-11-06 4:41 ` FFAP Miles Bader
2009-11-06 15:20 ` FFAP Stefan Monnier
2009-11-06 4:45 ` FFAP Juri Linkov
2009-11-06 8:50 ` FFAP Eli Zaretskii
2009-11-06 10:37 ` FFAP Juri Linkov
2009-11-06 15:18 ` FFAP Stefan Monnier
2009-11-06 21:19 ` FFAP Juri Linkov
2009-11-07 1:32 ` FFAP Stefan Monnier
2009-11-09 0:52 ` FFAP Juri Linkov
2009-11-09 6:33 ` FFAP Stefan Monnier
2009-11-09 10:09 ` find-file-read-args (was: FFAP) Juri Linkov
2009-11-09 14:28 ` find-file-read-args Stefan Monnier
2009-11-10 0:57 ` find-file-read-args Juri Linkov
2009-11-12 9:56 ` find-file-read-args Juri Linkov
2009-11-12 10:45 ` find-file-read-args martin rudalics
2009-11-12 10:51 ` find-file-read-args Juri Linkov
2009-11-15 15:09 ` find-file-read-args Juri Linkov
2009-11-15 17:28 ` find-file-read-args martin rudalics
2009-11-16 1:23 ` find-file-read-args Stefan Monnier
2009-11-17 7:43 ` find-file-read-args martin rudalics
2009-11-17 9:59 ` find-file-read-args Juri Linkov
2009-11-17 17:42 ` dired-dwim-target-directory (was: find-file-read-args) Juri Linkov
2009-11-17 17:43 ` Juri Linkov
2009-11-23 4:19 ` find-file-read-args Stefan Monnier
2009-11-23 9:59 ` find-file-read-args Juri Linkov
2009-11-23 20:17 ` find-file-read-args Stefan Monnier
2009-11-23 21:17 ` find-file-read-args Juri Linkov
2009-11-24 2:33 ` find-file-read-args Stefan Monnier
2009-11-24 17:08 ` find-file-read-args Juri Linkov
2009-11-24 19:40 ` find-file-read-args Stefan Monnier
2009-11-23 21:17 ` Juri Linkov [this message]
2009-11-25 2:10 ` find-file-literally Stefan Monnier
2009-11-09 10:14 ` read-file-name (was: FFAP) Juri Linkov
2009-11-09 14:31 ` read-file-name Stefan Monnier
2009-11-10 0:55 ` read-file-name Juri Linkov
2009-11-10 17:25 ` read-file-name Stefan Monnier
2009-11-09 10:30 ` dired-read-dir-and-switches (was: FFAP) Juri Linkov
2009-11-09 10:36 ` M-! M-n should fetch filename (Re: FFAP) Juri Linkov
2009-11-09 14:35 ` Stefan Monnier
2009-11-10 0:59 ` Juri Linkov
2009-11-10 17:29 ` Stefan Monnier
2009-11-11 0:12 ` Juri Linkov
2009-11-15 15:12 ` dired-dwim-target (was: FFAP) Juri Linkov
2009-11-23 21:12 ` dired-dwim-target-defaults (was: dired-dwim-target) Juri Linkov
2009-11-09 0:44 ` find-file-literally-at-point Juri Linkov
2009-11-09 2:00 ` find-file-literally-at-point Miles Bader
2009-11-09 2:11 ` find-file-literally-at-point Juri Linkov
2009-11-10 0:49 ` find-file-literally-at-point Juri Linkov
2009-11-09 10:01 ` utf-8-with-signature (was: find-file-literally-at-point) Juri Linkov
2009-11-06 10:20 ` find-file-literally-at-point Eduard Wiebe
2009-11-09 0:55 ` find-file-literally-at-point Juri Linkov
2009-11-09 19:49 ` find-file-literally-at-point Eduard Wiebe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bpitvvw6.fsf_-_@mail.jurta.org \
--to=juri@jurta.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.