From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 19 19:24:11 2018 Received: (at submit) by debbugs.gnu.org; 19 Jun 2018 23:24:12 +0000 Received: from localhost ([127.0.0.1]:56723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fVPyt-0007h5-IZ for submit@debbugs.gnu.org; Tue, 19 Jun 2018 19:24:11 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36392) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fVPkV-0005Mb-Jc for submit@debbugs.gnu.org; Tue, 19 Jun 2018 19:09:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fVPkP-0006Za-Ci for submit@debbugs.gnu.org; Tue, 19 Jun 2018 19:09:14 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:44472) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fVPkP-0006ZN-8o for submit@debbugs.gnu.org; Tue, 19 Jun 2018 19:09:13 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55580) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fVPkO-0002zo-1D for bug-gnu-emacs@gnu.org; Tue, 19 Jun 2018 19:09:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fVPkJ-0006SU-19 for bug-gnu-emacs@gnu.org; Tue, 19 Jun 2018 19:09:11 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:45221) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fVPkI-0006Pp-Rd for bug-gnu-emacs@gnu.org; Tue, 19 Jun 2018 19:09:06 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 1FCD921C96 for ; Tue, 19 Jun 2018 19:09:05 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Tue, 19 Jun 2018 19:09:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=i3n70NlgAxsckbzBbyQbkNwf1DJmU /RuWn+yjFizcOI=; b=bav/9qXbWJaxrAHJ1AFRak/yG5Got9nQWGpQLjXKfYf++ 5wyMEQacWwYG5ecjTcv79Vo+D3kAtAjLjZkhECr61R4tmTR1JEeAM9ZBH0R84dNJ cm4awYOracsCAZtxLW/wtgXX1+drsUf4D02qOgIMp7naEm2nB2GTvZAoVkFJzuEJ HcJsn1GnhsF2lQohUlXvyOOBPvZ7h4HSWwZ0dE9vtzjUpbnN1SvKnE0/EA9XPDB/ aa6vLNOwDbfpPHorkMzcjTF4e7wsixCZJAXAuINYyukT5VRd6okEi0/9Q/O9+GXc bBkcNdCKeL9weMIxC0ISU8ot9H+vr2w4hv3kvBBpw== X-ME-Proxy: X-ME-Sender: Received: from kitchenmac.local (75-164-214-225.ptld.qwest.net [75.164.214.225]) by mail.messagingengine.com (Postfix) with ESMTPA id 9268F10255 for ; Tue, 19 Jun 2018 19:09:04 -0400 (EDT) From: "zentrope@fastmail.fm" Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.13.1\)) Subject: 27.0.50; Emacs doesn't render text/modeline Mac OSX 10.14 Mojave Message-Id: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> Date: Tue, 19 Jun 2018 16:09:03 -0700 To: bug-gnu-emacs@gnu.org X-Mailer: Apple Mail (2.3445.100.13.1) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 19 Jun 2018 19:24:10 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Emacs from the master branch compiles on Mac OS 10.14 (Developer Beta 1 and 2) just fine, but when I run the resulting Emacs.app, none of the text or even the mode-line appears in the frame. - If I "select" the text in the scratch buffer, I see nothing, but I can then paste it into another application just fine. - If I type something in the scratch buffer, I can't see it. I can select it (but not see the region), copy it, and paste it into another application and see the text I've typed. - The mode-line isn't rendered, either. - Running Emacs.app/Contents/MacOS/Emacs -nw in a terminal window works fine. =20 The application seems to be working in all particulars except the text is invisible (not the same color as the background, just not there). In GNU Emacs 27.0.50 (build 8, x86_64-apple-darwin, NS appkit-1641.10 = Version 10.14 (Build 18A314h)) of 2018-06-19 built on KitchenMac Repository revision: 3a47f3921bdaaf7b7d80dc3be05a5f1b1f2501eb System Description: Mac OS X 10.14 Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Configured using: 'configure --build=3Dx86_64-apple-darwin --without-dbus --with-ns 'CFLAGS=3D-I /usr/local/Cellar/libxml2/2.9.7/include/libxml2' build_alias=3Dx86_64-apple-darwin' Configured features: RSVG NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS THREADS Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t line-number-mode: t transient-mark-mode: t Load-path shadows: /Applications/Emacs.app/Contents/Resources/lisp/net/starttls hides = /Applications/Emacs.app/Contents/Resources/lisp/obsolete/starttls /Applications/Emacs.app/Contents/Resources/lisp/net/tls hides = /Applications/Emacs.app/Contents/Resources/lisp/obsolete/tls Features: (shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv bytecomp byte-compile cconv dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils term/xterm xterm time-date elec-pair tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 209194 11301) (symbols 48 19961 1) (miscs 40 71 111) (strings 32 29182 1787) (string-bytes 1 766589) (vectors 16 33947) (vector-slots 8 689539 10718) (floats 8 52 202) (intervals 56 193 0) (buffers 992 12)) From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 20 15:00:29 2018 Received: (at 31904) by debbugs.gnu.org; 20 Jun 2018 19:00:29 +0000 Received: from localhost ([127.0.0.1]:57953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fViLF-0007Zx-5Z for submit@debbugs.gnu.org; Wed, 20 Jun 2018 15:00:29 -0400 Received: from mail-wm0-f47.google.com ([74.125.82.47]:38538) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fViLC-0007Zj-Me for 31904@debbugs.gnu.org; Wed, 20 Jun 2018 15:00:27 -0400 Received: by mail-wm0-f47.google.com with SMTP id 69-v6so1370207wmf.3 for <31904@debbugs.gnu.org>; Wed, 20 Jun 2018 12:00:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=3HVaQRw8s41+wOzCfXGo1ASOfqG0OtKn9VBYP7J6skU=; b=bSovECWACw9wDKG7WbZtSBQJ/3lCRQKT88ryWvi5MXe9Cbw51Y6JziL+psruJwz7+J sKTk/AvBR7sfp9k6v/FZridJ8VFCfmGjxX8SG6dEKHizq2HIyNxwAkbzXuWkEHV6ITpB wttW3hin0vsTeboQOvYlTLomW0h7M3fEkMsGHlDSprz6SoeWVy6+V+eenR0GMHSrhZxD 6qzLYRvyp9uM5qTwIYt4BZu03F3gfeZEgXnIRJgPggMhKVAmKpvUAuCxciJ4u3zxsj/c +xZdgpk/rm5lSmfHM0xueyU74uzeJoq5PK6Upno2eAE17qqQaFfX5X082QZT7uQttMq0 rJaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=3HVaQRw8s41+wOzCfXGo1ASOfqG0OtKn9VBYP7J6skU=; b=HlqflBsXHOCXpZYwKYhKP2hCSRxMXwVLkgJ8zmfx9oKYMiZTSOYv1kkwJilx1GgqT4 nzXw02ANkTn1bgv5YpPgtM6qoqbuRQMsOYS1P51PDd+gT8utsfWyT5QT810PL9R2f76z lX+cDlAD6e+3S6E6d2EuaMWG26CAOtEyUiMe294clCyAuH2i4Fa+vV6WxljMH+VNjOSf 6t9g+hE93SyYl5YsUh/OZQakfne2qTfPMpJxZ3QNFbxIUn/fdUoFvz9AvZS8O3AEo2Ir gzIYbAmRu2IATYh/qhxgPzOW+gIhLMGwIM4iPMZEB9nq9yIQyuuJzmlww3xo7bk1tLw3 Jvbg== X-Gm-Message-State: APt69E2YwV6RkCXR+wVWmrXZHKKG386szQqOAXVronIsBP7DQGIVPcR7 xzaYviCiGFSzidmsHEZsJunipRHf X-Google-Smtp-Source: ADUXVKKK+VHb/WmOyzRc7oGYj9pWep01KT0EHmL77lTIOOEmnKE9thrBaypyXygBgEabhnN555A4Vw== X-Received: by 2002:a1c:928c:: with SMTP id u134-v6mr2596300wmd.106.1529521220544; Wed, 20 Jun 2018 12:00:20 -0700 (PDT) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-992d-c7f5-20d6-e19c.holly.idiocy.org. [2001:8b0:3f8:8129:992d:c7f5:20d6:e19c]) by smtp.gmail.com with ESMTPSA id h71-v6sm4060149wme.47.2018.06.20.12.00.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Jun 2018 12:00:19 -0700 (PDT) Date: Wed, 20 Jun 2018 20:00:17 +0100 From: Alan Third To: "zentrope@fastmail.fm" Subject: Re: bug#31904: 27.0.50; Emacs doesn't render text/modeline Mac OSX 10.14 Mojave Message-ID: <20180620190017.GA73011@breton.holly.idiocy.org> References: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> User-Agent: Mutt/1.10.0 (2018-05-17) X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 31904 Cc: 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) On Tue, Jun 19, 2018 at 04:09:03PM -0700, zentrope@fastmail.fm wrote: > > > Emacs from the master branch compiles on Mac OS 10.14 (Developer Beta 1 > and 2) just fine, but when I run the resulting Emacs.app, none of the > text or even the mode-line appears in the frame. > > - If I "select" the text in the scratch buffer, I see nothing, but I can > then paste it into another application just fine. > > - If I type something in the scratch buffer, I can't see it. I can > select it (but not see the region), copy it, and paste it into another > application and see the text I've typed. > > - The mode-line isn't rendered, either. > > - Running Emacs.app/Contents/MacOS/Emacs -nw in a terminal window works > fine. > > The application seems to be working in all particulars except the text > is invisible (not the same color as the background, just not there). I can see how this might be less than ideal. Can you please recompile and send the output? I expect there are a few deprecation notices, perhaps one of them will give us a hint as to what’s going on here. -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 20 17:32:15 2018 Received: (at 31904) by debbugs.gnu.org; 20 Jun 2018 21:32:16 +0000 Received: from localhost ([127.0.0.1]:58020 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fVki6-0004cS-V6 for submit@debbugs.gnu.org; Wed, 20 Jun 2018 17:32:15 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:36495) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fVki4-0004cI-Rr for 31904@debbugs.gnu.org; Wed, 20 Jun 2018 17:32:13 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 4041E21BD6 for <31904@debbugs.gnu.org>; Wed, 20 Jun 2018 17:32:12 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Wed, 20 Jun 2018 17:32:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=846K89 5Whc0/oSRD+exqt0YwFmv4diTusGAWWHErAN0=; b=iTJyHZR/Z5Tl19W7W9AHeK FN8V5ZIi9gBFqFSHnOxFY37BgUyBj98ArcpvPmtTXhNHI1s9oe6Lvz1ogQg2S1Gf j62NhEyEYC9srXx+U+KkOZ9T7Mo0bhKhXnCzsimSMi0wEeB4bbUJKuaTG2IB5Z9l 9pc5ym1cUZMoJtWO1x8RZDV3s/APjMuWhdr5sIB7ZRc6sqGEZYOyvd6FR/rScNXD o6XV5G328a2BJvHHqjXgSl0Sf/v3OCFuewXvMGyOjG3lsJnM/D8nLaL0Zuaieieo 3h92r8ZhUDqWiIM9qbVYCK0sTxb9yCXnNziyXuL4sD7DK2V2joLxYZz75NhaqlvQ == X-ME-Proxy: X-ME-Sender: Received: from kitchenmac.local (75-164-214-225.ptld.qwest.net [75.164.214.225]) by mail.messagingengine.com (Postfix) with ESMTPA id 5C93010260 for <31904@debbugs.gnu.org>; Wed, 20 Jun 2018 17:32:11 -0400 (EDT) From: "zentrope@fastmail.fm" Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.13.1\)) Subject: Re: bug#31904: Acknowledgement (27.0.50; Emacs doesn't render text/modeline Mac OSX 10.14 Mojave) Date: Wed, 20 Jun 2018 14:32:09 -0700 References: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> To: 31904@debbugs.gnu.org In-Reply-To: Message-Id: X-Mailer: Apple Mail (2.3445.100.13.1) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 31904 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Here=E2=80=99s the bit involved with the NS stuff. Yes, plenty of = deprecations, though that=E2=80=99s been going on for quite a few = iterations. CC nsterm.o nsterm.m:175:16: warning: 'colorUsingColorSpaceName:' is deprecated: = first deprecated in macOS 10.14 - Use -colorUsingType: or -colorUsingColorSpace: = instead [-Wdeprecated-declarations] return [self colorUsingColorSpaceName: NSCalibratedRGBColorSpace]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSColor.h:405:1: note:=20 'colorUsingColorSpaceName:' has been explicitly marked deprecated = here - (nullable NSColor *)colorUsingColorSpaceName:(NSColorSpaceName)name = NS_DEPRECAT... ^ nsterm.m:713:3: warning: 'NSDisableScreenUpdates' is deprecated: first = deprecated in macOS 10.11 - As of 10.11 it is not generally necessary to take = explicit action to achieve visual atomicity. +[NSAnimationContext runAnimationGroup:] = and other similar methods can be used when a stronger than normal need for = visual atomicity is required. The NSAnimationContext methods do not suffer from the = same performance problems as NSDisableScreenUpdates. [-Wdeprecated-declarations] NSDisableScreenUpdates (); ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSGraphics.h:234:20: note:=20 'NSDisableScreenUpdates' has been explicitly marked deprecated = here APPKIT_EXTERN void NSDisableScreenUpdates(void) NS_DEPRECATED_MAC(10_0, = 10_11, "A... ^ nsterm.m:723:7: warning: 'NSEnableScreenUpdates' is deprecated: first = deprecated in macOS 10.11 - As of 10.11 it is not generally necessary to take explicit = action to achieve visual atomicity. +[NSAnimationContext runAnimationGroup:] = and other similar methods can be used when a stronger than normal need for = visual atomicity is required. The NSAnimationContext methods do not suffer from the = same performance problems as NSEnableScreenUpdates. [-Wdeprecated-declarations] NSEnableScreenUpdates (); ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSGraphics.h:236:20: note:=20 'NSEnableScreenUpdates' has been explicitly marked deprecated here APPKIT_EXTERN void NSEnableScreenUpdates(void) NS_DEPRECATED_MAC(10_0, = 10_11, "A... ^ nsterm.m:1113:9: warning: 'lockFocus' is deprecated: first deprecated in = macOS 10.14 - To draw, subclass NSView and implement -drawRect:; AppKit's automatic = deferred display mechanism will call -drawRect: as necessary to display the view. [-Wdeprecated-declarations] [view lockFocus]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSView.h:235:1: note:=20 'lockFocus' has been explicitly marked deprecated here - (void)lockFocus NS_DEPRECATED_MAC(10_0, 10_14, "To draw, subclass = NSView and im... ^ nsterm.m:1230:9: warning: 'unlockFocus' is deprecated: first deprecated = in macOS 10.14 - To draw, subclass NSView and implement -drawRect:; AppKit's = automatic deferred display mechanism will call -drawRect: as necessary to display the = view. [-Wdeprecated-declarations] [view unlockFocus]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSView.h:236:1: note:=20 'unlockFocus' has been explicitly marked deprecated here - (void)unlockFocus NS_DEPRECATED_MAC(10_0, 10_14, "To draw, subclass = NSView and ... ^ nsterm.m:1231:18: warning: 'flushWindow' is deprecated: first deprecated = in macOS 10.14 - Allow AppKit's automatic deferred display mechanism to take care = of flushing any graphics contexts as needed. [-Wdeprecated-declarations] [[view window] flushWindow]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSWindow.h:925:1: note:=20 'flushWindow' has been explicitly marked deprecated here - (void)flushWindow NS_DEPRECATED_MAC(10_0, 10_14, "Allow AppKit's = automatic defe... ^ nsterm.m:1261:27: warning: 'unlockFocus' is deprecated: first deprecated = in macOS 10.14 - To draw, subclass NSView and implement -drawRect:; AppKit's = automatic deferred display mechanism will call -drawRect: as necessary to display the = view. [-Wdeprecated-declarations] [focus_view unlockFocus]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSView.h:236:1: note:=20 'unlockFocus' has been explicitly marked deprecated here - (void)unlockFocus NS_DEPRECATED_MAC(10_0, 10_14, "To draw, subclass = NSView and ... ^ nsterm.m:1262:36: warning: 'flushWindow' is deprecated: first deprecated = in macOS 10.14 - Allow AppKit's automatic deferred display mechanism to take care = of flushing any graphics contexts as needed. [-Wdeprecated-declarations] [[focus_view window] flushWindow]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSWindow.h:925:1: note:=20 'flushWindow' has been explicitly marked deprecated here - (void)flushWindow NS_DEPRECATED_MAC(10_0, 10_14, "Allow AppKit's = automatic defe... ^ nsterm.m:1267:19: warning: 'lockFocus' is deprecated: first deprecated = in macOS 10.14 - To draw, subclass NSView and implement -drawRect:; AppKit's = automatic deferred display mechanism will call -drawRect: as necessary to display the = view. [-Wdeprecated-declarations] [view lockFocus]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSView.h:235:1: note:=20 'lockFocus' has been explicitly marked deprecated here - (void)lockFocus NS_DEPRECATED_MAC(10_0, 10_14, "To draw, subclass = NSView and im... ^ nsterm.m:1304:23: warning: 'unlockFocus' is deprecated: first deprecated = in macOS 10.14 - To draw, subclass NSView and implement -drawRect:; AppKit's = automatic deferred display mechanism will call -drawRect: as necessary to display the = view. [-Wdeprecated-declarations] [focus_view unlockFocus]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSView.h:236:1: note:=20 'unlockFocus' has been explicitly marked deprecated here - (void)unlockFocus NS_DEPRECATED_MAC(10_0, 10_14, "To draw, subclass = NSView and ... ^ nsterm.m:1305:32: warning: 'flushWindow' is deprecated: first deprecated = in macOS 10.14 - Allow AppKit's automatic deferred display mechanism to take care = of flushing any graphics contexts as needed. [-Wdeprecated-declarations] [[focus_view window] flushWindow]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSWindow.h:925:1: note:=20 'flushWindow' has been explicitly marked deprecated here - (void)flushWindow NS_DEPRECATED_MAC(10_0, 10_14, "Allow AppKit's = automatic defe... ^ nsterm.m:2876:26: warning: 'scrollRect:by:' is deprecated: first = deprecated in macOS 10.14 - Use NSScrollView to achieve scrolling views. = [-Wdeprecated-declarations] [FRAME_NS_VIEW (f) scrollRect: src ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSView.h:260:1: note:=20 'scrollRect:by:' has been explicitly marked deprecated here - (void)scrollRect:(NSRect)rect by:(NSSize)delta NS_DEPRECATED_MAC(10_0, = 10_14, "... ^ nsterm.m:3270:3: warning: 'NSDisableScreenUpdates' is deprecated: first = deprecated in macOS 10.11 - As of 10.11 it is not generally necessary to take = explicit action to achieve visual atomicity. +[NSAnimationContext runAnimationGroup:] = and other similar methods can be used when a stronger than normal need for = visual atomicity is required. The NSAnimationContext methods do not suffer from the = same performance problems as NSDisableScreenUpdates. [-Wdeprecated-declarations] NSDisableScreenUpdates (); ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSGraphics.h:234:20: note:=20 'NSDisableScreenUpdates' has been explicitly marked deprecated = here APPKIT_EXTERN void NSDisableScreenUpdates(void) NS_DEPRECATED_MAC(10_0, = 10_11, "A... ^ nsterm.m:3308:3: warning: 'NSEnableScreenUpdates' is deprecated: first = deprecated in macOS 10.11 - As of 10.11 it is not generally necessary to take = explicit action to achieve visual atomicity. +[NSAnimationContext runAnimationGroup:] = and other similar methods can be used when a stronger than normal need for = visual atomicity is required. The NSAnimationContext methods do not suffer from the = same performance problems as NSEnableScreenUpdates. [-Wdeprecated-declarations] NSEnableScreenUpdates (); ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSGraphics.h:236:20: note:=20 'NSEnableScreenUpdates' has been explicitly marked deprecated here APPKIT_EXTERN void NSEnableScreenUpdates(void) NS_DEPRECATED_MAC(10_0, = 10_11, "A... ^ nsterm.m:5353:13: warning: 'writeToFile:' is deprecated: first = deprecated in macOS 10.14 - Use -writeToURL:error: instead [-Wdeprecated-declarations] [cl writeToFile: nil]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSColorList.h:102:1: note:=20 'writeToFile:' has been explicitly marked deprecated here - (BOOL)writeToFile:(nullable NSString *)path NS_DEPRECATED_MAC(10_0, = 10_14, "Us... ^ nsterm.m:5453:47: warning: 'NSStringPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] ns_send_types =3D [[NSArray arrayWithObjects: NSStringPboardType, nil] = retain]; ^~~~~~~~~~~~~~~~~~ NSPasteboardTypeString = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:320:32: note:=20 'NSStringPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSStringPboardType = NS_DEPRECATED_WITH_REPLACEMENT_... ^ nsterm.m:5454:49: warning: 'NSStringPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] ns_return_types =3D [[NSArray arrayWithObjects: NSStringPboardType, = nil] ^~~~~~~~~~~~~~~~~~ NSPasteboardTypeString = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:320:32: note:=20 'NSStringPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSStringPboardType = NS_DEPRECATED_WITH_REPLACEMENT_... ^ nsterm.m:5457:29: warning: 'NSStringPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] NSStringPboardType, ^~~~~~~~~~~~~~~~~~ NSPasteboardTypeString = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:320:32: note:=20 'NSStringPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSStringPboardType = NS_DEPRECATED_WITH_REPLACEMENT_... ^ nsterm.m:5458:29: warning: 'NSTabularTextPboardType' is deprecated: = first deprecated in macOS 10.14 [-Wdeprecated-declarations] NSTabularTextPboardType, ^~~~~~~~~~~~~~~~~~~~~~~ NSPasteboardTypeTabularText = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:324:32: note:=20 'NSTabularTextPboardType' has been explicitly marked deprecated = here APPKIT_EXTERN NSPasteboardType NSTabularTextPboardType = NS_DEPRECATED_WITH_REPLACE... ^ nsterm.m:5459:29: warning: 'NSFilenamesPboardType' is deprecated: first = deprecated in macOS 10.14 - Create multiple pasteboard items with = NSPasteboardTypeFileURL or kUTTypeFileURL instead [-Wdeprecated-declarations] NSFilenamesPboardType, ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:321:32: note:=20 'NSFilenamesPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSFilenamesPboardType = NS_DEPRECATED_MAC(10_0, 10_1... ^ nsterm.m:5460:29: warning: 'NSURLPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] NSURLPboardType, nil] retain]; ^~~~~~~~~~~~~~~ NSPasteboardTypeURL = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:330:32: note:=20 'NSURLPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSURLPboardType = NS_DEPRECATED_WITH_REPLACEMENT_MAC... ^ nsterm.m:8246:35: warning: 'NSFilenamesPboardType' is deprecated: first = deprecated in macOS 10.14 - Create multiple pasteboard items with = NSPasteboardTypeFileURL or kUTTypeFileURL instead [-Wdeprecated-declarations] else if ([type isEqualToString: NSFilenamesPboardType]) ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:321:32: note:=20 'NSFilenamesPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSFilenamesPboardType = NS_DEPRECATED_MAC(10_0, 10_1... ^ nsterm.m:8267:35: warning: 'NSURLPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] else if ([type isEqualToString: NSURLPboardType]) ^~~~~~~~~~~~~~~ NSPasteboardTypeURL = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:330:32: note:=20 'NSURLPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSURLPboardType = NS_DEPRECATED_WITH_REPLACEMENT_MAC... ^ nsterm.m:8289:35: warning: 'NSStringPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] else if ([type isEqualToString: NSStringPboardType] ^~~~~~~~~~~~~~~~~~ NSPasteboardTypeString = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:320:32: note:=20 'NSStringPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSStringPboardType = NS_DEPRECATED_WITH_REPLACEMENT_... ^ nsterm.m:8290:38: warning: 'NSTabularTextPboardType' is deprecated: = first deprecated in macOS 10.14 [-Wdeprecated-declarations] || [type isEqualToString: NSTabularTextPboardType]) ^~~~~~~~~~~~~~~~~~~~~~~ NSPasteboardTypeTabularText = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:324:32: note:=20 'NSTabularTextPboardType' has been explicitly marked deprecated = here APPKIT_EXTERN NSPasteboardType NSTabularTextPboardType = NS_DEPRECATED_WITH_REPLACE... ^ nsterm.m:8352:29: warning: 'NSStringPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] if ([types containsObject:NSStringPboardType] =3D=3D NO) { ^~~~~~~~~~~~~~~~~~ NSPasteboardTypeString = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:320:32: note:=20 'NSStringPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSStringPboardType = NS_DEPRECATED_WITH_REPLACEMENT_... ^ nsterm.m:8366:44: warning: 'NSStringPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] typesDeclared =3D [NSArray arrayWithObject:NSStringPboardType]; ^~~~~~~~~~~~~~~~~~ NSPasteboardTypeString = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:320:32: note:=20 'NSStringPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSStringPboardType = NS_DEPRECATED_WITH_REPLACEMENT_... ^ nsterm.m:9028:10: warning: 'NSScrollerDecrementLine' is deprecated: = first deprecated in macOS 10.14 [-Wdeprecated-declarations] case NSScrollerDecrementLine: ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSScroller.h:24:5: note:=20 'NSScrollerDecrementLine' has been explicitly marked deprecated = here NSScrollerDecrementLine NS_ENUM_DEPRECATED_MAC(10_0, 10_14) =3D 4, ^ nsterm.m:9030:10: warning: 'NSScrollerIncrementLine' is deprecated: = first deprecated in macOS 10.14 [-Wdeprecated-declarations] case NSScrollerIncrementLine: ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSScroller.h:25:5: note:=20 'NSScrollerIncrementLine' has been explicitly marked deprecated = here NSScrollerIncrementLine NS_ENUM_DEPRECATED_MAC(10_0, 10_14) =3D 5, ^ 29 warnings generated. CC nsfns.o CC nsmenu.o nsmenu.m:670:25: warning: 'NSOnState' is deprecated: first deprecated in = macOS 10.14 [-Wdeprecated-declarations] [item setState: NSOnState]; ^~~~~~~~~ NSControlStateValueOn = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSCell.h:80:34: note:=20 'NSOnState' has been explicitly marked deprecated here static const NSControlStateValue NSOnState = NS_DEPRECATED_WITH_REPLACEMENT_MAC("NS... ^ nsmenu.m:672:25: warning: 'NSOffState' is deprecated: first deprecated = in macOS 10.14 [-Wdeprecated-declarations] [item setState: NSOffState]; ^~~~~~~~~~ NSControlStateValueOff = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSCell.h:79:34: note:=20 'NSOffState' has been explicitly marked deprecated here static const NSControlStateValue NSOffState = NS_DEPRECATED_WITH_REPLACEMENT_MAC("N... ^ nsmenu.m:1596:24: warning: 'NSRoundedBezelStyle' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] [cell setBezelStyle: NSRoundedBezelStyle]; ^~~~~~~~~~~~~~~~~~~ NSBezelStyleRounded = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSButtonCell.h:181:27: note:=20 'NSRoundedBezelStyle' has been explicitly marked deprecated here static const NSBezelStyle NSRoundedBezelStyle = NS_DEPRECATED_WITH_REPLACEMENT_MAC(... ^ nsmenu.m:1609:9: warning: 'setOneShot:' is deprecated: first deprecated = in macOS 10.14 - This property does not do anything and should not be used [-Wdeprecated-declarations] [self setOneShot: YES]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSWindow.h:933:35: note:=20 property 'oneShot' is declared deprecated here @property (getter=3DisOneShot) BOOL oneShot NS_DEPRECATED_MAC(10_0, = 10_14, "This pr... ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSWindow.h:933:35: note:=20 'setOneShot:' has been explicitly marked deprecated here 4 warnings generated. CC nsselect.o nsselect.m:60:38: warning: 'NSStringPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] if (EQ (sym, QTEXT)) return NSStringPboardType; ^~~~~~~~~~~~~~~~~~ NSPasteboardTypeString = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:320:32: note:=20 'NSStringPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSStringPboardType = NS_DEPRECATED_WITH_REPLACEMENT_... ^ nsselect.m:79:27: warning: 'NSStringPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] if ([t isEqualToString: NSStringPboardType]) ^~~~~~~~~~~~~~~~~~ NSPasteboardTypeString = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:320:32: note:=20 'NSStringPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSStringPboardType = NS_DEPRECATED_WITH_REPLACEMENT_... ^ nsselect.m:81:27: warning: 'NSFilenamesPboardType' is deprecated: first = deprecated in macOS 10.14 - Create multiple pasteboard items with = NSPasteboardTypeFileURL or kUTTypeFileURL instead [-Wdeprecated-declarations] if ([t isEqualToString: NSFilenamesPboardType]) ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:321:32: note:=20 'NSFilenamesPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSFilenamesPboardType = NS_DEPRECATED_MAC(10_0, 10_1... ^ nsselect.m:83:27: warning: 'NSTabularTextPboardType' is deprecated: = first deprecated in macOS 10.14 [-Wdeprecated-declarations] if ([t isEqualToString: NSTabularTextPboardType]) ^~~~~~~~~~~~~~~~~~~~~~~ NSPasteboardTypeTabularText = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:324:32: note:=20 'NSTabularTextPboardType' has been explicitly marked deprecated = here APPKIT_EXTERN NSPasteboardType NSTabularTextPboardType = NS_DEPRECATED_WITH_REPLACE... ^ nsselect.m:196:22: warning: 'NSStringPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] eassert (gtype =3D=3D NSStringPboardType); ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:320:32: note:=20 'NSStringPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSStringPboardType = NS_DEPRECATED_WITH_REPLACEMENT_... ^ nsselect.m:348:10: warning: 'NSStringPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] type =3D NSStringPboardType; ^~~~~~~~~~~~~~~~~~ NSPasteboardTypeString = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:320:32: note:=20 'NSStringPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSStringPboardType = NS_DEPRECATED_WITH_REPLACEMENT_... ^ nsselect.m:475:36: warning: 'NSStringPboardType' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] [NSNumber numberWithLong:0], NSStringPboardType, ^~~~~~~~~~~~~~~~~~ NSPasteboardTypeString = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:320:32: note:=20 'NSStringPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSStringPboardType = NS_DEPRECATED_WITH_REPLACEMENT_... ^ nsselect.m:476:36: warning: 'NSFilenamesPboardType' is deprecated: first = deprecated in macOS 10.14 - Create multiple pasteboard items with = NSPasteboardTypeFileURL or kUTTypeFileURL instead [-Wdeprecated-declarations] [NSNumber numberWithLong:0], NSFilenamesPboardType, ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:321:32: note:=20 'NSFilenamesPboardType' has been explicitly marked deprecated here APPKIT_EXTERN NSPasteboardType NSFilenamesPboardType = NS_DEPRECATED_MAC(10_0, 10_1... ^ nsselect.m:477:36: warning: 'NSTabularTextPboardType' is deprecated: = first deprecated in macOS 10.14 [-Wdeprecated-declarations] [NSNumber numberWithLong:0], NSTabularTextPboardType, ^~~~~~~~~~~~~~~~~~~~~~~ NSPasteboardTypeTabularText = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSPasteboard.h:324:32: note:=20 'NSTabularTextPboardType' has been explicitly marked deprecated = here APPKIT_EXTERN NSPasteboardType NSTabularTextPboardType = NS_DEPRECATED_WITH_REPLACE... ^ 9 warnings generated. CC nsimage.o nsimage.m:312:14: warning: 'colorSpaceName' is deprecated: first = deprecated in macOS 10.14 - Use -type and NSColorType instead = [-Wdeprecated-declarations] if ([color colorSpaceName] !=3D NSCalibratedRGBColorSpace) ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSColor.h:393:45: note:=20 property 'colorSpaceName' is declared deprecated here @property (readonly, copy) NSColorSpaceName colorSpaceName = NS_DEPRECATED_MAC(10_0... ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSColor.h:393:45: note:=20 'colorSpaceName' has been explicitly marked deprecated here nsimage.m:313:23: warning: 'colorUsingColorSpaceName:' is deprecated: = first deprecated in macOS 10.14 - Use -colorUsingType: or -colorUsingColorSpace: = instead [-Wdeprecated-declarations] rgbColor =3D [color colorUsingColorSpaceName: = NSCalibratedRGBColorSpace]; ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSColor.h:405:1: note:=20 'colorUsingColorSpaceName:' has been explicitly marked deprecated = here - (nullable NSColor *)colorUsingColorSpaceName:(NSColorSpaceName)name = NS_DEPRECAT... ^ 2 warnings generated. CC macfont.o macfont.m:2822:49: warning: 'graphicsPort' is deprecated: first = deprecated in macOS 10.14 [-Wdeprecated-declarations] context =3D [[NSGraphicsContext currentContext] graphicsPort]; ^~~~~~~~~~~~ CGContext = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSGraphicsContext.h:111:28: note:=20 property 'graphicsPort' is declared deprecated here @property (readonly) void *graphicsPort NS_RETURNS_INNER_POINTER = NS_DEPRECATED_WI... ^ = /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Fr= ameworks/AppKit.framework/Headers/NSGraphicsContext.h:111:28: note:=20 'graphicsPort' has been explicitly marked deprecated here 1 warning generated. CC terminfo.o CC lastfile.o /Applications/Xcode.app/Contents/Developer/usr/bin/make -C = ../admin/charsets all GEN ../../etc/charsets/JISX2131.map GEN charsets.stamp /Applications/Xcode.app/Contents/Developer/usr/bin/make -C = ../admin/unidata charscript.el make[3]: Nothing to be done for `charscript.el'. CCLD temacs ../build-aux/install-sh -c -d ../etc /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../lisp = update-subdirs ./temacs --batch --load loadup bootstrap Loading loadup.el (source)... Using load-path (/Users/keith/Source/emacs/lisp = /Users/keith/Source/emacs/lisp/emacs-lisp = /Users/keith/Source/emacs/lisp/progmodes = /Users/keith/Source/emacs/lisp/language = /Users/keith/Source/emacs/lisp/international = /Users/keith/Source/emacs/lisp/textmodes = /Users/keith/Source/emacs/lisp/vc) > On Jun 19, 2018, at 4:25 PM, GNU bug Tracking System = wrote: >=20 > Thank you for filing a new bug report with debbugs.gnu.org. >=20 > This is an automatically generated reply to let you know your message > has been received. >=20 > Your message is being forwarded to the package maintainers and other > interested parties for their attention; they will reply in due course. >=20 > Your message has been sent to the package maintainer(s): > bug-gnu-emacs@gnu.org >=20 > If you wish to submit further information on this problem, please > send it to 31904@debbugs.gnu.org. >=20 > Please do not send mail to help-debbugs@gnu.org unless you wish > to report a problem with the Bug-tracking system. >=20 > --=20 > 31904: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D31904 > GNU Bug Tracking System > Contact help-debbugs@gnu.org with problems From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 15 19:54:31 2018 Received: (at 31904) by debbugs.gnu.org; 15 Aug 2018 23:54:31 +0000 Received: from localhost ([127.0.0.1]:52143 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fq5cV-00031o-Bm for submit@debbugs.gnu.org; Wed, 15 Aug 2018 19:54:31 -0400 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:53791) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fq5cT-00031g-Jp for 31904@debbugs.gnu.org; Wed, 15 Aug 2018 19:54:29 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 63E6D289 for <31904@debbugs.gnu.org>; Wed, 15 Aug 2018 19:54:28 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Wed, 15 Aug 2018 19:54:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=Xgs72/ffKWw/iOorBpy4vstPCg3cOaN1unot78vUsH8=; b=Z/rIo/kQ JrwbBOa5T4az9eu4DubsPsq4OofwE750KSXx7DD/wpoWWY7O7FxiGR3b7108Ggw5 ePyGsQYfPr48gcvj0DW7HFRxUblXKBj/Fc5HGwKw3NUSxvF7HTZEa4Yhwnn3hfDE amR631uheyAe9+Lle9lgWAj1ViWvwbjgdI253hVVgDHSWtkLaz+eWU4A34+oIfmU JNgnphhkQ0wD/i6b98vNR+FYFRWH39oQ9Y6gWbylfXRgZFCP9QG0QPeHUK1o9pUC 8ZUm6NqT+jleghdOy3jp/u7JHKpJmk+lQQlHs9miDnj2jo4PTOH1nW1m8viJwlAv E3DsfeUjXB8Upw== X-ME-Proxy: X-ME-Sender: Received: from [192.168.0.7] (75-164-214-225.ptld.qwest.net [75.164.214.225]) by mail.messagingengine.com (Postfix) with ESMTPA id 7611610255 for <31904@debbugs.gnu.org>; Wed, 15 Aug 2018 19:54:27 -0400 (EDT) From: "zentrope@fastmail.fm" Content-Type: multipart/alternative; boundary="Apple-Mail=_983CE5EF-92F5-4104-B9FE-D9A93ADE364D" Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.32\)) Subject: scatch/ns-drawing Message-Id: <5C8BCF98-F8C6-465F-99C0-728F25A47982@zentrope.com> Date: Wed, 15 Aug 2018 16:54:26 -0700 To: 31904@debbugs.gnu.org X-Mailer: Apple Mail (2.3445.100.32) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 31904 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --Apple-Mail=_983CE5EF-92F5-4104-B9FE-D9A93ADE364D Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 For what it=E2=80=99s worth, the scratch/ns-drawing branch has fixed = this for me. https://github.com/emacs-mirror/emacs/tree/scratch/ns-drawing = --Apple-Mail=_983CE5EF-92F5-4104-B9FE-D9A93ADE364D Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 For = what it=E2=80=99s worth, the scratch/ns-drawing branch has fixed this = for me.



= --Apple-Mail=_983CE5EF-92F5-4104-B9FE-D9A93ADE364D-- From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 18 10:02:48 2018 Received: (at 31904) by debbugs.gnu.org; 18 Aug 2018 14:02:48 +0000 Received: from localhost ([127.0.0.1]:54182 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fr1oU-0005rM-Iw for submit@debbugs.gnu.org; Sat, 18 Aug 2018 10:02:48 -0400 Received: from mail-wm0-f50.google.com ([74.125.82.50]:39301) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fr1oR-0005qd-0p for 31904@debbugs.gnu.org; Sat, 18 Aug 2018 10:02:44 -0400 Received: by mail-wm0-f50.google.com with SMTP id q8-v6so9803256wmq.4 for <31904@debbugs.gnu.org>; Sat, 18 Aug 2018 07:02:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=hK6KcnigA7rWSNVb/jswOM5uTLmggAC5lTaLFeEZijE=; b=LWfD9lOQoSP2Tww60KEfQTY3CSD8RfXi0sfHFC7qYAmxSRMhDIYP2GQz/H3p+MRXy9 46q6qVyN5hk4pfWppbz8QoKLmfiAga/Y2+TJfgZxfB1IS6vHe3ckJXdyC6VMVSARMb6F TXknkq+2Pgj++xWmDMtAoOCDZLXeNQLjPGiihPnWmF9tZlP6itkbbW2bYFnPAL4/VwZW 4EohLi5Oe8Dw9k5xw4YTwBZ6ZAO7HYHZ7Dux0RgaBcvJbEbWCqTHq7LNuG1/RQg2vdcY kL3SKhPvQB7uY3SZoUCaVSWw2A8NT+1gShlAlIJmxUXarkVNvhGfU45qhTl3RbjGexZd pzPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=hK6KcnigA7rWSNVb/jswOM5uTLmggAC5lTaLFeEZijE=; b=UNeLF1oy/m8eMEI+ef3Y2lQx05vG7sB5BVHS51Iuec3s5XyGk9wnGUzFfBrUDfuHWC CNxWQTCfsb7p8fehU+SQIg/a+fLElpd9G1RImdG+8XbT9Wu1a4TXt3Q5JLHPnxrCDqku Qqr3NgLxxTBqHEsZXA9n6i+xAQJzg3D1svrj+VtSi6ZMgAmIVbYXeuFLMUOpPdajirnK 9uWLLivWJKymwpZanm2ZaVSAcRe9GqhK97PuTTaidf4NijtJ/bv2TnT9qjutSEelqmL0 TJN5DCBsPRtZnwsWVpqitUd1OYiCvCWfA2l6CFpvBOzJbwSR/La9deo+3SaUtHMvR28e BeIw== X-Gm-Message-State: AOUpUlF++8l18ZWy9lTWTBK53210Y1nA5TuRcsonhi90QypRjWxZlvbV j8Ne8bsYc3br3yJeBpwXMvE= X-Google-Smtp-Source: AA+uWPyp1qAyTlIc8fyyca9iizKm+W9/dYke4cgm9ke/jSLwLq3wL2direxgjs0mKw4PHmlUgmpySw== X-Received: by 2002:a1c:93d3:: with SMTP id v202-v6mr21758649wmd.57.1534600957072; Sat, 18 Aug 2018 07:02:37 -0700 (PDT) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-55df-fcd1-50f5-28cb.holly.idiocy.org. [2001:8b0:3f8:8129:55df:fcd1:50f5:28cb]) by smtp.gmail.com with ESMTPSA id m129-v6sm6985300wma.1.2018.08.18.07.02.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 18 Aug 2018 07:02:35 -0700 (PDT) Date: Sat, 18 Aug 2018 15:02:33 +0100 From: Alan Third To: "zentrope@fastmail.fm" Subject: Re: bug#31904: scatch/ns-drawing Message-ID: <20180818140233.GA63685@breton.holly.idiocy.org> References: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> <5C8BCF98-F8C6-465F-99C0-728F25A47982@zentrope.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Nq2Wo0NMKNjxTN9z" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5C8BCF98-F8C6-465F-99C0-728F25A47982@zentrope.com> User-Agent: Mutt/1.10.0 (2018-05-17) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 31904 Cc: 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Nq2Wo0NMKNjxTN9z Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit On Wed, Aug 15, 2018 at 04:54:26PM -0700, zentrope@fastmail.fm wrote: > For what it’s worth, the scratch/ns-drawing branch has fixed this for me. > > https://github.com/emacs-mirror/emacs/tree/scratch/ns-drawing Thanks for the confirmation. I think I’ll have to port it to Emacs 26. It’s quite a large change, but if Emacs 26 in its current form simply doesn’t work at all with the next release of macOS I don’t see that we have much choice. Can you please try the attached patch against emacs-26? -- Alan Third --Nq2Wo0NMKNjxTN9z Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0001-Force-all-NS-drawing-to-be-done-from-drawRect.patch" >From 9e71b4aa4ece9ced6b888db403e9ae027501a625 Mon Sep 17 00:00:00 2001 From: Alan Third Date: Sat, 4 Aug 2018 11:08:23 +0100 Subject: [PATCH] Force all NS drawing to be done from drawRect: * src/nsterm.m (ns_update_begin): Don't lock focus, only clip if there is already a view focused. (ns_update_end): Don't mess with view focusing any more. (ns_focus): Only clip drawing if there is already a focused view, otherwise mark area dirty for later drawing. (ns_unfocus): Don't unfocus the view any more. (ns_clip_to_row): Update to match ns_focus. (ns_clear_frame): (ns_clear_frame_area): (ns_draw_fringe_bitmap): (ns_draw_window_cursor): (ns_draw_vertical_window_border): (ns_draw_window_divider): (ns_dumpglyphs_stretch): (ns_draw_glyph_string): Only draw if ns_focus or ns_clip_to_row return YES. (ns_copy_bits): Remove superfluous calls to ns_(un)focus. (ns_flush_display): New function. --- src/nsterm.m | 736 +++++++++++++++++++++++++-------------------------- 1 file changed, 365 insertions(+), 371 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index 5ed71c9f8f..b36d847eb3 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -276,8 +276,6 @@ - (NSColor *)colorUsingDefaultColorSpace long context_menu_value = 0; /* display update */ -static struct frame *ns_updating_frame; -static NSView *focus_view = NULL; static int ns_window_num = 0; #ifdef NS_IMPL_GNUSTEP static NSRect uRect; // TODO: This is dead, remove it? @@ -1055,30 +1053,29 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen) } #endif - ns_updating_frame = f; - [view lockFocus]; - /* drawRect may have been called for say the minibuffer, and then clip path is for the minibuffer. But the display engine may draw more because we have set the frame as garbaged. So reset clip path to the whole view. */ + /* FIXME: I don't think we need to do this. */ #ifdef NS_IMPL_COCOA - { - NSBezierPath *bp; - NSRect r = [view frame]; - NSRect cr = [[view window] frame]; - /* If a large frame size is set, r may be larger than the window frame - before constrained. In that case don't change the clip path, as we - will clear in to the tool bar and title bar. */ - if (r.size.height - + FRAME_NS_TITLEBAR_HEIGHT (f) - + FRAME_TOOLBAR_HEIGHT (f) <= cr.size.height) - { - bp = [[NSBezierPath bezierPathWithRect: r] retain]; - [bp setClip]; - [bp release]; - } - } + if ([NSView focusView] == FRAME_NS_VIEW (f)) + { + NSBezierPath *bp; + NSRect r = [view frame]; + NSRect cr = [[view window] frame]; + /* If a large frame size is set, r may be larger than the window frame + before constrained. In that case don't change the clip path, as we + will clear in to the tool bar and title bar. */ + if (r.size.height + + FRAME_NS_TITLEBAR_HEIGHT (f) + + FRAME_TOOLBAR_HEIGHT (f) <= cr.size.height) + { + bp = [[NSBezierPath bezierPathWithRect: r] retain]; + [bp setClip]; + [bp release]; + } + } #endif #ifdef NS_IMPL_GNUSTEP @@ -1164,23 +1161,14 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen) external (RIF) call; for whole frame, called after update_window_end -------------------------------------------------------------------------- */ { - EmacsView *view = FRAME_NS_VIEW (f); - NSTRACE_WHEN (NSTRACE_GROUP_UPDATES, "ns_update_end"); /* if (f == MOUSE_HL_INFO (f)->mouse_face_mouse_frame) */ MOUSE_HL_INFO (f)->mouse_face_defer = 0; - - block_input (); - - [view unlockFocus]; - [[view window] flushWindow]; - - unblock_input (); - ns_updating_frame = NULL; } -static void + +static BOOL ns_focus (struct frame *f, NSRect *r, int n) /* -------------------------------------------------------------------------- Internal: Focus on given frame. During small local updates this is used to @@ -1192,48 +1180,38 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen) -------------------------------------------------------------------------- */ { NSTRACE_WHEN (NSTRACE_GROUP_FOCUS, "ns_focus"); - if (r != NULL) + if (r) { NSTRACE_RECT ("r", *r); - } - if (f != ns_updating_frame) - { - NSView *view = FRAME_NS_VIEW (f); - if (view != focus_view) + if ([NSView focusView] == FRAME_NS_VIEW (f)) { - if (focus_view != NULL) - { - [focus_view unlockFocus]; - [[focus_view window] flushWindow]; -/*debug_lock--; */ - } + [[NSGraphicsContext currentContext] saveGraphicsState]; + if (n == 2) + NSRectClipList (r, 2); + else + NSRectClip (*r); + gsaved = YES; - if (view) - [view lockFocus]; - focus_view = view; -/*if (view) debug_lock++; */ + return YES; } - } - - /* clipping */ - if (r) - { - [[NSGraphicsContext currentContext] saveGraphicsState]; - if (n == 2) - NSRectClipList (r, 2); else - NSRectClip (*r); - gsaved = YES; + { + NSView *view = FRAME_NS_VIEW (f); + int i; + for (i = 0 ; i < n ; i++) + [view setNeedsDisplayInRect:r[i]]; + } } + + return NO; } static void ns_unfocus (struct frame *f) -/* -------------------------------------------------------------------------- - Internal: Remove focus on given frame - -------------------------------------------------------------------------- */ +/* Internal: Restore the previous graphics state, unsetting any + clipping areas. */ { NSTRACE_WHEN (NSTRACE_GROUP_FOCUS, "ns_unfocus"); @@ -1242,21 +1220,10 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen) [[NSGraphicsContext currentContext] restoreGraphicsState]; gsaved = NO; } - - if (f != ns_updating_frame) - { - if (focus_view != NULL) - { - [focus_view unlockFocus]; - [[focus_view window] flushWindow]; - focus_view = NULL; -/*debug_lock--; */ - } - } } -static void +static BOOL ns_clip_to_row (struct window *w, struct glyph_row *row, enum glyph_row_area area, BOOL gc) /* -------------------------------------------------------------------------- @@ -1275,7 +1242,17 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen) clip_rect.size.width = window_width; clip_rect.size.height = row->visible_height; - ns_focus (f, &clip_rect, 1); + return ns_focus (f, &clip_rect, 1); +} + + +static void +ns_flush_display (struct frame *f) +/* Force the frame to redisplay. If areas have previously been marked + dirty by setNeedsDisplayInRect (in ns_focus), then this will call + draw_rect: which will "expose" those areas. */ +{ + [FRAME_NS_VIEW (f) displayIfNeeded]; } @@ -2699,14 +2676,16 @@ so some key presses (TAB) are swallowed by the system. */ r = [view bounds]; block_input (); - ns_focus (f, &r, 1); - [ns_lookup_indexed_color (NS_FACE_BACKGROUND - (FACE_FROM_ID (f, DEFAULT_FACE_ID)), f) set]; - NSRectFill (r); - ns_unfocus (f); - - /* as of 2006/11 or so this is now needed */ - ns_redraw_scroll_bars (f); + if (ns_focus (f, &r, 1)) + { + [ns_lookup_indexed_color (NS_FACE_BACKGROUND + (FACE_FROM_ID (f, DEFAULT_FACE_ID)), f) set]; + NSRectFill (r); + ns_unfocus (f); + + /* as of 2006/11 or so this is now needed */ + ns_redraw_scroll_bars (f); + } unblock_input (); } @@ -2727,13 +2706,14 @@ so some key presses (TAB) are swallowed by the system. */ NSTRACE_WHEN (NSTRACE_GROUP_UPDATES, "ns_clear_frame_area"); r = NSIntersectionRect (r, [view frame]); - ns_focus (f, &r, 1); - [ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), f) set]; + if (ns_focus (f, &r, 1)) + { + [ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), f) set]; - NSRectFill (r); + NSRectFill (r); - ns_unfocus (f); - return; + ns_unfocus (f); + } } static void @@ -2745,11 +2725,11 @@ so some key presses (TAB) are swallowed by the system. */ { hide_bell(); // Ensure the bell image isn't scrolled. - ns_focus (f, &dest, 1); + /* FIXME: scrollRect:by: is deprecated in macOS 10.14. There is + no obvious replacement so we may have to come up with our own. */ [FRAME_NS_VIEW (f) scrollRect: src by: NSMakeSize (dest.origin.x - src.origin.x, dest.origin.y - src.origin.y)]; - ns_unfocus (f); } } @@ -2960,85 +2940,86 @@ so some key presses (TAB) are swallowed by the system. */ } /* Must clip because of partially visible lines. */ - ns_clip_to_row (w, row, ANY_AREA, YES); - - if (!p->overlay_p) + if (ns_clip_to_row (w, row, ANY_AREA, YES)) { - int bx = p->bx, by = p->by, nx = p->nx, ny = p->ny; - - if (bx >= 0 && nx > 0) + if (!p->overlay_p) { - NSRect r = NSMakeRect (bx, by, nx, ny); - NSRectClip (r); - [ns_lookup_indexed_color (face->background, f) set]; - NSRectFill (r); - } - } - - if (p->which) - { - NSRect r = NSMakeRect (p->x, p->y, p->wd, p->h); - EmacsImage *img = bimgs[p->which - 1]; + int bx = p->bx, by = p->by, nx = p->nx, ny = p->ny; - if (!img) - { - // Note: For "periodic" images, allocate one EmacsImage for - // the base image, and use it for all dh:s. - unsigned short *bits = p->bits; - int full_height = p->h + p->dh; - int i; - unsigned char *cbits = xmalloc (full_height); - - for (i = 0; i < full_height; i++) - cbits[i] = bits[i]; - img = [[EmacsImage alloc] initFromXBM: cbits width: 8 - height: full_height - fg: 0 bg: 0]; - bimgs[p->which - 1] = img; - xfree (cbits); + if (bx >= 0 && nx > 0) + { + NSRect r = NSMakeRect (bx, by, nx, ny); + NSRectClip (r); + [ns_lookup_indexed_color (face->background, f) set]; + NSRectFill (r); + } } - NSTRACE_RECT ("r", r); + if (p->which) + { + NSRect r = NSMakeRect (p->x, p->y, p->wd, p->h); + EmacsImage *img = bimgs[p->which - 1]; - NSRectClip (r); - /* Since we composite the bitmap instead of just blitting it, we need - to erase the whole background. */ - [ns_lookup_indexed_color(face->background, f) set]; - NSRectFill (r); + if (!img) + { + // Note: For "periodic" images, allocate one EmacsImage for + // the base image, and use it for all dh:s. + unsigned short *bits = p->bits; + int full_height = p->h + p->dh; + int i; + unsigned char *cbits = xmalloc (full_height); + + for (i = 0; i < full_height; i++) + cbits[i] = bits[i]; + img = [[EmacsImage alloc] initFromXBM: cbits width: 8 + height: full_height + fg: 0 bg: 0]; + bimgs[p->which - 1] = img; + xfree (cbits); + } - { - NSColor *bm_color; - if (!p->cursor_p) - bm_color = ns_lookup_indexed_color(face->foreground, f); - else if (p->overlay_p) - bm_color = ns_lookup_indexed_color(face->background, f); - else - bm_color = f->output_data.ns->cursor_color; - [img setXBMColor: bm_color]; - } + NSTRACE_RECT ("r", r); -#ifdef NS_IMPL_COCOA - // Note: For periodic images, the full image height is "h + hd". - // By using the height h, a suitable part of the image is used. - NSRect fromRect = NSMakeRect(0, 0, p->wd, p->h); + NSRectClip (r); + /* Since we composite the bitmap instead of just blitting it, we need + to erase the whole background. */ + [ns_lookup_indexed_color(face->background, f) set]; + NSRectFill (r); - NSTRACE_RECT ("fromRect", fromRect); + { + NSColor *bm_color; + if (!p->cursor_p) + bm_color = ns_lookup_indexed_color(face->foreground, f); + else if (p->overlay_p) + bm_color = ns_lookup_indexed_color(face->background, f); + else + bm_color = f->output_data.ns->cursor_color; + [img setXBMColor: bm_color]; + } - [img drawInRect: r - fromRect: fromRect - operation: NSCompositingOperationSourceOver - fraction: 1.0 - respectFlipped: YES - hints: nil]; +#ifdef NS_IMPL_COCOA + // Note: For periodic images, the full image height is "h + hd". + // By using the height h, a suitable part of the image is used. + NSRect fromRect = NSMakeRect(0, 0, p->wd, p->h); + + NSTRACE_RECT ("fromRect", fromRect); + + [img drawInRect: r + fromRect: fromRect + operation: NSCompositingOperationSourceOver + fraction: 1.0 + respectFlipped: YES + hints: nil]; #else - { - NSPoint pt = r.origin; - pt.y += p->h; - [img compositeToPoint: pt operation: NSCompositingOperationSourceOver]; - } + { + NSPoint pt = r.origin; + pt.y += p->h; + [img compositeToPoint: pt operation: NSCompositingOperationSourceOver]; + } #endif + } + ns_unfocus (f); } - ns_unfocus (f); } @@ -3120,67 +3101,66 @@ Note that CURSOR_WIDTH is meaningful only for (h)bar cursors. r.size.height = h; r.size.width = w->phys_cursor_width; - /* Prevent the cursor from being drawn outside the text area. */ - ns_clip_to_row (w, glyph_row, TEXT_AREA, NO); /* do ns_focus(f, &r, 1); if remove */ - - - face = FACE_FROM_ID_OR_NULL (f, phys_cursor_glyph->face_id); - if (face && NS_FACE_BACKGROUND (face) - == ns_index_color (FRAME_CURSOR_COLOR (f), f)) + /* Prevent the cursor from being drawn outside the text area. */ + if (ns_clip_to_row (w, glyph_row, TEXT_AREA, NO)) { - [ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), f) set]; - hollow_color = FRAME_CURSOR_COLOR (f); - } - else - [FRAME_CURSOR_COLOR (f) set]; + face = FACE_FROM_ID_OR_NULL (f, phys_cursor_glyph->face_id); + if (face && NS_FACE_BACKGROUND (face) + == ns_index_color (FRAME_CURSOR_COLOR (f), f)) + { + [ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), f) set]; + hollow_color = FRAME_CURSOR_COLOR (f); + } + else + [FRAME_CURSOR_COLOR (f) set]; #ifdef NS_IMPL_COCOA - /* TODO: This makes drawing of cursor plus that of phys_cursor_glyph - atomic. Cleaner ways of doing this should be investigated. - One way would be to set a global variable DRAWING_CURSOR - when making the call to draw_phys..(), don't focus in that - case, then move the ns_unfocus() here after that call. */ - NSDisableScreenUpdates (); + /* TODO: This makes drawing of cursor plus that of phys_cursor_glyph + atomic. Cleaner ways of doing this should be investigated. + One way would be to set a global variable DRAWING_CURSOR + when making the call to draw_phys..(), don't focus in that + case, then move the ns_unfocus() here after that call. */ + NSDisableScreenUpdates (); #endif - switch (cursor_type) - { - case DEFAULT_CURSOR: - case NO_CURSOR: - break; - case FILLED_BOX_CURSOR: - NSRectFill (r); - break; - case HOLLOW_BOX_CURSOR: - NSRectFill (r); - [hollow_color set]; - NSRectFill (NSInsetRect (r, 1, 1)); - [FRAME_CURSOR_COLOR (f) set]; - break; - case HBAR_CURSOR: - NSRectFill (r); - break; - case BAR_CURSOR: - s = r; - /* If the character under cursor is R2L, draw the bar cursor - on the right of its glyph, rather than on the left. */ - cursor_glyph = get_phys_cursor_glyph (w); - if ((cursor_glyph->resolved_level & 1) != 0) - s.origin.x += cursor_glyph->pixel_width - s.size.width; - - NSRectFill (s); - break; - } - ns_unfocus (f); + switch (cursor_type) + { + case DEFAULT_CURSOR: + case NO_CURSOR: + break; + case FILLED_BOX_CURSOR: + NSRectFill (r); + break; + case HOLLOW_BOX_CURSOR: + NSRectFill (r); + [hollow_color set]; + NSRectFill (NSInsetRect (r, 1, 1)); + [FRAME_CURSOR_COLOR (f) set]; + break; + case HBAR_CURSOR: + NSRectFill (r); + break; + case BAR_CURSOR: + s = r; + /* If the character under cursor is R2L, draw the bar cursor + on the right of its glyph, rather than on the left. */ + cursor_glyph = get_phys_cursor_glyph (w); + if ((cursor_glyph->resolved_level & 1) != 0) + s.origin.x += cursor_glyph->pixel_width - s.size.width; + + NSRectFill (s); + break; + } + ns_unfocus (f); - /* draw the character under the cursor */ - if (cursor_type != NO_CURSOR) - draw_phys_cursor_glyph (w, glyph_row, DRAW_CURSOR); + /* draw the character under the cursor */ + if (cursor_type != NO_CURSOR) + draw_phys_cursor_glyph (w, glyph_row, DRAW_CURSOR); #ifdef NS_IMPL_COCOA - NSEnableScreenUpdates (); + NSEnableScreenUpdates (); #endif - + } } @@ -3198,12 +3178,14 @@ Note that CURSOR_WIDTH is meaningful only for (h)bar cursors. face = FACE_FROM_ID_OR_NULL (f, VERTICAL_BORDER_FACE_ID); - ns_focus (f, &r, 1); - if (face) - [ns_lookup_indexed_color(face->foreground, f) set]; + if (ns_focus (f, &r, 1)) + { + if (face) + [ns_lookup_indexed_color(face->foreground, f) set]; - NSRectFill(r); - ns_unfocus (f); + NSRectFill(r); + ns_unfocus (f); + } } @@ -3230,39 +3212,40 @@ Note that CURSOR_WIDTH is meaningful only for (h)bar cursors. NSTRACE ("ns_draw_window_divider"); - ns_focus (f, ÷r, 1); - - if ((y1 - y0 > x1 - x0) && (x1 - x0 >= 3)) - /* A vertical divider, at least three pixels wide: Draw first and - last pixels differently. */ - { - [ns_lookup_indexed_color(color_first, f) set]; - NSRectFill(NSMakeRect (x0, y0, 1, y1 - y0)); - [ns_lookup_indexed_color(color, f) set]; - NSRectFill(NSMakeRect (x0 + 1, y0, x1 - x0 - 2, y1 - y0)); - [ns_lookup_indexed_color(color_last, f) set]; - NSRectFill(NSMakeRect (x1 - 1, y0, 1, y1 - y0)); - } - else if ((x1 - x0 > y1 - y0) && (y1 - y0 >= 3)) - /* A horizontal divider, at least three pixels high: Draw first and - last pixels differently. */ + if (ns_focus (f, ÷r, 1)) { - [ns_lookup_indexed_color(color_first, f) set]; - NSRectFill(NSMakeRect (x0, y0, x1 - x0, 1)); - [ns_lookup_indexed_color(color, f) set]; - NSRectFill(NSMakeRect (x0, y0 + 1, x1 - x0, y1 - y0 - 2)); - [ns_lookup_indexed_color(color_last, f) set]; - NSRectFill(NSMakeRect (x0, y1 - 1, x1 - x0, 1)); - } - else - { - /* In any other case do not draw the first and last pixels - differently. */ - [ns_lookup_indexed_color(color, f) set]; - NSRectFill(divider); - } + if ((y1 - y0 > x1 - x0) && (x1 - x0 >= 3)) + /* A vertical divider, at least three pixels wide: Draw first and + last pixels differently. */ + { + [ns_lookup_indexed_color(color_first, f) set]; + NSRectFill(NSMakeRect (x0, y0, 1, y1 - y0)); + [ns_lookup_indexed_color(color, f) set]; + NSRectFill(NSMakeRect (x0 + 1, y0, x1 - x0 - 2, y1 - y0)); + [ns_lookup_indexed_color(color_last, f) set]; + NSRectFill(NSMakeRect (x1 - 1, y0, 1, y1 - y0)); + } + else if ((x1 - x0 > y1 - y0) && (y1 - y0 >= 3)) + /* A horizontal divider, at least three pixels high: Draw first and + last pixels differently. */ + { + [ns_lookup_indexed_color(color_first, f) set]; + NSRectFill(NSMakeRect (x0, y0, x1 - x0, 1)); + [ns_lookup_indexed_color(color, f) set]; + NSRectFill(NSMakeRect (x0, y0 + 1, x1 - x0, y1 - y0 - 2)); + [ns_lookup_indexed_color(color_last, f) set]; + NSRectFill(NSMakeRect (x0, y1 - 1, x1 - x0, 1)); + } + else + { + /* In any other case do not draw the first and last pixels + differently. */ + [ns_lookup_indexed_color(color, f) set]; + NSRectFill(divider); + } - ns_unfocus (f); + ns_unfocus (f); + } } static void @@ -3846,83 +3829,84 @@ Function modeled after x_draw_glyph_string_box (). n = ns_get_glyph_string_clip_rect (s, r); *r = NSMakeRect (s->x, s->y, s->background_width, s->height); - ns_focus (s->f, r, n); - - if (s->hl == DRAW_MOUSE_FACE) - { - face = FACE_FROM_ID_OR_NULL (s->f, - MOUSE_HL_INFO (s->f)->mouse_face_face_id); - if (!face) - face = FACE_FROM_ID (s->f, MOUSE_FACE_ID); - } - else - face = FACE_FROM_ID (s->f, s->first_glyph->face_id); - - bgCol = ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f); - fgCol = ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), s->f); - - for (i = 0; i < n; ++i) + if (ns_focus (s->f, r, n)) { - if (!s->row->full_width_p) + if (s->hl == DRAW_MOUSE_FACE) { - int overrun, leftoverrun; - - /* truncate to avoid overwriting fringe and/or scrollbar */ - overrun = max (0, (s->x + s->background_width) - - (WINDOW_BOX_RIGHT_EDGE_X (s->w) - - WINDOW_RIGHT_FRINGE_WIDTH (s->w))); - r[i].size.width -= overrun; - - /* truncate to avoid overwriting to left of the window box */ - leftoverrun = (WINDOW_BOX_LEFT_EDGE_X (s->w) - + WINDOW_LEFT_FRINGE_WIDTH (s->w)) - s->x; - - if (leftoverrun > 0) - { - r[i].origin.x += leftoverrun; - r[i].size.width -= leftoverrun; - } - - /* XXX: Try to work between problem where a stretch glyph on - a partially-visible bottom row will clear part of the - modeline, and another where list-buffers headers and similar - rows erroneously have visible_height set to 0. Not sure - where this is coming from as other terms seem not to show. */ - r[i].size.height = min (s->height, s->row->visible_height); + face = FACE_FROM_ID_OR_NULL (s->f, + MOUSE_HL_INFO (s->f)->mouse_face_face_id); + if (!face) + face = FACE_FROM_ID (s->f, MOUSE_FACE_ID); } + else + face = FACE_FROM_ID (s->f, s->first_glyph->face_id); - [bgCol set]; + bgCol = ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f); + fgCol = ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), s->f); - /* NOTE: under NS this is NOT used to draw cursors, but we must avoid - overwriting cursor (usually when cursor on a tab) */ - if (s->hl == DRAW_CURSOR) + for (i = 0; i < n; ++i) { - CGFloat x, width; + if (!s->row->full_width_p) + { + int overrun, leftoverrun; + + /* truncate to avoid overwriting fringe and/or scrollbar */ + overrun = max (0, (s->x + s->background_width) + - (WINDOW_BOX_RIGHT_EDGE_X (s->w) + - WINDOW_RIGHT_FRINGE_WIDTH (s->w))); + r[i].size.width -= overrun; + + /* truncate to avoid overwriting to left of the window box */ + leftoverrun = (WINDOW_BOX_LEFT_EDGE_X (s->w) + + WINDOW_LEFT_FRINGE_WIDTH (s->w)) - s->x; + + if (leftoverrun > 0) + { + r[i].origin.x += leftoverrun; + r[i].size.width -= leftoverrun; + } + + /* XXX: Try to work between problem where a stretch glyph on + a partially-visible bottom row will clear part of the + modeline, and another where list-buffers headers and similar + rows erroneously have visible_height set to 0. Not sure + where this is coming from as other terms seem not to show. */ + r[i].size.height = min (s->height, s->row->visible_height); + } + + [bgCol set]; - x = r[i].origin.x; - width = s->w->phys_cursor_width; - r[i].size.width -= width; - r[i].origin.x += width; + /* NOTE: under NS this is NOT used to draw cursors, but we must avoid + overwriting cursor (usually when cursor on a tab). */ + if (s->hl == DRAW_CURSOR) + { + CGFloat x, width; + + x = r[i].origin.x; + width = s->w->phys_cursor_width; + r[i].size.width -= width; + r[i].origin.x += width; - NSRectFill (r[i]); + NSRectFill (r[i]); - /* Draw overlining, etc. on the cursor. */ - if (s->w->phys_cursor_type == FILLED_BOX_CURSOR) - ns_draw_text_decoration (s, face, bgCol, width, x); + /* Draw overlining, etc. on the cursor. */ + if (s->w->phys_cursor_type == FILLED_BOX_CURSOR) + ns_draw_text_decoration (s, face, bgCol, width, x); + else + ns_draw_text_decoration (s, face, fgCol, width, x); + } else - ns_draw_text_decoration (s, face, fgCol, width, x); - } - else - { - NSRectFill (r[i]); - } + { + NSRectFill (r[i]); + } - /* Draw overlining, etc. on the stretch glyph (or the part - of the stretch glyph after the cursor). */ - ns_draw_text_decoration (s, face, fgCol, r[i].size.width, - r[i].origin.x); + /* Draw overlining, etc. on the stretch glyph (or the part + of the stretch glyph after the cursor). */ + ns_draw_text_decoration (s, face, fgCol, r[i].size.width, + r[i].origin.x); + } + ns_unfocus (s->f); } - ns_unfocus (s->f); s->background_filled_p = 1; } } @@ -4072,9 +4056,11 @@ overwriting cursor (usually when cursor on a tab) */ if (next->first_glyph->type != STRETCH_GLYPH) { n = ns_get_glyph_string_clip_rect (s->next, r); - ns_focus (s->f, r, n); - ns_maybe_dumpglyphs_background (s->next, 1); - ns_unfocus (s->f); + if (ns_focus (s->f, r, n)) + { + ns_maybe_dumpglyphs_background (s->next, 1); + ns_unfocus (s->f); + } } else { @@ -4089,10 +4075,12 @@ overwriting cursor (usually when cursor on a tab) */ || s->first_glyph->type == COMPOSITE_GLYPH)) { n = ns_get_glyph_string_clip_rect (s, r); - ns_focus (s->f, r, n); - ns_maybe_dumpglyphs_background (s, 1); - ns_dumpglyphs_box_or_relief (s); - ns_unfocus (s->f); + if (ns_focus (s->f, r, n)) + { + ns_maybe_dumpglyphs_background (s, 1); + ns_dumpglyphs_box_or_relief (s); + ns_unfocus (s->f); + } box_drawn_p = 1; } @@ -4101,9 +4089,11 @@ overwriting cursor (usually when cursor on a tab) */ case IMAGE_GLYPH: n = ns_get_glyph_string_clip_rect (s, r); - ns_focus (s->f, r, n); - ns_dumpglyphs_image (s, r[0]); - ns_unfocus (s->f); + if (ns_focus (s->f, r, n)) + { + ns_dumpglyphs_image (s, r[0]); + ns_unfocus (s->f); + } break; case STRETCH_GLYPH: @@ -4113,66 +4103,68 @@ overwriting cursor (usually when cursor on a tab) */ case CHAR_GLYPH: case COMPOSITE_GLYPH: n = ns_get_glyph_string_clip_rect (s, r); - ns_focus (s->f, r, n); + if (ns_focus (s->f, r, n)) + { + if (s->for_overlaps || (s->cmp_from > 0 + && ! s->first_glyph->u.cmp.automatic)) + s->background_filled_p = 1; + else + ns_maybe_dumpglyphs_background + (s, s->first_glyph->type == COMPOSITE_GLYPH); - if (s->for_overlaps || (s->cmp_from > 0 - && ! s->first_glyph->u.cmp.automatic)) - s->background_filled_p = 1; - else - ns_maybe_dumpglyphs_background - (s, s->first_glyph->type == COMPOSITE_GLYPH); + if (s->hl == DRAW_CURSOR && s->w->phys_cursor_type == FILLED_BOX_CURSOR) + { + unsigned long tmp = NS_FACE_BACKGROUND (s->face); + NS_FACE_BACKGROUND (s->face) = NS_FACE_FOREGROUND (s->face); + NS_FACE_FOREGROUND (s->face) = tmp; + } - if (s->hl == DRAW_CURSOR && s->w->phys_cursor_type == FILLED_BOX_CURSOR) - { - unsigned long tmp = NS_FACE_BACKGROUND (s->face); - NS_FACE_BACKGROUND (s->face) = NS_FACE_FOREGROUND (s->face); - NS_FACE_FOREGROUND (s->face) = tmp; - } + { + BOOL isComposite = s->first_glyph->type == COMPOSITE_GLYPH; - { - BOOL isComposite = s->first_glyph->type == COMPOSITE_GLYPH; + if (isComposite) + ns_draw_composite_glyph_string_foreground (s); + else + ns_draw_glyph_string_foreground (s); + } - if (isComposite) - ns_draw_composite_glyph_string_foreground (s); - else - ns_draw_glyph_string_foreground (s); - } + { + NSColor *col = (NS_FACE_FOREGROUND (s->face) != 0 + ? ns_lookup_indexed_color (NS_FACE_FOREGROUND (s->face), + s->f) + : FRAME_FOREGROUND_COLOR (s->f)); + [col set]; + + /* Draw underline, overline, strike-through. */ + ns_draw_text_decoration (s, s->face, col, s->width, s->x); + } - { - NSColor *col = (NS_FACE_FOREGROUND (s->face) != 0 - ? ns_lookup_indexed_color (NS_FACE_FOREGROUND (s->face), - s->f) - : FRAME_FOREGROUND_COLOR (s->f)); - [col set]; - - /* Draw underline, overline, strike-through. */ - ns_draw_text_decoration (s, s->face, col, s->width, s->x); - } + if (s->hl == DRAW_CURSOR && s->w->phys_cursor_type == FILLED_BOX_CURSOR) + { + unsigned long tmp = NS_FACE_BACKGROUND (s->face); + NS_FACE_BACKGROUND (s->face) = NS_FACE_FOREGROUND (s->face); + NS_FACE_FOREGROUND (s->face) = tmp; + } - if (s->hl == DRAW_CURSOR && s->w->phys_cursor_type == FILLED_BOX_CURSOR) - { - unsigned long tmp = NS_FACE_BACKGROUND (s->face); - NS_FACE_BACKGROUND (s->face) = NS_FACE_FOREGROUND (s->face); - NS_FACE_FOREGROUND (s->face) = tmp; + ns_unfocus (s->f); } - - ns_unfocus (s->f); break; case GLYPHLESS_GLYPH: n = ns_get_glyph_string_clip_rect (s, r); - ns_focus (s->f, r, n); - - if (s->for_overlaps || (s->cmp_from > 0 - && ! s->first_glyph->u.cmp.automatic)) - s->background_filled_p = 1; - else - ns_maybe_dumpglyphs_background - (s, s->first_glyph->type == COMPOSITE_GLYPH); - /* ... */ - /* Not yet implemented. */ - /* ... */ - ns_unfocus (s->f); + if (ns_focus (s->f, r, n)) + { + if (s->for_overlaps || (s->cmp_from > 0 + && ! s->first_glyph->u.cmp.automatic)) + s->background_filled_p = 1; + else + ns_maybe_dumpglyphs_background + (s, s->first_glyph->type == COMPOSITE_GLYPH); + /* ... */ + /* Not yet implemented. */ + /* ... */ + ns_unfocus (s->f); + } break; default: @@ -4183,9 +4175,11 @@ overwriting cursor (usually when cursor on a tab) */ if (!s->for_overlaps && !box_drawn_p && s->face->box != FACE_NO_BOX) { n = ns_get_glyph_string_clip_rect (s, r); - ns_focus (s->f, r, n); - ns_dumpglyphs_box_or_relief (s); - ns_unfocus (s->f); + if (ns_focus (s->f, r, n)) + { + ns_dumpglyphs_box_or_relief (s); + ns_unfocus (s->f); + } } s->num_clips = 0; @@ -4991,7 +4985,7 @@ static Lisp_Object ns_string_to_lispmod (const char *s) ns_after_update_window_line, ns_update_window_begin, ns_update_window_end, - 0, /* flush_display */ + ns_flush_display, /* flush_display */ x_clear_window_mouse_face, x_get_glyph_overhangs, x_fix_overlapping_area, -- 2.17.1 --Nq2Wo0NMKNjxTN9z-- From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 18 14:56:14 2018 Received: (at 31904) by debbugs.gnu.org; 18 Aug 2018 18:56:14 +0000 Received: from localhost ([127.0.0.1]:54238 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fr6OT-0006Qn-Rd for submit@debbugs.gnu.org; Sat, 18 Aug 2018 14:56:14 -0400 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:34953) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fr6OS-0006Qe-6f for 31904@debbugs.gnu.org; Sat, 18 Aug 2018 14:56:12 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 13ECF52C; Sat, 18 Aug 2018 14:56:11 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Sat, 18 Aug 2018 14:56:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=UP3i+g DwZKS3l/MQ7QNDsJvCWQG8D0CMnKkRnq7qOPs=; b=HiQRM5sTH4dJn+xKHYXP2k 4NG95W7gag1zL6fCtKv+/Yto/1S2w28YtkqXtaXs3+lA7IMGtxTz76XDMgcowuH8 zt5cxHKYq8qn/jTygOErqhCszNxXygrPc1nmSBzqLu77h4QcBV9C+TctTb4h5Dnb TVwwfkY3/PBuHw1OdMjEfPdheeTszhCG997jh9cnqB5bVOro06Fga2I/fLsk+qLW PX6iv7wiXg0BvVkTZS0pzPDlYiSe4oxGLKgHN4qAEoMKXew6EFQ97YDEoIRH8H59 vovqFtXQQckRbWeGSpTciycFGK2WXE/oHuOj3+8h8XXBLSbLS92TmSossbbaYlhQ == X-ME-Proxy: X-ME-Sender: Received: from [192.168.0.7] (75-164-214-225.ptld.qwest.net [75.164.214.225]) by mail.messagingengine.com (Postfix) with ESMTPA id D33561028B; Sat, 18 Aug 2018 14:56:09 -0400 (EDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.32\)) Subject: Re: bug#31904: scatch/ns-drawing From: "zentrope@fastmail.fm" In-Reply-To: <20180818140233.GA63685@breton.holly.idiocy.org> Date: Sat, 18 Aug 2018 11:56:05 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> <5C8BCF98-F8C6-465F-99C0-728F25A47982@zentrope.com> <20180818140233.GA63685@breton.holly.idiocy.org> To: Alan Third X-Mailer: Apple Mail (2.3445.100.32) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 31904 Cc: 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) I=E2=80=99ll try the patch and get back to you today. However, I don=E2=80= =99t actually know how to apply patches (it=E2=80=99s been years) so = this may take some time. ;) From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 18 15:16:35 2018 Received: (at 31904) by debbugs.gnu.org; 18 Aug 2018 19:16:35 +0000 Received: from localhost ([127.0.0.1]:54254 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fr6iB-0007NP-C3 for submit@debbugs.gnu.org; Sat, 18 Aug 2018 15:16:35 -0400 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:32877) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fr6iA-0007NF-8U for 31904@debbugs.gnu.org; Sat, 18 Aug 2018 15:16:34 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 941223BD; Sat, 18 Aug 2018 15:16:33 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Sat, 18 Aug 2018 15:16:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=gsA2SRh0mjXY9Seati3Mrlcbwo5S2 bAMTC6gl3S1k6U=; b=NczYzjWepGCRedmZWr849cIwyVaSwTovUuL2VA3+2YBN4 brAoN9D52v+FiG/z1zK+SdljHOjtMluDeFID0lKb4nLKG2eDCNy/Ca1W6ui+IWhw TeU5O9NfsciN7VlJ2+Sz/HpnekvjXVg82p30XjFQ6AH6+vXpzegTztZ1Y4/ab4o2 EBcK963XgegOJjnCetDsUfe6E8dm9yBQm6BnHUNH8Jbeob2THARDnFHeuMTBrkk/ 2x4t0f9+/tAowORmt1ZJdz2uGG9xscsYl9bq4eZHSIik7RsjD0r+EJsDrRhYgkg3 OoH3X5lyKej6GUbxZ440rRaXExwzhfE/8hHa1A67A== X-ME-Proxy: X-ME-Sender: Received: from [192.168.0.7] (75-164-214-225.ptld.qwest.net [75.164.214.225]) by mail.messagingengine.com (Postfix) with ESMTPA id 206A2E4621; Sat, 18 Aug 2018 15:16:32 -0400 (EDT) From: "zentrope@fastmail.fm" Message-Id: <6ACE4FB3-7829-40AB-A79D-24D44C08A833@zentrope.com> Content-Type: multipart/alternative; boundary="Apple-Mail=_E555FBAB-0335-4980-9951-4CB6CE195714" Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.32\)) Subject: Re: bug#31904: scatch/ns-drawing Date: Sat, 18 Aug 2018 12:16:30 -0700 In-Reply-To: To: Alan Third References: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> <5C8BCF98-F8C6-465F-99C0-728F25A47982@zentrope.com> <20180818140233.GA63685@breton.holly.idiocy.org> X-Mailer: Apple Mail (2.3445.100.32) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 31904 Cc: 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --Apple-Mail=_E555FBAB-0335-4980-9951-4CB6CE195714 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 OK. The patch worked just fine. Details: Using Xcode-beta5: git checkout emacs-26 gmake clean cd src=20 patch < ../path/to/your/path cd .. gmake install cp -r nextstep/Emacs.app /Applications/ Hopefully that=E2=80=99s a reasonable path to rebuilding and running. I then launched and can see all the rendered text just fine. Also, switching to =E2=80=9CDark Mode=E2=80=9D changes the window-title = bar to the correct color. Subjective, but scrolling seems faster, somehow.= --Apple-Mail=_E555FBAB-0335-4980-9951-4CB6CE195714 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 OK.

The = patch worked just fine.

Details:

Using Xcode-beta5:

git checkout = emacs-26
gmake clean
cd src 
patch < = ../path/to/your/path
cd ..
gmake= install
cp -r nextstep/Emacs.app = /Applications/

Hopefully that=E2=80=99s a reasonable path to = rebuilding and running.

I then = launched and can see all the rendered text just fine.

Also, switching to =E2=80=9CDark Mode=E2=80=9D = changes the window-title bar to the correct color.

Subjective, but scrolling seems faster, = somehow.
= --Apple-Mail=_E555FBAB-0335-4980-9951-4CB6CE195714-- From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 18 15:23:07 2018 Received: (at 31904) by debbugs.gnu.org; 18 Aug 2018 19:23:07 +0000 Received: from localhost ([127.0.0.1]:54259 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fr6oV-0007d5-2a for submit@debbugs.gnu.org; Sat, 18 Aug 2018 15:23:07 -0400 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:55807) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fr6oU-0007cx-5O for 31904@debbugs.gnu.org; Sat, 18 Aug 2018 15:23:06 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 62B633C0; Sat, 18 Aug 2018 15:23:05 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Sat, 18 Aug 2018 15:23:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=tHfGvf MKIZ7x6bV/1tUEJNVsm5EmuRr3BWvY02GKUoQ=; b=Dqrs8AEsRftJyWNzUNFxL9 7ANPjTQiG2UsZ2/THkpNjzHBu3IN5uy1Xu60j4XU9iyxQagaBoY7fKq6FIdy9xv2 ZlsYww2DH6kZFhekRbSKxX88NBlGzPUgLaatuSlhwlLrBFJN7AXGGW5Z8S/AVxzi iDh31DUCZHOnPQIAtUxVSPbBCWbzIUi4jXmlqB2VTkG15EEQ6CUJvu4OeRqt6nok ZIbGEmuPnfThkZRgV29NsrhY21jAJHlOFqn9hVPY34CI3FhF5pb8GPFzM5BVT1Hc xgHQ19HzT0PZVZa9ws8/KSw5Gt9Xl5hpj+N7NxK3HGx0iufcTgod374SlqIqtZjg == X-ME-Proxy: X-ME-Sender: Received: from [192.168.0.7] (75-164-214-225.ptld.qwest.net [75.164.214.225]) by mail.messagingengine.com (Postfix) with ESMTPA id D1DE8E442C; Sat, 18 Aug 2018 15:23:03 -0400 (EDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.32\)) Subject: Re: bug#31904: scatch/ns-drawing From: "zentrope@fastmail.fm" In-Reply-To: <6ACE4FB3-7829-40AB-A79D-24D44C08A833@zentrope.com> Date: Sat, 18 Aug 2018 12:23:02 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <776614A2-36FE-498B-81A1-F8B5ADC7FF88@zentrope.com> References: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> <5C8BCF98-F8C6-465F-99C0-728F25A47982@zentrope.com> <20180818140233.GA63685@breton.holly.idiocy.org> <6ACE4FB3-7829-40AB-A79D-24D44C08A833@zentrope.com> To: Alan Third X-Mailer: Apple Mail (2.3445.100.32) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 31904 Cc: 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Another wrinkle (emacs-26 with patch applied): When I change my font, all the text disappears except for the current = line. The text comes back if: - I move the cursor over the affected areas. - I wait a bit (from the cursor line down renders). - Switch away to a non-Emacs window. Seems like as soon as there=E2=80=99s a reason to paint the screen, it = comes back. Functions I use: (defun kfi/set-font (name weight) "Set a font to NAME and its WEIGHT." (set-face-attribute 'default nil :family name :weight weight)) (defun kfi/heavy-font () "Change to a heavy font." (interactive) (kfi/set-font "Monaco" 'normal)) (defun kfi/normal-font () "Change to a normal font." (interactive) (kfi/set-font "Menlo" 'normal)) From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 19 05:59:18 2018 Received: (at 31904) by debbugs.gnu.org; 19 Aug 2018 09:59:18 +0000 Received: from localhost ([127.0.0.1]:54389 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1frKUQ-0007Zu-Am for submit@debbugs.gnu.org; Sun, 19 Aug 2018 05:59:18 -0400 Received: from mail-wr1-f46.google.com ([209.85.221.46]:44372) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1frKUN-0007Zh-TJ for 31904@debbugs.gnu.org; Sun, 19 Aug 2018 05:59:16 -0400 Received: by mail-wr1-f46.google.com with SMTP id r16-v6so10523287wrt.11 for <31904@debbugs.gnu.org>; Sun, 19 Aug 2018 02:59:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=OOaUyB8LMBtnHFmNzije1dxuApNQKrTzVS8jpAhzgH4=; b=J+u386cSWcLEVo4ATOMSdC+6Tu3FhnokHNk7BFCB+VoTy2clzKgEbpbgr1iq1/DTqy 0l9GMOL16SLHsl+JP26rYkA3pDnv7xjiNeVCg8twZDa/lJ+Dg5XlmT1OZGZr6IiPxN1D BpREHccaWhrCYSdjZ6aeBBvAwM3r2bufJmqjsZvN3kkZcZuIxHxodD+yJsSotUwBbhZz aoMU7VWpTm+tTQs2IIl0RkmmK7QqtQGSjvXa/lWhonOGXfjozIg5ZrT4fkFP1dFrMVOA XuYUB1wY7MgO7sLZSQragM93Q5OrmPwpGBkthVKCA1O16R2c4jnCmIVxkT+OhsH24djy QGAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=OOaUyB8LMBtnHFmNzije1dxuApNQKrTzVS8jpAhzgH4=; b=GDOE/urZ0RKLJHpQ7TwGZsgM8oDIgq2Gj+bie7tYJ8clYBNbgp0JEpopa2nYBebD51 oLgWEB1EPgHyQd4Po+saeqbg6ssriYazN3yZ3IrgvZZiLxV245u74BpVi2s2Kh/Eip6y GigxSvzyFRQVuU4LZB0Det/+G63+N3wcbtGeyN/f74FWWN6EK7A47B+IlRnI+bZLGlZJ rr0WqhOWt4itBb9w41Y+dr+ZOx8PeXwiiGiy/X74hKklWMltePFA0O74Z61P8xdX3jo4 2tuRkrUQO/bg4VnSYO5vxWJDMpjXtyf1A9KClFhuBfTUcVyhWso0QvWEuU0koYI/wWNW 4suQ== X-Gm-Message-State: AOUpUlFmYayKuOapPxnlqvJQKIBPbvgXU8NnjSRp9ZZpN1R3Njy48Yjy hRUMKkBWDu429UDfIJNXt+BELCF+/kY= X-Google-Smtp-Source: AA+uWPyGc+xSZUWgHul6zVfArlkIfqG7WJ81nwxJ4POaylqPK9Wc0k5AWSvJhLOf2falNj6J+jLtQg== X-Received: by 2002:adf:c684:: with SMTP id j4-v6mr26036715wrg.243.1534672750025; Sun, 19 Aug 2018 02:59:10 -0700 (PDT) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-55df-fcd1-50f5-28cb.holly.idiocy.org. [2001:8b0:3f8:8129:55df:fcd1:50f5:28cb]) by smtp.gmail.com with ESMTPSA id v124-v6sm10643499wma.18.2018.08.19.02.59.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 19 Aug 2018 02:59:09 -0700 (PDT) Date: Sun, 19 Aug 2018 10:59:07 +0100 From: Alan Third To: "zentrope@fastmail.fm" Subject: Re: bug#31904: scatch/ns-drawing Message-ID: <20180819095907.GA98058@breton.holly.idiocy.org> References: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> <5C8BCF98-F8C6-465F-99C0-728F25A47982@zentrope.com> <20180818140233.GA63685@breton.holly.idiocy.org> <6ACE4FB3-7829-40AB-A79D-24D44C08A833@zentrope.com> <776614A2-36FE-498B-81A1-F8B5ADC7FF88@zentrope.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <776614A2-36FE-498B-81A1-F8B5ADC7FF88@zentrope.com> User-Agent: Mutt/1.10.0 (2018-05-17) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 31904 Cc: 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Sat, Aug 18, 2018 at 12:23:02PM -0700, zentrope@fastmail.fm wrote: > Another wrinkle (emacs-26 with patch applied): > > When I change my font, all the text disappears except for the current line. > > The text comes back if: > > - I move the cursor over the affected areas. > - I wait a bit (from the cursor line down renders). > - Switch away to a non-Emacs window. > > Seems like as soon as there’s a reason to paint the screen, it comes back. I take it the frame changes size when you change font? If you evaluate this does the frame redraw right? (set-frame-width nil 103) -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 19 08:42:05 2018 Received: (at 31904) by debbugs.gnu.org; 19 Aug 2018 12:42:05 +0000 Received: from localhost ([127.0.0.1]:54461 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1frN1w-00061h-T7 for submit@debbugs.gnu.org; Sun, 19 Aug 2018 08:42:05 -0400 Received: from mail-wm0-f41.google.com ([74.125.82.41]:54801) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1frN1v-00061A-CF for 31904@debbugs.gnu.org; Sun, 19 Aug 2018 08:42:03 -0400 Received: by mail-wm0-f41.google.com with SMTP id c14-v6so11601049wmb.4 for <31904@debbugs.gnu.org>; Sun, 19 Aug 2018 05:42:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=XKGly2pVx05CdS7IVue4a6HZYDGZOBOYiqCOI0A7rwc=; b=Lxwci5VUKGi/89kzkw55lJvAWOyPnkx3ytV08lPieR01/fS5RoZ4lRnHYB+Kvke2Sa vY3GYD7S0CM+NM6rvrc9IOfkyosiDFP691dcsCzny7xHl1Gi7L7eAI7SoiWBh2KAFw+U INKphYjFfmjOnY/0Wg078zQhUpT25KtVvEnLGfJbdGJEEz2985vLJ0MzzoK+cCthN88V eQHLXav1EnfuYqODthFE0WCMv9gIDLE2yhOTNfhIzaP1Z8rP93VxT+RkEC7w0H58uMVK XJWugeSHDFd5yVmgHElOPV3Y8ShkWu+M0o64JYfaj7mPnOPredNcRMRG9dmr4gdJtCwr jkBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=XKGly2pVx05CdS7IVue4a6HZYDGZOBOYiqCOI0A7rwc=; b=g1BuyGgl3YsuWdv7RTPUEDkunvA6ehosDAQ/DiDsnn9mzQhB6TWyvrOkQUpLrCJPux aMU2/MUReQnn5Fp5/P6FR3DYyLVPCQg6Xo1pfUvWKHk5JvyPrwiAJ2lHrBPb3FMp+t3o LrVrzYuJhS5glp+upXaMvt3FPYur0/n2N4b2aUmte3ROY+JVQ5UFhzzd7scgLlORCe0e V1zVJWg10RZOiPgUbTGoxEfV4oHDG4h1vkOGV0joEM64VUz+/vH5dEonQZozc3dS76He j2dZEyD3ZmHFP1+WRQlOw01rubc5NQNpo4QFSFI4AzEp1GY+NQYg5NfBdGzJ4yv67lCy JcyA== X-Gm-Message-State: AOUpUlF2+HJQsd+ZGkrMj8Ec5L0xssWXGiXNjN2H3922VVwMDsniKsMH wwLc5Z7MaN7wSxfNkhDtQTQqdrObxKw= X-Google-Smtp-Source: AA+uWPyb/N0WLcwlmzlRzMUdKYhqrRfzL8a0ILlWL5emHUdECLZV6qk0SYmxWFJ02eh/epCc4hHLnQ== X-Received: by 2002:a1c:3351:: with SMTP id z78-v6mr22725952wmz.23.1534682516089; Sun, 19 Aug 2018 05:41:56 -0700 (PDT) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-55df-fcd1-50f5-28cb.holly.idiocy.org. [2001:8b0:3f8:8129:55df:fcd1:50f5:28cb]) by smtp.gmail.com with ESMTPSA id 139-v6sm19335518wmp.4.2018.08.19.05.41.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 19 Aug 2018 05:41:55 -0700 (PDT) Date: Sun, 19 Aug 2018 13:41:53 +0100 From: Alan Third To: "zentrope@fastmail.fm" Subject: Re: bug#31904: scatch/ns-drawing Message-ID: <20180819124153.GA99643@breton.holly.idiocy.org> References: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> <5C8BCF98-F8C6-465F-99C0-728F25A47982@zentrope.com> <20180818140233.GA63685@breton.holly.idiocy.org> <6ACE4FB3-7829-40AB-A79D-24D44C08A833@zentrope.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <6ACE4FB3-7829-40AB-A79D-24D44C08A833@zentrope.com> User-Agent: Mutt/1.10.0 (2018-05-17) X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 31904 Cc: 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On Sat, Aug 18, 2018 at 12:16:30PM -0700, zentrope@fastmail.fm wrote: > > Using Xcode-beta5: > > git checkout emacs-26 > gmake clean > cd src > patch < ../path/to/your/path > cd .. > gmake install > cp -r nextstep/Emacs.app /Applications/ > > Hopefully that’s a reasonable path to rebuilding and running. Yes, that works fine. You might want to apply the patch using git am path/to/patch That inserts the patch as a commit in git, but it makes no real difference. > Also, switching to “Dark Mode” changes the window-title bar to the correct color. I thought I was going to have a make a change to get that working. Does the scrollbar change with it? -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 19 19:44:37 2018 Received: (at 31904) by debbugs.gnu.org; 19 Aug 2018 23:44:37 +0000 Received: from localhost ([127.0.0.1]:54918 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1frXN7-0007K2-BX for submit@debbugs.gnu.org; Sun, 19 Aug 2018 19:44:37 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:39433) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1frXN6-0007Jv-1S for 31904@debbugs.gnu.org; Sun, 19 Aug 2018 19:44:36 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id B2C3B211A9; Sun, 19 Aug 2018 19:44:35 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Sun, 19 Aug 2018 19:44:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=pT+D9H /FA5nqB++jpl3g7crs0riNLTTuYo8VbgMbBXs=; b=EoffhktY3RDE8vRjcspvpc OkVJ35IJXFIifA7SYR+nVnzK3ns9C60shPZHvAhJ0Itja7PUOV2BtIr92gmufC+4 Jth2PiQ7VCcZrHAVDD0Q+ol4YzhzBWjQOqv4RqMqEJ4f9nn3nZT3ATPYzP6BG9gb /PmDYLblEUIMGSFLbvsCJkKpHl1PRccHOTuv2gjSFaLX3ZX4433Jo/AMvHCoYZbw /ItnuNFz30iZ+Hjrm8+0qrrwHubz7UWw/LV0LS+v5MawQHYCLk8AijUEWj8MyKSw D2WLMjNp7+BQWQweCO6JYkeVY3EYRI+6erNboJ7podnjrYI3TJI7PNf6XoBFk1Ag == X-ME-Proxy: X-ME-Sender: Received: from [192.168.0.7] (75-164-214-225.ptld.qwest.net [75.164.214.225]) by mail.messagingengine.com (Postfix) with ESMTPA id D82421025D; Sun, 19 Aug 2018 19:44:34 -0400 (EDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.32\)) Subject: Re: bug#31904: scatch/ns-drawing From: "zentrope@fastmail.fm" In-Reply-To: <20180819124153.GA99643@breton.holly.idiocy.org> Date: Sun, 19 Aug 2018 16:44:33 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> <5C8BCF98-F8C6-465F-99C0-728F25A47982@zentrope.com> <20180818140233.GA63685@breton.holly.idiocy.org> <6ACE4FB3-7829-40AB-A79D-24D44C08A833@zentrope.com> <20180819124153.GA99643@breton.holly.idiocy.org> To: Alan Third X-Mailer: Apple Mail (2.3445.100.32) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 31904 Cc: 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > On Aug 19, 2018, at 5:41 AM, Alan Third wrote: >=20 > On Sat, Aug 18, 2018 at 12:16:30PM -0700, zentrope@fastmail.fm wrote: >=20 >> Also, switching to =E2=80=9CDark Mode=E2=80=9D changes the = window-title bar to the correct color. >=20 > I thought I was going to have a make a change to get that working. > Does the scrollbar change with it? Both the scroll bars and tool bar change color with the overall = appearance settings. I=E2=80=99m guessing that compilation links against = the correct libraries which do the Right Thing. An instance compiled elsewhere (on High Sierra) ignores the Dark/Light = mode changes. From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 19 19:51:42 2018 Received: (at 31904) by debbugs.gnu.org; 19 Aug 2018 23:51:42 +0000 Received: from localhost ([127.0.0.1]:54923 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1frXTy-0007VB-4n for submit@debbugs.gnu.org; Sun, 19 Aug 2018 19:51:42 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:59113) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1frXTw-0007V3-7o for 31904@debbugs.gnu.org; Sun, 19 Aug 2018 19:51:40 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id E4E7C219EB; Sun, 19 Aug 2018 19:51:39 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Sun, 19 Aug 2018 19:51:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=4trqLc egj9vwOI7oov3DmuCVWw2q2y0kTeqQLDVfr4E=; b=jMYVtgpFBk3c0gz+Scyjk6 ZwxfLH26Ng/m+XCYB5E2AozEBRhoG0GkbtfWqj9fTAeZnPEPR5zhLlz6GUpncBnN GnfWqVc9vi50rpq3JT0su3lG/3B0jHsrtyQKT096dayyCOp+vF+OIhTNlkwU1Ug9 QlAi8Lttdv2yOlLg0AYHWNWira/vfyFgBWVWyFIguTjQXNAqRb7owTxtqCV3ausw sY8cI45ZUMHv5QMaHYOVvO1VY5sCvunkdEk5UND3nnK2ytO3rcOBEdKlL7eEK4zL zR+CNu32VXS0o4DNYnqNmQXc6+aiV7/cRrO6xYOB60BoDSwAOPDVld1BzF2vDBhg == X-ME-Proxy: X-ME-Sender: Received: from [192.168.0.7] (75-164-214-225.ptld.qwest.net [75.164.214.225]) by mail.messagingengine.com (Postfix) with ESMTPA id 90650E471F; Sun, 19 Aug 2018 19:51:38 -0400 (EDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.32\)) Subject: Re: bug#31904: scatch/ns-drawing From: "zentrope@fastmail.fm" In-Reply-To: <20180819095907.GA98058@breton.holly.idiocy.org> Date: Sun, 19 Aug 2018 16:51:36 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <1208BE02-F818-4699-B30B-2D9506126960@zentrope.com> References: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> <5C8BCF98-F8C6-465F-99C0-728F25A47982@zentrope.com> <20180818140233.GA63685@breton.holly.idiocy.org> <6ACE4FB3-7829-40AB-A79D-24D44C08A833@zentrope.com> <776614A2-36FE-498B-81A1-F8B5ADC7FF88@zentrope.com> <20180819095907.GA98058@breton.holly.idiocy.org> To: Alan Third X-Mailer: Apple Mail (2.3445.100.32) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 31904 Cc: 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > On Aug 19, 2018, at 2:59 AM, Alan Third wrote: >=20 > On Sat, Aug 18, 2018 at 12:23:02PM -0700, zentrope@fastmail.fm wrote: >> Another wrinkle (emacs-26 with patch applied): >>=20 >> When I change my font, all the text disappears except for the current = line. >>=20 >> The text comes back if: >>=20 >> - I move the cursor over the affected areas. >> - I wait a bit (from the cursor line down renders). >> - Switch away to a non-Emacs window. >>=20 >> Seems like as soon as there=E2=80=99s a reason to paint the screen, = it comes back. >=20 > I take it the frame changes size when you change font? >=20 > If you evaluate this does the frame redraw right? >=20 > (set-frame-width nil 103) The frame=E2=80=99s size does not change (if you mean the window gets = narrower for a narrower font, say). The set-frame-width expression doesn=E2=80=99t make any difference when = I change from Monoco to Menlo and back. Another interesting thing: * The problem does NOT occur when changing the size of the font. * If I change the font (to Monaco), the screen blanks, but immediately = running a command to change the font size =E2=80=9Cfixes=E2=80=9D it. Seems that the font-change isn=E2=80=99t triggering a =E2=80=9Crepaint = the whole thing=E2=80=9D, rather, just repaint the line containing the = pointer. Functions involved in font-size change (really just set-face-attribute): (defun kfi/set-font-size (size) "Set the font SIZE." (interactive "nNew size: ") (set-face-attribute 'default nil :height size)) (defun kfi/font-size-up () "Shift font size up by 10 units." (interactive) (kfi/set-font-size (+ (face-attribute 'default :height) 10))) (defun kfi/font-size-down () "Shift font size down by 10 units." (interactive) (kfi/set-font-size (- (face-attribute 'default :height) 10))) From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 26 09:03:00 2018 Received: (at 31904) by debbugs.gnu.org; 26 Aug 2018 13:03:00 +0000 Received: from localhost ([127.0.0.1]:60958 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ftuh2-0006iB-B4 for submit@debbugs.gnu.org; Sun, 26 Aug 2018 09:03:00 -0400 Received: from mail-wr1-f46.google.com ([209.85.221.46]:34800) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ftuh0-0006hx-2d for 31904@debbugs.gnu.org; Sun, 26 Aug 2018 09:02:58 -0400 Received: by mail-wr1-f46.google.com with SMTP id g33-v6so11170129wrd.1 for <31904@debbugs.gnu.org>; Sun, 26 Aug 2018 06:02:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=ZI6MZ1RaWvrOETtyZy6Tg/+VX++Bx4F2QnhfHLVp3ck=; b=ZcznVTYH+lGUugXafxbrQK7ClurpAzAhipV2xb47hjghlNo5cpnaicJpvKUnI4a/1Z MjdK0mYnT3ndWCHM+PK8/BN3OUhUU3Uc5sboMG9D7FZv7z118qmqnfOqMIOt2rKO678u m5vajTTL/SbAFyyjQ3w0Zywnf0FbtCpTrdIeBzrqHvILFoAKaXIZhsLxKKGON+oBnqxS LEiP9bNXuu+ee7TKXKlJ7RejCp5SQiw2hjrqgOd4t8bXzK4P+oI0BByEqrq+G0SJ7p+W /ExBKZhf0reF02Sn12m/A9bahQ8LJ68uk8JzEwQy7pK49hqE8gHTMtRIfB0P1cGIG8jN qc9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=ZI6MZ1RaWvrOETtyZy6Tg/+VX++Bx4F2QnhfHLVp3ck=; b=jUrAh+o//Mdp7TkDUidS2WFwjGhfkrU96swVbP3soMKYU6mh4MmDurOCz3VkVlO9Ya Pz2Hum+ygLD47DPOLaySSwzA8ECUJ/O+3qKotTO+x69lhHG4Vzh+JtSYnYeHT6HXQFiy 771BipPQa9lx8JJitsPQZuw2zmFtBAuzeOoKBpzykodhwceoX+BT+dsFj5+hHtORO+Lq /V4hyzWJpRvyXT3FIPw5tL+7p6hA4SGmf5IhHZEiADB4NC38xKbgEFt4ipj5wM7KO2St at0W7e44mh39vGr3Nii+FekrSbL/e22sgwkWffIM4ZxBTKAtAMOZPAyYJil0pyMJQmSE NDIg== X-Gm-Message-State: APzg51DK7l866HmQiWpnc0TRNTOm/sftPRk2qIbEcTMM4dxN6cmzIbom iFg2t5WStW04SByo5wwsMeG3xlMApyI= X-Google-Smtp-Source: ANB0Vda1TCAcR2rh0PCqGu/N7xJQMJaE5FvGKGFjWxC2393jLdhY2oT+cFyh9q9iVjlQPxqFECDUHA== X-Received: by 2002:a5d:4b52:: with SMTP id w18-v6mr5803491wrs.87.1535288572381; Sun, 26 Aug 2018 06:02:52 -0700 (PDT) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-7d3a-29da-187f-124a.holly.idiocy.org. [2001:8b0:3f8:8129:7d3a:29da:187f:124a]) by smtp.gmail.com with ESMTPSA id a9-v6sm7528966wmf.28.2018.08.26.06.02.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 26 Aug 2018 06:02:51 -0700 (PDT) Date: Sun, 26 Aug 2018 14:02:49 +0100 From: Alan Third To: "zentrope@fastmail.fm" Subject: Re: bug#31904: scatch/ns-drawing Message-ID: <20180826130249.GB1013@breton.holly.idiocy.org> References: <75680C09-827A-4AB3-A930-F132AE8463A1@zentrope.com> <5C8BCF98-F8C6-465F-99C0-728F25A47982@zentrope.com> <20180818140233.GA63685@breton.holly.idiocy.org> <6ACE4FB3-7829-40AB-A79D-24D44C08A833@zentrope.com> <776614A2-36FE-498B-81A1-F8B5ADC7FF88@zentrope.com> <20180819095907.GA98058@breton.holly.idiocy.org> <1208BE02-F818-4699-B30B-2D9506126960@zentrope.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1208BE02-F818-4699-B30B-2D9506126960@zentrope.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 31904 Cc: 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Sorry, I thought I’d already replied to this. On Sun, Aug 19, 2018 at 04:51:36PM -0700, zentrope@fastmail.fm wrote: > > Another interesting thing: > > * The problem does NOT occur when changing the size of the font. > > * If I change the font (to Monaco), the screen blanks, but > immediately running a command to change the font size “fixes” it. > > Seems that the font-change isn’t triggering a “repaint the whole > thing”, rather, just repaint the line containing the pointer. Yes, that sounds right. Chances are the line with the cursor on it redraws because the cursor is drawn as a separate action. Probably the font change needs to mark the frame as garbaged so it’s redrawn completely, but that’s not happening. Unfortunately I don’t know where that should be done. I can’t see anywhere obvious in the NS code. I’ll keep looking. -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 19 12:46:41 2018 Received: (at 31904) by debbugs.gnu.org; 19 Sep 2018 16:46:41 +0000 Received: from localhost ([127.0.0.1]:45908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g2fcd-000704-Lo for submit@debbugs.gnu.org; Wed, 19 Sep 2018 12:46:41 -0400 Received: from 183.ip-51-68-126.eu ([51.68.126.183]:60504 helo=zmail.apertron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g2fSp-0006j8-7s for 31904@debbugs.gnu.org; Wed, 19 Sep 2018 12:36:33 -0400 Received: from [10.10.10.55] (unknown [213.205.194.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: zack@apertron.com) by zmail.apertron.com (Postfix) with ESMTPSA id 56F7360926 for <31904@debbugs.gnu.org>; Wed, 19 Sep 2018 16:36:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zack-piper.com; s=dkim; t=1537374986; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references; bh=cPwteRzZXh38xSDe83pRtzIwVEoGuJJhdgmQpLO+pDs=; b=T9vwCSyHDi5NFEKRYjeFoHsYzyl4mh7aTpD4KLbSbX6oT/YItbGZrZvqXq0PAPocq024uV QB2jkkqazYQzjx0/Y6ySWyh4xdo6QqK9KxXOaMuHgdqXQ80clWcJTxHEVOIKwOFzVi2RiS xUNy5KEWXAfvB4POFrSDS7Ub+TkV084= From: "Zack Piper" To: 31904@debbugs.gnu.org Subject: Re: bug##31904 Date: Wed, 19 Sep 2018 17:36:27 +0100 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_MailMate_75C4B371-DB10-46EF-B276-0F6D6058718F_=" X-Spam-Score: 2.4 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi all, I usually use Emacs 27 (AKA `master`). I upgraded to the latest Mojave beta (1 week until GM I believe, I was eager!) Thanks Alan for providing the patch, I took the patch (which you said was based on emacs-26) and "updated" (used the `wiggle` command for the hunks that wouldn't apply, I've never really meddled with Objective-C before and I've never really updated a patch before when there's rejected hunks, so please excuse any ignorance you pick up on. :-) [...] Content analysis details: (2.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 HTML_MESSAGE BODY: HTML included in message 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid 2.0 KHOP_DYNAMIC Relay looks like a dynamic address 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS X-Debbugs-Envelope-To: 31904 X-Mailman-Approved-At: Wed, 19 Sep 2018 12:46:38 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.4 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi all, I usually use Emacs 27 (AKA `master`). I upgraded to the latest Mojave beta (1 week until GM I believe, I was eager!) Thanks Alan for providing the patch, I took the patch (which you said was based on emacs-26) and "updated" (used the `wiggle` command for the hunks that wouldn't apply, I've never really meddled with Objective-C before and I've never really updated a patch before when there's rejected hunks, so please excuse any ignorance you pick up on. :-) [...] Content analysis details: (1.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 HTML_MESSAGE BODY: HTML included in message 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid 2.0 KHOP_DYNAMIC Relay looks like a dynamic address 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager --=_MailMate_75C4B371-DB10-46EF-B276-0F6D6058718F_= Content-Type: multipart/alternative; boundary="=_MailMate_F43E3D56-D8A5-4A8A-B8F5-609B7D7C4C8E_=" --=_MailMate_F43E3D56-D8A5-4A8A-B8F5-609B7D7C4C8E_= Content-Type: text/plain; format=flowed; markup=markdown Content-Transfer-Encoding: quoted-printable Hi all, I usually use Emacs 27 (AKA `master`). I upgraded to the latest Mojave = beta (1 week until GM I believe, I was eager!) Thanks Alan for providing the patch, I took the patch (which you said = was based on emacs-26) and "updated" (used the `wiggle` command for the hunks that wouldn't apply, I've never = really meddled with Objective-C before and I've never really updated a patch before when there's rejected hunks, so = please excuse any ignorance you pick up on. :-) The patch builds and launches Emacs successfully! (Thanks again Alan) However, just thought I'd mention that after some time (5-10 minutes of = idling, and just now it crashed during launch) I get the following: Note that I *believe* I've compiled Emacs with debugging symbols and no = optimisation, feel free to correct me if not. Hopefully the below output is helpful to someone. This might even be a = bug in Mojave and one of the core libraries, but I haven't had this with other applications: I can reproduce the issue within a maximum of 10 minutes, whether typing = or not. It's likely worthy to note that this happened also with the emacs-26 = branch, commit d4fa83baf5462cfcf61ebbb8c0a0ec584d11c39a, under the same circumstances, and with the attached patch applied. Feel free to shout at me to submit this as a new bug, I couldn't find = which email makes a new one. :-( The below happens on commit 75d9a55fae1c484aa6d213064931bfe3b65cf5dd on = the master branch. ``` objc[95306]: Invalid or prematurely-freed autorelease pool 0x103e60378. Process 95306 stopped * thread #1, queue =3D 'com.apple.main-thread', stop reason =3D signal = SIGABRT frame #0: 0x00007fff7679b01e = libsystem_kernel.dylib`__abort_with_payload + 10 libsystem_kernel.dylib`__abort_with_payload: -> 0x7fff7679b01e <+10>: jae 0x7fff7679b028 ; <+20> 0x7fff7679b020 <+12>: movq %rax, %rdi 0x7fff7679b023 <+15>: jmp 0x7fff7677de67 ; = cerror_nocancel 0x7fff7679b028 <+20>: retq Target 0: (Emacs) stopped. (lldb) bt all * thread #1, queue =3D 'com.apple.main-thread', stop reason =3D signal = SIGABRT * frame #0: 0x00007fff7679b01e = libsystem_kernel.dylib`__abort_with_payload + 10 frame #1: 0x00007fff76796561 = libsystem_kernel.dylib`abort_with_payload_wrapper_internal + 82 frame #2: 0x00007fff7679650f = libsystem_kernel.dylib`abort_with_reason + 22 frame #3: 0x00007fff75579674 libobjc.A.dylib`_objc_fatalv(unsigned = long long, unsigned long long, char const*, __va_list_tag*) + 108 frame #4: 0x00007fff75579526 libobjc.A.dylib`_objc_fatal(char = const*, ...) + 135 frame #5: 0x00007fff7556bd73 libobjc.A.dylib`(anonymous = namespace)::AutoreleasePoolPage::pop(void*) + 957 frame #6: 0x00007fff46c2d232 AppKit`-[NSView(NSInternal) = _recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReference= Color:stopAtLayerBackedViews:] = + 3454 frame #7: 0x00007fff46c2c4a2 AppKit`__46-[NSView(NSLayerKitGlue) = drawLayer:inContext:]_block_invoke + 192 frame #8: 0x00007fff46c2c201 AppKit`-[NSView(NSLayerKitGlue) = _drawViewBackingLayer:inContext:drawingHandler:] + 1769 frame #9: 0x00007fff54540aaf QuartzCore`CABackingStoreUpdate_ + 577 frame #10: 0x00007fff545a2325 = QuartzCore`___ZN2CA5Layer8display_Ev_block_invoke + 53 frame #11: 0x00007fff5453fc90 QuartzCore`-[CALayer _display] + 1839 frame #12: 0x00007fff46c2b75a AppKit`_NSBackingLayerDisplay + 531 frame #13: 0x00007fff46c0fcc9 AppKit`-[_NSViewBackingLayer display] = + 811 frame #14: 0x00007fff46c0f949 AppKit`_NSBackingLayerDisplayIfNeeded = + 40 frame #15: 0x00007fff46c0f2a4 AppKit`-[NSView displayIfNeeded] + = 130 frame #16: 0x0000000100026514 Emacs`echo_area_display + 593 frame #17: 0x00000001000261ca Emacs`message3_nolog + 393 frame #18: 0x0000000100025fe3 Emacs`message3 + 399 frame #19: 0x0000000100106a03 Emacs`Fmessage + 67 frame #20: 0x000000010010f525 Emacs`Ffuncall + 665 frame #21: 0x0000000100145e02 Emacs`exec_byte_code + 1486 frame #22: 0x0000000100110040 Emacs`funcall_lambda + 648 frame #23: 0x000000010010f4c2 Emacs`Ffuncall + 566 frame #24: 0x000000010010f704 Emacs`funcall_nil + 9 frame #25: 0x000000010010f6a0 Emacs`run_hook_with_args + 198 frame #26: 0x000000010010f58b Emacs`Frun_hooks + 60 frame #27: 0x000000010010f525 Emacs`Ffuncall + 665 frame #28: 0x0000000100145e02 Emacs`exec_byte_code + 1486 frame #29: 0x000000010010f4c2 Emacs`Ffuncall + 566 frame #30: 0x0000000100145e02 Emacs`exec_byte_code + 1486 frame #31: 0x000000010010f4c2 Emacs`Ffuncall + 566 frame #32: 0x0000000100145e02 Emacs`exec_byte_code + 1486 frame #33: 0x000000010010f4c2 Emacs`Ffuncall + 566 frame #34: 0x0000000100145e02 Emacs`exec_byte_code + 1486 frame #35: 0x000000010010f4c2 Emacs`Ffuncall + 566 frame #36: 0x0000000100145e02 Emacs`exec_byte_code + 1486 frame #37: 0x000000010010f4c2 Emacs`Ffuncall + 566 frame #38: 0x0000000100145e02 Emacs`exec_byte_code + 1486 frame #39: 0x000000010010ee62 Emacs`apply_lambda + 369 frame #40: 0x000000010010c484 Emacs`eval_sub + 845 frame #41: 0x000000010012d294 Emacs`readevalloop + 1773 frame #42: 0x000000010012d502 Emacs`Feval_buffer + 368 frame #43: 0x000000010010fcfe Emacs`funcall_subr + 367 frame #44: 0x000000010010f525 Emacs`Ffuncall + 665 frame #45: 0x0000000100145e02 Emacs`exec_byte_code + 1486 frame #46: 0x0000000100110040 Emacs`funcall_lambda + 648 frame #47: 0x000000010010f4c2 Emacs`Ffuncall + 566 frame #48: 0x000000010010f9d1 Emacs`call4 + 58 frame #49: 0x000000010012b845 Emacs`Fload + 1373 frame #50: 0x000000010010fcfe Emacs`funcall_subr + 367 frame #51: 0x000000010010f525 Emacs`Ffuncall + 665 frame #52: 0x0000000100145e02 Emacs`exec_byte_code + 1486 frame #53: 0x000000010010f4c2 Emacs`Ffuncall + 566 frame #54: 0x0000000100145e02 Emacs`exec_byte_code + 1486 frame #55: 0x000000010010f4c2 Emacs`Ffuncall + 566 frame #56: 0x0000000100145e02 Emacs`exec_byte_code + 1486 frame #57: 0x000000010010ee62 Emacs`apply_lambda + 369 frame #58: 0x000000010010c484 Emacs`eval_sub + 845 frame #59: 0x000000010010ec69 Emacs`Feval + 96 frame #60: 0x000000010010dffd Emacs`internal_condition_case + 87 frame #61: 0x00000001000b17be Emacs`top_level_1 + 45 frame #62: 0x000000010010db85 Emacs`internal_catch + 74 frame #63: 0x00000001000a4a90 Emacs`command_loop + 141 frame #64: 0x00000001000a49c1 Emacs`recursive_edit_1 + 115 frame #65: 0x00000001000a4bdd Emacs`Frecursive_edit + 226 frame #66: 0x00000001000a3aa9 Emacs`main + 5211 frame #67: 0x00007fff76645085 libdyld.dylib`start + 1 frame #68: 0x00007fff76645085 libdyld.dylib`start + 1 thread #2 frame #0: 0x00007fff7677f5be = libsystem_kernel.dylib`__workq_kernreturn + 10 frame #1: 0x6874656d00000000 frame #2: 0x00007fff76836415 libsystem_pthread.dylib`start_wqthread = + 13 thread #3 frame #0: 0x00007fff7677f5be = libsystem_kernel.dylib`__workq_kernreturn + 10 frame #1: 0x00007fff76836641 = libsystem_pthread.dylib`_pthread_wqthread + 446 frame #2: 0x00007fff76836415 libsystem_pthread.dylib`start_wqthread = + 13 thread #4, name =3D 'gmain' frame #0: 0x00007fff76784e82 libsystem_kernel.dylib`__select + 10 frame #1: 0x0000000100a083da libglib-2.0.0.dylib`g_poll + 405 frame #2: 0x00000001009fc123 = libglib-2.0.0.dylib`g_main_context_iterate + 340 frame #3: 0x00000001009fc1d1 = libglib-2.0.0.dylib`g_main_context_iteration + 55 frame #4: 0x00000001009fd2b0 libglib-2.0.0.dylib`glib_worker_main + = 30 frame #5: 0x0000000100a1dcb7 libglib-2.0.0.dylib`g_thread_proxy + = 90 frame #6: 0x00007fff7683733d libsystem_pthread.dylib`_pthread_body = + 126 frame #7: 0x00007fff7683a2a7 libsystem_pthread.dylib`_pthread_start = + 70 frame #8: 0x00007fff76836425 libsystem_pthread.dylib`thread_start + = 13 thread #5 frame #0: 0x00007fff7677f5be = libsystem_kernel.dylib`__workq_kernreturn + 10 frame #1: 0x00007fff76836721 = libsystem_pthread.dylib`_pthread_wqthread + 670 frame #2: 0x00007fff76836415 libsystem_pthread.dylib`start_wqthread = + 13 thread #7 frame #0: 0x00007fff76784e82 libsystem_kernel.dylib`__select + 10 frame #1: 0x000000010017c408 Emacs`-[EmacsApp fd_handler:] + 214 frame #2: 0x00007fff4b902234 Foundation`__NSThread__start__ + 1218 frame #3: 0x00007fff7683733d libsystem_pthread.dylib`_pthread_body = + 126 frame #4: 0x00007fff7683a2a7 libsystem_pthread.dylib`_pthread_start = + 70 frame #5: 0x00007fff76836425 libsystem_pthread.dylib`thread_start + = 13 thread #9, name =3D 'com.apple.NSEventThread' frame #0: 0x00007fff7677dc2a libsystem_kernel.dylib`mach_msg_trap + = 10 frame #1: 0x00007fff7677e174 libsystem_kernel.dylib`mach_msg + 60 frame #2: 0x00007fff495ad05e = CoreFoundation`__CFRunLoopServiceMachPort + 337 frame #3: 0x00007fff495ac5ad CoreFoundation`__CFRunLoopRun + 1654 frame #4: 0x00007fff495abce4 CoreFoundation`CFRunLoopRunSpecific + = 463 frame #5: 0x00007fff46b0b581 AppKit`_NSEventThread + 160 frame #6: 0x00007fff7683733d libsystem_pthread.dylib`_pthread_body = + 126 frame #7: 0x00007fff7683a2a7 libsystem_pthread.dylib`_pthread_start = + 70 frame #8: 0x00007fff76836425 libsystem_pthread.dylib`thread_start + = 13 (lldb) ``` --=_MailMate_F43E3D56-D8A5-4A8A-B8F5-609B7D7C4C8E_= Content-Type: text/html Content-Transfer-Encoding: quoted-printable

Hi all,

I usually use Emacs 27 (AKA master). I upgraded to the latest Mojave beta (1 week until G= M I believe, I was eager!)

Thanks Alan for providing the patch, I took the patch (wh= ich you said was based on emacs-26) and "updated"
(used the wiggle command for the= hunks that wouldn't apply, I've never really meddled with Objective-C be= fore and
I've never really updated a patch before when there's rejected hunks, so = please excuse any ignorance you pick up on. :-)

The patch builds and launches Emacs successfully! (Thanks= again Alan)

However, just thought I'd mention that after some time (5= -10 minutes of idling, and just now it crashed during launch) I get the f= ollowing:

Note that I believe I've compiled Emacs with deb= ugging symbols and no optimisation, feel free to correct me if not.

Hopefully the below output is helpful to someone. This mi= ght even be a bug in Mojave and one of the core libraries, but I haven't = had
this with other applications:

I can reproduce the issue within a maximum of 10 minutes,= whether typing or not.

It's likely worthy to note that this happened also with t= he emacs-26 branch, commit d4fa83baf5462cfcf61ebbb8c0a0ec584d11c39a,
under the same circumstances, and with the attached patch applied.

Feel free to shout at me to submit this as a new bug, I c= ouldn't find which email makes a new one. :-(

The below happens on commit 75d9a55fae1c484aa6d213064931b= fe3b65cf5dd on the master branch.

objc[95306]: Inva=
lid or prematurely-freed autorelease pool 0x103e60378.
Process 95306 stopped
* thread #1, queue =3D 'com.apple.main-thread', stop reason =3D signal SI=
GABRT
    frame #0: 0x00007fff7679b01e libsystem_kernel.dylib`__abort_with_payl=
oad + 10
libsystem_kernel.dylib`__abort_with_payload:
->  0x7fff7679b01e <+10>: jae    0x7fff7679b028            ; <=
;+20>
    0x7fff7679b020 <+12>: movq   %rax, %rdi
    0x7fff7679b023 <+15>: jmp    0x7fff7677de67            ; cerror=
_nocancel
    0x7fff7679b028 <+20>: retq
Target 0: (Emacs) stopped.
(lldb) bt all
* thread #1, queue =3D 'com.apple.main-thread', stop reason =3D signal SI=
GABRT
  * frame #0: 0x00007fff7679b01e libsystem_kernel.dylib`__abort_with_payl=
oad + 10
    frame #1: 0x00007fff76796561 libsystem_kernel.dylib`abort_with_payloa=
d_wrapper_internal + 82
    frame #2: 0x00007fff7679650f libsystem_kernel.dylib`abort_with_reason=
 + 22
    frame #3: 0x00007fff75579674 libobjc.A.dylib`_objc_fatalv(unsigned lo=
ng long, unsigned long long, char const*, __va_list_tag*) + 108
    frame #4: 0x00007fff75579526 libobjc.A.dylib`_objc_fatal(char const*,=
 ...) + 135
    frame #5: 0x00007fff7556bd73 libobjc.A.dylib`(anonymous namespace)::A=
utoreleasePoolPage::pop(void*) + 957
    frame #6: 0x00007fff46c2d232 AppKit`-[NSView(NSInternal) _recursive:d=
isplayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAt=
LayerBackedViews:] + 3454
    frame #7: 0x00007fff46c2c4a2 AppKit`__46-[NSView(NSLayerKitGlue) draw=
Layer:inContext:]_block_invoke + 192
    frame #8: 0x00007fff46c2c201 AppKit`-[NSView(NSLayerKitGlue) _drawVie=
wBackingLayer:inContext:drawingHandler:] + 1769
    frame #9: 0x00007fff54540aaf QuartzCore`CABackingStoreUpdate_ + 577
    frame #10: 0x00007fff545a2325 QuartzCore`___ZN2CA5Layer8display_Ev_bl=
ock_invoke + 53
    frame #11: 0x00007fff5453fc90 QuartzCore`-[CALayer _display] + 1839
    frame #12: 0x00007fff46c2b75a AppKit`_NSBackingLayerDisplay + 531
    frame #13: 0x00007fff46c0fcc9 AppKit`-[_NSViewBackingLayer display] +=
 811
    frame #14: 0x00007fff46c0f949 AppKit`_NSBackingLayerDisplayIfNeeded +=
 40
    frame #15: 0x00007fff46c0f2a4 AppKit`-[NSView displayIfNeeded] + 130
    frame #16: 0x0000000100026514 Emacs`echo_area_display + 593
    frame #17: 0x00000001000261ca Emacs`message3_nolog + 393
    frame #18: 0x0000000100025fe3 Emacs`message3 + 399
    frame #19: 0x0000000100106a03 Emacs`Fmessage + 67
    frame #20: 0x000000010010f525 Emacs`Ffuncall + 665
    frame #21: 0x0000000100145e02 Emacs`exec_byte_code + 1486
    frame #22: 0x0000000100110040 Emacs`funcall_lambda + 648
    frame #23: 0x000000010010f4c2 Emacs`Ffuncall + 566
    frame #24: 0x000000010010f704 Emacs`funcall_nil + 9
    frame #25: 0x000000010010f6a0 Emacs`run_hook_with_args + 198
    frame #26: 0x000000010010f58b Emacs`Frun_hooks + 60
    frame #27: 0x000000010010f525 Emacs`Ffuncall + 665
    frame #28: 0x0000000100145e02 Emacs`exec_byte_code + 1486
    frame #29: 0x000000010010f4c2 Emacs`Ffuncall + 566
    frame #30: 0x0000000100145e02 Emacs`exec_byte_code + 1486
    frame #31: 0x000000010010f4c2 Emacs`Ffuncall + 566
    frame #32: 0x0000000100145e02 Emacs`exec_byte_code + 1486
    frame #33: 0x000000010010f4c2 Emacs`Ffuncall + 566
    frame #34: 0x0000000100145e02 Emacs`exec_byte_code + 1486
    frame #35: 0x000000010010f4c2 Emacs`Ffuncall + 566
    frame #36: 0x0000000100145e02 Emacs`exec_byte_code + 1486
    frame #37: 0x000000010010f4c2 Emacs`Ffuncall + 566
    frame #38: 0x0000000100145e02 Emacs`exec_byte_code + 1486
    frame #39: 0x000000010010ee62 Emacs`apply_lambda + 369
    frame #40: 0x000000010010c484 Emacs`eval_sub + 845
    frame #41: 0x000000010012d294 Emacs`readevalloop + 1773
    frame #42: 0x000000010012d502 Emacs`Feval_buffer + 368
    frame #43: 0x000000010010fcfe Emacs`funcall_subr + 367
    frame #44: 0x000000010010f525 Emacs`Ffuncall + 665
    frame #45: 0x0000000100145e02 Emacs`exec_byte_code + 1486
    frame #46: 0x0000000100110040 Emacs`funcall_lambda + 648
    frame #47: 0x000000010010f4c2 Emacs`Ffuncall + 566
    frame #48: 0x000000010010f9d1 Emacs`call4 + 58
    frame #49: 0x000000010012b845 Emacs`Fload + 1373
    frame #50: 0x000000010010fcfe Emacs`funcall_subr + 367
    frame #51: 0x000000010010f525 Emacs`Ffuncall + 665
    frame #52: 0x0000000100145e02 Emacs`exec_byte_code + 1486
    frame #53: 0x000000010010f4c2 Emacs`Ffuncall + 566
    frame #54: 0x0000000100145e02 Emacs`exec_byte_code + 1486
    frame #55: 0x000000010010f4c2 Emacs`Ffuncall + 566
    frame #56: 0x0000000100145e02 Emacs`exec_byte_code + 1486
    frame #57: 0x000000010010ee62 Emacs`apply_lambda + 369
    frame #58: 0x000000010010c484 Emacs`eval_sub + 845
    frame #59: 0x000000010010ec69 Emacs`Feval + 96
    frame #60: 0x000000010010dffd Emacs`internal_condition_case + 87
    frame #61: 0x00000001000b17be Emacs`top_level_1 + 45
    frame #62: 0x000000010010db85 Emacs`internal_catch + 74
    frame #63: 0x00000001000a4a90 Emacs`command_loop + 141
    frame #64: 0x00000001000a49c1 Emacs`recursive_edit_1 + 115
    frame #65: 0x00000001000a4bdd Emacs`Frecursive_edit + 226
    frame #66: 0x00000001000a3aa9 Emacs`main + 5211
    frame #67: 0x00007fff76645085 libdyld.dylib`start + 1
    frame #68: 0x00007fff76645085 libdyld.dylib`start + 1
  thread #2
    frame #0: 0x00007fff7677f5be libsystem_kernel.dylib`__workq_kernretur=
n + 10
    frame #1: 0x6874656d00000000
    frame #2: 0x00007fff76836415 libsystem_pthread.dylib`start_wqthread +=
 13
  thread #3
    frame #0: 0x00007fff7677f5be libsystem_kernel.dylib`__workq_kernretur=
n + 10
    frame #1: 0x00007fff76836641 libsystem_pthread.dylib`_pthread_wqthrea=
d + 446
    frame #2: 0x00007fff76836415 libsystem_pthread.dylib`start_wqthread +=
 13
  thread #4, name =3D 'gmain'
    frame #0: 0x00007fff76784e82 libsystem_kernel.dylib`__select + 10
    frame #1: 0x0000000100a083da libglib-2.0.0.dylib`g_poll + 405
    frame #2: 0x00000001009fc123 libglib-2.0.0.dylib`g_main_context_itera=
te + 340
    frame #3: 0x00000001009fc1d1 libglib-2.0.0.dylib`g_main_context_itera=
tion + 55
    frame #4: 0x00000001009fd2b0 libglib-2.0.0.dylib`glib_worker_main + 3=
0
    frame #5: 0x0000000100a1dcb7 libglib-2.0.0.dylib`g_thread_proxy + 90
    frame #6: 0x00007fff7683733d libsystem_pthread.dylib`_pthread_body + =
126
    frame #7: 0x00007fff7683a2a7 libsystem_pthread.dylib`_pthread_start +=
 70
    frame #8: 0x00007fff76836425 libsystem_pthread.dylib`thread_start + 1=
3
  thread #5
    frame #0: 0x00007fff7677f5be libsystem_kernel.dylib`__workq_kernretur=
n + 10
    frame #1: 0x00007fff76836721 libsystem_pthread.dylib`_pthread_wqthrea=
d + 670
    frame #2: 0x00007fff76836415 libsystem_pthread.dylib`start_wqthread +=
 13
  thread #7
    frame #0: 0x00007fff76784e82 libsystem_kernel.dylib`__select + 10
    frame #1: 0x000000010017c408 Emacs`-[EmacsApp fd_handler:] + 214
    frame #2: 0x00007fff4b902234 Foundation`__NSThread__start__ + 1218
    frame #3: 0x00007fff7683733d libsystem_pthread.dylib`_pthread_body + =
126
    frame #4: 0x00007fff7683a2a7 libsystem_pthread.dylib`_pthread_start +=
 70
    frame #5: 0x00007fff76836425 libsystem_pthread.dylib`thread_start + 1=
3
  thread #9, name =3D 'com.apple.NSEventThread'
    frame #0: 0x00007fff7677dc2a libsystem_kernel.dylib`mach_msg_trap + 1=
0
    frame #1: 0x00007fff7677e174 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x00007fff495ad05e CoreFoundation`__CFRunLoopServiceMachPor=
t + 337
    frame #3: 0x00007fff495ac5ad CoreFoundation`__CFRunLoopRun + 1654
    frame #4: 0x00007fff495abce4 CoreFoundation`CFRunLoopRunSpecific + 46=
3
    frame #5: 0x00007fff46b0b581 AppKit`_NSEventThread + 160
    frame #6: 0x00007fff7683733d libsystem_pthread.dylib`_pthread_body + =
126
    frame #7: 0x00007fff7683a2a7 libsystem_pthread.dylib`_pthread_start +=
 70
    frame #8: 0x00007fff76836425 libsystem_pthread.dylib`thread_start + 1=
3
(lldb)
--=_MailMate_F43E3D56-D8A5-4A8A-B8F5-609B7D7C4C8E_=-- --=_MailMate_75C4B371-DB10-46EF-B276-0F6D6058718F_= Content-Disposition: attachment; filename=0001-nsterm.m.patch Content-Transfer-Encoding: quoted-printable =46rom dea03ff92e307456d103f716652ae76987da02f9 Mon Sep 17 00:00:00 2001 From: Zack Piper Date: Tue, 18 Sep 2018 21:42:55 +0100 Subject: [PATCH] nsterm.m --- src/nsterm.m | 735 +++++++++++++++++++++++++-------------------------- 1 file changed, 364 insertions(+), 371 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index 961271f2d0..a2117eb027 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -278,8 +278,6 @@ - (NSColor *)colorUsingDefaultColorSpace long context_menu_value =3D 0; = /* display update */ -static struct frame *ns_updating_frame; -static NSView *focus_view =3D NULL; static int ns_window_num =3D 0; #ifdef NS_IMPL_GNUSTEP static NSRect uRect; // TODO: This is dead, remove it? @@ -1109,30 +1107,29 @@ static NSRect constrain_frame_rect(NSRect frameRe= ct, bool isFullscreen) } #endif = - ns_updating_frame =3D f; - [view lockFocus]; - /* drawRect may have been called for say the minibuffer, and then clip= path is for the minibuffer. But the display engine may draw more becaus= e we have set the frame as garbaged. So reset clip path to the whole= view. */ + /* FIXME: I don't think we need to do this. */ #ifdef NS_IMPL_COCOA - { - NSBezierPath *bp; - NSRect r =3D [view frame]; - NSRect cr =3D [[view window] frame]; - /* If a large frame size is set, r may be larger than the window fra= me - before constrained. In that case don't change the clip path, as = we - will clear in to the tool bar and title bar. */ - if (r.size.height - + FRAME_NS_TITLEBAR_HEIGHT (f) - + FRAME_TOOLBAR_HEIGHT (f) <=3D cr.size.height) - { - bp =3D [[NSBezierPath bezierPathWithRect: r] retain]; - [bp setClip]; - [bp release]; - } - } + if ([NSView focusView] =3D=3D FRAME_NS_VIEW (f)) + { + NSBezierPath *bp; + NSRect r =3D [view frame]; + NSRect cr =3D [[view window] frame]; + /* If a large frame size is set, r may be larger than the window f= rame + before constrained. In that case don't change the clip path, a= s we + will clear in to the tool bar and title bar. */ + if (r.size.height + + FRAME_NS_TITLEBAR_HEIGHT (f) + + FRAME_TOOLBAR_HEIGHT (f) <=3D cr.size.height) + { + bp =3D [[NSBezierPath bezierPathWithRect: r] retain]; + [bp setClip]; + [bp release]; + } + } #endif = #ifdef NS_IMPL_GNUSTEP @@ -1218,23 +1215,14 @@ static NSRect constrain_frame_rect(NSRect frameRe= ct, bool isFullscreen) external (RIF) call; for whole frame, called after update_window_end ---------------------------------------------------------------------= ----- */ { - EmacsView *view =3D FRAME_NS_VIEW (f); - NSTRACE_WHEN (NSTRACE_GROUP_UPDATES, "ns_update_end"); = /* if (f =3D=3D MOUSE_HL_INFO (f)->mouse_face_mouse_frame) */ MOUSE_HL_INFO (f)->mouse_face_defer =3D 0; - - block_input (); - - [view unlockFocus]; - [[view window] flushWindow]; - - unblock_input (); - ns_updating_frame =3D NULL; } = -static void + +static BOOL ns_focus (struct frame *f, NSRect *r, int n) /* ---------------------------------------------------------------------= ----- Internal: Focus on given frame. During small local updates this is u= sed to @@ -1246,48 +1234,38 @@ static NSRect constrain_frame_rect(NSRect frameRe= ct, bool isFullscreen) ---------------------------------------------------------------------= ----- */ { NSTRACE_WHEN (NSTRACE_GROUP_FOCUS, "ns_focus"); - if (r !=3D NULL) + if (r) { NSTRACE_RECT ("r", *r); - } = - if (f !=3D ns_updating_frame) - { - NSView *view =3D FRAME_NS_VIEW (f); - if (view !=3D focus_view) + if ([NSView focusView] =3D=3D FRAME_NS_VIEW (f)) { - if (focus_view !=3D NULL) - { - [focus_view unlockFocus]; - [[focus_view window] flushWindow]; -/* debug_lock--; */ - } + [[NSGraphicsContext currentContext] saveGraphicsState]; + if (n =3D=3D 2) + NSRectClipList (r, 2); + else + NSRectClip (*r); + gsaved =3D YES; = - if (view) - [view lockFocus]; - focus_view =3D view; -/* if (view) debug_lock++; */ + return YES; } - } - - /* clipping */ - if (r) - { - [[NSGraphicsContext currentContext] saveGraphicsState]; - if (n =3D=3D 2) - NSRectClipList (r, 2); else - NSRectClip (*r); - gsaved =3D YES; + { + NSView *view =3D FRAME_NS_VIEW (f); + int i; + for (i =3D 0 ; i < n ; i++) + [view setNeedsDisplayInRect:r[i]]; + } } + + return NO; } = = static void ns_unfocus (struct frame *f) -/* ---------------------------------------------------------------------= ----- - Internal: Remove focus on given frame - ---------------------------------------------------------------------= ----- */ +/* Internal: Restore the previous graphics state, unsetting any + clipping areas. */ { NSTRACE_WHEN (NSTRACE_GROUP_FOCUS, "ns_unfocus"); = @@ -1297,20 +1275,10 @@ static NSRect constrain_frame_rect(NSRect frameRe= ct, bool isFullscreen) gsaved =3D NO; } = - if (f !=3D ns_updating_frame) - { - if (focus_view !=3D NULL) - { - [focus_view unlockFocus]; - [[focus_view window] flushWindow]; - focus_view =3D NULL; -/* debug_lock--; */ - } - } } = = -static void +static BOOL ns_clip_to_row (struct window *w, struct glyph_row *row, enum glyph_row_area area, BOOL gc) /* ---------------------------------------------------------------------= ----- @@ -1329,7 +1297,17 @@ static NSRect constrain_frame_rect(NSRect frameRec= t, bool isFullscreen) clip_rect.size.width =3D window_width; clip_rect.size.height =3D row->visible_height; = - ns_focus (f, &clip_rect, 1); + return ns_focus (f, &clip_rect, 1); +} + + +static void +ns_flush_display (struct frame *f) +/* Force the frame to redisplay. If areas have previously been marked + dirty by setNeedsDisplayInRect (in ns_focus), then this will call + draw_rect: which will "expose" those areas. */ +{ + [FRAME_NS_VIEW (f) displayIfNeeded]; } = = @@ -2826,14 +2804,16 @@ so some key presses (TAB) are swallowed by the sy= stem. */ r =3D [view bounds]; = block_input (); - ns_focus (f, &r, 1); - [ns_lookup_indexed_color (NS_FACE_BACKGROUND - (FACE_FROM_ID (f, DEFAULT_FACE_ID)), f) set]; - NSRectFill (r); - ns_unfocus (f); - - /* as of 2006/11 or so this is now needed */ - ns_redraw_scroll_bars (f); + if (ns_focus (f, &r, 1)) + { + [ns_lookup_indexed_color (NS_FACE_BACKGROUND + (FACE_FROM_ID (f, DEFAULT_FACE_ID)), f) = set]; + NSRectFill (r); + ns_unfocus (f); + + /* as of 2006/11 or so this is now needed */ + ns_redraw_scroll_bars (f); + } unblock_input (); } = @@ -2854,13 +2834,14 @@ so some key presses (TAB) are swallowed by the sy= stem. */ NSTRACE_WHEN (NSTRACE_GROUP_UPDATES, "ns_clear_frame_area"); = r =3D NSIntersectionRect (r, [view frame]); - ns_focus (f, &r, 1); - [ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), f) set]; + if (ns_focus (f, &r, 1)) + { + [ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), f) set]; = - NSRectFill (r); + NSRectFill (r); = - ns_unfocus (f); - return; + ns_unfocus (f); + } } = static void @@ -2872,11 +2853,11 @@ so some key presses (TAB) are swallowed by the sy= stem. */ { hide_bell(); // Ensure the bell image isn't scrolled.= = - ns_focus (f, &dest, 1); + /* FIXME: scrollRect:by: is deprecated in macOS 10.14. There is + no obvious replacement so we may have to come up with our own. = */ [FRAME_NS_VIEW (f) scrollRect: src by: NSMakeSize (dest.origin.x - src.ori= gin.x, dest.origin.y - src.ori= gin.y)]; - ns_unfocus (f); } } = @@ -3087,88 +3068,87 @@ so some key presses (TAB) are swallowed by the sy= stem. */ } = /* Must clip because of partially visible lines. */ - ns_clip_to_row (w, row, ANY_AREA, YES); - - if (!p->overlay_p) + if (ns_clip_to_row (w, row, ANY_AREA, YES)) { - int bx =3D p->bx, by =3D p->by, nx =3D p->nx, ny =3D p->ny; - - if (bx >=3D 0 && nx > 0) + if (!p->overlay_p) { - NSRect r =3D NSMakeRect (bx, by, nx, ny); - NSRectClip (r); - [ns_lookup_indexed_color (face->background, f) set]; - NSRectFill (r); - } - } - - if (p->which) - { - NSRect r =3D NSMakeRect (p->x, p->y, p->wd, p->h); - EmacsImage *img =3D bimgs[p->which - 1]; + int bx =3D p->bx, by =3D p->by, nx =3D p->nx, ny =3D p->ny; = - if (!img) - { - // Note: For "periodic" images, allocate one EmacsImage for - // the base image, and use it for all dh:s. - unsigned short *bits =3D p->bits; - int full_height =3D p->h + p->dh; - int i; - unsigned char *cbits =3D xmalloc (full_height); - - for (i =3D 0; i < full_height; i++) - cbits[i] =3D bits[i]; - img =3D [[EmacsImage alloc] initFromXBM: cbits width: 8 - height: full_height - fg: 0 bg: 0]; - bimgs[p->which - 1] =3D img; - xfree (cbits); + if (bx >=3D 0 && nx > 0) + { + NSRect r =3D NSMakeRect (bx, by, nx, ny); + NSRectClip (r); + [ns_lookup_indexed_color (face->background, f) set]; + NSRectFill (r); + } } = - NSTRACE_RECT ("r", r); + if (p->which) + { + NSRect r =3D NSMakeRect (p->x, p->y, p->wd, p->h); + EmacsImage *img =3D bimgs[p->which - 1]; = - NSRectClip (r); - /* Since we composite the bitmap instead of just blitting it, we n= eed - to erase the whole background. */ - [ns_lookup_indexed_color(face->background, f) set]; - NSRectFill (r); + if (!img) + { + // Note: For "periodic" images, allocate one EmacsImage fo= r + // the base image, and use it for all dh:s. + unsigned short *bits =3D p->bits; + int full_height =3D p->h + p->dh; + int i; + unsigned char *cbits =3D xmalloc (full_height); + + for (i =3D 0; i < full_height; i++) + cbits[i] =3D bits[i]; + img =3D [[EmacsImage alloc] initFromXBM: cbits width: 8 + height: full_height + fg: 0 bg: 0]; + bimgs[p->which - 1] =3D img; + xfree (cbits); + } = - { - NSColor *bm_color; - if (!p->cursor_p) - bm_color =3D ns_lookup_indexed_color(face->foreground, f); - else if (p->overlay_p) - bm_color =3D ns_lookup_indexed_color(face->background, f); - else - bm_color =3D f->output_data.ns->cursor_color; - [img setXBMColor: bm_color]; - } + NSTRACE_RECT ("r", r); = -#ifdef NS_IMPL_COCOA - // Note: For periodic images, the full image height is "h + hd". - // By using the height h, a suitable part of the image is used. - NSRect fromRect =3D NSMakeRect(0, 0, p->wd, p->h); + NSRectClip (r); + /* Since we composite the bitmap instead of just blitting it, = we need + to erase the whole background. */ + [ns_lookup_indexed_color(face->background, f) set]; + NSRectFill (r); = - NSTRACE_RECT ("fromRect", fromRect); + { + NSColor *bm_color; + if (!p->cursor_p) + bm_color =3D ns_lookup_indexed_color(face->foreground, f);= + else if (p->overlay_p) + bm_color =3D ns_lookup_indexed_color(face->background, f);= + else + bm_color =3D f->output_data.ns->cursor_color; + [img setXBMColor: bm_color]; + } = - [img drawInRect: r - fromRect: fromRect - operation: NSCompositingOperationSourceOver - fraction: 1.0 - respectFlipped: YES - hints: nil]; +#ifdef NS_IMPL_COCOA + // Note: For periodic images, the full image height is "h + hd= ". + // By using the height h, a suitable part of the image is used= =2E + NSRect fromRect =3D NSMakeRect(0, 0, p->wd, p->h); + + NSTRACE_RECT ("fromRect", fromRect); + + [img drawInRect: r + fromRect: fromRect + operation: NSCompositingOperationSourceOver + fraction: 1.0 + respectFlipped: YES + hints: nil]; #else - { - NSPoint pt =3D r.origin; - pt.y +=3D p->h; - [img compositeToPoint: pt operation: NSCompositingOperationSourc= eOver]; - } + { + NSPoint pt =3D r.origin; + pt.y +=3D p->h; + [img compositeToPoint: pt operation: NSCompositingOperationS= ourceOver]; + } #endif + } + ns_unfocus (f); } - ns_unfocus (f); } - - static void ns_draw_window_cursor (struct window *w, struct glyph_row *glyph_row, int x, int y, enum text_cursor_kinds cursor_type, @@ -3248,66 +3228,65 @@ Note that CURSOR_WIDTH is meaningful only for (h)= bar cursors. r.size.width =3D w->phys_cursor_width; = /* Prevent the cursor from being drawn outside the text area. */ - ns_clip_to_row (w, glyph_row, TEXT_AREA, NO); /* do ns_focus(f, &r, 1)= ; if remove */ - - - face =3D FACE_FROM_ID_OR_NULL (f, phys_cursor_glyph->face_id); - if (face && NS_FACE_BACKGROUND (face) - =3D=3D ns_index_color (FRAME_CURSOR_COLOR (f), f)) + if (ns_clip_to_row (w, glyph_row, TEXT_AREA, NO)) { - [ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), f) set]; - hollow_color =3D FRAME_CURSOR_COLOR (f); - } - else - [FRAME_CURSOR_COLOR (f) set]; + face =3D FACE_FROM_ID_OR_NULL (f, phys_cursor_glyph->face_id); + if (face && NS_FACE_BACKGROUND (face) + =3D=3D ns_index_color (FRAME_CURSOR_COLOR (f), f)) + { + [ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), f) set]; + hollow_color =3D FRAME_CURSOR_COLOR (f); + } + else + [FRAME_CURSOR_COLOR (f) set]; = #ifdef NS_IMPL_COCOA - /* TODO: This makes drawing of cursor plus that of phys_cursor_glyph - atomic. Cleaner ways of doing this should be investigated. - One way would be to set a global variable DRAWING_CURSOR - when making the call to draw_phys..(), don't focus in that - case, then move the ns_unfocus() here after that call. */ - NSDisableScreenUpdates (); + /* TODO: This makes drawing of cursor plus that of phys_cursor_gly= ph + atomic. Cleaner ways of doing this should be investigated. + One way would be to set a global variable DRAWING_CURSOR + when making the call to draw_phys..(), don't focus in that + case, then move the ns_unfocus() here after that call. */ + NSDisableScreenUpdates (); #endif = - switch (cursor_type) - { - case DEFAULT_CURSOR: - case NO_CURSOR: - break; - case FILLED_BOX_CURSOR: - NSRectFill (r); - break; - case HOLLOW_BOX_CURSOR: - NSRectFill (r); - [hollow_color set]; - NSRectFill (NSInsetRect (r, 1, 1)); - [FRAME_CURSOR_COLOR (f) set]; - break; - case HBAR_CURSOR: - NSRectFill (r); - break; - case BAR_CURSOR: - s =3D r; - /* If the character under cursor is R2L, draw the bar cursor - on the right of its glyph, rather than on the left. */ - cursor_glyph =3D get_phys_cursor_glyph (w); - if ((cursor_glyph->resolved_level & 1) !=3D 0) - s.origin.x +=3D cursor_glyph->pixel_width - s.size.width; - - NSRectFill (s); - break; - } - ns_unfocus (f); + switch (cursor_type) + { + case DEFAULT_CURSOR: + case NO_CURSOR: + break; + case FILLED_BOX_CURSOR: + NSRectFill (r); + break; + case HOLLOW_BOX_CURSOR: + NSRectFill (r); + [hollow_color set]; + NSRectFill (NSInsetRect (r, 1, 1)); + [FRAME_CURSOR_COLOR (f) set]; + break; + case HBAR_CURSOR: + NSRectFill (r); + break; + case BAR_CURSOR: + s =3D r; + /* If the character under cursor is R2L, draw the bar cursor + on the right of its glyph, rather than on the left. */ + cursor_glyph =3D get_phys_cursor_glyph (w); + if ((cursor_glyph->resolved_level & 1) !=3D 0) + s.origin.x +=3D cursor_glyph->pixel_width - s.size.width; + + NSRectFill (s); + break; + } + ns_unfocus (f); = - /* draw the character under the cursor */ - if (cursor_type !=3D NO_CURSOR) - draw_phys_cursor_glyph (w, glyph_row, DRAW_CURSOR); + /* draw the character under the cursor */ + if (cursor_type !=3D NO_CURSOR) + draw_phys_cursor_glyph (w, glyph_row, DRAW_CURSOR); = #ifdef NS_IMPL_COCOA - NSEnableScreenUpdates (); + NSEnableScreenUpdates (); #endif - + } } = = @@ -3325,12 +3304,14 @@ Note that CURSOR_WIDTH is meaningful only for (h)= bar cursors. = face =3D FACE_FROM_ID_OR_NULL (f, VERTICAL_BORDER_FACE_ID); = - ns_focus (f, &r, 1); - if (face) - [ns_lookup_indexed_color(face->foreground, f) set]; + if (ns_focus (f, &r, 1)) + { + if (face) + [ns_lookup_indexed_color(face->foreground, f) set]; = - NSRectFill(r); - ns_unfocus (f); + NSRectFill(r); + ns_unfocus (f); + } } = = @@ -3357,39 +3338,40 @@ Note that CURSOR_WIDTH is meaningful only for (h)= bar cursors. = NSTRACE ("ns_draw_window_divider"); = - ns_focus (f, ÷r, 1); - - if ((y1 - y0 > x1 - x0) && (x1 - x0 >=3D 3)) - /* A vertical divider, at least three pixels wide: Draw first and - last pixels differently. */ + if (ns_focus (f, ÷r, 1)) { - [ns_lookup_indexed_color(color_first, f) set]; - NSRectFill(NSMakeRect (x0, y0, 1, y1 - y0)); - [ns_lookup_indexed_color(color, f) set]; - NSRectFill(NSMakeRect (x0 + 1, y0, x1 - x0 - 2, y1 - y0)); - [ns_lookup_indexed_color(color_last, f) set]; - NSRectFill(NSMakeRect (x1 - 1, y0, 1, y1 - y0)); - } - else if ((x1 - x0 > y1 - y0) && (y1 - y0 >=3D 3)) - /* A horizontal divider, at least three pixels high: Draw first and - last pixels differently. */ - { - [ns_lookup_indexed_color(color_first, f) set]; - NSRectFill(NSMakeRect (x0, y0, x1 - x0, 1)); - [ns_lookup_indexed_color(color, f) set]; - NSRectFill(NSMakeRect (x0, y0 + 1, x1 - x0, y1 - y0 - 2)); - [ns_lookup_indexed_color(color_last, f) set]; - NSRectFill(NSMakeRect (x0, y1 - 1, x1 - x0, 1)); - } - else - { - /* In any other case do not draw the first and last pixels - differently. */ - [ns_lookup_indexed_color(color, f) set]; - NSRectFill(divider); - } + if ((y1 - y0 > x1 - x0) && (x1 - x0 >=3D 3)) + /* A vertical divider, at least three pixels wide: Draw first an= d + last pixels differently. */ + { + [ns_lookup_indexed_color(color_first, f) set]; + NSRectFill(NSMakeRect (x0, y0, 1, y1 - y0)); + [ns_lookup_indexed_color(color, f) set]; + NSRectFill(NSMakeRect (x0 + 1, y0, x1 - x0 - 2, y1 - y0)); + [ns_lookup_indexed_color(color_last, f) set]; + NSRectFill(NSMakeRect (x1 - 1, y0, 1, y1 - y0)); + } + else if ((x1 - x0 > y1 - y0) && (y1 - y0 >=3D 3)) + /* A horizontal divider, at least three pixels high: Draw first = and + last pixels differently. */ + { + [ns_lookup_indexed_color(color_first, f) set]; + NSRectFill(NSMakeRect (x0, y0, x1 - x0, 1)); + [ns_lookup_indexed_color(color, f) set]; + NSRectFill(NSMakeRect (x0, y0 + 1, x1 - x0, y1 - y0 - 2)); + [ns_lookup_indexed_color(color_last, f) set]; + NSRectFill(NSMakeRect (x0, y1 - 1, x1 - x0, 1)); + } + else + { + /* In any other case do not draw the first and last pixels + differently. */ + [ns_lookup_indexed_color(color, f) set]; + NSRectFill(divider); + } = - ns_unfocus (f); + ns_unfocus (f); + } } = static void @@ -3988,83 +3970,84 @@ Function modeled after x_draw_glyph_string_box ()= =2E n =3D ns_get_glyph_string_clip_rect (s, r); *r =3D NSMakeRect (s->x, s->y, s->background_width, s->height); = - ns_focus (s->f, r, n); - - if (s->hl =3D=3D DRAW_MOUSE_FACE) - { - face =3D FACE_FROM_ID_OR_NULL (s->f, - MOUSE_HL_INFO (s->f)->mouse_face_face_id); - if (!face) - face =3D FACE_FROM_ID (s->f, MOUSE_FACE_ID); - } - else - face =3D FACE_FROM_ID (s->f, s->first_glyph->face_id); - - bgCol =3D ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f= ); - fgCol =3D ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), s->f= ); - - for (i =3D 0; i < n; ++i) + if (ns_focus (s->f, r, n)) { - if (!s->row->full_width_p) + if (s->hl =3D=3D DRAW_MOUSE_FACE) { - int overrun, leftoverrun; - - /* truncate to avoid overwriting fringe and/or scrollbar *= / - overrun =3D max (0, (s->x + s->background_width) - - (WINDOW_BOX_RIGHT_EDGE_X (s->w) - - WINDOW_RIGHT_FRINGE_WIDTH (s->w))); - r[i].size.width -=3D overrun; - - /* truncate to avoid overwriting to left of the window box */ - leftoverrun =3D (WINDOW_BOX_LEFT_EDGE_X (s->w) - + WINDOW_LEFT_FRINGE_WIDTH (s->w)) - s->x; - - if (leftoverrun > 0) - { - r[i].origin.x +=3D leftoverrun; - r[i].size.width -=3D leftoverrun; - } - - /* XXX: Try to work between problem where a stretch glyph = on - a partially-visible bottom row will clear part of the - modeline, and another where list-buffers headers and si= milar - rows erroneously have visible_height set to 0. Not sur= e - where this is coming from as other terms seem not to sh= ow. */ - r[i].size.height =3D min (s->height, s->row->visible_heigh= t); + face =3D FACE_FROM_ID_OR_NULL (s->f, + MOUSE_HL_INFO (s->f)->mouse_f= ace_face_id); + if (!face) + face =3D FACE_FROM_ID (s->f, MOUSE_FACE_ID); } + else + face =3D FACE_FROM_ID (s->f, s->first_glyph->face_id); = - [bgCol set]; + bgCol =3D ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), = s->f); + fgCol =3D ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), = s->f); = - /* NOTE: under NS this is NOT used to draw cursors, but we mus= t avoid - overwriting cursor (usually when cursor on a tab). */ - if (s->hl =3D=3D DRAW_CURSOR) + for (i =3D 0; i < n; ++i) { - CGFloat x, width; + if (!s->row->full_width_p) + { + int overrun, leftoverrun; + + /* truncate to avoid overwriting fringe and/or scrollb= ar */ + overrun =3D max (0, (s->x + s->background_width) + - (WINDOW_BOX_RIGHT_EDGE_X (s->w) + - WINDOW_RIGHT_FRINGE_WIDTH (s->w)))= ; + r[i].size.width -=3D overrun; + + /* truncate to avoid overwriting to left of the window= box */ + leftoverrun =3D (WINDOW_BOX_LEFT_EDGE_X (s->w) + + WINDOW_LEFT_FRINGE_WIDTH (s->w)) - s-= >x; + + if (leftoverrun > 0) + { + r[i].origin.x +=3D leftoverrun; + r[i].size.width -=3D leftoverrun; + } + + /* XXX: Try to work between problem where a stretch = glyph on + a partially-visible bottom row will clear part of= the + modeline, and another where list-buffers headers = and similar + rows erroneously have visible_height set to 0. N= ot sure + where this is coming from as other terms seem not= to show. */ + r[i].size.height =3D min (s->height, s->row->visible= _height); + } + + [bgCol set]; + + /* NOTE: under NS this is NOT used to draw cursors, but we= must avoid + overwriting cursor (usually when cursor on a tab). */ + if (s->hl =3D=3D DRAW_CURSOR) + { + CGFloat x, width; = - x =3D r[i].origin.x; - width =3D s->w->phys_cursor_width; - r[i].size.width -=3D width; - r[i].origin.x +=3D width; + x =3D r[i].origin.x; + width =3D s->w->phys_cursor_width; + r[i].size.width -=3D width; + r[i].origin.x +=3D width; = - NSRectFill (r[i]); + NSRectFill (r[i]); = - /* Draw overlining, etc. on the cursor. */ - if (s->w->phys_cursor_type =3D=3D FILLED_BOX_CURSOR) - ns_draw_text_decoration (s, face, bgCol, width, x); + /* Draw overlining, etc. on the cursor. */ + if (s->w->phys_cursor_type =3D=3D FILLED_BOX_CURSOR) + ns_draw_text_decoration (s, face, bgCol, width, x); + else + ns_draw_text_decoration (s, face, fgCol, width, x); + } else - ns_draw_text_decoration (s, face, fgCol, width, x); - } - else - { - NSRectFill (r[i]); - } + { + NSRectFill (r[i]); + } = - /* Draw overlining, etc. on the stretch glyph (or the part - of the stretch glyph after the cursor). */ - ns_draw_text_decoration (s, face, fgCol, r[i].size.width, - r[i].origin.x); + /* Draw overlining, etc. on the stretch glyph (or the part= + of the stretch glyph after the cursor). */ + ns_draw_text_decoration (s, face, fgCol, r[i].size.width, + r[i].origin.x); + } + ns_unfocus (s->f); } - ns_unfocus (s->f); s->background_filled_p =3D 1; } } @@ -4214,9 +4197,11 @@ overwriting cursor (usually when cursor on a tab).= */ if (next->first_glyph->type !=3D STRETCH_GLYPH) { n =3D ns_get_glyph_string_clip_rect (s->next, r); - ns_focus (s->f, r, n); - ns_maybe_dumpglyphs_background (s->next, 1); - ns_unfocus (s->f); + if (ns_focus (s->f, r, n)) + { + ns_maybe_dumpglyphs_background (s->next, 1); + ns_unfocus (s->f); + } } else { @@ -4231,10 +4216,12 @@ overwriting cursor (usually when cursor on a tab)= =2E */ || s->first_glyph->type =3D=3D COMPOSITE_GLYPH)) { n =3D ns_get_glyph_string_clip_rect (s, r); - ns_focus (s->f, r, n); - ns_maybe_dumpglyphs_background (s, 1); - ns_dumpglyphs_box_or_relief (s); - ns_unfocus (s->f); + if (ns_focus (s->f, r, n)) + { + ns_maybe_dumpglyphs_background (s, 1); + ns_dumpglyphs_box_or_relief (s); + ns_unfocus (s->f); + } box_drawn_p =3D 1; } = @@ -4243,9 +4230,11 @@ overwriting cursor (usually when cursor on a tab).= */ = case IMAGE_GLYPH: n =3D ns_get_glyph_string_clip_rect (s, r); - ns_focus (s->f, r, n); - ns_dumpglyphs_image (s, r[0]); - ns_unfocus (s->f); + if (ns_focus (s->f, r, n)) + { + ns_dumpglyphs_image (s, r[0]); + ns_unfocus (s->f); + } break; = case STRETCH_GLYPH: @@ -4255,66 +4244,68 @@ overwriting cursor (usually when cursor on a tab)= =2E */ case CHAR_GLYPH: case COMPOSITE_GLYPH: n =3D ns_get_glyph_string_clip_rect (s, r); - ns_focus (s->f, r, n); + if (ns_focus (s->f, r, n)) + { + if (s->for_overlaps || (s->cmp_from > 0 + && ! s->first_glyph->u.cmp.automatic))= + s->background_filled_p =3D 1; + else + ns_maybe_dumpglyphs_background + (s, s->first_glyph->type =3D=3D COMPOSITE_GLYPH); = - if (s->for_overlaps || (s->cmp_from > 0 - && ! s->first_glyph->u.cmp.automatic)) - s->background_filled_p =3D 1; - else - ns_maybe_dumpglyphs_background - (s, s->first_glyph->type =3D=3D COMPOSITE_GLYPH); + if (s->hl =3D=3D DRAW_CURSOR && s->w->phys_cursor_type =3D=3D = FILLED_BOX_CURSOR) + { + unsigned long tmp =3D NS_FACE_BACKGROUND (s->face); + NS_FACE_BACKGROUND (s->face) =3D NS_FACE_FOREGROUND (s->fa= ce); + NS_FACE_FOREGROUND (s->face) =3D tmp; + } = - if (s->hl =3D=3D DRAW_CURSOR && s->w->phys_cursor_type =3D=3D FILL= ED_BOX_CURSOR) - { - unsigned long tmp =3D NS_FACE_BACKGROUND (s->face); - NS_FACE_BACKGROUND (s->face) =3D NS_FACE_FOREGROUND (s->face);= - NS_FACE_FOREGROUND (s->face) =3D tmp; - } + { + BOOL isComposite =3D s->first_glyph->type =3D=3D COMPOSITE_G= LYPH; = - { - BOOL isComposite =3D s->first_glyph->type =3D=3D COMPOSITE_GLYPH= ; + if (isComposite) + ns_draw_composite_glyph_string_foreground (s); + else + ns_draw_glyph_string_foreground (s); + } = - if (isComposite) - ns_draw_composite_glyph_string_foreground (s); - else - ns_draw_glyph_string_foreground (s); - } + { + NSColor *col =3D (NS_FACE_FOREGROUND (s->face) !=3D 0 + ? ns_lookup_indexed_color (NS_FACE_FOREGROUN= D (s->face), + s->f) + : FRAME_FOREGROUND_COLOR (s->f)); + [col set]; + + /* Draw underline, overline, strike-through. */ + ns_draw_text_decoration (s, s->face, col, s->width, s->x); + } = - { - NSColor *col =3D (NS_FACE_FOREGROUND (s->face) !=3D 0 - ? ns_lookup_indexed_color (NS_FACE_FOREGROUND (s= ->face), - s->f) - : FRAME_FOREGROUND_COLOR (s->f)); - [col set]; - - /* Draw underline, overline, strike-through. */ - ns_draw_text_decoration (s, s->face, col, s->width, s->x); - } + if (s->hl =3D=3D DRAW_CURSOR && s->w->phys_cursor_type =3D=3D = FILLED_BOX_CURSOR) + { + unsigned long tmp =3D NS_FACE_BACKGROUND (s->face); + NS_FACE_BACKGROUND (s->face) =3D NS_FACE_FOREGROUND (s->fa= ce); + NS_FACE_FOREGROUND (s->face) =3D tmp; + } = - if (s->hl =3D=3D DRAW_CURSOR && s->w->phys_cursor_type =3D=3D FILL= ED_BOX_CURSOR) - { - unsigned long tmp =3D NS_FACE_BACKGROUND (s->face); - NS_FACE_BACKGROUND (s->face) =3D NS_FACE_FOREGROUND (s->face);= - NS_FACE_FOREGROUND (s->face) =3D tmp; + ns_unfocus (s->f); } - - ns_unfocus (s->f); break; = case GLYPHLESS_GLYPH: n =3D ns_get_glyph_string_clip_rect (s, r); - ns_focus (s->f, r, n); - - if (s->for_overlaps || (s->cmp_from > 0 - && ! s->first_glyph->u.cmp.automatic)) - s->background_filled_p =3D 1; - else - ns_maybe_dumpglyphs_background - (s, s->first_glyph->type =3D=3D COMPOSITE_GLYPH); - /* ... */ - /* Not yet implemented. */ - /* ... */ - ns_unfocus (s->f); + if (ns_focus (s->f, r, n)) + { + if (s->for_overlaps || (s->cmp_from > 0 + && ! s->first_glyph->u.cmp.automatic))= + s->background_filled_p =3D 1; + else + ns_maybe_dumpglyphs_background + (s, s->first_glyph->type =3D=3D COMPOSITE_GLYPH); + /* ... */ + /* Not yet implemented. */ + /* ... */ + ns_unfocus (s->f); + } break; = default: @@ -4325,9 +4316,11 @@ overwriting cursor (usually when cursor on a tab).= */ if (!s->for_overlaps && !box_drawn_p && s->face->box !=3D FACE_NO_BOX)= { n =3D ns_get_glyph_string_clip_rect (s, r); - ns_focus (s->f, r, n); - ns_dumpglyphs_box_or_relief (s); - ns_unfocus (s->f); + if (ns_focus (s->f, r, n)) + { + ns_dumpglyphs_box_or_relief (s); + ns_unfocus (s->f); + } } = s->num_clips =3D 0; @@ -5133,7 +5126,7 @@ static Lisp_Object ns_string_to_lispmod (const char= *s) ns_after_update_window_line, ns_update_window_begin, ns_update_window_end, - 0, /* flush_display */ + ns_flush_display, /* flush_display */ x_clear_window_mouse_face, x_get_glyph_overhangs, x_fix_overlapping_area, -- = 2.19.0 --=_MailMate_75C4B371-DB10-46EF-B276-0F6D6058718F_=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 28 13:54:46 2019 Received: (at 31904) by debbugs.gnu.org; 28 Sep 2019 17:54:46 +0000 Received: from localhost ([127.0.0.1]:51150 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iEGve-0005Up-3h for submit@debbugs.gnu.org; Sat, 28 Sep 2019 13:54:46 -0400 Received: from mail-pl1-f169.google.com ([209.85.214.169]:39612) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iEGvb-0005UZ-7t for 31904@debbugs.gnu.org; Sat, 28 Sep 2019 13:54:43 -0400 Received: by mail-pl1-f169.google.com with SMTP id s17so2288139plp.6 for <31904@debbugs.gnu.org>; Sat, 28 Sep 2019 10:54:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc :content-transfer-encoding; bh=VB6sghd9FVxH2A/MfuNHef5sMWKxz42pFZeVhcOeImA=; b=FUIq9omkxGTixRDmY/dhgseL2qF1JiCpD3kjZzF3Vg1Bk4OMFm90xn3hFYwgGiSxQE VdxUzTTGbjlq11A6KIFYAjjuTNxfZdBRHsC1QUPSuumJh6lf6qB1ACdDdXMPzuIPe3w4 OJSnULe5XE5qNp2QPQEI3966cxk/yJF+1joWPds4ynKNU+Kbk3p13iixTTQoTdS4mc3A SlShNls+M97eGK1etA8z/17kp0hcOIJ9oipbcOc1eMiKI4+gisgux5muchPWyru1HnSg h6Ux76nlaNc+AGZ4SsDmt/N1zxEIUi+DVF3F/SlGBbFusXP1ZEUCV89k5MeU6dAsgvq4 NNRQ== X-Gm-Message-State: APjAAAX8zFcdFUojbUJdet42N32W/KgzB2dl507UQcapt5ZYyeO/wrlC Zi8Z3Pi+7tvKtgkccmZ6sp9wwjQrdlbMew/KgNXuTkuN1KU= X-Google-Smtp-Source: APXvYqztpJiOmkhuT7ITeAPixyChNOclyVXaCF9drT5D9mhsVpbaps28JlHLB6aa5nNl0xXyemFgtGJ6f4JMQDZ1DTc= X-Received: by 2002:a17:902:326:: with SMTP id 35mr11931072pld.128.1569693277380; Sat, 28 Sep 2019 10:54:37 -0700 (PDT) MIME-Version: 1.0 From: Stefan Kangas Date: Sat, 28 Sep 2019 19:54:26 +0200 Message-ID: Subject: Re: bug#31904: scatch/ns-drawing To: Alan Third Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 31904 Cc: "zentrope@fastmail.fm" , 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) Alan Third writes: > Sorry, I thought I=E2=80=99d already replied to this. > > On Sun, Aug 19, 2018 at 04:51:36PM -0700, zentrope@fastmail.fm wrote: >> >> Another interesting thing: >> >> * The problem does NOT occur when changing the size of the font. >> >> * If I change the font (to Monaco), the screen blanks, but >> immediately running a command to change the font size =E2=80=9Cfixes= =E2=80=9D it. >> >> Seems that the font-change isn=E2=80=99t triggering a =E2=80=9Crepaint t= he whole >> thing=E2=80=9D, rather, just repaint the line containing the pointer. > > Yes, that sounds right. Chances are the line with the cursor on it > redraws because the cursor is drawn as a separate action. > > Probably the font change needs to mark the frame as garbaged so it=E2=80= =99s > redrawn completely, but that=E2=80=99s not happening. Unfortunately I don= =E2=80=99t > know where that should be done. I can=E2=80=99t see anywhere obvious in t= he NS > code. I=E2=80=99ll keep looking. What's the status here? I can see that some code has been added in reference to this bug in commit 7946445962372c42, but I'm not sure if that fixed all outstanding issues. I don't have macOS 10.14 so I can't test any of this myself. Best regards, Stefan Kangas From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 28 17:14:41 2019 Received: (at 31904) by debbugs.gnu.org; 28 Sep 2019 21:14:41 +0000 Received: from localhost ([127.0.0.1]:51394 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iEK34-0004DQ-LT for submit@debbugs.gnu.org; Sat, 28 Sep 2019 17:14:41 -0400 Received: from mail-wr1-f41.google.com ([209.85.221.41]:33517) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iEK32-0004D5-A0 for 31904@debbugs.gnu.org; Sat, 28 Sep 2019 17:14:37 -0400 Received: by mail-wr1-f41.google.com with SMTP id b9so6820131wrs.0 for <31904@debbugs.gnu.org>; Sat, 28 Sep 2019 14:14:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=p5PjnvQmggvBvX5ZvdUBmn4RHyGuWCbNK3VzdEsUdIk=; b=ia1CGw1W8/UzFtfxqT+lWD4hvmfDFsQyq4omH67RSP1tIYIgb0qFjNv/qrVirj0bs6 xbsOZPMlzhhVO0cj2m9T9WEf9sWdAULKJBqEwZrAlnD3nDqbHsdF2ndqstqzdkhbDCeH T89zmQmtUbfVyaFjCOpVLwlYHadvi7ISDNYzhMmzpQV+FAGAMgf372uW/iqSFdVdPVl1 ZdrT044YVXxYY577SHsO3K3hIoq/YvsmGzIehtS/5ZTiMoc4PKMOF0090tGIjymT9ayr p5461gUikqsAtN3WilbohtpU50/CA19SusD2b1f3ZPrkkTEn0znAu0t7WinLd326Ll2Y b93Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=p5PjnvQmggvBvX5ZvdUBmn4RHyGuWCbNK3VzdEsUdIk=; b=dRwS+WZEW54kjoJAitXAhakrmu1Jefvd/sMXjDgH5A0TKE9K7/17aeqzKEcDGiManK N4/XG+K44BUJFrohnwWqqF2zEqkcgfvIqjlQ03gR3y3UhE1znq3GlkyYuZgSNjfhzH4u c7yop1pbgCUoyVEr9PTV7l2QwVNr2GD3RzU79820TJ5Y358NGUXbRi9VxJoHe+6psqmQ mBg2krgyiY9caXjaTYJ+Io5z8p2lM1w8auwZx2GfJXRQrx5/0JMXxwa+LyJGZjOrbg9H DjzsQLoLJaRK3B5fGuk7+bSaNVr4Cs18IPjDvXfh/TfkMyEj2MGSTzeOvQwwsijY9PBo Pabw== X-Gm-Message-State: APjAAAWI88X4VQCnp60xFnbLpYLcnXMWpNCJkJBbCJTXgnlRSSFCCYUG ckim+f2dKzSxcYRLqhUi9kWNpbx6 X-Google-Smtp-Source: APXvYqwmhzsLjqAARUbvgyGA7Kko2jl5xejHidO2zAcOSqe+RjC0Rz3vTYXugMeGkdLk7fPO130dYw== X-Received: by 2002:adf:f0c7:: with SMTP id x7mr7990232wro.2.1569705270168; Sat, 28 Sep 2019 14:14:30 -0700 (PDT) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-719e-1b87-a2a8-2320.holly.idiocy.org. [2001:8b0:3f8:8129:719e:1b87:a2a8:2320]) by smtp.gmail.com with ESMTPSA id b3sm5642110wrw.4.2019.09.28.14.14.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 Sep 2019 14:14:28 -0700 (PDT) Date: Sat, 28 Sep 2019 22:14:26 +0100 From: Alan Third To: Stefan Kangas Subject: Re: bug#31904: scatch/ns-drawing Message-ID: <20190928211426.GB10206@breton.holly.idiocy.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.12.0 (2019-05-25) X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 31904 Cc: "zentrope@fastmail.fm" , 31904@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) On Sat, Sep 28, 2019 at 07:54:26PM +0200, Stefan Kangas wrote: > Alan Third writes: > > > Sorry, I thought I’d already replied to this. > > > > On Sun, Aug 19, 2018 at 04:51:36PM -0700, zentrope@fastmail.fm wrote: > >> > >> Another interesting thing: > >> > >> * The problem does NOT occur when changing the size of the font. > >> > >> * If I change the font (to Monaco), the screen blanks, but > >> immediately running a command to change the font size “fixes” it. > >> > >> Seems that the font-change isn’t triggering a “repaint the whole > >> thing”, rather, just repaint the line containing the pointer. > > > > Yes, that sounds right. Chances are the line with the cursor on it > > redraws because the cursor is drawn as a separate action. > > > > Probably the font change needs to mark the frame as garbaged so it’s > > redrawn completely, but that’s not happening. Unfortunately I don’t > > know where that should be done. I can’t see anywhere obvious in the NS > > code. I’ll keep looking. > > What's the status here? I can see that some code has been added in > reference to this bug in commit 7946445962372c42, but I'm not sure if > that fixed all outstanding issues. > > I don't have macOS 10.14 so I can't test any of this myself. IIRC I’ve left this bug open as a centre for any further reports about issues with macOS drawing. It’s not been resolved, and I have an alternative approach, but I don’t seem to have the ability to complete it (I’m absolutely fed up with Apple’s developer unfriendly approach towards documenting their APIs). -- Alan Third From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 25 07:02:25 2020 Received: (at control) by debbugs.gnu.org; 25 Jan 2020 12:02:25 +0000 Received: from localhost ([127.0.0.1]:55054 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ivK8v-0006te-0q for submit@debbugs.gnu.org; Sat, 25 Jan 2020 07:02:25 -0500 Received: from mail-wr1-f41.google.com ([209.85.221.41]:45733) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ivK8t-0006oq-6R for control@debbugs.gnu.org; Sat, 25 Jan 2020 07:02:23 -0500 Received: by mail-wr1-f41.google.com with SMTP id j42so5208347wrj.12 for ; Sat, 25 Jan 2020 04:02:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:from:to:subject:date:message-id:mime-version; bh=1Kt2yv/W4Gx0id4J1+tXe4ywW+EwUDTuXhcRHno1hkg=; b=ZiljZub8Osbj5TWrCFBeYt/JjglNDQ0OHimsNAnT717aD+FCR5niff7bMBWjFyKtCx gp+ZqbJQ6DD4NWLimoArtk1uT3AxSfnJ1ABFhKFnjJgO4MfX88V7G5zR0RBoMtiJMgUj ZufiFRgwQ0qc3BWJ0aIa00LITHDA+K1XtwmeVVU3VWtSbN3a0/qMYtpOfSaNC0U4V8jR rhglKoebtWIuXUIR8e+cEr74XoRlahYQvg0Ws5IWclChT3885TeE+48SzuS0BWUenoh9 RD3SQ6vW5A18iBc2H9ruwz6TohTdGXdDarY9YRWWyCAmayCVrtp0no1LpruSKDO4rdIo wZvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :mime-version; bh=1Kt2yv/W4Gx0id4J1+tXe4ywW+EwUDTuXhcRHno1hkg=; b=BvPkIM4+94hlV3CVBTB93VtC/HMVvlNm0+DUc4s5FQyCC+T3Cr+xAd3D011iH0EW1x donADpIAgDLbVwMqWKltDtNqNbtvMfsS3IkxXdUQPpVk0i/FehY0E4XKJoBW4rRFjdWJ /k3XJ+mSLGwZwjk9kEK2lp+crVuqFTKyuLOhof0/xWzF3Ku0+fqKcJ1jYp/DtwapheLQ JKHLrC7psTcorHG1nW+MLAPIGJVxBQIIFQUnFFuP4LqfeAcGMqaHoKqAmdDoNl6Tnujc Z/GZupcDAFtcdEXByf1b54Tleeaz3B6wbitwtdky/dR4M0ALFTgqHak6jxUnVUrBmSCB vNCQ== X-Gm-Message-State: APjAAAVxjRQPzkwy0gHyDOY7GdrXoo0NHJFKG8Xtpn4/PQ4LDt/EQhUJ eha8x9nQAD18m7FJixaosn1LlpHB X-Google-Smtp-Source: APXvYqzDQjyNsBVscvCOoVFyrj/TzUn19cE3J8yRtoG/c4rvGk44ngfS6UyBn99fUGaywnDTWERoLg== X-Received: by 2002:a5d:5403:: with SMTP id g3mr10748707wrv.302.1579953737084; Sat, 25 Jan 2020 04:02:17 -0800 (PST) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-c952-042c-63d5-ffbd.holly.idiocy.org. [2001:8b0:3f8:8129:c952:42c:63d5:ffbd]) by smtp.gmail.com with ESMTPSA id 18sm9988916wmf.1.2020.01.25.04.02.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Jan 2020 04:02:16 -0800 (PST) From: Alan Third To: control@debbugs.gnu.org Subject: control message for bug #34127 Date: Sat, 25 Jan 2020 12:02:15 +0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) severity 34127 minor severity 34710 minor severity 31904 minor merge 34127 32932 merge 34710 32932 merge 31904 32932 quit From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 28 13:23:42 2020 Received: (at control) by debbugs.gnu.org; 28 Jan 2020 18:23:42 +0000 Received: from localhost ([127.0.0.1]:32864 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwVWX-0007Bo-Pw for submit@debbugs.gnu.org; Tue, 28 Jan 2020 13:23:41 -0500 Received: from mail-wm1-f43.google.com ([209.85.128.43]:37648) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwVWW-0007Ba-9A for control@debbugs.gnu.org; Tue, 28 Jan 2020 13:23:40 -0500 Received: by mail-wm1-f43.google.com with SMTP id f129so3663818wmf.2 for ; Tue, 28 Jan 2020 10:23:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:message-id:to:from:subject; bh=2s3BUyd7fD8wsGetTvKEYuhU4xVoUrGpbZhI+p/yD6A=; b=BUwl19Qqce+shEv5M25e7V0JtOJmg5aghwi7X3Z+wCrDc6yyo12dMQE3dwKPQwmx1H sEHOtAeVqqW6upruFxw3FSvIMhh8+HjP1Yc+6Y9UtDKYeVyKIHMZblOysUUFaqnv+w8T XvQ1va+0dBnv8DEX7zcvVqMJ5RSLKyYZ0aGeu4NfVZ4GNWOsd3rzrIwmf0oQG3NoGoJo ClLHil1/6+NxEbgjcWtQxXHGsdr+YYERviIjVRvxvqRy6MbKX3GKLqZsV+jP2/3HautX 27b3qpRBBW3xuHfeyWmt0L31O57WxJSyVbRtcfS7xQdJ0oSU7mgEjoOxLgQ17ksXvD8e 5Z3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:message-id:to:from:subject; bh=2s3BUyd7fD8wsGetTvKEYuhU4xVoUrGpbZhI+p/yD6A=; b=IUZVzVK5bfw8FVrn8qKy/dYk12XKR6mED4KHm1OlcmQsX2z1l4wRPd/bnU0vP12xyU tVGCCJzO4RxMVoFtvtDvNBmTrz/DVa5p7mIgXd2s2IkNoB1K2HiGBZkjcBAVKmqfLCOP GXr/CFbv1DfGAZrMdUhB8ZBuWOlF3yVtX/5AmiUDhhMcjThwVYjmKzqe5vLh6008kFRT kdJl104Duj69FT+EWC7WqE/DYvBG379pnSh4g5MP5Dq/zxzCoY6623bbyEd+a3b6b+kt 2D30tk5h3mFEmfpdxXrQF3AqK9B9oMHT79+lP9llZQeG7CFex1pumQWyBP2qICmfWmIw ucyg== X-Gm-Message-State: APjAAAUj3uFqdEaaNAIqHMaggoru0+Fw2SufWc/v722YDslbEzufsYUl nVRecdqhnQjqWDNWlZqVIMljoNrX X-Google-Smtp-Source: APXvYqxX8Y0R5GE6npk2Xa0YxTHqSA6qvwwIMY7/EuUJb+OpC4uLyKVyAi4vu+5CV0LuNpKRvMM3qA== X-Received: by 2002:a1c:a404:: with SMTP id n4mr6437430wme.186.1580235813424; Tue, 28 Jan 2020 10:23:33 -0800 (PST) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-796d-1d84-62c5-a5b9.holly.idiocy.org. [2001:8b0:3f8:8129:796d:1d84:62c5:a5b9]) by smtp.gmail.com with ESMTPSA id i204sm4266826wma.44.2020.01.28.10.23.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jan 2020 10:23:32 -0800 (PST) Date: Tue, 28 Jan 2020 18:23:24 +0000 Message-Id: To: control@debbugs.gnu.org From: Alan Third Subject: control message for bug #32932 X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) tags 32932 fixed close 32932 28.1 quit From unknown Sat Jun 14 05:03:57 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 13 Mar 2020 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator