From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Noam Postavsky Newsgroups: gmane.emacs.bugs Subject: bug#31376: 26.0.50; print-charset-text-property not honored Date: Fri, 11 May 2018 13:44:46 -0400 Message-ID: References: <87d0y7ew2h.fsf@linux-m68k.org> <87603zmxna.fsf@gmail.com> <83mux6nws8.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Trace: blaine.gmane.org 1526060592 13401 195.159.176.226 (11 May 2018 17:43:12 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 11 May 2018 17:43:12 +0000 (UTC) Cc: 31376@debbugs.gnu.org, Andreas Schwab , Helmut Eller To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri May 11 19:43:08 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 1fHC4O-0003Ix-5J for geb-bug-gnu-emacs@m.gmane.org; Fri, 11 May 2018 19:43:04 +0200 Original-Received: from localhost ([::1]:60541 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fHC6V-0008KC-9B for geb-bug-gnu-emacs@m.gmane.org; Fri, 11 May 2018 13:45:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48580) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fHC6L-0008Hc-2Q for bug-gnu-emacs@gnu.org; Fri, 11 May 2018 13:45:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fHC6I-0005QA-0W for bug-gnu-emacs@gnu.org; Fri, 11 May 2018 13:45:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:50762) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fHC6H-0005Q6-U3 for bug-gnu-emacs@gnu.org; Fri, 11 May 2018 13:45:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fHC6H-0002sU-In for bug-gnu-emacs@gnu.org; Fri, 11 May 2018 13:45:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Noam Postavsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 11 May 2018 17:45:01 +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.152606069411039 (code B ref 31376); Fri, 11 May 2018 17:45:01 +0000 Original-Received: (at 31376) by debbugs.gnu.org; 11 May 2018 17:44:54 +0000 Original-Received: from localhost ([127.0.0.1]:58659 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fHC6A-0002ry-Jq for submit@debbugs.gnu.org; Fri, 11 May 2018 13:44:54 -0400 Original-Received: from mail-oi0-f46.google.com ([209.85.218.46]:38936) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fHC69-0002rl-2E for 31376@debbugs.gnu.org; Fri, 11 May 2018 13:44:53 -0400 Original-Received: by mail-oi0-f46.google.com with SMTP id n65-v6so5403632oig.6 for <31376@debbugs.gnu.org>; Fri, 11 May 2018 10:44:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=RYOTun3m+T94aCxrzar0UJfd+lCdXrOy0RD2dO33RT8=; b=i9V5G333hF2XmrKtLmr1XDGqn3d6afkYAlqeMvALvHmdXtfvCsw/BgH2YsGlLrtw2o IZPZ3xNkKbR1vzQbRwkbj6sc4GC0zg3LaYXjId0qlr86vbj+T1j2R1qo5W8K8UXm9bW4 54929uFYV4DLAafHH0s+1EuGSoCRScPGVLDdw2yBu7VsbUI46LbS/bMQsrrD48DdfQaC vpH8UaJl5aP+NB1qlSCgk491h0rR6L9Kib8akgZfQWNhrQ7jaO5N00AT27pAKNLoKB2W ozxySeeHMYNGqll8RFOZog3crcv/uaWunFRmVNVhEmmEKR5dpUSQrNKju7sQcyQhfxqJ mZvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=RYOTun3m+T94aCxrzar0UJfd+lCdXrOy0RD2dO33RT8=; b=NpeITOHPYGwA4wfFSSJ1BPVwT3YvJCJp9s1i2ZG0Hvk5BmH5HnhKcnZZLFhUxjG7rr PH/9zV+Qvv6nf2ln2kFTXJOh76kxk8eXn950opoAmG5+WwH4z8f/MwCbckfPOPJIafj2 MpbXNTaWqBRjGO5MT3wTnce3oJHWv+4e27TFG1qEW51UXaOkBT8FgLjpaeL56wMlxfiY AFaSB0oS+nL2r5rATT2X/DTro0Q9T8YyAvbcqevlM05e1TqcCT2zztJn1M18Scolmx2k 6V9nCvV0vGGC/cLJee29atY48vkNgQk899zDIoTxKGEdmjjCz2Huo3porQFc7sio4K+1 +N3g== X-Gm-Message-State: ALKqPwdcAblD4bQ6UuPMEsD1CxLIGGzqGWmQGT2L8uj2mJVDYHmmoOJz IBDZFAFEV7YvaxmfIIip+NOkXpi0ElahZq39K8M= X-Google-Smtp-Source: AB8JxZpshEhPcW8uquwx0o3WfkXPKRAdMh1K5wACbyTVCPA+XQvCi6hBUB/jgZ5hO2+48nGYWqVPBp996DA3nPe3jHQ= X-Received: by 2002:aca:d052:: with SMTP id h79-v6mr3591441oig.330.1526060687369; Fri, 11 May 2018 10:44:47 -0700 (PDT) Original-Received: by 10.74.5.135 with HTTP; Fri, 11 May 2018 10:44:46 -0700 (PDT) In-Reply-To: <83mux6nws8.fsf@gnu.org> 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:146127 Archived-At: 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. 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. > I think the behavior under the value of nil is actually intended for > 'default', and the value of nil is not implemented. So I think we > should have a change in print_check_string_charset_prop that sets the > PRINT_STRING_UNSAFE_CHARSET_FOUND flag whenever it finds _any_ > 'charset' property on the string. 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)) { string = Fcopy_sequence (string); if (print_check_string_result & PRINT_STRING_NON_CHARSET_FOUND)