• Alan Mackenzie's avatar
    Introduce new macro combine-change-calls · 424103a6
    Alan Mackenzie authored
    This macro is a bit like combine-after-change-calls, but also works with a
    non-null before-change-functions.  It suppresses the operation of the change
    hooks on a possibly large sequence of buffer modifications, replacing them
    with a single invocation of before-change-functions at the start, and a single
    invocation of after-change-functions at the end.
    
    * lisp/subr.el (undo--combining-change-calls): New variable.
    (combine-change-calls-1, undo--wrap-and-run-primitive-undo): New functions.
    (combine-change-calls): New macro.
    
    * doc/lispref/text.texi (Change Hooks): Document combine-change-calls.
    
    * etc/NEWS: Add an entry under "Lisp Changes" for combine-change-calls.
    424103a6
text.texi 209 KB