Merge branch 'master' into nhb-fix-ethereventfn
Resolves conflict for internal/loadups/LOADUP-LISP internal/loadups/LOADUP-LISP.LCOM from adding call to (RESTART.ETHER) at end of loadup.
This commit is contained in:
46
sources/ADIR
46
sources/ADIR
@@ -1,12 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "15-Oct-2025 15:20:48" {WMEDLEY}<sources>ADIR.;62 70135
|
||||
(FILECREATED " 5-Feb-2026 10:27:45" {WMEDLEY}<sources>ADIR.;67 70247
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (MACROS \UPF.EXTRACT)
|
||||
:CHANGES-TO (FNS INTERPRET.REM.CM)
|
||||
|
||||
:PREVIOUS-DATE " 6-Feb-2025 17:48:54" {WMEDLEY}<sources>ADIR.;61)
|
||||
:PREVIOUS-DATE " 1-Feb-2026 13:17:10" {WMEDLEY}<sources>ADIR.;66)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT ADIRCOMS)
|
||||
@@ -1179,7 +1179,8 @@
|
||||
HERALDSTRING])
|
||||
|
||||
(INTERPRET.REM.CM
|
||||
[LAMBDA (RETFLG) (* ; "Edited 15-Mar-2021 12:27 by larry")
|
||||
[LAMBDA (RETFLG) (* ; "Edited 1-Feb-2026 17:49 by rmk")
|
||||
(* ; "Edited 15-Mar-2021 12:27 by larry")
|
||||
(DECLARE (GLOBALVARS STARTUPFORM))
|
||||
|
||||
(* ;;; "Looks at REM.CM and evaluates the form there if the first character of the file is open paren or doublequote. If it's a string, it will be unread,, else the form will be evaluated at the next prompt. For use in INIT.LISP, among others. If RETFLG is true, the expression read is simply returned")
|
||||
@@ -1187,23 +1188,22 @@
|
||||
(PROG ([FILE (INFILEP (PACKFILENAME 'HOST '{DSK} 'BODY (UNIX-GETENV "LDEREMCM"]
|
||||
COM)
|
||||
(OR FILE (RETURN))
|
||||
(SETQ FILE (OPENSTREAM FILE 'INPUT))
|
||||
[SETQ FILE (OPENSTREAM FILE 'INPUT 'OLD '((:EXTERNAL-FORMAT :UTF-8]
|
||||
(COND
|
||||
[[AND (IGREATERP (GETFILEINFO FILE 'LENGTH)
|
||||
([AND (IGREATERP (GETFILEINFO FILE 'LENGTH)
|
||||
0)
|
||||
(EQ (SKIPSEPRS FILE T)
|
||||
'%")
|
||||
(SETQ COM (CAR (NLSETQ (READ FILE T]
|
||||
(CLOSEF FILE)
|
||||
(COND
|
||||
(RETFLG (* ; "Save it to return"))
|
||||
(T (* ; "Unread a string")
|
||||
(CL:UNLESS RETFLG (* ;
|
||||
"Save it to return; otherwise unread a string")
|
||||
(* ;
|
||||
"RMK: Replace CR and LF by space to avoid EOL convention issues")
|
||||
(for I from 1 to (NCHARS COM) when (FMEMB (NTHCHARCODE COM I)
|
||||
(CHARCODE (CR LF EOL)))
|
||||
do (RPLCHARCODE COM I (CHARCODE EOL)))
|
||||
(BKSYSBUF COM]
|
||||
(for I from 1 to (NCHARS COM) when (FMEMB (NTHCHARCODE COM I)
|
||||
(CHARCODE (CR LF EOL)))
|
||||
do (RPLCHARCODE COM I (CHARCODE EOL)))
|
||||
(BKSYSBUF COM)))
|
||||
(T (CLOSEF FILE)))
|
||||
(RETURN (COND
|
||||
(RETFLG COM)
|
||||
@@ -1282,14 +1282,14 @@
|
||||
(ADDTOVAR LAMA PACKFILENAME.STRING PACKFILENAME)
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (3170 15997 (DELFILE 3180 . 3341) (FULLNAME 3343 . 3710) (INFILE 3712 . 3971) (INFILEP
|
||||
3973 . 4108) (IOFILE 4110 . 4361) (OPENFILE 4363 . 4666) (OPENSTREAM 4668 . 9008) (OUTFILE 9010 . 9272
|
||||
) (OUTFILEP 9274 . 9410) (RENAMEFILE 9412 . 9718) (SIMPLE.FINDFILE 9720 . 10130) (VMEMSIZE 10132 .
|
||||
10299) (\COPYSYS 10301 . 14592) (\FLUSHVM 14594 . 15666) (\LOGOUT0 15668 . 15995)) (16496 41156 (
|
||||
UNPACKFILENAME.STRING 16506 . 38342) (\UPF.DIRECTORY 38344 . 41154)) (42741 45047 (UNPACKFILENAME
|
||||
42751 . 42937) (LASTCHPOS 42939 . 43633) (FILENAMEFIELD 43635 . 43929) (FILENAMEFIELD.STRING 43931 .
|
||||
44335) (PACKFILENAME 44337 . 44680) (PACKFILENAME.STRING 44682 . 45045)) (59517 60430 (
|
||||
FILEDIRCASEARRAY 59527 . 60428)) (60597 67894 (LOGOUT 60607 . 61652) (MAKESYS 61654 . 63283) (SYSOUT
|
||||
63285 . 64837) (SAVEVM 64839 . 65639) (HERALD 65641 . 65801) (INTERPRET.REM.CM 65803 . 67517) (
|
||||
\USEREVENT 67519 . 67892)) (68076 69803 (USERNAME 68086 . 69042) (SETUSERNAME 69044 . 69801)))))
|
||||
(FILEMAP (NIL (3171 15998 (DELFILE 3181 . 3342) (FULLNAME 3344 . 3711) (INFILE 3713 . 3972) (INFILEP
|
||||
3974 . 4109) (IOFILE 4111 . 4362) (OPENFILE 4364 . 4667) (OPENSTREAM 4669 . 9009) (OUTFILE 9011 . 9273
|
||||
) (OUTFILEP 9275 . 9411) (RENAMEFILE 9413 . 9719) (SIMPLE.FINDFILE 9721 . 10131) (VMEMSIZE 10133 .
|
||||
10300) (\COPYSYS 10302 . 14593) (\FLUSHVM 14595 . 15667) (\LOGOUT0 15669 . 15996)) (16497 41157 (
|
||||
UNPACKFILENAME.STRING 16507 . 38343) (\UPF.DIRECTORY 38345 . 41155)) (42742 45048 (UNPACKFILENAME
|
||||
42752 . 42938) (LASTCHPOS 42940 . 43634) (FILENAMEFIELD 43636 . 43930) (FILENAMEFIELD.STRING 43932 .
|
||||
44336) (PACKFILENAME 44338 . 44681) (PACKFILENAME.STRING 44683 . 45046)) (59518 60431 (
|
||||
FILEDIRCASEARRAY 59528 . 60429)) (60598 68006 (LOGOUT 60608 . 61653) (MAKESYS 61655 . 63284) (SYSOUT
|
||||
63286 . 64838) (SAVEVM 64840 . 65640) (HERALD 65642 . 65802) (INTERPRET.REM.CM 65804 . 67629) (
|
||||
\USEREVENT 67631 . 68004)) (68188 69915 (USERNAME 68198 . 69154) (SETUSERNAME 69156 . 69913)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
196
sources/ADISPLAY
196
sources/ADISPLAY
@@ -1,14 +1,10 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10 FORMAT UTF-8)
|
||||
|
||||
(FILECREATED " 8-Jul-2025 20:19:58"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>working-medley>sources>ADISPLAY.;14 244883
|
||||
(FILECREATED "19-Feb-2026 12:09:16" {WMEDLEY}<sources>ADISPLAY.;15 244850
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (VARS ADISPLAYCOMS)
|
||||
|
||||
:PREVIOUS-DATE "19-Dec-2023 11:23:08"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>working-medley>sources>ADISPLAY.;13)
|
||||
:PREVIOUS-DATE " 8-Jul-2025 20:19:58" {WMEDLEY}<sources>ADISPLAY.;14)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT ADISPLAYCOMS)
|
||||
@@ -130,7 +126,7 @@
|
||||
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(RECORD REGION (LEFT BOTTOM WIDTH HEIGHT)
|
||||
LEFT _ -16383 BOTTOM _ -16383 WIDTH _ 32767 HEIGHT _ 32767
|
||||
LEFT ← -16383 BOTTOM ← -16383 WIDTH ← 32767 HEIGHT ← 32767
|
||||
[ACCESSFNS ((TOP (IPLUS (fetch (REGION BOTTOM) of DATUM)
|
||||
(fetch (REGION HEIGHT) of DATUM)
|
||||
-1))
|
||||
@@ -150,7 +146,7 @@
|
||||
(BITMAPHEIGHT WORD)
|
||||
(BITMAPWIDTH WORD)
|
||||
(BITMAPBITSPERPIXEL WORD))
|
||||
BITMAPBITSPERPIXEL _ 1 (BLOCKRECORD BITMAP ((BitMapHiLoc WORD)
|
||||
BITMAPBITSPERPIXEL ← 1 (BLOCKRECORD BITMAP ((BitMapHiLoc WORD)
|
||||
(BitMapLoLoc WORD))
|
||||
(* ; "overlay initial pointer")
|
||||
)
|
||||
@@ -398,7 +394,7 @@
|
||||
(T (printout T "******** " BITMAP " is not a BITMAP." T)
|
||||
(RETURN NIL)))
|
||||
(printout FILE "(" .P2 (BITMAPWIDTH BM)
|
||||
%, .P2 (BITMAPHEIGHT BM)) (* ;
|
||||
%, .P2 (BITMAPHEIGHT BM)) (* ;
|
||||
"if the number of bits per pixel is not 1, write it out.")
|
||||
(COND
|
||||
((NEQ (BITSPERPIXEL BM)
|
||||
@@ -431,7 +427,7 @@
|
||||
(* ;; "Print this bitmap in the preferred way.")
|
||||
|
||||
(LET* ((WIDTH (BITMAPWIDTH BITMAP))
|
||||
(HEIGHT (BITMAPHEIGHT BITMAP))
|
||||
(HEIGHT (BITMAPHEIGHT BITMAP))
|
||||
(BITS-PER-PIXEL (BITSPERPIXEL BITMAP))
|
||||
(BASE (fetch BITMAPBASE of BITMAP))
|
||||
(QUAD-CHARS-PER-ROW (FOLDHI (CL:* WIDTH BITS-PER-PIXEL)
|
||||
@@ -712,20 +708,20 @@
|
||||
NIL)
|
||||
((CURSORP DEFAULTCARET)
|
||||
(create CARET1
|
||||
CURSOR _ DEFAULTCARET))
|
||||
CURSOR ← DEFAULTCARET))
|
||||
(T (ERROR "DEFAULTCARET is not a cursor"
|
||||
DEFAULTCARET))))
|
||||
(OFF NIL)
|
||||
(COND
|
||||
((CURSORP NEWCARET)
|
||||
(create CARET1
|
||||
CURSOR _ NEWCARET))
|
||||
CURSOR ← NEWCARET))
|
||||
(T (LISPERROR "ILLEGAL ARG" NEWCARET])])
|
||||
|
||||
(\CARET.CREATE
|
||||
[LAMBDA (CURSOR) (* jds "11-Jul-85 19:38")
|
||||
(create CARET1
|
||||
CURSOR _ (OR CURSOR DEFAULTCARET])
|
||||
CURSOR ← (OR CURSOR DEFAULTCARET])
|
||||
|
||||
(\CARET.DOWN
|
||||
[LAMBDA (STREAM INTERVAL UNLESSOCCLUDED) (* lmm " 4-May-84 18:15")
|
||||
@@ -815,7 +811,7 @@
|
||||
(LET ((OCARET \CARET.UP))
|
||||
(COND
|
||||
([AND OCARET CARET (DISPLAYSTREAMP (OR STREAM (SETQ STREAM (TTYDISPLAYSTREAM]
|
||||
(for (OC _ OCARET) by (fetch (CARET1 NEXT) of OC)
|
||||
(for (OC ← OCARET) by (fetch (CARET1 NEXT) of OC)
|
||||
do (COND
|
||||
[(NULL OC)
|
||||
(RETURN (COND
|
||||
@@ -1008,10 +1004,10 @@
|
||||
[LAMBDA (LEFT BOTTOM WIDTH HEIGHT) (* rrb "17-JUN-83 08:56")
|
||||
(* ; "creates a region structure.")
|
||||
(create REGION
|
||||
LEFT _ LEFT
|
||||
BOTTOM _ BOTTOM
|
||||
WIDTH _ WIDTH
|
||||
HEIGHT _ HEIGHT])
|
||||
LEFT ← LEFT
|
||||
BOTTOM ← BOTTOM
|
||||
WIDTH ← WIDTH
|
||||
HEIGHT ← HEIGHT])
|
||||
|
||||
(REGIONP
|
||||
[LAMBDA (X) (* rrb "29-Jun-84 18:00")
|
||||
@@ -1029,11 +1025,11 @@
|
||||
(* ;; "this is documented as returning a very large region. This one covers the entire FIXP range so should work for many purposes. rrb")
|
||||
|
||||
(create REGION
|
||||
LEFT _ (SUB1 MIN.FIXP)
|
||||
BOTTOM _ (SUB1 MIN.FIXP)
|
||||
WIDTH _ (PLUS (TIMES 2 MAX.FIXP)
|
||||
LEFT ← (SUB1 MIN.FIXP)
|
||||
BOTTOM ← (SUB1 MIN.FIXP)
|
||||
WIDTH ← (PLUS (TIMES 2 MAX.FIXP)
|
||||
4)
|
||||
HEIGHT _ (PLUS (TIMES 2 MAX.FIXP)
|
||||
HEIGHT ← (PLUS (TIMES 2 MAX.FIXP)
|
||||
4)))
|
||||
(T (PROG (REG LFT RGHT BTTM TP)
|
||||
(SETQ REG (ARG REGIONS 1))
|
||||
@@ -1062,10 +1058,10 @@
|
||||
((AND (IGEQ RGHT LFT)
|
||||
(IGEQ TP BTTM))
|
||||
(create REGION
|
||||
LEFT _ LFT
|
||||
BOTTOM _ BTTM
|
||||
WIDTH _ (ADD1 (IDIFFERENCE RGHT LFT))
|
||||
HEIGHT _ (ADD1 (IDIFFERENCE TP BTTM])
|
||||
LEFT ← LFT
|
||||
BOTTOM ← BTTM
|
||||
WIDTH ← (ADD1 (IDIFFERENCE RGHT LFT))
|
||||
HEIGHT ← (ADD1 (IDIFFERENCE TP BTTM])
|
||||
|
||||
(UNIONREGIONS
|
||||
[LAMBDA REGIONS (* rrb "30-Dec-85 17:07")
|
||||
@@ -1099,10 +1095,10 @@
|
||||
TP)
|
||||
(SETQ TP (fetch (REGION PTOP) of REG]
|
||||
(RETURN (create REGION
|
||||
LEFT _ LFT
|
||||
BOTTOM _ BTTM
|
||||
WIDTH _ (DIFFERENCE RGHT LFT)
|
||||
HEIGHT _ (DIFFERENCE TP BTTM])
|
||||
LEFT ← LFT
|
||||
BOTTOM ← BTTM
|
||||
WIDTH ← (DIFFERENCE RGHT LFT)
|
||||
HEIGHT ← (DIFFERENCE TP BTTM])
|
||||
|
||||
(REGIONSINTERSECTP
|
||||
[LAMBDA (REGION1 REGION2) (* rrb "16-AUG-81 08:29")
|
||||
@@ -1233,11 +1229,11 @@
|
||||
(* ;; "returns the region taken up by STR if it were printed at the current position of STREAM")
|
||||
|
||||
(create REGION
|
||||
LEFT _ (DSPXPOSITION NIL STREAM)
|
||||
BOTTOM _ (IDIFFERENCE (DSPYPOSITION NIL STREAM)
|
||||
LEFT ← (DSPXPOSITION NIL STREAM)
|
||||
BOTTOM ← (IDIFFERENCE (DSPYPOSITION NIL STREAM)
|
||||
(FONTPROP STREAM 'DESCENT))
|
||||
WIDTH _ (STRINGWIDTH STR STREAM PRIN2FLG RDTBL)
|
||||
HEIGHT _ (FONTPROP STREAM 'HEIGHT])
|
||||
WIDTH ← (STRINGWIDTH STR STREAM PRIN2FLG RDTBL)
|
||||
HEIGHT ← (FONTPROP STREAM 'HEIGHT])
|
||||
)
|
||||
|
||||
|
||||
@@ -1443,8 +1439,8 @@
|
||||
(SETQ BRUSHARRAY (ARRAY 16 'POINTER NIL 1))
|
||||
(for X from 1 to 16 do (SETA BRUSHARRAY X (APPLY* BRUSHFN X]
|
||||
(push \BrushAList (CONS BRUSHNAME (create BRUSHITEM
|
||||
BRUSHARRAY _ BRUSHARRAY
|
||||
CREATEMETHOD _ BRUSHFN)))
|
||||
BRUSHARRAY ← BRUSHARRAY
|
||||
CREATEMETHOD ← BRUSHFN)))
|
||||
(push KNOWN.BRUSHES BRUSHNAME])
|
||||
)
|
||||
|
||||
@@ -1506,12 +1502,12 @@
|
||||
CBottom)
|
||||
(SETQ BITMAP (ffetch DDDestination of DD))
|
||||
(SETQ BIGBMLIST (fetch (BIGBM BIGBMLIST) of BITMAP))
|
||||
(SETQ HEIGHT (BITMAPHEIGHT BITMAP))
|
||||
(SETQ HEIGHT (BITMAPHEIGHT BITMAP))
|
||||
(SETQ ClippingTop (ffetch DDClippingTop of DD))
|
||||
(SETQ ClippingBottom (ffetch DDClippingBottom of DD))
|
||||
(SETQ BM (GetNewFragment BIGBMLIST))
|
||||
(while (AND BM (IGREATERP HEIGHT ClippingBottom))
|
||||
do (SETQ BOTTOM (IDIFFERENCE HEIGHT (BITMAPHEIGHT BM)))
|
||||
do (SETQ BOTTOM (IDIFFERENCE HEIGHT (BITMAPHEIGHT BM)))
|
||||
[SETQ CTop (COND
|
||||
((IGREATERP ClippingTop HEIGHT)
|
||||
(IDIFFERENCE HEIGHT BOTTOM))
|
||||
@@ -1576,7 +1572,7 @@
|
||||
(SUB1 (ffetch DDClippingTop of DD))
|
||||
DISPLAYSTREAM COLOR))
|
||||
(T (PROG ((BIGBMLIST (fetch (BIGBM BIGBMLIST) of BITMAP))
|
||||
(HEIGHT (BITMAPHEIGHT BITMAP))
|
||||
(HEIGHT (BITMAPHEIGHT BITMAP))
|
||||
BOTTOM BM CTop CBottom (ClippingTop (ffetch DDClippingTop of DD))
|
||||
(ClippingBottom (ffetch DDClippingBottom of DD))
|
||||
(YY1 (\DSPTRANSFORMY (OR (FIXP Y1)
|
||||
@@ -1587,7 +1583,7 @@
|
||||
DD)))
|
||||
(SETQ BM (GetNewFragment BIGBMLIST))
|
||||
(while (AND BM (IGREATERP HEIGHT ClippingBottom))
|
||||
do (SETQ BOTTOM (IDIFFERENCE HEIGHT (BITMAPHEIGHT BM)))
|
||||
do (SETQ BOTTOM (IDIFFERENCE HEIGHT (BITMAPHEIGHT BM)))
|
||||
[SETQ CTop (COND
|
||||
((IGREATERP ClippingTop HEIGHT)
|
||||
(IDIFFERENCE HEIGHT BOTTOM))
|
||||
@@ -2038,7 +2034,7 @@
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS .DRAWLINEX. MACRO [(MODE)
|
||||
(bind (NY _ 0) for PT from 1 to PIXELSINX
|
||||
(bind (NY ← 0) for PT from 1 to PIXELSINX
|
||||
do (* ; "main loop")
|
||||
[replace (BITMAPWORD BITS) of FIRSTADDR
|
||||
with (SELECTQ MODE
|
||||
@@ -2068,7 +2064,7 @@
|
||||
(SETQ MASK 32768])
|
||||
|
||||
(PUTPROPS .DRAWLINEY. MACRO [(MODE)
|
||||
(bind (NX _ 0) for PT from 1 to PIXELSINY
|
||||
(bind (NX ← 0) for PT from 1 to PIXELSINY
|
||||
do (* ; "main loop")
|
||||
[replace (BITMAPWORD BITS) of FIRSTADDR
|
||||
with (SELECTQ MODE
|
||||
@@ -2295,9 +2291,9 @@
|
||||
|
||||
(RETURN (for ANGLE from STARTANGLE to (PLUS STARTANGLE ANGLESIZE (QUOTIENT ANGLEINCR 5.0))
|
||||
by ANGLEINCR collect (create POSITION
|
||||
XCOORD _ [FIXR (PLUS CENTERX (TIMES RADIUS
|
||||
XCOORD ← [FIXR (PLUS CENTERX (TIMES RADIUS
|
||||
(COS ANGLE]
|
||||
YCOORD _ (FIXR (PLUS CENTERY (TIMES RADIUS
|
||||
YCOORD ← (FIXR (PLUS CENTERY (TIMES RADIUS
|
||||
(SIN ANGLE])
|
||||
|
||||
(\DRAWELLIPSE.DISPLAY
|
||||
@@ -2609,7 +2605,7 @@
|
||||
((EQ (fetch (BRUSH BRUSHSHAPE) of BRUSH)
|
||||
'ROUND)
|
||||
BRUSH)
|
||||
(T (create BRUSH using BRUSH BRUSHSHAPE _ 'ROUND]
|
||||
(T (create BRUSH using BRUSH BRUSHSHAPE ← 'ROUND]
|
||||
(SETQ COLOR (fetch (BRUSH BRUSHCOLOR) of PTBRUSH))
|
||||
(for PTAIL on POINTS while (CDR PTAIL) do (\DRAWLINE.DISPLAY STREAM (fetch (POSITION XCOORD
|
||||
)
|
||||
@@ -2991,15 +2987,15 @@
|
||||
(ELT DDY I]
|
||||
(SETQ SPLINE
|
||||
(create SPLINE
|
||||
%#KNOTS _ %#KNOTS
|
||||
SPLINEX _ X
|
||||
SPLINEY _ Y
|
||||
SPLINEDX _ DX
|
||||
SPLINEDY _ DY
|
||||
SPLINEDDX _ DDX
|
||||
SPLINEDDY _ DDY
|
||||
SPLINEDDDX _ DDDX
|
||||
SPLINEDDDY _ DDDY))
|
||||
%#KNOTS ← %#KNOTS
|
||||
SPLINEX ← X
|
||||
SPLINEY ← Y
|
||||
SPLINEDX ← DX
|
||||
SPLINEDY ← DY
|
||||
SPLINEDDX ← DDX
|
||||
SPLINEDDY ← DDY
|
||||
SPLINEDDDX ← DDDX
|
||||
SPLINEDDDY ← DDDY))
|
||||
(RETURN SPLINE])
|
||||
|
||||
(\CURVE
|
||||
@@ -3187,7 +3183,7 @@
|
||||
(SETQ POINTSPERSEG 64)
|
||||
(SETQ NPOINTS (UNFOLD NSEGS 64]
|
||||
(SETQ D1 (FQUOTIENT 1.0 NPOINTS)) (* ;
|
||||
"Set up ÿ&Eÿ | ||||