>>>> "Kyle" == Kyle Jones
<kyle_jones(a)wonderworks.com> writes:
> Signaling: (wrong-type-argument char-or-string-p 8217)
> w3-parse-buffer(#<buffer " *w3-region*">)
Kyle> Yippee! It's W3 so I'm off the hook.
:)
Kyle> You should try loading W3's .el files instead of the compiled
Kyle> files so you can get a readable backtrace.
Ah, good idea. Well, here's a slightly better one:
======================================================================
Signaling: (wrong-type-argument char-or-string-p 8211)
insert(8211)
(let ((repl ...)) (insert (or repl ...)))
)
(cond ((and ... ...) (replace-match "") (cond ... ... ... ... ...))
((looking-at "&#[0-9][0-9]*\\([ ;\n]?\\)") (cond ...) (forward-char 2)
(setq w3-p-s-num ...) (replace-match "") (let ... ...)) ((looking-at
"&#\\(re\\|rs\\|space\\|tab\\)[ ;\n]?") (replace-match ...)) ((eq ?\&
...) (forward-char 1)) (t (error "this should never happen")))
)
w3-expand-entity-at-point-maybe()
(cond ((eq ?\< ...) (forward-char) (cond ... ... ... ... ... ... ... ...)) ((eq
?\& ...) (w3-expand-entity-at-point-maybe)) ((and ... w3-p-d-in-parsed-marked-section
...) (error "***unimplemented***")) ((and ... w3-p-d-null-end-tag-enabled) (setq
w3-p-d-end-tag-p t) (setq between-tags-end ...) (setq tag-end ...) (setq w3-p-d-tag-name
...)) ((setq ref ...) (replace-match "") (let ... ... ...)) ((looking-at ...)
(w3-debug-html ...) (insert ...) (delete-char 1)) ((eobp) (setq between-tags-end ...)
(cond ...)) (t (error "unreachable code, this can't happen")))
)
(while (prog1 (not ...) (setq last-loop-start ...)) (cond (... ...)) (skip-chars-forward
w3-p-d-non-markup-chars) (cond (... ... ...) (... ...) (... ...) (... ... ... ... ...)
(... ... ...) (... ... ... ...) (... ... ...) (t ...)) (cond (between-tags-end ... ...))
(cond (w3-p-d-tag-name ... ... ... ... ... ... ... ...)))
)
(let (w3-p-s-btdt w3-p-s-baseobject w3-p-s-except w3-p-s-content-model w3-p-s-tran-list
w3-p-s-transition w3-p-s-state-transitions w3-p-s-includep w3-p-s-end-tag w3-p-s-content
w3-p-s-var w3-p-s-undo-list w3-p-s-overrides w3-p-s-num w3-p-s-pos w3-p-s-entity)
(w3-update-non-markup-chars) (setq w3-p-s-baseobject (url-generic-parse-url ...)) (while
(prog1 ... ...) (cond ...) (skip-chars-forward w3-p-d-non-markup-chars) (cond ... ... ...
... ... ... ... ...) (cond ...) (cond ...)) (if status-message-format (message
"%sdone" ...)) (if (fboundp ...) (clear-progress)) (setq w3-last-parse-tree
(w3-element-content w3-p-d-current-element)) (set-syntax-table old-syntax-table)
(w3-element-content w3-p-d-current-element))
)
(w3-p-s-let-bindings (w3-update-non-markup-chars) (setq w3-p-s-baseobject
(url-generic-parse-url ...)) (while (prog1 ... ...) (cond ...) (skip-chars-forward
w3-p-d-non-markup-chars) (cond ... ... ... ... ... ... ... ...) (cond ...) (cond ...)) (if
status-message-format (message "%sdone" ...)) (if (fboundp ...)
(clear-progress)) (setq w3-last-parse-tree (w3-element-content w3-p-d-current-element))
(set-syntax-table old-syntax-table) (w3-element-content w3-p-d-current-element))
)
(let* ((gc-cons-threshold ...) (last-loop-start ...) (loop-count 0)
(status-message-format ...) (one-hundred ...) (parse-buffer ...) (between-tags-start ...)
between-tags-end w3-p-d-tag-name w3-p-d-end-tag-p net-tag-p tag-attributes
attribute-value-end tag-end (w3-p-d-current-element ...) (w3-p-d-open-element-stack ...)
(marked-section-undo-stack nil) (w3-p-d-debug-url t) (w3-p-d-non-markup-chars nil)
(w3-p-d-null-end-tag-enabled nil) (w3-p-d-in-parsed-marked-section nil) (w3-p-d-shortrefs
nil) (w3-p-d-shortref-chars nil) (w3-p-d-exceptions nil) ref attr-name attr-value
content-model content open-list) (w3-p-s-let-bindings (w3-update-non-markup-chars) (setq
w3-p-s-baseobject ...) (while ... ... ... ... ... ...) (if status-message-format ...) (if
... ...) (setq w3-last-parse-tree ...) (set-syntax-table old-syntax-table)
(w3-element-content w3-p-d-current-element)))
)
(let ((old-syntax-table ...)) (set-syntax-table w3-sgml-md-syntax-table)
(buffer-disable-undo (current-buffer)) (widen) (goto-char (point-max)) (insert
"\n") (goto-char (point-min)) (setq case-fold-search t) (run-hooks (quote
w3-parse-hooks)) (goto-char (point-min)) (let* (... ... ... ... ... ... ...
between-tags-end w3-p-d-tag-name w3-p-d-end-tag-p net-tag-p tag-attributes
attribute-value-end tag-end ... ... ... ... ... ... ... ... ... ... ref attr-name
attr-value content-model content open-list) (w3-p-s-let-bindings ... ... ... ... ... ...
... ...)))
)
w3-parse-buffer(#<buffer " *w3-region*">)
byte-code("..." [glyph parse url-current-object url widget
w3-image-widgets-waiting get-buffer-create " *w3-region*" erase-buffer
w3-parse-buffer w3-draw-tree nil widget-get :src assoc (widget-value-set widget glyph)
((error)) 6 push-mark t w3-find-specific-link device-type tty w3-fixup-eol-faces message
"Drawing... done" source st nd w3-graphics-list w3-running-xemacs] 3)
w3-region(2475 25830)
byte-code("..." [buffer-read-only buffer-size charset layout start end nil
vm-mime-get-parameter "charset" "us-ascii" message "Inlining
text/html, be patient..." vm-mime-insert-mime-body point-marker
vm-mime-transfer-decode-region vm-mime-charset-decode-region insert-before-markers
"z" w3-region delete-char -1 t remove-text-properties (read-only nil)
"Inlining text/html... done" inhibit-read-only] 5)
vm-mime-display-internal-text/html([("text/html"
"charset=iso-8859-1") ("text/html"
"charset=\"iso-8859-1\"") "quoted-printable" nil nil nil nil
#<marker at 4639887 in xemacs 0xca6bac> #<marker at 4639978 in xemacs
0xca6bc4> #<marker at 4639979 in xemacs 0xca6c84> #<marker at 4664584 in
xemacs 0xca6c6c> nil nil <<m>> "Inline HTML display failed:
(wrong-type-argument char-or-string-p 8211)"])
byte-code("..." [layout type intern "vm-mime-display-internal-"] 3)
vm-decode-mime-layout([("text/html" "charset=iso-8859-1")
("text/html" "charset=\"iso-8859-1\"")
"quoted-printable" nil nil nil nil #<marker at 4639887 in xemacs 0xca6bac>
#<marker at 4639978 in xemacs 0xca6bc4> #<marker at 4639979 in xemacs
0xca6c84> #<marker at 4664584 in xemacs 0xca6c6c> nil nil <<m>>
"Inline HTML display failed: (wrong-type-argument char-or-string-p 8211)"])
vm-mime-display-internal-multipart/alternative([("multipart/alternative"
"boundary=----=_NextPart_000_0017_01C11AA3.71D0DF30")
("multipart/alternative"
"boundary=\"----=_NextPart_000_0017_01C11AA3.71D0DF30\"")
"7bit" nil nil nil nil #<marker at 4631826 in xemacs 0xca696c> #<marker
at 4633843 in xemacs 0xca6984> #<marker at 4633844 in xemacs 0xca6a74>
#<marker at 4664631 in xemacs 0xca6a5c> ([... ... "8bit" nil nil nil nil
#<marker at 4633934 in xemacs 0xca6abc> #<marker at 4634014 in xemacs
0xca6ad4> #<marker at 4634015 in xemacs 0xca6b94> #<marker at 4639842 in
xemacs 0xca6b7c> nil nil <<m>> nil] [... ... "quoted-printable"
nil nil nil nil #<marker at 4639887 in xemacs 0xca6bac> #<marker at 4639978 in
xemacs 0xca6bc4> #<marker at 4639979 in xemacs 0xca6c84> #<marker at 4664584
in xemacs 0xca6c6c> nil nil <<m>> "Inline HTML display failed:
(wrong-type-argument char-or-string-p 8211)"]) nil <<m>> nil])
byte-code("..." [layout type intern "vm-mime-display-internal-"] 3)
vm-decode-mime-layout([("multipart/alternative"
"boundary=----=_NextPart_000_0017_01C11AA3.71D0DF30")
("multipart/alternative"
"boundary=\"----=_NextPart_000_0017_01C11AA3.71D0DF30\"")
"7bit" nil nil nil nil #<marker at 4631826 in xemacs 0xca696c> #<marker
at 4633843 in xemacs 0xca6984> #<marker at 4633844 in xemacs 0xca6a74>
#<marker at 4664631 in xemacs 0xca6a5c> ([... ... "8bit" nil nil nil nil
#<marker at 4633934 in xemacs 0xca6abc> #<marker at 4634014 in xemacs
0xca6ad4> #<marker at 4634015 in xemacs 0xca6b94> #<marker at 4639842 in
xemacs 0xca6b7c> nil nil <<m>> nil] [... ... "quoted-printable"
nil nil nil nil #<marker at 4639887 in xemacs 0xca6bac> #<marker at 4639978 in
xemacs 0xca6bc4> #<marker at 4639979 in xemacs 0xca6c84> #<marker at 4664584
in xemacs 0xca6c6c> nil nil <<m>> "Inline HTML display failed:
(wrong-type-argument char-or-string-p 8211)"]) nil <<m>> nil])
vm-decode-mime-message()
vm-show-current-message()
vm-preview-current-message()
vm-next-message(-1 1 1)
vm-previous-message(1 1 1)
call-interactively(vm-previous-message)
======================================================================
So looking in w3-parse.el, it looks like the problem is on line 81:
;; char-to-string will hopefully do something useful with characters
;; larger than 255. I think in MULE it does. Is this true?
;; Bill wants to call w3-resolve-numeric-entity here, but I think
;; that functionality belongs in char-to-string.
;; The largest valid character in the I18N version of HTML is 65533.
;;
ftp://ds.internic.net/internet-drafts/draft-ietf-html-i18n-01.txt
;; wrongo! Apparently, mule doesn't do sane things with char-to-string
;; -wmp 7/9/96
(let ((repl (cdr-safe (assq w3-p-s-num w3-invalid-sgml-char-replacement))))
(insert (or repl (mule-make-iso-character w3-p-s-num)))))
Looks like w3-p-s-num is being set to 8211 (the value in the HTML) and insert
doesn't like it in my non-MULE XEmacs. And the comments there don't give me
any warm fuzzys about whether or not it's supposed to even if I was compiling
MULE in. Is there anything that could be done in a non-MULE environment to
convert that to a reasonable ASCII character?
Thanks,
Chuck
--
Charles K. Hines <ckh(a)requesttech.com> <hines(a)gderome.com>
Principal Scientist at ReQuest Technologies Inc (
http://www.ReQuestTech.com/)
Martial Arts Instructor [Modern Arnis and Balintawak Escrima]
"Go back to sleep, Chuck. You're just havin' a nightmare
-- of course, we ARE still in Hell." (Gary Larson)