OVH Cloud OVH Cloud

Coloration des fontes sous gnus

7 réponses
Avatar
Willy
Bonjour,

J'essaie de changer la couleur des groupes mais je n'y arrive pas. J'ai
pourtant fait un copier-coller de la doc vers mon fichier .gnus.el que
voici:

(setq gnus-select-method '(nntp "news.nordnet.fr"))
(setq gnus-check-new-newsgroups 'ask-server)
(setq gnus-save-killed-list nil)
(setq gnus-save-newsrc-file nil)
(setq gnus-read-newsrc-file nil)
(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)

(cond (window-system
(setq custom-background-mode 'light)
(defface my-group-face-5
'((t (:foreground "Blue" :bold t))) "Fifth group face")))

(setq gnus-group-highlight
'(t . my-group-face-5))

Quand je lance gnus, j'ai droit au message d'erreur suivant:

Wrong type argument: listp, t

Où est le pb ?

Willy

7 réponses

Avatar
drkm
Willy writes:

Wrong type argument: listp, t



Que dit le backtrace ? 'M-x toggle-debug-on-error <RET>' et
relance Gnus (pour reproduire l'erreur).

--drkm
Avatar
Willy
drkm a écrit :

Willy writes:



Wrong type argument: listp, t





Que dit le backtrace ? 'M-x toggle-debug-on-error <RET>' et
relance Gnus (pour reproduire l'erreur).

--drkm




il dit ceci:

gnus-group-highlight-line()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("linux.debian.user.french" 3 ((seen
(66745 . 66755) (66757 . 66775) (66777 . 66789) (66791 . 66803) (66805 .
66810) (668$
gnus-topic-prepare-topic((("Linux" visible nil nil)) 1 5 nil nil 1 nil)
gnus-topic-prepare-topic((("Gnus" visible) (("misc" visible))
(("Amiga" visible nil nil)) (("Linux" visible nil nil))) 0 5 nil nil 1 nil)
gnus-group-prepare-topics(5 nil nil)
gnus-group-list-groups(nil)
byte-code("^H204^N^@ 204^N^@Æ
210202^^@ÇÈ!210Én!^Sf204^^^@^M203!^@Ê 210^N^^203.^@Ë
210ÌÍÎ"210^N^_2038^@ÏÐÑ"210ÏÒÓ"210ÔÕ^N ^H#210Ç$
gnus-1(nil nil nil)
gnus(nil)
call-interactively(gnus)
execute-extended-command(nil)
call-interactively(execute-extended-command)

Willy.
Avatar
drkm
Willy writes:

drkm a écrit :

Que dit le backtrace ? 'M-x toggle-debug-on-error <RET>' et
relance Gnus (pour reproduire l'erreur).



il dit ceci:

gnus-group-highlight-line()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)

[...]



J'ai l'impression qu'il manque les premières lignes du
backtrace. Je me trompe ? Ce sont les plus intéressantes.

--drkm
Avatar
drkm
drkm writes:

J'ai l'impression qu'il manque les premières lignes du
backtrace. Je me trompe ? Ce sont les plus intéressantes.



Que donne :

(setq gnus-group-highlight '((t . my-group-face-5)))

à laplace de :

(setq gnus-group-highlight '(t . my-group-face-5))

?

--drkm
Avatar
Xavier Maillard
On 15 Jul 2005, Willy wrote:

drkm a écrit :

>
> > [...]
> >
> >
>
> J'ai l'impression qu'il manque les premières lignes du
> backtrace. Je me trompe ? Ce sont les plus intéressantes.
>
> --drkm
>
>
J'ai oublié celle-ci au début:

Debugger entered--Lisp error: (wrong-type-argument listp t)



Je crois que l'affaire est dans le sac, il faut que tu essaies la
solution de drkm dans un post précédent et tu auras résolu ton
problème.
--
GnusFR (http://www.gnusfr.org)
EmacsFR (http://www.emacsfr.org)

.emacs: Because customisation is fun!
Avatar
Xavier Maillard
On 16 Jul 2005, Willy wrote:

drkm a écrit :

> drkm writes:
>
>
>
> > J'ai l'impression qu'il manque les premières lignes du
> > backtrace. Je me trompe ? Ce sont les plus intéressantes.
> >
> >
>
> Que donne :
>
> (setq gnus-group-highlight '((t . my-group-face-5)))
>
> à laplace de :
>
> (setq gnus-group-highlight '(t . my-group-face-5))
>
> ?
>
> --drkm
>
>
ok cela marche et je pense maintenant savoir pourquoi il
manquait des parenthèses.



La raison n'est pas tant les parenthèses mais plutôt que la
variable gnus-group-highlight est définie comme:

,----[ C-h v gnus-group-highlight RET ]
| gnus-group-highlight's value is shown below.
|
| *Controls the highlighting of group buffer lines.
|
| Below is a list of `Form'/`Face' pairs. When deciding how a a
| particular group line should be displayed, each form is
| evaluated. The content of the face field after the first true form is
| used. You can change how those group lines are displayed by
| editing the face field.
|
| It is also possible to change and add form fields, but currently that
| requires an understanding of Lisp expressions. Hopefully this will
| change in a future release. For now, you can use the following
| variables in the Lisp expression:
|
| group: The name of the group.
| unread: The number of unread articles in the group.
| method: The select method used.
| mailp: Whether it's a mail group or not.
| level: The level of the group.
| score: The score of the group.
| ticked: The number of ticked articles.
|
| You can customize this variable.
|
| Defined in `gnus-group'.
|
| Value:
| (((and mailp
| (= unread 0)
| (eq level 1))
| . gnus-group-mail-1-empty)
| ((and mailp
| (eq level 1))
| . gnus-group-mail-1)
| ((and mailp
| (= unread 0)
| (eq level 2))
| . gnus-group-mail-2-empty)
| ((and mailp
| (eq level 2))
| . gnus-group-mail-2)
| ((and mailp
| (= unread 0)
| (eq level 3))
| . gnus-group-mail-3-empty)
| ((and mailp
| (eq level 3))
| . gnus-group-mail-3)
| ((and mailp
| (= unread 0))
| . gnus-group-mail-low-empty)
| ((and mailp)
| . gnus-group-mail-low)
| ((and
| (= unread 0)
| (eq level 1))
| . gnus-group-news-1-empty)
| ((and
| (eq level 1))
| . gnus-group-news-1)
| ((and
| (= unread 0)
| (eq level 2))
| . gnus-group-news-2-empty)
| ((and
| (eq level 2))
| . gnus-group-news-2)
| ((and
| (= unread 0)
| (eq level 3))
| . gnus-group-news-3-empty)
| ((and
| (eq level 3))
| . gnus-group-news-3)
| ((and
| (= unread 0)
| (eq level 4))
| . gnus-group-news-4-empty)
| ((and
| (eq level 4))
| . gnus-group-news-4)
| ((and
| (= unread 0)
| (eq level 5))
| . gnus-group-news-5-empty)
| ((and
| (eq level 5))
| . gnus-group-news-5)
| ((and
| (= unread 0)
| (eq level 6))
| . gnus-group-news-6-empty)
| ((and
| (eq level 6))
| . gnus-group-news-6)
| ((and
| (= unread 0))
| . gnus-group-news-low-empty)
| (t . gnus-group-news-low))
`----

Bon bien sûr, le parenthésage joue mais le truc c'est de savoir
que cette variable est une liste de paires form/face d'où ton
erreur.

Je me demande si je suis toujours aussi peu clair lorsque je
parle /o
--
"sometimes i feel like we're making emacs better and better because we don't
know what to do with emacs once it is finished."

-- AlexSchroeder on #emacs @OPN
Avatar
drkm
Xavier Maillard writes:

Bon bien sûr, le parenthésage joue mais le truc c'est de savoir
que cette variable est une liste de paires form/face d'où ton
erreur.



Et comment renseignes-tu une liste de paires form/face sans
parenthèses ? (bon, d'accord, c'est possible)

Mais tu as peut-être raison d'insister sur la différence entre
la représentation (le code source) d'un programme, utilisant des
parenthèses, et le programme lui-même (une fois passé par 'read')
et comportant des listes.

--drkm