From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 30 03:57:03 2020 Received: (at submit) by debbugs.gnu.org; 30 Dec 2020 08:57:03 +0000 Received: from localhost ([127.0.0.1]:40867 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kuXHz-0007Vl-7x for submit@debbugs.gnu.org; Wed, 30 Dec 2020 03:57:03 -0500 Received: from lists.gnu.org ([209.51.188.17]:45700) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kuXHx-0007VN-92 for submit@debbugs.gnu.org; Wed, 30 Dec 2020 03:57:02 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49814) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kuXHw-0004Yh-EQ for bug-gnu-emacs@gnu.org; Wed, 30 Dec 2020 03:57:00 -0500 Received: from mail-pg1-f177.google.com ([209.85.215.177]:40997) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kuXHu-00029s-Is for bug-gnu-emacs@gnu.org; Wed, 30 Dec 2020 03:57:00 -0500 Received: by mail-pg1-f177.google.com with SMTP id i7so11019216pgc.8 for ; Wed, 30 Dec 2020 00:56:55 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:date:message-id:subject:to; bh=Od0avQ8uRpdFqk9fD6PMGCnLlHRhWFtGpgu/BXIokRY=; b=rcapdy60kfee9zX1FxZk8noVmJOpdzeJDr4sLuE30nzm0Wan/xz4L4jFNHKPCxJLcf zVkKwVndiD/jMzax60G3xs8bpkMWZnjPARhD4qPVYX7Y0BQtEUtcKmO/+DXZFLuU5Fvp 9Wzvom1vu3UnnZzNCyEaRf2ofNMVgCAK8AnD68dbBboiKugTLUqOyZDzj0Zd7dXcDgy6 pjmyW4jpjFdRoTZgayFaKfo3YmFOApPaSLm+5XmDb98qIBzEFjUtMQVRgJzjkXzsvtqA l6cfJuCyLApEFEzIQ/l35PpZdRCVVH3y81skDA5AJ0nSvQN6ZM5QM0Tum1n9K5238mA7 R8Yg== X-Gm-Message-State: AOAM532o+Bg5s2pfsVDr7feu9fANFFRFVfPFgwEGZql7SOE0p82Aa+Rs vZlUTIBx11BbYZTuMM8ZNjAZU6D8a9urUXX7tgPgaBOqKlQ= X-Google-Smtp-Source: ABdhPJxHVWbi7QVsmsf7423bPYfTzzypvjOTnyUDQJvOhZcOkVZiZlyhi/B2GAK7mHeNLUp0Rf0p/s20F3Mlmr8yTNs= X-Received: by 2002:a63:e40e:: with SMTP id a14mr51558842pgi.345.1609318614096; Wed, 30 Dec 2020 00:56:54 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 30 Dec 2020 02:56:53 -0600 From: Stefan Kangas MIME-Version: 1.0 Date: Wed, 30 Dec 2020 02:56:53 -0600 Message-ID: Subject: [PATCH] Factor out new function for readability in chartab.c To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary="00000000000052fc4205b7aab06b" Received-SPF: pass client-ip=209.85.215.177; envelope-from=stefankangas@gmail.com; helo=mail-pg1-f177.google.com X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.8 (/) 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: -1.8 (-) --00000000000052fc4205b7aab06b Content-Type: text/plain; charset="UTF-8" Severity: wishlist While poking around, I found an opportunity for refactoring in charctab.c. I find it makes these functions significantly easier to read and understand. Please see the attached patch. --00000000000052fc4205b7aab06b Content-Type: text/x-diff; charset="US-ASCII"; name="0001-Factor-out-new-function-for-readability.patch" Content-Disposition: attachment; filename="0001-Factor-out-new-function-for-readability.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f95d0283fa49b1f9_0.1 RnJvbSAyMzY1MDExODkyZTQ1ODdjZmRkM2MzZjBkMDUwMWM0YWZlZjJjNDQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5AbWFyeGlzdC5zZT4KRGF0 ZTogV2VkLCAzMCBEZWMgMjAyMCAxMDoxNDoyMCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEZhY3Rv ciBvdXQgbmV3IGZ1bmN0aW9uIGZvciByZWFkYWJpbGl0eQoKKiBzcmMvY2hhcnRhYi5jIChzdWJf Y2hhcl90YWJsZV9yZWZfYW5kX3JhbmdlKTogTmV3IGZ1bmN0aW9uLi4uCihzdWJfY2hhcl90YWJs ZV9yZWZfYW5kX3JhbmdlLCBjaGFyX3RhYmxlX3JlZl9hbmRfcmFuZ2UpOgouLi5mYWN0b3JlZCBv dXQgZnJvbSBoZXJlLgotLS0KIHNyYy9jaGFydGFiLmMgfCAxMDQgKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0NCBpbnNl cnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvY2hhcnRhYi5jIGIv c3JjL2NoYXJ0YWIuYwppbmRleCAzMzFlODU5NWViLi45MzM4NTNlZDE4IDEwMDY0NAotLS0gYS9z cmMvY2hhcnRhYi5jCisrKyBiL3NyYy9jaGFydGFiLmMKQEAgLTYyLDYgKzYyLDkgQEAgI2RlZmlu ZSBDSEFSVEFCX0lEWChjLCBkZXB0aCwgbWluX2NoYXIpCQlcCiAKIHN0YXRpYyBMaXNwX09iamVj dCB1bmlwcm9wX3RhYmxlX3VuY29tcHJlc3MgKExpc3BfT2JqZWN0LCBpbnQpOwogc3RhdGljIHVu aXByb3BfZGVjb2Rlcl90IHVuaXByb3BfZ2V0X2RlY29kZXIgKExpc3BfT2JqZWN0KTsKK3N0YXRp YyBMaXNwX09iamVjdAorc3ViX2NoYXJfdGFibGVfcmVmX2FuZF9yYW5nZSAoTGlzcF9PYmplY3Qs IGludCwgaW50ICosIGludCAqLAorCQkJICAgICAgTGlzcF9PYmplY3QsIGJvb2wpOwogCiAvKiAx IGlmZiBUQUJMRSBpcyBhIHVuaXByb3AgdGFibGUuICAqLwogI2RlZmluZSBVTklQUk9QX1RBQkxF X1AoVEFCTEUpCQkJCQlcCkBAIC0yNDcsNiArMjUwLDIzIEBAIGNoYXJfdGFibGVfcmVmIChMaXNw X09iamVjdCB0YWJsZSwgaW50IGMpCiAgIHJldHVybiB2YWw7CiB9CiAKK3N0YXRpYyBMaXNwX09i amVjdAorY2hhcl90YWJsZV9yZWZfc2ltcGxlIChMaXNwX09iamVjdCB0YWJsZSwgaW50IGlkeCwg aW50IGMsIGludCAqZnJvbSwgaW50ICp0bywKKwkJICAgICAgIExpc3BfT2JqZWN0IGRlZmFsdCwg Ym9vbCBpc191bmlwcm9wLCBib29sIGlzX3N1YnRhYmxlKQoreworICBMaXNwX09iamVjdCB2YWwg PSBpc19zdWJ0YWJsZSA/CisgICAgWFNVQl9DSEFSX1RBQkxFICh0YWJsZSktPmNvbnRlbnRzW2lk eF06CisgICAgWENIQVJfVEFCTEUgKHRhYmxlKS0+Y29udGVudHNbaWR4XTsKKyAgaWYgKGlzX3Vu aXByb3AgJiYgVU5JUFJPUF9DT01QUkVTU0VEX0ZPUk1fUCAodmFsKSkKKyAgICB2YWwgPSB1bmlw cm9wX3RhYmxlX3VuY29tcHJlc3MgKHRhYmxlLCBpZHgpOworICBpZiAoU1VCX0NIQVJfVEFCTEVf UCAodmFsKSkKKyAgICB2YWwgPSBzdWJfY2hhcl90YWJsZV9yZWZfYW5kX3JhbmdlICh2YWwsIGMs IGZyb20sIHRvLAorCQkJCQlkZWZhbHQsIGlzX3VuaXByb3ApOworICBlbHNlIGlmIChOSUxQICh2 YWwpKQorICAgIHZhbCA9IGRlZmFsdDsKKyAgcmV0dXJuIHZhbDsKK30KKwogc3RhdGljIExpc3Bf T2JqZWN0CiBzdWJfY2hhcl90YWJsZV9yZWZfYW5kX3JhbmdlIChMaXNwX09iamVjdCB0YWJsZSwg aW50IGMsIGludCAqZnJvbSwgaW50ICp0bywKIAkJCSAgICAgIExpc3BfT2JqZWN0IGRlZmFsdCwg Ym9vbCBpc191bmlwcm9wKQpAQCAtMjU0LDMxICsyNzQsMTggQEAgc3ViX2NoYXJfdGFibGVfcmVm X2FuZF9yYW5nZSAoTGlzcF9PYmplY3QgdGFibGUsIGludCBjLCBpbnQgKmZyb20sIGludCAqdG8s CiAgIHN0cnVjdCBMaXNwX1N1Yl9DaGFyX1RhYmxlICp0YmwgPSBYU1VCX0NIQVJfVEFCTEUgKHRh YmxlKTsKICAgaW50IGRlcHRoID0gdGJsLT5kZXB0aCwgbWluX2NoYXIgPSB0YmwtPm1pbl9jaGFy OwogICBpbnQgY2hhcnRhYl9pZHggPSBDSEFSVEFCX0lEWCAoYywgZGVwdGgsIG1pbl9jaGFyKSwg aWR4OwotICBMaXNwX09iamVjdCB2YWw7Ci0KLSAgdmFsID0gdGJsLT5jb250ZW50c1tjaGFydGFi X2lkeF07Ci0gIGlmIChpc191bmlwcm9wICYmIFVOSVBST1BfQ09NUFJFU1NFRF9GT1JNX1AgKHZh bCkpCi0gICAgdmFsID0gdW5pcHJvcF90YWJsZV91bmNvbXByZXNzICh0YWJsZSwgY2hhcnRhYl9p ZHgpOwotICBpZiAoU1VCX0NIQVJfVEFCTEVfUCAodmFsKSkKLSAgICB2YWwgPSBzdWJfY2hhcl90 YWJsZV9yZWZfYW5kX3JhbmdlICh2YWwsIGMsIGZyb20sIHRvLCBkZWZhbHQsIGlzX3VuaXByb3Ap OwotICBlbHNlIGlmIChOSUxQICh2YWwpKQotICAgIHZhbCA9IGRlZmFsdDsKKyAgTGlzcF9PYmpl Y3QgdmFsCisgICAgPSBjaGFyX3RhYmxlX3JlZl9zaW1wbGUgKHRhYmxlLCBjaGFydGFiX2lkeCwg YywgZnJvbSwgdG8sCisJCQkgICAgIGRlZmFsdCwgaXNfdW5pcHJvcCwgdHJ1ZSk7CiAKICAgaWR4 ID0gY2hhcnRhYl9pZHg7CiAgIHdoaWxlIChpZHggPiAwICYmICpmcm9tIDwgbWluX2NoYXIgKyBp ZHggKiBjaGFydGFiX2NoYXJzW2RlcHRoXSkKICAgICB7Ci0gICAgICBMaXNwX09iamVjdCB0aGlz X3ZhbDsKLQogICAgICAgYyA9IG1pbl9jaGFyICsgaWR4ICogY2hhcnRhYl9jaGFyc1tkZXB0aF0g LSAxOwogICAgICAgaWR4LS07Ci0gICAgICB0aGlzX3ZhbCA9IHRibC0+Y29udGVudHNbaWR4XTsK LSAgICAgIGlmIChpc191bmlwcm9wICYmIFVOSVBST1BfQ09NUFJFU1NFRF9GT1JNX1AgKHRoaXNf dmFsKSkKLQl0aGlzX3ZhbCA9IHVuaXByb3BfdGFibGVfdW5jb21wcmVzcyAodGFibGUsIGlkeCk7 Ci0gICAgICBpZiAoU1VCX0NIQVJfVEFCTEVfUCAodGhpc192YWwpKQotCXRoaXNfdmFsID0gc3Vi X2NoYXJfdGFibGVfcmVmX2FuZF9yYW5nZSAodGhpc192YWwsIGMsIGZyb20sIHRvLCBkZWZhbHQs Ci0JCQkJCQkgaXNfdW5pcHJvcCk7Ci0gICAgICBlbHNlIGlmIChOSUxQICh0aGlzX3ZhbCkpCi0J dGhpc192YWwgPSBkZWZhbHQ7CisgICAgICBMaXNwX09iamVjdCB0aGlzX3ZhbAorCT0gY2hhcl90 YWJsZV9yZWZfc2ltcGxlICh0YWJsZSwgaWR4LCBjLCBmcm9tLCB0bywKKwkJCQkgZGVmYWx0LCBp c191bmlwcm9wLCB0cnVlKTsKIAogICAgICAgaWYgKCEgRVEgKHRoaXNfdmFsLCB2YWwpKQogCXsK QEAgLTI5MCwxNyArMjk3LDExIEBAIHN1Yl9jaGFyX3RhYmxlX3JlZl9hbmRfcmFuZ2UgKExpc3Bf T2JqZWN0IHRhYmxlLCBpbnQgYywgaW50ICpmcm9tLCBpbnQgKnRvLAogCSAgPCBjaGFydGFiX2No YXJzW2RlcHRoIC0gMV0pCiAJICYmIChjICs9IG1pbl9jaGFyKSA8PSAqdG8pCiAgICAgewotICAg ICAgTGlzcF9PYmplY3QgdGhpc192YWw7Ci0KICAgICAgIGNoYXJ0YWJfaWR4Kys7Ci0gICAgICB0 aGlzX3ZhbCA9IHRibC0+Y29udGVudHNbY2hhcnRhYl9pZHhdOwotICAgICAgaWYgKGlzX3VuaXBy b3AgJiYgVU5JUFJPUF9DT01QUkVTU0VEX0ZPUk1fUCAodGhpc192YWwpKQotCXRoaXNfdmFsID0g dW5pcHJvcF90YWJsZV91bmNvbXByZXNzICh0YWJsZSwgY2hhcnRhYl9pZHgpOwotICAgICAgaWYg KFNVQl9DSEFSX1RBQkxFX1AgKHRoaXNfdmFsKSkKLQl0aGlzX3ZhbCA9IHN1Yl9jaGFyX3RhYmxl X3JlZl9hbmRfcmFuZ2UgKHRoaXNfdmFsLCBjLCBmcm9tLCB0bywgZGVmYWx0LAotCQkJCQkJIGlz X3VuaXByb3ApOwotICAgICAgZWxzZSBpZiAoTklMUCAodGhpc192YWwpKQotCXRoaXNfdmFsID0g ZGVmYWx0OworICAgICAgTGlzcF9PYmplY3QgdGhpc192YWwKKwk9IGNoYXJfdGFibGVfcmVmX3Np bXBsZSAodGFibGUsIGNoYXJ0YWJfaWR4LCBjLCBmcm9tLCB0bywKKwkJCQkgZGVmYWx0LCBpc191 bmlwcm9wLCB0cnVlKTsKKwogICAgICAgaWYgKCEgRVEgKHRoaXNfdmFsLCB2YWwpKQogCXsKIAkg ICp0byA9IGMgLSAxOwpAQCAtMzIxLDM3ICszMjIsMjYgQEAgc3ViX2NoYXJfdGFibGVfcmVmX2Fu ZF9yYW5nZSAoTGlzcF9PYmplY3QgdGFibGUsIGludCBjLCBpbnQgKmZyb20sIGludCAqdG8sCiBj aGFyX3RhYmxlX3JlZl9hbmRfcmFuZ2UgKExpc3BfT2JqZWN0IHRhYmxlLCBpbnQgYywgaW50ICpm cm9tLCBpbnQgKnRvKQogewogICBzdHJ1Y3QgTGlzcF9DaGFyX1RhYmxlICp0YmwgPSBYQ0hBUl9U QUJMRSAodGFibGUpOwotICBpbnQgY2hhcnRhYl9pZHggPSBDSEFSVEFCX0lEWCAoYywgMCwgMCks IGlkeDsKLSAgTGlzcF9PYmplY3QgdmFsOworICBpbnQgY2hhcnRhYl9pZHggPSBDSEFSVEFCX0lE WCAoYywgMCwgMCk7CiAgIGJvb2wgaXNfdW5pcHJvcCA9IFVOSVBST1BfVEFCTEVfUCAodGFibGUp OwogCi0gIHZhbCA9IHRibC0+Y29udGVudHNbY2hhcnRhYl9pZHhdOwogICBpZiAoKmZyb20gPCAw KQogICAgICpmcm9tID0gMDsKICAgaWYgKCp0byA8IDApCiAgICAgKnRvID0gTUFYX0NIQVI7Ci0g IGlmIChpc191bmlwcm9wICYmIFVOSVBST1BfQ09NUFJFU1NFRF9GT1JNX1AgKHZhbCkpCi0gICAg dmFsID0gdW5pcHJvcF90YWJsZV91bmNvbXByZXNzICh0YWJsZSwgY2hhcnRhYl9pZHgpOwotICBp ZiAoU1VCX0NIQVJfVEFCTEVfUCAodmFsKSkKLSAgICB2YWwgPSBzdWJfY2hhcl90YWJsZV9yZWZf YW5kX3JhbmdlICh2YWwsIGMsIGZyb20sIHRvLCB0YmwtPmRlZmFsdCwKLQkJCQkJaXNfdW5pcHJv cCk7Ci0gIGVsc2UgaWYgKE5JTFAgKHZhbCkpCi0gICAgdmFsID0gdGJsLT5kZWZhbHQ7Ci0gIGlk eCA9IGNoYXJ0YWJfaWR4OworCisgIExpc3BfT2JqZWN0IHZhbAorICAgID0gY2hhcl90YWJsZV9y ZWZfc2ltcGxlICh0YWJsZSwgY2hhcnRhYl9pZHgsIGMsIGZyb20sIHRvLAorCQkJICAgICB0Ymwt PmRlZmFsdCwgaXNfdW5pcHJvcCwgZmFsc2UpOworCisgIGludCBpZHggPSBjaGFydGFiX2lkeDsK ICAgd2hpbGUgKCpmcm9tIDwgaWR4ICogY2hhcnRhYl9jaGFyc1swXSkKICAgICB7Ci0gICAgICBM aXNwX09iamVjdCB0aGlzX3ZhbDsKLQogICAgICAgYyA9IGlkeCAqIGNoYXJ0YWJfY2hhcnNbMF0g LSAxOwogICAgICAgaWR4LS07Ci0gICAgICB0aGlzX3ZhbCA9IHRibC0+Y29udGVudHNbaWR4XTsK LSAgICAgIGlmIChpc191bmlwcm9wICYmIFVOSVBST1BfQ09NUFJFU1NFRF9GT1JNX1AgKHRoaXNf dmFsKSkKLQl0aGlzX3ZhbCA9IHVuaXByb3BfdGFibGVfdW5jb21wcmVzcyAodGFibGUsIGlkeCk7 Ci0gICAgICBpZiAoU1VCX0NIQVJfVEFCTEVfUCAodGhpc192YWwpKQotCXRoaXNfdmFsID0gc3Vi X2NoYXJfdGFibGVfcmVmX2FuZF9yYW5nZSAodGhpc192YWwsIGMsIGZyb20sIHRvLAotCQkJCQkJ IHRibC0+ZGVmYWx0LCBpc191bmlwcm9wKTsKLSAgICAgIGVsc2UgaWYgKE5JTFAgKHRoaXNfdmFs KSkKLQl0aGlzX3ZhbCA9IHRibC0+ZGVmYWx0OworICAgICAgTGlzcF9PYmplY3QgdGhpc192YWwK Kwk9IGNoYXJfdGFibGVfcmVmX3NpbXBsZSAodGFibGUsIGlkeCwgYywgZnJvbSwgdG8sCisJCQkJ IHRibC0+ZGVmYWx0LCBpc191bmlwcm9wLCBmYWxzZSk7CiAKICAgICAgIGlmICghIEVRICh0aGlz X3ZhbCwgdmFsKSkKIAl7CkBAIC0zNjEsMTggKzM1MSwxMiBAQCBjaGFyX3RhYmxlX3JlZl9hbmRf cmFuZ2UgKExpc3BfT2JqZWN0IHRhYmxlLCBpbnQgYywgaW50ICpmcm9tLCBpbnQgKnRvKQogICAg IH0KICAgd2hpbGUgKCp0byA+PSAoY2hhcnRhYl9pZHggKyAxKSAqIGNoYXJ0YWJfY2hhcnNbMF0p CiAgICAgewotICAgICAgTGlzcF9PYmplY3QgdGhpc192YWw7Ci0KICAgICAgIGNoYXJ0YWJfaWR4 Kys7CiAgICAgICBjID0gY2hhcnRhYl9pZHggKiBjaGFydGFiX2NoYXJzWzBdOwotICAgICAgdGhp c192YWwgPSB0YmwtPmNvbnRlbnRzW2NoYXJ0YWJfaWR4XTsKLSAgICAgIGlmIChpc191bmlwcm9w ICYmIFVOSVBST1BfQ09NUFJFU1NFRF9GT1JNX1AgKHRoaXNfdmFsKSkKLQl0aGlzX3ZhbCA9IHVu aXByb3BfdGFibGVfdW5jb21wcmVzcyAodGFibGUsIGNoYXJ0YWJfaWR4KTsKLSAgICAgIGlmIChT VUJfQ0hBUl9UQUJMRV9QICh0aGlzX3ZhbCkpCi0JdGhpc192YWwgPSBzdWJfY2hhcl90YWJsZV9y ZWZfYW5kX3JhbmdlICh0aGlzX3ZhbCwgYywgZnJvbSwgdG8sCi0JCQkJCQkgdGJsLT5kZWZhbHQs IGlzX3VuaXByb3ApOwotICAgICAgZWxzZSBpZiAoTklMUCAodGhpc192YWwpKQotCXRoaXNfdmFs ID0gdGJsLT5kZWZhbHQ7CisgICAgICBMaXNwX09iamVjdCB0aGlzX3ZhbAorCT0gY2hhcl90YWJs ZV9yZWZfc2ltcGxlICh0YWJsZSwgY2hhcnRhYl9pZHgsIGMsIGZyb20sIHRvLAorCQkJCSB0Ymwt PmRlZmFsdCwgaXNfdW5pcHJvcCwgZmFsc2UpOworCiAgICAgICBpZiAoISBFUSAodGhpc192YWws IHZhbCkpCiAJewogCSAgKnRvID0gYyAtIDE7Ci0tIAoyLjI5LjIKCg== --00000000000052fc4205b7aab06b-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 30 15:15:29 2020 Received: (at 45550) by debbugs.gnu.org; 30 Dec 2020 20:15:29 +0000 Received: from localhost ([127.0.0.1]:51120 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kuhsW-0005IG-Uk for submit@debbugs.gnu.org; Wed, 30 Dec 2020 15:15:29 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56602) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kuhsV-0005I4-1w for 45550@debbugs.gnu.org; Wed, 30 Dec 2020 15:15:27 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33855) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kuhsP-0001sD-Kw; Wed, 30 Dec 2020 15:15:21 -0500 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3122 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kuhsN-0005vs-VD; Wed, 30 Dec 2020 15:15:20 -0500 Date: Wed, 30 Dec 2020 22:15:14 +0200 Message-Id: <83k0szhwz1.fsf@gnu.org> From: Eli Zaretskii To: Stefan Kangas In-Reply-To: (message from Stefan Kangas on Wed, 30 Dec 2020 02:56:53 -0600) Subject: Re: bug#45550: [PATCH] Factor out new function for readability in chartab.c References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 45550 Cc: 45550@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: Stefan Kangas > Date: Wed, 30 Dec 2020 02:56:53 -0600 > > While poking around, I found an opportunity for refactoring in > charctab.c. I find it makes these functions significantly easier to > read and understand. > > Please see the attached patch. Thanks, I have a couple of comments: > +static Lisp_Object > +sub_char_table_ref_and_range (Lisp_Object, int, int *, int *, > + Lisp_Object, bool); There should be no need to declare a static function which is defined before it is used. > +static Lisp_Object > +char_table_ref_simple (Lisp_Object table, int idx, int c, int *from, int *to, > + Lisp_Object defalt, bool is_uniprop, bool is_subtable) > +{ > + Lisp_Object val = is_subtable ? > + XSUB_CHAR_TABLE (table)->contents[idx]: > + XCHAR_TABLE (table)->contents[idx]; > + if (is_uniprop && UNIPROP_COMPRESSED_FORM_P (val)) > + val = uniprop_table_uncompress (table, idx); > + if (SUB_CHAR_TABLE_P (val)) > + val = sub_char_table_ref_and_range (val, c, from, to, > + defalt, is_uniprop); > + else if (NILP (val)) > + val = defalt; > + return val; > +} > + Please make this a macro, not a function. The code you are factoring out is called in the innermost loops of the display engine, in bidi.c, so it must be as fast as possible, even in an unoptimized build, where static functions aren't inlined. From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 30 16:16:13 2020 Received: (at 45550) by debbugs.gnu.org; 30 Dec 2020 21:16:13 +0000 Received: from localhost ([127.0.0.1]:51210 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kuipJ-0007Q5-J1 for submit@debbugs.gnu.org; Wed, 30 Dec 2020 16:16:13 -0500 Received: from mail-pf1-f176.google.com ([209.85.210.176]:34225) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kuipH-0007Ps-M9 for 45550@debbugs.gnu.org; Wed, 30 Dec 2020 16:16:11 -0500 Received: by mail-pf1-f176.google.com with SMTP id w6so10299678pfu.1 for <45550@debbugs.gnu.org>; Wed, 30 Dec 2020 13:16:11 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=1wdqnPFqvb9cQ6n/r+dKBBN/4M2r23/Hn8MuJpclNDc=; b=Un5CKm06H7x9+4JR0RmmTnZSzEEiajHF4p1GLOusDahUttHbgxBlh91psfJNeSfpHf DtbzJNOvKDhLYcbwBfxkiT8XkgFFzxfsEf4jZ3M0iDgMUqaEavr0aXyBBUyoT1DgbFlD WvaVdlZPGJMJqnBH3B9B8pjbPmPPcCFrTD6vfApfjUyZewRWS70gFrJMJ7mq+C+MXx7a dqD5DVXryg8GWl+TBldisX1CZ+IJoP+G7jTNJp+NjOeacqPDZU77qpJVVxZzg58XzQXF GPcVU5fUrz4xNUIaBclT9i+5VtyQikVzHVHDTiSn+b0k1Tm31uNbz4oCbSViqJyPuvmS p1hQ== X-Gm-Message-State: AOAM531LJSRwghu6Q+Fj8/Yj+ww6Jm8CQeh2hque1uVOiAaHEvFh4biG /Vu7rxiW3zEsdlT6nCL5LCs9wp9SoZlDyikO18WSlkPWiKY= X-Google-Smtp-Source: ABdhPJyZ3DxSomU2LxyXt1Yi91BjRsoVfTJJh1ltlhllbWfN/pPcpql94efoCUefQZHOAUS4K4Khu3Tp7+10qtfWWMI= X-Received: by 2002:a63:e40e:: with SMTP id a14mr53843480pgi.345.1609362965909; Wed, 30 Dec 2020 13:16:05 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 30 Dec 2020 15:16:05 -0600 From: Stefan Kangas In-Reply-To: <83k0szhwz1.fsf@gnu.org> References: <83k0szhwz1.fsf@gnu.org> MIME-Version: 1.0 Date: Wed, 30 Dec 2020 15:16:05 -0600 Message-ID: Subject: Re: bug#45550: [PATCH] Factor out new function for readability in chartab.c To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 45550 Cc: 45550@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Eli Zaretskii writes: > Please make this a macro, not a function. The code you are factoring > out is called in the innermost loops of the display engine, in bidi.c, > so it must be as fast as possible, even in an unoptimized build, where > static functions aren't inlined. Would it be acceptable to use our INLINE macro here instead? I see that it is used quite a lot in dispextern.c. Otherwise, I can of course rewrite it to use a macro instead. From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 30 22:29:31 2020 Received: (at 45550) by debbugs.gnu.org; 31 Dec 2020 03:29:32 +0000 Received: from localhost ([127.0.0.1]:51625 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kuoeZ-0001eE-LY for submit@debbugs.gnu.org; Wed, 30 Dec 2020 22:29:31 -0500 Received: from eggs.gnu.org ([209.51.188.92]:48802) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kuoeW-0001dy-HB for 45550@debbugs.gnu.org; Wed, 30 Dec 2020 22:29:29 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40037) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kuoeQ-0005xr-Vs; Wed, 30 Dec 2020 22:29:23 -0500 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1783 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kuoeP-0000S8-1L; Wed, 30 Dec 2020 22:29:22 -0500 Date: Thu, 31 Dec 2020 05:29:08 +0200 Message-Id: <835z4iirgb.fsf@gnu.org> From: Eli Zaretskii To: Stefan Kangas In-Reply-To: (message from Stefan Kangas on Wed, 30 Dec 2020 15:16:05 -0600) Subject: Re: bug#45550: [PATCH] Factor out new function for readability in chartab.c References: <83k0szhwz1.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 45550 Cc: 45550@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: Stefan Kangas > Date: Wed, 30 Dec 2020 15:16:05 -0600 > Cc: 45550@debbugs.gnu.org > > Eli Zaretskii writes: > > > Please make this a macro, not a function. The code you are factoring > > out is called in the innermost loops of the display engine, in bidi.c, > > so it must be as fast as possible, even in an unoptimized build, where > > static functions aren't inlined. > > Would it be acceptable to use our INLINE macro here instead? I'd prefer a simple macro. I can never remember the exact semantics of INLINE this week. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 21 08:04:07 2021 Received: (at 45550) by debbugs.gnu.org; 21 Jul 2021 12:04:07 +0000 Received: from localhost ([127.0.0.1]:36325 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m6Ax5-0002Ap-Tu for submit@debbugs.gnu.org; Wed, 21 Jul 2021 08:04:07 -0400 Received: from quimby.gnus.org ([95.216.78.240]:41748) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m6Ax3-0002AV-W5 for 45550@debbugs.gnu.org; Wed, 21 Jul 2021 08:03:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=5pAFEiFEtOD2Y15cn1mNy5At+SeCeotINdLJ+Vijr94=; b=YkZOwyJm3FLh4XPytVV3OPSGYX uKic1YhY4BYBsAddxCjrVDq8376Ql6I9PN/h+P8VriLNg9/3vjIiciGDqtI/QU7fw0kPfNGvogPOD FTxrniUhFrbCEfhDk9JfZ2e5qIa+w5p4yoHJ3ZrNtFRsYbpAy2Dp/Rwk2tSPm220QHgY=; Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m6Awu-0006F9-QH; Wed, 21 Jul 2021 14:03:43 +0200 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#45550: [PATCH] Factor out new function for readability in chartab.c References: <83k0szhwz1.fsf@gnu.org> <835z4iirgb.fsf@gnu.org> X-Now-Playing: Vert's _Broken Breakbeat Bebop_: "Slack Chair Puller" Date: Wed, 21 Jul 2021 14:03:40 +0200 In-Reply-To: <835z4iirgb.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 31 Dec 2020 05:29:08 +0200") Message-ID: <87czrblvqb.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Eli Zaretskii writes: >> > Please make this a macro, not a function. The code you are factoring >> > out is called in the innermost loops of the display engine, in bidi.c, >> > so it must be as fast as possible, even in an [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 45550 Cc: 45550@debbugs.gnu.org, Stefan Kangas 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 (-) Eli Zaretskii writes: >> > Please make this a macro, not a function. The code you are factoring >> > out is called in the innermost loops of the display engine, in bidi.c, >> > so it must be as fast as possible, even in an unoptimized build, where >> > static functions aren't inlined. >> >> Would it be acceptable to use our INLINE macro here instead? > > I'd prefer a simple macro. I can never remember the exact semantics > of INLINE this week. I've applied Stefan's patch (with the "static inline" tweak, which we use other places in Emacs, too) because patches bit-rot when they get too old. If it turns out to be a performance issue, then the inline function can be rewritten as a macro. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 21 08:04:07 2021 Received: (at control) by debbugs.gnu.org; 21 Jul 2021 12:04:07 +0000 Received: from localhost ([127.0.0.1]:36328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m6AxL-0002BZ-1j for submit@debbugs.gnu.org; Wed, 21 Jul 2021 08:04:07 -0400 Received: from quimby.gnus.org ([95.216.78.240]:41762) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m6Ax8-0002Ad-7a for control@debbugs.gnu.org; Wed, 21 Jul 2021 08:03:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=63UEaTFWUV7qF6lKKX9k6JoDrkUl5qwLidYjr3kBYnY=; b=d6sB8SEHBDibOihN/fD2+AzjCi iKidmSHucmS+zxGi1z3Xkz3xXNquW61VlDApMsSyvMjaWdr1oHoD2QpL/C5moukRdxPL2tNn4kKhP je2pB5Pz9Snwlqr7DzCDrBLjr8gQthHM7+fFsd9T9AhkuyszDsW83aoJH8RTlr8XqgKU=; Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m6Ax0-0006FG-LF for control@debbugs.gnu.org; Wed, 21 Jul 2021 14:03:48 +0200 Date: Wed, 21 Jul 2021 14:03:46 +0200 Message-Id: <87bl6vlvq5.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #45550 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: close 45550 28.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) close 45550 28.1 quit From unknown Tue Jun 17 01:47:27 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 19 Aug 2021 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator