diff -ur v40/ezmd.py v41/ezmd.py --- v40/ezmd.py 2019-10-17 01:03:00.000000000 +0900 +++ v41/ezmd.py 2019-10-17 06:07:00.000000000 +0900 @@ -776,7 +776,7 @@ return f_o( outbuf.lst_get() ) -def ezmd(lst): +def ezmd(lst, rec_exp=False): lst = ['p'] + lst (buf, hd_names) = ( [], [] ) @@ -785,7 +785,7 @@ r = do_macro( [e.s] ) (e.s, e.buf) = ( r[0], r[1:] + e.buf ) - if outbuf.name == 'org': + if rec_exp: macro_exp.append( e.s.replace('\n', '\\\n') ) next_mode_switch(e) @@ -835,22 +835,24 @@ o.v = rm_nl_tag(o.v) return o -def s_to_tag_lst(s): +def s_to_tag_lst(s, rec_exp=False): lst = pre_split_esc_join(s, '\n') lst = list( map( strip_tail, lst ) ) - lst = ezmd(lst) + lst = ezmd(lst, rec_exp) lst = list( map( rm_nl_tag, lst) ) return lst if __name__ == "__main__": + opt_E = '-E' in sys.argv + b = nkf.get_stdin() (s, nkf_opt) = nkf.to_str(b) - lst = s_to_tag_lst(s) + lst = s_to_tag_lst(s, opt_E) lst = flat_map( tag_to_dic, lst ) u8 = yaml_dump(lst) - if '-E' in sys.argv: + if opt_E: s = '\n'.join(macro_exp) u8 = nkf.str_to(s, '-u') b = nkf.cvt(u8, nkf_opt) if nkf_opt != '-u' else u8