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#51377: Automatically exit server when it has no remaining clients Date: Sun, 24 Oct 2021 21:37:48 +0000 Message-ID: <90ba36dccc0584692d36@heytings.org> References: <90ba36dccc00d6f0d62d@heytings.org> <63203d9f-dae7-a39f-c70f-ebf37632e642@gmail.com> <90ba36dcccc2abc8dec1@heytings.org> <7f3dde25-f81b-d7db-efc5-f8d471fd06bc@gmail.com> <90ba36dcccdc40168c93@heytings.org> <90ba36dcccde742a3c60@heytings.org> <2fb21ea4-0b95-a76b-8c5f-f8a6c7c1fc9b@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="fNrnQBjQE8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36521"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 51377@debbugs.gnu.org To: Jim Porter Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Oct 24 23:38:28 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 1melCF-0009Jp-AN for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 24 Oct 2021 23:38:27 +0200 Original-Received: from localhost ([::1]:51934 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1melCD-0008TP-NX for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 24 Oct 2021 17:38:25 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59888) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1melBq-0008Pz-UZ for bug-gnu-emacs@gnu.org; Sun, 24 Oct 2021 17:38:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:57809) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1melBq-0002c4-M6 for bug-gnu-emacs@gnu.org; Sun, 24 Oct 2021 17:38:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1melBq-0005fP-Ey for bug-gnu-emacs@gnu.org; Sun, 24 Oct 2021 17:38:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 24 Oct 2021 21:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51377 X-GNU-PR-Package: emacs Original-Received: via spool by 51377-submit@debbugs.gnu.org id=B51377.163511147221764 (code B ref 51377); Sun, 24 Oct 2021 21:38:02 +0000 Original-Received: (at 51377) by debbugs.gnu.org; 24 Oct 2021 21:37:52 +0000 Original-Received: from localhost ([127.0.0.1]:41122 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1melBg-0005ex-6w for submit@debbugs.gnu.org; Sun, 24 Oct 2021 17:37:52 -0400 Original-Received: from heytings.org ([95.142.160.155]:33622) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1melBd-0005ep-Ut for 51377@debbugs.gnu.org; Sun, 24 Oct 2021 17:37:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1635111468; bh=SeZNSU3RPwO8x/d5qz2ZFuy1095iS+2n0XrQi1q0dQw=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=tgtA1O55lhUWxpLn3NcbMpEEDA7TuP+qtlmmuI1piJM0TiP4Jgkkjq1E1ZCDz9L2W 7S9trDGic8xrM+ZrtqiqJf0lziEiGnctdsWx/ktEWaaeyNLmTlaHJBZyhguCmps9u6 1xefOHJzJu6a1NjG8p9w9bZ8B4XI9v16CZCgJHxrn0QQZ3HguIkPlwSMcndYOy6gMh FmFrFoXML8JI8P4Hpl1czBrZ5RoAViZjW/FuIOEwMqjdyEScsX0oxfR4za5Jof6EcI /G6WBxL3KdhfRrYm88/C+Iip+DIShi2h/slY0y3bWwrCOnLuP75PMJWCGtzVAirtXW uaAS5s9/jlX3g== In-Reply-To: <2fb21ea4-0b95-a76b-8c5f-f8a6c7c1fc9b@gmail.com> 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:218210 Archived-At: --fNrnQBjQE8 Content-Type: text/plain; charset=us-ascii; format=flowed > > I'd find it quite surprising, since an errant edit to any open file > would prevent the server from exiting after the last client stops. While > leaving the server running isn't the worst thing ever (indeed, that's > how it works now), I'd want the logic for when the server exits to be as > simple as possible, i.e. "when there are no more clients, exit" > (provided the user has confirmed as necessary). Having the server stick > around because I forgot to save one file would surprise me, mainly > because it would typically happen after, well, I forgot something. > I see. We have different mental models, I guess. From my viewpoint the Emacs server should stay there until it's not necessary, and I'd be surprised to be queried about what to do with buffers opened of processes started in a frame I already closed when I want to close another frame. But of course I do not object to have both behaviors. > > That's pretty much what I started with, actually. I've added more to > that as I find corner cases, and as I try to make my code work well > under different configurations so that it could merge into Emacs if > there's interest. > I attach a patch for that other behavior, it works fine AFAICS. --fNrnQBjQE8 Content-Type: text/x-diff; name=Option-to-stop-Emacs-server-when-last-client-exits.patch Content-Transfer-Encoding: base64 Content-ID: <90ba36dccc01d2185103@heytings.org> Content-Description: Content-Disposition: attachment; filename=Option-to-stop-Emacs-server-when-last-client-exits.patch RnJvbSA3MWZkZGNiN2QwZDZhOGViOTJhNTRjNzkzM2RhMTM4MWIxYzQwNmVj IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBTdW4sIDI0IE9j dCAyMDIxIDIxOjMwOjI0ICswMDAwDQpTdWJqZWN0OiBbUEFUQ0hdIE9wdGlv biB0byBzdG9wIEVtYWNzIHNlcnZlciB3aGVuIGxhc3QgY2xpZW50IGV4aXRz Lg0KDQoqIGxpc3Avc2VydmVyLmVsIChzZXJ2ZXItc3RvcC13aGVuLWNsb3Np bmctbGFzdC1mcmFtZSk6IE5ldyBjdXN0b20NCnZhcmlhYmxlLg0KKiBsaXNw L2ZpbGVzLmVsIChzYXZlLWJ1ZmZlcnMta2lsbC10ZXJtaW5hbCk6IFVzZSB0 aGUgbmV3IGN1c3RvbQ0KdmFyaWFibGUuDQoqIGRvYy9lbWFjcy9taXNjLnRl eGkgKEVtYWNzIFNlcnZlcik6IERvY3VtZW50IGl0Lg0KLS0tDQogZG9jL2Vt YWNzL21pc2MudGV4aSB8IDggKysrKysrKysNCiBsaXNwL2ZpbGVzLmVsICAg ICAgIHwgNSArKysrLQ0KIGxpc3Avc2VydmVyLmVsICAgICAgfCA5ICsrKysr KysrKw0KIDMgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQ0KDQpkaWZmIC0tZ2l0IGEvZG9jL2VtYWNzL21pc2MudGV4 aSBiL2RvYy9lbWFjcy9taXNjLnRleGkNCmluZGV4IDg5M2U1ZjE4NDMuLmQ3 ZWMxZDYzMjIgMTAwNjQ0DQotLS0gYS9kb2MvZW1hY3MvbWlzYy50ZXhpDQor KysgYi9kb2MvZW1hY3MvbWlzYy50ZXhpDQpAQCAtMTc2OCw2ICsxNzY4LDE0 IEBAIEVtYWNzIFNlcnZlcg0KICAgZW1hY3MgLS1kYWVtb249Zm9vDQogQGVu ZCBleGFtcGxlDQogDQorQHZpbmRleCBzZXJ2ZXItc3RvcC13aGVuLWNsb3Np bmctbGFzdC1mcmFtZQ0KKyAgV2hlbiB0aGUgbGFzdCBjbGllbnQgZnJhbWUg aXMgY2xvc2VkLCB1bnNhdmVkIGJ1ZmZlcnMgYW5kIHJ1bm5pbmcNCitwcm9j ZXNzZXMgYXJlIG5vcm1hbGx5IGtlcHQgaW4gdGhlIGRhZW1vbiBmb3IgbGF0 ZXIgdXNlci4gIEhvd2V2ZXIsIGlmDQoreW91IHNldCBAY29kZXtzZXJ2ZXIt c3RvcC13aGVuLWNsb3NpbmctbGFzdC1mcmFtZX0gaXMgbm9uLUBjb2Rle25p bH0gYW5kDQordGhlIGxhc3QgY2xpZW50IGZyYW1lIGlzIGNsb3NlZCwgRW1h Y3MgYXNrcyB5b3Ugd2hldGhlciBlYWNoIHVuc2F2ZWQNCitidWZmZXIgbXVz dCBiZSBzYXZlZCBhbmQgZWFjaCB1bmZpbmlzaGVkIHByb2Nlc3MgbXVzdCBi ZSBraWxsZWQsIGFuZA0KK3RoZSBkYWVtb24gaXRzZWxmIGlzIGtpbGxlZC4N CisNCiBAZmluZGV4IHNlcnZlci1zdG9wLWF1dG9tYXRpY2FsbHkNCiAgIElm IHlvdSB3YW50IHRvIGF1dG9tYXRpY2FsbHkgc3RvcCB0aGUgRW1hY3Mgc2Vy dmVyIHdoZW4gaXQgaGFzIG5vDQogY2xpZW50cywgbm8gdW5zYXZlZCBidWZm ZXJzIGFuZCBubyBydW5uaW5nIHByb2Nlc3NlcyBhbnltb3JlLCBwdXQgdGhl DQpkaWZmIC0tZ2l0IGEvbGlzcC9maWxlcy5lbCBiL2xpc3AvZmlsZXMuZWwN CmluZGV4IDVhNmEzMzcyMWIuLjI2OGMwMTdkZTQgMTAwNjQ0DQotLS0gYS9s aXNwL2ZpbGVzLmVsDQorKysgYi9saXNwL2ZpbGVzLmVsDQpAQCAtNzc0Miw3 ICs3NzQyLDEwIEBAIHNhdmUtYnVmZmVycy1raWxsLXRlcm1pbmFsDQogSWYg ZW1hY3NjbGllbnQgd2FzIHN0YXJ0ZWQgd2l0aCBhIGxpc3Qgb2YgZmlsZSBu YW1lcyB0byBlZGl0LCB0aGVuDQogb25seSB0aGVzZSBmaWxlcyB3aWxsIGJl IGFza2VkIHRvIGJlIHNhdmVkLiINCiAgIChpbnRlcmFjdGl2ZSAiUCIpDQot ICAoaWYgKGZyYW1lLXBhcmFtZXRlciBuaWwgJ2NsaWVudCkNCisgIChpZiAo YW5kIChmcmFtZS1wYXJhbWV0ZXIgbmlsICdjbGllbnQpDQorICAgICAgICAg ICAoaWYgc2VydmVyLXN0b3Atd2hlbi1jbG9zaW5nLWxhc3QtZnJhbWUNCisg ICAgICAgICAgICAgICAoY2RkciAoZnJhbWUtbGlzdCkpDQorICAgICAgICAg ICAgIHQpKQ0KICAgICAgIChzZXJ2ZXItc2F2ZS1idWZmZXJzLWtpbGwtdGVy bWluYWwgYXJnKQ0KICAgICAoc2F2ZS1idWZmZXJzLWtpbGwtZW1hY3MgYXJn KSkpDQogDA0KZGlmZiAtLWdpdCBhL2xpc3Avc2VydmVyLmVsIGIvbGlzcC9z ZXJ2ZXIuZWwNCmluZGV4IDk0NGYxYTNkY2UuLjIzOWNlM2EwYTIgMTAwNjQ0 DQotLS0gYS9saXNwL3NlcnZlci5lbA0KKysrIGIvbGlzcC9zZXJ2ZXIuZWwN CkBAIC0yNzIsNiArMjcyLDE1IEBAIHNlcnZlci1jbGllbnQtaW5zdHJ1Y3Rp b25zDQogICA6dmVyc2lvbiAiMjguMSINCiAgIDp0eXBlICdib29sZWFuKQ0K IA0KKyhkZWZjdXN0b20gc2VydmVyLXN0b3Atd2hlbi1jbG9zaW5nLWxhc3Qt ZnJhbWUgbmlsDQorICAiV2hldGhlciB0byBzdG9wIHRoZSBzZXJ2ZXIgd2hl biBjbG9zaW5nIHRoZSBsYXN0IGZyYW1lLg0KK0lmIG5vbi1uaWwsIGNhbGwg YHNhdmUtYnVmZmVycy1raWxsLWVtYWNzJyB3aGVuIHRoZSBsYXN0IGNsaWVu dCBmcmFtZSBpcw0KK2Nsb3NlZC4NCitJZiBuaWwsIHRoZSBsYXN0IGNsaWVu dCBmcmFtZSBpcyBub3QgaGFuZGxlZCBkaWZmZXJlbnRseSwgYW5kDQorYHNl cnZlci1zYXZlLWJ1ZmZlcnMta2lsbC10ZXJtaW5hbCcgaXMgY2FsbGVkIHdo ZW4gaXQgaXMgY2xvc2VkLiINCisgIDp2ZXJzaW9uICIyOS4xIg0KKyAgOnR5 cGUgJ2Jvb2xlYW4pDQorDQogOzsgV2UgZG8gbm90IHVzZSBgdGVtcG9yYXJ5 LWZpbGUtZGlyZWN0b3J5JyBoZXJlLCBiZWNhdXNlIGVtYWNzY2xpZW50DQog OzsgZG9lcyBub3QgcmVhZCB0aGUgaW5pdCBmaWxlLg0KIChkZWZ2YXIgc2Vy dmVyLXNvY2tldC1kaXINCi0tIA0KMi4zMy4wDQoNCg== --fNrnQBjQE8--