Subject: Re: bug#28807: 25.2; dired-actual-switches` and .dir-locals.el

From: Eli Zaretskii <[email-masked]>
Date: Fri, 13 Oct 2017 12:09:09 +0300

> From: leo <[email-masked]>
> Date: Fri, 13 Oct 2017 19:16:08 +1100
> 
>     ;;; Directory Local Variables
>     ;;; For more information see (info "(emacs) Directory Variables")
>     
>     ((dired-mode .
>       ((dired-actual-switches . "-laht")
>        (subdirs . nil))))
>        
> * Create a subirectory `subdir` inside `mydir`
> * Create some files with different timestamp and different names in there.
> 
> Bug 1: .dir-locals.el not applied the first time
> ================================================
> 
> * Launch `emacs -Q`
> * Open `mydir` via `M-x find-file` as a dired buffer
> * Observe that `mydir` is **not** in date order sorted
> * Kill `mydir` buffer.
> * Open again `mydir` via `M-x find-file` as a dired buffer
> * Observe that `mydir` **is**  in date order sorted (as it should be)
> 
> Bug 2: (subdirs . nil) rule not obeyed
> ======================================
> 
> * Stay in that `emacs -Q` session
> * Kill `mydir` buffer.
> * Open `mydir/subdir` via `M-x find-file` as a dired buffer
> * Observe that `mydir` **is**  in date order sorted (as it **not** should be)

I think this is because both settings take their effect before the
Dired mode is turned on in the buffer.  IOW, these customizations
simply cannot have the desired effect, as they are conditioned on
the wrong condition.