diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 2110d815c95..633086fc822 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -2947,7 +2947,7 @@ not in completion mode." (or ;; We check this for the process related to ;; `tramp-buffer-name'; otherwise `start-file-process' ;; wouldn't run ever when `non-essential' is non-nil. - (and vec (process-live-p (get-process (tramp-buffer-name vec)))) + (process-live-p (tramp-get-process vec)) (not non-essential)))) (defun tramp-completion-handle-expand-file-name (filename &optional directory) @@ -4778,17 +4778,18 @@ Do not set it manually, it is used buffer-local in `tramp-get-lock-pid'.") (defun tramp-handle-unlock-file (file) "Like `unlock-file' for Tramp files." - ;; When there is no connection, we don't do it. Otherwise, - ;; functions like `kill-buffer' would try to reestablish the - ;; connection. See Bug#61663. - (when-let ((v (tramp-dissect-file-name file)) - (p (tramp-get-process v)) - ((process-live-p p)) - (lockname (tramp-compat-make-lock-file-name file))) - (condition-case err - (delete-file lockname) - ;; `userlock--handle-unlock-error' exists since Emacs 28.1. - (error (tramp-compat-funcall 'userlock--handle-unlock-error err))))) + (condition-case err + ;; When there is no connection, we don't do it. Otherwise, + ;; functions like `kill-buffer' would try to reestablish the + ;; connection. See Bug#61663. + (if-let ((v (tramp-dissect-file-name file)) + ((process-live-p (tramp-get-process v))) + (lockname (tramp-compat-make-lock-file-name file))) + (delete-file lockname) + ;; Trigger the unlock error. + (signal 'file-error `("Cannot remove lock file for" ,file))) + ;; `userlock--handle-unlock-error' exists since Emacs 28.1. + (error (tramp-compat-funcall 'userlock--handle-unlock-error err)))) (defun tramp-handle-load (file &optional noerror nomessage nosuffix must-suffix) "Like `load' for Tramp files." diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 9f79834f964..eb0e2c0a2dc 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el @@ -2918,8 +2918,9 @@ and closing parentheses and brackets." ;; ((eq 'REx-part2 (elt i 0)) ;; [self start] start of /REP in s//REP/x (goto-char (elt i 1)) - (condition-case nil ; Use indentation of the 1st part - (forward-sexp -1)) + (condition-case nil + (forward-sexp -1) ; Use indentation of the 1st part + (error nil)) (current-column)) ((eq 'indentable (elt i 0)) ; Indenter for REGEXP qw() etc (cond ;;; [indentable terminator start-pos is-block] diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index 2989d7ddb61..ac6fd382a46 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el @@ -370,7 +370,8 @@ wherever possible, since it is slow." (unless (fboundp 'ignore-errors) (defmacro ignore-errors (&rest body) (declare (debug t) (indent 0)) - `(condition-case nil (progn ,@body) (error nil))))) + `(condition-case nil (progn ,@body) (error nil)))) + (error nil)) ;; Added in Emacs 24.1 (condition-case nil (unless (fboundp 'prog-mode) diff --git a/lisp/url/url-gw.el b/lisp/url/url-gw.el index b20e5073f74..f16be980945 100644 --- a/lisp/url/url-gw.el +++ b/lisp/url/url-gw.el @@ -239,35 +239,34 @@ overriding the value of `url-gateway-method'." (if url-gateway-broken-resolution (setq host (url-gateway-nslookup-host host))) - (condition-case nil - ;; This is a clean way to ensure the new process inherits the - ;; right coding systems in both Emacs and XEmacs. - (let ((coding-system-for-read 'binary) - (coding-system-for-write 'binary)) - (setq conn (pcase gw-method - ((or 'tls 'ssl 'native) - (if (eq gw-method 'native) - (setq gw-method 'plain)) - (open-network-stream - name buffer host service - :type gw-method - ;; Use non-blocking socket if we can. - :nowait (and (featurep 'make-network-process) - (url-asynchronous url-current-object) - '(:nowait t)))) - ('socks - (socks-open-network-stream name buffer host service)) - ('telnet - (url-open-telnet name buffer host service)) - ('rlogin - (unless url-gw-rlogin-obsolete-warned-once - (lwarn 'url :error "Setting `url-gateway-method' to `rlogin' is obsolete") - (setq url-gw-rlogin-obsolete-warned-once t)) - (with-suppressed-warnings ((obsolete url-open-rlogin)) - (url-open-rlogin name buffer host service))) - (_ - (error "Bad setting of url-gateway-method: %s" - url-gateway-method)))))) + ;; This is a clean way to ensure the new process inherits the + ;; right coding systems in both Emacs and XEmacs. + (let ((coding-system-for-read 'binary) + (coding-system-for-write 'binary)) + (setq conn (pcase gw-method + ((or 'tls 'ssl 'native) + (if (eq gw-method 'native) + (setq gw-method 'plain)) + (open-network-stream + name buffer host service + :type gw-method + ;; Use non-blocking socket if we can. + :nowait (and (featurep 'make-network-process) + (url-asynchronous url-current-object) + '(:nowait t)))) + ('socks + (socks-open-network-stream name buffer host service)) + ('telnet + (url-open-telnet name buffer host service)) + ('rlogin + (unless url-gw-rlogin-obsolete-warned-once + (lwarn 'url :error "Setting `url-gateway-method' to `rlogin' is obsolete") + (setq url-gw-rlogin-obsolete-warned-once t)) + (with-suppressed-warnings ((obsolete url-open-rlogin)) + (url-open-rlogin name buffer host service))) + (_ + (error "Bad setting of url-gateway-method: %s" + url-gateway-method))))) conn))) (provide 'url-gw)