diff --git a/ChangeLog b/ChangeLog index 1175abbc2f..1f481f07d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-02-18 Derek Atkins + + * intl-scm/xgettext.scm: remove the absolute path from filenames + * intl-scm/Makefile.am: pass the absolute path to xgettext.scm + 2006-02-17 David Hampton * src/register/register-gnome/gnucash-sheet.c: diff --git a/intl-scm/Makefile.am b/intl-scm/Makefile.am index 76ed236016..15bd75f688 100644 --- a/intl-scm/Makefile.am +++ b/intl-scm/Makefile.am @@ -16,5 +16,5 @@ SCMFILES = $(shell find ${abs_top_srcdir}/src -name test -prune -o -name '*.scm' guile-strings.c: $(SCMFILES) rm -f guile-strings.c cd ${srcdir} && rm -f guile-strings.c \ - && ${GUILE} -s ./xgettext.scm $(SCMFILES) + && ${GUILE} -s ./xgettext.scm ${abs_top_srcdir} $(SCMFILES) diff --git a/intl-scm/xgettext.scm b/intl-scm/xgettext.scm index 020ca4346c..93df3b9f05 100644 --- a/intl-scm/xgettext.scm +++ b/intl-scm/xgettext.scm @@ -1,4 +1,5 @@ ;; Find translatable strings in guile files +(define *base-dir-len* 0) (define (expand-newlines string out-port) (define (output-prefix-newlines chars) @@ -26,7 +27,7 @@ (loop (cdr chars) (cons (car chars) accum)))))) (define (write-string string out-port filename line-number) - (display (string-append "/* " filename) out-port) + (display (string-append "/* " (substring filename *base-dir-len*)) out-port) ;;(display line-number out-port) (display " */\n" out-port) (display "_(" out-port) @@ -66,7 +67,9 @@ (find-strings-in-item item out-port filename line-no))) (let ((out-port (open "guile-strings.c" (logior O_WRONLY O_CREAT O_TRUNC))) - (in-files (cdr (command-line)))) + (base-dir (cadr (command-line))) + (in-files (cddr (command-line)))) + (set! *base-dir-len* (+ (string-length base-dir) 1)) (for-each (lambda (file) (call-with-input-file file (lambda (port) (find-strings port out-port file))))