Re: [質問] wl error (args-out-of-range "" 0 4)
Kazuhiro Ito <[email protected]> Fri, 05 Apr 2019 00:29:43 +0900
| Newsgroups | gmane.mail.wanderlust.general.japanese |
|---|---|
| Message-ID | <[email protected]> |
> > X-Mail-Count: 14719
>
>
> https://github.com/yamatakau08/.emacs.d/blob/a4a37f297f945367bbeb2d82fbbbde497391fa7d/.wl.el#L153
>
> backtraceAttach
~/.wl
mime-tnef-parse ()
mime-tnef-parse
winmail.dat winmail.dat
(eval-after-load "mime-tnef"
'(defun mime-tnef-parse (string)
(catch :done
(unless (and (> (length string) 6)
(equal (string-make-unibyte (substring string 0 4))
(string-make-unibyte "\x78\x9f\x3e\x22")))
(message "Input data does not seem to be MS-TNEF format")
(throw :done nil))
(mime-tnef-debug "TNEF Key: %04x\n" (mime-tnef-2bytes string 4))
(let ((length (length string))
(read 6)
result object
lvl-type name type
sum
start end data-length)
(while (< read length)
(setq lvl-type (mime-tnef-byte string read)
name (mime-tnef-2bytes string (1+ read))
type (mime-tnef-2bytes string (+ read 3))
data-length (mime-tnef-4bytes string (+ read 5))
start (+ read 9)
end (+ start data-length)
object `(
(lvl-type . ,(or (cdr (assq lvl-type
mime-tnef-lvl-types-table))
lvl-type))
(name . ,(or (cdr (assq name mime-tnef-names-table))
name))
(type . ,(or (cdr (assq type mime-tnef-types-table))
type))
(start . ,start)
(end . ,end)
;; (length . ,(mime-tnef-4bytes string (+ read 5)))
)
read (+ read data-length 9 2)
sum 0)
(dotimes (i data-length)
(setq sum (+ sum (mime-tnef-byte string (- read 3 i)))))
(unless (eq (mime-tnef-2bytes string (- read 2)) (% sum 65536))
(message "Checksum mismatch, TNEF may be corrupted"))
(setq result (cons object result)))
(cons (nreverse result) string))))
)
--
(Kazuhiro Ito)