all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Chong Yidong <cyd@stupidchicken.com>
To: "Drew Adams" <drew.adams@oracle.com>
Cc: 'Lars Magne Ingebrigtsen' <larsi@gnus.org>, 9361@debbugs.gnu.org
Subject: bug#9361: 24.0.50; default value of `dired-do-chmod'
Date: Sun, 11 Sep 2011 17:41:24 -0400	[thread overview]
Message-ID: <87bouqlptn.fsf@stupidchicken.com> (raw)
In-Reply-To: <1BDADB23B4434E0C9330F1B010F1E1CE@us.oracle.com> (Drew Adams's message of "Sun, 11 Sep 2011 08:00:58 -0700")

I think there's a problem here, indeed.  It's a bad idea to take an
empty input to mean a certain default permission---especially when that
default permission is not displayed in the prompt.

The following patch makes dired-do-chmod demand a non-empty input.  The
precomputed permission is still available in the M-n `future history'.

*** lisp/dired-aux.el	2011-08-04 00:58:07 +0000
--- lisp/dired-aux.el	2011-09-11 21:38:35 +0000
***************
*** 267,272 ****
--- 267,280 ----
  	 (format "%s: error" operation)
  	 nil))))
  
+ (defun dired--read-permission-string (prompt default)
+   (let ((result ""))
+     (while (equal result "")
+       (setq result
+ 	    (read-from-minibuffer prompt nil nil
+ 				  nil nil default)))
+     result))
+ 
  ;;;###autoload
  (defun dired-do-chmod (&optional arg)
    "Change the mode of the marked (or next ARG) files.
***************
*** 284,292 ****
  			 (match-string 1 modestr)
  			 (match-string 2 modestr)
  			 (match-string 3 modestr)))))
! 	 (modes (dired-mark-read-string
! 		 "Change mode of %s to: " nil
! 		 'chmod arg files default))
  	 (num-modes (if (string-match "^[0-7]+" modes)
  			(string-to-number modes 8))))
      (dolist (file files)
--- 292,303 ----
  			 (match-string 1 modestr)
  			 (match-string 2 modestr)
  			 (match-string 3 modestr)))))
! 	 (modes
! 	  (dired-mark-pop-up nil 'chmod files
! 			     'dired--read-permission-string
! 			     (format "Change mode of %s to: "
! 				     (dired-mark-prompt arg files))
! 			     default))
  	 (num-modes (if (string-match "^[0-7]+" modes)
  			(string-to-number modes 8))))
      (dolist (file files)






  reply	other threads:[~2011-09-11 21:41 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-24 16:10 bug#9361: 24.0.50; default value of `dired-do-chmod' Drew Adams
2011-08-24 18:45 ` Juri Linkov
2011-09-11  2:23   ` Lars Magne Ingebrigtsen
2011-09-11 15:00     ` Drew Adams
2011-09-11 21:41       ` Chong Yidong [this message]
2011-09-12 11:49         ` Juri Linkov
2011-09-12 20:47           ` Chong Yidong
2011-09-14 11:20             ` Juri Linkov
2011-09-14 15:07               ` Chong Yidong
2011-09-14 15:54                 ` Juri Linkov
2011-09-12 11:39       ` Juri Linkov
2011-09-12 14:45         ` Drew Adams
2012-01-26 16:27       ` Drew Adams
2012-01-27  1:38         ` Juri Linkov
2012-01-27  3:04           ` Drew Adams
2012-01-27  7:24         ` Chong Yidong
2012-01-27 12:09           ` Juri Linkov
2012-01-27 16:58             ` Drew Adams
2012-01-27 15:42           ` 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

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

  git send-email \
    --in-reply-to=87bouqlptn.fsf@stupidchicken.com \
    --to=cyd@stupidchicken.com \
    --cc=9361@debbugs.gnu.org \
    --cc=drew.adams@oracle.com \
    --cc=larsi@gnus.org \
    /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.