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 2025-07-15 16:42:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-argcomplete (Old)
 and      /work/SRC/openSUSE:Factory/.python-argcomplete.new.7373 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-argcomplete"

Tue Jul 15 16:42:57 2025 rev:43 rq:1292430 version:3.6.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-argcomplete/python-argcomplete.changes    
2025-06-18 15:53:57.602773314 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-argcomplete.new.7373/python-argcomplete.changes
  2025-07-15 16:43:33.483206697 +0200
@@ -1,0 +2,250 @@
+Sat Jul 12 17:20:18 UTC 2025 - Dirk Müller <dmuel...@suse.com>
+
+- update to 3.6.2:
+  * Revert “zsh: skip repeat Python runs in the same completion
+    run” This reverts a regression introduced in zsh tab
+    completion configurations utilizing multiple matchers.
+  * zsh: add global completion system install dir to user fpath
+    if not present
+  * Update shell_integration.py to support spaces in script file
+    path.
+  * Fix completion when wordbreak is first character
+  * Support namespace package traversal when completing Python
+    entry points
+  * zsh: skip repeat Python runs in the same completion run
+  * Make _parse_known_args signature more general for future API
+    changes
+  * Use interactive shells and bind to make environment variable
+    name completions work in older Bash versions
+  * Fix _parse_known_args monkeypatching Note: This fix is
+    required to restore compatibility with Python 3.12.8 and
+    3.13.1.
+  * Note: This fix is required to restore compatibility with
+    Python 3.12.8 and 3.13.1.
+  * CI improvements
+  * Restore compatibility with argparse in Python 3.12.7+
+  * Use project.scripts instead of setuptools scripts
+  * Test infrastructure improvements
+  * No stdin for python calls from bash completion functions
+    (#488) Prevents usage of stdin by (python) executables that
+    are called during completion generation. This prevents the
+    completion locking up the entire shell when the python script
+    is broken i.e. it enters an interactive mode (REPL) instead
+    of generating the completions, as expected.
+  * Localize shell variable REPLY to avoid overwriting users’
+    value (#489) The variable REPLY is used by default by the
+    read shell builtin to store the return value, and like all
+    bash/zsh variables, is scoped globally. This change allows
+    this variable to be used for other needs by appropriately
+    scoping its internal use by an argcomplete utility function
+    that uses read.
+  * Preserve compatibility with argparse option tuples of length
+    4. This update is required to use argcomplete on Python
+    3.11.9+ or 3.12.3+.
+  * Allow register-python-argcomplete output to be used as lazy-
+    loaded zsh completion module
+  * Move debug_stream initialization to helper method to allow fd
+    9 behavior to be overridden in subclasses
+  * Allow explicit zsh global completion activation
+  * Fix and test global completion in zsh
+  * Add –yes option to activate-global-python-argcomplete
+  * Test suite improvements
+  * Respect user choice in activate-global-python-argcomplete
+  * Escape colon in zsh completions. Fixes #456
+  * Call _default as a fallback in zsh global completion
+  * Use homebrew prefix by default
+  * zsh: Allow to use external script
+  * Add support for Python 3.12 and drop EOL 3.6 and 3.7
+  * Use homebrew prefix by default
+  * zsh: Allow to use external script
+  * Add support for Python 3.12 and drop EOL 3.6 and 3.7
+  * Ensure Python 3.12+ compatibility in check_console_script
+  * Search through asdf shims
+  * Use ` as escape character in PowerShell
+  * setup.py -> pyproject.toml migration start
+  * Improve user install logic in activate-global-python-
+    argcomplete
+  * Ensure Python 3.7 compatibility in check_console_script
+  * ZSH implementation fixes
+  * Documentation improvements
+  * Test suite shell wrapper: Accept OSError on exit
+  * Test suite: Use general regex to cut zsh reset ANSI sequences
+  * Allow importlib-metadata 6.x; skip test failures on Python
+    3.7
+  * Note completers can return iterables of strings, not just
+    lists
+  * Documentation and test improvements
+  * Call _default as fallback in zsh global completion hook
+  * Begin support for mapping-emitting completers
+  * activate-global-python-argcomplete: do not overwrite existing
+    dotfile in user directory
+  * Add NOTICE file
+  * Establish long term name for split_line as
+    argcomplete.lexers.split_line
+  * Re-add split_line to API
+  * Fix zsh autoload issues
+  * Fully support zsh. Argcomplete now supports completion
+    descriptions and global completion in zsh.
+  * Clean up top level namespace.
+  * Documentation and test improvements.
+  * Test infrastructure improvements
+  * Indicate that there is no support commitment for fish and
+    tcsh shells
+  * Documentation and test improvements
+  * Remove scripts for contrib-supported shells from global
+    namespace
+  * setup.py: exclude test.* subpackages from find_packages
+  * Support PowerShell
+  * CI updates
+  * Revert “Support powershell (#392)”
+  * Fix interrupted release (v2.0.1)
+  * Fix interrupted release (v2.0.1)
+  * Fix interrupted release (v2.0.1)
+  * Support powershell
+  * Update importlib-metadata dependency to include versions 5.x
+  * Test and documentation improvements
+  * Truncate input after cursor. Fixes #351
+  * Support of path completion in fish #327
+  * Drop support for Python 2.7 and 3.5
+  * Add support for Python 3.10
+  * Test, documentation, and release infrastructure improvements
+  * Update importlib-metadata version pin
+  * Display script debug output in tcsh
+  * Fish support improvements
+  * Print warn() message from beginning of line
+  * Test infrastructure improvements
+  * Update importlib-metadata dependency pin
+  * Add change log project URL
+  * Replace Travis CI with GitHub Actions
+  * Update importlib-metadata dependency version range
+  * Bash nounset mode fixes
+  * Add -o bashdefault to register-python-argcomplete’s output
+    command
+  * Use shell builtins where possible
+  * Switch from pkg_resources to importlib
+  * Remove .sh extension by bash-completion convention
+  * Catch exceptions in _check_module
+  * Documentation and test improvements
+  * Do not suggest options after – (end-of-options delimiter)
+  * Include all test directory contents in source distribution
+  * Trigger completers on –optional=PARTIAL_VALUE
+  * Complete console scripts installed from wheels
+  * Fish support #68 (#260), thanks to @volkov
+  * check_module: Don’t crash, exit with error instead
+  * Register completion for multiple commands
+  * Use the correct interpreter when checking wrappers
+  * Provide shellcode as a module function
+  * Fix handling of COMP_POINT
+  * Fix crash when writing unicode to debug_stream in Python 2
+  * Fix release
+  * Fix release
+  * Add SuppressCompleter to skip completion for specific
+    arguments while allowing help text
+  * Redirect all output to debug stream in debug mode
+  * Complete python -m module
+  * Fix bug introduced in v0.7.1 where completers would not
+    receive the parser keyword argument.
+  * Documentation improvements.
+  * Fix completion after tokens with wordbreak chars
+  * Simplify nospace handling in global completion
+  * Specially handle all characters in COMP_WORDBREAKS
+  * Use setuptools tests-require directive, fixes #186
+  * Complete files using the specified interpreter
+  * Fix completion for scripts run via python
+  * Clarify argument to register-python-argcomplete
+  * Fix handling of commas and other special chars (#172); handle
+    more special characters
+  * Fix handling of special characters in tcsh
+  * Update my_shlex to Python 3.6 version
+  * Fix additional trailing space in exact matches
+  * Adjust tests to handle development environments
+  * Fix tcsh tests on OSX (#177); Update bash on OSX (#176);
+    Check output of test setup command
+  * Optionally disable duplicated flags
+  * Add default_completer option to CompletionFinder.call
+  * Let bash add or suppress trailing space
+  * Restore parser to its original state to allow reuse after
+    completion (#150).
+  * Expose COMP_TYPE environment variable (#157). Thanks to Matt
+    Clay (@mattclay).
+  * Test infrastructure and documentation improvements.
+  * Add support for tcsh
+  * Fix handling of unquoted completions containing $
+  * Don't insert unnecessary leading quote char in completions
+  * Fix parser reuse with positional arguments
+  * Tests: Add simple pexpect tests for bash (#153); Add test
+    case to verify #20 is fixed
+  * Thanks to @davvid and @evanunderscore for their work on this
+    release.
+  * Packaging fix
+  * Do not suggest options from mutually exclusive groups (#145).
+  * activate-global-python-argcomplete runs on Homebrew out of
+    the box
+  * Correctly handle suggestions for positionals with variable-
+    length nargs. Thanks to @evanunderscore (#132, #133).
+  * Correctly handle suggestions with custom nargs for optionals.
+    Thanks to @evanunderscore (#131).
+  * Fix propagation of partially parsed subparser namespace into
+    parent parser namespace upon subparser failure due to partial
+    args. This allows completers to access partial parse results
+    for subparser optionals in parsed_args (#114).
+  * The default completer can now be specified when manually
+    instantiating CompletionFinder. Thanks to @avylove (#130).
+  * Use FilesCompleter as default completer fallback (#120).
+  * Recognize subclasses of argparse._SubParsersAction. Thanks to
+    Stephen Koo (#118).
+  * Support parsed_args in custom completers with missing args.
+    Thanks to Dan Kilman (#124).
+  * Non-ASCII support in FilesCompleter.
+  * Automatically enable FilesCompleter for argparse.FileType
+    arguments.
+  * Don't print args with suppressed help by default; add
+    argcomplete.autocomplete(print_suppressed=True) to control
+    this behavior (#113).
+  * Fix always_complete_options=False support (#115).
+  * Correct doc filename in setup.cfg (fixes bdist_rpm failure,
+    Issue 111).
+  * Make context managers exception-safe. Thanks to Mikołaj
+    Siedlarek (pull request #110).
+  * Build and upload universal wheel packages in release.
+  * Fix issue with non-string choices for arguments. Thanks to
+    @neizod (pull request #107).
+  * Improve non-ascii argparse argument support on Python 2.7.
+  * register-python-argcomplete: add option to avoid default
+    readline completion. Thanks to @drmalex07 (pull request #99).
+  * Expand tilde in script name, allowing argcomplete to work
+    when invoking scripts from one's home directory. Thanks to
+    @VorpalBlade (Issue 104).
+  * Fix issues related to using argcomplete in a REPL
+    environment.
+  * New helper method for custom completion display.
+  * Expand test suite; formatting cleanup.
+  * Fix issue related to using argcomplete in a REPL environment.
+    Thanks to @wapiflapi (pull request #91).
+  * Fix multiple issues related to using argcomplete in a REPL
+    environment. Thanks to @wapiflapi (pull request #90).
+  * Don't strip colon prefix in completion results if
+    COMP_WORDBREAKS does not contain a colon. Thanks to @berezv
+    (pull request #88).
+  * Use complete --nospace to avoid issues with directory
+    completion.
+  * Refactor main body of code into a class to enable subclassing
+    and overriding of functionality (Issue #78).
+  * New keyword option "argcomplete.autocomplete(validator=...)"
+    to supply a custom validator or bypass default validation.
+    Thanks to @thijsdezoete (Issue #77).
+  * Document debug options.
+  * New keyword option "argcomplete.autocomplete(exclude=[...])"
+    to suppress options (Issue #74).
+  * More speedups to code path for global completion hook
+    negative result.
+  * Fix handling of development mode script wrappers. Thanks to
+    @jmlopez-rod and @dcosson (Issue #69).
+  * Speed up code path for global completion hook negative result
+    by loading pkg_resources on demand.
+  * Begin tracking changes in changelog.
+  * Add completion support for PBR installed scripts (PR #71).
+  * Detect easy-install shims with shebang lines that contain Py
+    instead of py (Issue #69).
+
+-------------------------------------------------------------------

Old:
----
  argcomplete-3.5.3.tar.gz

New:
----
  argcomplete-3.6.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-argcomplete.spec ++++++
--- /var/tmp/diff_new_pack.c7s7sy/_old  2025-07-15 16:43:34.011226334 +0200
+++ /var/tmp/diff_new_pack.c7s7sy/_new  2025-07-15 16:43:34.015226482 +0200
@@ -28,7 +28,7 @@
 %bcond_without libalternatives
 %{?sle15_python_module_pythons}
 Name:           python-argcomplete%{psuffix}
-Version:        3.5.3
+Version:        3.6.2
 Release:        0
 Summary:        Bash tab completion for argparse
 License:        Apache-2.0

++++++ argcomplete-3.5.3.tar.gz -> argcomplete-3.6.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/.github/workflows/release.yml 
new/argcomplete-3.6.2/.github/workflows/release.yml
--- old/argcomplete-3.5.3/.github/workflows/release.yml 2020-02-02 
01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/.github/workflows/release.yml 2020-02-02 
01:00:00.000000000 +0100
@@ -14,7 +14,7 @@
       id-token: write
     steps:
       - uses: actions/checkout@v4
-      - uses: actions/setup-python@v4
+      - uses: actions/setup-python@v5
       - run: pip install build
       - run: python -m build
       - name: Publish package distributions to PyPI
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/Changes.rst 
new/argcomplete-3.6.2/Changes.rst
--- old/argcomplete-3.5.3/Changes.rst   2020-02-02 01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/Changes.rst   2020-02-02 01:00:00.000000000 +0100
@@ -1,3 +1,31 @@
+Changes for v3.6.2 (2025-04-02)
+===============================
+
+- Revert “zsh: skip repeat Python runs in the same completion run” This
+  reverts a regression introduced in zsh tab completion configurations
+  utilizing multiple matchers.
+
+Changes for v3.6.1 (2025-03-22)
+===============================
+
+- zsh: add global completion system install dir to user fpath if not
+  present
+
+- Update shell_integration.py to support spaces in script file path.
+  (#525)
+
+- Fix completion when wordbreak is first character (#526)
+
+Changes for v3.6.0 (2025-03-05)
+===============================
+
+- Support namespace package traversal when completing Python entry
+  points
+
+- zsh: skip repeat Python runs in the same completion run
+
+- Make \_parse_known_args signature more general for future API changes
+
 Changes for v3.5.3 (2024-12-31)
 ===============================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/PKG-INFO 
new/argcomplete-3.6.2/PKG-INFO
--- old/argcomplete-3.5.3/PKG-INFO      2020-02-02 01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/PKG-INFO      2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: argcomplete
-Version: 3.5.3
+Version: 3.6.2
 Summary: Bash tab completion for argparse
 Project-URL: Homepage, https://github.com/kislyuk/argcomplete
 Project-URL: Documentation, https://kislyuk.github.io/argcomplete
@@ -9,6 +9,8 @@
 Project-URL: Change Log, 
https://github.com/kislyuk/argcomplete/blob/develop/Changes.rst
 Author: Andrey Kislyuk
 Author-email: kisl...@gmail.com
+Maintainer: Andrey Kislyuk
+Maintainer-email: kisl...@gmail.com
 License: Apache Software License
 License-File: LICENSE.rst
 License-File: NOTICE
@@ -20,12 +22,12 @@
 Classifier: Operating System :: POSIX
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
 Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3.13
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Software Development
@@ -296,7 +298,7 @@
 
 Python Support
 --------------
-Argcomplete requires Python 3.7+.
+Argcomplete requires Python 3.9+.
 
 Support for other shells
 ------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/README.rst 
new/argcomplete-3.6.2/README.rst
--- old/argcomplete-3.5.3/README.rst    2020-02-02 01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/README.rst    2020-02-02 01:00:00.000000000 +0100
@@ -253,7 +253,7 @@
 
 Python Support
 --------------
-Argcomplete requires Python 3.7+.
+Argcomplete requires Python 3.9+.
 
 Support for other shells
 ------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/argcomplete/_check_module.py 
new/argcomplete-3.6.2/argcomplete/_check_module.py
--- old/argcomplete-3.5.3/argcomplete/_check_module.py  2020-02-02 
01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/argcomplete/_check_module.py  2020-02-02 
01:00:00.000000000 +0100
@@ -10,30 +10,7 @@
 import os
 import sys
 import tokenize
-
-try:
-    from importlib.util import find_spec  # type:ignore
-except ImportError:
-    import typing as t
-    from collections import namedtuple
-    from imp import find_module  # type:ignore
-
-    ModuleSpec = namedtuple("ModuleSpec", ["origin", "has_location", 
"submodule_search_locations"])
-
-    def find_spec(  # type:ignore
-        name: str,
-        package: t.Optional[str] = None,
-    ) -> t.Optional[ModuleSpec]:
-        """Minimal implementation as required by `find`."""
-        try:
-            f, path, _ = find_module(name)
-        except ImportError:
-            return None
-        has_location = path is not None
-        if f is None:
-            return ModuleSpec(None, has_location, [path])
-        f.close()
-        return ModuleSpec(path, has_location, None)
+from importlib.util import find_spec
 
 
 class ArgcompleteMarkerNotFound(RuntimeError):
@@ -42,7 +19,12 @@
 
 def find(name, return_package=False):
     names = name.split(".")
-    spec = find_spec(names[0])
+    # Look for the first importlib ModuleSpec that has `origin` set, 
indicating it's not a namespace package.
+    for package_name_boundary in range(len(names)):
+        spec = find_spec(".".join(names[: package_name_boundary + 1]))
+        if spec is not None and spec.origin is not None:
+            break
+
     if spec is None:
         raise ArgcompleteMarkerNotFound('no module named 
"{}"'.format(names[0]))
     if not spec.has_location:
@@ -53,7 +35,7 @@
         return spec.origin
     if len(spec.submodule_search_locations) != 1:
         raise ArgcompleteMarkerNotFound("expecting one search location")
-    path = os.path.join(spec.submodule_search_locations[0], *names[1:])
+    path = os.path.join(spec.submodule_search_locations[0], 
*names[package_name_boundary + 1 :])
     if os.path.isdir(path):
         filename = "__main__.py"
         if return_package:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/argcomplete/completers.py 
new/argcomplete-3.6.2/argcomplete/completers.py
--- old/argcomplete-3.5.3/argcomplete/completers.py     2020-02-02 
01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/argcomplete/completers.py     2020-02-02 
01:00:00.000000000 +0100
@@ -63,13 +63,22 @@
                 # that was fixed in bash 5.3 but affects older versions. 
Environment variables are not treated
                 # correctly in older versions and calling bind makes them 
available. For details, see
                 # https://savannah.gnu.org/support/index.php?111125
-                files = _call(["bash", "-c", "bind; compgen -A directory -- 
'{p}'".format(p=prefix)], stderr=subprocess.DEVNULL)
+                files = _call(
+                    ["bash", "-c", "bind; compgen -A directory -- 
'{p}'".format(p=prefix)], stderr=subprocess.DEVNULL
+                )
                 completion += [f + "/" for f in files]
             for x in self.allowednames:
-                completion += _call(["bash", "-c", "bind; compgen -A file -X 
'!*.{0}' -- '{p}'".format(x, p=prefix)], stderr=subprocess.DEVNULL)
+                completion += _call(
+                    ["bash", "-c", "bind; compgen -A file -X '!*.{0}' -- 
'{p}'".format(x, p=prefix)],
+                    stderr=subprocess.DEVNULL,
+                )
         else:
-            completion += _call(["bash", "-c", "bind; compgen -A file -- 
'{p}'".format(p=prefix)], stderr=subprocess.DEVNULL)
-            anticomp = _call(["bash", "-c", "bind; compgen -A directory -- 
'{p}'".format(p=prefix)], stderr=subprocess.DEVNULL)
+            completion += _call(
+                ["bash", "-c", "bind; compgen -A file -- 
'{p}'".format(p=prefix)], stderr=subprocess.DEVNULL
+            )
+            anticomp = _call(
+                ["bash", "-c", "bind; compgen -A directory -- 
'{p}'".format(p=prefix)], stderr=subprocess.DEVNULL
+            )
             completion = list(set(completion) - set(anticomp))
 
             if self.directories:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/argcomplete/finders.py 
new/argcomplete-3.6.2/argcomplete/finders.py
--- old/argcomplete-3.5.3/argcomplete/finders.py        2020-02-02 
01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/argcomplete/finders.py        2020-02-02 
01:00:00.000000000 +0100
@@ -515,7 +515,7 @@
             # Bash mangles completions which contain characters in 
COMP_WORDBREAKS.
             # This workaround has the same effect as __ltrim_colon_completions 
in bash_completion
             # (extended to characters other than the colon).
-            if last_wordbreak_pos:
+            if last_wordbreak_pos is not None:
                 completions = [c[last_wordbreak_pos + 1 :] for c in 
completions]
             special_chars += "();<>|&!`$* \t\n\"'"
         elif cword_prequote == '"':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/argcomplete/packages/_argparse.py 
new/argcomplete-3.6.2/argcomplete/packages/_argparse.py
--- old/argcomplete-3.5.3/argcomplete/packages/_argparse.py     2020-02-02 
01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/argcomplete/packages/_argparse.py     2020-02-02 
01:00:00.000000000 +0100
@@ -75,7 +75,7 @@
     except for the lines that contain the string "Added by argcomplete".
     '''
 
-    def _parse_known_args(self, arg_strings, namespace, intermixed=False):
+    def _parse_known_args(self, arg_strings, namespace, intermixed=False, 
**kwargs):
         _num_consumed_args.clear()  # Added by argcomplete
         self._argcomplete_namespace = namespace
         self.active_actions: List[Action] = []  # Added by argcomplete
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/argcomplete/packages/_shlex.py 
new/argcomplete-3.6.2/argcomplete/packages/_shlex.py
--- old/argcomplete-3.5.3/argcomplete/packages/_shlex.py        2020-02-02 
01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/argcomplete/packages/_shlex.py        2020-02-02 
01:00:00.000000000 +0100
@@ -36,7 +36,7 @@
         else:
             self.eof = ''
         self.commenters = '#'
-        self.wordchars = 'abcdfeghijklmnopqrstuvwxyz' 
'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'
+        self.wordchars = 
'abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'
         # Modified by argcomplete: 2/3 compatibility
         # if self.posix:
         #     self.wordchars += ('ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ'
@@ -177,6 +177,9 @@
                 elif self.whitespace_split:
                     self.token = nextchar
                     self.state = 'a'
+                    # Modified by argcomplete: Record last wordbreak position
+                    if nextchar in self.wordbreaks:
+                        self.last_wordbreak_pos = len(self.token) - 1
                 else:
                     self.token = nextchar
                     if self.token or (self.posix and quoted):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/argcomplete-3.5.3/argcomplete/scripts/activate_global_python_argcomplete.py 
new/argcomplete-3.6.2/argcomplete/scripts/activate_global_python_argcomplete.py
--- 
old/argcomplete-3.5.3/argcomplete/scripts/activate_global_python_argcomplete.py 
    2020-02-02 01:00:00.000000000 +0100
+++ 
new/argcomplete-3.6.2/argcomplete/scripts/activate_global_python_argcomplete.py 
    2020-02-02 01:00:00.000000000 +0100
@@ -122,15 +122,36 @@
     print("Added.", file=sys.stderr)
 
 
-def link_user_rcfiles():
-    # TODO: warn if running as superuser
+def link_zsh_user_rcfile(zsh_fpath=None):
     zsh_rcfile = os.path.join(os.path.expanduser(os.environ.get("ZDOTDIR", 
"~")), ".zshenv")
-    append_to_config_file(zsh_rcfile, 
zsh_shellcode.format(zsh_fpath=get_activator_dir()))
+    append_to_config_file(zsh_rcfile, zsh_shellcode.format(zsh_fpath=zsh_fpath 
or get_activator_dir()))
+
 
+def link_bash_user_rcfile():
     bash_completion_user_file = os.path.expanduser("~/.bash_completion")
     append_to_config_file(bash_completion_user_file, 
bash_shellcode.format(activator=get_activator_path()))
 
 
+def link_user_rcfiles():
+    # TODO: warn if running as superuser
+    link_zsh_user_rcfile()
+    link_bash_user_rcfile()
+
+
+def add_zsh_system_dir_to_fpath_for_user():
+    if "zsh" not in os.environ.get("SHELL", ""):
+        return
+    try:
+        zsh_system_dir = get_zsh_system_dir()
+        fpath_output = subprocess.check_output([os.environ["SHELL"], "-c", 
'printf "%s\n" "${fpath[@]}"'])
+        for fpath in fpath_output.decode().splitlines():
+            if fpath == zsh_system_dir:
+                return
+        link_zsh_user_rcfile(zsh_fpath=zsh_system_dir)
+    except (FileNotFoundError, subprocess.CalledProcessError):
+        pass
+
+
 def main():
     global args
     args = parser.parse_args()
@@ -160,6 +181,8 @@
     for destination in destinations:
         install_to_destination(destination)
 
+    add_zsh_system_dir_to_fpath_for_user()
+
     if args.dest is None:
         print("Please restart your shell or source the installed file to 
activate it.", file=sys.stderr)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/argcomplete-3.5.3/argcomplete/scripts/python_argcomplete_check_easy_install_script.py
 
new/argcomplete-3.6.2/argcomplete/scripts/python_argcomplete_check_easy_install_script.py
--- 
old/argcomplete-3.5.3/argcomplete/scripts/python_argcomplete_check_easy_install_script.py
   2020-02-02 01:00:00.000000000 +0100
+++ 
new/argcomplete-3.6.2/argcomplete/scripts/python_argcomplete_check_easy_install_script.py
   2020-02-02 01:00:00.000000000 +0100
@@ -33,7 +33,7 @@
             lines = head.split("\n", 12)
             for line in lines:
                 if line.startswith("# EASY-INSTALL-SCRIPT"):
-                    import pkg_resources
+                    import pkg_resources  # type: ignore
 
                     re_match = re.match("# EASY-INSTALL-SCRIPT: 
'(.+)','(.+)'", line)
                     assert re_match is not None
@@ -48,7 +48,7 @@
                     dist, group, name = re_match.groups()
                     import pkgutil
 
-                    import pkg_resources
+                    import pkg_resources  # type: ignore
 
                     entry_point_info = 
pkg_resources.get_distribution(dist).get_entry_info(group, name)
                     assert entry_point_info is not None
@@ -71,7 +71,7 @@
                     module = re_match.groups()[0]
                     import pkgutil
 
-                    import pkg_resources
+                    import pkg_resources  # type: ignore
 
                     with open(pkgutil.get_loader(module).get_filename()) as 
mod_fh:  # type: ignore
                         if "PYTHON_ARGCOMPLETE_OK" in mod_fh.read(1024):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/argcomplete/shell_integration.py 
new/argcomplete-3.6.2/argcomplete/shell_integration.py
--- old/argcomplete-3.5.3/argcomplete/shell_integration.py      2020-02-02 
01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/argcomplete/shell_integration.py      2020-02-02 
01:00:00.000000000 +0100
@@ -160,7 +160,8 @@
         executables_list = " ".join(quoted_executables)
         script = argcomplete_script
         if script:
-            function_suffix = "_" + script
+            # If the script path contain a space, this would generate an 
invalid function name.
+            function_suffix = "_" + script.replace(" ", "_SPACE_")
         else:
             script = ""
             function_suffix = ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/common.mk 
new/argcomplete-3.6.2/common.mk
--- old/argcomplete-3.5.3/common.mk     2020-02-02 01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/common.mk     2020-02-02 01:00:00.000000000 +0100
@@ -18,7 +18,6 @@
        @if ! type -P pandoc; then echo "Please install pandoc"; exit 1; fi
        @if ! type -P sponge; then echo "Please install moreutils"; exit 1; fi
        @if ! type -P gh; then echo "Please install gh"; exit 1; fi
-       @if ! type -P twine; then echo "Please install twine"; exit 1; fi
        git pull
        git clean -x --force argcomplete
        TAG_MSG=$$(mktemp); \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/docs/conf.py 
new/argcomplete-3.6.2/docs/conf.py
--- old/argcomplete-3.5.3/docs/conf.py  2020-02-02 01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/docs/conf.py  2020-02-02 01:00:00.000000000 +0100
@@ -21,7 +21,7 @@
 autodoc_typehints = "description"
 autodoc_typehints_description_target = "documented_params"
 intersphinx_mapping = {
-    "https://docs.python.org/3": None,
+    "python": ("https://docs.python.org/3";, None),
 }
 templates_path = [""]
 ogp_site_url = "https://kislyuk.github.io/"; + project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/pyproject.toml 
new/argcomplete-3.6.2/pyproject.toml
--- old/argcomplete-3.5.3/pyproject.toml        2020-02-02 01:00:00.000000000 
+0100
+++ new/argcomplete-3.6.2/pyproject.toml        2020-02-02 01:00:00.000000000 
+0100
@@ -5,7 +5,7 @@
 requires-python = ">=3.8"
 license = { text = "Apache Software License" }
 authors = [{ name = "Andrey Kislyuk"}, {email = "kisl...@gmail.com" }]
-maintainers = []
+maintainers = [{ name = "Andrey Kislyuk"}, {email = "kisl...@gmail.com" }]
 dynamic = ["version"]
 classifiers = [
   "Environment :: Console",
@@ -15,12 +15,12 @@
   "Operating System :: POSIX",
   "Programming Language :: Python",
   "Programming Language :: Python :: 3",
-  "Programming Language :: Python :: 3.7",
   "Programming Language :: Python :: 3.8",
   "Programming Language :: Python :: 3.9",
   "Programming Language :: Python :: 3.10",
   "Programming Language :: Python :: 3.11",
   "Programming Language :: Python :: 3.12",
+  "Programming Language :: Python :: 3.13",
   "Programming Language :: Python :: Implementation :: CPython",
   "Programming Language :: Python :: Implementation :: PyPy",
   "Development Status :: 5 - Production/Stable",
@@ -64,6 +64,8 @@
 
 [tool.ruff]
 line-length = 120
+
+[tool.ruff.lint]
 per-file-ignores = {"argcomplete/__init__.py" = ["F401"]}
 
 [tool.ruff.format]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-3.5.3/test/test.py 
new/argcomplete-3.6.2/test/test.py
--- old/argcomplete-3.5.3/test/test.py  2020-02-02 01:00:00.000000000 +0100
+++ new/argcomplete-3.6.2/test/test.py  2020-02-02 01:00:00.000000000 +0100
@@ -1041,10 +1041,12 @@
 
     def test_last_wordbreak_pos(self):
         self.assertEqual(self.wordbreak("a"), None)
+        self.assertEqual(self.wordbreak("a :b"), 0)
         self.assertEqual(self.wordbreak("a b:c"), 1)
         self.assertEqual(self.wordbreak("a b:c=d"), 3)
         self.assertEqual(self.wordbreak("a b:c=d "), None)
         self.assertEqual(self.wordbreak("a b:c=d e"), None)
+        self.assertEqual(self.wordbreak('":b'), None)
         self.assertEqual(self.wordbreak('"b:c'), None)
         self.assertEqual(self.wordbreak('"b:c=d'), None)
         self.assertEqual(self.wordbreak('"b:c=d"'), None)

Reply via email to