chickadee » npdiff » make-hunks

make-hunks:procedure

creates a procedure that creates insert/remove/change hunks given a stack of matching index ranges that is produced by the diff procedure above.

  • SEQ-REF is a procedure of the form LAMBDA SEQ INDEX -> ELEMENT which returns element INDEX from sequence SEQ;
  • SEQ-LENGTH is a procedure of the form LAMBDA SEQ -> LEN which returns the length of sequence SEQ;
  • SEQ-SLICE is a procedure of the form LAMBDA SEQ START END -> SEQ which returns a list with the elements contained within the specified range in the input sequence SEQ;

The returned procedure is of the form LAMBDA A B CSS [CONTEXT] -> (HUNK ... ) where A and B are the two sequences compared, CSS is the stack of matching ranges returned by diff, and CONTEXT is an optional argument that is used to add context to the generated hunks, if specified.