Comment mettre à jour la propriété face pour que get-text-property fonctionne correctement?
6 réponses
jack-mac
Bonjour v=E9n=E9rables emacsiens.
Comment faire pour que la propri=E9t=E9 "face" soit mise =E0 jour, soit pou=
r
tout le fichier, soit autour du "point"?
J'ai =E9crit une fonction emacs-lisp qui effectue une recherche sur du
texte et sur la propri=E9t=E9 'face'.
Cette fonction marche parfaitement lorsque le buffer a =E9t=E9 enti=E8remen=
t
affich=E9 (via un scroll, par exemple).
Mais, lorsque je viens juste d'ouvrir un fichier, j'ai constat=E9 que la
propri=E9t=E9 "face" du texte qui n'a pas encore =E9t=E9 affich=E9 reste =
=E0 nil
tant qu'il n'a pas =E9t=E9 affich=E9.
(get-text-property (point) 'face) =3D> nil
J'ai essay=E9 (font-lock-fontify-buffer) mais =E7a ne provoque pas la mise
=E0 jour que je souhaite.
Dans le temps, il y avait un lazy-lock, mais il n'existe pas dans mon
emacs.
Comment faire pour que la propri=E9t=E9 "face" soit mise =E0 jour, soit pou=
r
tout le fichier, soit autour du "point"?
Merci d'avance pour votre aide.
Rq:
Pour =E9viter tout probl=E8me de .emacs, j'ai lanc=E9: "emacs -Q" et =E9val=
u=E9
seulement ma fonction.
GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.22.0) of
2011-03-04 on roseapple, modified by Debian
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
vincent.belaiche
jack-mac writes:
[...]
Comment faire pour que la propriété "face" soit mise à jour, soit pour tout le fichier, soit autour du "point"?
Merci d'avance pour votre aide.
Rq: Pour éviter tout problème de .emacs, j'ai lancé: "emacs -Q" et évalué seulement ma fonction. GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.22.0) of 2011-03-04 on roseapple, modified by Debian
As-tu essayé font-lock-fontify-block
Sinon essaie peut-être juste avant de faire le get-text-property un truc de ce genre
histoire de provoquer un rafraichissement du texte à cet endroit.
Vincent.
jack-mac <duthen.mac@gmail.com> writes:
[...]
Comment faire pour que la propriété "face" soit mise à jour, soit pour
tout le fichier, soit autour du "point"?
Merci d'avance pour votre aide.
Rq:
Pour éviter tout problème de .emacs, j'ai lancé: "emacs -Q" et évalué
seulement ma fonction.
GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.22.0) of
2011-03-04 on roseapple, modified by Debian
As-tu essayé font-lock-fontify-block
Sinon essaie peut-être juste avant de faire le get-text-property un truc
de ce genre
Comment faire pour que la propriété "face" soit mise à jour, soit pour tout le fichier, soit autour du "point"?
Merci d'avance pour votre aide.
Rq: Pour éviter tout problème de .emacs, j'ai lancé: "emacs -Q" et évalué seulement ma fonction. GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.22.0) of 2011-03-04 on roseapple, modified by Debian
As-tu essayé font-lock-fontify-block
Sinon essaie peut-être juste avant de faire le get-text-property un truc de ce genre
histoire de provoquer un rafraichissement du texte à cet endroit.
Vincent.
jack-mac
On 14 juin, 21:58, (Vincent Belaïche) wrote:
jack-mac writes:
[...]
> Comment faire pour que la propriété "face" soit mise à jour, soit pour > tout le fichier, soit autour du "point"?
> Merci d'avance pour votre aide.
> Rq: > Pour éviter tout problème de .emacs, j'ai lancé: "emacs -Q" et évalué > seulement ma fonction. > GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.22.0) of > 2011-03-04 on roseapple, modified by Debian
As-tu essayé font-lock-fontify-block
Sinon essaie peut-être juste avant de faire le get-text-property un tru c de ce genre
histoire de provoquer un rafraichissement du texte à cet endroit.
Vincent.
Bonjour, merci d'avoir répondu! Pour rafraichir le texte autour du point, on peut utiliser (sit-for 0), mais c'est très lourd. En fait, j'ai eu la réponse sur gnu.emacs.help : Pour forcer la fontification, il faut utiliser jit-lock-fontify-now Mais, en plus, ce n'est pas la bonne méthode: Pour vérifier si le point est dans un commentaire ou une chaine, etc., il vaut mieux utiliser syntaxe-ppss )jack(
On 14 juin, 21:58, vincent.belai...@gmail.com (Vincent Belaïche)
wrote:
jack-mac <duthen....@gmail.com> writes:
[...]
> Comment faire pour que la propriété "face" soit mise à jour, soit pour
> tout le fichier, soit autour du "point"?
> Merci d'avance pour votre aide.
> Rq:
> Pour éviter tout problème de .emacs, j'ai lancé: "emacs -Q" et évalué
> seulement ma fonction.
> GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.22.0) of
> 2011-03-04 on roseapple, modified by Debian
As-tu essayé font-lock-fontify-block
Sinon essaie peut-être juste avant de faire le get-text-property un tru c
de ce genre
histoire de provoquer un rafraichissement du texte à cet endroit.
Vincent.
Bonjour,
merci d'avoir répondu!
Pour rafraichir le texte autour du point, on peut utiliser (sit-for
0), mais c'est très lourd.
En fait, j'ai eu la réponse sur gnu.emacs.help :
Pour forcer la fontification, il faut utiliser jit-lock-fontify-now
Mais, en plus, ce n'est pas la bonne méthode:
Pour vérifier si le point est dans un commentaire ou une chaine, etc.,
il vaut mieux utiliser syntaxe-ppss
)jack(
> Comment faire pour que la propriété "face" soit mise à jour, soit pour > tout le fichier, soit autour du "point"?
> Merci d'avance pour votre aide.
> Rq: > Pour éviter tout problème de .emacs, j'ai lancé: "emacs -Q" et évalué > seulement ma fonction. > GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.22.0) of > 2011-03-04 on roseapple, modified by Debian
As-tu essayé font-lock-fontify-block
Sinon essaie peut-être juste avant de faire le get-text-property un tru c de ce genre
histoire de provoquer un rafraichissement du texte à cet endroit.
Vincent.
Bonjour, merci d'avoir répondu! Pour rafraichir le texte autour du point, on peut utiliser (sit-for 0), mais c'est très lourd. En fait, j'ai eu la réponse sur gnu.emacs.help : Pour forcer la fontification, il faut utiliser jit-lock-fontify-now Mais, en plus, ce n'est pas la bonne méthode: Pour vérifier si le point est dans un commentaire ou une chaine, etc., il vaut mieux utiliser syntaxe-ppss )jack(
vincent.belaiche
jack-mac writes:
[...]
Bonjour, merci d'avoir répondu! Pour rafraichir le texte autour du point, on peut utiliser (sit-for 0), mais c'est très lourd. En fait, j'ai eu la réponse sur gnu.emacs.help : Pour forcer la fontification, il faut utiliser jit-lock-fontify-now Mais, en plus, ce n'est pas la bonne méthode: Pour vérifier si le point est dans un commentaire ou une chaine, etc., il vaut mieux utiliser syntaxe-ppss )jack(
Merci de l'info... Après avoir cherché cette fonction, c'est:
syntax-ppss
J'avoue que c'est un aspect d'EMACS que je connais très mal...
Vincent.
jack-mac <duthen.mac@gmail.com> writes:
[...]
Bonjour,
merci d'avoir répondu!
Pour rafraichir le texte autour du point, on peut utiliser (sit-for
0), mais c'est très lourd.
En fait, j'ai eu la réponse sur gnu.emacs.help :
Pour forcer la fontification, il faut utiliser jit-lock-fontify-now
Mais, en plus, ce n'est pas la bonne méthode:
Pour vérifier si le point est dans un commentaire ou une chaine, etc.,
il vaut mieux utiliser syntaxe-ppss
)jack(
Merci de l'info... Après avoir cherché cette fonction, c'est:
syntax-ppss
J'avoue que c'est un aspect d'EMACS que je connais très mal...
Bonjour, merci d'avoir répondu! Pour rafraichir le texte autour du point, on peut utiliser (sit-for 0), mais c'est très lourd. En fait, j'ai eu la réponse sur gnu.emacs.help : Pour forcer la fontification, il faut utiliser jit-lock-fontify-now Mais, en plus, ce n'est pas la bonne méthode: Pour vérifier si le point est dans un commentaire ou une chaine, etc., il vaut mieux utiliser syntaxe-ppss )jack(
Merci de l'info... Après avoir cherché cette fonction, c'est:
syntax-ppss
J'avoue que c'est un aspect d'EMACS que je connais très mal...
Vincent.
valrik
(Vincent Belaïche) writes:
J'avoue que c'est un aspect d'EMACS que je connais très mal...
Le lundi 25 juin 2012 15:28:14 UTC+2, (inconnu) a écrit :
(Vincent Belaïche) writes: > J'avoue que c'est un aspect d'EMACS que je connais très mal...
Moi, encore plus!
En deux mots, ça consiste en quoi une "propriété face"?
Lorsque Emacs affiche une partie du texte en couleurs (coloration syntaxiqu e, par exemple), il se passe quelque chose en interne! Xemacs utilise un mécanisme d'overlays (que je décrirai pas). Gnu FSF Emacs utilise un mécanisme de propriétés. Dans GNU FSF Emacs , si tu places le curseur à l'intérieur d'un mot en couleur et que tu t apes M-: (get-text-property (point) 'face) RET, emacs affichera la propri été 'face' du point courant.
Le lundi 25 juin 2012 15:28:14 UTC+2, (inconnu) a écrit :
(Vincent Belaïche) writes:
> J'avoue que c'est un aspect d'EMACS que je connais très mal...
Moi, encore plus!
En deux mots, ça consiste en quoi une "propriété face"?
Lorsque Emacs affiche une partie du texte en couleurs (coloration syntaxiqu e, par exemple), il se passe quelque chose en interne!
Xemacs utilise un mécanisme d'overlays (que je décrirai pas).
Gnu FSF Emacs utilise un mécanisme de propriétés. Dans GNU FSF Emacs , si tu places le curseur à l'intérieur d'un mot en couleur et que tu t apes M-: (get-text-property (point) 'face) RET, emacs affichera la propri été 'face' du point courant.
Le lundi 25 juin 2012 15:28:14 UTC+2, (inconnu) a écrit :
(Vincent Belaïche) writes: > J'avoue que c'est un aspect d'EMACS que je connais très mal...
Moi, encore plus!
En deux mots, ça consiste en quoi une "propriété face"?
Lorsque Emacs affiche une partie du texte en couleurs (coloration syntaxiqu e, par exemple), il se passe quelque chose en interne! Xemacs utilise un mécanisme d'overlays (que je décrirai pas). Gnu FSF Emacs utilise un mécanisme de propriétés. Dans GNU FSF Emacs , si tu places le curseur à l'intérieur d'un mot en couleur et que tu t apes M-: (get-text-property (point) 'face) RET, emacs affichera la propri été 'face' du point courant.