forked from pool/powerline
OBS-URL: https://build.opensuse.org/package/show/utilities/powerline?expand=0&rev=54
205 lines
9.3 KiB
Diff
205 lines
9.3 KiB
Diff
From c97afc9d9dbc872217434cd7ce406968e0759e56 Mon Sep 17 00:00:00 2001
|
||
From: Christoph Erhardt <github@sicherha.de>
|
||
Date: Fri, 10 Jan 2025 23:56:26 +0100
|
||
Subject: [PATCH 1/4] Fix `TypeError: bad argument type for built-in operation`
|
||
in Vim status line
|
||
|
||
This occurs when opening a file inside a Git repository; the `path`
|
||
parameter is of type `bytes` instead of the expected `str`. The above
|
||
error message gets printed at the position where the file name and size
|
||
would normally be displayed.
|
||
|
||
The error was observed on Fedora 41 with Python 3.13. The exact root
|
||
cause is unclear - but explicitly converting `path` to `str` prevents
|
||
the `TypeError`.
|
||
---
|
||
powerline/lib/vcs/git.py | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
Index: powerline-2.8.4/powerline/lib/vcs/git.py
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/powerline/lib/vcs/git.py
|
||
+++ powerline-2.8.4/powerline/lib/vcs/git.py
|
||
@@ -112,7 +112,7 @@ try:
|
||
def do_status(self, directory, path):
|
||
if path:
|
||
try:
|
||
- status = git.Repository(directory).status_file(path)
|
||
+ status = git.Repository(directory).status_file(str(path))
|
||
except (KeyError, ValueError):
|
||
return None
|
||
|
||
Index: powerline-2.8.4/powerline/commands/daemon.py
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/powerline/commands/daemon.py
|
||
+++ powerline-2.8.4/powerline/commands/daemon.py
|
||
@@ -16,9 +16,7 @@ def get_argparser(ArgumentParser=argpars
|
||
'Does not silence exceptions in any case.'
|
||
)
|
||
parser.add_argument('--socket', '-s', help='Specify socket which will be used for connecting to daemon.')
|
||
- exclusive_group = parser.add_mutually_exclusive_group()
|
||
- exclusive_group.add_argument('--kill', '-k', action='store_true', help='Kill an already running instance.')
|
||
- replace_group = exclusive_group.add_argument_group()
|
||
- replace_group.add_argument('--foreground', '-f', action='store_true', help='Run in the foreground (don’t daemonize).')
|
||
- replace_group.add_argument('--replace', '-r', action='store_true', help='Replace an already running instance.')
|
||
+ parser.add_argument('--kill', '-k', action='store_true', help='Kill an already running instance.')
|
||
+ parser.add_argument('--foreground', '-f', action='store_true', help='Run in the foreground (don’t daemonize).')
|
||
+ parser.add_argument('--replace', '-r', action='store_true', help='Replace an already running instance.')
|
||
return parser
|
||
Index: powerline-2.8.4/docs/source/develop/local-themes.rst
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/docs/source/develop/local-themes.rst
|
||
+++ powerline-2.8.4/docs/source/develop/local-themes.rst
|
||
@@ -10,7 +10,7 @@ prompt). Used themes are defined in :ref
|
||
Vim local themes
|
||
================
|
||
|
||
-Vim is the only available extension that has a wide variaty of options for local
|
||
+Vim is the only available extension that has a wide variety of options for local
|
||
themes. It is the only extension where local theme key refers to a function as
|
||
described in :ref:`local_themes value documentation <config-ext-local_themes>`.
|
||
|
||
Index: powerline-2.8.4/docs/source/troubleshooting.rst
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/docs/source/troubleshooting.rst
|
||
+++ powerline-2.8.4/docs/source/troubleshooting.rst
|
||
@@ -19,7 +19,7 @@ After an update something stopped workin
|
||
Assuming powerline was working before update and stopped only after there are
|
||
two possible explanations:
|
||
|
||
-* You have more then one powerline installation (e.g. ``pip`` and ``Vundle``
|
||
+* You have more than one powerline installation (e.g. ``pip`` and ``Vundle``
|
||
installations) and you have updated only one.
|
||
* Update brought some bug to powerline.
|
||
|
||
Index: powerline-2.8.4/powerline/__init__.py
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/powerline/__init__.py
|
||
+++ powerline-2.8.4/powerline/__init__.py
|
||
@@ -958,7 +958,7 @@ class Powerline(object):
|
||
shut down all threads. Set it to False unless you are exiting an
|
||
application.
|
||
|
||
- If set to False this does nothing more then resolving reference
|
||
+ If set to False this does nothing more than resolving reference
|
||
cycle ``powerline → config_loader → bound methods → powerline`` by
|
||
unsubscribing from config_loader events.
|
||
'''
|
||
Index: powerline-2.8.4/powerline/lib/unicode.py
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/powerline/lib/unicode.py
|
||
+++ powerline-2.8.4/powerline/lib/unicode.py
|
||
@@ -85,7 +85,7 @@ def register_strwidth_error(strwidth):
|
||
needed settings) and emits new error handling method name.
|
||
|
||
:param function strwidth:
|
||
- Function that computs string width measured in display cells the string
|
||
+ Function that computes string width measured in display cells the string
|
||
occupies when displayed.
|
||
|
||
:return: New error handling method name.
|
||
Index: powerline-2.8.4/powerline/lint/markedjson/scanner.py
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/powerline/lint/markedjson/scanner.py
|
||
+++ powerline-2.8.4/powerline/lint/markedjson/scanner.py
|
||
@@ -423,7 +423,7 @@ class Scanner:
|
||
if self.peek(k) not in hexdigits:
|
||
raise ScannerError(
|
||
'while scanning a double-quoted scalar', start_mark,
|
||
- 'expected escape sequence of %d hexdecimal numbers, but found %r' % (
|
||
+ 'expected escape sequence of %d hexadecimal numbers, but found %r' % (
|
||
length, self.peek(k)),
|
||
self.get_mark()
|
||
)
|
||
Index: powerline-2.8.4/powerline/lint/spec.py
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/powerline/lint/spec.py
|
||
+++ powerline-2.8.4/powerline/lint/spec.py
|
||
@@ -46,7 +46,7 @@ class Spec(object):
|
||
|
||
.. note::
|
||
In ``check_`` and ``match`` methods specifications are identified by
|
||
- their indexes for the purpose of simplyfying :py:meth:`Spec.copy`
|
||
+ their indexes for the purpose of simplifying :py:meth:`Spec.copy`
|
||
method.
|
||
|
||
Some common parameters:
|
||
Index: powerline-2.8.4/powerline/segments/i3wm.py
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/powerline/segments/i3wm.py
|
||
+++ powerline-2.8.4/powerline/segments/i3wm.py
|
||
@@ -247,7 +247,7 @@ def mode(pl, segment_info, names={'defau
|
||
Specifies the string to show for various modes.
|
||
Use ``null`` to hide a mode (``default`` is hidden by default).
|
||
|
||
- Highligh groups used: ``mode``
|
||
+ Highlight groups used: ``mode``
|
||
'''
|
||
mode = segment_info['mode']
|
||
if mode in names:
|
||
Index: powerline-2.8.4/powerline/segments/vim/__init__.py
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/powerline/segments/vim/__init__.py
|
||
+++ powerline-2.8.4/powerline/segments/vim/__init__.py
|
||
@@ -127,7 +127,7 @@ def visual_range(pl, segment_info, CTRL_
|
||
selection occupies only one line.
|
||
:param str v_text_multiline:
|
||
Text to display when in charaterwise visual or select mode, assuming
|
||
- selection occupies more then one line.
|
||
+ selection occupies more than one line.
|
||
:param str V_text:
|
||
Text to display when in linewise visual or select mode.
|
||
|
||
Index: powerline-2.8.4/scripts/powerline-daemon
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/scripts/powerline-daemon
|
||
+++ powerline-2.8.4/scripts/powerline-daemon
|
||
@@ -268,7 +268,7 @@ def shutdown(sock, read_sockets, write_s
|
||
#. Notifies segments based on
|
||
:py:class:`powerline.lib.threaded.ThreadedSegment` and WM-specific
|
||
threads that daemon is shutting down.
|
||
- #. Waits for threads to finish, but no more then 2 seconds total.
|
||
+ #. Waits for threads to finish, but no more than 2 seconds total.
|
||
#. Waits so that total execution time of this function is 2 seconds in order
|
||
to allow ThreadedSegments to finish.
|
||
'''
|
||
Index: powerline-2.8.4/tests/test_shells/test.sh
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/tests/test_shells/test.sh
|
||
+++ powerline-2.8.4/tests/test_shells/test.sh
|
||
@@ -217,7 +217,7 @@ IPYTHON_PYTHON=ipython
|
||
|
||
if test -z "$POWERLINE_RC_EXE" ; then
|
||
if which rc-status >/dev/null ; then
|
||
- # On Gentoo `rc` executable is from OpenRC. Thus app-shells/rc instals
|
||
+ # On Gentoo `rc` executable is from OpenRC. Thus app-shells/rc installs
|
||
# `rcsh` executable.
|
||
POWERLINE_RC_EXE=rcsh
|
||
else
|
||
Index: powerline-2.8.4/.github/workflows/main.yaml
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/.github/workflows/main.yaml
|
||
+++ powerline-2.8.4/.github/workflows/main.yaml
|
||
@@ -16,7 +16,7 @@ jobs:
|
||
runs-on: ubuntu-latest
|
||
strategy:
|
||
matrix:
|
||
- python-version: [3.7, 3.8, 3.9, 3.11, 3.12]
|
||
+ python-version: [3.8, 3.9, 3.11, 3.12, 3.13]
|
||
|
||
steps:
|
||
- name: Checkout code
|
||
Index: powerline-2.8.4/tests/test_python/test_cmdline.py
|
||
===================================================================
|
||
--- powerline-2.8.4.orig/tests/test_python/test_cmdline.py
|
||
+++ powerline-2.8.4/tests/test_python/test_cmdline.py
|
||
@@ -52,7 +52,7 @@ class TestParser(TestCase):
|
||
]:
|
||
self.assertRaises(SystemExit, parser.parse_args, raising_args)
|
||
self.assertFalse(out.getvalue())
|
||
- self.assertRegexpMatches(err.getvalue(), raising_reg)
|
||
+ self.assertRegex(err.getvalue(), raising_reg)
|
||
flush()
|
||
|
||
def test_main_normal(self):
|