Thread View: fr.comp.applications.emacs
10 messages
10 total messages
Started by Gilles Pion
Fri, 12 Apr 2013 10:21
comment savoir a quel moment une variable est chang�e ?
Author: Gilles Pion
Date: Fri, 12 Apr 2013 10:21
Date: Fri, 12 Apr 2013 10:21
35 lines
2376 bytes
2376 bytes
Bonjour � tous,
m'arrive un truc �trange,
� La fin de l'initialisation de ma session emacs, la contenu de la variable
"ange-ftp-ftp-program-name" se retrouve avoir pour valeur "lftp" alors que je
souhaite lui conserver la valeur par d�faut, "ftp", que j'observe en "mode sans
�chec" ("emacs -Q")
Pour en avoir le coeur net j'ai ajout� en d�but de mon .emacs:
(defconst ange-ftp-ftp-program-name "ftp")
(message "[1] ange-ftp-ftp-program-name is \"%s\" " ange-ftp-ftp-program-name)
et a la fin
(message "[2] ange-ftp-ftp-program-name is \"%s\" " ange-ftp-ftp-program-name)
et voici le r�sultat:
[1] ange-ftp-ftp-program-name is "ftp"
Loading ...
/../
[2] ange-ftp-ftp-program-name is "lftp"
Comment est-il possinle d'une valeur constante soit modifi� a l'insu de mon
plein gres?
Comment savoir ou cela se passe?
Comment l'emp�cher?
Merci d'avance!
--
Gilles Pion
Re: comment savoir a quel moment une variable est chang�e ?
Author: Gilles Pion
Date: Fri, 12 Apr 2013 10:33
Date: Fri, 12 Apr 2013 10:33
19 lines
2012 bytes
2012 bytes
Ref: <ahnfm852dlfl5g4mvqicqmqth2vaqhf4nf@4ax.com> de Gilles Pion >Comment est-il possible d'une valeur constante soit modifi� a l'insu de mon >plein gres? >Comment savoir ou cela se passe? >Comment l'emp�cher? > Bon, laissez tomber, j'ai trouv�: c'�tait des restes d'un vieux test au fin fond d'un .el lu indirectement par mon .emacs: (setq ange-ftp-ftp-program-name "lftp") Par contre, je reste quand m�me �tonn� qu'un setq d'une constante ne fasse pas tilter le moteur elisp. -- Gilles Pion
Re: comment savoir a quel moment une variable est changée ?
Author: Damien Wyart
Date: Fri, 12 Apr 2013 12:16
Date: Fri, 12 Apr 2013 12:16
9 lines
1840 bytes
1840 bytes
* Gilles Pion <nosuchuser@nosuchdomain.com> in fr.comp.applications.emacs: > Par contre, je reste quand m�me �tonn� qu'un setq d'une constante ne > fasse pas tilter le moteur elisp. defconst n'a qu'une valeur indicative : http://www.gnu.org/software/emacs/manual/html_node/elisp/Defining-Variables.html -- DW
Re: comment savoir a quel moment une variable est chang�e ?
Author: Gilles Pion
Date: Fri, 12 Apr 2013 16:21
Date: Fri, 12 Apr 2013 16:21
9 lines
1876 bytes
1876 bytes
Ref: <5167fb37$0$1834$426a74cc@news.free.fr> de Damien Wyart >defconst n'a qu'une valeur indicative : >http://www.gnu.org/software/emacs/manual/html_node/elisp/Defining-Variables.html En effet, je constate apr�s lecture. Pas d'alternative pour rendre une variable r�ellement "readonly" alors? -- Gilles Pion
Re: comment savoir a quel moment une variable est changée ?
Author: Damien Wyart
Date: Fri, 12 Apr 2013 18:48
Date: Fri, 12 Apr 2013 18:48
11 lines
2072 bytes
2072 bytes
* Gilles Pion <nosuchuser@nosuchdomain.com> in fr.comp.applications.emacs: > Pas d'alternative pour rendre une variable r�ellement "readonly" alors? A ma connaissance, non, mais je ne suis pas de tr�s pr�s tout ce qui se passe c�t� d�veloppement du coeur d'Emacs. Il y avait eu une courte discussion en 2004, qui n'avait rien donn� : http://lists.gnu.org/archive/html/emacs-devel/2004-11/msg00561.html -- DW
Re: comment savoir a quel moment une variable est chang�e ?
Author: Gilles Pion
Date: Fri, 12 Apr 2013 19:59
Date: Fri, 12 Apr 2013 19:59
8 lines
1945 bytes
1945 bytes
Ref: <516856e7$0$2230$426a74cc@news.free.fr> de Damien Wyart >Il y avait eu une courte >discussion en 2004, qui n'avait rien donn� : >http://lists.gnu.org/archive/html/emacs-devel/2004-11/msg00561.html merci pour le lien en tout cas -- Gilles Pion
Re: comment savoir a quel moment une variable est chang�e ?
Author: Vincent Bela�che
Date: Tue, 16 Apr 2013 04:32
Date: Tue, 16 Apr 2013 04:32
15 lines
2442 bytes
2442 bytes
Gilles Pion <nosuchuser@nosuchdomain.com> writes: > Ref: <516856e7$0$2230$426a74cc@news.free.fr> de Damien Wyart >>Il y avait eu une courte >>discussion en 2004, qui n'avait rien donn� : >>http://lists.gnu.org/archive/html/emacs-devel/2004-11/msg00561.html > > merci pour le lien en tout cas Sinon pour trouver quand la variable est configur�e, tu pourrais faire un paquetage qui red�finit la fonction set pour ouvrir le d�bogueur quand c'est le symbole de la variable probl�matique et charger ce paquetage en ligne de commande juste avant le fichier d'init. Vincent.
Re: comment savoir a quel moment une variable est chang�e ?
Author: Gilles Pion
Date: Tue, 16 Apr 2013 18:17
Date: Tue, 16 Apr 2013 18:17
15 lines
2455 bytes
2455 bytes
Ref: <80ehebw0w5.fsf@gmail.com> de Vincent Bela�che > >Sinon pour trouver quand la variable est configur�e, tu pourrais faire >un paquetage qui red�finit la fonction set pour ouvrir le d�bogueur quand >c'est le symbole de la variable probl�matique et charger ce paquetage en >ligne de commande juste avant le fichier d'init. Je vois a peu pr�s le principe, bien que je ne connaisse pas le concept de "paquetage" Par contre, je me demande comment, � l'int�rieur de ma fonction "set", invoquer la vraie fonction "set" ensuite sans partir en boucle infinie? -- Gilles Pion
Re: comment savoir a quel moment une variable est changée ?
Author: duthen.cnv
Date: Thu, 18 Apr 2013 12:25
Date: Thu, 18 Apr 2013 12:25
21 lines
2451 bytes
2451 bytes
Le mardi 16 avril 2013 20:17:29 UTC+2, Gilles Pion a écrit : > de Vincent Belaïche > Par contre, je me demande comment, à l'intérieur de ma fonction "set", > > invoquer la vraie fonction "set" ensuite sans partir en boucle infinie? Regarde la fonction 'defadvice' (qui est une macro d'ailleurs). Sinon, tu peux "patche"r une fonction à la mano de la manière suivante: (le 'unless' permet d'être sûr de ne l'exécuter qu'une fois et d'avoir la vraie définition originelle! (attention d'utiliser un nom unique, et le même aux 3 endroits! (et de ne pas changer de nom en cours de développement!))) (unless (fboundp 'jd-orig-set) (fset 'jd-orig-set (symbol-function 'set))) (defun set (var val) (if (eq var 'toto) (backtrace)) (jd-orig-set var val))
Re: comment savoir a quel moment une variable est chang�e ?
Author: Gilles Pion
Date: Thu, 18 Apr 2013 21:50
Date: Thu, 18 Apr 2013 21:50
21 lines
2266 bytes
2266 bytes
Ref: <f5e4ac1c-b5c3-45f3-bdfc-2129de036e99@googlegroups.com> de duthen.cnv@gmail.com > >Sinon, tu peux "patche"r une fonction � la mano de la mani�re suivante: >(le 'unless' permet d'�tre s�r de ne l'ex�cuter qu'une fois > et d'avoir la vraie d�finition originelle! > (attention d'utiliser un nom unique, et le m�me aux 3 endroits! > (et de ne pas changer de nom en cours de d�veloppement!))) > >(unless (fboundp 'jd-orig-set) > (fset 'jd-orig-set (symbol-function 'set))) > >(defun set (var val) > (if (eq var 'toto) (backtrace)) > (jd-orig-set var val)) merci pour l'exemple, je le copie illico dans "knowledge base" perso. -- Gilles Pion
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads