> You should include the default in the prompt using `format-prompt`. > >> + (advice-mapc (lambda (f _) (push (cons (prin1-to-string f) f) advice)) symbol) Fixed. I also: - Broke the large `completing-read` call into multiple let bindings. - Made sure that the default value was actually advised before suggesting it. > The var name `advice` suggests it holds a single piece of advice. > I'd call it `advices` instead. Fixed > Also, some advice's functions are lambda expressions (i.e. closures) > which can be rather ugly/unwieldy when printed. When code expects to > remove them, we usually provide a `name` property for them, so I suggest > that you use something like Fixed, although I noticed a few oddities (commented in the code to avoid confusing future readers). Basically 1. 'name' can be either a string or a symbol, but they're not considered the same name. 2. The same advice can be applied multiple times with different names, so I changed the code to select the advice's 'name' instead of the advice itself, if named. > I suspect you want to `require-match` in the `completing-read` call. Fixed.