From unknown Wed Jun 18 00:26:11 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#78304 <78304@debbugs.gnu.org> To: bug#78304 <78304@debbugs.gnu.org> Subject: Status: 31.0.50; Support --early-eval on the command line Reply-To: bug#78304 <78304@debbugs.gnu.org> Date: Wed, 18 Jun 2025 07:26:11 +0000 retitle 78304 31.0.50; Support --early-eval on the command line reassign 78304 emacs submitter 78304 Spencer Baugh severity 78304 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed May 07 17:34:47 2025 Received: (at submit) by debbugs.gnu.org; 7 May 2025 21:34:47 +0000 Received: from localhost ([127.0.0.1]:48832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uCmPf-0000Pu-1g for submit@debbugs.gnu.org; Wed, 07 May 2025 17:34:47 -0400 Received: from lists.gnu.org ([2001:470:142::17]:55468) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uCmPc-0000P8-FH for submit@debbugs.gnu.org; Wed, 07 May 2025 17:34:45 -0400 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 1uCmPV-0003Zq-FH for bug-gnu-emacs@gnu.org; Wed, 07 May 2025 17:34:38 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCmPT-0000uB-MK for bug-gnu-emacs@gnu.org; Wed, 07 May 2025 17:34:37 -0400 From: Spencer Baugh To: bug-gnu-emacs@gnu.org Subject: 31.0.50; Support --early-eval on the command line Date: Wed, 07 May 2025 17:34:33 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1746653674; bh=4hKKyJj8YDkTRcN4wUR26694xZq/15Aayl2USirApHE=; h=From:To:Subject:Date; b=qEvyMVX9iJmTRoXsvb2CGp5gVuK6kz3PhQ88k2/j6vLIx21wQLqLlz+5UQp/eXfOV /SG8+z3Ad/tfok3JBkinzyne0ftn/5i2BliKgr+lZjtRFIm8y4uWvmzSRkmiDyrpoh 4Aha/wdVRMcSx82n70gaHy97I86ZXsmAU95KdxhObB7B7MyhfVl/Z7vIO3EI7jU5mA No/SUO+s+XfX9vVYZuc5vqmDOcdbSvfMX/POGjcHORlsmgtgTpNhKfksbLkSu6QJIW jWDUnVSGIulmMRX2cokj/lcdqGSeukelk0Xs7FsZXxxYWRNuEY5rWUCnj2ysr+IG2H qHTPIslVbowcQ== Received-SPF: pass client-ip=64.215.233.18; envelope-from=sbaugh@janestreet.com; helo=mxout5.mail.janestreet.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) There are many useful things which can only be done by code in early-init.el. Such things can't be done by code on the command line, because --eval runs after init.el has been loaded - much too late to, for example, configure package.el or set initial frame parameters. We should add an --early-eval argument to allow doing things which need to run at early-init time on the command line. I'm happy to add this if that sounds reasonable to others. (One extremely hacky alternative is to use --init-directory to point the user-emacs-directory to a directory which contains an early-init.el file, then reset user-emacs-directory back to its normal value at the start of that early-init.el. But that's quite fragile and much harder) In GNU Emacs 31.0.50 (build 38, x86_64-pc-linux-gnu, GTK+ Version 3.22.30, cairo version 1.15.12) of 2025-05-01 built on igm-qws-u22796a Repository revision: fee7b40efadc3e3ebc62f1f845837cc97bd84606 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: Rocky Linux 8.10 (Green Obsidian) Configured using: 'configure -C --with-gif=no' Configured features: CAIRO DBUS FREETYPE GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t buffer-read-only: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr compile comint ansi-osc ansi-color ring emacsbug lisp-mnt message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils comp-run bytecomp byte-compile comp-common rx warnings icons cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar regexp-opt rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 89189 8663) (symbols 48 6857 0) (strings 32 24530 1634) (string-bytes 1 814844) (vectors 16 15667) (vector-slots 8 187526 6377) (floats 8 35 1) (intervals 56 408 19) (buffers 984 12)) From debbugs-submit-bounces@debbugs.gnu.org Thu May 08 01:28:15 2025 Received: (at 78304) by debbugs.gnu.org; 8 May 2025 05:28:15 +0000 Received: from localhost ([127.0.0.1]:52334 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uCtnq-0004nY-J2 for submit@debbugs.gnu.org; Thu, 08 May 2025 01:28:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58066) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uCtnn-0004nL-RG for 78304@debbugs.gnu.org; Thu, 08 May 2025 01:28:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uCtnh-0002lq-M9; Thu, 08 May 2025 01:28:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=Rm69DksTPb25RbbSi9iqJP9KsZiNACrzKxUyUAc3rmw=; b=lzak4/tmQaZFOKOikjXC p2S82ZZXma8dxuskUZVeCUQVwiYtxGQ57XR3zDdsg4xjAEfcMSFhgqjOSkvo2G8cQ9a1VQIWQtpwk pnEsAhR28Ij5M66r5ErcUvqfa8LL6JqS7rYdxVb1QZZ54wQonS7vKR9dMzwvDy1ta7G4DwcJP1wXB KVd3kd+qucxjV712/91FnDgMpb8Nfp9Fltk0Wtp0lAJVwv7NI/xM5eqTiF55Sbr1WcwDoiDDPdKCd IwkULRfk9YQvAu5+1mVE9RtUbYI3VpeIL2HZJfKN+291W/2NbSZLRdi+9jPaWh+QdAsL9Aes3XUX0 0O0Te0G5Uaiiqw==; Date: Thu, 08 May 2025 08:28:03 +0300 Message-Id: <864ixvfz8c.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (bug-gnu-emacs@gnu.org) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Wed, 07 May 2025 17:34:33 -0400 > From: Spencer Baugh via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > > There are many useful things which can only be done by code in > early-init.el. Such things can't be done by code on the command line, > because --eval runs after init.el has been loaded - much too late to, > for example, configure package.el or set initial frame parameters. > > We should add an --early-eval argument to allow doing things which need > to run at early-init time on the command line. > > I'm happy to add this if that sounds reasonable to others. > > (One extremely hacky alternative is to use --init-directory to point the > user-emacs-directory to a directory which contains an early-init.el > file, then reset user-emacs-directory back to its normal value at the > start of that early-init.el. But that's quite fragile and much harder) This is a slippery slope. The initial stages of the startup are a delicate process, basically a kind-of bootstrap, whereby Emacs needs to initialize itself while taking into consideration the various customizations which affect the initialization. The startup.el code is replete with evidence to that: for example, look how many times we call startup--update-eln-cache, custom-reevaluate-setting and frame-notice-user-settings. We are already on this slippery slope, with early-init file, the '--init-directory' option (which, btw, already shows its subtle unexpected aspects), and other similar enhancements. This causes numerous bug reports and non-trivial maintenance burden, because people rightfully expect these features to work as a naïve user would expect, without understanding all the subtleties and problematic nature of the startup process. So I'm firmly against extending Emacs in these directions, because the costs far outweigh the advantages, and because requests of this kind usually serve a small number (as in 1) of users who have peculiar desires, while all the rest are perfectly okay with what we already have. If you want this request to be considered seriously, please describe the specific use cases where you think this is needed, and please explain: why you couldn't do this using the existing facilities (including early-init file), and how would the proposed changes serve enough Emacs users to justify the maintenance costs. Because arguments of the kind "we should add --early-eval" are a huge non-starter for me, since I have some idea how the command-line arguments are processed in Emacs. So, basically: thanks, but no, thanks. However, I'm open to hear some starking unexpected gap in our features that is entirely impossible to solve unless we add something. From debbugs-submit-bounces@debbugs.gnu.org Thu May 08 12:26:33 2025 Received: (at 78304) by debbugs.gnu.org; 8 May 2025 16:26:33 +0000 Received: from localhost ([127.0.0.1]:59224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uD44u-0002WA-To for submit@debbugs.gnu.org; Thu, 08 May 2025 12:26:33 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:47075) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uD44s-0002Vc-JS for 78304@debbugs.gnu.org; Thu, 08 May 2025 12:26:31 -0400 From: Spencer Baugh To: Eli Zaretskii Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line In-Reply-To: <864ixvfz8c.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 08 May 2025 08:28:03 +0300") References: <864ixvfz8c.fsf@gnu.org> Date: Thu, 08 May 2025 12:26:24 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1746721584; bh=J3+Ob0Zi+vr7vIkGVGNrfpA106dwAn7pPzlxwOOgE1c=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=h+/5vDzZMxCldAK3RLirA9Yp0h655FCkq3cGk+TJlFK+Z8tA6M4r8eYCD3LHcF7H2 +Dlh3vaG78bYoDMMFbDOwrJvSK/HlU9g4XVe9oAT+iZrEEVMs0U5quiphoAjJsguSm zpQrWBbka45s8l0+3F1EnVpvICgy7jZbnLXtKrk7fk8Mr24In4cBXtJlvzpfCZbYrr rhYQCpc7eanYI2gzzWnqc/fwWNmQmQWB0QWTsiD1qgHBIzDToZwknGRN1WvkMNMXtX sk8k7A9Y+KBcgYe3g3GvwhWdb9TBy7kS8AS4iM3TUdR46vukyhlJLxKPMD2pIH2gw2 rXNJu2hIGA97g== X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Eli Zaretskii writes: >> Date: Wed, 07 May 2025 17:34:33 -0400 >> From: Spencer Baugh via "Bug reports for GNU Emacs, >> the Swiss army knife of text editors" >>=20 >>=20 >> There are many useful things which can only be done by code in >> early-init.el. Such things can't be done by code on the command line, >> because --eval runs after init.el has been loaded - much too late to, >> for example, configure package.el or set initial frame parameters. >>=20 >> We should add an --early-eval argument to allow doing things which need >> to run at early-init time on the command line. >>=20 >> I'm happy to add this if that sounds reasonable to others. >>=20 >> (One extremely hacky alternative is to use --init-directory to point the >> user-emacs-directory to a directory which contains an early-init.el >> file, then reset user-emacs-directory back to its normal value at the >> start of that early-init.el. But that's quite fragile and much harder) > > This is a slippery slope. The initial stages of the startup are a > delicate process, basically a kind-of bootstrap, whereby Emacs needs > to initialize itself while taking into consideration the various > customizations which affect the initialization. The startup.el code > is replete with evidence to that: for example, look how many times we > call startup--update-eln-cache, custom-reevaluate-setting and > frame-notice-user-settings. > > We are already on this slippery slope, with early-init file, the > '--init-directory' option (which, btw, already shows its subtle > unexpected aspects), and other similar enhancements. This causes > numerous bug reports and non-trivial maintenance burden, because > people rightfully expect these features to work as a na=C3=AFve user would > expect, without understanding all the subtleties and problematic > nature of the startup process. > > So I'm firmly against extending Emacs in these directions, because the > costs far outweigh the advantages, and because requests of this kind > usually serve a small number (as in 1) of users who have peculiar > desires, while all the rest are perfectly okay with what we already > have. > > If you want this request to be considered seriously, please describe > the specific use cases where you think this is needed, and please > explain: why you couldn't do this using the existing facilities > (including early-init file), and how would the proposed changes serve > enough Emacs users to justify the maintenance costs. Because > arguments of the kind "we should add --early-eval" are a huge > non-starter for me, since I have some idea how the command-line > arguments are processed in Emacs. > > So, basically: thanks, but no, thanks. However, I'm open to hear some > starking unexpected gap in our features that is entirely impossible to > solve unless we add something. That is reasonable. The general use case is configuring things which need to be set in early-init.el while running "emacs -q". Two concrete use cases I have that are prompting this idea: - Working with the new load-path-filter-function variable discussed on emacs-devel. Since it speeds up all subsequent loads, it needs to be set at early-init.el time to have maximum effect, but I want to also be able to use it with emacs -q. - Context: I'm developing some scripts to run Emacs in a simple reduced-functionality mode, which provide access to just one buffer running in a specific major mode, with the goal of making Emacs features accessible to users who don't currently use Emacs. For example, vc-dir is generally useful, so a script to open Emacs running vc-dir on its own. (These scripts are similar to things like https://github.com/maio/smagit and https://github.com/alphapapa/magit.sh ) These scripts run with -q, but I need to be able to configure things about the initial frame, which can only be done with early-init.el. The workaround that occurs to me is to run emacs without -q, but instead with an --init-directory that contains an early-init.el which does whatever configurations I want, and then at the end does (setq init-file-user nil user-emacs-directory (startup--xdg-or-homedot startup--xdg-config-hom= e-emacs nil)) to obtain the same behavior as -q, and also reset user-emacs-directory back to its normal value. Of course, this is hacky and quite fragile... From debbugs-submit-bounces@debbugs.gnu.org Thu May 08 12:41:40 2025 Received: (at 78304) by debbugs.gnu.org; 8 May 2025 16:41:40 +0000 Received: from localhost ([127.0.0.1]:59344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uD4JX-0003TX-1g for submit@debbugs.gnu.org; Thu, 08 May 2025 12:41:39 -0400 Received: from mail-vs1-xe35.google.com ([2607:f8b0:4864:20::e35]:48207) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uD4JT-0003T0-Oz for 78304@debbugs.gnu.org; Thu, 08 May 2025 12:41:37 -0400 Received: by mail-vs1-xe35.google.com with SMTP id ada2fe7eead31-4c32d6ddd50so404111137.0 for <78304@debbugs.gnu.org>; Thu, 08 May 2025 09:41:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746722490; x=1747327290; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=tMXOjH+1aJ+aGSkCLZFGM6AOD1nj6UGFBEYqtRmm+8s=; b=jqUXIN9t9Tv9vnTaL3g/YDuxiWrm+Ylk8kytOpDX2VckSJqZTnYrwx+jAPNKCdWp+i MkPZDUUdIdC0oWSPsmy4iqfRibvgz1k27nAaa61HXwxhvIJzDYFO2mWcs5bsm6PhtyZI IGP9yMpQaMYBf6WWQYF1qtjCH1Csdv62MZHvrSJ3inCRGKnFKvuHfgO5h4yJucrLzLKk kYyHyBGPfebqU2ceCOYgjs7/3gs3Kk09SKEDZf8cmPM6laxc5rpY3rCCEw7SPuIbfQc+ EB4b/ZmzI6TB6NOsX5FHut3aOcM272s41LBkKS6cbqHBws0W857fUME6PxGyCIcgnaVD mgEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746722490; x=1747327290; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=tMXOjH+1aJ+aGSkCLZFGM6AOD1nj6UGFBEYqtRmm+8s=; b=HBBbRJOmIjYyHIzWHRes5K1IKUpcTcRkKEAPXEyZ8XcJF7s4IHjnr1pMNTBgd2S6Rz BcYKHL9PiPmTGsRwBAM7dMmeknY0fq9T0n49PcAZVS9anmhaELHaaJq3j8WwxhfxBojw IOCEiTYg5+xTCWdoTC4Xc8n23mKVrUe/NclNEvkyr1QnuRUXAdNBRupPZzX3IYLkQttu MAx5mLYCTM9zYLEVPrpU5/jhC7S5BSFoEifQsLYtcPElA8k3LPfsKEthUIDTyL6ZA4Jy gR/iAoNPx8l5wW9QAeBoeu/KYAt+i2wdkGmAWSC9O7Wriu1TPEvtpp4lm89jBxHkjT1G dFZg== X-Forwarded-Encrypted: i=1; AJvYcCWLC30nAbqfXBJKqBkDeru2sRKp9Hm3RwyRhIbQf82tfxCekXFjTq5fQbm4FgO6e/dUI8L9aQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwhOo0Qrt5/d00cSl7fIN4h68PHrmaTPSw5q7m2zI0CBFTMVBJc jWl3LY1KmdmW11nC1J/FFF63pEky7zSZCYf/srPslm+p5s/X5LU9pNbKzBVzDQoSCFTkve4JD1r DGBYCx4iMtXBlKalf/EsEto3V2fA= X-Gm-Gg: ASbGncvZWG2qRRrvcL4y8AR22V62K+aLN5RibNdfaGuI9hhtSBBCCeQE+tcfD9WckaK z9B1dWZuwhjZeT7kP0yY2+WrShyq7RUXKEKF+6aqHmgGeVLJ+WMTq0LrTnkN3OjemQKBWL3LD6U AUpdBHhVERTwdxMk7VDN6qYA== X-Google-Smtp-Source: AGHT+IGA/j/Ks8Re0blxyQ8Jaa4PS91P4EalRIiSfJ67AmoJbc4WUyx3MNWYRdFIVBiyYQ4WKH75GhKGsk/ZPj0fjQE= X-Received: by 2002:a05:6102:4b06:b0:4de:ec1d:a990 with SMTP id ada2fe7eead31-4deec1db38fmr624867137.14.1746722489706; Thu, 08 May 2025 09:41:29 -0700 (PDT) MIME-Version: 1.0 References: <864ixvfz8c.fsf@gnu.org> In-Reply-To: From: Ship Mints Date: Thu, 8 May 2025 12:41:18 -0400 X-Gm-Features: AX0GCFtrZWyzfmGnwp0HxikJua95vtfdk1S_sQ34i589_nLB2NdR3_wgzIi0VjU Message-ID: Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line To: Spencer Baugh Content-Type: multipart/alternative; boundary="000000000000852bb50634a28582" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78304 Cc: Eli Zaretskii , 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000852bb50634a28582 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, May 8, 2025 at 12:27=E2=80=AFPM Spencer Baugh via Bug reports for G= NU Emacs, the Swiss army knife of text editors wrote: > Eli Zaretskii writes: > > >> Date: Wed, 07 May 2025 17:34:33 -0400 > >> From: Spencer Baugh via "Bug reports for GNU Emacs, > >> the Swiss army knife of text editors" > >> > >> > >> There are many useful things which can only be done by code in > >> early-init.el. Such things can't be done by code on the command line, > >> because --eval runs after init.el has been loaded - much too late to, > >> for example, configure package.el or set initial frame parameters. > >> > >> We should add an --early-eval argument to allow doing things which nee= d > >> to run at early-init time on the command line. > >> > >> I'm happy to add this if that sounds reasonable to others. > >> > >> (One extremely hacky alternative is to use --init-directory to point t= he > >> user-emacs-directory to a directory which contains an early-init.el > >> file, then reset user-emacs-directory back to its normal value at the > >> start of that early-init.el. But that's quite fragile and much harder= ) > > > > This is a slippery slope. The initial stages of the startup are a > > delicate process, basically a kind-of bootstrap, whereby Emacs needs > > to initialize itself while taking into consideration the various > > customizations which affect the initialization. The startup.el code > > is replete with evidence to that: for example, look how many times we > > call startup--update-eln-cache, custom-reevaluate-setting and > > frame-notice-user-settings. > > > > We are already on this slippery slope, with early-init file, the > > '--init-directory' option (which, btw, already shows its subtle > > unexpected aspects), and other similar enhancements. This causes > > numerous bug reports and non-trivial maintenance burden, because > > people rightfully expect these features to work as a na=C3=AFve user wo= uld > > expect, without understanding all the subtleties and problematic > > nature of the startup process. > > > > So I'm firmly against extending Emacs in these directions, because the > > costs far outweigh the advantages, and because requests of this kind > > usually serve a small number (as in 1) of users who have peculiar > > desires, while all the rest are perfectly okay with what we already > > have. > > > > If you want this request to be considered seriously, please describe > > the specific use cases where you think this is needed, and please > > explain: why you couldn't do this using the existing facilities > > (including early-init file), and how would the proposed changes serve > > enough Emacs users to justify the maintenance costs. Because > > arguments of the kind "we should add --early-eval" are a huge > > non-starter for me, since I have some idea how the command-line > > arguments are processed in Emacs. > > > > So, basically: thanks, but no, thanks. However, I'm open to hear some > > starking unexpected gap in our features that is entirely impossible to > > solve unless we add something. > > That is reasonable. > > The general use case is configuring things which need to be set in > early-init.el while running "emacs -q". > > Two concrete use cases I have that are prompting this idea: > > - Working with the new load-path-filter-function variable discussed on > emacs-devel. Since it speeds up all subsequent loads, it needs to be > set at early-init.el time to have maximum effect, but I want to also > be able to use it with emacs -q. > > - Context: I'm developing some scripts to run Emacs in a simple > reduced-functionality mode, which provide access to just one buffer > running in a specific major mode, with the goal of making Emacs > features accessible to users who don't currently use Emacs. For > example, vc-dir is generally useful, so a script to open Emacs running > vc-dir on its own. (These scripts are similar to things like > https://github.com/maio/smagit and > https://github.com/alphapapa/magit.sh ) > > These scripts run with -q, but I need to be able to configure things > about the initial frame, which can only be done with early-init.el. > > The workaround that occurs to me is to run emacs without -q, but instead > with an --init-directory that contains an early-init.el which does > whatever configurations I want, and then at the end does > > (setq init-file-user nil > user-emacs-directory (startup--xdg-or-homedot > startup--xdg-config-home-emacs nil)) > > to obtain the same behavior as -q, and also reset user-emacs-directory > back to its normal value. Of course, this is hacky and quite fragile... > Perhaps adding -qe which would load early-init.el but not init.el loaded might do? If -qe filename.el, it could load that file in place of early-init.el? --000000000000852bb50634a28582 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Thu, May 8, 2025 at 12:27=E2=80=AFPM Spencer Baugh via Bug reports for G= NU Emacs, the Swiss army knife of text editors <bug-gnu-emacs@gnu.org> wrote:
Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Wed, 07 May 2025 17:34:33 -0400
>> From:=C2=A0 Spencer Baugh via "Bug reports for GNU Emacs,
>>=C2=A0 the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>=
>>
>>
>> There are many useful things which can only be done by code in
>> early-init.el.=C2=A0 Such things can't be done by code on the = command line,
>> because --eval runs after init.el has been loaded - much too late = to,
>> for example, configure package.el or set initial frame parameters.=
>>
>> We should add an --early-eval argument to allow doing things which= need
>> to run at early-init time on the command line.
>>
>> I'm happy to add this if that sounds reasonable to others.
>>
>> (One extremely hacky alternative is to use --init-directory to poi= nt the
>> user-emacs-directory to a directory which contains an early-init.e= l
>> file, then reset user-emacs-directory back to its normal value at = the
>> start of that early-init.el.=C2=A0 But that's quite fragile an= d much harder)
>
> This is a slippery slope.=C2=A0 The initial stages of the startup are = a
> delicate process, basically a kind-of bootstrap, whereby Emacs needs > to initialize itself while taking into consideration the various
> customizations which affect the initialization.=C2=A0 The startup.el c= ode
> is replete with evidence to that: for example, look how many times we<= br> > call startup--update-eln-cache, custom-reevaluate-setting and
> frame-notice-user-settings.
>
> We are already on this slippery slope, with early-init file, the
> '--init-directory' option (which, btw, already shows its subtl= e
> unexpected aspects), and other similar enhancements.=C2=A0 This causes=
> numerous bug reports and non-trivial maintenance burden, because
> people rightfully expect these features to work as a na=C3=AFve user w= ould
> expect, without understanding all the subtleties and problematic
> nature of the startup process.
>
> So I'm firmly against extending Emacs in these directions, because= the
> costs far outweigh the advantages, and because requests of this kind > usually serve a small number (as in 1) of users who have peculiar
> desires, while all the rest are perfectly okay with what we already > have.
>
> If you want this request to be considered seriously, please describe > the specific use cases where you think this is needed, and please
> explain: why you couldn't do this using the existing facilities > (including early-init file), and how would the proposed changes serve<= br> > enough Emacs users to justify the maintenance costs.=C2=A0 Because
> arguments of the kind "we should add --early-eval" are a hug= e
> non-starter for me, since I have some idea how the command-line
> arguments are processed in Emacs.
>
> So, basically: thanks, but no, thanks.=C2=A0 However, I'm open to = hear some
> starking unexpected gap in our features that is entirely impossible to=
> solve unless we add something.

That is reasonable.

The general use case is configuring things which need to be set in
early-init.el while running "emacs -q".

Two concrete use cases I have that are prompting this idea:

- Working with the new load-path-filter-function variable discussed on
=C2=A0 emacs-devel.=C2=A0 Since it speeds up all subsequent loads, it needs= to be
=C2=A0 set at early-init.el time to have maximum effect, but I want to also=
=C2=A0 be able to use it with emacs -q.

- Context: I'm developing some scripts to run Emacs in a simple
=C2=A0 reduced-functionality mode, which provide access to just one buffer<= br> =C2=A0 running in a specific major mode, with the goal of making Emacs
=C2=A0 features accessible to users who don't currently use Emacs.=C2= =A0 For
=C2=A0 example, vc-dir is generally useful, so a script to open Emacs runni= ng
=C2=A0 vc-dir on its own.=C2=A0 (These scripts are similar to things like =C2=A0 https://github.com/maio/smagit and
=C2=A0 https://github.com/alphapapa/magit.sh )

=C2=A0 These scripts run with -q, but I need to be able to configure things=
=C2=A0 about the initial frame, which can only be done with early-init.el.<= br>
The workaround that occurs to me is to run emacs without -q, but instead with an --init-directory that contains an early-init.el which does
whatever configurations I want, and then at the end does

(setq init-file-user nil
=C2=A0 =C2=A0 =C2=A0 user-emacs-directory (startup--xdg-or-homedot startup-= -xdg-config-home-emacs nil))

to obtain the same behavior as -q, and also reset user-emacs-directory
back to its normal value.=C2=A0 Of course, this is hacky and quite fragile.= ..

Perhaps adding -qe which would load early-init.el but n= ot init.el loaded might do?=C2=A0 If -qe filename.el, it could load that fi= le in place of early-init.el?
--000000000000852bb50634a28582-- From debbugs-submit-bounces@debbugs.gnu.org Thu May 08 15:01:12 2025 Received: (at 78304) by debbugs.gnu.org; 8 May 2025 19:01:12 +0000 Received: from localhost ([127.0.0.1]:60132 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uD6UZ-0003Uu-4J for submit@debbugs.gnu.org; Thu, 08 May 2025 15:01:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39424) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uD6UW-0003Ua-QE for 78304@debbugs.gnu.org; Thu, 08 May 2025 15:01:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uD6UQ-0002WW-Od; Thu, 08 May 2025 15:01:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=M8R8xTeO/Wq6FlDfgzK+REjg77Jz0m/7OD8bbnJqbyY=; b=Jvx0FNxJQMnN 0pbIxXh3hZ17ocF+gqHXntrELkun+ccoGGEryJpB8ZaYLqdW1CKGnXyRHuI6ppJjcuX1BUplpwjbj duW9fkMKlJyFiOUW82s3zNAzgGFpa4EHhYKc4CLtmYPeFivrUYeNM4i4lpAk1J1y1jWDi0YqVOYnn la+WfbOvyZ7mZDdS+DhjXKOUrVwrNBeDsZ0LnQ0c+jZ37FTtsJ38pmScdvd1/mq7KsgCgvF3Us8Gy T3m1PGQkKXBDeRM2yVVdh4/tXFyK6s/+ASFbg9MrgmeqfQT/olJKz9A6Etc6+9ayMd4hH609+mJzj 45SgcE57I6Ztf3imo8tIzA==; Date: Thu, 08 May 2025 22:01:00 +0300 Message-Id: <86zffnc4gj.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (message from Spencer Baugh on Thu, 08 May 2025 12:26:24 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Spencer Baugh > Cc: 78304@debbugs.gnu.org > Date: Thu, 08 May 2025 12:26:24 -0400 > > The general use case is configuring things which need to be set in > early-init.el while running "emacs -q". > > Two concrete use cases I have that are prompting this idea: > > - Working with the new load-path-filter-function variable discussed on > emacs-devel. Since it speeds up all subsequent loads, it needs to be > set at early-init.el time to have maximum effect, but I want to also > be able to use it with emacs -q. > > - Context: I'm developing some scripts to run Emacs in a simple > reduced-functionality mode, which provide access to just one buffer > running in a specific major mode, with the goal of making Emacs > features accessible to users who don't currently use Emacs. For > example, vc-dir is generally useful, so a script to open Emacs running > vc-dir on its own. (These scripts are similar to things like > https://github.com/maio/smagit and > https://github.com/alphapapa/magit.sh ) > > These scripts run with -q, but I need to be able to configure things > about the initial frame, which can only be done with early-init.el. > > The workaround that occurs to me is to run emacs without -q, but instead > with an --init-directory that contains an early-init.el which does > whatever configurations I want, and then at the end does > > (setq init-file-user nil > user-emacs-directory (startup--xdg-or-homedot startup--xdg-config-home-emacs nil)) > > to obtain the same behavior as -q, and also reset user-emacs-directory > back to its normal value. Of course, this is hacky and quite fragile... Why cannot you do whatever you need in the site-init file? From debbugs-submit-bounces@debbugs.gnu.org Tue May 13 14:10:31 2025 Received: (at 78304) by debbugs.gnu.org; 13 May 2025 18:10:31 +0000 Received: from localhost ([127.0.0.1]:33466 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uEu5H-00013G-5t for submit@debbugs.gnu.org; Tue, 13 May 2025 14:10:31 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:39675) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uEu5F-00012p-EO for 78304@debbugs.gnu.org; Tue, 13 May 2025 14:10:29 -0400 From: Spencer Baugh To: Eli Zaretskii Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line In-Reply-To: <86zffnc4gj.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 08 May 2025 22:01:00 +0300") References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> Date: Tue, 13 May 2025 14:10:24 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1747159824; bh=UECAGBZ18ZiHudRDibSE6uDselTji6EpgeFmVwGaFPc=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=uHVX9hIo65kw5brcIEnOyAoYRKAvWbJi8dDKJ50R+w/ebt+dRjrzC6wHU9xxSJZJY x5yb0/LlzJ3u2cFsQXmoDDI/c0s07HBkCAiVFKXKNB2WFEiGfmz3+sHfEOhawjdcFm s3TGVeHORNq0ur5PxsgF1nNpRX78XA74EhBmdKKvUKjwpj7lqW6jKgnA5fYSyyc4FH S0ogkZAlALPlTDaVXHTIemHbRml9zmWal925APaYI2Tx8l75o7JVhCqmP/oshh8atk ieZ4Fgtv6k7TLvmpQ/mnjUYXhHDd3onmi8jf/ELA5nmDNYA4UHp+QCM1C+E7lavRf0 2GRjpvTm6pylQ== X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Eli Zaretskii writes: >> From: Spencer Baugh >> Cc: 78304@debbugs.gnu.org >> Date: Thu, 08 May 2025 12:26:24 -0400 >> >> The general use case is configuring things which need to be set in >> early-init.el while running "emacs -q". >> >> Two concrete use cases I have that are prompting this idea: >> >> - Working with the new load-path-filter-function variable discussed on >> emacs-devel. Since it speeds up all subsequent loads, it needs to be >> set at early-init.el time to have maximum effect, but I want to also >> be able to use it with emacs -q. >> >> - Context: I'm developing some scripts to run Emacs in a simple >> reduced-functionality mode, which provide access to just one buffer >> running in a specific major mode, with the goal of making Emacs >> features accessible to users who don't currently use Emacs. For >> example, vc-dir is generally useful, so a script to open Emacs running >> vc-dir on its own. (These scripts are similar to things like >> https://github.com/maio/smagit and >> https://github.com/alphapapa/magit.sh ) >> >> These scripts run with -q, but I need to be able to configure things >> about the initial frame, which can only be done with early-init.el. >> >> The workaround that occurs to me is to run emacs without -q, but instead >> with an --init-directory that contains an early-init.el which does >> whatever configurations I want, and then at the end does >> >> (setq init-file-user nil >> user-emacs-directory (startup--xdg-or-homedot startup--xdg-config-home-emacs nil)) >> >> to obtain the same behavior as -q, and also reset user-emacs-directory >> back to its normal value. Of course, this is hacky and quite fragile... > > Why cannot you do whatever you need in the site-init file? By that I assume you mean site-start.el, since AFAIK site-init.el is not loaded at runtime, only at dump time. As (info "(elisp) Startup Summary") describes, site-start.el is loaded after package-activate-all is called and the initial frame is set up. It is therefore loaded too late to configure these things. (Sorry, accidentally sent my previous reply directly only to Eli) From debbugs-submit-bounces@debbugs.gnu.org Tue May 13 14:16:29 2025 Received: (at 78304) by debbugs.gnu.org; 13 May 2025 18:16:29 +0000 Received: from localhost ([127.0.0.1]:33514 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uEuB3-0001ff-79 for submit@debbugs.gnu.org; Tue, 13 May 2025 14:16:29 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:41175) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uEuB0-0001eu-C9 for 78304@debbugs.gnu.org; Tue, 13 May 2025 14:16:27 -0400 From: Spencer Baugh To: Ship Mints Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line In-Reply-To: (Ship Mints's message of "Thu, 8 May 2025 12:41:18 -0400") References: <864ixvfz8c.fsf@gnu.org> Date: Tue, 13 May 2025 14:16:20 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1747160180; bh=UU6zH/5sd4F3V3zrZ/MKnokdu368CjJw0K7lJbQ8i7Q=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=mjzTWCicE9uUSjvzoJdwUD5vwPXU+MmdvWjcZ3iby4YZC9+3DPdwoO2EopifF2csT ZOk2BtZGKY4mGNbYBCeHmimqMDUMNqWwlF6uWR3rXcfbwBm3Z0UIkJ08wp7QtA3BuE pPYbTzgFh187hk4rQBOe1hdZeck851uLfhfaSVgggEkLJCF0nVdG5zqLYtUhhS3NCu lJqtEcguLfyz0a8Kb715OnqWPypiA56mqhLVbrwZcPr0CYtnWMDK3ABLhacwj7jyS7 wMXv5VhaxNnQNySQo9Q26E2mggb9ypcTksUsdCKOmnadPUN3NQdLvxZjR7GUM7r5X9 2J2ZOLMC1ksig== X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: Eli Zaretskii , 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Ship Mints writes: > Perhaps adding -qe which would load early-init.el but not init.el > loaded might do? If -qe filename.el, it could load that file in place > of early-init.el? Yes, something like that would work for me. Though I would only ever use the "-qe filename.el" mode. I'm not sure there's much of a use case for "-qe" alone, and it might confuse users. From debbugs-submit-bounces@debbugs.gnu.org Wed May 14 07:29:51 2025 Received: (at 78304) by debbugs.gnu.org; 14 May 2025 11:29:51 +0000 Received: from localhost ([127.0.0.1]:40670 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFAJ4-0000OQ-Jk for submit@debbugs.gnu.org; Wed, 14 May 2025 07:29:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53762) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFAJ1-0000Ng-Mz for 78304@debbugs.gnu.org; Wed, 14 May 2025 07:29:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFAIv-0002Nw-IS; Wed, 14 May 2025 07:29:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=P5GonJNDDdnQeFVPtHBKH0THuAQxAYUQZK50Os/bGik=; b=c92uJx5YnVPf DSHlXzPqbXSV4HsITu6k5KDq0TQodM30GinbOwxHk56KAVqDQlSEHcteZg0gHqUTdxQkwNmupHCpB 1EbBGIBpkrTAVqFjaPthxgrVz3VcShXN1HcOY5JfoozcL51bP86OllzYk6Y77bT4WG0bKGkd7R1b1 KVbRaS0gR3IYxM/jjxn9/QMAm6H26pzbEsjEprhXBNw7PTd+URJkM/Fb5tTKrx8oqMvRkfVRZ3IUp lxd3Bh0dxS1rgfeVRmpbo8X683jmYQBsYLD1EmSvbnl8mteEdVAIC3shH5Vnj7TIa8uW4ZhVrlYBB V9RW7HPgiQ5f6L8eQ3uu/Q==; Date: Wed, 14 May 2025 14:29:39 +0300 Message-Id: <86wmajzazg.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (message from Spencer Baugh on Tue, 13 May 2025 14:10:24 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Spencer Baugh > Cc: 78304@debbugs.gnu.org > Date: Tue, 13 May 2025 14:10:24 -0400 > > Eli Zaretskii writes: > > > Why cannot you do whatever you need in the site-init file? > > By that I assume you mean site-start.el, since AFAIK site-init.el is not > loaded at runtime, only at dump time. > > As (info "(elisp) Startup Summary") describes, site-start.el is loaded > after package-activate-all is called and the initial frame is set up. > It is therefore loaded too late to configure these things. That's easy to overcome: set package-enable-at-startup to a nil value in early-init.el, then call package-activate-all in site-start file. Does this solve the problem? From debbugs-submit-bounces@debbugs.gnu.org Wed May 14 11:37:08 2025 Received: (at 78304) by debbugs.gnu.org; 14 May 2025 15:37:08 +0000 Received: from localhost ([127.0.0.1]:44465 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFEAN-0008WI-D6 for submit@debbugs.gnu.org; Wed, 14 May 2025 11:37:07 -0400 Received: from mxout1.mail.janestreet.com ([38.105.200.78]:33145) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFEAF-0008Vb-0F for 78304@debbugs.gnu.org; Wed, 14 May 2025 11:37:03 -0400 Received: from mail-ed1-f69.google.com ([209.85.208.69]) by mxgoog2.mail.janestreet.com with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) (Exim 4.98.2) id 1uFEA9-00000009mXr-2ZY1 for 78304@debbugs.gnu.org; Wed, 14 May 2025 11:36:53 -0400 Received: by mail-ed1-f69.google.com with SMTP id 4fb4d7f45d1cf-5fe6fb68b2fso3486842a12.3 for <78304@debbugs.gnu.org>; Wed, 14 May 2025 08:36:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; t=1747237012; x=1747841812; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=8Wv0DbSambGK7ygsWfZrkW4LGan3qVxun3O7gBdP6T4=; b=WUnLtAv+xos2lTtMOuQycI0Ltmbixtba+7JQZhiTK8O9xRlRTiUhhBvFcrPm/U7Hpi h6M9D8wzeBccIW+gTP+3mZlwvFV2MNugWJNmXSqWZEWWOaRKt96Ja0j+rRLHRjcJQi1l p0Gv3q5Y6FrMSSX+cKORgLcwr4N3Yo2R1EZ34= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1747237013; bh=8Wv0DbSambGK7ygsWfZrkW4LGan3qVxun3O7gBdP6T4=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=2OjA5vki5ZT1BRk15bcCN86bGnfqHyjLdI53OedPorOj4A5T0v+gZqmAR0mbzTAgA bhTjyDctuGsqoch84wKv0W2CVhjy7DTdZXyqe6lr3OsqrRQCwLJPI3LlL1kEJXdk0I 7p0Af93BZ7ARn5bvmVzzcSa4wH96cNl0qdPZjZexjTADsCbmdyYEeJjdBaWPzP3lY8 RHkVAx46JJihRBrBIkgRsySJBpxvd8pXOt5ygpQb8pAQQjZBJqqadoXvP0PtAh4qgP pCXnXZ02gh37U5mNKRQLL4NKB3IhhIDJVjb+wLFlwNpNfcj+UHqLYryZ3Y9jBxmzd3 49QqX+VL8Rjhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747237012; x=1747841812; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=8Wv0DbSambGK7ygsWfZrkW4LGan3qVxun3O7gBdP6T4=; b=iMcfxeuCem9ruVwnKqsbmhxZehHlkpy5eWY0v0jX+yZ/+eL61/u2S+jbxR6eJocetP oHGEuuBuRG87TTSDR1stixLtkcC6Gmf5KEVsRrREwJ5HNQ8dn5HiYI16QtacbkuELHWD hpz+qJ1qx28Nr/JWf27j1i5VSXfs4lQV10e+bos+RWh9VrYsxq1j9TIqOucJc8FYAHbx KwH7dRr03bIoCJ5CNlDOqhB78jrP8ZXIhbwLX9s0753IBkx+i04hg8Z8zdgi1rMfOU51 d3sgznxHeV1iI3unGW1jkVeRFeEMNBQ602RXOHQnjfUMFQuUq9dC1dF49ECga3tLsoCk IepA== X-Gm-Message-State: AOJu0YyUywYyu1H7uN/kU2Bz1+M1cKSahFCjIn76kx5aOJcB5mX6Oq+Y ohKgWJuLaAbw2fDYvvo8Y48fUau5WBE1aB0x/idXumbTLrWgcy0kOcyWMBbfUNq8RQHmWVZRy1b CpDjNTle+N++OlqjKQQqKpDrigRr1YWo1v6tSqB7knD9k41SiuL8bxRsoM2XFmlCwhsrZnbvLUg KLFU2WlAa2DkP5OT5rrIGtnZGhOQ== X-Gm-Gg: ASbGncvB2YE70yem8sLs/6GYmjb2WNriO+c36R2ULqExnARDihqRtaLye8Plf6wehbi AFqPfLKTAWLEIhq7kYSrq2wrF+c9In7DyXYybummubK6cfM3/RTP6usuSmcuMnPMALc8M X-Received: by 2002:a17:907:728a:b0:ad1:e672:271f with SMTP id a640c23a62f3a-ad4f711730emr425434266b.18.1747237012303; Wed, 14 May 2025 08:36:52 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEbBI648+waf4oqrONa7kSMRBHIimh4PjV6zfJ6yTaI1rlcdiqo90jx+Sri+VJ1L6EaBHdEvhSub2dpoROTaag= X-Received: by 2002:a17:907:728a:b0:ad1:e672:271f with SMTP id a640c23a62f3a-ad4f711730emr425431566b.18.1747237011851; Wed, 14 May 2025 08:36:51 -0700 (PDT) MIME-Version: 1.0 References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> In-Reply-To: <86wmajzazg.fsf@gnu.org> From: Spencer Baugh Date: Wed, 14 May 2025 11:36:40 -0400 X-Gm-Features: AX0GCFsqp1g3NDwwBPEnNAMn9blqOKbIj4UGzwtpMWiA-cKDfyh5VuWKJ7rEBZg Message-ID: Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line To: Eli Zaretskii Content-Type: multipart/alternative; boundary="0000000000006e254006351a5152" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --0000000000006e254006351a5152 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, May 14, 2025, 7:29=E2=80=AFAM Eli Zaretskii wrote: > > From: Spencer Baugh > > Cc: 78304@debbugs.gnu.org > > Date: Tue, 13 May 2025 14:10:24 -0400 > > > > Eli Zaretskii writes: > > > > > Why cannot you do whatever you need in the site-init file? > > > > By that I assume you mean site-start.el, since AFAIK site-init.el is no= t > > loaded at runtime, only at dump time. > > > > As (info "(elisp) Startup Summary") describes, site-start.el is loaded > > after package-activate-all is called and the initial frame is set up. > > It is therefore loaded too late to configure these things. > > That's easy to overcome: set package-enable-at-startup to a nil value > in early-init.el, then call package-activate-all in site-start file. > > Does this solve the problem? > No, because as I said above, there's no way to combine this solution with -q. > --0000000000006e254006351a5152 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Wed, May 14, 2025, 7:29=E2=80= =AFAM Eli Zaretskii <eliz@gnu.org>= ; wrote:
> From: Spencer Baugh &= lt;sbaugh@janestreet.com>
> Cc: 78304@debbugs.gnu.org
> Date: Tue, 13 May 2025 14:10:24 -0400
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Why cannot you do whatever you need in the site-init file?
>
> By that I assume you mean site-start.el, since AFAIK site-init.el is n= ot
> loaded at runtime, only at dump time.
>
> As (info "(elisp) Startup Summary") describes, site-start.el= is loaded
> after package-activate-all is called and the initial frame is set up.<= br> > It is therefore loaded too late to configure these things.

That's easy to overcome: set package-enable-at-startup to a nil value in early-init.el, then call package-activate-all in site-start file.

Does this solve the problem?
=
No, because as I said above, there's no way= to combine this solution with -q.
--0000000000006e254006351a5152-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 14 12:26:53 2025 Received: (at 78304) by debbugs.gnu.org; 14 May 2025 16:26:53 +0000 Received: from localhost ([127.0.0.1]:44638 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFEwX-0002Sw-7A for submit@debbugs.gnu.org; Wed, 14 May 2025 12:26:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59544) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFEwU-0002Sg-Bn for 78304@debbugs.gnu.org; Wed, 14 May 2025 12:26:51 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFEwN-0001SN-Iv; Wed, 14 May 2025 12:26:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=duPnlj6AxWWnU/UVf5BbZtjWJgav2vO+7jxNqPz4Chk=; b=DF95zYMjyHwNCEiT7HPW fqIXWXHlOI8KBZSWElGqDtK2PI6xzFRsYd5GZWnXwOGNXu4tQg1zswjTYvnibLOIrMjOZ6U3x5ZST i1Fr5m6MsP4t0VkPxvxRMf7ZnCmElS8G9yNUtvDD1Bqtj86XzTCs5Xf2SVHiurZnssHwsLYvOeuv/ wPdTXZdh2oSvmCNu/m6ZAW73CtZPorcYtsLny5880jRL4f/yEARwdp6PYt8EDrsvJ5nzxThvLwNO5 /4VceUZJ4h7UYp56q6gpC2vln7paRRIeenRkyyikCFNpUX16SpXzXLiHToglBzA5W3BUrPtvYwg1J YtbrYa6ZTp+I4g==; Date: Wed, 14 May 2025 19:26:35 +0300 Message-Id: <86msbfyx8k.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (message from Spencer Baugh on Wed, 14 May 2025 11:36:40 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Spencer Baugh > Date: Wed, 14 May 2025 11:36:40 -0400 > Cc: 78304@debbugs.gnu.org > > On Wed, May 14, 2025, 7:29 AM Eli Zaretskii wrote: > > > From: Spencer Baugh > > Cc: 78304@debbugs.gnu.org > > Date: Tue, 13 May 2025 14:10:24 -0400 > > > > Eli Zaretskii writes: > > > > > Why cannot you do whatever you need in the site-init file? > > > > By that I assume you mean site-start.el, since AFAIK site-init.el is not > > loaded at runtime, only at dump time. > > > > As (info "(elisp) Startup Summary") describes, site-start.el is loaded > > after package-activate-all is called and the initial frame is set up. > > It is therefore loaded too late to configure these things. > > That's easy to overcome: set package-enable-at-startup to a nil value > in early-init.el, then call package-activate-all in site-start file. > > Does this solve the problem? > > No, because as I said above, there's no way to combine this solution with -q. I don't understand why. The -q switch doesn't disable loading site-start file. From debbugs-submit-bounces@debbugs.gnu.org Wed May 14 13:07:36 2025 Received: (at 78304) by debbugs.gnu.org; 14 May 2025 17:07:37 +0000 Received: from localhost ([127.0.0.1]:44812 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFFZw-00053C-FW for submit@debbugs.gnu.org; Wed, 14 May 2025 13:07:36 -0400 Received: from mxout1.mail.janestreet.com ([38.105.200.78]:58669) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFFZu-00052w-40 for 78304@debbugs.gnu.org; Wed, 14 May 2025 13:07:34 -0400 Received: from mail-ej1-f71.google.com ([209.85.218.71]) by mxgoog2.mail.janestreet.com with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) (Exim 4.98.2) id 1uFFZo-00000009xXF-3Ju3 for 78304@debbugs.gnu.org; Wed, 14 May 2025 13:07:28 -0400 Received: by mail-ej1-f71.google.com with SMTP id a640c23a62f3a-ad22aaa20f7so2397766b.3 for <78304@debbugs.gnu.org>; Wed, 14 May 2025 10:07:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; t=1747242447; x=1747847247; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=nEQhV/WqSuufYylqdDe07GC+RUEI2Ov43HMszQVIXyk=; b=SzDtSxWmRat2Y4hfidSyyQnV91FZ5vTmXAI4G2FJUEgpBczUWXU5Rd0WYQ9b9WXAYq 2KFU6UlsIsJa99w5uuGDwVkTvxl5hF3hz2LUU+6bwYjUykK2RdSVpAQaRu4dVoXQTJRX h3iUksNKRGn9X14qRdbDtE8cTRdno90cMzGO0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1747242448; bh=nEQhV/WqSuufYylqdDe07GC+RUEI2Ov43HMszQVIXyk=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=x4UhwHGXFuNutWARs5fMyjmUS/7LQMqZR5CD1pO+lFcaC0C5SNVBbpJ4Icy3wuEN7 s0Opm10vjOJCeDPFNOaDv82rvDWOdMA+dWJi81pjWjFRJg11QJ0p2F+ETgnTTXsipK hj8TeOtNZhGkyM7LcD6ziqx3hupxXsyeRaN5i37FHKargE3QSolrhGZVkg5dt9Mz/2 jW/02Ku8+xa6BWQxslJ6+7MbDJvVUdWd70wInlraYZQPyKUSglwtZHfAzrp8oDKRxD 73Qj352duDP50/3MC7ZYBU19LH8jQDKEoR6XQdkVGPOOrrbhqxBOsTGCC+4OgTOP+D 4OPUNA9hs/0rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747242447; x=1747847247; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nEQhV/WqSuufYylqdDe07GC+RUEI2Ov43HMszQVIXyk=; b=iGViyGJj/8+AB2ci58lDRzymTrnWUbARUcxQLhxahhOpF0F2BMp3HWaZZYZYjObR8N xlb1rit+H6B+hYSTF0JTQxYmktua6jPgpIO2JdBAbj6TIm3c/C1OKFzS8tTksfJyJdVo YVSQ9VuCedMyDuO8LGhLQLtJnWfvFyRaE9A7+/roLd6XkDgmSQc83Bi5t9aPmIaBdItj PYMCutyW+LOFU9wmghmMhmQGnwHu3TpgmkZKVmgtlS5zD5QgcldnpfLeSRIQDWafWgCe pwQ5TP9YWyNhq3PJLO7QJD4gFs9z76A2VgGi2UXsPOEdRk4OOMlt8d5k7sBcIIk6VlEn r10Q== X-Gm-Message-State: AOJu0Yw2sD28UcYcvEKGbHyFqqlxT9byq/SoGbkUSy+0zwOIxl79a6V4 Br1hz3QunRPiIceJY58isfNdO28ddG0/2NxIJ8YkYKVy40/InGbXJRq9t4wmGey3LftRZFnZY8e 91FOkHcIwWGkYQzPlI+IXZCmFasRwITmWoCnq9B5EaSEfcW0f8YuJsQaEMGCe8NIjNvbHTINmOd +PSKuwKs1rgRhHHW5gfKrOJuqluQ== X-Gm-Gg: ASbGnct4CFgn9Z7zSA3g84Juj/HRr9EamXCCcARPP9KBkkiBLr61VEkrLz4Wr99C1I+ PD1db3X5RCnQsNgwY3j6X9PCTwczCt6ermvnqTkM1Tm+XgXVwQ1EzhScG2rmVWh4tvMSO X-Received: by 2002:a17:907:9488:b0:ad4:e065:9403 with SMTP id a640c23a62f3a-ad4f7178e95mr463823666b.28.1747242447397; Wed, 14 May 2025 10:07:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH9SR3YBkG3FY4bM6Ehbz3DtCDE3O0G0CijoqPogsF5PuxRbiIPDPJXI7rb70OXM2qxBeU1n3osNKBFt+XRybQ= X-Received: by 2002:a17:907:9488:b0:ad4:e065:9403 with SMTP id a640c23a62f3a-ad4f7178e95mr463818166b.28.1747242446865; Wed, 14 May 2025 10:07:26 -0700 (PDT) MIME-Version: 1.0 References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> In-Reply-To: <86msbfyx8k.fsf@gnu.org> From: Spencer Baugh Date: Wed, 14 May 2025 13:07:16 -0400 X-Gm-Features: AX0GCFsde5RtkbInO4V5z9yITHO6V0U4K0nH_veReXPF6KuntZ-R25LPcuWx5zk Message-ID: Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line To: Eli Zaretskii Content-Type: multipart/alternative; boundary="00000000000061e17806351b95ac" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --00000000000061e17806351b95ac Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, May 14, 2025, 12:26=E2=80=AFPM Eli Zaretskii wrote: > > From: Spencer Baugh > > Date: Wed, 14 May 2025 11:36:40 -0400 > > Cc: 78304@debbugs.gnu.org > > > > On Wed, May 14, 2025, 7:29=E2=80=AFAM Eli Zaretskii wrot= e: > > > > > From: Spencer Baugh > > > Cc: 78304@debbugs.gnu.org > > > Date: Tue, 13 May 2025 14:10:24 -0400 > > > > > > Eli Zaretskii writes: > > > > > > > Why cannot you do whatever you need in the site-init file? > > > > > > By that I assume you mean site-start.el, since AFAIK site-init.el is > not > > > loaded at runtime, only at dump time. > > > > > > As (info "(elisp) Startup Summary") describes, site-start.el is load= ed > > > after package-activate-all is called and the initial frame is set up= . > > > It is therefore loaded too late to configure these things. > > > > That's easy to overcome: set package-enable-at-startup to a nil value > > in early-init.el, then call package-activate-all in site-start file. > > > > Does this solve the problem? > > > > No, because as I said above, there's no way to combine this solution > with -q. > > I don't understand why. The -q switch doesn't disable loading > site-start file. > It disables loading early-init.el. > --00000000000061e17806351b95ac Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Wed, May 14, 2025, 12:26=E2= =80=AFPM Eli Zaretskii <eliz@gnu.org= > wrote:
> From: Spencer Baug= h <sbaugh@janestreet.com>
> Date: Wed, 14 May 2025 11:36:40 -0400
> Cc: 78304@debbugs.gnu.org
>
> On Wed, May 14, 2025, 7:29=E2=80=AFAM Eli Zaretskii <eliz@gnu.org>= wrote:
>
>=C2=A0 > From: Spencer Baugh <sbaugh@janestreet.com> >=C2=A0 > Cc: 78304@debbugs.gnu.org
>=C2=A0 > Date: Tue, 13 May 2025 14:10:24 -0400
>=C2=A0 >
>=C2=A0 > Eli Zaretskii <eliz@gnu.org> writes:
>=C2=A0 >
>=C2=A0 > > Why cannot you do whatever you need in the site-init f= ile?
>=C2=A0 >
>=C2=A0 > By that I assume you mean site-start.el, since AFAIK site-i= nit.el is not
>=C2=A0 > loaded at runtime, only at dump time.
>=C2=A0 >
>=C2=A0 > As (info "(elisp) Startup Summary") describes, si= te-start.el is loaded
>=C2=A0 > after package-activate-all is called and the initial frame = is set up.
>=C2=A0 > It is therefore loaded too late to configure these things.<= br> >
>=C2=A0 That's easy to overcome: set package-enable-at-startup to a = nil value
>=C2=A0 in early-init.el, then call package-activate-all in site-start f= ile.
>
>=C2=A0 Does this solve the problem?
>
> No, because as I said above, there's no way to combine this soluti= on with -q.

I don't understand why.=C2=A0 The -q switch doesn't disable loading=
site-start file.

It disables loading early-init.el.
<= div class=3D"gmail_quote gmail_quote_container">
--00000000000061e17806351b95ac-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 14 13:35:23 2025 Received: (at 78304) by debbugs.gnu.org; 14 May 2025 17:35:24 +0000 Received: from localhost ([127.0.0.1]:44894 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFG0p-0000wU-DU for submit@debbugs.gnu.org; Wed, 14 May 2025 13:35:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36020) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFG0m-0000wD-BA for 78304@debbugs.gnu.org; Wed, 14 May 2025 13:35:20 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFG0g-0003M3-K6; Wed, 14 May 2025 13:35:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=vYWrxgcRFsoEzzuXJaTyoFAei/3aHKPqw2WsC66qnBM=; b=ha3YQk/FtHLOuujYstOu RH7zi9Y3XQheq8TVljztWEocPJowQcrsGvZExcVUZwxr+UCHlWvUCAW8tnGCFHfujwpdv888OWELB 4JNU4e8mpVoUCC+ljHXMXczyn+ufmuOTBaqlEBiEtIYKD0kkPCMutAJ/zI34PR3G8+lKMOoK0tDY+ kZt3iF4R/VVGwVnXpPUwPXsKs5WC5VJmtJqJnEYcGzrFatMwJokr4xKreY5Ixdnjf3kRGLucgmHeY k+FV7uw3Dy8w6Vb33Db5WZ1pyTaNuwxjql21HEsh9Zt1aYiQb6rWXwnNa+oo9/4ggQswKFnaeFKlr NgnBN/XQKdKj0g==; Date: Wed, 14 May 2025 20:35:12 +0300 Message-Id: <86ldqzyu27.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (message from Spencer Baugh on Wed, 14 May 2025 13:07:16 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Spencer Baugh > Date: Wed, 14 May 2025 13:07:16 -0400 > Cc: 78304@debbugs.gnu.org > > On Wed, May 14, 2025, 12:26 PM Eli Zaretskii wrote: > > > From: Spencer Baugh > > Date: Wed, 14 May 2025 11:36:40 -0400 > > Cc: 78304@debbugs.gnu.org > > > > On Wed, May 14, 2025, 7:29 AM Eli Zaretskii wrote: > > > > > From: Spencer Baugh > > > Cc: 78304@debbugs.gnu.org > > > Date: Tue, 13 May 2025 14:10:24 -0400 > > > > > > Eli Zaretskii writes: > > > > > > > Why cannot you do whatever you need in the site-init file? > > > > > > By that I assume you mean site-start.el, since AFAIK site-init.el is not > > > loaded at runtime, only at dump time. > > > > > > As (info "(elisp) Startup Summary") describes, site-start.el is loaded > > > after package-activate-all is called and the initial frame is set up. > > > It is therefore loaded too late to configure these things. > > > > That's easy to overcome: set package-enable-at-startup to a nil value > > in early-init.el, then call package-activate-all in site-start file. > > > > Does this solve the problem? > > > > No, because as I said above, there's no way to combine this solution with -q. > > I don't understand why. The -q switch doesn't disable loading > site-start file. > > It disables loading early-init.el. And why is that a problem in this case? IOW, you seem to be describing several different situations, but each one of them might need a slightly different solution. E.g., you never explained why you want to do whatever you need to do in "emacs -q". Given all these undisclosed details and rationales, it is hard to have a useful and efficient discussion. I almost feel like the rules of the game change with each new message, and no matter what I suggest, it will be rejected because the target keeps moving. Just look back at the discussion history: . you said you want something done under -q, so I suggested site-start . you then bring up package initialization, which was never mentioned before . I suggest to delay package initialization, but then it turns out you want to load early-init, and now I don't understand why you mentioned -q in the first place So now I'm completely confused regarding what are you trying to solve and why. May I suggest to describe the problem(s) in more detail? From debbugs-submit-bounces@debbugs.gnu.org Wed May 14 13:56:23 2025 Received: (at 78304) by debbugs.gnu.org; 14 May 2025 17:56:23 +0000 Received: from localhost ([127.0.0.1]:45040 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFGL9-00021r-5t for submit@debbugs.gnu.org; Wed, 14 May 2025 13:56:23 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:53515) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFGL0-0001zy-AA for 78304@debbugs.gnu.org; Wed, 14 May 2025 13:56:14 -0400 From: Spencer Baugh To: Eli Zaretskii Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line In-Reply-To: <86ldqzyu27.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 14 May 2025 20:35:12 +0300") References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> Date: Wed, 14 May 2025 13:56:08 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1747245369; bh=R8y7O6EIACQGj7IxYgsweHHYCefe4eIfprTunHiz9pE=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=ayQ6SvM0ujMIcvRw7eaMF1AB74Y2CIWyfP+kZWyubPXYV+FENzqm01B3/ZQg80J0a oINkEXH4cqndS3WEbizSGT39vAelcyuafjgNEPoaEBFy5ttAJb/vXoxCkXrvG1vwJO sQ/yg7jWdCBVwBtUwKiWTYtft5BAaNmwRS2njtiNgi+QJRtdlaL9ncmEmkMtd2+CNt HKwhwM2wWWfK2Jn5J4PLJUFbzWTLPI7yz/e8Z+TWU8Soumoh9RhggBXyTWSHTN/as7 JOD8ldtGm9VR9+exb/YenlfJSb8IFPee+XyVm5iBE7jKgaMrtUT045Y9T9JmTFsKIt G/KjqgXTqXHdA== X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Eli Zaretskii writes: >> From: Spencer Baugh >> Date: Wed, 14 May 2025 13:07:16 -0400 >> Cc: 78304@debbugs.gnu.org >>=20 >> On Wed, May 14, 2025, 12:26=E2=80=AFPM Eli Zaretskii wrot= e: >>=20 >> > From: Spencer Baugh >> > Date: Wed, 14 May 2025 11:36:40 -0400 >> > Cc: 78304@debbugs.gnu.org >> >=20 >> > On Wed, May 14, 2025, 7:29=E2=80=AFAM Eli Zaretskii wr= ote: >> >=20 >> > > From: Spencer Baugh >> > > Cc: 78304@debbugs.gnu.org >> > > Date: Tue, 13 May 2025 14:10:24 -0400 >> > >=20 >> > > Eli Zaretskii writes: >> > >=20 >> > > > Why cannot you do whatever you need in the site-init file? >> > >=20 >> > > By that I assume you mean site-start.el, since AFAIK site-init.el = is not >> > > loaded at runtime, only at dump time. >> > >=20 >> > > As (info "(elisp) Startup Summary") describes, site-start.el is lo= aded >> > > after package-activate-all is called and the initial frame is set = up. >> > > It is therefore loaded too late to configure these things. >> >=20 >> > That's easy to overcome: set package-enable-at-startup to a nil value >> > in early-init.el, then call package-activate-all in site-start file. >> >=20 >> > Does this solve the problem? >> >=20 >> > No, because as I said above, there's no way to combine this solution = with -q. >>=20 >> I don't understand why. The -q switch doesn't disable loading >> site-start file. >>=20 >> It disables loading early-init.el. > > And why is that a problem in this case? > > IOW, you seem to be describing several different situations, but each > one of them might need a slightly different solution. E.g., you never > explained why you want to do whatever you need to do in "emacs -q". > > Given all these undisclosed details and rationales, it is hard to have > a useful and efficient discussion. I almost feel like the rules of > the game change with each new message, and no matter what I suggest, > it will be rejected because the target keeps moving. Just look back > at the discussion history: > > . you said you want something done under -q, so I suggested > site-start > . you then bring up package initialization, which was never > mentioned before > . I suggest to delay package initialization, but then it turns out > you want to load early-init, and now I don't understand why you > mentioned -q in the first place > > So now I'm completely confused regarding what are you trying to solve > and why. May I suggest to describe the problem(s) in more detail? My apologies. To clarify: - I want to run with -q for the usual reasons of ignoring the user's early-init.el and init.el. - While running with -q, I want to do things which can only be done with early-init.el, like configuring package initialization, load-path-filter-function, or the initial frame parameters. More simply the problem is: - I don't want to load the user's early-init.el - But there are certain things which can only be done via early-init.el How about this variation on your idea: what if we added a site-early-start.el which is loaded just before early-init.el, mirroring how site-start.el is loaded just before init.el? That would be really useful for my site in general, for more than just this issue, because it would allow new kinds of site-wide configuration that is currently impossible. From debbugs-submit-bounces@debbugs.gnu.org Wed May 14 14:00:53 2025 Received: (at 78304) by debbugs.gnu.org; 14 May 2025 18:00:53 +0000 Received: from localhost ([127.0.0.1]:45086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFGPV-0002K5-0W for submit@debbugs.gnu.org; Wed, 14 May 2025 14:00:53 -0400 Received: from mail-ua1-x930.google.com ([2607:f8b0:4864:20::930]:48637) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uFGPS-0002Jk-3s for 78304@debbugs.gnu.org; Wed, 14 May 2025 14:00:51 -0400 Received: by mail-ua1-x930.google.com with SMTP id a1e0cc1a2514c-87bd83c63f3so8476241.1 for <78304@debbugs.gnu.org>; Wed, 14 May 2025 11:00:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747245644; x=1747850444; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=0Uyi0+GTwagDYayRWzsPtMLCGbS/Y8Eg0/saYesauww=; b=Ot+sgF6QNIJ2a8jdA5Z/T5fuiwPquzTiTvF1OYhXYcNo3BJYwXDtpyP3Q/hIWo82Rg WvSFeazp2PracIEHaaFIqgvDPxRKmhNEsngofs3QCVg7DWFUq8JxmnGkVSdE48Lj1IVZ SJwo22ujvA50mdBOlow9+KqDpzV/t/4yTznqKGwydvfz1d4xP3k7k6iv96ztIKsniO4k ioItZuuH0qnM1cDY/wLM12k7x6e0heJjbJgL1cfq0ZbtCtzIAQpvfY8WshqY3jeHl7TL 8udBaX5SVCvmlZdg2Jh61gLqe0eAKJAem4ZoiCy2rv9VdeqYoMGGjvNXy5sQRgr71jX8 wVHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747245644; x=1747850444; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0Uyi0+GTwagDYayRWzsPtMLCGbS/Y8Eg0/saYesauww=; b=O8C7VLwnu4j37vNjqmi8TxoF6hK0CpSMn2vSuRdxSqaEjEf3mRsEY2/PEmV2qG7Wt6 mh/3kMDwrlphkfhR6mlBB9NJcx9FKT2+pJXrZshTcADOfkMjWJ2oFPulBvHt+/obZdcf bSZ07CP2xm07IuAqRPoLuCE4wTlIWDo3o+P++0eOmkueZdTbEg/MrgLlMKVqyneKThla v6QB9GeacASzujeXj+sFyUvjyVkxVI3Kh94c1/uV2uzZDsfzIHPz1d6FGuUM0Sv4+/w1 sIrmAp9HjIGvI6Sdlqc3aA6GwCkZf8OO8i5N/IydlwGdX7b+NXGuk0p2/g0FoBNpJtfn 7DNQ== X-Forwarded-Encrypted: i=1; AJvYcCWPwOVFYwVUbs26iJftiCPiDMn0ExRv3fSpQP6x5+T9Hz9+bgIDNnMAeBmxOQN91Az9T8dT8A==@debbugs.gnu.org X-Gm-Message-State: AOJu0YygcpLpNVKj8kxtqoDhPWJLXyj5NlEDaIXQeRElAeHe3jnPQSHI WOI8SORfWUy1/jScxSXqRvMN/bwrCKSi+uSQYkbs7a1GIL26pLhD9VuCpqoGwmxxYprtGPOxh8V Byo4TcXdelPX7Sfn7GZaW8kh6ipdhXA== X-Gm-Gg: ASbGnct/AIGhytQ7XqGB1o3hPIoW90Kl05Bz9RGPY8PZ4bZ+UQsGn3ouUzrmafjOkS9 UaBkd8WRidYBX1TDyX47TYKCgPl/fPmv0aJKBzxZJ1aMZysTs3yraOBO+T2uCxCd9b1mXN15lvu IYpFc7ox/izxWMsRNzv7qvQvBTTPgQ3Dxq X-Google-Smtp-Source: AGHT+IHiDyNOPCiJYRktacvNEPdX7LiT3YBsGKDCRwu05aXQp/fNwqDPO1vfiFEEeKLbSRnpEY3nyL/WDUJ+lexSFrs= X-Received: by 2002:a05:6102:4b18:b0:4cb:5d6c:9943 with SMTP id ada2fe7eead31-4df7dce7ef5mr4539219137.12.1747245643968; Wed, 14 May 2025 11:00:43 -0700 (PDT) MIME-Version: 1.0 References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> In-Reply-To: From: Ship Mints Date: Wed, 14 May 2025 14:00:32 -0400 X-Gm-Features: AX0GCFv0BlY9g7MiaBSgqN3CZRNFIE1mbGfr16LkjsBXtDrN2So8V1JOZDzi59k Message-ID: Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line To: Spencer Baugh Content-Type: multipart/alternative; boundary="000000000000f1b94106351c53af" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78304 Cc: Eli Zaretskii , 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000f1b94106351c53af Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, May 14, 2025 at 1:57=E2=80=AFPM Spencer Baugh via Bug reports for G= NU Emacs, the Swiss army knife of text editors wrote: > Eli Zaretskii writes: > > >> From: Spencer Baugh > >> Date: Wed, 14 May 2025 13:07:16 -0400 > >> Cc: 78304@debbugs.gnu.org > >> > >> On Wed, May 14, 2025, 12:26=E2=80=AFPM Eli Zaretskii wr= ote: > >> > >> > From: Spencer Baugh > >> > Date: Wed, 14 May 2025 11:36:40 -0400 > >> > Cc: 78304@debbugs.gnu.org > >> > > >> > On Wed, May 14, 2025, 7:29=E2=80=AFAM Eli Zaretskii = wrote: > >> > > >> > > From: Spencer Baugh > >> > > Cc: 78304@debbugs.gnu.org > >> > > Date: Tue, 13 May 2025 14:10:24 -0400 > >> > > > >> > > Eli Zaretskii writes: > >> > > > >> > > > Why cannot you do whatever you need in the site-init file? > >> > > > >> > > By that I assume you mean site-start.el, since AFAIK site-init.e= l > is not > >> > > loaded at runtime, only at dump time. > >> > > > >> > > As (info "(elisp) Startup Summary") describes, site-start.el is > loaded > >> > > after package-activate-all is called and the initial frame is se= t > up. > >> > > It is therefore loaded too late to configure these things. > >> > > >> > That's easy to overcome: set package-enable-at-startup to a nil > value > >> > in early-init.el, then call package-activate-all in site-start fil= e. > >> > > >> > Does this solve the problem? > >> > > >> > No, because as I said above, there's no way to combine this solutio= n > with -q. > >> > >> I don't understand why. The -q switch doesn't disable loading > >> site-start file. > >> > >> It disables loading early-init.el. > > > > And why is that a problem in this case? > > > > IOW, you seem to be describing several different situations, but each > > one of them might need a slightly different solution. E.g., you never > > explained why you want to do whatever you need to do in "emacs -q". > > > > Given all these undisclosed details and rationales, it is hard to have > > a useful and efficient discussion. I almost feel like the rules of > > the game change with each new message, and no matter what I suggest, > > it will be rejected because the target keeps moving. Just look back > > at the discussion history: > > > > . you said you want something done under -q, so I suggested > > site-start > > . you then bring up package initialization, which was never > > mentioned before > > . I suggest to delay package initialization, but then it turns out > > you want to load early-init, and now I don't understand why you > > mentioned -q in the first place > > > > So now I'm completely confused regarding what are you trying to solve > > and why. May I suggest to describe the problem(s) in more detail? > > My apologies. To clarify: > > - I want to run with -q for the usual reasons of ignoring the user's > early-init.el and init.el. > > - While running with -q, I want to do things which can only be done with > early-init.el, like configuring package initialization, > load-path-filter-function, or the initial frame parameters. > > More simply the problem is: > > - I don't want to load the user's early-init.el > > - But there are certain things which can only be done via early-init.el > > How about this variation on your idea: what if we added a > site-early-start.el which is loaded just before early-init.el, mirroring > how site-start.el is loaded just before init.el? That would be really > useful for my site in general, for more than just this issue, because it > would allow new kinds of site-wide configuration that is currently > impossible. > That's good. Wouldn't you want both that and a command-line option like -qe so that you can do this via the command line to aid testing and also provide Emacs programs that don't rely on site-early-init.el? --000000000000f1b94106351c53af Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Wed, May 14, 2025 at 1:57=E2=80=AFPM Spencer Baugh via Bug reports for G= NU Emacs, the Swiss army knife of text editors <bug-gnu-emacs@gnu.org> wrote:
Eli Zaretskii <eliz@gnu.org> writes:

>> From: Spencer Baugh <sbaugh@janestreet.com>
>> Date: Wed, 14 May 2025 13:07:16 -0400
>> Cc: 783= 04@debbugs.gnu.org
>>
>> On Wed, May 14, 2025, 12:26=E2=80=AFPM Eli Zaretskii <eliz@gnu.org> wrote:
>>
>>=C2=A0 > From: Spencer Baugh <sbaugh@janestreet.com>
>>=C2=A0 > Date: Wed, 14 May 2025 11:36:40 -0400
>>=C2=A0 > Cc: 78304@debbugs.gnu.org
>>=C2=A0 >
>>=C2=A0 > On Wed, May 14, 2025, 7:29=E2=80=AFAM Eli Zaretskii <= ;eliz@gnu.org> wro= te:
>>=C2=A0 >
>>=C2=A0 >=C2=A0 > From: Spencer Baugh <sbaugh@janestreet.com>
>>=C2=A0 >=C2=A0 > Cc: 78304@debbugs.gnu.org
>>=C2=A0 >=C2=A0 > Date: Tue, 13 May 2025 14:10:24 -0400
>>=C2=A0 >=C2=A0 >
>>=C2=A0 >=C2=A0 > Eli Zaretskii <eliz@gnu.org> writes:
>>=C2=A0 >=C2=A0 >
>>=C2=A0 >=C2=A0 > > Why cannot you do whatever you need in = the site-init file?
>>=C2=A0 >=C2=A0 >
>>=C2=A0 >=C2=A0 > By that I assume you mean site-start.el, sin= ce AFAIK site-init.el is not
>>=C2=A0 >=C2=A0 > loaded at runtime, only at dump time.
>>=C2=A0 >=C2=A0 >
>>=C2=A0 >=C2=A0 > As (info "(elisp) Startup Summary"= ) describes, site-start.el is loaded
>>=C2=A0 >=C2=A0 > after package-activate-all is called and the= initial frame is set up.
>>=C2=A0 >=C2=A0 > It is therefore loaded too late to configure= these things.
>>=C2=A0 >
>>=C2=A0 >=C2=A0 That's easy to overcome: set package-enable-a= t-startup to a nil value
>>=C2=A0 >=C2=A0 in early-init.el, then call package-activate-all = in site-start file.
>>=C2=A0 >
>>=C2=A0 >=C2=A0 Does this solve the problem?
>>=C2=A0 >
>>=C2=A0 > No, because as I said above, there's no way to comb= ine this solution with -q.
>>
>>=C2=A0 I don't understand why.=C2=A0 The -q switch doesn't = disable loading
>>=C2=A0 site-start file.
>>
>> It disables loading early-init.el.
>
> And why is that a problem in this case?
>
> IOW, you seem to be describing several different situations, but each<= br> > one of them might need a slightly different solution.=C2=A0 E.g., you = never
> explained why you want to do whatever you need to do in "emacs -q= ".
>
> Given all these undisclosed details and rationales, it is hard to have=
> a useful and efficient discussion.=C2=A0 I almost feel like the rules = of
> the game change with each new message, and no matter what I suggest, > it will be rejected because the target keeps moving.=C2=A0 Just look b= ack
> at the discussion history:
>
>=C2=A0 . you said you want something done under -q, so I suggested
>=C2=A0 =C2=A0 site-start
>=C2=A0 . you then bring up package initialization, which was never
>=C2=A0 =C2=A0 mentioned before
>=C2=A0 . I suggest to delay package initialization, but then it turns o= ut
>=C2=A0 =C2=A0 you want to load early-init, and now I don't understa= nd why you
>=C2=A0 =C2=A0 mentioned -q in the first place
>
> So now I'm completely confused regarding what are you trying to so= lve
> and why.=C2=A0 May I suggest to describe the problem(s) in more detail= ?

My apologies.=C2=A0 To clarify:

- I want to run with -q for the usual reasons of ignoring the user's =C2=A0 early-init.el and init.el.

- While running with -q, I want to do things which can only be done with =C2=A0 early-init.el, like configuring package initialization,
=C2=A0 load-path-filter-function, or the initial frame parameters.

More simply the problem is:

- I don't want to load the user's early-init.el

- But there are certain things which can only be done via early-init.el

How about this variation on your idea: what if we added a
site-early-start.el which is loaded just before early-init.el, mirroring how site-start.el is loaded just before init.el?=C2=A0 That would be really=
useful for my site in general, for more than just this issue, because it would allow new kinds of site-wide configuration that is currently
impossible.

That's good.=C2=A0 Wouldn't you want b= oth that and a command-line option like -qe so that you can do this via the= command line to aid testing and also provide Emacs programs that don't= rely on site-early-init.el?
--000000000000f1b94106351c53af-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 14 14:35:02 2025 Received: (at 78304) by debbugs.gnu.org; 14 May 2025 18:35:02 +0000 Received: from localhost ([127.0.0.1]:45289 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFGwX-0006zv-TD for submit@debbugs.gnu.org; Wed, 14 May 2025 14:35:02 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:41675) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFGwT-0006zT-Ra for 78304@debbugs.gnu.org; Wed, 14 May 2025 14:34:58 -0400 From: Spencer Baugh To: Ship Mints Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line In-Reply-To: (Ship Mints's message of "Wed, 14 May 2025 14:00:32 -0400") References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> Date: Wed, 14 May 2025 14:34:52 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1747247692; bh=5sRfRuFG/IWB4ujYpbyBolA1+bxeE3azYWS/Ef8hA2o=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=wDn2PEE0sGD5jFBqUqc/3D4clpZhi3R7nkliCh9LzfEBwzxGtJsPyQE/iNdPaSpZa 4hot8BYaV9gt5cv4+mgxTQXw0pO3XcmszPVbuf5mm8BhotNPDVwFYHNLK2GIDHcDl0 5LPpmSKN9+az+wDS5p9Dm4aV2qZluwExpkq90ZlrEfII1FxEsq/vAX7SS2RpUpudZE hdXTZDpAKszlqkq6Ux+O3edhhUwcAEkMhdkPaf0pbhdpIQF5XShW5B7qKgrgExa+/G VhhYv0VGcUVcIrYxaW6xMLgLswzb3vmrR+wUQy/qZlEme8ieJyxpMc+DFwHyuGZXzZ 4kCsblZFiVpuA== X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: Eli Zaretskii , 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Ship Mints writes: > On Wed, May 14, 2025 at 1:57=E2=80=AFPM Spencer Baugh via Bug reports for= GNU Emacs, the Swiss army knife of text editors > wrote: > How about this variation on your idea: what if we added a > site-early-start.el which is loaded just before early-init.el, mirroring > how site-start.el is loaded just before init.el? That would be really > useful for my site in general, for more than just this issue, because it > would allow new kinds of site-wide configuration that is currently > impossible. > > That's good. Wouldn't you want both that and a command-line option like = -qe so that you can do this via the command line to aid > testing and also provide Emacs programs that don't rely on site-early-ini= t.el? No, site-early-init.el would remove the need for -qe: simply export the environment variable "EMACSLOADPATH=3Dsomedir:" where somedir contains a site-early-init.el file which has the code you want to run "early", and then pass -q as normal. More awkward, of course, but it would work fine. From debbugs-submit-bounces@debbugs.gnu.org Wed May 14 14:41:14 2025 Received: (at 78304) by debbugs.gnu.org; 14 May 2025 18:41:14 +0000 Received: from localhost ([127.0.0.1]:45322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFH2X-0007NR-IL for submit@debbugs.gnu.org; Wed, 14 May 2025 14:41:13 -0400 Received: from mail-vs1-xe34.google.com ([2607:f8b0:4864:20::e34]:44355) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uFH2U-0007N9-V2 for 78304@debbugs.gnu.org; Wed, 14 May 2025 14:41:11 -0400 Received: by mail-vs1-xe34.google.com with SMTP id ada2fe7eead31-4de317a6fbcso35412137.1 for <78304@debbugs.gnu.org>; Wed, 14 May 2025 11:41:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747248065; x=1747852865; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=v9BZSTnC3vEgtXUZeI0uZnaAYsj57skacI/WBugVlzg=; b=UIUBNQ0inNlm7TSpK3ywyd1T411oBzM6H1CkI9aJ1ttOzC+a9qfGIVDQ7Rc1PrB/aQ YZsF7EvXlMiezpkwjd3M3WtNlBgwjshOHzv/lbYxrq68xjCIaNE3Vb8Q3ZlASwYU9amI f3eBs2twl9RqlL4DwtA5TqqCdS7nmrUc6cxoK2ZkhDat/Ghj62oemHyp9fYES+P5qjOF FoG697B5LIAwj6uUbY8ccOVSHgTve6OSsjvpoHJKlj3G0SuUuQaDXAL+/GOfZq2LSFk6 gkiNOB21cv0n9AW8VoEWep9vewADeeQuLqmUSvwL5BEZlQ7dWQI44IB8LMMKn23kSY1N 477A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747248065; x=1747852865; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=v9BZSTnC3vEgtXUZeI0uZnaAYsj57skacI/WBugVlzg=; b=NBQPaj4XBhXbm8M2zoVjCroL9ki7EqBiVTvx8cyZeqQKrcpzvr/h4iTYrjz1ravrZ1 TLtXpCLpxUokjt6VoTRDqwaCxcQG8JntsF4cGCmDJgaziE9AxuqvhgBOfF9PmJtLASKT 0W4cggA5oGKg4VRjq5NGxx+pkMGkVDDMj1mV7JP36hw3TjO0JJhi9aa9ERr3iIR1ATDe JLFCaehV7arKcPMNKr8M0bdNgDEfTjmgeGXJ3qLK91ux2kU5i9T8dFqL7Elzh+apKgKo K7YCI5wBC4A3TB+E3rhFjMdM88y+I6tcy4zyFS1VSJvZPYlEUIZzb5LEpe1aJ+aKl8qY 3qLg== X-Forwarded-Encrypted: i=1; AJvYcCUdiqj2gdcO3eKXELtrlJvOYNMdwr/Cjc6uomKvRfgKGHeoukMoc6f+j9dMvXTRD4flNbiqWQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yysp0xOp0uVq4V857Psi8VvFdxXmAjS7tdeCoa66KayuqKNczGw 1+MHrW9t85UqZi7eL0XacruBdvG0a9zgjofAv31/H/D8irZJ6SLiEQ/aX7XsCGMNJ8pp3kvelU/ 803xwrOZ6RYRgEpGe4BX5sDEBGbM= X-Gm-Gg: ASbGncuskyZIHn+gnkhACd4mLkEemwKTjiFuV2bBm62H5MUtsjt9Lxwk7d9Rzt11dOj yhp3jUfw4Q27oJ50YUOLUwfWLN5RUuxcJ+DOwKfq+eWopycMZYGA/LvZYBeQSMw28/3DFaHlgXJ OqMxClZJQD4eKcjj16kMswxRFXBdNMEJk1 X-Google-Smtp-Source: AGHT+IHVGTMgTpBDNJlk7GK9pC6PI7421/sC9tK61o0QLtIXdTqiRr7AbTi3bGpMTreju2f/AR1nANlqmEUn2rZN0wU= X-Received: by 2002:a05:6102:3fa9:b0:4da:e6e1:9196 with SMTP id ada2fe7eead31-4df7dae026bmr5255822137.0.1747248065168; Wed, 14 May 2025 11:41:05 -0700 (PDT) MIME-Version: 1.0 References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> In-Reply-To: From: Ship Mints Date: Wed, 14 May 2025 14:40:53 -0400 X-Gm-Features: AX0GCFsN7MlsvaIRL6WEsWii9N4-37Bz_wlAgbDs8oyQnZCLV8yxuSfdKGvtmdI Message-ID: Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line To: Spencer Baugh Content-Type: multipart/alternative; boundary="000000000000424c1706351ce413" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78304 Cc: Eli Zaretskii , 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000424c1706351ce413 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, May 14, 2025 at 2:34=E2=80=AFPM Spencer Baugh wrote: > Ship Mints writes: > > > On Wed, May 14, 2025 at 1:57=E2=80=AFPM Spencer Baugh via Bug reports f= or GNU > Emacs, the Swiss army knife of text editors > > wrote: > > How about this variation on your idea: what if we added a > > site-early-start.el which is loaded just before early-init.el, mirrori= ng > > how site-start.el is loaded just before init.el? That would be really > > useful for my site in general, for more than just this issue, because = it > > would allow new kinds of site-wide configuration that is currently > > impossible. > > > > That's good. Wouldn't you want both that and a command-line option lik= e > -qe so that you can do this via the command line to aid > > testing and also provide Emacs programs that don't rely on > site-early-init.el? > > No, site-early-init.el would remove the need for -qe: simply export the > environment variable "EMACSLOADPATH=3Dsomedir:" where somedir contains a > site-early-init.el file which has the code you want to run "early", and > then pass -q as normal. > > More awkward, of course, but it would work fine. > And a little less discoverable. --000000000000424c1706351ce413 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Wed, May 14, 2025 at 2:34=E2=80=AFPM Spencer Baugh <sbaugh@janestreet.com> wrote:
Ship Mints <shipmints@gmail.com> writes:

> On Wed, May 14, 2025 at 1:57=E2=80=AFPM Spencer Baugh via Bug reports = for GNU Emacs, the Swiss army knife of text editors
> <bug-gnu= -emacs@gnu.org> wrote:
>=C2=A0 How about this variation on your idea: what if we added a
>=C2=A0 site-early-start.el which is loaded just before early-init.el, m= irroring
>=C2=A0 how site-start.el is loaded just before init.el?=C2=A0 That woul= d be really
>=C2=A0 useful for my site in general, for more than just this issue, be= cause it
>=C2=A0 would allow new kinds of site-wide configuration that is current= ly
>=C2=A0 impossible.
>
> That's good.=C2=A0 Wouldn't you want both that and a command-l= ine option like -qe so that you can do this via the command line to aid
> testing and also provide Emacs programs that don't rely on site-ea= rly-init.el?

No, site-early-init.el would remove the need for -qe: simply export the
environment variable "EMACSLOADPATH=3Dsomedir:" where somedir con= tains a
site-early-init.el file which has the code you want to run "early"= ;, and
then pass -q as normal.

More awkward, of course, but it would work fine.

<= /div>
And a lit= tle less discoverable.
--000000000000424c1706351ce413-- From debbugs-submit-bounces@debbugs.gnu.org Thu May 15 02:06:42 2025 Received: (at 78304) by debbugs.gnu.org; 15 May 2025 06:06:42 +0000 Received: from localhost ([127.0.0.1]:50000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFRjt-0004lM-Mu for submit@debbugs.gnu.org; Thu, 15 May 2025 02:06:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41244) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFRjq-0004ku-FW for 78304@debbugs.gnu.org; Thu, 15 May 2025 02:06:39 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFRjk-0002wb-Ge; Thu, 15 May 2025 02:06:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=CRqsaVgyG8+AVP7mbYaLYc7SRvyftdGMb1/gKM1ONkc=; b=WwXwbODbm2K+ fqv2Yo967V+biZvReagHIxdJvLkqStUmwqkw6iNifQghTCeGEVcY1lzx0JMOJSsKEaZV4qf8++p3/ C70unE8hrRHGVoe29TFWzSiEtJTe2yf5IgjHVlsjxM+2va4GFVl6+NQIyLMQOOZmD0Sh7LlbPmyYy T6d3E2UbMnlGu/mJ8P0JUXWifsERFXN9AYK8+P15z3+L0Y0jucR1GodGwGHEyKrrfOgum0oOuci21 nBA1odieUNv7hN06qJSkWEk+itIm/7FBZNovWmRMvHN8CCXtjlnZAahy5hrA1qbDv1uk7npyqhGpE 89TBo8a5lziaQPFAsSdnHQ==; Date: Thu, 15 May 2025 09:06:27 +0300 Message-Id: <86jz6iz9uk.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (message from Spencer Baugh on Wed, 14 May 2025 13:56:08 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Spencer Baugh > Cc: 78304@debbugs.gnu.org > Date: Wed, 14 May 2025 13:56:08 -0400 > > - I want to run with -q for the usual reasons of ignoring the user's > early-init.el and init.el. > > - While running with -q, I want to do things which can only be done with > early-init.el, like configuring package initialization, > load-path-filter-function, or the initial frame parameters. Why do you want to do that under -q? > More simply the problem is: > > - I don't want to load the user's early-init.el > > - But there are certain things which can only be done via early-init.el Like what? Please be specific. The reason for having early-init is primarily to affect how the regular init file is loaded and processed. But -q disables loading the init files, so why do you still need early-init? And why cannot you do in site-start whatever you want done in early-init under -q? > How about this variation on your idea: what if we added a > site-early-start.el which is loaded just before early-init.el, mirroring > how site-start.el is loaded just before init.el? That would be really > useful for my site in general, for more than just this issue, because it > would allow new kinds of site-wide configuration that is currently > impossible. I'd like first to have a very good understanding why the existing features cannot support your use case, so that introduction of new features in this area is avoided as much as possible, for the reasons I explained up-thread. From debbugs-submit-bounces@debbugs.gnu.org Thu May 15 09:41:44 2025 Received: (at 78304) by debbugs.gnu.org; 15 May 2025 13:41:44 +0000 Received: from localhost ([127.0.0.1]:52740 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFYqF-0001BO-HI for submit@debbugs.gnu.org; Thu, 15 May 2025 09:41:44 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:54745) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFYq9-0001AZ-Kb for 78304@debbugs.gnu.org; Thu, 15 May 2025 09:41:38 -0400 From: Spencer Baugh To: Eli Zaretskii Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line In-Reply-To: <86jz6iz9uk.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 15 May 2025 09:06:27 +0300") References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> Date: Thu, 15 May 2025 09:41:31 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1747316491; bh=Dr8kxSOqqoT7hkotxVpcSt54elPjYDZu/bOd/ofj7uo=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=WiVTLcBIg87d/aiSS7L/TFfrX7kKEuPwY8CkeL9p9iVOcdcnUxI7yTyNkAYYiBNKK KUUHtyMjKJ6lwKqIU/ovT3jYLSr4WKVMBqywqvCQRgB0rutffF+kKdWrhYu5p6L9Gh ZynGwMnMdw/V+LHh+YAxWhfKLqI0JYBH12LWjFTJd4H4Ni91oCNROAoETugceRKOV/ qfyq7+gkyYtObPvbgTewKoco2ZefB8U2Y3cU9jsQxUYPPrPRwB8BNXCEEya6dXz77o 3m4780SQquL/e5tfHqtORGU1NKgw/qc3oPGROoLSVlvpgG0XDXbWG48jMOYDfL69wW 55qdLrcUsoruw== X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Eli Zaretskii writes: >> From: Spencer Baugh >> Cc: 78304@debbugs.gnu.org >> Date: Wed, 14 May 2025 13:56:08 -0400 >> >> - I want to run with -q for the usual reasons of ignoring the user's >> early-init.el and init.el. >> >> - While running with -q, I want to do things which can only be done with >> early-init.el, like configuring package initialization, >> load-path-filter-function, or the initial frame parameters. > > Why do you want to do that under -q? Two concrete use cases: - Since load-path-filter-function speeds up all subsequent loads, it needs to be set at early-init.el time to have maximum effect, but I want to also be able to use it and test it with emacs -q. - Context: I'm developing some scripts to run Emacs in a simple reduced-functionality mode, which provide access to just one buffer running in a specific major mode, with the goal of making Emacs features accessible to users who don't currently use Emacs. For example, vc-dir is generally useful, so a script to open Emacs running vc-dir on its own. (These scripts are similar to things like https://github.com/maio/smagit and https://github.com/alphapapa/magit.sh ) These scripts run with -q, but I need to be able to configure things about the initial frame, which can only be done with early-init.el. From debbugs-submit-bounces@debbugs.gnu.org Thu May 15 11:31:40 2025 Received: (at 78304) by debbugs.gnu.org; 15 May 2025 15:31:40 +0000 Received: from localhost ([127.0.0.1]:55220 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFaYb-0001Yn-ID for submit@debbugs.gnu.org; Thu, 15 May 2025 11:31:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50696) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFaYP-0001YG-Qp for 78304@debbugs.gnu.org; Thu, 15 May 2025 11:31:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFaYI-0004Ug-FY; Thu, 15 May 2025 11:31:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=NKOON7WsGHgocHlEaWbrX714p27wOPHExg/MkZaMD/k=; b=QcmXXqxCxLkS COrDBkX9flpy0M10GtHeXVGHjhlRYv/+5pi9weWwuTjzc2U3QawTc9drRhr3x3c5+/nlC132pUXWv bOBFFvEcvNSioPWhrhXYq3ovgcS83nMzFFQd9NqSAYMYTYIgOy7U+7Al9HBv7uI3HJQx3KkeSGaOW uzpYjpiwxCOjTWF+y50t3eNv92vhXMIzHKuzDEg0lxAZvmiIupbq8sCeK12ZTbsFzQIB+SooD4ydp vkykxC47jirZbQiCsnuUWDCZcyaZdI/9LPCwNAvLpB5rN5BtNF70h4W+ZmF95Vsu8tQVkOo0j4PvA mBpZSQk00sAQcPZGIRYJsw==; Date: Thu, 15 May 2025 18:30:31 +0300 Message-Id: <86bjrtzyaw.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (message from Spencer Baugh on Thu, 15 May 2025 09:41:31 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Spencer Baugh > Cc: 78304@debbugs.gnu.org > Date: Thu, 15 May 2025 09:41:31 -0400 > > Eli Zaretskii writes: > > >> From: Spencer Baugh > >> Cc: 78304@debbugs.gnu.org > >> Date: Wed, 14 May 2025 13:56:08 -0400 > >> > >> - I want to run with -q for the usual reasons of ignoring the user's > >> early-init.el and init.el. > >> > >> - While running with -q, I want to do things which can only be done with > >> early-init.el, like configuring package initialization, > >> load-path-filter-function, or the initial frame parameters. > > > > Why do you want to do that under -q? > > Two concrete use cases: > > - Since load-path-filter-function speeds up all subsequent loads, it > needs to be set at early-init.el time to have maximum effect, but I > want to also be able to use it and test it with emacs -q. Since early-init.el is not supposed to load anything, only set up some variables, I don't understand why you insist on doing this in early-init. The site-start file is loaded right after early-init.el, so if you set that up at the very beginning of site-start file, it will have the same effect. And even if that doesn't work for some reason I cannot imagine ATM, you could do this in site-start when Emacs was invoked with -q. > - Context: I'm developing some scripts to run Emacs in a simple > reduced-functionality mode, which provide access to just one buffer > running in a specific major mode, with the goal of making Emacs > features accessible to users who don't currently use Emacs. For > example, vc-dir is generally useful, so a script to open Emacs running > vc-dir on its own. (These scripts are similar to things like > https://github.com/maio/smagit and > https://github.com/alphapapa/magit.sh ) > > These scripts run with -q, but I need to be able to configure things > about the initial frame, which can only be done with early-init.el. Same question here: why cannot this be done in site-start file? IMO, it is even cleaner, because it doesn't require each user to do the same in their early-init files; instead, you will do that only once for all of them. From debbugs-submit-bounces@debbugs.gnu.org Thu May 15 12:19:27 2025 Received: (at 78304) by debbugs.gnu.org; 15 May 2025 16:19:28 +0000 Received: from localhost ([127.0.0.1]:55373 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFbIs-0004w3-CV for submit@debbugs.gnu.org; Thu, 15 May 2025 12:19:27 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:38557) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFbIo-0004vk-8K for 78304@debbugs.gnu.org; Thu, 15 May 2025 12:19:22 -0400 From: Spencer Baugh To: Eli Zaretskii Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line In-Reply-To: <86bjrtzyaw.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 15 May 2025 18:30:31 +0300") References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> Date: Thu, 15 May 2025 12:19:16 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1747325956; bh=X9hJXI5fGzJr0zVMlXvjRiZpMs0aupG1YuQL5B66Y20=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=XIKoSvaYMN7kT39K6GbIfNf1DikgO1U0In6XM6c+Ah6QbIZD5yadAdB2muofhMqvx W5Z6AvTGFhpnEj8SBksyQ+0UNyMr1k+1f/CR2IJ2l6W3+EJVuGypRzOcWMbI3D2mOj uXFeQLSHXnxhw3xrvzmLlZhMGzCKv/uGeqIsPBXuUaGe1o86+3KnQ5svDLmmg1dUvy DcZREUId7imLaqyE/oU5zkO2Len8UNp5UwMb7pmYmUhZHpiR0Wze9ykjpFKfwbEOIR YUo7Jh70va6bFwHpAIJz9tBu5NhoNKuuYBl4XjRrYCgtRYdSMkTgzCQ+gp/0TLJa02 /MntR7oAgM8pA== X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Eli Zaretskii writes: >> From: Spencer Baugh >> Cc: 78304@debbugs.gnu.org >> Date: Thu, 15 May 2025 09:41:31 -0400 >> >> Eli Zaretskii writes: >> >> >> From: Spencer Baugh >> >> Cc: 78304@debbugs.gnu.org >> >> Date: Wed, 14 May 2025 13:56:08 -0400 >> >> >> >> - I want to run with -q for the usual reasons of ignoring the user's >> >> early-init.el and init.el. >> >> >> >> - While running with -q, I want to do things which can only be done with >> >> early-init.el, like configuring package initialization, >> >> load-path-filter-function, or the initial frame parameters. >> > >> > Why do you want to do that under -q? >> >> Two concrete use cases: >> >> - Since load-path-filter-function speeds up all subsequent loads, it >> needs to be set at early-init.el time to have maximum effect, but I >> want to also be able to use it and test it with emacs -q. > > Since early-init.el is not supposed to load anything, only set up some > variables, I don't understand why you insist on doing this in > early-init. The site-start file is loaded right after early-init.el, > so if you set that up at the very beginning of site-start file, it > will have the same effect. That is not the case: Many things happen, including loading of files, between site-start and early-init. Package initialization and initial frame setup, for example. >> - Context: I'm developing some scripts to run Emacs in a simple >> reduced-functionality mode, which provide access to just one buffer >> running in a specific major mode, with the goal of making Emacs >> features accessible to users who don't currently use Emacs. For >> example, vc-dir is generally useful, so a script to open Emacs running >> vc-dir on its own. (These scripts are similar to things like >> https://github.com/maio/smagit and >> https://github.com/alphapapa/magit.sh ) >> >> These scripts run with -q, but I need to be able to configure things >> about the initial frame, which can only be done with early-init.el. > > Same question here: why cannot this be done in site-start file? IMO, > it is even cleaner, because it doesn't require each user to do the > same in their early-init files; instead, you will do that only once > for all of them. Because initial frame setup happens before site-start is loaded. From debbugs-submit-bounces@debbugs.gnu.org Thu May 15 12:33:40 2025 Received: (at 78304) by debbugs.gnu.org; 15 May 2025 16:33:40 +0000 Received: from localhost ([127.0.0.1]:55426 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFbWe-0000XW-2b for submit@debbugs.gnu.org; Thu, 15 May 2025 12:33:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33530) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFbWT-0000X2-IV for 78304@debbugs.gnu.org; Thu, 15 May 2025 12:33:35 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFbWM-00040a-Gk; Thu, 15 May 2025 12:33:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=9uHM5LpqH2qhmip9l8fYaCnr+sGDspfIlROywNcf0NM=; b=X49nQnYs4ijz Uii3O5fREcsuTMb8ih6EMK46eNjw1jJfh1dJxcjQ4MMd744Bt20I13D2M5uk7mCJlJav1FRwWohnB 3Timql4aHeslKjG9x4LmY7bRwJorQ6/UxL56LvPolQabW7qXq4r3U2ZC8O2BsNyzfieqtT5RX5qzd 9Me7cdQv+6Kk39KwDJRq1/xvGbTuKcM8CI/eIZVfjTSMCpkKjZrtAQ3678cvjbYWTtBbdsbgDQQpi XEJToZ1VvUUdBiCO+HE+7mVDNKoXYX3FfOKrQX7RGFWnmtn2G0wU+uftsS997c1RsAXWMAhMHwY5w abYP4M/WFU8m9tZYOCRwCQ==; Date: Thu, 15 May 2025 19:33:17 +0300 Message-Id: <867c2hzvea.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (message from Spencer Baugh on Thu, 15 May 2025 12:19:16 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Spencer Baugh > Cc: 78304@debbugs.gnu.org > Date: Thu, 15 May 2025 12:19:16 -0400 > > Eli Zaretskii writes: > > >> > Why do you want to do that under -q? > >> > >> Two concrete use cases: > >> > >> - Since load-path-filter-function speeds up all subsequent loads, it > >> needs to be set at early-init.el time to have maximum effect, but I > >> want to also be able to use it and test it with emacs -q. > > > > Since early-init.el is not supposed to load anything, only set up some > > variables, I don't understand why you insist on doing this in > > early-init. The site-start file is loaded right after early-init.el, > > so if you set that up at the very beginning of site-start file, it > > will have the same effect. > > That is not the case: Many things happen, including loading of files, > between site-start and early-init. Package initialization and initial > frame setup, for example. And why is that important in your cases, again? You never said anything about packages and frame initialization. > >> - Context: I'm developing some scripts to run Emacs in a simple > >> reduced-functionality mode, which provide access to just one buffer > >> running in a specific major mode, with the goal of making Emacs > >> features accessible to users who don't currently use Emacs. For > >> example, vc-dir is generally useful, so a script to open Emacs running > >> vc-dir on its own. (These scripts are similar to things like > >> https://github.com/maio/smagit and > >> https://github.com/alphapapa/magit.sh ) > >> > >> These scripts run with -q, but I need to be able to configure things > >> about the initial frame, which can only be done with early-init.el. > > > > Same question here: why cannot this be done in site-start file? IMO, > > it is even cleaner, because it doesn't require each user to do the > > same in their early-init files; instead, you will do that only once > > for all of them. > > Because initial frame setup happens before site-start is loaded. So now please explain why that is an issue in -q invocations. Bonus points for explaining why you need all this to run under -q. Because if you could do this without -q, all the problems will magically disappear, right? From debbugs-submit-bounces@debbugs.gnu.org Thu May 15 13:05:25 2025 Received: (at 78304) by debbugs.gnu.org; 15 May 2025 17:05:25 +0000 Received: from localhost ([127.0.0.1]:55595 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFc1L-000487-Cu for submit@debbugs.gnu.org; Thu, 15 May 2025 13:05:25 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:54801) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFc1H-00046S-Md for 78304@debbugs.gnu.org; Thu, 15 May 2025 13:05:21 -0400 From: Spencer Baugh To: Eli Zaretskii Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line In-Reply-To: <867c2hzvea.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 15 May 2025 19:33:17 +0300") References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> Date: Thu, 15 May 2025 13:05:14 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1747328714; bh=ukmHqGiP7sn8BQEH1aJTybM9K4QCTfzpFI5yFwvp0hg=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=XT2Tq3Rfmdnqngkp6QMAXGThiX4GRSE8Wvp/btzgy6T3OvsiFlqa814xd6Vxb8XHw YS0u4WFGn5a8B4FwOFWm0H0SF20N8SHVQWa6aRgKb4AuBJ2LgPNSUijR5AGhOhPqQi mYYC2wXnRG6KowLEkGSFpQt0HeKW/CHw13SsiTDgzW596bwlD/SrvU5v6nJzq8plDD wwmx+pHEUSGNH9bLf5FcYN6JQa8wJH35qc8U/LG9XeYj4l7pcIUA/4GEVgyj0ya9Yc oMUBHjCP41LXapinwC94TQQGP8ditp0GDZitHW+gsxfUITitfyiw3nLV70OfdthHe7 061fKq7BTwfMQ== X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Eli Zaretskii writes: >> From: Spencer Baugh >> Cc: 78304@debbugs.gnu.org >> Date: Thu, 15 May 2025 12:19:16 -0400 >> >> Eli Zaretskii writes: >> >> >> > Why do you want to do that under -q? >> >> >> >> Two concrete use cases: >> >> >> >> - Since load-path-filter-function speeds up all subsequent loads, it >> >> needs to be set at early-init.el time to have maximum effect, but I >> >> want to also be able to use it and test it with emacs -q. >> > >> > Since early-init.el is not supposed to load anything, only set up some >> > variables, I don't understand why you insist on doing this in >> > early-init. The site-start file is loaded right after early-init.el, >> > so if you set that up at the very beginning of site-start file, it >> > will have the same effect. >> >> That is not the case: Many things happen, including loading of files, >> between site-start and early-init. Package initialization and initial >> frame setup, for example. > > And why is that important in your cases, again? You never said > anything about packages and frame initialization. Because load-path-filter-function affects loading of files, so it affects anything that causes loading of files, which includes packages and frame initialization. Those things happen before site-start. Therefore, for load-path-filter-function to affect those things (which is desirable, it's a performance optimization that will speed them up) it needs to be set before those things. >> >> - Context: I'm developing some scripts to run Emacs in a simple >> >> reduced-functionality mode, which provide access to just one buffer >> >> running in a specific major mode, with the goal of making Emacs >> >> features accessible to users who don't currently use Emacs. For >> >> example, vc-dir is generally useful, so a script to open Emacs running >> >> vc-dir on its own. (These scripts are similar to things like >> >> https://github.com/maio/smagit and >> >> https://github.com/alphapapa/magit.sh ) >> >> >> >> These scripts run with -q, but I need to be able to configure things >> >> about the initial frame, which can only be done with early-init.el. >> > >> > Same question here: why cannot this be done in site-start file? IMO, >> > it is even cleaner, because it doesn't require each user to do the >> > same in their early-init files; instead, you will do that only once >> > for all of them. >> >> Because initial frame setup happens before site-start is loaded. > > So now please explain why that is an issue in -q invocations. When invoking Emacs with -q: - Initial frame setup happens before site-start is loaded. - Therefore, initial frame setup cannot be customized in site-start. - Therefore, I cannot do the things I want to do with site-start. (This all also holds without -q) From debbugs-submit-bounces@debbugs.gnu.org Thu May 15 13:33:41 2025 Received: (at 78304) by debbugs.gnu.org; 15 May 2025 17:33:41 +0000 Received: from localhost ([127.0.0.1]:55807 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFcSi-0006ju-PL for submit@debbugs.gnu.org; Thu, 15 May 2025 13:33:41 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:41875) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uFcSf-0006jL-Ec for 78304@debbugs.gnu.org; Thu, 15 May 2025 13:33:38 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-43f106a3591so1602935e9.3 for <78304@debbugs.gnu.org>; Thu, 15 May 2025 10:33:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747330411; x=1747935211; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=MKriOR7nmr6ZBwZCeHVq71RLLQE9UFoImDUQiZXH1gQ=; b=NfU/DT+YhI+6KZZB85rsaC6MemGTnsIabYCiVoeExwsJ4cByMa37TFTJ8AokZK6oMZ PKBtbLmnFSEvElfVJib/xQBmzhwd7o9FjvL+axGjFMIPAZbmI3IszKejDDZdexOwKRUE APUnnrHpiTb7q/zSoJVKf7rhYdE/4XkdzsEk3U2J3RBufEwkO4bo8HKYVKTB6VNnNzl1 oYq9u+YQiai5e7zJMbDtmR2HLiHCUJ85zQchqylBpa2c8EoDSfqTInxijxE5lbuqOfSW 0u7FasQ585WVF+3yWPxPYY+H531qix9qZigaj3EoOAfzGdBrxWgHerZKQxbZyzZRF60N MmSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747330411; x=1747935211; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MKriOR7nmr6ZBwZCeHVq71RLLQE9UFoImDUQiZXH1gQ=; b=sLsaAj09dWFnSxR8wcYmkJ14GkFaYdds7lAhY+LE8tz5HUsvfrs0yxI6xjCitMEGKR 8qMDCK/bT3bDw287Adnl3NoLiscwRoVSkCsSA8VCqIWd0GXzjRFjN9ZhXlD/FUQng5be UbsSd5xcpfGrLkMr1cvWIfY//I837ZxtVu1w9sK+UXuWBIxaWdya5LU45AyohX6G3+Tm aNTufNq+rgh6mwB4z7Ya13f0W6mJkkRtFua2LnqJuKcd/Z/NuPolh7FFYw3vOVAO2AX9 Bdr/9i2XHWGd7aFtlNphNzeKzCR5wSapXDhD8P/lwVyo4Ws7rnyZt2x5e72VUIFUxbiH Q52A== X-Forwarded-Encrypted: i=1; AJvYcCVo9HbknaKnDznuBbw1GGmx+d7jsD4xpmRi9Th9stNbQEKT34IRWbz3YIfo/D814mnyTJF4NA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzoQ9alvGqz9lEXgskjYPiY7mNiUtLjz0LbXIxVZRpFKQvHRnWH ry3LT4R+imezVQSnm5/XWE6NiIZwHyGNJiZYdDOKGjDxQAdw1YUznjnvE/GI/nUI6W8a6x8qB64 dJJm792h/Ssj3CtMosr5btPPnYz0+gzk= X-Gm-Gg: ASbGnctHNyx4v25+wykcRmSDXtulp1OKp2tUkayVAnq1JrwVQlYifLqe1CefP5PkfWZ vLX3wPGRApjuE8H5SabvqkmqKrp4eSjmrEW1NFy5PhEEcDwW7Unv4zdfKafAx5JefE8IMbBDC/N UJMs4rv1fso0XFfWqxyiHVvsySGtrCAg1ZPMEJ1PlZcm4BEQ== X-Google-Smtp-Source: AGHT+IHSkSjTS5dLdCQ4p3cazPr/nXIL0xLu++wln9hi2Eo+ZHd6LHNCflwgDEYesjVCNJY5WflDdoSJb08VY+NrRSw= X-Received: by 2002:a05:6000:2503:b0:39c:1efb:ee87 with SMTP id ffacd0b85a97d-3a35c844fcfmr262016f8f.12.1747330410931; Thu, 15 May 2025 10:33:30 -0700 (PDT) MIME-Version: 1.0 References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> In-Reply-To: From: Lynn Winebarger Date: Thu, 15 May 2025 13:33:19 -0400 X-Gm-Features: AX0GCFtsOQ0Fflh0OOZQaO3FAjVajec355u4QpQCpRQxGclwLaN5XSy1C3E8Mmk Message-ID: Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line To: Spencer Baugh Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78304 Cc: Eli Zaretskii , 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Thu, May 15, 2025 at 1:06=E2=80=AFPM Spencer Baugh via Bug reports for G= NU Emacs, the Swiss army knife of text editors wrote: > > Eli Zaretskii writes: > > >> From: Spencer Baugh > >> Cc: 78304@debbugs.gnu.org > >> Date: Thu, 15 May 2025 12:19:16 -0400 > >> > >> Eli Zaretskii writes: > >> > >> >> > Why do you want to do that under -q? > >> >> > >> >> Two concrete use cases: > >> >> > >> >> - Since load-path-filter-function speeds up all subsequent loads, i= t > >> >> needs to be set at early-init.el time to have maximum effect, but= I > >> >> want to also be able to use it and test it with emacs -q. > >> > > >> > Since early-init.el is not supposed to load anything, only set up so= me > >> > variables, I don't understand why you insist on doing this in > >> > early-init. The site-start file is loaded right after early-init.el= , > >> > so if you set that up at the very beginning of site-start file, it > >> > will have the same effect. > >> > >> That is not the case: Many things happen, including loading of files, > >> between site-start and early-init. Package initialization and initial > >> frame setup, for example. > > > > And why is that important in your cases, again? You never said > > anything about packages and frame initialization. > > Because load-path-filter-function affects loading of files, so it > affects anything that causes loading of files, which includes packages > and frame initialization. > > Those things happen before site-start. > > Therefore, for load-path-filter-function to affect those things (which > is desirable, it's a performance optimization that will speed them up) > it needs to be set before those things. > > >> >> - Context: I'm developing some scripts to run Emacs in a simple > >> >> reduced-functionality mode, which provide access to just one buff= er > >> >> running in a specific major mode, with the goal of making Emacs > >> >> features accessible to users who don't currently use Emacs. For > >> >> example, vc-dir is generally useful, so a script to open Emacs ru= nning > >> >> vc-dir on its own. (These scripts are similar to things like > >> >> https://github.com/maio/smagit and > >> >> https://github.com/alphapapa/magit.sh ) > >> >> > >> >> These scripts run with -q, but I need to be able to configure thi= ngs > >> >> about the initial frame, which can only be done with early-init.e= l. > >> > > >> > Same question here: why cannot this be done in site-start file? IMO= , > >> > it is even cleaner, because it doesn't require each user to do the > >> > same in their early-init files; instead, you will do that only once > >> > for all of them. > >> > >> Because initial frame setup happens before site-start is loaded. > > > > So now please explain why that is an issue in -q invocations. > > When invoking Emacs with -q: > > - Initial frame setup happens before site-start is loaded. > - Therefore, initial frame setup cannot be customized in site-start. > - Therefore, I cannot do the things I want to do with site-start. > > (This all also holds without -q) You could always write a "site-init.el" or "site-load.el" at build time that will loaded by "loadup.el" during the dump process. You can add a function to 'after-pdump-load-hook, which will be run by the C runtime immediately after the dump file is loaded, before any of the normal startup code (from startup.el) is run, even before the top level recursive-edit is called. You can redefine the "top-level" function to do whatever you want for your site. Lynn From debbugs-submit-bounces@debbugs.gnu.org Thu May 15 15:08:43 2025 Received: (at 78304) by debbugs.gnu.org; 15 May 2025 19:08:43 +0000 Received: from localhost ([127.0.0.1]:56251 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFdwg-0004zr-39 for submit@debbugs.gnu.org; Thu, 15 May 2025 15:08:43 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:58237) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFdwd-0004zH-EH for 78304@debbugs.gnu.org; Thu, 15 May 2025 15:08:40 -0400 From: Spencer Baugh To: Lynn Winebarger Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line In-Reply-To: (Lynn Winebarger's message of "Thu, 15 May 2025 13:33:19 -0400") References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> Date: Thu, 15 May 2025 15:08:34 -0400 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1747336114; bh=z/O+LRmt+9cq3TkFEqfn+Rsj7f868GQ3jfL3RwOCvUk=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=2U8NPdi106St0mBFU9Duyb8apLGXjdB1dI5qIGl0UoZx+2rEL2Q6w7VQ33jQIjeAc paEi5xaBKtR69Ke203CtaCfhwzNS92MBFbPWuyoDc7ekazMZaTzXGx07Wy3Hshbfuw ACBiwVUS6he8IFeXtyePiIdN1jgR+FyqhBT4vhFqXUWMXeTpX027QcJnkVWrChWkl5 DKebrd9XQ1Or09Phu8zGU5whNT4BU71eSNmxJfZfIwe289+Ff1NOSwGyo/W9Ahubnw rdgEVNfryQ4AzesIZfRVSgGYI4nm7pQfD46ELLt1z6aLpg42FCunPZFAdrSEQIBxya VMHZ7iamEzCQA== X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: Eli Zaretskii , 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Lynn Winebarger writes: > On Thu, May 15, 2025 at 1:06=E2=80=AFPM Spencer Baugh via Bug reports for= GNU > Emacs, the Swiss army knife of text editors > wrote: >> >> Eli Zaretskii writes: >> >> >> From: Spencer Baugh >> >> Cc: 78304@debbugs.gnu.org >> >> Date: Thu, 15 May 2025 12:19:16 -0400 >> >> >> >> Eli Zaretskii writes: >> >> >> >> >> > Why do you want to do that under -q? >> >> >> >> >> >> Two concrete use cases: >> >> >> >> >> >> - Since load-path-filter-function speeds up all subsequent loads, = it >> >> >> needs to be set at early-init.el time to have maximum effect, bu= t I >> >> >> want to also be able to use it and test it with emacs -q. >> >> > >> >> > Since early-init.el is not supposed to load anything, only set up s= ome >> >> > variables, I don't understand why you insist on doing this in >> >> > early-init. The site-start file is loaded right after early-init.e= l, >> >> > so if you set that up at the very beginning of site-start file, it >> >> > will have the same effect. >> >> >> >> That is not the case: Many things happen, including loading of files, >> >> between site-start and early-init. Package initialization and initial >> >> frame setup, for example. >> > >> > And why is that important in your cases, again? You never said >> > anything about packages and frame initialization. >> >> Because load-path-filter-function affects loading of files, so it >> affects anything that causes loading of files, which includes packages >> and frame initialization. >> >> Those things happen before site-start. >> >> Therefore, for load-path-filter-function to affect those things (which >> is desirable, it's a performance optimization that will speed them up) >> it needs to be set before those things. >> >> >> >> - Context: I'm developing some scripts to run Emacs in a simple >> >> >> reduced-functionality mode, which provide access to just one buf= fer >> >> >> running in a specific major mode, with the goal of making Emacs >> >> >> features accessible to users who don't currently use Emacs. For >> >> >> example, vc-dir is generally useful, so a script to open Emacs r= unning >> >> >> vc-dir on its own. (These scripts are similar to things like >> >> >> https://github.com/maio/smagit and >> >> >> https://github.com/alphapapa/magit.sh ) >> >> >> >> >> >> These scripts run with -q, but I need to be able to configure th= ings >> >> >> about the initial frame, which can only be done with early-init.= el. >> >> > >> >> > Same question here: why cannot this be done in site-start file? IM= O, >> >> > it is even cleaner, because it doesn't require each user to do the >> >> > same in their early-init files; instead, you will do that only once >> >> > for all of them. >> >> >> >> Because initial frame setup happens before site-start is loaded. >> > >> > So now please explain why that is an issue in -q invocations. >> >> When invoking Emacs with -q: >> >> - Initial frame setup happens before site-start is loaded. >> - Therefore, initial frame setup cannot be customized in site-start. >> - Therefore, I cannot do the things I want to do with site-start. >> >> (This all also holds without -q) > > You could always write a "site-init.el" or "site-load.el" at build > time that will loaded by "loadup.el" during the dump process. You can > add a function to 'after-pdump-load-hook, which will be run by the C > runtime immediately after the dump file is loaded, before any of the > normal startup code (from startup.el) is run, even before the top > level recursive-edit is called. You can redefine the "top-level" > function to do whatever you want for your site. That's true enough, but this is not about my site - the only reason site files came up is because Eli mentioned them. Both of the use cases I mentioned (setting load-path-filter-function, using a script to run a reduced-functionality Emacs) should work for users anywhere without requring them to compile their own Emacs. From debbugs-submit-bounces@debbugs.gnu.org Thu May 15 15:51:42 2025 Received: (at 78304) by debbugs.gnu.org; 15 May 2025 19:51:42 +0000 Received: from localhost ([127.0.0.1]:56522 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFecI-0000MB-Ag for submit@debbugs.gnu.org; Thu, 15 May 2025 15:51:42 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:39095) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uFecF-0000Ln-8Z for 78304@debbugs.gnu.org; Thu, 15 May 2025 15:51:39 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3a0b28d9251so195867f8f.0 for <78304@debbugs.gnu.org>; Thu, 15 May 2025 12:51:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747338693; x=1747943493; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=AWRfvrhBatioAyB+MZdCOZOQTFPrNMxLNeodbBj94mM=; b=V6rCatc1d+wX7EVKupMG2g3Qib5eaq21WcYVnGWsEe/EqO4/e2coRJX7Q7mvjHOLtB KLTSwpvhrhRYaBhlMGPPdZWcQLDAKxJAkUCJqeH/vqObe8wscBfovMvftOygJfF5PmOv FFbl2jKJRlkDLu/2Wp8UA6IOg57+mTDlCtdC2V2h7SUrjADfgs79QEaWVn28OmjNMyyS 37QRYxNp5xPXs0F9sbzu/YBp78Jh2qaHZvZrpdr+EykZWeWlVPKjTKE86jIhzjutTzR0 9j3sGs+n/cxdafGh5g8GokSETMhDiSSDS7Fm270BAjCaDKg21QbO//GDVzb7rNApUFLS 2yKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747338693; x=1747943493; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=AWRfvrhBatioAyB+MZdCOZOQTFPrNMxLNeodbBj94mM=; b=oxOsTV6+t5vdMULps8e7UTiQGIrhznnuok/izyHJAepMy4bfdT+TcfPTkC8Lg23PFF 0hdgBGPdbhf6n7WWSNt+Lz61kNdjKCGhQBBT3VEf/Jd4RtCr7kz+O3ZEPuvWJKub4vVR du3kSvKsHY9CzD4Cr5ZTb9zjVwXhNYaWYhyjfWQtWgZB0HlXh+JwliSpV9UxYg1702tI 684IWTabE2OKXpjMiAn+VB+23JZujwHe/JN9d9lVKk8KZkuWjcZF6chv28krgcjQxx/P J3t/irpQVPABGx8ERhZqfV1wByT9eouiigYdQgUnzSY8gSRsuErW/q2otvkHkQF/s2TC 0LeQ== X-Forwarded-Encrypted: i=1; AJvYcCXIqDVEcy/4X33OB2EsXvZzR6r7KhgsBiDDJjXpxKuEJoMd0djWWpzvOybGRaN7vGVM/CkBMQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yz7/5g6M1GkbRULx+GtR5D9XzVfQd+Q1U5ZT0wRbMmiX9ulDdGO Lgr4xY0MB9pCUbHz3Ca9eVrPFlfDCsfPf6tj8MM7YijEyc+WKppaeuWJRBoKwyQQn1ScUoth5FK 9XhRpVnYg2khaKv1bosJAy0weB8U/vCsB+w== X-Gm-Gg: ASbGncvxI5QuQDUy4ds9XyZKGEWHapUJ8q1z+DMIeGrk41yZl/GOj64s0YDfNIIZnvW G6rZDyvKboo4ss+BTuZoERqUD25B/yOMxzL7u3XkWAnywPepnsxnwZ387rlD+aoccC56cK1L9CN i7oFzOPmzDE7vHWd26ypsNq1jucIpCBVSYurid5TQAyRJBg5qPPg391VUP1OHMvKwJtVgAuSBq7 w== X-Google-Smtp-Source: AGHT+IHHYmAEcuF59j27o8iCK9SZs7/qXOmHLfWASREF96yLqTKdFFZZtqbcQwZTORbEgXg00LZytVRiZlRrbUZ/r1k= X-Received: by 2002:adf:f10e:0:b0:3a3:5c8e:2d8d with SMTP id ffacd0b85a97d-3a35c8e2da0mr307254f8f.0.1747338692858; Thu, 15 May 2025 12:51:32 -0700 (PDT) MIME-Version: 1.0 References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> In-Reply-To: From: Lynn Winebarger Date: Thu, 15 May 2025 15:51:22 -0400 X-Gm-Features: AX0GCFv48CdL-4bZ-1wm5HlLYYwbrZ5jHEUMJe6szjjumywYU3a3jk091a3woPc Message-ID: Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line To: Spencer Baugh Content-Type: multipart/alternative; boundary="000000000000171972063531fe16" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78304 Cc: Eli Zaretskii , 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000171972063531fe16 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, May 15, 2025, 3:08=E2=80=AFPM Spencer Baugh = wrote: > Lynn Winebarger writes: > > That's true enough, but this is not about my site - the only reason site > files came up is because Eli mentioned them. Both of the use cases I > mentioned (setting load-path-filter-function, using a script to run a > reduced-functionality Emacs) should work for users anywhere without > requring them to compile their own Emacs. > The only thing I can suggest is working to ensure redumping is functional, since (rereading the email chain) you seem to be working on specialized instances of emacs. But you don't even really need that. You can make an installation script that either redumps or just dumps, you don't have to recompile anything. Just install a script that calls emacs with the explicit flag for the dump file the installation script generates. Everything necessary will already be available with the system, dumping just loads the stuff you specify, then does a specialized garbage collection and saves the result. Pretty much any reasonable package management system should allow you to do what's needed at install time. I think you'll find that a much easier path to your goal than convincing Eli to add another feature to maintain. Lynn --000000000000171972063531fe16 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Thu, May 15, 2025, 3:08=E2=80=AFPM Sp= encer Baugh <sbaugh@janestreet.= com> wrote:
Lynn Winebarger <owinebar@gmail.com> writes:

That's true enough, but this is not about my site - the only reason sit= e
files came up is because Eli mentioned them.=C2=A0 Both of the use cases I<= br> mentioned (setting load-path-filter-function, using a script to run a
reduced-functionality Emacs) should work for users anywhere without
requring them to compile their own Emacs.

The only thing I can suggest is wo= rking to ensure redumping is functional, since (rereading the email chain) = you seem to be working on specialized instances of emacs.=C2=A0 But you don= 't even really need that.

You can make an installation script that either redumps or just dumps= , you don't have to recompile anything.=C2=A0 Just install a script tha= t calls emacs with the explicit flag for the dump file the installation scr= ipt generates.=C2=A0 Everything necessary will already be available with th= e system, dumping just loads the stuff you specify, then does a specialized= garbage collection and saves the result.=C2=A0 Pretty much any reasonable = package management system should allow you to do what's needed at insta= ll time.

I think you'= ;ll find that a much easier path to your goal than convincing Eli to add an= other feature to maintain.

Lynn




--000000000000171972063531fe16-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 16 02:11:29 2025 Received: (at 78304) by debbugs.gnu.org; 16 May 2025 06:11:29 +0000 Received: from localhost ([127.0.0.1]:32790 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFoI5-00026o-6T for submit@debbugs.gnu.org; Fri, 16 May 2025 02:11:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46152) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFoI2-00026I-PN for 78304@debbugs.gnu.org; Fri, 16 May 2025 02:11:27 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFoHw-0006Hk-DH; Fri, 16 May 2025 02:11:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=tKP2Mh+NXv4hVz4H0nQhcSK7r/WNbJFvyDbg++u7Mo0=; b=ePf+3Q2VPrQl GVPyfjF8pqt7eMCceuC8Gqx3htxT2CjlqlEbkq95jGMMFqIUD+i6H9oG5wRelS6CRffs5y04+DZH8 E0M/VmBAv7EYZRHDtSCpJbiTiXzbuJH+UnGsYObXVSyLI/PnyTdzIOMdc6MXDa/MoSQPlrvSYpJ0D rw2QpyS29jPGvxDnZCgGibpZbdljuj5DykM8VCT7sOncmvzthwXDi6tjPwds8+GMUT85aD8EJ3CgK gMoCyR1/FeqenOd4X9EUrMTH873N/fw1O20btR3EyZCAf8KXy8uzsBG4WIauO4JEARe75LI1OmE6L 1yMEStQkvo6nhHg/THWomw==; Date: Fri, 16 May 2025 09:10:50 +0300 Message-Id: <865xi1ytjp.fsf@gnu.org> From: Eli Zaretskii To: Spencer Baugh In-Reply-To: (message from Spencer Baugh on Thu, 15 May 2025 13:05:14 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Spencer Baugh > Cc: 78304@debbugs.gnu.org > Date: Thu, 15 May 2025 13:05:14 -0400 > > Eli Zaretskii writes: > > >> > Since early-init.el is not supposed to load anything, only set up some > >> > variables, I don't understand why you insist on doing this in > >> > early-init. The site-start file is loaded right after early-init.el, > >> > so if you set that up at the very beginning of site-start file, it > >> > will have the same effect. > >> > >> That is not the case: Many things happen, including loading of files, > >> between site-start and early-init. Package initialization and initial > >> frame setup, for example. > > > > And why is that important in your cases, again? You never said > > anything about packages and frame initialization. > > Because load-path-filter-function affects loading of files, so it > affects anything that causes loading of files, which includes packages > and frame initialization. > > Those things happen before site-start. > > Therefore, for load-path-filter-function to affect those things (which > is desirable, it's a performance optimization that will speed them up) > it needs to be set before those things. This problem disappears if you don't use -q, so it sounds like your desire to use -q is the culprit. I don't see why do you need -q, and you still haven't explained the reasons for that. > >> >> - Context: I'm developing some scripts to run Emacs in a simple > >> >> reduced-functionality mode, which provide access to just one buffer > >> >> running in a specific major mode, with the goal of making Emacs > >> >> features accessible to users who don't currently use Emacs. For > >> >> example, vc-dir is generally useful, so a script to open Emacs running > >> >> vc-dir on its own. (These scripts are similar to things like > >> >> https://github.com/maio/smagit and > >> >> https://github.com/alphapapa/magit.sh ) > >> >> > >> >> These scripts run with -q, but I need to be able to configure things > >> >> about the initial frame, which can only be done with early-init.el. > >> > > >> > Same question here: why cannot this be done in site-start file? IMO, > >> > it is even cleaner, because it doesn't require each user to do the > >> > same in their early-init files; instead, you will do that only once > >> > for all of them. > >> > >> Because initial frame setup happens before site-start is loaded. > > > > So now please explain why that is an issue in -q invocations. > > When invoking Emacs with -q: > > - Initial frame setup happens before site-start is loaded. > - Therefore, initial frame setup cannot be customized in site-start. > - Therefore, I cannot do the things I want to do with site-start. What frame-setup customizations are we talking about? > (This all also holds without -q) Without -q, early-init.el _is_ loaded, so whatever you need to do can be done there. So, once again, please explain why you insist on using -q. From debbugs-submit-bounces@debbugs.gnu.org Fri May 16 03:11:40 2025 Received: (at 78304) by debbugs.gnu.org; 16 May 2025 07:11:40 +0000 Received: from localhost ([127.0.0.1]:33345 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFpEJ-0008PW-OH for submit@debbugs.gnu.org; Fri, 16 May 2025 03:11:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37394) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFpEG-0008Ol-C7 for 78304@debbugs.gnu.org; Fri, 16 May 2025 03:11:37 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFpEA-0004xX-Dm; Fri, 16 May 2025 03:11:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=4KpZ9OsWWJyHh7BZ1Lbalr1G4gTbRch/u68dbluZ46o=; b=EpPfdj9QMyToRACKySes +nHp9ITZRtLTo8fYnYkkJ6/x+q81TX05+yM3ag9rBHIpBoRBkjFQ7XW5PcDmNtE8l4Ct506+vY6j2 T7Pc89Cfgotm1FOKy5u/vOjaYe4ntNu1qnoZsgp79zbwhce1xWQ2GbMMSRY87brI6xvnkmGVPWNJz V9rPnPjxTm+0JIdzfzkLm6gRrhdRoPH/RxZUEJXRdIoHaXPfhG1cRYjnNLgNHJWUfciVmnF+xAGXD WVyinjYjfOIoywFJ1qxCzAg7JYgeK6EBHsjjflFeNtutJtIE10soiI6GoVdrSYw7Xr3zIFra7dUfn qdrq8HLix4lysA==; Date: Fri, 16 May 2025 10:10:59 +0300 Message-Id: <861pspyqrg.fsf@gnu.org> From: Eli Zaretskii To: Lynn Winebarger In-Reply-To: (message from Lynn Winebarger on Thu, 15 May 2025 15:51:22 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: sbaugh@janestreet.com, 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Lynn Winebarger > Date: Thu, 15 May 2025 15:51:22 -0400 > Cc: Eli Zaretskii , 78304@debbugs.gnu.org > > On Thu, May 15, 2025, 3:08 PM Spencer Baugh wrote: > > Lynn Winebarger writes: > > That's true enough, but this is not about my site - the only reason site > files came up is because Eli mentioned them. Both of the use cases I > mentioned (setting load-path-filter-function, using a script to run a > reduced-functionality Emacs) should work for users anywhere without > requring them to compile their own Emacs. > > The only thing I can suggest is working to ensure redumping is functional, since (rereading the email chain) > you seem to be working on specialized instances of emacs. But you don't even really need that. > > You can make an installation script that either redumps or just dumps, you don't have to recompile anything. > Just install a script that calls emacs with the explicit flag for the dump file the installation script generates. > Everything necessary will already be available with the system, dumping just loads the stuff you specify, then > does a specialized garbage collection and saves the result. Pretty much any reasonable package > management system should allow you to do what's needed at install time. > > I think you'll find that a much easier path to your goal than convincing Eli to add another feature to maintain. Actually, I think everything Spencer wants to do is achievable via site-start file, and it's the unnecessary urge to use -q that creates the problem he tries to solve. I don't think anything like customized dumping is needed to solve this problem. From debbugs-submit-bounces@debbugs.gnu.org Fri May 16 06:22:51 2025 Received: (at 78304) by debbugs.gnu.org; 16 May 2025 10:22:51 +0000 Received: from localhost ([127.0.0.1]:35219 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFsDK-0004JN-Lf for submit@debbugs.gnu.org; Fri, 16 May 2025 06:22:51 -0400 Received: from mail-vk1-xa29.google.com ([2607:f8b0:4864:20::a29]:50553) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uFsDH-0004J3-Ms for 78304@debbugs.gnu.org; Fri, 16 May 2025 06:22:48 -0400 Received: by mail-vk1-xa29.google.com with SMTP id 71dfb90a1353d-5240b014f47so624324e0c.1 for <78304@debbugs.gnu.org>; Fri, 16 May 2025 03:22:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747390962; x=1747995762; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=0z2hjDWjj9nJ4mm3MLdLAe5PBcb3IzxiaB+HXCqQAoE=; b=Zt8sU36bbPxIFTcPq0RQHasP5icN3XG7rtBILV/yEG6sA8LBOhtBM1G3MUvrLMlzBO VNmGlVeUQcVngFCWWUtLDTkTjZGO3aHrLbx/UnRJavvK8fONdlCBxNUrS/P7cZsvJrEW vsZPeeX7wLp4qH6Iy1pA2TgGojPaHwFXjR6rRX6HW08Qt+rw/sVf1ovMiAEtarrBRbqa 6v355i5xKMFYAg1BX2aQzWJ7X2+ul2ccRu8ThqHHh7IoZWhfENSqmStbbkMMetY3ag5V Sw0MgrSATtgTxumLSZwtgsLRCVXJ7qb0Qbml5+2GYYTqfVDndRGzl3WbCd5ZasylIFsj 7NEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747390962; x=1747995762; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0z2hjDWjj9nJ4mm3MLdLAe5PBcb3IzxiaB+HXCqQAoE=; b=G4PZs/RCfd87LCycOpF83yu+M4TBvIcofSYzRhLKNaPF5F/0mIn3PJgsZyKJkUN5yx GctCqqPgiYVN9MC9Bmah0f+rDGivHZCGITPZzIl+9VngLw6UQRGZK3SPXnZ4tl34anWi EVfybDRnokXDYW4oeN0e5vfqHuwgisY4aF2wlOhrsH5ZHKSNzUScXS7/RppIkQHINOOq ojLZrUJtt0/Oge3UmxpIbKXhX6FWLDcjIsXRedbqi0bJNSAkGbudS2+2HwW1ORSUQ5k5 mArg2zmk4vA3pycakjebCeAlZjcarW9E7OFn8VebKVN8Vgj7oyS8l4Ez5kG9S3VBik+V EaiA== X-Forwarded-Encrypted: i=1; AJvYcCXckptAbSqlrAcV5jC6hhBCO481PhOI9NtujdroCnPvK5qOQyCdn9Atphrqso+WzBfhLBadWw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwTogPzLuFWnQrRX9BZgBnafdff6MWIUkXARxSO/uiLQDHBTev6 cNnQQxreLrFcxFIqtCblCSegRyMV7i88/N/PKE3gzQJVbqMa/HDIhhDgdBHPHiV5z+sMqBfG0GZ XJdzTtmk+dp1xOm4n/qLxGUwueoli3rk= X-Gm-Gg: ASbGncvRketGInxGl/lMwYN3SWsDzgK1a3CNV3vmgH5hVMx3GmGqGMTIz/zQ5suJFcB 3NPzyZFf+7GkoAcfdOXAIDuE6QMK8+95/oWWOAu1pz9yLGHHS6cAblqBSdEVjhgBqMWDcoeyHDs YYKro5MwqYQDIiYN9wx0RlJl0miVkeAoUY7r4= X-Google-Smtp-Source: AGHT+IGnC/vgRrGRp4FoQsYmch5o7KL79ZsDJanJW9yN7l7VbvFUgMidhCV5YsCU+OMMd4znDfWxpg1CfwZj8DSOd84= X-Received: by 2002:a05:6122:90d:b0:523:e9d2:404d with SMTP id 71dfb90a1353d-52dbce65385mr1845286e0c.11.1747390962035; Fri, 16 May 2025 03:22:42 -0700 (PDT) MIME-Version: 1.0 References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> <861pspyqrg.fsf@gnu.org> In-Reply-To: <861pspyqrg.fsf@gnu.org> From: Ship Mints Date: Fri, 16 May 2025 06:22:29 -0400 X-Gm-Features: AX0GCFuVAkSifd0qZNW7RJaKd_miW6FdHT03odamYbI-EEci91ZyKWONxTJH7GA Message-ID: Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line To: Eli Zaretskii Content-Type: multipart/alternative; boundary="00000000000093735b06353e29a2" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78304 Cc: sbaugh@janestreet.com, Lynn Winebarger , 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000093735b06353e29a2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, May 16, 2025 at 3:12=E2=80=AFAM Eli Zaretskii wrote: > > From: Lynn Winebarger > > Date: Thu, 15 May 2025 15:51:22 -0400 > > Cc: Eli Zaretskii , 78304@debbugs.gnu.org > > > > On Thu, May 15, 2025, 3:08=E2=80=AFPM Spencer Baugh > wrote: > > > > Lynn Winebarger writes: > > > > That's true enough, but this is not about my site - the only reason si= te > > files came up is because Eli mentioned them. Both of the use cases I > > mentioned (setting load-path-filter-function, using a script to run a > > reduced-functionality Emacs) should work for users anywhere without > > requring them to compile their own Emacs. > > > > The only thing I can suggest is working to ensure redumping is > functional, since (rereading the email chain) > > you seem to be working on specialized instances of emacs. But you don'= t > even really need that. > > > > You can make an installation script that either redumps or just dumps, > you don't have to recompile anything. > > Just install a script that calls emacs with the explicit flag for the > dump file the installation script generates. > > Everything necessary will already be available with the system, dumping > just loads the stuff you specify, then > > does a specialized garbage collection and saves the result. Pretty muc= h > any reasonable package > > management system should allow you to do what's needed at install time. > > > > I think you'll find that a much easier path to your goal than convincin= g > Eli to add another feature to maintain. > > Actually, I think everything Spencer wants to do is achievable via > site-start file, and it's the unnecessary urge to use -q that creates > the problem he tries to solve. I don't think anything like customized > dumping is needed to solve this problem. > Perhaps I need more coffee...I just tried (on master): echo '(defvar BOO "BOO")' > site-start.el emacs -L $PWD -q and ./site-start.el was not loaded. I read through startup.el and it looks like this should work. I'd use this technique to use a script-specific site-start.el file (independent of any system-wide site-start) for a few Emacs scripts for which I'd want to do something similar to what Spencer is attempting. --00000000000093735b06353e29a2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Fri, May 16, 2025 at 3:12=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Lynn Winebarger <owinebar@gmail.com>
> Date: Thu, 15 May 2025 15:51:22 -0400
> Cc: Eli Zaretskii <eliz@gnu.org>, 78304@debbugs.gnu.org
>
> On Thu, May 15, 2025, 3:08=E2=80=AFPM Spencer Baugh <sbaugh@janestreet.com> = wrote:
>
>=C2=A0 Lynn Winebarger <owinebar@gmail.com> writes:
>
>=C2=A0 That's true enough, but this is not about my site - the only= reason site
>=C2=A0 files came up is because Eli mentioned them.=C2=A0 Both of the u= se cases I
>=C2=A0 mentioned (setting load-path-filter-function, using a script to = run a
>=C2=A0 reduced-functionality Emacs) should work for users anywhere with= out
>=C2=A0 requring them to compile their own Emacs.
>
> The only thing I can suggest is working to ensure redumping is functio= nal, since (rereading the email chain)
> you seem to be working on specialized instances of emacs.=C2=A0 But yo= u don't even really need that.
>
> You can make an installation script that either redumps or just dumps,= you don't have to recompile anything.
>=C2=A0 Just install a script that calls emacs with the explicit flag fo= r the dump file the installation script generates.
> Everything necessary will already be available with the system, dumpin= g just loads the stuff you specify, then
> does a specialized garbage collection and saves the result.=C2=A0 Pret= ty much any reasonable package
> management system should allow you to do what's needed at install = time.
>
> I think you'll find that a much easier path to your goal than conv= incing Eli to add another feature to maintain.

Actually, I think everything Spencer wants to do is achievable via
site-start file, and it's the unnecessary urge to use -q that creates the problem he tries to solve.=C2=A0 I don't think anything like custom= ized
dumping is needed to solve this problem.

Perhaps I need mo= re coffee...I just tried (on master):

=C2=A0 echo '(defvar BOO "BOO")= 9; > site-start.el
=C2=A0 emacs -L $PWD -q

and ./site-start.el was not loaded.

I read through startup.el an= d it looks like this should work.=C2=A0 I'd use this technique to use a= script-specific site-start.el file (independent of any system-wide site-st= art) for a few Emacs scripts for which I'd want to do something similar= to what Spencer is attempting.
--00000000000093735b06353e29a2-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 16 08:05:41 2025 Received: (at 78304) by debbugs.gnu.org; 16 May 2025 12:05:41 +0000 Received: from localhost ([127.0.0.1]:36327 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFtoq-000698-Hd for submit@debbugs.gnu.org; Fri, 16 May 2025 08:05:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41072) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFton-00068c-BI for 78304@debbugs.gnu.org; Fri, 16 May 2025 08:05:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFtoh-0004Fi-BR; Fri, 16 May 2025 08:05:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=xmegEVCVLiBAhbS9/y76a0S/uWE6mGnYnH79ilzxINw=; b=LPqkjBxWS+EUVnJi1H+G HxD9WZtMSYQZ+t+6n4mJ0eMnE+iYccQU93tWz2IBuvqZQ/ASUqTorBWLSKvjbXCsCQnHz27Mhcxa9 EvoJDJ3WK7nsOqiH21w9Y9FV+DHwNEj5WtI0b0UloOxqUXNcB8trCgP/vG0VwvmN4buLchdP9BP/f OTAnFsufW9kmbZqe34c3b5hBgs4wcE5SbX/Dc5LRDzQpqaSSwHwI+/jCatkdeBuAvFMyiEPRBtBy5 lCLVmBUmmwUkkkxj5D0gSPLSm9+j5WzgYtmICSekSJu78szp8xL65fpA4z3ziDyPcj/T/cin+PCLj MDiK646140aa0Q==; Date: Fri, 16 May 2025 15:05:28 +0300 Message-Id: <86tt5kyd4n.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Fri, 16 May 2025 06:22:29 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> <861pspyqrg.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: sbaugh@janestreet.com, owinebar@gmail.com, 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Fri, 16 May 2025 06:22:29 -0400 > Cc: Lynn Winebarger , sbaugh@janestreet.com, 78304@debbugs.gnu.org > > On Fri, May 16, 2025 at 3:12 AM Eli Zaretskii wrote: > > Actually, I think everything Spencer wants to do is achievable via > site-start file, and it's the unnecessary urge to use -q that creates > the problem he tries to solve. I don't think anything like customized > dumping is needed to solve this problem. > > Perhaps I need more coffee...I just tried (on master): > > echo '(defvar BOO "BOO")' > site-start.el > emacs -L $PWD -q > > and ./site-start.el was not loaded. It isn't supposed to work. site-start file is looked along load-path, and the -L switch modifies load-path _after_ Emacs attempts to load the site-start file. IOW, the -L switch is intended to affect the Emacs session after startup. I said at the beginning of this discussion that the startup process is delicate and fragile due to its bootstrap-like nature. So messing with it will frequently surprise too-naïve expectations. I wish people believed me when I say that. From debbugs-submit-bounces@debbugs.gnu.org Fri May 16 08:24:40 2025 Received: (at 78304) by debbugs.gnu.org; 16 May 2025 12:24:40 +0000 Received: from localhost ([127.0.0.1]:36537 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFu7C-0008EC-HV for submit@debbugs.gnu.org; Fri, 16 May 2025 08:24:40 -0400 Received: from mail-vk1-xa33.google.com ([2607:f8b0:4864:20::a33]:43295) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uFu79-0008DA-FJ for 78304@debbugs.gnu.org; Fri, 16 May 2025 08:24:36 -0400 Received: by mail-vk1-xa33.google.com with SMTP id 71dfb90a1353d-5290be1aedcso2108645e0c.1 for <78304@debbugs.gnu.org>; Fri, 16 May 2025 05:24:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747398270; x=1748003070; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=5Mb1RzFGHde3ju5AExaWkYRMtOY0VVz+5oyvBwgZ7uc=; b=Tn/TNSznPpakZgNv/Up4lgXynMofD9Ac3WxD4R99YDPgTCyUCxk7ZYHjHY5eN+IXzK /dYFdgSTv0fNtxi7fv5J9oBYrb9ePrLCgMQ63JHJI5tZxIYxsEhh3trjGMWSZ2tEIqIz Yn5Qpp0wRu2my2Xi8NFxY23Djnh9FqjRFce04GurG80OZXtxgaqdixBTQGzR1H+TUZ4L ZxI9G1VcjYwbi+M4Mf/d/nDCxOWyRilnhPJlWkNS1jL7yVane0FQx6sapSSWl4Nfc35A Tsc9IZ2r4xT7pE6Ax54cdZE1sWNdr+xH8b9vrR3Lb38ThNTguD+Y2tIjRFmE7euvVKB3 x8VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747398270; x=1748003070; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5Mb1RzFGHde3ju5AExaWkYRMtOY0VVz+5oyvBwgZ7uc=; b=OJeyX/xs/X02CiuOU/84VRnSUYkU5W3RWwwrQFmNHct4NPTFyzyFbpLqYmONhZ+fST OzbZRvlt3BBE7xqyH69rf4O5Dk2W9vy3z/YuEnGVztbb3QqmMkMOyxbjjSB2GODiJ3lv L4DWG9JZ8h96Kz72FCvdJdvszRoIBDSpgcRZj/dP6oCjq2khSczl0dkdUREUHP5JYpnR J6CPvCTrFS/O5Y9tGJX3nKnfFZVl9UNN5RjC301K9IB8ZopKi9kRlPujyyrn8OxVX0jo 3YFS3GUKSdUMRgsWRcu4+pCFVN6kJg7Zd4A2Mhv6QnvL1XUn5VdbITLmq8Oj3kWR4Wqt SKYQ== X-Forwarded-Encrypted: i=1; AJvYcCXoi4VqpoXXDd5hB4LL+Gs5YP7D3apEAbKOgUx25PFE24KGSemqcZD1mXoRHvrsFoJbzUvXEg==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yy36b/K8RZ+LWjn+7Ur3j04zEUUbKU4WIvbLMB0TW9SZd7o8ber uGwK6+RUOh9BbJyyFAINFXRrCDI4OYQ2jlSDU5BvHTOqfl5AVO9+MswkJvpXlF+OfyOvPXIHw+m mGZjt8ACZ2Z2Sh/64gDejUXr+EfwIzxGnow== X-Gm-Gg: ASbGnct9sZauzzo6dye70gf4Rs2bG4jYCea7ea5+77tFwjLCc5Xb7ydkTZpeLl1Zb/T 3u9ZkAr3FtExL28e4BzKK+lB0I5nKgXgrYIFdtyTkJVF7/X/nTbXxJL963P0XBEa8r6D2UOh5uc rK4g/1IEzD474ROGkxMfr1TVMbEU6Q1iO5pEo= X-Google-Smtp-Source: AGHT+IEYiwHwunA9MMKNuqzXgh8fwZ/+JaaTwhjnvNObOpP6TE4/Cx2wSnUQlGifE7Hc15Og29hZS/s60iDCBx1dCbY= X-Received: by 2002:a05:6102:ccb:b0:4df:9281:5ec3 with SMTP id ada2fe7eead31-4dfc1147f95mr3236985137.2.1747398258865; Fri, 16 May 2025 05:24:18 -0700 (PDT) MIME-Version: 1.0 References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> <861pspyqrg.fsf@gnu.org> <86tt5kyd4n.fsf@gnu.org> In-Reply-To: <86tt5kyd4n.fsf@gnu.org> From: Ship Mints Date: Fri, 16 May 2025 08:24:07 -0400 X-Gm-Features: AX0GCFs8KyKVkx_HPOThpXxIDDuSkFXQG_Zw9l89Qr1CpDJnlqTLIkzSdJjd1Bc Message-ID: Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000803e1106353fdc7b" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78304 Cc: sbaugh@janestreet.com, owinebar@gmail.com, 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000803e1106353fdc7b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, May 16, 2025 at 8:05=E2=80=AFAM Eli Zaretskii wrote: > > From: Ship Mints > > Date: Fri, 16 May 2025 06:22:29 -0400 > > Cc: Lynn Winebarger , sbaugh@janestreet.com, > 78304@debbugs.gnu.org > > > > On Fri, May 16, 2025 at 3:12=E2=80=AFAM Eli Zaretskii wr= ote: > > > > Actually, I think everything Spencer wants to do is achievable via > > site-start file, and it's the unnecessary urge to use -q that creates > > the problem he tries to solve. I don't think anything like customized > > dumping is needed to solve this problem. > > > > Perhaps I need more coffee...I just tried (on master): > > > > echo '(defvar BOO "BOO")' > site-start.el > > emacs -L $PWD -q > > > > and ./site-start.el was not loaded. > > It isn't supposed to work. site-start file is looked along load-path, > and the -L switch modifies load-path _after_ Emacs attempts to load > the site-start file. IOW, the -L switch is intended to affect the > Emacs session after startup. > > I said at the beginning of this discussion that the startup process is > delicate and fragile due to its bootstrap-like nature. So messing > with it will frequently surprise too-na=C3=AFve expectations. I wish > people believed me when I say that. > I appreciate the delicacy of bootstrapping. The documentation for -L doesn't say that it doesn't affect site-start.el. If one specifies EMACSLOADPATH before starting Emacs, that does work to find site-start.el, ignoring whatever system-wide site-start.el exists (which is what I'd want). I expected the behavior of -L and EMACSLOADPATH to be in sync. --000000000000803e1106353fdc7b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Fri, May 16, 2025 at 8:05=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Ship Mints <shipmints@gmail.com>
> Date: Fri, 16 May 2025 06:22:29 -0400
> Cc: Lynn Winebarger <owinebar@gmail.com>, sbaugh@janestreet.com, 78304@debbugs.gnu.org
>
> On Fri, May 16, 2025 at 3:12=E2=80=AFAM Eli Zaretskii <eliz@gnu.org> wrote:
>
>=C2=A0 Actually, I think everything Spencer wants to do is achievable v= ia
>=C2=A0 site-start file, and it's the unnecessary urge to use -q tha= t creates
>=C2=A0 the problem he tries to solve.=C2=A0 I don't think anything = like customized
>=C2=A0 dumping is needed to solve this problem.
>
> Perhaps I need more coffee...I just tried (on master):
>
>=C2=A0 =C2=A0echo '(defvar BOO "BOO")' > site-star= t.el
>=C2=A0 =C2=A0emacs -L $PWD -q
>
> and ./site-start.el was not loaded.

It isn't supposed to work.=C2=A0 site-start file is looked along load-p= ath,
and the -L switch modifies load-path _after_ Emacs attempts to load
the site-start file.=C2=A0 IOW, the -L switch is intended to affect the
Emacs session after startup.

I said at the beginning of this discussion that the startup process is
delicate and fragile due to its bootstrap-like nature.=C2=A0 So messing
with it will frequently surprise too-na=C3=AFve expectations.=C2=A0 I wish<= br> people believed me when I say that.

I appreciate the delic= acy of bootstrapping.=C2=A0 The documentation for -L doesn't say that i= t doesn't affect site-start.el.=C2=A0 If one specifies EMACSLOADPATH=C2= =A0before starting Emacs, that does work to=C2=A0find site-start.el, ignori= ng whatever system-wide site-start.el exists (which is what I'd want).= =C2=A0 I expected the=C2=A0behavior of -L and EMACSLOADPATH to be in sync.<= /div>
--000000000000803e1106353fdc7b-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 16 08:42:24 2025 Received: (at 78304) by debbugs.gnu.org; 16 May 2025 12:42:24 +0000 Received: from localhost ([127.0.0.1]:36772 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFuON-0001ip-JG for submit@debbugs.gnu.org; Fri, 16 May 2025 08:42:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59626) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFuOK-0001iV-Ko for 78304@debbugs.gnu.org; Fri, 16 May 2025 08:42:21 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFuOE-0007rz-TN; Fri, 16 May 2025 08:42:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=e3oMChKrTBAvwc3k5S7moBjYsbndXSfl+HT/3+lC/ak=; b=ojGL0zNlAhwq1QrZADKI Fx1nS7RgySODUU/bTAWJzfovuLcHIfc+Eul1MJEnlKDveBw2hp5aAqIONr2NquJaJWniMyrbCdGCK nG6eyIt69MAnXB0mu3JexXhK1NchFwLD6pm5+dSg6qTPmZoDzgcaEf1GWw46sVqgOic4Opkj5/BIM 2o5LwQ0BMWJ+LKOCq54qv+YJ0p7UFtSZjrSHryMqZQt8KKsIlIoVMQvMg3bGkB3dOIXj61njKWjDZ 0hMIuORbgE7HpFhgrpBmWV5FY0mJljbS7Pdl50+RfG+qJtMk3jRIB3eWyGXrhXLQj+C/qSHhCgpsJ Wl6y/b+/bOMl7Q==; Date: Fri, 16 May 2025 15:42:11 +0300 Message-Id: <86sel4ybfg.fsf@gnu.org> From: Eli Zaretskii To: Ship Mints In-Reply-To: (message from Ship Mints on Fri, 16 May 2025 08:24:07 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> <861pspyqrg.fsf@gnu.org> <86tt5kyd4n.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: sbaugh@janestreet.com, owinebar@gmail.com, 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Ship Mints > Date: Fri, 16 May 2025 08:24:07 -0400 > Cc: owinebar@gmail.com, sbaugh@janestreet.com, 78304@debbugs.gnu.org > > The documentation for -L doesn't say that it doesn't affect > site-start.el. It does now. > If one specifies EMACSLOADPATH before starting Emacs, that does work to find site-start.el, > ignoring whatever system-wide site-start.el exists (which is what I'd want). I expected the behavior of -L and > EMACSLOADPATH to be in sync. You cannot expect that, in general. The command-line arguments are processed in certain unspecified order, some of them in C, others in Lisp. Those that are processed in Lisp are handled at some stage of the startup, and it should be clear that before a command-line option is processed, it cannot take its effect. So it should be clear that _some_ part of the startup process runs without the effect of the option. Which part exactly is unspecified, so it is best to consider the startup process as a single monolith, and assume the options are in effect only after the startup is done. Also, EMACSLOADPATH is _not_ the equivalent of -L. The Emacs user manual says: ‘EMACSLOADPATH’ A colon-separated list of directories(1) to search for Emacs Lisp files. If set, it modifies the usual initial value of the ‘load-path’ variable (*note Lisp Libraries::). Note the "initial" part. IOW, EMACSLOADPATH is intended to completely replace the built-in value of load-path, not to augment it. In any case, I don't think that this subtle issue is related to the bug being discussed here. It's a tangent. From debbugs-submit-bounces@debbugs.gnu.org Fri May 16 11:15:14 2025 Received: (at 78304) by debbugs.gnu.org; 16 May 2025 15:15:15 +0000 Received: from localhost ([127.0.0.1]:39941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFwmI-0001s0-5v for submit@debbugs.gnu.org; Fri, 16 May 2025 11:15:14 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:38862) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uFwmB-0001o4-GI for 78304@debbugs.gnu.org; Fri, 16 May 2025 11:15:10 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a208a76272so94792f8f.3 for <78304@debbugs.gnu.org>; Fri, 16 May 2025 08:15:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747408501; x=1748013301; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=KwOLiaOVLUtpB1j0GY9XDWzfPhn4j3tNEcuhK6y7uow=; b=NNLH60ts1nHEnCEvcCoYh058A0QO/+dDjlUdjGwka0jHbvDG7bO94hoOYxy1TvkRRu W0pDP7fnKlRzv32r5XV4tipEPlBETZF8Nj1c7BM246b3qCzWXgVk1SyveGAPpYTPQsIR lBkAM5nRuu45bSSzmj/kcm5fn9s7BbjgW2+dU9HfOCRrM1FPHf1lF7yZwSNKgeXtPJiV yl8KGcXYnNDSkhzs9/94QHxf2adUbUYxu/paBBYDaCbF6Fln7f2HZNU04p8RMTgW8uWe Lx0rmsyyoOO4cLd55Zs4FRk1RKmooobs+wkOAJJQCxXmdze+Yu3LVieVyzIxh+8aQvKS 1GLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747408501; x=1748013301; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KwOLiaOVLUtpB1j0GY9XDWzfPhn4j3tNEcuhK6y7uow=; b=KBgZJjSt67deCcHIcaIuj5nrxxkDYHaABROTWYyU4fWYZEC8lz/J6XofVs8CTliKdz JoGtsKZsGCxp5NWP2mcMp/KTSUFP6GsphiQ2qWOg1bcTP4Ku6Diq+QQVjM7MBN37cBsL 0+Gv6xewr5GA/AgxrMk/6BoYnU9Mn7ha42SXKme6JM9d+Av5dVdDlo8/XoorpBq9lMYL VoRJMOZKT/ALgmLssBShCEx17i2fRa0rfFwkq/7ywu3jq5hnMaUGPhDT9jFfr5Vu59BS fPaB9apsGwuOzln/8/TmgLJhm/+T88sonROHn0duVNhmW8/XQQR+PuyStU6Zb3CfIFdn fZYA== X-Forwarded-Encrypted: i=1; AJvYcCUVdnW7Dtnfs7P9vC4EUMQUQ2iOJi8zaI+aRRztJRffMzII/fkGQemibY7oMcUXUZ+C/7VRmw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxcbKzzZ4SIWyDmIRlXb0hWLPjVb0hfmaeLiD3jCNO73dzgCMBD M7BtI/WjzyDzKlCy7fTKWs9EbgoNgWx0ARiCRTcoNz6zloL1NFjcX0Wk5xy29GkqvNnGJjxCOqb Eo9rc+VqUXXuFS8n60/9N2JV5NKxOJtg= X-Gm-Gg: ASbGnctLR1KI7geldT1FxEf14YINBF+E04kz1JLKdTCDNFmp302An59ilRBr4tnpk6F +sc6JWhUjUpWhMUjiTsfm9nFbggQWhPaPcPfbsNTdWHNAva+CNtoXPwlaXif/2HUCNUkJ6BhLeK M1N+LS+c7nFQSamPlxkhDh3fVive+oSgTFOOeYlZTSmh903A== X-Google-Smtp-Source: AGHT+IGrsu9PI61Neq7cwpB0ROaVG7fzfWN3qQGWL/Y4FlyfCrCEv0HRm4sG3E+3qRCdNFzUwsLPUkoxsK7NO9vqvjY= X-Received: by 2002:a05:6000:2aa:b0:3a0:9518:9c82 with SMTP id ffacd0b85a97d-3a35c7e114fmr1571674f8f.0.1747408500747; Fri, 16 May 2025 08:15:00 -0700 (PDT) MIME-Version: 1.0 References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> <861pspyqrg.fsf@gnu.org> In-Reply-To: <861pspyqrg.fsf@gnu.org> From: Lynn Winebarger Date: Fri, 16 May 2025 11:14:49 -0400 X-Gm-Features: AX0GCFuZaOkpfBPkwvNaD0fHfFyGbqHXd_9dfDlRpT8ds_C0sZiyFU4yBoAupiQ Message-ID: Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78304 Cc: sbaugh@janestreet.com, 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Fri, May 16, 2025 at 3:11=E2=80=AFAM Eli Zaretskii wrote: > > Actually, I think everything Spencer wants to do is achievable via > site-start file, and it's the unnecessary urge to use -q that creates > the problem he tries to solve. I don't think anything like customized > dumping is needed to solve this problem. I'm just taking Spencer's problem description at face-value. One of Spencer's use cases (the primary one, I thought) is to create "a script" that will run a "reduced-functionality" mode, particularly: >>> [...] which provide access to just one buffer >>> running in a specific major mode, with the goal of making Emacs >>> features accessible to users who don't currently use Emacs. The standard emacs startup is designed to ensure users can override site defaults without too much effort. From (elisp)Building Emacs: >> It is not advisable to put anything in =E2=80=98site-load.el=E2=80=99= or >> =E2=80=98site-init.el=E2=80=99 that would alter any of the features that= users expect in >> an ordinary unmodified Emacs. If you feel you must override normal >> features for your site, do it with =E2=80=98default.el=E2=80=99, so that= users can >> override your changes if they wish. [...] What Spencer is describing is a use-case where users get a custom presentation of emacs that would indeed "alter any of the features that users expect in an ordinary unmodified Emacs". That's why he wants to use "-q", because the customizations of an ordinary emacs session are not suited to the purpose of the particular presentation. The most (probably only) foolproof way of doing that is writing a custom startup and maybe even the top-level, depending on just how reduced the functionality is supposed to be. That approach also has the advantage of working with many versions of Emacs packages in versions of Linux distros that haven't hit EOL (i.e. >=3D 25 or so, whenever the portable dumper became standard) . As you mentioned in another response to this bug, the standard startup process has changed over those releases, but most of it (except the really low-level bits) are done in lisp, so those parts can be simplified or changed arbitrarily to suit the use. Of course, the wrapper script will have to intercept any arguments that would be processed by the C runtime startup, such as "-h","-temacs", etc Lynn From debbugs-submit-bounces@debbugs.gnu.org Fri May 16 13:57:29 2025 Received: (at 78304) by debbugs.gnu.org; 16 May 2025 17:57:29 +0000 Received: from localhost ([127.0.0.1]:40737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uFzJI-0002yo-K6 for submit@debbugs.gnu.org; Fri, 16 May 2025 13:57:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:32894) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uFzJF-0002xi-M1 for 78304@debbugs.gnu.org; Fri, 16 May 2025 13:57:26 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uFzJA-0000QB-Ad; Fri, 16 May 2025 13:57:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=5chXa5z8Y3PybEqAC4bGzItVREY+s+RMXuyZHxkkgWg=; b=sPVtP0gMHObWjVS5lBP/ tasa1HSXhOe36Lw7Dgz9nIkTHgEZ9xXTYmHVekmp8VgZ0QysGNxS5YQWAlSOglU/ed4K1YNMoQYAi vAed1yD3HgGgaeK7xTbv7ThZkhAm8kriaRCwJ0BTDsLcxIiNKqIRR81M8A949jQ8WOqKUek+UkAKV SFs7r0dx5e5ugzLwsTdRdnbiFRFZJcP1BiENoZizlOnuCqRP+s30hY4hA+GM6fwEUml5MW0cly/ad nU41QfCuPhhNhcGE7qdErjTxVQ1o8DP+MvEalIPXrwORwz2iKYUARF3mMADx3ztNIxEW6wfGwoUkw omaZlLvFIsT7vg==; Date: Fri, 16 May 2025 20:57:18 +0300 Message-Id: <86ecwoxwu9.fsf@gnu.org> From: Eli Zaretskii To: Lynn Winebarger In-Reply-To: (message from Lynn Winebarger on Fri, 16 May 2025 11:14:49 -0400) Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line References: <864ixvfz8c.fsf@gnu.org> <86zffnc4gj.fsf@gnu.org> <86wmajzazg.fsf@gnu.org> <86msbfyx8k.fsf@gnu.org> <86ldqzyu27.fsf@gnu.org> <86jz6iz9uk.fsf@gnu.org> <86bjrtzyaw.fsf@gnu.org> <867c2hzvea.fsf@gnu.org> <861pspyqrg.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78304 Cc: sbaugh@janestreet.com, 78304@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Lynn Winebarger > Date: Fri, 16 May 2025 11:14:49 -0400 > Cc: sbaugh@janestreet.com, 78304@debbugs.gnu.org > > On Fri, May 16, 2025 at 3:11 AM Eli Zaretskii wrote: > >> It is not advisable to put anything in ‘site-load.el’ or > >> ‘site-init.el’ that would alter any of the features that users expect in > >> an ordinary unmodified Emacs. If you feel you must override normal > >> features for your site, do it with ‘default.el’, so that users can > >> override your changes if they wish. [...] > > What Spencer is describing is a use-case where users get a custom > presentation of emacs that would indeed "alter any of the features > that users expect in an ordinary unmodified Emacs". That's why he > wants to use "-q", because the customizations of an ordinary emacs > session are not suited to the purpose of the particular presentation. That is easy to accomplish by other means (assuming that it's the reason, which I'm not sure, because Spencer himself didn't say so). > The most (probably only) foolproof way of doing that is writing a > custom startup and maybe even the top-level, depending on just how > reduced the functionality is supposed to be. I'm quite sure there are easier ways of accomplishing the same goal.