diff options
| author | Tino Calancha | 2017-08-05 14:04:56 +0900 |
|---|---|---|
| committer | Tino Calancha | 2017-08-05 14:20:28 +0900 |
| commit | 055e2a1906a2f02c7b77537cbb4df858b00b39d9 (patch) | |
| tree | c8cfbf37db8d31d2d2619ceaf0f2425ec889909a | |
| parent | 12d7757a794edaf6ad81ee468dc99998ecf5d4ac (diff) | |
| download | emacs-055e2a1906a2f02c7b77537cbb4df858b00b39d9.tar.gz emacs-055e2a1906a2f02c7b77537cbb4df858b00b39d9.zip | |
insert-directory-wildcard-in-dir-p: Tweak regexp
This function must return non-nil for a wildcard like '/*/*.txt'.
* lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
* test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
Add test.
| -rw-r--r-- | lisp/files.el | 2 | ||||
| -rw-r--r-- | test/lisp/files-tests.el | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/lisp/files.el b/lisp/files.el index 89f6f9f44dc..c9114be55a9 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -6566,7 +6566,7 @@ Valid wildcards are '*', '?', '[abc]' and '[a-z]'." | |||
| 6566 | ls-lisp-support-shell-wildcards) | 6566 | ls-lisp-support-shell-wildcards) |
| 6567 | (string-match (concat "[" wildcards "]") (file-name-directory dir)) | 6567 | (string-match (concat "[" wildcards "]") (file-name-directory dir)) |
| 6568 | (not (file-exists-p dir))) ; Prefer an existing file to wildcards. | 6568 | (not (file-exists-p dir))) ; Prefer an existing file to wildcards. |
| 6569 | (let ((regexp (format "\\`\\([^%s]+/\\)\\([^%s]*[%s].*\\)" | 6569 | (let ((regexp (format "\\`\\([^%s]*/\\)\\([^%s]*[%s].*\\)" |
| 6570 | wildcards wildcards wildcards))) | 6570 | wildcards wildcards wildcards))) |
| 6571 | (string-match regexp dir) | 6571 | (string-match regexp dir) |
| 6572 | (cons (match-string 1 dir) (match-string 2 dir)))))) | 6572 | (cons (match-string 1 dir) (match-string 2 dir)))))) |
diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el index 4583b1af3c3..59c1dbcbccd 100644 --- a/test/lisp/files-tests.el +++ b/test/lisp/files-tests.el | |||
| @@ -313,5 +313,23 @@ be invoked with the right arguments." | |||
| 313 | `((verify-visited-file-modtime ,buffer-visiting-file) | 313 | `((verify-visited-file-modtime ,buffer-visiting-file) |
| 314 | (verify-visited-file-modtime nil)))))))) | 314 | (verify-visited-file-modtime nil)))))))) |
| 315 | 315 | ||
| 316 | (ert-deftest files-tests--insert-directory-wildcard-in-dir-p () | ||
| 317 | (let ((alist (list (cons "/home/user/*/.txt" (cons "/home/user/" "*/.txt")) | ||
| 318 | (cons "/home/user/.txt" nil) | ||
| 319 | (cons "/home/*/.txt" (cons "/home/" "*/.txt")) | ||
| 320 | (cons "/home/*/" (cons "/home/" "*/")) | ||
| 321 | (cons "/*/.txt" (cons "/" "*/.txt")) | ||
| 322 | ;; | ||
| 323 | (cons "c:/tmp/*/*.txt" (cons "c:/tmp/" "*/*.txt")) | ||
| 324 | (cons "c:/tmp/*.txt" nil) | ||
| 325 | (cons "c:/tmp/*/" (cons "c:/tmp/" "*/")) | ||
| 326 | (cons "c:/*/*.txt" (cons "c:/" "*/*.txt"))))) | ||
| 327 | (dolist (path-res alist) | ||
| 328 | (should | ||
| 329 | (equal | ||
| 330 | (cdr path-res) | ||
| 331 | (insert-directory-wildcard-in-dir-p (car path-res))))))) | ||
| 332 | |||
| 333 | |||
| 316 | (provide 'files-tests) | 334 | (provide 'files-tests) |
| 317 | ;;; files-tests.el ends here | 335 | ;;; files-tests.el ends here |