/* REXX -- converted to REXX on 1994/06/03 */ ADDRESS "ISREDIT" /* used with SCRIPT/VS GML DCF text preparation */ /* TITLE: FIXQUOTE -- change "..." to use of :Q...:EQ. tags */ /* USERS: TSO ISPF EDIT USERS | SCRIPT USERS */ /* CONTRIBUTED: 1987/01/20 DAVID MCRITCHIE, "The REXX Macros Toolbox" */ /* */ /* EXAMPLE: FIXQUOTE */ /* */ /* OPTIONS: */ /* col1 col2 .label1 .label2 NX */ /* NX cannot be used with other options */ /* END cannot be used with other options */ "MACRO (RANGE)" range = translate(range) /* SCRIPT CONVERSION TO PAGE USAGE -- D.MCR */ "SEEK ALL" range "':Q.'" "(OQCNT1S,OQCNT2L) = SEEK_COUNTS" oqcnt1s=oqcnt1s+0; oqcnt2l=oqcnt2l+0 "SEEK ALL" range "':EQ.'" "(CQCNT1S,CQCNT2L) = SEEK_COUNTS" cqcnt1s=cqcnt1s+0; cqcnt2l=cqcnt2l+0 IF OQCNT1S \= CQCNT1S THEN DO "LINE_BEFORE .ZF = NOTELINE """Substr(time("n"),1,5), "FIXQUOTE BEGAN WITH :Q. ("OQCNT1S" :EQ. ("CQCNT1S")""" END IF RANGE = "END" THEN DO END = "END" RANGE = "" END IF RANGE = "" THEN "Exclude ALL .ZF .ZL" IF RANGE \= "NX" THEN "Change ALL" range " 1 '""' ':q.' " /************** Summary of some of the changes ***********************/ /* || '","' ':eq.,:q.' || '".' ':eq..' || */ /* || ' "' ' :q.' || '",' ':eq.,' || */ /* || '("' '(:q.' || '": ' ':eq.: ' || */ /* || '" ' ':eq. ' || '")' ':eq.)' || */ /* ||--------------------------------XX-------------------------|| */ /* || If no range or default range: ':eq. ' ':eq.&rbl.' || */ /* || '(:q.)' '(")' || */ /*********************************************************************/ "Change ALL" range " '"",""' ':eq.,:q.'" "Change ALL" range " ' ""' ' :q.' " "Change ALL" range " '(""' '(:q.' " "Change ALL" range " '"" ' ':eq. ' " "Change ALL" range " '"".' ':eq..' " "Change ALL" range " '"",' ':eq.,' " "Change ALL" range " '"": ' ':eq.: ' " "Change ALL" range " '"")' ':eq.)' " IF RANGE = "" | range = ".ZF .ZL" THEN DO "Change ALL" range "':eq. ' ", "':eq.&rbl. ' " "Change ALL NX '(:q)' '("")'" /* --- ambiguous --- */ END "Find ALL" range " '""' " "Find ALL" range "'.bf xmpfont '" "SEEK ALL" range "':Q.'" "(OQCNT1S,OQCNT2L) = SEEK_COUNTS" "SEEK ALL" range "':EQ.'" "(CQCNT1S,CQCNT2L) = SEEK_COUNTS" IF OQCNT1S \= CQCNT1S THEN DO "LINE_BEFORE .ZF = NOTELINE """time("n"), "****************** UNMATCHED QUOTES FOUND **********""" "LINE_BEFORE .ZF = NOTELINE """time("n") "FIXQUOTE", "RESULTS :Q. ("OQCNT1S") :EQ. ("CQCNT1S")", "-- PLICHK MAY HELP""" "Find FIRST "Q." NX" "LOC 0" Exit 4 END IF OQCNT2L \= CQCNT2L THEN DO "LINE_BEFORE .ZF = NOTELINE ""FIXQUOTE lines matched=" cqcnt1s, "--lines unmatched-- :Q. ("OQCNT2L") :EQ. ("cqcnt2l")", "-- PLICHK MAY HELP""" "LOC 0" Exit 4 END "LINE_BEFORE .ZF = NOTELINE ""FIXQUOTE ", Substr(time("n"),1,5) "RESULTS LOOK GOOD MATCHED", OQCNT1S" :Q STRINGS TO :EQ.", "on" OQCNT2L "lines""" "SEEK ALL" range " '""' " /* count number of double quotes*/ "(CQCNT1S,CQCNT2L) = SEEK_COUNTS" IF CQCNT1S \= 0 THEN DO "LINE_BEFORE .ZF = NOTELINE """time("n"), "****************** WARNING *************************""" "LINE_BEFORE .ZF = NOTELINE "" However, found ", CQCNT1S "stray orphan double quotes -- PLICHK MAY HELP""" "Find FIRST ""Q."" NX" "LOC 0" Exit 4 END "(VAR014A) = DATA_CHANGED" IF "END" = END THEN DO IF VAR014A = "NO" THEN "END" END "LOC 0"