Questions tagged [nadvice]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
1 vote
1 answer
37 views

Format isearch-filter-predicate as describe-variable does

If I modify the isearch-filter-predicate variable with add-function and I do: (message "%s" isearch-filter-predicate) I get: "#[128 \304\300"\205\0\304\301"\207 [skip-...
Gabriele's user avatar
  • 1,554
1 vote
1 answer
70 views

Docstring text substitution for nadvice macros `add-function` and `advice-add`

Starting with Emacs 29, the doc strings of macros add-function and advice-add are constructed, using substitution of a common part into a "<<>>" placeholder. C-h f add-function: ...
shynur's user avatar
  • 5,308
0 votes
2 answers
26 views

Save before running tests? (Prepend function?)

How can I prepend a function call in Elisp? E.g. I have a key binding (C-c C-c C-t) that runs some tests (command rustic-cargo-test) and it always asks me if I want to save - I'd like to run (save-...
John Graham's user avatar
1 vote
1 answer
263 views

redefine a function as wrapper for the old definition

I am trying to modify a package by redefining a function in it. However, I would like to call the original definition in the new definition. (kind of like extending a constructor in a subclass now ...
Alex028502's user avatar
4 votes
1 answer
100 views

Adding a function call after a builtin runs

I always want to run reposition-window after c-beginning-of-defun. I've tried this: (advice-add 'c-beginning-of-defun :after #'reposition-window) it results in this at execution: Variable binding ...
Gauthier's user avatar
  • 509
5 votes
1 answer
137 views

How to suppress `Wrote /home/user/.emacs.d/recentf` message in minibuffer

In the minibuffer I keep seeing: Wrote /home/user/.emacs.d/recentf Would it be possible to suppress this message? (Only for file name recentf file) my minimal.el: (setq recentf-max-saved-items 50) (...
alper's user avatar
  • 1,370
0 votes
1 answer
45 views

How to prevent copy-directory from choking on Unix socket files?

I need to copy a directory tree that holds Unix socket files somewhere inside. As Unix sockets cannot be copied, when I use copy-directory, the copy-file function used by copy-directory throws an ...
PRouleau's user avatar
  • 796
3 votes
1 answer
97 views

Why advice won't work if the function is called from another compiled function?

Let's consider a minimal example, I take org-narrow-to-subtree as a compiled function, under the hood it calls narrow-to-region, I add simple advice to it: (defun bark (START END) (message "Bark!&...
Daniel Vartanov's user avatar
1 vote
1 answer
65 views

Prevent dired recenter buffer when reverting buffer

When a directory contains many files, more than the visible lines of the window, use end-of-buffer to go to end of buffer, then press g to revert-buffer, one can see the last line is recentered to the ...
Saddle Point's user avatar
3 votes
1 answer
558 views

Creating a local advice for a function

I want to slightly modify the behaviour of a function, old-function whose source I cannot modify. I can do that simply by (defun my-new-function (old-fn a b c) (if (evaluate-my-condition) (...
Tohiko's user avatar
  • 1,649
0 votes
3 answers
84 views

Convert old advise ad-set-arg to new advice

How would I convert the following old style advice to a new style advice? (setq python--pdb-breakpoint-string "import pdb; pdb.set_trace()") (defadvice compile (before ad-compile-smart activate) "...
Lorem Ipsum's user avatar
  • 4,507
2 votes
1 answer
453 views

Can "advice-add ... :filter-args" detect if the advised function was called interactively?

Using advice-add from nadvice.el, I am trying to add a :filter-args advice to an interactive function. Is it somehow possible for it to detect, whether the advised function has been called ...
kdb's user avatar
  • 1,561
0 votes
2 answers
201 views

Unusual behavior when overriding `calculate-lisp-indent'

I've modified calculate-lisp-indent as a better solution to the indentation questions here, here and here. By "modified" I mean I overrode the function with advice. After doing this when I restarted ...
Aquaactress's user avatar
  • 1,453
6 votes
2 answers
3k views

define-advice vs advice-add vs other (?)

Can someone explain and show the right/preferred way of advising functions in Emacs these days. Official documentation says to use advice-add, but I've seen people using define-advice and I checked, ...
iLemming's user avatar
  • 1,263
2 votes
1 answer
155 views

Add multiple predicates to isearch-filter-predicate

I wrote a set of predicates to filter matches in my ìsearch-* and query-replace* routines. I also wrote a macro to bind the isearch-filter-predicate variable to multiple predicates: (defmacro with-...
Gabriele's user avatar
  • 1,554
3 votes
1 answer
404 views

Rewriting `defadvice' as `advice-add' makes advice ineffective

I am trying to make undo-tree auto compress the history save file. The document suggests adding the following advice (defadvice undo-tree-make-history-save-file-name (after undo-tree activate) (...
nalzok's user avatar
  • 675
0 votes
2 answers
659 views

Adding advice to interactive functions

I want to add advice to `describe-function'. However, when I try to do so, I get an error due to wrong number of arguments. Function: (defun describe-function-advice (function) ...
Realraptor's user avatar
  • 1,293