From 28535e8aa583421cfeb3e15ae9ec733bd4e0a68d Mon Sep 17 00:00:00 2001 From: jgarcia Date: Tue, 29 Apr 2008 10:50:33 +0000 Subject: [PATCH] LOAD now accepts namestrings with large characters. --- src/CHANGELOG | 2 ++ src/c/load.d | 2 +- src/c/pathname.d | 3 +++ src/lsp/config.lsp.in | 2 +- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/CHANGELOG b/src/CHANGELOG index fceae51e3..ae7d3c00e 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -73,6 +73,8 @@ ECL 0.9k: - Interpreted forms now remember the file in which they were defined and what form number they represent. + - LOAD now accepts namestrings which are of type (AND STRING (NOT BASE-STRING)) + * CLOS: - When caching generic function calls, ECL now uses a thread-local hash table diff --git a/src/c/load.d b/src/c/load.d index 621dc48d2..5ebea1fed 100644 --- a/src/c/load.d +++ b/src/c/load.d @@ -425,7 +425,7 @@ si_load_source(cl_object source, cl_object verbose, cl_object print) bool not_a_filename = 0; @ /* If source is a stream, read conventional lisp code from it */ - if (type_of(source) != t_pathname && type_of(source) != t_base_string) { + if (type_of(source) != t_pathname && !ecl_stringp(source)) { /* INV: if "source" is not a valid stream, file.d will complain */ filename = source; function = Cnil; diff --git a/src/c/pathname.d b/src/c/pathname.d index d8907f7cc..73f91797c 100644 --- a/src/c/pathname.d +++ b/src/c/pathname.d @@ -1013,6 +1013,9 @@ cl_namestring(cl_object x) defaults = cl_pathname(defaults); default_host = defaults->pathname.host; } +#ifdef ECL_UNICODE + thing = si_coerce_to_base_string(thing); +#endif get_string_start_end(thing, start, end, &s, &e); output = ecl_parse_namestring(thing, s, e, &ee, default_host); start = MAKE_FIXNUM(ee); diff --git a/src/lsp/config.lsp.in b/src/lsp/config.lsp.in index 1f87b4511..097f137f0 100644 --- a/src/lsp/config.lsp.in +++ b/src/lsp/config.lsp.in @@ -46,7 +46,7 @@ Returns, as a string, the location of the machine on which ECL runs." (defun lisp-implementation-version () "Args:() Returns the version of your ECL as a string." - "@PACKAGE_VERSION@ (CVS 2008-04-28 17:22)") + "@PACKAGE_VERSION@ (CVS 2008-04-29 12:48)") (defun machine-type () "Args: ()