4017 |
|
|
4018 |
;; Read the actual directory using `insert-directory-program'. |
;; Read the actual directory using `insert-directory-program'. |
4019 |
;; RESULT gets the status code. |
;; RESULT gets the status code. |
4020 |
(let* ((coding-system-for-read |
(let* (;; We at first read by no-conversion, then after |
4021 |
|
;; putting text property `dired-filename, decode one |
4022 |
|
;; bunch by one to preserve that property. |
4023 |
|
(coding-system-for-read 'no-conversion) |
4024 |
|
;; This is to control encoding the arguments in call-process. |
4025 |
|
(coding-system-for-write |
4026 |
(and enable-multibyte-characters |
(and enable-multibyte-characters |
4027 |
(or file-name-coding-system |
(or file-name-coding-system |
4028 |
default-file-name-coding-system))) |
default-file-name-coding-system)))) |
|
;; This is to control encoding the arguments in call-process. |
|
|
(coding-system-for-write coding-system-for-read)) |
|
4029 |
(setq result |
(setq result |
4030 |
(if wildcard |
(if wildcard |
4031 |
;; Run ls in the directory part of the file pattern |
;; Run ls in the directory part of the file pattern |
4109 |
(beginning-of-line) |
(beginning-of-line) |
4110 |
(delete-region (point) (progn (forward-line 2) (point))))) |
(delete-region (point) (progn (forward-line 2) (point))))) |
4111 |
|
|
4112 |
|
;; Now decode what read if necessary. |
4113 |
|
(let ((coding (or coding-system-for-write |
4114 |
|
(detect-coding-region beg (point) t))) |
4115 |
|
val pos) |
4116 |
|
(if (not (eq (coding-system-base coding) 'undecided)) |
4117 |
|
(save-restriction |
4118 |
|
(narrow-to-region beg (point)) |
4119 |
|
(goto-char (point-min)) |
4120 |
|
(while (not (eobp)) |
4121 |
|
(setq pos (point) |
4122 |
|
val (get-text-property (point) 'dired-filename)) |
4123 |
|
(goto-char (next-single-property-change |
4124 |
|
(point) 'dired-filename nil (point-max))) |
4125 |
|
(decode-coding-region pos (point) coding) |
4126 |
|
(if val |
4127 |
|
(put-text-property pos (point) 'dired-filename t)))))) |
4128 |
|
|
4129 |
(if full-directory-p |
(if full-directory-p |
4130 |
;; Try to insert the amount of free space. |
;; Try to insert the amount of free space. |
4131 |
(save-excursion |
(save-excursion |