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

This commit is contained in:
Po Lu 2023-05-29 18:06:32 +08:00
commit 1a1cf6b86f
5 changed files with 52 additions and 42 deletions

View file

@ -2548,19 +2548,19 @@ TARGET-BB-SYM is the symbol name of the target block."
for insns-seq on (comp-block-insns b)
do
(pcase insns-seq
(`((set ,(and (pred comp-mvar-p) mvar-tested-copy)
,(and (pred comp-mvar-p) mvar-tested))
(set ,(and (pred comp-mvar-p) mvar-1)
(call type-of ,(and (pred comp-mvar-p) mvar-tested-copy)))
(set ,(and (pred comp-mvar-p) mvar-2)
(call symbol-value ,(and (pred comp-cstr-cl-tag-p) mvar-tag)))
(set ,(and (pred comp-mvar-p) mvar-3)
(call memq ,(and (pred comp-mvar-p) mvar-1) ,(and (pred comp-mvar-p) mvar-2)))
(cond-jump ,(and (pred comp-mvar-p) mvar-3) ,(pred comp-mvar-p) ,bb1 ,bb2))
(push `(assume ,mvar-tested ,(make-comp-mvar :type (comp-cstr-cl-tag mvar-tag)))
(comp-block-insns (comp-add-cond-cstrs-target-block b bb2)))
(push `(assume ,mvar-tested ,(make-comp-mvar :type (comp-cstr-cl-tag mvar-tag) :neg t))
(comp-block-insns (comp-add-cond-cstrs-target-block b bb1))))
;; (`((set ,(and (pred comp-mvar-p) mvar-tested-copy)
;; ,(and (pred comp-mvar-p) mvar-tested))
;; (set ,(and (pred comp-mvar-p) mvar-1)
;; (call type-of ,(and (pred comp-mvar-p) mvar-tested-copy)))
;; (set ,(and (pred comp-mvar-p) mvar-2)
;; (call symbol-value ,(and (pred comp-cstr-cl-tag-p) mvar-tag)))
;; (set ,(and (pred comp-mvar-p) mvar-3)
;; (call memq ,(and (pred comp-mvar-p) mvar-1) ,(and (pred comp-mvar-p) mvar-2)))
;; (cond-jump ,(and (pred comp-mvar-p) mvar-3) ,(pred comp-mvar-p) ,bb1 ,bb2))
;; (push `(assume ,mvar-tested ,(make-comp-mvar :type (comp-cstr-cl-tag mvar-tag)))
;; (comp-block-insns (comp-add-cond-cstrs-target-block b bb2)))
;; (push `(assume ,mvar-tested ,(make-comp-mvar :type (comp-cstr-cl-tag mvar-tag) :neg t))
;; (comp-block-insns (comp-add-cond-cstrs-target-block b bb1))))
(`((set ,(and (pred comp-mvar-p) cmp-res)
(,(pred comp-call-op-p)
,(and (or (pred comp-equality-fun-p)

View file

@ -3127,7 +3127,7 @@ implementation will be used."
(if (tramp-compat-string-search "=" elt)
(setq env (append env `(,elt)))
(setq uenv (cons elt uenv)))))
(setenv-internal env "INSIDE_EMACS" (tramp-inside-emacs) 'keep)
(setq env (setenv-internal env "INSIDE_EMACS" (tramp-inside-emacs) 'keep))
(when env
(setq command
(format
@ -4316,6 +4316,7 @@ seconds. If not, it produces an error message with the given ERROR-ARGS."
proc timeout
(rx
(| (regexp shell-prompt-pattern) (regexp tramp-shell-prompt-pattern))
(? (regexp ansi-color-control-seq-regexp))
eos))
(error
(delete-process proc)

View file

@ -1802,7 +1802,9 @@ the form (METHOD USER DOMAIN HOST PORT LOCALNAME &optional HOP)."
(when (cadr args)
(setq localname (and (stringp (cadr args)) (cadr args))))
(when hop
(setq hop nil)
;; Keep hop in file name for completion.
(unless minibuffer-completing-file-name
(setq hop nil))
;; Assure that the hops are in `tramp-default-proxies-alist'.
;; In tramp-archive.el, the slot `hop' is used for the archive
;; file name.
@ -4849,25 +4851,29 @@ Do not set it manually, it is used buffer-local in `tramp-get-lock-pid'.")
"Add ad-hoc proxy definitions to `tramp-default-proxies-alist'."
(when-let ((hops (tramp-file-name-hop vec))
(item vec))
(dolist (proxy (reverse (split-string hops tramp-postfix-hop-regexp 'omit)))
(let* ((host-port (tramp-file-name-host-port item))
(user-domain (tramp-file-name-user-domain item))
(proxy (concat
tramp-prefix-format proxy tramp-postfix-host-format))
(entry
(list (and (stringp host-port)
(rx bol (literal host-port) eol))
(and (stringp user-domain)
(rx bol (literal user-domain) eol))
(propertize proxy 'tramp-ad-hoc t))))
(tramp-message vec 5 "Add %S to `tramp-default-proxies-alist'" entry)
;; Add the hop.
(add-to-list 'tramp-default-proxies-alist entry)
(setq item (tramp-dissect-file-name proxy))))
;; Save the new value.
(when tramp-save-ad-hoc-proxies
(customize-save-variable
'tramp-default-proxies-alist tramp-default-proxies-alist))))
(let (signal-hook-function changed)
(dolist
(proxy (reverse (split-string hops tramp-postfix-hop-regexp 'omit)))
(let* ((host-port (tramp-file-name-host-port item))
(user-domain (tramp-file-name-user-domain item))
(proxy (concat
tramp-prefix-format proxy tramp-postfix-host-format))
(entry
(list (and (stringp host-port)
(rx bol (literal host-port) eol))
(and (stringp user-domain)
(rx bol (literal user-domain) eol))
(propertize proxy 'tramp-ad-hoc t))))
;; Add the hop.
(unless (member entry tramp-default-proxies-alist)
(tramp-message vec 5 "Add %S to `tramp-default-proxies-alist'" entry)
(add-to-list 'tramp-default-proxies-alist entry)
(setq changed t))
(setq item (tramp-dissect-file-name proxy))))
;; Save the new value.
(when (and tramp-save-ad-hoc-proxies changed)
(customize-save-variable
'tramp-default-proxies-alist tramp-default-proxies-alist)))))
(defun tramp-compute-multi-hops (vec)
"Expands VEC according to `tramp-default-proxies-alist'."
@ -5720,7 +5726,7 @@ See `tramp-process-actions' for the format of ACTIONS."
;; Obviously, the output was not complete.
(while (tramp-accept-process-output proc))
;; Remove ANSI control escape sequences.
(with-current-buffer (tramp-get-connection-buffer vec)
(with-current-buffer (tramp-get-connection-buffer vec)
(goto-char (point-min))
(while (re-search-forward ansi-color-control-seq-regexp nil t)
(replace-match "")))

View file

@ -4749,7 +4749,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
tramp-prefix-format hop
(substring-no-properties
method 0 (min 2 (length method))))
,(concat tramp-prefix-format method-string)
,(concat tramp-prefix-format hop method-string)
,method-string)))
;; Complete user name.
(unless (tramp-string-empty-or-nil-p user)
@ -4758,7 +4758,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(substring-no-properties
user 0 (min 2 (length user))))
,(concat
tramp-prefix-format method-string user-string)
tramp-prefix-format hop method-string user-string)
,user-string)))
;; Complete host name.
(unless (tramp-string-empty-or-nil-p host)
@ -4768,9 +4768,9 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(substring-no-properties
host 0 (min 2 (length host))))
(,(concat
tramp-prefix-format method-string host-string)
tramp-prefix-format hop method-string host-string)
,(concat
tramp-prefix-format method-string
tramp-prefix-format hop method-string
user-string host-string))
,host-string)))
;; Complete user and host name.
@ -4782,7 +4782,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(substring-no-properties
host 0 (min 2 (length host))))
,(concat
tramp-prefix-format method-string
tramp-prefix-format hop method-string
user-string host-string)
,host-string)))))

View file

@ -89,14 +89,17 @@
(forward-line)))))
(ert-deftest proced-refine-with-update-test ()
:tags '(:unstable) ; There seems to be an update race here.
(proced--within-buffer
'medium
'user
(proced--move-to-column "PID")
(let ((pid (word-at-point)))
(proced-refine)
(proced-update t)
;; Don't use (proced-update t) since this will reset `proced-process-alist'
;; and it's possible the process refined on would have exited by that
;; point. In this case proced will skip the refinement and show all
;; processes again, causing the test to fail.
(proced-update)
(while (not (eobp))
(proced--move-to-column "PID")
(should (string= pid (word-at-point)))