From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: libnettle/libhogweed WIP Date: Wed, 19 Apr 2017 17:41:52 +0300 Message-ID: <83bmrscvdb.fsf@gnu.org> References: <83a89gq3us.fsf@gnu.org> <87bmtjiv0w.fsf_-_@lifelogs.com> <83o9xjn06c.fsf@gnu.org> <87shmeb5ln.fsf_-_@lifelogs.com> <83y3w5z1ez.fsf@gnu.org> <87lgr6yakj.fsf@lifelogs.com> <87wpamww9k.fsf@lifelogs.com> <8337daggnj.fsf@gnu.org> <87d1cdwxt6.fsf@lifelogs.com> <83tw5pg1q3.fsf@gnu.org> <87zifhulc2.fsf@lifelogs.com> <83h91og80k.fsf@gnu.org> <87pogbuhoe.fsf@lifelogs.com> <834lxndmd9.fsf@gnu.org> <87efwrug6z.fsf@lifelogs.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1492612914 1693 195.159.176.226 (19 Apr 2017 14:41:54 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 19 Apr 2017 14:41:54 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 19 16:41:47 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0qnj-0000HO-14 for ged-emacs-devel@m.gmane.org; Wed, 19 Apr 2017 16:41:47 +0200 Original-Received: from localhost ([::1]:48529 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d0qno-0003sX-QD for ged-emacs-devel@m.gmane.org; Wed, 19 Apr 2017 10:41:52 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33434) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d0qnI-0003sJ-8p for emacs-devel@gnu.org; Wed, 19 Apr 2017 10:41:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d0qnD-0000mV-Cg for emacs-devel@gnu.org; Wed, 19 Apr 2017 10:41:20 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:47382) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d0qnD-0000mC-9e; Wed, 19 Apr 2017 10:41:15 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1071 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d0qnC-0001Xj-Lw; Wed, 19 Apr 2017 10:41:15 -0400 In-reply-to: (message from Stefan Monnier on Wed, 19 Apr 2017 08:22:10 -0400) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:214119 Archived-At: > From: Stefan Monnier > Date: Wed, 19 Apr 2017 08:22:10 -0400 > > > I see the confusion. Yes, I want to allow multibyte input. Users > > shouldn't have to jump through hoops to use these functions. > > FWIW, I disagree. You should check that either the string is unibyte > (AKA byte_size<0) or that it's ASCII-only (byte_size==size). > > Forcing your users to (de|en)code explicitly before calling your > functions isn't making them jump through hoops: it's helping them have > the correct mental model of what "multibyte text" means. I tend to agree. But maybe we should make a step back and discuss the various use cases for passing non-ASCII text to these functions. Why would a user want that, and what would they expect to happen, when this is done from within Emacs (as opposed to reading text from some file or accepting it as a string). I think it's important to discuss the expected results, because we could avoid encoding the string, either inside or outside of the functions, and just use its bytes instead, disregarding their interpretation as characters. The question is: would that yield what users will want and expect? The answer could be YES in some use cases and NO in others.