From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jordan Wilson Newsgroups: gmane.emacs.bugs Subject: bug#65551: 29.1; Eshell on MS-Windows using plink: 'plink' is not recognized as an internal or external command... Date: Sat, 26 Aug 2023 15:11:53 +0100 Message-ID: <861qfpnb9y.fsf@gmx.com> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12126"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: 65551@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Aug 26 16:13:16 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qZu2O-00030E-7N for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 26 Aug 2023 16:13:16 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qZu28-0002cf-GY; Sat, 26 Aug 2023 10:13:00 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qZu26-0002cP-AI for bug-gnu-emacs@gnu.org; Sat, 26 Aug 2023 10:12:58 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qZu25-0004kQ-Gb for bug-gnu-emacs@gnu.org; Sat, 26 Aug 2023 10:12:58 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qZu2A-00008R-AB for bug-gnu-emacs@gnu.org; Sat, 26 Aug 2023 10:13:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jordan Wilson Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 26 Aug 2023 14:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 65551 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.1693059148468 (code B ref -1); Sat, 26 Aug 2023 14:13:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 26 Aug 2023 14:12:28 +0000 Original-Received: from localhost ([127.0.0.1]:43264 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qZu1b-00007T-Hn for submit@debbugs.gnu.org; Sat, 26 Aug 2023 10:12:28 -0400 Original-Received: from lists.gnu.org ([2001:470:142::17]:50770) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qZu1W-000077-Oc for submit@debbugs.gnu.org; Sat, 26 Aug 2023 10:12:26 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qZu1H-0002Vw-IZ for bug-gnu-emacs@gnu.org; Sat, 26 Aug 2023 10:12:09 -0400 Original-Received: from mout.gmx.net ([212.227.17.21]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qZu1A-0004Xp-Pr for bug-gnu-emacs@gnu.org; Sat, 26 Aug 2023 10:12:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.com; s=s31663417; t=1693059113; x=1693663913; i=jordan.t.wilson@gmx.com; bh=gw7R8s2svMM1sukXN6/we95EwiRqQSLsB3N+bwBL2oo=; h=X-UI-Sender-Class:From:To:Subject:Date; b=kb1Q+W1nBnzhOk+6V+Wvlyj8XcZRyENcxDrbuStlYHEJk/podB5988JQuGVRyVTsxsjnbEB QdRlB9T0v+q2MCPr/aUcLRUmyM4f17AI3a33FaR77KdaQLSSl9HuVotKRGWNdz+rxdbEV8z1j OYjQ1Y3YWG6JHk+MLArrMPBqwsXPx/j/rNugy9X4saqY/X+C02dQHpJHbDpWHjRWHIJwWYz3R LePf4Mj2uygBoa/FSZY/Di4u1H29UJbxruGnLmgQeZkQe93EwNYS15VcI5wbBhJlKoS1sl5Nj BnZAjzptDiLxTP95n4pQBMSqGtMrA5OMw/UcfOSEa+G0xkNoxTXg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from A715-WIN ([94.12.224.234]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MTiPl-1q8mNI1tdd-00U0NH for ; Sat, 26 Aug 2023 16:11:53 +0200 X-Provags-ID: V03:K1:qs7Uy1hhoKzQ2AOqkmlVtUCjDDSDX5AwTtnKsh24p6/ToITR0Hn NdBg5sps6Kfk/Hcq+prne4/J804zBU/B2zLBHbNzgWS0kwSbf9zXxLFJDnPBOdIOQUL+Joo eJutc2idKnN4jbdRtOSuLeVAWosTLhQilKI+diWzRPB3MSqs320PefPmAorpNEL5OovNc6k xhO6WKYP9cBaf0pNoe6cA== UI-OutboundReport: notjunk:1;M01:P0:fpss6Y4SrPM=;ON1D6QgevU38fccYZijchzPS6mB vCSXvZz/ZXoeZJ4Cv48ieHkC2Om/nPjQ1RSov3iclXCbeqIVfhVr1AjnNnnklRkP/VxyaYCmO dzijDUCYzsTOQSivyus9ApYLONFoBZWLEMxMqB7l5lRf1Lor7gWj99pZ3mCFlR79+ECwDP1Cl JsMOLcc1xypSftQDdnrEQ99ZHhTtn13+l8/hVZkEEAEgJJrWTaaLzzRERF6o6NlAubxvhMFmA xgQ+1QFJvQUvooh+21E4LkHTRvopmzFJMzNY2DrjlDA3eVOdVIcWKZGaGS93/xsum6cJd03XT 8EDseIzprnSuMcssQb3b5JCeFrC+IzQdqmJ9JtEflctltffSpt+mqeIJ85iPYYFQHQZqg9DHS KPnvg+vPVajlzCo6cBeojMx6rpQTNtGHBgQx4zfs94dAbEwuL3U2+za14C3Y6GWmkLKvaNB6t TQs3D310vAsaYSSEFY6zPd/QtRy2mtmbilH/qaNPQD53AEH+gxSfgyV16EzOr6NCJr5V3pLcS KE+8XMqZWdi+3uRnJJfRiTGfygzcKVUCFKLD6om4EaTKOWsqF+PaIYbwgfV71Sn+Y3XE0N27p JYdTvXg2sWJ5TfYIXzfOvEDN37lGqsee4ZKqHwwSWawRMsMmJOW4DNUFlhigwgF55PBpTmf46 dPNAM2CJeQvJgt1qw8KoQ1Ik61K6wS0z+EUjQmQS3xFMmosKbURV13d35S1pWoNT6dRmvkosU cJnMje/GcpedE9Ra/Jem5wjXI6hsBP3JybdLiOF79JXppDtkxWdsLzTLHyvPPeujUeVNPmee Received-SPF: pass client-ip=212.227.17.21; envelope-from=jordan.t.wilson@gmx.com; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:268505 Archived-At: Hi all, I've found a bug in Eshell on MS-Windows on 29.1. This is a regression from 28.2. When connected to a remote machine using putty's "plink", using any commands on the remote machine (e.g. not built-in to eshell) prints this error in the eshell buffer (details replaced): plink -l username -ssh -t example.com " env 'TERM=3Ddumb' 'PROMPT_COMMAND=3D' 'PS1=3D#$ ' /bin/sh -i " ** exit || exit 'plink' is not recognised as an internal or external command, operable program or batch file. and the following in the minibuffer: Tramp failed to connect. If this happens repeatedly, try "M-x tramp-cleanup-this-connection" An keyboard input after this causes the eshell buffer to be killed, and th= e "Tramp failed to connect..." message to also be inserted into the next buf= fer. Recipe, starting from "emacs -Q": 1) open eshell 2) connect to a remote host using plink - cd /plink:username@example.com:/home/username/ 3) ./test.sh (executable script) or... 3) *ls or... 3) (any remote command not built-in into Emacs) Below is the backtrace produced from this (using `toggle-debug-on-error') again with details replaced. Thanks, Jordan. Debugger entered--Lisp error: (file-error "Tramp failed to connect. If th= is happens repeated...") signal(file-error ("Tramp failed to connect. If this happens repeated..= .")) tramp-error(nil file-error "Tramp failed to connect. If this happens re= peated...") tramp-signal-hook-function(file-error ("Tramp failed to connect. If thi= s happens repeated...")) signal(file-error ("Tramp failed to connect. If this happens repeated..= .")) tramp-maybe-open-connection((tramp-file-name #("plink" 0 5 (escaped t)) = #("username" 0 5 (escaped t)) nil #("example.com" 0 18 (escaped t)) nil ni= l nil)) tramp-send-command((tramp-file-name #("plink" 0 5 (escaped t)) #("userna= me" 0 5 (escaped t)) nil #("example.com" 0 18 (escaped t)) nil nil nil) "e= cho $$ 2>/dev/null; echo tramp_exit_status $?") tramp-send-command-and-check((tramp-file-name #("plink" 0 5 (escaped t))= #("username" 0 5 (escaped t)) nil #("example.com" 0 18 (escaped t)) nil n= il nil) "echo $$") tramp-barf-unless-okay((tramp-file-name #("plink" 0 5 (escaped t)) #("us= ername" 0 5 (escaped t)) nil #("example.com" 0 18 (escaped t)) nil nil nil= ) "echo $$" "`%s' returns with error" "echo $$") tramp-send-command-and-read((tramp-file-name #("plink" 0 5 (escaped t)) = #("username" 0 5 (escaped t)) nil #("example.com" 0 18 (escaped t)) nil ni= l nil) "echo $$") tramp-sh-handle-make-process(:name "test.sh" :buffer # :c= ommand ("/home/username/test.sh") :filter eshell-output-filter :sentinel e= shell-sentinel :connection-type nil :stderr nil :file-handler t) tramp-sh-file-name-handler(make-process :name "test.sh" :buffer # :command ("/home/username/test.sh") :filter eshell-output-filter = :sentinel eshell-sentinel :connection-type nil :stderr nil :file-handler t= ) apply(tramp-sh-file-name-handler make-process (:name "test.sh" :buffer #= :command ("/home/username/test.sh") :filter eshell-output-= filter :sentinel eshell-sentinel :connection-type nil :stderr nil :file-ha= ndler t)) tramp-file-name-handler(make-process :name "test.sh" :buffer # :command ("/home/username/test.sh") :filter eshell-output-filter :se= ntinel eshell-sentinel :connection-type nil :stderr nil :file-handler t) eshell-gather-process-output("/plink:username@example.com:/home/username= /test.s..." nil) eshell-external-command("./test.sh" nil) eshell-plain-command("./test.sh" nil) eshell-named-command("./test.sh") eval((eshell-named-command '"./test.sh")) eshell-do-eval((eshell-named-command '"./test.sh") nil) eshell-do-eval((prog1 (eshell-named-command '"./test.sh") (mapc #'funcal= l eshell-this-command-hook)) nil) (condition-case err (eshell-do-eval '(prog1 (eshell-named-command '"./te= st.sh") (mapc #'funcall eshell-this-command-hook)) nil) ((debug error) (ma= pc #'funcall eshell-this-command-hook) (eshell-errorn (error-message-strin= g err)) (eshell-close-handles 1))) eval((condition-case err (eshell-do-eval '(prog1 (eshell-named-command '= "./test.sh") (mapc #'funcall eshell-this-command-hook)) nil) ((debug error= ) (mapc #'funcall eshell-this-command-hook) (eshell-errorn (error-message-= string err)) (eshell-close-handles 1)))) eshell-do-eval((condition-case err (eshell-do-eval '(prog1 (eshell-named= -command '"./test.sh") (mapc #'funcall eshell-this-command-hook)) nil) ((d= ebug error) (mapc #'funcall eshell-this-command-hook) (eshell-errorn (erro= r-message-string err)) (eshell-close-handles 1))) nil) #f(compiled-function () #)() funcall(#f(compiled-function () #)) (let ((eshell-this-command-hook '(ignore))) (funcall '#f(compiled-functi= on () #))) eval((let ((eshell-this-command-hook '(ignore))) (funcall '#f(compiled-f= unction () #)))) eshell-do-eval((let ((eshell-this-command-hook '(ignore))) (condition-ca= se err (eshell-do-eval '(prog1 (eshell-named-command '"./test.sh") (mapc #= 'funcall eshell-this-command-hook)) nil) ((debug error) (mapc #'funcall es= hell-this-command-hook) (eshell-errorn (error-message-string err)) (eshell= -close-handles 1)))) nil) eshell-do-eval((progn (let ((eshell-this-command-hook '(ignore))) (condi= tion-case err (eshell-do-eval '(prog1 (eshell-named-command ...) (mapc ...= eshell-this-command-hook)) nil) ((debug error) (mapc #'funcall eshell-thi= s-command-hook) (eshell-errorn (error-message-string err)) (eshell-close-h= andles 1))))) nil) (catch 'top-level (eshell-do-eval '(progn (let ((eshell-this-command-hoo= k '...)) (condition-case err (eshell-do-eval '... nil) ((debug error) (map= c ... eshell-this-command-hook) (eshell-errorn ...) (eshell-close-handles = 1))))) nil)) eval((catch 'top-level (eshell-do-eval '(progn (let ((eshell-this-comman= d-hook ...)) (condition-case err (eshell-do-eval ... nil) (... ... ... ...= )))) nil))) eshell-do-eval((catch 'top-level (eshell-do-eval '(progn (let ((eshell-t= his-command-hook ...)) (condition-case err (eshell-do-eval ... nil) (... .= .. ... ...)))) nil)) nil) eshell-do-eval((progn 'nil (catch 'top-level (eshell-do-eval '(progn (le= t (...) (condition-case err ... ...))) nil)) (run-hooks 'eshell-post-comma= nd-hook)) nil) #f(compiled-function () #)() funcall(#f(compiled-function () #)) (let ((eshell-current-handles '[nil (t . 1) (t . 1)]) (eshell-current-su= bjob-p 'nil)) (funcall '#f(compiled-function () #))) eval((let ((eshell-current-handles '[nil (t . 1) (t . 1)]) (eshell-curre= nt-subjob-p 'nil)) (funcall '#f(compiled-function () #)))) eshell-do-eval((let ((eshell-current-handles '[nil (t . 1) (t . 1)]) esh= ell-current-subjob-p) (progn 'nil (catch 'top-level (eshell-do-eval '(prog= n (let ... ...)) nil)) (run-hooks 'eshell-post-command-hook)))) eshell-resume-eval() eshell-eval-command((let ((eshell-current-handles '[nil (t . 1) (t . 1)]= ) eshell-current-subjob-p) (progn 'nil (catch 'top-level (eshell-do-eval '= (progn (let ... ...)) nil)) (run-hooks 'eshell-post-command-hook))) "./tes= t.sh ") eshell-send-input(nil) funcall-interactively(eshell-send-input nil) #(eshell-send-input nil nil) call-interactively@ido-cr+-record-current-command(# eshell-send-input nil nil) apply(call-interactively@ido-cr+-record-current-command # (eshell-send-input nil nil)) call-interactively(eshell-send-input nil nil) command-execute(eshell-send-input) In GNU Emacs 29.1 (build 2, x86_64-w64-mingw32) of 2023-08-02 built on AVALON Windowing system distributor 'Microsoft Corp.', version 10.0.19045 System Description: Microsoft Windows 10 Home (v10.0.2009.19045.3324) Configured using: 'configure --with-modules --without-dbus --with-native-compilation=3Daot --without-compress-install --with-tree-sitter CFLAGS=3D-O2' Configured features: ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XPM ZLIB Important settings: value of $LANG: ENG locale-coding-system: cp1252 Major mode: Messages Minor modes in effect: immortal-scratch-mode: t emms-mode-line-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t shell-dirtrack-mode: t recentf-mode: t global-anzu-mode: t anzu-mode: t global-undo-tree-mode: t undo-tree-mode: t winner-mode: t delete-selection-mode: t cua-mode: t ido-everywhere: t pdf-occur-global-minor-mode: t windmove-mode: t server-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: (only . t) auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t =2D- Jordan Wilson Sent from Gnus v5.13, GNU Emacs 29.1 on WINDOWS-NT