From 60195c4f31cb252d3ec2aa4a333da0ede874f13c Mon Sep 17 00:00:00 2001 From: Arun Welch Date: Tue, 10 Jun 2025 18:50:06 -0500 Subject: [PATCH] Fixed issue 1883 Fixed issue 1883, error in printing class from CLOS browser --- clos/NEW-CLOS-BROWSER | 77 +++++++++++++++++++----------------- clos/NEW-CLOS-BROWSER.DFASL | Bin 62124 -> 62503 bytes 2 files changed, 40 insertions(+), 37 deletions(-) diff --git a/clos/NEW-CLOS-BROWSER b/clos/NEW-CLOS-BROWSER index 8ea10081..9d5f754e 100644 --- a/clos/NEW-CLOS-BROWSER +++ b/clos/NEW-CLOS-BROWSER @@ -1,18 +1,18 @@ -(DEFINE-FILE-INFO PACKAGE (PROGN (DEFPACKAGE "CLOS-BROWSER" (USE "CLOS") (EXPORT "CLOS-ICON" -"CLOS-BROWSER" "ADD-BROWSER-METHOD" "BROWSE-CLASS")) (CLFIND-PACKAGE "USER")) READTABLE "XCL" BASE -10) +(DEFINE-FILE-INFO PACKAGE (PROGN (DEFPACKAGE "CLOS-BROWSER" (USE "CLOS" "LISP") (EXPORT "CLOS-ICON" + "CLOS-BROWSER" "ADD-BROWSER-METHOD" "BROWSE-CLASS")) (CLFIND-PACKAGE "USER")) READTABLE "XCL" BASE + 10) -(IL:FILECREATED " 5-Dec-2023 12:07:41" IL:{CLOS}NEW-CLOS-BROWSER.\;3 91622 +(IL:FILECREATED "28-Apr-2025 18:32:38"  +IL:|{DSK}arunwelch>DOCUMENTS>MEDLEY-WORKSPACE>RELEASE>NEW-CLOS-BROWSER.;4| 91934 - :EDIT-BY "mth" + :EDIT-BY "akw" :CHANGES-TO (IL:PROPS (IL:NEW-CLOS-BROWSER IL:MAKEFILE-ENVIRONMENT)) - :PREVIOUS-DATE " 5-Dec-2023 00:58:05" IL:{CLOS}NEW-CLOS-BROWSER.\;2) + :PREVIOUS-DATE "26-Apr-2025 17:16:46" +IL:|{DSK}arunwelch>DOCUMENTS>MEDLEY-WORKSPACE>RELEASE>NEW-CLOS-BROWSER.;3|) -; Copyright (c) 1991, 2020, 2023 by Venue. - (IL:PRETTYCOMPRINT IL:NEW-CLOS-BROWSERCOMS) (IL:RPAQQ IL:NEW-CLOS-BROWSERCOMS @@ -275,7 +275,7 @@ (IL:PUTPROPS IL:NEW-CLOS-BROWSER IL:MAKEFILE-ENVIRONMENT (:PACKAGE (PROGN (XCL:DEFPACKAGE "CLOS-BROWSER" - (:USE "CLOS") + (:USE "CLOS" "LISP") (:EXPORT "CLOS-ICON" "CLOS-BROWSER" "ADD-BROWSER-METHOD" @@ -1159,9 +1159,14 @@ Below this line operates on individual slots and methods." (DOCUMENTATION (SLOT-VALUE CLOS-BROWSER::SELF 'CLOS-BROWSER::CLASS))) (DEFMETHOD CLOS-BROWSER::PRINT-CLASS ((CLOS-BROWSER::SELF CLOS-BROWSER::CLOS-BROWSER-NODE)) - (PPRINT (IL:GETDEF (SLOT-VALUE (SLOT-VALUE CLOS-BROWSER::SELF `CLOS-BROWSER::CLASS) - 'CLOS::NAME) - 'CLOS-BROWSER::CLASSES))) + (IF (IL:HASDEF (SLOT-VALUE (SLOT-VALUE CLOS-BROWSER::SELF 'CLOS-BROWSER::CLASS) + 'CLOS::NAME) + 'CLOS-BROWSER::CLASSES) + (PPRINT (IL:GETDEF (SLOT-VALUE (SLOT-VALUE CLOS-BROWSER::SELF `CLOS-BROWSER::CLASS) + 'CLOS::NAME) + 'CLOS-BROWSER::CLASSES)) + (IL:PROMPTPRINT "No Printable Definition for the class " (SLOT-VALUE CLOS-BROWSER::SELF + 'WEB::NAME)))) (DEFMETHOD CLOS-BROWSER::SPECIALIZE-CLASS ((CLOS-BROWSER::NODE CLOS-BROWSER::CLOS-BROWSER-NODE) &OPTIONAL CLOS-BROWSER::FORM CLOS-BROWSER::NEW-CLASS-NAME) @@ -1211,7 +1216,8 @@ Below this line operates on individual slots and methods." (RETURN)))))) (IL:SETCURSOR CLOS-BROWSER::ORIGINALCURSOR)))))) -(DEFUN CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE (IGNORE STRUCTURE) +(DEFUN CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE (IGNORE STRUCTURE) + (IL:* IL:\; "Edited 26-Apr-2025 14:31 by arunwelch") (LET ((CLOS-BROWSER::ORIGINALCURSOR (IL:CURSOR))) (UNWIND-PROTECT (PROGN (IL:SETCURSOR IL:WAITINGCURSOR) @@ -1224,8 +1230,7 @@ Below this line operates on individual slots and methods." (IL:* IL:|;;| "check for bug") (WHEN (SYMBOLP CLOS-BROWSER::SUB-CLASS) - (SETQ CLOS-BROWSER::SUB-CLASS (CLOS::SYMBOL-CLASS CLOS-BROWSER::SUB-CLASS - ))) + (SETQ CLOS-BROWSER::SUB-CLASS (FIND-CLASS CLOS-BROWSER::SUB-CLASS))) (DOLIST (CLOS-BROWSER::BROWSER (SLOT-VALUE CLOS-BROWSER:CLOS-ICON 'CLOS-BROWSER::CLASS-BROWSERS)) (DOLIST (CLOS-BROWSER::SUPER-CLASS (SLOT-VALUE CLOS-BROWSER::SUB-CLASS @@ -1387,14 +1392,12 @@ Below this line operates on individual slots and methods." (0 (FORMAT T "Unspecialized methods cannot be copied. ~A" (CLOS::FULL-METHOD-NAME CLOS-BROWSER::METHOD NIL))) (1 (SETQ CLOS-BROWSER::FROM-CLASS (CAR CLOS-BROWSER::NON-T-CLASSES))) - (OTHERWISE (SETQ CLOS-BROWSER::FROM-CLASS (CLOS::SYMBOL-CLASS - (IL:PROMPTFORWORD (FORMAT NIL + (OTHERWISE (SETQ CLOS-BROWSER::FROM-CLASS (FIND-CLASS (IL:PROMPTFORWORD + (FORMAT NIL "Which class in ~A do you wish to move from?" - ( - CLOS::FULL-METHOD-NAME - - CLOS-BROWSER::METHOD - NIL)))))))) + (CLOS::FULL-METHOD-NAME + CLOS-BROWSER::METHOD + NIL)))))))) (IL:* IL:|;;| "should contain from-class. If it is not the same, abort.") @@ -1465,7 +1468,7 @@ Below this line operates on individual slots and methods."  "fix bug in the inconsistent way CLOS objects store T class specializers and do method lookup.") (WHEN (EQ CLOS-BROWSER::CLASS T) - (SETQ CLOS-BROWSER::CLASS (CLOS::SYMBOL-CLASS T))) + (SETQ CLOS-BROWSER::CLASS (FIND-CLASS T))) (LET ((CLOS-BROWSER::NODE (CLOS-BROWSER::BROWSER-CONTAINS-P CLOS-BROWSER::CLASS CLOS-BROWSER::BROWSER))) (WHEN CLOS-BROWSER::NODE @@ -1582,7 +1585,8 @@ Below this line operates on individual slots and methods." (IL:|if| PACKAGE IL:|then| (IN-PACKAGE PACKAGE)))) -(DEFUN CLOS-BROWSER::CLASSES-IN-PACKAGE (PACKAGE &OPTIONAL CLOS-BROWSER::MAP-ON-PACKAGE) +(DEFUN CLOS-BROWSER::CLASSES-IN-PACKAGE (PACKAGE &OPTIONAL CLOS-BROWSER::MAP-ON-PACKAGE) + (IL:* IL:\; "Edited 26-Apr-2025 14:25 by arunwelch") "Retrieves a list of all the classes for a given package. When map-on-package is t this can be very slow." (IL:* IL:|;;| "The maphash is always fast, whereas for some strange reason map-on-package varys among packages greatly.") @@ -1594,7 +1598,7 @@ Below this line operates on individual slots and methods." (DO-SYMBOLS (CLOS-BROWSER::SYM PACKAGE) (IF (AND (EQ (SYMBOL-PACKAGE CLOS-BROWSER::SYM) PACKAGE) - (CLOS::SYMBOL-CLASS CLOS-BROWSER::SYM T)) + (FIND-CLASS CLOS-BROWSER::SYM T)) (PUSH CLOS-BROWSER::SYM CLOS-BROWSER::CLASSES))) (MAPHASH #'(LAMBDA (CLOS-BROWSER::KEY CLOS-BROWSER::VAL) (IF (EQ (SYMBOL-PACKAGE CLOS-BROWSER::KEY) @@ -1623,17 +1627,16 @@ Below this line operates on individual slots and methods." IL:|BackgroundMenuCommands|) (SETQ IL:|BackgroundMenu| NIL) -(IL:PUTPROPS IL:NEW-CLOS-BROWSER IL:COPYRIGHT ("Venue" 1991 2020 2023)) (IL:DECLARE\: IL:DONTCOPY - (IL:FILEMAP (NIL (11770 13440 (CLOS-BROWSER:BROWSE-CLASS 11770 . 13440)) (13442 14785 ( -CLOS-BROWSER::COLLECT-FAMILY 13442 . 14785)) (14787 16819 (CLOS-BROWSER::MAKE-NODES 14787 . 16819)) ( -16821 17496 (CLOS-BROWSER::CLOS-BROWSER-CLOSE-FN 16821 . 17496)) (17498 18430 (CLOS-BROWSER::BROWSER-CONTAINS-P - 17498 . 18430)) (42263 42587 (CLOS-BROWSER::EDIT 42263 . 42587)) (42589 48183 ( -CLOS-BROWSER::MAKE-METHOD-MENU-ITEMS 42589 . 48183)) (48185 49663 (CLOS-BROWSER::MAKE-TOP-LEVEL-METHOD-MENU-ITEMS - 48185 . 49663)) (49665 50955 (CLOS-BROWSER::MAKE-MULTI-METHOD-SUB-MENU 49665 . 50955)) (64981 65598 ( -CLOS-BROWSER::COMPLETE-ADD-METHOD 64981 . 65598)) (65600 67812 (CLOS-BROWSER::COMPLETE-SPECIALIZE -65600 . 67812)) (67814 69482 (CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE 67814 . 69482)) (69484 69649 ( -CLOS-BROWSER::THIS-CLASS-NODE-P 69484 . 69649)) (69651 69753 (CLOS::CLASS-DIRECT-METHODS 69651 . 69753 -)) (86457 87472 (CLOS-BROWSER::REPLACE-SPECIALIZERS 86457 . 87472)) (87783 89367 (CLOS-BROWSER::IN-SELECT-PACKAGE - 87783 . 89367)) (89369 90516 (CLOS-BROWSER::CLASSES-IN-PACKAGE 89369 . 90516))))) + (IL:FILEMAP (NIL (11846 13516 (CLOS-BROWSER:BROWSE-CLASS 11846 . 13516)) (13518 14861 ( +CLOS-BROWSER::COLLECT-FAMILY 13518 . 14861)) (14863 16895 (CLOS-BROWSER::MAKE-NODES 14863 . 16895)) ( +16897 17572 (CLOS-BROWSER::CLOS-BROWSER-CLOSE-FN 16897 . 17572)) (17574 18506 (CLOS-BROWSER::BROWSER-CONTAINS-P + 17574 . 18506)) (42339 42663 (CLOS-BROWSER::EDIT 42339 . 42663)) (42665 48259 ( +CLOS-BROWSER::MAKE-METHOD-MENU-ITEMS 42665 . 48259)) (48261 49739 (CLOS-BROWSER::MAKE-TOP-LEVEL-METHOD-MENU-ITEMS + 48261 . 49739)) (49741 51031 (CLOS-BROWSER::MAKE-MULTI-METHOD-SUB-MENU 49741 . 51031)) (65408 66025 ( +CLOS-BROWSER::COMPLETE-ADD-METHOD 65408 . 66025)) (66027 68239 (CLOS-BROWSER::COMPLETE-SPECIALIZE +66027 . 68239)) (68241 69946 (CLOS-BROWSER::LYRIC-COMPLETE-SPECIALIZE 68241 . 69946)) (69948 70113 ( +CLOS-BROWSER::THIS-CLASS-NODE-P 69948 . 70113)) (70115 70217 (CLOS::CLASS-DIRECT-METHODS 70115 . 70217 +)) (86738 87753 (CLOS-BROWSER::REPLACE-SPECIALIZERS 86738 . 87753)) (88064 89648 (CLOS-BROWSER::IN-SELECT-PACKAGE + 88064 . 89648)) (89650 90900 (CLOS-BROWSER::CLASSES-IN-PACKAGE 89650 . 90900))))) IL:STOP diff --git a/clos/NEW-CLOS-BROWSER.DFASL b/clos/NEW-CLOS-BROWSER.DFASL index a3b1318329a935c168c76b3ac708fcf9b0ad39e6..358d81f0cee50235246d064f72433e53c55f49e4 100644 GIT binary patch literal 62503 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 YCK7t~fow+sN3JqHiWM;J{8wN7zrX7{#{d8T delta 20222 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 V-0A*{pn)HS!(ZN1D}B$M`(Nz{0Vx0g