From unknown Mon Jun 23 07:46:38 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#21415 <21415@debbugs.gnu.org> To: bug#21415 <21415@debbugs.gnu.org> Subject: Status: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame Reply-To: bug#21415 <21415@debbugs.gnu.org> Date: Mon, 23 Jun 2025 14:46:38 +0000 retitle 21415 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-f= rame reassign 21415 emacs submitter 21415 Keith David Bershatsky severity 21415 wishlist thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 04 13:42:02 2015 Received: (at submit) by debbugs.gnu.org; 4 Sep 2015 17:42:03 +0000 Received: from localhost ([127.0.0.1]:48974 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZXuzx-0003Xx-PR for submit@debbugs.gnu.org; Fri, 04 Sep 2015 13:42:02 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42138) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZXuzw-0003Xi-0b for submit@debbugs.gnu.org; Fri, 04 Sep 2015 13:42:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZXuzr-0005Oc-Cz for submit@debbugs.gnu.org; Fri, 04 Sep 2015 13:41:59 -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]:38784) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZXuzr-0005OQ-Ay for submit@debbugs.gnu.org; Fri, 04 Sep 2015 13:41:55 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52082) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZXuzq-0002Rj-33 for bug-gnu-emacs@gnu.org; Fri, 04 Sep 2015 13:41:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZXuzm-0005Cz-0v for bug-gnu-emacs@gnu.org; Fri, 04 Sep 2015 13:41:54 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:48766) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZXuzl-00059o-Qa for bug-gnu-emacs@gnu.org; Fri, 04 Sep 2015 13:41:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:To:From:Message-ID:Date; bh=y6owx/zPf5d0/LoAJR0UYMqUf8ApArybUbWobrFWeOE=; b=KH8VaH9j+9y58ELfgAOL3laVC8VZIWv+xiThXxscC3nR2hPbeHigyP/iFmfw6iw4jXAzr5Ctsh+GbsnpC0EWt+nokB4v6JvvjlEQaOHBVyoEA5ld3A4OmEydAo+tcZCo; Received: from [159.83.115.1] (port=13812 helo=MBA.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZXuzh-0000L6-EC for bug-gnu-emacs@gnu.org; Fri, 04 Sep 2015 13:41:45 -0400 Date: Fri, 04 Sep 2015 10:41:46 -0700 Message-ID: From: Keith David Bershatsky To: bug-gnu-emacs@gnu.org Subject: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -5.0 (-----) I am trying to do three things: (1) efficiently create a new frame that is exact as to pixelwise width/height so that `(set-frame-size FRAME WIDTH PIXELWISE)` is not needed after each new frame is created; (2) pass a pixelwise argument to `x-create-frame` that would resolve the first goal [?]; (3) avoid intermittent visual flickering of the entire frame that is caused by a frame creation at the default size of `(width . 80) (height . 35)` followed immediately by programmatically enlarging the frame substantially with `set-frame-size` using the pixelwise argument. [The intermittent visual flickering can be avoided by setting the `mode-line-format` to `nil`; however, the default `mode-line-format` causes/contributes to the visual flickering.] [This did not happen with the Emacs Trunk from last year, but happens now intermittently with a current version.] Thanks, Keith ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; In GNU Emacs 25.0.50.1 (x86_64-apple-darwin10.8.0, NS appkit-1038.36 Version 10.6.8 (Build 10K549)) of 2015-08-29 on server.private Repository revision: 24ae05251587fbba4687544ec57565c8bc48071a Windowing system distributor `Apple', version 10.3.1038 Configured using: `configure --with-ns --without-imagemagick' Configured features: DBUS ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS Important settings: locale-coding-system: utf-8-unix Major mode: FM Minor modes in effect: tb-mode: t sb-mode: t ml-mode: t ds-mode: t sd-mode: t bc-mode: t Recent messages: *beep* Quit: "lawlist-line-move -- lawlist-beginning-of-buffer" *beep* Quit: "lawlist-line-move -- lawlist-beginning-of-buffer" *beep* Quit: "lawlist-line-move -- lawlist-beginning-of-buffer" Wrote /Users/HOME/.0.data/.0.emacs/.scratch Emacs: Emacs Trunk -- pixelwise width/height fo . . . *beep* Making completion list... Load-path shadows: None found. Features: (shadow emacsbug sendmail .multiple_cursors lawlist-ztree lawlist-yas lawlist-ws lawlist-wl elmo-imap4 elmo-localdir modb-standard modb-legacy elmo-internal elmo-flag mmelmo-imap mmelmo-buffer elsp-generic mel-u ps-print ps-def lpr epg-config enriched lawlist-w3m doc-view image-mode ccl lawlist-vl lawlist-view lawlist-undo lawlist-txt lawlist-tm lawlist-tex compare-w lawlist-tabbar lawlist-speedbar lawlist-shell info esh-groups ehelp ange-ftp lawlist-sgml lawlist-sb lawlist-saveplace lawlist-ruler lawlist-replace lawlist-rectangle lawlist-re-builder lawlist-python skeleton lawlist-profiler lawlist-print lawlist-php cl-seq lawlist-perl lawlist-parens lawlist-org lawlist-calendar org-agenda org org-macro org-footnote org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat org-macs org-loaddefs find-func holidays hol-loaddefs cal-menu calendar cal-loaddefs lawlist-neotree lawlist-movement lawlist-mouse lawlist-ml lawlist-minibuffer lawlist-misc lawlist-messages lawlist-mc rect lawlist-markdown noutline outline lawlist-lorem lawlist-ln lawlist-keymap lawlist-js lawlist-ispell lawlist-isearch lawlist-imenu lawlist-ibuffer lawlist-hl lawlist-grep lawlist-git ido vc-git vc vc-dispatcher thingatpt time-stamp subr-x server nntp gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls utf7 netrc parse-time gnus-spec gnus-int gnus-range gnus-win nnoo mm-view mml-smime smime dig mailcap log-view log-edit message mml mml-sec mm-decode mm-bodies mm-encode gmm-utils mailheader pcvs-util add-log ldap json grep compile find-lisp ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff diff-mode conf-mode autorevert filenotify lawlist-frameset lawlist-framebase lawlist-framebufs lawlist-frame lawlist-font-lock lawlist-fm lawlist-faces lawlist-env lawlist-elscreen lawlist-elisp lawlist-dv jka-compr lawlist-image cl-macs lawlist-files zeroconf dbus xml lawlist-ds lawlist-dired dired format-spec lawlist-desktop frameset lawlist-debug lawlist-window debug lawlist-css smie lawlist-compile rx lawlist-color lawlist-cm gv lawlist-cc cc-langs cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs cc-bytecomp lawlist-calc lawlist-calc+ lawlist-bk lawlist-bc lawlist-bbdb gnus gnus-ems nnheader mail-utils wid-edit mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev mail-extr rfc822 timezone lawlist-auth gnus-util mm-util help-fns mail-prsvr password-cache lawlist-as lawlist-archive lawlist-+ lawlist-lcl byte-opt bytecomp byte-compile cl-extra seq cconv lawlist-help disp-table easy-mmode edmacro kmacro quail help-mode easymenu cl-loaddefs cl-lib pcase derived advice shell pcomplete comint ansi-color ring savehist time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core 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 charscript case-table epa-hook jka-cmpr-hook help simple abbrev 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 dbusbind cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 2227445 234500) (symbols 48 87489 0) (miscs 40 380 422) (strings 32 196673 24233) (string-bytes 1 7265947) (vectors 16 41082) (vector-slots 8 987798 14925) (floats 8 2462 974) (intervals 56 817 362) (buffers 976 18)) From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 04 15:18:05 2015 Received: (at 21415) by debbugs.gnu.org; 4 Sep 2015 19:18:05 +0000 Received: from localhost ([127.0.0.1]:48999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZXwUu-0005s7-Nv for submit@debbugs.gnu.org; Fri, 04 Sep 2015 15:18:04 -0400 Received: from mout.gmx.net ([212.227.17.21]:55189) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZXwUt-0005s0-7y for 21415@debbugs.gnu.org; Fri, 04 Sep 2015 15:18:03 -0400 Received: from [188.22.110.110] ([188.22.110.110]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0LfC4q-1Yryy022eG-00or4i; Fri, 04 Sep 2015 21:18:00 +0200 Message-ID: <55E9EE5F.1070003@gmx.at> Date: Fri, 04 Sep 2015 21:17:51 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , 21415@debbugs.gnu.org Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:/64Q8gQef8iDBveBuz1zXQzP1Gpbca9/iV8Jvc9nfDwLQ5FUV5e BqHuK1u3EUOTApx3rG7rPtLikigzoix/P2vmLNqYR+gythBuJLzd5f5vMaFORkHgVpA987Q 7p32r0vlazwkSrsjk8Zwwif3MJ7MJF0cUDxHTmuU2qedrlqGTfC9fZmqnTv7YTLMENqRH6+ EfIAMXJQS8DWcI0EEmMiw== X-UI-Out-Filterresults: notjunk:1;V01:K0:8/lwokzc8I8=:RUyV9MSjxGXWL99kGKJFD6 eHEYOOPp9hbSsWIPtwqn0+F5JAWsmz7g9yrx1pvyVVWU1Rt9msLJvWWdpCgwPRwjsRwIyfU/c S70C7YquSq5M4YNHq8O2LTa1xLxBk4awcgfZE+tUqkvfCE9vZ8bGjNisr3KkqbG/3LSGo9c/r I2KsAmY7NCFQW7caZ90WvWvPMfjx6T9N3F9e42njIxtcm6G1xgU5JTOQwlBjnSRcfLpU9hu66 lXvWbWr0W1MekNXY9+YV68s2IxpiKlgjTNsiGqz0XzuSjA4RdMb2NDyiddzcSrnffaNOK4XUp Xqspp0MNy5TxiqoWMWshB+04NgKq3bSyd390t8pOj/d3V63HctpMShU9bWnufwZ6EObAM/DEQ EOr7efTaY4fPe/vfkTyo4d2NBCJt2mgcdg5ZL2a/YmSnGkkLTIXxdTV3/sypH2QuJfxanJOhT PEFZ0ig1+sG51UEZatFE+GHK02LW63sWa25ukEDwjsiQkzs+TVqENVZWC71pVdT1h/UCZSXAd 33gYVGqeosAq9CdEVTzxL/+FaaXQBIbTGE6mU5T5Taf1VWtCC54vX7qMtNo33G/+4SC9gPTfp t31DdyPflkj8RXvyv2p64yUh463SqTuFFu1jwlokGA7oq4uFaVytdr18UtegLmEVz26w6OuSu F6Po6B3d/HOIFha6K5zUlJXMxcIbM9Zu5ceFe3OmGDbfgFNyvmkm7Cqo6X28yBS0KBerKeADv LD/HFE4QnPVoS/yxk77Rm9ug5xEkz5DGChVHKQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I am trying to do three things: > > (1) efficiently create a new frame that is exact as to pixelwise > width/height so that `(set-frame-size FRAME WIDTH PIXELWISE)` is not > needed after each new frame is created; Interesting. This is the first time someone asks for this. Do you have a particular use case? > (2) pass a pixelwise argument to `x-create-frame` that would resolve > the first goal [?]; We'd need a =91pixel-width=92 and a =91pixel-height=92 frame parameter. = When any of these is present, it would be used instead of the =91width=92 and =91height=92 parameters. Alternatively, we could interpret floating poin= t values of =91width=92 and =91height=92 specially. > (3) avoid intermittent visual flickering of the entire frame that is > caused by a frame creation at the default size of `(width . 80) > (height . 35)` followed immediately by programmatically enlarging the > frame substantially with `set-frame-size` using the pixelwise > argument. [The intermittent visual flickering can be avoided by > setting the `mode-line-format` to `nil`; however, the default > `mode-line-format` causes/contributes to the visual flickering.] > [This did not happen with the Emacs Trunk from last year, but happens > now intermittently with a current version.] Could you try bisecting to find out when this started? martin From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 04 20:31:30 2015 Received: (at 21415) by debbugs.gnu.org; 5 Sep 2015 00:31:30 +0000 Received: from localhost ([127.0.0.1]:49117 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZY1OD-0008VQ-RU for submit@debbugs.gnu.org; Fri, 04 Sep 2015 20:31:30 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:56623) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZY1OA-0008VG-Mz for 21415@debbugs.gnu.org; Fri, 04 Sep 2015 20:31:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=sNZzEiIO7YgBrMZR0rzmEoADzuNCcbk6AkJO6n4KFgw=; b=AoYXIz7DjiXW7u1+qUoJUIl6hdhOZDucStVQqd5v95Rj9FWzeQ3oYneys7rX2IJzrYwSAcGKeRHGJ81kljaVxQlk1VE3BD0f7thKzZGi+Ln7OB6CEes6zYa1deKl1cj7; Received: from rrcs-74-62-211-60.west.biz.rr.com ([74.62.211.60]:49499 helo=MBA.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZY1O7-0003F6-GG; Fri, 04 Sep 2015 20:31:23 -0400 Date: Fri, 04 Sep 2015 17:31:24 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) In my opinion, it would be useful to set the frame specifications exactly at the time of creation -- rather than fix it after the fact with `set-frame-size` using the pixelwise argument. My particular immediate use case is to simply fill the screen exactly (on OSX, XP, and Windows 7). In my testing, `toggle-frame-maximized` was never as accurate as `set-frame-size` using the pixelwise argument. I would imagine there are other situations where a user may wish to create a frame with exact specifications to fit precisely into a specific location on the screen, without the need to fix it after the fact. I have a test that identifies the current operating system and screen sizes on my different machines, and I have already determined exactly how many Emacs frame pixels fill the screen based on other factors such as font, fringe widths, no scroll bars, and no menu-bar. The general approach has been to take the initial frame or subsequently created frames and use `set-frame-size` with the pixelwise argument to blow it up to the preferred size. It sure would be nice, however, to set the pixel width/height along with the other frame parameters both programmatically (passing as parameters to `make-frame`), and as part of the `initial-frame-alist` and `default-frame-alist`. I would still use `set-frame-size` with the pixelwise argument for functions where contraction/expansion of frames is needed -- e.g., I have a custom reduce-all-frame-size function and a custom maximize-all-frame-size function. That is handy for me to see other programs without completely hiding Emacs, and then to restore it again to full size when I'm done with those other programs. I don't fully understand the floating point because the pixels are whole numbers, rather than decimals -- this is probably because I'm just a hobbyist, not a real programmer. But yes, a frame-parameter for pixel width and pixel height would be awesome. Last weekend, I learned how to build Emacs from any point in time based on a particular commit; and, I also learned the layman's way to download prebuilt nightlies from http://emacsformacosx.com/ I'd be happy to work on pinpointing when the intermittent flickering began, and will spend a little time on that project each day. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; At Fri, 04 Sep 2015 21:17:51 +0200, martin rudalics wrote: > > > I am trying to do three things: > > > > (1) . . . > > Interesting. This is the first time someone asks for this. Do you have > a particular use case? > > > (2) . . . > > We'd need a ‘pixel-width' and a ‘pixel-height' frame parameter. When > any of these is present, it would be used instead of the ‘width' and > ‘height' parameters. Alternatively, we could interpret floating point > values of ‘width' and ‘height' specially. > > > (3) . . . > > Could you try bisecting to find out when this started? From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 05 05:59:14 2015 Received: (at 21415) by debbugs.gnu.org; 5 Sep 2015 09:59:14 +0000 Received: from localhost ([127.0.0.1]:49377 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYAFd-00089I-Gd for submit@debbugs.gnu.org; Sat, 05 Sep 2015 05:59:14 -0400 Received: from mout.gmx.net ([212.227.17.21]:54992) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYAFa-000899-Ce for 21415@debbugs.gnu.org; Sat, 05 Sep 2015 05:59:11 -0400 Received: from [93.82.78.221] ([93.82.78.221]) by mail.gmx.com (mrgmx101) with ESMTPSA (Nemesis) id 0MFxwA-1ZUGEM09XK-00EqpE; Sat, 05 Sep 2015 11:59:08 +0200 Message-ID: <55EABCE4.9080508@gmx.at> Date: Sat, 05 Sep 2015 11:59:00 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------090403050700070703060406" X-Provags-ID: V03:K0:u9pQudO+GQS43rxwPC2CL+tVidrXNT2eH0UYuPkj/kT2PtNcGHF kK/WhZAHWvtLzp1ygp93tk7Jrg1kRk3RO31ABaNyaket0Z7XgKVHNb4GJwtkPLwd7kRCZDy b1QzCyE/w1o3W3xwgeEXuaeFdCkvRE6Dq36rI4zNfLa3ugZKlM2ezCw6/o7syReVzlzf/e3 mwq49GOeUAhRtrCW+lY1w== X-UI-Out-Filterresults: notjunk:1;V01:K0:y4vRF06kbsk=:Wx4vddQW1XhxEFQLmAKZE+ lVcmNn6v0khpQ4Z6hWIucFBa2oaAi8sBsmacVZcxX8zhJbmaPHy7PBe3KPcMHLQNQeSbl8oxk egY+W+T8spl72GuluGO2NSy5qHM86FP4G2VRQHLjJkoWb04PMkBPe5c2f341ADuY4zxIGfByV QLNteCcjrd6QTPzsmBKqtZ/k8FmnHOF9SvinfuNqgiNaxlXJCsfoRuzhPjck//75AFXWBv6ev VfwawY6P5PPuQqGgEMf/tbjPiE/LdOxf0c+iqAXqEGla5968LZ+ZBiJTql9b0Bydst8yGrfxJ g4G5ltpOumFNgNH246XXbeJuz2IifGLxaWZLZ7eQYNmklucrlGxl+/e5WfDXxfbznfb/Ey+qH 1edNXz7j8SZmA9Z1xB61tzURKsoEAFBjtHaVhkYcunZyOMSF3sVGto0BJ3yb1jYI8Gjx3zcp5 GWK3wDStv0KVT7P9P8HBWX6CrWLuQfODRZGsXv6WZKGQCSm/JqcsZeI25yk++NA1/RNJcYqQY 3h02nHP9BFEeC/2dIfZ0ZWnMRBE+c4ul+mAsX5Eg1M7Z7SiF8xet7JMgTM4xDNHhc45UuJfkh Ydo/7UKgx5lbLIKTZwqg3xNwTrYxJ1g52yqaEEJMqVaovhiZo4D8zhCI9tB22XwIhih84hkmd xbo/O6KL14WiYHo7vrALKtkvP0tGPR6DqToE3n1f1Gh/1RfeU6kB2fHfSB8yDk3HrWAZyPVxO wdAH0h+qV1OzOXS0 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) This is a multi-part message in MIME format. --------------090403050700070703060406 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable > In my opinion, it would be useful to set the frame specifications > exactly at the time of creation -- rather than fix it after the fact > with `set-frame-size` using the pixelwise argument. Agreed. > My particular immediate use case is to simply fill the screen exactly > (on OSX, XP, and Windows 7). In my testing, `toggle-frame-maximized` > was never as accurate as `set-frame-size` using the pixelwise > argument. I was afraid that would be your concern. =E2=80=98toggle-frame-maximized= =E2=80=99 should work precisely. Can you provide me more details wrt how it doesn't achieve its goal? > I would imagine there are other situations where a user may > wish to create a frame with exact specifications to fit precisely into= > a specific location on the screen, without the need to fix it after > the fact. Basically a tiling window manager should do that. But I'm not against providing such a service. > I have a test that identifies the current operating system and screen > sizes on my different machines, and I have already determined exactly > how many Emacs frame pixels fill the screen based on other factors > such as font, fringe widths, no scroll bars, and no menu-bar. The problem is that with Emacs it's pretty hard to do that reliably. Knowing the exact sizes of each and every component on the various platforms is a pain. For example, I doubt that you are able to calculate the height of your tool bar beforehand - I never was. Or, do you know the size of the external border of a frame on OS X? I try to address most of these in the function =E2=80=98frame-geometry=E2= =80=99. Does that return good results on OS X? Also note that you have to subtract one default scroll bar width/height, the fringe widths and the internal border width in order to convert the frame's outer width (the one you see on the screen) to its native width (the one you set via frame parameters). > The > general approach has been to take the initial frame or subsequently > created frames and use `set-frame-size` with the pixelwise argument to= > blow it up to the preferred size. It sure would be nice, however, to > set the pixel width/height along with the other frame parameters both > programmatically (passing as parameters to `make-frame`), and as part > of the `initial-frame-alist` and `default-frame-alist`. OK. > I don't fully understand the floating point because the pixels are > whole numbers, rather than decimals -- this is probably because I'm > just a hobbyist, not a real programmer. But yes, a frame-parameter > for pixel width and pixel height would be awesome. You would simply specify something like (height . 100.0) to get a 100 pixels high frame instead of (height . 6) to get a 6 columns high frame. The advantage of the floating point idea over a separate =E2=80=98pixel-w= idth=E2=80=99 / =E2=80=98pixel-height=E2=80=99 approach would be twofold: (1) Technically, Emacs wouldn't have to care about whether a =E2=80=98wid= th=E2=80=99 entry in =E2=80=98initial-frame-alist=E2=80=99 should override a =E2=80=98= pixel-width=E2=80=99 entry in =E2=80=98default-frame-alist=E2=80=99. (2) The user doesn't have to investigate these lists to check for the presence of another entry. I attach a simple patch based on this kludge so if you can build Emacs you can try it with something like (make-frame '((width . 400.0) (height . 200.0))) > Last weekend, I learned how to build Emacs from any point in time > based on a particular commit; and, I also learned the layman's way to > download prebuilt nightlies from http://emacsformacosx.com/ I'd be > happy to work on pinpointing when the intermittent flickering began, > and will spend a little time on that project each day. That would be fine. Thanks, martin --------------090403050700070703060406 Content-Type: text/plain; charset=windows-1252; name="frame.c.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="frame.c.diff" ZGlmZiAtLWdpdCBhL3NyYy9mcmFtZS5jIGIvc3JjL2ZyYW1lLmMKaW5kZXggNGE1MjZlMi4u YmFjMmIyNCAxMDA2NDQKLS0tIGEvc3JjL2ZyYW1lLmMKKysrIGIvc3JjL2ZyYW1lLmMKQEAg LTUzNyw2ICs1MzcsOCBAQCBhZGp1c3RfZnJhbWVfc2l6ZSAoc3RydWN0IGZyYW1lICpmLCBp bnQgbmV3X3dpZHRoLCBpbnQgbmV3X2hlaWdodCwgaW50IGluaGliaXQsCiAJfQogI2VuZGlm CiAgICAgfQorICBlbHNlIGlmIChuZXdfY29scyAhPSBvbGRfY29scykKKyAgICBjYWxsMiAo UXdpbmRvd19waXhlbF90b190b3RhbCwgZnJhbWUsIFF0KTsKIAogICBpZiAobmV3X3dpbmRv d3NfaGVpZ2h0ICE9IG9sZF93aW5kb3dzX2hlaWdodAogICAgICAgLyogV2hlbiB0aGUgdG9w IG1hcmdpbiBoYXMgY2hhbmdlZCB3ZSBoYXZlIHRvIHJlY2FsY3VsYXRlIHRoZSB0b3AKQEAg LTU1MSw2ICs1NTMsOCBAQCBhZGp1c3RfZnJhbWVfc2l6ZSAoc3RydWN0IGZyYW1lICpmLCBp bnQgbmV3X3dpZHRoLCBpbnQgbmV3X2hlaWdodCwgaW50IGluaGliaXQsCiAgICAgICBpZiAo KEZSQU1FX1RFUk1DQVBfUCAoZikgJiYgIXByZXRlbmQpIHx8IEZSQU1FX01TRE9TX1AgKGYp KQogCUZyYW1lUm93cyAoRlJBTUVfVFRZIChmKSkgPSBuZXdfbGluZXMgKyBGUkFNRV9UT1Bf TUFSR0lOIChmKTsKICAgICB9CisgIGVsc2UgaWYgKG5ld19saW5lcyAhPSBvbGRfbGluZXMp CisgICAgY2FsbDIgKFF3aW5kb3dfcGl4ZWxfdG9fdG90YWwsIGZyYW1lLCBRbmlsKTsKIAog ICBmcmFtZV9zaXplX2hpc3RvcnlfYWRkCiAgICAgKGYsIFFhZGp1c3RfZnJhbWVfc2l6ZV8z LCBuZXdfdGV4dF93aWR0aCwgbmV3X3RleHRfaGVpZ2h0LApAQCAtNDgzMSw2ICs0ODM1LDcg QEAgc3ltc19vZl9mcmFtZSAodm9pZCkKICAgREVGU1lNIChRZnJhbWVwLCAiZnJhbWVwIik7 CiAgIERFRlNZTSAoUWZyYW1lX2xpdmVfcCwgImZyYW1lLWxpdmUtcCIpOwogICBERUZTWU0g KFFmcmFtZV93aW5kb3dzX21pbl9zaXplLCAiZnJhbWUtd2luZG93cy1taW4tc2l6ZSIpOwor ICBERUZTWU0gKFF3aW5kb3dfcGl4ZWxfdG9fdG90YWwsICJ3aW5kb3ctLXBpeGVsLXRvLXRv dGFsIik7CiAgIERFRlNZTSAoUWV4cGxpY2l0X25hbWUsICJleHBsaWNpdC1uYW1lIik7CiAg IERFRlNZTSAoUWhlaWdodCwgImhlaWdodCIpOwogICBERUZTWU0gKFFpY29uLCAiaWNvbiIp OwoK --------------090403050700070703060406-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 06 13:18:28 2015 Received: (at 21415) by debbugs.gnu.org; 6 Sep 2015 17:18:28 +0000 Received: from localhost ([127.0.0.1]:50877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYdaF-0000y9-Nh for submit@debbugs.gnu.org; Sun, 06 Sep 2015 13:18:28 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:43223) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYdaD-0000y0-Fu for 21415@debbugs.gnu.org; Sun, 06 Sep 2015 13:18:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=Mn7fUfdBcDFEbDKuuqiNwxpL55baJN5tz1M5yGZQTV8=; b=e0OXueEUl6I5ewhGjwMhujIrF5WvjSw5RekljxwklZvbidAb1QkCtjuleh5x1bxCI9uGSdfzd1l48yLU8F4DrHv9Kp7f2HrMr+Ec6l+HysArnG/RqXGVM0dT1eB4ZObV; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50788 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZYda9-0007g1-TE; Sun, 06 Sep 2015 13:18:22 -0400 Date: Sun, 06 Sep 2015 10:18:22 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) With respect to the patch, I believe it was applied successfully -- I selected the option "y". SHELL-PROMPT: emacs HOME$ patch -p1 < frame.c.diff patching file src/frame.c Reversed (or previously applied) patch detected! Assume -R? [n] y Hunk #3 succeeded at 4840 (offset 9 lines). I believe that `x-create-frame' is expecting an integer: Debugger entered--Lisp error: (wrong-type-argument integerp 400.0) x-create-frame(((visibility) (width . 400.0) (height . 200.0))) x-create-frame-with-faces(((width . 400.0) (height . 200.0))) #[257 "\300!\207" [x-create-frame-with-faces] 3 "\n\n(fn PARAMS)"](((width . 400.0) (height . 200.0))) apply(#[257 "\300!\207" [x-create-frame-with-faces] 3 "\n\n(fn PARAMS)"] ((width . 400.0) (height . 200.0))) frame-creation-function(((width . 400.0) (height . 200.0))) make-frame(((width . 400.0) (height . 200.0))) eval((make-frame (quote ((width . 400.0) (height . 200.0)))) nil) eval-expression((make-frame (quote ((width . 400.0) (height . 200.0)))) nil) funcall-interactively(eval-expression (make-frame (quote ((width . 400.0) (height . 200.0)))) nil) call-interactively(eval-expression nil nil) command-execute(eval-expression) With respect to the other issues, I will spend some time familiarizing myself with the geometry function and get back to you on those. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 06 13:56:30 2015 Received: (at 21415) by debbugs.gnu.org; 6 Sep 2015 17:56:30 +0000 Received: from localhost ([127.0.0.1]:50899 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYeB4-0001sw-2m for submit@debbugs.gnu.org; Sun, 06 Sep 2015 13:56:30 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:45373) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYeB2-0001sm-9o for 21415@debbugs.gnu.org; Sun, 06 Sep 2015 13:56:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=UpsuH+dGOTJLmb2oMJhxdNnIbUjAPdseuV6whCb9By8=; b=s0pGjYg/f/K8TRvNITEreyvJDouNwVpXJtMuob1ZGf2EufzrmgOaflmjp31m9G/VKT7CpUUHdKW8pbSxj7nEeeimRiSyVpM0CBP7xk8RPA5842MDJrxss6MdzH8/t2Wx; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:51067 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZYeAy-0001Qm-It; Sun, 06 Sep 2015 13:56:24 -0400 Date: Sun, 06 Sep 2015 10:56:25 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) With respect to your inquiry about `frame-geometry' on OSX, I tested the outer frame dimensions with an applescript using the feature request of bug number 18283 -- the results of getting the bounds with an applescript were the same as those returned by `frame-geometry' for the outer frame pixel width/height. So that aspect of `frame-geometry' is correct on OSX 10.6.8 Snow Leopard Server. I did not test the other aspects of `frame-geometry'. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 06 15:27:10 2015 Received: (at 21415) by debbugs.gnu.org; 6 Sep 2015 19:27:10 +0000 Received: from localhost ([127.0.0.1]:50928 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYfao-0005Zs-00 for submit@debbugs.gnu.org; Sun, 06 Sep 2015 15:27:10 -0400 Received: from mout.gmx.net ([212.227.15.19]:55156) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYfal-0005Zj-4Q for 21415@debbugs.gnu.org; Sun, 06 Sep 2015 15:27:07 -0400 Received: from [88.117.50.54] ([88.117.50.54]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0MF4eJ-1ZSuyQ0wLz-00GIn7; Sun, 06 Sep 2015 21:27:05 +0200 Message-ID: <55EC937E.5020302@gmx.at> Date: Sun, 06 Sep 2015 21:26:54 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------040306040608030209000704" X-Provags-ID: V03:K0:9sYO4STY+l4NOLdBMoxl+1kAQ9IHmTy71W6FVuNBYJqxjEqcOBQ Od4j7Owwsta4p7jOCT70ftMAwCphB7b/QoC5iZG5oZf2QJnkP+HqGqJu+TqCB9PKO3UEz9W V6lsZVmABY/337sm+ugWHzk70wt46fyOQ1ZKq+hH7b1/iH13v6dCTqkZJX3blqAu5ZL3sx3 S2f1422ihTadLcZFo+rFA== X-UI-Out-Filterresults: notjunk:1;V01:K0:CgNGJuIvYLM=:ej/bdiZ7ZvpFDFr0OHEcYM 0sj02JPNZMpyzYH87ooAarpE2ZowLgYTY+QzBWU2zYojnXP8tk8nR0HTwoYk7qOX8NQV7SexL /6OVxcHFJA6k+ti5keHZ4e3A39ytdNn716NYLZGfkKVoTxNKq2uWS0AGvyECr1MnA9bWUktk9 sKMzoaikvGHEzbKh94LINIoE4wklROmukG9X80YwO7bv12uTc0H1JrTPzBecrn7EUSPZEn9uQ REjuIRLxTUTjsphOW/riY+QPwvORGa4GT+CnZso61dOt9Jg6/A8kapXVmdnR+RQlxLXYgikGA OITfvjpBG8DCgE06vja8oObcBU8nxJSoW/7LgJ8Ylb6zsGo/xmpRfnmzg+cgoVk2N2Rkm/Hh3 c88zAcPbI+Dk78pVcDwJva45IJjwT65+qvUyulqDTIZ2Pyat2g+99fRPpKWEKFn3f8nNCTCtp bCJwNGsguBU9CK6+d8nPdHNprjnDZUPTpG63FloVcKqjIJZGLUxsl/0iOXCwRlA+5BNgKekQf 5oG5TpCRlEyXgUJ4HfqnumQa7olEjdKOIAaQtMW4mSWknVViS7a3VRMDDxqZryvtP8aIrvuie Vmp23kbyHLgKpryK5I9xdO2iXav/jBgl2D8l3wn+AAjur0L7toVhHB1e7jHr1mKWfVHREdjpG 2K7ekQa9pQarQ3w04hcwUd5pmnz3M6Kfxh+oWSQxjugcGicer92BKgp4jS8ffVd61im/qHcLi QV5MVNcfhI47YcLJ X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) This is a multi-part message in MIME format. --------------040306040608030209000704 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit > With respect to the patch, I believe it was applied successfully -- I selected the option "y". > > SHELL-PROMPT: emacs HOME$ patch -p1 < frame.c.diff > > patching file src/frame.c > > Reversed (or previously applied) patch detected! Assume -R? [n] y Strange. Are you sure you had a pristine frame.c? What does git diff give for your Emacs tree? > Hunk #3 succeeded at 4840 (offset 9 lines). If you have no private changes in frame.c do a C-x v u in a buffer showing frame.c and afterwards do git apply frame.c.diff followed by make. > I believe that `x-create-frame' is expecting an integer: > > Debugger entered--Lisp error: (wrong-type-argument integerp 400.0) That would indicate that my patch was not applied or you did not build Emacs correctly afterwards. In any case I attach the patch again. martin --------------040306040608030209000704 Content-Type: text/plain; charset=windows-1252; name="frame.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="frame.c.diff" diff --git a/src/frame.c b/src/frame.c index 4a526e2..bac2b24 100644 --- a/src/frame.c +++ b/src/frame.c @@ -537,6 +537,8 @@ adjust_frame_size (struct frame *f, int new_width, int new_height, int inhibit, } #endif } + else if (new_cols != old_cols) + call2 (Qwindow_pixel_to_total, frame, Qt); if (new_windows_height != old_windows_height /* When the top margin has changed we have to recalculate the top @@ -551,6 +553,8 @@ adjust_frame_size (struct frame *f, int new_width, int new_height, int inhibit, if ((FRAME_TERMCAP_P (f) && !pretend) || FRAME_MSDOS_P (f)) FrameRows (FRAME_TTY (f)) = new_lines + FRAME_TOP_MARGIN (f); } + else if (new_lines != old_lines) + call2 (Qwindow_pixel_to_total, frame, Qnil); frame_size_history_add (f, Qadjust_frame_size_3, new_text_width, new_text_height, @@ -4831,6 +4835,7 @@ syms_of_frame (void) DEFSYM (Qframep, "framep"); DEFSYM (Qframe_live_p, "frame-live-p"); DEFSYM (Qframe_windows_min_size, "frame-windows-min-size"); + DEFSYM (Qwindow_pixel_to_total, "window--pixel-to-total"); DEFSYM (Qexplicit_name, "explicit-name"); DEFSYM (Qheight, "height"); DEFSYM (Qicon, "icon"); --------------040306040608030209000704-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 06 15:27:16 2015 Received: (at 21415) by debbugs.gnu.org; 6 Sep 2015 19:27:17 +0000 Received: from localhost ([127.0.0.1]:50931 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYfau-0005aE-HW for submit@debbugs.gnu.org; Sun, 06 Sep 2015 15:27:16 -0400 Received: from mout.gmx.net ([212.227.15.15]:49490) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYfas-0005a6-Kk for 21415@debbugs.gnu.org; Sun, 06 Sep 2015 15:27:15 -0400 Received: from [88.117.50.54] ([88.117.50.54]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0McmFl-1ZHPiw0vI1-00HuWO; Sun, 06 Sep 2015 21:27:11 +0200 Message-ID: <55EC9383.2030401@gmx.at> Date: Sun, 06 Sep 2015 21:26:59 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:1qtv3gLH7ZtghhidxT8dM51QfB0uEaAch9+MbicHa+opZKI7YuY v8994JIBSBtZOLXjth8myRwhsZCLdJQRgUZTuODINqN31M3BWZ2lONGxtBectQj/dOCRRCR 5hNdgofbLLNj3BlZFdj2IzNU9bKepQB9TBz2fH2ip8+7TY6TBQXi3QoA2O//soV2GyWPGYz V25O2lpxO0+ywwLZAvlPw== X-UI-Out-Filterresults: notjunk:1;V01:K0:X2mNjCgV1+8=:fiyxvXh50Fhd3x/G++ECO9 GVzJPsfX/ewUT/P+iYcWVSeiIPTlP4oFSSJxwnQPjujjXBLxKo2hbjXx5sEuaS0n2kvUjGBuR 1P7LX8/1n2ZBlLJFNdHYm95hOsPoCHk8p1JP5x2hu0f6WtAvorysyZ18de4VOTh7sxMYuu3KE mNJnhRkgzEELUWBLewxJ/EO6TWXwoTgbNpDekoc/kwgYtV72sL4VrOunp6TX+X878PVN1Zc5s 9MLpQwqbhAQXHzVbxLTkSfqoHze5Yy4KfSUAJO0aEpV6kmQY5ekXNtNI3sPGDdjAFDt1ACEIr NOh1tM6+a+BGas8W/TVc0UqF6AOdUDW9IJtfUBDZIksNVZ9uKHROrez+tY2yxlwiHdZDGOih9 K9I+xT+lSuoImIfXZhzWLDwGQtB7NVzYhVEMvG2hdYQoTz9/eH0s5kO0tsrI8czzJgmQhpVMk GcEW/P2k8acCyA1i+tKvubYPa1RlDx4hhyF+S45QRjlyI4UIWYL+2kXFswerTjj56FJjKTET7 Bppkbz7tYofRt7W1puzLigF18oyn6t9CJTZswDXiMY4fyPaglsE6MIVNgeCLcfRsQFWiamvtK cmZQBkJMTBWTmuuJAe/gB5Kij9X9/GI+GU39YHwCmji8jQ3oKLXIjaSO24B71y6uWYeIZyScQ H+5RoulrHNHTCAfoHgleMVRMgHxVqI2iId1RIG0/VMYiss+/N30jc1hzrSPKEOUGCONM2GpZr /AR4+i3g8pGeXhbnVcMcbAVMwNeEPnQBR4mEeA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > With respect to your inquiry about `frame-geometry' on OSX, I tested > the outer frame dimensions with an applescript using the feature > request of bug number 18283 You really should send a patch for that bug. If noone objects I'll apply it in a few days. Few people here build on OS X and still fewer write Applescripts. > -- the results of getting the bounds with > an applescript were the same as those returned by `frame-geometry' for > the outer frame pixel width/height. So that aspect of > `frame-geometry' is correct on OSX 10.6.8 Snow Leopard Server. I did > not test the other aspects of `frame-geometry'. You will need them to be able to translate from the outer frame pixel width/height to the native width/height. It's the latter you specify in the width/height parameters. So you have to subtract the width of the external border and the title bar from the outer width/height to get the desired native width/height. martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 06 18:01:33 2015 Received: (at 21415) by debbugs.gnu.org; 6 Sep 2015 22:01:33 +0000 Received: from localhost ([127.0.0.1]:50966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYi0C-0000iM-VL for submit@debbugs.gnu.org; Sun, 06 Sep 2015 18:01:33 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:56216) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYi09-0000iB-It for 21415@debbugs.gnu.org; Sun, 06 Sep 2015 18:01:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=5Mp/RBhUAzPenFUZ3xfgr4S1NpxBq5s7PriBkw1NnwM=; b=xkEsQj9mExLvJYU8V0CB7QiDcj9AS4CNMuMC70AjT7RxgIgj8R2S02DO7jFp1Yy4Qod4d2JYCkz0IL8S2a98k4dt08CHdfazWLIl5RrOlZ3I6kxF7gEdhlpo2Qny/w6f; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:53845 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZYi07-0000ib-OK; Sun, 06 Sep 2015 18:01:27 -0400 Date: Sun, 06 Sep 2015 15:01:28 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Using a brand new download of the Emacs master repository and a fresh copy of the patch, I ran: git apply frame.c.diff error: patch failed: src/frame.c:537 error: src/frame.c: patch does not apply I also tried using a third-party program called Tower.app, and the result was the same error message. I ran: git diff and I received no output, and was just returned to a new command prompt. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; At Sun, 06 Sep 2015 21:26:54 +0200, martin rudalics wrote: > > > With respect to the patch, I believe it was applied successfully -- I selected the option "y". > > > > [* * *]HOME$ patch -p1 < frame.c.diff > > > > patching file src/frame.c > > > > Reversed (or previously applied) patch detected! Assume -R? [n] y > > Strange. Are you sure you had a pristine frame.c? What does git diff > give for your Emacs tree? > > > Hunk #3 succeeded at 4840 (offset 9 lines). > > If you have no private changes in frame.c do a C-x v u in a buffer > showing frame.c and afterwards do > > git apply frame.c.diff > > followed by make. > > * * * From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 07 03:05:20 2015 Received: (at 21415) by debbugs.gnu.org; 7 Sep 2015 07:05:20 +0000 Received: from localhost ([127.0.0.1]:51187 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYqUR-0007Ez-14 for submit@debbugs.gnu.org; Mon, 07 Sep 2015 03:05:19 -0400 Received: from mout.gmx.net ([212.227.17.21]:58423) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZYqUO-0007Eq-Li for 21415@debbugs.gnu.org; Mon, 07 Sep 2015 03:05:17 -0400 Received: from [188.22.44.66] ([188.22.44.66]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0Mhej1-1ZLyCw2yA7-00MrBP; Mon, 07 Sep 2015 09:05:13 +0200 Message-ID: <55ED3727.4080900@gmx.at> Date: Mon, 07 Sep 2015 09:05:11 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------050301080201070306030003" X-Provags-ID: V03:K0:TLS4otHq6B/2wGIoZA6S2aM98FWee3YnYGl0klDjc/iFnhnyhIg mkB4Ez40ILn37fKxThumVICGsL7QEKCKNhifEBbVHv85gVVrYK7+xDZiGjjNITvD2hf/9rn 0l/5pKUNAhWp8JBcwGHGmU9KmIDAgaJxfsh87dzO9M/XkiHGF2I4Jq0UzF4VI5MOChkR9lG bnlKQbEXw219X3H2rvUng== X-UI-Out-Filterresults: notjunk:1;V01:K0:cYjtsYf0iKQ=:4Voz/RZD/0jvO8kJSE8/TH ZebfeXr3DQ/V7CkrvN7MfCQ0jPVF4cT0vQikgVOy2uT3EEL+3rTetWSDW9+JDUKJQmTUqzjbf 50lG8LNJNrAGjjM+oF+Vhe69fmyMfJMuKAoF2R+Auo+VN30ZrR5wxaN9nqoKnX7LuYQhYvTrn doVD5blliSYMdKBVOZDrtMx1YJpRpXuyg2OmQlrevzBWpfIUp14Wt6VX9/vmNSPpcACJAr/FL mg7BnUq6NQ7nPBmrJvmGxU0nBq7jl0JxzGGK+T76dgCKhh/7JQS1n9S8afmwvcpRp7pXIeJUa u1To9RLZ9aOCNwzk+jQre5UtR3PvFlkxcve0ZtAlZ5lgsfg3oJ6D7eErf6pIShtHNc2+58/Qv qtKA43EiEJ6cUk68iePy3GRobmuH/YFVsit3+S3XhF1E7zv+C9K7gSGtJmM/M2FNZYmZmV8JV OwV7Nhn7xdPuE4BIWLwIX0M3H7dqnEbyFBclOItuqS6zCWThKaAj/+smhO78ncbCTDW8Qpk0H rBOxPggmAyIw6dvEP1EU8vh4StT62ymhbjyFhfxgg7qjWICvPqRNJerdpfQRUDqOhfdjlCXKr aSpbLFZRyGfH+NAsaGIUBbP4vHfxtJAqE3IE16L0IjhnZh1fQW1IMYkn/uaMoKKnnfAgl2Tlp nbOfju3mv4QxZyYWiPyuGIMJbeEuiLlf3d3YC31pimSjiv+aod0lfLbRowluLJcujs06y0DhD Tdp9scV5Ea3OLneN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) This is a multi-part message in MIME format. --------------050301080201070306030003 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit > Using a brand new download of the Emacs master repository and a fresh copy of the patch, I ran: > > git apply frame.c.diff > > error: patch failed: src/frame.c:537 > error: src/frame.c: patch does not apply My apologies. I've sent you a completely unrelated old patch while the new one happened to end up in the wrong directory. The present one should be OK. martin --------------050301080201070306030003 Content-Type: text/plain; charset=windows-1252; name="frame.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="frame.c.diff" diff --git a/src/frame.c b/src/frame.c index d3e4780..1cd7c36 100644 --- a/src/frame.c +++ b/src/frame.c @@ -4582,20 +4582,40 @@ x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p) { if (!EQ (width, Qunbound)) { - CHECK_NUMBER (width); - if (! (0 <= XINT (width) && XINT (width) <= INT_MAX)) - xsignal1 (Qargs_out_of_range, width); + if (FLOATP (width)) + { + if (XFLOAT_DATA (width) < 0 || (int) XFLOAT_DATA (width) > INT_MAX) + xsignal1 (Qargs_out_of_range, width); + else + SET_FRAME_WIDTH (f, (int) XFLOAT_DATA (width)); + } + else + { + CHECK_NUMBER (width); + if (! (0 <= XINT (width) && XINT (width) <= INT_MAX)) + xsignal1 (Qargs_out_of_range, width); - SET_FRAME_WIDTH (f, XINT (width) * FRAME_COLUMN_WIDTH (f)); + SET_FRAME_WIDTH (f, XINT (width) * FRAME_COLUMN_WIDTH (f)); + } } if (!EQ (height, Qunbound)) { - CHECK_NUMBER (height); - if (! (0 <= XINT (height) && XINT (height) <= INT_MAX)) - xsignal1 (Qargs_out_of_range, height); + if (FLOATP (height)) + { + if (XFLOAT_DATA (height) < 0 || (int) XFLOAT_DATA (height) > INT_MAX) + xsignal1 (Qargs_out_of_range, height); + else + SET_FRAME_HEIGHT (f, (int) XFLOAT_DATA (height)); + } + else + { + CHECK_NUMBER (height); + if (! (0 <= XINT (height) && XINT (height) <= INT_MAX)) + xsignal1 (Qargs_out_of_range, height); - SET_FRAME_HEIGHT (f, XINT (height) * FRAME_LINE_HEIGHT (f)); + SET_FRAME_HEIGHT (f, XINT (height) * FRAME_LINE_HEIGHT (f)); + } } user_size = x_get_arg (dpyinfo, parms, Quser_size, 0, 0, RES_TYPE_NUMBER); --------------050301080201070306030003-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 07 13:53:36 2015 Received: (at 21415) by debbugs.gnu.org; 7 Sep 2015 17:53:36 +0000 Received: from localhost ([127.0.0.1]:51836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZ0bo-0003Pc-IX for submit@debbugs.gnu.org; Mon, 07 Sep 2015 13:53:36 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:35651) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZ0bm-0003PU-EX for 21415@debbugs.gnu.org; Mon, 07 Sep 2015 13:53:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=jxZ6CUFjsFRRAdPQg8P7ijZRJhA4hgVdLazXEBFBHDg=; b=wRWDonv9vtiN1YtpT751USckAczGWAkImYsbB6fWXFR2fPW/D/CICOLixZMzIXnhYVnqeoagODWqCtnFnx9MCjTrLw9HUmqLaS31xi4ScwuCzt9yq0vHfRsgQlrG1PHY; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50274 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZZ0bk-0008Dj-0O; Mon, 07 Sep 2015 13:53:32 -0400 Date: Mon, 07 Sep 2015 10:53:31 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) The latest patch was successfully applied, and building occurred without incident. When using the setting of `(setq ns-auto-hide-menu-bar t)` and a `make-frame` with pixelwise parameters for width/height, the result when creating large frames -- (width 1909.0) (height . 1060.0) -- is a frame that is one-half above the screen (out of sight) and one-half of the frame is showing. Adding a parameter of (top . 0) has no affect. The pixelwise frame parameters of width/height for `make-frame` are not behaving precisely -- e.g., a height specification of (height . 1059.0) is 14 pixels shy of filling the entire screen [i.e., 1066 pixels outer width]; and a height specification of (height . 1060.0) is 6 pixels larger than the full screen [i.e., 1086 pixels outer width]. It is not presently possible to create a frame that precisely fills the entire screen using the patch as-is. Keith From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 08 04:29:33 2015 Received: (at 21415) by debbugs.gnu.org; 8 Sep 2015 08:29:34 +0000 Received: from localhost ([127.0.0.1]:52171 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZEHV-0007Mk-5o for submit@debbugs.gnu.org; Tue, 08 Sep 2015 04:29:33 -0400 Received: from mout.gmx.net ([212.227.17.22]:64894) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZEHT-0007Mc-8q for 21415@debbugs.gnu.org; Tue, 08 Sep 2015 04:29:31 -0400 Received: from [88.117.50.5] ([88.117.50.5]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0LjquD-1Yxxio26Z7-00bsUC; Tue, 08 Sep 2015 10:29:27 +0200 Message-ID: <55EE9C63.2070402@gmx.at> Date: Tue, 08 Sep 2015 10:29:23 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:5LZNMA+bUeGWqSWl1jPFrU8V4ku7Fsz6OAgjRzsWVF9Tq/s2w1W xDTuK3aa9OiS5886xtrDAVz20VEHwyMiU0TCDPfxHm5WmPaaOb4Hh8IyiHPUdpLZaFid1YZ +Lb9oeuY1KCFSOet/nXt1LqJC/7dEPKoc82dXQFulIGvIws4gt3ycxWMWhdcMP743QFKmOQ 8MKgbgHgASMKB1prGdqVw== X-UI-Out-Filterresults: notjunk:1;V01:K0:+bWUmUykNGs=:l3jphbYSDqYlWfueIkfA2K ZWNm2MbBln79jOEb2Wu4i4vvLBBkUwS+/sixcxsoCPXA7OBug84T/ILNOoLjfUabK7W1dgOHQ yd2KIBujGwmxknb+BagwgcTN9MjU8VwgEyG7jMqNMxWyJn2fnvSaebJSOHczPVQVA5kgMF7vF 6MGIg6oQhoMWTucnGvXXaXfUgvDOmpduiniizM45N4kPQh5omDzfN2iRf3enyPNm09y6gLUHt FVhL6avQ9Mkc0z8icgL0yh7qH5KFtRA79LcwsJq3pxC/mcIxK59283+Zx0iwq6ZOewgpD8JT0 TXJlDxjIdu6dSTp5eX/dS88fLKmuv8t17XUiYW5YiOXp6X+yKqguTAUtjb7He98pHTKpQs1Fg eQyqyJve7ACNjVjtAE/aPJ+1EbcYJ8r8g2dBgZWt71KUqYhnglFixctGhYDenM9+vOshhomXV ZFs4Jf9QVRkynEg77Pd7WecHY3KHtvF/o/zpwq6fx46pd5l2HrS01IL3uLFWyMftNRw6mBOYQ tPcmM6j5O5T3YUWinsEeTu9860tV3VFgtuHqj5KNykE9eBoBfAq8SOJTQ9002RYhLUWbzfaDY dIunKuNmzCPaxl0lQJO/geo9P/+dRJkqE5FEzDyTbWRmKmo1Gkp75NuLfd6C3Oz6ydfzpldTw PPaZspWA90FNniwIZYR615vUYiBwn2vtH4HZ5F5c6vncm6evrHlQthYFsQYjc62KtB+YIVfot EZNm/SM5hXUkcxwaMbaKzcG0ySXfRWVkNtgxrg== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > When using the setting of `(setq ns-auto-hide-menu-bar t)` Is this necessary to trigger the behavior? > and a > `make-frame` with pixelwise parameters for width/height, the result > when creating large frames -- (width 1909.0) (height . 1060.0) -- is a > frame that is one-half above the screen (out of sight) and one-half of > the frame is showing. Adding a parameter of (top . 0) has no affect. Probably because, as you say below, a height of 1060.0 makes the frame have 1086 pixels outer height which is too large for your screen. > The pixelwise frame parameters of width/height for `make-frame` are > not behaving precisely -- e.g., a height specification of (height > . 1059.0) is 14 pixels shy of filling the entire screen [i.e., 1066 > pixels outer width]; and a height specification of (height . 1060.0) > is 6 pixels larger than the full screen [i.e., 1086 pixels outer > width]. It is not presently possible to create a frame that precisely > fills the entire screen using the patch as-is. I don't know how you calculated your values but I'll try to explain what happens here. Suppose with emacs -Q I do (make-frame '((width . 599.0) (height . 399.0))) Then I get a frame where (let ((edges (frame-edges nil 'native-edges))) (cons (- (nth 2 edges) (nth 0 edges)) (- (nth 3 edges) (nth 1 edges)))) returns (631 . 435). The difference between the widths 631 and 599 is 32 pixels. These consist of 16 pixels for one scroll bar, 8 pixels for a left and 8 pixels for a right fringe. The difference between the heights 435 and 399 is 36. This is exactly the height of my tool bar. Evaluating (let ((edges (frame-edges nil 'outer-edges))) (cons (- (nth 2 edges) (nth 0 edges)) (- (nth 3 edges) (nth 1 edges)))) yields (639 . 481). So the difference between outer (639) and native (631) width is 8 pixels which is twice the size of the frame's external border (4). The difference between outer (481) and native (435) height is 46 which equals twice the external border size (2 * 4) plus the title bar height (19) and the menu bar height (19). The outer width/height is what you need. Which results do you get when you do the same calculations on your system? martin From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 08 12:13:10 2015 Received: (at 21415) by debbugs.gnu.org; 8 Sep 2015 16:13:10 +0000 Received: from localhost ([127.0.0.1]:52839 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZLW9-0003Mj-Ht for submit@debbugs.gnu.org; Tue, 08 Sep 2015 12:13:09 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:36303) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZLW6-0003MZ-VR for 21415@debbugs.gnu.org; Tue, 08 Sep 2015 12:13:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=oH+PA/J2fCBMIatSM+U9VlXohs4VL1F5LYtaR1J3YXE=; b=t2gTpdmClEzQ9KG1WjPyeb2NvMu2EuRQoqWWQAsGHkWXJECsgMx1tnmWFsC1sC9mBf5awk7i4y5SAN/FAgE71GGS8RLN+TTaitNXa5aHaOgmAylqQi0yezWD8YW5CbCw; Received: from [159.83.115.1] (port=52275 helo=MBA.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZZLW5-0007j7-Dl; Tue, 08 Sep 2015 12:13:05 -0400 Date: Tue, 08 Sep 2015 09:13:04 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Yes, `(setq ns-auto-hide-menu-bar t)` is directly/indirectly related to the new large frame appearing one-half out of sight (above the top of the display). Setting that variable to the default value of `nil` avoids the problem. The behavior is not caused by the patch, but is something that I recently noticed (again) when trying to control the exact parameters upon frame creation. I have been programmatically using `set-frame-position FRAME 0 0` following the creation of new frames to compensate for the inability to set the `top` correctly on frame creation. With this feature request (#21415), I was hoping to incorporate the magic of `set-frame-size` with the pixelwise argument. That function is magical because it lets a user precisely control the outer dimensions of a frame on OSX -- i.e., a user can make the outer dimensions exactly one or more pixels larger or smaller. The patch, from what I understand, seeks to convert pixel specifications into the standard character width and standard text line height. I believe that method cannot be used to precisely control the pixel outer dimensions of the frame. The feature request (as I understand it) seeks to control the exact pixel height/width of the outer frame -- irregardless of the character width and text line height. For example, the laptop that I am using today uses the following: `(set-frame-size FRAME 1260 774 t)` to precisely fill the display. The corresponding frame parameters are (width . 114) (height . 38); however, those are insufficient to fill the screen precisely. I can get close (but no cigar) with (width . 114) (height . 38), and then I need to use `(set-frame-size FRAME 1260 774 t)` to fix what `make-frame` cannot accomplish. Keith From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 08 15:22:19 2015 Received: (at 21415) by debbugs.gnu.org; 8 Sep 2015 19:22:19 +0000 Received: from localhost ([127.0.0.1]:52976 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZOTC-0007zS-Kb for submit@debbugs.gnu.org; Tue, 08 Sep 2015 15:22:18 -0400 Received: from mout.gmx.net ([212.227.17.21]:59012) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZOTA-0007zK-Vv for 21415@debbugs.gnu.org; Tue, 08 Sep 2015 15:22:17 -0400 Received: from [188.22.104.84] ([188.22.104.84]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0LrNoG-1YWfrF2PEq-0134h6; Tue, 08 Sep 2015 21:22:13 +0200 Message-ID: <55EF355F.7070404@gmx.at> Date: Tue, 08 Sep 2015 21:22:07 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:D6URGKLqc3qgcJMrI+f/1pHLGprj9Ro8JgonzglRCfZT3xv/ab5 +gatI9OvUWQuqfj80Hnc53+75nbDxMhZYHn9D+YTcHzAwJA2icA9O7ou47hsEJFW0BEIfZC lBjzpKXAK4LDwpPTss1WUrzXoTFQPU6DBdmyvbBJEIJ16ImqgBLo0nB9FXniB4TnSzL6cWl /EOVSRQ8HvEStiTCf9w/A== X-UI-Out-Filterresults: notjunk:1;V01:K0:MJTL+n2f0BU=:5HdDnf0i2nF+FYhwD2Skf8 md24HQzSOY3EYLXptrfItOBWnWiEXt3pIUmNwp6M/qBIkSp4OmcIwQvqAzJ9pTE3cJo8lQ+G0 3IzMHEhHLP6oc3zPHM1FmYO/q8UC7Obe8uOOpD1BBd/XR+sh9xyGlJ+4sR7ZVnzYd7ouBegre bkrf1G3htkE6beAY95FiPl+lNQFCNd0+UvGMQuUBVIwm8pqZedZpdSeEdvzHQE5GHyLxSpAHD QwbJfsTUrDqm5UL8UnWG22HlaSaVXyDn9XS2CTriD5bhQoNjJWm3iGiW6rn6z80g09G7vEQhD d/vbR/m3bD9gOF9tviEgG4zf1kBFETDc+CdATpJpgz5BJd+knkhRaSDxcftZA+HreHTkdq8p0 y6jnXJtFyAHKF48iFt2wTdm1HWB1O6KiXtxWBP1nXd1gp3tj4ZF4Kp8Mz1FAtrKASYgxLccS0 EoFLghtRz/JezC6Lq1ahhmcYncpttf3onf1gxGamVVdsXTbGpWHoqYCBT7EyBw8CA/GoIoxZO n6JcnRMihoUryIz11VBWXb+rcT6GXIX4RB9zzt/LoEm0Wjix2vfJYeFIDLEGd3PdwZXrGBFZe qucC0FvbryM7aYpm/ilmlN99eEUwRcRFlZQk/SN0DHSKI37A7IvlxoruDOlk055tvEWvr1mq9 EfTDPBX9y7whSJYhDEwIQpu/4CIRT4/uxA9xRfHS6drGKgeDpf2OV1KVH4ToiTiJcl75TNHui BWoxuNogf3fynwP0QRS7Gpi/c74ETVO9HT8jWlCxqMvS++IG/BIPH9VIrF4= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > With this feature request (#21415), I was hoping to incorporate the > magic of `set-frame-size` with the pixelwise argument. That function > is magical because it lets a user precisely control the outer > dimensions of a frame on OSX -- i.e., a user can make the outer > dimensions exactly one or more pixels larger or smaller. There is no magic at all in =91set-frame-size=92. Just that at the time = you call that function all those annoying calculations like how large is my title bar or the external border have been already done by the window manager. And =91set-frame-size=92 doesn't have to care about idiosyncras= ies like adding fringe or scroll bar widths. > The patch, from what I understand, seeks to convert pixel > specifications into the standard character width and standard text > line height. No. These values are set eventually just like when you call =91set-frame-size=92. > I believe that method cannot be used to precisely > control the pixel outer dimensions of the frame. It can. But if and only if you know, for example, how large the title bar and the external borders are. > The feature request (as I understand it) seeks to control the exact > pixel height/width of the outer frame -- irregardless of the character= > width and text line height. The character width and text line height are not consulted. Provided you have set =91frame-resize-pixelwise=92 to t. > For example, the laptop that I am using > today uses the following: `(set-frame-size FRAME 1260 774 t)` to > precisely fill the display. The corresponding frame parameters are > (width . 114) (height . 38); however, those are insufficient to fill > the screen precisely. These frame parameters contain rounded values. Just ignore them. > I can get close (but no cigar) with (width > . 114) (height . 38), and then I need to use `(set-frame-size FRAME > 1260 774 t)` to fix what `make-frame` cannot accomplish. Have you tried to do the calculations I sent you in my previous mail? Once you've done them, =91make-frame=92 should be able to do what you wan= t. martin From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 08 20:38:40 2015 Received: (at 21415) by debbugs.gnu.org; 9 Sep 2015 00:38:40 +0000 Received: from localhost ([127.0.0.1]:53137 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZTPL-0000VR-DU for submit@debbugs.gnu.org; Tue, 08 Sep 2015 20:38:39 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:36689) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZTPI-0000VI-SB for 21415@debbugs.gnu.org; Tue, 08 Sep 2015 20:38:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=NT1WIpzeYROEgoMdgRLMM/HeOyarChm05TZQt5vVsJs=; b=c+d5I1EoPkdBs1AOAE0QK1KjhveU9bkvxTvm8eGK/kfIcPmn1HMEHltdtNwzwbUZ/s4bGiUetvvfH04rUbhbhxOQej8tJPv8cIydDajmu+tei+sg8ofP2Pzojs1u1ORq; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:51231 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZZTPF-000269-LZ; Tue, 08 Sep 2015 20:38:33 -0400 Date: Tue, 08 Sep 2015 17:38:35 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) I have tracked down the cause of the problem, but I do not know how to fix it. `make-frame` with the patch is working correctly. `x-create-frame-with-faces` does not deal with `font` when creating the frame, and `font` is dealt with after the fact by `face-set-after-frame-default`. `face-set-after-frame-default` uses `set-face-attribute`, which is responsible for significantly changing the frame width/height `(set-face-attribute 'default nil :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1")` I commented out the `set-face-attribute` section of `face-set-after-frame-default` to track down the problem. Is there any way to prevent `set-face-attribute` from ruining the outer frame dimensions that are created with `make-frame`? (setq ns-auto-hide-menu-bar t) (set-frame-position (make-frame '( (font . "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1") (vertical-scroll-bars) (left-fringe . 8) (right-fringe . 8) (width . 1900.0) (height . 1054.0) (tool-bar-lines . 0) )) 0 0) I am using `set-frame-position` to compensate for `ns-auto-hide-menu-bar`, which prevents successfully setting `top` (and maybe `left`) as part of the `make-frame` parameters. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 09 02:27:49 2015 Received: (at 21415) by debbugs.gnu.org; 9 Sep 2015 06:27:49 +0000 Received: from localhost ([127.0.0.1]:53270 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZYrD-0000IP-Tp for submit@debbugs.gnu.org; Wed, 09 Sep 2015 02:27:48 -0400 Received: from mout.gmx.net ([212.227.17.21]:49791) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZYrA-0000IG-MM for 21415@debbugs.gnu.org; Wed, 09 Sep 2015 02:27:45 -0400 Received: from [194.166.83.210] ([194.166.83.210]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0MVvDo-1ZBJsE0uIy-00X3ID; Wed, 09 Sep 2015 08:27:42 +0200 Message-ID: <55EFD159.3040802@gmx.at> Date: Wed, 09 Sep 2015 08:27:37 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:Ybo5zv2OHw98AmDKEWKF4Sl6+dh2K4YU7xH6JPnoA2hMNI6FnxD 6onPsOhy491FNu8/YqXrY7cIVu4FS2BYVK/ymSVle8mVj98Ep7+g9eD9Qje2OWxpPwNgz1k Yl+a60uki36ghZ43fS2GCArhMp30ejuCR+J8ylUpdbEWE9I5JjEzKAL0YHGKzZUdeGqtaEl p7kd/a0ygDjekjDEVUqxA== X-UI-Out-Filterresults: notjunk:1;V01:K0:4YyyaSMuK64=:NLWfjQR2EPvuGa1gMhfx/A zVLEi8oHgP4zXAJDVsqGDrIpCZcgd8q/jCZO3YpSPkW0YrIiO4YkbpM8Bh3qPS0QPWzzn6TvK gSnrAA7kltwGiJ99JbmUQBJ1BwJLQaj4fGqqGm6b5m5b3ZiRvZtJR2CzPQ4NJmB2jhMClUobA DGQq4dpu5LoaZM5xNWEe59ttEsSXk0AT2nrHqTGJZrI/M/EX/DT7zyQkCusX6qhaHaYAK6wRv I4u+a9Vd6eJUovODfAMPAO+d+a5uMVeUxdElxtz5s56HieHGzCT0XksFH7Hx3my6G6nctkhbU mkZl+08Xa2RqhedPeFqA7PPk3J7QDsHEvGXkJrVEuC9XoX8zE5lkzUf5Fx6NBT2id9MzWVvJy k7+a6sqQVevBiZ0jZAVNf0UjCIRcsaJNTKqN2KPzr8Jz5agtmJsYD/8A4mIi4MK1uJdOR9qxe 2pCDwXMNpY3lbfURKuSWqDPNvzpZedm5YOIr9PltY/YHH7IsF26WvlI49PmnI+flj4uv8nvoK 13+7JI0+WDSM5coVo9YONKqcUagfpDkdUkmxGNYUuziIBXhBvDUt96kvjp6Dz7PpYgHQ6TJAa 8he68F1FUeuj6JCuIzlG4ofYeZl61pkLZFq73Jj05F6NJV2O3WGCvVfUs1Zeo6MtiP534kVgc Zu9+0F3BBEtKU4xaXJ9QzjXAKCzLV2aQ7BYpol0Yn2CsnDfyVzD4QjkZkcqQ3BmcpcEAbYJQk +VLKtXMlPOHTTkwvj6srXFaoT73g/gx0uLwVsQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Is there > any way to prevent `set-face-attribute` from ruining the outer frame > dimensions that are created with `make-frame`? Customizing =91frame-inhibit-implied-resize=92 to t should accomplish tha= t. martin From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 09 10:30:58 2015 Received: (at 21415) by debbugs.gnu.org; 9 Sep 2015 14:30:58 +0000 Received: from localhost ([127.0.0.1]:53924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZgOo-0004kG-5P for submit@debbugs.gnu.org; Wed, 09 Sep 2015 10:30:58 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:49678) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZgOl-0004jf-Jk for 21415@debbugs.gnu.org; Wed, 09 Sep 2015 10:30:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=CXoYAhZ1DkxcUgWXrv+3oofoanljcVbr/VyF6olLFUU=; b=iQo83c8XqqYlx2xjBjsi0EkZdBmFpfQ4BunE/6fOd2RZstZnJSt/LasWLUc7EjBaLM+Ic3nt6aXjTEjkTijWKbEeLy2FIE6evxlIaVb6XYPrI8fyUCwoa4sEamWBIKRu; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:49506 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZZgOh-0006zC-HJ; Wed, 09 Sep 2015 10:30:51 -0400 Date: Wed, 09 Sep 2015 07:30:54 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Thank you for the suggestion. I tried: (setq frame-inhibit-implied-resize t) (setq-default frame-inhibit-implied-resize t) (setq frame-inhibit-implied-resize '(font font-backend internal-border-width menu-bar-lines tool-bar-lines)) However, evaluating the following still substantially increases the size of the frame: (set-face-attribute 'default nil :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1") The result is the same when evaluating the following -- i.e., the frame substantially increases in size when `font` is included in the parameters: (set-frame-position (make-frame '( (font . "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1") (frame-inhibit-implied-resize) (vertical-scroll-bars) (left-fringe . 8) (right-fringe . 8) (width . 1900.0) (height . 1054.0) (tool-bar-lines . 0) )) 0 0) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; At Wed, 09 Sep 2015 08:27:37 +0200, martin rudalics wrote: > > > Is there > > any way to prevent `set-face-attribute` from ruining the outer frame > > dimensions that are created with `make-frame`? > > Customizing ‘frame-inhibit-implied-resize' to t should accomplish that. > > martin From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 09 11:53:15 2015 Received: (at 21415) by debbugs.gnu.org; 9 Sep 2015 15:53:15 +0000 Received: from localhost ([127.0.0.1]:54013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZhgR-0006sq-Fs for submit@debbugs.gnu.org; Wed, 09 Sep 2015 11:53:15 -0400 Received: from mout.gmx.net ([212.227.15.18]:60447) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZhgP-0006sh-3j for 21415@debbugs.gnu.org; Wed, 09 Sep 2015 11:53:14 -0400 Received: from [93.82.8.91] ([93.82.8.91]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0LkOaJ-1Z3g3I2zhz-00cUOr; Wed, 09 Sep 2015 17:53:11 +0200 Message-ID: <55F055E2.7060500@gmx.at> Date: Wed, 09 Sep 2015 17:53:06 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:52Nq6f9Ac9XhBNm34woh6jmS74O/kT2Uyc/uRbosAsujr/cG+9l dHJtJkLZOkUwuQDrMSySyHCru4CEB3XWJT19Xj1If0+i3vYu/pKbV6fT9eoe9XjEh1G9qYe cX6QHMveXnnmY+6x+6KwC0t9GehpIvy4yXPsISXGV863wANPtTtYbkkKjDPpALorbD645Db ftDKogZmEI1yRXdPCSzKA== X-UI-Out-Filterresults: notjunk:1;V01:K0:7F8ugSyUmLk=:kAjfhqibYRBRoBQ9zMExUe hzVPSj17FO7hpek9qgtM0Sod0Dp2p7OrTnL+v9B2LdPIIHH1XIWC9vUqhmmkLFM9T3WDOSrKR U1c2EH8VmuvyvF+uQZXmerqGsEpYy+pt/BNtIPtvp8BUQDyVI71CVTc1B1Ii+PhXw7zaCMI19 bGOvvD+Onhk6Ft01LLACPngwomracdjBnBfnUkyxFrhySyy9MY6SLP29kTnfoEM5S2ldpUhMx Y32cAKm8k1qNOS8w1Ru+ENdjGni/nwGp9vhiJneRnf9Kgqk7LX6YtHaFDIKP3sz0HvkfKaMaf LxXroxqTPSCx3qj8cgPu+aHBVHUkisKkVMTxiVIfg3rnOVf3mfZwEQy2xIhhH0a6R6OccWoUb nTmbc3UCSk4HFr3d8WlAsOvlfE6ZibBWDc3RCAlZhYvZcZ5GN6A6Vl9gGCACbV3nEnBoSPhdp wC7SMp8HeQFMCdLcGrX/RQrzcqyJxYy6Qjvl0lfWorHcbaBxbQN2hclSUqN6cqnC3YRpMDEmd Q+5czlg36uZ92bljgrlgIPFQwPWHFPjHJ8Y6iUN83lt5oCbFBd7njjPOhLzu20WkhSpU1ICnL JydGqT23M1wXQYX9ASJmhfkkYJCJRatMiu5Bm37PngORdsduwvmN4W+P6JJPIXFyQSU7svr2O zL8/zjSbn4AtxN19hu37w1QpJ1M2x/MWnvs1mKZ9FRWbqn0sDedx0pydbDrpneboasxkQ2/S3 YL8fL4hMVVFYfXj0wKApxWPBqazMajLC6TUArw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > However, evaluating the following still substantially increases the size of the frame: > > (set-face-attribute 'default nil :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1") Here the frame size remains unaltered. What happens when you do that on a maximized frame? And what does evaluating (progn (setq frame-size-history '(1000)) (setq frame-inhibit-implied-resize t) (set-face-attribute 'default nil :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1") frame-size-history) return? martin From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 09 12:26:04 2015 Received: (at 21415) by debbugs.gnu.org; 9 Sep 2015 16:26:04 +0000 Received: from localhost ([127.0.0.1]:54089 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZiCC-0007iF-HJ for submit@debbugs.gnu.org; Wed, 09 Sep 2015 12:26:04 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:33168) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZiCA-0007i7-Hv for 21415@debbugs.gnu.org; Wed, 09 Sep 2015 12:26:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=v/yaT6wbVTtMRSpm6dOdfjfLEd2Ph4sBMzDIyZjKqAI=; b=BF+kz5WnGYDnfFpZ9ACFDohc5qayEvJTnEfQ3bIvK58Ly/P+muhQ+QemJInk5Pwa2Mci3KUpdFcuwBas8uWFODmKZAfHiUYaRxT88j1CeyqrTeCQfx/G9aYq/+NLcBRo; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:51339 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZZiC9-0000D6-Db; Wed, 09 Sep 2015 12:26:01 -0400 Date: Wed, 09 Sep 2015 09:26:00 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Step 1: M-x toggle-frame-maximized Step 2 [evaluate]: (set-face-attribute 'default nil :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1") RESULT: The frame substantially increases in size, going from maximized to extending well beyond the right edge of the screen. Evaluating the following from a default frame when Emacs opens: (progn (setq frame-size-history '(1000)) (setq frame-inhibit-implied-resize t) (set-face-attribute 'default nil :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1") frame-size-history) RESULT: (998 (# adjust-frame-size-3 (560 560 880 700) (595 564 915 704)) (# adjust-frame-size-1 (560 560 880 700) (change-frame-size 5))) From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 09 13:11:30 2015 Received: (at 21415) by debbugs.gnu.org; 9 Sep 2015 17:11:30 +0000 Received: from localhost ([127.0.0.1]:54108 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZiu9-0001vv-OV for submit@debbugs.gnu.org; Wed, 09 Sep 2015 13:11:30 -0400 Received: from mout.gmx.net ([212.227.17.22]:58177) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZiu7-0001vn-9Z for 21415@debbugs.gnu.org; Wed, 09 Sep 2015 13:11:27 -0400 Received: from [93.82.8.91] ([93.82.8.91]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0Lx8ZJ-1YYFN61Shd-016f1N; Wed, 09 Sep 2015 19:11:25 +0200 Message-ID: <55F06836.9060209@gmx.at> Date: Wed, 09 Sep 2015 19:11:18 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------070200050104020005070205" X-Provags-ID: V03:K0:OChFOC3lnJswThX4sEDnJTuKqK3JPL2kRVGXxn/LLzzpeVKMglP B5Fjoi9l9FxLfpbIfvze5Dq21nOErVNTKClT6B4qkBF2jN4uqSwn8EZwU7lMwntBs1rM6O3 3nMzqCBxYXZNP3xfsEurnZUBnN4vCuhwNrlYBil4Vr2UeyXMLf6KcQRSPEWLqY/8qKtJhYu AyOkhBASW4TSkgY4nEH+w== X-UI-Out-Filterresults: notjunk:1;V01:K0:bleo5xarPYU=:+5/0fJ+RYEwO/ZJOPwxp7L oKbsXehApNr1oVA5V5f2nkzttA7RmgVLXpSyRIQMo8UaxW3j98Igrwhx36Y43ZQXFDbBQ1tNm 8RCojVyZeUfLJfQiPjjnyXRBRKZE8idj+CyxZHEJN5H0DBtkQrsVUlh9I/0zJG5L/PXrqiVe8 w8Kc9L1SAN/4Zyf09eqOAzdvxH0hUK2mH+O4rvF4Mahksm3UwFb4HGrxNufPfPbPDEdLkTppg 4TL7FeIR4qOuElpn/fNREJGupuSU/3Tz7hJJiXslOAAYOVHiA4xZgky8jEg5spxEy9/l3wia8 xSGErNCgCWTnoV5Jh5Ah281W0U5SXBlOKqs0D6SLwvh3/eIrnuZE0MQhkvmlYAWvdzdJXmHpB klY4chOEujpOC6BgtS2KX/8YUvxDyVxQLmKKZMkblkwVjhakgIES94Uh6jEInHnL3qRIJzxGL 2b+jh47k7dludAx1SFtBkaEqxEY0nZoYFsV0LDpvRjtVC50WV4OC89upeyGb1dkPwk7Sjwwgh c4CplFTQ9yacTYFSx/Drf+f1QsAyg6anlIb4K/FZj2VEDkwQ/CW0ub26tc31WvYxEb/xvD8Uq ry8uTGjhaUyyryakjKoW+2qQLZ4B5mdJ7kiD2kNngiCNK1KwCkaMZTO+Ua5vrk4FNY70IzgQu LAP4+tyRczKk+xDd7Z5bbeST7ElO6CAoW4Uss7P3N2zUA5AHJVHQGgMm1pJDr1WrneroXxVr8 F7K6A/qgyhqmh4Ly X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) This is a multi-part message in MIME format. --------------070200050104020005070205 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit > Step 1: M-x toggle-frame-maximized > > Step 2 [evaluate]: (set-face-attribute 'default nil :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1") > > RESULT: The frame substantially increases in size, going from maximized to extending well beyond the right edge of the screen. That's bad. Please try the attached patch (completely untested, might crash your Emacs). martin --------------070200050104020005070205 Content-Type: text/plain; charset=windows-1252; name="nsterm.m.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="nsterm.m.diff" diff --git a/src/nsterm.m b/src/nsterm.m index e90c3d7..196c30b 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -7612,8 +7612,9 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset) /* Now make the frame display the given font. */ if (FRAME_NS_WINDOW (f) != 0 && ! [view isFullscreen]) - x_set_window_size (f, false, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), - FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), true); + adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), + FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, + false, Qfont); return font_object; } --------------070200050104020005070205-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 09 20:46:55 2015 Received: (at 21415) by debbugs.gnu.org; 10 Sep 2015 00:46:56 +0000 Received: from localhost ([127.0.0.1]:54292 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZq0t-0006Iy-Dt for submit@debbugs.gnu.org; Wed, 09 Sep 2015 20:46:55 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:42242) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZq0r-0006Iq-9t for 21415@debbugs.gnu.org; Wed, 09 Sep 2015 20:46:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=ARVPUztTmnNU9yZoB/0iFIZJrwlhohF/Y7wRPKbT4PU=; b=WGvlazBnmg/KNQRBD1u6rK6VL05PIs3OCkaWBcJCKnH0yOa2mRZRvWCKP3IboKzVDSe81ycNU/bjOVinOMu//CoiHySbRBfRLAiYwKXN4VzrDmTiSXZRJOrwuSq+SQKx; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:49363 helo=MBA.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZZq0n-00056A-5q; Wed, 09 Sep 2015 20:46:49 -0400 Date: Wed, 09 Sep 2015 17:46:51 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) The patch of `nsterm.m` has repaired much of the functionality of `frame-inhibit-implied-resize`. The two tests that previously failed now work as expected: 1. From a maximized frame, I can change the `font` to Courier 18 using `set-face-attribute` and there is no need to set `frame-inhibit-implied-resize` in that circumstance. 2. From a frame that is smaller than the screen size, I can use `set-face-attribute` to change the font to Courier 18 provided that `frame-inhibit-implied-resize` is set to `t`. The problem I am having is with a situation where `ns-auto-hide-menu-bar` is set to `t`. As previously noted in this thread, the `top` frame parameter is ignored when making a new frame that is the size of the screen -- the new frame appears substantially above the top of the display -- i.e., one-half out of sight. When the new frame is partially above the top of the screen, `set-face-attribute` substantially enlarges the frame even though `frame-inhibit-implied-resize` is set to `t`. When the frame comes back into full view (e.g., top 0, left 0), it is then possible to apply `set-face-attribute` without altering the dimensions of the frame. The following are two examples -- one example works, the other example is broken -- both rely upon `ns-auto-hide-menu-bar` being set to `t`. (setq ns-auto-hide-menu-bar t) ;; WORKS (let* ( (frame-inhibit-implied-resize t) (frame (make-frame '( (vertical-scroll-bars) (left-fringe . 8) (right-fringe . 8) (width . 1259.0) (height . 771.0) (tool-bar-lines . 0)))) ) (set-frame-position frame 0 0) (set-face-attribute 'default frame :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1")) ;; BROKEN (let* ( (frame-inhibit-implied-resize t) (frame (make-frame '( (font . "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1") (vertical-scroll-bars) (left-fringe . 8) (right-fringe . 8) (width . 1259.0) (height . 771.0) (tool-bar-lines . 0)))) ) (set-frame-position frame 0 0)) From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 10 02:57:36 2015 Received: (at 21415) by debbugs.gnu.org; 10 Sep 2015 06:57:36 +0000 Received: from localhost ([127.0.0.1]:54418 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZvnc-00083d-5k for submit@debbugs.gnu.org; Thu, 10 Sep 2015 02:57:36 -0400 Received: from mout.gmx.net ([212.227.15.18]:53286) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZZvna-00083V-CP for 21415@debbugs.gnu.org; Thu, 10 Sep 2015 02:57:35 -0400 Received: from [188.22.106.35] ([188.22.106.35]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0Llm9w-1Z0s1s1qiG-00ZSV3; Thu, 10 Sep 2015 08:57:32 +0200 Message-ID: <55F129D5.4090605@gmx.at> Date: Thu, 10 Sep 2015 08:57:25 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------070003080608040809090306" X-Provags-ID: V03:K0:7XNv2Bg6+O3y+VvSc24uBivyB3z0odqgrtXagzi7uviNPP2M3f6 JQlPxwpY88Iaox20oNudjY4tQHxyVX7RkTCf1GXSX1qbSRZt/ST/F+9TNFfXrLjZCGomHpF wqvOt4r6Hp45ZX2SFqc7DdtZxLky1NKZSqbxxW0m+5EnexcHmUDUKLFM+LtGj0XMlQM6emi AacnjEyvLvJFmdk5mcJ8Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:ttrQNp8uLho=:iVaRlK4MO79ZY04NaWXY40 IWRMYecXG+tCfqgEFV+DY0KqcLgjwOn/a9md0cPNrCxIpwyGDGzbxWRfjWRyx44+siCgebo99 fSOmdFFnudntfhuzRSDNQXPZoC5YrMd7Gu/2j7DmtapOL4joqzjes9GTaXOPOc3Kxc00rOf2U mdl8K4Z43WtwB/nN/XOMZOHy0i/aP7IBQLatgUslKsnLDmXoXr1xM3Z4ho3OZgzKuPd6gWRTU LPxgfaPjFIP0CZVUZp88AbP7nm7IqsQ9ywH48jxCjNkIwv7efsdSt9FHmJgLX1fhRNlp/0yB5 t9i7bfGdK2JbsuO8U4J4T10DRNdkYO7bjLaLdmc4sqHWBb6S1xaE1649C2n/YK8bWYVb/uKq3 l9AjCeDFsA8IxIkwUnus4d+zJdZ6M1iXx/PlMArQ3bX87g+9uJq7HVUwqjcdSGTtCDuZmOX2q kLoGIaAdP8JNNGoHO5iRqj6fM4v+Hun7xdOx5bQdTUQTumnyDYcVb7az+Y6AObStxCxM9T5T8 dGjR/JS7XYGBqlWnUSmQsRdofBp3F7+U76roLK6ENaGRYi9bD+MrICqwDHbX1AVzExRiCFEf9 s0vqXH5TXE94kShCbNvzS4r6hsewz/7uA+iFhhbwegw0EvFvinx/bPOh77jLI/BomQ1QpXADJ E0mIrpacgtSw65D62oi1Tx3uOgr9QJABIQdppJ9qWiN8DLnBQ7U6otqZxed0B2kKdSbF7nyiB SWTlEIqqEFM3gAjA X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) This is a multi-part message in MIME format. --------------070003080608040809090306 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable > The patch of `nsterm.m` has repaired much of the functionality of > `frame-inhibit-implied-resize`. The two tests that previously failed > now work as expected: > > 1. From a maximized frame, I can change the `font` to Courier > 18 using `set-face-attribute` and there is no need to set > `frame-inhibit-implied-resize` in that circumstance. I'm afraid that setting =91frame-inhibit-implied-resize=92 would't have helped anyway in that case. > 2. From a frame that is smaller than the screen size, I can use= > `set-face-attribute` to change the font to Courier 18 > provided that `frame-inhibit-implied-resize` is set to `t`. OK. Together with the two I sent earlier I attach one additional change, this time for the tool bar. You don't use it, so it shouldn't affect you. Nevertheless keep it included, it might have side effects. > The problem I am having is with a situation where > `ns-auto-hide-menu-bar` is set to `t`. As previously noted in this > thread, the `top` frame parameter is ignored when making a new frame > that is the size of the screen -- the new frame appears substantially > above the top of the display -- i.e., one-half out of sight. When the= > new frame is partially above the top of the screen, > `set-face-attribute` substantially enlarges the frame even though > `frame-inhibit-implied-resize` is set to `t`. When the frame comes > back into full view (e.g., top 0, left 0), it is then possible to > apply `set-face-attribute` without altering the dimensions of the > frame. The following are two examples -- one example works, the other= > example is broken -- both rely upon `ns-auto-hide-menu-bar` being set > to `t`. > > (setq ns-auto-hide-menu-bar t) > > ;; WORKS > (let* ( > (frame-inhibit-implied-resize t) > (frame > (make-frame '( > (vertical-scroll-bars) > (left-fringe . 8) > (right-fringe . 8) > (width . 1259.0) > (height . 771.0) > (tool-bar-lines . 0)))) ) > (set-frame-position frame 0 0) > (set-face-attribute 'default frame :font "-*-Courier-normal-normal-= normal-*-18-*-*-*-m-0-iso10646-1")) > > ;; BROKEN > (let* ( > (frame-inhibit-implied-resize t) > (frame > (make-frame '( > (font . "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10= 646-1") > (vertical-scroll-bars) > (left-fringe . 8) > (right-fringe . 8) > (width . 1259.0) > (height . 771.0) > (tool-bar-lines . 0)))) ) > (set-frame-position frame 0 0)) I have no idea what this small segment in nsterm.m if (ns_menu_bar_should_be_hidden ()) return frameRect; is meant to accomplish. Try to comment it out and see what happens. If you see a difference, we'll have to look into it. martin --------------070003080608040809090306 Content-Type: text/plain; charset=windows-1252; name="Keith.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="Keith.diff" diff --git a/src/frame.c b/src/frame.c index 6debcb8..f0c76ca 100644 --- a/src/frame.c +++ b/src/frame.c @@ -4582,20 +4582,40 @@ x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p) { if (!EQ (width, Qunbound)) { - CHECK_NUMBER (width); - if (! (0 <= XINT (width) && XINT (width) <= INT_MAX)) - xsignal1 (Qargs_out_of_range, width); + if (FLOATP (width)) + { + if (XFLOAT_DATA (width) < 0 || (int) XFLOAT_DATA (width) > INT_MAX) + xsignal1 (Qargs_out_of_range, width); + else + SET_FRAME_WIDTH (f, (int) XFLOAT_DATA (width)); + } + else + { + CHECK_NUMBER (width); + if (! (0 <= XINT (width) && XINT (width) <= INT_MAX)) + xsignal1 (Qargs_out_of_range, width); - SET_FRAME_WIDTH (f, XINT (width) * FRAME_COLUMN_WIDTH (f)); + SET_FRAME_WIDTH (f, XINT (width) * FRAME_COLUMN_WIDTH (f)); + } } if (!EQ (height, Qunbound)) { - CHECK_NUMBER (height); - if (! (0 <= XINT (height) && XINT (height) <= INT_MAX)) - xsignal1 (Qargs_out_of_range, height); + if (FLOATP (height)) + { + if (XFLOAT_DATA (height) < 0 || (int) XFLOAT_DATA (height) > INT_MAX) + xsignal1 (Qargs_out_of_range, height); + else + SET_FRAME_HEIGHT (f, (int) XFLOAT_DATA (height)); + } + else + { + CHECK_NUMBER (height); + if (! (0 <= XINT (height) && XINT (height) <= INT_MAX)) + xsignal1 (Qargs_out_of_range, height); - SET_FRAME_HEIGHT (f, XINT (height) * FRAME_LINE_HEIGHT (f)); + SET_FRAME_HEIGHT (f, XINT (height) * FRAME_LINE_HEIGHT (f)); + } } user_size = x_get_arg (dpyinfo, parms, Quser_size, 0, 0, RES_TYPE_NUMBER); diff --git a/src/nsfns.m b/src/nsfns.m index 89b9f7c..4cb33be 100644 --- a/src/nsfns.m +++ b/src/nsfns.m @@ -679,7 +679,8 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) } } - x_set_window_size (f, 0, f->text_cols, f->text_lines, 0); + frame_size_history_add (f, Qupdate_frame_tool_bar, 0, 0, Qnil); + adjust_frame_size (f, -1, -1, 2, 0, Qtool_bar_lines); } diff --git a/src/nsterm.m b/src/nsterm.m index 2806f31..360e831 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -7738,8 +7738,9 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset) /* Now make the frame display the given font. */ if (FRAME_NS_WINDOW (f) != 0 && ! [view isFullscreen]) - x_set_window_size (f, false, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), - FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), true); + adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), + FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, + false, Qfont); return font_object; } --------------070003080608040809090306-- From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 10 14:39:06 2015 Received: (at 21415) by debbugs.gnu.org; 10 Sep 2015 18:39:06 +0000 Received: from localhost ([127.0.0.1]:55576 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Za6kU-0004FS-A3 for submit@debbugs.gnu.org; Thu, 10 Sep 2015 14:39:06 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:48275) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Za6kR-0004FJ-JI for 21415@debbugs.gnu.org; Thu, 10 Sep 2015 14:39:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=G3z/42YfaMXNfcG1LYowEjFClcWuPwVDZvgbkO5kxOs=; b=Zbz/qJzpvbnDDO5Y8M7n3WgEdPUjHWWORQ8PDYCcysR3VCBgQ76G4UhPeFjcb3UESCdyXFn9vAUsP8o6ZVwwauJj2N/gNJKlRG5NYYLyNwwL3+WBUoQxvb8gfm0yt5k2; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:49806 helo=MBP.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1Za6kP-00006a-99; Thu, 10 Sep 2015 14:39:01 -0400 Date: Thu, 10 Sep 2015 11:39:01 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) We are in the home-stretch -- i.e., making significant progress! :) I applied the latest combined patch named `Keith.diff`. I didn't see any side affects from the latest revision. Commenting out the following small segment in `nsterm.m` fixes the problem with large frames being created partially above the top of the display -- i.e., it is no longer necessary to correct the bug by following a `make-frame` with `set-frame-position` (to move it squarely onto the screen) when `ns-auto-hide-menu-bar` is set to `t`. As it stands now, the default position is `top 0` and `left 0` -- perfect! if (ns_menu_bar_should_be_hidden ()) return frameRect; I had previously thought that the above-mentioned problem (now fixed) was responsible for the frame increasing in size with the example labeled BROKEN. I see now that the difference between the WORKING example and the BROKEN example is caused by the fact that `frame-after-make-frame` has already run in the WORKING example before `set-face-attribute` is called with the `font` parameter. If we modify `x-create-frame-with-faces` by commenting out `(face-set-after-frame-default frame parameters)` and move that over to `make-frame` following `(frame-after-make-frame frame t)`, then both examples work as expected. I understand that may not be the preferred solution, but at least we know for sure that calling `frame-after-make-frame` BEFORE `set-face-attribute` fixes the problem with the frame expanding even though `frame-inhibit-implied-resize` is set to `t`. ;; WORKS (let* ( (frame-inhibit-implied-resize t) (frame (make-frame '( (vertical-scroll-bars) (left-fringe . 8) (right-fringe . 8) (width . 1259.0) (height . 771.0) (tool-bar-lines . 0)))) ) ;; (set-frame-position frame 0 0) (set-face-attribute 'default frame :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1")) ;; BROKEN -- unless `frame-after-make-frame` is called BEFORE `set-face-attribute`. (let* ( (frame-inhibit-implied-resize t) (frame (make-frame '( (font . "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1") (vertical-scroll-bars) (left-fringe . 8) (right-fringe . 8) (width . 1259.0) (height . 771.0) (tool-bar-lines . 0)))) ) ;; (set-frame-position frame 0 0) ) From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 12 07:11:32 2015 Received: (at 21415) by debbugs.gnu.org; 12 Sep 2015 11:11:32 +0000 Received: from localhost ([127.0.0.1]:57661 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZaiiS-0006n2-2X for submit@debbugs.gnu.org; Sat, 12 Sep 2015 07:11:32 -0400 Received: from mout.gmx.net ([212.227.17.20]:57684) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZaiiP-0006mt-A7 for 21415@debbugs.gnu.org; Sat, 12 Sep 2015 07:11:30 -0400 Received: from [88.117.83.192] ([88.117.83.192]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MY4Ls-1Z62gQ2z6O-00UrUj; Sat, 12 Sep 2015 13:11:26 +0200 Message-ID: <55F40854.9070006@gmx.at> Date: Sat, 12 Sep 2015 13:11:16 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:BWhY0ea4GnHLPyY1Hzi3XEZgFlsaU+6Hw1eePpDh8r28bFIp54S 9nRDnHrKOWnrV7tT1zMwpe0hNH4rrrhKbYiCgbkhnjPOWhA4hNngZUhRw+xJbL1fGuSGFl9 MXMclW/FM0BsfYF45FFyJh+5Oy5Dat6Z4At7CTmWwID+23UMMmwHY+nv4PvFppuOSyFL8t+ yg3IJ9JCZrq27PLIs5LlQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:avltlSFTWnU=:R/ZR+y71H+nRrfOmp2Y4oy fuH8CPAF0D3NNlEL2zmUfLXl6cXvm68is57etNhreQtdPJK84q2sFm2t9DYCbEnkSjmFcFKYm yzvp8ACZDNNYzLMq0JBiv+cRJ/q1aVQS8oFQqxw8DkLLdMOWi7DOvgYij4czMY4ca95N66IPQ xx9LcoMaWreI3+Pb2VMq1HiTaIX7qtP8Q6DcYebsawaXYISM3Ss2jZvuh0R9aYyU6RQDLjPNv Q2TcDnJa9zj1fKZKOqHpP3Eks5ZQGBwa4GZPVoiGP6qMARJfhYxypxytcVLoivPOSG+vvr74w HJPIVwso6GKER87uXQrf8ZDDXh/GDoP2ldDTfY2mhzLMlDutT8M4ak/gi6N0+igvkFyd3AOpq s0M5pKunbjU7RMw4O9nCbbA+jHmhoXRN53IqT1e2q5Is3CAn42XxAbqSccmG5ssFADZRiFr46 3HVA2nbtzXfBY1rN/VIqrR3QljYGtbY7S87DSTrkJ0fo2SkGNVTJvssT7mbMoEZTtosZ57lAs BN8S4iRRnCuXh4ocnjjK/aBTnllu8QwYfBvjmhHcmUCpC0I8SeTtzwO0vgSB3Ma1tmdQdPth1 4yDgCvLthRRCipGono7/1bYtEimxObF1YVty4jRXcLd9OZjGijt8ZjC69+yuRedqJMzmjv4Um fPznPPdIEky/Dpl2h4b7wa0DsA7yyBsHR1ijUnm3PMyso11guF/n7jm7Ts1ZPsZciXo28tUS9 b3jxc2hhINHZMmUBhvT7SHzzmcJ1Tp04zXbdHw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org, Anders Lindgren X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Commenting out the following small segment in `nsterm.m` fixes the > problem with large frames being created partially above the top of the > display -- i.e., it is no longer necessary to correct the bug by > following a `make-frame` with `set-frame-position` (to move it > squarely onto the screen) when `ns-auto-hide-menu-bar` is set to `t`. > As it stands now, the default position is `top 0` and `left 0` -- > perfect! > > if (ns_menu_bar_should_be_hidden ()) > return frameRect; That check probably had a purpose. Anders, what's your opinion on removing it? Thanks, martin From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 12 07:12:27 2015 Received: (at 21415) by debbugs.gnu.org; 12 Sep 2015 11:12:27 +0000 Received: from localhost ([127.0.0.1]:57665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZaijK-0006oW-Eh for submit@debbugs.gnu.org; Sat, 12 Sep 2015 07:12:27 -0400 Received: from mout.gmx.net ([212.227.17.20]:55805) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZaijH-0006oN-CY for 21415@debbugs.gnu.org; Sat, 12 Sep 2015 07:12:24 -0400 Received: from [88.117.83.192] ([88.117.83.192]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MTeVY-1ZAQS42NGq-00QRjS; Sat, 12 Sep 2015 13:12:20 +0200 Message-ID: <55F4088B.5050901@gmx.at> Date: Sat, 12 Sep 2015 13:12:11 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------080601020900020203080806" X-Provags-ID: V03:K0:WaaY99WLzVjWIR4VrYj1Eb16+1so1J7rKTL3ix22L2hYYmuCL0O irtON7j4Uc+RTTDt0Ev2/fBd+LmUxrHKbXxmcl+5CP877S0iIgJcKUmZ+aV5RAk5oUakx2K 4d8LFYhxkqzM3LN8USwOY3zLafrHkX4tZldO+kL+IgYMtdLFaqp4mu9Pkk0wThpGqZ4gHOY aH62r0x5FKOqmKSUlVNVg== X-UI-Out-Filterresults: notjunk:1;V01:K0:N0aac18Fx78=:kOTI7Sfl105tg48OzEdXXW 203eQD0uwJPwu22euxpMXXzBW5Io5qPspDhAXzvDEHeuKP8x1KttPIv2H3YQSymDHU0P5SMEm cM5hoUyIfJAWSNqu0Qo1W2fyrMbeBHFQiCf/WOCAU77u7bU25jv+xP9fCXvErIjC2Tnwjn/3Q Glo/7zzmoIaE0OYgRBUPfkoTKdMgR3ZZ+EPV/+UMAAsTkwivr8k7BROydoqJH/m2tcnAXHJOI J51XP4GlWbYd0C11oXiv/5UHY1It1S3rSicPnArOvV6gNrRuxl0TMwSQUb1CK4MtysJ2Mw7+V 2UTAYmn4FjSpVNOoduvWqqReqgIjtbFFbnzIyKFLujqn3pLwe7OLZgztAmnW1eHRdaCutoBT2 o0hfBTFZKPTVBf3a4yY+pLG8XuYH5K9fqzNlpO/FZapquPMAuuQGeZDsbrTB9GTXxv0pFNEDe IrReuyYIwqR1eaFaJYWQOw2bySGrdf5lQwAg+sybDVbTAKHJe6GtCjFQX+2Dcyf6o3AYTwkZJ CZMvGxdPrRMaw7TkczWjbmgtwUnPxiYy2KTED2+JMk1BBW6mOP2ruw9T9hhe11zAZ961O4Toe FR+c+9d05hnVoyJ6Q5AYUQqToPU5BN/ICqA0Zzm3tuchiA2J6EVH4t0N+l1xVKSMRR9NWTD7t 29EHFIpXNcFizuJ/RnKl2E2Ic2xUDHgs40y37+xdJ1/3DWSAmG+KJpGFbRCiTh6QWl1IZJQ1Y zVBHi/XRWU9c3gc9 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) This is a multi-part message in MIME format. --------------080601020900020203080806 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit > I had previously thought that the above-mentioned problem (now fixed) > was responsible for the frame increasing in size with the example > labeled BROKEN. I see now that the difference between the WORKING > example and the BROKEN example is caused by the fact that > `frame-after-make-frame` has already run in the WORKING example before > `set-face-attribute` is called with the `font` parameter. If we > modify `x-create-frame-with-faces` by commenting out > `(face-set-after-frame-default frame parameters)` and move that over > to `make-frame` following `(frame-after-make-frame frame t)`, then > both examples work as expected. > > I understand that may not be the preferred solution, but at least we > know for sure that calling `frame-after-make-frame` BEFORE > `set-face-attribute` fixes the problem with the frame expanding even > though `frame-inhibit-implied-resize` is set to `t`. Yes. I forgot that we try to keep the number of lines and faces constant when making the initial frame. Try the attached patch. It should cover everything we have investigated so far. Unfortunately, it won't work with an internal tool bar like we have on Lucid, Motif, and Windows. There's something I haven't fathomed yet :-( martin --------------080601020900020203080806 Content-Type: text/plain; charset=windows-1252; name="Keith.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="Keith.diff" diff --git a/src/frame.c b/src/frame.c index 6debcb8..01c7166 100644 --- a/src/frame.c +++ b/src/frame.c @@ -428,13 +428,15 @@ adjust_frame_size (struct frame *f, int new_width, int new_height, int inhibit, within the limits and either frame_inhibit_resize tells us to do so or INHIBIT equals 4. */ { - inhibit_horizontal = ((windows_width >= min_windows_width - && (inhibit == 4 - || frame_inhibit_resize (f, true, parameter))) + inhibit_horizontal = ((f->inhibit_implied_resize + || (windows_width >= min_windows_width + && (inhibit == 4 + || frame_inhibit_resize (f, true, parameter)))) ? true : false); - inhibit_vertical = ((windows_height >= min_windows_height - && (inhibit == 4 - || frame_inhibit_resize (f, false, parameter))) + inhibit_vertical = ((f->inhibit_implied_resize + || (windows_height >= min_windows_height + && (inhibit == 4 + || frame_inhibit_resize (f, false, parameter)))) ? true : false); } else @@ -634,6 +636,7 @@ make_frame (bool mini_p) f->garbaged = true; f->can_x_set_window_size = false; f->after_make_frame = false; + f->inhibit_implied_resize = false; f->tool_bar_redisplayed_once = false; f->column_width = 1; /* !FRAME_WINDOW_P value. */ f->line_height = 1; /* !FRAME_WINDOW_P value. */ @@ -2304,6 +2307,7 @@ otherwise used with utter care to avoid that running functions on { struct frame *f = decode_live_frame (frame); f->after_make_frame = !NILP (made); + f->inhibit_implied_resize = false; return made; } @@ -3167,15 +3171,25 @@ x_set_frame_parameters (struct frame *f, Lisp_Object alist) prop = parms[i]; val = values[i]; - if (EQ (prop, Qwidth) && RANGED_INTEGERP (0, val, INT_MAX)) + if (EQ (prop, Qwidth)) { width_change = 1; - width = XFASTINT (val) * FRAME_COLUMN_WIDTH (f) ; + if (RANGED_INTEGERP (0, val, INT_MAX)) + width = XFASTINT (val) * FRAME_COLUMN_WIDTH (f) ; + else if (FLOATP (val) + && XFLOAT_DATA (val) >= 0 + && (int) XFLOAT_DATA (val) <= INT_MAX) + width = (int) XFLOAT_DATA (val); } - else if (EQ (prop, Qheight) && RANGED_INTEGERP (0, val, INT_MAX)) + else if (EQ (prop, Qheight)) { height_change = 1; - height = XFASTINT (val) * FRAME_LINE_HEIGHT (f); + if (RANGED_INTEGERP (0, val, INT_MAX)) + height = XFASTINT (val) * FRAME_LINE_HEIGHT (f); + else if (FLOATP (val) + && XFLOAT_DATA (val) >= 0 + && (int) XFLOAT_DATA (val) <= INT_MAX) + height = (int) XFLOAT_DATA (val); } else if (EQ (prop, Qtop)) top = val; @@ -4582,20 +4596,50 @@ x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p) { if (!EQ (width, Qunbound)) { - CHECK_NUMBER (width); - if (! (0 <= XINT (width) && XINT (width) <= INT_MAX)) - xsignal1 (Qargs_out_of_range, width); + if (FLOATP (width)) + { + if ((int) XFLOAT_DATA (width) < (FRAME_SCROLL_BAR_AREA_WIDTH (f) + + FRAME_TOTAL_FRINGE_WIDTH (f) + + 2 * FRAME_INTERNAL_BORDER_WIDTH (f)) + || (int) XFLOAT_DATA (width) > INT_MAX) + xsignal1 (Qargs_out_of_range, width); + else + SET_FRAME_WIDTH (f, (int) XFLOAT_DATA (width)); - SET_FRAME_WIDTH (f, XINT (width) * FRAME_COLUMN_WIDTH (f)); + f->inhibit_implied_resize = true; + } + else + { + CHECK_NUMBER (width); + if (! (0 <= XINT (width) && XINT (width) <= INT_MAX)) + xsignal1 (Qargs_out_of_range, width); + + SET_FRAME_WIDTH (f, XINT (width) * FRAME_COLUMN_WIDTH (f)); + } } if (!EQ (height, Qunbound)) { - CHECK_NUMBER (height); - if (! (0 <= XINT (height) && XINT (height) <= INT_MAX)) - xsignal1 (Qargs_out_of_range, height); + if (FLOATP (height)) + { + if ((int) XFLOAT_DATA (height) < (FRAME_TOP_MARGIN_HEIGHT (f) + + FRAME_SCROLL_BAR_AREA_HEIGHT (f) + + 2 * FRAME_INTERNAL_BORDER_WIDTH (f)) + || (int) XFLOAT_DATA (height) > INT_MAX) + xsignal1 (Qargs_out_of_range, height); + else + SET_FRAME_HEIGHT (f, (int) XFLOAT_DATA (height)); - SET_FRAME_HEIGHT (f, XINT (height) * FRAME_LINE_HEIGHT (f)); + f->inhibit_implied_resize = true; + } + else + { + CHECK_NUMBER (height); + if (! (0 <= XINT (height) && XINT (height) <= INT_MAX)) + xsignal1 (Qargs_out_of_range, height); + + SET_FRAME_HEIGHT (f, XINT (height) * FRAME_LINE_HEIGHT (f)); + } } user_size = x_get_arg (dpyinfo, parms, Quser_size, 0, 0, RES_TYPE_NUMBER); diff --git a/src/frame.h b/src/frame.h index 17e356d..21918ba 100644 --- a/src/frame.h +++ b/src/frame.h @@ -335,6 +335,9 @@ struct frame /* Set to true after this frame was made by `make-frame'. */ bool_bf after_make_frame : 1; + /* Inhibit implied resize before after_make_frame is set. */ + bool_bf inhibit_implied_resize : 1; + /* True means tool bar has been redisplayed at least once in current session. */ bool_bf tool_bar_redisplayed_once : 1; diff --git a/src/nsfns.m b/src/nsfns.m index 9c805ac..e589929 100644 --- a/src/nsfns.m +++ b/src/nsfns.m @@ -679,7 +679,8 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) } } - x_set_window_size (f, 0, f->text_cols, f->text_lines, 0); + frame_size_history_add (f, Qupdate_frame_tool_bar, 0, 0, Qnil); + adjust_frame_size (f, -1, -1, 2, 0, Qtool_bar_lines); } diff --git a/src/nsterm.m b/src/nsterm.m index 2806f31..48b88e1 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -7196,8 +7196,8 @@ if (cols > 0 && rows > 0) NSTRACE (constrainFrameRect); NSTRACE_RECT ("input", frameRect); - if (ns_menu_bar_should_be_hidden ()) - return frameRect; +/// if (ns_menu_bar_should_be_hidden ()) +/// return frameRect; if (nr_screens == 1) return [super constrainFrameRect:frameRect toScreen:screen]; @@ -7738,8 +7738,9 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset) /* Now make the frame display the given font. */ if (FRAME_NS_WINDOW (f) != 0 && ! [view isFullscreen]) - x_set_window_size (f, false, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), - FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), true); + adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), + FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, + false, Qfont); return font_object; } --------------080601020900020203080806-- From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 12 14:11:05 2015 Received: (at 21415) by debbugs.gnu.org; 12 Sep 2015 18:11:05 +0000 Received: from localhost ([127.0.0.1]:58551 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZapGS-0000zz-N2 for submit@debbugs.gnu.org; Sat, 12 Sep 2015 14:11:04 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:33873) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZapGQ-0000zr-Ni for 21415@debbugs.gnu.org; Sat, 12 Sep 2015 14:11:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=taxD8fK5+HzVffHBIQCZZL0Vv7MO1c4C0GN5rLgiHs0=; b=gTafHv1bZjwN3NU3ZbEcwp9DKaI/8x1XtnRmqVFKOjx5xiHu2woc8+3FWzvI1FxjwIcNsuO0/rJsbkldXZpAwh6/P6dN8fXez6rJ9VwF8s/TQtRI/U5cMlYVJ5Y1SKhX; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:49385 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZapGO-00028i-Ue; Sat, 12 Sep 2015 14:11:01 -0400 Date: Sat, 12 Sep 2015 11:11:01 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) I have applied the latest patch and just about everything is working as expected. At some point prior to this latest patch, I lost the ability to expand a frame to fill the entire screen -- by a height of four (4) pixels on bottom. This particular computer uses 1920 x 1080 -- the maximum outer dimension with the patches is 1920 x 1076. This was not the case prior to working on bug 21415 -- i.e., prior to applying patches relating to bug 21415, I could expand (using set-frame-size) to the full size of 1920 x 1080. I'll go back to the first patch we did and work forwards to see if I can be of any further assistance in tracking down why the frame stops 4 pixels shy of full screen at the bottom. The other issues appear to have all been addressed in the latest patch. Keith From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 12 15:57:41 2015 Received: (at 21415) by debbugs.gnu.org; 12 Sep 2015 19:57:41 +0000 Received: from localhost ([127.0.0.1]:58556 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zaqvb-0003Oh-VW for submit@debbugs.gnu.org; Sat, 12 Sep 2015 15:57:40 -0400 Received: from mail-vk0-f47.google.com ([209.85.213.47]:33136) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZaqvY-0003OY-FG for 21415@debbugs.gnu.org; Sat, 12 Sep 2015 15:57:37 -0400 Received: by vkgd64 with SMTP id d64so41230073vkg.0 for <21415@debbugs.gnu.org>; Sat, 12 Sep 2015 12:57:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=nzr/mgxBLDLQuoijAvSg7ZlxfPnXMe4gGoxFdpUei+Q=; b=hGfD01+ei9+0gLBRO5bZWMttmw+PJqWENvELUNF7uU9PDzPTRKAyTNOVFC5umqrLp9 gP0a6JLNRQUDLUItQLXU0LhlVFz14bKCxJzG4Y1/8T8kNv1csfd//VjihDlBtyOBoCYx l9JQ/0vFH4LBKbXsbbP636Eujz9lk9r3+tMaku1/Tg9tDKqYtQwX1Ej+Bw+v3DMhvSdp 2lnpENUrtAPAmFrc6fuh66NzLKOn7opKKTMXAQKp6NaERFzScAcTBsqNCc+vc/N/RWp7 5UdJbYNFCeIQeK/V65VvNrEvMqlagwiVv+CRvyWvluCHh3vK5WUuVpaYbW3H0ufnWIgJ Yvtg== MIME-Version: 1.0 X-Received: by 10.31.128.78 with SMTP id b75mr5043491vkd.70.1442087855510; Sat, 12 Sep 2015 12:57:35 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Sat, 12 Sep 2015 12:57:35 -0700 (PDT) In-Reply-To: <55F40854.9070006@gmx.at> References: <55F40854.9070006@gmx.at> Date: Sat, 12 Sep 2015 21:57:35 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a1142a4045cda67051f923e58 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1142a4045cda67051f923e58 Content-Type: text/plain; charset=UTF-8 Hi Martin and Keith! Unfortunately, removing the suggested lines break another feature. The system is designed so that it should be possible to programmatically place the top of the frame above the top of the screen (when the menu bar is hidden). This is useful to hide the window title so that the full height of the screen can be utilised to edit text. When the suggested patch is applied, this no longer is possible. I would say that the problem is not related to this, but to `make-frame' itself. When a weight higher than the default is specified, it should adjust the window to start further down. As it is today, it always seem to start mid screen. Below is a small test file I have used to test the frame placement features. If you come up with another solution, you can use it to check that it doesn't break existing features. By the way, it's not intended to be loaded, instead follow the comment and evaluate the expression one by one and check that the result is as described in the file. Sincerely, Anders Lindgren ;; ns-frame-test.el --- test for NextStep (Mac OS X) frame positioning.;; Author: Anders Lindgren;; This file is *not* intended to be loaded into Emacs. Instead, it;; contains individual expressions that should be evaluated one by;; one, with accompanying manual test steps.;; Future development:;;;; * Add more test cases, like resolution change, frame stretching;; multiple screens, and dragging between different sized screens.;;;; * Automatic testing using a unit test framework, for example ert.;;(error "You should not load this file, read the file comments for details") ;; ----------------------------------------;; Basics;;;; Initially, Emacs should be placed under the menu bar.;; After each test in this section, it should be possible to drag the;; frame around, but it should not be possible to drag it in under the;; menu bar.;; The following should not place the window under the menu bar.(set-frame-position (selected-frame) 0 -10) ;; The following will create a frame taller than screen. (90 is;; suitable for a 1200 pixel display, you mileage may wary.);;;; The frame should not be resized to fit the screen.(set-frame-size (selected-frame) 80 90) ;; The following should move the frame down a bit. It should not be;; resized to fit the screen.(set-frame-position (selected-frame) 0 50) ;; ----------------------------------------;; Auto hide menu;;;; In this section, the auto-hide feature of the menu bar is;; tested. After each step it should be possible do drag the window;; around. It should not be possible to drag the window from within;; the screen to above the screen. However, if it already is above the;; screen, it should be possible to drag it around there.;; Start with a frame smaller than the screen.(set-frame-size (selected-frame) 80 50) ;; After this, the menu bar should be hidden (unless the mouse pointer;; is at the top of the screen).(setq ns-auto-hide-menu-bar t) ;; This will place the window title *above* the top of the screen (as;; intended).(set-frame-position (selected-frame) 0 -10) ;; Frame will be higher than screen.(set-frame-size (selected-frame) 80 90) ;; ----------------------------------------;; Exit auto hide menu;;;; Redisplay the menu bar. After this, the frame should be placed;; *below* the menu bar.(setq ns-auto-hide-menu-bar nil) ;; ns-frame-test.el ends here. On Sat, Sep 12, 2015 at 1:11 PM, martin rudalics wrote: > > Commenting out the following small segment in `nsterm.m` fixes the > > problem with large frames being created partially above the top of the > > display -- i.e., it is no longer necessary to correct the bug by > > following a `make-frame` with `set-frame-position` (to move it > > squarely onto the screen) when `ns-auto-hide-menu-bar` is set to `t`. > > As it stands now, the default position is `top 0` and `left 0` -- > > perfect! > > > > if (ns_menu_bar_should_be_hidden ()) > > return frameRect; > > That check probably had a purpose. Anders, what's your opinion on > removing it? > > Thanks, martin > --001a1142a4045cda67051f923e58 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Martin and Keith!

Unfortunately, rem= oving the suggested lines break another feature.

T= he system is designed so that it should be possible to programmatically pla= ce the top of the frame above the top of the screen (when the menu bar is h= idden). This is useful to hide the window title so that the full height of = the screen can be utilised to edit text. When the suggested patch is applie= d, this no longer is possible.

I would say that th= e problem is not related to this, but to `make-frame' itself. When a we= ight higher than the default is specified, it should adjust the window to s= tart further down. As it is today, it always seem to start mid screen.

Below is a small test file I have used to test the fra= me placement features. If you come up with another solution, you can use it= to check that it doesn't break existing features. By the way, it's= not intended to be loaded, instead follow the comment and evaluate the exp= ression one by one and check that the result is as described in the file.

Sincerely,
=C2=A0 =C2=A0 Anders Lindgren<= /div>

;; ns-frame-test.el --- test for NextStep (Mac OS X) frame positi=
oning.

;; Author: Anders Lindgren

;; This file is *not* intended to be loaded int=
o Emacs. Instead, it
;; contains individual expressions that =
should be evaluated one by
;; one, with accompanying manual test st=
eps.

;; Future development:
;;
;; * Add more test cases, like resolutio=
n change, frame stretching
;;   multiple screens, and dragging betw=
een different sized screens.
;;
;; * Automatic testing using a unit test=
 framework, for example ert.
;;
(error &qu=
ot;You should not load this file, read the file comments for details"<=
/span>)

;; ----------------------------------------
;; Basics
;;

;; Initially, Emacs should be placed under the =
menu bar.

;; After each test in this section, it should b=
e possible to drag the
;; frame around, but it should not be po=
ssible to drag it in under the
;; menu bar.

;; The following should not place the window un=
der the menu bar.
(set-frame-position (selected-frame) 0 -10)

;; The following will create a frame taller tha=
n screen. (90 is
;; suitable for a 1200 pixel display, yo=
u mileage may wary.)
;;
;; The frame should not be resized to fi=
t the screen.
(set-frame-size (selected-frame) 80 90)

;; The following should move the frame down a b=
it. It should not be
;; resized to fit the screen.
(set-frame-position (selected-frame) 0 50)


;; ----------------------------------------
;; Auto hide menu
;;

;; In this section, the auto-hide feature of th=
e menu bar is
;; tested. After each step it should be =
possible do drag the window
;; around. It should not be possible to =
drag the window from within
;; the screen to above the screen. Howev=
er, if it already is above the
;; screen, it should be possible to drag=
 it around there.

;; Start with a frame smaller than the screen.
(set-frame-size (selected-frame) 80 50)

;; After this, the menu bar should be hidden (u=
nless the mouse pointer
;; is at the top of the screen).
(setq ns-auto-hide-menu-bar t)

;; This will place the window title *above* the=
 top of the screen (as
;; intended).
(set-frame-position (selected-frame) 0 -10)

;; Frame will be higher than screen.
(set-frame-size (selected-frame) 80 90)


;; ----------------------------------------
;; Exit auto hide menu
;;

;; Redisplay the menu bar. After this, the fram=
e should be placed
;; *below* the menu bar.
(setq ns-auto-hide-menu-bar nil)

;; ns-frame-test.el ends here.

On Sat, Sep 12,= 2015 at 1:11 PM, martin rudalics <rudalics@gmx.at> wrote:
=
> Commenting out the following small segment in `nsterm= .m` fixes the
> problem with large frames being created partially above the top of the=
> display -- i.e., it is no longer necessary to correct the bug by
> following a `make-frame` with `set-frame-position` (to move it
> squarely onto the screen) when `ns-auto-hide-menu-bar` is set to `t`.<= br> > As it stands now, the default position is `top 0` and `left 0` --
> perfect!
>
>=C2=A0 =C2=A0 =C2=A0if (ns_menu_bar_should_be_hidden ())
>=C2=A0 =C2=A0 =C2=A0 =C2=A0return frameRect;

That check probably had a purpose.=C2=A0 Anders, what's your opinion on=
removing it?

Thanks, martin

--001a1142a4045cda67051f923e58-- From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 12 19:09:13 2015 Received: (at 21415) by debbugs.gnu.org; 12 Sep 2015 23:09:13 +0000 Received: from localhost ([127.0.0.1]:58569 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zatuy-0007cC-Kk for submit@debbugs.gnu.org; Sat, 12 Sep 2015 19:09:12 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:42914) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zatuv-0007c4-NM for 21415@debbugs.gnu.org; Sat, 12 Sep 2015 19:09:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=ZwQrNFYosxcHWrc0QzPeZSDHMzCW83Ay53A/v0zWQto=; b=rj9ylZltDUP58+5mWQ+jcTqqKqVjI/SP4pWVGQEOZDRgNo7rQ2nCOTJWSukX4kpUgNvuKmRptgZFhsmRcDmRc6aH7IgExc8sR1z+k2p2ACWB1zgQwbK+x16nkFy0mO7/; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:52473 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1Zatut-000342-Vp; Sat, 12 Sep 2015 19:09:08 -0400 Date: Sat, 12 Sep 2015 16:09:08 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Anders: Thank you for weighing in and vetoing the proposed revision -- your insight is greatly appreciated. Martin: In addition to the feature mentioned by Anders, it turned out that the proposed revision (that have since been vetoed for good reason) was responsible for my missing four (4) pixels at the bottom of the screen -- i.e., the best I could achieve with that vetoed revision was 1920 x 1076 on a 1920 x 1080 screen. There were other problems I later discovered that were also linked to the proposed revision -- i.e., touching the mouse to the menubar to make it temporary visible, moved the frame downward; and, there was a side effect with the frame name whenever the frame was not squarely within the visible screen. I removed all of the following lines from the most recent patch and built a new Emacs: @@ -7196,8 +7196,8 @@ if (cols > 0 && rows > 0) NSTRACE (constrainFrameRect); NSTRACE_RECT ("input", frameRect); - if (ns_menu_bar_should_be_hidden ()) - return frameRect; +/// if (ns_menu_bar_should_be_hidden ()) +/// return frameRect; if (nr_screens == 1) return [super constrainFrameRect:frameRect toScreen:screen]; I am now able to achieve a frame size of 1920 x 1080 on a screen that is 1920 x 1080; there is no longer any problem with the frame moving when touching the menubar; and the frame title is working as it should be. So, the issue now remaining is how to let `make-frame` respect a frame parameter of `(top . 0)` upon frame creation when a user has `(setq ns-auto-hide-menu-bar t)`. As it stands now, it is necessary to programmatically call `(set-frame-size FRAME 0 0)` subsequent to each frame being created, and am doing the same each time Emacs starts for the initial frame. Keith From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 12 19:13:29 2015 Received: (at 21415) by debbugs.gnu.org; 12 Sep 2015 23:13:29 +0000 Received: from localhost ([127.0.0.1]:58575 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zatz7-0007hy-FO for submit@debbugs.gnu.org; Sat, 12 Sep 2015 19:13:29 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:43326) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zatz5-0007hp-Bg for 21415@debbugs.gnu.org; Sat, 12 Sep 2015 19:13:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=qw0V/ps/CQml2yJEC1PQahrBeoe2/OBap+9NnBblOhA=; b=+DHNrTnlceVICrpYx4WvekxJ+WrCgVrIQPRb8cVKWUJqWTT3gH5qMfTTva0LbboTnmBeY70dI7BH5uaexJk17Z4GRjO/wuSzYLLLz+ReZHDDZIvltgtO17H98ZC+KReP; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:52505 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1Zatz3-0003LK-Uz; Sat, 12 Sep 2015 19:13:26 -0400 Date: Sat, 12 Sep 2015 16:13:26 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) I meant to say that I call `(set-frame-position FRAME 0 0)` to fix the inability to use `(top . 0)` as a frame parameter argument on frame creation when `ns-auto-hide-menu-bar` is set to `t`. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 13 03:10:23 2015 Received: (at 21415) by debbugs.gnu.org; 13 Sep 2015 07:10:23 +0000 Received: from localhost ([127.0.0.1]:58640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zb1Qc-0001qI-ME for submit@debbugs.gnu.org; Sun, 13 Sep 2015 03:10:23 -0400 Received: from mail-vk0-f42.google.com ([209.85.213.42]:36320) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zb1Qa-0001q9-G8 for 21415@debbugs.gnu.org; Sun, 13 Sep 2015 03:10:21 -0400 Received: by vkfp126 with SMTP id p126so43929198vkf.3 for <21415@debbugs.gnu.org>; Sun, 13 Sep 2015 00:10:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=S0Loctux/uVGZxWyS6tiB26z+6F+zLAx3DoBfRqQFmw=; b=uz5TAATPCKyQF8aJ7s+Uiqg02Ens98MNJhRgBegH22uCwlMrUcGqqQ1yxghUmlmldn UeiFr1d1uUiJIEyGcTJ1E7WroZo8DQhyXyv3ZvAj7QycaxBULW7ir3rqHsUtm+oE435M 4+zmNsGu+lvM5y9wi+S+8VApQ3Q92JVLgDEP7mYa+MUEZRzHGQ3E9pgb93RmOMkFn04t TpyebsZieLu3oCKG/zGyWGyDowceF4eE+zMsZXii5G4TzAfFm2fCwGRSEIm1e65LUeYh qMJOSzM8cpIZf392yYEu2ZJxqzFyVhKpn/e1RtaTPf9tRYVnrWLSyJft3ocLWOKAB4Qw mOdg== MIME-Version: 1.0 X-Received: by 10.31.161.203 with SMTP id k194mr1321257vke.51.1442128219668; Sun, 13 Sep 2015 00:10:19 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Sun, 13 Sep 2015 00:10:19 -0700 (PDT) In-Reply-To: References: Date: Sun, 13 Sep 2015 09:10:19 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky Content-Type: multipart/alternative; boundary=001a1143f3ac410c0e051f9ba4a8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: martin rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1143f3ac410c0e051f9ba4a8 Content-Type: text/plain; charset=UTF-8 Hi, I just checked this against Emacs 24.5. In that version, new frames always start at 0 x 0, no matter how high they are. In addition, both versions seem to react to the `top' property -- in Emacs 24 the window is placed relative to the top (as expected). In Emacs 25 the start position when the parameter is missing or is zero places the bottom of the frame in the middle-ish of the screen, and a positive value for `top' places it further down on the screen. I would suggest that we try to find why Emacs 24 and 25 differs, so we can revert back to the old behaviour. A side topic: The documentation to `make-frame' seems a little bit vague. It doesn't include `top' as an attribute, on the other hand doesn't say that it accepts more properties than the ones listed. In addition, is the limitation when it comes to `width' and `height' correct ("You cannot specify either `width' or `height', you must specify neither or both.")? If seems to work just fine when I supply only a `height' property. Sincerely, Anders Lindgren On Sun, Sep 13, 2015 at 1:13 AM, Keith David Bershatsky wrote: > I meant to say that I call `(set-frame-position FRAME 0 0)` to fix the > inability to use `(top . 0)` as a frame parameter argument on frame > creation when `ns-auto-hide-menu-bar` is set to `t`. > --001a1143f3ac410c0e051f9ba4a8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

I just checked this against Emacs 2= 4.5. In that version, new frames always start at 0 x 0, no matter how high = they are. In addition, both versions seem to react to the `top' propert= y -- in Emacs 24 the window is placed relative to the top (as expected). In= Emacs 25 the start position when the parameter is missing or is zero place= s the bottom of the frame in the middle-ish of the screen, and a positive v= alue for `top' places it further down on the screen.

I would suggest that we try to find why Emacs 24 and 25 differs, so = we can revert back to the old behaviour.

A side to= pic: The documentation to `make-frame' seems a little bit vague. It doe= sn't include `top' as an attribute, on the other hand doesn't s= ay that it accepts more properties than the ones listed. In addition, is th= e limitation when it comes to `width' and `height' correct ("Y= ou cannot specify either `width' or `height', you must specify neit= her or both.")? If seems to work just fine when I supply only a `heigh= t' property.

Sincerely,
=C2=A0 =C2= =A0 Anders Lindgren

On Sun, Sep 13, 2015 at 1:13 AM, Keith David Bershatsky <esq@l= awlist.com> wrote:
I meant = to say that I call `(set-frame-position FRAME 0 0)` to fix the inability to= use `(top . 0)` as a frame parameter argument on frame creation when `ns-a= uto-hide-menu-bar` is set to `t`.

--001a1143f3ac410c0e051f9ba4a8-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 13 05:02:30 2015 Received: (at 21415) by debbugs.gnu.org; 13 Sep 2015 09:02:30 +0000 Received: from localhost ([127.0.0.1]:58663 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zb3B7-0004Pg-CT for submit@debbugs.gnu.org; Sun, 13 Sep 2015 05:02:29 -0400 Received: from mout.gmx.net ([212.227.17.22]:54484) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zb3B3-0004PV-Oq for 21415@debbugs.gnu.org; Sun, 13 Sep 2015 05:02:26 -0400 Received: from [194.166.83.223] ([194.166.83.223]) by mail.gmx.com (mrgmx101) with ESMTPSA (Nemesis) id 0LeiJ8-1YqNl63dsc-00qOUN; Sun, 13 Sep 2015 11:02:19 +0200 Message-ID: <55F53B90.3090108@gmx.at> Date: Sun, 13 Sep 2015 11:02:08 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55F40854.9070006@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:pyhBA1ez21RWPqeE5wwsuiG24wkwfNMY1gZekgu5UhVAo0Ug4G/ p3C7oFLr0P/Ar0o5O3/P8yjxgcv1bzqJUjbhbIOv7qyYv5TW/Tzu581H6W2Q1HlLYhGL81i p8xE39qyLu84ts+z3KCqFvFh/skMK8ofT9hbkd9/CJkRNDqdjAVJPnSjVxEDxu71EjZHLPK hZiyOdI9EU8VI6CRzF+Bw== X-UI-Out-Filterresults: notjunk:1;V01:K0:q73gyvb7ne4=:yVYDNxOzlZg75gTvC42K+2 5tS1H+/dAjF9/vWAvK4PLVQURm9UDa+0o9QQ9psUPLebKY+/ICCQHZXbDcKSvt0qnDNgpy60M N0uAaxUvAzTFbJ75gbrmBvWGJy1CEijnvF58cekr86nONZnNukWH+WFg6yxTovZGeowLblXMk pHd/xEzuVfBbZakKQh8On9gsxGagTcud8oJyzJxhIMrURicManEUMz6k0yU4KvoyLqNCVvfEa kgldymA0gEzXnI5mGh1t+R/FYiQkRdFltFetJhJt0QWCZf82lV1GwMKQzvTxdJXNFfTLnNEjx XbLol7l15MAEL6rjtM2jx1N6C5dMDN10Nq3wOzj+t3ESG1KWe8svZyKGe7nahhhYVTV1fIHNd Mn8pZzw7YKDsgZIE7STfw5v33NizsCGa+DME7DEgCSYqctvfIUsQ/za88pwWWQUVN+H3zl9U+ sCCHChlfKhuUw7tCfoH+t3cUGUrAsFyf51a95rV2oznGyC3Tn+dcXNDGLOwcohuqpDEEXFUTG 6QMTBOzZrVTft3N7ayke859a+AKwKzI7+Jso5bg8JEqp0C9HtB+pvBSyW0PpBQ62AjgyEkaG6 M1BmiP1xacOQoB8b+iXO/mWuNIt8SJb3/xcLCvVs+NoQOSx3UVP8iP8mPcJGG9fxkFRTd6Z7B AUhQJcYXZxsM9Jfc7eMlYYt3noVKCE/0ahO+dZXepYQF2Kr3HQ3rouBvZ5ObhtedBEwlUXZNQ zlc1ejuHuopKSH+7vKvd+8hiVm2GYUf9yhoDPw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Unfortunately, removing the suggested lines break another feature. > > The system is designed so that it should be possible to programmatical= ly > place the top of the frame above the top of the screen (when the menu = bar > is hidden). This is useful to hide the window title so that the full h= eight > of the screen can be utilised to edit text. When the suggested patch i= s > applied, this no longer is possible. OK. But this _is_ a different issue we could customize appropriately. Auto hiding the menu bar should not unconditionally require to hide the title bar as well. So we could easily add an additional value to =E2=80=98ns-auto-hide-menu-bar=E2=80=99, say 'hide-menu-bar-only, where w= e only hide the menu bar and still constrain the frame to the screen. Both nil and t would mean to leave the current behavior unchanged. WDYT? > I would say that the problem is not related to this, but to `make-fram= e' > itself. When a weight higher than the default is specified, What is a "weight higher than the default"? I suppose you mean "height" but I still don't understand. What is the "default"? > it should > adjust the window to start further down. Further "up" maybe? > As it is today, it always seem to > start mid screen. IIUC Emacs does _not_ ask for a specific start position. If it does we could remove that. Eventually it's always up to the WM to put the window where it wants to. > Below is a small test file I have used to test the frame placement > features. If you come up with another solution, you can use it to chec= k > that it doesn't break existing features. By the way, it's not intended= to > be loaded, instead follow the comment and evaluate the expression one = by > one and check that the result is as described in the file. This one appears severely mangled by one of our MUAs. But I have no OS X here to check this anyway. Maybe Keith can comment. > ;; ns-frame-test.el --- test for NextStep (Mac OS X) frame > positioning.;; Author: Anders Lindgren;; This file is *not* intended =2E.. Thanks for the quick response, martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 13 05:02:39 2015 Received: (at 21415) by debbugs.gnu.org; 13 Sep 2015 09:02:39 +0000 Received: from localhost ([127.0.0.1]:58666 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zb3BH-0004Q4-0E for submit@debbugs.gnu.org; Sun, 13 Sep 2015 05:02:39 -0400 Received: from mout.gmx.net ([212.227.17.22]:51670) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zb3BF-0004Pw-CD for 21415@debbugs.gnu.org; Sun, 13 Sep 2015 05:02:37 -0400 Received: from [194.166.83.223] ([194.166.83.223]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MRSeC-1ZCsTs0Vj6-00Sdct; Sun, 13 Sep 2015 11:02:36 +0200 Message-ID: <55F53BA0.3070406@gmx.at> Date: Sun, 13 Sep 2015 11:02:24 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:PABfp5wTWhcUdkXlc/DuRkDmJ2Lr+oyhRaZRpTkqD9dQemb5hSa yeuM9RaGzctCL+cU2iLAcEjHZf3dkjZwcI/agdKFusMyNl2mcNDIy9Cw+OIcNDPLfkNHT+k q2Zu0GghzfPa4qKf6RdM4rwWjjppM/6wIILGF4rl4pXJt771oVCDhNr0FOT5mqyM51tcuB1 0+O/xzxFC7LHcqQpjwViQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:7RpMew8sNGc=:QZKYDid5QDrHXaElQ8xezi mZiycV7h/8+IyWmYLTBIijjFTODpHPHQW1JlC3RwVJwEV3wntl8azOvET1XkDbdhL+V6cX+/Y qLoTdUYUgbqShpQ61o3Hfm58w13Ncy4tZk/btO4DWClf8sWdLbwBEYQ57s6BHQKgJYnqj1Dwp hHBznMLHqLn+O52bR4IUY4ClW811ATPYEVy3A/81dYDQ2eoz1a55CPhdHTAvGmq2G8esNaoHA Gz/GkdHOl3XLDULhtnwwmWJ7lqu9HnRRuVhRqXteEfBudoIkj79vdQ5+IdKPAcCP0iyb9Msqd bs8xf6jmS/XIPVfldC11soEWQJtUCX20rkAxEyydp+C/CdSpVkNqWHa3XU2jIL17IMrT0llQ3 /xkyHn6t9rfuUU0X+I3TGesEZgW1aLHBwnuarGuCNf0fof21TUoohq4OmIaoGdDncOtzd8u0o ZdDttG0htoRWqFxgHyHa8UB/m2DkH5zqxyC6oo/CMrhbIGl4c94L7OLt1uCeoId+NIR/aQjdu tXAu0HNChVi1wC97aGUJgKXbr4po7+KPAgI9RFRIKOmD8aJeWK+bm1jOoCVrgjpDdA02FvzYE SV0Y9Eu+0IsBOxyVKkF/CK1JxSE7QRhm8ae2pXOivSTbbcr9uqsD8ZtJb6+mfNXlQNq+chRQ0 tWBgwj4toZAZfA376gtJvMXFFZIEqhBoa10DV07qvB73H4wdtrhqTL/GrNDcz2DelP0/lwgQ6 aeDRn6clu4o+aMwaFZ8VXrMWi8jYnWEgzIytQw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I am now able to achieve a frame size of 1920 x 1080 on a screen that > is 1920 x 1080; there is no longer any problem with the frame moving > when touching the menubar; and the frame title is working as it should= > be. This, however, seems to hint at some unplesant locking of the auto hide menu bar feature with the auto hide frame title feature. Conceptually, these should work independently from each other. > So, the issue now remaining is how to let `make-frame` respect a frame= > parameter of `(top . 0)` upon frame creation when a user has `(setq > ns-auto-hide-menu-bar t)`. As it stands now, it is necessary to > programmatically call `(set-frame-size FRAME 0 0)` subsequent to each > frame being created, and am doing the same each time Emacs starts for > the initial frame. Maybe Anders has an idea why on OS X we apparently ignore the =91top=92 a= nd =91left=92 parameters. martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 13 05:03:01 2015 Received: (at 21415) by debbugs.gnu.org; 13 Sep 2015 09:03:01 +0000 Received: from localhost ([127.0.0.1]:58669 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zb3Bd-0004Qi-CI for submit@debbugs.gnu.org; Sun, 13 Sep 2015 05:03:01 -0400 Received: from mout.gmx.net ([212.227.17.22]:63829) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zb3Bb-0004QX-Is for 21415@debbugs.gnu.org; Sun, 13 Sep 2015 05:02:59 -0400 Received: from [194.166.83.223] ([194.166.83.223]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MV30j-1Z75aP0oyj-00YQYG; Sun, 13 Sep 2015 11:02:56 +0200 Message-ID: <55F53BB5.9040300@gmx.at> Date: Sun, 13 Sep 2015 11:02:45 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren , Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:LtA47luYW69ZGb8Dq0xOqi4K3bseJ2mDh7zGNjjG9QhB65+LlMG 5Z1fMNaHITKK404vbzMGXo5cbBeUn3Q0Ej0WuwzCwVzQIIXYoXkR1m3CjKRmKCj49JGume0 e2YgZCXMSMgurLjp0KPX5iykydz0uavQK/AwAfxZdd9nBAUTCCi8Wr73HqucSOr6ocAWvMO x3HeIAHeU6woy+QZobEqQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:KmmYDMVSCQU=:cQ7B/OnfCy2+R+Gv0iv9IK e6ditvrQ3AQN/hI1ewd/lPhvZQlSZx9u48b39iiq+wOc+eRXuVn1/+DLCDekSncck/+Gb4QkC rb/sm8Rk1jhueTZNcHQYc/bnH6VQqZ/96snqOYlVahiFr+CGnCbsQQR0Y/fwa3njAWHYnYh+l x4kP3emai2pFtDLFWQLa+425T38jis4WhvWfMeN4yAg/7r9DPFJj6KLrrfRTM/70KfNJODqMs TWAhzk2A9cxVGdmsVQWi4Dnvp9J2fDcwwDX0sgo2QdsjZmPOA0MbxGl3DP6NyisG/GD0nwFug OXvwJw8EDK7Uq2CfLE+HNGKRAAXJKTBL/P54X3uo9X35m9jDD6Kt9/8qycmP5g8lihX0D5J+N BfInu9g4W6YxFxP1qKiv0Lg+vcEFXElR8wQf0tZhc/BAXRaYqNVyPuZfk0AC4MM1y4TfhPb+j PfNFb3xkV2R6git/Zw5wDV1uSa8rqcV2MI0MyrBvODdooqpu5wjzi+txA8yhBWKNden/PKeKr vDW6Yx1Q9x8hpjPvg3C32fWFt52tg0GRm0awSXfP3gBCkCMwa4zRCmNdPRBt4lgWkcpbv6bCZ W3qK+tg+w+NB/hfpo1BeyHnnQkG8jYcx0oCkWnkzn1Ad6LNR9S+t/EiVUoc2npKkzpu3B7WxZ MeCYTe9NPLeimARjPoARnfyfWMo9AW65d9Ws6cjYfZgdlCSuA+KT5RFaFYt+F4APNdWDZt0A9 xR4LBrqoQenJXJjTGISCJn1Rz0VD4S16VFmTdw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I just checked this against Emacs 24.5. In that version, new frames al= ways > start at 0 x 0, no matter how high they are. In addition, both version= s > seem to react to the `top' property -- in Emacs 24 the window is place= d > relative to the top (as expected). In Emacs 25 the start position when= the > parameter is missing or is zero places the bottom of the frame in the > middle-ish of the screen, and a positive value for `top' places it fur= ther > down on the screen. > > I would suggest that we try to find why Emacs 24 and 25 differs, so we= can > revert back to the old behaviour. Agreed. Could you or Keith please do that? No OS X around here. > A side topic: The documentation to `make-frame' seems a little bit vag= ue. > It doesn't include `top' as an attribute, on the other hand doesn't sa= y > that it accepts more properties than the ones listed. We don't mention most of the parameters. Funnily, =E2=80=98top=E2=80=99 = is indirectly referred to here: Note that on multi-monitor displays (*note Multiple Terminals::), the window manager might position the frame differently than specified by the positional parameters in ALIST (*note Position Parameters::). For example, some window managers have a policy of displaying the frame on the monitor that contains the largest part of the window (a.k.a. the "dominating" monitor). > In addition, is the > limitation when it comes to `width' and `height' correct ("You cannot > specify either `width' or `height', you must specify neither or both."= )? If > seems to work just fine when I supply only a `height' property. I don't even understand where and how we were able to apply such a restriction in the first place. Anyway, we should rewrite both doc-string and documentation. As someone who always works with a single main frame I have no practice with this function though. So I'm probably not the ideal choice for that task. martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 13 12:17:07 2015 Received: (at 21415) by debbugs.gnu.org; 13 Sep 2015 16:17:07 +0000 Received: from localhost ([127.0.0.1]:59194 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zb9xj-0007WO-26 for submit@debbugs.gnu.org; Sun, 13 Sep 2015 12:17:07 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:58318) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zb9xg-0007WF-SM for 21415@debbugs.gnu.org; Sun, 13 Sep 2015 12:17:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=c+uYHeNAMBoAHJrec2XbZLrKtJZ71cDV27BhIWasAPw=; b=VkrVUKGXkbL67+w+VcMJSyMDJQi2gN68thhF62rzpAFZkpLFpc1jVP/B8fmbBdFJQzS+8D0S/j4qdl9b2xSmwHo99mdpbugV5mishwjmxuo+tikMU150Tnf0vYRLJDXR; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:49828 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1Zb9xe-0001Hi-Rk; Sun, 13 Sep 2015 12:17:03 -0400 Date: Sun, 13 Sep 2015 09:17:02 -0700 Message-ID: From: Keith David Bershatsky To: Martin Rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Martin: I wanted to clarify the concept/feature referred to by Anders for hiding the window title bar on OSX. OSX does not offer this feature. What some users are doing is positioning the frame partially above the display so they cannot see the window frame title. For example, instead of (0 0 1920 1080) it would be (0 -22 1920 1102). The gain is about one extra line of text and less visual distraction. Keith From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 13 14:01:20 2015 Received: (at 21415) by debbugs.gnu.org; 13 Sep 2015 18:01:20 +0000 Received: from localhost ([127.0.0.1]:59232 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbBaZ-0001ft-Sx for submit@debbugs.gnu.org; Sun, 13 Sep 2015 14:01:20 -0400 Received: from mout.gmx.net ([212.227.15.18]:61913) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbBaX-0001fl-Vx for 21415@debbugs.gnu.org; Sun, 13 Sep 2015 14:01:18 -0400 Received: from [188.22.39.37] ([188.22.39.37]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0MbxJ8-1ZJ70P2aus-00JHfL; Sun, 13 Sep 2015 20:01:15 +0200 Message-ID: <55F5B9DF.5020001@gmx.at> Date: Sun, 13 Sep 2015 20:01:03 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:4lALCDzCcW3e563x+WPh3aMeaO1ylLz6sFrOdI0nxCF3wzobN4p XwwsJC+NkiUh8eeejOWKpgr7BmaXj5l62YyCPGhQBomdGSylUakQKWW/Q0NrRnSSBYN8QzI hhYqIqvHD+MMmFN+m4AInlBwvQ+CYGazSCF1AaXJ0wmmlyrfnkorD/uNbH/sxI4O1Oa/Mbj myZRZb/gOhxTrnLHVsU5Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:wxeVS+whjYQ=:qOJKHb4Zxe9wLXJonp+5DQ c6P1Z0a2u9tMmDAt0DD8+AzV634eEczOuZAVq4g3l8LisY4vJsIVZnIubK7Y3tuiTCsnIpwca YDAq39kjxnMHcgSdikrKARlC59kF+GbgwlIpAJAb5/sM0QUMLSClkmIqXin9FNnJpfgvp5ngh 37+S/1x3Fj6v2quQRbfJUdwBFwbcGjoTxMt2HKVOYVziifjFafsuKFD0bwtUGKdAT9BI2gQCg rUK/KTzftr6HCiR7d8HaBYIakXkkLbHmHGbfJRTH5gceLIGXC0rPQeOvs9Q3bj1CdkAsIKog6 zQ3U/f5HEa5qvsQEMJMen5YleaFhyymvQ+Cp9s2irQjuzkWLO9Kf+PvNlGvDEsyAjcfgrM6/Z K+K7FQ9jPAf8r4tuLo81vilgylzKfmuEuoYs2m7hSSVmu0uB2eLQJ5bZkspT9VjbUp3UZgyBB f1GxM2dGCTcSea3zLh/zddKa7wJKKSrTPRacNOqn15v7qRtBZzaJ/l1pt8SanA0wA6msdLKAU QtBuEjCJG/QuKxBHJer7mzp+cAGWiTPzFRk1xYnArPYHpCLaKvq98ZUilaglrCXl09RoTkJm1 ArxJuWPTqKl3DYmTBV+yXChnwwxPhOn9BWoTnRmRieQ1zyGPrxwKpUGT4JFLO/fJLZs6qGK9+ Ghj3iJG+pdG+ct6Y2kDkZYhH1RN3yk5Do9gQMvqbUQoPwrPQTtZDlRHJw92JOSrPHSbz9Xz4c uYr4gsEwGiTJ8or79NHh/XvqiWk5cz/1Fj8p+w== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Martin: I wanted to clarify the concept/feature referred to by Anders > for hiding the window title bar on OSX. OSX does not offer this > feature. What some users are doing is positioning the frame partially= > above the display so they cannot see the window frame title. For > example, instead of (0 0 1920 1080) it would be (0 -22 1920 1102). > The gain is about one extra line of text and less visual distraction. If =91ns-auto-hide-menu-bar=92 non-nil also moves the title bar off scree= n, you can't position the frame at (0, 0). Or am I missing something? martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 13 14:36:49 2015 Received: (at 21415) by debbugs.gnu.org; 13 Sep 2015 18:36:49 +0000 Received: from localhost ([127.0.0.1]:59242 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbC8u-0002RT-Sq for submit@debbugs.gnu.org; Sun, 13 Sep 2015 14:36:49 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:39693) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbC8t-0002RL-4f for 21415@debbugs.gnu.org; Sun, 13 Sep 2015 14:36:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=yKFgKpxy03geIIa3SRoPBvLeL5MuzCjqb0Gs28mr5d4=; b=oLEUQD23yNMAnmCiIuNXOk9IMK8YMxS0gY9BYRsMixD+Pqca++MqjW9+q2/sNep15Y5b3ZyjBUj+7BjlZSv5j4yFo+kLSGv2QxxRIrD4e6wt8M0Vvv5a9lHMaWbNuQ+8; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50869 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZbC8p-00014R-FR; Sun, 13 Sep 2015 14:36:43 -0400 Date: Sun, 13 Sep 2015 11:36:43 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) I have been able to reproduce the disregarding `top` frame parameter error with a much simpler example that does not involve `ns-auto-hide-menu-bar`. I'm not sure why these simple tests are intermittently crashing the Emacs application with no user settings. ;; WORKING -- respects `top` parameter. (make-frame '( (top . 50) (left . 50) ;; (height . 250.0) (width . 250.0))) ;; BROKEN -- disregards `top` parameter. (make-frame '( (top . 50) (left . 50) (height . 250.0) (width . 250.0))) And here is an unsophisticated hack: (defadvice face-set-after-frame-default (before face-set-after-frame-default-before activate) (let* ( (top (or (cdr (assq 'top parameters)) 0)) (left (or (cdr (assq 'left parameters)) 0)) ) (set-frame-position frame left top))) At Sun, 13 Sep 2015 20:01:03 +0200, martin rudalics wrote: > > > If ‘ns-auto-hide-menu-bar' non-nil also moves the title bar off screen, > you can't position the frame at (0, 0). Or am I missing something? > > martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 13 14:53:16 2015 Received: (at 21415) by debbugs.gnu.org; 13 Sep 2015 18:53:16 +0000 Received: from localhost ([127.0.0.1]:59255 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbCOq-0002o3-GC for submit@debbugs.gnu.org; Sun, 13 Sep 2015 14:53:16 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:40949) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbCOn-0002nv-MM for 21415@debbugs.gnu.org; Sun, 13 Sep 2015 14:53:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=iP9CYrRLY6vIe747/PYhuq+X81FGByj4owExWp5E1kE=; b=NjMDBBNCPzJHFvK4ngBxhVLR6DKjMb9lKOdvChhO9R2hkHMPotTU6SE9iOAJrXQGQ8nHyia2TC7X/w153BPcVftbJVSDEJuQ9tWlNeiYRyeEn1Yee72I/p2nozf2JIxr; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50984 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZbCOl-00020B-KQ; Sun, 13 Sep 2015 14:53:11 -0400 Date: Sun, 13 Sep 2015 11:53:12 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) I closed out all the open Emacs instances and the crashing issue is gone, so that potential issue is moot. To sum up the last email, essentially it appears that setting the `height` parameter causes `make-frame` to disregard a `top` parameter. Thanks, Keith From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 13 16:21:41 2015 Received: (at 21415) by debbugs.gnu.org; 13 Sep 2015 20:21:41 +0000 Received: from localhost ([127.0.0.1]:59304 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbDmO-0006nl-JO for submit@debbugs.gnu.org; Sun, 13 Sep 2015 16:21:40 -0400 Received: from mail-vk0-f53.google.com ([209.85.213.53]:33910) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbDmM-0006nb-17 for 21415@debbugs.gnu.org; Sun, 13 Sep 2015 16:21:38 -0400 Received: by vkhf67 with SMTP id f67so48765352vkh.1 for <21415@debbugs.gnu.org>; Sun, 13 Sep 2015 13:21:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=4hfQwf6EN+54BCmomzjS7opt5hy3Bcso3VP0fT0WiEc=; b=trIuEAczwWTs59QQ5CoEa16nDMo3Fp3cCfDMt9OafNZ3B1lRl0sW13icTwdmU2/0il oZQoSuoU2LFw30fzA44ownuCdNJDuH3fS+W2MMyTOkYERfLoyUMW2sCGwNWsR3G48yR9 7fhud4RbZTmIwbkCGgfmbiQO3y8s+0hleOvoQ+CqTNP8mspmJ394SLEkecQbE7RrpPMM tV8JCpSbdiQT/VcfAfUoinIa/aSQ8UEPxGtFQmSJR2zQWke0Q+dounV9urwGMG+2x0gA 9hBbbD9T4PpSE1ZbuJsFP5JKJS9yf5zCI/1/0fsrEQH91llKFDwsIOV/UMK+EfvhsBoE HrCA== MIME-Version: 1.0 X-Received: by 10.31.170.68 with SMTP id t65mr5480673vke.31.1442175697457; Sun, 13 Sep 2015 13:21:37 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Sun, 13 Sep 2015 13:21:37 -0700 (PDT) In-Reply-To: References: <55F5B9DF.5020001@gmx.at> Date: Sun, 13 Sep 2015 22:21:37 +0200 Message-ID: Subject: Fwd: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky , 21415@debbugs.gnu.org, martin rudalics Content-Type: multipart/alternative; boundary=001a11431b66269f74051fa6b284 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a11431b66269f74051fa6b284 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable > If =E2=80=98ns-auto-hide-menu-bar=E2=80=99 non-nil also moves the title b= ar off screen, > you can't position the frame at (0, 0). Or am I missing something? No, ns-auto-hide-menu-bar does not move the frame at all. The user is allowed to place the frame above the top of the screen, but this does not occur automatically. In other words, a frame can be placed at (0, 0). To answer your earlier questions. You were speculating about adding another variable for "the auto hide frame title feature". However, I don't think this is a good idea since there is no such feature. Hiding the frame title requires the user to explicitly move the frame (or use a package that does this, like my "multicolumn" package). --Anders Ps. Martin, sorry for the double post, but I realised that I had dropped the other recipients, so I decided to resend it with a full "To:" list. On Sun, Sep 13, 2015 at 8:01 PM, martin rudalics wrote: > > Martin: I wanted to clarify the concept/feature referred to by Anders > > for hiding the window title bar on OSX. OSX does not offer this > > feature. What some users are doing is positioning the frame partially > > above the display so they cannot see the window frame title. For > > example, instead of (0 0 1920 1080) it would be (0 -22 1920 1102). > > The gain is about one extra line of text and less visual distraction. > > If =E2=80=98ns-auto-hide-menu-bar=E2=80=99 non-nil also moves the title b= ar off screen, > you can't position the frame at (0, 0). Or am I missing something? > > martin > > --001a11431b66269f74051fa6b284 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
> If =E2=80=98ns-auto-hide-menu-bar=E2=80= =99 non-nil also moves the title bar off screen,
>= you can't position the frame at (0, 0).=C2=A0 Or am I missing somethin= g?

No, ns-auto-hide-menu-bar does not move the frame at all. The user= is allowed to place the frame above the top of the screen, but this does n= ot occur automatically. In other words, a frame can be placed at (0, 0).

To answe= r your earlier questions. You were speculating about adding another variabl= e for "the=C2=A0auto hide= frame title feature". However, I don't think this is a good idea = since there is no such feature. Hiding the frame title requires the user to= explicitly move the frame (or use a package that does this, like my "= multicolumn" package).

=C2=A0 =C2=A0 --Anders

Ps. Martin, sor= ry for the double post, but I realised that I had dropped the other recipie= nts, so I decided to resend it with a full "To:" list.

On Sun, Sep 13, = 2015 at 8:01 PM, martin rudalics <rudalics@gmx.at> wrote:
<= /div>
> Martin: I wanted to clarify the concept/feature referred to by = Anders
> for hiding the window title bar on OSX.=C2=A0 OSX does not offer this<= br> > feature.=C2=A0 What some users are doing is positioning the frame part= ially
> above the display so they cannot see the window frame title.=C2=A0 For=
> example, instead of (0 0 1920 1080) it would be (0 -22 1920 1102).
> The gain is about one extra line of text and less visual distraction.<= br>
If =E2=80=98ns-auto-hide-menu-bar=E2=80=99 non-nil also moves the title bar= off screen,
you can't position the frame at (0, 0).=C2=A0 Or am I missing something= ?

martin



--001a11431b66269f74051fa6b284-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 14 04:31:36 2015 Received: (at 21415) by debbugs.gnu.org; 14 Sep 2015 08:31:36 +0000 Received: from localhost ([127.0.0.1]:59540 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbPAl-0006Td-U3 for submit@debbugs.gnu.org; Mon, 14 Sep 2015 04:31:36 -0400 Received: from mout.gmx.net ([212.227.15.15]:54957) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbPAj-0006TV-K0 for 21415@debbugs.gnu.org; Mon, 14 Sep 2015 04:31:34 -0400 Received: from [194.166.81.67] ([194.166.81.67]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0LhfZR-1YpCBJ2Sor-00mslj; Mon, 14 Sep 2015 10:31:32 +0200 Message-ID: <55F685E2.7070804@gmx.at> Date: Mon, 14 Sep 2015 10:31:30 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:W3FqnMd57J7Fn54t47HTkGXJW/jQxfMUIQ6q+qnUxy7vXv5sQza 5PRS0lyLvutrJIxzbexJ53hdNyTHPsFnVsSzNLhy2H+fBXuWkoK6D5zJmwA75mLfL4Uwq25 BAowq4/kV5EQwdLS/XDd2GrFV0ePElzaeCKoXUWa7GHlxrlxi+W5Eos+uHXQSvr7iLxihzb VVD6xCdLvy5YJltVx9dDg== X-UI-Out-Filterresults: notjunk:1;V01:K0:J2sjAvOH5t0=:3X0UfWDd6m+Y3q3ZveMdmE dl5ZBSYqHSaJOrAXAWZGJiVG1G/N8o5G/E3S7RvNm1oEyB+Lk8O9h1rfmCByL3O4zSY2M66H8 6c9AkGvwrDF7v1QgwxUQ1j31o7uYnqv2AYH3vBMj0xlUlF3Q9YJeMBCVsL5YxARgm0wCl06Lg ah5QX27Q8gALhDFywuG33p3YVjSEU+IGoz6rabnL992ZHYNrn5Fw6eoEvdqOf2Fe6Yd2sAU8R pFViEnfOSJbjT3jP7hG3L0Jo0TCyUZ2ECWUACLQAv2k0YQzCCOEqipBKf0xwjS8eT2plhWBrl qJISyIV0kmHPuFBMXq8lYJX0CwwfDRJUuoRexD02xZCs/PA8+TnJOOHWGldrf1V+AI0t7Gd2P qnc2uxaQdfieRJ4kd1p4T53lHc1KEjU/v/IemipsI9yoOxpqjkVQT3zYyI2RrXQpl73hZv5ep UIHr2Yr7ZUslJ/VmAyH0usiLyMY6uO+OtBaq6I818C2/SiUoACP2Lt69ujGhvxYWnG+HJZTBW uCiOqNOzpio5oDYHubASB3JyEkrUfCwxfgOmOZJVvSkpU7SR/KxbuJbkRy6GXEUwVNUzgNLrM IdH8k51TXh4bYpRbhLohnLYqC5EqCrYbYyHHG+f1/ldQKI+VKDgKaE56jFIQYw0GUicviH2fP lJXRHRDuRRjz3rLJHLDD9Ae1m1T9dPPiuCbtKRYTXqHoEnD+G1xWN11oeHIraUjrUB0j19uhZ GPVrtaQrEBe4VPAzpddCTDgsd6WU89NcleZkSw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I have been able to reproduce the disregarding `top` frame parameter > error with a much simpler example that does not involve > `ns-auto-hide-menu-bar`. I'm not sure why these simple tests are > intermittently crashing the Emacs application with no user settings. What does "crashing" mean in this context? > ;; WORKING -- respects `top` parameter. > (make-frame '( > (top . 50) > (left . 50) > ;; (height . 250.0) > (width . 250.0))) > > ;; BROKEN -- disregards `top` parameter. > (make-frame '( > (top . 50) > (left . 50) > (height . 250.0) > (width . 250.0))) Anders said this worked in emacs 24.5 and doesn't work nowadays. We'd have to find the commit that broke that. I can't. martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 14 04:32:26 2015 Received: (at 21415) by debbugs.gnu.org; 14 Sep 2015 08:32:26 +0000 Received: from localhost ([127.0.0.1]:59544 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbPBa-0006V4-CH for submit@debbugs.gnu.org; Mon, 14 Sep 2015 04:32:26 -0400 Received: from mout.gmx.net ([212.227.15.19]:56210) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbPBZ-0006Uw-3w for 21415@debbugs.gnu.org; Mon, 14 Sep 2015 04:32:25 -0400 Received: from [194.166.81.67] ([194.166.81.67]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0M6RiN-1Yi5fh3SAN-00yPP1; Mon, 14 Sep 2015 10:32:22 +0200 Message-ID: <55F68615.2070303@gmx.at> Date: Mon, 14 Sep 2015 10:32:21 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:3fxmLqr8KQOcZn3PZnc0wPcDIsxA233veJJwvQ3WZY34BPk7FpQ vNZpRB/VahwAg/y8Mz3rtnBTzSqMMTvS2uuvMWKbvT+PjLeer72/9ZArSIyT47BfTGf47zN KZ+BNIyFR1PbeD+QAhbXSR6N4ZVugq24ZrCHJ9zw1L7sID2rVXtRDNeWkvzY6EL1W9qUrTo wziCr+W8BnFRfJx6g3ClA== X-UI-Out-Filterresults: notjunk:1;V01:K0:iOAZhukwhJ0=:+NCRMVKWM4ax/Xhqi6wNgc FvBlZNtQ1njuRgz4jC3F01e9fkWiL+uArxVRoJr2R5cDEDhUJnzz14jZlc/9O2xmH/KsnLk+q 1vmqBL+DzFmnQAeJVkdUKg1ne/UPrQPBE2FT3Nc0nR7ySo+BZZ5l24qDzLe2n0J0GmpAtjhFS xLj1w11FJTl5wsQTUjpkwtcAlzWzEtMH+fS4QZuL0w8LSPRAVMk11RZenkChVX/QVax5bJXEU erGdDm7f3zc8UjwxWo2TaJoBem5CFkOtLe951uYAnttnpn6YwV4YrQx6SkqxF96FEwnUQCZ/7 9njaZgLuMaUMS60XDiGyMQFhauPO2kuCpoZKNeKBmBY0ggoIaRFqk+wqPefhdn0wpJCQPfFbq UuQuTrHWZsIXBmnsdC6pVBS7/nVUE6uaHVLQS60Jpr4HtrjpoBfrmbtcsnbxbTv9T85yVJwMH AGcsy9I5hZ6i9JgOwVf0PstqM8bpL4JD2hFb+PCTs8fJAmvW2nL8HM9Va4KEliYlAWYSsCV7m B0KPQcJvNemRd05DjWKouHfdYkSEnv3NodptMaz6A3SnPfu6IuFFQNG7oXS1XjldFuTuDGH/J BtZy+BNhfxKh+arpAMnW/w1b38SAqQ/kQZckn5mq7UfuTH6MoD6uTuQ1XD0gYiwCLjSoiaUoW 2suUCdwY1RfG7g6wOneeBkyK4LBjZWzH6enpfcdoYn/apK9/wNLj5Fgd0MDUx7pGQEZ04dxw2 VfVOCE3X7brCCYbOBR/lUlkqjd0vFMFa7QYw+g== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I have been able to reproduce the disregarding `top` frame parameter > error with a much simpler example that does not involve > `ns-auto-hide-menu-bar`. I'm not sure why these simple tests are > intermittently crashing the Emacs application with no user settings. > > ;; WORKING -- respects `top` parameter. > (make-frame '( > (top . 50) > (left . 50) > ;; (height . 250.0) > (width . 250.0))) > > ;; BROKEN -- disregards `top` parameter. > (make-frame '( > (top . 50) > (left . 50) > (height . 250.0) > (width . 250.0))) Can you step through x_set_offset to find out which offsets we provide and what we eventually pass on? martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 14 05:37:51 2015 Received: (at 21415) by debbugs.gnu.org; 14 Sep 2015 09:37:51 +0000 Received: from localhost ([127.0.0.1]:59609 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbQCs-0007wU-9W for submit@debbugs.gnu.org; Mon, 14 Sep 2015 05:37:51 -0400 Received: from mail-vk0-f42.google.com ([209.85.213.42]:33466) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbQCp-0007wL-5O for 21415@debbugs.gnu.org; Mon, 14 Sep 2015 05:37:48 -0400 Received: by vkgd64 with SMTP id d64so55624839vkg.0 for <21415@debbugs.gnu.org>; Mon, 14 Sep 2015 02:37:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=LE8UT751V1Bf8oAO+z9Mor0gBGR0BZgLtgv/V9jNXpE=; b=LAPR9b9aOfaxrSyz0b2iHGEBfk5q+GijZN3B9y2yRnVcajpL3td5tfD396FVCxJhn0 P26MHOVWo0ihemWGPr6m1aN8S/8lYEA96Ogw+Uevx2XhAGkUIMYKX/leBcidf6YjVyUu k+RCut43+DUsba155fJHcuKyDKrE9lSRb+h4FLO31X++2b1bWnCVu7gc0Z0n0oJisI7m ah9k2a8UWBm+vsj4eC1oP3Tl55NnKqxLZP9ZWOyn/Wzn50ojPacYLGDJLD99rPRpp/su ai7uoVoOzKVgN17cWX3E8pxsHlAYgZftTgqBjBlfWYAaxAOe/4G2yLdO5dTw7ZytYwdY g5Lw== MIME-Version: 1.0 X-Received: by 10.31.179.76 with SMTP id c73mr13160569vkf.68.1442223466548; Mon, 14 Sep 2015 02:37:46 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Mon, 14 Sep 2015 02:37:46 -0700 (PDT) In-Reply-To: <55F6860D.9060503@gmx.at> References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> Date: Mon, 14 Sep 2015 11:37:46 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics , Keith David Bershatsky Content-Type: multipart/alternative; boundary=001a11435d286914e9051fb1d173 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a11435d286914e9051fb1d173 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, >>> If =E2=80=98ns-auto-hide-menu-bar=E2=80=99 non-nil also moves the title= bar off screen, >>> you can't position the frame at (0, 0). Or am I missing something? >> >> No, ns-auto-hide-menu-bar does not move the frame at all. > >OK. But doesn't it remove the constraint that a frame's rectangle must >start somehwere at or below (0, 0)? When the menu bar is visible, OS X doesn't allow windows above the menu bar. When it is hidden, it's not possible to drag a window above the top of the screen. However, OS X allows an application to place a window above the top of the screen -- the code in Emacs simply ensures that Emacs itself doesn't hinder this. By the way, when I use Win32, I also place the title bar above the top of the screen, so this is not a feature that is unique to the OS X port. Of course, for a frame the be placed above the top of the screen, the user must explicitly placed it there. A frame should never "just happen" to be placed above the top of the screen. > I lost you. I thought that =E2=80=98ns-auto-hide-menu-bar=E2=80=99 non-n= il means to > also automatically hide the title bar. Am I wrong? Yes, you are wrong! Hiding the menu bar only hides the menu bar -- it does not move the frame or hide the title bar. However, when the menu bar is hidden the user can place the top of the frame at a negative offset (i.e. above the top of the screes), but this must be done explicitly. Most users won't use this feature, but it's important to those that do. > But how comes that for Keith the frame is apparently placed above the > top of the screen although he didn't specify it? Clearly, this is a bug -- the frame should not be placed above the top of the screen in this case. In Emacs 24, this didn't happen. Why this happens in Emacs 25, I don't know, but clearly this is not the way we want the system to work. The desired behavior is to place the top of the frame at the top of the screen, or right below the menu bar (if it's present). If a `top' attribute is present, the window should be placed accordingly. Also, a frame that is too high for the screen should stretch down below the bottom of the screen, like it did in Emacs 24. I have tried to trace it through the various functions -- it seems that Emacs tries to place the frame at the top of the screen (which is where we want it) but at a later phase, the frame is somehow moved and/or constraint to an incorrect location. This may take some time, however, given that I have small children and a full time job, but I will try to find some time for it during this or (more likely) next week. / Anders On Mon, Sep 14, 2015 at 10:32 AM, martin rudalics wrote: > >> If =E2=80=98ns-auto-hide-menu-bar=E2=80=99 non-nil also moves the titl= e bar off screen, > >> you can't position the frame at (0, 0). Or am I missing something? > > > > No, ns-auto-hide-menu-bar does not move the frame at all. > > OK. But doesn't it remove the constraint that a frame's rectangle must > start somehwere at or below (0, 0)? > > > The user is > > allowed to place the frame above the top of the screen, but this does n= ot > > occur automatically. In other words, a frame can be placed at (0, 0). > > But how comes that for Keith the frame is apparently placed above the > top of the screen although he didn't specify it? > > > To answer your earlier questions. You were speculating about adding > another > > variable for "the auto hide frame title feature". However, I don't thin= k > > this is a good idea since there is no such feature. Hiding the frame > title > > requires the user to explicitly move the frame (or use a package that > does > > this, like my "multicolumn" package). > > I lost you. I thought that =E2=80=98ns-auto-hide-menu-bar=E2=80=99 non-n= il means to > also automatically hide the title bar. Am I wrong? > > martin > > --001a11435d286914e9051fb1d173 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

>>> If =E2=80=98ns-auto-hide-menu-bar=E2=80=99 non-nil al= so moves the title bar off screen,
>>> you can't position t= he frame at (0, 0).=C2=A0 Or am I missing something?
>>
>>= ; No, ns-auto-hide-menu-bar does not move the frame at all.
>
>OK.=C2=A0 But doesn'= ;t it remove the constraint that a frame's rectangle must
>start somehwere at or below (0, 0)?

When the menu bar is visible, OS X doesn't allow win= dows above the menu bar. When it is hidden, it's not possible to drag a= window above the top of the screen. However, OS X allows an application to= place a window above the top of the screen -- the code in Emacs simply ens= ures that Emacs itself doesn't hinder this.

By the way, when I use Win32, I also place the t= itle bar above the top of the screen, so this is not a feature that is uniq= ue to the OS X port.=C2=A0Of course, for a frame the be placed above the top of the screen, the us= er must explicitly placed it there. A frame should never "just happen&= quot; to be placed above the top of the screen.

=

> I lost you.=C2=A0 I thought = that =E2=80=98ns-auto-hide-menu-bar=E2=80=99 non-nil means to
> also automatically hide the title bar.=C2=A0 Am I wrong?<= span style=3D"font-size:12.8000001907349px">

Yes, you are wrong!

Hiding the menu bar only hides the menu bar -- i= t does not move the frame or hide the title bar.

However, when the menu bar is hidden the user c= an place the top of the frame at a negative offset (i.e. above the top of t= he screes), but this must be done explicitly. Most users won't use this= feature, but it's important to those that do.


>=C2=A0But how comes that for Keith the frame is apparently placed above = the
> top = of the screen although he didn't specify it?

Clearly, this is a bug -- the frame shoul= d not be placed above the top of the screen in this case.
=
In Emacs 24, this didn't happen. W= hy this happens in Emacs 25, I don't know, but clearly this is not the = way we want the system to work.

=
The desired = behavior is to place the top of the frame at the top of the screen, or righ= t below the menu bar (if it's present). If a `top' attribute is pre= sent, the window should be placed accordingly. Also, a=C2=A0frame that is too high for the screen = should stretch down below the bottom of the screen, like it did in Emacs 24= .

=
I have tried to tra= ce it through the various functions -- it seems that Emacs tries to place t= he frame at the top of the screen (which is where we want it) but at a late= r phase, the frame is somehow moved and/or constraint to an incorrect locat= ion. This may take some time, however, given that I have small children and= a full time job, but I will try to find some time for it during this or (m= ore likely) next week.

/ Anders
<= span style=3D"font-size:12.8000001907349px">

On Mon, Sep 14, 2015 at 10:32 A= M, martin rudalics <rudalics@gmx.at> wrote:
>> If =E2=80=98ns-auto-hide-menu-bar=E2=80=99 non-= nil also moves the title bar off screen,
>> you can't position the frame at (0, 0).=C2=A0 Or am I missing = something?
>
> No, ns-auto-hide-menu-bar does not move the frame at all.

OK.=C2=A0 But doesn't it remove the constraint that a frame's recta= ngle must
start somehwere at or below (0, 0)?

> The user is
> allowed to place the frame above the top of the screen, but this does = not
> occur automatically. In other words, a frame can be placed at (0, 0).<= br>
But how comes that for Keith the frame is apparently placed above the
top of the screen although he didn't specify it?

> To answer your earlier questions. You were speculating about adding an= other
> variable for "the auto hide frame title feature". However, I= don't think
> this is a good idea since there is no such feature. Hiding the frame t= itle
> requires the user to explicitly move the frame (or use a package that = does
> this, like my "multicolumn" package).

I lost you.=C2=A0 I thought that =E2=80=98ns-auto-hide-menu-bar=E2=80=99 no= n-nil means to
also automatically hide the title bar.=C2=A0 Am I wrong?

martin


--001a11435d286914e9051fb1d173-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 14 09:39:58 2015 Received: (at 21415) by debbugs.gnu.org; 14 Sep 2015 13:39:58 +0000 Received: from localhost ([127.0.0.1]:59761 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbTzC-0006Vk-1s for submit@debbugs.gnu.org; Mon, 14 Sep 2015 09:39:58 -0400 Received: from mout.gmx.net ([212.227.15.18]:55124) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbTz9-0006Vb-4u for 21415@debbugs.gnu.org; Mon, 14 Sep 2015 09:39:55 -0400 Received: from [188.22.234.181] ([188.22.234.181]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0LtaDM-1Yabx32nLQ-010qko; Mon, 14 Sep 2015 15:39:49 +0200 Message-ID: <55F6CE22.1070502@gmx.at> Date: Mon, 14 Sep 2015 15:39:46 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren , Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:ReJ9WTWMcfuVPwjcth4gW2Lrg33NwUARNEKNffSfOB3CSFUOVAs q+mS8TuB4ZraaD4b/Bb3el9CqQZNSecxj3eChOqKYzzsBzz9vRGrAidfISTKTgrJj400+NZ R4Q5XYsGnGtBzLNyutiW8BHF8oZKn+CdkxjJ8Z2W8amT9BEaTiahB3/vpa7cwIE79QNVaBu RvBrLj5R914pjGsLU4plQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:PGrNsJLNYvI=:kxjUSCypDGxuhhozYEfiuE VEY27bU9lscSq9K0BVbpRc35rlpS/XIzOqlGIEb5AjW216SmydQekaiayij1dtVpWXf8reAJD zWjwI/eBtC3jrMsfNIHWduY7rqcjbH73PVQNbS4l9q8VNVV2VN1jlfOyChugBTBFJFfcW9YYx lexXRxEJlk10jZBeG734lPArTcjA3BsweM5swp7LnRMdGXWoTVkDQ47oU/G6gUJZgtITqhy2G ZfFBzT+0caHFlPnhgzQ9rmIQWeUdxpeY7m41kweQdI3eHeYA57Jkn8iUno/3wHg8wABeZm6wx +Aj4+D94Ls3mmKTGJ5TRbI7eGRIaQQDqhKe9YAPXkSAJaWA5HeOYO1/ZNJSx5ZUF0wGY5NA/1 A5zSSSlnE5FlwBlBQN5DUOP/Yrgd7/w7nMdBo8q29u5eqtQIEdd7KpGmzj1f7C9RHN0/9WfFg T3LF+eTS+h9q/WyVLwyTg9DtRXF7ppMfsh0AMXtB06bdVLNaA8laDEPfMqyKuh2atwh4QEhbK SsCS1mCVM9es7HayxUQy1W8GZPDBczvRMzWy8ZEju8bdxJd3g74oYyoF+jyZ/enzQvMZ0+TMn DFFn4jtrjXDlIQnut0xRYSpz+mkZms5Hh1+2Q/OkuOTHicUH4C13vqFL6ZcW3yQVFicxC10+e fNmIfhF9qHGfoMb9aTigl53fYRJyHTgYZ9vYKQkNHNOLWhp2Eyl1L7sMBIdmFanyW6U4MJfBL 5a9hLE9BjDvaTU+/4boloYxN9y4jEDoLdixHcQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) >>> No, ns-auto-hide-menu-bar does not move the frame at all. >> >> OK. But doesn't it remove the constraint that a frame's rectangle must >> start somehwere at or below (0, 0)? > > When the menu bar is visible, OS X doesn't allow windows above the menu > bar. I'm not sure I understand: Do you mean here "OS X doesn't allow windows above the top of the screen"? > When it is hidden, it's not possible to drag a window above the top of > the screen. I've never been able to "drag" a window above the top of the screen because on all machines I know of the title bar is the handle for dragging. > However, OS X allows an application to place a window above the > top of the screen -- the code in Emacs simply ensures that Emacs itself > doesn't hinder this. Does this "OS X allows an application to place a window above the top of the screen" hold _only_ when the menu bar is hidden or does it hold regardless of that? What's such a restriction good for anyway? > -- the code in Emacs simply ensures that Emacs itself > doesn't hinder this. Because Emacs "normally" advices OS X to constrain the frame to the screen. Correct? > By the way, when I use Win32, I also place the title bar above the top of > the screen, Why? Do you never use the fullscreen feature? > so this is not a feature that is unique to the OS X port. Of > course, for a frame the be placed above the top of the screen, the user > must explicitly placed it there. A frame should never "just happen" to be > placed above the top of the screen. It will happen when it's too large and you specify negative values for its position. > Hiding the menu bar only hides the menu bar -- it does not move the frame > or hide the title bar. OK. > However, when the menu bar is hidden the user can place the top of the > frame at a negative offset (i.e. above the top of the screes), but this > must be done explicitly. Most users won't use this feature, but it's > important to those that do. OK. The "when" might be an answer to one of my questions above. >> But how comes that for Keith the frame is apparently placed above the >> top of the screen although he didn't specify it? > > Clearly, this is a bug -- the frame should not be placed above the top of > the screen in this case. > > In Emacs 24, this didn't happen. Why this happens in Emacs 25, I don't > know, but clearly this is not the way we want the system to work. > > The desired behavior is to place the top of the frame at the top of the > screen, or right below the menu bar (if it's present). If a `top' attribute > is present, the window should be placed accordingly. Also, a frame that is > too high for the screen should stretch down below the bottom of the screen, > like it did in Emacs 24. Agreed. > I have tried to trace it through the various functions -- it seems that > Emacs tries to place the frame at the top of the screen (which is where we > want it) but at a later phase, the frame is somehow moved and/or constraint > to an incorrect location. This may take some time, however, given that I > have small children and a full time job, but I will try to find some time > for it during this or (more likely) next week. Fine. Thanks for your efforts, martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 14 10:45:39 2015 Received: (at 21415) by debbugs.gnu.org; 14 Sep 2015 14:45:39 +0000 Received: from localhost ([127.0.0.1]:60418 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbV0i-0000Uf-Sx for submit@debbugs.gnu.org; Mon, 14 Sep 2015 10:45:37 -0400 Received: from mail-vk0-f49.google.com ([209.85.213.49]:36142) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbV0g-0000UX-FN for 21415@debbugs.gnu.org; Mon, 14 Sep 2015 10:45:35 -0400 Received: by vkfp126 with SMTP id p126so60134743vkf.3 for <21415@debbugs.gnu.org>; Mon, 14 Sep 2015 07:45:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=IraJYGBRgdUGAsB7QlvoP8cXqX1d0j6kURmrL7dvFlY=; b=sDrrSgU4e2EVli9fmC+Hv84Ty6HnlzwCGBTZSgnJMHFIIMzmdf/CPiGOl3MV20b/yV 4LAFcLeGM15N6fpqzxav3W/7NdvXl98F4yUgJCIMPHAWtTZKXw5Y8bYsYxYhECQIxkLF USWbq5/8cDQ1TSU4DUzshzbF0UvE6ydsutmkBm5RzfWHE6LheB8NWgffrsx0C1B+RNWM +gIXgCfMEd44r8x/T9TkHsRwbfdmmT/rsjcdcV4Dpm+Xn2eUpRc3QGkeuQDZuL3MVNDH v4Qg3mLYmgTbmleSwWWLXYwQTanFSY+TcgDD0G0TncXGO6EA2ZpdNWNVTJ50mjgLKANh MCtQ== MIME-Version: 1.0 X-Received: by 10.31.174.135 with SMTP id x129mr13708103vke.26.1442241933865; Mon, 14 Sep 2015 07:45:33 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Mon, 14 Sep 2015 07:45:33 -0700 (PDT) In-Reply-To: <55F6CE22.1070502@gmx.at> References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> Date: Mon, 14 Sep 2015 16:45:33 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a11434d2026080e051fb61e48 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a11434d2026080e051fb61e48 Content-Type: text/plain; charset=UTF-8 On Mon, Sep 14, 2015 at 3:39 PM, martin rudalics wrote: > >>> No, ns-auto-hide-menu-bar does not move the frame at all. > >> > >> OK. But doesn't it remove the constraint that a frame's rectangle must > >> start somehwere at or below (0, 0)? > > > > When the menu bar is visible, OS X doesn't allow windows above the menu > > bar. > > I'm not sure I understand: Do you mean here "OS X doesn't allow windows > above the top of the screen"? It's not possible to place a window above the top of the screen if the menu bar is visible. (If I remember correctly, I haven't worked in this for quite some time.) > However, OS X allows an application to place a window above the > > top of the screen -- the code in Emacs simply ensures that Emacs itself > > doesn't hinder this. > > Does this "OS X allows an application to place a window above the top of > the screen" hold _only_ when the menu bar is hidden or does it hold > regardless of that? What's such a restriction good for anyway? Only when it is hidden (again, if I remember correctly). The reason, I guess, is to ensure that no application would ever land underneath the menu bar. > > -- the code in Emacs simply ensures that Emacs itself > > doesn't hinder this. > > Because Emacs "normally" advices OS X to constrain the frame to the > screen. Correct? No, not really. A frame can stretch below the screen, and (I have to double-check this one when I get home) to either side. When the menu bar is hidden, you can also do this above the screen. > > By the way, when I use Win32, I also place the title bar above the top of > > the screen, > > Why? Do you never use the fullscreen feature? No, never. The reason is that I want the Emacs frame to use maximal height, but at the same time I like to control the width so that I can have six side-by-side windows each with exactly 79 columns. (I use two 1600x1200 monitors and a 6x8 font, with the help of Follow mode I can see 888 consecutive lines of code.) > so this is not a feature that is unique to the OS X port. Of > > course, for a frame the be placed above the top of the screen, the user > > must explicitly placed it there. A frame should never "just happen" to be > > placed above the top of the screen. > > It will happen when it's too large and you specify negative values for > its position. Yes, but I would see that as though the user explicitly has asked for that case. The important thing is that it doesn't happen when a user creates a new frame using `C-x 5 2' or call `make-frame' with default parameters etc. / Anders --001a11434d2026080e051fb61e48 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On M= on, Sep 14, 2015 at 3:39 PM, martin rudalics <rudalics@gmx.at> wrote:
>>> No, ns-auto-hide= -menu-bar does not move the frame at all.
>>
>> OK.=C2=A0 But doesn't it remove the constraint that a frame= 9;s rectangle must
>> start somehwere at or below (0, 0)?
>
> When the menu bar is visible, OS X doesn't allow windows above the= menu
> bar.

I'm not sure I understand: Do you mean here "OS X doesn't allo= w windows
above the top of the screen"?

It's= not possible to place a window above the top of the screen if the menu bar= is visible. (If I remember correctly, I haven't worked in this for qui= te some time.)
=C2=A0

= > However, OS X allows an application to place a window= above the
> top of the screen -- the code in Emacs simply ensures that Emacs itsel= f
> doesn't hinder this.

Does this "OS X allows an application to place a window above the top = of
the screen" hold _only_ when the menu bar is hidden or does it hold regardless of that?=C2=A0 What's such a restriction good for anyway?

Only when it is hidden (again, if I remember = correctly). The reason, I guess, is to ensure that no application would eve= r land underneath the menu bar.

=C2=A0
> -- the code in Emacs simply ensures that E= macs itself
> doesn't hinder this.

Because Emacs "normally" advices OS X to constrain the frame to t= he
screen.=C2=A0 Correct?

No, not really. A fr= ame can stretch below the screen, and (I have to double-check this one when= I get home) to either side.

When the menu bar is = hidden, you can also do this above the screen.

=C2= =A0
> By the way, when I use Win3= 2, I also place the title bar above the top of
> the screen,

Why?=C2=A0 Do you never use the fullscreen feature?

No, never.

The reason is that I want the = Emacs frame to use maximal height, but at the same time I like to control t= he width so that I can have six side-by-side windows each with exactly 79 c= olumns. (I use two 1600x1200 monitors and a 6x8 font, with the help of Foll= ow mode I can see 888 consecutive lines of code.)

=
> so this is not a feature t= hat is unique to the OS X port. Of
> course, for a frame the be placed above the top of the screen, the use= r
> must explicitly placed it there. A frame should never "just happe= n" to be
> placed above the top of the screen.

It will happen when it's too large and you specify negative values for<= br> its position.

Yes, but I would see that as = though the user explicitly has asked for that case.

The important thing is that it doesn't happen when a user creates a n= ew frame using `C-x 5 2' or call `make-frame' with default paramete= rs etc.

/ Anders

<= /div> --001a11434d2026080e051fb61e48-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 14 11:25:32 2015 Received: (at 21415) by debbugs.gnu.org; 14 Sep 2015 15:25:32 +0000 Received: from localhost ([127.0.0.1]:60434 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbVdL-0001Mv-JV for submit@debbugs.gnu.org; Mon, 14 Sep 2015 11:25:31 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:54166) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbVdI-0001Mm-Vu for 21415@debbugs.gnu.org; Mon, 14 Sep 2015 11:25:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=5EAfTZVrw8iF0u3UlcZuwby8f7nYfUjflST7rcXaoqw=; b=5h3hZbehodEiZWh6CSTqhnra63OYrTrNfd1uCvZ7gl13lcxypLl0S7v6MkxNTdoL01NCOYAt+Zib/CyTz87JWSbAsCgWIGnNQWFodcUImZQ0M+sj/RkISil1NNU8uF13; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:49909 helo=server.private.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZbVdC-00026h-HN; Mon, 14 Sep 2015 11:25:22 -0400 Date: Mon, 14 Sep 2015 08:25:25 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) The `top` frame parameter is respected when setting the `height` frame parameter in the Emacs built on August 11, 2014, but is broken in the Emacs built on August 12, 2014. I was not able to revert due to error messages about merging and so forth, but my best guess is that either of the following two commits are responsible: commit bd4de70f13a92230da479e6fcd87d4355d626edf Author: Martin Rudalics Date: Tue Aug 12 11:47:27 2014 +0200 In set_menu_bar_lines call change_frame_size instead of set_menu_bar_lines_1. * frame.c (set_menu_bar_lines_1): Remove. (set_menu_bar_lines): Call change_frame_size instead of set_menu_bar_lines_1. commit fe2f33e8da2e2c7950214eafdfd610f164025baf Author: Jan Djärv Date: Mon Aug 11 15:16:31 2014 +0200 Fix default width not being 80, but 77. * nsfns.m (Fx_create_frame): Call adjust_frame_size, set f->official. The crashing of Emacs yesterday (i.e., the application quitting without any error messages) was an anomaly, perhaps caused by running multiple instances and copying running Emacs programs to other directories. I have not been able to repeat the crashing. I have been reliably using Emacs built from the last commit on September 11, 2015 using the latest patch, with my own modification striking/removing the portion relating to "if (ns_menu_bar_should_be_hidden ()) return frameRect;" in nsterm.m. That build seems to be working well for every situation except setting the `top` frame parameter when calling `make-frame, for which I have implemented the hack previously mentioned: (defadvice face-set-after-frame-default (before face-set-after-frame-default-before activate) (let* ( (top (or (cdr (assq 'top parameters)) 0)) (left (or (cdr (assq 'left parameters)) 0)) ) (set-frame-position frame left top))) From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 14 13:37:50 2015 Received: (at 21415) by debbugs.gnu.org; 14 Sep 2015 17:37:50 +0000 Received: from localhost ([127.0.0.1]:60512 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbXhO-0005v2-9v for submit@debbugs.gnu.org; Mon, 14 Sep 2015 13:37:50 -0400 Received: from mout.gmx.net ([212.227.17.22]:53187) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbXhL-0005uu-V3 for 21415@debbugs.gnu.org; Mon, 14 Sep 2015 13:37:48 -0400 Received: from [188.22.234.181] ([188.22.234.181]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0LjJCt-1Z2lJG3crv-00dXCX; Mon, 14 Sep 2015 19:37:46 +0200 Message-ID: <55F705E6.1000609@gmx.at> Date: Mon, 14 Sep 2015 19:37:42 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:3vkpt3SSgovRjO3Al4MRYZTtklMMkQClqWso3qJX8cw04w3XVCZ nTRvh+G8+i0bIsxPZi1T/i75iOhwlY6hpY+eAt/m+5NoNWajxWlLiLueNrV40dT7Nt2Y3TL wLETD/iS+cvYbd17uvnRhd29kGWqDe3CfyaXFGiSkXyY06OMLOXM/+nYk9yvfRcT0yFP/Hq VgChEJrn/DdaG6T6H1h5g== X-UI-Out-Filterresults: notjunk:1;V01:K0:neTUf/cqd0E=:tXfWxiMnl6b7LZqQRCX45+ V+fcF+tUPJ2iHjn241PgWF9QPi05MbQpyg3l5YuRMgGqpekv0LBltP/rxjhtR68L72OtdEs+G FDTEt2KRdqcEe+hbMfQv3o3I0JenT1LaqSVn0gQxwuBnf2KPfrUu1hlp7uvGiLXJmn2Xlh7wd AfLDOuIWRpjEqN33vyNFiJi34EtlMtmbKFv8TQ2W5THZIqlzCgGN1Bg1Z80jK7tWfqgyPi0e9 xhaVmqGiiH1jUsYVK1ouAiaaAGLlT53ZKmp1dhGDX4nN3RCWyyM/HN1ExUDi1hTorukg8KzyS ILJZAcc2EkE//GDCsDjeu/E34iS83BTBxbg19BFLadePkSDqaipmcxjfY8R0N+H13hKTmHyza CZy7C2TNskSshLdM20YpTC5nxmEyg9lc1WrSvZPlQIoQJbTk1osM/HIr9lkqzPkR1crQIhpHW xcaZrZyUV4RA3Z5fLyxMWh/0P3gOpIppnvzvTmyUVImjxVagcw2omkFhmGq7Sn+trZA1mkGgK Ur9Fm54VsNmHp1mf6EdIGBw0QM9b6hllQBqbaO/BSQxz40wIipRhFa65ewJMIPO+VdiSwxO36 J+yjblJK7OgJOKekhKMb7MPhKmDoXU+VegDJ53xEuMSVg3YAXwBg0yLQnWr5sgBxJd9/PQ7Li nm5LOoJaYTN6yaPsarXPa3fBd1AbqM9Gvi/5gw/Fnlfxbn7BLcG9UKiNpcr0F307vspDW7TKh eNJQV6Jtz+QU9HoR5lbIGs2DdAbDacBe7EUULA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > The reason is that I want the Emacs frame to use maximal height, but at the > same time I like to control the width so that I can have six side-by-side > windows each with exactly 79 columns. (I use two 1600x1200 monitors and a > 6x8 font, with the help of Follow mode I can see 888 consecutive lines of > code.) Then you should see the same problems as Keith with the frame not covering the entire screen (or workarea). I presume you can live with that. martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 14 13:37:58 2015 Received: (at 21415) by debbugs.gnu.org; 14 Sep 2015 17:37:58 +0000 Received: from localhost ([127.0.0.1]:60515 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbXhV-0005vR-QV for submit@debbugs.gnu.org; Mon, 14 Sep 2015 13:37:58 -0400 Received: from mout.gmx.net ([212.227.17.22]:50044) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbXhT-0005vG-Pg for 21415@debbugs.gnu.org; Mon, 14 Sep 2015 13:37:56 -0400 Received: from [188.22.234.181] ([188.22.234.181]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MIPhr-1Zbp5I0dh9-004C0e; Mon, 14 Sep 2015 19:37:55 +0200 Message-ID: <55F705F0.9080708@gmx.at> Date: Mon, 14 Sep 2015 19:37:52 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:YCoSI//FuC8UHH49oNaf7hcUI6/TfxtxIcv1EwwUIpvEL2eDS0/ 9D5Bk8b9qQex4tTJsG9lyO6r3gMXEEdgRtvAP1PFs+7ODweoPk6SWfkgt8nnzAu7mc1a/9p A1qbegGjwP8Xrd+3U5OiUUpwvCu1GCbE+2Kq2j8FqCHYhahNbAngFAIgZiGldXdHyVNe5Oi PyI8c73VpSCd2kXLvL1eA== X-UI-Out-Filterresults: notjunk:1;V01:K0:Ef3Zp6oH3N4=:4cg9DXJ9afSHejhISrr/VZ B8qZd35Zai8TKHUZ43YVVgzmN5IycJzodMKtpoWdGEgy/APbE4TFJFYW7Gi4hl2sRPGQOXFsP /npAKmhBUmCZelA/CGVmu0cWTVevlJK0W5U3hE86d88osq7DUl0bHcEk/rgU4GHE9hwk5eTNH +ksc0lTamCbnlsG0j4NEOgeX7qk0T3Ni8Z7ovSI0yl0NdtB0Oh1Psn+8/CE7Poh2TqrSfzz24 ihXj7sMsvsmawDfVqKunG72N8J2vgUdA5hHVUKlLaJawQk26SXnW5K03GeV+u+H9VyHy9xmWT k1+c50WDOka56BXqpJdEBsXb77STTlJDTEcBxjQItyiwKeYOMwSUk6FQDCuafGF4RGiErNqeE ACb1bR7dNWmIZdaVUHGFXiiQeTEq4pXuP0tSCRYUN1JowrLEOj2qXjfm4huhdriYH+T/jTxIp ar1yA3H+IutU5kNzje+W7cbZ/XTQK+i8Yq3lxaSmvmXW/dxQWmDC8Y9tJvLGcR5IoX13aDYzF 5K3wN2dHhxbVtmvoHivExL+2QsXqGP7b6YHLiAwEe1LL7pw72bMgf4aifVrwSTnVVLzdqpT4E wYxsKkOQNf7tyj5LdEfYuoIhOIAoQeUtvijwbU9g0kt5TZj5fCqWqV8qeBHQF9T8/8D7+DlvL lfM0hNK+kBAosAKf0Njsruk0Ez1SCvq+0YzV9IAymeoJXfFpDS4Pz6GD4vGaZIP0raqIvIiIt Mm2Cvhw+YUCBdJ55TGUdF1wIGfA8CdtDjubqdA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > The `top` frame parameter is respected when setting the `height` frame= > parameter in the Emacs built on August 11, 2014, but is broken in the > Emacs built on August 12, 2014. I was not able to revert due to error= > messages about merging and so forth, but my best guess is that either > of the following two commits are responsible: > commit bd4de70f13a92230da479e6fcd87d4355d626edf > Author: Martin Rudalics > Date: Tue Aug 12 11:47:27 2014 +0200 > > In set_menu_bar_lines call change_frame_size instead of set_menu_= bar_lines_1. > > * frame.c (set_menu_bar_lines_1): Remove. > (set_menu_bar_lines): Call change_frame_size instead of > set_menu_bar_lines_1. This one shouldn't affect OS X at all. > commit fe2f33e8da2e2c7950214eafdfd610f164025baf > Author: Jan Dj=C3=A4rv > Date: Mon Aug 11 15:16:31 2014 +0200 > > Fix default width not being 80, but 77. > > * nsfns.m (Fx_create_frame): Call adjust_frame_size, > set f->official. No idea about this either. martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 14 15:03:06 2015 Received: (at 21415) by debbugs.gnu.org; 14 Sep 2015 19:03:06 +0000 Received: from localhost ([127.0.0.1]:60557 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbZ1u-0007uZ-EH for submit@debbugs.gnu.org; Mon, 14 Sep 2015 15:03:06 -0400 Received: from mail-vk0-f44.google.com ([209.85.213.44]:33315) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZbZ1r-0007uR-St for 21415@debbugs.gnu.org; Mon, 14 Sep 2015 15:03:04 -0400 Received: by vkgd64 with SMTP id d64so65417038vkg.0 for <21415@debbugs.gnu.org>; Mon, 14 Sep 2015 12:03:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=+H+mjyRjyfNx0AnWNmmnX3dClG3YoEQvUPpzzR1iUDQ=; b=xkXfYox7L3kcq4ekIu9C8FeV+u4E45ZSE0D/UBlzvVRnrPpFQDr5bUSbuoP4xMaCFv MU5eav4QXyQP7jRuPwP/8U0D6LEByV2Zdt5R57KaJg3Kso8DpSfxANjxFUt9i6IO+Pxb oBJ2QHPwqCRwNHiUis0W8UegXWYsVaXrSAhFtNHHbL2T/OfEarx6Gfntkb/XSQQW1LC9 tgusl/5v251J+MKMdND8pjIYW1N9xIjWlpvGXxLSYTriTCUaO2+Lo7/cqfDhOHgb9M0o B24mUqInVWZL0JQArAFY9+FQvjPIff+13/8RxJ37pXgb+Vx28mUDXLOYSee/aJA5uoK6 Tgag== MIME-Version: 1.0 X-Received: by 10.31.170.68 with SMTP id t65mr10756056vke.31.1442257383344; Mon, 14 Sep 2015 12:03:03 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Mon, 14 Sep 2015 12:03:03 -0700 (PDT) In-Reply-To: <55F705E6.1000609@gmx.at> References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> <55F705E6.1000609@gmx.at> Date: Mon, 14 Sep 2015 21:03:03 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a11431b66025473051fb9b725 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a11431b66025473051fb9b725 Content-Type: text/plain; charset=UTF-8 > > Then you should see the same problems as Keith with the frame not > covering the entire screen (or workarea). I presume you can live with > that. I have a font that is an even multiple of the screensize, so I don't have a problem with that. If I use another font then there will be a small gap at the bottom of the screen. Setting `frame-resize-pixelwise' to t allows the frame to cover the entire display, but the last line will be only partially visible. / Anders --001a11431b66025473051fb9b725 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Then you should see the same problems as Keith with the frame = not
covering the entire screen (or workarea).=C2=A0 I presume you can live with=
that.

I have a font that is an even multipl= e of the screensize, so I don't have a problem with that.
If I use another font then there will be a small gap at the bot= tom of the screen. Setting `frame-resize-pixelwise' to t allows the fra= me to cover the entire display, but the last line will be only partially vi= sible.

/ Anders=C2=A0
--001a11431b66025473051fb9b725-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 15 04:29:49 2015 Received: (at 21415) by debbugs.gnu.org; 15 Sep 2015 08:29:49 +0000 Received: from localhost ([127.0.0.1]:60878 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zblcb-0001Um-1D for submit@debbugs.gnu.org; Tue, 15 Sep 2015 04:29:49 -0400 Received: from mout.gmx.net ([212.227.17.20]:64800) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZblcZ-0001Ue-M3 for 21415@debbugs.gnu.org; Tue, 15 Sep 2015 04:29:48 -0400 Received: from [194.166.81.50] ([194.166.81.50]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MQMBU-1ZCREM1wAW-00Tjdb; Tue, 15 Sep 2015 10:29:46 +0200 Message-ID: <55F7D6F6.90801@gmx.at> Date: Tue, 15 Sep 2015 10:29:42 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> <55F705E6.1000609@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:/Qtl20sF0gjFvFV76xfRWO0jL9SQyNveP1ngmLizBT2swui0WSR KvpLDFq2HbzOOeqLMbdTfnatuc50jkNrmmA/Qc9klHrgHD718BYLOF6Xhf85fYWDhPj9ZpF n5+yhMaBjjpkivUkS6OsNT+E/zqsdGFj7nEVZ8Ckq8OD3MxMmoUpfHzITxN0vozQllWfjzH 6RqFfBpTeNS/oyps7mkIA== X-UI-Out-Filterresults: notjunk:1;V01:K0:uaOoNBYdThE=:OQSG9i3xxLpKwPYTKVaf+s wFUuUNrIxfLkL5i4HPia+BwYnh9LrNFpU2CVbpT9BOPYxJa2J6rfdRkvE4AtcvQvsvmsQb6PS uQAS6ONtzo0deJ97IbmVRyHH/97LL4u1hlNyUjbFK47ebKeGGD5XKw60QgLrtq9yi+/WziG1o MbqKTRmKF7BKVIR0t+HejA6eTS0kAtiyd0tp5av5Eh/oP6wpni/09eB4VzomMdL5BQOL9KSYZ +MF3HOoDA3LAYOVOa3RRJfS7+B+7RoVY47Os+sLF+MnNIt7pUMRZOCZcozFjRArdt07R1pLIp w/b7XZU+NF/ZB5K23wiC0ezi5hSsHi+a7DZrr+krQChFEGI/rgV0soumsFoFUOhkG27odykIg Oq/eX9o3NsiiVat7m47wl8l7+dTojAp/LvIUtUQz7nmji0My7lRXnPr565Yo1SoRop15MKIrC pUwsNT5PYjOrChP8tYCs9Nqc4uwCT8Tr8nFl0IjNn/r9w+KE2CwHkIwxUrtJa+KxgX9ifUK4C xQlSIpAwnBZomDhG9nnrJmVK9wZ5JTSbtTPuNSqb6MwfV6tQzR46x2sf5hTrjoyxJEthvdX38 Tc4dhCES/IGIKqx1ZhrW3IwkOEvyniGsuURqvMflDUMuehAeaKK/AZTP1ROW4C8HeEisAqW0C GIWDLSE/HyF9cXuTKVs6ZFmb6mg/6DvTxB2NHeFheJBaCQmEH10EZCHQub74Kp4WDoXPAOAJg GMBmndZlJNnzN2hj1oAVwmgKg+1gro0Iu7fEtw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I have a font that is an even multiple of the screensize, so I don't have a > problem with that. You're lucky. External borders, tool bar and menu bar often mess things up. martin From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 19 17:12:43 2015 Received: (at 21415) by debbugs.gnu.org; 19 Sep 2015 21:12:44 +0000 Received: from localhost ([127.0.0.1]:37928 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdPR5-0006pl-5N for submit@debbugs.gnu.org; Sat, 19 Sep 2015 17:12:43 -0400 Received: from mail-vk0-f48.google.com ([209.85.213.48]:35169) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdPR2-0006pc-RG for 21415@debbugs.gnu.org; Sat, 19 Sep 2015 17:12:41 -0400 Received: by vkao3 with SMTP id o3so46942463vka.2 for <21415@debbugs.gnu.org>; Sat, 19 Sep 2015 14:12:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=hPq+jUkYVDRmxHwflEqaYIoHHlUQcV7AeI/AxyJJyC4=; b=ZnnqbEifUIc6EGOMws7D775XkU/6GJo2FyuOgOpknK/vJsmO9tjUw0wOVGR3ypKJu7 OMQEuhzP4/Aatxvd0KcTpN7Y+hySGXlHADfimsxUs6eWZMhFc6tY6GXn90V4W9stfbma B2V6dxjzYooodCAQgEoeolcEk08+EMEY0Guh4qDFel1qRSTv7hAwhXvIR/gwxR0dOEyc s27XgnFensf2J7jkITwA/ehRLPqIAVCtVmZoHV4JmIChfbhm8R/qn49zcaMANjWRcdxe LT5qRzhBzN4MBv5L9SqumL2IEALUJYzfVRLmA0S4en7/05yJ0cr5Jbmw4kcRSDVV4/ca BkKA== MIME-Version: 1.0 X-Received: by 10.31.147.129 with SMTP id v123mr8212602vkd.23.1442697160394; Sat, 19 Sep 2015 14:12:40 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Sat, 19 Sep 2015 14:12:40 -0700 (PDT) In-Reply-To: <55F7D6F6.90801@gmx.at> References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> <55F705E6.1000609@gmx.at> <55F7D6F6.90801@gmx.at> Date: Sat, 19 Sep 2015 23:12:40 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a1140feb6c393bb0520201be2 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1140feb6c393bb0520201be2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, Below is a patch that should correct the problem: diff --git a/src/nsterm.m b/src/nsterm.m index 2806f31..14f2beb 100644--- a/src/nsterm.m +++ b/src/nsterm.m@@ -1333,6 +1333,7 @@ x_set_window_size (struct frame *f, int tb =3D FRAME_EXTERNAL_TOOL_BAR (f); int pixelwidth, pixelheight; int rows, cols;+ int orig_height =3D wr.size.height; NSTRACE (x_set_window_size); @@ -1386,7 +1387,7 @@ x_set_window_size (struct frame *f, if (f->output_data.ns->zooming) f->output_data.ns->zooming =3D 0; else- wr.origin.y +=3D FRAME_PIXEL_HEIGHT (f) - pixelheight;+ wr.origin.y +=3D orig_height - wr.size.height; [view setRows: rows andColumns: cols]; [window setFrame: wr display: YES]; Effectively, this will ensure that whenever the height of a frame is changed, the origin (the distance from the lower left corner of the display to the lower left hand corner of the frame) is updated accordingly. Keith, please test this and see if it solves your problem with `make-frame'= . If it does then I suggest that we run it past whoever is in charge of the OS X port. Apparently, it's not Jan Dj=C3=A4rv anymore (in fact, I mailed h= im asking him for help and he replied that he no longer was involved with Emacs). I don't have write access to the Emacs repository, so someone would have to commit this for me, if it gets accepted. By the way, do anyone know if there is a test case covering things like this? If not, one should be implemented. Sincerely, Anders On Tue, Sep 15, 2015 at 10:29 AM, martin rudalics wrote: > > I have a font that is an even multiple of the screensize, so I don't > have a > > problem with that. > > You're lucky. External borders, tool bar and menu bar often mess things > up. > > martin > --001a1140feb6c393bb0520201be2 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

Below is a patch that should correc= t the problem:

diff --git a/src/nsterm.m b/src/nsterm.m
index 2806f31..14f2beb 100644
--- a/src/nsterm.m<=
/span>
+++ b/src/nsterm.m
@@ -1333,6 +1333,7=
 @@ x_set_window_s=
ize (struct frame *f,
   int tb =3D FRAME_EXTERNAL_TOOL_BA=
R (f);
   int pixelwidth, pixelheight;
   int rows, cols;
+  int orig_height =3D wr.size.heigh=
t;
=20
   NSTRACE (x_set_window_size);
=20
@@ -1386,7 +1387,7=
 @@ x_set_window_s=
ize (struct frame *f,
  if (f->output_data.ns->zoomi=
ng)
    f->output_data.ns->zooming =3D 0;
  else
-   wr.origin.y +=3D FRAME_PIXEL_HEI=
GHT (f) - pixelheight;
+   wr.origin.y +=3D orig_height - w=
r.size.height;
=20
   [view setRows: rows andColumns: cols];
   [window setFrame: wr display: YES];
Effectively, this will ensure that whenever the height of a frame is change= d, the origin (the distance from the lower left corner of the display to th= e lower left hand corner of the frame) is updated accordingly.

Keith, please test this and see if it solves your problem with `make-= frame'.

If it does then I suggest that we run it past= whoever is in charge of the OS X port. Apparently, it's not Jan Dj=C3= =A4rv anymore (in fact, I mailed him asking him for help and he replied tha= t he no longer was involved with Emacs).

I don't have= write access to the Emacs repository, so someone would have to commit this= for me, if it gets accepted.

By the way, do a= nyone know if there is a test case covering things like this? If not, one s= hould be implemented.

Sincerely,
=C2=A0=C2=A0=C2=A0 Anders




On Tue, Sep 15, = 2015 at 10:29 AM, martin rudalics <rudalics@gmx.at> wrote:
=
> I have a font that is = an even multiple of the screensize, so I don't have a
> problem with that.

You're lucky.=C2=A0 External borders, tool bar and menu bar often mess = things
up.

martin

--001a1140feb6c393bb0520201be2-- From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 19 18:17:25 2015 Received: (at 21415) by debbugs.gnu.org; 19 Sep 2015 22:17:25 +0000 Received: from localhost ([127.0.0.1]:37956 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdQRg-0001gr-Nu for submit@debbugs.gnu.org; Sat, 19 Sep 2015 18:17:24 -0400 Received: from mout.gmx.net ([212.227.15.19]:57014) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdQRe-0001gk-W5 for 21415@debbugs.gnu.org; Sat, 19 Sep 2015 18:17:23 -0400 Received: from [194.166.86.79] ([194.166.86.79]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0M08eS-1Yj6pp1xzY-00uJTh; Sun, 20 Sep 2015 00:17:21 +0200 Message-ID: <55FDDEE6.8070408@gmx.at> Date: Sun, 20 Sep 2015 00:17:10 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> <55F705E6.1000609@gmx.at> <55F7D6F6.90801@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:n91iJSoug449Y+XIMnDVnGmfzYsB8m9/0h5mlmiS1UfBpkfgGLV TDu8Bj8MuayZ8Yd0ER4EW2jznYYDyaUis5yu257CKJUEqY+vtXwG+UJVbFyE4x8nxD//aCt XtfXvAcWYChfm6yBjaBbzLQivPh4oD6lS7P7OISSWzvgVIppkVgDqCAn25//XMsSFuyA08f T04hdVCUIkrknSdLvIdag== X-UI-Out-Filterresults: notjunk:1;V01:K0:i6m5PdoQrLU=:lfznnoXIaedRwQvWqoc4TI cFIAmEvSj4jovLIq7dNZtD7TUDq2ZUKmhEM8rOMxZIC+hlmgpxKe6aLVwbLpRD0S4r3M9f6+E O5K4l16e3pTAMtxC11wfkFYbKeHQ+mjq+3raru9anLBs7MJk1qR01BIC3aVQuU5APnPr175Fs x33y4dF5kF1Lg91psO+uO2vMNP0mSfYCQw8B4sgINX3d+XJxomV/AGva7UnpvhWLV5fbVXjon JKbHqBoI3pB4OQxNp/Jsa0y4dxf1DHJFeGeYDggyleGypfcJXSK2kaCIHLxX8NWeIbx2lOosU y7APprJ2DkK4fABN9clZHX4EhjNRndaYO6ZvvbLOpQkwBc/7s9CiI/xeZiq3/d+BRoh4hQs2q 8HG82h31FpD7Tpr/pSpfeFsuz5A5ffLG3sOENOBjp8BhtIMEdwAke1BNLQINpf3CbrFfB/07p E/fKieCbejdwT1lKbEDn3cq1Jlymy47DEszlHvaJQt30UCV1WJ3XNYK6czZo+Wk0ZrSX+25+u gdTsHzCMMObWmM0S+eWXN3wXkVrY82Nwt5shVPZhmCphve8enE5eLsqAJcMXgBG79f2t/wlL9 j1D834FE+EiNUBpPox8LivHyrBKNjBGImRFXyYqSUY0uJg9wPXzVt5Xr14A2CIExbz+EAkgJs sN02gfJUrtsj6t6UVftsLAnYusiVDeENPo08exU/Amv+P4Osed8sdwNKim2sQTy2HOF7BbrM3 pRPk9xvahHue6jXYSKse4Tbo9vVJ7/WEEIHAOw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Below is a patch that should correct the problem: Thanks. But pretty please send it as an attachment. Here it arrived as: > diff --git a/src/nsterm.m b/src/nsterm.m > index 2806f31..14f2beb 100644--- a/src/nsterm.m > +++ b/src/nsterm.m@@ -1333,6 +1333,7 @@ x_set_window_size (struct > frame *f, int tb = FRAME_EXTERNAL_TOOL_BAR (f); > int pixelwidth, pixelheight; > int rows, cols;+ int orig_height = wr.size.height; > NSTRACE (x_set_window_size); > @@ -1386,7 +1387,7 @@ x_set_window_size (struct frame *f, if > (f->output_data.ns->zooming) > f->output_data.ns->zooming = 0; > else- wr.origin.y += FRAME_PIXEL_HEIGHT (f) - pixelheight;+ > wr.origin.y += orig_height - wr.size.height; > [view setRows: rows andColumns: cols]; > [window setFrame: wr display: YES]; > Effectively, this will ensure that whenever the height of a frame is > changed, the origin (the distance from the lower left corner of the display > to the lower left hand corner of the frame) is updated accordingly. Can you please tell us why the "origin" on OS X is apparently the lower left corner? Where can I read about this? martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 20 03:25:34 2015 Received: (at 21415) by debbugs.gnu.org; 20 Sep 2015 07:25:34 +0000 Received: from localhost ([127.0.0.1]:38058 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdZ09-00075m-TY for submit@debbugs.gnu.org; Sun, 20 Sep 2015 03:25:34 -0400 Received: from mail-vk0-f45.google.com ([209.85.213.45]:34212) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdZ07-00075d-0O for 21415@debbugs.gnu.org; Sun, 20 Sep 2015 03:25:31 -0400 Received: by vkhf67 with SMTP id f67so50002588vkh.1 for <21415@debbugs.gnu.org>; Sun, 20 Sep 2015 00:25:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=kbjez9gtzhoRgbJm2VU0pkPmmrFaRgT+pP09SlzM+nw=; b=eLvQEvkLiitFBuaOCllOOQAssmCvILzP4dHwcK/4idAWnsPRdD+kBsv36arO/6uwR1 b21puFGICAmLrgqFWpGDfGcLBGJj/1fCzQXZSKYG/P9UeOhM+h+3m1kddMZmglzTbjnG Hq5Mhj3VKthvWGvm8oTu+cUvAtJ2YrXcewAGglFFDNnRhc8+1noYculz9Y9dAshrr5ce rEaynncC6iNvoPltOTsbr496F2LXNzYAnVwM8rzV4gnGmFPAkKIaTjdyxLxQ9jsAew2Z HHVsnpfPsRA721ft5atThGVVV6SXDPmUEiH6D10m4XK0bnzcIWcgpsVaNZA3q9f4SeZi m2jQ== MIME-Version: 1.0 X-Received: by 10.31.49.213 with SMTP id x204mr9104487vkx.51.1442733930503; Sun, 20 Sep 2015 00:25:30 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Sun, 20 Sep 2015 00:25:30 -0700 (PDT) In-Reply-To: <55FDDEE6.8070408@gmx.at> References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> <55F705E6.1000609@gmx.at> <55F7D6F6.90801@gmx.at> <55FDDEE6.8070408@gmx.at> Date: Sun, 20 Sep 2015 09:25:30 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/mixed; boundary=001a1143f1ae6f02cc052028ab0f X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1143f1ae6f02cc052028ab0f Content-Type: multipart/alternative; boundary=001a1143f1ae6f02c4052028ab0d --001a1143f1ae6f02c4052028ab0d Content-Type: text/plain; charset=UTF-8 Hi, I've attached the patch, sorry for posting it in the mail. You can read more about "screen coordinates" here: https://developer.apple.com/library/ios/documentation/General/Conceptual/Devpedia-CocoaApp/CoordinateSystem.html Sincerely, Anders On Sun, Sep 20, 2015 at 12:17 AM, martin rudalics wrote: > > Below is a patch that should correct the problem: > > Thanks. But pretty please send it as an attachment. Here it arrived > as: > > > diff --git a/src/nsterm.m b/src/nsterm.m > > index 2806f31..14f2beb 100644--- a/src/nsterm.m > > +++ b/src/nsterm.m@@ -1333,6 +1333,7 @@ x_set_window_size (struct > > frame *f, int tb = FRAME_EXTERNAL_TOOL_BAR (f); > > int pixelwidth, pixelheight; > > int rows, cols;+ int orig_height = wr.size.height; > > NSTRACE (x_set_window_size); > > @@ -1386,7 +1387,7 @@ x_set_window_size (struct frame *f, if > > (f->output_data.ns->zooming) > > f->output_data.ns->zooming = 0; > > else- wr.origin.y += FRAME_PIXEL_HEIGHT (f) - pixelheight;+ > > wr.origin.y += orig_height - wr.size.height; > > [view setRows: rows andColumns: cols]; > > [window setFrame: wr display: YES]; > > > Effectively, this will ensure that whenever the height of a frame is > > changed, the origin (the distance from the lower left corner of the > display > > to the lower left hand corner of the frame) is updated accordingly. > > Can you please tell us why the "origin" on OS X is apparently the lower > left corner? Where can I read about this? > > martin > --001a1143f1ae6f02c4052028ab0d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

I've attached the patch, sorry = for posting it in the mail.

You can read more abou= t "screen coordinates" here:


Sincerely,
=C2=A0 =C2=A0 Ander= s

On S= un, Sep 20, 2015 at 12:17 AM, martin rudalics <rudalics@gmx.at> wrote:
> Below is a= patch that should correct the problem:

Thanks.=C2=A0 But pretty please send it as an attachment.=C2=A0 Here it arr= ived
as:

> diff --git a/src/nsterm.m b/src/nsterm.m
> index 2806f31..14f2beb 100644--- a/src/nsterm.m
> +++ b/src/nsterm.m@@ -1333,6 +1333,7 @@ x_set_window_size (struct
> frame *f,=C2=A0 =C2=A0int tb =3D FRAME_EXTERNAL_TOOL_BAR (f);
>=C2=A0 =C2=A0 =C2=A0int pixelwidth, pixelheight;
>=C2=A0 =C2=A0 =C2=A0int rows, cols;+=C2=A0 int orig_height =3D wr.size.= height;
>=C2=A0 =C2=A0 =C2=A0NSTRACE (x_set_window_size);
>=C2=A0 =C2=A0@@ -1386,7 +1387,7 @@ x_set_window_size (struct frame *f,= =C2=A0 if
> (f->output_data.ns->zooming)
>=C2=A0 =C2=A0 =C2=A0 f->output_data.ns->zooming =3D 0;
>=C2=A0 =C2=A0 else-=C2=A0 =C2=A0wr.origin.y +=3D FRAME_PIXEL_HEIGHT (f)= - pixelheight;+
> wr.origin.y +=3D orig_height - wr.size.height;
>=C2=A0 =C2=A0 =C2=A0[view setRows: rows andColumns: cols];
>=C2=A0 =C2=A0 =C2=A0[window setFrame: wr display: YES];

> Effectively, this will ensure that whenever the height of a frame is > changed, the origin (the distance from the lower left corner of the di= splay
> to the lower left hand corner of the frame) is updated accordingly.
Can you please tell us why the "origin" on OS X is apparently the= lower
left corner?=C2=A0 Where can I read about this?

martin

--001a1143f1ae6f02c4052028ab0d-- --001a1143f1ae6f02cc052028ab0f Content-Type: text/plain; charset=US-ASCII; name="diff.txt" Content-Disposition: attachment; filename="diff.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ies6efb60 ZGlmZiAtLWdpdCBhL3NyYy9uc3Rlcm0ubSBiL3NyYy9uc3Rlcm0ubQppbmRleCAyODA2ZjMxLi4x NGYyYmViIDEwMDY0NAotLS0gYS9zcmMvbnN0ZXJtLm0KKysrIGIvc3JjL25zdGVybS5tCkBAIC0x MzMzLDYgKzEzMzMsNyBAQCB4X3NldF93aW5kb3dfc2l6ZSAoc3RydWN0IGZyYW1lICpmLAogICBp bnQgdGIgPSBGUkFNRV9FWFRFUk5BTF9UT09MX0JBUiAoZik7CiAgIGludCBwaXhlbHdpZHRoLCBw aXhlbGhlaWdodDsKICAgaW50IHJvd3MsIGNvbHM7CisgIGludCBvcmlnX2hlaWdodCA9IHdyLnNp emUuaGVpZ2h0OwogCiAgIE5TVFJBQ0UgKHhfc2V0X3dpbmRvd19zaXplKTsKIApAQCAtMTM4Niw3 ICsxMzg3LDcgQEAgeF9zZXRfd2luZG93X3NpemUgKHN0cnVjdCBmcmFtZSAqZiwKICBpZiAoZi0+ b3V0cHV0X2RhdGEubnMtPnpvb21pbmcpCiAgICBmLT5vdXRwdXRfZGF0YS5ucy0+em9vbWluZyA9 IDA7CiAgZWxzZQotICAgd3Iub3JpZ2luLnkgKz0gRlJBTUVfUElYRUxfSEVJR0hUIChmKSAtIHBp eGVsaGVpZ2h0OworICAgd3Iub3JpZ2luLnkgKz0gb3JpZ19oZWlnaHQgLSB3ci5zaXplLmhlaWdo dDsKIAogICBbdmlldyBzZXRSb3dzOiByb3dzIGFuZENvbHVtbnM6IGNvbHNdOwogICBbd2luZG93 IHNldEZyYW1lOiB3ciBkaXNwbGF5OiBZRVNdOwo= --001a1143f1ae6f02cc052028ab0f-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 20 04:44:21 2015 Received: (at 21415) by debbugs.gnu.org; 20 Sep 2015 08:44:21 +0000 Received: from localhost ([127.0.0.1]:38113 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdaEO-0000Wt-MD for submit@debbugs.gnu.org; Sun, 20 Sep 2015 04:44:20 -0400 Received: from mout.gmx.net ([212.227.15.18]:56212) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdaEM-0000Wk-Lq for 21415@debbugs.gnu.org; Sun, 20 Sep 2015 04:44:19 -0400 Received: from [194.166.87.142] ([194.166.87.142]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0M2t0Q-1YlD9z1Bdm-00senp; Sun, 20 Sep 2015 10:44:17 +0200 Message-ID: <55FE71D2.7050401@gmx.at> Date: Sun, 20 Sep 2015 10:44:02 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> <55F705E6.1000609@gmx.at> <55F7D6F6.90801@gmx.at> <55FDDEE6.8070408@gmx.at> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:18ozX/Um+eR9IXuQxAauHK4ZtlOcawyKSEEuZJ/QvZX0yat4lJw 3/9ttW1Rt6X4UPKWUyzxa/kR9K9xO7zkk369NRFH6XU0iiqEgiGxqXSLH7Bd7vtlHa3stae z5ewOMAT12vYDlYY3zI9EhWLBM3lDniKlmpjdr/ymykjwsZrnRLHRp/o4K9SUkvKggNk3l1 KJsnFoWeYGsd+BrV3nPlw== X-UI-Out-Filterresults: notjunk:1;V01:K0:SlchAcNo18k=:q/V1H1CvxcX51LaGNcPiL6 yFaPW4xzR841PwFrHF2GON3/16oXtKVvoX6X7ITCemWxO6bNrlK1r7aro7IK2rnR80k9iNvtb n7roptJjcBs+HhCuyEceeN35Q9HXNcnGF9IqC2BS3/owkcP9RtAW++p0bn8ddkXNShLzgXMuC PctxxnBr7h+g+GCYw/Y+rQ5pOzZL1TZt4Eu+3hUfEi9xK8iwkGo5PhVsVKK0gNozEq+1NNZtK xx4qkO1eNqHJ0CccPLGVikps5zhVCLjFObLK7H5971IQk7lLGXKgk8uUnKsRO3bMyKBnL+16y rKsDdNtFKFkY0Ifp85b/A1LAEUEjESbzShyP+ucbQD0Fyy/ysPVzBTRp6ljXg7YQh5NiVoDUw qQP+JTYfjZKqKyCs4Qcd4BVfPfw2JP4aHgd0VDvptWF6W5ZQ7rXWw8qyTaetvS7NyDv4yHElU JX/ZYBahRksM6w7+C1HCZ6vwH/vVwya/FVp2aUZ0ZIcfBOpsi30aiilOGrZUJDeKVfSCIsDiI 4k836Tu+P7SsN8k2vNDhOMEABPwRh7QWXR0vOqKa0BCmoAE4UaB4vg8HOMBslyApdOHMSbWe3 0C7CfZab9Zqo3FOQza8ZYbWEQPzNz7WCZIX/y1SqMhLUxTaq7cjJ91DLe+R8ZmRawvdjXRHpS BBhzUTlZE99rWV1POs5N4V1t01r+6ei7n4wB5LllhCqNX4NjYb4fqo2142VU3tYNFl7QvJxEV OM6PQQS2yBZiuVOKsUYVUC7Fum08ane7APT4ZQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I've attached the patch, sorry for posting it in the mail. Thank you. Keith please try it. If it fixes all remaining issues I'll try to commit everything we have now next week. > You can read more about "screen coordinates" here: > > https://developer.apple.com/library/ios/documentation/General/Conceptual/Devpedia-CocoaApp/CoordinateSystem.html Thanks. I'm slightly confused, at least - I have no idea what flipping means. Can you have a short look at the section "Frame Geometry" in the Elisp manual? Maybe I should mention something about this issue there. And do you have any idea why this apparently worked in Emacs 24.5 and doesn't work with present master/trunk? martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 20 05:27:47 2015 Received: (at 21415) by debbugs.gnu.org; 20 Sep 2015 09:27:47 +0000 Received: from localhost ([127.0.0.1]:38124 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdauQ-0001WF-Px for submit@debbugs.gnu.org; Sun, 20 Sep 2015 05:27:47 -0400 Received: from mail-vk0-f47.google.com ([209.85.213.47]:34473) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdauO-0001W7-9A for 21415@debbugs.gnu.org; Sun, 20 Sep 2015 05:27:45 -0400 Received: by vkhf67 with SMTP id f67so50617491vkh.1 for <21415@debbugs.gnu.org>; Sun, 20 Sep 2015 02:27:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=N3VKRhaofvrSC6Nk14YrpSa5c2Djq6N5/SchxqyvfnM=; b=ahODEOTabHke2Wqfa1W4c2nM6kqi4NHIljkeYY6sMd3EQ9pKT4wye7PhfsM3uZmY4a O+NjMfFE4CFUdcJD//luAVjaDWQs314NwrQ6UMidEj6kPI1CWj0KgJM6wR2bUw358Ptm mM0U0gKEurdY+PWeLiPLoun45dhPg8XdQRTAGB3FHXkByGLv0Hpv3zMLV9dMw9/m+nTG rxkDOIIKVQwZJM0/MoERRi/ig3EQq5i5cHQZU2nDZbCmr/tfkZHwU1VzStVRohrrL5R0 36tYwgP0nILRorkBbvPWDK+hBAXTabTjbPqzama2mid1173eY2Ghl748wAzYP/PIu++r BWDQ== MIME-Version: 1.0 X-Received: by 10.31.174.135 with SMTP id x129mr8697655vke.26.1442741263556; Sun, 20 Sep 2015 02:27:43 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Sun, 20 Sep 2015 02:27:43 -0700 (PDT) In-Reply-To: <55FE71D2.7050401@gmx.at> References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> <55F705E6.1000609@gmx.at> <55F7D6F6.90801@gmx.at> <55FDDEE6.8070408@gmx.at> <55FE71D2.7050401@gmx.at> Date: Sun, 20 Sep 2015 11:27:43 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a11434d2084825005202a60a3 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a11434d2084825005202a60a3 Content-Type: text/plain; charset=UTF-8 Martin, I just hope I didn't confuse you with the "screen coordinates" stuff. From an Emacs users point of view (and from the point of view of elisp) the UPPER LEFT corner is 0x0 -- as it is on every other system. The fact that OS X see everything from the lower left corner is handled by internally by "nsterm.m". Hence, there is no need to mention this in the manual. "Flipping" mean that the coordinate system is mirrored, in some way. I guess it could be used to set the upper left as the origin, but I'm not that into OS X to tell you how that is done and what other consequences that would have for the Emacs code base. Unfortunately, I have no idea why it worked in 24.5 and why it didn't in 25. There has been a lot of changes along the way, so one would have to inspect each one to see what changed, and why. / Anders On Sun, Sep 20, 2015 at 10:44 AM, martin rudalics wrote: > > I've attached the patch, sorry for posting it in the mail. > > Thank you. Keith please try it. If it fixes all remaining issues I'll > try to commit everything we have now next week. > > > You can read more about "screen coordinates" here: > > > > > https://developer.apple.com/library/ios/documentation/General/Conceptual/Devpedia-CocoaApp/CoordinateSystem.html > > Thanks. I'm slightly confused, at least - I have no idea what flipping > means. Can you have a short look at the section "Frame Geometry" in the > Elisp manual? Maybe I should mention something about this issue there. > > And do you have any idea why this apparently worked in Emacs 24.5 and > doesn't work with present master/trunk? > > martin > --001a11434d2084825005202a60a3 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Martin,

I just hope I didn't confus= e you with the "screen coordinates" stuff. From an Emacs users po= int of view (and from the point of view of elisp) the UPPER LEFT corner is = 0x0 -- as it is on every other system. The fact that OS X see everything fr= om the lower left corner is handled by internally by "nsterm.m". = Hence, there is no need to mention this in the manual.

=
"Flipping" mean that the coordinate system is mirrored, in s= ome way. I guess it could be used to set the upper left as the origin, but = I'm not that into OS X to tell you how that is done and what other cons= equences that would have for the Emacs code base.

= Unfortunately, I have no idea why it worked in 24.5 and why it didn't i= n 25. There has been a lot of changes along the way, so one would have to i= nspect each one to see what changed, and why.

/ An= ders

O= n Sun, Sep 20, 2015 at 10:44 AM, martin rudalics <rudalics@gmx.at> wrote:
> I'v= e attached the patch, sorry for posting it in the mail.

Thank you.=C2=A0 Keith please try it.=C2=A0 If it fixes all remaining issue= s I'll
try to commit everything we have now next week.

> You can read more about "screen coordinates" here:
>
> https://developer.apple.com/library/ios/documentation/Gene= ral/Conceptual/Devpedia-CocoaApp/CoordinateSystem.html

Thanks.=C2=A0 I'm slightly confused, at least - I have no idea what fli= pping
means.=C2=A0 Can you have a short look at the section "Frame Geometry&= quot; in the
Elisp manual?=C2=A0 Maybe I should mention something about this issue there= .

And do you have any idea why this apparently worked in Emacs 24.5 and
doesn't work with present master/trunk?

martin

--001a11434d2084825005202a60a3-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 20 05:54:26 2015 Received: (at 21415) by debbugs.gnu.org; 20 Sep 2015 09:54:26 +0000 Received: from localhost ([127.0.0.1]:38130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdbKD-00026Z-Iv for submit@debbugs.gnu.org; Sun, 20 Sep 2015 05:54:25 -0400 Received: from mout.gmx.net ([212.227.15.18]:58707) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdbKB-00026P-4M for 21415@debbugs.gnu.org; Sun, 20 Sep 2015 05:54:23 -0400 Received: from [188.22.104.149] ([188.22.104.149]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0MZTw5-1ZJ3lQ22kn-00LG0m; Sun, 20 Sep 2015 11:54:21 +0200 Message-ID: <55FE8241.2020409@gmx.at> Date: Sun, 20 Sep 2015 11:54:09 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> <55F705E6.1000609@gmx.at> <55F7D6F6.90801@gmx.at> <55FDDEE6.8070408@gmx.at> <55FE71D2.7050401@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:VrLIhf/1BKmbI9sSWZkWg37dQZsQo+JC3axqjksGCLw79Hz0yxO mjIPnP0a1kOkG809TMctWsnu+hzFN0gflBTdjvtxuZBS9VlLxHy4AYYyXz0ZT/RO9L/6gm1 CPbmBQh+okVzdMuGejKXv/4Epy4RGvKBSUQ8TgjuR369E3oc0cshkVYsrYuknRSbYwlQM7a QF9GAE2KtDY4Cd5SSBHOA== X-UI-Out-Filterresults: notjunk:1;V01:K0:6WWm5lSwn5w=:OGAZWk+YZ91o+B5YwMlUfv mULPrOBOYsDOfz5VAypLhUNB25Riz6+3QL7bSbkzbjqgCppihaNnfrw/HN16+lGJVpUz2mBSt 1TzeN8jdOknLwecq/ZHDfjOlIEru35SRTMM33RDWDq/on1UOjDh6Hn1pWRkYZ72tXI75IKtq6 a47L7ExUtGGVlPgko8wHd/ijPLgCj60g9jA+UtOXi5jYP6sP5IwDgIuXQ8mLmdOtd6HjjWnZo U2VIKAClZuNOoOba2bbU2Md4GjaqS1YrZVBB4Zrm3PpLnU41a4rcARmArEOkVOz4/y8h1fB/u 53gTRyDNuX1jBhU4gAQceXuGQhoXxc/Dq1o8kujtB/sb3Od7riFpPPNGGEsahJaVJ/+4HPhW9 Wsis/LM5nVu0eUo6TgiuH/QIycOuXnUc9CWVm6nSccDJwbX41anCH9ErH8BMrHfmL4THbHHA/ mTuFOrnQES9K3bfogTxWKQjI4/9GwkKYAzx4ryzjc55K5Dx8lD0vi1GgP7Xde93juGAxxRBat VuWdH2hmY95fvGnJk5POHw1mzKcwlESaqDhABLM3e7AEguLtKL+LciBHqmoepyns021oK1d1S nOid2exmJemfH5u3ccQ1EO4hfoc2ykrysWphaE+4DQ366swqgTR73dT96y2Aal4NMIfUKt1X3 zoCQRTVcEkSPRvG2Zz+E6FDuciTZyUBlgVu+MMQwQm+Q8Ly4uoRFAnuDA8rfXC54TW8M50fRi Kvc805BfXv1LPIwGuIzEQ8MVqBvpLhbxrEqgCg== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I just hope I didn't confuse you with the "screen coordinates" stuff. From > an Emacs users point of view (and from the point of view of elisp) the > UPPER LEFT corner is 0x0 -- as it is on every other system. The fact that > OS X see everything from the lower left corner is handled by internally by > "nsterm.m". I guessed so but wanted your confirmation. > Hence, there is no need to mention this in the manual. > > "Flipping" mean that the coordinate system is mirrored, in some way. I > guess it could be used to set the upper left as the origin, but I'm not > that into OS X to tell you how that is done and what other consequences > that would have for the Emacs code base. > > Unfortunately, I have no idea why it worked in 24.5 and why it didn't in > 25. There has been a lot of changes along the way, so one would have to > inspect each one to see what changed, and why. No need to investigate if it works now. Hopefully we can count on you when we see similar problems. After Jan's resignation we need all the help we can get. Many thanks, martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 20 12:47:54 2015 Received: (at 21415) by debbugs.gnu.org; 20 Sep 2015 16:47:54 +0000 Received: from localhost ([127.0.0.1]:38967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdhmL-0006Nv-TE for submit@debbugs.gnu.org; Sun, 20 Sep 2015 12:47:54 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:44343) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdhmK-0006No-A5 for 21415@debbugs.gnu.org; Sun, 20 Sep 2015 12:47:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=xNiEQ4uioHdq/plS4QR3829fXBFLck2Gi1maeiDUX9U=; b=fMhdmHAoVQT9QLwpd6+eMX14bqNw2+8WYTBJT/lLYKHDS8WQLXNq/T9EwZvxyYGAlSQCrMjl7+AtyUtKIg+MV3eq53D5gNe08DbyctRgZmy0a1HBlVdzEDLrV4emIs/I; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50369 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZdhmI-0007rq-1w; Sun, 20 Sep 2015 12:47:50 -0400 Date: Sun, 20 Sep 2015 09:47:50 -0700 Message-ID: From: Keith David Bershatsky To: Martin Rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) The latest patch by Anders is working well with the following tests: (make-frame '( (top . 50) (left . 50) ;; (height . 250.0) (width . 250.0))) (make-frame '( (top . 50) (left . 50) (height . 250.0) (width . 250.0))) (make-frame) The `top` frame parameter is now respected. When the `top` and `left` frame parameters are not included and `ns-auto-hide-menu-bar` is set to `t`, the default position is 0 0, even for large frames that are the size of the display -- very good! The build recipe I used was the latest patch by Martin -- but WITHOUT modifying "if (ns_menu_bar_should_be_hidden ()) return frameRect;" -- followed by applying the patch from Anders. Thanks, Keith From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 20 14:29:57 2015 Received: (at 21415) by debbugs.gnu.org; 20 Sep 2015 18:29:57 +0000 Received: from localhost ([127.0.0.1]:39084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdjN6-0000RC-Ay for submit@debbugs.gnu.org; Sun, 20 Sep 2015 14:29:56 -0400 Received: from mail-vk0-f41.google.com ([209.85.213.41]:35902) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdjN4-0000R3-Lz for 21415@debbugs.gnu.org; Sun, 20 Sep 2015 14:29:55 -0400 Received: by vkfp126 with SMTP id p126so53885911vkf.3 for <21415@debbugs.gnu.org>; Sun, 20 Sep 2015 11:29:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=UhAYERYWsvtqmuX2EMJOvqL2MR5QdaxfBmOMhZ98SRA=; b=bdIQ44NwaLewQBf1MKeo/cwQr0vPoPfMJv9op8RWM9JxnQQKvtvqTEZMpT6vMtDDHr JovZKGa1SlhIeDKMux+cTQfADWXDv2NzZjx9u1qcC82mDuOvJ0GOQkf404TPNF1Wk9+i LuOpYZevmGNoWdcvjqCyCUTgwMZjvmvL4dAwFovlH1sfr6g1uUrjTlDM6xqs5GQIb92n LP70BQv9INe13+ax/tWPKIAmxrVnWKtQqh3xgpyaUOyyKMn1cgF9nKTpFM0ruhN3mDU8 xf/eWgRY9aup2T0aPphnowvQIG4D6qkM5U6WhAXMYt10VSisgIujNYJyusKNbL6rCQAX NNtg== MIME-Version: 1.0 X-Received: by 10.31.128.78 with SMTP id b75mr10491379vkd.70.1442773794227; Sun, 20 Sep 2015 11:29:54 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Sun, 20 Sep 2015 11:29:54 -0700 (PDT) In-Reply-To: <55FE8241.2020409@gmx.at> References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> <55F705E6.1000609@gmx.at> <55F7D6F6.90801@gmx.at> <55FDDEE6.8070408@gmx.at> <55FE71D2.7050401@gmx.at> <55FE8241.2020409@gmx.at> Date: Sun, 20 Sep 2015 20:29:54 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a1142a4047f0c55052031f374 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1142a4047f0c55052031f374 Content-Type: text/plain; charset=UTF-8 On Sun, Sep 20, 2015 at 11:54 AM, martin rudalics wrote: > Hopefully we can count on you when we see similar problems. After Jan's resignation we need all the help we can get. > If I can help, I will try to do so. I know the code base relatively well, even though I've only authored a fraction of it. Having said that, I just want you to know that I'm not that experienced when it comes to OS X programming. Emacs is the only OS X application I've ever worked on. Also, I am very time limited, given that I have a full time job (I'm a compiler developer) and that I have small children (keeping me very occupied). When it comes to the code base, if I should work with it more, the first thing I would do is to enhance the trace system (the NSTRACE_xxx macros). The next would be to set up a regression test system, both generic and OS X specific, so that it would be easy to detect when things like `make-frame' changes behaviour, and so that the different UI:s don't diverge more than they already have done. Sincerely, Anders Lindgren --001a1142a4047f0c55052031f374 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On S= un, Sep 20, 2015 at 11:54 AM, martin rudalics <rudalics@gmx.at> wrote:
Hopefully we can count on you=C2= =A0when we see similar problems.=C2=A0 After Jan's=C2=A0
resignation we need all the=C2=A0help we can = get.

If I can help, I will try to do so= . I know the code base relatively well, even though I've only authored = a fraction of it.

Having said that, I just want yo= u to know that I'm not that experienced when it comes to OS X programmi= ng. Emacs is the only OS X application I've ever worked on. Also, I am = very time limited, given that I have a full time job (I'm a compiler de= veloper) and that I have small children (keeping me very occupied).

When it comes to the code base, if I should work with it = more, the first thing I would do is to enhance the trace system (the NSTRAC= E_xxx macros). The next would be to set up a regression test system, both g= eneric and OS X specific, so that it would be easy to detect when things li= ke `make-frame' changes behaviour, and so that the different UI:s don&#= 39;t diverge more than they already have done.

Sin= cerely,
=C2=A0 =C2=A0 Anders Lindgren

<= /div>
--001a1142a4047f0c55052031f374-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 20 14:31:35 2015 Received: (at 21415) by debbugs.gnu.org; 20 Sep 2015 18:31:35 +0000 Received: from localhost ([127.0.0.1]:39092 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdjOg-0000VZ-9P for submit@debbugs.gnu.org; Sun, 20 Sep 2015 14:31:34 -0400 Received: from mail-vk0-f54.google.com ([209.85.213.54]:33192) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdjOd-0000VP-VO for 21415@debbugs.gnu.org; Sun, 20 Sep 2015 14:31:32 -0400 Received: by vkgd64 with SMTP id d64so54034285vkg.0 for <21415@debbugs.gnu.org>; Sun, 20 Sep 2015 11:31:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Rf3cCsatlny6ja+sTI9xdqrtKwAh3NJtszAOfb8NFzU=; b=nFLz9ZHj5coPi7vANzoQKD+nCxvjnlmRCGJtSwt6fG1gOtcKEO5728LFsCxViO36xt ws0HOvO3EWXTBPjkYdCvVyfN0OoC8m487anZIBersruWwBrlO/eDYP/Cs7pC/ffzdB3j 2V2ow+iH29cI5cZqJIuFN1gNf3s74noZWiHDuIXwD+rNSszWsCFk+YzAdGtewC0dB+ZE iBaB7Ryx2K5FoHBcb7KuYo4fz0oVDjRqy3LRevbr928O95slZNC3Bo+bjKkY+2WRqHKB daUHZ/2o0CWZedOp6PzFC8LztZ2OvLN67bMwrZw1So7giPTlw4PzqbbstSKBKESgObVk e8IA== MIME-Version: 1.0 X-Received: by 10.31.170.68 with SMTP id t65mr8904034vke.31.1442773891542; Sun, 20 Sep 2015 11:31:31 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Sun, 20 Sep 2015 11:31:31 -0700 (PDT) In-Reply-To: References: Date: Sun, 20 Sep 2015 20:31:31 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky Content-Type: multipart/alternative; boundary=001a11431b664bf987052031f94d X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a11431b664bf987052031f94d Content-Type: text/plain; charset=UTF-8 > > The `top` frame parameter is now respected. When the `top` and `left` > frame parameters are not included and `ns-auto-hide-menu-bar` is set to > `t`, the default position is 0 0, even for large frames that are the size > of the display -- very good! > Great news! Are there any other open issues, or does this cover everything? / Anders --001a11431b664bf987052031f94d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
The `top` frame parameter is now respected.=C2= =A0 When the `top` and `left` frame parameters are not included and `ns-aut= o-hide-menu-bar` is set to `t`, the default position is 0 0, even for large= frames that are the size of the display -- very good!

Great news!

Are there any other op= en issues, or does this cover everything?

/ Anders=

--001a11431b664bf987052031f94d-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 20 15:14:37 2015 Received: (at 21415) by debbugs.gnu.org; 20 Sep 2015 19:14:37 +0000 Received: from localhost ([127.0.0.1]:39135 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zdk4L-0001TS-G1 for submit@debbugs.gnu.org; Sun, 20 Sep 2015 15:14:37 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:56455) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zdk4J-0001TK-Gh for 21415@debbugs.gnu.org; Sun, 20 Sep 2015 15:14:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=ziFeSdDvaFJFQCyhAte+tMDpwAUGenwJTcoKKpydJcU=; b=qIfR2AcGVoqzMA2BNgO/0lkbvTHE1BUKfD3naXL19Fag+gMtfqozbTHNJToFCOPijaDMFM+6DHugGmmqiF0a3iFfAP0eGrWMHBJH0FPPkDjvFA08YTEkHYYZ6lMTffhK; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:52044 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1Zdk4G-0000TC-Qb; Sun, 20 Sep 2015 15:14:33 -0400 Date: Sun, 20 Sep 2015 12:14:33 -0700 Message-ID: From: Keith David Bershatsky To: Anders Lindgren ,Martin Rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: multipart/mixed; boundary="Multipart_Sun_Sep_20_12:14:32_2015-1" Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --Multipart_Sun_Sep_20_12:14:32_2015-1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit > Are there any other open issues, or does this cover everything? > > / Anders All issues regarding functionality as to bug 21415 are handled as far as I can tell. Attached is the combined patch that I used today to perform my testing. Martin implemented a new feature for pixel width/height specifications with a floating number, so it would probably be a good idea to mention something about that feature somewhere in the doc-string for `make-frame'. And, as Anders previously noted, on OSX it is possible to set the width or the height or both -- so the following statement may need to be modified to something such as: "On some operating systems, . . .[y]ou cannot specify either ‘width’ or ‘height’, you must specify neither or both." Thank you both for all your hard work -- today is the first time since I started using Emacs that I have been able to set the `default-frame-alist` in my `.emacs` file and have it work well for the initial frame and all subsequently created frames. :) Keith --Multipart_Sun_Sep_20_12:14:32_2015-1 Content-Type: application/diff; type=patch Content-Disposition: attachment; filename="21415_g.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9mcmFtZS5jIGIvc3JjL2ZyYW1lLmMKaW5kZXggNmRlYmNiOC4uMDFj NzE2NiAxMDA2NDQKLS0tIGEvc3JjL2ZyYW1lLmMKKysrIGIvc3JjL2ZyYW1lLmMKQEAgLTQyOCwx MyArNDI4LDE1IEBAIGFkanVzdF9mcmFtZV9zaXplIChzdHJ1Y3QgZnJhbWUgKmYsIGludCBuZXdf d2lkdGgsIGludCBuZXdfaGVpZ2h0LCBpbnQgaW5oaWJpdCwKICAgICAgICB3aXRoaW4gdGhlIGxp bWl0cyBhbmQgZWl0aGVyIGZyYW1lX2luaGliaXRfcmVzaXplIHRlbGxzIHVzIHRvIGRvCiAgICAg ICAgc28gb3IgSU5ISUJJVCBlcXVhbHMgNC4gICovCiAgICAgewotICAgICAgaW5oaWJpdF9ob3Jp em9udGFsID0gKCh3aW5kb3dzX3dpZHRoID49IG1pbl93aW5kb3dzX3dpZHRoCi0JCQkgICAgICYm IChpbmhpYml0ID09IDQKLQkJCQkgfHwgZnJhbWVfaW5oaWJpdF9yZXNpemUgKGYsIHRydWUsIHBh cmFtZXRlcikpKQorICAgICAgaW5oaWJpdF9ob3Jpem9udGFsID0gKChmLT5pbmhpYml0X2ltcGxp ZWRfcmVzaXplCisJCQkgICAgIHx8ICh3aW5kb3dzX3dpZHRoID49IG1pbl93aW5kb3dzX3dpZHRo CisJCQkJICYmIChpbmhpYml0ID09IDQKKwkJCQkgICAgIHx8IGZyYW1lX2luaGliaXRfcmVzaXpl IChmLCB0cnVlLCBwYXJhbWV0ZXIpKSkpCiAJCQkgICAgPyB0cnVlIDogZmFsc2UpOwotICAgICAg aW5oaWJpdF92ZXJ0aWNhbCA9ICgod2luZG93c19oZWlnaHQgPj0gbWluX3dpbmRvd3NfaGVpZ2h0 Ci0JCQkgICAmJiAoaW5oaWJpdCA9PSA0Ci0JCQkgICAgICAgfHwgZnJhbWVfaW5oaWJpdF9yZXNp emUgKGYsIGZhbHNlLCBwYXJhbWV0ZXIpKSkKKyAgICAgIGluaGliaXRfdmVydGljYWwgPSAoKGYt PmluaGliaXRfaW1wbGllZF9yZXNpemUKKwkJCSAgIHx8ICh3aW5kb3dzX2hlaWdodCA+PSBtaW5f d2luZG93c19oZWlnaHQKKwkJCSAgICAgICAmJiAoaW5oaWJpdCA9PSA0CisJCQkJICAgfHwgZnJh bWVfaW5oaWJpdF9yZXNpemUgKGYsIGZhbHNlLCBwYXJhbWV0ZXIpKSkpCiAJCQkgID8gdHJ1ZSA6 IGZhbHNlKTsKICAgICB9CiAgIGVsc2UKQEAgLTYzNCw2ICs2MzYsNyBAQCBtYWtlX2ZyYW1lIChi b29sIG1pbmlfcCkKICAgZi0+Z2FyYmFnZWQgPSB0cnVlOwogICBmLT5jYW5feF9zZXRfd2luZG93 X3NpemUgPSBmYWxzZTsKICAgZi0+YWZ0ZXJfbWFrZV9mcmFtZSA9IGZhbHNlOworICBmLT5pbmhp Yml0X2ltcGxpZWRfcmVzaXplID0gZmFsc2U7CiAgIGYtPnRvb2xfYmFyX3JlZGlzcGxheWVkX29u Y2UgPSBmYWxzZTsKICAgZi0+Y29sdW1uX3dpZHRoID0gMTsgIC8qICFGUkFNRV9XSU5ET1dfUCB2 YWx1ZS4gICovCiAgIGYtPmxpbmVfaGVpZ2h0ID0gMTsgIC8qICFGUkFNRV9XSU5ET1dfUCB2YWx1 ZS4gICovCkBAIC0yMzA0LDYgKzIzMDcsNyBAQCBvdGhlcndpc2UgdXNlZCB3aXRoIHV0dGVyIGNh cmUgdG8gYXZvaWQgdGhhdCBydW5uaW5nIGZ1bmN0aW9ucyBvbgogewogICBzdHJ1Y3QgZnJhbWUg KmYgPSBkZWNvZGVfbGl2ZV9mcmFtZSAoZnJhbWUpOwogICBmLT5hZnRlcl9tYWtlX2ZyYW1lID0g IU5JTFAgKG1hZGUpOworICBmLT5pbmhpYml0X2ltcGxpZWRfcmVzaXplID0gZmFsc2U7CiAgIHJl dHVybiBtYWRlOwogfQoKQEAgLTMxNjcsMTUgKzMxNzEsMjUgQEAgeF9zZXRfZnJhbWVfcGFyYW1l dGVycyAoc3RydWN0IGZyYW1lICpmLCBMaXNwX09iamVjdCBhbGlzdCkKICAgICAgIHByb3AgPSBw YXJtc1tpXTsKICAgICAgIHZhbCA9IHZhbHVlc1tpXTsKCi0gICAgICBpZiAoRVEgKHByb3AsIFF3 aWR0aCkgJiYgUkFOR0VEX0lOVEVHRVJQICgwLCB2YWwsIElOVF9NQVgpKQorICAgICAgaWYgKEVR IChwcm9wLCBRd2lkdGgpKQogICAgICAgICB7CiAJICB3aWR0aF9jaGFuZ2UgPSAxOwotICAgICAg ICAgIHdpZHRoID0gWEZBU1RJTlQgKHZhbCkgKiBGUkFNRV9DT0xVTU5fV0lEVEggKGYpIDsKKwkg IGlmIChSQU5HRURfSU5URUdFUlAgKDAsIHZhbCwgSU5UX01BWCkpCisJICAgIHdpZHRoID0gWEZB U1RJTlQgKHZhbCkgKiBGUkFNRV9DT0xVTU5fV0lEVEggKGYpIDsKKwkgIGVsc2UgaWYgKEZMT0FU UCAodmFsKQorCQkgICAmJiBYRkxPQVRfREFUQSAodmFsKSA+PSAwCisJCSAgICYmIChpbnQpIFhG TE9BVF9EQVRBICh2YWwpIDw9IElOVF9NQVgpCisJICAgIHdpZHRoID0gKGludCkgWEZMT0FUX0RB VEEgKHZhbCk7CiAgICAgICAgIH0KLSAgICAgIGVsc2UgaWYgKEVRIChwcm9wLCBRaGVpZ2h0KSAm JiBSQU5HRURfSU5URUdFUlAgKDAsIHZhbCwgSU5UX01BWCkpCisgICAgICBlbHNlIGlmIChFUSAo cHJvcCwgUWhlaWdodCkpCiAgICAgICAgIHsKIAkgIGhlaWdodF9jaGFuZ2UgPSAxOwotICAgICAg ICAgIGhlaWdodCA9IFhGQVNUSU5UICh2YWwpICogRlJBTUVfTElORV9IRUlHSFQgKGYpOworCSAg aWYgKFJBTkdFRF9JTlRFR0VSUCAoMCwgdmFsLCBJTlRfTUFYKSkKKwkgICAgaGVpZ2h0ID0gWEZB U1RJTlQgKHZhbCkgKiBGUkFNRV9MSU5FX0hFSUdIVCAoZik7CisJICBlbHNlIGlmIChGTE9BVFAg KHZhbCkKKwkJICAgJiYgWEZMT0FUX0RBVEEgKHZhbCkgPj0gMAorCQkgICAmJiAoaW50KSBYRkxP QVRfREFUQSAodmFsKSA8PSBJTlRfTUFYKQorCSAgICBoZWlnaHQgPSAoaW50KSBYRkxPQVRfREFU QSAodmFsKTsKICAgICAgICAgfQogICAgICAgZWxzZSBpZiAoRVEgKHByb3AsIFF0b3ApKQogCXRv cCA9IHZhbDsKQEAgLTQ1ODIsMjAgKzQ1OTYsNTAgQEAgeF9maWd1cmVfd2luZG93X3NpemUgKHN0 cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmplY3QgcGFybXMsIGJvb2wgdG9vbGJhcl9wKQogICAgIHsK ICAgICAgIGlmICghRVEgKHdpZHRoLCBRdW5ib3VuZCkpCiAJewotCSAgQ0hFQ0tfTlVNQkVSICh3 aWR0aCk7Ci0JICBpZiAoISAoMCA8PSBYSU5UICh3aWR0aCkgJiYgWElOVCAod2lkdGgpIDw9IElO VF9NQVgpKQotCSAgICB4c2lnbmFsMSAoUWFyZ3Nfb3V0X29mX3JhbmdlLCB3aWR0aCk7CisJICBp ZiAoRkxPQVRQICh3aWR0aCkpCisJICAgIHsKKwkgICAgICBpZiAoKGludCkgWEZMT0FUX0RBVEEg KHdpZHRoKSA8IChGUkFNRV9TQ1JPTExfQkFSX0FSRUFfV0lEVEggKGYpCisJCQkJCSAgICAgICAr IEZSQU1FX1RPVEFMX0ZSSU5HRV9XSURUSCAoZikKKwkJCQkJICAgICAgICsgMiAqIEZSQU1FX0lO VEVSTkFMX0JPUkRFUl9XSURUSCAoZikpCisJCSAgfHwgKGludCkgWEZMT0FUX0RBVEEgKHdpZHRo KSA+IElOVF9NQVgpCisJCXhzaWduYWwxIChRYXJnc19vdXRfb2ZfcmFuZ2UsIHdpZHRoKTsKKwkg ICAgICBlbHNlCisJCVNFVF9GUkFNRV9XSURUSCAoZiwgKGludCkgWEZMT0FUX0RBVEEgKHdpZHRo KSk7CgotCSAgU0VUX0ZSQU1FX1dJRFRIIChmLCBYSU5UICh3aWR0aCkgKiBGUkFNRV9DT0xVTU5f V0lEVEggKGYpKTsKKwkgICAgICBmLT5pbmhpYml0X2ltcGxpZWRfcmVzaXplID0gdHJ1ZTsKKwkg ICAgfQorCSAgZWxzZQorCSAgICB7CisJICAgICAgQ0hFQ0tfTlVNQkVSICh3aWR0aCk7CisJICAg ICAgaWYgKCEgKDAgPD0gWElOVCAod2lkdGgpICYmIFhJTlQgKHdpZHRoKSA8PSBJTlRfTUFYKSkK KwkJeHNpZ25hbDEgKFFhcmdzX291dF9vZl9yYW5nZSwgd2lkdGgpOworCisJICAgICAgU0VUX0ZS QU1FX1dJRFRIIChmLCBYSU5UICh3aWR0aCkgKiBGUkFNRV9DT0xVTU5fV0lEVEggKGYpKTsKKwkg ICAgfQogCX0KCiAgICAgICBpZiAoIUVRIChoZWlnaHQsIFF1bmJvdW5kKSkKIAl7Ci0JICBDSEVD S19OVU1CRVIgKGhlaWdodCk7Ci0JICBpZiAoISAoMCA8PSBYSU5UIChoZWlnaHQpICYmIFhJTlQg KGhlaWdodCkgPD0gSU5UX01BWCkpCi0JICAgIHhzaWduYWwxIChRYXJnc19vdXRfb2ZfcmFuZ2Us IGhlaWdodCk7CisJICBpZiAoRkxPQVRQIChoZWlnaHQpKQorCSAgICB7CisJICAgICAgaWYgKChp bnQpIFhGTE9BVF9EQVRBIChoZWlnaHQpIDwgKEZSQU1FX1RPUF9NQVJHSU5fSEVJR0hUIChmKQor CQkJCQkJKyBGUkFNRV9TQ1JPTExfQkFSX0FSRUFfSEVJR0hUIChmKQorCQkJCQkJKyAyICogRlJB TUVfSU5URVJOQUxfQk9SREVSX1dJRFRIIChmKSkKKwkJICB8fCAoaW50KSBYRkxPQVRfREFUQSAo aGVpZ2h0KSA+IElOVF9NQVgpCisJCXhzaWduYWwxIChRYXJnc19vdXRfb2ZfcmFuZ2UsIGhlaWdo dCk7CisJICAgICAgZWxzZQorCQlTRVRfRlJBTUVfSEVJR0hUIChmLCAoaW50KSBYRkxPQVRfREFU QSAoaGVpZ2h0KSk7CgotCSAgU0VUX0ZSQU1FX0hFSUdIVCAoZiwgWElOVCAoaGVpZ2h0KSAqIEZS QU1FX0xJTkVfSEVJR0hUIChmKSk7CisJICAgICAgZi0+aW5oaWJpdF9pbXBsaWVkX3Jlc2l6ZSA9 IHRydWU7CisJICAgIH0KKwkgIGVsc2UKKwkgICAgeworCSAgICAgIENIRUNLX05VTUJFUiAoaGVp Z2h0KTsKKwkgICAgICBpZiAoISAoMCA8PSBYSU5UIChoZWlnaHQpICYmIFhJTlQgKGhlaWdodCkg PD0gSU5UX01BWCkpCisJCXhzaWduYWwxIChRYXJnc19vdXRfb2ZfcmFuZ2UsIGhlaWdodCk7CisK KwkgICAgICBTRVRfRlJBTUVfSEVJR0hUIChmLCBYSU5UIChoZWlnaHQpICogRlJBTUVfTElORV9I RUlHSFQgKGYpKTsKKwkgICAgfQogCX0KCiAgICAgICB1c2VyX3NpemUgPSB4X2dldF9hcmcgKGRw eWluZm8sIHBhcm1zLCBRdXNlcl9zaXplLCAwLCAwLCBSRVNfVFlQRV9OVU1CRVIpOwpkaWZmIC0t Z2l0IGEvc3JjL2ZyYW1lLmggYi9zcmMvZnJhbWUuaAppbmRleCAxN2UzNTZkLi4yMTkxOGJhIDEw MDY0NAotLS0gYS9zcmMvZnJhbWUuaAorKysgYi9zcmMvZnJhbWUuaApAQCAtMzM1LDYgKzMzNSw5 IEBAIHN0cnVjdCBmcmFtZQogICAvKiBTZXQgdG8gdHJ1ZSBhZnRlciB0aGlzIGZyYW1lIHdhcyBt YWRlIGJ5IGBtYWtlLWZyYW1lJy4gICovCiAgIGJvb2xfYmYgYWZ0ZXJfbWFrZV9mcmFtZSA6IDE7 CgorICAvKiBJbmhpYml0IGltcGxpZWQgcmVzaXplIGJlZm9yZSBhZnRlcl9tYWtlX2ZyYW1lIGlz IHNldC4gICovCisgIGJvb2xfYmYgaW5oaWJpdF9pbXBsaWVkX3Jlc2l6ZSA6IDE7CisKICAgLyog VHJ1ZSBtZWFucyB0b29sIGJhciBoYXMgYmVlbiByZWRpc3BsYXllZCBhdCBsZWFzdCBvbmNlIGlu IGN1cnJlbnQKICAgICAgc2Vzc2lvbi4gICovCiAgIGJvb2xfYmYgdG9vbF9iYXJfcmVkaXNwbGF5 ZWRfb25jZSA6IDE7CmRpZmYgLS1naXQgYS9zcmMvbnNmbnMubSBiL3NyYy9uc2Zucy5tCmluZGV4 IDljODA1YWMuLmU1ODk5MjkgMTAwNjQ0Ci0tLSBhL3NyYy9uc2Zucy5tCisrKyBiL3NyYy9uc2Zu cy5tCkBAIC02NzksNyArNjc5LDggQEAgeF9zZXRfdG9vbF9iYXJfbGluZXMgKHN0cnVjdCBmcmFt ZSAqZiwgTGlzcF9PYmplY3QgdmFsdWUsIExpc3BfT2JqZWN0IG9sZHZhbCkKICAgICAgICAgfQog ICAgIH0KCi0gIHhfc2V0X3dpbmRvd19zaXplIChmLCAwLCBmLT50ZXh0X2NvbHMsIGYtPnRleHRf bGluZXMsIDApOworICBmcmFtZV9zaXplX2hpc3RvcnlfYWRkIChmLCBRdXBkYXRlX2ZyYW1lX3Rv b2xfYmFyLCAwLCAwLCBRbmlsKTsKKyAgYWRqdXN0X2ZyYW1lX3NpemUgKGYsIC0xLCAtMSwgMiwg MCwgUXRvb2xfYmFyX2xpbmVzKTsKIH0KCgpkaWZmIC0tZ2l0IGEvc3JjL25zdGVybS5tIGIvc3Jj L25zdGVybS5tCmluZGV4IDI4MDZmMzEuLjQ4Yjg4ZTEgMTAwNjQ0Ci0tLSBhL3NyYy9uc3Rlcm0u bQorKysgYi9zcmMvbnN0ZXJtLm0KQEAgLTc3MzgsOCArNzczOCw5IEBAIHhfbmV3X2ZvbnQgKHN0 cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmplY3QgZm9udF9vYmplY3QsIGludCBmb250c2V0KQoKICAg LyogTm93IG1ha2UgdGhlIGZyYW1lIGRpc3BsYXkgdGhlIGdpdmVuIGZvbnQuICAqLwogICBpZiAo RlJBTUVfTlNfV0lORE9XIChmKSAhPSAwICYmICEgW3ZpZXcgaXNGdWxsc2NyZWVuXSkKLSAgICB4 X3NldF93aW5kb3dfc2l6ZSAoZiwgZmFsc2UsIEZSQU1FX0NPTFMgKGYpICogRlJBTUVfQ09MVU1O X1dJRFRIIChmKSwKLSAgICAgICAgICAgICAgICAgICAgICAgRlJBTUVfTElORVMgKGYpICogRlJB TUVfTElORV9IRUlHSFQgKGYpLCB0cnVlKTsKKyAgICBhZGp1c3RfZnJhbWVfc2l6ZSAoZiwgRlJB TUVfQ09MUyAoZikgKiBGUkFNRV9DT0xVTU5fV0lEVEggKGYpLAorCQkgICAgICAgRlJBTUVfTElO RVMgKGYpICogRlJBTUVfTElORV9IRUlHSFQgKGYpLCAzLAorCQkgICAgICAgZmFsc2UsIFFmb250 KTsKCiAgIHJldHVybiBmb250X29iamVjdDsKIH0KCmRpZmYgLS1naXQgYS9zcmMvbnN0ZXJtLm0g Yi9zcmMvbnN0ZXJtLm0KaW5kZXggMjgwNmYzMS4uMTRmMmJlYiAxMDA2NDQKLS0tIGEvc3JjL25z dGVybS5tCisrKyBiL3NyYy9uc3Rlcm0ubQpAQCAtMTMzMyw2ICsxMzMzLDcgQEAgeF9zZXRfd2lu ZG93X3NpemUgKHN0cnVjdCBmcmFtZSAqZiwKICAgaW50IHRiID0gRlJBTUVfRVhURVJOQUxfVE9P TF9CQVIgKGYpOwogICBpbnQgcGl4ZWx3aWR0aCwgcGl4ZWxoZWlnaHQ7CiAgIGludCByb3dzLCBj b2xzOworICBpbnQgb3JpZ19oZWlnaHQgPSB3ci5zaXplLmhlaWdodDsKIAogICBOU1RSQUNFICh4 X3NldF93aW5kb3dfc2l6ZSk7CiAKQEAgLTEzODYsNyArMTM4Nyw3IEBAIHhfc2V0X3dpbmRvd19z aXplIChzdHJ1Y3QgZnJhbWUgKmYsCiAgaWYgKGYtPm91dHB1dF9kYXRhLm5zLT56b29taW5nKQog ICAgZi0+b3V0cHV0X2RhdGEubnMtPnpvb21pbmcgPSAwOwogIGVsc2UKLSAgIHdyLm9yaWdpbi55 ICs9IEZSQU1FX1BJWEVMX0hFSUdIVCAoZikgLSBwaXhlbGhlaWdodDsKKyAgIHdyLm9yaWdpbi55 ICs9IG9yaWdfaGVpZ2h0IC0gd3Iuc2l6ZS5oZWlnaHQ7CiAKICAgW3ZpZXcgc2V0Um93czogcm93 cyBhbmRDb2x1bW5zOiBjb2xzXTsKICAgW3dpbmRvdyBzZXRGcmFtZTogd3IgZGlzcGxheTogWUVT XTsK --Multipart_Sun_Sep_20_12:14:32_2015-1-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 21 05:42:38 2015 Received: (at 21415) by debbugs.gnu.org; 21 Sep 2015 09:42:38 +0000 Received: from localhost ([127.0.0.1]:39533 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdxcM-0004hd-85 for submit@debbugs.gnu.org; Mon, 21 Sep 2015 05:42:38 -0400 Received: from mout.gmx.net ([212.227.15.15]:59692) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdxcL-0004hU-9G for 21415@debbugs.gnu.org; Mon, 21 Sep 2015 05:42:37 -0400 Received: from [91.113.0.7] ([91.113.0.7]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0Mgc0l-1ZFxNw0Jvz-00O0iT; Mon, 21 Sep 2015 11:42:31 +0200 Message-ID: <55FFD104.3030209@gmx.at> Date: Mon, 21 Sep 2015 11:42:28 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55F5B9DF.5020001@gmx.at> <55F6860D.9060503@gmx.at> <55F6CE22.1070502@gmx.at> <55F705E6.1000609@gmx.at> <55F7D6F6.90801@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:BaHO9my9Nm9gIUVOpo1Fo+2Rp5yo+Co1kK+ZFmmDV2M8jul6ZKA 66F5OQGjsuV+Sezl97eofjVunL8LCW59pCbuwmazj7L6SRZ6nbVO3/Xz/si2AmzfH/m7wlN OpIyGsHycc6BXeiFbtAnRWPxb1DRlPvu4wGj5fvHZDq7OqW5xfvum9S7DMlfVZA5x2J9nqP /vTGHFcrMTYSBNOs51d3A== X-UI-Out-Filterresults: notjunk:1;V01:K0:WY7FqLdqr+Y=:lJ4gLkb5ANgTfkuWA8zViK uHP0ezuCTqqrGEw8rGdzmd5A4Ly2y1p320WdL6EsaR/lmXINpHyLcOO2ur7n1YsOMde81BhqQ +CER5vobU2TBqG9WxemUv4q/U8JBYoeD6frW9yhjltdH0Asp6mcLsE8sdEe7yVFk/zpl/LcMG 0FbcKHwLA5AqnEXVLYe4c7b95JIkC0tH4Eq4CNowETAk/8uuFpDroX6jNV68X+JttJpY60iAM jkwIPTRpOkJz8yPG/BD6jI2lsYBPUTfkQqYC9a05xsPORFiVe38NeNPk3ThNmY5+tFsYtV7ji EQX6o+5r30N36o0uOXyA8NgP0seLqQV9sUNbn+QhTzAIhWizQxJ6nkVb7BgASHmKN6JQHYMw4 YauzrGuCGA/DIG+7C18wvXjuK9m3e4rPaN4wESUzF4+E2mo1b2tDIXgX6RR+GhGvAYUy7qXj9 VsW5jmGLzpSPIJpJwsHW8OKsnJRgjWsksBP0LrTJ3CNEKh/KgNZ1XgZn9N2GrFFMyYFLOEwsF XqanhPqngD3yfrIBua54jQXewPzxiJb00FZV0wVbbtJvvwCwNxz7uk1vxXYIEAgIB8lJ1gd3q +kxao9P8E0D8NwLAYV6IZPrmJmao3W1dfAteC1YoIhsUBw0nzfhAqKw0+O7x32Az18whfQsSI BExCpUOCrRpTJEh6zLYRjcdN16m8ehkS3CbznwxkDGBjofBVJkyJ7JM32Pfzfd61B3Vdyf0nM tjM+m5sLRrA4i7OmGpWSkIkrAym6SlGw+DzBWg== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I don't have write access to the Emacs repository, so someone would have to > commit this for me, if it gets accepted. Committed to trunk/master. Thanks again, martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 21 05:43:35 2015 Received: (at 21415) by debbugs.gnu.org; 21 Sep 2015 09:43:35 +0000 Received: from localhost ([127.0.0.1]:39540 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdxdG-0004jP-V1 for submit@debbugs.gnu.org; Mon, 21 Sep 2015 05:43:35 -0400 Received: from mout.gmx.net ([212.227.15.18]:58064) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZdxdF-0004jG-0C for 21415@debbugs.gnu.org; Mon, 21 Sep 2015 05:43:33 -0400 Received: from [91.113.0.7] ([91.113.0.7]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0Lugbo-1YeC2s4288-00zq6g; Mon, 21 Sep 2015 11:43:31 +0200 Message-ID: <55FFD141.2030405@gmx.at> Date: Mon, 21 Sep 2015 11:43:29 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren , Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:5N6+DU0Oo0RWN0UiREbZcXGcifAt+hmEi0E3S4qslrd2A8uxDtS EnEy4guGC3DK1N/cuWa6J3Rirf5FipqhmefXYYrOOVHWYzGetLDKa2shZ3FfLtRD5tiGjdB ahNlFBWndELMBgdRRrQ1ZBIBABYbp49YCje4pjskt2JnTT/l3hFWi8iwKAsTgm1O00CtDQK FQ7HDYbXpZYgQ/ZzCIwtQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:DjJAq6JGqNA=:lVFrn7owNTKwzQxg2jSPBp jV0tXcyGh1RWzI9qJBAI0vA/GrsHttNFvWL6YWPF3ITN0mb/xpdr4XezCYGNH4NuOpGCc2zkg fS1S4AbYlfxo/GLOnbkY7Ll1TOo4RXmIShiMvDmrufoVXTBIVhZjxH4XvgzIlKhSLsw/fTvLo jsZp3ePy3KjTcb8yP5AoBvYmu5dX9lqDXr/LEpfdtr5GYuDFIPugelD20gQkvgtMNvOEpnW24 JWcDU04w63WFPfXphiWsPInOVeV8b7cAW3HOiZ+CcqOcnixsTNbogZYfYM1eH3RaouKBkw3yw mPuQQXH7MMTE+/2T+0RmR+azame6tSHqlbp/A4734Vojrx1OVym8OQ8VXZsS6up+0Hf/LzfLk 5sPRW8Q05xpRK70kEYwSkM+7bUxd0NrISp2rOSB7pFYs2sGo4TaPeERPWCFaMQDGkzVF/mL/c KQhTQ5JtitZL+qHVMZ/76BvcIHFN+N91U+29ZjhEvA8ROH4BOVW+S9zwDwDIZTPRrh+qjPMFx 9wkphADTGnk99lV0DI3Ylm53M8bmdEVKt7RjdwR/XUuOb/w4PGZgKwG+movwx8CWRidCT8diY WbH6f8oVB1P5f+4dn05dMh8A3Tq9fD2hmP6Pud1JiSqHuBlcUp39J56C0AUm2uQXqX5yBfyDA 372rElsuXPayDKvzBXwu1ua0Su7JJGj23hZ4Tivt54whFhh6fbZwLGYPf5mTJf9imdKbyXPtw 5oZgQ+bC3D+WLcdi6CSiH2t8JOEhoYEukaz6BA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Are there any other open issues, or does this cover everything? According to Keith one issue raised in this thread was that maximizing the Emacs frame does not really maximize it on OS X. In particular he said that In my testing, `toggle-frame-maximized` was never as accurate as `set-frame-size` using the pixelwise argument. Can you confirm that =E2=80=98toggle-frame-maximized=E2=80=99 doesn't rea= lly maximize the frame? martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 21 14:56:45 2015 Received: (at 21415) by debbugs.gnu.org; 21 Sep 2015 18:56:45 +0000 Received: from localhost ([127.0.0.1]:40665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ze6Ga-0002CJ-NT for submit@debbugs.gnu.org; Mon, 21 Sep 2015 14:56:45 -0400 Received: from mail-vk0-f54.google.com ([209.85.213.54]:35147) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ze6GZ-0002CB-0F for 21415@debbugs.gnu.org; Mon, 21 Sep 2015 14:56:43 -0400 Received: by vkao3 with SMTP id o3so71108476vka.2 for <21415@debbugs.gnu.org>; Mon, 21 Sep 2015 11:56:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=0LTXC/QX79SzUBnkifRSvRH4KcJMv1REhBrKXrdj130=; b=qjakzui+n+c7kXix00BbB/2yjE3rnV9JNTKX9cJdW1GwqAHT8gEgu4aLil/g0HyuHf I+2OJcm2b/49k1/Ro9Sk81ZE50FYverf55v45Vvm462Hl+VsNLr/r5+BfGF9fN0mucbE 58ibmvCOFk7yOeWNSUm5PsZtkzteHd5LzHbGF/RTWvEtXHRbG8LNe2eJAQb7L+RWOOUD 6oolTD1kxWtfvqZUfWSL4b8wvXsPEcs6yxLqhVAwGfStVBtw71SZXynzSQ4hZyEQCb9C zNcJhF0f+L86e1X0WhtkQgRodg5x96EsNLtZp0SbK2hzOjOaFPLX2i4AC/3zkJG/Q35L pTCQ== MIME-Version: 1.0 X-Received: by 10.31.0.215 with SMTP id 206mr9034877vka.105.1442861802213; Mon, 21 Sep 2015 11:56:42 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Mon, 21 Sep 2015 11:56:42 -0700 (PDT) In-Reply-To: <55FFD141.2030405@gmx.at> References: <55FFD141.2030405@gmx.at> Date: Mon, 21 Sep 2015 20:56:42 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a113da7c82e577d05204671b1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a113da7c82e577d05204671b1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable > > Can you confirm that =E2=80=98toggle-frame-maximized=E2=80=99 doesn't rea= lly maximize > the frame? Yes, I can confirm this -- sort of. In OS X Yosemite, the "maximize" button (the green round button on the top left of the screen) starts fullscreen mode. `toggle-frame-maximized', on the other hand, tries to resize the frame so that it covers an entire monitor, but without entering full-screen mode (which is the way it should work). Unfortunately, there is a bit of empty space above and below the Emacs frame. It looks like this is due to the fact that there isn't enough space to create another full line of text. When setting `frame-resize-pixelwise' to t, unfortunately, it still doesn't cover the entire display, and the behaviour is a bit more random, with the frame repositioning itself slightly differently when `toggle-frame-maximized' is called multiple times. I didn't manage to make it fill both my monitors, only one. (How does the command work on other systems?) The documentation refers to an undefined variable, x-frame-normalize-before-maximize. / Anders --001a113da7c82e577d05204671b1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Can you confirm that =E2=80=98toggle-frame-maximized=E2=80=99 = doesn't really maximize
the frame?

=C2=A0Yes, I can confirm this --= sort of.

In OS X Yosemite, the "maximize&quo= t; button (the green round button on the top left of the screen) starts ful= lscreen mode.

`toggle-frame-maximized', on the= other hand, tries to resize the frame so that it covers an entire monitor,= but without entering full-screen mode (which is the way it should work). U= nfortunately, there is a bit of empty space above and below the Emacs frame= . It looks like this is due to the fact that there isn't enough space t= o create another full line of text. When setting `frame-resize-pixelwise= 9; to t, unfortunately, it still doesn't cover the entire display, and = the behaviour is a bit more random, with the frame repositioning itself sli= ghtly differently when `toggle-frame-maximized' is called multiple time= s.

I didn't manage to make it fill both my mon= itors, only one. (How does the command work on other systems?)
The documentation refers to an undefined variable,=C2=A0x-fram= e-normalize-before-maximize.

/ Anders
--001a113da7c82e577d05204671b1-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 22 02:38:38 2015 Received: (at 21415) by debbugs.gnu.org; 22 Sep 2015 06:38:38 +0000 Received: from localhost ([127.0.0.1]:41152 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZeHDp-0003Wh-Fp for submit@debbugs.gnu.org; Tue, 22 Sep 2015 02:38:37 -0400 Received: from mout.gmx.net ([212.227.17.22]:51553) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZeHDm-0003WW-Rn for 21415@debbugs.gnu.org; Tue, 22 Sep 2015 02:38:35 -0400 Received: from [194.166.83.143] ([194.166.83.143]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0Lb90f-1aOaK62bXd-00kfde; Tue, 22 Sep 2015 08:38:31 +0200 Message-ID: <5600F763.3020305@gmx.at> Date: Tue, 22 Sep 2015 08:38:27 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55FFD141.2030405@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:PD8iG976DSfOdZEWJ4mFKw5z1RcA8aY+HeOUBlIMaNFG9NC3Gi3 P8TmMpQ4jslu1+CJv3Zf1w+MmQLEWXpm4iyCws+te6kJizW2BeS5ajxOULhBJ+kx6n/nHU+ CnRHNbBOg+FFDRPKEWs4p83r2iq+3NElqmiYYNOQTwRweGdud8Pjo+e0phbfxxcDCa6Ndmc wBdPzJn/jHrPGNMLC0xNg== X-UI-Out-Filterresults: notjunk:1;V01:K0:/ne6Txx29q4=:XSsSXf09mzRCnHVr5ZsHFO j93Gk2XgpFTVU5pYK54Ofa6SfyC17mmo/1T7NG9iJzjJqF1ZXsJG9Kc/cKxJUzEpUal6nig1H yBf5OcXt4QgOslv9jVY1O0ZDlC6y2Lmxb4IQiaTLiJgwDUsyaf+f3JilXmECVb6qwunN5GYXO SIfhXUG2AZJXpsYkmZQ1CosdTO95h2QCcXQcN7zZD1lU5629WMSQgtGIrRiIMb+JNGGlb5FL/ gbGjomsWRyGkk08K86y7XVqSw3AFvMUY/PNdusG2QVwE3sxUvDnp71Tsi0HJMXU6qiSyiOAG7 0SJ2Sg4AMOSEV5FjqLKvv/1c4i1es3Opd3IjOQRqnEc4ZA7HwMZF8vPT/5gKFGpn7Ui86zJCx DiPQ0HPkfstlyemwUxOnlBFun7hmBZ+pQ195STKe7UukGcOLkjKE43oNGMAdRgGG6/TYuRZyt 1lxJ7Qw0b7H68znvPhEsQTdfhDpDz6tNXuePW0vMW/8CKVZGUYXO/6O2JmB8/mIPe0fValY+x lY7NnBVvx3bqiVvxOfN7jAtEPQJvgU96BZz/Dz46VxOa9foWjyS4ewUtbDyLZoKWvzdZ0eTgK UeKz12uz4dguNyCGIBDqHgpjH4P5Fu+KhbXuChg7a4TZ6Z2ZfQnmUZqTKa6FmP5APZ5qZ87mq tLEke7Eap2n1gEn+ZkO073KQyJSgEvv9ZGo/7spxIyCFTXoNIaxCgfZPO//HKm+tIn+DuW+up gP7nXuLZK00HeRC5Z0fB0ChOrkfBPa6/qu1RoQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > In OS X Yosemite, the "maximize" button (the green round button on the= top > left of the screen) starts fullscreen mode. This is what =E2=80=98toggle-frame-fullscreen=E2=80=99 is supposed to do.= > `toggle-frame-maximized', on the other hand, tries to resize the frame= so > that it covers an entire monitor, but without entering full-screen mod= e > (which is the way it should work). What if the next OS X generation changes policy again and asks for some sort of "fullboth"? > Unfortunately, there is a bit of empty > space above and below the Emacs frame. It looks like this is due to th= e > fact that there isn't enough space to create another full line of text= =2E > When setting `frame-resize-pixelwise' to t, unfortunately, it still do= esn't > cover the entire display, and the behaviour is a bit more random, with= the > frame repositioning itself slightly differently when > `toggle-frame-maximized' is called multiple times. We'd have to fix this one way or the other. Maybe by temporarily collating "fullscreen" and "fullboth" for the NS builds. The important thing is to synchronize the value of the =E2=80=98fullscree= n=E2=80=99 frame parameter with the actual state of the frame as seen by both, the window manager (or the OS) and the user. The state of the frame includes its size, its decorations and the state of the "maximize" button. In my experience, having =E2=80=98toggle-frame-maximized=E2=80=99= follow =E2=80=98toggle-frame-fullscreen=E2=80=99 can be very tricky in this rega= rd. > I didn't manage to make it fill both my monitors, only one. (How does = the > command work on other systems?) I can't tell because I use only one monitor. > The documentation refers to an undefined > variable, x-frame-normalize-before-maximize. This variable is for X only. I'll fix that in the documentation. martin From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 22 04:54:07 2015 Received: (at 21415) by debbugs.gnu.org; 22 Sep 2015 08:54:07 +0000 Received: from localhost ([127.0.0.1]:41225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZeJKw-0000M9-Dc for submit@debbugs.gnu.org; Tue, 22 Sep 2015 04:54:07 -0400 Received: from mail-vk0-f42.google.com ([209.85.213.42]:32995) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZeJKu-0000M0-4S for 21415@debbugs.gnu.org; Tue, 22 Sep 2015 04:54:05 -0400 Received: by vkgd64 with SMTP id d64so1957210vkg.0 for <21415@debbugs.gnu.org>; Tue, 22 Sep 2015 01:54:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=q9c4ynMq397rSOwa6hrmiho/OIsKFfTllHVMUl3eF2Q=; b=Akuh7iQ4l0Osm2gfKn7dopOFAPyYVBwOla0Cyi1kTpWVcejA2HeIi5+aJfEK5xNa8r uVq7g3Pyu/0idYuvLPC+pgW4DvR6JPIeGBYoK0fNLG4EaD0owvr/sk9VBEafmvFXwZbj f9nUKWYpeA4hcTViokjUTtOK/v03IYc+PaxQJNiVvKiBS9FDSkocYJGoXw7MgRjfvOes 6hT/OV+600AgorcJz2E9oIP5gokdGp7wt/wsZMIsUGCDXgTbPcXEdQUFiupcRm0ZcVdO 9+O43qxLYkyReukFVYKozBadQyi7AxYI0nopdpFrS+l9EC3aWPX6U2U3MAIKH8mmGyC2 9RDg== MIME-Version: 1.0 X-Received: by 10.31.41.79 with SMTP id p76mr17121961vkp.149.1442912043423; Tue, 22 Sep 2015 01:54:03 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Tue, 22 Sep 2015 01:54:03 -0700 (PDT) In-Reply-To: <5600F763.3020305@gmx.at> References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> Date: Tue, 22 Sep 2015 10:54:03 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a113edfa6ca614a052052236b X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a113edfa6ca614a052052236b Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi! I can take a look at it. However, the experience I had with the previous bug was that it's immensely hard to follow what happens when it comes to frame resizing and placement. So what I will do is to first reimplement the NSTRACE package and then start looking for the problem. By the way, is there some kind of deadline coming up? Also, things are starting to get so complicated so that we would need to state what each concept mean so that they can be implemented the same way on all systems. (When I wrote my "multicolumn" package I found tons and tons of things that differed between systems, I just want to make sure we don't introduce more such things.) In addition, we really must write test cases automatically walking through all transitions, ensuring that nothing breaks in the future, but also as this is a good way to describe the intended behavior. I don't know what you mean by "fullboth", so I can't comment on what would happen when you collate "fullscreen" and "fullboth". / Anders On Tue, Sep 22, 2015 at 8:38 AM, martin rudalics wrote: > > In OS X Yosemite, the "maximize" button (the green round button on the > top > > left of the screen) starts fullscreen mode. > > This is what =E2=80=98toggle-frame-fullscreen=E2=80=99 is supposed to do. > > > `toggle-frame-maximized', on the other hand, tries to resize the frame = so > > that it covers an entire monitor, but without entering full-screen mode > > (which is the way it should work). > > What if the next OS X generation changes policy again and asks for some > sort of "fullboth"? > > > Unfortunately, there is a bit of empty > > space above and below the Emacs frame. It looks like this is due to the > > fact that there isn't enough space to create another full line of text. > > When setting `frame-resize-pixelwise' to t, unfortunately, it still > doesn't > > cover the entire display, and the behaviour is a bit more random, with > the > > frame repositioning itself slightly differently when > > `toggle-frame-maximized' is called multiple times. > > We'd have to fix this one way or the other. Maybe by temporarily > collating "fullscreen" and "fullboth" for the NS builds. > > The important thing is to synchronize the value of the =E2=80=98fullscree= n=E2=80=99 > frame parameter with the actual state of the frame as seen by both, the > window manager (or the OS) and the user. The state of the frame > includes its size, its decorations and the state of the "maximize" > button. In my experience, having =E2=80=98toggle-frame-maximized=E2=80= =99 follow > =E2=80=98toggle-frame-fullscreen=E2=80=99 can be very tricky in this rega= rd. > > > I didn't manage to make it fill both my monitors, only one. (How does t= he > > command work on other systems?) > > I can't tell because I use only one monitor. > > > The documentation refers to an undefined > > variable, x-frame-normalize-before-maximize. > > This variable is for X only. I'll fix that in the documentation. > > martin > > --001a113edfa6ca614a052052236b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi!

I can take a look at it. However, t= he experience I had with the previous bug was that it's immensely hard = to follow what happens when it comes to frame resizing and placement. So wh= at I will do is to first reimplement the NSTRACE package and then start loo= king for the problem. By the way, is there some kind of deadline coming up?=

Also, things are starting to get so complicated s= o that we would need to state what each concept mean so that they can be im= plemented the same way on all systems. (When I wrote my "multicolumn&q= uot; package I found tons and tons of things that differed between systems,= I just want to make sure we don't introduce more such things.) In addi= tion, we really must write test cases automatically walking through all tra= nsitions, ensuring that nothing breaks in the future, but also as this is a= good way to describe the intended behavior.

I don= 't know what you mean by "fullboth", so I can't comment o= n what would happen when you collate "fullscreen" and "fullb= oth".

/ Anders

=

On Tue, Sep 22, 2= 015 at 8:38 AM, martin rudalics <rudalics@gmx.at> wrote:
> In OS X Yosemite, the &q= uot;maximize" button (the green round button on the top
> left of the screen) starts fullscreen mode.

This is what =E2=80=98toggle-frame-fullscreen=E2=80=99 is supposed to do.

> `toggle-frame-maximized', on the other hand, tries to resize the f= rame so
> that it covers an entire monitor, but without entering full-screen mod= e
> (which is the way it should work).

What if the next OS X generation changes policy again and asks for some
sort of "fullboth"?

> Unfortunately, there is a bit of empty
> space above and below the Emacs frame. It looks like this is due to th= e
> fact that there isn't enough space to create another full line of = text.
> When setting `frame-resize-pixelwise' to t, unfortunately, it stil= l doesn't
> cover the entire display, and the behaviour is a bit more random, with= the
> frame repositioning itself slightly differently when
> `toggle-frame-maximized' is called multiple times.

We'd have to fix this one way or the other.=C2=A0 Maybe by temporarily<= br> collating "fullscreen" and "fullboth" for the NS builds= .

The important thing is to synchronize the value of the =E2=80=98fullscreen= =E2=80=99
frame parameter with the actual state of the frame as seen by both, the
window manager (or the OS) and the user.=C2=A0 The state of the frame
includes its size, its decorations and the state of the "maximize"= ;
button.=C2=A0 In my experience, having =E2=80=98toggle-frame-maximized=E2= =80=99 follow
=E2=80=98toggle-frame-fullscreen=E2=80=99 can be very tricky in this regard= .

> I didn't manage to make it fill both my monitors, only one. (How d= oes the
> command work on other systems?)

I can't tell because I use only one monitor.

> The documentation refers to an undefined
> variable, x-frame-normalize-before-maximize.

This variable is for X only.=C2=A0 I'll fix that in the documentation.<= span class=3D"HOEnZb">

martin


--001a113edfa6ca614a052052236b-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 22 05:36:49 2015 Received: (at 21415) by debbugs.gnu.org; 22 Sep 2015 09:36:49 +0000 Received: from localhost ([127.0.0.1]:41240 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZeK0G-0001xn-G5 for submit@debbugs.gnu.org; Tue, 22 Sep 2015 05:36:48 -0400 Received: from mout.gmx.net ([212.227.17.22]:61912) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZeK0E-0001xb-5u for 21415@debbugs.gnu.org; Tue, 22 Sep 2015 05:36:46 -0400 Received: from [194.166.83.143] ([194.166.83.143]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MKKaI-1Zfyh346Cc-001et5; Tue, 22 Sep 2015 11:36:36 +0200 Message-ID: <5601211E.3090001@gmx.at> Date: Tue, 22 Sep 2015 11:36:30 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:rRIOFOQr7P8goF2nW+p+75UURAiWZmU69x7tGowmnAlcTaO+BtL j7Zi1BLCbYzDgzdFKPZOkEW/abXiEzPUoO0xncUnKJdj8/L0Hf7C7iX38oTbdTevzdMLcpA CygeYflxgqldL7pbcUGzFNekZM1/8Qcmd9t+HXmrbnSbxilKX1ZMYrofdN2OIGYCkyIoz2p DxRi3iXGPlzmUuIO14c0Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:/XMT07th1Sw=:dZLhMI+16+F4NYsn85pwoO YdQSKqln39YAlp2iuwZueMWI98hEgg47JUauS5Ibt0lSS9+pnkdzjJHY2vFEzurV/1XTcfBlz E0VYXTtOXDc/kegVLsaPiYgqlPmr3KJtqbsvZOj1leUfmO5xfj8+JUQcxLki6JU9lsWE9QvMB nHdH+k5q/j8UDGAX9s/CxOjH6HtE8NZEZAxMTqgi1iOwTNM9h5xOm/HX7oz2nkVWKLy9O95u2 1E+SDDb2maX3vSBSvjiUaFvwcP/RK6IAuvPaUjhzd3INaZke4xVO/4C9eAK+TR9vjEWC0BJpp MpasS/OR6YC1qpPUTIfNFQxENUDAb/dq3CmHlR/L6eV7Wwzt0qypHhD3BKoGq6zrPH7lSPhVp IO5ff+MLdqay72J339CYDUQhqEiOsy6UmeEn8Qy1lco+m+DjiWvD+6uJoJx3TY4dKTUzrSuom b49iTE7L8BAF4OO5UGl3aWKGAKthlbteZL3dw5cBMsHBj/NoTlKGMw5NmHYb/uC5ZG7QsaxBn I8ScB4J8rB4PFkrRlc3JYClRSL02Ezpqd7f3buGYPX00pvTduG1sIfoaO93fU97O9u3QRU/xf uonp3CGVJMdn7+/sTxlqU2rzJfTJHHIW6PtLUTXDowGsDYP02bJtpqjmiXhqsh1e+/J2e16IQ d759IhsGABezL0ul03DjkYNmstgGuoWxR14w8XeXVDCqI5mkSNO7WmBdMUG/52I6CXY8XhD8U 5eFQabWwvD4xoA/bY33nr02XIMLEzOsA1C7nDA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I can take a look at it. However, the experience I had with the previo= us > bug was that it's immensely hard to follow what happens when it comes = to > frame resizing and placement. So what I will do is to first reimplemen= t the > NSTRACE package and then start looking for the problem. OK. As far as frame resizing is concerned I wrote some rudimentary Elisp support. Set the variable =E2=80=98frame-size-history=E2=80=99 to = a value like '(100) and you will get a (partly cryptic) list of requests to resize a frame and whether and how the request got honored. > By the way, is > there some kind of deadline coming up? Not for bugs like this. It's only short before a release that we only fix regressions introduced since the last release. > Also, things are starting to get so complicated so that we would need = to > state what each concept mean so that they can be implemented the same = way > on all systems. (When I wrote my "multicolumn" package I found tons an= d > tons of things that differed between systems, I just want to make sure= we > don't introduce more such things.) One thing that should work uniformly accross platforms is the =E2=80=98frame-geometry=E2=80=99 function as well as the recently introdu= ced =E2=80=98frame-edges=E2=80=99. Since I was never able to verify these fo= r OS X it would be a good start to make sure they deliver correct results there first. Done that, we should have a common platform to discuss the remaining issues. > In addition, we really must write test > cases automatically walking through all transitions, ensuring that not= hing > breaks in the future, One problem with automatic test cases is that numbers may lie about the effect you see on screen. For example, Emacs can resize your scroll bar width with completely correct metrics but since Gtk+ usually refuses to change scroll bar widths, the visual appearance is devastating. But obviously, automatic test cases would be very useful. > but also as this is a good way to describe the > intended behavior. Such description should be found in the frame geometry section of the Elisp manual. > I don't know what you mean by "fullboth", so I can't comment on what w= ould > happen when you collate "fullscreen" and "fullboth". "fullboth" is our misnomer for "maximized", that is, the frame should occupy the full work area of the display and its "maximize" button should indicate that the frame can be restored to its normal size (the latter implies that a maximized frame usually keeps its title bar). A "fullscreen" frame, OTOH, occupies the entire display area (including a task bar) and has no title bar. martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 27 14:53:44 2015 Received: (at 21415) by debbugs.gnu.org; 27 Sep 2015 18:53:44 +0000 Received: from localhost ([127.0.0.1]:45856 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgH4x-0005l8-6p for submit@debbugs.gnu.org; Sun, 27 Sep 2015 14:53:44 -0400 Received: from mail-vk0-f51.google.com ([209.85.213.51]:34347) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgH4u-0005kz-OP for 21415@debbugs.gnu.org; Sun, 27 Sep 2015 14:53:42 -0400 Received: by vkhf67 with SMTP id f67so80326298vkh.1 for <21415@debbugs.gnu.org>; Sun, 27 Sep 2015 11:53:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=EWNFvT/xr9rctqgQVmSIawnIxWYkgcU8I8hnZ/rD5qU=; b=u37mBg/fPYRdJNCfHlT0rkhK0daShe3UAq1mdgnLQPXJunNglRRiwXlZIVmwQeg3KY hqT/KKHgtlnOckLddOJdDU0DiZJOKh/ofx3r93fllI3oCWMQFis2SeetZF6xgOl0h6Co 72eAW7cqxMFsgfY32TyFD7ZaWffuytpo9xWwjOvKIu0pGKu6pub08+03HTBD4D6i5XJJ 256zoFjUlQZcdFewimycdWlJV/pA5ksi9yRaK3LhK03aSzDXzY3h7kNtBNhx8zcPHPB1 dpPomZ3ytIfwZ+5XyjYn/602hnFPAR7EhDPQ4k8LbnPluEixQp14Ms4lhaWpMRer0PCy cnBg== MIME-Version: 1.0 X-Received: by 10.31.0.215 with SMTP id 206mr10289937vka.105.1443380020184; Sun, 27 Sep 2015 11:53:40 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Sun, 27 Sep 2015 11:53:39 -0700 (PDT) In-Reply-To: <5601211E.3090001@gmx.at> References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> <5601211E.3090001@gmx.at> Date: Sun, 27 Sep 2015 20:53:39 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/mixed; boundary=001a113da7c8613e260520bf1961 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a113da7c8613e260520bf1961 Content-Type: multipart/alternative; boundary=001a113da7c8613e1e0520bf195f --001a113da7c8613e1e0520bf195f Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, I found one problem related to `toggle-to-maximized'. If this happened right after `frame-resize-pixelwise' was set to a non-nil value, the NSWindow parameter `resizeIncrement' must be updated. If this does not occur, the frame size is rounded down to only accommodate full characters. The extra space was distributed evenly above and below the frame. The attached patch fixes this issue. To see the difference, run Emacs -Q and evaluate the following. After the patch is applied, the frame is no longer moves down. (progn (setq frame-resize-pixelwise t) (toggle-frame-maximized)) Unfortunately, the frame still doesn't cover the entire screen. The documentation to `windowWillUseStandardFrame' says: "The size of the current screen, which is the screen containing the largest part of the window's current frame, possibly reduced on the top, bottom, left, or right, depending on the current interface style." Effectively, this mean that the frame is reduced one pixel on the top (if the menu bar is visible) and four pixels at the bottom. This corresponds to how other applications, like Chrome, works. I think it would be relatively easy to override this (well, at least the four pixels at the bottom), but I'm not sure if we should and, if so, under which conditions. (I can image that some users would like Emacs to fill the entire screen whereas others might prefer the standard four pixels to be unused at the bottom.) In the Info documentation to the `fullscreen' frame parameter, there are two values missing: `nil' and `fullscreen'. The former indicates that the frame is in non-maximized state and the latter seems to behave like `fullboth'. Interestingly, the function `toggle-frame-fullscreen' seems to use this undocumented parameter value. (In addition, there are some control characters showing on the first line.) On a side note, the NSTRACE rewrite is coming along nicely (it really helped in tracking down this problem) but it's not yet ready for release. Sincerely, Anders Lindgren On Tue, Sep 22, 2015 at 11:36 AM, martin rudalics wrote: > > I can take a look at it. However, the experience I had with the previou= s > > bug was that it's immensely hard to follow what happens when it comes t= o > > frame resizing and placement. So what I will do is to first reimplement > the > > NSTRACE package and then start looking for the problem. > > OK. As far as frame resizing is concerned I wrote some rudimentary > Elisp support. Set the variable =E2=80=98frame-size-history=E2=80=99 to = a value like > '(100) and you will get a (partly cryptic) list of requests to resize a > frame and whether and how the request got honored. > > > By the way, is > > there some kind of deadline coming up? > > Not for bugs like this. It's only short before a release that we only > fix regressions introduced since the last release. > > > Also, things are starting to get so complicated so that we would need t= o > > state what each concept mean so that they can be implemented the same w= ay > > on all systems. (When I wrote my "multicolumn" package I found tons and > > tons of things that differed between systems, I just want to make sure = we > > don't introduce more such things.) > > One thing that should work uniformly accross platforms is the > =E2=80=98frame-geometry=E2=80=99 function as well as the recently introdu= ced > =E2=80=98frame-edges=E2=80=99. Since I was never able to verify these fo= r OS X it would > be a good start to make sure they deliver correct results there first. > Done that, we should have a common platform to discuss the remaining > issues. > > > In addition, we really must write test > > cases automatically walking through all transitions, ensuring that > nothing > > breaks in the future, > > One problem with automatic test cases is that numbers may lie about the > effect you see on screen. For example, Emacs can resize your scroll bar > width with completely correct metrics but since Gtk+ usually refuses to > change scroll bar widths, the visual appearance is devastating. But > obviously, automatic test cases would be very useful. > > > but also as this is a good way to describe the > > intended behavior. > > Such description should be found in the frame geometry section of the > Elisp manual. > > > I don't know what you mean by "fullboth", so I can't comment on what > would > > happen when you collate "fullscreen" and "fullboth". > > "fullboth" is our misnomer for "maximized", that is, the frame should > occupy the full work area of the display and its "maximize" button > should indicate that the frame can be restored to its normal size (the > latter implies that a maximized frame usually keeps its title bar). > > A "fullscreen" frame, OTOH, occupies the entire display area (including > a task bar) and has no title bar. > > martin > > --001a113da7c8613e1e0520bf195f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

I found one problem related to `tog= gle-to-maximized'. If this happened right after `frame-resize-pixelwise= ' was set to a non-nil value, the NSWindow parameter `resizeIncrement&#= 39; must be updated. If this does not occur, the frame size is rounded down= to only accommodate full characters. The extra space was distributed evenl= y above and below the frame. The attached patch fixes this issue.

To see the difference, run Emacs -Q and evaluate the follow= ing. After the patch is applied, the frame is no longer moves down.

=C2=A0 =C2=A0 (progn
=C2=A0 =C2=A0 =C2=A0 = (setq frame-resize-pixelwise t)
=C2=A0 =C2=A0 =C2=A0 (toggle-fram= e-maximized))

Unfortunately, the frame still= doesn't cover the entire screen. The documentation to `windowWillUseSt= andardFrame' says:

=C2=A0 =C2=A0 "The siz= e of the current screen, which is the screen containing the largest part of= the window's current frame, possibly reduced on the top, bottom, left,= or right, depending on the current interface style."
Effectively, this mean that the frame is reduced one pixel on = the top (if the menu bar is visible) and four pixels at the bottom. This co= rresponds to how other applications, like Chrome, works.

I think it would be relatively easy to override this (well, at least= the four pixels at the bottom), but I'm not sure if we should and, if = so, under which conditions. (I can image that some users would like Emacs t= o fill the entire screen whereas others might prefer the standard four pixe= ls to be unused at the bottom.)

In the Info docume= ntation to the `fullscreen' frame parameter, there are two values missi= ng: `nil' and `fullscreen'. The former indicates that the frame is = in non-maximized state and the latter seems to behave like `fullboth'. = Interestingly, the function `toggle-frame-fullscreen' seems to use this= undocumented parameter value. (In addition, there are some control charact= ers showing on the first line.)

On a side note, th= e NSTRACE rewrite is coming along nicely (it really helped in tracking down= this problem) but it's not yet ready for release.

=
Sincerely,
=C2=A0 =C2=A0 Anders Lindgren

On Tue, Sep 22, 2015 at 1= 1:36 AM, martin rudalics <rudalics@gmx.at> wrote:
> I can take a look at it. Howeve= r, the experience I had with the previous
> bug was that it's immensely hard to follow what happens when it co= mes to
> frame resizing and placement. So what I will do is to first reimplemen= t the
> NSTRACE package and then start looking for the problem.

OK.=C2=A0 As far as frame resizing is concerned I wrote some rudimentary Elisp support.=C2=A0 Set the variable =E2=80=98frame-size-history=E2=80=99 = to a value like
'(100) and you will get a (partly cryptic) list of requests to resize a=
frame and whether and how the request got honored.

> By the way, is
> there some kind of deadline coming up?

Not for bugs like this.=C2=A0 It's only short before a release that we = only
fix regressions introduced since the last release.

> Also, things are starting to get so complicated so that we would need = to
> state what each concept mean so that they can be implemented the same = way
> on all systems. (When I wrote my "multicolumn" package I fou= nd tons and
> tons of things that differed between systems, I just want to make sure= we
> don't introduce more such things.)

One thing that should work uniformly accross platforms is the
=E2=80=98frame-geometry=E2=80=99 function as well as the recently introduce= d
=E2=80=98frame-edges=E2=80=99.=C2=A0 Since I was never able to verify these= for OS X it would
be a good start to make sure they deliver correct results there first.
Done that, we should have a common platform to discuss the remaining
issues.

> In addition, we really must write test
> cases automatically walking through all transitions, ensuring that not= hing
> breaks in the future,

One problem with automatic test cases is that numbers may lie about the
effect you see on screen.=C2=A0 For example, Emacs can resize your scroll b= ar
width with completely correct metrics but since Gtk+ usually refuses to
change scroll bar widths, the visual appearance is devastating.=C2=A0 But obviously, automatic test cases would be very useful.

> but also as this is a good way to describe the
> intended behavior.

Such description should be found in the frame geometry section of the
Elisp manual.

> I don't know what you mean by "fullboth", so I can't= comment on what would
> happen when you collate "fullscreen" and "fullboth"= ;.

"fullboth" is our misnomer for "maximized", that is, th= e frame should
occupy the full work area of the display and its "maximize" butto= n
should indicate that the frame can be restored to its normal size (the
latter implies that a maximized frame usually keeps its title bar).

A "fullscreen" frame, OTOH, occupies the entire display area (inc= luding
a task bar) and has no title bar.

martin


--001a113da7c8613e1e0520bf195f-- --001a113da7c8613e260520bf1961 Content-Type: text/plain; charset=US-ASCII; name="maximize.diff" Content-Disposition: attachment; filename="maximize.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_if2uz6cu0 ZGlmZiAtLWdpdCBhL3NyYy9uc3Rlcm0ubSBiL3NyYy9uc3Rlcm0ubQppbmRleCBhNWJmMDZhLi42 NWQwN2IyIDEwMDY0NAotLS0gYS9zcmMvbnN0ZXJtLm0KKysrIGIvc3JjL25zdGVybS5tCkBAIC02 NzI0LDYgKzY3MjQsMTEgQEAgaWYgKGNvbHMgPiAwICYmIHJvd3MgPiAwKQogewogICBpZiAoZnNf c3RhdGUgIT0gZW1hY3NmcmFtZS0+d2FudF9mdWxsc2NyZWVuKQogICAgIHsKKyAgICAgIE5TU2l6 ZSBzejsKKyAgICAgIHN6LndpZHRoID0gZnJhbWVfcmVzaXplX3BpeGVsd2lzZSA/IDEgOiBGUkFN RV9DT0xVTU5fV0lEVEggKGVtYWNzZnJhbWUpOworICAgICAgc3ouaGVpZ2h0ID0gZnJhbWVfcmVz aXplX3BpeGVsd2lzZSA/IDEgOiBGUkFNRV9MSU5FX0hFSUdIVCAoZW1hY3NmcmFtZSk7CisgICAg ICBbW3NlbGYgd2luZG93XSBzZXRSZXNpemVJbmNyZW1lbnRzOnN6XTsKKwogICAgICAgaWYgKGZz X3N0YXRlID09IEZVTExTQ1JFRU5fQk9USCkKICAgICAgICAgewogICAgICAgICAgIFtzZWxmIHRv Z2dsZUZ1bGxTY3JlZW46c2VsZl07Cg== --001a113da7c8613e260520bf1961-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 28 02:48:28 2015 Received: (at 21415) by debbugs.gnu.org; 28 Sep 2015 06:48:28 +0000 Received: from localhost ([127.0.0.1]:46126 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgSEd-0007Ca-9U for submit@debbugs.gnu.org; Mon, 28 Sep 2015 02:48:28 -0400 Received: from mout.gmx.net ([212.227.17.20]:60924) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgSEb-0007CN-1D for 21415@debbugs.gnu.org; Mon, 28 Sep 2015 02:48:25 -0400 Received: from [188.22.234.5] ([188.22.234.5]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0MY75A-1aBAOU1Zaq-00UsQR; Mon, 28 Sep 2015 08:48:14 +0200 Message-ID: <5608E2AB.7010407@gmx.at> Date: Mon, 28 Sep 2015 08:48:11 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> <5601211E.3090001@gmx.at> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:CWANeQzUc/FhRIQY0GT9wnY/gVhfjhriU6gQsRkqssSVKOVDX29 1WaN0ZMw4S00a/jd/4qBM6mNdvH8C0qV3/QCf0ugrZ3aE2UasAuuV4WsL2T0X7/smoKQV7Q +VxIO9APXBZpRjiegG9kQK7eZPbQL5ba+5LwWtWV/x4uwwBw3Jm1edhC8h9S46abda8qpXh YNP19kQrlx5Rnv2P9LkFg== X-UI-Out-Filterresults: notjunk:1;V01:K0:nLqiOd6vEEI=:K4zwLKzkfrJmZmIK42JVz8 TTt2/NOaPReCWxjzizSaz24HYbilG87azqYCcj4HZomQIe3l2JYWEN3Rn4shbYFP4AxD7bHbe 2IJRVJ0AjdTqByHAEgibDFuCCtsIJBS5N2ZT3RUfMAN8Lkecz2PX+OpVOnhLWBWBxoktqzk4e hG/vTZB4DWQYNbpjmzq2ZwXgIxfEv+ATcThI9UHotqaJkKNkRIGDaTiXzHn0WTynD+8QtTYKr Vh+F/Vxr5K//xS1OcqwiP+Etdl+0raAnXqJiXNPgyXkM4zfq+dS8WJEEHAZI7RhRlcSjFKrON yMNNZRNlBeEtvZ1zhNWue9NtYOPwuzM6SjZTguSyjsLIdL/oj5jJdjEX9zLxFbkkFS/V/yiEt ztk6u9lTXc6nDC/wO6Ep6awDfV5QTd3tvSJZw3DdhRmyxKdMEYXq+TnC2zVSjegLjG++XrgpP 0Pn9AwkZaERfO9sBA10v/+xW4K5zM8EUmMlmAGW83sFGuNzODvmIytNVc4wIGdWeT99CveMBH t2dQmRzQ5WMYcAUjrc5zQAREzyMdPqadY1OFbYqaH6ZugLmkzhvLG9EBTB/SP9mGmX5/bh9Wx e3+g11NBVHNdA9DYB3M67vS7YhuxiMi67fXH0OEj3q9uVIUqtYoGGCX1AgTg+dLtTz1ejqkAP L3odbGpgLQanfeOpedb766PWOh7DucsWwi1nO7bYtsiCn+pENm7xy+Z2i/RbELdsBPPz7qxgB lthhiDWHFLoyx8UCPTP+rOExxqyOqyCksC+RXw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I found one problem related to `toggle-to-maximized'. If this happened= > right after `frame-resize-pixelwise' was set to a non-nil value, the > NSWindow parameter `resizeIncrement' must be updated. If this does not= > occur, the frame size is rounded down to only accommodate full charact= ers. > The extra space was distributed evenly above and below the frame. The > attached patch fixes this issue. Makes sense. Pushed as 73b0901..e55460e to master. > To see the difference, run Emacs -Q and evaluate the following. After = the > patch is applied, the frame is no longer moves down. > > (progn > (setq frame-resize-pixelwise t) > (toggle-frame-maximized)) > > Unfortunately, the frame still doesn't cover the entire screen. Usually it shouldn't, for maximizing. The problem as far as I understand is that NS doesn't have the concept of a "maximized" frame. > The > documentation to `windowWillUseStandardFrame' says: > > "The size of the current screen, which is the screen containing t= he > largest part of the window's current frame, possibly reduced on the to= p, > bottom, left, or right, depending on the current interface style." > > Effectively, this mean that the frame is reduced one pixel on the top = (if > the menu bar is visible) and four pixels at the bottom. This correspon= ds to > how other applications, like Chrome, works. When you do what, in Chrome? Try maximizing the Chrome window? How do you do that? > I think it would be relatively easy to override this (well, at least t= he > four pixels at the bottom), but I'm not sure if we should and, if so, = under > which conditions. (I can image that some users would like Emacs to fil= l the > entire screen whereas others might prefer the standard four pixels to = be > unused at the bottom.) We have the concept of a "workarea" as it's returned by =91display-monitor-attributes-list=92. On all systems I know of, a "maximized" frame occupies the full workarea, a "fullwidth" frame the full width of the workarea and a "fullheight" frame the full height of the workarea. (I have no idea how these concepts expand to multiple monitors though.) How do the four unused pixels relate to your workarea? > In the Info documentation to the `fullscreen' frame parameter, there a= re > two values missing: `nil' and `fullscreen'. The former indicates that = the > frame is in non-maximized state nil means "neither of =91maximized=92, =91fullwidth=92, =91fullheight=92 = or =91fullboth=92". > and the latter seems to behave like > `fullboth'. =91fullscreen=92 should not be used. I kept it in because I had the fain= t feeling that at some time it was used isntead of =91fullboth=92. > Interestingly, the function `toggle-frame-fullscreen' seems to > use this undocumented parameter value. It accepts it IIUC but it does not store it. Or what do you mean? Note that the documentations is still not very clear on the entire subject, mostly so because I don't know how other systems handle it. For example, xfce which I use on Debian seems to correctly cooperate with Emacs via the extended window manager hints with one exception: The state of the "resize" button in the title bar is the same for =91fullheight=92 and =91maximized=92. Consequently, using that button do= esn't quite DTRT for a full height frame. On Windows, Emacs controls =91fullheight=92 and =91fullwidth=92 and I see= no such problem. But you will nowhere find a description of the semantics of =91toggle-frame-maximized=92 when the frame is in the =91fullboth=92 s= tate and was =91maximized=92 before. Note also in this context that Stefan's bug #10670 "`fullscreen' frame parameter ill-named" is yet unresolved: The frame parameter `fullscreen' is ill-named: I think that it should = be renamed to `maximized' with accepted values nil, `vertical', `horizontal', `both', or `fullscreen'. I agree with his diagnosis but I disagree with the cure. And for compatibility reasons we would have to accept the old values anyway. > (In addition, there are some control > characters showing on the first line.) Please elaborate. > On a side note, the NSTRACE rewrite is coming along nicely (it really > helped in tracking down this problem) but it's not yet ready for relea= se. Fine. Can you please get yourself write access to the git repository so you can install it when it's ready? I feel some unease installing larger changes on systems where I cannot check the consequences myself immediately. martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 28 10:32:11 2015 Received: (at 21415) by debbugs.gnu.org; 28 Sep 2015 14:32:11 +0000 Received: from localhost ([127.0.0.1]:46807 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgZTO-0000Ky-OK for submit@debbugs.gnu.org; Mon, 28 Sep 2015 10:32:11 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:43693) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgZTM-0000Ko-6s for 21415@debbugs.gnu.org; Mon, 28 Sep 2015 10:32:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=epr+WI7s8nb7OqbQu+7UUwMx9ppX2ysyjygmQUxothQ=; b=g6wfvyroMaXHSV8xIwOWSLNveWW/ndmPKCJKFUwFMb+HC7NIezEvma11RMQPwUVCPCRNcSP2+FFGOA42dah978YjKLSCFONV9cKfY0UzRbTks+lcZjmRUAmfLY1qF7Ky; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:49632 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZgZTH-0002Xn-Ih; Mon, 28 Sep 2015 10:32:03 -0400 Date: Mon, 28 Sep 2015 07:32:05 -0700 Message-ID: From: Keith David Bershatsky To: Martin Rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Would it be possible to broaden the scope of issue number 21415 to include Emacs for Microsoft Windows such that the following will also work using a floating point: (make-frame '( (height . 25.0) (width . 50.0))) Because I do not yet have the knowledge to build Emacs for Microsoft Windows, I have been using the Emacs Trunk built by Dani Moncayo. The updates are every few weeks. https://sourceforge.net/projects/emacs-bin/?source=updater Keith From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 28 11:31:38 2015 Received: (at 21415) by debbugs.gnu.org; 28 Sep 2015 15:31:38 +0000 Received: from localhost ([127.0.0.1]:46831 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgaOw-0001lC-GE for submit@debbugs.gnu.org; Mon, 28 Sep 2015 11:31:38 -0400 Received: from mout.gmx.net ([212.227.15.18]:55630) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgaOt-0001l3-UE for 21415@debbugs.gnu.org; Mon, 28 Sep 2015 11:31:36 -0400 Received: from [93.82.76.133] ([93.82.76.133]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0Me8RK-1a1wCZ3EkQ-00PviD; Mon, 28 Sep 2015 17:31:33 +0200 Message-ID: <56095D53.5070702@gmx.at> Date: Mon, 28 Sep 2015 17:31:31 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:ohUWL0TcgQrKMh0Wpg3qUdxpXpxxsAcrMNRpNvduweHxu7ZCCR3 rzSVaf+HQCG+glGZp6Kx1U4LZHhZnTfeoy/aK8mCls4qQPRK9XUOl5U5Bb3Usz8/hwvZjDr VTf5KvDp91ou3csVy7KkXFyMQAvbijzuTxooNGTbgf5GCfyi/URsqw/h5H8QSwgcyWjBoXg Tp6OH4/Y+IK3c5J4Triag== X-UI-Out-Filterresults: notjunk:1;V01:K0:fUqYZoNwLZs=:Sf9IoErOWp9NHlmP80Pobp mphmVYXY/bj8Nrp4qWcnShyt7RqlH5AidfhSEqBlSAaDnHHQuZ6dRdXOMVk291HBAAFtGokhK 6jQMD6wzzGO2tlyGGLwGHiGCMok4OnxLGYsbzJBhTXzhjnpj1KyZqEHGKkiy6zwpaSKS7haGz Ba7m5HBa4GZw8s5VqJM3Z2Wz06IWp4Iv73Xj+TW73h9XnERloDNgDngCSn0CNATYvexTl8+zD 4uOLAlSzG8AFi6erQiSrPy89KehL1c6vZCv22D5XyGbVdZL3N+D9Zk8zIRZLsc6unPiAdAZyK l5LtRRMnc8cHWIb8k3ojm24xUI+0MOu4Pze1Nw8DnlVUogTdhUZN6bnWl7t/I1RJYXPUmh17l yKHGxFmJ9BY/maC5uQwja+IF1TmqMtV3ce6vblA8g1xBhAUBFoqVmJ/sYbsxC4NoWcWNozecn 4sk2QE/dLJzvZJE8bRydCVOyYxqFXtwy/p62DgEsswxKOmPActHZqRnpvrS0aNNgdM7TBFseu NzY3NvSQmg04j5MVoKSBiKvaBynkVdLvS35AYfb4NOJxNR66zeRO5WVpuySz2jq/FoCR/8czU m9NMbQfmdRzCbBAxl1cyrZN4z5NypU4XsJoYUmQ25kcAsFmJeemdbXUnFdALsvwaXAF9Qd1Qs rjiyf+RlRFRUXLWftUg8MN0HVSnK+6/BJ1Jp8dYA89sN5adfO2RDCfgUxVgjVebWX1xLfPYxZ h/Xpj2NpxZNVwdahXM2yFoOciJ3FhrixW/afjw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Would it be possible to broaden the scope of issue number 21415 to > include Emacs for Microsoft Windows such that the following will also > work using a floating point: > > (make-frame '( > (height . 25.0) > (width . 50.0))) > A 25 x 50 pixels window might look a bit small but 500.0 x 250.0 work here. With X things get more complicated but they should work there too. The major problem is and will remain NS: If with emacs -Q, you evaluate (progn (setq frame-resize-pixelwise t) (setq frame-inhibit-implied-resize t) (make-frame '((width . 1200.0) (height . 600.0) (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1")))) what does (cons (frame-text-width) (frame-text-height)) return? > Because I do not yet have the knowledge to build Emacs for Microsoft > Windows, You should acquire that knowledge. If there are any problems, Eli will help (I won't because I'm misconfiguring). The more people build on Windows, the sooner we will be able to catch errors there. As things stand, too many people wait for the next release of ... > I have been using the Emacs Trunk built by Dani Moncayo. The updates are every few weeks. > > https://sourceforge.net/projects/emacs-bin/?source=updater ... and if Dani picked up a bad moment, we might get floods of errors for something that was broken (and maybe even fixed) some time ago. And I forgot to mention one aspect: You might then even be the first to regularly build Emacs on both Windows and NS. While this probably won't give you any bonus points in this community, it still might be interesting to get first hand experience with comparing the behavior of Emacs on the two major proprietary systems. martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 28 13:49:17 2015 Received: (at 21415) by debbugs.gnu.org; 28 Sep 2015 17:49:18 +0000 Received: from localhost ([127.0.0.1]:46917 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgcY9-0004wu-Cy for submit@debbugs.gnu.org; Mon, 28 Sep 2015 13:49:17 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:44147) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgcY6-0004wl-AF for 21415@debbugs.gnu.org; Mon, 28 Sep 2015 13:49:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=Xp5R1oJTZJbRLF/uDYEx2NDgO7NzI3/S9tHD1J2Ngic=; b=06W+WRkFLn9PqQBN+w45QS9aRPTRIZCOp2qcp8CifZBJZCB0SKwOGaM9doeyLIFjvEKudBTxWEAlbagtw0YB53LokMi2ERaiHBBMX3g9hIwdlQkV+R+81DHmPDy7E/Ll; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:53072 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZgcY4-00043l-9W; Mon, 28 Sep 2015 13:49:12 -0400 Date: Mon, 28 Sep 2015 10:49:12 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) The pre-built Windows version from September 23, 2015 doesn't yet have the magical patch to support a pixelwise floating point. I've taken the first steps toward learning how to build Emacs on Windows, but have encountered some initial stumbling blocks with a never ending loop after the initial checking is performed during the make process. I will work on it a little each day until I figure it out . . . . Debugger entered--Lisp error: (wrong-type-argument integerp 1200.0) x-create-frame(((visibility) (width . 1200.0) (height . 600.0))) x-create-frame-with-faces(((width . 1200.0) (height . 600.0) (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1"))) #[257 "\300!\207" [x-create-frame-with-faces] 3 "\n\n(fn PARAMS)"](((width . 1200.0) (height . 600.0) (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1"))) apply(#[257 "\300!\207" [x-create-frame-with-faces] 3 "\n\n(fn PARAMS)"] ((width . 1200.0) (height . 600.0) (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1"))) frame-creation-function(((width . 1200.0) (height . 600.0) (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1"))) make-frame(((width . 1200.0) (height . 600.0) (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1"))) (progn (setq frame-resize-pixelwise t) (setq frame-inhibit-implied-resize t) (make-frame (quote ((width . 1200.0) (height . 600.0) (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1"))))) eval((progn (setq frame-resize-pixelwise t) (setq frame-inhibit-implied-resize t) (make-frame (quote ((width . 1200.0) (height . 600.0) (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1"))))) nil) elisp--eval-last-sexp(nil) eval-last-sexp(nil) funcall-interactively(eval-last-sexp nil) call-interactively(eval-last-sexp nil nil) command-execute(eval-last-sexp) Keith From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 28 14:00:45 2015 Received: (at 21415) by debbugs.gnu.org; 28 Sep 2015 18:00:45 +0000 Received: from localhost ([127.0.0.1]:46923 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgcjF-0005EF-0R for submit@debbugs.gnu.org; Mon, 28 Sep 2015 14:00:45 -0400 Received: from mout.gmx.net ([212.227.17.22]:60647) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgcjD-0005E5-55 for 21415@debbugs.gnu.org; Mon, 28 Sep 2015 14:00:43 -0400 Received: from [93.82.76.133] ([93.82.76.133]) by mail.gmx.com (mrgmx101) with ESMTPSA (Nemesis) id 0MY3Ho-1aBXey1w6S-00UvMG; Mon, 28 Sep 2015 20:00:40 +0200 Message-ID: <56098044.1000006@gmx.at> Date: Mon, 28 Sep 2015 20:00:36 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:pICrBA3DGcMwSF3XCDFpTMWTYlskSSO8CQJxttji/QDT3IGPnoo 1Nvx88QzRx5h/kzmOrj4/YYPjxtUVEcaFvGgImSx/+juE+Ro4N3LAMURFDKbWwhnLhQA7ue FRqVxp09/hM7iqGvTYikIq1vdBFaeXBQtMaREYMJu6gAIYaTZdbzksN2Hhwm50Gf/XpByoQ VocLNQzeMzlcABISl7BVQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:NdpYHzJwcdk=:gpLAETaKXHoiF+8OpNfH2I Oi1QeOV+O0wFg/0duNY8yYI1ci59hTGZXYRYJZstCfcydhwV4936u8KJF6QshW1oeE0oethXy YeISx61TUrTUPJGqmhTGbtaGsm9867QCKnTFE3N4/lU8qdtwxEwEwPNsIzVb8qCEKLlt1e2MQ k9pIuR0zkuLjx4qXqJ1fn3iDS9CngjLYmOLjf5ijy10HN+K9GpKo37eWbH4NIlSQjIl5T+IT6 GDiu4g3RLorRdcdmDfAyV+Wu4P16eo7icP2JvSATdsxSRv8MK7AObkBgK97DpAJt4hx71LwB0 AeqswmfuPZffTrGaFa6mo/BtNuT5/WnzHmsV6zu8/EJ3ffdLoreBxZfc3zG1FM9GGktZo+KWO QyFUIGYOSyaihDAelpVw3BB/l79W5ZyzP5fXx7vzZHU/5/HEvvNRJDwgb1kQbnNHiSe7W3oIy FHSCRUGz4bUymLmhcvkXOCGTkzbRgUrwuuefj5RGzi21IpnU/flA5e0eDb3Ma+AC4QBPlBbYG vbBQtNeJRCTBN1tAWvtMiEetGc+Ze/taM+8Jd22caDzEqdcIRcXyAVwIWaGBnKs1CQqOiMfLX Vqu+HOkJah3jrvZWRCA+n2D6FKRQEupuQL6jFT6gHpocyxEcz0kDNPgmRBlCA/Lq3nny53c0g uikYIUzZ7GizWtqRCt1zq8uixFJUphxqsGFWnU60HH5VHkFx+Oa0HTmqMCC60cFysRkxpjVTs 9W3SlTJt2hU8B5YMCy2xMisFv6b4aNocmE1JdA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > The pre-built Windows version from September 23, 2015 doesn't yet have > the magical patch to support a pixelwise floating point. I've taken > the first steps toward learning how to build Emacs on Windows, but > have encountered some initial stumbling blocks with a never ending > loop after the initial checking is performed during the make process. > I will work on it a little each day until I figure it out . . . . > > Debugger entered--Lisp error: (wrong-type-argument integerp 1200.0) > x-create-frame(((visibility) (width . 1200.0) (height . 600.0))) Obviously. This works only with the patch I sent you. But I asked you to do on NS: If with emacs -Q, you evaluate (progn (setq frame-resize-pixelwise t) (setq frame-inhibit-implied-resize t) (make-frame '((width . 1200.0) (height . 600.0) (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1")))) what does (cons (frame-text-width) (frame-text-height)) return? martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 28 14:13:40 2015 Received: (at 21415) by debbugs.gnu.org; 28 Sep 2015 18:13:40 +0000 Received: from localhost ([127.0.0.1]:46928 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zgcvk-0005Vw-9z for submit@debbugs.gnu.org; Mon, 28 Sep 2015 14:13:40 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:47937) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zgcvi-0005Vp-Em for 21415@debbugs.gnu.org; Mon, 28 Sep 2015 14:13:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=opvZbqF45XGncK63V/OIAw2DWTWftjshRZExh4mHHrk=; b=kHL5Hx6XC1OH2KsAyE1VLT2xjIhNIIZPRrXON5UK9Xn5h9A0suPqZWnxWpgQqc1vxyF+WZBIX483I9/C8zcEkyFg+8bLhF2wduk1D6riXYABibhIw+B6Guxs7wXoBpf4; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:53370 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1Zgcvg-0006Yq-AZ; Mon, 28 Sep 2015 14:13:36 -0400 Date: Mon, 28 Sep 2015 11:13:36 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Ah . . . okay . . . on NS with emacs -Q, I get: (1185 . 600) Keith ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; At Mon, 28 Sep 2015 20:00:36 +0200, martin rudalics wrote: > > * * * > . . . I asked you to do on NS: > > If with emacs -Q, you evaluate > > (progn > (setq frame-resize-pixelwise t) > (setq frame-inhibit-implied-resize t) > (make-frame '((width . 1200.0) (height . 600.0) > (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1")))) > > what does > > (cons (frame-text-width) (frame-text-height)) > > return? > > martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 28 17:35:54 2015 Received: (at 21415) by debbugs.gnu.org; 28 Sep 2015 21:35:54 +0000 Received: from localhost ([127.0.0.1]:46993 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zgg5R-0003Nx-9M for submit@debbugs.gnu.org; Mon, 28 Sep 2015 17:35:54 -0400 Received: from mail-vk0-f47.google.com ([209.85.213.47]:35649) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zgg5P-0003Nn-As for 21415@debbugs.gnu.org; Mon, 28 Sep 2015 17:35:52 -0400 Received: by vkao3 with SMTP id o3so91640634vka.2 for <21415@debbugs.gnu.org>; Mon, 28 Sep 2015 14:35:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=xjS0bLLU+Pb0KH6TtR+szHFyd0V4bnCSB3DXB2RLVn0=; b=Cp5gV4eVYruuSR/mxPt5cbGsXJpfBCkvsQRSdJbBQUoiROWwTHa9sMtf5DDUJ3tPtR glc8Of0Lp4Nx1GFHTRIHHi1SOe6ousQaaXOUUjlRaNn6l0589yHf031ib0Wb1VpG2LnW HRjNWb2i08ynDRzK8XDs7oFZ1y1cwX+xSNZQOLsefQr+AQGWRuWNP1Vbz0KipUHOIouL DmS3/QANAe/pgqHS3gnMII/WUVx9E839e1an+fBSTZvISb39FeyVsROkOijW3U4tz/hl nEHFV/GkphOm1OLYmOT8k7LH6GcsQhlGCvlYhtm1u6EmnRQozVFT/Cj3RVuJ2avmHZbD YHEA== MIME-Version: 1.0 X-Received: by 10.31.0.215 with SMTP id 206mr13936713vka.105.1443476150674; Mon, 28 Sep 2015 14:35:50 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Mon, 28 Sep 2015 14:35:50 -0700 (PDT) In-Reply-To: <5608E2AB.7010407@gmx.at> References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> <5601211E.3090001@gmx.at> <5608E2AB.7010407@gmx.at> Date: Mon, 28 Sep 2015 23:35:50 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a113da7c833efb20520d57b64 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a113da7c833efb20520d57b64 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi! > Makes sense. Pushed as 73b0901..e55460e to master. Thanks! > To see the difference, run Emacs -Q and evaluate the following. After the > > patch is applied, the frame is no longer moves down. > > > > (progn > > (setq frame-resize-pixelwise t) > > (toggle-frame-maximized)) > > > > Unfortunately, the frame still doesn't cover the entire screen. > > Usually it shouldn't, for maximizing. The problem as far as I > understand is that NS doesn't have the concept of a "maximized" frame. > In earlier OS X versions, the green button was designed to make the window large enough to accommodate the current document. In many applications, this meant that the window grew to it's maximum hight, minus those missing four pixels. In newer versions, the green button makes the application enter fullscreen mode. Internally, however, internally, it's still possible to issue either "toggleFullScreen" or "performZoom". When you do what, in Chrome? Try maximizing the Chrome window? How do > you do that? If I manually drag the Chrome window to its largest size, I can make it stretch the entire width, but there will be four pixels missing at the bottom. Also, if I hit the green button in older OS X versions, the same four pixels are missing from the bottom. > We have the concept of a "workarea" as it's returned by > =E2=80=98display-monitor-attributes-list=E2=80=99. On all systems I know= of, a > "maximized" frame occupies the full workarea, a "fullwidth" frame the > full width of the workarea and a "fullheight" frame the full height of > the workarea. (I have no idea how these concepts expand to multiple > monitors though.) How do the four unused pixels relate to your > workarea? The function returns the following: (((name . "SyncMaster") (geometry 0 0 1600 1200) (workarea 0 23 1600 1173) (mm-size 432 324) (frames #) (source . "NS")) ((name . "SyncMaster") (geometry 1600 0 1600 1200) (workarea 1600 0 1600 1200) (mm-size 432 324) (frames) (source . "NS"))) Interestingly, the workarea of the primary screen is missing four pixels (1200 - 1173 - 34) =3D 4. However, the workarea of the secondary monitor does not. When executing `toggle-frame-maximized' on the secondary frame (with `frame-resize-pixelwise' set to t), the frame is placed at the bottom left corner (which is good), but there are four pixles missing at the TOP of the screen. (I haven't investigated why, though.) > In the Info documentation to the `fullscreen' frame parameter, there are > > two values missing: `nil' and `fullscreen'. The former indicates that t= he > > frame is in non-maximized state > > nil means "neither of =E2=80=98maximized=E2=80=99, =E2=80=98fullwidth=E2= =80=99, =E2=80=98fullheight=E2=80=99 or > =E2=80=98fullboth=E2=80=99". Yes, I guessed so -- but it needs to be documented, right? > Interestingly, the function `toggle-frame-fullscreen' seems to > > use this undocumented parameter value. > > It accepts it IIUC but it does not store it. Or what do you mean? > My mistake -- I was looking at the 24.5 source. There, the `fullscreen' property was set to `fullscreen'. It has been fixed in the Emacs 25 source. > (In addition, there are some control > > characters showing on the first line.) > > Please elaborate. In the "info" documentation, the first line looks like the following, where the backslash-numbers represent a single character. I guess this is some kind of encoding issue... This parameter specifies whether to maximize the frame\342\200\231s width, > On a side note, the NSTRACE rewrite is coming along nicely (it really > > helped in tracking down this problem) but it's not yet ready for releas= e. > > Fine. Can you please get yourself write access to the git repository so > you can install it when it's ready? I feel some unease installing > larger changes on systems where I cannot check the consequences myself > immediately. I fully understand. Who should I talk to to get write access? (The last time I was doing any serious work on Emacs, Jan Dj=C3=A4rv did the checkins= , but that was before he resigned.) / Anders --001a113da7c833efb20520d57b64 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi!
=C2=A0
Makes sense.=C2=A0 Pushed as 73= b0901..e55460e to master.

Thanks!


> To see the= difference, run Emacs -Q and evaluate the following. After the
> patch is applied, the frame is no longer moves down.
>
>=C2=A0 =C2=A0 =C2=A0 (progn
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 (setq frame-resize-pixelwise t)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 (toggle-frame-maximized))
>
> Unfortunately, the frame still doesn't cover the entire screen.
Usually it shouldn't, for maximizing.=C2=A0 The problem as far as I
understand is that NS doesn't have the concept of a "maximized&quo= t; frame.

In ea= rlier OS X versions, the green button was designed to make the window large= enough to accommodate the current document. In many applications, this mea= nt that the window grew to it's maximum hight, minus those missing four= pixels.

In newer versions, the green button makes= the application enter fullscreen mode.

Internally= , however, internally, it's still possible to issue either "toggle= FullScreen" or "performZoom".


<= /div>
When you do what, in Chrome?=C2=A0 Try maximizing the Chrome wind= ow?=C2=A0 How do
you do that?

If I manually drag the Chrome = window to its largest size, I can make it stretch the entire width, but the= re will be four pixels missing at the bottom. Also, if I hit the green butt= on in older OS X versions, the same four pixels are missing from the bottom= .
=C2=A0
We have the concept of a "workarea" as it's returned by
=E2=80=98display-monitor-attributes-list=E2=80=99.=C2=A0 On all systems I k= now of, a
"maximized" frame occupies the full workarea, a "fullwidth&q= uot; frame the
full width of the workarea and a "fullheight" frame the full heig= ht of
the workarea. (I have no idea how these concepts expand to multiple
monitors though.)=C2=A0 How do the four unused pixels relate to your
workarea?

The function returns the followin= g:

(((name . "SyncMaster")
=C2=A0 (geometry 0 0 1600 1200)
=C2=A0 (workarea 0 23 1600 1173= )
=C2=A0 (mm-size 432 324)
=C2=A0 (frames #<frame *s= cratch* 0x101099630>)
=C2=A0 (source . "NS"))
<= div>=C2=A0((name . "SyncMaster")
=C2=A0 (geometry 1600 = 0 1600 1200)
=C2=A0 (workarea 1600 0 1600 1200)
=C2=A0 = (mm-size 432 324)
=C2=A0 (frames)
=C2=A0 (source . &quo= t;NS")))

Interestingly, the workarea of= the primary screen is missing four pixels (1200 - 1173 - 34) =3D 4.
<= div>
However, the workarea of the secondary monitor does not.= When executing `toggle-frame-maximized' on the secondary frame (with `= frame-resize-pixelwise' set to t), the frame is placed at the bottom le= ft corner (which is good), but there are four pixles missing at the TOP of = the screen. (I haven't investigated why, though.)

<= div>
> In the Info documentat= ion to the `fullscreen' frame parameter, there are
> two values missing: `nil' and `fullscreen'. The former indicat= es that the
> frame is in non-maximized state

nil means "neither of =E2=80=98maximized=E2=80=99, =E2=80=98fullwidth= =E2=80=99, =E2=80=98fullheight=E2=80=99 or
=E2=80=98fullboth=E2=80=99".

Yes, I gu= essed so -- but it needs to be documented, right?

=
> Interestingly, the functio= n `toggle-frame-fullscreen' seems to
> use this undocumented parameter value.

It accepts it IIUC but it does not store it.=C2=A0 Or what do you mean?
=

My mistake -- I was looking at the 24.5 so= urce. There, the `fullscreen' property was set to `fullscreen'. It = has been fixed in the Emacs 25 source.


<= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;pa= dding-left:1ex">> (In addition, there are some control<= br> > characters showing on the first line.)

Please elaborate.

In the "info" d= ocumentation, the first line looks like the following, where the backslash-= numbers represent a single character. I guess this is some kind of encoding= issue...

=C2=A0 =C2=A0 =C2=A0This parameter speci= fies whether to maximize the frame\342\200\231s width,
=C2=A0=

> On a side note,= the NSTRACE rewrite is coming along nicely (it really
> helped in tracking down this problem) but it's not yet ready for r= elease.

Fine.=C2=A0 Can you please get yourself write access to the git repository = so
you can install it when it's ready?=C2=A0 I feel some unease installing=
larger changes on systems where I cannot check the consequences myself
immediately.

I fully understand. Who should= I talk to to get write access? (The last time I was doing any serious work= on Emacs, Jan Dj=C3=A4rv did the checkins, but that was before he resigned= .)
=C2=A0
/ Anders

--001a113da7c833efb20520d57b64-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 29 03:22:50 2015 Received: (at 21415) by debbugs.gnu.org; 29 Sep 2015 07:22:50 +0000 Received: from localhost ([127.0.0.1]:47184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgpFS-0001iW-8S for submit@debbugs.gnu.org; Tue, 29 Sep 2015 03:22:50 -0400 Received: from mout.gmx.net ([212.227.17.22]:53384) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgpFQ-0001iP-OP for 21415@debbugs.gnu.org; Tue, 29 Sep 2015 03:22:49 -0400 Received: from [178.191.137.212] ([178.191.137.212]) by mail.gmx.com (mrgmx101) with ESMTPSA (Nemesis) id 0Lfolq-1aQYLD3Tcg-00pLez; Tue, 29 Sep 2015 09:22:41 +0200 Message-ID: <560A3C3D.9040508@gmx.at> Date: Tue, 29 Sep 2015 09:22:37 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:SDsheXPBgQz5GvTbRE2CH/I5y54nUOvM3sQqhRMF8hCqoUTBsBJ wc+M4FCunzOxHKRMhaKmgAMfHwyqJ/hykFOOhRguW/ENM80GqpdgH51kfieRwGMm9xtLTDs GqHzN4YnajsGEfwolovJjf6/Kj8qH2FTXE1oNy5q19tvqzBluUa7NpyGFIzy64WwFCmDy3k BrODM1oD/O1OxpRlx1Jrg== X-UI-Out-Filterresults: notjunk:1;V01:K0:UVhnrWQcF2w=:h0r9swTYnr+3Bew3Zh5LEx GFfnVsB7syODidU3DkvBgVkd3TPiRmHBZ2WT7upJNbaSenPCazdx0Bo8m86P9Ous7SGfenpvp SwLQ9T/VFWzRiYWtlOXx6x3zl6TphDO8a0UjLQl6WEsCW9znRGY4ylvNUQ+cOcA3tVmOhofSE +ASau9yRDaoSBsKy+RURR0LtX3dB6itiGVgEBkuJM6jZ+wFK3gZT7jr/7T7iwR0Qtqu65XycD h5+Wd2NBt0SMJfqaxff3rUWMb3d1onS4lXLylnXANCLYn7kKKcDdkjYuOyLD6zhsI1PwUmKx6 wSeMOaTSVYM/G1gYxorAFt/A8oZKydUq/W48I7rK1q4PYI3Dt+RIQGxSVOOxZg+I06GgGJODI I6kmU91q1qE8q5U0I0BtzWDjzzZdcyy+yzhivz1sRIqCLAfOUrNIwK+zBtTiewljMServRb5L bjt0HJPIQtHUZ4YuRqpde2cabYy5QBg7KKtaAxfuV1ORJ/Qy/03VrT6T8VGNWkqbFQrJwZciR 5rB9KAoogu+7suXpam/CgAcgCsFTFDCa0NaYVWINM+qYIAvFv/TE3JCSgMELv81iuFqAQMEL7 X1mqiaOO7MIjp+EJJK2dMQovudQ6f5kC4N97LkBAafkx5XGPCGCGzwKnVkdAWkHjVVJ31tch7 1vXHaPH5kcrqMShQsVvxTPtBP1anwFnBRZgS0TDDiA1XLetvw9j9al3U4MMNzK2Vmzhlzz5qq hzpFsMSiG8yQM0PX4azbki7DXYX94gO1lnx4Ww== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Ah . . . okay . . . on NS with emacs -Q, I get: > > (1185 . 600) Not all too bad given that we want (1200 . 600). I'm really surprised that the height seems OK. What does evaluating the following three forms in the new frame return? (frame-parameter nil 'scroll-bar-width) (frame-parameter nil 'left-fringe) (frame-parameter nil 'right-fringe) martin From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 29 03:23:59 2015 Received: (at 21415) by debbugs.gnu.org; 29 Sep 2015 07:23:59 +0000 Received: from localhost ([127.0.0.1]:47191 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgpGZ-0001kc-33 for submit@debbugs.gnu.org; Tue, 29 Sep 2015 03:23:59 -0400 Received: from mout.gmx.net ([212.227.17.20]:53206) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgpGX-0001kU-BQ for 21415@debbugs.gnu.org; Tue, 29 Sep 2015 03:23:57 -0400 Received: from [178.191.137.212] ([178.191.137.212]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0MVNWU-1a9ysR3W4U-00YiwQ; Tue, 29 Sep 2015 09:23:54 +0200 Message-ID: <560A3C87.3060802@gmx.at> Date: Tue, 29 Sep 2015 09:23:51 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren , "eliz@gnu.org" Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> <5601211E.3090001@gmx.at> <5608E2AB.7010407@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:F1iNRxb3GmSQHNsi4Vg3W9UwZZoU2esfH0+Nm7Lg7L02KE8EXe1 9eqcsKsvM1oj65cnZ2luWUuj94QF+9+u3RmaLQkqLYfg11ekfNH8xZGi78NUE6XV6zhP4M9 DERe3jRQGimqD7KGJvkpsUtmPwGXnw+x5zxyk861lCdOvvch8Jp+6jVKHLlinTn+ByNwbUm p1OAXJSr1zuox+tYpqr0g== X-UI-Out-Filterresults: notjunk:1;V01:K0:MSTPfkxVYoU=:AI0rhrbj7drmeIahwLim/o PazJuJuzX9C69L7FmFN0KUpVZATQnYj7Eikqe4rJ1AJB1g+LiXJF1we2+KR1MPaPzfjuRWgMI HT/1qOwnykSMo99cZiqOxSgd8XnNkSe0gwXvEzvct5cCTYb6wByTfp/Q2SC22mpypyWXsaNSd Fe7CeglJnSSpacyZWykx/ARf99tukEB6Bud3jw6tooIrM1DcObKZNqx1QDePxGlgPvfgKEsuf Io1P2XrDXG9wWKrsEXC+Hv5rtaSLlSUdmTHHXlwYSgolT9VEQ6tIhMCy017zD4YClfK83IYAa 3fBO0SQGxXVejJeiV8d61E8z72UrxpjSfuNICxysG8L4R2CKERtUK+u66OUOYVSKHk97n3mro mKaiRkDR5axSMxV4q3EpvmE+FRRS1vZ2EH1otZyUhbkSsntRYkdzjRA0W0iMCQXl/tybldxMF VvhXh+BU+Ro9ZieKWaYo6ODibHEtmGWMq/PubP1+jviwCRW0roHKA5rwUbqH7fOPH2+1kFp7T C9h0/tACeDJbQou3ByzHolxtQ2HmFbuHHMpQgLVkNb9oiWWxes0K7+/IBJTJMsQ0ILEb+uITJ ElgPE72JLBw702fN6XvAzC22HaxtHldBuiKLEDGkmcSaaN7343asA6PqEOCPtRBZtnDrcE3C5 tXE8QvisKGduqPMSHrQdRz467C2z1fX28es7/WOcTW62pHMMBCjpeOzIryIkUn3u2C35IIwbO 3h1bQXHogD4BytEZCj/9lo98PzTErAsIltm8Iw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Internally, however, internally, it's still possible to issue either > "toggleFullScreen" or "performZoom". What does "internally" mean here? > If I manually drag the Chrome window to its largest size, I can make i= t > stretch the entire width, but there will be four pixels missing at the= > bottom. Also, if I hit the green button in older OS X versions, the sa= me > four pixels are missing from the bottom. > (((name . "SyncMaster") > (geometry 0 0 1600 1200) > (workarea 0 23 1600 1173) > (mm-size 432 324) > (frames #) > (source . "NS")) > ((name . "SyncMaster") > (geometry 1600 0 1600 1200) > (workarea 1600 0 1600 1200) > (mm-size 432 324) > (frames) > (source . "NS"))) > > Interestingly, the workarea of the primary screen is missing four pixe= ls > (1200 - 1173 - 34) =3D 4. What was the 34 about? I probably forgot. > However, the workarea of the secondary monitor does not. When executin= g > `toggle-frame-maximized' on the secondary frame (with > `frame-resize-pixelwise' set to t), the frame is placed at the bottom = left > corner (which is good), but there are four pixles missing at the TOP o= f the > screen. (I haven't investigated why, though.) Does =E2=80=98toggle-frame-maximized=E2=80=99 pass on 1173 or 1176 or 120= 0 as height? >> nil means "neither of =E2=80=98maximized=E2=80=99, =E2=80=98fullwidth= =E2=80=99, =E2=80=98fullheight=E2=80=99 or >> =E2=80=98fullboth=E2=80=99". > > > Yes, I guessed so -- but it needs to be documented, right? I'll do that. > In the "info" documentation, the first line looks like the following, = where > the backslash-numbers represent a single character. I guess this is so= me > kind of encoding issue... > > This parameter specifies whether to maximize the frame\342\200\2= 31s > width, Funny. Here this line reads as This parameter specifies whether to maximize the frame's width, height Probably this got screwed up during the "'" conversion process. > I fully understand. Who should I talk to to get write access? (The las= t > time I was doing any serious work on Emacs, Jan Dj=C3=A4rv did the che= ckins, but > that was before he resigned.) You have to apply for membership at Savannah: https://savannah.gnu.org/git/?group=3Demacs Then Eli (I believe) has to confirm that you are given write access and finally you have to establish a key pair. Eli will correct me possibly. martin From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 29 03:50:08 2015 Received: (at 21415) by debbugs.gnu.org; 29 Sep 2015 07:50:08 +0000 Received: from localhost ([127.0.0.1]:47196 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zgpfr-0002S7-JH for submit@debbugs.gnu.org; Tue, 29 Sep 2015 03:50:08 -0400 Received: from mtaout21.012.net.il ([80.179.55.169]:56967) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zgpfn-0002Ri-2D for 21415@debbugs.gnu.org; Tue, 29 Sep 2015 03:50:04 -0400 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NVF00M00HOHD700@a-mtaout21.012.net.il> for 21415@debbugs.gnu.org; Tue, 29 Sep 2015 10:50:01 +0300 (IDT) Received: from HOME-C4E4A596F7 ([84.94.185.246]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NVF00M0GHRDBF30@a-mtaout21.012.net.il>; Tue, 29 Sep 2015 10:50:01 +0300 (IDT) Date: Tue, 29 Sep 2015 10:50:14 +0300 From: Eli Zaretskii Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame In-reply-to: <560A3C87.3060802@gmx.at> X-012-Sender: halo1@inter.net.il To: martin rudalics Message-id: <83d1x1d5qh.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 8BIT References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> <5601211E.3090001@gmx.at> <5608E2AB.7010407@gmx.at> <560A3C87.3060802@gmx.at> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 21415 Cc: esq@lawlist.com, 21415@debbugs.gnu.org, andlind@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii 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 (+) > Date: Tue, 29 Sep 2015 09:23:51 +0200 > From: martin rudalics > CC: Keith David Bershatsky , 21415@debbugs.gnu.org > > > I fully understand. Who should I talk to to get write access? (The last > > time I was doing any serious work on Emacs, Jan Djärv did the checkins, but > > that was before he resigned.) > > You have to apply for membership at Savannah: > > https://savannah.gnu.org/git/?group=emacs > > Then Eli (I believe) has to confirm that you are given write access and > finally you have to establish a key pair. Eli will correct me possibly. Eli is only one of a few individuals who can do that; there are others. They all will receive your request for membership. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 29 13:09:37 2015 Received: (at 21415) by debbugs.gnu.org; 29 Sep 2015 17:09:37 +0000 Received: from localhost ([127.0.0.1]:48095 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgyPJ-0004yJ-Fz for submit@debbugs.gnu.org; Tue, 29 Sep 2015 13:09:37 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:36722) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgyPH-0004yB-Un for 21415@debbugs.gnu.org; Tue, 29 Sep 2015 13:09:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=9yD+skQVApQmS9n6oG8dnGQ30qkA4mj9rQ79IgdmXyI=; b=BhW0vo36Jfmhc6stzM3V3EGJGmqQwzan6tfp6tHWZ2gdHBtLeTKkWbmRrIhgqWZ/vZvAx1N64gj6mkpsdTrf9c29alfmR7dGhAsQyWs3cYL62b+g2WYuwpXnC/3ICONz; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:51293 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZgyPF-0002Yy-9d; Tue, 29 Sep 2015 13:09:33 -0400 Date: Tue, 29 Sep 2015 10:09:33 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) I get 15, 8, 8: (frame-parameter nil 'scroll-bar-width): 15 (frame-parameter nil 'left-fringe): 8 (frame-parameter nil 'right-fringe): 8 With emacs -Q, after evaluating: (progn (setq frame-resize-pixelwise t) (setq frame-inhibit-implied-resize t) (make-frame '((width . 1200.0) (height . 600.0) (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1")))) At Tue, 29 Sep 2015 09:22:37 +0200, martin rudalics wrote: > > > Ah . . . okay . . . on NS with emacs -Q, I get: > > > > (1185 . 600) > > Not all too bad given that we want (1200 . 600). I'm really surprised > that the height seems OK. What does evaluating the following three > forms in the new frame return? > > (frame-parameter nil 'scroll-bar-width) > (frame-parameter nil 'left-fringe) > (frame-parameter nil 'right-fringe) > > martin From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 29 13:14:23 2015 Received: (at 21415) by debbugs.gnu.org; 29 Sep 2015 17:14:23 +0000 Received: from localhost ([127.0.0.1]:48099 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgyTv-00055V-3i for submit@debbugs.gnu.org; Tue, 29 Sep 2015 13:14:23 -0400 Received: from mout.gmx.net ([212.227.15.19]:51646) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZgyTt-00055M-FT for 21415@debbugs.gnu.org; Tue, 29 Sep 2015 13:14:21 -0400 Received: from [188.22.239.38] ([188.22.239.38]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0MMShK-1ZjkAl3j26-008HSb; Tue, 29 Sep 2015 19:14:14 +0200 Message-ID: <560AC6E1.1010105@gmx.at> Date: Tue, 29 Sep 2015 19:14:09 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:G+zWbxpmt5/WZgTySkMDbyYEnRmV0hbDwnVQ1P+WlFzdMLBCV1k DiCX/F4VVM3rhOkyRGrIPTDvEVuN5+Cxl2etB9ityRWmMPIMRXSjRCjbMHLXQfssGP4AjnU 3HO3+vfBPHilLI6sFq9Jd1VEPqk7cZEScy/eSlzQpYqvujXA562V7cCl0sWS0+p7JRs9dTC Y23P9kCvLeGN6Gtic5uug== X-UI-Out-Filterresults: notjunk:1;V01:K0:GoHzHjfwLtA=:oR7uN0GW4rZL0nFXscNAci OPf8I5irRNhvwq5L9rJ72fpbs7O3tGTygAjCuYI6mKcZLZUAeCE7mdm1KyhMfp5Bw45W7MNB5 prtBZGBA140ZXgrDD6uBq8VST/19OO8vRSzxc4ehLdz66zkPxpDaFHUrCajtmT/rK+muiNW8z 31rBcMmZ/xoHqnxqr4VehiwmxApS6EyT2w6+aZLw/z88sCjDWC6Elxbdafx0gxguZrHMYxyOq i1ONOMpJu9ISXcC9hF1nzE1UnVVI7r5SBYdDi79O+ZDkPekQyDUmWdDtur9rKBYXlsp8CDHfu SLzgzaAC0IYyazIXMvkZWx5fp09fjUJIN6A7r6DTOiDRjUvFR+snk478K0a6X8hFPaAM9Ky4q MLgenwHPnyOWxHJyEYrSDrt5SW8Sa8YBl6ks0ZoFm+8asnCjGRTTBqwBlrZpbHwS22gqpQle+ WZJUTtaIlmEsoNF4+jrud5DaugLFEoesxZXveU8zmnWcQCHyC7R4DWHxYnLKwqZXp1XgMl9L4 o2Sz/YkrsoteebAvFKUxeb1cIEd8CwRiXAwMAY1my8fZbVEUoKOMMCSTt06hl+X+/GnrHAWu2 0UCTP4NIWg0cwdRSN3OITaMJaFTnGrI/dz+03NAPymBl/IvF8tCHcaBzAWkuLq7Gdpy7b/D4X krdpviyp/EQYqn5BWJze0Hj5w39NoigRJhJYVSVEpiI5MPstOizvc2hnUmgar/+urMXLjk2wH tkdsTeJ2t1agJDrIETg5K4SknWLRvUyRyxmPsA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I get 15, 8, 8: > > (frame-parameter nil 'scroll-bar-width): 15 So it's obviously the scroll bar width. I will look into this. > (frame-parameter nil 'left-fringe): 8 > > (frame-parameter nil 'right-fringe): 8 > > With emacs -Q, after evaluating: > > (progn > (setq frame-resize-pixelwise t) > (setq frame-inhibit-implied-resize t) > (make-frame '((width . 1200.0) (height . 600.0) > (font . "-*-Courier-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1")))) > > At Tue, 29 Sep 2015 09:22:37 +0200, martin rudalics wrote: >> >> > Ah . . . okay . . . on NS with emacs -Q, I get: >> > >> > (1185 . 600) Thanks, martin From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 30 13:54:37 2015 Received: (at 21415) by debbugs.gnu.org; 30 Sep 2015 17:54:37 +0000 Received: from localhost ([127.0.0.1]:49510 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZhLaO-0002dE-W6 for submit@debbugs.gnu.org; Wed, 30 Sep 2015 13:54:37 -0400 Received: from mail-vk0-f46.google.com ([209.85.213.46]:32894) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZhLaM-0002d5-7a for 21415@debbugs.gnu.org; Wed, 30 Sep 2015 13:54:35 -0400 Received: by vkgd64 with SMTP id d64so26750977vkg.0 for <21415@debbugs.gnu.org>; Wed, 30 Sep 2015 10:54:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=QHrENVtY4uJuDFUPVU9Q2kLwvXCKiYmdPhqUDl7HGcM=; b=OCZ+mu7tSHO7Cky4ufHFFSZSjMKLgPha54eVJT/XANyiodHiofj2vJ9R+kxlxtuqub mcm+QRqD3eLi/ZzpDhPmvjGe/ssgTXz+4xT466pMSVHgba1YM/kZBqHJ7xMrDladNdJ/ 8nsqyA23k+00HNs6kYIiPNMO1Uymt7ZTd7KiQu1+6y5sPgu72+WTjSz574pvNG/GHG9l ReFj6sGRcPfzQUY9MzRiUH3Ipp3eXqQrAehfNWlNbpxvemf5xFllCi7LiOd8bzjRbjAJ 2upSnfjTu/8+u8US755MDmNKuio583g79FmXazxWCDU7h274+zoxK5ZSKE+1dIuAny6E pVVA== MIME-Version: 1.0 X-Received: by 10.31.0.215 with SMTP id 206mr3938473vka.105.1443635673492; Wed, 30 Sep 2015 10:54:33 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Wed, 30 Sep 2015 10:54:33 -0700 (PDT) In-Reply-To: <560A3C87.3060802@gmx.at> References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> <5601211E.3090001@gmx.at> <5608E2AB.7010407@gmx.at> <560A3C87.3060802@gmx.at> Date: Wed, 30 Sep 2015 19:54:33 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a113da7c880f9290520fa9f1b X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: "eliz@gnu.org" , Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a113da7c880f9290520fa9f1b Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi! > Internally, however, internally, it's still possible to issue either > > "toggleFullScreen" or "performZoom". > > What does "internally" mean here? It means that an application can call those function to perform the actions, even though there are no user interface buttons the user can click on. In the Emacs case, setting the `fullscreen' property to the possible legal values invokes one of the system functions `toggleFullScreen' or `performZoom'. > (((name . "SyncMaster") > > (geometry 0 0 1600 1200) > > (workarea 0 23 1600 1173) > > (mm-size 432 324) > > (frames #) > > (source . "NS")) > > ((name . "SyncMaster") > > (geometry 1600 0 1600 1200) > > (workarea 1600 0 1600 1200) > > (mm-size 432 324) > > (frames) > > (source . "NS"))) > > > > Interestingly, the workarea of the primary screen is missing four pixel= s > > (1200 - 1173 - 34) =3D 4. > > What was the 34 about? I probably forgot. "34" should be "23", which is the height of the menu bar. In other words, the effective work area seems to be lacking four pixels at the bottom. I agree with you that I prefer a maximized frame to cover the entire screen. I will try to do some experiments to see if it's possible, and if so, we can discuss if we should modify Emacs to behave this way. > > However, the workarea of the secondary monitor does not. When executing > > `toggle-frame-maximized' on the secondary frame (with > > `frame-resize-pixelwise' set to t), the frame is placed at the bottom > left > > corner (which is good), but there are four pixles missing at the TOP of > the > > screen. (I haven't investigated why, though.) > > Does =E2=80=98toggle-frame-maximized=E2=80=99 pass on 1173 or 1176 or 120= 0 as height? Emacs calls the NextStep function `performZoom' without specifying a height. The system, in turn, calls `windowWillUseStandardFrame:' with a suggested frame with the height 1173 (when frame-resize-pixelwise is non-nil). My guess is that we can override this, but I haven't verified this. > I fully understand. Who should I talk to to get write access? (The last > > time I was doing any serious work on Emacs, Jan Dj=C3=A4rv did the chec= kins, > but > > that was before he resigned.) > > You have to apply for membership at Savannah: > > https://savannah.gnu.org/git/?group=3Demacs > > Then Eli (I believe) has to confirm that you are given write access and > finally you have to establish a key pair. Eli will correct me possibly. I got my write access rights today! Thanks for suggesting this. / Anders --001a113da7c880f9290520fa9f1b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi!

> Internally, however, internal= ly, it's still possible to issue either
> "toggleFullScreen" or "performZoom".

What does "internally" mean here?

It means that an application can call those function to perform the action= s, even though there are no user interface buttons the user can click on.

In the Emacs case, setting the `fullscreen' pro= perty to the possible legal values invokes one of the system functions `tog= gleFullScreen' or `performZoom'.


> (((name . "SyncMaster") >=C2=A0 =C2=A0 (geometry 0 0 1600 1200)
>=C2=A0 =C2=A0 (workarea 0 23 1600 1173)
>=C2=A0 =C2=A0 (mm-size 432 324)
>=C2=A0 =C2=A0 (frames #<frame *scratch* 0x101099630>)
>=C2=A0 =C2=A0 (source . "NS"))
>=C2=A0 =C2=A0((name . "SyncMaster")
>=C2=A0 =C2=A0 (geometry 1600 0 1600 1200)
>=C2=A0 =C2=A0 (workarea 1600 0 1600 1200)
>=C2=A0 =C2=A0 (mm-size 432 324)
>=C2=A0 =C2=A0 (frames)
>=C2=A0 =C2=A0 (source . "NS")))
>
> Interestingly, the workarea of the primary screen is missing four pixe= ls
> (1200 - 1173 - 34) =3D 4.

What was the 34 about?=C2=A0 I probably forgot.

=
"34" should be "23", which is the height of the me= nu bar.

In other words, the effective work area se= ems to be lacking four pixels at the bottom.

I agr= ee with you that I prefer a maximized frame to cover the entire screen. I w= ill try to do some experiments to see if it's possible, and if so, we c= an discuss if we should modify Emacs to behave this way.

=C2=A0
> However, the work= area of the secondary monitor does not. When executing
> `toggle-frame-maximized' on the secondary frame (with
> `frame-resize-pixelwise' set to t), the frame is placed at the bot= tom left
> corner (which is good), but there are four pixles missing at the TOP o= f the
> screen. (I haven't investigated why, though.)

Does =E2=80=98toggle-frame-maximized=E2=80=99 pass on 1173 or 1176 or 1200 = as height?

Emacs calls the NextStep functio= n `performZoom' without specifying a height. The system, in turn, calls= `windowWillUseStandardFrame:' with a suggested frame with the height 1= 173 (when frame-resize-pixelwise is non-nil).

My g= uess is that we can override this, but I haven't verified this.


> I fully = understand. Who should I talk to to get write access? (The last
> time I was doing any serious work on Emacs, Jan Dj=C3=A4rv did the che= ckins, but
> that was before he resigned.)

You have to apply for membership at Savannah:

https://savannah.gnu.org/git/?group=3Demacs

Then Eli (I believe) has to confirm that you are given write access and
finally you have to establish a key pair.=C2=A0 Eli will correct me possibl= y.

I got my write access rights today! Than= ks for suggesting this.

/ Anders

--001a113da7c880f9290520fa9f1b-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 30 14:57:34 2015 Received: (at 21415) by debbugs.gnu.org; 30 Sep 2015 18:57:34 +0000 Received: from localhost ([127.0.0.1]:49561 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZhMZJ-00045v-J7 for submit@debbugs.gnu.org; Wed, 30 Sep 2015 14:57:33 -0400 Received: from mout.gmx.net ([212.227.17.21]:61821) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZhMZH-00045n-Ax for 21415@debbugs.gnu.org; Wed, 30 Sep 2015 14:57:31 -0400 Received: from [62.46.214.56] ([62.46.214.56]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0Lkwpt-1aFsVH0RXR-00alsZ; Wed, 30 Sep 2015 20:57:26 +0200 Message-ID: <560C3090.6000902@gmx.at> Date: Wed, 30 Sep 2015 20:57:20 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> <5601211E.3090001@gmx.at> <5608E2AB.7010407@gmx.at> <560A3C87.3060802@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:OIzgu5Lt5W0zGe7xUszS1D9GS2VknaorBLNBK7x9xBI6kx8WqhV RWJgHdJ3f7FNjF7U+o63tABGtTD0ygdGnRC01xzu296xTofj7UFuJHYykjUKt+tFdnkUx/s m10wHWsHSo4Hc/rihujGd4d8VNtxZtqnmw4Sz3ZXQGTioKAkKmbNxP7GGfVlbBSKKAJ1TWA bJ+V+DptfUM7eluJ9Z2Fg== X-UI-Out-Filterresults: notjunk:1;V01:K0:oROn9HX8CC0=:+Umg4T3DTQ8J+MpOm3ALIA C6St/TFkXgc9oka0X6hIiPio+YAM8PLVWhmEdaRa2L+/ARCjV+t/6eC6YlWhKYMYStXegJyGA njr80jm5I5wLVUPWEjCTI0GXE9wNMXsZOwDGDFw/0+R3nwnQ7ZpfwU0avLnW8tEr63ywNhvOf YxqrjpADT+KbZb0Jraz3nZNmeKrc1P5yCQRhqwygYLBUylyoPcfXADfS4qHypiQpm+n5Qa/OH aThRtPBnzsa3dAkni62LVRLNljU4Re69RwmC4mY893LAQvnxYTC6G6JNqrikpx9DQoIgMZfT5 jrY7y1NqY+YGciq6xTMJ3SGHao1yONsnifxeOBKl/xuuMGIHovNfVOmOAPLM15t5jjepimm6I NUOnvz090EG2cOHgnIdNIbgWrmRDC7zSB40o/QD/5eSZmf0DiR6EaKJx9e7KU7GBRw+2nWcr4 Wr9KVVmPAmIdYHTzZIrkk803H3x8nZtppubi1E6uAMqbx/747ILnXXEcAuCwvqLEKINd0tBn0 ttJPb1m1I00RLkrV/ITZsivph2E+hhesE2BHcXSRDkPbKkSkJ+oB5Z5AiYb6ycZfHy4KmpniC ZEzNtjn3HpaxDd+k2Lf0y8QQcpuzFu1ydrxS7BI0IMez72FDqYNlfn/x/dHlVw9JQTnGnMyAo R0QuEZCvcXl7MVwD/uXvxvEzVU3Et4VYNvnTylE+jRZZadD3Pe2Q5mtXLKrd3QRdEigsB9/3U cCGt216mcAB8DyZ6IMu1mvZfeG7iEbOEyXtSuFjrxQTH886MsvcFYI0Co2EO/Z8tOCNNpyNzV 8f5o8MI X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: "eliz@gnu.org" , Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) >> (((name . "SyncMaster") >>> (geometry 0 0 1600 1200) >>> (workarea 0 23 1600 1173) >>> (mm-size 432 324) >>> (frames #) >>> (source . "NS")) >>> ((name . "SyncMaster") >>> (geometry 1600 0 1600 1200) >>> (workarea 1600 0 1600 1200) >>> (mm-size 432 324) >>> (frames) >>> (source . "NS"))) >>> >>> Interestingly, the workarea of the primary screen is missing four pixels >>> (1200 - 1173 - 34) = 4. >> >> What was the 34 about? I probably forgot. > > > "34" should be "23", which is the height of the menu bar. > > In other words, the effective work area seems to be lacking four pixels at > the bottom. > > I agree with you that I prefer a maximized frame to cover the entire > screen. I will try to do some experiments to see if it's possible, and if > so, we can discuss if we should modify Emacs to behave this way. IIUC the Mac menu bar is what other systems call a task bar. In that case, a maximized frame should cover everything but the menu bar and a fullboth frame should cover the entire screen. Now if I understand you correctly, Mac doesn't distinguish the various "zoomed" states - a fullheight frame is just as "zoomed" as a fullscreen or maximized one. > Emacs calls the NextStep function `performZoom' without specifying a > height. The system, in turn, calls `windowWillUseStandardFrame:' with a > suggested frame with the height 1173 (when frame-resize-pixelwise is > non-nil). > > My guess is that we can override this, but I haven't verified this. How does one specify a size with performZoom? And does one performZoom (to get a fullheight frame, say) followed by another one (to get a fullboth frame, say) followed by toggling the button produce the initial normal frame? > I got my write access rights today! Thanks for suggesting this. Great! martin From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 30 17:29:59 2015 Received: (at 21415) by debbugs.gnu.org; 30 Sep 2015 21:29:59 +0000 Received: from localhost ([127.0.0.1]:49641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZhOwo-0007hq-I4 for submit@debbugs.gnu.org; Wed, 30 Sep 2015 17:29:59 -0400 Received: from mail-yk0-f169.google.com ([209.85.160.169]:34225) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZhOwn-0007hh-2L for 21415@debbugs.gnu.org; Wed, 30 Sep 2015 17:29:57 -0400 Received: by ykdg206 with SMTP id g206so57996470ykd.1 for <21415@debbugs.gnu.org>; Wed, 30 Sep 2015 14:29:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=j0kdYRrwvB9+nxrwBKa3OvmF2WHatB+8Wiwo8pqotiw=; b=j/fcnXYm7BW5AtDCDn/R/1C7ciot3KyWibwBzLzIn5wkM2gY735sHYvG30EjCpR7QK SoiKIKsS7WcxmEjYp3LCOT1s3/57AWhRuOe9Jyo7LEzsQ9X1+5TIxrAkB3rJ4/GprKh/ GlhrAljf7bmy7QdSbIe0tBqpRfaqRjZwmLPvUkWx4L/EEItzPhaXaZOkHC218M+GfW/M ssa2EQcTUieGYGmdW6PyiWSct+58BnxyyoStVl6zBzR+aBZWG+IEZ/oN1PlOZCf8PGOn kPKR0M5jRPOhunza9YQ9mVXswOWpAJ3JBgU+xTrRB42i9/JrQ89f0gIaKBP4ZPTdTe4q bRxg== MIME-Version: 1.0 X-Received: by 10.31.147.129 with SMTP id v123mr4643778vkd.23.1443648596550; Wed, 30 Sep 2015 14:29:56 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Wed, 30 Sep 2015 14:29:56 -0700 (PDT) In-Reply-To: <560C3090.6000902@gmx.at> References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> <5601211E.3090001@gmx.at> <5608E2AB.7010407@gmx.at> <560A3C87.3060802@gmx.at> <560C3090.6000902@gmx.at> Date: Wed, 30 Sep 2015 23:29:56 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a1140feb6c72d7b0520fda1e2 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: "eliz@gnu.org" , Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1140feb6c72d7b0520fda1e2 Content-Type: text/plain; charset=UTF-8 > > IIUC the Mac menu bar is what other systems call a task bar. In that > case, a maximized frame should cover everything but the menu bar and a > fullboth frame should cover the entire screen. Now if I understand you > correctly, Mac doesn't distinguish the various "zoomed" states - a > fullheight frame is just as "zoomed" as a fullscreen or maximized one. Zooming and fullscreen are two different concepts. Zooming is a generic system, and it's up to the application to decide what to do. When initialized using the user interface, Emacs steps through full-height, maximized, and original size. When the frame `fullscreen' property is updated, the correct state is set immediately. OS X is simply informed of the end size and placement and resized the frame using a resizing animation. FullScreen is a totally different animal with a special sideways animation, gives the application exclusive use of the screen, and blanks out other monitors. Today, I did try a little experiment by modifying `windowWillUseStandardFrame:' to return the full screen size. Unfortunately, using this method it doesn't seem possible to make the frame use the entire screen -- it appears as though the system restrict the requested frame size to what it considers the visible area. The four pixels, by the way, is related to the position of the "Dock" -- if it is placed on the side of the screen, OS X won't use the four leftmost pixels. Also, if the Dock is not in auto-hide mode, OS X will restrict zoom so that the dock isn't covered at all (i.e. some 20 or 30 pixels). It would be relatively easy to modify the code so that setting a frame parameter would set the frame size without using the zoom system. However, it would make maximizing the frame using the user interface different from `toggle-frame-maximized', which might be undesirable. On the other hand, I compared with another application (LightRoom). When it is maximized using the user interface, it's frame doesn't cover the entire screen (the same four pixels as in Emacs). To cover the entire screen, another command must be issued which cycles through maximized, maximized with hidden menu bar, and normal. / Anders --001a1140feb6c72d7b0520fda1e2 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
IIUC the Mac menu bar is what other systems call a task bar.= =C2=A0 In that
case, a maximized frame should cover everything but the menu bar and a
fullboth frame should cover the entire screen.=C2=A0 Now if I understand yo= u
correctly, Mac doesn't distinguish the various "zoomed" state= s - a
fullheight frame is just as "zoomed" as a fullscreen or maximized= one.

Zooming and fullscreen are two differ= ent concepts. Zooming is a generic system, and it's up to the applicati= on to decide what to do. When initialized using the user interface, Emacs s= teps through full-height, maximized, and original size. When the frame `ful= lscreen' property is updated, the correct state is set immediately. OS = X is simply informed of the end size and placement and resized the frame us= ing a resizing animation.

FullScreen is a totally = different animal with a special sideways animation, gives the application e= xclusive use of the screen, and blanks out other monitors.

Today, I did try a little experiment by modifying=C2=A0`windowWill= UseStandardFrame:' to return the full screen size. Unfortunately, using= this method it doesn't seem possible to make the frame use the entire = screen -- it appears as though the system restrict the requested frame size= to what it considers the visible area.

The four p= ixels, by the way, is related to the position of the "Dock" -- if= it is placed on the side of the screen, OS X won't use the four leftmo= st pixels. Also, if the Dock is not in auto-hide mode, OS X will restrict z= oom so that the dock isn't covered at all (i.e. some 20 or 30 pixels).<= /div>

It would be relatively easy to modify the code so = that setting a frame parameter would set the frame size without using the z= oom system. However, it would make maximizing the frame using the user inte= rface different from `toggle-frame-maximized', which might be undesirab= le. On the other hand, I compared with another application (LightRoom). Whe= n it is maximized using the user interface, it's frame doesn't cove= r the entire screen (the same four pixels as in Emacs). To cover the entire= screen, another command must be issued which cycles through maximized, max= imized with hidden menu bar, and normal.

/ Anders<= /div>

--001a1140feb6c72d7b0520fda1e2-- From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 01 02:43:06 2015 Received: (at 21415) by debbugs.gnu.org; 1 Oct 2015 06:43:06 +0000 Received: from localhost ([127.0.0.1]:49813 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZhXa5-0003ip-Ni for submit@debbugs.gnu.org; Thu, 01 Oct 2015 02:43:06 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:55132) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZhXa3-0003ig-3m for 21415@debbugs.gnu.org; Thu, 01 Oct 2015 02:43:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=maPOTm51GFpTUa6M3FRh/PsKdgiivEph85Z/x0g3D80=; b=xTDCGswfFtdTVbk+74NY5KtvS3ro6Ox+nb99RcHhYxTCgbgKgROC8OOFLw9VS5uJ87mx82McMjKQwoz4fz4QIH1T2orE6+1HMZciWu0ZxToeP3DtUv96qSqC3twS6Xsj; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:52425 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZhXZz-00059h-8d; Thu, 01 Oct 2015 02:42:59 -0400 Date: Wed, 30 Sep 2015 23:43:00 -0700 Message-ID: From: Keith David Bershatsky To: Martin Rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) I had an opportunity this evening to test out the earlier patch by Martin in this thread for the floating point frame-creation on Emacs built for MS-Windows (XP--SP3) and it is working well. I've set up the `default-frame-alist' with floating points for height and width, and the initial frame and all new frames perfectly reflect the parameters tested -- what a pleasure -- :) I wasn't sure if anything had changed in the past couple of weeks, so I did a hard reset back to the last commit on September 11, 2015 and then applied the patch to do my testing. Keith From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 02 04:37:37 2015 Received: (at 21415) by debbugs.gnu.org; 2 Oct 2015 08:37:37 +0000 Received: from localhost ([127.0.0.1]:51263 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZhvqS-0006UP-Sw for submit@debbugs.gnu.org; Fri, 02 Oct 2015 04:37:37 -0400 Received: from mout.gmx.net ([212.227.17.20]:55148) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZhvqR-0006UH-0X for 21415@debbugs.gnu.org; Fri, 02 Oct 2015 04:37:35 -0400 Received: from [93.82.78.144] ([93.82.78.144]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0LiDHj-1aUF6U0Mkt-00nMwh; Fri, 02 Oct 2015 10:37:33 +0200 Message-ID: <560E4246.1080306@gmx.at> Date: Fri, 02 Oct 2015 10:37:26 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> <5601211E.3090001@gmx.at> <5608E2AB.7010407@gmx.at> <560A3C87.3060802@gmx.at> <560C3090.6000902@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:CHXZkL2yxVvx8hUCzRFiLg4N2aftoWd3WqbS6GyNtKhnrZl50dI xDM24rVy82zU7Iiv6e0JztP7CsYdSscht7ZfRagN8DeFJMoQGvSXACATINuC7SAfxbleSnT 5J7Rz2310DkmyDHH+uCqsAZxqGx1paefPyGBSEV+2Px2kMd0CY1J/B8ew+CQ46ZURRSHjQp voqWzPc2Gf7djO/5JPfeA== X-UI-Out-Filterresults: notjunk:1;V01:K0:d4GL06rRYZE=:lbff9XNxZIXc74C2M/Oc+h J4WxbhELj9wtyzhd8urur2i5cX1ONDCGNqlnfxqKXyIxpssrRFwzugivBy82dumylJHeelogu Wq4qAcnC3urEAjdN4lBvzALf21UvY0/wr8CbtOb403+UYtJJiMQX5wljDUV5ZdAPH6EBO8YIt f2/Uh3f6GdkUjHdwzIg3DjEcK4mfLLzjqscMMsLHKfo1TXObYIRuvRTYf+ufZujFJhUq99Hst RRgQHsq0rEQXb+tPtnLUzcF14AbczzxXFREmiitXliaObHAzvmdaehrqXq0JqjSKIUfhhUvNi 5Yz98zJ60PKbWctw8QAXlQTDXJ12Ial8P066lcqJcDHEvCnazvY5It7vmwdwYQJ1yRBasNlJ5 X1ty1aMtQvkBA5ex+94jzPp9CwBFkai/gKnymVjGuig6pGPEMLj+OGOOajUG5xVLf0kILR5fK JVR6j+7y8d9U6Bzdk7/HpMTxLcVutfTqtKuRaamWXH91QVjN2CtW6IjkOPuz4fUCo99rcoQOj Wm79kofxl2TFlSeelxqEa2VMEbSvHXIQY5l5A6ELkm1F/uWwCIenjUiXL+MV5D/y5M+tCU13P 00Bs7B0vKnGh/0StmYlzr/cPgBrG2tUZvaFLwnkW1vYnek/LSmFirvp35ChP0VJ7CzlYGatXl Gla+BPvUDyvC7XAi5OL+CLt8l3csZ8FZY8GkRC7Lbl4g4jYZGOCFPLOnbjo5I5jL97FstlApi CGiZsWfcPaf0Dl4uMRJv666ZKRjntMqy8c8+dB2/Y+jnMzPteGDh3jWX4w5pt3TtexpCXBf5R dTBGw9f X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: "eliz@gnu.org" , Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Zooming and fullscreen are two different concepts. Zooming is a generi= c > system, and it's up to the application to decide what to do. When > initialized using the user interface, Emacs steps through full-height,= > maximized, and original size. When the frame `fullscreen' property is > updated, the correct state is set immediately. OS X is simply informed= of > the end size and placement and resized the frame using a resizing anim= ation. But is the fact that OS X has responded to our zooming request reflected in that "button" and if so in which way? > FullScreen is a totally different animal with a special sideways anima= tion, > gives the application exclusive use of the screen, and blanks out othe= r > monitors. What is the size of such a "FullScreen" screen in relation to the size of your screen? > Today, I did try a little experiment by > modifying `windowWillUseStandardFrame:' to return the full screen size= =2E > Unfortunately, using this method it doesn't seem possible to make the = frame > use the entire screen -- it appears as though the system restrict the > requested frame size to what it considers the visible area. > > The four pixels, by the way, is related to the position of the "Dock" = -- if > it is placed on the side of the screen, OS X won't use the four leftmo= st > pixels. Also, if the Dock is not in auto-hide mode, OS X will restrict= zoom > so that the dock isn't covered at all (i.e. some 20 or 30 pixels). This makes sense, more or less. > It would be relatively easy to modify the code so that setting a frame= > parameter would set the frame size without using the zoom system. Howe= ver, > it would make maximizing the frame using the user interface different = from > `toggle-frame-maximized', which might be undesirable. Agreed. > On the other hand, I > compared with another application (LightRoom). When it is maximized us= ing > the user interface, it's frame doesn't cover the entire screen (the sa= me > four pixels as in Emacs). To cover the entire screen, another command = must > be issued which cycles through maximized, maximized with hidden menu b= ar, > and normal. I'm afraid that I don't yet understand that "cycling". Do you mean that pushing that button (which I presume is the "user interface") repeatedly cycles through these three states? In that case there's still the question whether =E2=80=98toggle-frame-maximized=E2=80=99 should hide the= menu bar. BTW, you above say "full-height" and "maximized" and here you talk about "maximized" and "maximized with hidden menu bar". Which of these correlate? martin From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 02 04:38:19 2015 Received: (at 21415) by debbugs.gnu.org; 2 Oct 2015 08:38:19 +0000 Received: from localhost ([127.0.0.1]:51267 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zhvr6-0006Vd-Dv for submit@debbugs.gnu.org; Fri, 02 Oct 2015 04:38:19 -0400 Received: from mout.gmx.net ([212.227.17.21]:61819) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zhvr0-0006VS-He for 21415@debbugs.gnu.org; Fri, 02 Oct 2015 04:38:13 -0400 Received: from [93.82.78.144] ([93.82.78.144]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0LobGI-1aIwQi1ClG-00gVSG; Fri, 02 Oct 2015 10:38:03 +0200 Message-ID: <560E4263.8020309@gmx.at> Date: Fri, 02 Oct 2015 10:37:55 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------060501070803090805010707" X-Provags-ID: V03:K0:CVPO5+KPyEiLjLyoIXtVfKu18RrkRgyFxb19ucOeYGQycCodylB gx0jacrqrQMWQXiRpDjuHcjGI3cLVQFkZg2jlnP4Fad782ZFZDAlaG2iSEgVYAr5CCMSZE6 PNsy80IjB9/RkCTE4taLwrzSwqegwV7UR0G5NenYzYV16B0x/cJW0ZWSHLlLjhNXIxzoqut R511kV3l9d3k5SGSuFQgQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:uCylwWvfWFg=:lF6HVFOUHEjx6ds6/1uP7z kx1as94slo8/gtYL54gHy0N26lDyi53ym9b4tV3UwonJkEycupKoBGOsonGe9D+DXJ6WJ+Rvi oc5anrJ4xjtyICwZP8VTNgnh9nEtG38sPGDhiSb8qraaRJ68HMrIiy8LrYolRppnkWmsFrhbZ vk1+NY1hAVQp3CWAgD5OBRza1sUF0+E2AU+2pgohT36073reOwYK66xl5qwzAHyLQ0uWqEY3Y i5DyJDV7o2kQcH0qyvPcA9I3AnN0CgfX7ufN8G55hqBiCll6njbewe640+l+yN/7TjWVC1p/k 0FFTNQehKiye0qlxSoEQSfKc6bDRb4HTwjdlfrWAbTlGnTgtdphwKKdZlT60bTGLnexdnkRo+ Vzq3kp+Of3Tk1LGGzgITF5ciAD58vEFr6QUoQCdWoSEgzpVdUdEBgF4Akx8Ab4Ug+NU+U83Wl AHDxO9AYacI7tyIrQlqqxMofd1A8sp/+vsFovdev74T8EIZ8Z/QztcBVQLg2pdk/j4XdLTXQO XuEHb9IkncXuyRK4f3QiqJJo4oiWGw+tQyOHUfSg3MCxXvcEgpecjEisL3Zvj4r6g630UuAQ7 KJpOLWRigs1NnffNLWc1CCca9kbtuVeM0AuaAwcfJV2xzEujXl6unEbVPeIZwkWFvlIvTshaZ UeT7TMlYt9OP4nbeAwmYmAc0Yz3DvTnJl/hy8DcGstofUnwrANbX7qi2p5OcLzQGmmXpj9f0P 1LjSFzPLNOeFBbWYIIVXpBnb8LqQA1+OBTL8g+Am2CPnSszC4LoX63AnjT0= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) This is a multi-part message in MIME format. --------------060501070803090805010707 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit > I wasn't sure if anything had changed in the past couple of weeks, so > I did a hard reset back to the last commit on September 11, 2015 and > then applied the patch to do my testing. Find attached the most recent version of the patch. Fixes are mainly for Lucid/Motif but something might change for other platforms as well. martin --------------060501070803090805010707 Content-Type: text/plain; charset=windows-1252; name="frame-sizes-float.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="frame-sizes-float.diff" --- a/lisp/frame.el +++ b/lisp/frame.el @@ -461,7 +461,7 @@ there (in decreasing order of priority)." (cons (1- (car frame-size-history)) (cons (list frame-initial-frame - "frame-notice-user-settings" + "FRAME-NOTICE-USER" nil newparms) (cdr frame-size-history))))) @@ -702,7 +702,7 @@ the new frame according to its own rules." (when (numberp (car frame-size-history)) (setq frame-size-history (cons (1- (car frame-size-history)) - (cons (list frame "make-frame") + (cons (list frame "MAKE-FRAME") (cdr frame-size-history))))) ;; We can run `window-configuration-change-hook' for this frame now. @@ -1382,6 +1382,27 @@ and width values are in pixels. (cons 'internal-border-width (frame-parameter frame 'internal-border-width))))))) +(defun frame--size-history (&optional frame) + "Print history of resize operations for FRAME. +Print prettified version of `frame-size-history' into a buffer +called *frame-size-history*. Optional argument FRAME denotes the +frame whose history will be printed. FRAME defaults to the +selected frame." + (let ((history (reverse frame-size-history)) + entry) + (setq frame (window-normalize-frame frame)) + (with-current-buffer (get-buffer-create "*frame-size-history*") + (erase-buffer) + (insert (format "Frame size history of %s\n" frame)) + (while (listp (setq entry (pop history))) + (when (eq (car entry) frame) + (pop entry) + (insert (format "%s" (pop entry))) + (move-to-column 24 t) + (while entry + (insert (format " %s" (pop entry)))) + (insert "\n")))))) + (declare-function x-frame-edges "xfns.c" (&optional frame type)) (declare-function w32-frame-edges "w32fns.c" (&optional frame type)) (declare-function ns-frame-edges "nsfns.m" (&optional frame type)) diff --git a/src/frame.c b/src/frame.c index f1a78fb..c2ddb30 100644 --- a/src/frame.c +++ b/src/frame.c @@ -184,16 +184,17 @@ frame_inhibit_resize (struct frame *f, bool horizontal, Lisp_Object parameter) { Lisp_Object fullscreen = get_frame_param (f, Qfullscreen); bool inhibit - = ((f->after_make_frame - && (EQ (frame_inhibit_implied_resize, Qt) - || (CONSP (frame_inhibit_implied_resize) - && !NILP (Fmemq (parameter, frame_inhibit_implied_resize))))) - || (horizontal - && !EQ (fullscreen, Qnil) && !EQ (fullscreen, Qfullheight)) - || (!horizontal - && !EQ (fullscreen, Qnil) && !EQ (fullscreen, Qfullwidth)) - || FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f)); - + = (f->after_make_frame + ? (EQ (frame_inhibit_implied_resize, Qt) + || (CONSP (frame_inhibit_implied_resize) + && !NILP (Fmemq (parameter, frame_inhibit_implied_resize))) + || (horizontal + && !EQ (fullscreen, Qnil) && !EQ (fullscreen, Qfullheight)) + || (!horizontal + && !EQ (fullscreen, Qnil) && !EQ (fullscreen, Qfullwidth)) + || FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f)) + : ((horizontal && f->inhibit_horizontal_resize) + || (!horizontal && f->inhibit_vertical_resize))); if (inhibit && !FRAME_TERMCAP_P (f) && !FRAME_MSDOS_P (f)) frame_size_history_add (f, Qframe_inhibit_resize, 0, 0, @@ -425,17 +426,15 @@ adjust_frame_size (struct frame *f, int new_width, int new_height, int inhibit, if (inhibit >= 2 && inhibit <= 4) /* When INHIBIT is in [2..4] inhibit if the "old" window sizes stay - within the limits and either frame_inhibit_resize tells us to do - so or INHIBIT equals 4. */ + within the limits and either resizing is inhibited or INHIBIT + equals 4. */ { - inhibit_horizontal = ((windows_width >= min_windows_width - && (inhibit == 4 - || frame_inhibit_resize (f, true, parameter))) - ? true : false); - inhibit_vertical = ((windows_height >= min_windows_height - && (inhibit == 4 - || frame_inhibit_resize (f, false, parameter))) - ? true : false); + inhibit_horizontal = (windows_width >= min_windows_width + && (inhibit == 4 + || frame_inhibit_resize (f, true, parameter))); + inhibit_vertical = (windows_height >= min_windows_height + && (inhibit == 4 + || frame_inhibit_resize (f, false, parameter))); } else /* Otherwise inhibit if INHIBIT equals 5. */ @@ -634,6 +633,10 @@ make_frame (bool mini_p) f->garbaged = true; f->can_x_set_window_size = false; f->after_make_frame = false; + f->inhibit_horizontal_resize = false; + f->inhibit_vertical_resize = false; + f->tool_bar_redisplayed = false; + f->tool_bar_resized = false; f->column_width = 1; /* !FRAME_WINDOW_P value. */ f->line_height = 1; /* !FRAME_WINDOW_P value. */ #ifdef HAVE_WINDOW_SYSTEM @@ -2303,6 +2306,8 @@ otherwise used with utter care to avoid that running functions on { struct frame *f = decode_live_frame (frame); f->after_make_frame = !NILP (made); + f->inhibit_horizontal_resize = false; + f->inhibit_vertical_resize = false; return made; } @@ -3166,15 +3171,25 @@ x_set_frame_parameters (struct frame *f, Lisp_Object alist) prop = parms[i]; val = values[i]; - if (EQ (prop, Qwidth) && RANGED_INTEGERP (0, val, INT_MAX)) + if (EQ (prop, Qwidth)) { width_change = 1; - width = XFASTINT (val) * FRAME_COLUMN_WIDTH (f) ; + if (RANGED_INTEGERP (0, val, INT_MAX)) + width = XFASTINT (val) * FRAME_COLUMN_WIDTH (f) ; + else if (FLOATP (val) + && XFLOAT_DATA (val) >= 0 + && (int) XFLOAT_DATA (val) <= INT_MAX) + width = (int) XFLOAT_DATA (val); } - else if (EQ (prop, Qheight) && RANGED_INTEGERP (0, val, INT_MAX)) + else if (EQ (prop, Qheight)) { height_change = 1; - height = XFASTINT (val) * FRAME_LINE_HEIGHT (f); + if (RANGED_INTEGERP (0, val, INT_MAX)) + height = XFASTINT (val) * FRAME_LINE_HEIGHT (f); + else if (FLOATP (val) + && XFLOAT_DATA (val) >= 0 + && (int) XFLOAT_DATA (val) <= INT_MAX) + height = (int) XFLOAT_DATA (val); } else if (EQ (prop, Qtop)) top = val; @@ -3262,28 +3277,15 @@ x_set_frame_parameters (struct frame *f, Lisp_Object alist) XSETFRAME (frame, f); if ((width_change && width != FRAME_TEXT_WIDTH (f)) - || (height_change && height != FRAME_TEXT_HEIGHT (f)) - || (f->can_x_set_window_size && (f->new_height || f->new_width))) - { - /* If necessary provide default values for HEIGHT and WIDTH. Do - that here since otherwise a size change implied by an - intermittent font change may get lost as in Bug#17142. */ - if (!width_change) - width = ((f->can_x_set_window_size && f->new_width) - ? (f->new_pixelwise - ? f->new_width - : (f->new_width * FRAME_COLUMN_WIDTH (f))) - : FRAME_TEXT_WIDTH (f)); - - if (!height_change) - height = ((f->can_x_set_window_size && f->new_height) - ? (f->new_pixelwise - ? f->new_height - : (f->new_height * FRAME_LINE_HEIGHT (f))) - : FRAME_TEXT_HEIGHT (f)); - - Fset_frame_size (frame, make_number (width), make_number (height), Qt); - } + || (height_change && height != FRAME_TEXT_HEIGHT (f))) + /* We could consider checking f->after_make_frame here, but I + don't have the faintest idea why the following is needed at + all. With the old setting it can get a Heisenbug when + EmacsFrameResize intermittently provokes a delayed + change_frame_size in the middle of adjust_frame_size. */ + /** || (f->can_x_set_window_size && (f->new_height || f->new_width))) **/ + adjust_frame_size (f, width_change ? width : -1, + height_change ? height : -1, 1, 0, Qx_set_frame_parameters); if ((!NILP (left) || !NILP (top)) && ! (left_no_change && top_no_change) @@ -4552,7 +4554,7 @@ On Nextstep, this just calls `ns-parse-geometry'. */) #define DEFAULT_COLS 80 long -x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p) +x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p, int *x_width, int *x_height) { Lisp_Object height, width, user_size, top, left, user_position; long window_prompting = 0; @@ -4571,44 +4573,11 @@ x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p) f->top_pos = 0; f->left_pos = 0; - /* Ensure that earlier new_width and new_height settings won't - override what we specify below. */ - f->new_width = f->new_height = 0; - - height = x_get_arg (dpyinfo, parms, Qheight, 0, 0, RES_TYPE_NUMBER); - width = x_get_arg (dpyinfo, parms, Qwidth, 0, 0, RES_TYPE_NUMBER); - if (!EQ (width, Qunbound) || !EQ (height, Qunbound)) - { - if (!EQ (width, Qunbound)) - { - CHECK_NUMBER (width); - if (! (0 <= XINT (width) && XINT (width) <= INT_MAX)) - xsignal1 (Qargs_out_of_range, width); - - SET_FRAME_WIDTH (f, XINT (width) * FRAME_COLUMN_WIDTH (f)); - } - - if (!EQ (height, Qunbound)) - { - CHECK_NUMBER (height); - if (! (0 <= XINT (height) && XINT (height) <= INT_MAX)) - xsignal1 (Qargs_out_of_range, height); - - SET_FRAME_HEIGHT (f, XINT (height) * FRAME_LINE_HEIGHT (f)); - } - - user_size = x_get_arg (dpyinfo, parms, Quser_size, 0, 0, RES_TYPE_NUMBER); - if (!NILP (user_size) && !EQ (user_size, Qunbound)) - window_prompting |= USSize; - else - window_prompting |= PSize; - } - - /* Add a tool bar height to the initial frame height so that the user - gets a text display area of the size he specified with -g or via - .Xdefaults. Later changes of the tool bar height don't change the - frame size. This is done so that users can create tall Emacs - frames without having to guess how tall the tool bar will get. */ + /* Calculate a tool bar height so that the user gets a text display + area of the size he specified with -g or via .Xdefaults. Later + changes of the tool bar height don't change the frame size. This + is done so that users can create tall Emacs frames without having + to guess how tall the tool bar will get. */ if (toolbar_p && FRAME_TOOL_BAR_LINES (f)) { if (frame_default_tool_bar_height) @@ -4634,6 +4603,69 @@ x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p) } } + /* Ensure that earlier new_width and new_height settings won't + override what we specify below. */ + f->new_width = f->new_height = 0; + + height = x_get_arg (dpyinfo, parms, Qheight, 0, 0, RES_TYPE_NUMBER); + width = x_get_arg (dpyinfo, parms, Qwidth, 0, 0, RES_TYPE_NUMBER); + if (!EQ (width, Qunbound) || !EQ (height, Qunbound)) + { + if (!EQ (width, Qunbound)) + { + if (FLOATP (width)) + { + if ((int) XFLOAT_DATA (width) < 0 + || (int) XFLOAT_DATA (width) > INT_MAX) + xsignal1 (Qargs_out_of_range, width); + else + { + SET_FRAME_WIDTH (f, (int) XFLOAT_DATA (width)); + f->inhibit_horizontal_resize = true; + *x_width = (int) XFLOAT_DATA (width); + } + } + else + { + CHECK_NUMBER (width); + if ((XINT (width) < 0 || XINT (width) > INT_MAX)) + xsignal1 (Qargs_out_of_range, width); + + SET_FRAME_WIDTH (f, XINT (width) * FRAME_COLUMN_WIDTH (f)); + } + } + + if (!EQ (height, Qunbound)) + { + if (FLOATP (height)) + { + if ((int) XFLOAT_DATA (height) < 0 + || (int) XFLOAT_DATA (height) > INT_MAX) + xsignal1 (Qargs_out_of_range, height); + else + { + SET_FRAME_HEIGHT (f, (int) XFLOAT_DATA (height)); + f->inhibit_vertical_resize = true; + *x_height = (int) XFLOAT_DATA (height); + } + } + else + { + CHECK_NUMBER (height); + if ((XINT (height) < 0) || (XINT (height) > INT_MAX)) + xsignal1 (Qargs_out_of_range, height); + + SET_FRAME_HEIGHT (f, XINT (height) * FRAME_LINE_HEIGHT (f)); + } + } + + user_size = x_get_arg (dpyinfo, parms, Quser_size, 0, 0, RES_TYPE_NUMBER); + if (!NILP (user_size) && !EQ (user_size, Qunbound)) + window_prompting |= USSize; + else + window_prompting |= PSize; + } + top = x_get_arg (dpyinfo, parms, Qtop, 0, 0, RES_TYPE_NUMBER); left = x_get_arg (dpyinfo, parms, Qleft, 0, 0, RES_TYPE_NUMBER); user_position = x_get_arg (dpyinfo, parms, Quser_position, 0, 0, RES_TYPE_NUMBER); @@ -4909,7 +4941,9 @@ syms_of_frame (void) DEFSYM (Qadjust_frame_size_1, "adjust-frame-size-1"); DEFSYM (Qadjust_frame_size_2, "adjust-frame-size-2"); DEFSYM (Qadjust_frame_size_3, "adjust-frame-size-3"); + DEFSYM (Qx_set_frame_parameters, "x-set-frame-parameters"); DEFSYM (QEmacsFrameResize, "EmacsFrameResize"); + DEFSYM (Qset_frame_size, "set-frame-size"); DEFSYM (Qframe_inhibit_resize, "frame-inhibit-resize"); DEFSYM (Qx_set_fullscreen, "x-set-fullscreen"); DEFSYM (Qx_check_fullscreen, "x-check-fullscreen"); @@ -4917,13 +4951,16 @@ syms_of_frame (void) DEFSYM (Qxg_frame_set_char_size_1, "xg-frame-set-char-size-1"); DEFSYM (Qxg_frame_set_char_size_2, "xg-frame-set-char-size-2"); DEFSYM (Qxg_frame_set_char_size_3, "xg-frame-set-char-size-3"); + DEFSYM (Qx_set_window_size_1, "x-set-window-size-1"); + DEFSYM (Qx_set_window_size_2, "x-set-window-size-2"); + DEFSYM (Qx_set_window_size_3, "x-set-window-size-3"); DEFSYM (Qxg_change_toolbar_position, "xg-change-toolbar-position"); DEFSYM (Qx_net_wm_state, "x-net-wm-state"); DEFSYM (Qx_handle_net_wm_state, "x-handle-net-wm-state"); DEFSYM (Qtb_size_cb, "tb-size-cb"); DEFSYM (Qupdate_frame_tool_bar, "update-frame-tool-bar"); DEFSYM (Qfree_frame_tool_bar, "free-frame-tool-bar"); - + DEFSYM (Qx_set_menu_bar_lines, "x-set-menu-bar-lines"); DEFSYM (Qchange_frame_size, "change-frame-size"); DEFSYM (Qxg_frame_set_char_size, "xg-frame-set-char-size"); DEFSYM (Qset_window_configuration, "set-window-configuration"); @@ -4952,6 +4989,9 @@ syms_of_frame (void) DEFSYM (Qleft_fringe, "left-fringe"); DEFSYM (Qline_spacing, "line-spacing"); DEFSYM (Qmenu_bar_lines, "menu-bar-lines"); + DEFSYM (Qupdate_frame_menubar, "update-frame-menubar"); + DEFSYM (Qfree_frame_menubar_1, "free-frame-menubar-1"); + DEFSYM (Qfree_frame_menubar_2, "free-frame-menubar-2"); DEFSYM (Qmouse_color, "mouse-color"); DEFSYM (Qname, "name"); DEFSYM (Qright_divider_width, "right-divider-width"); diff --git a/src/frame.h b/src/frame.h index af0dadb..acac514 100644 --- a/src/frame.h +++ b/src/frame.h @@ -335,6 +335,14 @@ struct frame /* Set to true after this frame was made by `make-frame'. */ bool_bf after_make_frame : 1; + /* Whether the tool bar height change should be taken into account. */ + bool_bf tool_bar_redisplayed : 1; + bool_bf tool_bar_resized : 1; + + /* Inhibit implied resize before after_make_frame is set. */ + bool_bf inhibit_horizontal_resize : 1; + bool_bf inhibit_vertical_resize : 1; + /* Non-zero if this frame's faces need to be recomputed. */ bool_bf face_change : 1; @@ -1375,7 +1383,7 @@ extern void x_set_horizontal_scroll_bars (struct frame *, Lisp_Object, Lisp_Obje extern void x_set_scroll_bar_width (struct frame *, Lisp_Object, Lisp_Object); extern void x_set_scroll_bar_height (struct frame *, Lisp_Object, Lisp_Object); -extern long x_figure_window_size (struct frame *, Lisp_Object, bool); +extern long x_figure_window_size (struct frame *, Lisp_Object, bool, int *, int *); extern void x_set_alpha (struct frame *, Lisp_Object, Lisp_Object); diff --git a/src/gtkutil.c b/src/gtkutil.c index 725e330..3099d11 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -1401,7 +1401,8 @@ x_wm_set_size_hint (struct frame *f, long int flags, bool user_position) hint_flags |= GDK_HINT_BASE_SIZE; /* Use one row/col here so base_height/width does not become zero. - Gtk+ and/or Unity on Ubuntu 12.04 can't handle it. */ + Gtk+ and/or Unity on Ubuntu 12.04 can't handle it. + Obviously this makes the row/col value displayed off by 1. */ base_width = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, 1) + FRAME_TOOLBAR_WIDTH (f); base_height = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, 1) + FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f); @@ -5000,9 +5001,23 @@ update_frame_tool_bar (struct frame *f) gtk_widget_show_all (x->toolbar_widget); if (xg_update_tool_bar_sizes (f)) { + int inhibit + = ((f->after_make_frame + && !f->tool_bar_resized + && (EQ (frame_inhibit_implied_resize, Qt) + || (CONSP (frame_inhibit_implied_resize) + && !NILP (Fmemq (Qtool_bar_lines, + frame_inhibit_implied_resize)))) + /* This will probably fail to DTRT in the + fullheight/-width cases. */ + && NILP (get_frame_param (f, Qfullscreen))) + ? 0 + : 2); + frame_size_history_add (f, Qupdate_frame_tool_bar, 0, 0, Qnil); - adjust_frame_size (f, -1, -1, 2, 0, Qtool_bar_lines); + adjust_frame_size (f, -1, -1, inhibit, 0, Qtool_bar_lines); } + f->tool_bar_resized = f->tool_bar_redisplayed; } unblock_input (); diff --git a/src/nsfns.m b/src/nsfns.m index ad71a50..43002ca 100644 --- a/src/nsfns.m +++ b/src/nsfns.m @@ -679,7 +679,23 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) } } - x_set_window_size (f, 0, f->text_cols, f->text_lines, 0); + { + int inhibit + = ((f->after_make_frame + && !f->tool_bar_resized + && (EQ (frame_inhibit_implied_resize, Qt) + || (CONSP (frame_inhibit_implied_resize) + && !NILP (Fmemq (Qtool_bar_lines, + frame_inhibit_implied_resize)))) + /* This will probably fail to DTRT in the + fullheight/-width cases. */ + && NILP (get_frame_param (f, Qfullscreen))) + ? 0 + : 2); + + frame_size_history_add (f, Qupdate_frame_tool_bar, 0, 0, Qnil); + adjust_frame_size (f, -1, -1, inhibit, 0, Qtool_bar_lines); + } } @@ -1082,6 +1098,7 @@ This function is an internal primitive--use `make-frame' instead. */) Lisp_Object parent; struct kboard *kb; static int desc_ctr = 1; + int x_width = 0, x_height = 0; /* x_get_arg modifies parms. */ parms = Fcopy_alist (parms); @@ -1268,7 +1285,7 @@ This function is an internal primitive--use `make-frame' instead. */) RES_TYPE_STRING); parms = get_geometry_from_preferences (dpyinfo, parms); - window_prompting = x_figure_window_size (f, parms, 1); + window_prompting = x_figure_window_size (f, parms, true, &x_width, &x_height); tem = x_get_arg (dpyinfo, parms, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN); f->no_split = minibuffer_only || (!EQ (tem, Qunbound) && !EQ (tem, Qnil)); @@ -1322,6 +1339,11 @@ This function is an internal primitive--use `make-frame' instead. */) /* Allow x_set_window_size, now. */ f->can_x_set_window_size = true; + if (x_width > 0) + SET_FRAME_WIDTH (f, x_width); + if (x_height > 0) + SET_FRAME_HEIGHT (f, x_height); + adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, 1, Qx_create_frame_2); diff --git a/src/nsterm.m b/src/nsterm.m index 65d07b2..c4bfd7c 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -1365,9 +1365,12 @@ x_set_window_size (struct frame *f, FRAME_TOOLBAR_HEIGHT (f) = NSHeight ([window frameRectForContentRect: NSMakeRect (0, 0, 0, 0)]) - FRAME_NS_TITLEBAR_HEIGHT (f); +#if 0 + /* Only breaks things here, removed by martin 2015-09-30. */ #ifdef NS_IMPL_GNUSTEP FRAME_TOOLBAR_HEIGHT (f) -= 3; #endif +#endif } else FRAME_TOOLBAR_HEIGHT (f) = 0; @@ -1386,6 +1389,14 @@ x_set_window_size (struct frame *f, else wr.origin.y += orig_height - wr.size.height; + frame_size_history_add + (f, Qx_set_window_size_1, width, height, + list5 (Fcons (make_number (pixelwidth), make_number (pixelheight)), + Fcons (make_number (wr.size.width), make_number (wr.size.height)), + make_number (f->border_width), + make_number (FRAME_NS_TITLEBAR_HEIGHT (f)), + make_number (FRAME_TOOLBAR_HEIGHT (f)))); + [view setRows: rows andColumns: cols]; [window setFrame: wr display: YES]; @@ -7741,8 +7752,9 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset) /* Now make the frame display the given font. */ if (FRAME_NS_WINDOW (f) != 0 && ! [view isFullscreen]) - x_set_window_size (f, false, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), - FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), true); + adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), + FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, + false, Qfont); return font_object; } diff --git a/src/w32fns.c b/src/w32fns.c index 99fd3ba..5c69856 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -1761,14 +1761,20 @@ x_change_tool_bar_height (struct frame *f, int height) /* Recalculate toolbar height. */ f->n_tool_bar_rows = 0; + if (old_height == 0) + f->tool_bar_redisplayed = f->tool_bar_resized = false; adjust_frame_size (f, -1, -1, - ((NILP (fullscreen = get_frame_param (f, Qfullscreen)) - || EQ (fullscreen, Qfullwidth)) ? 1 + ((!f->tool_bar_resized + && (NILP (fullscreen = + get_frame_param (f, Qfullscreen)) + || EQ (fullscreen, Qfullwidth))) ? 1 : (old_height == 0 || height == 0) ? 2 : 4), false, Qtool_bar_lines); + f->tool_bar_resized = f->tool_bar_redisplayed; + /* adjust_frame_size might not have done anything, garbage frame here. */ adjust_frame_glyphs (f); @@ -4367,97 +4373,7 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) case WM_WINDOWPOSCHANGING: /* Don't restrict the sizing of any kind of frames. If the window manager doesn't, there's no reason to do it ourselves. */ -#if 0 - if (frame_resize_pixelwise || hwnd == tip_window) -#endif - return 0; - -#if 0 - /* Don't restrict the sizing of fullscreened frames, allowing them to be - flush with the sides of the screen. */ - f = x_window_to_frame (dpyinfo, hwnd); - if (f && FRAME_PREV_FSMODE (f) != FULLSCREEN_NONE) - return 0; - - { - WINDOWPLACEMENT wp; - LPWINDOWPOS lppos = (WINDOWPOS *) lParam; - - wp.length = sizeof (WINDOWPLACEMENT); - GetWindowPlacement (hwnd, &wp); - - if (wp.showCmd != SW_SHOWMAXIMIZED && wp.showCmd != SW_SHOWMINIMIZED - && (lppos->flags & SWP_NOSIZE) == 0) - { - RECT rect; - int wdiff; - int hdiff; - DWORD font_width; - DWORD line_height; - DWORD internal_border; - DWORD vscrollbar_extra; - DWORD hscrollbar_extra; - RECT wr; - - wp.length = sizeof (wp); - GetWindowRect (hwnd, &wr); - - enter_crit (); - - font_width = GetWindowLong (hwnd, WND_FONTWIDTH_INDEX); - line_height = GetWindowLong (hwnd, WND_LINEHEIGHT_INDEX); - internal_border = GetWindowLong (hwnd, WND_BORDER_INDEX); - vscrollbar_extra = GetWindowLong (hwnd, WND_VSCROLLBAR_INDEX); - hscrollbar_extra = GetWindowLong (hwnd, WND_HSCROLLBAR_INDEX); - - leave_crit (); - - memset (&rect, 0, sizeof (rect)); - AdjustWindowRect (&rect, GetWindowLong (hwnd, GWL_STYLE), - GetMenu (hwnd) != NULL); - - /* Force width and height of client area to be exact - multiples of the character cell dimensions. */ - wdiff = (lppos->cx - (rect.right - rect.left) - - 2 * internal_border - vscrollbar_extra) - % font_width; - hdiff = (lppos->cy - (rect.bottom - rect.top) - - 2 * internal_border - hscrollbar_extra) - % line_height; - - if (wdiff || hdiff) - { - /* For right/bottom sizing we can just fix the sizes. - However for top/left sizing we will need to fix the X - and Y positions as well. */ - - int cx_mintrack = GetSystemMetrics (SM_CXMINTRACK); - int cy_mintrack = GetSystemMetrics (SM_CYMINTRACK); - - lppos->cx = max (lppos->cx - wdiff, cx_mintrack); - lppos->cy = max (lppos->cy - hdiff, cy_mintrack); - - if (wp.showCmd != SW_SHOWMAXIMIZED - && (lppos->flags & SWP_NOMOVE) == 0) - { - if (lppos->x != wr.left || lppos->y != wr.top) - { - lppos->x += wdiff; - lppos->y += hdiff; - } - else - { - lppos->flags |= SWP_NOMOVE; - } - } - - return 0; - } - } - } - - goto dflt; -#endif + return 0; case WM_GETMINMAXINFO: /* Hack to allow resizing the Emacs frame above the screen size. @@ -4976,6 +4892,7 @@ This function is an internal primitive--use `make-frame' instead. */) struct w32_display_info *dpyinfo = NULL; Lisp_Object parent; struct kboard *kb; + int x_width = 0, x_height = 0; if (!FRAME_W32_P (SELECTED_FRAME ()) && !FRAME_INITIAL_P (SELECTED_FRAME ())) @@ -5198,7 +5115,7 @@ This function is an internal primitive--use `make-frame' instead. */) f->output_data.w32->current_cursor = f->output_data.w32->nontext_cursor; - window_prompting = x_figure_window_size (f, parameters, true); + window_prompting = x_figure_window_size (f, parameters, true, &x_width, &x_height); tem = x_get_arg (dpyinfo, parameters, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN); f->no_split = minibuffer_only || EQ (tem, Qt); @@ -5232,8 +5149,10 @@ This function is an internal primitive--use `make-frame' instead. */) /* Allow x_set_window_size, now. */ f->can_x_set_window_size = true; - adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, true, - Qx_create_frame_2); + if (x_width > 0) + SET_FRAME_WIDTH (f, x_width); + if (x_height > 0) + SET_FRAME_HEIGHT (f, x_height); /* Tell the server what size and position, etc, we want, and how badly we want them. This should be done after we have the menu @@ -5242,6 +5161,9 @@ This function is an internal primitive--use `make-frame' instead. */) x_wm_set_size_hint (f, window_prompting, false); unblock_input (); + adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, true, + Qx_create_frame_2); + /* Process fullscreen parameter here in the hope that normalizing a fullheight/fullwidth frame will produce the size set by the last adjust_frame_size call. */ @@ -6178,6 +6100,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo, bool face_change_before = face_change; Lisp_Object buffer; struct buffer *old_buffer; + int x_width = 0, x_height = 0; /* Use this general default value to start with until we know if this frame has a specified name. */ @@ -6308,7 +6231,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo, f->output_data.w32->dwStyle = WS_BORDER | WS_POPUP | WS_DISABLED; f->output_data.w32->parent_desc = FRAME_DISPLAY_INFO (f)->root_window; - window_prompting = x_figure_window_size (f, parms, false); + window_prompting = x_figure_window_size (f, parms, true, &x_width, &x_height); /* No fringes on tip frame. */ f->fringe_cols = 0; diff --git a/src/w32term.c b/src/w32term.c index 82b05bf..d8c4550 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -6176,6 +6176,13 @@ x_set_window_size (struct frame *f, bool change_gravity, if (pixelwidth > 0 || pixelheight > 0) { + frame_size_history_add + (f, Qx_set_window_size_1, width, height, + list2 (Fcons (make_number (pixelwidth), + make_number (pixelheight)), + Fcons (make_number (rect.right - rect.left), + make_number (rect.bottom - rect.top)))); + my_set_window_pos (FRAME_W32_WINDOW (f), NULL, 0, 0, rect.right - rect.left, diff --git a/src/widget.c b/src/widget.c index 0986ba6..48872f5 100644 --- a/src/widget.c +++ b/src/widget.c @@ -268,167 +268,26 @@ set_frame_size (EmacsFrame ew) */ /* Hairily merged geometry */ - int w = FRAME_COLS (ew->emacs_frame.frame); - int h = FRAME_LINES (ew->emacs_frame.frame); - + struct frame *f = ew->emacs_frame.frame; + int w = FRAME_COLS (f); + int h = FRAME_LINES (f); Widget wmshell = get_wm_shell ((Widget) ew); + Dimension pixel_width, pixel_height; /* Each Emacs shell is now independent and top-level. */ if (! XtIsSubclass (wmshell, shellWidgetClass)) emacs_abort (); - /* We don't need this for the moment. The geometry is computed in - xfns.c. */ -#if 0 - /* If the EmacsFrame doesn't have a geometry but the shell does, - treat that as the geometry of the frame. (Is this bogus? - I'm not sure.) */ - if (ew->emacs_frame.geometry == 0) - XtVaGetValues (wmshell, XtNgeometry, &ew->emacs_frame.geometry, NULL); - - /* If the Shell is iconic, then the EmacsFrame is iconic. (Is - this bogus? I'm not sure.) */ - if (!ew->emacs_frame.iconic) - XtVaGetValues (wmshell, XtNiconic, &ew->emacs_frame.iconic, NULL); - - - { - char *geom = 0; - XtVaGetValues (app_shell, XtNgeometry, &geom, NULL); - if (geom) - app_flags = XParseGeometry (geom, &app_x, &app_y, &app_w, &app_h); - } - - if (ew->emacs_frame.geometry) - frame_flags = XParseGeometry (ew->emacs_frame.geometry, - &frame_x, &frame_y, - &frame_w, &frame_h); - - if (first_frame_p) - { - /* If this is the first frame created: - ==================================== - - - Use the ApplicationShell's size/position, if specified. - (This is "Emacs.geometry", or the "-geometry" command line arg.) - - Else use the EmacsFrame's size/position. - (This is "*Frame-NAME.geometry") - - - If the AppShell is iconic, the frame should be iconic. - - AppShell comes first so that -geometry always applies to the first - frame created, even if there is an "every frame" entry in the - resource database. - */ - if (app_flags & (XValue | YValue)) - { - x = app_x; y = app_y; - flags |= (app_flags & (XValue | YValue | XNegative | YNegative)); - } - else if (frame_flags & (XValue | YValue)) - { - x = frame_x; y = frame_y; - flags |= (frame_flags & (XValue | YValue | XNegative | YNegative)); - } - - if (app_flags & (WidthValue | HeightValue)) - { - w = app_w; h = app_h; - flags |= (app_flags & (WidthValue | HeightValue)); - } - else if (frame_flags & (WidthValue | HeightValue)) - { - w = frame_w; h = frame_h; - flags |= (frame_flags & (WidthValue | HeightValue)); - } - - /* If the AppShell is iconic, then the EmacsFrame is iconic. */ - if (!ew->emacs_frame.iconic) - XtVaGetValues (app_shell, XtNiconic, &ew->emacs_frame.iconic, NULL); - - first_frame_p = False; - } - else - { - /* If this is not the first frame created: - ======================================== - - - use the EmacsFrame's size/position if specified - - Otherwise, use the ApplicationShell's size, but not position. - - So that means that one can specify the position of the first frame - with "Emacs.geometry" or `-geometry'; but can only specify the - position of subsequent frames with "*Frame-NAME.geometry". - - AppShell comes second so that -geometry does not apply to subsequent - frames when there is an "every frame" entry in the resource db, - but does apply to the first frame. - */ - if (frame_flags & (XValue | YValue)) - { - x = frame_x; y = frame_y; - flags |= (frame_flags & (XValue | YValue | XNegative | YNegative)); - } + char_to_pixel_size (ew, w, h, &pixel_width, &pixel_height); + ew->core.width = (frame_resize_pixelwise + ? FRAME_PIXEL_WIDTH (f) + : pixel_width); + ew->core.height = (frame_resize_pixelwise + ? FRAME_PIXEL_HEIGHT (f) + : pixel_height); - if (frame_flags & (WidthValue | HeightValue)) - { - w = frame_w; h = frame_h; - flags |= (frame_flags & (WidthValue | HeightValue)); - } - else if (app_flags & (WidthValue | HeightValue)) - { - w = app_w; - h = app_h; - flags |= (app_flags & (WidthValue | HeightValue)); - } - } -#endif /* 0 */ - { - Dimension pixel_width, pixel_height; - - /* Take into account the size of the scrollbar. Always use the - number of columns occupied by the scroll bar here otherwise we - might end up with a frame width that is not a multiple of the - frame's character width which is bad for vertically split - windows. */ - -#if 0 /* This can run Lisp code, and it is dangerous to give - out the frame to Lisp code before it officially exists. - This is handled in Fx_create_frame so not needed here. */ - change_frame_size (f, w, h, 1, 0, 0, 0); -#endif - char_to_pixel_size (ew, w, h, &pixel_width, &pixel_height); - ew->core.width = pixel_width; - ew->core.height = pixel_height; - -#if 0 /* xfns.c takes care of this now. */ - /* If a position was specified, assign it to the shell widget. - (Else WM won't do anything with it.) - */ - if (flags & (XValue | YValue)) - { - /* the tricky things with the sign is to make sure that - -0 is printed -0. */ - sprintf (shell_position, "=%c%d%c%d", - flags & XNegative ? '-' : '+', x < 0 ? -x : x, - flags & YNegative ? '-' : '+', y < 0 ? -y : y); - XtVaSetValues (wmshell, XtNgeometry, xstrdup (shell_position), NULL); - } - else if (flags & (WidthValue | HeightValue)) - { - sprintf (shell_position, "=%dx%d", pixel_width, pixel_height); - XtVaSetValues (wmshell, XtNgeometry, xstrdup (shell_position), NULL); - } - - /* If the geometry spec we're using has W/H components, mark the size - in the WM_SIZE_HINTS as user specified. */ - if (flags & (WidthValue | HeightValue)) - mark_shell_size_user_specified (wmshell); - - /* Also assign the iconic status of the frame to the Shell, so that - the WM sees it. */ - XtVaSetValues (wmshell, XtNiconic, ew->emacs_frame.iconic, NULL); -#endif /* 0 */ - } + frame_size_history_add + (f, Qset_frame_size, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), + list2 (make_number (ew->core.width), make_number (ew->core.height))); } static void @@ -486,16 +345,6 @@ update_various_frame_slots (EmacsFrame ew) { struct frame *f = ew->emacs_frame.frame; - /* Don't do that: It confuses the check in change_frame_size_1 whether - the pixel size of the frame changed due to a change of the internal - border width. Bug#16736. */ - if (false) - { - struct x_output *x = f->output_data.x; - FRAME_PIXEL_HEIGHT (f) = ew->core.height + x->menubar_height; - FRAME_PIXEL_WIDTH (f) = ew->core.width; - } - f->internal_border_width = ew->emacs_frame.internal_border_width; } @@ -504,6 +353,7 @@ update_from_various_frame_slots (EmacsFrame ew) { struct frame *f = ew->emacs_frame.frame; struct x_output *x = f->output_data.x; + ew->core.height = FRAME_PIXEL_HEIGHT (f) - x->menubar_height; ew->core.width = FRAME_PIXEL_WIDTH (f); ew->core.background_pixel = FRAME_BACKGROUND_PIXEL (f); @@ -576,7 +426,10 @@ EmacsFrameResize (Widget widget) frame_size_history_add (f, QEmacsFrameResize, width, height, - list2 (make_number (ew->core.width), make_number (ew->core.height))); + list5 (make_number (ew->core.width), make_number (ew->core.height), + make_number (FRAME_TOP_MARGIN_HEIGHT (f)), + make_number (FRAME_SCROLL_BAR_AREA_HEIGHT (f)), + make_number (2 * FRAME_INTERNAL_BORDER_WIDTH (f)))); change_frame_size (f, width, height, 0, 1, 0, 1); @@ -596,11 +449,12 @@ EmacsFrameQueryGeometry (Widget widget, XtWidgetGeometry *request, XtWidgetGeome if (mask & (CWWidth | CWHeight)) { - round_size_to_char (ew, - (mask & CWWidth) ? request->width : ew->core.width, - ((mask & CWHeight) ? request->height - : ew->core.height), - &ok_width, &ok_height); + if (!frame_resize_pixelwise) + round_size_to_char (ew, + (mask & CWWidth) ? request->width : ew->core.width, + ((mask & CWHeight) ? request->height + : ew->core.height), + &ok_width, &ok_height); if ((mask & CWWidth) && (ok_width != request->width)) { result->request_mode |= CWWidth; diff --git a/src/xdisp.c b/src/xdisp.c index 1524783..0a2b3ae 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -12310,6 +12310,7 @@ PIXELWISE non-nil means return the height of the tool bar in pixels. */) static bool redisplay_tool_bar (struct frame *f) { + f->tool_bar_redisplayed = true; #if defined (USE_GTK) || defined (HAVE_NS) if (FRAME_EXTERNAL_TOOL_BAR (f)) diff --git a/src/xfns.c b/src/xfns.c index fc6111c..b4397ad 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -1064,7 +1064,7 @@ x_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) #else /* not USE_X_TOOLKIT && not USE_GTK */ FRAME_MENU_BAR_LINES (f) = nlines; FRAME_MENU_BAR_HEIGHT (f) = nlines * FRAME_LINE_HEIGHT (f); - adjust_frame_size (f, -1, -1, 2, true, Qmenu_bar_lines); + adjust_frame_size (f, -1, -1, 2, true, Qx_set_menu_bar_lines); if (FRAME_X_WINDOW (f)) x_clear_under_internal_border (f); @@ -1188,12 +1188,16 @@ x_change_tool_bar_height (struct frame *f, int height) f->n_tool_bar_rows = 0; adjust_frame_size (f, -1, -1, - ((NILP (fullscreen = get_frame_param (f, Qfullscreen)) - || EQ (fullscreen, Qfullwidth)) ? 1 + ((!f->tool_bar_resized + && (NILP (fullscreen = + get_frame_param (f, Qfullscreen)) + || EQ (fullscreen, Qfullwidth))) ? 1 : (old_height == 0 || height == 0) ? 2 : 4), false, Qtool_bar_lines); + f->tool_bar_resized = f->tool_bar_redisplayed; + /* adjust_frame_size might not have done anything, garbage frame here. */ adjust_frame_glyphs (f); @@ -2975,6 +2979,7 @@ This function is an internal primitive--use `make-frame' instead. */) struct x_display_info *dpyinfo = NULL; Lisp_Object parent; struct kboard *kb; + int x_width = 0, x_height = 0; parms = Fcopy_alist (parms); @@ -3249,7 +3254,7 @@ This function is an internal primitive--use `make-frame' instead. */) FRAME_TOOL_BAR_POSITION (f), 0, 0, RES_TYPE_SYMBOL); /* Compute the size of the X window. */ - window_prompting = x_figure_window_size (f, parms, true); + window_prompting = x_figure_window_size (f, parms, true, &x_width, &x_height); tem = x_get_arg (dpyinfo, parms, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN); f->no_split = minibuffer_only || EQ (tem, Qt); @@ -3291,12 +3296,6 @@ This function is an internal primitive--use `make-frame' instead. */) x_default_parameter (f, parms, Qalpha, Qnil, "alpha", "Alpha", RES_TYPE_NUMBER); - /* Consider frame official, now. */ - f->can_x_set_window_size = true; - - adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, true, - Qx_create_frame_2); - #if defined (USE_X_TOOLKIT) || defined (USE_GTK) /* Create the menu bar. */ if (!minibuffer_only && FRAME_EXTERNAL_MENU_BAR (f)) @@ -3315,6 +3314,14 @@ This function is an internal primitive--use `make-frame' instead. */) } #endif /* USE_X_TOOLKIT || USE_GTK */ + /* Consider frame official, now. */ + f->can_x_set_window_size = true; + + if (x_width > 0) + SET_FRAME_WIDTH (f, x_width); + if (x_height > 0) + SET_FRAME_HEIGHT (f, x_height); + /* Tell the server what size and position, etc, we want, and how badly we want them. This should be done after we have the menu bar so that its size can be taken into account. */ @@ -3322,6 +3329,9 @@ This function is an internal primitive--use `make-frame' instead. */) x_wm_set_size_hint (f, window_prompting, false); unblock_input (); + adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), + 0, true, Qx_create_frame_2); + /* Process fullscreen parameter here in the hope that normalizing a fullheight/fullwidth frame will produce the size set by the last adjust_frame_size call. */ @@ -5135,6 +5145,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo, bool face_change_before = face_change; Lisp_Object buffer; struct buffer *old_buffer; + int x_width = 0, x_height = 0; if (!dpyinfo->terminal->name) error ("Terminal is not live, can't create new frames on it"); @@ -5307,7 +5318,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo, f->output_data.x->parent_desc = FRAME_DISPLAY_INFO (f)->root_window; - x_figure_window_size (f, parms, false); + x_figure_window_size (f, parms, false, &x_width, &x_height); { XSetWindowAttributes attrs; diff --git a/src/xmenu.c b/src/xmenu.c index f183c70..ee7769a 100644 --- a/src/xmenu.c +++ b/src/xmenu.c @@ -636,13 +636,7 @@ update_frame_menubar (struct frame *f) lw_refigure_widget (x->column_widget, True); /* Force the pane widget to resize itself. */ - int new_height = -1; -#ifdef USE_LUCID - /* For reasons I don't know Lucid wants to add one pixel to the frame - height when adding the menu bar. Compensate that here. */ - new_height = FRAME_TEXT_HEIGHT (f) - 1; -#endif /* USE_LUCID */ - adjust_frame_size (f, -1, new_height, 2, false, Qmenu_bar_lines); + adjust_frame_size (f, -1, -1, 2, false, Qupdate_frame_menubar); unblock_input (); #endif /* USE_GTK */ } @@ -979,7 +973,15 @@ set_frame_menubar (struct frame *f, bool first_time, bool deep_p) menubar_size = (f->output_data.x->menubar_widget ? (f->output_data.x->menubar_widget->core.height - + f->output_data.x->menubar_widget->core.border_width) +#ifndef USE_LUCID + /* Damn me... With Lucid I get a core.border_width of 1 + only the first time this is called and an ibw of 1 every + time this is called. So the first time this is called I + was off by one. Fix that here by never adding + core.border_width for Lucid. */ + + f->output_data.x->menubar_widget->core.border_width +#endif /* USE_LUCID */ + ) : 0); #ifdef USE_LUCID @@ -990,9 +992,10 @@ set_frame_menubar (struct frame *f, bool first_time, bool deep_p) if (FRAME_EXTERNAL_MENU_BAR (f)) { Dimension ibw = 0; + XtVaGetValues (f->output_data.x->column_widget, XtNinternalBorderWidth, &ibw, NULL); - menubar_size += ibw; + menubar_size += ibw; } #endif /* USE_LUCID */ @@ -1081,13 +1084,14 @@ free_frame_menubar (struct frame *f) if (frame_inhibit_resize (f, false, Qmenu_bar_lines)) new_height = old_height; #endif /* USE_MOTIF */ - adjust_frame_size (f, -1, new_height, 2, false, Qmenu_bar_lines); + adjust_frame_size (f, -1, new_height, 2, false, Qfree_frame_menubar_1); } else { #ifdef USE_MOTIF - if (frame_inhibit_resize (f, false, Qmenu_bar_lines)) - adjust_frame_size (f, -1, old_height, 1, false, Qmenu_bar_lines); + if (WINDOWP (FRAME_ROOT_WINDOW (f)) + && frame_inhibit_resize (f, false, Qmenu_bar_lines)) + adjust_frame_size (f, -1, old_height, 1, false, Qfree_frame_menubar_2); #endif } diff --git a/src/xterm.c b/src/xterm.c index dd54552..a51d517 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -9408,6 +9408,10 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset) { struct font *font = XFONT_OBJECT (font_object); int unit, font_ascent, font_descent; +#ifndef USE_X_TOOLKIT + int old_menu_bar_height = FRAME_MENU_BAR_HEIGHT (f); + Lisp_Object fullscreen; +#endif if (fontset < 0) fontset = fontset_from_font (font_object); @@ -9444,9 +9448,25 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset) doing it because it's done in Fx_show_tip, and it leads to problems because the tip frame has no widget. */ if (NILP (tip_frame) || XFRAME (tip_frame) != f) + { adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f), FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, false, Qfont); +#ifndef USE_X_TOOLKIT + if (FRAME_MENU_BAR_HEIGHT (f) != old_menu_bar_height + && !f->after_make_frame + && (EQ (frame_inhibit_implied_resize, Qt) + || (CONSP (frame_inhibit_implied_resize) + && NILP (Fmemq (Qfont, frame_inhibit_implied_resize)))) + && (NILP (fullscreen = get_frame_param (f, Qfullscreen)) + || EQ (fullscreen, Qfullwidth))) + /* If the menu bar height changes, try to keep text height + constant. */ + adjust_frame_size + (f, -1, FRAME_TEXT_HEIGHT (f) + FRAME_MENU_BAR_HEIGHT (f) + - old_menu_bar_height, 1, false, Qfont); +#endif /* USE_X_TOOLKIT */ + } } #ifdef HAVE_X_I18N @@ -10379,7 +10399,7 @@ x_set_window_size_1 (struct frame *f, bool change_gravity, if (EQ (fullscreen, Qfullwidth) && width == FRAME_TEXT_WIDTH (f)) { frame_size_history_add - (f, Qxg_frame_set_char_size_1, width, height, + (f, Qx_set_window_size_1, width, height, list2 (make_number (old_height), make_number (pixelheight + FRAME_MENUBAR_HEIGHT (f)))); @@ -10389,7 +10409,7 @@ x_set_window_size_1 (struct frame *f, bool change_gravity, else if (EQ (fullscreen, Qfullheight) && height == FRAME_TEXT_HEIGHT (f)) { frame_size_history_add - (f, Qxg_frame_set_char_size_2, width, height, + (f, Qx_set_window_size_2, width, height, list2 (make_number (old_width), make_number (pixelwidth))); XResizeWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), @@ -10399,10 +10419,11 @@ x_set_window_size_1 (struct frame *f, bool change_gravity, else { frame_size_history_add - (f, Qxg_frame_set_char_size_3, width, height, - list2 (make_number (pixelwidth + FRAME_TOOLBAR_WIDTH (f)), + (f, Qx_set_window_size_3, width, height, + list3 (make_number (pixelwidth + FRAME_TOOLBAR_WIDTH (f)), make_number (pixelheight + FRAME_TOOLBAR_HEIGHT (f) - + FRAME_MENUBAR_HEIGHT (f)))); + + FRAME_MENUBAR_HEIGHT (f)), + make_number (FRAME_MENUBAR_HEIGHT (f)))); XResizeWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), pixelwidth, pixelheight + FRAME_MENUBAR_HEIGHT (f)); @@ -11172,8 +11193,8 @@ x_wm_set_size_hint (struct frame *f, long flags, bool user_position) size_hints.x = f->left_pos; size_hints.y = f->top_pos; - size_hints.height = FRAME_PIXEL_HEIGHT (f); size_hints.width = FRAME_PIXEL_WIDTH (f); + size_hints.height = FRAME_PIXEL_HEIGHT (f); size_hints.width_inc = frame_resize_pixelwise ? 1 : FRAME_COLUMN_WIDTH (f); size_hints.height_inc = frame_resize_pixelwise ? 1 : FRAME_LINE_HEIGHT (f); @@ -11186,34 +11207,21 @@ x_wm_set_size_hint (struct frame *f, long flags, bool user_position) /* Calculate the base and minimum sizes. */ { int base_width, base_height; - int min_rows = 0, min_cols = 0; base_width = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, 0); base_height = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, 0); - if (frame_resize_pixelwise) - /* Needed to prevent a bad protocol error crash when making the - frame size very small. */ - { - min_cols = 2 * min_cols; - min_rows = 2 * min_rows; - } - /* The window manager uses the base width hints to calculate the current number of rows and columns in the frame while resizing; min_width and min_height aren't useful for this purpose, since they might not give the dimensions for a - zero-row, zero-column frame. - - We use the base_width and base_height members if we have - them; otherwise, we set the min_width and min_height members - to the size for a zero x zero frame. */ + zero-row, zero-column frame. */ size_hints.flags |= PBaseSize; size_hints.base_width = base_width; size_hints.base_height = base_height + FRAME_MENUBAR_HEIGHT (f); - size_hints.min_width = base_width + min_cols * FRAME_COLUMN_WIDTH (f); - size_hints.min_height = base_height + min_rows * FRAME_LINE_HEIGHT (f); + size_hints.min_width = base_width; + size_hints.min_height = base_height; } /* If we don't need the old flags, we don't need the old hint at all. */ --------------060501070803090805010707-- From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 03 02:16:42 2015 Received: (at 21415) by debbugs.gnu.org; 3 Oct 2015 06:16:42 +0000 Received: from localhost ([127.0.0.1]:52692 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZiG7d-0007aE-Ct for submit@debbugs.gnu.org; Sat, 03 Oct 2015 02:16:42 -0400 Received: from mail-vk0-f46.google.com ([209.85.213.46]:35288) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZiG7a-0007a4-L7 for 21415@debbugs.gnu.org; Sat, 03 Oct 2015 02:16:39 -0400 Received: by vkao3 with SMTP id o3so71601443vka.2 for <21415@debbugs.gnu.org>; Fri, 02 Oct 2015 23:16:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=CIMtjD5Z8lWoZXJU9xObrcsP2V9zuDItPieeUlfHMBo=; b=GafSircrOOCH3a1dn60DJn7Wv/FP7oCZLB785ziaZw3sZkaR6VajU0lN9uKA/1Tixe nYbUWQt9MIrUQp8mJqVNB+fMtO7tdtU3CORWiIFof9iDGPJAut6NqgIBA1mH9hpvJpxX vg1ynUGQJyCYmRBESz45IUTWe0xIEOcQIcUu9zl5swZRtZqhg6I9KlPPLgCfCtj39lSf 1llnWOWpJdwECHsl7byIWU8DrtjPe4Id+RrRjqnXr2xN/5BgEnIAPg+InLQmA0J/d030 A+wbIA1HiDFmh6ZW3aPx3hsv7uIKQwRzb+YITYza99epT0xwzRBD0eMNnUmHYQm3KtmR +DHw== MIME-Version: 1.0 X-Received: by 10.31.170.68 with SMTP id t65mr11254537vke.31.1443852997978; Fri, 02 Oct 2015 23:16:37 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Fri, 2 Oct 2015 23:16:37 -0700 (PDT) In-Reply-To: <560E4246.1080306@gmx.at> References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> <5601211E.3090001@gmx.at> <5608E2AB.7010407@gmx.at> <560A3C87.3060802@gmx.at> <560C3090.6000902@gmx.at> <560E4246.1080306@gmx.at> Date: Sat, 3 Oct 2015 08:16:37 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a11431b660d70c005212d39c9 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: "eliz@gnu.org" , Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a11431b660d70c005212d39c9 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi! But is the fact that OS X has responded to our zooming request reflected > in that "button" and if so in which way? No, the button does not change in any way when zooming. The button is typically always plain green. When hovering above it, it displays the fullscreen version of it (two arrows pointing either inwards or outwards, depending on the fullscreen state). When pressing ALT, the button change to contain a "+" sign, indicating that the operation will be a "zoom". The application will display the "+" sign regardless of whether it's maximized or not. In earlier versions of OS X, there was no fullscreen mode. In those versions, the green button always contained a "+" when hovering above it. > FullScreen is a totally different animal with a special sideways > animation, > > gives the application exclusive use of the screen, and blanks out other > > monitors. > > What is the size of such a "FullScreen" screen in relation to the size > of your screen? It's always use the full screen, as far as I can tell. In fact, when in fullscreen mode, the menu bar, tool bar, and title bar are hidden. When the mouse touch the upper part of the screen, they slide in. As far as I can tell, fullscreen mode work very well. > On the other hand, I > > compared with another application (LightRoom). When it is maximized usi= ng > > the user interface, it's frame doesn't cover the entire screen (the sam= e > > four pixels as in Emacs). To cover the entire screen, another command > must > > be issued which cycles through maximized, maximized with hidden menu ba= r, > > and normal. > > I'm afraid that I don't yet understand that "cycling". Do you mean that > pushing that button (which I presume is the "user interface") repeatedly > cycles through these three states? Yes, it does. I think this behaviour is fine. > In that case there's still the > question whether =E2=80=98toggle-frame-maximized=E2=80=99 should hide the= menu bar. > I would say no. Currently, the user can hide the menu bar by setting `ns-auto-hide-menu-bar' to t. If this is set, `toggle-frame-maximized' (and zooming using the user interface) use the entire screen. I see no reason to change this. BTW, you above say "full-height" and "maximized" and here you talk about > "maximized" and "maximized with hidden menu bar". Which of these > correlate? Different applications use different states, it was only an example of how another application handle similar situation. I don't think this cycle is the way to go for us. All in all, the Emacs system works well. The only problem is that a maximized window doesn't cover the entire screen. I have been thinking about two alternatives: * Replace the zoom code with a custom one that simply sets the correct size. (Hopefully, it's possible to get this to work with the zoom button as well.) * Call the standard zoom function to get the zoom animation, then do an extra resize after it's done. Also, one could imagine a new variable `ns-use-native-zoom' if the user would like the normal zoom. / Anders --001a11431b660d70c005212d39c9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi!

But is the fact that OS X has responded to our zoom= ing request reflected
in that "button" and if so in which way?

No, the button does not change in any way when zooming.
<= br>
The button is typically always plain green. When hovering abo= ve it, it displays the fullscreen version of it (two arrows pointing either= inwards or outwards, depending on the fullscreen state). When pressing ALT= , the button change to contain a "+" sign, indicating that the op= eration will be a "zoom". The application will display the "= +" sign regardless of whether it's maximized or not.
In earlier versions of OS X, there was no fullscreen mode. In t= hose versions, the green button always contained a "+" when hover= ing above it.


> FullScreen is a totally different animal with a special sidewa= ys animation,
> gives the application exclusive use of the screen, and blanks out othe= r
> monitors.

What is the size of such a "FullScreen" screen in relation to the= size
of your screen?

It's always use the ful= l screen, as far as I can tell.

In fact, when in f= ullscreen mode, the menu bar, tool bar, and title bar are hidden. When the = mouse touch the upper part of the screen, they slide in.

As far as I can tell, fullscreen mode work very well.

=

> On the other ha= nd, I
> compared with another application (LightRoom). When it is maximized us= ing
> the user interface, it's frame doesn't cover the entire screen= (the same
> four pixels as in Emacs). To cover the entire screen, another command = must
> be issued which cycles through maximized, maximized with hidden menu b= ar,
> and normal.

I'm afraid that I don't yet understand that "cycling".=C2= =A0 Do you mean that
pushing that button (which I presume is the "user interface") rep= eatedly
cycles through these three states?

Yes, it = does.

I think this behaviour is fine.
=C2=A0
=C2=A0In that case there'= s still the
question whether =E2=80=98toggle-frame-maximized=E2=80=99 should hide the m= enu bar.

I would say no.

=
Currently, the user can hide the menu bar by setting `ns-auto-hi= de-menu-bar' to t. If this is set, `toggle-frame-maximized' (and zo= oming using the user interface) use the entire screen.

=
I see no reason to change this.


BTW, you above say "full-height" and "maximize= d" and here you talk about
"maximized" and "maximized with hidden menu bar".=C2=A0= Which of these
correlate?

Different applications use diffe= rent states, it was only an example of how another application handle simil= ar situation. I don't think this cycle is the way to go for us.


All in all, the Emacs system works well. T= he only problem is that a maximized window doesn't cover the entire scr= een. I have been thinking about two alternatives:

= * Replace the zoom code with a custom one that simply sets the correct size= . (Hopefully, it's possible to get this to work with the zoom button as= well.)
* Call the standard zoom function to get the zoom animati= on, then do an extra resize after it's done.

A= lso, one could imagine a new variable `ns-use-native-zoom' if the user = would like the normal zoom.

/ Anders
--001a11431b660d70c005212d39c9-- From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 03 04:32:52 2015 Received: (at 21415) by debbugs.gnu.org; 3 Oct 2015 08:32:52 +0000 Received: from localhost ([127.0.0.1]:52759 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZiIFQ-0002NI-1S for submit@debbugs.gnu.org; Sat, 03 Oct 2015 04:32:52 -0400 Received: from mout.gmx.net ([212.227.15.19]:51897) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZiIFO-0002NA-1y for 21415@debbugs.gnu.org; Sat, 03 Oct 2015 04:32:50 -0400 Received: from [178.190.18.243] ([178.190.18.243]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0LwqwS-1ak2uF2zjk-016Ria; Sat, 03 Oct 2015 10:32:47 +0200 Message-ID: <560F92A5.6000007@gmx.at> Date: Sat, 03 Oct 2015 10:32:37 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <55FFD141.2030405@gmx.at> <5600F763.3020305@gmx.at> <5601211E.3090001@gmx.at> <5608E2AB.7010407@gmx.at> <560A3C87.3060802@gmx.at> <560C3090.6000902@gmx.at> <560E4246.1080306@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:klP3Vo3XA0Z2p/LLjEnVbXfLSOdkocYibxX964zGSuH5gkDc0Uz s3Ay4aoQVoa7Z1r6FV0LuGy4LTsvhkELQykXux1kfeZwJ8J08rakvxWPRmIipgcQIRK1oLf rJKJYjEKyeJ2m0lAT+eMu9tYZrSfukTOtVn8acZgEv+JFVT+B7TS7n5u2IshR59pAjVN+wq /VeXlTTulY+kZVZk90btQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:hLhYte31e5A=:d4DNOIzeL+07gj+SCd5Bpq 9X5Ufg5L+gCAMjj2EX658K5/xCTL4Lro9qD9f6tQdpbGD0xq52g1vWBVw0ngfYT3Y8xsSKfJ4 e0Fquti+Cg6ImuDJbAB/oDuohjMdIo0Idl5eGgiiuKbPsY9lT/0fdc120QEvVCZibez2IVkPt k/MTcjIrlmd6fAy0MmzWgzR8xmtJH2ZR3er8gbAHiEETs0fZbZnKherFNSVuUdQRz16jcN47+ SbKgHDjgNafY1Y2BmqYcp7GJQV+ZXNKuIlkN+OL23ZXX4L1IIr7gsg6RJggC5AjVd40VhNqtl pMaL7LsIMTy99Qm79NiC8wVUvDNIsmJ2jogwwvv5+eOB+zXo2Rvr34vJEeQrDkvPaL4E2z8hi 0oaETV6fy+n3uhJ8Gon5eqlwal9XPkUj1+5yCDWSsRgwSV6f5zsIrHg47J0gc3H2vi1E0RqHX GkhFmNhlCWPwHo04Ez2TMKXzVVRcUcxAm3K4LOMooLMFQXO+qUWDlG8QzKQFE/GgKuppSHon9 +Yisi4gEErXEqTCvxejSBM0PdZ0Is5be//gXnwxAUa+CSKNh2DLcAg8fcA13UxSHSwGmUSjPn dmUE27k8qonPA4DMMCVYMPe+Syi7jG8r1/P7yO/kW+VGjhZc2SvhM+ogxn/VZ8zXqz403tXe4 JWsUXx+dsyxLgvIhxcPsvP00w6CPxbwup1+7U42gQLINP8bSSPCAKYviWwsTDBpc1ivs38b0e FUjRdbe0/NOvzfRG/bQg7gHMPg0Lx7gEJWB/wxg3g/HDpPwqKEx8ycMAryQvlfmrzgRgPTOyp m+5Cp0I X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: "eliz@gnu.org" , Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > As far as I can tell, fullscreen mode work very well. Fine. >> In that case there's still the >> question whether =E2=80=98toggle-frame-maximized=E2=80=99 should hide= the menu bar. >> > > I would say no. > > Currently, the user can hide the menu bar by setting > `ns-auto-hide-menu-bar' to t. If this is set, `toggle-frame-maximized'= (and > zooming using the user interface) use the entire screen. Ah... Then everything looks alright in this regard. > All in all, the Emacs system works well. The only problem is that a > maximized window doesn't cover the entire screen. I have been thinking= > about two alternatives: > > * Replace the zoom code with a custom one that simply sets the correct= > size. (Hopefully, it's possible to get this to work with the zoom butt= on as > well.) > * Call the standard zoom function to get the zoom animation, then do a= n > extra resize after it's done. This last one sounds a bit clumsy. > Also, one could imagine a new variable `ns-use-native-zoom' if the use= r > would like the normal zoom. We could try that. After all it looks like a complement to =E2=80=98ns-auto-hide-menu-bar=E2=80=99. martin From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 03 07:29:00 2015 Received: (at submit) by debbugs.gnu.org; 3 Oct 2015 11:29:00 +0000 Received: from localhost ([127.0.0.1]:52846 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZiKzs-0006VU-1Q for submit@debbugs.gnu.org; Sat, 03 Oct 2015 07:29:00 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36239) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZiKzp-0006VL-GI for submit@debbugs.gnu.org; Sat, 03 Oct 2015 07:28:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZiKzo-0007cH-8U for submit@debbugs.gnu.org; Sat, 03 Oct 2015 07:28:57 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:35026) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZiKzo-0007cD-4u for submit@debbugs.gnu.org; Sat, 03 Oct 2015 07:28:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46245) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZiKzn-0003et-5S for bug-gnu-emacs@gnu.org; Sat, 03 Oct 2015 07:28:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZiKzj-0007Zf-UW for bug-gnu-emacs@gnu.org; Sat, 03 Oct 2015 07:28:55 -0400 Received: from plane.gmane.org ([80.91.229.3]:60876) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZiKzj-0007ZD-Nt for bug-gnu-emacs@gnu.org; Sat, 03 Oct 2015 07:28:51 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZiKzc-000392-2y for bug-gnu-emacs@gnu.org; Sat, 03 Oct 2015 13:28:44 +0200 Received: from 82-69-64-228.dsl.in-addr.zen.co.uk ([82.69.64.228]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 03 Oct 2015 13:28:44 +0200 Received: from andrewjmoreton by 82-69-64-228.dsl.in-addr.zen.co.uk with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 03 Oct 2015 13:28:44 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@gnu.org From: Andy Moreton Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame Date: Sat, 03 Oct 2015 12:28:31 +0100 Lines: 39 Message-ID: <86twq8yyw0.fsf@gmail.com> References: <560E4263.8020309@gmx.at> Mime-Version: 1.0 Content-Type: text/plain X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 82-69-64-228.dsl.in-addr.zen.co.uk User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (windows-nt) Cancel-Lock: sha1:GKnagPR7RGH3WSdmZ7VVtpforUU= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -4.1 (----) On Fri 02 Oct 2015, martin rudalics wrote: > Find attached the most recent version of the patch. Fixes are mainly > for Lucid/Motif but something might change for other platforms as well. > > @@ -3166,15 +3171,25 @@ x_set_frame_parameters (struct frame *f, Lisp_Object alist) > prop = parms[i]; > val = values[i]; > > - if (EQ (prop, Qwidth) && RANGED_INTEGERP (0, val, INT_MAX)) > + if (EQ (prop, Qwidth)) > { > width_change = 1; > - width = XFASTINT (val) * FRAME_COLUMN_WIDTH (f) ; > + if (RANGED_INTEGERP (0, val, INT_MAX)) > + width = XFASTINT (val) * FRAME_COLUMN_WIDTH (f) ; > + else if (FLOATP (val) > + && XFLOAT_DATA (val) >= 0 > + && (int) XFLOAT_DATA (val) <= INT_MAX) > + width = (int) XFLOAT_DATA (val); > } This changes the logic to set width_change even when Qwidth is an out of range integer: is that intended ? > - else if (EQ (prop, Qheight) && RANGED_INTEGERP (0, val, INT_MAX)) > + else if (EQ (prop, Qheight)) > { > height_change = 1; > - height = XFASTINT (val) * FRAME_LINE_HEIGHT (f); > + if (RANGED_INTEGERP (0, val, INT_MAX)) > + height = XFASTINT (val) * FRAME_LINE_HEIGHT (f); > + else if (FLOATP (val) > + && XFLOAT_DATA (val) >= 0 > + && (int) XFLOAT_DATA (val) <= INT_MAX) > + height = (int) XFLOAT_DATA (val); Similarly for height_change. AndyM From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 03 08:31:54 2015 Received: (at 21415) by debbugs.gnu.org; 3 Oct 2015 12:31:54 +0000 Received: from localhost ([127.0.0.1]:52905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZiLyj-00019X-T9 for submit@debbugs.gnu.org; Sat, 03 Oct 2015 08:31:54 -0400 Received: from mout.gmx.net ([212.227.15.18]:57440) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZiLyi-00019O-6S for 21415@debbugs.gnu.org; Sat, 03 Oct 2015 08:31:52 -0400 Received: from [88.117.53.160] ([88.117.53.160]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0MaZWz-1ZxOxT1aW1-00KAeJ; Sat, 03 Oct 2015 14:31:50 +0200 Message-ID: <560FCAAD.8050504@gmx.at> Date: Sat, 03 Oct 2015 14:31:41 +0200 From: martin rudalics MIME-Version: 1.0 To: Andy Moreton , 21415@debbugs.gnu.org Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <560E4263.8020309@gmx.at> <86twq8yyw0.fsf@gmail.com> In-Reply-To: <86twq8yyw0.fsf@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:NfwU2RtJbjjIJSlV4YgpZ4iN6DDoTadUXN5R/YKcLog9VkBbsb5 sNWcvtaaAF76QniERck5mAdqD62bdCZoTWk46yBFPfAQHeNCeCvQeyMn0mbgl7zofGJiKt6 7o1tElxnPf+Airhd5rUNny6ne5CKV867hes7fmWJOXAFOzVmoyM46zqc5cPsODf8129MTgy o/jaJfMzD5Fdz/HdHHKZw== X-UI-Out-Filterresults: notjunk:1;V01:K0:h2XZVgwC0a4=:cXKOiUBmJ2lbb0g45r8VyX 7NJ3g1N+rQFznsvwX6miSdobOWQseiMTEB3XBa8LJ6IEIfXnLb7PxUhJmMGIgGq7i4GLn63mv x5eTQZhTrEll4xu/SZxC1tXn+yPckfzd+S/pHJe6tixqHLl97zD4sXHwv9a693gu+NJOevJL3 LHc5H5rCDDPq9hcrhUk6IhhG57jyV2dzGX8f0IOuBdsg+nPy/WZVSU6UXEfxCg/aFjEloMsb4 OhdSSO9NRZqXa+TZ3galWEsVK2rYWj2U4fmDFMwPhEOtLAoriCvgtsSaDcDtg85I8+ahTIsbn 9uS2ZmoTQoABAhO7Q5L6gE27WczaS96WgOG/17ucE7+OatDp4iB66bBpkpy03kc+RLAeUUH6m VsIShDLdyFxIh8geO/3O37Fofbp9vClbsH9vN2pTPwbwKtgHa9pAUYbNRNHU2bANFJTLGT9yU KRLTcXRW1qgx91TGIS96huZ1LfDgg4G7+kBdm5CjPcU6pPnNJDTne6lK2NddjlWF1UVQ92B8S AsHaWQznLYj1UK+1V6fvLGB6VaXFbJYeFQ9P3xS/V9DRkZAjpY2utnJM/gKnR1+O2ECb2cUyj D4lEIy1JzLv7d/Z4V7ZAz83AE0yVk+tZTUmNb2TrbNC3k85tNairowVbIohcjCS7/Ckox4hOf LL1qmmjjpP4d3uMJ0nGN0D1RHwDh0l0m4lTRFkHvjf5qcf9VQFGnzrcdYJGfTajApMYihIaJy J7aXjwguUiNtufjC5rYoMetOlTJvY52Atcp0sd2Z9ye1BdmkhJjtnYDVrhMnBHWl2IJs1JaKT xwShGug X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) >> @@ -3166,15 +3171,25 @@ x_set_frame_parameters (struct frame *f, Lisp_Object alist) >> prop = parms[i]; >> val = values[i]; >> >> - if (EQ (prop, Qwidth) && RANGED_INTEGERP (0, val, INT_MAX)) >> + if (EQ (prop, Qwidth)) >> { >> width_change = 1; >> - width = XFASTINT (val) * FRAME_COLUMN_WIDTH (f) ; >> + if (RANGED_INTEGERP (0, val, INT_MAX)) >> + width = XFASTINT (val) * FRAME_COLUMN_WIDTH (f) ; >> + else if (FLOATP (val) >> + && XFLOAT_DATA (val) >= 0 >> + && (int) XFLOAT_DATA (val) <= INT_MAX) >> + width = (int) XFLOAT_DATA (val); >> } > > This changes the logic to set width_change even when Qwidth is an > out of range integer: is that intended ? Certainly not. >> - else if (EQ (prop, Qheight) && RANGED_INTEGERP (0, val, INT_MAX)) >> + else if (EQ (prop, Qheight)) >> { >> height_change = 1; >> - height = XFASTINT (val) * FRAME_LINE_HEIGHT (f); >> + if (RANGED_INTEGERP (0, val, INT_MAX)) >> + height = XFASTINT (val) * FRAME_LINE_HEIGHT (f); >> + else if (FLOATP (val) >> + && XFLOAT_DATA (val) >= 0 >> + && (int) XFLOAT_DATA (val) <= INT_MAX) >> + height = (int) XFLOAT_DATA (val); > > Similarly for height_change. Thanks for the heads-up. I will fix that. Did you try the rest of it? Any suggestions? martin From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 05 17:03:19 2015 Received: (at submit) by debbugs.gnu.org; 5 Oct 2015 21:03:19 +0000 Received: from localhost ([127.0.0.1]:55512 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZjCuk-0002Zp-Pu for submit@debbugs.gnu.org; Mon, 05 Oct 2015 17:03:19 -0400 Received: from eggs.gnu.org ([208.118.235.92]:38432) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZjCuj-0002Zh-8f for submit@debbugs.gnu.org; Mon, 05 Oct 2015 17:03:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZjCui-000527-9d for submit@debbugs.gnu.org; Mon, 05 Oct 2015 17:03:16 -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.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:54265) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjCui-000521-71 for submit@debbugs.gnu.org; Mon, 05 Oct 2015 17:03:16 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48418) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjCuh-0004Nk-1S for bug-gnu-emacs@gnu.org; Mon, 05 Oct 2015 17:03:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZjCub-0004yo-F5 for bug-gnu-emacs@gnu.org; Mon, 05 Oct 2015 17:03:14 -0400 Received: from plane.gmane.org ([80.91.229.3]:36525) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjCub-0004ya-8A for bug-gnu-emacs@gnu.org; Mon, 05 Oct 2015 17:03:09 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZjCuZ-0001zw-LC for bug-gnu-emacs@gnu.org; Mon, 05 Oct 2015 23:03:07 +0200 Received: from 82-69-64-228.dsl.in-addr.zen.co.uk ([82.69.64.228]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 05 Oct 2015 23:03:07 +0200 Received: from andrewjmoreton by 82-69-64-228.dsl.in-addr.zen.co.uk with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 05 Oct 2015 23:03:07 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@gnu.org From: Andy Moreton Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame Date: Mon, 05 Oct 2015 22:02:52 +0100 Lines: 10 Message-ID: <864mi5m3k3.fsf@gmail.com> References: <560E4263.8020309@gmx.at> <86twq8yyw0.fsf@gmail.com> <560FCAAD.8050504@gmx.at> Mime-Version: 1.0 Content-Type: text/plain X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 82-69-64-228.dsl.in-addr.zen.co.uk User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (windows-nt) Cancel-Lock: sha1:WuWYOMHVH5HKbCXkdGZfRSpUbjI= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -4.1 (----) On Sat 03 Oct 2015, martin rudalics wrote: > Thanks for the heads-up. I will fix that. > > Did you try the rest of it? Any suggestions? The use of a float for an exact number of pixels seems an odd interface design. What if you later want to add the ability to specify frame sizes in inches or mm ? AndyM From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 06 03:57:32 2015 Received: (at 21415) by debbugs.gnu.org; 6 Oct 2015 07:57:32 +0000 Received: from localhost ([127.0.0.1]:55924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZjN7r-0003w0-NV for submit@debbugs.gnu.org; Tue, 06 Oct 2015 03:57:32 -0400 Received: from mout.gmx.net ([212.227.15.15]:53195) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZjN7q-0003vs-3F for 21415@debbugs.gnu.org; Tue, 06 Oct 2015 03:57:30 -0400 Received: from [88.117.85.116] ([88.117.85.116]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0LrNIC-1amHwK3rsS-013AXn; Tue, 06 Oct 2015 09:57:29 +0200 Message-ID: <56137EE6.1040000@gmx.at> Date: Tue, 06 Oct 2015 09:57:26 +0200 From: martin rudalics MIME-Version: 1.0 To: Andy Moreton , 21415@debbugs.gnu.org Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <560E4263.8020309@gmx.at> <86twq8yyw0.fsf@gmail.com> <560FCAAD.8050504@gmx.at> <864mi5m3k3.fsf@gmail.com> In-Reply-To: <864mi5m3k3.fsf@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:rPv4oIYgzPQOvW/m7RmP072Py5+3C4MZkDi9oT652GFDvqO6gF+ l2NTmB4M2THW5R34EUTrATuslMCQF/D9hKfHLpc2aMFClAM1Fy2lcVvS4jZrwqGpUrAq+Qd VfkIY0qdQ+rpbEKbKMlS3fo/0cexcKjXT7uXw6ZNKi/qZic352uTk+QCrT5FnR4i+mR/y0F 2jve/9ZXk5u1Wfyh2XXCw== X-UI-Out-Filterresults: notjunk:1;V01:K0:nA8a6/hcSlI=:UtXUR+oIGf+D0c/LoP1QnW g5EolQSMONb4sFa4+qNxcxKUP/v+ttRvVHHDCUCe5+TWExPEWKk/8jd+jXD+3iz5n8o+hmg9m Uz0JwW4a1droUlefPwHczTXnJJnzNNuQiNXgoheF1MBf927UgI3pAX/Ytyj1hgXfzVVQ/h2pd m7bCTxISVm4aWax5iZJp5ti4M5FQV6PnQg/ERrPlNVjT2r81oXIylFvMqOD1vIwfr8IzLNkKi twaPJQ9TvvGsi/4YV4CXxhkHlHLNGzgXoVtmJR4TNlpmirBM/iNymhvKe1je3EBp0wFnDVjus 0fxQS4kwRRM08NPDaGu7g6nOTtw2dIIJL9lT2uYcL5chNsSlzvDCAjFbn3FqRA6rxCN1cgfh0 r9DID1t4rRGaQctDqkn8S/Du/k9Z8dJsFITaUMwM23v+kL9aiPekWiWTBmkk4aSUnktwKhlI4 Cz6ELsgZTLM2bTdvCGXEhtrkhMQMJD3YoSONMoX4w3sruD4Y897G4qtl14wOM6pMEusHE9YGx S+3Uxx5bShajnGx8VWsmOTFRcf/Z7lAPtw4uQoqcvJcLNYseFUNPuQp2eWeMhnQ2EnrocT9Hy kXtJDIUfba+6VdAKHqiKuF4qgCfeb4BG8oh2qNWjr+Wm/3kvIlTcHiz5aAkS/GRlyPNItR48Y R7UqSCmwKdmURoWdJBxx877/jvGTEw+dQxT1Nu8U9AgE+w7m1BgaH9nBujU/BGzN0hM0AMQ0S pdg+kg7Irn6g2TNRWl6Ptosc5fdxQv/Y2Kw4V5AyjvOUAgVGwjz4m+yEBZdwYLOQf2A6oFcbI qUWuwMf X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > The use of a float for an exact number of pixels seems an odd interface > design. What if you later want to add the ability to specify frame sizes > in inches or mm ? How about using entries like (width . (text-pixels . 400)) instead? Then "text" could be replaced by "native", "outer" or "inner" and "pixels" could be replaced by "mms" or "inches". martin From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 06 23:43:15 2015 Received: (at 21415) by debbugs.gnu.org; 7 Oct 2015 03:43:15 +0000 Received: from localhost ([127.0.0.1]:57621 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZjfdL-00060o-CK for submit@debbugs.gnu.org; Tue, 06 Oct 2015 23:43:15 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:39488) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zjfd1-000607-2v for 21415@debbugs.gnu.org; Tue, 06 Oct 2015 23:43:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=AsRd6CULmG4UCHneuJRmwC+bm1kK0QCd2hNVXLW5QA8=; b=JORI/yx2M7TbCF7Pr9EXsFWfKSfLZHx9UwIT2K5cJXtIcv1BdSYG6hEz3QuXXL36H5DLXCkztarYu5tJnhkAsNZUFydOF6qBxV31SKKp3B+vTnzeFTjBCMAx3ADAZaAz; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:55790 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1Zjfcw-0004vY-Lk; Tue, 06 Oct 2015 23:42:50 -0400 Date: Tue, 06 Oct 2015 20:42:53 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Sorry for taking so long to try this patch out. I tried the latest patch out this evening on a new build with OSX 10.6.8 -- master branch -- and the tests I performed work well -- i.e., I have a default-frame-alist that creates the perfect size initial and subsequent frames to precise pixel specifications using courier font size 18. (font . "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1") (top . 0) (left . 0) (left-fringe . 8) (right-fringe . 8) (vertical-scroll-bars) (cursor-color . "yellow") (cursor-type bar . 1) (background-color . "black") (foreground-color . "white") (tool-bar-lines . 0) (menu-bar-lines . 0) (width . 1900.0) (height . 1054.0) Keith At Fri, 02 Oct 2015 10:37:55 +0200, martin rudalics wrote: > > > I wasn't sure if anything had changed in the past couple of weeks, so > > I did a hard reset back to the last commit on September 11, 2015 and > > then applied the patch to do my testing. > > Find attached the most recent version of the patch. Fixes are mainly > for Lucid/Motif but something might change for other platforms as well. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 13 06:21:26 2015 Received: (at 21415) by debbugs.gnu.org; 13 Oct 2015 10:21:26 +0000 Received: from localhost ([127.0.0.1]:37838 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zlwhy-0008Qn-0V for submit@debbugs.gnu.org; Tue, 13 Oct 2015 06:21:26 -0400 Received: from mout.gmx.net ([212.227.15.19]:49404) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zlwhw-0008Qe-4p for 21415@debbugs.gnu.org; Tue, 13 Oct 2015 06:21:25 -0400 Received: from [188.22.111.17] ([188.22.111.17]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0Lm3bl-1aLHSS3rmb-00ZcBI; Tue, 13 Oct 2015 12:21:22 +0200 Message-ID: <561CDB1E.6010304@gmx.at> Date: Tue, 13 Oct 2015 12:21:18 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:QwheE45jBM7ldVhbz/Yt26Wi09ky72CGySv+cPn2fQP5+OE8w70 IMqu1AvdjOxLrt6pDbIphKr/XDU4A670aOfZouZJp0WSUWgOW5hMOnrIisU7oqze8GyAsXz hhbO+dMeo4geJVveGQ+C6UjzWNb1TGOtY9qiDYZF+Sw4fuRA63hX6PRciOJPtJWw6oMPryz 7LeGnBS3Ag40EZMDqCMIQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:wgYDTEwkRMA=:BlyazAcwj0B2qJip//Yqt0 Ep4dI1UnNoCo3wpK5wPwFpmreZ7anBU4F2tubQoo8y16qp+ERsfz8uHG/Uv8ExXyerlRQLBV8 BjxGqAhvB6Dc/Uojj+qXSYNNFKHtmbL9jXdLejaUdhZ+Vzy1uQ/c2iR2A/pICkWhfzRDKVnnQ Xq62xKzNJVV4YKCjyakkN9Xv0ptP+HOMHK/5kuc3dt+Iv3cOtkbE41BTKFgTLc1E8ToF7cF6e LLZehXA7r1cPRel0nkYy24hrB8T58p8RKXN7zSr9vca80W1bRmEaD7ncynQVZgaYbKMXyoPAv uLt7mWjXjUFHfauR+mgMSSw5yCPtX9dWRnQ+UON0lClqFyC3f7vyJgxePd0wS5b9m8yXWmcEo aHCNvUDDyEAFId4zGed+rAfJ7LolmqI2CgWrMZPlORDdoNwto8JlWciqZDFGZKlnJR22xH45g M1uGO9SP1yd9wpmoWAZkI2QzZtPGTEOFFJcozFflFpuWlbzrno873fIVuOL0ne89Yn4eH/ayd 3Wir09aHnDTPQoRiM0IY5dJqRWYXJgTDEQuixuPy6SCWtrDaPdpz8P4dNWFY+rSlinywZMP47 xaarSGzBDkVvaudkxjwZOI7nL29kO5xWJ/BKPp03tfwHTWvcKmG+NB4SKdtPbboDlirSaMj4p UQGoBaBKAO5gb6ld5zna0HOC2CZwPWqyFltnxq2u6AIdht1wOXbPzqQURiAz2b0oSJmdkPGVd 2gF2501Qx/gE5HPmvHus/3Ngdt4sW3d659DopNq2EmMxojCa2QWtDvIfuVhcVX47NkXA8gLBt ElXoJf8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Sorry for taking so long to try this patch out. I tried the latest > patch out this evening on a new build with OSX 10.6.8 -- master branch > -- and the tests I performed work well -- i.e., I have a > default-frame-alist that creates the perfect size initial and > subsequent frames to precise pixel specifications using courier font > size 18. I now pushed everything to master. It's been pretty difficult to fix the various builds. I found a number of bugs that earlier were swept under the lines/columns carpets. There is one major change: Instead of (width . 200.0) you have to use (width . (text-pixels . 200)) to spefify that a frame should be 200 pixels wide. Similarly for height. Please report any problems you find. Thanks, martin From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 13 13:23:16 2015 Received: (at 21415) by debbugs.gnu.org; 13 Oct 2015 17:23:16 +0000 Received: from localhost ([127.0.0.1]:38999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zm3IC-0003gq-3Y for submit@debbugs.gnu.org; Tue, 13 Oct 2015 13:23:16 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:57307) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zm3I9-0003gh-0B for 21415@debbugs.gnu.org; Tue, 13 Oct 2015 13:23:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=nSK07z1W/bmMTQQq1vaAhirSxMocImn+OexudMtD7+g=; b=l9MKi4wZsVYL8kUw8K6RHguxuinvpy6t58SWBtrFz+kc4Kx3J7K/BT7OmUyiJOzZBlagPdCzWiIL0fhwo7q7B+9dxGnxwjO3Ld2OLJBrr7y2vcIecrCbqXPTCOQ/0Uyk; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:52930 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1Zm3I6-00069g-Lx; Tue, 13 Oct 2015 13:23:10 -0400 Date: Tue, 13 Oct 2015 10:23:11 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Thank you both so very much for making feature request 21415 a reality and for fixing the various issues along the way. I built Emacs this morning from the master branch for both OSX 10.6.8 and Windows XP -- i.e., through "6d6bf466477b004035a4314886e35214c6f8603b", which is subsequent in time to the commit by Martin earlier in the day. Both of the builds (i.e., OSX and Windows XP) are working well with the tests that I performed using the `default-frame-alist` and the new `text-pixels` specifications for `width` and `height`. Keith From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 13 13:59:16 2015 Received: (at 21415) by debbugs.gnu.org; 13 Oct 2015 17:59:17 +0000 Received: from localhost ([127.0.0.1]:39015 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zm3r1-0004Wg-Tu for submit@debbugs.gnu.org; Tue, 13 Oct 2015 13:59:16 -0400 Received: from mail-vk0-f47.google.com ([209.85.213.47]:32889) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zm3qz-0004WY-Ap for 21415@debbugs.gnu.org; Tue, 13 Oct 2015 13:59:14 -0400 Received: by vkaw128 with SMTP id w128so15219635vka.0 for <21415@debbugs.gnu.org>; Tue, 13 Oct 2015 10:59:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Jx154DLfAdJKqhnmqsC/L9uSZaY1t1reh9oTHYXjVfA=; b=mGUX9WY6l8Cq2GzkNUZzZbQLxipDNaRpd+TII8LWea3PTXka3y1pljylQMPcN84pw/ RSF96my7mHOeb7VhHivgvnj5JgSciJeoL9Buqk8qf2cjX97vrwJSKpDkvSXe/FSbmkyJ V3GcB1u05OU0s9UPLvwp3hvBmk55mStyJgtuBevwnD5RhGqiQr8C/aHYmy1ilMUCLZxW bLKpbTe5P2+Y+ov4k9plYkMqbrXNYNhaBAtqPSFm3WkS181S1jwqUv+XdiYWheNaQpeQ 1p4ruHZ12DXBwn1zDCowMB1P3b/acm2leDOyd2yfyXXrA7vyV0sbIyfUmBnoW5O9V6Vk m7Dw== MIME-Version: 1.0 X-Received: by 10.31.49.213 with SMTP id x204mr22727835vkx.51.1444759152728; Tue, 13 Oct 2015 10:59:12 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Tue, 13 Oct 2015 10:59:12 -0700 (PDT) In-Reply-To: References: Date: Tue, 13 Oct 2015 19:59:12 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky Content-Type: multipart/alternative; boundary=001a1143f1ae15a1770522003405 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: martin rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1143f1ae15a1770522003405 Content-Type: text/plain; charset=UTF-8 Great to hear that things are working! Just to send out a "ping" from my side. I've reworked quite a lot of the NextStep maximization system, as well as replacing the NSTRACE package. I have a few more hours of work (i.e. a couple of nights) before I have something to show, I'll let you know when I'm done. -- Anders On Tue, Oct 13, 2015 at 7:23 PM, Keith David Bershatsky wrote: > Thank you both so very much for making feature request 21415 a reality and > for fixing the various issues along the way. I built Emacs this morning > from the master branch for both OSX 10.6.8 and Windows XP -- i.e., through > "6d6bf466477b004035a4314886e35214c6f8603b", which is subsequent in time to > the commit by Martin earlier in the day. > > Both of the builds (i.e., OSX and Windows XP) are working well with the > tests that I performed using the `default-frame-alist` and the new > `text-pixels` specifications for `width` and `height`. > > Keith > --001a1143f1ae15a1770522003405 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Great to hear that things are working!

= Just to send out a "ping" from my side. I've reworked quite a= lot of the NextStep maximization system, as well as replacing the NSTRACE = package. I have a few more hours of work (i.e. a couple of nights) before I= have something to show, I'll let you know when I'm done.

=C2=A0 =C2=A0 -- Anders

On Tue, Oct 13, 2015 at 7:23 PM, Keith Da= vid Bershatsky <esq@lawlist.com> wrote:
Thank you both so very much for making feature request 21415 = a reality and for fixing the various issues along the way.=C2=A0 I built Em= acs this morning from the master branch for both OSX 10.6.8 and Windows XP = -- i.e., through "6d6bf466477b004035a4314886e35214c6f8603b", whic= h is subsequent in time to the commit by Martin earlier in the day.

Both of the builds (i.e., OSX and Windows XP) are working well with the tes= ts that I performed using the `default-frame-alist` and the new `text-pixel= s` specifications for `width` and `height`.

Keith

--001a1143f1ae15a1770522003405-- From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 14 04:49:52 2015 Received: (at 21415) by debbugs.gnu.org; 14 Oct 2015 08:49:52 +0000 Received: from localhost ([127.0.0.1]:39464 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmHkt-0008Bm-TG for submit@debbugs.gnu.org; Wed, 14 Oct 2015 04:49:52 -0400 Received: from mout.gmx.net ([212.227.17.21]:53443) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmHkr-0008Be-Hb for 21415@debbugs.gnu.org; Wed, 14 Oct 2015 04:49:50 -0400 Received: from [62.47.255.84] ([62.47.255.84]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0Lx8ZJ-1afmwj2Rhp-016g8y; Wed, 14 Oct 2015 10:49:45 +0200 Message-ID: <561E1721.3070405@gmx.at> Date: Wed, 14 Oct 2015 10:49:37 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky , Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------020602020100080305020400" X-Provags-ID: V03:K0:Veh8hjyl7ShBrl/DL0UltZ70/dqC2RAFusbjxVxcBKn2R49h8ux nJSPs0Ch2Eq69x7caATrKAFAFPfvGmFdJwyUWep4Nb9i3Fr/g0Lg5h7CpoYASHapP+yQHIX D3RdOsOUspocCAIjuzWGhSAwxVFb/ZcfaXQiqGCmioekt1TZAfImT6knA0FSMzpukj6pOCQ RqbHQVRjBNI1sdT6t3cAg== X-UI-Out-Filterresults: notjunk:1;V01:K0:MaLIFyZE1V4=:7TisveF4V6eXX7dgyu9a2Z isbhvpdY8+lfdJuGxQ6hglxw89xmgP494thzhzcLTb4PgvbIpGyArKdMunFbHZrXutsSycN2Z 26wKCPqzW7aevvJRsxJLHWIBNDov0OgF/yVqsHrrca0y8jfxi4WRPGMLHlDjB/H3dxxkZfPTW r48RUaGq3dNtCt47Y3CAtn3bcQdiRT5Ba8IoNFPNj6WdYAYvct3EeQyMwJ81zfSz35yeRzdwU vfLYCB1xtU91wJ39qQ3zzC/LHveOd9qg0R7lh0UOJCzsfF1EMq+K33AhRumCtuPEtT0js+MLi lD5DTsP+lpsKXnpBcPn4OHTJTeyezuGyDYjjW3U1wqpnOk+aoy1klSpBo8pAHbfyoLHaLF3mr d14l9wbWcZ4q6G6Cz3XqLrOGaT13YzZH//K7DUtO4/u+W8Ffi9ukAx8S61vp2jY17j+rLmfIj bXX8DSYyCwN5CS5DZBLcVZ6znVd6tIxTjhjGALgWFsp1DuFhK2DGrzzWJ55dQ60z35J4dHS+6 gcLR9e/8zSU4q861tFo5XgtzYq1zs4fJWOt7reBbOg5eaXiFRvC0GaAo6WGv3h+03iiP8vHdb JFcbhKJmu8NsCGeesr86n5gEj8aYbkOvKnXjcyUfHKEjcERnY5Eigi4lZbVnVkCAh5B3AMLwx 61/VZZPVfltu6woCJC0WkOiBzVnb6LyOvSPIYinr80It2kSLyvOR3G0fEcFYtMOokkCnUSYKA 5I7AaoLh3QoKZrgV90VS/WVGc/uvcS/urSdm+NnzHzFv+0+rB4aPv4Qi07w= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) This is a multi-part message in MIME format. --------------020602020100080305020400 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit > Both of the builds (i.e., OSX and Windows XP) are working well with > the tests ... Can you try the attached test suite? Simply load the attached file and do M-x frame-test. The transcript can be found in a buffer called *frame-test*. Please do that for both installations. martin --------------020602020100080305020400 Content-Type: application/emacs-lisp; name="frame.test.el" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="frame.test.el" Ozs7IGZyYW1lLXRlc3QuZWwgLS0tIFRlc3Qgc3VpdGUgZm9yIEVtYWNzIGZyYW1lcyAgLSot IGxleGljYWwtYmluZGluZzp0IC0qLQoKOzsgQ29weXJpZ2h0IChDKSAyMDE1IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgoKOzsgS2V5d29yZHM6ICAgICAgIGludGVybmFsCjs7 IEh1bWFuLUtleXdvcmRzOiBpbnRlcm5hbAoKOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V IEVtYWNzLgoKOzsgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKOzsgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKOzsgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCjs7IEdOVSBFbWFj cyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo7 OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgo7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCjs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCgo7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo7OyBhbG9uZyB3aXRoIEdOVSBFbWFj cy4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KCjs7OyBD b21tZW50YXJ5OgoKOzs7IENvZGU6CihkZWZ2YXIgZnJhbWUtdGVzdC1vdXRlci10aW1lb3V0 IDEuMAogICJUaW1lb3V0IGFmdGVyIHRlc3QuIikKCihkZWZ2YXIgZnJhbWUtdGVzdC1pbm5l ci10aW1lb3V0IDAuMgogICJUaW1lb3V0IHdpdGhpbiB0ZXN0LiIpCgooZGVmdmFyIGZyYW1l LXRlc3QtZXJyb3JzIDAKICAiTnVtYmVyIG9mIGVycm9ycyBlbmNvdW50ZXJlZC4iKQoKKGRl Zm1hY3JvIHdpdGgtcGFyYW1ldGVycy1yZXN0b3JlZCAocGFyYW1ldGVycyAmcmVzdCBib2R5 KQogICJQZXJmb3JtIEJPRFkgYW5kIHJlc3RvcmUgUEFSQU1FVEVSUyBhZnRlcndhcmRzLiIK ICAoZGVjbGFyZSAoZGVidWcgdCkpCiAgKGxldCAoKGFsaXN0IChtYWtlLXN5bWJvbCAiYWxp c3QiKSkKCSh2YWx1ZSAobWFrZS1zeW1ib2wgInZhbHVlIikpKQogICAgYChsZXQgKCxhbGlz dCAsdmFsdWUpCiAgICAgICAoZG9saXN0IChwYXJhbWV0ZXIgLHBhcmFtZXRlcnMpCgkgKHNl dHEgLGFsaXN0IChjb25zIChjb25zIHBhcmFtZXRlciAoZnJhbWUtcGFyYW1ldGVyIG5pbCBw YXJhbWV0ZXIpKSAsYWxpc3QpKSkKICAgICAgIChzZXRxICx2YWx1ZSAocHJvZ24gLEBib2R5 KSkKICAgICAgIChtb2RpZnktZnJhbWUtcGFyYW1ldGVycyBuaWwgKG5yZXZlcnNlICxhbGlz dCkpCiAgICAgICAsdmFsdWUpKSkKCihkZWZ1biBmcmFtZS10ZXN0LWluaGliaXQgKHBhcmFt ZXRlcikKICAiUmV0dXJuIG5vbi1uaWwgd2hlbiBQQVJBTUVURVIgaW5oaWJpdHMgaW1wbGll ZCBmcmFtZSByZXNpemluZy4iCiAgKHdoZW4gcGFyYW1ldGVyCiAgICAob3IgKGVxIGZyYW1l LWluaGliaXQtaW1wbGllZC1yZXNpemUgdCkKCShtZW1xIHBhcmFtZXRlciBmcmFtZS1pbmhp Yml0LWltcGxpZWQtcmVzaXplKSkpKQoKKGRlZnVuIGZyYW1lLXRlc3Qtb3V0ZXItd2lkdGgg KCkKICAiUmV0dXJuIG91dGVyIHdpZHRoIG9mIHNlbGVjdGVkIGZyYW1lLiIKICAobGV0ICgo ZWRnZXMgKGZyYW1lLWVkZ2VzIG5pbCAnb3V0ZXItZWRnZXMpKSkKICAgICgtIChudGggMiBl ZGdlcykgKG50aCAwIGVkZ2VzKSkpKQoKKGRlZnVuIGZyYW1lLXRlc3Qtb3V0ZXItaGVpZ2h0 ICgpCiAgIlJldHVybiBvdXRlciBoZWlnaHQgb2Ygc2VsZWN0ZWQgZnJhbWUuIgogIChsZXQg KChlZGdlcyAoZnJhbWUtZWRnZXMgbmlsICdvdXRlci1lZGdlcykpKQogICAgKC0gKG50aCAz IGVkZ2VzKSAobnRoIDEgZWRnZXMpKSkpCgooZGVmdW4gZnJhbWUtdGVzdC1jaGVjayAocGFy YW1ldGVyIG9sZC13aWR0aCBvbGQtaGVpZ2h0IGFkZC13aWR0aCBhZGQtaGVpZ2h0IHN0cmlu ZzEgJm9wdGlvbmFsIHN0cmluZzIgb3V0ZXIpCiAgIkNoZWNrIHNlbGVjdGVkIGZyYW1lLiIK ICAobGV0IChzdHJpbmcpCiAgICAgICh1bmxlc3MgKHplcm9wIG9sZC13aWR0aCkKCShsZXQg KChuZXctd2lkdGggKGlmIG91dGVyCgkJCSAgICAgKGZyYW1lLXRlc3Qtb3V0ZXItd2lkdGgp CgkJCSAgIChmcmFtZS1waXhlbC13aWR0aCkpKSkKCSAgKHNldHEgc3RyaW5nCgkJKGlmIChm cmFtZS10ZXN0LWluaGliaXQgcGFyYW1ldGVyKQoJCSAgICAoY29uY2F0CgkJICAgICBzdHJp bmcxICIgKGluaGliaXQpIgoJCSAgICAgKGZvcm1hdCAiIG9sZCBmcmFtZSB3aWR0aCAlcyBu ZXcgZnJhbWUgd2lkdGggJXMiCgkJCSAgICAgb2xkLXdpZHRoIG5ldy13aWR0aCkKCQkgICAg ICh1bmxlc3MgKD0gb2xkLXdpZHRoIG5ldy13aWR0aCkKCQkgICAgICAgKHNldHEgZnJhbWUt dGVzdC1lcnJvcnMgKDErIGZyYW1lLXRlc3QtZXJyb3JzKSkKCQkgICAgICAgIiBESUZGRVIi KQoJCSAgICAgKHdoZW4gc3RyaW5nMiAoY29uY2F0ICIgIiBzdHJpbmcyKSkpCgkJICAoY29u Y2F0CgkJICAgc3RyaW5nMQoJCSAgIChmb3JtYXQgIiBvbGQgZnJhbWUgd2lkdGggJXMgbmV3 IGZyYW1lIHdpZHRoICVzIgoJCQkgICBvbGQtd2lkdGggbmV3LXdpZHRoKQoJCSAgICh1bmxl c3MgKD0gKCsgb2xkLXdpZHRoIGFkZC13aWR0aCkgbmV3LXdpZHRoKQoJCSAgICAgKHNldHEg ZnJhbWUtdGVzdC1lcnJvcnMgKDErIGZyYW1lLXRlc3QtZXJyb3JzKSkKCQkgICAgIChmb3Jt YXQgIiBETyBOT1QgRElGRkVSIEJZICVzIiBhZGQtd2lkdGgpKQoJCSAgICh3aGVuIHN0cmlu ZzIgKGNvbmNhdCAiICIgc3RyaW5nMikpKSkpCgkgIChtZXNzYWdlIHN0cmluZykKCSAgKHNp dC1mb3IgZnJhbWUtdGVzdC1vdXRlci10aW1lb3V0KQoJICAod2l0aC1jdXJyZW50LWJ1ZmZl ciAoZ2V0LWJ1ZmZlci1jcmVhdGUgIipmcmFtZS10ZXN0KiIpCgkgICAgKGluc2VydCBzdHJp bmcgIlxuIikpKSkKICAgICAgKHVubGVzcyAoemVyb3Agb2xkLWhlaWdodCkKCShsZXQgKChu ZXctaGVpZ2h0IChpZiBvdXRlcgoJCQkgICAgICAoZnJhbWUtdGVzdC1vdXRlci1oZWlnaHQp CgkJCSAgICAoZnJhbWUtcGl4ZWwtaGVpZ2h0KSkpKQoJICAoc2V0cSBzdHJpbmcKCQkoaWYg KGZyYW1lLXRlc3QtaW5oaWJpdCBwYXJhbWV0ZXIpCgkJICAgIChjb25jYXQKCQkgICAgIHN0 cmluZzEgIiAoaW5oaWJpdCkiCgkJICAgICAoZm9ybWF0ICIgb2xkIGZyYW1lIGhlaWdodCAl cyBuZXcgZnJhbWUgaGVpZ2h0ICVzIgoJCQkgICAgIG9sZC1oZWlnaHQgbmV3LWhlaWdodCkK CQkgICAgICh1bmxlc3MgKD0gb2xkLWhlaWdodCBuZXctaGVpZ2h0KQoJCSAgICAgICAoc2V0 cSBmcmFtZS10ZXN0LWVycm9ycyAoMSsgZnJhbWUtdGVzdC1lcnJvcnMpKQoJCSAgICAgICAi IERJRkZFUiIpCgkJICAgICAod2hlbiBzdHJpbmcyIChjb25jYXQgIiAiIHN0cmluZzIpKSkK CQkgIChjb25jYXQKCQkgICBzdHJpbmcxCgkJICAgKGZvcm1hdCAiIG9sZCBmcmFtZSBoZWln aHQgJXMgbmV3IGZyYW1lIGhlaWdodCAlcyIKCQkJICAgb2xkLWhlaWdodCBuZXctaGVpZ2h0 KQoJCSAgICh1bmxlc3MgKD0gKCsgb2xkLWhlaWdodCBhZGQtaGVpZ2h0KSBuZXctaGVpZ2h0 KQoJCSAgICAgKHNldHEgZnJhbWUtdGVzdC1lcnJvcnMgKDErIGZyYW1lLXRlc3QtZXJyb3Jz KSkKCQkgICAgIChmb3JtYXQgIiBETyBOT1QgRElGRkVSIEJZICVzIiBhZGQtaGVpZ2h0KSkK CQkgICAod2hlbiBzdHJpbmcyIChjb25jYXQgIiAiIHN0cmluZzIpKSkpKQoJICAobWVzc2Fn ZSBzdHJpbmcpCgkgIChzaXQtZm9yIGZyYW1lLXRlc3Qtb3V0ZXItdGltZW91dCkKCSAgKHdp dGgtY3VycmVudC1idWZmZXIgKGdldC1idWZmZXItY3JlYXRlICIqZnJhbWUtdGVzdCoiKQoJ ICAgICh1bmxlc3MgKHplcm9wIG9sZC13aWR0aCkKCSAgICAgIChpbnNlcnQgIiAgIikpCgkg ICAgKGluc2VydCBzdHJpbmcgIlxuIikpKSkpKQoKKGRlZnVuIGZyYW1lLXRlc3QtY2hlY2st ZmFjZSAob2xkLWNoYXItaGVpZ2h0IG5ldy1jaGFyLWhlaWdodCBvbGQtZnJhbWUtaGVpZ2h0 IG5ldy1mcmFtZS1oZWlnaHQgc3RyaW5nMSkKICAiQ2hlY2sgZmFjZSBmb3Igc2VsZWN0ZWQg ZnJhbWUuIgogIChsZXQqIChmcmFtZS1mYWN0b3IKCSBjaGFyLWZhY3RvcgoJIChzdHJpbmcK CSAgKGNvbmNhdAoJICAgc3RyaW5nMQoJICAgKGZvcm1hdCAiIG9sZCBmcmFtZSBoZWlnaHQg JXMgbmV3IGZyYW1lIGhlaWdodCAlcyIKCQkgICBvbGQtZnJhbWUtaGVpZ2h0IG5ldy1mcmFt ZS1oZWlnaHQpCgkgICAoZm9ybWF0ICIgb2xkIGNoYXIgaGVpZ2h0ICVzIG5ldyBjaGFyIGhl aWdodCAlcyIKCQkgICBvbGQtY2hhci1oZWlnaHQgbmV3LWNoYXItaGVpZ2h0KQoJICAgKHVu bGVzcyAoPSAoc2V0cSBmcmFtZS1mYWN0b3IKCQkJICAgKC8gKGZsb2F0IG9sZC1mcmFtZS1o ZWlnaHQpIChmcmFtZS10ZXh0LWhlaWdodCkpKQoJCSAgICAgKHNldHEgY2hhci1mYWN0b3IK CQkJICAgKC8gKGZsb2F0IG9sZC1jaGFyLWhlaWdodCkgKGZyYW1lLWNoYXItaGVpZ2h0KSkp KQoJICAgIChmb3JtYXQgIiBESUZGRVIgd2l0aCBmcmFtZS1mYWN0b3IgJXMgYW5kIGNoYXIt ZmFjdG9yICVzIgoJCSAgICBmcmFtZS1mYWN0b3IgY2hhci1mYWN0b3IpKSkpKQogICAgKG1l c3NhZ2Ugc3RyaW5nKQogICAgKHNpdC1mb3IgZnJhbWUtdGVzdC1vdXRlci10aW1lb3V0KQog ICAgKHdpdGgtY3VycmVudC1idWZmZXIgKGdldC1idWZmZXItY3JlYXRlICIqZnJhbWUtdGVz dCoiKQogICAgICAoaW5zZXJ0IHN0cmluZyAiXG4iKSkpKQoKKGRlZnVuIGZyYW1lLXRlc3Qt c2l6ZS0xICgpCiAgIlRlc3Qgc2l6ZSBzZXR0aW5ncyBvZiBzZWxlY3RlZCBmcmFtZSBzdWJy b3V0aW5lLiIKICAobGV0KiAoKGNoYXItd2lkdGggKGZyYW1lLWNoYXItd2lkdGgpKQoJIChj aGFyLWhlaWdodCAoZnJhbWUtY2hhci1oZWlnaHQpKQoJIChpbml0aWFsLXdpZHRoIChmcmFt ZS13aWR0aCkpCgkgKGluaXRpYWwtaGVpZ2h0IChmcmFtZS1oZWlnaHQpKQoJIG9sZC1waXhl bC13aWR0aCBvbGQtcGl4ZWwtaGVpZ2h0IG5ldy1waXhlbC13aWR0aCBuZXctcGl4ZWwtaGVp Z2h0KQogICAgOzsgcGl4ZWwtd2lkdGggKzExIGNvbHVtbnMKICAgIChzZXRxIG9sZC1waXhl bC13aWR0aCAoZnJhbWUtcGl4ZWwtd2lkdGgpKQogICAgKHNldHEgbmV3LXBpeGVsLXdpZHRo ICgrIG9sZC1waXhlbC13aWR0aCAoKiBjaGFyLXdpZHRoIDExKSkpCiAgICAobW9kaWZ5LWZy YW1lLXBhcmFtZXRlcnMKICAgICBuaWwgKGxpc3QgKGNvbnMgJ3dpZHRoICgrIChmcmFtZS13 aWR0aCkgMTEpKSkpCiAgICAoc2l0LWZvciBmcmFtZS10ZXN0LWlubmVyLXRpbWVvdXQpCiAg ICAoZnJhbWUtdGVzdC1jaGVjawogICAgIG5pbCBvbGQtcGl4ZWwtd2lkdGggMCAoLSBuZXct cGl4ZWwtd2lkdGggb2xkLXBpeGVsLXdpZHRoKSAwCiAgICAgInRleHQgd2lkdGggKzExIGNv bHVtbnMiICIiKQogICAgOzsgcGl4ZWwtaGVpZ2h0IC0zIGxpbmVzCiAgICAoc2V0cSBvbGQt cGl4ZWwtaGVpZ2h0IChmcmFtZS1waXhlbC1oZWlnaHQpKQogICAgKHNldHEgbmV3LXBpeGVs LWhlaWdodCAoLSBvbGQtcGl4ZWwtaGVpZ2h0ICgqIGNoYXItaGVpZ2h0IDMpKSkKICAgICht b2RpZnktZnJhbWUtcGFyYW1ldGVycwogICAgIG5pbCAobGlzdCAoY29ucyAnaGVpZ2h0ICgt IChmcmFtZS1oZWlnaHQpIDMpKSkpIAogICAgKHNpdC1mb3IgZnJhbWUtdGVzdC1pbm5lci10 aW1lb3V0KQogICAgKGZyYW1lLXRlc3QtY2hlY2sKICAgICBuaWwgMCBvbGQtcGl4ZWwtaGVp Z2h0IDAgKC0gbmV3LXBpeGVsLWhlaWdodCBvbGQtcGl4ZWwtaGVpZ2h0KQogICAgICJ0ZXh0 IGhlaWdodCAtMyBsaW5lcyIgIiIpCiAgICA7OyBwaXhlbC13aWR0aCAtNyBjb2x1bW5zLCBw aXhlbC1oZWlnaHQgKzIgbGluZXMKICAgIChzZXRxIG9sZC1waXhlbC13aWR0aCAoZnJhbWUt cGl4ZWwtd2lkdGgpKQogICAgKHNldHEgbmV3LXBpeGVsLXdpZHRoICgtIG9sZC1waXhlbC13 aWR0aCAoKiBjaGFyLXdpZHRoIDcpKSkKICAgIChzZXRxIG9sZC1waXhlbC1oZWlnaHQgKGZy YW1lLXBpeGVsLWhlaWdodCkpCiAgICAoc2V0cSBuZXctcGl4ZWwtaGVpZ2h0ICgrIG9sZC1w aXhlbC1oZWlnaHQgKCogY2hhci1oZWlnaHQgMikpKQogICAgKG1vZGlmeS1mcmFtZS1wYXJh bWV0ZXJzCiAgICAgbmlsIChsaXN0IChjb25zICd3aWR0aCAoLSAoZnJhbWUtd2lkdGgpIDcp KQoJICAgICAgIChjb25zICdoZWlnaHQgKCsgKGZyYW1lLWhlaWdodCkgMikpKSkKICAgIChz aXQtZm9yIGZyYW1lLXRlc3QtaW5uZXItdGltZW91dCkKICAgIChmcmFtZS10ZXN0LWNoZWNr CiAgICAgbmlsIG9sZC1waXhlbC13aWR0aCBvbGQtcGl4ZWwtaGVpZ2h0CiAgICAgKC0gbmV3 LXBpeGVsLXdpZHRoIG9sZC1waXhlbC13aWR0aCkKICAgICAoLSBuZXctcGl4ZWwtaGVpZ2h0 IG9sZC1waXhlbC1oZWlnaHQpCiAgICAgInRleHQgd2lkdGggLTcgY29sdW1ucywgdGV4dCBo ZWlnaHQgKzIgbGluZXMiICIiKQogICAgOzsgcGl4ZWwtd2lkdGggKzIzIHBpeGVscywgcGl4 ZWwtaGVpZ2h0IC0xNyBwaXhlbHMKICAgIChzZXRxIG9sZC1waXhlbC13aWR0aCAoZnJhbWUt cGl4ZWwtd2lkdGgpKQogICAgKHNldHEgbmV3LXBpeGVsLXdpZHRoICgrIG9sZC1waXhlbC13 aWR0aCAyMykpCiAgICAoc2V0cSBvbGQtcGl4ZWwtaGVpZ2h0IChmcmFtZS1waXhlbC1oZWln aHQpKQogICAgKHNldHEgbmV3LXBpeGVsLWhlaWdodCAoLSBvbGQtcGl4ZWwtaGVpZ2h0IDE3 KSkKICAgIChzZXRxIGZyYW1lLXJlc2l6ZS1waXhlbHdpc2UgdCkKICAgIChtb2RpZnktZnJh bWUtcGFyYW1ldGVycwogICAgIG5pbCAobGlzdCAoY29ucyAnd2lkdGggKGNvbnMgJ3RleHQt cGl4ZWxzICgrIChmcmFtZS10ZXh0LXdpZHRoKSAyMykpKQoJICAgICAgIChjb25zICdoZWln aHQgKGNvbnMgJ3RleHQtcGl4ZWxzICgtIChmcmFtZS10ZXh0LWhlaWdodCkgMTcpKSkpKQog ICAgKHNpdC1mb3IgZnJhbWUtdGVzdC1pbm5lci10aW1lb3V0KQogICAgKGZyYW1lLXRlc3Qt Y2hlY2sKICAgICBuaWwgb2xkLXBpeGVsLXdpZHRoIG9sZC1waXhlbC1oZWlnaHQKICAgICAo LSBuZXctcGl4ZWwtd2lkdGggb2xkLXBpeGVsLXdpZHRoKQogICAgICgtIG5ldy1waXhlbC1o ZWlnaHQgb2xkLXBpeGVsLWhlaWdodCkKICAgICAidGV4dCB3aWR0aCArMjMgcGl4ZWxzLCB0 ZXh0IGhlaWdodCAtMTcgcGl4ZWxzIiAiIikKICAgIChzZXRxIGZyYW1lLXJlc2l6ZS1waXhl bHdpc2UgbmlsKQogICAgOzsgUmVzZXQuCiAgICAobW9kaWZ5LWZyYW1lLXBhcmFtZXRlcnMK ICAgICBuaWwgKGxpc3QgKGNvbnMgJ3dpZHRoIGluaXRpYWwtd2lkdGgpCgkgICAgICAgKGNv bnMgJ2hlaWdodCBpbml0aWFsLWhlaWdodCkpKQogICAgKHNpdC1mb3IgZnJhbWUtdGVzdC1p bm5lci10aW1lb3V0KSkpCgooZGVmdW4gZnJhbWUtdGVzdC1zaXplICgmb3B0aW9uYWwga2Vl cCkKICAiVGVzdCBzaXplIHNldHRpbmdzIG9mIHNlbGVjdGVkIGZyYW1lLgpSZXN1bHRzIGFy ZSB3cml0dGVuIHRvIGJ1ZmZlciAqZnJhbWUtdGVzdCouICBLRUVQIG5vbi1uaWwgbWVhbnMK dG8gbm90IHJlc2V0IOKAmGZyYW1lLXRlc3QtZXJyb3Jz4oCZIGFuZCB0byBwcmVzZXJ2ZSBw cmV2aW91cwpjb250ZW50cyBvZiB0aGF0IGJ1ZmZlci4iCiAgKGludGVyYWN0aXZlKQogICh3 aXRoLWN1cnJlbnQtYnVmZmVyIChnZXQtYnVmZmVyLWNyZWF0ZSAiKmZyYW1lLXRlc3QqIikK ICAgICh1bmxlc3Mga2VlcAogICAgICAoc2V0cSBmcmFtZS10ZXN0LWVycm9ycyAwKQogICAg ICAoZXJhc2UtYnVmZmVyKSkKICAgIChpbnNlcnQgIi0tLS0tLS0tLS0gU2l6ZSBzZXR0aW5n cyAtLS0tLS0tLS0tXG4iKSkKICAoZnJhbWUtdGVzdC1zaXplLTEpCiAgKG1lc3NhZ2UgIlNp emUgc2V0dGluZ3MgdGVzdGVkIikpCgooZGVmdW4gZnJhbWUtdGVzdC1zY3JvbGwtYmFyLXdp ZHRoICgpCiAgIlJldHVybiBzY3JvbGwgYmFyIHdpZHRoIG9mIHNlbGVjdGVkIGZyYW1lLiIK ICAoaWYgKGZyYW1lLXBhcmFtZXRlciBuaWwgJ3ZlcnRpY2FsLXNjcm9sbC1iYXJzKQogICAg ICAoZnJhbWUtcGFyYW1ldGVyIG5pbCAnc2Nyb2xsLWJhci13aWR0aCkKICAgIDApKQoKKGRl ZnVuIGZyYW1lLXRlc3Qtc2Nyb2xsLWJhci1oZWlnaHQgKCkKICAiUmV0dXJuIHNjcm9sbCBi YXIgaGVpZ2h0IG9mIHNlbGVjdGVkIGZyYW1lLiIKICAoaWYgKGZyYW1lLXBhcmFtZXRlciBu aWwgJ2hvcml6b250YWwtc2Nyb2xsLWJhcnMpCiAgICAgIChmcmFtZS1wYXJhbWV0ZXIgbmls ICdzY3JvbGwtYmFyLWhlaWdodCkKICAgIDApKQoKKGRlZnVuIGZyYW1lLXRlc3Qtc2Nyb2xs LWJhcnMtMSAoKQogICJUZXN0IHNjcm9sbCBiYXIgc2V0dGluZ3Mgb2Ygc2VsZWN0ZWQgZnJh bWUgc3Vicm91dGluZS4iCiAgKHdpdGgtcGFyYW1ldGVycy1yZXN0b3JlZAogICAnKHZlcnRp Y2FsLXNjcm9sbC1iYXJzIGhvcml6b250YWwtc2Nyb2xsLWJhcnMgc2Nyb2xsLWJhci13aWR0 aCBzY3JvbGwtYmFyLWhlaWdodCkKICAgOzsgdmVydGljYWwtc2Nyb2xsLWJhcnMgbmlsCiAg IChsZXQgKChvbGQtZnJhbWUtd2lkdGggKGZyYW1lLXBpeGVsLXdpZHRoKSkKCSAob2xkLXNj cm9sbC1iYXItd2lkdGggKGZyYW1lLXBhcmFtZXRlciBuaWwgJ3Njcm9sbC1iYXItd2lkdGgp KSkKICAgICAoc2V0LWZyYW1lLXBhcmFtZXRlciBuaWwgJ3ZlcnRpY2FsLXNjcm9sbC1iYXJz IG5pbCkKICAgICAoc2l0LWZvciBmcmFtZS10ZXN0LWlubmVyLXRpbWVvdXQpCiAgICAgKGZy YW1lLXRlc3QtY2hlY2sKICAgICAgJ3ZlcnRpY2FsLXNjcm9sbC1iYXJzIG9sZC1mcmFtZS13 aWR0aCAwICgtIG9sZC1zY3JvbGwtYmFyLXdpZHRoKSAwCiAgICAgICJ2ZXJ0aWNhbC1zY3Jv bGwtYmFycyBuaWwiKSkKICAgOzsgdmVydGljYWwtc2Nyb2xsLWJhcnMgbGVmdAogICAobGV0 ICgob2xkLWZyYW1lLXdpZHRoIChmcmFtZS1waXhlbC13aWR0aCkpCgkgKG9sZC1zY3JvbGwt YmFyLXdpZHRoIChmcmFtZS10ZXN0LXNjcm9sbC1iYXItd2lkdGgpKSkKICAgICAoc2V0LWZy YW1lLXBhcmFtZXRlciBuaWwgJ3ZlcnRpY2FsLXNjcm9sbC1iYXJzICdsZWZ0KQogICAgIChz aXQtZm9yIGZyYW1lLXRlc3QtaW5uZXItdGltZW91dCkKICAgICAoZnJhbWUtdGVzdC1jaGVj awogICAgICAndmVydGljYWwtc2Nyb2xsLWJhcnMgb2xkLWZyYW1lLXdpZHRoIDAKICAgICAg KC0gKGZyYW1lLXBhcmFtZXRlciBuaWwgJ3Njcm9sbC1iYXItd2lkdGgpIG9sZC1zY3JvbGwt YmFyLXdpZHRoKSAwCiAgICAgICJ2ZXJ0aWNhbC1zY3JvbGwtYmFycyBsZWZ0IikpCiAgIDs7 IHZlcnRpY2FsLXNjcm9sbC1iYXJzIHJpZ2h0CiAgIChsZXQgKChvbGQtZnJhbWUtd2lkdGgg KGZyYW1lLXBpeGVsLXdpZHRoKSkKCSAob2xkLXNjcm9sbC1iYXItd2lkdGggKGZyYW1lLXRl c3Qtc2Nyb2xsLWJhci13aWR0aCkpKQogICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIG5pbCAn dmVydGljYWwtc2Nyb2xsLWJhcnMgJ3JpZ2h0KQogICAgIChzaXQtZm9yIGZyYW1lLXRlc3Qt aW5uZXItdGltZW91dCkKICAgICAoZnJhbWUtdGVzdC1jaGVjawogICAgICAndmVydGljYWwt c2Nyb2xsLWJhcnMgb2xkLWZyYW1lLXdpZHRoIDAKICAgICAgKC0gKGZyYW1lLXBhcmFtZXRl ciBuaWwgJ3Njcm9sbC1iYXItd2lkdGgpIG9sZC1zY3JvbGwtYmFyLXdpZHRoKSAwCiAgICAg ICJ2ZXJ0aWNhbC1zY3JvbGwtYmFycyByaWdodCIpKQogICAodW5sZXNzIChmZWF0dXJlcCAn Z3RrKQogICAgIDs7IHNjcm9sbC1iYXItd2lkdGggMjcKICAgICAobGV0ICgob2xkLWZyYW1l LXdpZHRoIChmcmFtZS1waXhlbC13aWR0aCkpCgkgICAob2xkLXNjcm9sbC1iYXItd2lkdGgg KGZyYW1lLXRlc3Qtc2Nyb2xsLWJhci13aWR0aCkpKQogICAgICAgKHNldC1mcmFtZS1wYXJh bWV0ZXIgbmlsICdzY3JvbGwtYmFyLXdpZHRoIDI3KQogICAgICAgKHNpdC1mb3IgZnJhbWUt dGVzdC1pbm5lci10aW1lb3V0KQogICAgICAgKGZyYW1lLXRlc3QtY2hlY2sKCSdzY3JvbGwt YmFyLXdpZHRoIG9sZC1mcmFtZS13aWR0aCAwCgkoLSAoZnJhbWUtcGFyYW1ldGVyIG5pbCAn c2Nyb2xsLWJhci13aWR0aCkgb2xkLXNjcm9sbC1iYXItd2lkdGgpIDAKCSJzY3JvbGwtYmFy LXdpZHRoIDI3IikpCiAgICAgOzsgc2Nyb2xsLWJhci13aWR0aCA3CiAgICAgKGxldCAoKG9s ZC1mcmFtZS13aWR0aCAoZnJhbWUtcGl4ZWwtd2lkdGgpKQoJICAgKG9sZC1zY3JvbGwtYmFy LXdpZHRoIChmcmFtZS10ZXN0LXNjcm9sbC1iYXItd2lkdGgpKSkKICAgICAgIChzZXQtZnJh bWUtcGFyYW1ldGVyIG5pbCAnc2Nyb2xsLWJhci13aWR0aCA3KQogICAgICAgKHNpdC1mb3Ig ZnJhbWUtdGVzdC1pbm5lci10aW1lb3V0KQogICAgICAgKGZyYW1lLXRlc3QtY2hlY2sKCSdz Y3JvbGwtYmFyLXdpZHRoIG9sZC1mcmFtZS13aWR0aCAwCgkoLSAoZnJhbWUtcGFyYW1ldGVy IG5pbCAnc2Nyb2xsLWJhci13aWR0aCkgb2xkLXNjcm9sbC1iYXItd2lkdGgpIDAKCSJzY3Jv bGwtYmFyLXdpZHRoIDciKSkpCiAgIDs7IGhvcml6b250YWwtc2Nyb2xsLWJhcnMgdAogICAo bGV0ICgob2xkLWZyYW1lLWhlaWdodCAoZnJhbWUtcGl4ZWwtaGVpZ2h0KSkKCSAob2xkLXNj cm9sbC1iYXItaGVpZ2h0IChmcmFtZS10ZXN0LXNjcm9sbC1iYXItaGVpZ2h0KSkpCiAgICAg KHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICdob3Jpem9udGFsLXNjcm9sbC1iYXJzIHQpCiAg ICAgKHNpdC1mb3IgZnJhbWUtdGVzdC1pbm5lci10aW1lb3V0KQogICAgIChmcmFtZS10ZXN0 LWNoZWNrCiAgICAgICdob3Jpem9udGFsLXNjcm9sbC1iYXJzIDAgb2xkLWZyYW1lLWhlaWdo dAogICAgICAwICgtIChmcmFtZS1wYXJhbWV0ZXIgbmlsICdzY3JvbGwtYmFyLWhlaWdodCkg b2xkLXNjcm9sbC1iYXItaGVpZ2h0KQogICAgICAiaG9yaXpvbnRhbC1zY3JvbGwtYmFycyB0 IikpCiAgICh1bmxlc3MgKGZlYXR1cmVwICdndGspCiAgICAgOzsgc2Nyb2xsLWJhci1oZWln aHQgMjcKICAgICAobGV0ICgob2xkLWZyYW1lLWhlaWdodCAoZnJhbWUtcGl4ZWwtaGVpZ2h0 KSkKCSAgIChvbGQtc2Nyb2xsLWJhci1oZWlnaHQgKGZyYW1lLXRlc3Qtc2Nyb2xsLWJhci1o ZWlnaHQpKSkKICAgICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIG5pbCAnc2Nyb2xsLWJhci1o ZWlnaHQgMjcpCiAgICAgICAoc2l0LWZvciBmcmFtZS10ZXN0LWlubmVyLXRpbWVvdXQpCiAg ICAgICAoZnJhbWUtdGVzdC1jaGVjawoJJ3Njcm9sbC1iYXItaGVpZ2h0IDAgb2xkLWZyYW1l LWhlaWdodAoJMCAoLSAoZnJhbWUtcGFyYW1ldGVyIG5pbCAnc2Nyb2xsLWJhci1oZWlnaHQp IG9sZC1zY3JvbGwtYmFyLWhlaWdodCkKCSJzY3JvbGwtYmFyLWhlaWdodCAyNyIpKQogICAg IDs7IHNjcm9sbC1iYXItaGVpZ2h0IDcKICAgICAobGV0ICgob2xkLWZyYW1lLWhlaWdodCAo ZnJhbWUtcGl4ZWwtaGVpZ2h0KSkKCSAgIChvbGQtc2Nyb2xsLWJhci1oZWlnaHQgKGZyYW1l LXRlc3Qtc2Nyb2xsLWJhci1oZWlnaHQpKSkKICAgICAgIChzZXQtZnJhbWUtcGFyYW1ldGVy IG5pbCAnc2Nyb2xsLWJhci1oZWlnaHQgNykKICAgICAgIChzaXQtZm9yIGZyYW1lLXRlc3Qt aW5uZXItdGltZW91dCkKICAgICAgIChmcmFtZS10ZXN0LWNoZWNrCgknc2Nyb2xsLWJhci1o ZWlnaHQgMCBvbGQtZnJhbWUtaGVpZ2h0CgkwICgtIChmcmFtZS1wYXJhbWV0ZXIgbmlsICdz Y3JvbGwtYmFyLWhlaWdodCkgb2xkLXNjcm9sbC1iYXItaGVpZ2h0KQoJInNjcm9sbC1iYXIt aGVpZ2h0IDciKSkpCiAgIDs7IGhvcml6b250YWwtc2Nyb2xsLWJhcnMgbmlsCiAgIChsZXQg KChvbGQtZnJhbWUtaGVpZ2h0IChmcmFtZS1waXhlbC1oZWlnaHQpKQoJIChvbGQtc2Nyb2xs LWJhci1oZWlnaHQgKGZyYW1lLXRlc3Qtc2Nyb2xsLWJhci1oZWlnaHQpKSkKICAgICAoc2V0 LWZyYW1lLXBhcmFtZXRlciBuaWwgJ2hvcml6b250YWwtc2Nyb2xsLWJhcnMgbmlsKQogICAg IChzaXQtZm9yIGZyYW1lLXRlc3QtaW5uZXItdGltZW91dCkKICAgICAoZnJhbWUtdGVzdC1j aGVjawogICAgICAnaG9yaXpvbnRhbC1zY3JvbGwtYmFycyAwIG9sZC1mcmFtZS1oZWlnaHQg MCAoLSBvbGQtc2Nyb2xsLWJhci1oZWlnaHQpCiAgICAgICJob3Jpem9udGFsLXNjcm9sbC1i YXJzIG5pbCIpKSkpCgooZGVmdW4gZnJhbWUtdGVzdC1zY3JvbGwtYmFycyAoJm9wdGlvbmFs IGtlZXApCiAgIlRlc3Qgc2Nyb2xsIGJhciBzZXR0aW5ncyBvZiBzZWxlY3RlZCBmcmFtZS4K UmVzdWx0cyBhcmUgd3JpdHRlbiB0byBidWZmZXIgKmZyYW1lLXRlc3QqLiAgS0VFUCBub24t bmlsIG1lYW5zCnRvIG5vdCByZXNldCDigJhmcmFtZS10ZXN0LWVycm9yc+KAmSBhbmQgdG8g cHJlc2VydmUgcHJldmlvdXMKY29udGVudHMgb2YgdGhhdCBidWZmZXIuIgogIChpbnRlcmFj dGl2ZSkKICAod2l0aC1jdXJyZW50LWJ1ZmZlciAoZ2V0LWJ1ZmZlci1jcmVhdGUgIipmcmFt ZS10ZXN0KiIpCiAgICAodW5sZXNzIGtlZXAKICAgICAgKHNldHEgZnJhbWUtdGVzdC1lcnJv cnMgMCkKICAgICAgKGVyYXNlLWJ1ZmZlcikpCiAgICAoaW5zZXJ0ICItLS0tLS0tLS0tIFNj cm9sbCBiYXIgc2V0dGluZ3MgLS0tLS0tLS0tLVxuIikpCiAgKGxldCAoZnJhbWUtaW5oaWJp dC1pbXBsaWVkLXJlc2l6ZSkKICAgIChmcmFtZS10ZXN0LXNjcm9sbC1iYXJzLTEpKQogIChz aXQtZm9yIGZyYW1lLXRlc3QtaW5uZXItdGltZW91dCkKICAobGV0ICgoZnJhbWUtaW5oaWJp dC1pbXBsaWVkLXJlc2l6ZSB0KSkKICAgIChmcmFtZS10ZXN0LXNjcm9sbC1iYXJzLTEpKQog IChtZXNzYWdlICJTY3JvbGwgYmFyIHNldHRpbmdzIHRlc3RlZCIpKQoKKGRlZnVuIGZyYW1l LXRlc3QtZnJpbmdlcy13aWR0aCAoKQogICJSZXR1cm4gd2lkdGggb2YgZnJpbmdlcyBvZiBz ZWxlY3RlZCBmcmFtZS4iCiAgKCsgKGZyYW1lLXBhcmFtZXRlciBuaWwgJ2xlZnQtZnJpbmdl KQogICAgIChmcmFtZS1wYXJhbWV0ZXIgbmlsICdyaWdodC1mcmluZ2UpKSkKCihkZWZ1biBm cmFtZS10ZXN0LWZyaW5nZXMtMSAoKQogICJUZXN0IGZyaW5nZXMgc2V0dGluZ3Mgb2Ygc2Vs ZWN0ZWQgZnJhbWUgc3Vicm91dGluZS4iCiAgKHdpdGgtcGFyYW1ldGVycy1yZXN0b3JlZAog ICAnKGxlZnQtZnJpbmdlIHJpZ2h0LWZyaW5nZSkKICAgOzsgbGVmdC1mcmluZ2UgMTcKICAg KGxldCAoKG9sZC1mcmFtZS13aWR0aCAoZnJhbWUtcGl4ZWwtd2lkdGgpKQoJIChvbGQtZnJp bmdlcy13aWR0aCAoZnJhbWUtdGVzdC1mcmluZ2VzLXdpZHRoKSkpCiAgICAgKHNldC1mcmFt ZS1wYXJhbWV0ZXIgbmlsICdsZWZ0LWZyaW5nZSAxNykKICAgICAoc2l0LWZvciBmcmFtZS10 ZXN0LWlubmVyLXRpbWVvdXQpCiAgICAgKGZyYW1lLXRlc3QtY2hlY2sKICAgICAgJ2xlZnQt ZnJpbmdlIG9sZC1mcmFtZS13aWR0aCAwCiAgICAgICgtIChmcmFtZS10ZXN0LWZyaW5nZXMt d2lkdGgpIG9sZC1mcmluZ2VzLXdpZHRoKSAwCiAgICAgICJsZWZ0LWZyaW5nZSAxNyIpKQog ICA7OyBsZWZ0LWZyaW5nZSAwCiAgIChsZXQgKChvbGQtZnJhbWUtd2lkdGggKGZyYW1lLXBp eGVsLXdpZHRoKSkKCSAob2xkLWZyaW5nZXMtd2lkdGggKGZyYW1lLXRlc3QtZnJpbmdlcy13 aWR0aCkpKQogICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIG5pbCAnbGVmdC1mcmluZ2UgMCkK ICAgICAoc2l0LWZvciBmcmFtZS10ZXN0LWlubmVyLXRpbWVvdXQpCiAgICAgKGZyYW1lLXRl c3QtY2hlY2sKICAgICAgJ2xlZnQtZnJpbmdlIG9sZC1mcmFtZS13aWR0aCAwCiAgICAgICgt IChmcmFtZS10ZXN0LWZyaW5nZXMtd2lkdGgpIG9sZC1mcmluZ2VzLXdpZHRoKSAwCiAgICAg ICJsZWZ0LWZyaW5nZSAwIikpCiAgIDs7IHJpZ2h0LWZyaW5nZSAxNwogICAobGV0ICgob2xk LWZyYW1lLXdpZHRoIChmcmFtZS1waXhlbC13aWR0aCkpCgkgKG9sZC1mcmluZ2VzLXdpZHRo IChmcmFtZS10ZXN0LWZyaW5nZXMtd2lkdGgpKSkKICAgICAoc2V0LWZyYW1lLXBhcmFtZXRl ciBuaWwgJ3JpZ2h0LWZyaW5nZSAxNykKICAgICAoc2l0LWZvciBmcmFtZS10ZXN0LWlubmVy LXRpbWVvdXQpCiAgICAgKGZyYW1lLXRlc3QtY2hlY2sKICAgICAgJ3JpZ2h0LWZyaW5nZSBv bGQtZnJhbWUtd2lkdGggMAogICAgICAoLSAoZnJhbWUtdGVzdC1mcmluZ2VzLXdpZHRoKSBv bGQtZnJpbmdlcy13aWR0aCkgMAogICAgICAicmlnaHQtZnJpbmdlIDE3IikpCiAgIDs7IHJp Z2h0LWZyaW5nZSAwCiAgIChsZXQgKChvbGQtZnJhbWUtd2lkdGggKGZyYW1lLXBpeGVsLXdp ZHRoKSkKCSAob2xkLWZyaW5nZXMtd2lkdGggKGZyYW1lLXRlc3QtZnJpbmdlcy13aWR0aCkp KQogICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIG5pbCAncmlnaHQtZnJpbmdlIDApCiAgICAg KHNpdC1mb3IgZnJhbWUtdGVzdC1pbm5lci10aW1lb3V0KQogICAgIChmcmFtZS10ZXN0LWNo ZWNrCiAgICAgICdyaWdodC1mcmluZ2Ugb2xkLWZyYW1lLXdpZHRoIDAKICAgICAgKC0gKGZy YW1lLXRlc3QtZnJpbmdlcy13aWR0aCkgb2xkLWZyaW5nZXMtd2lkdGgpIDAKICAgICAgInJp Z2h0LWZyaW5nZSAwIikpCiAgIDs7IGZyaW5nZXMgMTcKICAgKGxldCAoKG9sZC1mcmFtZS13 aWR0aCAoZnJhbWUtcGl4ZWwtd2lkdGgpKQoJIChvbGQtZnJpbmdlcy13aWR0aCAoZnJhbWUt dGVzdC1mcmluZ2VzLXdpZHRoKSkpCiAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICds ZWZ0LWZyaW5nZSAxNykKICAgICAoc2V0LWZyYW1lLXBhcmFtZXRlciBuaWwgJ3JpZ2h0LWZy aW5nZSAxNykKICAgICAoc2l0LWZvciBmcmFtZS10ZXN0LWlubmVyLXRpbWVvdXQpCiAgICAg KGZyYW1lLXRlc3QtY2hlY2sKICAgICAgJ2xlZnQtZnJpbmdlIG9sZC1mcmFtZS13aWR0aCAw CiAgICAgICgtIChmcmFtZS10ZXN0LWZyaW5nZXMtd2lkdGgpIG9sZC1mcmluZ2VzLXdpZHRo KSAwCiAgICAgICJmcmluZ2VzIDE3IikpCiAgIDs7IGZyaW5nZXMgMAogICAobGV0ICgob2xk LWZyYW1lLXdpZHRoIChmcmFtZS1waXhlbC13aWR0aCkpCgkgKG9sZC1mcmluZ2VzLXdpZHRo IChmcmFtZS10ZXN0LWZyaW5nZXMtd2lkdGgpKSkKICAgICAoc2V0LWZyYW1lLXBhcmFtZXRl ciBuaWwgJ2xlZnQtZnJpbmdlIDApCiAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICdy aWdodC1mcmluZ2UgMCkKICAgICAoc2l0LWZvciBmcmFtZS10ZXN0LWlubmVyLXRpbWVvdXQp CiAgICAgKGZyYW1lLXRlc3QtY2hlY2sKICAgICAgJ2xlZnQtZnJpbmdlIG9sZC1mcmFtZS13 aWR0aCAwCiAgICAgICgtIChmcmFtZS10ZXN0LWZyaW5nZXMtd2lkdGgpIG9sZC1mcmluZ2Vz LXdpZHRoKSAwCiAgICAgICJmcmluZ2VzIDAiKSkpKQoKKGRlZnVuIGZyYW1lLXRlc3QtZnJp bmdlcyAoJm9wdGlvbmFsIGtlZXApCiAgIlRlc3QgZnJpbmdlcyBzZXR0aW5ncyBvZiBzZWxl Y3RlZCBmcmFtZS4KUmVzdWx0cyBhcmUgd3JpdHRlbiB0byBidWZmZXIgKmZyYW1lLXRlc3Qq LiAgS0VFUCBub24tbmlsIG1lYW5zCnRvIG5vdCByZXNldCDigJhmcmFtZS10ZXN0LWVycm9y c+KAmSBhbmQgdG8gcHJlc2VydmUgcHJldmlvdXMKY29udGVudHMgb2YgdGhhdCBidWZmZXIu IgogIChpbnRlcmFjdGl2ZSkKICAod2l0aC1jdXJyZW50LWJ1ZmZlciAoZ2V0LWJ1ZmZlci1j cmVhdGUgIipmcmFtZS10ZXN0KiIpCiAgICAodW5sZXNzIGtlZXAKICAgICAgKHNldHEgZnJh bWUtdGVzdC1lcnJvcnMgMCkKICAgICAgKGVyYXNlLWJ1ZmZlcikpCiAgICAoaW5zZXJ0ICIt LS0tLS0tLS0tIEZyaW5nZXMgc2V0dGluZ3MgLS0tLS0tLS0tLVxuIikpCiAgKGxldCAoZnJh bWUtaW5oaWJpdC1pbXBsaWVkLXJlc2l6ZSkKICAgIChmcmFtZS10ZXN0LWZyaW5nZXMtMSkp CiAgKHNpdC1mb3IgZnJhbWUtdGVzdC1pbm5lci10aW1lb3V0KQogIChsZXQgKChmcmFtZS1p bmhpYml0LWltcGxpZWQtcmVzaXplIHQpKQogICAgKGZyYW1lLXRlc3QtZnJpbmdlcy0xKSkK ICAobWVzc2FnZSAiRnJpbmdlcyBzZXR0aW5ncyB0ZXN0ZWQiKSkKCihkZWZ1biBmcmFtZS10 ZXN0LWludGVybmFsLWJvcmRlci13aWR0aHMgKCkKICAiUmV0dXJuIHdpZHRoIG9mIHZlcnRp Y2FsIGludGVybmFsIGJvcmRlcnMgb2Ygc2VsZWN0ZWQgZnJhbWUuIgogICgqIChmcmFtZS1w YXJhbWV0ZXIgbmlsICdpbnRlcm5hbC1ib3JkZXItd2lkdGgpIDIpKQoKKGRlZnVuIGZyYW1l LXRlc3QtaW50ZXJuYWwtYm9yZGVycy0xICgpCiAgIlRlc3QgZnJpbmdlcyBzZXR0aW5ncyBv ZiBzZWxlY3RlZCBmcmFtZSBzdWJyb3V0aW5lLiIKICAod2l0aC1wYXJhbWV0ZXJzLXJlc3Rv cmVkCiAgICcoaW50ZXJuYWwtYm9yZGVyLXdpZHRoKQogICA7OyBpbnRlcm5hbCBib3JkZXIg d2lkdGggMTcKICAgKGxldCAoKG9sZC1mcmFtZS13aWR0aCAoZnJhbWUtcGl4ZWwtd2lkdGgp KQoJIChvbGQtZnJhbWUtaGVpZ2h0IChmcmFtZS1waXhlbC1oZWlnaHQpKQoJIChvbGQtaW50 ZXJuYWwtYm9yZGVyLXdpZHRocyAoZnJhbWUtdGVzdC1pbnRlcm5hbC1ib3JkZXItd2lkdGhz KSkpCiAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICdpbnRlcm5hbC1ib3JkZXItd2lk dGggMTcpCiAgICAgKHNpdC1mb3IgZnJhbWUtdGVzdC1pbm5lci10aW1lb3V0KQogICAgIChm cmFtZS10ZXN0LWNoZWNrCiAgICAgICdpbnRlcm5hbC1ib3JkZXItd2lkdGggb2xkLWZyYW1l LXdpZHRoIG9sZC1mcmFtZS1oZWlnaHQKICAgICAgKC0gKGZyYW1lLXRlc3QtaW50ZXJuYWwt Ym9yZGVyLXdpZHRocykgb2xkLWludGVybmFsLWJvcmRlci13aWR0aHMpCiAgICAgICgtIChm cmFtZS10ZXN0LWludGVybmFsLWJvcmRlci13aWR0aHMpIG9sZC1pbnRlcm5hbC1ib3JkZXIt d2lkdGhzKQogICAgICAiaW50ZXJuYWwtYm9yZGVyLXdpZHRoIDE3IikpCiAgIDs7IGludGVy bmFsIGJvcmRlciB3aWR0aCAzCiAgIChsZXQgKChvbGQtZnJhbWUtd2lkdGggKGZyYW1lLXBp eGVsLXdpZHRoKSkKCSAob2xkLWZyYW1lLWhlaWdodCAoZnJhbWUtcGl4ZWwtaGVpZ2h0KSkK CSAob2xkLWludGVybmFsLWJvcmRlci13aWR0aHMgKGZyYW1lLXRlc3QtaW50ZXJuYWwtYm9y ZGVyLXdpZHRocykpKQogICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIG5pbCAnaW50ZXJuYWwt Ym9yZGVyLXdpZHRoIDMpCiAgICAgKHNpdC1mb3IgZnJhbWUtdGVzdC1pbm5lci10aW1lb3V0 KQogICAgIChmcmFtZS10ZXN0LWNoZWNrCiAgICAgICdpbnRlcm5hbC1ib3JkZXItd2lkdGgg b2xkLWZyYW1lLXdpZHRoIG9sZC1mcmFtZS1oZWlnaHQKICAgICAgKC0gKGZyYW1lLXRlc3Qt aW50ZXJuYWwtYm9yZGVyLXdpZHRocykgb2xkLWludGVybmFsLWJvcmRlci13aWR0aHMpCiAg ICAgICgtIChmcmFtZS10ZXN0LWludGVybmFsLWJvcmRlci13aWR0aHMpIG9sZC1pbnRlcm5h bC1ib3JkZXItd2lkdGhzKQogICAgICAiaW50ZXJuYWwtYm9yZGVyLXdpZHRoIDMiKSkpKQoK KGRlZnVuIGZyYW1lLXRlc3QtaW50ZXJuYWwtYm9yZGVycyAoJm9wdGlvbmFsIGtlZXApCiAg IlRlc3QgaW50ZXJuYWwgYm9yZGVyIHNldHRpbmdzIG9mIHNlbGVjdGVkIGZyYW1lLgpSZXN1 bHRzIGFyZSB3cml0dGVuIHRvIGJ1ZmZlciAqZnJhbWUtdGVzdCouICBLRUVQIG5vbi1uaWwg bWVhbnMKdG8gbm90IHJlc2V0IOKAmGZyYW1lLXRlc3QtZXJyb3Jz4oCZIGFuZCB0byBwcmVz ZXJ2ZSBwcmV2aW91cwpjb250ZW50cyBvZiB0aGF0IGJ1ZmZlci4iCiAgKGludGVyYWN0aXZl KQogICh3aXRoLWN1cnJlbnQtYnVmZmVyIChnZXQtYnVmZmVyLWNyZWF0ZSAiKmZyYW1lLXRl c3QqIikKICAgICh1bmxlc3Mga2VlcAogICAgICAoc2V0cSBmcmFtZS10ZXN0LWVycm9ycyAw KQogICAgICAoZXJhc2UtYnVmZmVyKSkKICAgIChpbnNlcnQgIi0tLS0tLS0tLS0gSW50ZXJu YWwgYm9yZGVyIHNldHRpbmdzIC0tLS0tLS0tLS1cbiIpKQogIChsZXQgKGZyYW1lLWluaGli aXQtaW1wbGllZC1yZXNpemUpCiAgICAoZnJhbWUtdGVzdC1pbnRlcm5hbC1ib3JkZXJzLTEp KQogIChzaXQtZm9yIGZyYW1lLXRlc3QtaW5uZXItdGltZW91dCkKICAobGV0ICgoZnJhbWUt aW5oaWJpdC1pbXBsaWVkLXJlc2l6ZSB0KSkKICAgIChmcmFtZS10ZXN0LWludGVybmFsLWJv cmRlcnMtMSkpCiAgKG1lc3NhZ2UgIkludGVybmFsIGJvcmRlciBzZXR0aW5ncyB0ZXN0ZWQi KSkKCihkZWZ1biBmcmFtZS10ZXN0LXdpbmRvdy1kaXZpZGVycy0xICgpCiAgIlRlc3Qgd2lu ZG93IGRpdmRlciBzZXR0aW5ncyBvZiBzZWxlY3RlZCBmcmFtZSBzdWJyb3V0aW5lLiIKICAo d2l0aC1wYXJhbWV0ZXJzLXJlc3RvcmVkCiAgICcocmlnaHQtZGl2aWRlci13aWR0aCBib3R0 b20tZGl2aWRlci13aWR0aCkKICAgKHNhdmUtd2luZG93LWV4Y3Vyc2lvbgogICAgIChzcGxp dC13aW5kb3ctdmVydGljYWxseSkKICAgICAoc3BsaXQtd2luZG93LWhvcml6b250YWxseSkK ICAgICA7OyB3aW5kb3cgcmlnaHQgZGl2aWRlciB3aWR0aCA3CiAgICAgKGxldCAoKG9sZC1m cmFtZS13aWR0aCAoZnJhbWUtcGl4ZWwtd2lkdGgpKSkKICAgICAgIChzZXQtZnJhbWUtcGFy YW1ldGVyIG5pbCAncmlnaHQtZGl2aWRlci13aWR0aCA3KQogICAgICAgKHNpdC1mb3IgZnJh bWUtdGVzdC1pbm5lci10aW1lb3V0KQogICAgICAgKGZyYW1lLXRlc3QtY2hlY2sKCSdyaWdo dC1kaXZpZGVyLXdpZHRoIG9sZC1mcmFtZS13aWR0aCAwIDAgMAoJInJpZ2h0LWRpdmlkZXIt d2lkdGggNyIpKQogICAgIDs7IHdpbmRvdyBib3R0b20gZGl2aWRlciB3aWR0aCAzCiAgICAg KGxldCAoKG9sZC1mcmFtZS1oZWlnaHQgKGZyYW1lLXBpeGVsLWhlaWdodCkpKQogICAgICAg KHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICdib3R0b20tZGl2aWRlci13aWR0aCAzKQogICAg ICAgKHNpdC1mb3IgZnJhbWUtdGVzdC1pbm5lci10aW1lb3V0KQogICAgICAgKGZyYW1lLXRl c3QtY2hlY2sKCSdib3R0b20tZGl2aWRlci13aWR0aCAwIG9sZC1mcmFtZS1oZWlnaHQgMCAw CgkiYm90dG9tLWRpdmlkZXItd2lkdGggMyIpKQogICAgIDs7IHdpbmRvdyByaWdodCBkaXZp ZGVyIHdpZHRoIDAKICAgICAobGV0ICgob2xkLWZyYW1lLXdpZHRoIChmcmFtZS1waXhlbC13 aWR0aCkpKQogICAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICdyaWdodC1kaXZpZGVy LXdpZHRoIDApCiAgICAgICAoc2l0LWZvciBmcmFtZS10ZXN0LWlubmVyLXRpbWVvdXQpCiAg ICAgICAoZnJhbWUtdGVzdC1jaGVjawoJJ3JpZ2h0LWRpdmlkZXItd2lkdGggb2xkLWZyYW1l LXdpZHRoIDAgMCAwCgkicmlnaHQtZGl2aWRlci13aWR0aCAwIikpCiAgICAgOzsgd2luZG93 IGJvdHRvbSBkaXZpZGVyIHdpZHRoIDAKICAgICAobGV0ICgob2xkLWZyYW1lLWhlaWdodCAo ZnJhbWUtcGl4ZWwtaGVpZ2h0KSkpCiAgICAgICAoc2V0LWZyYW1lLXBhcmFtZXRlciBuaWwg J2JvdHRvbS1kaXZpZGVyLXdpZHRoIDApCiAgICAgICAoc2l0LWZvciBmcmFtZS10ZXN0LWlu bmVyLXRpbWVvdXQpCiAgICAgICAoZnJhbWUtdGVzdC1jaGVjawoJJ2JvdHRvbS1kaXZpZGVy LXdpZHRoIDAgb2xkLWZyYW1lLWhlaWdodCAwIDAKCSJib3R0b20tZGl2aWRlci13aWR0aCAw IikpKSkpCgooZGVmdW4gZnJhbWUtdGVzdC13aW5kb3ctZGl2aWRlcnMgKCZvcHRpb25hbCBr ZWVwKQogICJUZXN0IHdpbmRvdyBkaXZpZGVyIHNldHRpbmdzIG9mIHNlbGVjdGVkIGZyYW1l LgpSZXN1bHRzIGFyZSB3cml0dGVuIHRvIGJ1ZmZlciAqZnJhbWUtdGVzdCouICBLRUVQIG5v bi1uaWwgbWVhbnMKdG8gbm90IHJlc2V0IOKAmGZyYW1lLXRlc3QtZXJyb3Jz4oCZIGFuZCB0 byBwcmVzZXJ2ZSBwcmV2aW91cwpjb250ZW50cyBvZiB0aGF0IGJ1ZmZlci4iCiAgKGludGVy YWN0aXZlKQogICh3aXRoLWN1cnJlbnQtYnVmZmVyIChnZXQtYnVmZmVyLWNyZWF0ZSAiKmZy YW1lLXRlc3QqIikKICAgICh1bmxlc3Mga2VlcAogICAgICAoc2V0cSBmcmFtZS10ZXN0LWVy cm9ycyAwKQogICAgICAoZXJhc2UtYnVmZmVyKSkKICAgIChpbnNlcnQgIi0tLS0tLS0tLS0g V2luZG93IGRpdmlkZXIgc2V0dGluZ3MgLS0tLS0tLS0tLVxuIikpCiAgKGZyYW1lLXRlc3Qt d2luZG93LWRpdmlkZXJzLTEpCiAgKG1lc3NhZ2UgIldpbmRvdyBkaXZpZGVyIHNldHRpbmdz IHRlc3RlZCIpKQoKKGRlZnVuIGZyYW1lLXRlc3QtcG9zaXRpdmUtcCAodmFsKQogICJSZXR1 cm4gbm9uLW5pbCBpZiBWQUwgaXMgYSBwb3NpdGl2ZSBudW1iZXIuIgogIChhbmQgKG51bWJl cnAgdmFsKSAoPiB2YWwgMCkpKQoKKGRlZnVuIGZyYW1lLXRlc3QtdG9vbC1iYXItYWRkLXdp ZHRoIChvbGQtdG9vbC1iYXItc2l6ZSBuZXctdG9vbC1iYXItc2l6ZSBvbGQtcG9zaXRpb24g bmV3LXBvc2l0aW9uKQogICJSZXR1cm4gd2lkdGggZ3Jvd3RoIgogIChjb25kCiAgICgoYW5k IChtZW1xIG9sZC1wb3NpdGlvbiAnKG5pbCBsZWZ0IHJpZ2h0KSkKCSAobWVtcSBuZXctcG9z aXRpb24gJyhuaWwgbGVmdCByaWdodCkpKQogICAgKC0gKGNhZHIgbmV3LXRvb2wtYmFyLXNp emUpIChjYWRyIG9sZC10b29sLWJhci1zaXplKSkpCiAgICgoYW5kIChtZW1xIG9sZC1wb3Np dGlvbiAnKG5pbCB0b3AgYm90dG9tKSkKCSAobWVtcSBuZXctcG9zaXRpb24gJyhuaWwgdG9w IGJvdHRvbSkpKQogICAgMCkKICAgKChhbmQgKG1lbXEgb2xkLXBvc2l0aW9uICcobmlsIGxl ZnQgcmlnaHQpKQoJIChtZW1xIG5ldy1wb3NpdGlvbiAnKHRvcCBib3R0b20pKSkKICAgICgt IChjYWRyIG9sZC10b29sLWJhci1zaXplKSkpCiAgICgoYW5kIChtZW1xIG9sZC1wb3NpdGlv biAnKHRvcCBib3R0b20pKQoJIChtZW1xIG5ldy1wb3NpdGlvbiAnKG5pbCBsZWZ0IHJpZ2h0 KSkpCiAgICAoY2FkciBuZXctdG9vbC1iYXItc2l6ZSkpKSkKCihkZWZ1biBmcmFtZS10ZXN0 LXRvb2wtYmFyLWFkZC1oZWlnaHQgKG9sZC10b29sLWJhci1zaXplIG5ldy10b29sLWJhci1z aXplIG9sZC1wb3NpdGlvbiBuZXctcG9zaXRpb24pCiAgIlJldHVybiBoZWlnaHQgZ3Jvd3Ro LiIKICAoY29uZAogICAoKGFuZCAobWVtcSBvbGQtcG9zaXRpb24gJyhuaWwgbGVmdCByaWdo dCkpCgkgKG1lbXEgbmV3LXBvc2l0aW9uICcobmlsIGxlZnQgcmlnaHQpKSkKICAgIDApCiAg ICgoYW5kIChtZW1xIG9sZC1wb3NpdGlvbiAnKG5pbCB0b3AgYm90dG9tKSkKCSAobWVtcSBu ZXctcG9zaXRpb24gJyhuaWwgdG9wIGJvdHRvbSkpKQogICAgKC0gKGNkZHIgbmV3LXRvb2wt YmFyLXNpemUpIChjZGRyIG9sZC10b29sLWJhci1zaXplKSkpCiAgICgoYW5kIChtZW1xIG9s ZC1wb3NpdGlvbiAnKG5pbCBsZWZ0IHJpZ2h0KSkKCSAobWVtcSBuZXctcG9zaXRpb24gJyh0 b3AgYm90dG9tKSkpCiAgICAoY2RkciBuZXctdG9vbC1iYXItc2l6ZSkpCiAgICgoYW5kICht ZW1xIG9sZC1wb3NpdGlvbiAnKHRvcCBib3R0b20pKQoJIChtZW1xIG5ldy1wb3NpdGlvbiAn KG5pbCBsZWZ0IHJpZ2h0KSkpCiAgICAoLSAoY2RkciBvbGQtdG9vbC1iYXItc2l6ZSkpKSkp CgooZGVmdW4gZnJhbWUtdGVzdC10b29sLWJhci0xICgpCiAgIlRlc3QgdG9vbCBiYXIgc2V0 dGluZ3Mgb2Ygc2VsZWN0ZWQgZnJhbWUgc3Vicm91dGluZS4iCiAgKHdpdGgtcGFyYW1ldGVy cy1yZXN0b3JlZAogICAnKHRvb2wtYmFyLWxpbmVzKQogICA7OyB0b29sIGJhciBsaW5lcyAw CiAgIChsZXQqICgob2xkLWdlb21ldHJ5IChmcmFtZS1nZW9tZXRyeSkpCgkgIChleHRlcm5h bCAoY2RyIChhc3NxICd0b29sLWJhci1leHRlcm5hbCBvbGQtZ2VvbWV0cnkpKSkKCSAgKG9s ZC1mcmFtZS13aWR0aCAoaWYgZXh0ZXJuYWwKCQkJICAgICAgIChmcmFtZS10ZXN0LW91dGVy LXdpZHRoKQoJCQkgICAgIChmcmFtZS1waXhlbC13aWR0aCkpKQogCSAgKG9sZC1mcmFtZS1o ZWlnaHQgKGlmIGV4dGVybmFsCgkJCQkoZnJhbWUtdGVzdC1vdXRlci1oZWlnaHQpCgkJCSAg ICAgIChmcmFtZS1waXhlbC1oZWlnaHQpKSkKCSAgKG9sZC1wb3NpdGlvbiAoY2RyIChhc3Nx ICd0b29sLWJhci1wb3NpdGlvbiBvbGQtZ2VvbWV0cnkpKSkgCgkgIChvbGQtdG9vbC1iYXIt c2l6ZSAoYXNzcSAndG9vbC1iYXItc2l6ZSBvbGQtZ2VvbWV0cnkpKSkKICAgICAoc2V0LWZy YW1lLXBhcmFtZXRlciBuaWwgJ3Rvb2wtYmFyLWxpbmVzIDApCiAgICAgKHNpdC1mb3IgZnJh bWUtdGVzdC1pbm5lci10aW1lb3V0KQogICAgIChsZXQqICgobmV3LWdlb21ldHJ5IChmcmFt ZS1nZW9tZXRyeSkpCgkgICAgKG5ldy1wb3NpdGlvbiAoY2RyIChhc3NxICd0b29sLWJhci1w b3NpdGlvbiBuZXctZ2VvbWV0cnkpKSkgCgkgICAgKG5ldy10b29sLWJhci1zaXplIChhc3Nx ICd0b29sLWJhci1zaXplIG5ldy1nZW9tZXRyeSkpKQogICAgICAgKGZyYW1lLXRlc3QtY2hl Y2sKCSd0b29sLWJhci1saW5lcyBvbGQtZnJhbWUtd2lkdGggb2xkLWZyYW1lLWhlaWdodAoJ KGZyYW1lLXRlc3QtdG9vbC1iYXItYWRkLXdpZHRoCgkgb2xkLXRvb2wtYmFyLXNpemUgbmV3 LXRvb2wtYmFyLXNpemUgb2xkLXBvc2l0aW9uIG5ldy1wb3NpdGlvbikKCShmcmFtZS10ZXN0 LXRvb2wtYmFyLWFkZC1oZWlnaHQKCSBvbGQtdG9vbC1iYXItc2l6ZSBuZXctdG9vbC1iYXIt c2l6ZSBvbGQtcG9zaXRpb24gbmV3LXBvc2l0aW9uKQoJInRvb2wgYmFyIGxpbmVzIDAiICIi IGV4dGVybmFsKSkpCiAgIDs7IHRvb2wgYmFyIGxpbmVzIDEKICAgKGxldCogKChvbGQtZ2Vv bWV0cnkgKGZyYW1lLWdlb21ldHJ5KSkKCSAgKGV4dGVybmFsIChjZHIgKGFzc3EgJ3Rvb2wt YmFyLWV4dGVybmFsIG9sZC1nZW9tZXRyeSkpKQoJICAob2xkLWZyYW1lLXdpZHRoIChpZiBl eHRlcm5hbAoJCQkgICAgICAgKGZyYW1lLXRlc3Qtb3V0ZXItd2lkdGgpCgkJCSAgICAgKGZy YW1lLXBpeGVsLXdpZHRoKSkpCgkgIChvbGQtZnJhbWUtaGVpZ2h0IChpZiBleHRlcm5hbAoJ CQkJKGZyYW1lLXRlc3Qtb3V0ZXItaGVpZ2h0KQoJCQkgICAgICAoZnJhbWUtcGl4ZWwtaGVp Z2h0KSkpCgkgIChvbGQtcG9zaXRpb24gKGNkciAoYXNzcSAndG9vbC1iYXItcG9zaXRpb24g b2xkLWdlb21ldHJ5KSkpIAoJICAob2xkLXRvb2wtYmFyLXNpemUgKGFzc3EgJ3Rvb2wtYmFy LXNpemUgb2xkLWdlb21ldHJ5KSkpCiAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICd0 b29sLWJhci1saW5lcyAxKQogICAgIChzaXQtZm9yIGZyYW1lLXRlc3QtaW5uZXItdGltZW91 dCkKICAgICAobGV0KiAoKG5ldy1nZW9tZXRyeSAoZnJhbWUtZ2VvbWV0cnkpKQoJICAgIChu ZXctcG9zaXRpb24gKGNkciAoYXNzcSAndG9vbC1iYXItcG9zaXRpb24gbmV3LWdlb21ldHJ5 KSkpIAoJICAgIChuZXctdG9vbC1iYXItc2l6ZSAoYXNzcSAndG9vbC1iYXItc2l6ZSBuZXct Z2VvbWV0cnkpKSkKICAgICAgIChmcmFtZS10ZXN0LWNoZWNrCgkndG9vbC1iYXItbGluZXMg b2xkLWZyYW1lLXdpZHRoIG9sZC1mcmFtZS1oZWlnaHQKCShmcmFtZS10ZXN0LXRvb2wtYmFy LWFkZC13aWR0aAoJIG9sZC10b29sLWJhci1zaXplIG5ldy10b29sLWJhci1zaXplIG9sZC1w b3NpdGlvbiBuZXctcG9zaXRpb24pCgkoZnJhbWUtdGVzdC10b29sLWJhci1hZGQtaGVpZ2h0 Cgkgb2xkLXRvb2wtYmFyLXNpemUgbmV3LXRvb2wtYmFyLXNpemUgb2xkLXBvc2l0aW9uIG5l dy1wb3NpdGlvbikKCSJ0b29sIGJhciBsaW5lcyAxIiAiIiBleHRlcm5hbCkpKQogICAod2hl biAoZmVhdHVyZXAgJ2d0aykKICAgICA7OyB0b29sLWJhci1wb3NpdGlvbiByaWdodAogICAg IChsZXQqICgob2xkLWdlb21ldHJ5IChmcmFtZS1nZW9tZXRyeSkpCgkgICAgKG9sZC1mcmFt ZS13aWR0aCAoZnJhbWUtdGVzdC1vdXRlci13aWR0aCkpCgkgICAgKG9sZC1mcmFtZS1oZWln aHQgKGZyYW1lLXRlc3Qtb3V0ZXItaGVpZ2h0KSkKCSAgICAob2xkLXBvc2l0aW9uIChjZHIg KGFzc3EgJ3Rvb2wtYmFyLXBvc2l0aW9uIG9sZC1nZW9tZXRyeSkpKSAKCSAgICAob2xkLXRv b2wtYmFyLXNpemUgKGFzc3EgJ3Rvb2wtYmFyLXNpemUgb2xkLWdlb21ldHJ5KSkpCiAgICAg ICAoc2V0LWZyYW1lLXBhcmFtZXRlciBuaWwgJ3Rvb2wtYmFyLXBvc2l0aW9uICdyaWdodCkK ICAgICAgIChzaXQtZm9yIGZyYW1lLXRlc3QtaW5uZXItdGltZW91dCkKICAgICAgIChsZXQq ICgobmV3LWdlb21ldHJ5IChmcmFtZS1nZW9tZXRyeSkpCgkgICAgICAobmV3LXBvc2l0aW9u IChjZHIgKGFzc3EgJ3Rvb2wtYmFyLXBvc2l0aW9uIG5ldy1nZW9tZXRyeSkpKSAKCSAgICAg IChuZXctdG9vbC1iYXItc2l6ZSAoYXNzcSAndG9vbC1iYXItc2l6ZSBuZXctZ2VvbWV0cnkp KSkKCSAoZnJhbWUtdGVzdC1jaGVjawoJICAndG9vbC1iYXItbGluZXMgb2xkLWZyYW1lLXdp ZHRoIG9sZC1mcmFtZS1oZWlnaHQKCSAgKGZyYW1lLXRlc3QtdG9vbC1iYXItYWRkLXdpZHRo CgkgICBvbGQtdG9vbC1iYXItc2l6ZSBuZXctdG9vbC1iYXItc2l6ZSBvbGQtcG9zaXRpb24g bmV3LXBvc2l0aW9uKQoJICAoZnJhbWUtdGVzdC10b29sLWJhci1hZGQtaGVpZ2h0CgkgICBv bGQtdG9vbC1iYXItc2l6ZSBuZXctdG9vbC1iYXItc2l6ZSBvbGQtcG9zaXRpb24gbmV3LXBv c2l0aW9uKQoJICAidG9vbCBiYXIgcG9zaXRpb24gcmlnaHQiICIiIHQpKSkKICAgICA7OyB0 b29sLWJhci1wb3NpdGlvbiBib3R0b20KICAgICAobGV0KiAoKG9sZC1nZW9tZXRyeSAoZnJh bWUtZ2VvbWV0cnkpKQoJICAgIChvbGQtZnJhbWUtd2lkdGggKGZyYW1lLXRlc3Qtb3V0ZXIt d2lkdGgpKQoJICAgIChvbGQtZnJhbWUtaGVpZ2h0IChmcmFtZS10ZXN0LW91dGVyLWhlaWdo dCkpCgkgICAgKG9sZC1wb3NpdGlvbiAoY2RyIChhc3NxICd0b29sLWJhci1wb3NpdGlvbiBv bGQtZ2VvbWV0cnkpKSkgCgkgICAgKG9sZC10b29sLWJhci1zaXplIChhc3NxICd0b29sLWJh ci1zaXplIG9sZC1nZW9tZXRyeSkpKQogICAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgbmls ICd0b29sLWJhci1wb3NpdGlvbiAnYm90dG9tKQogICAgICAgKHNpdC1mb3IgZnJhbWUtdGVz dC1pbm5lci10aW1lb3V0KQogICAgICAgKGxldCogKChuZXctZ2VvbWV0cnkgKGZyYW1lLWdl b21ldHJ5KSkKCSAgICAgIChuZXctcG9zaXRpb24gKGNkciAoYXNzcSAndG9vbC1iYXItcG9z aXRpb24gbmV3LWdlb21ldHJ5KSkpIAoJICAgICAgKG5ldy10b29sLWJhci1zaXplIChhc3Nx ICd0b29sLWJhci1zaXplIG5ldy1nZW9tZXRyeSkpKQoJIChmcmFtZS10ZXN0LWNoZWNrCgkg ICd0b29sLWJhci1saW5lcyBvbGQtZnJhbWUtd2lkdGggb2xkLWZyYW1lLWhlaWdodAoJICAo ZnJhbWUtdGVzdC10b29sLWJhci1hZGQtd2lkdGgKCSAgIG9sZC10b29sLWJhci1zaXplIG5l dy10b29sLWJhci1zaXplIG9sZC1wb3NpdGlvbiBuZXctcG9zaXRpb24pCgkgIChmcmFtZS10 ZXN0LXRvb2wtYmFyLWFkZC1oZWlnaHQKCSAgIG9sZC10b29sLWJhci1zaXplIG5ldy10b29s LWJhci1zaXplIG9sZC1wb3NpdGlvbiBuZXctcG9zaXRpb24pCgkgICJ0b29sIGJhciBwb3Np dGlvbiBsZWZ0IiAiIiB0KSkpCiAgICAgOzsgdG9vbC1iYXItcG9zaXRpb24gbGVmdAogICAg IChsZXQqICgob2xkLWdlb21ldHJ5IChmcmFtZS1nZW9tZXRyeSkpCgkgICAgKG9sZC1mcmFt ZS13aWR0aCAoZnJhbWUtdGVzdC1vdXRlci13aWR0aCkpCgkgICAgKG9sZC1mcmFtZS1oZWln aHQgKGZyYW1lLXRlc3Qtb3V0ZXItaGVpZ2h0KSkKCSAgICAob2xkLXBvc2l0aW9uIChjZHIg KGFzc3EgJ3Rvb2wtYmFyLXBvc2l0aW9uIG9sZC1nZW9tZXRyeSkpKSAKCSAgICAob2xkLXRv b2wtYmFyLXNpemUgKGFzc3EgJ3Rvb2wtYmFyLXNpemUgb2xkLWdlb21ldHJ5KSkpCiAgICAg ICAoc2V0LWZyYW1lLXBhcmFtZXRlciBuaWwgJ3Rvb2wtYmFyLXBvc2l0aW9uICdsZWZ0KQog ICAgICAgKHNpdC1mb3IgZnJhbWUtdGVzdC1pbm5lci10aW1lb3V0KQogICAgICAgKGxldCog KChuZXctZ2VvbWV0cnkgKGZyYW1lLWdlb21ldHJ5KSkKCSAgICAgIChuZXctcG9zaXRpb24g KGNkciAoYXNzcSAndG9vbC1iYXItcG9zaXRpb24gbmV3LWdlb21ldHJ5KSkpIAoJICAgICAg KG5ldy10b29sLWJhci1zaXplIChhc3NxICd0b29sLWJhci1zaXplIG5ldy1nZW9tZXRyeSkp KQoJIChmcmFtZS10ZXN0LWNoZWNrCgkgICd0b29sLWJhci1saW5lcyBvbGQtZnJhbWUtd2lk dGggb2xkLWZyYW1lLWhlaWdodAoJICAoZnJhbWUtdGVzdC10b29sLWJhci1hZGQtd2lkdGgK CSAgIG9sZC10b29sLWJhci1zaXplIG5ldy10b29sLWJhci1zaXplIG9sZC1wb3NpdGlvbiBu ZXctcG9zaXRpb24pCgkgIChmcmFtZS10ZXN0LXRvb2wtYmFyLWFkZC1oZWlnaHQKCSAgIG9s ZC10b29sLWJhci1zaXplIG5ldy10b29sLWJhci1zaXplIG9sZC1wb3NpdGlvbiBuZXctcG9z aXRpb24pCgkgICJ0b29sIGJhciBwb3NpdGlvbiBsZWZ0IiAiIiB0KSkpKSkpCgooZGVmdW4g ZnJhbWUtdGVzdC10b29sLWJhciAoJm9wdGlvbmFsIGtlZXApCiAgIlRlc3QgdG9vbCBiYXIg c2V0dGluZ3Mgb2Ygc2VsZWN0ZWQgZnJhbWUuClJlc3VsdHMgYXJlIHdyaXR0ZW4gdG8gYnVm ZmVyICpmcmFtZS10ZXN0Ki4gIEtFRVAgbm9uLW5pbCBtZWFucwp0byBub3QgcmVzZXQg4oCY ZnJhbWUtdGVzdC1lcnJvcnPigJkgYW5kIHRvIHByZXNlcnZlIHByZXZpb3VzCmNvbnRlbnRz IG9mIHRoYXQgYnVmZmVyLgoKTm90ZTogVGhlIGZyYW1lIG11c3QgYmUgdmlzaWJsZSBmb3Ig dGhpcyB0ZXN0IHRvIHdvcmsgY29ycmVjdGx5LgpPdGhlcndpc2UgdGhlIGRpc3BsYXktZW5n aW5lIHdpbGwgbm90IGJvdGhlciByZWRyYXdpbmcgdGhlIHRvb2wKYmFyLiIKICAoaW50ZXJh Y3RpdmUpCiAgKHdpdGgtY3VycmVudC1idWZmZXIgKGdldC1idWZmZXItY3JlYXRlICIqZnJh bWUtdGVzdCoiKQogICAgKHVubGVzcyBrZWVwCiAgICAgIChzZXRxIGZyYW1lLXRlc3QtZXJy b3JzIDApCiAgICAgIChlcmFzZS1idWZmZXIpKQogICAgKGluc2VydCAiLS0tLS0tLS0tLSBU b29sIGJhciBzZXR0aW5ncyAtLS0tLS0tLS0tXG4iKSkKICAobGV0IChmcmFtZS1pbmhpYml0 LWltcGxpZWQtcmVzaXplKQogICAgKGZyYW1lLXRlc3QtdG9vbC1iYXItMSkpCiAgKHNpdC1m b3IgZnJhbWUtdGVzdC1pbm5lci10aW1lb3V0KQogIChsZXQgKChmcmFtZS1pbmhpYml0LWlt cGxpZWQtcmVzaXplIHQpKQogICAgKGZyYW1lLXRlc3QtdG9vbC1iYXItMSkpCiAgKG1lc3Nh Z2UgIlRvb2wgYmFyIHNldHRpbmdzIHRlc3RlZCIpKQoKKGRlZnVuIGZyYW1lLXRlc3QtbWVu dS1iYXItMSAoKQogICJUZXN0IG1lbnUgYmFyIHNldHRpbmdzIG9mIHNlbGVjdGVkIGZyYW1l IHN1YnJvdXRpbmUuIgogICh3aXRoLXBhcmFtZXRlcnMtcmVzdG9yZWQKICAgJyhtZW51LWJh ci1saW5lcykKICAgOzsgbWVudSBiYXIgbGluZXMgMAogICAobGV0KiAoKG9sZC1nZW9tZXRy eSAoZnJhbWUtZ2VvbWV0cnkpKQoJICAoZXh0ZXJuYWwgKGNkciAoYXNzcSAnbWVudS1iYXIt ZXh0ZXJuYWwgb2xkLWdlb21ldHJ5KSkpCiAJICAob2xkLWZyYW1lLWhlaWdodCAoaWYgZXh0 ZXJuYWwKCQkJCShmcmFtZS10ZXN0LW91dGVyLWhlaWdodCkKCQkJICAgICAgKGZyYW1lLXBp eGVsLWhlaWdodCkpKQoJICAob2xkLW1lbnUtYmFyLWhlaWdodCAoY2RkciAoYXNzcSAnbWVu dS1iYXItc2l6ZSBvbGQtZ2VvbWV0cnkpKSkpCiAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIg bmlsICdtZW51LWJhci1saW5lcyAwKQogICAgIChzaXQtZm9yIGZyYW1lLXRlc3QtaW5uZXIt dGltZW91dCkKICAgICAobGV0KiAoKG5ldy1nZW9tZXRyeSAoZnJhbWUtZ2VvbWV0cnkpKQoJ ICAgIChuZXctbWVudS1iYXItaGVpZ2h0IChjZGRyIChhc3NxICdtZW51LWJhci1zaXplIG5l dy1nZW9tZXRyeSkpKSkKICAgICAgIChmcmFtZS10ZXN0LWNoZWNrCgknbWVudS1iYXItbGlu ZXMgMCBvbGQtZnJhbWUtaGVpZ2h0IDAKCSgtIG5ldy1tZW51LWJhci1oZWlnaHQgb2xkLW1l bnUtYmFyLWhlaWdodCkKCSJtZW51IGJhciBsaW5lcyAwIiAiIiBleHRlcm5hbCkpKQogICA7 OyBtZW51IGJhciBsaW5lcyAxCiAgIChsZXQqICgob2xkLWdlb21ldHJ5IChmcmFtZS1nZW9t ZXRyeSkpCgkgIChleHRlcm5hbCAoY2RyIChhc3NxICdtZW51LWJhci1leHRlcm5hbCBvbGQt Z2VvbWV0cnkpKSkKIAkgIChvbGQtZnJhbWUtaGVpZ2h0IChpZiBleHRlcm5hbAoJCQkJKGZy YW1lLXRlc3Qtb3V0ZXItaGVpZ2h0KQoJCQkgICAgICAoZnJhbWUtcGl4ZWwtaGVpZ2h0KSkp CgkgIChvbGQtbWVudS1iYXItaGVpZ2h0IChjZGRyIChhc3NxICdtZW51LWJhci1zaXplIG9s ZC1nZW9tZXRyeSkpKSkKICAgICAoc2V0LWZyYW1lLXBhcmFtZXRlciBuaWwgJ21lbnUtYmFy LWxpbmVzIDEpCiAgICAgKHNpdC1mb3IgZnJhbWUtdGVzdC1pbm5lci10aW1lb3V0KQogICAg IChsZXQqICgobmV3LWdlb21ldHJ5IChmcmFtZS1nZW9tZXRyeSkpCgkgICAgKG5ldy1tZW51 LWJhci1oZWlnaHQgKGNkZHIgKGFzc3EgJ21lbnUtYmFyLXNpemUgbmV3LWdlb21ldHJ5KSkp KQogICAgICAgKGZyYW1lLXRlc3QtY2hlY2sKCSdtZW51LWJhci1saW5lcyAwIG9sZC1mcmFt ZS1oZWlnaHQgMAoJKC0gbmV3LW1lbnUtYmFyLWhlaWdodCBvbGQtbWVudS1iYXItaGVpZ2h0 KQoJIm1lbnUgYmFyIGxpbmVzIDEiICIiIGV4dGVybmFsKSkpKSkKCihkZWZ1biBmcmFtZS10 ZXN0LW1lbnUtYmFyICgmb3B0aW9uYWwga2VlcCkKICAiVGVzdCBtZW51IGJhciBzZXR0aW5n cyBvZiBzZWxlY3RlZCBmcmFtZS4KUmVzdWx0cyBhcmUgd3JpdHRlbiB0byBidWZmZXIgKmZy YW1lLXRlc3QqLiAgS0VFUCBub24tbmlsIG1lYW5zCnRvIG5vdCByZXNldCDigJhmcmFtZS10 ZXN0LWVycm9yc+KAmSBhbmQgdG8gcHJlc2VydmUgcHJldmlvdXMKY29udGVudHMgb2YgdGhh dCBidWZmZXIuIgogIChpbnRlcmFjdGl2ZSkKICAod2l0aC1jdXJyZW50LWJ1ZmZlciAoZ2V0 LWJ1ZmZlci1jcmVhdGUgIipmcmFtZS10ZXN0KiIpCiAgICAodW5sZXNzIGtlZXAKICAgICAg KHNldHEgZnJhbWUtdGVzdC1lcnJvcnMgMCkKICAgICAgKGVyYXNlLWJ1ZmZlcikpCiAgICAo aW5zZXJ0ICItLS0tLS0tLS0tIE1lbnUgYmFyIHNldHRpbmdzIC0tLS0tLS0tLS1cbiIpKQog IChsZXQgKGZyYW1lLWluaGliaXQtaW1wbGllZC1yZXNpemUpCiAgICAoZnJhbWUtdGVzdC1t ZW51LWJhci0xKSkKICAoc2l0LWZvciBmcmFtZS10ZXN0LWlubmVyLXRpbWVvdXQpCiAgKGxl dCAoKGZyYW1lLWluaGliaXQtaW1wbGllZC1yZXNpemUgdCkpCiAgICAoZnJhbWUtdGVzdC1t ZW51LWJhci0xKSkKICAobWVzc2FnZSAiTWVudSBiYXIgc2V0dGluZ3MgdGVzdGVkIikpCgoo ZGVmdW4gZnJhbWUtdGVzdC1jaGFyLWhlaWdodC0xICgpCiAgIlRlc3QgY2hhciBoZWlnaHQg c2V0dGluZ3Mgb2Ygc2VsZWN0ZWQgZnJhbWUgc3Vicm91dGluZS4iCiAgKHdpdGgtcGFyYW1l dGVycy1yZXN0b3JlZAogICAnKGZvbnQpCiAgIDs7IGNoYXIgaGVpZ2h0ICoxLjUKICAgKGxl dCogKChvbGQtZnJhbWUtdGV4dC1oZWlnaHQgKGZyYW1lLXRleHQtaGVpZ2h0KSkKCSAgKG9s ZC1mcmFtZS1waXhlbC1oZWlnaHQgKGZyYW1lLXBpeGVsLWhlaWdodCkpCgkgIChvbGQtY2hh ci1oZWlnaHQgKGZyYW1lLWNoYXItaGVpZ2h0KSkKCSAgKGZhY2UtaGVpZ2h0IChmYWNlLWF0 dHJpYnV0ZSAnZGVmYXVsdCA6aGVpZ2h0KSkpCiAgICAgKHNldC1mYWNlLWF0dHJpYnV0ZQog ICAgICAnZGVmYXVsdCAoc2VsZWN0ZWQtZnJhbWUpIDpoZWlnaHQgKHJvdW5kICgqIGZhY2Ut aGVpZ2h0IDEuNSkpKQogICAgIChzaXQtZm9yIGZyYW1lLXRlc3QtaW5uZXItdGltZW91dCkK ICAgICAoaWYgKGZyYW1lLXRlc3QtaW5oaWJpdCAnZm9udCkKCSAoZnJhbWUtdGVzdC1jaGVj awoJICAnY2hhci1oZWlnaHQgMCBvbGQtZnJhbWUtcGl4ZWwtaGVpZ2h0IDAgMAoJICAiY2hh ciBoZWlnaHQgKjEuNSIKCSAgKGZvcm1hdCAiIG9sZCBjaGFyIGhlaWdodCAlcyBuZXcgY2hh ciBoZWlnaHQgJXMiCgkJICBvbGQtY2hhci1oZWlnaHQgKGZyYW1lLWNoYXItaGVpZ2h0KSkp CiAgICAgICAoZnJhbWUtdGVzdC1jaGVjay1mYWNlCglvbGQtY2hhci1oZWlnaHQgKGZyYW1l LWNoYXItaGVpZ2h0KQoJb2xkLWZyYW1lLXRleHQtaGVpZ2h0IChmcmFtZS10ZXh0LWhlaWdo dCkgImNoYXIgaGVpZ2h0ICoxLjUiKSkpCiAgIDs7IGNoYXIgaGVpZ2h0ICowLjUKICAgKGxl dCogKChvbGQtZnJhbWUtdGV4dC1oZWlnaHQgKGZyYW1lLXRleHQtaGVpZ2h0KSkKCSAgKG9s ZC1mcmFtZS1waXhlbC1oZWlnaHQgKGZyYW1lLXBpeGVsLWhlaWdodCkpCgkgIChvbGQtY2hh ci1oZWlnaHQgKGZyYW1lLWNoYXItaGVpZ2h0KSkKCSAgKGZhY2UtaGVpZ2h0IChmYWNlLWF0 dHJpYnV0ZSAnZGVmYXVsdCA6aGVpZ2h0KSkpCiAgICAgKHNldC1mYWNlLWF0dHJpYnV0ZQog ICAgICAnZGVmYXVsdCAoc2VsZWN0ZWQtZnJhbWUpIDpoZWlnaHQgKHJvdW5kICgqIGZhY2Ut aGVpZ2h0IDAuNSkpKQogICAgIChzaXQtZm9yIGZyYW1lLXRlc3QtaW5uZXItdGltZW91dCkK ICAgICAoaWYgKGZyYW1lLXRlc3QtaW5oaWJpdCAnZm9udCkKCSAoZnJhbWUtdGVzdC1jaGVj awoJICAnY2hhci1oZWlnaHQgMCBvbGQtZnJhbWUtcGl4ZWwtaGVpZ2h0IDAgMAoJICAiY2hh ciBoZWlnaHQgKjAuNSIKCSAgKGZvcm1hdCAiIG9sZCBjaGFyIGhlaWdodCAlcyBuZXcgY2hh ciBoZWlnaHQgJXMiCgkJICBvbGQtY2hhci1oZWlnaHQgKGZyYW1lLWNoYXItaGVpZ2h0KSkp CiAgICAgICAoZnJhbWUtdGVzdC1jaGVjay1mYWNlCglvbGQtY2hhci1oZWlnaHQgKGZyYW1l LWNoYXItaGVpZ2h0KQoJb2xkLWZyYW1lLXRleHQtaGVpZ2h0IChmcmFtZS10ZXh0LWhlaWdo dCkgImNoYXIgaGVpZ2h0ICowLjUiKSkpKSkKCihkZWZ1biBmcmFtZS10ZXN0LWNoYXItaGVp Z2h0ICgmb3B0aW9uYWwga2VlcCkKICAiVGVzdCBjaGFyIGhlaWdodCBzZXR0aW5ncyBvZiBz ZWxlY3RlZCBmcmFtZS4KUmVzdWx0cyBhcmUgd3JpdHRlbiB0byBidWZmZXIgKmZyYW1lLXRl c3QqLiAgS0VFUCBub24tbmlsIG1lYW5zCnRvIG5vdCByZXNldCDigJhmcmFtZS10ZXN0LWVy cm9yc+KAmSBhbmQgdG8gcHJlc2VydmUgcHJldmlvdXMKY29udGVudHMgb2YgdGhhdCBidWZm ZXIuIgogIChpbnRlcmFjdGl2ZSkKICAod2l0aC1jdXJyZW50LWJ1ZmZlciAoZ2V0LWJ1ZmZl ci1jcmVhdGUgIipmcmFtZS10ZXN0KiIpCiAgICAodW5sZXNzIGtlZXAKICAgICAgKHNldHEg ZnJhbWUtdGVzdC1lcnJvcnMgMCkKICAgICAgKGVyYXNlLWJ1ZmZlcikpCiAgICAoaW5zZXJ0 ICItLS0tLS0tLS0tIENoYXIgaGVpZ2h0IHNldHRpbmdzIC0tLS0tLS0tLS1cbiIpKQogIChs ZXQgKGZyYW1lLWluaGliaXQtaW1wbGllZC1yZXNpemUpCiAgICAoZnJhbWUtdGVzdC1jaGFy LWhlaWdodC0xKSkKICAoc2l0LWZvciBmcmFtZS10ZXN0LWlubmVyLXRpbWVvdXQpCiAgKGxl dCAoKGZyYW1lLWluaGliaXQtaW1wbGllZC1yZXNpemUgdCkpCiAgICAoZnJhbWUtdGVzdC1j aGFyLWhlaWdodC0xKSkKICAobWVzc2FnZSAiQ2hhciBoZWlnaHQgc2V0dGluZ3MgdGVzdGVk IikpCgooZGVmdW4gZnJhbWUtdGVzdCAoKQogICJUZXN0IHZhcmlvdXMgc2V0dGluZ3Mgb2Yg c2VsZWN0ZWQgZnJhbWUuIgogIChpbnRlcmFjdGl2ZSkKICAoc2V0cSBmcmFtZS10ZXN0LWVy cm9ycyAwKQogIChmcmFtZS10ZXN0LXNpemUgdCkKICAoZnJhbWUtdGVzdC1zY3JvbGwtYmFy cyB0KQogIChmcmFtZS10ZXN0LWZyaW5nZXMgdCkKICAoZnJhbWUtdGVzdC1pbnRlcm5hbC1i b3JkZXJzIHQpCiAgKGZyYW1lLXRlc3Qtd2luZG93LWRpdmlkZXJzIHQpCiAgKGZyYW1lLXRl c3QtdG9vbC1iYXIgdCkKICAoZnJhbWUtdGVzdC1tZW51LWJhciB0KQogIChtZXNzYWdlICJG cmFtZSB0ZXN0ZWQgd2l0aCAlcyBlcnJvcnMiIGZyYW1lLXRlc3QtZXJyb3JzKSkKCjs7OyBm cmFtZS10ZXN0LmVsIGVuZHMgaGVyZS4K --------------020602020100080305020400-- From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 14 11:58:36 2015 Received: (at 21415) by debbugs.gnu.org; 14 Oct 2015 15:58:36 +0000 Received: from localhost ([127.0.0.1]:40457 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmORn-000392-IM for submit@debbugs.gnu.org; Wed, 14 Oct 2015 11:58:35 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:54963) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmORk-00038t-8X for 21415@debbugs.gnu.org; Wed, 14 Oct 2015 11:58:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=xl7W5jhvn0yNwEfxlVL0u+yRLSbRurH9sHRIW1XBlXM=; b=QK4OucancSebHJU4CkaCXGoaiJGU7QCLj7nu/NcqgjGMhUJ9gxqCxHTpLjklRam/F+zQIv8ORbosMotLmHND9CwlH3iM0HhbP8qVV+rADMiEUvbIKYXNEUrWyxSazGvx; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50212 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZmORe-0000Lx-N6; Wed, 14 Oct 2015 11:58:27 -0400 Date: Wed, 14 Oct 2015 08:58:30 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: multipart/mixed; boundary="Multipart_Wed_Oct_14_08:58:28_2015-1" X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org, Anders Lindgren X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --Multipart_Wed_Oct_14_08:58:28_2015-1 Content-Type: text/plain; charset=US-ASCII Attached are the test suite results for each 10/13/2015 build of Emacs -- OSX 10.6.8, and Windows XP. Keith ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; At Wed, 14 Oct 2015 10:49:37 +0200, martin rudalics wrote: > * * * > Can you try the attached test suite? Simply load the attached file and > do M-x frame-test. The transcript can be found in a buffer called > *frame-test*. Please do that for both installations. > > martin > [* frame.test.el] --Multipart_Wed_Oct_14_08:58:28_2015-1 Content-Type: application/txt Content-Disposition: inline; filename="frame_test_osx.txt" Content-Transfer-Encoding: base64 LS0tLS0tLS0tLSBTaXplIHNldHRpbmdzIC0tLS0tLS0tLS0KdGV4dCB3aWR0aCArMTEgY29sdW1u cyBvbGQgZnJhbWUgd2lkdGggNTk1IG5ldyBmcmFtZSB3aWR0aCA2NzIgCnRleHQgaGVpZ2h0IC0z IGxpbmVzIG9sZCBmcmFtZSBoZWlnaHQgNTY0IG5ldyBmcmFtZSBoZWlnaHQgNTE2IAp0ZXh0IHdp ZHRoIC03IGNvbHVtbnMsIHRleHQgaGVpZ2h0ICsyIGxpbmVzIG9sZCBmcmFtZSB3aWR0aCA2NzIg bmV3IGZyYW1lIHdpZHRoIDYyMyAKICB0ZXh0IHdpZHRoIC03IGNvbHVtbnMsIHRleHQgaGVpZ2h0 ICsyIGxpbmVzIG9sZCBmcmFtZSBoZWlnaHQgNTE2IG5ldyBmcmFtZSBoZWlnaHQgNTQ4IAp0ZXh0 IHdpZHRoICsyMyBwaXhlbHMsIHRleHQgaGVpZ2h0IC0xNyBwaXhlbHMgb2xkIGZyYW1lIHdpZHRo IDYyMyBuZXcgZnJhbWUgd2lkdGggNjQ2IAogIHRleHQgd2lkdGggKzIzIHBpeGVscywgdGV4dCBo ZWlnaHQgLTE3IHBpeGVscyBvbGQgZnJhbWUgaGVpZ2h0IDU0OCBuZXcgZnJhbWUgaGVpZ2h0IDUz MSAKLS0tLS0tLS0tLSBTY3JvbGwgYmFyIHNldHRpbmdzIC0tLS0tLS0tLS0KdmVydGljYWwtc2Ny b2xsLWJhcnMgbmlsIG9sZCBmcmFtZSB3aWR0aCA1OTUgbmV3IGZyYW1lIHdpZHRoIDU4MAp2ZXJ0 aWNhbC1zY3JvbGwtYmFycyBsZWZ0IG9sZCBmcmFtZSB3aWR0aCA1ODAgbmV3IGZyYW1lIHdpZHRo IDU5NQp2ZXJ0aWNhbC1zY3JvbGwtYmFycyByaWdodCBvbGQgZnJhbWUgd2lkdGggNTk1IG5ldyBm cmFtZSB3aWR0aCA1OTUKc2Nyb2xsLWJhci13aWR0aCAyNyBvbGQgZnJhbWUgd2lkdGggNTk1IG5l dyBmcmFtZSB3aWR0aCA2MDcKc2Nyb2xsLWJhci13aWR0aCA3IG9sZCBmcmFtZSB3aWR0aCA2MDcg bmV3IGZyYW1lIHdpZHRoIDU4Nwpob3Jpem9udGFsLXNjcm9sbC1iYXJzIHQgb2xkIGZyYW1lIGhl aWdodCA1NjQgbmV3IGZyYW1lIGhlaWdodCA1NjQKc2Nyb2xsLWJhci1oZWlnaHQgMjcgb2xkIGZy YW1lIGhlaWdodCA1NjQgbmV3IGZyYW1lIGhlaWdodCA1NjQKc2Nyb2xsLWJhci1oZWlnaHQgNyBv bGQgZnJhbWUgaGVpZ2h0IDU2NCBuZXcgZnJhbWUgaGVpZ2h0IDU2NApob3Jpem9udGFsLXNjcm9s bC1iYXJzIG5pbCBvbGQgZnJhbWUgaGVpZ2h0IDU2NCBuZXcgZnJhbWUgaGVpZ2h0IDU2NAp2ZXJ0 aWNhbC1zY3JvbGwtYmFycyBuaWwgKGluaGliaXQpIG9sZCBmcmFtZSB3aWR0aCA1OTUgbmV3IGZy YW1lIHdpZHRoIDU5NQp2ZXJ0aWNhbC1zY3JvbGwtYmFycyBsZWZ0IChpbmhpYml0KSBvbGQgZnJh bWUgd2lkdGggNTk1IG5ldyBmcmFtZSB3aWR0aCA1OTUKdmVydGljYWwtc2Nyb2xsLWJhcnMgcmln aHQgKGluaGliaXQpIG9sZCBmcmFtZSB3aWR0aCA1OTUgbmV3IGZyYW1lIHdpZHRoIDU5NQpzY3Jv bGwtYmFyLXdpZHRoIDI3IChpbmhpYml0KSBvbGQgZnJhbWUgd2lkdGggNTk1IG5ldyBmcmFtZSB3 aWR0aCA1OTUKc2Nyb2xsLWJhci13aWR0aCA3IChpbmhpYml0KSBvbGQgZnJhbWUgd2lkdGggNTk1 IG5ldyBmcmFtZSB3aWR0aCA1OTUKaG9yaXpvbnRhbC1zY3JvbGwtYmFycyB0IChpbmhpYml0KSBv bGQgZnJhbWUgaGVpZ2h0IDU2NCBuZXcgZnJhbWUgaGVpZ2h0IDU2NApzY3JvbGwtYmFyLWhlaWdo dCAyNyAoaW5oaWJpdCkgb2xkIGZyYW1lIGhlaWdodCA1NjQgbmV3IGZyYW1lIGhlaWdodCA1NjQK c2Nyb2xsLWJhci1oZWlnaHQgNyAoaW5oaWJpdCkgb2xkIGZyYW1lIGhlaWdodCA1NjQgbmV3IGZy YW1lIGhlaWdodCA1NjQKaG9yaXpvbnRhbC1zY3JvbGwtYmFycyBuaWwgKGluaGliaXQpIG9sZCBm cmFtZSBoZWlnaHQgNTY0IG5ldyBmcmFtZSBoZWlnaHQgNTY0Ci0tLS0tLS0tLS0gRnJpbmdlcyBz ZXR0aW5ncyAtLS0tLS0tLS0tCmxlZnQtZnJpbmdlIDE3IG9sZCBmcmFtZSB3aWR0aCA1OTUgbmV3 IGZyYW1lIHdpZHRoIDYwNApsZWZ0LWZyaW5nZSAwIG9sZCBmcmFtZSB3aWR0aCA2MDQgbmV3IGZy YW1lIHdpZHRoIDU4NwpyaWdodC1mcmluZ2UgMTcgb2xkIGZyYW1lIHdpZHRoIDU4NyBuZXcgZnJh bWUgd2lkdGggNTk2CnJpZ2h0LWZyaW5nZSAwIG9sZCBmcmFtZSB3aWR0aCA1OTYgbmV3IGZyYW1l IHdpZHRoIDU3OQpmcmluZ2VzIDE3IG9sZCBmcmFtZSB3aWR0aCA1NzkgbmV3IGZyYW1lIHdpZHRo IDYxMwpmcmluZ2VzIDAgb2xkIGZyYW1lIHdpZHRoIDYxMyBuZXcgZnJhbWUgd2lkdGggNTc5Cmxl ZnQtZnJpbmdlIDE3IChpbmhpYml0KSBvbGQgZnJhbWUgd2lkdGggNTk1IG5ldyBmcmFtZSB3aWR0 aCA1OTUKbGVmdC1mcmluZ2UgMCAoaW5oaWJpdCkgb2xkIGZyYW1lIHdpZHRoIDU5NSBuZXcgZnJh bWUgd2lkdGggNTk1CnJpZ2h0LWZyaW5nZSAxNyAoaW5oaWJpdCkgb2xkIGZyYW1lIHdpZHRoIDU5 NSBuZXcgZnJhbWUgd2lkdGggNTk1CnJpZ2h0LWZyaW5nZSAwIChpbmhpYml0KSBvbGQgZnJhbWUg d2lkdGggNTk1IG5ldyBmcmFtZSB3aWR0aCA1OTUKZnJpbmdlcyAxNyAoaW5oaWJpdCkgb2xkIGZy YW1lIHdpZHRoIDU5NSBuZXcgZnJhbWUgd2lkdGggNTk1CmZyaW5nZXMgMCAoaW5oaWJpdCkgb2xk IGZyYW1lIHdpZHRoIDU5NSBuZXcgZnJhbWUgd2lkdGggNTk1Ci0tLS0tLS0tLS0gSW50ZXJuYWwg Ym9yZGVyIHNldHRpbmdzIC0tLS0tLS0tLS0KaW50ZXJuYWwtYm9yZGVyLXdpZHRoIDE3IG9sZCBm cmFtZSB3aWR0aCA1OTUgbmV3IGZyYW1lIHdpZHRoIDYyNQogIGludGVybmFsLWJvcmRlci13aWR0 aCAxNyBvbGQgZnJhbWUgaGVpZ2h0IDU2NCBuZXcgZnJhbWUgaGVpZ2h0IDU5NAppbnRlcm5hbC1i b3JkZXItd2lkdGggMyBvbGQgZnJhbWUgd2lkdGggNjI1IG5ldyBmcmFtZSB3aWR0aCA1OTcKICBp bnRlcm5hbC1ib3JkZXItd2lkdGggMyBvbGQgZnJhbWUgaGVpZ2h0IDU5NCBuZXcgZnJhbWUgaGVp Z2h0IDU2NgppbnRlcm5hbC1ib3JkZXItd2lkdGggMTcgKGluaGliaXQpIG9sZCBmcmFtZSB3aWR0 aCA1OTUgbmV3IGZyYW1lIHdpZHRoIDU5NQogIGludGVybmFsLWJvcmRlci13aWR0aCAxNyAoaW5o aWJpdCkgb2xkIGZyYW1lIGhlaWdodCA1NjQgbmV3IGZyYW1lIGhlaWdodCA1NjQKaW50ZXJuYWwt Ym9yZGVyLXdpZHRoIDMgKGluaGliaXQpIG9sZCBmcmFtZSB3aWR0aCA1OTUgbmV3IGZyYW1lIHdp ZHRoIDU5NQogIGludGVybmFsLWJvcmRlci13aWR0aCAzIChpbmhpYml0KSBvbGQgZnJhbWUgaGVp Z2h0IDU2NCBuZXcgZnJhbWUgaGVpZ2h0IDU2NAotLS0tLS0tLS0tIFdpbmRvdyBkaXZpZGVyIHNl dHRpbmdzIC0tLS0tLS0tLS0KcmlnaHQtZGl2aWRlci13aWR0aCA3IG9sZCBmcmFtZSB3aWR0aCA1 OTUgbmV3IGZyYW1lIHdpZHRoIDU5NQpib3R0b20tZGl2aWRlci13aWR0aCAzIG9sZCBmcmFtZSBo ZWlnaHQgNTY0IG5ldyBmcmFtZSBoZWlnaHQgNTY0CnJpZ2h0LWRpdmlkZXItd2lkdGggMCBvbGQg ZnJhbWUgd2lkdGggNTk1IG5ldyBmcmFtZSB3aWR0aCA1OTUKYm90dG9tLWRpdmlkZXItd2lkdGgg MCBvbGQgZnJhbWUgaGVpZ2h0IDU2NCBuZXcgZnJhbWUgaGVpZ2h0IDU2NAotLS0tLS0tLS0tIFRv b2wgYmFyIHNldHRpbmdzIC0tLS0tLS0tLS0KdG9vbCBiYXIgbGluZXMgMCBvbGQgZnJhbWUgd2lk dGggNTk1IG5ldyBmcmFtZSB3aWR0aCA1OTUgCiAgdG9vbCBiYXIgbGluZXMgMCBvbGQgZnJhbWUg aGVpZ2h0IDU4NiBuZXcgZnJhbWUgaGVpZ2h0IDU4NiBETyBOT1QgRElGRkVSIEJZIC0zMiAKdG9v bCBiYXIgbGluZXMgMSBvbGQgZnJhbWUgd2lkdGggNTk1IG5ldyBmcmFtZSB3aWR0aCA1OTUgCiAg dG9vbCBiYXIgbGluZXMgMSBvbGQgZnJhbWUgaGVpZ2h0IDU2NCBuZXcgZnJhbWUgaGVpZ2h0IDU2 NCBETyBOT1QgRElGRkVSIEJZIDMyIAp0b29sIGJhciBsaW5lcyAwIChpbmhpYml0KSBvbGQgZnJh bWUgd2lkdGggNTk1IG5ldyBmcmFtZSB3aWR0aCA1OTUgCiAgdG9vbCBiYXIgbGluZXMgMCAoaW5o aWJpdCkgb2xkIGZyYW1lIGhlaWdodCA1ODYgbmV3IGZyYW1lIGhlaWdodCA1NTQgRElGRkVSIAp0 b29sIGJhciBsaW5lcyAxIChpbmhpYml0KSBvbGQgZnJhbWUgd2lkdGggNTk1IG5ldyBmcmFtZSB3 aWR0aCA1OTUgCiAgdG9vbCBiYXIgbGluZXMgMSAoaW5oaWJpdCkgb2xkIGZyYW1lIGhlaWdodCA1 MzIgbmV3IGZyYW1lIGhlaWdodCA1NjQgRElGRkVSIAotLS0tLS0tLS0tIE1lbnUgYmFyIHNldHRp bmdzIC0tLS0tLS0tLS0KbWVudSBiYXIgbGluZXMgMCBvbGQgZnJhbWUgaGVpZ2h0IDU2NCBuZXcg ZnJhbWUgaGVpZ2h0IDU2NCAKbWVudSBiYXIgbGluZXMgMSBvbGQgZnJhbWUgaGVpZ2h0IDU2NCBu ZXcgZnJhbWUgaGVpZ2h0IDU2NCAKbWVudSBiYXIgbGluZXMgMCAoaW5oaWJpdCkgb2xkIGZyYW1l IGhlaWdodCA1NjQgbmV3IGZyYW1lIGhlaWdodCA1NjQgCm1lbnUgYmFyIGxpbmVzIDEgKGluaGli aXQpIG9sZCBmcmFtZSBoZWlnaHQgNTY0IG5ldyBmcmFtZSBoZWlnaHQgNTY0IAo= --Multipart_Wed_Oct_14_08:58:28_2015-1 Content-Type: application/txt Content-Disposition: inline; filename="frame_test_windowsxp.txt" Content-Transfer-Encoding: base64 LS0tLS0tLS0tLSBTaXplIHNldHRpbmdzIC0tLS0tLS0tLS0NCnRleHQgd2lkdGggKzExIGNvbHVt bnMgb2xkIGZyYW1lIHdpZHRoIDY3MyBuZXcgZnJhbWUgd2lkdGggNzYxIA0KdGV4dCBoZWlnaHQg LTMgbGluZXMgb2xkIGZyYW1lIGhlaWdodCA1OTYgbmV3IGZyYW1lIGhlaWdodCA1NDggDQp0ZXh0 IHdpZHRoIC03IGNvbHVtbnMsIHRleHQgaGVpZ2h0ICsyIGxpbmVzIG9sZCBmcmFtZSB3aWR0aCA3 NjEgbmV3IGZyYW1lIHdpZHRoIDcwNSANCiAgdGV4dCB3aWR0aCAtNyBjb2x1bW5zLCB0ZXh0IGhl aWdodCArMiBsaW5lcyBvbGQgZnJhbWUgaGVpZ2h0IDU0OCBuZXcgZnJhbWUgaGVpZ2h0IDU4MCAN CnRleHQgd2lkdGggKzIzIHBpeGVscywgdGV4dCBoZWlnaHQgLTE3IHBpeGVscyBvbGQgZnJhbWUg d2lkdGggNzA1IG5ldyBmcmFtZSB3aWR0aCA3MjggDQogIHRleHQgd2lkdGggKzIzIHBpeGVscywg dGV4dCBoZWlnaHQgLTE3IHBpeGVscyBvbGQgZnJhbWUgaGVpZ2h0IDU4MCBuZXcgZnJhbWUgaGVp Z2h0IDU2MyANCi0tLS0tLS0tLS0gU2Nyb2xsIGJhciBzZXR0aW5ncyAtLS0tLS0tLS0tDQp2ZXJ0 aWNhbC1zY3JvbGwtYmFycyBuaWwgb2xkIGZyYW1lIHdpZHRoIDY3MyBuZXcgZnJhbWUgd2lkdGgg NjU2DQp2ZXJ0aWNhbC1zY3JvbGwtYmFycyBsZWZ0IG9sZCBmcmFtZSB3aWR0aCA2NTYgbmV3IGZy YW1lIHdpZHRoIDY3Mw0KdmVydGljYWwtc2Nyb2xsLWJhcnMgcmlnaHQgb2xkIGZyYW1lIHdpZHRo IDY3MyBuZXcgZnJhbWUgd2lkdGggNjczDQpzY3JvbGwtYmFyLXdpZHRoIDI3IG9sZCBmcmFtZSB3 aWR0aCA2NzMgbmV3IGZyYW1lIHdpZHRoIDY4Mw0Kc2Nyb2xsLWJhci13aWR0aCA3IG9sZCBmcmFt ZSB3aWR0aCA2ODMgbmV3IGZyYW1lIHdpZHRoIDY2Mw0KaG9yaXpvbnRhbC1zY3JvbGwtYmFycyB0 IG9sZCBmcmFtZSBoZWlnaHQgNTk2IG5ldyBmcmFtZSBoZWlnaHQgNjEzDQpzY3JvbGwtYmFyLWhl aWdodCAyNyBvbGQgZnJhbWUgaGVpZ2h0IDYxMyBuZXcgZnJhbWUgaGVpZ2h0IDYyMw0Kc2Nyb2xs LWJhci1oZWlnaHQgNyBvbGQgZnJhbWUgaGVpZ2h0IDYyMyBuZXcgZnJhbWUgaGVpZ2h0IDYwMw0K aG9yaXpvbnRhbC1zY3JvbGwtYmFycyBuaWwgb2xkIGZyYW1lIGhlaWdodCA2MDMgbmV3IGZyYW1l IGhlaWdodCA1OTYNCnZlcnRpY2FsLXNjcm9sbC1iYXJzIG5pbCAoaW5oaWJpdCkgb2xkIGZyYW1l IHdpZHRoIDY3MyBuZXcgZnJhbWUgd2lkdGggNjczDQp2ZXJ0aWNhbC1zY3JvbGwtYmFycyBsZWZ0 IChpbmhpYml0KSBvbGQgZnJhbWUgd2lkdGggNjczIG5ldyBmcmFtZSB3aWR0aCA2NzMNCnZlcnRp Y2FsLXNjcm9sbC1iYXJzIHJpZ2h0IChpbmhpYml0KSBvbGQgZnJhbWUgd2lkdGggNjczIG5ldyBm cmFtZSB3aWR0aCA2NzMNCnNjcm9sbC1iYXItd2lkdGggMjcgKGluaGliaXQpIG9sZCBmcmFtZSB3 aWR0aCA2NzMgbmV3IGZyYW1lIHdpZHRoIDY3Mw0Kc2Nyb2xsLWJhci13aWR0aCA3IChpbmhpYml0 KSBvbGQgZnJhbWUgd2lkdGggNjczIG5ldyBmcmFtZSB3aWR0aCA2NzMNCmhvcml6b250YWwtc2Ny b2xsLWJhcnMgdCAoaW5oaWJpdCkgb2xkIGZyYW1lIGhlaWdodCA1OTYgbmV3IGZyYW1lIGhlaWdo dCA1OTYNCnNjcm9sbC1iYXItaGVpZ2h0IDI3IChpbmhpYml0KSBvbGQgZnJhbWUgaGVpZ2h0IDU5 NiBuZXcgZnJhbWUgaGVpZ2h0IDU5Ng0Kc2Nyb2xsLWJhci1oZWlnaHQgNyAoaW5oaWJpdCkgb2xk IGZyYW1lIGhlaWdodCA1OTYgbmV3IGZyYW1lIGhlaWdodCA1OTYNCmhvcml6b250YWwtc2Nyb2xs LWJhcnMgbmlsIChpbmhpYml0KSBvbGQgZnJhbWUgaGVpZ2h0IDU5NiBuZXcgZnJhbWUgaGVpZ2h0 IDU5Ng0KLS0tLS0tLS0tLSBGcmluZ2VzIHNldHRpbmdzIC0tLS0tLS0tLS0NCmxlZnQtZnJpbmdl IDE3IG9sZCBmcmFtZSB3aWR0aCA2NzMgbmV3IGZyYW1lIHdpZHRoIDY4Mg0KbGVmdC1mcmluZ2Ug MCBvbGQgZnJhbWUgd2lkdGggNjgyIG5ldyBmcmFtZSB3aWR0aCA2NjUNCnJpZ2h0LWZyaW5nZSAx NyBvbGQgZnJhbWUgd2lkdGggNjY1IG5ldyBmcmFtZSB3aWR0aCA2NzQNCnJpZ2h0LWZyaW5nZSAw IG9sZCBmcmFtZSB3aWR0aCA2NzQgbmV3IGZyYW1lIHdpZHRoIDY1Nw0KZnJpbmdlcyAxNyBvbGQg ZnJhbWUgd2lkdGggNjU3IG5ldyBmcmFtZSB3aWR0aCA2OTENCmZyaW5nZXMgMCBvbGQgZnJhbWUg d2lkdGggNjkxIG5ldyBmcmFtZSB3aWR0aCA2NTcNCmxlZnQtZnJpbmdlIDE3IChpbmhpYml0KSBv bGQgZnJhbWUgd2lkdGggNjczIG5ldyBmcmFtZSB3aWR0aCA2NzMNCmxlZnQtZnJpbmdlIDAgKGlu aGliaXQpIG9sZCBmcmFtZSB3aWR0aCA2NzMgbmV3IGZyYW1lIHdpZHRoIDY3Mw0KcmlnaHQtZnJp bmdlIDE3IChpbmhpYml0KSBvbGQgZnJhbWUgd2lkdGggNjczIG5ldyBmcmFtZSB3aWR0aCA2NzMN CnJpZ2h0LWZyaW5nZSAwIChpbmhpYml0KSBvbGQgZnJhbWUgd2lkdGggNjczIG5ldyBmcmFtZSB3 aWR0aCA2NzMNCmZyaW5nZXMgMTcgKGluaGliaXQpIG9sZCBmcmFtZSB3aWR0aCA2NzMgbmV3IGZy YW1lIHdpZHRoIDY3Mw0KZnJpbmdlcyAwIChpbmhpYml0KSBvbGQgZnJhbWUgd2lkdGggNjczIG5l dyBmcmFtZSB3aWR0aCA2NzMNCi0tLS0tLS0tLS0gSW50ZXJuYWwgYm9yZGVyIHNldHRpbmdzIC0t LS0tLS0tLS0NCmludGVybmFsLWJvcmRlci13aWR0aCAxNyBvbGQgZnJhbWUgd2lkdGggNjczIG5l dyBmcmFtZSB3aWR0aCA3MDcNCiAgaW50ZXJuYWwtYm9yZGVyLXdpZHRoIDE3IG9sZCBmcmFtZSBo ZWlnaHQgNTk2IG5ldyBmcmFtZSBoZWlnaHQgNjMwDQppbnRlcm5hbC1ib3JkZXItd2lkdGggMyBv bGQgZnJhbWUgd2lkdGggNzA3IG5ldyBmcmFtZSB3aWR0aCA2NzkNCiAgaW50ZXJuYWwtYm9yZGVy LXdpZHRoIDMgb2xkIGZyYW1lIGhlaWdodCA2MzAgbmV3IGZyYW1lIGhlaWdodCA2MDINCmludGVy bmFsLWJvcmRlci13aWR0aCAxNyAoaW5oaWJpdCkgb2xkIGZyYW1lIHdpZHRoIDY3MyBuZXcgZnJh bWUgd2lkdGggNjczDQogIGludGVybmFsLWJvcmRlci13aWR0aCAxNyAoaW5oaWJpdCkgb2xkIGZy YW1lIGhlaWdodCA1OTYgbmV3IGZyYW1lIGhlaWdodCA1OTYNCmludGVybmFsLWJvcmRlci13aWR0 aCAzIChpbmhpYml0KSBvbGQgZnJhbWUgd2lkdGggNjczIG5ldyBmcmFtZSB3aWR0aCA2NzMNCiAg aW50ZXJuYWwtYm9yZGVyLXdpZHRoIDMgKGluaGliaXQpIG9sZCBmcmFtZSBoZWlnaHQgNTk2IG5l dyBmcmFtZSBoZWlnaHQgNTk2DQotLS0tLS0tLS0tIFdpbmRvdyBkaXZpZGVyIHNldHRpbmdzIC0t LS0tLS0tLS0NCnJpZ2h0LWRpdmlkZXItd2lkdGggNyBvbGQgZnJhbWUgd2lkdGggNjczIG5ldyBm cmFtZSB3aWR0aCA2NzMNCmJvdHRvbS1kaXZpZGVyLXdpZHRoIDMgb2xkIGZyYW1lIGhlaWdodCA1 OTYgbmV3IGZyYW1lIGhlaWdodCA1OTYNCnJpZ2h0LWRpdmlkZXItd2lkdGggMCBvbGQgZnJhbWUg d2lkdGggNjczIG5ldyBmcmFtZSB3aWR0aCA2NzMNCmJvdHRvbS1kaXZpZGVyLXdpZHRoIDAgb2xk IGZyYW1lIGhlaWdodCA1OTYgbmV3IGZyYW1lIGhlaWdodCA1OTYNCi0tLS0tLS0tLS0gVG9vbCBi YXIgc2V0dGluZ3MgLS0tLS0tLS0tLQ0KdG9vbCBiYXIgbGluZXMgMCBvbGQgZnJhbWUgd2lkdGgg NjczIG5ldyBmcmFtZSB3aWR0aCA2NzMgDQogIHRvb2wgYmFyIGxpbmVzIDAgb2xkIGZyYW1lIGhl aWdodCA1OTYgbmV3IGZyYW1lIGhlaWdodCA1NjAgDQp0b29sIGJhciBsaW5lcyAxIG9sZCBmcmFt ZSB3aWR0aCA2NzMgbmV3IGZyYW1lIHdpZHRoIDY3MyANCiAgdG9vbCBiYXIgbGluZXMgMSBvbGQg ZnJhbWUgaGVpZ2h0IDU2MCBuZXcgZnJhbWUgaGVpZ2h0IDU5NiANCnRvb2wgYmFyIGxpbmVzIDAg KGluaGliaXQpIG9sZCBmcmFtZSB3aWR0aCA2NzMgbmV3IGZyYW1lIHdpZHRoIDY3MyANCiAgdG9v bCBiYXIgbGluZXMgMCAoaW5oaWJpdCkgb2xkIGZyYW1lIGhlaWdodCA1OTYgbmV3IGZyYW1lIGhl aWdodCA1OTYgDQp0b29sIGJhciBsaW5lcyAxIChpbmhpYml0KSBvbGQgZnJhbWUgd2lkdGggNjcz IG5ldyBmcmFtZSB3aWR0aCA2NzMgDQogIHRvb2wgYmFyIGxpbmVzIDEgKGluaGliaXQpIG9sZCBm cmFtZSBoZWlnaHQgNTk2IG5ldyBmcmFtZSBoZWlnaHQgNTk2IA0KLS0tLS0tLS0tLSBNZW51IGJh ciBzZXR0aW5ncyAtLS0tLS0tLS0tDQptZW51IGJhciBsaW5lcyAwIG9sZCBmcmFtZSBoZWlnaHQg NjUwIG5ldyBmcmFtZSBoZWlnaHQgNjMwIA0KbWVudSBiYXIgbGluZXMgMSBvbGQgZnJhbWUgaGVp Z2h0IDYzMCBuZXcgZnJhbWUgaGVpZ2h0IDY1MCANCm1lbnUgYmFyIGxpbmVzIDAgKGluaGliaXQp IG9sZCBmcmFtZSBoZWlnaHQgNjUwIG5ldyBmcmFtZSBoZWlnaHQgNjUwIA0KbWVudSBiYXIgbGlu ZXMgMSAoaW5oaWJpdCkgb2xkIGZyYW1lIGhlaWdodCA2NTAgbmV3IGZyYW1lIGhlaWdodCA2NTAg DQo= --Multipart_Wed_Oct_14_08:58:28_2015-1-- From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 14 13:37:42 2015 Received: (at 21415) by debbugs.gnu.org; 14 Oct 2015 17:37:42 +0000 Received: from localhost ([127.0.0.1]:51075 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmPzi-0001aI-9u for submit@debbugs.gnu.org; Wed, 14 Oct 2015 13:37:42 -0400 Received: from mout.gmx.net ([212.227.15.15]:52227) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmPzg-0001a9-ME for 21415@debbugs.gnu.org; Wed, 14 Oct 2015 13:37:41 -0400 Received: from [178.191.139.94] ([178.191.139.94]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0Lmb2Z-1aLCZx1yEt-00aCM1; Wed, 14 Oct 2015 19:37:34 +0200 Message-ID: <561E92D8.1050500@gmx.at> Date: Wed, 14 Oct 2015 19:37:28 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:ov14UEV+4o4+aMcyWGNPOl5j8jY1I5QpiK8sSsT9rA0RKWJZI7n k2gXQAPBLzGSnoDbAZEmD8w71Tdux58vd2Hv6Ps0WGo+QBkL1r+RX2GNjTh9ZINIK6DkTKb az58KO++mtelo0FA16zUjeWUV4wOWkEMlVBPaU5q6ChDdbYSk6q3AQdZtMRWkzktDNOkrqA reJ2MwB/IK07HF5gX0rgA== X-UI-Out-Filterresults: notjunk:1;V01:K0:aUcBQmRnCxE=:UWXJduDa5cD4S5+TJ7rK/R 9sdsxSl5kYek16coaUwFWy/wRBnuET5fuj7Rl0QVTBtCIxn8TyLahYiy9F3uQ9uvWZuiVV1Ap qAL7XX+fhXxaix/K9RR5G59LZJu9uuUDTlN9OGahCRb1BTAacRpS/hIdUVi2QmRyRyBk8gnSq vsO/xuAKS93eNoGKlEpdPLZGpEHjdesW9p3aHeFeDt3HAVSIIr+bjEirvYN00eX1mDWK/n3XJ KaEjPs5GLNqN6quYHAB/uTbn9HEgEpqgzbpfV/NfnAQf3r/+33zoNbS4HBhcIbdk4b5xwJhY3 zkSsUjmUVnwzet5k0OMrYpM8ZMsLIMqKnL0m+E7zu57uZ5LpEUNua+MEsQGDc8kZyWsJ0Psds a8/eYnxLqTsZlAUtxUBLisHujA3daJsQhhI1kgdivi3y/gHs04Cp6MK7a4JrVZ9eGQX/ABl0i 3Dx8X+M7Wm1PilXcWwkealV8hDdPIJYZCWqcWEm+9dgjkO5NASY4U1OAGyWlm32LQvpSGUcdm PThgyM1rTEZmJCMPJFyPrs9+K7b0NU2bceNNgqQElF6/CtyQBoB+Mpb+RTYiLe9zP8f+7dVKb b5rRe9PVdqsN2EAmBm2AuIuE6JhLAS3xq8rj31SoFPd2yIJ2ifwxNUEHcvAYDjPrnbgsmxdIZ KUADw+x0UizQMzYeSez0YULRBhEqLj1iodxbpZObjNIfZFoFdVghd9tT35GR4ui3X66gMnq6d C42sV29sT72VKNupOJ/85qbQSvJobCH2atYiVZvGejfL7gXeVrvEYfS+1BnYH7hbZDfU2AQrL jc9agBX X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org, Anders Lindgren X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Attached are the test suite results for each 10/13/2015 build of Emacs -- OSX 10.6.8, and Windows XP. Thanks. Apparently toggling the tool bar on OSX is still causing problems. Can you please, on OSX, do the following with emacs -Q: (1) Toggle the tool bar off. Does the overall frame height shrink or stay the same? (2) Toggle the tool bar on again. Does the overall frame height increase or stay the same? (3) Evaluate (setq frame-inhibit-implied-resize t) and repeat steps (1) and (2). Thanks, martin From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 14 16:34:45 2015 Received: (at 21415) by debbugs.gnu.org; 14 Oct 2015 20:34:45 +0000 Received: from localhost ([127.0.0.1]:51185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmSl3-0006SO-F3 for submit@debbugs.gnu.org; Wed, 14 Oct 2015 16:34:45 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:43398) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmSl2-0006SH-4n for 21415@debbugs.gnu.org; Wed, 14 Oct 2015 16:34:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=mRBxGg2LeHn3Cmc+nR+WCsvXC0JQzrPRq5CBpUhX7bw=; b=4UtPcwgZGZdGn4yeNVENFY0JA8oMegTYxtoJPgBKPi9APZN5EKh9JtZVEh4Fj+h4Fi5jRGUkmAw2Hd0Hc+4CTMetQNc6tyQwe00q+p59jFcoP88Xv86QY/e8Beqyex6P; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:53192 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZmSky-0000lx-Rh; Wed, 14 Oct 2015 16:34:41 -0400 Date: Wed, 14 Oct 2015 13:34:41 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org, Anders Lindgren X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) (1) Toggle the tool bar off. Does the overall frame height shrink or stay the same? A: Starting from Emacs -Q. Using the mouse to toggle the toolbar off, the height of the frame shrinks -- i.e., top and left remain the same, and the bottom shrinks upward about one-half the height of the toolbar that disappears. The minibuffer / echo area increases in size to about 3 lines of text, with just one line of text that reads: "menu-bar options showhide showhide-tool-bar". (2) Toggle the tool bar on again. Does the overall frame height increase or stay the same? A: The frame height quickly shrinks and expands, but ultimately remains the same size -- i.e., slightly less than when Emacs -Q first began its GUI session. (3) Evaluate (setq frame-inhibit-implied-resize t) and repeat steps (1) and (2). A: Starting again from Emacs -Q. Evaluate `(setq frame-inhibit-implied-resize t)`. Step 1 looks the same as previously reported. Step 2 looks the same as previously reported. I did not see any visual difference between this test and prior test mentioned above. Keith From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 14 17:53:23 2015 Received: (at 21415) by debbugs.gnu.org; 14 Oct 2015 21:53:24 +0000 Received: from localhost ([127.0.0.1]:51212 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmTz9-0001NU-5d for submit@debbugs.gnu.org; Wed, 14 Oct 2015 17:53:23 -0400 Received: from mail-vk0-f47.google.com ([209.85.213.47]:35264) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmTz7-0001NM-AB for 21415@debbugs.gnu.org; Wed, 14 Oct 2015 17:53:21 -0400 Received: by vkha6 with SMTP id a6so38397827vkh.2 for <21415@debbugs.gnu.org>; Wed, 14 Oct 2015 14:53:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=y0iasmbikBhAFZqfU0KdMT/wVRuaL8gWNZj7XRMIzGE=; b=H2W4zKMLOyIGu4qxktGTX5D1WPKrJ8ZIQy5qLei26ZexHcJTRB9TQpESu6TrUhyIQu IWOmLvrsLKXnbz8zovXGA+0xBp/Cg0InMMT3IglndFTF+ApZAnP1F3OKxlNkpslyzz4a oABzmP6GH+MYerfubgn7jo4J1Y9EwFeD0mgmhRmNb8g0GcEhtd4TT+4DT4wDNP+eMd9G ld7vhKXgiTILaqDdmNB4W1BFJgPWI5nKK+fch+Xx93VJkSgw2dOr6B7nluf/ZwmjKfDW SpOdEMJQaA0UgN/IDD82dzeh9bBT8/4gvBV9rKtyegBbp5gJJUKnkcS7kyFpP1coiLK5 SYkg== MIME-Version: 1.0 X-Received: by 10.31.179.83 with SMTP id c80mr3284852vkf.68.1444859600512; Wed, 14 Oct 2015 14:53:20 -0700 (PDT) Received: by 10.31.139.21 with HTTP; Wed, 14 Oct 2015 14:53:20 -0700 (PDT) In-Reply-To: <561E92D8.1050500@gmx.at> References: <561E92D8.1050500@gmx.at> Date: Wed, 14 Oct 2015 23:53:20 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a11436a9e3d3288052217972c X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a11436a9e3d3288052217972c Content-Type: text/plain; charset=UTF-8 Martin, I've got a quick question. I noticed that the OS X port behaves a bit inconsistent when it comes to restricting a frame to the screen -- sometimes it is restricted in height, sometimes it's not. I would like to make this more consistent, but I'm not sure in which direction I should go. How does the other terms (especially X11) behave? Does it restrict the frame to be within the screen? If so, does it allow for the frame border to be placed outside the screen? What happens if the frame is first resized and then moved. Should the resize truncate the height, even though the move would place the entire frame inside the screen borders? Can a move and a resize be made atomically (pixelwise)? Personally, I'd prefer it there is no truncation. However, if it is, I really would like to be able to allow the frame border to stretch outside the screen, in order to really maximize the screen real estate. / Anders On Wed, Oct 14, 2015 at 7:37 PM, martin rudalics wrote: > > Attached are the test suite results for each 10/13/2015 build of Emacs > -- OSX 10.6.8, and Windows XP. > > Thanks. Apparently toggling the tool bar on OSX is still causing > problems. Can you please, on OSX, do the following with emacs -Q: > > (1) Toggle the tool bar off. Does the overall frame height shrink or > stay the same? > > (2) Toggle the tool bar on again. Does the overall frame height > increase or stay the same? > > (3) Evaluate (setq frame-inhibit-implied-resize t) and repeat steps (1) > and (2). > > Thanks, martin > --001a11436a9e3d3288052217972c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Martin,

I've got a quick question. = I noticed that the OS X port behaves a bit inconsistent when it comes to re= stricting a frame to the screen -- sometimes it is restricted in height, so= metimes it's not. I would like to make this more consistent, but I'= m not sure in which direction I should go.

How doe= s the other terms (especially X11) behave? Does it restrict the frame to be= within the screen? If so, does it allow for the frame border to be placed = outside the screen?

What happens if the frame is f= irst resized and then moved. Should the resize truncate the height, even th= ough the move would place the entire frame inside the screen borders? Can a= move and a resize be made atomically (pixelwise)?

Personally, I'd prefer it there is no truncation. However, if it is, I= really would like to be able to allow the frame border to stretch outside = the screen, in order to really maximize the screen real estate.
<= br>
/ Anders



On Wed, Oct 14, 2015 at 7:3= 7 PM, martin rudalics <rudalics@gmx.at> wrote:
> Attached are the test suite result= s for each 10/13/2015 build of Emacs -- OSX 10.6.8, and Windows XP.

Thanks.=C2=A0 Apparently toggling the tool bar on OSX is still causing
problems.=C2=A0 Can you please, on OSX, do the following with emacs -Q:

(1) Toggle the tool bar off.=C2=A0 Does the overall frame height shrink or<= br> =C2=A0 =C2=A0 stay the same?

(2) Toggle the tool bar on again.=C2=A0 Does the overall frame height
=C2=A0 =C2=A0 increase or stay the same?

(3) Evaluate (setq frame-inhibit-implied-resize t) and repeat steps (1)
=C2=A0 =C2=A0 and (2).

Thanks, martin

--001a11436a9e3d3288052217972c-- From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 15 06:00:00 2015 Received: (at 21415) by debbugs.gnu.org; 15 Oct 2015 10:00:00 +0000 Received: from localhost ([127.0.0.1]:51520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmfKJ-0001X1-OI for submit@debbugs.gnu.org; Thu, 15 Oct 2015 06:00:00 -0400 Received: from mout.gmx.net ([212.227.15.15]:52958) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmfKH-0001Ws-D5 for 21415@debbugs.gnu.org; Thu, 15 Oct 2015 05:59:58 -0400 Received: from [62.46.213.172] ([62.46.213.172]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0LiTF6-1aIhHz1B9w-00cdvF; Thu, 15 Oct 2015 11:59:55 +0200 Message-ID: <561F7915.8040502@gmx.at> Date: Thu, 15 Oct 2015 11:59:49 +0200 From: martin rudalics MIME-Version: 1.0 To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:VOryCqX1H6QI7PZg3aMxfyYc8Mz52dehqx3vudXgo9leaUwGKYH TwRvVK/biiUgBeTOcyuQ1uNV0Zzqn/h+1tCbasagXvbaW3bR2zt/v6gGWc1s/CmuyKVZGBj KVIvxL3mpTXXD291SDSPpcNO6n3kRdY9LdTDLoJCjS9OCa8q0B67DpoSXttyB55T05gxKvE E8KvD6j1OyRK3ao4s3Jzw== X-UI-Out-Filterresults: notjunk:1;V01:K0:lo7+EhMv6GM=:G0a3IYpNNrnBhfg+0FqgBC duKQwqE0Dwk2C6JNRLEN0ai/tFeaSGZBpLEa65kX+atJ2WKwuJ8B4Ob7H3VfqikcUV7PC6ifv Z+vQnJDn5S4YfsSale8SNpNRIJK2Z0GYXymowOPorfsCSddN80Ft3w7q0iy53DZ8pMGIXeOiF /gD2aLM8CPpM467cCEQCMC830JA40Qei9nPsczeRXP6cqTu+FZa+s7niHl96/j6kssvCbJu0K LuEdlIg1UNbPYhX5rbtgmZjVnhhk9pc5/MVPU1hKTqs1tSIeR8CaI8Ns++kcksW/rgdlfEdSn UAQgsU0mHBN7F8m7wVnzWkH7tttm4R5DrHBWX8UxPIxjtN0vJTsDNFKFJNRebWt6YhhYgcHwY F/WBt/a5p9D8QGjkwJe1uMQk1Gn0XaAXS2sVW475CGYaiwTg9jdWgvZ+uIa51Nag/JnNX4YzQ 7tjvBrbQJlATs/msM02zNdxf1uyJteZNeNp1oraAf+NOELpYU4IvXAlTOdkKg+WwQm8TQ6JiF 92ou5YckmD+gCI69SA8VJmjmNcWTgGdc10eejn8TG4+AcbKDNywJ7pflqosha924Ejh+t06fI Y0xD9GWVWMONvmjFSP3EKkgDamVY88+gmG/xcCPtTm5NdB0tRuJgiUS1tPe8F1zVYae+NiSSt LLTJIeh0pEo4xfMvEmhW2enOpPRsuZjqGhkGmWCVWGRWzW8cqyAX35b0JHt+Kx+j28LPxNLmE Y+VdlyvBvNFBo4r4bpgIRNAssriuK7zdHTCf6Lk7uH+G2ETX53PPfD2H89Liux55+XpNuT79G 5pJ82Lc X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org, Anders Lindgren X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) I add a few observations from the GNUstep perspective. This build is inherently broken (emacs -Q starts out with _two_ identical tool bars) but gets me similar results. Anders what do you get when you repeat Keith's experiment? Only steps (1) and (2) make sense currently. > (1) Toggle the tool bar off. Does the overall frame height shrink or = stay the same? > > A: Starting from Emacs -Q. Using the mouse to toggle the toolbar off,= > the height of the frame shrinks -- i.e., top and left remain the same,= > and the bottom shrinks upward about one-half the height of the toolbar= > that disappears. The minibuffer / echo area increases in size to > about 3 lines of text, with just one line of text that reads: > "menu-bar options showhide showhide-tool-bar". This is more or less what happens here as well but worked previously. IIUC it's due to Jan's change below: diff --git a/src/ChangeLog b/src/ChangeLog index 69da1c3..861ba91 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2015-01-06 Jan Dj=E4rv + + * nsterm.m (x_set_window_size): Call updateFrameSize to get real + size instead of using widht/height. The frame may be constrained. + 2015-01-05 Paul Eggert * lisp.h (XSYMBOL): Parenthesize id in forward decl. diff --git a/src/nsterm.m b/src/nsterm.m index 2ccb7fe..bf3192b 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -1404,15 +1404,8 @@ x_set_window_size (struct frame *f, [view setBoundsOrigin: origin]; } - change_frame_size (f, width, height, 0, 1, 0, pixelwise); -/* SET_FRAME_GARBAGED (f); // this short-circuits expose call in drawRe= ct */ - - mark_window_cursors_off (XWINDOW (f->root_window)); - cancel_mouse_face (f); - + [view updateFrameSize: NO]; unblock_input (); - - do_pending_window_change (0); } Restoring the change_frame_size call fixes the problem here. > (2) Toggle the tool bar on again. Does the overall frame height incre= ase or stay the same? > > A: The frame height quickly shrinks and expands, but ultimately > remains the same size -- i.e., slightly less than when Emacs -Q first > began its GUI session. More or less same here. I tried with earlier builds and all show the same behavior: Toggling the tool bar on and off repeatedly has the frame height ultimately shrink. > (3) Evaluate (setq frame-inhibit-implied-resize t) and repeat steps (1= ) and (2). > > A: Starting again from Emacs -Q. Evaluate `(setq > frame-inhibit-implied-resize t)`. Step 1 looks the same as previously= > reported. Step 2 looks the same as previously reported. I did not > see any visual difference between this test and prior test mentioned > above. I'll try to fix this. But we must fix (1) first, then (2) ... Thanks, martin From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 15 06:00:47 2015 Received: (at 21415) by debbugs.gnu.org; 15 Oct 2015 10:00:47 +0000 Received: from localhost ([127.0.0.1]:51524 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmfL4-0001Zc-He for submit@debbugs.gnu.org; Thu, 15 Oct 2015 06:00:46 -0400 Received: from mout.gmx.net ([212.227.15.19]:49447) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmfL2-0001ZT-0l for 21415@debbugs.gnu.org; Thu, 15 Oct 2015 06:00:44 -0400 Received: from [62.46.213.172] ([62.46.213.172]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0MgL1q-1Zy8S61ZzC-00Njn7; Thu, 15 Oct 2015 12:00:40 +0200 Message-ID: <561F7943.9090309@gmx.at> Date: Thu, 15 Oct 2015 12:00:35 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:TMoDDOph2LxuyP0v0VuHWszUeWRWDcH/5RWBVeiMB+/NqmgKs2t sfyNt7BEH9CsWiMlfjuoEHQWu5nDVEO4ktr812HX1DU1kX59uyvzBOOdTeURpEsSvoVPm70 ybA/W2ocIYv3spxT5ZC8b7oNl+An+E7kAw0fxIRd7A5QqGT5BbdEzZwcXOLXRN2Y+0KRiAL Yvz1SoyGcwX5Ln02cNtDQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:HsT4baLNy/w=:/V7kZeQnNP1atpSb/dDFZ5 5FVB1lmcfOMYWGeJrxk9bZONd/DC3nWmZCh5+/+rvcxiXsO9KudEraUuln7hlHgrjYsgD30Yu atWZcS/TfRSiN6fD/ShihnBOXQPlUiW0LxajE/BfdyMz9ssV3LadQNswFc4bVy6zxGCE0DtTt 8BKDw+l7n5uuLUJucZFV++u4S9DgD9qCeKXovc360MnGR2cunB4eGZI5zJ4/9W1TsosVGlKXk NLTPWyw1LewWcT2jnTdGCHu+rhJmSl581/ekNtojeCrOpzyagnTWZqoGD7AqtJ5X0gBk5m7s5 vMNJqKXG2L4aMJApdZiXDGrOjo/zuhQcKYEHeoRwxzYqQB4K0zZc+taAj1oYWkBLN+J55up2u CEvVgGym3aAqnBLaaafAdkHLU79JNzv1KIIJ21LawLTlBlKDJthqYJKVRW3sMjA5/yw6grIZf zlhwNTgNXd6/uzZgxj7SX+e8p6jxfTlRF0VLaD11wNmRPXUTwIEkj35+5OURQfXDgP052Sgta Ofyb4YCsGNn1SE6ADQa2xPP4WiMpy4eI56+NiAzJAu8ZXYpsHpyo+RbA9un0m4IEAFjWOLoRY OvAxtlz0maTvz2szVhnSzehVWPAJZUUVggN35AF2TwkgFyWCIDZsClIU0/BFeC99yZ0Coc9On WohO8gWB3qcP0mvuYiMHCz3RODURlhPSHYlUc7Yf3EGCCOjGsa/2p+YJqCFrjJLzfaR1QtvXW 5YW6Tt8/5LY+RP3HB7w55PfMtGRGKLR0z+WtqcSoF+43vVd2ecu/JogV+qBhV3xyUUSFxk77D I8D2Gmc X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I've got a quick question. I noticed that the OS X port behaves a bit > inconsistent when it comes to restricting a frame to the screen -- > sometimes it is restricted in height, sometimes it's not. I would like to > make this more consistent, but I'm not sure in which direction I should go. > > How does the other terms (especially X11) behave? Does it restrict the > frame to be within the screen? If so, does it allow for the frame border to > be placed outside the screen? I suppose nobody can answer this question satisfactorily. IMO good "systems" allow the frame to be placed anywhere. And I usually have troubles only with window managers constraining placement. > What happens if the frame is first resized and then moved. Should the > resize truncate the height, even though the move would place the entire > frame inside the screen borders? Can a move and a resize be made atomically > (pixelwise)? For Emacs moving means to pass on coordinates to whoever is responsible. And Emacs itself never constrains the frame size (it must not get too small, though). > Personally, I'd prefer it there is no truncation. However, if it is, I > really would like to be able to allow the frame border to stretch outside > the screen, in order to really maximize the screen real estate. That's what most systems do AFAICT. So if you can do that please go on. martin From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 20 13:20:58 2015 Received: (at 21415) by debbugs.gnu.org; 20 Oct 2015 17:20:58 +0000 Received: from localhost ([127.0.0.1]:58333 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zoaan-00005a-MG for submit@debbugs.gnu.org; Tue, 20 Oct 2015 13:20:57 -0400 Received: from mail-vk0-f43.google.com ([209.85.213.43]:36342) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zoaal-00005S-EF for 21415@debbugs.gnu.org; Tue, 20 Oct 2015 13:20:55 -0400 Received: by vkex70 with SMTP id x70so14129212vke.3 for <21415@debbugs.gnu.org>; Tue, 20 Oct 2015 10:20:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=GlweiCTlsX881mgNcgosTLP8Xbyf08RGBkhTqJBDbKw=; b=u3W9NUirtCulDC7f5Q2u6adAivFNPH/vW/uMYhJfL7UX1kBXfJeonT0/otUnFMgoii LDPBs1nmviINtSWj0p5SPOnUAIDCAE+Xv8VRr+/LPs+0GvdbNmZMA8lyBEcFXI/9WNDV Av/qp6ajZ6derPEFjjdS5orNnahCqEddEcx/XYMGxHvZ0AmXBvpoSWMYRmxZQnVl5FuP leY4QViGAYtTjQxAnbAyskOCU167TBIghUsliR5HJYIylXKAQRAn0FGVD1hokS5eX8W2 muQ1oRPZ4Z7JJF2FXDem8j8QMh2hACX0P1oBVUiATltAlNtu2HY8xTC3wXArfSPCQ+hJ kl/w== MIME-Version: 1.0 X-Received: by 10.31.128.19 with SMTP id b19mr2910064vkd.70.1445361654874; Tue, 20 Oct 2015 10:20:54 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Tue, 20 Oct 2015 10:20:54 -0700 (PDT) In-Reply-To: <561F7943.9090309@gmx.at> References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> Date: Tue, 20 Oct 2015 19:20:54 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/mixed; boundary=001a11429d4c037d6705228c7c84 X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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" --001a11429d4c037d6705228c7c84 Content-Type: multipart/alternative; boundary=001a11429d4c037d6205228c7c82 --001a11429d4c037d6205228c7c82 Content-Type: text/plain; charset=UTF-8 Ok, here comes a patch file for the "maximize" and "NSTRACE" rewrites, see the file "emacs-commit-message.txt" for details. I would like you (especially Keith, since Martin don't use OS X) to take a look at it before I post in on emacs-devel and (unless people object) I commit it. The rewrite became a bit larger than I originally expected since I realised that the system to snap the frame size to the text grid was fundamentally broken. It used a features called "SetResizeIncrements", where the increments were set to the size of the current font. Unfortunately, once the frame size got out of sync (e.g. by setting the frame size to a specific pixel value) it remained out of sync. In addition, it interfered with the maximization system. The current implementation snaps the frame size to the text grid in a callback function. The patch below contains excluded code to maximize the frame the old way using the system "zoom" function, and an excluded code section for a hybrid maximize solution. Also, the code to restrict a frame to the screen height is still present but excluded. Before I commit this to the archive I will remove the excluded code, unless someone thinks that its worth while to allow the user to configure this. You can enable the NSTRACE system by uncommenting a line in nsterm.h, see comments for detail. In addition, I have included my own test file for frame maximization I wrote to ensure that I didn't introduce any problems. Martin, if there are anything in this you can use for your frame test file, feel free to use it. Sincerely, Anders Lindgren On Thu, Oct 15, 2015 at 12:00 PM, martin rudalics wrote: > > I've got a quick question. I noticed that the OS X port behaves a bit > > inconsistent when it comes to restricting a frame to the screen -- > > sometimes it is restricted in height, sometimes it's not. I would like to > > make this more consistent, but I'm not sure in which direction I should > go. > > > > How does the other terms (especially X11) behave? Does it restrict the > > frame to be within the screen? If so, does it allow for the frame border > to > > be placed outside the screen? > > I suppose nobody can answer this question satisfactorily. IMO good > "systems" allow the frame to be placed anywhere. And I usually have > troubles only with window managers constraining placement. > > > What happens if the frame is first resized and then moved. Should the > > resize truncate the height, even though the move would place the entire > > frame inside the screen borders? Can a move and a resize be made > atomically > > (pixelwise)? > > For Emacs moving means to pass on coordinates to whoever is responsible. > And Emacs itself never constrains the frame size (it must not get too > small, though). > > > Personally, I'd prefer it there is no truncation. However, if it is, I > > really would like to be able to allow the frame border to stretch outside > > the screen, in order to really maximize the screen real estate. > > That's what most systems do AFAICT. So if you can do that please go on. > > martin > --001a11429d4c037d6205228c7c82 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Ok, here comes a patch file for the "maximize" a= nd "NSTRACE" rewrites, see the file "emacs-commit-message.tx= t" for details. I would like you (especially Keith, since Martin don&#= 39;t use OS X) to take a look at it before I post in on emacs-devel and (un= less people object) I commit it.

The rewrite became a bi= t larger than I originally expected since I realised that the system to sna= p the frame size to the text grid was fundamentally broken. It used a featu= res called "SetResizeIncrements", where the increments were set t= o the size of the current font. Unfortunately, once the frame size got out = of sync (e.g. by setting the frame size to a specific pixel value) it remai= ned out of sync. In addition, it interfered with the maximization system.

The current implementation snaps the frame size to = the text grid in a callback function.

The patch be= low contains excluded code to maximize the frame the old way using the syst= em "zoom" function, and an excluded code section for a hybrid max= imize solution. Also, the code to restrict a frame to the screen height is = still present but excluded. Before I commit this to the archive I will remo= ve the excluded code, unless someone thinks that its worth while to allow t= he user to configure this.

You can enable the NSTR= ACE system by uncommenting a line in nsterm.h, see comments for detail.

In addition, I have included my own test file for fra= me maximization I wrote to ensure that I didn't introduce any problems.= Martin, if there are anything in this you can use for your frame test file= , feel free to use it.

Sincerely,
=C2=A0= =C2=A0 Anders Lindgren


On Thu, Oct 15, 2015 at 12:00 PM, martin r= udalics <rudalics@gmx.at> wrote:
> I've got a quick question. I noticed that th= e OS X port behaves a bit
> inconsistent when it comes to restricting a frame to the screen --
> sometimes it is restricted in height, sometimes it's not. I would = like to
> make this more consistent, but I'm not sure in which direction I s= hould go.
>
> How does the other terms (especially X11) behave? Does it restrict the=
> frame to be within the screen? If so, does it allow for the frame bord= er to
> be placed outside the screen?

I suppose nobody can answer this question satisfactorily.=C2=A0 IMO good "systems" allow the frame to be placed anywhere.=C2=A0 And I usua= lly have
troubles only with window managers constraining placement.=

> What happens if the frame is first resized and then moved. Should the<= br> > resize truncate the height, even though the move would place the entir= e
> frame inside the screen borders? Can a move and a resize be made atomi= cally
> (pixelwise)?

For Emacs moving means to pass on coordinates to whoever is responsible. And Emacs itself never constrains the frame size (it must not get too
small, though).

> Personally, I'd prefer it there is no truncation. However, if it i= s, I
> really would like to be able to allow the frame border to stretch outs= ide
> the screen, in order to really maximize the screen real estate.

That's what most systems do AFAICT.=C2=A0 So if you can do that please = go on.

martin

--001a11429d4c037d6205228c7c82-- --001a11429d4c037d6705228c7c84 Content-Type: text/plain; charset=US-ASCII; name="maximize_and_trace.diff" Content-Disposition: attachment; filename="maximize_and_trace.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ifzmrxb40 ZGlmZiAtLWdpdCBhL3NyYy9uc2Zucy5tIGIvc3JjL25zZm5zLm0KaW5kZXggNDMwMDJjYS4uMWVk M2UyMyAxMDA2NDQKLS0tIGEvc3JjL25zZm5zLm0KKysrIGIvc3JjL25zZm5zLm0KQEAgLTQ5LDEz ICs0OSw2IEBAIEdOVXN0ZXAgcG9ydCBhbmQgcG9zdC0yMCB1cGRhdGUgYnkgQWRyaWFuIFJvYmVy dCAoYXJvYmVydEBjb2dzY2kudWNzZC5lZHUpCiAjaW5jbHVkZSAibWFjZm9udC5oIgogI2VuZGlm CiAKLSNpZiAwCi1pbnQgZm5zX3RyYWNlX251bSA9IDE7Ci0jZGVmaW5lIE5TVFJBQ0UoeCkgICAg ICAgIGZwcmludGYgKHN0ZGVyciwgIiVzOiVkOiBbJWRdICIgI3ggIlxuIiwgICAgICAgIFwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0ZJTEVfXywgX19MSU5FX18sICsrZm5z X3RyYWNlX251bSkKLSNlbHNlCi0jZGVmaW5lIE5TVFJBQ0UoeCkKLSNlbmRpZgogCiAjaWZkZWYg SEFWRV9OUwogCkBAIC0zNjQsNyArMzU3LDcgQEAgc3RhdGljIHZvaWQKIHhfc2V0X2ljb25fbmFt ZSAoc3RydWN0IGZyYW1lICpmLCBMaXNwX09iamVjdCBhcmcsIExpc3BfT2JqZWN0IG9sZHZhbCkK IHsKICAgTlNWaWV3ICp2aWV3ID0gRlJBTUVfTlNfVklFVyAoZik7Ci0gIE5TVFJBQ0UgKHhfc2V0 X2ljb25fbmFtZSk7CisgIE5TVFJBQ0UgKCJ4X3NldF9pY29uX25hbWUiKTsKIAogICAvKiBzZWUg aWYgaXQncyBjaGFuZ2VkICovCiAgIGlmIChTVFJJTkdQIChhcmcpKQpAQCAtNDM2LDcgKzQyOSw3 IEBAIG5zX3NldF9uYW1lX2ludGVybmFsIChzdHJ1Y3QgZnJhbWUgKmYsIExpc3BfT2JqZWN0IG5h bWUpCiBzdGF0aWMgdm9pZAogbnNfc2V0X25hbWUgKHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmpl Y3QgbmFtZSwgaW50IGV4cGxpY2l0KQogewotICBOU1RSQUNFIChuc19zZXRfbmFtZSk7CisgIE5T VFJBQ0UgKCJuc19zZXRfbmFtZSIpOwogCiAgIC8qIE1ha2Ugc3VyZSB0aGF0IHJlcXVlc3RzIGZy b20gbGlzcCBjb2RlIG92ZXJyaWRlIHJlcXVlc3RzIGZyb20KICAgICAgRW1hY3MgcmVkaXNwbGF5 IGNvZGUuICAqLwpAQCAtNDc3LDcgKzQ3MCw3IEBAIG5zX3NldF9uYW1lIChzdHJ1Y3QgZnJhbWUg KmYsIExpc3BfT2JqZWN0IG5hbWUsIGludCBleHBsaWNpdCkKIHN0YXRpYyB2b2lkCiB4X2V4cGxp Y2l0bHlfc2V0X25hbWUgKHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmplY3QgYXJnLCBMaXNwX09i amVjdCBvbGR2YWwpCiB7Ci0gIE5TVFJBQ0UgKHhfZXhwbGljaXRseV9zZXRfbmFtZSk7CisgIE5T VFJBQ0UgKCJ4X2V4cGxpY2l0bHlfc2V0X25hbWUiKTsKICAgbnNfc2V0X25hbWUgKGYsIGFyZywg MSk7CiB9CiAKQEAgLTQ4OCw3ICs0ODEsNyBAQCB4X2V4cGxpY2l0bHlfc2V0X25hbWUgKHN0cnVj dCBmcmFtZSAqZiwgTGlzcF9PYmplY3QgYXJnLCBMaXNwX09iamVjdCBvbGR2YWwpCiB2b2lkCiB4 X2ltcGxpY2l0bHlfc2V0X25hbWUgKHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmplY3QgYXJnLCBM aXNwX09iamVjdCBvbGR2YWwpCiB7Ci0gIE5TVFJBQ0UgKHhfaW1wbGljaXRseV9zZXRfbmFtZSk7 CisgIE5TVFJBQ0UgKCJ4X2ltcGxpY2l0bHlfc2V0X25hbWUiKTsKIAogICAvKiBEZWFsIHdpdGgg TlMgc3BlY2lmaWMgZm9ybWF0IHQuICAqLwogICBpZiAoRlJBTUVfTlNfUCAoZikgJiYgKChGUkFN RV9JQ09OSUZJRURfUCAoZikgJiYgRVEgKFZpY29uX3RpdGxlX2Zvcm1hdCwgUXQpKQpAQCAtNTA1 LDcgKzQ5OCw3IEBAIHhfaW1wbGljaXRseV9zZXRfbmFtZSAoc3RydWN0IGZyYW1lICpmLCBMaXNw X09iamVjdCBhcmcsIExpc3BfT2JqZWN0IG9sZHZhbCkKIHN0YXRpYyB2b2lkCiB4X3NldF90aXRs ZSAoc3RydWN0IGZyYW1lICpmLCBMaXNwX09iamVjdCBuYW1lLCBMaXNwX09iamVjdCBvbGRfbmFt ZSkKIHsKLSAgTlNUUkFDRSAoeF9zZXRfdGl0bGUpOworICBOU1RSQUNFICgieF9zZXRfdGl0bGUi KTsKICAgLyogRG9uJ3QgY2hhbmdlIHRoZSB0aXRsZSBpZiBpdCdzIGFscmVhZHkgTkFNRS4gICov CiAgIGlmIChFUSAobmFtZSwgZi0+dGl0bGUpKQogICAgIHJldHVybjsKQEAgLTUzMyw3ICs1MjYs NyBAQCBuc19zZXRfbmFtZV9hc19maWxlbmFtZSAoc3RydWN0IGZyYW1lICpmKQogICBOU0F1dG9y ZWxlYXNlUG9vbCAqcG9vbDsKICAgTGlzcF9PYmplY3QgZW5jb2RlZF9uYW1lLCBlbmNvZGVkX2Zp bGVuYW1lOwogICBOU1N0cmluZyAqc3RyOwotICBOU1RSQUNFIChuc19zZXRfbmFtZV9hc19maWxl bmFtZSk7CisgIE5TVFJBQ0UgKCJuc19zZXRfbmFtZV9hc19maWxlbmFtZSIpOwogCiAgIGlmIChm LT5leHBsaWNpdF9uYW1lIHx8ICEgTklMUCAoZi0+dGl0bGUpKQogICAgIHJldHVybjsKQEAgLTcy OSw3ICs3MjIsNyBAQCBuc19pbXBsaWNpdGx5X3NldF9pY29uX3R5cGUgKHN0cnVjdCBmcmFtZSAq ZikKICAgTlNBdXRvcmVsZWFzZVBvb2wgKnBvb2w7CiAgIEJPT0wgc2V0TWluaSA9IFlFUzsKIAot ICBOU1RSQUNFIChuc19pbXBsaWNpdGx5X3NldF9pY29uX3R5cGUpOworICBOU1RSQUNFICgibnNf aW1wbGljaXRseV9zZXRfaWNvbl90eXBlIik7CiAKICAgYmxvY2tfaW5wdXQgKCk7CiAgIHBvb2wg PSBbW05TQXV0b3JlbGVhc2VQb29sIGFsbG9jXSBpbml0XTsKQEAgLTc5Nyw3ICs3OTAsNyBAQCB4 X3NldF9pY29uX3R5cGUgKHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmplY3QgYXJnLCBMaXNwX09i amVjdCBvbGR2YWwpCiAgIGlkIGltYWdlID0gbmlsOwogICBCT09MIHNldE1pbmkgPSBZRVM7CiAK LSAgTlNUUkFDRSAoeF9zZXRfaWNvbl90eXBlKTsKKyAgTlNUUkFDRSAoInhfc2V0X2ljb25fdHlw ZSIpOwogCiAgIGlmICghTklMUCAoYXJnKSAmJiBTWU1CT0xQIChhcmcpKQogICAgIHsKZGlmZiAt LWdpdCBhL3NyYy9uc2ltYWdlLm0gYi9zcmMvbnNpbWFnZS5tCmluZGV4IDllYWVlZmUuLmU3NmE3 ZGIgMTAwNjQ0Ci0tLSBhL3NyYy9uc2ltYWdlLm0KKysrIGIvc3JjL25zaW1hZ2UubQpAQCAtMzUs MTQgKzM1LDYgQEAgR05Vc3RlcCBwb3J0IGFuZCBwb3N0LTIwIHVwZGF0ZSBieSBBZHJpYW4gUm9i ZXJ0IChhcm9iZXJ0QGNvZ3NjaS51Y3NkLmVkdSkKICNpbmNsdWRlICJmcmFtZS5oIgogI2luY2x1 ZGUgImNvZGluZy5oIgogCi0vKiBjYWxsIHRyYWNpbmcgKi8KLSNpZiAwCi1pbnQgaW1hZ2VfdHJh Y2VfbnVtID0gMDsKLSNkZWZpbmUgTlNUUkFDRSh4KSAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAi JXM6JWQ6IFslZF0gIiAjeCAiXG4iLCAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgX19GSUxFX18sIF9fTElORV9fLCArK2ltYWdlX3RyYWNlX251bSkKLSNlbHNlCi0j ZGVmaW5lIE5TVFJBQ0UoeCkKLSNlbmRpZgogCiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC01 Nyw3ICs0OSw3IEBAIHZvaWQgKgogbnNfaW1hZ2VfZnJvbV9YQk0gKHVuc2lnbmVkIGNoYXIgKmJp dHMsIGludCB3aWR0aCwgaW50IGhlaWdodCwKICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBs b25nIGZnLCB1bnNpZ25lZCBsb25nIGJnKQogewotICBOU1RSQUNFIChuc19pbWFnZV9mcm9tX1hC TSk7CisgIE5TVFJBQ0UgKCJuc19pbWFnZV9mcm9tX1hCTSIpOwogICByZXR1cm4gW1tFbWFjc0lt YWdlIGFsbG9jXSBpbml0RnJvbVhCTTogYml0cwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB3aWR0aDogd2lkdGggaGVpZ2h0OiBoZWlnaHQKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZmc6IGZnIGJnOiBiZ107CkBAIC02Niw3ICs1OCw3IEBAIG5zX2lt YWdlX2Zyb21fWEJNICh1bnNpZ25lZCBjaGFyICpiaXRzLCBpbnQgd2lkdGgsIGludCBoZWlnaHQs CiB2b2lkICoKIG5zX2ltYWdlX2Zvcl9YUE0gKGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGRl cHRoKQogewotICBOU1RSQUNFIChuc19pbWFnZV9mb3JfWFBNKTsKKyAgTlNUUkFDRSAoIm5zX2lt YWdlX2Zvcl9YUE0iKTsKICAgcmV0dXJuIFtbRW1hY3NJbWFnZSBhbGxvY10gaW5pdEZvclhQTVdp dGhEZXB0aDogZGVwdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB3aWR0aDogd2lkdGggaGVpZ2h0OiBoZWlnaHRdOwogfQpAQCAtNzQsNyArNjYsNyBAQCBuc19p bWFnZV9mb3JfWFBNIChpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBkZXB0aCkKIHZvaWQgKgog bnNfaW1hZ2VfZnJvbV9maWxlIChMaXNwX09iamVjdCBmaWxlKQogewotICBOU1RSQUNFIChuc19p bWFnZV9mcm9tX2JpdG1hcF9maWxlKTsKKyAgTlNUUkFDRSAoIm5zX2ltYWdlX2Zyb21fYml0bWFw X2ZpbGUiKTsKICAgcmV0dXJuIFtFbWFjc0ltYWdlIGFsbG9jSW5pdEZyb21GaWxlOiBmaWxlXTsK IH0KIApAQCAtODUsNyArNzcsNyBAQCBuc19sb2FkX2ltYWdlIChzdHJ1Y3QgZnJhbWUgKmYsIHN0 cnVjdCBpbWFnZSAqaW1nLAogICBFbWFjc0ltYWdlICplSW1nID0gbmlsOwogICBOU1NpemUgc2l6 ZTsKIAotICBOU1RSQUNFIChuc19sb2FkX2ltYWdlKTsKKyAgTlNUUkFDRSAoIm5zX2xvYWRfaW1h Z2UiKTsKIAogICBpZiAoU1RSSU5HUCAoc3BlY19maWxlKSkKICAgICB7CmRpZmYgLS1naXQgYS9z cmMvbnNtZW51Lm0gYi9zcmMvbnNtZW51Lm0KaW5kZXggYjVjYjY0ZC4uMmVmMTIyMyAxMDA2NDQK LS0tIGEvc3JjL25zbWVudS5tCisrKyBiL3NyYy9uc21lbnUubQpAQCAtNDUsMTMgKzQ1LDYgQEAg Q2FyYm9uIHZlcnNpb24gYnkgWWFtYW1vdG8gTWl0c3VoYXJ1LiAqLwogI2luY2x1ZGUgPHN5cy90 eXBlcy5oPgogI2VuZGlmCiAKLSNpZiAwCi1pbnQgbWVudV90cmFjZV9udW0gPSAwOwotI2RlZmlu ZSBOU1RSQUNFKHgpICAgICAgICBmcHJpbnRmIChzdGRlcnIsICIlczolZDogWyVkXSAiICN4ICJc biIsICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fRklMRV9fLCBf X0xJTkVfXywgKyttZW51X3RyYWNlX251bSkKLSNlbHNlCi0jZGVmaW5lIE5TVFJBQ0UoeCkKLSNl bmRpZgogCiAjaWYgMAogLyogSW5jbHVkZSBsaXNwIC0+IEMgY29tbW9uIG1lbnUgcGFyc2luZyBj b2RlICovCkBAIC0xMjEsNyArMTE0LDcgQEAgbnNfdXBkYXRlX21lbnViYXIgKHN0cnVjdCBmcmFt ZSAqZiwgYm9vbCBkZWVwX3AsIEVtYWNzTWVudSAqc3VibWVudSkKICAgbG9uZyB0OwogI2VuZGlm CiAKLSAgTlNUUkFDRSAobnNfdXBkYXRlX21lbnViYXIpOworICBOU1RSQUNFICgibnNfdXBkYXRl X21lbnViYXIiKTsKIAogICBpZiAoZiAhPSBTRUxFQ1RFRF9GUkFNRSAoKSkKICAgICAgIHJldHVy bjsKQEAgLTgwMSw2ICs3OTQsOCBAQCBuc19tZW51X3Nob3cgKHN0cnVjdCBmcmFtZSAqZiwgaW50 IHgsIGludCB5LCBpbnQgbWVudWZsYWdzLAogICB3aWRnZXRfdmFsdWUgKnd2LCAqZmlyc3Rfd3Yg PSAwOwogICBib29sIGtleW1hcHMgPSAobWVudWZsYWdzICYgTUVOVV9LRVlNQVBTKTsKIAorICBO U1RSQUNFICgibnNfbWVudV9zaG93Iik7CisKICAgYmxvY2tfaW5wdXQgKCk7CiAKICAgcC54ID0g eDsgcC55ID0geTsKQEAgLTE0MjMsNyArMTQxOCw3IEBAIG5zX3BvcHVwX2RpYWxvZyAoc3RydWN0 IGZyYW1lICpmLCBMaXNwX09iamVjdCBoZWFkZXIsIExpc3BfT2JqZWN0IGNvbnRlbnRzKQogICBC T09MIGlzUTsKICAgTlNBdXRvcmVsZWFzZVBvb2wgKnBvb2w7CiAKLSAgTlNUUkFDRSAoeC1wb3B1 cC1kaWFsb2cpOworICBOU1RSQUNFICgibnNfcG9wdXBfZGlhbG9nIik7CiAKICAgaXNRID0gTklM UCAoaGVhZGVyKTsKIApkaWZmIC0tZ2l0IGEvc3JjL25zdGVybS5oIGIvc3JjL25zdGVybS5oCmlu ZGV4IGMwNmI3YzQuLmQ3YWViZTAgMTAwNjQ0Ci0tLSBhL3NyYy9uc3Rlcm0uaAorKysgYi9zcmMv bnN0ZXJtLmgKQEAgLTYxLDYgKzYxLDI0MSBAQCB0eXBlZGVmIGZsb2F0IEVtYWNzQ0dGbG9hdDsK IAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIAorICAgVHJhY2Ugc3VwcG9ydAorCisgICA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PSAqLworCisvKiBVbmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIGVuYWJs ZSB0cmFjZS4gKi8KKworLyogI2RlZmluZSBOU1RSQUNFX0VOQUJMRUQgMSAqLworCisKKy8qIFBy aW50IGEgY2FsbCB0cmVlIGNvbnRhaW5pbmcgYWxsIGFubm90YXRlZCBmdW5jdGlvbnMuCisKKyAg IFRoZSBjYWxsIHN0cnVjdHVyZSBvZiB0aGUgZnVuY3Rpb25zIGlzIHJlcHJlc2VudGVkIHVzaW5n CisgICBpbmRlbnRhdGlvbiBhbmQgdmVydGljYWwgbGluZXMuIEV4dHJhIGluZm9ybWF0aW9uIGlz IHByaW50ZWQgdXNpbmcKKyAgIGhvcml6b250YWwgbGluZXMgdGhhdCBjb25uZWN0IHRvIHRoZSB2 ZXJ0aWNhbCBsaW5lLgorCisgICBUaGUgcmV0dXJuIHZhbHVlIGlzIHJlcHJlc2VudGVkIHVzaW5n IHRoZSBhcnJvdyAiLT4+Ii4gRm9yIHNpbXBsZQorICAgZnVuY3Rpb25zLCB0aGUgYXJyb3cgY2Fu IGJlIHByaW50ZWQgb24gdGhlIHNhbWUgbGluZSBhcyB0aGUKKyAgIGZ1bmN0aW9uIG5hbWUuIElm IG1vcmUgb3V0cHV0IGlzIHByaW50ZWQsIGl0IGlzIGNvbm5lY3RlZCB0byB0aGUKKyAgIHZlcnRp Y2FsIGxpbmUgb2YgdGhlIGZ1bmN0aW9uLgorCisgICBUaGUgZmlyc3QgY29sdW1uIGNvbnRhaW5z IHRoZSBmaWxlIG5hbWUsIHRoZSBzZWNvbmQgdGhlIGxpbmUKKyAgIG51bWJlciwgYW5kIHRoZSB0 aGlyZCBhIG51bWJlciBpbmNyZWFzaW5nIGZvciBlYWNoIHRyYWNlIGxpbmUuCisKKyAgIE5vdGUg dGhhdCB0aGUgdHJhY2Ugc3lzdGVtLCB3aGVuIGVuYWJsZWQsIHVzZSB0aGUgR0NDL0NsYW5nCisg ICAiY2xlYW51cCIgZXh0ZW5zaW9uLgorCisgICBGb3IgZXhhbXBsZSAobG9uZyBsaW5lcyBtYW51 YWxseSBzcGxpdCB0byByZWR1Y2Ugd2lkdGgpOgorCituc3Rlcm0ubSAgOiAxNjAwOiBbIDQ0Mjhd ICBuc19mdWxsc2NyZWVuX2hvb2sKK25zdGVybS5tICA6IDcwMDY6IFsgNDQyOV0gIHwgaGFuZGxl RlMKK25zdGVybS5tICA6IDcwMzU6IFsgNDQzMF0gIHwgKy0tLSBGVUxMU0NSRUVOX01BWElNSVpF RAorbnN0ZXJtLm0gIDogNzYyNzogWyA0NDMxXSAgfCB8IHBlcmZvcm1ab29tCituc3Rlcm0ubSAg OiA3NjM2OiBbIDQ0MzJdICB8IHwgfCB6b29tCituc3Rlcm0ubSAgOiAgODc0OiBbIDQ0MzNdICB8 IHwgfCB8IG5zX3VwZGF0ZV9hdXRvX2hpZGVfbWVudV9iYXIKK25zdGVybS5tICA6IDY2MTU6IFsg NDQzNF0gIHwgfCB8IHwgW3dpbmRvd1dpbGxVc2VTdGFuZGFyZEZyYW1lOgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdEZyYW1lOihYOjAgWTowKS8oVzoxNjAw IEg6MTE3NyldCituc3Rlcm0ubSAgOiAgIDk5OiBbIDQ0MzVdICB8IHwgfCB8ICstLS0gZnNfc3Rh dGU6IEZVTExTQ1JFRU5fTk9ORQorbnN0ZXJtLm0gIDogIDExOTogWyA0NDM2XSAgfCB8IHwgfCAr LS0tIGZzX2JlZm9yZV9mczogLTEKK25zdGVybS5tICA6ICAxMTU6IFsgNDQzN10gIHwgfCB8IHwg Ky0tLSBuZXh0X21heGltaXplZDogRlVMTFNDUkVFTl9NQVhJTUlaRUQKK25zdGVybS5tICA6IDY2 MTk6IFsgNDQzOF0gIHwgfCB8IHwgKy0tLSBuc191c2VyUmVjdDogKFg6MCBZOjApLyhXOjAgSDow KQorbnN0ZXJtLm0gIDogNjYyMDogWyA0NDM5XSAgfCB8IHwgfCArLS0tIFtzZW5kZXIgZnJhbWVd OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KFg6MCBZOjYyNikvKFc6NTk1IEg6NTUxKQorbnN0ZXJtLm0gIDogNjY0NDogWyA0NDQwXSAgfCB8 IHwgfCArLS0tIG5zX3VzZXJSZWN0ICgyKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChYOjAgWTo2MjYpLyhXOjU5NSBIOjU1MSkKK25zdGVy bS5tICA6IDY2ODQ6IFsgNDQ0MV0gIHwgfCB8IHwgKy0tLSBGVUxMU0NSRUVOX01BWElNSVpFRAor bnN0ZXJtLm0gIDogNzA1NzogWyA0NDQyXSAgfCB8IHwgfCB8IHNldEZTVmFsdWUKK25zdGVybS5t ICA6ICAxMTU6IFsgNDQ0M10gIHwgfCB8IHwgfCArLS0tIHZhbHVlOiBGVUxMU0NSRUVOX01BWElN SVpFRAorbnN0ZXJtLm0gIDogNjcxMTogWyA0NDQ0XSAgfCB8IHwgfCArLS0tIEZpbmFsIG5zX3Vz ZXJSZWN0OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKFg6MCBZOjYyNikvKFc6NTk1IEg6NTUxKQorbnN0ZXJtLm0gIDogNjcxMjogWyA0NDQ1 XSAgfCB8IHwgfCArLS0tIEZpbmFsIG1heGltaXplZF93aWR0aDogMTYwMAorbnN0ZXJtLm0gIDog NjcxMzogWyA0NDQ2XSAgfCB8IHwgfCArLS0tIEZpbmFsIG1heGltaXplZF9oZWlnaHQ6IDExNzcK K25zdGVybS5tICA6ICAxMTk6IFsgNDQ0N10gIHwgfCB8IHwgKy0tLSBGaW5hbCBuZXh0X21heGlt aXplZDogLTEKK25zdGVybS5tICA6IDYyMDk6IFsgNDQ0OF0gIHwgfCB8IHwgfCB3aW5kb3dXaWxs UmVzaXplOiB0b1NpemU6IChXOjE2MDAgSDoxMTc3KQorbnN0ZXJtLm0gIDogNjIxMDogWyA0NDQ5 XSAgfCB8IHwgfCB8ICstLS0gW3NlbmRlciBmcmFtZV06CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoWDowIFk6NjI2KS8oVzo1OTUgSDo1NTEp Cituc3Rlcm0ubSAgOiAgMTE1OiBbIDQ0NTBdICB8IHwgfCB8IHwgKy0tLSBmc19zdGF0ZTogRlVM TFNDUkVFTl9NQVhJTUlaRUQKK25zdGVybS5tICA6IDYyNzQ6IFsgNDQ1MV0gIHwgfCB8IHwgfCAr LS0tIGNvbHM6IDIyMyAgcm93czogNzkKK25zdGVybS5tICA6IDYyOTk6IFsgNDQ1Ml0gIHwgfCB8 IHwgfCArLT4+IChXOjE1OTYgSDoxMTY3KQorbnN0ZXJtLm0gIDogNjcxODogWyA0NDUzXSAgfCB8 IHwgfCArLT4+IChYOjAgWTowKS8oVzoxNjAwIEg6MTE3NykKKworICAgSGVyZSwgIm5zX2Z1bGxz Y3JlZW5faG9vayIgY2FsbHMgImhhbmRsZUZTIiwgd2hpY2ggaXMgdHVybiBjYWxscworICAgInBl cmZvcm1ab29tIi4gVGhpcyBmdW5jdGlvbiBjYWxscyAiW3N1cGVyIHBlcmZvcm1ab29tXSIsIHdo aWNoCisgICBpc24ndCBhbm5vdGVkIChzbyBpdCBkb2Vzbid0IHNob3cgdXAgaW4gdGhlIHRyYWNl KS4gSG93ZXZlciwgaXQKKyAgIGNhbGxzICJ6b29tIiB3aGljaCBpcyBhbm5vdGF0ZWQgc28gaXQg aXMgcGFydCBvZiB0aGUgY2FsbAorICAgdHJhY2UuIExhdGVyLCB0aGUgbWV0aG9kICJ3aW5kb3dX aWxsVXNlU3RhbmRhcmRGcmFtZSIgYW5kIHRoZQorICAgZnVuY3Rpb24gInNldEZTVmFsdWUiIGFy ZSBjYWxsZWQuIFRoZSBsaW5lcyB3aXRoICIrLS0tIiBjb250YWluCisgICBleHRyYSBpbmZvcm1h dGlvbiBhbmQgbGluZXMgY29udGFpbmluZyAiLT4+IiByZXByZXNlbnQgcmV0dXJuCisgICB2YWx1 ZXMuICovCisKKyNpZm5kZWYgTlNUUkFDRV9FTkFCTEVECisjZGVmaW5lIE5TVFJBQ0VfRU5BQkxF RCAwCisjZW5kaWYKKworI2lmIE5TVFJBQ0VfRU5BQkxFRAorZXh0ZXJuIGludCBuc3RyYWNlX251 bTsKK2V4dGVybiBpbnQgbnN0cmFjZV9kZXB0aDsKKwordm9pZCBuc3RyYWNlX2xlYXZlKGludCAq KTsKKworLyogcHJpbnRmLXN0eWxlIHRyYWNlIG91dHB1dC4gT3V0cHV0IGlzIGFsaWduZWQgd2l0 aCBjb250YWluZWQgaGVhZGluZy4gKi8KKyNkZWZpbmUgTlNUUkFDRV9NU0dfTk9fREFTSEVTKC4u LikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGRvICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGlmIChuc3RyYWNlX2VuYWJs ZWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg ICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgIGZwcmludGYgKHN0ZGVyciwgIiUtMTBzOiU1 ZDogWyU1ZF0lLipzIiwgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAg ICAgICBfX0ZJTEVfXywgX19MSU5FX18sICsrbnN0cmFjZV9udW0sICAgICAgICAgICAgICAgICAg ICAgICBcCisgICAgICAgICAgICAgICAgICAgMipuc3RyYWNlX2RlcHRoLCAiICB8IHwgfCB8IHwg fCB8IHwgfCB8IHwgfCB8IHwgfCAuLiIpOyAgXAorICAgICAgICAgIGZwcmludGYgKHN0ZGVyciwg X19WQV9BUkdTX18pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgICBmcHJpbnRmIChzdGRlcnIsICJcbiIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKyAgd2hpbGUoMCkKKworI2RlZmluZSBOU1RSQUNFX01TRyguLi4pIE5TVFJBQ0VfTVNHX05P X0RBU0hFUygiKy0tLSAiIF9fVkFfQVJHU19fKQorCisKKworLyogTWFjcm9zIGZvciBwcmludGlu ZyBjb21wbGV4IHR5cGVzLgorCisgICBOU1RSQUNFX0ZNVF93aGF0ICAgICAtLSBQcmludGYgZm9y bWF0IHN0cmluZyBmb3IgIndoYXQiLgorICAgTlNUUkFDRV9BUkdfd2hhdCh4KSAgLS0gUHJpbnRm IGFyZ3VtZW50IGZvciAid2hhdCIuICovCisKKyNkZWZpbmUgTlNUUkFDRV9GTVRfU0laRSAgICAg ICAgIihXOiUuMGYgSDolLjBmKSIKKyNkZWZpbmUgTlNUUkFDRV9BUkdfU0laRShlbHQpICAgKGVs dCkud2lkdGgsIChlbHQpLmhlaWdodAorCisjZGVmaW5lIE5TVFJBQ0VfRk1UX1BPSU5UICAgICAg ICIoWDolLjBmIFk6JS4wZikiCisjZGVmaW5lIE5TVFJBQ0VfQVJHX1BPSU5UKGVsdCkgIChlbHQp LngsIChlbHQpLnkKKworI2RlZmluZSBOU1RSQUNFX0ZNVF9SRUNUICAgICAgICBOU1RSQUNFX0ZN VF9QT0lOVCAiLyIgTlNUUkFDRV9GTVRfU0laRQorI2RlZmluZSBOU1RSQUNFX0FSR19SRUNUKGVs dCkgICBcCisgIE5TVFJBQ0VfQVJHX1BPSU5UKChlbHQpLm9yaWdpbiksIE5TVFJBQ0VfQVJHX1NJ WkUoKGVsdCkuc2l6ZSkKKworCisvKiBNYWNyb3MgZm9yIHByaW50aW5nIGNvbXBsZXggdHlwZXMg YXMgZXh0cmEgaW5mb3JtYXRpb24uICovCisKKyNkZWZpbmUgTlNUUkFDRV9TSVpFKHN0cixzaXpl KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgTlNUUkFDRV9N U0cgKHN0ciAiOiAiIE5TVFJBQ0VfRk1UX1NJWkUsICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKKyAgICAgICAgICAgICAgIE5TVFJBQ0VfQVJHX1NJWkUgKHNpemUpKTsKKworI2RlZmlu ZSBOU1RSQUNFX1BPSU5UKHN0cixwb2ludCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorICBOU1RSQUNFX01TRyAoc3RyICI6ICIgTlNUUkFDRV9GTVRfUE9JTlQsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgTlNUUkFDRV9BUkdf UE9JTlQgKHBvaW50KSk7CisKKyNkZWZpbmUgTlNUUkFDRV9SRUNUKHN0cixyZWN0KSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgTlNUUkFDRV9NU0cgKHN0ciAi OiAiIE5TVFJBQ0VfRk1UX1JFQ1QsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg ICAgICAgICAgICAgIE5TVFJBQ0VfQVJHX1JFQ1QgKHJlY3QpKTsKKworI2RlZmluZSBOU1RSQUNF X0ZTVFlQRShzdHIsZnNfdHlwZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAorICBkbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgaWYgKG5zdHJhY2Vf ZW5hYmxlZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor ICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorICAgICAgICAgIG5zX3ByaW50X2Z1bGxzY3JlZW5fdHlwZV9uYW1l KHN0ciwgZnNfdHlwZSk7ICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorICB3aGlsZSgwKQorCisKKy8qIFJldHVybiB2YWx1ZSBtYWNyb3MuCisK KyAgIE5TVFJBQ0VfUkVUVVJOKGZtdCwgLi4uKSAtIFByaW50IGEgcmV0dXJuIHZhbHVlLCBzdXBw b3J0IHByaW50Zi1zdHlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0IHN0 cmluZyBhbmQgYXJndW1lbnRzLgorCisgICBOU1RSQUNFX1JFVFVSTl93aGF0KG9iaikgLSBQcmlu dCBhIHJldHVybiB2YWx1ZSBvZiBraW5kIFdIQVQuCisKKyAgIE5TVFJBQ0VfRk1UX1JFVFVSTiAt IEEgc3RyaW5nIGxpdGVyYWwgcmVwcmVzZW50aW5nIGEgcmV0dXJuZWQKKyAgICAgICAgICAgICAg ICAgICAgICAgIHZhbHVlLiAgVXNlZnVsIHdoZW4gY3JlYXRpbmcgYSBmb3JtYXQgc3RyaW5nCisg ICAgICAgICAgICAgICAgICAgICAgICB0byBwcmludGYtbGlrZSBjb25zdHJ1Y3RzIGxpa2UgTlNU UkFDRSgpLiAqLworCisjZGVmaW5lIE5TVFJBQ0VfRk1UX1JFVFVSTiAiLT4+IgorCisjZGVmaW5l IE5TVFJBQ0VfUkVUVVJOKC4uLikgXAorICBOU1RSQUNFX01TR19OT19EQVNIRVMgKCIrIiBOU1RS QUNFX0ZNVF9SRVRVUk4gIiAiIF9fVkFfQVJHU19fKQorCisjZGVmaW5lIE5TVFJBQ0VfUkVUVVJO X1NJWkUoc2l6ZSkgXAorICBOU1RSQUNFX1JFVFVSTihOU1RSQUNFX0ZNVF9TSVpFLCBOU1RSQUNF X0FSR19TSVpFKHNpemUpKQorCisjZGVmaW5lIE5TVFJBQ0VfUkVUVVJOX1BPSU5UKHBvaW50KSBc CisgIE5TVFJBQ0VfUkVUVVJOKE5TVFJBQ0VfRk1UX1BPSU5ULCBOU1RSQUNFX0FSR19QT0lOVChw b2ludCkpCisKKyNkZWZpbmUgTlNUUkFDRV9SRVRVUk5fUkVDVChyZWN0KSBcCisgIE5TVFJBQ0Vf UkVUVVJOKE5TVFJBQ0VfRk1UX1JFQ1QsIE5TVFJBQ0VfQVJHX1JFQ1QocmVjdCkpCisKKworLyog RnVuY3Rpb24gZW50ZXIgbWFjcm9zLgorCisgICBOU1RSQUNFIChmbXQsIC4uLikgLS0gRW5hYmxl IHRyYWNlIG91dHB1dCBpbiBjdXJlbnQgYmxvY2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAo dHlwaWNhbGx5IGEgZnVuY3Rpb24pLiBBY2NlcHRzIHByaW50Zi1zdHlsZQorICAgICAgICAgICAg ICAgICAgICAgICAgIGFyZ3VtZW50cy4KKworICAgTlNUUkFDRV9XSEVOIChjb25kLCBmbXQsIC4u LikgLS0gRW5hYmxlIHRyYWNlIG91dHB1dCB3aGVuIENPTkQgaXMgdHJ1ZS4KKworICAgTlNUUkFD RV9VTkxFU1MgKGNvbmQsIGZtdCwgLi4uKSAtLSBFbmFibGUgdHJhY2Ugb3V0cHV0IHVubGVzcyBD T05EIGlzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUuICovCisK KworCisjZGVmaW5lIE5TVFJBQ0VfV0hFTihjb25kLCAuLi4pICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisgIF9fYXR0cmlidXRlX18oKGNsZWFudXAobnN0cmFjZV9s ZWF2ZSkpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGludCBuc3RyYWNlX2Vu YWJsZWQgPSAoY29uZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CisgIGlmIChuc3RyYWNlX2VuYWJsZWQpIHsgKytuc3RyYWNlX2RlcHRoOyB9ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgIE5TVFJBQ0VfTVNHX05PX0RBU0hFUyhfX1ZBX0FSR1NfXyk7 CisKKyNlbmRpZiAvKiBOU1RSQUNFX0VOQUJMRUQgKi8KKworI2RlZmluZSBOU1RSQUNFKC4uLikg ICAgICAgICAgICAgIE5TVFJBQ0VfV0hFTigxLCBfX1ZBX0FSR1NfXykKKyNkZWZpbmUgTlNUUkFD RV9VTkxFU1MoY29uZCwgLi4uKSBOU1RSQUNFX1dIRU4oIShjb25kKSwgX19WQV9BUkdTX18pCisK KworLyogTm9uLXRyYWNlIHJlcGxhY2VtZW50IHZlcnNpb25zLiAqLworI2lmbmRlZiBOU1RSQUNF X1dIRU4KKyNkZWZpbmUgTlNUUkFDRV9XSEVOKC4uLikKKyNlbmRpZgorCisjaWZuZGVmIE5TVFJB Q0VfTVNHCisjZGVmaW5lIE5TVFJBQ0VfTVNHKC4uLikKKyNlbmRpZgorCisjaWZuZGVmIE5TVFJB Q0VfU0laRQorI2RlZmluZSBOU1RSQUNFX1NJWkUoc3RyLHNpemUpCisjZW5kaWYKKworI2lmbmRl ZiBOU1RSQUNFX1BPSU5UCisjZGVmaW5lIE5TVFJBQ0VfUE9JTlQoc3RyLHBvaW50KQorI2VuZGlm CisKKyNpZm5kZWYgTlNUUkFDRV9SRUNUCisjZGVmaW5lIE5TVFJBQ0VfUkVDVChzdHIscmVjdCkK KyNlbmRpZgorCisjaWZuZGVmIE5TVFJBQ0VfRlNUWVBFCisjZGVmaW5lIE5TVFJBQ0VfRlNUWVBF KHN0cixmc190eXBlKQorI2VuZGlmCisKKyNpZm5kZWYgTlNUUkFDRV9SRVRVUk5fU0laRQorI2Rl ZmluZSBOU1RSQUNFX1JFVFVSTl9TSVpFKHNpemUpCisjZW5kaWYKKworI2lmbmRlZiBOU1RSQUNF X1JFVFVSTl9QT0lOVAorI2RlZmluZSBOU1RSQUNFX1JFVFVSTl9QT0lOVChwb2ludCkKKyNlbmRp ZgorCisjaWZuZGVmIE5TVFJBQ0VfUkVUVVJOX1JFQ1QKKyNkZWZpbmUgTlNUUkFDRV9SRVRVUk5f UkVDVChyZWN0KQorI2VuZGlmCisKKyNpZm5kZWYgTlNUUkFDRV9SRVRVUk5fRlNUWVBFCisjZGVm aW5lIE5TVFJBQ0VfUkVUVVJOX0ZTVFlQRShmc190eXBlKQorI2VuZGlmCisKKworCisvKiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorCiAgICBOU0NvbG9yLCBFbWFjc0NvbG9yIGNhdGVnb3J5LgogCiAgICA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PSAqLwpAQCAtMTc0LDYgKzQwOSw3IEBAIHR5cGVkZWYgZmxvYXQgRW1h Y3NDR0Zsb2F0OwogI2lmZGVmIE5TX0lNUExfR05VU1RFUAogLSAodm9pZCl3aW5kb3dEaWRNb3Zl OiAoaWQpc2VuZGVyOwogI2VuZGlmCistIChpbnQpZnVsbHNjcmVlblN0YXRlOwogQGVuZAogCiAK ZGlmZiAtLWdpdCBhL3NyYy9uc3Rlcm0ubSBiL3NyYy9uc3Rlcm0ubQppbmRleCBjNGJmZDdjLi43 NzRlYWY3IDEwMDY0NAotLS0gYS9zcmMvbnN0ZXJtLm0KKysrIGIvc3JjL25zdGVybS5tCkBAIC02 OCwzOCArNjgsNjAgQEAgR05Vc3RlcCBwb3J0IGFuZCBwb3N0LTIwIHVwZGF0ZSBieSBBZHJpYW4g Um9iZXJ0IChhcm9iZXJ0QGNvZ3NjaS51Y3NkLmVkdSkKICNpbmNsdWRlICJtYWNmb250LmgiCiAj ZW5kaWYKIAotLyogY2FsbCB0cmFjaW5nICovCi0jaWYgMAotaW50IHRlcm1fdHJhY2VfbnVtID0g MDsKLSNkZWZpbmUgTlNUUkFDRSh4KSAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXM6JWQ6IFsl ZF0gIiAjeCAiXG4iLCAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg X19GSUxFX18sIF9fTElORV9fLCArK3Rlcm1fdHJhY2VfbnVtKQotI2Vsc2UKLSNkZWZpbmUgTlNU UkFDRSh4KQotI2VuZGlmCiAKLS8qIERldGFpbGVkIHRyYWNpbmcuICJTIiBtZWFucyAic2l6ZSIg YW5kICJMTCIgc3RhbmRzIGZvciAibG93ZXIgbGVmdCIuICovCi0jaWYgMAotaW50IHRlcm1fdHJh Y2VfbnVtID0gMDsKLSNkZWZpbmUgTlNUUkFDRV9TSVpFKHN0cixzaXplKSBmcHJpbnRmIChzdGRl cnIsICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIiVzOiVkOiBbJWRdICAgIiBzdHIgICAgICAgICAgICAgICAgIFwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAoUzolLjBmIHggJS4wZilcbiIsIFwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19GSUxFX18sIF9fTElORV9fLCArK3Rlcm1f dHJhY2VfbnVtLFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZS5oZWln aHQsICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpemUud2lkdGgpCi0jZGVmaW5lIE5TVFJBQ0VfUkVDVChzLHIpIGZwcmludGYgKHN0 ZGVyciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIlczolZDogWyVkXSAgICIgcyAgICAgICAgICAgICAgICAgICBcCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgKExMOiUuMGYgeCAlLjBmIC0+IFM6 JS4wZiB4ICUuMGYpXG4iLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9f RklMRV9fLCBfX0xJTkVfXywgKyt0ZXJtX3RyYWNlX251bSxcCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHIub3JpZ2luLngsICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIub3JpZ2luLnksICAgICAgICAgICAg ICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIuc2l6 ZS5oZWlnaHQsICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHIuc2l6ZS53aWR0aCkKLSNlbHNlCi0jZGVmaW5lIE5TVFJBQ0VfU0laRShz dHIsc2l6ZSkKLSNkZWZpbmUgTlNUUkFDRV9SRUNUKHMscikKK2V4dGVybiBOU1N0cmluZyAqTlNN ZW51RGlkQmVnaW5UcmFja2luZ05vdGlmaWNhdGlvbjsKKworCisjaWYgTlNUUkFDRV9FTkFCTEVE CitpbnQgbnN0cmFjZV9udW0gPSAwOworaW50IG5zdHJhY2VfZGVwdGggPSAwOworCisvKiBDYWxs ZWQgd2hlbiBuc3RyYWNlX2VuYWJsZWQgZ29lcyBvdXQgb2Ygc2NvcGUuICovCit2b2lkIG5zdHJh Y2VfbGVhdmUoaW50ICogcG9pbnRlcl90b19uc3RyYWNlX2VuYWJsZWQpCit7CisgIGlmICgqcG9p bnRlcl90b19uc3RyYWNlX2VuYWJsZWQpCisgICAgeworICAgICAgLS1uc3RyYWNlX2RlcHRoOwor ICAgIH0KK30KKworCit2b2lkIG5zX3ByaW50X2Z1bGxzY3JlZW5fdHlwZV9uYW1lIChjaGFyIGNv bnN0ICogcywgaW50IGZzX3R5cGUpCit7CisgIC8vIFRoaXMgaXMgYSBzdXBwb3J0IGZ1bmN0aW9u IGZvciB0aGUgTlNUUkFDRSBzeXN0ZW0sIGRvbid0IGFkZCBhCisgIC8vIE5TVFJBQ0UgKCkgaGVy ZS4gSG93ZXZlciwgYSBsb2NhbCBgbnN0cmFjZV9lbmFibGVkJyB2YXJpYWJsZSBpcworICAvLyBu ZWVkZWQgYnkgdGhlIE5TVFJBQ0VfTVNHIG1hY3Jvcy4KKyAgaW50IG5zdHJhY2VfZW5hYmxlZCA9 IDE7CisKKyAgc3dpdGNoIChmc190eXBlKQorICAgIHsKKyAgICBjYXNlIEZVTExTQ1JFRU5fTk9O RToKKyAgICAgIE5TVFJBQ0VfTVNHICgiJXM6IEZVTExTQ1JFRU5fTk9ORSIsIHMpOworICAgICAg YnJlYWs7CisKKyAgICBjYXNlIEZVTExTQ1JFRU5fV0lEVEg6CisgICAgICBOU1RSQUNFX01TRyAo IiVzOiBGVUxMU0NSRUVOX1dJRFRIIiwgcyk7CisgICAgICBicmVhazsKKworICAgIGNhc2UgRlVM TFNDUkVFTl9IRUlHSFQ6CisgICAgICBOU1RSQUNFX01TRyAoIiVzOiBGVUxMU0NSRUVOX0hFSUdI VCIsIHMpOworICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEZVTExTQ1JFRU5fQk9USDoKKyAgICAg IE5TVFJBQ0VfTVNHICgiJXM6IEZVTExTQ1JFRU5fQk9USCIsIHMpOworICAgICAgYnJlYWs7CisK KyAgICBjYXNlIEZVTExTQ1JFRU5fTUFYSU1JWkVEOgorICAgICAgTlNUUkFDRV9NU0cgKCIlczog RlVMTFNDUkVFTl9NQVhJTUlaRUQiLCBzKTsKKyAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoK KyAgICAgIE5TVFJBQ0VfTVNHICgiJXM6ICVkIiwgcywgZnNfdHlwZSk7CisgICAgICBicmVhazsK KyAgICB9Cit9CiAjZW5kaWYKIAotZXh0ZXJuIE5TU3RyaW5nICpOU01lbnVEaWRCZWdpblRyYWNr aW5nTm90aWZpY2F0aW9uOwogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCkBAIC0yNDIsNyArMjY0 LDcgQEAgc3RhdGljIHN0cnVjdCBmcmFtZSAqbnNfdXBkYXRpbmdfZnJhbWU7CiBzdGF0aWMgTlNW aWV3ICpmb2N1c192aWV3ID0gTlVMTDsKIHN0YXRpYyBpbnQgbnNfd2luZG93X251bSA9IDA7CiAj aWZkZWYgTlNfSU1QTF9HTlVTVEVQCi1zdGF0aWMgTlNSZWN0IHVSZWN0Oworc3RhdGljIE5TUmVj dCB1UmVjdDsgICAgICAgICAgICAvLyBUT0RPOiBUaGlzIGlzIGRlYWQsIHJlbW92ZSBpdD8KICNl bmRpZgogc3RhdGljIEJPT0wgZ3NhdmVkID0gTk87CiBzdGF0aWMgQk9PTCBuc19mYWtlX2tleWRv d24gPSBOTzsKQEAgLTYyMiw2ICs2NDQsNDYgQEAgbnNfcmVsZWFzZV9hdXRvcmVsZWFzZV9wb29s ICh2b2lkICpwb29sKQogfQogCiAKKy8qIFRydWUsIGlmIHRoZSBtZW51IGJhciBzaG91bGQgYmUg aGlkZGVuLiAgKi8KKworc3RhdGljIEJPT0wKK25zX21lbnVfYmFyX3Nob3VsZF9iZV9oaWRkZW4g KHZvaWQpCit7CisgIHJldHVybiAhTklMUCAobnNfYXV0b19oaWRlX21lbnVfYmFyKQorICAgICYm IFtOU0FwcCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFByZXNlbnRhdGlvbk9wdGlv bnM6KV07Cit9CisKKworc3RhdGljIENHRmxvYXQKK25zX21lbnVfYmFyX2hlaWdodCAoTlNTY3Jl ZW4gKnNjcmVlbikKKy8qIFRoZSBoZWlnaHQgb2YgdGhlIG1lbnUgYmFyLCBpZiB2aXNpYmxlLiAq LworeworICAvLyAgTlNUUkFDRSAoIm5zX21lbnVfYmFyX2hlaWdodCIpOworCisgIENHRmxvYXQg cmVzOworCisgIGlmIChuc19tZW51X2Jhcl9zaG91bGRfYmVfaGlkZGVuKCkpCisgICAgeworICAg ICAgcmVzID0gMDsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICBOU1JlY3Qgc2NyZWVuRnJh bWUgPSBbc2NyZWVuIGZyYW1lXTsKKyAgICAgIE5TUmVjdCBzY3JlZW5WaXNpYmxlRnJhbWUgPSBb c2NyZWVuIHZpc2libGVGcmFtZV07CisKKyAgICAgIENHRmxvYXQgZnJhbWVUb3AgPSBzY3JlZW5G cmFtZS5vcmlnaW4ueSArIHNjcmVlbkZyYW1lLnNpemUuaGVpZ2h0OworICAgICAgQ0dGbG9hdCB2 aXNpYmxlRnJhbWVUb3AgPSAoc2NyZWVuVmlzaWJsZUZyYW1lLm9yaWdpbi55CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICArIHNjcmVlblZpc2libGVGcmFtZS5zaXplLmhlaWdodCk7 CisKKyAgICAgIHJlcyA9IGZyYW1lVG9wIC0gdmlzaWJsZUZyYW1lVG9wOworCisgICAgfQorCisg IC8vIE5TVFJBQ0VfTVNHIChOU1RSQUNFX0ZNVF9SRVRVUk4gIiUuMGYiLCByZXMpOworCisgIHJl dHVybiByZXM7Cit9CisKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIApAQCAtNjcxLDQ0ICs3MzMs MTQwIEBAIG5zX3JlbGVhc2VfYXV0b3JlbGVhc2VfcG9vbCAodm9pZCAqcG9vbCkKIC8vICAgIFJl c3VsdDogTWVudSBiYXIgdmlzaWJsZSwgZnJhbWUgcGxhY2VkIGltbWVkaWF0ZWx5IGJlbG93IHRo ZSBtZW51LgogLy8KIAorc3RhdGljIE5TUmVjdCBjb25zdHJhaW5fZnJhbWVfcmVjdChOU1JlY3Qg ZnJhbWVSZWN0KQoreworICBOU1RSQUNFICgiY29uc3RyYWluX2ZyYW1lX3JlY3QoIiBOU1RSQUNF X0ZNVF9SRUNUICIpIiwKKyAgICAgICAgICAgICBOU1RSQUNFX0FSR19SRUNUIChmcmFtZVJlY3Qp KTsKKworICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLQorICAvLyBDb2xsZWN0IGluZm9ybWF0aW9u IGFib3V0IHRoZSBzY3JlZW4gdGhlIGZyYW1lIGlzIGNvdmVyaW5nLgorICAvLworCisgIE5TQXJy YXkgKnNjcmVlbnMgPSBbTlNTY3JlZW4gc2NyZWVuc107CisgIE5TVUludGVnZXIgbnJfc2NyZWVu cyA9IFtzY3JlZW5zIGNvdW50XTsKKworICBpbnQgaTsKKworICAvLyBUaGUgaGVpZ2h0IG9mIHRo ZSBtZW51IGJhciwgaWYgcHJlc2VudCBpbiBhbnkgc2NyZWVuIHRoZSBmcmFtZSBpcworICAvLyBk aXNwbGF5ZWQgaW4uCisgIGludCBtZW51X2Jhcl9oZWlnaHQgPSAwOworCisgIC8vIEEgcmVjdGFu Z2xlIGNvdmVyaW5nIGFsbCB0aGUgc2NyZWVuIHRoZSBmcmFtZSBpcyBkaXNwbGF5ZWQgaW4uCisg IE5TUmVjdCBtdWx0aXNjcmVlblJlY3QgPSBOU01ha2VSZWN0KDAsIDAsIDAsIDApOworICBmb3Ig KGkgPSAwOyBpIDwgbnJfc2NyZWVuczsgKytpICkKKyAgICB7CisgICAgICBOU1NjcmVlbiAqcyA9 IFtzY3JlZW5zIG9iamVjdEF0SW5kZXg6IGldOworICAgICAgTlNSZWN0IHNjclJlY3QgPSBbcyBm cmFtZV07CisKKyAgICAgIE5TVFJBQ0VfTVNHICgiU2NyZWVuICVkOiAiIE5TVFJBQ0VfRk1UX1JF Q1QsCisgICAgICAgICAgICAgICAgICAgaSwgTlNUUkFDRV9BUkdfUkVDVCAoc2NyUmVjdCkpOwor CisgICAgICBpZiAoTlNJbnRlcnNlY3Rpb25SZWN0IChmcmFtZVJlY3QsIHNjclJlY3QpLnNpemUu aGVpZ2h0ICE9IDApCisgICAgICAgIHsKKyAgICAgICAgICBtdWx0aXNjcmVlblJlY3QgPSBOU1Vu aW9uUmVjdCAobXVsdGlzY3JlZW5SZWN0LCBzY3JSZWN0KTsKKworICAgICAgICAgIG1lbnVfYmFy X2hlaWdodCA9IG1heChtZW51X2Jhcl9oZWlnaHQsIG5zX21lbnVfYmFyX2hlaWdodCAocykpOwor ICAgICAgICB9CisgICAgfQorCisgIE5TVFJBQ0VfUkVDVCAoIm11bHRpc2NyZWVuUmVjdCIsIG11 bHRpc2NyZWVuUmVjdCk7CisKKyAgTlNUUkFDRV9NU0cgKCJtZW51X2Jhcl9oZWlnaHQ6ICVkIiwg bWVudV9iYXJfaGVpZ2h0KTsKKworICBpZiAobXVsdGlzY3JlZW5SZWN0LnNpemUud2lkdGggPT0g MAorICAgICAgfHwgbXVsdGlzY3JlZW5SZWN0LnNpemUuaGVpZ2h0ID09IDApCisgICAgeworICAg ICAgLy8gRmFpbGVkIHRvIGZpbmQgYW55IG1vbml0b3IsIGdpdmUgdXAuCisgICAgICBOU1RSQUNF X01TRyAoIm11bHRpc2NyZWVuUmVjdCBlbXB0eSIpOworICAgICAgTlNUUkFDRV9SRVRVUk5fUkVD VCAoZnJhbWVSZWN0KTsKKyAgICAgIHJldHVybiBmcmFtZVJlY3Q7CisgICAgfQorCisKKyAgLy8g LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgLy8gRmluZCBhIHN1aXRhYmxlIHBsYWNlbWVudC4KKyAg Ly8KKworICBpZiAobnNfbWVudV9iYXJfc2hvdWxkX2JlX2hpZGRlbigpKQorICAgIHsKKyAgICAg IC8vIFdoZW4gdGhlIG1lbnUgYmFyIGlzIGhpZGRlbiwgdGhlIHVzZXIgbWF5IHBsYWNlIHBhcnQg b2YgdGhlCisgICAgICAvLyBmcmFtZSBhYm92ZSB0aGUgdG9wIG9mIHRoZSBzY3JlZW4sIGZvciBl eGFtcGxlIHRvIGhpZGUgdGhlCisgICAgICAvLyB0aXRsZSBiYXIuCisgICAgICAvLworICAgICAg Ly8gSGVuY2UsIGtlZXAgdGhlIG9yaWdpbmFsIHBvc2l0aW9uLgorICAgIH0KKyAgZWxzZQorICAg IHsKKyAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBmcmFtZSBpcyBiZWxvdyB0aGUgbWVudSBiYXIs IG9yIGJlbG93IHRoZSB0b3AKKyAgICAgIC8vIG9mIHRoZSBzY3JlZW4uCisgICAgICAvLworICAg ICAgLy8gVGhpcyBhc3N1bWUgdGhhdCB0aGUgbWVudSBiYXIgaXMgcGxhY2VkIGF0IHRoZSB0b3Ag aW4gdGhlCisgICAgICAvLyByZWN0YW5nbGUgdGhhdCBjb3ZlcnMgdGhlIG1vbml0b3JzLiAoSXQg ZG9lc24ndCBoYXZlIHRvIGJlLAorICAgICAgLy8gYnV0IGlmIGl0J3Mgbm90IGl0J3MgaGFyZCB0 byBkbyBhbnl0aGluZyB1c2VmdWwuKQorICAgICAgQ0dGbG9hdCB0b3BPZldvcmtBcmVhID0gKG11 bHRpc2NyZWVuUmVjdC5vcmlnaW4ueQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsg bXVsdGlzY3JlZW5SZWN0LnNpemUuaGVpZ2h0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLSBtZW51X2Jhcl9oZWlnaHQpOworCisgICAgICBDR0Zsb2F0IHRvcE9mRnJhbWUgPSBmcmFt ZVJlY3Qub3JpZ2luLnkgKyBmcmFtZVJlY3Quc2l6ZS5oZWlnaHQ7CisgICAgICBpZiAodG9wT2ZG cmFtZSA+IHRvcE9mV29ya0FyZWEpCisgICAgICAgIHsKKyAgICAgICAgICBmcmFtZVJlY3Qub3Jp Z2luLnkgLT0gdG9wT2ZGcmFtZSAtIHRvcE9mV29ya0FyZWE7CisgICAgICAgICAgTlNUUkFDRV9S RUNUICgiQWZ0ZXIgcGxhY2VtZW50IGFkanVzdCIsIGZyYW1lUmVjdCk7CisgICAgICAgIH0KKyAg ICB9CisKKyAgLy8gSW5jbHVkZSB0aGUgZm9sbG93aW5nIHNlY3Rpb24gdG8gcmVzdHJpY3QgZnJh bWUgdG8gdGhlIHNjcmVlbnMuCisgIC8vIChJZiBzbywgdXBkYXRlIGl0IHRvIGFsbG93IHRoZSBm cmFtZSB0byBzdHJldGNoIGRvd24gYmVsb3cgdGhlCisgIC8vIHNjcmVlbi4pCisjaWYgMAorICAv LyAtLS0tLS0tLS0tLS0tLS0tLS0tLQorICAvLyBFbnN1cmUgZnJhbWUgZG9lc24ndCBzdHJldGNo IGJlbG93IHRoZSBzY3JlZW5zLgorICAvLworCisgIENHRmxvYXQgZGlmZiA9IG11bHRpc2NyZWVu UmVjdC5vcmlnaW4ueSAtIGZyYW1lUmVjdC5vcmlnaW4ueTsKKworICBpZiAoZGlmZiA+IDApCisg ICAgeworICAgICAgZnJhbWVSZWN0Lm9yaWdpbi55ID0gbXVsdGlzY3JlZW5SZWN0Lm9yaWdpbi55 OworICAgICAgZnJhbWVSZWN0LnNpemUuaGVpZ2h0IC09IGRpZmY7CisgICAgfQorI2VuZGlmCisK KyAgTlNUUkFDRV9SRVRVUk5fUkVDVCAoZnJhbWVSZWN0KTsKKyAgcmV0dXJuIGZyYW1lUmVjdDsK K30KKworCiBzdGF0aWMgdm9pZAogbnNfY29uc3RyYWluX2FsbF9mcmFtZXMgKHZvaWQpCiB7CiAg IExpc3BfT2JqZWN0IHRhaWwsIGZyYW1lOwogCisgIE5TVFJBQ0UgKCJuc19jb25zdHJhaW5fYWxs X2ZyYW1lcyIpOworCiAgIEZPUl9FQUNIX0ZSQU1FICh0YWlsLCBmcmFtZSkKICAgICB7CiAgICAg ICBzdHJ1Y3QgZnJhbWUgKmYgPSBYRlJBTUUgKGZyYW1lKTsKICAgICAgIGlmIChGUkFNRV9OU19Q IChmKSkKICAgICAgICAgewogICAgICAgICAgIE5TVmlldyAqdmlldyA9IEZSQU1FX05TX1ZJRVcg KGYpOwotICAgICAgICAgIC8qIFRoaXMgbm8tb3Agd2lsbCB0cmlnZ2VyIHRoZSBkZWZhdWx0IHdp bmRvdyBwbGFjaW5nCi0gICAgICAgICAgICogY29uc3RyYWludCBzeXN0ZW0uICovCi0gICAgICAg ICAgW1t2aWV3IHdpbmRvd10gc2V0RnJhbWVPcmlnaW46W1t2aWV3IHdpbmRvd10gZnJhbWVdLm9y aWdpbl07CisKKyAgICAgICAgICBbW3ZpZXcgd2luZG93XSBzZXRGcmFtZTpjb25zdHJhaW5fZnJh bWVfcmVjdChbW3ZpZXcgd2luZG93XSBmcmFtZV0pCisgICAgICAgICAgICAgICAgICAgICAgICAg IGRpc3BsYXk6Tk9dOwogICAgICAgICB9CiAgICAgfQogfQogCiAKLS8qIFRydWUsIGlmIHRoZSBt ZW51IGJhciBzaG91bGQgYmUgaGlkZGVuLiAgKi8KLQotc3RhdGljIEJPT0wKLW5zX21lbnVfYmFy X3Nob3VsZF9iZV9oaWRkZW4gKHZvaWQpCi17Ci0gIHJldHVybiAhTklMUCAobnNfYXV0b19oaWRl X21lbnVfYmFyKQotICAgICYmIFtOU0FwcCByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNl dFByZXNlbnRhdGlvbk9wdGlvbnM6KV07Ci19Ci0KLQogLyogU2hvdyBvciBoaWRlIHRoZSBtZW51 IGJhciwgYmFzZWQgb24gdXNlciBzZXR0aW5nLiAgKi8KIAogc3RhdGljIHZvaWQKIG5zX3VwZGF0 ZV9hdXRvX2hpZGVfbWVudV9iYXIgKHZvaWQpCiB7CiAjaWZkZWYgTlNfSU1QTF9DT0NPQQotICBi bG9ja19pbnB1dCAoKTsKKyAgTlNUUkFDRSAoIm5zX3VwZGF0ZV9hdXRvX2hpZGVfbWVudV9iYXIi KTsKIAotICBOU1RSQUNFIChuc191cGRhdGVfYXV0b19oaWRlX21lbnVfYmFyKTsKKyAgYmxvY2tf aW5wdXQgKCk7CiAKICAgaWYgKE5TQXBwICE9IG5pbCAmJiBbTlNBcHAgaXNBY3RpdmVdKQogICAg IHsKQEAgLTc0OSw3ICs5MDcsNyBAQCBuc191cGRhdGVfYmVnaW4gKHN0cnVjdCBmcmFtZSAqZikK ICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiB7CiAgIEVtYWNzVmlldyAqdmlldyA9IEZSQU1FX05T X1ZJRVcgKGYpOwotICBOU1RSQUNFIChuc191cGRhdGVfYmVnaW4pOworICBOU1RSQUNFICgibnNf dXBkYXRlX2JlZ2luIik7CiAKICAgbnNfdXBkYXRlX2F1dG9faGlkZV9tZW51X2JhciAoKTsKIApA QCAtODA2LDcgKzk2NCw3IEBAIG5zX3VwZGF0ZV93aW5kb3dfYmVnaW4gKHN0cnVjdCB3aW5kb3cg KncpCiAgIHN0cnVjdCBmcmFtZSAqZiA9IFhGUkFNRSAoV0lORE9XX0ZSQU1FICh3KSk7CiAgIE1v dXNlX0hMSW5mbyAqaGxpbmZvID0gTU9VU0VfSExfSU5GTyAoZik7CiAKLSAgTlNUUkFDRSAobnNf dXBkYXRlX3dpbmRvd19iZWdpbik7CisgIE5TVFJBQ0UgKCJuc191cGRhdGVfd2luZG93X2JlZ2lu Iik7CiAgIHctPm91dHB1dF9jdXJzb3IgPSB3LT5jdXJzb3I7CiAKICAgYmxvY2tfaW5wdXQgKCk7 CkBAIC04MzYsNiArOTk0LDggQEAgbnNfdXBkYXRlX3dpbmRvd19lbmQgKHN0cnVjdCB3aW5kb3cg KncsIGJvb2wgY3Vyc29yX29uX3AsCiAgICBleHRlcm5hbCAoUklGKSBjYWxsOyBmb3Igb25lIHdp bmRvdyBjYWxsZWQgYmVmb3JlIHVwZGF0ZV9lbmQKICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiB7 CisgIE5TVFJBQ0UgKCJ1cGRhdGVfd2luZG93X2VuZCIpOworCiAgIC8qIG5vdGU6IHRoaXMgZm4g aXMgbmVhcmx5IGlkZW50aWNhbCBpbiBhbGwgdGVybXMgKi8KICAgaWYgKCF3LT5wc2V1ZG9fd2lu ZG93X3ApCiAgICAgewpAQCAtODYxLDggKzEwMjEsNiBAQCBuc191cGRhdGVfd2luZG93X2VuZCAo c3RydWN0IHdpbmRvdyAqdywgYm9vbCBjdXJzb3Jfb25fcCwKICAgICAgZnJhbWVfdXBfdG9fZGF0 ZSB0byByZWRpc3BsYXkgdGhlIG1vdXNlIGhpZ2hsaWdodC4gICovCiAgIGlmIChtb3VzZV9mYWNl X292ZXJ3cml0dGVuX3ApCiAgICAgcmVzZXRfbW91c2VfaGlnaGxpZ2h0IChNT1VTRV9ITF9JTkZP IChYRlJBTUUgKHctPmZyYW1lKSkpOwotCi0gIE5TVFJBQ0UgKHVwZGF0ZV93aW5kb3dfZW5kKTsK IH0KIAogCkBAIC04NzUsNiArMTAzMyw4IEBAIG5zX3VwZGF0ZV9lbmQgKHN0cnVjdCBmcmFtZSAq ZikKIHsKICAgRW1hY3NWaWV3ICp2aWV3ID0gRlJBTUVfTlNfVklFVyAoZik7CiAKKyAgTlNUUkFD RSAoIm5zX3VwZGF0ZV9lbmQiKTsKKwogLyogICBpZiAoZiA9PSBNT1VTRV9ITF9JTkZPIChmKS0+ bW91c2VfZmFjZV9tb3VzZV9mcmFtZSkgKi8KICAgTU9VU0VfSExfSU5GTyAoZiktPm1vdXNlX2Zh Y2VfZGVmZXIgPSAwOwogCkBAIC04ODUsNyArMTA0NSw2IEBAIG5zX3VwZGF0ZV9lbmQgKHN0cnVj dCBmcmFtZSAqZikKIAogICB1bmJsb2NrX2lucHV0ICgpOwogICBuc191cGRhdGluZ19mcmFtZSA9 IE5VTEw7Ci0gIE5TVFJBQ0UgKG5zX3VwZGF0ZV9lbmQpOwogfQogCiBzdGF0aWMgdm9pZApAQCAt ODk5LDcgKzEwNTgsNyBAQCBuc19mb2N1cyAoc3RydWN0IGZyYW1lICpmLCBOU1JlY3QgKnIsIGlu dCBuKQogICAgICB0aGUgZW50aXJlIHdpbmRvdy4KICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiB7 Ci0vLyAgTlNUUkFDRSAobnNfZm9jdXMpOworLy8gIE5TVFJBQ0UgKCJuc19mb2N1cyIpOwogLyog c3RhdGljIGludCBjID0wOwogICAgZnByaW50ZiAoc3RkZXJyLCAiZm9jdXM6ICVkIiwgYysrKTsK ICAgIGlmIChyKSBmcHJpbnRmIChzdGRlcnIsICIgKCUuMGYsICUuMGYgOiAlLjBmIHggJS4wZiki LCByLT5vcmlnaW4ueCwgci0+b3JpZ2luLnksIHItPnNpemUud2lkdGgsIHItPnNpemUuaGVpZ2h0 KTsKQEAgLTk0Myw3ICsxMTAyLDcgQEAgbnNfdW5mb2N1cyAoc3RydWN0IGZyYW1lICpmKQogICAg ICBJbnRlcm5hbDogUmVtb3ZlIGZvY3VzIG9uIGdpdmVuIGZyYW1lCiAgICAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSAqLwogewotLy8gIE5TVFJBQ0UgKG5zX3VuZm9jdXMpOworLy8gIE5TVFJBQ0UgKCJuc191 bmZvY3VzIik7CiAKICAgaWYgKGdzYXZlZCkKICAgICB7CkBAIC05OTMsNyArMTE1Miw3IEBAIG5z X3JpbmdfYmVsbCAoc3RydWN0IGZyYW1lICpmKQogICAgICAiQmVlcCIgcm91dGluZQogICAgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0gKi8KIHsKLSAgTlNUUkFDRSAobnNfcmluZ19iZWxsKTsKKyAgTlNUUkFD RSAoIm5zX3JpbmdfYmVsbCIpOwogICBpZiAodmlzaWJsZV9iZWxsKQogICAgIHsKICAgICAgIE5T QXV0b3JlbGVhc2VQb29sICpwb29sOwpAQCAtMTA3OSw3ICsxMjM4LDcgQEAgbnNfZnJhbWVfcmFp c2VfbG93ZXIgKHN0cnVjdCBmcmFtZSAqZiwgYm9vbCByYWlzZSkKICAgICAgRXh0ZXJuYWwgKGhv b2spCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogewotICBOU1RSQUNFIChuc19mcmFtZV9yYWlz ZV9sb3dlcik7CisgIE5TVFJBQ0UgKCJuc19mcmFtZV9yYWlzZV9sb3dlciIpOwogCiAgIGlmIChy YWlzZSkKICAgICBuc19yYWlzZV9mcmFtZSAoZik7CkBAIC0xMDk3LDcgKzEyNTYsNyBAQCBuc19m cmFtZV9yZWhpZ2hsaWdodCAoc3RydWN0IGZyYW1lICpmcmFtZSkKICAgc3RydWN0IG5zX2Rpc3Bs YXlfaW5mbyAqZHB5aW5mbyA9IEZSQU1FX0RJU1BMQVlfSU5GTyAoZnJhbWUpOwogICBzdHJ1Y3Qg ZnJhbWUgKm9sZF9oaWdobGlnaHQgPSBkcHlpbmZvLT54X2hpZ2hsaWdodF9mcmFtZTsKIAotICBO U1RSQUNFIChuc19mcmFtZV9yZWhpZ2hsaWdodCk7CisgIE5TVFJBQ0UgKCJuc19mcmFtZV9yZWhp Z2hsaWdodCIpOwogICBpZiAoZHB5aW5mby0+eF9mb2N1c19mcmFtZSkKICAgICB7CiAgICAgICBk cHlpbmZvLT54X2hpZ2hsaWdodF9mcmFtZQpAQCAtMTEzNiw3ICsxMjk1LDcgQEAgeF9tYWtlX2Zy YW1lX3Zpc2libGUgKHN0cnVjdCBmcmFtZSAqZikKICAgICAgRXh0ZXJuYWw6IFNob3cgdGhlIHdp bmRvdyAoWDExIHNlbWFudGljcykKICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiB7Ci0gIE5TVFJB Q0UgKHhfbWFrZV9mcmFtZV92aXNpYmxlKTsKKyAgTlNUUkFDRSAoInhfbWFrZV9mcmFtZV92aXNp YmxlIik7CiAgIC8qIFhYWDogYXQgc29tZSBwb2ludHMgaW4gcGFzdCB0aGlzIHdhcyBub3QgbmVl ZGVkLCBhcyB0aGUgb25seSBwbGFjZSB0aGF0CiAgICAgIGNhbGxlZCB0aGlzIChmcmFtZS5jOkZy YWlzZV9mcmFtZSAoKSkgYWxzbyBjYWxsZWQgcmFpc2VfbG93ZXI7CiAgICAgIGlmIHRoaXMgZW5k cyB1cCB0aGUgY2FzZSBhZ2FpbiwgY29tbWVudCB0aGlzIG91dCBhZ2Fpbi4gKi8KQEAgLTExNzAs NyArMTMyOSw3IEBAIHhfbWFrZV9mcmFtZV9pbnZpc2libGUgKHN0cnVjdCBmcmFtZSAqZikKICAg IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tICovCiB7CiAgIE5TVmlldyAqdmlldzsKLSAgTlNUUkFDRSAoeF9t YWtlX2ZyYW1lX2ludmlzaWJsZSk7CisgIE5TVFJBQ0UgKCJ4X21ha2VfZnJhbWVfaW52aXNpYmxl Iik7CiAgIGNoZWNrX3dpbmRvd19zeXN0ZW0gKGYpOwogICB2aWV3ID0gRlJBTUVfTlNfVklFVyAo Zik7CiAgIFtbdmlldyB3aW5kb3ddIG9yZGVyT3V0OiBOU0FwcF07CkBAIC0xMTg4LDcgKzEzNDcs NyBAQCB4X2ljb25pZnlfZnJhbWUgKHN0cnVjdCBmcmFtZSAqZikKICAgTlNWaWV3ICp2aWV3Owog ICBzdHJ1Y3QgbnNfZGlzcGxheV9pbmZvICpkcHlpbmZvOwogCi0gIE5TVFJBQ0UgKHhfaWNvbmlm eV9mcmFtZSk7CisgIE5TVFJBQ0UgKCJ4X2ljb25pZnlfZnJhbWUiKTsKICAgY2hlY2tfd2luZG93 X3N5c3RlbSAoZik7CiAgIHZpZXcgPSBGUkFNRV9OU19WSUVXIChmKTsKICAgZHB5aW5mbyA9IEZS QU1FX0RJU1BMQVlfSU5GTyAoZik7CkBAIC0xMjIwLDcgKzEzNzksNyBAQCB4X2ZyZWVfZnJhbWVf cmVzb3VyY2VzIChzdHJ1Y3QgZnJhbWUgKmYpCiAgIHN0cnVjdCBuc19kaXNwbGF5X2luZm8gKmRw eWluZm87CiAgIE1vdXNlX0hMSW5mbyAqaGxpbmZvOwogCi0gIE5TVFJBQ0UgKHhfZnJlZV9mcmFt ZV9yZXNvdXJjZXMpOworICBOU1RSQUNFICgieF9mcmVlX2ZyYW1lX3Jlc291cmNlcyIpOwogICBj aGVja193aW5kb3dfc3lzdGVtIChmKTsKICAgdmlldyA9IEZSQU1FX05TX1ZJRVcgKGYpOwogICBk cHlpbmZvID0gRlJBTUVfRElTUExBWV9JTkZPIChmKTsKQEAgLTEyNTcsNyArMTQxNiw3IEBAIHhf ZGVzdHJveV93aW5kb3cgKHN0cnVjdCBmcmFtZSAqZikKICAgICAgRXh0ZXJuYWw6IERlbGV0ZSB0 aGUgd2luZG93CiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogewotICBOU1RSQUNFICh4X2Rlc3Ry b3lfd2luZG93KTsKKyAgTlNUUkFDRSAoInhfZGVzdHJveV93aW5kb3ciKTsKICAgY2hlY2tfd2lu ZG93X3N5c3RlbSAoZik7CiAgIHhfZnJlZV9mcmFtZV9yZXNvdXJjZXMgKGYpOwogICBuc193aW5k b3dfbnVtLS07CkBAIC0xMjc1LDcgKzE0MzQsNyBAQCB4X3NldF9vZmZzZXQgKHN0cnVjdCBmcmFt ZSAqZiwgaW50IHhvZmYsIGludCB5b2ZmLCBpbnQgY2hhbmdlX2dyYXYpCiAgIE5TU2NyZWVuICpm c2NyZWVuID0gW3NjcmVlbnMgb2JqZWN0QXRJbmRleDogMF07CiAgIE5TU2NyZWVuICpzY3JlZW4g PSBbW3ZpZXcgd2luZG93XSBzY3JlZW5dOwogCi0gIE5TVFJBQ0UgKHhfc2V0X29mZnNldCk7Cisg IE5TVFJBQ0UgKCJ4X3NldF9vZmZzZXQiKTsKIAogICBibG9ja19pbnB1dCAoKTsKIApAQCAtMTMw MSwxMCArMTQ2MCwxMSBAQCB4X3NldF9vZmZzZXQgKHN0cnVjdCBmcmFtZSAqZiwgaW50IHhvZmYs IGludCB5b2ZmLCBpbnQgY2hhbmdlX2dyYXYpCiAjZW5kaWYKICAgICAgIC8qIENvbnN0cmFpbiB0 aGUgc2V0RnJhbWVUb3BMZWZ0UG9pbnQgc28gd2UgZG9uJ3QgbW92ZSBiZWhpbmQgdGhlCiAgICAg ICAgICBtZW51IGJhci4gICovCi0gICAgICBbW3ZpZXcgd2luZG93XSBzZXRGcmFtZVRvcExlZnRQ b2ludDoKLSAgICAgICAgICAgICAgICAgICAgICAgTlNNYWtlUG9pbnQgKFNDUkVFTk1BWEJPVU5E IChmLT5sZWZ0X3BvcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQ1JF RU5NQVhCT1VORCAoW2ZzY3JlZW4gZnJhbWVdLnNpemUuaGVpZ2h0Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBOU19UT1BfUE9TIChmKSkpXTsK KyAgICAgIE5TUG9pbnQgcHQgPSBOU01ha2VQb2ludCAoU0NSRUVOTUFYQk9VTkQgKGYtPmxlZnRf cG9zKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0NSRUVOTUFYQk9VTkQgKFtm c2NyZWVuIGZyYW1lXS5zaXplLmhlaWdodAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLSBOU19UT1BfUE9TIChmKSkpOworICAgICAgTlNUUkFDRV9QT0lO VCAoInNldEZyYW1lVG9wTGVmdFBvaW50IiwgcHQpOworICAgICAgW1t2aWV3IHdpbmRvd10gc2V0 RnJhbWVUb3BMZWZ0UG9pbnQ6IHB0XTsKICAgICAgIGYtPnNpemVfaGludF9mbGFncyAmPSB+KFhO ZWdhdGl2ZXxZTmVnYXRpdmUpOwogICAgIH0KIApAQCAtMTMzMiwxMSArMTQ5MiwxMyBAQCB4X3Nl dF93aW5kb3dfc2l6ZSAoc3RydWN0IGZyYW1lICpmLAogICBpbnQgcm93cywgY29sczsKICAgaW50 IG9yaWdfaGVpZ2h0ID0gd3Iuc2l6ZS5oZWlnaHQ7CiAKLSAgTlNUUkFDRSAoeF9zZXRfd2luZG93 X3NpemUpOworICBOU1RSQUNFICgieF9zZXRfd2luZG93X3NpemUiKTsKIAogICBpZiAodmlldyA9 PSBuaWwpCiAgICAgcmV0dXJuOwogCisgIE5TVFJBQ0VfUkVDVCAoImlucHV0Iiwgd3IpOworCiAv KmZwcmludGYgKHN0ZGVyciwgIlx0c2V0V2luZG93U2l6ZTogJWQgeCAlZCwgcGl4ZWx3aXNlICVk LCBmb250IHNpemUgJWQgeCAlZFxuIiwgd2lkdGgsIGhlaWdodCwgcGl4ZWx3aXNlLCBGUkFNRV9D T0xVTU5fV0lEVEggKGYpLCBGUkFNRV9MSU5FX0hFSUdIVCAoZikpOyovCiAKICAgYmxvY2tfaW5w dXQgKCk7CkBAIC0xMzk4LDYgKzE1NjAsNyBAQCB4X3NldF93aW5kb3dfc2l6ZSAoc3RydWN0IGZy YW1lICpmLAogCSAgIG1ha2VfbnVtYmVyIChGUkFNRV9UT09MQkFSX0hFSUdIVCAoZikpKSk7CiAK ICAgW3ZpZXcgc2V0Um93czogcm93cyBhbmRDb2x1bW5zOiBjb2xzXTsKKyAgTlNUUkFDRV9SRUNU ICgic2V0RnJhbWUiLCB3cik7CiAgIFt3aW5kb3cgc2V0RnJhbWU6IHdyIGRpc3BsYXk6IFlFU107 CiAKICAgLyogVGhpcyBpcyBhIHRyaWNrIHRvIGNvbXBlbnNhdGUgZm9yIEVtYWNzJyBtYW5hZ2lu ZyB0aGUgc2Nyb2xsYmFyIGFyZWEKQEAgLTE0MTIsNiArMTU3NSw3IEBAIHhfc2V0X3dpbmRvd19z aXplIChzdHJ1Y3QgZnJhbWUgKmYsCiAgICAgICA/IE5TTWFrZVBvaW50IChGUkFNRV9TQ1JPTExf QkFSX0NPTFMgKGYpICogRlJBTUVfQ09MVU1OX1dJRFRIIChmKQogICAgICAgICAgICAgICAgICAg ICAgLSBOU19TQ1JPTExfQkFSX1dJRFRIIChmKSwgMCkKICAgICAgIDogTlNNYWtlUG9pbnQgKDAs IDApOworICAgIE5TVFJBQ0VfUkVDVCAoInNldEZyYW1lIiwgd3IpOwogICAgIFt2aWV3IHNldEZy YW1lOiBOU01ha2VSZWN0ICgwLCAwLCBwaXhlbHdpZHRoLCBwaXhlbGhlaWdodCldOwogICAgIFt2 aWV3IHNldEJvdW5kc09yaWdpbjogb3JpZ2luXTsKICAgfQpAQCAtMTQyNiw2ICsxNTkwLDggQEAg bnNfZnVsbHNjcmVlbl9ob29rIChzdHJ1Y3QgZnJhbWUgKmYpCiB7CiAgIEVtYWNzVmlldyAqdmll dyA9IChFbWFjc1ZpZXcgKilGUkFNRV9OU19WSUVXIChmKTsKIAorICBOU1RSQUNFICgibnNfZnVs bHNjcmVlbl9ob29rIik7CisKICAgaWYgKCFGUkFNRV9WSVNJQkxFX1AgKGYpKQogICAgIHJldHVy bjsKIApAQCAtMTY3Miw3ICsxODM4LDcgQEAgbnNfbGlzcF90b19jb2xvciAoTGlzcF9PYmplY3Qg Y29sb3IsIE5TQ29sb3IgKipjb2wpCiAgICAgIENvbnZlcnQgYSBMaXNwIHN0cmluZyBvYmplY3Qg dG8gYSBOUyBjb2xvcgogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIHsKLSAgTlNUUkFDRSAobnNf bGlzcF90b19jb2xvcik7CisgIE5TVFJBQ0UgKCJuc19saXNwX3RvX2NvbG9yIik7CiAgIGlmIChT VFJJTkdQIChjb2xvcikpCiAgICAgcmV0dXJuIG5zX2dldF9jb2xvciAoU1NEQVRBIChjb2xvciks IGNvbCk7CiAgIGVsc2UgaWYgKFNZTUJPTFAgKGNvbG9yKSkKQEAgLTE2OTAsNyArMTg1Niw3IEBA IG5zX2NvbG9yX3RvX2xpc3AgKE5TQ29sb3IgKmNvbCkKICAgRW1hY3NDR0Zsb2F0IHJlZCwgZ3Jl ZW4sIGJsdWUsIGFscGhhLCBncmF5OwogICBjaGFyIGJ1ZlsxMDI0XTsKICAgY29uc3QgY2hhciAq c3RyOwotICBOU1RSQUNFIChuc19jb2xvcl90b19saXNwKTsKKyAgTlNUUkFDRSAoIm5zX2NvbG9y X3RvX2xpc3AiKTsKIAogICBibG9ja19pbnB1dCAoKTsKICAgaWYgKFtbY29sIGNvbG9yU3BhY2VO YW1lXSBpc0VxdWFsVG9TdHJpbmc6IE5TTmFtZWRDb2xvclNwYWNlXSkKQEAgLTE3NTgsNyArMTky NCw3IEBAIG5zX2RlZmluZWRfY29sb3IgKHN0cnVjdCBmcmFtZSAqZiwKICAgIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tICovCiB7CiAgIE5TQ29sb3IgKmNvbDsKLSAgTlNUUkFDRSAobnNfZGVmaW5lZF9jb2xv cik7CisgIE5TVFJBQ0UgKCJuc19kZWZpbmVkX2NvbG9yIik7CiAKICAgYmxvY2tfaW5wdXQgKCk7 CiAgIGlmIChuc19nZXRfY29sb3IgKG5hbWUsICZjb2wpICE9IDApIC8qIENvbG9yIG5vdCBmb3Vu ZCAgKi8KQEAgLTE4MjMsNyArMTk4OSw3IEBAIGZyYW1lX3NldF9tb3VzZV9waXhlbF9wb3NpdGlv biAoc3RydWN0IGZyYW1lICpmLCBpbnQgcGl4X3gsIGludCBwaXhfeSkKICAgICAgUHJvZ3JhbW1h dGljYWxseSByZXBvc2l0aW9uIG1vdXNlIHBvaW50ZXIgaW4gcGl4ZWwgY29vcmRpbmF0ZXMKICAg IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tICovCiB7Ci0gIE5TVFJBQ0UgKGZyYW1lX3NldF9tb3VzZV9waXhl bF9wb3NpdGlvbik7CisgIE5TVFJBQ0UgKCJmcmFtZV9zZXRfbW91c2VfcGl4ZWxfcG9zaXRpb24i KTsKICAgbnNfcmFpc2VfZnJhbWUgKGYpOwogI2lmIDAKICAgLyogRklYTUU6IHRoaXMgZG9lcyBu b3Qgd29yaywgYW5kIHdoYXQgYWJvdXQgR05Vc3RlcD8gKi8KQEAgLTE4NDYsNyArMjAxMiw3IEBA IG5vdGVfbW91c2VfbW92ZW1lbnQgKHN0cnVjdCBmcmFtZSAqZnJhbWUsIENHRmxvYXQgeCwgQ0dG bG9hdCB5KQogICBzdHJ1Y3QgbnNfZGlzcGxheV9pbmZvICpkcHlpbmZvID0gRlJBTUVfRElTUExB WV9JTkZPIChmcmFtZSk7CiAgIE5TUmVjdCAqcjsKIAotLy8gIE5TVFJBQ0UgKG5vdGVfbW91c2Vf bW92ZW1lbnQpOworLy8gIE5TVFJBQ0UgKCJub3RlX21vdXNlX21vdmVtZW50Iik7CiAKICAgZHB5 aW5mby0+bGFzdF9tb3VzZV9tb3Rpb25fZnJhbWUgPSBmcmFtZTsKICAgciA9ICZkcHlpbmZvLT5s YXN0X21vdXNlX2dseXBoOwpAQCAtMTg4Nyw3ICsyMDUzLDcgQEAgbnNfbW91c2VfcG9zaXRpb24g KHN0cnVjdCBmcmFtZSAqKmZwLCBpbnQgaW5zaXN0LCBMaXNwX09iamVjdCAqYmFyX3dpbmRvdywK ICAgc3RydWN0IGZyYW1lICpmOwogICBzdHJ1Y3QgbnNfZGlzcGxheV9pbmZvICpkcHlpbmZvOwog Ci0gIE5TVFJBQ0UgKG5zX21vdXNlX3Bvc2l0aW9uKTsKKyAgTlNUUkFDRSAoIm5zX21vdXNlX3Bv c2l0aW9uIik7CiAKICAgaWYgKCpmcCA9PSBOVUxMKQogICAgIHsKQEAgLTE5NDMsNyArMjEwOSw3 IEBAIG5zX2ZyYW1lX3VwX3RvX2RhdGUgKHN0cnVjdCBmcmFtZSAqZikKICAgICBDYW4ndCB1c2Ug RlJBTUVfTU9VU0VfVVBEQVRFIGR1ZSB0byBuc19mcmFtZV9iZWdpbiBhbmQgbnNfZnJhbWVfZW5k IGNhbGxzLgogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIHsKLSAgTlNUUkFDRSAobnNfZnJhbWVf dXBfdG9fZGF0ZSk7CisgIE5TVFJBQ0UgKCJuc19mcmFtZV91cF90b19kYXRlIik7CiAKICAgaWYg KEZSQU1FX05TX1AgKGYpKQogICAgIHsKQEAgLTE5NjgsNyArMjEzNCw3IEBAIG5zX2RlZmluZV9m cmFtZV9jdXJzb3IgKHN0cnVjdCBmcmFtZSAqZiwgQ3Vyc29yIGN1cnNvcikKICAgICBFeHRlcm5h bCAoUklGKTogc2V0IGZyYW1lIG1vdXNlIHBvaW50ZXIgdHlwZS4KICAgIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tICovCiB7Ci0gIE5TVFJBQ0UgKG5zX2RlZmluZV9mcmFtZV9jdXJzb3IpOworICBOU1RSQUNF ICgibnNfZGVmaW5lX2ZyYW1lX2N1cnNvciIpOwogICBpZiAoRlJBTUVfUE9JTlRFUl9UWVBFIChm KSAhPSBjdXJzb3IpCiAgICAgewogICAgICAgRW1hY3NWaWV3ICp2aWV3ID0gRlJBTUVfTlNfVklF VyAoZik7CkBAIC0yMDE1LDcgKzIxODEsNyBAQCB4X2dldF9rZXlzeW1fbmFtZSAoaW50IGtleXN5 bSkKICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiB7CiAgIHN0YXRpYyBjaGFyIHZhbHVlWzE2XTsK LSAgTlNUUkFDRSAoeF9nZXRfa2V5c3ltX25hbWUpOworICBOU1RSQUNFICgieF9nZXRfa2V5c3lt X25hbWUiKTsKICAgc3ByaW50ZiAodmFsdWUsICIlZCIsIGtleXN5bSk7CiAgIHJldHVybiB2YWx1 ZTsKIH0KQEAgLTIwMzUsNyArMjIwMSw3IEBAIG5zX3JlZHJhd19zY3JvbGxfYmFycyAoc3RydWN0 IGZyYW1lICpmKQogICBpbnQgaTsKICAgaWQgdmlldzsKICAgTlNBcnJheSAqc3Vidmlld3MgPSBb W0ZSQU1FX05TX1ZJRVcgKGYpIHN1cGVydmlld10gc3Vidmlld3NdOwotICBOU1RSQUNFIChuc19y ZWRyYXdfc2Nyb2xsX2JhcnMpOworICBOU1RSQUNFICgibnNfcmVkcmF3X3Njcm9sbF9iYXJzIik7 CiAgIGZvciAoaSA9W3N1YnZpZXdzIGNvdW50XS0xOyBpID49IDA7IGktLSkKICAgICB7CiAgICAg ICB2aWV3ID0gW3N1YnZpZXdzIG9iamVjdEF0SW5kZXg6IGldOwpAQCAtMjA1NCw3ICsyMjIwLDcg QEAgbnNfY2xlYXJfZnJhbWUgKHN0cnVjdCBmcmFtZSAqZikKICAgTlNWaWV3ICp2aWV3ID0gRlJB TUVfTlNfVklFVyAoZik7CiAgIE5TUmVjdCByOwogCi0gIE5TVFJBQ0UgKG5zX2NsZWFyX2ZyYW1l KTsKKyAgTlNUUkFDRSAoIm5zX2NsZWFyX2ZyYW1lIik7CiAKICAvKiBjb21lcyBvbiBpbml0aWFs IGZyYW1lIGJlY2F1c2Ugd2UgaGF2ZQogICAgIGFmdGVyLW1ha2UtZnJhbWUtZnVuY3Rpb25zID0g c2VsZWN0LWZyYW1lICovCkBAIC0yMDkwLDcgKzIyNTYsNyBAQCBuc19jbGVhcl9mcmFtZV9hcmVh IChzdHJ1Y3QgZnJhbWUgKmYsIGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQog ICBpZiAoIXZpZXcgfHwgIWZhY2UpCiAgICAgcmV0dXJuOwogCi0gIE5TVFJBQ0UgKG5zX2NsZWFy X2ZyYW1lX2FyZWEpOworICBOU1RSQUNFICgibnNfY2xlYXJfZnJhbWVfYXJlYSIpOwogCiAgIHIg PSBOU0ludGVyc2VjdGlvblJlY3QgKHIsIFt2aWV3IGZyYW1lXSk7CiAgIG5zX2ZvY3VzIChmLCAm ciwgMSk7CkBAIC0yMTI0LDcgKzIyOTAsNyBAQCBuc19zY3JvbGxfcnVuIChzdHJ1Y3Qgd2luZG93 ICp3LCBzdHJ1Y3QgcnVuICpydW4pCiAgIHN0cnVjdCBmcmFtZSAqZiA9IFhGUkFNRSAody0+ZnJh bWUpOwogICBpbnQgeCwgeSwgd2lkdGgsIGhlaWdodCwgZnJvbV95LCB0b195LCBib3R0b21feTsK IAotICBOU1RSQUNFIChuc19zY3JvbGxfcnVuKTsKKyAgTlNUUkFDRSAoIm5zX3Njcm9sbF9ydW4i KTsKIAogICAvKiBiZWdpbiBjb3B5IGZyb20gb3RoZXIgdGVybXMgKi8KICAgLyogR2V0IGZyYW1l LXJlbGF0aXZlIGJvdW5kaW5nIGJveCBvZiB0aGUgdGV4dCBkaXNwbGF5IGFyZWEgb2YgVywKQEAg LTIxODMsNyArMjM0OSw3IEBAIG5zX2FmdGVyX3VwZGF0ZV93aW5kb3dfbGluZSAoc3RydWN0IHdp bmRvdyAqdywgc3RydWN0IGdseXBoX3JvdyAqZGVzaXJlZF9yb3cpCiAgIHN0cnVjdCBmcmFtZSAq ZjsKICAgaW50IHdpZHRoLCBoZWlnaHQ7CiAKLSAgTlNUUkFDRSAobnNfYWZ0ZXJfdXBkYXRlX3dp bmRvd19saW5lKTsKKyAgTlNUUkFDRSAoIm5zX2FmdGVyX3VwZGF0ZV93aW5kb3dfbGluZSIpOwog CiAgIC8qIGJlZ2luIGNvcHkgZnJvbSBvdGhlciB0ZXJtcyAqLwogICBlYXNzZXJ0ICh3KTsKQEAg LTIyMjQsNyArMjM5MCw3IEBAIG5zX3NoaWZ0X2dseXBoc19mb3JfaW5zZXJ0IChzdHJ1Y3QgZnJh bWUgKmYsCiAgIE5TUmVjdCBzcmNSZWN0ID0gTlNNYWtlUmVjdCAoeCwgeSwgd2lkdGgsIGhlaWdo dCk7CiAgIE5TUmVjdCBkc3RSZWN0ID0gTlNNYWtlUmVjdCAoeCtzaGlmdF9ieSwgeSwgd2lkdGgs IGhlaWdodCk7CiAKLSAgTlNUUkFDRSAobnNfc2hpZnRfZ2x5cGhzX2Zvcl9pbnNlcnQpOworICBO U1RSQUNFICgibnNfc2hpZnRfZ2x5cGhzX2Zvcl9pbnNlcnQiKTsKIAogICBuc19jb3B5X2JpdHMg KGYsIHNyY1JlY3QsIGRzdFJlY3QpOwogfQpAQCAtMjM5NCw3ICsyNTYwLDcgQEAgbnNfZHJhd193 aW5kb3dfY3Vyc29yIChzdHJ1Y3Qgd2luZG93ICp3LCBzdHJ1Y3QgZ2x5cGhfcm93ICpnbHlwaF9y b3csCiAgICAgIGluIG1pbmktYnVmZmVyIHdpbmRvd3Mgd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBl Y2hvIGFyZWEgZ2x5cGhzCiAgICAgIGFuZCBtaW5pLWJ1ZmZlci4gICovCiAKLSAgTlNUUkFDRSAo ZHVtcGN1cnNvcik7CisgIE5TVFJBQ0UgKCJkdW1wY3Vyc29yIik7CiAKICAgaWYgKCFvbl9wKQog ICAgIHJldHVybjsKQEAgLTI1MjMsNyArMjY4OSw3IEBAIG5zX2RyYXdfdmVydGljYWxfd2luZG93 X2JvcmRlciAoc3RydWN0IHdpbmRvdyAqdywgaW50IHgsIGludCB5MCwgaW50IHkxKQogICBzdHJ1 Y3QgZmFjZSAqZmFjZTsKICAgTlNSZWN0IHIgPSBOU01ha2VSZWN0ICh4LCB5MCwgMSwgeTEteTAp OwogCi0gIE5TVFJBQ0UgKG5zX2RyYXdfdmVydGljYWxfd2luZG93X2JvcmRlcik7CisgIE5TVFJB Q0UgKCJuc19kcmF3X3ZlcnRpY2FsX3dpbmRvd19ib3JkZXIiKTsKIAogICBmYWNlID0gRkFDRV9G Uk9NX0lEIChmLCBWRVJUSUNBTF9CT1JERVJfRkFDRV9JRCk7CiAgIGlmIChmYWNlKQpAQCAtMjU0 NSw3ICsyNzExLDcgQEAgbnNfZHJhd193aW5kb3dfZGl2aWRlciAoc3RydWN0IHdpbmRvdyAqdywg aW50IHgwLCBpbnQgeDEsIGludCB5MCwgaW50IHkxKQogICBzdHJ1Y3QgZmFjZSAqZmFjZTsKICAg TlNSZWN0IHIgPSBOU01ha2VSZWN0ICh4MCwgeTAsIHgxLXgwLCB5MS15MCk7CiAKLSAgTlNUUkFD RSAobnNfZHJhd193aW5kb3dfZGl2aWRlcik7CisgIE5TVFJBQ0UgKCJuc19kcmF3X3dpbmRvd19k aXZpZGVyIik7CiAKICAgZmFjZSA9IEZBQ0VfRlJPTV9JRCAoZiwgV0lORE9XX0RJVklERVJfRkFD RV9JRCk7CiAgIGlmIChmYWNlKQpAQCAtMjgwMiw3ICsyOTY4LDcgQEAgbnNfZHJhd19yZWxpZWYg KE5TUmVjdCByLCBpbnQgdGhpY2tuZXNzLCBjaGFyIHJhaXNlZF9wLAogICBOU0NvbG9yICpuZXdC YXNlQ29sID0gbmlsOwogICBOU1JlY3Qgc3IgPSByOwogCi0gIE5TVFJBQ0UgKG5zX2RyYXdfcmVs aWVmKTsKKyAgTlNUUkFDRSAoIm5zX2RyYXdfcmVsaWVmIik7CiAKICAgLyogc2V0IHVwIGNvbG9y cyAqLwogCkBAIC0yODg5LDcgKzMwNTUsNyBAQCBuc19kdW1wZ2x5cGhzX2JveF9vcl9yZWxpZWYg KHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiAKICAgdGhpY2tuZXNzID0gZmFjZS0+Ym94X2xpbmVf d2lkdGg7CiAKLSAgTlNUUkFDRSAobnNfZHVtcGdseXBoc19ib3hfb3JfcmVsaWVmKTsKKyAgTlNU UkFDRSAoIm5zX2R1bXBnbHlwaHNfYm94X29yX3JlbGllZiIpOwogCiAgIGxhc3RfeCA9ICgocy0+ cm93LT5mdWxsX3dpZHRoX3AgJiYgIXMtPnctPnBzZXVkb193aW5kb3dfcCkKIAkgICAgPyBXSU5E T1dfUklHSFRfRURHRV9YIChzLT53KQpAQCAtMjkzMSw3ICszMDk3LDcgQEAgbnNfbWF5YmVfZHVt cGdseXBoc19iYWNrZ3JvdW5kIChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzLCBjaGFyIGZvcmNlX3Ap CiAgICAgICBjZXJ0YWluIGNhc2VzLiAgT3RoZXJzIGFyZSBsZWZ0IHRvIHRoZSB0ZXh0IHJlbmRl cmluZyByb3V0aW5lLgogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIHsKLSAgTlNUUkFDRSAobnNf bWF5YmVfZHVtcGdseXBoc19iYWNrZ3JvdW5kKTsKKyAgTlNUUkFDRSAoIm5zX21heWJlX2R1bXBn bHlwaHNfYmFja2dyb3VuZCIpOwogCiAgIGlmICghcy0+YmFja2dyb3VuZF9maWxsZWRfcC8qIHx8 IHMtPmhsID09IERSQVdfTU9VU0VfRkFDRSovKQogICAgIHsKQEAgLTI5OTQsNyArMzE2MCw3IEBA IG5zX2R1bXBnbHlwaHNfaW1hZ2UgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMsIE5TUmVjdCByKQog ICBzdHJ1Y3QgZmFjZSAqZmFjZTsKICAgTlNDb2xvciAqdGRDb2w7CiAKLSAgTlNUUkFDRSAobnNf ZHVtcGdseXBoc19pbWFnZSk7CisgIE5TVFJBQ0UgKCJuc19kdW1wZ2x5cGhzX2ltYWdlIik7CiAK ICAgaWYgKHMtPmZhY2UtPmJveCAhPSBGQUNFX05PX0JPWAogICAgICAgJiYgcy0+Zmlyc3RfZ2x5 cGgtPmxlZnRfYm94X2xpbmVfcCAmJiBzLT5zbGljZS54ID09IDApCkBAIC0zMzExLDcgKzM0Nzcs NyBAQCBuc19kcmF3X2dseXBoX3N0cmluZyAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKICAgc3Ry dWN0IGZvbnQgKmZvbnQgPSBzLT5mYWNlLT5mb250OwogICBpZiAoISBmb250KSBmb250ID0gRlJB TUVfRk9OVCAocy0+Zik7CiAKLSAgTlNUUkFDRSAobnNfZHJhd19nbHlwaF9zdHJpbmcpOworICBO U1RSQUNFICgibnNfZHJhd19nbHlwaF9zdHJpbmciKTsKIAogICBpZiAocy0+bmV4dCAmJiBzLT5y aWdodF9vdmVyaGFuZyAmJiAhcy0+Zm9yX292ZXJsYXBzLyomJnMtPmhsIT1EUkFXX0NVUlNPUiov KQogICAgIHsKQEAgLTM0NjksNyArMzYzNSw3IEBAIG5zX3NlbmRfYXBwZGVmaW5lZCAoaW50IHZh bHVlKQogICAgICAgICAgICAgICByZWNvZ25pemUgYW5kIHRha2UgYXMgYSBjb21tYW5kIHRvIGhh bHQgdGhlIGV2ZW50IGxvb3AuCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogewotICAvKk5TVFJB Q0UgKG5zX3NlbmRfYXBwZGVmaW5lZCk7ICovCisgIC8qTlNUUkFDRSAoIm5zX3NlbmRfYXBwZGVm aW5lZCIpOyAqLwogCiAjaWZkZWYgTlNfSU1QTF9HTlVTVEVQCiAgIC8vIEdOVXN0ZXAgbmVlZHMg cG9zdEV2ZW50IHRvIGhhcHBlbiBvbiB0aGUgbWFpbiB0aHJlYWQuCkBAIC0zNjQzLDcgKzM4MDks NyBAQCBuc19yZWFkX3NvY2tldCAoc3RydWN0IHRlcm1pbmFsICp0ZXJtaW5hbCwgc3RydWN0IGlu cHV0X2V2ZW50ICpob2xkX3F1aXQpCiAgIHN0cnVjdCBpbnB1dF9ldmVudCBldjsKICAgaW50IG5l dmVudHM7CiAKLS8qIE5TVFJBQ0UgKG5zX3JlYWRfc29ja2V0KTsgKi8KKy8qIE5TVFJBQ0UgKCJu c19yZWFkX3NvY2tldCIpOyAqLwogCiAjaWZkZWYgSEFWRV9OQVRJVkVfRlMKICAgY2hlY2tfbmF0 aXZlX2ZzICgpOwpAQCAtMzcyNyw3ICszODkzLDcgQEAgbnNfc2VsZWN0IChpbnQgbmZkcywgZmRf c2V0ICpyZWFkZmRzLCBmZF9zZXQgKndyaXRlZmRzLAogICBzdHJ1Y3QgaW5wdXRfZXZlbnQgZXZl bnQ7CiAgIGNoYXIgYzsKIAotLyogIE5TVFJBQ0UgKG5zX3NlbGVjdCk7ICovCisvKiAgTlNUUkFD RSAoIm5zX3NlbGVjdCIpOyAqLwogCiAjaWZkZWYgSEFWRV9OQVRJVkVfRlMKICAgY2hlY2tfbmF0 aXZlX2ZzICgpOwpAQCAtMzkwMyw3ICs0MDY5LDcgQEAgbnNfc2V0X3ZlcnRpY2FsX3Njcm9sbF9i YXIgKHN0cnVjdCB3aW5kb3cgKndpbmRvdywKICAgICAgICAgfQogICAgIH0KIAotICBOU1RSQUNF IChuc19zZXRfdmVydGljYWxfc2Nyb2xsX2Jhcik7CisgIE5TVFJBQ0UgKCJuc19zZXRfdmVydGlj YWxfc2Nyb2xsX2JhciIpOwogCiAgIC8qIEdldCBkaW1lbnNpb25zLiAgKi8KICAgd2luZG93X2Jv eCAod2luZG93LCBBTllfQVJFQSwgMCwgJndpbmRvd195LCAwLCAmd2luZG93X2hlaWdodCk7CkBA IC0zOTk3LDcgKzQxNjMsNyBAQCBuc19zZXRfaG9yaXpvbnRhbF9zY3JvbGxfYmFyIChzdHJ1Y3Qg d2luZG93ICp3aW5kb3csCiAgICAgICAgIH0KICAgICB9CiAKLSAgTlNUUkFDRSAobnNfc2V0X2hv cml6b250YWxfc2Nyb2xsX2Jhcik7CisgIE5TVFJBQ0UgKCJuc19zZXRfaG9yaXpvbnRhbF9zY3Jv bGxfYmFyIik7CiAKICAgLyogR2V0IGRpbWVuc2lvbnMuICAqLwogICB3aW5kb3dfYm94ICh3aW5k b3csIEFOWV9BUkVBLCAwLCAmd2luZG93X3gsICZ3aW5kb3dfd2lkdGgsIDApOwpAQCAtNDA2OSw3 ICs0MjM1LDcgQEAgbnNfY29uZGVtbl9zY3JvbGxfYmFycyAoc3RydWN0IGZyYW1lICpmKQogICBp ZCB2aWV3OwogICBOU0FycmF5ICpzdWJ2aWV3cyA9IFtbRlJBTUVfTlNfVklFVyAoZikgc3VwZXJ2 aWV3XSBzdWJ2aWV3c107CiAKLSAgTlNUUkFDRSAobnNfY29uZGVtbl9zY3JvbGxfYmFycyk7Cisg IE5TVFJBQ0UgKCJuc19jb25kZW1uX3Njcm9sbF9iYXJzIik7CiAKICAgZm9yIChpID1bc3Vidmll d3MgY291bnRdLTE7IGkgPj0gMDsgaS0tKQogICAgIHsKQEAgLTQwODgsNyArNDI1NCw3IEBAIG5z X3JlZGVlbV9zY3JvbGxfYmFyIChzdHJ1Y3Qgd2luZG93ICp3aW5kb3cpCiAgICAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSAqLwogewogICBpZCBiYXI7Ci0gIE5TVFJBQ0UgKG5zX3JlZGVlbV9zY3JvbGxfYmFy KTsKKyAgTlNUUkFDRSAoIm5zX3JlZGVlbV9zY3JvbGxfYmFyIik7CiAgIGlmICghTklMUCAod2lu ZG93LT52ZXJ0aWNhbF9zY3JvbGxfYmFyKSkKICAgICB7CiAgICAgICBiYXIgPSBYTlNfU0NST0xM X0JBUiAod2luZG93LT52ZXJ0aWNhbF9zY3JvbGxfYmFyKTsKQEAgLTQxMTYsNyArNDI4Miw3IEBA IG5zX2p1ZGdlX3Njcm9sbF9iYXJzIChzdHJ1Y3QgZnJhbWUgKmYpCiAgIE5TQXJyYXkgKnN1YnZp ZXdzID0gW1tldmlldyBzdXBlcnZpZXddIHN1YnZpZXdzXTsKICAgQk9PTCByZW1vdmVkID0gTk87 CiAKLSAgTlNUUkFDRSAobnNfanVkZ2Vfc2Nyb2xsX2JhcnMpOworICBOU1RSQUNFICgibnNfanVk Z2Vfc2Nyb2xsX2JhcnMiKTsKICAgZm9yIChpID0gW3N1YnZpZXdzIGNvdW50XS0xOyBpID49IDA7 IC0taSkKICAgICB7CiAgICAgICB2aWV3ID0gW3N1YnZpZXdzIG9iamVjdEF0SW5kZXg6IGldOwpA QCAtNDI5NCw2ICs0NDYwLDggQEAgbnNfZGVsZXRlX3Rlcm1pbmFsIChzdHJ1Y3QgdGVybWluYWwg KnRlcm1pbmFsKQogewogICBzdHJ1Y3QgbnNfZGlzcGxheV9pbmZvICpkcHlpbmZvID0gdGVybWlu YWwtPmRpc3BsYXlfaW5mby5uczsKIAorICBOU1RSQUNFICgibnNfZGVsZXRlX3Rlcm1pbmFsIik7 CisKICAgLyogUHJvdGVjdCBhZ2FpbnN0IHJlY3Vyc2l2ZSBjYWxscy4gIGRlbGV0ZV9mcmFtZSBp bgogICAgICBkZWxldGVfdGVybWluYWwgY2FsbHMgdXMgYmFjayB3aGVuIGl0IGRlbGV0ZXMgb3Vy IGxhc3QgZnJhbWUuICAqLwogICBpZiAoIXRlcm1pbmFsLT5uYW1lKQpAQCAtNDMxNSw3ICs0NDgz LDcgQEAgbnNfY3JlYXRlX3Rlcm1pbmFsIChzdHJ1Y3QgbnNfZGlzcGxheV9pbmZvICpkcHlpbmZv KQogewogICBzdHJ1Y3QgdGVybWluYWwgKnRlcm1pbmFsOwogCi0gIE5TVFJBQ0UgKG5zX2NyZWF0 ZV90ZXJtaW5hbCk7CisgIE5TVFJBQ0UgKCJuc19jcmVhdGVfdGVybWluYWwiKTsKIAogICB0ZXJt aW5hbCA9IGNyZWF0ZV90ZXJtaW5hbCAob3V0cHV0X25zLCAmbnNfcmVkaXNwbGF5X2ludGVyZmFj ZSk7CiAKQEAgLTQzNjEsNyArNDUyOSw3IEBAIG5zX3Rlcm1faW5pdCAoTGlzcF9PYmplY3QgZGlz cGxheV9uYW1lKQogICBpZiAobnNfaW5pdGlhbGl6ZWQpIHJldHVybiB4X2Rpc3BsYXlfbGlzdDsK ICAgbnNfaW5pdGlhbGl6ZWQgPSAxOwogCi0gIE5TVFJBQ0UgKG5zX3Rlcm1faW5pdCk7CisgIE5T VFJBQ0UgKCJuc190ZXJtX2luaXQiKTsKIAogICBbb3V0ZXJwb29sIHJlbGVhc2VdOwogICBvdXRl cnBvb2wgPSBbW05TQXV0b3JlbGVhc2VQb29sIGFsbG9jXSBpbml0XTsKQEAgLTQ0NDMsNiArNDYx MSw4IEBAIG5zX3Rlcm1faW5pdCAoTGlzcF9PYmplY3QgZGlzcGxheV9uYW1lKQogICAgICAgbnNf YW50aWFsaWFzX3RocmVzaG9sZCA9IE5JTFAgKHRtcCkgPyAxMC4wIDogWEZMT0FUSU5UICh0bXAp OwogICAgIH0KIAorICBOU1RSQUNFX01TRyAoIkNvbG9ycyIpOworCiAgIHsKICAgICBOU0NvbG9y TGlzdCAqY2wgPSBbTlNDb2xvckxpc3QgY29sb3JMaXN0TmFtZWQ6IEAiRW1hY3MiXTsKIApAQCAt NDQ3Niw2ICs0NjQ2LDggQEAgbnNfdGVybV9pbml0IChMaXNwX09iamVjdCBkaXNwbGF5X25hbWUp CiAgICAgICB9CiAgIH0KIAorICBOU1RSQUNFX01TRyAoIlZlcnNpb25zIik7CisKICAgewogI2lm ZGVmIE5TX0lNUExfR05VU1RFUAogICAgIFZ3aW5kb3dfc3lzdGVtX3ZlcnNpb24gPSBidWlsZF9z dHJpbmcgKGdudXN0ZXBfYmFzZV92ZXJzaW9uKTsKQEAgLTQ0OTEsNyArNDY2MywxMCBAQCBuc190 ZXJtX2luaXQgKExpc3BfT2JqZWN0IGRpc3BsYXlfbmFtZSkKIAogICBuc19hcHBfbmFtZSA9IFtb TlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gcHJvY2Vzc05hbWVdOwogCi0vKiBTZXQgdXAgT1Mg WCBhcHAgbWVudSAqLworICAvKiBTZXQgdXAgT1MgWCBhcHAgbWVudSAqLworCisgIE5TVFJBQ0Vf TVNHICgiTWVudSBpbml0Iik7CisKICNpZmRlZiBOU19JTVBMX0NPQ09BCiAgIHsKICAgICBOU01l bnUgKmFwcE1lbnU7CkBAIC00NTY0LDYgKzQ3MzksOSBAQCBuc190ZXJtX2luaXQgKExpc3BfT2Jq ZWN0IGRpc3BsYXlfbmFtZSkKIAogICAvKiBSZWdpc3RlciBvdXIgZXh0ZXJuYWwgaW5wdXQvb3V0 cHV0IHR5cGVzLCB1c2VkIGZvciBkZXRlcm1pbmluZwogICAgICBhcHBsaWNhYmxlIHNlcnZpY2Vz IGFuZCBhbHNvIGRyYWcvZHJvcCBlbGlnaWJpbGl0eS4gKi8KKworICBOU1RSQUNFX01TRyAoIklu cHV0L291dHB1dCB0eXBlcyIpOworCiAgIG5zX3NlbmRfdHlwZXMgPSBbW05TQXJyYXkgYXJyYXlX aXRoT2JqZWN0czogTlNTdHJpbmdQYm9hcmRUeXBlLCBuaWxdIHJldGFpbl07CiAgIG5zX3JldHVy bl90eXBlcyA9IFtbTlNBcnJheSBhcnJheVdpdGhPYmplY3RzOiBOU1N0cmluZ1Bib2FyZFR5cGUs IG5pbF0KICAgICAgICAgICAgICAgICAgICAgICByZXRhaW5dOwpAQCAtNDU3Nyw2ICs0NzU1LDgg QEAgbnNfdGVybV9pbml0IChMaXNwX09iamVjdCBkaXNwbGF5X25hbWUpCiAgICAgIHJpZ2h0IGZv ciBmdWxsc2NyZWVuIHdpbmRvd3MsIHNvIHNldCB0aGlzLiAgKi8KICAgW05TQXBwIGFjdGl2YXRl SWdub3JpbmdPdGhlckFwcHM6WUVTXTsKIAorICBOU1RSQUNFX01TRyAoIkNhbGwgTlNBcHAgcnVu Iik7CisKICAgW05TQXBwIHJ1bl07CiAgIG5zX2RvX29wZW5fZmlsZSA9IFlFUzsKIApAQCAtNDU4 NSw2ICs0NzY1LDkgQEAgbnNfdGVybV9pbml0IChMaXNwX09iamVjdCBkaXNwbGF5X25hbWUpCiAg ICAgIFdlIG11c3QgcmUtY2F0Y2ggaXQgc28gc3VicHJvY2VzcyB3b3Jrcy4gICovCiAgIGNhdGNo X2NoaWxkX3NpZ25hbCAoKTsKICNlbmRpZgorCisgIE5TVFJBQ0VfTVNHICgibnNfdGVybV9pbml0 IGRvbmUiKTsKKwogICByZXR1cm4gZHB5aW5mbzsKIH0KIApAQCAtNDY5Nyw3ICs0ODgwLDcgQEAg bnNfdGVybV9zaHV0ZG93biAoaW50IHNpZykKICAgaW50IHR5cGUgPSBbdGhlRXZlbnQgdHlwZV07 CiAgIE5TV2luZG93ICp3aW5kb3cgPSBbdGhlRXZlbnQgd2luZG93XTsKIAotLyogIE5TVFJBQ0Ug KHNlbmRFdmVudCk7ICovCisvKiAgTlNUUkFDRSAoInNlbmRFdmVudCIpOyAqLwogLypmcHJpbnRm IChzdGRlcnIsICJyZWNlaXZlZCBldmVudCBvZiB0eXBlICVkXHQlZFxuIiwgdHlwZSk7Ki8KIAog I2lmZGVmIE5TX0lNUExfR05VU1RFUApAQCAtNDg0Nyw3ICs1MDMwLDcgQEAgbnNfdGVybV9zaHV0 ZG93biAoaW50IHNpZykKICAgICAgV2hlbiBhcHBsaWNhdGlvbiBpcyBsb2FkZWQsIHRlcm1pbmF0 ZSBldmVudCBsb29wIGluIG5zX3Rlcm1faW5pdAogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIHsK LSAgTlNUUkFDRSAoYXBwbGljYXRpb25EaWRGaW5pc2hMYXVuY2hpbmcpOworICBOU1RSQUNFICgi YXBwbGljYXRpb25EaWRGaW5pc2hMYXVuY2hpbmciKTsKICNpZmRlZiBOU19JTVBMX0dOVVNURVAK ICAgKChFbWFjc0FwcCAqKXNlbGYpLT5hcHBsaWNhdGlvbkRpZEZpbmlzaExhdW5jaGluZ0NhbGxl ZCA9IFlFUzsKICNlbmRpZgpAQCAtNTAxNSw3ICs1MTk4LDcgQEAgbm90X2luX2FyZ3YgKE5TU3Ry aW5nICphcmcpCiB9CiAtICh2b2lkKWFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlOiAoTlNOb3Rp ZmljYXRpb24gKilub3RpZmljYXRpb24KIHsKLSAgTlNUUkFDRSAoYXBwbGljYXRpb25EaWRCZWNv bWVBY3RpdmUpOworICBOU1RSQUNFICgiYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUiKTsKIAog I2lmZGVmIE5TX0lNUExfR05VU1RFUAogICBpZiAoISBhcHBsaWNhdGlvbkRpZEZpbmlzaExhdW5j aGluZ0NhbGxlZCkKQEAgLTUwNDcsNyArNTIzMCw3IEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAq YXJnKQogICAgICBUaGUgdGltZW91dCBzcGVjaWZpZWQgdG8gbnNfc2VsZWN0IGhhcyBwYXNzZWQu CiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogewotICAvKk5TVFJBQ0UgKHRpbWVvdXRfaGFuZGxl cik7ICovCisgIC8qTlNUUkFDRSAoInRpbWVvdXRfaGFuZGxlciIpOyAqLwogICBuc19zZW5kX2Fw cGRlZmluZWQgKC0yKTsKIH0KIApAQCAtNTA3MSw3ICs1MjU0LDcgQEAgbm90X2luX2FyZ3YgKE5T U3RyaW5nICphcmcpCiAgIHN0cnVjdCB0aW1lc3BlYyB0aW1lb3V0LCAqdG1vOwogICBOU0F1dG9y ZWxlYXNlUG9vbCAqcG9vbCA9IG5pbDsKIAotICAvKiBOU1RSQUNFIChmZF9oYW5kbGVyKTsgKi8K KyAgLyogTlNUUkFDRSAoImZkX2hhbmRsZXIiKTsgKi8KIAogICBmb3IgKDs7KQogICAgIHsKQEAg LTUyMDgsNyArNTM5MSw3IEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAqYXJnKQogCiAtICh2b2lk KWRlYWxsb2MKIHsKLSAgTlNUUkFDRSAoRW1hY3NWaWV3X2RlYWxsb2MpOworICBOU1RSQUNFICgi RW1hY3NWaWV3X2RlYWxsb2MiKTsKICAgW3Rvb2xiYXIgcmVsZWFzZV07CiAgIGlmIChmc19zdGF0 ZSA9PSBGVUxMU0NSRUVOX0JPVEgpCiAgICAgW25vbmZzX3dpbmRvdyByZWxlYXNlXTsKQEAgLTUy MjYsNyArNTQwOSw3IEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAqYXJnKQogICBDR0Zsb2F0IHNp emU7CiAgIE5TRm9udCAqbnNmb250OwogCi0gIE5TVFJBQ0UgKGNoYW5nZUZvbnQpOworICBOU1RS QUNFICgiY2hhbmdlRm9udCIpOwogCiAgIGlmICghZW1hY3NfZXZlbnQpCiAgICAgcmV0dXJuOwpA QCAtNTI1Niw3ICs1NDM5LDcgQEAgbm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcpCiAKIC0gKEJP T0wpYWNjZXB0c0ZpcnN0UmVzcG9uZGVyCiB7Ci0gIE5TVFJBQ0UgKGFjY2VwdHNGaXJzdFJlc3Bv bmRlcik7CisgIE5TVFJBQ0UgKCJhY2NlcHRzRmlyc3RSZXNwb25kZXIiKTsKICAgcmV0dXJuIFlF UzsKIH0KIApAQCAtNTI2NSw3ICs1NDQ4LDcgQEAgbm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcp CiB7CiAgIE5TUmVjdCB2aXNpYmxlID0gW3NlbGYgdmlzaWJsZVJlY3RdOwogICBOU0N1cnNvciAq Y3VycmVudEN1cnNvciA9IEZSQU1FX1BPSU5URVJfVFlQRSAoZW1hY3NmcmFtZSk7Ci0gIE5TVFJB Q0UgKHJlc2V0Q3Vyc29yUmVjdHMpOworICBOU1RSQUNFICgicmVzZXRDdXJzb3JSZWN0cyIpOwog CiAgIGlmIChjdXJyZW50Q3Vyc29yID09IG5pbCkKICAgICBjdXJyZW50Q3Vyc29yID0gW05TQ3Vy c29yIGFycm93Q3Vyc29yXTsKQEAgLTUyOTAsNyArNTQ3Myw3IEBAIG5vdF9pbl9hcmd2IChOU1N0 cmluZyAqYXJnKQogICBpbnQgbGVmdF9pc19ub25lOwogICB1bnNpZ25lZCBpbnQgZmxhZ3MgPSBb dGhlRXZlbnQgbW9kaWZpZXJGbGFnc107CiAKLSAgTlNUUkFDRSAoa2V5RG93bik7CisgIE5TVFJB Q0UgKCJrZXlEb3duIik7CiAKICAgLyogUmhhcHNvZHkgYW5kIE9TIFggZ2l2ZSB1cCBhbmQgZG93 biBldmVudHMgZm9yIHRoZSBhcnJvdyBrZXlzICovCiAgIGlmIChuc19mYWtlX2tleWRvd24gPT0g WUVTKQpAQCAtNTc1Myw3ICs1OTM2LDcgQEAgbm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcpCiAg IHN0cnVjdCBuc19kaXNwbGF5X2luZm8gKmRweWluZm8gPSBGUkFNRV9ESVNQTEFZX0lORk8gKGVt YWNzZnJhbWUpOwogICBOU1BvaW50IHAgPSBbc2VsZiBjb252ZXJ0UG9pbnQ6IFt0aGVFdmVudCBs b2NhdGlvbkluV2luZG93XSBmcm9tVmlldzogbmlsXTsKIAotICBOU1RSQUNFIChtb3VzZURvd24p OworICBOU1RSQUNFICgibW91c2VEb3duIik7CiAKICAgW3NlbGYgZGVsZXRlV29ya2luZ1RleHRd OwogCkBAIC01Nzc0LDcgKzU5NTcsNyBAQCBub3RfaW5fYXJndiAoTlNTdHJpbmcgKmFyZykKICAg ICAgICAgICBkZWx0YSA9IFt0aGVFdmVudCBkZWx0YVhdOwogICAgICAgICAgIGlmIChkZWx0YSA9 PSAwKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICBOU1RSQUNFIChkZWx0YUlzWmVybyk7 CisgICAgICAgICAgICAgIE5TVFJBQ0UgKCJkZWx0YUlzWmVybyIpOwogICAgICAgICAgICAgICBy ZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgZW1hY3NfZXZlbnQtPmtpbmQgPSBIT1JJ Wl9XSEVFTF9FVkVOVDsKQEAgLTU4MDEsNDIgKzU5ODQsNDIgQEAgbm90X2luX2FyZ3YgKE5TU3Ry aW5nICphcmcpCiAKIC0gKHZvaWQpcmlnaHRNb3VzZURvd246IChOU0V2ZW50ICopdGhlRXZlbnQK IHsKLSAgTlNUUkFDRSAocmlnaHRNb3VzZURvd24pOworICBOU1RSQUNFICgicmlnaHRNb3VzZURv d24iKTsKICAgW3NlbGYgbW91c2VEb3duOiB0aGVFdmVudF07CiB9CiAKIAogLSAodm9pZClvdGhl ck1vdXNlRG93bjogKE5TRXZlbnQgKil0aGVFdmVudAogewotICBOU1RSQUNFIChvdGhlck1vdXNl RG93bik7CisgIE5TVFJBQ0UgKCJvdGhlck1vdXNlRG93biIpOwogICBbc2VsZiBtb3VzZURvd246 IHRoZUV2ZW50XTsKIH0KIAogCiAtICh2b2lkKW1vdXNlVXA6IChOU0V2ZW50ICopdGhlRXZlbnQK IHsKLSAgTlNUUkFDRSAobW91c2VVcCk7CisgIE5TVFJBQ0UgKCJtb3VzZVVwIik7CiAgIFtzZWxm IG1vdXNlRG93bjogdGhlRXZlbnRdOwogfQogCiAKIC0gKHZvaWQpcmlnaHRNb3VzZVVwOiAoTlNF dmVudCAqKXRoZUV2ZW50CiB7Ci0gIE5TVFJBQ0UgKHJpZ2h0TW91c2VVcCk7CisgIE5TVFJBQ0Ug KCJyaWdodE1vdXNlVXAiKTsKICAgW3NlbGYgbW91c2VEb3duOiB0aGVFdmVudF07CiB9CiAKIAog LSAodm9pZClvdGhlck1vdXNlVXA6IChOU0V2ZW50ICopdGhlRXZlbnQKIHsKLSAgTlNUUkFDRSAo b3RoZXJNb3VzZVVwKTsKKyAgTlNUUkFDRSAoIm90aGVyTW91c2VVcCIpOwogICBbc2VsZiBtb3Vz ZURvd246IHRoZUV2ZW50XTsKIH0KIAogCiAtICh2b2lkKSBzY3JvbGxXaGVlbDogKE5TRXZlbnQg Kil0aGVFdmVudAogewotICBOU1RSQUNFIChzY3JvbGxXaGVlbCk7CisgIE5TVFJBQ0UgKCJzY3Jv bGxXaGVlbCIpOwogICBbc2VsZiBtb3VzZURvd246IHRoZUV2ZW50XTsKIH0KIApAQCAtNTg0OSw3 ICs2MDMyLDcgQEAgbm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcpCiAgIExpc3BfT2JqZWN0IGZy YW1lOwogICBOU1BvaW50IHB0OwogCi0vLyAgTlNUUkFDRSAobW91c2VNb3ZlZCk7CisvLyAgTlNU UkFDRSAoIm1vdXNlTW92ZWQiKTsKIAogICBkcHlpbmZvLT5sYXN0X21vdXNlX21vdmVtZW50X3Rp bWUgPSBFVl9USU1FU1RBTVAgKGUpOwogICBwdCA9IFtzZWxmIGNvbnZlcnRQb2ludDogW2UgbG9j YXRpb25JbldpbmRvd10gZnJvbVZpZXc6IG5pbF07CkBAIC01ODY5LDcgKzYwNTIsNyBAQCBub3Rf aW5fYXJndiAoTlNTdHJpbmcgKmFyZykKIAogICBpZiAoIU5JTFAgKFZtb3VzZV9hdXRvc2VsZWN0 X3dpbmRvdykpCiAgICAgewotICAgICAgTlNUUkFDRSAobW91c2VfYXV0b3NlbGVjdF93aW5kb3cp OworICAgICAgTlNUUkFDRSAoIm1vdXNlX2F1dG9zZWxlY3Rfd2luZG93Iik7CiAgICAgICBzdGF0 aWMgTGlzcF9PYmplY3QgbGFzdF9tb3VzZV93aW5kb3c7CiAgICAgICBMaXNwX09iamVjdCB3aW5k b3cKIAk9IHdpbmRvd19mcm9tX2Nvb3JkaW5hdGVzIChlbWFjc2ZyYW1lLCBwdC54LCBwdC55LCAw LCAwKTsKQEAgLTU4ODEsNyArNjA2NCw3IEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAqYXJnKQog ICAgICAgICAgICAgICB8fCAoRVEgKFhXSU5ET1cgKHdpbmRvdyktPmZyYW1lLAogICAgICAgICAg ICAgICAgICAgICAgIFhXSU5ET1cgKHNlbGVjdGVkX3dpbmRvdyktPmZyYW1lKSkpKQogICAgICAg ICB7Ci0gICAgICAgICAgTlNUUkFDRSAoaW5fd2luZG93KTsKKyAgICAgICAgICBOU1RSQUNFICgi aW5fd2luZG93Iik7CiAgICAgICAgICAgZW1hY3NfZXZlbnQtPmtpbmQgPSBTRUxFQ1RfV0lORE9X X0VWRU5UOwogICAgICAgICAgIGVtYWNzX2V2ZW50LT5mcmFtZV9vcl93aW5kb3cgPSB3aW5kb3c7 CiAgICAgICAgICAgRVZfVFJBSUxFUjIgKGUpOwpAQCAtNTkxMSwyMSArNjA5NCwyMSBAQCBub3Rf aW5fYXJndiAoTlNTdHJpbmcgKmFyZykKIAogLSAodm9pZCltb3VzZURyYWdnZWQ6IChOU0V2ZW50 ICopZQogewotICBOU1RSQUNFIChtb3VzZURyYWdnZWQpOworICBOU1RSQUNFICgibW91c2VEcmFn Z2VkIik7CiAgIFtzZWxmIG1vdXNlTW92ZWQ6IGVdOwogfQogCiAKIC0gKHZvaWQpcmlnaHRNb3Vz ZURyYWdnZWQ6IChOU0V2ZW50ICopZQogewotICBOU1RSQUNFIChyaWdodE1vdXNlRHJhZ2dlZCk7 CisgIE5TVFJBQ0UgKCJyaWdodE1vdXNlRHJhZ2dlZCIpOwogICBbc2VsZiBtb3VzZU1vdmVkOiBl XTsKIH0KIAogCiAtICh2b2lkKW90aGVyTW91c2VEcmFnZ2VkOiAoTlNFdmVudCAqKWUKIHsKLSAg TlNUUkFDRSAob3RoZXJNb3VzZURyYWdnZWQpOworICBOU1RSQUNFICgib3RoZXJNb3VzZURyYWdn ZWQiKTsKICAgW3NlbGYgbW91c2VNb3ZlZDogZV07CiB9CiAKQEAgLTU5MzQsNyArNjExNyw3IEBA IG5vdF9pbl9hcmd2IChOU1N0cmluZyAqYXJnKQogewogICBOU0V2ZW50ICplID1bW3NlbGYgd2lu ZG93XSBjdXJyZW50RXZlbnRdOwogCi0gIE5TVFJBQ0UgKHdpbmRvd1Nob3VsZENsb3NlKTsKKyAg TlNUUkFDRSAoIndpbmRvd1Nob3VsZENsb3NlIik7CiAgIHdpbmRvd0Nsb3NpbmcgPSBZRVM7CiAg IGlmICghZW1hY3NfZXZlbnQpCiAgICAgcmV0dXJuIE5POwpAQCAtNTk1Niw4ICs2MTM5LDkgQEAg bm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcpCiAgIGludCBvbGRoID0gRlJBTUVfUElYRUxfSEVJ R0hUIChlbWFjc2ZyYW1lKTsKICAgaW50IG5ld3csIG5ld2g7CiAKLSAgTlNUUkFDRSAodXBkYXRl RnJhbWVTaXplKTsKKyAgTlNUUkFDRSAoInVwZGF0ZUZyYW1lU2l6ZSIpOwogICBOU1RSQUNFX1NJ WkUgKCJPcmlnaW5hbCBzaXplIiwgTlNNYWtlU2l6ZSAob2xkdywgb2xkaCkpOworICBOU1RSQUNF X1JFQ1QgKCJPcmlnaW5hbCBmcmFtZSIsIHdyKTsKIAogICBpZiAoISBbc2VsZiBpc0Z1bGxzY3Jl ZW5dKQogICAgIHsKQEAgLTU5OTQsNyArNjE3OCw2IEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAq YXJnKQogICAgIHsKICAgICAgIE5TVmlldyAqdmlldyA9IEZSQU1FX05TX1ZJRVcgKGVtYWNzZnJh bWUpOwogICAgICAgTlNXaW5kb3cgKndpbiA9IFt2aWV3IHdpbmRvd107Ci0gICAgICBOU1NpemUg c3ogPSBbd2luIHJlc2l6ZUluY3JlbWVudHNdOwogCiAgICAgICBjaGFuZ2VfZnJhbWVfc2l6ZSAo ZW1hY3NmcmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICBGUkFNRV9QSVhFTF9UT19URVhU X1dJRFRIIChlbWFjc2ZyYW1lLCBuZXd3KSwKQEAgLTYwMDMsMjEgKzYxODYsOSBAQCBub3RfaW5f YXJndiAoTlNTdHJpbmcgKmFyZykKICAgICAgIFNFVF9GUkFNRV9HQVJCQUdFRCAoZW1hY3NmcmFt ZSk7CiAgICAgICBjYW5jZWxfbW91c2VfZmFjZSAoZW1hY3NmcmFtZSk7CiAKLSAgICAgIC8vIERp ZCByZXNpemUgaW5jcmVtZW50cyBjaGFuZ2UgYmVjYXVzZSBvZiBhIGZvbnQgY2hhbmdlPwotICAg ICAgaWYgKHN6LndpZHRoICE9IEZSQU1FX0NPTFVNTl9XSURUSCAoZW1hY3NmcmFtZSkgfHwKLSAg ICAgICAgICBzei5oZWlnaHQgIT0gRlJBTUVfTElORV9IRUlHSFQgKGVtYWNzZnJhbWUpIHx8Ci0g ICAgICAgICAgKGZyYW1lX3Jlc2l6ZV9waXhlbHdpc2UgJiYgc3oud2lkdGggIT0gMSkpCi0gICAg ICAgIHsKLSAgICAgICAgICBzei53aWR0aCA9IGZyYW1lX3Jlc2l6ZV9waXhlbHdpc2UKLSAgICAg ICAgICAgID8gMSA6IEZSQU1FX0NPTFVNTl9XSURUSCAoZW1hY3NmcmFtZSk7Ci0gICAgICAgICAg c3ouaGVpZ2h0ID0gZnJhbWVfcmVzaXplX3BpeGVsd2lzZQotICAgICAgICAgICAgPyAxIDogRlJB TUVfTElORV9IRUlHSFQgKGVtYWNzZnJhbWUpOwotICAgICAgICAgIFt3aW4gc2V0UmVzaXplSW5j cmVtZW50czogc3pdOwotCi0gICAgICAgICAgTlNUUkFDRV9TSVpFICgiTmV3IHNpemUiLCBOU01h a2VTaXplIChuZXd3LCBuZXdoKSk7Ci0gICAgICAgIH0KLQotICAgICAgW3ZpZXcgc2V0RnJhbWU6 IE5TTWFrZVJlY3QgKDAsIDAsIG5ld3csIG5ld2gpXTsKKyAgICAgIHdyID0gTlNNYWtlUmVjdCAo MCwgMCwgbmV3dywgbmV3aCk7CisgICAgICBOU1RSQUNFX1JFQ1QgKCJzZXRGcmFtZSIsIHdyKTsK KyAgICAgIFt2aWV3IHNldEZyYW1lOiB3cl07CiAgICAgICBbc2VsZiB3aW5kb3dEaWRNb3ZlOm5p bF07ICAgLy8gVXBkYXRlIHRvcC9sZWZ0LgogICAgIH0KIH0KQEAgLTYwMjcsOSArNjE5OCwxMCBA QCBub3RfaW5fYXJndiAoTlNTdHJpbmcgKmFyZykKIHsKICAgaW50IGV4dHJhID0gMDsKIAotICBO U1RSQUNFICh3aW5kb3dXaWxsUmVzaXplKTsKLSAgTlNUUkFDRV9TSVpFICgiT3JpZ2luYWwgc2l6 ZSIsIGZyYW1lU2l6ZSk7Ci0vKmZwcmludGYgKHN0ZGVyciwiV2luZG93IHdpbGwgcmVzaXplOiAl LjBmIHggJS4wZlxuIixmcmFtZVNpemUud2lkdGgsZnJhbWVTaXplLmhlaWdodCk7ICovCisgIE5T VFJBQ0UgKCJ3aW5kb3dXaWxsUmVzaXplOiB0b1NpemU6ICIgTlNUUkFDRV9GTVRfU0laRSwKKyAg ICAgICAgICAgTlNUUkFDRV9BUkdfU0laRSAoZnJhbWVTaXplKSk7CisgIE5TVFJBQ0VfUkVDVCAg ICgiW3NlbmRlciBmcmFtZV0iLCBbc2VuZGVyIGZyYW1lXSk7CisgIE5TVFJBQ0VfRlNUWVBFICgi ZnNfc3RhdGUiLCBmc19zdGF0ZSk7CiAKICAgaWYgKGZzX3N0YXRlID09IEZVTExTQ1JFRU5fTUFY SU1JWkVECiAgICAgICAmJiAobWF4aW1pemVkX3dpZHRoICE9IChpbnQpZnJhbWVTaXplLndpZHRo CkBAIC02MDQxLDYgKzYyMTMsNyBAQCBub3RfaW5fYXJndiAoTlNTdHJpbmcgKmFyZykKICAgZWxz ZSBpZiAoZnNfc3RhdGUgPT0gRlVMTFNDUkVFTl9IRUlHSFQKICAgICAgICAgICAgJiYgbWF4aW1p emVkX2hlaWdodCAhPSAoaW50KWZyYW1lU2l6ZS5oZWlnaHQpCiAgICAgW3NlbGYgc2V0RlNWYWx1 ZTogRlVMTFNDUkVFTl9OT05FXTsKKwogICBpZiAoZnNfc3RhdGUgPT0gRlVMTFNDUkVFTl9OT05F KQogICAgIG1heGltaXplZF93aWR0aCA9IG1heGltaXplZF9oZWlnaHQgPSAtMTsKIApAQCAtNjA5 MCw3ICs2MjYzLDMzIEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAqYXJnKQogICAgICAgfQogICB9 CiAjZW5kaWYgLyogTlNfSU1QTF9DT0NPQSAqLwotLypmcHJpbnRmIChzdGRlcnIsIiAgICAuLi5z aXplIGJlY2FtZSAlLjBmIHggJS4wZiAgKCVkIHggJWQpXG4iLGZyYW1lU2l6ZS53aWR0aCxmcmFt ZVNpemUuaGVpZ2h0LGNvbHMscm93cyk7ICovCisKKyAgTlNUUkFDRV9NU0cgKCJjb2xzOiAlZCAg cm93czogJWQiLCBjb2xzLCByb3dzKTsKKworICAvKiBSZXN0cmljdCB0aGUgbmV3IHNpemUgdG8g dGhlIHRleHQgZ2lyZC4KKworICAgICBEb24ndCByZXN0aWN0IHRoZSB3aWR0aCBpZiB0aGUgdXNl ciBvbmx5IGFkanVzdGVkIHRoZSBoZWlnaHQsIGFuZAorICAgICB2aWNlIHZlcnNhLiAoV2l0aG91 dCB0aGlzLCB0aGUgZnJhbWUgd291bGQgc2hyaW5rLCBhbmQgbW92ZQorICAgICBzbGlnaHRseSwg aWYgdGhlIHdpbmRvdyB3YXMgcmVzaXplZCBieSBkcmFnZ2luZyBvbmUgb2YgaXRzCisgICAgIGJv cmRlcnMuICovCisgIGlmICghZnJhbWVfcmVzaXplX3BpeGVsd2lzZSkKKyAgICB7CisgICAgICBO U1JlY3QgciA9IFtbc2VsZiB3aW5kb3ddIGZyYW1lXTsKKworICAgICAgaWYgKHIuc2l6ZS53aWR0 aCAhPSBmcmFtZVNpemUud2lkdGgpCisgICAgICAgIHsKKyAgICAgICAgICBmcmFtZVNpemUud2lk dGggPQorICAgICAgICAgICAgRlJBTUVfVEVYVF9DT0xTX1RPX1BJWEVMX1dJRFRIICAoZW1hY3Nm cmFtZSwgY29scyk7CisgICAgICAgIH0KKworICAgICAgaWYgKHIuc2l6ZS5oZWlnaHQgIT0gZnJh bWVTaXplLmhlaWdodCkKKyAgICAgICAgeworICAgICAgICAgIGZyYW1lU2l6ZS5oZWlnaHQgPQor ICAgICAgICAgICAgRlJBTUVfVEVYVF9MSU5FU19UT19QSVhFTF9IRUlHSFQgKGVtYWNzZnJhbWUs IHJvd3MpICsgZXh0cmE7CisgICAgICAgIH0KKyAgICB9CisKKyAgTlNUUkFDRV9SRVRVUk5fU0la RSAoZnJhbWVTaXplKTsKIAogICByZXR1cm4gZnJhbWVTaXplOwogfQpAQCAtNjA5OCw2ICs2Mjk3 LDggQEAgbm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcpCiAKIC0gKHZvaWQpd2luZG93RGlkUmVz aXplOiAoTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KIHsKKyAgTlNUUkFDRSAoIndpbmRv d0RpZFJlc2l6ZSIpOworCiAgIGlmICghIFtzZWxmIGZzSXNOYXRpdmVdKQogICAgIHsKICAgICAg IE5TV2luZG93ICp0aGVXaW5kb3cgPSBbbm90aWZpY2F0aW9uIG9iamVjdF07CkBAIC02MTA2LDYg KzYzMDcsOCBAQCBub3RfaW5fYXJndiAoTlNTdHJpbmcgKmFyZykKICAgICAgIGlmIChbc2VsZiB3 aW5kb3ddICE9IHRoZVdpbmRvdykgcmV0dXJuOwogICAgIH0KIAorICBOU1RSQUNFX1JFQ1QgKCJm cmFtZSIsIFtbbm90aWZpY2F0aW9uIG9iamVjdF0gZnJhbWVdKTsKKwogI2lmZGVmIE5TX0lNUExf R05VU1RFUAogICBOU1dpbmRvdyAqdGhlV2luZG93ID0gW25vdGlmaWNhdGlvbiBvYmplY3RdOwog CkBAIC02MTE2LDEwICs2MzE5LDcgQEAgbm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcpCiAgIHN6 ID0gW3NlbGYgd2luZG93V2lsbFJlc2l6ZTogdGhlV2luZG93IHRvU2l6ZTogc3pdOwogI2VuZGlm IC8qIE5TX0lNUExfR05VU1RFUCAqLwogCi0gIE5TVFJBQ0UgKHdpbmRvd0RpZFJlc2l6ZSk7Ci0v KmZwcmludGYgKHN0ZGVyciwid2luZG93RGlkUmVzaXplOiAlLjBmXG4iLFt0aGVXaW5kb3cgZnJh bWVdLnNpemUuaGVpZ2h0KTsgKi8KLQotaWYgKGNvbHMgPiAwICYmIHJvd3MgPiAwKQorICBpZiAo Y29scyA+IDAgJiYgcm93cyA+IDApCiAgICAgewogICAgICAgW3NlbGYgdXBkYXRlRnJhbWVTaXpl OiBZRVNdOwogICAgIH0KQEAgLTYxNDgsNyArNjM0OCw3IEBAIGlmIChjb2xzID4gMCAmJiByb3dz ID4gMCkKICAgc3RydWN0IG5zX2Rpc3BsYXlfaW5mbyAqZHB5aW5mbyA9IEZSQU1FX0RJU1BMQVlf SU5GTyAoZW1hY3NmcmFtZSk7CiAgIHN0cnVjdCBmcmFtZSAqb2xkX2ZvY3VzID0gZHB5aW5mby0+ eF9mb2N1c19mcmFtZTsKIAotICBOU1RSQUNFICh3aW5kb3dEaWRCZWNvbWVLZXkpOworICBOU1RS QUNFICgid2luZG93RGlkQmVjb21lS2V5Iik7CiAKICAgaWYgKGVtYWNzZnJhbWUgIT0gb2xkX2Zv Y3VzKQogICAgIGRweWluZm8tPnhfZm9jdXNfZnJhbWUgPSBlbWFjc2ZyYW1lOwpAQCAtNjE2OCw3 ICs2MzY4LDcgQEAgaWYgKGNvbHMgPiAwICYmIHJvd3MgPiAwKQogewogICBzdHJ1Y3QgbnNfZGlz cGxheV9pbmZvICpkcHlpbmZvID0gRlJBTUVfRElTUExBWV9JTkZPIChlbWFjc2ZyYW1lKTsKICAg Qk9PTCBpc19mb2N1c19mcmFtZSA9IGRweWluZm8tPnhfZm9jdXNfZnJhbWUgPT0gZW1hY3NmcmFt ZTsKLSAgTlNUUkFDRSAod2luZG93RGlkUmVzaWduS2V5KTsKKyAgTlNUUkFDRSAoIndpbmRvd0Rp ZFJlc2lnbktleSIpOwogCiAgIGlmIChpc19mb2N1c19mcmFtZSkKICAgICBkcHlpbmZvLT54X2Zv Y3VzX2ZyYW1lID0gMDsKQEAgLTYyMDMsNyArNjQwMyw3IEBAIGlmIChjb2xzID4gMCAmJiByb3dz ID4gMCkKIAogLSAodm9pZCl3aW5kb3dXaWxsTWluaWF0dXJpemU6IHNlbmRlcgogewotICBOU1RS QUNFICh3aW5kb3dXaWxsTWluaWF0dXJpemUpOworICBOU1RSQUNFICgid2luZG93V2lsbE1pbmlh dHVyaXplIik7CiB9CiAKIApAQCAtNjIyNCwxMSArNjQyNCwxMCBAQCBpZiAoY29scyA+IDAgJiYg cm93cyA+IDApCiAgIE5TUmVjdCByLCB3cjsKICAgTGlzcF9PYmplY3QgdGVtOwogICBOU1dpbmRv dyAqd2luOwotICBOU1NpemUgc3o7CiAgIE5TQ29sb3IgKmNvbDsKICAgTlNTdHJpbmcgKm5hbWU7 CiAKLSAgTlNUUkFDRSAoaW5pdEZyYW1lRnJvbUVtYWNzKTsKKyAgTlNUUkFDRSAoImluaXRGcmFt ZUZyb21FbWFjcyIpOwogCiAgIHdpbmRvd0Nsb3NpbmcgPSBOTzsKICAgcHJvY2Vzc2luZ0NvbXBv c2UgPSBOTzsKQEAgLTYyODMsOSArNjQ4Miw2IEBAIGlmIChjb2xzID4gMCAmJiByb3dzID4gMCkK ICAgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8PSBNQUNfT1NfWF9WRVJTSU9OXzEwXzkK ICAgW3dpbiB1c2VPcHRpbWl6ZWREcmF3aW5nOiBZRVNdOwogI2VuZGlmCi0gIHN6LndpZHRoID0g ZnJhbWVfcmVzaXplX3BpeGVsd2lzZSA/IDEgOiBGUkFNRV9DT0xVTU5fV0lEVEggKGYpOwotICBz ei5oZWlnaHQgPSBmcmFtZV9yZXNpemVfcGl4ZWx3aXNlID8gMSA6IEZSQU1FX0xJTkVfSEVJR0hU IChmKTsKLSAgW3dpbiBzZXRSZXNpemVJbmNyZW1lbnRzOiBzel07CiAKICAgW1t3aW4gY29udGVu dFZpZXddIGFkZFN1YnZpZXc6IHNlbGZdOwogCkBAIC02MzI5LDEwICs2NTI1LDE4IEBAIGlmIChj b2xzID4gMCAmJiByb3dzID4gMCkKICAgICBOU1NjcmVlbiAqc2NyZWVuID0gW3dpbiBzY3JlZW5d OwogCiAgICAgaWYgKHNjcmVlbiAhPSAwKQotICAgICAgW3dpbiBzZXRGcmFtZVRvcExlZnRQb2lu dDogTlNNYWtlUG9pbnQKLSAgICAgICAgICAgKElOX0JPVU5EICgtU0NSRUVOTUFYLCBmLT5sZWZ0 X3BvcywgU0NSRUVOTUFYKSwKLSAgICAgICAgICAgIElOX0JPVU5EICgtU0NSRUVOTUFYLAotICAg ICAgICAgICAgICAgICAgICAgW3NjcmVlbiBmcmFtZV0uc2l6ZS5oZWlnaHQgLSBOU19UT1BfUE9T IChmKSwgU0NSRUVOTUFYKSldOworICAgICAgeworICAgICAgICBOU1BvaW50IHB0ID0gTlNNYWtl UG9pbnQKKyAgICAgICAgICAoSU5fQk9VTkQgKC1TQ1JFRU5NQVgsIGYtPmxlZnRfcG9zLCBTQ1JF RU5NQVgpLAorICAgICAgICAgICBJTl9CT1VORCAoLVNDUkVFTk1BWCwKKyAgICAgICAgICAgICAg ICAgICAgIFtzY3JlZW4gZnJhbWVdLnNpemUuaGVpZ2h0IC0gTlNfVE9QX1BPUyAoZiksIFNDUkVF Tk1BWCkpOworCisgICAgICAgIE5TVFJBQ0VfUE9JTlQgKCJzZXRGcmFtZVRvcExlZnRQb2ludCIs IHB0KTsKKworICAgICAgICBbd2luIHNldEZyYW1lVG9wTGVmdFBvaW50OiBwdF07CisKKyAgICAg ICAgTlNUUkFDRV9SRUNUICgibmV3IGZyYW1lIiwgW3dpbiBmcmFtZV0pOworICAgICAgfQogICB9 CiAKICAgW3dpbiBtYWtlRmlyc3RSZXNwb25kZXI6IHNlbGZdOwpAQCAtNjM2Miw3ICs2NTY2LDcg QEAgaWYgKGNvbHMgPiAwICYmIHJvd3MgPiAwKQogICBOU0FycmF5ICpzY3JlZW5zID0gW05TU2Ny ZWVuIHNjcmVlbnNdOwogICBOU1NjcmVlbiAqc2NyZWVuID0gW3NjcmVlbnMgb2JqZWN0QXRJbmRl eDogMF07CiAKLSAgTlNUUkFDRSAod2luZG93RGlkTW92ZSk7CisgIE5TVFJBQ0UgKCJ3aW5kb3dE aWRNb3ZlIik7CiAKICAgaWYgKCFlbWFjc2ZyYW1lLT5vdXRwdXRfZGF0YS5ucykKICAgICByZXR1 cm47CkBAIC02MzgwLDYgKzY1ODQsMTAgQEAgaWYgKGNvbHMgPiAwICYmIHJvd3MgPiAwKQogICAg bG9jYXRpb24gc28gc2V0X3dpbmRvd19zaXplIG1vdmVzIHRoZSBmcmFtZS4gKi8KIC0gKEJPT0wp d2luZG93U2hvdWxkWm9vbTogKE5TV2luZG93ICopc2VuZGVyIHRvRnJhbWU6IChOU1JlY3QpbmV3 RnJhbWUKIHsKKyAgTlNUUkFDRSAoKCJbd2luZG93U2hvdWxkWm9vbTp3aW4gdG9GcmFtZToiIE5T VFJBQ0VfRk1UX1JFQ1QgIl0iCisgICAgICAgICAgICBOU1RSQUNFX0ZNVF9SRVRVUk4gIllFUyIp LAorICAgICAgICAgICBOU1RSQUNFX0FSR19SRUNUIChuZXdGcmFtZSkpOworCiAgIGVtYWNzZnJh bWUtPm91dHB1dF9kYXRhLm5zLT56b29taW5nID0gMTsKICAgcmV0dXJuIFlFUzsKIH0KQEAgLTYz OTEsNzEgKzY1OTksMTI0IEBAIGlmIChjb2xzID4gMCAmJiByb3dzID4gMCkKIC0gKE5TUmVjdCl3 aW5kb3dXaWxsVXNlU3RhbmRhcmRGcmFtZTooTlNXaW5kb3cgKilzZW5kZXIKICAgICAgICAgICAg ICAgICAgICAgICAgIGRlZmF1bHRGcmFtZTooTlNSZWN0KWRlZmF1bHRGcmFtZQogeworICAvLyBU T0RPOiBSZW5hbWUgdG8gImN1cnJlbnRGcmFtZSIgYW5kIGFzc2lnbiAicmVzdWx0IiBwcm9wZXJs eSBpbgorICAvLyBhbGwgcGF0aHMuCiAgIE5TUmVjdCByZXN1bHQgPSBbc2VuZGVyIGZyYW1lXTsK IAotICBOU1RSQUNFICh3aW5kb3dXaWxsVXNlU3RhbmRhcmRGcmFtZSk7CisgIE5TVFJBQ0UgKCgi W3dpbmRvd1dpbGxVc2VTdGFuZGFyZEZyYW1lOiBkZWZhdWx0RnJhbWU6IgorICAgICAgICAgICAg TlNUUkFDRV9GTVRfUkVDVCAiXSIpLAorICAgICAgICAgICBOU1RSQUNFX0FSR19SRUNUIChkZWZh dWx0RnJhbWUpKTsKKyAgTlNUUkFDRV9GU1RZUEUgKCJmc19zdGF0ZSIsIGZzX3N0YXRlKTsKKyAg TlNUUkFDRV9GU1RZUEUgKCJmc19iZWZvcmVfZnMiLCBmc19iZWZvcmVfZnMpOworICBOU1RSQUNF X0ZTVFlQRSAoIm5leHRfbWF4aW1pemVkIiwgbmV4dF9tYXhpbWl6ZWQpOworICBOU1RSQUNFX1JF Q1QgICAoIm5zX3VzZXJSZWN0IiwgbnNfdXNlclJlY3QpOworICBOU1RSQUNFX1JFQ1QgICAoIltz ZW5kZXIgZnJhbWVdIiwgW3NlbmRlciBmcmFtZV0pOwogCiAgIGlmIChmc19iZWZvcmVfZnMgIT0g LTEpIC8qIEVudGVyaW5nIGZ1bGxzY3JlZW4gKi8KLSAgICAgIHsKLSAgICAgICAgcmVzdWx0ID0g ZGVmYXVsdEZyYW1lOwotICAgICAgfQotICBlbHNlIGlmIChuZXh0X21heGltaXplZCA9PSBGVUxM U0NSRUVOX0hFSUdIVAotICAgICAgfHwgKG5leHRfbWF4aW1pemVkID09IC0xCi0gICAgICAgICAg JiYgYWJzICgoaW50KShkZWZhdWx0RnJhbWUuc2l6ZS5oZWlnaHQgLSByZXN1bHQuc2l6ZS5oZWln aHQpKQotICAgICAgICAgID4gRlJBTUVfTElORV9IRUlHSFQgKGVtYWNzZnJhbWUpKSkKLSAgICB7 Ci0gICAgICAvKiBmaXJzdCBjbGljayAqLwotICAgICAgbnNfdXNlclJlY3QgPSByZXN1bHQ7Ci0g ICAgICBtYXhpbWl6ZWRfaGVpZ2h0ID0gcmVzdWx0LnNpemUuaGVpZ2h0ID0gZGVmYXVsdEZyYW1l LnNpemUuaGVpZ2h0OwotICAgICAgbWF4aW1pemVkX3dpZHRoID0gLTE7Ci0gICAgICByZXN1bHQu b3JpZ2luLnkgPSBkZWZhdWx0RnJhbWUub3JpZ2luLnk7Ci0gICAgICBbc2VsZiBzZXRGU1ZhbHVl OiBGVUxMU0NSRUVOX0hFSUdIVF07Ci0jaWZkZWYgTlNfSU1QTF9DT0NPQQotICAgICAgbWF4aW1p emluZ19yZXNpemUgPSBZRVM7Ci0jZW5kaWYKLSAgICB9Ci0gIGVsc2UgaWYgKG5leHRfbWF4aW1p emVkID09IEZVTExTQ1JFRU5fV0lEVEgpCiAgICAgewotICAgICAgbnNfdXNlclJlY3QgPSByZXN1 bHQ7Ci0gICAgICBtYXhpbWl6ZWRfd2lkdGggPSByZXN1bHQuc2l6ZS53aWR0aCA9IGRlZmF1bHRG cmFtZS5zaXplLndpZHRoOwotICAgICAgbWF4aW1pemVkX2hlaWdodCA9IC0xOwotICAgICAgcmVz dWx0Lm9yaWdpbi54ID0gZGVmYXVsdEZyYW1lLm9yaWdpbi54OwotICAgICAgW3NlbGYgc2V0RlNW YWx1ZTogRlVMTFNDUkVFTl9XSURUSF07CisgICAgICBOU1RSQUNFX01TRyAoIkVudGVyaW5nIGZ1 bGxzY3JlZW4iKTsKKyAgICAgIHJlc3VsdCA9IGRlZmF1bHRGcmFtZTsKICAgICB9Ci0gIGVsc2Ug aWYgKG5leHRfbWF4aW1pemVkID09IEZVTExTQ1JFRU5fTUFYSU1JWkVECi0gICAgICAgICAgIHx8 IChuZXh0X21heGltaXplZCA9PSAtMQotICAgICAgICAgICAgICAgJiYgYWJzICgoaW50KShkZWZh dWx0RnJhbWUuc2l6ZS53aWR0aCAtIHJlc3VsdC5zaXplLndpZHRoKSkKLSAgICAgICAgICAgICAg ID4gRlJBTUVfQ09MVU1OX1dJRFRIIChlbWFjc2ZyYW1lKSkpCisgIGVsc2UKICAgICB7Ci0gICAg ICByZXN1bHQgPSBkZWZhdWx0RnJhbWU7ICAvKiBzZWNvbmQgY2xpY2sgKi8KLSAgICAgIG1heGlt aXplZF93aWR0aCA9IHJlc3VsdC5zaXplLndpZHRoOwotICAgICAgbWF4aW1pemVkX2hlaWdodCA9 IHJlc3VsdC5zaXplLmhlaWdodDsKLSAgICAgIFtzZWxmIHNldEZTVmFsdWU6IEZVTExTQ1JFRU5f TUFYSU1JWkVEXTsKKyAgICAgIC8vIFNhdmUgdGhlIHdpbmRvdyBzaXplIGFuZCBwb3NpdGlvbiAo ZnJhbWUpIGJlZm9yZSB0aGUgcmVzaXplLgorICAgICAgaWYgKGZzX3N0YXRlICE9IEZVTExTQ1JF RU5fTUFYSU1JWkVECisgICAgICAgICAgJiYgZnNfc3RhdGUgIT0gRlVMTFNDUkVFTl9XSURUSCkK KyAgICAgICAgeworICAgICAgICAgIG5zX3VzZXJSZWN0LnNpemUud2lkdGggPSByZXN1bHQuc2l6 ZS53aWR0aDsKKyAgICAgICAgICBuc191c2VyUmVjdC5vcmlnaW4ueCAgID0gcmVzdWx0Lm9yaWdp bi54OworICAgICAgICB9CisKKyAgICAgIGlmIChmc19zdGF0ZSAhPSBGVUxMU0NSRUVOX01BWElN SVpFRAorICAgICAgICAgICYmIGZzX3N0YXRlICE9IEZVTExTQ1JFRU5fSEVJR0hUKQorICAgICAg ICB7CisgICAgICAgICAgbnNfdXNlclJlY3Quc2l6ZS5oZWlnaHQgPSByZXN1bHQuc2l6ZS5oZWln aHQ7CisgICAgICAgICAgbnNfdXNlclJlY3Qub3JpZ2luLnkgICAgPSByZXN1bHQub3JpZ2luLnk7 CisgICAgICAgIH0KKworICAgICAgTlNUUkFDRV9SRUNUICgibnNfdXNlclJlY3QgKDIpIiwgbnNf dXNlclJlY3QpOworCisgICAgICBpZiAobmV4dF9tYXhpbWl6ZWQgPT0gRlVMTFNDUkVFTl9IRUlH SFQKKyAgICAgICAgICB8fCAobmV4dF9tYXhpbWl6ZWQgPT0gLTEKKyAgICAgICAgICAgICAgJiYg YWJzICgoaW50KShkZWZhdWx0RnJhbWUuc2l6ZS5oZWlnaHQgLSByZXN1bHQuc2l6ZS5oZWlnaHQp KQorICAgICAgICAgICAgICA+IEZSQU1FX0xJTkVfSEVJR0hUIChlbWFjc2ZyYW1lKSkpCisgICAg ICAgIHsKKyAgICAgICAgICAvKiBmaXJzdCBjbGljayAqLworICAgICAgICAgIE5TVFJBQ0VfTVNH ICgiRlVMTFNDUkVFTl9IRUlHSFQiKTsKKyAgICAgICAgICBtYXhpbWl6ZWRfaGVpZ2h0ID0gcmVz dWx0LnNpemUuaGVpZ2h0ID0gZGVmYXVsdEZyYW1lLnNpemUuaGVpZ2h0OworICAgICAgICAgIG1h eGltaXplZF93aWR0aCA9IC0xOworICAgICAgICAgIHJlc3VsdC5vcmlnaW4ueSA9IGRlZmF1bHRG cmFtZS5vcmlnaW4ueTsKKyAgICAgICAgICBpZiAobnNfdXNlclJlY3Quc2l6ZS5oZWlnaHQgIT0g MCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgcmVzdWx0Lm9yaWdpbi54ID0gbnNfdXNl clJlY3Qub3JpZ2luLng7CisgICAgICAgICAgICAgIHJlc3VsdC5zaXplLndpZHRoID0gbnNfdXNl clJlY3Quc2l6ZS53aWR0aDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICBbc2VsZiBzZXRGU1Zh bHVlOiBGVUxMU0NSRUVOX0hFSUdIVF07CiAjaWZkZWYgTlNfSU1QTF9DT0NPQQotICAgICAgbWF4 aW1pemluZ19yZXNpemUgPSBZRVM7CisgICAgICAgICAgbWF4aW1pemluZ19yZXNpemUgPSBZRVM7 CiAjZW5kaWYKLSAgICB9Ci0gIGVsc2UKLSAgICB7Ci0gICAgICAvKiByZXN0b3JlICovCi0gICAg ICByZXN1bHQgPSBuc191c2VyUmVjdC5zaXplLmhlaWdodCA/IG5zX3VzZXJSZWN0IDogcmVzdWx0 OwotICAgICAgbnNfdXNlclJlY3QgPSBOU01ha2VSZWN0ICgwLCAwLCAwLCAwKTsKKyAgICAgICAg fQorICAgICAgZWxzZSBpZiAobmV4dF9tYXhpbWl6ZWQgPT0gRlVMTFNDUkVFTl9XSURUSCkKKyAg ICAgICAgeworICAgICAgICAgIE5TVFJBQ0VfTVNHICgiRlVMTFNDUkVFTl9XSURUSCIpOworICAg ICAgICAgIG1heGltaXplZF93aWR0aCA9IHJlc3VsdC5zaXplLndpZHRoID0gZGVmYXVsdEZyYW1l LnNpemUud2lkdGg7CisgICAgICAgICAgbWF4aW1pemVkX2hlaWdodCA9IC0xOworICAgICAgICAg IHJlc3VsdC5vcmlnaW4ueCA9IGRlZmF1bHRGcmFtZS5vcmlnaW4ueDsKKyAgICAgICAgICBpZiAo bnNfdXNlclJlY3Quc2l6ZS53aWR0aCAhPSAwKQorICAgICAgICAgICAgeworICAgICAgICAgICAg ICByZXN1bHQub3JpZ2luLnkgPSBuc191c2VyUmVjdC5vcmlnaW4ueTsKKyAgICAgICAgICAgICAg cmVzdWx0LnNpemUuaGVpZ2h0ID0gbnNfdXNlclJlY3Quc2l6ZS5oZWlnaHQ7CisgICAgICAgICAg ICB9CisgICAgICAgICAgW3NlbGYgc2V0RlNWYWx1ZTogRlVMTFNDUkVFTl9XSURUSF07CisgICAg ICAgIH0KKyAgICAgIGVsc2UgaWYgKG5leHRfbWF4aW1pemVkID09IEZVTExTQ1JFRU5fTUFYSU1J WkVECisgICAgICAgICAgICAgICB8fCAobmV4dF9tYXhpbWl6ZWQgPT0gLTEKKyAgICAgICAgICAg ICAgICAgICAmJiBhYnMgKChpbnQpKGRlZmF1bHRGcmFtZS5zaXplLndpZHRoIC0gcmVzdWx0LnNp emUud2lkdGgpKQorICAgICAgICAgICAgICAgICAgID4gRlJBTUVfQ09MVU1OX1dJRFRIIChlbWFj c2ZyYW1lKSkpCisgICAgICAgIHsKKyAgICAgICAgICBOU1RSQUNFX01TRyAoIkZVTExTQ1JFRU5f TUFYSU1JWkVEIik7CisKKyAgICAgICAgICByZXN1bHQgPSBkZWZhdWx0RnJhbWU7ICAvKiBzZWNv bmQgY2xpY2sgKi8KKyAgICAgICAgICBtYXhpbWl6ZWRfd2lkdGggPSByZXN1bHQuc2l6ZS53aWR0 aDsKKyAgICAgICAgICBtYXhpbWl6ZWRfaGVpZ2h0ID0gcmVzdWx0LnNpemUuaGVpZ2h0OworICAg ICAgICAgIFtzZWxmIHNldEZTVmFsdWU6IEZVTExTQ1JFRU5fTUFYSU1JWkVEXTsKKyNpZmRlZiBO U19JTVBMX0NPQ09BCisgICAgICAgICAgbWF4aW1pemluZ19yZXNpemUgPSBZRVM7CisjZW5kaWYK KyAgICAgICAgfQorICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgLyogcmVzdG9yZSAq LworICAgICAgICAgIE5TVFJBQ0VfTVNHICgiUmVzdG9yZSIpOworICAgICAgICAgIHJlc3VsdCA9 IG5zX3VzZXJSZWN0LnNpemUuaGVpZ2h0ID8gbnNfdXNlclJlY3QgOiByZXN1bHQ7CisgICAgICAg ICAgTlNUUkFDRV9SRUNUICgicmVzdG9yZSAoMikiLCByZXN1bHQpOworICAgICAgICAgIG5zX3Vz ZXJSZWN0ID0gTlNNYWtlUmVjdCAoMCwgMCwgMCwgMCk7CiAjaWZkZWYgTlNfSU1QTF9DT0NPQQot ICAgICAgbWF4aW1pemluZ19yZXNpemUgPSBmc19zdGF0ZSAhPSBGVUxMU0NSRUVOX05PTkU7Cisg ICAgICAgICAgbWF4aW1pemluZ19yZXNpemUgPSBmc19zdGF0ZSAhPSBGVUxMU0NSRUVOX05PTkU7 CiAjZW5kaWYKLSAgICAgIFtzZWxmIHNldEZTVmFsdWU6IEZVTExTQ1JFRU5fTk9ORV07Ci0gICAg ICBtYXhpbWl6ZWRfd2lkdGggPSBtYXhpbWl6ZWRfaGVpZ2h0ID0gLTE7CisgICAgICAgICAgW3Nl bGYgc2V0RlNWYWx1ZTogRlVMTFNDUkVFTl9OT05FXTsKKyAgICAgICAgICBtYXhpbWl6ZWRfd2lk dGggPSBtYXhpbWl6ZWRfaGVpZ2h0ID0gLTE7CisgICAgICAgIH0KICAgICB9CiAKICAgaWYgKGZz X2JlZm9yZV9mcyA9PSAtMSkgbmV4dF9tYXhpbWl6ZWQgPSAtMTsKKworICBOU1RSQUNFX1JFQ1Qg ICAoIkZpbmFsIG5zX3VzZXJSZWN0IiwgbnNfdXNlclJlY3QpOworICBOU1RSQUNFX01TRyAgICAo IkZpbmFsIG1heGltaXplZF93aWR0aDogJWQiLCBtYXhpbWl6ZWRfd2lkdGgpOworICBOU1RSQUNF X01TRyAgICAoIkZpbmFsIG1heGltaXplZF9oZWlnaHQ6ICVkIiwgbWF4aW1pemVkX2hlaWdodCk7 CisgIE5TVFJBQ0VfRlNUWVBFICgiRmluYWwgbmV4dF9tYXhpbWl6ZWQiLCBuZXh0X21heGltaXpl ZCk7CisKICAgW3NlbGYgd2luZG93V2lsbFJlc2l6ZTogc2VuZGVyIHRvU2l6ZTogcmVzdWx0LnNp emVdOworCisgIE5TVFJBQ0VfUkVUVVJOX1JFQ1QgKHJlc3VsdCk7CisKICAgcmV0dXJuIHJlc3Vs dDsKIH0KIAogCiAtICh2b2lkKXdpbmRvd0RpZERlbWluaWF0dXJpemU6IHNlbmRlcgogewotICBO U1RSQUNFICh3aW5kb3dEaWREZW1pbmlhdHVyaXplKTsKKyAgTlNUUkFDRSAoIndpbmRvd0RpZERl bWluaWF0dXJpemUiKTsKICAgaWYgKCFlbWFjc2ZyYW1lLT5vdXRwdXRfZGF0YS5ucykKICAgICBy ZXR1cm47CiAKQEAgLTY0NzMsNyArNjczNCw3IEBAIGlmIChjb2xzID4gMCAmJiByb3dzID4gMCkK IAogLSAodm9pZCl3aW5kb3dEaWRFeHBvc2U6IHNlbmRlcgogewotICBOU1RSQUNFICh3aW5kb3dE aWRFeHBvc2UpOworICBOU1RSQUNFICgid2luZG93RGlkRXhwb3NlIik7CiAgIGlmICghZW1hY3Nm cmFtZS0+b3V0cHV0X2RhdGEubnMpCiAgICAgcmV0dXJuOwogCkBAIC02NDg3LDcgKzY3NDgsNyBA QCBpZiAoY29scyA+IDAgJiYgcm93cyA+IDApCiAKIC0gKHZvaWQpd2luZG93RGlkTWluaWF0dXJp emU6IHNlbmRlcgogewotICBOU1RSQUNFICh3aW5kb3dEaWRNaW5pYXR1cml6ZSk7CisgIE5TVFJB Q0UgKCJ3aW5kb3dEaWRNaW5pYXR1cml6ZSIpOwogICBpZiAoIWVtYWNzZnJhbWUtPm91dHB1dF9k YXRhLm5zKQogICAgIHJldHVybjsKIApAQCAtNjUxMiwxMSArNjc3MywxMyBAQCBpZiAoY29scyA+ IDAgJiYgcm93cyA+IDApCiAKIC0gKHZvaWQpd2luZG93V2lsbEVudGVyRnVsbFNjcmVlbjooTlNO b3RpZmljYXRpb24gKilub3RpZmljYXRpb24KIHsKKyAgTlNUUkFDRSAoIndpbmRvd1dpbGxFbnRl ckZ1bGxTY3JlZW4iKTsKICAgZnNfYmVmb3JlX2ZzID0gZnNfc3RhdGU7CiB9CiAKIC0gKHZvaWQp d2luZG93RGlkRW50ZXJGdWxsU2NyZWVuOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgog eworICBOU1RSQUNFICgid2luZG93RGlkRW50ZXJGdWxsU2NyZWVuIik7CiAgIFtzZWxmIHNldEZT VmFsdWU6IEZVTExTQ1JFRU5fQk9USF07CiAgIGlmICghIFtzZWxmIGZzSXNOYXRpdmVdKQogICAg IHsKQEAgLTY1NTAsMTIgKzY4MTMsMTYgQEAgaWYgKGNvbHMgPiAwICYmIHJvd3MgPiAwKQogCiAt ICh2b2lkKXdpbmRvd1dpbGxFeGl0RnVsbFNjcmVlbjooTlNOb3RpZmljYXRpb24gKilub3RpZmlj YXRpb24KIHsKKyAgTlNUUkFDRSAoIndpbmRvd1dpbGxFeGl0RnVsbFNjcmVlbiIpOworCiAgIGlm IChuZXh0X21heGltaXplZCAhPSAtMSkKICAgICBmc19iZWZvcmVfZnMgPSBuZXh0X21heGltaXpl ZDsKIH0KIAogLSAodm9pZCl3aW5kb3dEaWRFeGl0RnVsbFNjcmVlbjooTlNOb3RpZmljYXRpb24g Kilub3RpZmljYXRpb24KIHsKKyAgTlNUUkFDRSAoIndpbmRvd0RpZEV4aXRGdWxsU2NyZWVuIik7 CisKICAgW3NlbGYgc2V0RlNWYWx1ZTogZnNfYmVmb3JlX2ZzXTsKICAgZnNfYmVmb3JlX2ZzID0g LTE7CiAjaWZkZWYgSEFWRV9OQVRJVkVfRlMKQEAgLTY2MTMsMTAgKzY4ODAsMTEgQEAgaWYgKGNv bHMgPiAwICYmIHJvd3MgPiAwKQogICBOU1dpbmRvdyAqdywgKmZ3OwogICBCT09MIG9uRmlyc3RT Y3JlZW47CiAgIHN0cnVjdCBmcmFtZSAqZjsKLSAgTlNTaXplIHN6OwogICBOU1JlY3Qgciwgd3I7 CiAgIE5TQ29sb3IgKmNvbDsKIAorICBOU1RSQUNFICgidG9nZ2xlRnVsbFNjcmVlbiIpOworCiAg IGlmIChmc19pc19uYXRpdmUpCiAgICAgewogI2lmZGVmIEhBVkVfTkFUSVZFX0ZTCkBAIC02NjMz LDkgKzY5MDEsNiBAQCBpZiAoY29scyA+IDAgJiYgcm93cyA+IDApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoRlJBTUVfREVGQVVMVF9GQUNFIChmKSksCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBmKTsKIAotICBzei53aWR0aCA9IGZyYW1lX3Jlc2l6ZV9waXhl bHdpc2UgPyAxIDogRlJBTUVfQ09MVU1OX1dJRFRIIChmKTsKLSAgc3ouaGVpZ2h0ID0gZnJhbWVf cmVzaXplX3BpeGVsd2lzZSA/IDEgOiBGUkFNRV9MSU5FX0hFSUdIVCAoZik7Ci0KICAgaWYgKGZz X3N0YXRlICE9IEZVTExTQ1JFRU5fQk9USCkKICAgICB7CiAgICAgICBOU1NjcmVlbiAqc2NyZWVu ID0gW3cgc2NyZWVuXTsKQEAgLTY2NzUsNyArNjk0MCw2IEBAIGlmIChjb2xzID4gMCAmJiByb3dz ID4gMCkKICAgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8PSBNQUNfT1NfWF9WRVJTSU9O XzEwXzkKICAgICAgIFtmdyB1c2VPcHRpbWl6ZWREcmF3aW5nOiBZRVNdOwogI2VuZGlmCi0gICAg ICBbZncgc2V0UmVzaXplSW5jcmVtZW50czogc3pdOwogICAgICAgW2Z3IHNldEJhY2tncm91bmRD b2xvcjogY29sXTsKICAgICAgIGlmIChbY29sIGFscGhhQ29tcG9uZW50XSAhPSAoRW1hY3NDR0Zs b2F0KSAxLjApCiAgICAgICAgIFtmdyBzZXRPcGFxdWU6IE5PXTsKQEAgLTY3MTIsNyArNjk3Niw2 IEBAIGlmIChjb2xzID4gMCAmJiByb3dzID4gMCkKICAgICAgICAgfQogCiAgICAgICBbdyBzZXRD b250ZW50VmlldzpbZncgY29udGVudFZpZXddXTsKLSAgICAgIFt3IHNldFJlc2l6ZUluY3JlbWVu dHM6IHN6XTsKICAgICAgIFt3IHNldEJhY2tncm91bmRDb2xvcjogY29sXTsKICAgICAgIGlmIChb Y29sIGFscGhhQ29tcG9uZW50XSAhPSAoRW1hY3NDR0Zsb2F0KSAxLjApCiAgICAgICAgIFt3IHNl dE9wYXF1ZTogTk9dOwpAQCAtNjczMywzOSArNjk5Niw0MiBAQCBpZiAoY29scyA+IDAgJiYgcm93 cyA+IDApCiAKIC0gKHZvaWQpaGFuZGxlRlMKIHsKKyAgTlNUUkFDRSAoImhhbmRsZUZTIik7CisK ICAgaWYgKGZzX3N0YXRlICE9IGVtYWNzZnJhbWUtPndhbnRfZnVsbHNjcmVlbikKICAgICB7Ci0g ICAgICBOU1NpemUgc3o7Ci0gICAgICBzei53aWR0aCA9IGZyYW1lX3Jlc2l6ZV9waXhlbHdpc2Ug PyAxIDogRlJBTUVfQ09MVU1OX1dJRFRIIChlbWFjc2ZyYW1lKTsKLSAgICAgIHN6LmhlaWdodCA9 IGZyYW1lX3Jlc2l6ZV9waXhlbHdpc2UgPyAxIDogRlJBTUVfTElORV9IRUlHSFQgKGVtYWNzZnJh bWUpOwotICAgICAgW1tzZWxmIHdpbmRvd10gc2V0UmVzaXplSW5jcmVtZW50czpzel07Ci0KICAg ICAgIGlmIChmc19zdGF0ZSA9PSBGVUxMU0NSRUVOX0JPVEgpCiAgICAgICAgIHsKKyAgICAgICAg ICBOU1RSQUNFX01TRyAoImZzX3N0YXRlID09IEZVTExTQ1JFRU5fQk9USCIpOwogICAgICAgICAg IFtzZWxmIHRvZ2dsZUZ1bGxTY3JlZW46c2VsZl07CiAgICAgICAgIH0KIAogICAgICAgc3dpdGNo IChlbWFjc2ZyYW1lLT53YW50X2Z1bGxzY3JlZW4pCiAgICAgICAgIHsKICAgICAgICAgY2FzZSBG VUxMU0NSRUVOX0JPVEg6CisgICAgICAgICAgTlNUUkFDRV9NU0cgKCJGVUxMU0NSRUVOX0JPVEgi KTsKICAgICAgICAgICBbc2VsZiB0b2dnbGVGdWxsU2NyZWVuOnNlbGZdOwogICAgICAgICAgIGJy ZWFrOwogICAgICAgICBjYXNlIEZVTExTQ1JFRU5fV0lEVEg6CisgICAgICAgICAgTlNUUkFDRV9N U0cgKCJGVUxMU0NSRUVOX1dJRFRIIik7CiAgICAgICAgICAgbmV4dF9tYXhpbWl6ZWQgPSBGVUxM U0NSRUVOX1dJRFRIOwogICAgICAgICAgIGlmIChmc19zdGF0ZSAhPSBGVUxMU0NSRUVOX0JPVEgp CiAgICAgICAgICAgICBbW3NlbGYgd2luZG93XSBwZXJmb3JtWm9vbTpzZWxmXTsKICAgICAgICAg ICBicmVhazsKICAgICAgICAgY2FzZSBGVUxMU0NSRUVOX0hFSUdIVDoKKyAgICAgICAgICBOU1RS QUNFX01TRyAoIkZVTExTQ1JFRU5fSEVJR0hUIik7CiAgICAgICAgICAgbmV4dF9tYXhpbWl6ZWQg PSBGVUxMU0NSRUVOX0hFSUdIVDsKICAgICAgICAgICBpZiAoZnNfc3RhdGUgIT0gRlVMTFNDUkVF Tl9CT1RIKQogICAgICAgICAgICAgW1tzZWxmIHdpbmRvd10gcGVyZm9ybVpvb206c2VsZl07CiAg ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgRlVMTFNDUkVFTl9NQVhJTUlaRUQ6CisgICAg ICAgICAgTlNUUkFDRV9NU0cgKCJGVUxMU0NSRUVOX01BWElNSVpFRCIpOwogICAgICAgICAgIG5l eHRfbWF4aW1pemVkID0gRlVMTFNDUkVFTl9NQVhJTUlaRUQ7CiAgICAgICAgICAgaWYgKGZzX3N0 YXRlICE9IEZVTExTQ1JFRU5fQk9USCkKICAgICAgICAgICAgIFtbc2VsZiB3aW5kb3ddIHBlcmZv cm1ab29tOnNlbGZdOwogICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEZVTExTQ1JFRU5f Tk9ORToKKyAgICAgICAgICBOU1RSQUNFX01TRyAoIkZVTExTQ1JFRU5fTk9ORSIpOwogICAgICAg ICAgIGlmIChmc19zdGF0ZSAhPSBGVUxMU0NSRUVOX0JPVEgpCiAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgIG5leHRfbWF4aW1pemVkID0gRlVMTFNDUkVFTl9OT05FOwpAQCAtNjc4MSw2ICs3 MDQ3LDkgQEAgaWYgKGNvbHMgPiAwICYmIHJvd3MgPiAwKQogCiAtICh2b2lkKSBzZXRGU1ZhbHVl OiAoaW50KXZhbHVlCiB7CisgIE5TVFJBQ0UgKCJzZXRGU1ZhbHVlIik7CisgIE5TVFJBQ0VfRlNU WVBFICgidmFsdWUiLCB2YWx1ZSk7CisKICAgTGlzcF9PYmplY3QgbHZhbCA9IFFuaWw7CiAgIHN3 aXRjaCAodmFsdWUpCiAgICAgewpAQCAtNjgwMyw3ICs3MDcyLDcgQEAgaWYgKGNvbHMgPiAwICYm IHJvd3MgPiAwKQogCiAtICh2b2lkKW1vdXNlRW50ZXJlZDogKE5TRXZlbnQgKil0aGVFdmVudAog ewotICBOU1RSQUNFIChtb3VzZUVudGVyZWQpOworICBOU1RSQUNFICgibW91c2VFbnRlcmVkIik7 CiAgIGlmIChlbWFjc2ZyYW1lKQogICAgIEZSQU1FX0RJU1BMQVlfSU5GTyAoZW1hY3NmcmFtZSkt Pmxhc3RfbW91c2VfbW92ZW1lbnRfdGltZQogICAgICAgPSBFVl9USU1FU1RBTVAgKHRoZUV2ZW50 KTsKQEAgLTY4MTQsNyArNzA4Myw3IEBAIGlmIChjb2xzID4gMCAmJiByb3dzID4gMCkKIHsKICAg TW91c2VfSExJbmZvICpobGluZm8gPSBlbWFjc2ZyYW1lID8gTU9VU0VfSExfSU5GTyAoZW1hY3Nm cmFtZSkgOiBOVUxMOwogCi0gIE5TVFJBQ0UgKG1vdXNlRXhpdGVkKTsKKyAgTlNUUkFDRSAoIm1v dXNlRXhpdGVkIik7CiAKICAgaWYgKCFobGluZm8pCiAgICAgcmV0dXJuOwpAQCAtNjgzMiw3ICs3 MTAxLDcgQEAgaWYgKGNvbHMgPiAwICYmIHJvd3MgPiAwKQogCiAtIG1lbnVEb3duOiBzZW5kZXIK IHsKLSAgTlNUUkFDRSAobWVudURvd24pOworICBOU1RSQUNFICgibWVudURvd24iKTsKICAgaWYg KGNvbnRleHRfbWVudV92YWx1ZSA9PSAtMSkKICAgICBjb250ZXh0X21lbnVfdmFsdWUgPSBbc2Vu ZGVyIHRhZ107CiAgIGVsc2UKQEAgLTY4NjAsNyArNzEyOSw3IEBAIGlmIChjb2xzID4gMCAmJiBy b3dzID4gMCkKICAgTlNFdmVudCAqdGhlRXZlbnQ7CiAgIGludCBpZHggPSBbaXRlbSB0YWddICog VE9PTF9CQVJfSVRFTV9OU0xPVFM7CiAKLSAgTlNUUkFDRSAodG9vbGJhckNsaWNrZWQpOworICBO U1RSQUNFICgidG9vbGJhckNsaWNrZWQiKTsKIAogICBpZiAoIWVtYWNzX2V2ZW50KQogICAgIHJl dHVybiBzZWxmOwpAQCAtNjg5OCw3ICs3MTY3LDggQEAgaWYgKGNvbHMgPiAwICYmIHJvd3MgPiAw KQogICBpbnQgeCA9IE5TTWluWCAocmVjdCksIHkgPSBOU01pblkgKHJlY3QpOwogICBpbnQgd2lk dGggPSBOU1dpZHRoIChyZWN0KSwgaGVpZ2h0ID0gTlNIZWlnaHQgKHJlY3QpOwogCi0gIE5TVFJB Q0UgKGRyYXdSZWN0KTsKKyAgTlNUUkFDRSAoImRyYXdSZWN0Iik7CisgIE5TVFJBQ0VfUkVDVCAo ImlucHV0IiwgcmVjdCk7CiAKICAgaWYgKCFlbWFjc2ZyYW1lIHx8ICFlbWFjc2ZyYW1lLT5vdXRw dXRfZGF0YS5ucykKICAgICByZXR1cm47CkBAIC02OTI0LDcgKzcxOTQsNyBAQCBpZiAoY29scyA+ IDAgJiYgcm93cyA+IDApCiAKIC0oTlNEcmFnT3BlcmF0aW9uKSBkcmFnZ2luZ0VudGVyZWQ6IChp ZCA8TlNEcmFnZ2luZ0luZm8+KSBzZW5kZXIKIHsKLSAgTlNUUkFDRSAoZHJhZ2dpbmdFbnRlcmVk KTsKKyAgTlNUUkFDRSAoImRyYWdnaW5nRW50ZXJlZCIpOwogICByZXR1cm4gTlNEcmFnT3BlcmF0 aW9uR2VuZXJpYzsKIH0KIApAQCAtNjk0NSw3ICs3MjE1LDcgQEAgaWYgKGNvbHMgPiAwICYmIHJv d3MgPiAwKQogICBOU0RyYWdPcGVyYXRpb24gb3AgPSBbc2VuZGVyIGRyYWdnaW5nU291cmNlT3Bl cmF0aW9uTWFza107CiAgIGludCBtb2RpZmllcnMgPSAwOwogCi0gIE5TVFJBQ0UgKHBlcmZvcm1E cmFnT3BlcmF0aW9uKTsKKyAgTlNUUkFDRSAoInBlcmZvcm1EcmFnT3BlcmF0aW9uIik7CiAKICAg aWYgKCFlbWFjc19ldmVudCkKICAgICByZXR1cm4gTk87CkBAIC03MDQ1LDcgKzczMTUsNyBAQCBp ZiAoY29scyA+IDAgJiYgcm93cyA+IDApCiAtIChpZCkgdmFsaWRSZXF1ZXN0b3JGb3JTZW5kVHlw ZTogKE5TU3RyaW5nICopdHlwZVNlbnQKICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5UeXBl OiAoTlNTdHJpbmcgKil0eXBlUmV0dXJuZWQKIHsKLSAgTlNUUkFDRSAodmFsaWRSZXF1ZXN0b3JG b3JTZW5kVHlwZSk7CisgIE5TVFJBQ0UgKCJ2YWxpZFJlcXVlc3RvckZvclNlbmRUeXBlIik7CiAg IGlmICh0eXBlU2VudCAhPSBuaWwgJiYgW25zX3NlbmRfdHlwZXMgaW5kZXhPZk9iamVjdDogdHlw ZVNlbnRdICE9IE5TTm90Rm91bmQKICAgICAgICYmIHR5cGVSZXR1cm5lZCA9PSBuaWwpCiAgICAg ewpAQCAtNzEwNyw3ICs3Mzc3LDcgQEAgaWYgKGNvbHMgPiAwICYmIHJvd3MgPiAwKQogLSBzZXRN aW5pd2luZG93SW1hZ2U6IChCT09MKSBzZXRNaW5pCiB7CiAgIGlkIGltYWdlID0gW1tzZWxmIHdp bmRvd10gbWluaXdpbmRvd0ltYWdlXTsKLSAgTlNUUkFDRSAoc2V0TWluaXdpbmRvd0ltYWdlKTsK KyAgTlNUUkFDRSAoInNldE1pbml3aW5kb3dJbWFnZSIpOwogCiAgIC8qIE5PVEU6IHVuZGVyIENv Y29hIG1pbml3aW5kb3dJbWFnZSBhbHdheXMgcmV0dXJucyBuaWwsIGRvY3VtZW50YXRpb24KICAg ICAgYWJvdXQgIkFwcGxlRG9ja0ljb25FbmFibGVkIiBub3R3aXRoc3RhbmRpbmcsIGhvd2V2ZXIg dGhlIHNldCBtZXNzYWdlCkBAIC03MTMwLDYgKzc0MDAsMTEgQEAgaWYgKGNvbHMgPiAwICYmIHJv d3MgPiAwKQogICBjb2xzID0gYzsKIH0KIAorLSAoaW50KSBmdWxsc2NyZWVuU3RhdGUKK3sKKyAg cmV0dXJuIGZzX3N0YXRlOworfQorCiBAZW5kICAvKiBFbWFjc1ZpZXcgKi8KIAogCkBAIC03MTk5 LDMyICs3NDc0LDk2IEBAIGlmIChjb2xzID4gMCAmJiByb3dzID4gMCkKIH0KICNlbmRpZiAvKiBO U19JTVBMX0NPQ09BICovCiAKLS8qIElmIHdlIGhhdmUgbXVsdGlwbGUgbW9uaXRvcnMsIG9uZSBh Ym92ZSB0aGUgb3RoZXIsIHdlIGRvbid0IHdhbnQgdG8KLSAgIHJlc3RyaWN0IHRoZSBoZWlnaHQg dG8ganVzdCBvbmUgbW9uaXRvci4gIFNvIHdlIG92ZXJyaWRlIHRoaXMuICAqLworLyogQ29uc3Ry YWluIHNpemUgYW5kIHBsYWNlbWVudCBvZiBhIGZyYW1lLgorCisgICBCeSByZXR1cm5pbmcgdGhl IG9yaWdpbmFsICJmcmFtZVJlY3QiLCB0aGUgZnJhbWUgaXMgbm90CisgICBjb250cmFpbmVkLiBU aGlzIGNhbiBsZWFkIHRvIHVud2FudGVkIHNpdHVhdGlvbnMgd2hlcmUsIGZvcgorICAgZXhhbXBs ZSwgdGhlIG1lbnUgYmFyIGNvdmVycyB0aGUgZnJhbWUuCisKKyAgIFRoZSBkZWZhdWx0IGltcGxl bWVudGF0aW9uIChhY2Nlc3NlZCB1c2luZyAic3VwZXIiKSBjb25zdHJhaW5zIHRoZQorICAgZnJh bWUgdG8gdGhlIHZpc2libGUgYXJlYSBvZiBTQ1JFRU4sIG1pbnVzIHRoZSBtZW51IGJhciAoaWYK KyAgIHByZXNlbnQpIGFuZCB0aGUgRG9jay4gTm90ZSB0aGF0IGRlZmF1bHQgaW1wbGVtZW50YXRp b24gYWxzbyBjYWxscworICAgd2luZG93V2lsbFJlc2l6ZSwgd2l0aCB0aGUgZnJhbWUgaXQgdGhp bmtzIHNob3VsZCBoYXZlLiAoVGhpcyBjYW4KKyAgIG1ha2UgdGhlIGZyYW1lIGV4aXQgbWF4aW1p emVkIG1vZGUuKQorCisgICBOb3RlIHRoYXQgdGhpcyBzaG91bGQgd29yayBpbiBzaXR1YXRpb25z IHdoZXJlIG11bHRpcGxlIG1vbml0b3JzCisgICBhcmUgcHJlc2VudC4gQ29tbW9uIGNvbmZpZ3Vy YXRpb25zIGFyZSBzaWRlLWJ5LXNpZGUgbW9uaXRvcnMgYW5kIGEKKyAgIG1vbml0b3Igb24gdG9w IG9mIGFub3RoZXIgKGUuZy4gd2hlbiBhIGxhcHRvcCBpcyBwbGFjZWQgdW5kZXIgYQorICAgbGFy Z2Ugc2NyZWVuKS4gKi8KKyNpZiAxCistIChOU1JlY3QpY29uc3RyYWluRnJhbWVSZWN0OihOU1Jl Y3QpZnJhbWVSZWN0IHRvU2NyZWVuOihOU1NjcmVlbiAqKXNjcmVlbgoreworICBOU1RSQUNFICgi Y29uc3RyYWluRnJhbWVSZWN0OiIgTlNUUkFDRV9GTVRfUkVDVCAiIHRvU2NyZWVuOiIsCisgICAg ICAgICAgICAgTlNUUkFDRV9BUkdfUkVDVCAoZnJhbWVSZWN0KSk7CisKKyNpZmRlZiBOU19JTVBM X0NPQ09BCisjaWYgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBNQUNfT1NfWF9WRVJT SU9OXzEwXzkKKyAgLy8gSWYgc2VwYXJhdGUgc3BhY2VzIGlzIG9uLCBpdCBpcyBsaWtlIGVhY2gg c2NyZWVuIGlzIGluZGVwZW5kZW50LiAgVGhlcmUgaXMKKyAgLy8gbm8gc3Bhbm5pbmcgb2YgZnJh bWVzIGFjcm9zcyBzY3JlZW5zLgorICBpZiAoW05TU2NyZWVuIHNjcmVlbnNIYXZlU2VwYXJhdGVT cGFjZXNdKQorICAgIHsKKyAgICAgIE5TVFJBQ0VfTVNHICgiU2NyZWVucyBoYXZlIHNlcGFyYXRl IHNwYWNlcyIpOworICAgICAgZnJhbWVSZWN0ID0gW3N1cGVyIGNvbnN0cmFpbkZyYW1lUmVjdDpm cmFtZVJlY3QgdG9TY3JlZW46c2NyZWVuXTsKKyAgICAgIE5TVFJBQ0VfUkVUVVJOX1JFQ1QgKGZy YW1lUmVjdCk7CisgICAgICByZXR1cm4gZnJhbWVSZWN0OworICAgIH0KKyNlbmRpZgorI2VuZGlm CisKKyAgcmV0dXJuIGNvbnN0cmFpbl9mcmFtZV9yZWN0KGZyYW1lUmVjdCk7Cit9CisjZWxzZQog LSAoTlNSZWN0KWNvbnN0cmFpbkZyYW1lUmVjdDooTlNSZWN0KWZyYW1lUmVjdCB0b1NjcmVlbjoo TlNTY3JlZW4gKilzY3JlZW4KIHsKICAgLyogV2hlbiBtYWtpbmcgdGhlIGZyYW1lIHZpc2libGUg Zm9yIHRoZSBmaXJzdCB0aW1lIG9yIGlmIHRoZXJlIGlzIGp1c3QKICAgICAgb25lIHNjcmVlbiwg d2Ugd2FudCB0byBjb25zdHJhaW4uICBPdGhlciB0aW1lcyBub3QuICAqLwogICBOU0FycmF5ICpz Y3JlZW5zID0gW05TU2NyZWVuIHNjcmVlbnNdOwogICBOU1VJbnRlZ2VyIG5yX3NjcmVlbnMgPSBb c2NyZWVucyBjb3VudF0sIG5yX2VmZl9zY3JlZW5zID0gMCwgaTsKLSAgTlNUUkFDRSAoY29uc3Ry YWluRnJhbWVSZWN0KTsKLSAgTlNUUkFDRV9SRUNUICgiaW5wdXQiLCBmcmFtZVJlY3QpOworICBO U1RSQUNFICgiY29uc3RyYWluRnJhbWVSZWN0OiIgTlNUUkFDRV9GTVRfUkVDVCwKKyAgICAgICAg ICAgTlNUUkFDRV9BUkdfUkVDVCAoZnJhbWVSZWN0KSk7CiAKICAgaWYgKG5zX21lbnVfYmFyX3No b3VsZF9iZV9oaWRkZW4gKCkpCi0gICAgcmV0dXJuIGZyYW1lUmVjdDsKKyAgICB7CisgICAgICBO U1RSQUNFX1JFQ1QgKCJNZW51IGJhciBzaG91bGQgYmUgaGlkZGVuIiwgZnJhbWVSZWN0KTsKKyAg ICAgIHJldHVybiBmcmFtZVJlY3Q7CisgICAgfQogCiAgIGlmIChucl9zY3JlZW5zID09IDEpCi0g ICAgcmV0dXJuIFtzdXBlciBjb25zdHJhaW5GcmFtZVJlY3Q6ZnJhbWVSZWN0IHRvU2NyZWVuOnNj cmVlbl07CisgICAgeworICAgICAgZnJhbWVSZWN0ID0gW3N1cGVyIGNvbnN0cmFpbkZyYW1lUmVj dDpmcmFtZVJlY3QgdG9TY3JlZW46c2NyZWVuXTsKKyAgICAgIE5TVFJBQ0VfTVNHICgibnJfc2Ny ZWVucyA9PSAxIik7CisgICAgICBOU1RSQUNFX1JFVFVSTl9SRUNUIChmcmFtZVJlY3QpOworICAg ICAgcmV0dXJuIGZyYW1lUmVjdDsKKyAgICB9CiAKICNpZmRlZiBOU19JTVBMX0NPQ09BCiAjaWYg TUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBNQUNfT1NfWF9WRVJTSU9OXzEwXzkKICAg Ly8gSWYgc2VwYXJhdGUgc3BhY2VzIGlzIG9uLCBpdCBpcyBsaWtlIGVhY2ggc2NyZWVuIGlzIGlu ZGVwZW5kZW50LiAgVGhlcmUgaXMKICAgLy8gbm8gc3Bhbm5pbmcgb2YgZnJhbWVzIGFjcm9zcyBz Y3JlZW5zLgogICBpZiAoW05TU2NyZWVuIHNjcmVlbnNIYXZlU2VwYXJhdGVTcGFjZXNdKQotICAg IHJldHVybiBbc3VwZXIgY29uc3RyYWluRnJhbWVSZWN0OmZyYW1lUmVjdCB0b1NjcmVlbjpzY3Jl ZW5dOworICAgIHsKKyAgICAgIGZyYW1lUmVjdCA9IFtzdXBlciBjb25zdHJhaW5GcmFtZVJlY3Q6 ZnJhbWVSZWN0IHRvU2NyZWVuOnNjcmVlbl07CisgICAgICBOU1RSQUNFX01TRyAoIlNjcmVlbnMg aGF2ZSBzZXBhcmF0ZSBzcGFjZXMiKTsKKyAgICAgIE5TVFJBQ0VfUkVUVVJOX1JFQ1QgKGZyYW1l UmVjdCk7CisgICAgICByZXR1cm4gZnJhbWVSZWN0OworICAgIH0KICNlbmRpZgogI2VuZGlmCiAK KyAgLyogVE9ETzogRGVjaWRlIHdoYXQgdG8gZG8gd2l0aCB0aGlzLiBDdXJyZW50bHkgZGlzYWJs ZWQgc2luY2UgaXQKKyAgICAgY2F1c2UgbWF4aW1pemVkIHdpbmRvd3MgdG8gYmUgcmVzaXplZCB0 byBhY2NvbW9kYXRlIHRoZSBkb2NrLAorICAgICB3aGljaCBpcyBub3Qgd2hhdCB3ZSB3YW50LiAq LworI2lmIDEKKyAgLyogQ29uc3RyYWluIGEgZnJhbWUgb24gYSBzaW5nbGUgc2NyZWVuIHRvIHRo YXQgc2NyZWVuLiAqLworCisgIC8qIFRPRE86IFRoaXMgaGFzIHRoZSBlZmZlY3QgdGhhdCBhIGZy YW1lIG9uIGEgc2luZ2xlIHNjcmVlbiBpcworICAgICByZXN0cmljdGVkIGluIGhlaWdodCwgd2hl cmVhcyBhIGZyYW1lIHN0cmF0Y2hpbmcgdHdvIHNpZGUtYnkgc2lkZQorICAgICBtb25pdG9ycyBh cmUgbm90LCB3aGVuIHJlc2l6ZWQgcHJvZ3JhbW1hdGljYWxseS4gQ2xlYXJseSwgdGhpcyBpcwor ICAgICBub3QgdGhlIGRlc2lyZWQgYmVoYXZpb3VyLgorCisgICAgIEFsc28sIGlmIHRoZSBtb25p dG9ycyBhcmUgb25lIGFib3ZlIHRoZSBvdGhlciwgdGhpcyB3aWxsIHByb2JhYmx5CisgICAgIHBy ZXZlbnQgdGhlIGZyYW1lIGZyb20gc3RyZXRjaGluZyBvdmVyIHRoZW0gYm90aC4gKi8KKwogICBm b3IgKGkgPSAwOyBpIDwgbnJfc2NyZWVuczsgKytpKQogICAgIHsKICAgICAgIE5TU2NyZWVuICpz ID0gW3NjcmVlbnMgb2JqZWN0QXRJbmRleDogaV07CkBAIC03MjM2LDcgKzc1NzUsMTMgQEAgaWYg KGNvbHMgPiAwICYmIHJvd3MgPiAwKQogICAgIH0KIAogICBpZiAobnJfZWZmX3NjcmVlbnMgPT0g MSkKLSAgICByZXR1cm4gW3N1cGVyIGNvbnN0cmFpbkZyYW1lUmVjdDpmcmFtZVJlY3QgdG9TY3Jl ZW46c2NyZWVuXTsKKyAgICB7CisgICAgICBmcmFtZVJlY3QgPSBbc3VwZXIgY29uc3RyYWluRnJh bWVSZWN0OmZyYW1lUmVjdCB0b1NjcmVlbjpzY3JlZW5dOworICAgICAgTlNUUkFDRV9NU0cgKCJu cl9lZmZfc2NyZWVucyA9PSAxIik7CisgICAgICBOU1RSQUNFX1JFVFVSTl9SRUNUIChmcmFtZVJl Y3QpOworICAgICAgcmV0dXJuIGZyYW1lUmVjdDsKKyAgICB9CisjZW5kaWYKIAogICAvKiBUaGUg ZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkb2VzIHR3byB0aGluZ3MgMSkgZW5zdXJlIHRoYXQgdGhl IHRvcAogICAgICBvZiB0aGUgcmVjdGFuZ2xlIGlzIGJlbG93IHRoZSBtZW51IGJhciAob3IgYmVs b3cgdGhlIHRvcCBvZiB0aGUKQEAgLTcyNjIsMTEgKzc2MDcsMTAzIEBAIGlmIChjb2xzID4gMCAm JiByb3dzID4gMCkKICAgICBmcmFtZVJlY3Qub3JpZ2luLnkgPSBuZXdfdG9wIC0gZnJhbWVSZWN0 LnNpemUuaGVpZ2h0OwogICB9CiAKLSAgTlNUUkFDRV9SRUNUICgib3V0cHV0IiwgZnJhbWVSZWN0 KTsKKyAgTlNUUkFDRV9SRVRVUk5fUkVDVCAoZnJhbWVSZWN0KTsKIAogICByZXR1cm4gZnJhbWVS ZWN0OwogI3VuZGVmIEZBS0VfSEVJR0hUCiB9CisjZW5kaWYKKworCistICh2b2lkKXBlcmZvcm1a b29tOihpZClzZW5kZXIKK3sKKyAgTlNUUkFDRSAoInBlcmZvcm1ab29tIik7CisKKyAgcmV0dXJu IFtzdXBlciBwZXJmb3JtWm9vbTpzZW5kZXJdOworfQorCistICh2b2lkKXpvb206KGlkKXNlbmRl cgoreworICBzdHJ1Y3QgZnJhbWUgKiBmID0gU0VMRUNURURfRlJBTUUgKCk7CisKKyAgTlNUUkFD RSAoInpvb20iKTsKKworICBuc191cGRhdGVfYXV0b19oaWRlX21lbnVfYmFyKCk7CisKKyAgLy8g QmVsb3cgYXJlIHRocmVlIHpvb20gaW1wbGVtZW50YXRpb25zLiBJbiB0aGUgZmluYWwgY29tbWl0 LCB0aGUKKyAgLy8gaWRlYSBpcyB0aGF0IHRoZSBsYXN0IHNob3VsZCBiZSBpbmNsdWRlZC4KKwor I2lmIDAKKyAgLy8gTmF0aXZlIHpvb20gZG9uZSB1c2luZyB0aGUgc3RhbmRhcmQgem9vbSBhbmlt YXRpb24uIFNpemUgb2YgdGhlCisgIC8vIHJlc3VsdGluZyBmcmFtZSByZWR1Y2VkIHRvIGFjY29t b2RhdGUgdGhlIERvY2sgYW5kLCBpZiBwcmVzZW50LAorICAvLyB0aGUgbWVudS1iYXIuCisgIFtz dXBlciB6b29tOnNlbmRlcl07CisKKyNlbHNpZiAwCisgIC8vIE5hdGl2ZSB6b29tIGRvbmUgdXNp bmcgdGhlIHN0YW5kYXJkIHpvb20gYW5pbWF0aW9uLCBwbHVzIGFuCisgIC8vIGV4cGxpY2l0IHJl c2l6ZSB0byBjb3ZlciB0aGUgZnVsbCBzY3JlZW4uCisgIFtzdXBlciB6b29tOnNlbmRlcl07CisK KyAgLy8gQWZ0ZXIgdGhlIG5hdGl2ZSB6b29tLCByZXNpemUgdGhlIHJlc3VsdGluZyBmcmFtZSB0 byBmaWxsIHRoZQorICAvLyBlbnRpcmUgc2NyZWVuLCBleGNlcHQgdGhlIG1lbnUtYmFyLgorICAv LworICAvLyBUaGlzIHdvcmtzIGZvciBhbGwgcHJhY3RpY2FsIHB1cnBvc2VzLiAoVGhlIG9ubHkg bWlub3Igb2RkaXR5IGlzCisgIC8vIHdoZW4gdHJhbnNpdGluZyBmcm9tIGZ1bGwtaGVpZ2h0IGZy YW1lIHRvIGEgbWF4aW1pemVkLCB0aGUKKyAgLy8gYW5pbWF0aW9uIHJlZHVjZXMgdGhlIGhlaWdo dCBvZiB0aGUgZnJhbWUgc2xpZ2h0eSAodG8gdGhlIDQKKyAgLy8gcGl4ZWxzIG5lZWRlZCB0byBh Y2NvbW9kYXRlIHRoZSBEb2MpIGJlZm9yZSBpdCBzbmFwcyBiYWNrIGludG8KKyAgLy8gZnVsbCBo ZWlnaHQuIFRoZSB1c2VyIHdvdWxkIG5lZWQgYSB2ZXJ5IHRyYWluZWQgZXllIHRvIHNwb3QKKyAg Ly8gdGhpcy4pCisgIE5TU2NyZWVuICogc2NyZWVuID0gW3NlbGYgc2NyZWVuXTsKKyAgaWYgKHNj cmVlbiAhPSBuaWwpCisgICAgeworICAgICAgaW50IGZzX3N0YXRlID0gWyhFbWFjc1ZpZXcgKilb c2VsZiBkZWxlZ2F0ZV0gZnVsbHNjcmVlblN0YXRlXTsKKworICAgICAgTlNUUkFDRV9GU1RZUEUg KCJmdWxsc2NyZWVuU3RhdGUiLCBmc19zdGF0ZSk7CisKKyAgICAgIE5TUmVjdCBzciA9IFtzY3Jl ZW4gZnJhbWVdOworICAgICAgTlNSZWN0IHdyID0gW3NlbGYgZnJhbWVdOworICAgICAgTlNUUkFD RV9SRUNUICgiUmVjdCBhZnRlciB6b29tIiwgd3IpOworCisgICAgICBOU1JlY3QgbmV3V3IgPSB3 cjsKKworICAgICAgaWYgKGZzX3N0YXRlID09IEZVTExTQ1JFRU5fTUFYSU1JWkVECisgICAgICAg ICAgfHwgZnNfc3RhdGUgPT0gRlVMTFNDUkVFTl9IRUlHSFQpCisgICAgICAgIHsKKyAgICAgICAg ICBuZXdXci5vcmlnaW4ueCA9IDA7CisgICAgICAgICAgbmV3V3Iuc2l6ZS5oZWlnaHQgPSBzci5z aXplLmhlaWdodCAtIG5zX21lbnVfYmFyX2hlaWdodChzY3JlZW4pOworICAgICAgICB9CisKKyAg ICAgIGlmIChmc19zdGF0ZSA9PSBGVUxMU0NSRUVOX01BWElNSVpFRAorICAgICAgICAgIHx8IGZz X3N0YXRlID09IEZVTExTQ1JFRU5fV0lEVEgpCisgICAgICAgIHsKKyAgICAgICAgICBuZXdXci5v cmlnaW4ueSA9IDA7CisgICAgICAgICAgbmV3V3Iuc2l6ZS53aWR0aCA9IHNyLnNpemUud2lkdGg7 CisgICAgICAgIH0KKworICAgICAgaWYgKG5ld1dyLnNpemUud2lkdGggICAgICE9IHdyLnNpemUu d2lkdGgKKyAgICAgICAgICB8fCBuZXdXci5zaXplLmhlaWdodCAhPSB3ci5zaXplLmhlaWdodAor ICAgICAgICAgIHx8IG5ld1dyLm9yaWdpbi54ICAgICE9IHdyLm9yaWdpbi54CisgICAgICAgICAg fHwgbmV3V3Iub3JpZ2luLnkgICAgIT0gd3Iub3JpZ2luLnkpCisgICAgICAgIHsKKyAgICAgICAg ICBOU1RSQUNFX1JFQ1QgKCJDb3JyZWN0ZWQgcmVjdCIsIG5ld1dyKTsKKyAgICAgICAgICBbc2Vs ZiBzZXRGcmFtZTogbmV3V3IgZGlzcGxheTogTk9dOworICAgICAgICB9CisgICAgfQorI2Vsc2UK KyAgLy8gTm9uLW5hdGl2ZSB6b29tIHdoaWNoIGlzIGRvbmUgaW5zdGFudGFuZW91cy4gVGhlIHJl c3VsdGluZyBmcmFtZQorICAvLyBjb3ZlcnQgdGhlIGVudGlyZSBzY3JyZW4sIGV4Y2VwdCB0aGUg bWVudS1iYXIsIGlmIHByZXNlbnQuCisgIE5TU2NyZWVuICogc2NyZWVuID0gW3NlbGYgc2NyZWVu XTsKKyAgaWYgKHNjcmVlbiAhPSBuaWwpCisgICAgeworICAgICAgTlNSZWN0IHNyID0gW3NjcmVl biBmcmFtZV07CisgICAgICBzci5zaXplLmhlaWdodCAtPSBuc19tZW51X2Jhcl9oZWlnaHQgKHNj cmVlbik7CisKKyAgICAgIHNyID0gW1tzZWxmIGRlbGVnYXRlXSB3aW5kb3dXaWxsVXNlU3RhbmRh cmRGcmFtZTpzZWxmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk ZWZhdWx0RnJhbWU6c3JdOworICAgICAgW3NlbGYgc2V0RnJhbWU6IHNyIGRpc3BsYXk6IE5PXTsK KyAgICB9CisjZW5kaWYKK30KIAogQGVuZCAvKiBFbWFjc1dpbmRvdyAqLwogCkBAIC03MzE2LDcg Kzc3NTMsNyBAQCBpZiAoY29scyA+IDAgJiYgcm93cyA+IDApCiAKIC0gaW5pdEZyYW1lOiAoTlNS ZWN0IClyIHdpbmRvdzogKExpc3BfT2JqZWN0KW53aW4KIHsKLSAgTlNUUkFDRSAoRW1hY3NTY3Jv bGxlcl9pbml0RnJhbWUpOworICBOU1RSQUNFICgiRW1hY3NTY3JvbGxlcl9pbml0RnJhbWUiKTsK IAogICByLnNpemUud2lkdGggPSBbRW1hY3NTY3JvbGxlciBzY3JvbGxlcldpZHRoXTsKICAgW3N1 cGVyIGluaXRXaXRoRnJhbWU6IHIvKk5TTWFrZVJlY3QgKDAsIDAsIDAsIDApKi9dOwpAQCAtNzM2 Miw3ICs3Nzk5LDcgQEAgaWYgKGNvbHMgPiAwICYmIHJvd3MgPiAwKQogCiAtICh2b2lkKXNldEZy YW1lOiAoTlNSZWN0KW5ld1JlY3QKIHsKLSAgTlNUUkFDRSAoRW1hY3NTY3JvbGxlcl9zZXRGcmFt ZSk7CisgIE5TVFJBQ0UgKCJFbWFjc1Njcm9sbGVyX3NldEZyYW1lIik7CiAvKiAgYmxvY2tfaW5w dXQgKCk7ICovCiAgIHBpeGVsX2hlaWdodCA9IE5TSGVpZ2h0IChuZXdSZWN0KTsKICAgaWYgKHBp eGVsX2hlaWdodCA9PSAwKSBwaXhlbF9oZWlnaHQgPSAxOwpAQCAtNzM3NCw3ICs3ODExLDcgQEAg aWYgKGNvbHMgPiAwICYmIHJvd3MgPiAwKQogCiAtICh2b2lkKWRlYWxsb2MKIHsKLSAgTlNUUkFD RSAoRW1hY3NTY3JvbGxlcl9kZWFsbG9jKTsKKyAgTlNUUkFDRSAoIkVtYWNzU2Nyb2xsZXJfZGVh bGxvYyIpOwogICBpZiAod2luZG93KQogICAgIHdzZXRfdmVydGljYWxfc2Nyb2xsX2JhciAod2lu ZG93LCBRbmlsKTsKICAgd2luZG93ID0gMDsKQEAgLTczODQsNyArNzgyMSw3IEBAIGlmIChjb2xz ID4gMCAmJiByb3dzID4gMCkKIAogLSBjb25kZW1uCiB7Ci0gIE5TVFJBQ0UgKGNvbmRlbW4pOwor ICBOU1RSQUNFICgiY29uZGVtbiIpOwogICBjb25kZW1uZWQgPVlFUzsKICAgcmV0dXJuIHNlbGY7 CiB9CkBAIC03MzkyLDcgKzc4MjksNyBAQCBpZiAoY29scyA+IDAgJiYgcm93cyA+IDApCiAKIC0g cmVwcmlldmUKIHsKLSAgTlNUUkFDRSAocmVwcmlldmUpOworICBOU1RSQUNFICgicmVwcmlldmUi KTsKICAgY29uZGVtbmVkID1OTzsKICAgcmV0dXJuIHNlbGY7CiB9CkBAIC03NDAwLDcgKzc4Mzcs NyBAQCBpZiAoY29scyA+IDAgJiYgcm93cyA+IDApCiAKIC0oYm9vbClqdWRnZQogewotICBOU1RS QUNFIChqdWRnZSk7CisgIE5TVFJBQ0UgKCJqdWRnZSIpOwogICBib29sIHJldCA9IGNvbmRlbW5l ZDsKICAgaWYgKGNvbmRlbW5lZCkKICAgICB7CkBAIC03NDI0LDcgKzc4NjEsNyBAQCBpZiAoY29s cyA+IDAgJiYgcm93cyA+IDApCiAtICh2b2lkKXJlc2V0Q3Vyc29yUmVjdHMKIHsKICAgTlNSZWN0 IHZpc2libGUgPSBbc2VsZiB2aXNpYmxlUmVjdF07Ci0gIE5TVFJBQ0UgKHJlc2V0Q3Vyc29yUmVj dHMpOworICBOU1RSQUNFICgicmVzZXRDdXJzb3JSZWN0cyIpOwogCiAgIGlmICghTlNJc0VtcHR5 UmVjdCAodmlzaWJsZSkpCiAgICAgW3NlbGYgYWRkQ3Vyc29yUmVjdDogdmlzaWJsZSBjdXJzb3I6 IFtOU0N1cnNvciBhcnJvd0N1cnNvcl1dOwpAQCAtNzQ0Miw3ICs3ODc5LDcgQEAgaWYgKGNvbHMg PiAwICYmIHJvd3MgPiAwKQogCiAtIHNldFBvc2l0aW9uOiAoaW50KXBvc2l0aW9uIHBvcnRpb246 IChpbnQpcG9ydGlvbiB3aG9sZTogKGludCl3aG9sZQogewotICBOU1RSQUNFIChzZXRQb3NpdGlv bik7CisgIE5TVFJBQ0UgKCJzZXRQb3NpdGlvbiIpOwogCiAgIGVtX3Bvc2l0aW9uID0gcG9zaXRp b247CiAgIGVtX3BvcnRpb24gPSBwb3J0aW9uOwpAQCAtNzU0Nyw3ICs3OTg0LDcgQEAgaWYgKGNv bHMgPiAwICYmIHJvd3MgPiAwKQogICBDR0Zsb2F0IGluYyA9IDAuMCwgbG9jLCBrbG9jLCBwb3M7 CiAgIGludCBlZGdlID0gMDsKIAotICBOU1RSQUNFIChFbWFjc1Njcm9sbGVyX21vdXNlRG93bik7 CisgIE5TVFJBQ0UgKCJFbWFjc1Njcm9sbGVyX21vdXNlRG93biIpOwogCiAgIHN3aXRjaCAocGFy dCkKICAgICB7CkBAIC03NjQ0LDcgKzgwODEsNyBAQCBpZiAoY29scyA+IDAgJiYgcm93cyA+IDAp CiAgICAgTlNSZWN0IHNyOwogICAgIGRvdWJsZSBsb2MsIHBvczsKIAotICAgIE5TVFJBQ0UgKEVt YWNzU2Nyb2xsZXJfbW91c2VEcmFnZ2VkKTsKKyAgICBOU1RSQUNFICgiRW1hY3NTY3JvbGxlcl9t b3VzZURyYWdnZWQiKTsKIAogICAgICAgc3IgPSBbc2VsZiBjb252ZXJ0UmVjdDogW3NlbGYgcmVj dEZvclBhcnQ6IE5TU2Nyb2xsZXJLbm9iU2xvdF0KICAgICAgICAgICAgICAgICAgICAgICB0b1Zp ZXc6IG5pbF07CkBAIC03ODEzLDcgKzgyNTAsNyBAQCBuc194bGZkX3RvX2ZvbnRuYW1lIChjb25z dCBjaGFyICp4bGZkKQogdm9pZAogc3ltc19vZl9uc3Rlcm0gKHZvaWQpCiB7Ci0gIE5TVFJBQ0Ug KHN5bXNfb2ZfbnN0ZXJtKTsKKyAgTlNUUkFDRSAoInN5bXNfb2ZfbnN0ZXJtIik7CiAKICAgbnNf YW50aWFsaWFzX3RocmVzaG9sZCA9IDEwLjA7CiAK --001a11429d4c037d6705228c7c84 Content-Type: application/octet-stream; name="anders-frame-test.el" Content-Disposition: attachment; filename="anders-frame-test.el" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ifzmspvk1 Ozs7IGZyYW1lLXRlc3QuZWwgLS0tIFRlc3QgRW1hY3MgcmVzaXplIGFuZCB6b29tIGZlYXR1cmVz LgoKOzsgQ29weXJpZ2h0IChDKSAyMDE1ICBBbmRlcnMgTGluZGdyZW4KCjs7IEF1dGhvcjogQW5k ZXJzIExpbmRncmVuIDxhbmRlcnNAbWFjcHJvLmxhbj4KOzsgS2V5d29yZHM6IGZyYW1lcwoKOzsg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKOzsgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KCjs7IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo7OyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCjs7IEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgo7OyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo7OyBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4KCjs7OyBDb21tZW50YXJ5OgoKOzsgVGVzdHMgZm9yIEVtYWNzIHJlc2l6ZSBh bmQgem9vbSBmZWF0dXJlcy4KCjs7OyBDb2RlOgoKKHJlcXVpcmUgJ2VydCkKCihkZWZ1biBmcmFt ZS10ZXN0LWRpc3BsYXktbW9uaXRvci1yZWN0ICgmb3B0aW9uYWwgZnJhbWUpCiAgIlJldHVybiAo WCBZIFdJRFRIIEhFSUdIVCkgb2YgbW9uaXRvciBob3N0aW5nIEZSQU1FLgoKWCBhbmQgWSBhcmUg cmVsYXRpdmUgdG8gdGhlIHRvcCBsZWZ0IGNvcm5lci4iCiAgKGNkciAoYXNzcSAnZ2VvbWV0cnkg KGZyYW1lLW1vbml0b3ItYXR0cmlidXRlcyBmcmFtZSkpKSkKCgooZGVmdW4gZnJhbWUtdGVzdC1j YWxjdWxhdGUtcG9zaXRpb24gKHZhbHVlIHdpZHRoLW9yLWhlaWdodCkKICAiQ29udmVydCBmcm9t IGZyYW1lIHBhcmFtZXRlciB2YWx1ZXMgdG8gcmVhbCBjb29yZGluYXRlcy4KCklmIFZBTFVFIGlz IGEgbm9uLW5lZ2F0aXZlIGludGVnZXIsIGl0IGlzIHJlbGF0aXZlIHRvIHRoZSBuZWFyCmJvcmRl ciBhbmQgaXMgcmV0dXJuZWQuCgpJZiBWQUxVRSBpcyBhIG5lZ2F0aXZlIGludGVnZXIsIGl0IGlz IGNvbnNpZGVyZWQgcmVsYXRpdmUgZnJvbQp0aGUgZmFyIGJvcmRlciBhbmQgdGhlIGFic29sdXRl IHZhbHVlIGlzIHN1YnRyYWN0ZWQgZnJvbSBXSURUSC1PUi1IRUlHSFQuCgpJZiBWQUxVRSBpcyAo KyBSRUwpLCBpdCBpcyBjb25zaWRlcmVkIHJlbGF0aXZlIHRvIHRoZSBuZWFyCmJvcmRlciwgUkVM IGlzIHJldHVybmVkLgoKSWYgVkFMVUUgaXMgKC0gUkVMKSwgaXQgaXMgY29uc2lkZXJlZCByZWxh dGl2ZSB0byB0aGUgZmFyIGJvcmRlciwKV0lEVEgtT1ItSEVJR0hUIG1pbnVzIFJFTCBpcyByZXR1 cm5lZC4iCiAgKHVubGVzcyAoY29uc3AgdmFsdWUpCiAgICAoaWYgKDwgdmFsdWUgMCkKICAgICAg ICAoc2V0cSB2YWx1ZSAobGlzdCAnLSAoLSB2YWx1ZSkpKQogICAgICAoc2V0cSB2YWx1ZSAobGlz dCAnKyB2YWx1ZSkpKSkKICAoY29uZCAoKGVxIChjYXIgdmFsdWUpICcrKQogICAgICAgICAobnRo IDEgdmFsdWUpKQogICAgICAgICgoZXEgKGNhciB2YWx1ZSkgJy0pCiAgICAgICAgICgtIHdpZHRo LW9yLWhlaWdodCAobnRoIDEgdmFsdWUpKSkKICAgICAgICAodAogICAgICAgICAoZXJyb3IgInVu ZXhwZWN0ZWQgcG9zaXRpb246ICVzIiB2YWx1ZSkpKSkKCgooZGVmdW4gZnJhbWUtdGVzdC1mcmFt ZS1yZWN0ICgmb3B0aW9uYWwgZnJhbWUpCiAgIlJldHVybiB0aGUgZ2VvbWV0cnksIChYIFkgV0lE VEggSEVJR0hUKSwgb2YgRlJBTUUuIgogICh1bmxlc3MgZnJhbWUKICAgIChzZXRxIGZyYW1lIChz ZWxlY3RlZC1mcmFtZSkpKQogIChsZXQgKChnZW9tZXRyeSAoZnJhbWUtdGVzdC1kaXNwbGF5LW1v bml0b3ItcmVjdCBmcmFtZSkpKQogICAgKGxpc3QKICAgICAoZnJhbWUtdGVzdC1jYWxjdWxhdGUt cG9zaXRpb24KICAgICAgKGZyYW1lLXBhcmFtZXRlciBmcmFtZSAnbGVmdCkgKG50aCAyIGdlb21l dHJ5KSkKICAgICAoZnJhbWUtdGVzdC1jYWxjdWxhdGUtcG9zaXRpb24KICAgICAgKGZyYW1lLXBh cmFtZXRlciBmcmFtZSAndG9wKSAobnRoIDMgZ2VvbWV0cnkpKQogICAgIChmcmFtZS1waXhlbC13 aWR0aCkKICAgICAoZnJhbWUtcGl4ZWwtaGVpZ2h0KSkpKQoKCihkZWZ1biBmcmFtZS10ZXN0LXNl dC1udGggKGxpc3QgbiB2YWx1ZSkKICAiUmV0dXJuIGEgY29weSBvZiBMSVNUIHdoZXJlIHRoZSBO OnRoIGVsZW1lbnQgaXMgVkFMVUUuIgogIChsZXQgKChuZXctbGlzdCAoY29weS10cmVlIGxpc3Qp KSkKICAgIChzZXRjYXIgKG50aGNkciBuIG5ldy1saXN0KSB2YWx1ZSkKICAgIG5ldy1saXN0KSkK CgooZGVmdW4gZnJhbWUtdGVzdC1zZXQtZ2VvbWV0cnkteHBvcy13aWR0aCAoeCB3aWR0aCBnZW9t ZXRyeSkKICAiUmV0dXJuIGEgY29weSBvZiBHRU9NRVRSWSB3aXRoIG5ldyBYIGFuZCBXSURUSCB2 YWx1ZXMuIgogIChmcmFtZS10ZXN0LXNldC1udGgKICAgKGZyYW1lLXRlc3Qtc2V0LW50aCBnZW9t ZXRyeSAyIHdpZHRoKQogICAwIHgpKQoKCihkZWZ1biBmcmFtZS10ZXN0LXNldC1nZW9tZXRyeS15 cG9zLWhlaWdodCAoeSBoZWlnaHQgZ2VvbWV0cnkpCiAgIlJldHVybiBhIGNvcHkgb2YgR0VPTUVU Ulkgd2l0aCBuZXcgWSBhbmQgSEVJR0hUIHZhbHVlcy4iCiAgKGZyYW1lLXRlc3Qtc2V0LW50aAog ICAoZnJhbWUtdGVzdC1zZXQtbnRoIGdlb21ldHJ5IDMgaGVpZ2h0KQogICAxIHkpKQoKKGRlZnVu IGZyYW1lLXRlc3QtZXh0cmEtaGVpZ2h0ICgmb3B0aW9uYWwgZnJhbWUpCiAgIk51bWJlciBvZiBl eHRyYSBwaXhlbHMgb24gdGhlIHRvcCBhbmQgYm90dG9uIG9mIEZSQU1FLiIKICAoaWYgKGZib3Vu ZHAgJ2ZyYW1lLWVkZ2VzKQogICAgICAobGV0ICgob3V0ZXIgKGZyYW1lLWVkZ2VzIGZyYW1lICdv dXRlci1lZGdlcykpCiAgICAgICAgICAgIChpbm5lciAoZnJhbWUtZWRnZXMgZnJhbWUgJ2lubmVy LWVkZ2VzKSkpCiAgICAgICAgKCsgKC0gKG50aCAxIGlubmVyKQogICAgICAgICAgICAgIChudGgg MSBvdXRlcikpCiAgICAgICAgICAgKC0gKG50aCAyIGlubmVyKQogICAgICAgICAgICAgIChudGgg MiBvdXRlcikpKSkpKQoKKGRlZnVuIGZyYW1lLXRlc3QtbWVudS1iYXItaGVpZ2h0ICgmb3B0aW9u YWwgZnJhbWUpCiAgIlRoZSBoZWlnaHQgb2YgdGhlIG1lbnUgYmFyLCBpZiBwcmVzZW50LiIKICAo bnRoIDEgKGNkciAoYXNzcSAnd29ya2FyZWEgKGZyYW1lLW1vbml0b3ItYXR0cmlidXRlcyBmcmFt ZSkpKSkpCgoKOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo7OyBUZXN0IGNhc2VzCjs7CgooZXJ0LWRlZnRlc3QgZnJh bWUtdGVzdC1mdWxsc2NyZWVuLXByb3BlcnR5ICgpCiAgIlRlc3QgZnJhbWUgZnVsbHNjcmVlbiBw cm9wZXJ0aWVzLiIKICAoc2V0LWZyYW1lLXBvc2l0aW9uIChzZWxlY3RlZC1mcmFtZSkgMTAwIDEw MCkKICAoc2V0LWZyYW1lLXNpemUgKHNlbGVjdGVkLWZyYW1lKSA4MCA0MCkKICAobGV0ICgodXNl ci1yZWN0IChmcmFtZS10ZXN0LWZyYW1lLXJlY3QpKQogICAgICAgIChtb25pdG9yLXJlY3QgKGZy YW1lLXRlc3QtZGlzcGxheS1tb25pdG9yLXJlY3QpKSkKICAgIChzZXQtZnJhbWUtcGFyYW1ldGVy IChzZWxlY3RlZC1mcmFtZSkgJ2Z1bGxzY3JlZW4gbmlsKQogICAgKHNob3VsZCAoZXF1YWwgdXNl ci1yZWN0IChmcmFtZS10ZXN0LWZyYW1lLXJlY3QpKSkKCiAgICA7OyAtLS0tLS0tLS0tCiAgICA7 OyBGdWxsIHdpZHRoCiAgICAoc2V0LWZyYW1lLXBhcmFtZXRlciAoc2VsZWN0ZWQtZnJhbWUpICdm dWxsc2NyZWVuICdmdWxsd2lkdGgpCiAgICAoc2l0LWZvciAwKQogICAgKHNob3VsZCAoZXF1YWwg KGZyYW1lLXRlc3Qtc2V0LWdlb21ldHJ5LXhwb3Mtd2lkdGgKCQkgICAgMCAobnRoIDIgbW9uaXRv ci1yZWN0KSB1c2VyLXJlY3QpCgkJICAgKGZyYW1lLXRlc3QtZnJhbWUtcmVjdCkpKQoKICAgIChz ZXQtZnJhbWUtcGFyYW1ldGVyIChzZWxlY3RlZC1mcmFtZSkgJ2Z1bGxzY3JlZW4gbmlsKQogICAg KHNpdC1mb3IgMCkKICAgIChzaG91bGQgKGVxdWFsIHVzZXItcmVjdAoJCSAgIChmcmFtZS10ZXN0 LWZyYW1lLXJlY3QpKSkKCiAgICA7OyAtLS0tLS0tLS0tCiAgICA7OyBGdWxsIGhlaWdodAogICAg KHNpdC1mb3IgMCkKICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIChzZWxlY3RlZC1mcmFtZSkgJ2Z1 bGxzY3JlZW4gJ2Z1bGxoZWlnaHQpCiAgICAoc2l0LWZvciAwKQogICAgKGxldCAoKG1lbnUtYmFy LWhlaWdodCAoZnJhbWUtdGVzdC1tZW51LWJhci1oZWlnaHQpKSkKICAgICAgKHNob3VsZCAoZXF1 YWwgKGZyYW1lLXRlc3Qtc2V0LWdlb21ldHJ5LXlwb3MtaGVpZ2h0CgkJICAgICAgbWVudS1iYXIt aGVpZ2h0CgkJICAgICAgKC0gKG50aCAzIG1vbml0b3ItcmVjdCkKCQkJIG1lbnUtYmFyLWhlaWdo dAoJCQkgKGZyYW1lLXRlc3QtZXh0cmEtaGVpZ2h0KSkKCQkgICAgICB1c2VyLXJlY3QpCgkJICAg ICAoZnJhbWUtdGVzdC1mcmFtZS1yZWN0KSkpKQoKICAgIChzaXQtZm9yIDApCiAgICAoc2V0LWZy YW1lLXBhcmFtZXRlciAoc2VsZWN0ZWQtZnJhbWUpICdmdWxsc2NyZWVuIG5pbCkKICAgIChzaXQt Zm9yIDApCiAgICAoc2hvdWxkIChlcXVhbCB1c2VyLXJlY3QgKGZyYW1lLXRlc3QtZnJhbWUtcmVj dCkpKQoKICAgIDs7IC0tLS0tLS0tLS0KICAgIDs7IE1heGltaXplZAogICAgKHNldC1mcmFtZS1w YXJhbWV0ZXIgKHNlbGVjdGVkLWZyYW1lKSAnZnVsbHNjcmVlbiAnbWF4aW1pemVkKQogICAgKHNp dC1mb3IgMCkKICAgIChsZXQgKChtZW51LWJhci1oZWlnaHQgKGZyYW1lLXRlc3QtbWVudS1iYXIt aGVpZ2h0KSkpCiAgICAgIChzaG91bGQgKGVxdWFsIChsaXN0IDAgbWVudS1iYXItaGVpZ2h0CgkJ CSAgIChudGggMiBtb25pdG9yLXJlY3QpCgkJCSAgICgtIChudGggMyBtb25pdG9yLXJlY3QpCgkJ CSAgICAgIG1lbnUtYmFyLWhlaWdodAoJCQkgICAgICAoZnJhbWUtdGVzdC1leHRyYS1oZWlnaHQp KSkKCQkgICAgIChmcmFtZS10ZXN0LWZyYW1lLXJlY3QpKSkpCgogICAgKHNpdC1mb3IgMCkKICAg IChzZXQtZnJhbWUtcGFyYW1ldGVyIChzZWxlY3RlZC1mcmFtZSkgJ2Z1bGxzY3JlZW4gbmlsKQog ICAgKHNpdC1mb3IgMCkKICAgIChzaG91bGQgKGVxdWFsIHVzZXItcmVjdCAoZnJhbWUtdGVzdC1m cmFtZS1yZWN0KSkpCgogICAgOzsgLS0tLS0tLS0tLQogICAgOzsgVXNlciAtPiBGdWxsd2lkdGgg LT4gRnVsbGhpZ2h0IC0+IFVzZXIKICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIChzZWxlY3RlZC1m cmFtZSkgJ2Z1bGxzY3JlZW4gJ2Z1bGx3aWR0aCkKICAgIChzaXQtZm9yIDAuMSkKICAgIChzZXQt ZnJhbWUtcGFyYW1ldGVyIChzZWxlY3RlZC1mcmFtZSkgJ2Z1bGxzY3JlZW4gJ2Z1bGxoZWlnaHQp CiAgICAoc2l0LWZvciAwLjEpCiAgICAoc2V0LWZyYW1lLXBhcmFtZXRlciAoc2VsZWN0ZWQtZnJh bWUpICdmdWxsc2NyZWVuIG5pbCkKICAgIChzaXQtZm9yIDAuMSkKICAgIChzaG91bGQgKGVxdWFs IHVzZXItcmVjdCAoZnJhbWUtdGVzdC1mcmFtZS1yZWN0KSkpCiAgICApKQoKKGVydC1kZWZ0ZXN0 IGZyYW1lLXRlc3QtbnMtYXV0by1oaWRlLW1lbnUtYmFyICgpCiAgIlRlc3QgZnJhbWUgTmV4dFN0 ZXAtc3BlY2lmaWMgZmVhdHVyZXMsIG5vLW9wIG90aGVyd2lzZS4iCiAgKHdoZW4gKGJvdW5kcCAn bnMtYXV0by1oaWRlLW1lbnUtYmFyKQogICAgKHNldC1mcmFtZS1wb3NpdGlvbiAoc2VsZWN0ZWQt ZnJhbWUpIDEwMCAxMDApCiAgICAoc2V0LWZyYW1lLXNpemUgKHNlbGVjdGVkLWZyYW1lKSA4MCA0 MCkKICAgIChsZXQgKCh1c2VyLXJlY3QgKGZyYW1lLXRlc3QtZnJhbWUtcmVjdCkpKQogICAgICAo bGV0ICgobWVudS1iYXItaGVpZ2h0IChmcmFtZS10ZXN0LW1lbnUtYmFyLWhlaWdodCkpKQogICAg ICAgIChzZXRxIG5zLWF1dG8taGlkZS1tZW51LWJhciB0KQogICAgICAgIChzZXQtZnJhbWUtcG9z aXRpb24gKHNlbGVjdGVkLWZyYW1lKSAxMDAgLTUwKQogICAgICAgIChzaXQtZm9yIDApCiAgICAg ICAgKHNob3VsZCAoZXF1YWwgKGZyYW1lLXRlc3Qtc2V0LW50aCB1c2VyLXJlY3QgMSAtNTApCiAg ICAgICAgICAgICAgICAgICAgICAgKGZyYW1lLXRlc3QtZnJhbWUtcmVjdCkpKQogICAgICAgIChz ZXRxIG5zLWF1dG8taGlkZS1tZW51LWJhciBuaWwpCiAgICAgICAgKHNpdC1mb3IgMCkKICAgICAg ICAoc2hvdWxkIChlcXVhbCAoZnJhbWUtdGVzdC1zZXQtbnRoIHVzZXItcmVjdCAxIG1lbnUtYmFy LWhlaWdodCkKICAgICAgICAgICAgICAgICAgICAgICAoZnJhbWUtdGVzdC1mcmFtZS1yZWN0KSkp KSkpKQoKCjs7IFRPRE86Cjs7Cjs7ICogV2hlbiBmcmFtZS1yZXNpemUtcGl4ZWx3aXNlIGlzIG5p bDoKOzsKOzsgKiogRHJhZ2dpbnMgaW4gYSBjb3JuZXIgc2hvdWxkIHNuYXAgd2luZG93IHNpemUg dG8gdGV4dCBncmlkLgo7Owo7OyAqKiBEcmFnZ2luZyBhIGJvcmRlciBzaG91bGQgc25hcCB0aGF0 IGF4aXMsIG5vdCB0aGUgb3RoZXIuCjs7Cjs7ICogWm9vbWluZywgYm90aCB3aXRoIHRvZ2dsZS1m cmFtZS1tYXhpbWl6ZWQgYW5kIGJ5IEFMVC1jbGlja2luZyB0aGUgZ3JlZW4gYnV0dG9uLgoKKHBy b3ZpZGUgJ2ZyYW1lLXRlc3QpCgo7OzsgZnJhbWUtdGVzdC5lbCBlbmRzIGhlcmUK --001a11429d4c037d6705228c7c84 Content-Type: text/plain; charset=US-ASCII; name="emacs-commit-messages.txt" Content-Disposition: attachment; filename="emacs-commit-messages.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ifzmt8tl2 ICAgICAgICBGdWxsLWhlaWdodCwgZnVsbC13aWR0aCwgYW5kIG1heGltaXplZCB3aW5kb3dzIG5v dyBjb3ZlciB0aGUKICAgICAgICBlbnRpcmUgc2NyZWVuIChleGNlcHQgdGhlIG1lbnUgYmFyKSwg aW5jbHVkaW5nIHRoZSBwYXJ0IHdoZXJlIHRoZQogICAgICAgIHN5c3RlbSBkb2NrIGlzIHBsYWNl ZC4gVGhlIHN5c3RlbSB6b29tIGFuaW1hdGlvbiBpcyBubyBsb25nZXIKICAgICAgICB1c2VkLgoK ICAgICAgICBNYWRlIE5vbk1heGltaXplZC0+RnVsbFdpZHRoLT5GdWxsSGVpZ2h0LT5Ob25NYXhp bWl6ZWQgcmVzdG9yZSB0aGUKICAgICAgICBvcmlnaW5hbCBzaXplLgoKICAgICAgICAqIG5zdGVy bS5tIChuc19tZW51X2Jhcl9oZWlnaHQpOiBOZXcgZnVuY3Rpb24sIHJldHVybiBoZWlnaHQgb2YK ICAgICAgICB0aGUgbWVudSBiYXIsIG9yIDAgd2hlbiBpdCdzIGhpZGRlbi4KICAgICAgICAqIG5z dGVybS5tIChjb25zdHJhaW5fZnJhbWVfcmVjdCk6IE5ldyBmdW5jdGlvbiBmb3IgY29uc3RyYWlu aW5nIGEKICAgICAgICBmcmFtZS4KICAgICAgICAqIG5zdGVybS5tIChuc19jb25zdHJhaW5fYWxs X2ZyYW1lcyk6IFNldCBmcmFtZSBzaXplIGV4cGxpY2l0bHkKICAgICAgICByYXRoZXIgdGhhbiBy ZWx5aW5nIG9uIHRoZSBzeXN0ZW0gZG9pbmcgaXQgZm9yIHVzIGJ5IHdyaXRpbmcgYmFjawogICAg ICAgIHRoZSBjdXJyZW50IGZyYW1lIHNpemUuCiAgICAgICAgKiBuc3Rlcm0ubSAod2luZG93V2ls bFVzZVN0YW5kYXJkRnJhbWUpOiBSZWdpc3RlciBub24tbWF4aW1pemVkCiAgICAgICAgd2lkdGgg b3IgaGVpZ2h0IGFzIG5ldyB1c2VyIHNpemUuIFdoZW4gZW50ZXJpbmcgZnVsbCB3aWR0aCBvcgog ICAgICAgIGhlaWdodCwgdGhlIG90aGVyIHNpemUgY29tcG9uZW50IGlzIHRha2VuIGZyb20gdGhl IHVzZXIgc2l6ZS4KICAgICAgICAqIG5zdGVybS5tIChmdWxsc2NyZWVuU3RhdGUpOiBOZXcgbWV0 aG9kIGZvciBhY2Nlc3NpbmcgdGhlCiAgICAgICAgZnVsbHNjcmVlbiBzdGF0ZS4KICAgICAgICAq IG5zdGVybS5tIChjb25zdHJhaW5GcmFtZVJlY3QpOiBSZXN0cmljdCBmcmFtZSB0byBiZSBwbGFj ZWQgdW5kZXIKICAgICAgICB0aGUgbWVudSBiYXIsIGlmIHByZXNlbnQuIFRoZSBvbGQgdmVyc2lv biwgc29tZXRpbWVzLCByZXN0cmljdGVkCiAgICAgICAgdGhlIGhlaWdodCBvZiBhIGZyYW1lIHRv IHRoZSBzY3JlZW4sIHRoaXMgdmVyc2lvbiBuZXZlciBkb2VzIHRoaXMuCiAgICAgICAgKiBuc3Rl cm0ubSAoem9vbSk6IFBlcmZvcm0gem9vbSBieSBzZXR0aW5nIHRoZSBmcmFtZSB0byB0aGUgZnVs bAogICAgICAgIHNpemUgb2YgdGhlIHNjcmVlbiAobWludXMgdGhlIG1lbnUgYmFyKS4gVGhlIGRl ZmF1bHQgc3lzdGVtCiAgICAgICAgZnVuY3Rpb24sIHdpdGggdGhlIHpvb20gYW5pbWF0aW9uLCBp cyBubyBsb25nZXIgdXNlZCwgYXMgdGhlIGZpbmFsCiAgICAgICAgZnJhbWUgc2l6ZSBkb2Vzbid0 IGNvdmVyIHRoZSBlbnRpcmUgc2NyZWVuLgoKCgogICAgICAgIFJld29yayBob3cgdG8gY29uc3Ry YWluIHJlc2l6aW5nIHRvIHRoZSBjaGFyYWN0ZXIgZ3JpZC4gVGhlIG9sZAogICAgICAgIHN5c3Rl bSB1c2VkICJyZXNpemVJbmNyZW1lbnRzIiBpbiBOU1dpbmRvd3MuIEhvd2V2ZXIsIG9uY2UgYSBm cmFtZQogICAgICAgIHdhcyByZXNpemVkIHNvIHRoYXQgaXQgd2FzIG5vdCBhbGlnbmVkIHRvIHRo ZSB0ZXh0IGdyaWQsIGl0CiAgICAgICAgcmVtYWluZWQgdW5hbGlnbmVkIGV2ZW4gYWZ0ZXIgYSBy ZXNpemUuIEluIGFkZGl0aW9uLCBpdCBjb25mbGljdGVkCiAgICAgICAgd2hlbiByZXNpemluZyBh IGZ1bGxoZWlnaHQgd2luZG93LgoKICAgICAgICAqIG5zdGVybS5tICh3aW5kb3dXaWxsUmVzaXpl KTogUmVzdHJpY3QgZnJhbWUgc2l6ZSB0byB0ZXh0IGdyaWQsCiAgICAgICAgdW5sZXNzIHdoZW4g cGl4ZWx3aXNlIGZyYW1lIHJlc2l6aW5nIGlzIGVuYWJsZWQuCiAgICAgICAgKiBuc3Rlcm0ubSAo dXBkYXRlRnJhbWVTaXplLCBpbml0RnJhbWVGcm9tRW1hY3MpCiAgICAgICAgKHRvZ2dsZUZ1bGxT Y3JlZW4sIGhhbmRsZUZTKTogRG9uJ3Qgc2V0IHJlc2l6ZUluY3JlbWVudHMuCgoKICAgICAgICBS ZWRlc2lnbiB0aGUgTlMgdHJhY2Ugc3lzdGVtLiBUaGUgY2FsbCBzdHJ1Y3R1cmUgaXMgcmVwcmVz ZW50ZWQKICAgICAgICB1c2luZyBpbmRlbnRhdGlvbnMgYW5kIHZlcnRpY2FsIGxpbmVzLiBUaGUg TlNUUkFDRSBtYWNybyBhY2NlcHRzCiAgICAgICAgcHJpbnRmLXN0eWxlIGFyZ3VtZW50cy4gTmV3 IG1hY3JvcyBmb3IgcHJpbnRpbmcgdmFyaW91cwogICAgICAgIGluZm9ybWF0aW9uLgoKICAgICAg ICAqIG5zdGVybS5oIChOU1RSQUNFX0VOQUJMRUQpOiBNYWNybyB0byBlbmFibGUgdHJhY2Ugc3lz dGVtLgogICAgICAgICogbnN0ZXJtLmggKE5TVFJBQ0UsIE5TVFJBQ0VfV0hFTiwgTlNUUkFDRV9V TkxFU1MpOiBNYWNyb3MgdG8KICAgICAgICBzdGFydCBhIG5ldyBibG9jayAodHlwaWNhbGx5IGEg ZnVuY3Rpb24pLCBhY2NlcHQgcHJpbnRmLXN0eWxlCiAgICAgICAgYXJndW1lbnRzLgogICAgICAg ICogbnN0ZXJtLmggKE5TVFJBQ0VfTVNHKTogTWFjcm8gZm9yIGV4dHJhIGluZm9ybWF0aW9uLCBh Y2NlcHRzCiAgICAgICAgcHJpbnRmLXN0eWxlIGFyZ3VtZW50cy4KICAgICAgICAqIG5zdGVybS5o IChOU1RSQUNFX3doYXQpOiBNYWNyb3MgZm9yIHByaW50aW5nIHZhcmlvdXMgdHlwZXMuCiAgICAg ICAgKiBuc3Rlcm0uaCAoTlNUUkFDRV9GTVRfd2hhdCk6IE1hY3JvIHdpdGggcHJpbnRmIGZvcm1h dCBzdHJpbmcKICAgICAgICBzbmlwcGV0cy4KICAgICAgICAqIG5zdGVybS5oIChOU1RSQUNFX0FS R193aGF0KTogTWFjcm9zIGZvciBwYXNzaW5nIHByaW50Zi1zdHlsZQogICAgICAgIGFyZ3VtZW50 cywgY29ycmVzcG9uZHMgdG8gTlNUUkFDRV9GTVRfd2hhdC4KICAgICAgICAqIG5zdGVybS5oIChO U1RSQUNFX1JFVFVSTik6IE1hY3JvIHRvIHByaW50IHJldHVybiB2YWx1ZSwgYWNjZXB0CiAgICAg ICAgcHJpbnRmLXN0eWxlIGFyZ3VtZW50cy4KICAgICAgICAqIG5zdGVybS5oIChOU1RSQUNFX1JF VFVSTl93aGF0KTogTWFjcm9zIHRvIHByaW50IHJldHVybiB2YWx1ZSBmb3IKICAgICAgICB2YXJp b3VzIHR5cGVzLgoKCSogbnN0ZXJtLm06IFJlbW92ZSBvbGQgTlNUUkFDRSBtYWNyby4KCSogbnN0 ZXJtLm0gKG5zdHJhY2VfbnVtKTogVHJhY2UgY291bnRlci4KICAgICAgICAqIG5zdGVybS5tIChu c3RyYWNlX2RlcHRoKTogQ3VycmVudCBjYWxsIGRlcHRoLgogICAgICAgICogbnN0ZXJtLm0gKG5z dHJhY2VfbGVhdmUpOiBOU1RSQUNFIHN1cHBvcnQgZnVuY3Rpb24sIGNhbGxlZCB3aGVuCiAgICAg ICAgdGhlIGxvY2FsIHZhcmlhYmxlICJuc3RyYWNlX2VuYWJsZWQiIGdvZXMgb3V0IG9mIHNjb3Bl IHVzaW5nIHRoZQogICAgICAgICJjbGVhbnVwIiBleHRlbnNpb24uCiAgICAgICAgKiBuc3Rlcm0u bSAobnNfcHJpbnRfZnVsbHNjcmVlbl90eXBlX25hbWUpOiBOU1RSQUNFX0ZTVFlQRSBzdXBwb3J0 CiAgICAgICAgZnVuY3Rpb24uCgkqIG5zdGVybS5tIChjb25zdHJhaW5fZnJhbWVfcmVjdCwgbnNf Y29uc3RyYWluX2FsbF9mcmFtZXMpCiAgICAgICAgKG5zX3VwZGF0ZV9hdXRvX2hpZGVfbWVudV9i YXIsIG5zX3VwZGF0ZV9iZWdpbikKICAgICAgICAobnNfdXBkYXRlX3dpbmRvd19iZWdpbiwgdXBk YXRlX3dpbmRvd19lbmQsIG5zX3VwZGF0ZV9lbmQpCiAgICAgICAgKG5zX2ZvY3VzLCBuc191bmZv Y3VzLCBuc19yaW5nX2JlbGwsIG5zX2ZyYW1lX3JhaXNlX2xvd2VyKQogICAgICAgIChuc19mcmFt ZV9yZWhpZ2hsaWdodCwgeF9tYWtlX2ZyYW1lX3Zpc2libGUpCiAgICAgICAgKHhfbWFrZV9mcmFt ZV9pbnZpc2libGUsIHhfaWNvbmlmeV9mcmFtZSwgeF9mcmVlX2ZyYW1lX3Jlc291cmNlcykKICAg ICAgICAoeF9kZXN0cm95X3dpbmRvdywgeF9zZXRfb2Zmc2V0LCB4X3NldF93aW5kb3dfc2l6ZSkK ICAgICAgICAobnNfZnVsbHNjcmVlbl9ob29rLCBuc19saXNwX3RvX2NvbG9yLCBuc19jb2xvcl90 b19saXNwKQogICAgICAgIChuc19kZWZpbmVkX2NvbG9yLCBmcmFtZV9zZXRfbW91c2VfcGl4ZWxf cG9zaXRpb24pCiAgICAgICAgKG5vdGVfbW91c2VfbW92ZW1lbnQsIG5zX21vdXNlX3Bvc2l0aW9u LCBuc19mcmFtZV91cF90b19kYXRlKQogICAgICAgIChuc19kZWZpbmVfZnJhbWVfY3Vyc29yLCB4 X2dldF9rZXlzeW1fbmFtZSwgbnNfcmVkcmF3X3Njcm9sbF9iYXJzKQogICAgICAgIChuc19jbGVh cl9mcmFtZSwgbnNfY2xlYXJfZnJhbWVfYXJlYSwgbnNfc2Nyb2xsX3J1bikKICAgICAgICAobnNf YWZ0ZXJfdXBkYXRlX3dpbmRvd19saW5lLCBuc19zaGlmdF9nbHlwaHNfZm9yX2luc2VydCkKICAg ICAgICAoZHVtcGN1cnNvciwgbnNfZHJhd192ZXJ0aWNhbF93aW5kb3dfYm9yZGVyKQogICAgICAg IChuc19kcmF3X3dpbmRvd19kaXZpZGVyLCBuc19kcmF3X3JlbGllZikKICAgICAgICAobnNfZHVt cGdseXBoc19ib3hfb3JfcmVsaWVmLCBuc19tYXliZV9kdW1wZ2x5cGhzX2JhY2tncm91bmQpCiAg ICAgICAgKG5zX2R1bXBnbHlwaHNfaW1hZ2UsIG5zX2RyYXdfZ2x5cGhfc3RyaW5nLCBuc19zZW5k X2FwcGRlZmluZWQpCiAgICAgICAgKG5zX3JlYWRfc29ja2V0LCBuc19zZWxlY3QsIG5zX3NldF92 ZXJ0aWNhbF9zY3JvbGxfYmFyKQogICAgICAgIChuc19zZXRfaG9yaXpvbnRhbF9zY3JvbGxfYmFy LCBuc19jb25kZW1uX3Njcm9sbF9iYXJzKQogICAgICAgIChuc19yZWRlZW1fc2Nyb2xsX2Jhciwg bnNfanVkZ2Vfc2Nyb2xsX2JhcnMsIG5zX2RlbGV0ZV90ZXJtaW5hbCkKICAgICAgICAobnNfY3Jl YXRlX3Rlcm1pbmFsLCBuc190ZXJtX2luaXQsIHNlbmRFdmVudCkKICAgICAgICAoYXBwbGljYXRp b25EaWRGaW5pc2hMYXVuY2hpbmcsIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKQogICAgICAg ICh0aW1lb3V0X2hhbmRsZXIsIGZkX2hhbmRsZXIsIEVtYWNzVmlld19kZWFsbG9jLCBjaGFuZ2VG b250KQogICAgICAgIChhY2NlcHRzRmlyc3RSZXNwb25kZXIsIHJlc2V0Q3Vyc29yUmVjdHMsIGtl eURvd24sIG1vdXNlRG93bikKICAgICAgICAoZGVsdGFJc1plcm8sIHJpZ2h0TW91c2VEb3duLCBv dGhlck1vdXNlRG93biwgbW91c2VVcCkKICAgICAgICAocmlnaHRNb3VzZVVwLCBvdGhlck1vdXNl VXAsIHNjcm9sbFdoZWVsLCBtb3VzZU1vdmVkKQogICAgICAgIChtb3VzZV9hdXRvc2VsZWN0X3dp bmRvdywgaW5fd2luZG93LCBtb3VzZURyYWdnZWQpCiAgICAgICAgKHJpZ2h0TW91c2VEcmFnZ2Vk LCBvdGhlck1vdXNlRHJhZ2dlZCwgd2luZG93U2hvdWxkQ2xvc2UpCiAgICAgICAgKHVwZGF0ZUZy YW1lU2l6ZSwgd2luZG93V2lsbFJlc2l6ZSwgd2luZG93RGlkUmVzaXplKQogICAgICAgICh3aW5k b3dEaWRCZWNvbWVLZXksIHdpbmRvd0RpZFJlc2lnbktleSwgd2luZG93V2lsbE1pbmlhdHVyaXpl KQogICAgICAgIChpbml0RnJhbWVGcm9tRW1hY3MsIHdpbmRvd0RpZE1vdmUsIHdpbmRvd0RpZERl bWluaWF0dXJpemUpCiAgICAgICAgKHdpbmRvd0RpZEV4cG9zZSwgd2luZG93RGlkTWluaWF0dXJp emUsIHdpbmRvd1dpbGxFbnRlckZ1bGxTY3JlZW4pCiAgICAgICAgKHdpbmRvd0RpZEVudGVyRnVs bFNjcmVlbiwgd2luZG93V2lsbEV4aXRGdWxsU2NyZWVuKQogICAgICAgICh3aW5kb3dEaWRFeGl0 RnVsbFNjcmVlbiwgdG9nZ2xlRnVsbFNjcmVlbiwgaGFuZGxlRlMsIHNldEZTVmFsdWUpCiAgICAg ICAgKG1vdXNlRW50ZXJlZCwgbW91c2VFeGl0ZWQsIG1lbnVEb3duLCB0b29sYmFyQ2xpY2tlZCwg ZHJhd1JlY3QpCiAgICAgICAgKGRyYWdnaW5nRW50ZXJlZCwgcGVyZm9ybURyYWdPcGVyYXRpb24s IHZhbGlkUmVxdWVzdG9yRm9yU2VuZFR5cGUpCiAgICAgICAgKHNldE1pbml3aW5kb3dJbWFnZSwg Y29uc3RyYWluRnJhbWVSZWN0LCBwZXJmb3JtWm9vbSwgem9vbSkKICAgICAgICAoRW1hY3NTY3Jv bGxlcl9pbml0RnJhbWUsIEVtYWNzU2Nyb2xsZXJfc2V0RnJhbWUpCiAgICAgICAgKEVtYWNzU2Ny b2xsZXJfZGVhbGxvYywgY29uZGVtbiwgcmVwcmlldmUsIGp1ZGdlKQogICAgICAgIChyZXNldEN1 cnNvclJlY3RzLCBzZXRQb3NpdGlvbiwgRW1hY3NTY3JvbGxlcl9tb3VzZURvd24pCiAgICAgICAg KEVtYWNzU2Nyb2xsZXJfbW91c2VEcmFnZ2VkLCBzeW1zX29mX25zdGVybSk6IFVzZSBuZXcgdHJh Y2Ugc3lzdGVtLgoKICAgICAgICAqIG5zZm5zLm06IFJlbW92ZSBvbGQgTlNUUkFDRSBtYWNyby4K ICAgICAgICAqIG5zZm5zLm0gKHhfc2V0X2ljb25fbmFtZSwgbnNfc2V0X25hbWUsIHhfZXhwbGlj aXRseV9zZXRfbmFtZSkKICAgICAgICAoeF9pbXBsaWNpdGx5X3NldF9uYW1lLCB4X3NldF90aXRs ZSwgbnNfc2V0X25hbWVfYXNfZmlsZW5hbWUpCiAgICAgICAgKG5zX2ltcGxpY2l0bHlfc2V0X2lj b25fdHlwZSwgeF9zZXRfaWNvbl90eXBlKTogVXNlIG5ldyB0cmFjZSBzeXN0ZW0uCgogICAgICAg ICogbnNpbWFnZS5tOiBSZW1vdmUgb2xkIE5TVFJBQ0UgbWFjcm8uCiAgICAgICAgKiBuc2ltYWdl Lm0gKG5zX2ltYWdlX2Zyb21fWEJNLCBuc19pbWFnZV9mb3JfWFBNKQogICAgICAgIChuc19pbWFn ZV9mcm9tX2JpdG1hcF9maWxlLCBuc19sb2FkX2ltYWdlKTogVXNlIG5ldyB0cmFjZSBzeXN0ZW0u CgogICAgICAgICogbnNtZW51Lm06IFJlbW92ZSBvbGQgTlNUUkFDRSBtYWNyby4KICAgICAgICAq IG5zbWVudS5tIChuc191cGRhdGVfbWVudWJhciwgbnNfbWVudV9zaG93LCBuc19wb3B1cF9kaWFs b2cpOgogICAgICAgIFVzZSBuZXcgdHJhY2Ugc3lzdGVtLgo= --001a11429d4c037d6705228c7c84-- From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 20 21:03:16 2015 Received: (at 21415) by debbugs.gnu.org; 21 Oct 2015 01:03:17 +0000 Received: from localhost ([127.0.0.1]:58551 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZohoC-0005Xi-Jm for submit@debbugs.gnu.org; Tue, 20 Oct 2015 21:03:16 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:51911) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZohoA-0005XZ-Ia for 21415@debbugs.gnu.org; Tue, 20 Oct 2015 21:03:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=0N+lvWDg/w2cxMqnsdLdblpkhfJP/dU6gKBJHxrWmhU=; b=Tpda6ZcHGX7MdhxUJkb1XA/B3GqhsDvULQZl9AoU5+MHslb2VXxS9MndEbosc81hvrfmVKpHaxgw9BRhoJwSHjR9sVL2r6nwVm1E9DlqIBI8pleofhYmkGGbAEQrGTn9; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:52489 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1Zoho6-0005et-9F; Tue, 20 Oct 2015 21:03:10 -0400 Date: Tue, 20 Oct 2015 18:03:12 -0700 Message-ID: From: Keith David Bershatsky To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) I applied the patch named `maximize_and_trace.diff` and built Emacs --with-ns. I was surprised to see that `toggle-frame-maximized` actually worked, which is something I had never seen before on OSX. My standard stuff that I normally use appears to be working okay -- e.g., `default-frame-alist` with pixel specifications for height/width and courier font are working correctly. I'm not a programmer, but I'd be happy to run some layman's tests (if you need) on the build with OSX 10.6.8. Keith From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 20 22:07:11 2015 Received: (at 21415) by debbugs.gnu.org; 21 Oct 2015 02:07:12 +0000 Received: from localhost ([127.0.0.1]:58582 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zoio3-00077P-H0 for submit@debbugs.gnu.org; Tue, 20 Oct 2015 22:07:11 -0400 Received: from mail-vk0-f50.google.com ([209.85.213.50]:36143) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zoio1-00077H-Hg for 21415@debbugs.gnu.org; Tue, 20 Oct 2015 22:07:10 -0400 Received: by vkex70 with SMTP id x70so21169653vke.3 for <21415@debbugs.gnu.org>; Tue, 20 Oct 2015 19:07:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=UIzBJFtPQMSM40aiJtvnkt9f8bwnEBRTVlJTsjQtD5I=; b=T8NdQdY+d9NE802iDEnQeSy8kmg0kvcvjYaSAJ8EnwXRjvgK0Nn37YSZL8YjQKZGAf WeLzFC/s8Tnf2sn9hqt5t1CzqSTFJd8Mh5EXagGMt28hL1Tv9jAcg7syYRUjOCeVNOqe 32nZ4ypatiU+pRRZtvt2XUtZKOrpeoRhM3qnN2tbMNNVt1lDjTLhyRoAqfzeWa8LIYqG ZDr3cNYKE3aVLIzFumUBSOHPkDsn9WurQMlc6OpT0iPne4wgvnjHhBU1W/OLMPRP++kl rH4VEmG9Sv4ZFtY2x1+Yhx1OrLuS+CpatwXFLNFY3gJL6HegE4LYwXM/+T/Bj21kxRH5 DoNQ== MIME-Version: 1.0 X-Received: by 10.31.179.83 with SMTP id c80mr4291551vkf.68.1445393228970; Tue, 20 Oct 2015 19:07:08 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Tue, 20 Oct 2015 19:07:08 -0700 (PDT) In-Reply-To: References: Date: Wed, 21 Oct 2015 04:07:08 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky Content-Type: multipart/alternative; boundary=001a11436a9ef9471e052293d5bc X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a11436a9ef9471e052293d5bc Content-Type: text/plain; charset=UTF-8 Hi, I applied the patch named `maximize_and_trace.diff` and built Emacs > --with-ns. I was surprised to see that `toggle-frame-maximized` actually > worked, which is something I had never seen before on OSX. > > My standard stuff that I normally use appears to be working okay -- e.g., > `default-frame-alist` with pixel specifications for height/width and > courier font are working correctly. > Great to hear! > I'm not a programmer, but I'd be happy to run some layman's tests (if you > need) on the build with OSX 10.6.8. > Please do! I'm on 10.9, so it won't hurt to run things on another version of the OS. If you don't find anything, I'll post this patch to emacs-devel, and if no one objects, I will commit it. -- Anders --001a11436a9ef9471e052293d5bc Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

I applied the patch named `maximize_a= nd_trace.diff` and built Emacs --with-ns.=C2=A0 I was surprised to see that= `toggle-frame-maximized` actually worked, which is something I had never s= een before on OSX.

My standard stuff that I normally use appears to be working okay -- e.g., `= default-frame-alist` with pixel specifications for height/width and courier= font are working correctly.

Great to h= ear!
=C2=A0
I'm not a pro= grammer, but I'd be happy to run some layman's tests (if you need) = on the build with OSX 10.6.8.

Please do= ! I'm on 10.9, so it won't hurt to run things on another version of= the OS.

If you don't find anything, I'll = post this patch to emacs-devel, and if no one objects, I will commit it.

=C2=A0 =C2=A0 -- Anders=C2=A0
--001a11436a9ef9471e052293d5bc-- From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 21 04:03:00 2015 Received: (at 21415) by debbugs.gnu.org; 21 Oct 2015 08:03:00 +0000 Received: from localhost ([127.0.0.1]:58697 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZooMO-0007Qj-4n for submit@debbugs.gnu.org; Wed, 21 Oct 2015 04:03:00 -0400 Received: from mout.gmx.net ([212.227.17.20]:56455) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZooMM-0007Qc-MZ for 21415@debbugs.gnu.org; Wed, 21 Oct 2015 04:02:59 -0400 Received: from [62.47.255.204] ([62.47.255.204]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MKt5A-1ZooMK3URM-00019i; Wed, 21 Oct 2015 10:02:57 +0200 Message-ID: <562746AA.7090004@gmx.at> Date: Wed, 21 Oct 2015 10:02:50 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:+kMS4JOoa3HZlguDFrqT3sdcZhiz9BGIuZez6wxS/w+shuzPKlu YVFEqz5d9ON94UI+0osrqt1BicijWW/onaAR/7nzQKGhGRYsdsZWZ+Ywal0e4eEtA3IxcjH 3wogqvh5a1cToL6dml5j0IYVSfeR6dwFbjcfcIErtIpy+v/DfpoZk1hNAVPccqkJTL9TDn9 0o+IkjA8SQtt71H80EWPQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:/DVYEsvEIns=:KVE2iGHaZFDBu3G6a/I/5j K795TpQDiKLcFDPNKcEcUNmYIZ+nDPkCqeeBrX+5df5bnmkOUXhb4KzMTYoQccvvNrdmAIWBi KddUaJkCeL1gqtf+ChLSmiEcD7G1jfpAuXHKCzuDuGGoqlVwwDYV+vuQxfYKeUJeGq6G0dm81 dT70PhLmNAAo9uErmjD/5eupcmlsHcQaGz7WuZSjnj84g0C9P9Dy+eY4SJTNCkRwt3sf6Rt8o 73J8jfVockj4iXqX2mK15zF801zNehezd848u/PkWw00KMwFJYbBtVdyeDZGexONn+BdiPO9k +Zkh60crvK7ILT7sAeuZ8IgMnj7Hg77XJEmYBRGR7pCl2vvklXUBcKKWcYHrCxNkknfx6tJ0V nhX6eoSUVjz0S+XcWSrbgNoVr0SGEtkjh7A4mcJYaVisvAmHqYaUk5ijRUo01yZpvlN42I8EV c6vxRzf/vOzkam7+4IDzuCjsvSTuErywVJW4zmJkhvInTLCadKTeOMYZ67nKhBdNwfefbiTDE 1CrpvgjZPbKBLUPCwAP4X7lddbNiRkgTTJldd1o85d65lN7glVdcoQiR2cl5MCWSylqTlAEfg df2AYaGvJCKIG8WzQe4tEkNaxMUHUFwu86xQs1HQfba3ybazIWbOSjvDW/N7XRxFDi07k5SQU nHpnwVH0xFh2Fe1HFPbbknun6HanRFtz34FwsyEOWXxLLuGErFBR5IPFL44lUs1j8tKSULe+I 4CFVnw70dxvUIiiqdpIrs1BqW2iQVW6gXY8ZTbtByvBrzB5aaQepXwIvjFaQEqUhn1YJseUG5 yugpz4O X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Ok, here comes a patch file for the "maximize" and "NSTRACE" rewrites, see > the file "emacs-commit-message.txt" for details. I would like you > (especially Keith, since Martin don't use OS X) to take a look at it before > I post in on emacs-devel and (unless people object) I commit it. Great work! For reasons I don't understand yet the patch also fixes my biggest problem with GNUStep here, namely that an emacs -Q frame has two tool bars initially. Maximizing behavior is good though for some reasons my maximized GNUStep frame (under xfce) still has no external borders - if you have any ideas how to fix that please tell. Making a frame just full height works fine instead. > The patch below contains excluded code to maximize the frame the old way > using the system "zoom" function, and an excluded code section for a hybrid > maximize solution. Also, the code to restrict a frame to the screen height > is still present but excluded. Before I commit this to the archive I will > remove the excluded code, unless someone thinks that its worth while to > allow the user to configure this. Let's leave the old code in for a couple of weeks - this way you keep the changeset for the commit smaller. If there are no complaints with the new behavior remove it then. > You can enable the NSTRACE system by uncommenting a line in nsterm.h, see > comments for detail. I shall test that soon and post my comments - if any. > In addition, I have included my own test file for frame maximization I > wrote to ensure that I didn't introduce any problems. Martin, if there are > anything in this you can use for your frame test file, feel free to use it. Thanks for this as well. There's one problem with the change log and the code comments: Please stick to the rule to leave two empty spaces after each sentence. Done that please install your changes as soon as you have time to do so. Now the only remaining issue we must fix before the release is that of the non-shrinking echo area when toggling off the tool bar and the fact that a frame keeps shrinking when turning off/on the tool bar. I'll look into that but if you have any ideas ... Many thanks, martin From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 21 12:07:43 2015 Received: (at 21415) by debbugs.gnu.org; 21 Oct 2015 16:07:43 +0000 Received: from localhost ([127.0.0.1]:59595 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZovvT-0003gX-Ci for submit@debbugs.gnu.org; Wed, 21 Oct 2015 12:07:43 -0400 Received: from mout.gmx.net ([212.227.17.21]:65164) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZovvR-0003gN-7h for 21415@debbugs.gnu.org; Wed, 21 Oct 2015 12:07:41 -0400 Received: from [188.22.44.17] ([188.22.44.17]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0MZU7V-1a7QFN3bqv-00LIih; Wed, 21 Oct 2015 18:07:35 +0200 Message-ID: <5627B83F.9060303@gmx.at> Date: Wed, 21 Oct 2015 18:07:27 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> In-Reply-To: <562746AA.7090004@gmx.at> Content-Type: multipart/mixed; boundary="------------080707090809020501090605" X-Provags-ID: V03:K0:FhRTrIfZijOKdtZWOwO5jYB+FfhIIbEM/TOH0Kop2UCO2io8Ud0 NozvZsGqFbqdEVI3q9kKLpwrbIXiVyhDCeu1q93j0XmM2yhyMzDKvceMFtk81wxmQM3OL85 p1xaJp5mVEi4vHD6a0tI+VShyD+aVuBZjdWUSrGt7Cc5WDi13FcA8VbFUHZNqgwAHexfkzH 0vLEiZfcNigZs1ADzZv5g== X-UI-Out-Filterresults: notjunk:1;V01:K0:oYYDJ8k1WEI=:8QIgtlEuIKxSuFwddASTer AWryAyINiFyfN9pGgwNpCBcnypmTjxWAKsdCNtS61/wIJAnjmvu12Xcwvwit5VmwTsoyBF5l9 U0AEReeNe23289JYXwZdGfOw78O5ndYbGMRYjzwBqz+72K4TbiFc3mnBxJQ69MukC7dfFC8aB Lj7CtzghA/IM/k9aBMxebHOUACVoQsFNr3UEZV0S3YOYLH1KeG/R6eaURmwD4I+HEKDnb891r AbIB1g2znOrUv2O1ryo/yBNNgfUCzy8VuQC7Gt3eq+Z995DpQx7HmNAi3PxkZzaZ9kzn6uQGd BzEBpP/mLo0SvjVJR8qE6npN58FjOdw+/6NMUpMd8+wF63WYcVeb2K/BqCjiCWXhRN2/GEp05 oNsBsBaQ7+lVB55is8RqZH0/Ldi8rLQCfKVZqX+32VjIZwdnWgIFLeyaG/rsh5AqfoNszKuOw 1NN15O4EBPeA9INq6vjg92cbJ/ejE5gku2nldiY8rOMUCZkV9IWNyzm95jqs6I2XrW1niitZS qphG4wrwoAyCGJcVoxuASSeyKMZpqyt9ADwBknE32J20Xem+IowflaY9GdzMPnQIAYsWCo9kg /gix02lV+ryi9jQjbxKp4139HUsEKdEmWybWiPGXJEcIrutc7YgEptFSOtDXNb2t8rCAj/6uD h/bb/TRksdECCWPL3JBnRoVmxtiNGI3KmUd2uxVQVuR9RtXloPynT24g+bdMpJ4+ZeaE= X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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" This is a multi-part message in MIME format. --------------080707090809020501090605 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi Anders Four problems encountered when running your patch with GNUStep Emacs under xfwm4: (1) With emacs -Q doing (set-frame-parameter (selected-frame) 'fullscreen 'maximized) maximizes the frame but (a) the "restore size button" of the window manager decoration is not enabled, (b) leaves the external borders visible on screen and (c) has the task bar hide the echo area of the Emacs frame, see screenshot-1.png. (a) is probably due to a failed interaction with the window manager. (b) is not critical because even with GTK, for example, I can still see the top border on a maximized frame. (c) is not really acceptable. (2) With emacs -Q --eval "(setq default-frame-alist '((fullscreen . maximized)))" I see the same symptoms as with (1) however the initial frame also contains two tool bar lines, see screenshot-2.png. This is the same problem I had earlier with emacs -Q and which now disappeared. (3) With emacs -Q hitting the window manager key for maximizing the window that has focus, the Emacs frame loses its external borders but does not extend to the edges of the screen, see screenshot-3.png. Not grave but slightly annoying. Note that here the "restore size button" is enabled correctly. (4) After doing (set-frame-parameter (selected-frame) 'fullscreen 'fullwidth) doing (set-frame-parameter (selected-frame) 'fullscreen 'maximized) does not change the frame size at all. Same after making a fullheight frame. I suppose this also makes your ert test fail here. martin --------------080707090809020501090605 Content-Type: image/png; name="screenshot-1.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="screenshot-1.png" iVBORw0KGgoAAAANSUhEUgAABAAAAAMACAYAAAC6uhUNAAAABHNCSVQICAgIfAhkiAAAIABJ REFUeJzs3Xl8VOXd///3mckewg5hRwyiIFYEEUTigooVoRbjLhVt9dZ6K26V2tK7wP2ztGrV VktLWxfUn7UueNelrYJSNyIhRlbZNKyBhDUhezLL+f4xmSHLbJlkMhPO6/l48CBzlutc13Wu M2fO51znOoZpmqYAAAAAAMAJyzAMJUjSpk07Yp0XAAAAAAAQRbZYZwAAAAAAAETPihWfS5Kn B0DziQAAAAAAoPO6//6bW/T2T2i+0AMPzO6wDAEAAAAAgPZ3//03t5jWIgAgSeN/tSnqmQEA AAAAoCPkzxut9hz/3jCMuE/PH78BAEly717VbhsHAAAAACDW2nsA/HhPrzkGAQQAAAAAnLAc u79o1/Tae+y8jkyPAAAAAAAAABZAAAAAgGZ6d0tTekpSrLMRUlKCXdMmnKLzvzM06HKdpTwA ACC6CAAAANCgV9c0GYb0w2lnaeKoQUpLTuzwC+df3TZFz8yZpgR76FN0Wkqi/veHF+neqyf4 nR8P5QEAAPEj4CCAAABYzfRzR+jiscNU53CpR5dU3fX9s/Xo31ZpzdZ9kqQeGSlKTU5UaUWN auqcLdbv2TVVCTabDpZV+abZbTaZMuV2m+rbI12VNfWqrnWoZ9dUpSQl6Gh5jWrrPWnZbIbG nzpQPbumKjHBJtOUXG530PQb69M9TVU1DlXXOcIqDwAAaH9nnJEVdP7GjYURpdl8PX/TQiEA AABAg5eWr5PdbuiuK8er3unSQ39aoTVb96lbeoqenvNdnX5SX0mSaUqvfrRRT77hGVTo4rEn 68HrzlXf7umSpNWbi3T37/+l7l1S9OETN2vf4XLtKinTeaOH6JGXP9X910z03Yk3Temjr3bo F8+t1JsLr1XPrqmSpM+e/qEk6ew7/hIwfa+khAT97u7vavIZQ+R0uTX/hY/1Qf63AcsDAAA6 D29AofEFv79p4SAAAABAg3uumqCM1GR9WLBDew4c002XniG73VD39BSdflJf/fndL7U8f4cG 9+2q1GTPKfTkAT30q9umqM7h1P+++IkOlFZpaGa3JukO7N1VO4vL9NvXcvXtvqP64z++1PrC EtU5nLr9inGaOj5Lqzbt0VNvrNbCWy9Ul9Qk/e+Ln8jpcoeVfv9eXfTxul36w/+t0d0zz9F/ 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 jrJhk2ySVFkZ0SMAW7du9bxJIE5/8B8PAkhTxiTpzLuPB6I8vQPKdGz3Gg0c/h1JnSMAMH/+ fC1cuFAPPfiALrrgfK1e86VOcdbq5b+9Edd3/6XjYwBI8o0D0Pi7d/Tolsd24wv+iRMndkxG w7Sn6ECLUf+9z/1ff/31ftc599xzfRf89913X3QzGCG32y2X06Xzz5+g1au/0mmnlau6ukZV VdXq0aOvhg07TVOmTFZtba3q6upUX18nm80WZ+dTAAAQax3yGsBIZXRJj3UWJEnbt+7U2rVf qLr2mNxut++iMtBI8955nsCGW06HU7V1dXLUO7V54zcq2lvS0UVoYdjQ/rrrrmsiXr+i3DNY 4OHSyrjtARBo0L94DwK4TFMul1v2/kO1cuVKuVwtL+SdblM2mb7HSrwcDofsyWmyGVKlIz4D AFLjxwGaHkt3Lq7T+/9rV0qvIp185jkxzmXreIMA99x9l0aedqpe/tsbsc5SWBqPASB5xgEw TdPXA+D999+Xw+HQjBkz9OGHH6pLly6+AEDjngDxYsigzBbTxo7x9HKYM2eOqqur9eyzz+qn P/2p+vfvL0m+O/6NewLEqxkzcrR06bPKyZmm/v0z1a1bb/XpM0hjx3qOl9tvu8vv91u8nE8B AEBsRTUA4Gy4oy/JNxaA089gbE6nw3fBbLrdahgxoKG7Y2y53W4V5G9T3759tbXwE3mGaDMk mWroyCDTVJPAgNtt+u7WOBxO1Tscqq+r15Ejx7Rh/TYlJthjWSQf70V8JLyPD3z+nzyNPeeM 9spSu/HX7b/xtHgOApguyelyKymlq4zUbkoyPG3KND2P0dgMQ3aXW0mJdt9j/oZhyO12q0uC XQ6XWzbDkNsZf48ANObv8QzDMPTdX1Zr/R92xDBnbfP8Cy9q9OmjNHjQIO0tKop1dkIKNgaA JH33u9/1/X3JJZc0WTeeuv57bdy8Ww6nQ876470AvAOxPv30075pjz76aIt1G/cEiDdOl1Mu t0uXX/5dVVVV6dNPV+g///EMqDlhwkQ9cP99evKp3+n7M6/Syy8t1XnnTfKcd+PofAoAAGIv qgEAl8t1/LV/DTwX+i7ZbHbfM4kul0sN9wHlcrsavTkgmrkLz+5de3XzzTeqvr5WdXX1jQIa ktt0y2bY5HK75Habstttcrk8d/xlGKqvq5fL7VZdbb3q6x3au6dE//fWh3K54vvCLJTGYwfs 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 RRo7dqyysrL05ptv6sILL2xTvTidTj399NM644wzNHnyZG3atCns+oindj1p0iT94x//CDvv XpmZmZo0aZIyMzPDLl/jrt3esraHQG0p2H4PVtfB6ixUfQ4ZMkRPPPGEhg0b1qqeHYHqM9i+ lfy3iZqaGvXq1Us5OTmSpMcff1yGYTRpo4EeqQi1vUDrGYbh+5eUlNRkXluOo0jbJwAAQKdh mqa5cWOhuXFjofnkky+aDZN85s+f36Z/pmma5eXlLf41d/LJJ5uVlZVNpmVlZZmvvfaa+eGH H5p33XWXaZqmWVNTY/7qV78y9+3bZzocDnPfvn3m4sWLTZfL5VuveRlM0zSPHTtmZmRkmJKa /CsoKGiynL91vdOfeOIJc/PmzWZFRYV54MAB0zRNs7Cw0LzpppvM/v37m5dffrmZkpLSZJ2N GzeaKSkp5ubNm80tW7aYkoKWIVQ+JZlLliwxjx07Zh47dsx88sknzYcffjhkXjqyDMHqMtz1 /OUzXO3ZlvyVI9R6c+bMMR977DHz6NGjZkVFhfnxxx+bo0ePblO9PProo+avfvUrs6yszCwr KzOfffZZU1KnaddeZWVl5imnnOI3L23hr3zNp4WzTDjz/LUl0wxvvzev62B1Fu6xsnHjRnPn zp1mRkZG4AoKU6B9a5rB28SOHTvMV155xayqqjL/+c9/ml9++WVY9Rlse8HWO/PMM03TNM1D hw6ZmzZt8k2P9Djyilb7BAAAaCt/19TBrq+9ml/rG6Zpmps2eQaCWrHicz3wwGyZpukLECxY sKBNAYYFCxaooqKixfSMjIwmn/v166edO3cqNTXVN62goEAFBQVavXq10tPT9cwzz+ibb77x 3UVtbM+ePRo8eLAkz92hxmVojUDrBpp++eWX6/bbb9f06dNVUVGh3r17+5bzrtN4XcMwtH37 9pBlCJa/yspKpaenS/LcdRw7dqy2b98eNC+xKIO/7UV7/0nt25b85SfUesOGDdOmTZt8+6i5 SOplxIgRWrt2bZP9npGREXY9xUu7rq+v15AhQ1RSUhJWvsPlrxzNp4WzTDjz/LUlSe2+32tr a1t1rLT1uGmchr90Q32/7N27Vz/72c/04x//WOedd17AtMPdXrD1JGn79u3auXOnLrvsMt+0 th5H0WqfAAAAbeXvmrqx5tfXXs2v9ePmEYBJkybpwIEDvs+XX365TNPULbfcoocfflj//ve/ JXmeWV20aJGKiorkdDpVVVWljRs3qm/fvr51U1JSVFhYKKfTqeLi4lZ1l26twsJCjRw5UrW1 tfr000/DWiecMgTz8ssv69ixYzp27Jiefvpp36jnkeQlmmXwtx/aWvZwtGdbiqTsl112mf78 5z8HHFE8knq5+uqr9eyzz6q8vFzl5eV67bXX2qOqAopWmzhy5IgmT54crWw3kZ6eru3bt6u8 vNy3z9sqUFuSQu93f4LVWUccK60RrE188cUX2rhxo15++WUZhqF33nmnzcGIYFatWqVVq1b5 Lv7HjBkjKXQbDHUcdWT7BAAAiIW4CQDMmDFD69ev933ev3+/9u3bpzFjxignJ8f3XGhqaqpy cnL08MMPa/Dgwbr88su1YcMGJScn+9ZdunSpbrrpJg0cOFBz585VQkJCWHkYPny4JM8dp1NP PdXv9OZ3l/74xz9q1qxZOu+889SnTx9J8j1/3r9/f98P0127dvnWOXDgQMgyBDN+/Hhdeuml Ov/885WWlqaf/OQnIfMSizL42w+h9l+wfIarvdrSyJEjfc8fG4ahUaNGhbXeo48+qrKyMk2e PFmZmZnKzs7WokWLVF1dHXG9/PKXv1RNTY0mTpyoSy65RGeccUaT/RRMPLXrLVu26Pvf/37I PLdGoPI98cQTuvzyy3XRRRepS5cuSkxM1L59+yQF3reh5gVqS1Lw/R6oroPt91Btwjv+wLhx 43yDXrZ18MtA+3bXrl0B28SqVas0adIkvfjiizIMQ3l5ebryyiv1l7/8JWR9BttesPUuueQS /fCHP/SNA+A93tt6HEWjfQIAAMSTuHkEoKysTPPmzWvygxottUc33xMdbSl+/fSnP9X//M// qEuXLrHOCtAC7RMAAMSrE+4RgO7du+vOO++MdTbimvcOWKR3xq2CthS/Zs+ezcUV4hbtEwAA nOjC6xvfQbzdMeHf5s2bY52FToO2FJ8ad+MG4g3tEwAAnOjipgcAAAAAAACIHgIAAAAAAABY AAEAAAAAAAAsgAAAAAAAAAAWQAAAAAAAAAALIAAAAAAAAIAFEAAAAAAAAMACCAAAAAAAAGAB BAAAAAAAALAAAgAAAAAAAFgAAQAAAAAAACyAAAAAAAAAABZAAHTBkq4AACAASURBVAAAAAAA AAsgAAAAAAAAgAUQAAAAAAAAwAIIAAAAAAAAYAEEAAAAAAAAsAACAAAAAAAAWAABAAAAAAAA LIAAAAAAAAAAFkAAAAAAAAAACyAAAAAAAACABRAAAAAAAADAAggAAAAAAABgAQQAAAAAAACw AAIAAAAAAABYAAEAAAAAAAAsgAAAAAAAAAAWQAAAAAAAAAALIAAAAAAAAIAFEAAAAAAAAMAC CAAAAAAAAGABBAAAAAAAALAAAgAAAAAAAFgAAQAAAAAAACyAAAAAAAAAABZAAAAAAAAAAAsg AAAAAAAAgAUQAAAAAAAAwAIIAAAAAAAAYAEEAAAAAAAAsAACAAAAAAAAWAABAAAAAAAALIAA AAAAAAAAFkAAAAAAAAAACyAAAAAAAACABRAAAAAAAADAAggAAAAAAABgAQQAAAAAAACwAAIA AAAAAABYAAEAAAAAAAAsgAAAAAAAAAAWQAAAAAAAAAALIAAAAAAAAIAFEAAAAAAAAMACCAAA AAAAAGABBAAAAAAAALAAAgAAAAAAAFgAAQAAAAAAACyAAAAAAAAAABZAAAAAAAAAAAsgAAAA AAAAgAUQAAAAAAAAwAIIAAAAAAAAYAEEAAAAAAAAsAACAAAAAAAAWAABAAAAAAAALIAAAAAA AAAAFkAAAAAAAAAACyAAAAAAAACABRAAAAAAAADAAggAAAAAAABgAQQAAAAAAACwAAIAAAAA AABYAAEAAAAAAAAsgAAAAAAAAAAWQAAAAAAAAAALIAAAAAAAAIAFEAAAAAAAAMACCAAAAAAA AGABBAAAAAAAALAAAgAAAAAAAFgAAQAAAAAAACyAAAAAAAAAABZAAAAAAAAAAAsgAAAAAAAA gAUQAAAAAAAAwAIIAAAAAAAAYAEEAAAAAAAAsAACAAAAAAAAWAABAAAAAAAALIAAAAAAAAAA FkAAAAAAAAAACyAAAAAAAACABRAAAAAAAADAAggAAAAAAABgAQQAAAAAAACwAAIAAAAAAABY AAEAAAAAAAAsgAAAAAAAAAAWQAAAAAAAAAALIAAAAAAAAIAFEAAAAAAAAMACCAAAAAAAAGAB BAAAAAAAALAAAgAAAAAAAFgAAQAAAAAAACyAAAAAAAAAABZAAAAAAAAAAAsgAAAAAAAAgAUQ AAAAAAAAwAIIAAAAAAAAYAEEAAAAAAAAsAACAAAAAAAAWAABAAAAAAAALIAAAAAAAAAAFkAA AAAAAAAACyAAAAAAAACABRAAAAAAAADAAv4fe/ceZ1Vd74//tQdQIy/5hfhKHtG8nDSVtAsa ZGCFaalhBaIJAhqXUtRBPVJHxU5HUAMJBQ3hMGopztQpi7zNMW/wTe1846TUMUGPiRe8oCBq Cs7s3x/8mC/IDAxeGDbr+Xw85jF7rb3W5/Nen72HB+u11/psAQAAAAAUgAAAAAAACkAAAAAA AAUgAAAAAIACEAAAAABAAQgAAAAAoAAEAAAAAFAAAgAAAAAoAAEAAAAAFIAAAAAAAApAAAAA AAAFIAAAAACAAhAAAAAAQAEIAAAAAKAABAAAAABQAAIAAAAAKAABAAAAABSAAAAAAAAKQAAA AAAABSAAAAAAgAIQAAAAAEABCAAAAACgAAQAAAAAUAACAAAAACgAAQAAAAAUgAAAAAAACkAA AAAAAAUgAAAAAIACEAAAAABAAQgAAAAAoAAEAAAAAFAAAgAAAAAoAAEAAAAAFIAAAAAAAApA AAAAAAAFIAAAAACAAhAAAAAAQAEIAAAAAKAABAAAAABQAAIAAAAAKAABAAAAABSAAAAAAAAK QAAAAAAABSAAAAAAgAIQAAAAAEABCAAAAACgAAQAAAAAUAACAAAAACgAAQAAAAAUgAAAAAAA CkAAAAAAAAUgAAAAAIACEAAAAABAAQgAAAAAoAAEAAAAAFAAAgAAAAAoAAEAAAAAFIAAAAAA AApAAAAAAAAFIAAAAACAAhAAAAAAQAEIAAAAAKAABAAAAABQAAIAAAAAKAABAAAAABSAAAAA AAAKQAAAAAAABSAAAAAAgAIQAAAAAEABCAAAAACgAAQAAAAAUAACAAAAACgAAQAAAAAUgAAA AAAACkAAAAAAAAUgAAAAAIACEAAAAABAAQgAAAAAoAAEAAAAAFAAAgAAAAAoAAEAAAAAFIAA AAAAAApAAAAAAAAFIAAAAACAAhAAAAAAQAEIAAAAAKAABAAAAABQAAIAAAAAKAABAAAAABSA AAAAAAAKQAAAAAAABSAAAAAAgAIQAAAAAEABCAAAAACgAAQAAAAAUAACAAAAACgAAQAAAAAU gAAAAAAACkAAAAAAAAUgAAAAAIACEAAAAABAAQgAAAAAoAAEAAAAAFAAAgAAAAAoAAEAAAAA FIAAAAAAAApAAAAAAAAFIAAAAACAAhAAAAAAQAEIAAAAAKAABAAAAABQAAIAAAAAKAABAAAA ABSAAAAAAAAKQAAAAAAABSAAAAAAgAIQAAAAAEABCAAAAACgAAQAAAAAUAACAAAAACgAAQAA AAAUgAAAAAAACkAAAAAAAAUgAAAAAIACEAAAAABAAQgAAAAAoAAEAAAAAFAAAgAAAAAoAAEA AAAAFIAAAAAAAApAAAAAAAAFIAAAAACAAhAAAAAAQAEIAAAAAKAABAAAAABQAAIAAAAAKAAB AAAAABSAAAAAAAAKQAAAAAAABSAAAAAAgAIQAAAAAEABCAAAAACgAAQAAAAAUAACAAAAACgA AQAAAAAUgAAAAAAACkAAAAAAAAUgAAAAAIACEAAAAABAAQgAAAAAoAAEAAAAAFAAAgAAAAAo AAEAAAAAFIAAAAAAAApAAAAAAAAFIAAAAACAAhAAAAAAQAEIAAAAAKAABAAAAABQAAIAAAAA KAABAAAAABSAAAAAAAAKQAAAAAAABSAAAAAAgAIQAAAAAEABCAAAAACgAAQAAAAAUAACAAAA ACgAAQAAAAAUgAAAAAAACkAAAAAAAAUgAAAAAIACEAAAAABAAQgAAAAAoAAEAAAAAFAAAgAA AAAoAAEAAAAAFIAAAAAAAApAAAAAAAAFIAAAAACAAhAAAAAAQAEIAAAAAKAABAAAAABQAAIA AAAAKAABAAAAABSAAAAAAAAKQAAAAAAABSAAAAAAgAIQAAAAAEABCAAAAACgAAQAAAAAUAAC AAAAACgAAQAAAAAUgAAAAAAACkAAAAAAAAUgAAAAAIACEAAAAABAAQgAAAAAoAAEAAAAAFAA AgAAAAAoAAEAAAAAFIAAAAAAAApAAAAAAAAFIAAAAACAAhAAAAAAQAEIAAAAAKAABAAAAABQ AAIAAAAAKAABAAAAABSAAAAAAAAKQAAAAAAABSAAAAAAgAIQAAAAAEABCAAAAACgAAQAAAAA UAACAAAAACgAAQAAAAAUgAAAAAAACkAAAAAAAAUgAAAAAIACEAAAAABAAQgAAAAAoAAEAAAA AFAAAgAAAAAoAAEAAAAAFIAAAAAAAApAAAAAAAAFIAAAAACAAhAAAAAAQAEIAAAAAKAABAAA AABQAAIAAAAAKAABAAAAABSAAAAAAAAKQAAAAAAABSAAAAAAgAIQAAAAAEABCAAAAACgAAQA AAAAUADt27oAAAAA2JD+/fu3dQkV75vf/KYAAAAAgC1fXV1dW5dQ8QQAAAAAVIRSqdTWJVQ0 cwAAAABAAQgAAAAAoAAEAAAAAFAAAgAAAAAoAAEAAAAAFIAAAAAAAApAAAAAAEBF2n333XPr rbdmxYoVWbx4cc4+++ym58rlcu677748++yzmT9/fr71rW/lD3/4Q1577bX8/ve/T9euXbP7 7rvn9ttvz4oVK7Js2bL85je/SefOndOlS5f84he/yLJly7J48eKMGjWqqd0BAwZk8eLFWb58 eSZPntwWh/2OtW/rAgAAAOCduOaaa9KtW7ccd9xx+exnP5vLLrssf/zjH/O73/0uSdKlS5dc dtllmThxYn70ox/le9/7XnbfffdceOGFOeWUU/LJT34yBxxwQE466aTsuOOOue666zJixIgc eOCBOfzwwzNixIh88YtfzNSpU3PfffdlwYIFmTp1ah588MHcdtttmTJlSn7xi1/kvvvua+OR aB0BAAAAABWpZ8+e+eAHP5j6+vqmdZ///OebAoDf/va3mTRpUiZOnJibbrops2bNSpJceOGF +dCHPpQrr7wy//M//5PevXvnk5/8ZJJk5513zpe+9KX8+7//e2666ab8+te/zg033JDnn38+ yeorCw499NC8+OKLGTt2bB566KHNfNTvnFsAAAAAqEjLly/P1VdfnVKplA4dOuTAAw/MlClT mp5vbGxsevzWW2+tt/8Pf/jD9OvXL3/6059y3nnnNa1v165dyuVykqRUKiVZfeK/3Xbb5dxz z82dd96ZL3/5yxk/fny+9rWvvV+H954TAAAAAFCRfv3rX6dfv375whe+kMsuuyz/9V//lX/4 h39o9f77779/nn/++SxdujSDBg1qWv+73/0u3/zmN3PCCSdkypQpufPOO/O//tf/yk477ZSZ M2fmlVdeyfDhw5Osvs2gUggAAAAAqEhjx47Nvffem1/+8pc5+uijc+KJJ27SJfnf//73s99+ ++UnP/lJXn311SxdujQHH3xwTj/99MydOzc/+clP0rdv35x66qn561//mueeey6jR4/OUUcd lZ/97Ge57bbbMmPGjPfxCN9b5gAAAACgIi1btizHH398s8+tuXT/7Y/fvnzllVc2Pf6nf/qn psfHHHNMs+1OnTo1U6dOfUf1tjVXAAAAAEABCAAAAACgAAQAAAAAUAACAAAAACgAkwACAABQ Eb75zW+2dQkVTQAAAADAFu/tM/mz6QQAAAAAbPHK5XJbl1DxBAAAAABUhLq6urYuoaKZBBAA AAAKQAAAAAAABSAAAAAAgAIQAAAAAFCRpk+fngEDBmT69Okb3K6mpiZDhw7N9773vc1U2ZbJ JIAAAABUpOHDh+c//uM/Mnz48A1uV19fnxkzZmSbbbbZTJVtmQQAAAAAVLyRI0emZ8+eueee e9K+ffsMHjw4vXr1Sk1NTd566638+Mc/znnnnZcXXnghV111VZ544onsueeeGTVqVDp16tTW 5W8WbgEAAACg4r300kvZeeedM2PGjJx11lm57rrrkiRDhgxJqVTKeeedlySZNWtWevbsmZkz Z6ZHjx659tpr27LszUoAAAAAwFbhyCOPTKlUyr777pvly5c3u80jjzyS3r17p1QqpU+fPvnz n/+8matsOwIAAAAAKl5VVVU6dOjQqm3L5XLT7zWPi0AAAAAAQGHsv//+ufvuu1Mul3PPPfdk 3333beuSNhsBAAAAABVpzdf/bexrANc2ZMiQPPDAAznllFNy//33Z+jQoe9XeVsc3wIAAABA RRo+fHjTVwC+/asAZ8+e3ezjTp065fzzz988BW5hXAEAAAAABSAAAAAAgAIQAAAAAEABCAAA AACgAEwCCAAAQEWora1t6xIqmgAAAACALV6pVGrrEiqeAAAAAIAtXrlcbusSKp4AAAAAgIpQ V1fX1iVUNJMAAgAAQAEIAAAAAKAABAAAAABQAOYAAAAAoGINGDAgHTt2bFru1KlTLr300nzr W9/K7Nmz27CyLY8AAAAAgIpWU1PT1iVUBLcAAAAAsNUYOHDgOsvLly/P+PHjc+qpp+a8887L 448/3kaVtT1XAAAAAFDRhgwZ0uJzNTU16du3b8aOHZuFCxdm+vTpmTBhwuYrbgsiAAAAAKCi rX0LwNuvAHj44Yczf/78puV27dptrrK2OAIAAAAAtlqNjY2ZNm3aOhMFFpU5AAAAANhqde/e PfX19U3Ly5Yta8Nq2pYAAAAAgK3WsGHDsmjRoowePTqjR4/OzTff3NYltRm3AAAAAFCxamtr 11mePXv2Or933HHHjBkzZrPXtSVyBQAAAAAUgAAAAAAACkAAAAAAAAUgAAAAAIACMAkgAAAA FeHtE/6xaQQAAAAAbPFKpVJbl1DxBAAAAABs8crlcluXUPEEAAAAAFSEurq6ti6hopkEEAAA AApAAAAAAAAFIAAAAACAAhAAAAAAULEGDBiQIUOGNP00Z+DAgWlsbMyYMWPS0NCQJHn00Uc3 Y5VbBpMAAgAAUNFqamo2uk1VVVUmTpyYJGloaMjUqVPz4x//+H2ubMviCgAAAAC2Ks8880y+ 973vZejQoZkxY0bat1/92ffAgQOTJDNmzMiSJUsyadKktixzs3MFAAAAABVt7Uv/a2pqMmvW rPTu3TtHHHFE6uvrs3LlynW2HzFiRO66665UV1dv5krblgAAAACAivb2WwAWLlyYc845J6VS KYcffnhmzJjRNoVtYdwCAAAAwFanVCo1+7jIBAAAAABsVfbee+/cd999SZK5c+emXC6vt037 9u3z2muvbe7S2pQAAAAAgIr29q8BHDp0aO64444MGTIkjz32WDp37rzePoceemhGjx69mStt W+YAAAAAoGLV1taut27XXXfNhAkT1ls/e/bspsennXba+1rXlsgVAAAAAFAAAgAAAAAoAAEA AAAAFIAAAAAAAArAJIAAAABUhOYm/KP1BAAAAABs8UqlUluXUPEEAAAAAGzxyuVyW5dQ8QQA AAAAVIS6urq2LqGimQQQAAAACkAAAAAAAAUgAAAAAIACEAAAAABQ0W655ZacdtppGTRoUE4/ /fTccccdrdrv0UcfTZI0NjZmzJgxaWhoeD/LbHMCAAAAACrW3Llzc+edd+bcc8/Nddddl3PP PTd33HFHHnzwwQ3u19DQkKlTpyZJqqqqMnHixLRr125zlNxmfAsAAAAAFeuWW27J0KFD061b tyTJbrvtliFDhqSuri49evTIyJEj06NHj9x3333p0qVLRo8enV133TUzZszIkiVLMmnSpFRX V2fgwIGZPXt2XnjhhVx11VV54oknsueee2bUqFHp1KlTRo4cmZ49e+aee+5J+/btM3jw4PTq 1Stz5szJnDlzsnLlyhxyyCEZMWJEG49Iy1wBAAAAQMV65plnstdee62zbq+99srixYuTJC+9 9FI++tGP5t/+7d/ypS99Kdddd12SZMSIESmVSqmurl5n31mzZqVnz56ZOXNmevTokWuvvbap nZ133jkzZszIWWed1dRObW1tLrnkklxzzTXp16/f+32474oAAAAAgK1WqVTKYYcdllKplN69 e2fhwoUb3P6RRx5J7969UyqV0qdPn/z5z39ueu7II49MqVTKvvvum+XLlydJ+vbtm4svvjgP PvhgunTp8r4ey7slAAAAAKBifeQjH8njjz++zrrHHnssu+22W5KkXC6nXC43PW6Ntbdf87iq qiodOnRYb9tBgwblu9/9bubNm5eJEye+4+PYHAQAAAAAVKyjjjoqNTU1efrpp1Mul/P000/n 2muvzdFHH920zb333ptyuZy77747++yzT9P69u3b57XXXlunvf333z933313yuVy7rnnnuy7 774t9r1q1aosXrw43bp1y9ChQ7NgwYL3/gDfQyYBBAAAoGIddthhWblyZcaPH5/ly5fnQx/6 UAYMGJDPfOYzSZJtt902ixYtyvXXX58uXbrkjDPOaNr30EMPzejRozNz5symdUOGDMm0adMy e/bs7LHHHhk1alSLfTc0NGTKlClZunRptttuuwwaNOj9O9D3QKlcLpcXLFh9uUR9/dxUV5+8 zmUR48aNe1cdjBs3LitWrFhv/Q477PCu2gUAAKAY+vfvn7q6utTV1W3yvieccEJuvPHG96Gq yuMWAAAAALZarb3vvwgEAAAAAFAAAgAAAAC2WrNnz27rErYYAgAAAAAoAN8CAAAAQEWora1t 6xIqmgAAAACALV6pVGrrEiqeAAAAAIAtntn83z0BAAAAABWhrq6urUuoaCYBBAAAgAIQAAAA AEABCAAAAACgAMwBAAAAQEUaMmRIkuT1119Px44dkyQ1NTWb1MbAgQMze/bs97iyLZMAAAAA gIq05mR/wIABm3ziX0QCAAAAALYaL7zwQq666qo88cQT2XPPPTNq1Kh06tSpxfVrzJkzJ3Pm zMnKlStzyCGHZMSIEW14FO8PcwAAAACw1Zg1a1Z69uyZmTNnpkePHrn22ms3uH6N2traXHLJ JbnmmmvSr1+/tij9fScAAAAAYKvxyCOPpHfv3imVSunTp0/+/Oc/b3D9Gn379s3FF1+cBx98 MF26dGmL0t93AgAAAAC2KuVyuen3mscbWp8kgwYNyne/+93MmzcvEydO3HzFbkYCAAAAALYa +++/f+6+++6Uy+Xcc8892XfffTe4PklWrVqVxYsXp1u3bhk6dGgWLFjQVuW/r0wCCAAAwFZj yJAhmTZtWmbPnp099tgjo0aN2uD6JGloaMiUKVOydOnSbLfddhk0aFBblf++EgAAAABQ0Wpr a5sed+rUKeeff/5627S0fvbs2UmSyy677P0rcAvhFgAAAAAoAAEAAAAAFIAAAAAAAApAAAAA AAAFYBJAAAAAKsLak/2x6QQAAAAAbPFKpVJbl1DxBAAAAABs8crlcluXUPEEAAAAAFSEurq6 ti6hopkEEAAAAApAAAAAAAAFIAAAAACAAhAAAAAAULEGDBjQ9LixsTFjxoxJQ0PDu2pz+vTp GTBgQKZPn77B7R599NF31U9rrOnjvTg2AQAAAABbhaqqqkycODHt2rV7V+0MHz58nd/NaWho yNSpU99VPxuzdh/vxbH5FgAAAAC2GgMHDszs2bMzZ86czJkzJytXrswhhxySESNGZOTIkenR o0fuu+++dOnSJaNHj86uu+66wfZGjhyZnj175p577kn79u0zePDg9OrVKzNmzMiSJUsyadKk VFdXZ/ny5Zk2bVoee+yxdO7cOcOHD8+ee+6ZM888M4ccckgeeOCBTJ48OXfddVduvvnmLF++ PB/84AdzwgknpFevXnnuuedy9dVXZ+nSpenUqVMuvPDC9fpYc2wvvPBCrrrqqjzxxBPZc889 M2rUqHTq1KnFWtcQAAAAALDVqa2tzRVXXJHtt98+L774YpLkpZdeykc/+tEMHTo0//Ef/5Hr rrsuY8eO3WA7L730UnbeeefMmDEjf/3rX3P55ZenV69eGTFiRO66665UV1cnSWpqatK3b9+M HTs2CxcuzPTp0zNhwoQsWbIkXbt2zeTJk5Mk++23X7p3755OnTrlhRdeyPe///306tUrM2fO TJ8+fdK7d++sWrUqSdbrY41Zs2alZ8+eOf/881NfX59rr7021dXVLda6hgAAAACArU7fvn1z 8cUXp1+/fjn00EOTJKVSKYcddlhKpVJ69+6dG2+8sVVtHXnkkSmVStl3332zfPnyZrd5+OGH M3/+/KblNZfqNzY2rnMS/ve//z2zZs3KE088kVWrVuXVV19NkvzlL3/J2WefnSTp0KHDBut5 5JFHctZZZ6VUKqVPnz656aabWlWrAAAAAICtzqBBg/Lkk0+mtrY28+bNy9lnn51yuZxyuZwk Tb+Tde/1f/vEf1VVVRs9IU9Wn+hPmzYtHTt23OD+l19+efr375+zzz47VVVVOfHEE5OsPukv lUqtPr61j2PN443VahJAAAAAtiqrVq3K4sWL061btwwdOjQLFixoeu7ee+9NuVzO3XffnX32 2SfJ6pP+NT+bon379nnttdeSJN27d099fX3Tc8uWLWt2n1dffTV77rln2rdvn1tvvbXp5H2f ffbJAw88kCR54403mu1jjf333z933313yuVy7rnnnuy7776tq7f1hwYAAABbniFDhiRZfWKc rJ49f8qUKVm6dGm22267DBo0KEmy7bbbZtGiRbn++uvTpUuXnHHGGc22tyYI2FggcOihh2b0 6NGZOXNmhg0blmuuuSajR49OknzqU5/KySefvN4+J510Ui644IKUy+X06dMn3bp1S5IMGzYs 06ZNy0033ZTOnTvnwgsvXK+PtY932rRpmT17dvbYY4+MGjWqVeNUKpfL5QULHk+S1NfPTXX1 yetcCjFu3LhWNdSScePGZcWKFeut32GHHd5VuwAAABRD//79U1dXl7q6unfVzgknnNDq+/63 Rm4BAAAAoBDW/rC7iAQAAAAAUAACAAAAAAph9uzZbV1CmxIAAAAAQAH4FgAAAAAqQm1tbVuX UNEEAAAAAGzxSqVSW5dQ8QQAAAAAbPGKPoP/e0EAAAAAQEWoq6tr6xIqmkkAAQAAoAAEAAAA AFAAAgAAAAAoAHMAAAAAULEGDBiQjh07pqqqKjvuuGP69++fXr16bXCfmpqa3HPPPenatWsu vvji9Za3VgIAAAAAKlpNTU2S5NFHH82ll1660QCgvr4+M2bMyDbbbNPs8tbKLQAAAABUvIaG hrz22mvp0qVLkmTgwIHrPL9muaamJm+99VZ+/OMfp127dustL1++POPHj8+pp56a8847L48/ /niS5Mwzz8yNN96YM888M0kyZ86cjBw5MsOGDctPfvKTzXik75wrAAAAAKhoQ4YMyVtvvZWd dtop3/ve9za67W233Zbzzjuv2eWampr07ds3Y8eOzcKFCzN9+vRMmDAhS5YsSdeuXTN58uQk SW1tba644opsv/32efHFF9/fA3yPCAAAAACoaDU1NSmXy7n33ntz1VVX5Yc//OE7buvhhx/O /Pnzm5bbtWuXJGlsbFzn1oK+ffvm4osvTr9+/XLooYe+8+I3IwEAAAAAFa9UKuWzn/1sZsyY sd5zb775ZhobG1vVTmNjY6ZNm5aOHTuus76qqiodOnRoWh40aFCefPLJ1NbWZt68eTn77LPf 3QFsBuYAAAAAYKvw+9//PrvttluSZKeddsojjzyScrmc+vr6VrfRvXv3dbZftmzZetusWrUq ixcvTrdu3TJ06NAsWLDg3Re/GbgCAAAAgIo2ZMiQJEnXkl+IHwAAIABJREFUrl0zcuTIJMlJ J52Uyy+/PKtWrUqfPn3SuXPnVrU1bNiwXHPNNRk9enSS5FOf+lROPvnkdbZpaGjIlClTsnTp 0my33XYZNGjQe3cw76NSuVwuL1iwelbD+vq5qa4+OeVyuWmDcePGvasOxo0blxUrVqy3focd dnhX7QIAAFAM/fv3T11dXerq6tq6lIrmFgAAAAAoAAEAAAAAFIAAAAAAAApAAAAAAAAF4FsA AAAAqAi1tbVtXUJFEwAAAACwxSuVSm1dQsUTAAAAALDFW/vr6nlnBAAAAABUhLq6urYuoaKZ BBAAAAAKQAAAAAAABSAAAAAAgAIQAAAAAFCx5s2bl1GjRuWUU07JjBkz3nV7jY2NGTNmTBoa Gt6D6rYsJgEEAACgYs2aNSvnn39+dtttt7z88svvur2qqqpMnDjxPahsy+MKAAAAACpWY2Nj tt9++1RVVaVTp05JkuXLl2f8+PE59dRTc9555+Xxxx9Pkpx55pm58cYbc+aZZ+aVV17JyJEj 09jYmCRpaGjIyJEj88orr2TgwIFJkueeey4XXXRRRo8enYsuumiDbc+ZMycjR47MsGHD8pOf /GRzD0OruAIAAACAivXVr34148aNy4knnpjPfvazSZKampr07ds3Y8eOzcKFCzN9+vRMmDAh S5YsSdeuXTN58uQkyZ577pkFCxake/fueeihh7LPPvtkxx13bGp75syZ6dOnT3r37p1Vq1Zt sO3a2tpcccUV2X777fPiiy9u/oFoBQEAAAAAFesb3/hG/vEf/zE1NTVZuHBhBg8enIcffjjz 589v2qZdu3ZJVl8t0KtXr6b1vXv3zu9///t079498+bNS58+fdZp+y9/+UvOPvvsJEmHDh2S pMW2+/btm4svvjj9+vXLoYce+r4c67slAAAAAKCiHXjggbngggty+umnZ/DgwWlsbMy0adPS sWPHdbarqqpqOpFPkk996lO58cYb8+abb2bRokUZNWrUOtt36NAhpVJpnXUttT1o0KA8+eST qa2tzbx585qCgy2JOQAAAACoSKtWrcrSpUuTJM8++2x23nnnJEn37t1TX1/ftN2yZcua3b99 +/bp3r17br755nzmM59p+jR/jX322ScPPPBAkuSNN95ose1Vq1Zl8eLF6datW4YOHZoFCxa8 dwf5HnIFAAAAABVp1apVufjii/Pyyy9nxx13zPDhw5Mkw4YNyzXXXJPRo0cnWf1J/8knn9xs G717985FF12U8ePHr/fcsGHDMm3atNx0003p3LlzLrzwwmbbPv744zNlypQsXbo02223XQYN GvQ+HfG7UyqXy+UFC1bPWlhfPzfV1SenXC43bTBu3Lh31cG4ceOyYsWK9dbvsMMO76pdAAAA iqF///6pq6tLXV1dW5dS0dwCAAAAAAUgAAAAAIACEAAAAABAAQgAAAAAoAB8CwAAAAAVoba2 tq1LqGgCAAAAALZ4pVKprUuoeAIAAAAAtnhrf10974wAAAAAgIpQV1fX1iVUNJMAAgAAQAEI AAAAAKAABAAAAABQAAIAAAAAKtaAAQOaXdfY2JgxY8akoaFhvecHDhy4OUrb4pgEEAAAgK1O VVVVJk6c2NZlbFEEAAAAAGyVBg4cmNmzZ+eZZ57JlVdemWeffTa9evVK+/arT4WXL1+eadOm 5bHHHkvnzp0zfPjw7Lnnnm1c9ftHAAAAAEBFGzJkyAafnzVrVnr37p0jjjgi9fX1WblyZZKk pqYmffv2zdixY7Nw4cJMnz49EyZM2AwVtw0BAGwmq1bd39YlABWsQ4dD27oEANhi1dTUrLP8 9nkBFi5cmHPOOSelUimHH354ZsyYkSR5+OGHM3/+/Kbt2rVr977X2pYEAAAAAGz1SqXSeo8b Gxszbdq0dOzYsa3K2qx8CwAU3Guv/T3nnjslH/5w31ZtX1tbnz33/Fq6dj0yp59+2Qa3/cAH PveOarr//oebXf/KK6/lc5879T3t653W8l5raGjIQQd9K6tWvbVJ+/XpMyIrVrz+PlUFALB1 2HvvvXPfffclSebOnZtyuZwk6d69e+rr65u2W7ZsWZvUt7kIAKDgRo/+Ub7ylV5pbCy3avuz zro8N988MU899dv80z+d/J7X89ZbDTnllH9p9rmf/ey2HHbYQe95n++klvdau3bt8l//9bN0 6LBpF2b17Nk9P/3pre9TVQAAW4ehQ4fmjjvuyJAhQ5om/EuSYcOGZdGiRRk9enRGjx6dm2++ uY0rfX8JAGAz2Xvv4/LDH/5bunY9Mt26HZ2f//zOVFdfnl12+XJ23/2Y3HTT6uTxb39bkiOO OC277PLlHHXU6Dz11PNJ1v+Ee83y5Mk3Zo89js0uu3w5I0eOT5I899xLOfbY6nzkI0flkEOG 5I9/fKTFumbOPD99+nwqjY2N66zv0WNIs9u/9VZDPvShHdKuXbv8wz90aVV/LT3/+ONPp2/f 72a//fqnb9/vJklOO+3SLFr0VE444fvr9X3bbf8nRxyx+j7ov/71b+nZ85R06XJETj/9smyz zeoT5wMOOD7nn391Djxw9Xe71tTMyQEHHJ8uXY7Ixz72jdTWrh7nX//63hx55OgccMDx6dTp SznmmLPy6qvrfpL+9lpaem3W9vb+Wzr25l63Na/pWWdNSr9+Z+drXxuT7bbrtcF2+vY9JLff /vtmXysAgCKora1tcd3s2bOTJLvuumsmTJiQmpqanHrqqZk2bVqSZMcdd8yYMWMyZcqUTJky JSef/N5/wLUlEQDAZvLkk0vSseN2efrpW3L99T/ISSddkL333i3PPntbfvrTf8m5505Jkpx1 1sQMGPClPPvsbenXr0/OPnvyBtv9wQ9m5IEHarJ48W9zzjmDkyRjxkzOt799XJ555tZcccU5 GTVq02cyXesWqXWMHj0wfft+N7/4xe+a1m2sv5aeP+OMH2Xw4K/mv/+7LnPmXJ4kufrqsamq qsqNN/7ren0vWPBY/vEfd0+SVFdfnsGDv5Lnnrs9BxywV/7+9zeTJI899nT22We3PPzw6n/s P/e5g3LbbVfk+efvyO23X5kxYyY39X3DDT/M3Lkz8qEPbZ/f/ObybL/9uvd+vb2W1rw2b++/ pWNv7nVb4/LLq/OrX/0oX/jCZ3L88X032M4++3TLww8vav7FAgCAtZgEEDaj73znm6mqqsrn P39wGhsbc8opx6ZUKuWwww7K88+/nCSZN++h3HDDv6ZUKmXw4K9m3LjpG2zz29/ul2OOqc65 5w7K179+eJLkd7/7wzqfCrdvv+mzmT7wQE2z67///aH57GcPTHX15XnggQW59NLRG+2vpefv vXd+amtXn8huu+02G63p+edfzs4775AkefDBP+fnP78kpVIpJ598dNN8BA0NDU0nzUny6quv p7p6Uv70p4V5442VefnlV5Ikr7/+Zl544eX///EbG+07ad1r8/b+Wzr25l63tT388KLMnHlz 5s6dscF2dt55h7zwwtZ9rxoAAO8NAQBsJu3atct2260+yS2VSmnXrl2zJ72lUpomJSmXy02P 1/b662+koaEhSXLJJadnwYLHctFF16S2tj61tRPS2NiYRYt+mZ122n6d/Xbb7atNjxcv/u07 PpYvfOHTuf32K7Lffv1z6aWjW+xvjZae33bbbdaZjXVjyuVys7O3lkr/7/Hbx/WEE76fCy44 NbW1E9KuXVW23/7zSZLx47+bgw76Vjp33imXXjq6Vf235rV5e/8tHXtzr9sab7yxMkOH/iBX Xz02O+74wQ22U1VV1WwdAADwdm4BgC1M796fzHXX/TblcjnXX39LevX6RJKkS5edM2/en1Iu lzN9+i+TJG++uTJ/+cvjOeCAvTJp0lm5667/myT54hd7NG2TJEuWLE2y+qR/zc/GHHro0PXW vfnmyqb73hctWpyuXTttsL81Wnr+kEP2z69+dXeSrHP//TbbtM/LL69Yr//OnT/UtP7Tn94v N954e5Jk9uw7WjwJfvnlV3Lwwftmm23aZ+rUuqbthg07Nh/72O75n//5dQYN+kqL47B2LS29 NhvS3LG39LqtMXbslTn22MPSs2f3Dbaz+vhWpHPnnTZaBwAAuAIAtjATJ56VU0/9YS644Cf5 xCf2yTXX/HOS1Z9Yn3jiP+eNN1Zm8OCvpFu3XbJq1VsZNOjCPPXU89lhh4655JLTkySTJ1fn tNMuzcc/3j/lcvLVr34uP/rRGZtUR3Mn1G+8sTJHH31Wnn32xXTpsnOmTTuvVf219Pzll4/J qaf+S8aNm57ddvvfqa+fmiQ57rjD8/GP98+zz962Tv8HHLBXFi1anI98pHMmTarOkCHjcu65 U3L88X3TrdsuzR7H+PGn5fDDR6RcLmfQoK/kgAP2SpIsX/5qOnbcLvvt1z+vv/5Gvv3tfhk3 bvh6+69dS0uvzYY0d+zjxn272ddtjWnTfp6+fQ9Jv35nJ0lqai5scQwXLnwy+++/10brAADY GjQ34R+tVyqXy+UFCx5PktTXz0119cnr/Md/3Lhx76qDcePGZcWK9T/J22GHHd5Vu1BpVq26 v61LqHhXXHFTXn317xk7dsi7buuww76d2bMvzq67fjivvfb37LPP1/PMM5X3dXrjx9dkhx06 5rTTBrR1KbzPOnQ4tK1LAIA2079///z85z9v6zIqnlsAgIoxePBXc/fd/3fjG7bC4sXPpVOn 1ZfOL1nyUrp02fk9aXdzu+eeP27wFgYAgK3FmjmY/LzzH7cAABVjp522z+23X/GetHXRRcPz la+ckZ122j5vvrmyVZfzb4luu21KW5cAALDZ1NXVtXUJFU0AABTSyScfnZNPPrqtywAAgM3G LQAAAABQAAIAKLDp03+Zgw76Vrp3PyG9ep2S++9/eKP7fPCDh+Vf/3XWeuuvvLI2HTsetsF9 P/CBz73jWttSa8bl7RoaGnLQQd/KqlVvtXqfSh2fTbH2WL6fx7upbW/q9mPGTE6XLkekZ89T Nmk/AIC2JACAAvvwh3fOrbf+OA89dGMuu+yMnHLKv2x0nw98YNs8+ujf0tjYuM76xx9/Ottu 2+H9KrXNvPVWQ6vG5e3atWuX//qvn6VDB3darfFOx3JLNH36L/PYY7/KvfdOb+tSAIAkt9xy S0477bQMGjQoo0ePzh133LHB7RsbGzNmzJg0NDQkSR599NHNUWabEwDAZrL33sflhz/8t3Tt emS6dTs6P//5namuvjy77PLl7L77Mbnppvokyd/+tiRHHHFadtnlyznqqNF56qnnk6z/CeWa 5cmTb8weexybXXb5ckaOHJ8kee65l3LssdX5yEeOyiGHDMkf//hIszUdd1yfdO3aOUmy334f zdKly5ue69FjSLP7vPbaG/nSl3qkvv7BpnX33js/n/vcQXnttb8nSWpq5uSAA45Ply5H5GMf +0Zqa+vXaePZZ1/MwQeflPnz/9qqWh9//On07fvd7Ldf//Tt+90NjscBBxyf88+/OgceOLDZ 5Zb622OPY3PuuVPSteuR67wep512aRYteionnPD9dfpbtOipfPzj/ZMkr7zyWj70ocPz7LMv JkkOOuhbWbToqaaaWmr7r3/9W3r2PCVduhyR00+/LNtsszosaO490Jr+1tbS+6i5sdyU8d1j j2NzxhkT06XLEenRY0geeeRveeGFl7P77sc0Xe3w1lsN2X33Y/LCCy+v08bbx7Jdu6pmx2Vj 74nWjEVLbbc0Lmu05v1YXX15Vq5clUGDLkj79u3We4+19P5v7b8Brf37BQBWmzt3bu68886c e+65ue6663LOOefkjjvuyIMPPtjiPlVVVZk4cWLatWuXhoaGTJ06dTNW3HYEALCZPPnkknTs uF2efvqWXH/9D3LSSRdk7713y7PP3paf/vRfcu65q2dzP+usiRkw4Et59tnb0q9fn5x99uQN tvuDH8zIAw/UZPHi3+accwYnWX158re/fVyeeebWXHHFORk1asJG67v66l/kW986qmm5VGp+ u4aGhnzjG1/Iz39+Z9O6OXPuy7HHfr5p+XOfOyi33XZFnn/+jtx++5UZM2b1MVRVlbJixev5 xjf+KZdeenoOPvhjrar1jDN+lMGDv5r//u+6zJlz+QaP47HHns4+++yWhx+e3exyS/0988wL 2WWXznn66Vtyww0/bHo9rr56bKqqqnLjjf+6Tj977/0PWbHi9axa9VZ++9u5Ofrow/Kb39yX hoaGLF++Invv/Q9N27bUdnX15Rk8+Ct57rnbc8ABe+Xvf38zSfPvgU3pr6U2WhrLTRnfZ555 IZ/85Mfy3HO359RTv5Zzz/1xPvzhnXPIIfvn9tvvT5Lcccf9+fSn98uHP7zuVyu+fSxXrlzV 7Lhs7D3RmrFoqe2N/X215v04adJZqaqqyq9+9aMk67/HWnr/t/bfgHfy9wsARXbLLbdk6NCh 6datW0qlUnbbbbcMGTIkc+bMSZIMHDhwne3XLK/5PWPGjCxZsiSTJk3avIW3Ademwmb0ne98 M1VVVfn85w9OY2NjTjnl2JRKpRx22EF5/vnVn5bOm/dQbrjhX1MqlTJ48FczbtyGLzH+9rf7 5ZhjqnPuuYPy9a8fniT53e/+kNtv/33TNu3bt9tgG//+73fl9tt/n1tv/X9fKffAAzUtbt+x 43bZYYeOee65l1JVVcpOO+2wTh+vvvp6qqsn5U9/Wpg33liZl19+JUmy/fYdc+KJ389RR/VM 376HtLrWe++dn9ra1SdB2267zQaPpaGhIccf37fF5Q31t+b16dXrE02vx4YcfPDH8thjT+dX v7o7F198Ws45Z3K+8IXP5BOf+Mf1tm2u7Qcf/HN+/vNLUiqVcvLJR+f00y9L0vJ7YFP6a6mN 5sZyU8a3VCrlhBO+nFKplEGDvpLzz786STJ48NG54YbbcvTRn8vs2XesEyZtSHPj0pr3RGvG orm2N/b3tal/O8n677GW3v9r17ShfwPeSQ0AUGTPPPNM9tprr3XW7bXXXnnqqada2GNdI0aM yF133ZXq6ur3o7wtigAANpN27dplu+1Wn1yVSqW0a9eu2ZOtUikpl8tJVv9e83htr7/+RtP9 SpdccnoWLHgsF110TWpr61NbOyGNjY1ZtOiX2Wmn7dfZb7fdvtr0ePHi3yZZffI/dWpdbr55 Yj7wgW1bfTwnnXRUrr12Tjp0aJ+TTlr3ZO+EE76fCy44NbW1E9KuXVW233711QHLlq1Ir14H 5ac/vSWjRx+fnXbavsVa17btttuk1NIlCW8bj7eP69uXW+pv7dentXr0OCAPPfRoXn/9jey1 165pbCxn/vxH0qPH/q1ue81xlUrrPm7uPdDa/jbURnNjuSnjWy6X09j4/9pds9uRR3421dWT 8txzL+X//J+HMmPGP7fY3sbGpTXviY2NRUttb+zvqzV9N3cca7/HWnr/t/bfgHdSAwCwvrfP WYVbAGCL07v3J3Pddb9NuVzO9dffkl69PpEk6dJl58yb96eUy+VMn/7LJMmbb67MX/7yeA44 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 9evk5uYC0L59e9avX8/Fixc5e/YsH374oWVdyUR1KSkpZSbei4+PJyQkhBs3brB161aKi4vJ zs4GzAGDCxcucOHCBRYuXFhqpm9b+eXl5QF/NRDufG+rfk+Kksbrnj17LK9atWqRmZn5UMtx /fp1y/9feukltm7dikaj4dChQ1aDP4+TunXrWs4xW26vny3vvfceJpOJjh070q9fP8s8FiV2 7txJYWEhhYWFfP/993Tq1Ol+iu2Qk5MTSUlJGAwGMjMzuXbtGn5+fgwfPpwNGzbw3//+l+3b t7Ns2bIyQ2qsSU5OJiwsDK1Wy+nTp0uta9asGZs3b7Y5+761sjjy/PPP89NPP1mO2aZNm8o9 r0ReXh4NGjQo17aCIAiCIAiCcCeJyWQy/fGH+VFVu3btZ8KEwQ4n5UpJSSEuLo7Tp0/TqFEj RowYQVBQUKltpk6dSq1atSzjZJ8UGo2GsWPHUlxcTFpaGmFhYfTo0YOOHTsC5gvwpUuXcvjw YVxcXOjYsSO9e/dGKpUycuRIzp8/D4CnpycrVqywNEAOHz7MkiVLyM7Opk6dOhw4cAA/Pz+W L1/O6dOnWbhwISqVisjISHr27IlcLreb37vvvsvx48dp374906dPZ9KkSaXeP+n+8Y9/cPDg Qd59911eeeUVTpw4wcSJE/H09GTDhg0MHz6cP//807J9lSpVLHeyBw8ebHOdPVFRUaXGhZco +T7o9XrWrFnDjh07qF27NiNHjsTPz+9+q/rAbNu2DQ8PD0tvHHv1s3fMSsb3L1myBKlUSkxM jCW4FBERwaJFi5g3bx46nY5OnTrRvXt3y/lrT//+/UlOTgYgLCyMFStWAOa5BS5dukStWrWQ yWScP3+eOnXqWHqD7Nmzh40bN5Kamsqzzz7LwIEDCQsL4+bNm6xcuZKTJ09SqVIlXn31VV58 8UUABg4cSFJSEgChoaGlhikcP36cuLg49Ho948aNY+zYsdSqVYvFixdTWFjIhg0b2Lt3L3l5 eVSuXJnmzZvTq1cvVCqVzbLYO55FRUVs2LDBcl516NCB3r174+zs7LDuJ0+eJCMjg8jISIfH VxAEQRAEQXg6HDx4kClTplhdd2db/54CAIIgPP4KCgpYunQp77zzzgPL415m8RfuXVxcHIMG DSozDEMQBEEQBEF4et1NAMDqbbqDBw8+uNIJgvDQhIWFPbDv87///W8AevXqxfjx4x9IHkJp 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 VBAEocT/A2mooA9h+iRoAAAAAElFTkSuQmCC --------------080707090809020501090605 Content-Type: image/png; name="screenshot-2.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="screenshot-2.png" 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 AMA1rrl7SKLWCQAJcHb+52kGoDk7PBOxfYLZun1yR5jNJjgcckS2FU2pac6holjYjx3N1bZf CAFFdj71UzUN1oYGz42+c8hMDeYkC9LSM2AymaFpKoxChdCABlnAKMXXEz9JkvDJq/NQuqsC j//6X7p++u/mXZ3fX8E+lGX0LJ76AGisq8Ilwwa0mR7vfQD4u54Czc2eJElCUlISsrO74Kor p2D4sKGw2WyoPX8eaWnprAFAREREAKKYAKioqECXzFTPk3z3zbymuXooF87ezJ29/jfPF0JA ANBcHevFWjwUQsJxpLwSG78qjnUY5MPpY2UwwAhZE9BUBbIsQ5Zl1/fBlQBQZCSnpCItLQNG kwmqq2aKqqowumvPaPHVBCAu+mfw4n6a76v9v69l3PP00v4/VPHUB0Dlsb3YsfkTVFefhkPV YKtvgM2u4NiRcgDx2wdAqNdTo8GAlORk5ObmwGA0oKamFklJZmc/Ozq4nhIREVHsRS0BsGXz OqQmSc62/p4OACVowvXEH67B9IRruuvphPsmRRMatn27PVrhJbxGayPyuuZ1eDuR2AY1W7x4 MX77u+cwYMhIWJJTkJmTi8qTFcjMzMS4sWOQmuZskmFOssBiSYbBYICtqRHnzp6FoihIggRN VaBKzp424k08FPzDFY9P/6urq5GXF9p3vLo6tp02BquxtX//fgwdOjTk7e3fvz8SYUVEe6+n iuJMGtodCgyShBPlRmzfsSuWu0BEREQ6EZUEQCSrzl/IBYJYifST/yPllaitPR/RbSayX/7i 5y0Kiwd2tScRdhAAUHOqEtWV5XH3tDnehHJ84/kzWLp0aaxDaJdA14twrkl6uP7wekpERESR FLUaALzR0B/3cIXe40VHetsUGfFcaKQLw4V2DsbzNSmeYyciIiJ90feg9BQVLKwTEREREREl HkOsAyAiIiIiIiKi6GMCgIiIiIiIiCgBMAFARERERERElACYACAiIiIiIiJKAEwAEBERERER ESUAJgCIiIiIiIiIEgATAEREREREREQJgAkAIiIiIiIiogTABAARERERERFRAmACgIiIiIiI iCgBMAFARERERERElACYACAiIiIiIiJKAEwAEBERERERESUAJgCIiIiIiIiIEgATAERERERE REQJgAkAIiIiIiIiogTABAARERERERFRAmACgIiIiIiIiCgBMAFARERERERElACYACAiIiIi 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 oAACAAAAABRAAAAAAIACCAAAAABQAAEAAAAACiAAAAAAQAEEAAAAACiAAAAAAAAFEAAAAACg AAIAAAAAFEAAAAAAgAIIAAAAAFAAAQAAAAAKIAAAAABAAQQAAAAAKIAAAAAAAAUQAAAAAKAA AgAAAAAUQAAAAACAAggAAAAAUAABAAAAAAogAAAAAEABBAAAAAAogAAAAAAABRAAAAAAoAAC AAAAABRAAAAAAIACCAAAAABQAAEAAAAACiAAAAAAQAEEAAAAACiAAAAAAAAFEAAAAACgAAIA AAAAFEAAAAAAgAIIAAAAAFAAAQAAAAAKIAAAAABAAQQAAAAAKIAAAAAAAAUQAAAAAKAAAgAA AAAUQAAAAACAAggAAAAAUAABAAAAAAogAAAAAEABBAAAAAAogAAAAAAABRAAAAAAoAACAAAA ABRAAAAAAIACCAAAAABQAAEAAAAACiAAAAAAQAEEAAAAACiAAAAAAAAFEAAAAACgAAIAAAAA FEAAAAAAgAIIAAAAAFAAAQAAAAAKIAAAAABAAQQAAAAAKIAAAAAAAAUQAAAAAKAAAgAAAAAU QAAAAACAAggAAAAAUAABAAAAAAogAAAAAEABBAAAAAAogAAAAAAABRAAAAAAoAACAAAAABRA AAAAAIACCAAAAABQAAEAAAAACiAAAAAAQAEEAAAAACiAAAAAAAAFEAAAAACgAAIAAAAAFEAA AAAAgAIIAAAAAFAAAQAAAAAKIAAAAABAAQQAAAAAKIAAAAAAAAUQAAAAAKAAAgAAAAAUQAAA AACAAggAAAAAUAABAAAAAAogAAAAAEABBAAAAAAogAAAAAAABRAAAAAAoAACAAAAABRAAAAA AIACCAAAAABQAAEAAAAACiAAAAAAQAEEAAAAACiAAAAAAAAFEAAAAACgAAIAAAAAFEAAAAAA gAIIAAAAAFAAAQAAAAAKIAAAAABAAQQAAAAAKIAAAAAAAAUQAAAAAKAAAgAAAAAUQAAAAACA AggAAAAAUAABAAAAAAogAAAAAEABBAAAAAAogAAAAAAABRAAAAAAoAACAAAAABRAAAAAAIAC CAAAAABQAAEAAAAACiAAAAAAQAEEAAAAACiAAAAAAAAFEAAAAACgAAIAAAAAFEAAAAAAgAII AAAAAFAAAQAAAAAKIAAAAABAAQQAAAAAKIAAAAAAAAUQAAAAAKAAAgAAAAAUQAAAAACAAggA AAAAUAABAAAAAAogAAAAAEABBAAAAAAogAAAAAAABRAAAAAAoAACAAAAABRAAAAAAIACCAAA AABQAAEAAAAACiAAAAAAQAEEAAAAACiAAAAAAAAFEAAAAACgAAIAAAAAFEAAAAAAgAIIAAAA AFAAAQAAAAAKIAAAAABAAQQAAAAAKIAAAAAAAAUQAAAAAKAAAgAAAAAUQAAAAACAAggAAAAA UAABAAAAAAogAAAAAEABBAAAAAAogAAAAAAABRAAAAAAoAACAAAAABRAAAAAAIACCAAAAABQ AAEAAAAACiAAAAAAQAEEAAAAACiAAAAAAAAFEAAAAACgAAIAAAAAFEAAAAAAgAIIAAAAAFAA AQAAAAAKIAAAAABAAQQAAAAAKIAAAAAAAAUQAAAAAKAAAgAAAAAUQAAAAACAAggAAAAAUAAB AAAAAAogAAAAAEABBAAAAAAogAAAAAAABRAAAAAAoAACAAAAABRAAAAAAIACCAAAAABQAAEA AAAACiAAAAAAQAEEAAAAACiAAAAAAAAFEAAAAACgAAIAAAAAFEAAAAAAgAIIAAAAAFAAAQAA AAAKIAAAAABAAQQAAAAAKIAAAAAAAAUQAAAAAKAAAgAAAAAUQAAAAACAAggAAAAAUAABAAAA AAogAAAAAEABBAAAAAAogAAAAAAABRAAAAAAoAACAAAAABRAAAAAAIACCAAAAABQAAEAAAAA CiAAAAAAQAEEAAAAACiAAAAAAAAFEAAAAACgAAIAAAAAFEAAAAAAgAIIAAAAAFAAAQAAAAAK IAAAAABAAQQAAAAAKIAAAAAAAAUQAAAAAKAAAgAAAAAUQAAAAACAAggAAAAAUAABAAAAAAog AAAAAEABBAAAAAAogAAAAAAABRAAAAAAoAACAAAAABRAAAAAAIACCAAAAABQAAEAAAAACiAA AAAAQAEEAAAAACiAAAAAAAAFEAAAAACgAAIAAAAAFEAAAAAAgAIIAAAAAFAAAQAAAAAKIAAA AABAAQQAAAAAKIAAAAAAAAUQAAAAAKAAAgAAAAAUQAAAAACAAggAAAAAUAABAAAAAAogAAAA AEABBAAAAAAogAAAAAAABRAAAAAAoAACAAAAABRAAAAAAIACCAAAAABQAAEAAAAACiAAAAAA QAEEAAAAACiAAAAAAAAFEAAAAACgAAIAAAAAFEAAAAAAgAIIAAAAAFAAAQAAAAAKIAAAAABA AQQAAAAAKIAAAAAAAAXoXusBAAAAYGtOOumkWo9Q9z7/+c8LAAAAAHR9ra2ttR6h7gkAAAAA 1IVKpVLrEeqaawAAAABAAQQAAAAAKIAAAAAAAAUQAAAAAKAAAgAAAAAUQAAAAACAAggAAAAA 1KVDDjkkP/jBD7J69eosW7Ys55xzTue6arWau+66K0899VTuv//+fPGLX8x9992XNWvW5O67 785BBx2UQw45JP/xH/+R1atXZ+XKlfm3f/u39OnTJ3379s3NN9+clStXZtmyZZk0aVLnfkeO HJlly5Zl1apVueqqq2px2Duse60HAAAAgB1x3XXXpX///vnsZz+bj3/847n88svz85//PD/+ 8Y+TJH379s3ll1+eGTNm5B//8R9z/vnn55BDDslFF12UL33pS/nIRz6SD33oQzn11FOz//77 54YbbsiECRPy4Q9/OJ/4xCcyYcKEfOpTn8qsWbNy1113ZcmSJZk1a1buvffe/PCHP8zMmTNz 880356677qrxK7F9BAAAAADq0uDBg/OOd7wjbW1tncv+4i/+ojMA/Pu//3uuuOKKzJgxIzfd dFPmz5+fJLnooovyzne+M1dffXV++9vfZtiwYfnIRz6SJDnwwAPz6U9/Ov/8z/+cm266Kd// /vfzT//0T3nmmWeSrD+zYNCgQXnuuecybdq0/OpXv9rDR73jfAQAAACAurRq1ap8+9vfTqVS SY8ePfLhD384M2fO7Fzf0dHRefu1117b5PEXX3xxTjjhhPzyl7/M1KlTO5d369Yt1Wo1SVKp VJKsf+O/77775rzzzsvtt9+ev/zLv8yll16av/3bv91dh7fLCQAAAADUpe9///s54YQT8slP fjKXX355fvGLX+R973vfdj/+qKOOyjPPPJMVK1Zk9OjRnct//OMf5/Of/3xOPvnkzJw5M7ff fnve9a535YADDsi8efPy4osvZvz48UnWf8ygXggAAAAA1KVp06blzjvvzL/8y7/k+OOPzymn nPKWTsm/4IIL8sEPfjDXXnttXnrppaxYsSJ//ud/nq985StZtGhRrr322owYMSJnnHFGfvOb 3+Tpp59OY2NjjjvuuHzve9/LD3/4w8ydO3c3HuGu5RoAAAAA1KWVK1fmC1/4wmbXbTh1/823 33z/6quv7rz9d3/3d523/+Zv/maz+501a1ZmzZq1Q/PWmjMAAAAAoAACAAAAABRAAAAAAIAC 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 wIAB6d69e37wgx90vnk/4ogjcs899yRJ/vjHP272OTY46qijcscdd6RarWbhwoU58sgjt2/e 7T80AAAA6HrGjBmTZP0b42T91fNnzpyZFStWZN99983o0aOTJPvss08eeeSRfPe7303fvn3z 1a9+dbP72xACthUEBg0alMbGxsybNy/jxo3Lddddl8bGxiTJRz/60Zx++umbPObUU0/NP/zD P6RarWb48OHp379/kmTcuHGZPXt2brrppvTp0ycXXXTRJs/xxuOdPXt2mpub8/73vz+TJk3a rtepUq1Wq0uWPJYkaWtblMmTT9/oVIjp06dv1462ZPr06Vm9evUmy3v16rVT+wUAAKAMJ510 UlpbW9Pa2rpT+zn55JO3+3P/eyMfAQAAAKAIb/xld4kEAAAAACiAAAAAAEARmpubaz1CTQkA AAAAUADfAgAAAEBdaGlpqfUIdU0AAAAAoMurVCq1HqHuCQAAAAB0eaVfwX9XEAAAAACoC62t rbUeoa65CCAAAAAUQAAAAACAAggAAAAAUADXAAAAAKBujRw5Mj179kxDQ0P233//nHTSSRky ZMhWH9PU1JSFCxfmoIMOyiWXXLLJ/b2VAAAAAEBda2pqSpI8/PDD+cY3vrHNANDW1pa5c+fm bW9722bv7618BAAAAIC6197enjVr1qRv375JklGjRm20fsP9pqamvPbaa/nmN7+Zbt26bXJ/ 1apVufTSS3PGGWdk6tSpeeyxx5IkZ511Vm688cacddZZSZIFCxZk4sSJGTduXK699to9eKQ7 zhkAAAAA1LUxY8bktddeywEHHJDzzz9/m9v+8Ic/zNSpUzd7v6mpKSNGjMi0adOydOnSzJkz J5dddlmWL1+egw46KFdddVWSpKWlJd/61rey33775bnnntu9B7iLCAAAAADUtaamplSr1dx5 55255pprcvHFF+/wvh544IHcf//9nfe7deuWJOno6NjoowUjRozIJZdckhNOOCGDBg3a8eH3 IAEAAACAulepVPLxj388c+fO3WTdq6++mo6Oju3aT0dHR2bPnp2ePXtutLyhoSE9evTovD96 9Oj8/ve/T0tLSxYvXpxzzjln5w5gD3ANAAAAAPYKd999d/r165ckOeCAA/LQQw+lWq2mra1t u/cxcODAjbZfuXLlJtusW7cuy5YtS//+/TN27NgsWbJk54ffA5wBAAAAQF0bM2ZMkuSggw7K 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 TkSuQmCC --------------080707090809020501090605 Content-Type: image/png; name="screenshot-3.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="screenshot-3.png" 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 7qNXr17ZvHnzoRw2wBGnV3cPAACAI9vpp5+ebdu25frrr8+GDRvy0ksvZcKECTnttNOSJOef f37++q//Otu3b88ZZ5yRfv367baPU089Na2trZk9e/ahHj7AEUMAAACgy5155pk588wz097e nhtuuCFr165trDv99NNz+umnN16PHTs2SbJgwYLGskmTJh26wQIcoTwCAADAIdPU1JRJkybl vvvuy9KlS7t7OACluAMAAIBD6thjj82MGTO6exgA5bgDAAAAAAoQAAAAAKAAjwAAAHDQtLW1 dfcQANgDAQAAgIOiqampu4cAwF4IAAAAHLCFCxd29xAAeBXmAAAAAIACBAAAAAAoQAAAAACA AgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIE AAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAA AAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAA KEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChA AAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAA AACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAA gAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIAC BAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQA AAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAA AChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAo QAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAA AAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAA AIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACA AgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIE AAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAA AAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAA KEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChA AAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAA AACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAA gAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIAC BAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQA AAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAA AChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAo QAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAA AAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAA AIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACA AgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIE AAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAA AAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAA KEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChA AAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAA AACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAA gAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIAC BAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQA AAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAA AChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAo QAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAA AAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAA AIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACA AgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIE AAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAA AAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAA KEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChA AAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAA AACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAA gAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIAC BAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQA AAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAA AChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAo QAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAA AAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAA AIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACA AgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIE AAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAA AAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAA KEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChA AAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAA AACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAA gAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIAC BAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQA AAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAA AChAAAAAAIACBAAAAAAoQAAAAACAAgQAAAAAKEAAAAAAgAIEAAAAAChAAAAAAIACBAAAAAAo QAAAAACAApqStL9yYXv7bosOyM9+9rPdlh177LEH9RgAAABwJOrsmvrndXZ93dTUtNuyXp29 +T/+4z/2c1gAAADAobJ48eL8yZ/8yT5t22kA2LRp00EdEAAAANC9ys8BsHLlyuzYsaO7h/Ga bdiwIU888US2bdu21+0O1/PbF6NHj05zc/NrXre/mpubG/+0tLQc1H13lc2bN7+m7R977LEu GklNB/vzFGcBADgQrzkATJw4scMFUEtLS5qbmzNx4sSDPrhD4dOf/nTWrl3brWNoaWnJc889 95rec+2112bs2LF59tln97rd6+H89tfnP//5xgX3T3/6093Wf/WrX93je/e2bk92RYPRo0fv cZslS5ZkyZIlmTt37mve/6G2Y8eO/O3f/m3j9b6c3+WXX34ohpYkGTVq1H4FlfHjx3fhqF6b VxvLwf4858yZc8QGPQAAul6nkwAuWbJkr29qbm7usM0rXx8OJk2alBNPPDHf+MY3MmzYsKxa tSozZ85Mnz598sgjj2Tu3Ll5+OGHM2DAgBx33HH5i7/4iyTJli1b8nd/93f51re+lRNOOCF9 +vTJZz/72STJ5MmTs3LlylxxxRVZunRpnnvuuYwdO7bxTfRNN92U7373u0mST33qUzn33HMz adKkPPzww0mSN73pTbn99ttz3HHHNca5t+M1NzfnggsuyL333puePXtm/Pjx+eAHP/iq53c4 Wb16dZ5//vmsXbs2H//4x3dbv7ffe/vz+/Jg7687fe9738uLL76YD3/4w41lr7dzONj/jQ61 Qz2Wu+++O8cff3x+8zd/85AdEwCA17fly5d3OgdAZ5MAdtkjAFdddVVuv/32rtr9Abv66qtz 1FFHJUk2btyYv/qrv2pcHM+aNStvf/vbM3369Hzyk5/scBt1W1tbHn/88UybNi0jR47MAw88 0Fh31VVXJUluvvnmnH766bn22msbF+TJy9/AXnPNNZk8eXI+//nPZ8OGDbn22muTJJ/73Ocy c+bM9O3bt8M493a8JHn00Udz5ZVX5lOf+lT+8i//Mlu2bHnV8zucPPbYYznttNOyYcOG18U3 n9OnT89ll12Wxx9/vLuH8qruvffeDBo0aJ+339tjE0uX2DSMkwAACQNJREFULs3YsWPzla98 pXG3z667gR566KGMHz8+LS0tueOOO171sZR9cd5556WtrS2jR4/O3Xff3Vg+duzYJC9feI8a NarDe5544olMmzYt5513Xj772c92uDtm151KmzZtyvTp09PS0pInnniisX7hwoUZNWpUWlpa 8vWvf72xfMuWLbn99tszYcKEjB49Ot/+9rczefLkVx1LsufPc8uWLZk/f35aWlrS0tKS2267 rfHndm/nniS/+qu/mmXLlr36BwgAAJ3odBLAg+Hss8/O8ccf33i9efPmnHfeebs9k3zLLbek f//++7XutVzcvNIxxxyTBx54IBdffHEWLFiQnTt3NtadfPLJaWtry49//OO8733vy5QpUxrr /u3f/i1Tp07NoEGDMmjQoMa38UlywgknJHn54vvUU0/tcLx169blS1/6Ur797W83lm3atCnv fOc7kyTveMc7ctJJJ+02zr0dL3n5FuSTTz45v/zLv5xp06blf/7nf9K/f/+9nt/hYt26dXnb 296WJBk6dGgefPDB/Nqv/Vq3jWfIkCEZM2ZM1q5dm1tvvTXXXXddt41lX9x///35gz/4g33e /qtf/eoeA8DMmTNz0UUXpW/fvtm6dWuSl/8MNjc35/HHH89NN92UJFm0aFHmz59/wLfpP/fc cxkyZEg+/OEPZ/z48TnnnHOSJPPnz+/0W/dt27Zl6dKlueyyy3Lcccdl/fr1ue+++/K7v/u7 6dGjR+bOnZvm5uYsWrQon/jEJ3LppZc2zuPpp5/O6tWrs2PHjrz97W/PTTfdlLPPPjtJMnv2 7PTr1y/Tp09Pz549s3r16saPYNnTWF7t85wzZ05OOOGE3HzzzUmSf/mXf8mcOXMa/632dO5J cvzxx+cHP/jBgXy0AAAUtl8BoHfv3nnppZfSq1evvPTSS+ndu/du2wwdOrTD6ze96U256667 9rjP/V23v97whjdk8uTJ+eAHP5hTTjklb3nLWxrrLrzwwpx44om5//7787WvfS333ntvbr31 1vTq1SubNm3qcCvFr//6r++27/79+++2bObMmTn55JNz9913Z8uWLRk9enTa23d7+mI3r3a8 Hj1evolj1za7LvT3dn6Hi29961uZMWNG4/W55557yANAS0tL43n/z33uc0mS4447LmvWrDmk 49gfW7du7fS2n5/38+e3N1dddVXWrFmT73//+3njG9/YYd3w4cNz9NFHJ0k+8pGPZOLEiQfl Of1f/MVfTLJvExn+9Kc/zaxZszJr1qwOy4cOHZq3vvWtjdcjR45s/HrXedx00035yEc+kqlT p2bLli356Ec/2thm+fLlmTNnTuP8TjnllMyePXv/TyrJsmXLMnv27MbxP/rRj+aiiy7qEGv2 dO5veMMbXvPEjgAAsMt+PQIwZMiQfPOb38zWrVvzr//6rxkyZMhu2yxfvjyrVq064AF2ld69 ezduz3/f+97XeO5+69atmTJlSt761rdm3Lhxufzyy/OjH/0oL7zwQpJk2LBhWbBgQf77v/87 Dz/8cK6++urGul0T1a1du3a3ifcefPDBnHTSSfnxj3+cRYsW5cUXX8z69euTvBwMVq1alVWr VuXLX/5yh5m+93S8jRs3Jvm/C4RXvt7T+R0udl287pp0b8mSJRk0aFDWrVt3SMfxox/9KEny 5JNP5gc/+EG2bt2a73//+znllFMO6Tj2x6/8yq80fo/tya7z25s//uM/Tnt7e84666z83u/9 XmMei10WL16czZs3Z/PmzfnHf/zHxrfnXeXoo4/OU089lR07dmTdunV5/PHH069fv1x88cVp a2vLN77xjXz961/PnDlzdnukpjPPPPNMBg4cmG3btmXlypUd1v3Gb/xG/vmf/3mPs+93NpZX 86EPfSh33nln4zP7p3/6p5x22mn7dO4bN27M+9///n3aFgAAXmm/JgFcu3ZtZs6cmZUrV+aU U07JhAkT8o53vKPDNn/2Z3+WQYMGNZ6TPVxs3bo1ra2tefHFF/Pcc89l4MCB+fjHP56zzjor yct/AZ89e3a+853v5JhjjslZZ52VkSNHpkePHvn93//9/PCHP0yS9O3bN7fddlvjAuQ73/lO Zs2alfXr1+e9731vli1bln79+mXu3LlZuXJlvvzlL+eoo47K8OHD88lPfjK9evXa6/GmTp2a +++/P8OGDcu0adNyxRVXdHh9uPvTP/3TLF++PFOnTs0555yTBx54IFOmTEnfvn3T1taWiy++ OD/5yU8a2//CL/xC45vsCy64YI/r9mbs2LEdngvfZcmSJWlvb8/Xvva1tLW15aSTTkpra2un j2y8ntx9993p06dP426cvZ3f3j6zXc/3z5o1Kz169MjEiRMbcam5uTlf+cpX8oUvfCHbt2/P 2WefnY997GON3797M3r06DzzzDNJkoEDB+a2225L8vLcAqtXr86gQYPSs2fP/PCHP8x73/ve xt0gS5YsycKFC/Pss8/mAx/4QM4///wMHDgwTz75ZObPn58VK1akf//++Z3f+Z2ceeaZSZLz zz8/Tz31VJJkwIABmT9/fmMc999/f2bOnJmXXnopkydPTmtrawYNGpRbbrklmzdvTltbW5Yu XZqNGzfmne98Z4YMGZIRI0bkqKOO2uNY9vZ5/u///m/a2toa/5/9rd/6rYwcOTJvfOMbX/Xc V6xYkeeffz7Dhw9/1c8XAIAaXsskgPsVAIDXv02bNmX27Nn5wz/8wy47xutpRv4KZs6cmTFj xuz2GAYAAHW9lgDQ6dd0y5cvP/ijAg65gQMHdtmf5y9+8YtJkhEjRuSP/uiPuuQYdPS2t70t K1as6O5hAABwmOr0DoB9mZzutdg1a/bPO/bYYw/qMQAAAOBI1Nk19c/r7Pq6szsA9msSQAAA AODwIgAAAABAAQIAAAAAFCAAAAAAQAECAAAAABQgAAAAAEABAgAAAAAUIAAAAABAAQIAAAAA FCAAAAAAQAECAAAAABTQlKT9lQvb23dbBAAAABwmmpqadlvmDgAAAAAooNM7AAAAAIAjizsA AAAAoAABAAAAAAoQAAAAAKAAAQAAAAAK+H8W7NQZVBPC8wAAAABJRU5ErkJggg== --------------080707090809020501090605-- From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 22 10:55:03 2015 Received: (at 21415) by debbugs.gnu.org; 22 Oct 2015 14:55:03 +0000 Received: from localhost ([127.0.0.1]:33002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZpHGf-0007LI-Rx for submit@debbugs.gnu.org; Thu, 22 Oct 2015 10:55:02 -0400 Received: from mail-vk0-f53.google.com ([209.85.213.53]:36596) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZpHGd-0007L0-6X for 21415@debbugs.gnu.org; Thu, 22 Oct 2015 10:54:59 -0400 Received: by vkex70 with SMTP id x70so47662768vke.3 for <21415@debbugs.gnu.org>; Thu, 22 Oct 2015 07:54:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=QmNbBZvX1MFcRWE+hJXi+CIryiv46Ahx6Yph6z8kbOE=; b=J3qSJ45soBjtk3tvdnfyZDThAAFrrWpCFnBtBAauG0NlbrK5UrXxlc59wqtProxc8p yEwvhI8rpRtyV7dRQxbIssaZAgAgg7rqVt6AzevegGK22ceTf2Xi3EyUSe+JerHTPl9e Zsa8YQrOwxdudoGdQBQQZ63mnFj/Y/sXx8r09XEHHbGCMD9JGp9UVAvGq+EgTuKz2iNY Pl6IfjGUuR3sB3UgK/vHI7sB/Jqwae3oWXWQzqUWXnueOQOfxpqVBdZ4w4nCS6Dqh6cK ox5NrwwP/apBpexSuZuoPvsTWWYyh02Z+A+OjdZR+6iQSRSeKv3vZmRL1wK4huXYmxaz 7V2A== MIME-Version: 1.0 X-Received: by 10.31.128.141 with SMTP id b135mr5853593vkd.70.1445525698634; Thu, 22 Oct 2015 07:54:58 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Thu, 22 Oct 2015 07:54:58 -0700 (PDT) In-Reply-To: <5627B83F.9060303@gmx.at> References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> Date: Thu, 22 Oct 2015 16:54:58 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a114239e8c7fb0f0522b2addb X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a114239e8c7fb0f0522b2addb Content-Type: text/plain; charset=UTF-8 Hi, I have never used GNUStep, maybe I should try it out so that my patch work there. Are there build instructions for this somewhere? Anyway, I think the problem you are seeing is due to the fact that I have replaced the code in "zoom" with custom code that simply resizes the frame. On OS X there is nothing special happening when maximizing the frame -- the outer frame (one pixel thick) is still there, no buttons should change state etc. One thing we should try is to check is the old zoom system would work better in GNUStep after all (this is the first of the three different zoom version in the code). Also, it would be interesting to see the NSTRACE output of a session where we go "fullwidth" and then "maximized" and compare it with what happens under OS X -- if it still is a problem after changing the zoom method. When it comes to the double tool bar, I have unfortunately no idea what the problem is. -- Anders Lindgren On Wed, Oct 21, 2015 at 6:07 PM, martin rudalics wrote: > Hi Anders > > Four problems encountered when running your patch with GNUStep Emacs > under xfwm4: > > > (1) With emacs -Q doing > > (set-frame-parameter (selected-frame) 'fullscreen 'maximized) > > maximizes the frame but (a) the "restore size button" of the window > manager decoration is not enabled, (b) leaves the external borders > visible on screen and (c) has the task bar hide the echo area of the > Emacs frame, see screenshot-1.png. > > (a) is probably due to a failed interaction with the window manager. > (b) is not critical because even with GTK, for example, I can still see > the top border on a maximized frame. (c) is not really acceptable. > > > (2) With > > emacs -Q --eval "(setq default-frame-alist '((fullscreen . maximized)))" > > I see the same symptoms as with (1) however the initial frame also > contains two tool bar lines, see screenshot-2.png. This is the same > problem I had earlier with emacs -Q and which now disappeared. > > > (3) With emacs -Q hitting the window manager key for maximizing the > window that has focus, the Emacs frame loses its external borders but > does not extend to the edges of the screen, see screenshot-3.png. Not > grave but slightly annoying. Note that here the "restore size button" > is enabled correctly. > > > (4) After doing > > (set-frame-parameter (selected-frame) 'fullscreen 'fullwidth) > > doing > > (set-frame-parameter (selected-frame) 'fullscreen 'maximized) > > does not change the frame size at all. Same after making a fullheight > frame. I suppose this also makes your ert test fail here. > > > martin > > --001a114239e8c7fb0f0522b2addb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

I have never used GNUStep, maybe I = should try it out so that my patch work there. Are there build instructions= for this somewhere?

Anyway, I think the problem y= ou are seeing is due to the fact that I have replaced the code in "zoo= m" with custom code that simply resizes the frame. On OS X there is no= thing special happening when maximizing the frame -- the outer frame (one p= ixel thick) is still there, no buttons should change state etc.
<= br>
One thing we should try is to check is the old zoom system wo= uld work better in GNUStep after all (this is the first of the three differ= ent zoom version in the code).

Also, it would be i= nteresting to see the NSTRACE output of a session where we go "fullwid= th" and then "maximized" and compare it with what happens un= der OS X -- if it still is a problem after changing the zoom method.
<= div>
When it comes to the double tool bar, I have unfortunate= ly no idea what the problem is.

=C2=A0 =C2=A0 -- A= nders Lindgren

On Wed, Oct 21, 2015 at 6:07 PM, martin rudalics <rudalics@gmx.at> wrote:
Hi Anders

Four problems encountered when running your patch with GNUStep Emacs
under xfwm4:


(1) With emacs -Q doing

(set-frame-parameter (selected-frame) 'fullscreen 'maximized)

maximizes the frame but (a) the "restore size button" of the wind= ow
manager decoration is not enabled, (b) leaves the external borders
visible on screen and (c) has the task bar hide the echo area of the
Emacs frame, see screenshot-1.png.

(a) is probably due to a failed interaction with the window manager.
(b) is not critical because even with GTK, for example, I can still see
the top border on a maximized frame.=C2=A0 (c) is not really acceptable.

(2) With

emacs -Q --eval "(setq default-frame-alist '((fullscreen . maximiz= ed)))"

I see the same symptoms as with (1) however the initial frame also
contains two tool bar lines, see screenshot-2.png.=C2=A0 This is the same problem I had earlier with emacs -Q and which now disappeared.


(3) With emacs -Q hitting the window manager key for maximizing the
window that has focus, the Emacs frame loses its external borders but
does not extend to the edges of the screen, see screenshot-3.png.=C2=A0 Not=
grave but slightly annoying.=C2=A0 Note that here the "restore size bu= tton"
is enabled correctly.


(4) After doing

(set-frame-parameter (selected-frame) 'fullscreen 'fullwidth)

doing

(set-frame-parameter (selected-frame) 'fullscreen 'maximized)

does not change the frame size at all.=C2=A0 Same after making a fullheight=
frame.=C2=A0 I suppose this also makes your ert test fail here.


martin


--001a114239e8c7fb0f0522b2addb-- From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 22 11:35:23 2015 Received: (at 21415) by debbugs.gnu.org; 22 Oct 2015 15:35:23 +0000 Received: from localhost ([127.0.0.1]:33042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZpHti-0008LX-Nn for submit@debbugs.gnu.org; Thu, 22 Oct 2015 11:35:23 -0400 Received: from mout.gmx.net ([212.227.15.15]:57112) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZpHtf-0008LL-Qb for 21415@debbugs.gnu.org; Thu, 22 Oct 2015 11:35:20 -0400 Received: from [178.190.163.130] ([178.190.163.130]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0LdpcB-1aG8Fm47RT-00iyHY; Thu, 22 Oct 2015 17:35:14 +0200 Message-ID: <5629022A.9060408@gmx.at> Date: Thu, 22 Oct 2015 17:35:06 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:TCBGYaoqOWJJnnKpenXdQPRWqyiHVYZn+sLEk4UGau7wgbo9llz LMG3lnDZFyAxqMQd+2e3SxSxRoO3xWPCKszACbyY5l7ieEeWSbjsk54cFsYPkm9ZjKQxLLM QAxO3yFNgv1wswhXx3xm0YNLRv5WqKSWkKM26ciU2F3GAGJBgwv6gFgF7+ScuLvOBTgpgnw tC+yAuRi/Lmud8rATh0/A== X-UI-Out-Filterresults: notjunk:1;V01:K0:tzyQfvkXL8I=:tsdkCDdL8AVqpcHitHeYgO s6GDvCr2jeM7WdJL2Oh9KB8VAl58iqN1DCiHb7drxXMZevVQlpz4h3UqG6DW/urKlUbkvzJQn 29HFcllhhAxm3nqIuXEeAbA89EhaAOLMbRxFEqPJOVmPnPc3m72wxXUL34Bgl4Jr+NwmFEId1 nM6e6qGe1MyWEkisvBaIlx7CysUBEwCy3yjsXkFHHO9JXO/c8UorQhd4BOUIqxiaruQ4LDsxQ TowvG1Lae9UXJeP+M43PhW8qc3ApJdg4xMoy8XaYNJtCRe2MHvU9nvePiApZfFzsC1fB2R9FQ fQ4My0uLjhtKUfRupULpMsZtrZwEa3Ukrv/ZsCwPYCS2Ejr8Jw3SqhRiN1PJtUeTU8qAS60YJ ziMPggTUCplapUf9TZA5t+JeTkiN4L3iSgA9i5UDr1VXwffmBQU6PoKqTvbUrrrYXeBJmXPCl ECL6Yd8X2P/93uwUaJlTtueMe/AEzK6/SrF7sqDZaFgJDkAFiIRlMzCtwntLaZ4cMJsB5y3MY BJLCDWpjbrgv4ONHABoowkJq9OnZl+tztF75YNjvdvC6Gzmdpoi1+nt2JBbUKmV9mVXfnu+Gi J2wH1H+p0YHNuuf+Ma80G5fYQd+k7adix1gi41NF1zQTkj8mt+m88uA4WJBwY0gKP3eFOgvWX d4UGKw03Fgfcc9KErZHmAT8WQhWu54IMe6xdBC1DUGCpXoi1FMYNBE3bvhprMFzxk734Z8qm1 cWjWjWN9Pht9kqmmjA65M216x6XzBr77phqmlfWZbPg7BkDPz8qatAc6Kfn5y0+AuJVzfpOGj aRNxNXI X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I have never used GNUStep, maybe I should try it out so that my patch work > there. Are there build instructions for this somewhere? Don't bother. Hardly anyone but me regularly builds on GNUStep. And I can't use it anyway - too many other problems. > Anyway, I think the problem you are seeing is due to the fact that I have > replaced the code in "zoom" with custom code that simply resizes the frame. > On OS X there is nothing special happening when maximizing the frame -- the > outer frame (one pixel thick) is still there, no buttons should change > state etc. I suppose so. Maybe I find a way to splice in some code tailored for GNUStep. But it will have low priority. > One thing we should try is to check is the old zoom system would work > better in GNUStep after all (this is the first of the three different zoom > version in the code). > > Also, it would be interesting to see the NSTRACE output of a session where > we go "fullwidth" and then "maximized" and compare it with what happens > under OS X -- if it still is a problem after changing the zoom method. I'll give you some feedback when I'm back there. One problem with NSTRACE I have is that it clutters output with ns_update_window_begin and ns_defined_color entries. I now started to comment them out one by one. Maybe you could devise a method to display these optionally only. > When it comes to the double tool bar, I have unfortunately no idea what the > problem is. It's a bad interaction between GNUStep and the window manager. Maybe I can find out more. Meanwhile please install your changes. martin From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 23 05:13:51 2015 Received: (at 21415) by debbugs.gnu.org; 23 Oct 2015 09:13:51 +0000 Received: from localhost ([127.0.0.1]:33793 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZpYQ2-00026v-KS for submit@debbugs.gnu.org; Fri, 23 Oct 2015 05:13:51 -0400 Received: from mail-vk0-f43.google.com ([209.85.213.43]:36233) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZpYQ0-00026n-K2 for 21415@debbugs.gnu.org; Fri, 23 Oct 2015 05:13:49 -0400 Received: by vkex70 with SMTP id x70so60561327vke.3 for <21415@debbugs.gnu.org>; Fri, 23 Oct 2015 02:13:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=qO8p1dGaEg4fXJu3LRQP1v63UdSB+DLu+97tpaqOKC0=; b=mQRMyrP9iCnT5A43zJpsd1cMJTzvNov4pRb+n+h5yriWyx1cyLzzm07huhHNs39dQ0 3IFsu5q2P2SB2So2/0rRWOb3dDnNoWb8+RPDa7oSE/6OF3tON0aNVIPuwZijZwcW87Vj KXFyqdb943fIscxOlwtGLQ+cVh4Glo/Ho58omVNJ5B+KcUvF6kvIfDaM1tWzpPf6sdpX TUt1B7iYtD41pJ5AVHiRk+e6WWGByzNxCVyGfkjT+o6ZGQZBxklYZCx1dgtbteZSZn1X 4sjalQ6Y0tVh5oL37PtthIVj1Ki7Sh8FGMKG/YxLzIJNHbsBWv4j6e+8ZTALmmrLYO9c Ikmw== MIME-Version: 1.0 X-Received: by 10.31.179.194 with SMTP id c185mr5436584vkf.68.1445591628093; Fri, 23 Oct 2015 02:13:48 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Fri, 23 Oct 2015 02:13:47 -0700 (PDT) In-Reply-To: <5629022A.9060408@gmx.at> References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <5629022A.9060408@gmx.at> Date: Fri, 23 Oct 2015 11:13:47 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a1143ac627ba11a0522c20788 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1143ac627ba11a0522c20788 Content-Type: text/plain; charset=UTF-8 Hi, > Meanwhile please install your changes. Done! > Now the only remaining issue we must fix before the release is that of > the non-shrinking echo area when toggling off the tool bar I wasn't aware of this problem. Can you point me to where it's described. > and the fact > that a frame keeps shrinking when turning off/on the tool bar. I'll > look into that but if you have any ideas ... I though this was by design. On NextStep, the toolbar is excluded from `frame-pixel-height', so it makes sense that frame size change when enabled and disabled. Besides, it's height typically isn't a multiple of the text size, so the frame would need to be resized slightly anyway (unless `frame-resize-pixelwise' is set). There are other things that we would need to fix: * Symbols in the fringe are inverted. I saw a patch for this on the emacs-dev mailing list a few weeks ago but I haven't tried it out. * When the cursor is rendered in the fringe, it's only drawn incorrectly. (This problem might be related to the previous.) What is the time frame for the Emacs 25 release? I would be happy to work on this, but with my family situation, work will progress very, very slowly. > I'll give you some feedback when I'm back there. One problem with > NSTRACE I have is that it clutters output with ns_update_window_begin > and ns_defined_color entries. I now started to comment them out one by > one. Maybe you could devise a method to display these optionally only. I have thought about that as well. Currently, the package provides the macros NSTRACE_WHEN and NSTRACE_UNLESS. I don't use then right now, unfortunately they only silence the current function, not functions that may be called by it (which is something that we would want). Hopefully, I will be able to categorize the functions in such a way that the default setting would silence some of the more frequently called functions. / Anders On Thu, Oct 22, 2015 at 5:35 PM, martin rudalics wrote: > > I have never used GNUStep, maybe I should try it out so that my patch > work > > there. Are there build instructions for this somewhere? > > Don't bother. Hardly anyone but me regularly builds on GNUStep. And I > can't use it anyway - too many other problems. > > > Anyway, I think the problem you are seeing is due to the fact that I have > > replaced the code in "zoom" with custom code that simply resizes the > frame. > > On OS X there is nothing special happening when maximizing the frame -- > the > > outer frame (one pixel thick) is still there, no buttons should change > > state etc. > > I suppose so. Maybe I find a way to splice in some code tailored for > GNUStep. But it will have low priority. > > > One thing we should try is to check is the old zoom system would work > > better in GNUStep after all (this is the first of the three different > zoom > > version in the code). > > > > Also, it would be interesting to see the NSTRACE output of a session > where > > we go "fullwidth" and then "maximized" and compare it with what happens > > under OS X -- if it still is a problem after changing the zoom method. > > I'll give you some feedback when I'm back there. One problem with > NSTRACE I have is that it clutters output with ns_update_window_begin > and ns_defined_color entries. I now started to comment them out one by > one. Maybe you could devise a method to display these optionally only. > > > When it comes to the double tool bar, I have unfortunately no idea what > the > > problem is. > > It's a bad interaction between GNUStep and the window manager. Maybe I > can find out more. > > Meanwhile please install your changes. > > martin > --001a1143ac627ba11a0522c20788 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

>=C2=A0Meanwhile please install your changes.

<= div>

> Now the only remaining issue we must= fix before the release is that of
> the non-shrinking echo area when togglin= g off the tool bar

<= /div>
I wasn't aware of this probl= em. Can you point me to where it's described.
=C2=A0

> and the = fact
= > that a frame keeps shrinking when turning off/on the tool bar.=C2=A0 I= 'll
> look into that but if you have any ideas ...

I though this was by design. On NextStep, the toolbar is excluded f= rom `frame-pixel-height', so it makes sense that frame size change when= enabled and disabled. Besides, it's height typically isn't a multi= ple of the text size, so the frame would need to be resized slightly anyway= (unless `frame-resize-pixelwise' is set).

<= div>

There are other things that we would need to fix:

* Symbols in the fringe are inverted. I saw a patch= for this on the emacs-dev mailing list a few weeks ago but I haven't t= ried it out.

* When the cursor is rendered in the = fringe, it's only drawn incorrectly. (This problem might be related to = the previous.)

What is the time frame for the Emac= s 25 release? I would be happy to work on this, but with my family situatio= n, work will progress very, very slowly.


> I'll give you some feedback= when I'm back there.=C2=A0 One problem with
> NSTRACE I have is that it = clutters output with ns_update_window_begin
> and ns_defined_color entries.= =C2=A0 I now started to comment them out one by
> one.=C2=A0 Maybe you could = devise a method to display these optionally only.

=
I have thought about that as well. Currently, the package provid= es the macros NSTRACE_WHEN and NSTRACE_UNLESS. I don't use then right n= ow, unfortunately they only silence the current function, not functions tha= t may be called by it (which is something that we would want). Hopefully, I= will be able to categorize the functions in such a way that the default se= tting would silence some of the more frequently called functions.

/ Anders


O= n Thu, Oct 22, 2015 at 5:35 PM, martin rudalics <rudalics@gmx.at> wrote:
> I have n= ever used GNUStep, maybe I should try it out so that my patch work
> there. Are there build instructions for this somewhere?

Don't bother.=C2=A0 Hardly anyone but me regularly builds on GNUStep.= =C2=A0 And I
can't use it anyway - too many other problems.

> Anyway, I think the problem you are seeing is due to the fact that I h= ave
> replaced the code in "zoom" with custom code that simply res= izes the frame.
> On OS X there is nothing special happening when maximizing the frame -= - the
> outer frame (one pixel thick) is still there, no buttons should change=
> state etc.

I suppose so.=C2=A0 Maybe I find a way to splice in some code tailored for<= br> GNUStep.=C2=A0 But it will have low priority.

> One thing we should try is to check is the old zoom system would work<= br> > better in GNUStep after all (this is the first of the three different = zoom
> version in the code).
>
> Also, it would be interesting to see the NSTRACE output of a session w= here
> we go "fullwidth" and then "maximized" and compare= it with what happens
> under OS X -- if it still is a problem after changing the zoom method.=

I'll give you some feedback when I'm back there.=C2=A0 One problem = with
NSTRACE I have is that it clutters output with ns_update_window_begin
and ns_defined_color entries.=C2=A0 I now started to comment them out one b= y
one.=C2=A0 Maybe you could devise a method to display these optionally only= .

> When it comes to the double tool bar, I have unfortunately no idea wha= t the
> problem is.

It's a bad interaction between GNUStep and the window manager.=C2=A0 Ma= ybe I
can find out more.

Meanwhile please install your changes.

martin

--001a1143ac627ba11a0522c20788-- From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 23 14:01:08 2015 Received: (at 21415) by debbugs.gnu.org; 23 Oct 2015 18:01:08 +0000 Received: from localhost ([127.0.0.1]:35056 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZpgeJ-0001Pf-TV for submit@debbugs.gnu.org; Fri, 23 Oct 2015 14:01:08 -0400 Received: from mout.gmx.net ([212.227.17.22]:50987) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZpgeG-0001PO-Jv for 21415@debbugs.gnu.org; Fri, 23 Oct 2015 14:01:05 -0400 Received: from [188.22.33.208] ([188.22.33.208]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0Lxgnf-1aZdQu1INf-017EYM; Fri, 23 Oct 2015 20:00:52 +0200 Message-ID: <562A75CA.4050402@gmx.at> Date: Fri, 23 Oct 2015 20:00:42 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <5629022A.9060408@gmx.at> In-Reply-To: Content-Type: multipart/mixed; boundary="------------040100070106020207030105" X-Provags-ID: V03:K0:WdGmf3dl5Nn87vSfM+CbFSPxvhcGl06z0OUcNNvAHJb9wdpiP1j vRDL+wig8wGCZbJvBjERVcmtTvvj8yAhK7VdrMWz54P0x36JDlN01sP6ABdkEmZv9S/f8v9 KQ2Bhpb1Yk04VAzE4j0EEEbODFEFa3lbxJCmwL7dHoAV0cGcJ6P05/4108QtFiY2XG26mrT QK5NYtFVzJVp0euSxSE7g== X-UI-Out-Filterresults: notjunk:1;V01:K0:ssg1G1yD7Gg=:DCUuKrsurG7HfFbhhdtVKc 6A2mBeEAJUCkN4/31O++DMpEVK/kKdJLm4sJkrKU09yp45rp0xBEO/K1cy8thPFGIcXrfh5LZ jtYq9NTwqyWWjZOQCtrvzMZDu2EFSsSYqjnrS3rIgan6e/Qnr2tk4p3DQLy0m9MnD0fdsL5Rm IYDqxWM8bGPufP26N6jFxh3W+rNFUYQsJsiTtQoyEibmQY4uLOUmIlWMEEBU/dMa5et9aOA5O 8/ID6+QCv5KIHtfwCsWkpIouX63IZfmXmvBc1LfbUOWzEFRwJtmAQ3NPNg33VKhB2WN0SuJU6 3WXqG4R5dor0TBi9rWfxiqCZ8vIPcf+bf8g9xGy8TR4z3leQuzMO7uHuOr33kjbK+VSUCBr42 PIdTgu8S6N28YCE1Z0o6UWRM87yDeHeZpxGyw+zrXt95Q03LPqduMhYOUwCIGudkVgiOU2QTD Txm2hafbn7oiG07Nr+BJG5BBaRBgyPAUR2bKPufTpIPugINvVenvQQdkA4be82zpFEHTQ8vHY p8GVQmIrFrqJyeoM1xaTwhT62lqDF5WJwdNTc3E73OZ5l2qoImwqiSzlaWJCZ8TF0S11PzJ65 oO1nvoiT5c5Yizf99f+hGEsTmJlGEBowoer9E2Jqb362+SxzGaLRycVxzzAi08OgRuIYHV5pP 9nVlxh1GxbD0A7FU3UsSY2kTjPI5s1Nu9slnhU1QqMyKGjWdGm+sygKjUUodgYWFEwqz4qhZB wzlqP8Ek3CaUyBsD3ebObOla2W7WgtXR2a/YyF/Kk1kKkD+jMWwKwuEbyQY= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) This is a multi-part message in MIME format. --------------040100070106020207030105 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable >> Meanwhile please install your changes. > > Done! Thanks! >> Now the only remaining issue we must fix before the release is that o= f >> the non-shrinking echo area when toggling off the tool bar > > I wasn't aware of this problem. Can you point me to where it's describ= ed. Citing Keith's experiments on OSX: >>> (1) Toggle the tool bar off. Does the overall frame height shrink o= r stay the same? >>> >>> A: Starting from Emacs -Q. Using the mouse to toggle the toolbar of= f, >>> the height of the frame shrinks -- i.e., top and left remain the sam= e, >>> and the bottom shrinks upward about one-half the height of the toolb= ar >>> that disappears. The minibuffer / echo area increases in size to ab= out >>> 3 lines of text, with just one line of text that reads: "menu-bar >>> options showhide showhide-tool-bar". >>> >>> >>> (2) Toggle the tool bar on again. Does the overall frame height inc= rease or stay the same? >>> >>> A: The frame height quickly shrinks and expands, but ultimately rema= ins >>> the same size -- i.e., slightly less than when Emacs -Q first began = its >>> GUI session. I'll attach two screenshots. The problem arose after Jan installed this change: diff --git a/src/ChangeLog b/src/ChangeLog index 69da1c3..861ba91 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2015-01-06 Jan Dj=C3=A4rv + + * nsterm.m (x_set_window_size): Call updateFrameSize to get real + size instead of using widht/height. The frame may be constrained. + 2015-01-05 Paul Eggert * lisp.h (XSYMBOL): Parenthesize id in forward decl. diff --git a/src/nsterm.m b/src/nsterm.m index 2ccb7fe..bf3192b 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -1404,15 +1404,8 @@ x_set_window_size (struct frame *f, [view setBoundsOrigin: origin]; } - change_frame_size (f, width, height, 0, 1, 0, pixelwise); -/* SET_FRAME_GARBAGED (f); // this short-circuits expose call in drawRe= ct */ - - mark_window_cursors_off (XWINDOW (f->root_window)); - cancel_mouse_face (f); - + [view updateFrameSize: NO]; unblock_input (); - - do_pending_window_change (0); } where the crucial aspect is the removal of the change_frame_size call. Note that in updateFrameSize we call change_frame_size only if (oldr !=3D rows || oldc !=3D cols || neww !=3D oldw || newh !=3D o= ldh) which usually won't hold when removing the tool bar. Maybe we should make the change_frame_size call in updateFrameSize unconditional after being called from update_frame_tool_bar. >> and the fact >> that a frame keeps shrinking when turning off/on the tool bar. I'll >> look into that but if you have any ideas ... > > I though this was by design. On NextStep, the toolbar is excluded from= > `frame-pixel-height', so it makes sense that frame size change when en= abled > and disabled. Besides, it's height typically isn't a multiple of the t= ext > size, so the frame would need to be resized slightly anyway (unless > `frame-resize-pixelwise' is set). All true. But the problem is that enabling the tool bar doesn't make the overall frame height as large as it has been before disabling the tool bar. So eventually you might end up with a zero height frame. > There are other things that we would need to fix: > > * Symbols in the fringe are inverted. I saw a patch for this on the > emacs-dev mailing list a few weeks ago but I haven't tried it out. > > * When the cursor is rendered in the fringe, it's only drawn incorrect= ly. > (This problem might be related to the previous.) I've seen these but can't do much about them. It would be great if you looked into these. > What is the time frame for the Emacs 25 release? I would be happy to w= ork > on this, but with my family situation, work will progress very, very s= lowly. Bug fixes are practically always accepted. There's a short period immediately before the release when only regressions wrt the previous release may be fixed. So you won't have to bother about the time frame. > I have thought about that as well. Currently, the package provides the= > macros NSTRACE_WHEN and NSTRACE_UNLESS. I don't use then right now, > unfortunately they only silence the current function, not functions th= at > may be called by it (which is something that we would want). Hopefully= , I > will be able to categorize the functions in such a way that the defaul= t > setting would silence some of the more frequently called functions. That would be fine. Thanks, martin --------------040100070106020207030105 Content-Type: image/png; name="tool-bar-mode-on.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="tool-bar-mode-on.png" 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 +p+Hf6uc7KOxaVwYtm3bpoKCAklSQkKCevfurR9//FFZWVnq16+fMjMz1apVK7Vu3TrGLQ1P bm6+Sp0uXXRhH0374/3KzslTcXFJpec5HA7dNPIy2W02Zefkqa4MYa2r51NUFtUAVtWB4nvM ZvP+X5al0lKnGjZsWOU8YnnQuF1uDRjQV9/v2KiCwkK53ZYcdrscCXYlJibKZrOp19lddTDr sOx2e9B21pUDf8vWHyRJ2UdOXHZs1LSBJKlFy+YxaVMkynfLl+c70cfzh5FNkuWuedssKz6/ 0dtsNmXv+9Afvo59M1WSlLV7h3b8kBXX+6YqTpdL7dq0Vs+ePSpNu+D8AXJ73Dp4MCsGLQvP WWedVemx1q1b+wNXv379TDepRtLTvWNSf37lRUpvEHx8ao8zO/rHgMW78ufTTz9drL/97U9a vvwrSdLQoRfozjsn6ZJhw+L2fIrKohrAPB53peAl3/9916xlaeQN1+viIRepoCBf+/bv14Gs A9q48WsV5B3WS3PeiGYTg3IkOJSUnKTjuflyOp0qKS6Vw2FXQmKCLI8lj8dSly7t1fGOtrp7 4nilpmQoMSlRdptNycnJSkpOlMORoJyco3XmwPcFrwsH965yel0b71V+u9ep8UZlh8qBAweq ddyUlHi/6TvsNrlc8dcD5rvsaB1fWWlaqw5d1KpDF218t0Gdeb9MmTJFn3/+mQYMGKC9+yuO kSrf+7Xlm2/jduzUkiVL5HQ6dfnll2vZsmWqV6+ev8fr6aefrvT8YIP342EdfT1gktSrh3d8 26dLvlLmhm1ak/lNpfdFj7M6yWaz6VCW95fh8dob6zufvvPO2/rLX57QnXeO1Z///DsVFBRq 9eoNmjbtDyouLtKI666Ny/MpKotyAKscvCxZsjyW/7YFlmXJY3mUlJwklytZnTp1UvNmzdSw YYa+/WZ9NJsX0sEDR+SwO5SVdUjJySkqLiyUzWZXQoJDliy5XR4lpyQpJTVZpa58leTlyXL7 1s0jt8eSy+nWsezjMV2P6vD1dp0KfL1gVZ3M4+mD9WSWvF9aiouL1bJly2q//rvvvvPOJ84u QdpsNn32fw9UGb7Ka9ettz57pajOhLDPPvtcgy4YpHZtWuuMLp38j5/Z7Qx5LEv5ecf17fbv Y9jC4IYNG+b/90UXXeT/99NPP62bbrpJ3bp1C2s+R44ciYtB+r4esPJWrdmsu+99RO9ffXXY 89m6dWtcHYO+8+ns2S/o178eo0svvUT16rXQpk0r1LVrR11zzU/1yiuzNHDgQDkSHEpOjq/z KSqLegA7OXj5/m1z27yPWZbcbrfSUlOVmpIil8slt8utZs2aa1dSUjSbF1J+fpGcLo+OHc5R idOpmc//W4cPHYt4fna7t/KTJ44He/ouM4bq6SosKDTRnFoTr99qq2K5LFk2q9KPJKo1D0tx NwrfF4hn/iZZ53dPrPI5GV0uVnqHc9WqSy9J8XlfppNNmTJFX65cqX7n9lPLXXs0bdo0tWrV SjfffLNyc45p05atMQ8lwZQfA+Yb8+Xb5uGGL0lq2rRpVNpXXbt2/ahSl6vCYznH83R1NcKX JHXv3r02m1VjHo9Hlsej5ctX629/m6pWrXpo1aoPVFBQqPz8QrVu3Uaffvp3HT58WE2bNFHj xo3ldrvj5nyKyqIbwNxuf/CS5A9cFcbnWJYsj0eesv9cLpcyMhrI7XbKEwff4C1LKigq0RfL MrXmqy9Vr0GC3B5X6Bf6X2/J5XLJ6XTJ5XRJSlSvs7tr86at0Wt0GI5lZ9dKyMrNzY3rMOY7 1sr/He/cthPtrO4lSFe5E0+yPf6Cvm9//G28pWF9Kp8Qju/4TAU/blCr88frvb8P0fB7Po9B K6tv0Sef6Nz+56pnr17auXuv2rVtp0MHD8jjKtaGjZs1/BcjYt3EgE4eA+Yb8/XZZ59JkjZv 3qz8fO9nRWJiovr166d9+/Zp3759GjhwoFatWqW2bduqbdu2RtsdSMeOlX8s8MPO/ZKkN998 0397ltTUVE2YMEGS9OWXX2r16tWaNGmSnnnmGQ0YMEDnn3++uUaHweN2y+1xS7KpoKBQe/Z8 o/z8QhUUeP9r0qSl7Ha7jhw+onppaUpMTJTb7Y6r8ykqMnMJUpb/33Zf8Cp33xJf8HK7Xf6/ M9LTlZaWFs3mhcmtwsIibVj3rZo2baLvdi0P+YryJ0yXy+39z+lSSWmpcnLyVFwS+8Cyc3eW PvrvFzWeT5uW3p+mn9u3V43nFQ0nj/uqCz0qNrtkl6T8/IguQW7bts37S8o4/cA9EcKkYX2S 1PvuE18EvL1jOTq++yu1OeMnkupGAJsyZYqmTZumhx64X0OHXKRVX61VV1exXntjQVz3fkkn xoBJ8o8DK//Z26tX5fd2+cA1cOBAMw0N0559Byv96tE37uvGG2+s8jXnn3++P3BNmjQpug2M kMfjkdvl1kUXDdCqVet01lm5KiwsUkFBoRo1aq5Onc7SsGEXqri4WCUlJSotLZHdbo+z8ynK i+ti3A3q14t1EyRJ27ft1Pr1X6qw+Lg8Ho//pB7ol3a+ad5g6ZHL6VJxSYmcpS59s+k77dsb +xtkdurQSnfddUPEr/fdnPVIdn7c9oAFGnQf7yHMbVlyuz1ytOqgJUuWyO2uHKRcHkt2Wf7L 2j5Op1OO5DTZbVK+Mz4DmFT+cmTF99Kvny/RwkcdSmmyT517nxfjVlaPL4Tdc/dd6n7WmXrt jQWxblJYyo8Bk7zjwCzL8veALVy4UE6nU9dcc40+/fRT1a9f3x/AyveExYv2bVtUeqxvH28v 38SJE1VYWKiXX35Zv/3tb9WqVStJ8vd4le8Ji1fXXDNCr7zyskaMuFKtWrVQRkZTNWvWVn37 et8vt4+/q8rPt3g5n+KEqAYwV1mPliT/WDBXFYOhXS6nP7BYHo/KRoyVdbfGlsfjUeaab9W8 eXNt2/G5yu6IKcmSrwKMZalCMPN4LP+3FafTpVKnU6UlpTp69Li+3vitEhMcsVwlv1B3uA/G d/nyi6Wr1fe8ylUCYq2qy47lH4vnEGa5JZfbo6SUdNlSM5Rk8x5TluW9jG+32eRwe5SU6PAP 87LZbPJ4PKqf4JDT7ZHdZpPHFX+XIMur6vKwzWbTFX8s1Mbnfohhy2pmztxX1atnD7Vr21Z7 9+2LdXNCCjYGTJKuuOIK/79/+tOfVnhtPF169Nn0zW45XU65Sk/0gvl+CPXss8/6H3vyyScr vbZ8T1i8cbldcnvc+tnPrlBBQYGWLftES5d6f9AyYMBA3X/fJE3/2zP6xbXX6bV5r2jQoAu8 5904Op+ioqgGMLfbfeK2E2W8Qcstu93hvybtdrtV9j1Ybo+73C8no9m68OzetVdjxoxWaWmx SkpKywVKyWN5ZLfZ5fa45fFYcjjscru9PV6y2VRaUiq3x6OS4lKVljq1d88B/d87n8rtju8T Yyjlx47tP3BUfWPYlqoEGvN18gk/XkOYzeMNWsUlTtlsNh34foMku1JSU5WSVs87ZtLylP2o xSPJktvlVoHLI6uoUB169FOjRvW9SS7OBQphSY076tvv4//mxlXdkqGgoECrv1oT8DnxdEnS 4/FUawyYb8yXdCJ8ZWZmyul0xk0v2Nk9OlR6rHGjDEkVx4D5xnv5+HrBXnzxRRUVFcVdL5jb 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 AAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMCxmtSCp9wgAAE5X9IABAAAYRgADAAAwjAAG AABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgB DAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAw AhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACA YQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAA AMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAA AACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHA AAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwj gAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAY RgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAA MIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYA AGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEM AADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDAC GAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBh BDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAA wwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAA AIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAA AAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOA AQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhG AAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAw jAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAA YBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwA AMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIY AACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEE MAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADD CGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAA hhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAA AAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4AB AAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYA AwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCM AAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABg GAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAA wDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgA AIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQw AAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMI YAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACG EcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAA DCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEA ABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDEkI9YerUqQaaAQAAcPqoMoCtXbvW dDsAAADqtEWLFul3v/tdWM+tMoDl5+fXaoMAAABwwmk/Bmzjxo1yu92xbka15eTkaO/evSot LQ36vLq6fuEYPXq0hg4dWu1pkRo6dKj/v3HjxtXqvKOloKCgWs//4YcfotSS01Ntb0++HAOn jmoHsAkTJlQ4AY0bN05Dhw7VhAkTar1xJjz88MM6cOBATNswbtw4HTp0qFqvefTRRzVmzBgd PHgw6PPiYf0i9fTTT/sDz+HDhytNf+ONNwK+Nti0QHyhbfTo0QGfs3TpUi1dulRz586t9vxN c7vdeu211/x/h7N+999/v4mmSZJuvPHGiALt+PHjo9iq6gnVltrennPmzDllv1ABp5uQg/BP 9uKLL2ro0KH+E9DcuXM1dOhQvfjii7XeuGi6++671apVKxUXF+ull17Stm3bNGvWLKWnp+v7 77/X3LlztWXLFrVr104NGzbU//7v/0qSioqK9Prrr2vJkiVq0qSJ0tPT9fjjj0uSJk2apI0b N+rBBx/UsmXLdOjQIY0ZM8bfEzNjxgytXr1akvTLX/5SV111le6++27t2rVLo0aNUr169fTP f/5TDRs29Lcz0PKmT5+uoUOHavHixVq+fLkcDofGjx+v8847L+T61RUPPvigfv7zn+vIkSNa vny5rrvuuqgu74033tDQoUMjCm/xKDMzUz169PD/Hc76vfvuuyaaJkl68803NXToUC1durRa r9uxY0eUWlR9odpS29uza9euWrt2rQYMGFCr8wVgXtQuQf7hD3/QP//5z2jNvsamTJmi5ORk SVJubq6efPJJfzh5+eWX1aJFC02fPl3XX399hcs48+fP186dOzV16lSNHDlS69at80/7wx/+ IEl67rnnNHjwYD366KP+QCR5eyCmTZumSZMm6emnn1ZOTo4effRRSdJTTz2lWbNmKSMjo0I7 gy1P8p4AHnroIf3yl7/UY489pqKiopDrV5f88MMPuuCCC5STkxMX3/ynT5+ue+65Rzt37ox1 U0Javny5unXrFvbzg122XbZsmcaMGaOZM2f6e7t9veGbN2/W+PHjNW7cOP3rX/8KeVk8HKNG jdL8+fM1evRoffTRR/7Hx4wZI8l7OfjGG2+s8Jq9e/dq6tSpGjVqlB5//PEKvcO+nvr8/HxN nz5d48aN0969e/3TFyxYoBtvvFHjxo3TwoUL/Y8XFRXpn//8p+644w6NHj1an3/+uSZNmhSy LVLg7VlUVKR58+Zp3LhxGjdunF599VX/+zbYuktSr169tGLFitAbEEDcq3YPWLiuuOIKNW7c 2P93QUGBRo0aVWlMyosvvqg2bdpENK06J5eTpaWlad26dbr99tv15ptvyuPx+Kd16NBB8+fP 1+7du9WzZ0898MAD/mmfffaZJk+erG7duqlbt27+3i9JatKkiSRv+Bk4cGCF5R09elTPP/+8 Pv/8c/9j+fn5atu2rSSpZcuWat26daV2Blue5L0E0qFDB5155pmaOnWqjh07pjZt2gRdv7ri 6NGjat68uSRp0KBB2rRpk/r06ROz9vTv31+33HKLDhw4oJdeeklPPPFEzNoSjszMTP3mN78J +/m+HrKqzJo1S7fddpsyMjJUUlIi6URv+M6dOzVjxgxJ0ocffqh58+bV+DLhoUOH1L9/f110 0UUaP368fvazn0mS5s2bV2WvWWlpqZYtW6Z77rlHDRs2VHZ2tr744gv9/Oc/l91u9/fUf/jh hxoxYoTuvPNO/3r8+OOP2r59u9xut1q0aKEZM2boiiuukCTNnj1bTZs21fTp0+VwOLR9+3bl 5eUFbUuo7Tlnzhw1adJEzz33nCTp/fff15w5c/z7KtC6S1Ljxo21YcOGmmxaAHEiogCWmJgo l8ulhIQEuVwuJSYmVnrOoEGDKvxdr149ffDBBwHnGem0SCUlJWnSpEk677zz1Lt3bzVq1Mg/ 7dZbb1WrVq2UmZmp//73v1q+fLleeuklJSQkKD8/Xzabzf/cvn37Vpp3mzZtKj02a9YsdejQ QR999JGKioo0evRoWZYVsp2hlme3ezsxfc/xBa1g61dXLFmyRP/4xz/8f1911VXGA9i4ceP8 l9ufeuopSVLDhg313XffGW1HJEpKSiocO1Upv37B/OEPf9B3332nNWvWKDU1tcK0Sy+9VCkp KZKkq6++WhMmTKiVcVqdOnWSFN4PCQ4fPqyXX35ZL7/8coXHBw0apGbNmvn/HjlypP/fvvWY MWOGrr76ak2ePFlFRUUaPny4/zkrV67UnDlz/OvXu3dvzZ49O/KVkrRixQrNnj3bv/zhw4fr tttuqxCWA617UlJStX9YASA+RXQJsn///lq8eLFKSkr08ccfq3///pWes3LlSm3btq3GDYyW xMRE/+XBnj17+sddlZSU6IEHHlCzZs30q1/9Svfff7927dql48ePS5KGDBmiN998U99++622 bNmiKVOm+Kf5BoofOHCg0sD3TZs2qXXr1tq9e7c+/PBDFRcXKzs7W5I3sG3btk3btm3TCy+8 UOGXToGWl5ubK+nEB/TJfwdav7rCFx58g96XLl2qbt266ejRo0bbsWvXLknSvn37tGHDBpWU lGjNmjXq3bu30XZEokePHv5jLBDf+gXz29/+VpZl6fLLL9dNN93kH8fos2jRIhUUFKigoEBv v/22v/coWlJSUrR//3653W4dPXpUO3fuVNOmTXX77bdr/vz5+vTTT7Vw4ULNmTOn0iX9qmRl Zal9+/YqLS3Vxo0bK0w799xz9Z///Cfgrw+rakso559/vt577z3/Nnv33Xd1wQUXhLXuubm5 Ovvss8N6LoD4ZrMsy9q82ftT6U8++UL33z825KDYAwcOaNasWdq4caN69+6tO+64Qy1btqzw nN///vfq1q2bf5xEXVFSUqKJEyequLhYhw4dUvv27XXdddfp8ssvl+T9AJw9e7ZWrVqltLQ0 XX755Ro5cqTsdrvuuusubd26VZKUkZGhV1991X8CWLVqlV5++WVlZ2ere/fuWrFihZo2baq5 c+dq48aNeuGFF5ScnKxLL71U119/vRISEoIub/LkycrMzNSQIUM0depUPfjggxX+ruseeeQR rVy5UpMnT9bPfvYzrVu3Tg888IAyMjI0f/583X777dqzZ4//+R07dvT35IwdOzbgtGDGjBlT YVyQz9KlS2VZlv773/9q/vz5at26tSZOnFjlJeN48tFHHyk9PZ49fzYAAAt2SURBVN3fGx1s /YJtM9/4rpdffll2u10TJkzwh/uhQ4dq5syZeuaZZ+R0OnXFFVfoF7/4hf/4DWb06NHKysqS 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 hmEYhmFWif8AQuLqG3R6Yb0AAAAASUVORK5CYII= --------------040100070106020207030105 Content-Type: image/png; name="tool-bar-mode-off.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="tool-bar-mode-off.png" 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 bp/jj+OgSe0/+8znbdq9H4r7nPlTiQtgtfr3V8cNGyRJHTdsUMcNG1Srf3+PX9/hq6/81bV8 u/rzz6rSpk2eX4e1WuYP/pgX02PwxtXTpwu7C8XO1QsXFFi2rKp26JB7WRGaT2/7UpTGUBqY Ok44w4lVSClKvx+KCrv3A3PmXqEHsD2jR+vQ3Ln5XuZOkzzSdvbHzm/apC09eih+0CCdWb06 x/OsTs+e/ve/tfXRR3XwL39R/MCBHvcncf9+xQ8Zom19+ujQm28q40pWIeLsp+C39emTa71b evSQpDz/InO3LOnwYe0dN05bunXTvkmTlHLyZK51pCcm6vtXXtG2Pn2UdPiwR2Pwx7y4G0NG crIOzZmjbX365JqzAo2he3cdXbRIW3r00Inlyz1a39ZevX7t4/X+OlnNtTfzcik+XnFduujo 4sVZP+/cqbguXXR86VLbftrtS+44MjJ07B//0La+fbVj6FAlHjzo0bxI7udTytrnG44ZozI3 XIhqNZ/uHF28WHFduujgzJlZ/UpK0rf33qu4e+5R6pkzruds6dFD2/r00cl//SvH693105u+ 2L3Obs6sWO0veY3POS/Oj+SOLlmiuC5dtG/SJEn2+6e3vJlrq/3MjunjhGVf8nkcjH/sMcV1 6ZL1EWr//trWp4+OvPOOMtPSbNflbvvZbXfnc9xtI3fsjiHu2rR7H7mbs4IcX0qSQg9gtXr1 yvMvZbtl3nJkZurO5ct184sv6shf/pJjmdVfPj/NmaMGI0aoaufOCmvWzOP1/bJnj26bM0et Fy+WgoJ06I03JOU8Bd82jx2s/eefS8o6i3djv/JalpmWprOrV+vmyZPVbsUKNZ0wQee+/lqO a9dyrOPk8uVqMHiwbl+yRGUqVfJoDP6YF3fjOzR7tgJDQtT63XfV+t13FViunA69/nqBx5CZ mKiqnTvr1rlzdXzOHI/W1+7TT3/t4/X+SvZz7c28VGnTRg3HjVP966fzq9x+uyLGjFH9AQNs +2m3L7lz9N13lZmcrNaLFunW//s//bJ7t0fzYjWfklS9UyfVvOeeXOtzN59WIgYPVlizZoqc NElJR44ouEIF3fTCC4oYPVrlatXSlePHlfT991JmpsrUqKFj199fdv30pi92r7ObMyvu9hd3 42sUE6MGo0YpcvJkSVLDIUNU94kn1HLmTI/2T294O9dW+5kd08cJy77k8zjY5vofT0k//KDW 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 MoD5ozacaaZrF5qeM3+MryBtelvX0J3SXp9w17BhOr9xo9evL0wF3eet5po6gwCcCv1GrP5Q 1Or+ecP0GErC+grSpq9r9BW18ZmsT3j1wgUFli2rqh06+LTd4sJqrqkzCMCp0M+A+boWpLe1 zOxqrrmrsWjF2za9rV1oVUfRir/mzJv1uWvTrjZcger3WXzU5s12L+31CRP371fDMWNUJo+v YlvViXTHXc1Rj2oeerH9nGOIHzIk3/VdLefazTJ/vKcBFH2FfgbM17Ugvall5knNNXc1Ft0p SJve1i50V0exsOYsv+uzajMoNNSyNlyB6vdZ1OjL73b3pC8lvT5h9U6d3L7eqk6kO+5qjt48 caJtzUNvtp8k/bJnj267XsD5pw8+0KE33tAtkyfb1ne1nOs8lvnrPQ2g6Cv8AGa4FmRetcw8 rbmWnxqLhdnmjXUUC6ogc5Yfdm16WxuuoHxdW7M01id08qZOpLuao57WPPRm+9Xp2dNVq7Th 0KEFqu9qpbDe0wAKX6EGMEdmpva/+qqqR0W5fil5sszW9VpmYfXqKe3iRaUnJLjOlOTFWXOt zm9/q3LVqyvz6lVdOX4832fffNpmHmMIi4jweT+t1ufXOfNifJd27lR6YqJavPaaEnbu1Jk1 a1Tz3ntdhdHzOwa/8qIvntYnLMzxFWS77xo5Uo1GjVK9Rx/VlXbt9F8PylZJv9YcrX89BJ1Y utRVc7RANQ8tnFm1SrWuf9x44uOPVen69WzO+q4h1asrYceOAq/HF8eeM2vWKKR6dY/rdQIo GkpkLcj81jKzq7lmV2MxLwVt05vahe7qKBbGnHmzPqs2PakN5039Pqu6eN5sd6u+lPb6hFZ1 Iq1Y1Ry1qnno7fYLqlhRYY0ba/eTT2pndLQyEhPVdOxYSfb1Xa1qCea1zBfv6TOffKILmzbZ jgtA0UItSAAAAA9RCxIAAKCYohYkAACAYYV+HzAAAIDShgAGAABgGAEMAADAMAIYAACAYQQw AAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwLBCqwUZEBDgdpnD4TDY EwAAALM4AwYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAw jAAGAABgGAEMAADAMAIYAACAYYVWC5J6jwAAoLTiDBgAAIBhBDAAAADDCGAAAACGEcAAAAAM I4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAA GEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMA ADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAG AABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgB DAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAw AhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACA YQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAA AMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAA AACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHA AAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwj gAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAY RgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAA MIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYA AGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEM AADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDAC GAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBh BDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAA wwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAA AIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAA AAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOA AQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhG AAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAw jAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAA YBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwA AMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIY AACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEE MAAAAMMIYAAAAIYRwAAAAAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADD CGAAAACGEcAAAAAMI4ABAAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAA hhHAAAAADCOAAQAAGEYAAwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMMIYAAAAIYRwAAA AAwjgAEAABhGAAMAADCMAAYAAGAYAQwAAMAwAhgAAIBhBDAAAADDCGAAAACGEcAAAAAMI4AB AAAYRgADAAAwjAAGAABgGAEMAADAMAIYAACAYQQwAAAAwwhgAAAAhhHAAAAADCOAAQAAGEYA AwAAMIwABgAAYBgBDAAAwDACGAAAgGEEMAAAAMOC/dXwhAkT/NU0AABAsZZnANu+fbvr/3v0 6OFVwwcOHPCuRwAAAMXQ6tWr9fzzz3v03DwDWFJSkk87BAAAgF+V+mvAdu/erczMzMLuRr4l JCTo+PHjunr1quXziuv4PDFw4EBFRUXle5m3oqKiXP9iYmJ82ra/JCdcKc3NAAARYElEQVQn 5+v5hw8f9lNPSidfzyd/HAMlR74D2MiRI3P8AoqJiVFUVJRGjhzp886ZMHnyZJ0+fbpQ+xAT E6OzZ8/m6zXTpk1TdHS0zpw5Y/m8ojA+b/31r391BZ5z587lWv7Pf/7T7WutlrnjDG0DBw50 +5x169Zp3bp1Wrx4cb7bNy0zM1P/+Mc/XD97Mr7x48eb6Jok6bHHHvMq0A4fPtyPvcofu774 ej4XLVpUYv+gAkqbfF+EP2/ePEVFRbl+AS1evFhRUVGaN2+ezzvnT6NGjVKdOnWUmpqqd955 R/v379f8+fMVHh6uH3/8UYsXL9Z3332nBg0aqHLlyvrjH/8oSUpJSdEHH3ygtWvXqlq1agoP D9f06dMlSWPHjtXu3bv17LPPav369Tp79qyio6NdZ2Jmz56tLVu2SJIGDRqk7t27a9SoUTp6 9KgGDBig8uXL6/3331flypVd/XS3vlmzZikqKkpr1qzRhg0bFBQUpOHDh6tdu3a24ysunn32 WT3yyCM6f/68NmzYoN69e/t1ff/85z8VFRXlVXgriuLj49W8eXPXz56M75NPPjHRNUnS0qVL FRUVpXXr1uXrdYcOHfJTj/LPri++ns+bb75Z27dvV/v27X3aLgDz/PYR5EsvvaT333/fX80X 2JQpUxQSEiJJSkxM1GuvveYKJwsWLFCtWrU0a9Ys9e3bN8fHOLGxsTpy5IimTp2q/v37a8eO Ha5lL730kiTpzTffVJcuXTRt2jRXIJKyzkC88sorGjt2rP76178qISFB06ZNkyTNnDlT8+fP V6VKlXL002p9UtYvgIkTJ2rQoEF69dVXlZKSYju+4uTw4cPq2LGjEhISisRf/rNmzdIzzzyj I0eOFHZXbG3YsEGRkZEeP9/qY9v169crOjpac+fOdZ3tdp4N37dvn4YPH66YmBh9+OGHth+L e2LAgAGKjY3VwIEDtXLlStfj0dHRkrI+Dn7sscdyvOb48eOaOnWqBgwYoOnTp+c4O+w8U5+U lKRZs2YpJiZGx48fdy1ftmyZHnvsMcXExGjVqlWux1NSUvT+++/rySef1MCBA/XNN99o7Nix tn2R3M9nSkqKlixZopiYGMXExOi9995zvW+txi5JLVu21KZNm+wnEECR57fbUHTt2lVVq1Z1 /ZycnKwBAwbkuiZl3rx5qlevnlfL8vPL5UZhYWHasWOHRowYoaVLl+ratWuuZQ0bNlRsbKyO HTumFi1a5Lilxtdff61JkyYpMjJSkZGRrrNfklStWjVJWeGnQ4cOOdZ34cIFzZkzR998843r saSkJNWvX1+SVLt2bdWtWzdXP63WJ2V9BNKwYUPdcsstmjp1qi5evKh69epZjq+4uHDhgmrW rClJ6tSpk/bu3avWrVsXWn/atm2rIUOG6PTp03rnnXc0Y8aMQuuLJ+Lj4/WHP/zB4+c7z5Dl Zf78+XriiSdUqVIlpaWlSfr1bPiRI0c0e/ZsSdKXX36pJUuWFPhjwrNnz6pt27a6++67NXz4 cD388MOSpCVLluR51uzq1atav369nnnmGVWuXFmXLl3Sxo0b9cgjjygwMNB1pv7LL79Unz59 9NRTT7nG8fPPP+vgwYPKzMxUrVq1NHv2bHXt2lWStHDhQlWvXl2zZs1SUFCQDh48qMuXL1v2 xW4+Fy1apGrVqunNN9+UJH322WdatGiRa1u5G7skVa1aVbt27SrI1AIoIrwKYGXKlFFGRoaC g4OVkZGhMmXK5HpOp06dcvxcvnx5ff75527b9HaZt8qWLauxY8eqXbt2atWqlapUqeJaNmzY MNWpU0fx8fH64osvtGHDBr3zzjsKDg5WUlKSAgICXM+94447crVdr169XI/Nnz9fDRs21MqV K5WSkqKBAwfK4XDY9tNufYGBWScxnc9xBi2r8RUXa9eu1VtvveX6uXv37sYDWExMjOvj9pkz Z0qSKleurB9++MFoP7yRlpaWY9/JS/bxWXnppZf0ww8/aNu2bQoNDc2x7IEHHlC5cuUkZd22 ZuTIkT65Tqtx48aSPPsiwblz57RgwQItWLAgx+OdOnVSjRo1XD/379/f9f/OccyePVs9evTQ pEmTlJKSol69ermeExcXp0WLFrnG16pVKy1cuND7QUnatGmTFi5c6Fp/r1699MQTT+QIy+7G XrZs2Xx/sQJA0eTVR5Bt27bVmjVrlJaWpn//+99q27ZtrufExcVp//79Be6gv5QpU8b18WCL Fi1c112lpaVpwoQJqlGjhh5//HGNHz9eR48e1S+//CJJuueee7R06VIdOHBA3333naZMmeJa 5rxQ/PTp07kufN+7d6/q1q2rY8eO6csvv1RqaqouXbokKSuw7d+/X/v379fbb7+d45tO7taX mJgo6dcD9I0/uxtfceEMD86L3tetW6fIyEhduHDBaD+OHj0qSTpx4oR27dqltLQ0bdu2Ta1a tTLaD280b97ctY+54xyfleeee04Oh0MPPfSQfve737muY3RavXq1kpOTlZycrOXLl7vOHvlL uXLldPLkSWVmZurChQs6cuSIqlevrhEjRig2Nlb/+c9/tGrVKi1atCjXR/p5OXXqlCIiInT1 6lXt3r07x7I777xTK1ascPvtw7z6Yueuu+7Sp59+6pqzTz75RB07dvRo7ImJibr11ls9ei6A oi3A4XA49u3L+qr0V19t1PjxQ20vij19+rTmz5+v3bt3q1WrVnryySdVu3btHM958cUXFRkZ 6bpOorhIS0vT6NGjlZqaqrNnzyoiIkK9e/fWQw89JCnrALhw4UJt3rxZYWFheuihh9S/f38F Bgbq6aef1vfffy9JqlSpkt577z3XL4DNmzdrwYIFunTpkpo1a6ZNmzapevXqWrx4sXbv3q23 335bISEheuCBB9S3b18FBwdbrm/SpEmKj4/XPffco6lTp+rZZ5/N8XNx98ILLyguLk6TJk3S ww8/rB07dmjChAmqVKmSYmNjNWLECP3000+u5zdq1Mh1Jmfo0KFul1mJjo7OcV2Q07p16+Rw OPTFF18oNjZWdevW1ejRo/P8yLgoWblypcLDw11no63GZzVnzuu7FixYoMDAQI0cOdIV7qOi ojR37ly9/vrrSk9PV9euXfXb3/7Wtf9aGThwoE6dOiVJioiI0HvvvScp69qygwcPKjIyUkFB Qfr+++/VrFkz19nQdevWadmyZTpz5ozatGmjwYMHKyIiQidOnNCSJUu0c+dO1atXTz179tR9 990nSRo8eLBOnjwpSWrQoIGWLFni6kd8fLzmz5+vjIwMjR07VqNHj1ZkZKTmzZun5ORkxcbG av369UpMTFT9+vXVtm1b9evXTyEhIW77YjWfV65cUWxsrOs4e++996p///4KDQ21HfvOnTt1 /vx5PfDAA7bzC8C8uLg4tzdivTFreRXAABR9SUlJWrhwocaMGeO3dXjzLUZ4b/78+RoyZEiu j4EBFA35CWB5/pkaFxfnv94BMCYiIsJv7+c33nhDktSvXz+NGzfOL+tATjVr1tTOnTsLuxsA fCDPAOZpHSNPOb81lF3FihV9ug4AZvn6OAEAxUFemcYbpb4UEQAAgGklMoA1adLE9uv3JYnz /mP+bHPPnj1+a/tGvtp+/pgXAAB8oVADWEBAQJ7/Ciq/pUpatmzpWnfZsmV1//335/o6elF2 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 --------------040100070106020207030105-- From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 24 11:33:59 2015 Received: (at 21415) by debbugs.gnu.org; 24 Oct 2015 15:33:59 +0000 Received: from localhost ([127.0.0.1]:37007 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zq0pS-0004IG-Cc for submit@debbugs.gnu.org; Sat, 24 Oct 2015 11:33:59 -0400 Received: from mail-vk0-f47.google.com ([209.85.213.47]:36735) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zq0p6-0004HM-IB for 21415@debbugs.gnu.org; Sat, 24 Oct 2015 11:33:56 -0400 Received: by vkex70 with SMTP id x70so77679359vke.3 for <21415@debbugs.gnu.org>; Sat, 24 Oct 2015 08:33:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=2kp/skKJZf4316+sWhniSQ766qeRJl/qWtz31EkVGvY=; b=aZPR68wMWyZ+y+q+LKwXp5dgXTVcTRfPMkAl0jZAyhVgHMMuM25g+wRa2G/1RBGuQc P8MvYUZzZ6EF/nUZfOE7vsKCTztopAu0y/dCFqBEmAdhEl9xsebaaM3um1g10OB49uff FpazjmYBJKLvJa3IAbWc5DtySGui/mu3PCQCf1BTPjccvgKvrxoHnMGWDObNzUgXLhgH wPb1/CISfQp/0sGhfxWfFCSTHqHEDxkHJbnW+S31daECaRAAMU85g79x//hj5MvgGLvC //GsdMS6IJ9b1fgxdjZ5B8omyLcRbwjf8T8QI2blSJ2pdR9+g7dS+YlZiCDENHPxlrkF HeuQ== MIME-Version: 1.0 X-Received: by 10.31.41.8 with SMTP id p8mr17536636vkp.149.1445700815879; Sat, 24 Oct 2015 08:33:35 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Sat, 24 Oct 2015 08:33:35 -0700 (PDT) In-Reply-To: <562A75CA.4050402@gmx.at> References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <5629022A.9060408@gmx.at> <562A75CA.4050402@gmx.at> Date: Sat, 24 Oct 2015 17:33:35 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a113ee5c095032b0522db7379 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a113ee5c095032b0522db7379 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, I can repeat the problem with the tool-bar here. I'll take a look at it. I fact, it looks Jan was trying to avoid the fact that the frame could be constrained. However, one of the changes I made was to remove the constraining of frames -- so chances are that things would work if we would revert to the old code. Anyway, we should try to include as much as possible into test cases, to ensure that future changes won't break things again. I put the fringe problem on the "fix queue", but it may take some time before I get to them. -- Anders > Citing Keith's experiments on OSX: > > >>> (1) Toggle the tool bar off. Does the overall frame height shrink or > stay the same? > >>> > >>> A: Starting from Emacs -Q. Using the mouse to toggle the toolbar off= , > >>> the height of the frame shrinks -- i.e., top and left remain the same= , > >>> and the bottom shrinks upward about one-half the height of the toolba= r > >>> that disappears. The minibuffer / echo area increases in size to abo= ut > >>> 3 lines of text, with just one line of text that reads: "menu-bar > >>> options showhide showhide-tool-bar". > >>> > >>> > >>> (2) Toggle the tool bar on again. Does the overall frame height > increase or stay the same? > >>> > >>> A: The frame height quickly shrinks and expands, but ultimately remai= ns > >>> the same size -- i.e., slightly less than when Emacs -Q first began i= ts > >>> GUI session. > > I'll attach two screenshots. The problem arose after Jan installed this > change: > > > diff --git a/src/ChangeLog b/src/ChangeLog > index 69da1c3..861ba91 100644 > --- a/src/ChangeLog > +++ b/src/ChangeLog > @@ -1,3 +1,8 @@ > +2015-01-06 Jan Dj=C3=A4rv > + > + * nsterm.m (x_set_window_size): Call updateFrameSize to get real > + size instead of using widht/height. The frame may be constrained. > + > 2015-01-05 Paul Eggert > > * lisp.h (XSYMBOL): Parenthesize id in forward decl. > diff --git a/src/nsterm.m b/src/nsterm.m > index 2ccb7fe..bf3192b 100644 > --- a/src/nsterm.m > +++ b/src/nsterm.m > @@ -1404,15 +1404,8 @@ x_set_window_size (struct frame *f, > [view setBoundsOrigin: origin]; > } > > - change_frame_size (f, width, height, 0, 1, 0, pixelwise); > -/* SET_FRAME_GARBAGED (f); // this short-circuits expose call in > drawRect */ > - > - mark_window_cursors_off (XWINDOW (f->root_window)); > - cancel_mouse_face (f); > - > + [view updateFrameSize: NO]; > unblock_input (); > - > - do_pending_window_change (0); > } > > where the crucial aspect is the removal of the change_frame_size call. > Note that in updateFrameSize we call change_frame_size only > > if (oldr !=3D rows || oldc !=3D cols || neww !=3D oldw || newh !=3D ol= dh) > > which usually won't hold when removing the tool bar. Maybe we should > make the change_frame_size call in updateFrameSize unconditional after > being called from update_frame_tool_bar. > > >> and the fact > >> that a frame keeps shrinking when turning off/on the tool bar. I'll > >> look into that but if you have any ideas ... > > > > I though this was by design. On NextStep, the toolbar is excluded from > > `frame-pixel-height', so it makes sense that frame size change when > enabled > > and disabled. Besides, it's height typically isn't a multiple of the te= xt > > size, so the frame would need to be resized slightly anyway (unless > > `frame-resize-pixelwise' is set). > > All true. But the problem is that enabling the tool bar doesn't make > the overall frame height as large as it has been before disabling the > tool bar. So eventually you might end up with a zero height frame. > > > There are other things that we would need to fix: > > > > * Symbols in the fringe are inverted. I saw a patch for this on the > > emacs-dev mailing list a few weeks ago but I haven't tried it out. > > > > * When the cursor is rendered in the fringe, it's only drawn incorrectl= y. > > (This problem might be related to the previous.) > > I've seen these but can't do much about them. It would be great if you > looked into these. > > > What is the time frame for the Emacs 25 release? I would be happy to wo= rk > > on this, but with my family situation, work will progress very, very > slowly. > > Bug fixes are practically always accepted. There's a short period > immediately before the release when only regressions wrt the previous > release may be fixed. So you won't have to bother about the time frame. > > > I have thought about that as well. Currently, the package provides the > > macros NSTRACE_WHEN and NSTRACE_UNLESS. I don't use then right now, > > unfortunately they only silence the current function, not functions tha= t > > may be called by it (which is something that we would want). Hopefully,= I > > will be able to categorize the functions in such a way that the default > > setting would silence some of the more frequently called functions. > > That would be fine. > > Thanks, martin > --001a113ee5c095032b0522db7379 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

I can repeat the problem with the tool-bar he= re. I'll take a look at it.

I fact, it looks J= an was trying to avoid the fact that the frame could be constrained. Howeve= r, one of the changes I made was to remove the constraining of frames -- so= chances are that things would work if we would revert to the old code.

Anyway, we should try to include as much as possible = into test cases, to ensure that future changes won't break things again= .

I put the fringe problem on the "fix queue&= quot;, but it may take some time before I get to them.

=
=C2=A0 =C2=A0 -- Anders

=C2=A0
Citing Keith's experiments on OSX:

>>> (1) Toggle the tool bar off.=C2=A0 Does the overall frame heig= ht shrink or stay the same?
>>>
>>> A: Starting from Emacs -Q.=C2=A0 Using the mouse to toggle the= toolbar off,
>>> the height of the frame shrinks -- i.e., top and left remain t= he same,
>>> and the bottom shrinks upward about one-half the height of the= toolbar
>>> that disappears.=C2=A0 The minibuffer / echo area increases in= size to about
>>> 3 lines of text, with just one line of text that reads: "= menu-bar
>>> options showhide showhide-tool-bar".
>>>
>>>
>>> (2) Toggle the tool bar on again.=C2=A0 Does the overall frame= height increase or stay the same?
>>>
>>> A: The frame height quickly shrinks and expands, but ultimatel= y remains
>>> the same size -- i.e., slightly less than when Emacs -Q first = began its
>>> GUI session.

I'll attach two screenshots.=C2=A0 The problem arose after Jan installe= d this
change:


diff --git a/src/ChangeLog b/src/ChangeLog
index 69da1c3..861ba91 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-06=C2=A0 Jan Dj=C3=A4rv=C2=A0 <jan.h.d@swipnet.se>
+
+=C2=A0 =C2=A0 * nsterm.m (x_set_window_size): Call updateFrameSize to get = real
+=C2=A0 =C2=A0 size instead of using widht/height.=C2=A0 The frame may be c= onstrained.
+
=C2=A02015-01-05=C2=A0 Paul Eggert=C2=A0 <eggert@cs.ucla.edu>

=C2=A0 =C2=A0 =C2=A0* lisp.h (XSYMBOL): Parenthesize id in forward decl. diff --git a/src/nsterm.m b/src/nsterm.m
index 2ccb7fe..bf3192b 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1404,15 +1404,8 @@ x_set_window_size (struct frame *f,
=C2=A0 =C2=A0 =C2=A0[view setBoundsOrigin: origin];
=C2=A0 =C2=A0}

-=C2=A0 change_frame_size (f, width, height, 0, 1, 0, pixelwise);
-/*=C2=A0 SET_FRAME_GARBAGED (f); // this short-circuits expose call in dra= wRect */
-
-=C2=A0 mark_window_cursors_off (XWINDOW (f->root_window));
-=C2=A0 cancel_mouse_face (f);
-
+=C2=A0 [view updateFrameSize: NO];
=C2=A0 =C2=A0unblock_input ();
-
-=C2=A0 do_pending_window_change (0);
=C2=A0}

where the crucial aspect is the removal of the change_frame_size call.
Note that in updateFrameSize we call change_frame_size only

=C2=A0 =C2=A0if (oldr !=3D rows || oldc !=3D cols || neww !=3D oldw || newh= !=3D oldh)

which usually won't hold when removing the tool bar.=C2=A0 Maybe we sho= uld
make the change_frame_size call in updateFrameSize unconditional after
being called from update_frame_tool_bar.

>> and the fact
>> that a frame keeps shrinking when turning off/on the tool bar.=C2= =A0 I'll
>> look into that but if you have any ideas ...
>
> I though this was by design. On NextStep, the toolbar is excluded from=
> `frame-pixel-height', so it makes sense that frame size change whe= n enabled
> and disabled. Besides, it's height typically isn't a multiple = of the text
> size, so the frame would need to be resized slightly anyway (unless > `frame-resize-pixelwise' is set).

All true.=C2=A0 But the problem is that enabling the tool bar doesn't m= ake
the overall frame height as large as it has been before disabling the
tool bar.=C2=A0 So eventually you might end up with a zero height frame.

> There are other things that we would need to fix:
>
> * Symbols in the fringe are inverted. I saw a patch for this on the > emacs-dev mailing list a few weeks ago but I haven't tried it out.=
>
> * When the cursor is rendered in the fringe, it's only drawn incor= rectly.
> (This problem might be related to the previous.)

I've seen these but can't do much about them.=C2=A0 It would be gre= at if you
looked into these.

> What is the time frame for the Emacs 25 release? I would be happy to w= ork
> on this, but with my family situation, work will progress very, very s= lowly.

Bug fixes are practically always accepted.=C2=A0 There's a short period=
immediately before the release when only regressions wrt the previous
release may be fixed.=C2=A0 So you won't have to bother about the time = frame.

> I have thought about that as well. Currently, the package provides the=
> macros NSTRACE_WHEN and NSTRACE_UNLESS. I don't use then right now= ,
> unfortunately they only silence the current function, not functions th= at
> may be called by it (which is something that we would want). Hopefully= , I
> will be able to categorize the functions in such a way that the defaul= t
> setting would silence some of the more frequently called functions.
That would be fine.

Thanks, martin

--001a113ee5c095032b0522db7379-- From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 24 14:57:52 2015 Received: (at 21415) by debbugs.gnu.org; 24 Oct 2015 18:57:52 +0000 Received: from localhost ([127.0.0.1]:37066 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zq40l-0005is-MT for submit@debbugs.gnu.org; Sat, 24 Oct 2015 14:57:51 -0400 Received: from mout.gmx.net ([212.227.17.21]:52577) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zq40R-0005iS-8M for 21415@debbugs.gnu.org; Sat, 24 Oct 2015 14:57:49 -0400 Received: from [188.22.233.168] ([188.22.233.168]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0LpPg1-1aUKMp1oO5-00f7BU; Sat, 24 Oct 2015 20:57:22 +0200 Message-ID: <562BD487.20109@gmx.at> Date: Sat, 24 Oct 2015 20:57:11 +0200 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:8/kM/P8A77HSDwx5rgS1TRAq5aMyBpc3tulQoVqIyK6cVoBmKtZ Efi6MFW4rAada6yNtOA3pcGoJcKsE205anuYPOj7rHbA7nXk3QHwixnTgVe0vpbrdRYCq/q H6tK9XNYV2Fj22vBckG+SMq0otB9CHmVnjnpo2uPc417s3TaPqSgp09Q9XIbrE5pYkHwjL1 4OPtHh/z/LB/n4VXt2iPg== X-UI-Out-Filterresults: notjunk:1;V01:K0:kEOYBTDkVak=:zxnEkvI3zU9W029nWV3Pgg kPznzpx2LgPx2WLsv+m1jn6DlaJST+l8zuNZWxQ2YuLGyIcMKqd74XBOY68s71I07mgn8K7hk udG/gEpHNe8z+ZQEFqxglBdQII7S0579dVPbk0b8U/6bb3fQYrsTkKpw+88hLSYwMbgP3Bs57 azdM1nz6aAbV0+mArVmauE7sHW2h4FBfnCqXUbMbGyDqCQJn9dAlixLpJre4jooUzaoY0tgxZ oejB5R8vuBooVMfDyUVVPOBWH6zDFa1zDLBxAcVBdojngxyJp+7plF7198f74T6lZttkXfp/z N7WtUolvFx4fJfE9eRLOyaIIFYDyM+H10YDc79/ztM/fjbLweqQymmNL8QXmcHgQZKIMwqgiI q6JbLOSOGdjwlnMYyh+t6kDgTYejHLOcDCc5nmk3zZ6mScDIvopcpcoBwlKlyfoaE/DthhY1C ok+n+IQwyHMzvrSjEQCkvQqN/Ap+BWgdgqlshaDtiev1QHo1ipz6sAnhcJC2BQoy9K7lc4t/N mBztzqi4xlPZbrOecdXRnX+5I+7W1IWX5nAStYRAaPE+S/I2abZuTsvm+YmzXqeNlOBDCJFEP Xyj5OuM3gutJvb/wsqLiogeXPX3PlOcyLGAPak+48g4joc5Og0C3QFdzTG5uguuEKxT7WyEaP OpGCkcb8Q3GOMtIpH3YkcWcbNScn4uJvhhrLht/96UzCbvds6yzoUozBLUj9ebWoQxqlCMhqU k3zGiO11f6bne9NeJXkBcRMi7axHHq608pq8jWlbMGPtpWlW43k5RfxvKVcvGhEWp/Y/hhDxW p2Jmalz X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Anyway, I think the problem you are seeing is due to the fact that I h= ave > replaced the code in "zoom" with custom code that simply resizes the f= rame. > On OS X there is nothing special happening when maximizing the frame -= - the > outer frame (one pixel thick) is still there, no buttons should change= ^^^^^ You mean the outer border, I presume. Here the border (some 5 pixels) is probably removed by the window manager. Don't ask me why and how. But this and most other problems I reported existed already before your change. > state etc. > > One thing we should try is to check is the old zoom system would work > better in GNUStep after all (this is the first of the three different = zoom > version in the code). I doubt it would help much. One basic problem with GNUStep here is that the workarea as returned by =E2=80=98display-monitor-attributes-list=E2=80= =99 is the same as the geometry returned by that function (are they the same on OSX?). Hence I see no way to have the GNUStep build recognize the presence of my taskbar and not hide it when maximizing the frame. > Also, it would be interesting to see the NSTRACE output of a session w= here > we go "fullwidth" and then "maximized" and compare it with what happen= s > under OS X -- if it still is a problem after changing the zoom method.= Funnily I can't reproduce this currently, maybe some local change I made is involved. BTW (set-frame-parameter nil 'fullscreen 'fullboth) is broken here just as it was before your changes. Does it work for you?= > When it comes to the double tool bar, I have unfortunately no idea wha= t the > problem is. The crazy thing is that with the old build I got it for a normal initial frame and now I get for a maximized initial frame ;-) martin From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 24 17:44:15 2015 Received: (at 21415) by debbugs.gnu.org; 24 Oct 2015 21:44:16 +0000 Received: from localhost ([127.0.0.1]:37130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zq6bn-0002oC-6I for submit@debbugs.gnu.org; Sat, 24 Oct 2015 17:44:15 -0400 Received: from mail-vk0-f46.google.com ([209.85.213.46]:36412) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zq6bR-0002nN-VI for 21415@debbugs.gnu.org; Sat, 24 Oct 2015 17:44:13 -0400 Received: by vkex70 with SMTP id x70so79853691vke.3 for <21415@debbugs.gnu.org>; Sat, 24 Oct 2015 14:43:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=2E/0aC27yFAWRhHNE2wGosCjbSZboSucjefk9nLwpfA=; b=OsG4E8yxfcq9JVCZYxXXaM6FLaPWlk+U7te/ktEj0Vt6X0ZoDHrQfSBa/z4e17GYNf x8F2MGMpl0KtW5jDLCj3RZ7qjhxBy155vr+rcU+OgEQ68cj/tUrn3VdmJOhzwRetQaaI ZptJ2Nnrhf5OId7jxyRdklujaQf0htakr9UB03ue5mWHiYPI/gevILFiFkyIvfVRAKi0 +pD71vbiOymjEh5fTDNiPMTFnBlqSARrnphOgikN5RD581SLFraKLehtzaKG2Ch48BLf XjoJpROIkOnDHAa/qbCQJ7DAt1EHKK/nxLqqS3/2FqlOz48sddCaUKjcMxDZIgspMglb Gspg== MIME-Version: 1.0 X-Received: by 10.31.170.68 with SMTP id t65mr16290137vke.31.1445723033169; Sat, 24 Oct 2015 14:43:53 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Sat, 24 Oct 2015 14:43:52 -0700 (PDT) In-Reply-To: <562BD487.20109@gmx.at> References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> Date: Sat, 24 Oct 2015 23:43:52 +0200 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a11431b66d5fa7c0522e09f93 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a11431b66d5fa7c0522e09f93 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, On Sat, Oct 24, 2015 at 8:57 PM, martin rudalics wrote: > > > Anyway, I think the problem you are seeing is due to the fact that I have > > replaced the code in "zoom" with custom code that simply resizes the frame. > > On OS X there is nothing special happening when maximizing the frame -- the > > outer frame (one pixel thick) is still there, no buttons should change > ^^^^^ > You mean the outer border, I presume. Here the border (some 5 pixels) > is probably removed by the window manager. Don't ask me why and how. > But this and most other problems I reported existed already before your > change. Was the outer frame removed and the icon changed before my rewrites? If so, try to use the old zoom system instead of the new. > I doubt it would help much. One basic problem with GNUStep here is that > the workarea as returned by =E2=80=98display-monitor-attributes-list=E2= =80=99 is the > same as the geometry returned by that function (are they the same on > OSX?). Hence I see no way to have the GNUStep build recognize the > presence of my taskbar and not hide it when maximizing the frame. You can check if the NSScreen "frame" and "visibleFrame" would return different frame. In "ns_menu_bar_height" I use this. Maybe it can be used under GNUStep to find the height of the taskbar? > BTW > > (set-frame-parameter nil 'fullscreen 'fullboth) > > is broken here just as it was before your changes. Does it work for you? Yes, it enters the real fullscreen mode. Does it work if you set `ns-use-native-fullscreen' to nil? > > When it comes to the double tool bar, I have unfortunately no idea what the > > problem is. > > The crazy thing is that with the old build I got it for a normal initial > frame and now I get for a maximized initial frame ;-) Bizzarre... I would check "update_frame_tool_bar" in nsmenu.m or initFrameFromEmacs in nsterm.m to see if any of those allocate more than one EmacsToolbar. I have located the toolbar error. When "setVisible" is called, OS X starts an animation. When this animation runs, windowWasResized tried to keep up and update rows and columns. On the way it got lost and the end result was a bad "row" could. When simply doing nothing when the animation runs, everything work OK. Hopefully, I will be able to push the end result within the next couple of days. -- Anders --001a11431b66d5fa7c0522e09f93 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

On Sat, Oct 24, 2015 at 8:57 PM, martin rudalic= s <rudalics@gmx.at> wrote:
= >
> > Anyway, I think the problem you are seeing is due to the = fact that I have
> > replaced the code in "zoom" with cu= stom code that simply resizes the frame.
> > On OS X there is noth= ing special happening when maximizing the frame -- the
> > outer f= rame (one pixel thick) is still there, no buttons should change
> =C2= =A0 =C2=A0 =C2=A0 =C2=A0 ^^^^^
> You mean the outer border, I presume= .=C2=A0 Here the border (some 5 pixels)
> is probably removed by the = window manager.=C2=A0 Don't ask me why and how.
> But this and mo= st other problems I reported existed already before your
> change.
Was the outer frame removed and the icon changed before my rewrites? I= f so, try to use the old zoom system instead of the new.

=C2=A0
&= gt; I doubt it would help much.=C2=A0 One basic problem with GNUStep here i= s that
> the workarea as returned by =E2=80=98display-monitor-attribu= tes-list=E2=80=99 is the
> same as the geometry returned by that func= tion (are they the same on
> OSX?).=C2=A0 Hence I see no way to have = the GNUStep build recognize the
> presence of my taskbar and not hide= it when maximizing the frame.

You can check if the NSScreen "f= rame" and "visibleFrame" would return different frame. In &q= uot;ns_menu_bar_height" I use this. Maybe it can be used under GNUStep= to find the height of the taskbar?


> BTW
>
> (se= t-frame-parameter nil 'fullscreen 'fullboth)
>
> is bro= ken here just as it was before your changes.=C2=A0 Does it work for you?
Yes, it enters the real fullscreen mode.
=C2=A0
Does it work if= you set `ns-use-native-fullscreen' to nil?


> >= When it comes to the double tool bar, I have unfortunately no idea what th= e
> > problem is.
>
> The crazy thing is that with the= old build I got it for a normal initial
> frame and now I get for a = maximized initial frame ;-)

Bizzarre... I would check "update_f= rame_tool_bar" in nsmenu.m or initFrameFromEmacs in nsterm.m to see if= any of those allocate more than one EmacsToolbar.

<= br>
I have located the toolbar error. When "setVisible"= is called, OS X starts an animation. When this animation runs, windowWasRe= sized tried to keep up and update rows and columns. On the way it got lost = and the end result was a bad "row" could. When simply doing nothi= ng when the animation runs, everything work OK. Hopefully, I will be able t= o push the end result within the next couple of days.

<= div>=C2=A0 =C2=A0 -- Anders

--001a11431b66d5fa7c0522e09f93-- From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 27 17:42:06 2015 Received: (at 21415) by debbugs.gnu.org; 27 Oct 2015 21:42:06 +0000 Received: from localhost ([127.0.0.1]:40895 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrC0K-0001IL-Rj for submit@debbugs.gnu.org; Tue, 27 Oct 2015 17:42:06 -0400 Received: from mail-vk0-f41.google.com ([209.85.213.41]:36851) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrC0H-0001Hv-Ez for 21415@debbugs.gnu.org; Tue, 27 Oct 2015 17:42:03 -0400 Received: by vkex70 with SMTP id x70so129459324vke.3 for <21415@debbugs.gnu.org>; Tue, 27 Oct 2015 14:42:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=LeWS9o0EQn2afdQK56c/Bhsir9h4rp0x4Qt6YDHnugs=; b=H6H1T9a51bKkPF7S+mjzF9xLjmOccQUo8YKTCzO7uqWYZEc+S908+aahJjkFF9HWEW oV/N7hWYlOj92xQM/n1+bx5D77M7AODbrwLay7uH6uTd9LGjDWr3/Rt9uepogN8VuKG7 gcAgpi5RR2Qoqkt0q+oRrXMklDuDpTfxshtKoyldscRAAV5Zwp8IMBgwWNnlRY6sIKK+ rDRoRC6vW9Zf1ijpIvWSCIIwbRXCOxhghZKoCz2O3Ga5QdbhMScpwGe15WfEghmRofIj xvzT5CLMDS+rF1HHIA4grR1hHObpblIuUiXS/2xzT7rTr7SrG5X9dITm2XVWq6dV9RFn QWIA== MIME-Version: 1.0 X-Received: by 10.31.147.129 with SMTP id v123mr30992401vkd.23.1445982120924; Tue, 27 Oct 2015 14:42:00 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Tue, 27 Oct 2015 14:42:00 -0700 (PDT) In-Reply-To: References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> Date: Tue, 27 Oct 2015 22:42:00 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/mixed; boundary=001a1140feb6ab739a05231cf238 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1140feb6ab739a05231cf238 Content-Type: multipart/alternative; boundary=001a1140feb6ab739405231cf236 --001a1140feb6ab739405231cf236 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, here is a patch to fix the problems with tool-bar-mode, please try it out. One thing that I have noticed lately is that Emacs often crash when started. I managed to get a call stack by running gdb, but it doesn't mean much to me. Do any of you have an idea what is going on? -- Anders On Sat, Oct 24, 2015 at 11:43 PM, Anders Lindgren wrote= : > Hi, > > On Sat, Oct 24, 2015 at 8:57 PM, martin rudalics wrote: > > > > > Anyway, I think the problem you are seeing is due to the fact that I > have > > > replaced the code in "zoom" with custom code that simply resizes the > frame. > > > On OS X there is nothing special happening when maximizing the frame > -- the > > > outer frame (one pixel thick) is still there, no buttons should chang= e > > ^^^^^ > > You mean the outer border, I presume. Here the border (some 5 pixels) > > is probably removed by the window manager. Don't ask me why and how. > > But this and most other problems I reported existed already before your > > change. > > Was the outer frame removed and the icon changed before my rewrites? If > so, try to use the old zoom system instead of the new. > > > > I doubt it would help much. One basic problem with GNUStep here is tha= t > > the workarea as returned by =E2=80=98display-monitor-attributes-list=E2= =80=99 is the > > same as the geometry returned by that function (are they the same on > > OSX?). Hence I see no way to have the GNUStep build recognize the > > presence of my taskbar and not hide it when maximizing the frame. > > You can check if the NSScreen "frame" and "visibleFrame" would return > different frame. In "ns_menu_bar_height" I use this. Maybe it can be used > under GNUStep to find the height of the taskbar? > > > > BTW > > > > (set-frame-parameter nil 'fullscreen 'fullboth) > > > > is broken here just as it was before your changes. Does it work for yo= u? > > Yes, it enters the real fullscreen mode. > > Does it work if you set `ns-use-native-fullscreen' to nil? > > > > > When it comes to the double tool bar, I have unfortunately no idea > what the > > > problem is. > > > > The crazy thing is that with the old build I got it for a normal initia= l > > frame and now I get for a maximized initial frame ;-) > > Bizzarre... I would check "update_frame_tool_bar" in nsmenu.m or > initFrameFromEmacs in nsterm.m to see if any of those allocate more than > one EmacsToolbar. > > > I have located the toolbar error. When "setVisible" is called, OS X start= s > an animation. When this animation runs, windowWasResized tried to keep up > and update rows and columns. On the way it got lost and the end result wa= s > a bad "row" could. When simply doing nothing when the animation runs, > everything work OK. Hopefully, I will be able to push the end result with= in > the next couple of days. > > -- Anders > > --001a1140feb6ab739405231cf236 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

here is a patch to fix the problems= with tool-bar-mode, please try it out.

One thing = that I have noticed lately is that Emacs often crash when started. I manage= d to get a call stack by running gdb, but it doesn't mean much to me. D= o any of you have an idea what is going on?

=C2=A0= =C2=A0 -- Anders


=
On Sat, Oct 24, 2015 at 11:43 PM, Anders Lindgre= n <andlind@gmail.com> wrote:
Hi,

On Sat, Oct 24, 2015 at 8:5= 7 PM, martin rudalics <rudalics@gmx.at> wrote:
>
> > Anyway, I think the= problem you are seeing is due to the fact that I have
> > replace= d the code in "zoom" with custom code that simply resizes the fra= me.
> > On OS X there is nothing special happening when maximizing= the frame -- the
> > outer frame (one pixel thick) is still there= , no buttons should change
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^^^^^
>= ; You mean the outer border, I presume.=C2=A0 Here the border (some 5 pixel= s)
> is probably removed by the window manager.=C2=A0 Don't ask m= e why and how.
> But this and most other problems I reported existed = already before your
> change.

Was the outer frame remov= ed and the icon changed before my rewrites? If so, try to use the old zoom = system instead of the new.

=C2=A0
> I doubt i= t would help much.=C2=A0 One basic problem with GNUStep here is that
>= ; the workarea as returned by =E2=80=98display-monitor-attributes-list=E2= =80=99 is the
> same as the geometry returned by that function (are t= hey the same on
> OSX?).=C2=A0 Hence I see no way to have the GNUStep= build recognize the
> presence of my taskbar and not hide it when ma= ximizing the frame.

You can check if the NSScreen "frame= " and "visibleFrame" would return different frame. In "= ns_menu_bar_height" I use this. Maybe it can be used under GNUStep to = find the height of the taskbar?


> BTW
>= ;
> (set-frame-parameter nil 'fullscreen 'fullboth)
>> is broken here just as it was before your changes.=C2=A0 Does it wor= k for you?

Yes, it enters the real fullscreen mode.
=C2=A0=
Does it work if you set `ns-use-native-fullscreen' to nil?


> > When it comes to the double tool bar,= I have unfortunately no idea what the
> > problem is.
>
= > The crazy thing is that with the old build I got it for a normal initi= al
> frame and now I get for a maximized initial frame ;-)

Bizzarre... I would check "update_frame_tool_bar" in nsmenu.m= or initFrameFromEmacs in nsterm.m to see if any of those allocate more tha= n one EmacsToolbar.


I have located th= e toolbar error. When "setVisible" is called, OS X starts an anim= ation. When this animation runs, windowWasResized tried to keep up and upda= te rows and columns. On the way it got lost and the end result was a bad &q= uot;row" could. When simply doing nothing when the animation runs, eve= rything work OK. Hopefully, I will be able to push the end result within th= e next couple of days.
=

=C2=A0 =C2=A0 -- Anders


--001a1140feb6ab739405231cf236-- --001a1140feb6ab739a05231cf238 Content-Type: text/plain; charset=US-ASCII; name="toolbar.diff" Content-Disposition: attachment; filename="toolbar.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ig9wbkn70 ZGlmZiAtLWdpdCBhL3NyYy9uc2Zucy5tIGIvc3JjL25zZm5zLm0KaW5kZXggMWVkM2UyMy4uYzI0 MzQ0NCAxMDA2NDQKLS0tIGEvc3JjL25zZm5zLm0KKysrIGIvc3JjL25zZm5zLm0KQEAgLTEyOTgs NiArMTI5OCw4IEBAIFRoaXMgZnVuY3Rpb24gaXMgYW4gaW50ZXJuYWwgcHJpbWl0aXZlLS11c2Ug YG1ha2UtZnJhbWUnIGluc3RlYWQuICAqLykKICAgICAgPSBbTlNDdXJzb3IgYXJyb3dDdXJzb3Jd OwogICBmLT5vdXRwdXRfZGF0YS5ucy0+Y3VycmVudF9wb2ludGVyID0gZi0+b3V0cHV0X2RhdGEu bnMtPnRleHRfY3Vyc29yOwogCisgIGYtPm91dHB1dF9kYXRhLm5zLT5pbl9hbmltYXRpb24gPSBO TzsKKwogICBbW0VtYWNzVmlldyBhbGxvY10gaW5pdEZyYW1lRnJvbUVtYWNzOiBmXTsKIAogICB4 X2ljb24gKGYsIHBhcm1zKTsKZGlmZiAtLWdpdCBhL3NyYy9uc21lbnUubSBiL3NyYy9uc21lbnUu bQppbmRleCAyZWYxMjIzLi5kZGM1ZGMyIDEwMDY0NAotLS0gYS9zcmMvbnNtZW51Lm0KKysrIGIv c3JjL25zbWVudS5tCkBAIC05OTgsMTAgKzk5OCwyMCBAQCBmcmVlX2ZyYW1lX3Rvb2xfYmFyIChz dHJ1Y3QgZnJhbWUgKmYpCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogewogICBFbWFjc1ZpZXcg KnZpZXcgPSBGUkFNRV9OU19WSUVXIChmKTsKKworICBOU1RSQUNFICgiZnJlZV9mcmFtZV90b29s X2JhciIpOworCiAgIGJsb2NrX2lucHV0ICgpOwogICB2aWV3LT53YWl0X2Zvcl90b29sX2JhciA9 IE5POwotICBbW3ZpZXcgdG9vbGJhcl0gc2V0VmlzaWJsZTogTk9dOworCiAgIEZSQU1FX1RPT0xC QVJfSEVJR0hUIChmKSA9IDA7CisKKyAgLyogTm90ZTogVGhpcyB0cmlnZ2VyIGFuIGFuaW1hdGlv biwgd2hpY2ggY2FsbHMgd2luZG93RGlkUmVzaXplCisgICAgIHJlcGVhdGVkbHkuICovCisgIGYt Pm91dHB1dF9kYXRhLm5zLT5pbl9hbmltYXRpb24gPSAxOworICBbW3ZpZXcgdG9vbGJhcl0gc2V0 VmlzaWJsZTogTk9dOworICBmLT5vdXRwdXRfZGF0YS5ucy0+aW5fYW5pbWF0aW9uID0gMDsKKwog ICB1bmJsb2NrX2lucHV0ICgpOwogfQogCkBAIC0xMDE3LDYgKzEwMjcsOCBAQCB1cGRhdGVfZnJh bWVfdG9vbF9iYXIgKHN0cnVjdCBmcmFtZSAqZikKICAgRW1hY3NUb29sYmFyICp0b29sYmFyID0g W3ZpZXcgdG9vbGJhcl07CiAgIGludCBvbGRoOwogCisgIE5TVFJBQ0UgKCJ1cGRhdGVfZnJhbWVf dG9vbF9iYXIiKTsKKwogICBpZiAodmlldyA9PSBuaWwgfHwgdG9vbGJhciA9PSBuaWwpIHJldHVy bjsKICAgYmxvY2tfaW5wdXQgKCk7CiAKQEAgLTEwOTYsNyArMTEwOCwxMSBAQCB1cGRhdGVfZnJh bWVfdG9vbF9iYXIgKHN0cnVjdCBmcmFtZSAqZikKICAgICB9CiAKICAgaWYgKCFbdG9vbGJhciBp c1Zpc2libGVdKQorICAgIHsKKyAgICAgIGYtPm91dHB1dF9kYXRhLm5zLT5pbl9hbmltYXRpb24g PSAxOwogICAgICAgW3Rvb2xiYXIgc2V0VmlzaWJsZTogWUVTXTsKKyAgICAgIGYtPm91dHB1dF9k YXRhLm5zLT5pbl9hbmltYXRpb24gPSAwOworICAgIH0KIAogI2lmZGVmIE5TX0lNUExfQ09DT0EK ICAgaWYgKFt0b29sYmFyIGNoYW5nZWRdKQpAQCAtMTE1MCw2ICsxMTY2LDggQEAgdXBkYXRlX2Zy YW1lX3Rvb2xfYmFyIChzdHJ1Y3QgZnJhbWUgKmYpCiAKIC0gaW5pdEZvclZpZXc6IChFbWFjc1Zp ZXcgKil2aWV3IHdpdGhJZGVudGlmaWVyOiAoTlNTdHJpbmcgKilpZGVudGlmaWVyCiB7CisgIE5T VFJBQ0UgKCJbRW1hY3NUb29sYmFyIGluaXRGb3JWaWV3OiB3aXRoSWRlbnRpZmllcjpdIik7CisK ICAgc2VsZiA9IFtzdXBlciBpbml0V2l0aElkZW50aWZpZXI6IGlkZW50aWZpZXJdOwogICBlbWFj c1ZpZXcgPSB2aWV3OwogICBbc2VsZiBzZXREaXNwbGF5TW9kZTogTlNUb29sYmFyRGlzcGxheU1v ZGVJY29uT25seV07CkBAIC0xMTY0LDYgKzExODIsOCBAQCB1cGRhdGVfZnJhbWVfdG9vbF9iYXIg KHN0cnVjdCBmcmFtZSAqZikKIAogLSAodm9pZClkZWFsbG9jCiB7CisgIE5TVFJBQ0UgKCJbRW1h Y3NUb29sYmFyIGRlYWxsb2NdIik7CisKICAgW3ByZXZJZGVudGlmaWVycyByZWxlYXNlXTsKICAg W2FjdGl2ZUlkZW50aWZpZXJzIHJlbGVhc2VdOwogICBbaWRlbnRpZmllclRvSXRlbSByZWxlYXNl XTsKQEAgLTExNzIsNiArMTE5Miw4IEBAIHVwZGF0ZV9mcmFtZV90b29sX2JhciAoc3RydWN0IGZy YW1lICpmKQogCiAtICh2b2lkKSBjbGVhckFjdGl2ZQogeworICBOU1RSQUNFICgiW0VtYWNzVG9v bGJhciBjbGVhckFjdGl2ZV0iKTsKKwogICBbcHJldklkZW50aWZpZXJzIHJlbGVhc2VdOwogICBw cmV2SWRlbnRpZmllcnMgPSBbYWN0aXZlSWRlbnRpZmllcnMgY29weV07CiAgIFthY3RpdmVJZGVu dGlmaWVycyByZW1vdmVBbGxPYmplY3RzXTsKQEAgLTExODEsNiArMTIwMyw4IEBAIHVwZGF0ZV9m cmFtZV90b29sX2JhciAoc3RydWN0IGZyYW1lICpmKQogCiAtICh2b2lkKSBjbGVhckFsbAogewor ICBOU1RSQUNFICgiW0VtYWNzVG9vbGJhciBjbGVhckFsbF0iKTsKKwogICBbc2VsZiBjbGVhckFj dGl2ZV07CiAgIHdoaWxlIChbW3NlbGYgaXRlbXNdIGNvdW50XSA+IDApCiAgICAgW3NlbGYgcmVt b3ZlSXRlbUF0SW5kZXg6IDBdOwpAQCAtMTE4OCw2ICsxMjEyLDggQEAgdXBkYXRlX2ZyYW1lX3Rv b2xfYmFyIChzdHJ1Y3QgZnJhbWUgKmYpCiAKIC0gKEJPT0wpIGNoYW5nZWQKIHsKKyAgTlNUUkFD RSAoIltFbWFjc1Rvb2xiYXIgY2hhbmdlZF0iKTsKKwogICByZXR1cm4gW2FjdGl2ZUlkZW50aWZp ZXJzIGlzRXF1YWxUb0FycmF5OiBwcmV2SWRlbnRpZmllcnNdICYmCiAgICAgZW5hYmxlbWVudCA9 PSBwcmV2RW5hYmxlbWVudCA/IE5PIDogWUVTOwogfQpAQCAtMTE5OCw2ICsxMjI0LDggQEAgdXBk YXRlX2ZyYW1lX3Rvb2xfYmFyIChzdHJ1Y3QgZnJhbWUgKmYpCiAgICAgICAgICAgICAgICAgICAg ICAgICBoZWxwVGV4dDogKGNvbnN0IGNoYXIgKiloZWxwCiAgICAgICAgICAgICAgICAgICAgICAg ICAgZW5hYmxlZDogKEJPT0wpZW5hYmxlZAogeworICBOU1RSQUNFICgiW0VtYWNzVG9vbGJhciBh ZGREaXNwbGF5SXRlbVdpdGhJbWFnZTogLi4uXSIpOworCiAgIC8qIDEpIGNvbWUgdXAgdy9pZGVu dGlmaWVyICovCiAgIE5TU3RyaW5nICppZGVudGlmaWVyCiAgICAgPSBbTlNTdHJpbmcgc3RyaW5n V2l0aEZvcm1hdDogQCIlbHUiLCAodW5zaWduZWQgbG9uZylbaW1nIGhhc2hdXTsKQEAgLTEyMzEs NiArMTI1OSw3IEBAIHVwZGF0ZV9mcmFtZV90b29sX2JhciAoc3RydWN0IGZyYW1lICpmKQogICAg YWxsIGl0ZW1zIHRvIGVuYWJsZWQgc3RhdGUgKGZvciBzb21lIHJlYXNvbikuICovCiAtICh2b2lk KXZhbGlkYXRlVmlzaWJsZUl0ZW1zCiB7CisgIE5TVFJBQ0UgKCJbRW1hY3NUb29sYmFyIHZhbGlk YXRlVmlzaWJsZUl0ZW1zXSIpOwogfQogCiAKQEAgLTEyNDAsMTIgKzEyNjksMTYgQEAgdXBkYXRl X2ZyYW1lX3Rvb2xfYmFyIChzdHJ1Y3QgZnJhbWUgKmYpCiAgICAgICBpdGVtRm9ySXRlbUlkZW50 aWZpZXI6IChOU1N0cmluZyAqKWl0ZW1JZGVudGlmaWVyCiAgIHdpbGxCZUluc2VydGVkSW50b1Rv b2xiYXI6IChCT09MKWZsYWcKIHsKKyAgTlNUUkFDRSAoIltFbWFjc1Rvb2xiYXIgdG9vbGJhcjog Li4uXSIpOworCiAgIC8qIGxvb2sgdXAgTlNUb29sYmFySXRlbSBieSBpZGVudGlmaWVyIGFuZCBy ZXR1cm4uLi4gKi8KICAgcmV0dXJuIFtpZGVudGlmaWVyVG9JdGVtIG9iamVjdEZvcktleTogaXRl bUlkZW50aWZpZXJdOwogfQogCiAtIChOU0FycmF5ICopdG9vbGJhckRlZmF1bHRJdGVtSWRlbnRp ZmllcnM6IChOU1Rvb2xiYXIgKil0b29sYmFyCiB7CisgIE5TVFJBQ0UgKCJbRW1hY3NUb29sYmFy IHRvb2xiYXJEZWZhdWx0SXRlbUlkZW50aWZpZXJzOl0iKTsKKwogICAvKiByZXR1cm4gZW50aXJl IHNldC4uICovCiAgIHJldHVybiBhY3RpdmVJZGVudGlmaWVyczsKIH0KQEAgLTEyNTMsNiArMTI4 Niw4IEBAIHVwZGF0ZV9mcmFtZV90b29sX2JhciAoc3RydWN0IGZyYW1lICpmKQogLyogZm9yIGNv bmZpZ3VyYXRpb24gcGFsZXR0ZSAobm90IHlldCBzdXBwb3J0ZWQpICovCiAtIChOU0FycmF5ICop dG9vbGJhckFsbG93ZWRJdGVtSWRlbnRpZmllcnM6IChOU1Rvb2xiYXIgKil0b29sYmFyCiB7Cisg IE5TVFJBQ0UgKCJbRW1hY3NUb29sYmFyIHRvb2xiYXJBbGxvd2VkSXRlbUlkZW50aWZpZXJzOl0i KTsKKwogICAvKiByZXR1cm4gZW50aXJlIHNldC4uLiAqLwogICByZXR1cm4gYWN0aXZlSWRlbnRp ZmllcnM7CiAgIC8vcmV0dXJuIFtpZGVudGlmaWVyVG9JdGVtIGFsbEtleXNdOwpkaWZmIC0tZ2l0 IGEvc3JjL25zdGVybS5oIGIvc3JjL25zdGVybS5oCmluZGV4IDhkNTJkYzYuLjNmYjhjZmMgMTAw NjQ0Ci0tLSBhL3NyYy9uc3Rlcm0uaAorKysgYi9zcmMvbnN0ZXJtLmgKQEAgLTY1LDkgKzY1LDEy IEBAIHR5cGVkZWYgZmxvYXQgRW1hY3NDR0Zsb2F0OwogCiAgICA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAq LwogCi0vKiBVbmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIGVuYWJsZSB0cmFjZS4gKi8K Ky8qIFVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmUgdG8gZW5hYmxlIHRyYWNlLgogCi0vKiAj ZGVmaW5lIE5TVFJBQ0VfRU5BQkxFRCAxICovCisgICBIaW50OiBrZWVwIHRoZSB0cmFpbGluZyB3 aGl0ZXNwYWNlIC0tIHRoZSB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtCisgICB3aWxsIHJlamVjdCBh Y2NpZGVudGFsIGNvbW1pdHMuICovCisKKy8qICNkZWZpbmUgTlNUUkFDRV9FTkFCTEVEIDEgICAg ICAgICAgKi8KIAogCiAvKiBQcmludCBhIGNhbGwgdHJlZSBjb250YWluaW5nIGFsbCBhbm5vdGF0 ZWQgZnVuY3Rpb25zLgpAQCAtOTEzLDYgKzkxNiw5IEBAIHN0cnVjdCBuc19vdXRwdXQKIAogICAv KiBOb24temVybyBpZiB3ZSBhcmUgem9vbWluZyAobWF4aW1pemluZykgdGhlIGZyYW1lLiAgKi8K ICAgaW50IHpvb21pbmc7CisKKyAgLyogTm9uLXplcm8gaWYgd2UgYXJlIGRvaW5nIGFuIGFuaW1h dGlvbiwgZS5nLiB0b2dnbGluZyB0aGUgdG9vbCBiYXIuICovCisgIGludCBpbl9hbmltYXRpb247 CiB9OwogCiAvKiB0aGlzIGR1bW15IGRlY2wgbmVlZGVkIHRvIHN1cHBvcnQgVFRZcyAqLwpkaWZm IC0tZ2l0IGEvc3JjL25zdGVybS5tIGIvc3JjL25zdGVybS5tCmluZGV4IGU1ZWI4Y2EuLmJhMjA1 ZjUgMTAwNjQ0Ci0tLSBhL3NyYy9uc3Rlcm0ubQorKysgYi9zcmMvbnN0ZXJtLm0KQEAgLTE0OTcs NyArMTQ5Nyw3IEBAIHhfc2V0X3dpbmRvd19zaXplIChzdHJ1Y3QgZnJhbWUgKmYsCiAgIGlmICh2 aWV3ID09IG5pbCkKICAgICByZXR1cm47CiAKLSAgTlNUUkFDRV9SRUNUICgiaW5wdXQiLCB3cik7 CisgIE5TVFJBQ0VfUkVDVCAoImN1cnJlbnQiLCB3cik7CiAKIC8qZnByaW50ZiAoc3RkZXJyLCAi XHRzZXRXaW5kb3dTaXplOiAlZCB4ICVkLCBwaXhlbHdpc2UgJWQsIGZvbnQgc2l6ZSAlZCB4ICVk XG4iLCB3aWR0aCwgaGVpZ2h0LCBwaXhlbHdpc2UsIEZSQU1FX0NPTFVNTl9XSURUSCAoZiksIEZS QU1FX0xJTkVfSEVJR0hUIChmKSk7Ki8KIApAQCAtMTU1OSw3ICsxNTU5LDYgQEAgeF9zZXRfd2lu ZG93X3NpemUgKHN0cnVjdCBmcmFtZSAqZiwKIAkgICBtYWtlX251bWJlciAoRlJBTUVfTlNfVElU TEVCQVJfSEVJR0hUIChmKSksCiAJICAgbWFrZV9udW1iZXIgKEZSQU1FX1RPT0xCQVJfSEVJR0hU IChmKSkpKTsKIAotICBbdmlldyBzZXRSb3dzOiByb3dzIGFuZENvbHVtbnM6IGNvbHNdOwogICBO U1RSQUNFX1JFQ1QgKCJzZXRGcmFtZSIsIHdyKTsKICAgW3dpbmRvdyBzZXRGcmFtZTogd3IgZGlz cGxheTogWUVTXTsKIApAQCAtNjE0Miw2ICs2MTQxLDggQEAgbm90X2luX2FyZ3YgKE5TU3RyaW5n ICphcmcpCiAgIE5TVFJBQ0UgKCJ1cGRhdGVGcmFtZVNpemUiKTsKICAgTlNUUkFDRV9TSVpFICgi T3JpZ2luYWwgc2l6ZSIsIE5TTWFrZVNpemUgKG9sZHcsIG9sZGgpKTsKICAgTlNUUkFDRV9SRUNU ICgiT3JpZ2luYWwgZnJhbWUiLCB3cik7CisgIE5TVFJBQ0VfTVNHICAoIk9yaWdpbmFsIGNvbHVt bnM6ICVkIiwgY29scyk7CisgIE5TVFJBQ0VfTVNHICAoIk9yaWdpbmFsIHJvd3M6ICVkIiwgcm93 cyk7CiAKICAgaWYgKCEgW3NlbGYgaXNGdWxsc2NyZWVuXSkKICAgICB7CkBAIC02MTU4LDEzICs2 MTU5LDE5IEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAqYXJnKQogICBpZiAod2FpdF9mb3JfdG9v bF9iYXIpCiAgICAgewogICAgICAgaWYgKEZSQU1FX1RPT0xCQVJfSEVJR0hUIChlbWFjc2ZyYW1l KSA9PSAwKQotICAgICAgICByZXR1cm47CisgICAgICAgIHsKKyAgICAgICAgICBOU1RSQUNFX01T RyAoIldhaXRpbmcgZm9yIHRvb2xiYXIiKTsKKyAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K ICAgICAgIHdhaXRfZm9yX3Rvb2xfYmFyID0gTk87CiAgICAgfQogCiAgIG5ld3cgPSAoaW50KXdy LnNpemUud2lkdGggLSBlbWFjc2ZyYW1lLT5ib3JkZXJfd2lkdGg7CiAgIG5ld2ggPSAoaW50KXdy LnNpemUuaGVpZ2h0IC0gZXh0cmE7CiAKKyAgTlNUUkFDRV9TSVpFICgiTmV3IHNpemUiLCBOU01h a2VTaXplIChuZXd3LCBuZXdoKSk7CisgIE5TVFJBQ0VfTVNHICgidG9vbF9iYXJfaGVpZ2h0OiAl ZCIsIGVtYWNzZnJhbWUtPnRvb2xfYmFyX2hlaWdodCk7CisKICAgY29scyA9IEZSQU1FX1BJWEVM X1dJRFRIX1RPX1RFWFRfQ09MUyAoZW1hY3NmcmFtZSwgbmV3dyk7CiAgIHJvd3MgPSBGUkFNRV9Q SVhFTF9IRUlHSFRfVE9fVEVYVF9MSU5FUyAoZW1hY3NmcmFtZSwgbmV3aCk7CiAKQEAgLTYxNzQs NiArNjE4MSw5IEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAqYXJnKQogICBpZiAocm93cyA8IE1J TkhFSUdIVCkKICAgICByb3dzID0gTUlOSEVJR0hUOwogCisgIE5TVFJBQ0VfTVNHICAoIk5ldyBj b2x1bW5zOiAlZCIsIGNvbHMpOworICBOU1RSQUNFX01TRyAgKCJOZXcgcm93czogJWQiLCByb3dz KTsKKwogICBpZiAob2xkciAhPSByb3dzIHx8IG9sZGMgIT0gY29scyB8fCBuZXd3ICE9IG9sZHcg fHwgbmV3aCAhPSBvbGRoKQogICAgIHsKICAgICAgIE5TVmlldyAqdmlldyA9IEZSQU1FX05TX1ZJ RVcgKGVtYWNzZnJhbWUpOwpAQCAtNjE5MSw2ICs2MjAxLDEwIEBAIG5vdF9pbl9hcmd2IChOU1N0 cmluZyAqYXJnKQogICAgICAgW3ZpZXcgc2V0RnJhbWU6IHdyXTsKICAgICAgIFtzZWxmIHdpbmRv d0RpZE1vdmU6bmlsXTsgICAvLyBVcGRhdGUgdG9wL2xlZnQuCiAgICAgfQorICBlbHNlCisgICAg eworICAgICAgTlNUUkFDRV9NU0cgKCJObyBjaGFuZ2UiKTsKKyAgICB9CiB9CiAKIC0gKE5TU2l6 ZSl3aW5kb3dXaWxsUmVzaXplOiAoTlNXaW5kb3cgKilzZW5kZXIgdG9TaXplOiAoTlNTaXplKWZy YW1lU2l6ZQpAQCAtNjI5OSw2ICs2MzEzLDEyIEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAqYXJn KQogewogICBOU1RSQUNFICgid2luZG93RGlkUmVzaXplIik7CiAKKyAgaWYgKGVtYWNzZnJhbWUt Pm91dHB1dF9kYXRhLm5zLT5pbl9hbmltYXRpb24pCisgICAgeworICAgICAgTlNUUkFDRV9NU0cg KCJJZ25vcmVkIChpbiBhbmltYXRpb24pIik7CisgICAgICByZXR1cm47CisgICAgfQorCiAgIGlm ICghIFtzZWxmIGZzSXNOYXRpdmVdKQogICAgIHsKICAgICAgIE5TV2luZG93ICp0aGVXaW5kb3cg PSBbbm90aWZpY2F0aW9uIG9iamVjdF07CkBAIC03Mzk2LDYgKzc0MTYsNyBAQCBub3RfaW5fYXJn diAoTlNTdHJpbmcgKmFyZykKIAogLSAodm9pZCkgc2V0Um93czogKGludCkgciBhbmRDb2x1bW5z OiAoaW50KSBjCiB7CisgIE5TVFJBQ0UgKCJbRW1hY3NWaWV3IHNldFJvd3M6JWQgYW5kQ29sdW1u czolZF0iLCByLCBjKTsKICAgcm93cyA9IHI7CiAgIGNvbHMgPSBjOwogfQo= --001a1140feb6ab739a05231cf238 Content-Type: text/plain; charset=US-ASCII; name="emacs-commit-messages2.txt" Content-Disposition: attachment; filename="emacs-commit-messages2.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ig9wc92q1 Rml4IGluY29ycmVjdCBOZXh0U3RlcCB0b29sLWJhci1tb2RlIC0tIHdyb25nIG51bWJlciBvZiBy b3dzIGluIGZyYW1lLgoKKiBuc3Rlcm0uaCAoc3RydWN0IG5zX291dHB1dCk6IE5ldyBmbGFnLCBp bl9hbmltYXRpb24uCiogbnNmbnMubSAoRnhfY3JlYXRlX2ZyYW1lKTogSW5pdGlhbGl6ZSBpbl9h bmltYXRpb24gZmxhZy4KKiBuc21lbnUubSAoZnJlZV9mcmFtZV90b29sX2JhciwgdXBkYXRlX2Zy YW1lX3Rvb2xfYmFyKTogU2V0CmluX2FuaW1hdGlvbiBmbGFnIGFyb3VuZCBjYWxsIHRvICJzZXRW aXNpYmxlIi4gU2V0IG5ldyB0b29sIGJhcgpoZWlnaHQgYmVmb3JlIGNhbGwgdG8gc2V0VmlzaWJs ZS4KKiBuc3Rlcm0ubSAoeF9zZXRfd2luZG93X3NpemUpOiBEb24ndCBjYWxsIFt2aWV3IHNldFJv dzoKYW5kQ29sdW1uczpdIGFzIHRoaXMgZm9vbHMgdGhlIHN1YnNlcXVlbnQgY2FsbCB0byB1cGRh dGVGcmFtZVNpemUKZnJvbSBwZXJmb3JtaW5nIHRoZSByZWFsIHJlc2l6ZS4KKHdpbmRvd0RpZFJl c2l6ZSk6IERvbid0IHVwZGF0ZSBhbnl0aGluZyB3aGVuIGluX2FuaW1hdGlvbiBpcwpub24temVy by4KClRyYWNlIG91dHB1dC4KCiogbnNtZW51Lm0gKGZyZWVfZnJhbWVfdG9vbF9iYXIsIHVwZGF0 ZV9mcmFtZV90b29sX2JhcikKKEVtYWNzVG9vbGJhcik6CiogbnN0ZXJtLm0gKHhfc2V0X3dpbmRv d19zaXplLCB1cGRhdGVGcmFtZVNpemUpCihbRW1hY3NWaWV3IHNldFJvd3M6IGFuZENvbHVtbnM6 XSkK --001a1140feb6ab739a05231cf238 Content-Type: text/plain; charset=US-ASCII; name="start-crash.txt" Content-Disposition: attachment; filename="start-crash.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ig9we0lt2 UHJvZ3JhbSByZWNlaXZlZCBzaWduYWwgRVhDX0JBRF9BQ0NFU1MsIENvdWxkIG5vdCBhY2Nlc3Mg bWVtb3J5LgpSZWFzb246IEtFUk5fSU5WQUxJRF9BRERSRVNTIGF0IGFkZHJlc3M6IDB4MDAwMDAw MDAwMDAwMDAxMAoweDAwMDA3ZmZmOGFlNGJlNjUgaW4gKGFub255bW91cyBuYW1lc3BhY2UpOjpB dXRvcmVsZWFzZVBvb2xQYWdlOjpwb3AgKCkKKGdkYikgYnQKIzAgIDB4MDAwMDdmZmY4YWU0YmU2 NSBpbiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkF1dG9yZWxlYXNlUG9vbFBhZ2U6OnBvcCAoKQoj MSAgMHgwMDAwN2ZmZjhiMWMxNmYyIGluIF9DRkF1dG9yZWxlYXNlUG9vbFBvcCAoKQojMiAgMHgw MDAwN2ZmZjhmNmEyODMyIGluIC1bTlNBdXRvcmVsZWFzZVBvb2wgZHJhaW5dICgpCiMzICAweDAw MDA3ZmZmODY3ZGRiYzEgaW4gLVtOU0FwcGxpY2F0aW9uIHJ1bl0gKCkKIzQgIDB4MDAwMDAwMDEw MDFhMjdhOCBpbiAtW0VtYWNzQXBwIHJ1bl0gKAogICAgc2VsZj08dmFsdWUgdGVtcG9yYXJpbHkg dW5hdmFpbGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25zPiwgCiAgICBfY21kPTx2YWx1ZSB0ZW1w b3JhcmlseSB1bmF2YWlsYWJsZSwgZHVlIHRvIG9wdGltaXphdGlvbnM+KQogICAgYXQgbnN0ZXJt Lm06NDgyNwojNSAgMHgwMDAwMDAwMTAwMWEyNTBiIGluIG5zX3Rlcm1faW5pdCAoCiAgICBkaXNw bGF5X25hbWU9PHZhbHVlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLCBkdWUgdG8gb3B0aW1pemF0 aW9ucz4pCiAgICBhdCBuc3Rlcm0ubTo0NzU5CiM2ICAweDAwMDAwMDAxMDAxYjVkYTcgaW4gRnhf b3Blbl9jb25uZWN0aW9uIChkaXNwbGF5PTQzNzU3MDg1NTYsIAogICAgcmVzb3VyY2Vfc3RyaW5n PTAsIG11c3Rfc3VjY2VlZD00MDQxNikgYXQgbnNmbnMubToxODQ0CiM3ICAweDAwMDAwMDAxMDAx MzdjZmUgaW4gRmZ1bmNhbGwgKAogICAgbmFyZ3M9PHZhbHVlIHRlbXBvcmFyaWx5IHVuYXZhaWxh YmxlLCBkdWUgdG8gb3B0aW1pemF0aW9ucz4sIAogICAgYXJncz08dmFsdWUgdGVtcG9yYXJpbHkg dW5hdmFpbGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25zPikgYXQgZXZhbC5jOjI2NTcKIzggIDB4 MDAwMDAwMDEwMDE2ZmNhNCBpbiBleGVjX2J5dGVfY29kZSAoCiAgICBieXRlc3RyPTx2YWx1ZSB0 ZW1wb3JhcmlseSB1bmF2YWlsYWJsZSwgZHVlIHRvIG9wdGltaXphdGlvbnM+LCAKICAgIHZlY3Rv cj00NDI5NDU5OTk3LCAKICAgIG1heGRlcHRoPTx2YWx1ZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJs ZSwgZHVlIHRvIG9wdGltaXphdGlvbnM+LCAKICAgIGFyZ3NfdGVtcGxhdGU9PHZhbHVlIHRlbXBv cmFyaWx5IHVuYXZhaWxhYmxlLCBkdWUgdG8gb3B0aW1pemF0aW9ucz4sIAogICAgbmFyZ3M9PHZh bHVlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLCBkdWUgdG8gb3B0aW1pemF0aW9ucz4sIAogICAg YXJncz08dmFsdWUgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25z PikKICAgIGF0IGJ5dGVjb2RlLmM6ODgwCiM5ICAweDAwMDAwMDAxMDAxMzdiNGYgaW4gRmZ1bmNh bGwgKAogICAgbmFyZ3M9PHZhbHVlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLCBkdWUgdG8gb3B0 aW1pemF0aW9ucz4sIAogICAgYXJncz08dmFsdWUgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUsIGR1 ZSB0byBvcHRpbWl6YXRpb25zPikgYXQgZXZhbC5jOjI2OTkKIzEwIDB4MDAwMDAwMDEwMDEzNzY0 OCBpbiBGYXBwbHkgKAogICAgbmFyZ3M9PHZhbHVlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLCBk dWUgdG8gb3B0aW1pemF0aW9ucz4sIAogICAgYXJncz08dmFsdWUgdGVtcG9yYXJpbHkgdW5hdmFp bGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25zPikgYXQgZXZhbC5jOjIyMzEKIzExIDB4MDAwMDAw MDEwMDEzN2JlYSBpbiBGZnVuY2FsbCAoCiAgICBuYXJncz08dmFsdWUgdGVtcG9yYXJpbHkgdW5h dmFpbGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25zPiwgCiAgICBhcmdzPTx2YWx1ZSB0ZW1wb3Jh cmlseSB1bmF2YWlsYWJsZSwgZHVlIHRvIG9wdGltaXphdGlvbnM+KSBhdCBldmFsLmM6MjYzMAoj MTIgMHgwMDAwMDAwMTAwMTZmY2E0IGluIGV4ZWNfYnl0ZV9jb2RlICgKICAgIGJ5dGVzdHI9PHZh bHVlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLCBkdWUgdG8gb3B0aW1pemF0aW9ucz4sIAogICAg dmVjdG9yPTQ0OTY1Mzg0NzcsIAogICAgbWF4ZGVwdGg9PHZhbHVlIHRlbXBvcmFyaWx5IHVuYXZh aWxhYmxlLCBkdWUgdG8gb3B0aW1pemF0aW9ucz4sIAogICAgYXJnc190ZW1wbGF0ZT08dmFsdWUg dGVtcG9yYXJpbHkgdW5hdmFpbGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25zPiwgCiAgICBuYXJn cz08dmFsdWUgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25zPiwg CiAgICBhcmdzPTx2YWx1ZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZSwgZHVlIHRvIG9wdGltaXph dGlvbnM+KQogICAgYXQgYnl0ZWNvZGUuYzo4ODAKIzEzIDB4MDAwMDAwMDEwMDEzN2I0ZiBpbiBG ZnVuY2FsbCAoCiAgICBuYXJncz08dmFsdWUgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUsIGR1ZSB0 byBvcHRpbWl6YXRpb25zPiwgCiAgICBhcmdzPTx2YWx1ZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJs ZSwgZHVlIHRvIG9wdGltaXphdGlvbnM+KSBhdCBldmFsLmM6MjY5OQojMTQgMHgwMDAwMDAwMTAw MTZmY2E0IGluIGV4ZWNfYnl0ZV9jb2RlICgKICAgIGJ5dGVzdHI9PHZhbHVlIHRlbXBvcmFyaWx5 IHVuYXZhaWxhYmxlLCBkdWUgdG8gb3B0aW1pemF0aW9ucz4sIAogICAgdmVjdG9yPTQyOTgzNjUy MDUsIAogICAgbWF4ZGVwdGg9PHZhbHVlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLCBkdWUgdG8g b3B0aW1pemF0aW9ucz4sIAogICAgYXJnc190ZW1wbGF0ZT08dmFsdWUgdGVtcG9yYXJpbHkgdW5h dmFpbGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25zPiwgCiAgICBuYXJncz08dmFsdWUgdGVtcG9y YXJpbHkgdW5hdmFpbGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25zPiwgCiAgICBhcmdzPTx2YWx1 ZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZSwgZHVlIHRvIG9wdGltaXphdGlvbnM+KQogICAgYXQg Ynl0ZWNvZGUuYzo4ODAKIzE1IDB4MDAwMDAwMDEwMDEzN2I0ZiBpbiBGZnVuY2FsbCAoCiAgICBu YXJncz08dmFsdWUgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25z PiwgCiAgICBhcmdzPTx2YWx1ZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZSwgZHVlIHRvIG9wdGlt aXphdGlvbnM+KSBhdCBldmFsLmM6MjY5OQojMTYgMHgwMDAwMDAwMTAwMTZmY2E0IGluIGV4ZWNf Ynl0ZV9jb2RlICgKICAgIGJ5dGVzdHI9PHZhbHVlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLCBk dWUgdG8gb3B0aW1pemF0aW9ucz4sIAogICAgdmVjdG9yPTQyOTgzNjExODEsIAogICAgbWF4ZGVw dGg9PHZhbHVlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLCBkdWUgdG8gb3B0aW1pemF0aW9ucz4s IAogICAgYXJnc190ZW1wbGF0ZT08dmFsdWUgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUsIGR1ZSB0 byBvcHRpbWl6YXRpb25zPiwgCiAgICBuYXJncz08dmFsdWUgdGVtcG9yYXJpbHkgdW5hdmFpbGFi bGUsIGR1ZSB0byBvcHRpbWl6YXRpb25zPiwgCiAgICBhcmdzPTx2YWx1ZSB0ZW1wb3JhcmlseSB1 bmF2YWlsYWJsZSwgZHVlIHRvIG9wdGltaXphdGlvbnM+KQogICAgYXQgYnl0ZWNvZGUuYzo4ODAK IzE3IDB4MDAwMDAwMDEwMDEzNzU0MCBpbiBhcHBseV9sYW1iZGEgKGZ1bj00Mjk4MzYxMTAxLCAK ICAgIGFyZ3M9PHZhbHVlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLCBkdWUgdG8gb3B0aW1pemF0 aW9ucz4sIAogICAgY291bnQ9PHZhbHVlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLCBkdWUgdG8g b3B0aW1pemF0aW9ucz4pIGF0IGV2YWwuYzoyNzUxCiMxOCAweDAwMDAwMDAxMDAxMzQ0NWQgaW4g ZXZhbF9zdWIgKAogICAgZm9ybT08dmFsdWUgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUsIGR1ZSB0 byBvcHRpbWl6YXRpb25zPikgYXQgZXZhbC5jOjIxNjgKIzE5IDB4MDAwMDAwMDEwMDEzNzM5OCBp biBGZXZhbCAoZm9ybT00NDYyODU4NTc5LCAKICAgIGxleGljYWw9PHZhbHVlIHRlbXBvcmFyaWx5 IHVuYXZhaWxhYmxlLCBkdWUgdG8gb3B0aW1pemF0aW9ucz4pCiAgICBhdCBldmFsLmM6MTk1Mwoj MjAgMHgwMDAwMDAwMTAwMTM2NmI3IGluIGludGVybmFsX2NvbmRpdGlvbl9jYXNlICgKICAgIGJm dW49MHgxMDAwY2M4NDAgPHRvcF9sZXZlbF8yPiwgCiAgICBoYW5kbGVycz08dmFsdWUgdGVtcG9y YXJpbHkgdW5hdmFpbGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25zPiwgCiAgICBoZnVuPTx2YWx1 ZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZSwgZHVlIHRvIG9wdGltaXphdGlvbnM+KSBhdCBldmFs LmM6MTMwOQojMjEgMHgwMDAwMDAwMTAwMGNjODBkIGluIHRvcF9sZXZlbF8xICgKICAgIGlnbm9y ZT08dmFsdWUgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUsIGR1ZSB0byBvcHRpbWl6YXRpb25zPikK ICAgIGF0IGtleWJvYXJkLmM6MTEwMwojMjIgMHgwMDAwMDAwMTAwMTM2MGVmIGluIGludGVybmFs X2NhdGNoICgKICAgIHRhZz08dmFsdWUgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUsIGR1ZSB0byBv cHRpbWl6YXRpb25zPiwgCiAgICBmdW5jPTB4MTAwMGNjN2UwIDx0b3BfbGV2ZWxfMT4sIGFyZz0w KSBhdCBldmFsLmM6MTA3MwojMjMgMHgwMDAwMDAwMTAwMGJiMGZmIGluIGNvbW1hbmRfbG9vcCAo KSBhdCBrZXlib2FyZC5jOjEwNjQKIzI0IDB4MDAwMDAwMDEwMDBiYjAyOSBpbiByZWN1cnNpdmVf ZWRpdF8xICgpIGF0IGtleWJvYXJkLmM6NjcxCiMyNSAweDAwMDAwMDAxMDAwYmIyNGMgaW4gRnJl Y3Vyc2l2ZV9lZGl0ICgpIGF0IGtleWJvYXJkLmM6NzQyCiMyNiAweDAwMDAwMDAxMDAwYjlmMzQg aW4gbWFpbiAoYXJnYz1DYW5ub3QgYWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNzIDB4MAopIGF0IGVt YWNzLmM6MTY0NAo= --001a1140feb6ab739a05231cf238-- From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 28 03:54:39 2015 Received: (at 21415) by debbugs.gnu.org; 28 Oct 2015 07:54:40 +0000 Received: from localhost ([127.0.0.1]:41140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrLZ9-0002rp-34 for submit@debbugs.gnu.org; Wed, 28 Oct 2015 03:54:39 -0400 Received: from mail-vk0-f42.google.com ([209.85.213.42]:33722) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrLYn-0002r4-KP for 21415@debbugs.gnu.org; Wed, 28 Oct 2015 03:54:36 -0400 Received: by vkgy127 with SMTP id y127so137512915vkg.0 for <21415@debbugs.gnu.org>; Wed, 28 Oct 2015 00:54:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=RmJURpRy2VOALGL0o8jIW5W5AzrrHO/GPwaVw9WaRo8=; b=foEEH5/QeSgbmo1BEF71WqoOFfOKKpSsxaPWHz3mNFX95cf1C9kWGykGPYrbyaO41g m/+fWkbxx8dJA0GO0dS9//iNhvE6UxK4VV9uvCsAx/Dw/y80KMt/UUReqGQJsjHetnIq koMyAguTTc81OfikqjXoqA2F/sDfbL4YWeLxgeMDonddHqs6oJXgV8QbIfGhEm3clte+ Tuhl32h5UVlmYVps+jA4fBk9J1og7sbCY6sBybEB7pUoHqFwyaJXAvsV4WLbcZfRhG7O FYPMwxvwQifvXozG+75Btw67iWqBNjmQrfI5krTJszkWGNLlPfVRz0mDpWN/FtpnRAhL mrlg== MIME-Version: 1.0 X-Received: by 10.31.33.200 with SMTP id h191mr33622475vkh.105.1446018856780; Wed, 28 Oct 2015 00:54:16 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Wed, 28 Oct 2015 00:54:16 -0700 (PDT) In-Reply-To: References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> Date: Wed, 28 Oct 2015 08:54:16 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a113dc2724c3c2a05232580c1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a113dc2724c3c2a05232580c1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable > > One thing that I have noticed lately is that Emacs often crash when > started. I managed to get a call stack by running gdb, but it doesn't mea= n > much to me. Do any of you have an idea what is going on? > I think I have solved this one. Input events started coming in before the init code had finished. By surrounding it by a block_input() and unblock_input() pair it seems to work better. I will run it for a couple of days and, if the problems have gone away, I will commit it. -- Anders > On Sat, Oct 24, 2015 at 11:43 PM, Anders Lindgren > wrote: > >> Hi, >> >> On Sat, Oct 24, 2015 at 8:57 PM, martin rudalics wrote= : >> > >> > > Anyway, I think the problem you are seeing is due to the fact that I >> have >> > > replaced the code in "zoom" with custom code that simply resizes the >> frame. >> > > On OS X there is nothing special happening when maximizing the frame >> -- the >> > > outer frame (one pixel thick) is still there, no buttons should chan= ge >> > ^^^^^ >> > You mean the outer border, I presume. Here the border (some 5 pixels) >> > is probably removed by the window manager. Don't ask me why and how. >> > But this and most other problems I reported existed already before you= r >> > change. >> >> Was the outer frame removed and the icon changed before my rewrites? If >> so, try to use the old zoom system instead of the new. >> >> >> > I doubt it would help much. One basic problem with GNUStep here is th= at >> > the workarea as returned by =E2=80=98display-monitor-attributes-list= =E2=80=99 is the >> > same as the geometry returned by that function (are they the same on >> > OSX?). Hence I see no way to have the GNUStep build recognize the >> > presence of my taskbar and not hide it when maximizing the frame. >> >> You can check if the NSScreen "frame" and "visibleFrame" would return >> different frame. In "ns_menu_bar_height" I use this. Maybe it can be use= d >> under GNUStep to find the height of the taskbar? >> >> >> > BTW >> > >> > (set-frame-parameter nil 'fullscreen 'fullboth) >> > >> > is broken here just as it was before your changes. Does it work for >> you? >> >> Yes, it enters the real fullscreen mode. >> >> Does it work if you set `ns-use-native-fullscreen' to nil? >> >> >> > > When it comes to the double tool bar, I have unfortunately no idea >> what the >> > > problem is. >> > >> > The crazy thing is that with the old build I got it for a normal initi= al >> > frame and now I get for a maximized initial frame ;-) >> >> Bizzarre... I would check "update_frame_tool_bar" in nsmenu.m or >> initFrameFromEmacs in nsterm.m to see if any of those allocate more than >> one EmacsToolbar. >> >> >> I have located the toolbar error. When "setVisible" is called, OS X >> starts an animation. When this animation runs, windowWasResized tried to >> keep up and update rows and columns. On the way it got lost and the end >> result was a bad "row" could. When simply doing nothing when the animati= on >> runs, everything work OK. Hopefully, I will be able to push the end resu= lt >> within the next couple of days. >> >> -- Anders >> >> > --001a113dc2724c3c2a05232580c1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
One thing that I have noti= ced lately is that Emacs often crash when started. I managed to get a call = stack by running gdb, but it doesn't mean much to me. Do any of you hav= e an idea what is going on?

I t= hink I have solved this one. Input events started coming in before the init= code had finished. By surrounding it by a block_input() and unblock_input(= ) pair it seems to work better. I will run it for a couple of days and, if = the problems have gone away, I will commit it.

=C2= =A0 =C2=A0 -- Anders

=C2=A0
On Sat, Oct 24, 2015 at 11:43 PM, Anders L= indgren <andlind@gmail.com> wrote:
Hi,

On Sat, Oct 24, 2015 at 8:57 P= M, martin rudalics <rudalics@gmx.at> wrote:
>
> > Anyway, I think the pr= oblem you are seeing is due to the fact that I have
> > replaced t= he code in "zoom" with custom code that simply resizes the frame.=
> > On OS X there is nothing special happening when maximizing th= e frame -- the
> > outer frame (one pixel thick) is still there, n= o buttons should change
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^^^^^
> Y= ou mean the outer border, I presume.=C2=A0 Here the border (some 5 pixels)<= br>> is probably removed by the window manager.=C2=A0 Don't ask me w= hy and how.
> But this and most other problems I reported existed alr= eady before your
> change.

Was the outer frame removed = and the icon changed before my rewrites? If so, try to use the old zoom sys= tem instead of the new.

=C2=A0
> I doubt it would help m= uch.=C2=A0 One basic problem with GNUStep here is that
> the workarea= as returned by =E2=80=98display-monitor-attributes-list=E2=80=99 is the> same as the geometry returned by that function (are they the same on<= br>> OSX?).=C2=A0 Hence I see no way to have the GNUStep build recognize= the
> presence of my taskbar and not hide it when maximizing the fra= me.

You can check if the NSScreen "frame" and "= ;visibleFrame" would return different frame. In "ns_menu_bar_heig= ht" I use this. Maybe it can be used under GNUStep to find the height = of the taskbar?


> BTW
>
> (set-frame-parame= ter nil 'fullscreen 'fullboth)
>
> is broken here just = as it was before your changes.=C2=A0 Does it work for you?

Ye= s, it enters the real fullscreen mode.
=C2=A0
Does it work if you se= t `ns-use-native-fullscreen' to nil?


> > = When it comes to the double tool bar, I have unfortunately no idea what the=
> > problem is.
>
> The crazy thing is that with the = old build I got it for a normal initial
> frame and now I get for a m= aximized initial frame ;-)

Bizzarre... I would check "up= date_frame_tool_bar" in nsmenu.m or initFrameFromEmacs in nsterm.m to = see if any of those allocate more than one EmacsToolbar.

=

I have located the toolbar error. When "setVisible= " is called, OS X starts an animation. When this animation runs, windo= wWasResized tried to keep up and update rows and columns. On the way it got= lost and the end result was a bad "row" could. When simply doing= nothing when the animation runs, everything work OK. Hopefully, I will be = able to push the end result within the next couple of days.

=C2=A0 =C2=A0 -- Anders
<= br>


--001a113dc2724c3c2a05232580c1-- From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 28 05:54:52 2015 Received: (at 21415) by debbugs.gnu.org; 28 Oct 2015 09:54:52 +0000 Received: from localhost ([127.0.0.1]:41202 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrNRT-0007CU-RR for submit@debbugs.gnu.org; Wed, 28 Oct 2015 05:54:52 -0400 Received: from mout.gmx.net ([212.227.15.19]:54779) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrNRA-0007Bm-CR for 21415@debbugs.gnu.org; Wed, 28 Oct 2015 05:54:50 -0400 Received: from [178.191.140.161] ([178.191.140.161]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0MJSx9-1ZuOF72Y2N-0034fC; Wed, 28 Oct 2015 10:54:26 +0100 Message-ID: <56309B4D.408@gmx.at> Date: Wed, 28 Oct 2015 10:54:21 +0100 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:KH8FAtlijJPADY8dc6NLyxa0TIgWyWtN6/80fQk6zAuoXY+RSX+ o/L0wSu8EppRyJAAbIZcPisOqADHcqOTobtgZUQudKp6SF50/QnoicCE2ugO4l85aH8RzBW rbLYBHFU4nSyGJ4yDY3VdME8PD4XbDKaLilJ+rPPStrUYALGirdRHJN5EPAQowR80zFyiCc zdUzANmbyBnM2qjb7d3vw== X-UI-Out-Filterresults: notjunk:1;V01:K0:+In1g6cbzJU=:Ii0BTNXhP73JgLcIioZjyb Q8c85MTQYDUBJUka02g6F3rOH2eLGHJqzpxZAy1ckec4uK95B7EO34bzVSyxICuphrSWPMphC X9rr+O916+5lCEkoAw9Qfa5DstfwGXRbB2sSEqmI2LQNQM5HVP2rmu+OpORhxV968hpN7/+c7 J1UDLBRyotjnyGZ9Mj0G3lpIVoUFO1MTjZtTRMfsVHudwBkfLjeUhgTunOD3Z9a3ua467NJ4V gMIG1BbxnrWK3Tu6soZn8NPvgUsahet41hptd65X+2jd8HRr498DLmVl1md/hwQKe/GiQfNEL 8yZRVxuDCY+EeRCLB+CM4djW7oWkb0dfXcTn8sZ4IswkRlyriY9xM8TjxETPmeHZ/drRU5rgx 0bksZ+jWTru0Z6ZrELXlnKl0ZU2KTnlGzaKQWu/NxHVupSb5QbTStqYcem1gAD0Gad3Wx84eq lmeH525f5x9Kc3SCi4H1PB1YWRjTQ/tXIRUgwp2NOxK2t3ng9QEvMGz7oMJUCkyKdzeaNBBgb LkCXmh2xei51mfzBEcCHAw3zY3hWuBItJYR+zEfCkx5osTqdcGP0O7F72w+q9Wq2HOJZxZBY9 xbImhoPZ9DtkpUyo9dpI3mNkv+N1YUiXFVKDt9XrDlR6RMAu3KTr1igQxKcZMo12b0qAVkX0G irYW1qZUmWrRZ86AX5xcMPSe+triVfNB7BaBdUUeWLk6s8Wc/g3S0bQuS4711a4+QFMr3TGAQ 4IKzBbiN+to9nZbQR7UEO5+jQOXaW8FfJJ+MagTmwfiKa61wllMksAiKnb48aeOZwAHcczzpL iKSHF6F X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > here is a patch to fix the problems with tool-bar-mode, please try it out. Thank you. Works well here. Please install ASAP. > One thing that I have noticed lately is that Emacs often crash when > started. I managed to get a call stack by running gdb, but it doesn't mean > much to me. Do any of you have an idea what is going on? Leaves me completely clueless :-( martin From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 28 05:55:07 2015 Received: (at 21415) by debbugs.gnu.org; 28 Oct 2015 09:55:07 +0000 Received: from localhost ([127.0.0.1]:41206 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrNRj-0007Da-3a for submit@debbugs.gnu.org; Wed, 28 Oct 2015 05:55:07 -0400 Received: from mout.gmx.net ([212.227.15.15]:53047) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrNRh-0007DT-RM for 21415@debbugs.gnu.org; Wed, 28 Oct 2015 05:55:06 -0400 Received: from [178.191.140.161] ([178.191.140.161]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0MdKgV-1a9rlj2PSd-00IVlM; Wed, 28 Oct 2015 10:55:04 +0100 Message-ID: <56309B74.9060006@gmx.at> Date: Wed, 28 Oct 2015 10:55:00 +0100 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:PcyCivnlFLWBwIhi+JdM+1qPeojWs1IovG9/6m+g+bIpdqxRLd+ yQb90j7f9l5t6BnILyRtGRy92rYxy2sOqNrwBU9Pja6q5EORS+WHOQhOEd+QAFNp/Fngax0 Cogo9tgdY04VVMWaFyhLoYXdTNszQ0okpeBzNOYShNFzUBUpIQJS45SyGjCiGiobIXBuGo+ I/XcUTJ+Y+RnrP32De3aw== X-UI-Out-Filterresults: notjunk:1;V01:K0:E6iqGZ3xXv8=:V2fPfEfwUCTvzFRMpFr00v vpIgq20vsDuxmlQLfChDKZYSzYNLSs06Nq/41fat9x4o1OkNgrTAT8pb1xvS9acPQikdNQ9q5 /h+V9k3HdOuQ/AwCP444kxLJd3f8JicONJwLICMmh35KCnZCsjVO6VaJ98ujM3uGhbSXv6zHH +8mG2hVLw51QbKAj3lHQs0yCw/tOYauyfhITFrzMa8GYjGvHMAg3LGkpLBpG2X6ZNhpT8VafE orLr9ja/EUVKn8OqzhaJcg03YzMRfx1SXJIuUqSKMBz0ryqnRiBcWxCCi7a83CDBsViUB/m79 +mgcBAxO002rZ5V0A2jd0W8yvFygdVgVsz3XGvRwoo7s5XbV1HICYz3ID853KWEQg0TW2+6wN cNw6+QqRlNYEDZ/alE/En+DlB9pEz5THb9xtbsHcHUjMscN0/tJPIU4M8aSNNIp9YKxV7oRhn oIVsALoqe5XA4bW/AlO4J/oEWyAk7R2L2QlwU0YFW3e885debYWD05Ify4NJJdSVqaKXdvydr uOrRR/xYX6XJwPJ6O9fcq+jGhA83a36FHYHEOadwds4ZVo5bOSHutP2EKzTUFAibjs1eRKBjk SI0uGub3oJkvQWdtKyGB4twyk5FOSc4p+7owovqvWzjSjtL3EIIL5FKW6YOrhM6SyLLKLFpmn +GnTnp/FuLYllgq4VBJJUyBJlQCuhOGu9GD79meQKdkFyoTVgCL34AqIBwTq6DNWJjgwjmrhi mbhcW6Vud+VoPgA9dN1FrAFSp9EKoKn2+mW78mn8yPgc7ySJCVdGXYX/KpdwiqM7RxMwh3VOC Sfrv6uo X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I think I have solved this one. Input events started coming in before the > init code had finished. By surrounding it by a block_input() and > unblock_input() pair it seems to work better. I will run it for a couple of > days and, if the problems have gone away, I will commit it. Would that help? I earlier mentioned that here "on GNUStep making the toolbar visible in update_frame_tool_bar immediately provokes a call of windowDidResize which calls updateFrameSize with a not yet updated toolbar height some time before updateFrameSize gets properly called at the end of update_frame_tool_bar." Now update_frame_tool_bar has block_input (); ... if (![toolbar isVisible]) [toolbar setVisible: YES]; ... unblock_input (); and the windowDidResize gets through nevertheless. martin BTW, can you reproduce the scenario of bug#21770? From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 28 07:25:11 2015 Received: (at 21415) by debbugs.gnu.org; 28 Oct 2015 11:25:12 +0000 Received: from localhost ([127.0.0.1]:41258 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrOqt-0003Y0-Cc for submit@debbugs.gnu.org; Wed, 28 Oct 2015 07:25:11 -0400 Received: from mail-vk0-f44.google.com ([209.85.213.44]:33905) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrOqr-0003Xq-Hg for 21415@debbugs.gnu.org; Wed, 28 Oct 2015 07:25:10 -0400 Received: by vkgs66 with SMTP id s66so2508063vkg.1 for <21415@debbugs.gnu.org>; Wed, 28 Oct 2015 04:25:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=hUQNjTgbGtgckCA7NBzOvZul9IJeqF6CsFnlFBFZ+vc=; b=JJI7DXqOua+3sEdHmoEE5m0p74I7Ii7sJwnsKvdP9DjczfXfANuwUQaAlCF6OysJiX LXGUmBg342fcS1D5IJlqwdKM6LEO11v3Y613gHf9pISUpU8TBEqQh2d6VqiSv/lbGuvJ b9IBludcDTSuB1dPsYIAz5IVPrdSy6WO50FyQZGlFbC5dpZFAQ8d1K5GTDU/WoPJl3qd EPu+usKG/t3rkAKR06z3Kzm8huF9itfFWPjt0eHLFDXTXBpsNG9dmrWjq9+GsTddi7Ks WptnGmb2w/q6u51n0WiyXZ82ftk4PUJVzBbVuDiUm7Cua2ipuA1DLOwIMPfVL0c6LKug I7Ig== MIME-Version: 1.0 X-Received: by 10.31.33.200 with SMTP id h191mr34356895vkh.105.1446031509029; Wed, 28 Oct 2015 04:25:09 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Wed, 28 Oct 2015 04:25:08 -0700 (PDT) In-Reply-To: <56309B74.9060006@gmx.at> References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> <56309B74.9060006@gmx.at> Date: Wed, 28 Oct 2015 12:25:08 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a113dc2726e0aa90523287285 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a113dc2726e0aa90523287285 Content-Type: text/plain; charset=UTF-8 On Wed, Oct 28, 2015 at 10:55 AM, martin rudalics wrote: > > I think I have solved this one. Input events started coming in before the > > init code had finished. By surrounding it by a block_input() and > > unblock_input() pair it seems to work better. I will run it for a couple > of > > days and, if the problems have gone away, I will commit it. > > Would that help? Yes, it helped, but for a totally different problem, the startup crash. > I earlier mentioned that here > > "on GNUStep making the > toolbar visible in update_frame_tool_bar immediately provokes a call of > windowDidResize which calls updateFrameSize with a not yet updated > toolbar height some time before updateFrameSize gets properly called at > the end of update_frame_tool_bar." > > Now update_frame_tool_bar has > > block_input (); > ... > if (![toolbar isVisible]) > [toolbar setVisible: YES]; > ... > unblock_input (); > > and the windowDidResize gets through nevertheless. > I have fixed this by introducing a flag, in_animation, which I set temporarily around calls to setVisible. It makes updateFrameSize return immediately. Problem solved. BTW, can you reproduce the scenario of bug#21770? > Yes. I will take a look at fringe-related problems next. I might be able to take a look at this after that. I just pushed the toolbar fix and the startup crash fix. -- Anders --001a113dc2726e0aa90523287285 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On W= ed, Oct 28, 2015 at 10:55 AM, martin rudalics <rudalics@gmx.at> wrote:
> I think I = have solved this one. Input events started coming in before the
> init code had finished. By surrounding it by a block_input() and
> unblock_input() pair it seems to work better. I will run it for a coup= le of
> days and, if the problems have gone away, I will commit it.

Would that help?

Yes, it helped, but for a = totally different problem, the startup crash.

=C2= =A0
=C2=A0 I earlier mentioned that her= e

"on GNUStep making the
toolbar visible in update_frame_tool_bar immediately provokes a call of
windowDidResize which calls updateFrameSize with a not yet updated
toolbar height some time before updateFrameSize gets properly called at
the end of update_frame_tool_bar."

Now update_frame_tool_bar has

=C2=A0 block_input ();
...
=C2=A0 if (![toolbar isVisible])
=C2=A0 =C2=A0 =C2=A0 [toolbar setVisible: YES];
...
=C2=A0 unblock_input ();

and the windowDidResize gets through nevertheless.
I have fixed this by introducing a flag, in_animation, which I = set temporarily around calls to setVisible. It makes updateFrameSize return= immediately. Problem solved.
=C2=A0

BTW, can you reproduce the scenario of bug#21770?

Yes.

I will take= a look at fringe-related problems next. I might be able to take a look at = this after that.


I just pushed the = toolbar fix and the startup crash fix.

=C2=A0 =C2= =A0 =C2=A0-- Anders=C2=A0

--001a113dc2726e0aa90523287285-- From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 28 15:20:09 2015 Received: (at 21415) by debbugs.gnu.org; 28 Oct 2015 19:20:09 +0000 Received: from localhost ([127.0.0.1]:42865 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrWGW-0003d4-Pf for submit@debbugs.gnu.org; Wed, 28 Oct 2015 15:20:09 -0400 Received: from mout.gmx.net ([212.227.17.21]:64540) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrWGT-0003cu-TB for 21415@debbugs.gnu.org; Wed, 28 Oct 2015 15:20:06 -0400 Received: from [188.23.123.230] ([188.23.123.230]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0Lp8h6-1aNX5j3tS8-00eq65; Wed, 28 Oct 2015 20:19:56 +0100 Message-ID: <56311FD4.90003@gmx.at> Date: Wed, 28 Oct 2015 20:19:48 +0100 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> <56309B74.9060006@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:/agRd3sxvpJQaGi2JSMa8zDmWQVCfmLYjKgRvv4JdsPydO7rRZk Eewj9/eq46oFbMZoCwpsTgXEvD8npoerxhaJkvm5qKb2JPYO8VwOSTBSthaJ26v6aFpukZY 0ZnIE8MtcKyG2hatwuGFBtCpi9/91p/fZd4gX8FY5mzuQIeD+F+oAya9mUDVxfqwLj70P4b D9CD3XmCm64a1E/BAgqqQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:LcmeByLToCA=:Nc8ukZ7v6rLeBB+1Gj0JVg oj1i0v0tjm9mHN7/3RZkn7btEvHnw3tDv0Vr21FeiI5MSiOU/cngp3RUP/aq/PhGiJO1CAiNt CcBKIE/6Cu1rIKm8eDthIZCbwLEssTawdhljOQmVvO73S3aEG4QwhxnqWZcaAaMEIlxMpP4hK 7arseNnqrsVEHJ84LVO3LY21k/QhFS+vsCejZeEWSWZnrE/JmxkMRl5hR4+0z7ix8hSRfl8Mr jWY7lQVoIbgg0SLdd72Y7wXL1VGq8xY3l1S6TXAq5HpWPniAtxbW2rrtvYRyp/NUPVMwdHE3z bVwaV/8S2ZlyFyDiXg0ZgKi9UNwIcOyV92FHk7XJavIXdh5Z5OFTaU7BBkw6cYBlhLjnoM8d3 bvVX/Oceu2bDORXPqGz8TI9AKwkzc4ZGsZhGUnUTMNsDZ1Y5sWw5BXLJzTraco4Ap05FU4yrf B9UX+YDsdu2lAS/vJ/ogbQfPkt2hZXd4j6+GScoKwAqmqb3YOOJufQ9h8IH1s9Y8KEeNmpmTY 5+wTs3W2l1seDcZBKwsmrTlkZwn/JuLosgvZ7d8lNEFUq3ORF2qWa9/OyyTwuun/9YfBzgVgF OKijTDF0tkH7RltCZTWP/502wmQvBpVmByuB0m0hJnrur+PoguhZDKTvW7kl5JTfnj7swFfEa 4gF+XxSx24FOl/6FzxiCIbH0ObArQfYDWSUmown33ofIRMqRbYFSJvdo8GsYCi3Bw4sLhjroQ +FH6ZMVdY/YMFoiFMJve6tbMnVMq0WZ9oeyTPS9KnghERB5FQGR5rB7JTe4wgcec9XP6zzrZC 8Emp8dF X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I will take a look at fringe-related problems next. That inversion effect is pretty distracting, indeed. > I might be able to take > a look at this after that. > > > I just pushed the toolbar fix and the startup crash fix. Fine. Keith, can you test it? Just turn off/on the tool bar once with a normal and a maximized frame. Eventually it would be to nice to have adding/removing the tool bar obey =E2=80=98frame-inhibit-implied-resize=E2=80=99 (it currently works OK for= the maximized frame so the fix shouldn't be too hard). Thanks, martin From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 28 22:48:35 2015 Received: (at 21415) by debbugs.gnu.org; 29 Oct 2015 02:48:35 +0000 Received: from localhost ([127.0.0.1]:43057 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrdGC-0005lG-E9 for submit@debbugs.gnu.org; Wed, 28 Oct 2015 22:48:35 -0400 Received: from cobb.liquidweb.com ([50.28.13.150]:55984) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZrdFr-0005kW-LE for 21415@debbugs.gnu.org; Wed, 28 Oct 2015 22:48:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=4bA8MQ+YKEIZLmiNYI0HffHx2IppIuj6aTyTECTHczU=; b=fAzWnz204P1TTXXOzs6AGGBM6BSgfXc7Wz5cGPROow7Uvf4Bi18GX9O23pwL+vBfLI3cHIjCJ0IJGqjItr7IHinf2jmjB7h1y2dRzH9yLKyeAL0OcjLmS9F/XpyU3THm; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:49985 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZrdFn-0005YU-MW; Wed, 28 Oct 2015 22:47:51 -0400 Date: Wed, 28 Oct 2015 19:47:53 -0700 Message-ID: From: Keith David Bershatsky To: martin rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org, Anders Lindgren X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) The following are results of my tests with `emacs-repository-version` "ffa41ad2a02dbd1202d71a08bac34831f25662d0" built this evening (October 28, 2015). Starting from Emacs -Q, and then turning off the toolbar using the mouse by clicking the option in the menubar, the frame shrinks slightly. Clicking the toolbar option again restores the frame to its original position. `M-x toggle-frame-maximized` results in a frame properly maximized. The first time I turned off the toolbar from a maximized frame, the frame shrunk a little. When I turned the toolbar back on again, the frame did not return to a maximized position -- i.e., it remained a few pixels shy of full-screen in terms of height. When I turned the toolbar off again, the main window reduced in size and the height of the echo area increased to about 3 lines in height -- the frame remained the same size. When I turned the toolbar on again, the main window returned to its prior size and the echo area returned to a size of just one line -- the frame stayed the same size (i.e., a few pixels shy of full-screen in terms of height). Keith From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 29 18:54:07 2015 Received: (at 21415) by debbugs.gnu.org; 29 Oct 2015 22:54:07 +0000 Received: from localhost ([127.0.0.1]:44857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zrw58-00067P-TB for submit@debbugs.gnu.org; Thu, 29 Oct 2015 18:54:07 -0400 Received: from mail-vk0-f47.google.com ([209.85.213.47]:36553) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zrw4o-00066Q-VB for 21415@debbugs.gnu.org; Thu, 29 Oct 2015 18:54:05 -0400 Received: by vkex70 with SMTP id x70so36746138vke.3 for <21415@debbugs.gnu.org>; Thu, 29 Oct 2015 15:53:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=569LW8WygP35rmwwbw4IGAc4YIF2JSdRmQR3jey2Esw=; b=wMNYjIsO1NlKEATL2e+4MGIfE7Ntzqb4HrcuCWDY3IMT6qddCMVqRijR9+1pDS2vQx bqMWEgk/GawN8IiGyDPk9Tz+dVYTxSCk3xgfQVIVieIKHoXsqLa5+Gz+A51RjWpNZ6gz 6octPU4gPmr/XzrFkUIqTh59MuUy1btQLyqP5vqGQ3rlqw5iqg/Cg0iOnzwmM0Yp79Td NCiQYejIvt1EyWQ1++QNA8mE6Yt57NWM8gN4JlC8nMaMpN39EjGjsHEQqvPodLbzul63 BpbbP2HuRWKz8yeNA09pBEDaVzUvlAO32VDZHaxi1BNh3aRfUUzzspqEIqZBQPXPbRYX MmRA== MIME-Version: 1.0 X-Received: by 10.31.49.213 with SMTP id x204mr3250410vkx.51.1446159226369; Thu, 29 Oct 2015 15:53:46 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Thu, 29 Oct 2015 15:53:45 -0700 (PDT) In-Reply-To: <56311FD4.90003@gmx.at> References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> <56309B74.9060006@gmx.at> <56311FD4.90003@gmx.at> Date: Thu, 29 Oct 2015 23:53:45 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/mixed; boundary=001a1143f1aefa1d4a0523462e46 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1143f1aefa1d4a0523462e46 Content-Type: multipart/alternative; boundary=001a1143f1aefa1d460523462e44 --001a1143f1aefa1d460523462e44 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, > I will take a look at fringe-related problems next. > > That inversion effect is pretty distracting, indeed. I have attached a fix for the fringe issue. The images were reversed, the background was not transparent (which the rendering code assumed it was), and finally, all images were mirror flipped left-to-right... I have attached a patch for this, please try it out. If possible, try to check if this causes some other image-related problems which I haven't thought of. (I will clean up the trace code before I commit it.) > I might be able to take > > a look at this after that. > > > > > > I just pushed the toolbar fix and the startup crash fix. > > Fine. Keith, can you test it? Just turn off/on the tool bar once with > a normal and a maximized frame. > > Eventually it would be to nice to have adding/removing the tool bar obey > =E2=80=98frame-inhibit-implied-resize=E2=80=99 (it currently works OK for= the maximized > frame so the fix shouldn't be too hard). > I don't think it really worked for fullheight frames. When enabling the tool bar in a maximized frame it looked OK at first glance. However, below the screen, the window stretched out about three text lines, but due to the bug Keith reported, the text grid was restricted with the same amount. The effect was that it only looked like it worked. Now, when enabling tool-bar mode in a fullheight frames, after Keiths bug was fixed, the frame stretches below the screen. It's a bit unfortunate, but it will be a lot of work to do anything about it -- given how the tool bar is currently implemented. Keith wrote: > The first time I turned off the toolbar from a maximized frame, the frame shrunk a little. When I turned the toolbar back on again, the frame did not return to a maximized position -- i.e., it remained a few pixels shy of full-screen in terms of height. I can see the same effect here. I have only tried this with a fullheight frame, in which case it worked. I will take a look at it and try to figure out what the difference between the fullheight and maximized cases. -- Anders Ps. I will be away over the weekend -- hopefully I will be able to answer mail but not do any Emacs core work. --001a1143f1aefa1d460523462e44 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

> I will take a look at fringe-= related problems next.

That inversion effect is pretty distracting, indeed.

<= /div>
I have attached a fix for the fringe issue. The images were rever= sed, the background was not transparent (which the rendering code assumed i= t was), and finally, all images were mirror flipped left-to-right...
<= div>
I have attached a patch for this, please try it out. If = possible, try to check if this causes some other image-related problems whi= ch I haven't thought of.

(I will clean up the = trace code before I commit it.)


> I might be able to take
> a look at this after that.
>
>
> I just pushed the toolbar fix and the startup crash fix.

Fine.=C2=A0 Keith, can you test it?=C2=A0 Just turn off/on the tool bar onc= e with
a normal and a maximized frame.

Eventually it would be to nice to have adding/removing the tool bar obey =E2=80=98frame-inhibit-implied-resize=E2=80=99 (it currently works OK for t= he maximized
frame so the fix shouldn't be too hard).

I don't think it really worked for fullheight frames. When enabli= ng the tool bar in a maximized frame it looked OK at first glance. However,= below the screen, the window stretched out about three text lines, but due= to the bug Keith reported, the text grid was restricted with the same amou= nt. The effect was that it only looked like it worked.

=
Now, when enabling tool-bar mode in a fullheight frames, after Keiths = bug was fixed, the frame stretches below the screen. It's a bit unfortu= nate, but it will be a lot of work to do anything about it -- given how the= tool bar is currently implemented.


Keith wrote:

>=C2=A0The first time I turned off the toolbar from a maximized= frame, the frame shrunk a little.=C2=A0 When I turned the toolbar back on = again, the frame did not return to a maximized position -- i.e., it remaine= d a few pixels shy of full-screen in terms of height.

I can see the same effect here. I have on= ly tried this with a fullheight frame, in which case it worked. I will take= a look at it and try to figure out what the difference between the fullhei= ght and maximized cases.

=C2=A0 =C2=A0 -- Anders

Ps. I will be= away over the weekend -- hopefully I will be able to answer mail but not d= o any Emacs core work.
=C2=A0

--001a1143f1aefa1d460523462e44-- --001a1143f1aefa1d4a0523462e46 Content-Type: text/plain; charset=US-ASCII; name="emacs-commit-messages-fringe.txt" Content-Disposition: attachment; filename="emacs-commit-messages-fringe.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_igcth7vk1 UmVuZGVyIGZyaW5nZSBiaXRtYXBzIGNvcnJlY3RseSBvbiBOZXh0U3RlcC4KClRoZSBmcmluZ2Ug Yml0bWFwcyB3ZXJlIGludmVydGVkLCB0aGUgYmFja2dyb3VuZCB3YXMgbm90CnRyYW5zcGFyZW50 LCBhbmQgdGhlIGltYWdlIGRhdGEgd2FzIGZsaXBwZWQgYml0d2lzZSBsZWZ0LXJpZ2h0LgoKKiBu c2ltYWdlLm0gKFtFbWFjc0ltYWdlIGluaXRGcm9tWEJNOndpZHRoOmhlaWdodDpmZzpiZzpdKTog V2hlbgpib3RoIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29sb3JzIGFyZSAwLCBzZXQgdGhl IGJhY2tncm91bmQKYWxwaGEgY2hhbm5lbCB0byAwIChtYWtpbmcgdGhlIGJhY2tncm91bmQgdHJh bnNwYXJlbnQpLiAgV2hlbgpjb3B5aW5nIHRoZSBpbWFnZSBkYXRhLCBkbyB0aGlzIGZyb20gdGhl IG1vc3Qgc2lnbmlmaWNhbnQgYml0CihsZWZ0bW9zdCkgdG8gdGhlIGxlYXN0IChyaWdodG1vc3Qp LCB0byBhdm9pZCBtaXJyb3JpbmcgaXQuCiogbnN0ZXJtLm0gKG5zX2RyYXdfZnJpbmdlX2JpdG1h cCk6IERvbid0IGludmVydCB0aGUgaW1hZ2UgYml0cy4K --001a1143f1aefa1d4a0523462e46 Content-Type: text/plain; charset=US-ASCII; name="fringe.diff" Content-Disposition: attachment; filename="fringe.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_igctrr761 ZGlmZiAtLWdpdCBhL3NyYy9uc2ltYWdlLm0gYi9zcmMvbnNpbWFnZS5tCmluZGV4IGU3NmE3ZGIu LmEyZTA2MTggMTAwNjQ0Ci0tLSBhL3NyYy9uc2ltYWdlLm0KKysrIGIvc3JjL25zaW1hZ2UubQpA QCAtMjA2LDYgKzIwNiw3IEBAIG5zX3NldF9hbHBoYSAodm9pZCAqaW1nLCBpbnQgeCwgaW50IHks IHVuc2lnbmVkIGNoYXIgYSkKICAgICAgICAgICAgZmc6ICh1bnNpZ25lZCBsb25nKWZnIGJnOiAo dW5zaWduZWQgbG9uZyliZwogewogICB1bnNpZ25lZCBjaGFyICpwbGFuZXNbNV07CisgIHVuc2ln bmVkIGNoYXIgYmdfYWxwaGEgPSAweGZmOwogCiAgIFtzZWxmIGluaXRXaXRoU2l6ZTogTlNNYWtl U2l6ZSAodywgaCldOwogCkBAIC0yMTksNyArMjIwLDEwIEBAIG5zX3NldF9hbHBoYSAodm9pZCAq aW1nLCBpbnQgeCwgaW50IHksIHVuc2lnbmVkIGNoYXIgYSkKICAgW2JtUmVwIGdldEJpdG1hcERh dGFQbGFuZXM6IHBsYW5lc107CiAKICAgaWYgKGZnID09IDAgJiYgYmcgPT0gMCkKLSAgICBiZyA9 IDB4ZmZmZmZmOworICAgIHsKKyAgICAgIGJnID0gMHhmZmZmZmY7CisgICAgICBiZ19hbHBoYSA9 IDA7CisgICAgfQogCiAgIHsKICAgICAvKiBwdWxsIGJpdHMgb3V0IHRvIHNldCB0aGUgKGJ5dGV3 aXNlKSBhbHBoYSBtYXNrICovCkBAIC0yNDQsMjEgKzI0OCwyMiBAQCBuc19zZXRfYWxwaGEgKHZv aWQgKmltZywgaW50IHgsIGludCB5LCB1bnNpZ25lZCBjaGFyIGEpCiAgICAgICAgICAgYyA9ICpz Kys7CiAgICAgICAgICAgZm9yIChrID0gMDsgaSA8IHcgJiYgayA8IDg7ICsraywgKytpKQogICAg ICAgICAgICAgewotICAgICAgICAgICAgICAqYWxwaGErKyA9IDB4ZmY7Ci0gICAgICAgICAgICAg IGlmIChjICYgMSkKKyAgICAgICAgICAgICAgaWYgKGMgJiAweDgwKQogICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICpycisrID0gZmdyOwogICAgICAgICAgICAgICAgICAgKmdn KysgPSBmZ2c7CiAgICAgICAgICAgICAgICAgICAqYmIrKyA9IGZnYjsKKyAgICAgICAgICAgICAg ICAgICphbHBoYSsrID0gMHhmZjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIGVs c2UKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAqcnIrKyA9IGJncjsKICAg ICAgICAgICAgICAgICAgICpnZysrID0gYmdnOwogICAgICAgICAgICAgICAgICAgKmJiKysgPSBi Z2I7CisgICAgICAgICAgICAgICAgICAqYWxwaGErKyA9IGJnX2FscGhhOwogICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgaWR4Kys7Ci0gICAgICAgICAgICAgIGMgPj49IDE7CisgICAg ICAgICAgICAgIGMgPDw9IDE7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgfQpkaWZmIC0t Z2l0IGEvc3JjL25zdGVybS5oIGIvc3JjL25zdGVybS5oCmluZGV4IDNmYjhjZmMuLjJlMzA3NmQg MTAwNjQ0Ci0tLSBhL3NyYy9uc3Rlcm0ubQorKysgYi9zcmMvbnN0ZXJtLm0KQEAgLTI0NjEsNiAr MjQ2MSwxMCBAQCBuc19kcmF3X2ZyaW5nZV9iaXRtYXAgKHN0cnVjdCB3aW5kb3cgKncsIHN0cnVj dCBnbHlwaF9yb3cgKnJvdywKICAgc3RhdGljIEVtYWNzSW1hZ2UgKipiaW1ncyA9IE5VTEw7CiAg IHN0YXRpYyBpbnQgbkJpbWdzID0gMDsKIAorICAvLyBOU1RSQUNFICgibnNfZHJhd19mcmluZ2Vf Yml0bWFwIik7CisgIC8vIE5TVFJBQ0VfTVNHICgid2hpY2g6JWQgY3Vyc29yOiVkIG92ZXJsYXk6 JWQiLAorICAvLyAgICAgICAgICAgICAgcC0+d2hpY2gsIHAtPmN1cnNvcl9wLCBwLT5vdmVybGF5 X3ApOworCiAgIC8qIGdyb3cgYmltZ3MgaWYgbmVlZGVkICovCiAgIGlmIChuQmltZ3MgPCBtYXhf dXNlZF9mcmluZ2VfYml0bWFwKQogICAgIHsKQEAgLTI0OTksMTMgKzI1MDMsMTUgQEAgbnNfZHJh d19mcmluZ2VfYml0bWFwIChzdHJ1Y3Qgd2luZG93ICp3LCBzdHJ1Y3QgZ2x5cGhfcm93ICpyb3cs CiAgICAgICAgICAgdW5zaWduZWQgY2hhciAqY2JpdHMgPSB4bWFsbG9jIChsZW4pOwogCiAgICAg ICAgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQotICAgICAgICAgICAgY2JpdHNbaV0gPSB+ KGJpdHNbaV0gJiAweGZmKTsKKyAgICAgICAgICAgIGNiaXRzW2ldID0gYml0c1tpXTsKICAgICAg ICAgICBpbWcgPSBbW0VtYWNzSW1hZ2UgYWxsb2NdIGluaXRGcm9tWEJNOiBjYml0cyB3aWR0aDog OCBoZWlnaHQ6IHAtPmgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZnOiAwIGJnOiAwXTsKICAgICAgICAgICBiaW1nc1twLT53aGljaCAtIDFdID0gaW1nOwog ICAgICAgICAgIHhmcmVlIChjYml0cyk7CiAgICAgICAgIH0KIAorICAgICAgLy8gTlNUUkFDRV9S RUNUICgiciIsIHIpOworCiAgICAgICBOU1JlY3RDbGlwIChyKTsKICAgICAgIC8qIFNpbmNlIHdl IGNvbXBvc2l0ZSB0aGUgYml0bWFwIGluc3RlYWQgb2YganVzdCBibGl0dGluZyBpdCwgd2UgbmVl ZAogICAgICAgICAgdG8gZXJhc2UgdGhlIHdob2xlIGJhY2tncm91bmQuICovCg== --001a1143f1aefa1d4a0523462e46-- From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 30 04:00:00 2015 Received: (at 21415) by debbugs.gnu.org; 30 Oct 2015 08:00:00 +0000 Received: from localhost ([127.0.0.1]:45227 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zs4bQ-0004bF-3B for submit@debbugs.gnu.org; Fri, 30 Oct 2015 04:00:00 -0400 Received: from mout.gmx.net ([212.227.15.15]:64409) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zs4bO-0004b6-26 for 21415@debbugs.gnu.org; Fri, 30 Oct 2015 03:59:58 -0400 Received: from [62.47.251.64] ([62.47.251.64]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0MSdNs-1a20jf0ADM-00RZJ9; Fri, 30 Oct 2015 08:59:55 +0100 Message-ID: <56332373.1050607@gmx.at> Date: Fri, 30 Oct 2015 08:59:47 +0100 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> <56309B74.9060006@gmx.at> <56311FD4.90003@gmx.at> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:SKiQ/O8dJKCwW2XCYbzlwd6QDPNu6H2zLSsHPTTHVGrPdJMi9gQ JpCmY3uV3PP+6N5wpXnphqq3RpL37C5PTR5efzFf5Hlf4P/N92+bxsk6eLyT135jcJKvQfm KYpip1upPc4y8yU6iKf93xKbIjfF5PVlGZnW0o+FjQCNC+f0sGX5neq9/zecZiHNiwYpb02 gMHxXP2Gzz8rwQjto+x/g== X-UI-Out-Filterresults: notjunk:1;V01:K0:BiAjzQGhFPw=:37HHlaXh1ZXQ44kjEfXOK0 p53TZ0v9bP7yuHLHM0+H0P/O3CG/aZPjIVERMF4NZ3ncYxGpruZ03QUO+Rn44dKfmYthf9Tam f+jH5wjJXfPRvCVAxjDECXvAIVVWGCnSq+QxL7kdTyeq4W0u/lAzr4xHsVQuUVEx6DqjU+moF HZLY7oG1xSyHbLc8Yd2EoWcOCntpJg5ylcBf0VapQZa4ixGMFbCgjUDXlMjJhG6UfmcGgR0XX LR3WGAPttcVyxDOPNqlZLzEDxxPdw2XZ7lKDFNudBYZkHqXlV41aig2CJExgWrqJ3cyq1JNJw 9fQKjv03dKHDRoZ/qsqzTAB64o1rukvLxg4g55lEPmPa5eIMIpTufr33QXmIZ/NKEtsJ1Sx/x Aqx4hH0fhLHP4RMnBX6HD6zpvHkqWEtUr05iMCt57rBT+aEGngcSIU7LooxJFMfW3KynfLQm+ MYh2+gJOD5eKyyTkSnWKLaOjl4HorHlzP7+nYcxc43ruUpvNas3XtA6Tk7NWtfEKPj1sdV95E 3ePdxGpZStK236gaydfuFRvGPnwpRGjPwaFJX7WmMBVIBkblwOSIgBllQDia1+RdEvHBamcPc MeCle2550bDzz/5CwBefz7DqgFwveuKusRkdvs+Nxqw4XLJ+0lYMMRhZbx+kITPC7vxw7c/li hj2EYAPLHkm6zgn6rDY9GgLTXIuLbpUsHlm+p49eXxXI+AjAo9e8ii4SL2m5S+4LoX4pmUGXp 0I5NQtWP3lql0lJ4YTv7GQlM5OGq/+HN1IpUs2XhIGLlRrhEPf1n7StRmeMEZ+ukyYkwv5EY9 T/gPQ2s X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > I have attached a fix for the fringe issue. The images were reversed, the > background was not transparent (which the rendering code assumed it was), > and finally, all images were mirror flipped left-to-right... > > I have attached a patch for this, please try it out. If possible, try to > check if this causes some other image-related problems which I haven't > thought of. Thanks. Continuation glyphs now look good. Here on GNUStep the left fringe occasionally gets clipped, probably by the adjacent scroll bar. Maybe some "fringe sizes should be multiples of character sizes" issue I haven't been able to trace yet. In any case please check in your fix. Please mention the bug number in ChangeLog and commit message and inform the OP, possibly closing the bug (I think it's Bug#21301). Keith - yet another fix you should test ;-) martin From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 30 04:11:10 2015 Received: (at 21415) by debbugs.gnu.org; 30 Oct 2015 08:11:10 +0000 Received: from localhost ([127.0.0.1]:45237 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zs4mD-0004tO-Q1 for submit@debbugs.gnu.org; Fri, 30 Oct 2015 04:11:09 -0400 Received: from mout.gmx.net ([212.227.15.19]:57670) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zs4ls-0004sf-Td for 21415@debbugs.gnu.org; Fri, 30 Oct 2015 04:11:07 -0400 Received: from [62.47.251.64] ([62.47.251.64]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0MSMKx-1a2ICf2d3b-00TYik; Fri, 30 Oct 2015 09:10:42 +0100 Message-ID: <563325F9.7020306@gmx.at> Date: Fri, 30 Oct 2015 09:10:33 +0100 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> <56309B74.9060006@gmx.at> <56311FD4.90003@gmx.at> <56332373.1050607@gmx.at> In-Reply-To: <56332373.1050607@gmx.at> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:ZO1b22wVayAP/TpwhqLPpgYG0q5G9WGVDudgmT+B0oVFJuVNpmg LluKLw703zZy6BQqplI/UxAdoiri8miSlmLSHPFQLLkP3eqiO7WAqRDVkWzk5sR1Yg+uZ9z 6ByI4nlrPyA3tbVNV8i3i+c+a9usDeDOsS2jF/e4Bubi8BmG7MUmIa8QlKdw/kfuL3z+dp/ OwqLBX3aSfZFqoGt2SQqg== X-UI-Out-Filterresults: notjunk:1;V01:K0:7GvAQPgz4gQ=:ngaKkcpuKqJRr3h1cUmtJf GoFbtQoDjGJeWGA8rhs1AoWpQLRq80i4v1C2gqcuzbzotf5XGkN4dFPaV4KmyTQhYpOd4Gxqz ttYDe4RBWR7jfaph+05nBnw+cD/zhBP3ahcxyZiE/87xLDYgfApLL/zT8j/zZLUpgn2z3Ap82 z+NNe3VO6G3TGsaszIvlwV5wS5y6/I36Ow647zw3wShSOV0THMa0bzbGPxfsT7KrU3FsYiPc2 SMzBRwnF3sQsI9AZqcWssiP01fJA6gbwv7Azq9oO9XJxXYQrsbTeOCjnWp8heCrWLbpKLWsbR rQyCOKGhkLnwRfOUSXWvOkaHkEuVZb3zdnxQzX3Xf5BkGhBnhoeDzJzdotx7qbdWcTBJ9xVIq XsAMAsvwFbsvzYlJDsQt/YMAQd68+YQszrlM519IdyvDbnIm9jG4EHETkKV8AizkiovVfsv/n zjgo1uBgmbO0YxMgFeK47nNcxi3NJYjgKxOdYHnXvD78J/9MJNL4PY8DXBJciui7OKo19AkpZ LwRsXaOz98hbFGMhba3ySH2dGUaYe0XODbisHWe3UUkfMALyJmdlqRqCyQN5z6kyh8s61wHCY oW+CIFo2th3PyRAgkUag6tm34RgDgfbaz0wzbHw+icqb2RcFfveKfs4JK69/5+AcGSFm49xgO Ch3r7R3ZNpmAJOjEUnivHv0m9TqkBEpXaiO8y2pOpCGBm39PSb+sM1D7SJS9P1njieQ4Q0sqe zB1bAuQr956WZUSKPyVTapORWu3wl8MJ6kBP+oHRrPGDIkU++SlJnKWinxu24HzO871FNL7RX mJUk6wt X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > Thanks. Continuation glyphs now look good. Here on GNUStep the left > fringe occasionally gets clipped, probably by the adjacent scroll bar. > Maybe some "fringe sizes should be multiples of character sizes" issue I > haven't been able to trace yet. ... which might be related to issues we discussed earlier when you reported bug#16856. Did you ever look into that again? martin From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 30 05:00:39 2015 Received: (at 21415) by debbugs.gnu.org; 30 Oct 2015 09:00:39 +0000 Received: from localhost ([127.0.0.1]:45253 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zs5Y6-00064B-ML for submit@debbugs.gnu.org; Fri, 30 Oct 2015 05:00:39 -0400 Received: from mail-vk0-f46.google.com ([209.85.213.46]:36181) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zs5Y3-00063z-VN for 21415@debbugs.gnu.org; Fri, 30 Oct 2015 05:00:36 -0400 Received: by vkex70 with SMTP id x70so43019807vke.3 for <21415@debbugs.gnu.org>; Fri, 30 Oct 2015 02:00:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=CljOoHtE+DjYAF8hlQAXQjX6llKJ84e1zbtR1me+NRY=; b=tvW1j+OVY3zZU9XWxCVcqUZdHE4EQTeJ/qB2zY4JnX6kJOtUk3oxl3bX6WhpdD3nO6 PQT4HteXoGvbyoZBSVJhbUUrref6JgEDXB9FsS9+Ns/YVIOMMCzLv3WL9k9NNZ+4yeYN ZMO4U38ouZYCZ/iDy6//LClvwM/86LbJ2CFM2amQl13JbCXPVLT2Ql0anNzSLOYVCqrJ /1lEtE96DPTY0J8otxVQDctpaOEDttVSaiwiPXB/+v9nO9XzH36g4yv0+dChviSiHc2L AIGnthCz9BswiasM6QaOXb11QuTvUZjID/8wKIKiEuwg4kP7qBkGlkMhDUylvH3QM5gF 6wsA== MIME-Version: 1.0 X-Received: by 10.31.33.200 with SMTP id h191mr4682874vkh.105.1446195635110; Fri, 30 Oct 2015 02:00:35 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Fri, 30 Oct 2015 02:00:34 -0700 (PDT) In-Reply-To: <563325F9.7020306@gmx.at> References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> <56309B74.9060006@gmx.at> <56311FD4.90003@gmx.at> <56332373.1050607@gmx.at> <563325F9.7020306@gmx.at> Date: Fri, 30 Oct 2015 10:00:34 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a113dc2721b495305234ea96a X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a113dc2721b495305234ea96a Content-Type: text/plain; charset=UTF-8 Hi! I'm glad that it works, I will check in the changes, hopefully, later today. When it comes to the ChangeLog -- I noticed that it hadn't been updated for a while and assumed that it is now automatically populated from the git commit messages -- is this correct, or should I also manually update it? Also, is there a major mode like "change-log-mode" that would work with git commits, i.e. where text is formatted like a ChangeLog entry but without requiring the text to be indented? ... which might be related to issues we discussed earlier when you > reported bug#16856. Did you ever look into that again? No, at the time I didn't have the time and energy to look into it. In addition, I found that when I resized the frame pixel-perfect (using my multicolumn package), the problem didn't occur and I was happy with that. I can see if the problem is still present, and if not, we can close that issue. When it comes to the bug tracker -- can I filter the bug reports so that I can only see the ones related to the NextStep port? -- Anders --001a113dc2721b495305234ea96a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi!

I'm glad that it works, I will = check in the changes, hopefully, later today.

When= it comes to the ChangeLog -- I noticed that it hadn't been updated for= a while and assumed that it is now automatically populated from the git co= mmit messages -- is this correct, or should I also manually update it?

Also, is there a major mode like "change-log-mode= " that would work with git commits, i.e. where text is formatted like = a ChangeLog entry but without requiring the text to be indented?
=

... which might be related to issue= s we discussed earlier when you
reported bug#16856.=C2=A0 Did you ever look into that again?

No, at the time I didn't have the time and energy to = look into it. In addition, I found that when I resized the frame pixel-perf= ect (using my multicolumn package), the problem didn't occur and I was = happy with that.

I can see if the problem is still= present, and if not, we can close that issue.

Whe= n it comes to the bug tracker -- can I filter the bug reports so that I can= only see the ones related to the NextStep port?

= =C2=A0 =C2=A0 -- Anders

--001a113dc2721b495305234ea96a-- From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 30 05:35:27 2015 Received: (at 21415) by debbugs.gnu.org; 30 Oct 2015 09:35:27 +0000 Received: from localhost ([127.0.0.1]:45291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zs65n-0006uE-7k for submit@debbugs.gnu.org; Fri, 30 Oct 2015 05:35:27 -0400 Received: from mout.gmx.net ([212.227.17.21]:61814) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zs65T-0006tk-1M for 21415@debbugs.gnu.org; Fri, 30 Oct 2015 05:35:25 -0400 Received: from [62.47.251.64] ([62.47.251.64]) by mail.gmx.com (mrgmx101) with ESMTPSA (Nemesis) id 0MZ8fw-1aD3mW3yIO-00L04K; Fri, 30 Oct 2015 10:35:05 +0100 Message-ID: <563339C0.7090806@gmx.at> Date: Fri, 30 Oct 2015 10:34:56 +0100 From: martin rudalics MIME-Version: 1.0 To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> <56309B74.9060006@gmx.at> <56311FD4.90003@gmx.at> <56332373.1050607@gmx.at> <563325F9.7020306@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:g453TJu3uYxY433WrRh49LXCBat6ygM57hBk/q48sxN3Nroz/Ji C5Hu/YYepki3lGXflxolEJKICIUzkli1X3V8ROcLm321vUM+xAmOLQMJXyHKnEWGaXJb17S jup3UVAfEW5IaPPW1XQa1rxknT4R4thr7xJvyy/ZthATiA4MqYBUUKYSbkHAryGaakP0qP5 VxYfNa8cbhrr1zoxSv4OA== X-UI-Out-Filterresults: notjunk:1;V01:K0:0EbTiyZN5vg=:M+vKQoOwpmhQsMdWub/cP7 FX3t8UYWWMQehiGOHaiF8LJAx1SDOFGhntu0p/12ycIOXaJj7hQ2xbnUj5CEI7JhKDohGvOs9 9CfdS1SOL1bOTbnP0fLb2FAeg4aHHCDd/oQcrhV/BjVBmsmzwDY660aKoZFTKm+nlyYETQRqM cFaQZPkyvXLl7m9b06N47BGMVXlqWPjp55GV/I+Fs7UyP4m0P8iEhHI1VWQlhgdA3wkFJ2wpn +nspdFK4QvL6+rCYCS6u4gDQA3PUM3chbrKJNgivA2XYzdfaSZY+0PaHnMXjnnvTp28mnRT7r txz5YbV717zYZfJ1qDylHc819uuM2TMPsu05L/GXU8X6obL/uwOUmkaFGCcu/+RboWuctR1jh Z+AQhxFdsP/5KOPBS6c+eGczfxKjYMbRqGMG02sxyOWeV6kJs2X+avRVVdUEF2znEI+U6lr+G +vbXWKZPcU95g8WnH887p9f1pOiRpvSEOXEcLRTdW3W/o/E+KzbAbgOOIxaPHyM/NJj2dg9jJ nNVWzz6mb3EKobRE/9ylMQa+joyp7TQTO05CE1N+eLUARb0R1RSZ3Ean0wrjxlbYQxKbAdyRj mth7fKfPaXB5iuCWMOzsqC9VyzCDmwSxH+DgU5IPI5wIqpeZguz42BHsNNzsGZSJjBWsGfp0w Q+3HjFxBmpzxSpDYIBZDk/JsdPCGgibG+rmigNYBxVfCJPXR3H1QfEd/6N7hzsJzym9rcgcOy w+eziU1BN+PdDumXGjBB7J1BCgIHaYQd8HwtGQPH6qNjaVDE6t84g+h/wrhU80SQ84fsan0JS DzsUiF4 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) > When it comes to the ChangeLog -- I noticed that it hadn't been updated for > a while "The" ChangeLog is now in the source directory of the Emacs tree, currently we are at ChangeLog.2. > and assumed that it is now automatically populated from the git > commit messages -- is this correct, .... This is correct. > or should I also manually update it? No. Kind souls (usually Glen) take care of it at least once a week. > Also, is there a major mode like "change-log-mode" that would work with git > commits, i.e. where text is formatted like a ChangeLog entry but without > requiring the text to be indented? I think that some vc-... function does that now, but I don't use it. > ... which might be related to issues we discussed earlier when you >> reported bug#16856. Did you ever look into that again? > > > No, at the time I didn't have the time and energy to look into it. In > addition, I found that when I resized the frame pixel-perfect (using my > multicolumn package), the problem didn't occur and I was happy with that. Do you advice users of your package to resize pixel-perfectly? > I can see if the problem is still present, and if not, we can close that > issue. OK. > When it comes to the bug tracker -- can I filter the bug reports so that I > can only see the ones related to the NextStep port? There was a way to tag bugs wrt the OS. But I don't see it any more. And it's not mentioned in ../admin/notes/bugtracker. martin From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 30 06:18:52 2015 Received: (at 21415) by debbugs.gnu.org; 30 Oct 2015 10:18:52 +0000 Received: from localhost ([127.0.0.1]:45358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zs6ln-0007xE-LN for submit@debbugs.gnu.org; Fri, 30 Oct 2015 06:18:52 -0400 Received: from mail-vk0-f45.google.com ([209.85.213.45]:35807) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zs6ll-0007x6-U2 for 21415@debbugs.gnu.org; Fri, 30 Oct 2015 06:18:50 -0400 Received: by vkfw189 with SMTP id w189so44198021vkf.2 for <21415@debbugs.gnu.org>; Fri, 30 Oct 2015 03:18:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=p6YtaDSq7nTZZO4dA/W2yCMkzNqvRu6jfqhFXQ3RdUE=; b=nkqgI3zyLv+oHouZ3rA1WALSFWZ+vjVpRDhHx1lco6H7w2269QRWf4ZGZwSt7xUBFc xVlzAwepmsV/jpCqnF2/bCjZFJDV+okxHtIExgoj0PGZdmdACagQ0EnQ+vBVBGXgYhAi dvO1cnQ5xZyljn0sgXbbb9YOBWNvskPG2IlobJLlIRaJ1MZxKpyvti0y03qpYBZOhJDM pp7z+fG5QALBmLKAsokFTBdyG5qiG2cYrZwAst3bJtnr4yt3U079MkDdg9hMfsI3+Ua8 E9GKpk6BmD7yUjzYzrShlBdeWLOT04K6w7qctrUScM3zDyof145AZAzzhM9EfruM3wf6 dLNA== MIME-Version: 1.0 X-Received: by 10.31.147.129 with SMTP id v123mr4881380vkd.23.1446200329496; Fri, 30 Oct 2015 03:18:49 -0700 (PDT) Received: by 10.31.210.133 with HTTP; Fri, 30 Oct 2015 03:18:49 -0700 (PDT) In-Reply-To: <563339C0.7090806@gmx.at> References: <561E92D8.1050500@gmx.at> <561F7943.9090309@gmx.at> <562746AA.7090004@gmx.at> <5627B83F.9060303@gmx.at> <562BD487.20109@gmx.at> <56309B74.9060006@gmx.at> <56311FD4.90003@gmx.at> <56332373.1050607@gmx.at> <563325F9.7020306@gmx.at> <563339C0.7090806@gmx.at> Date: Fri, 30 Oct 2015 11:18:49 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: martin rudalics Content-Type: multipart/alternative; boundary=001a1140feb6e9efa805234fc0b9 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Keith David Bershatsky , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1140feb6e9efa805234fc0b9 Content-Type: text/plain; charset=UTF-8 Hi! > Do you advice users of your package to resize pixel-perfectly? The package does it for them. One purpose of the package is to create a frame layout with a number of side-by-side windows. The user specifies the width of the windows in characters, e.g. 80, and the package then finds out how many windows will fit, resizes and positions the frame accordingly, and creates the windows. I use this in my startup code, so whenever I open Emacs, it starts with six side-by-side windows that cover the screen form top to bottom. In fact, one thing on my TODO list is to reimplement the positioning part of the package using your new border information function. Right now, the package hardcodes a lot of information about the properties of things like the window title and border dimensions, in different window systems. If I can eliminate all the hardcoded values, it would be a receipt that the functions provide the right kind of information. > > When it comes to the bug tracker -- can I filter the bug reports so that I > > can only see the ones related to the NextStep port? > > There was a way to tag bugs wrt the OS. But I don't see it any more. > And it's not mentioned in ../admin/notes/bugtracker. Too bad, it makes it kind of hard to maintain a port if there is no efficient way to see relevant bug reports. -- Anders --001a1140feb6e9efa805234fc0b9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi!
=C2=A0
>=C2=A0Do you advice users of your pac= kage to resize pixel-perfectly?

The package does it for them. One pu= rpose of the package is to create a frame layout with a number of side-by-s= ide windows. The user specifies the width of the windows in characters, e.g= . 80, and the package then finds out how many windows will fit, resizes and= positions the frame accordingly, and creates the windows.

I use thi= s in my startup code, so whenever I open Emacs, it starts with six side-by-= side windows that cover the screen form top to bottom.

In fact, one = thing on my TODO list is to reimplement the positioning part of the package= using your new border information function. Right now, the package hardcod= es a lot of information about the properties of things like the window titl= e and border dimensions, in different window systems. If I can eliminate al= l the hardcoded values, it would be a receipt that the functions provide th= e right kind of information.


> > When it comes to the bug = tracker -- can I filter the bug reports so that I
> > can only see= the ones related to the NextStep port?
>
> There was a way to = tag bugs wrt the OS.=C2=A0 But I don't see it any more.
> And it&= #39;s not mentioned in ../admin/notes/bugtracker.

Too bad, it makes = it kind of hard to maintain a port if there is no efficient way to see rele= vant bug reports.

=C2=A0 =C2=A0 -- Anders

--001a1140feb6e9efa805234fc0b9-- From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 01 11:54:07 2015 Received: (at 21415) by debbugs.gnu.org; 1 Nov 2015 16:54:07 +0000 Received: from localhost ([127.0.0.1]:48001 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZsvtP-0003rC-B2 for submit@debbugs.gnu.org; Sun, 01 Nov 2015 11:54:07 -0500 Received: from cobb.liquidweb.com ([50.28.13.150]:49168) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zsvt5-0003qP-9g for 21415@debbugs.gnu.org; Sun, 01 Nov 2015 11:54:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=gCgtZVp0/TkE1XT81/v1nj4qzOQN6yrWcdJrdk7sQeM=; b=jK+ycYcTFySwurukVjUGRBlAMyXUjw78wHTF5H9VCKwI1gmrYCnOSDsawDRu1cOQ1lB9nRdgWOleOTgUatJTSdhuOLVxIbbq/B00avbnhtTYZSrz83oExZr3k8ejMpGD; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:49758 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1Zsvsz-0008AU-6v; Sun, 01 Nov 2015 11:53:41 -0500 Date: Sun, 01 Nov 2015 08:53:44 -0800 Message-ID: From: Keith David Bershatsky To: martin rudalics ,Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) A fix for bug 21301 would indeed be wonderful. I anticipate having some free time later this evening to look more carefully at this recent thread to see what patch needs to be applied to test out the fix and I'll try it and report back. Keith ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; At Fri, 30 Oct 2015 08:59:47 +0100, martin rudalics wrote: > * * * > Please mention the bug number in ChangeLog and commit message and inform > the OP, possibly closing the bug (I think it's Bug#21301). > > Keith - yet another fix you should test ;-) > > martin From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 01 16:09:14 2015 Received: (at 21415) by debbugs.gnu.org; 1 Nov 2015 21:09:14 +0000 Received: from localhost ([127.0.0.1]:48168 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZszsH-0006JB-SE for submit@debbugs.gnu.org; Sun, 01 Nov 2015 16:09:14 -0500 Received: from mail-vk0-f53.google.com ([209.85.213.53]:34771) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zszrx-0006IU-56 for 21415@debbugs.gnu.org; Sun, 01 Nov 2015 16:09:11 -0500 Received: by vkgs66 with SMTP id s66so74940867vkg.1 for <21415@debbugs.gnu.org>; Sun, 01 Nov 2015 13:08:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=3k7V58RSM2zULUl/4hgQWuEWwUyRsGkepE4V/BcjJuk=; b=FzcGHOkai7x31p0Z798MHBri339RyK8QJCtUh0q4MLqW9I3teisFte2zkMXilsPzcp zIjae98U7lWSc5fBonCNl6tgWpGW71gbWGeqG84oBwTQLET7NWiJx9iVVzudciU70WFD hTARsCT/ChbxVGpzz2hCHgpcBqlNrIo1GZL3WWJAyvgU3UQ9wlKUiFC4Qj6z0MNWXIAc aCZVmBJjcCe2yF730GAksTwgf44QsBDy/P03PelgTgwvm92+AaxmO8xXHdNoF1PIfCZZ QdoWiUFnyncZRJv8uyJ87XF2olG3mszMcExRASY45WFNdcKONVCICCE6dCUVXsFGgkIr gPzA== MIME-Version: 1.0 X-Received: by 10.31.174.212 with SMTP id x203mr11968995vke.26.1446412132664; Sun, 01 Nov 2015 13:08:52 -0800 (PST) Received: by 10.31.210.133 with HTTP; Sun, 1 Nov 2015 13:08:52 -0800 (PST) In-Reply-To: References: Date: Sun, 1 Nov 2015 22:08:52 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky Content-Type: multipart/alternative; boundary=001a1143815a5dd01e05238111cf X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: martin rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1143815a5dd01e05238111cf Content-Type: text/plain; charset=UTF-8 Keith, Please check the diff I posted in this thread on the 29:th, it solves all the fringe problems I have seen -- both the fringe icons and the rendering of the cursor when in the fringe. -- Anders On Sun, Nov 1, 2015 at 5:53 PM, Keith David Bershatsky wrote: > A fix for bug 21301 would indeed be wonderful. I anticipate having some > free time later this evening to look more carefully at this recent thread > to see what patch needs to be applied to test out the fix and I'll try it > and report back. > > Keith > > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; > > At Fri, 30 Oct 2015 08:59:47 +0100, > martin rudalics wrote: > > > * * * > > Please mention the bug number in ChangeLog and commit message and inform > > the OP, possibly closing the bug (I think it's Bug#21301). > > > > Keith - yet another fix you should test ;-) > > > > martin > --001a1143815a5dd01e05238111cf Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Keith,

Please check the diff I po= sted in this thread on the 29:th, it solves all the fringe problems I have = seen -- both the fringe icons and the rendering of the cursor when in the f= ringe.

=C2=A0 =C2=A0 -- Anders

On Sun, Nov 1, 2015 at 5:53 PM,= Keith David Bershatsky <esq@lawlist.com> wrote:
A fix for bug 21301 would indeed be wonderful.=C2=A0 I= anticipate having some free time later this evening to look more carefully= at this recent thread to see what patch needs to be applied to test out th= e fix and I'll try it and report back.

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

At Fri, 30 Oct 2015 08:59:47 +0100,
martin rudalics wrote:
>
* * *
> Please mention the bug number = in ChangeLog and commit message and inform
> the OP, possibly closing the bug (I think it's Bug#21301).
>
> Keith - yet another fix you should test ;-)
>
> martin

--001a1143815a5dd01e05238111cf-- From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 00:18:37 2015 Received: (at 21415) by debbugs.gnu.org; 2 Nov 2015 05:18:37 +0000 Received: from localhost ([127.0.0.1]:48358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zt7Vs-0006Dx-N6 for submit@debbugs.gnu.org; Mon, 02 Nov 2015 00:18:36 -0500 Received: from cobb.liquidweb.com ([50.28.13.150]:49508) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zt7VY-0006DQ-04 for 21415@debbugs.gnu.org; Mon, 02 Nov 2015 00:18:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=fql012TCUMAxJIDLRlt7E5p8iEl7mKCMmYx38I4Fa08=; b=qgfvHn2jtLut0RO9V99GAv4vdYeEE9+HJnvNwhN2M2KHO8nUTOtjUXS/bLQMChwaphIuDq01ZlLlvMq6MkvAi+RqsBw0Wva4dFcRF2H2eAKN3SR8k46FVo83G9adKdZ0; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50393 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1Zt7VV-00028V-UO; Mon, 02 Nov 2015 00:18:14 -0500 Date: Sun, 01 Nov 2015 21:18:13 -0800 Message-ID: From: Keith David Bershatsky To: Anders Lindgren ,Martin Rudalics Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) With respect to fringe.diff from October 29, 2015, applied to a latest download of Emacs master branch, an issue remains with respect to empty line indicators at the end of the buffer. It looks like two of the indicators are correct, then one is reversed, then two are correct, then one is reversed, and so on. The fringe bitmap images prior to the end of the buffer looked correct for the few that I tried. Thanks, Keith From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 15:51:01 2015 Received: (at 21415) by debbugs.gnu.org; 2 Nov 2015 20:51:01 +0000 Received: from localhost ([127.0.0.1]:49999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZtM4D-00011Q-05 for submit@debbugs.gnu.org; Mon, 02 Nov 2015 15:51:01 -0500 Received: from mail-vk0-f51.google.com ([209.85.213.51]:34453) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZtM3s-00010y-I1 for 21415@debbugs.gnu.org; Mon, 02 Nov 2015 15:50:59 -0500 Received: by vkgs66 with SMTP id s66so93185482vkg.1 for <21415@debbugs.gnu.org>; Mon, 02 Nov 2015 12:50:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=TlPCyFqYt+AfhlLBo1o18WxYFyiNDf3Q1SFaKb+Y4Lo=; b=HHjwAHK3gRGQRRm/occI7yu+nt689saYWznXFQAYTzOYEavG9NMAFubIJgtrVdE4A4 Nsxn6jPMcmPYhaPz2HP9ga1bwlncJbNKejFAgdBVAtScQ91iSnkn7n7U5++KxD0XR/wT puVfdeJQpQ/De4UOn6ayf4cboirUVc5uO3YMlfCs/PJrIQlRK6lTiTS/mGDE0l68LwVC 5P17e8CbR+1byIrk7xw5xGWy44aTbI0+sAiGvnMoGp7lUAKaRoLoU5evlS656Yqcu4uV gBIOC4Qx+QszN8zM82ONCLVE7blfCy+OLXXFZo9MaM74Qu3GBQf8Y54WtxLeqx9/SMon KeZg== MIME-Version: 1.0 X-Received: by 10.31.128.141 with SMTP id b135mr16448210vkd.70.1446497439986; Mon, 02 Nov 2015 12:50:39 -0800 (PST) Received: by 10.31.210.133 with HTTP; Mon, 2 Nov 2015 12:50:39 -0800 (PST) In-Reply-To: References: Date: Mon, 2 Nov 2015 21:50:39 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky Content-Type: multipart/mixed; boundary=001a114239e8145b13052394ee3c X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a114239e8145b13052394ee3c Content-Type: multipart/alternative; boundary=001a114239e8145b0d052394ee3a --001a114239e8145b0d052394ee3a Content-Type: text/plain; charset=UTF-8 Hi, The empty line indicator seems to be a new kind of fringe bitmap used to create repetitive patterns. The code was only half-hearted when it comes to this, as it cashed only the first of the alternative images. I rewrote the code to cache the full image and select a suitable subpart of the when drawing. If you have time, please try out the attached patch. Thanks! -- Anders On Mon, Nov 2, 2015 at 6:18 AM, Keith David Bershatsky wrote: > With respect to fringe.diff from October 29, 2015, applied to a latest > download of Emacs master branch, an issue remains with respect to empty > line indicators at the end of the buffer. It looks like two of the > indicators are correct, then one is reversed, then two are correct, then > one is reversed, and so on. The fringe bitmap images prior to the end of > the buffer looked correct for the few that I tried. > > Thanks, > > Keith > --001a114239e8145b0d052394ee3a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

The empty line indicator seems to b= e a new kind of fringe bitmap used to create repetitive patterns. The code = was only half-hearted when it comes to this, as it cashed only the first of= the alternative images. I rewrote the code to cache the full image and sel= ect a suitable subpart of the when drawing.

If you= have time, please try out the attached patch.

Tha= nks!

=C2=A0 =C2=A0 -- Anders

On Mon, Nov 2, 2015 at 6:18= AM, Keith David Bershatsky <esq@lawlist.com> wrote:
With respect to fringe.diff from October 29, 2015,= applied to a latest download of Emacs master branch, an issue remains with= respect to empty line indicators at the end of the buffer.=C2=A0 It looks = like two of the indicators are correct, then one is reversed, then two are = correct, then one is reversed, and so on.=C2=A0 The fringe bitmap images pr= ior to the end of the buffer looked correct for the few that I tried.

Thanks,

Keith

--001a114239e8145b0d052394ee3a-- --001a114239e8145b13052394ee3c Content-Type: text/plain; charset=US-ASCII; name="fringe2.diff" Content-Disposition: attachment; filename="fringe2.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_igif81qv0 ZGlmZiAtLWdpdCBhL3NyYy9uc2ltYWdlLm0gYi9zcmMvbnNpbWFnZS5tCmluZGV4IGU3NmE3ZGIu LmEyZTA2MTggMTAwNjQ0Ci0tLSBhL3NyYy9uc2ltYWdlLm0KKysrIGIvc3JjL25zaW1hZ2UubQpA QCAtMjA2LDYgKzIwNiw3IEBAIG5zX3NldF9hbHBoYSAodm9pZCAqaW1nLCBpbnQgeCwgaW50IHks IHVuc2lnbmVkIGNoYXIgYSkKICAgICAgICAgICAgZmc6ICh1bnNpZ25lZCBsb25nKWZnIGJnOiAo dW5zaWduZWQgbG9uZyliZwogewogICB1bnNpZ25lZCBjaGFyICpwbGFuZXNbNV07CisgIHVuc2ln bmVkIGNoYXIgYmdfYWxwaGEgPSAweGZmOwogCiAgIFtzZWxmIGluaXRXaXRoU2l6ZTogTlNNYWtl U2l6ZSAodywgaCldOwogCkBAIC0yMTksNyArMjIwLDEwIEBAIG5zX3NldF9hbHBoYSAodm9pZCAq aW1nLCBpbnQgeCwgaW50IHksIHVuc2lnbmVkIGNoYXIgYSkKICAgW2JtUmVwIGdldEJpdG1hcERh dGFQbGFuZXM6IHBsYW5lc107CiAKICAgaWYgKGZnID09IDAgJiYgYmcgPT0gMCkKLSAgICBiZyA9 IDB4ZmZmZmZmOworICAgIHsKKyAgICAgIGJnID0gMHhmZmZmZmY7CisgICAgICBiZ19hbHBoYSA9 IDA7CisgICAgfQogCiAgIHsKICAgICAvKiBwdWxsIGJpdHMgb3V0IHRvIHNldCB0aGUgKGJ5dGV3 aXNlKSBhbHBoYSBtYXNrICovCkBAIC0yNDQsMjEgKzI0OCwyMiBAQCBuc19zZXRfYWxwaGEgKHZv aWQgKmltZywgaW50IHgsIGludCB5LCB1bnNpZ25lZCBjaGFyIGEpCiAgICAgICAgICAgYyA9ICpz Kys7CiAgICAgICAgICAgZm9yIChrID0gMDsgaSA8IHcgJiYgayA8IDg7ICsraywgKytpKQogICAg ICAgICAgICAgewotICAgICAgICAgICAgICAqYWxwaGErKyA9IDB4ZmY7Ci0gICAgICAgICAgICAg IGlmIChjICYgMSkKKyAgICAgICAgICAgICAgaWYgKGMgJiAweDgwKQogICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICpycisrID0gZmdyOwogICAgICAgICAgICAgICAgICAgKmdn KysgPSBmZ2c7CiAgICAgICAgICAgICAgICAgICAqYmIrKyA9IGZnYjsKKyAgICAgICAgICAgICAg ICAgICphbHBoYSsrID0gMHhmZjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIGVs c2UKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAqcnIrKyA9IGJncjsKICAg ICAgICAgICAgICAgICAgICpnZysrID0gYmdnOwogICAgICAgICAgICAgICAgICAgKmJiKysgPSBi Z2I7CisgICAgICAgICAgICAgICAgICAqYWxwaGErKyA9IGJnX2FscGhhOwogICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgaWR4Kys7Ci0gICAgICAgICAgICAgIGMgPj49IDE7CisgICAg ICAgICAgICAgIGMgPDw9IDE7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgfQpkaWZmIC0t Z2l0IGEvc3JjL25zdGVybS5tIGIvc3JjL25zdGVybS5tCmluZGV4IDkyNWU5YWYuLjFmNmIxNTEg MTAwNjQ0Ci0tLSBhL3NyYy9uc3Rlcm0ubQorKysgYi9zcmMvbnN0ZXJtLm0KQEAgLTI0NjEsNiAr MjQ2MSwxMCBAQCBuc19kcmF3X2ZyaW5nZV9iaXRtYXAgKHN0cnVjdCB3aW5kb3cgKncsIHN0cnVj dCBnbHlwaF9yb3cgKnJvdywKICAgc3RhdGljIEVtYWNzSW1hZ2UgKipiaW1ncyA9IE5VTEw7CiAg IHN0YXRpYyBpbnQgbkJpbWdzID0gMDsKIAorICBOU1RSQUNFICgibnNfZHJhd19mcmluZ2VfYml0 bWFwIik7CisgIE5TVFJBQ0VfTVNHICgid2hpY2g6JWQgY3Vyc29yOiVkIG92ZXJsYXk6JWQgd2lk dGg6JWQgaGVpZ2h0OiVkIHBlcmlvZDolZCIsCisgICAgICAgICAgICAgICBwLT53aGljaCwgcC0+ Y3Vyc29yX3AsIHAtPm92ZXJsYXlfcCwgcC0+d2QsIHAtPmgsIHAtPmRoKTsKKwogICAvKiBncm93 IGJpbWdzIGlmIG5lZWRlZCAqLwogICBpZiAobkJpbWdzIDwgbWF4X3VzZWRfZnJpbmdlX2JpdG1h cCkKICAgICB7CkBAIC0yNDkzLDE5ICsyNDk3LDI0IEBAIG5zX2RyYXdfZnJpbmdlX2JpdG1hcCAo c3RydWN0IHdpbmRvdyAqdywgc3RydWN0IGdseXBoX3JvdyAqcm93LAogCiAgICAgICBpZiAoIWlt ZykKICAgICAgICAgewotICAgICAgICAgIHVuc2lnbmVkIHNob3J0ICpiaXRzID0gcC0+Yml0cyAr IHAtPmRoOwotICAgICAgICAgIGludCBsZW4gPSBwLT5oOworICAgICAgICAgIC8vIE5vdGU6IEZv ciAicGVyaW9kaWMiIGltYWdlcywgYWxsb2NhdGUgb25lIEVtYWNzSW1hZ2UgZm9yCisgICAgICAg ICAgLy8gdGhlIGJhc2UgaW1hZ2UsIGFuZCB1c2UgaXQgZm9yIGFsbCBkaDpzLgorICAgICAgICAg IHVuc2lnbmVkIHNob3J0ICpiaXRzID0gcC0+Yml0czsKKyAgICAgICAgICBpbnQgZnVsbF9oZWln aHQgPSBwLT5oICsgcC0+ZGg7CiAgICAgICAgICAgaW50IGk7Ci0gICAgICAgICAgdW5zaWduZWQg Y2hhciAqY2JpdHMgPSB4bWFsbG9jIChsZW4pOworICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmNi aXRzID0geG1hbGxvYyAoZnVsbF9oZWlnaHQpOwogCiAgICAgICAgICAgZm9yIChpID0gMDsgaSA8 IGxlbjsgaSsrKQotICAgICAgICAgICAgY2JpdHNbaV0gPSB+KGJpdHNbaV0gJiAweGZmKTsKLSAg ICAgICAgICBpbWcgPSBbW0VtYWNzSW1hZ2UgYWxsb2NdIGluaXRGcm9tWEJNOiBjYml0cyB3aWR0 aDogOCBoZWlnaHQ6IHAtPmgKKyAgICAgICAgICAgIGNiaXRzW2ldID0gYml0c1tpXTsKKyAgICAg ICAgICBpbWcgPSBbW0VtYWNzSW1hZ2UgYWxsb2NdIGluaXRGcm9tWEJNOiBjYml0cyB3aWR0aDog OAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGZ1bGxf aGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZzog MCBiZzogMF07CiAgICAgICAgICAgYmltZ3NbcC0+d2hpY2ggLSAxXSA9IGltZzsKICAgICAgICAg ICB4ZnJlZSAoY2JpdHMpOwogICAgICAgICB9CiAKKyAgICAgIE5TVFJBQ0VfUkVDVCAoInIiLCBy KTsKKwogICAgICAgTlNSZWN0Q2xpcCAocik7CiAgICAgICAvKiBTaW5jZSB3ZSBjb21wb3NpdGUg dGhlIGJpdG1hcCBpbnN0ZWFkIG9mIGp1c3QgYmxpdHRpbmcgaXQsIHdlIG5lZWQKICAgICAgICAg IHRvIGVyYXNlIHRoZSB3aG9sZSBiYWNrZ3JvdW5kLiAqLwpAQCAtMjUyMyw5ICsyNTMyLDE1IEBA IG5zX2RyYXdfZnJpbmdlX2JpdG1hcCAoc3RydWN0IHdpbmRvdyAqdywgc3RydWN0IGdseXBoX3Jv dyAqcm93LAogICAgICAgICBbaW1nIHNldFhCTUNvbG9yOiBibV9jb2xvcl07CiAgICAgICB9CiAK KyAgICAgIC8vIE5vdGU6IEZvciBwZXJpb2RpYyBpbWFnZXMsIHRoZSBmdWxsIGltYWdlIGhlaWdo dCBpcyAiaCArIGhkIi4KKyAgICAgIC8vIEJ5IHVzaW5nIHRoZSBoZWlnaHQgaCwgYSBzdWl0YWJs ZSBwYXJ0IG9mIHRoZSBpbWFnZSBpcyB1c2VkLgorICAgICAgTlNSZWN0IGZyb21SZWN0ID0gTlNN YWtlUmVjdCgwLCAwLCBwLT53ZCwgcC0+aCk7CisKKyAgICAgIE5TVFJBQ0VfUkVDVCAoImZyb21S ZWN0IiwgZnJvbVJlY3QpOworCiAjaWZkZWYgTlNfSU1QTF9DT0NPQQogICAgICAgW2ltZyBkcmF3 SW5SZWN0OiByCi0gICAgICAgICAgICAgIGZyb21SZWN0OiBOU1plcm9SZWN0CisgICAgICAgICAg ICAgIGZyb21SZWN0OiBmcm9tUmVjdAogICAgICAgICAgICAgIG9wZXJhdGlvbjogTlNDb21wb3Np dGVTb3VyY2VPdmVyCiAgICAgICAgICAgICAgIGZyYWN0aW9uOiAxLjAKICAgICAgICAgICAgcmVz cGVjdEZsaXBwZWQ6IFlFUwo= --001a114239e8145b13052394ee3c-- From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 03 01:29:38 2015 Received: (at 21415) by debbugs.gnu.org; 3 Nov 2015 06:29:38 +0000 Received: from localhost ([127.0.0.1]:50328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZtV69-0001Br-Cj for submit@debbugs.gnu.org; Tue, 03 Nov 2015 01:29:37 -0500 Received: from cobb.liquidweb.com ([50.28.13.150]:36641) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZtV66-0001Bg-Sa for 21415@debbugs.gnu.org; Tue, 03 Nov 2015 01:29:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=yuCW7iOF4oatUoboWYiOUPDYiEmT0bfBOhHo9T7rpW4=; b=HzixBDCc4JwNDauHGQP76WetivurzmmocIcHsuwdEZG+G+4sKiDEVPDCS6nmrOaXnNogpvnQRdwdvq5zxN/HoCQ4trYOENDiVO0zqXuvK8hDIYX5M3it8D0Bvzt4Z33c; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:61342 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZtV62-000075-VE; Tue, 03 Nov 2015 01:29:31 -0500 Date: Mon, 02 Nov 2015 22:29:31 -0800 Message-ID: From: Keith David Bershatsky To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Using the latest download of Emacs master branch (tonight November 2, 2015 at about 10:15 p.m. PST) and fringe2.diff, I was not able to complete the building process. I only tried one time, but think the same result would probably happen if I tried again. font.c: In function 'font_fill_lglyph_metrics': font.c:4356: warning: comparison is always true due to limited range of data type font.c:4356: warning: comparison is always true due to limited range of data type font.c:4356: warning: comparison is always true due to limited range of data type font.c:4356: warning: comparison is always true due to limited range of data type font.c: In function 'Ffont_variation_glyphs': font.c:4473: warning: comparison is always true due to limited range of data type font.c:4473: warning: comparison is always true due to limited range of data type font.c:4473: warning: comparison is always true due to limited range of data type font.c:4473: warning: comparison is always true due to limited range of data type font.c: In function 'Finternal_char_font': font.c:4576: warning: comparison is always true due to limited range of data type font.c:4576: warning: comparison is always true due to limited range of data type font.c:4576: warning: comparison is always true due to limited range of data type font.c:4576: warning: comparison is always true due to limited range of data type font.c: In function 'Ffont_get_glyphs': font.c:4909: warning: comparison is always true due to limited range of data type font.c:4909: warning: comparison is always true due to limited range of data type font.c:4909: warning: comparison is always true due to limited range of data type font.c:4909: warning: comparison is always true due to limited range of data type CC print.o CC lread.o CC syntax.o CC unexmacosx.o CC bytecode.o CC process.o process.c: In function 'record_deleted_pid': process.c:818: warning: comparison is always true due to limited range of data type process.c:818: warning: comparison is always true due to limited range of data type process.c: In function 'Fprocess_id': process.c:938: warning: comparison is always true due to limited range of data type process.c:938: warning: comparison is always true due to limited range of data type CC gnutls.o CC callproc.o CC region-cache.o CC sound.o CC atimer.o CC doprnt.o CC intervals.o CC textprop.o CC composite.o composite.c: In function 'fill_gstring_body': composite.c:843: warning: comparison is always true due to limited range of data type composite.c:843: warning: comparison is always true due to limited range of data type composite.c:843: warning: comparison is always true due to limited range of data type composite.c:843: warning: comparison is always true due to limited range of data type composite.c:843: warning: comparison is always true due to limited range of data type composite.c:843: warning: comparison is always true due to limited range of data type CC xml.o CC profiler.o CC decompress.o CC fontset.o CC fringe.o CC image.o CC nsterm.o nsterm.m: In function 'ns_draw_fringe_bitmap': nsterm.m:2507: error: 'len' undeclared (first use in this function) nsterm.m:2507: error: (Each undeclared identifier is reported only once nsterm.m:2507: error: for each function it appears in.) make[1]: *** [nsterm.o] Error 1 make: *** [src] Error 2 ~/Desktop/emacs $ From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 03 03:54:45 2015 Received: (at 21415) by debbugs.gnu.org; 3 Nov 2015 08:54:45 +0000 Received: from localhost ([127.0.0.1]:50406 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZtXMa-0005Ps-NO for submit@debbugs.gnu.org; Tue, 03 Nov 2015 03:54:45 -0500 Received: from mail-vk0-f47.google.com ([209.85.213.47]:34743) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZtXMF-0005Ox-Qm for 21415@debbugs.gnu.org; Tue, 03 Nov 2015 03:54:43 -0500 Received: by vkgs66 with SMTP id s66so5386964vkg.1 for <21415@debbugs.gnu.org>; Tue, 03 Nov 2015 00:54:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=5kyhPgnS3YjpC6JIzbK+GRuw0lCap9iBI471oQPjlNc=; b=mEvkPdiZ8qQAmJsHSN/HhsYC3lhzxua5gS7iIntNzo8ZgOBdYuwm0YNBoPkcAg56MS iSRPxl84P+yLywW/iABb5qNYXD2gmjnaE5tiBZiLxTlw9rZmrZ4APA2s5xBae8gIj/0U Fx13HMefXv2nsW2GvBnbPx5R6P1H/Wn2yeNlj+YYuCvbCoeUUBpzvACXyaGT+qbAlkrL CyqDSHXotey83nGkaHD9b9ieGC2dMerbUbveO9444uS1/0vekcEbWctU6Bu75TNGtkwW tl6HJZUqkTU8qr8bidQO/I2RnlxhlGFuoI5elURLaNbg/KJUmedrCCFyWdZqbnhvAx+7 CYlg== MIME-Version: 1.0 X-Received: by 10.31.41.8 with SMTP id p8mr18026636vkp.149.1446540863077; Tue, 03 Nov 2015 00:54:23 -0800 (PST) Received: by 10.31.210.133 with HTTP; Tue, 3 Nov 2015 00:54:23 -0800 (PST) In-Reply-To: References: Date: Tue, 3 Nov 2015 09:54:23 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky Content-Type: multipart/alternative; boundary=001a113ee5c04c02ef05239f0a8f X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a113ee5c04c02ef05239f0a8f Content-Type: text/plain; charset=UTF-8 My mistake... I made a last minute change, I changed "len" to "full_height", and apparently didn't change it in all places. I can post a new patch when I get home tonight, alternatively you can try to do the change yourself and recompile. / Anders On Tue, Nov 3, 2015 at 7:29 AM, Keith David Bershatsky wrote: > Using the latest download of Emacs master branch (tonight November 2, 2015 > at about 10:15 p.m. PST) and fringe2.diff, I was not able to complete the > building process. I only tried one time, but think the same result would > probably happen if I tried again. > > font.c: In function 'font_fill_lglyph_metrics': > font.c:4356: warning: comparison is always true due to limited range of > data type > font.c:4356: warning: comparison is always true due to limited range of > data type > font.c:4356: warning: comparison is always true due to limited range of > data type > font.c:4356: warning: comparison is always true due to limited range of > data type > font.c: In function 'Ffont_variation_glyphs': > font.c:4473: warning: comparison is always true due to limited range of > data type > font.c:4473: warning: comparison is always true due to limited range of > data type > font.c:4473: warning: comparison is always true due to limited range of > data type > font.c:4473: warning: comparison is always true due to limited range of > data type > font.c: In function 'Finternal_char_font': > font.c:4576: warning: comparison is always true due to limited range of > data type > font.c:4576: warning: comparison is always true due to limited range of > data type > font.c:4576: warning: comparison is always true due to limited range of > data type > font.c:4576: warning: comparison is always true due to limited range of > data type > font.c: In function 'Ffont_get_glyphs': > font.c:4909: warning: comparison is always true due to limited range of > data type > font.c:4909: warning: comparison is always true due to limited range of > data type > font.c:4909: warning: comparison is always true due to limited range of > data type > font.c:4909: warning: comparison is always true due to limited range of > data type > CC print.o > CC lread.o > CC syntax.o > CC unexmacosx.o > CC bytecode.o > CC process.o > process.c: In function 'record_deleted_pid': > process.c:818: warning: comparison is always true due to limited range of > data type > process.c:818: warning: comparison is always true due to limited range of > data type > process.c: In function 'Fprocess_id': > process.c:938: warning: comparison is always true due to limited range of > data type > process.c:938: warning: comparison is always true due to limited range of > data type > CC gnutls.o > CC callproc.o > CC region-cache.o > CC sound.o > CC atimer.o > CC doprnt.o > CC intervals.o > CC textprop.o > CC composite.o > composite.c: In function 'fill_gstring_body': > composite.c:843: warning: comparison is always true due to limited range > of data type > composite.c:843: warning: comparison is always true due to limited range > of data type > composite.c:843: warning: comparison is always true due to limited range > of data type > composite.c:843: warning: comparison is always true due to limited range > of data type > composite.c:843: warning: comparison is always true due to limited range > of data type > composite.c:843: warning: comparison is always true due to limited range > of data type > CC xml.o > CC profiler.o > CC decompress.o > CC fontset.o > CC fringe.o > CC image.o > CC nsterm.o > nsterm.m: In function 'ns_draw_fringe_bitmap': > nsterm.m:2507: error: 'len' undeclared (first use in this function) > nsterm.m:2507: error: (Each undeclared identifier is reported only once > nsterm.m:2507: error: for each function it appears in.) > make[1]: *** [nsterm.o] Error 1 > make: *** [src] Error 2 > ~/Desktop/emacs $ > --001a113ee5c04c02ef05239f0a8f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
My mistake... I made a last minute change, I changed "= ;len" to "full_height", and apparently didn't change it = in all places.

I can post a new patch when I get ho= me tonight, alternatively you can try to do the change yourself and recompi= le.

/ Anders

<= div class=3D"gmail_extra">
On Tue, Nov 3, 201= 5 at 7:29 AM, Keith David Bershatsky <esq@lawlist.com> wrote:<= br>
Using the latest download of Emacs master= branch (tonight November 2, 2015 at about 10:15 p.m. PST) and fringe2.diff= , I was not able to complete the building process.=C2=A0 I only tried one t= ime, but think the same result would probably happen if I tried again.

font.c: In function 'font_fill_lglyph_metrics':
font.c:4356: warning: comparison is always true due to limited range of dat= a type
font.c:4356: warning: comparison is always true due to limited range of dat= a type
font.c:4356: warning: comparison is always true due to limited range of dat= a type
font.c:4356: warning: comparison is always true due to limited range of dat= a type
font.c: In function 'Ffont_variation_glyphs':
font.c:4473: warning: comparison is always true due to limited range of dat= a type
font.c:4473: warning: comparison is always true due to limited range of dat= a type
font.c:4473: warning: comparison is always true due to limited range of dat= a type
font.c:4473: warning: comparison is always true due to limited range of dat= a type
font.c: In function 'Finternal_char_font':
font.c:4576: warning: comparison is always true due to limited range of dat= a type
font.c:4576: warning: comparison is always true due to limited range of dat= a type
font.c:4576: warning: comparison is always true due to limited range of dat= a type
font.c:4576: warning: comparison is always true due to limited range of dat= a type
font.c: In function 'Ffont_get_glyphs':
font.c:4909: warning: comparison is always true due to limited range of dat= a type
font.c:4909: warning: comparison is always true due to limited range of dat= a type
font.c:4909: warning: comparison is always true due to limited range of dat= a type
font.c:4909: warning: comparison is always true due to limited range of dat= a type
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0print.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0lread.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0syntax.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0unexmacosx.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0bytecode.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0process.o
process.c: In function 'record_deleted_pid':
process.c:818: warning: comparison is always true due to limited range of d= ata type
process.c:818: warning: comparison is always true due to limited range of d= ata type
process.c: In function 'Fprocess_id':
process.c:938: warning: comparison is always true due to limited range of d= ata type
process.c:938: warning: comparison is always true due to limited range of d= ata type
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0gnutls.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0callproc.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0region-cache.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0sound.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0atimer.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0doprnt.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0intervals.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0textprop.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0composite.o
composite.c: In function 'fill_gstring_body':
composite.c:843: warning: comparison is always true due to limited range of= data type
composite.c:843: warning: comparison is always true due to limited range of= data type
composite.c:843: warning: comparison is always true due to limited range of= data type
composite.c:843: warning: comparison is always true due to limited range of= data type
composite.c:843: warning: comparison is always true due to limited range of= data type
composite.c:843: warning: comparison is always true due to limited range of= data type
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0xml.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0profiler.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0decompress.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0fontset.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0fringe.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0image.o
=C2=A0 CC=C2=A0 =C2=A0 =C2=A0 =C2=A0nsterm.o
nsterm.m: In function 'ns_draw_fringe_bitmap':
nsterm.m:2507: error: 'len' undeclared (first use in this function)=
nsterm.m:2507: error: (Each undeclared identifier is reported only once
nsterm.m:2507: error: for each function it appears in.)
make[1]: *** [nsterm.o] Error 1
make: *** [src] Error 2
~/Desktop/emacs $

--001a113ee5c04c02ef05239f0a8f-- From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 03 21:21:40 2015 Received: (at 21415) by debbugs.gnu.org; 4 Nov 2015 02:21:40 +0000 Received: from localhost ([127.0.0.1]:52024 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ztnhj-0004JK-JC for submit@debbugs.gnu.org; Tue, 03 Nov 2015 21:21:39 -0500 Received: from cobb.liquidweb.com ([50.28.13.150]:54174) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZtnhO-0004Is-V6 for 21415@debbugs.gnu.org; Tue, 03 Nov 2015 21:21:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=1RbMbSYBcYGTEI6LrloeMbnA+U429yqQiTGSCd4dIJ4=; b=R3MSMng5swC7/tVDImES87LuTUj3bYtHcAB1fGwZM4LLaSheTMTLRvtAt8yy5tz5CaZOw17KN360vL96ZK4GQ25uRmu2uXbeSgbCKLrHG1422Uy6Pz3A/fYgceSiZ93q; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:57230 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZtnhK-0001Ea-Qz; Tue, 03 Nov 2015 21:21:15 -0500 Date: Tue, 03 Nov 2015 18:21:14 -0800 Message-ID: From: Keith David Bershatsky To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Ah, yes, `fringe3.diff` does indeed fix the issue with empty line fringe bitmap indicators at the end of the buffer. Good job! Keith ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; At Tue, 3 Nov 2015 19:01:13 +0100, Anders Lindgren wrote: > > Hi, > > here is a new version of the fringe patch. > > -- Anders From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 04 00:54:19 2015 Received: (at 21415) by debbugs.gnu.org; 4 Nov 2015 05:54:19 +0000 Received: from localhost ([127.0.0.1]:52104 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ztr1X-0001Wz-4A for submit@debbugs.gnu.org; Wed, 04 Nov 2015 00:54:19 -0500 Received: from mail-yk0-f175.google.com ([209.85.160.175]:36479) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ztr1D-0001WG-2n for 21415@debbugs.gnu.org; Wed, 04 Nov 2015 00:54:17 -0500 Received: by ykba4 with SMTP id a4so55325252ykb.3 for <21415@debbugs.gnu.org>; Tue, 03 Nov 2015 21:53:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=eyhzrrRGzZVyLezpFH6XzxI2oH9Y55wg5he3kA0T8jY=; b=wfh3jRwWxBLFDX3BXMrNqWR+MoetO2crWTTxcOXqOur+2kqr4P7vl4PK8lucjJ86HZ B3Oo/4x0LZ+tWO2bN8Gi9LjlP09nyHTkFtud9voatkBaqzuBnybI0wsNwAWL1r1CotP+ 2QbfMcXLjy6u1vreDQgH8LkEpS5eNUTYCSygzQ9VFh8EpSH4jvu2Mi6kkchPCD+MbYEt S20ngBHjY6J86wfKX5qRGPiF9SKc3VBu1m5BexhkjaVSXdFXdeFgvUsgb+EbqSyVYhCk /qJGDUqj6e2CjKV6WwpobsCna9nGjtbre9XlfcM7t8ge4v68BN3pxr8Gce8rX0FAhJu4 alAA== MIME-Version: 1.0 X-Received: by 10.31.170.151 with SMTP id t145mr19379801vke.31.1446616438452; Tue, 03 Nov 2015 21:53:58 -0800 (PST) Received: by 10.31.210.133 with HTTP; Tue, 3 Nov 2015 21:53:58 -0800 (PST) In-Reply-To: References: Date: Wed, 4 Nov 2015 06:53:58 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky Content-Type: multipart/alternative; boundary=001a1142d8e2f0b75a0523b0a278 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1142d8e2f0b75a0523b0a278 Content-Type: text/plain; charset=UTF-8 Wonderful news! I just pushed the fringe patch. Thanks for testing it! -- Anders Lindgren On Wed, Nov 4, 2015 at 3:21 AM, Keith David Bershatsky wrote: > Ah, yes, `fringe3.diff` does indeed fix the issue with empty line fringe > bitmap indicators at the end of the buffer. Good job! > > Keith > > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; > > At Tue, 3 Nov 2015 19:01:13 +0100, > Anders Lindgren wrote: > > > > Hi, > > > > here is a new version of the fringe patch. > > > > -- Anders > --001a1142d8e2f0b75a0523b0a278 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Wonderful news!

I just p= ushed the fringe patch. Thanks for testing it!

=C2= =A0 =C2=A0 -- Anders Lindgren

On Wed, Nov 4, 2015 at 3:21 AM, Keith David Be= rshatsky <esq@lawlist.com> wrote:
Ah, yes, `fringe3.diff` does indeed fix the issue with empty line fri= nge bitmap indicators at the end of the buffer.=C2=A0 Good job!

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

At Tue, 3 Nov 2015 19:01:13 +0100,
Anders Lindgren wrote:
>
> Hi,
>
> here is a new version of the fringe patch.
>
>=C2=A0 =C2=A0 =C2=A0-- Anders

--001a1142d8e2f0b75a0523b0a278-- From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 14 14:42:08 2015 Received: (at 21415) by debbugs.gnu.org; 14 Nov 2015 19:42:08 +0000 Received: from localhost ([127.0.0.1]:38222 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zxgi7-0002a1-D2 for submit@debbugs.gnu.org; Sat, 14 Nov 2015 14:42:07 -0500 Received: from mail-vk0-f45.google.com ([209.85.213.45]:32957) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Zxgi5-0002Zs-3q for 21415@debbugs.gnu.org; Sat, 14 Nov 2015 14:42:05 -0500 Received: by vkbs1 with SMTP id s1so9338750vkb.0 for <21415@debbugs.gnu.org>; Sat, 14 Nov 2015 11:42:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=2RixTvvHjGlQuzs8VyczGsfE/NMyZk6sTGonH/6ol3o=; b=KxI3T1MToC182dtRVEvSycE+hnXSQBINIFt/XKCCkytfRtS+5xpvqV0gU1/zfemifJ WqoaA9X/c7vdrbt1+6D0OG8FQZscW1gDyWqD+SwA9ZJ+uwTOv911gOtxUFjfQPZ9kz6d EaRexjvumbjxPfo45fxmvXF0JlcfTKTvwuuzAmcD7/eSS6F8Yy7Nw6SmOEkaPoLaMVT7 uevXKov4jy/G1/UuW3q17//ZpDWt7MSg/riAX+teTml5QIDjNlC2Z47tNTv7p/yDK0qi P7pMO3txcViN2gNKm2PL35q9C1VYIzoTm5Lyq+d/78C0lz9TXvxTXOcNRYV6Nn1rcLKf 21Gg== MIME-Version: 1.0 X-Received: by 10.31.60.68 with SMTP id j65mr4695680vka.105.1447530124393; Sat, 14 Nov 2015 11:42:04 -0800 (PST) Received: by 10.31.210.133 with HTTP; Sat, 14 Nov 2015 11:42:04 -0800 (PST) In-Reply-To: References: Date: Sat, 14 Nov 2015 20:42:04 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky Content-Type: multipart/mixed; boundary=001a113feeecddd72b0524855e46 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: martin rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a113feeecddd72b0524855e46 Content-Type: multipart/alternative; boundary=001a113feeecddd7240524855e44 --001a113feeecddd7240524855e44 Content-Type: text/plain; charset=UTF-8 Hi, I found some time to look into this. When the frame was maximized and the tool-bar was disabled, the function x_set_window_size was never called. The following patch makes the frame exit the fullheight or maximized states when the tool-bar is disabled, which makes the call x_set_window_size reappear. It does NOT, however, return the frame to the fullheight or maximized states when the toolbar is re-enabled (I don't even know if it should). In addition, it does not support frame-inhibit-implied-resize either (which would require a lot more work). I read in the emacs-devel group that there is a feature-freeze in place -- does this mean that I shouldn't commit this? Also, the current Emacs master branch doesn't build on OS X 10.6.8 after an attempt to David Reitter to eliminate warnings -- I think it's an easy fix (David don't have access to a 10.6.8 machine but fortunately I do). -- Anders On Thu, Oct 29, 2015 at 3:47 AM, Keith David Bershatsky wrote: > The following are results of my tests with `emacs-repository-version` > "ffa41ad2a02dbd1202d71a08bac34831f25662d0" built this evening (October 28, > 2015). > > Starting from Emacs -Q, and then turning off the toolbar using the mouse > by clicking the option in the menubar, the frame shrinks slightly. Clicking > the toolbar option again restores the frame to its original position. > > `M-x toggle-frame-maximized` results in a frame properly maximized. > > The first time I turned off the toolbar from a maximized frame, the frame > shrunk a little. When I turned the toolbar back on again, the frame did > not return to a maximized position -- i.e., it remained a few pixels shy of > full-screen in terms of height. When I turned the toolbar off again, the > main window reduced in size and the height of the echo area increased to > about 3 lines in height -- the frame remained the same size. When I turned > the toolbar on again, the main window returned to its prior size and the > echo area returned to a size of just one line -- the frame stayed the same > size (i.e., a few pixels shy of full-screen in terms of height). > > Keith > --001a113feeecddd7240524855e44 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

I found some time to look into this. Whe= n the frame was maximized and the tool-bar was disabled, the function x_set= _window_size was never called.

The following patch makes the frame e= xit the fullheight or maximized states when the tool-bar is disabled, which= makes the call x_set_window_size reappear. It does NOT, however, return th= e frame to the fullheight or maximized states when the toolbar is re-enable= d (I don't even know if it should). In addition, it does not support fr= ame-inhibit-implied-resize either (which would require a lot more work).

I read in the emacs-devel group that there is a= feature-freeze in place -- does this mean that I shouldn't commit this= ?

Also, the current Emacs master branch doesn'= t build on OS X 10.6.8 after an attempt to David Reitter to eliminate warni= ngs -- I think it's an easy fix (David don't have access to a 10.6.= 8 machine but fortunately I do).

=C2=A0 =C2=A0 -- = Anders


On Thu, Oct 29, 2015 at 3:47 AM, Keith David Bershatsky <es= q@lawlist.com> wrote:
The f= ollowing are results of my tests with `emacs-repository-version` "ffa4= 1ad2a02dbd1202d71a08bac34831f25662d0" built this evening (October 28, = 2015).

Starting from Emacs -Q, and then turning off the toolbar using the mouse by= clicking the option in the menubar, the frame shrinks slightly. Clicking t= he toolbar option again restores the frame to its original position.

`M-x toggle-frame-maximized` results in a frame properly maximized.

The first time I turned off the toolbar from a maximized frame, the frame s= hrunk a little.=C2=A0 When I turned the toolbar back on again, the frame di= d not return to a maximized position -- i.e., it remained a few pixels shy = of full-screen in terms of height.=C2=A0 When I turned the toolbar off agai= n, the main window reduced in size and the height of the echo area increase= d to about 3 lines in height -- the frame remained the same size.=C2=A0 Whe= n I turned the toolbar on again, the main window returned to its prior size= and the echo area returned to a size of just one line -- the frame stayed = the same size (i.e., a few pixels shy of full-screen in terms of height).
Keith

--001a113feeecddd7240524855e44-- --001a113feeecddd72b0524855e46 Content-Type: text/plain; charset=US-ASCII; name="toolbar-maximized.diff" Content-Disposition: attachment; filename="toolbar-maximized.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_igzhquke0 ZGlmZiAtLWdpdCBhL3NyYy9uc2Zucy5tIGIvc3JjL25zZm5zLm0KaW5kZXggY2ZmYjU5OS4uODUx MDMyNyAxMDA2NDQKLS0tIGEvc3JjL25zZm5zLm0KKysrIGIvc3JjL25zZm5zLm0KQEAgLTY3MSw2 ICs2NzEsMTggQEAgeF9zZXRfdG9vbF9iYXJfbGluZXMgKHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9P YmplY3QgdmFsdWUsIExpc3BfT2JqZWN0IG9sZHZhbCkKICAgICAgICAgewogICAgICAgICAgIGZy ZWVfZnJhbWVfdG9vbF9iYXIgKGYpOwogICAgICAgICAgIEZSQU1FX0VYVEVSTkFMX1RPT0xfQkFS IChmKSA9IDA7CisKKyAgICAgICAgICB7CisgICAgICAgICAgICBMaXNwX09iamVjdCBmdWxsc2Ny ZWVuID0gZ2V0X2ZyYW1lX3BhcmFtIChmLCBRZnVsbHNjcmVlbik7CisgICAgICAgICAgICBpZiAo RVEgKGZ1bGxzY3JlZW4sIFFtYXhpbWl6ZWQpKQorICAgICAgICAgICAgICB7CisgICAgICAgICAg ICAgICAgc3RvcmVfZnJhbWVfcGFyYW0gKGYsIFFmdWxsc2NyZWVuLCBRZnVsbHdpZHRoKTsKKyAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAoRVEgKGZ1bGxzY3JlZW4sIFFmdWxs aGVpZ2h0KSkKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHN0b3JlX2ZyYW1lX3Bh cmFtIChmLCBRZnVsbHNjcmVlbiwgUW5pbCk7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICB9 CiAgICAgICAgIH0KICAgICB9CiAK --001a113feeecddd72b0524855e46-- From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 15 22:06:07 2015 Received: (at 21415) by debbugs.gnu.org; 16 Nov 2015 03:06:07 +0000 Received: from localhost ([127.0.0.1]:39380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyA7L-0004z8-1n for submit@debbugs.gnu.org; Sun, 15 Nov 2015 22:06:07 -0500 Received: from cobb.liquidweb.com ([50.28.13.150]:42460) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyA7J-0004yz-SZ for 21415@debbugs.gnu.org; Sun, 15 Nov 2015 22:06:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=n9Ma2kBPLE+MaWNu6sY2Gauv8GWV7RkE09eVLAnRs+4=; b=a4qQu8t2hyE7Oc0iGTVaSQuY/GHf5t5hCuA0M4FCBl9zloKp02oEFX6vpBWHda1XRs5qTrblvwta1Ht9eTz6KjA8VPXTP//I9ypJRnBwkP0AhUeaKI5fJQ+1agmGj4C0; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50142 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZyA7F-00017D-37; Sun, 15 Nov 2015 22:06:01 -0500 Date: Sun, 15 Nov 2015 19:06:03 -0800 Message-ID: From: Keith David Bershatsky To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Using a download of Emacs master branch from this morning (11/15/2015) -- emacs-repository-version "70f1fda4ae6abb5e11dcf281738c25f6f5b06061", and applying toolbar-maximized.diff, and building on OSX Server 10.6.8, I repeated the previous tests. This time around everything worked as expected. (1) the default frame with Emacs -Q shrunk a bit and then returned to the previous size when toggling the tool-bar with the mouse. The beginning bounds were (0, 22, 595, 640), which was reduced to (0, 22, 595, 608), which then increased again to (0, 22, 595, 640). (2) the full-size frame when issuing the command toggle-frame-maximized had a bounds of (0, 22, 1920, 1080). When toggling the tool-bar the mouse, the bounds reduced to (0, 22, 1920, 1048). When toggling the tool-bar again with the mouse, the bounds returned to (0, 22, 1920, 1080). I tested the bounds with the applescript described in feature request #18283. Keith From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 15 22:16:49 2015 Received: (at 21415) by debbugs.gnu.org; 16 Nov 2015 03:16:49 +0000 Received: from localhost ([127.0.0.1]:39384 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyAHh-0005Qz-85 for submit@debbugs.gnu.org; Sun, 15 Nov 2015 22:16:49 -0500 Received: from cobb.liquidweb.com ([50.28.13.150]:43850) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyAHN-0005Q3-Ay for 21415@debbugs.gnu.org; Sun, 15 Nov 2015 22:16:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=zPXBxqdVwmpMA9dOrCcwbcxZp1nEV/eK0CjtDQtH2No=; b=wOZzO6kQmdSHa7uDvqYd2qakvAmieTdKaJwxhiDZ68qwOx27vOH7R+rDDzEoCKC7ZOLlDeg68iXramHTLGnbaks+Y4lRHQJLO7Flvwi77Mb9Jiyv/ZKZ+tXn60N5oiJd; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50217 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZyAHJ-0001ps-E8; Sun, 15 Nov 2015 22:16:25 -0500 Date: Sun, 15 Nov 2015 19:16:28 -0800 Message-ID: From: Keith David Bershatsky To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) I really enjoy using OSX 10.6.8 and presently have three (3) computers that I regularly use with that operating system running natively. I would undoubtedly need to undergo several sessions of therapeutic interventions to help me cope with a world without OSX 10.6.8 if Emacs master branch someday becomes unavailable as to that OSX version. Anything that can be done to maintain compatibility with OSX 10.6.8 would be greatly appreciated -- pretty please with sugar on top -- :) Keith ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; At Sat, 14 Nov 2015 20:42:04 +0100, Anders Lindgren wrote: > > * * * > > Also, the current Emacs master branch doesn't build on OS X 10.6.8 after an > attempt to David Reitter to eliminate warnings -- I think it's an easy fix > (David don't have access to a 10.6.8 machine but fortunately I do). > > -- Anders From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 16 02:54:26 2015 Received: (at 21415) by debbugs.gnu.org; 16 Nov 2015 07:54:27 +0000 Received: from localhost ([127.0.0.1]:39473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyEcM-0003tq-89 for submit@debbugs.gnu.org; Mon, 16 Nov 2015 02:54:26 -0500 Received: from mail-yk0-f176.google.com ([209.85.160.176]:35501) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyEcJ-0003ti-Og for 21415@debbugs.gnu.org; Mon, 16 Nov 2015 02:54:24 -0500 Received: by ykba77 with SMTP id a77so225235777ykb.2 for <21415@debbugs.gnu.org>; Sun, 15 Nov 2015 23:54:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=wuABtesR3+ROOehZhRlf93Ijr/r4Wbn/OLT2arF7/84=; b=C7MlXzLQro0cRBCCsR3LPWXulbBcOtm6kSSupkzkwbrWel8+ErmQQibzMmJk0NKgut aI/m8CfK5FSS16rkgtgZrMx2Glzu7DFvaDBiIdjBCouBt9Ar+NTzA6bDEO1phrP70AsB E+P6UiM+RzgqDjBussbpg+nd/Tgvkn14Ks3CuZih4X09RgQreWObX/37AmX8fkMA+5eH Z9MJ5d29V7MLEs5IV5TLHT0SxNWboia6I5WlF8f7s7u353ev80SMlEfWtnr5HFnDZqBD J0ndEe5fPXawQMUHhMwwUJzR/Kqy/WcpQUT6t+IL36LTm9dkOVK+LLrwhaoSVXSF00L2 Ri8w== MIME-Version: 1.0 X-Received: by 10.129.105.3 with SMTP id e3mr33621435ywc.244.1447660463157; Sun, 15 Nov 2015 23:54:23 -0800 (PST) Received: by 10.31.210.133 with HTTP; Sun, 15 Nov 2015 23:54:23 -0800 (PST) In-Reply-To: References: Date: Mon, 16 Nov 2015 08:54:23 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky Content-Type: multipart/alternative; boundary=001a11490218a97ab90524a3b73e X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a11490218a97ab90524a3b73e Content-Type: text/plain; charset=UTF-8 Hi, Yesterday I checked in a fix for the OS X 10.6.8 build problem. However, I used the emacs-25 branch, which is where active development should go after Fridays feature freeze. Please try it out and let me know if it works for you. I'm 100% behind supporting 10.6.8. There are a number of Mac:s that can't be upgraded to newer OS X versions, but otherwise run perfectly fine. However, there has been talk about dropping 10.5 and PowerPC support, but I haven't seen any definitive decision regarding this. I guess they will fall of the wagon once there are no developers actively supporting them. (Personally, I don't have access to a PowerPC machine, and wouldn't spend my free time supporting it anyway.) -- Anders On Mon, Nov 16, 2015 at 4:16 AM, Keith David Bershatsky wrote: > I really enjoy using OSX 10.6.8 and presently have three (3) computers > that I regularly use with that operating system running natively. > > I would undoubtedly need to undergo several sessions of therapeutic > interventions to help me cope with a world without OSX 10.6.8 if Emacs > master branch someday becomes unavailable as to that OSX version. > > Anything that can be done to maintain compatibility with OSX 10.6.8 would > be greatly appreciated -- pretty please with sugar on top -- :) > > Keith > > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; > > At Sat, 14 Nov 2015 20:42:04 +0100, > Anders Lindgren wrote: > > > > * * * > > > > Also, the current Emacs master branch doesn't build on OS X 10.6.8 after > an > > attempt to David Reitter to eliminate warnings -- I think it's an easy > fix > > (David don't have access to a 10.6.8 machine but fortunately I do). > > > > -- Anders > --001a11490218a97ab90524a3b73e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

Yesterday I checked in a fix for th= e OS X 10.6.8 build problem. However, I used the emacs-25 branch, which is = where active development should go after Fridays feature freeze. Please try= it out and let me know if it works for you.

I'= ;m 100% behind supporting 10.6.8. There are a number of Mac:s that can'= t be upgraded to newer OS X versions, but otherwise run perfectly fine.

However, there has been talk about dropping 10.5 and = PowerPC support, but I haven't seen any definitive decision regarding t= his. I guess they will fall of the wagon once there are no developers activ= ely supporting them. (Personally, I don't have access to a PowerPC mach= ine, and wouldn't spend my free time supporting it anyway.)
<= br>
=C2=A0 =C2=A0 -- Anders


On Mon, Nov 16, 2015 at 4:1= 6 AM, Keith David Bershatsky <esq@lawlist.com> wrote:
I really enjoy using OSX 10.6.8 and presently hav= e three (3) computers that I regularly use with that operating system runni= ng natively.

I would undoubtedly need to undergo several sessions of therapeutic interve= ntions to help me cope with a world without OSX 10.6.8 if Emacs master bran= ch someday becomes unavailable as to that OSX version.

Anything that can be done to maintain compatibility with OSX 10.6.8 would b= e greatly appreciated -- pretty please with sugar on top -- :)

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

At Sat, 14 Nov 2015 20:42:04 +0100,
Anders Lindgren wrote:
>
> * * *
>
> Also, the current Emacs master branch doesn't build on OS X 10.6.8= after an
> attempt to David Reitter to eliminate warnings -- I think it's an = easy fix
> (David don't have access to a 10.6.8 machine but fortunately I do)= .
>
>=C2=A0 =C2=A0 =C2=A0-- Anders

--001a11490218a97ab90524a3b73e-- From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 16 04:11:07 2015 Received: (at 21415) by debbugs.gnu.org; 16 Nov 2015 09:11:07 +0000 Received: from localhost ([127.0.0.1]:39500 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyFoY-0005m3-KV for submit@debbugs.gnu.org; Mon, 16 Nov 2015 04:11:07 -0500 Received: from mail-yk0-f177.google.com ([209.85.160.177]:34328) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyFoW-0005lt-2z for 21415@debbugs.gnu.org; Mon, 16 Nov 2015 04:11:04 -0500 Received: by ykfs79 with SMTP id s79so229029632ykf.1 for <21415@debbugs.gnu.org>; Mon, 16 Nov 2015 01:11:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=KsYEKpedtTwj7gIcUBytaGH+2r1DqNPVsi1EbScnEXY=; b=tjdaa2+TGYj87eHkqO2bV5wK/Y3CUIDIpxyLpwSkufS38EcOk4PX6In9C2m84FbfRq fHN2i30FtrtvXOUiK55MWofxUCm4fpk/RDx69W3Lad5hUByW9onpAbdgDGD2bch8LadT 2/yIq4EwBXXc5GgFD9mSVVmCixPMVFUJb5ZCAhrLka04WHzSqT9/mMDHOfLUE0/y62UV l6cr1gj8IQAgbvzDfpLYdNkysHoPJh9aiNchvYCMtaflRA15M0+UGIKIrc5SNLPE5v2z 7E/PjHX0/Fb1t+R63L4fuIGGWf1KogMtIQU1MnxBdq3rTyYF1bRSSuW+zY3s4ND9dUwF d/YQ== MIME-Version: 1.0 X-Received: by 10.129.80.138 with SMTP id e132mr33341151ywb.90.1447665063661; Mon, 16 Nov 2015 01:11:03 -0800 (PST) Received: by 10.31.210.133 with HTTP; Mon, 16 Nov 2015 01:11:03 -0800 (PST) In-Reply-To: References: Date: Mon, 16 Nov 2015 10:11:03 +0100 Message-ID: Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame From: Anders Lindgren To: Keith David Bershatsky Content-Type: multipart/alternative; boundary=001a1147fa52df96e10524a4c949 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) --001a1147fa52df96e10524a4c949 Content-Type: text/plain; charset=UTF-8 Thanks for testing this. Yesterday I pushed this fix (or rather a variant of it) to the "emacs-25" branch. When it comes to feature request #18283 -- this sounds like good idea. But before I add the applescript lines, I would like to read up on the issue a bit. I have found the bug database really hard to navigate -- do you know of any other OS X-related bugs that are still open, I might as well look into those while I'm at it. -- Anders On Mon, Nov 16, 2015 at 4:06 AM, Keith David Bershatsky wrote: > Using a download of Emacs master branch from this morning (11/15/2015) -- > emacs-repository-version "70f1fda4ae6abb5e11dcf281738c25f6f5b06061", and > applying toolbar-maximized.diff, and building on OSX Server 10.6.8, I > repeated the previous tests. > > This time around everything worked as expected. > > (1) the default frame with Emacs -Q shrunk a bit and then returned to the > previous size when toggling the tool-bar with the mouse. The beginning > bounds were (0, 22, 595, 640), which was reduced to (0, 22, 595, 608), > which then increased again to (0, 22, 595, 640). > > (2) the full-size frame when issuing the command toggle-frame-maximized > had a bounds of (0, 22, 1920, 1080). When toggling the tool-bar the mouse, > the bounds reduced to (0, 22, 1920, 1048). When toggling the tool-bar > again with the mouse, the bounds returned to (0, 22, 1920, 1080). > > I tested the bounds with the applescript described in feature request > #18283. > > Keith > --001a1147fa52df96e10524a4c949 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Thanks for testing this.

Yesterday I pu= shed this fix (or rather a variant of it) to the "emacs-25" branc= h.

When it comes to=C2=A0feature request #18283 -- t= his sounds like good idea. But before I add the applescript lines, I would = like to read up on the issue a bit.

I have fo= und the bug database really hard to navigate -- do you know of any other OS= X-related bugs that are still open, I might as well look into those while = I'm at it.

=C2=A0 =C2=A0 -- Anders=

On Mo= n, Nov 16, 2015 at 4:06 AM, Keith David Bershatsky <esq@lawlist.com><= /span> wrote:
Using a download of Emacs m= aster branch from this morning (11/15/2015) -- emacs-repository-version &qu= ot;70f1fda4ae6abb5e11dcf281738c25f6f5b06061", and applying toolbar-max= imized.diff, and building on OSX Server 10.6.8, I repeated the previous tes= ts.

This time around everything worked as expected.

(1) the default frame with Emacs -Q shrunk a bit and then returned to the p= revious size when toggling the tool-bar with the mouse.=C2=A0 The beginning= bounds were (0, 22, 595, 640), which was reduced to (0, 22, 595, 608), whi= ch then increased again to (0, 22, 595, 640).

(2) the full-size frame when issuing the command toggle-frame-maximized had= a bounds of (0, 22, 1920, 1080).=C2=A0 When toggling the tool-bar the mous= e, the bounds reduced to (0, 22, 1920, 1048).=C2=A0 When toggling the tool-= bar again with the mouse, the bounds returned to (0, 22, 1920, 1080).

I tested the bounds with the applescript described in feature request #1828= 3.

Keith

--001a1147fa52df96e10524a4c949-- From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 16 12:26:04 2015 Received: (at 21415) by debbugs.gnu.org; 16 Nov 2015 17:26:04 +0000 Received: from localhost ([127.0.0.1]:40419 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyNXY-0003id-CX for submit@debbugs.gnu.org; Mon, 16 Nov 2015 12:26:04 -0500 Received: from cobb.liquidweb.com ([50.28.13.150]:48067) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyNXV-0003iI-SB for 21415@debbugs.gnu.org; Mon, 16 Nov 2015 12:26:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=ly8dNaesf6ap/Mx1zVn0Q2LwmrRMAd+CuhRSgnCGSGY=; b=Sh7IUPEHKZBjeX2negOYSVNv87n9lBBvT7S8m38oMMc0c8EbEMYdhZ5zECwnY1OfjZw1m42oiRmu2XTMhpMU2tz4EtizKVPmX1HSzLxyEOJdI8ANw02/tZ1JM69wS9P9; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:50677 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZyNXT-0002MR-Iu; Mon, 16 Nov 2015 12:25:59 -0500 Date: Mon, 16 Nov 2015 09:25:59 -0800 Message-ID: From: Keith David Bershatsky To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) I was able to successfully build Emacs master branch today on 10.6.8 -- emacs-repository-version "937565268a5dc3377d4c9bff6d48eb3645a77160". I am not aware of any other open OSX specific bugs. Keith ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; At Mon, 16 Nov 2015 10:11:03 +0100, Anders Lindgren wrote: > > * * * > > I have found the bug database really hard to navigate -- do you know of any > other OS X-related bugs that are still open, I might as well look into > those while I'm at it. > > -- Anders From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 16 18:52:57 2015 Received: (at 21415) by debbugs.gnu.org; 16 Nov 2015 23:52:57 +0000 Received: from localhost ([127.0.0.1]:40626 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyTZx-0007Ga-D2 for submit@debbugs.gnu.org; Mon, 16 Nov 2015 18:52:57 -0500 Received: from cobb.liquidweb.com ([50.28.13.150]:49880) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZyTZv-0007GR-AA for 21415@debbugs.gnu.org; Mon, 16 Nov 2015 18:52:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lawlist.com; s=default; h=Content-Type:MIME-Version:Subject:Cc:To:From:Message-ID:Date; bh=EPtDErE0Ja4bFFWjhCjSAYlKPGi0zmy4Lf5t7zdfAY0=; b=XYq1aY2ozRTdMeVk7iAnLgNNGOKfkdw6WyA3p7Jjw7wEEgW/IQ1SKZNMsxjtolRRUatp0JIUFz6F67LWkVZNabHBX2u4xl4+yDL5RXnrgWo8XIFXWrkwyZwGcTm0lPp/; Received: from cpe-45-48-239-195.socal.res.rr.com ([45.48.239.195]:49327 helo=server.local.localhost) by cobb.liquidweb.com with esmtp (Exim 4.82) (envelope-from ) id 1ZyTZt-0008Mc-4I; Mon, 16 Nov 2015 18:52:53 -0500 Date: Mon, 16 Nov 2015 15:52:53 -0800 Message-ID: From: Keith David Bershatsky To: Anders Lindgren Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame MIME-Version: 1.0 (generated by - "") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cobb.liquidweb.com X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lawlist.com X-Get-Message-Sender-Via: cobb.liquidweb.com: acl_c_relayhosts_text_entry: lawlist|lawlist.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.7 (/) Anders: I just remembered an open bug that is OSX specific: bug#21714: 25.0.50; image-metadata using Emacs --with-ns prevents *.gif Keth ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; At Mon, 16 Nov 2015 10:11:03 +0100, Anders Lindgren wrote: > > * * * > > I have found the bug database really hard to navigate -- do you know of any > other OS X-related bugs that are still open, I might as well look into > those while I'm at it. > > -- Anders From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 17 13:54:02 2020 Received: (at 21415) by debbugs.gnu.org; 17 Sep 2020 17:54:02 +0000 Received: from localhost ([127.0.0.1]:38949 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kIy6c-0001mL-Dn for submit@debbugs.gnu.org; Thu, 17 Sep 2020 13:54:02 -0400 Received: from quimby.gnus.org ([95.216.78.240]:43810) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kIy6a-0001lq-3t for 21415@debbugs.gnu.org; Thu, 17 Sep 2020 13:54:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=zIaGAfje68/mIZcsSOLonD2sLVNmBa2jbQ2xkNsjgQo=; b=M3pqYDPL1OoIoX6NuUb5yQDSqJ B8x2moQjG1ACOXn5y+HVy8knYUMOIHpOFF0D6hcAJT+19aZbHs0mjEY3Kfql0ZFtm9E3DWsu6MpOZ CTkD9S/CeiY+X9jbyqURT/nwSYeG7LNMGx/tedekZDGL0juH6XyzcDKEHaNFSOhYUgGs=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kIy6J-0003G5-Q7; Thu, 17 Sep 2020 19:53:52 +0200 From: Lars Ingebrigtsen To: Keith David Bershatsky Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame References: X-Now-Playing: Scritti Politti's _Provision_: "Overnite" Date: Thu, 17 Sep 2020 19:53:42 +0200 In-Reply-To: (Keith David Bershatsky's message of "Sun, 15 Nov 2015 19:06:03 -0800") Message-ID: <87v9gcmgrd.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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 @@CONTACT_ADDRESS@@ for details. Content preview: Keith David Bershatsky writes: > Using a download of Emacs master branch from this morning (11/15/2015) > -- emacs-repository-version > "70f1fda4ae6abb5e11dcf281738c25f6f5b06061", and applying > toolbar-maximized.diff, and building [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21415 Cc: Martin Rudalics , 21415@debbugs.gnu.org, Anders Lindgren 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 (-) Keith David Bershatsky writes: > Using a download of Emacs master branch from this morning (11/15/2015) > -- emacs-repository-version > "70f1fda4ae6abb5e11dcf281738c25f6f5b06061", and applying > toolbar-maximized.diff, and building on OSX Server 10.6.8, I repeated > the previous tests. > > This time around everything worked as expected. This was an very, very long bug report, and it seems like many, many pixel-resizing bugs were fixed. Skimming it, it doesn't seem clear why the bug report was left open, but I may very well have missed something. I'm closing it anyway -- if there are anything more to be done in this area, it's probably more productive to open new bug reports for these specific things. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 17 13:54:07 2020 Received: (at control) by debbugs.gnu.org; 17 Sep 2020 17:54:07 +0000 Received: from localhost ([127.0.0.1]:38952 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kIy6g-0001mc-M6 for submit@debbugs.gnu.org; Thu, 17 Sep 2020 13:54:06 -0400 Received: from quimby.gnus.org ([95.216.78.240]:43828) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kIy6e-0001lv-M7 for control@debbugs.gnu.org; Thu, 17 Sep 2020 13:54:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=pCcq2NM/Ab3hJJZTm7B9pcq6tyhSRlqZrALc8wKFMYw=; b=V5Xmy7gKv12OPqHIu2IRvBKnty uqzOKE9wKDgcuxYf4Lf25ezJdveAKl/JDZ4hJ05GKb3lUaySM3URWOcjY5eykQjxnkbgvqono3nHi YvZRftSXR5TYdgdkMSDfwlzZosKW62HuRU8rpN4gz+9GuoHsTUQyNCTahyMZdgRvFzSs=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kIy6W-0003GM-Tf for control@debbugs.gnu.org; Thu, 17 Sep 2020 19:53:59 +0200 Date: Thu, 17 Sep 2020 19:53:55 +0200 Message-Id: <87tuvwmgr0.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #21415 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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 @@CONTACT_ADDRESS@@ for details. Content preview: close 21415 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) 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: -1.0 (-) close 21415 quit From unknown Mon Jun 23 07:46:38 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, 16 Oct 2020 11:24:03 +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