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

Mode psgml : desactivation du fontiying automatique

12 réponses
Avatar
Eric Jacoboni
Bonjour,

J'utilise avec bonheur le mode psgml d'Emacs pour éditer des fichiers
XML depuis déjà un bon bout de temps.

Il y a néammoins un truc qui m'a toujours ennuyé, mais qui devient
maintenant carrément pénible car j'ai un /gros/ fichier à éditer : de
temps à autre, psgml s'avise de "fontifyingifier" et cet idiot me plante
le curseur à un endroit du fichier qui n'est pas du tout celui auquel
je me trouvais. Sur de petits fichiers, ce n'est pas grave : le
curseur revient assez vite à son emplacement initial. Sur un gros,
c'est pénible car soit il faut que j'attende /longtemps/ soit il faut
que je me repositionne manuellement.

Bref, je souhaiterais savoir s'il est possible de n'activer ce truc
qu'à la demande (les couleurs, en XML, c'est pratique) et de
désactiver ce comportement automatique périodique. J'avoue ne pas
avoir trop farfouillé dans les méandres de customize.

--
Éric Jacoboni, né il y a 1403983314 secondes

10 réponses

1 2
Avatar
Erwan David
Eric Jacoboni écrivait :

Bref, je souhaiterais savoir s'il est possible de n'activer ce truc
qu'à la demande (les couleurs, en XML, c'est pratique) et de
désactiver ce comportement automatique périodique. J'avoue ne pas
avoir trop farfouillé dans les méandres de customize.



Tu as activé le lazy-lock ? (ça fontifie quand emacs est idle depuis
un certain temps).

--
Si vous embauchez, voici mon CV
http://www.rail.eu.org/cv/cv.pdf
Avatar
Eric Jacoboni
Erwan David writes:

Tu as activé le lazy-lock ? (ça fontifie quand emacs est idle depuis
un certain temps).



'fectivement, font-lock-mode était à t. En le mettant à
lazy-lock-mode, c'est déjà vachement mieux.

En fait, l'interface X11 permettait de sélectionner ce mode, mais ce
n'est plus possible de le faire directement avec la version que
j'ai. Il faut que je passe par le .emacs.

Thanks
--
Éric Jacoboni, né il y a 1403989743 secondes
Avatar
drkm
Eric Jacoboni writes:

Erwan David writes:

Tu as activé le lazy-lock ? (ça fontifie quand emacs est idle depuis
un certain temps).





Il y a également Just In Time Lock, jit-lock, et Fast Lock. Je n'en
maîtrise pas les différences que pour pouvoir les comparer.

'fectivement, font-lock-mode était à t. En le mettant à
lazy-lock-mode, c'est déjà vachement mieux.



Bizarre. Ce n'est pas son rôle :

,----[ C-h v font-lock-mode RET ]
| font-lock-mode's value is t
| Local in buffer *scratch*; global value is nil
| Automatically becomes buffer-local when set in any fashion.
|
| Non-nil if Font-Lock mode is enabled.
| Use the command `font-lock-mode' to change this variable.
|
| Defined in `font-core'.
`----

Ça semble par contre être celui de :

,----[ C-h v font-lock-support-mode RET ]
| font-lock-support-mode's value is jit-lock-mode
|
| *Support mode for Font Lock mode.
| Support modes speed up Font Lock mode by being choosy about when fontification
| occurs. Known support modes are Fast Lock mode (symbol `fast-lock-mode'),
| Lazy Lock mode (symbol `lazy-lock-mode'), and Just-in-time Lock mode (symbol
| `jit-lock-mode'. See those modes for more info.
| If nil, means support for Font Lock mode is never performed.
| If a symbol, use that support mode.
| If a list, each element should be of the form (MAJOR-MODE . SUPPORT-MODE),
| where MAJOR-MODE is a symbol or t (meaning the default). For example:
| ((c-mode . fast-lock-mode) (c++-mode . fast-lock-mode) (t . lazy-lock-mode))
| means that Fast Lock mode is used to support Font Lock mode for buffers in C or
| C++ modes, and Lazy Lock mode is used to support Font Lock mode otherwise.
|
| The value of this variable is used when Font Lock mode is turned on.
|
| You can customize this variable.
|
| Defined in `font-lock'.
`----

La valeur par défaut en est `jit-lock-mode()'. Mais ceci est
valable pour la version CVS (vivement la 21.4). Il y a eu pas mal de
changements à ce sujet depuis la 21.3. Notamment le découpage en
plusieurs « support modes ».

--drkm
Avatar
drkm
Eric Jacoboni writes:

J'utilise avec bonheur le mode psgml d'Emacs pour éditer des fichiers
XML depuis déjà un bon bout de temps.



En passant, connais-tu nXML ?

--drkm
Avatar
Eric Jacoboni
drkm writes:

En passant, connais-tu nXML ?



Non. Je suis tellement havitué à psgml en fait que je n'ai jamais
ressenti le besoin d'aller voir ailleurs (sauf pour psgmlx quand psgml
n'était plus trop compatible avec Emacs).
--
Éric Jacoboni, né il y a 1404032563 secondes
Avatar
Eric Jacoboni
drkm writes:


'fectivement, font-lock-mode était à t. En le mettant à
lazy-lock-mode, c'est déjà vachement mieux.



Bizarre. Ce n'est pas son rôle :



Avec le recul, c'est vrai que ça améliore mais que ce n'est pas encore
tout à fait ça mais c'est quand même mieux qu'avant (ou alors, c'est
la méthode Coué qui fait son effet).


Ça semble par contre être celui de :

,----[ C-h v font-lock-support-mode RET ]
| font-lock-support-mode's value is jit-lock-mode



Chez moi il est en fast. Je vais tester les autres valeurs, pour voir.


--
Éric Jacoboni, né il y a 1404032628 secondes
Avatar
Daniel Déchelotte
Eric Jacoboni a écrit :

| [...]
| > ,----[ C-h v font-lock-support-mode RET ]
| > | font-lock-support-mode's value is jit-lock-mode
|
| Chez moi il est en fast. Je vais tester les autres valeurs, pour voir.

J'aimerais pour ma part avoir le comportement inverse : qu'emacs
"recalcule" les couleurs immediatement, sans que j'aie a m'arreter (simuler
l'inactivite) pour qu'il me montre ce qui est un commentaire et ce qui ne
l'est pas, par exemple.

J'ai dans la section custom-set-variables de mon .emacs :

'(font-lock-support-mode (quote jit-lock-mode))
'(global-font-lock-mode t nil (font-lock))
'(jit-lock-chunk-size 50000)
'(jit-lock-defer-contextually t)
'(jit-lock-stealth-time 1)

(J'avais aussi le fast-lock par defaut, le jit-lock n'est pas vraiment
mieux) Si, au fil de tes essais, tu tombes sur ce comportement, n'hesite
pas a nous dire comment tu l'obtiens. ;-) Merci.

--
Daniel Déchelotte
http://yo.dan.free.fr/
Avatar
Olivier Tharan
* drkm (Tue, 16 Nov 2004 02:19:22 +0100):
En passant, connais-tu nXML ?



Je le trouve bien et l'utilise avec bonheur (aux dépens de psgml qui me
gonflait, comme Jaco - le mode, pas Jaco).

J'ai toujours eu du mal avec psgml et n'utilisais pas ses raccourcis.
Par contre avec nXML un truc bien c'est C-c C-n pour se déplacer
directement à l'erreur syntaxique suivante.

--
olive
Avatar
Eric Jacoboni
Olivier Tharan <olive+ writes:

Par contre avec nXML un truc bien c'est C-c C-n pour se déplacer
directement à l'erreur syntaxique suivante.



Comme C-c C-o de psgml, quoi... ;)
--
Éric Jacoboni, né il y a 1404070395 secondes
Avatar
drkm
Eric Jacoboni writes:

drkm writes:

En passant, connais-tu nXML ?



Non. Je suis tellement havitué à psgml en fait que je n'ai jamais
ressenti le besoin d'aller voir ailleurs (sauf pour psgmlx quand psgml
n'était plus trop compatible avec Emacs).



Je pense que ses atouts sont le support des schémas et un analyseur
syntaxique complet pour XML. Il est très simple d'approche, et évolue
encore pas mal. Pour l'instant, James essaie de mettre en place un
mécanisme d'Outlining adapté à XML, par exemple.

AMHA, il peut être intéressant de l'essayer, si tu as un peu de
temps.

--drkm
1 2