From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#31376: 26.0.50; print-charset-text-property not honored Date: Fri, 11 May 2018 21:45:36 +0300 Message-ID: <837eoani9b.fsf@gnu.org> References: <87d0y7ew2h.fsf@linux-m68k.org> <87603zmxna.fsf@gmail.com> <83mux6nws8.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1526064251 31569 195.159.176.226 (11 May 2018 18:44:11 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 11 May 2018 18:44:11 +0000 (UTC) Cc: 31376@debbugs.gnu.org, schwab@linux-m68k.org, eller.helmut@gmail.com To: Noam Postavsky Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri May 11 20:44:06 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1fHD1R-00085E-Gq for geb-bug-gnu-emacs@m.gmane.org; Fri, 11 May 2018 20:44:05 +0200 Original-Received: from localhost ([::1]:36093 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fHD3Y-0006UW-NK for geb-bug-gnu-emacs@m.gmane.org; Fri, 11 May 2018 14:46:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33021) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fHD3N-0006Q7-01 for bug-gnu-emacs@gnu.org; Fri, 11 May 2018 14:46:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fHD3L-0006bx-Vv for bug-gnu-emacs@gnu.org; Fri, 11 May 2018 14:46:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:50782) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fHD3L-0006bd-Rq for bug-gnu-emacs@gnu.org; Fri, 11 May 2018 14:46:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fHD3K-0004FR-Br for bug-gnu-emacs@gnu.org; Fri, 11 May 2018 14:46:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 11 May 2018 18:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 31376 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 31376-submit@debbugs.gnu.org id=B31376.152606435616315 (code B ref 31376); Fri, 11 May 2018 18:46:02 +0000 Original-Received: (at 31376) by debbugs.gnu.org; 11 May 2018 18:45:56 +0000 Original-Received: from localhost ([127.0.0.1]:58679 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fHD3D-0004F5-Ra for submit@debbugs.gnu.org; Fri, 11 May 2018 14:45:56 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:41824) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fHD3B-0004Er-2g for 31376@debbugs.gnu.org; Fri, 11 May 2018 14:45:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fHD34-0006A6-Os for 31376@debbugs.gnu.org; Fri, 11 May 2018 14:45:47 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42911) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fHD2x-0005po-LD; Fri, 11 May 2018 14:45:39 -0400 Original-Received: from [176.228.60.248] (port=1455 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fHD2x-00014E-4I; Fri, 11 May 2018 14:45:39 -0400 In-reply-to: (message from Noam Postavsky on Fri, 11 May 2018 13:44:46 -0400) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:146128 Archived-At: > From: Noam Postavsky > Date: Fri, 11 May 2018 13:44:46 -0400 > Cc: Helmut Eller , Kenichi Handa , 31376@debbugs.gnu.org, > Andreas Schwab > > On 11 May 2018 at 09:31, Eli Zaretskii wrote: > > > Can someone see any difference between the value t and 'default', wrt > ^ > nil > > when/how the 'charset' property of strings is printed? > > Assuming you meant nil, then no, I can't see any difference. Mmm... yes, nil. > As far as > I can tell, setting to 'default' just makes Emacs do pointless extra > checking for "unsafe" charsets even after it has found one. You mean, setting it to nil makes it do pointless extra work, yes? ;-) > It looks like the NILP (Vprint_charset_text_property) check is just in > the wrong place, if I move it to print_prune_string_charset then it > seems to work as documented. > > --- i/src/print.c > +++ w/src/print.c > @@ -1317,8 +1317,7 @@ print_check_string_charset_prop (INTERVAL interval, > || CONSP (XCDR (XCDR (val)))) > print_check_string_result |= PRINT_STRING_NON_CHARSET_FOUND; > } > - if (NILP (Vprint_charset_text_property) > - || ! (print_check_string_result & PRINT_STRING_UNSAFE_CHARSET_FOUND)) > + if (! (print_check_string_result & PRINT_STRING_UNSAFE_CHARSET_FOUND)) > { > int i, c; > ptrdiff_t charpos = interval->position; > @@ -1348,7 +1347,8 @@ print_prune_string_charset (Lisp_Object string) > print_check_string_result = 0; > traverse_intervals (string_intervals (string), 0, > print_check_string_charset_prop, string); > - if (! (print_check_string_result & PRINT_STRING_UNSAFE_CHARSET_FOUND)) > + if (NILP (Vprint_charset_text_property) > + || ! (print_check_string_result & PRINT_STRING_UNSAFE_CHARSET_FOUND)) Yes, that sounds right, thanks. We should also mention in the doc string that any non-nil, non-t value is treated as 'default'. And this variable should be mentioned in the ELisp manual, in the node "Output Variables".