{{{  comments
; skip roff-paragraphs up and down
}}}
@if-using not(SKPARA)
   @use (SKPARA)
   {{{  libs
   {{{F fun/error
   :::F fun/error
   }}}
   }}}
   {{{  vars
   ( defvar
      ( fill-x       ; help
        single-blank ; help, which fill-para-mode?
        fill-begin   ; used as help
      )
   )
   }}}
   {{{  backward-paragraph
   (deffun backward-paragraph (
     previous-line
     set-counter fill-x 0
     {{{  skip comments
     while counter-0 fill-x (
       while not(or(test-bottom,test-text)) (
         if test-fold-line (
           open-fold
           while not(test-end-fold) (next-line)
         ) fi
         previous-line
       )
       beginning-of-line
       if not(and(test-char ".,counter-0 single-blank)) (
         set-counter fill-x 1
       ) else (
         previous-line
       ) fi
     )
     }}}
     beginning-of-line
     set-counter fill-x 0
     {{{  skip current paragraph
     while counter-0 fill-x (
       if or(test-char " ,
             and(test-char ".,counter-0 single-blank),
             not(test-begin-line))
       (
         set-counter fill-x 1
         next-line
       ) else (
         previous-line
         if test-top ( failed ) fi
       ) fi
     )
     }}}
   ))
   }}}
   {{{  forward-paragraph
   (deffun forward-paragraph (
     beginning-of-line
     {{{  skip current paragraph
     set-counter fill-begin store-pos
     if test-text (set-counter fill-x 1) else (set-counter fill-x 0) fi
     while counter>0 fill-x (
       goto-counter fill-begin
       if or(test-char " ,
             and(test-char ".,counter-0 single-blank),
             not(test-begin-line))
       (
         set-counter fill-x 0
       ) else (
         next-line
       ) fi
     )
     }}}
     {{{  skip 'comments'
     while counter-0 fill-x (
       while not(or(test-bottom,test-text)) (
         if test-fold-line ( open-fold ) fi
         next-line
       )
       beginning-of-line
       if not(and(test-char ".,counter-0 single-blank)) (
         set-counter fill-x 1
       ) else (
         next-line
       ) fi
     )
     }}}
     if not(test-text) ( failed ) fi
   ))
   }}}
   {{{  undeclare
   ( undeclare ( fill-x single-blank fill-begin ) )
   }}}
@fi
