From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: eclig@gmx.net Newsgroups: gmane.emacs.bugs Subject: bug#18118: Support for Python3 in TRAMP's `tramp-get-remote-uid-with-python' Date: Sun, 27 Jul 2014 16:32:31 +0200 Message-ID: <87ppgqan40.fsf@gmx.net> Reply-To: eclig@gmx.net NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1406471366 10397 80.91.229.3 (27 Jul 2014 14:29:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 27 Jul 2014 14:29:26 +0000 (UTC) To: 18118@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jul 27 16:29:20 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XBPRu-0004iS-Al for geb-bug-gnu-emacs@m.gmane.org; Sun, 27 Jul 2014 16:29:18 +0200 Original-Received: from localhost ([::1]:35211 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBPRt-0000cu-VB for geb-bug-gnu-emacs@m.gmane.org; Sun, 27 Jul 2014 10:29:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53595) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBPRk-0000ax-Nd for bug-gnu-emacs@gnu.org; Sun, 27 Jul 2014 10:29:14 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XBPRf-0005Cv-6P for bug-gnu-emacs@gnu.org; Sun, 27 Jul 2014 10:29:08 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:44208) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBPRf-0005Cr-3G for bug-gnu-emacs@gnu.org; Sun, 27 Jul 2014 10:29:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XBPRe-0007Fd-L3 for bug-gnu-emacs@gnu.org; Sun, 27 Jul 2014 10:29:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: eclig@gmx.net Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 27 Jul 2014 14:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 18118 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.140647134127864 (code B ref -1); Sun, 27 Jul 2014 14:29:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 27 Jul 2014 14:29:01 +0000 Original-Received: from localhost ([127.0.0.1]:39474 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XBPRc-0007FL-24 for submit@debbugs.gnu.org; Sun, 27 Jul 2014 10:29:00 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:51822) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XBPRZ-0007F4-0a for submit@debbugs.gnu.org; Sun, 27 Jul 2014 10:28:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XBPRN-0005AD-3B for submit@debbugs.gnu.org; Sun, 27 Jul 2014 10:28:51 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:42069) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBPRN-0005A6-0C for submit@debbugs.gnu.org; Sun, 27 Jul 2014 10:28:45 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53497) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBPRH-0000WW-Db for bug-gnu-emacs@gnu.org; Sun, 27 Jul 2014 10:28:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XBPRB-00057l-Tx for bug-gnu-emacs@gnu.org; Sun, 27 Jul 2014 10:28:39 -0400 Original-Received: from mail-we0-x234.google.com ([2a00:1450:400c:c03::234]:39281) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBPRB-00057W-Jt for bug-gnu-emacs@gnu.org; Sun, 27 Jul 2014 10:28:33 -0400 Original-Received: by mail-we0-f180.google.com with SMTP id w61so6278095wes.39 for ; Sun, 27 Jul 2014 07:28:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:subject:reply-to:date:message-id:mime-version :content-type:content-transfer-encoding; bh=OyvQFY07+z7EE6S7VP8mAKNMoJ9og2vhpRACM94yH80=; b=ilwfh08pcQT7wJY3/e1LMdFFNtf4cgo2m7GaApP1kGeXsZimgmCxjQ+pQB704oLVXm o+HbFxY4v018vITPHgeNBaxazrWhi7PqrXu0BDHwCb6iNlWN1/MG8zCFiNLAT6KLGVdr K1V/NsE2DTMAPsfucvt15o3ek6DYUGdBAlbNO0WRburMVxB4ye09Ad1vZ4gYiuBjVjnt gpveZfdkTJB5taV7c2t0BpiMT6ppr+v+ZiPHqBIUPW6wQ8Ttzz6fFlkeWI4rrTGTURSD 4ZXxJeMfctlsDpSDGyYnQDFFx2LAC7E8IbJYfkaUDZxX1+FRp6RF0hSGXIg8WLoyKe5e gzCQ== X-Received: by 10.180.106.138 with SMTP id gu10mr21529390wib.21.1406471311198; Sun, 27 Jul 2014 07:28:31 -0700 (PDT) Original-Received: from bessa.local (p4FFB9429.dip0.t-ipconnect.de. [79.251.148.41]) by mx.google.com with ESMTPSA id gq4sm19888599wib.8.2014.07.27.07.28.30 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sun, 27 Jul 2014 07:28:30 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:91849 Archived-At: Dear Emacs maintainers, the following patch makes possible to use TRAMP to connect to systems where both `perl' and `id' are missing and where the Python program is called `python3'. Note that the syntax `print foo' is invalid in Python3 since there `print' is a function, whereas in Python2 it is/was a statement. The syntax `print(foo)' works in both cases and it's what I used bellow. Regards Em=C3=ADlio # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: eclig@gmx.net-20140725151222-n88affhi3m98xkqr # target_branch: http://bzr.savannah.gnu.org/r/emacs/trunk/ # testament_sha1: cbaad612600a8166a622e1019484b64d24afeae9 # timestamp: 2014-07-25 17:17:36 +0200 # base_revision_id: eliz@gnu.org-20140725115836-axkqeojeljgzzef1 # # Begin patch =3D=3D=3D modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-07-25 09:37:07 +0000 +++ lisp/ChangeLog 2014-07-25 15:12:22 +0000 @@ -1,3 +1,11 @@ +2014-07-25 Emilio C. Lopes + + * net/tramp-sh.el (tramp-get-remote-python): Also search for + executables named "python2" or "python3". + (tramp-get-remote-uid-with-python): Use parentheses around arguments to + `print' to make it compatible with Python 3. + (tramp-get-remote-gid-with-python): Ditto. + 2014-07-25 Glenn Morris =20 * vc/ediff-init.el (ediff-toggle-read-only-function): =3D=3D=3D modified file 'lisp/net/tramp-sh.el' --- lisp/net/tramp-sh.el 2014-07-03 09:27:02 +0000 +++ lisp/net/tramp-sh.el 2014-07-25 15:12:22 +0000 @@ -5256,7 +5256,9 @@ (defun tramp-get-remote-python (vec) (with-tramp-connection-property vec "python" (tramp-message vec 5 "Finding a suitable `python' command") - (tramp-find-executable vec "python" (tramp-get-remote-path vec)))) + (or (tramp-find-executable vec "python" (tramp-get-remote-path vec)) + (tramp-find-executable vec "python2" (tramp-get-remote-path vec)) + (tramp-find-executable vec "python3" (tramp-get-remote-path vec)))= )) =20 (defun tramp-get-remote-uid-with-python (vec id-format) (tramp-send-command-and-read @@ -5264,8 +5266,8 @@ (format "%s -c \"%s\"" (tramp-get-remote-python vec) (if (equal id-format 'integer) - "import os; print os.getuid()" - "import os, pwd; print '\\\"' + pwd.getpwuid(os.getuid())[0] + '\= \\"'")))) + "import os; print (os.getuid())" + "import os, pwd; print ('\\\"' + pwd.getpwuid(os.getuid())[0] + '= \\\"')")))) =20 (defun tramp-get-remote-uid (vec id-format) (with-tramp-connection-property vec (format "uid-%s" id-format) @@ -5305,8 +5307,8 @@ (format "%s -c \"%s\"" (tramp-get-remote-python vec) (if (equal id-format 'integer) - "import os; print os.getgid()" - "import os, grp; print '\\\"' + grp.getgrgid(os.getgid())[0] + '\= \\"'")))) + "import os; print (os.getgid())" + "import os, grp; print ('\\\"' + grp.getgrgid(os.getgid())[0] + '= \\\"')")))) =20 (defun tramp-get-remote-gid (vec id-format) (with-tramp-connection-property vec (format "gid-%s" id-format) # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWfkFh8UAAqlfgGwwUP///34E Qk7////wUAWWW8u7ptYW4C1oapoSUQJG9AmmEGjIaAk9J6gADQDQSiCYmTIKntU2NSPU0DQAAAaA ASQgphE8gKG9KDJtQAGgDIxA0OaMmJgAmIwI0wIMRgmTAIwSKRpNoEp5T9J6A1CekyPRGEAaABkv IKokECJoYjfp9u07V7UnMhGJDjv3lTZ6cVbdggtEra1nvrKN9HppQh9gMdcvgfFscjsOJiO4vxzm 8gzcrAzJurpVkW6mcbXMlJ6OtrTZ6Tg16eGQ0d06ZSnugtfkQ6v7zdMOUKak+llA4sLvEE5uSShK nCKWRegyvm0Z3s7Pvr2xaaSKL5A4h8QhYLicxpchhUaGGTwIAxB8HBt9RwgDuRzs2DXQSIKsmmK1 OZKQxOnE/i2mb97jknCcDGjbHjORYKoRPmlKkCyQUKDZAlEXv/PvNde3N7jdJl/0oVkrmj4ikLDb VRQZX4ESM2sh+Z/YYhAy2u4lQYI6so55xxjAnPF1ma8TTuCadQr1dfgncixH8n/jlI9HYNp+qmgS oEqpGVWgT30aSHfUOcKyi5oWARjfnLOO6BcBfkV9lNB7ddYdbGRY4I5NVq4vIRXnVbabgH2CintV BIhWOcQGgakjftlYxJlKgmScBScXbHQa2QxLGYzY/d0Y7jBnrZxbndi/Y7MGc3ua1q0UKLRgcJ5y htN2ExkdOgfhsAldlSDPSEFmZSVFBjeGoJyZa5qDWWhViwZNdYqFtTOWREqjVZOAwDYJSvzvN6Z4 Nw0Lgfe3+Au4M6kFSSqKX2GYbQZpC7Spk8Jj555MJC4SLNNFBKwNA3CtcUK1D3xuXDmC2GrLqLMi D0pPE0m9oUiZjnMOAHZpfhlIDOpxzApg7JpIMRwmIvDRkCm0W84FjeUzKHkRYTneYRhNOZqNG1nU oQ1bXmrEVsbk2eU0nIua/FUfvDqHPx95CXqEYeK6LbSsG3+ZitzuMII6zbsPgB2BqIqJxop+jwdn VPicaDYeGu01FjgtlfMeoCbchxp38qVACcxdy5ujApO883k1hSufALBgyngTcY01l7gkW4Biprz6 unpm52Z5TlwnekET5xqIubYBPJh0ouvH4oQgCVsUCPxhtksuUPWUNJZO0JtyTTJdIXEddcx24Yut pxOBRjmYNhmGI40YCuJ0wn8j1hHO4J75QmwfZBkXbZcFmEO5kfk0yLzWYiSK1Q0PYtRfPl0YJmrD XjKkEiTEwUaOq8caIcC3LSmeDcwarT0DSqHT3KAee9YgMnA3nmOovWEFmOCwCQiqhoZkS3i3FIbs SUWkcqjFlmHdd8MCHE3zY4pzAZIwSZiBmNdk49tmPWMbefwQ8mtcRyiMoqjGg6QwIF1RRMj44rao HGZE3JDzuwTft+NixDMyYt+k2VWIr9aRuQVIlAKN5oBg6hEDU4qLV+2B3S15QMeK9VKWqwfyNOFy WRCgRVATHdWkTRbBbAGrFRXECfPzgUMnoXsKcNQRRck2jptCYObfvmIFLy1Bo/uo7S1bl0CrGhrs dJSW6Oi5HEE67ETKJMGMksbNMAnZpZMmDUpIomCzjoHbUmQXZWAwwDkXENLqdukZjBEU5kSEuaM9 SUALea1Zg3ynbw1Cor4idSYUYGCjgan2S7brozlxCe82IZJdT7eWMikWnAM8dYTUIGwJ2QPSGcM/ lSmotzhbJVxTVXOkTSZZcSVViKVVuW5i9+LcSpgSEQ1u8GhTjHq7tGSXFgHfvDIJ9Ro6RWkDlJeH kCO1IkGlbgIIvpZbw8ZJNmZSZ6E5aF/xdyRThQkPkFh8UA=3D=3D