From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: Towards a cleaner build Date: Sun, 09 Jun 2019 17:40:04 +0200 Message-ID: References: <83zhn6zkgf.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="219386"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: Eli Zaretskii , Noam Postavsky , Emacs developers To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jun 09 17:41:01 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hZzwL-000uxk-Mc for ged-emacs-devel@m.gmane.org; Sun, 09 Jun 2019 17:41:01 +0200 Original-Received: from localhost ([::1]:36440 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hZzwK-0004Sl-3H for ged-emacs-devel@m.gmane.org; Sun, 09 Jun 2019 11:41:00 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41703) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hZzvY-0004QQ-GS for emacs-devel@gnu.org; Sun, 09 Jun 2019 11:40:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hZzvX-0007D8-Ck for emacs-devel@gnu.org; Sun, 09 Jun 2019 11:40:12 -0400 Original-Received: from quimby.gnus.org ([80.91.231.51]:39662) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hZzvW-0007Bx-40; Sun, 09 Jun 2019 11:40:11 -0400 Original-Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=stories) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hZzvQ-0004Qk-W9; Sun, 09 Jun 2019 17:40:07 +0200 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAD1BMVEVBPj+Qjo8cGhvk4+Rd W1wEEOLaAAACbElEQVQ4jVVUi5XjIAyUWQpAgQKwzgWExQVIRP3XdCPbu/eOOHkvmugzMyJEax3W tXNtzDNt2k2S7JXykj2J7zwnnpVTrgCs0raWLbH+qYhP2pQrkThTFeHVc7cAhuxv5tykN9JXVj9I ckXCmezFNfMyprcs0SNJvwEt2aR7ZSqyuqmmbqiEKZZ06VtttMRJ89oVLd6kW+oJ024EoJgWOZzr PMnZ26ukowm9+iJvObPzHGRK3ExRLoCuG5sexsMRrXNYkgAkvUWkp4z297kBBFPZIQ15veMDocjI 2gkqSHYLZAy7AelWnDpmzl7HnOW7pAtImNGqq6OWMXPqlAMoRAYnXDOy3K2JSnmAT8OIroRX3kZa PYai7+7IB1K8ZN80xALQ6U05kFEHx2mb08UKADrWMcKmUWczRzMMRKfxxBbwQ7oym3vKmYpxPX84 34fdsxHauPmTwHx/og86EfOHR0QasuflcA+NZJxmLaSNMJ7hQRDvNqjRJfq4VAyGCboqxmj+0wat g0WioI0wQLAEQWNdaSnBYtBzhYHYA8wId1d/odQMoTwcULkM+vBqMdVEPtYN7eQ+B9NGAUxeEuq1 nVuBNa+eQmDiSGmefHU3ze4FvwlgxIUZNXYsTqcPuioW7qJ1nphHDzBQgWeMOejSesBz6f2riezz 6ip0qTaqE7X01dL1faRfIJSGPXzr3uQpFYimf3rx/0Bq4f5vxteDwLTtic8Wzcdj9wm6/JS6NvHa j8Hh2vEk3NfgAkBkh7z+586IO0PjGvE8Nmh1sYsewQNG8SgM1p7liIWss6IubVntHSapZBWKP4h3 Ra2/KpGfrnT/8xAAAAAASUVORK5CYII= In-Reply-To: (Lars Ingebrigtsen's message of "Sun, 09 Jun 2019 15:48:03 +0200") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 80.91.231.51 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.org gmane.emacs.devel:237348 Archived-At: Some of these warnings are perhaps not, like, very useful to be able to suppress, but I thought it'd be nice if the warnings you could suppress is the same as you can do via byte-compile-warnings, so I've implemented almost all of them. So now the following monstrosity compiles without a single warning. :-) ;;; stest.el --- -*- lexical-binding: t -*- (require 'stest-defs) (defun obsolete () (declare (obsolete foo "22.1"))) (defun wrong-params (foo &optional _unused) foo) (with-suppressed-warnings ((lexical prefixless)) (defvar prefixless)) (with-suppressed-warnings ((redefine redefine)) (defun redefine (foo bar) (cons foo bar))) (defun tests () (with-suppressed-warnings ((constants nil)) (let ((nil t)) (message-mail))) (with-suppressed-warnings ((obsolete obsolete)) (obsolete)) (with-suppressed-warnings ((callargs wrong-params)) (wrong-params 1 2 3)) (with-suppressed-warnings ((obsolete obsolete-variable)) obsolete-variable) (with-suppressed-warnings ((mapcar mapcar)) (mapcar #'list '(1 2 3))) (with-suppressed-warnings ((free-vars free-variable)) free-variable) (with-suppressed-warnings ((suspicious set-buffer)) (save-excursion (set-buffer (get-buffer-create "foo")) nil)) ) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no