Kenichi Handa writes:
> In article <[EMAIL PROTECTED]>, Kevin Rodgers <[EMAIL PROTECTED]> writes:
> > > Detecting a coding system of filenames in a directory is
> > > difficult to implement, but it won't be that difficult to
> > > respect a coding system explicitly specified by C-x C-m c
> > > for dired.  Perhaps, it can be done by locally setting
> > > file-name-coding-system of that buffer and making
> > > dired-revert to pay attention to that value.
> 
> > `C-x C-m c' temporarily binds coding-system-for-read and
> > coding-system-for-write, so wouldn't it be more transparent to locally
> > set those variables (in dired-mode, where the other buffer-local
> > variables are set)?
> 
> Those variables are mainly for let-binding by programs.
> Directly setting them may leads to a problem.  For instance,
> qM-x shell-command invoded from that buffer will use those
> values.

I'm not sure shell-command shouldn't use those values in that buffer,
but it does seem safer to set file-name-coding-system instead.

> > Also, how can one ensure that `C-x m c CODING-SYSTEM g' will (1) have
> > its intended effect and (2) persist its effect, for subsequent `g'
> > commands?
> 
> Sorry, I don't understand what you mean.  Could you please
> paraphrase it?

[Sorry, `C-x m c ...' should have been `C-x C-m c ...']

Let's say you are in a Dired buffer and you realize the coding system is
wrong, so you try to re-read it with `C-x RET c CODING-SYSTEM g'.  Does
that work?  If later you decide to simply run `g', does it use
CODING-SYSTEM to re-read the directory?

I think to make that work, dired-revert needs the same fix as
dired-mode, namely:

(set (make-local-variable 'file-name-coding-system)
     (or coding-system-for-read file-name-coding-system))

Or perhaps that should be done later in just one place: dired-readin.

-- 
Kevin







_______________________________________________
emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

Reply via email to