(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
))
