|
From: | Robin Allen |
Subject: | bug#30208: M-x pdb breaks if certain characters are in the file's path |
Date: | Mon, 22 Jan 2018 11:35:09 +0000 |
"M-x pdb" breaks if the path to the file being debugged includes certain characters.
CONFIGURATION GNU Emacs 25.3.1 Happens with default settings (no init file) STEPS TO REPRODUCE M-x pdb Run pdb (like this): python3 -m pdb test.py WHAT SHOULD HAPPEN A *gud-pdb* buffer should open, display the PDB prompt, and accept debugger commands. WHAT ACTUALLY HAPPENS A *gud-pdb* buffer opens, with output: "Current directory is /home/me@mycompany.local/" and nothing else. Commands sent to the debugger do seem to work, but the prompt and debugger output is not displayed. After sending many commands, all the previous prompts and outputs may appear in one big lump, as if this were a buffering issue (though I don't think it is). WORKAROUND This is caused by GUD choking on the @ character in the file path. I worked around it by putting this in .emacs: (setq gud-pdb-marker-regexp "^> \\([-a-zA-Z0-9_/.:\\@ ]*\\|<string>\\)(\\([0-9]+\\))\\([a-zA-Z0-9_]*\\|\\?\\|<module>\\)()\\(->[^\n\r]*\\)?[\n\r]") This is the default value, with @ (and space, for good measure) inserted in the first group. SUGGESTED FIX Update the default value of gud-gdb-marker-regexp I hope this is useful Robin |
[Prev in Thread] | Current Thread | [Next in Thread] |