Gnus development mailing list
 help / color / mirror / Atom feed
From: Reiner Steib <reinersteib+gmane@imap.cc>
Subject: mm-w3m-cid-retrieve-1 -> mm-handle-media-supertype called with nil arg
Date: Fri, 03 Mar 2006 16:23:04 +0100	[thread overview]
Message-ID: <v9hd6fimcn.fsf@marauder.physik.uni-ulm.de> (raw)
In-Reply-To: <v94q2jmhab.fsf@marauder.physik.uni-ulm.de>

Hi,

`w3m-safe-toggle-inline-image' inside a digest mime part fails because
mm-handle-media-supertype called with a nil argument.

To reproduce:

- Fetch <news:v94q2jmhab.fsf@marauder.physik.uni-ulm.de> from
  gmane.test e.g. with `^' on this posting.

  (or use: <nntp://news.gmane.org/gmane.test/2815>)

- Press `C-d' (`gnus-summary-enter-digest-group'), you'll get:

  <* alternative> html image inline cid
  <1 text>
  <2.* related>
  <2.1 html>
  <2.2 png> back.png

- Select part 2.1 with 
  (setq mm-text-html-renderer 'w3m)

- With point on "altern.", press `t'
  (w3m-safe-toggle-inline-image).
  I get:  

,----
| Debugger entered--Lisp error: (wrong-type-argument stringp nil)
|   string-match("/" nil 0)
|   split-string(nil "/")
|   mm-w3m-cid-retrieve-1("<part1.01020309.03090509@imap.cc>"
|   (#<buffer *mm*<7>> ("text/html" (charset . "iso-8859-1")) nil
|   (lambda nil (let ... ... ...)) nil nil nil nil))
|   byte-code("[...] [url w3m-current-buffer gnus-article-mime-handles
|   mm-w3m-cid-retrieve-1 "<" 0 nil ">"] 5)
|   mm-w3m-cid-retrieve("cid:part1.01020309.03090509@imap.cc" raw nil)
|   w3m-cid-retrieve("cid:part1.01020309.03090509@imap.cc" raw nil)
|   w3m-retrieve("cid:part1.01020309.03090509@imap.cc" raw nil nil nil
|   ((lambda (&rest --cl-rest--) (apply
|   ... ... ... ... ... ... ... ... ... --cl-rest--)) (lambda (&rest
|   --cl-rest--) (apply
|   ... ... ... ... ... ... ... ... ... --cl-rest--)) (lambda (&rest
|   --cl-rest--) (apply ... ... ... ... ... --cl-rest--))))
|   w3m-create-image("cid:part1.01020309.03090509@imap.cc" nil nil nil
|   ((lambda (&rest --cl-rest--) (apply
|   ... ... ... ... ... --cl-rest--))))
|   w3m-toggle-inline-image(nil nil)
|   w3m-safe-toggle-inline-image(nil)
|   call-interactively(w3m-safe-toggle-inline-image)
`----

- To get better debug output eval:
  (load "mm-view.el")
  (require 'cl)

  Repeat `w3m-safe-toggle-inline-image':

,----
| Debugger entered--Lisp error: (wrong-type-argument stringp nil)
|   string-match("/" nil 0)
|   split-string(nil "/")
|   mm-handle-media-supertype(nil)
|   (equal "multipart" (mm-handle-media-supertype elem))
`----

The problem is that `mm-handle-media-supertype' is called with a nil
`elem' argument:

(defun mm-w3m-cid-retrieve-1 (url handle)
  (dolist (elem handle)
    (when (listp elem)
      (if (equal url (mm-handle-id elem))
	  (progn
	    (mm-insert-part elem)
	    (throw 'found-handle (mm-handle-media-type elem))))
      (if (equal "multipart" (mm-handle-media-supertype elem))
	  (mm-w3m-cid-retrieve-1 url elem)))))

(defsubst mm-handle-media-supertype (handle)
  (car (split-string (mm-handle-media-type handle) "/")))

Using `w3m-safe-toggle-inline-image' without
`gnus-summary-enter-digest-group' didn't trigger the bug.

Bye, Reiner.
-- 
       ,,,
      (o o)
---ooO-(_)-Ooo---  |  PGP key available  |  http://rsteib.home.pages.de/




       reply	other threads:[~2006-03-03 15:23 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <v94q2jmhab.fsf@marauder.physik.uni-ulm.de>
2006-03-03 15:23 ` Reiner Steib [this message]
2006-03-06  6:53   ` Katsumi Yamaoka
2006-03-06 13:56     ` Reiner Steib

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=v9hd6fimcn.fsf@marauder.physik.uni-ulm.de \
    --to=reinersteib+gmane@imap.cc \
    --cc=Reiner.Steib@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).