Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!willett!ForthNet From: ForthNet@willett.UUCP (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: Help requested (Forth System move) Message-ID: <1389.UUL1.3#5129@willett.UUCP> Date: 25 Jul 90 03:01:54 GMT Organization: String, Scotch tape, and Paperclips. (in Pgh, PA) Lines: 27 Category 18, Topic 29 Message 10 Mon Jul 23, 1990 W.FEDERICI [W.FEDERICI] at 21:21 PDT RE: removing drive designations from VIEW files in F83 . Elliot - . In F83, each file you open actually creates a definition by that name in the dictionary. The body of this definition is a so-called "file control block" or FCB, and the first byte of this FCB (i.e., the first byte of the body of the dictionary entry) is the drive number on which the file is opened (1 for A:, 2 for B:, etc.). If you want MS-DOS to search the default drive, you simply put a null in this byte before you open the file, BUT... DOS will fill in the actual drive number when it opens the file. If you then do a "save- system", this drive number gets saved, and the next time you use the FCB...well, you can figure it out! . You can hunt through the dictionary and change the offending bytes by hand, but the easy way to catch all the VIEW files is to define a word that steps through the list VIEW-FILES and does the dog-work for you: . : NOVIEWDRIVE ( -- ) VIEW-FILES 32 BOUNDS DO I @ ?DUP IF >BODY 0 SWAP C! THEN 2 +LOOP ; . Execute NOVIEWDRIVE just before doing a save-system, and your new F83 will look for view files on the default drive, whatever it may be. If you like, you can forget NOVIEWDRIVE right after you use it, since you probably won't need it very often. . - Wilson ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or willett!dwp@hobbes.cert.sei.cmu.edu