From owner-freebsd-users-jp@freebsd.org Tue Nov 6 13:23:28 2018 Return-Path: Delivered-To: freebsd-users-jp@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E58021123AC3 for ; Tue, 6 Nov 2018 13:23:27 +0000 (UTC) (envelope-from CQG00620@nifty.ne.jp) Received: from condef-04.nifty.com (condef-04.nifty.com [202.248.20.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8D1F17663B for ; Tue, 6 Nov 2018 13:23:26 +0000 (UTC) (envelope-from CQG00620@nifty.ne.jp) Received: from conssluserg-02.nifty.com ([10.126.8.81])by condef-04.nifty.com with ESMTP id wA6DFVFb018402 for ; Tue, 6 Nov 2018 22:15:31 +0900 Received: from nifty.com (g036187.dynamic.ppp.asahi-net.or.jp [211.132.36.187]) (authenticated) by conssluserg-02.nifty.com with ESMTP id wA6DErDn002299 for ; Tue, 6 Nov 2018 22:14:58 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-02.nifty.com wA6DErDn002299 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.ne.jp; s=dec2015msa; t=1541510098; bh=vqLCRpILo4cIk/nzSJw+ZmXctFYc2CMGm10krHabg3c=; h=Date:From:To:Subject:In-Reply-To:References:From; b=DHCGYSghWU7ROncf50W1/czAbwBFDonTZ4acb8ACo3bGHzeNLAm5Dskcx4CpYEZlG zsmsLu5wRXAwkNghnqbO8V6YHm50xOyDzPRjXU56otxadxDZ1cpuXz6K8S4Bj+Sjuu /npBtuFh+/IzNuVqQL7ssf/mSRIPKc5Ud7GvfUZNFDHU8xf8ONgY6JpUgGlQ+VkeBc 2TOXyjKgzrVo9j8vm7dUN9Ai+u0ikRuzeJDtqQrfqyFkRA4IamfGKWmcd3ttWAxWn2 M4AhX28FrwQXqWnf0RaQSC0YKrwJ3nWI1eEgMK9Xih/FS5Z2gMdFHg1YpVH41dn8l8 5aALlqabqgKgw== X-Nifty-SrcIP: [211.132.36.187] Message-Id: <201811061314.wA6DErDn002299@conssluserg-02.nifty.com> Date: Tue, 06 Nov 2018 22:14:48 +0900 From: WATANABE Kazuhiro To: FreeBSD-users-jp In-Reply-To: <20181024115101.f6049ef61a82a1fdbab1a404@mogami.com> References: <20181014194410.b466d0bbf0e976ffbcab2969@mogami.com> <20181024115101.f6049ef61a82a1fdbab1a404@mogami.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?ISO-2022-JP-2?B?R29qGyQoRCtXGyhC?=) APEL/10.8 Emacs/26 (amd64-portbld-freebsd10.4) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=ISO-2022-JP X-Rspamd-Queue-Id: 8D1F17663B X-Spamd-Result: default: False [-2.15 / 200.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.71)[-0.714,0]; R_DKIM_ALLOW(-0.20)[nifty.ne.jp]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:202.248.20.0/24]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-users-jp@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[nifty.ne.jp:+]; DMARC_POLICY_ALLOW(-0.50)[nifty.ne.jp,none]; RCVD_IN_DNSWL_NONE(0.00)[69.20.248.202.list.dnswl.org : 127.0.10.0]; MX_GOOD(-0.01)[mx2.nifty.com]; NEURAL_SPAM_LONG(0.21)[0.209,0]; NEURAL_HAM_SHORT(-0.63)[-0.629,0]; RECEIVED_SPAMHAUS_PBL(0.00)[187.36.132.211.zen.spamhaus.org : 127.0.0.11]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:2510, ipnet:202.248.0.0/16, country:JP]; IP_SCORE(-0.01)[country: JP(-0.04)]; RWL_MAILSPIKE_NEUTRAL(0.00)[69.20.248.202.rep.mailspike.net : 127.0.0.13] X-Rspamd-Server: mx1.freebsd.org Subject: [FreeBSD-users-jp 96344] Re: =?iso-2022-jp?b?RnJlZUJTRC0xMS4yIBskQiROGyhCIGphX0pQLmV1Y0pQ?= =?iso-2022-jp?b?IBskQjRENi0bKEI=?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Nov 2018 13:23:28 -0000 渡辺一寛です。 On Wed, 24 Oct 2018 11:51:01 +0900, Kouichi Hirabayashi wrote: > 不具合自体は、ja_JP.eucJP 環境で /bin/sh に非 ASCII 文字を > 入力すると正常終了してしまうというもので、起動した sh に > などをキー入力したり、EUC 漢字コードを入力あるいは > paste することで確認できます。 手元で 11.2-RELEASE/amd64 をセットアップしてみましたが、確かにそうなり ます。ja_JP.SJIS でも同様です。 # UTF-8 については後述。 > /bin/sh が ja_JP.eucJP 環境で使えなくなってしまった理由は、 > > /usr/src/lib/libedit > /usr/src/bin/sh > > の両方が ja_JP.eucJP 環境が使えなくなるように変更されてしまっ > たことにあります。 > > sh については parser.h で定義される字句構文解析用の文字種識別 > token に EUC-JP 漢字コードの 2 byte 目の使用範囲と重複する > 値を使ってしまったため、EUC-JP 文字や Atl-A, Alt-B, .. な > どを含む文字列が解釈不能になります。 > > libedit でも EUC-JP が使えないように書き換えられていますが、 > read.c には「#ifdef KANJI」といったコードが残っていて、そ > の「KANJI」を define すると compile できなくなるといった状 > 態で、書き換えの真の意図は理解できません。EUC-JP が使えない問 > 題に関係するのは chartype.c, el.c, read.c といったところ > です。 > > EUC-JP 環境が必要な状況での対策としては、libedit と sh の > 両方を書き換えて EUC-JP が使える sh を作る方法以外に、sh の > 使用をあきらめて、csh, tcsh bash, rbash で代替する方法が > あります。 FreeBSD ワークショップでも話が出た (出ない?) ようですが、私が手元でやっ てみた具体的な回避策を 2 つ。 (1) sh を作りなおす sh のソースを眺めてみましたが、NO_HISTORY というのを定義すると libedit (editline(3)) の機能を使うコードがオミットされるようです。試しに Index: bin/sh/Makefile =================================================================== --- bin/sh/Makefile (revision 339812) +++ bin/sh/Makefile (working copy) @@ -19,7 +19,7 @@ # utilities of the same name are handled with the associated manpage, # builtin.1 in share/man/man1/. -LIBADD= edit +#LIBADD= edit CFLAGS+=-DSHELL -I. -I${.CURDIR} # for debug: Index: bin/sh/shell.h =================================================================== --- bin/sh/shell.h (revision 339812) +++ bin/sh/shell.h (working copy) @@ -51,6 +51,7 @@ #define JOBS 1 /* #define DEBUG 1 */ +#define NO_HISTORY /* * Type of used arithmetics. SUSv3 requires us to have at least signed long. として sh を作りなおしたところ、ja_JP.eucJP または ja_JP.SJIS な環境で も、コマンドラインに日本語入力できるようになりました。libedit の編集機 能に加えてヒストリも使用出来なくなりますが、少し使ってみた限り、基本動 作に支障はないように見えます。 (2) set +o emacs してコマンドライン編集機能を無効にする sh を起動後に set +o emacs (または set +E) するか、sh を "sh +E" で起 動すると、(1) と同様にコマンドラインに日本語入力できるようになりました。 なお editrc(5) によって libedit の編集機能を無効にすることもできます。 設定すると確かに無効になるのですが、日本語入力に関しては効果がありませ んでした。 > /bin/sh を EUC-JP で使えなくした原因の一つである libedit > のソースの comment > > /* FIONREAD attempts to buffer up multiple bytes, and to make that work > * properly with partial wide/UTF-8 characters would need some careful work. */ > > /* > * We don't support other multibyte charsets. > * The second condition shouldn't happen > * and is here merely for additional safety. > */ > > を見ると、ASCII と UTF-8 限定という意図かもしれませんが、も > しそうなら、/bin/sh でも sh を起動した時点で、ja_JP.eucJP > 環境の場合は「ja_JP.eucJP は使えない」という警告を出して終 > 了すべきですし、/bin/sh はシステムの根底の一つですから、 > ja_JP.eucJP 自体をなくすといった作業と告知も必要なはずで、 > 理解に苦しみます。 現在の libedit は NetBSD 由来なので、試しに NetBSD 8.0 をセットアップ してみたところ、FreeBSD 11.2 と同様の結果になりました。 ja_JP.eucJP または ja_JP.SJIS な環境での、コマンドラインへの日本語入力 の可否は次のようになります。 FreeBSD 11.2 NetBSD 8.0 素の sh 入力不可・突発終了 入力可 set -o emacs 入力不可・突発終了 入力不可・突発終了 set +o emacs 入力可 入力可 FreeBSD 11.2 と NetBSD 8.0 の、素の sh の挙動の違いは、インタラクティ ブシェルとして sh を起動した時に、編集機能がデフォルトで有効かどうかに 因るもののようです。編集機能を明示的にオン/オフすれば、ほぼ同じ挙動に なりました。 # FreeBSD はデフォルトで有効。 # NetBSD はログインシェルが sh の場合に有効。 なお NetBSD 7.2 の挙動は少し違って、編集機能が有効な場合、日本語入力は 無視され、表示もされません。このほうが突発終了するよりはマシかも知れま せん。 *** まっとうな解決策は、EUC/SJIS 環境でも今まで同様にマルチバイト文字の入 力が可能なように修正することだと思いますが、NetBSD のように、sh のコマ ンドライン編集機能をデフォルトで off にするだけでもいいかなと思います。 sh のコマンドライン編集機能、ワンライナーをちょろちょろ書くには十分で、 便利に使ってたんですけどね。 *** ついでに ja_JP.UTF-8 な環境でも、sh のコマンドラインへの日本語入力を試 してみました。 FreeBSD 11.2 の場合、編集機能の有効/無効に関係なく入力できます。ただし カーソルキーで履歴を辿ったり、編集を行なったりすると、表示がずれたり抜 けたりします。これは表示だけの問題のようで、Ctrl-L で再表示すると直り ます。 NetBSD 8.0 の場合も、編集機能の有効/無効に関係なく、問題なく入力できま す。また履歴も編集も問題ありません。libedit のリビジョンが NetBSD 8.0 のほうが新しいので、それによる違いかも知れません。 --- WATANABE Kazuhiro (CQG00620@nifty.ne.jp) From owner-freebsd-users-jp@freebsd.org Tue Nov 6 15:02:00 2018 Return-Path: Delivered-To: freebsd-users-jp@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D5F061126CDD for ; Tue, 6 Nov 2018 15:01:59 +0000 (UTC) (envelope-from naito.yuichiro@gmail.com) Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 20D567B05E for ; Tue, 6 Nov 2018 15:01:59 +0000 (UTC) (envelope-from naito.yuichiro@gmail.com) Received: by mail-pf1-x433.google.com with SMTP id n11-v6so6226713pfb.6 for ; Tue, 06 Nov 2018 07:01:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=eTMV77+T+eVFgJ0IGGJl2bYy6uQPxFMGdP7i1NtI5Hg=; b=Ta/aMRtFR4unSkjBApRRVUwdzw/5v/VDX4fkq53Lh7FSMiJvt/G31G95NqbKi0lkEn Sf3Kax1DZSjZdnu8r5uX1tI5zzuQdT/IsvPVAqrzk9KtDhaqnyAv+gKGrpZJCjrIvKsa NUckfUYWMx2ObckMSGYrOV/r0HKrIuZM7nG8k/B66gS21ISVKujK1ONN6Q1w87pck5m8 sUqARr9xm3/MZ2dIX8P+DygSZUwf3l5utVD5QXJ+0DUGbbwLcXUUYJl4FO4gpEp8jrcQ pPsdLei5PaV6XGN/dQ7sH7fkbnKZRe+5f2soA39jnT69o7c937D2dU0wIV7sSKSobK4t dRQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=eTMV77+T+eVFgJ0IGGJl2bYy6uQPxFMGdP7i1NtI5Hg=; b=UFH32jBxTG/3sL284ZqR6km2XYVb+zuZXwSdUgy1k2hHVZI3o8y+c/kxm8CKsFUfc9 MlmZecfeZByfJiP1ASka9toVA7SEJSw/RF4GpY+QIJe2mFg6hLI6pT9gnpN6iqvTgqqe PKio9l0oEbMTCOsnILWbl1LPAw1l1lmhUWduI6CjMrgpqZL1cKMG4YybLJNtvZMnQkja Wgr5lrZaoP7kjkaxW+h+NwNlLJnVxN/2XS9f2B3TfmojxvYuGNZBLbgZDD12+yRu0Fql 6vGWCkbYBki3lHOQpBXrDpVV38fy0NrM/QKQz2iS2IWxhaXQCcaYh4qM7R2udadVfTPC HoXA== X-Gm-Message-State: AGRZ1gKXcx8VpfuCnG/F+pRjRLJgVPuY/lySJypRJdQ0NZ4e9nHyiRkd tNPfkVzixjeBQJ5xghWnAjY= X-Google-Smtp-Source: AJdET5cVHjywTX9l4Bn6fTkixHDfzrucTuDW3Zpi0Qkx5CXL8YxpWnbdL4O4nG6rtCLm3i9ZN9767Q== X-Received: by 2002:a63:4e18:: with SMTP id c24-v6mr23699764pgb.6.1541516518043; Tue, 06 Nov 2018 07:01:58 -0800 (PST) Received: from ?IPv6:2400:2410:c120:8d00:92:6c93:21:2aff? ([2400:2410:c120:8d00:92:6c93:21:2aff]) by smtp.gmail.com with ESMTPSA id u9-v6sm23261784pfm.175.2018.11.06.07.01.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Nov 2018 07:01:57 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) From: =?utf-8?B?5YaF6JekIOelkOS4gOmDjg==?= In-Reply-To: <201811061314.wA6DErDn002299@conssluserg-02.nifty.com> Date: Wed, 7 Nov 2018 00:01:54 +0900 Cc: FreeBSD-users-jp Content-Transfer-Encoding: base64 Message-Id: <45FE3A88-FE74-4F73-800B-598A18AE5E6D@gmail.com> References: <20181014194410.b466d0bbf0e976ffbcab2969@mogami.com> <20181024115101.f6049ef61a82a1fdbab1a404@mogami.com> <201811061314.wA6DErDn002299@conssluserg-02.nifty.com> To: WATANABE Kazuhiro X-Mailer: Apple Mail (2.3445.9.1) X-Rspamd-Queue-Id: 20D567B05E X-Spamd-Result: default: False [-3.36 / 200.00]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MV_CASE(0.50)[]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; MIME_BASE64_TEXT(0.10)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-0.47)[-0.471,0]; FROM_EQ_ENVFROM(0.00)[]; IP_SCORE(-0.52)[ipnet: 2607:f8b0::/32(-1.16), asn: 15169(-1.36), country: US(-0.08)]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; R_DKIM_ALLOW(-0.20)[gmail.com]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-0.96)[-0.963,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-users-jp@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[3.3.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0] X-Rspamd-Server: mx1.freebsd.org Subject: [FreeBSD-users-jp 96345] Re: =?utf-8?b?RnJlZUJTRC0xMS4yIOOBriBqYV9KUC5ldWNKUCDnkrDlooM=?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Nov 2018 15:02:00 -0000 5YaF6Jek44Gn44GZ44CCDQoNCj4gRnJlZUJTRCDjg6/jg7zjgq/jgrfjg6fjg4Pjg5fjgafjgoLo qbHjgYzlh7rjgZ8gKOWHuuOBquOBhD8pIOOCiOOBhuOBp+OBmeOBjOOAgQ0KDQrnp4HjgYzjg6/j g7zjgq/jgrfjg6fjg4Pjg5fjgafoqbHjgZfjgZ/lhoXlrrnjga/mrKHjga7pgJrjgorjgafjgZnj gIINCg0KMTEuMuOBruOCveODvOOCueOBrmxpYi9saWJlZGl0L3JlYWQuYyDjga4gTDM1MC1MMzc4 IOOBq+S7peS4i+OBruOCs+ODvOODieOBjOOBguOCiuOAgQ0KcmVhZCgyKSDjgacx44OQ44Kk44OI 44Ga44Gk6Kqt44G/6L6844KT44Gn44GvIG1icnRvd2Mg44GnIHdjaGFyX3Qg44Gr5aSJ5o+b44GZ 44KL44Kz44O844OJ44GM44GC44KK44G+44GZ44CCDQoNCgkJc3dpdGNoIChjdF9tYnJ0b3djKGNw LCBjYnVmLCBjYnApKSB7DQoJCWNhc2UgKHNpemVfdCktMToNCgkJCWlmIChjYnAgPiAxKSB7DQoJ CQkJLyoNCgkJCQkgKiBJbnZhbGlkIHNlcXVlbmNlLCBkaXNjYXJkIGFsbCBieXRlcw0KCQkJCSAq IGV4Y2VwdCB0aGUgbGFzdCBvbmUuDQoJCQkJICovDQoJCQkJY2J1ZlswXSA9IGNidWZbY2JwIC0g MV07DQoJCQkJY2JwID0gMDsNCgkJCQlicmVhazsNCgkJCX0gZWxzZSB7DQoJCQkJLyogSW52YWxp ZCBieXRlLCBkaXNjYXJkIGl0LiAqLw0KCQkJCWNicCA9IDA7DQoJCQkJZ290byBhZ2FpbjsNCgkJ CX0NCgkJY2FzZSAoc2l6ZV90KS0yOg0KCQkJLyoNCgkJCSAqIFdlIGRvbid0IHN1cHBvcnQgb3Ro ZXIgbXVsdGlieXRlIGNoYXJzZXRzLg0KCQkJICogVGhlIHNlY29uZCBjb25kaXRpb24gc2hvdWxk bid0IGhhcHBlbg0KCQkJICogYW5kIGlzIGhlcmUgbWVyZWx5IGZvciBhZGRpdGlvbmFsIHNhZmV0 eS4NCgkJCSAqLw0KCQkJaWYgKChlbC0+ZWxfZmxhZ3MgJiBDSEFSU0VUX0lTX1VURjgpID09IDAg fHwNCgkJCSAgICBjYnAgPj0gTUJfTEVOX01BWCkgew0KCQkJCWVycm5vID0gRUlMU0VROw0KCQkJ CSpjcCA9IEwnXDAnOw0KCQkJCXJldHVybiAtMTsNCgkJCX0NCgkJCS8qIEluY29tcGxldGUgc2Vx dWVuY2UsIHJlYWQgYW5vdGhlciBieXRlLiAqLw0KCQkJZ290byBhZ2FpbjsNCg0KbWJydG93Yygp 44Gn44GvbG9jYWxl44Gr5b6T44GE44OQ44Kk44OI5YiX44KSIHdjaGFyX3Qg44Gr5aSJ5o+b44GZ 44KL44KP44GR44Gn44GZ44GM44CBDQpldWNKUCDjgoQgVVRGLTgg44Gn44Gv5b2T54S2MeODkOOC pOODiOiqreOCk+OBoOOBoOOBkeOBp+OBr+WkieaPm+OBp+OBjeOBvuOBm+OCk+OAgg0KMuODkOOC pOODiOebruOChDPjg5DjgqTjg4jnm67jgYzlv4XopoHjgarjgZ/jgoHjgIFtYnJ0b3djKCnjga8g LTIg44KS6L+U44GX44CBDQrntprjgY3jgpLoqq3jgb/ovrzjgpPjgafjgY/jgozjgajov5TjgZfj gb7jgZnjgYzjgIHlkbzjgbPlh7rjgZflhYPjgafjga8NCmVsX2ZsYWdzIOOBqyBDSEFSU0VUX0lT X1VURjgg44Gu44OV44Op44Kw44GM56uL44Gj44Gm44GE44Gq44GE44Go44Oq44OI44Op44Kk44Gb 44Ga44GrDQrjgqjjg6njg7zntYLkuobjgZfjgb7jgZnjgIINCg0KbGliZWRpdCDjga7jgZPjga7p lqLmlbAocmVhZF9jaGFyKeOBjOOCqOODqeODvOe1guS6huOBmeOCi+OBqCAvYmluL3NoIOOBr+ao mea6luWFpeWKm+OBjA0K6ZaJ44GY44KJ44KM44Gf44Gu44Go5ZCM44GY5YuV5L2c44KS44GX44Gm 57WC5LqG44GX44Gm44GX44G+44GE44G+44GZ44CCDQoNCuOBk+OBrkNIQVJTRVRfSVNfVVRGOCDj gYzjganjgZPjgafnq4vjgabjgonjgozjgabjgYTjgovjga7jgYvjgajoqIDjgYbjgajjgIENCmxp Yi9saWJlZGl0L2VsLmM6TDk3LTEwNSDjga7pg6jliIbjgarjga7jgafjgZnjgYzjgIENCg0KCS8q DQogICAgICAgICAqIEluaXRpYWxpemUgYWxsIHRoZSBtb2R1bGVzLiBPcmRlciBpcyBpbXBvcnRh bnQhISENCiAgICAgICAgICovDQoJZWwtPmVsX2ZsYWdzID0gMDsNCglpZiAoc2V0bG9jYWxlKExD X0NUWVBFLCBOVUxMKSAhPSBOVUxMKXsNCgkJaWYgKHN0cmNtcChubF9sYW5naW5mbyhDT0RFU0VU KSwgIlVURi04IikgPT0gMCkNCgkJCWVsLT5lbF9mbGFncyB8PSBDSEFSU0VUX0lTX1VURjg7DQoJ fQ0KDQrjgZPjga7lh6bnkIbjga8gL2Jpbi9zaCDjga7otbfli5Xnm7Tlvozjgacgfi8ucHJvZmls ZSDjgYzoqq3jgb/ovrzjgb7jgozjgovliY3jgavlrp/ooYzjgZXjgozjgb7jgZnjgIINCuOBneOB ruOBn+OCgeOAgS9iaW4vc2gg44Gu6LW35YuV5pmC44GrIGxvY2FsZSDjgYwgVVRGLTgg44Gg44Go IFVURi04IOOBr+aJseOBiOOBvuOBmeOBjOOAgQ0K44Ot44Kw44Kk44Oz44K344Kn44Or44Gu44KI 44GG44GrIC9iaW4vc2gg44Gu6LW35YuV5pmC44GuIGxvY2FsZSDjgYwgQyDjgaDjgaggVVRGLTgg 44GM6YCa44KK44G+44Gb44KT44CCDQoNCuippuOBl+OBqyAvZXRjL2xvZ2luLmNvbmYg44GnIGxv Y2FsZSDjgpIgVVRGLTgg44Gr44GZ44KL44GoIC9iaW4vc2gg44Gu6LW35YuV5pmC44GrIGxvY2Fs ZSDjgYwNCuioreWumuOBleOCjOOCi+OBruOBp+OAgVVURi0444GM6YCa44KL44KI44GG44Gr44Gq 44KK44G+44GZ44CCDQoNCuOBvuOBn+OAgeimi+OBpuOBrumAmuOCiuOAgWxvY2FsZSDjgYwgZXVj SlAg44Gu5aC05ZCI44KCIENIQVJTRVRfSVNfVVRGOCDjgYznq4vjgaTjgZPjgajjga8NCuOBguOC iuOBvuOBm+OCk+OAgg0KDQrjgZPjgZPjgafjgIFsb2NhbGUg44KS5LiA5YiH54Sh6KaW44GX44Gm 44Gr5bi444GrIENIQVJTRVRfSVNfVVRGOCDjgpLnq4vjgabjgovjgojjgYbjgavjgZnjgovjgajj gIENCuOBqOOCiuOBguOBiOOBmiBldWNKUCDjgoIgVVRGLTgg44KC6YCa44KK44G+44GX44Gf44GM 44CBZXVjSlAg44Gu5aC05ZCI44Gn44OS44K544OI44Oq44GrDQrjgrTjg5/jgYzlhaXjgovllY/p oYzjgYzmiYvlhYPjgafjga/nmbrnlJ/jgZfjgb7jgZfjgZ/jga7jgafjgIHkvb/jgYjjgovnirbm hYvjgavjgavjga/jgYLjgorjgb7jgZvjgpPjgafjgZfjgZ/jgIINCg0K44Go44CB44GT44GT44G+ 44Gn44GM44Ov44O844Kv44K344On44OD44OX44Gn6Kmx44GX44Gf5YaF5a6544Gn44GZ44CCDQoN CuOBneOBruW+jOOBquOBruOBp+OBmeOBjOOAgeengeWAi+S6uuOBjCBldWNKUCDjgpLkvb/jgYTj gZ/jgYTjgajjga/mgJ3jgaPjgabjgYTjgarjgYTjgZPjgajjgoLjgYLjgooNCuiqv+afu+OBr+mA suOCk+OBp+OBhOOBvuOBm+OCk+OAgg0KDQpVVEYtOCDjgpLpgJrjgZnjgaDjgZHjga7jg5Hjg4Pj g4HjgarjgonjgbDjgIHlhYjjgbvjganjga4gQ0hBUlNFVF9JU19VVEY4IOOBruWIneacn+WMluS9 jee9ruOCkg0K55u044Gb44Gw6Imv44GE44Gu44Gn57Ch5Y2Y44Gq44Gu44Gn44GZ44GM44CB44Gd 44KM44Gn44Gv6Kej5rG644Gr44Gq44Gj44Gm44G+44Gb44KT44GL44KJ44CC44CC44CCDQoNCuOB vuOBn+OAgeOBk+OBruWGheWuueOBp+OBr+W5s+ael+OBleOCk+OBriAvYmluL3NoIOOBriBwYXJz ZXIuaCDjgYzllY/poYzjgaDjgajjgYTjgYboqbHjga8NCuWFqOOBj+eEoemWouS/guOBq+aAneOB hOOBvuOBmeOBl+OAgea4oei+uuOBleOCk+OBriBVVEYtOCDjgafjga/lhaXlipvjgafjgY3jgZ/j gajjgYTjgYbloLHlkYrjgajjgoINCuefm+ebvuOBl+OBvuOBmeOAgg0KDQrjga/jgabjgZXjgabj gIHnnJ/lrp/jga/jganjgZPjgavjgajjgYTjgaPjgZ/mhJ/jgZjjgoLjgYLjgorjgIHjgYLjgpPj gb7jgorpgLLlsZXjgZfjgabjgYTjgb7jgZvjgpPjgILjgILjgIINCg0KLS0gDQrlhoXol6Qg56WQ 5LiA6YOODQpuYWl0by55dWljaGlyb0BnbWFpbC5jb20NCg0KDQoNCg== From owner-freebsd-users-jp@freebsd.org Wed Nov 7 08:42:50 2018 Return-Path: Delivered-To: freebsd-users-jp@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 51CBC111053F for ; Wed, 7 Nov 2018 08:42:50 +0000 (UTC) (envelope-from kh@mogami.com) Received: from mail.mogami.com (mail.mogami.com [122.103.163.237]) by mx1.freebsd.org (Postfix) with ESMTP id AF724882CD for ; Wed, 7 Nov 2018 08:42:48 +0000 (UTC) (envelope-from kh@mogami.com) Received: from ana (ana [192.168.2.130]) by mail.mogami.com (Postfix) with SMTP id 7136C18CC3A for ; Wed, 7 Nov 2018 17:42:39 +0900 (JST) Date: Wed, 7 Nov 2018 17:42:39 +0900 From: Kouichi Hirabayashi To: freebsd-users-jp@freebsd.org Message-Id: <20181107174239.55278a66865a3b406a5ea219@mogami.com> In-Reply-To: <45FE3A88-FE74-4F73-800B-598A18AE5E6D@gmail.com> References: <20181014194410.b466d0bbf0e976ffbcab2969@mogami.com> <20181024115101.f6049ef61a82a1fdbab1a404@mogami.com> <201811061314.wA6DErDn002299@conssluserg-02.nifty.com> <45FE3A88-FE74-4F73-800B-598A18AE5E6D@gmail.com> Organization: MIT Inc. X-Mailer: Sylpheed 3.3.0 (GTK+ 2.24.17; i386-portbld-freebsd8.4) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: AF724882CD X-Spamd-Result: default: False [4.23 / 200.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; MV_CASE(0.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-users-jp@freebsd.org]; TO_DN_NONE(0.00)[]; AUTH_NA(1.00)[]; RCPT_COUNT_ONE(0.00)[1]; HAS_ORG_HEADER(0.00)[]; NEURAL_SPAM_MEDIUM(0.96)[0.959,0]; DMARC_NA(0.00)[mogami.com]; NEURAL_SPAM_SHORT(0.84)[0.837,0]; MX_GOOD(-0.01)[ana.mogami.com]; NEURAL_SPAM_LONG(0.95)[0.954,0]; R_SPF_NA(0.00)[]; RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; IP_SCORE(-0.01)[country: JP(-0.03)]; ASN(0.00)[asn:2519, ipnet:122.103.0.0/16, country:JP]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Server: mx1.freebsd.org Subject: [FreeBSD-users-jp 96346] Re: =?iso-2022-jp?b?RnJlZUJTRC0xMS4yIBskQiROGyhCIGphX0pQLmV1Y0pQ?= =?iso-2022-jp?b?IBskQjRENi0bKEI=?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Nov 2018 08:42:50 -0000 > NetBSD のように、sh のコマンドライン編集機能をデフォルトで off > にするだけでもいいかなと思います。 これが最善ではないかと思います。 > 平林さんの /bin/sh の parser.h が問題だという話は全く無関係に > 思いますし これは、NO_HISTORY による回避法を見てわかりました。元の libedit より先に sh のコードを直そうとすると、parser.h の CTLESC などで 問題が起きるのですが、先に libedit を直してみると、sh は元のまま で済むようです。 例えば、/usr/src/lib/libedit を下記のように書き換えて、EUC-JP の 2 バイト文字を連続して読み、文字幅の計算を正しい値にすれば、 /lib/libedit.so.7 を置き換えるだけで回避できるようです。 --- chartype.c.orig 2018-06-22 08:02:22.000000000 +0900 +++ chartype.c 2018-11-07 10:51:04.903723000 +0900 @@ -45,6 +45,8 @@ #define CT_BUFSIZ ((size_t)1024) #ifdef WIDECHAR +int ct_flags; // copy of el_flags + protected int ct_conv_cbuff_resize(ct_buffer_t *conv, size_t csize) { @@ -182,6 +184,13 @@ protected size_t ct_enc_width(Char c) { + if (ct_flags & CHARSET_IS_eucJ) { // EUC-JP + if (c < 0x100) + return 1; + else if (c < 0x10000) + return 2; + } + else if (ct_flags & CHARSET_IS_UTF8) { // UTF-8 /* UTF-8 encoding specific values */ if (c < 0x80) return 1; @@ -191,8 +200,10 @@ return 3; else if (c < 0x110000) return 4; - else - return 0; /* not a valid codepoint */ + } + else if (c < 0x100) + return 1; + return 0; /* not a valid codepoint */ } protected ssize_t --- el.c.orig 2018-06-22 08:02:22.000000000 +0900 +++ el.c 2018-11-07 10:51:04.911493000 +0900 @@ -74,6 +74,7 @@ el_init_fd(const char *prog, FILE *fin, FILE *fout, FILE *ferr, int fdin, int fdout, int fderr) { + extern int ct_flags; // chartype.c EditLine *el = el_malloc(sizeof(*el)); if (el == NULL) @@ -102,6 +103,9 @@ if (setlocale(LC_CTYPE, NULL) != NULL){ if (strcmp(nl_langinfo(CODESET), "UTF-8") == 0) el->el_flags |= CHARSET_IS_UTF8; + else if (strcmp(nl_langinfo(CODESET), "eucJP") == 0) + el->el_flags |= CHARSET_IS_eucJ; + ct_flags = el->el_flags; } if (terminal_init(el) == -1) { --- el.h.orig 2018-06-22 08:02:22.000000000 +0900 +++ el.h 2018-11-07 10:51:04.916863000 +0900 @@ -57,6 +57,7 @@ #define EDIT_DISABLED 0x04 #define UNBUFFERED 0x08 #define CHARSET_IS_UTF8 0x10 +#define CHARSET_IS_eucJ 0x20 #define NARROW_HISTORY 0x40 typedef unsigned char el_action_t; /* Index to command array */ --- read.c.orig 2018-06-22 08:02:22.000000000 +0900 +++ read.c 2018-11-07 10:51:04.926098000 +0900 @@ -343,6 +343,40 @@ *cp = L'\0'; return 0; } + if (el->el_flags & CHARSET_IS_eucJ) { + static int eucst = 0; + int c = cbuf[cbp] & 0xff; + + ++cbp; + if (eucst == 0) { // first byte + if (c & 0x80) { // KANJI, KANA + if (((c < 0xa1) || (0xf4 < c)) && (c != 0x8e)) + --cbp; // non JIS code + else + eucst = 1; + goto again; + } + else // ASCII + ct_mbrtowc(cp, cbuf, cbp); + } + else { // second byte + eucst = 0; + if (!(c & 0x80)) { // ASCII + // ignore first byte + cbuf[cbp - 2] = cbuf[cbp - 1]; + --cbp; + ct_mbrtowc(cp, cbuf, cbp); + } + else if ((c < 0xa1) || (0xfe < c)) { + // ignore non JIS code + cbp = 0; + goto again; + } + else // KANJI second byte + ct_mbrtowc(cp, cbuf, cbp); + } + return 1; + } for (;;) { -- 平林 浩一 From owner-freebsd-users-jp@freebsd.org Wed Nov 7 14:17:54 2018 Return-Path: Delivered-To: freebsd-users-jp@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B7926112757A for ; Wed, 7 Nov 2018 14:17:54 +0000 (UTC) (envelope-from naito.yuichiro@gmail.com) Received: from mail-pg1-x534.google.com (mail-pg1-x534.google.com [IPv6:2607:f8b0:4864:20::534]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E09BE6B6D0 for ; Wed, 7 Nov 2018 14:17:53 +0000 (UTC) (envelope-from naito.yuichiro@gmail.com) Received: by mail-pg1-x534.google.com with SMTP id r9-v6so7377510pgv.6 for ; Wed, 07 Nov 2018 06:17:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=NU3ebVPt4haK27OzcHQhCT/qkqxfDXfj5wRgxtOJuNo=; b=JXsQ/2eyrQugEYqsdCkTzPdJluERUaK15JJIDE9aRdRhFI9KTps8iz3XnjuzPqjrxw ER9Qwn0ul9fFJ8CBrkRScj7BZ+wC0pmc1xrb+774DrwmXrcaY6yNcI73C0RhCFUjYDjk kxaxL/jeGmM4JV5L9Mv5vIyyovj2KpV37a8h//4VWxjvcPyFrKwI5cq6VpVK6SANtcM9 wev+jylXhR9hcspXQmWD0EHZEAisMPo6yyu913uLeg0UNwD5V2Zb3LvO4w5orIzvWos2 vRdKnu5ywRa/VoqKKR58+H06qearMb2PbJ5WAH6VJ3tiKCFsdoEl1oWcv35dctKoAVnH ghiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=NU3ebVPt4haK27OzcHQhCT/qkqxfDXfj5wRgxtOJuNo=; b=JVOuTl1/ymV4NXJ51jCfYo8wISRx3uPZ/OiLdmdO0XmY1GHXxbuaBkwMV6Rk6Ggs7E w1OJgmL7+XSGMGg2ZOtlaYC3F/fOWdvd9lWvMCowvTeudKj7OTB/f7Aa/6+gohzFQmK5 2Y0k/wo+gO0IpBlLlNowZiW5UCRqxmXAn5D88+Igr1pOKZ1CMpJaRS0g41czOHqbpnaq pNJUdrtTSS6mwd4yokUlqc0jD3iCQ0BhQUSMXeyYt04Fbzjqjjzwrsm7VihuBDZrSRA9 hEoTJIvH1xBP9NK/55UBhWDsLRWmYRiIs123jiNDDNyffG0Nrg3EKhooF9rmE2kQgtB3 xPww== X-Gm-Message-State: AGRZ1gITpCzDk1VYU1f36yTVwiAjvuyq/JL2mX30zlciwy0gDO7anQnX B2yjUgxIomcqGXI/fcfH1CnkhCEXfU0= X-Google-Smtp-Source: AJdET5cLvKkvjoeAsWHmrBVI0Z8mNwq3Kt5ZQe2LO2Vmh89RTL+rewbiHw9XLuvLwp+JxASy5RTHbw== X-Received: by 2002:a62:6e47:: with SMTP id j68-v6mr365092pfc.197.1541600272842; Wed, 07 Nov 2018 06:17:52 -0800 (PST) Received: from ?IPv6:2400:2410:c120:8d00:92:6c93:21:2aff? ([2400:2410:c120:8d00:92:6c93:21:2aff]) by smtp.gmail.com with ESMTPSA id x123-v6sm891097pfb.124.2018.11.07.06.17.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Nov 2018 06:17:52 -0800 (PST) From: =?utf-8?B?5YaF6JekIOelkOS4gOmDjg==?= Message-Id: <038F6229-6740-48FF-B347-5BF095189C94@gmail.com> Content-Type: multipart/mixed; boundary="Apple-Mail=_CCC79897-0340-4B3F-B1CF-FDD1AED7572F" Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Date: Wed, 7 Nov 2018 23:17:48 +0900 In-Reply-To: <20181107174239.55278a66865a3b406a5ea219@mogami.com> Cc: freebsd-users-jp@freebsd.org To: Kouichi Hirabayashi References: <20181014194410.b466d0bbf0e976ffbcab2969@mogami.com> <20181024115101.f6049ef61a82a1fdbab1a404@mogami.com> <201811061314.wA6DErDn002299@conssluserg-02.nifty.com> <45FE3A88-FE74-4F73-800B-598A18AE5E6D@gmail.com> <20181107174239.55278a66865a3b406a5ea219@mogami.com> X-Mailer: Apple Mail (2.3445.9.1) X-Rspamd-Queue-Id: E09BE6B6D0 X-Spamd-Result: default: False [-3.44 / 200.00]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MV_CASE(0.50)[]; HAS_ATTACHMENT(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; MIME_BASE64_TEXT(0.10)[]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-0.54)[-0.539,0]; FROM_EQ_ENVFROM(0.00)[]; IP_SCORE(-0.49)[ipnet: 2607:f8b0::/32(-1.03), asn: 15169(-1.34), country: US(-0.09)]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; R_DKIM_ALLOW(-0.20)[gmail.com]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-0.996,0]; MIME_GOOD(-0.10)[multipart/mixed,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-users-jp@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[4.3.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0] X-Rspamd-Server: mx1.freebsd.org Subject: [FreeBSD-users-jp 96347] Re: =?utf-8?b?RnJlZUJTRC0xMS4yIOOBriBqYV9KUC5ldWNKUCDnkrDlooM=?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Nov 2018 14:17:54 -0000 --Apple-Mail=_CCC79897-0340-4B3F-B1CF-FDD1AED7572F Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=utf-8 5YaF6Jek44Gn44GZ44CCDQoNCj4gMjAxOC8xMS8wNyAxNzo0MuOAgUtvdWljaGkgSGlyYWJheWFz aGkgPGtoQG1vZ2FtaS5jb20+44Gu44Oh44O844OrOg0KPiANCj4g5L6L44GI44Gw44CBL3Vzci9z cmMvbGliL2xpYmVkaXQg44KS5LiL6KiY44Gu44KI44GG44Gr5pu444GN5o+b44GI44Gm44CBRVVD LUpQDQo+IOOBriAyIOODkOOCpOODiOaWh+Wtl+OCkumAo+e2muOBl+OBpuiqreOBv+OAgeaWh+Wt l+W5heOBruioiOeul+OCkuato+OBl+OBhOWApOOBq+OBmeOCjOOBsOOAgQ0KPiAvbGliL2xpYmVk aXQuc28uNyDjgpLnva7jgY3mj5vjgYjjgovjgaDjgZHjgaflm57pgb/jgafjgY3jgovjgojjgYbj gafjgZnjgIINCg0K44Gq44KL44G744Gp44CBIGN0X2VuY193aWR0aCgpIOOCkuebtOOBl+OBpuOB guOBkuOCjOOBsOiJr+OBi+OBo+OBn+OCk+OBp+OBmeOBreOAgg0K44Gd44KM44Gq44KJ44Gw44CB 5re75LuY44GuIGxpYmVkaXQucGF0Y2gg44GnIGV1Y0pQIOOBr+OBhOOBkeOCi+OCiOOBhuOBq+OB quOCi+OBr+OBmuOBp+OBmeOAgg0KDQrjg57jg6vjg4Hjg5DjgqTjg4jjga7lh6bnkIbjga8gd2N0 b21iKDMpIOOBqCBtYnJ0b3djKDMpIOOBjCBsb2NhbGUg44KS6KaL44Gm5Yem55CG44GX44Gm44GP 44KM44G+44GZ44GL44KJ44CBDQrjgZ3jgaHjgonjgavku7vjgZvjgovmlrnjgYznsKHljZjjgafj gZnjgIINCg0KQ0hBUlNFVF9JU19VVEY4IOODleODqeOCsOOBruW9semfv+evhOWbsuOCkuOCguOB huWwkeOBl+iJr+OBj+imi+OCi+W/heimgeOBjOOBguOCiuOBvuOBmeOBruOBp+OAgQ0KVVRGLTgg 44Gu5aC05ZCI44GvIC9iaW4vc2gg6LW35YuV5pmC44GrIGxvY2FsZSDjgYzoqK3lrprjgZXjgozj gabjgYTjgovlv4XopoHjgYzjgYLjgorjgb7jgZnjgZHjgozjganjgoLjgIENCuOBqOOCiuOBguOB iOOBmiBldWNKUCDjga7loLTlkIjjgpLoqabjgZfjgabjgoLjgonjgYjjgb7jgZnjgafjgZfjgofj gYbjgYvvvJ8NCg0KLS0gDQrlhoXol6Qg56WQ5LiA6YOODQpuYWl0by55dWljaGlyb0BnbWFpbC5j b20NCg0KDQo= --Apple-Mail=_CCC79897-0340-4B3F-B1CF-FDD1AED7572F Content-Disposition: attachment; filename=libedit.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="libedit.patch" Content-Transfer-Encoding: 7bit Index: lib/libedit/chartype.c =================================================================== --- lib/libedit/chartype.c (revision 340214) +++ lib/libedit/chartype.c (working copy) @@ -182,17 +182,11 @@ protected size_t ct_enc_width(Char c) { - /* UTF-8 encoding specific values */ - if (c < 0x80) - return 1; - else if (c < 0x0800) - return 2; - else if (c < 0x10000) - return 3; - else if (c < 0x110000) - return 4; - else - return 0; /* not a valid codepoint */ + char buf[MB_LEN_MAX]; + int size; + if ((size = wctomb(buf, c)) < 0) + return 0; + return size; } protected ssize_t Index: lib/libedit/read.c =================================================================== --- lib/libedit/read.c (revision 340214) +++ lib/libedit/read.c (working copy) @@ -363,17 +363,6 @@ goto again; } case (size_t)-2: - /* - * We don't support other multibyte charsets. - * The second condition shouldn't happen - * and is here merely for additional safety. - */ - if ((el->el_flags & CHARSET_IS_UTF8) == 0 || - cbp >= MB_LEN_MAX) { - errno = EILSEQ; - *cp = L'\0'; - return -1; - } /* Incomplete sequence, read another byte. */ goto again; default: --Apple-Mail=_CCC79897-0340-4B3F-B1CF-FDD1AED7572F-- From owner-freebsd-users-jp@freebsd.org Wed Nov 7 22:38:13 2018 Return-Path: Delivered-To: freebsd-users-jp@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 893851130755 for ; Wed, 7 Nov 2018 22:38:13 +0000 (UTC) (envelope-from kh@mogami.com) Received: from mail.mogami.com (mail.mogami.com [122.103.163.237]) by mx1.freebsd.org (Postfix) with ESMTP id AF5F97C4B3 for ; Wed, 7 Nov 2018 22:38:12 +0000 (UTC) (envelope-from kh@mogami.com) Received: from ana (ana [192.168.2.130]) by mail.mogami.com (Postfix) with SMTP id 1A13618CC3A for ; Thu, 8 Nov 2018 07:38:10 +0900 (JST) Date: Thu, 8 Nov 2018 07:38:10 +0900 From: Kouichi Hirabayashi To: freebsd-users-jp@freebsd.org Message-Id: <20181108073810.8bcde83fd939d73f8b7170a7@mogami.com> In-Reply-To: <038F6229-6740-48FF-B347-5BF095189C94@gmail.com> References: <20181014194410.b466d0bbf0e976ffbcab2969@mogami.com> <20181024115101.f6049ef61a82a1fdbab1a404@mogami.com> <201811061314.wA6DErDn002299@conssluserg-02.nifty.com> <45FE3A88-FE74-4F73-800B-598A18AE5E6D@gmail.com> <20181107174239.55278a66865a3b406a5ea219@mogami.com> <038F6229-6740-48FF-B347-5BF095189C94@gmail.com> Organization: MIT Inc. X-Mailer: Sylpheed 3.3.0 (GTK+ 2.24.17; i386-portbld-freebsd8.4) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: AF5F97C4B3 X-Spamd-Result: default: False [4.35 / 200.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; MV_CASE(0.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-users-jp@freebsd.org]; TO_DN_NONE(0.00)[]; AUTH_NA(1.00)[]; RCPT_COUNT_ONE(0.00)[1]; HAS_ORG_HEADER(0.00)[]; NEURAL_SPAM_MEDIUM(0.98)[0.975,0]; DMARC_NA(0.00)[mogami.com]; NEURAL_SPAM_SHORT(0.92)[0.921,0]; MX_GOOD(-0.01)[cached: ana.mogami.com]; NEURAL_SPAM_LONG(0.97)[0.967,0]; R_SPF_NA(0.00)[]; RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; IP_SCORE(-0.00)[country: JP(-0.02)]; ASN(0.00)[asn:2519, ipnet:122.103.0.0/16, country:JP]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Server: mx1.freebsd.org Subject: [FreeBSD-users-jp 96348] Re: =?iso-2022-jp?b?RnJlZUJTRC0xMS4yIBskQiROGyhCIGphX0pQLmV1Y0pQ?= =?iso-2022-jp?b?IBskQjRENi0bKEI=?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Nov 2018 22:38:13 -0000 wctomb(3) と mbrtowc(3) に任せる方針でよいようです。 これだと、ja_JP.SJIS, ko_KR.eucKR, zh_CN.eucCN も解決すると思いますから、この問題は完了ですね。 平林 浩一