Changeset 4566
- Timestamp:
- 10/29/03 00:32:51 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/j/src/org/armedbear/lisp/SpecialOperators.java
r4558 r4566 3 3 * 4 4 * Copyright (C) 2003 Peter Graves 5 * $Id: SpecialOperators.java,v 1.1 0 2003-10-28 16:01:02piso Exp $5 * $Id: SpecialOperators.java,v 1.11 2003-10-29 00:32:51 piso Exp $ 6 6 * 7 7 * This program is free software; you can redistribute it and/or … … 343 343 Symbol symbol = checkSymbol(args.car()); 344 344 args = args.cdr(); 345 value = eval(args.car(), env, thread);346 345 Binding binding = null; 347 346 if (symbol.isSpecialVariable()) { … … 357 356 LispObject expansion = 358 357 ((SymbolMacro)binding.value).getExpansion(); 359 LispObject form = list3(Symbol.SETF, expansion, value); 360 eval(form, env, thread); 361 } else 358 LispObject form = list3(Symbol.SETF, expansion, args.car()); 359 value = eval(form, env, thread); 360 } else { 361 value = eval(args.car(), env, thread); 362 362 binding.value = value; 363 } 363 364 } else { 364 365 if (symbol.getSymbolValue() instanceof SymbolMacro) { 365 366 LispObject expansion = 366 367 ((SymbolMacro)symbol.getSymbolValue()).getExpansion(); 367 LispObject form = list3(Symbol.SETF, expansion, value); 368 eval(form, env, thread); 369 } else 368 LispObject form = list3(Symbol.SETF, expansion, args.car()); 369 value = eval(form, env, thread); 370 } else { 371 value = eval(args.car(), env, thread); 370 372 symbol.setSymbolValue(value); 373 } 371 374 } 372 375 args = args.cdr();
Note: See TracChangeset
for help on using the changeset viewer.