From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 15 18:30:16 2019 Received: (at submit) by debbugs.gnu.org; 15 Oct 2019 22:30:16 +0000 Received: from localhost ([127.0.0.1]:44965 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iKVKa-0005En-0i for submit@debbugs.gnu.org; Tue, 15 Oct 2019 18:30:16 -0400 Received: from lists.gnu.org ([209.51.188.17]:47182) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iKVKY-0005Ed-5f for submit@debbugs.gnu.org; Tue, 15 Oct 2019 18:30:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38073) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iKVKW-0001hy-Gb for bug-gnu-emacs@gnu.org; Tue, 15 Oct 2019 18:30:13 -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,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iKVKU-0000h8-UN for bug-gnu-emacs@gnu.org; Tue, 15 Oct 2019 18:30:12 -0400 Received: from mail-yw1-xc42.google.com ([2607:f8b0:4864:20::c42]:35053) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iKVKU-0000gi-OL for bug-gnu-emacs@gnu.org; Tue, 15 Oct 2019 18:30:10 -0400 Received: by mail-yw1-xc42.google.com with SMTP id r134so7949423ywg.2 for ; Tue, 15 Oct 2019 15:30:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=uxsSpw5X7KpYb+0riIyRC2U2kq0e/sr8YvfSTrJ/KZM=; b=VCUGMk24XQEnN75OxL4A2dH0iRMvv8mC3WxciF3ZKlukKGfejaukjNM3LBH3p50OgN bIjc2Zx1Zxnrigdic/d9ch+tfPzNznMc8G/Af2xna0IZb1ddY0doMfVbX62u5uPLVVuA H2R29Wmmm+qVGnz7XTwqhbZvrHblkWGjWUXZz+IjGqttmotaHvjdu788Hc58K2u3qP69 tl9Ue0hqnSsqfbvRIaHntZtXPmb87ngz9vIH9wyYzWUNLCjrZfSZJ/Sgk/dTSvWm7Rvl DPk3nKzgxgpaWTV3GPbfOK8mD+QKYO3cXFkdvXP50kV3xcSiRfdrrkdz/Ux4iD7RW3iy kBOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=uxsSpw5X7KpYb+0riIyRC2U2kq0e/sr8YvfSTrJ/KZM=; b=kNG5vhKshmZkrMgcTxghvoYtFH1ZFUjeF9L56zPb7R7xgKLS4rxuRgvvGp1DQEMsdS Y9+tJ9xQffktE+MRLhCJar3cI8kf1RGKVyzkt54FXm6lCDCsnyYCz5LOpWQe+QUYl7ZO O3LpKhwbZ5d3VkATC11cbG5mEgsgZ/FSHu67y/mfbZDqbtGow/ZjfaS1pBzRH0ncWa7d VYndhDPrJAaYXbDjgNQpusJklPnAldfhCCR3x5oytr9BIe5AFb1dDTDYNAYQikji2ejj kxgFOkImqJyZ1i32D6TbZxMUpCx8C+ONTeo7v7b1LnXJgi6YyaWP3d6fDr5ZTx0IJVfi dBsg== X-Gm-Message-State: APjAAAWLFywBe8GenzJtUzF8yEyBTh8U3M9aswOQnMbYb7JHqoT6aVIU uoXyPMzgpt+nzKaura7nyCZRZDwmigM5uxOckQRqMMdhseY= X-Google-Smtp-Source: APXvYqxA8yNvPlOI6Pcg9xOPCVCmuZLbiME4sT2ZDZsR/as1XisgECuKzcvKZuTWbf6nkCpIPJIy9cFWIq8g/Sslv3Y= X-Received: by 2002:a81:b616:: with SMTP id u22mr18675528ywh.80.1571178609213; Tue, 15 Oct 2019 15:30:09 -0700 (PDT) MIME-Version: 1.0 From: Carlos Pita Date: Tue, 15 Oct 2019 19:29:58 -0300 Message-ID: Subject: [PATCH] Expose scale factor through the redisplay interface To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary="000000000000e1a1720594fa8608" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::c42 X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit 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: -2.3 (--) --000000000000e1a1720594fa8608 Content-Type: text/plain; charset="UTF-8" I need this in order to move forward #37689. Besides I did some related changes proposed in #37752, which I'm no closing in favor of this one. Here is the commit message: * src/dispextern.h: add get_scale_factor API. * src/xterm.c: - Unify usages of xg_get_scale and x_get_scale_factor into a consolidated x_get_scale_factor that is exported by the rif. - Simplify scale inferring logic (see note below). * src/w32term.c: - Simplify w32_get_scale_factor in a similar way (see note). - Add it to the rif. * src/nsterm.m: - Just add NULL to the rif since there are no uses of any scale factor here. Clients are expected to interpret a missing API as meaning scale factor = 1. Note: both x_get_scale_factor and w32_get_scale_factor computed distinct scales for x and y by taking the ratio between effective resolution in each direction and a standard 96 dpi resolution. Since this ratio is then truncated to an integer (the floor) it seems to me that there is no sensible possibility that these two numbers diverge. Moreover, modern toolkits report one number as scale factor and we need a common interface here. For those reasons I'm arbitrarily picking the horizontal scale factor as THE scale factor. Best regards -- Carlos --000000000000e1a1720594fa8608 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Expose-scale-factor-through-the-redisplay-interface.patch" Content-Disposition: attachment; filename="0001-Expose-scale-factor-through-the-redisplay-interface.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k1sf5vwx0 RnJvbSA0OTRiMjg2NGU5N2Q4MDM1MzY1YjMyMDc5ZTA5NDlhNzYzM2MzMzM4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBtZW1lcGxleCA8Y2FybG9zam9zZXBpdGFAZ21haWwuY29tPgpE YXRlOiBUdWUsIDE1IE9jdCAyMDE5IDE5OjE0OjAzIC0wMzAwClN1YmplY3Q6IFtQQVRDSF0gRXhw b3NlIHNjYWxlIGZhY3RvciB0aHJvdWdoIHRoZSByZWRpc3BsYXkgaW50ZXJmYWNlCgoqIHNyYy9k aXNwZXh0ZXJuLmg6IGFkZCBnZXRfc2NhbGVfZmFjdG9yIEFQSS4KKiBzcmMveHRlcm0uYzoKICAt IFVuaWZ5IHVzYWdlcyBvZiB4Z19nZXRfc2NhbGUgYW5kIHhfZ2V0X3NjYWxlX2ZhY3RvciBpbnRv IGEKICAgIGNvbnNvbGlkYXRlZCB4X2dldF9zY2FsZV9mYWN0b3IgdGhhdCBpcyBleHBvcnRlZCBi eSB0aGUgcmlmLgogIC0gU2ltcGxpZnkgc2NhbGUgaW5mZXJyaW5nIGxvZ2ljIChzZWUgbm90ZSBi ZWxvdykuCiogc3JjL3czMnRlcm0uYzoKICAtIFNpbXBsaWZ5IHczMl9nZXRfc2NhbGVfZmFjdG9y IGluIGEgc2ltaWxhciB3YXkgKHNlZSBub3RlKS4KICAtIEFkZCBpdCB0byB0aGUgcmlmLgoqIHNy Yy9uc3Rlcm0ubToKICAtIEp1c3QgYWRkIE5VTEwgdG8gdGhlIHJpZiBzaW5jZSB0aGVyZSBhcmUg bm8gdXNlcyBvZiBhbnkgc2NhbGUKICAgIGZhY3RvciBoZXJlLiBDbGllbnRzIGFyZSBleHBlY3Rl ZCB0byBpbnRlcnByZXQgYSBtaXNzaW5nIEFQSQogICAgYXMgbWVhbmluZyBzY2FsZSBmYWN0b3Ig PSAxLgoKTm90ZTogYm90aCB4X2dldF9zY2FsZV9mYWN0b3IgYW5kIHczMl9nZXRfc2NhbGVfZmFj dG9yIGNvbXB1dGVkCmRpc3RpbmN0IHNjYWxlcyBmb3IgeCBhbmQgeSBieSB0YWtpbmcgdGhlIHJh dGlvIGJldHdlZW4gZWZmZWN0aXZlCnJlc29sdXRpb24gaW4gZWFjaCBkaXJlY3Rpb24gYW5kIGEg c3RhbmRhcmQgOTYgZHBpIHJlc29sdXRpb24uICBTaW5jZQp0aGlzIHJhdGlvIGlzIHRoZW4gdHJ1 bmNhdGVkIHRvIGFuIGludGVnZXIgKHRoZSBmbG9vcikgaXQgc2VlbXMgdG8gbWUKdGhhdCB0aGVy ZSBpcyBubyBzZW5zaWJsZSBwb3NzaWJpbGl0eSB0aGF0IHRoZXNlIHR3byBudW1iZXJzCmRpdmVy Z2UuIE1vcmVvdmVyLCBtb2Rlcm4gdG9vbGtpdHMgcmVwb3J0IG9uZSBudW1iZXIgYXMgc2NhbGUg ZmFjdG9yCmFuZCB3ZSBuZWVkIGEgY29tbW9uIGludGVyZmFjZSBoZXJlLiBGb3IgdGhvc2UgcmVh c29ucyBJJ20gYXJiaXRyYXJpbHkKcGlja2luZyB0aGUgaG9yaXpvbnRhbCBzY2FsZSBmYWN0b3Ig YXMgVEhFIHNjYWxlIGZhY3Rvci4KLS0tCiBzcmMvZGlzcGV4dGVybi5oIHwgIDMgKysrCiBzcmMv bnN0ZXJtLm0gICAgIHwgIDEgKwogc3JjL3czMnRlcm0uYyAgICB8IDI5ICsrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tCiBzcmMveHRlcm0uYyAgICAgIHwgNDEgKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygr KSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Rpc3BleHRlcm4uaCBiL3NyYy9k aXNwZXh0ZXJuLmgKaW5kZXggMDYxNWIxNi4uZWMzYzU1NSAxMDA2NDQKLS0tIGEvc3JjL2Rpc3Bl eHRlcm4uaAorKysgYi9zcmMvZGlzcGV4dGVybi5oCkBAIC0yOTQyLDYgKzI5NDIsOSBAQCByZXNl dF9tb3VzZV9oaWdobGlnaHQgKE1vdXNlX0hMSW5mbyAqaGxpbmZvKQogCiAjaWZkZWYgSEFWRV9X SU5ET1dfU1lTVEVNCiAKKyAgLyogUmV0dXJuIHRoZSBzY2FsZSBmYWN0b3IgZm9yIHRoZSBzY3Jl ZW4gY29udGFpbmluZyBmcmFtZSBGLiAgKi8KKyAgdW5zaWduZWQgKCpnZXRfc2NhbGVfZmFjdG9y KSAoc3RydWN0IGZyYW1lICpmKTsKKwogICAvKiBEcmF3IGEgZnJpbmdlIGJpdG1hcCBpbiB3aW5k b3cgVyBvZiByb3cgUk9XIHVzaW5nIHBhcmFtZXRlcnMgUC4gICovCiAgIHZvaWQgKCpkcmF3X2Zy aW5nZV9iaXRtYXApIChzdHJ1Y3Qgd2luZG93ICp3LCBzdHJ1Y3QgZ2x5cGhfcm93ICpyb3csCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJhd19mcmluZ2VfYml0bWFwX3Bh cmFtcyAqcCk7CmRpZmYgLS1naXQgYS9zcmMvbnN0ZXJtLm0gYi9zcmMvbnN0ZXJtLm0KaW5kZXgg NTU4M2M2MS4uOGRkZGYxZSAxMDA2NDQKLS0tIGEvc3JjL25zdGVybS5tCisrKyBiL3NyYy9uc3Rl cm0ubQpAQCAtNTA4Nyw2ICs1MDg3LDcgQEAgc3RhdGljIExpc3BfT2JqZWN0IG5zX3N0cmluZ190 b19saXNwbW9kIChjb25zdCBjaGFyICpzKQogICBndWlfY2xlYXJfd2luZG93X21vdXNlX2ZhY2Us CiAgIGd1aV9nZXRfZ2x5cGhfb3ZlcmhhbmdzLAogICBndWlfZml4X292ZXJsYXBwaW5nX2FyZWEs CisgIDAsIC8qIGdldF9zY2FsZV9mYWN0b3IgKi8KICAgbnNfZHJhd19mcmluZ2VfYml0bWFwLAog ICAwLCAvKiBkZWZpbmVfZnJpbmdlX2JpdG1hcCAqLyAvKiBGSVhNRTogc2ltcGxpZnkgbnNfZHJh d19mcmluZ2VfYml0bWFwICovCiAgIDAsIC8qIGRlc3Ryb3lfZnJpbmdlX2JpdG1hcCAqLwpkaWZm IC0tZ2l0IGEvc3JjL3czMnRlcm0uYyBiL3NyYy93MzJ0ZXJtLmMKaW5kZXggOWRhMDg0NS4uYzg5 OGYxNyAxMDA2NDQKLS0tIGEvc3JjL3czMnRlcm0uYworKysgYi9zcmMvdzMydGVybS5jCkBAIC0z MDQsMjAgKzMwNCwxNiBAQCB3MzJfcmVzdG9yZV9nbHlwaF9zdHJpbmdfY2xpcCAoc3RydWN0IGds eXBoX3N0cmluZyAqcykKICAgICB9CiB9CiAKLXN0YXRpYyB2b2lkCi13MzJfZ2V0X3NjYWxlX2Zh Y3RvcihzdHJ1Y3QgdzMyX2Rpc3BsYXlfaW5mbyAqZHB5aW5mbywgaW50ICpzY2FsZV94LCBpbnQg KnNjYWxlX3kpCitzdGF0aWMgdW5zaWduZWQKK3czMl9nZXRfc2NhbGVfZmFjdG9yKHN0cnVjdCBm cmFtZSAqZikKIHsKKyAgc3RydWN0IHczMl9kaXNwbGF5X2luZm8gKmRweWluZm8gPSBGUkFNRV9E SVNQTEFZX0lORk8gKGYpOwogICBjb25zdCBpbnQgYmFzZV9yZXMgPSA5NjsKIAotICAqc2NhbGVf eCA9ICpzY2FsZV95ID0gMTsKLQotICBpZiAoZHB5aW5mbykKLSAgICB7Ci0gICAgICBpZiAoZHB5 aW5mby0+cmVzeCA+IGJhc2VfcmVzKQotCSpzY2FsZV94ID0gZmxvb3IgKGRweWluZm8tPnJlc3gg LyBiYXNlX3Jlcyk7Ci0gICAgICBpZiAoZHB5aW5mby0+cmVzeSA+IGJhc2VfcmVzKQotCSpzY2Fs ZV95ID0gZmxvb3IgKGRweWluZm8tPnJlc3kgLyBiYXNlX3Jlcyk7Ci0gICAgfQorICBpZiAoZHB5 aW5mbyAmJiBkcHlpbmZvLT5yZXN4ID4gYmFzZV9yZXMpCisgICAgcmV0dXJuIGZsb29yIChkcHlp bmZvLT5yZXN4IC8gYmFzZV9yZXMpOworICBlbHNlCisgICAgcmV0dXJuIDE7CiB9CiAKIC8qCkBA IC0zMzQsMTIgKzMzMCw4IEBAIHczMl9nZXRfc2NhbGVfZmFjdG9yKHN0cnVjdCB3MzJfZGlzcGxh eV9pbmZvICpkcHlpbmZvLCBpbnQgKnNjYWxlX3gsIGludCAqc2NhbGVfCiBzdGF0aWMgdm9pZAog dzMyX2RyYXdfdW5kZXJ3YXZlIChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzLCBDT0xPUlJFRiBjb2xv cikKIHsKLSAgc3RydWN0IHczMl9kaXNwbGF5X2luZm8gKmRweWluZm8gPSBGUkFNRV9ESVNQTEFZ X0lORk8gKHMtPmYpOwotCi0gIGludCBzY2FsZV94LCBzY2FsZV95OwotICB3MzJfZ2V0X3NjYWxl X2ZhY3RvciAoZHB5aW5mbywgJnNjYWxlX3gsICZzY2FsZV95KTsKLQotICBpbnQgd2F2ZV9oZWln aHQgPSAzICogc2NhbGVfeSwgd2F2ZV9sZW5ndGggPSAyICogc2NhbGVfeCwgdGhpY2tuZXNzID0g c2NhbGVfeTsKKyAgaW50IHNjYWxlID0gdzMyX2dldF9zY2FsZV9mYWN0b3IgKHMtPmYpOworICBp bnQgd2F2ZV9oZWlnaHQgPSAzICogc2NhbGUsIHdhdmVfbGVuZ3RoID0gMiAqIHNjYWxlLCB0aGlj a25lc3MgPSBzY2FsZTsKICAgaW50IGR4LCBkeSwgeDAsIHkwLCB3aWR0aCwgeDEsIHkxLCB4Miwg eTIsIG9kZCwgeG1heDsKICAgRW1hY3NfUmVjdGFuZ2xlIHdhdmVfY2xpcCwgc3RyaW5nX2NsaXAs IGZpbmFsX2NsaXA7CiAgIFJFQ1QgdzMyX2ZpbmFsX2NsaXAsIHczMl9zdHJpbmdfY2xpcDsKQEAg LTM0OCw3ICszNDAsNyBAQCB3MzJfZHJhd191bmRlcndhdmUgKHN0cnVjdCBnbHlwaF9zdHJpbmcg KnMsIENPTE9SUkVGIGNvbG9yKQogICBkeCA9IHdhdmVfbGVuZ3RoOwogICBkeSA9IHdhdmVfaGVp Z2h0IC0gMTsKICAgeDAgPSBzLT54OwotICB5MCA9IHMtPnliYXNlICsgd2F2ZV9oZWlnaHQgLyAy IC0gc2NhbGVfeTsKKyAgeTAgPSBzLT55YmFzZSArIHdhdmVfaGVpZ2h0IC8gMiAtIHNjYWxlOwog ICB3aWR0aCA9IHMtPndpZHRoOwogICB4bWF4ID0geDAgKyB3aWR0aDsKIApAQCAtNzE5Miw2ICs3 MTg0LDcgQEAgdzMyX21ha2VfcmRiIChjaGFyICp4cm1fb3B0aW9uKQogICBndWlfY2xlYXJfd2lu ZG93X21vdXNlX2ZhY2UsCiAgIGd1aV9nZXRfZ2x5cGhfb3ZlcmhhbmdzLAogICBndWlfZml4X292 ZXJsYXBwaW5nX2FyZWEsCisgIHczMl9nZXRfc2NhbGVfZmFjdG9yLAogICB3MzJfZHJhd19mcmlu Z2VfYml0bWFwLAogICB3MzJfZGVmaW5lX2ZyaW5nZV9iaXRtYXAsCiAgIHczMl9kZXN0cm95X2Zy aW5nZV9iaXRtYXAsCmRpZmYgLS1naXQgYS9zcmMveHRlcm0uYyBiL3NyYy94dGVybS5jCmluZGV4 IDVkOGIxNDguLjYwMDA4NjAgMTAwNjQ0Ci0tLSBhL3NyYy94dGVybS5jCisrKyBiL3NyYy94dGVy bS5jCkBAIC0zNjExLDIxICszNjExLDIxIEBAIHhfZHJhd19zdHJldGNoX2dseXBoX3N0cmluZyAo c3RydWN0IGdseXBoX3N0cmluZyAqcykKICAgcy0+YmFja2dyb3VuZF9maWxsZWRfcCA9IHRydWU7 CiB9CiAKLXN0YXRpYyB2b2lkCi14X2dldF9zY2FsZV9mYWN0b3IoRGlzcGxheSAqZGlzcCwgaW50 ICpzY2FsZV94LCBpbnQgKnNjYWxlX3kpCitzdGF0aWMgdW5zaWduZWQKK3hfZ2V0X3NjYWxlX2Zh Y3RvcihzdHJ1Y3QgZnJhbWUgKmYpCiB7CisjaWZkZWYgVVNFX0dUSworICByZXR1cm4geGdfZ2V0 X3NjYWxlIChmKTsKKyNlbHNlCisgIERpc3BsYXkgKmRpc3AgPSBGUkFNRV9YX0RJU1BMQVkgKGYp OworICBzdHJ1Y3QgeF9kaXNwbGF5X2luZm8gKmRweWluZm8gPSB4X2Rpc3BsYXlfaW5mb19mb3Jf ZGlzcGxheSAoZGlzcCk7CiAgIGNvbnN0IGludCBiYXNlX3JlcyA9IDk2OwotICBzdHJ1Y3QgeF9k aXNwbGF5X2luZm8gKiBkcHlpbmZvID0geF9kaXNwbGF5X2luZm9fZm9yX2Rpc3BsYXkgKGRpc3Ap OwotCi0gICpzY2FsZV94ID0gKnNjYWxlX3kgPSAxOwogCi0gIGlmIChkcHlpbmZvKQotICAgIHsK LSAgICAgIGlmIChkcHlpbmZvLT5yZXN4ID4gYmFzZV9yZXMpCi0JKnNjYWxlX3ggPSBmbG9vciAo ZHB5aW5mby0+cmVzeCAvIGJhc2VfcmVzKTsKLSAgICAgIGlmIChkcHlpbmZvLT5yZXN5ID4gYmFz ZV9yZXMpCi0JKnNjYWxlX3kgPSBmbG9vciAoZHB5aW5mby0+cmVzeSAvIGJhc2VfcmVzKTsKLSAg ICB9CisgIGlmIChkcHlpbmZvICYmIGRweWluZm8tPnJlc3ggPiBiYXNlX3JlcykKKyAgICByZXR1 cm4gZmxvb3IgKGRweWluZm8tPnJlc3ggLyBiYXNlX3Jlcyk7CisgIGVsc2UKKyAgICByZXR1cm4g MTsKKyNlbmRpZiAvKiBVU0VfR1RLICovCiB9CiAKIC8qCkBAIC0zNjQxLDI3ICszNjQxLDIxIEBA IHhfZ2V0X3NjYWxlX2ZhY3RvcihEaXNwbGF5ICpkaXNwLCBpbnQgKnNjYWxlX3gsIGludCAqc2Nh bGVfeSkKIHN0YXRpYyB2b2lkCiB4X2RyYXdfdW5kZXJ3YXZlIChzdHJ1Y3QgZ2x5cGhfc3RyaW5n ICpzKQogewotICBEaXNwbGF5ICpkaXNwbGF5ID0gRlJBTUVfWF9ESVNQTEFZIChzLT5mKTsKLQog ICAvKiBBZGp1c3QgZm9yIHNjYWxlL0hpRFBJLiAgKi8KLSAgaW50IHNjYWxlX3gsIHNjYWxlX3k7 Ci0KLSAgeF9nZXRfc2NhbGVfZmFjdG9yIChkaXNwbGF5LCAmc2NhbGVfeCwgJnNjYWxlX3kpOwot Ci0gIGludCB3YXZlX2hlaWdodCA9IDMgKiBzY2FsZV95LCB3YXZlX2xlbmd0aCA9IDIgKiBzY2Fs ZV94OwotCisgIGludCBzY2FsZSA9IHhfZ2V0X3NjYWxlX2ZhY3RvciAocy0+Zik7CisgIGludCB3 YXZlX2hlaWdodCA9IDMgKiBzY2FsZSwgd2F2ZV9sZW5ndGggPSAyICogc2NhbGU7CiAjaWZkZWYg VVNFX0NBSVJPCiAgIHhfZHJhd19ob3Jpem9udGFsX3dhdmUgKHMtPmYsIHMtPmdjLCBzLT54LCBz LT55YmFzZSAtIHdhdmVfaGVpZ2h0ICsgMywKIAkJCSAgcy0+d2lkdGgsIHdhdmVfaGVpZ2h0LCB3 YXZlX2xlbmd0aCk7CiAjZWxzZSAgLyogbm90IFVTRV9DQUlSTyAqLwotICBpbnQgZHgsIGR5LCB4 MCwgeTAsIHdpZHRoLCB4MSwgeTEsIHgyLCB5MiwgeG1heCwgdGhpY2tuZXNzID0gc2NhbGVfeTs7 CisgIGludCBkeCwgZHksIHgwLCB5MCwgd2lkdGgsIHgxLCB5MSwgeDIsIHkyLCB4bWF4LCB0aGlj a25lc3MgPSBzY2FsZTsKICAgYm9vbCBvZGQ7CiAgIFhSZWN0YW5nbGUgd2F2ZV9jbGlwLCBzdHJp bmdfY2xpcCwgZmluYWxfY2xpcDsKIAogICBkeCA9IHdhdmVfbGVuZ3RoOwogICBkeSA9IHdhdmVf aGVpZ2h0IC0gMTsKICAgeDAgPSBzLT54OwotICB5MCA9IHMtPnliYXNlICsgd2F2ZV9oZWlnaHQg LyAyIC0gc2NhbGVfeTsKKyAgeTAgPSBzLT55YmFzZSArIHdhdmVfaGVpZ2h0IC8gMiAtIHNjYWxl OwogICB3aWR0aCA9IHMtPndpZHRoOwogICB4bWF4ID0geDAgKyB3aWR0aDsKIApAQCAtMTA1NTcs NyArMTA1NTEsNyBAQCB4X3NldF9vZmZzZXQgKHN0cnVjdCBmcmFtZSAqZiwgcmVnaXN0ZXIgaW50 IHhvZmYsIHJlZ2lzdGVyIGludCB5b2ZmLCBpbnQgY2hhbmdlXwogewogICBpbnQgbW9kaWZpZWRf dG9wLCBtb2RpZmllZF9sZWZ0OwogI2lmZGVmIFVTRV9HVEsKLSAgaW50IHNjYWxlID0geGdfZ2V0 X3NjYWxlIChmKTsKKyAgaW50IHNjYWxlID0geF9nZXRfc2NhbGVfZmFjdG9yIChmKTsKICNlbmRp ZgogCiAgIGlmIChjaGFuZ2VfZ3Jhdml0eSA+IDApCkBAIC0xMzM1Niw2ICsxMzM1MCw3IEBAIHhf YWN0aXZhdGVfdGltZW91dF9hdGltZXIgKHZvaWQpCiAgICAgZ3VpX2NsZWFyX3dpbmRvd19tb3Vz ZV9mYWNlLAogICAgIGd1aV9nZXRfZ2x5cGhfb3ZlcmhhbmdzLAogICAgIGd1aV9maXhfb3Zlcmxh cHBpbmdfYXJlYSwKKyAgICB4X2dldF9zY2FsZV9mYWN0b3IsCiAgICAgeF9kcmF3X2ZyaW5nZV9i aXRtYXAsCiAjaWZkZWYgVVNFX0NBSVJPCiAgICAgeF9jcl9kZWZpbmVfZnJpbmdlX2JpdG1hcCwK LS0gCjIuMjAuMQoK --000000000000e1a1720594fa8608-- From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 15 20:32:45 2019 Received: (at submit) by debbugs.gnu.org; 16 Oct 2019 00:32:45 +0000 Received: from localhost ([127.0.0.1]:45027 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iKXF6-0008J5-Mg for submit@debbugs.gnu.org; Tue, 15 Oct 2019 20:32:45 -0400 Received: from lists.gnu.org ([209.51.188.17]:56702) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iKXF4-0008It-4V for submit@debbugs.gnu.org; Tue, 15 Oct 2019 20:32:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51276) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iKXF2-0006tN-DA for bug-gnu-emacs@gnu.org; Tue, 15 Oct 2019 20:32:41 -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,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iKXF0-0003JB-Ly for bug-gnu-emacs@gnu.org; Tue, 15 Oct 2019 20:32:40 -0400 Received: from mail-yw1-xc44.google.com ([2607:f8b0:4864:20::c44]:46454) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iKXF0-0003J5-G4 for bug-gnu-emacs@gnu.org; Tue, 15 Oct 2019 20:32:38 -0400 Received: by mail-yw1-xc44.google.com with SMTP id l64so7911243ywe.13 for ; Tue, 15 Oct 2019 17:32:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=97YkB9qtiD0j8HvviTkxo5OP5lLz7ZxukMMG6KlCMlw=; b=VQUg3l7noNw0iD8g3lj7jMgLukWH1DdUpOEXHdkA6K2mJbAbfpZATqOaNwwMtHWexc 78bXcvAPEeFbyq/45Y4iTw4FeYL+jXOArNX5KfhNooQ1ukGS+UqHKgYPwQREIpV7/mJQ kFH84ct5YXz2qETxO6avDMG0wqj+MYe/JrQ/vzjpTdPVGa2wjOX3rk385pBU/pAR9UfF CEQ/3i28RmzHWjr8NJlhMN07W2UUyLoVJlfL/oZueGonX+N0hvj3dMv5oei+mE2VNfqU JOKxBCA1MO/FPtBnh5heqKBXf8swERKXPcLiopTLq6ThbCNKLz+xgzuFnd8mkbQPrWe8 CcRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=97YkB9qtiD0j8HvviTkxo5OP5lLz7ZxukMMG6KlCMlw=; b=MKFJ3+ELYPS3+GSikCYcc0oXAFU9k04S2RJxO0f0/rb/A0VLJFAxa0KZJBMSmKdz9+ AJeYCqprchCsFpDgigPlTDmOstEks6YgJSJRgx15H989Q/1nd+TOkiwOYGBMJSl4AwHo m+rX4ey902o/nOacrWTeTI2lqj0e6l9kB/Wvdghuq98EbAqWxS1FpOH4Xubevym/W5TC ugh+9HF/6RVLlI2Ym+bYuI1iHrhSSVj4YD2onwDTQq2AmH7LVMFhULkw9jytmLV+VfeG DuDD4JFqMmRLVi4fqg7TFU/ausLNQwhqleBv8POQvA4KCEm1QwkhzmPVGHcp9ypbxz0W UnXQ== X-Gm-Message-State: APjAAAVmGeNIIunPv+AQSVA9WIOUVFyemL13OyVTUIqifxLTZeEyf0Es Giv4bAhN9c4D0vv1Z3HLj3QVMMvjOtrctAmZHxlwfthT X-Google-Smtp-Source: APXvYqzyan/vMZNkYUpBKVwPUHG0haYnTehRRyyDiIKto4f3ZVjGmQqukFWduUXO5B0kPw1Qah7yRqNCI9wnxCWD3ZE= X-Received: by 2002:a81:d34b:: with SMTP id d11mr18713657ywl.423.1571185957261; Tue, 15 Oct 2019 17:32:37 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Carlos Pita Date: Tue, 15 Oct 2019 21:32:25 -0300 Message-ID: Subject: Re: [PATCH] Expose scale factor through the redisplay interface To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary="000000000000dc08dd0594fc3c1f" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::c44 X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit 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: -2.3 (--) --000000000000dc08dd0594fc3c1f Content-Type: text/plain; charset="UTF-8" I have updated my patch a bit: 1. Instead of setting the new API to NULL when the scale factor is ignored or unsupported by the backend, I'm setting it to a dummy function returning 1. This keeps backwards compatibility and is more convenient for the user of the interface. 2. get_scale_factor now returns a double. Even though current scale factors are integers, this is an interface that will better have to make it through the forthcoming era of fractional scaling. --000000000000dc08dd0594fc3c1f Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Expose-scale-factor-through-the-redisplay-interface.patch" Content-Disposition: attachment; filename="0001-Expose-scale-factor-through-the-redisplay-interface.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k1sji8qc0 RnJvbSA1YjZlMjc2ZTNkZDliNGNiMDZiY2YwZTIxZTk5MjI3YjIxMzRhOGJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBtZW1lcGxleCA8Y2FybG9zam9zZXBpdGFAZ21haWwuY29tPgpE YXRlOiBUdWUsIDE1IE9jdCAyMDE5IDE5OjE0OjAzIC0wMzAwClN1YmplY3Q6IFtQQVRDSF0gRXhw b3NlIHNjYWxlIGZhY3RvciB0aHJvdWdoIHRoZSByZWRpc3BsYXkgaW50ZXJmYWNlCgoqIHNyYy9k aXNwZXh0ZXJuLmg6IGFkZCBnZXRfc2NhbGVfZmFjdG9yIEFQSS4KKiBzcmMveHRlcm0uYzoKICAt IFVuaWZ5IHVzYWdlcyBvZiB4Z19nZXRfc2NhbGUgYW5kIHhfZ2V0X3NjYWxlX2ZhY3RvciBpbnRv IGEKICAgIGNvbnNvbGlkYXRlZCB4X2dldF9zY2FsZV9mYWN0b3IgdGhhdCBpcyBleHBvcnRlZCBi eSB0aGUgcmlmLgogIC0gU2ltcGxpZnkgc2NhbGUgaW5mZXJyaW5nIGxvZ2ljIChzZWUgbm90ZSBi ZWxvdykuCiogc3JjL3czMnRlcm0uYzoKICAtIFNpbXBsaWZ5IHczMl9nZXRfc2NhbGVfZmFjdG9y IGluIGEgc2ltaWxhciB3YXkgKHNlZSBub3RlKS4KICAtIEFkZCBpdCB0byB0aGUgcmlmLgoqIHNy Yy9uc3Rlcm0ubToKICAtIEp1c3QgYWRkIGEgZHVtbXkgaW1wbGVtZW50YXRpb24gdGhhdCBhbHdh eXMgcmV0dXJuIDEgdG8gdGhlIHJpZiwKICAgIHNpbmNlIHRoZXJlIGFyZSBubyB1c2VzIG9mIGFu eSBzY2FsZSBmYWN0b3IgaGVyZS4KCk5vdGUgMTogYm90aCB4X2dldF9zY2FsZV9mYWN0b3IgYW5k IHczMl9nZXRfc2NhbGVfZmFjdG9yIGNvbXB1dGVkCmRpc3RpbmN0IHNjYWxlcyBmb3IgeCBhbmQg eSBieSB0YWtpbmcgdGhlIHJhdGlvIGJldHdlZW4gZWZmZWN0aXZlCnJlc29sdXRpb24gaW4gZWFj aCBkaXJlY3Rpb24gYW5kIGEgc3RhbmRhcmQgOTYgZHBpIHJlc29sdXRpb24uICBTaW5jZQp0aGlz IHJhdGlvIGlzIHRoZW4gdHJ1bmNhdGVkIHRvIGFuIGludGVnZXIgKHRoZSBmbG9vcikgaXQgc2Vl bXMgdG8gbWUKdGhhdCB0aGVyZSBpcyBubyBzZW5zaWJsZSBwb3NzaWJpbGl0eSB0aGF0IHRoZXNl IHR3byBudW1iZXJzCmRpdmVyZ2UuIE1vcmVvdmVyLCBtb2Rlcm4gdG9vbGtpdHMgcmVwb3J0IG9u ZSBudW1iZXIgYXMgc2NhbGUgZmFjdG9yCmFuZCB3ZSBuZWVkIGEgY29tbW9uIGludGVyZmFjZSBo ZXJlLiBGb3IgdGhvc2UgcmVhc29ucyBJJ20gYXJiaXRyYXJpbHkKcGlja2luZyB0aGUgaG9yaXpv bnRhbCBzY2FsZSBmYWN0b3IgYXMgVEhFIHNjYWxlIGZhY3Rvci4KCk5vdGUgMjogSSBkZWNpZGVk IHRvIGxldCBnZXRfc2NhbGVfZmFjdG9yIHJldHVybiBhIGRvdWJsZSwgZXZlbiB0b3VnaApmYWN0 b3JzIGN1cnJlbnRseSBpbiB1c2UgYXJlIGFsbCBpbnRlZ2VycyBBRkFJSy4gVGhpcyBpcyBpbgph bnRpY2lwYXRpb24gb2YgZnJhY3Rpb25hbCBzY2FsaW5nLiBJIGJlbGlldmUgaXQncyBwcnVkZW50 IHRvIGtlZXAKdGhlIGludGVyZmFjZSBnZW5lcmFsIGluIHRoaXMgcmVnYXJkLgotLS0KIHNyYy9k aXNwZXh0ZXJuLmggfCAgMyArKysKIHNyYy9uc3Rlcm0ubSAgICAgfCAgNiArKysrKysKIHNyYy93 MzJ0ZXJtLmMgICAgfCAyOSArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogc3JjL3h0ZXJt LmMgICAgICB8IDQxICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA0 IGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy9kaXNwZXh0ZXJuLmggYi9zcmMvZGlzcGV4dGVybi5oCmluZGV4IDA2MTViMTYu LmI5M2UyNWYgMTAwNjQ0Ci0tLSBhL3NyYy9kaXNwZXh0ZXJuLmgKKysrIGIvc3JjL2Rpc3BleHRl cm4uaApAQCAtMjk0Miw2ICsyOTQyLDkgQEAgcmVzZXRfbW91c2VfaGlnaGxpZ2h0IChNb3VzZV9I TEluZm8gKmhsaW5mbykKIAogI2lmZGVmIEhBVkVfV0lORE9XX1NZU1RFTQogCisgIC8qIFJldHVy biB0aGUgc2NhbGUgZmFjdG9yIGZvciB0aGUgc2NyZWVuIGNvbnRhaW5pbmcgZnJhbWUgRi4gICov CisgIGRvdWJsZSAoKmdldF9zY2FsZV9mYWN0b3IpIChzdHJ1Y3QgZnJhbWUgKmYpOworCiAgIC8q IERyYXcgYSBmcmluZ2UgYml0bWFwIGluIHdpbmRvdyBXIG9mIHJvdyBST1cgdXNpbmcgcGFyYW1l dGVycyBQLiAgKi8KICAgdm9pZCAoKmRyYXdfZnJpbmdlX2JpdG1hcCkgKHN0cnVjdCB3aW5kb3cg KncsIHN0cnVjdCBnbHlwaF9yb3cgKnJvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBkcmF3X2ZyaW5nZV9iaXRtYXBfcGFyYW1zICpwKTsKZGlmZiAtLWdpdCBhL3NyYy9u c3Rlcm0ubSBiL3NyYy9uc3Rlcm0ubQppbmRleCA1NTgzYzYxLi42ZTFiNzUxIDEwMDY0NAotLS0g YS9zcmMvbnN0ZXJtLm0KKysrIGIvc3JjL25zdGVybS5tCkBAIC0yOTU3LDYgKzI5NTcsMTEgQEAg c28gc29tZSBrZXkgcHJlc3NlcyAoVEFCKSBhcmUgc3dhbGxvd2VkIGJ5IHRoZSBzeXN0ZW0uICAq LwogCiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogCitzdGF0aWMgZG91YmxlCituc19nZXRfc2Nh bGVfZmFjdG9yIChzdHJ1Y3QgZnJhbWUgKmYpCit7CisgIHJldHVybiAxOyAgLy8gVE9ETyBkbyB3 ZSBuZWVkIHRvIGRvIHNvbWV0aGluZyBlbHNlIGhlcmU/Cit9CiAKIGV4dGVybiBpbnQgbWF4X3Vz ZWRfZnJpbmdlX2JpdG1hcDsKIHN0YXRpYyB2b2lkCkBAIC01MDg3LDYgKzUwOTIsNyBAQCBzdGF0 aWMgTGlzcF9PYmplY3QgbnNfc3RyaW5nX3RvX2xpc3Btb2QgKGNvbnN0IGNoYXIgKnMpCiAgIGd1 aV9jbGVhcl93aW5kb3dfbW91c2VfZmFjZSwKICAgZ3VpX2dldF9nbHlwaF9vdmVyaGFuZ3MsCiAg IGd1aV9maXhfb3ZlcmxhcHBpbmdfYXJlYSwKKyAgbnNfZ2V0X3NjYWxlX2ZhY3RvciwKICAgbnNf ZHJhd19mcmluZ2VfYml0bWFwLAogICAwLCAvKiBkZWZpbmVfZnJpbmdlX2JpdG1hcCAqLyAvKiBG SVhNRTogc2ltcGxpZnkgbnNfZHJhd19mcmluZ2VfYml0bWFwICovCiAgIDAsIC8qIGRlc3Ryb3lf ZnJpbmdlX2JpdG1hcCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3czMnRlcm0uYyBiL3NyYy93MzJ0ZXJt LmMKaW5kZXggOWRhMDg0NS4uNmQ0MzBjNiAxMDA2NDQKLS0tIGEvc3JjL3czMnRlcm0uYworKysg Yi9zcmMvdzMydGVybS5jCkBAIC0zMDQsMjAgKzMwNCwxNiBAQCB3MzJfcmVzdG9yZV9nbHlwaF9z dHJpbmdfY2xpcCAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKICAgICB9CiB9CiAKLXN0YXRpYyB2 b2lkCi13MzJfZ2V0X3NjYWxlX2ZhY3RvcihzdHJ1Y3QgdzMyX2Rpc3BsYXlfaW5mbyAqZHB5aW5m bywgaW50ICpzY2FsZV94LCBpbnQgKnNjYWxlX3kpCitzdGF0aWMgZG91YmxlCit3MzJfZ2V0X3Nj YWxlX2ZhY3RvcihzdHJ1Y3QgZnJhbWUgKmYpCiB7CisgIHN0cnVjdCB3MzJfZGlzcGxheV9pbmZv ICpkcHlpbmZvID0gRlJBTUVfRElTUExBWV9JTkZPIChmKTsKICAgY29uc3QgaW50IGJhc2VfcmVz ID0gOTY7CiAKLSAgKnNjYWxlX3ggPSAqc2NhbGVfeSA9IDE7Ci0KLSAgaWYgKGRweWluZm8pCi0g ICAgewotICAgICAgaWYgKGRweWluZm8tPnJlc3ggPiBiYXNlX3JlcykKLQkqc2NhbGVfeCA9IGZs b29yIChkcHlpbmZvLT5yZXN4IC8gYmFzZV9yZXMpOwotICAgICAgaWYgKGRweWluZm8tPnJlc3kg PiBiYXNlX3JlcykKLQkqc2NhbGVfeSA9IGZsb29yIChkcHlpbmZvLT5yZXN5IC8gYmFzZV9yZXMp OwotICAgIH0KKyAgaWYgKGRweWluZm8gJiYgZHB5aW5mby0+cmVzeCA+IGJhc2VfcmVzKQorICAg IHJldHVybiBmbG9vciAoZHB5aW5mby0+cmVzeCAvIGJhc2VfcmVzKTsKKyAgZWxzZQorICAgIHJl dHVybiAxOwogfQogCiAvKgpAQCAtMzM0LDEyICszMzAsOCBAQCB3MzJfZ2V0X3NjYWxlX2ZhY3Rv cihzdHJ1Y3QgdzMyX2Rpc3BsYXlfaW5mbyAqZHB5aW5mbywgaW50ICpzY2FsZV94LCBpbnQgKnNj YWxlXwogc3RhdGljIHZvaWQKIHczMl9kcmF3X3VuZGVyd2F2ZSAoc3RydWN0IGdseXBoX3N0cmlu ZyAqcywgQ09MT1JSRUYgY29sb3IpCiB7Ci0gIHN0cnVjdCB3MzJfZGlzcGxheV9pbmZvICpkcHlp bmZvID0gRlJBTUVfRElTUExBWV9JTkZPIChzLT5mKTsKLQotICBpbnQgc2NhbGVfeCwgc2NhbGVf eTsKLSAgdzMyX2dldF9zY2FsZV9mYWN0b3IgKGRweWluZm8sICZzY2FsZV94LCAmc2NhbGVfeSk7 Ci0KLSAgaW50IHdhdmVfaGVpZ2h0ID0gMyAqIHNjYWxlX3ksIHdhdmVfbGVuZ3RoID0gMiAqIHNj YWxlX3gsIHRoaWNrbmVzcyA9IHNjYWxlX3k7CisgIGRvdWJsZSBzY2FsZSA9IHczMl9nZXRfc2Nh bGVfZmFjdG9yIChzLT5mKTsKKyAgaW50IHdhdmVfaGVpZ2h0ID0gMyAqIHNjYWxlLCB3YXZlX2xl bmd0aCA9IDIgKiBzY2FsZSwgdGhpY2tuZXNzID0gc2NhbGU7CiAgIGludCBkeCwgZHksIHgwLCB5 MCwgd2lkdGgsIHgxLCB5MSwgeDIsIHkyLCBvZGQsIHhtYXg7CiAgIEVtYWNzX1JlY3RhbmdsZSB3 YXZlX2NsaXAsIHN0cmluZ19jbGlwLCBmaW5hbF9jbGlwOwogICBSRUNUIHczMl9maW5hbF9jbGlw LCB3MzJfc3RyaW5nX2NsaXA7CkBAIC0zNDgsNyArMzQwLDcgQEAgdzMyX2RyYXdfdW5kZXJ3YXZl IChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzLCBDT0xPUlJFRiBjb2xvcikKICAgZHggPSB3YXZlX2xl bmd0aDsKICAgZHkgPSB3YXZlX2hlaWdodCAtIDE7CiAgIHgwID0gcy0+eDsKLSAgeTAgPSBzLT55 YmFzZSArIHdhdmVfaGVpZ2h0IC8gMiAtIHNjYWxlX3k7CisgIHkwID0gcy0+eWJhc2UgKyB3YXZl X2hlaWdodCAvIDIgLSBzY2FsZTsKICAgd2lkdGggPSBzLT53aWR0aDsKICAgeG1heCA9IHgwICsg d2lkdGg7CiAKQEAgLTcxOTIsNiArNzE4NCw3IEBAIHczMl9tYWtlX3JkYiAoY2hhciAqeHJtX29w dGlvbikKICAgZ3VpX2NsZWFyX3dpbmRvd19tb3VzZV9mYWNlLAogICBndWlfZ2V0X2dseXBoX292 ZXJoYW5ncywKICAgZ3VpX2ZpeF9vdmVybGFwcGluZ19hcmVhLAorICB3MzJfZ2V0X3NjYWxlX2Zh Y3RvciwKICAgdzMyX2RyYXdfZnJpbmdlX2JpdG1hcCwKICAgdzMyX2RlZmluZV9mcmluZ2VfYml0 bWFwLAogICB3MzJfZGVzdHJveV9mcmluZ2VfYml0bWFwLApkaWZmIC0tZ2l0IGEvc3JjL3h0ZXJt LmMgYi9zcmMveHRlcm0uYwppbmRleCA1ZDhiMTQ4Li42NzI1M2E2IDEwMDY0NAotLS0gYS9zcmMv eHRlcm0uYworKysgYi9zcmMveHRlcm0uYwpAQCAtMzYxMSwyMSArMzYxMSwyMSBAQCB4X2RyYXdf c3RyZXRjaF9nbHlwaF9zdHJpbmcgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiAgIHMtPmJhY2tn cm91bmRfZmlsbGVkX3AgPSB0cnVlOwogfQogCi1zdGF0aWMgdm9pZAoteF9nZXRfc2NhbGVfZmFj dG9yKERpc3BsYXkgKmRpc3AsIGludCAqc2NhbGVfeCwgaW50ICpzY2FsZV95KQorc3RhdGljIGRv dWJsZQoreF9nZXRfc2NhbGVfZmFjdG9yKHN0cnVjdCBmcmFtZSAqZikKIHsKKyNpZmRlZiBVU0Vf R1RLCisgIHJldHVybiB4Z19nZXRfc2NhbGUgKGYpOworI2Vsc2UKKyAgRGlzcGxheSAqZGlzcCA9 IEZSQU1FX1hfRElTUExBWSAoZik7CisgIHN0cnVjdCB4X2Rpc3BsYXlfaW5mbyAqZHB5aW5mbyA9 IHhfZGlzcGxheV9pbmZvX2Zvcl9kaXNwbGF5IChkaXNwKTsKICAgY29uc3QgaW50IGJhc2VfcmVz ID0gOTY7Ci0gIHN0cnVjdCB4X2Rpc3BsYXlfaW5mbyAqIGRweWluZm8gPSB4X2Rpc3BsYXlfaW5m b19mb3JfZGlzcGxheSAoZGlzcCk7Ci0KLSAgKnNjYWxlX3ggPSAqc2NhbGVfeSA9IDE7CiAKLSAg aWYgKGRweWluZm8pCi0gICAgewotICAgICAgaWYgKGRweWluZm8tPnJlc3ggPiBiYXNlX3JlcykK LQkqc2NhbGVfeCA9IGZsb29yIChkcHlpbmZvLT5yZXN4IC8gYmFzZV9yZXMpOwotICAgICAgaWYg KGRweWluZm8tPnJlc3kgPiBiYXNlX3JlcykKLQkqc2NhbGVfeSA9IGZsb29yIChkcHlpbmZvLT5y ZXN5IC8gYmFzZV9yZXMpOwotICAgIH0KKyAgaWYgKGRweWluZm8gJiYgZHB5aW5mby0+cmVzeCA+ IGJhc2VfcmVzKQorICAgIHJldHVybiBmbG9vciAoZHB5aW5mby0+cmVzeCAvIGJhc2VfcmVzKTsK KyAgZWxzZQorICAgIHJldHVybiAxOworI2VuZGlmIC8qIFVTRV9HVEsgKi8KIH0KIAogLyoKQEAg LTM2NDEsMjcgKzM2NDEsMjEgQEAgeF9nZXRfc2NhbGVfZmFjdG9yKERpc3BsYXkgKmRpc3AsIGlu dCAqc2NhbGVfeCwgaW50ICpzY2FsZV95KQogc3RhdGljIHZvaWQKIHhfZHJhd191bmRlcndhdmUg KHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiB7Ci0gIERpc3BsYXkgKmRpc3BsYXkgPSBGUkFNRV9Y X0RJU1BMQVkgKHMtPmYpOwotCiAgIC8qIEFkanVzdCBmb3Igc2NhbGUvSGlEUEkuICAqLwotICBp bnQgc2NhbGVfeCwgc2NhbGVfeTsKLQotICB4X2dldF9zY2FsZV9mYWN0b3IgKGRpc3BsYXksICZz Y2FsZV94LCAmc2NhbGVfeSk7Ci0KLSAgaW50IHdhdmVfaGVpZ2h0ID0gMyAqIHNjYWxlX3ksIHdh dmVfbGVuZ3RoID0gMiAqIHNjYWxlX3g7Ci0KKyAgZG91YmxlIHNjYWxlID0geF9nZXRfc2NhbGVf ZmFjdG9yIChzLT5mKTsKKyAgaW50IHdhdmVfaGVpZ2h0ID0gMyAqIHNjYWxlLCB3YXZlX2xlbmd0 aCA9IDIgKiBzY2FsZTsKICNpZmRlZiBVU0VfQ0FJUk8KICAgeF9kcmF3X2hvcml6b250YWxfd2F2 ZSAocy0+Ziwgcy0+Z2MsIHMtPngsIHMtPnliYXNlIC0gd2F2ZV9oZWlnaHQgKyAzLAogCQkJICBz LT53aWR0aCwgd2F2ZV9oZWlnaHQsIHdhdmVfbGVuZ3RoKTsKICNlbHNlICAvKiBub3QgVVNFX0NB SVJPICovCi0gIGludCBkeCwgZHksIHgwLCB5MCwgd2lkdGgsIHgxLCB5MSwgeDIsIHkyLCB4bWF4 LCB0aGlja25lc3MgPSBzY2FsZV95OzsKKyAgaW50IGR4LCBkeSwgeDAsIHkwLCB3aWR0aCwgeDEs IHkxLCB4MiwgeTIsIHhtYXgsIHRoaWNrbmVzcyA9IHNjYWxlOwogICBib29sIG9kZDsKICAgWFJl Y3RhbmdsZSB3YXZlX2NsaXAsIHN0cmluZ19jbGlwLCBmaW5hbF9jbGlwOwogCiAgIGR4ID0gd2F2 ZV9sZW5ndGg7CiAgIGR5ID0gd2F2ZV9oZWlnaHQgLSAxOwogICB4MCA9IHMtPng7Ci0gIHkwID0g cy0+eWJhc2UgKyB3YXZlX2hlaWdodCAvIDIgLSBzY2FsZV95OworICB5MCA9IHMtPnliYXNlICsg d2F2ZV9oZWlnaHQgLyAyIC0gc2NhbGU7CiAgIHdpZHRoID0gcy0+d2lkdGg7CiAgIHhtYXggPSB4 MCArIHdpZHRoOwogCkBAIC0xMDU1Nyw3ICsxMDU1MSw3IEBAIHhfc2V0X29mZnNldCAoc3RydWN0 IGZyYW1lICpmLCByZWdpc3RlciBpbnQgeG9mZiwgcmVnaXN0ZXIgaW50IHlvZmYsIGludCBjaGFu Z2VfCiB7CiAgIGludCBtb2RpZmllZF90b3AsIG1vZGlmaWVkX2xlZnQ7CiAjaWZkZWYgVVNFX0dU SwotICBpbnQgc2NhbGUgPSB4Z19nZXRfc2NhbGUgKGYpOworICBkb3VibGUgc2NhbGUgPSB4X2dl dF9zY2FsZV9mYWN0b3IgKGYpOwogI2VuZGlmCiAKICAgaWYgKGNoYW5nZV9ncmF2aXR5ID4gMCkK QEAgLTEzMzU2LDYgKzEzMzUwLDcgQEAgeF9hY3RpdmF0ZV90aW1lb3V0X2F0aW1lciAodm9pZCkK ICAgICBndWlfY2xlYXJfd2luZG93X21vdXNlX2ZhY2UsCiAgICAgZ3VpX2dldF9nbHlwaF9vdmVy aGFuZ3MsCiAgICAgZ3VpX2ZpeF9vdmVybGFwcGluZ19hcmVhLAorICAgIHhfZ2V0X3NjYWxlX2Zh Y3RvciwKICAgICB4X2RyYXdfZnJpbmdlX2JpdG1hcCwKICNpZmRlZiBVU0VfQ0FJUk8KICAgICB4 X2NyX2RlZmluZV9mcmluZ2VfYml0bWFwLAotLSAKMi4yMC4xCgo= --000000000000dc08dd0594fc3c1f-- From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 16 04:51:46 2019 Received: (at 37770) by debbugs.gnu.org; 16 Oct 2019 08:51:46 +0000 Received: from localhost ([127.0.0.1]:45213 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iKf21-0008B8-SW for submit@debbugs.gnu.org; Wed, 16 Oct 2019 04:51:46 -0400 Received: from mail-wr1-f46.google.com ([209.85.221.46]:36699) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iKf1z-0008Au-6r for 37770@debbugs.gnu.org; Wed, 16 Oct 2019 04:51:43 -0400 Received: by mail-wr1-f46.google.com with SMTP id y19so27050861wrd.3 for <37770@debbugs.gnu.org>; Wed, 16 Oct 2019 01:51:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version:content-transfer-encoding; bh=9QJhz4INWFNcIaY8MHONV8uMK/4WMBMrLpmK9X8ckEE=; b=ic2WIFor9qQCoAx8+6WE4XHzR9bM34ETGn++SBmBDWmFtPtsNVoIDMwkifl+9nHhpi 6QhhZMCO1esBSBZuiMy4VsCQufmJHqmTWeO2Vd7KaoSZ7vpICEX6uanRsxkPt53q4hAd 8eU2naDNLv1Mvwtr8VY1FauORBKKpcL2RZlF/xTbvKQL50NcngHLF9BlaaWnPohxQJ3s 9EqKYZZzYQhhdGcvhTIEpIdWgQdhKVa79n4i+047NSpV93RVwcI3ut48zktP2PcgdYNr x//75lzwWuh0B2KGHus6Kfa8xPDRsGZjrrczkILj17mCpNyw1qqN+9Zwq28JlUmcLTWL iXBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version:content-transfer-encoding; bh=9QJhz4INWFNcIaY8MHONV8uMK/4WMBMrLpmK9X8ckEE=; b=ByUojaxAIgwQb107p/siIcaoHF2ktfcVzrv5ymCx2cyG1WW0vpHZBQypTc8V3fq3Qb uevDY2IYmseLyzmAmGwss49Azbk284KTzR4c2966nm6mvkCoo//L1mh10IqFnHkTPu3u tbSl9ML/ETwFdNbqVUGPX0L8/3mncEZj/tYwHnpOGqJ3m/mE3Sy5ji0OUSGY4TvpgTYP 1X1hBIth8qiW366bsgbQs5oDtpLOgE1lqYnjBR/rAcoOsWNvre4yj79UiKhDm8uKL67q d6Uc8opy8j0k0DvXL33KXhjRoU1S6c+2nGiwaFZghewxHpMz74rGxk9mrcvQ6PI3VM+F LczQ== X-Gm-Message-State: APjAAAW+GqeiP0AkQFkBiYmQf/G++hNSJT7tlGsNfVsqIfT8jUIjpcuW I3w2BgMhOLoqN+8UO06fXDliFSmc X-Google-Smtp-Source: APXvYqzWVu9RI0WTuYbBUkJORp1B+rcqNuWQMm/j0TfwNrgPZOkX0/IHg7Dz/2x3nxis5VEIHUG5QA== X-Received: by 2002:adf:fc49:: with SMTP id e9mr1592022wrs.172.1571215896573; Wed, 16 Oct 2019 01:51:36 -0700 (PDT) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id a13sm60044196wrf.73.2019.10.16.01.51.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Oct 2019 01:51:35 -0700 (PDT) From: Robert Pluim To: Carlos Pita Subject: Re: bug#37770: [PATCH] Expose scale factor through the redisplay interface References: Date: Wed, 16 Oct 2019 10:51:35 +0200 In-Reply-To: (Carlos Pita's message of "Tue, 15 Oct 2019 21:32:25 -0300") Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37770 Cc: 37770@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Tue, 15 Oct 2019 21:32:25 -0300, Carlos Pita said: Carlos> I have updated my patch a bit: Carlos> 1. Instead of setting the new API to NULL when the scale factor= is Carlos> ignored or unsupported by the backend, I'm setting it to a dummy Carlos> function returning 1. This keeps backwards compatibility and is= more Carlos> convenient for the user of the interface. Carlos> 2. get_scale_factor now returns a double. Even though current s= cale Carlos> factors are integers, this is an interface that will better hav= e to Carlos> make it through the forthcoming era of fractional scaling. Carlos> From 5b6e276e3dd9b4cb06bcf0e21e99227b2134a8bf Mon Sep 17 00:00:= 00 2001 Carlos> From: memeplex Carlos> Date: Tue, 15 Oct 2019 19:14:03 -0300 Carlos> Subject: [PATCH] Expose scale factor through the redisplay inte= rface Carlos> * src/dispextern.h: add get_scale_factor API. Carlos> * src/xterm.c: Carlos> - Unify usages of xg_get_scale and x_get_scale_factor into a Carlos> consolidated x_get_scale_factor that is exported by the rif. Carlos> - Simplify scale inferring logic (see note below). Carlos> * src/w32term.c: Carlos> - Simplify w32_get_scale_factor in a similar way (see note). Carlos> - Add it to the rif. Carlos> * src/nsterm.m: Carlos> - Just add a dummy implementation that always return 1 to the= rif, Carlos> since there are no uses of any scale factor here. This commit message doesn=CA=BCt use the ChangeLog format. There are various help functions in vc for creating that in the correct format. Either select some files, run 'vc-diff', and then 'diff-add-change-log-entries-other-window' (bound to C-x 4 A) to prepare it, or, when you=CA=BCre committing, you can run C-c C-w, which does the same. Carlos> Note 1: both x_get_scale_factor and w32_get_scale_factor comput= ed Carlos> distinct scales for x and y by taking the ratio between effecti= ve Carlos> resolution in each direction and a standard 96 dpi resolution. = Since Carlos> this ratio is then truncated to an integer (the floor) it seems= to me Carlos> that there is no sensible possibility that these two numbers Carlos> diverge. Moreover, modern toolkits report one number as scale f= actor Carlos> and we need a common interface here. For those reasons I'm arbi= trarily Carlos> picking the horizontal scale factor as THE scale factor. Sure. Carlos> Note 2: I decided to let get_scale_factor return a double, even= tough Carlos> factors currently in use are all integers AFAIK. This is in Carlos> anticipation of fractional scaling. I believe it's prudent to k= eep Carlos> the interface general in this regard. Yes. I believe at least KDE already supports fractional scaling, Gnome can=CA=BCt be far behind. Carlos> diff --git a/src/dispextern.h b/src/dispextern.h Carlos> index 0615b16..b93e25f 100644 Carlos> --- a/src/dispextern.h Carlos> +++ b/src/dispextern.h Carlos> @@ -2942,6 +2942,9 @@ reset_mouse_highlight (Mouse_HLInfo *hlin= fo) =20 Carlos> #ifdef HAVE_WINDOW_SYSTEM =20 Carlos> + /* Return the scale factor for the screen containing frame F= . */ Carlos> + double (*get_scale_factor) (struct frame *f); Carlos> + Carlos> /* Draw a fringe bitmap in window W of row ROW using paramet= ers P. */ Carlos> void (*draw_fringe_bitmap) (struct window *w, struct glyph_r= ow *row, Carlos> struct draw_fringe_bitmap_params= *p); Carlos> diff --git a/src/nsterm.m b/src/nsterm.m Carlos> index 5583c61..6e1b751 100644 Carlos> --- a/src/nsterm.m Carlos> +++ b/src/nsterm.m Carlos> @@ -2957,6 +2957,11 @@ so some key presses (TAB) are swallowed = by the system. */ =20 Carlos> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D */ =20 Carlos> +static double Carlos> +ns_get_scale_factor (struct frame *f) Carlos> +{ Carlos> + return 1; // TODO do we need to do something else here? Carlos> +} As far as I know, macOS *can* scale displays, but generally doesn=CA=BCt. I think using 1 here doesn=CA=BCt change anything from the status quo. There is an API to get the scale factor if it turns out to be needed. For the rest, it looks ok. Do you plan to make the changes to actually use the rif interface as part of the same patch? Robert From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 16 12:12:42 2019 Received: (at 37770) by debbugs.gnu.org; 16 Oct 2019 16:12:42 +0000 Received: from localhost ([127.0.0.1]:46409 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iKluk-0004Hn-77 for submit@debbugs.gnu.org; Wed, 16 Oct 2019 12:12:42 -0400 Received: from mail-yw1-f66.google.com ([209.85.161.66]:45285) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iKlui-0004HZ-2P for 37770@debbugs.gnu.org; Wed, 16 Oct 2019 12:12:40 -0400 Received: by mail-yw1-f66.google.com with SMTP id x65so8820823ywf.12 for <37770@debbugs.gnu.org>; Wed, 16 Oct 2019 09:12:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rRTyy8jKvFQvEBHDp28gt6vIpe6S5qYxD8vSMks2AAU=; b=IBjUA2zuWIvooKLjPCGoGh0Gntv/9IbNEpdK6PB2O0L+p0FHfeDXKECWA8p/CdzouD Aljgg/MTS7rDEbk5kd4iwbgAabEDzJG5vhKLCewuQ+YN/kiVNlMjEHXfpJoRbH/vtBEZ NpfIkXruW865z+3G8jOn1U96JzR7QKwH2imeHf5kpXVvWgnBZzmfhXxN7sWWkkFdBV3M BeP2gvOtUAvfM6xZTYBVlJFkRprUFIEBWBMUUjlpMegvk6h02tOR8Q9QKmhZKljk7Hid KaMPEHXQ55mtYH4OMMUxdr4Z6Ba81sluLFfKWiCrjilx4e/X6GYUCo22S5PYuHp7qhHi LeZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rRTyy8jKvFQvEBHDp28gt6vIpe6S5qYxD8vSMks2AAU=; b=sqIIB/5aGPGXEx6M7LC3MZSSOwqQiVj8juvbzu4bC6W1XakxzbCJ/a1Srq6bZ7bjZQ qVDzVeQ82IRLtl9fWDUtahuD4OUmq/YickLLowlcmsCwwa9VfTeCwnFh4/cPqm5hEkfj 5NweO7uI4y7FAT5ZYODKGuo9l5UBiXnSV+scbvwLJ2qrMorVgj385m520hxUFL1D1pld sk2Q9fzN14WSk1wjd3YbbC9+9Ueq2tsPgC6ekQNro3J9kARtgNeWrun26X0AE/ZG6A/M dt4U6hP/nR5BilJ9FItY5vO5SwsVC4tqipQU9oxoOgM4foOVFuGql19/sWG1MReO8qog Gh3g== X-Gm-Message-State: APjAAAV35CCdHw4iDDjKmP11cpWP4b2z9bjtdrFvQQZYE6TegNokO/5K /UMJ1M5fAgOgWpGC2+SvzNTuEDIOHckqDKC0mVA= X-Google-Smtp-Source: APXvYqz+VJd1D2EE/vTj+ne0rfmm8q4LlNaSF+p8WuC8UUoIH7IVhoCLrFROsosQOcppE0Zh7lpe77mE3Jl7+j++rc8= X-Received: by 2002:a81:5088:: with SMTP id e130mr19280455ywb.91.1571242353506; Wed, 16 Oct 2019 09:12:33 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Carlos Pita Date: Wed, 16 Oct 2019 13:12:22 -0300 Message-ID: Subject: Re: bug#37770: [PATCH] Expose scale factor through the redisplay interface To: Robert Pluim Content-Type: multipart/mixed; boundary="0000000000005666150595095e08" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37770 Cc: 37770@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000005666150595095e08 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > This commit message doesn=CA=BCt use the ChangeLog format. Ahh, I was just informally pattern matching other commit messages I had seen in your repo. Now I've read [1] (I really like those rules, will adopt them for other projects too). Nevertheless I'm still unsure about how to format the notes that go below the actual changes. Please, tell me what do you think about the new commit message. > For the rest, it looks ok. Do you plan to make the changes to actually > use the rif interface as part of the same patch? No, those are part of bug#37689 [2]. --- [1] https://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Lo= gs [2] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D37689 --0000000000005666150595095e08 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Expose-scale-factor-through-the-redisplay-interface.patch" Content-Disposition: attachment; filename="0001-Expose-scale-factor-through-the-redisplay-interface.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k1th26ir0 RnJvbSA2ZGEwOThlMGViZmJlOGUxN2FkMGZhODYwMjQ1MjIyZDEyNDk3ODg5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBtZW1lcGxleCA8Y2FybG9zam9zZXBpdGFAZ21haWwuY29tPgpE YXRlOiBUdWUsIDE1IE9jdCAyMDE5IDE5OjE0OjAzIC0wMzAwClN1YmplY3Q6IFtQQVRDSF0gRXhw b3NlIHNjYWxlIGZhY3RvciB0aHJvdWdoIHRoZSByZWRpc3BsYXkgaW50ZXJmYWNlCgoqIHNyYy9k aXNwZXh0ZXJuLmggKHJlZGlzcGxheV9pbnRlcmZhY2UpOiBhZGQgZ2V0X3NjYWxlX2ZhY3RvciBB UEkuCgoqIHNyYy94dGVybS5jICh4X2dldF9zY2FsZV9mYWN0b3IpOiBjb25zb2xpZGF0ZSB3aXRo IHhnX2dldF9zY2FsZSAoc2VlCmJ1ZyMzNzc1MikgYW5kIGV4cG9ydCB0aHJvdWdoIHRoZSByaWYu IFNpbXBsaWZ5IHNjYWxlIGluZmVycmluZwpsb2dpYyAoc2VlIG5vdGUgMSBiZWxvdykuCgoqIHNy Yy93MzJ0ZXJtLmMgKHczMl9nZXRfc2NhbGVfZmFjdG9yKTogbGlrZXdpc2Ugc2ltcGxpZnkgbG9n aWMgYW5kCmFkZCB0byB0aGUgcmlmLgoKKiBzcmMvbnN0ZXJtLm0gKG5zX2dldF9zY2FsZV9mYWN0 b3IpOiBhZGQgYSBkdW1teSBpbXBsZW1lbnRhdGlvbiB0aGF0CmFsd2F5cyByZXR1cm4gMSB0byB0 aGUgcmlmLCBzaW5jZSB0aGVyZSBhcmUgbm8gdXNlcyBvZiBhbnkgc2NhbGUKZmFjdG9yIGhlcmUu CgpOb3RlIDE6IGJvdGggeF9nZXRfc2NhbGVfZmFjdG9yIGFuZCB3MzJfZ2V0X3NjYWxlX2ZhY3Rv ciBjb21wdXRlZApkaXN0aW5jdCBzY2FsZXMgZm9yIHggYW5kIHkgYnkgdGFraW5nIHRoZSByYXRp byBiZXR3ZWVuIGVmZmVjdGl2ZQpyZXNvbHV0aW9uIGluIGVhY2ggZGlyZWN0aW9uIGFuZCBhIHN0 YW5kYXJkIDk2IGRwaSByZXNvbHV0aW9uLiAgU2luY2UKdGhpcyByYXRpbyBpcyB0aGVuIHRydW5j YXRlZCB0byBhbiBpbnRlZ2VyICh0aGUgZmxvb3IpIGl0IHNlZW1zIHRvIG1lCnRoYXQgdGhlcmUg aXMgbm8gc2Vuc2libGUgcG9zc2liaWxpdHkgdGhhdCB0aGVzZSB0d28gbnVtYmVycwpkaXZlcmdl LiBNb3Jlb3ZlciwgbW9kZXJuIHRvb2xraXRzIHJlcG9ydCBvbmUgbnVtYmVyIGFzIHNjYWxlIGZh Y3RvcgphbmQgd2UgbmVlZCBhIGNvbW1vbiBpbnRlcmZhY2UgaGVyZS4gRm9yIHRob3NlIHJlYXNv bnMgSSdtIGFyYml0cmFyaWx5CnBpY2tpbmcgdGhlIGhvcml6b250YWwgc2NhbGUgZmFjdG9yIGFz IFRIRSBzY2FsZSBmYWN0b3IuCgpOb3RlIDI6IEkgZGVjaWRlZCB0byBsZXQgZ2V0X3NjYWxlX2Zh Y3RvciByZXR1cm4gYSBkb3VibGUsIGV2ZW4gdG91Z2gKZmFjdG9ycyBjdXJyZW50bHkgaW4gdXNl IGFyZSBhbGwgaW50ZWdlcnMgQUZBSUsuIFRoaXMgaXMgaW4KYW50aWNpcGF0aW9uIG9mIGZyYWN0 aW9uYWwgc2NhbGluZy4gSSBiZWxpZXZlIGl0J3MgcHJ1ZGVudCB0byBrZWVwCnRoZSBpbnRlcmZh Y2UgZ2VuZXJhbCBpbiB0aGlzIHJlZ2FyZC4KLS0tCiBzcmMvZGlzcGV4dGVybi5oIHwgIDMgKysr CiBzcmMvbnN0ZXJtLm0gICAgIHwgIDYgKysrKysrCiBzcmMvdzMydGVybS5jICAgIHwgMjkgKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIHNyYy94dGVybS5jICAgICAgfCA0MSArKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAzOCBp bnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvZGlzcGV4dGVy bi5oIGIvc3JjL2Rpc3BleHRlcm4uaAppbmRleCAwNjE1YjE2Li5iOTNlMjVmIDEwMDY0NAotLS0g YS9zcmMvZGlzcGV4dGVybi5oCisrKyBiL3NyYy9kaXNwZXh0ZXJuLmgKQEAgLTI5NDIsNiArMjk0 Miw5IEBAIHJlc2V0X21vdXNlX2hpZ2hsaWdodCAoTW91c2VfSExJbmZvICpobGluZm8pCiAKICNp ZmRlZiBIQVZFX1dJTkRPV19TWVNURU0KIAorICAvKiBSZXR1cm4gdGhlIHNjYWxlIGZhY3RvciBm b3IgdGhlIHNjcmVlbiBjb250YWluaW5nIGZyYW1lIEYuICAqLworICBkb3VibGUgKCpnZXRfc2Nh bGVfZmFjdG9yKSAoc3RydWN0IGZyYW1lICpmKTsKKwogICAvKiBEcmF3IGEgZnJpbmdlIGJpdG1h cCBpbiB3aW5kb3cgVyBvZiByb3cgUk9XIHVzaW5nIHBhcmFtZXRlcnMgUC4gICovCiAgIHZvaWQg KCpkcmF3X2ZyaW5nZV9iaXRtYXApIChzdHJ1Y3Qgd2luZG93ICp3LCBzdHJ1Y3QgZ2x5cGhfcm93 ICpyb3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJhd19mcmluZ2Vf Yml0bWFwX3BhcmFtcyAqcCk7CmRpZmYgLS1naXQgYS9zcmMvbnN0ZXJtLm0gYi9zcmMvbnN0ZXJt Lm0KaW5kZXggNTU4M2M2MS4uNmUxYjc1MSAxMDA2NDQKLS0tIGEvc3JjL25zdGVybS5tCisrKyBi L3NyYy9uc3Rlcm0ubQpAQCAtMjk1Nyw2ICsyOTU3LDExIEBAIHNvIHNvbWUga2V5IHByZXNzZXMg KFRBQikgYXJlIHN3YWxsb3dlZCBieSB0aGUgc3lzdGVtLiAgKi8KIAogICAgPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0gKi8KIAorc3RhdGljIGRvdWJsZQorbnNfZ2V0X3NjYWxlX2ZhY3RvciAoc3RydWN0IGZy YW1lICpmKQoreworICByZXR1cm4gMTsgIC8vIFRPRE8gZG8gd2UgbmVlZCB0byBkbyBzb21ldGhp bmcgZWxzZSBoZXJlPworfQogCiBleHRlcm4gaW50IG1heF91c2VkX2ZyaW5nZV9iaXRtYXA7CiBz dGF0aWMgdm9pZApAQCAtNTA4Nyw2ICs1MDkyLDcgQEAgc3RhdGljIExpc3BfT2JqZWN0IG5zX3N0 cmluZ190b19saXNwbW9kIChjb25zdCBjaGFyICpzKQogICBndWlfY2xlYXJfd2luZG93X21vdXNl X2ZhY2UsCiAgIGd1aV9nZXRfZ2x5cGhfb3ZlcmhhbmdzLAogICBndWlfZml4X292ZXJsYXBwaW5n X2FyZWEsCisgIG5zX2dldF9zY2FsZV9mYWN0b3IsCiAgIG5zX2RyYXdfZnJpbmdlX2JpdG1hcCwK ICAgMCwgLyogZGVmaW5lX2ZyaW5nZV9iaXRtYXAgKi8gLyogRklYTUU6IHNpbXBsaWZ5IG5zX2Ry YXdfZnJpbmdlX2JpdG1hcCAqLwogICAwLCAvKiBkZXN0cm95X2ZyaW5nZV9iaXRtYXAgKi8KZGlm ZiAtLWdpdCBhL3NyYy93MzJ0ZXJtLmMgYi9zcmMvdzMydGVybS5jCmluZGV4IDlkYTA4NDUuLjZk NDMwYzYgMTAwNjQ0Ci0tLSBhL3NyYy93MzJ0ZXJtLmMKKysrIGIvc3JjL3czMnRlcm0uYwpAQCAt MzA0LDIwICszMDQsMTYgQEAgdzMyX3Jlc3RvcmVfZ2x5cGhfc3RyaW5nX2NsaXAgKHN0cnVjdCBn bHlwaF9zdHJpbmcgKnMpCiAgICAgfQogfQogCi1zdGF0aWMgdm9pZAotdzMyX2dldF9zY2FsZV9m YWN0b3Ioc3RydWN0IHczMl9kaXNwbGF5X2luZm8gKmRweWluZm8sIGludCAqc2NhbGVfeCwgaW50 ICpzY2FsZV95KQorc3RhdGljIGRvdWJsZQordzMyX2dldF9zY2FsZV9mYWN0b3Ioc3RydWN0IGZy YW1lICpmKQogeworICBzdHJ1Y3QgdzMyX2Rpc3BsYXlfaW5mbyAqZHB5aW5mbyA9IEZSQU1FX0RJ U1BMQVlfSU5GTyAoZik7CiAgIGNvbnN0IGludCBiYXNlX3JlcyA9IDk2OwogCi0gICpzY2FsZV94 ID0gKnNjYWxlX3kgPSAxOwotCi0gIGlmIChkcHlpbmZvKQotICAgIHsKLSAgICAgIGlmIChkcHlp bmZvLT5yZXN4ID4gYmFzZV9yZXMpCi0JKnNjYWxlX3ggPSBmbG9vciAoZHB5aW5mby0+cmVzeCAv IGJhc2VfcmVzKTsKLSAgICAgIGlmIChkcHlpbmZvLT5yZXN5ID4gYmFzZV9yZXMpCi0JKnNjYWxl X3kgPSBmbG9vciAoZHB5aW5mby0+cmVzeSAvIGJhc2VfcmVzKTsKLSAgICB9CisgIGlmIChkcHlp bmZvICYmIGRweWluZm8tPnJlc3ggPiBiYXNlX3JlcykKKyAgICByZXR1cm4gZmxvb3IgKGRweWlu Zm8tPnJlc3ggLyBiYXNlX3Jlcyk7CisgIGVsc2UKKyAgICByZXR1cm4gMTsKIH0KIAogLyoKQEAg LTMzNCwxMiArMzMwLDggQEAgdzMyX2dldF9zY2FsZV9mYWN0b3Ioc3RydWN0IHczMl9kaXNwbGF5 X2luZm8gKmRweWluZm8sIGludCAqc2NhbGVfeCwgaW50ICpzY2FsZV8KIHN0YXRpYyB2b2lkCiB3 MzJfZHJhd191bmRlcndhdmUgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMsIENPTE9SUkVGIGNvbG9y KQogewotICBzdHJ1Y3QgdzMyX2Rpc3BsYXlfaW5mbyAqZHB5aW5mbyA9IEZSQU1FX0RJU1BMQVlf SU5GTyAocy0+Zik7Ci0KLSAgaW50IHNjYWxlX3gsIHNjYWxlX3k7Ci0gIHczMl9nZXRfc2NhbGVf ZmFjdG9yIChkcHlpbmZvLCAmc2NhbGVfeCwgJnNjYWxlX3kpOwotCi0gIGludCB3YXZlX2hlaWdo dCA9IDMgKiBzY2FsZV95LCB3YXZlX2xlbmd0aCA9IDIgKiBzY2FsZV94LCB0aGlja25lc3MgPSBz Y2FsZV95OworICBkb3VibGUgc2NhbGUgPSB3MzJfZ2V0X3NjYWxlX2ZhY3RvciAocy0+Zik7Cisg IGludCB3YXZlX2hlaWdodCA9IDMgKiBzY2FsZSwgd2F2ZV9sZW5ndGggPSAyICogc2NhbGUsIHRo aWNrbmVzcyA9IHNjYWxlOwogICBpbnQgZHgsIGR5LCB4MCwgeTAsIHdpZHRoLCB4MSwgeTEsIHgy LCB5Miwgb2RkLCB4bWF4OwogICBFbWFjc19SZWN0YW5nbGUgd2F2ZV9jbGlwLCBzdHJpbmdfY2xp cCwgZmluYWxfY2xpcDsKICAgUkVDVCB3MzJfZmluYWxfY2xpcCwgdzMyX3N0cmluZ19jbGlwOwpA QCAtMzQ4LDcgKzM0MCw3IEBAIHczMl9kcmF3X3VuZGVyd2F2ZSAoc3RydWN0IGdseXBoX3N0cmlu ZyAqcywgQ09MT1JSRUYgY29sb3IpCiAgIGR4ID0gd2F2ZV9sZW5ndGg7CiAgIGR5ID0gd2F2ZV9o ZWlnaHQgLSAxOwogICB4MCA9IHMtPng7Ci0gIHkwID0gcy0+eWJhc2UgKyB3YXZlX2hlaWdodCAv IDIgLSBzY2FsZV95OworICB5MCA9IHMtPnliYXNlICsgd2F2ZV9oZWlnaHQgLyAyIC0gc2NhbGU7 CiAgIHdpZHRoID0gcy0+d2lkdGg7CiAgIHhtYXggPSB4MCArIHdpZHRoOwogCkBAIC03MTkyLDYg KzcxODQsNyBAQCB3MzJfbWFrZV9yZGIgKGNoYXIgKnhybV9vcHRpb24pCiAgIGd1aV9jbGVhcl93 aW5kb3dfbW91c2VfZmFjZSwKICAgZ3VpX2dldF9nbHlwaF9vdmVyaGFuZ3MsCiAgIGd1aV9maXhf b3ZlcmxhcHBpbmdfYXJlYSwKKyAgdzMyX2dldF9zY2FsZV9mYWN0b3IsCiAgIHczMl9kcmF3X2Zy aW5nZV9iaXRtYXAsCiAgIHczMl9kZWZpbmVfZnJpbmdlX2JpdG1hcCwKICAgdzMyX2Rlc3Ryb3lf ZnJpbmdlX2JpdG1hcCwKZGlmZiAtLWdpdCBhL3NyYy94dGVybS5jIGIvc3JjL3h0ZXJtLmMKaW5k ZXggNWQ4YjE0OC4uNjcyNTNhNiAxMDA2NDQKLS0tIGEvc3JjL3h0ZXJtLmMKKysrIGIvc3JjL3h0 ZXJtLmMKQEAgLTM2MTEsMjEgKzM2MTEsMjEgQEAgeF9kcmF3X3N0cmV0Y2hfZ2x5cGhfc3RyaW5n IChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzKQogICBzLT5iYWNrZ3JvdW5kX2ZpbGxlZF9wID0gdHJ1 ZTsKIH0KIAotc3RhdGljIHZvaWQKLXhfZ2V0X3NjYWxlX2ZhY3RvcihEaXNwbGF5ICpkaXNwLCBp bnQgKnNjYWxlX3gsIGludCAqc2NhbGVfeSkKK3N0YXRpYyBkb3VibGUKK3hfZ2V0X3NjYWxlX2Zh Y3RvcihzdHJ1Y3QgZnJhbWUgKmYpCiB7CisjaWZkZWYgVVNFX0dUSworICByZXR1cm4geGdfZ2V0 X3NjYWxlIChmKTsKKyNlbHNlCisgIERpc3BsYXkgKmRpc3AgPSBGUkFNRV9YX0RJU1BMQVkgKGYp OworICBzdHJ1Y3QgeF9kaXNwbGF5X2luZm8gKmRweWluZm8gPSB4X2Rpc3BsYXlfaW5mb19mb3Jf ZGlzcGxheSAoZGlzcCk7CiAgIGNvbnN0IGludCBiYXNlX3JlcyA9IDk2OwotICBzdHJ1Y3QgeF9k aXNwbGF5X2luZm8gKiBkcHlpbmZvID0geF9kaXNwbGF5X2luZm9fZm9yX2Rpc3BsYXkgKGRpc3Ap OwotCi0gICpzY2FsZV94ID0gKnNjYWxlX3kgPSAxOwogCi0gIGlmIChkcHlpbmZvKQotICAgIHsK LSAgICAgIGlmIChkcHlpbmZvLT5yZXN4ID4gYmFzZV9yZXMpCi0JKnNjYWxlX3ggPSBmbG9vciAo ZHB5aW5mby0+cmVzeCAvIGJhc2VfcmVzKTsKLSAgICAgIGlmIChkcHlpbmZvLT5yZXN5ID4gYmFz ZV9yZXMpCi0JKnNjYWxlX3kgPSBmbG9vciAoZHB5aW5mby0+cmVzeSAvIGJhc2VfcmVzKTsKLSAg ICB9CisgIGlmIChkcHlpbmZvICYmIGRweWluZm8tPnJlc3ggPiBiYXNlX3JlcykKKyAgICByZXR1 cm4gZmxvb3IgKGRweWluZm8tPnJlc3ggLyBiYXNlX3Jlcyk7CisgIGVsc2UKKyAgICByZXR1cm4g MTsKKyNlbmRpZiAvKiBVU0VfR1RLICovCiB9CiAKIC8qCkBAIC0zNjQxLDI3ICszNjQxLDIxIEBA IHhfZ2V0X3NjYWxlX2ZhY3RvcihEaXNwbGF5ICpkaXNwLCBpbnQgKnNjYWxlX3gsIGludCAqc2Nh bGVfeSkKIHN0YXRpYyB2b2lkCiB4X2RyYXdfdW5kZXJ3YXZlIChzdHJ1Y3QgZ2x5cGhfc3RyaW5n ICpzKQogewotICBEaXNwbGF5ICpkaXNwbGF5ID0gRlJBTUVfWF9ESVNQTEFZIChzLT5mKTsKLQog ICAvKiBBZGp1c3QgZm9yIHNjYWxlL0hpRFBJLiAgKi8KLSAgaW50IHNjYWxlX3gsIHNjYWxlX3k7 Ci0KLSAgeF9nZXRfc2NhbGVfZmFjdG9yIChkaXNwbGF5LCAmc2NhbGVfeCwgJnNjYWxlX3kpOwot Ci0gIGludCB3YXZlX2hlaWdodCA9IDMgKiBzY2FsZV95LCB3YXZlX2xlbmd0aCA9IDIgKiBzY2Fs ZV94OwotCisgIGRvdWJsZSBzY2FsZSA9IHhfZ2V0X3NjYWxlX2ZhY3RvciAocy0+Zik7CisgIGlu dCB3YXZlX2hlaWdodCA9IDMgKiBzY2FsZSwgd2F2ZV9sZW5ndGggPSAyICogc2NhbGU7CiAjaWZk ZWYgVVNFX0NBSVJPCiAgIHhfZHJhd19ob3Jpem9udGFsX3dhdmUgKHMtPmYsIHMtPmdjLCBzLT54 LCBzLT55YmFzZSAtIHdhdmVfaGVpZ2h0ICsgMywKIAkJCSAgcy0+d2lkdGgsIHdhdmVfaGVpZ2h0 LCB3YXZlX2xlbmd0aCk7CiAjZWxzZSAgLyogbm90IFVTRV9DQUlSTyAqLwotICBpbnQgZHgsIGR5 LCB4MCwgeTAsIHdpZHRoLCB4MSwgeTEsIHgyLCB5MiwgeG1heCwgdGhpY2tuZXNzID0gc2NhbGVf eTs7CisgIGludCBkeCwgZHksIHgwLCB5MCwgd2lkdGgsIHgxLCB5MSwgeDIsIHkyLCB4bWF4LCB0 aGlja25lc3MgPSBzY2FsZTsKICAgYm9vbCBvZGQ7CiAgIFhSZWN0YW5nbGUgd2F2ZV9jbGlwLCBz dHJpbmdfY2xpcCwgZmluYWxfY2xpcDsKIAogICBkeCA9IHdhdmVfbGVuZ3RoOwogICBkeSA9IHdh dmVfaGVpZ2h0IC0gMTsKICAgeDAgPSBzLT54OwotICB5MCA9IHMtPnliYXNlICsgd2F2ZV9oZWln aHQgLyAyIC0gc2NhbGVfeTsKKyAgeTAgPSBzLT55YmFzZSArIHdhdmVfaGVpZ2h0IC8gMiAtIHNj YWxlOwogICB3aWR0aCA9IHMtPndpZHRoOwogICB4bWF4ID0geDAgKyB3aWR0aDsKIApAQCAtMTA1 NTcsNyArMTA1NTEsNyBAQCB4X3NldF9vZmZzZXQgKHN0cnVjdCBmcmFtZSAqZiwgcmVnaXN0ZXIg aW50IHhvZmYsIHJlZ2lzdGVyIGludCB5b2ZmLCBpbnQgY2hhbmdlXwogewogICBpbnQgbW9kaWZp ZWRfdG9wLCBtb2RpZmllZF9sZWZ0OwogI2lmZGVmIFVTRV9HVEsKLSAgaW50IHNjYWxlID0geGdf Z2V0X3NjYWxlIChmKTsKKyAgZG91YmxlIHNjYWxlID0geF9nZXRfc2NhbGVfZmFjdG9yIChmKTsK ICNlbmRpZgogCiAgIGlmIChjaGFuZ2VfZ3Jhdml0eSA+IDApCkBAIC0xMzM1Niw2ICsxMzM1MCw3 IEBAIHhfYWN0aXZhdGVfdGltZW91dF9hdGltZXIgKHZvaWQpCiAgICAgZ3VpX2NsZWFyX3dpbmRv d19tb3VzZV9mYWNlLAogICAgIGd1aV9nZXRfZ2x5cGhfb3ZlcmhhbmdzLAogICAgIGd1aV9maXhf b3ZlcmxhcHBpbmdfYXJlYSwKKyAgICB4X2dldF9zY2FsZV9mYWN0b3IsCiAgICAgeF9kcmF3X2Zy aW5nZV9iaXRtYXAsCiAjaWZkZWYgVVNFX0NBSVJPCiAgICAgeF9jcl9kZWZpbmVfZnJpbmdlX2Jp dG1hcCwKLS0gCjIuMjAuMQoK --0000000000005666150595095e08-- From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 16 15:09:07 2019 Received: (at 37770) by debbugs.gnu.org; 16 Oct 2019 19:09:07 +0000 Received: from localhost ([127.0.0.1]:46563 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iKofT-0000JW-3L for submit@debbugs.gnu.org; Wed, 16 Oct 2019 15:09:07 -0400 Received: from mail-yw1-f68.google.com ([209.85.161.68]:36082) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iKofQ-0000J2-Bc for 37770@debbugs.gnu.org; Wed, 16 Oct 2019 15:09:05 -0400 Received: by mail-yw1-f68.google.com with SMTP id x64so9055734ywg.3 for <37770@debbugs.gnu.org>; Wed, 16 Oct 2019 12:09:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yS30hOZT517yyaDHLRNp6auS7VQJIXhgI+OrhxdAZDw=; b=tk7hlJj9kjHg54/m8DzrGk0dO4UwDhv6f3x3X4yVfEqV4GLz1Cg9cmHzec/wYw5HE9 jExJ+WlDjHA5o4wfhFCdmzqJ2Pvac5+6hDM3xgYxGyriGE15Ah9nf6pVXAJLPWivmZLG HayAWL090RXZRTljxXJ8FXzorcMmPEmO4pkcywXoUadJo9PiIAQSHPyN/xSZh0KdQg5W 5SuT+YvReW/9qpN9HZo4g1LXzbo4BwKV2VoYkkjGjFjdDc0FQ9ekKN/DV+tb96c/ejkX NknErThOWCbhCJqhqIdwKDfp/jc44UKJim2Hpx4YrZhGB13XsxRIVeUFZfRFLeMaEb9q 52VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yS30hOZT517yyaDHLRNp6auS7VQJIXhgI+OrhxdAZDw=; b=rJ6DQ6j6iADuWbI/wc5KNSCMbMl8hgyjD3CTPDRh5DnSC0ctNCRV2MF1puO90Rk3AV CCnW+q1z5CUrinetd5hyO4GRis54v6cr3f3JUBA0LAFVVS6FvzmZ2bQ5iRN6lQtXOGw+ EHfrgwWAGJWw7/2YPBh9xMPo/04BQJ0cXsOsytOqbFpzTM9IgpNM6J5KqB0fKSpMXuXU aJ/UE1IeAVm3rHq13U9zhhBeSVJn2i+/RJHIeQfLeTMhL6a3PugJW/vbTdfTC5u2e2Tn CiauWE2gWmoRPoF0AxCC7P+hdhshxZ9wbMF4jKGAsc1X7gFiJbXR+M1HUJzC69PuB3f0 B/nw== X-Gm-Message-State: APjAAAVVVVICBfuHyDnhSlKllN+csrqGY4o3fNB0jBvpeFPq58lmqU+E zblFh+vrJLXuYWrNhACXWvN9i4tcwPwk0QYiK1Y= X-Google-Smtp-Source: APXvYqyV3lMUwMHFDnkvcZPTRr9HqMzbGmAMPF2YlJgiQGog4cWu/eiKhSp+y0ibBJuRwGos3Q0ZSSunvdZ3xIuxxnc= X-Received: by 2002:a81:5088:: with SMTP id e130mr19886012ywb.91.1571252938628; Wed, 16 Oct 2019 12:08:58 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Carlos Pita Date: Wed, 16 Oct 2019 16:08:47 -0300 Message-ID: Subject: Re: bug#37770: [PATCH] Expose scale factor through the redisplay interface To: Robert Pluim Content-Type: multipart/mixed; boundary="000000000000428d6605950bd5a3" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37770 Cc: 37770@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000428d6605950bd5a3 Content-Type: text/plain; charset="UTF-8" I've capitalized changelog entries in the message and also added a reference to the bug number. Eli told me that you prefer code comments to long commit messages but in this case I think the rationale would be lost in fragmentary comments here and there. It's true that there is still the reference to this discussion in the commit message, but I believe it's convenient to quickly get a description of the change using git blame when browsing the code. If you disagree I will remove the notes from the commit message and copy them here. Best regards -- Carlos --000000000000428d6605950bd5a3 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Expose-scale-factor-through-the-redisplay-interface-.patch" Content-Disposition: attachment; filename="0001-Expose-scale-factor-through-the-redisplay-interface-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k1tnac4w0 RnJvbSAwMWU1MmRlOWNlNDliYzBiMzQ5MDQ5Mjg5MWYwNjZkMmY5MzA2Y2Y0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBtZW1lcGxleCA8Y2FybG9zam9zZXBpdGFAZ21haWwuY29tPgpE YXRlOiBUdWUsIDE1IE9jdCAyMDE5IDE5OjE0OjAzIC0wMzAwClN1YmplY3Q6IFtQQVRDSF0gRXhw b3NlIHNjYWxlIGZhY3RvciB0aHJvdWdoIHRoZSByZWRpc3BsYXkgaW50ZXJmYWNlCiAoQnVnIzM3 NzcwKQoKKiBzcmMvZGlzcGV4dGVybi5oIChyZWRpc3BsYXlfaW50ZXJmYWNlKTogQWRkIGdldF9z Y2FsZV9mYWN0b3IgQVBJLgoKKiBzcmMveHRlcm0uYyAoeF9nZXRfc2NhbGVfZmFjdG9yKTogQ29u c29saWRhdGUgd2l0aCB4Z19nZXRfc2NhbGUgKHNlZQpidWcjMzc3NTIpIGFuZCBleHBvcnQgdGhy b3VnaCB0aGUgcmlmLiBTaW1wbGlmeSBzY2FsZSBpbmZlcnJpbmcKbG9naWMgKHNlZSBub3RlIDEg YmVsb3cpLgoKKiBzcmMvdzMydGVybS5jICh3MzJfZ2V0X3NjYWxlX2ZhY3Rvcik6IExpa2V3aXNl IHNpbXBsaWZ5IGxvZ2ljIGFuZAphZGQgdG8gdGhlIHJpZi4KCiogc3JjL25zdGVybS5tIChuc19n ZXRfc2NhbGVfZmFjdG9yKTogQWRkIGEgZHVtbXkgaW1wbGVtZW50YXRpb24gdGhhdAphbHdheXMg cmV0dXJuIDEgdG8gdGhlIHJpZiwgc2luY2UgdGhlcmUgYXJlIG5vIHVzZXMgb2YgYW55IHNjYWxl CmZhY3RvciBoZXJlLgoKTm90ZSAxOiBib3RoIHhfZ2V0X3NjYWxlX2ZhY3RvciBhbmQgdzMyX2dl dF9zY2FsZV9mYWN0b3IgY29tcHV0ZWQKZGlzdGluY3Qgc2NhbGVzIGZvciB4IGFuZCB5IGJ5IHRh a2luZyB0aGUgcmF0aW8gYmV0d2VlbiBlZmZlY3RpdmUKcmVzb2x1dGlvbiBpbiBlYWNoIGRpcmVj dGlvbiBhbmQgYSBzdGFuZGFyZCA5NiBkcGkgcmVzb2x1dGlvbi4gIFNpbmNlCnRoaXMgcmF0aW8g aXMgdGhlbiB0cnVuY2F0ZWQgdG8gYW4gaW50ZWdlciAodGhlIGZsb29yKSBpdCBzZWVtcyB0byBt ZQp0aGF0IHRoZXJlIGlzIG5vIHNlbnNpYmxlIHBvc3NpYmlsaXR5IHRoYXQgdGhlc2UgdHdvIG51 bWJlcnMKZGl2ZXJnZS4gTW9yZW92ZXIsIG1vZGVybiB0b29sa2l0cyByZXBvcnQgb25lIG51bWJl ciBhcyBzY2FsZSBmYWN0b3IKYW5kIHdlIG5lZWQgYSBjb21tb24gaW50ZXJmYWNlIGhlcmUuIEZv ciB0aG9zZSByZWFzb25zIEknbSBhcmJpdHJhcmlseQpwaWNraW5nIHRoZSBob3Jpem9udGFsIHNj YWxlIGZhY3RvciBhcyBUSEUgc2NhbGUgZmFjdG9yLgoKTm90ZSAyOiBJIGRlY2lkZWQgdG8gbGV0 IGdldF9zY2FsZV9mYWN0b3IgcmV0dXJuIGEgZG91YmxlLCBldmVuIHRvdWdoCmZhY3RvcnMgY3Vy cmVudGx5IGluIHVzZSBhcmUgYWxsIGludGVnZXJzIEFGQUlLLiBUaGlzIGlzIGluCmFudGljaXBh dGlvbiBvZiBmcmFjdGlvbmFsIHNjYWxpbmcuIEkgYmVsaWV2ZSBpdCdzIHBydWRlbnQgdG8ga2Vl cAp0aGUgaW50ZXJmYWNlIGdlbmVyYWwgaW4gdGhpcyByZWdhcmQuCi0tLQogc3JjL2Rpc3BleHRl cm4uaCB8ICAzICsrKwogc3JjL25zdGVybS5tICAgICB8ICA2ICsrKysrKwogc3JjL3czMnRlcm0u YyAgICB8IDI5ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmMveHRlcm0uYyAgICAg IHwgNDEgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDQgZmlsZXMg Y2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2Rpc3BleHRlcm4uaCBiL3NyYy9kaXNwZXh0ZXJuLmgKaW5kZXggMDYxNWIxNi4uYjkzZTI1 ZiAxMDA2NDQKLS0tIGEvc3JjL2Rpc3BleHRlcm4uaAorKysgYi9zcmMvZGlzcGV4dGVybi5oCkBA IC0yOTQyLDYgKzI5NDIsOSBAQCByZXNldF9tb3VzZV9oaWdobGlnaHQgKE1vdXNlX0hMSW5mbyAq aGxpbmZvKQogCiAjaWZkZWYgSEFWRV9XSU5ET1dfU1lTVEVNCiAKKyAgLyogUmV0dXJuIHRoZSBz Y2FsZSBmYWN0b3IgZm9yIHRoZSBzY3JlZW4gY29udGFpbmluZyBmcmFtZSBGLiAgKi8KKyAgZG91 YmxlICgqZ2V0X3NjYWxlX2ZhY3RvcikgKHN0cnVjdCBmcmFtZSAqZik7CisKICAgLyogRHJhdyBh IGZyaW5nZSBiaXRtYXAgaW4gd2luZG93IFcgb2Ygcm93IFJPVyB1c2luZyBwYXJhbWV0ZXJzIFAu ICAqLwogICB2b2lkICgqZHJhd19mcmluZ2VfYml0bWFwKSAoc3RydWN0IHdpbmRvdyAqdywgc3Ry dWN0IGdseXBoX3JvdyAqcm93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IGRyYXdfZnJpbmdlX2JpdG1hcF9wYXJhbXMgKnApOwpkaWZmIC0tZ2l0IGEvc3JjL25zdGVybS5t IGIvc3JjL25zdGVybS5tCmluZGV4IDU1ODNjNjEuLjZlMWI3NTEgMTAwNjQ0Ci0tLSBhL3NyYy9u c3Rlcm0ubQorKysgYi9zcmMvbnN0ZXJtLm0KQEAgLTI5NTcsNiArMjk1NywxMSBAQCBzbyBzb21l IGtleSBwcmVzc2VzIChUQUIpIGFyZSBzd2FsbG93ZWQgYnkgdGhlIHN5c3RlbS4gICovCiAKICAg ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09ICovCiAKK3N0YXRpYyBkb3VibGUKK25zX2dldF9zY2FsZV9mYWN0 b3IgKHN0cnVjdCBmcmFtZSAqZikKK3sKKyAgcmV0dXJuIDE7ICAvLyBUT0RPIGRvIHdlIG5lZWQg dG8gZG8gc29tZXRoaW5nIGVsc2UgaGVyZT8KK30KIAogZXh0ZXJuIGludCBtYXhfdXNlZF9mcmlu Z2VfYml0bWFwOwogc3RhdGljIHZvaWQKQEAgLTUwODcsNiArNTA5Miw3IEBAIHN0YXRpYyBMaXNw X09iamVjdCBuc19zdHJpbmdfdG9fbGlzcG1vZCAoY29uc3QgY2hhciAqcykKICAgZ3VpX2NsZWFy X3dpbmRvd19tb3VzZV9mYWNlLAogICBndWlfZ2V0X2dseXBoX292ZXJoYW5ncywKICAgZ3VpX2Zp eF9vdmVybGFwcGluZ19hcmVhLAorICBuc19nZXRfc2NhbGVfZmFjdG9yLAogICBuc19kcmF3X2Zy aW5nZV9iaXRtYXAsCiAgIDAsIC8qIGRlZmluZV9mcmluZ2VfYml0bWFwICovIC8qIEZJWE1FOiBz aW1wbGlmeSBuc19kcmF3X2ZyaW5nZV9iaXRtYXAgKi8KICAgMCwgLyogZGVzdHJveV9mcmluZ2Vf Yml0bWFwICovCmRpZmYgLS1naXQgYS9zcmMvdzMydGVybS5jIGIvc3JjL3czMnRlcm0uYwppbmRl eCA5ZGEwODQ1Li42ZDQzMGM2IDEwMDY0NAotLS0gYS9zcmMvdzMydGVybS5jCisrKyBiL3NyYy93 MzJ0ZXJtLmMKQEAgLTMwNCwyMCArMzA0LDE2IEBAIHczMl9yZXN0b3JlX2dseXBoX3N0cmluZ19j bGlwIChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzKQogICAgIH0KIH0KIAotc3RhdGljIHZvaWQKLXcz Ml9nZXRfc2NhbGVfZmFjdG9yKHN0cnVjdCB3MzJfZGlzcGxheV9pbmZvICpkcHlpbmZvLCBpbnQg KnNjYWxlX3gsIGludCAqc2NhbGVfeSkKK3N0YXRpYyBkb3VibGUKK3czMl9nZXRfc2NhbGVfZmFj dG9yKHN0cnVjdCBmcmFtZSAqZikKIHsKKyAgc3RydWN0IHczMl9kaXNwbGF5X2luZm8gKmRweWlu Zm8gPSBGUkFNRV9ESVNQTEFZX0lORk8gKGYpOwogICBjb25zdCBpbnQgYmFzZV9yZXMgPSA5NjsK IAotICAqc2NhbGVfeCA9ICpzY2FsZV95ID0gMTsKLQotICBpZiAoZHB5aW5mbykKLSAgICB7Ci0g ICAgICBpZiAoZHB5aW5mby0+cmVzeCA+IGJhc2VfcmVzKQotCSpzY2FsZV94ID0gZmxvb3IgKGRw eWluZm8tPnJlc3ggLyBiYXNlX3Jlcyk7Ci0gICAgICBpZiAoZHB5aW5mby0+cmVzeSA+IGJhc2Vf cmVzKQotCSpzY2FsZV95ID0gZmxvb3IgKGRweWluZm8tPnJlc3kgLyBiYXNlX3Jlcyk7Ci0gICAg fQorICBpZiAoZHB5aW5mbyAmJiBkcHlpbmZvLT5yZXN4ID4gYmFzZV9yZXMpCisgICAgcmV0dXJu IGZsb29yIChkcHlpbmZvLT5yZXN4IC8gYmFzZV9yZXMpOworICBlbHNlCisgICAgcmV0dXJuIDE7 CiB9CiAKIC8qCkBAIC0zMzQsMTIgKzMzMCw4IEBAIHczMl9nZXRfc2NhbGVfZmFjdG9yKHN0cnVj dCB3MzJfZGlzcGxheV9pbmZvICpkcHlpbmZvLCBpbnQgKnNjYWxlX3gsIGludCAqc2NhbGVfCiBz dGF0aWMgdm9pZAogdzMyX2RyYXdfdW5kZXJ3YXZlIChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzLCBD T0xPUlJFRiBjb2xvcikKIHsKLSAgc3RydWN0IHczMl9kaXNwbGF5X2luZm8gKmRweWluZm8gPSBG UkFNRV9ESVNQTEFZX0lORk8gKHMtPmYpOwotCi0gIGludCBzY2FsZV94LCBzY2FsZV95OwotICB3 MzJfZ2V0X3NjYWxlX2ZhY3RvciAoZHB5aW5mbywgJnNjYWxlX3gsICZzY2FsZV95KTsKLQotICBp bnQgd2F2ZV9oZWlnaHQgPSAzICogc2NhbGVfeSwgd2F2ZV9sZW5ndGggPSAyICogc2NhbGVfeCwg dGhpY2tuZXNzID0gc2NhbGVfeTsKKyAgZG91YmxlIHNjYWxlID0gdzMyX2dldF9zY2FsZV9mYWN0 b3IgKHMtPmYpOworICBpbnQgd2F2ZV9oZWlnaHQgPSAzICogc2NhbGUsIHdhdmVfbGVuZ3RoID0g MiAqIHNjYWxlLCB0aGlja25lc3MgPSBzY2FsZTsKICAgaW50IGR4LCBkeSwgeDAsIHkwLCB3aWR0 aCwgeDEsIHkxLCB4MiwgeTIsIG9kZCwgeG1heDsKICAgRW1hY3NfUmVjdGFuZ2xlIHdhdmVfY2xp cCwgc3RyaW5nX2NsaXAsIGZpbmFsX2NsaXA7CiAgIFJFQ1QgdzMyX2ZpbmFsX2NsaXAsIHczMl9z dHJpbmdfY2xpcDsKQEAgLTM0OCw3ICszNDAsNyBAQCB3MzJfZHJhd191bmRlcndhdmUgKHN0cnVj dCBnbHlwaF9zdHJpbmcgKnMsIENPTE9SUkVGIGNvbG9yKQogICBkeCA9IHdhdmVfbGVuZ3RoOwog ICBkeSA9IHdhdmVfaGVpZ2h0IC0gMTsKICAgeDAgPSBzLT54OwotICB5MCA9IHMtPnliYXNlICsg d2F2ZV9oZWlnaHQgLyAyIC0gc2NhbGVfeTsKKyAgeTAgPSBzLT55YmFzZSArIHdhdmVfaGVpZ2h0 IC8gMiAtIHNjYWxlOwogICB3aWR0aCA9IHMtPndpZHRoOwogICB4bWF4ID0geDAgKyB3aWR0aDsK IApAQCAtNzE5Miw2ICs3MTg0LDcgQEAgdzMyX21ha2VfcmRiIChjaGFyICp4cm1fb3B0aW9uKQog ICBndWlfY2xlYXJfd2luZG93X21vdXNlX2ZhY2UsCiAgIGd1aV9nZXRfZ2x5cGhfb3Zlcmhhbmdz LAogICBndWlfZml4X292ZXJsYXBwaW5nX2FyZWEsCisgIHczMl9nZXRfc2NhbGVfZmFjdG9yLAog ICB3MzJfZHJhd19mcmluZ2VfYml0bWFwLAogICB3MzJfZGVmaW5lX2ZyaW5nZV9iaXRtYXAsCiAg IHczMl9kZXN0cm95X2ZyaW5nZV9iaXRtYXAsCmRpZmYgLS1naXQgYS9zcmMveHRlcm0uYyBiL3Ny Yy94dGVybS5jCmluZGV4IDVkOGIxNDguLjY3MjUzYTYgMTAwNjQ0Ci0tLSBhL3NyYy94dGVybS5j CisrKyBiL3NyYy94dGVybS5jCkBAIC0zNjExLDIxICszNjExLDIxIEBAIHhfZHJhd19zdHJldGNo X2dseXBoX3N0cmluZyAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKICAgcy0+YmFja2dyb3VuZF9m aWxsZWRfcCA9IHRydWU7CiB9CiAKLXN0YXRpYyB2b2lkCi14X2dldF9zY2FsZV9mYWN0b3IoRGlz cGxheSAqZGlzcCwgaW50ICpzY2FsZV94LCBpbnQgKnNjYWxlX3kpCitzdGF0aWMgZG91YmxlCit4 X2dldF9zY2FsZV9mYWN0b3Ioc3RydWN0IGZyYW1lICpmKQogeworI2lmZGVmIFVTRV9HVEsKKyAg cmV0dXJuIHhnX2dldF9zY2FsZSAoZik7CisjZWxzZQorICBEaXNwbGF5ICpkaXNwID0gRlJBTUVf WF9ESVNQTEFZIChmKTsKKyAgc3RydWN0IHhfZGlzcGxheV9pbmZvICpkcHlpbmZvID0geF9kaXNw bGF5X2luZm9fZm9yX2Rpc3BsYXkgKGRpc3ApOwogICBjb25zdCBpbnQgYmFzZV9yZXMgPSA5NjsK LSAgc3RydWN0IHhfZGlzcGxheV9pbmZvICogZHB5aW5mbyA9IHhfZGlzcGxheV9pbmZvX2Zvcl9k aXNwbGF5IChkaXNwKTsKLQotICAqc2NhbGVfeCA9ICpzY2FsZV95ID0gMTsKIAotICBpZiAoZHB5 aW5mbykKLSAgICB7Ci0gICAgICBpZiAoZHB5aW5mby0+cmVzeCA+IGJhc2VfcmVzKQotCSpzY2Fs ZV94ID0gZmxvb3IgKGRweWluZm8tPnJlc3ggLyBiYXNlX3Jlcyk7Ci0gICAgICBpZiAoZHB5aW5m by0+cmVzeSA+IGJhc2VfcmVzKQotCSpzY2FsZV95ID0gZmxvb3IgKGRweWluZm8tPnJlc3kgLyBi YXNlX3Jlcyk7Ci0gICAgfQorICBpZiAoZHB5aW5mbyAmJiBkcHlpbmZvLT5yZXN4ID4gYmFzZV9y ZXMpCisgICAgcmV0dXJuIGZsb29yIChkcHlpbmZvLT5yZXN4IC8gYmFzZV9yZXMpOworICBlbHNl CisgICAgcmV0dXJuIDE7CisjZW5kaWYgLyogVVNFX0dUSyAqLwogfQogCiAvKgpAQCAtMzY0MSwy NyArMzY0MSwyMSBAQCB4X2dldF9zY2FsZV9mYWN0b3IoRGlzcGxheSAqZGlzcCwgaW50ICpzY2Fs ZV94LCBpbnQgKnNjYWxlX3kpCiBzdGF0aWMgdm9pZAogeF9kcmF3X3VuZGVyd2F2ZSAoc3RydWN0 IGdseXBoX3N0cmluZyAqcykKIHsKLSAgRGlzcGxheSAqZGlzcGxheSA9IEZSQU1FX1hfRElTUExB WSAocy0+Zik7Ci0KICAgLyogQWRqdXN0IGZvciBzY2FsZS9IaURQSS4gICovCi0gIGludCBzY2Fs ZV94LCBzY2FsZV95OwotCi0gIHhfZ2V0X3NjYWxlX2ZhY3RvciAoZGlzcGxheSwgJnNjYWxlX3gs ICZzY2FsZV95KTsKLQotICBpbnQgd2F2ZV9oZWlnaHQgPSAzICogc2NhbGVfeSwgd2F2ZV9sZW5n dGggPSAyICogc2NhbGVfeDsKLQorICBkb3VibGUgc2NhbGUgPSB4X2dldF9zY2FsZV9mYWN0b3Ig KHMtPmYpOworICBpbnQgd2F2ZV9oZWlnaHQgPSAzICogc2NhbGUsIHdhdmVfbGVuZ3RoID0gMiAq IHNjYWxlOwogI2lmZGVmIFVTRV9DQUlSTwogICB4X2RyYXdfaG9yaXpvbnRhbF93YXZlIChzLT5m LCBzLT5nYywgcy0+eCwgcy0+eWJhc2UgLSB3YXZlX2hlaWdodCArIDMsCiAJCQkgIHMtPndpZHRo LCB3YXZlX2hlaWdodCwgd2F2ZV9sZW5ndGgpOwogI2Vsc2UgIC8qIG5vdCBVU0VfQ0FJUk8gKi8K LSAgaW50IGR4LCBkeSwgeDAsIHkwLCB3aWR0aCwgeDEsIHkxLCB4MiwgeTIsIHhtYXgsIHRoaWNr bmVzcyA9IHNjYWxlX3k7OworICBpbnQgZHgsIGR5LCB4MCwgeTAsIHdpZHRoLCB4MSwgeTEsIHgy LCB5MiwgeG1heCwgdGhpY2tuZXNzID0gc2NhbGU7CiAgIGJvb2wgb2RkOwogICBYUmVjdGFuZ2xl IHdhdmVfY2xpcCwgc3RyaW5nX2NsaXAsIGZpbmFsX2NsaXA7CiAKICAgZHggPSB3YXZlX2xlbmd0 aDsKICAgZHkgPSB3YXZlX2hlaWdodCAtIDE7CiAgIHgwID0gcy0+eDsKLSAgeTAgPSBzLT55YmFz ZSArIHdhdmVfaGVpZ2h0IC8gMiAtIHNjYWxlX3k7CisgIHkwID0gcy0+eWJhc2UgKyB3YXZlX2hl aWdodCAvIDIgLSBzY2FsZTsKICAgd2lkdGggPSBzLT53aWR0aDsKICAgeG1heCA9IHgwICsgd2lk dGg7CiAKQEAgLTEwNTU3LDcgKzEwNTUxLDcgQEAgeF9zZXRfb2Zmc2V0IChzdHJ1Y3QgZnJhbWUg KmYsIHJlZ2lzdGVyIGludCB4b2ZmLCByZWdpc3RlciBpbnQgeW9mZiwgaW50IGNoYW5nZV8KIHsK ICAgaW50IG1vZGlmaWVkX3RvcCwgbW9kaWZpZWRfbGVmdDsKICNpZmRlZiBVU0VfR1RLCi0gIGlu dCBzY2FsZSA9IHhnX2dldF9zY2FsZSAoZik7CisgIGRvdWJsZSBzY2FsZSA9IHhfZ2V0X3NjYWxl X2ZhY3RvciAoZik7CiAjZW5kaWYKIAogICBpZiAoY2hhbmdlX2dyYXZpdHkgPiAwKQpAQCAtMTMz NTYsNiArMTMzNTAsNyBAQCB4X2FjdGl2YXRlX3RpbWVvdXRfYXRpbWVyICh2b2lkKQogICAgIGd1 aV9jbGVhcl93aW5kb3dfbW91c2VfZmFjZSwKICAgICBndWlfZ2V0X2dseXBoX292ZXJoYW5ncywK ICAgICBndWlfZml4X292ZXJsYXBwaW5nX2FyZWEsCisgICAgeF9nZXRfc2NhbGVfZmFjdG9yLAog ICAgIHhfZHJhd19mcmluZ2VfYml0bWFwLAogI2lmZGVmIFVTRV9DQUlSTwogICAgIHhfY3JfZGVm aW5lX2ZyaW5nZV9iaXRtYXAsCi0tIAoyLjIwLjEKCg== --000000000000428d6605950bd5a3-- From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 17 04:01:58 2019 Received: (at 37770) by debbugs.gnu.org; 17 Oct 2019 08:01:58 +0000 Received: from localhost ([127.0.0.1]:47065 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iL0jM-0002Mn-2g for submit@debbugs.gnu.org; Thu, 17 Oct 2019 04:01:56 -0400 Received: from mail-wr1-f43.google.com ([209.85.221.43]:46438) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iL0jI-0002MZ-Rr for 37770@debbugs.gnu.org; Thu, 17 Oct 2019 04:01:54 -0400 Received: by mail-wr1-f43.google.com with SMTP id o18so1143882wrv.13 for <37770@debbugs.gnu.org>; Thu, 17 Oct 2019 01:01:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version; bh=FVa2JvePGsudzllAvaYOZo4PjFYvzP3qTi61jp0lVmE=; b=U2FHQRyxbbgtHtaBdUXMbllz8c0JsRKJbYidy15gDrJg2b7ygIzYPlDaTgmMX5BQph fVUzO78P4aooaPW9+w+n+KklyGmhBLfZ/bvlm7ia0XBCChu+lz+VLu3LsQA+kw4nj5lG DQxmjUNEm9lhtO3yW4Mg1jZ9YaBXw0glpT2zcSgjyCjzPy7RmNOlPlnceGSlDO+Gkuuq HUtw8CklJzG4X4kNAWsXU2jf43Ap7HfgQW3Ry6eHrCUfnrzjXCiduwQKTUsBPx/E8PHO xygZWsPBVxcc3EejJRW22OjijgTByyqwzYDj5vwyurij4yaikKvBpYm6XkKOnAx0LfJ3 TilQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version; bh=FVa2JvePGsudzllAvaYOZo4PjFYvzP3qTi61jp0lVmE=; b=sqTGLmM/OFdRh/4yllBA0ySg7lFOeABM7pijdDav121G1ak1u6WvMWkS8Jr6HQQtxx 1kgYFeEcyQHvDEdGm6D7BCjDJH3OWchqMPgq7aNBewj3ET9cljvTshbU0oG9yzJ4cfTt VS46QM+nCE0JvDctZS/v2ZFvqr+WOUGluBBCsHYnwctTkEATd95ySNQRES8EOd6L+aDo nnFhtkpuJwhgLmsZLV8iKGFRZsWRS9wTMYow44jTpfwFthIwbVhQ1g6dd2lMlV1/Uma3 2CM821wSrmwTV/ZufwjJzteJqN5EQkWYO64cKj2+vkmWOzAMjdEanKBQYHwbAU47PErM U5Sw== X-Gm-Message-State: APjAAAVVZ/tSQbga+dYPC7+K+vcmTb1XnoPI8+2v2Q+LGlb3gyGBKuVh IbiHgJn3cisooxjQjaBpVIGZ6/Ha X-Google-Smtp-Source: APXvYqw5VsDGq1IOpdBCOOOgWcIlFnXZ3yPFkgHezBV8Xxhtm57/8Unqu8gbHQMWVqDhL2JJNlVb/g== X-Received: by 2002:a5d:6984:: with SMTP id g4mr1783792wru.43.1571299306270; Thu, 17 Oct 2019 01:01:46 -0700 (PDT) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id u1sm1134511wru.90.2019.10.17.01.01.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Oct 2019 01:01:40 -0700 (PDT) From: Robert Pluim To: Carlos Pita Subject: Re: bug#37770: [PATCH] Expose scale factor through the redisplay interface References: Date: Thu, 17 Oct 2019 10:01:40 +0200 In-Reply-To: (Carlos Pita's message of "Wed, 16 Oct 2019 16:08:47 -0300") Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37770 Cc: 37770@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Wed, 16 Oct 2019 16:08:47 -0300, Carlos Pita said: Carlos> I've capitalized changelog entries in the message and also added a Carlos> reference to the bug number. Carlos> Eli told me that you prefer code comments to long commit messages but Carlos> in this case I think the rationale would be lost in fragmentary Carlos> comments here and there. It's true that there is still the reference Carlos> to this discussion in the commit message, but I believe it's Carlos> convenient to quickly get a description of the change using git blame Carlos> when browsing the code. If you disagree I will remove the notes from Carlos> the commit message and copy them here. If by 'you' you mean 'Emacs', then yes, putting stuff in the code is preferred, I think. Of course nothing stops us from doing both. Carlos> From 01e52de9ce49bc0b3490492891f066d2f9306cf4 Mon Sep 17 00:00:00 2001 Carlos> From: memeplex Carlos> Date: Tue, 15 Oct 2019 19:14:03 -0300 Carlos> Subject: [PATCH] Expose scale factor through the redisplay interface Carlos> (Bug#37770) Carlos> * src/dispextern.h (redisplay_interface): Add get_scale_factor API. Carlos> * src/xterm.c (x_get_scale_factor): Consolidate with xg_get_scale (see Carlos> bug#37752) and export through the rif. Simplify scale inferring Carlos> logic (see note 1 below). 2 spaces after '.' Carlos> Note 1: both x_get_scale_factor and w32_get_scale_factor computed Carlos> distinct scales for x and y by taking the ratio between effective Carlos> resolution in each direction and a standard 96 dpi resolution. Since Carlos> this ratio is then truncated to an integer (the floor) it seems to me Carlos> that there is no sensible possibility that these two numbers Carlos> diverge. Moreover, modern toolkits report one number as scale factor Carlos> and we need a common interface here. For those reasons I'm arbitrarily Carlos> picking the horizontal scale factor as THE scale factor. Carlos> Note 2: I decided to let get_scale_factor return a double, even tough Carlos> factors currently in use are all integers AFAIK. This is in Carlos> anticipation of fractional scaling. I believe it's prudent to keep Carlos> the interface general in this regard. I tend to lean towards putting this sort of rationale at the beginning of the commit message, and let the ChangeLog message explain the mechanics of the change. Robert From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 20 08:34:52 2019 Received: (at 37770) by debbugs.gnu.org; 20 Oct 2019 12:34:52 +0000 Received: from localhost ([127.0.0.1]:53992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMAQ7-00016L-U5 for submit@debbugs.gnu.org; Sun, 20 Oct 2019 08:34:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:32955) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMAQ4-000164-GS for 37770@debbugs.gnu.org; Sun, 20 Oct 2019 08:34:49 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47861) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iMAPy-0003Gv-Fh; Sun, 20 Oct 2019 08:34:43 -0400 Received: from [176.228.60.248] (port=4720 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iMAPx-0000AS-Hm; Sun, 20 Oct 2019 08:34:42 -0400 Date: Sun, 20 Oct 2019 15:34:31 +0300 Message-Id: <838spf61ew.fsf@gnu.org> From: Eli Zaretskii To: Carlos Pita In-reply-to: (message from Carlos Pita on Wed, 16 Oct 2019 16:08:47 -0300) Subject: Re: bug#37770: [PATCH] Expose scale factor through the redisplay interface References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37770 Cc: rpluim@gmail.com, 37770@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Carlos Pita > Date: Wed, 16 Oct 2019 16:08:47 -0300 > Cc: 37770@debbugs.gnu.org > > Eli told me that you prefer code comments to long commit messages but > in this case I think the rationale would be lost in fragmentary > comments here and there. It's true that there is still the reference > to this discussion in the commit message, but I believe it's > convenient to quickly get a description of the change using git blame > when browsing the code. If you disagree I will remove the notes from > the commit message and copy them here. The explanations should precede the file/function entries part. > Note 1: both x_get_scale_factor and w32_get_scale_factor computed > distinct scales for x and y by taking the ratio between effective > resolution in each direction and a standard 96 dpi resolution. Since > this ratio is then truncated to an integer (the floor) it seems to me > that there is no sensible possibility that these two numbers > diverge. Moreover, modern toolkits report one number as scale factor > and we need a common interface here. For those reasons I'm arbitrarily > picking the horizontal scale factor as THE scale factor. I'm not sure about this. Admittedly, I'm not an expert on screen scales on GUI systems, but why do we need to drop the two scale factors as part of this change, which is basically just refactoring? I'd suggest to keep the 2 scale factors for now. We can always replace 2 with one later. > +static double > +ns_get_scale_factor (struct frame *f) > +{ > + return 1; // TODO do we need to do something else here? Please use C-style comments, /* Like this. */, not C++ style. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 20 13:22:32 2019 Received: (at 37770) by debbugs.gnu.org; 20 Oct 2019 17:22:32 +0000 Received: from localhost ([127.0.0.1]:55218 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMEuV-0008Ea-L8 for submit@debbugs.gnu.org; Sun, 20 Oct 2019 13:22:32 -0400 Received: from mail-yb1-f174.google.com ([209.85.219.174]:39812) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMEuR-0008EI-Gf for 37770@debbugs.gnu.org; Sun, 20 Oct 2019 13:22:29 -0400 Received: by mail-yb1-f174.google.com with SMTP id z2so3351999ybn.6 for <37770@debbugs.gnu.org>; Sun, 20 Oct 2019 10:22:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=p7ppLrFjoHFXPTaZK6MrSHOzYP0cfLFLZ8dfImtDf0E=; b=bxbQf+WOshRq5h8470D5/hxsqrrQa6hY7fjExmnpeyM/6XjwabBAqwqK4EjuIIfL9R ggVKobZukxyR03W1Y7NOmLeTHdxaOSdH/kkEUfYMZlUK4m1Tm33a7LphjmctXfFEaz9H ea25ECxu4jgVzMtH2LEQBeg7cc6icK8hjj7ltfeXQDBhhupGwIviKm7EamNDkTuJVtvE WG5iBccbToNeV+TkyedJl/24zRj8Y1exYgAonyM8KV99lsimfKqkcechQ06Q+uC9PM4Q t4BiQyBaIn+DgluWsz91zt/D7JdF70Pj+yr9wIe3Ax/7pRVOA6UfdnyKU6FSTkpJsLHV FrYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=p7ppLrFjoHFXPTaZK6MrSHOzYP0cfLFLZ8dfImtDf0E=; b=F3rY1USYadJaexGqVESZFV3FnFdu8azbnpNIK805bPQSRvSn8WASv9R28NLb5piuwF alzN+cHNS93OElucy0QEGR7L/ReHVlR70gtPR8UagAX6vXgKGaRbhdpM9CWIca1XF4Bq wEreyLvyifk+riuw4tgbx4W345Vo1Y6oWZeauFbPbchOs8+tyULQAerM+LuM1WOPIU8F /FzuDOwSDZUe/TGbhPTfCbtLyHOoQD6QPV8b3ME0qbFNhxNNzKQY+DVKVOXR5r7dTpVf xPBtv+kcdUbSEmfNLwJEGkmD5lXWavHSgAryyiWoW0EHbrZySIqA7+7l5kD+NRHRSyUp oXLA== X-Gm-Message-State: APjAAAX334k2jZZwKRDSVmRs8qQACyHlEa9b18moRX79wzND+DUDKR/M Dg+HPdFDATCAtblOypO4k5oP4Y4QGvrcMlIgUJ4= X-Google-Smtp-Source: APXvYqypXOmFSWlwJxY6nzE/iXNvRqa+VWj9cVDv6VKM6j6wWjHkjB0vgng1FffzHCHTToSrl3YNv0RAQWiZ5+9s+Sc= X-Received: by 2002:a25:e7cf:: with SMTP id e198mr11847073ybh.334.1571592141515; Sun, 20 Oct 2019 10:22:21 -0700 (PDT) MIME-Version: 1.0 References: <838spf61ew.fsf@gnu.org> In-Reply-To: <838spf61ew.fsf@gnu.org> From: Carlos Pita Date: Sun, 20 Oct 2019 14:22:10 -0300 Message-ID: Subject: Re: bug#37770: [PATCH] Expose scale factor through the redisplay interface To: Eli Zaretskii Content-Type: multipart/mixed; boundary="00000000000053f03305955acf7a" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37770 Cc: Robert Pluim , 37770@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000053f03305955acf7a Content-Type: text/plain; charset="UTF-8" > I'm not sure about this. Admittedly, I'm not an expert on screen > scales on GUI systems, but why do we need to drop the two scale > factors as part of this change, which is basically just refactoring? > I'd suggest to keep the 2 scale factors for now. We can always > replace 2 with one later. I might do that, I might rename x/w32_get_scale_factor to x/w32_get_scale_factor_xy and then define the rif exposed x/w32_get_scale_factor to call these ones and simply drop the y scale factor. But I would prefer not to do that because: 1. It adds complexity (more code, two different apis). 2. The only users of the (static) _xy variants would be x/w32_draw_underwave. 3. For me, it's hard to figure out why a screen would offer, say, x resolution = 2 * 96dpi and y resolution = 3 * 96dpi (and surely we could accommodate a humble underwave drawing routing if such a screen happens to exist). 4. The nsterm backend also draws underwaves and doesn't use two different scale factors (indeed, it doesn't use any scale factor at all, nor the rest of this backend does). 5. AFAIK, the "toolkit industry" has long been using one number as THE scale factor. Moreover, most of the time this number is just 1 or 2. Regarding point 3, it's easier to imagine a screen with 1.99 and 2.01 x and y ratios that get respectively truncated down 1 and 2 x and y scale factors. Now, the problem is not the different scale factors but the way they were computed, and this is not solved at all by using 2 scale factors. Maybe we should use round instead of floor there. I've modified the code comment and the message comment according to your comments, Eli. I've also changed floor to round. Best regards -- Carlos --00000000000053f03305955acf7a Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Expose-scale-factor-through-the-redisplay-interface-.patch" Content-Disposition: attachment; filename="0001-Expose-scale-factor-through-the-redisplay-interface-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k1z9ce4d0 RnJvbSA4MzcwMDZjNzMyYjc3OTJmMjBkMjdhN2M4ODI1ZmE1NDJmNmM3NjA3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBtZW1lcGxleCA8Y2FybG9zam9zZXBpdGFAZ21haWwuY29tPgpE YXRlOiBUdWUsIDE1IE9jdCAyMDE5IDE5OjE0OjAzIC0wMzAwClN1YmplY3Q6IFtQQVRDSF0gRXhw b3NlIHNjYWxlIGZhY3RvciB0aHJvdWdoIHRoZSByZWRpc3BsYXkgaW50ZXJmYWNlCiAoQnVnIzM3 NzcwKQoKTm90ZSAxOiBib3RoIHhfZ2V0X3NjYWxlX2ZhY3RvciBhbmQgdzMyX2dldF9zY2FsZV9m YWN0b3IgY29tcHV0ZWQKZGlzdGluY3Qgc2NhbGVzIGZvciB4IGFuZCB5IGJ5IHRha2luZyB0aGUg cmF0aW8gYmV0d2VlbiBlZmZlY3RpdmUKcmVzb2x1dGlvbiBpbiBlYWNoIGRpcmVjdGlvbiBhbmQg YSBzdGFuZGFyZCA5NiBkcGkgcmVzb2x1dGlvbi4gIFNpbmNlCnRoaXMgcmF0aW8gaXMgdGhlbiB0 cnVuY2F0ZWQgdG8gYW4gaW50ZWdlciAodGhlIGZsb29yKSBpdCBzZWVtcyB0byBtZQp0aGF0IHRo ZXJlIGlzIG5vIHNlbnNpYmxlIHBvc3NpYmlsaXR5IHRoYXQgdGhlc2UgdHdvIG51bWJlcnMKZGl2 ZXJnZS4gTW9yZW92ZXIsIG1vZGVybiB0b29sa2l0cyByZXBvcnQgb25lIG51bWJlciBhcyBzY2Fs ZSBmYWN0b3IKYW5kIHdlIG5lZWQgYSBjb21tb24gaW50ZXJmYWNlIGhlcmUuIEZvciB0aG9zZSBy ZWFzb25zIEknbSBhcmJpdHJhcmlseQpwaWNraW5nIHRoZSBob3Jpem9udGFsIHNjYWxlIGZhY3Rv ciBhcyBUSEUgc2NhbGUgZmFjdG9yLgoKTm90ZSAyOiBJIGRlY2lkZWQgdG8gbGV0IGdldF9zY2Fs ZV9mYWN0b3IgcmV0dXJuIGEgZG91YmxlLCBldmVuIHRvdWdoCmZhY3RvcnMgY3VycmVudGx5IGlu IHVzZSBhcmUgYWxsIGludGVnZXJzIEFGQUlLLiBUaGlzIGlzIGluCmFudGljaXBhdGlvbiBvZiBm cmFjdGlvbmFsIHNjYWxpbmcuIEkgYmVsaWV2ZSBpdCdzIHBydWRlbnQgdG8ga2VlcAp0aGUgaW50 ZXJmYWNlIGdlbmVyYWwgaW4gdGhpcyByZWdhcmQuCgoqIHNyYy9kaXNwZXh0ZXJuLmggKHJlZGlz cGxheV9pbnRlcmZhY2UpOiBBZGQgZ2V0X3NjYWxlX2ZhY3RvciBBUEkuCgoqIHNyYy94dGVybS5j ICh4X2dldF9zY2FsZV9mYWN0b3IpOiBDb25zb2xpZGF0ZSB3aXRoIHhnX2dldF9zY2FsZSAoc2Vl CmJ1ZyMzNzc1MikgYW5kIGV4cG9ydCB0aHJvdWdoIHRoZSByaWYuIFNpbXBsaWZ5IHNjYWxlIGlu ZmVycmluZwpsb2dpYyAoc2VlIG5vdGUgMSBhYm92ZSkuCgoqIHNyYy93MzJ0ZXJtLmMgKHczMl9n ZXRfc2NhbGVfZmFjdG9yKTogTGlrZXdpc2Ugc2ltcGxpZnkgbG9naWMgYW5kCmFkZCB0byB0aGUg cmlmLgoKKiBzcmMvbnN0ZXJtLm0gKG5zX2dldF9zY2FsZV9mYWN0b3IpOiBBZGQgYSBkdW1teSBp bXBsZW1lbnRhdGlvbiB0aGF0CmFsd2F5cyByZXR1cm4gMSB0byB0aGUgcmlmLCBzaW5jZSB0aGVy ZSBhcmUgbm8gdXNlcyBvZiBhbnkgc2NhbGUKZmFjdG9yIGhlcmUuCi0tLQogc3JjL2Rpc3BleHRl cm4uaCB8ICAzICsrKwogc3JjL25zdGVybS5tICAgICB8ICA2ICsrKysrKwogc3JjL3czMnRlcm0u YyAgICB8IDI5ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmMveHRlcm0uYyAgICAg IHwgNDEgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDQgZmlsZXMg Y2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2Rpc3BleHRlcm4uaCBiL3NyYy9kaXNwZXh0ZXJuLmgKaW5kZXggMDYxNWIxNmQ3MS4uYjkz ZTI1ZjIxNiAxMDA2NDQKLS0tIGEvc3JjL2Rpc3BleHRlcm4uaAorKysgYi9zcmMvZGlzcGV4dGVy bi5oCkBAIC0yOTQyLDYgKzI5NDIsOSBAQCByZXNldF9tb3VzZV9oaWdobGlnaHQgKE1vdXNlX0hM SW5mbyAqaGxpbmZvKQogCiAjaWZkZWYgSEFWRV9XSU5ET1dfU1lTVEVNCiAKKyAgLyogUmV0dXJu IHRoZSBzY2FsZSBmYWN0b3IgZm9yIHRoZSBzY3JlZW4gY29udGFpbmluZyBmcmFtZSBGLiAgKi8K KyAgZG91YmxlICgqZ2V0X3NjYWxlX2ZhY3RvcikgKHN0cnVjdCBmcmFtZSAqZik7CisKICAgLyog RHJhdyBhIGZyaW5nZSBiaXRtYXAgaW4gd2luZG93IFcgb2Ygcm93IFJPVyB1c2luZyBwYXJhbWV0 ZXJzIFAuICAqLwogICB2b2lkICgqZHJhd19mcmluZ2VfYml0bWFwKSAoc3RydWN0IHdpbmRvdyAq dywgc3RydWN0IGdseXBoX3JvdyAqcm93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGRyYXdfZnJpbmdlX2JpdG1hcF9wYXJhbXMgKnApOwpkaWZmIC0tZ2l0IGEvc3JjL25z dGVybS5tIGIvc3JjL25zdGVybS5tCmluZGV4IDU1ODNjNjEwNWMuLjdiOTViOWUyMGIgMTAwNjQ0 Ci0tLSBhL3NyYy9uc3Rlcm0ubQorKysgYi9zcmMvbnN0ZXJtLm0KQEAgLTI5NTcsNiArMjk1Nywx MSBAQCBzbyBzb21lIGtleSBwcmVzc2VzIChUQUIpIGFyZSBzd2FsbG93ZWQgYnkgdGhlIHN5c3Rl bS4gICovCiAKICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAKK3N0YXRpYyBkb3VibGUKK25zX2dl dF9zY2FsZV9mYWN0b3IgKHN0cnVjdCBmcmFtZSAqZikKK3sKKyAgcmV0dXJuIDE7ICAvKiBUT0RP IGRvIHdlIG5lZWQgdG8gZG8gc29tZXRoaW5nIGVsc2UgaGVyZT8gICovCit9CiAKIGV4dGVybiBp bnQgbWF4X3VzZWRfZnJpbmdlX2JpdG1hcDsKIHN0YXRpYyB2b2lkCkBAIC01MDg3LDYgKzUwOTIs NyBAQCBzdGF0aWMgTGlzcF9PYmplY3QgbnNfc3RyaW5nX3RvX2xpc3Btb2QgKGNvbnN0IGNoYXIg KnMpCiAgIGd1aV9jbGVhcl93aW5kb3dfbW91c2VfZmFjZSwKICAgZ3VpX2dldF9nbHlwaF9vdmVy aGFuZ3MsCiAgIGd1aV9maXhfb3ZlcmxhcHBpbmdfYXJlYSwKKyAgbnNfZ2V0X3NjYWxlX2ZhY3Rv ciwKICAgbnNfZHJhd19mcmluZ2VfYml0bWFwLAogICAwLCAvKiBkZWZpbmVfZnJpbmdlX2JpdG1h cCAqLyAvKiBGSVhNRTogc2ltcGxpZnkgbnNfZHJhd19mcmluZ2VfYml0bWFwICovCiAgIDAsIC8q IGRlc3Ryb3lfZnJpbmdlX2JpdG1hcCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3czMnRlcm0uYyBiL3Ny Yy93MzJ0ZXJtLmMKaW5kZXggOWRhMDg0NTgzNi4uZmMyODkzZjI1NCAxMDA2NDQKLS0tIGEvc3Jj L3czMnRlcm0uYworKysgYi9zcmMvdzMydGVybS5jCkBAIC0zMDQsMjAgKzMwNCwxNiBAQCB3MzJf cmVzdG9yZV9nbHlwaF9zdHJpbmdfY2xpcCAoc3RydWN0IGdseXBoX3N0cmluZyAqcykKICAgICB9 CiB9CiAKLXN0YXRpYyB2b2lkCi13MzJfZ2V0X3NjYWxlX2ZhY3RvcihzdHJ1Y3QgdzMyX2Rpc3Bs YXlfaW5mbyAqZHB5aW5mbywgaW50ICpzY2FsZV94LCBpbnQgKnNjYWxlX3kpCitzdGF0aWMgZG91 YmxlCit3MzJfZ2V0X3NjYWxlX2ZhY3RvcihzdHJ1Y3QgZnJhbWUgKmYpCiB7CisgIHN0cnVjdCB3 MzJfZGlzcGxheV9pbmZvICpkcHlpbmZvID0gRlJBTUVfRElTUExBWV9JTkZPIChmKTsKICAgY29u c3QgaW50IGJhc2VfcmVzID0gOTY7CiAKLSAgKnNjYWxlX3ggPSAqc2NhbGVfeSA9IDE7Ci0KLSAg aWYgKGRweWluZm8pCi0gICAgewotICAgICAgaWYgKGRweWluZm8tPnJlc3ggPiBiYXNlX3JlcykK LQkqc2NhbGVfeCA9IGZsb29yIChkcHlpbmZvLT5yZXN4IC8gYmFzZV9yZXMpOwotICAgICAgaWYg KGRweWluZm8tPnJlc3kgPiBiYXNlX3JlcykKLQkqc2NhbGVfeSA9IGZsb29yIChkcHlpbmZvLT5y ZXN5IC8gYmFzZV9yZXMpOwotICAgIH0KKyAgaWYgKGRweWluZm8gJiYgZHB5aW5mby0+cmVzeCA+ IGJhc2VfcmVzKQorICAgIHJldHVybiByb3VuZCAoZHB5aW5mby0+cmVzeCAvIGJhc2VfcmVzKTsK KyAgZWxzZQorICAgIHJldHVybiAxOwogfQogCiAvKgpAQCAtMzM0LDEyICszMzAsOCBAQCB3MzJf Z2V0X3NjYWxlX2ZhY3RvcihzdHJ1Y3QgdzMyX2Rpc3BsYXlfaW5mbyAqZHB5aW5mbywgaW50ICpz Y2FsZV94LCBpbnQgKnNjYWxlXwogc3RhdGljIHZvaWQKIHczMl9kcmF3X3VuZGVyd2F2ZSAoc3Ry dWN0IGdseXBoX3N0cmluZyAqcywgQ09MT1JSRUYgY29sb3IpCiB7Ci0gIHN0cnVjdCB3MzJfZGlz cGxheV9pbmZvICpkcHlpbmZvID0gRlJBTUVfRElTUExBWV9JTkZPIChzLT5mKTsKLQotICBpbnQg c2NhbGVfeCwgc2NhbGVfeTsKLSAgdzMyX2dldF9zY2FsZV9mYWN0b3IgKGRweWluZm8sICZzY2Fs ZV94LCAmc2NhbGVfeSk7Ci0KLSAgaW50IHdhdmVfaGVpZ2h0ID0gMyAqIHNjYWxlX3ksIHdhdmVf bGVuZ3RoID0gMiAqIHNjYWxlX3gsIHRoaWNrbmVzcyA9IHNjYWxlX3k7CisgIGRvdWJsZSBzY2Fs ZSA9IHczMl9nZXRfc2NhbGVfZmFjdG9yIChzLT5mKTsKKyAgaW50IHdhdmVfaGVpZ2h0ID0gMyAq IHNjYWxlLCB3YXZlX2xlbmd0aCA9IDIgKiBzY2FsZSwgdGhpY2tuZXNzID0gc2NhbGU7CiAgIGlu dCBkeCwgZHksIHgwLCB5MCwgd2lkdGgsIHgxLCB5MSwgeDIsIHkyLCBvZGQsIHhtYXg7CiAgIEVt YWNzX1JlY3RhbmdsZSB3YXZlX2NsaXAsIHN0cmluZ19jbGlwLCBmaW5hbF9jbGlwOwogICBSRUNU IHczMl9maW5hbF9jbGlwLCB3MzJfc3RyaW5nX2NsaXA7CkBAIC0zNDgsNyArMzQwLDcgQEAgdzMy X2RyYXdfdW5kZXJ3YXZlIChzdHJ1Y3QgZ2x5cGhfc3RyaW5nICpzLCBDT0xPUlJFRiBjb2xvcikK ICAgZHggPSB3YXZlX2xlbmd0aDsKICAgZHkgPSB3YXZlX2hlaWdodCAtIDE7CiAgIHgwID0gcy0+ eDsKLSAgeTAgPSBzLT55YmFzZSArIHdhdmVfaGVpZ2h0IC8gMiAtIHNjYWxlX3k7CisgIHkwID0g cy0+eWJhc2UgKyB3YXZlX2hlaWdodCAvIDIgLSBzY2FsZTsKICAgd2lkdGggPSBzLT53aWR0aDsK ICAgeG1heCA9IHgwICsgd2lkdGg7CiAKQEAgLTcxOTIsNiArNzE4NCw3IEBAIHczMl9tYWtlX3Jk YiAoY2hhciAqeHJtX29wdGlvbikKICAgZ3VpX2NsZWFyX3dpbmRvd19tb3VzZV9mYWNlLAogICBn dWlfZ2V0X2dseXBoX292ZXJoYW5ncywKICAgZ3VpX2ZpeF9vdmVybGFwcGluZ19hcmVhLAorICB3 MzJfZ2V0X3NjYWxlX2ZhY3RvciwKICAgdzMyX2RyYXdfZnJpbmdlX2JpdG1hcCwKICAgdzMyX2Rl ZmluZV9mcmluZ2VfYml0bWFwLAogICB3MzJfZGVzdHJveV9mcmluZ2VfYml0bWFwLApkaWZmIC0t Z2l0IGEvc3JjL3h0ZXJtLmMgYi9zcmMveHRlcm0uYwppbmRleCAwNDU1ODk1MzRmLi4xYTVjMzM5 ZmE3IDEwMDY0NAotLS0gYS9zcmMveHRlcm0uYworKysgYi9zcmMveHRlcm0uYwpAQCAtMzYxMSwy MSArMzYxMSwyMSBAQCB4X2RyYXdfc3RyZXRjaF9nbHlwaF9zdHJpbmcgKHN0cnVjdCBnbHlwaF9z dHJpbmcgKnMpCiAgIHMtPmJhY2tncm91bmRfZmlsbGVkX3AgPSB0cnVlOwogfQogCi1zdGF0aWMg dm9pZAoteF9nZXRfc2NhbGVfZmFjdG9yKERpc3BsYXkgKmRpc3AsIGludCAqc2NhbGVfeCwgaW50 ICpzY2FsZV95KQorc3RhdGljIGRvdWJsZQoreF9nZXRfc2NhbGVfZmFjdG9yKHN0cnVjdCBmcmFt ZSAqZikKIHsKKyNpZmRlZiBVU0VfR1RLCisgIHJldHVybiB4Z19nZXRfc2NhbGUgKGYpOworI2Vs c2UKKyAgRGlzcGxheSAqZGlzcCA9IEZSQU1FX1hfRElTUExBWSAoZik7CisgIHN0cnVjdCB4X2Rp c3BsYXlfaW5mbyAqZHB5aW5mbyA9IHhfZGlzcGxheV9pbmZvX2Zvcl9kaXNwbGF5IChkaXNwKTsK ICAgY29uc3QgaW50IGJhc2VfcmVzID0gOTY7Ci0gIHN0cnVjdCB4X2Rpc3BsYXlfaW5mbyAqIGRw eWluZm8gPSB4X2Rpc3BsYXlfaW5mb19mb3JfZGlzcGxheSAoZGlzcCk7Ci0KLSAgKnNjYWxlX3gg PSAqc2NhbGVfeSA9IDE7CiAKLSAgaWYgKGRweWluZm8pCi0gICAgewotICAgICAgaWYgKGRweWlu Zm8tPnJlc3ggPiBiYXNlX3JlcykKLQkqc2NhbGVfeCA9IGZsb29yIChkcHlpbmZvLT5yZXN4IC8g YmFzZV9yZXMpOwotICAgICAgaWYgKGRweWluZm8tPnJlc3kgPiBiYXNlX3JlcykKLQkqc2NhbGVf eSA9IGZsb29yIChkcHlpbmZvLT5yZXN5IC8gYmFzZV9yZXMpOwotICAgIH0KKyAgaWYgKGRweWlu Zm8gJiYgZHB5aW5mby0+cmVzeCA+IGJhc2VfcmVzKQorICAgIHJldHVybiByb3VuZCAoZHB5aW5m by0+cmVzeCAvIGJhc2VfcmVzKTsKKyAgZWxzZQorICAgIHJldHVybiAxOworI2VuZGlmIC8qIFVT RV9HVEsgKi8KIH0KIAogLyoKQEAgLTM2NDEsMjcgKzM2NDEsMjEgQEAgeF9nZXRfc2NhbGVfZmFj dG9yKERpc3BsYXkgKmRpc3AsIGludCAqc2NhbGVfeCwgaW50ICpzY2FsZV95KQogc3RhdGljIHZv aWQKIHhfZHJhd191bmRlcndhdmUgKHN0cnVjdCBnbHlwaF9zdHJpbmcgKnMpCiB7Ci0gIERpc3Bs YXkgKmRpc3BsYXkgPSBGUkFNRV9YX0RJU1BMQVkgKHMtPmYpOwotCiAgIC8qIEFkanVzdCBmb3Ig c2NhbGUvSGlEUEkuICAqLwotICBpbnQgc2NhbGVfeCwgc2NhbGVfeTsKLQotICB4X2dldF9zY2Fs ZV9mYWN0b3IgKGRpc3BsYXksICZzY2FsZV94LCAmc2NhbGVfeSk7Ci0KLSAgaW50IHdhdmVfaGVp Z2h0ID0gMyAqIHNjYWxlX3ksIHdhdmVfbGVuZ3RoID0gMiAqIHNjYWxlX3g7Ci0KKyAgZG91Ymxl IHNjYWxlID0geF9nZXRfc2NhbGVfZmFjdG9yIChzLT5mKTsKKyAgaW50IHdhdmVfaGVpZ2h0ID0g MyAqIHNjYWxlLCB3YXZlX2xlbmd0aCA9IDIgKiBzY2FsZTsKICNpZmRlZiBVU0VfQ0FJUk8KICAg eF9kcmF3X2hvcml6b250YWxfd2F2ZSAocy0+Ziwgcy0+Z2MsIHMtPngsIHMtPnliYXNlIC0gd2F2 ZV9oZWlnaHQgKyAzLAogCQkJICBzLT53aWR0aCwgd2F2ZV9oZWlnaHQsIHdhdmVfbGVuZ3RoKTsK ICNlbHNlICAvKiBub3QgVVNFX0NBSVJPICovCi0gIGludCBkeCwgZHksIHgwLCB5MCwgd2lkdGgs IHgxLCB5MSwgeDIsIHkyLCB4bWF4LCB0aGlja25lc3MgPSBzY2FsZV95OzsKKyAgaW50IGR4LCBk eSwgeDAsIHkwLCB3aWR0aCwgeDEsIHkxLCB4MiwgeTIsIHhtYXgsIHRoaWNrbmVzcyA9IHNjYWxl OwogICBib29sIG9kZDsKICAgWFJlY3RhbmdsZSB3YXZlX2NsaXAsIHN0cmluZ19jbGlwLCBmaW5h bF9jbGlwOwogCiAgIGR4ID0gd2F2ZV9sZW5ndGg7CiAgIGR5ID0gd2F2ZV9oZWlnaHQgLSAxOwog ICB4MCA9IHMtPng7Ci0gIHkwID0gcy0+eWJhc2UgKyB3YXZlX2hlaWdodCAvIDIgLSBzY2FsZV95 OworICB5MCA9IHMtPnliYXNlICsgd2F2ZV9oZWlnaHQgLyAyIC0gc2NhbGU7CiAgIHdpZHRoID0g cy0+d2lkdGg7CiAgIHhtYXggPSB4MCArIHdpZHRoOwogCkBAIC0xMDU1Nyw3ICsxMDU1MSw3IEBA IHhfc2V0X29mZnNldCAoc3RydWN0IGZyYW1lICpmLCByZWdpc3RlciBpbnQgeG9mZiwgcmVnaXN0 ZXIgaW50IHlvZmYsIGludCBjaGFuZ2VfCiB7CiAgIGludCBtb2RpZmllZF90b3AsIG1vZGlmaWVk X2xlZnQ7CiAjaWZkZWYgVVNFX0dUSwotICBpbnQgc2NhbGUgPSB4Z19nZXRfc2NhbGUgKGYpOwor ICBkb3VibGUgc2NhbGUgPSB4X2dldF9zY2FsZV9mYWN0b3IgKGYpOwogI2VuZGlmCiAKICAgaWYg KGNoYW5nZV9ncmF2aXR5ID4gMCkKQEAgLTEzMzU3LDYgKzEzMzUxLDcgQEAgeF9hY3RpdmF0ZV90 aW1lb3V0X2F0aW1lciAodm9pZCkKICAgICBndWlfY2xlYXJfd2luZG93X21vdXNlX2ZhY2UsCiAg ICAgZ3VpX2dldF9nbHlwaF9vdmVyaGFuZ3MsCiAgICAgZ3VpX2ZpeF9vdmVybGFwcGluZ19hcmVh LAorICAgIHhfZ2V0X3NjYWxlX2ZhY3RvciwKICAgICB4X2RyYXdfZnJpbmdlX2JpdG1hcCwKICNp ZmRlZiBVU0VfQ0FJUk8KICAgICB4X2NyX2RlZmluZV9mcmluZ2VfYml0bWFwLAotLSAKMi4yMC4x Cgo= --00000000000053f03305955acf7a-- From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 22 14:07:09 2019 Received: (at 37770) by debbugs.gnu.org; 22 Oct 2019 18:07:09 +0000 Received: from localhost ([127.0.0.1]:60446 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMyYm-0001nR-TY for submit@debbugs.gnu.org; Tue, 22 Oct 2019 14:07:09 -0400 Received: from mail-yw1-f68.google.com ([209.85.161.68]:42704) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iMyYk-0001n1-KF for 37770@debbugs.gnu.org; Tue, 22 Oct 2019 14:07:06 -0400 Received: by mail-yw1-f68.google.com with SMTP id d5so944026ywk.9 for <37770@debbugs.gnu.org>; Tue, 22 Oct 2019 11:07:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=F0d2YbeU2COcbnZbMUtKm2b58BkNUtG3sjQ3Qk7f48s=; b=EnvUiO/OwcOBRSj997lk8WlfLx6FWVgVEnGPxDBDDJUn3NCGds+YSaDMHiQ3TF3IZq pR8+3/liz2ASg1b/308lCR7a5gsO2Rjckdp98+2+8NM4Xn3v9En7hWYe3isLHAHaDav+ 3wwsjj2YVrSBQCN0raOJSWsxgO3kuPkey/Gi5sY1gIMgs+ttM83EtXTGM2zsdqKWNqFb qX/xEziLZYGiPlDdMQoPnO/gm6lyhFqESQ9e1PJG2sA7i81FnuiE5c1yoGOxxmP5aqdS CGehKvleBqsgGw70mqTcr6THO03eJeAqOYVmbmzMW+0qPWOWCSoCLWjnt8wjmjLYW11I aAsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=F0d2YbeU2COcbnZbMUtKm2b58BkNUtG3sjQ3Qk7f48s=; b=BMFtR/807Y2sAUC2DXhEA/k+435hfF6KspxVrkID8NQprviaVT0fW/Udvm/gW0TRrq KVpL2J9CfwTzJPttIQLZAXiBAUc4N21Tj/FAkj2TD4taYrFe0E+gi6JY85sZT7zIgOuM rltr4fOi8PwPFIWLRBQBHgDBVgJ4JAcdKp+zSyGcB+QhJoe7sYAZz3W8py7G08tN05sQ SpVjzKPIzPs0a7/qsBewYb77GScSW25oZb4lru2Ob/YEW1/vZCMnkUfLUsbi6AVwXetT j7xg3JjYI4Vkp6QWbkeb3GNMX4gpkYVy4sQTNQCud8dYB5swtZlbu4WnHx9iPTzwEJfp 1i1g== X-Gm-Message-State: APjAAAX8uZh4DbJq/KsIAryolVzJwhEWjmNEugEtELwiIdTzykL5qk4n DxeWTiXaZ1nr52y1BlQwv6BnFmemVp5FrH/cCq8= X-Google-Smtp-Source: APXvYqxDl4V30jfr1DK5ihXMTQk5cGYJ2nKViZzyVnhHqVdmqK4I3mETUmOoDTOChm0VX1rC8zuajs1UXxsn7pFq428= X-Received: by 2002:a81:254e:: with SMTP id l75mr3138466ywl.90.1571767620812; Tue, 22 Oct 2019 11:07:00 -0700 (PDT) MIME-Version: 1.0 References: <838spf61ew.fsf@gnu.org> In-Reply-To: From: Carlos Pita Date: Tue, 22 Oct 2019 15:06:49 -0300 Message-ID: Subject: Re: bug#37770: [PATCH] Expose scale factor through the redisplay interface To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37770 Cc: Robert Pluim , 37770@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) I've improved the code comment for the redisplay interface entry in: https://github.com/memeplex/emacs/commit/d3c66e6eea8a3b6f1a269bd968597a3bd8a3e811 (to generate the patch, add a .patch suffix to that url) The new comment states: /* Return the scale factor for the screen containing frame F. All geometries are reported by the backend using a scale that is approximately 96dpi x scale_factor. This scale may match physical resolution or not. */ Some thoughts: One possibility for the (maybe distant) future, is that this scale factor api won't be needed any more. Like nsterm does (I believe), all backends might expose a 1 x 96dpi interface so that the upper layers can work mostly or fully unaware of the device complexities. But at this moment the xterm backend goes to lengths in order to revert gtk auto-scaling and provide a "physical dpi" (well, not necessarily physical, since there is still randr in the middle) interface to the upper layers, thus losing the benefits of gtk auto-scaling, although with good reason since nowadays gtk is more of a hack to the x11 backend, sniffing the underlying x event loop as it is, than a proper backend on its own. Anyway, even if that's not the trend, exposing a higher scale factor to the upper layers still has the potential benefit of letting those layers decide how to better use the extra available resolution, instead of pretending they are drawing to a vintage screen. Whether this is worthwhile or not I don't know, given that font and image rendering are the parts most profited from this extra resolution, and that fact every modern toolkit already exploits. In any case, at this moment we still need the api because of the differences between backends. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 24 05:19:36 2019 Received: (at 37770) by debbugs.gnu.org; 24 Oct 2019 09:19:36 +0000 Received: from localhost ([127.0.0.1]:35342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iNZHM-0001Sr-DB for submit@debbugs.gnu.org; Thu, 24 Oct 2019 05:19:36 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:54401) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iNZHJ-0001Sd-Rl for 37770@debbugs.gnu.org; Thu, 24 Oct 2019 05:19:35 -0400 Received: by mail-wm1-f65.google.com with SMTP id g7so1929196wmk.4 for <37770@debbugs.gnu.org>; Thu, 24 Oct 2019 02:19:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:mail-copies-to:gmane-reply-to-list :date:in-reply-to:message-id:mime-version:content-transfer-encoding; bh=rZIGIXwsUb1DhJAsVcN3peAbsNniFvvCWbvZqmgSCWk=; b=McC77G27QilbKtzVkYPGhZXaX5oVZPChApEHBduFOneTppldQ55WmK8jK5iI5F5KLs gZu8FTn798oCukxBLd40B+XG0PuGqECgzlujmFXze5v5cXIyUip4O6VtVM3EjGiswo00 LECV3Utl/fh31Hl2TNC3UTDJ1ho+c6mmKsYnlLPoDDd8GrlpglCruf8Vg46sytkZZ4IL ltkSqLvEp/KdTj09srKt/Pr7C36CvrMTOS787eD1kMIndF0Ys958gn3WQugJCj+tEHNj Yj/Oyr9kLqXxa4TxiYCYskggbZcivDPvIKkQxZY/jr6JkiMwJOfX1rkjh+mNjHgLz2R6 rdTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:mail-copies-to :gmane-reply-to-list:date:in-reply-to:message-id:mime-version :content-transfer-encoding; bh=rZIGIXwsUb1DhJAsVcN3peAbsNniFvvCWbvZqmgSCWk=; b=RY14XbLudD5zXpwBbeaTz5c8Y6m/0euqoxjSZB7JXORpRCbMzhNf3I6aDNjZF1PcOf ANZtKY0jOa8qmbFahT1vIQHIcOoNGFH2lOi6S+CWaknHApNQxutRI7sDB/eVclQX1hq1 QrQ+XniaxZSYM7WNWOVA3Ti6HLluQqdX4Ponpjz2iqKtccJ2fG3njIbsbjqbHOWBB21f Cg/C0/mYQJQ+8CcO5/bGXtOwVb9hDPK+1CowEt8+YGxFqgdZlAWEqinaPx2XR3Xrvscb lkdI41isyoqy+YUnUjIrcMORRWSF2rtY8Gog7XbiIDykRJ+FxMrBC9l7WcpsIH5pBjiJ eFdg== X-Gm-Message-State: APjAAAV10snFHez7GYISKaYjGllr/661U2QK7KT6QTiXMmKWqv06VQx9 m/UIE66kWtNetTDKUN5EjiBzu5Sa X-Google-Smtp-Source: APXvYqzpRhDFiyfZ66UlXmACy+Kz8UKZ+VpKvN5qOrv8gtBptKyTznw1ieVZLW/sRTEfCDtB6aKnyg== X-Received: by 2002:a1c:7c13:: with SMTP id x19mr3934612wmc.80.1571908767476; Thu, 24 Oct 2019 02:19:27 -0700 (PDT) Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id y5sm1792237wmi.10.2019.10.24.02.19.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 02:19:26 -0700 (PDT) From: Robert Pluim To: Carlos Pita Subject: Re: bug#37770: [PATCH] Expose scale factor through the redisplay interface References: <838spf61ew.fsf@gnu.org> X-Debbugs-No-Ack: yes Mail-Copies-To: never Gmane-Reply-To-List: yes Date: Thu, 24 Oct 2019 11:19:24 +0200 In-Reply-To: (Carlos Pita's message of "Tue, 22 Oct 2019 15:06:49 -0300") Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37770 Cc: Eli Zaretskii , 37770@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Tue, 22 Oct 2019 15:06:49 -0300, Carlos Pita said: Carlos> I've improved the code comment for the redisplay interface entr= y in: Carlos> https://github.com/memeplex/emacs/commit/d3c66e6eea8a3b6f1a269b= d968597a3bd8a3e811 Carlos> (to generate the patch, add a .patch suffix to that url) Carlos> The new comment states: Carlos> /* Return the scale factor for the screen containing frame F. A= ll Carlos> geometries are reported by the backend using a scale that is Carlos> approximately 96dpi x scale_factor. This scale may match Carlos> physical resolution or not. */ Two spaces after '.'. Also: "This scale may not match the physical resoluti= on." Carlos> Some thoughts: Carlos> One possibility for the (maybe distant) future, is that this sc= ale Carlos> factor api won't be needed any more. Like nsterm does (I believ= e), all Carlos> backends might expose a 1 x 96dpi interface so that the upper l= ayers Carlos> can work mostly or fully unaware of the device complexities. Bu= t at Carlos> this moment the xterm backend goes to lengths in order to rever= t gtk Carlos> auto-scaling and provide a "physical dpi" (well, not necessarily Carlos> physical, since there is still randr in the middle) interface = to the Carlos> upper layers, thus losing the benefits of gtk auto-scaling, alt= hough Carlos> with good reason since nowadays gtk is more of a hack to the x11 Carlos> backend, sniffing the underlying x event loop as it is, than a = proper Carlos> backend on its own. If emacs used only GTK to draw things to the screen, then indeed there would be no need for those conversions, as GTK would handle them. is attempting to implement a 'pure' GTK backend. I have no idea how close it is to being ready to merge. Carlos> Anyway, even if that's not the trend, exposing a higher scale f= actor Carlos> to the upper layers still has the potential benefit of letting = those Carlos> layers decide how to better use the extra available resolution, Carlos> instead of pretending they are drawing to a vintage screen. Whe= ther Carlos> this is worthwhile or not I don't know, given that font and ima= ge Carlos> rendering are the parts most profited from this extra resolutio= n, and Carlos> that fact every modern toolkit already exploits. In any case, a= t this Carlos> moment we still need the api because of the differences between Carlos> backends. You=CA=BCre right about that (although on macOS we seem to get by OK without it). Robert From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 24 10:34:25 2019 Received: (at 37770-close) by debbugs.gnu.org; 24 Oct 2019 14:34:25 +0000 Received: from localhost ([127.0.0.1]:36736 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iNeBz-00078o-Bc for submit@debbugs.gnu.org; Thu, 24 Oct 2019 10:34:24 -0400 Received: from mail-yw1-f65.google.com ([209.85.161.65]:42452) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iNeBv-00078a-Rm for 37770-close@debbugs.gnu.org; Thu, 24 Oct 2019 10:34:21 -0400 Received: by mail-yw1-f65.google.com with SMTP id d5so3085442ywk.9 for <37770-close@debbugs.gnu.org>; Thu, 24 Oct 2019 07:34:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=a440LBQFZx1OgljU8dpIHel1MBNEQI1zkPTYyluvpeE=; b=BfRzTLi0+t41l1oqCN6lZWBhh+6ibB1q3b3ZheykreEZvmy6q0qv1BTmY9gp4Xaw7P JrDVAuZl2/DrrU0+Z/OP3k6a08QnZyV4HuU2nphYe8rDPnMv8Uwr5O/z+2sP7zJpUYab WO9Ogd52455blS9rgC8HZS7skbA/v8ciQJzQx/GrMk7FbbecKYXZlaPtWecrGAmUgVRj xzlUq3pLkeNMhvqHrcXxJY5J6D+RbT290s4ThlPJZRmpIIolZmTd7A63866/Go0yN0KA 7uMDn67JDaedCMixbay9kPuHWBai6nv3TjBkp1f6md01U35DkmHqCU6Sged6KhURce4X 8F+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=a440LBQFZx1OgljU8dpIHel1MBNEQI1zkPTYyluvpeE=; b=I6zjsjVFNWUVS1J/JKkXRZb8EW8e80qMjo3YXHRu3NlSarWVGXPX5FAyjT2qkLkZD+ /pj//HokMRN9jEgisMyYrx5xsON0tOOs9f1u7STUpkomQON6Vf26AUq0jD1tgd2GfZjS 7ffqHuJ3saFDCX7mirX+u6fPE7L27n1es5eveEBCdvebTnUcohLsJDlMGfoIaE8AzFkd byKqyFU1dnXQARLPzLGZwepfSzT3j20ItofefYd18v6BSMfz8THJzwsUD2vG4QKG5TKW FVNhB1RtmiyQsrCzwCMizaSL3nhet48Pmf2jhGWywbOu+Kg4eI+OFr1Ql9eHQwWydPfm t+Dg== X-Gm-Message-State: APjAAAXegqvafbndLXm5CkjIdX8ffrymZ9YMtl4fooXDQn3hGrFW8VdP INcewMYbMXUCahvhTaWnbTbLXh/8y+zWN1vqclC7G6G0 X-Google-Smtp-Source: APXvYqyVZOlzY9QCHNU27wuCRCEqoe19xrSunQUuF9z9GKPrkeB3WjL6GQkIaIPyiqggGimAnRny8DWq8yU3N6eR2BY= X-Received: by 2002:a0d:d281:: with SMTP id u123mr7168264ywd.297.1571927653984; Thu, 24 Oct 2019 07:34:13 -0700 (PDT) MIME-Version: 1.0 References: <838spf61ew.fsf@gnu.org> In-Reply-To: From: Carlos Pita Date: Thu, 24 Oct 2019 11:34:01 -0300 Message-ID: Subject: Re: bug#37770: [PATCH] Expose scale factor through the redisplay interface To: Robert Pluim Content-Type: multipart/alternative; boundary="0000000000006db3b90595a8edc4" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37770-close Cc: Eli Zaretskii , 37770-close@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000006db3b90595a8edc4 Content-Type: text/plain; charset="UTF-8" > > > If emacs used only GTK to draw things to the screen, then indeed there > would be no need for those conversions, as GTK would handle them. > Exactly. > > is attempting to implement a 'pure' > GTK backend. I have no idea how close it is to being ready to merge. > That's great. The way towards Wayland also. Sounds like a LOT of work, though. I've been working in an alternative to this patch and the one that fixes the cairo fringe. My goal is to provide a gtk+cairo solution that listen to gtk scale changes and scales everything (including fonts) accordingly. This would enable an adaptive multi-monitor multi-dpi emacs using the old scale-up-gtk then scale-down-xrandr trick, a nice implementation of which, including GUI and everything, is going to be part of the next Ubuntu LTS with high probability. I'm having a really hard time making the font engine abandon it's idea of pixel-sized fonts that is very entrenched in its caching mechanism once everything was first rendered at some initial dpi. The only way I found to circumvent this is to report a fixed 96dpi resolution and then scale all cairo rendering (fonts, images, bitmaps) using the platform scaling factor. This mostly works but I'm still unable to get rid of all previously opened fonts, even after clearing all ftcrfont caches, so I get a mix of different sized fonts. It will probably take me some time to figure out what's happening. So I'm closing this issue and will open a new one once I have an integral cairo+gtk solution working in a way that mostly resembles the nsterm backend. Best regards -- Carlos > --0000000000006db3b90595a8edc4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

If emacs used only GTK to draw things to the screen, then indeed there
would be no need for those conversions, as GTK would handle them.

Exactly.

<https://github.com/masm11/emacs> is = attempting to implement a 'pure'
GTK backend. I have no idea how close it is to being ready to merge.

That= 9;s great. The way towards Wayland also. Sounds like a LOT=C2=A0of work, th= ough.

I've been work= ing in an alternative to this patch and the one that fixes the cairo fringe= . My goal is to provide a gtk+cairo solution that listen to gtk scale chang= es and scales everything (including fonts) accordingly. This would enable a= n adaptive multi-monitor multi-dpi emacs using the old scale-up-gtk then sc= ale-down-xrandr trick, a nice implementation of which, including GUI and ev= erything,=C2=A0 is going to be part of the next Ubuntu LTS with high probab= ility.

I'm having a = really hard time making the font engine abandon it's idea of pixel-size= d fonts that is very entrenched in its caching mechanism once everything wa= s first rendered at some initial dpi. The only way I found to circumvent th= is is to report a fixed 96dpi resolution and then scale all cairo rendering= (fonts, images, bitmaps) using the platform scaling factor. This mostly wo= rks but I'm still unable to get rid of all previously opened fonts, eve= n after clearing all ftcrfont caches, so I get a mix of different sized fon= ts. It will probably take me some time to figure out what's happening.<= /div>

So I'm closing this = issue and will open a new one once I have an integral cairo+gtk solution wo= rking in a way that mostly resembles the nsterm backend.

Best regards
--
Carlos



--0000000000006db3b90595a8edc4-- From unknown Mon Aug 18 18:00:13 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, 22 Nov 2019 12:24:08 +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