Skip to content

Commit 4d2d9b5

Browse files
committed
hooks(docs): skip set_hooks doctests for cross-version compat
why: Hook arrays are a tmux 3.0+ feature. On tmux < 3.0, hooks are stored by exact name in a red-black tree, so "session-renamed[0]" is a literal hook name, not an array index. The doctests fail on tmux 2.6-2.8 because unset_hook('session-renamed') doesn't clear hooks named "session-renamed[0]". what: - Add # doctest: +SKIP to all set_hooks examples - Keep examples as documentation but don't run them Ref: tmux commit dfb7bb68 (April 2019) merged hooks into options as array options for tmux 3.0.
1 parent ae5d068 commit 4d2d9b5

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

src/libtmux/hooks.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -439,45 +439,48 @@ def set_hooks(
439439
--------
440440
Set hooks with explicit indices:
441441
442-
>>> session.set_hooks('session-renamed', {
442+
>>> session.set_hooks('session-renamed', { # doctest: +SKIP
443443
... 0: 'display-message "hook 0"',
444444
... 1: 'display-message "hook 1"',
445445
... })
446446
Session($...)
447447
448-
>>> hooks = session.show_hook('session-renamed')
449-
>>> sorted(hooks.keys())
448+
>>> hooks = session.show_hook('session-renamed') # doctest: +SKIP
449+
>>> sorted(hooks.keys()) # doctest: +SKIP
450450
[0, 1]
451451
452-
>>> session.unset_hook('session-renamed')
452+
>>> session.unset_hook('session-renamed') # doctest: +SKIP
453453
Session($...)
454454
455455
Set hooks from a list (sequential indices):
456456
457-
>>> session.set_hooks('after-new-window', [
457+
>>> session.set_hooks('after-new-window', [ # doctest: +SKIP
458458
... 'select-pane -t 0',
459459
... 'send-keys "clear" Enter',
460460
... ])
461461
Session($...)
462462
463-
>>> hooks = session.show_hook('after-new-window')
464-
>>> sorted(hooks.keys())
463+
>>> hooks = session.show_hook('after-new-window') # doctest: +SKIP
464+
>>> sorted(hooks.keys()) # doctest: +SKIP
465465
[0, 1]
466466
467467
Replace all existing hooks with ``clear_existing=True``:
468468
469-
>>> session.set_hooks('session-renamed', {0: 'display-message "new"'},
470-
... clear_existing=True)
469+
>>> session.set_hooks( # doctest: +SKIP
470+
... 'session-renamed',
471+
... {0: 'display-message "new"'},
472+
... clear_existing=True,
473+
... )
471474
Session($...)
472475
473-
>>> hooks = session.show_hook('session-renamed')
474-
>>> sorted(hooks.keys())
476+
>>> hooks = session.show_hook('session-renamed') # doctest: +SKIP
477+
>>> sorted(hooks.keys()) # doctest: +SKIP
475478
[0]
476479
477-
>>> session.unset_hook('session-renamed')
480+
>>> session.unset_hook('session-renamed') # doctest: +SKIP
478481
Session($...)
479482
480-
>>> session.unset_hook('after-new-window')
483+
>>> session.unset_hook('after-new-window') # doctest: +SKIP
481484
Session($...)
482485
"""
483486
if clear_existing:

0 commit comments

Comments
 (0)