From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 16 06:35:27 2019 Received: (at submit) by debbugs.gnu.org; 16 Jun 2019 10:35:27 +0000 Received: from localhost ([127.0.0.1]:39888 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcSVT-0006qa-2K for submit@debbugs.gnu.org; Sun, 16 Jun 2019 06:35:27 -0400 Received: from lists.gnu.org ([209.51.188.17]:57087) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcSVR-0006qT-Ip for submit@debbugs.gnu.org; Sun, 16 Jun 2019 06:35:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51404) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hcSVQ-0007C9-7r for bug-gnu-emacs@gnu.org; Sun, 16 Jun 2019 06:35:25 -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,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hcSVO-00029x-VU for bug-gnu-emacs@gnu.org; Sun, 16 Jun 2019 06:35:24 -0400 Received: from mail-io1-xd2e.google.com ([2607:f8b0:4864:20::d2e]:38679) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hcSVO-00028J-EK for bug-gnu-emacs@gnu.org; Sun, 16 Jun 2019 06:35:22 -0400 Received: by mail-io1-xd2e.google.com with SMTP id d12so7173928iod.5 for ; Sun, 16 Jun 2019 03:35:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=felesatra-moe.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=bLLZIT6xBs7jhOMYk0pYTWOOCbH6EaQI6DURFoOmTu8=; b=eGWZvh0zOWX0Cw30m/l/E2/ULy3To65CHFDj+cRuPmAebSS7hAe8XnDBcludSaUtck NEbZ675o2NIassEME+J9lFgowfvQwBS6DawPtadpDH5eSxETJmHNb/DfWE6Sz4lwH/d+ NxBgMwRHI2idukoxG7dfMmhfxY7rvwF4nMHyNJ1D5Fu78uOY3m5wzdio0sfCA6iLez4p qVi00qw6YE7cOodfj7LxINO9kTzobmRWVwDa5ERfK4PV+X0A09OXbOlhUfoOZgOOKnPr nrKpOpe0QNOybQAcXdHeMFfIEuDNbJ5X7wgb0CkfPTArALqk6WABsxg+tvwEZb/XM3XM SGrw== 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=bLLZIT6xBs7jhOMYk0pYTWOOCbH6EaQI6DURFoOmTu8=; b=ONQX86GLDTo6IZbiW+Ufpg+ke+nnp83pQZWGpPo9CzLrgngU+0CpJzBPlTWYjy98Hj bTAhv5v7ybd/5S73p1qOpIMyj3BuX/Yj2irM/BF3OA8OgKHAkixKTTNnM1yIngcOhqCP kp26pu8hfOSyRB3noL9+iIh5Md1XYN5ZXliBit3OkpJ1PEJ0nhLpdah4MTtqb64YW24N pgP4wh3V4jRRPfDlU2UwXsDUDnUV58zNuZxsbLG/oixidokKIPB8pMFGyL6V/vrXKivu XYWbhTGm4gYwqD6m+LEksaNWglCrbhzr0c/pu4J7JHZtaqQko/XVJ1B1DrmCa9gch3Vg mvjQ== X-Gm-Message-State: APjAAAWVmBuJThK9MsMqPc+AbrPLQf0qYyrCtzfvsz1jPRvZ8VbkM0qA JNswy+NqFNXcWL+zvKoasEiupCoTF5UnNpTQuGA0r54E+v/HrA== X-Google-Smtp-Source: APXvYqxKHV+CSfc+OS0yesHOvCgklki+dfTDqISPlDS4MZtja35fQtBc4AwAZwEVIQC4fNT5MIM/QUnb083/vanLMWY= X-Received: by 2002:a6b:b987:: with SMTP id j129mr13844691iof.166.1560681320606; Sun, 16 Jun 2019 03:35:20 -0700 (PDT) MIME-Version: 1.0 From: Allen Li Date: Sun, 16 Jun 2019 10:35:09 +0000 Message-ID: Subject: 26.2; defining inverse abbrevs include space To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary="000000000000b92d36058b6e6f29" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::d2e 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 (--) --000000000000b92d36058b6e6f29 Content-Type: text/plain; charset="UTF-8" Defining an inverse abbrev in a buffer like so (@ is point): some text foo @ C-x a i l find outer otter RET defines an abbrev "foo " -> "find outer otter" This abbrev is impossible to expand because it ends in a non-word character. It would be more convenient if the inverse abbrev definition commands skips trailing non-word characters, e.g. in the example above defining "foo" -> "find outer otter". The use case for this is that I often type something that I think should be an abbrev and upon finding that it is not defined, I must delete the previous character before using inverse-add-{mode,global}-abbrev. Note that this bug affects all positive prefix arguments to inverse-add-{mode,global}-abbrev, e.g.: some text: .... foo @ C-u 2 C-x a i l will attempt to define an abbrev "text: .... " -> "blah", which is completely useless. I have attached a patch fixing this, with regression tests. In GNU Emacs 26.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.8) of 2019-04-12 built on juergen Windowing system distributor 'The X.Org Foundation', version 11.0.12005000 --000000000000b92d36058b6e6f29 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-defining-inverse-abbrevs-on-previous-words.patch" Content-Disposition: attachment; filename="0001-Fix-defining-inverse-abbrevs-on-previous-words.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jwytcee70 RnJvbSAwZjgzMGM4OWViODJiMDk2NmUyODViNjcwOTkzMDEwNzlmZjMxZDYxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGxlbiBMaSA8ZGFya2ZlbGluZUBmZWxlc2F0cmEubW9lPgpE YXRlOiBTdW4sIDE2IEp1biAyMDE5IDAzOjMyOjAyIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gRml4 IGRlZmluaW5nIGludmVyc2UgYWJicmV2cyBvbiBwcmV2aW91cyB3b3JkcwoKKiBsaXNwL2FiYnJl di5lbCAoaW52ZXJzZS1hZGQtYWJicmV2KTogU2tpcCB0cmFpbGluZyBub253b3JkCmNoYXJhY3Rl cnMgd2hlbiBkZWZpbmluZyBhYmJyZXYuCgoqIHRlc3QvbGlzcC9hYmJyZXYtdGVzdHMuZWwgKGFi YnJldi1lZGl0LXNhdmUtdG8tZmlsZS10ZXN0KTogQWRkCnJlZ3Jlc3Npb24gdGVzdHMuCi0tLQog bGlzcC9hYmJyZXYuZWwgICAgICAgICAgICB8ICA1ICsrKystCiB0ZXN0L2xpc3AvYWJicmV2LXRl c3RzLmVsIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2Vk LCAzMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9hYmJy ZXYuZWwgYi9saXNwL2FiYnJldi5lbAppbmRleCBhZWJmNjVlMGY3Li41MTYwNGVkOTI5IDEwMDY0 NAotLS0gYS9saXNwL2FiYnJldi5lbAorKysgYi9saXNwL2FiYnJldi5lbApAQCAtMzUzLDcgKzM1 MywxMCBAQCBpbnZlcnNlLWFkZC1nbG9iYWwtYWJicmV2CiAoZGVmdW4gaW52ZXJzZS1hZGQtYWJi cmV2ICh0YWJsZSB0eXBlIGFyZykKICAgKGxldCAobmFtZSBleHAgc3RhcnQgZW5kKQogICAgIChz YXZlLWV4Y3Vyc2lvbgotICAgICAgKGZvcndhcmQtd29yZCAoMSsgKC0gYXJnKSkpCisgICAgICAo aWYgKDw9IGFyZyAwKQorICAgICAgICAgIChmb3J3YXJkLXdvcmQgKDErICgtIGFyZykpKQorICAg ICAgICAoZm9yd2FyZC13b3JkICgtIGFyZykpCisgICAgICAgIChmb3J3YXJkLXdvcmQpKQogICAg ICAgKHNldHEgZW5kIChwb2ludCkpCiAgICAgICAoYmFja3dhcmQtd29yZCAxKQogICAgICAgKHNl dHEgc3RhcnQgKHBvaW50KQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2FiYnJldi10ZXN0cy5lbCBi L3Rlc3QvbGlzcC9hYmJyZXYtdGVzdHMuZWwKaW5kZXggODAwYzlhYWMzMy4uMzNhNWVjN2RhYiAx MDA2NDQKLS0tIGEvdGVzdC9saXNwL2FiYnJldi10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3AvYWJi cmV2LXRlc3RzLmVsCkBAIC0yNDksNiArMjQ5LDM0IEBAIHNldHVwLXRlc3QtYWJicmV2LXRhYmxl CiAgICAgICAgICAgICAgICAgICAgICAoYWJicmV2LWV4cGFuc2lvbiAicy1hLXQiIGVydC1zYXZl LXRlc3QtdGFibGUpKSkKICAgICAgIChkZWxldGUtZmlsZSB0ZW1wLXRlc3QtZmlsZSkpKSkKIAor KGVydC1kZWZ0ZXN0IGludmVyc2UtYWRkLWFiYnJldi1za2lwcy10cmFpbGluZy1ub253b3JkICgp CisgICJUZXN0IHRoYXQgYWRkaW5nIGFuIGludmVyc2UgYWJicmV2IHNraXBzIHRyYWlsaW5nIG5v bndvcmQgY2hhcmFjdGVycy4iCisgIChsZXQgKCh0YWJsZSAobWFrZS1hYmJyZXYtdGFibGUpKSkK KyAgICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgKGluc2VydCAic29tZSB0ZXh0IGZvbyAiKQor ICAgICAgKGNsLWxldGYgKCgoc3ltYm9sLWZ1bmN0aW9uICdyZWFkLXN0cmluZykgKGxhbWJkYSAo JnJlc3QgXykgImJhciIpKSkKKyAgICAgICAgKGludmVyc2UtYWRkLWFiYnJldiB0YWJsZSAiR2xv YmFsIiAxKSkpCisgICAgKHNob3VsZCAoc3RyaW5nPSAoYWJicmV2LWV4cGFuc2lvbiAiZm9vIiB0 YWJsZSkgImJhciIpKSkpCisKKyhlcnQtZGVmdGVzdCBpbnZlcnNlLWFkZC1hYmJyZXYtc2tpcHMt dHJhaWxpbmctbm9ud29yZC9wb3N0aWl2ZS1hcmcgKCkKKyAgIlRlc3QgdGhhdCBhZGRpbmcgYW4g aW52ZXJzZSBhYmJyZXYgc2tpcHMgdHJhaWxpbmcgbm9ud29yZCBjaGFyYWN0ZXJzLiIKKyAgKGxl dCAoKHRhYmxlIChtYWtlLWFiYnJldi10YWJsZSkpKQorICAgICh3aXRoLXRlbXAtYnVmZmVyCisg ICAgICAoaW5zZXJ0ICJzb21lIHRleHQgZm9vICIpCisgICAgICAoY2wtbGV0ZiAoKChzeW1ib2wt ZnVuY3Rpb24gJ3JlYWQtc3RyaW5nKSAobGFtYmRhICgmcmVzdCBfKSAiYmFyIikpKQorICAgICAg ICAoaW52ZXJzZS1hZGQtYWJicmV2IHRhYmxlICJHbG9iYWwiIDIpKSkKKyAgICAoc2hvdWxkIChz dHJpbmc9IChhYmJyZXYtZXhwYW5zaW9uICJ0ZXh0IiB0YWJsZSkgImJhciIpKSkpCisKKyhlcnQt ZGVmdGVzdCBpbnZlcnNlLWFkZC1hYmJyZXYtc2tpcHMtdHJhaWxpbmctbm9ud29yZC9uZWdhdGl2 ZS1hcmcgKCkKKyAgIlRlc3QgdGhhdCBhZGRpbmcgYW4gaW52ZXJzZSBhYmJyZXYgc2tpcHMgdHJh aWxpbmcgbm9ud29yZCBjaGFyYWN0ZXJzLiIKKyAgKGxldCAoKHRhYmxlIChtYWtlLWFiYnJldi10 YWJsZSkpKQorICAgICh3aXRoLXRlbXAtYnVmZmVyCisgICAgICAoaW5zZXJ0ICJzb21lICAgICB0 ZXh0IGZvbyIpCisgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgICAgKGNsLWxldGYg KCgoc3ltYm9sLWZ1bmN0aW9uICdyZWFkLXN0cmluZykgKGxhbWJkYSAoJnJlc3QgXykgImJhciIp KSkKKyAgICAgICAgKGludmVyc2UtYWRkLWFiYnJldiB0YWJsZSAiR2xvYmFsIiAtMSkpKQorICAg IChzaG91bGQgKHN0cmluZz0gKGFiYnJldi1leHBhbnNpb24gInRleHQiIHRhYmxlKSAiYmFyIikp KSkKKwogKHByb3ZpZGUgJ2FiYnJldi10ZXN0cykKIAogOzs7IGFiYnJldi10ZXN0cy5lbCBlbmRz IGhlcmUKLS0gCjIuMjIuMAoK --000000000000b92d36058b6e6f29-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 17 10:44:43 2019 Received: (at 36243) by debbugs.gnu.org; 17 Jun 2019 14:44:43 +0000 Received: from localhost ([127.0.0.1]:43130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcssF-0007a3-46 for submit@debbugs.gnu.org; Mon, 17 Jun 2019 10:44:43 -0400 Received: from mail-io1-f50.google.com ([209.85.166.50]:39207) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcssE-0007Zr-55 for 36243@debbugs.gnu.org; Mon, 17 Jun 2019 10:44:42 -0400 Received: by mail-io1-f50.google.com with SMTP id r185so15768705iod.6 for <36243@debbugs.gnu.org>; Mon, 17 Jun 2019 07:44:42 -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 :user-agent:mime-version; bh=CsVLEEhqBUit/QkKf3g1OYlTdoGwXUg9pPrOKWO6oyg=; b=LQiqwsQvVC3PJ89bgJI5wbN4tYw3rgJIUHV/bCbLinWj4TL3QPG+FdccH/FJZRcsfG wQlLuG7DftvDhFVbJCFKJ3S10omTkgsIa+Z8bw0BE4u8FD0J0zZxJZIakQfB084kq1fU uxB5tMqTCy7BWph5pJTBS9BpYofmSRDowASUa2RyheD0BCAPY3xgGeHXLADaoiHreyXr +Wn/ZdZjgYsuY/HZp3pdKZs8LkULtTUWdQvPjOp3ZgC9KKcMe/uln+c1dDdBBcYRnIwA vMzL38/l3FYmQE4ME514xejiHRJn3M/66jHehYW31BDzM346CiAeICZ2c45TRlPuq77s xjhA== 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:user-agent:mime-version; bh=CsVLEEhqBUit/QkKf3g1OYlTdoGwXUg9pPrOKWO6oyg=; b=lf4RN5FZINV7xOPXiWsaS4RMXjpf0t8yYOdUp8BSS5JRE3UeAtsbTUoh7ExqQ97Fqh E1v1i3DtavUuis4IlVXQzibJQescAT0DWfrXaGcTkzY1V8n+9jiiT7sTBvLsKqu8WvEG OG3+jXqtLIar/bUP7kA5mxN0nomxfxwl+qdj4tY+gnvjnsS8YegmFxRendWzrC1Linx1 oNlTHoSh8KXjMp/GCkkQrsVDYd7mJoVnKOsjknitsaAPLaenDEPGgH5FVaGmVvn+voVJ v8O69KWnQIrEi4a6GMvCJXmWGfsKprUlCrbf5GNWSu0T5AB7MwLWcQSW1MD586L7mJUp K8QA== X-Gm-Message-State: APjAAAUeZnK0tWxsqhvVLEK/i86NBIBtYh11BBUoej0UejIPNB673kON UYZm1xVxImj05w3b9liMsE8aU2e+ X-Google-Smtp-Source: APXvYqwqrOtG34ni2KpmX2ugXipNFikJ99qcfiq5jb0/0ttY3kiFgi5AatpYcZZdogac1WBc32bXNw== X-Received: by 2002:a5d:904e:: with SMTP id v14mr5460072ioq.61.1560782676300; Mon, 17 Jun 2019 07:44:36 -0700 (PDT) Received: from vhost2 (CPE001143542e1f-CMf81d0f809fa0.cpe.net.cable.rogers.com. [99.230.51.196]) by smtp.gmail.com with ESMTPSA id f26sm9698547iob.4.2019.06.17.07.44.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 17 Jun 2019 07:44:35 -0700 (PDT) From: Noam Postavsky To: Allen Li Subject: Re: bug#36243: 26.2; defining inverse abbrevs include space References: Date: Mon, 17 Jun 2019 10:44:36 -0400 In-Reply-To: (Allen Li's message of "Sun, 16 Jun 2019 10:35:09 +0000") Message-ID: <85y320l19n.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.92 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36243 Cc: 36243@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 (-) Allen Li writes: > Defining an inverse abbrev in a buffer like so (@ is point): > > some text foo @ > > C-x a i l find outer otter RET > > defines an abbrev "foo " -> "find outer otter" > * lisp/abbrev.el (inverse-add-abbrev): Skip trailing nonword > characters when defining abbrev. > (defun inverse-add-abbrev (table type arg) > (let (name exp start end) > (save-excursion > - (forward-word (1+ (- arg))) > + (if (<= arg 0) > + (forward-word (1+ (- arg))) > + (forward-word (- arg)) > + (forward-word)) > (setq end (point)) > (backward-word 1) This seems like a somewhat obfuscated way of skipping nonword characters. How about using skip-syntax-backward instead? From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 17 15:25:11 2019 Received: (at 36243) by debbugs.gnu.org; 17 Jun 2019 19:25:11 +0000 Received: from localhost ([127.0.0.1]:43351 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcxFf-0002Lo-Bb for submit@debbugs.gnu.org; Mon, 17 Jun 2019 15:25:11 -0400 Received: from mail-io1-f46.google.com ([209.85.166.46]:38458) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcxFa-0002LA-3o for 36243@debbugs.gnu.org; Mon, 17 Jun 2019 15:25:06 -0400 Received: by mail-io1-f46.google.com with SMTP id d12so15875563iod.5 for <36243@debbugs.gnu.org>; Mon, 17 Jun 2019 12:25:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=felesatra-moe.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ThQEF92fl95eyVNl6aR3NWxFXg7IfWM8FyuN8iI+pp0=; b=M1smUEBm0UObUN4xh5opRikRKu5DvB/HGCGJcu7oFQEHS2KeVKH2UgVqqW47ftFOpM 1ODJhrdHP50yJfL7awd/uWLVIgAaEzjAs4GjcsCf/w1f7AzZz7sYYZB53Xma5LzAlhS+ mgf9MColZE8CobxDlVuLJznr2hl5glElPpp0yTA4JGVhL2Fz0v/jHgj4iCPhF+RSzUuQ 2ce3VPWIai8OuQRHvbgIUCW/jbBsAvy3hTIb6OSdDLqL70OxM9w2UsI/kG0lE0M3/qrj Ofqj/6Rku82iBjY296PgNr7LLdbICUHN7j08XK+FpidmM7XeDQfxJE/2hW4gSa0r8tV/ iBnw== 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=ThQEF92fl95eyVNl6aR3NWxFXg7IfWM8FyuN8iI+pp0=; b=SdeS0lSMiLEUPAO2Zx+kJyvu68kGpQhjV7gKnmFvYOv4IEAj2x21IgbxqVVadE4g9x oRbS5QJ3mWD7ceUlaAAloID24xviePBcHoNo8WKgO0OOxSZdMRDt/XwGGKQ5fqClsBkC eiO0yktV7MmhbaIUced3L3r3RpvAqaGKuQ95BFv0nEJt8KBk67GoG3LLNEHRyjnxLZ82 VXxuqWTrCJju2m/khpSG+LMMD4gXWAfKH7k2Pf0e3Vz46jSLqv+3c42lQ5iBetrTnoV5 34HD1vr5X16/YzlMhLOToN64QSW3BFFzZlHIzypFVTwwyVzArVPqj77W6CM7oAX3YzOY p4KQ== X-Gm-Message-State: APjAAAWxnC2zwwyra/7c7EB2MQayPdRQmmqIixzXoFXK2v7llqa8hdrU In5FXC/Y1Ehyn73/+wT6Jej6lZSvmZWHYofXUxW004yqKlM= X-Google-Smtp-Source: APXvYqx/qQtorAdCqDazqWqDB6BGVgeNCezDXz4pkhefVqD4KXyYldPqMVMXbxQdteIIIGxHmrQt7YK2uy5hImGyv0E= X-Received: by 2002:a02:394c:: with SMTP id w12mr624106jae.126.1560799393499; Mon, 17 Jun 2019 12:23:13 -0700 (PDT) MIME-Version: 1.0 References: <85y320l19n.fsf@gmail.com> In-Reply-To: <85y320l19n.fsf@gmail.com> From: Allen Li Date: Mon, 17 Jun 2019 12:23:02 -0700 Message-ID: Subject: Re: bug#36243: 26.2; defining inverse abbrevs include space To: Noam Postavsky Content-Type: multipart/mixed; boundary="0000000000006aa0e5058b89edd9" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36243 Cc: 36243@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 (-) --0000000000006aa0e5058b89edd9 Content-Type: text/plain; charset="UTF-8" Thanks for suggesting skip-syntax-backward, see new patch. On Mon, Jun 17, 2019 at 7:44 AM Noam Postavsky wrote: > > Allen Li writes: > > > Defining an inverse abbrev in a buffer like so (@ is point): > > > > some text foo @ > > > > C-x a i l find outer otter RET > > > > defines an abbrev "foo " -> "find outer otter" > > > * lisp/abbrev.el (inverse-add-abbrev): Skip trailing nonword > > characters when defining abbrev. > > > (defun inverse-add-abbrev (table type arg) > > (let (name exp start end) > > (save-excursion > > - (forward-word (1+ (- arg))) > > + (if (<= arg 0) > > + (forward-word (1+ (- arg))) > > + (forward-word (- arg)) > > + (forward-word)) > > (setq end (point)) > > (backward-word 1) > > This seems like a somewhat obfuscated way of skipping nonword > characters. How about using skip-syntax-backward instead? --0000000000006aa0e5058b89edd9 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-defining-inverse-abbrevs-on-previous-words.patch" Content-Disposition: attachment; filename="0001-Fix-defining-inverse-abbrevs-on-previous-words.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jx0rmi1a0 RnJvbSA5MWQ0YzkzMjhkNmExN2I3N2E4ZDNhODY0OTViMWUxN2ZlMzYzZDFjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGxlbiBMaSA8ZGFya2ZlbGluZUBmZWxlc2F0cmEubW9lPgpE YXRlOiBTdW4sIDE2IEp1biAyMDE5IDAzOjMyOjAyIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gRml4 IGRlZmluaW5nIGludmVyc2UgYWJicmV2cyBvbiBwcmV2aW91cyB3b3JkcwoKKiBsaXNwL2FiYnJl di5lbCAoaW52ZXJzZS1hZGQtYWJicmV2KTogU2tpcCB0cmFpbGluZyBub253b3JkCmNoYXJhY3Rl cnMgd2hlbiBkZWZpbmluZyBhYmJyZXYuCgoqIHRlc3QvbGlzcC9hYmJyZXYtdGVzdHMuZWwgKGFi YnJldi1lZGl0LXNhdmUtdG8tZmlsZS10ZXN0KTogQWRkCnJlZ3Jlc3Npb24gdGVzdHMuCi0tLQog bGlzcC9hYmJyZXYuZWwgICAgICAgICAgICB8ICAxICsKIHRlc3QvbGlzcC9hYmJyZXYtdGVzdHMu ZWwgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI5 IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saXNwL2FiYnJldi5lbCBiL2xpc3AvYWJicmV2 LmVsCmluZGV4IGFlYmY2NWUwZjcuLmMwODU0Yjk5ZmUgMTAwNjQ0Ci0tLSBhL2xpc3AvYWJicmV2 LmVsCisrKyBiL2xpc3AvYWJicmV2LmVsCkBAIC0zNTQsNiArMzU0LDcgQEAgaW52ZXJzZS1hZGQt YWJicmV2CiAgIChsZXQgKG5hbWUgZXhwIHN0YXJ0IGVuZCkKICAgICAoc2F2ZS1leGN1cnNpb24K ICAgICAgIChmb3J3YXJkLXdvcmQgKDErICgtIGFyZykpKQorICAgICAgKHNraXAtc3ludGF4LWJh Y2t3YXJkICJedyIpCiAgICAgICAoc2V0cSBlbmQgKHBvaW50KSkKICAgICAgIChiYWNrd2FyZC13 b3JkIDEpCiAgICAgICAoc2V0cSBzdGFydCAocG9pbnQpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3Av YWJicmV2LXRlc3RzLmVsIGIvdGVzdC9saXNwL2FiYnJldi10ZXN0cy5lbAppbmRleCA4MDBjOWFh YzMzLi4zM2E1ZWM3ZGFiIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvYWJicmV2LXRlc3RzLmVsCisr KyBiL3Rlc3QvbGlzcC9hYmJyZXYtdGVzdHMuZWwKQEAgLTI0OSw2ICsyNDksMzQgQEAgc2V0dXAt dGVzdC1hYmJyZXYtdGFibGUKICAgICAgICAgICAgICAgICAgICAgIChhYmJyZXYtZXhwYW5zaW9u ICJzLWEtdCIgZXJ0LXNhdmUtdGVzdC10YWJsZSkpKQogICAgICAgKGRlbGV0ZS1maWxlIHRlbXAt dGVzdC1maWxlKSkpKQogCisoZXJ0LWRlZnRlc3QgaW52ZXJzZS1hZGQtYWJicmV2LXNraXBzLXRy YWlsaW5nLW5vbndvcmQgKCkKKyAgIlRlc3QgdGhhdCBhZGRpbmcgYW4gaW52ZXJzZSBhYmJyZXYg c2tpcHMgdHJhaWxpbmcgbm9ud29yZCBjaGFyYWN0ZXJzLiIKKyAgKGxldCAoKHRhYmxlIChtYWtl LWFiYnJldi10YWJsZSkpKQorICAgICh3aXRoLXRlbXAtYnVmZmVyCisgICAgICAoaW5zZXJ0ICJz b21lIHRleHQgZm9vICIpCisgICAgICAoY2wtbGV0ZiAoKChzeW1ib2wtZnVuY3Rpb24gJ3JlYWQt c3RyaW5nKSAobGFtYmRhICgmcmVzdCBfKSAiYmFyIikpKQorICAgICAgICAoaW52ZXJzZS1hZGQt YWJicmV2IHRhYmxlICJHbG9iYWwiIDEpKSkKKyAgICAoc2hvdWxkIChzdHJpbmc9IChhYmJyZXYt ZXhwYW5zaW9uICJmb28iIHRhYmxlKSAiYmFyIikpKSkKKworKGVydC1kZWZ0ZXN0IGludmVyc2Ut YWRkLWFiYnJldi1za2lwcy10cmFpbGluZy1ub253b3JkL3Bvc3RpaXZlLWFyZyAoKQorICAiVGVz dCB0aGF0IGFkZGluZyBhbiBpbnZlcnNlIGFiYnJldiBza2lwcyB0cmFpbGluZyBub253b3JkIGNo YXJhY3RlcnMuIgorICAobGV0ICgodGFibGUgKG1ha2UtYWJicmV2LXRhYmxlKSkpCisgICAgKHdp dGgtdGVtcC1idWZmZXIKKyAgICAgIChpbnNlcnQgInNvbWUgdGV4dCBmb28gIikKKyAgICAgIChj bC1sZXRmICgoKHN5bWJvbC1mdW5jdGlvbiAncmVhZC1zdHJpbmcpIChsYW1iZGEgKCZyZXN0IF8p ICJiYXIiKSkpCisgICAgICAgIChpbnZlcnNlLWFkZC1hYmJyZXYgdGFibGUgIkdsb2JhbCIgMikp KQorICAgIChzaG91bGQgKHN0cmluZz0gKGFiYnJldi1leHBhbnNpb24gInRleHQiIHRhYmxlKSAi YmFyIikpKSkKKworKGVydC1kZWZ0ZXN0IGludmVyc2UtYWRkLWFiYnJldi1za2lwcy10cmFpbGlu Zy1ub253b3JkL25lZ2F0aXZlLWFyZyAoKQorICAiVGVzdCB0aGF0IGFkZGluZyBhbiBpbnZlcnNl IGFiYnJldiBza2lwcyB0cmFpbGluZyBub253b3JkIGNoYXJhY3RlcnMuIgorICAobGV0ICgodGFi bGUgKG1ha2UtYWJicmV2LXRhYmxlKSkpCisgICAgKHdpdGgtdGVtcC1idWZmZXIKKyAgICAgIChp bnNlcnQgInNvbWUgICAgIHRleHQgZm9vIikKKyAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikp CisgICAgICAoY2wtbGV0ZiAoKChzeW1ib2wtZnVuY3Rpb24gJ3JlYWQtc3RyaW5nKSAobGFtYmRh ICgmcmVzdCBfKSAiYmFyIikpKQorICAgICAgICAoaW52ZXJzZS1hZGQtYWJicmV2IHRhYmxlICJH bG9iYWwiIC0xKSkpCisgICAgKHNob3VsZCAoc3RyaW5nPSAoYWJicmV2LWV4cGFuc2lvbiAidGV4 dCIgdGFibGUpICJiYXIiKSkpKQorCiAocHJvdmlkZSAnYWJicmV2LXRlc3RzKQogCiA7OzsgYWJi cmV2LXRlc3RzLmVsIGVuZHMgaGVyZQotLSAKMi4yMi4wLjQxMC5nZDhmZGJlMjFiNS1nb29nCgo= --0000000000006aa0e5058b89edd9-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 21 14:30:59 2019 Received: (at 36243) by debbugs.gnu.org; 21 Jun 2019 18:31:00 +0000 Received: from localhost ([127.0.0.1]:50705 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1heOJP-0006EC-Hq for submit@debbugs.gnu.org; Fri, 21 Jun 2019 14:30:59 -0400 Received: from mail-io1-f41.google.com ([209.85.166.41]:40714) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1heOJN-0006Du-Ea for 36243@debbugs.gnu.org; Fri, 21 Jun 2019 14:30:58 -0400 Received: by mail-io1-f41.google.com with SMTP id n5so18352ioc.7 for <36243@debbugs.gnu.org>; Fri, 21 Jun 2019 11:30:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=felesatra-moe.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nNTyaknxd4xpHcvBdzllAanvESQzTRBw8FKJCTJQtXM=; b=n/YENc30kUkWDQ5Oyw1YZym/60UogRlECmcsD96jtRR0s59aY5dLRNVdsdAPl0vRNx jh1FSy8kc6BeJGCFOiyGIZcFrrYn5pzZp+59dFSRCDNkg8Sf08FooPeA/cvzz6QTwm0U WIFrHEwNKquGIZI/2Gzoj6pWPY5P2OB16nDB12Kqn6nc/MEarVQaJlqnGkbcDpAGZ3ZS ZOWBSmvFon3Sm9VX5uZhJf0CipLK8pbnvVUVx8n0G5m86Apbn2X9Y7sgeFcl8x9iViOM TV2hZAJBgyrhJaNz/kEtU0dEcsI+VZt0eRKEm8w+WB59aEkaJFZjqYD0AD6LmUS+FI2n uwNg== 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=nNTyaknxd4xpHcvBdzllAanvESQzTRBw8FKJCTJQtXM=; b=RQCcIAfrRAuC3JnzmmJy0cZ8Nlq98YGaO/ymmyX4l4VArKAi6SR1hPs72zaek+HHCS oKAcJ8O3GHxHwh5w8kavmddKBKfCUE688odqg6dvRAM/Byc3I4uxkX0C0v+ntvXLP6nO rPPkOEV6v05ka0ivTrTzJNLUDrlvStA5n/i/ypq6+y8AH3feO3nsMKWCOsrbstTnPhjP iDZSiKgPdmv6zhY4gmMVqeCkAgK3x+K1ciHwNmho6FA86D68TLPSotXPqeoj4LMtl+l3 JEDv8HTp7cda2QZaxjoKhe6dKImmy1lnlu4z0w3cdGZzYGxe3JwSFlB/jAn6BGuowa6l sIVg== X-Gm-Message-State: APjAAAUDn2B358eWB+02+C1lo3c6cIzG7LrL+zgzRCNdj2y6xqlCcuS0 ylnUtMZlUJmKTEo05pioo65e8Lgp5cSo9snROnSXCA== X-Google-Smtp-Source: APXvYqwGg0wIzRJXgyzYdsgnW7MsSFDo5QEibuF4lczRIVVCjPX2BKb12Yg6CM1P3RGS5nyyq11kHXcIQlzKCQvXgHE= X-Received: by 2002:a02:cc76:: with SMTP id j22mr9172484jaq.9.1561141851544; Fri, 21 Jun 2019 11:30:51 -0700 (PDT) MIME-Version: 1.0 References: <85y320l19n.fsf@gmail.com> In-Reply-To: From: Allen Li Date: Fri, 21 Jun 2019 18:30:40 +0000 Message-ID: Subject: Re: bug#36243: 26.2; defining inverse abbrevs include space To: Noam Postavsky Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36243 Cc: 36243@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 (-) Any update on this? On Mon, Jun 17, 2019 at 7:23 PM Allen Li wrote: > > Thanks for suggesting skip-syntax-backward, see new patch. > > On Mon, Jun 17, 2019 at 7:44 AM Noam Postavsky wrote: > > > > Allen Li writes: > > > > > Defining an inverse abbrev in a buffer like so (@ is point): > > > > > > some text foo @ > > > > > > C-x a i l find outer otter RET > > > > > > defines an abbrev "foo " -> "find outer otter" > > > > > * lisp/abbrev.el (inverse-add-abbrev): Skip trailing nonword > > > characters when defining abbrev. > > > > > (defun inverse-add-abbrev (table type arg) > > > (let (name exp start end) > > > (save-excursion > > > - (forward-word (1+ (- arg))) > > > + (if (<= arg 0) > > > + (forward-word (1+ (- arg))) > > > + (forward-word (- arg)) > > > + (forward-word)) > > > (setq end (point)) > > > (backward-word 1) > > > > This seems like a somewhat obfuscated way of skipping nonword > > characters. How about using skip-syntax-backward instead? From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 22 19:35:15 2019 Received: (at 36243) by debbugs.gnu.org; 22 Jun 2019 23:35:15 +0000 Received: from localhost ([127.0.0.1]:52704 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hepXP-0002YH-8I for submit@debbugs.gnu.org; Sat, 22 Jun 2019 19:35:15 -0400 Received: from mail-io1-f68.google.com ([209.85.166.68]:42429) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hepXL-0002Xe-AE; Sat, 22 Jun 2019 19:35:11 -0400 Received: by mail-io1-f68.google.com with SMTP id u19so199026ior.9; Sat, 22 Jun 2019 16:35:11 -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 :user-agent:mime-version; bh=vmQVgsQ3lXkPjndrMVWGVQ7sr2PcL3vIu1lpk6WO6dg=; b=CDbGF1i1PFrP24VMEz6kEnoTgW6iPPr4BLfnQNnJckEpsbyzRN5Y2K8Nn57/i8rKtm a+Fn1Kj0/yShQXMoeTDoG6//8+Tvmie8ZMAMqk9ma4wx6d7JONhrJ/lhAZ0EzocwKWrk 9WkYu+mvsHErAlAZ5rOSAW3/2BBoySNXuMBdGIfvonrlahtA5KDfudjxgUl2ii+VvpB8 MMlTl9sjd2BVAmsckX3/h//iF5VBTg8vHNOGplHksOQrwk2jC8rsITrT7yecnYSzawaF P9arGix7HeYK0YEuULsLkXOLlo1M9pCp0u+L2mG5P0cKpkJuhoB7RyoaTm/gFCbYJMOF Q7Ow== 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:user-agent:mime-version; bh=vmQVgsQ3lXkPjndrMVWGVQ7sr2PcL3vIu1lpk6WO6dg=; b=co3wWLRWUf6+4W7NuAE3rkCJYBhANIy4KsAQKCdrALO8Lz2H2ealNSCzdzQ9s6bUA5 ek3JI5F4FzV/PWIGRJLC+UbYtV7bOx/psfVARzCvdTVManxP7HR8Lmd7ioFG1QWbhH26 ZfK/V0+OdqQQCHAhnqPJXBZNw8XmzobJbM7utFptTx2TzNpSxqmPMs3tled0evBbHPHQ o183ujdHhQPkmAt+5CiiD5aUyuyxIQIGBbSVH01NnUYAbX628z9pjbgP0Ftuj0KeYG4X z9c8hxjbSdoBsgx4eI+oE3hSqFk/cndlDKttTo9PCrRHbuC9N+WEE+0d2tNJZeLjkv9g hKjQ== X-Gm-Message-State: APjAAAVzTFEShjz0UQKew7pfw0supVaZR7khy6gRjCIP6LxUkfm4GSt/ duS7siXRFbt+EeRBVPQkrJoCNNfv X-Google-Smtp-Source: APXvYqyMAO8qQCN21tX4mMUcM/nEleYvSwdgGIE1tuUpUADC/aKAiT7mPE4SRvaOg+ZejyK3XAW/PA== X-Received: by 2002:a5d:9e49:: with SMTP id i9mr1394506ioi.290.1561246505623; Sat, 22 Jun 2019 16:35:05 -0700 (PDT) Received: from minid (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.gmail.com with ESMTPSA id c11sm9071246ioi.72.2019.06.22.16.35.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 22 Jun 2019 16:35:05 -0700 (PDT) From: Noam Postavsky To: Allen Li Subject: Re: bug#36243: 26.2; defining inverse abbrevs include space References: <85y320l19n.fsf@gmail.com> Date: Sat, 22 Jun 2019 19:35:04 -0400 In-Reply-To: (Allen Li's message of "Mon, 17 Jun 2019 12:23:02 -0700") Message-ID: <87pnn5tcrb.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36243 Cc: 36243@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 (-) tags 36243 fixed close 36243 27.1 quit Allen Li writes: > Thanks for suggesting skip-syntax-backward, see new patch. > @@ -354,6 +354,7 @@ inverse-add-abbrev > (let (name exp start end) > (save-excursion > (forward-word (1+ (- arg))) > + (skip-syntax-backward "^w") > (setq end (point)) > (backward-word 1) > (setq start (point) Perfect, thanks, pushed to master. 2db75262c7 2019-06-22T19:25:44-04:00 "Fix defining inverse abbrevs on previous words (Bug#36243)" https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=2db75262c7395483d1fa9a0c9d93dd3e4d534e1f From unknown Tue Jun 17 01:47:53 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 21 Jul 2019 11:24:05 +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