2010-11-13 18 views
1

Je viens de recevoir un nouvel ordinateur portable Windows, en y installant emacs23.emacs23 sur windows: le set-face-foreground semble s'être oublié pendant le chargement d'emacs.el

Mes ordinateurs précédents ont utilisé emacs 22 pour je-ne-sais-comment-long.

J'ai un emacs.el longish, qui charge diverses bibliothèques elisp latérales. J'ai tout mis en place juste ainsi, dans emacs 22.

J'ai apporté ce emacs.el sur le nouveau pc, avec tous les autres modules elisp. Démarré emacs, et tout a l'air bien. Il y a juste un problème étrange.

Près du haut de la emacs.el, je fais:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;; basic, default colors 

(set-face-foreground 'default "white") 
(set-face-background 'default "black") 

Cela rend le fond noir et le blanc de premier plan (blanc sur noir). C'est le contraire de ce que fera une installation par défaut d'emacs sous Windows.

Pendant que le reste d'emacs.el est en cours de chargement, je peux voir que ces couleurs sont en vigueur. C'est juste une fenêtre vide, pas même le tampon de travail est affiché. Tout ce que je vois est le message au bas de la fenêtre qui me met au courant de la progression de la charge. (Pour une raison quelconque, le chargement est beaucoup plus lent - je pense avoir des bibliothèques .el non compilées - je vais devoir étudier cela séparément). Même ainsi, c'est une fenêtre noire. (Sans ces instructions dans emacs.el, la fenêtre reste blanche.) Quoi qu'il en soit, tout se charge, puis l'écran redevient noir sur blanc, plutôt que blanc sur noir.

La partie étrange est toutes les autres polices que j'ai définies, semblent "coller". Des polices comme des polices de caractères, des polices de caractères, des noms de fonctions, etc. en mode cc ... tout cela reste. Seules les polices de premier plan et d'arrière-plan par défaut ne "collent" pas. Je pensais que peut-être quelque chose dans la pile de modules elisp était peut-être réinitialiser ces polices. J'ai donc dupliqué ces deux instructions (d'en haut) à la toute fin du fichier emacs.el. Pourtant, cependant, les polices sont annulées.

Si j'évalue ensuite ces instructions dans le tampon de travail une fois que tout est chargé, alors les polices ressemblent à ce que je pense - blanc sur noir.

Y a-t-il quelque chose de différent sur la façon dont emacs23 fait les polices par défaut?
Pourquoi cette fonction est-elle rétablie?
Pourquoi ne puis-je pas faire en sorte que ces paramètres soient "collés" lorsqu'ils sont évalués à partir d'emacs.el?

Merci pour toute aide que vous pouvez offrir.

Répondre

2

Trouvé. J'ai aussi dans le emacs.el, ce code:

(setq default-frame-alist 
    '((top . 10) (left . 860) 
    (width . 100) (height . 28) 
    (cursor-color . "Blue") 
    (cursor-type . box) 
    (foreground-color . "White") 
    (background-color . "Black") 
    (mouse-color . "sienna3") 
    (font . "-*-Lucida Console-normal-r-*-*-11-82-96-96-c-*-iso8859-1") 
    ) 
) 

... ce qui contredit la chose set-face-foreground. J'ai donc commenté les lignes de couleur de premier plan et d'arrière-plan là-bas, et cela a commencé comme je le souhaitais.