From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.bugs Subject: bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing. Date: Tue, 14 Feb 2023 22:50:24 +0000 Message-ID: <0f053182b00a59a41caa@heytings.org> References: <166939872890.18950.12581667269687468681@vcs2.savannah.gnu.org> <83eds0ksev.fsf@gnu.org> <8aadf0ddd54c85c8144a@heytings.org> <831qnhg3d9.fsf@gnu.org> <9757fbea37611e9c44b9@heytings.org> <83cz6yacxt.fsf@gnu.org> <6943e04e30e5a02a52e6@heytings.org> <838rhk5fy1.fsf@gnu.org> <6943e04e30a40824e107@heytings.org> <83k0143q37.fsf@gnu.org> <94821a0ef100102ac9e0@heytings.org> <83bkmdz04y.fsf@gnu.org> <43562d4dd9dffd81938f@heytings.org> <83357ozhx0.fsf@gnu.org> <83wn4zurit.fsf@gnu.org> <83bkmaueib.fsf@gnu.org> <83357fnwyy.fsf@gnu.org> <83ttzsk6v4.fsf@gnu.org> <83wn4le8s3.fsf@gnu.org> <0f053182b02103503c26@heytings.org> <83pmaccnz7.fsf@gnu.org> <0f053182b04357300cb1@heytings.org> <83lel0chku.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="VjxwbplpFy" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38375"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 56682@debbugs.gnu.org, monnier@iro.umontreal.ca, akrl@sdf.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Feb 14 23:51:27 2023 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 1pS490-0009ht-6X for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 14 Feb 2023 23:51:26 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pS48e-0008Sw-Vz; Tue, 14 Feb 2023 17:51:05 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pS48c-0008SY-Mt for bug-gnu-emacs@gnu.org; Tue, 14 Feb 2023 17:51:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pS48c-0008VA-Ew for bug-gnu-emacs@gnu.org; Tue, 14 Feb 2023 17:51:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pS48b-0005LF-S4 for bug-gnu-emacs@gnu.org; Tue, 14 Feb 2023 17:51:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 Feb 2023 22:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56682 X-GNU-PR-Package: emacs Original-Received: via spool by 56682-submit@debbugs.gnu.org id=B56682.167641502820493 (code B ref 56682); Tue, 14 Feb 2023 22:51:01 +0000 Original-Received: (at 56682) by debbugs.gnu.org; 14 Feb 2023 22:50:28 +0000 Original-Received: from localhost ([127.0.0.1]:57306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pS484-0005KT-6i for submit@debbugs.gnu.org; Tue, 14 Feb 2023 17:50:28 -0500 Original-Received: from heytings.org ([95.142.160.155]:57150) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pS482-0005KL-Bu for 56682@debbugs.gnu.org; Tue, 14 Feb 2023 17:50:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20220101; t=1676415025; bh=sBgIN1lVG1HjdCfQ9TKAB+9KL4YM1kSR++faJYPXX58=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=Nox7Miy+LOfNHmbAQDd20Ih00601MQNZ+R5ZWw2K38izcmZ7cYzZnDH2wh81eSICg /L4LhwxE68iUcHArSeNFOFN1hRDXYWZBETZAZZRyu7OPCWiWnraWR4eICHRCcpCa4s PVUW7NQTLsCnf1D6SfpxvEniGfH0RZGNbGrLzWTAGGiK8p04Z8Rog33l8yOaU8fagT I+WoUIXrEwRgAhVaUKgc4bNIgbnelm2ePgOUNlTlV0yejuoCKaMxntG8HKsgX0ovV9 aydVBHbzZEo4kFz/dXI30BayIHeRtG1u3hFrCHD0cvFn7N/xTOq8Gtcj8SGfs65LOO iyUi0IkNfk+BQ== In-Reply-To: <83lel0chku.fsf@gnu.org> 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:255642 Archived-At: --VjxwbplpFy Content-Type: text/plain; charset=us-ascii; format=flowed >> Fwiden in the functions above (which are AFAICS the only places in >> Emacs where Fwiden is called) is not prepared to the possibility of >> them being called inside a labeled narrowing, either one installed by >> the long lines code, or another one. Basically we need to use a >> variant of reset_outermost_narrowings (for the current buffer only) >> where we use >> >> record_unwind_protect (save_restriction_restore, save_restriction_save ()); > > Ah, okay. Please do, and thanks. > And here's the patch! --VjxwbplpFy Content-Type: text/x-diff; name=Remove-narrowing-locks-before-calling-Fwiden.patch Content-Transfer-Encoding: base64 Content-ID: <0f053182b01769bb5c85@heytings.org> Content-Disposition: attachment; filename=Remove-narrowing-locks-before-calling-Fwiden.patch RnJvbSBjNDgyMzg5ZmQ1OWVkY2JjNzM4YTRkNDhjYTZiNjVkMTRhZjYwYjI1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBUdWUsIDE0IEZl YiAyMDIzIDIyOjQxOjE0ICswMDAwDQpTdWJqZWN0OiBbUEFUQ0hdIFJlbW92 ZSBuYXJyb3dpbmcgbG9ja3MgYmVmb3JlIGNhbGxpbmcgRndpZGVuDQoNCiog c3JjL2VkaXRmbnMuYyAobmFycm93aW5nX2xvY2tzX3JlbW92ZV9pbl9jdXJy ZW50X2J1ZmZlcikgOiBOZXcNCmZ1bmN0aW9uLg0KDQoqIHNyYy9saXNwLmg6 IE1ha2UgaXQgZXh0ZXJuYWxseSB2aXNpYmxlLg0KDQoqIHNyYy94ZGlzcC5j IChkaXNwbGF5X2NvdW50X2xpbmVzX2xvZ2ljYWxseSk6DQoqIHNyYy9scmVh ZC5jIChyZWFkZXZhbGxvb3ApOg0KKiBzcmMvaW5kZW50LmMgKGxpbmVfbnVt YmVyX2Rpc3BsYXlfd2lkdGgpOg0KKiBzcmMvZmlsZWlvLmMgKHdyaXRlX3Jl Z2lvbik6DQoqIHNyYy9jYWxscHJvYy5jIChGY2FsbF9wcm9jZXNzX3JlZ2lv bik6DQoqIHNyYy9idWZmZXIuYyAoRmVyYXNlX2J1ZmZlcik6IFVzZSBpdC4N Ci0tLQ0KIHNyYy9idWZmZXIuYyAgIHwgMSArDQogc3JjL2NhbGxwcm9jLmMg fCAxICsNCiBzcmMvZWRpdGZucy5jICB8IDcgKysrKysrKw0KIHNyYy9maWxl aW8uYyAgIHwgMSArDQogc3JjL2luZGVudC5jICAgfCAxICsNCiBzcmMvbGlz cC5oICAgICB8IDEgKw0KIHNyYy9scmVhZC5jICAgIHwgMSArDQogc3JjL3hk aXNwLmMgICAgfCAxICsNCiA4IGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlv bnMoKykNCg0KZGlmZiAtLWdpdCBhL3NyYy9idWZmZXIuYyBiL3NyYy9idWZm ZXIuYw0KaW5kZXggZGYxZjUyMDY2NjguLmE5ZDAwNGQ4NzI3IDEwMDY0NA0K LS0tIGEvc3JjL2J1ZmZlci5jDQorKysgYi9zcmMvYnVmZmVyLmMNCkBAIC0y Mzg2LDYgKzIzODYsNyBAQCBERUZVTiAoImVyYXNlLWJ1ZmZlciIsIEZlcmFz ZV9idWZmZXIsIFNlcmFzZV9idWZmZXIsIDAsIDAsICIqIiwNCiBzbyB0aGUg YnVmZmVyIGlzIHRydWx5IGVtcHR5IGFmdGVyIHRoaXMuICAqLykNCiAgICh2 b2lkKQ0KIHsNCisgIG5hcnJvd2luZ19sb2Nrc19yZW1vdmVfaW5fY3VycmVu dF9idWZmZXIgKCk7DQogICBGd2lkZW4gKCk7DQogDQogICBkZWxfcmFuZ2Ug KEJFRywgWik7DQpkaWZmIC0tZ2l0IGEvc3JjL2NhbGxwcm9jLmMgYi9zcmMv Y2FsbHByb2MuYw0KaW5kZXggNWUxZTFhOGNjMGEuLmMxNDRmNmU2NmQ5IDEw MDY0NA0KLS0tIGEvc3JjL2NhbGxwcm9jLmMNCisrKyBiL3NyYy9jYWxscHJv Yy5jDQpAQCAtMTExMyw2ICsxMTEzLDcgQEAgdCAobWl4IGl0IHdpdGggb3Jk aW5hcnkgb3V0cHV0KSwgb3IgYSBmaWxlIG5hbWUgc3RyaW5nLg0KICAgICAg ICAgew0KICAgICAgICAgICAvKiBObyBuZWVkIHRvIHNhdmUgcmVzdHJpY3Rp b25zIHNpbmNlIHdlIGRlbGV0ZSBldmVyeXRoaW5nDQogICAgICAgICAgICAg IGFueXdheS4gICovDQorICAgICAgICAgIG5hcnJvd2luZ19sb2Nrc19yZW1v dmVfaW5fY3VycmVudF9idWZmZXIgKCk7DQogICAgICAgICAgIEZ3aWRlbiAo KTsNCiAgICAgICAgICAgZGVsX3JhbmdlIChCRUcsIFopOw0KICAgICAgICAg fQ0KZGlmZiAtLWdpdCBhL3NyYy9lZGl0Zm5zLmMgYi9zcmMvZWRpdGZucy5j DQppbmRleCBmODNjNWM3MjU5Yi4uMzJmNjU0YWY4YzMgMTAwNjQ0DQotLS0g YS9zcmMvZWRpdGZucy5jDQorKysgYi9zcmMvZWRpdGZucy5jDQpAQCAtMjgx NCw2ICsyODE0LDEzIEBAIG5hcnJvd2luZ19sb2Nrc19yZXN0b3JlIChMaXNw X09iamVjdCBidWZfYW5kX3NhdmVkX2xvY2tzKQ0KICAgICBuYXJyb3dpbmdf bG9ja3NfYWRkIChidWYsIHNhdmVkX2xvY2tzKTsNCiB9DQogDQorLyogUmVt b3ZlIGFsbCBuYXJyb3dpbmcgbG9ja3MgaW4gdGhlIGN1cnJlbnQgYnVmZmVy LiAgKi8NCit2b2lkDQorbmFycm93aW5nX2xvY2tzX3JlbW92ZV9pbl9jdXJy ZW50X2J1ZmZlciAodm9pZCkNCit7DQorICBuYXJyb3dpbmdfbG9ja3NfcmVt b3ZlIChGY3VycmVudF9idWZmZXIgKCkpOw0KK30NCisNCiBzdGF0aWMgdm9p ZA0KIHVud2luZF9uYXJyb3dfdG9fcmVnaW9uX2xvY2tlZCAoTGlzcF9PYmpl Y3QgdGFnKQ0KIHsNCmRpZmYgLS1naXQgYS9zcmMvZmlsZWlvLmMgYi9zcmMv ZmlsZWlvLmMNCmluZGV4IGYwMGMzODlhNTIwLi5jZjVhNGVjZjgwYSAxMDA2 NDQNCi0tLSBhL3NyYy9maWxlaW8uYw0KKysrIGIvc3JjL2ZpbGVpby5jDQpA QCAtNTI2OSw2ICs1MjY5LDcgQEAgd3JpdGVfcmVnaW9uIChMaXNwX09iamVj dCBzdGFydCwgTGlzcF9PYmplY3QgZW5kLCBMaXNwX09iamVjdCBmaWxlbmFt ZSwNCiAgICAgfQ0KIA0KICAgcmVjb3JkX3Vud2luZF9wcm90ZWN0IChzYXZl X3Jlc3RyaWN0aW9uX3Jlc3RvcmUsIHNhdmVfcmVzdHJpY3Rpb25fc2F2ZSAo KSk7DQorICBuYXJyb3dpbmdfbG9ja3NfcmVtb3ZlX2luX2N1cnJlbnRfYnVm ZmVyICgpOw0KIA0KICAgLyogU3BlY2lhbCBrbHVkZ2UgdG8gc2ltcGxpZnkg YXV0by1zYXZpbmcuICAqLw0KICAgaWYgKE5JTFAgKHN0YXJ0KSkNCmRpZmYg LS1naXQgYS9zcmMvaW5kZW50LmMgYi9zcmMvaW5kZW50LmMNCmluZGV4IDZk ZTE4ZDc0OWNhLi41ZjZkYzQ3ZjAzNCAxMDA2NDQNCi0tLSBhL3NyYy9pbmRl bnQuYw0KKysrIGIvc3JjL2luZGVudC5jDQpAQCAtMjA2NSw2ICsyMDY1LDcg QEAgbGluZV9udW1iZXJfZGlzcGxheV93aWR0aCAoc3RydWN0IHdpbmRvdyAq dywgaW50ICp3aWR0aCwgaW50ICpwaXhlbF93aWR0aCkNCiAJew0KIAkgIHJl Y29yZF91bndpbmRfcHJvdGVjdCAoc2F2ZV9yZXN0cmljdGlvbl9yZXN0b3Jl LA0KIAkJCQkgc2F2ZV9yZXN0cmljdGlvbl9zYXZlICgpKTsNCisJICBuYXJy b3dpbmdfbG9ja3NfcmVtb3ZlX2luX2N1cnJlbnRfYnVmZmVyICgpOw0KIAkg IEZ3aWRlbiAoKTsNCiAJICBzYXZlZF9yZXN0cmljdGlvbiA9IHRydWU7DQog CX0NCmRpZmYgLS1naXQgYS9zcmMvbGlzcC5oIGIvc3JjL2xpc3AuaA0KaW5k ZXggMTI3NjI4NWUyZjIuLjYzN2VkZTcwNTFlIDEwMDY0NA0KLS0tIGEvc3Jj L2xpc3AuaA0KKysrIGIvc3JjL2xpc3AuaA0KQEAgLTQ2ODksNiArNDY4OSw3 IEBAIFhNT0RVTEVfRlVOQ1RJT04gKExpc3BfT2JqZWN0IG8pDQogCQkJCQkg ICAgcHRyZGlmZl90LCBib29sKTsNCiBleHRlcm4gdm9pZCBuYXJyb3dfdG9f cmVnaW9uX2xvY2tlZCAoTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0LCBMaXNw X09iamVjdCk7DQogZXh0ZXJuIHZvaWQgcmVzZXRfb3V0ZXJtb3N0X25hcnJv d2luZ3MgKHZvaWQpOw0KK2V4dGVybiB2b2lkIG5hcnJvd2luZ19sb2Nrc19y ZW1vdmVfaW5fY3VycmVudF9idWZmZXIgKHZvaWQpOw0KIGV4dGVybiB2b2lk IGluaXRfZWRpdGZucyAodm9pZCk7DQogZXh0ZXJuIHZvaWQgc3ltc19vZl9l ZGl0Zm5zICh2b2lkKTsNCiANCmRpZmYgLS1naXQgYS9zcmMvbHJlYWQuYyBi L3NyYy9scmVhZC5jDQppbmRleCBkMGRjODVmNTFjOC4uMjhjYTQ4M2I4MTkg MTAwNjQ0DQotLS0gYS9zcmMvbHJlYWQuYw0KKysrIGIvc3JjL2xyZWFkLmMN CkBAIC0yMjU1LDYgKzIyNTUsNyBAQCByZWFkZXZhbGxvb3AgKExpc3BfT2Jq ZWN0IHJlYWRjaGFyZnVuLA0KIAkgIHJlY29yZF91bndpbmRfcHJvdGVjdF9l eGN1cnNpb24gKCk7DQogCSAgLyogU2F2ZSBaViBpbiBpdC4gICovDQogCSAg cmVjb3JkX3Vud2luZF9wcm90ZWN0IChzYXZlX3Jlc3RyaWN0aW9uX3Jlc3Rv cmUsIHNhdmVfcmVzdHJpY3Rpb25fc2F2ZSAoKSk7DQorCSAgbmFycm93aW5n X2xvY2tzX3JlbW92ZV9pbl9jdXJyZW50X2J1ZmZlciAoKTsNCiAJICAvKiBU aG9zZSBnZXQgdW5ib3VuZCBhZnRlciB3ZSByZWFkIG9uZSBleHByZXNzaW9u LiAgKi8NCiANCiAJICAvKiBTZXQgcG9pbnQgYW5kIFpWIGFyb3VuZCBzdHVm ZiB0byBiZSByZWFkLiAgKi8NCmRpZmYgLS1naXQgYS9zcmMveGRpc3AuYyBi L3NyYy94ZGlzcC5jDQppbmRleCA1YzVlY2FhMmJjYi4uNmYyYjRlNmNkNDEg MTAwNjQ0DQotLS0gYS9zcmMveGRpc3AuYw0KKysrIGIvc3JjL3hkaXNwLmMN CkBAIC0yNDExMSw2ICsyNDExMSw3IEBAIGRpc3BsYXlfY291bnRfbGluZXNf bG9naWNhbGx5IChwdHJkaWZmX3Qgc3RhcnRfYnl0ZSwgcHRyZGlmZl90IGxp bWl0X2J5dGUsDQogICBwdHJkaWZmX3QgdmFsOw0KICAgc3BlY3BkbF9yZWYg cGRsX2NvdW50ID0gU1BFQ1BETF9JTkRFWCAoKTsNCiAgIHJlY29yZF91bndp bmRfcHJvdGVjdCAoc2F2ZV9yZXN0cmljdGlvbl9yZXN0b3JlLCBzYXZlX3Jl c3RyaWN0aW9uX3NhdmUgKCkpOw0KKyAgbmFycm93aW5nX2xvY2tzX3JlbW92 ZV9pbl9jdXJyZW50X2J1ZmZlciAoKTsNCiAgIEZ3aWRlbiAoKTsNCiAgIHZh bCA9IGRpc3BsYXlfY291bnRfbGluZXMgKHN0YXJ0X2J5dGUsIGxpbWl0X2J5 dGUsIGNvdW50LCBieXRlX3Bvc19wdHIpOw0KICAgdW5iaW5kX3RvIChwZGxf Y291bnQsIFFuaWwpOw0KLS0gDQoyLjM5LjANCg0K --VjxwbplpFy--