From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alan Third Newsgroups: gmane.emacs.bugs Subject: bug#16856: [PATCH] Prevent bar cursor overwriting next glyph (bug#16856) Date: Sun, 17 Jul 2016 14:51:31 +0100 Message-ID: <20160717135131.GA4810@breton.holly.idiocy.org> References: <20160717084232.GA3426@breton.holly.idiocy.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1468763546 30562 80.91.229.3 (17 Jul 2016 13:52:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 17 Jul 2016 13:52:26 +0000 (UTC) Cc: 16856@debbugs.gnu.org To: David Reitter Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jul 17 15:52:17 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bOmUR-0000Aa-Dr for geb-bug-gnu-emacs@m.gmane.org; Sun, 17 Jul 2016 15:52:15 +0200 Original-Received: from localhost ([::1]:41705 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bOmUQ-0003ES-Mz for geb-bug-gnu-emacs@m.gmane.org; Sun, 17 Jul 2016 09:52:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59679) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bOmUI-0003EA-VL for bug-gnu-emacs@gnu.org; Sun, 17 Jul 2016 09:52:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bOmUE-00060g-TP for bug-gnu-emacs@gnu.org; Sun, 17 Jul 2016 09:52:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:42036) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bOmUE-00060c-Q1 for bug-gnu-emacs@gnu.org; Sun, 17 Jul 2016 09:52:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bOmUE-0005Qo-Fw for bug-gnu-emacs@gnu.org; Sun, 17 Jul 2016 09:52:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alan Third Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 17 Jul 2016 13:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16856 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: unreproducible Original-Received: via spool by 16856-submit@debbugs.gnu.org id=B16856.146876349820847 (code B ref 16856); Sun, 17 Jul 2016 13:52:02 +0000 Original-Received: (at 16856) by debbugs.gnu.org; 17 Jul 2016 13:51:38 +0000 Original-Received: from localhost ([127.0.0.1]:54373 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bOmTq-0005QB-BV for submit@debbugs.gnu.org; Sun, 17 Jul 2016 09:51:38 -0400 Original-Received: from mail-wm0-f65.google.com ([74.125.82.65]:35188) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bOmTo-0005Py-QV for 16856@debbugs.gnu.org; Sun, 17 Jul 2016 09:51:37 -0400 Original-Received: by mail-wm0-f65.google.com with SMTP id i5so8873354wmg.2 for <16856@debbugs.gnu.org>; Sun, 17 Jul 2016 06:51:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=AQ0x1QI0OPHupexhgXn1Sm2HxSojVJJM2AzOWUams5k=; b=MQbve5YqhkDIJsBBGGbcGr4Ynt2p4jFMSMc4uW56/ivGj9bGAW5wk34GqNQCNOa35g pBeih48pmEJmOa69JE7hLvbcgewJQpqYfE1rIqH8m76m+J0/gVBV0j3wY68raz/FmS78 5ssmsr1ZIS6IYfsqPzliJ0pp01EtrLA6Je9SANuMNJcL9UbTBy8QX5eAOYXeKzmMF0Vc /OTDFwvIizg2KZoN2Mi0E2eAkGgyQUcVzHRRs2HpnwWmost1dHetx/wXUTrfaBlNx7Tz gXMYOlrqodaUdxofgsbMzLd8ML/fZun9/perr0974jyUz/uSgRuqMx0xRPUWDj2DDlip fAvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=AQ0x1QI0OPHupexhgXn1Sm2HxSojVJJM2AzOWUams5k=; b=TKd0eRCbgk6chGc0V0Lkb+TtxbIesIX6mz3t7qzRM21iLzS5VzPyeDB2Sy8DgNx5FV bWMGVdmKifs65gV/wumVZknwy7X1pfHvMaQhRuy2/bdxD53c6HQ4sKKLB/tqz6oP1jte YzPqPKAaepl8JIUuh5jUxIwmWMfY1NTPXICBi4G7T+AAbRtjVd9z78ai8vlcWgvAIgDR z8zxtbAPTv6ODyVv/44UNKFNX2qJz93S6uxvPOQUK69lr26DOo0WvHiA5CNkFJD90MT2 06fiOFiq6gSIo41KBV6w3pGuZcqgltscfhx6prEEwNYhrOvbIH+N9hU8MaI6XCcRwk3K IYeg== X-Gm-Message-State: ALyK8tK0BaMBNJ963D5Jm/gswdXgJwnnHlz2WNx20WrArwiVeNLZd6fxoRCYjbI1kjPlxw== X-Received: by 10.28.203.137 with SMTP id b131mr16454629wmg.78.1468763491205; Sun, 17 Jul 2016 06:51:31 -0700 (PDT) Original-Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-5cc4-ba14-a0d0-bdac.holly.idiocy.org. [2001:8b0:3f8:8129:5cc4:ba14:a0d0:bdac]) by smtp.gmail.com with ESMTPSA id b203sm8448935wmh.20.2016.07.17.06.51.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 17 Jul 2016 06:51:30 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20160717084232.GA3426@breton.holly.idiocy.org> User-Agent: Mutt/1.5.24 (2015-08-30) 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:121171 Archived-At: * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width before setting final size. --- src/nsterm.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/nsterm.m b/src/nsterm.m index a6160ed..8da2ffe 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -2861,7 +2861,10 @@ Note that CURSOR_WIDTH is meaningful only for (h)bar cursors. { if (cursor_width < 1) cursor_width = max (FRAME_CURSOR_WIDTH (f), 1); - w->phys_cursor_width = cursor_width; + + /* The bar cursor should never be wider than the glyph. */ + if (cursor_width < w->phys_cursor_width) + w->phys_cursor_width = cursor_width; } /* If we have an HBAR, "cursor_width" MAY specify height. */ else if (cursor_type == HBAR_CURSOR) -- And here's a patch to prevent the bar cursor straying into the next glyph. -- Alan Third