unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Arthur Miller <arthur.miller@live.com>
Cc: 41250@debbugs.gnu.org, Juri Linkov <juri@linkov.net>
Subject: bug#41250: 28.0.50; Dired displays unconditionally ls-switches on modeline
Date: Fri, 15 May 2020 15:24:26 -0700 (PDT)	[thread overview]
Message-ID: <6073a2d5-4024-465d-8293-88ad7f6127ed@default> (raw)
In-Reply-To: <d8cd448c-4859-494d-85f2-2fc8fa2f7dd4@default>

[-- Attachment #1: Type: text/plain, Size: 83 bytes --]

Sorry.  `diredp' should be `dired' everywhere.
This patch takes care of that typo.

[-- Attachment #2: dired-2020-05-15c.patch --]
[-- Type: application/octet-stream, Size: 3095 bytes --]

diff -u dired.el dired-2020-05-15b-PATCHED.el
--- dired.el	2020-05-15 11:23:32.804823800 -0700
+++ dired-2020-05-15b-PATCHED.el	2020-05-15 15:13:53.966204600 -0700
@@ -4114,22 +4114,45 @@
   "Non-nil means the Dired sort command is disabled.
 The idea is to set this buffer-locally in special Dired buffers.")
 
+(defcustom dired-switches-in-mode-line nil
+  "How to indicate `dired-actual-switches' in mode-line.
+Possible values:
+ * `nil':    Indicate name-or-date sort order, if possible.
+             Else show full switches.
+ * `as-is':  Show full switches.
+ * Integer:  Show only the first N chars of full switches.
+ * Function: Pass `dired-actual-switches' as arg and show result."
+  :group 'Dired-Plus
+  :type '(choice
+          (const    :tag "Indicate by name or date, else full"   nil)
+          (const    :tag "Show full switches"                    as-is)
+          (integer  :tag "Show first N chars of switches" :value 10)
+          (function :tag "Format with function"           :value identity)))
+
 (defun dired-sort-set-mode-line ()
-  ;; Set mode line display according to dired-actual-switches.
-  ;; Mode line display of "by name" or "by date" guarantees the user a
-  ;; match with the corresponding regexps.  Non-matching switches are
-  ;; shown literally.
+  "Set mode-line according to option `dired-switches-in-mode-line'."
   (when (eq major-mode 'dired-mode)
     (setq mode-name
-	  (let (case-fold-search)
-	    (cond ((string-match-p
-		    dired-sort-by-name-regexp dired-actual-switches)
-		   "Dired by name")
-		  ((string-match-p
-		    dired-sort-by-date-regexp dired-actual-switches)
-		   "Dired by date")
-		  (t
-		   (concat "Dired " dired-actual-switches)))))
+	  (let ((case-fold-search  nil))
+            (if dired-switches-in-mode-line
+                (concat "Dired"
+                        (cond ((integerp dired-switches-in-mode-line)
+                               (let* ((l1  (length dired-actual-switches))
+                                      (xs  (substring dired-actual-switches
+                                                      0 (min l1 dired-switches-in-mode-line)))
+                                      (l2  (length xs)))
+                                 (if (zerop l2)
+                                     xs
+                                   (concat " " xs (and (< l2  l1) "…")))))
+                              ((functionp dired-switches-in-mode-line)
+                               (format " %s" (funcall dired-switches-in-mode-line
+                                                     dired-actual-switches)))
+                              (t (concat " " dired-actual-switches))))
+              (cond ((string-match-p dired-sort-by-name-regexp dired-actual-switches)
+                     "Dired by name")
+                    ((string-match-p dired-sort-by-date-regexp dired-actual-switches)
+                     "Dired by date")
+                    (t (concat "Dired " dired-actual-switches))))))
     (force-mode-line-update)))
 
 (define-obsolete-function-alias 'dired-sort-set-modeline

  reply	other threads:[~2020-05-15 22:24 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-14  1:42 bug#41250: 28.0.50; Dired displays unconditionally ls-switches on modeline Arthur Miller
2020-05-14 22:33 ` Juri Linkov
2020-05-14 23:42   ` Drew Adams
2020-05-15  8:44     ` Arthur Miller
2020-05-15 18:55       ` Drew Adams
2020-05-15 19:09         ` Eli Zaretskii
2020-05-15 21:08           ` Arthur Miller
2020-05-15 22:19             ` Drew Adams
2020-05-17  3:09               ` Arthur Miller
2020-05-17  6:59                 ` Drew Adams
2020-05-17 11:12                   ` Arthur Miller
2020-05-16  6:34             ` Eli Zaretskii
2020-05-16 12:18               ` Arthur Miller
2020-05-17  3:01               ` Arthur Miller
2020-05-17 15:17                 ` Eli Zaretskii
2020-05-17 16:34                   ` Arthur Miller
2020-05-17 16:42                     ` Eli Zaretskii
2020-05-17 22:57                       ` Arthur Miller
2020-05-17 23:37                         ` Stefan Kangas
2020-05-18 15:08                           ` Arthur Miller
2020-05-18 14:25                         ` Eli Zaretskii
     [not found]           ` <<VI1PR06MB4526BAF92DBDCEA6A75D7A0196BD0@VI1PR06MB4526.eurprd06.prod.outlook.com>
     [not found]             ` <<835zcwv15e.fsf@gnu.org>
2020-05-16 14:42               ` Drew Adams
2020-05-15 19:54         ` Arthur Miller
2020-05-15 22:19           ` Drew Adams
2020-05-15 22:24             ` Drew Adams [this message]
2020-09-30 16:02               ` Lars Ingebrigtsen
2020-09-30 19:04                 ` Juri Linkov
2020-09-30 19:30                   ` Lars Ingebrigtsen
2020-09-30 19:58                     ` Juri Linkov
2020-09-30 19:59                       ` Lars Ingebrigtsen
2020-10-01 19:37                         ` Juri Linkov
2020-10-01 19:59                           ` Lars Ingebrigtsen
2020-10-02  6:31                             ` Eli Zaretskii
2020-10-02 14:10                               ` Lars Ingebrigtsen
2020-10-02 14:57                                 ` Eli Zaretskii
2020-10-03 17:36                                   ` Lars Ingebrigtsen
2020-10-02  6:54                             ` Juri Linkov
2020-10-02 14:14                               ` Lars Ingebrigtsen
2020-10-02 14:59                                 ` Eli Zaretskii
2020-10-03 17:38                                   ` Lars Ingebrigtsen
2020-10-04 19:44                                 ` Juri Linkov
2020-10-05  7:08                                   ` Lars Ingebrigtsen
2020-10-05 20:15                                     ` Juri Linkov
2020-10-06  1:37                                       ` Lars Ingebrigtsen
2020-10-05 15:49                                   ` Glenn Morris
2020-10-05 20:12                                     ` Juri Linkov
2020-10-05 21:31                                       ` Andreas Schwab
2020-10-06 13:08                                         ` Stefan Monnier
2020-10-06 13:28                                           ` Andreas Schwab
2020-10-05 23:06                                       ` Glenn Morris
2020-10-06  7:13                                         ` Andreas Schwab
2020-10-06  7:18                                           ` Eli Zaretskii
2020-10-06  7:28                                             ` Eli Zaretskii
2020-10-06  7:48                                               ` Andreas Schwab
2020-10-06  8:18                                                 ` Eli Zaretskii
2020-10-06  8:44                                                   ` Andreas Schwab
2020-10-06  9:03                                                     ` Eli Zaretskii
2020-10-06  9:17                                                       ` Andreas Schwab
2020-10-06  9:24                                                         ` Eli Zaretskii
2020-10-06  9:45                                                           ` Andreas Schwab
2020-10-06  7:52                                             ` Juri Linkov
2020-10-01 20:01                           ` Lars Ingebrigtsen
2020-10-01  2:30                     ` Eli Zaretskii
2020-10-01  2:39                       ` Lars Ingebrigtsen
2020-10-01  9:24                         ` Andy Moreton
2020-09-30 21:07                   ` Drew Adams
2020-10-01  1:25                     ` Lars Ingebrigtsen
2020-10-01 16:35                       ` Drew Adams
2020-09-30 20:56                 ` Drew Adams
2020-05-16 23:11         ` Juri Linkov
2020-05-17  1:16           ` Drew Adams
2020-05-15  6:43   ` Eli Zaretskii
2020-05-15  8:40     ` Arthur Miller
2020-05-15 10:15       ` Eli Zaretskii
2020-05-15 10:50         ` Arthur Miller
2020-10-06 11:36 ` Mattias Engdegård
     [not found] <<VI1PR06MB45265DF0191578C413A3B37C96BC0@VI1PR06MB4526.eurprd06.prod.outlook.com>
     [not found] ` <<87v9ky9p6o.fsf@mail.linkov.net>
     [not found]   ` <<654acc31-015d-4552-bd9b-3b8c69661fcd@default>
     [not found]     ` <<VI1PR06MB45265603DFF6BE71DBD819EB96BD0@VI1PR06MB4526.eurprd06.prod.outlook.com>
     [not found]       ` <<0957af50-7f85-455a-9d2c-e96451727872@default>
     [not found]         ` <<83a729uiaq.fsf@gnu.org>
2020-05-15 21:00           ` Drew Adams
2020-05-15 21:14             ` Arthur Miller
2020-05-15 22:04             ` Drew Adams

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6073a2d5-4024-465d-8293-88ad7f6127ed@default \
    --to=drew.adams@oracle.com \
    --cc=41250@debbugs.gnu.org \
    --cc=arthur.miller@live.com \
    --cc=juri@linkov.net \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).