From cd6b64efa21f79aaac3671f6b8f5829d41e191c4 Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Tue, 26 Jul 2022 23:15:27 -0700 Subject: [PATCH] unsafe.to.modify only warns if redefining compiled with interpreted (or in original UNSAFE.TO.MODIFY.FNS (#852) * unsafe.to.modify only warns if redefining compiled with interpreted (or in original UNSAFE.TO.MODIFY.FNS * Add list of functions you said OK to modify --- sources/MACHINEINDEPENDENT | 71 +++++++++++++++++++------------- sources/MACHINEINDEPENDENT.LCOM | Bin 40966 -> 41179 bytes 2 files changed, 42 insertions(+), 29 deletions(-) diff --git a/sources/MACHINEINDEPENDENT b/sources/MACHINEINDEPENDENT index 0a9a44ed..8c0df55b 100644 --- a/sources/MACHINEINDEPENDENT +++ b/sources/MACHINEINDEPENDENT @@ -1,10 +1,11 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "25-Jun-2022 17:45:35" {DSK}larry>medley>sources>MACHINEINDEPENDENT.;3 117309 +(FILECREATED "20-Jul-2022 19:55:30" {DSK}larry>medley>sources>MACHINEINDEPENDENT.;4 117970 - :CHANGES-TO (FNS UNSAFE.TO.MODIFY) + :CHANGES-TO (VARS MACHINEINDEPENDENTCOMS) + (FNS UNSAFE.TO.MODIFY) - :PREVIOUS-DATE "22-May-2022 13:19:56" {DSK}larry>medley>sources>MACHINEINDEPENDENT.;1) + :PREVIOUS-DATE "20-Jul-2022 15:26:15" {DSK}larry>medley>sources>MACHINEINDEPENDENT.;3) (* ; " @@ -31,6 +32,7 @@ with the terms of said license. READLINE REMPROPLIST RESETBUFS TAB UNSAVED1 WRITEFILE CLOSE-AND-MAYBE-DELETE UNSAFE.TO.MODIFY) (VARS UNSAFE.TO.MODIFY.FNS) + (INITVARS (OK.TO.MODIFY.FNS)) [COMS (* ;  "FILEDATE, for finding out the creation date of source files, from the compiled files.") @@ -1297,20 +1299,29 @@ WRITEFILE OF ") (AND RESETSTATE (DELFILE STREAM]) (UNSAFE.TO.MODIFY - [LAMBDA (FN OPTION) (* ; "Edited 25-Jun-2022 17:45 by larry") + [LAMBDA (FN OPTION) (* ; "Edited 20-Jul-2022 19:54 by larry") + (* ; "Edited 25-Jun-2022 17:45 by larry") (* lmm "31-Jul-85 02:06") - (if (OR (FMEMB FN UNSAFE.TO.MODIFY.FNS) - (EQ (CHCON1 FN) - (CHARCODE \)) - (EQ (CL:SYMBOL-PACKAGE FN) - (CL:FIND-PACKAGE "SYSTEM"))) + (DECLARE (GLOBALVARS UNSAFE.TO.MODIFY.FNS OK.TO.MODIFY.FNS)) + + (* ;; "These are hueristic guesses th that need to be tweaked... what things should ou not edit while running?") + + (if [OR (FMEMB FN UNSAFE.TO.MODIFY.FNS) + (AND (CCODEP FN) + (NEQ OK.TO.MODIFY.FNS T) + (NOT (FMEMB FN OK.TO.MODIFY.FNS)) + (OR (EQ (CHCON1 FN) + (CHARCODE \)) + (EQ (CL:SYMBOL-PACKAGE FN) + (CL:FIND-PACKAGE "SYSTEM"] then (PRINTOUT T "Warning: " FN " may be unsafe to " (OR OPTION "modify") " -- continue? ") (if (EQ (if (GETD 'ASKUSER) then (ASKUSER DWIMWAIT 'N) else (READ T)) 'Y) - then NIL + then (SETQ OK.TO.MODIFY.FNS (CONS FN (LISTP OK.TO.MODIFY.FNS))) + NIL else T]) ) @@ -1338,6 +1349,8 @@ WRITEFILE OF ") TTYIN1 TTYIN1RESTART TTYINREAD TYPENAME UNBREAK0 UNDOSAVE UNPACKFILENAME.STRING WFROMDS WINDOW.MOUSE.HANDLER)) +(RPAQ? OK.TO.MODIFY.FNS ) + (* ; "FILEDATE, for finding out the creation date of source files, from the compiled files.") @@ -2456,23 +2469,23 @@ This has little hope of working any more.") (PUTPROPS MACHINEINDEPENDENT COPYRIGHT ("Venue & Xerox Corporation" T 1983 1984 1985 1986 1987 1988 1989 1990 1991 2021 2022)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (12812 26237 (LOAD? 12822 . 14673) (FILESLOAD 14675 . 14964) (DOFILESLOAD 14966 . 22592) - (FINDFILE-WITH-EXTENSIONS 22594 . 25793) (READ-FILECREATED 25795 . 26235)) (26354 31675 (DMPHASH -26364 . 27958) (HASHOVERFLOW 27960 . 31673)) (32431 64001 (BKBUFS 32441 . 33560) (CHANGENAME 33562 . -33823) (CHNGNM 33825 . 35673) (CLBUFS 35675 . 36948) (DEFINE 36950 . 37674) (FNS.PUTDEF 37676 . 41091) - (EQMEMB 41093 . 41275) (EQUALN 41277 . 42106) (FNCHECK 42108 . 44115) (FNTYP1 44117 . 44214) (LCSKIP -44216 . 45060) (MAPRINT 45062 . 46008) (MKLIST 46010 . 46160) (NAMEFIELD 46162 . 47687) (NLIST 47689 - . 48024) (PRINTBELLS 48026 . 48152) (PROMPTCHAR 48154 . 50044) (RAISEP 50046 . 50307) (READFILE 50309 - . 52653) (READLINE 52655 . 58095) (REMPROPLIST 58097 . 58985) (RESETBUFS 58987 . 59437) (TAB 59439 . -60035) (UNSAVED1 60037 . 61142) (WRITEFILE 61144 . 62886) (CLOSE-AND-MAYBE-DELETE 62888 . 63232) ( -UNSAFE.TO.MODIFY 63234 . 63999)) (66325 69269 (FILEDATE 66335 . 69267)) (69499 96601 (FILEMAP 69509 . -69979) (\PARSE-FILE-HEADER 69981 . 73796) (GET-ENVIRONMENT-AND-FILEMAP 73798 . 76025) ( -LOOKUP-ENVIRONMENT-AND-FILEMAP 76027 . 78218) (GET-FILEMAP-FROM-FILECREATED 78220 . 79044) ( -\FILEMAP-HASHOVERFLOW 79046 . 83710) (FLUSHFILEMAPS 83712 . 84335) (LISPSOURCEFILEP 84337 . 85628) ( -LISPFILETYPE 85630 . 88879) (GETFILEMAP 88881 . 89300) (PUTFILEMAP 89302 . 91493) (UPDATEFILEMAP 91495 - . 96599)) (97267 100853 (LVLPRINT 97277 . 97450) (LVLPRIN1 97452 . 97634) (LVLPRIN2 97636 . 97868) ( -LVLPRIN 97870 . 98884) (LVLPRIN0 98886 . 100851)) (100887 105804 (FLUSHRIGHT 100897 . 101712) ( -PRINTPARA 101714 . 102812) (PRINTPARA1 102814 . 105802)) (105840 108125 (SUBLIS 105850 . 106458) ( -SUBPAIR 106460 . 107688) (DSUBLIS 107690 . 108123)) (108148 108748 (CONSTANTOK 108158 . 108746)) ( -110501 111206 (NLAMBDA.ARGS 110511 . 111204))))) + (FILEMAP (NIL (12904 26329 (LOAD? 12914 . 14765) (FILESLOAD 14767 . 15056) (DOFILESLOAD 15058 . 22684) + (FINDFILE-WITH-EXTENSIONS 22686 . 25885) (READ-FILECREATED 25887 . 26327)) (26446 31767 (DMPHASH +26456 . 28050) (HASHOVERFLOW 28052 . 31765)) (32523 64631 (BKBUFS 32533 . 33652) (CHANGENAME 33654 . +33915) (CHNGNM 33917 . 35765) (CLBUFS 35767 . 37040) (DEFINE 37042 . 37766) (FNS.PUTDEF 37768 . 41183) + (EQMEMB 41185 . 41367) (EQUALN 41369 . 42198) (FNCHECK 42200 . 44207) (FNTYP1 44209 . 44306) (LCSKIP +44308 . 45152) (MAPRINT 45154 . 46100) (MKLIST 46102 . 46252) (NAMEFIELD 46254 . 47779) (NLIST 47781 + . 48116) (PRINTBELLS 48118 . 48244) (PROMPTCHAR 48246 . 50136) (RAISEP 50138 . 50399) (READFILE 50401 + . 52745) (READLINE 52747 . 58187) (REMPROPLIST 58189 . 59077) (RESETBUFS 59079 . 59529) (TAB 59531 . +60127) (UNSAVED1 60129 . 61234) (WRITEFILE 61236 . 62978) (CLOSE-AND-MAYBE-DELETE 62980 . 63324) ( +UNSAFE.TO.MODIFY 63326 . 64629)) (66986 69930 (FILEDATE 66996 . 69928)) (70160 97262 (FILEMAP 70170 . +70640) (\PARSE-FILE-HEADER 70642 . 74457) (GET-ENVIRONMENT-AND-FILEMAP 74459 . 76686) ( +LOOKUP-ENVIRONMENT-AND-FILEMAP 76688 . 78879) (GET-FILEMAP-FROM-FILECREATED 78881 . 79705) ( +\FILEMAP-HASHOVERFLOW 79707 . 84371) (FLUSHFILEMAPS 84373 . 84996) (LISPSOURCEFILEP 84998 . 86289) ( +LISPFILETYPE 86291 . 89540) (GETFILEMAP 89542 . 89961) (PUTFILEMAP 89963 . 92154) (UPDATEFILEMAP 92156 + . 97260)) (97928 101514 (LVLPRINT 97938 . 98111) (LVLPRIN1 98113 . 98295) (LVLPRIN2 98297 . 98529) ( +LVLPRIN 98531 . 99545) (LVLPRIN0 99547 . 101512)) (101548 106465 (FLUSHRIGHT 101558 . 102373) ( +PRINTPARA 102375 . 103473) (PRINTPARA1 103475 . 106463)) (106501 108786 (SUBLIS 106511 . 107119) ( +SUBPAIR 107121 . 108349) (DSUBLIS 108351 . 108784)) (108809 109409 (CONSTANTOK 108819 . 109407)) ( +111162 111867 (NLAMBDA.ARGS 111172 . 111865))))) STOP diff --git a/sources/MACHINEINDEPENDENT.LCOM b/sources/MACHINEINDEPENDENT.LCOM index 801014d2acc4095ccb408780149007a65e0557b8..7fe3aee300f69e3f041f23cd364e78d2a077e135 100644 GIT binary patch delta 791 zcmZuvzi-n(7BV*ulf+JAmo!p_29iQVn}m`KT_|E; z12uR=VqsunsN97C2?iEsHU|EM{0DGuk_Or?r+4rB-n;MJ-K(#uU*A&4+c!l1-f)kX zL`ec;IhZppE# z4h|g~80o^Psws;MjGim90to4bE&^>@1?=UWfDe6O@8fC!Wo#8(&v8B5sW@cuLd!1) zT=Z#yTmIKjH6_hNDnk=TEoM?{nN1F;FBCPiP+{V*ec?@18PDYnL)jr z^-Jfhk_M|_`H8UtmgSSXBDar-kzW)-Unu*wo2v^sF94)#SCCp7>SS;P9&ymXuDRtJ zc0)3;dY(nrXTm#kJ4v09b54z3^p`!F1tclJ0MEn2UU$&x4%->BMMwf>zt`&Q9x`C) zgxPN%!h<#pyU&`tZ5Z?jr4zo^Jm_}1k4&=Fl=ye{Gtar68=n0N_F^uM1C~yH2C(aJ hm%LKHu|UUv`t<5bwSqS@m!{Wl>2a1wGLdD_wyCHl zQ@5|WcUTjme6>eRqM3@m{nmOpj%O$7JjNeyj8OM&>@qE__V8{rDo=>5Z5@>1(R8|7zl3^5f&*YPi6j=75)pa3X zP~lPk(V+L2+)x7hz#jONAA~Z3Bc6c4=eu<{W3NB9yb+A{WhSnIu0ez(;UrB~(