{{{  comments
; jump to previous non-space character.
; fold-lines are ignored. folds are closed, when leaving them.
}}}
nodup
{{{  previous-text-character
(deffun previous-text-character (
  if not(test-begin-line) (O_LEFT)
  else
  (
    O_UP
    {{{  move to next text-line
    while and(not(test-text),not(test-top))
    (
      if test-begin-fold (
        {{{  begin-fold => close it
        O_CLOSE_FOLD
        }}}
      ) else (
        {{{  fold-line -> open and move to end
        if test-fold-line (
          O_DOWN
          store-line p-t-c-l
          add-counter p-t-c-l -2
          goto-line-counter p-t-c-l
        ) fi
        }}}
      ) fi
      {{{  otherwise up
      if not(test-text) (O_UP) fi
      }}}
    )
    }}}
    O_END_OF_LINE
  ) fi
))
}}}
