Subject: Re: bug#16959: bug#16981: 24.3.50; electric-pair-delete-adjacent-pairs broken in c-mode, python-mode, maybe-others

From: Florian Beck <[email-masked]>
Date: Thu, 20 Mar 2014 01:33:00 +0100

> I've installed some changes to try and address them.

Very nice.

Some comments:

Advising Emacs Lisp Functions:

  - The third paragraph could link to "What Is a Function?"
  - also link "in order to trace the calls to the process filter of a
process" to "Filter Functions"
  - in the last paragraph ":above" should be ":around"; the formatting 
"_advice_" is strange
  - mention that in the first example the advising function takes the 
same arguments as the original, and in the second the original function 
as an additional argument (this is the most important info, IMO)

Core Advising Primitives:
  - Should the WHERE specifications have their own node or section? In 
any case, I would move the second example (his-tracing-function) to the 
end of the list and explain it a little bit. Like

"In this case a call to `display-buffer' works like calling

(lambda (BUFFER-OR-NAME &optional ACTION FRAME)
   (apply 'his-tracing-fun 'display-buffer BUFFER-OR-NAME ACTION FRAME))

That is, instead of `display-buffer', the new function `his tracing-fun' 
is called with display-buffer as its first argument."

  - depth: clarify what happens when you have several pieces of 
":override" or ":around" advice that doesn't call the original function 
at the depth 0.

Advising named functions:
  - "Macros can also be advised": this doesn't work when the macro is 
used in a compiled function.
-- 
Florian Beck