Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-argcomplete for openSUSE:Factory checked in at 2026-02-11 18:53:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-argcomplete (Old) and /work/SRC/openSUSE:Factory/.python-argcomplete.new.1670 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-argcomplete" Wed Feb 11 18:53:30 2026 rev:45 rq:1330905 version:3.6.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-argcomplete/python-argcomplete.changes 2025-08-12 17:04:25.194873716 +0200 +++ /work/SRC/openSUSE:Factory/.python-argcomplete.new.1670/python-argcomplete.changes 2026-02-11 18:53:31.313171699 +0100 @@ -1,0 +2,11 @@ +Wed Feb 4 09:07:21 UTC 2026 - Daniel Garcia <[email protected]> + +- Update to 3.6.3: + * Make RE PCRE compatible. Fixes #539 + * Only execute Python interpreters (#536) + * fish: set variable scope to local to avoid clobbering global or + universal variables (#534) + * Documentation and help improvements +- Add %pythons_for_pypi macro + +------------------------------------------------------------------- Old: ---- argcomplete-3.6.2.tar.gz New: ---- argcomplete-3.6.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-argcomplete.spec ++++++ --- /var/tmp/diff_new_pack.1Ay4zi/_old 2026-02-11 18:53:32.205209268 +0100 +++ /var/tmp/diff_new_pack.1Ay4zi/_new 2026-02-11 18:53:32.209209436 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-argcomplete # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # Copyright (c) 2013 Darin Perusich. # # All modifications and additions to the file contributed by third parties @@ -30,9 +30,10 @@ %else %bcond_with libalternatives %endif +%{?pythons_for_pypi} %{?sle15_python_module_pythons} Name: python-argcomplete%{psuffix} -Version: 3.6.2 +Version: 3.6.3 Release: 0 Summary: Bash tab completion for argparse License: Apache-2.0 @@ -99,12 +100,17 @@ %if %{with test} export LANG=en_US.UTF-8 export TERM=xterm-mono +cp -rf test test.bak %{python_expand \ # https://github.com/kislyuk/argcomplete/issues/255 # https://github.com/kislyuk/argcomplete/issues/299 sed -i -e "1s|#!.*python.*|#!%{__$python}|" test/prog test/*.py sed -i -e "s|python3 |$python |g" test/test.py + sed -i -e "s|pip install|$python -mpip install --no-build-isolation|g" test/test.py $python ./test/test.py -v + + rm -rf test + cp -r test.bak test } %endif ++++++ argcomplete-3.6.2.tar.gz -> argcomplete-3.6.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argcomplete-3.6.2/Changes.rst new/argcomplete-3.6.3/Changes.rst --- old/argcomplete-3.6.2/Changes.rst 2020-02-02 01:00:00.000000000 +0100 +++ new/argcomplete-3.6.3/Changes.rst 2020-02-02 01:00:00.000000000 +0100 @@ -1,3 +1,15 @@ +Changes for v3.6.3 (2025-10-19) +=============================== + +- Make RE PCRE compatible. Fixes #539 + +- Only execute Python interpreters (#536) + +- fish: set variable scope to local to avoid clobbering global or + universal variables (#534) + +- Documentation and help improvements + Changes for v3.6.2 (2025-04-02) =============================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argcomplete-3.6.2/PKG-INFO new/argcomplete-3.6.3/PKG-INFO --- old/argcomplete-3.6.2/PKG-INFO 2020-02-02 01:00:00.000000000 +0100 +++ new/argcomplete-3.6.3/PKG-INFO 2020-02-02 01:00:00.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: argcomplete -Version: 3.6.2 +Version: 3.6.3 Summary: Bash tab completion for argparse Project-URL: Homepage, https://github.com/kislyuk/argcomplete Project-URL: Documentation, https://kislyuk.github.io/argcomplete @@ -51,7 +51,7 @@ It makes two assumptions: -* You're using bash or zsh as your shell +* You're using bash or zsh as your shell (limited support exists for other shells - see below) * You're using `argparse <http://docs.python.org/3/library/argparse.html>`_ to manage your command line arguments/options Argcomplete is particularly useful if your program has lots of options or subparsers, and if your program can diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argcomplete-3.6.2/README.rst new/argcomplete-3.6.3/README.rst --- old/argcomplete-3.6.2/README.rst 2020-02-02 01:00:00.000000000 +0100 +++ new/argcomplete-3.6.3/README.rst 2020-02-02 01:00:00.000000000 +0100 @@ -6,7 +6,7 @@ It makes two assumptions: -* You're using bash or zsh as your shell +* You're using bash or zsh as your shell (limited support exists for other shells - see below) * You're using `argparse <http://docs.python.org/3/library/argparse.html>`_ to manage your command line arguments/options Argcomplete is particularly useful if your program has lots of options or subparsers, and if your program can diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argcomplete-3.6.2/argcomplete/bash_completion.d/_python-argcomplete new/argcomplete-3.6.3/argcomplete/bash_completion.d/_python-argcomplete --- old/argcomplete-3.6.2/argcomplete/bash_completion.d/_python-argcomplete 2020-02-02 01:00:00.000000000 +0100 +++ new/argcomplete-3.6.3/argcomplete/bash_completion.d/_python-argcomplete 2020-02-02 01:00:00.000000000 +0100 @@ -193,7 +193,8 @@ if (__python_argcomplete_scan_head_noerr "$SCRIPT_NAME" easy_install \ && "${interpreter[@]}" "$(__python_argcomplete_which python-argcomplete-check-easy-install-script)" "$SCRIPT_NAME") >/dev/null 2>&1; then ARGCOMPLETE=1 - elif __python_argcomplete_run "${interpreter[@]}" -m argcomplete._check_console_script "$SCRIPT_NAME"; then + elif ([[ "${interpreter[@]}" == *python* ]] || [[ "${interpreter[@]}" == *pypy* ]])\ + && __python_argcomplete_run "${interpreter[@]}" -m argcomplete._check_console_script "$SCRIPT_NAME"; then ARGCOMPLETE=1 fi fi @@ -215,7 +216,7 @@ if is-at-least 5.8; then nosort=(-o nosort) fi - if [[ "${completions-}" =~ ([^\\]): && "${BASH_REMATCH[2]}" =~ [=/:] ]]; then + if [[ "${completions-}" =~ ([^\\\\]): && "${BASH_REMATCH[2]}" =~ [=/:] ]]; then nospace=(-S '') fi _describe "$executable" completions "${nosort[@]}" "${nospace[@]}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argcomplete-3.6.2/argcomplete/finders.py new/argcomplete-3.6.3/argcomplete/finders.py --- old/argcomplete-3.6.2/argcomplete/finders.py 2020-02-02 01:00:00.000000000 +0100 +++ new/argcomplete-3.6.3/argcomplete/finders.py 2020-02-02 01:00:00.000000000 +0100 @@ -48,6 +48,7 @@ append_space=None, ): self._parser = argument_parser + self._formatter = None self.always_complete_options = always_complete_options self.exclude = exclude if validator is None: @@ -283,6 +284,15 @@ return self.active_parsers + def _get_action_help(self, action): + if action.help is None: + return "" + if "%" not in action.help: + return action.help + if self._formatter is None: + self._formatter = self._parser.formatter_class(prog=self._parser.prog) + return self._formatter._expand_help(action) + def _get_subparser_completions(self, parser, cword_prefix): aliases_by_parser: Dict[argparse.ArgumentParser, List[str]] = {} for key in parser.choices.keys(): @@ -292,7 +302,7 @@ for action in parser._get_subactions(): for alias in aliases_by_parser[parser.choices[action.dest]]: if alias.startswith(cword_prefix): - self._display_completions[alias] = action.help or "" + self._display_completions[alias] = self._get_action_help(action) completions = [subcmd for subcmd in parser.choices.keys() if subcmd.startswith(cword_prefix)] return completions @@ -313,7 +323,7 @@ if action.option_strings: for option_string in action.option_strings: if option_string.startswith(cword_prefix): - self._display_completions[option_string] = action.help or "" + self._display_completions[option_string] = self._get_action_help(action) option_completions = [] for action in parser._actions: @@ -405,7 +415,7 @@ if self.validator(completion, cword_prefix): completions.append(completion) if isinstance(completer, ChoicesCompleter): - self._display_completions[completion] = active_action.help or "" + self._display_completions[completion] = self._get_action_help(active_action) else: self._display_completions[completion] = "" else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argcomplete-3.6.2/argcomplete/scripts/activate_global_python_argcomplete.py new/argcomplete-3.6.3/argcomplete/scripts/activate_global_python_argcomplete.py --- old/argcomplete-3.6.2/argcomplete/scripts/activate_global_python_argcomplete.py 2020-02-02 01:00:00.000000000 +0100 +++ new/argcomplete-3.6.3/argcomplete/scripts/activate_global_python_argcomplete.py 2020-02-02 01:00:00.000000000 +0100 @@ -79,7 +79,9 @@ try: os.makedirs(destdir, exist_ok=True) except Exception as e: - parser.error(f"path {destdir} does not exist and could not be created: {e}") + parser.error( + f"path {destdir} does not exist and could not be created: {e}. Please run this command using sudo, or see --help for more options." + ) try: print(f"Installing {activator} to {dest}...", file=sys.stderr) shutil.copy(activator, dest) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argcomplete-3.6.2/argcomplete/shell_integration.py new/argcomplete-3.6.3/argcomplete/shell_integration.py --- old/argcomplete-3.6.2/argcomplete/shell_integration.py 2020-02-02 01:00:00.000000000 +0100 +++ new/argcomplete-3.6.3/argcomplete/shell_integration.py 2020-02-02 01:00:00.000000000 +0100 @@ -47,7 +47,7 @@ if is-at-least 5.8; then nosort=(-o nosort) fi - if [[ "${completions-}" =~ ([^\\]): && "${match[1]}" =~ [=/:] ]]; then + if [[ "${completions-}" =~ ([^\\\\]): && "${match[1]}" =~ [=/:] ]]; then nospace=(-S '') fi _describe "${words[1]}" completions "${nosort[@]}" "${nospace[@]}" @@ -94,14 +94,14 @@ fishcode = r""" function __fish_%(function_name)s_complete - set -x _ARGCOMPLETE 1 - set -x _ARGCOMPLETE_DFS \t - set -x _ARGCOMPLETE_IFS \n - set -x _ARGCOMPLETE_SUPPRESS_SPACE 1 - set -x _ARGCOMPLETE_SHELL fish - set -x COMP_LINE (commandline -p) - set -x COMP_POINT (string length (commandline -cp)) - set -x COMP_TYPE + set -lx _ARGCOMPLETE 1 + set -lx _ARGCOMPLETE_DFS \t + set -lx _ARGCOMPLETE_IFS \n + set -lx _ARGCOMPLETE_SUPPRESS_SPACE 1 + set -lx _ARGCOMPLETE_SHELL fish + set -lx COMP_LINE (commandline -p) + set -lx COMP_POINT (string length (commandline -cp)) + set -lx COMP_TYPE if set -q _ARC_DEBUG %(argcomplete_script)s 8>&1 9>&2 1>&9 2>&1 else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argcomplete-3.6.2/contrib/README.rst new/argcomplete-3.6.3/contrib/README.rst --- old/argcomplete-3.6.2/contrib/README.rst 2020-02-02 01:00:00.000000000 +0100 +++ new/argcomplete-3.6.3/contrib/README.rst 2020-02-02 01:00:00.000000000 +0100 @@ -16,6 +16,14 @@ register-python-argcomplete --shell fish my-awesome-script > ~/.config/fish/completions/my-awesome-script.fish +If the script is called using a path, such as ``./my-awesome-script``, it must be registered using the absolute path to the script. :: + + register-python-argcomplete --shell fish $(realpath ./my-awesome-script) > ~/.config/fish/completions/my-awesome-script.fish + +The completions using a path will not be automatically loaded since the command name does not match the file name. To load the completions, ``source`` them. :: + + source ~/.config/fish/completions/my-awesome-script.fish + Completion Description For Fish ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By default help string is added as completion description.
