Changeset 4037


Ignore:
Timestamp:
09/23/03 18:17:02 (20 years ago)
Author:
piso
Message:

processArgs(): recognize :ALLOW-OTHER-KEYS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/Closure.java

    r3937 r4037  
    33 *
    44 * Copyright (C) 2002-2003 Peter Graves
    5  * $Id: Closure.java,v 1.57 2003-09-21 00:06:32 piso Exp $
     5 * $Id: Closure.java,v 1.58 2003-09-23 18:17:02 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    597597        } else {
    598598            // No keyword parameters.
     599            if (argsUsed + 2 <= args.length) {
     600                // Check for :ALLOW-OTHER-KEYS.
     601                LispObject allowOtherKeysValue = null;
     602                LispObject keyword = args[argsUsed];
     603                if (keyword == Keyword.ALLOW_OTHER_KEYS) {
     604                    allowOtherKeysValue = args[argsUsed + 1];
     605                    argsUsed += 2;
     606                }
     607                if (allowOtherKeysValue != null && allowOtherKeysValue != NIL) {
     608                    // Skip keyword/value pairs.
     609                    while (argsUsed + 2 <= args.length)
     610                        argsUsed += 2;
     611                }
     612            }
    599613            if (argsUsed < args.length) {
    600614                if (restVar == null) {
Note: See TracChangeset for help on using the changeset viewer.