if translation-toggle-mark if translating insert start-preformat-tag toggle translation mode else insert end-preformat-tag toggle translation mode next line if !translating insert line-text (possibly blank) next line parse line mark # unmarked line... (do this in 'parse line mark'?) if !line-mark && !pending-paragraph line-type=p # end paragraph? if blank-line || (line-type != pending-paragraph) || (line-list != pending-list) insert pending-paragraph-end-tag clear pending paragraph # end list? if pending-list && line-list != pending-list insert pending-list-end-tag clear pending-list # start list? if line-list != pending-list insert start-list-tag set pending-list # start paragraph? if line-type && (line-list || line-type != pending-paragraph) insert start-paragraph-tag set pending-paragraph insert line-text (will also copy blank lines, but maybe OK, and saves 1 test) (includes symbol escape, in-line translation, definition and table row parsing) /***** /@ 1. end para, next para unknown 2. end para, next para known 3. end para, end list, next para known 4. end para, end list, next list, para known 5. nothing pending, next para known 6. nothing pending, next list, para known 7. continue curr para @/ if pending-paragraph && ( blank-line || line-type != pending-paragraph || line-list != pending-list ) insert pending-end-tag clear pending paragraph case line-mark else if translation-toggle insert <pre> toggle translation mode if blank-line if pending-paragraph insert pending-end-tag clear pending paragraph case line-type pending-paragraph "" "" insert <p>line-text pending-paragraph=p "" * insert line-text * "" if line-type is list insert start-list-tag set pending-list insert line-start-tag, line-text pending-paragraph=line-type * * if if pending-paragraph && line-tag && line-type != pending-paragraph insert pending-end-tag clear pending paragraph if pending-list insert pending-end-list clear pending-list if line-tag if line-type != pending-paragraph insert pending-end-tag clear pending paragraph if pending-list insert pending-end-list clear pending-list if line-type = list-item && !pending-list insert start-list-tag set pending-list insert line-tag insert line-text (!!what about <p> tags?!!) *****/