From unknown Sun Jun 22 04:17:27 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36445: Byte-compilation does not warn about variables undefined at runtime Resent-From: Wilfred Hughes Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 30 Jun 2019 13:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 36445 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 36445@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.156190083410481 (code B ref -1); Sun, 30 Jun 2019 13:21:02 +0000 Received: (at submit) by debbugs.gnu.org; 30 Jun 2019 13:20:34 +0000 Received: from localhost ([127.0.0.1]:45490 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hhZkw-0002iy-Hw for submit@debbugs.gnu.org; Sun, 30 Jun 2019 09:20:34 -0400 Received: from lists.gnu.org ([209.51.188.17]:35551) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hhZku-0002io-BV for submit@debbugs.gnu.org; Sun, 30 Jun 2019 09:20:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44624) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hhZkt-0007Ui-CN for bug-gnu-emacs@gnu.org; Sun, 30 Jun 2019 09:20:32 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hhZks-0001GO-9X for bug-gnu-emacs@gnu.org; Sun, 30 Jun 2019 09:20:31 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:41358) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hhZkr-0001EE-Pr for bug-gnu-emacs@gnu.org; Sun, 30 Jun 2019 09:20:30 -0400 Received: by mail-wr1-x429.google.com with SMTP id c2so10870601wrm.8 for ; Sun, 30 Jun 2019 06:20:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wilfred-me-uk.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=zipdb+41KL1J6TcVFuMrqU9hDo9wyK01NQexs0YXdow=; b=waIVdctL9gYVMNutDp9AkCYM9sopaXWra+xu/Q0UbNgHqNkf+8yXLIdLqWuvS5qcsd yv9dTVfvSw8KND3mY0faUOcdkyrSpToQzFYXQ/j5Zz3az8uB1FHKszcvl6qIeH2oSbbY czEIog9QZ/6coeaeHVqT9+aNtBxWDgkrdl1u+GeLRTNywDZxSrF4F81eIVOyoEC+FLTy kUGuQHgA8oN/GmXdEYd9BwdL9HWQ1jQ4KRobOv2rDf6jqC0aczkzu4L9EeGk2ARTb0e+ 1oQ/UscqpWjl5ElOhns0YzSLJDHeAOslCbNsdZkHw8VtZd7VIcejnbAYjJ9pBIzTSYja DO6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=zipdb+41KL1J6TcVFuMrqU9hDo9wyK01NQexs0YXdow=; b=OzE7ozGMbfVHB1O1aY3Nr9/2G4hP6n0F89qvsLmf/h3uGS3110a4wp6cwS1RZU8P+Z uulezakfGhjMLM3uveDFfXRMhM7j2APNnD3+n2qW5f+M1kFII3bmp0vbspkt5HPGfzd2 70z8ihw1UQuV+PNdNVmVDaatbFNkW5n3Ge+wOYlJYcbKO7h7V+QNIplMpcE3U58LnoqB m76vBS/P3NX83V7ptKefMmUkNkQhcSsWjBSHl6NRfWxBAdYMOY+NrWEAyy/v+gj2ABfs pcNzFvnhmVEymcz1xi/kNRneoMYNW6/YM3NTKLd3NdyGlnzqI6RCmqefU5m6s39zzdhQ gplg== X-Gm-Message-State: APjAAAWBZpprwf7ci5+PCFe3sOhwj2Xx9vwqL5RB+YHIrsa0t0PasUM4 oeJ2kAMU/x6zkE0n57Zc5MsIXGpNCIycEmgQfa62BZmKd5Y= X-Google-Smtp-Source: APXvYqyM3CpY9FWDKqixhwpEDLdnCFYk7AFYIrEcsPCBqgL8Wb7fqM6JOg0e6ChcEcMZ1hwVpvzi4jpybTszIZC6Gto= X-Received: by 2002:a5d:55c2:: with SMTP id i2mr2965601wrw.113.1561900827547; Sun, 30 Jun 2019 06:20:27 -0700 (PDT) MIME-Version: 1.0 From: Wilfred Hughes Date: Sun, 30 Jun 2019 14:20:16 +0100 Message-ID: Content-Type: text/plain; charset="UTF-8" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::429 X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) The byte-compiler warns about functions that are defined at compile-time but not at runtime. However, it doesn't warn about variables that are only defined at compile-time. As a result, this program produces incorrect bytecode without any warnings: (eval-when-compile (defconst demo-one 1)) (defvar demo-some-var `(foo bar ,demo-one)) Produces the following .elc file: ;ELC ;;; Compiled ;;; in Emacs version 26.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar demo-some-var (list 'foo 'bar demo-one)) Could Emacs warn about variables in this situation, to match the logic with functions? Originally discussed in https://emacs.stackexchange.com/questions/51075/how-do-i-get-byte-compilation-warnings-about-undefined-variables/51127 From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 04 17:34:11 2019 Received: (at control) by debbugs.gnu.org; 4 Jul 2019 21:34:12 +0000 Received: from localhost ([127.0.0.1]:52052 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hj9Mp-0006O9-N4 for submit@debbugs.gnu.org; Thu, 04 Jul 2019 17:34:11 -0400 Received: from mail-io1-f51.google.com ([209.85.166.51]:45506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hj9Mn-0006Nt-Vd for control@debbugs.gnu.org; Thu, 04 Jul 2019 17:34:10 -0400 Received: by mail-io1-f51.google.com with SMTP id g20so5560602ioc.12 for ; Thu, 04 Jul 2019 14:34:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=2qFfKbclurLEr+378drNpwU4LtcuZsGRjl3jbE5KmQA=; b=epCojVzK00znoYaDAV0AEtVbzqSPv8A1wRQ++8jgxKfEmyxFbrLOKhGg+z5VTaNIGV mH7pPwPRb6DTF/5XOxUyg8BHwPe2AexfwyRM/mea9TX7CAVVTvVcKDzTdAGbuIU6m5Bt 95sfbArDb1c2EvwRh+PQ85mFkwHejL68dna/VGF4otLXpKE0o681GE+mmyzWS1+cnbAf KRTQaGlSCSR4gwyycAKeq/AV4IvS3ZpTL2Pk5QHNeWIa1mE4F3lwImh028GzlBpV3XO7 Nqx9gx4F6BO/zodGp4xzVlWkR/tbQVx3EwBFug+VEGptsIydl7vXRxZ9r2OLFSVzDuCR Xvrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=2qFfKbclurLEr+378drNpwU4LtcuZsGRjl3jbE5KmQA=; b=tp8touD7mEmmWAipjslj38z1C9rO4f8ciq4SV1OiYefMjcUjxgcAc7VOVKWRR+tOlu pJN5R+A9E7JWOWbVdQNb0r2yMZIj5uYVRqTgG37c4kAu2hZIpSNvbwOa/zgLI1WQaUGq V/J2RGm78uVDZNFKcMvXbFseRmNj1K9/KT6JIsAuLnVnAn+jYm58AusRVhPnSMAypupq cUWia++0Vj5LDUwuS9IgYUY9H8pYYHxh72Oe+V5umJPTdlIj5u7rkoWJHByl0LU3LYqv T3IZv52XoesheRnCgELmRtqDgfKWTur2m6/B/hpMYVDA2HlwbCmxnuP/yHHmn/ia6x/0 uaow== X-Gm-Message-State: APjAAAWIozoPTjJ+9HoMmoXkhGAq/O5VrKulW3o/7PSmSBgJITrlUM6G fTaH7Azh7yj8J92SCZvo8p8tb1iA X-Google-Smtp-Source: APXvYqxGYtZ+yK0cc8I691oVgMv5sEWoFT6mfZIOn65jQ2Gj3l88LL9a8LjMH371/Gv86jEuBk6N1Q== X-Received: by 2002:a02:5185:: with SMTP id s127mr329068jaa.44.1562276044189; Thu, 04 Jul 2019 14:34:04 -0700 (PDT) Received: from vhost2 (CPE001143542e1f-CMf81d0f809fa0.cpe.net.cable.rogers.com. [99.230.51.196]) by smtp.gmail.com with ESMTPSA id b3sm5203151iot.23.2019.07.04.14.34.03 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 04 Jul 2019 14:34:03 -0700 (PDT) From: Noam Postavsky To: control@debbugs.gnu.org Subject: control message for bug #36445 Date: Thu, 04 Jul 2019 17:34:04 -0400 Message-ID: <85d0ipeb77.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) retitle 36445 Byte-compilation does not warn about runtime use of variables defined only at compile time severity 36445 minor tags 36445 + confirmed quit