From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id KODRDG2MkmfPhAAA62LTzQ:P1 (envelope-from ) for ; Thu, 23 Jan 2025 18:37:33 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id KODRDG2MkmfPhAAA62LTzQ (envelope-from ) for ; Thu, 23 Jan 2025 19:37:33 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=tsdye.online header.s=default header.b=qZwH6O4d; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1737657453; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=J6t0wj4RwLKInY0j2MnRYxYbg6TDZSof9eqPeqQ8HuI=; b=ZC5UlkwjtTFpg557D+akpH1fmRuBZjzhfXmqI4ivTB6dMtKMPyJKfuVzSikQj0vYbyUCIK Pf+XpW94A6bLULqosm3r8foqeISnDp9d0foW+RQrxXUJ7Dsu8u5cVaEmzPP5YIMU7C+YPS RsdqniX3uHVofHMlavnGcCk7tXPPqsWqNuj7LQ6Y67fBKSYWLMxm/6+NVS6HnJMw5wZvRr 4g2TZW9wiwmnYccqBOYSLCasii8mpaJcWA1xY9AHyLQ3dmLR+XhDX/3L03mkXrD0yUeoEC 4Zz6bctAekA/TCaxaaYiTiiuyUXz+7C1PdeBojMcMseNBNswLWmBHzZa2Fge9Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=tsdye.online header.s=default header.b=qZwH6O4d; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1737657453; a=rsa-sha256; cv=none; b=HXcpGs0Rb8xaajfEw65iCrQjPqFaHTgu4mSF2X9Hy43nXn0ZHiSzxMyBmNSEOmtcN86Ty/ t9Dosh0w2FYUmZ9x5f7gdTIwwke8pOY7TYpMTsSHV1aC3DBo5llz9GhDEm3Uvq5khuOMEn wYoIdvV4MtSXvLYELutsuu6vZoJPsJ2IIEH/iFH5PUq30aWSDFpIE6Xougpu49ZH5XrKCt e+n4EJ9Cn7d2cnfbnBQp/mVPqv7a5g2MmwQNd6Jnzo3VvaOxKd4wy3tviWbC+wnFJUJm4K dOCeE5pi6dlDTpzVdsq0/fXh8gk0Mjwz9xfz6fgeyHYbP1jGWOz/EESI8tKlqQ== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id EE92FA17C8 for ; Thu, 23 Jan 2025 19:37:32 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tb24C-00007C-EN; Thu, 23 Jan 2025 13:36:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tb24A-00006i-Dx for emacs-orgmode@gnu.org; Thu, 23 Jan 2025 13:36:34 -0500 Received: from omta40.uswest2.a.cloudfilter.net ([35.89.44.39]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tb246-0004BO-2K for emacs-orgmode@gnu.org; Thu, 23 Jan 2025 13:36:34 -0500 Received: from eig-obgw-6005a.ext.cloudfilter.net ([10.0.30.201]) by cmsmtp with ESMTPS id arYhtfmbgf1UXb243tEHX7; Thu, 23 Jan 2025 18:36:27 +0000 Received: from box2035.bluehost.com ([74.220.219.237]) by cmsmtp with ESMTPS id b242tqiHrvt5Yb243tSxa8; Thu, 23 Jan 2025 18:36:27 +0000 X-Authority-Analysis: v=2.4 cv=c9JgQg9l c=1 sm=1 tr=0 ts=67928c2b a=VozZY++RX3oc2UgfNhVfaA==:117 a=VozZY++RX3oc2UgfNhVfaA==:17 a=MKtGQD3n3ToA:10 a=1oJP67jkp3AA:10 a=VdSt8ZQiCzkA:10 a=nJrs4UJQBjcA:10 a=mDV3o1hIAAAA:8 a=o9zw6IYYAAAA:8 a=AY5Opib2MRHiOdjBFK4A:9 a=-FEs8UIgK8oA:10 a=BtxB1_lq3pBo68oZtZ_9:22 a=A2tt7buDTgElyBcRWK2c:22 a=1ZBvEmPAInNS7xgDtvbF:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tsdye.online; s=default; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=J6t0wj4RwLKInY0j2MnRYxYbg6TDZSof9eqPeqQ8HuI=; b=qZwH6O4dUrKO4VQo4r4K6yrMHS zo1Bzw7akeUF4ZnyM2HGs+d5i9P1LsmzWNMxlq5Bww0qpX5jUpDjdJAl6B2UaoOG+7ucYHOmECW9g Hw1ITGVNxY+Scxa5bQ8NMrBru87SAjOm3VyPKawTRZuLlI8WvC1NWtHzuvs4W08NtkVsoRzJ1JtFq aU5kvvxlYI43VBkmvjgVye0TOyNoKS36wQe67+a6beihCFPNJQxACJNfXz35V5/4KSc+0v4ilUBFg SXYGdLiPqdxHXXfakjVnkpbewY6Q1CmKQMoul7eGVYXVaPB+AdhgQZjqVLpGVlJy6xWurbPmuyJZ6 zQFEw0qQ==; Received: from syn-050-113-033-148.res.spectrum.com ([50.113.33.148]:42580 helo=poto-foou.tsdye.online) by box2035.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96.2) (envelope-from ) id 1tb242-001wLN-1N; Thu, 23 Jan 2025 11:36:26 -0700 From: "Thomas S. Dye" To: Joost Kremers Cc: emacs-orgmode@gnu.org Subject: Re: Babel Forth In-Reply-To: <86v7u6gd2k.fsf@fastmail.fm> (Joost Kremers's message of "Thu, 23 Jan 2025 09:16:19 +0100") References: <874j1qlgxe.fsf@tsdye.online> <86v7u6gd2k.fsf@fastmail.fm> Date: Thu, 23 Jan 2025 08:36:24 -1000 Message-ID: <87plkdml7b.fsf@tsdye.online> MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box2035.bluehost.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tsdye.online X-BWhitelist: no X-Source-IP: 50.113.33.148 X-Source-L: No X-Exim-ID: 1tb242-001wLN-1N X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: syn-050-113-033-148.res.spectrum.com (poto-foou.tsdye.online) [50.113.33.148]:42580 X-Source-Auth: tsd@tsdye.online X-Email-Count: 2 X-Org: HG=bhshared;ORG=bluehost; X-Source-Cap: dHNkeWVvbmw7dHNkeWVvbmw7Ym94MjAzNS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-CMAE-Envelope: MS4xfPSXcorX4aFkoZmvM21XI6S+hFbdOLV+yNQ88spIK5U/MRdmW5lJ+fe2aJs4bftDBAAan0iiq7yrI9p+zNEt48MCUElskiR74zH717q0ra2oYIfefMIr JMjlO1weJduLf7AvlVGWdc0h1SsAr95jdkXXNaiKqpmIB7ng2l83JZNivynELDxwxprFPK3gtPnAntEcja07C445znnoNnKthBA= Received-SPF: pass client-ip=35.89.44.39; envelope-from=tsd@tsdye.online; helo=omta40.uswest2.a.cloudfilter.net X-Spam_score_int: -7 X-Spam_score: -0.8 X-Spam_bar: / X-Spam_report: (-0.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FROM_SUSPICIOUS_NTLD=0.498, PDS_OTHER_BAD_TLD=0.756, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Scanner: mx10.migadu.com X-Migadu-Spam-Score: -0.01 X-Spam-Score: -0.01 X-Migadu-Queue-Id: EE92FA17C8 X-TUID: sPNsUiPX/ikc Joost Kremers writes: > The `declare-function` call says that `forth-proc` can be found > in > `gforth.el`, so the fact that you have `forth-mode.el` installed > is > (probably) irrelevant. What you need is the file `gforth.el`. > Where it > comes from is irrelevant, it just needs to be on Emacs' > `load-path`. (And > it needs to actually provide `forth-proc`, of course, and make > it > autoloadable, but I assume that's the case.) > > What I don't understand, though, is why there's no `(require > 'gforth)` in > `ob-forth.el`. It seems that `forth-proc` is essential for > running Forth > source blocks, so a `require` seems in order. > > The point is that `declare-function` is usually only used to > declare > functions that are optional, meaning that `ob-forth.el` should > check if > it's available and gracefully handle the case where it's not. > >> What is the best way forward here? > > What does the documentation for `ob-forth.el` say? Does it say > `gforth.el` > needs to be installed? Otherwise perhaps ask the Org mailing > list or the > ob-forth maintainer directly? No one is maintaining ob-forth.el. I found gforth.el in emacs/site-lisp and confirm that forth-proc is there. Here is the relevant part of ob-forth.el: ;; Requires the gforth forth compiler and `forth-mode' (see below). ;; https://www.gnu.org/software/gforth/ ;;; Requirements: ;; Session evaluation requires the gforth forth compiler as well as ;; `forth-mode' which is distributed with gforth (in gforth.el). ;;; Code: (require 'org-macs) (org-assert-version) (require 'ob) (require 'org-macs) (declare-function forth-proc "ext:gforth" ()) It does not (require 'gforth), but strangely (to me) requires org-macs twice. Perhaps ob-forth.el is broken? All the best, Tom -- Thomas S. Dye https://tsdye.online/tsdye