mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-16 08:40:19 +02:00
Have `scm_getc' honor the port's conversion strategy.
* libguile/ports.c (get_codepoint): Reset `pt->input_cd' upon failure. If `pt->ilseq_handler' is `SCM_ICONVEH_QUESTION_MARK', then return a question mark. [failure]: Use `scm_encoding_error' when raising an error. * test-suite/lib.scm (exception:encoding-error): Adjust regexp. * test-suite/tests/ports.test ("string ports")["read-char, wrong encoding, error", "read-char, wrong encoding, escape", "read-char, wrong encoding, substitute"]: New tests.
This commit is contained in:
parent
2e59af2100
commit
cc540d0bbd
3 changed files with 52 additions and 18 deletions
|
@ -1,5 +1,6 @@
|
|||
;;;; test-suite/lib.scm --- generic support for testing
|
||||
;;;; Copyright (C) 1999, 2000, 2001, 2004, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
;;;; Copyright (C) 1999, 2000, 2001, 2004, 2006, 2007, 2009, 2010,
|
||||
;;;; 2011 Free Software Foundation, Inc.
|
||||
;;;;
|
||||
;;;; This program is free software; you can redistribute it and/or
|
||||
;;;; modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -279,7 +280,7 @@
|
|||
(define exception:system-error
|
||||
(cons 'system-error ".*"))
|
||||
(define exception:encoding-error
|
||||
(cons 'encoding-error "(cannot convert to output locale|input locale conversion error)"))
|
||||
(cons 'encoding-error "(cannot convert to output locale|input (locale conversion|decoding) error)"))
|
||||
(define exception:miscellaneous-error
|
||||
(cons 'misc-error "^.*"))
|
||||
(define exception:read-error
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue