From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Uwe Brauer Newsgroups: gmane.emacs.bugs Subject: bug#45693: [two word expansion works, but write-abbrev-file destroys it] Date: Mon, 11 Jan 2021 21:17:06 +0100 Message-ID: <87pn2bxm7x.fsf@mat.ucm.es> References: <87v9cam56e.fsf@mat.ucm.es> <87lfd0svvp.fsf@gnus.org> <87czycpz71.fsf@mat.ucm.es> <87wnwkiybo.fsf@gnus.org> <87eeis1oag.fsf_-_@mat.ucm.es> <87wnwjd9yy.fsf@gmail.com> <83czybfq9q.fsf@gnu.org> <875z4379ri.fsf@mat.ucm.es> <87mtxf4bm6.fsf@gmail.com> Reply-To: Uwe Brauer Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=sha256; protocol="application/pkcs7-signature" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30571"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: larsi@gnus.org, 45693@debbugs.gnu.org To: Uwe Brauer Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jan 11 21:18:16 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kz3do-0007sK-6H for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 11 Jan 2021 21:18:16 +0100 Original-Received: from localhost ([::1]:33058 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kz3dn-0003KG-7p for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 11 Jan 2021 15:18:15 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35810) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kz3dc-0003JC-1C for bug-gnu-emacs@gnu.org; Mon, 11 Jan 2021 15:18:05 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:46816) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kz3da-00005T-GX for bug-gnu-emacs@gnu.org; Mon, 11 Jan 2021 15:18:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kz3da-0004OR-Aj for bug-gnu-emacs@gnu.org; Mon, 11 Jan 2021 15:18:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: <87v9cam56e.fsf@mat.ucm.es> Resent-From: Uwe Brauer Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Jan 2021 20:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45693 X-GNU-PR-Package: emacs Original-Received: via spool by 45693-submit@debbugs.gnu.org id=B45693.161039624316836 (code B ref 45693); Mon, 11 Jan 2021 20:18:02 +0000 Original-Received: (at 45693) by debbugs.gnu.org; 11 Jan 2021 20:17:23 +0000 Original-Received: from localhost ([127.0.0.1]:58362 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kz3cw-0004NU-Fm for submit@debbugs.gnu.org; Mon, 11 Jan 2021 15:17:23 -0500 Original-Received: from mail-ed1-f41.google.com ([209.85.208.41]:40744) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kz3ct-0004NE-S3 for 45693@debbugs.gnu.org; Mon, 11 Jan 2021 15:17:21 -0500 Original-Received: by mail-ed1-f41.google.com with SMTP id h16so1096335edt.7 for <45693@debbugs.gnu.org>; Mon, 11 Jan 2021 12:17:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mat.ucm.es; s=google; h=from:to:cc:subject:references:reply-to:date:message-id:user-agent :mime-version; bh=/o46X20/H/PE3Yz5LJNGOh7omi0DseOOD9K07IS20nY=; b=VN+VIHIKtTromOVahmYQVuKidJo5+Y9H8CCyTaude0z95ougCQ8/MGgxFVHueOW9P7 2v485HsdkEuwveaLU6QGyj19Ck+JyDGuEzK5o8TS9hKhdGKgqPBTCydGxxaxXDHDFFX6 IzUiTnaU0xZ9Q/Fy9KkIxPWjJKGwPhYUVw6YU= 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:reply-to:date :message-id:user-agent:mime-version; bh=/o46X20/H/PE3Yz5LJNGOh7omi0DseOOD9K07IS20nY=; b=XLB55JITvyO3ECLGkUwQuIyyh5CQRUjIBB/XkARSPqL6mKiyCTZ+3Sc+MzPvcvzZvc /vchrFNp2Jhn2TCc49CmkiYUKECKy8+/aBfRGgBdubpFXplHKrbRrv7UbyraIDVJ0rad 0CH+i9grrZpCqCDtxhZcqfI40F1h4Hxi6+3TKBLGUZXCQ5SLiHjEHi6YkhKWeOZM9N6R qF+iWO8XcFHP+g83jIlR/pxLosMAsKSYpWBvQWof55uYzRRD/mXcCj5ZxyiPThUjHXpf awcPDcF1aHWQX1T3tJKZRGONmVnyAMRWi/wbiyBM0B2JTD2mRwysC5UnKBT/yDUEk7ZL JqOg== X-Gm-Message-State: AOAM532uvfCs4IfKAw87J2NSD3pM9xSaiHxvc9rKOmyZ4wDzPCsvfacF 3WpZK+fpoqdNtISBtq2JXH7+QQ== X-Google-Smtp-Source: ABdhPJyxpZdsVu7hQhNeEbg9xqY9BWm4r5UbDoto++gNr0XkWtd9SwO5oTAiCGh8td7MvuPtATh0kA== X-Received: by 2002:a05:6402:1a52:: with SMTP id bf18mr757720edb.143.1610396233705; Mon, 11 Jan 2021 12:17:13 -0800 (PST) Original-Received: from Utnapischtim (p2003000613f56a21e90776281ce14892.dip0.t-ipconnect.de. [2003:6:13f5:6a21:e907:7628:1ce1:4892]) by smtp.gmail.com with ESMTPSA id x6sm418326edl.67.2021.01.11.12.17.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 11 Jan 2021 12:17:12 -0800 (PST) X-Mailer: emacs 28.0.50 (via feedmail 11-beta-1 I) X-Hashcash: 1:20:210111:larsi@gnus.org::hHUe6h4gsW7gtO/I:0001ntN X-Hashcash: 1:20:210111:oub@mat.ucm.es::jyJDDwb6tYuHzjSE:0001U/N X-Hashcash: 1:20:210111:eliz@gnu.org::FfbubimNMS4LVcmH:0000045hr X-Hashcash: 1:20:210111:45693@debbugs.gnu.org::6EuYuBw0OZSClIwE:00000000000000000000000000000000000000008eVr X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:197748 Archived-At: --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable >>> "RP" =3D=3D Robert Pluim writes: > Uwe Brauer writes: >>> So does it mean we had better avoid describing this "feature" in the >>> docs, until and unless it gets fixed to be more user-friendly? >>=20 >> Well, I find it useful and found a real kludge by using two abbrev files >> and associated minor modes. I think what is *really* missing is to=20 >> improve/rewrite the write-abbrev-file function. Thanks,=20 1. I pulled the last GNU Emacs master,=20 2. applied your patch, compiled,=20 3. started emacs -Q 4. loaded the new abbrev file and 5. then repeated the steps as described,=20 but the write function behaved in the same way as before. Maybe I am too tired and should retry it tomorrow. Sorry. > At the very least we need to support :regexp and > :case-fixed. Something like this, maybe? > diff --git i/lisp/abbrev.el w/lisp/abbrev.el > index 65f7118385..21b4af095f 100644 > --- i/lisp/abbrev.el > +++ w/lisp/abbrev.el > @@ -1074,7 +1074,11 @@ insert-abbrev-table-description > a call to `define-abbrev-table' that when evaluated will define > the abbrev table NAME exactly as it is currently defined. > Abbrevs marked as \"system abbrevs\" are ignored." > - (let ((symbols (abbrev--table-symbols name readable))) > + (let* ((symbols (abbrev--table-symbols name readable)) > + (docstring (or (documentation-property name 'variable-documentat= ion) > + "no documentation")) > + (sym (obarray-get (symbol-value name) "")) > + (props (symbol-plist sym))) > (setq symbols (sort symbols 'string-lessp)) > (let ((standard-output (current-buffer))) > (if readable > @@ -1090,7 +1094,13 @@ insert-abbrev-table-description > (insert " '())\n\n") > (insert "\n '(\n") > (mapc 'abbrev--write symbols) > - (insert " ))\n\n"))) > + (insert " )\n") > + (insert (format "%S\n" docstring)) > + (when (plist-member props :case-fixed) > + (insert (format "%s %s\n" :case-fixed (plist-get props :case= -fixed)))) > + (when (plist-member props :regexp) > + (insert (format "%s %S\n" :regexp (plist-get props :regexp))= )) > + (insert ")\n\n"))) > nil))) =20 > (defun abbrev--table-symbols (name &optional system) --=-=-= Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7s 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 zuQnycCAN4ldn23nkeGADprP9ZqptC0pK1osMJWBfVZ/Gqq/3gJ0/3fCnWAuWf/THNWs1h1je8ye jE3bmfT3FYzJu9Ir4h2qIYBFLve/W8tt2nMevau6iz4x5GKBoX9n7dbUKmJo7PYnIMD4a8y8stc8 12MtB6HhZ7OG4tjfjAU5qX/4vB2TiugctzEtlJQrI14R4c2psEcCAwEAAaOCAsgwggLEMBIGA1Ud EwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSx1E/EI3n6RAUJxus5z+g1 sLggZDCBmAYIKwYBBQUHAQEEgYswgYgwSQYIKwYBBQUHMAGGPWh0dHA6Ly9vY3NwZm5tdHJjbWNh LmNlcnQuZm5tdC5lcy9vY3NwZm5tdHJjbWNhL09jc3BSZXNwb25kZXIwOwYIKwYBBQUHMAKGL2h0 dHA6Ly93d3cuY2VydC5mbm10LmVzL2NlcnRzL0FDUkFJWkZOTVRSQ00uY3J0MB8GA1UdIwQYMBaA FPd9xf3E6Jobd2Sn9R2gzL+HYJptMIHrBgNVHSAEgeMwgeAwgd0GBFUdIAAwgdQwKQYIKwYBBQUH AgEWHWh0dHA6Ly93d3cuY2VydC5mbm10LmVzL2RwY3MvMIGmBggrBgEFBQcCAjCBmQyBllN1amV0 byBhIGxhcyBjb25kaWNpb25lcyBkZSB1c28gZXhwdWVzdGFzIGVuIGxhIERlY2xhcmFjacOzbiBk ZSBQcsOhY3RpY2FzIGRlIENlcnRpZmljYWNpw7NuIGRlIGxhIEZOTVQtUkNNICggQy8gSm9yZ2Ug SnVhbiwgMTA2LTI4MDA5LU1hZHJpZC1Fc3Bhw7FhKTCB1AYDVR0fBIHMMIHJMIHGoIHDoIHAhoGQ bGRhcDovL2xkYXBmbm10LmNlcnQuZm5tdC5lcy9DTj1DUkwsT1U9QUMlMjBSQUlaJTIwRk5NVC1S Q00sTz1GTk1ULVJDTSxDPUVTP2F1dGhvcml0eVJldm9jYXRpb25MaXN0O2JpbmFyeT9iYXNlP29i amVjdGNsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50hitodHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9j cmxzL0FSTEZOTVRSQ00uY3JsMA0GCSqGSIb3DQEBCwUAA4ICAQCMPSi04H4N825c2lx3PYBkHk7p ErjJ5rL/K4CgeD2ETCxliy/c8WMr591SQduv/BcLjJqE8gnUXVainvmCZsCFXpxe6oPnfEaOfl/m Y+2rYu9GTidhlYG9TQI9qTQPmfnma1aVA599S/t84k4S76QLRLU8egExWyZhIJKUdQJ21s77rMMF CDFAbKUdNp4giM6giVZtrtlMvZB8PnYgSUbsFWKaQWWr4J+xAjTvryniACmZnvljHdGUE4ZA0WCM RRcGIVhaHNUxPi39J1WxGuY/7+qFXGrj/tnci4x/603VYYeC5yPwyjxih3bkPKl7oW8YGyIrvIwU /9J93VkDxQd6LvfrB5ZU/bklFRq7Sviso4Bix+aHvIuBjmx+xiVLYZFMBGMxoo4P1pir5vo4NIJ5 Vk+x4lNCuHxFpXSAZfZzWoddskj1Tet6v/JAl0tyUfHDPNmXrMy1Z7T7OuIrVdliq5KzQPi7buGf 1E2OJbh/iEXr6Pa3k+u/dDEL2KwsI0rLjQ+H1yPOv5hhEhr4W8BApqYXvC/41dLmdNciOZpoIXnQ a+Vqir+uBJiFzRVWdt/pofERQoKj2bGrVWlaAUKtRXrzoTzIxL8YjIMz173tgN4Epp4P1Cg3Chsx W8i/r3kmYXT/OeJj5NyDxAmGRDagGFl4wZbZvFA0ZlAbdcKYETCCB14wggZGoAMCAQICEHyPZdFE 3gS5WtRZrC7IKYIwDQYJKoZIhvcNAQELBQAwSzELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQt UkNNMQ4wDAYDVQQLDAVDZXJlczEZMBcGA1UEAwwQQUMgRk5NVCBVc3VhcmlvczAeFw0xODA0MTYw ODA3MDhaFw0yMjA0MTYwODA3MDhaMIGBMQswCQYDVQQGEwJFUzEYMBYGA1UEBRMPSURDRVMtWDIw NjQxMjNCMRkwFwYDVQQqDBBVV0UgUklDSEFSRCBPVFRPMQ8wDQYDVQQEDAZCUkFVRVIxLDAqBgNV BAMMI0JSQVVFUiBVV0UgUklDSEFSRCBPVFRPIC0gWDIwNjQxMjNCMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAzS7yAm9gXjzxCrn15XBUuZz/gDM/KQi589qGkENYw7LiHtxKBOncld1o FohvckNdY7A8AJiHVVVoA6BXF7DI0BGFwaQ5qUDlzq7mW9+zL+OLXNSp52lfuERPd2y18LaHLp34 czgsvaCTzPl//lrDz6sa5Q//1DlNuzbjY/Afgd+jPPCI4wjOPcW3k1pvEf9Ed1nmAEiqAfyeHN/n RSfL83jACwvvkrJFg3gxTKrp7QJUdbTAomwPhQcsTWFxdA4FXPAZlYrhiM/qGRp/IKzRUCwIIebD qmkfLZIRl1gm9RFzzpps+dcw4qV7nRcA2KWQwjd36pVQxVF1e1BXq+BZjwIDAQABo4IEBTCCBAEw bwYDVR0RBGgwZoEOb3ViQG1hdC51Y20uZXOkVDBSMRgwFgYJKwYBBAGsZgEEDAlYMjA2NDEyM0Ix FTATBgkrBgEEAaxmAQIMBkJSQVVFUjEfMB0GCSsGAQQBrGYBAQwQVVdFIFJJQ0hBUkQgT1RUTzAM BgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUH AwIwHQYDVR0OBBYEFORUbZuzfTkfXyYfMh59Q0C0evYpMB8GA1UdIwQYMBaAFLHUT8QjefpEBQnG 6znP6DWwuCBkMIGCBggrBgEFBQcBAQR2MHQwPQYIKwYBBQUHMAGGMWh0dHA6Ly9vY3NwdXN1LmNl cnQuZm5tdC5lcy9vY3NwdXN1L09jc3BSZXNwb25kZXIwMwYIKwYBBQUHMAKGJ2h0dHA6Ly93d3cu Y2VydC5mbm10LmVzL2NlcnRzL0FDVVNVLmNydDCCARUGA1UdIASCAQwwggEIMIH6BgorBgEEAaxm AwoBMIHrMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzCBvQYIKwYB BQUHAgIwgbAMga1DZXJ0aWZpY2FkbyBjdWFsaWZpY2FkbyBkZSBmaXJtYSBlbGVjdHLDs25pY2Eu IFN1amV0byBhIGxhcyBjb25kaWNpb25lcyBkZSB1c28gZXhwdWVzdGFzIGVuIGxhIERQQyBkZSBs YSBGTk1ULVJDTSBjb24gTklGOiBRMjgyNjAwNC1KIChDL0pvcmdlIEp1YW4gMTA2LTI4MDA5LU1h ZHJpZC1Fc3Bhw7FhKTAJBgcEAIvsQAEAMIG6BggrBgEFBQcBAwSBrTCBqjAIBgYEAI5GAQEwCwYG BACORgEDAgEPMBMGBgQAjkYBBjAJBgcEAI5GAQYBMHwGBgQAjkYBBTByMDcWMWh0dHBzOi8vd3d3 LmNlcnQuZm5tdC5lcy9wZHMvUERTQUNVc3Vhcmlvc19lcy5wZGYTAmVzMDcWMWh0dHBzOi8vd3d3 LmNlcnQuZm5tdC5lcy9wZHMvUERTQUNVc3Vhcmlvc19lbi5wZGYTAmVuMIG1BgNVHR8Ega0wgaow gaeggaSggaGGgZ5sZGFwOi8vbGRhcHVzdS5jZXJ0LmZubXQuZXMvY249Q1JMMTgwNixjbj1BQyUy MEZOTVQlMjBVc3VhcmlvcyxvdT1DRVJFUyxvPUZOTVQtUkNNLGM9RVM/Y2VydGlmaWNhdGVSZXZv Y2F0aW9uTGlzdDtiaW5hcnk/YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDAN BgkqhkiG9w0BAQsFAAOCAQEAZvJUHMPzj+us0nNHF9NuVpoY1yQL9NzCMCBHYdHQPmc4ITA8zYwa jTXv9lj6P+JDAoa/kqFImCOLcy0ZL4VucSZgtTA8HDuU6mzM11Gf4VKeLnJk9T8EJr5/HQDw+okC r5YlPfyX3y14qdscFa1UJCASfH9PMk8NDF9sr7qHhz/SmapSF87Co8V8uCrCSODmdBHZCAfAIb35 ujfEUuXi0cVkW9PwHltpA1ahA8TXuIXWkk+Ot2NIy5M2SlLVnSUInArMkbc9meIQKpKHTl2oSFm6 PA272V54F5VoKfYLRk38PAZosWyAHiXDLMl3ZgN7ZZZsc17WPeu3kCICEkW1IzGCAiAwggIcAgEB MF8wSzELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQtUkNNMQ4wDAYDVQQLDAVDZXJlczEZMBcG A1UEAwwQQUMgRk5NVCBVc3VhcmlvcwIQfI9l0UTeBLla1FmsLsgpgjANBglghkgBZQMEAgEFAKCB kzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTAxMTEyMDE3MDZa MCgGCSqGSIb3DQEJDzEbMBkwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMC8GCSqGSIb3DQEJBDEi BCD4CHlGhHaZhE+NtAP/AhWLAxNTzdIeWBmZqv4hQB5WSzANBgkqhkiG9w0BAQEFAASCAQA8Zfas AFK5Q7/wSOP/RAc1fwLVgdBvqi082du0jSCHVKbm0HMU9eRsDV3hE+N6PUgthbeEdcXWogCOt0Ly Mya1cxgpi6d3JCroApE8mVYlA8fznu6bhut/bUHUg6mNZu6aMCidCQiRzpj/3hvXXDWuM6AE09mW lqKcFOxvOmRbjO1lF1OT/pe0FtHdVFpG+EvmCztgi1xtEXdUV8V28W6OFY5j7qtIXQT2BAob7+gc cv2Mfv+VPLssEZoG42sxOV/c6vt7kxhPfyNO3bO9/2fLeW/vySWL4+QPd28cehITAETQJD33cKul hlRLZ6vKXRWzVWTrMaQehzolgEBV7hCuAAAAAAAA --=-=-=--