babel.el string-make-unibyte

Stephen J. Turnbull stephen at xemacs.org
Thu Oct 23 05:48:59 EDT 2008


Uwe Brauer writes:

 > Debugger entered--Lisp error: (wrong-type-argument stringp (nil . " *URL-1*"))

Well, no, a cons is not a buffer nor a buffer name.  No surprise that
this causes an error.

 >   set-buffer((nil . " *URL-1*"))

The next two forms are a macro expansion and the macro call itself;
they look fine to me.

 >   (save-current-buffer
 >     (set-buffer tmp)
 >     (mm-decode-coding-region (point-min) (point-max) charset)
 >     (set-buffer-file-coding-system charset)
 >     (mm-enable-multibyte)
 >     (copy-to-buffer current (point-min) (point-max)))

This next is presumably code from babel.el, which I don't have.  I
guess that the form that produces `tmp' does something different in
GNU Emacs, but what I have no idea.  Can you figure out what this code
is trying to do?

 >   (let ((tmp ...) (current ...))
 >     (with-current-buffer tmp
 >       (mm-decode-coding-region ... ... charset)
 >       (set-buffer-file-coding-system charset)
 >       (mm-enable-multibyte)
 >       (copy-to-buffer current ... ...))
 >     (kill-buffer tmp))

Alternatively, replace it with:

 (let ((current ...))
   (with-temp-buffer
     (mm-decode-coding-region (point-min) (point-max) charset)
     (set-buffer-file-coding-system charset)
     (mm-enable-multibyte)
     (copy-to-buffer current (point-min) (point-max)))

where the ellipsis should be replaced with whatever is there in the
original code, of course.




More information about the XEmacs-Beta mailing list