Ändern der Textdarstellung in Emacs: Überlagerungen funktionieren, Texteigenschaften nicht

8

Ich habe heute mit Texteigenschaften in Emacs experimentiert. Wenn ich den Cursor auf eine Zeile mit Text setze und den folgenden Code mit M-: führe, wird die Zeile fett dargestellt.

%Vor%

Wenn ich jedoch das Overlay mit (remove-overlays) lösche und den folgenden Code ausführe, passiert nichts (außer dass das Wort "nil" im Minipuffer erscheint).

%Vor%

Nach dem, was ich bisher herausgefunden habe, würde ich erwarten, dass diese zwei Snippets dieselben visuellen Ergebnisse liefern sollten. Warum nicht?

    
Sean 11.02.2010, 04:28
quelle

2 Antworten

4

Wenn font-lock-mode aktiviert ist, wird das Attribut face außer Kraft gesetzt. Versuchen Sie stattdessen font-lock-face :

%Vor%     
huaiyuan 11.02.2010, 10:07
quelle
2

ansi-color.el - "In Emacs sind die Dinge allerdings ein bisschen different: Wenn font-lock in einem Puffer aktiv ist, kann man nicht einfach hinzufügen Gesicht Text-Eigenschaften in den Puffer. Font-Lock entfernt das Gesicht text-property mit 'font-lock-unconfig-region-function'. wenn du willst Einfügen der von 'ansi-color-apply' zurückgegebenen Strings in solche Puffer, Sie müssen 'font-lock-unfonfy-region-function' auf setzen 'ansi-color-unfonify-region'. Diese Funktion entfernt nicht alle Gesichter Texteigenschaften bedingungslos. Es behält die Gesichtstexteigenschaften bei wenn die Eigenschaft 'ansi-color' gesetzt ist.

    
Chris 07.03.2011 08:26
quelle

Tags und Links