From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Antipov Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] user/group completion for dired Date: Wed, 21 Sep 2011 19:54:59 +0400 Message-ID: <4E7A08D3.8000006@yandex.ru> References: <4E7993C8.6010609@yandex.ru> <4E79EDB2.2020300@yandex.ru> <83sjnqrl7d.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040907050009020507020901" X-Trace: dough.gmane.org 1316620697 24264 80.91.229.12 (21 Sep 2011 15:58:17 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 21 Sep 2011 15:58:17 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Sep 21 17:58:11 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1R6PBZ-0000QG-DD for ged-emacs-devel@m.gmane.org; Wed, 21 Sep 2011 17:58:09 +0200 Original-Received: from localhost ([::1]:52982 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6PBY-0003WJ-3c for ged-emacs-devel@m.gmane.org; Wed, 21 Sep 2011 11:58:08 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:51385) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6PBT-0003VP-RP for emacs-devel@gnu.org; Wed, 21 Sep 2011 11:58:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R6PBS-0001lg-EG for emacs-devel@gnu.org; Wed, 21 Sep 2011 11:58:03 -0400 Original-Received: from mail.dev.rtsoft.ru ([213.79.90.226]:44451) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1R6PBR-0001jg-Tz for emacs-devel@gnu.org; Wed, 21 Sep 2011 11:58:02 -0400 Original-Received: (qmail 1017 invoked from network); 21 Sep 2011 15:58:03 -0000 Original-Received: from unknown (HELO ?192.168.5.146?) (192.168.1.70) by 0 with SMTP; 21 Sep 2011 15:58:03 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0.2) Gecko/20110906 Thunderbird/6.0.2 In-Reply-To: <83sjnqrl7d.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Received-From: 213.79.90.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:144164 Archived-At: This is a multi-part message in MIME format. --------------040907050009020507020901 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 09/21/2011 07:04 PM, Eli Zaretskii wrote: > Why let it guess? You can do it with 100% certainty in this case, > because the encoding of strings provided by the OS is known -- it's > held in Vlocale_coding_system. See system_process_attributes for an > example of how to do this. I've looked through Ffile_attributes() and have made the same thing. Dmitry --------------040907050009020507020901 Content-Type: text/plain; name="user_group_completion_2.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="user_group_completion_2.patch" PT09IG1vZGlmaWVkIGZpbGUgJ2NvbmZpZ3VyZS5pbicKLS0tIGNvbmZpZ3VyZS5pbgkyMDEx LTA5LTE1IDAzOjAxOjI1ICswMDAwCisrKyBjb25maWd1cmUuaW4JMjAxMS0wOS0yMSAwMzoz NjozOCArMDAwMApAQCAtMTIwNiw3ICsxMjA2LDcgQEAKICAgbGludXgvdmVyc2lvbi5oIHN5 cy9zeXN0ZW1pbmZvLmggXAogICBzdGRpb19leHQuaCBmY250bC5oIGNvZmYuaCBwdHkuaCBz eXMvbW1hbi5oIFwKICAgc3lzL3ZsaW1pdC5oIHN5cy9yZXNvdXJjZS5oIGxvY2FsZS5oIHN5 cy9fbWJzdGF0ZV90LmggXAotICBzeXMvdXRzbmFtZS5oIHB3ZC5oIHV0bXAuaCBkaXJlbnQu aCB1dGlsLmgpCisgIHN5cy91dHNuYW1lLmggcHdkLmggZ3JwLmggdXRtcC5oIGRpcmVudC5o IHV0aWwuaCkKIAogQUNfTVNHX0NIRUNLSU5HKGlmIHBlcnNvbmFsaXR5IExJTlVYMzIgY2Fu IGJlIHNldCkKIEFDX0NPTVBJTEVfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW1sjaW5jbHVk ZSA8c3lzL3BlcnNvbmFsaXR5Lmg+XV0sIFtbcGVyc29uYWxpdHkgKFBFUl9MSU5VWDMyKV1d KV0sCkBAIC0yNzMwLDYgKzI3MzAsNyBAQAogc2VuZHRvIHJlY3Zmcm9tIGdldHNvY2tvcHQg c2V0c29ja29wdCBnZXRzb2NrbmFtZSBnZXRwZWVybmFtZSBcCiBnYWlfc3RyZXJyb3IgbWtz dGVtcCBnZXRsaW5lIGdldGRlbGltIG1yZW1hcCBmc3luYyBzeW5jIFwKIGRpZmZ0aW1lIG1l bXBjcHkgbWJsZW4gbWJybGVuIHBvc2l4X21lbWFsaWduIFwKK2dldHB3ZW50IGVuZHB3ZW50 IGdldGdyZW50IGVuZGdyZW50IFwKIGNmbWFrZXJhdyBjZnNldHNwZWVkIGNvcHlzaWduIF9f ZXhlY3V0YWJsZV9zdGFydCkKIAogZG5sIENhbm5vdCB1c2UgQUNfQ0hFQ0tfRlVOQ1MKCj09 PSBtb2RpZmllZCBmaWxlICdsaXNwL2RpcmVkLWF1eC5lbCcKLS0tIGxpc3AvZGlyZWQtYXV4 LmVsCTIwMTEtMDktMTQgMTU6MDY6MjggKzAwMDAKKysrIGxpc3AvZGlyZWQtYXV4LmVsCTIw MTEtMDktMjEgMDc6MTI6MzggKzAwMDAKQEAgLTI0NCw4ICsyNDQsMTIgQEAKIAkJCSAoaWYg KGVxIG9wLXN5bWJvbCAndG91Y2gpCiAJCQkgICAgICIgKGRlZmF1bHQgbm93KTogIgogCQkJ ICAgIjogIikpKQotCSAobmV3LWF0dHJpYnV0ZSAoZGlyZWQtbWFyay1yZWFkLXN0cmluZyBw cm9tcHQgbmlsIG9wLXN5bWJvbAotCQkJCQkJYXJnIGZpbGVzIGRlZmF1bHQpKQorCSAobmV3 LWF0dHJpYnV0ZSAoZGlyZWQtbWFyay1yZWFkLXN0cmluZworCQkJIHByb21wdAorCQkJIChj b25kICgoZXEgb3Atc3ltYm9sICdjaG93bikgKHN5c3RlbS11c2VycykpCisJCQkgICAgICAg KChlcSBvcC1zeW1ib2wgJ2NoZ3JwKSAoc3lzdGVtLWdyb3VwcykpKQorCQkJIG5pbCBvcC1z eW1ib2wKKwkJCSBhcmcgZmlsZXMgZGVmYXVsdCkpCiAJIChvcGVyYXRpb24gKGNvbmNhdCBw cm9ncmFtICIgIiBuZXctYXR0cmlidXRlKSkKIAkgZmFpbHVyZXMpCiAgICAgKHNldHEgZmFp bHVyZXMKQEAgLTI4NCw3ICsyODgsNyBAQAogCQkJIChtYXRjaC1zdHJpbmcgMiBtb2Rlc3Ry KQogCQkJIChtYXRjaC1zdHJpbmcgMyBtb2Rlc3RyKSkpKSkKIAkgKG1vZGVzIChkaXJlZC1t YXJrLXJlYWQtc3RyaW5nCi0JCSAiQ2hhbmdlIG1vZGUgb2YgJXMgdG86ICIKKwkJICJDaGFu Z2UgbW9kZSBvZiAlcyB0bzogIiBuaWwKIAkJIG5pbCAnY2htb2QgYXJnIGZpbGVzIGRlZmF1 bHQpKQogCSBudW0tbW9kZXMpCiAgICAgKGNvbmQgKChlcXVhbCBtb2RlcyAiIikKQEAgLTM3 NCw3ICszNzgsNyBAQAogICAoaW50ZXJhY3RpdmUgIlAiKQogICAobGV0KiAoKGZpbGUtbGlz dCAoZGlyZWQtZ2V0LW1hcmtlZC1maWxlcyB0IGFyZykpCiAJIChjb21tYW5kIChkaXJlZC1t YXJrLXJlYWQtc3RyaW5nCi0JCSAgICJQcmludCAlcyB3aXRoOiAiCisJCSAgICJQcmludCAl cyB3aXRoOiAiIG5pbAogIAkJICAgKG1hcGNvbmNhdCAnaWRlbnRpdHkKIAkJCSAgICAgIChj b25zIGxwci1jb21tYW5kCiAJCQkJICAgIChpZiAoc3RyaW5ncCBscHItc3dpdGNoZXMpCkBA IC0zODQsOCArMzg4LDggQEAKIAkJICAgJ3ByaW50IGFyZyBmaWxlLWxpc3QpKSkKICAgICAo ZGlyZWQtcnVuLXNoZWxsLWNvbW1hbmQgKGRpcmVkLXNoZWxsLXN0dWZmLWl0IGNvbW1hbmQg ZmlsZS1saXN0IG5pbCkpKSkKIAotKGRlZnVuIGRpcmVkLW1hcmstcmVhZC1zdHJpbmcgKHBy b21wdCBpbml0aWFsIG9wLXN5bWJvbCBhcmcgZmlsZXMKLQkJCSAgICAgICAmb3B0aW9uYWwg ZGVmYXVsdC12YWx1ZSkKKyhkZWZ1biBkaXJlZC1tYXJrLXJlYWQtc3RyaW5nIChwcm9tcHQg Y29sbGVjdGlvbiBpbml0aWFsIG9wLXN5bWJvbAorCQkJICAgICAgIGFyZyBmaWxlcyAmb3B0 aW9uYWwgZGVmYXVsdC12YWx1ZSkKICAgIlJlYWQgYXJncyBmb3IgYSBEaXJlZCBtYXJrZWQt ZmlsZXMgY29tbWFuZCwgcHJvbXB0aW5nIHdpdGggUFJPTVBULgogUmV0dXJuIHRoZSB1c2Vy IGlucHV0IChhIHN0cmluZykuCiAKQEAgLTM5OSw5ICs0MDMsOSBAQAogdXNlciBlbnRlcnMg ZW1wdHkgaW5wdXQsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgZW1wdHkgc3RyaW5nLAog bm90IERFRkFVTFQtVkFMVUUuIgogICAoZGlyZWQtbWFyay1wb3AtdXAgbmlsIG9wLXN5bWJv bCBmaWxlcwotCQkgICAgICdyZWFkLWZyb20tbWluaWJ1ZmZlcgorCQkgICAgICdjb21wbGV0 aW5nLXJlYWQKIAkJICAgICAoZm9ybWF0IHByb21wdCAoZGlyZWQtbWFyay1wcm9tcHQgYXJn IGZpbGVzKSkKLQkJICAgICBpbml0aWFsIG5pbCBuaWwgbmlsIGRlZmF1bHQtdmFsdWUpKQor CQkgICAgIGNvbGxlY3Rpb24gbmlsIG5pbCBpbml0aWFsIG5pbCBkZWZhdWx0LXZhbHVlIG5p bCkpCiAMCiA7OzsgQ2xlYW5pbmcgYSBkaXJlY3Rvcnk6IGZsYWdnaW5nIHNvbWUgYmFja3Vw cyBmb3IgZGVsZXRpb24uCiAKCj09PSBtb2RpZmllZCBmaWxlICdzcmMvZGlyZWQuYycKLS0t IHNyYy9kaXJlZC5jCTIwMTEtMDktMDkgMDE6MDY6NTIgKzAwMDAKKysrIHNyYy9kaXJlZC5j CTIwMTEtMDktMjEgMTU6NDE6MjUgKzAwMDAKQEAgLTI3LDcgKzI3LDkgQEAKICNpZmRlZiBI QVZFX1BXRF9ICiAjaW5jbHVkZSA8cHdkLmg+CiAjZW5kaWYKKyNpZmRlZiBIQVZFX0dSUF9I CiAjaW5jbHVkZSA8Z3JwLmg+CisjZW5kaWYKIAogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5j bHVkZSA8dW5pc3RkLmg+CkBAIC0xMDE0LDYgKzEwMTYsNDUgQEAKICAgcmV0dXJuIEZzdHJp bmdfbGVzc3AgKEZjYXIgKGYxKSwgRmNhciAoZjIpKTsKIH0KIAwKKworREVGVU4gKCJzeXN0 ZW0tdXNlcnMiLCBGc3lzdGVtX3VzZXJzLCBTc3lzdGVtX3VzZXJzLCAwLCAwLCAwLAorICAg ICAgIGRvYzogLyogUmV0dXJuIGEgbGlzdCBvZiB1c2VyIG5hbWVzIGN1cnJlbnRseSByZWdp c3RlcmVkIGluIHRoZSBzeXN0ZW0uCitUaGUgdmFsdWUgbWF5IGJlIG5pbCBpZiBub3Qgc3Vw cG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uICAqLykKKyAgICAgKHZvaWQpCit7CisgIExpc3Bf T2JqZWN0IHVzZXJzID0gUW5pbDsKKyNpZiBkZWZpbmVkKEhBVkVfR0VUUFdFTlQpICYmIGRl ZmluZWQoSEFWRV9FTkRQV0VOVCkKKyAgc3RydWN0IHBhc3N3ZCAqcHc7CisKKyAgd2hpbGUg KChwdyA9IGdldHB3ZW50ICgpKSkKKyAgICB1c2VycyA9IEZjb25zIChERUNPREVfU1lTVEVN IChidWlsZF9zdHJpbmcgKHB3LT5wd19uYW1lKSksIHVzZXJzKTsKKworICBlbmRwd2VudCAo KTsKKyNlbmRpZgorICBpZiAoRVEgKHVzZXJzLCBRbmlsKSkKKyAgICAvKiBBdCBsZWFzdCBj dXJyZW50IHVzZXIgaXMgYWx3YXlzIGtub3duLiAqLworICAgIHVzZXJzID0gRmNvbnMgKFZ1 c2VyX3JlYWxfbG9naW5fbmFtZSwgUW5pbCk7CisgIHJldHVybiB1c2VyczsKK30KKworREVG VU4gKCJzeXN0ZW0tZ3JvdXBzIiwgRnN5c3RlbV9ncm91cHMsIFNzeXN0ZW1fZ3JvdXBzLCAw LCAwLCAwLAorICAgICAgIGRvYzogLyogUmV0dXJuIGEgbGlzdCBvZiB1c2VyIGdyb3VwIG5h bWVzIGN1cnJlbnRseSByZWdpc3RlcmVkIGluIHRoZSBzeXN0ZW0uCitUaGUgdmFsdWUgbWF5 IGJlIG5pbCBpZiBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uICAqLykKKyAgICAg KHZvaWQpCit7CisgIExpc3BfT2JqZWN0IGdyb3VwcyA9IFFuaWw7CisjaWYgZGVmaW5lZChI QVZFX0dFVEdSRU5UKSAmJiBkZWZpbmVkKEhBVkVfRU5ER1JFTlQpCisgIHN0cnVjdCBncm91 cCAqZ3I7CisgIGludCBsZW5ndGg7CisKKyAgd2hpbGUgKChnciA9IGdldGdyZW50ICgpKSkK KyAgICBncm91cHMgPSBGY29ucyAoREVDT0RFX1NZU1RFTSAoYnVpbGRfc3RyaW5nIChnci0+ Z3JfbmFtZSkpLCBncm91cHMpOworCisgIGVuZGdyZW50ICgpOworI2VuZGlmCisgIHJldHVy biBncm91cHM7Cit9CisKIHZvaWQKIHN5bXNfb2ZfZGlyZWQgKHZvaWQpCiB7CkBAIC0xMDMx LDYgKzEwNzIsOCBAQAogICBkZWZzdWJyICgmU2ZpbGVfbmFtZV9hbGxfY29tcGxldGlvbnMp OwogICBkZWZzdWJyICgmU2ZpbGVfYXR0cmlidXRlcyk7CiAgIGRlZnN1YnIgKCZTZmlsZV9h dHRyaWJ1dGVzX2xlc3NwKTsKKyAgZGVmc3ViciAoJlNzeXN0ZW1fdXNlcnMpOworICBkZWZz dWJyICgmU3N5c3RlbV9ncm91cHMpOwogCiAgIERFRlZBUl9MSVNQICgiY29tcGxldGlvbi1p Z25vcmVkLWV4dGVuc2lvbnMiLCBWY29tcGxldGlvbl9pZ25vcmVkX2V4dGVuc2lvbnMsCiAJ ICAgICAgIGRvYzogLyogQ29tcGxldGlvbiBpZ25vcmVzIGZpbGUgbmFtZXMgZW5kaW5nIGlu IGFueSBzdHJpbmcgaW4gdGhpcyBsaXN0LgoK --------------040907050009020507020901--