diff --git a/fonts/medleydisplayfonts/PALATINO10-BIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO10-BIR.MEDLEYDISPLAYFONT index be35efdc..4b6403f2 100644 Binary files a/fonts/medleydisplayfonts/PALATINO10-BIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO10-BIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO10-BRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO10-BRR.MEDLEYDISPLAYFONT index 7879223f..13d498c9 100644 Binary files a/fonts/medleydisplayfonts/PALATINO10-BRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO10-BRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO10-MIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO10-MIR.MEDLEYDISPLAYFONT index f21bcf4a..51d9441c 100644 Binary files a/fonts/medleydisplayfonts/PALATINO10-MIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO10-MIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO10-MRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO10-MRR.MEDLEYDISPLAYFONT index 6ea4fb25..8300af91 100644 Binary files a/fonts/medleydisplayfonts/PALATINO10-MRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO10-MRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO12-BIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO12-BIR.MEDLEYDISPLAYFONT index 441b2c2a..7ff697a9 100644 Binary files a/fonts/medleydisplayfonts/PALATINO12-BIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO12-BIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO12-BRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO12-BRR.MEDLEYDISPLAYFONT index 39dbc84d..d5c8729e 100644 Binary files a/fonts/medleydisplayfonts/PALATINO12-BRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO12-BRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO12-MIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO12-MIR.MEDLEYDISPLAYFONT index f870ac15..42ca0567 100644 Binary files a/fonts/medleydisplayfonts/PALATINO12-MIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO12-MIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO12-MRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO12-MRR.MEDLEYDISPLAYFONT index d9bc5b86..a0536289 100644 Binary files a/fonts/medleydisplayfonts/PALATINO12-MRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO12-MRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO14-BIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO14-BIR.MEDLEYDISPLAYFONT index c14f4e0a..52644410 100644 Binary files a/fonts/medleydisplayfonts/PALATINO14-BIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO14-BIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO14-BRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO14-BRR.MEDLEYDISPLAYFONT index c369f534..bb801472 100644 Binary files a/fonts/medleydisplayfonts/PALATINO14-BRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO14-BRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO14-MIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO14-MIR.MEDLEYDISPLAYFONT index 4defc4d9..aad14722 100644 Binary files a/fonts/medleydisplayfonts/PALATINO14-MIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO14-MIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO14-MRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO14-MRR.MEDLEYDISPLAYFONT index f4747ba7..79b0ec4c 100644 Binary files a/fonts/medleydisplayfonts/PALATINO14-MRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO14-MRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO18-BIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO18-BIR.MEDLEYDISPLAYFONT index 1c26c941..bf0d8436 100644 Binary files a/fonts/medleydisplayfonts/PALATINO18-BIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO18-BIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO18-BRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO18-BRR.MEDLEYDISPLAYFONT index 34d4a70b..6785b6da 100644 Binary files a/fonts/medleydisplayfonts/PALATINO18-BRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO18-BRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO18-MIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO18-MIR.MEDLEYDISPLAYFONT index 6f21aeee..43388812 100644 Binary files a/fonts/medleydisplayfonts/PALATINO18-MIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO18-MIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO18-MRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO18-MRR.MEDLEYDISPLAYFONT index 4a3e0c14..741444c5 100644 Binary files a/fonts/medleydisplayfonts/PALATINO18-MRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO18-MRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO24-BIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO24-BIR.MEDLEYDISPLAYFONT index ba1063fc..dd3af6d2 100644 Binary files a/fonts/medleydisplayfonts/PALATINO24-BIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO24-BIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO24-BRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO24-BRR.MEDLEYDISPLAYFONT index adfff4e6..37dce770 100644 Binary files a/fonts/medleydisplayfonts/PALATINO24-BRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO24-BRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO24-MIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO24-MIR.MEDLEYDISPLAYFONT index 838075d4..d02fa80e 100644 Binary files a/fonts/medleydisplayfonts/PALATINO24-MIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO24-MIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/PALATINO24-MRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/PALATINO24-MRR.MEDLEYDISPLAYFONT index 2f38119a..31f0b191 100644 Binary files a/fonts/medleydisplayfonts/PALATINO24-MRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/PALATINO24-MRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/TITAN10-BIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/TITAN10-BIR.MEDLEYDISPLAYFONT index 43d6020f..cc480b5f 100644 Binary files a/fonts/medleydisplayfonts/TITAN10-BIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/TITAN10-BIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/TITAN10-BRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/TITAN10-BRR.MEDLEYDISPLAYFONT index e1d94d2b..1a4fe19a 100644 Binary files a/fonts/medleydisplayfonts/TITAN10-BRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/TITAN10-BRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/TITAN10-MIR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/TITAN10-MIR.MEDLEYDISPLAYFONT index 331434ce..327143c8 100644 Binary files a/fonts/medleydisplayfonts/TITAN10-MIR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/TITAN10-MIR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/TITAN10-MRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/TITAN10-MRR.MEDLEYDISPLAYFONT index 23961e8f..5218d022 100644 Binary files a/fonts/medleydisplayfonts/TITAN10-MRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/TITAN10-MRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/TITAN12-BRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/TITAN12-BRR.MEDLEYDISPLAYFONT index e0703c26..690f6c2a 100644 Binary files a/fonts/medleydisplayfonts/TITAN12-BRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/TITAN12-BRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/TITAN12-MRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/TITAN12-MRR.MEDLEYDISPLAYFONT index cd70f6b8..2e56f067 100644 Binary files a/fonts/medleydisplayfonts/TITAN12-MRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/TITAN12-MRR.MEDLEYDISPLAYFONT differ diff --git a/fonts/medleydisplayfonts/TITAN14-MRR.MEDLEYDISPLAYFONT b/fonts/medleydisplayfonts/TITAN14-MRR.MEDLEYDISPLAYFONT index 05e09bb3..b8f438a7 100644 Binary files a/fonts/medleydisplayfonts/TITAN14-MRR.MEDLEYDISPLAYFONT and b/fonts/medleydisplayfonts/TITAN14-MRR.MEDLEYDISPLAYFONT differ diff --git a/library/MULTI-ALIST b/library/MULTI-ALIST index f8676caf..64b650d7 100644 --- a/library/MULTI-ALIST +++ b/library/MULTI-ALIST @@ -1,39 +1,40 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "15-Aug-2025 23:02:22" {WMEDLEY}MULTI-ALIST.;23 15006 +(FILECREATED "25-Sep-2025 18:41:59" {WMEDLEY}MULTI-ALIST.;30 15648 :EDIT-BY rmk - :CHANGES-TO (VARS MULTI-ALISTCOMS) + :CHANGES-TO (FNS EXTENDMULTI-PAIR FETCHMULTI-PAIR) (MACROS FETCHMULTI) - :PREVIOUS-DATE "15-Aug-2025 08:31:28" {WMEDLEY}MULTI-ALIST.;22) + :PREVIOUS-DATE "25-Sep-2025 11:35:45" +{DSK}kaplan>Local>medley3.5>working-medley>library>MULTI-ALIST.;28) (PRETTYCOMPRINT MULTI-ALISTCOMS) (RPAQQ MULTI-ALISTCOMS - ((MACROS PUSHMULTI PUTMULTI PUSHMULTI-NEW FPUSHMULTI FPUTMULTI FPUSHMULTI-NEW STOREMULTI) - (MACROS GETMULTI GETMULTI-PAIR FGETMULTI FGETMULTI-PAIR FETCHMULTI) + ((MACROS PUTMULTI PUSHMULTI PUSHMULTI-NEW SPUTMULTI SPUSHMULTI SPUSHMULTI-NEW STOREMULTI) + (MACROS GETMULTI GETMULTI-PAIR SGETMULTI SGETMULTI-PAIR FETCHMULTI) (MACROS REMOVEMULTI REMOVEMULTI-ALL) (FNS MAPMULTI MAPMULTI1 COLLECTMULTI FETCHMULTI-PAIR EXTENDMULTI-PAIR) (FNS GETMULTI-PAIR.EXPAND PUTMULTI.EXPAND) - (PROP ARGNAMES PUSHMULTI PUTMULTI PUSHMULTI-NEW REMOVEMULTI FPUSHMULTI FPUTMULTI - FPUSHMULTI-NEW STOREMULTI) + (PROP ARGNAMES PUTMULTI PUSHMULTI PUSHMULTI-NEW SPUTMULTI SPUSHMULTI SPUSHMULTI-NEW GETMULTI + GETMULTI-PAIR SGETMULTI SGETMULTI-PAIR STOREMULTI REMOVEMULTI) (LOCALVARS . T))) (DECLARE%: EVAL@COMPILE -(PUTPROPS PUSHMULTI MACRO (ARGS (PUTMULTI.EXPAND ARGS 'SASSOC 'PUSH))) +(PUTPROPS PUTMULTI MACRO (ARGS (PUTMULTI.EXPAND ARGS 'ASSOC 'PUT))) -(PUTPROPS PUTMULTI MACRO (ARGS (PUTMULTI.EXPAND ARGS 'SASSOC 'PUT))) +(PUTPROPS PUSHMULTI MACRO (ARGS (PUTMULTI.EXPAND ARGS 'ASSOC 'PUSH))) -(PUTPROPS PUSHMULTI-NEW MACRO (ARGS (PUTMULTI.EXPAND ARGS 'SASSOC 'PUSHNEW))) +(PUTPROPS PUSHMULTI-NEW MACRO (ARGS (PUTMULTI.EXPAND ARGS 'ASSOC 'PUSHNEW))) -(PUTPROPS FPUSHMULTI MACRO (ARGS (PUTMULTI.EXPAND ARGS 'ASSOC 'PUSH))) +(PUTPROPS SPUTMULTI MACRO (ARGS (PUTMULTI.EXPAND ARGS 'SASSOC 'PUT))) -(PUTPROPS FPUTMULTI MACRO (ARGS (PUTMULTI.EXPAND ARGS 'ASSOC 'PUT))) +(PUTPROPS SPUSHMULTI MACRO (ARGS (PUTMULTI.EXPAND ARGS 'SASSOC 'PUSH))) -(PUTPROPS FPUSHMULTI-NEW MACRO (ARGS (PUTMULTI.EXPAND ARGS 'ASSOC 'PUSHNEW))) +(PUTPROPS SPUSHMULTI-NEW MACRO (ARGS (PUTMULTI.EXPAND ARGS 'SASSOC 'PUSHNEW))) (PUTPROPS STOREMULTI MACRO [ARGS (LET ((PLACE (CAR ARGS)) @@ -57,27 +58,27 @@ (PUTPROPS GETMULTI MACRO ((MULTIALIST . KEYS) (CDR (GETMULTI-PAIR MULTIALIST . KEYS)))) -(PUTPROPS GETMULTI-PAIR MACRO (ARGS (GETMULTI-PAIR.EXPAND 'SASSOC (CAR ARGS) +(PUTPROPS GETMULTI-PAIR MACRO (ARGS (GETMULTI-PAIR.EXPAND 'ASSOC (CAR ARGS) (CDR ARGS)))) -(PUTPROPS FGETMULTI MACRO ((MULTIALIST . KEYS) - (CDR (FGETMULTI-PAIR MULTIALIST . KEYS)))) +(PUTPROPS SGETMULTI MACRO ((MULTIALIST . KEYS) + (CDR (GETMULTI-PAIR MULTIALIST . KEYS)))) -(PUTPROPS FGETMULTI-PAIR MACRO (ARGS (GETMULTI-PAIR.EXPAND 'ASSOC (CAR ARGS) +(PUTPROPS SGETMULTI-PAIR MACRO (ARGS (GETMULTI-PAIR.EXPAND 'SASSOC (CAR ARGS) (CDR ARGS)))) -(PUTPROPS FETCHMULTI MACRO ((MULTIALIST KEYS FAST) - (CDR (FETCHMULTI-PAIR MULTIALIST KEYS FAST)))) +(PUTPROPS FETCHMULTI MACRO ((MULTIALIST KEYS SASSOC) + (CDR (FETCHMULTI-PAIR MULTIALIST KEYS SASSOC)))) ) (DECLARE%: EVAL@COMPILE -(PUTPROPS REMOVEMULTI MACRO [ARGS `(CHANGE [GETMULTI ,@(for ATAIL on ARGS while (CDR ATAIL) - collect (CAR ATAIL] +(PUTPROPS REMOVEMULTI MACRO [ARGS `(CHANGE [SGETMULTI ,@(for ATAIL on ARGS while (CDR ATAIL) + collect (CAR ATAIL] (REMOVE ,(CAR (LAST ARGS)) DATUM]) (PUTPROPS REMOVEMULTI-ALL MACRO ((MULTIALIST . KEYS) - (RPLACD (GETMULTI-PAIR MULTIALIST . KEYS) + (RPLACD (SGETMULTI-PAIR MULTIALIST . KEYS) NIL))) ) (DEFINEQ @@ -124,26 +125,28 @@ $$COLLECT]) (FETCHMULTI-PAIR - [LAMBDA (MULTIALIST KEYS FAST) (* ; "Edited 15-Aug-2025 08:08 by rmk") + [LAMBDA (MULTIALIST KEYS SASSOC) (* ; "Edited 25-Sep-2025 17:06 by rmk") + (* ; "Edited 15-Aug-2025 08:08 by rmk") (* ; "Edited 13-Aug-2025 13:30 by rmk") (* ;; "Parallel to GETMULTI-PAIR but with the keys in a computed list. ") (CL:UNLESS (LISTP KEYS) (ERROR (ERROR "FETCHMULTI-PAIR requires at least 1 key" KEYS))) - (for KTAIL (LASTPAIR _ (CL:IF FAST - (ASSOC (CAR KEYS) - MULTIALIST) + (for KTAIL (LASTPAIR _ (CL:IF SASSOC (SASSOC (CAR KEYS) + MULTIALIST) + (ASSOC (CAR KEYS) MULTIALIST))) on (CDR KEYS) - do (SETQ LASTPAIR (CL:IF FAST - (ASSOC (CAR KTAIL) - LASTPAIR) + do (SETQ LASTPAIR (CL:IF SASSOC (SASSOC (CAR KTAIL) + LASTPAIR) + (ASSOC (CAR KTAIL) LASTPAIR))) finally (RETURN LASTPAIR]) (EXTENDMULTI-PAIR - [LAMBDA (MULTIALIST KEYS VAL OPTIONS) (* ; "Edited 15-Aug-2025 08:08 by rmk") + [LAMBDA (MULTIALIST KEYS VAL OPTIONS) (* ; "Edited 25-Sep-2025 18:37 by rmk") + (* ; "Edited 15-Aug-2025 08:08 by rmk") (* ; "Edited 13-Aug-2025 14:39 by rmk") (* ; "Edited 22-Jan-2025 23:47 by rmk") (* ; "Edited 17-Aug-2020 15:05 by rmk:") @@ -156,19 +159,20 @@ (ERROR MULTIALIST "is not a MULTI-ALIST")) (CL:UNLESS (LISTP KEYS) (ERROR "EXTENDMULTI-PAIR requires at least 1 key" KEYS)) - (for K LASTPAIR (FAST _ (EQMEMB 'FAST OPTIONS)) in (CDR KEYS) - first [SETQ LASTPAIR (OR (CL:IF FAST - (ASSOC (CAR KEYS) - MULTIALIST) + (for K LASTPAIR (SASSOC _ (OR (EQ OPTIONS T) + (EQMEMB 'SASSOC OPTIONS))) in (CDR KEYS) + first [SETQ LASTPAIR (OR (CL:IF SASSOC (SASSOC (CAR KEYS) + MULTIALIST) + (ASSOC (CAR KEYS) MULTIALIST)) (CAR (ATTACH (CONS (CAR KEYS)) MULTIALIST] (* ;; "We have insured a pair headed by (CAR KEYS) at the top level of MULTIALIST.") - do [SETQ LASTPAIR (OR (CL:IF FAST - (ASSOC K (CDR LASTPAIR)) - (SASSOC K (CDR LASTPAIR))) + do [SETQ LASTPAIR (OR (CL:IF SASSOC + (SASSOC K (CDR LASTPAIR)) + (ASSOC K (CDR LASTPAIR))) (CAR (PUSH (CDR LASTPAIR) (CONS K] finally (CL:UNLESS (LISTP LASTPAIR) (ERROR "INVALID MULTI-ALIST" (LIST LASTPAIR @@ -185,7 +189,8 @@ (DEFINEQ (GETMULTI-PAIR.EXPAND - [LAMBDA (ASSOCFN PLACE KEYS) (* ; "Edited 11-Aug-2025 09:56 by rmk") + [LAMBDA (ASSOCFN PLACE KEYS) (* ; "Edited 21-Sep-2025 10:31 by rmk") + (* ; "Edited 11-Aug-2025 09:56 by rmk") (* ; "Edited 8-Aug-2025 12:55 by rmk") (* ; "Edited 14-Jun-2025 09:47 by rmk") (* ; "Edited 16-Jan-2025 10:27 by rmk") @@ -193,18 +198,14 @@ (* ; "Edited 22-Mar-2020 13:21 by rmk:") (* ; "Edited 27-Feb-2020 13:44 by rmk:") - (* ;; - "This returns the last (key . rest) cell (like ASSOC), NIL if no keys and place is not a list") + (* ;; "This returns the last (key . rest) cell (like ASSOC), error here if no keys, runtime error if place is not a list") - (if KEYS - then `[LET (($$PAIR$$ ,PLACE)) - (DECLARE (LOCALVARS $$PAIR$$)) - ,@(for KTAIL on KEYS - collect (if (CDR KTAIL) - then `(SETQ $$PAIR$$ (CDR (,ASSOCFN ,(CAR KTAIL) - $$PAIR$$))) - else `(,ASSOCFN ,(CAR KTAIL) - $$PAIR$$] + (if (LISTP KEYS) + then (for KTAIL (FORM _ PLACE) on KEYS do [SETQ FORM `(,ASSOCFN ,(CAR KTAIL) + ,FORM] + (CL:WHEN (CDR KTAIL) + [SETQ FORM `(CDR ,FORM]) + finally (RETURN FORM)) else (ERROR "GETMULTI requires at least 1 key" (CONS PLACE KEYS]) (PUTMULTI.EXPAND @@ -253,27 +254,35 @@ else (ERROR "PUTMULTI requires at least 1 key" ARGS]) ) -(PUTPROPS PUSHMULTI ARGNAMES (PLACE KEY1...KEYN VAL)) - (PUTPROPS PUTMULTI ARGNAMES (PLACE KEY1...KEYN VAL)) +(PUTPROPS PUSHMULTI ARGNAMES (PLACE KEY1...KEYN VAL)) + (PUTPROPS PUSHMULTI-NEW ARGNAMES (PLACE KEY1...KEYN VAL)) -(PUTPROPS REMOVEMULTI ARGNAMES (MULTIALIST KEY1...KEYN VAL)) +(PUTPROPS SPUTMULTI ARGNAMES (PLACE KEY1...KEYN VAL)) -(PUTPROPS FPUSHMULTI ARGNAMES (PLACE KEY1...KEYN VAL)) +(PUTPROPS SPUSHMULTI ARGNAMES (PLACE KEY1...KEYN VAL)) -(PUTPROPS FPUTMULTI ARGNAMES (PLACE KEY1...KEYN VAL)) +(PUTPROPS SPUSHMULTI-NEW ARGNAMES (PLACE KEY1...KEYN VAL)) -(PUTPROPS FPUSHMULTI-NEW ARGNAMES (PLACE KEY1...KEYN VAL)) +(PUTPROPS GETMULTI ARGNAMES (PLACE KEY1...KEYN)) + +(PUTPROPS GETMULTI-PAIR ARGNAMES (PLACE KEY1...KEYN)) + +(PUTPROPS SGETMULTI ARGNAMES (PLACE KEY1...KEYN)) + +(PUTPROPS SGETMULTI-PAIR ARGNAMES (PLACE KEY1...KEYN)) (PUTPROPS STOREMULTI ARGNAMES (PLACE KEYS VAL OPTIONS)) + +(PUTPROPS REMOVEMULTI ARGNAMES (MULTIALIST KEY1...KEYN VAL)) (DECLARE%: DOEVAL@COMPILE DONTCOPY (LOCALVARS . T) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (3610 10036 (MAPMULTI 3620 . 4766) (MAPMULTI1 4768 . 5825) (COLLECTMULTI 5827 . 6298) ( -FETCHMULTI-PAIR 6300 . 7247) (EXTENDMULTI-PAIR 7249 . 10034)) (10037 14407 (GETMULTI-PAIR.EXPAND 10047 - . 11544) (PUTMULTI.EXPAND 11546 . 14405))))) + (FILEMAP (NIL (3720 10430 (MAPMULTI 3730 . 4876) (MAPMULTI1 4878 . 5935) (COLLECTMULTI 5937 . 6408) ( +FETCHMULTI-PAIR 6410 . 7470) (EXTENDMULTI-PAIR 7472 . 10428)) (10431 14805 (GETMULTI-PAIR.EXPAND 10441 + . 11942) (PUTMULTI.EXPAND 11944 . 14803))))) STOP diff --git a/library/MULTI-ALIST.LCOM b/library/MULTI-ALIST.LCOM index ff593cc5..d4c08798 100644 Binary files a/library/MULTI-ALIST.LCOM and b/library/MULTI-ALIST.LCOM differ diff --git a/library/MULTI-ALIST.TEDIT b/library/MULTI-ALIST.TEDIT index 810a7226..25c9ad8d 100644 Binary files a/library/MULTI-ALIST.TEDIT and b/library/MULTI-ALIST.TEDIT differ