From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Thomas Fitzsimmons Newsgroups: gmane.emacs.devel Subject: [ELPA] New package: firefox-javascript-repl Date: Sat, 27 May 2023 10:57:40 -0400 Message-ID: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16178"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat May 27 16:58:45 2023 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 1q2vNS-0003wR-S4 for ged-emacs-devel@m.gmane-mx.org; Sat, 27 May 2023 16:58:44 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q2vMs-0006kn-FC; Sat, 27 May 2023 10:58:06 -0400 Original-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 1q2vMq-0006kM-VB for emacs-devel@gnu.org; Sat, 27 May 2023 10:58:05 -0400 Original-Received: from mail.fitzsim.org ([69.165.165.189]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q2vMY-0000Zc-0p for emacs-devel@gnu.org; Sat, 27 May 2023 10:58:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=fitzsim.org ; s=20220430; h=Content-Type:MIME-Version:Message-ID:Date:Subject:To:From: Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=DcOnHs9zHdBTfXKvHIPaOLFnXs5xWwr2/IyMt1Sh2go=; b=MzJnF6Tc2Mq8ou9GChfqCn5v3G bscmGwxb4KrYJTz1wQR8bUKEO9DLwsJqECqXOzi5X3Sk6YvBY9g995dIFBC/UIka+mKAag/c7afom 9qxiTuKj9p3Rp7RgFuXtwgEG5L1CNbhg3tV5bUuI3ULZ80UzOqEQkc7eH9c9jkqTYgPhz07NOjq6C +854oUAOjXjE9t5j/LZ8dsqMMiiYZsuaEXnCErd3FpV18rT4AgbIDYQfSofmzrP+AaN2DDgrwbwBE wROwze9ro1hhDdOLHkldl1PN3LTRfW8KXWrlhf5QRuqSQdYZG2e/eR7X5SyV7JGxgQJKFwixY+YDp Aey/wYLg==; Original-Received: from [192.168.1.1] (helo=localhost.localdomain) by mail.fitzsim.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1q2vMT-000Oys-2I for emacs-devel@gnu.org; Sat, 27 May 2023 10:57:41 -0400 Received-SPF: pass client-ip=69.165.165.189; envelope-from=fitzsim@fitzsim.org; helo=mail.fitzsim.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:306368 Archived-At: Hi, I just published a new package: https://git.sr.ht/~fitzsim/firefox-javascript-repl/tree/main/item/firefox-javascript-repl.el I think it may be useful to others, so I'm proposing it for GNU ELPA. >From the commentary: REPL into a new Firefox instance's JavaScript engine. A new throwaway Firefox profile directory is created before each run, so you won't need to modify your existing profiles. This mode takes care of starting the new Firefox process in debugging mode, which may be tedious to do by hand. This `comint' mode is barebones and unstructured, meant for quick JavaScript experiments. On newer versions of Emacs with `comint-indirect-buffer' support, syntax highlighting happens on the current statement. Paste each statement from `example.js' into the REPL to try it out. I will try to keep the current base functionality working with the latest Firefox and Firefox ESR releases. Past attempts at such REPLs like jsSlime have not kept up with the evolution of the Firefox Remote Debugging Protocol. I could not get skewer-mode or dap-mode working; there was so much compatibility debugging that it made more sense to write my own minimal REPL -- again, only for the purposes of quick JavaScript experimentation. Thomas