Subject: bug#41619: closed (Re: bug#41619: [PATCH] Mark python-shell-virtualenv-root as safe local variable)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 13 Jun 2020 07:44:02 +0000

Your bug report

#41619: [PATCH] Mark python-shell-virtualenv-root as safe local variable

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
41619: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41619
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#41619: [PATCH] Mark python-shell-virtualenv-root as safe local variable
From: Eli Zaretskii <[email-masked]>
To: "Philip K." <[email-masked]>
Cc: [email-masked]
Date: Sat, 13 Jun 2020 10:42:57 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: "Philip K." <[email-masked]>
> Date: Sat, 30 May 2020 22:31:09 +0200
> 
> I was trying to work with python today and it required me to use a
> virtual environment. I noticed that python-mode already had some basic
> virtualenv facilites, and it all worked. The only thing that annoyed me
> was that I couldn't configure the setup to be properly persistent, since
> python-shell-virtualenv-root couldn't be set as a directory local
> variable.
> 
> The commentary section mentions
> 
> > ;; (setq python-shell-virtualenv-root "/path/to/env/")
> 
> but I couldn't find any other details on how the mode expects me to set
> the variable.
> 
> Therefore I patched the few lines, and it works great.

Thanks, installed on the master branch.

In the future please accompany your changes with a ChangeLog-style
commit log entry; see CONTRIBUTE for the details.  (I added that for
you in this case.)

Subject: [PATCH] Mark python-shell-virtualenv-root as safe local variable
From: "Philip K." <[email-masked]>
To: [email-masked]
Date: Sat, 30 May 2020 22:31:09 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

I was trying to work with python today and it required me to use a
virtual environment. I noticed that python-mode already had some basic
virtualenv facilites, and it all worked. The only thing that annoyed me
was that I couldn't configure the setup to be properly persistent, since
python-shell-virtualenv-root couldn't be set as a directory local
variable.

The commentary section mentions

> ;; (setq python-shell-virtualenv-root "/path/to/env/")

but I couldn't find any other details on how the mode expects me to set
the variable.

Therefore I patched the few lines, and it works great.

>From 31beb4931ae7800e719ac470ba8bd14a977f765c Mon Sep 17 00:00:00 2001
From: Philip K <[email-masked]>
Date: Sat, 30 May 2020 21:47:51 +0200
Subject: [PATCH] Mark python-shell-virtualenv-root as safe for directories

---
 lisp/progmodes/python.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 1ca9f01963..f9537b4079 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -2090,7 +2090,8 @@ python-shell-virtualenv-root
 This variable, when set to a string, makes the environment to be
 modified such that shells are started within the specified
 virtualenv."
-  :type '(choice (const nil) string)
+  :type '(choice (const nil) directory)
+  :safe #'file-directory-p
   :group 'python)
 
 (defcustom python-shell-setup-codes nil
-- 
2.26.2