From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: npostavs@users.sourceforge.net Newsgroups: gmane.emacs.bugs Subject: bug#24176: Confusing interaction between define-derived-mode and font-lock-add-keywords Date: Wed, 24 Aug 2016 20:53:15 -0400 Message-ID: <87k2f5u0sk.fsf_-_@users.sourceforge.net> References: <1b9e5891-9843-a9d7-c29f-7b9544a72a12@live.com> <0a87c159-8bd5-3fda-0b03-d1426e6a26d0@live.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1472086464 20531 195.159.176.226 (25 Aug 2016 00:54:24 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 25 Aug 2016 00:54:24 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) Cc: 24176@debbugs.gnu.org To: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Aug 25 02:54:20 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bcivz-0004vZ-Sh for geb-bug-gnu-emacs@m.gmane.org; Thu, 25 Aug 2016 02:54:20 +0200 Original-Received: from localhost ([::1]:53980 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcivx-0008Jo-AA for geb-bug-gnu-emacs@m.gmane.org; Wed, 24 Aug 2016 20:54:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49193) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcivn-0008I6-6D for bug-gnu-emacs@gnu.org; Wed, 24 Aug 2016 20:54:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bcivi-0004RC-6y for bug-gnu-emacs@gnu.org; Wed, 24 Aug 2016 20:54:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:41806) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcivi-0004R3-3W for bug-gnu-emacs@gnu.org; Wed, 24 Aug 2016 20:54:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bcivh-0004y9-Qr for bug-gnu-emacs@gnu.org; Wed, 24 Aug 2016 20:54:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: npostavs@users.sourceforge.net Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 25 Aug 2016 00:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24176 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 24176-submit@debbugs.gnu.org id=B24176.147208639019042 (code B ref 24176); Thu, 25 Aug 2016 00:54:01 +0000 Original-Received: (at 24176) by debbugs.gnu.org; 25 Aug 2016 00:53:10 +0000 Original-Received: from localhost ([127.0.0.1]:39518 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bciur-0004x4-QR for submit@debbugs.gnu.org; Wed, 24 Aug 2016 20:53:09 -0400 Original-Received: from mail-it0-f42.google.com ([209.85.214.42]:37860) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bciun-0004wJ-BC; Wed, 24 Aug 2016 20:53:05 -0400 Original-Received: by mail-it0-f42.google.com with SMTP id f6so65045783ith.0; Wed, 24 Aug 2016 17:53:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=4/QV4PGKj7MIwEJNkL2WzOfuNaLfQsQR2CTkJPfEzsA=; b=kTik9ySuE6dygUQqYT8xrsJFyQug28OKunZLOEQlMfUDcKF5lpBkgdie3i8ZSGtMzj vVj4Ac53VqeYIYRVitXqjF4PR+j6sP4FFwzklB/JO+jdy0U2nyT7JNTqcmeXPngO5OPF bdl7tn6wTyMZRmNJS4s9NTINhfWzl8riZ4Kry+sC/DcV9z6QbdQPupdSalaaCy5JTXfr 1GdVadL+2vBQPMRsgsbwl0XOAJhMAZVt4w22783jM1FXwxZexXDPEhWZucnj1pSKfyVK KeewTO0LJ0rdkjtg4km5NJDfKpcZXCdvKowrmyeH/+ixxQ4fpdqawWNoGlHsQCyPONTz MHdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version :content-transfer-encoding; bh=4/QV4PGKj7MIwEJNkL2WzOfuNaLfQsQR2CTkJPfEzsA=; b=HABxpCpxJ0XZSo24JCt/K8IeFPuAy1Q1kuyb27EpYWncYpvBTV/cG7x/fYgIPESl/3 wYoJYJBG/v7ocESH4n0sfMAXnhR0xH4aYJ0cxvXvRhBIQJbpSd+LNToDLTn2O7nwv2MV k4QyHcC1XSVVc59B+Rj25GZG7yK9EDcA8siWLy2RywBw3IIH+qd0E3Si4jsRLgkQxf2f AbgxjH+QsbxgtUMYTrFTrIrRN56z+wclZfoz0Sn/719lWRiZEvtgbsohTAzmw9dkDRNL oBcmUek70SkFnrJq9jKQMGNeWJGM4r97FX6QIHvcgyxSCBRVaWauyovLZdrD9MjYRNqx HvLw== X-Gm-Message-State: AEkoouuPWCXchYoO/K2p6t9t3CfM4M2Srhq+m6hOwu8x2H0DmmttvAZEahNdrCrlpYhMFA== X-Received: by 10.107.165.67 with SMTP id o64mr6999451ioe.151.1472086379729; Wed, 24 Aug 2016 17:52:59 -0700 (PDT) Original-Received: from zony ([45.2.7.130]) by smtp.googlemail.com with ESMTPSA id j129sm12681920itj.5.2016.08.24.17.52.58 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 24 Aug 2016 17:52:59 -0700 (PDT) In-Reply-To: <0a87c159-8bd5-3fda-0b03-d1426e6a26d0@live.com> ("=?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel"'s message of "Sun, 7 Aug 2016 02:57:19 -0400") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.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" Xref: news.gmane.org gmane.emacs.bugs:122614 Archived-At: severity 24176 minor tags 24176 confirmed found 24176 25.1 quit Cl=C3=A9ment Pit--Claudel writes: > Sorry, the original report had a confusing example; here is a fixed copy. > > (define-derived-mode ~/a fundamental-mode "~/a" > (font-lock-add-keywords nil `(("a" 0 'font-lock-keyword-face)))) > (define-derived-mode ~/b ~/a "~/b" > (font-lock-add-keywords nil `(("b" 0 'font-lock-builtin-face)))) > (define-derived-mode ~/c ~/b "~/c" > (font-lock-add-keywords nil `(("c" 0 'font-lock-constant-face)))) > > Explicitly calling (setq font-lock-major-mode major-mode) before calling = font-lock-add-keywords yields the expected behaviour. Yeah, it seems `font-lock-set-defaults' (called from `font-lock-add-keywords') deletes the parent mode's added keywords since they were not from the "correct" mode. (defun font-lock-set-defaults () "Set fontification defaults appropriately for this mode. Sets various variables using `font-lock-defaults' and `font-lock-maximum-decoration'." ;; Set fontification defaults if not previously set for correct major= mode. (unless (and font-lock-set-defaults (eq font-lock-major-mode major-mode)) (setq font-lock-major-mode major-mode) (setq font-lock-set-defaults t) ...