zsh-workers
 help / color / mirror / code / Atom feed
From: "Kazuo Teramoto" <kaz.rag@gmail.com>
To: zsh-workers@sunsite.dk
Subject: Problem with unicode string length zsh segfaults
Date: Thu, 30 Oct 2008 12:03:22 -0200	[thread overview]
Message-ID: <5992e17f0810300703l1856332cx6ef4e749a5194e1b@mail.gmail.com> (raw)

Hello!
(My first email to list, I subscribed to workers, but I send this type
of msg to workers or users?)

I'm having a problem with string size and unicode chars. I'm using
string size in my prompt theme, I'm using the following code to
calculate the string size of pwd:

${#${(%):-%~}}

But sometimes this got the number wrong e.g. I have a dir named
'~/Music/梶浦由記' (Yuki Kajiura composer of Noir anime soundtrack) the
code above give 13 chars but it have 12 chars (count or using "print
-Pn '%~'|wc -m" and wc -c give 20 bytes).

And if I cd on this dir my prompt get wrong by 3 chars (e.g. on a
prompt like adams2 the first line is bigger by 3 chars)

The problem is greater for a dir named 'Пётр Ильич Чайковский' (Pyotr
Il'yich Tchaikovsky, Russian composer) if I cd on it and execute the
code above I get

zsh: unmatched '
zsh: parse error in command substitution

and if I try this several times (repeat this command) my zsh segfaults:

1: subst.c:222: BUG: parse error in command substitution

Program received signal SIGSEGV, Segmentation fault.
0x000000000047e4b4 in ?? ()
(gdb) bt
#0  0x000000000047e4b4 in ?? ()
#1  0x0000000000482cee in prefork ()
#2  0x00000000004843ea in ?? ()
#3  0x000000000047e694 in ?? ()
#4  0x0000000000482cee in prefork ()
#5  0x000000000042a488 in ?? ()
#6  0x000000000042c948 in ?? ()
#7  0x000000000042cce0 in ?? ()
#8  0x000000000042e02d in execlist ()
#9  0x000000000042e275 in execode ()
#10 0x000000000042e36c in runshfunc ()
#11 0x000000000042e72b in doshfunc ()
#12 0x000000000042e9b0 in ?? ()
#13 0x000000000042c604 in ?? ()
#14 0x000000000042c948 in ?? ()
#15 0x000000000042cce0 in ?? ()
#16 0x000000000042e02d in execlist ()
#17 0x000000000042e275 in execode ()
#18 0x000000000042e36c in runshfunc ()
#19 0x000000000042e72b in doshfunc ()
#20 0x0000000000487db6 in callhookfunc ()
#21 0x000000000048f593 in preprompt ()
#22 0x000000000043ee6c in loop ()
#23 0x0000000000441fe7 in zsh_main ()
#24 0x00007f9c3153c3f6 in __libc_start_main () from /lib/libc.so.6
#25 0x000000000040f939 in _start ()
-- 
«Dans la vie, rien n'est à craindre, tout est à comprendre»
Marie Sklodowska Curie.

             reply	other threads:[~2008-10-30 14:10 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-30 14:03 Kazuo Teramoto [this message]
2008-10-30 14:25 ` Mikael Magnusson
2008-10-30 15:25 ` Peter Stephenson

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=5992e17f0810300703l1856332cx6ef4e749a5194e1b@mail.gmail.com \
    --to=kaz.rag@gmail.com \
    --cc=zsh-workers@sunsite.dk \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

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).