home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d07xx / d0770.lha / Uedit / edt.LZH / edt!m < prev   
Text File  |  1992-03-04  |  19KB  |  653 lines

  1. ------------------------- miscellaneous keys  -------------------------------
  2. Search & Replace
  3. <virtual-s:             
  4.   freeBuf(buf49)
  5.   putMsg("Search for:") 
  6.   inputString(buf49)
  7.   freebuf(buf48)
  8.   putMsg("Replace with:")
  9.   inputString(buf48)
  10.   runKey(normal-f9)
  11.   while (not eqLoc(curFile,sInvert,eInvert))
  12.     {if (askYesNo("Replace? "))
  13.        {clearRgn(curFile,invert)
  14.         insertRgn(curFile,sInvert,buf48,all)
  15.        }
  16.      runKey(normal-f9)
  17.     }
  18. >
  19.  
  20. <shftaltctl-z:
  21. loadFile("U:EDTini!")
  22. while (compile(curFile)) putMsg("Compiling initialization file...")
  23. freeBuf(curFile)
  24. >
  25.  
  26. Place cursor or scroll if button held
  27. <normal-buttonDown:
  28.    moveCursor(curFile,mouseLoc)
  29.    refreshDisplay
  30.    runKey(virtual-\)
  31. >
  32.  
  33. Arrow Keys
  34.  
  35. Scroll up 1 line
  36. <normal-upArrow:
  37. moveCursor(curFile,upLine)
  38. runKey(virtual-\)
  39. >
  40.  
  41. Scroll down 1 line
  42. <normal-downArrow:   
  43. moveCursor(curFile,downLine) 
  44. runKey(virtual-\)
  45. >
  46.  
  47. Scroll right 1 char
  48. <normal-leftArrow: 
  49. moveCursor(curFile,sChar)
  50. runKey(virtual-\)
  51. >
  52.  
  53. Scroll left 1 char
  54. <normal-rightArrow: 
  55. moveCursor(curFile,eChar)
  56. runKey(virtual-\)
  57. >
  58.  
  59. Set mark in the current file
  60. <alt-`:
  61. locToLine(curFile,n94,atCursor)
  62. locToCol(curFile,n95,atCursor)
  63. putMsg("Mark set.")
  64. >
  65.  
  66. Goto mark
  67. <virtual-`:
  68. putMsg("Going to mark.")
  69. equateNum(n92,n94)
  70. equateNum(n93,n95)
  71. locToLine(curFile,n94,atCursor)
  72. locToCol(curFile,n95,atCursor)
  73. lineToLoc(curFile,atCursor,n92)
  74. colToLoc(curFile,atCursor,n93)
  75. updateDisplay
  76. >
  77.  
  78. Switch to/from using spaces for tabs or using real tabs
  79. <altCtl-tab: flipFlag(curFile,trueTabs)>
  80.  
  81. Show tab ruler above cursor line
  82. <shftAlt-tab:  seeRuler>
  83.  
  84. Set tab ruler using mouse or keys
  85. <shftCtl-tab:
  86.     putMsg(
  87.     "Use mouse click/drag, Tab, Space, BS, Del (anykey=quit,lAmi-Esc=abort)")
  88.     setRuler putMsg(" ") >
  89.  
  90. Convert tabs in document to spaces
  91. <lAmiga-t: tabsToSpaces(curFile)>
  92.  
  93. Convert spaces in document to TABs
  94. <rAmiga-t: spacesToTabs(curFile) >
  95.  
  96. Set TAB table number (0-4) to use for TAB spacing
  97. <shftAltCtl-tab:
  98.            putMsg("Enter new tab table # (0-4):")
  99.            if (inputNum(n54)) if (geNum(n54,0)) if (geNum(4,n54))
  100.              { setLocal(curFile,tabTable,n54) equateNum(tabTable,n54) } >
  101.  
  102. Split window to show current file
  103. <virtual-=:  
  104. if (eqNum(n96,1))                .. %% Window is split already
  105.    {equateNum(n96,0)
  106.     toggle(windowSplit)
  107.     splitWindow(curFile,0)
  108.    }
  109. else
  110.    {equateNum(n96,1)             .. %% Not split, go ahead and split it
  111.     if (getFlag(curFile,lace))
  112.        splitWindow(curFile,22)
  113.     else
  114.        splitWindow(curFile,10)
  115.    }
  116. >
  117.  
  118. Switch to next window split
  119. <virtual-upArrow: toggle(windowSplit)>
  120.  
  121. Switch to next window split
  122. <virtual-downArrow: toggle(windowSplit)>
  123.  
  124. Increase # lines in active split window by one
  125. <shftalt-.: 
  126.     equateNum(n54,curFile)
  127.     getSplitLines(n53,n52)  .. get start & stop
  128.     sub(n52,n52,n53)
  129.     incNum(n52)  .. bump # lines
  130.     splitWindow(curFile,0)
  131.     if (not splitWindow(buf[n54],n52)) {
  132.         decNum(n52)     .. decrement it back
  133.         splitWindow(buf[n54],n52)
  134.         returnFalse
  135.     } >
  136.  
  137. Decrease # lines in active split window by one
  138. <shftalt-,: 
  139.     equateNum(n54,curFile)
  140.     getSplitLines(n53,n52)
  141.     decNum(n52)
  142.     sub(n52,n52,n53)
  143.     if (gtNum(2,n52)) returnFalse
  144.     splitWindow(curFile,0)
  145.     splitWindow(buf[n54],n52)
  146. >
  147.  
  148.  
  149. Toggle "busies" setting - when turned on, it shows buffers being worked on
  150. <ctl-b:  flipFlag(curFile,busies) >
  151.  
  152. Let next character typed be a CTRL-character, such as formfeed, etc
  153. <ctl-c: putMsg("Input a control character:")
  154.         getChar(n54)
  155.         if (geNum(31,n54)) goto label(1)
  156.         if (geNum(n54,64)) if (geNum(127,n54)) {
  157. label(1)
  158.             and(n54,n54,31)
  159.             insertChar(curFile,n54) 
  160.         }
  161.         putMsg(" ") >
  162.  
  163. Change current document's end-of-line character
  164. <ctl-e:
  165.        putMsg("Input file's current end-of-line value (usually 10 or 13):")
  166.            inputNum(n54)
  167.            if (not gtNum(n54,0)) returnFalse
  168.            putMsg("Input new end-of-line value (usually 10 or 13):")
  169.            inputNum(n53)
  170.            if (not gtNum(n53,0)) returnFalse
  171.            setEol(n54)
  172.            moveCursor(curFile,sFile)
  173.            putMsg("Changing eol characters ... hit Amiga-ESC to abort.")
  174.            while (moveCursor(curFile,eLine))
  175.                if (is(curFile,n54)) swapChar(curFile,n53)
  176.            setEol(n53)
  177.            vScroll(sFile)
  178.            putMsg(" ")
  179.            refreshDisplay >
  180.  
  181. Toggle the mark-gadgets setting.  When "off", the gadget names don't show
  182. <ctl-g:    flipFlag(curFile,markGadgets) >
  183.  
  184.  
  185. Toggle the "make icons" flag.  When "on", Workbench icons are created
  186. <altCtl-i:   flipFlag(curFile,icons)>
  187.  
  188. Enter idle-timer value (seconds) after which idle command executed
  189. <shftAltCtl-i:  putMsg("Input idle time (seconds)")
  190.                 if (inputNum(n54)) equateNum(idleTime,n54)>
  191.  
  192. Toggle the right-justify typing mode
  193. <alt-j:    flipFlag(curFile,rightJustify) >
  194.  
  195. Set command multiplier to use for next command
  196. <ctl-m:    putMsg("Input command multiplier:") inputNum(cmdMultiplier) >
  197.  
  198. Map illegal ASCII (0 thru 5) characters into safe ones.  (See top of Config!)
  199. <shftAlt-m:  flipFlag(curFile,mapChars)>
  200.  
  201. Input a text line number to go to
  202. <virtual-n:    putMsg("Input line number:")
  203.            if (inputNum(n54))
  204.                { lineToLoc(curFile,atCursor,n54) vScroll(atCursor) } >
  205.  
  206.  
  207. Terminate Learn Mode or run whatever is stored in learn-buffer.  (See ctl-s.)
  208. <ctl-r:    runLearn >
  209.  
  210. Start/abort Learn Mode.  (Use ctl-r to finish & to run it.)
  211. <ctl-s:    if (not getFlag(curFile,learnMode)) putMsg("LEARN MODE ACTIVE!")
  212.            else putMsg("Learn Mode cancelled.")
  213.            flipFlag(curFile,learnMode) >
  214.  
  215. Show key-help message on next key pressed.  Copy key-help to RAM: on first
  216. <ctl-t:    putMsg("Input a key, gadget, click etc to get Help msg")
  217.                 getKey(n54)
  218.                 teachOne(n54)>
  219.  
  220. Toggle between using printable keys for commands or for normal typing input
  221. <alt-u: flipFlag(curFile,useKeys)>
  222.  
  223. Delete to beginning of line
  224. <ctl-u:
  225.  freeBuf(buf45)
  226.  equateLoc(curFile,locB,atCursor)
  227.  if (is(curFile,sLine)) return
  228.  moveCursor(curFile,sLine)
  229.  equateLoc(curFile,locA,atCursor)
  230.  insertRgn(buf45,sFile,curFile,loc)
  231.  clearRgn(curFile,loc)
  232. >
  233.  
  234. Set left margin
  235. <shftaltctl-l: putMsg("Enter left margin column (0-200):")
  236.             if (inputNum(n54)) equateNum(leftMargin,n54)
  237.             setLocal(curFile,leftMargin,leftMargin)>
  238.  
  239. Set right margin
  240. <shftaltctl-r:  
  241.  putMsg("Enter right margin column (1-200):")
  242.  if (inputNum(n54))
  243.     {sub(n54,n54,leftMargin)
  244.      setLocal(curFile,lineLength,n54) 
  245.      equateNum(lineLength,n54) 
  246.     } 
  247. >
  248.  
  249. Switch flag that makes CTRL chars vis/invis
  250. <ctl-v:    flipFlag(curFile,spooks) refreshDisplay >
  251.  
  252. Execute an AmigaDOS command, but don't collect the results
  253. <lAmiga-y:    putMsg("Enter AmigaDOS command")
  254.            freeBuf(buf40)
  255.            if (inputString(buf40)) execute(" ",buf40) >
  256.  
  257. Execute an AmigaDOS command and show the results
  258. <lAmiga-z:    putMsg("Enter AmigaDOS command")
  259.            freeBuf(buf40)
  260.            if (not inputString(buf40)) returnFalse
  261.            freeBuf(buf39)
  262.            if (not execute(buf39,buf40)) returnFalse
  263.            if (not isEmpty(buf39))
  264.                { putMsg("Result of AmigaDOS command:")
  265.                flipFlag(buf39,changed)
  266.                editBuf(buf39)
  267.                vscroll(sFile)
  268.                updateDisplay
  269.                } else
  270.                { putMsg("No message from AmigaDOS.") freeBuf(buf39) } >
  271.  
  272. Change the current working directory
  273. <lAmiga-c:  putMsg("Change current directory to (won't work in Workbench):")
  274.             freeBuf(buf54)
  275.             if (inputString(buf54)) changeDir(buf54)>
  276.  
  277.  
  278. Center text in the line.  (Uses current line length.)
  279. <alt-c:    
  280.            runKey(alt-1) .. clear leading white space
  281.            if (is(curFile,blankLine)) returnFalse
  282.            if (not is(curFile,eLine)) moveCursor(curFile,eLine)
  283.            locToCol(curFile,n53,atCursor)
  284.            equateNum(n54,lineLength)
  285.            incNum(n54)
  286.            if (gtNum(n54,n53)) {
  287.                moveCursor(curFile,sLine)
  288.                sub(n53,n54,n53)
  289.                div(n53,n53,2)
  290.                do (n54,2,n53) insertChar(curFile," ")
  291.            } >
  292.  
  293. Right-align the cursor line from cursor rightward
  294. <alt-5:    runKey(alt-6)
  295.            locToCol(curFile,n45,atCursor)
  296.            equateLoc(curFile,locA,atCursor)
  297.            moveCursor(curFile,eLine)
  298.            locToCol(curFile,n54,atCursor)
  299.            moveCursor(curFile,locA)
  300.            sub(n54,lineLength,n54)
  301.            if (gtNum(n54,0)) {
  302.                 while (decNum(n54)) insertChar(curFile," ")
  303.            } else if (gtNum(0,n54)) {
  304.                 while (incNum(n54)) if (is(curFile,space)) clearChar(curFile)
  305.         }>
  306.  
  307. Show the value of a number variable
  308. <alt-8:    putMsg("n-variable #: ")
  309.            inputNum(n54)
  310.            freeBuf(buf54)
  311.            insertChar(buf54,"n")
  312.            toWord(buf54,n54)
  313.            insertRgn(buf54,eFile," is ",all)
  314.            toWord(buf54,n[n54])
  315.            putMsg(buf54) >
  316.  
  317. Set the value of a number variable
  318. <alt-9:    putMsg("Set n-variable #:")
  319.            inputNum(n54)
  320.            putMsg("To value:")
  321.            inputNum(n[n54])>
  322.  
  323. Show the ASCII value of the character under the cursor
  324. <ctl-/:    copyChar(curFile,n54)
  325.            freeBuf(buf54)
  326.            toWord(buf54,n54)
  327.            insertRgn(buf54,sFile,"Character value under cursor was ",all)
  328.            putMsg(buf54)
  329.            moveCursor(curFile,eChar) >
  330.  
  331. Show the current document size
  332. <ctl-1:    fileSize(curFile,n54)
  333.            freeBuf(buf54)
  334.            insertRgn(buf54,sFile,"File size in bytes: ",all)
  335.            toWord(buf54,n54)
  336.            putMsg(buf54)>
  337.  
  338. Switch displaying of cursor row-column off/on
  339. <ctl-2:    flipFlag(curFile,rowCol) >
  340.  
  341. Delete all trailing white-space in current document
  342. <ctl-4:    equateLoc(curFile,locA,atCursor)
  343.            moveCursor(curFile,sFile)
  344.            label(1)
  345.            if (is(curFile,eFile))
  346.                { equateLoc(curFile,atCursor,locA) return }
  347.            moveCursor(curFile,eLine)
  348.            moveCursor(curFile,sChar)
  349.            label(2)
  350.            if (is(curFile,space))
  351.                { clearChar(curFile) moveCursor(curFile,sChar) goto label(2)}
  352.            if (is(curFile,9))       ..  a TAB
  353.                { clearChar(curFile) moveCursor(curFile,sChar) goto label(2)}
  354.            moveCursor(curFile,eLine)
  355.            goto label(1) >
  356.  
  357. Save a learn-sequence to disk, saving it under a number 1 to 2 billion
  358. <ctl-5:    putMsg("Save Learn under what #?")
  359.            if (inputNum(n54)) saveLearn(n54) >
  360.  
  361. Load a learn-sequence stored on disk
  362. <ctl-6:    putMsg("Load what Learn #?")
  363.            if (inputNum(n54)) loadLearn(n54) >
  364.  
  365. Load and run learn-sequence stored on disk
  366. <ctl-7:    putMsg("Input learn # to load & run:")
  367.            if (inputNum(n54)) if (loadLearn(n54)) runLearn >
  368.  
  369. Toggle case-sensitivity of search
  370. <ctl-8:    flipFlag(curFile,searchCaps) >
  371.  
  372. ----------------- Interlace Mode -------------------------
  373.  
  374. Switch to/from interlace display mode
  375. <shft-esc: flipFlag(curFile,lace)>
  376.  
  377. RGB color set 1
  378. <lamiga-esc:
  379.     setRGB(0x005a,0x0fff,0x0f90,0x009f)
  380. >
  381. RGB color set 2
  382. <ramiga-esc:
  383.     setRGB(0x005a,0x0fff,0x0fa0,0x0a55)
  384. >
  385. RGB color set 3
  386. <virtual-esc:
  387.     setRGB(0x0bb0,0x0000,0x0fff,0x0f80)
  388. >
  389.  
  390. Change the RGB color register values
  391. <alt-esc:
  392.     define(Reg0 ,N_0)    ..NOTE: register n-vars must be contiguous (N_10-N_13)
  393.     define(Reg1 ,N_1)
  394.     define(Reg2 ,N_2)
  395.     define(Reg3 ,N_3)
  396.     define(KReg0 ,N_14)
  397.     define(KReg1 ,N_15)
  398.     define(KReg2 ,N_16)
  399.     define(KReg3 ,N_17)
  400.  
  401.     define(REGISTER ,N_6)
  402.     define(CURCOLOR ,N_7)
  403.  
  404.     define(REG_NUM ,N_10)
  405.  
  406.     define(OFFSET ,N_11)
  407.     define(ROW ,N_12)
  408.  
  409.     define(RGB_RED ,N_13)
  410.     define(RGB_GREEN ,N_4)
  411.     define(RGB_BLUE ,N_5)
  412.  
  413.     define(COLOR_1 ,2)
  414.     define(COLOR_2 ,1)
  415.  
  416.     define(XN_10 ,N_8)
  417.     define(XN_11 ,N_9)
  418.  
  419.     define(TUNE_COLOR,label(0))
  420.     define(COLORMSG ,label(1))
  421.     define(FINISHED ,label(2))
  422.  
  423.     getRGB(Reg0,Reg1,Reg2,Reg3)
  424.     getRGB(KReg0,KReg1,KReg2,KReg3)
  425.  
  426.     do (ROW,1,15) text("",ROW,15,COLOR_1,49)
  427.     text(">>>> Tune RBG Color Registers <<<<",2,23,COLOR_2,0)
  428.  
  429.     text("R:",5,18,COLOR_1,0)
  430.     text("G:",6,18,COLOR_1,0)
  431.     text("B:",7,18,COLOR_1,0)
  432.  
  433.     text("Test Test ",9,20,1,0)
  434.     text("Test Test ",9,-1,2,0)
  435.     text("Test Test ",9,-1,3,0)
  436.     text("Test Test ",9,-1,4,0)
  437.     text("      ARROW keys: new selection",11,20,COLOR_1,0)
  438.     text("SHIFT ARROW keys: inc/dec color value",12,20,COLOR_1,0)
  439.     text("     ESC/Q/CLICK: use new colors",13,20,COLOR_1,0)
  440.     text("   any other key: restore old colors",14,20,COLOR_1,0)
  441.  
  442.     equateNum(REGISTER,0)
  443.     equateNum(CURCOLOR,0)
  444.     while (inputKey(XN_10)) nothing
  445.     while (nothing) {
  446.         GOSUB COLORMSG
  447.         getKey(XN_10)
  448.         switch (XN_10) {
  449.             case(normal-buttonDown)
  450.             case(normal-esc)
  451.             case(normal-q) { GOTO FINISHED }
  452.             case(normal-upArrow)
  453.                 { decNum(CURCOLOR)
  454.                   if (gtNum(0,CURCOLOR)) equateNum(CURCOLOR,2) }
  455.             case(normal-downArrow)
  456.                 { incNum(CURCOLOR)
  457.                   if (gtNum(CURCOLOR,2)) equateNum(CURCOLOR,0) }
  458.             case(normal-leftArrow)
  459.                 { decNum(REGISTER)
  460.                   if (gtNum(0,REGISTER)) equateNum(REGISTER,3) }
  461.             case(normal-rightArrow)
  462.                 { incNum(REGISTER)
  463.                   if (gtNum(REGISTER,3)) equateNum(REGISTER,0) }
  464.  
  465.             case(shft-upArrow)
  466.                 { equateNum(XN_11,1) GOSUB TUNE_COLOR }
  467.             case(shft-downArrow)
  468.                 { equateNum(XN_11,-1) GOSUB TUNE_COLOR }
  469.             case(shft-leftArrow)
  470.                 { equateNum(XN_11,-1) GOSUB TUNE_COLOR }
  471.             case(shft-rightArrow)
  472.                 { equateNum(XN_11,1) GOSUB TUNE_COLOR }
  473.             default        { setRGB(KReg0,KReg1,KReg2,KReg3)
  474.                                       GOTO FINISHED }
  475.         }
  476.         while (inputKey(XN_10)) nothing
  477.     }
  478. FINISHED
  479.     putMsg(" ") putMsg("")
  480.     fullRefresh
  481.     return
  482.  
  483.  
  484. TUNE_COLOR ..SUBROUTINE to inc/dec a register color value
  485.  
  486.     equateNum(XN_10,n[REGISTER])
  487.     and(RGB_BLUE,XN_10,15) div(XN_10,XN_10,16)
  488.     and(RGB_GREEN,XN_10,15) div(XN_10,XN_10,16)
  489.     and(RGB_RED,XN_10,15)
  490.  
  491.     switch(CURCOLOR) {
  492.         case(0) { equateNum(XN_10,RGB_RED) }
  493.         case(1) { equateNum(XN_10,RGB_GREEN) }
  494.         case(2) { equateNum(XN_10,RGB_BLUE) }
  495.     }
  496.     add(XN_10,XN_10,XN_11)
  497.     if (gtNum(XN_10,15)) equateNum(XN_10,0)
  498.     else if (gtNum(0,XN_10)) equateNum(XN_10,15)
  499.  
  500.     switch(CURCOLOR) {
  501.         case(0) { equateNum(RGB_RED,XN_10) }
  502.         case(1) { equateNum(RGB_GREEN,XN_10) }
  503.         case(2) { equateNum(RGB_BLUE,XN_10) }
  504.     }
  505.  
  506.     equateNum(XN_10,RGB_RED)
  507.     mul(XN_10,XN_10,16)
  508.     or(XN_10,XN_10,RGB_GREEN)
  509.     mul(XN_10,XN_10,16)
  510.     or(XN_10,XN_10,RGB_BLUE)
  511.  
  512.     equateNum(n[REGISTER],XN_10)
  513.     return
  514.  
  515.  
  516. COLORMSG    ..SUBROUTINE to setRGB & display RGB color register contents
  517.     setRGB(Reg0,Reg1,Reg2,Reg3)
  518.  
  519.  
  520.     do (REG_NUM,0,3) {
  521.         equateNum(ROW,4)
  522.         mul(OFFSET,REG_NUM,10)
  523.         add(OFFSET,OFFSET,22)
  524.  
  525.         text("Reg ",ROW,OFFSET,COLOR_1,0)
  526.         text(REG_NUM,ROW,-1,COLOR_1,0)
  527.         text(":",ROW,-1,COLOR_1,0)
  528.         incNum(ROW)
  529.  
  530.         equateNum(XN_10,n[REG_NUM])
  531.         and(RGB_BLUE,XN_10,15) div(XN_10,XN_10,16)
  532.         and(RGB_GREEN,XN_10,15) div(XN_10,XN_10,16)
  533.         and(RGB_RED,XN_10,15)
  534.  
  535.         equateNum(XN_10,COLOR_1)
  536.         if (eqNum(CURCOLOR,0) & eqNum(REG_NUM,REGISTER)) equateNum(XN_10,COLOR_2)
  537.         text("  ",ROW,OFFSET,COLOR_1,0)
  538.         text(RGB_RED,ROW,OFFSET,XN_10,0)
  539.         incNum(ROW)
  540.         equateNum(XN_10,COLOR_1)
  541.         if (eqNum(CURCOLOR,1) & eqNum(REG_NUM,REGISTER)) equateNum(XN_10,COLOR_2)
  542.         text("  ",ROW,OFFSET,COLOR_1,0)
  543.         text(RGB_GREEN,ROW,OFFSET,XN_10,0)
  544.         incNum(ROW)
  545.         equateNum(XN_10,COLOR_1)
  546.         if (eqNum(CURCOLOR,2) & eqNum(REG_NUM,REGISTER)) equateNum(XN_10,COLOR_2)
  547.         text("  ",ROW,OFFSET,COLOR_1,0)
  548.         text(RGB_BLUE,ROW,OFFSET,XN_10,0)
  549.         incNum(ROW)
  550.     }
  551. >
  552.  
  553.  
  554. Uedit's "About..." shareware message
  555. <lAmiga-a:
  556.     updateDisplay
  557.     getFilename(buf54,curfile)
  558.     setFileName(curFile,"              About Uedit...")
  559.     text(" ",0,0,0,-2)                       .. -2 clear screen using color 0
  560.     text("UEDIT",3,36,7,0)
  561.     text("(for AMIGA & PC)",4,30,0,0)
  562.     text("(C) 1986-90 by Rick Stiles.   All rights reserved.",6,13,0,0)
  563.     text("P.O. Box 666,",7,22,-1,0)
  564.     text(" Washington, IN 47501",-1,-1,-1,0)
  565.     text(" Uedit is a SHAREWARE programmable text editor for the",9,10,0,0)
  566.     text(" technical user.  See Uedit-Tutorial for general info",10,10,-1,0)
  567.     text(" and instructions.  Try Uedit and see how you like it.",11,10,-1,0)
  568.     text(" If you USE it, become a REGISTERED USER by ordering",12,10,-1,0)
  569.     text(" the unlimited version.   ",13,10,-1,0)
  570.     text("    (See Uedit-Policy for price & registering info.)",15,10,0,0)
  571.     getserialnum(n54)
  572.     text("s/n ",16,33,7,0)
  573.     text(n54,-1,-1,-1,0)
  574.  
  575.     do(n54,8,67) text(" ",1,n54,2,1)
  576.     do(n54,2,17) text(" ",n54,67,-1,1)
  577.     equateNum(n54,67)
  578.     while (!eqNum(n54,8)) {
  579.         text(" ",17,n54,-1,1)
  580.         decNum(n54)
  581.     }
  582.     equateNum(n54,17)
  583.     while (!eqNum(n54,1)) {
  584.         text(" ",n54,8,-1,1)
  585.         decNum(n54)
  586.     }
  587.     getKeyVal(n53,n53)
  588.     setFileName(curFile,buf54)
  589.     text(" ",0,0,0,-2)                        .. -2 clear screen in normalVid
  590.     putmsg("  ")
  591.     putmsg(" ")
  592.     refreshDisplay >
  593.  
  594. Insert a formfeed character
  595. <lAmiga-f:  insertChar(curFile,12) >
  596.  
  597. Assign new Primitive Mode terminator Ctrl-key
  598. <normal-esc: putMsg("Enter new Primitive Mode terminator CTRL-key")
  599.              if (getChar(n54)) 
  600.                 if (gtNum(32,n54)) equateNum(pmESC,n54)
  601.              putMsg(" ") >
  602.              
  603.  
  604. Save changed files during idle periods, if their idle-save flag is set
  605. <idle:  getMaxFiles(n52)
  606.         decNum(n52)
  607.         do (n54,0,n52)
  608.             if (not inputWaiting)
  609.                 if (getflag(buf[n54],changed))
  610.                     if (getflag(buf[n54],userLocalA)) saveFile(buf[n54]) >
  611.  
  612.                             File Requestor
  613. Open File via requester
  614. Bring up file-requester
  615. <virtual-o:
  616.     freeBuf(buf54)
  617.     insertRgn(buf54,eFile,buf38,hilite)
  618.     moveCursor(buf54,efile)
  619.     moveCursor(buf54,sChar)
  620.     if (not is(buf54,sfile)) if (is(buf54,"/")) clearChar(buf54)
  621.     if (fileRequest(buf54,"Select Dir/File",0)) { .. if True, always has 2 lines
  622.         freeBuf(buf53)
  623.         insertRgn(buf53,efile,buf54,all)
  624.         moveCursor(buf53,sfile)
  625.         if (not is(buf53,eline)) moveCursor(buf53,eLine)
  626.         clearChar(buf53) .. erase the eol
  627.         loadFile(buf53)
  628.     }
  629.     if (isEmpty(buf54)) {
  630. label(0)
  631.         putMsg("No selection or no Arp")
  632.         returnFalse
  633.     }
  634.     moveCursor(buf54,sfile)   .. puts filename on line 2.  outputs "*" if no
  635.     if (not is(buf54,"*")) if (not is(buf54,eLine)) {
  636.         freeBuf(buf53)
  637.         insertRgn(buf53,efile,buf54,line)
  638.         runKey(virtual-7)        .. store dirname in buf38, if not already there
  639.     }
  640. >
  641.  
  642.  
  643.     
  644. -------------------------- end of Config! ----------------------------------
  645.  
  646. Set max number of files can load for normal editing (1-100, usually 20)
  647. <altCtl-f1:     
  648.                 .. **** delete this line and next 2 lines, if registered user.
  649.                 alertUser("Must have full Uedit to increase maximum files.")
  650.                 returnFalse
  651.                 putMsg("Input max # documents allowed (1-100)")
  652.                 if (inputNum(n54)) setMaxFiles(n54) >
  653.