Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Demande de confirmation à la fermeture d'emacs

13 réponses
Avatar
Denis Bitouzé
Bonjour,

il n'est pas rare que, alors que je m'appr=EAte =E0 saisir un C-x C-f
(entre autres), mon index gauche fourche et presse successivement les
touches =AB x =BB et =AB c =BB. Dans ce cas, plaf : tous mes beaux buffers
ouverts sont =E0 r=E9ouvrir !

Que puis-je ajouter dans mon .emacs de sorte qu'une confirmation soit
exig=E9e apr=E8s C-x C-f et avant la fermeture effective d'emacs ?

Tant qu'on y est, est-il possible de faire rouvrir automatiquement les
buffers de la session pr=E9c=E9dente ?

Merci d'avance.
--=20
Denis

3 réponses

1 2
Avatar
Jacques L'helgoualc'h
Le 25-04-2008, Damien Wyart a écrit :
> En fait, la doc recommande plutôt d'utiliser
> kill-emacs-query-functions et non kill-emacs-hook : [...]



* Jacques L'helgoualc'h in fr.comp.applications.emacs:

Merci --- mais il faut sans doute que je passe d'abord à emacs 22, C-h
a kill-emacs-query-functions ne trouve rien...



D'après le ChangeLog, la variable a été introduite en 1994... Donc c'est
juste le fait que C-h a ne la remonte pas (mais je ne sais pas
pourquoi). Si vous ouvrez la doc pour kill-emacs-hook, vous devriez voir
la citation que j'ai donnée.



Ah oui, avec « M-x apropos » ça marche !

Le raccourci « C-h a » correspond à apropos-command

,----
| apropos-command
| Command: Show commands (interactively callable functions) that match APROPOS-REGEXP.
`----

qui est plus restreint...
--
Jacques L'helgoualc'h
Avatar
Paul Gaborit
À (at) Fri, 25 Apr 2008 15:07:53 +0200,
Denis Bitouzé écrivait (wrote):
Bonjour,

il n'est pas rare que, alors que je m'apprête à saisir un C-x C-f
(entre autres), mon index gauche fourche et presse successivement les
touches « x » et « c ». Dans ce cas, plaf : tous mes beaux buffers
ouverts sont à réouvrir !

Que puis-je ajouter dans mon .emacs de sorte qu'une confirmation soit
exigée après C-x C-f et avant la fermeture effective d'emacs ?

Tant qu'on y est, est-il possible de faire rouvrir automatiquement les
buffers de la session précédente ?



Je complète les réponses précédentes avec mes bidouilles perso... J'ai
ajouté une fonctionnalité supplémentaire : C-x C-c ne quitte vraiment
(X)Emacs qui si c'est la dernière frame existante (car parfois,
j'oublie que j'ai plusieurs fenêtres ouvertes sur différents
desktops...). Ça donne ça :


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun my-clean-exit-from-emacs ()
(interactive)
(if (or (not window-system)
(yes-or-no-p "Voulez-vous quitter emacs ? "))
(save-buffers-kill-emacs)
)
)

(defun my-exit-from-emacs ()
(interactive)
(if (cdr (frame-list))
(if (yes-or-no-p "Voulez-vous detruire cet ecran ? ")
(delete-frame))
(my-clean-exit-from-emacs)))


(global-set-key "C-xC-c" 'my-exit-from-emacs)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Je sais qu'on peut faire plus propre mais je me trimbale ce bout de
code depuis la version 19 de XEmacs et il fonctionne. ;-)


--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Avatar
Denis Bitouzé
Merci pour vos réponses.
--
Denis
1 2