From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: Do we need C's extern in Emacs Lisp? Date: Thu, 31 Mar 2022 00:26:20 -0400 Message-ID: References: Reply-To: rms@gnu.org Content-Type: text/plain; charset=Utf-8 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4749"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Mar 31 06:27:49 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nZmPV-00012B-2K for ged-emacs-devel@m.gmane-mx.org; Thu, 31 Mar 2022 06:27:49 +0200 Original-Received: from localhost ([::1]:46578 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nZmPT-0001YG-K1 for ged-emacs-devel@m.gmane-mx.org; Thu, 31 Mar 2022 00:27:47 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:41540) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nZmO5-0000Lt-BA for emacs-devel@gnu.org; Thu, 31 Mar 2022 00:26:21 -0400 Original-Received: from [2001:470:142:3::e] (port=50464 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nZmO4-0008I4-IJ; Thu, 31 Mar 2022 00:26:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=buyP/8CzCK0vD3831ALkGLVRJbQQllQYfoLE+zLWLa0=; b=lVah4fa2DlNU ArXdH5yIHbIqM15xy7etdIbKZjcgh3J3Zu6gG35lnnu3itJ0+Lkuwg/7vnFG5CjJdQ/Q4cbKHJJOI D7I9AxKuqUKKuX+sxJlSz58QO6hPAk6FcuSdiFW8JMD0l+/S7Hy2j41YIvzFA1In7/X3/XraUfA8V AgNdqTerUL2sy1AKRbJ022pS9lJLrM6l2qt9h37qVoWrjPQxgCNInugGuYdqYNOD1DPYNNq13TPdw LYb1RAfJHiq9KEgkGeJ1mtVP9/HsHomXOH2d+CxyZBeephkIQMOF6nANXv45DFFUIh7UwbunEXUeY NxJ/faZB9tdUukqIMI2DvQ==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1nZmO4-0002al-9A; Thu, 31 Mar 2022 00:26:20 -0400 In-Reply-To: (message from Alan Mackenzie on Tue, 29 Mar 2022 17:45:57 +0000) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:287621 Archived-At: [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Currently we do not have any equivalent in Lisp. For example, if > (defvar foo) > is in a Lisp file, then subsequent use of foo will generate an unknown > variable warning. Could you describe the scenario more clearly? What sort of use, and where? The reason I ask is that details would affect whether we judge that the actual behavior is problematical or helpful. > I think it would be useful to have some sort of "extern" facility in our > Lisp. This raises some questions: 1. How would you envision using it? 2. What would we do currently? 3. What would be the advantage of using the new construct instead? W -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)