emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Wierd encoding error with `setenv'


From: Miles Bader
Subject: Wierd encoding error with `setenv'
Date: 25 Feb 2003 14:40:57 +0900

I try to do this using today's CVS:

  M-x setenv RET lk25 RET /proj/soft2/uclinux/uclinux/linux-2.5.63-uc0 RET

and got this error:

  setenv: Can't encode `lk25=/proj/soft2/uclinux/uclinux/linux-2.5.63-uc0' with 
`locale-coding-system'

What's wierd is that I _don't_ get an error if I invoke the same command
via C-x ESC ESC (repeat-complex-command).

Looking at the code for `setenv,' I'm not sure what's going on; in this
snippet (which is the only place the above error occurs):

  (if (and (multibyte-string-p variable) locale-coding-system)
      (unless (memq (coding-system-base locale-coding-system)
                    (find-coding-systems-string (concat variable value)))
        (error "Can't encode `%s=%s' with `locale-coding-system'"
               variable (or value "")))
     ...

the call to multibyte-string-p seems to be odd -- if I just evaluate
(multibyte-string-p "lk25") it returns nil, but if I get an error
backtrace so that `variable' is bound to "lk25", and evaluate
(multibyte-string-p variable), then it returns t!

Since (find-coding-systems-string (concat variable value)) always seems
to return just '(undecided), something seems dreadfully wrong.

[I'm confused about what `multibyte-string-p' actually _means_, by the
way -- shouldn't it only ever return t if the string contains non-ascii
characters?]

-Miles
-- 
97% of everything is grunge




reply via email to

[Prev in Thread] Current Thread [Next in Thread]