From 516231c1f969e5d8bccd91aa6779ae15eb6d6dad Mon Sep 17 00:00:00 2001 From: Danny Yoo Date: Sun, 1 Jun 2008 02:23:55 +0000 Subject: [PATCH] Fix for auto-language.ss: if first line of program contains a snip, read-line fails and needs to be handled. svn: r10074 --- collects/drscheme/private/auto-language.ss | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/collects/drscheme/private/auto-language.ss b/collects/drscheme/private/auto-language.ss index 08f66bb28a..d0cc135c12 100644 --- a/collects/drscheme/private/auto-language.ss +++ b/collects/drscheme/private/auto-language.ss @@ -16,7 +16,7 @@ (let ([lang-spec (send lang get-reader-module)]) (when lang-spec (let* ([lines (send lang get-metadata-lines)] - [str (send text get-text + [str (send text get-text 0 (send text paragraph-end-position (- lines 1)))] [sp (open-input-string str)]) @@ -55,6 +55,8 @@ (define (looks-like-new-module-style? text) (let* ([tp (open-input-text-editor text 0 'end (lambda (s) s) text #t)] - [l1 (read-line tp)]) + [l1 (with-handlers ([exn:fail? (lambda (exn) eof)]) + ;; If tp contains a snip, read-line fails. + (read-line tp))]) (and (string? l1) (regexp-match #rx"#lang .*$" l1)))))