Changeset 12801
- Timestamp:
- 07/11/10 20:03:22 (13 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/JavaClassLoader.java
r12800 r12801 151 151 }; 152 152 153 // ### make-classloader &optional parent => java-class-loader154 153 private static final Primitive MAKE_CLASSLOADER = new pf_make_classloader(); 155 154 private static final class pf_make_classloader extends Primitive … … 171 170 }; 172 171 173 // ### dump-classpath &optional classloader => list-of-pathname-lists174 172 private static final Primitive DUMP_CLASSPATH = new pf_dump_classpath(); 175 173 private static final class pf_dump_classpath extends Primitive … … 198 196 }; 199 197 200 // ### add-to-classpath jar-or-jars &optional (classloader (get-current-classloader))201 198 private static final Primitive ADD_TO_CLASSPATH = new pf_add_to_classpath(); 202 199 private static final class pf_add_to_classpath extends Primitive -
trunk/abcl/src/org/armedbear/lisp/Pathname.java
r12799 r12801 592 592 sb.append(authority.getStringValue()); 593 593 } 594 } else { 595 if (!(this instanceof LogicalPathname)) { 596 sb.append("\\\\"); //UNC file support; if there's a host, it's a UNC path. 597 } 594 } else if (this instanceof LogicalPathname) { 598 595 sb.append(host.getStringValue()); 599 if (this instanceof LogicalPathname) { 600 sb.append(':'); 601 } else { 602 sb.append(File.separatorChar); 603 } 596 sb.append(':'); 597 } else { 598 // UNC paths now use unprintable representation 599 return null; 604 600 } 605 601 } … … 838 834 public String writeToString() { 839 835 final LispThread thread = LispThread.currentThread(); 840 boolean printReadably = (Symbol.PRINT_READABLY.symbolValue(thread) != NIL);841 boolean printEscape = (Symbol.PRINT_ESCAPE.symbolValue(thread) != NIL);836 final boolean printReadably = (Symbol.PRINT_READABLY.symbolValue(thread) != NIL); 837 final boolean printEscape = (Symbol.PRINT_ESCAPE.symbolValue(thread) != NIL); 842 838 boolean useNamestring; 843 839 String s = null; … … 883 879 } 884 880 } else { 885 final boolean ANSI_COMPATIBLE = true; 886 final String separator; 887 if (ANSI_COMPATIBLE) { 888 sb.append("#P("); 889 separator = "\""; 890 } else { 891 sb.append("#P("); 892 separator = " "; 893 } 894 if (host != NIL) { 895 sb.append(":HOST "); 896 sb.append(host.writeToString()); 897 sb.append(separator); 898 } 899 if (device != NIL) { 900 sb.append(":DEVICE "); 901 sb.append(device.writeToString()); 902 sb.append(separator); 903 } 904 if (directory != NIL) { 905 sb.append(":DIRECTORY "); 906 sb.append(directory.writeToString()); 907 sb.append(separator); 908 } 909 if (name != NIL) { 910 sb.append(":NAME "); 911 sb.append(name.writeToString()); 912 sb.append(separator); 913 } 914 if (type != NIL) { 915 sb.append(":TYPE "); 916 sb.append(type.writeToString()); 917 sb.append(separator); 918 } 919 if (version != NIL) { 920 sb.append(":VERSION "); 921 sb.append(version.writeToString()); 922 sb.append(separator); 923 } 924 if (sb.charAt(sb.length() - 1) == ' ') { // XXX 925 sb.setLength(sb.length() - 1); 926 } 927 if (ANSI_COMPATIBLE) { 928 sb.append(')' + separator); 929 } else { 930 sb.append(')'); 881 final SpecialBindingsMark mark = thread.markSpecialBindings(); 882 thread.bindSpecial(Symbol.PRINT_ESCAPE, T); 883 try { 884 final boolean ANSI_COMPATIBLE = true; 885 final String SPACE = " "; 886 if (ANSI_COMPATIBLE) { 887 sb.append("#P(\""); 888 } else { 889 sb.append("#P("); 890 891 } 892 if (host != NIL) { 893 sb.append(":HOST "); 894 sb.append(host.writeToString()); 895 sb.append(SPACE); 896 } 897 if (device != NIL) { 898 sb.append(":DEVICE "); 899 sb.append(device.writeToString()); 900 sb.append(SPACE); 901 } 902 if (directory != NIL) { 903 sb.append(":DIRECTORY "); 904 sb.append(directory.writeToString()); 905 sb.append(SPACE); 906 } 907 if (name != NIL) { 908 sb.append(":NAME "); 909 sb.append(name.writeToString()); 910 sb.append(SPACE); 911 } 912 if (type != NIL) { 913 sb.append(":TYPE "); 914 sb.append(type.writeToString()); 915 sb.append(SPACE); 916 } 917 if (version != NIL) { 918 sb.append(":VERSION "); 919 sb.append(version.writeToString()); 920 sb.append(SPACE); 921 } 922 if (sb.charAt(sb.length() - 1) == ' ') { // XXX 923 sb.setLength(sb.length() - 1); 924 } 925 if (ANSI_COMPATIBLE) { 926 sb.append(')' + "\""); 927 } else { 928 sb.append(')'); 929 } 930 } finally { 931 thread.resetSpecialBindings(mark); 931 932 } 932 933 } … … 1274 1275 final Pathname p; 1275 1276 final boolean logical; 1277 LispObject logicalHost = NIL; 1276 1278 if (host != NIL) { 1277 1279 if (host instanceof AbstractString) { 1278 host = LogicalPathname.canonicalizeStringComponent((AbstractString) host); 1279 } 1280 if (LOGICAL_PATHNAME_TRANSLATIONS.get(host) == null) { 1281 // Not a defined logical pathname host. 1282 error(new LispError(host.writeToString() + " is not defined as a logical pathname host.")); 1283 } 1284 p = new LogicalPathname(); 1285 logical = true; 1286 p.host = host; 1280 logicalHost = LogicalPathname.canonicalizeStringComponent((AbstractString) host); 1281 } 1282 if (LOGICAL_PATHNAME_TRANSLATIONS.get(logicalHost) == null) { 1283 // Not a defined logical pathname host -- A UNC path 1284 //warning(new LispError(host.writeToString() + " is not defined as a logical pathname host.")); 1285 p = new Pathname(); 1286 logical = false; 1287 p.host = host; 1288 } else { 1289 p = new LogicalPathname(); 1290 logical = true; 1291 p.host = logicalHost; 1292 } 1287 1293 p.device = Keyword.UNSPECIFIC; 1288 1294 } else {
Note: See TracChangeset
for help on using the changeset viewer.