Update of /project/cxml/cvsroot/cxml/runes In directory common-lisp.net:/tmp/cvs-serv10721/runes
Modified Files: runes.lisp Log Message: new release
Date: Sat Jun 25 15:56:56 2005 Author: dlichteblau
Index: cxml/runes/runes.lisp diff -u cxml/runes/runes.lisp:1.2 cxml/runes/runes.lisp:1.3 --- cxml/runes/runes.lisp:1.2 Fri Mar 25 19:16:56 2005 +++ cxml/runes/runes.lisp Sat Jun 25 15:56:55 2005 @@ -147,12 +147,17 @@ (defun char-rune (char) (code-rune (char-code char)))
-(defun rune-char (rune &optional (default #?)) - (if (>= rune char-code-limit) - default - (or (code-char rune) default))) +(defparameter *invalid-rune* nil ;;#? + "Rune to use as a replacement in RUNE-CHAR and ROD-STRING for runes not + representable as characters. If NIL, an error is signalled instead.")
-(defun rod-string (rod &optional (default-char #?)) +(defun rune-char (rune &optional (default *invalid-rune*)) + (or (if (>= rune char-code-limit) + default + (or (code-char rune) default)) + (error "rune cannot be represented as a character: ~A" rune))) + +(defun rod-string (rod &optional (default-char *invalid-rune*)) (map 'string (lambda (x) (rune-char x default-char)) rod))
(defun string-rod (string)