Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Aug 2016 13:19:34 +0000 (UTC)
From:      Mathieu Arnold <mat@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r419609 - in head/sysutils/tmux: . files
Message-ID:  <201608041319.u74DJYlN032743@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mat
Date: Thu Aug  4 13:19:34 2016
New Revision: 419609
URL: https://svnweb.freebsd.org/changeset/ports/419609

Log:
  Fix some Unicode characters not displaying correctly.
  
  PR:		211499
  Submitted by:	Oleg Gushchenkov
  Obtained from:	https://github.com/tmux/tmux/commit/65e4c57d3a554940ed5cada6dfeff403ae8d9572
  Sponsored by:	Absolight

Added:
  head/sysutils/tmux/files/patch-utf8.c   (contents, props changed)
Modified:
  head/sysutils/tmux/Makefile   (contents, props changed)

Modified: head/sysutils/tmux/Makefile
==============================================================================
--- head/sysutils/tmux/Makefile	Thu Aug  4 12:53:33 2016	(r419608)
+++ head/sysutils/tmux/Makefile	Thu Aug  4 13:19:34 2016	(r419609)
@@ -3,6 +3,7 @@
 
 PORTNAME=	tmux
 PORTVERSION=	2.2
+PORTREVISION=	1
 CATEGORIES=	sysutils
 MASTER_SITES=	https://github.com/tmux/tmux/releases/download/${PORTVERSION}/
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX}

Added: head/sysutils/tmux/files/patch-utf8.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/tmux/files/patch-utf8.c	Thu Aug  4 13:19:34 2016	(r419609)
@@ -0,0 +1,34 @@
+commit 65e4c57d3a554940ed5cada6dfeff403ae8d9572
+Author: Nicholas Marriott <nicholas.marriott@gmail.com>
+Date:   2016-04-29 12:47:15 +0100
+
+    Only assume width 1 when wcwidth() returns -1 on non-OpenBSD platforms.
+
+--- utf8.c.orig	2016-03-02 18:29:06 UTC
++++ utf8.c
+@@ -115,8 +115,24 @@ utf8_width(wchar_t wc)
+ 	int	width;
+ 
+ 	width = wcwidth(wc);
+-	if (width < 0 || width > 0xff)
++	if (width < 0 || width > 0xff) {
++		log_debug("Unicode %04x, wcwidth() %d", wc, width);
++
++#ifndef __OpenBSD__
++		/*
++		 * Many platforms (particularly and inevitably OS X) have no
++		 * width for relatively common characters (wcwidth() returns
++		 * -1); assume width 1 in this case. This will be wrong for
++		 * genuinely nonprintable characters, but they should be
++		 * rare. We may pass through stuff that ideally we would block,
++		 * but this is no worse than sending the same to the terminal
++		 * without tmux.
++		 */
++		if (width < 0)
++			return (1);
++#endif
+ 		return (-1);
++	}
+ 	return (width);
+ }
+ 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201608041319.u74DJYlN032743>