mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-21 11:10:21 +02:00
symbols with odd characters print better in #{}#
* libguile/print.c (symbol_has_extended_read_syntax): Use a more general, unicode-appropriate algorithm. Hopefully doesn't cause any current #{}# cases to be unescaped. (print_extended_symbol): Use more appropriate unicode algorithm, and emit unicode hex escapes instead of our own lame escapes. * test-suite/tests/symbols.test: Add tests.
This commit is contained in:
parent
d9527cfafd
commit
2e9fc9fc73
2 changed files with 41 additions and 42 deletions
|
@ -1,6 +1,6 @@
|
|||
;;;; symbols.test --- test suite for Guile's symbols -*- scheme -*-
|
||||
;;;;
|
||||
;;;; Copyright (C) 2001, 2006, 2008, 2009 Free Software Foundation, Inc.
|
||||
;;;; Copyright (C) 2001, 2006, 2008, 2009, 2011 Free Software Foundation, Inc.
|
||||
;;;;
|
||||
;;;; This library is free software; you can redistribute it and/or
|
||||
;;;; modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -151,3 +151,8 @@
|
|||
(pass-if "accepts embedded NULs"
|
||||
(> (string-length (symbol->string (gensym "foo\0bar\0braz\0foo\0bar\0braz\0foo\0bar\0braz\0foo\0bar\0braz\0foo\0bar\0braz\0foo\0bar\0braz\0"))) 6)))
|
||||
|
||||
(with-test-prefix "extended read syntax"
|
||||
(pass-if (equal? "#{}#" (object->string (string->symbol ""))))
|
||||
(pass-if (equal? "a" (object->string (string->symbol "a"))))
|
||||
(pass-if (equal? "#{a b}#" (object->string (string->symbol "a b"))))
|
||||
(pass-if (equal? "#{\\x7d;}#" (object->string (string->symbol "}")))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue