From unknown Tue Sep 23 15:44:07 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#79485 <79485@debbugs.gnu.org> To: bug#79485 <79485@debbugs.gnu.org> Subject: Status: 31.0.50; Loaded files inherit read-symbol-shorthands Reply-To: bug#79485 <79485@debbugs.gnu.org> Date: Tue, 23 Sep 2025 22:44:07 +0000 retitle 79485 31.0.50; Loaded files inherit read-symbol-shorthands reassign 79485 emacs submitter 79485 "David J. Rosenbaum" severity 79485 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 21 19:58:35 2025 Received: (at submit) by debbugs.gnu.org; 21 Sep 2025 23:58:35 +0000 Received: from localhost ([127.0.0.1]:58148 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1v0Tww-0006v6-KG for submit@debbugs.gnu.org; Sun, 21 Sep 2025 19:58:35 -0400 Received: from lists.gnu.org ([2001:470:142::17]:51546) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1v0Twp-0006um-KE for submit@debbugs.gnu.org; Sun, 21 Sep 2025 19:58:31 -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 1v0Twi-00012X-PT for bug-gnu-emacs@gnu.org; Sun, 21 Sep 2025 19:58:20 -0400 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v0Twc-0004P5-Tb for bug-gnu-emacs@gnu.org; Sun, 21 Sep 2025 19:58:20 -0400 Received: by mail-pj1-x1035.google.com with SMTP id 98e67ed59e1d1-32e715cbad3so4015207a91.3 for ; Sun, 21 Sep 2025 16:58:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758499088; x=1759103888; darn=gnu.org; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=imQ3Wzbo0uxytcnT3K4NNshWQeXIFuWLOo7AboqbYwc=; b=cf8AuE3cmpuXy36wvUk8qoFZ/F0dhkpDITYIntu8Drmr+lLpiL7FIbv+nKT9lDG2YE xFcG8fll/jtxNEmzV3T0WdGqaxE/GhGHclpTRH8jbID9oPV2GW4OYiQZsCEXHLtlH0Zv uhc7q9ujSMI6t1WNdKZQuPFLiN8qLDIINiZ8ByVd9cwpsDe1fad4O1CL0bWCbE+a41JR urFyhkfb6wzVn69JkLA0ZKK4Rt26OzWaBoODJYLOSsZO4Fy7GDJ3wbkR0WPIH8WuAWZ8 TFmt0GAthFmmp+0bV+xe2siSSJT0/qRDnNfew5w6KATlalpXyPH5ZMn0My3R8hZvQBFo iBKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758499088; x=1759103888; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=imQ3Wzbo0uxytcnT3K4NNshWQeXIFuWLOo7AboqbYwc=; b=ZN4+zdGksaIxjylnatAOlg0uIpWSxzzhqdmu0VYq4niIGRyB7cpiULJz5BUuFAY/gH qh/RmBEo0/ErwHONyhPhUJ8AAFti+nhhp0MSwT4G7f3Nb9puZ6NeKAKj/liJkJdVgALF mHSQMEjuRP25p8e9oe+OAis0zZURPSks4nvJTUvjfR1k/DAFsBvOPNt63+QH8YhKIMGf lEiWATgO7kDFflp4vILWRTyvRTu3L/AsTEI/SUFBY7uE4mWCmjCTbUwP40MIGhuN6b9x QAI84GJ2tLjfu3aCp8Funb1MHPSh/WwG+sJ/UaJ3TX4aKCvIlg1sTkYJr4IQpwcfEEcI rYZA== X-Gm-Message-State: AOJu0Yx86udpxrC+B7TjgIOTHuE8SADsdDoxfIWeY+SScg9zvNkg+1rT tDAx9alfTdOavKFejjRa44I2EamRsr4dikE3NGznThvdY+SW2A92Npxj5gyprA== X-Gm-Gg: ASbGnct/MUMs4Ou6ciSynLu9VpQQJljW6RW5BjKpKH7sMR5/nKZLSFDeeeVE+6mu50H 0xbuRaciZEesgls7I379VN/x/xJozWspFtryFWmRcUcsVkxHPJ9P5CbYwasHLneJe7CaIa61wYW 8ec4K5XNk5ucT7DyYAZjcqOtDSobC8V2hcWmpfqZsYEynecV4aVUtiHHy27KHYeqN0lNvt6SIjX YUm9mWldRmicpdD7TP2nklkaDU5kh2+U22VC0YFzJNXXXsWZFMlxyziqtzrbNIYW6Fk9fTHdzd5 GNx1iASkssPBxQvN2uT+8iitE07Z1hhLcu4XqcrDU5PoQfALRFGtwlV4H3pcUrQnZhgu36eo+18 FAc9r86C8M+Bt8bNRu98qawoYmBkj1shxm8tdtg3HwpmTYf3fp68= X-Google-Smtp-Source: AGHT+IHbNRzYmWKSd+Swh0WEREJzucwZmSXMtOmFjMZKafCzAuOLfNdXztoPtdUTQg8RXpUP5EGUgw== X-Received: by 2002:a17:90b:2fce:b0:32e:a5ae:d00 with SMTP id 98e67ed59e1d1-33097feff9fmr11998127a91.13.1758499088038; Sun, 21 Sep 2025 16:58:08 -0700 (PDT) Received: from balerion (c-73-240-222-34.hsd1.or.comcast.net. [73.240.222.34]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-77ea933bfeasm7603380b3a.53.2025.09.21.16.58.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Sep 2025 16:58:07 -0700 (PDT) From: "David J. Rosenbaum" To: bug-gnu-emacs@gnu.org Subject: 31.0.50; Loaded files inherit read-symbol-shorthands X-Debbugs-Cc: Date: Sun, 21 Sep 2025 16:58:06 -0700 Message-ID: <87ikhb5pf5.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::1035; envelope-from=djr7c4@gmail.com; helo=mail-pj1-x1035.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello, I am using read-symbol-shorthands to alias db to cl-destructuring-bind. It works but causes problems when I load a file containing a symbol that starts with db. For example, one can use emacs -Q with [...] Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (djr7c4[at]gmail.com) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (djr7c4[at]gmail.com) 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 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.2 (/) Hello, I am using read-symbol-shorthands to alias db to cl-destructuring-bind. It works but causes problems when I load a file containing a symbol that starts with db. For example, one can use emacs -Q with the following file. ================================================================ (require 'tramp-gvfs) ;; Local Variables: ;; read-symbol-shorthands: (("db" . "cl-destructuring-bind")) ;; End: ================================================================ To reproduce, save the above and load it with M-x load-file. This results in the following error. ================================================================ Loading /home/david/tmp/read-symbol-example.el (source)... byte-code: Cannot open load file: No such file or directory, cl-destructuring-bindus ================================================================ The problem seems to be that tramp-gvfs requires dbus and db is being replaced with cl-destructuring-bind. IMO, loaded files should not inherit shorthands from files that require them since those shorthands are only valid for that particular file. In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.49, cairo version 1.18.4) Repository revision: 27853a2bca63b339bb2264d6c92c7c5ddcd51a75 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101018 System Description: Arch Linux Configured using: 'configure --prefix=/home/david/Code/executables/emacs-dev --with-x-toolkit=gtk3 --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib --localstatedir=/var --disable-build-details --with-cairo --with-harfbuzz --with-libsystemd --with-modules --with-native-compilation=aot --with-tree-sitter' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR GTK3 ZLIB Important settings: value of $LC_ALL: en_US.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Elisp/d Minor modes in effect: tooltip-mode: t global-eldoc-mode: t 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 font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: 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 emacsbug lisp-mnt message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils tramp-cache time-stamp tramp trampver tramp-integration files-x tramp-message help-mode tramp-compat xdg shell pcomplete comint ansi-osc ring parse-time iso8601 time-date format-spec auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv ansi-color tramp-loaddefs 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 regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar 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 lcms2 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 99174 15419) (symbols 48 9150 0) (strings 32 27260 2500) (string-bytes 1 981001) (vectors 16 15863) (vector-slots 8 203447 10697) (floats 8 30 52) (intervals 56 331 0) (buffers 1064 13)) From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 22 02:42:03 2025 Received: (at 79485) by debbugs.gnu.org; 22 Sep 2025 06:42:03 +0000 Received: from localhost ([127.0.0.1]:60482 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1v0aFO-0005Q8-Su for submit@debbugs.gnu.org; Mon, 22 Sep 2025 02:42:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60844) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1v0aFL-0005PT-NK for 79485@debbugs.gnu.org; Mon, 22 Sep 2025 02:42:00 -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 1v0aFG-0005K7-8r; Mon, 22 Sep 2025 02:41:54 -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=2lGlnRHq+6+v8nJxOSuuMNUXeM1PMeTlPYnE5ter0w4=; b=cV0+5Q+J2NLyeqYesojm kjD27FiPCYqNlWFnNWTeW31rGPcyoPktkfveZ6P0cdWCbEOS0Unl7T1DsRaVJpJbHPPbaKYeOwOzh lzKKqA80PHw1K0SjrT5RM8SYjoZ+2wy4s+llctpO50SAxEiceiiOiF5LvuVTiyxvUbEMPc9t9k3aU zzqPdEtdTLGIMvH5tjW/Io9RvoZ6LxKuEWQAJzwxwfNRpY47TTWl9I4un5scgMefGZqiwTCBfSMbh XV/j4Pu5nHy/jSiJjz2O54LtvKb0MIIsitrHxiw7W/YkmWsSoKlqpLJA0+BMODhcu+7PZXkA+VzrC rg07B7sxit+Q4Q==; Date: Mon, 22 Sep 2025 09:41:19 +0300 Message-Id: <86y0q7dm5s.fsf@gnu.org> From: Eli Zaretskii To: "David J. Rosenbaum" , =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= In-Reply-To: <87ikhb5pf5.fsf@localhost> (djr7c4@gmail.com) Subject: Re: bug#79485: 31.0.50; Loaded files inherit read-symbol-shorthands References: <87ikhb5pf5.fsf@localhost> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79485 Cc: 79485@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: "David J. Rosenbaum" > Date: Sun, 21 Sep 2025 16:58:06 -0700 > > Hello, > > I am using read-symbol-shorthands to alias db to > cl-destructuring-bind. It works but causes problems when I load a file > containing a symbol that starts with db. For example, one can use emacs -Q > with the following file. > > ================================================================ > (require 'tramp-gvfs) > > ;; Local Variables: > ;; read-symbol-shorthands: (("db" . "cl-destructuring-bind")) > ;; End: > ================================================================ > > To reproduce, save the above and load it with M-x load-file. This > results in the following error. > > ================================================================ > Loading /home/david/tmp/read-symbol-example.el (source)... > byte-code: Cannot open load file: No such file or directory, cl-destructuring-bindus > ================================================================ > > The problem seems to be that tramp-gvfs requires dbus and db is being > replaced with cl-destructuring-bind. IMO, loaded files should not inherit > shorthands from files that require them since those shorthands are only > valid for that particular file. Thanks, I hope João (CC'ed) will have some ideas or suggestions. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 22 06:52:57 2025 Received: (at 79485) by debbugs.gnu.org; 22 Sep 2025 10:52:57 +0000 Received: from localhost ([127.0.0.1]:33178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1v0eAC-0003Up-LQ for submit@debbugs.gnu.org; Mon, 22 Sep 2025 06:52:57 -0400 Received: from mail-oo1-xc32.google.com ([2607:f8b0:4864:20::c32]:44286) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1v0eA8-0003UT-GQ for 79485@debbugs.gnu.org; Mon, 22 Sep 2025 06:52:53 -0400 Received: by mail-oo1-xc32.google.com with SMTP id 006d021491bc7-620b2171204so2161810eaf.0 for <79485@debbugs.gnu.org>; Mon, 22 Sep 2025 03:52:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758538366; x=1759143166; 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=x8TbRV/XM8oYgREGOxJtqQfA3Qczuq+AmSHCO2ciats=; b=lepvjW0CHOimuELxI4JOgY4U5wWZHXUkcTQ3aDuhS6A9v3KHtHEu+Q7BXttl5pmoPZ 7NllQTMPmbOZR11L1OB6dJcOroLwoDs/+TtmrUuAIoi7ZGW21rxq86fjh1NFsFoIIvGc 1ODWAs62/+/qkGnbFhvrrdd6YbL27yRZggueAXpfTQFXK3qvwqIFMZO9m3ESsgxoS4F/ TPbtGgU2If4kuKSTrw//zO7uacoUXOEZYgL3zc1X31DnVb/cXXlBXOqmMEvsywFElaRo aDaSB+SUrd4jI7/i2rgmLjj/9TovEg7UbiSb9QgtHZwRcOyiFOjlysevY0Bx0MnOPdjG I4RQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758538366; x=1759143166; 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=x8TbRV/XM8oYgREGOxJtqQfA3Qczuq+AmSHCO2ciats=; b=TFopZ+0o/yuZIx5puB9EyHu4buGKeYh7uSfVCuq6wMk7bBNtOdLXyPoU3xplEMC6SL l/OaI6dSJlMmsZ6PDr1R5jhJ+mWxhkZ/RVnXmj+Jx7MBYLDC0+fbDO/vKB+iXvcApC0K j86rFBmUYX0FDG22muoEDQ9taQvbzcHhUlMXUN5teRrspBvV9LFi4UV6lvNKVKcsw0nH PEwITlMZKhjnKCU28d8zFdkTGRxz7Xj3CvL6cJCT2xRBWY9xEGc/pTwf8dJd7yvv5LTx sLwtGFMjWPHOYS2FKx/5OwojEKHb89t6F4M0+BRMF39IHuc7+v/3MPSZqGAV6X3BSPIH LncQ== X-Forwarded-Encrypted: i=1; AJvYcCXGUwUGkECRCR2clEI3Cz+0id+Ibk8QuOrnIhuK2fP/9HeYmbcg+JdFeTIWtfjAkst9ZUFPZw==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yxlr7TtFW893NUn8gjT6ni+h6yT1WH33IR9D/j4GcKwq2a89//X qPHDHfggnWCWsnrWB9svOF+pLAxVTGPoyjF92T1yfKo3GChiqUhkav600P28m6gqqMhTNXODID+ Kfixvw/2yzTXKxN3STDqP0RJXjJs/Brk= X-Gm-Gg: ASbGncunPYcOyiZG+9wan8awpguiMorm0BF41trwr7Sl3w4njfXITbj9bEE0BO77lMQ BuCU7YnaWXxe0LGLkXyR0eZ9f0jSHkIcMCidH1SglUDyp6bo4b+EDSgG9UrbJ4CmPmD6SLhY2tw CYmlXF0ySIYBysXeyayIuijcKUoo2rQWHwuj3lVW7f4U6bqe+yQf5p5tj5DzJHRDm4t+K6W7YXv QXJOw== X-Google-Smtp-Source: AGHT+IEahNXpfltlmZkboFdUHFMbbVNe69Ivza7dFbcrrRsfhOD6kTCYy7EwoHqqO/s/0uN9cCJ8ENbZoOVqB0gDauc= X-Received: by 2002:a05:6808:211c:b0:43f:23d1:cbb1 with SMTP id 5614622812f47-43f23d1eda5mr129165b6e.8.1758538365856; Mon, 22 Sep 2025 03:52:45 -0700 (PDT) MIME-Version: 1.0 References: <87ikhb5pf5.fsf@localhost> <86y0q7dm5s.fsf@gnu.org> In-Reply-To: <86y0q7dm5s.fsf@gnu.org> From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Date: Mon, 22 Sep 2025 11:52:33 +0100 X-Gm-Features: AS18NWCC3QmYyae6pF7P3L1PpvvUINXJ5cHQIAarOP6GgjccvyKTGBq41WqJ_ks Message-ID: Subject: Re: bug#79485: 31.0.50; Loaded files inherit read-symbol-shorthands To: Eli Zaretskii Content-Type: multipart/alternative; boundary="0000000000009eee6c063f619ee4" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79485 Cc: 79485@debbugs.gnu.org, "David J. Rosenbaum" 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 (-) --0000000000009eee6c063f619ee4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Here's the reply I meant to send to the tracker but sent to Eli only on accident: Shorthands are read at file read-time and specified exclusively as per-file variables. So I don't understand this about inheritance from load. Also they were designed to abbreviate prefixes, not full symbol names, so the db idea is probably not going to work. As far as I remember, these things were well explained in the manual... Jo=C3=A3o On Mon, Sep 22, 2025, 07:41 Eli Zaretskii wrote: > > From: "David J. Rosenbaum" > > Date: Sun, 21 Sep 2025 16:58:06 -0700 > > > > Hello, > > > > I am using read-symbol-shorthands to alias db to > > cl-destructuring-bind. It works but causes problems when I load a file > > containing a symbol that starts with db. For example, one can use emacs > -Q > > with the following file. > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > (require 'tramp-gvfs) > > > > ;; Local Variables: > > ;; read-symbol-shorthands: (("db" . "cl-destructuring-bind")) > > ;; End: > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > To reproduce, save the above and load it with M-x load-file. This > > results in the following error. > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Loading /home/david/tmp/read-symbol-example.el (source)... > > byte-code: Cannot open load file: No such file or directory, > cl-destructuring-bindus > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > The problem seems to be that tramp-gvfs requires dbus and db is being > > replaced with cl-destructuring-bind. IMO, loaded files should not inher= it > > shorthands from files that require them since those shorthands are only > > valid for that particular file. > > Thanks, I hope Jo=C3=A3o (CC'ed) will have some ideas or suggestions. > --0000000000009eee6c063f619ee4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Here's the reply I meant to send to the tracker = but sent to Eli only on accident:=C2=A0

Shorthands are read at file read-time and specified exclusi= vely as per-file variables. So I don't understand this about inheritanc= e from load. Also they were designed to abbreviate prefixes, not full symbo= l names, so the db idea is probably not going to work. As far as I remember= , these things were well explained in the manual...
=
Jo=C3=A3o

On Mon, Se= p 22, 2025, 07:41 Eli Zaretskii <eliz@gn= u.org> wrote:
> From: "David J. Rosenbaum" <djr7c4@gmail.com> > Date: Sun, 21 Sep 2025 16:58:06 -0700
>
> Hello,
>
> I am using read-symbol-shorthands to alias db to
> cl-destructuring-bind. It works but causes problems when I load a file=
> containing a symbol that starts with db. For example, one can use emac= s -Q
> with the following file.
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> (require 'tramp-gvfs)
>
> ;; Local Variables:
> ;; read-symbol-shorthands: (("db" . "cl-destructuring-b= ind"))
> ;; End:
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> To reproduce, save the above and load it with M-x load-file. This
> results in the following error.
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> Loading /home/david/tmp/read-symbol-example.el (source)...
> byte-code: Cannot open load file: No such file or directory, cl-destru= cturing-bindus
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> The problem seems to be that tramp-gvfs requires dbus and db is being<= br> > replaced with cl-destructuring-bind. IMO, loaded files should not inhe= rit
> shorthands from files that require them since those shorthands are onl= y
> valid for that particular file.

Thanks, I hope Jo=C3=A3o (CC'ed) will have some ideas or suggestions.
--0000000000009eee6c063f619ee4-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 22 07:00:16 2025 Received: (at 79485) by debbugs.gnu.org; 22 Sep 2025 11:00:16 +0000 Received: from localhost ([127.0.0.1]:33224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1v0eHH-0003v6-Qi for submit@debbugs.gnu.org; Mon, 22 Sep 2025 07:00:16 -0400 Received: from mail-ot1-x333.google.com ([2607:f8b0:4864:20::333]:46356) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1v0eHE-0003td-Ih for 79485@debbugs.gnu.org; Mon, 22 Sep 2025 07:00:13 -0400 Received: by mail-ot1-x333.google.com with SMTP id 46e09a7af769-74c7d98935eso2094036a34.1 for <79485@debbugs.gnu.org>; Mon, 22 Sep 2025 04:00:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758538806; x=1759143606; 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=kl2l87C0116IqDqQrUjJaS7rqXrTqJqLoBvjS5OZjrg=; b=YFLfAVdRsmo85KSff5IV2sXtHTXx+d6t6JwCZ9lORdl9elUR8PA41MYtp/HXG7SvLl dcU0nKCxaY6mfUZsPss1Jxyx/rcLmRJ95kPoJ55b5z5Ro4qaeA3ue0DC9FsjYtWtzuEk iBfcpUF+b/YTgicxTucasI/3d7Idd80fIq1u7WeiX1PCBvSML0mRajYb/LGE/6CpGk1H r0pj+bk8Ppillxz6rwg4zbWa6zsBO8gTj6pxni0z46NvnCkRVgacBoI4VeukFHnAyWN4 UNKABtcaGxrcjh1D/Oje7+Dv2kqo0RmbC6KN3mII5mcp4rLYhKmk7Wfulp5Ygz+nj+j1 G35w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758538806; x=1759143606; 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=kl2l87C0116IqDqQrUjJaS7rqXrTqJqLoBvjS5OZjrg=; b=ocXyTfaPn5crJxkZyfTA0Ryp7LWkb5NklRdDEb49cvG9z17bXz4TjY7fJSoaxFVQwl j83vEdhFS71g5x+AANjq7KL1JeoRIp8REVg/blzDlYZB5UkNjJvQRvTTwexCW4Wl+T/5 tKxrGR+GW48H3hCjWcFN5KlHRhnb1pFuzdPUtGKHUd4IJmNWH5oVafaT4rQ6Z/hJ420m 4K9PLOYy4PGwCMuLAhH8BYEqY7enmIkyiQ6LqYmGNnhacfQvZ6Cphe9xP/oi0fjqT7pb EozqYQPSQ+nHCgn7kZJsoE3j1gLvSa6Cqu1aPPz8GSq01nsPrz33sG4nfDxQEaA//vbb czlg== X-Forwarded-Encrypted: i=1; AJvYcCVmuk1g3k+Sa/xxsA1OJARGd5fPaONLDvQtvvaLIReahqF7SmA9QohRm1uo9YPU1SRxvKCuMQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YyWZjG2liYeKx7p4l38R+KcXIXa7sTcjp2axQiCB7H1QOBghr17 +PRqW4wxzwny30nFNsy7e9jQdL9dxF4KHZXj27o2Tqifzt1sM05S/E49h1v5/s/VNaxD7d/5xZS 74gUxjcV/iqpbGYSizfGpqoyeaIiRwsk= X-Gm-Gg: ASbGncvSpFD4vSPp2eXJnI6OnID66lp7m/i/DM45hj4Byic1GB4XtxoyiXEAGM2AyY4 7WWcIZVZRfL+OHPe/9wF+t7Yct5Akw9+8fQGH67Mw2sRY7jGt4Fi9urTPj3r7yyNioyTpm6s9Vv FBS08FRhyQZjC+a/e7kMbFuma2qXillzEa3aTfDRRXndcWvrYf46UHB42XSplkkIVAMggSRNUNo pXqsg== X-Google-Smtp-Source: AGHT+IHyEmq82MZwmoKD6ceMnApC8LudHbjZAnhFyqsi0jz204nILPrXhJPtmlqzvAYn285iWxoOSnPtqR4+emnWKEY= X-Received: by 2002:a05:6808:3096:b0:438:2278:934 with SMTP id 5614622812f47-43d6c178b94mr4447984b6e.16.1758538806336; Mon, 22 Sep 2025 04:00:06 -0700 (PDT) MIME-Version: 1.0 References: <87ikhb5pf5.fsf@localhost> <86y0q7dm5s.fsf@gnu.org> In-Reply-To: From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Date: Mon, 22 Sep 2025 11:59:55 +0100 X-Gm-Features: AS18NWAHwo2Oc5s0MO8KK__4_pzICiBFunm9RDx1G3XgMDkxZYyuRWNSGivuk0I Message-ID: Subject: Re: bug#79485: 31.0.50; Loaded files inherit read-symbol-shorthands To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000e020fb063f61b826" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79485 Cc: 79485@debbugs.gnu.org, "David J. Rosenbaum" 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 (-) --000000000000e020fb063f61b826 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable By the way, I understand the problem easily now. The symbol 'dbus' has the prefix 'db' and when the example file is read 'dbus' becomes 'cl-destructuring-bindus'. This happens at read-time well before evaluation or byte-compilation. It happens to occur inside a 'load' or 'require' form (didn't check), but it's completely unrelated to that operation specifically. The file intended to be loaded is completely isolated. This is just a misunderstanding of what shorthands were designed for and how they work. If anything is missing in the manual, feel free to add. Jo=C3=A3o T=C3=A1vora On Mon, Sep 22, 2025, 11:52 Jo=C3=A3o T=C3=A1vora wr= ote: > Here's the reply I meant to send to the tracker but sent to Eli only on > accident: > > Shorthands are read at file read-time and specified exclusively as > per-file variables. So I don't understand this about inheritance from loa= d. > Also they were designed to abbreviate prefixes, not full symbol names, so > the db idea is probably not going to work. As far as I remember, these > things were well explained in the manual... > > Jo=C3=A3o > > On Mon, Sep 22, 2025, 07:41 Eli Zaretskii wrote: > >> > From: "David J. Rosenbaum" >> > Date: Sun, 21 Sep 2025 16:58:06 -0700 >> > >> > Hello, >> > >> > I am using read-symbol-shorthands to alias db to >> > cl-destructuring-bind. It works but causes problems when I load a file >> > containing a symbol that starts with db. For example, one can use emac= s >> -Q >> > with the following file. >> > >> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> > (require 'tramp-gvfs) >> > >> > ;; Local Variables: >> > ;; read-symbol-shorthands: (("db" . "cl-destructuring-bind")) >> > ;; End: >> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> > >> > To reproduce, save the above and load it with M-x load-file. This >> > results in the following error. >> > >> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> > Loading /home/david/tmp/read-symbol-example.el (source)... >> > byte-code: Cannot open load file: No such file or directory, >> cl-destructuring-bindus >> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> > >> > The problem seems to be that tramp-gvfs requires dbus and db is being >> > replaced with cl-destructuring-bind. IMO, loaded files should not >> inherit >> > shorthands from files that require them since those shorthands are onl= y >> > valid for that particular file. >> >> Thanks, I hope Jo=C3=A3o (CC'ed) will have some ideas or suggestions. >> > --000000000000e020fb063f61b826 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
By the way, I understand the problem easily now. The= symbol 'dbus' has the prefix 'db' and when the example fil= e is read 'dbus' becomes 'cl-destructuring-bindus'. This ha= ppens at read-time well before evaluation or byte-compilation.

It happens to occur inside a 'lo= ad' or 'require' form (didn't check), but it's complete= ly unrelated to that operation specifically. The file intended to be loaded= is completely isolated. This is just a misunderstanding of what shorthands= were designed for and how they work. If anything is missing in the manual,= feel free to add.

Jo=C3=A3o T=C3=A1vora

On Mon, Sep 22, 2025, = 11:52 Jo=C3=A3o T=C3=A1vora <joa= otavora@gmail.com> wrote:
Here's the reply I meant to sen= d to the tracker but sent to Eli only on accident:=C2=A0

Shorthands are read at file read-time and = specified exclusively as per-file variables. So I don't understand this= about inheritance from load. Also they were designed to abbreviate prefixe= s, not full symbol names, so the db idea is probably not going to work. As = far as I remember, these things were well explained in the manual...
<= div dir=3D"auto">
Jo=C3=A3o

On Mon, Sep 22,= 2025, 07:41 Eli Zaretskii <eliz@gnu.org> wrote:
> From: "David J. Rosenbaum&qu= ot; <djr7c4@gmail.com>
> Date: Sun, 21 Sep 2025 16:58:06 -0700
>
> Hello,
>
> I am using read-symbol-shorthands to alias db to
> cl-destructuring-bind. It works but causes problems when I load a file=
> containing a symbol that starts with db. For example, one can use emac= s -Q
> with the following file.
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> (require 'tramp-gvfs)
>
> ;; Local Variables:
> ;; read-symbol-shorthands: (("db" . "cl-destructuring-b= ind"))
> ;; End:
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> To reproduce, save the above and load it with M-x load-file. This
> results in the following error.
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> Loading /home/david/tmp/read-symbol-example.el (source)...
> byte-code: Cannot open load file: No such file or directory, cl-destru= cturing-bindus
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> The problem seems to be that tramp-gvfs requires dbus and db is being<= br> > replaced with cl-destructuring-bind. IMO, loaded files should not inhe= rit
> shorthands from files that require them since those shorthands are onl= y
> valid for that particular file.

Thanks, I hope Jo=C3=A3o (CC'ed) will have some ideas or suggestions.
--000000000000e020fb063f61b826-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 22 13:04:44 2025 Received: (at 79485) by debbugs.gnu.org; 22 Sep 2025 17:04:44 +0000 Received: from localhost ([127.0.0.1]:35443 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1v0jy0-0003IM-1o for submit@debbugs.gnu.org; Mon, 22 Sep 2025 13:04:44 -0400 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]:57503) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1v0jxx-0003I7-11 for 79485@debbugs.gnu.org; Mon, 22 Sep 2025 13:04:41 -0400 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-3307de086d8so4029519a91.2 for <79485@debbugs.gnu.org>; Mon, 22 Sep 2025 10:04:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758560675; x=1759165475; 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=V6l8ZrIODGNE9HWCACPx+LTRgW4SEA18TS/rjniI5P0=; b=hJkeLuOrxrE7KvpX29knGyxRQcUCt9+PWXesFuBGgmpGYS3U9BkjeX+I7RKbyIinze nVNJQwG2j8iYOs8P5nwR1ZpihWuUGpsLDhJAyN5hSbj0l0xGC2mp52kLMsrO+4G2JVSu e2CRvFwjdcsF24tGg0c12YCAwMNTFON1baNoA/wDlZSpWL0Z1ZAgVHZoGdPYwZEBAfGa UOyHma+8zp6sSa6QGrsiUfQAqpI9y/8FvJqd2DWwcKeLkN+YmN142tepF7AgTwLxOHHf 8o7MCysd/MYT64W2WRSFiAmbgVuEshB9rujM3QIubKgidVuKiL+BijrUGjl8YuU431vi M7Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758560675; x=1759165475; 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=V6l8ZrIODGNE9HWCACPx+LTRgW4SEA18TS/rjniI5P0=; b=iTefji3LdcUXaSAVrsmkCF/mmj1SZ+Sc1BNoyoR7Sq/tX75LW5NBvV+4MlE48zEswX YjASkVn4nkcDn6Va/MEu2ZZ4X8PBhevUfBDrjL5885AbjMWpBmXGbDsNZDaYn4ydszLW o4vEwJPEuekZUY+E9kwPDkTgrZWujeB8qluI3HB6HhF26/2WBgwQ/qeXqlhin0YMVezy daaoXHjF79AQQTJgUTIRZqHHFH6+LLgufODu08rErZcsyQ8yjkvclFLY2LqODdLKs9dR PctyHwjgOKo0Yn/3OBx+BUMNAMyzJycVFyXQeVnO8gL13h+I59gGwqqzsB+U/a6aLx66 dXQQ== X-Forwarded-Encrypted: i=1; AJvYcCWM01QvO6l0Ze/2FRurVzxc/ezhO/2o9XCgXwkCgPkHCGw076k5BN/go2wnrBgEAnrS+/JN2Q==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yx0DLWVO3HUuC1nPJiVK90ROKqoS3BWeEUaqEctDgiU4V1L7HZ2 QyeVgI0cQjQmVJuQm5HRYG0QGc49h3iMPrRXCA2s3aBsU3p9Ytn6W6Fw3SiUyFDFlFxON5QtIu9 I1VKLDwncFDbzHoh236oigje6eMgaSoQ= X-Gm-Gg: ASbGncv932sduCJTEGKgYlMOXGuiyR3sbWSIT1+R2iF8MlqMEFyEKrmzWrrwqQL0ire b0IhZth/E2mOJDYH7POyoghchNhjGOIlR87E2TpduSDsUNYLF6RDTWukcjiUrbIZZiEBIj2yys2 GIEsVtIFEcEWTxv951ooNWh7x1In/bG71D8fPmcDt7pezONGEfmMKp9axfbcYwH32qAVON8lLQd oZL0s4= X-Google-Smtp-Source: AGHT+IHg2iMGeMdc+LNPfIHLn625xGTQ91XPD+Jcr4iiSSPTdHp/FeFCr8M48cBiQx4Tz7qttKk2qjmCwE6ZRbQJoF4= X-Received: by 2002:a17:90b:3d90:b0:32e:3c57:8a9d with SMTP id 98e67ed59e1d1-33098385ca2mr15691478a91.30.1758560674602; Mon, 22 Sep 2025 10:04:34 -0700 (PDT) MIME-Version: 1.0 References: <87ikhb5pf5.fsf@localhost> <86y0q7dm5s.fsf@gnu.org> In-Reply-To: From: David Rosenbaum Date: Mon, 22 Sep 2025 10:04:21 -0700 X-Gm-Features: AS18NWC2kj4kgSUd1KZ-ZkzFI7oSfoNlw90k4ybshoXyXUk6fRhiekYg1BVEW4I Message-ID: Subject: Re: bug#79485: 31.0.50; Loaded files inherit read-symbol-shorthands To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Content-Type: multipart/alternative; boundary="000000000000536197063f66d0ff" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 79485 Cc: Eli Zaretskii , 79485@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: -0.7 (/) --000000000000536197063f66d0ff Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > Also they were designed to abbreviate prefixes, not full symbol names, so the db idea is probably not going to work. As far as I remember, these things were well explained in the manual... Intended or not, shorthands are being used this way by packages authors. For example, see cond-let and llama. > By the way, I understand the problem easily now. The symbol 'dbus' has the prefix 'db' and when the example file is read 'dbus' becomes 'cl-destructuring-bindus'. This happens at read-time well before evaluation or byte-compilation. (require 'dbus) isn't in the example file though. It's in tramp-gvfs which was precompiled when emacs was built. It is tramp-gvfs that is required from the example file. On Mon, Sep 22, 2025, 4:00 AM Jo=C3=A3o T=C3=A1vora = wrote: > By the way, I understand the problem easily now. The symbol 'dbus' has th= e > prefix 'db' and when the example file is read 'dbus' becomes > 'cl-destructuring-bindus'. This happens at read-time well before evaluati= on > or byte-compilation. > > It happens to occur inside a 'load' or 'require' form (didn't check), but > it's completely unrelated to that operation specifically. The file intend= ed > to be loaded is completely isolated. This is just a misunderstanding of > what shorthands were designed for and how they work. If anything is missi= ng > in the manual, feel free to add. > > Jo=C3=A3o T=C3=A1vora > > On Mon, Sep 22, 2025, 11:52 Jo=C3=A3o T=C3=A1vora = wrote: > >> Here's the reply I meant to send to the tracker but sent to Eli only on >> accident: >> >> Shorthands are read at file read-time and specified exclusively as >> per-file variables. So I don't understand this about inheritance from lo= ad. >> Also they were designed to abbreviate prefixes, not full symbol names, s= o >> the db idea is probably not going to work. As far as I remember, these >> things were well explained in the manual... >> >> Jo=C3=A3o >> >> On Mon, Sep 22, 2025, 07:41 Eli Zaretskii wrote: >> >>> > From: "David J. Rosenbaum" >>> > Date: Sun, 21 Sep 2025 16:58:06 -0700 >>> > >>> > Hello, >>> > >>> > I am using read-symbol-shorthands to alias db to >>> > cl-destructuring-bind. It works but causes problems when I load a fil= e >>> > containing a symbol that starts with db. For example, one can use >>> emacs -Q >>> > with the following file. >>> > >>> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>> > (require 'tramp-gvfs) >>> > >>> > ;; Local Variables: >>> > ;; read-symbol-shorthands: (("db" . "cl-destructuring-bind")) >>> > ;; End: >>> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>> > >>> > To reproduce, save the above and load it with M-x load-file. This >>> > results in the following error. >>> > >>> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>> > Loading /home/david/tmp/read-symbol-example.el (source)... >>> > byte-code: Cannot open load file: No such file or directory, >>> cl-destructuring-bindus >>> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>> > >>> > The problem seems to be that tramp-gvfs requires dbus and db is being >>> > replaced with cl-destructuring-bind. IMO, loaded files should not >>> inherit >>> > shorthands from files that require them since those shorthands are on= ly >>> > valid for that particular file. >>> >>> Thanks, I hope Jo=C3=A3o (CC'ed) will have some ideas or suggestions. >>> >> --000000000000536197063f66d0ff Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
> Also they were designed to abbreviate prefixes, not = full symbol names, so the db idea is probably not going to work. As far as = I remember, these things were well explained in the manual...

Intended or not, shorthands are being used = this way by packages authors. For example, see cond-let and llama.

> By the way, I understand th= e problem easily now. The symbol 'dbus' has the prefix 'db'= and when the example file is read 'dbus' becomes 'cl-destructu= ring-bindus'. This happens at read-time well before evaluation or byte-= compilation.

(require &#= 39;dbus) isn't in the example file though. It's in tramp-gvfs which= was precompiled when emacs was built. It is tramp-gvfs that is required fr= om the example file.

On Mon, Sep 22, 2025, 4:00 = AM Jo=C3=A3o T=C3=A1vora <joaota= vora@gmail.com> wrote:
By the way, I understand the problem easily now. The symb= ol 'dbus' has the prefix 'db' and when the example file is = read 'dbus' becomes 'cl-destructuring-bindus'. This happens= at read-time well before evaluation or byte-compilation.

It happens to occur inside a 'load= 9; or 'require' form (didn't check), but it's completely un= related to that operation specifically. The file intended to be loaded is c= ompletely isolated. This is just a misunderstanding of what shorthands were= designed for and how they work. If anything is missing in the manual, feel= free to add.

J= o=C3=A3o T=C3=A1vora

On Mon, Sep 22, 2025, 11:52 Jo=C3=A3o T=C3=A1vora= <joaotavora@gmail.com> wrote:
Here's the reply I me= ant to send to the tracker but sent to Eli only on accident:=C2=A0

Shorthands are read at file read= -time and specified exclusively as per-file variables. So I don't under= stand this about inheritance from load. Also they were designed to abbrevia= te prefixes, not full symbol names, so the db idea is probably not going to= work. As far as I remember, these things were well explained in the manual= ...

Jo=C3=A3o

On Mo= n, Sep 22, 2025, 07:41 Eli Zaretskii <eliz@gnu.org> wrote:
> From: "= David J. Rosenbaum" <djr7c4@gmail.com> > Date: Sun, 21 Sep 2025 16:58:06 -0700
>
> Hello,
>
> I am using read-symbol-shorthands to alias db to
> cl-destructuring-bind. It works but causes problems when I load a file=
> containing a symbol that starts with db. For example, one can use emac= s -Q
> with the following file.
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> (require 'tramp-gvfs)
>
> ;; Local Variables:
> ;; read-symbol-shorthands: (("db" . "cl-destructuring-b= ind"))
> ;; End:
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> To reproduce, save the above and load it with M-x load-file. This
> results in the following error.
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> Loading /home/david/tmp/read-symbol-example.el (source)...
> byte-code: Cannot open load file: No such file or directory, cl-destru= cturing-bindus
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> The problem seems to be that tramp-gvfs requires dbus and db is being<= br> > replaced with cl-destructuring-bind. IMO, loaded files should not inhe= rit
> shorthands from files that require them since those shorthands are onl= y
> valid for that particular file.

Thanks, I hope Jo=C3=A3o (CC'ed) will have some ideas or suggestions.
--000000000000536197063f66d0ff-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 22 13:28:50 2025 Received: (at 79485) by debbugs.gnu.org; 22 Sep 2025 17:28:50 +0000 Received: from localhost ([127.0.0.1]:35533 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1v0kLK-0004jV-AY for submit@debbugs.gnu.org; Mon, 22 Sep 2025 13:28:50 -0400 Received: from mail-ot1-x32a.google.com ([2607:f8b0:4864:20::32a]:42064) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1v0kLG-0004is-5g for 79485@debbugs.gnu.org; Mon, 22 Sep 2025 13:28:46 -0400 Received: by mail-ot1-x32a.google.com with SMTP id 46e09a7af769-750c5378b96so2680356a34.0 for <79485@debbugs.gnu.org>; Mon, 22 Sep 2025 10:28:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758562120; x=1759166920; 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=Z1jpFpC9FHTqL5o9fvrXdzvEVIikEsgNOwU+YIhz9/o=; b=N8Jp3ftwSoWBfZEliEoanzN7mJ5QUYd4yoVvEgigGLqGINVZLZ1zqtkr1dLdB7Alz/ ru1ItoRULp8Wq4Cr6b3A9K4I/rM2JJ5gxmXzzQZHY4XibYGI7H8J2rVjRjfVzu0uYigS ma/5N4MyzgVFcFAdVyHMSqTjTVim33eL16eoujosk4/4WRMv1I2PHjEO8/kbE0i53HBp so1wlSIagjJ2emPQhyN5WrqIrVHehrO7iQ61Ch3v7rA1Tj3YGSL8oov2aWRfHU3vzzLn WYirTG4YBuFc06b2bDWxcD4XiyojKC94lR6domHbK4CiCUX23RSEyd+VXlOiHCg4lJa5 IqbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758562120; x=1759166920; 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=Z1jpFpC9FHTqL5o9fvrXdzvEVIikEsgNOwU+YIhz9/o=; b=t9axsyU3hBs3yid7n0Z2CLoE4bf5pUr6f+8piFFVlp+P4rrAwrjPimTNMwTnUFz0fc rUpkHZYnYnEo0MeyfnhoVGZUqECa9WRtPn45A79fK8ENuUD1tmezr3cgYSpfFQ1tlEIH J6uHMdWtdsr7u+INwHLaVVfP9M+kjklFZz+7A11wvlx6Xrf5bs40oK6k33fLENC05T5l kkwMPpIfsLmdKdikWR1tFDGjOH+cDxt/qOcqr36LF1PmFeyyJw1SO/+mJbwW0gqVI80m 0AavmjJh+a81wMERwtegqQxLvqAQnYygzneZtbv/ds8I6T5CS1QVIphSigoCBxtb5ORm XP2w== X-Forwarded-Encrypted: i=1; AJvYcCV0QmRnIwe6648fxqHUqZwx8Bv1gg/gxAjPq4Q5koubjN133ucdgiI19kr48YcGavV+E92qfg==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yw4U29QC/4/P2s7fYEBm1z6iSxoUO7BhJVpvGs69lQ2qByFZ+Cw t9mGgESUJDGQ+TzQZQzcYRzbiL+mhMCyPdG/qnvM7KCWZmrh3PsQWN4LfUDNLAox6ypBneIEQ9+ rmLFgy7Yu4F5jhcl7ZGNI+kNw40LLF6o= X-Gm-Gg: ASbGncs5WLlxriHqSW/QMrYh2B0EzZQU6mTuBhNVmwa0ITglCJwgpbYEhLm98zlHaoL KX5nohFNe3JQSOAEky8QJwtmfM+na5ohGLFmCCuUuZDSWtDt2Mn2UutgJ737DYV7KyNoZC39jgP PZrX5T71qbJsp6h8Nsx4c2qpwaA8MWssu6/4YYXwz+ajqrNruHqgkwLBGCqs3zGWiUuhoAY+h8C oV3UVLjfYbw6NwG X-Google-Smtp-Source: AGHT+IFRJG/m1zMulI5MgpNZQ3DucZytDDZwzsJV6Ik2i1AWtWgJ1r5qM55EynhPtfrHho952vfpFx/a+UpuppknrZY= X-Received: by 2002:a05:6830:2d8d:b0:750:ad21:4e67 with SMTP id 46e09a7af769-769030388a9mr7871113a34.15.1758562120009; Mon, 22 Sep 2025 10:28:40 -0700 (PDT) MIME-Version: 1.0 References: <87ikhb5pf5.fsf@localhost> <86y0q7dm5s.fsf@gnu.org> In-Reply-To: From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Date: Mon, 22 Sep 2025 18:29:43 +0100 X-Gm-Features: AS18NWC8lWBwM6smD682FUisiikWwXYPIAUD2NCoZG8bbRpbLXp-wqbVtpwwpUE Message-ID: Subject: Re: bug#79485: 31.0.50; Loaded files inherit read-symbol-shorthands To: David Rosenbaum Content-Type: multipart/alternative; boundary="0000000000007a8bc7063f6726af" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79485 Cc: Eli Zaretskii , 79485@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 (-) --0000000000007a8bc7063f6726af Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Sep 22, 2025 at 6:04=E2=80=AFPM David Rosenbaum = wrote: > > > Also they were designed to abbreviate prefixes, not full symbol names, so the db idea is probably not going to work. As far as I remember, these things were well explained in the manual... > > Intended or not, shorthands are being used this way by packages authors. For example, see cond-let and llama. Are these packages even in Emacs? > > By the way, I understand the problem easily now. The symbol 'dbus' has the prefix 'db' and when the example file is read 'dbus' becomes 'cl-destructuring-bindus'. This happens at read-time well before evaluation or byte-compilation. > > (require 'dbus) isn't in the example file though. It's in tramp-gvfs which was precompiled when emacs was built. It is tramp-gvfs that is required from the example file. I see the problem and have reproduced it. It's a bug. And I don't understand it. The `tramp-gvfs` file should have been read long before the shorthand was established in in the example file. --0000000000007a8bc7063f6726af Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, Sep 22, 2025 at 6:04=E2=80=AFPM David Rosenbaum &l= t;djr7c4@gmail.com> wrote:
&g= t;
> > Also they were designed to abbreviate prefixes, not full sy= mbol names, so the db idea is probably not going to work. As far as I remem= ber, these things were well explained in the manual...
>
> Inte= nded or not, shorthands are being used this way by packages authors. For ex= ample, see cond-let and llama.


Are these packages even in Emacs?=

> > By the way, I understand the problem easily now. The symb= ol 'dbus' has the prefix 'db' and when the example file is = read 'dbus' becomes 'cl-destructuring-bindus'. This happens= at read-time well before evaluation or byte-compilation.
>
&= gt; (require 'dbus) isn't in the example file though. It's in t= ramp-gvfs which was precompiled when emacs was built. It is tramp-gvfs that= is required from the example file.

I see the prob= lem and have reproduced it.=C2=A0 It's a bug.=C2=A0 And I don't und= erstand it.=C2=A0 The `tramp-gvfs` file should have been read long before t= he shorthand was established in in the example file.
--0000000000007a8bc7063f6726af-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 22 13:49:12 2025 Received: (at 79485) by debbugs.gnu.org; 22 Sep 2025 17:49:12 +0000 Received: from localhost ([127.0.0.1]:35638 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1v0kf1-0000PF-OH for submit@debbugs.gnu.org; Mon, 22 Sep 2025 13:49:12 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]:61516) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1v0key-0000Oe-2g for 79485@debbugs.gnu.org; Mon, 22 Sep 2025 13:49:08 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-267f0fe72a1so32094435ad.2 for <79485@debbugs.gnu.org>; Mon, 22 Sep 2025 10:49:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758563342; x=1759168142; 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=vLrz6B6LoRjGT/RcV7bvGgLRHOcKNZXDHK5HtajieeU=; b=drnrmmmjPLa936IhcdrX5bmbwdPbNd/GbbOtHaCs5GoDhV2VGaCvsHjj1WxtcHCUf+ 9Xw3mfzRrBG4nR6z5/NeRvGonAozOEQZi4iDLmiATnCbEA9mBFET8GjZqxPYrMjYJKhG l7Yonrwx3OGqP8FUqUj5twnQsO0i2gGZMHiQe9kjkD+8RJOEM+XiDXbiwQKyJKlD5Ssm xCAOTudAbwv+kvqMPBeI634DYQ36blL+wXFeedbgYnbtpXbldF2CWznVBTFuFIMprmIo /XzlvZ6MWoQz0Mnapyjzn0WKRwfdeJCOoNRgwEIi33Q4IzODBi7m8wG1GfHTZbCvTEjG XFcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758563342; x=1759168142; 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=vLrz6B6LoRjGT/RcV7bvGgLRHOcKNZXDHK5HtajieeU=; b=RCFddz5NaHoLidJiBZ79ogcGbXF/lnDTkq0I5t5RxgMqOtWUiHB2D+1157JVv8zYN8 SVYpyPn7GvejFE5v/YDJTW47DUD+kRE+iGkSGLemxfM30WG/CFyF2rPWVWsl1DxxGOnR PD1AG8ggzQexQxmuTt0ZP/WQWWHRlIpENTOiDkU4SNmLUjGlWNWEb7BB35Ij0B3ayVI0 Sl0q2TJnFC6qDCxzGB8xbAmdkjb6LIPvs+RtPBcbAsT75rSc3tt+bXRd0sKLtvxrYLMD Kg0i04Bo2Ce0zDk66KRWMbAGdg6YBhE8i1qE8qGqSCgch35jotJT6CLY/OaIgHlRvOJJ DVaQ== X-Forwarded-Encrypted: i=1; AJvYcCUXg3cF8g/Dmg4/eg9/+LAlB5PfTg+C7GOj8wWrB0hI1u+wqje37zfF9TvqVqOT8aYeCQICSg==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yx0UNx9r3XX6XntIKIHsDIckH0idC+V/5v6zh8H36NPuB0k/tsF rM+9t928MVg7sVOjnG6VxFbh+NmSmbU7qzp8+YvV3DdpMrwHvpfbGhI9lR7ElxUZcy4w+v33hau DXQgqJNwBL2bUuXEjQV0SW7ydEBzxnos= X-Gm-Gg: ASbGnctit8zJI3yVusl9QKVSMeYMvo1jne2TZdc2Oln16M/QA9f/PtfcSa4sFPMw+3q bAdjKQsc3clfluwV7ZsLlV3bVmJKfAzdqch/0q1yfzHvJ7br59TaaYaj8W667SRLDm92ZjO25Xm MEMk+gieI2b2d13BeKIcTe0hICL/EJ5AEqUkSRpihiwRwooeX6EMYne+mYvOQEmLry4YJrdM9+T vK+5WY= X-Google-Smtp-Source: AGHT+IHfI88V66Q9gXfy1I72q6/ZyT/Y3emhwNUWnHF9nK3zMEM2ab0+oDcT2ezFsI+Rro02CySuNmMQdpU11t7OJec= X-Received: by 2002:a17:902:ecce:b0:25c:46cd:1dc1 with SMTP id d9443c01a7336-269ba4f01d5mr162171735ad.33.1758563341468; Mon, 22 Sep 2025 10:49:01 -0700 (PDT) MIME-Version: 1.0 References: <87ikhb5pf5.fsf@localhost> <86y0q7dm5s.fsf@gnu.org> In-Reply-To: From: David Rosenbaum Date: Mon, 22 Sep 2025 10:48:48 -0700 X-Gm-Features: AS18NWDq5pO4_4LD7xM8SZWXRClYGmXNBSqAefAKeLmenmY9uYfC4DxL6CZc5vQ Message-ID: Subject: Re: bug#79485: 31.0.50; Loaded files inherit read-symbol-shorthands To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Content-Type: multipart/alternative; boundary="000000000000488838063f676f64" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 79485 Cc: Eli Zaretskii , 79485@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: -0.7 (/) --000000000000488838063f676f64 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > Are these packages even in Emacs? IMO using shorthands in this way is a natural way to abbreviate long symbols. AFAICT, there is no other way to do so without polluting the global namespace. I'm open to alternatives if there's another preferred way to handle this use case. defalias is an obvious option but of course that pollutes the global namespace. > I see the problem and have reproduced it. It's a bug. And I don't understand it. Yeah. It's a strange one. On Mon, Sep 22, 2025, 10:28 AM Jo=C3=A3o T=C3=A1vora = wrote: > On Mon, Sep 22, 2025 at 6:04=E2=80=AFPM David Rosenbaum wrote: > > > > > Also they were designed to abbreviate prefixes, not full symbol names= , > so the db idea is probably not going to work. As far as I remember, these > things were well explained in the manual... > > > > Intended or not, shorthands are being used this way by packages authors= . > For example, see cond-let and llama. > > > Are these packages even in Emacs? > > > > By the way, I understand the problem easily now. The symbol 'dbus' ha= s > the prefix 'db' and when the example file is read 'dbus' becomes > 'cl-destructuring-bindus'. This happens at read-time well before evaluati= on > or byte-compilation. > > > > (require 'dbus) isn't in the example file though. It's in tramp-gvfs > which was precompiled when emacs was built. It is tramp-gvfs that is > required from the example file. > > I see the problem and have reproduced it. It's a bug. And I don't > understand it. The `tramp-gvfs` file should have been read long before t= he > shorthand was established in in the example file. > --000000000000488838063f676f64 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
> Are these packages even in Emacs?

IMO using shorthands in this way is a natur= al way to abbreviate long symbols. AFAICT, there is no other way to do so w= ithout polluting the global namespace. I'm open to alternatives if ther= e's another preferred way to handle this use case. defalias is an obvio= us option but of course that pollutes the global namespace.

> I see the problem and have reproduced it. It'= s a bug. And I don't understand it.

<= div dir=3D"auto">Yeah. It's a strange one.

<= div class=3D"gmail_quote gmail_quote_container" dir=3D"auto">
On Mon, Sep 22, 2025, 10:28 AM Jo=C3=A3o T=C3=A1vor= a <joaotavora@gmail.com> = wrote:
On Mon, Sep= 22, 2025 at 6:04=E2=80=AFPM David Rosenbaum <djr7c4@gmail.com> wro= te:
>
> > Also they were designed to abbreviate prefixes, no= t full symbol names, so the db idea is probably not going to work. As far a= s I remember, these things were well explained in the manual...
>
= > Intended or not, shorthands are being used this way by packages author= s. For example, see cond-let and llama.


Are these packages even = in Emacs?

> > By the way, I understand the problem easily now.= The symbol 'dbus' has the prefix 'db' and when the example= file is read 'dbus' becomes 'cl-destructuring-bindus'. Thi= s happens at read-time well before evaluation or byte-compilation.
><= br>
> (require 'dbus) isn't in the example file though. It&#= 39;s in tramp-gvfs which was precompiled when emacs was built. It is tramp-= gvfs that is required from the example file.

I see= the problem and have reproduced it.=C2=A0 It's a bug.=C2=A0 And I don&= #39;t understand it.=C2=A0 The `tramp-gvfs` file should have been read long= before the shorthand was established in in the example file.
--000000000000488838063f676f64-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 22 13:56:03 2025 Received: (at 79485) by debbugs.gnu.org; 22 Sep 2025 17:56:03 +0000 Received: from localhost ([127.0.0.1]:35687 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1v0klf-0000yt-3F for submit@debbugs.gnu.org; Mon, 22 Sep 2025 13:56:03 -0400 Received: from mail-oo1-xc2f.google.com ([2607:f8b0:4864:20::c2f]:50583) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1v0klZ-0000yD-97 for 79485@debbugs.gnu.org; Mon, 22 Sep 2025 13:55:59 -0400 Received: by mail-oo1-xc2f.google.com with SMTP id 006d021491bc7-6218fc7c6b7so1088180eaf.1 for <79485@debbugs.gnu.org>; Mon, 22 Sep 2025 10:55:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758563751; x=1759168551; 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=cV6rsKhThEI9E+h5d6s1tqlb+IVJR1vh26P4Au5rFEU=; b=TMfjY4z285Zp0sapxd0/hFDrEoFDq3AUd5h0tTtt4qXFMygkRpboWiie/hvhg75KMx MsnDQURSXMSr9UV2Empc6GLIQh8KV9dCs8TLiKB+/P9jxGF9CJovpevepEVJiTlXAvn3 CxsDElgZnhh4shmvSoMnIa16bZVrb84xH6sLYbhUwupn8hvRQ+nYbEwTpHx9C/g6fJ94 C5Xtk4j8OAykiSUnr+Cf0tICR5Mvd/KAg2LyydV8gBbamlCMc5V6HgnLwVsnVGcYNu4g 7yWaHCbLxNFJRE7Y98A79DtpLPShN1RAqnCR5NUZE9bA14T8zBzPqq3uKLsHnMy971eh Jpqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758563751; x=1759168551; 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=cV6rsKhThEI9E+h5d6s1tqlb+IVJR1vh26P4Au5rFEU=; b=VymJ0ER0QLJSOKVKuHHNka+4FB4OuixbcvYT+l3NeLafVr9LHTxyCts2Klt6BC1teN 5OR40qd5SNlXK8wiszuCZprMIFCv1RpeIx72Rs5SU6XS9tfWQBrzV/pTQGqWuNGqOYQm Fya4iGrXCesbnAfNfVN5OetuR3q6xPpaivC9UV0ay8V7Ulqm6m1eJa0Cm/HM+xqr1dtJ s8HdnQ2v4POsWAcbQjg6tIv+D8uH+kDfuNDure707t7XVVfpQ+9YKO+TeYLKFXH1WQr3 rPqwuJz4PGPALLEXBhvBfvjCAbXR+UtaD6EvppZlxHwi+JT1vAzcEUOIFOtIdSmn77kq 92vQ== X-Forwarded-Encrypted: i=1; AJvYcCUj04wLfx3xIcnHYhwQCJ4D0Yk73weT/evGmYNdsnZDMl9sZrRWJKnBDFqM5IPoa1C4gsy3qw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YyOGjCLTzdEzG8e9BD0SP0ZzGkvg8DXMFVGvL4CZsqgS6YsZGA4 rbxaTOK0zRxvKcsmPQX8FOfruPkO24LQ1CY5oN1/MKDvBzt5X8MZxQ66MPig+zgmmSrBFlybpp6 JaqeTOy2nOEm+6haU/fMa1LPI7S3AUyQ= X-Gm-Gg: ASbGncvrBq454AxrL8OOYHG+gwQfLJLCHD7KBWGg+Zu33o3FLm05WERvKawjhpkGIs2 lZOWvYK9r4AlLaJ3sKgZ6xGE8xiPBDA5wsxK9ywLZGbiqNQBg+Gh6aCeWqg1FsRv5dxIG6TYpzb IQ5gpc21OZPSUREBT46fiBfg34EzI+M4aFSHDOYusD+wz2wGy4nC2wYYZbsVWcCVG4fM1QCnbyC qtQKw== X-Google-Smtp-Source: AGHT+IE2mmlUpgP53X8PI4KbU+fVdAdpeA3FyjBDt4vLev5gD+WyGVLyYc5LWEkIWDZoD0BAMjRafhiWQ/BMLMhJgHs= X-Received: by 2002:a05:6808:138f:b0:43f:163b:88d with SMTP id 5614622812f47-43f163b0bb9mr2008624b6e.18.1758563750721; Mon, 22 Sep 2025 10:55:50 -0700 (PDT) MIME-Version: 1.0 References: <87ikhb5pf5.fsf@localhost> <86y0q7dm5s.fsf@gnu.org> In-Reply-To: From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Date: Mon, 22 Sep 2025 18:56:54 +0100 X-Gm-Features: AS18NWDuRwwJN-dwn0BYIrludVLJQmeBFH-2huce9hsBs8R16lPzefO26b7vUf0 Message-ID: Subject: Re: bug#79485: 31.0.50; Loaded files inherit read-symbol-shorthands To: David Rosenbaum Content-Type: multipart/alternative; boundary="000000000000ad3ec6063f678785" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79485 Cc: Eli Zaretskii , 79485@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 (-) --000000000000ad3ec6063f678785 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Sep 22, 2025 at 6:49=E2=80=AFPM David Rosenbaum = wrote: > > Are these packages even in Emacs? > > IMO using shorthands in this way is a natural way to abbreviate long > symbols. AFAICT, there is no other way to do so without polluting the > global namespace. I'm open to alternatives if there's another preferred w= ay > to handle this use case. defalias is an obvious option but of course that > pollutes the global namespace. > Polluting the global namespace is the name of the game in Elisp (and C). Shorthands are just lipstick on a pig. Prior to shorthands, there was namespacing etiquette, and there still us. This means you should pick a `consistent-longish-prefix-` for your consistent-longish-prefix.el library. This still holds. But it's a pain to type and read for some of us. Shorthands are just to summarize that prefix to 'clp-'. Any other use is haphazard (opens the door to shadowing etc). But what you reported is a bug, no doubt. And fairly serious. I never intended for things to work like that. Jo=C3=A3o --000000000000ad3ec6063f678785 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, Sep 22, 2025 at 6:49=E2=80=AFPM D= avid Rosenbaum <djr7c4@gmail.com= > wrote:
> Are th= ese packages even in Emacs?

IM= O using shorthands in this way is a natural way to abbreviate long symbols.= AFAICT, there is no other way to do so without polluting the global namesp= ace. I'm open to alternatives if there's another preferred way to h= andle this use case. defalias is an obvious option but of course that pollu= tes the global namespace.

Polluting the global namespace is the name of the game in Elisp (and C).= =C2=A0 Shorthands are just lipstick on a pig.=C2=A0 Prior to shorthands, th= ere was namespacing etiquette, and there still us. This means you should pi= ck a `consistent-longish-prefix-` for your consistent-longish-prefix.el lib= rary.=C2=A0 This still holds. But it's a pain to type and read for some= of us.=C2=A0Shorthands are just to summarize that prefix to 'clp-'= .=C2=A0 Any other use is haphazard (opens the door to shadowing etc).=C2=A0= =C2=A0

But what you reported is a bug, no doubt.= =C2=A0 And fairly serious.=C2=A0 I never intended for things to work like t= hat.

Jo=C3=A3o
--000000000000ad3ec6063f678785-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 22 15:26:03 2025 Received: (at 79485) by debbugs.gnu.org; 22 Sep 2025 19:26:03 +0000 Received: from localhost ([127.0.0.1]:35977 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1v0mAk-0006A5-Ml for submit@debbugs.gnu.org; Mon, 22 Sep 2025 15:26:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58850) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1v0mAg-00069D-AN for 79485@debbugs.gnu.org; Mon, 22 Sep 2025 15:25:59 -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 1v0mAY-0001v8-1o; Mon, 22 Sep 2025 15:25:50 -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=0UerBo5UAXOE69gSlgLkJPup0mmwhEwUSzobFtjh4rw=; b=SQa9gVTjcbhH 8jOkHlP4CXjqu5I1G5Q8gASDR/OWM9KTaEHzYKrEj6g+7N4MEv07fWP7ErwuriubykcmYRj0n0wxR x8cTaU1X929OJL/k9HD1SbWxGqNblmzx4hukgclzpwaMrHMRcjIlY7v1/Jma07WAYC9xiopuTvg/R OVefU+L/09dvjYX7gXiNB1pFHNhf4RRXQ+N8c4d7LtMmERejFAfnkcHi/k1hjB8c/cPMJ03oDwhGR XHBAtec/RpNkBgjPn2r22y4Z7nISULd5yUmSFhKn35sz26X68+w0M0WwPgmi60BKbrx95asfn/MGv arGfNbZcYkUA8A4dIjqJdQ==; Date: Mon, 22 Sep 2025 22:25:07 +0300 Message-Id: <86ikhae1d8.fsf@gnu.org> From: Eli Zaretskii To: David Rosenbaum In-Reply-To: (message from David Rosenbaum on Mon, 22 Sep 2025 10:04:21 -0700) Subject: Re: bug#79485: 31.0.50; Loaded files inherit read-symbol-shorthands References: <87ikhb5pf5.fsf@localhost> <86y0q7dm5s.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 79485 Cc: 79485@debbugs.gnu.org, joaotavora@gmail.com 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: David Rosenbaum > Date: Mon, 22 Sep 2025 10:04:21 -0700 > Cc: Eli Zaretskii , 79485@debbugs.gnu.org > > > Also they were designed to abbreviate prefixes, not full symbol names, so the db idea is probably not > going to work. As far as I remember, these things were well explained in the manual... > > Intended or not, shorthands are being used this way by packages authors. For example, see cond-let and > llama. So maybe we should improve our documentation to explicitly recommend against such practices. Emacs gives Lisp programmers enough rope to hang themselves, but hanging themselves is probably not what they want. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 22 18:18:11 2025 Received: (at 79485) by debbugs.gnu.org; 22 Sep 2025 22:18:11 +0000 Received: from localhost ([127.0.0.1]:36539 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1v0orL-000765-4c for submit@debbugs.gnu.org; Mon, 22 Sep 2025 18:18:11 -0400 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]:51297) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1v0orG-00075S-Jt for 79485@debbugs.gnu.org; Mon, 22 Sep 2025 18:18:08 -0400 Received: by mail-pj1-x1035.google.com with SMTP id 98e67ed59e1d1-3304dd2f119so3594781a91.2 for <79485@debbugs.gnu.org>; Mon, 22 Sep 2025 15:18:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758579480; x=1759184280; 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=Mi08lEt/2YyjfEnuJhvWVjQonESf2EONArqmqMw2Xrk=; b=OUNaQq15i/p5yUEt+dyKlkDZInhKBxkmjvqbA/wztE7hm/gLkKf+jpqjVh986A+mus cs2IYy0UzZj1yLUtZ81kNnxlevTkMCiammGl4vwuJJmW+hJ3V/Kx+Zb1ygu35vwVvDNi p9snA/raYEEIsENF/flDwmatNM9MDU0x+AHoMRrqp4/KmL1K2izI+f+B2YsvQdPEcjKi SVngXLTYULCQktjTXz6dlWPUO7x8rGwQT0a3Xg6ZaG4tq1KH2dWqPKpUofC80QYNaefp RhW6UyNuLX1aASgka1nvRPtQQEu4vIPqmxrTxgWXuKiLW4lQC/dDJvSPGH8AxZaaUlfX J0Hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758579480; x=1759184280; 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=Mi08lEt/2YyjfEnuJhvWVjQonESf2EONArqmqMw2Xrk=; b=H6HDHINkS11zX5aDBGR0AHE2EapIG/dMycRATaJ5LInCmNLrVDXstW0y1QFXpxiwQV GN0YwEqFRDKlr60Rnrhlq7AjbW6SWsirCWSn0SSxn56w55IGeyVrLWsU+7A35IuTSa9u H6kTWarhVF5nqwnXjw7aXtbATOTSwrsAwiZDTPuzKwOGhiMtiAePqUVwtI9PWV0gHGdf /ravv8P9J6UoaihF9mV+N/RSAoJAzaLs17ml1NoEqRi4x1V6+kdBoiCB6OTTSZQDBeQc bKj6m3kWjulSOeDOu6qQZ8bmkkLE5cTC2TslbIcOCJ1ZNJTsyhaeyekwkmvbLQCl8fh/ x/AQ== X-Forwarded-Encrypted: i=1; AJvYcCWBeZ7Cr5Fdut+XNqr695Qp7ekSjPeIrBGPvJ4XsFygMPLvHvtTQalzMPzNCYX1/bqDylrojw==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yzdgdadex9ogtb/Ekics0E0uQSwtbvu/qpeCbOP2++e/D89hH61 ygtYJTM+JNZjKfpHUvCzq7G71HHl6mXDMJAh8aUlhzMIpYooKgea/7Gu+RSE/I/7RphUMa5ehl/ d0fbhtGAK3EErIhzdAHejw3GaV8410zE= X-Gm-Gg: ASbGnct/4RCOet0VmFXHkIFGHFKIsrzhRtUEjIGuS2o2TiohRe5kQXANU/Mlwq6F2B0 bZEW4XvjTulcgz6S37FX0aEPGJWwIcs+d/pRxtxmxEH3ks0kiznRRfmBVD/SLBDW4u4tkVTxAZw /T+c0H8thlveK7+erdwpmHlbxrvwK+QYTXZ9NHa0VS2elXsWkv5KiYKhfwcKiujHHUD+82OaNmV /IzAMk= X-Google-Smtp-Source: AGHT+IF7smH8klNHHeNxt5G2+/yjEAHRG9UDizh89u7Dk6OM7OKOlHoNHpLkX8ZeSgrIq5evmsmID/oQ0SuhRMSgR0M= X-Received: by 2002:a17:90a:e7d2:b0:32e:9a24:2dd9 with SMTP id 98e67ed59e1d1-332a91baaf5mr553828a91.1.1758579479822; Mon, 22 Sep 2025 15:17:59 -0700 (PDT) MIME-Version: 1.0 References: <87ikhb5pf5.fsf@localhost> <86y0q7dm5s.fsf@gnu.org> <86ikhae1d8.fsf@gnu.org> In-Reply-To: <86ikhae1d8.fsf@gnu.org> From: David Rosenbaum Date: Mon, 22 Sep 2025 15:17:48 -0700 X-Gm-Features: AS18NWCf1oN_PK-A34-2XY2lz94EQVcgIU9KmsJ1Aopxci-R03nz9dQL2wU8tRM Message-ID: Subject: Re: bug#79485: 31.0.50; Loaded files inherit read-symbol-shorthands To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000344691063f6b3138" X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 79485 Cc: 79485@debbugs.gnu.org, joaotavora@gmail.com 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.7 (/) --000000000000344691063f6b3138 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I think package authors are already aware that all prefixes will be replaced. It's just that there don't seem to be good alternatives for dealing with these sorts of namespace issues as all the options have downsides. I already mentioned what I wrote below but I forgot to reply all and also may not have been particularly clear anyway so I'll try again. My preferred solution would be to make a special character cause the whole symbol to be matched instead of just the prefix. # is already not readable at the start of a symbol so it seems like that wouldn't cause conflicts. For example: ;; read-symbol-shorthands: ( ;; ("mvlp-" . "my-very-long-prefix-") ;; ("#db" . "cl-destructuring-bind")) The idea is that "db" is only replaced when it matches the entire symbol due to the #. "mvlp-" on the other hand is replaced whenever it occurs as the prefix of a symbol. On Mon, Sep 22, 2025 at 12:25=E2=80=AFPM Eli Zaretskii wrote= : > > From: David Rosenbaum > > Date: Mon, 22 Sep 2025 10:04:21 -0700 > > Cc: Eli Zaretskii , 79485@debbugs.gnu.org > > > > > Also they were designed to abbreviate prefixes, not full symbol names= , > so the db idea is probably not > > going to work. As far as I remember, these things were well explained i= n > the manual... > > > > Intended or not, shorthands are being used this way by packages authors= . > For example, see cond-let and > > llama. > > So maybe we should improve our documentation to explicitly recommend > against such practices. > > Emacs gives Lisp programmers enough rope to hang themselves, but > hanging themselves is probably not what they want. > --000000000000344691063f6b3138 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I think package authors are already aware that all prefixe= s will be replaced. It's just that there don't seem to be good alte= rnatives for dealing with these sorts of namespace issues as all the option= s have downsides.

I already mentioned what I wrote below but I=C2=A0= forgot to reply all and also may not have been particularly clear anyway so= I'll try again.

My preferred solution would be to make a specia= l character cause the whole symbol to be matched instead of just the prefix= . # is already not readable at the start of a symbol so it seems like that = wouldn't cause conflicts. For example:

;; read-symbol-shorthands= : (
;; ("mvlp-" . "my-very-long-prefix-")
;; (&qu= ot;#db" . "cl-destructuring-bind"))

The idea is that = "db" is only replaced when it matches the entire symbol due to th= e #. "mvlp-" on the other hand is replaced whenever it occurs as = the prefix of a symbol.

On Mon, Sep 22, 2025 at 12:25= =E2=80=AFPM Eli Zaretskii <eliz@gnu.org<= /a>> wrote:
&= gt; From: David Rosenbaum <djr7c4@gmail.com>
> Date: Mon, 22 Sep 2025 10:04:21 -0700
> Cc: Eli Zaretskii <eliz@gnu.org>, 79485@debbugs.gnu.org
>
> > Also they were designed to abbreviate prefixes, not full symbol n= ames, so the db idea is probably not
> going to work. As far as I remember, these things were well explained = in the manual...
>
> Intended or not, shorthands are being used this way by packages author= s. For example, see cond-let and
> llama.

So maybe we should improve our documentation to explicitly recommend
against such practices.

Emacs gives Lisp programmers enough rope to hang themselves, but
hanging themselves is probably not what they want.
--000000000000344691063f6b3138-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 23 02:25:25 2025 Received: (at 79485) by debbugs.gnu.org; 23 Sep 2025 06:25:25 +0000 Received: from localhost ([127.0.0.1]:38942 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1v0wSq-0000e8-PJ for submit@debbugs.gnu.org; Tue, 23 Sep 2025 02:25:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44276) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1v0wSf-0000Zd-Bh for 79485@debbugs.gnu.org; Tue, 23 Sep 2025 02:25:19 -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 1v0wSY-0001Oh-Ni; Tue, 23 Sep 2025 02:25:06 -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=inV3eDHzXhBXmgYa333PrXBlo4XiETnesgeG+v2HEfg=; b=VvoucJb77bQzPm9uy/go cyxdYgt6Ekr8VKJbiS7+th0o9xRQuoUC7e3uCI8xZAopSnknX9h9FGQfHI7laMOHbKBLJwrukbaTd /5VjyziwU1YcNdpNB+4Uam2hkvqpFC/Jugs8z0tLLZuU7ZovQOcQiSuwJtN6mm7Eu5NBWbSPodZQa bWZsM7eEwKDiIUNRJWAgWr5epf0FA6gwo4ma9YJtc5GT4EaG0+cXa9wQ1QT207oF4mm9wUf1zZU/i VEbahsbA76toIwwS1EPztdQnaG/PMXWpSv6SobkZtqbgDVzuChBiyxtHFC0oyShmjpjsTbCBs/o1L fPVDqHhPeucPIg==; Date: Tue, 23 Sep 2025 09:25:01 +0300 Message-Id: <86cy7heldu.fsf@gnu.org> From: Eli Zaretskii To: David Rosenbaum In-Reply-To: (message from David Rosenbaum on Mon, 22 Sep 2025 15:17:48 -0700) Subject: Re: bug#79485: 31.0.50; Loaded files inherit read-symbol-shorthands References: <87ikhb5pf5.fsf@localhost> <86y0q7dm5s.fsf@gnu.org> <86ikhae1d8.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: 79485 Cc: 79485@debbugs.gnu.org, joaotavora@gmail.com 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: David Rosenbaum > Date: Mon, 22 Sep 2025 15:17:48 -0700 > Cc: joaotavora@gmail.com, 79485@debbugs.gnu.org > > I think package authors are already aware that all prefixes will be replaced. It's just that there don't seem to > be good alternatives for dealing with these sorts of namespace issues as all the options have downsides. > > I already mentioned what I wrote below but I forgot to reply all and also may not have been particularly clear > anyway so I'll try again. > > My preferred solution would be to make a special character cause the whole symbol to be matched instead > of just the prefix. # is already not readable at the start of a symbol so it seems like that wouldn't cause > conflicts. For example: > > ;; read-symbol-shorthands: ( > ;; ("mvlp-" . "my-very-long-prefix-") > ;; ("#db" . "cl-destructuring-bind")) > > The idea is that "db" is only replaced when it matches the entire symbol due to the #. "mvlp-" on the other > hand is replaced whenever it occurs as the prefix of a symbol. I think we should wait with enhancements until after the bug mentioned by João is fixed.