From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?UTF-8?Q?Cl=c3=a9ment_Pit--Claudel?= Newsgroups: gmane.emacs.devel Subject: How can I undo a change from a modification-hook? Date: Wed, 26 Apr 2017 03:02:24 -0400 Message-ID: <2448005f-9fc4-78b2-3203-9fc8204f6f5b@mit.edu> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms010306020208020408020408" X-Trace: blaine.gmane.org 1493192052 7805 195.159.176.226 (26 Apr 2017 07:34:12 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 26 Apr 2017 07:34:12 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 To: Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 26 09:34:08 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d3HSh-0001ui-4M for ged-emacs-devel@m.gmane.org; Wed, 26 Apr 2017 09:34:07 +0200 Original-Received: from localhost ([::1]:53152 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d3HSm-0008CF-R3 for ged-emacs-devel@m.gmane.org; Wed, 26 Apr 2017 03:34:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57304) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d3Gy8-0006dw-5f for emacs-devel@gnu.org; Wed, 26 Apr 2017 03:02:32 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d3Gy4-0000Sg-7P for emacs-devel@gnu.org; Wed, 26 Apr 2017 03:02:32 -0400 Original-Received: from mout.kundenserver.de ([217.72.192.75]:49207) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d3Gy3-0000SR-Tm for emacs-devel@gnu.org; Wed, 26 Apr 2017 03:02:28 -0400 Original-Received: from [18.189.26.125] ([18.189.26.125]) by mrelayeu.kundenserver.de (mreue103 [212.227.15.184]) with ESMTPSA (Nemesis) id 0MOD1o-1d8mkX2dV6-005cxP for ; Wed, 26 Apr 2017 09:02:25 +0200 X-Provags-ID: V03:K0:ku426r2Uo7kr0V67BII8h1mrr7ugk2YE1qfhewnuujwZr3IG/7k NvjHqnnKpQzhgBnS8NxhYmXCxi/HslprH1NGCnHpNgsKbOGLXaUWqXtAxqkRuxLdxyjYvAl Y8mwm9/a6GhtZV4x+3mEmOYV16tPF8x8Q6BMqFIPHRMAW7OZx2g2iZWNScoigSoor7eloqS BV2I57LbTYAkukZ6PPcjw== X-UI-Out-Filterresults: notjunk:1;V01:K0:ddVWTj9USbI=:VeSK/526gwaLJwUvazAs9D XA2mqG7DgOurLDnN8Xg3ExAZzyc4mcEo+7qGCnTq9l9SQMpiD9SzV8rIOHDLQC6NrKRER1plm pA6kDxCTO2ghV5nWu2e9HXNpuC+VUwshNMR7pWlq59cW1TC31imDOc2sGqlPK7gv7s8t0uXZh VFSSEzgw8ikYyy3ycLGFOohb9nSYRqo2c5XjSFfS1XMgSsOyGVFj6UEw0X7A+cPn3Y8LckjTv s5bik6ElK6OHsrejEVWj6IGTiowyCmvitkeQ+VoljEQ49KrGCQLLJLRXNzFuBsWFhGf406Qhc f2W9thNwddn8DzMVGzMy4GgaOs5U52vl8HDU/VecllaTkWi3hsSSrwqFN5vsoSxMB5NTLSolU 1UeStj5DQ7P52ht+vC0ITBhnY3/vj+o3h3/WkIPjpijGZ2m3SHNln+vqbaswmGGfJoC2ydwKN bw7hcEeKPJhoiWljllllS3BjHx1B/qB6NRHLO2RN5cRhRS4b8sIH/Y5VqUhZyYOVdRetS6o5Y eDTAJGlngJ6nPJAM/b5G6ufY8tvt6uH9SOx75CqSZlt7peQyciunr2ITtwk+cNfZsAsjt0hcD At26spd3LVUyyYdfTbdLSUBisXGNiEe0t1qV9ovb8hIm5tvZKeyJ1TyupP9eijQ4CmDf58WgL zAUEzMKcfKaR7AetVEu7iH9wZ04+4BYlXyxcfb0TbGXcTs3wIEl0xQTswKS4UfXuEmmY= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.75 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:214296 Archived-At: This is a cryptographically signed message in MIME format. --------------ms010306020208020408020408 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hey emacs-devel, I'm using overlays to keep track of buffer regions that have been sent to= a subprocess. Edits in a previously sent ("processed") region are gener= ally forbidden =E2=80=94 the only two permissible kinds of changes in pro= cessed regions are editing a comment and adding or removing of space at t= he end of a line. Adding a modification-hook to my overlays makes it easy to disallow chang= es (by raising an error), and to allow changes when in a comment. I can'= t find a good way to allow whitespace edits at the end of a line, though.= I can detect such changes from the second call to the modification hook= (during which it's easy to know whether the change is only adding or rem= oving space at the end of a line), but I can't easily undo the changes an= d error out if they involve more than whitespace, can I? What's the right way do disallow certain modifications in text covered by= an overlay, in particular when the determination of whether to allow a g= iven modification cannot be made during the first call to the overlay's m= odification hook? For example, how can I make an overlay that allows ins= ertion or deletion of space at the end of the lines that it covers, but n= o other modifications? Thanks! Cl=C3=A9ment. --------------ms010306020208020408020408 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC A8gwggPEMIIDLaADAgECAhAFTpEFd7pdiMcr6MwkhoRoMA0GCSqGSIb3DQEBCwUAMGwxCzAJ BgNVBAYTAlVTMRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMS4wLAYDVQQKEyVNYXNzYWNodXNl dHRzIEluc3RpdHV0ZSBvZiBUZWNobm9sb2d5MRUwEwYDVQQLEwxDbGllbnQgQ0EgdjEwHhcN MTYwNzIyMjAzNzM3WhcNMTcwNzMxMjAzNzM3WjCBrDELMAkGA1UEBhMCVVMxFjAUBgNVBAgT DU1hc3NhY2h1c2V0dHMxLjAsBgNVBAoTJU1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRl Y2hub2xvZ3kxFTATBgNVBAsTDENsaWVudCBDQSB2MTEeMBwGA1UEAxMVQ2xlbWVudCBGIFBp dC1DbGF1ZGVsMR4wHAYJKoZIhvcNAQkBFg9jcGl0Y2xhQE1JVC5FRFUwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQDsGIVjnDysgVLsrxleGDQEZl+iGBLP/jTIQQ+YIyZZYRVI 99cMACDLph3Qcm4BaRcTho8JOavaLhh4Z2+ZmSfjweyV0xnZWBJCTBeNI1oEoyJNbjFHWTIl TTvTt5dIjs3a+zFYTw1MWAZ4pafu9Pf9h/HaEPTUKlzSZxDeMvPOcgy4EdnY8dtL01we1Ify 75izdeVA5I5w6zRXctD3CGoXBrGiItYDMqWBK9TXYto3nv/Gqr9uww7OVp71lL3NU5B3Sf/L KluHbBFvTOSzW2/SKY1Rx7vr5y+pB3x8dlAYUW6u7pRFDVDHPMWP++ywzdBfLXifLjYu559Q 6hzHTYbPAgMBAAGjgaEwgZ4wCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBaAwHQYDVR0l BBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMAsGA1UdDwQEAwIF4DAdBgNVHQ4EFgQU7aMDTdzd UPsZO6dMaXbmqp2doQUwMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NhLm1pdC5lZHUvY2Ev bWl0Y2xpZW50LmNybDANBgkqhkiG9w0BAQsFAAOBgQC/dYWdWhW8tzDOax/vqKDpffMjVeT2 ITDAndaxp6RTMKo+TWczZJ3e3xaKHMmTKvvtL94l1gcxFkWwKeZY47IQB5r/6IodFek6RWMg BjoypsLaE+f/tRw3iNds+jJyrMpRqRbEIBvxMTwhYc5MQU9o4xOgg4TXPHH6nf6VAm6+TjGC A7EwggOtAgEBMIGAMGwxCzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMS4w LAYDVQQKEyVNYXNzYWNodXNldHRzIEluc3RpdHV0ZSBvZiBUZWNobm9sb2d5MRUwEwYDVQQL EwxDbGllbnQgQ0EgdjECEAVOkQV3ul2IxyvozCSGhGgwDQYJYIZIAWUDBAIBBQCgggIBMBgG CSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE3MDQyNjA3MDIyNFow LwYJKoZIhvcNAQkEMSIEIH6iAwYhtPHfEXlJphhZQKFxhsqrUqcR+77au18E1nJjMGwGCSqG SIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAOBggq hkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgwgZEG CSsGAQQBgjcQBDGBgzCBgDBsMQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0 czEuMCwGA1UEChMlTWFzc2FjaHVzZXR0cyBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neTEVMBMG A1UECxMMQ2xpZW50IENBIHYxAhAFTpEFd7pdiMcr6MwkhoRoMIGTBgsqhkiG9w0BCRACCzGB g6CBgDBsMQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEuMCwGA1UEChMl TWFzc2FjaHVzZXR0cyBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neTEVMBMGA1UECxMMQ2xpZW50 IENBIHYxAhAFTpEFd7pdiMcr6MwkhoRoMA0GCSqGSIb3DQEBAQUABIIBAMVh0adox/5/Zdry lzC2e2EX3vFFpwLmSgda6yXy0BbV9i8w/EP2vs9GCq5sSPJ0QBfY5CnZkebkK/zt89Q7UXd5 c8pWA3hZ4dzD6ZXsL25HAIhkrAIBoSt/NwXu04OanqP/LfB5VjKV98GNrUGpmmphAMWnyLmL kjMlAwPQcvGoo4TDiFm2ZhGBlcfUdwK02Okf5gNA/CF5Av2GSuXfnnz9wmaNfWxv4pB3xKYF bTsOVf2qmkQvcjEvD7kV33yQCrnuY/MFK4da9auFGbk24ucXoHFXmmgPNk/YZFpl2O3TQq5x tJEKHyjbyHbezsID70ow8g7FRhwRJolcblU59iMAAAAAAAA= --------------ms010306020208020408020408--