From c8adc394b79e928d38722327cc18c7dfc6f1cb26 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 20 Nov 2009 11:55:18 +0100 Subject: Choose the right encoding for input documents. * src/guile/skribilo.scm (skribilo): Use the right encoding for the current input port. * src/guile/skribilo/evaluator.scm (load-document, include-document): Likewise. * doc/user/user.skb: Add a `coding:' comment for use by Guile at the top. --- doc/user/user.skb | 5 ++--- src/guile/skribilo.scm | 5 +++++ src/guile/skribilo/evaluator.scm | 12 +++++++++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/doc/user/user.skb b/doc/user/user.skb index d4efaf4..86eda21 100644 --- a/doc/user/user.skb +++ b/doc/user/user.skb @@ -1,6 +1,6 @@ -;;; user.skb -- The Skribilo user manual. +;;; user.skb -- The Skribilo user manual. -*- coding: iso-8859-1 -*- ;;; -;;; Copyright 2005, 2006, 2007, 2008 Ludovic Courtès +;;; Copyright 2005, 2006, 2007, 2008, 2009 Ludovic Courtès ;;; Copyright 2001, 2002, 2003, 2004 Manuel Serrano ;;; ;;; @@ -266,7 +266,6 @@ of documentation ``evaluation''.]))) #f))))) ;; Local Variables: -;; coding: latin-1 ;; comment-start: ";" ;; comment-end: "" ;; ispell-local-dictionary: "american" diff --git a/src/guile/skribilo.scm b/src/guile/skribilo.scm index 7208a00..7d066da 100644 --- a/src/guile/skribilo.scm +++ b/src/guile/skribilo.scm @@ -387,6 +387,11 @@ options." (if input-file (with-input-from-file input-file (lambda () + (cond-expand (guile-2 + ;; Use the encoding specified by the `coding:' + ;; comment. + (let ((p (current-input-port))) + (set-port-encoding! p (file-encoding p))))) (doskribe user-module))) (doskribe user-module)) diff --git a/src/guile/skribilo/evaluator.scm b/src/guile/skribilo/evaluator.scm index 329ba61..6ca0f13 100644 --- a/src/guile/skribilo/evaluator.scm +++ b/src/guile/skribilo/evaluator.scm @@ -1,7 +1,7 @@ ;;; eval.scm -- Skribilo evaluator. ;;; +;;; Copyright 2005, 2006, 2009 Ludovic Courtès ;;; Copyright 2003, 2004 Erick Gallesio - I3S-CNRS/ESSI -;;; Copyright 2005, 2006, 2007 Ludovic Courtès ;;; ;;; ;;; This program is free software; you can redistribute it and/or modify @@ -188,6 +188,12 @@ ;; Load it (with-input-from-file filep (lambda () + (cond-expand (guile-2 + ;; Use the encoding specified by the `coding:' + ;; comment. + (let ((p (current-input-port))) + (set-port-encoding! p + (file-encoding p))))) (evaluate-document-from-port (current-input-port) ei :module module :reader reader))) @@ -215,6 +221,10 @@ (with-input-from-file full-path (lambda () + (cond-expand (guile-2 + ;; Use the encoding specified by the `coding:' comment. + (let ((p (current-input-port))) + (set-port-encoding! p (file-encoding p))))) (save-module-excursion (lambda () (set-current-module module) -- cgit v1.2.3