[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#31376: 26.0.50; print-charset-text-property not honored
From: |
Eli Zaretskii |
Subject: |
bug#31376: 26.0.50; print-charset-text-property not honored |
Date: |
Fri, 11 May 2018 21:45:36 +0300 |
> From: Noam Postavsky <npostavs@gmail.com>
> Date: Fri, 11 May 2018 13:44:46 -0400
> Cc: Helmut Eller <eller.helmut@gmail.com>, Kenichi Handa <handa@gnu.org>,
> 31376@debbugs.gnu.org,
> Andreas Schwab <schwab@linux-m68k.org>
>
> On 11 May 2018 at 09:31, Eli Zaretskii <eliz@gnu.org> 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".
- bug#31376: 26.0.50; print-charset-text-property not honored, Helmut Eller, 2018/05/07
- bug#31376: 26.0.50; print-charset-text-property not honored, Andreas Schwab, 2018/05/07
- bug#31376: 26.0.50; print-charset-text-property not honored, Helmut Eller, 2018/05/07
- bug#31376: 26.0.50; print-charset-text-property not honored, Noam Postavsky, 2018/05/07
- bug#31376: 26.0.50; print-charset-text-property not honored, Helmut Eller, 2018/05/07
- bug#31376: 26.0.50; print-charset-text-property not honored, Eli Zaretskii, 2018/05/11
- bug#31376: 26.0.50; print-charset-text-property not honored, Noam Postavsky, 2018/05/11
- bug#31376: 26.0.50; print-charset-text-property not honored,
Eli Zaretskii <=
- bug#31376: 26.0.50; print-charset-text-property not honored, Drew Adams, 2018/05/11
- bug#31376: 26.0.50; print-charset-text-property not honored, Eli Zaretskii, 2018/05/12
- bug#31376: 26.0.50; print-charset-text-property not honored, Noam Postavsky, 2018/05/12
- bug#31376: 26.0.50; print-charset-text-property not honored, Eli Zaretskii, 2018/05/13
- bug#31376: 26.0.50; print-charset-text-property not honored, Noam Postavsky, 2018/05/13
- bug#31376: 26.0.50; print-charset-text-property not honored, Eli Zaretskii, 2018/05/13
- bug#31376: 26.0.50; print-charset-text-property not honored, Noam Postavsky, 2018/05/13
- bug#31376: 26.0.50; print-charset-text-property not honored, Eli Zaretskii, 2018/05/14
- bug#31376: 26.0.50; print-charset-text-property not honored, Noam Postavsky, 2018/05/14
- bug#31376: 26.0.50; print-charset-text-property not honored, Eli Zaretskii, 2018/05/15