From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: `unreadablep' Date: Wed, 15 Dec 2021 13:35:44 +0100 Message-ID: <87fsqukpun.fsf@gnus.org> References: <87bl1imhnd.fsf@gnus.org> <87h7bas2kb.fsf@yahoo.com> <87wnk6l0yu.fsf@gnus.org> <87czlyryq0.fsf@yahoo.com> <87sfuuktj2.fsf@gnus.org> <8735muqfcy.fsf@yahoo.com> <87k0g6kqmh.fsf@gnus.org> <87v8zqoy6v.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15575"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Dec 15 13:38:03 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mxTXm-0003nk-Bk for ged-emacs-devel@m.gmane-mx.org; Wed, 15 Dec 2021 13:38:02 +0100 Original-Received: from localhost ([::1]:42340 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mxTXk-0001zE-LR for ged-emacs-devel@m.gmane-mx.org; Wed, 15 Dec 2021 07:38:00 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:46664) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mxTVi-0008NZ-J6 for emacs-devel@gnu.org; Wed, 15 Dec 2021 07:35:56 -0500 Original-Received: from [2a01:4f9:2b:f0f::2] (port=41986 helo=quimby.gnus.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mxTVg-0004Xl-TF for emacs-devel@gnu.org; Wed, 15 Dec 2021 07:35:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=/+dz3I17nwtsN1zp5gociHmQaufwCQNc+5LSvs0PNo8=; b=HA+RgwhVwsP996YaB5NY3AJekT HtWcuMOfG1K+Afq3o0Oq4LJ4DZ8tTxcFymx0six106e5h+9B8pM5RjAeOUCPrnYqglSYhH2Fthkew IuwHEwg/IIiuHx3uCYkK6vSLfHfdXnXEBFQ0SHKaVieXqSrLXdRiAUZe7V69VNRS4bJk=; Original-Received: from [84.212.220.105] (helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mxTVa-0004qi-Ga; Wed, 15 Dec 2021 13:35:49 +0100 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEVzh4uuvrxBUFX/ //8ut8HHAAAAAWJLR0QDEQxM8gAAAAd0SU1FB+UMDws4HvYLs78AAAF9SURBVCjPPdJBa4MwFAfw tJhSPHWl2WEnHStUv4VlHc6TSp4MT9vYofRT2GJ28DjWnasQiO9TLia2gpAf/5eX8JQQWjAYniJd EQ2hlx9Q3sDaEVwA/w5YbgA0S7y54BZ+/qNmEiyivEQ8Q+oMgDSc4jmzCZStF8q3dGFwOAlXZimx cNhWXsuSih36aGyAE0j6V7unQP32WcoHrFAYOBYMCpXZMtcAbOtQ36VQOwPmnijkY0KTTtzK6OFL wsMIP3458qS3CF4/q2wbjNiHRz8cE7qfV/7UYsXiqG7vLO5ZOZdy0lrQsiPtY1/oqxGHlsT5fWxz A8Enu/NUlKabKJRXd1fkuD+hHtUAmSpnicKMiq0BvxYNs/jg6P00zJzDIo6X2TB4vdbf0PNyDeDE VQze3/8almBFEHs4+Pd4RlQW8g8FXhRRJlk0EpXF/qluxAWvyfO87oY9KoDNmm47ZRpsAL1qurFQ gN0yDlRosFJ+QoLhHP3vLI/r+FnxmPwDfgizGO14aqQAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEt MTItMTVUMTE6NTY6MzArMDA6MDBFx8rFAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTEyLTE1VDEx OjU2OjMwKzAwOjAwNJpyeQAAAABJRU5ErkJggg== X-Now-Playing: Propaganda's _A Secret Wish_: "Dream Within A Dream" In-Reply-To: <87v8zqoy6v.fsf@yahoo.com> (Po Lu's message of "Wed, 15 Dec 2021 20:22:00 +0800") X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a01:4f9:2b:f0f::2 (failed) Received-SPF: pass client-ip=2a01:4f9:2b:f0f::2; envelope-from=larsi@gnus.org; helo=quimby.gnus.org X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:282023 Archived-At: Po Lu writes: > The idea is that `print-unreadable-function' is called _with_ the object > and the printcharfun (and possibly some prin1 state, but I haven't > thought of the details yet) when prin1 encounters an unreadable object. > > So if you want to error something when trying to print an unreadable > object, you can just set that to a function that throws. Right... Skimming print_object and friends, it seems like the vast majority of the unprintable objects are in print_vectorlike, so I guess such a change could be made (pretty much?) locally to that function... So I think doing it that way should be pretty easy to implement, and it's certainly general enough to be used in both of the cases I sketched. But the logic would have to be such that if `print-unreadable-function' returns some special value, then printing continues as normally (to implement the "just tell me if what was printed is readable" case). And calling out to Lisp in this case may be slower than the other solution sketched. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no