From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: libnettle/libhogweed WIP Date: Wed, 19 Apr 2017 15:49:47 -0400 Message-ID: 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> <83bmrscvdb.fsf@gnu.org> <871ssos8jp.fsf@lifelogs.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1492631407 14560 195.159.176.226 (19 Apr 2017 19:50:07 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 19 Apr 2017 19:50:07 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 19 21:50:02 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 1d0vc1-0003dM-OZ for ged-emacs-devel@m.gmane.org; Wed, 19 Apr 2017 21:50:01 +0200 Original-Received: from localhost ([::1]:50151 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d0vc7-0001lt-Ka for ged-emacs-devel@m.gmane.org; Wed, 19 Apr 2017 15:50:07 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50302) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d0vc0-0001lb-T8 for emacs-devel@gnu.org; Wed, 19 Apr 2017 15:50:01 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d0vbx-0002th-S2 for emacs-devel@gnu.org; Wed, 19 Apr 2017 15:50:00 -0400 Original-Received: from [195.159.176.226] (port=40200 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d0vbx-0002si-Li for emacs-devel@gnu.org; Wed, 19 Apr 2017 15:49:57 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1d0vbp-0003M4-Ki for emacs-devel@gnu.org; Wed, 19 Apr 2017 21:49:49 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 29 Original-X-Complaints-To: usenet@blaine.gmane.org Cancel-Lock: sha1:3w/6cmYTE0PwuqHqF97d2+mo2Kk= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 195.159.176.226 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:214138 Archived-At: > That is, I think > (md5 (encode-coding-string "Héllo" 'iso-8859-1)) > is a better interface than > (md5 "Héllo" nil nil 'iso-8859-1) That's right. > Yes, but as Eli and Stefan said, perhaps there's something to be said > for just allowing encrypting the internal representation of Emacs > objects, too. (Which is what base64-encode-string/base64-encode-region > does.) > This is more flexible, but is this a flexibility that's useful? This is useful for purposes like "check that the hash of a buffer is not affected by an operation". Where encoding would be more costly than computing the hash and would bring no benefit (unless you specifically want to ignore changes to the buffer which are not visible in the encoded output). > I think in the base64 case, it's led to confusion over the years. I agree that for base64-encode-*, this optimisation doesn't make much sense (when would you want to do (base64-encode (encoding-coding-string FOO 'emacs-internal)) ?) so it only leads to bugs. I think it was not a conscious choice but just an oversight in the implementation. Stefan