diff -ur v9/ezmd.py v10/ezmd.py --- v9/ezmd.py 2019-09-27 09:23:15.000000000 +0900 +++ v10/ezmd.py 2019-09-27 22:16:31.000000000 +0900 @@ -45,10 +45,17 @@ s = s[1:] return (i, s) +def cut_verb_idt(lst): + lst_ = list( filter( lambda s: s != '', lst ) ) + i = min( map( lambda s: idt_cnt(s)[0], lst_ ) ) + if i > 0: + lst = list( map( lambda s: s[i:], lst ) ) + return lst + def esc_join(lst): res = [] for s in lst: - if res and res[-1][-1] == '\\': + if res and res[-1] and res[-1][-1] == '\\': t = res[-1][:-1] res[-1] = strip_tail(t) + strip_head(s) else: @@ -146,6 +153,7 @@ while buf and buf[-1] == '': buf.pop() if buf: + buf = cut_verb_idt(buf) s = '\n'.join(buf) + '\n' res.append( { 'pre': s } ) elif mode == 'ul': @@ -225,6 +233,7 @@ b = nkf.get_stdin() (s, nkf_opt) = nkf.to_str(b) lst = s.split('\n') + lst = list( map( strip_tail, lst ) ) lst = ezmd(lst)