Thanks to a suggestion from Nick Dokos, I have a backtrace: Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) +(nil 12) font-spatial-to-canonical("+12pt") css-expand-length("+12pt" t) css-expand-value(height "+12pt") css-parse-args(238 257) css-parse("file:/usr/local/share/default.css" nil nil) w3-find-default-stylesheets() w3-refresh-stylesheets() w3-do-setup() mm-setup-w3() mm-inline-text((#> ("text/html" (charset . "us-ascii")) quoted-printable nil nil nil nil nil)) mm-display-inline((#> ("text/html" (charset . "us-ascii")) quoted-printable nil nil nil nil nil)) mm-display-part((#> ("text/html" (charset . "us-ascii")) quoted-printable nil nil nil nil nil)) byte-code("Œƒ@A†@bˆÆyˆ`}ˆed|ˆÇ !ˆÈ C \f‰A@)‰+„4\f@+„>ÉÊ!„\nË`‰,ÌÍ-\"cˆ`ÎÏÐÑ?ÒÓÔDEEÕÔ\fDÔ+DÔ\nD-¯F./Ö0×1Ø-Ù2¯\f#ˆÚÛ,`ÜÝÞ3&ˆ ‰A@‰2ƒË`‰,Ìß2 šƒ§à‚¨á2‰2@;ƒ¸2@‚½â28@)#cˆ`ÎÏãÑ?ÒÓÔDEEÕÔ\fDÔ2DÔ\nD-¯F./Ö0×1Ø-Ù2¯\f#ˆÚÛ,`ÜÝÞ3&ˆäcˆ‚Šåcˆ ƒj @;ƒæ !ˆ‚b4Š5qˆ6)78ç !ˆŠŒ\n@d}ˆèéGê9@!ƒEâ‚I9GS2‰2@;ƒY2@‚^â28@)$ˆ,dbˆ\nÈ ¡ˆ)é‡" [ibegend handles begend preferred ihandles x 2 mm-remove-parts point-marker gnus-unbuttonized-mime-type-p "multipart/alternative" gnus-add-text-properties format "%d. " gnus-callback lambda (handles) unless setq gnus-article-mime-handle-alist quote gnus-mime-display-alternative face keymap gnus-part gnus-data widget-convert-button link :action gnus-widget-press-button :button-keymap "(%c) %-18s" 42 32 1 (handles) " " "\n\n" gnus-display-mime mm-display-part gnus-treat-article nil bufferp not-pref from id gnus-mouse-face-prop gnus-article-mouse-face gnus-article-button-face gnus-mime-button-map ...] 16) gnus-mime-display-alternative(((# ("text/plain" ...) 7bit nil nil nil nil nil) (#> ("text/html" ...) quoted-printable nil nil nil nil nil)) nil nil 1) gnus-mime-display-part(("multipart/alternative" (# ("text/plain" ...) 7bit nil nil nil nil nil) (#> ("text/html" ...) quoted-printable nil nil nil nil nil))) mapcar(gnus-mime-display-part (("multipart/alternative" (# ... 7bit nil nil nil nil nil) (#> ... quoted-printable nil nil nil nil nil)) (#> ("application/msword" ...) base64 nil ("attachment" ...) nil nil nil))) gnus-mime-display-mixed((("multipart/alternative" (# ... 7bit nil nil nil nil nil) (#> ... quoted-printable nil nil nil nil nil)) (#> ("application/msword" ...) base64 nil ("attachment" ...) nil nil nil))) gnus-mime-display-part(("multipart/mixed" ("multipart/alternative" (# ... 7bit nil nil nil nil nil) (#> ... quoted-printable nil nil nil nil nil)) (#> ("application/msword" ...) base64 nil ("attachment" ...) nil nil nil))) gnus-display-mime() gnus-article-prepare-display() gnus-article-prepare(2 nil) gnus-summary-display-article(2 nil) gnus-summary-select-article(nil nil pseudo) gnus-summary-scroll-up(1) * call-interactively(gnus-summary-scroll-up) It is evident from this that gnus is using w3 to decode html. However, although I have w3 installed I have never been able to get it to work reliably so I use w3m as my emacs browser. I wish to use w3m to decode inline html also. mm-inline-media-tests includes the entry: ("text/html" mm-inline-text (lambda (handle) (locate-library "w3m"))) which is set in my .emacs through the customization mechanism. It appears that some other variable needs to be set: but which one(s)? Thanks, Roger Mason