R6RS suggests that '\b' should be a string escape for the backslash
character.
* libguile/read.c (scm_read_string): parse backspace escape
* test-suite/tests/strings.test (R6RS backslash escapes): new test
(Guile extensions backslash escapes): remove R6RS escapes from test.
* doc/ref/api-data.texi (Strings): document new string escape
@item @nicode{\v}
Vertical tab character (ASCII 11).
+@item @nicode{\b}
+Backspace character (ASCII 8).
+
@item @nicode{\xHH}
Character code given by two hexadecimal digits. For example
@nicode{\x7f} for an ASCII DEL (127).
case 'v':
c = '\v';
break;
+ case 'b':
+ c = '\010';
+ break;
case 'x':
{
scm_t_wchar a, b;
(pass-if "R5RS backslash escapes"
(string=? "\"\\" (string #\" #\\)))
+ (pass-if "R6RS backslash escapes"
+ (string=? "\a\b\t\n\v\f\r"
+ (string #\alarm #\backspace #\tab #\newline #\vtab
+ #\page #\return)))
+
(pass-if "Guile extensions backslash escapes"
- (string=? "\0\a\f\n\r\t\v"
- (apply string (map integer->char '(0 7 12 10 13 9 11))))))
+ (string=? "\0" (string #\nul))))
;;
;; string?