なんかどうしても気になって眠れないんで、
スクリプトの方を修正したやつ書きました。

ml というスクリプト名で

#!/bin/sh
MLOPTS="-A -V -w 20"
if [ -f "$1" ];then
exec mlterm $MLOPTS -e $PAGER $@
else
exec 3<&0
exec mlterm $MLOPTS -e sh -c "exec $PAGER $@ <& 3"
fi

あと

(defun ml ()
(interactive)
(call-process-region (point-min)(point-max) "ml" nil 0 nil
(format "+%s" (+ (count-lines (point-min)(point))
(if (eq 0 (current-column)) 1 0)))))

あーすっきりした。