Stefan Monnier <[EMAIL PROTECTED]> writes: >> + (defvar before-kill-functions nil >> + "List of functions called on the region before killing. >> + This abnormal hook is run before `kill-region' and >> + `copy-region-as-kill', with the beginning and end positions of >> + the killed region as the arguments.") > > I think it's usually important to keep the property that killing doesn't > modify the buffer's text (when used in copy-as-kill), so rather than having > before-kill-functions modify the buffer's text just before it's put in the > kill-ring, it would be more convenient to make it return the string, > i.e. use it as a replacement for buffer-substring.
I like the idea, but returning a value from a hook is rather inconvenient -- if there are multiple functions on the hook, which value should you use eventually? Perhaps before-kill-functions should get START, END and STRING as arguments where STRING is the result of buffer-substring. Each hook could then modify that string as they please. Or perhaps a different approach: Run after-kill-hooks (a normal hook!) as the last thing in kill-region and copy-region-as-kill, i.e. after putting the string into the kill-ring. If necessary, the hooks can modify the head of the kill-ring as they please...? -- Kim F. Storm <[EMAIL PROTECTED]> http://www.cua.dk _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel