I have a setup function that I want to run before I use pdb
/gud
to debug a Python script. I know about gud-mode-hook
which runs after the debugger starts (too late) and change-major-mode-hook
which, if I understand correctly, runs when you change major modes but before the major mode hook for the new mode (early enough, but will run in cases I don't want it to). How can I have a function called before a specific major mode is initialized?
Dus voor mijn specifieke gebruiksgeval zou de stroom zoiets zijn als:
M-x pdb
-> (my-setup-function)
is called -> pdb
starts (i.e., it's hooks are run etc.)
Tot nu toe heb ik geprobeerd dit te doen met hoofdmodushaken pdb-mode-hook
en gud-mode-hook
maar dan is de setup niet op tijd en is alleen beschikbaar de volgende tijd waarop ik pdb
uitvoer. Op een gegeven moment probeerde ik het ook met advies te doen, maar het was niet succesvol (mogelijk omdat ik het verkeerd deed). Dit is wat ik heb geprobeerd (hoewel ik er niet zeker van ben of dit al dan niet telt als advies
):
(add-function :before (pdb) #'my-setup-function)
... die ik heb gebaseerd op een fragment van de Emacs Lisp Referentiehandleiding :
(add-function :before (process-filter proc) #'my-tracing-function)
Uiteraard heb ik dit niet goed ingesteld en krijg ik het bericht dat (pdb) geen geldige plaatsuitdrukking is
wanneer ik het evalueer. Hoewel (omdat?) De documentatie voor add-functie
erg gedetailleerd is, heb ik veel moeite om te begrijpen hoe ik het op de juiste manier gebruik.