GNU bug report logs - #25446
26.0.50; [PATCH] Fix undeclared FOO-mode-{syntax,abbrev}-table warnings

Previous Next

Package: emacs;

Reported by: npostavs <at> users.sourceforge.net

Date: Sat, 14 Jan 2017 07:05:01 UTC

Severity: minor

Tags: fixed, patch

Found in version 26.0.50

Done: npostavs <at> users.sourceforge.net

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: npostavs <at> users.sourceforge.net
To: bug-gnu-emacs <at> gnu.org
Subject: 26.0.50;
 [PATCH] Fix undeclared FOO-mode-{syntax,abbrev}-table warnings
Date: Sat, 14 Jan 2017 02:05:06 -0500
[Message part 1 (text/plain, inline)]
Tags: patch
Severity: minor

Since [1: 8db7b65] there have been a lot of "reference to free variable
`FOO-mode-syntax-table'" and `FOO-mode-abbtrev-table' warnings during
compilation.

[v1-0001-Fix-undeclared-syntax-and-abbrev-table-warnings.patch (text/x-diff, inline)]
From bcbe6eb903d3874c3cc1fe9ab48b8a2dc9e00abb Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs <at> gmail.com>
Date: Sat, 14 Jan 2017 01:47:52 -0500
Subject: [PATCH v1] Fix undeclared syntax- and abbrev- table warnings

* lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
defvar the syntax and abbrev tables so that the compiler will know that
they are dynamically bound variables.
---
 lisp/emacs-lisp/derived.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lisp/emacs-lisp/derived.el b/lisp/emacs-lisp/derived.el
index 762c762..fffe972 100644
--- a/lisp/emacs-lisp/derived.el
+++ b/lisp/emacs-lisp/derived.el
@@ -216,6 +216,7 @@ define-derived-mode
 	      (purecopy ,(format "Keymap for `%s'." child))))
        ,(if declare-syntax
 	    `(progn
+               (defvar ,syntax)
 	       (unless (boundp ',syntax)
 		 (put ',syntax 'definition-name ',child)
 		 (defvar ,syntax (make-syntax-table)))
@@ -224,6 +225,7 @@ define-derived-mode
 		      (purecopy ,(format "Syntax table for `%s'." child))))))
        ,(if declare-abbrev
 	    `(progn
+               (defvar ,abbrev)
 	       (unless (boundp ',abbrev)
 		 (put ',abbrev 'definition-name ',child)
 		 (defvar ,abbrev
-- 
2.9.3

[Message part 3 (text/plain, inline)]

1: 2016-12-12 20:03:20 -0500 8db7b65d66f01e90a05cc9f11c67667233d84ca0
  Minor fix for define-derived-mode

This bug report was last modified 8 years and 122 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.