unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#29513: 25.2; find-dired-centinel
@ 2017-12-01  0:50 Roland Winkler
  2017-12-01  7:48 ` Eli Zaretskii
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Roland Winkler @ 2017-12-01  0:50 UTC (permalink / raw)
  To: 29513


Following a discussion on help-gnu-emacs

https://lists.gnu.org/archive/html/help-gnu-emacs/2017-11/msg00415.html

I request to replace the function find-dired-sentinel by something
like the following that will sort the output of find
lexicographically.  I have tested that the function below works for me.
Yet there might be corner cases I do not know about where it might fail.

(defun find-dired-sentinel (proc state)
  "Sentinel for \\[find-dired] processes."
  (let ((buf (process-buffer proc)))
    (if (buffer-name buf)
	(with-current-buffer buf
	  (let ((inhibit-read-only t))
	    (save-excursion
              (save-restriction
                (widen)
                ;; `find-dired-filter' puts two whitespace characters
                ;; at the beginning of every line.
                (narrow-to-region (point) (- (point-max) 2))
                ;; Sort file names lexicographically.
                (sort-subr nil 'forward-line 'end-of-line
                           (lambda ()
                             (buffer-substring-no-properties
                              (next-single-property-change
                               (point) 'dired-filename)
                              (line-end-position))))
                (widen)
                (let ((point (point-max)))
                  (goto-char point)
                  (insert "\n  find "
                          (substring state 0 -1) ; omit \n at end of STATE.
                          " at " (substring (current-time-string) 0 19))
                  (dired-insert-set-properties point (point))))
              (setq mode-line-process
		    (format ":%s" (process-status proc)))
	      ;; Since the buffer and mode line will show that the
	      ;; process is dead, we can delete it now.  Otherwise it
	      ;; will stay around until M-x `list-processes'.
	      (delete-process proc)
	      (force-mode-line-update))))
	  (message "find-dired %s finished." buf))))




In GNU Emacs 25.2.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.9)
 of 2017-03-03 built on regnitz
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description:	Ubuntu 16.04.3 LTS

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF
GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT
LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11

Important settings:
  value of $LC_COLLATE: C
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: 
  locale-coding-system: utf-8-unix

Major mode: Dired





^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2019-06-12 10:35 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-01  0:50 bug#29513: 25.2; find-dired-centinel Roland Winkler
2017-12-01  7:48 ` Eli Zaretskii
2017-12-01 16:28   ` Roland Winkler
2017-12-01 19:38     ` Eli Zaretskii
2017-12-01 20:05       ` Roland Winkler
2019-06-11 21:15         ` Roland Winkler
2017-12-01  8:09 ` Michael Heerdegen
2017-12-01 15:26   ` Drew Adams
2017-12-01 17:48     ` Roland Winkler
2017-12-01 20:04       ` Eli Zaretskii
2017-12-01 20:16         ` Roland Winkler
2017-12-01 20:27           ` Eli Zaretskii
     [not found] ` <handler.29513.D29513.156028776529426.notifdone@debbugs.gnu.org>
2019-06-11 22:21   ` Noam Postavsky
2019-06-12  3:25     ` Roland Winkler
2019-06-12 10:35       ` Noam Postavsky

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).