X-Loop: help-debbugs@HIDDEN Subject: bug#43557: 28.0.50; Please document which objects are mutable and which are not Resent-From: Philipp Stephani <p.stephani2@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Tue, 22 Sep 2020 08:30:02 +0000 Resent-Message-ID: <handler.43557.B.16007633749594 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 43557 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 43557 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.16007633749594 (code B ref -1); Tue, 22 Sep 2020 08:30:02 +0000 Received: (at submit) by debbugs.gnu.org; 22 Sep 2020 08:29:34 +0000 Received: from localhost ([127.0.0.1]:57099 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kKdg5-0002Uf-SA for submit <at> debbugs.gnu.org; Tue, 22 Sep 2020 04:29:34 -0400 Received: from lists.gnu.org ([209.51.188.17]:56410) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <p.stephani2@HIDDEN>) id 1kKdg1-0002UV-St for submit <at> debbugs.gnu.org; Tue, 22 Sep 2020 04:29:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51676) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <p.stephani2@HIDDEN>) id 1kKdg1-0003Cq-My for bug-gnu-emacs@HIDDEN; Tue, 22 Sep 2020 04:29:29 -0400 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]:35351) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <p.stephani2@HIDDEN>) id 1kKdfz-00071D-Sg for bug-gnu-emacs@HIDDEN; Tue, 22 Sep 2020 04:29:29 -0400 Received: by mail-ej1-x632.google.com with SMTP id u21so21655405eja.2 for <bug-gnu-emacs@HIDDEN>; Tue, 22 Sep 2020 01:29:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=WVVHOGyBHhIcrfz3V4yn+1Az3IrTJbeOBDK8DMBJC9c=; b=ZjYlCCYJKipMHPKsWswDdhUsHSYbJz3WXDjwV0BElLcJQ3anbOP9dVctC97RSGDLwX H/PdfuGy/z6DlvhCbuiuUSjVGtlTHYLUp0TLVcKTYNtJ56Ic5c4699lI08D0pQBbNEMB QiCrUOc7TAtCJwtelNmTnFQQR6dd+NUkdNJDt5G53sFVJkdTcoG7jRjHT2u/fs8xg9ZH xkDuozy3jPd2eMvEITtaUW+jRxjzfgZ6ZfwdSZEfmnR2Y5ueASBqZlZLsQTCpcmm7lzW Mk7s/wukufr5DDxyhqNsomHoEAPIQONQT8zi+QiJHYI3bKTGMegSNRLd29dBoI0f3X18 2GIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=WVVHOGyBHhIcrfz3V4yn+1Az3IrTJbeOBDK8DMBJC9c=; b=mjJtt4CEuz+G3rINKfO7h2BW+aSCZDPp8SngxOo2J/ad2Vc6CvXJ0VjkRSW1QjrMC7 UuUyIEjCIrnJNxQwvF8vONC458Lg+TtwXoV0Mca5hLO+0S5UjILxrEzBgOkfXQWoH8Yv ygpeKFJZzZmSfTc42WuNg8bgIDlsoBXbE7jEV14LbtUVY0+7KAMqKtl0vZ3cf8h19VTG J7vWDpJX1BP5KlhkqGO5fK/h/2MhuwkZcjHT5siWakh8eztBq7Zpm1ypiYezs48c34r2 f88pb33Lpp0FIe90xgHyHu10ewZeia+99ZyYISTcGaNLqGIfyJVgpENY/pMeAYOFmylP GL8A== X-Gm-Message-State: AOAM532M8hxQmFNQkC01ZfqFYzI8lMzNuiB31bWFDJH0njB7H3COg6F/ m7e5tbpIX0I016OYhE46rwOrNYZxilfZvQ== X-Google-Smtp-Source: ABdhPJz4wMRgwt6GcSq/PVJ/WkkTC7v5H04/tkYcRWjlpC21QW9qWxD9NMvrxtIghZzri33XF+RVJg== X-Received: by 2002:a17:906:82c1:: with SMTP id a1mr3623753ejy.270.1600763365470; Tue, 22 Sep 2020 01:29:25 -0700 (PDT) Received: from phst1 (p57aaf82a.dip0.t-ipconnect.de. [87.170.248.42]) by smtp.gmail.com with ESMTPSA id cf7sm10460702edb.78.2020.09.22.01.29.24 for <bug-gnu-emacs@HIDDEN> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2020 01:29:24 -0700 (PDT) From: Philipp Stephani <p.stephani2@HIDDEN> Date: Tue, 22 Sep 2020 10:29:22 +0200 Message-ID: <wvr4imc6cizh.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::632; envelope-from=p.stephani2@HIDDEN; helo=mail-ej1-x632.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. 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_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.1 (--) The "Mutability" section in the ELisp manual mentions that there are mutable and immutable objects, but (besides giving a few examples) doesn't document which objects are actually mutable. At the very least, there should be a list of functions that are guaranteed to return mutable objects, and a statement about the mutability of function return values in general. In GNU Emacs 28.0.50 (build 106, x86_64-pc-linux-gnu, GTK+ Version 3.24.20,= cairo version 1.16.0) of 2020-09-22 Repository revision: 797ff44d53ef4c4b800de8467b403c876cac3c1f Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12008000 System Description: Debian GNU/Linux rodete Configured using: 'configure --enable-gcc-warnings=3Dwarn-only --enable-gtk-deprecation-warnings --without-pop --with-mailutils --enable-checking=3Dall --enable-check-lisp-object-type --with-modules 'CFLAGS=3D-O1 -ggdb3 -fno-omit-frame-pointer -fsanitize=3Daddress -fsanitize=3Dundefined -fsanitize=3Dpointer-compare -fsanitize=3Dpointer-subtract'' Configured features: XPM JPEG TIFF GIF PNG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY LIBSELINUX GNUTLS FREETYPE HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER Important settings: value of $LANG: en_US.utf8 value of $XMODIFIERS: @im=3Dibus locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-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 auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc dired dired-loaddefs rfc822 mml easymenu mml-sec epa epg epg-config gnus-util rmail rmail-loaddefs text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils phst skeleton derived edmacro kmacro pcase ffap thingatpt url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars mailcap rx gnutls puny dbus xml subr-x seq byte-opt gv bytecomp byte-compile cconv compile comint ansi-color ring cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic 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 charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 69082 7098) (symbols 48 8666 1) (strings 32 23937 1390) (string-bytes 1 771102) (vectors 16 13762) (vector-slots 8 188421 5360) (floats 8 26 30) (intervals 56 219 0) (buffers 992 11)) --=20 Google Germany GmbH Erika-Mann-Stra=C3=9Fe 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Diese E-Mail ist vertraulich. Falls Sie diese f=C3=A4lschlicherweise erhal= ten haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, l=C3=B6sche= n Sie alle Kopien und Anh=C3=A4nge davon und lassen Sie mich bitte wissen, dass d= ie E-Mail an die falsche Person gesendet wurde. This e-mail is confidential. If you received this communication by mistake, please don=E2=80=99t forward it to anyone else, please erase all copies and attachments, and please let me know that it has gone to the wrong person.
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Philipp Stephani <p.stephani2@HIDDEN> Subject: bug#43557: Acknowledgement (28.0.50; Please document which objects are mutable and which are not) Message-ID: <handler.43557.B.16007633749594.ack <at> debbugs.gnu.org> References: <wvr4imc6cizh.fsf@HIDDEN> X-Gnu-PR-Message: ack 43557 X-Gnu-PR-Package: emacs Reply-To: 43557 <at> debbugs.gnu.org Date: Tue, 22 Sep 2020 08:30:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 43557 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 43557: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D43557 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#43557: 28.0.50; Please document which objects are mutable and which are not Resent-From: Lars Ingebrigtsen <larsi@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 15 Oct 2020 15:35:02 +0000 Resent-Message-ID: <handler.43557.B43557.160277609428160 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 43557 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Philipp Stephani <p.stephani2@HIDDEN> Cc: 43557 <at> debbugs.gnu.org Received: via spool by 43557-submit <at> debbugs.gnu.org id=B43557.160277609428160 (code B ref 43557); Thu, 15 Oct 2020 15:35:02 +0000 Received: (at 43557) by debbugs.gnu.org; 15 Oct 2020 15:34:54 +0000 Received: from localhost ([127.0.0.1]:56253 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kT5HK-0007K7-3K for submit <at> debbugs.gnu.org; Thu, 15 Oct 2020 11:34:54 -0400 Received: from quimby.gnus.org ([95.216.78.240]:44436) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <larsi@HIDDEN>) id 1kT5HI-0007Jt-HJ for 43557 <at> debbugs.gnu.org; Thu, 15 Oct 2020 11:34:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=3zNXDLAr8mIQyT5GXum5YuwZMzek2HACdmBiJ27hIDo=; b=jruAZYcm0sIhelBZz3dPIkkRiG 6gPj/J5rH6oiAKq68TjnqO9ST5qCYkdMpCjM8LvjZOtDhF8hTWBcI5wcdEqMV2Hm31XDoftjDMMky DvM+vTGe81Rg2VWPLWvDYrwstQmKAxzWqyua9xyq0BXakMtEMaWlINhQa3wHVBRJNdFw=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <larsi@HIDDEN>) id 1kT5H8-0005pm-Kk; Thu, 15 Oct 2020 17:34:46 +0200 From: Lars Ingebrigtsen <larsi@HIDDEN> References: <wvr4imc6cizh.fsf@HIDDEN> X-Now-Playing: Oval's _Popp_: "my" Date: Thu, 15 Oct 2020 17:34:41 +0200 In-Reply-To: <wvr4imc6cizh.fsf@HIDDEN> (Philipp Stephani's message of "Tue, 22 Sep 2020 10:29:22 +0200") Message-ID: <87mu0nv6y6.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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 @@CONTACT_ADDRESS@@ for details. Content preview: Philipp Stephani <p.stephani2@HIDDEN> writes: > The "Mutability" section in the ELisp manual mentions that there are > mutable and immutable objects, but (besides giving a few examples) > doesn't document which objects are actually mutable. At th [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Philipp Stephani <p.stephani2@HIDDEN> writes: > The "Mutability" section in the ELisp manual mentions that there are > mutable and immutable objects, but (besides giving a few examples) > doesn't document which objects are actually mutable. At the very least, > there should be a list of functions that are guaranteed to return > mutable objects, and a statement about the mutability of function return > values in general. Reading the section, it seems pretty clear to me, and outlines the cases where you can't assume mutability (even if the objects may appear to be mutable). I'm not sure a list of mutable objects is a well-defined request, and there are very few functions that can promise to return a mutable object. (I mean, (list 1 2 immutable-list) is mutable, but can contain elements that aren't.) So I'm not sure whether what you're requesting is feasible. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
X-Loop: help-debbugs@HIDDEN Subject: bug#43557: 28.0.50; Please document which objects are mutable and which are not Resent-From: Philipp Stephani <p.stephani2@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 31 Oct 2020 15:55:02 +0000 Resent-Message-ID: <handler.43557.B43557.16041596963140 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 43557 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Lars Ingebrigtsen <larsi@HIDDEN> Cc: 43557 <at> debbugs.gnu.org Received: via spool by 43557-submit <at> debbugs.gnu.org id=B43557.16041596963140 (code B ref 43557); Sat, 31 Oct 2020 15:55:02 +0000 Received: (at 43557) by debbugs.gnu.org; 31 Oct 2020 15:54:56 +0000 Received: from localhost ([127.0.0.1]:34336 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kYtDU-0000oa-Fl for submit <at> debbugs.gnu.org; Sat, 31 Oct 2020 11:54:56 -0400 Received: from mail-ot1-f50.google.com ([209.85.210.50]:44553) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <p.stephani2@HIDDEN>) id 1kYtDS-0000oN-Ji for 43557 <at> debbugs.gnu.org; Sat, 31 Oct 2020 11:54:54 -0400 Received: by mail-ot1-f50.google.com with SMTP id m26so8438828otk.11 for <43557 <at> debbugs.gnu.org>; Sat, 31 Oct 2020 08:54:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=4dCiN5rXTM5XnYU71SSgUFKZon0PiPcatFUj3ERYuTg=; b=eRYHQjy4w2T0QUU3juWAwuy0aVuVjVgPUfMcNh0Pd4jetqn3JEisFXa6YtEW5Xc2a5 aXOb4HTfQBaD5X6CUUI+n1UZ27tv1+A+Xj8SbISEkOmxlRdGTwdlG4TeNwZHK4Dk3hy/ LTAZgqv4rI9xG74tRW0JKf0Zfg7kbuLzqqDRl8Oik3MSFDU0AyFqkLW6cFik2XkcGcJK gRR8SOUcXp10pCpOBjhe4bvzPyN61feBjfO7vziPfqAodSCi0Wwq/zgDYq9wPPOR11bQ PQunPelurjhNJjxug1+UtxfEdc7qrlj+x1a5DeJ/DQtxdxfS3A5vZ+a36TXws14RMKSo ZY1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=4dCiN5rXTM5XnYU71SSgUFKZon0PiPcatFUj3ERYuTg=; b=Oip6BTtOqjGK0vKqC04/aSM8i+Bg9KqBxOPtImNf33YBY3zip2yKsE0g6lkheRhLvX OPaIMplwu7kYFKcxueXPFaQR2YkFC/APLDUvOmTxkGecueO98xpJXZM79xkJztsjiJa3 Rbf9Im8zj0OK5lozjT35XQCW0LEdJU9/URj5LayyxfoMB0ehJyo2Y2YRw2xHzJP/Z0J2 G1L/4OtLud1All/M0h9uqmt5prOVDa0ejaXBw4+lBdBBS9dg6VOIF+ZX3kcJcN541RXt Bhox7jI8uuxhg3bXy8GbVSCBsJDGu0oUCnyMsAM7bxE5TvNXxMGGDhAbvTTAX25l+beb 31Mg== X-Gm-Message-State: AOAM5335omOhecId0PfIvpxrMTt+B5uAyCJ6G/1CbbDPpyYXY0qZCvSC 6NzZwVYJYkTZzhA6pRm2Vtl2UUSjxfYA6o10v+A= X-Google-Smtp-Source: ABdhPJw+i+Lnv0TzCJidh97qpePMLcQTQnD3KtgBWFuvsMeY3u73umHNP6xeqM4IYRza9MS13z+Uclbzc0OZ8mIe5W4= X-Received: by 2002:a9d:6e88:: with SMTP id a8mr5489532otr.174.1604159688818; Sat, 31 Oct 2020 08:54:48 -0700 (PDT) MIME-Version: 1.0 References: <wvr4imc6cizh.fsf@HIDDEN> <87mu0nv6y6.fsf@HIDDEN> In-Reply-To: <87mu0nv6y6.fsf@HIDDEN> From: Philipp Stephani <p.stephani2@HIDDEN> Date: Sat, 31 Oct 2020 16:54:37 +0100 Message-ID: <CAArVCkTT+eqZAFvQaDxHHE18XWOrpS+HdRFSzgXHHqMefTEZ4g@HIDDEN> Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) Am Do., 15. Okt. 2020 um 17:34 Uhr schrieb Lars Ingebrigtsen <larsi@HIDDEN>: > > Philipp Stephani <p.stephani2@HIDDEN> writes: > > > The "Mutability" section in the ELisp manual mentions that there are > > mutable and immutable objects, but (besides giving a few examples) > > doesn't document which objects are actually mutable. At the very least, > > there should be a list of functions that are guaranteed to return > > mutable objects, and a statement about the mutability of function return > > values in general. > > Reading the section, it seems pretty clear to me, and outlines the cases > where you can't assume mutability (even if the objects may appear to be > mutable). I disagree. "Pretty clear" would mean "allowing the reader to classify each Lisp expression w.r.t. the mutability of its value", and as the section only gives a few examples, it can't do that. What it should do in addition is provide rules on how to classify any given Lisp expression. Each possible Lisp expression has to fall into exactly one of three categories: - The value is mutable. - The value is immutable. - It is unspecified whether the value is mutable or immutable. Given that we can't document this for every Lisp function in existence, we need to pick some default, and document that default in the manual. Also, we need to document the cases where the default doesn't apply, either in the manual or in function docstrings. I'm happy to add the necessary documentation, but for that we first need a decision what the default is, and what the exceptions are. > > I'm not sure a list of mutable objects is a well-defined request, and > there are very few functions that can promise to return a mutable > object. (I mean, (list 1 2 immutable-list) is mutable, but can contain > elements that aren't.) Then the docstring of `list' and the ELisp manual should say that. The difference between shallow and deep immutability might not be clear to all readers, so it's important that it's documented as well. > > So I'm not sure whether what you're requesting is feasible. It must be feasible, otherwise programming in ELisp becomes, strictly speaking, impossible. Given code such as (let ((var (some-list-returning-function ...))) ...) it must be possible for programmers to derive whether (setcar var ...) is allowed from some set of rules plus the docstring of the function. This is not some theoretical problem: This bug was triggered by a code review where the author and reviewer disagreed what could be assumed about the mutability of the return value of arbitrary functions, so fixing this bug has very practical consequences.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.