From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 10.204.79.193 with SMTP id q1cs116526bkk; Tue, 11 May 2010 14:57:35 -0700 (PDT) Received: by 10.224.87.139 with SMTP id w11mr790095qal.399.1273615054836; Tue, 11 May 2010 14:57:34 -0700 (PDT) Return-Path: Received: from rubyforge.org (rubyforge.org [205.234.109.19]) by mx.google.com with ESMTP id 4si1432343qyk.89.2010.05.11.14.57.34; Tue, 11 May 2010 14:57:34 -0700 (PDT) Received-SPF: pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) client-ip=205.234.109.19; Authentication-Results: mx.google.com; spf=pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) smtp.mail=sup-devel-bounces@rubyforge.org; dkim=neutral (body hash did not verify) header.i=@gmail.com Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 1F2D81D799C2; Tue, 11 May 2010 17:57:34 -0400 (EDT) Received: from mail-fx0-f50.google.com (mail-fx0-f50.google.com [209.85.161.50]) by rubyforge.org (Postfix) with ESMTP id 90354185834E for ; Tue, 11 May 2010 17:51:22 -0400 (EDT) Received: by fxm16 with SMTP id 16so63243fxm.23 for ; Tue, 11 May 2010 14:51:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=wKqDlp7ycNaAjzSDNOaThyk84DwExpO3ThsqOUZGzYo=; b=YgLz9AnhZMgGynQE5AlpHddixj4qH7GGW0Bv0XeD3uSylmXOO9sfEsdtgM5h22jJ/I GY2IItphwav01pJLvrX3eLm/wPVMButg5X83h312hAUwHH/MTbz9IkqeKbCi1THSfq/Y WSEr91MBi8cpgZC+HWvhh38B8NNuMcY7AmEFc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=lHJv4dWEfMe/FjK24bjuMbx8SXzNvAiNZvaypueqxNMXiO4sbNlcmRGrr8D6CcuGfy Q9IbTCk4648eFiht3Izh7bGP3JxPApaOy+dAyk4CFITgeviIWmERpXu9N66twIZWCghr CmS1mqX17SBI5Oprd8nKPDpkUc+nO6CzjHKQs= MIME-Version: 1.0 Received: by 10.239.192.74 with SMTP id d10mr632423hbi.74.1273614680784; Tue, 11 May 2010 14:51:20 -0700 (PDT) Received: by 10.239.151.18 with HTTP; Tue, 11 May 2010 14:51:20 -0700 (PDT) In-Reply-To: <1273605454-sup-2267@masanjin.net> References: <1273250528-sup-9662@zyrg.net> <1273605454-sup-2267@masanjin.net> Date: Wed, 12 May 2010 00:51:20 +0300 Message-ID: From: Matti Eiden To: Sup developer discussion Content-Type: multipart/mixed; boundary=001485f7950aa1004104865886b2 Subject: Re: [sup-devel] Arch utf8 vs UTF-8 fix and wide character support X-BeenThere: sup-devel@rubyforge.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Sup developer discussion List-Id: Sup developer discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: sup-devel-bounces@rubyforge.org Errors-To: sup-devel-bounces@rubyforge.org --001485f7950aa1004104865886b2 Content-Type: text/plain; charset=UTF-8 Oh right, splitting. Yes right, makes sense. I tried your console/string, seems good, except the display_split ignores the padding request? Or did I understand this feature wrongly? I mean, it slices the string exactly where the end offset is, not by the nearest " ", space? Well anyway, I showed it inside sup, seems to be working nicely. Here's what I did to get it to work, if anybody's interested. I'm in a rush to work, so there may be mistakes. I tried to check that everything works. Summary: - buffer.rb is patched to slice all strings according to @width, this fixes issues in inbox-mode when email subjects have wide characters. Old "hacks" were removed. - utils.rb is patched to wrap using display_slice and then looking for nearest space. if no space is found, it uses simply the original output of display_slice. display_length function defaults to the display_width With quick testing for resizing the window with different kind of test emails, I see no lost characters or text corruption. Nice, thanks. --001485f7950aa1004104865886b2 Content-Type: text/x-patch; charset=US-ASCII; name="console-sup-buffer.patch" Content-Disposition: attachment; filename="console-sup-buffer.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g9397nom0 LS0tIGJ1ZmZlci1vbGQucmIJMjAxMC0wNS0xMiAwMDo0Mjo1MC41MDEyNzgyMzggKzAzMDAKKysr IGJ1ZmZlci5yYgkyMDEwLTA1LTEyIDAwOjQyOjM3LjcxMTI4MDQzOSArMDMwMApAQCAtMSw1ICsx LDYgQEAKIHJlcXVpcmUgJ2V0YycKIHJlcXVpcmUgJ3RocmVhZCcKK3JlcXVpcmUgJ2NvbnNvbGUv c3RyaW5nJwogCiBiZWdpbgogICByZXF1aXJlICduY3Vyc2VzdycKQEAgLTEyOSwxMCArMTMwLDgg QEAKICAgICBAdy5hdHRyc2V0IENvbG9ybWFwLmNvbG9yX2ZvcihvcHRzWzpjb2xvcl0gfHwgOm5v bmUsIG9wdHNbOmhpZ2hsaWdodF0pCiAgICAgcyB8fD0gIiIKICAgICBtYXhsID0gQHdpZHRoIC0g eCAjIG1heGltdW0gZGlzcGxheSB3aWR0aCB3aWR0aAotICAgIHN0cmluZ2wgPSBtYXhsICAgICMg c3RyaW5nICJsZW5ndGgiCi0gICAgIyMgdGhlIG5leHQgaG9ycmlibGVuZXNzIGlzIHRoYW5rcyB0 byBydWJ5J3MgbGFjayBvZiB3aWRlY2hhciBzdXBwb3J0Ci0gICAgc3RyaW5nbCArPSAxIHdoaWxl IHN0cmluZ2wgPCBzLmxlbmd0aCAmJiBzWzAgLi4uIHN0cmluZ2xdLmRpc3BsYXlfbGVuZ3RoIDwg bWF4bAotICAgIEB3Lm12YWRkc3RyIHksIHgsIHNbMCAuLi4gc3RyaW5nbF0KKyAgICBzID0gcy5k aXNwbGF5X3NsaWNlKDAsbWF4bCwiIikKKyAgICBAdy5tdmFkZHN0ciB5LCB4LCBzCiAgICAgdW5s ZXNzIG9wdHNbOm5vX2ZpbGxdCiAgICAgICBsID0gcy5kaXNwbGF5X2xlbmd0aAogICAgICAgdW5s ZXNzIGwgPj0gbWF4bAo= --001485f7950aa1004104865886b2 Content-Type: text/x-patch; charset=US-ASCII; name="console-sup-util.patch" Content-Disposition: attachment; filename="console-sup-util.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g9398mn51 LS0tIHV0aWwtb2xkLnJiCTIwMTAtMDUtMTEgMjE6Mzg6NTUuNzM2NTk2NTg0ICswMzAwCisrKyB1 dGlsLnJiCTIwMTAtMDUtMTIgMDA6MzM6MTYuMTI4MDAxMDUzICswMzAwCkBAIC0zLDYgKzMsNyBA QAogcmVxdWlyZSAnbWltZS90eXBlcycKIHJlcXVpcmUgJ3BhdGhuYW1lJwogcmVxdWlyZSAnc2V0 JworcmVxdWlyZSAnY29uc29sZS9zdHJpbmcnCiAjIyB0aW1lIGZvciBzb21lIG1vbmtleXBhdGNo aW5nIQogY2xhc3MgTG9ja2ZpbGUKICAgZGVmIGdlbl9sb2NrX2lkCkBAIC0xNzcsMTYgKzE3OCwx MiBAQAogZW5kCiAKIGNsYXNzIFN0cmluZwotICAjIyBuYXN0eSBtdWx0aWJ5dGUgaGFjayBmb3Ig cnVieSAxLjguIGlmIGl0J3MgdXRmLTgsIHNwbGl0IGludG8gY2hhcnMgdXNpbmcKLSAgIyMgdGhl IHV0ZjggcmVnZXggYW5kIGNvdW50IHRob3NlLiBvdGhlcndpc2UsIHVzZSB0aGUgYnl0ZSBsZW5n dGguCisKICAgZGVmIGRpc3BsYXlfbGVuZ3RoCi0gICAgaWYgUlVCWV9WRVJTSU9OIDwgJzEuOS4x JyAmJiAoJGVuY29kaW5nID09ICJVVEYtOCIgfHwgJGVuY29kaW5nID09ICJ1dGY4IikKLSAgICAg IHNjYW4oLy4vdSkuc2l6ZQotICAgIGVsc2UKLSAgICAgIHNpemUKLSAgICBlbmQKKyAgICBkaXNw bGF5X3dpZHRoCiAgIGVuZAogCisKICAgZGVmIGNhbWVsX3RvX2h5cGh5CiAgICAgc2VsZi5nc3Vi KC8oW2Etel0pKFtBLVowLTldKS8sICdcMS1cMicpLmRvd25jYXNlCiAgIGVuZApAQCAtMjcwLDE0 ICsyNjcsMTcgQEAKICAgZGVmIHdyYXAgbGVuCiAgICAgcmV0ID0gW10KICAgICBzID0gc2VsZgot ICAgIHdoaWxlIHMubGVuZ3RoID4gbGVuCi0gICAgICBjdXQgPSBzWzAgLi4uIGxlbl0ucmluZGV4 KC9ccy8pCi0gICAgICBpZiBjdXQKLSAgICAgICAgcmV0IDw8IHNbMCAuLi4gY3V0XQotICAgICAg ICBzID0gc1soY3V0ICsgMSkgLi4gLTFdCisgICAgd2hpbGUgcy5kaXNwbGF5X3dpZHRoID4gbGVu CisgICAgICBjdXQgPSBzLmRpc3BsYXlfc2xpY2UoMCxsZW4sIiAiKQorICAgICAgIyBmaW5kIHRo ZSBsYXN0IHNwYWNlLCBzaW5jZSBkaXNwbGF5IHNsaWNlcyBpdCBwcmVjaXNlbHkKKyAgICAgIHNw YWNlID0gY3V0LnJpbmRleCgvXHMvKQorICAgICAgc3BhY2UgPSBjdXQuc2l6ZSB1bmxlc3Mgc3Bh Y2UgI05vIHNwYWNlcz8KKyAgICAgIGN1dCA9IHNbMCAuLi4gc3BhY2VdCisgICAgICByZXQgPDwg Y3V0CisgICAgICBpZiBzcGFjZSAhPSBjdXQuc2l6ZSAjKzEgdG8ga2lsbCB0aGUgc3BhY2UgaW4g dGhlIGJlZ2lubmluZyBvZiBuZXh0IGxpbmUKKyAgICAgICAgcyA9IHNbKGN1dC5zaXplICsgMSkg Li4gLTFdCiAgICAgICBlbHNlCi0gICAgICAgIHJldCA8PCBzWzAgLi4uIGxlbl0KLSAgICAgICAg cyA9IHNbbGVuIC4uIC0xXQorICAgICAgICBzID0gc1tjdXQuc2l6ZSAuLiAtMV0KICAgICAgIGVu ZAogICAgIGVuZAogICAgIHJldCA8PCBzCg== --001485f7950aa1004104865886b2 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel --001485f7950aa1004104865886b2--