Package: python3-argcomplete
Version: 3.5.1-1
Severity: important
Control: affects -1 + mailscripts sopv-gpgv

Several command line tools depend on python3-argcomplete for tab
completion in bash, including imap-dl and email-print-mime-structure
from mailscripts and sopv-gpgv.

At some point in the past, you could do:

    email-print-mime-structure --<TAB>

and you would be presented with the options --pgpkey, --cmskey,
--use-gpg-agent, --no-use-gpg-agent, --help, and so forth.

Right now, that doesn't work.

If i export _ARC_DEBUG=1, though, and then it tab on the same line, i
get the following dumped to the terminal:

```
word -- split, lexer state: 'None'

LINE: 'email-print-mime-structure --' 
POINT: 29 
PREQUOTE: '' 
PREFIX: '--' 
SUFFIX: '' 
WORDS: ['email-print-mime-structure']
Active parsers: 
[MonkeyPatchedIntrospectiveArgumentParser(prog='email-print-mime-structure', 
usage=None, description='Read RFC2822 MIME message from stdin and emit a tree 
diagram to stdout.', formatter_class=<class 'argparse.HelpFormatter'>, 
conflict_handler='error', add_help=True)]
Visited positionals: 
[MonkeyPatchedIntrospectiveArgumentParser(prog='email-print-mime-structure', 
usage=None, description='Read RFC2822 MIME message from stdin and emit a tree 
diagram to stdout.', formatter_class=<class 'argparse.HelpFormatter'>, 
conflict_handler='error', add_help=True)]
invoking parser with []

exception <class 'TypeError'> IntrospectiveArgumentParser._parse_known_args() 
takes 3 positional arguments but 4 were given while parsing args
all active parsers: 
[MonkeyPatchedIntrospectiveArgumentParser(prog='email-print-mime-structure', 
usage=None, description='Read RFC2822 MIME message from stdin and emit a tree 
diagram to stdout.', formatter_class=<class 'argparse.HelpFormatter'>, 
conflict_handler='error', add_help=True)]
active_parser: 
MonkeyPatchedIntrospectiveArgumentParser(prog='email-print-mime-structure', 
usage=None, description='Read RFC2822 MIME message from stdin and emit a tree 
diagram to stdout.', formatter_class=<class 'argparse.HelpFormatter'>, 
conflict_handler='error', add_help=True)
Traceback (most recent call last):
  File "/usr/bin/email-print-mime-structure", line 230, in <module>
    main()
  File "/usr/bin/email-print-mime-structure", line 213, in main
    argcomplete.autocomplete(parser)
  File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 174, in 
__call__
    completions = self._get_completions(comp_words, cword_prefix, 
cword_prequote, last_wordbreak_pos)
                  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 223, in 
_get_completions
    completions = self.collect_completions(active_parsers, parsed_args, 
cword_prefix)
                  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 440, in 
collect_completions
    completions += self._get_option_completions(active_parser, cword_prefix)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 326, in 
_get_option_completions
    if not self._action_allowed(action, parser):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 336, in 
_action_allowed
    for conflict_action in parser._action_conflicts.get(action, []):
                           ^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no 
attribute '_action_conflicts'
```

I saw the same problem with python3 3.12.6-1 as well, i think. I'm not
sure when this was introduced, if it was related to a python update, or
a python3-argcomplete update, or what. ☹

I do note that when i try this on a bookworm system with python3
3.11.2-1+b1 but updated to mailscripts and python3-argcomplete from
testing/unstable, the tab completion *does* work.  So maybe it's some
interaction with the newer version of python3?

Thanks for maintaining python3-argcomplete in debian!

       --dkg


-- System Information:
Debian Release: trixie/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing'), (200, 
'unstable-debug'), (200, 'unstable'), (1, 'experimental-debug'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.11.5-amd64 (SMP w/20 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-argcomplete depends on:
ii  python3  3.12.7-1

python3-argcomplete recommends no packages.

python3-argcomplete suggests no packages.

-- no debconf information

Attachment: signature.asc
Description: PGP signature

Reply via email to