From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#20096: 25.0.50; Add Font-Lock support for subr-x macros Date: Sat, 14 Mar 2015 09:56:33 -0400 Message-ID: References: <87d24etxni.fsf@gnu.org> <87sid8vvbm.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1426341444 5483 80.91.229.3 (14 Mar 2015 13:57:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 14 Mar 2015 13:57:24 +0000 (UTC) Cc: 20096@debbugs.gnu.org To: Tassilo Horn Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Mar 14 14:57:14 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1YWmYx-00067O-Bd for geb-bug-gnu-emacs@m.gmane.org; Sat, 14 Mar 2015 14:57:11 +0100 Original-Received: from localhost ([::1]:40886 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWmYw-0000VC-NO for geb-bug-gnu-emacs@m.gmane.org; Sat, 14 Mar 2015 09:57:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47941) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWmYs-0000V7-A4 for bug-gnu-emacs@gnu.org; Sat, 14 Mar 2015 09:57:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YWmYp-000643-3X for bug-gnu-emacs@gnu.org; Sat, 14 Mar 2015 09:57:06 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:48132) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWmYo-00063b-Vn for bug-gnu-emacs@gnu.org; Sat, 14 Mar 2015 09:57:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YWmYo-00007G-27 for bug-gnu-emacs@gnu.org; Sat, 14 Mar 2015 09:57:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Mar 2015 13:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20096 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20096-submit@debbugs.gnu.org id=B20096.1426341401436 (code B ref 20096); Sat, 14 Mar 2015 13:57:01 +0000 Original-Received: (at 20096) by debbugs.gnu.org; 14 Mar 2015 13:56:41 +0000 Original-Received: from localhost ([127.0.0.1]:46700 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YWmYT-00006y-1m for submit@debbugs.gnu.org; Sat, 14 Mar 2015 09:56:41 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:50371) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YWmYN-00006s-Eo for 20096@debbugs.gnu.org; Sat, 14 Mar 2015 09:56:36 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ar8TAPOG1lRFxLnr/2dsb2JhbABbgwaDX4VTvhyCSQQCAoENRAEBAQEBAXyEDQEEAVYjBQsLDiYSFBgNJIg4CM4jAQEBAQEBBAEBAQEej3gHhCoFjTiMJ4sbhHiBRSKCAhyBbCKCcwEBAQ X-IPAS-Result: Ar8TAPOG1lRFxLnr/2dsb2JhbABbgwaDX4VTvhyCSQQCAoENRAEBAQEBAXyEDQEEAVYjBQsLDiYSFBgNJIg4CM4jAQEBAQEBBAEBAQEej3gHhCoFjTiMJ4sbhHiBRSKCAhyBbCKCcwEBAQ X-IronPort-AV: E=Sophos;i="5.09,536,1418101200"; d="scan'208";a="113546507" Original-Received: from 69-196-185-235.dsl.teksavvy.com (HELO pastel.home) ([69.196.185.235]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 14 Mar 2015 09:56:34 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id EA517D40; Sat, 14 Mar 2015 09:56:33 -0400 (EDT) In-Reply-To: <87sid8vvbm.fsf@gnu.org> (Tassilo Horn's message of "Sat, 14 Mar 2015 09:26:21 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:100472 Archived-At: >> Instead, The Right Thing to do, might be to change elisp-mode's >> font-lock rules so they check obarray for macros (i.e. use mapatoms + >> regexp-opt to generate a regexp matching all macros, and probably >> update it from after-load-functions)? > I don't understant what you mean with generating a macro matching all > macros, That's because I said "generate a regexp matching all macros", as you can clearly see in the excerpt you quoted (see above). > but the attached patch uses a regexp defconst with a matcher > function for font-lock-keywords. Looks good. > +(defun lisp--el-update-after-load (_file) > + "Update `lisp--el-macro-regexp' and adjust font-lock in existing buffers." > + (lisp--el-update-macro-regexp) > + (dolist (buf (buffer-list)) > + (when (derived-mode-p 'emacs-lisp-mode) > + (font-lock-flush)))) I think we should only flush if the set of macros has changed. Other than that, the patch looks good. Have you tried it? Does it work well in practice? Stefan