diff --git a/CHANGELOG b/CHANGELOG index d2a7691d..adcab884 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,15 @@ https://dev.louiz.org/projects/poezio/roadmap * Poezio 0.14 - dev +# Minor Changes + +- Reorder: Prevent GapTabs from being serialized and ignore when serialized as + they're recreated automatically. + +# Bug fixes + +- Reorder: Fix traceback on serialized gap tabs. + * Poezio 0.13.1 # Bug fixes diff --git a/plugins/reorder.py b/plugins/reorder.py index 01de5c5d..38975a02 100644 --- a/plugins/reorder.py +++ b/plugins/reorder.py @@ -92,7 +92,11 @@ def parse_config(tab_config): if pos in result or pos <= 0: return None - typ, name = tab_config.get(option, default=':').split(':', maxsplit=1) + spec = tab_config.get(option, default=':').split(':', maxsplit=1) + # Gap tabs are recreated automatically if there's a gap in indices. + if spec == 'empty': + return None + typ, name = spec if typ not in TEXT_TO_TAB: return None result[pos] = (TEXT_TO_TAB[typ], name) @@ -113,9 +117,8 @@ def parse_runtime_tablist(tablist): for tab in tablist[1:]: i += 1 result = check_tab(tab) - if result == 'empty': - props.append((i, 'empty')) - elif result: + # Don't serialize gap tabs as they're recreated automatically + if result != 'empty': props.append((i, '%s:%s' % (result, tab.jid.full))) return props