From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#69703: Ispell process restarted too often Date: Tue, 12 Mar 2024 16:44:26 +0200 Message-ID: <86le6ntsqd.fsf@gnu.org> References: <86y1aqh70o.fsf@mail.linkov.net> <86bk7mwlwl.fsf@gnu.org> <867cia3z7x.fsf@mail.linkov.net> <86sf0yug9z.fsf@gnu.org> <867ci7rj05.fsf@mail.linkov.net> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6308"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 69703@debbugs.gnu.org To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Mar 12 15:46:03 2024 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 1rk3OE-0001Tc-Vb for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 12 Mar 2024 15:46:03 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rk3O8-0005tG-D1; Tue, 12 Mar 2024 10:45:57 -0400 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 1rk3Ng-0005ce-E9 for bug-gnu-emacs@gnu.org; Tue, 12 Mar 2024 10:45:28 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rk3Ng-0000gM-3n for bug-gnu-emacs@gnu.org; Tue, 12 Mar 2024 10:45:28 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rk3OE-0002gY-DM for bug-gnu-emacs@gnu.org; Tue, 12 Mar 2024 10:46:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Mar 2024 14:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 69703 X-GNU-PR-Package: emacs Original-Received: via spool by 69703-submit@debbugs.gnu.org id=B69703.171025472510243 (code B ref 69703); Tue, 12 Mar 2024 14:46:02 +0000 Original-Received: (at 69703) by debbugs.gnu.org; 12 Mar 2024 14:45:25 +0000 Original-Received: from localhost ([127.0.0.1]:43356 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rk3Nb-0002f5-Vq for submit@debbugs.gnu.org; Tue, 12 Mar 2024 10:45:25 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:55724) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rk3NQ-0002eW-4q for 69703@debbugs.gnu.org; Tue, 12 Mar 2024 10:45:22 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rk3Mk-0000Ek-It; Tue, 12 Mar 2024 10:44:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=g3brPPtABWrpTPGw0u6nxxU8cSEUZnnTMJO3lCuTkQ4=; b=fyc9tDn+D0A6 7aKfdmE5SBs7uYTGOEsC4gjBkKOGAGjwMJbkXqQrNymxTWxZdHiX2YkX/tMelH0YCu0U91RNGXmIN jYr/u4/JHXNNwdjDWVTg33RrP5E8g4UvL+dnfX2vYuidr36lYAaJCSFPrAnKnbl7rRMMe1MscDbyz 4H7dEmiBzc+tqrwHj+RTocYkpR422rkmnn5OJhk2sttreAa8YAThUakIhpNQbg3Mj2hi2+796wJgm +gOVKEf1yhaNNu7JfCTsreIM4RMCANoiCoPes1fEvUTuGEoyQc7vMECxBOgX/fCD5hkQs5Ysx1Es1 meU12cuiKz2g/M8mnwS6zA==; In-Reply-To: <867ci7rj05.fsf@mail.linkov.net> (message from Juri Linkov on Tue, 12 Mar 2024 09:45:14 +0200) 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:281522 Archived-At: > From: Juri Linkov > Cc: 69703@debbugs.gnu.org > Date: Tue, 12 Mar 2024 09:45:14 +0200 > > >> The nature of the problem is the inability of ispell.el to maintain > >> multiple processes with different dictionaries simultaneously > >> that is required by flyspell-mode. > >> > >> What is needed here is a hash of processes where the key is > >> the ispell program name and its dictionary arguments. > > > > Feel free to submit patches for that, and thanks. (But didn't you > > just complain about one speller process per buffer?) > > Since implementing this is not urgent, here is a design outline > for possible future improvements: > > 1. Create a pool of Ispell processes. > > 2. Instead of killing Ispell processes > just get the process from the pool > by the ispell program name and its dictionary arguments. This assumes that the number of different personal dictionaries is much smaller than the number of buffers under flyspell-mode. Since I don't quite understand why you need so many personal dictionaries (presumably for the same language?), I cannot say whether this assumption is reasonable or scalable. In general, if we want to support buffer-local speller processes, we could have hundreds of speller processes running on the system, which is not very nice, I think. The current design is generally based on the following assumptions: . a speller process is mostly needed in a single buffer at a time, the buffer where the user is typing . a speller process needs to be restarted only if you change the dictionary, which is done when you need to spell-check a different language . the number of languages for which the user needs spell-checking is small (or even spell-checked by a single speller, if that is Hunspell)