From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail
From: Eli Zaretskii <eliz@gnu.org>
Newsgroups: gmane.emacs.bugs
Subject: bug#17758: 24.3;
 The line isn't wrapped during printing if it contains non ascii chars
Date: Sat, 29 May 2021 09:38:37 +0300
Message-ID: <83h7im6o42.fsf@gnu.org>
References: <877g4nm9c1.fsf@leo-kub-port.i-did-not-set--mail-host-address--so-tickle-me>
 <87v972rtfc.fsf@gnus.org>
Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214";
	logging-data="24089"; mail-complaints-to="usenet@ciao.gmane.io"
Cc: 17758@debbugs.gnu.org, tobias.bora@gmail.com
To: Lars Ingebrigtsen <larsi@gnus.org>, Kenichi Handa <handa@gnu.org>
Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat May 29 08:39:26 2021
Return-path: <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>
Envelope-to: geb-bug-gnu-emacs@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 <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>)
	id 1lmsd3-000633-PE
	for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 29 May 2021 08:39:25 +0200
Original-Received: from localhost ([::1]:50196 helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>)
	id 1lmsd2-0005jd-GQ
	for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 29 May 2021 02:39:24 -0400
Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41616)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1lmscg-0005id-5t
 for bug-gnu-emacs@gnu.org; Sat, 29 May 2021 02:39:03 -0400
Original-Received: from debbugs.gnu.org ([209.51.188.43]:44294)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1lmscf-0003RL-U9
 for bug-gnu-emacs@gnu.org; Sat, 29 May 2021 02:39:01 -0400
Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1lmscf-0004H2-Qk
 for bug-gnu-emacs@gnu.org; Sat, 29 May 2021 02:39:01 -0400
X-Loop: help-debbugs@gnu.org
Resent-From: Eli Zaretskii <eliz@gnu.org>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@gnu.org
Resent-Date: Sat, 29 May 2021 06:39:01 +0000
Resent-Message-ID: <handler.17758.B17758.162227032016401@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 17758
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: fixed
Original-Received: via spool by 17758-submit@debbugs.gnu.org id=B17758.162227032016401
 (code B ref 17758); Sat, 29 May 2021 06:39:01 +0000
Original-Received: (at 17758) by debbugs.gnu.org; 29 May 2021 06:38:40 +0000
Original-Received: from localhost ([127.0.0.1]:55840 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1lmscK-0004GT-CX
 for submit@debbugs.gnu.org; Sat, 29 May 2021 02:38:40 -0400
Original-Received: from eggs.gnu.org ([209.51.188.92]:47916)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@gnu.org>) id 1lmscH-0004GC-NX
 for 17758@debbugs.gnu.org; Sat, 29 May 2021 02:38:39 -0400
Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:35974)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@gnu.org>)
 id 1lmscB-00034e-M3; Sat, 29 May 2021 02:38:31 -0400
Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1692
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@gnu.org>)
 id 1lmscB-0006cQ-0h; Sat, 29 May 2021 02:38:31 -0400
In-Reply-To: <87v972rtfc.fsf@gnus.org> (message from Lars Ingebrigtsen on Sat, 
 29 May 2021 07:38:15 +0200)
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-BeenThere: bug-gnu-emacs@gnu.org
List-Id: "Bug reports for GNU Emacs,
 the Swiss army knife of text editors" <bug-gnu-emacs.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/bug-gnu-emacs>,
 <mailto:bug-gnu-emacs-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/bug-gnu-emacs>
List-Post: <mailto:bug-gnu-emacs@gnu.org>
List-Help: <mailto:bug-gnu-emacs-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/bug-gnu-emacs>,
 <mailto:bug-gnu-emacs-request@gnu.org?subject=subscribe>
Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org
Original-Sender: "bug-gnu-emacs"
 <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>
Xref: news.gmane.io gmane.emacs.bugs:207506
Archived-At: <http://permalink.gmane.org/gmane.emacs.bugs/207506>

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Date: Sat, 29 May 2021 07:38:15 +0200
> Cc: 17758@debbugs.gnu.org
> 
> (defun ps-mule-plot-string (from to &optional _bg-color)
> [...]
> 	 (ascii-or-latin-1 "[\000-\377]+")
> [...]
> 	    ((looking-at ascii-or-latin-1)
> 	     (let ((nchars (- (min (match-end 0) stop) (point))))
> 	       (setq width (* average-width nchars))
> 	       (if (< ps-width-remaining (+ run-width width))
> 		   (setq nchars (truncate (- ps-width-remaining run-width)
> 					  average-width)
> 			 run-width (+ run-width (* nchars average-width))
> 			 endpos (+ (point) nchars))
> 		 (setq run-width (+ run-width width))
> 		 (forward-char nchars))))
> 
> 	    (t
> 	     (while (and (< (point) stop) (not endpos))
> 	       (setq width (char-width (following-char)))
> 	       (if (< ps-width-remaining (+ run-width width))
> 		   (setq endpos (point))
> 		 (setq run-width (+ run-width width))
> 		 (forward-char 1))))))
> 
> This is trying to do word line wrapping if we're looking at ASCII or
> Latin-1 text.  (I'm not sure I understand the reasoning behind that, but
> perhaps it's because we don't want to wrap (say) Chinese text?  But...
> what's so special about Latin-1?  Why not fold Cyrillic?)
> 
> Anyway, the regexp is buggy, why is why this doesn't work.  I've now
> fixed this in Emacs 28.

I'm not sure I understand the fix, can you explain it?

Regarding the reason for limiting ourselves to Latin-1: AFAIR, ps-mule
doesn't support non-ASCII characters outside Latin-1 and CJK character
sets.  Perhaps this is the reason for this code?  But the only expert
on this is Handa-san (CC'ed): perhaps he could help us understand what
the code is doing?