ce9bbc83cd90 — Alain Leufroy 3 years ago
edit: ignore fully empty file
1 files changed, 4 insertions(+), 1 deletions(-)

M overlayctl
M overlayctl +4 -1
@@ 408,7 408,7 @@ def editer(name, appended=None, prepande
     if not appended and not prepanded and not removed:
         with NamedTemporaryFile() as fobj:
             fobj.write(b'# -*- encoding: utf-8 -*-\n')
-            fobj.write(b'# Note: Leave unchanged or empty to ignore changes\n')
+            fobj.write(b'# Note: Leave unchanged or fully empty to ignore changes\n')
             fobj.write(b'\n'.join(lower.encode('utf-8') for lower in info['lowers']))
             fobj.flush()
             Popen(os.environ.get('EDITOR', 'vim') + ' ' + fobj.name, shell=True).wait()

          
@@ 418,6 418,9 @@ def editer(name, appended=None, prepande
                 for line in fobj.read().decode('utf-8').splitlines()
                 if not line.strip().startswith('#') and line.strip()
             ]
+            fobj.seek(0)
+            if not fobj.read(1):
+                return  # Ignore empty file for convenience
     else:
         prepanded = prepanded or []
         added = appended or []