[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-26 4a755ed: Avoid assertions in vc-hg.el on MS-Windo
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] emacs-26 4a755ed: Avoid assertions in vc-hg.el on MS-Windows |
Date: |
Sat, 30 Sep 2017 09:22:32 -0400 (EDT) |
branch: emacs-26
commit 4a755ed42158b6a165bfd689e2d974d0ccda7530
Author: Andy Moreton <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Avoid assertions in vc-hg.el on MS-Windows
* lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
(vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
(vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
instead of relying on Unix file-name syntax. This avoids
assertion violations on MS-Windows.
---
lisp/vc/vc-hg.el | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index 7a04a54..99c8869 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -687,7 +687,8 @@ PREFIX is the directory name of the directory against which
these
patterns are rooted. We understand only a subset of PCRE syntax;
if we don't understand a construct, we signal
`vc-hg-unsupported-syntax'."
- (cl-assert (string-match "^/\\(.*/\\)?$" prefix))
+ (cl-assert (and (file-name-absolute-p prefix)
+ (directory-name-p prefix)))
(let ((parts nil)
(i 0)
(anchored nil)
@@ -875,7 +876,8 @@ if we don't understand a construct, we signal
(defun vc-hg--slurp-hgignore (repo)
"Read hg ignore patterns from REPO.
REPO must be the directory name of an hg repository."
- (cl-assert (string-match "^/\\(.*/\\)?$" repo))
+ (cl-assert (and (file-name-absolute-p repo)
+ (directory-name-p repo)))
(let* ((hgignore (concat repo ".hgignore"))
(vc-hg--hgignore-patterns nil)
(vc-hg--hgignore-filenames nil))
@@ -930,7 +932,8 @@ FILENAME must be the file's true absolute name."
(concat repo repo-relative-filename))))
(defun vc-hg--read-repo-requirements (repo)
- (cl-assert (string-match "^/\\(.*/\\)?$" repo))
+ (cl-assert (and (file-name-absolute-p repo)
+ (directory-name-p repo)))
(let* ((requires-filename (concat repo ".hg/requires")))
(and (file-exists-p requires-filename)
(with-temp-buffer
@@ -1001,7 +1004,8 @@ hg binary."
;; dirstate must exist
(not (progn
(setf repo (expand-file-name repo))
- (cl-assert (string-match "^/\\(.*/\\)?$" repo))
+ (cl-assert (and (file-name-absolute-p repo)
+ (directory-name-p repo)))
(setf dirstate (concat repo ".hg/dirstate"))
(setf dirstate-attr (file-attributes dirstate))))
;; Repository must be in an understood format
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-26 4a755ed: Avoid assertions in vc-hg.el on MS-Windows,
Eli Zaretskii <=