From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: master 9239be8e76: ; Fix documentation of 'compiled-function-p' (bug#56648) Date: Sun, 14 Aug 2022 13:35:10 -0400 Message-ID: References: <166049561942.12175.12224769904791369964@vcs2.savannah.gnu.org> <20220814164659.B616CC01680@vcs2.savannah.gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4373"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Aug 14 19:37:09 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 1oNHXw-0000o1-3M for ged-emacs-devel@m.gmane-mx.org; Sun, 14 Aug 2022 19:37:08 +0200 Original-Received: from localhost ([::1]:57336 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNHXu-0001q4-Kp for ged-emacs-devel@m.gmane-mx.org; Sun, 14 Aug 2022 13:37:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41686) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNHWB-0000ko-3Y for emacs-devel@gnu.org; Sun, 14 Aug 2022 13:35:19 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:30697) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNHW8-0004dZ-SG; Sun, 14 Aug 2022 13:35:18 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id EC4B0100134; Sun, 14 Aug 2022 13:35:12 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 93DCE10008C; Sun, 14 Aug 2022 13:35:11 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1660498511; bh=rZrqQ8OjSxV+aCwaTMAuGpMptasV/EWiDg/4EbS9ebQ=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=T2CEhS0abl9z7HW4zYi7iiiXmey3YsRHFRKDmlkcZ05gZr6yvdA04NT3XWorB87SW KSTVsfG3AOkC+HNsTXjWaR5lbIAx/yncVPCXSkRx8Iw/CTy0uWHxzI45kzAQxv7g/c si9zvrrt7BYjl1+gAqdVNmqUjEox8h1eQxi3n9n7z24n2jJ3ShVKlIETUVA7PLXc7O ZZLNPG5WXqi3IXwbzOxLXxU5V9MKfGhim04C+nxqXs5JpFtHPXPED5/BfjGG8M3Ilw /FFrjAjvJ8GUgY1e7EXcTqSjuYefKG0YEM6wOx7P7Zlm+FtzyqKkiB0sdm0i5aKOwA bmOu8ZhWHtI/g== Original-Received: from pastel (unknown [45.72.195.111]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 322581201F4; Sun, 14 Aug 2022 13:35:11 -0400 (EDT) In-Reply-To: <20220814164659.B616CC01680@vcs2.savannah.gnu.org> (Eli Zaretskii's message of "Sun, 14 Aug 2022 12:46:59 -0400 (EDT)") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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:293454 Archived-At: > @defun compiled-function-p object > This function returns @code{t} if @var{object} is a function object > -implemented in byte-code or machine code. > +that was either byte-compiled (@pxref{Byte Compilation}) or > +natively-compiled (@pxref{Native Compilation}). > @end defun Hmm... it also returns t if the function is a built-in or provided by a dynamically loaded module, which is why I had kept the wording less specific. I guess that's also why Lars suggested to use `not-compiled-function-p` instead. The way I think of it, the main property of a `compiled-function` is that it's a function and it can't usefully be passed to `byte-compile`. FWIW, Common Lisp defines the type as follows: Any function may be considered by an implementation to be a compiled function if it contains no references to macros that must be expanded at run time, and it contains no unresolved references to load time values. See Section 3.2.2 (Compilation Semantics). Functions whose definitions appear lexically within a file that has been compiled with compile-file and then loaded with load are of type compiled-function. Functions produced by the compile function are of type compiled-function. Other functions might also be of type compiled-function. -- Stefan