Subject: bug#14940: 24.3.50; [PATCH] enhancement for `dired-hide-details-mode'

From: Stefan Monnier <[email-masked]>
Date: Thu, 25 Jul 2013 14:30:00 -0400

> 1. Users can decide whether the initial hide/show state of new Dired
>    buffers reflects the last chosen state for a Dired buffer.  This is
>    decided by option `dired-hide-details-propagate'.  Non-nil means
>    propagate the last chosen state as the initial state of a new Dired
>    buffer.

> 2. If `dired-hide-details-propagate' is nil, or if the user has not
>    yet explicitly changed any Dired hide/show state, then option
>    `dired-hide-details-initially' defines the initial state of a new
>    Dired buffer.  IOW, it specifies what the "last" state defaults to.

Hmm... couldn't we merge those two configuration variables?
Here's the idea:
- Rename dired-hide-details-initially to dired-hide-details-default-mode,
  a new (global) minor mode which determines how new dired buffers show up.
- Make it so that toggling dired-hide-details-default-mode also toggles the
  dired-hide-details-mode in the current buffer.
This way, instead of setting dired-hide-details-propagate to t, users
can simply use dired-hide-details-default-mode instead of
dired-hide-details-mode.

        Stefan

PS: Your code often exceeds the 80 columns limit.