> On 18 Apr 2023, at 14:20, Gustaf Waldemarson <[email protected]>
> wrote:
>
> Hello,
>
> I don't really use the Python debugger all that much, but recently I used it
> quite a bit for a small side-project. That said, it kept annoying me that
> there
> were no history associated with the prompt, so I added a few lines to the
> `pdbrc` config file to store that for me. However, it seems like this file
> must
> either exist in the user home directory, or the current working directory,
> neither of which were very convenient for me.
>
> Additionally, I strongly dislike polluting my home directory with dotfiles,
> thus
> I did a bit of researching to see if this could be fixed. Thus, below is a
> small
> patch to PDB that adds support for **also** reading from configuration files
> in
> some XDG directories (currently ${XDG_CONFIG_HOME}/python/pdbrc).
>
> So I guess the question is, would anyone else find this useful enough to the
> point were I should write a PEP for it? As far as I can tell, Python haven't
> been using the XDG directories, so I suppose the naming of the subdirectory
> is really subject to a larger discussion.
>
> From d4ea8fbba3ba6c7538ccecad2a32e6b3b2059e5d Mon Sep 17 00:00:00 2001
> From: Gustaf Waldemarson <[email protected]>
> Date: Thu, 13 Apr 2023 11:39:00 +0200
> Subject: [PATCH] Allow users to store PDB configuration in XDG directories.
>
> ---
> Lib/pdb.py | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/Lib/pdb.py b/Lib/pdb.py
> index a3553b345a..3f4ffd7719 100755
> --- a/Lib/pdb.py
> +++ b/Lib/pdb.py
> @@ -231,19 +231,19 @@ def __init__(self, completekey='tab', stdin=None,
> stdout=None, skip=None,
> self.allow_kbdint = False
> self.nosigint = nosigint
>
> - # Read ~/.pdbrc and ./.pdbrc
> + # Read user configuration from a set of paths.
> self.rcLines = []
> if readrc:
> - try:
> - with open(os.path.expanduser('~/.pdbrc'),
> encoding='utf-8') as rcFile:
> - self.rcLines.extend(rcFile)
> - except OSError:
> - pass
> - try:
> - with open(".pdbrc", encoding='utf-8') as rcFile:
> - self.rcLines.extend(rcFile)
> - except OSError:
> - pass
> + for rcFileName in ('${XDG_CONFIG_HOME}/python/pdbrc',
> + '~/.config/python/pdbrc',
> + '~/.pdbrc',
> + '.pdbrc'):
I would expect .pdbrc to be first.
> + rcPath =
> os.path.expanduser(os.path.expandvars(rcFileName))
> + try:
> + with open(rcPath, encoding='utf-8') as rcFile:
> + self.rcLines.extend(rcFile)
> + except OSError:
> + pass
>
> self.commands = {} # associates a command list to breakpoint
> numbers
> self.commands_doprompt = {} # for each bp num, tells if the prompt
Try raising a python bug and a PR with this code in it.
Seems reasonable change to support.
Barry
> --
> 2.25.1
> _______________________________________________
> Python-ideas mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/[email protected]/message/HWWWESO3KUCU54OU5FISD3RKLEZMKBP7/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/WCO4GTZUYTHQ4CVS72OWEPEP22RO7PB7/
Code of Conduct: http://python.org/psf/codeofconduct/