From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: How to detect words being added and removed to a buffer in a minor mode? Date: Mon, 21 Nov 2022 13:08:30 +0300 Message-ID: References: <87zgckhcit.fsf@ucl.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38639"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.2.7+37 (a90f69b) (2022-09-02) Cc: help-gnu-emacs@gnu.org To: Eric S Fraga Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Nov 21 11:09:36 2022 Return-path: Envelope-to: geh-help-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 1ox3k6-0009oM-LY for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 21 Nov 2022 11:09:34 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ox3jX-0003Cw-7k; Mon, 21 Nov 2022 05:08:59 -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 1ox3jV-0003CB-Uw for help-gnu-emacs@gnu.org; Mon, 21 Nov 2022 05:08:57 -0500 Original-Received: from stw1.rcdrun.com ([217.170.207.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ox3jU-0003Cb-6h for help-gnu-emacs@gnu.org; Mon, 21 Nov 2022 05:08:57 -0500 Original-Received: from localhost ([::ffff:154.226.1.214]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 00000000000F612D.00000000637B4E33.00002F4F; Mon, 21 Nov 2022 03:08:50 -0700 Mail-Followup-To: Eric S Fraga , help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: <87zgckhcit.fsf@ucl.ac.uk> Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:141076 Archived-At: * Eric S Fraga [2022-11-21 12:40]: > On Saturday, 19 Nov 2022 at 20:44, Dmitrii Pisarenko wrote: > > 1. How can I create an "event listener" (sorry for the non-Emacsian > > terminology) which would be called whenever the user types something > > in the buffer? > > Naïvely (i.e. I may be totally ignorant of a proper solution), there is > post-command-hook which can be used to process every single key event. There are 2 conditions here, one is that user wish to see the number of words visualy, other is that one wants to compare that once editing is finished. One need not see every single word counted. What if user enters 500 words at once, then it would be futil to slow down the process until every single word has been counted. It implies, one could invoke function with number of words each in a while. In that case, one could use this function: run-with-timer is an interactive byte-compiled Lisp function in ‘timer.el’. (run-with-timer SECS REPEAT FUNCTION &rest ARGS) -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/