From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?Cl=c3=a9ment_Pit--Claudel?= Newsgroups: gmane.emacs.devel Subject: Use cases for post-redisplay hooks Date: Mon, 4 Jul 2016 12:39:50 -0400 Message-ID: <577A9156.9070007@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="49SVvq6HpLckBdtFl6ClHcFv102k3PWc2" X-Trace: ger.gmane.org 1467650664 17637 80.91.229.3 (4 Jul 2016 16:44:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 4 Jul 2016 16:44:24 +0000 (UTC) Cc: michael_heerdegen@web.de, Eli Zaretskii , esq@lawlist.com, Stefan Monnier To: Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jul 04 18:44:08 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bK6yZ-0000Pc-4E for ged-emacs-devel@m.gmane.org; Mon, 04 Jul 2016 18:44:03 +0200 Original-Received: from localhost ([::1]:49174 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bK6yY-0004f4-BS for ged-emacs-devel@m.gmane.org; Mon, 04 Jul 2016 12:44:02 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37735) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bK6un-0001Rl-PD for emacs-devel@gnu.org; Mon, 04 Jul 2016 12:40:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bK6um-0000ZV-PK for emacs-devel@gnu.org; Mon, 04 Jul 2016 12:40:09 -0400 Original-Received: from mout.kundenserver.de ([212.227.17.13]:63949) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bK6uf-0000U5-EP; Mon, 04 Jul 2016 12:40:01 -0400 Original-Received: from [18.189.1.110] ([18.189.1.110]) by mrelayeu.kundenserver.de (mreue104) with ESMTPSA (Nemesis) id 0MFsVa-1b7U8C1SJq-00Et6F; Mon, 04 Jul 2016 18:39:54 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 X-Provags-ID: V03:K0:Y+iD5jWn7x5WAXrJRjADfsf65K7PEMZkeNxJ+yHva+x6mdccBhk dRXhoeF8JR+wTQv+zoGojPRSHC3B06+sWpuoz8avySpA0hsVT236nGa7fxZ3DZ2KAT6eH/K To+8GvGrRow2fWCKUluJadXwfQ0KIwK5udDvXPJmmNV2YUGX87yMHAb6zuKB9UZ24g60l98 rkDbOip2XGaOfi6iXIRRQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:pj+51+UOFR4=:LbUga14nH2IeX/vmtrsWfP KOOYzkzCE8hgWy2EHPZ+REDVi6rIyTdgjusvEqflrhW5h6TDmr9NAPmCpsoFsR0Q5Xdf301AI L9hgZwUDrC9VWc5DIQYjD+fvm3VILHCmkQTm88rs6UgLRm2FZNI7Fs0jah7yhkzUDXolZjdua VA8Jn9QW9fp8Az5YNtYz+ZrjEbJYK2VUJ258uBkQoC/bJV+thThNBFUJ4618ZXcoiyfcDchRp 8eue68rNCVbGeGRVOaA3/M7QTb7ZZpB0p2jhsj/LM+oUdBotWoplayq7ycROOHgPPCMaiSd6p 36wpciWoJp9SVtCJUAvFyPpnLY+P01ttX2ikMe5+vd2jr5fonxVusP4F80q7ROoWjRz5CZVAc r5UgfctwreGaRbwFHYs/X3zMU2FZLbzrHXiQy1/AB45su5ooW0F7bizCLY9S+CvPYT7bxkzsk KHDrJ3zDKJsIfeBXPgCzgpmopS6LGQPYZ5n7PnJShLrl24Pa5nwx2+u4/lZ3QEdRKDsxu7RBQ GBC12AhNeokUnCcEvLi6JmU9M6+b1Gqc3EghmWV3tEgKJrx9mXMOhqVwa0g4Lhs4hdpvnP7bB Cyd8ap9sAAZDUJ1LS8g7BPpzK7ndhTESzu8SI96bSKyTi6SWYBoOnvgVK8K2AMhmsk7LkFoW4 rAnkFG5lclXcCd6pB/FrbTcZ9YQ9CRr1HL70T6uUKnR+BGIgrnNFjzuUXx9kuK2mQGlI= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.13 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:205141 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --49SVvq6HpLckBdtFl6ClHcFv102k3PWc2 Content-Type: multipart/mixed; boundary="DI62GrIuW5tbCgn1mXnft300pNj1HJEal" From: =?UTF-8?Q?Cl=c3=a9ment_Pit--Claudel?= To: Emacs developers Cc: Eli Zaretskii , Stefan Monnier , michael_heerdegen@web.de, esq@lawlist.com Message-ID: <577A9156.9070007@gmail.com> Subject: Use cases for post-redisplay hooks --DI62GrIuW5tbCgn1mXnft300pNj1HJEal Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi emacs-devel, As a prelude to implementing the actual functionality, I'd like to get a = clearer picture of what use cases exist for post-redisplay hooks. Here are the ones that I'm currently aware of; can you think of other one= s? 1. (my own) Generating emacs screenshots. You can see a demo at http://we= b.mit.edu/cpitcla/www/emacs-screencast-annot.gif (let me know what you th= ink!). Other hooks do not work because: - pre-redisplay-functions are called too early - pre- and post-command-hook do not run often enough (in the screencast= above, see the butterfly animation, for example) - window-related hooks do not run often enough either - redisplay-end-trigger-functions are tricky to use, and deprecated 2. (Keith David Bershatsky + Michael Heerdegen @ https://lists.gnu.org/ar= chive/html/bug-gnu-emacs/2016-01/msg01013.html) Updating overlays after s= crolling. The bug thread is pretty long and subtle, but this issue has a= lso been discussed on emacs.stackexchanged IIRC. 3. (Stefan? @ https://lists.gnu.org/archive/html/emacs-devel/2009-02/msg0= 0785.html) Running code every time "something visible" happens (e.g. due = to process filters) For number 1, and potentially number 3, a hook that run after redisplay c= ompletes entirely would work. For number 2, things are less clear. Michae= l, Keith, and Eli, do you have ideas of when in the display cycle such a = hook should run? Thanks! Cl=C3=A9ment. --DI62GrIuW5tbCgn1mXnft300pNj1HJEal-- --49SVvq6HpLckBdtFl6ClHcFv102k3PWc2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJXepFWAAoJEPqg+cTm90wj8WgQAItOL9uFrcv9E86svfd3w7Sx xoUh4PummQ0kV4HdgmLBvPGw7qozdoJaVUlqCR62l1PZ4uFwgw7RZGjsq4VVqxUv qb52d/UQxPMbQ9pv9pCPPucJZFi0XN4Q9iRHBOz7MzHtqT0xuo5zu100A2SeKtF6 hCgahxiPAtlnys4gcrt0KxzdwMwFN12jPC2eCI8zTrB9bvYrlNvNbeEQ9XY+M0md jZn/bDNTDKU1cwuLeEl5aYC0MV7epMXHWZ56tKWNU/b+1OjdkLseTRHCTMJu57Dz YX/GI3Rpn7SyYXnIPAVsxFJKxskJ96ADe0HIwWdj5MSr/OV7w5UTzp5tjAbNWRiv DmzqhHt9VfrbN3Tv+rVorizlwQvi2YRGp3KwDPo2kFoohjNlBJydxcjh2AerVIlJ h+GxOCbcLRRQvcm+nCB5DzmpGualmL4xiccvSRvFIoK1AG+dW1YszAj6PXBBncca ThKdKAeZuwwYVL/WnNpPBpmHuABjjT8XYLq33f9ItChGnE1emkJ4JtAlzwkNuyex m27E60B0DHSkKG0YPu6HQ2HIixmORXCxTG6E/CIWmv9cswckTTPW7PKiy5shwL12 FFLSNlXaisq7XqwyqsqaqCJt9+uvBOosLjiKoZdCEBTTV5v3cq/JdRS8OOyAfwnO taLDRR+rz9nXAH4xyqcf =fTO9 -----END PGP SIGNATURE----- --49SVvq6HpLckBdtFl6ClHcFv102k3PWc2--