GNU logs - #56997, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#56997: [PATCH] Analogue of project-shell for Python
Resent-From: Augusto Stoffel <arstoffel@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 05 Aug 2022 07:32:01 +0000
Resent-Message-ID: <handler.56997.B.165968467417159 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 56997
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: 56997 <at> debbugs.gnu.org
Cc: Philip Kaludercic <philipk@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.165968467417159
          (code B ref -1); Fri, 05 Aug 2022 07:32:01 +0000
Received: (at submit) by debbugs.gnu.org; 5 Aug 2022 07:31:14 +0000
Received: from localhost ([127.0.0.1]:55999 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oJrnd-0004Sg-Qd
	for submit <at> debbugs.gnu.org; Fri, 05 Aug 2022 03:31:14 -0400
Received: from lists.gnu.org ([209.51.188.17]:51294)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arstoffel@HIDDEN>) id 1oJrnZ-0004SW-U4
 for submit <at> debbugs.gnu.org; Fri, 05 Aug 2022 03:31:12 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:57204)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <arstoffel@HIDDEN>)
 id 1oJrnZ-0001Pc-1Z
 for bug-gnu-emacs@HIDDEN; Fri, 05 Aug 2022 03:31:09 -0400
Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]:37861)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <arstoffel@HIDDEN>)
 id 1oJrnW-00068y-OJ
 for bug-gnu-emacs@HIDDEN; Fri, 05 Aug 2022 03:31:08 -0400
Received: by mail-ej1-x62c.google.com with SMTP id kb8so3549760ejc.4
 for <bug-gnu-emacs@HIDDEN>; Fri, 05 Aug 2022 00:31:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:user-agent:message-id:date:subject:cc:to:from:from:to
 :cc; bh=mze4LXLfUjCp5B6lnhDW7T6B2lRMATKKh5tPbQawbhE=;
 b=jaV8vMtdLIa5nLW1ziLLu7jTjsEzvJpOn7GtYvNQQyPfF1gQYZa+6cd00h50EsMxmV
 FuSr2WbYjcv6uvzrUTuQH+hrPmnrUrTSzxPPVMfAvKWmPGN0TevgJDYTB3esOA9XLN6W
 p0wdlP2LeqIi10r8Vwe1F7tGKtG4VwcIiDVWLwyLxuHVQ7n+NUwEoLFFfh5Eh1XMOFtn
 abSUbsVTTI4oCR3lGWA6zDGCW0o4iH0RtZNAPlxG4pt3DdQ9nXtgbUPE1AVAw9Y4TeFy
 R1fDn90Wl95RzToqofbGw4m0cHokwCQLLG4Tlvf/DApWmL0kB74lKq9CRSJfKirsZay6
 +VNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=mime-version:user-agent:message-id:date:subject:cc:to:from
 :x-gm-message-state:from:to:cc;
 bh=mze4LXLfUjCp5B6lnhDW7T6B2lRMATKKh5tPbQawbhE=;
 b=m1OZc5vN7xP20jfMxDt+oqjoU/G4bmeL0KsJvGKjf6yBq9H5epaRN7KYZZkz8D3UcE
 CbuG0WvpKrUBk0mgJ8O1TSuLFAR73I3pND9XnS6OV7uTneGPHzr5rC0Pi/cz0Ms2YaUY
 LXuS0HusvV2yba37omZ1fcD51Ni6dU0w3NGGz0Z09eXrHGWZPr9uvf9g8MzBRVd7rxai
 qLCgw4PC8+xyaKu8ApciKllJh44LhL4tGeheu7TvvzkSG6xccoQcJAoKKXZfyGB01/Pd
 UKmKgZjiWef6BgW3Wgh1CDwy0ilzvkT14DclPlFad/k5gc/Z/pdDL0YJ0/gAMhK9pD6t
 cazw==
X-Gm-Message-State: ACgBeo3rgocyO1JXHglENxDCAdnFo1T4xjvVXTk5KU2YfU68xO+lSek1
 dixiTO9WDCmcmVZAoP9x1EY=
X-Google-Smtp-Source: AA6agR5qpLAPoKJhztfiX4WNCKyluM+LO/I6uHqtE7WWDO9B/vmpNh4WiJ14V+OrUwCGm8DYok7Yxw==
X-Received: by 2002:a17:907:1c1c:b0:730:9473:7a0e with SMTP id
 nc28-20020a1709071c1c00b0073094737a0emr4397493ejc.492.1659684664560; 
 Fri, 05 Aug 2022 00:31:04 -0700 (PDT)
Received: from ars3 ([2a02:8109:8ac0:56d0::a827])
 by smtp.gmail.com with ESMTPSA id
 l1-20020a1709060cc100b0072ee9790894sm1243357ejh.197.2022.08.05.00.31.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Aug 2022 00:31:03 -0700 (PDT)
From: Augusto Stoffel <arstoffel@HIDDEN>
Date: Fri, 05 Aug 2022 09:31:02 +0200
Message-ID: <874jyr87ux.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=2a00:1450:4864:20::62c;
 envelope-from=arstoffel@HIDDEN; helo=mail-ej1-x62c.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

--=-=-=
Content-Type: text/plain

The Python shell already allows a shell to be "dedicated" to a buffer.
This patch adds the option to create a shell dedicated to a project, as
well as the option to make all Python shells dedicated by default.

Stefan: you mentioned python.el could use project.el without a hard
dependency, so it remains compatible with old Emacsen.  Is this a good
approach?  (Also: the added seq dependency is kinda superfluous now, but
it's nice to have it available for future developments as well.)

Philip: I'm working around the possible absence of
'read-multiple-choice' here.  Not sure it's a popular/useful enough
function to include in compat, but I thought I would bring this up.


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment;
 filename=0001-Python-shells-dedicated-to-a-project.patch
Content-Transfer-Encoding: quoted-printable

From 7174b34701cb201c088f0fce6a57aee9a75eef20 Mon Sep 17 00:00:00 2001
From: Augusto Stoffel <arstoffel@HIDDEN>
Date: Thu, 4 Aug 2022 12:08:58 +0200
Subject: [PATCH] Python shells dedicated to a project

These shells run in the project root directory and are shared among
all project buffers.

* lisp/progmodes/python.el: Require 'seq' and (optionally) 'project'
libraries.
(python-shell-dedicated): New user option
(python-shell-get-process-name): Adapt to project-dedicated shells.
(run-python): Offer possibility to create a project-dedicated shell,
or use 'python-shell-dedicated' as the default behavior.
(python-shell-get-buffer): Adapt to project-dedicated shells.
---
 etc/NEWS                 | 11 ++++++
 lisp/progmodes/python.el | 79 ++++++++++++++++++++++++++++------------
 2 files changed, 66 insertions(+), 24 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index 963aa22c68..fcbf7deba7 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2055,6 +2055,17 @@ the Galeon web browser was released in September, 20=
08.
 Note that this historical web browser is different from Mozilla
 Firefox; it is its predecessor.
=20
+** Python Mode
++++
+*** Project shells and a new user option 'python-shell-dedicated'
+When called with a prefix argument, 'run-python' now offers the choice
+of creating a shell dedicated to the current project.  This shell runs
+in the project root directory and is shared among all project buffers.
+
+Without a prefix argument, the kind of shell (buffer-dedicated,
+project-dedicated or global) is specified by the new
+'python-shell-dedicated' variable.
+
 ** Ruby Mode
=20
 ---
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index b8fc7d4c54..bbdd2a9502 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -5,7 +5,7 @@
 ;; Author: Fabi=C3=A1n E. Gallina <fgallina@HIDDEN>
 ;; URL: https://github.com/fgallina/python.el
 ;; Version: 0.28
-;; Package-Requires: ((emacs "24.4") (cl-lib "1.0"))
+;; Package-Requires: ((emacs "24.4") (cl-lib "1.0") (seq "2.23"))
 ;; Maintainer: emacs-devel@HIDDEN
 ;; Created: Jul 2010
 ;; Keywords: languages
@@ -245,6 +245,8 @@
 (require 'ansi-color)
 (require 'cl-lib)
 (require 'comint)
+(require 'project nil 'noerror)
+(require 'seq)
 (eval-when-compile (require 'subr-x))   ;For `string-empty-p'.
=20
 ;; Avoid compiler warnings
@@ -2218,6 +2220,16 @@ python-shell-compilation-regexp-alist
   "`compilation-error-regexp-alist' for inferior Python."
   :type '(alist regexp))
=20
+(defcustom python-shell-dedicated nil
+  "Whether to make Python shells dedicated by default.
+This option influences `run-python' when called without a prefix
+argument.  If `buffer' or `project', create a Python shell
+dedicated to the current buffer or its project (if one is found)."
+  :version "29.1"
+  :type '(choice (const :tag "To buffer" buffer)
+                 (const :tag "To project" project)
+                 (const :tag "Not dedicated" nil)))
+
 (defvar python-shell-output-filter-in-progress nil)
 (defvar python-shell-output-filter-buffer nil)
=20
@@ -2580,12 +2592,19 @@ python-shell-prompt-set-calculated-regexps
=20
 (defun python-shell-get-process-name (dedicated)
   "Calculate the appropriate process name for inferior Python process.
-If DEDICATED is t returns a string with the form
-`python-shell-buffer-name'[`buffer-name'] else returns the value
-of `python-shell-buffer-name'."
-  (if dedicated
-      (format "%s[%s]" python-shell-buffer-name (buffer-name))
-    python-shell-buffer-name))
+If DEDICATED is nil, this is simply `python-shell-buffer-name'.
+If DEDICATED is `buffer' or `project', append the current buffer
+name respectively the current project name."
+  (pcase dedicated
+    ('nil python-shell-buffer-name)
+    ('project
+     (if-let ((proj (and (featurep 'project)
+                         (project-current))))
+         (format "%s[%s]" python-shell-buffer-name (file-name-nondirectory
+                                                    (directory-file-name
+                                                     (project-root proj))))
+       python-shell-buffer-name))
+    (_ (format "%s[%s]" python-shell-buffer-name (buffer-name)))))
=20
 (defun python-shell-internal-get-process-name ()
   "Calculate the appropriate process name for Internal Python process.
@@ -3043,8 +3062,8 @@ run-python
 Argument CMD defaults to `python-shell-calculate-command' return
 value.  When called interactively with `prefix-arg', it allows
 the user to edit such value and choose whether the interpreter
-should be DEDICATED for the current buffer.  When numeric prefix
-arg is other than 0 or 4 do not SHOW.
+should be DEDICATED to the current buffer or project.  When
+numeric prefix arg is other than 0 or 4 do not SHOW.
=20
 For a given buffer and same values of DEDICATED, if a process is
 already running for it, it will do nothing.  This means that if
@@ -3058,13 +3077,27 @@ run-python
    (if current-prefix-arg
        (list
         (read-shell-command "Run Python: " (python-shell-calculate-command=
))
-        (y-or-n-p "Make dedicated process? ")
+        (if (not (fboundp 'read-multiple-choice))
+            (y-or-n-p "Make dedicated process? ")
+          (alist-get (car (read-multiple-choice "Make dedicated process?"
+                                                '((?b "to buffer")
+                                                  (?p "to project")
+                                                  (?n "no"))))
+                     '((?b . buffer) (?p . project))))
         (=3D (prefix-numeric-value current-prefix-arg) 4))
-     (list (python-shell-calculate-command) nil t)))
-  (let ((buffer
-         (python-shell-make-comint
-          (or cmd (python-shell-calculate-command))
-          (python-shell-get-process-name dedicated) show)))
+     (list (python-shell-calculate-command)
+           python-shell-dedicated
+           t)))
+  (let* ((project (and (eq 'project dedicated)
+                       (featurep 'project)
+                       (project-current t)))
+         (default-directory (if project
+                                (project-root project)
+                              default-directory))
+         (buffer (python-shell-make-comint
+                  (or cmd (python-shell-calculate-command))
+                  (python-shell-get-process-name dedicated)
+                  show)))
     (get-buffer-process buffer)))
=20
 (defun run-python-internal ()
@@ -3094,15 +3127,13 @@ python-shell-get-buffer
 If current buffer is in `inferior-python-mode', return it."
   (if (derived-mode-p 'inferior-python-mode)
       (current-buffer)
-    (let* ((dedicated-proc-name (python-shell-get-process-name t))
-           (dedicated-proc-buffer-name (format "*%s*" dedicated-proc-name))
-           (global-proc-name  (python-shell-get-process-name nil))
-           (global-proc-buffer-name (format "*%s*" global-proc-name))
-           (dedicated-running (comint-check-proc dedicated-proc-buffer-nam=
e))
-           (global-running (comint-check-proc global-proc-buffer-name)))
-      ;; Always prefer dedicated
-      (or (and dedicated-running dedicated-proc-buffer-name)
-          (and global-running global-proc-buffer-name)))))
+    (seq-some
+     (lambda (dedicated)
+       (let* ((proc-name (python-shell-get-process-name dedicated))
+              (buffer-name (format "*%s*" proc-name)))
+         (when (comint-check-proc buffer-name)
+           buffer-name)))
+     '(buffer project nil))))
=20
 (defun python-shell-get-process ()
   "Return inferior Python process for current buffer."
--=20
2.37.1


--=-=-=--




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Augusto Stoffel <arstoffel@HIDDEN>
Subject: bug#56997: Acknowledgement ([PATCH] Analogue of project-shell for
 Python)
Message-ID: <handler.56997.B.165968467417159.ack <at> debbugs.gnu.org>
References: <874jyr87ux.fsf@HIDDEN>
X-Gnu-PR-Message: ack 56997
X-Gnu-PR-Package: emacs
X-Gnu-PR-Keywords: patch
Reply-To: 56997 <at> debbugs.gnu.org
Date: Fri, 05 Aug 2022 07:32:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 56997 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
56997: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D56997
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#56997: [PATCH] Analogue of project-shell for Python
Resent-From: Philip Kaludercic <philipk@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 05 Aug 2022 09:23:01 +0000
Resent-Message-ID: <handler.56997.B.165969134928552 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 56997
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Augusto Stoffel <arstoffel@HIDDEN>
Cc: 56997 <at> debbugs.gnu.org, monnier@HIDDEN
X-Debbugs-Original-Cc: bug-gnu-emacs@HIDDEN, Stefan Monnier <monnier@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.165969134928552
          (code B ref -1); Fri, 05 Aug 2022 09:23:01 +0000
Received: (at submit) by debbugs.gnu.org; 5 Aug 2022 09:22:29 +0000
Received: from localhost ([127.0.0.1]:56181 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oJtXI-0007QR-Nx
	for submit <at> debbugs.gnu.org; Fri, 05 Aug 2022 05:22:28 -0400
Received: from lists.gnu.org ([209.51.188.17]:59452)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1oJtXH-0007QJ-AU
 for submit <at> debbugs.gnu.org; Fri, 05 Aug 2022 05:22:27 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:46550)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <philipk@HIDDEN>)
 id 1oJtXG-0003ph-MV
 for bug-gnu-emacs@HIDDEN; Fri, 05 Aug 2022 05:22:26 -0400
Received: from mout02.posteo.de ([185.67.36.66]:41343)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <philipk@HIDDEN>)
 id 1oJtXF-00070H-3C
 for bug-gnu-emacs@HIDDEN; Fri, 05 Aug 2022 05:22:26 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id 30517240101
 for <bug-gnu-emacs@HIDDEN>; Fri,  5 Aug 2022 11:22:23 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1659691343; bh=6GvmL3Jq+rzsuH9PBfZUNmRQicYB4/2BhmttBtiSBUA=;
 h=From:To:Cc:Subject:Autocrypt:Date:From;
 b=Eg+xH4sHCyyF7PKERSURMwMRE/aVlU7376X6MMac0LrPFAlGpIRuSKQDNAVVLgHDH
 R69YRM3exnz4pBO6DuaCXNU7tAPyW94PBroehTcbuXmfmK3tdxoICVBk6Xs5HBhOG8
 YeGoaG80qo4zQMnFvUwCVWgwOF0HbhTensBGbVqkU8USoTWARg+bO2OSf6siS+6rsE
 4fEATwHA1hvWRcXAets5WJ50JSx+TkcUSfOlVNXm11A4E5I8joORiLXTkGYl5TlO57
 oLqqIeYQtR9BsOAjEoET1ogX7kbn7g7wRRaiZLmqJoNLerSXqiA0h0OczmnDmCGtJ4
 NzIWH+Nm/jxyg==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4Lzg9B3W0jz9rxh;
 Fri,  5 Aug 2022 11:22:22 +0200 (CEST)
From: Philip Kaludercic <philipk@HIDDEN>
In-Reply-To: <874jyr87ux.fsf@HIDDEN> (Augusto Stoffel's message of "Fri, 05
 Aug 2022 09:31:02 +0200")
References: <874jyr87ux.fsf@HIDDEN>
Autocrypt: addr=philipk@HIDDEN; prefer-encrypt=nopreference; keydata=
 mDMEYHHqUhYJKwYBBAHaRw8BAQdAp3GdmYJ6tm5McweY6dEvIYIiry+Oz9rU4MH6NHWK0Ee0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiQBBMWCAA4FiEEDM2H44ZoPt9Ms0eHtVrAHPRh1FwFAmBx6lICGwMFCwkIBwIGFQoJ
 CAsCBBYCAwECHgECF4AACgkQtVrAHPRh1FyTkgEAjlbGPxFchvMbxzAES3r8QLuZgCxeAXunM9gh
 io0ePtUBALVhh9G6wIoZhl0gUCbQpoN/UJHI08Gm1qDob5zDxnIHuDgEYHHqUhIKKwYBBAGXVQEF
 AQEHQNcRB+MUimTMqoxxMMUERpOR+Q4b1KgncDZkhrO2ql1tAwEIB4h4BBgWCAAgFiEEDM2H44Zo
 Pt9Ms0eHtVrAHPRh1FwFAmBx6lICGwwACgkQtVrAHPRh1Fw1JwD/Qo7kvtib8jy7puyWrSv0MeTS
 g8qIxgoRWJE/KKdkCLEA/jb9b9/g8nnX+UcwHf/4VfKsjExlnND3FrBviXUW6NcB
Date: Fri, 05 Aug 2022 09:22:21 +0000
Message-ID: <874jyrjb8y.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=185.67.36.66; envelope-from=philipk@HIDDEN;
 helo=mout02.posteo.de
X-Spam_score_int: -43
X-Spam_score: -4.4
X-Spam_bar: ----
X-Spam_report: (-4.4 / 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,
 RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

Augusto Stoffel <arstoffel@HIDDEN> writes:

> Philip: I'm working around the possible absence of
> 'read-multiple-choice' here.  Not sure it's a popular/useful enough
> function to include in compat, but I thought I would bring this up.

I have considered it, but the code in rmc.el is about 230 lines of code,
that I didn't want to copy verbatim.  If you think it is worthwhile, I
can try to add `read-multiple-choice' in some form or another.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#56997: [PATCH] Analogue of project-shell for Python
Resent-From: Augusto Stoffel <arstoffel@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 05 Aug 2022 09:54:01 +0000
Resent-Message-ID: <handler.56997.B.165969318631850 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 56997
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Philip Kaludercic <philipk@HIDDEN>
Cc: 56997 <at> debbugs.gnu.org, monnier@HIDDEN
X-Debbugs-Original-Cc: bug-gnu-emacs@HIDDEN, Stefan Monnier <monnier@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.165969318631850
          (code B ref -1); Fri, 05 Aug 2022 09:54:01 +0000
Received: (at submit) by debbugs.gnu.org; 5 Aug 2022 09:53:06 +0000
Received: from localhost ([127.0.0.1]:56267 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oJu0w-0008He-7K
	for submit <at> debbugs.gnu.org; Fri, 05 Aug 2022 05:53:06 -0400
Received: from lists.gnu.org ([209.51.188.17]:40686)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arstoffel@HIDDEN>) id 1oJu0r-0008HC-AU
 for submit <at> debbugs.gnu.org; Fri, 05 Aug 2022 05:53:04 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:52254)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <arstoffel@HIDDEN>)
 id 1oJu0r-0006Rw-3U
 for bug-gnu-emacs@HIDDEN; Fri, 05 Aug 2022 05:53:01 -0400
Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]:43665)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <arstoffel@HIDDEN>)
 id 1oJu0o-0003iT-MT
 for bug-gnu-emacs@HIDDEN; Fri, 05 Aug 2022 05:53:00 -0400
Received: by mail-ej1-x633.google.com with SMTP id gb36so4049262ejc.10
 for <bug-gnu-emacs@HIDDEN>; Fri, 05 Aug 2022 02:52:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc;
 bh=8onAGs6OL9ei0EAEBFSEa/E6sFaqDbtx1n4f8BcHxbo=;
 b=lQjIJt4liPGXraMsCm3sm968SnKM6MV8Q9E+SWm2+cj5BxWUp7EOUpJy/IH7aMgW/7
 3oOWjbTkhGQK7mc2VBJi99e+xzGtNSNnukBkT6r7LrE9rlsUf1Zw2rw/o+dqBJOv8dr3
 wcem2f6ObMAJZ4OkW8DQSM2XHHzSwvcPYORvclKvdT2NrQbiUWckaILcrluWlB9K+BNG
 0cHPYwubXVspg19U0cAbCkKMMOgNq2aRp7TBUPfOdPu8CaYXyyOlCROdID4O20btmEdf
 iIJVsD68H4HIO/h16HT6St6a4Wqoc6QX/IBN988h5F6s/XF6+8CVSO7KX7RrhpWYECFg
 p33w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc;
 bh=8onAGs6OL9ei0EAEBFSEa/E6sFaqDbtx1n4f8BcHxbo=;
 b=lfRhVLk0pOxJYlWAOEV/XMCvc3ZFqTRqo32DwgzRZ9QaP0vwWe+G1dNAGsLK+TDxP3
 IHyYY2UzRZQYLeIvWjvjWQJeniyIy9QhEbzBX9ePs8WtUOcL0ItVXaqhcW+9mktt4XYB
 rHw7kS0v9DshfBdVOeAk6EKGm/Pyf0QTwReW6yzwZUfhhtCpuiUhfKy4o3iR2YRtO3Ce
 Ifc0hdA1ji/j7Ey62t5wcvVYBx6kxqyeYX9OKpM7A8eYV3BMpFdbWWuBs8X9mSUIDDyk
 gyyqCFhMKqqP/bHVNl8ygMwth+xTrC+Sz+o0YQELEV/jhaUM05hKDbHTAlbkGVtXb3LP
 Dw5Q==
X-Gm-Message-State: ACgBeo0jsE3ALEnWGuHljFAhb8tJhbA4mesCsoNSm74iplOrZGML16wB
 AjfuQSWmscqRa73A5SmWLnU=
X-Google-Smtp-Source: AA6agR5pfptt4Pw0SGqHosMNhPYxGlN9hZLy9gn/G/oG2CG7QAN96w4GAR9//Tn2MZtPmeQXu0MtZg==
X-Received: by 2002:a17:907:2854:b0:72b:7daf:cc0d with SMTP id
 el20-20020a170907285400b0072b7dafcc0dmr4779827ejc.524.1659693176985; 
 Fri, 05 Aug 2022 02:52:56 -0700 (PDT)
Received: from ars3 ([2a02:8109:8ac0:56d0::a827])
 by smtp.gmail.com with ESMTPSA id
 g12-20020a170906348c00b00711edab7622sm1367771ejb.40.2022.08.05.02.52.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Aug 2022 02:52:56 -0700 (PDT)
From: Augusto Stoffel <arstoffel@HIDDEN>
In-Reply-To: <874jyrjb8y.fsf@HIDDEN> (Philip Kaludercic's message of "Fri, 
 05 Aug 2022 09:22:21 +0000")
References: <874jyr87ux.fsf@HIDDEN> <874jyrjb8y.fsf@HIDDEN>
Date: Fri, 05 Aug 2022 11:52:55 +0200
Message-ID: <87mtcj6mq0.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=2a00:1450:4864:20::633;
 envelope-from=arstoffel@HIDDEN; helo=mail-ej1-x633.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

On Fri,  5 Aug 2022 at 09:22, Philip Kaludercic <philipk@HIDDEN> wrote:

> Augusto Stoffel <arstoffel@HIDDEN> writes:
>
>> Philip: I'm working around the possible absence of
>> 'read-multiple-choice' here.  Not sure it's a popular/useful enough
>> function to include in compat, but I thought I would bring this up.
>
> I have considered it, but the code in rmc.el is about 230 lines of code,
> that I didn't want to copy verbatim.  If you think it is worthwhile, I
> can try to add `read-multiple-choice' in some form or another.

A bare-bones version that ignores the optional arguments could be much
smaller, but I think it's at best borderline worth implementing it.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#56997: [PATCH] Analogue of project-shell for Python
Resent-From: Philip Kaludercic <philipk@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 05 Aug 2022 11:01:02 +0000
Resent-Message-ID: <handler.56997.B.16596972427040 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 56997
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Augusto Stoffel <arstoffel@HIDDEN>
Cc: 56997 <at> debbugs.gnu.org, monnier@HIDDEN
X-Debbugs-Original-Cc: bug-gnu-emacs@HIDDEN, Stefan Monnier <monnier@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.16596972427040
          (code B ref -1); Fri, 05 Aug 2022 11:01:02 +0000
Received: (at submit) by debbugs.gnu.org; 5 Aug 2022 11:00:42 +0000
Received: from localhost ([127.0.0.1]:56364 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oJv4M-0001pT-51
	for submit <at> debbugs.gnu.org; Fri, 05 Aug 2022 07:00:42 -0400
Received: from lists.gnu.org ([209.51.188.17]:47962)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1oJv4I-0001pK-VN
 for submit <at> debbugs.gnu.org; Fri, 05 Aug 2022 07:00:40 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:33946)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <philipk@HIDDEN>)
 id 1oJv4F-0007hg-P2
 for bug-gnu-emacs@HIDDEN; Fri, 05 Aug 2022 07:00:38 -0400
Received: from mout01.posteo.de ([185.67.36.65]:59051)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <philipk@HIDDEN>)
 id 1oJv4D-0006Tw-E8
 for bug-gnu-emacs@HIDDEN; Fri, 05 Aug 2022 07:00:35 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id EF19C240026
 for <bug-gnu-emacs@HIDDEN>; Fri,  5 Aug 2022 13:00:30 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1659697231; bh=aON8vhBDDw3TFtM3bldGvoC1cJzuimBccLVc+JH2SeY=;
 h=From:To:Cc:Subject:Autocrypt:Date:From;
 b=NbqdRw7z0rhWbLda05PVYZ4dl5nl3Z77RvjjuUPB24GLaiA58cqloqhtOAXd3mifY
 lKwTgUFaAS3juDnusANjJvYjgNynvsK9t2UaUDi99hrl2qq9q5iaMI5K9Q/N76qyPa
 j2ThtTajW/nAOFBaj3krlG/DKbnrOfAaENuU38LLq+9xrdnEHs54QHkF/YaCOegV/d
 I1KKmpZ6NqqMRgYz8Dg54FkDjKqARkOoIHUx1u57ngCR5ROayA5V2wRa1KQTIDCf34
 pdc5UCF0DxusrkqPgpzm1olu/ixj5eJr62goD3AX769uTTqYO2oBzysfwrz42pxcB3
 c+9K1DV2CRW5Q==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4LzjLP2v4Mz9rxM;
 Fri,  5 Aug 2022 13:00:29 +0200 (CEST)
From: Philip Kaludercic <philipk@HIDDEN>
In-Reply-To: <87mtcj6mq0.fsf@HIDDEN> (Augusto Stoffel's message of "Fri, 05
 Aug 2022 11:52:55 +0200")
References: <874jyr87ux.fsf@HIDDEN> <874jyrjb8y.fsf@HIDDEN>
 <87mtcj6mq0.fsf@HIDDEN>
Autocrypt: addr=philipk@HIDDEN; prefer-encrypt=nopreference; keydata=
 mDMEYHHqUhYJKwYBBAHaRw8BAQdAp3GdmYJ6tm5McweY6dEvIYIiry+Oz9rU4MH6NHWK0Ee0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiQBBMWCAA4FiEEDM2H44ZoPt9Ms0eHtVrAHPRh1FwFAmBx6lICGwMFCwkIBwIGFQoJ
 CAsCBBYCAwECHgECF4AACgkQtVrAHPRh1FyTkgEAjlbGPxFchvMbxzAES3r8QLuZgCxeAXunM9gh
 io0ePtUBALVhh9G6wIoZhl0gUCbQpoN/UJHI08Gm1qDob5zDxnIHuDgEYHHqUhIKKwYBBAGXVQEF
 AQEHQNcRB+MUimTMqoxxMMUERpOR+Q4b1KgncDZkhrO2ql1tAwEIB4h4BBgWCAAgFiEEDM2H44Zo
 Pt9Ms0eHtVrAHPRh1FwFAmBx6lICGwwACgkQtVrAHPRh1Fw1JwD/Qo7kvtib8jy7puyWrSv0MeTS
 g8qIxgoRWJE/KKdkCLEA/jb9b9/g8nnX+UcwHf/4VfKsjExlnND3FrBviXUW6NcB
Date: Fri, 05 Aug 2022 11:00:28 +0000
Message-ID: <8735eb3qgj.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@HIDDEN;
 helo=mout01.posteo.de
X-Spam_score_int: -43
X-Spam_score: -4.4
X-Spam_bar: ----
X-Spam_report: (-4.4 / 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,
 RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

Augusto Stoffel <arstoffel@HIDDEN> writes:

> On Fri,  5 Aug 2022 at 09:22, Philip Kaludercic <philipk@HIDDEN> wrote:
>
>> Augusto Stoffel <arstoffel@HIDDEN> writes:
>>
>>> Philip: I'm working around the possible absence of
>>> 'read-multiple-choice' here.  Not sure it's a popular/useful enough
>>> function to include in compat, but I thought I would bring this up.
>>
>> I have considered it, but the code in rmc.el is about 230 lines of code,
>> that I didn't want to copy verbatim.  If you think it is worthwhile, I
>> can try to add `read-multiple-choice' in some form or another.
>
> A bare-bones version that ignores the optional arguments could be much
> smaller, but I think it's at best borderline worth implementing it.

Would this be enough: https://git.sr.ht/~pkal/compat/commit/1250ea050737db8ba07c44eaeab7be2e4faefe0a?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#56997: [PATCH] Analogue of project-shell for Python
Resent-From: Augusto Stoffel <arstoffel@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 05 Aug 2022 11:44:02 +0000
Resent-Message-ID: <handler.56997.B.165969982219277 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 56997
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Philip Kaludercic <philipk@HIDDEN>
Cc: 56997 <at> debbugs.gnu.org, monnier@HIDDEN
X-Debbugs-Original-Cc: bug-gnu-emacs@HIDDEN, Stefan Monnier <monnier@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.165969982219277
          (code B ref -1); Fri, 05 Aug 2022 11:44:02 +0000
Received: (at submit) by debbugs.gnu.org; 5 Aug 2022 11:43:42 +0000
Received: from localhost ([127.0.0.1]:56398 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oJvjx-00050o-C0
	for submit <at> debbugs.gnu.org; Fri, 05 Aug 2022 07:43:42 -0400
Received: from lists.gnu.org ([209.51.188.17]:35896)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arstoffel@HIDDEN>) id 1oJvjh-00050T-T2
 for submit <at> debbugs.gnu.org; Fri, 05 Aug 2022 07:43:40 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:41138)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <arstoffel@HIDDEN>)
 id 1oJvjh-0006xv-0l
 for bug-gnu-emacs@HIDDEN; Fri, 05 Aug 2022 07:43:25 -0400
Received: from mail-ej1-x630.google.com ([2a00:1450:4864:20::630]:45660)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <arstoffel@HIDDEN>)
 id 1oJvjf-0006TB-EZ
 for bug-gnu-emacs@HIDDEN; Fri, 05 Aug 2022 07:43:24 -0400
Received: by mail-ej1-x630.google.com with SMTP id dc19so4497300ejb.12
 for <bug-gnu-emacs@HIDDEN>; Fri, 05 Aug 2022 04:43:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc;
 bh=3Ls6IKhiAFGopnz/xUDArH9cZ9bEyG7x6xPYtPk0peg=;
 b=N8uL2Vm+ROFaDq766T7k/7IbGN24M0j9bA5DZG7fBRMBXJgGvrSTI41GaE5BdJYpx2
 8VTC3N4pMZTRcIXo+uLQT4svORPzxKk/4rLZeyOCImnK7Z9PwsZ/BA/sbPGUQJtfYZb4
 WaEp5YzbyAQFDE6x3D3CpdqRkfqir3FzNlnr23Tp1LxubJtOtzvJ0pFK+bTGR/rAgfpX
 iFUPCxH85EOJdCKjHQD37WV+unqCDkS4QoJd4uT8T/mrscogRzs5KZUa3FpdXHMoqtav
 dX7goHO6WYvqQAv80dcWg3ERC3d1E9l+sRVIIXOHeSD/qb+K6XqtjypKe8awXzNnii5k
 KgYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc;
 bh=3Ls6IKhiAFGopnz/xUDArH9cZ9bEyG7x6xPYtPk0peg=;
 b=1MtGz4IHKjrQ+S+VbDEV26KU46IyY5vFWi1YgMGpVIZ2xMcsi77zy0t9pJy20nRHol
 xjlbmITX9RNEqN9DzyNJQwv80v4QueIDQv8qn9pnnAg4CWee6uK+8zxp3z9mmtKLUufy
 me0sz9mN2l5k7uKjEf+uVFskPYPstLDliZvdNBPt6qUX+Fbi81ihNcfuNv9/D7gUI9fy
 q1jcClMh8jMb9Uv0IKrJp+3wZVT1ctmlWm1Q7i41csLip42yo2QKvSi01O+siIbxNzZz
 IDz0XMQjQSR2tAW6YN2J+IaHPQCbdoN5qGXgDMwCQThgjwZegeJjbeWSOPBm+1i99WI6
 v8MQ==
X-Gm-Message-State: ACgBeo2OjVO/D2A9e5NTxAaj7xUWf7dMi/MsayNm8M0IKfmbYY2reO+X
 uoj1Pu3hLaRQAYElMwhxKVY=
X-Google-Smtp-Source: AA6agR6kiLLz8rMk4EVaxFHdIv0thWV/hRYxE/lGj/fPJM48YJdg6Ut433tzx9v/NEs19guEXIqksQ==
X-Received: by 2002:a17:907:6089:b0:72f:56db:ccb6 with SMTP id
 ht9-20020a170907608900b0072f56dbccb6mr4964434ejc.318.1659699802041; 
 Fri, 05 Aug 2022 04:43:22 -0700 (PDT)
Received: from ars3 ([2a02:8109:8ac0:56d0::a827])
 by smtp.gmail.com with ESMTPSA id
 v9-20020aa7cd49000000b0043d2424aeefsm1991554edw.87.2022.08.05.04.43.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Aug 2022 04:43:21 -0700 (PDT)
From: Augusto Stoffel <arstoffel@HIDDEN>
In-Reply-To: <8735eb3qgj.fsf@HIDDEN> (Philip Kaludercic's message of "Fri, 
 05 Aug 2022 11:00:28 +0000")
References: <874jyr87ux.fsf@HIDDEN> <874jyrjb8y.fsf@HIDDEN>
 <87mtcj6mq0.fsf@HIDDEN> <8735eb3qgj.fsf@HIDDEN>
Date: Fri, 05 Aug 2022 13:43:20 +0200
Message-ID: <87czde7w6f.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=2a00:1450:4864:20::630;
 envelope-from=arstoffel@HIDDEN; helo=mail-ej1-x630.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

On Fri,  5 Aug 2022 at 11:00, Philip Kaludercic <philipk@HIDDEN> wrote:

> Would this be enough: https://git.sr.ht/~pkal/compat/commit/1250ea050737db8ba07c44eaeab7be2e4faefe0a?

Definitely!




Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 8 Aug 2022 14:42:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 08 10:42:42 2022
Received: from localhost ([127.0.0.1]:41465 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oL3xq-00025q-Dh
	for submit <at> debbugs.gnu.org; Mon, 08 Aug 2022 10:42:42 -0400
Received: from mail-vs1-f49.google.com ([209.85.217.49]:39930)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1oL3xo-00025K-D3
 for control <at> debbugs.gnu.org; Mon, 08 Aug 2022 10:42:40 -0400
Received: by mail-vs1-f49.google.com with SMTP id c3so9024664vsc.6
 for <control <at> debbugs.gnu.org>; Mon, 08 Aug 2022 07:42:40 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:mime-version:date:message-id:subject:to;
 bh=BnpKYTFuFYyUhPMFx1Nedal3u4b4K+oZQ0+zFCY9x5I=;
 b=iA1xEniUBbe4MtBx7rsdha1WazEGZo2RGteSj8FfhZhj9dWdeS73dLzDXCp6LiEdMc
 CldNVcU0Wnrims9iS795FrALj5ZtpbawS8v4SJ0shmKKnNe9wAWrJkWvjgSZYHa4wyrY
 UAiyvDK2QYZ2Kf/U6Oxvk7vwrQ1TcYWLeBHsXMva5LXMPkhJ7X0aB0J17uV98TE3iuPL
 mERn5FxKSfS/UKhgsXmf7BxxdqT720dXhuNRjZlloGej0aYsz7P5U4QDTZIT6npFZqrQ
 MW/swQCwYWXb0G48wAaxaJwRGoOLy05Yo8K+RR0OI3MEyMegn319eVf6CwferBAoQpHc
 FZqQ==
X-Gm-Message-State: ACgBeo30eu0u4sNOt4YnN5C58/Y3z7dLyGteLmdI22dOMDfd0XCoyliT
 bNedsKo/5k2LmRlm5IJ3MrH6Bw7nlKz/J65ay/qxqPLQ
X-Google-Smtp-Source: AA6agR75IriidFbJd/SQHg7qRcj7YXxWOHO5ADV1LSACJDB64fgnXM18TqvFtlR83INRtHb0whONS06F1qe2/Dsa4dw=
X-Received: by 2002:a67:efd6:0:b0:388:4860:9bda with SMTP id
 s22-20020a67efd6000000b0038848609bdamr7991309vsp.46.1659969754958; Mon, 08
 Aug 2022 07:42:34 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Mon, 8 Aug 2022 07:42:34 -0700
From: Stefan Kangas <stefan@HIDDEN>
MIME-Version: 1.0
Date: Mon, 8 Aug 2022 07:42:34 -0700
Message-ID: <CADwFkmnWreAkeDPXyonYHEsW1P5TvuRgd=uq6pANPmxreMrU1A@HIDDEN>
Subject: control message for bug #56997
To: control <at> debbugs.gnu.org
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.5 (/)
X-Debbugs-Envelope-To: control
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.5 (/)

severity 56997 wishlist
quit




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#56997: [PATCH] Analogue of project-shell for Python
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 23 Aug 2022 16:41:01 +0000
Resent-Message-ID: <handler.56997.B56997.166127284123443 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 56997
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Augusto Stoffel <arstoffel@HIDDEN>
Cc: Philip Kaludercic <philipk@HIDDEN>, 56997 <at> debbugs.gnu.org
Received: via spool by 56997-submit <at> debbugs.gnu.org id=B56997.166127284123443
          (code B ref 56997); Tue, 23 Aug 2022 16:41:01 +0000
Received: (at 56997) by debbugs.gnu.org; 23 Aug 2022 16:40:41 +0000
Received: from localhost ([127.0.0.1]:44894 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oQWxE-000663-RT
	for submit <at> debbugs.gnu.org; Tue, 23 Aug 2022 12:40:41 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:51266)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1oQWxD-00065c-5b
 for 56997 <at> debbugs.gnu.org; Tue, 23 Aug 2022 12:40:39 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 5FA104416E5;
 Tue, 23 Aug 2022 12:40:33 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 0B7464416E0;
 Tue, 23 Aug 2022 12:40:32 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1661272832;
 bh=cG4czkcFY2HZ+yNqXO5S1VIKVIlCZz0MPD41mNoRLHE=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=hCOYpSMHhEMnDOWj+9XSZWHlRR1YACNI5LX6D3On4BUPkIHxr0SSlkj+Hq/PRPJX9
 4DqmiuCNc8QbMe8WATE0xGoqMTlFBmSe4F8hpWmvAbakXQLsWaZkG7qV78eWuj3JN8
 62fe2VMnQzjcGvVFjGiJObFbGRxS6qQw4SB6slI3hw0nkul80EZ91LHjMqA8JfIZ6s
 FgYu1ujwpnmMUmm+KocusHUH/YFrH/G7Wn+18Z0UfA2kpVMHmExoOFwjo6kDjVcl2L
 ryjcYRB+87sRbcYiDtxcdUbssCL0Tgcnon39q4GSP/HswsKGt+DQDO5r9bQvoUoQ+l
 DcvvsjBm3YnPA==
Received: from alfajor (unknown [45.44.229.252])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E037F12023C;
 Tue, 23 Aug 2022 12:40:31 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <874jyr87ux.fsf@HIDDEN> (Augusto Stoffel's message of "Fri, 05
 Aug 2022 09:31:02 +0200")
Message-ID: <jwv7d2z3p1f.fsf-monnier+emacs@HIDDEN>
References: <874jyr87ux.fsf@HIDDEN>
Date: Tue, 23 Aug 2022 12:40:30 -0400
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.040 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> The Python shell already allows a shell to be "dedicated" to a buffer.
> This patch adds the option to create a shell dedicated to a project, as
> well as the option to make all Python shells dedicated by default.
>
> Stefan: you mentioned python.el could use project.el without a hard
> dependency, so it remains compatible with old Emacsen.  Is this a good
> approach?  (Also: the added seq dependency is kinda superfluous now, but
> it's nice to have it available for future developments as well.)

I must admit that I don't really know how important is the ability to
install python.el in older Emacsen.  I know the maintainers of python.el
want it to be possible, but that doesn't preclude depending on `seq.el`
and `project.el` since those are also available on GNU ELPA.  But it
does make it less convenient for the end user, so whether that matters
depends on its importance.

I suggested a "soft" dependency as a possible choice, without implying
it's necessarily better or worse, sorry :-(

But, FWIW the patch looks good to me.

> -;; Package-Requires: ((emacs "24.4") (cl-lib "1.0"))

BTW, Emacs-24.3 already provides cl-lib-1.0 so we can drop `cl-lib` from
this line.


        Stefan







Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#56997: [PATCH] Analogue of project-shell for Python
Resent-From: Augusto Stoffel <arstoffel@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 24 Aug 2022 16:56:02 +0000
Resent-Message-ID: <handler.56997.B56997.166136014410651 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 56997
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Stefan Monnier <monnier@HIDDEN>
Cc: Philip Kaludercic <philipk@HIDDEN>, 56997 <at> debbugs.gnu.org
Received: via spool by 56997-submit <at> debbugs.gnu.org id=B56997.166136014410651
          (code B ref 56997); Wed, 24 Aug 2022 16:56:02 +0000
Received: (at 56997) by debbugs.gnu.org; 24 Aug 2022 16:55:44 +0000
Received: from localhost ([127.0.0.1]:47990 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oQtfM-0002lh-2P
	for submit <at> debbugs.gnu.org; Wed, 24 Aug 2022 12:55:44 -0400
Received: from mail-ej1-f48.google.com ([209.85.218.48]:35641)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <arstoffel@HIDDEN>) id 1oQtfK-0002lS-4L
 for 56997 <at> debbugs.gnu.org; Wed, 24 Aug 2022 12:55:43 -0400
Received: by mail-ej1-f48.google.com with SMTP id n7so16520997ejh.2
 for <56997 <at> debbugs.gnu.org>; Wed, 24 Aug 2022 09:55:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc;
 bh=FlPAO6qjyDuML5RChuMAxjAoItHpNw/Kn60+VyOFI/w=;
 b=goISY7ZbtL1CJcCrR30fidZ6X3lBuJJJp1zkuQzjWY1s6h9NzUu6AW5lhdcrw6D83R
 YSucTi4om3gEjOdeHSyqQdc7xfUB2yoigGBKj7h1TIEV7Pa1+vu7A0f8qYTmi0K5ZiFx
 6mmLAmkTs3e2ck2BwxvTueo712T996R30WMXQot8tF4h/OYIztwNSmRd6A0oLR3L5yDz
 FaKtVn91wmT9zhSQbbdvSrGs0rN6gZDcciXoPeL57XoAZo9sQlUnO+mGy21lXcyr70qU
 0C/HXFGPsF6gxolIxDkKMh1N0KWK6MYD/2t7QwnndXgS9KPZhQOzrIMVvSk7238VES9l
 x85A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc;
 bh=FlPAO6qjyDuML5RChuMAxjAoItHpNw/Kn60+VyOFI/w=;
 b=MvQV+6zQ0N80MjSVDlNgFrjDX7SX52gFQpqzm2jkMsXZEC5VfUMw3OTO30e0/dDwur
 v67uvKnlqK4QTbcQcUHI8DV58ktfoLu1l45X/w+0kOavrY9qzZXBNf/EN0oUgCebb2xz
 uZxdt0RrX/tcjPrdvb0WzLOlDl40Fo0iFu3z4YhpblUOGgOtew2A5U/1UP49lCMVyExA
 Ig0QwwA46k3aKTJ9zYC2DBo02l+KREfHZF2OM47hjgt/jeV8+BEDWM3lltHKgYpVHFjt
 zbCLUFgU6RaO+DbuqOXC2BzMduzzwjfOhPwVBmw/z2hYkshu023I+x04WOUBz4OECci7
 m45w==
X-Gm-Message-State: ACgBeo22xlSJ8/P3ehuNC4C4oyEHaUsPhtD7O4AHeNc7mKBONKqWw6pG
 ySkMxEKiCYSv3JJeSntSthU=
X-Google-Smtp-Source: AA6agR4RSs3OAC5C4Wk0L52xPyZZgLbUUIpVShbr37EosrStLTPJ63tBxj2Wn9yfRGBE0ppfi7p2Wg==
X-Received: by 2002:a17:907:2bce:b0:73d:6ab5:17f4 with SMTP id
 gv14-20020a1709072bce00b0073d6ab517f4mr3583215ejc.632.1661360136204; 
 Wed, 24 Aug 2022 09:55:36 -0700 (PDT)
Received: from ars3 (pd95c95b0.dip0.t-ipconnect.de. [217.92.149.176])
 by smtp.gmail.com with ESMTPSA id
 y3-20020aa7d503000000b00445f3ba4674sm64188edq.63.2022.08.24.09.55.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Aug 2022 09:55:35 -0700 (PDT)
From: Augusto Stoffel <arstoffel@HIDDEN>
In-Reply-To: <jwv7d2z3p1f.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Tue, 23 Aug 2022 12:40:30 -0400")
References: <874jyr87ux.fsf@HIDDEN> <jwv7d2z3p1f.fsf-monnier+emacs@HIDDEN>
Date: Wed, 24 Aug 2022 18:55:33 +0200
Message-ID: <874jy1eg3e.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain

On Tue, 23 Aug 2022 at 12:40, Stefan Monnier <monnier@HIDDEN> wrote:

>
>> The Python shell already allows a shell to be "dedicated" to a buffer.
>> This patch adds the option to create a shell dedicated to a project, as
>> well as the option to make all Python shells dedicated by default.
>>
>> Stefan: you mentioned python.el could use project.el without a hard
>> dependency, so it remains compatible with old Emacsen.  Is this a good
>> approach?  (Also: the added seq dependency is kinda superfluous now, but
>> it's nice to have it available for future developments as well.)
>
> I must admit that I don't really know how important is the ability to
> install python.el in older Emacsen.  I know the maintainers of python.el
> want it to be possible, but that doesn't preclude depending on `seq.el`
> and `project.el` since those are also available on GNU ELPA.  But it
> does make it less convenient for the end user, so whether that matters
> depends on its importance.

I see the point of remaining compatible going back one or two versions,
not so much with even older versions; it's not like a Python major mode
is unavailable in Emacs 24 and 25.

> I suggested a "soft" dependency as a possible choice, without implying
> it's necessarily better or worse, sorry :-(

In any case I don't see any other practical way to proceed...

> But, FWIW the patch looks good to me.
>
>> -;; Package-Requires: ((emacs "24.4") (cl-lib "1.0"))
>
> BTW, Emacs-24.3 already provides cl-lib-1.0 so we can drop `cl-lib` from
> this line.
>
>
>         Stefan

I've attached a new patch with a requirement on compat, so we can use
read-multiple-choice unconditionally (I also removed the unnecessary
cl-lib from the Package-Requires header).


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment;
 filename=0001-Python-shells-dedicated-to-a-project.patch
Content-Transfer-Encoding: quoted-printable

From 8b39ed7a724ae040798834c01ad11d4537fda0ee Mon Sep 17 00:00:00 2001
From: Augusto Stoffel <arstoffel@HIDDEN>
Date: Thu, 4 Aug 2022 12:08:58 +0200
Subject: [PATCH] Python shells dedicated to a project

These shells run in the project root directory and are shared among
all project buffers.

* lisp/progmodes/python.el: Require 'seq' and (optionally) 'compat'
and 'project' libraries.
(python-shell-dedicated): New user option
(python-shell-get-process-name): Adapt to project-dedicated shells.
(run-python): Offer possibility to create a project-dedicated shell,
or use 'python-shell-dedicated' as the default behavior.
(python-shell-get-buffer): Adapt to project-dedicated shells.
---
 etc/NEWS                 | 11 ++++++
 lisp/progmodes/python.el | 78 +++++++++++++++++++++++++++-------------
 2 files changed, 65 insertions(+), 24 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index 963aa22c68..fcbf7deba7 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2055,6 +2055,17 @@ the Galeon web browser was released in September, 20=
08.
 Note that this historical web browser is different from Mozilla
 Firefox; it is its predecessor.
=20
+** Python Mode
++++
+*** Project shells and a new user option 'python-shell-dedicated'
+When called with a prefix argument, 'run-python' now offers the choice
+of creating a shell dedicated to the current project.  This shell runs
+in the project root directory and is shared among all project buffers.
+
+Without a prefix argument, the kind of shell (buffer-dedicated,
+project-dedicated or global) is specified by the new
+'python-shell-dedicated' variable.
+
 ** Ruby Mode
=20
 ---
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index b8fc7d4c54..31909e6dc2 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -5,7 +5,7 @@
 ;; Author: Fabi=C3=A1n E. Gallina <fgallina@HIDDEN>
 ;; URL: https://github.com/fgallina/python.el
 ;; Version: 0.28
-;; Package-Requires: ((emacs "24.4") (cl-lib "1.0"))
+;; Package-Requires: ((emacs "24.4") (compat "28.1.2.1") (seq "2.23"))
 ;; Maintainer: emacs-devel@HIDDEN
 ;; Created: Jul 2010
 ;; Keywords: languages
@@ -245,6 +245,9 @@
 (require 'ansi-color)
 (require 'cl-lib)
 (require 'comint)
+(require 'compat nil 'noerror)
+(require 'project nil 'noerror)
+(require 'seq)
 (eval-when-compile (require 'subr-x))   ;For `string-empty-p'.
=20
 ;; Avoid compiler warnings
@@ -2218,6 +2221,16 @@ python-shell-compilation-regexp-alist
   "`compilation-error-regexp-alist' for inferior Python."
   :type '(alist regexp))
=20
+(defcustom python-shell-dedicated nil
+  "Whether to make Python shells dedicated by default.
+This option influences `run-python' when called without a prefix
+argument.  If `buffer' or `project', create a Python shell
+dedicated to the current buffer or its project (if one is found)."
+  :version "29.1"
+  :type '(choice (const :tag "To buffer" buffer)
+                 (const :tag "To project" project)
+                 (const :tag "Not dedicated" nil)))
+
 (defvar python-shell-output-filter-in-progress nil)
 (defvar python-shell-output-filter-buffer nil)
=20
@@ -2580,12 +2593,19 @@ python-shell-prompt-set-calculated-regexps
=20
 (defun python-shell-get-process-name (dedicated)
   "Calculate the appropriate process name for inferior Python process.
-If DEDICATED is t returns a string with the form
-`python-shell-buffer-name'[`buffer-name'] else returns the value
-of `python-shell-buffer-name'."
-  (if dedicated
-      (format "%s[%s]" python-shell-buffer-name (buffer-name))
-    python-shell-buffer-name))
+If DEDICATED is nil, this is simply `python-shell-buffer-name'.
+If DEDICATED is `buffer' or `project', append the current buffer
+name respectively the current project name."
+  (pcase dedicated
+    ('nil python-shell-buffer-name)
+    ('project
+     (if-let ((proj (and (featurep 'project)
+                         (project-current))))
+         (format "%s[%s]" python-shell-buffer-name (file-name-nondirectory
+                                                    (directory-file-name
+                                                     (project-root proj))))
+       python-shell-buffer-name))
+    (_ (format "%s[%s]" python-shell-buffer-name (buffer-name)))))
=20
 (defun python-shell-internal-get-process-name ()
   "Calculate the appropriate process name for Internal Python process.
@@ -3043,8 +3063,8 @@ run-python
 Argument CMD defaults to `python-shell-calculate-command' return
 value.  When called interactively with `prefix-arg', it allows
 the user to edit such value and choose whether the interpreter
-should be DEDICATED for the current buffer.  When numeric prefix
-arg is other than 0 or 4 do not SHOW.
+should be DEDICATED to the current buffer or project.  When
+numeric prefix arg is other than 0 or 4 do not SHOW.
=20
 For a given buffer and same values of DEDICATED, if a process is
 already running for it, it will do nothing.  This means that if
@@ -3058,13 +3078,25 @@ run-python
    (if current-prefix-arg
        (list
         (read-shell-command "Run Python: " (python-shell-calculate-command=
))
-        (y-or-n-p "Make dedicated process? ")
+        (alist-get (car (read-multiple-choice "Make dedicated process?"
+                                              '((?b "to buffer")
+                                                (?p "to project")
+                                                (?n "no"))))
+                   '((?b . buffer) (?p . project)))
         (=3D (prefix-numeric-value current-prefix-arg) 4))
-     (list (python-shell-calculate-command) nil t)))
-  (let ((buffer
-         (python-shell-make-comint
-          (or cmd (python-shell-calculate-command))
-          (python-shell-get-process-name dedicated) show)))
+     (list (python-shell-calculate-command)
+           python-shell-dedicated
+           t)))
+  (let* ((project (and (eq 'project dedicated)
+                       (featurep 'project)
+                       (project-current t)))
+         (default-directory (if project
+                                (project-root project)
+                              default-directory))
+         (buffer (python-shell-make-comint
+                  (or cmd (python-shell-calculate-command))
+                  (python-shell-get-process-name dedicated)
+                  show)))
     (get-buffer-process buffer)))
=20
 (defun run-python-internal ()
@@ -3094,15 +3126,13 @@ python-shell-get-buffer
 If current buffer is in `inferior-python-mode', return it."
   (if (derived-mode-p 'inferior-python-mode)
       (current-buffer)
-    (let* ((dedicated-proc-name (python-shell-get-process-name t))
-           (dedicated-proc-buffer-name (format "*%s*" dedicated-proc-name))
-           (global-proc-name  (python-shell-get-process-name nil))
-           (global-proc-buffer-name (format "*%s*" global-proc-name))
-           (dedicated-running (comint-check-proc dedicated-proc-buffer-nam=
e))
-           (global-running (comint-check-proc global-proc-buffer-name)))
-      ;; Always prefer dedicated
-      (or (and dedicated-running dedicated-proc-buffer-name)
-          (and global-running global-proc-buffer-name)))))
+    (seq-some
+     (lambda (dedicated)
+       (let* ((proc-name (python-shell-get-process-name dedicated))
+              (buffer-name (format "*%s*" proc-name)))
+         (when (comint-check-proc buffer-name)
+           buffer-name)))
+     '(buffer project nil))))
=20
 (defun python-shell-get-process ()
   "Return inferior Python process for current buffer."
--=20
2.37.2


--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#56997: [PATCH] Analogue of project-shell for Python
Resent-From: Lars Ingebrigtsen <larsi@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 04 Sep 2022 11:15:02 +0000
Resent-Message-ID: <handler.56997.B56997.166229006429599 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 56997
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Augusto Stoffel <arstoffel@HIDDEN>
Cc: Philip Kaludercic <philipk@HIDDEN>, Stefan Monnier <monnier@HIDDEN>, 56997 <at> debbugs.gnu.org
Received: via spool by 56997-submit <at> debbugs.gnu.org id=B56997.166229006429599
          (code B ref 56997); Sun, 04 Sep 2022 11:15:02 +0000
Received: (at 56997) by debbugs.gnu.org; 4 Sep 2022 11:14:24 +0000
Received: from localhost ([127.0.0.1]:43554 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oUna3-0007hK-Ou
	for submit <at> debbugs.gnu.org; Sun, 04 Sep 2022 07:14:23 -0400
Received: from quimby.gnus.org ([95.216.78.240]:56866)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oUna2-0007h6-9z
 for 56997 <at> debbugs.gnu.org; Sun, 04 Sep 2022 07:14:22 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=trEF48Qwi6jt8wzN8Rh9ExzcOMYmSI4KcbH95vaKFBw=; b=iv+N6GdCYl9h9wsjdRGurQVPNB
 UMuTZA7en/nelwJpBpjmX33iACvy0G1IVg7m7vyaqDYfi5fMrC6L7jnkzawkwpgbS6LSKTCiyc1oo
 38TZJv7RtAO5ZQlHxqRh3ReXGh0wxU+FI2RyyFbub8a/5o97fy9kWrrJktMibtNE2ElY=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oUnZs-0000lT-Pu; Sun, 04 Sep 2022 13:14:14 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
In-Reply-To: <874jy1eg3e.fsf@HIDDEN> (Augusto Stoffel's message of "Wed, 24
 Aug 2022 18:55:33 +0200")
References: <874jyr87ux.fsf@HIDDEN> <jwv7d2z3p1f.fsf-monnier+emacs@HIDDEN>
 <874jy1eg3e.fsf@HIDDEN>
X-Now-Playing: The Beatles's _The Beatles (2)_: "Yer Blues"
Date: Sun, 04 Sep 2022 13:14:12 +0200
Message-ID: <875yi39yt7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview: Augusto Stoffel <arstoffel@HIDDEN> writes: > I've attached
 a new patch with a requirement on compat, so we can use > read-multiple-choice
 unconditionally (I also removed the unnecessary > cl-lib from the
 Package-Requires header). 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Augusto Stoffel <arstoffel@HIDDEN> writes:

> I've attached a new patch with a requirement on compat, so we can use
> read-multiple-choice unconditionally (I also removed the unnecessary
> cl-lib from the Package-Requires header).

Thanks; now pushed to Emacs 29.




Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 4 Sep 2022 11:14:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 04 07:14:26 2022
Received: from localhost ([127.0.0.1]:43557 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oUna6-0007hY-19
	for submit <at> debbugs.gnu.org; Sun, 04 Sep 2022 07:14:26 -0400
Received: from quimby.gnus.org ([95.216.78.240]:56880)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oUna4-0007h9-Eh
 for control <at> debbugs.gnu.org; Sun, 04 Sep 2022 07:14:24 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc:
 MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:
 Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
 :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=8aD3ehTNFIvUlQ6IA7yqDR7af4ttP/yiqTB+UD4a21o=; b=UH++cbsc4PNw9Yt+xulpJHUpfs
 /PtqTwVZZrzozoc7gIVzkfVoW6TUaEk/+vui79y/e5WR+zQnxB3PA17GF2JQrI06BD7EYdaGPwg6T
 c7rZTZgb4KEP/EOM6AzjNtM/8LO6Gg/GQIZ8j1wS9t4WRut5d7R55hiHUBgLaoXnCiyQ=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>) id 1oUnZw-0000lY-Uc
 for control <at> debbugs.gnu.org; Sun, 04 Sep 2022 13:14:18 +0200
Date: Sun, 04 Sep 2022 13:14:16 +0200
Message-Id: <874jxn9yt3.fsf@HIDDEN>
To: control <at> debbugs.gnu.org
From: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: control message for bug #56997
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  close 56997 29.1 quit 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: control
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

close 56997 29.1
quit






Last modified: Sun, 4 Sep 2022 11:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.