J'aime beaucoup "kill-buffer-and-window", mais cette fonction demande une
confirmation ("Kill buffer `.emacs'? (yes or no)"), que je n'arrive pas à
supprimer.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
drkm
"SL" writes:
J'aime beaucoup "kill-buffer-and-window", mais cette fonction demande une confirmation ("Kill buffer `.emacs'? (yes or no)"), que je n'arrive pas à supprimer.
Je n'ai pas de telle demande chez moi. Je pense qu'il s'agit d'une modification dans le CVS depuis la 21.3. Tu peux donc installer un 21.3.50. Ou essayer d'utiliser le code de cette fonction dans le CVS sur ta version (il se trouve dans <FILE:window.el>).
J'aime beaucoup "kill-buffer-and-window", mais cette fonction demande une
confirmation ("Kill buffer `.emacs'? (yes or no)"), que je n'arrive pas à
supprimer.
Je n'ai pas de telle demande chez moi. Je pense qu'il s'agit d'une
modification dans le CVS depuis la 21.3. Tu peux donc installer un
21.3.50. Ou essayer d'utiliser le code de cette fonction dans le CVS
sur ta version (il se trouve dans <FILE:window.el>).
J'aime beaucoup "kill-buffer-and-window", mais cette fonction demande une confirmation ("Kill buffer `.emacs'? (yes or no)"), que je n'arrive pas à supprimer.
Je n'ai pas de telle demande chez moi. Je pense qu'il s'agit d'une modification dans le CVS depuis la 21.3. Tu peux donc installer un 21.3.50. Ou essayer d'utiliser le code de cette fonction dans le CVS sur ta version (il se trouve dans <FILE:window.el>).
Je n'ai pas de telle demande chez moi. Je pense qu'il s'agit d'une modification dans le CVS depuis la 21.3. Tu peux donc installer un 21.3.50. Ou essayer d'utiliser le code de cette fonction dans le CVS sur ta version (il se trouve dans <FILE:window.el>).
Em même temps, vu le code de la fonction `kill-buffer-and-window' :
(defun kill-buffer-and-window () "Kill the current buffer and delete the selected window." (interactive) (if (yes-or-no-p (format "Kill buffer `%s'? " (buffer-name))) (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer)) (error "Aborted")))
Je crois avoir ma petite idée sur la façon de supprimer le test ... ;-)
Allez, hop
(defun moy-kill-buffer-and-window () "Kill the current buffer and delete the selected window." (interactive) (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer)))
Un (flet ((yes-or-no-p (lambda (x) t))) ... ) l'aurait fait aussi, je pense.
-- Matthieu
drkm <usenet.fcaemacs@fgeorges.org> writes:
Je n'ai pas de telle demande chez moi. Je pense qu'il s'agit d'une
modification dans le CVS depuis la 21.3. Tu peux donc installer un
21.3.50. Ou essayer d'utiliser le code de cette fonction dans le CVS
sur ta version (il se trouve dans <FILE:window.el>).
Em même temps, vu le code de la fonction `kill-buffer-and-window' :
(defun kill-buffer-and-window ()
"Kill the current buffer and delete the selected window."
(interactive)
(if (yes-or-no-p (format "Kill buffer `%s'? " (buffer-name)))
(let ((buffer (current-buffer)))
(delete-window (selected-window))
(kill-buffer buffer))
(error "Aborted")))
Je crois avoir ma petite idée sur la façon de supprimer le
test ... ;-)
Allez, hop
(defun moy-kill-buffer-and-window ()
"Kill the current buffer and delete the selected window."
(interactive)
(let ((buffer (current-buffer)))
(delete-window (selected-window))
(kill-buffer buffer)))
Je n'ai pas de telle demande chez moi. Je pense qu'il s'agit d'une modification dans le CVS depuis la 21.3. Tu peux donc installer un 21.3.50. Ou essayer d'utiliser le code de cette fonction dans le CVS sur ta version (il se trouve dans <FILE:window.el>).
Em même temps, vu le code de la fonction `kill-buffer-and-window' :
(defun kill-buffer-and-window () "Kill the current buffer and delete the selected window." (interactive) (if (yes-or-no-p (format "Kill buffer `%s'? " (buffer-name))) (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer)) (error "Aborted")))
Je crois avoir ma petite idée sur la façon de supprimer le test ... ;-)
Allez, hop
(defun moy-kill-buffer-and-window () "Kill the current buffer and delete the selected window." (interactive) (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer)))
Un (flet ((yes-or-no-p (lambda (x) t))) ... ) l'aurait fait aussi, je pense.
-- Matthieu
SL
Il s'agit d'un emacs 21.3 pour MS Windows. Dans window.el je trouve effectivement :
(defun kill-buffer-and-window () "Kill the current buffer and delete the selected window." (interactive) (if (yes-or-no-p (format "Kill buffer `%s'? " (buffer-name))) (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer)) (error "Aborted")))
J'ai bien espéré d'ajouter ceci, .dans emacs :
(defun kill-buffer-and-window () "Kill the current buffer and delete the selected window." (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer))
Mais c'est un échec sans appel.
Sylvain
Il s'agit d'un emacs 21.3 pour MS Windows. Dans window.el je trouve
effectivement :
(defun kill-buffer-and-window ()
"Kill the current buffer and delete the selected window."
(interactive)
(if (yes-or-no-p (format "Kill buffer `%s'? " (buffer-name)))
(let ((buffer (current-buffer)))
(delete-window (selected-window))
(kill-buffer buffer))
(error "Aborted")))
J'ai bien espéré d'ajouter ceci, .dans emacs :
(defun kill-buffer-and-window ()
"Kill the current buffer and delete the selected window."
(let ((buffer (current-buffer)))
(delete-window (selected-window))
(kill-buffer buffer))
Il s'agit d'un emacs 21.3 pour MS Windows. Dans window.el je trouve effectivement :
(defun kill-buffer-and-window () "Kill the current buffer and delete the selected window." (interactive) (if (yes-or-no-p (format "Kill buffer `%s'? " (buffer-name))) (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer)) (error "Aborted")))
J'ai bien espéré d'ajouter ceci, .dans emacs :
(defun kill-buffer-and-window () "Kill the current buffer and delete the selected window." (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer))
Mais c'est un échec sans appel.
Sylvain
SL
Parfait ! Merci. Si j'en crois mes yeux il y a plus de parenthèses fermantes que d'ouvrantes, mais emacs lui est content, et c'est bien là l'essentiel.
Sylvain
"Matthieu Moy" a écrit dans le message de news:
drkm writes:
> Je n'ai pas de telle demande chez moi. Je pense qu'il s'agit d'une > modification dans le CVS depuis la 21.3. Tu peux donc installer un > 21.3.50. Ou essayer d'utiliser le code de cette fonction dans le CVS > sur ta version (il se trouve dans <FILE:window.el>).
Em même temps, vu le code de la fonction `kill-buffer-and-window' :
(defun kill-buffer-and-window () "Kill the current buffer and delete the selected window." (interactive) (if (yes-or-no-p (format "Kill buffer `%s'? " (buffer-name))) (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer)) (error "Aborted")))
Je crois avoir ma petite idée sur la façon de supprimer le test ... ;-)
Allez, hop
(defun moy-kill-buffer-and-window () "Kill the current buffer and delete the selected window." (interactive) (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer)))
Et un "global-set-key" plus loin, ça roule !
> Ou un peu plus gore (quoique) : > > (global-set-key "C-x40" > (lambda () > (fset 'yes-or-no-p (prog1 (symbol-function 'yes-or-no-p) > (fset 'yes-or-no-p (lambda ())) > (kill-buffer-and-window)))))
Un (flet ((yes-or-no-p (lambda (x) t))) ... ) l'aurait fait aussi, je pense.
-- Matthieu
Parfait ! Merci. Si j'en crois mes yeux il y a plus de parenthèses fermantes
que d'ouvrantes, mais emacs lui est content, et c'est bien là l'essentiel.
Sylvain
"Matthieu Moy" <MatthieuNOSPAM.Moy@imag.fr.invalid> a écrit dans le message
de news: vpqekk2jln9.fsf@ecrins.imag.fr...
drkm <usenet.fcaemacs@fgeorges.org> writes:
> Je n'ai pas de telle demande chez moi. Je pense qu'il s'agit d'une
> modification dans le CVS depuis la 21.3. Tu peux donc installer un
> 21.3.50. Ou essayer d'utiliser le code de cette fonction dans le CVS
> sur ta version (il se trouve dans <FILE:window.el>).
Em même temps, vu le code de la fonction `kill-buffer-and-window' :
(defun kill-buffer-and-window ()
"Kill the current buffer and delete the selected window."
(interactive)
(if (yes-or-no-p (format "Kill buffer `%s'? " (buffer-name)))
(let ((buffer (current-buffer)))
(delete-window (selected-window))
(kill-buffer buffer))
(error "Aborted")))
Je crois avoir ma petite idée sur la façon de supprimer le
test ... ;-)
Allez, hop
(defun moy-kill-buffer-and-window ()
"Kill the current buffer and delete the selected window."
(interactive)
(let ((buffer (current-buffer)))
(delete-window (selected-window))
(kill-buffer buffer)))
Et un "global-set-key" plus loin, ça roule !
> Ou un peu plus gore (quoique) :
>
> (global-set-key "C-x40"
> (lambda ()
> (fset 'yes-or-no-p (prog1 (symbol-function 'yes-or-no-p)
> (fset 'yes-or-no-p (lambda ()))
> (kill-buffer-and-window)))))
Un (flet ((yes-or-no-p (lambda (x) t))) ... ) l'aurait fait aussi, je
pense.
Parfait ! Merci. Si j'en crois mes yeux il y a plus de parenthèses fermantes que d'ouvrantes, mais emacs lui est content, et c'est bien là l'essentiel.
Sylvain
"Matthieu Moy" a écrit dans le message de news:
drkm writes:
> Je n'ai pas de telle demande chez moi. Je pense qu'il s'agit d'une > modification dans le CVS depuis la 21.3. Tu peux donc installer un > 21.3.50. Ou essayer d'utiliser le code de cette fonction dans le CVS > sur ta version (il se trouve dans <FILE:window.el>).
Em même temps, vu le code de la fonction `kill-buffer-and-window' :
(defun kill-buffer-and-window () "Kill the current buffer and delete the selected window." (interactive) (if (yes-or-no-p (format "Kill buffer `%s'? " (buffer-name))) (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer)) (error "Aborted")))
Je crois avoir ma petite idée sur la façon de supprimer le test ... ;-)
Allez, hop
(defun moy-kill-buffer-and-window () "Kill the current buffer and delete the selected window." (interactive) (let ((buffer (current-buffer))) (delete-window (selected-window)) (kill-buffer buffer)))
Et un "global-set-key" plus loin, ça roule !
> Ou un peu plus gore (quoique) : > > (global-set-key "C-x40" > (lambda () > (fset 'yes-or-no-p (prog1 (symbol-function 'yes-or-no-p) > (fset 'yes-or-no-p (lambda ())) > (kill-buffer-and-window)))))
Un (flet ((yes-or-no-p (lambda (x) t))) ... ) l'aurait fait aussi, je pense.
-- Matthieu
Matthieu Moy
"SL" writes:
J'ai bien espéré d'ajouter ceci, .dans emacs :
(defun kill-buffer-and-window ()
[...]
Mais c'est un échec sans appel.
Il faut toujours se méfier quand on a plusieurs fonctions qui portent le même nom : la sémantique dépend de l'ordre de chargement des fichiers qui les contiennent, et tu n'est jamais à l'abri d'un rechargement de l'autre fichier qui écraserait ta définition ...
Ceci dit, pour changer le comportement d'une fonction existante, il y a defadvice qui fait ça à peu près proprement.
-- Matthieu
"SL" <nospam@nospam.com> writes:
J'ai bien espéré d'ajouter ceci, .dans emacs :
(defun kill-buffer-and-window ()
[...]
Mais c'est un échec sans appel.
Il faut toujours se méfier quand on a plusieurs fonctions qui portent
le même nom : la sémantique dépend de l'ordre de chargement des
fichiers qui les contiennent, et tu n'est jamais à l'abri d'un
rechargement de l'autre fichier qui écraserait ta définition ...
Ceci dit, pour changer le comportement d'une fonction existante, il y
a defadvice qui fait ça à peu près proprement.
Il faut toujours se méfier quand on a plusieurs fonctions qui portent le même nom : la sémantique dépend de l'ordre de chargement des fichiers qui les contiennent, et tu n'est jamais à l'abri d'un rechargement de l'autre fichier qui écraserait ta définition ...
Ceci dit, pour changer le comportement d'une fonction existante, il y a defadvice qui fait ça à peu près proprement.
Un (flet ((yes-or-no-p (lambda (x) t))) ... ) l'aurait fait aussi, je pense.
Arf ! J'y avais bien pensé en écrivant ma réponse, mais ma seule réaction a été « fait ch$$r, Emacs, si seulement on avait le flet de CL, ce serait plus beau » :-) Merci de m'avoir fait découvrir qu'elle existait aussi en Emacs Lisp. Allez, juste pour le plaisir :
Au fait, comment pourrait-on demander à Emacs de remplacer tous les bindings qui mènent à `kill-buffer-and-window()' par cette commande ? Sans toucher à `kill-buffer-and-window()'.
De manière à ce que, si plus tard, on fait un :
(local-set-key "..." 'kill-buffer-and-window)
par exemple, c'est bien la commande ci-dessus qui soit appelée. Un peu pour les bindings ce qu'est `defadvice()' aux fonctions.
Un (flet ((yes-or-no-p (lambda (x) t))) ... ) l'aurait fait aussi, je
pense.
Arf ! J'y avais bien pensé en écrivant ma réponse, mais ma seule
réaction a été « fait ch$$r, Emacs, si seulement on avait le flet de
CL, ce serait plus beau » :-) Merci de m'avoir fait découvrir qu'elle
existait aussi en Emacs Lisp. Allez, juste pour le plaisir :
Au fait, comment pourrait-on demander à Emacs de remplacer tous les
bindings qui mènent à `kill-buffer-and-window()' par cette commande ?
Sans toucher à `kill-buffer-and-window()'.
De manière à ce que, si plus tard, on fait un :
(local-set-key "..." 'kill-buffer-and-window)
par exemple, c'est bien la commande ci-dessus qui soit appelée. Un
peu pour les bindings ce qu'est `defadvice()' aux fonctions.
Un (flet ((yes-or-no-p (lambda (x) t))) ... ) l'aurait fait aussi, je pense.
Arf ! J'y avais bien pensé en écrivant ma réponse, mais ma seule réaction a été « fait ch$$r, Emacs, si seulement on avait le flet de CL, ce serait plus beau » :-) Merci de m'avoir fait découvrir qu'elle existait aussi en Emacs Lisp. Allez, juste pour le plaisir :
Au fait, comment pourrait-on demander à Emacs de remplacer tous les bindings qui mènent à `kill-buffer-and-window()' par cette commande ? Sans toucher à `kill-buffer-and-window()'.
De manière à ce que, si plus tard, on fait un :
(local-set-key "..." 'kill-buffer-and-window)
par exemple, c'est bien la commande ci-dessus qui soit appelée. Un peu pour les bindings ce qu'est `defadvice()' aux fonctions.
--drkm
drkm
"SL" writes:
Parfait ! Merci. Si j'en crois mes yeux il y a plus de parenthèses fermantes que d'ouvrantes, mais emacs lui est content, et c'est bien là l'essentiel.
Je ne vois pas où. Mais pour ce genre de choses, je fais plus confiance à Emacs qu'à moi-même ;-)
PS: Pourrais-tu poster à l'endroit, s'il te plaît ? <URL:http://www.giromini.org/usenet-fr/repondre.html>.
--drkm
"SL" <nospam@nospam.com> writes:
Parfait ! Merci. Si j'en crois mes yeux il y a plus de parenthèses fermantes
que d'ouvrantes, mais emacs lui est content, et c'est bien là l'essentiel.
Je ne vois pas où. Mais pour ce genre de choses, je fais plus
confiance à Emacs qu'à moi-même ;-)
PS: Pourrais-tu poster à l'endroit, s'il te plaît ?
<URL:http://www.giromini.org/usenet-fr/repondre.html>.
Parfait ! Merci. Si j'en crois mes yeux il y a plus de parenthèses fermantes que d'ouvrantes, mais emacs lui est content, et c'est bien là l'essentiel.
Je ne vois pas où. Mais pour ce genre de choses, je fais plus confiance à Emacs qu'à moi-même ;-)
PS: Pourrais-tu poster à l'endroit, s'il te plaît ? <URL:http://www.giromini.org/usenet-fr/repondre.html>.
--drkm
Matthieu Moy
drkm writes:
Au fait, comment pourrait-on demander à Emacs de remplacer tous les bindings qui mènent à `kill-buffer-and-window()' par cette commande ? Sans toucher à `kill-buffer-and-window()'.
Au fait, comment pourrait-on demander à Emacs de remplacer tous les
bindings qui mènent à `kill-buffer-and-window()' par cette commande ?
Sans toucher à `kill-buffer-and-window()'.
Au fait, comment pourrait-on demander à Emacs de remplacer tous les bindings qui mènent à `kill-buffer-and-window()' par cette commande ? Sans toucher à `kill-buffer-and-window()'.
Arf ! J'y avais bien pensé en écrivant ma réponse, mais ma seule réaction a été « fait ch$$r, Emacs, si seulement on avait le flet de CL, ce serait plus beau » :-) Merci de m'avoir fait découvrir qu'elle existait aussi en Emacs Lisp. Allez, juste pour le plaisir :
ça me donne "Wrong type argument: commandp, (lambda nil (flet ((yes-or-no-p (prompt))) (kill-buffer-and-window)))". Peut être une erreur de ma part !
Arf ! J'y avais bien pensé en écrivant ma réponse, mais ma seule
réaction a été « fait ch$$r, Emacs, si seulement on avait le flet de
CL, ce serait plus beau » :-) Merci de m'avoir fait découvrir qu'elle
existait aussi en Emacs Lisp. Allez, juste pour le plaisir :
Arf ! J'y avais bien pensé en écrivant ma réponse, mais ma seule réaction a été « fait ch$$r, Emacs, si seulement on avait le flet de CL, ce serait plus beau » :-) Merci de m'avoir fait découvrir qu'elle existait aussi en Emacs Lisp. Allez, juste pour le plaisir :
ça me donne "Wrong type argument: commandp, (lambda nil (flet ((yes-or-no-p (prompt))) (kill-buffer-and-window)))". Peut être une erreur de ma part !
drkm
"SL" writes:
Arf ! J'y avais bien pensé en écrivant ma réponse, mais ma seule réaction a été « fait ch$$r, Emacs, si seulement on avait le flet de CL, ce serait plus beau » :-) Merci de m'avoir fait découvrir qu'elle existait aussi en Emacs Lisp. Allez, juste pour le plaisir :
C'est la manière de dire à Emacs que cette fonction n'est pas juste une fonction utilisable en Lisp, mais une commande utilisable directement par l'utilisateur (depuis `M-x' ou en la liant à une séquence de caractères, ou plutôt d'événements d'entrée).
--drkm
"SL" <nospam@nospam.com> writes:
Arf ! J'y avais bien pensé en écrivant ma réponse, mais ma seule
réaction a été « fait ch$$r, Emacs, si seulement on avait le flet de
CL, ce serait plus beau » :-) Merci de m'avoir fait découvrir qu'elle
existait aussi en Emacs Lisp. Allez, juste pour le plaisir :
C'est la manière de dire à Emacs que cette fonction n'est pas juste
une fonction utilisable en Lisp, mais une commande utilisable
directement par l'utilisateur (depuis `M-x' ou en la liant à une
séquence de caractères, ou plutôt d'événements d'entrée).
Arf ! J'y avais bien pensé en écrivant ma réponse, mais ma seule réaction a été « fait ch$$r, Emacs, si seulement on avait le flet de CL, ce serait plus beau » :-) Merci de m'avoir fait découvrir qu'elle existait aussi en Emacs Lisp. Allez, juste pour le plaisir :
C'est la manière de dire à Emacs que cette fonction n'est pas juste une fonction utilisable en Lisp, mais une commande utilisable directement par l'utilisateur (depuis `M-x' ou en la liant à une séquence de caractères, ou plutôt d'événements d'entrée).