Merge remote-tracking branch 'origin/master' into feature/android

This commit is contained in:
Po Lu 2023-05-23 08:46:40 +08:00
commit fb8d87e18d
4 changed files with 48 additions and 18 deletions

View file

@ -141,7 +141,7 @@
(defun tramp-fuse-mount-point (vec)
"Return local mount point of VEC."
(or (tramp-get-connection-property vec "mount-point")
(or (tramp-get-file-property vec "/" "mount-point")
(expand-file-name
(concat
tramp-temp-name-prefix
@ -173,8 +173,11 @@ It has the same meaning as `remote-file-name-inhibit-cache'.")
(tramp-set-file-property
vec "/" "mounted"
(when (string-match
(rx bol (group (literal (tramp-fuse-mount-spec vec))) blank)
(rx bol (group (literal (tramp-fuse-mount-spec vec)))
" on " (group (+ (not blank))) blank)
mount)
(tramp-set-file-property
vec "/" "mount-point" (match-string 2 mount))
(match-string 1 mount)))))))
(defun tramp-fuse-get-fusermount ()

View file

@ -1372,17 +1372,28 @@ REV is the revision to check out into WORKFILE."
;; Follows vc-exec-after.
(declare-function vc-set-async-update "vc-dispatcher" (process-buffer))
(defvar vc-hg--program-version nil)
(defun vc-hg--program-version ()
(or vc-hg--program-version
(setq vc-hg--program-version
(with-temp-buffer
(condition-case _ (vc-hg-command t 0 nil "version")
(error "0")
(:success
(goto-char (point-min))
(re-search-forward "Mercurial Distributed SCM (version \\([0-9][0-9.]+\\)")
(string-trim-right (match-string 1) "\\.")))))))
(defun vc-hg-dir-status-files (dir files update-function)
;; XXX: We can't pass DIR directly to 'hg status' because that
;; returns all ignored files if FILES is non-nil (bug#22481).
(let ((default-directory dir))
;; TODO: Use "--config 'status.relative=1'" instead of "re:"
;; when we're allowed to depend on Mercurial 4.2+
;; (it's a bit faster).
(vc-hg-command (current-buffer) 'async files
"status" "re:" "-I" "."
(concat "-mardu" (if files "i"))
"-C"))
(apply #'vc-hg-command (current-buffer) 'async files
"status" (concat "-mardu" (if files "i")) "-C"
(if (version<= "4.2" (vc-hg--program-version))
'("--config" "commands.status.relative=1")
'("re:" "-I" "."))))
(vc-run-delayed
(vc-hg-after-dir-status update-function)))

View file

@ -2323,13 +2323,16 @@ forw_comment (ptrdiff_t from, ptrdiff_t from_byte, ptrdiff_t stop,
return 0;
}
c = FETCH_CHAR_AS_MULTIBYTE (from_byte);
prev_syntax = syntax;
syntax = SYNTAX_WITH_FLAGS (c);
code = syntax & 0xff;
if (code == Sendcomment
&& SYNTAX_FLAGS_COMMENT_STYLE (syntax, 0) == style
&& (SYNTAX_FLAGS_COMMENT_NESTED (syntax) ?
(nesting > 0 && --nesting == 0) : nesting < 0)
&& !(comment_end_can_be_escaped && char_quoted (from, from_byte)))
&& !(comment_end_can_be_escaped
&& ((prev_syntax & 0xff) == Sescape
|| (prev_syntax & 0xff) == Scharquote)))
/* We have encountered a comment end of the same style
as the comment sequence which began this comment
section. */
@ -2353,7 +2356,11 @@ forw_comment (ptrdiff_t from, ptrdiff_t from_byte, ptrdiff_t stop,
inc_both (&from, &from_byte);
UPDATE_SYNTAX_TABLE_FORWARD (from);
if (from == stop) continue; /* Failure */
}
c = FETCH_CHAR_AS_MULTIBYTE (from_byte);
prev_syntax = syntax;
syntax = Smax;
code = syntax;
}
inc_both (&from, &from_byte);
UPDATE_SYNTAX_TABLE_FORWARD (from);
@ -3334,7 +3341,14 @@ do { prev_from = from; \
are invalid now. Luckily, the `done' doesn't use them
and the INC_FROM sets them to a sane value without
looking at them. */
if (!found) goto done;
if (!found)
{
if ((prev_from_syntax & 0xff) == Sescape
|| (prev_from_syntax & 0xff) == Scharquote)
goto endquoted;
else
goto done;
}
INC_FROM;
state->incomment = 0;
state->comstyle = 0; /* reset the comment style */

View file

@ -939,10 +939,13 @@ delivered."
:tags '(:expensive-test)
(skip-unless (file-notify--test-local-enabled))
;; `auto-revert-buffers' runs every 5". And we must wait, until the
;; file has been reverted.
(let ((timeout (if (file-remote-p temporary-file-directory) 60 10))
buf)
;; Run with shortened `auto-revert-interval' for a faster test.
(let* ((auto-revert-interval 1)
(timeout (if (file-remote-p temporary-file-directory)
60 ; FIXME: can this be shortened?
(* auto-revert-interval 2.5)))
buf)
(auto-revert-set-timer)
(unwind-protect
(progn
;; In the remote case, `vc-refresh-state' returns undesired
@ -960,10 +963,9 @@ delivered."
(sleep-for 1)
(auto-revert-mode 1)
;; `auto-revert-buffers' runs every 5".
(with-timeout (timeout (ignore))
(while (null auto-revert-notify-watch-descriptor)
(sleep-for 1)))
(sleep-for 0.2)))
;; `file-notify--test-monitor' needs to know
;; `file-notify--test-desc' in order to compute proper