In the listing of ED.PLM there is a gap: lines 738 to 748 are missing. 
Larry Green was able to suggest the following code to fill in the gap, 
based on a slightly later version of CP/M.

FIND: PROCEDURE(PA,PB) BYTE;
 DECLARE (PA,PB) BYTE;
 /* FIND THE STRING IN SCRATCH STARTING AT PA AND ENDING AT PB */
 DECLARE J ADDRESS,
 (K, MATCH) BYTE;
 J = BACK ; MATCH = FALSE;
 DO WHILE NOT MATCH AND (MAXM > J); /* START SCAN AT J */
   LAST,J = J + 1; K = PA ; /* ATTEMPT STRING MATCH AT K */
   DO WHILE SCRATCH(K) = MEMORY(LAST) AND NOT (MATCH := K = PB);
     K = K + 1; LAST = LAST + 1;
     END;
   END;
 IF MATCH THEN /* MOVE STORAGE */
   DO; LAST = LAST - 1; CALL MOVER;
   END;
 RETURN MATCH;
 END FIND;

