mlibc: Cleanup.
[mes.git] / scripts / diff.scm
index d8ade78f5246708f1cadb6d10ac8a5ba4b453170..1ce3492a163e9b649791843e0b18dc788a5d9dd8 100755 (executable)
@@ -4,7 +4,7 @@ mes_p=$(command -v mes)
 if [ "$mes_p" -a -z "$MES" ]; then
     MES=guile
 fi
-exec ${MES-mes} -L $(dirname 0) -e '(diff)' -s "$0" "$@"
+exec ${MES-mes} -L ${0%/*} -e '(diff)' -s "$0" "$@"
 !#
 
 ;;; Mes --- Maxwell Equations of Software
@@ -73,8 +73,7 @@ exec ${MES-mes} -L $(dirname 0) -e '(diff)' -s "$0" "$@"
 (define (line-equal? a b)
   (equal? (string-trim-right a) (string-trim-right b)))
 
-;; naive diff
-(define (diff a b)
+(define (diff-files a b)
   (let ((a-lines (string-split (with-input-from-file a read-string) #\newline))
         (b-lines (string-split (with-input-from-file b read-string) #\newline)))
     (let loop ((context '(1 1 #f #f #f)) (a-lines a-lines) (b-lines b-lines))
@@ -116,7 +115,7 @@ exec ${MES-mes} -L $(dirname 0) -e '(diff)' -s "$0" "$@"
 (define (main args)
   (let* ((files (cdr args))
          (files (if (string-prefix? "-" (car files)) (cdr files) files))
-         (hunks (apply diff (list-head files 2))))
+         (hunks (apply diff-files (list-head files 2))))
     (when (pair? hunks)
       (display (string-join (append-map hunk->lines hunks) "\n"))
       (newline)