From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Lisp watchpoints Date: Sun, 22 Nov 2015 22:41:24 +0200 Message-ID: <83wpt922dn.fsf@gnu.org> References: Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1448225016 6065 80.91.229.3 (22 Nov 2015 20:43:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 22 Nov 2015 20:43:36 +0000 (UTC) Cc: jwiegley@gmail.com, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Noam Postavsky Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Nov 22 21:43:26 2015 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 1a0bTn-0008Uq-Te for ged-emacs-devel@m.gmane.org; Sun, 22 Nov 2015 21:43:24 +0100 Original-Received: from localhost ([::1]:57397 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0bTn-0000AA-Q4 for ged-emacs-devel@m.gmane.org; Sun, 22 Nov 2015 15:43:23 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50588) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0bTj-00009t-P9 for emacs-devel@gnu.org; Sun, 22 Nov 2015 15:43:20 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a0bTg-0006Ur-JT for emacs-devel@gnu.org; Sun, 22 Nov 2015 15:43:19 -0500 Original-Received: from mtaout25.012.net.il ([80.179.55.181]:36635) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0bTg-0006UW-BG for emacs-devel@gnu.org; Sun, 22 Nov 2015 15:43:16 -0500 Original-Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NY800A00HC4NN00@mtaout25.012.net.il> for emacs-devel@gnu.org; Sun, 22 Nov 2015 22:38:51 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NY8004Z1HCRSF40@mtaout25.012.net.il>; Sun, 22 Nov 2015 22:38:51 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.181 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:195067 Archived-At: > Date: Sun, 22 Nov 2015 15:13:47 -0500 > From: Noam Postavsky > Cc: Eli Zaretskii , John Wiegley , emacs-devel@gnu.org > > Okay, I think I have something mostly working now. The first patch > adds watchpoints, then the following 2 implement lisp debug on > variable set, and ensure redisplay, respectively. The debugger part > isn't quite right, I'm seeing it trigger a 2nd time after continuing. Thanks. Is it possible to have watchers that don't require a Funcall, or avoid exposing the watcher function to Lisp to begin with? Funcall can GC, so the usability of such watchers for internal purposes might be limited in some situations. How about allowing special, say, integer values for a watcher, which will then cause a call to a C function from a table indexed by the watcher value? Or something else to that effect. Another comment is: do we care about scalability of property lists for storing watchers? The debug command might be more mnemonic (at least for me ;-) if it were called 'debug-watch', or maybe 'debug-set-watchpoint'. A similar command for Edebug would also be nice. Thanks again for working on this. P.S. We should decide whether we ad this to the emacs-25 branch or to master.