From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 06 16:47:42 2023 Received: (at submit) by debbugs.gnu.org; 6 Dec 2023 21:47:42 +0000 Received: from localhost ([127.0.0.1]:40574 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rAzk2-00031E-DP for submit@debbugs.gnu.org; Wed, 06 Dec 2023 16:47:42 -0500 Received: from lists.gnu.org ([2001:470:142::17]:49976) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rAzjx-00030t-4L for submit@debbugs.gnu.org; Wed, 06 Dec 2023 16:47:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rAzje-0001E5-GZ for bug-gnu-emacs@gnu.org; Wed, 06 Dec 2023 16:47:14 -0500 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rAzjY-0002P5-6D for bug-gnu-emacs@gnu.org; Wed, 06 Dec 2023 16:47:13 -0500 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-6ce6dd83945so266152b3a.3 for ; Wed, 06 Dec 2023 13:47:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701899226; x=1702504026; darn=gnu.org; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=mQ+iHiFfLVUfSBGUAauD2Nhu0mR79DIYKUKU6TOZTto=; b=ZO4oogflw6TiyuF4pzNYO+pnE7cOOCOIrS2abjQztS8pl/6r4s6S9su8msxlD4wqQ4 QBS9/LYZIHZLSVdMMUuW7g53nswF0RibfBxjyaraX1mu5H/6Spj2QBv/9ZYZHrG/3W9m EtNQWWiyepZjzEYRJCdyIRGaVHiYAJjInn0naoKfSYtbmUsXtkq4BdE0LY7mSXPm1v9D HXdEXF3Mz36KP7yEUcIJPADpqmeFn16UeHkMaz2rpLzY6T9od4wj65C1Rq3cErMcRsqe RYK5ACL/rigKe7r5vPW0N9Hxl31futPEmoHK9RwZzS6rhzwD8oJIqDSk7raPc+dZMrU5 y9Hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701899226; x=1702504026; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=mQ+iHiFfLVUfSBGUAauD2Nhu0mR79DIYKUKU6TOZTto=; b=jl1gtOphvJIz9x/ytbvW+F9rOrbn2SyJYsGnb1aKgXc3KFcZVDFCfyHRqeVYnNMay/ bH94m8xe2aM8gpaZpplcdA8HNqhJ0NvMM1CONyF0h2p8F0j31hibpV8gTiC8btCsUxC0 /vaEM4r0TaKKj3xmcpZorA/OsZCa3JXNA6kvzbSh/0klUa+KD0Rq3gfEvGiF5QcN2pc/ fo8rbIp0O/jjX8tnVni5oG4dgF3VmSky02TzL+cyJXtGgor5NT25Kh7bnmqG23CUGL3I U77MWpMs3m7ui2Z5tCd+9ObMH1lDQoe0wECRzSRO27LUvvRLoNuxNngXHpUdQ712ZNux 80jw== X-Gm-Message-State: AOJu0Yyfc8r++ClMxoMV/IVFJxAzpMssN8fLR42lIWWWBbWgmyXqO8zc /li+mMh1YY6LZXRI9Mmo5SI/vZf6wjI= X-Google-Smtp-Source: AGHT+IGsB/cZxnUSW1ALjKs+0FukbeHsTMieQkX7CF4fLyKpWJMhdUJU0wDBoeKAr0UBqOpYTqTtng== X-Received: by 2002:a05:6a00:98e:b0:6ce:6420:e174 with SMTP id u14-20020a056a00098e00b006ce6420e174mr1923894pfg.36.1701899224332; Wed, 06 Dec 2023 13:47:04 -0800 (PST) Received: from debian-hx90 (2603-8000-a400-0cdc-3dac-d3fe-9e60-1459.res6.spectrum.com. [2603:8000:a400:cdc:3dac:d3fe:9e60:1459]) by smtp.gmail.com with ESMTPSA id k10-20020a056a00134a00b006cdda10bdafsm420307pfu.183.2023.12.06.13.47.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Dec 2023 13:47:03 -0800 (PST) From: Xiyue Deng To: bug-gnu-emacs@gnu.org Subject: 29.1; Drop text suggesting using `and' to replace `if' Date: Wed, 06 Dec 2023 13:47:02 -0800 Message-ID: <87v89buhpl.fsf@debian-hx90.lan> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::42c; envelope-from=manphiz@gmail.com; helo=mail-pf1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) 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.0 (/) In section "the `kill-new' function" - the third last paragraph to be precise - there are some texts in parentheses that discusses potentially using an `and' to replace the `if' statement being discussed. It looks like to be referring to an earlier version of the code example[1] before using the version from Emacs 22. Meanwhile, it looks like relying on the side effect of `and' to emulate an `if' may not be a good idea nowadays. So is it OK to drop this advice? [1] https://git.savannah.gnu.org/cgit/emacs.git/tree/doc/lispintro/emacs-lisp-intro.texi#n8597 In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37, cairo version 1.16.0) of 2023-09-19, modified by Debian built on debian-hx90 System Description: Debian GNU/Linux 12 (bookworm) Configured using: 'configure --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/libexec --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --with-native-compilation --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/libexec --localstatedir=/var/lib --infodir=/usr/share/info --mandir=/usr/share/man --with-libsystemd --with-pop=yes --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.1/site-lisp:/usr/share/emacs/site-lisp --with-sound=alsa --without-gconf --with-mailutils --with-native-compilation --with-cairo --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2 -ffile-prefix-map=/build/emacs-bYKTEl/emacs-29.1+1=. -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX 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 XINPUT2 XPM GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Texinfo/P Minor modes in effect: TeX-PDF-mode: t global-git-commit-mode: t magit-auto-revert-mode: t shell-dirtrack-mode: t windmove-mode: t flyspell-mode: t rcirc-track-minor-mode: t server-mode: t bug-reference-prog-mode: t global-company-mode: t company-mode: t icomplete-mode: t fido-mode: t override-global-mode: t global-display-line-numbers-mode: t display-line-numbers-mode: t global-auto-revert-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t tab-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-packages hides /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm-packages /home/xiyueden/.config/emacs/elpa/async-1.9.8/smtpmail-async hides /usr/share/emacs/site-lisp/elpa/async-1.9.7/smtpmail-async /home/xiyueden/.config/emacs/elpa/async-1.9.8/async-bytecomp hides /usr/share/emacs/site-lisp/elpa/async-1.9.7/async-bytecomp /home/xiyueden/.config/emacs/elpa/async-1.9.8/dired-async hides /usr/share/emacs/site-lisp/elpa/async-1.9.7/dired-async /home/xiyueden/.config/emacs/elpa/async-1.9.8/async hides /usr/share/emacs/site-lisp/elpa/async-1.9.7/async /home/xiyueden/.config/emacs/elpa/async-1.9.8/async-pkg hides /usr/share/emacs/site-lisp/elpa/async-1.9.7/async-pkg /home/xiyueden/.config/emacs/elpa/async-1.9.8/async-autoloads hides /usr/share/emacs/site-lisp/elpa/async-1.9.7/async-autoloads /home/xiyueden/.config/emacs/elpa/bar-cursor-20201204.2244/bar-cursor-pkg hides /usr/share/emacs/site-lisp/elpa/bar-cursor-2.0/bar-cursor-pkg /home/xiyueden/.config/emacs/elpa/bar-cursor-20201204.2244/bar-cursor hides /usr/share/emacs/site-lisp/elpa/bar-cursor-2.0/bar-cursor /home/xiyueden/.config/emacs/elpa/bar-cursor-20201204.2244/bar-cursor-autoloads hides /usr/share/emacs/site-lisp/elpa/bar-cursor-2.0/bar-cursor-autoloads /home/xiyueden/.config/emacs/elpa/bm-202309/bm-pkg hides /usr/share/emacs/site-lisp/elpa/bm-201905/bm-pkg /home/xiyueden/.config/emacs/elpa/bm-202309/bm hides /usr/share/emacs/site-lisp/elpa/bm-201905/bm /home/xiyueden/.config/emacs/elpa/bm-202309/bm-sync hides /usr/share/emacs/site-lisp/elpa/bm-201905/bm-sync /home/xiyueden/.config/emacs/elpa/bm-202309/bm-autoloads hides /usr/share/emacs/site-lisp/elpa/bm-201905/bm-autoloads /home/xiyueden/.config/emacs/elpa/boxquote-2.3/boxquote hides /usr/share/emacs/site-lisp/elpa/boxquote-2.2/boxquote /home/xiyueden/.config/emacs/elpa/boxquote-2.3/boxquote-autoloads hides /usr/share/emacs/site-lisp/elpa/boxquote-2.2/boxquote-autoloads /home/xiyueden/.config/emacs/elpa/boxquote-2.3/boxquote-pkg hides /usr/share/emacs/site-lisp/elpa/boxquote-2.2/boxquote-pkg /home/xiyueden/.config/emacs/elpa/buttercup-1.32/buttercup hides /usr/share/emacs/site-lisp/elpa/buttercup-1.26/buttercup /home/xiyueden/.config/emacs/elpa/buttercup-1.32/buttercup-pkg hides /usr/share/emacs/site-lisp/elpa/buttercup-1.26/buttercup-pkg /home/xiyueden/.config/emacs/elpa/buttercup-1.32/buttercup-compat hides /usr/share/emacs/site-lisp/elpa/buttercup-1.26/buttercup-compat /home/xiyueden/.config/emacs/elpa/buttercup-1.32/buttercup-autoloads hides /usr/share/emacs/site-lisp/elpa/buttercup-1.26/buttercup-autoloads /home/xiyueden/.config/emacs/elpa/cmake-mode-3.27.8/cmake-mode hides /usr/share/emacs/site-lisp/elpa/cmake-mode-3.25.1/cmake-mode /home/xiyueden/.config/emacs/elpa/cmake-mode-3.27.8/cmake-mode-autoloads hides /usr/share/emacs/site-lisp/elpa/cmake-mode-3.25.1/cmake-mode-autoloads /home/xiyueden/.config/emacs/elpa/cmake-mode-3.27.8/cmake-mode-pkg hides /usr/share/emacs/site-lisp/elpa/cmake-mode-3.25.1/cmake-mode-pkg /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-pkg hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-pkg /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-dabbrev hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-dabbrev /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-files hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-files /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-abbrev hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-abbrev /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-capf hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-capf /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-clang hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-clang /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-yasnippet hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-yasnippet /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-ispell hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-ispell /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-cmake hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-cmake /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-dabbrev-code hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-dabbrev-code /home/xiyueden/.config/emacs/elpa/company-0.10.2/company hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-etags hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-etags /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-template hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-template /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-css hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-css /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-oddmuse hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-oddmuse /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-bbdb hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-bbdb /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-tempo hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-tempo /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-tng hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-tng /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-nxml hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-nxml /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-gtags hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-gtags /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-autoloads hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-autoloads /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-elisp hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-elisp /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-keywords hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-keywords /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-semantic hides /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-semantic /home/xiyueden/.config/emacs/elpa/diminish-0.46/diminish-pkg hides /usr/share/emacs/site-lisp/elpa/diminish-0.45/diminish-pkg /home/xiyueden/.config/emacs/elpa/diminish-0.46/diminish hides /usr/share/emacs/site-lisp/elpa/diminish-0.45/diminish /home/xiyueden/.config/emacs/elpa/diminish-0.46/diminish-autoloads hides /usr/share/emacs/site-lisp/elpa/diminish-0.45/diminish-autoloads /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads hides /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-autoloads /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-perl hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-perl /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-javascript-bower hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-javascript-bower /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-autoloads hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-autoloads /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-arduino hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-arduino /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-javascript-grunt hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-javascript-grunt /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-ruby hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-ruby /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-python hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-python /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-clojure-leiningen hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-clojure-leiningen /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-extras hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-extras /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-javascript-npm hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-javascript-npm /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-php-composer hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-php-composer /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-android hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-android /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-ruby-on-rails hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-ruby-on-rails /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-pkg hides /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-pkg /home/xiyueden/.config/emacs/elpa/folding-20231003.959/folding hides /usr/share/emacs/site-lisp/elpa/folding-20220110.1718/folding /home/xiyueden/.config/emacs/elpa/folding-20231003.959/folding-autoloads hides /usr/share/emacs/site-lisp/elpa/folding-20220110.1718/folding-autoloads /home/xiyueden/.config/emacs/elpa/folding-20231003.959/folding-pkg hides /usr/share/emacs/site-lisp/elpa/folding-20220110.1718/folding-pkg /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/git-modes hides /usr/share/emacs/site-lisp/elpa/git-modes-1.4.0/git-modes /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/git-modes-pkg hides /usr/share/emacs/site-lisp/elpa/git-modes-1.4.0/git-modes-pkg /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/git-modes-autoloads hides /usr/share/emacs/site-lisp/elpa/git-modes-1.4.0/git-modes-autoloads /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/gitattributes-mode hides /usr/share/emacs/site-lisp/elpa/gitattributes-mode-1.4.0/gitattributes-mode /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/gitconfig-mode hides /usr/share/emacs/site-lisp/elpa/gitconfig-mode-1.4.0/gitconfig-mode /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/gitignore-mode hides /usr/share/emacs/site-lisp/elpa/gitignore-mode-1.4.0/gitignore-mode /home/xiyueden/.config/emacs/elpa/gnuplot-0.8.1/gnuplot-context hides /usr/share/emacs/site-lisp/elpa/gnuplot-0.8.0/gnuplot-context /home/xiyueden/.config/emacs/elpa/gnuplot-0.8.1/gnuplot hides /usr/share/emacs/site-lisp/elpa/gnuplot-0.8.0/gnuplot /home/xiyueden/.config/emacs/elpa/gnuplot-0.8.1/gnuplot-gui hides /usr/share/emacs/site-lisp/elpa/gnuplot-0.8.0/gnuplot-gui /home/xiyueden/.config/emacs/elpa/gnuplot-0.8.1/gnuplot-autoloads hides /usr/share/emacs/site-lisp/elpa/gnuplot-0.8.0/gnuplot-autoloads /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads hides /usr/share/emacs/site-lisp/elpa/gnuplot-0.8.0/debian-autoloads /home/xiyueden/.config/emacs/elpa/gnuplot-0.8.1/gnuplot-pkg hides /usr/share/emacs/site-lisp/elpa/gnuplot-0.8.0/gnuplot-pkg /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-find hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-find /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-font hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-font /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-net hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-net /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-locate hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-locate /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-external hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-external /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-grep hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-grep /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-id-utils hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-id-utils /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-global-bindings hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-global-bindings /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-semantic hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-semantic /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-x-files hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-x-files /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-eval hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-eval /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-misc hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-misc /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-eshell hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-eshell /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-occur hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-occur /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-info hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-info /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-mode hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-mode /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-bookmark hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-bookmark /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-tags hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-tags /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-for-files hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-for-files /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-elisp hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-elisp /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-imenu hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-imenu /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-color hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-color /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-types hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-types /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-adaptive hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-adaptive /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-man hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-man /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-regexp hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-regexp /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-pkg hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-pkg /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-ring hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-ring /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-utils hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-utils /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-sys hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-sys /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-easymenu hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-easymenu /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-autoloads hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-autoloads /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-buffers hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-buffers /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-help hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-help /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-files hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-files /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-dabbrev hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-dabbrev /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-command hides /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-command /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm hides /usr/share/emacs/site-lisp/elpa/helm-core-3.8.4/helm /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm-core-pkg hides /usr/share/emacs/site-lisp/elpa/helm-core-3.8.4/helm-core-pkg /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm-multi-match hides /usr/share/emacs/site-lisp/elpa/helm-core-3.8.4/helm-multi-match /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm-lib hides /usr/share/emacs/site-lisp/elpa/helm-core-3.8.4/helm-lib /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm-source hides /usr/share/emacs/site-lisp/elpa/helm-core-3.8.4/helm-source /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm-core-autoloads hides /usr/share/emacs/site-lisp/elpa/helm-core-3.8.4/helm-core-autoloads /home/xiyueden/.config/emacs/elpa/htmlize-1.57/htmlize hides /usr/share/emacs/site-lisp/elpa/htmlize-1.56/htmlize /home/xiyueden/.config/emacs/elpa/htmlize-1.57/htmlize-autoloads hides /usr/share/emacs/site-lisp/elpa/htmlize-1.56/htmlize-autoloads /home/xiyueden/.config/emacs/elpa/htmlize-1.57/htmlize-pkg hides /usr/share/emacs/site-lisp/elpa/htmlize-1.56/htmlize-pkg /home/xiyueden/.config/emacs/elpa/initsplit-20160919.1818/initsplit hides /usr/share/emacs/site-lisp/elpa/initsplit-1.8/initsplit /home/xiyueden/.config/emacs/elpa/initsplit-20160919.1818/initsplit-autoloads hides /usr/share/emacs/site-lisp/elpa/initsplit-1.8/initsplit-autoloads /home/xiyueden/.config/emacs/elpa/initsplit-20160919.1818/initsplit-pkg hides /usr/share/emacs/site-lisp/elpa/initsplit-1.8/initsplit-pkg /home/xiyueden/.config/emacs/elpa/js2-mode-20230408/js2-imenu-extras hides /usr/share/emacs/site-lisp/elpa/js2-mode-20201220/js2-imenu-extras /home/xiyueden/.config/emacs/elpa/js2-mode-20230408/js2-old-indent hides /usr/share/emacs/site-lisp/elpa/js2-mode-20201220/js2-old-indent /home/xiyueden/.config/emacs/elpa/js2-mode-20230408/js2-mode hides /usr/share/emacs/site-lisp/elpa/js2-mode-20201220/js2-mode /home/xiyueden/.config/emacs/elpa/js2-mode-20230408/js2-mode-pkg hides /usr/share/emacs/site-lisp/elpa/js2-mode-20201220/js2-mode-pkg /home/xiyueden/.config/emacs/elpa/js2-mode-20230408/js2-mode-autoloads hides /usr/share/emacs/site-lisp/elpa/js2-mode-20201220/js2-mode-autoloads /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-section hides /usr/share/emacs/site-lisp/elpa/magit-section-3.3.0/magit-section /home/xiyueden/.config/emacs/elpa/markdown-mode-2.6/markdown-mode hides /usr/share/emacs/site-lisp/elpa/markdown-mode-2.5/markdown-mode /home/xiyueden/.config/emacs/elpa/markdown-mode-2.6/markdown-mode-pkg hides /usr/share/emacs/site-lisp/elpa/markdown-mode-2.5/markdown-mode-pkg /home/xiyueden/.config/emacs/elpa/markdown-mode-2.6/markdown-mode-autoloads hides /usr/share/emacs/site-lisp/elpa/markdown-mode-2.5/markdown-mode-autoloads /home/xiyueden/.config/emacs/elpa/meson-mode-0.3/meson-mode hides /usr/share/emacs/site-lisp/elpa/meson-mode-0.2/meson-mode /home/xiyueden/.config/emacs/elpa/meson-mode-0.3/utils hides /usr/share/emacs/site-lisp/elpa/meson-mode-0.2/utils /home/xiyueden/.config/emacs/elpa/meson-mode-0.3/meson-mode-autoloads hides /usr/share/emacs/site-lisp/elpa/meson-mode-0.2/meson-mode-autoloads /home/xiyueden/.config/emacs/elpa/meson-mode-0.3/meson-mode-pkg hides /usr/share/emacs/site-lisp/elpa/meson-mode-0.2/meson-mode-pkg /home/xiyueden/.config/emacs/elpa/popup-0.5.9/popup hides /usr/share/emacs/site-lisp/elpa/popup-0.5.8/popup /home/xiyueden/.config/emacs/elpa/popup-0.5.9/popup-pkg hides /usr/share/emacs/site-lisp/elpa/popup-0.5.8/popup-pkg /home/xiyueden/.config/emacs/elpa/popup-0.5.9/popup-autoloads hides /usr/share/emacs/site-lisp/elpa/popup-0.5.8/popup-autoloads /home/xiyueden/.config/emacs/elpa/rust-mode-1.0.5/rust-mode hides /usr/share/emacs/site-lisp/elpa/rust-mode-0.4.0/rust-mode /home/xiyueden/.config/emacs/elpa/rust-mode-1.0.5/rust-mode-autoloads hides /usr/share/emacs/site-lisp/elpa/rust-mode-0.4.0/rust-mode-autoloads /home/xiyueden/.config/emacs/elpa/rust-mode-1.0.5/rust-mode-pkg hides /usr/share/emacs/site-lisp/elpa/rust-mode-0.4.0/rust-mode-pkg /home/xiyueden/.config/emacs/elpa/session-20210422.53/session-autoloads hides /usr/share/emacs/site-lisp/elpa/session-2.4.2/session-autoloads /home/xiyueden/.config/emacs/elpa/session-20210422.53/session-pkg hides /usr/share/emacs/site-lisp/elpa/session-2.4.2/session-pkg /home/xiyueden/.config/emacs/elpa/session-20210422.53/session hides /usr/share/emacs/site-lisp/elpa/session-2.4.2/session /home/xiyueden/.config/emacs/elpa/tabbar-20180726.1735/tabbar-pkg hides /usr/share/emacs/site-lisp/elpa/tabbar-20160524/tabbar-pkg /home/xiyueden/.config/emacs/elpa/tabbar-20180726.1735/tabbar-autoloads hides /usr/share/emacs/site-lisp/elpa/tabbar-20160524/tabbar-autoloads /home/xiyueden/.config/emacs/elpa/tabbar-20180726.1735/tabbar hides /usr/share/emacs/site-lisp/elpa/tabbar-20160524/tabbar /home/xiyueden/.config/emacs/elpa/vterm-20230417.424/vterm hides /usr/share/emacs/site-lisp/elpa/vterm-0.0.2/vterm /home/xiyueden/.config/emacs/elpa/vterm-20230417.424/vterm-pkg hides /usr/share/emacs/site-lisp/elpa/vterm-0.0.2/vterm-pkg /home/xiyueden/.config/emacs/elpa/vterm-20230417.424/vterm-autoloads hides /usr/share/emacs/site-lisp/elpa/vterm-0.0.2/vterm-autoloads /home/xiyueden/.config/emacs/elpa/web-mode-17.3.15/web-mode-pkg hides /usr/share/emacs/site-lisp/elpa/web-mode-17.0.2/web-mode-pkg /home/xiyueden/.config/emacs/elpa/web-mode-17.3.15/web-mode-autoloads hides /usr/share/emacs/site-lisp/elpa/web-mode-17.0.2/web-mode-autoloads /home/xiyueden/.config/emacs/elpa/web-mode-17.3.15/web-mode hides /usr/share/emacs/site-lisp/elpa/web-mode-17.0.2/web-mode /home/xiyueden/.config/emacs/elpa/with-editor-3.3.2/with-editor-pkg hides /usr/share/emacs/site-lisp/elpa/with-editor-3.0.5/with-editor-pkg /home/xiyueden/.config/emacs/elpa/with-editor-3.3.2/with-editor hides /usr/share/emacs/site-lisp/elpa/with-editor-3.0.5/with-editor /home/xiyueden/.config/emacs/elpa/with-editor-3.3.2/with-editor-autoloads hides /usr/share/emacs/site-lisp/elpa/with-editor-3.0.5/with-editor-autoloads /home/xiyueden/.config/emacs/elpa/yaml-mode-0.0.16/yaml-mode-pkg hides /usr/share/emacs/site-lisp/elpa/yaml-mode-0.0.15/yaml-mode-pkg /home/xiyueden/.config/emacs/elpa/yaml-mode-0.0.16/yaml-mode hides /usr/share/emacs/site-lisp/elpa/yaml-mode-0.0.15/yaml-mode /home/xiyueden/.config/emacs/elpa/yaml-mode-0.0.16/yaml-mode-autoloads hides /usr/share/emacs/site-lisp/elpa/yaml-mode-0.0.15/yaml-mode-autoloads /home/xiyueden/.config/emacs/elpa/yasnippet-snippets-20230815.820/yasnippet-snippets hides /usr/share/emacs/site-lisp/elpa/yasnippet-snippets-20220713/yasnippet-snippets /home/xiyueden/.config/emacs/elpa/yasnippet-snippets-20230815.820/yasnippet-snippets-pkg hides /usr/share/emacs/site-lisp/elpa/yasnippet-snippets-20220713/yasnippet-snippets-pkg /home/xiyueden/.config/emacs/elpa/yasnippet-snippets-20230815.820/yasnippet-snippets-autoloads hides /usr/share/emacs/site-lisp/elpa/yasnippet-snippets-20220713/yasnippet-snippets-autoloads /home/xiyueden/.config/emacs/elpa/zenburn-theme-2.8.0/zenburn-theme hides /usr/share/emacs/site-lisp/elpa/zenburn-theme-2.7.0/zenburn-theme /home/xiyueden/.config/emacs/elpa/zenburn-theme-2.8.0/zenburn-theme-pkg hides /usr/share/emacs/site-lisp/elpa/zenburn-theme-2.7.0/zenburn-theme-pkg /home/xiyueden/.config/emacs/elpa/zenburn-theme-2.8.0/zenburn-theme-autoloads hides /usr/share/emacs/site-lisp/elpa/zenburn-theme-2.7.0/zenburn-theme-autoloads /usr/share/emacs/site-lisp/elpa/apache-mode-2.2.0/apache-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/apache-mode-2.2.0/apache-mode-autoloads /usr/share/emacs/site-lisp/elpa/apache-mode-2.2.0/apache-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/apache-mode-2.2.0/apache-mode-pkg /usr/share/emacs/site-lisp/elpa/apache-mode-2.2.0/apache-mode hides /usr/share/emacs/site-lisp/elpa-src/apache-mode-2.2.0/apache-mode /home/xiyueden/.config/emacs/elpa/async-1.9.8/smtpmail-async hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.7/smtpmail-async /home/xiyueden/.config/emacs/elpa/async-1.9.8/dired-async hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.7/dired-async /home/xiyueden/.config/emacs/elpa/async-1.9.8/async hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.7/async /home/xiyueden/.config/emacs/elpa/async-1.9.8/async-pkg hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.7/async-pkg /home/xiyueden/.config/emacs/elpa/async-1.9.8/async-autoloads hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.7/async-autoloads /home/xiyueden/.config/emacs/elpa/async-1.9.8/async-bytecomp hides /usr/share/emacs/site-lisp/elpa-src/async-1.9.7/async-bytecomp /home/xiyueden/.config/emacs/elpa/bar-cursor-20201204.2244/bar-cursor-pkg hides /usr/share/emacs/site-lisp/elpa-src/bar-cursor-2.0/bar-cursor-pkg /home/xiyueden/.config/emacs/elpa/bar-cursor-20201204.2244/bar-cursor hides /usr/share/emacs/site-lisp/elpa-src/bar-cursor-2.0/bar-cursor /home/xiyueden/.config/emacs/elpa/bar-cursor-20201204.2244/bar-cursor-autoloads hides /usr/share/emacs/site-lisp/elpa-src/bar-cursor-2.0/bar-cursor-autoloads /usr/share/emacs/site-lisp/elpa/bind-key-2.4.1/bind-key-autoloads hides /usr/share/emacs/site-lisp/elpa-src/bind-key-2.4.1/bind-key-autoloads /usr/share/emacs/site-lisp/elpa/bind-key-2.4.1/bind-key-pkg hides /usr/share/emacs/site-lisp/elpa-src/bind-key-2.4.1/bind-key-pkg /usr/share/emacs/site-lisp/elpa/bind-key-2.4.1/bind-key hides /usr/share/emacs/site-lisp/elpa-src/bind-key-2.4.1/bind-key /home/xiyueden/.config/emacs/elpa/bm-202309/bm-sync hides /usr/share/emacs/site-lisp/elpa-src/bm-201905/bm-sync /home/xiyueden/.config/emacs/elpa/bm-202309/bm-pkg hides /usr/share/emacs/site-lisp/elpa-src/bm-201905/bm-pkg /home/xiyueden/.config/emacs/elpa/bm-202309/bm-autoloads hides /usr/share/emacs/site-lisp/elpa-src/bm-201905/bm-autoloads /home/xiyueden/.config/emacs/elpa/bm-202309/bm hides /usr/share/emacs/site-lisp/elpa-src/bm-201905/bm /home/xiyueden/.config/emacs/elpa/boxquote-2.3/boxquote hides /usr/share/emacs/site-lisp/elpa-src/boxquote-2.2/boxquote /home/xiyueden/.config/emacs/elpa/boxquote-2.3/boxquote-autoloads hides /usr/share/emacs/site-lisp/elpa-src/boxquote-2.2/boxquote-autoloads /home/xiyueden/.config/emacs/elpa/boxquote-2.3/boxquote-pkg hides /usr/share/emacs/site-lisp/elpa-src/boxquote-2.2/boxquote-pkg /usr/share/emacs/site-lisp/elpa/browse-kill-ring-2.0.0/browse-kill-ring-pkg hides /usr/share/emacs/site-lisp/elpa-src/browse-kill-ring-2.0.0/browse-kill-ring-pkg /usr/share/emacs/site-lisp/elpa/browse-kill-ring-2.0.0/browse-kill-ring hides /usr/share/emacs/site-lisp/elpa-src/browse-kill-ring-2.0.0/browse-kill-ring /usr/share/emacs/site-lisp/elpa/browse-kill-ring-2.0.0/browse-kill-ring-autoloads hides /usr/share/emacs/site-lisp/elpa-src/browse-kill-ring-2.0.0/browse-kill-ring-autoloads /home/xiyueden/.config/emacs/elpa/buttercup-1.32/buttercup-pkg hides /usr/share/emacs/site-lisp/elpa-src/buttercup-1.26/buttercup-pkg /home/xiyueden/.config/emacs/elpa/buttercup-1.32/buttercup hides /usr/share/emacs/site-lisp/elpa-src/buttercup-1.26/buttercup /home/xiyueden/.config/emacs/elpa/buttercup-1.32/buttercup-autoloads hides /usr/share/emacs/site-lisp/elpa-src/buttercup-1.26/buttercup-autoloads /home/xiyueden/.config/emacs/elpa/buttercup-1.32/buttercup-compat hides /usr/share/emacs/site-lisp/elpa-src/buttercup-1.26/buttercup-compat /home/xiyueden/.config/emacs/elpa/cmake-mode-3.27.8/cmake-mode hides /usr/share/emacs/site-lisp/elpa-src/cmake-mode-3.25.1/cmake-mode /home/xiyueden/.config/emacs/elpa/cmake-mode-3.27.8/cmake-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/cmake-mode-3.25.1/cmake-mode-autoloads /home/xiyueden/.config/emacs/elpa/cmake-mode-3.27.8/cmake-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/cmake-mode-3.25.1/cmake-mode-pkg /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-dabbrev hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-dabbrev /usr/share/emacs/site-lisp/elpa/company-0.9.13/async-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/async-tests /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-capf hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-capf /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-yasnippet hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-yasnippet /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-ispell hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-ispell /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-etags hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-etags /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-template hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-template /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-abbrev hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-abbrev /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-files hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-files /usr/share/emacs/site-lisp/elpa/company-0.9.13/template-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/template-tests /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-xcode hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-xcode /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-css hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-css /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-tests /usr/share/emacs/site-lisp/elpa/company-0.9.13/bbdb-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/bbdb-tests /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-dabbrev-code hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-dabbrev-code /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-pkg hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-pkg /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-oddmuse hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-oddmuse /usr/share/emacs/site-lisp/elpa/company-0.9.13/clang-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/clang-tests /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-bbdb hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-bbdb /usr/share/emacs/site-lisp/elpa/company-0.9.13/transformers-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/transformers-tests /usr/share/emacs/site-lisp/elpa/company-0.9.13/frontends-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/frontends-tests /usr/share/emacs/site-lisp/elpa/company-0.9.13/core-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/core-tests /home/xiyueden/.config/emacs/elpa/company-0.10.2/company hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-clang hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-clang /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-nxml hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-nxml /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-gtags hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-gtags /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-tempo hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-tempo /usr/share/emacs/site-lisp/elpa/company-0.9.13/capf-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/capf-tests /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-autoloads hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-autoloads /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-cmake hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-cmake /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-tng hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-tng /usr/share/emacs/site-lisp/elpa/company-0.9.13/keywords-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/keywords-tests /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-elisp hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-elisp /usr/share/emacs/site-lisp/elpa/company-0.9.13/all hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/all /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-semantic hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-semantic /usr/share/emacs/site-lisp/elpa/company-0.9.13/company-eclim hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-eclim /usr/share/emacs/site-lisp/elpa/company-0.9.13/files-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/files-tests /usr/share/emacs/site-lisp/elpa/company-0.9.13/elisp-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/elisp-tests /home/xiyueden/.config/emacs/elpa/company-0.10.2/company-keywords hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/company-keywords /usr/share/emacs/site-lisp/elpa/company-0.9.13/cmake-tests hides /usr/share/emacs/site-lisp/elpa-src/company-0.9.13/cmake-tests /usr/share/emacs/site-lisp/elpa/csv-mode-1.22/csv-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/csv-mode-1.22/csv-mode-autoloads /usr/share/emacs/site-lisp/elpa/csv-mode-1.22/csv-mode hides /usr/share/emacs/site-lisp/elpa-src/csv-mode-1.22/csv-mode /usr/share/emacs/site-lisp/elpa/csv-mode-1.22/csv-mode-tests hides /usr/share/emacs/site-lisp/elpa-src/csv-mode-1.22/csv-mode-tests /usr/share/emacs/site-lisp/elpa/csv-mode-1.22/csv-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/csv-mode-1.22/csv-mode-pkg /usr/share/emacs/site-lisp/elpa/dash-2.19.1/dash hides /usr/share/emacs/site-lisp/elpa-src/dash-2.19.1/dash /usr/share/emacs/site-lisp/elpa/dash-2.19.1/dash-pkg hides /usr/share/emacs/site-lisp/elpa-src/dash-2.19.1/dash-pkg /usr/share/emacs/site-lisp/elpa/dash-2.19.1/dash-autoloads hides /usr/share/emacs/site-lisp/elpa-src/dash-2.19.1/dash-autoloads /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el-autoloads hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el-autoloads /usr/share/emacs/site-lisp/elpa/debian-el-37/apt-sources hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/apt-sources /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-bug hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-bug /usr/share/emacs/site-lisp/elpa/debian-el-37/apt-utils hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/apt-utils /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el-pkg hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el-pkg /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-autoloads /usr/share/emacs/site-lisp/elpa/debian-el-37/gnus-BTS hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/gnus-BTS /usr/share/emacs/site-lisp/elpa/debian-el-37/deb-view hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/deb-view /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-el hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/debian-el /usr/share/emacs/site-lisp/elpa/debian-el-37/preseed hides /usr/share/emacs/site-lisp/elpa-src/debian-el-37/preseed /usr/share/emacs/site-lisp/elpa/devscripts-40/devscripts hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/devscripts /usr/share/emacs/site-lisp/elpa/devscripts-40/devscripts-autoloads hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/devscripts-autoloads /usr/share/emacs/site-lisp/elpa/devscripts-40/pbuilder-mode hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/pbuilder-mode /usr/share/emacs/site-lisp/elpa/devscripts-40/devscripts-pkg hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/devscripts-pkg /usr/share/emacs/site-lisp/elpa/devscripts-40/pbuilder-log-view-mode hides /usr/share/emacs/site-lisp/elpa-src/devscripts-40/pbuilder-log-view-mode /home/xiyueden/.config/emacs/elpa/diminish-0.46/diminish-pkg hides /usr/share/emacs/site-lisp/elpa-src/diminish-0.45/diminish-pkg /home/xiyueden/.config/emacs/elpa/diminish-0.46/diminish hides /usr/share/emacs/site-lisp/elpa-src/diminish-0.45/diminish /home/xiyueden/.config/emacs/elpa/diminish-0.46/diminish-autoloads hides /usr/share/emacs/site-lisp/elpa-src/diminish-0.45/diminish-autoloads /usr/share/emacs/site-lisp/elpa/dockerfile-mode-1.7/dockerfile-mode hides /usr/share/emacs/site-lisp/elpa-src/dockerfile-mode-1.7/dockerfile-mode /usr/share/emacs/site-lisp/elpa/dockerfile-mode-1.7/dockerfile-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/dockerfile-mode-1.7/dockerfile-mode-autoloads /usr/share/emacs/site-lisp/elpa/dockerfile-mode-1.7/dockerfile-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/dockerfile-mode-1.7/dockerfile-mode-pkg /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-bts-control hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-bts-control /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-changelog-mode hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-changelog-mode /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/dpkg-dev-el-autoloads hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/dpkg-dev-el-autoloads /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/dpkg-dev-el-pkg hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/dpkg-dev-el-pkg /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-autoloads /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/dpkg-dev-el hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/dpkg-dev-el /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-control-mode hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-control-mode /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/debian-copyright hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/debian-copyright /usr/share/emacs/site-lisp/elpa/dpkg-dev-el-37.0/readme-debian hides /usr/share/emacs/site-lisp/elpa-src/dpkg-dev-el-37.0/readme-debian /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-perl hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-perl /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-javascript-bower hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-javascript-bower /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-autoloads hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-autoloads /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-javascript-grunt hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-javascript-grunt /usr/share/emacs/site-lisp/elpa/eproject-1.5/eproject-tests hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-tests /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-ruby hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-ruby /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-clojure-leiningen hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-clojure-leiningen /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-extras hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-extras /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-python hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-python /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-javascript-npm hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-javascript-npm /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-php-composer hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-php-composer /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-arduino hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-arduino /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-ruby-on-rails hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-ruby-on-rails /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-pkg hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-pkg /home/xiyueden/.config/emacs/elpa/eproject-20180312.1642/eproject-android hides /usr/share/emacs/site-lisp/elpa-src/eproject-1.5/eproject-android /home/xiyueden/.config/emacs/elpa/folding-20231003.959/folding hides /usr/share/emacs/site-lisp/elpa-src/folding-20220110.1718/folding /home/xiyueden/.config/emacs/elpa/folding-20231003.959/folding-autoloads hides /usr/share/emacs/site-lisp/elpa-src/folding-20220110.1718/folding-autoloads /home/xiyueden/.config/emacs/elpa/folding-20231003.959/folding-pkg hides /usr/share/emacs/site-lisp/elpa-src/folding-20220110.1718/folding-pkg /usr/share/emacs/site-lisp/elpa/git-commit-3.3.0/git-commit hides /usr/share/emacs/site-lisp/elpa-src/git-commit-3.3.0/git-commit /usr/share/emacs/site-lisp/elpa/git-commit-3.3.0/git-commit-autoloads hides /usr/share/emacs/site-lisp/elpa-src/git-commit-3.3.0/git-commit-autoloads /usr/share/emacs/site-lisp/elpa/git-commit-3.3.0/git-commit-pkg hides /usr/share/emacs/site-lisp/elpa-src/git-commit-3.3.0/git-commit-pkg /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/git-modes hides /usr/share/emacs/site-lisp/elpa-src/git-modes-1.4.0/git-modes /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/git-modes-pkg hides /usr/share/emacs/site-lisp/elpa-src/git-modes-1.4.0/git-modes-pkg /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/git-modes-autoloads hides /usr/share/emacs/site-lisp/elpa-src/git-modes-1.4.0/git-modes-autoloads /usr/share/emacs/site-lisp/elpa/gitattributes-mode-1.4.0/gitattributes-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/gitattributes-mode-1.4.0/gitattributes-mode-pkg /usr/share/emacs/site-lisp/elpa/gitattributes-mode-1.4.0/gitattributes-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/gitattributes-mode-1.4.0/gitattributes-mode-autoloads /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/gitattributes-mode hides /usr/share/emacs/site-lisp/elpa-src/gitattributes-mode-1.4.0/gitattributes-mode /usr/share/emacs/site-lisp/elpa/gitconfig-mode-1.4.0/gitconfig-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/gitconfig-mode-1.4.0/gitconfig-mode-autoloads /usr/share/emacs/site-lisp/elpa/gitconfig-mode-1.4.0/gitconfig-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/gitconfig-mode-1.4.0/gitconfig-mode-pkg /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/gitconfig-mode hides /usr/share/emacs/site-lisp/elpa-src/gitconfig-mode-1.4.0/gitconfig-mode /usr/share/emacs/site-lisp/elpa/gitignore-mode-1.4.0/gitignore-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/gitignore-mode-1.4.0/gitignore-mode-pkg /usr/share/emacs/site-lisp/elpa/gitignore-mode-1.4.0/gitignore-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/gitignore-mode-1.4.0/gitignore-mode-autoloads /home/xiyueden/.config/emacs/elpa/git-modes-1.4.2/gitignore-mode hides /usr/share/emacs/site-lisp/elpa-src/gitignore-mode-1.4.0/gitignore-mode /home/xiyueden/.config/emacs/elpa/gnuplot-0.8.1/gnuplot hides /usr/share/emacs/site-lisp/elpa-src/gnuplot-0.8.0/gnuplot /home/xiyueden/.config/emacs/elpa/gnuplot-0.8.1/gnuplot-autoloads hides /usr/share/emacs/site-lisp/elpa-src/gnuplot-0.8.0/gnuplot-autoloads /usr/share/emacs/site-lisp/elpa/debian-el-37/debian-autoloads hides /usr/share/emacs/site-lisp/elpa-src/gnuplot-0.8.0/debian-autoloads /home/xiyueden/.config/emacs/elpa/gnuplot-0.8.1/gnuplot-pkg hides /usr/share/emacs/site-lisp/elpa-src/gnuplot-0.8.0/gnuplot-pkg /home/xiyueden/.config/emacs/elpa/gnuplot-0.8.1/gnuplot-context hides /usr/share/emacs/site-lisp/elpa-src/gnuplot-0.8.0/gnuplot-context /home/xiyueden/.config/emacs/elpa/gnuplot-0.8.1/gnuplot-gui hides /usr/share/emacs/site-lisp/elpa-src/gnuplot-0.8.0/gnuplot-gui /usr/share/emacs/site-lisp/elpa/go-mode-1.6.0/go-mode hides /usr/share/emacs/site-lisp/elpa-src/go-mode-1.6.0/go-mode /usr/share/emacs/site-lisp/elpa/go-mode-1.6.0/go-guru hides /usr/share/emacs/site-lisp/elpa-src/go-mode-1.6.0/go-guru /usr/share/emacs/site-lisp/elpa/go-mode-1.6.0/go-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/go-mode-1.6.0/go-mode-pkg /usr/share/emacs/site-lisp/elpa/go-mode-1.6.0/go-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/go-mode-1.6.0/go-mode-autoloads /usr/share/emacs/site-lisp/elpa/go-mode-1.6.0/go-rename hides /usr/share/emacs/site-lisp/elpa-src/go-mode-1.6.0/go-rename /usr/share/emacs/site-lisp/elpa/graphviz-dot-mode-0.4.2/graphviz-dot-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/graphviz-dot-mode-0.4.2/graphviz-dot-mode-autoloads /usr/share/emacs/site-lisp/elpa/graphviz-dot-mode-0.4.2/company-graphviz-dot hides /usr/share/emacs/site-lisp/elpa-src/graphviz-dot-mode-0.4.2/company-graphviz-dot /usr/share/emacs/site-lisp/elpa/graphviz-dot-mode-0.4.2/graphviz-dot-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/graphviz-dot-mode-0.4.2/graphviz-dot-mode-pkg /usr/share/emacs/site-lisp/elpa/graphviz-dot-mode-0.4.2/graphviz-dot-mode hides /usr/share/emacs/site-lisp/elpa-src/graphviz-dot-mode-0.4.2/graphviz-dot-mode /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-font hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-font /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-locate hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-locate /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-net hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-net /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-id-utils hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-id-utils /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-x-files hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-x-files /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-eval hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-eval /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-eshell hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-eshell /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-find hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-find /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-global-bindings hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-global-bindings /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-occur hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-occur /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-comint hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-comint /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-info hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-info /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-mode hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-mode /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-bookmark hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-bookmark /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-config hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-config /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-tags hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-tags /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-imenu hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-imenu /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-color hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-color /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-regexp hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-regexp /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-external hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-external /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-types hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-types /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-pkg hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-pkg /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-misc hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-misc /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-ring hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-ring /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-sys hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-sys /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-semantic hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-semantic /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-easymenu hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-easymenu /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-grep hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-grep /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-autoloads hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-autoloads /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-man hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-man /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-adaptive hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-adaptive /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-files hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-files /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-elisp hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-elisp /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-help hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-help /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-shell hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-shell /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-utils hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-utils /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-dabbrev hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-dabbrev /usr/share/emacs/site-lisp/elpa/helm-3.8.4/helm-elisp-package hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-elisp-package /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-command hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-command /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-buffers hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-buffers /home/xiyueden/.config/emacs/elpa/helm-3.9.6/helm-for-files hides /usr/share/emacs/site-lisp/elpa-src/helm-3.8.4/helm-for-files /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.8.4/helm /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm-core-pkg hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.8.4/helm-core-pkg /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm-lib hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.8.4/helm-lib /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm-source hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.8.4/helm-source /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm-core-autoloads hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.8.4/helm-core-autoloads /home/xiyueden/.config/emacs/elpa/helm-core-3.9.6/helm-multi-match hides /usr/share/emacs/site-lisp/elpa-src/helm-core-3.8.4/helm-multi-match /home/xiyueden/.config/emacs/elpa/htmlize-1.57/htmlize hides /usr/share/emacs/site-lisp/elpa-src/htmlize-1.56/htmlize /home/xiyueden/.config/emacs/elpa/htmlize-1.57/htmlize-autoloads hides /usr/share/emacs/site-lisp/elpa-src/htmlize-1.56/htmlize-autoloads /home/xiyueden/.config/emacs/elpa/htmlize-1.57/htmlize-pkg hides /usr/share/emacs/site-lisp/elpa-src/htmlize-1.56/htmlize-pkg /home/xiyueden/.config/emacs/elpa/initsplit-20160919.1818/initsplit hides /usr/share/emacs/site-lisp/elpa-src/initsplit-1.8/initsplit /usr/share/emacs/site-lisp/elpa/initsplit-1.8/initsplit-test hides /usr/share/emacs/site-lisp/elpa-src/initsplit-1.8/initsplit-test /home/xiyueden/.config/emacs/elpa/initsplit-20160919.1818/initsplit-autoloads hides /usr/share/emacs/site-lisp/elpa-src/initsplit-1.8/initsplit-autoloads /home/xiyueden/.config/emacs/elpa/initsplit-20160919.1818/initsplit-pkg hides /usr/share/emacs/site-lisp/elpa-src/initsplit-1.8/initsplit-pkg /home/xiyueden/.config/emacs/elpa/js2-mode-20230408/js2-old-indent hides /usr/share/emacs/site-lisp/elpa-src/js2-mode-20201220/js2-old-indent /home/xiyueden/.config/emacs/elpa/js2-mode-20230408/js2-mode hides /usr/share/emacs/site-lisp/elpa-src/js2-mode-20201220/js2-mode /home/xiyueden/.config/emacs/elpa/js2-mode-20230408/js2-imenu-extras hides /usr/share/emacs/site-lisp/elpa-src/js2-mode-20201220/js2-imenu-extras /home/xiyueden/.config/emacs/elpa/js2-mode-20230408/js2-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/js2-mode-20201220/js2-mode-pkg /home/xiyueden/.config/emacs/elpa/js2-mode-20230408/js2-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/js2-mode-20201220/js2-mode-autoloads /usr/share/emacs/site-lisp/elpa/lintian-0.1/lintian-pkg hides /usr/share/emacs/site-lisp/elpa-src/lintian-0.1/lintian-pkg /usr/share/emacs/site-lisp/elpa/lintian-0.1/lintian-autoloads hides /usr/share/emacs/site-lisp/elpa-src/lintian-0.1/lintian-autoloads /usr/share/emacs/site-lisp/elpa/lintian-0.1/lintian hides /usr/share/emacs/site-lisp/elpa-src/lintian-0.1/lintian /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-remote hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-remote /usr/share/emacs/site-lisp/elpa/magit-3.3.0/git-rebase hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/git-rebase /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-bisect hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-bisect /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-margin hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-margin /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-merge hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-merge /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-section hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-section /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-patch hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-patch /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-commit hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-commit /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-autoloads hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-autoloads /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-files hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-files /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-stash hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-stash /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-bookmark hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-bookmark /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-submodule hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-submodule /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-apply hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-apply /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-repos hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-repos /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-core hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-core /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-subtree hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-subtree /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-autorevert hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-autorevert /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-gitignore hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-gitignore /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-transient hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-transient /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-extras hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-extras /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-git hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-git /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-notes hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-notes /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-reflog hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-reflog /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-mode hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-mode /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-push hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-push /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-tag hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-tag /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-process hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-process /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-ediff hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-ediff /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-imenu hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-imenu /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-diff hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-diff /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-clone hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-clone /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-log hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-log /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-utils hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-utils /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-wip hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-wip /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-branch hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-branch /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-pull hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-pull /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-reset hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-reset /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-sequence hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-sequence /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-status hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-status /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-refs hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-refs /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-obsolete hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-obsolete /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-fetch hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-fetch /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-worktree hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-worktree /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-blame hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-blame /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-pkg hides /usr/share/emacs/site-lisp/elpa-src/magit-3.3.0/magit-pkg /usr/share/emacs/site-lisp/elpa/magit-section-3.3.0/magit-section-autoloads hides /usr/share/emacs/site-lisp/elpa-src/magit-section-3.3.0/magit-section-autoloads /usr/share/emacs/site-lisp/elpa/magit-3.3.0/magit-section hides /usr/share/emacs/site-lisp/elpa-src/magit-section-3.3.0/magit-section /usr/share/emacs/site-lisp/elpa/magit-section-3.3.0/magit-section-pkg hides /usr/share/emacs/site-lisp/elpa-src/magit-section-3.3.0/magit-section-pkg /home/xiyueden/.config/emacs/elpa/markdown-mode-2.6/markdown-mode hides /usr/share/emacs/site-lisp/elpa-src/markdown-mode-2.5/markdown-mode /home/xiyueden/.config/emacs/elpa/markdown-mode-2.6/markdown-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/markdown-mode-2.5/markdown-mode-pkg /home/xiyueden/.config/emacs/elpa/markdown-mode-2.6/markdown-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/markdown-mode-2.5/markdown-mode-autoloads /home/xiyueden/.config/emacs/elpa/meson-mode-0.3/meson-mode hides /usr/share/emacs/site-lisp/elpa-src/meson-mode-0.2/meson-mode /home/xiyueden/.config/emacs/elpa/meson-mode-0.3/utils hides /usr/share/emacs/site-lisp/elpa-src/meson-mode-0.2/utils /home/xiyueden/.config/emacs/elpa/meson-mode-0.3/meson-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/meson-mode-0.2/meson-mode-autoloads /home/xiyueden/.config/emacs/elpa/meson-mode-0.3/meson-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/meson-mode-0.2/meson-mode-pkg /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-draft hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-draft /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-view hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-view /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-message hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-message /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-helpers hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-helpers /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-pkg hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-pkg /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-bookmarks hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-bookmarks /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-server hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-server /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-contrib hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-contrib /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-config hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-config /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-autoloads hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-autoloads /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-icalendar hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-icalendar /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-mark hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-mark /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-headers hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-headers /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-org hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-org /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-contacts hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-contacts /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-speedbar hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-speedbar /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-vars hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-vars /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-actions hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-actions /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-main hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-main /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-search hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-search /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-context hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-context /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-compose hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-compose /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-lists hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-lists /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-folders hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-folders /usr/share/emacs/site-lisp/elpa/mu4e-1.8.14/mu4e-update hides /usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14/mu4e-update /usr/share/emacs/site-lisp/elpa/mutt-alias-1.4/mutt-alias hides /usr/share/emacs/site-lisp/elpa-src/mutt-alias-1.4/mutt-alias /usr/share/emacs/site-lisp/elpa/mutt-alias-1.4/mutt-alias-pkg hides /usr/share/emacs/site-lisp/elpa-src/mutt-alias-1.4/mutt-alias-pkg /usr/share/emacs/site-lisp/elpa/mutt-alias-1.4/mutt-alias-autoloads hides /usr/share/emacs/site-lisp/elpa-src/mutt-alias-1.4/mutt-alias-autoloads /usr/share/emacs/site-lisp/elpa/muttrc-mode-1.2.1/muttrc-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/muttrc-mode-1.2.1/muttrc-mode-autoloads /usr/share/emacs/site-lisp/elpa/muttrc-mode-1.2.1/muttrc-mode hides /usr/share/emacs/site-lisp/elpa-src/muttrc-mode-1.2.1/muttrc-mode /usr/share/emacs/site-lisp/elpa/muttrc-mode-1.2.1/muttrc-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/muttrc-mode-1.2.1/muttrc-mode-pkg /usr/share/emacs/site-lisp/elpa/po-mode-0.21/po-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/po-mode-0.21/po-mode-pkg /usr/share/emacs/site-lisp/elpa/po-mode-0.21/po-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/po-mode-0.21/po-mode-autoloads /usr/share/emacs/site-lisp/elpa/po-mode-0.21/po-mode hides /usr/share/emacs/site-lisp/elpa-src/po-mode-0.21/po-mode /usr/share/emacs/site-lisp/elpa/pod-mode-1.3/pod-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/pod-mode-1.3/pod-mode-pkg /usr/share/emacs/site-lisp/elpa/pod-mode-1.3/pod-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/pod-mode-1.3/pod-mode-autoloads /usr/share/emacs/site-lisp/elpa/pod-mode-1.3/pod-mode hides /usr/share/emacs/site-lisp/elpa-src/pod-mode-1.3/pod-mode /home/xiyueden/.config/emacs/elpa/popup-0.5.9/popup hides /usr/share/emacs/site-lisp/elpa-src/popup-0.5.8/popup /home/xiyueden/.config/emacs/elpa/popup-0.5.9/popup-pkg hides /usr/share/emacs/site-lisp/elpa-src/popup-0.5.8/popup-pkg /home/xiyueden/.config/emacs/elpa/popup-0.5.9/popup-autoloads hides /usr/share/emacs/site-lisp/elpa-src/popup-0.5.8/popup-autoloads /usr/share/emacs/site-lisp/elpa/py-isort-2016.1/py-isort hides /usr/share/emacs/site-lisp/elpa-src/py-isort-2016.1/py-isort /usr/share/emacs/site-lisp/elpa/py-isort-2016.1/py-isort-autoloads hides /usr/share/emacs/site-lisp/elpa-src/py-isort-2016.1/py-isort-autoloads /usr/share/emacs/site-lisp/elpa/py-isort-2016.1/py-isort-pkg hides /usr/share/emacs/site-lisp/elpa-src/py-isort-2016.1/py-isort-pkg /home/xiyueden/.config/emacs/elpa/rust-mode-1.0.5/rust-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/rust-mode-0.4.0/rust-mode-autoloads /home/xiyueden/.config/emacs/elpa/rust-mode-1.0.5/rust-mode hides /usr/share/emacs/site-lisp/elpa-src/rust-mode-0.4.0/rust-mode /home/xiyueden/.config/emacs/elpa/rust-mode-1.0.5/rust-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/rust-mode-0.4.0/rust-mode-pkg /usr/share/emacs/site-lisp/elpa/scala-mode-0.23/scala-mode-map hides /usr/share/emacs/site-lisp/elpa-src/scala-mode-0.23/scala-mode-map /usr/share/emacs/site-lisp/elpa/scala-mode-0.23/scala-mode-indent hides /usr/share/emacs/site-lisp/elpa-src/scala-mode-0.23/scala-mode-indent /usr/share/emacs/site-lisp/elpa/scala-mode-0.23/scala-mode-syntax hides /usr/share/emacs/site-lisp/elpa-src/scala-mode-0.23/scala-mode-syntax /usr/share/emacs/site-lisp/elpa/scala-mode-0.23/scala-mode-lib hides /usr/share/emacs/site-lisp/elpa-src/scala-mode-0.23/scala-mode-lib /usr/share/emacs/site-lisp/elpa/scala-mode-0.23/scala-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/scala-mode-0.23/scala-mode-pkg /usr/share/emacs/site-lisp/elpa/scala-mode-0.23/scala-mode-prettify-symbols hides /usr/share/emacs/site-lisp/elpa-src/scala-mode-0.23/scala-mode-prettify-symbols /usr/share/emacs/site-lisp/elpa/scala-mode-0.23/scala-mode hides /usr/share/emacs/site-lisp/elpa-src/scala-mode-0.23/scala-mode /usr/share/emacs/site-lisp/elpa/scala-mode-0.23/scala-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/scala-mode-0.23/scala-mode-autoloads /usr/share/emacs/site-lisp/elpa/scala-mode-0.23/scala-mode-paragraph hides /usr/share/emacs/site-lisp/elpa-src/scala-mode-0.23/scala-mode-paragraph /usr/share/emacs/site-lisp/elpa/scala-mode-0.23/scala-mode-imenu hides /usr/share/emacs/site-lisp/elpa-src/scala-mode-0.23/scala-mode-imenu /usr/share/emacs/site-lisp/elpa/scala-mode-0.23/scala-mode-fontlock hides /usr/share/emacs/site-lisp/elpa-src/scala-mode-0.23/scala-mode-fontlock /home/xiyueden/.config/emacs/elpa/session-20210422.53/session-autoloads hides /usr/share/emacs/site-lisp/elpa-src/session-2.4.2/session-autoloads /home/xiyueden/.config/emacs/elpa/session-20210422.53/session hides /usr/share/emacs/site-lisp/elpa-src/session-2.4.2/session /home/xiyueden/.config/emacs/elpa/session-20210422.53/session-pkg hides /usr/share/emacs/site-lisp/elpa-src/session-2.4.2/session-pkg /home/xiyueden/.config/emacs/elpa/tabbar-20180726.1735/tabbar-pkg hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/tabbar-pkg /usr/share/emacs/site-lisp/elpa/tabbar-20160524/tabbar-window hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/tabbar-window /usr/share/emacs/site-lisp/elpa/tabbar-20160524/one-buffer-one-frame hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/one-buffer-one-frame /usr/share/emacs/site-lisp/elpa/tabbar-20160524/aquamacs-tools hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/aquamacs-tools /usr/share/emacs/site-lisp/elpa/tabbar-20160524/aquamacs-compat hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/aquamacs-compat /home/xiyueden/.config/emacs/elpa/tabbar-20180726.1735/tabbar-autoloads hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/tabbar-autoloads /usr/share/emacs/site-lisp/elpa/tabbar-20160524/aquamacs-tabbar hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/aquamacs-tabbar /home/xiyueden/.config/emacs/elpa/tabbar-20180726.1735/tabbar hides /usr/share/emacs/site-lisp/elpa-src/tabbar-20160524/tabbar /usr/share/emacs/site-lisp/elpa/vterm-0.0.2/vterm-load-path hides /usr/share/emacs/site-lisp/elpa-src/vterm-0.0.2/vterm-load-path /home/xiyueden/.config/emacs/elpa/vterm-20230417.424/vterm hides /usr/share/emacs/site-lisp/elpa-src/vterm-0.0.2/vterm /home/xiyueden/.config/emacs/elpa/vterm-20230417.424/vterm-pkg hides /usr/share/emacs/site-lisp/elpa-src/vterm-0.0.2/vterm-pkg /home/xiyueden/.config/emacs/elpa/vterm-20230417.424/vterm-autoloads hides /usr/share/emacs/site-lisp/elpa-src/vterm-0.0.2/vterm-autoloads /home/xiyueden/.config/emacs/elpa/web-mode-17.3.15/web-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/web-mode-17.0.2/web-mode-pkg /home/xiyueden/.config/emacs/elpa/web-mode-17.3.15/web-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/web-mode-17.0.2/web-mode-autoloads /home/xiyueden/.config/emacs/elpa/web-mode-17.3.15/web-mode hides /usr/share/emacs/site-lisp/elpa-src/web-mode-17.0.2/web-mode /home/xiyueden/.config/emacs/elpa/with-editor-3.3.2/with-editor-pkg hides /usr/share/emacs/site-lisp/elpa-src/with-editor-3.0.5/with-editor-pkg /home/xiyueden/.config/emacs/elpa/with-editor-3.3.2/with-editor-autoloads hides /usr/share/emacs/site-lisp/elpa-src/with-editor-3.0.5/with-editor-autoloads /home/xiyueden/.config/emacs/elpa/with-editor-3.3.2/with-editor hides /usr/share/emacs/site-lisp/elpa-src/with-editor-3.0.5/with-editor /home/xiyueden/.config/emacs/elpa/yaml-mode-0.0.16/yaml-mode-pkg hides /usr/share/emacs/site-lisp/elpa-src/yaml-mode-0.0.15/yaml-mode-pkg /home/xiyueden/.config/emacs/elpa/yaml-mode-0.0.16/yaml-mode hides /usr/share/emacs/site-lisp/elpa-src/yaml-mode-0.0.15/yaml-mode /home/xiyueden/.config/emacs/elpa/yaml-mode-0.0.16/yaml-mode-autoloads hides /usr/share/emacs/site-lisp/elpa-src/yaml-mode-0.0.15/yaml-mode-autoloads /usr/share/emacs/site-lisp/elpa/yasnippet-0.14.0/yasnippet-autoloads hides /usr/share/emacs/site-lisp/elpa-src/yasnippet-0.14.0/yasnippet-autoloads /usr/share/emacs/site-lisp/elpa/yasnippet-0.14.0/yasnippet-pkg hides /usr/share/emacs/site-lisp/elpa-src/yasnippet-0.14.0/yasnippet-pkg /usr/share/emacs/site-lisp/elpa/yasnippet-0.14.0/yasnippet hides /usr/share/emacs/site-lisp/elpa-src/yasnippet-0.14.0/yasnippet /home/xiyueden/.config/emacs/elpa/yasnippet-snippets-20230815.820/yasnippet-snippets hides /usr/share/emacs/site-lisp/elpa-src/yasnippet-snippets-20220713/yasnippet-snippets /home/xiyueden/.config/emacs/elpa/yasnippet-snippets-20230815.820/yasnippet-snippets-pkg hides /usr/share/emacs/site-lisp/elpa-src/yasnippet-snippets-20220713/yasnippet-snippets-pkg /home/xiyueden/.config/emacs/elpa/yasnippet-snippets-20230815.820/yasnippet-snippets-autoloads hides /usr/share/emacs/site-lisp/elpa-src/yasnippet-snippets-20220713/yasnippet-snippets-autoloads /home/xiyueden/.config/emacs/elpa/zenburn-theme-2.8.0/zenburn-theme hides /usr/share/emacs/site-lisp/elpa-src/zenburn-theme-2.7.0/zenburn-theme /home/xiyueden/.config/emacs/elpa/zenburn-theme-2.8.0/zenburn-theme-pkg hides /usr/share/emacs/site-lisp/elpa-src/zenburn-theme-2.7.0/zenburn-theme-pkg /home/xiyueden/.config/emacs/elpa/zenburn-theme-2.8.0/zenburn-theme-autoloads hides /usr/share/emacs/site-lisp/elpa-src/zenburn-theme-2.7.0/zenburn-theme-autoloads /usr/share/emacs/site-lisp/elpa/bind-key-2.4.1/bind-key hides /usr/share/emacs/29.1/lisp/use-package/bind-key /home/xiyueden/.config/emacs/elpa/project-0.10.0/project hides /usr/share/emacs/29.1/lisp/progmodes/project /home/xiyueden/.config/emacs/elpa/eldoc-1.14.0/eldoc hides /usr/share/emacs/29.1/lisp/emacs-lisp/eldoc /home/xiyueden/.config/emacs/elpa/seq-2.24/seq hides /usr/share/emacs/29.1/lisp/emacs-lisp/seq Features: (shadow emacsbug noutline outline two-column magit-patch magit-subtree magit-gitignore magit-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util misearch multi-isearch tex-info tex texmathp texinfo texinfo-loaddefs macros cl-print help-fns radix-tree tar-mode arc-mode archive-mode deb-view vterm magit-bookmark bookmark tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat term ehelp find-func vterm-module yaml-ts-mode treesit magit-extras face-remap magit-submodule magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff git-commit log-edit add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor shell pcomplete compat magit-mode transient edmacro kmacro format-spec magit-git magit-section dired-aux magit-utils crm dash jka-compr shr-color url-http url-gw url-auth url-queue url-cache flow-fill mailalias mule-util matlab matlab-scan matlab-syntax matlab-compat pulse color mm-archive sort gnus-cite mail-extr textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check gnus-async gnus-bcklg qp gnus-ml gnus-topic cursor-sensor utf-7 nnfolder gnus-demon nnml ezgnus gnus-delay gnus-draft gnus-agent gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum shr pixel-fill kinsoku url-file svg dom nndraft nnmh gnus-group gnus-undo smtpmail gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range message sendmail yank-media dired dired-loaddefs rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util mail-utils range mm-util mail-prsvr windmove flyspell ispell gnutls network-stream puny nsm epa-file epa derived epg rfc6068 epg-config rcirc parse-time iso8601 time-date term/xterm xterm comp comp-cstr rx server cap-words superword subword vc-hg vc-git diff-mode vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view pcvs-util vc vc-dispatcher bug-reference disp-table whitespace yasnippet-snippets yasnippet cus-edit pp cus-start wid-edit company-oddmuse company-keywords company-etags etags fileloop generator xref company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb diminish company pcase init zenburn-theme keychain-environment exec-path-from-shell icomplete cus-load flymake-proc flymake project compile text-property-search comint ansi-osc ansi-color ring warnings icons thingatpt advice cl-extra help-mode use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core display-line-numbers autorevert filenotify auctex-autoloads tex-site bar-cursor-autoloads bm-autoloads boxquote-autoloads buttercup-autoloads cmake-mode-autoloads company-autoloads diminish-autoloads eldoc-autoloads eproject-autoloads flutter-autoloads folding-autoloads git-modes-autoloads gnuplot-autoloads helm-autoloads helm-core-autoloads async-autoloads htmlize-autoloads initsplit-autoloads js2-mode-autoloads markdown-mode-autoloads matlab-mode-autoloads meson-mode-autoloads popup-autoloads project-autoloads rust-mode-autoloads session-autoloads tabbar-autoloads vterm-autoloads web-mode-autoloads wfnames-autoloads yaml-mode-autoloads yasnippet-snippets-autoloads zenburn-theme-autoloads dpkg-dev-el debian-el finder-inf with-editor-autoloads info compat-autoloads seq-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars 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 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 move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1684572 132945) (symbols 48 35974 3) (strings 32 155751 28823) (string-bytes 1 4601555) (vectors 16 98583) (vector-slots 8 2540442 155011) (floats 8 607 2878) (intervals 56 60456 1450) (buffers 984 66)) From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 06 17:09:06 2023 Received: (at 67669) by debbugs.gnu.org; 6 Dec 2023 22:09:06 +0000 Received: from localhost ([127.0.0.1]:40596 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rB04o-0003hm-0K for submit@debbugs.gnu.org; Wed, 06 Dec 2023 17:09:06 -0500 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]:53749) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rB04l-0003hH-7s for 67669@debbugs.gnu.org; Wed, 06 Dec 2023 17:09:04 -0500 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1d04d286bc0so1958465ad.3 for <67669@debbugs.gnu.org>; Wed, 06 Dec 2023 14:08:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701900525; x=1702505325; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=pOVNDYAFaiBISAJOda4vEMMQlW7QkkANPCtuZUFWLzE=; b=SW98+ed/grT8qfvlUWGoopYIOFUMC5ljnWT6y9/6/3d1ooiQ0bu+W28QrfJvUSvWKk QH8P+L9T6E4KnQqFbBJHTvT/sLqS9+H5YbbzElU6VUghn87FGXgOkayzc1YxBkP/4Dpb pv4xJNkB/bZ8VGCungz+NX6cwuxso0jbUNjvCVByH6lmmx9+AZO+b0axKZpEWa5VxgQD RSVkP1sEkIgNoyI8xOUwJJrOc2YS6lRpsWrnuOHTl5nJWzrWtWJq1FkPKp1PcV2I82Gp G3D4EdPueNEWNJ2OfLwOrvTZZpQf3y9cgpCCA+Y96mAoD5kW2wEp7VKbq/snQo9GlM4U LMrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701900525; x=1702505325; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=pOVNDYAFaiBISAJOda4vEMMQlW7QkkANPCtuZUFWLzE=; b=FYIDdsNmhFZtNfUUjzhREB5RNorusAuQPgtsLRB0EhyXUYp6/DrnNi5GS5P7bd8O/2 zMcViL1ypUaHRQ9n4yNV+mKzouVHLUNCJMt509eWVc+mI49gDda6j7I7CgchIFWSZ7AZ r9jvlKfRqw+B3VnSWKGG6KZouuXfu3cH+YfrZdBy02jEAqu52zJtU48TxxelOTsqjL2w HtniJnYRPO0H/Qsvw+Cu2Cum2gE57m/FaFH/51rLlDE3Iosamvsd8jWbNECaCCVZ7eub OZvSK18MLiorFClVndUg8UIwJfjxLTeIQI3fdjKpSjKVIHcLFatMll6DSzEji1JQkW9v MqcA== X-Gm-Message-State: AOJu0Ywha7rAo7FCB4gKX4xfbQBQ/HAMHr/sr65nOAEYzjyHV4lmGoIL omsbBdLVjexQ8qaifgqjetAXxAvA7Sw= X-Google-Smtp-Source: AGHT+IFgWRJnug6VlIJXyaDahk9Yyt8aXpiv1Jd4fqCJb5AGzORoQ0sqjqT0XZh8KsVdtEVxzx6L2w== X-Received: by 2002:a17:902:f543:b0:1d0:aeda:9add with SMTP id h3-20020a170902f54300b001d0aeda9addmr1406031plf.42.1701900524748; Wed, 06 Dec 2023 14:08:44 -0800 (PST) Received: from debian-hx90 (2603-8000-a400-0cdc-3dac-d3fe-9e60-1459.res6.spectrum.com. [2603:8000:a400:cdc:3dac:d3fe:9e60:1459]) by smtp.gmail.com with ESMTPSA id d7-20020a170903230700b001d0ba4513b0sm282154plh.287.2023.12.06.14.08.43 for <67669@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Dec 2023 14:08:44 -0800 (PST) From: Xiyue Deng To: 67669@debbugs.gnu.org Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' In-Reply-To: (GNU bug Tracking System's message of "Wed, 06 Dec 2023 21:48:01 +0000") References: <87v89buhpl.fsf@debian-hx90.lan> Date: Wed, 06 Dec 2023 14:08:43 -0800 Message-ID: <87o7f3ugpg.fsf_-_@debian-hx90.lan> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67669 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 (-) --=-=-= Content-Type: text/plain Please see the following patch that whether it makes sense to drop that part. --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Drop-text-suggesting-using-and-to-replace-if-Bug-676.patch >From 0362b90b2ded998f8a4bcf307ca4b89de561beec Mon Sep 17 00:00:00 2001 From: Xiyue Deng Date: Wed, 6 Dec 2023 13:38:51 -0800 Subject: [PATCH] Drop text suggesting using `and' to replace `if' (Bug#67669) * doc/lispintro/emacs-lisp-intro.texi (kill-new function): drop obsolete text that refers to an earlier version of the code example. --- doc/lispintro/emacs-lisp-intro.texi | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index d6627a2a1ca..c1e220518ca 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -8905,9 +8905,7 @@ The expression looks like this: If an @code{interprogram-cut-function} exists, then Emacs executes @code{funcall}, which in turn calls its first argument as a function -and passes the remaining arguments to it. (Incidentally, as far as I -can see, this @code{if} expression could be replaced by an @code{and} -expression similar to the one in the first part of the function.) +and passes the remaining arguments to it. We are not going to discuss windowing systems and other programs further, but merely note that this is a mechanism that enables GNU -- 2.39.2 --=-=-= Content-Type: text/plain -- Xiyue Deng --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 01:28:35 2023 Received: (at 67669) by debbugs.gnu.org; 7 Dec 2023 06:28:35 +0000 Received: from localhost ([127.0.0.1]:40878 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rB7sB-0002CZ-3P for submit@debbugs.gnu.org; Thu, 07 Dec 2023 01:28:35 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49396) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rB7s8-0002CL-Aw for 67669@debbugs.gnu.org; Thu, 07 Dec 2023 01:28:34 -0500 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 1rB7ro-0000AC-H1; Thu, 07 Dec 2023 01:28:14 -0500 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=6/4XsZqJ3Jyng3o4Zdqq3phQr3RxOrIVJmeoQqh4RnU=; b=CvgMCH5Bft/JjhwoJ6BW JQLo2amynm254K3gn3LhHyw1H42g7xKNCPC6di3XXxbOtHBC8xI3BIov9e6GJ+YuU3vOpvzgb64tQ FhOnqxEstyclmEZ1m7NQDrrolFVIKACiNHi2fOZffTEwO33YX0ooZDr+/kIJI0xe0P8PX2VhpWkyV MY5Y9zVEpU2TE05SGzOfFu5qj3UD7ojXIREedDV2JHx6p/R8dSWVYf16+AJduWrn7fPW5K1UHj2HP xIfVCjJW6gvDrfSZNuZtAtJnvG/r9d0pQUiqcNlQcflQLnEQj2uzhhXJcDnSCb3GoSw52juGiAWz/ Vwf1+W6obiy0rA==; Date: Thu, 07 Dec 2023 08:28:23 +0200 Message-Id: <83sf4e34s8.fsf@gnu.org> From: Eli Zaretskii To: Xiyue Deng In-Reply-To: <87v89buhpl.fsf@debian-hx90.lan> (message from Xiyue Deng on Wed, 06 Dec 2023 13:47:02 -0800) Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' References: <87v89buhpl.fsf@debian-hx90.lan> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67669 Cc: 67669@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: Xiyue Deng > Date: Wed, 06 Dec 2023 13:47:02 -0800 > > > In section "the `kill-new' function" - the third last paragraph to be > precise - there are some texts in parentheses that discusses potentially > using an `and' to replace the `if' statement being discussed. It looks > like to be referring to an earlier version of the code example[1] before > using the version from Emacs 22. Meanwhile, it looks like relying on > the side effect of `and' to emulate an `if' may not be a good idea > nowadays. So is it OK to drop this advice? AFAIU, the relevant fragment is: The expression looks like this: (if interprogram-cut-function (funcall interprogram-cut-function string (not replace)))) If an ‘interprogram-cut-function’ exists, then Emacs executes ‘funcall’, which in turn calls its first argument as a function and passes the remaining arguments to it. (Incidentally, as far as I can see, this ‘if’ expression could be replaced by an ‘and’ expression similar to the one in the first part of the function.) I don't see anything wrong here. Can you elaborate on why you think the text in parentheses is inaccurate or incorrect or unclear? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 04:09:14 2023 Received: (at 67669) by debbugs.gnu.org; 7 Dec 2023 09:09:14 +0000 Received: from localhost ([127.0.0.1]:41002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBANd-0000wa-Jl for submit@debbugs.gnu.org; Thu, 07 Dec 2023 04:09:13 -0500 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]:60767) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBANb-0000wN-4S for 67669@debbugs.gnu.org; Thu, 07 Dec 2023 04:09:11 -0500 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1d0ccda19eeso5321175ad.1 for <67669@debbugs.gnu.org>; Thu, 07 Dec 2023 01:08:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701940132; x=1702544932; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=udmtP8zKtlo62OYbuhPQvFgz5d1tgIHaUM7TYhWz0LY=; b=cmY9Y6NIc/sy9wXvdGhbo8dPpDfinNg4InoZRaHMKvJsrKjf30zrE7wcDBhPQ8zz3e JexSzK1gLzXyw2uJf5EUMtv845Jl0bJdPKXTzyE4qy5t44dg1fl+oWdZLFjeRgqSOxl9 kHVcrAzxLalWiAZF371P9GRmHQwVGn8QKqQ4PCIaTniIwkZielTFIWpTbAh6w/ia2rgA LBusmSjXnrXrC//lGsq62SzBAX9hpk1Ymgy6bcsdPKdHabDh7MJUQwP1vp8vaF0wBoKD DFkrr2c9p/iPnkLFKnNxqsJcih91Pkh9HC5S42zD5bRew+34pjF0/Il/Ri0FW0gAMHen wwsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701940132; x=1702544932; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=udmtP8zKtlo62OYbuhPQvFgz5d1tgIHaUM7TYhWz0LY=; b=H3a8Uivao5AORqwsZjdtgNUK4fudyA+6sETjT22oIBQux2BhnDOv93MMFQr/+sq65+ u+lycACknBuXj+uSuuyAuZLEy8R6hk/1/xVLhdzqRpLgDPTE2qvifWd6wHGYfdoERMG+ x6CIQykSdl8+DROIQvZFRpySoqa8K46MxfQV2ZXtVe3yGFaYvfrx7QJJdjNlcknr1TRh 6QC+00CHwV6+sL4CuECnPue3ddUONhw/XkLPV8SOZddcl/eh3RarqC26YTYLEd9124le I8UxVayCFwb+QTQWTN7+PRYitdQv1iQuSGF61Oaxr1+M7qxu0Q/sAIoF18zS2qPLiA4a tC8A== X-Gm-Message-State: AOJu0YyqSNI/OEfa7TNW73Po5wm9rxPkTKHQZKlkxuKGm2VhWyFlyB7x rxMZlI40RoxCLbknmIxTrRbEyiogaESrLA== X-Google-Smtp-Source: AGHT+IGAwzsNvM/NEch6ZWZvp+dLla000peLZ8PtTaZGVJ9sRmCLYRpSk1FlJ3apDat5bNp7bkYiXg== X-Received: by 2002:a17:903:2304:b0:1d0:8b01:9454 with SMTP id d4-20020a170903230400b001d08b019454mr2322289plh.119.1701940132346; Thu, 07 Dec 2023 01:08:52 -0800 (PST) Received: from debian-hx90 (2603-8000-a400-0cdc-93f0-c81c-5fa0-c77c.res6.spectrum.com. [2603:8000:a400:cdc:93f0:c81c:5fa0:c77c]) by smtp.gmail.com with ESMTPSA id y16-20020a17090322d000b001d1c96a0c63sm852460plg.274.2023.12.07.01.08.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 01:08:52 -0800 (PST) From: Xiyue Deng To: Eli Zaretskii Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' In-Reply-To: <83sf4e34s8.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 07 Dec 2023 08:28:23 +0200") References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> Date: Thu, 07 Dec 2023 01:08:51 -0800 Message-ID: <87r0jytm58.fsf@debian-hx90.lan> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67669 Cc: 67669@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 (-) Hi Eli, Eli Zaretskii writes: >> From: Xiyue Deng >> Date: Wed, 06 Dec 2023 13:47:02 -0800 >>=20 >>=20 >> In section "the `kill-new' function" - the third last paragraph to be >> precise - there are some texts in parentheses that discusses potentially >> using an `and' to replace the `if' statement being discussed. It looks >> like to be referring to an earlier version of the code example[1] before >> using the version from Emacs 22. Meanwhile, it looks like relying on >> the side effect of `and' to emulate an `if' may not be a good idea >> nowadays. So is it OK to drop this advice? > > AFAIU, the relevant fragment is: > > The expression looks like this: > > (if interprogram-cut-function > (funcall interprogram-cut-function string (not replace)))) > > If an =E2=80=98interprogram-cut-function=E2=80=99 exists, then Emacs= executes > =E2=80=98funcall=E2=80=99, which in turn calls its first argument as a = function and > passes the remaining arguments to it. (Incidentally, as far as I can > see, this =E2=80=98if=E2=80=99 expression could be replaced by an =E2= =80=98and=E2=80=99 expression > similar to the one in the first part of the function.) > > I don't see anything wrong here. Can you elaborate on why you think > the text in parentheses is inaccurate or incorrect or unclear? Sorry I wasn't very clear. I was referring to the part "... could be replaced by an =E2=80=98and=E2=80=99 expression similar to _the one in the = first part of the function_." But when I tried to search for `and' in the example code of that section I found no `and' usage at all, which confused me a bit. It was not until I looked at the texi source that I noticed that the original example code did use `and' which I linked in my first email, and it was later replace by the current one from Emacs 22 which no longer used `and'. Thus I would consider the text in the parentheses you quoted to be obsolete. And of course as I mentioned in the previous email, IMHO it is probably not a good advice to use `and' to emulate `if'. > > Thanks. --=20 Xiyue Deng From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 05:16:09 2023 Received: (at 67669) by debbugs.gnu.org; 7 Dec 2023 10:16:09 +0000 Received: from localhost ([127.0.0.1]:41107 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBBQP-0005J7-9E for submit@debbugs.gnu.org; Thu, 07 Dec 2023 05:16:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54542) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBBQM-0005Ij-Tu for 67669@debbugs.gnu.org; Thu, 07 Dec 2023 05:16:07 -0500 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 1rBBQ4-00081G-Pb; Thu, 07 Dec 2023 05:15:48 -0500 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=veDRUkdvuHI3dQ5L62GZEZUIONahSHIpr3N7tokNPFw=; b=DSVWlYxGi0uNIkSSeGBm /OWg8ajlAirzRvu8WgLpKMzr5HedpSHh5XU9MLB3XH/iaVkO758rsErTgJq1nD8TrA6RuHdSR/3BT jKXfgJh2yq+P9+U9sJOMGFZer+oUQfocEb99lK04Fm0ulVHt5GzBOxrDjq+gm5bmffMRUFlkJD2A4 CqhbXB9M6MCv9Wigk9ymD1mqBJgtgJ5lA9WvDbua7jdj2PGhb9w/RrO+I0ykuG7SafQvWOEPpJhVS KPrB0996utlzacUTOB87VrUEnTCVfgYTACykRQ3R5o6ALtUC4Bm1oy+RR1M22n2g1oepoVjXSrzxP K9SARfC9CeuUSQ==; Date: Thu, 07 Dec 2023 12:16:00 +0200 Message-Id: <83a5qm2u8v.fsf@gnu.org> From: Eli Zaretskii To: Xiyue Deng In-Reply-To: <87r0jytm58.fsf@debian-hx90.lan> (message from Xiyue Deng on Thu, 07 Dec 2023 01:08:51 -0800) Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67669 Cc: 67669@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: Xiyue Deng > Cc: 67669@debbugs.gnu.org > Date: Thu, 07 Dec 2023 01:08:51 -0800 > > Eli Zaretskii writes: > > > AFAIU, the relevant fragment is: > > > > The expression looks like this: > > > > (if interprogram-cut-function > > (funcall interprogram-cut-function string (not replace)))) > > > > If an ‘interprogram-cut-function’ exists, then Emacs executes > > ‘funcall’, which in turn calls its first argument as a function and > > passes the remaining arguments to it. (Incidentally, as far as I can > > see, this ‘if’ expression could be replaced by an ‘and’ expression > > similar to the one in the first part of the function.) > > > > I don't see anything wrong here. Can you elaborate on why you think > > the text in parentheses is inaccurate or incorrect or unclear? > > Sorry I wasn't very clear. I was referring to the part "... could be > replaced by an ‘and’ expression similar to _the one in the first part of > the function_." But when I tried to search for `and' in the example > code of that section I found no `and' usage at all, which confused me a > bit. I think it means this part earlier in the node: (if (fboundp 'menu-bar-update-yank-menu) (menu-bar-update-yank-menu string (and replace (car kill-ring)))) > It was not until I looked at the texi source that I noticed that > the original example code did use `and' which I linked in my first > email, and it was later replace by the current one from Emacs 22 which > no longer used `and'. Thus I would consider the text in the parentheses > you quoted to be obsolete. I don't think so. > And of course as I mentioned in the previous email, IMHO it is probably > not a good advice to use `and' to emulate `if'. I disagree. I think the discussion of 'if' and 'and' there is entirely appropriate and educational, and I personally do use these interchangeably in some situations. From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 12:49:39 2023 Received: (at 67669) by debbugs.gnu.org; 7 Dec 2023 17:49:39 +0000 Received: from localhost ([127.0.0.1]:43084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBIVG-00026x-KX for submit@debbugs.gnu.org; Thu, 07 Dec 2023 12:49:39 -0500 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]:47589) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBIVC-00026g-3H for 67669@debbugs.gnu.org; Thu, 07 Dec 2023 12:49:37 -0500 Received: by mail-pg1-x536.google.com with SMTP id 41be03b00d2f7-5c66418decaso829395a12.3 for <67669@debbugs.gnu.org>; Thu, 07 Dec 2023 09:49:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701971355; x=1702576155; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=e2YigYJMjmIVMW5B8J5oUqi5xGBj9wXgdDclBgOkEfQ=; b=gPgsBu3Z0Agec8jJL/VNN/ATIcWGc77mHINbPWU6v/lEp6O6QV5cPkH/6PQEQzD41L Huvf7uRlyHFmle1WkUKH5W6R4i3VSbiOWj7/qZ2DRD7XSAOSzCuWuz6fUfTGQqxPP3+3 6cnMYkHFUWwqFkKKyaFfeiE2WCgYBp/JQJvVJnRoyQ1J7okZhRkUeq+0Kge29DeSqctZ mDNktULJG+Dsx/Ik1kie90jnlwyQm9dYYpngXjC3HgX1ZqS0llRc24I2k/A2MQ9orBMV CdE1SPtjxHxkCYHkOWxa2EZCZY7bA/ugX7wP4mnIo/kZGOu+8/W32iSmGfQZFBoKy6PU rfyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701971355; x=1702576155; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=e2YigYJMjmIVMW5B8J5oUqi5xGBj9wXgdDclBgOkEfQ=; b=IQWNQKJg2Dca91A0Y57Lwfqiq7HbthSu/nld/6sRj9Hvv9sDKNsbqZUzC/NymkA81v /DsuWMjxeyv/qhKbJhFM/cun3/bWHNInEvD9GCFLiFbnW4MyvBVZprFXoNzwZ9w3iNeo LnAVLC5DrXU0WpUxxGq0221mmcpFE77JZgRwS8Go+IeaN5aW04sE+KCGh6taFHvzETv3 Sjf9wLm+jm/HOao8fjFSUUMXm2BLsrB+BFF8gbISikb69ecVL67RGTgZCygd6HJz43ss s8YXrYEr7BszL/9Vhp0EHFrVqp711l/UMWYQJ42LRkzJpyXzw6Gjq48MjquhtdnEiC9I LA0g== X-Gm-Message-State: AOJu0YzqLnPCrTgWBt7IFsvwBCEVFCe829UXjw9mQF510YlrWHchzULg SlMR/6CxZxqCE5k8Jd3wfCpFXRZx4RHBsw== X-Google-Smtp-Source: AGHT+IHmjGDscaRrP2RQaSfPwjBJ6VkkFqPGweiwFZORh1kPfSkdGQqqj2sFT+MydffVvtoKlNffZA== X-Received: by 2002:a17:902:ab57:b0:1cc:3a8a:f19b with SMTP id ij23-20020a170902ab5700b001cc3a8af19bmr2307760plb.14.1701971355319; Thu, 07 Dec 2023 09:49:15 -0800 (PST) Received: from debian-hx90 (2603-8000-a400-0cdc-93f0-c81c-5fa0-c77c.res6.spectrum.com. [2603:8000:a400:cdc:93f0:c81c:5fa0:c77c]) by smtp.gmail.com with ESMTPSA id j4-20020a170902da8400b001d072591d77sm83407plx.247.2023.12.07.09.49.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 09:49:14 -0800 (PST) From: Xiyue Deng To: Eli Zaretskii Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' In-Reply-To: <83a5qm2u8v.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 07 Dec 2023 12:16:00 +0200") References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> Date: Thu, 07 Dec 2023 09:49:13 -0800 Message-ID: <87fs0ducme.fsf@debian-hx90.lan> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67669 Cc: 67669@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 (-) Eli Zaretskii writes: >> From: Xiyue Deng >> Cc: 67669@debbugs.gnu.org >> Date: Thu, 07 Dec 2023 01:08:51 -0800 >>=20 >> Eli Zaretskii writes: >>=20 >> > AFAIU, the relevant fragment is: >> > >> > The expression looks like this: >> > >> > (if interprogram-cut-function >> > (funcall interprogram-cut-function string (not replace)))) >> > >> > If an =E2=80=98interprogram-cut-function=E2=80=99 exists, then Em= acs executes >> > =E2=80=98funcall=E2=80=99, which in turn calls its first argument as= a function and >> > passes the remaining arguments to it. (Incidentally, as far as I can >> > see, this =E2=80=98if=E2=80=99 expression could be replaced by an = =E2=80=98and=E2=80=99 expression >> > similar to the one in the first part of the function.) >> > >> > I don't see anything wrong here. Can you elaborate on why you think >> > the text in parentheses is inaccurate or incorrect or unclear? >>=20 >> Sorry I wasn't very clear. I was referring to the part "... could be >> replaced by an =E2=80=98and=E2=80=99 expression similar to _the one in t= he first part of >> the function_." But when I tried to search for `and' in the example >> code of that section I found no `and' usage at all, which confused me a >> bit. > > I think it means this part earlier in the node: > > (if (fboundp 'menu-bar-update-yank-menu) > (menu-bar-update-yank-menu string (and replace (car kill-ring= )))) To be super nitpicking, the text said "the one in the _first part_ of the function", while this code snippet you quoted is the second statement in the code example. If we look at the old code (which is currently marked as ignore in the texi source), the first part is: (and (fboundp 'menu-bar-update-yank-menu) (menu-bar-update-yank-menu string (and replace (car kill-ring)))) Which IMHO lets the text make more sense. But anyway. > >> It was not until I looked at the texi source that I noticed that >> the original example code did use `and' which I linked in my first >> email, and it was later replace by the current one from Emacs 22 which >> no longer used `and'. Thus I would consider the text in the parentheses >> you quoted to be obsolete. > > I don't think so. > >> And of course as I mentioned in the previous email, IMHO it is probably >> not a good advice to use `and' to emulate `if'. > > I disagree. I think the discussion of 'if' and 'and' there is > entirely appropriate and educational, and I personally do use these > interchangeably in some situations. Agreed on the point of being educational, and of course in the end coding style is mostly a matter of personal preference. However, I would argue a bit that in such case we wouldn't need `if' or `when' at all as both can be emulated by `and' and `or' if you are careful enough. On the other hand, `if' and `when' should exist for a reason. I quite like this suggestion[1] that `if' and `when' are used to guard side effects, whereas `and' and `or' are used for pure functions. Interestingly the current example you quoted changed from using `and' (as in the old version I quoted) to `if' probably based on this reasoning. Similarly I wouldn't suggest to replace `if' with `and' in the original example around the text we are discussing: (if interprogram-cut-function (funcall interprogram-cut-function string (not replace)))) as we are also guarding a side effect here. Wdyt? [1] https://emacs.stackexchange.com/a/14204 --=20 Xiyue Deng From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 12:56:40 2023 Received: (at 67669) by debbugs.gnu.org; 7 Dec 2023 17:56:40 +0000 Received: from localhost ([127.0.0.1]:43095 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBIc3-0002KM-W5 for submit@debbugs.gnu.org; Thu, 07 Dec 2023 12:56:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36536) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBIbz-0002K3-Ip for 67669@debbugs.gnu.org; Thu, 07 Dec 2023 12:56:38 -0500 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 1rBIbh-0003MH-Qf; Thu, 07 Dec 2023 12:56:17 -0500 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=ZmdTrGxrpAUN6PXRCV99CyIVWNmwhDA1X+Ue3IRq95A=; b=bg/dXDS1ZBpg xN3bschM/m6ePuJKR1Mp0CRwphl+wkPBF/bqn22ihqhtWSDhrG0SlaYKsk4R6Kt6tl62SxYqTfmYI VWyO8U4aXimXO9FyUGqM6kMJIfBUtcOwr9VGvl/Fl1VgBoKd4cGUgNjn4m17U0d412fu5nYBQlbE7 KwSN5LPjQtTjckOElBjbeFRfk9uGjaW4mzbHaiXLXWqs6AyLPSV7kBNCS4e9t+W7rO4Iab27ILHkH 4S9oNq9MDFEd33+4+D9HVEq4L9eCK6/kYyFnkN6/jWHaC5De5GjfyqYpRHt2sRBP4C2rjtEAeKIbx zwtOfe17iFR+X1gUv5YCjA==; Date: Thu, 07 Dec 2023 19:56:29 +0200 Message-Id: <83v89928xe.fsf@gnu.org> From: Eli Zaretskii To: Xiyue Deng In-Reply-To: <87fs0ducme.fsf@debian-hx90.lan> (message from Xiyue Deng on Thu, 07 Dec 2023 09:49:13 -0800) Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67669 Cc: 67669@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: Xiyue Deng > Cc: 67669@debbugs.gnu.org > Date: Thu, 07 Dec 2023 09:49:13 -0800 > > Agreed on the point of being educational, and of course in the end > coding style is mostly a matter of personal preference. However, I > would argue a bit that in such case we wouldn't need `if' or `when' at > all as both can be emulated by `and' and `or' if you are careful enough. > On the other hand, `if' and `when' should exist for a reason. I quite > like this suggestion[1] that `if' and `when' are used to guard side > effects, whereas `and' and `or' are used for pure functions. > Interestingly the current example you quoted changed from using `and' > (as in the old version I quoted) to `if' probably based on this > reasoning. Similarly I wouldn't suggest to replace `if' with `and' in > the original example around the text we are discussing: > > (if interprogram-cut-function > (funcall interprogram-cut-function string (not replace)))) > > as we are also guarding a side effect here. > > Wdyt? Sorry, I don't understand what you mean by "guarding a side effect", and I'm not sure where this discussion goes. If the issue is personal stylistic preferences, then I'd prefer to leave the text as it was according to the preferences of the original author (which I happen to share, but that's not important). OK? From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 14:37:52 2023 Received: (at 67669) by debbugs.gnu.org; 7 Dec 2023 19:37:53 +0000 Received: from localhost ([127.0.0.1]:43174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBKC0-0005lz-IZ for submit@debbugs.gnu.org; Thu, 07 Dec 2023 14:37:52 -0500 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:20398) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBKBw-0005lp-L4 for 67669@debbugs.gnu.org; Thu, 07 Dec 2023 14:37:51 -0500 Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3B7FcRvQ001073; Thu, 7 Dec 2023 19:37:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-11-20; bh=x2EoKAW0S1ZUYJjv7W1wHH/q0vcQdo2BA6tbmZBK/i0=; b=orXXM2d4l6fx258CX/aXBekHWWFfXOZ6t0/4Vzz110h7pQ1yUkYii6SFzWWT+wIhxN2L j7Rjv4ELOBN9Sdztbp8dkOkipY1P/e1dF4JstjdNc1U5mI4JbWnlBAjakAJiGFnY760a QlAuXlRkpsVaF0G5UYw3lfk340ybxljopGapZugoyISaCrZ9MXbmH4/KLLu8Ak00/JPr b7LL+M9N8JGXJ0u9QYpIkilMaLLHh+mFNxdjbnuAfLd7uA+DGUZZSuotNdOkQ38D/xpD Wdb5JcIWVCdL/0ZyjOCCZzwKk6wv96pgKjAsAtZpAfRBpybgBG5BM83TUdHFeiRndddk kA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3utdda4mge-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 07 Dec 2023 19:37:34 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3B7JZ0gr040143; Thu, 7 Dec 2023 19:37:34 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3utan7x8jh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 07 Dec 2023 19:37:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g5ercvrpC+KdZhTS/sgzOiYXEANY7h9b+0+B65LfrJVm8cSeYsYVEszgVNVYIcniHNuEWbn0s9unM/7cAz+cSqf0gkDk4nvJ+1Dek2NhzESAmhzuZHp8EYMPpIQBf5bIXFQXjHgyNyhbBF/wEv67dh+SBYExYaMmsoKK6aZ8lyNjmcmb/IXmRW1cmnyFBNZaxh3qqOvXKS2uOAdqlQJg3SRfieAtev+DNod6qSimYLelFG4wBeR3SfF5dqB3EB1bf9d4LNvp2lBTHPmjFvLlm9prU0RBp7d4LZbl7923dTOwl2ZPfIO0h63IPzko18QzfM37rIASibyIvNhSCWzZLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=x2EoKAW0S1ZUYJjv7W1wHH/q0vcQdo2BA6tbmZBK/i0=; b=Vv6DQJFxPGDmt4oxd9CinSEzF86soEUA60KVLFvroBcAWwbEhVZNQIhC04XfwCGxlBLiwqsbdpuIOWcF4J4IgjFUJxplv9EfeUnba7g2IXKgJ3OjyvK5VMcMr2sqLBINx1EuEZ0qZ98iHympq9Lgd3W0nFC4VT77uOBCKu0tAtTH3FK7wCn6LuIhWfap0/LrTmIcn4FbIFYHp7G96kUHUuQKdRQ87P2tK5Ml31qWPw1Gvi+maRU7aCjkTbf7tZ9ynq02HMnZ/9c2/OpGtfLPQY6Gfqn97mJtptVWzeK56aBClyJoAgrgj8FXMNRaDuyUCSKtyrRY0pgW26FBUdJ+dA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=x2EoKAW0S1ZUYJjv7W1wHH/q0vcQdo2BA6tbmZBK/i0=; b=fZ11LBVKU25FUccaQIHRxkO7klDwMVe2sk3YHxYa5cAwwWPD5YH5YIhrMSrjnplRsple0Qbpx0VaESVEE/OsdTj7ezgYsM7ZeaFGaEReYZfZnSqPpkrVP+Nhiv7dJlhz8O2mAcxBZxtGEftxLmswlonDw8TswEflyDLG1mneDJU= Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by MW4PR10MB6680.namprd10.prod.outlook.com (2603:10b6:303:21a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.34; Thu, 7 Dec 2023 19:37:31 +0000 Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::3b4c:a669:c229:47b4]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::3b4c:a669:c229:47b4%7]) with mapi id 15.20.7068.025; Thu, 7 Dec 2023 19:37:30 +0000 From: Drew Adams To: Xiyue Deng , Eli Zaretskii Subject: RE: [External] : bug#67669: 29.1; Drop text suggesting using `and' to replace `if' Thread-Topic: [External] : bug#67669: 29.1; Drop text suggesting using `and' to replace `if' Thread-Index: AQHaKTXdnWIrHdM2I06eJGpvB6jo37CeMJvA Date: Thu, 7 Dec 2023 19:37:30 +0000 Message-ID: References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> In-Reply-To: <87fs0ducme.fsf@debian-hx90.lan> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|MW4PR10MB6680:EE_ x-ms-office365-filtering-correlation-id: 346eba00-341e-45d5-400b-08dbf75bf3d1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Y8YzTHDDLU6c1Qv1O5lf6g27tST3c3LMqBga7Co+st93e37rnSQV3UkoQaUXjPOL61mxgpUOHo3WGgxLU9fIjpSah+eKow9May4pQQSoPAgAyS6ZrQMUjDUl0wb3UFlTF0iazC4hqJsxtL4yRcMfocjAvmvFYapx12syDJFD3xkrsD7/uqA068IVRtTrJWmYmaVKmw7d72ql9FmpgfVKWoiSv4ozmyDNQ8X0uOQF0gmO4cnjBOk+cNyJfp4Yl0MkGTJSqOe7XaInhjXq7yaZ/+vabHJF39VWlQchR3EYaiib0iSHEGq781hpy3LWHl8jpZIDbMzbNjcRaf6VVI5p6JFm4PwtEJD1up+CXTB98Kr8tkyR2rqeubXhw664upFKX0Z5hkkXesixH4HerTsw1vHBv1jo2332/m0eOWRNm2DMy4Eyk22TgF8czuzE8kw1K7MAqbUyOUhpZSZwKOdGQKSCsTIpYotxO7lSSTw18SCtrU6+fIztl5+303hS2Qi7jmCc1sE2ir0aDj94ATBzmxWWkxWJonaNOnNqnXOOXIwSJMotIa0KfsS4n56JxFwz+jUdrzP4v24hL7/X6CNFNowOpwFFWZ/UIIDfw1KpMUqoUezoidWUH1jdmMURai1e x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(366004)(396003)(39860400002)(136003)(376002)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(33656002)(122000001)(38100700002)(6506007)(478600001)(5660300002)(2906002)(55016003)(44832011)(26005)(86362001)(9686003)(52536014)(41300700001)(66446008)(66946007)(66476007)(8936002)(64756008)(66556008)(76116006)(8676002)(7696005)(38070700009)(71200400001)(4326008)(110136005)(316002)(966005)(81973001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Tzl4RDUxMEQ4YUV3UVhGSmNPWTdvamRza1d4d081cVovSlNhSk9NekUyOW51?= =?utf-8?B?TjFIeWF1T1Bsbnh4K01wdFdKcjYyRElqWFA0L29wQUdTeE9JNDdQdEdUQ01G?= =?utf-8?B?YVlQMVpwYkZSaEtlNVgrTWpFT3dOWXVZdjNuWFdyWU5MV1BSNUdBYjVjOWNH?= =?utf-8?B?YU16V2lrSHUyTUJxc2NtU0ZwYlJPR3ZSTVcwRzA5YWxWcHV4NUlHMGcyRGky?= =?utf-8?B?N1lnVzliQ3RCUjU1Q0VCdzV5c2Q5RmVYSlpHTE5YSDgwM3UzWkJzY3p5ZE94?= =?utf-8?B?TUV0MVZEQVF2WTd5NUJJbjdNVngvcE9kVGlUY0tLb3I1b1pJUkpDOHcyZW1E?= =?utf-8?B?NjA3R2x4QWc0M0RjbnhMeXQvOUFWQWpLQ2tuNnM0Mk5hMlUwQ0JxRkdRcWRz?= =?utf-8?B?WVY4R3EzNXpiTjBoZlZabmNsV2pNLzBvaVBZOGErOXlWcnA4dHVXMTJoU0tZ?= =?utf-8?B?Q0l2ekRPdW5xYkViNmFiYzhia1cxWmtPUURpTmhqNmdWczFRWk5kWXpHNzUy?= =?utf-8?B?NlQxSStIUXRaNXJLOHB3d0gwTlF2MU1hNXZTMzBCUFlySzNwK2VHZ3NJdExx?= =?utf-8?B?azJaQVVQMzFjVHRLMUJqdHlhR01LT3ZGN0JrYkVpWllnNzF6dWU4d2JLZW44?= =?utf-8?B?bmk0R2o5aXBHN3pRSEZOWnIxSkUxZ0IzVE9wLzBoN3EvU3VnQS9lb1gwNGNi?= =?utf-8?B?dUJkOVZ1YlN3QTBXMFlyRWduNGVla2NWdXVmZ2w0L0l6TkVxR2R3c2ptN0Zj?= =?utf-8?B?NURIcXplZEZabjhoa0UxVFR4ZUNnWllmRkFnZTkwdk9oUjRmL25oMlk0blBG?= =?utf-8?B?S3RlcFA2OFVxRy9UK1gxb21nMWJ4WGMrQVkzcWx6dE02NlZ0TG01L0NmNVBX?= =?utf-8?B?bTNQOUZVM3lFYVVXcU12aGgwcHJaaXdvd1FCeEdLZTBwZWZ3MHhTZGovT29R?= =?utf-8?B?T0pHUUhSaFhTbFVENG5Fd0c5dUxseDJZVnp0OVZWbTV3aE9PTUVDZDNVd3gx?= =?utf-8?B?QkhnaXYycFFWN3ZvNVRZV2k5TXdTV0NtNDhGcHpaUUVrd1RiTHp4My9za1JG?= =?utf-8?B?V2xRd2pJdU1KbC9pRTdOMHUwUXJ6S1Njc3A3aUk0Q2JrMXp6RHF1TmF0MEp1?= =?utf-8?B?ZTBVZGZIczZ2VkdhNGZsN1FyRUI5ajdpRE5QcnRESTBxZWMwZlM4L3YvOHhD?= =?utf-8?B?bmdISmxTaWhNdURBckZaMzYycWNyQVEzZXZqQmpOMXNmQ3VYZFFLTC9aK2pr?= =?utf-8?B?cWYyWHJoRGVBVHpTaEpBNlA5eXE2TUk3V3hMaWViNE5adGtoQWIwSGJ2b0Vh?= =?utf-8?B?V1BicjJMNlRrajJDbEl0NDhJaDRwK1ZwaC9UZ3g5TGVMZ1JtaVNTejgwekdL?= =?utf-8?B?SUM3REdaNTR4Y2VlOUg4SFhmV2xJNDIxKy9kRzlFOWU1elRCQTh3d2RjVDFN?= =?utf-8?B?V2FwZEY4aE5UYkNGd1lySHJkdUpSb0dKMGhEc1FIUE4waTc0akNKdGhGczR1?= =?utf-8?B?NTlTRHMrZ0JmZEpTQzUwQjVmMkFibEpLZHo1eVdneWJqdks0RDFGUTh1VHVK?= =?utf-8?B?dDRvbzViVnJUOVpJWEh2ODFGZmxsVWdXeEplS3JlUkpPTkp6YWw2SlR2Sm0x?= =?utf-8?B?YjcwRUFmKzBVN09VMzE1YXJyYUNxZEJ2QVg2UU92WW4zOWsxR29aeUlrQmht?= =?utf-8?B?MUhOdVdqQ0hPZW9yTDNMc2FoMHBvM2hkeXJMUTAzOFdKOWpCVTg5Tm4zOWZy?= =?utf-8?B?ZVZtKzExVWlweTdHaDl0U1RBazRwSnpJMjRlRzNqREtGZnVSN2UreEZkcWhO?= =?utf-8?B?RFMyOUxzaHBaVHM3TjhkczVWUlJ1SXNyeno3cGU5d2E1SzMzbW9xK1M0VDhK?= =?utf-8?B?K3ZTL3I3dWNvNmNheTd0VGM3QS9ubjRrYnpILzk3QWVUMm9zcGh1bkttVFcw?= =?utf-8?B?b0hmZVA5c0VIbXFnaEkzYm1jNGg0QndzZ21yTE8rQk50TFZCa1V4Y0Vhc3lr?= =?utf-8?B?RG9LUHZGNGEwVmZlNkN4ZUxHTXA4NGRQOW01N1ZLVWdpaWplSGYva1p0ZmJC?= =?utf-8?B?SkZ4ODNtWFpZSGZyMVdIeDJPQzF1Vy9mQVoramhvNmhjMHZlOTU1WU9FUWR5?= =?utf-8?Q?mV/0ETEuXkWOgfMDPEDCTlU8x?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: hcyJF923iqZ97VjTPrOIVUGg9ViMb8TKZ5mFLnzDKvmNwfXnEi83VCVUuxQ02fzRxtlZXLumfs78Fd+DNx7LJdLQKDCGJgiLJZ16KR6SnGxfyigP52VB5oYEPnHYxjmrU8fEVqkqT2Ajk4oVwIz4CZDZfSAgOfYxE7vs8mG3Oa5J6Y8IsvL+JlJbki51FheQBRJ9buLIFEXdd1HW5J0IWfVLpWJBT4oPyKXyzkyRMMDbn30SGI4zVMe6m9f2s/1fwYiaQ8AW7hg795cNjOzts6O3+uGIZLWLM0fa34FEtT/Xey1lT7Lb2Rp+fMYi4xgXtN4kuTF0bIi33bNjZH28yz47Bz+jWZI/tetp1BDzJznfOi4S/LXAfmGEdU/uncbggOvbOQmXU8liIuUcW3K3q22AQdhq+CcrdVDBJsyRQL8UKgAvv+JXkRBMborxKH7H/DSxYsK2Al0Fi1jhZmeF/Htf/DRxN3N8UN2M+ys64s/6FeiiLtu0f45xi6juoTkCyUENXnulfWXPg+nEShFP7FPTOhsqUQiBlqjK2KA2nLM+o386pUzOXkiXjrPFbJWBQ8+YqaRwZwRmRMHYw8lm6+QQ8lVUlFKECo3IYJove/fQK+ccqzsp2pvPXpURB97017kYqenw+9oyPPw19cgbLJHFaHPAt3s6+pm1nxfKFEvt+Tm4na8ERZWDYak6ivqeEc7lIWmuu0oBufj/MdrsDRycD8O6jOieEVv0B1wTsv1Nyi8IMJDTZWhjl5Bn2xiDR4QL69HythgN8AESdqeCWgB+98PastzlVerkMzzQs1XDYwhvijqQK+uvkYbllo2P X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 346eba00-341e-45d5-400b-08dbf75bf3d1 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Dec 2023 19:37:30.7432 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: sbwhY5HnIHhJUQbdtkDSNyMzroumOocfYrDyPMBrEVgHwGQKZF4TpBUpFXmruCvW9FY2Ya1JByNVc3irMsaDIQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6680 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-12-07_17,2023-12-07_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 phishscore=0 bulkscore=0 adultscore=0 spamscore=0 suspectscore=0 mlxlogscore=991 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2312070164 X-Proofpoint-GUID: XLW28S2vnlnfB5AsE0EAbc_sLV0H-LVr X-Proofpoint-ORIG-GUID: XLW28S2vnlnfB5AsE0EAbc_sLV0H-LVr X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 67669 Cc: "67669@debbugs.gnu.org" <67669@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.7 (-) PiBJIHF1aXRlIGxpa2UgdGhpcyBzdWdnZXN0aW9uWzFdIHRoYXQgYGlmJyBhbmQgYHdoZW4nIGFy ZSB1c2VkIHRvIGd1YXJkIHNpZGUNCj4gZWZmZWN0cywNCg0KTW9yZSBjbGVhcmx5LCBgd2hlbicg YW5kIGB1bmxlc3MnIChub3QgYGlmJywgd2hpY2ggaXMgZ2VuZXJhbCAtIG5vIHNwZWNpYWwgc3Vn Z2VzdGlvbikgYXJlIHVzZWQgdG8gc3VnZ2VzdCAodG8gaHVtYW5zKSB0aGF0IHRoZXkncmUgdXNl ZCBfb25seV8gdG8gcGVyZm9ybSBzaWRlIGVmZmVjdHMuICBXaXRoIHRoaXMgY29udmVudGlvbiwg Y29kZSBzaG91bGRuJ3QgZGVwZW5kIG9uIHRoZWlyIChhbHdheXMgYG5pbCcpIHJldHVybiB2YWx1 ZS4NCg0KPiB3aGVyZWFzIGBhbmQnIGFuZCBgb3InIGFyZSB1c2VkIGZvciBwdXJlIGZ1bmN0aW9u cy4NCg0KVGhhdCB0b28gaXNuJ3QgcmVhbGx5IHRoZSBjb252ZW50aW9uICh0aG91Z2ggaXQgaXMg d2hhdCdzIHNhaWQgaW4gdGhhdCBlbWFjcy5TRSBhbnN3ZXIpLg0KDQpXaGF0IHNob3VsZCBiZSBz YWlkIGlzIHRoYXQgeW91IHVzZSBgYW5kJyBhbmQgYG9yJyB3aGVuIF90aGUgcmV0dXJuIHZhbHVl IG1hdHRlcnNfLCBpLmUuLCB3aGVuIGl0J3MgdXNlZCBzb21ld2hlcmUuDQoNClRoYXQgZG9lcyBf bm90XyBwcmVjbHVkZSB0aGUgdXNlIG9mIGBhbmQnIGFuZCBgb3InIHRvIHBlcmZvcm0gc2lkZSBl ZmZlY3RzLiAgSXQncyBzaW1wbHkgdGhhdCB0aGUgX3JldHVybiB2YWx1ZSBtYXR0ZXJzXy4gIFVu bGlrZSBgcHJvZ24nLCB0aGUgKEJvb2xlYW4pIHJldHVybiB2YWx1ZSBvZiBlYWNoIG9mIHRoZWly ICJzdGVwcyIgKHNleHBzKSBkZXRlcm1pbmVzIHdoZXRoZXIgc3Vic2VxdWVudCBvbmVzIGFyZSBl dmFsdWF0ZWQuDQoNCkkndmUgYWRkZWQgYW5vdGhlciBhbnN3ZXIgdG8gdGhlIGVtYWNzLlNFIHF1 ZXN0aW9uIHlvdSBjaXRlZDoNCg0KaHR0cHM6Ly9lbWFjcy5zdGFja2V4Y2hhbmdlLmNvbS9hLzc5 NzQ0LzEwNQ0KDQpCdXQgYXMgeW91IGNvcnJlY3RseSBub3RlZCwgc3VjaCBjb252ZW50aW9ucyBh cmUgYSBxdWVzdGlvbiBvZiBwZXJzb25hbCAob3IgZ3JvdXApIGNvZGluZyBzdHlsZS4gIExpc3Ag ZG9lc24ndCBjYXJlIG9yIHJlY29nbml6ZSBhbnkgc3VjaCBtZWFuaW5nLg0K From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 14:54:43 2023 Received: (at 67669-done) by debbugs.gnu.org; 7 Dec 2023 19:54:44 +0000 Received: from localhost ([127.0.0.1]:43186 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBKSJ-0006Rb-J8 for submit@debbugs.gnu.org; Thu, 07 Dec 2023 14:54:43 -0500 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]:58807) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBKSG-0006RK-2H for 67669-done@debbugs.gnu.org; Thu, 07 Dec 2023 14:54:41 -0500 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1d05e4a94c3so11744145ad.1 for <67669-done@debbugs.gnu.org>; Thu, 07 Dec 2023 11:54:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701978861; x=1702583661; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=1+e7dPVPAheFxBVQioi6Hi+WFLZSTpzstIuvWeOGj54=; b=W+J36CPFKm4kxPKrkrj1wlk+d406B5xPp4dAg+dEllnpdfqdaJTWk2MpWfYg0ELAyB hBLfD9peLIUO5K47zEjzwTkcGj5YfnNjBuEcyJ6Q9x3Pp+1C5gY9+0zt37fze7wmC2ss cmodi1zxFWOTR9+PPjP4CzauN5m1wk7D5wKBhfsJdbdmWxCwnO5lT2Pci6XH5ZhQ552N P0Tx584DavEEuY7/Zw9eUO2GrOjcxpNxzcnF+uT15XzpX2hJAoH5Hq7/l7GtFSEn3CuX IEQDn6ZX8d++sW4olfKcu5i5YTjUOleh4ybebVylFTEjJxlWkcuL2Mxqmp+IYdczu/X2 U/Nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701978861; x=1702583661; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=1+e7dPVPAheFxBVQioi6Hi+WFLZSTpzstIuvWeOGj54=; b=j8xHKpgqtIoNXnXecwBCqOkaNopMT910CK5lmI/33/kM5x4/MX3q/HB3g4eOjR6mpU 47WRu3ykE6RhJfhdkbBiwrLwIXAe3gUvnbDT6En7VtuPmIOxC+ulkYpPpRf6CrhT2GxL dmX2Q8zXruBf+Bk0GOyyTIXSqIB+63sXyu5j0cQZ9cXwxe/ya6K0A99I+ta70VPfhf3O Cr+PYOtpaqQwWy+RwJzDrxODXx6Bgpr90p/L+OjYNKH5nbj8Iht9d2H4c15EcCD8lCIq 1R1Ycn7hC2AWtYvmTaiXXDsp7VkMG2k4x5tfzcM54y3lTK3VdsayKjYhkBtNHYc3bmpg LV8Q== X-Gm-Message-State: AOJu0Yzb7UnmmslAM4YwkZ4Mf+HvOpIcEv6tmGeIF8gFvO8OEPHq3j6v Q8skZ89tLd6+/GyXamCNDLzW4YmVU7BTCw== X-Google-Smtp-Source: AGHT+IEjvErVx9eM9uvu7QQ62bbKm2fwWv6v+iTTnSLzvJswBZ/IF0aJc7LnxftUB4+CozzxEyXeaA== X-Received: by 2002:a17:903:187:b0:1d0:c1fe:694c with SMTP id z7-20020a170903018700b001d0c1fe694cmr3817358plg.47.1701978861430; Thu, 07 Dec 2023 11:54:21 -0800 (PST) Received: from debian-hx90 (2603-8000-a400-0cdc-93f0-c81c-5fa0-c77c.res6.spectrum.com. [2603:8000:a400:cdc:93f0:c81c:5fa0:c77c]) by smtp.gmail.com with ESMTPSA id z4-20020a170902ee0400b001cfc44aac0fsm197278plb.111.2023.12.07.11.54.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 11:54:21 -0800 (PST) From: Xiyue Deng To: Eli Zaretskii Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' In-Reply-To: <83v89928xe.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 07 Dec 2023 19:56:29 +0200") References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> <83v89928xe.fsf@gnu.org> Date: Thu, 07 Dec 2023 11:54:20 -0800 Message-ID: <87bkb1u6tv.fsf@debian-hx90.lan> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67669-done Cc: 67669-done@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 (-) Eli Zaretskii writes: >> From: Xiyue Deng >> Cc: 67669@debbugs.gnu.org >> Date: Thu, 07 Dec 2023 09:49:13 -0800 >> >> Agreed on the point of being educational, and of course in the end >> coding style is mostly a matter of personal preference. However, I >> would argue a bit that in such case we wouldn't need `if' or `when' at >> all as both can be emulated by `and' and `or' if you are careful enough. >> On the other hand, `if' and `when' should exist for a reason. I quite >> like this suggestion[1] that `if' and `when' are used to guard side >> effects, whereas `and' and `or' are used for pure functions. >> Interestingly the current example you quoted changed from using `and' >> (as in the old version I quoted) to `if' probably based on this >> reasoning. Similarly I wouldn't suggest to replace `if' with `and' in >> the original example around the text we are discussing: >> >> (if interprogram-cut-function >> (funcall interprogram-cut-function string (not replace)))) >> >> as we are also guarding a side effect here. >> >> Wdyt? > > Sorry, I don't understand what you mean by "guarding a side effect", I was referring to whether we care about and use the result of the statement/function call. In `and' we do, in `if' we don't and we just use the side effect. > and I'm not sure where this discussion goes. If the issue is personal > stylistic preferences, then I'd prefer to leave the text as it was > according to the preferences of the original author (which I happen to > share, but that's not important). > > OK? As I was just trying to argue just "a bit", I won't be insisting either. Thanks for listening, and let me close this. -- Xiyue Deng From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 15:01:06 2023 Received: (at 67669-done) by debbugs.gnu.org; 7 Dec 2023 20:01:06 +0000 Received: from localhost ([127.0.0.1]:43197 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBKYT-0006fh-TE for submit@debbugs.gnu.org; Thu, 07 Dec 2023 15:01:06 -0500 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]:50215) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBKYQ-0006f4-JQ for 67669-done@debbugs.gnu.org; Thu, 07 Dec 2023 15:01:04 -0500 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-6ce32821a53so812343b3a.0 for <67669-done@debbugs.gnu.org>; Thu, 07 Dec 2023 12:00:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701979244; x=1702584044; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=hAelL39UO7D4Tl6JbKXz3rIxc6xeojoZsPwuGCGmcYo=; b=cuNS8v2Y85I6Z2vXYt8c9C4TMSrRbfP/mHJte1mWIEmnCEXrnELa17rreDAKFxO8hY 4GQwxbt3kzDVrvixjZ7YoX9JwFzNJri2L9QOP+OW/zNHxBU4ygzWZZUATx7WXsH58eD4 Yn8EKG0LymEIaqEecWa1xmNNBxF0WlZw2GnEpp7p0Dg9boPg4sOXrVY4Uj4AV9OjrmI5 UVcD9qO6pnb1vIEwAz9/QgTPerYbh4wJfbeAOOJc/NRF1i6sEscsh7fGdNPhTN448hkQ lfHYBsCpEqyWYS7LZ6RipJMxRaR7RbGPH8CdXeXevh89Beid1lo9+q9b2EErU/M8BKQS WgGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701979244; x=1702584044; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=hAelL39UO7D4Tl6JbKXz3rIxc6xeojoZsPwuGCGmcYo=; b=FFx2V0LSDkG4B93eJtXDxv/9mfRZV+voA52KlR+w8qMtNPRkjlJoRjeWNLD642y+Zd 476ZCqyzlXzK0uu+hf7eVh8IxqtggQj2lDDh+jM1Sve1958AHAganEPbOnnvDbkfCAKB +KYQmja21iv+g5cLegti1pchAKCVa5Hn1Xrh4szTiI4SHSRX1dY/VAhgfFPpMZz+xvDc lg7N7wSjZ4d628C97en6pZM4WNSht7fb/7R/o/cMpLFXuNP7dtHSTlyXSznlnNELlhVD CZh/LLlVIniis4+YZEXOen7VBvlQ0A93u6kJs7cWaEVQ2LsnINUIrYCcQLVidPQTGOW+ tgrw== X-Gm-Message-State: AOJu0YxUQLyYnVrQ4MWYuw4G74kLaVej110mBxUDZsAIIlqp/wS0jXXC OtbeRObyrRJWGdGkiaYEeunzgpDS9Z/WRw== X-Google-Smtp-Source: AGHT+IEKG4HqX1vTqBiaW9vMU6M+UDI/JYTl7eY6GxM1s8Acb6r6DuqYNCBfsG5m4Z8ZGWJO25wJGg== X-Received: by 2002:a05:6a00:a29:b0:6c4:cf33:cbe8 with SMTP id p41-20020a056a000a2900b006c4cf33cbe8mr3562856pfh.6.1701979243594; Thu, 07 Dec 2023 12:00:43 -0800 (PST) Received: from debian-hx90 (2603-8000-a400-0cdc-93f0-c81c-5fa0-c77c.res6.spectrum.com. [2603:8000:a400:cdc:93f0:c81c:5fa0:c77c]) by smtp.gmail.com with ESMTPSA id g4-20020a056a000b8400b006ce5bb61a60sm168909pfj.35.2023.12.07.12.00.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 12:00:43 -0800 (PST) From: Xiyue Deng To: Drew Adams Subject: Re: [External] : bug#67669: 29.1; Drop text suggesting using `and' to replace `if' In-Reply-To: (Drew Adams's message of "Thu, 7 Dec 2023 19:37:30 +0000") References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> Date: Thu, 07 Dec 2023 12:00:42 -0800 Message-ID: <877clpu6j9.fsf@debian-hx90.lan> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67669-done Cc: Eli Zaretskii , 67669-done@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 (-) Hi Drew, Drew Adams writes: >> I quite like this suggestion[1] that `if' and `when' are used to guard side >> effects, > > More clearly, `when' and `unless' (not `if', which is general - no > special suggestion) are used to suggest (to humans) that they're used > _only_ to perform side effects. With this convention, code shouldn't > depend on their (always `nil') return value. > >> whereas `and' and `or' are used for pure functions. > > That too isn't really the convention (though it is what's said in that emacs.SE answer). > > What should be said is that you use `and' and `or' when _the return value matters_, i.e., when it's used somewhere. > > That does _not_ preclude the use of `and' and `or' to perform side > effects. It's simply that the _return value matters_. Unlike > `progn', the (Boolean) return value of each of their "steps" (sexps) > determines whether subsequent ones are evaluated. Agreed here. I was quoting the SE answer for the "pure function" part, but indeed I also think what matters is whether we use the results. > > I've added another answer to the emacs.SE question you cited: > > https://emacs.stackexchange.com/a/79744/105 > > But as you correctly noted, such conventions are a question of personal (or group) coding style. Lisp doesn't care or recognize any such meaning. Also agreed. And I've since closed this. Thanks for the discussion! -- Xiyue Deng From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 15:23:14 2023 Received: (at 67669-done) by debbugs.gnu.org; 7 Dec 2023 20:23:14 +0000 Received: from localhost ([127.0.0.1]:43220 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBKtu-0001YR-HY for submit@debbugs.gnu.org; Thu, 07 Dec 2023 15:23:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55650) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBKtp-0001Y2-Ut for 67669-done@debbugs.gnu.org; Thu, 07 Dec 2023 15:23:13 -0500 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 1rBKtX-0007Ke-UN; Thu, 07 Dec 2023 15:22:51 -0500 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=6FySp+Z7pLSZJJ9vy2RgB8oISjgs2uzmQzqhclatq6I=; b=HSwkzELIXByP 98rO5sKsQNf9DeF6Ydz5uaz0mDoohbNnZRj8NRElciCzbQceOrUC50qhA05k0s+UPA5lMxKyD3b+5 1VNtPjbX0uOy/nk2LkhsO9KROS24VA/0DWW4Vn+7XERAkelcF7n7IuXFZuu6gv1OcyEYTkLf8DUGf vLIlOOdSudhPZvDIIFuZ2JQqPCxi7qJaVfV+14bpAdGuWs7k73hS2eH2JFKvs+PLLXHOnMj/JJHuE Og26OVUeVuLnoyLeHLfc94/5yPDIaOGVqq5KZC10tP4Eln1y2imlPVrAH6PBOM9xnI04TrB46Si8q RBg/aH+9H3P+OkjvZrbORQ==; Date: Thu, 07 Dec 2023 22:22:57 +0200 Message-Id: <83plzh225a.fsf@gnu.org> From: Eli Zaretskii To: Xiyue Deng In-Reply-To: <87bkb1u6tv.fsf@debian-hx90.lan> (message from Xiyue Deng on Thu, 07 Dec 2023 11:54:20 -0800) Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> <83v89928xe.fsf@gnu.org> <87bkb1u6tv.fsf@debian-hx90.lan> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67669-done Cc: 67669-done@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: Xiyue Deng > Cc: 67669-done@debbugs.gnu.org > Date: Thu, 07 Dec 2023 11:54:20 -0800 > > Eli Zaretskii writes: > > > Sorry, I don't understand what you mean by "guarding a side effect", > > I was referring to whether we care about and use the result of the > statement/function call. In `and' we do, in `if' we don't and we just > use the side effect. But that's not true. 'if' does return a value, and we do use it. Consider this random example: (defsubst posn-area (position) [...] (let ((area (if (consp (nth 1 position)) (car (nth 1 position)) (nth 1 position)))) (and (symbolp area) area))) Here we bind 'area' to the value returned by 'if'. > As I was just trying to argue just "a bit", I won't be insisting either. > Thanks for listening, and let me close this. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 15:38:25 2023 Received: (at 67669-done) by debbugs.gnu.org; 7 Dec 2023 20:38:25 +0000 Received: from localhost ([127.0.0.1]:43230 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBL8a-00022c-Jd for submit@debbugs.gnu.org; Thu, 07 Dec 2023 15:38:24 -0500 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]:48183) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBL8U-00022C-5Y for 67669-done@debbugs.gnu.org; Thu, 07 Dec 2023 15:38:22 -0500 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-6cc02e77a9cso969378b3a.0 for <67669-done@debbugs.gnu.org>; Thu, 07 Dec 2023 12:38:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701981479; x=1702586279; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=WeNAkywAMVdu11KMgbFhWGkKXXkbTPqPYshB4y0AMHo=; b=NdyK7c5s/xze7jxoZHLnzd0BnjFU1kSwtuqp68141Sj/3XOqn17x+H5uAxToixmHm4 +qe1es+9Vr2g6y/Hd1h0QWZCrjQSAK3LLd/obFabjvFiOfkiGc6bRfl3+tP8zdkkydjt 4jqW35U10IZNLrIn1pFW6bYrcG0sPqe3K+/coh7L1lXfr7ivgqpssosFsNV1lyzD0Vfl k6l0NIhFWDcTBNk18RWte5gYYImK2nkVIkuUYIRPFmSedBgnQlJUjX16xRyPyp20Vu0W gjXW43x0ko0GDJXcCXnf3WMCtHyLz+29gWNxRtspAmvrNZCxHSzkawxjlLf2P/QulxqW rmcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701981479; x=1702586279; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=WeNAkywAMVdu11KMgbFhWGkKXXkbTPqPYshB4y0AMHo=; b=OVE8uBffGQ4ChA927HhXlQkFhVUOPjybIPLvqSt2Kc8HwzlTY+UbPFVptMDjyPWL0n 50OoXFRRo/nGP2XKBYKnZf5x/OiZEyk2qaL2/958TSj/MF/myQeaRZZLAt/fNH+FOkrm 63tKNReqvxBDmU+DwNl9gV9fXle9A5rT0iNbBbHpzMzmCAxiHXwxftR0UpK3+h7GOV4F LBegf+3rvDtaKKMQWBqzG1FpP5vnmChRErdTJPsC31tQlRQetyXRa9laH3Y2uootSFKO QG8tG5+lpQH2c+V3+zJNsWHwiiCFJTYHZpk9FCqWDZ2gvWLfgUNyYNwyoHRf3qgSpmCu DSeA== X-Gm-Message-State: AOJu0YxjCcBMxf7Glms+G2MuGZp4GNVOOuGUtl8V53YC+GhWcbJU2Rq4 AM6+MpGYPm+kWPm/Esx40E6So1gNONh1XQ== X-Google-Smtp-Source: AGHT+IEh104Wa1oEfbVUee5OjnEGbE7avNZvlWDXndMNULvGPuBKB7pJJaaVnhmc94vy9xPkBWGEPg== X-Received: by 2002:a05:6a00:194f:b0:68f:d1a7:1a3a with SMTP id s15-20020a056a00194f00b0068fd1a71a3amr3760135pfk.8.1701981479345; Thu, 07 Dec 2023 12:37:59 -0800 (PST) Received: from debian-hx90 (2603-8000-a400-0cdc-93f0-c81c-5fa0-c77c.res6.spectrum.com. [2603:8000:a400:cdc:93f0:c81c:5fa0:c77c]) by smtp.gmail.com with ESMTPSA id t2-20020a62d142000000b006ce538550bbsm210459pfl.74.2023.12.07.12.37.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 12:37:59 -0800 (PST) From: Xiyue Deng To: Eli Zaretskii Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' In-Reply-To: <83plzh225a.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 07 Dec 2023 22:22:57 +0200") References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> <83v89928xe.fsf@gnu.org> <87bkb1u6tv.fsf@debian-hx90.lan> <83plzh225a.fsf@gnu.org> Date: Thu, 07 Dec 2023 12:37:58 -0800 Message-ID: <8734wdu4t5.fsf@debian-hx90.lan> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67669-done Cc: 67669-done@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 (-) Eli Zaretskii writes: >> From: Xiyue Deng >> Cc: 67669-done@debbugs.gnu.org >> Date: Thu, 07 Dec 2023 11:54:20 -0800 >> >> Eli Zaretskii writes: >> >> > Sorry, I don't understand what you mean by "guarding a side effect", >> >> I was referring to whether we care about and use the result of the >> statement/function call. In `and' we do, in `if' we don't and we just >> use the side effect. > > But that's not true. 'if' does return a value, and we do use it. > Consider this random example: > > (defsubst posn-area (position) > [...] > (let ((area (if (consp (nth 1 position)) > (car (nth 1 position)) > (nth 1 position)))) > (and (symbolp area) area))) > > Here we bind 'area' to the value returned by 'if'. Well if we use `if' with else then yes. Actually as Drew pointed out this suggestion makes more sense if we are comparing `and' and `when' (a.k.a. if without else), but point taken. > >> As I was just trying to argue just "a bit", I won't be insisting either. >> Thanks for listening, and let me close this. > > Thanks. -- Xiyue Deng From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 16:29:24 2023 Received: (at 67669-done) by debbugs.gnu.org; 7 Dec 2023 21:29:24 +0000 Received: from localhost ([127.0.0.1]:43272 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBLvw-0003hM-8z for submit@debbugs.gnu.org; Thu, 07 Dec 2023 16:29:24 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:32960) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBLvt-0003hD-7A for 67669-done@debbugs.gnu.org; Thu, 07 Dec 2023 16:29:23 -0500 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3B7LIHAI026283; Thu, 7 Dec 2023 21:29:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-11-20; bh=bRpGi8wNmaXezSxoPdmQwvfdHLMmEm42zIHzPKgQjzQ=; b=NautsHsRHUlu+rKc8A2b3BEa9odGJAZUXJYt5TP20gV7n0kjOz2zDWhLw6GQ1FVtQFEQ zoX+6SUjebqTZUnVgTrE0ejHeXT8SJfdoP/dnRMDxxDqTlT9rccFxBaOscJPsqb0msMO dhSBGceVqX2iJkVkRTJGSz6mUSa2Wf/CmFrsNkwIw1QhtVWqaPnBKvEnevS2ui6BFxMG ewYJqpY93rXpwVOwYC9AAkxWU2QD8syPiCddYowKpsxZOnD40I3S3zL7ouMzQsaegETd 7H9rUnqCzOkz7QIbqYFcaLdC1im4vzGojsobDI5e/eVIl0IxsH9u6Ap0GHS7yYoYlq+b oQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3utdmbmy98-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 07 Dec 2023 21:29:07 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3B7Kmkn9038098; Thu, 7 Dec 2023 21:29:06 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2100.outbound.protection.outlook.com [104.47.55.100]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3utan82ngk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 07 Dec 2023 21:29:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MQY8eLkAg9I4JiBCeu61kia990St3hMwOzrq6KkfkJhjfX34I+wbjVtw8CoCFMKYDUbmOej6/jQM/LKId8ZXZK256uS06+Il4DF6Ny1tjKN81lEJ5r3HkyhgGMskfLijDeUG7dkny1va+zbMobmfWdPfNBYY1/7EJZtD+rIWX0PVJobT7nFx8O+5DPcf4RoQhaLge+wsQxN69BBUJVhm8viUPcVbOvTi0uVhSMS+Z4tWvgriizSEdPyupcdXuQIIglibXWxYOidlVDETZZjq4j9FbP1F1DGMyIVbolhoWZxL7KIvElbqSiKXHzlKwzQexWKEK7BOFMQWoZ+N/2y2xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bRpGi8wNmaXezSxoPdmQwvfdHLMmEm42zIHzPKgQjzQ=; b=P9kgl6EdOaGj+z+TmxHGA8lv+RN2G5dLKvY7xKJW9ybJPfhZekRqZme8uNk0HsQiCm6vHXNa5DDMekDSHUxqpuBP9HV9g6OPRu7Mt4qFH2gcnE4AnsnDoIUa9fQWrJlDJuKzWQ9gaB7YotjhZCK0DIFMkAcpIpcVF6nqeWy5CBwb0GgdQXfy7iMRwTyAV4W5mVBQwuPcjOMMnhVlNhsuvhEiwFNDO89xdMi6QA8iGQb6efq8yEyTTS0SEjlYMclO60i1PS/Z4iLP097FApm8cJ6ARaxJRNWKXRgtuBNLIPdm2qmRHJo7OWXtzYFRWF0CZSXuBDRGSsZ5HXGfScLGgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bRpGi8wNmaXezSxoPdmQwvfdHLMmEm42zIHzPKgQjzQ=; b=EoWMbBlM3cSX+DIoNwbGncpTTBbJmeTX8AWoee38fxY0cKQagUzBXQiBymR4CQCku69FOoBfITixzQ+kmqpSXZoJPjU/ttTuKci0ZnZGbgeV8TOyxWVNxHOBTxY8LOTBKkY4cGIcVOzgEEuNPpZmatecHGib144pkq2zpYKsrX0= Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by DS7PR10MB5069.namprd10.prod.outlook.com (2603:10b6:5:3a8::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.27; Thu, 7 Dec 2023 21:29:05 +0000 Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::3b4c:a669:c229:47b4]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::3b4c:a669:c229:47b4%7]) with mapi id 15.20.7068.025; Thu, 7 Dec 2023 21:29:04 +0000 From: Drew Adams To: Xiyue Deng , Eli Zaretskii Subject: RE: [External] : bug#67669: 29.1; Drop text suggesting using `and' to replace `if' Thread-Topic: [External] : bug#67669: 29.1; Drop text suggesting using `and' to replace `if' Thread-Index: AQHaKU12NBqQxnlTV0KOtKn8oMB1UbCeVGgA Date: Thu, 7 Dec 2023 21:29:04 +0000 Message-ID: References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> <83v89928xe.fsf@gnu.org> <87bkb1u6tv.fsf@debian-hx90.lan> <83plzh225a.fsf@gnu.org> <8734wdu4t5.fsf@debian-hx90.lan> In-Reply-To: <8734wdu4t5.fsf@debian-hx90.lan> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|DS7PR10MB5069:EE_ x-ms-office365-filtering-correlation-id: 35017253-3851-4606-130e-08dbf76b89d7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FmoEKxb9i/aU3Eer7A1VEiEeOezZz357sPLJ1KusyFA2Zi9V16R068gQuwf4NTBq+zT5edLS+iSA35kg4BwMFuNka5oLREfOmtNz8xn/Rk8dGoi35fAROE4O5Ron82dDxf/VdspUs2DorvZXRJwxDMZ/AC4WfwdFjvrjEplZLhyFW9X0F96lZcB53PLpMFA0YU/QAvc6YoVL+DhFT4G4Q86fLDoj/zM3r6KmX1lhyXQE3wHTazUk0TW8vUs386M03TKp7V9q6b+DvjMohE0mdY6XZjpTLKA5865qPea3t3vR9DCaW5E6xDhPelPIp4NpCE648gyVbcZN6/qBCdsESYRydEMPzfu4g3orSu2F4mbagZyPwGmsOtUtfRn+m4fI+9+GvGKmqhIQRD/BGf5C7f7PtjyVcztLgsiEy1dfXlGWbNRgs9wzldmuK1eLmMxA1mnWm2khiX9pXVkx5KUwb301kNAEBU49hTj6O0N/GTCdfHo803rnB912VFWwfR7q2reTsKqm0N067yOUUij9WfjDCblEoYOG7xcKZs4w5N6pETXZa1Z8ZYLcVvzm8XzuBCLLxS/ERBogUAygWX4qRIX3ekmszgjQuKWWyPawbSaXrsAeU0EohN95URPdphfbgvLhIcPT1WyNf/IB4y3MBA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39860400002)(396003)(346002)(366004)(136003)(376002)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(4326008)(2906002)(4744005)(33656002)(8676002)(8936002)(52536014)(44832011)(86362001)(5660300002)(38070700009)(41300700001)(55016003)(71200400001)(9686003)(7696005)(6506007)(26005)(38100700002)(122000001)(66446008)(66556008)(110136005)(66476007)(64756008)(76116006)(316002)(66946007)(478600001)(81973001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?nDZOiOrnlJJx84ncPBqLAbrDeA77e6Ig9SShSEj+GbGlqe3AzY1M5GS2KyZZ?= =?us-ascii?Q?WZEVs50TtmX7N9G1TtJfTCagINKxXKbNU7Mn9qxyQn1uZOAMuYWWJhoLSvl0?= =?us-ascii?Q?146gN7l4ieu+LKBTuoqL/ZVnOdN+9SYp+u8uZNY7X0M4OQ0/qbedKxldNTpk?= =?us-ascii?Q?04EzpUxjncDyEFf+FiQs7pCNnhzM1zdfT/z2E/JexpLADxHwFuGBBT+7Wunq?= =?us-ascii?Q?vqguDA8VWnOXRSNETznFvFbsovrkexalzgKYI4N0gIekkTCt/5DRuMU4pyAs?= =?us-ascii?Q?j+PEG7IVXPSfc/M9Fo0woTEojEBpcsuwaDpWwfnPNOaqpM5qvhSm1j+fB0lv?= =?us-ascii?Q?fsocanAiAuNS+KLpRLB4dSUL4cTJZ0qffjXEiMmENO8YD47l2EfG8iREUVj7?= =?us-ascii?Q?caNRSUieTyZwZAzvDICtc0zUBYDf7h6Z+00rd8vpuMEquhDS7IH00RqLynMP?= =?us-ascii?Q?hzVYfKvQFa5oBk080ehsfazN/MkjDgrJ/kVLooGQYWdEjS3nyAtVj5uMX/r1?= =?us-ascii?Q?LLLN1I6X8+wItl/Z1HUihK0gRNUN6BVUQ0E1Ibws5o8dZAYOpb3Rb80CdL9j?= =?us-ascii?Q?0eOSHw5m6wcmw5FcP6I79qZAt4OQ3YK/Vzxz0B1Pk+bU4uteT0WROlx9g5C0?= =?us-ascii?Q?sXWU7FgHTP93ZoUndp0Kh4znNsnJFwf/WBHs/DvzJlgxH4g7dBpp6ouEenvq?= =?us-ascii?Q?po2wn9n/coTigmKBVdLHuiYoEkaOuK82k0nDCBJGDWzXO4Kjcw8D2VaJMwaF?= =?us-ascii?Q?lu72WOVBJBVBOLopY4hUuPGmfHAXdQedq/zG6crqwv//1CNCIWk8AcGvP7mS?= =?us-ascii?Q?7Tbt37zxQ3N/itBEbKVVqqX0ho28zU2Xntq+ScqjY9/E0cjXEIxX5gTy94Vt?= =?us-ascii?Q?qqCqzHsqSfI3hra6zion1afWT6nvZt2DaRzeh7Hbkht/wBygneN/1k578lmn?= =?us-ascii?Q?IbkQfuWV8omrK3r6ldKukP+pU0qLNKk+rgaKM+FsDWlJQq3zUjtSo4QsZtnY?= =?us-ascii?Q?qNNnG7h8MU9NMlzvsGCs2fmZs1xNWClqX7Fsz6aezBaPAA04F+3BjVmmDC6T?= =?us-ascii?Q?hG6UO4dByX2quk37tPIylcPGXIKrflCPt/n01NkmTnQ+aGNiH+aPr43ucsda?= =?us-ascii?Q?hIImnIXeKWCpNETf2cMREnvKKe+EIA0y1wwPQ6DdpDQIWMXnej1vmicxZ0Ai?= =?us-ascii?Q?TII3SWqxcGSVqSKIig10zioFw2imZVoM6F1oxLSsUaRrOBu7A7+MqapQl+ER?= =?us-ascii?Q?VKLYevHtR6WwMZMoNP92z6B2CoQ5F/6NFFPm/QB0elbjRsRELWjDfuWtGLso?= =?us-ascii?Q?i2g1SSGIPcLgYBFg5gIFzoiH+a7yX7e4RiqctK0Yq5cvb0QFjJMOtcI139mx?= =?us-ascii?Q?Re0KzpLniMX0l3sLh6pHeL7eQYKC8e+MJ1VyixPINxp8Ajihgk8IrBJjaQG+?= =?us-ascii?Q?HODj1kyhOv4+R5vzO9k+gnXcPoJmLkNqtfCn3FbuczRNsasc0oqTnk8gL69F?= =?us-ascii?Q?NDWkaaqNr44dReAOI9PmPYlqJ2VdZj5S8M2KKWaojIJIhT0nt+tvsCBafQAW?= =?us-ascii?Q?wWhwgG1auZ5NXflZbnXKGKmgzwZ1j+vj1cHDO9HW?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: YO0Io9F/AFm8sUTR3+wWZFz2jn0frXV9C+a6024AFHSUMEl8vMS7QAVDodWgal1MC1n18cWc3ghkB6ZvunZLlHkS7XwXEI9bpnBBu5KYPOlbkQiGbuRwnQcK51Hn0WlRU1cV4Uq451cmH8h+aw5fh+WvP9fas1z+SxzzJGtb24Y86ezH6SFzN5JMvRqwSHN050b6xaX+EloBJW6tvbrW2AmzG/EC5WcR+dYJybZtdDDt8XxsouOgCI28ciOoU1TghA5nomsn7TkoJd4clR6zWydHD1PO2Y8SSY1mAYcxzHl3HYGiNjsDh2UG0quU6PYuSytTX+yz4ZfbWEnLZJxzStbSHv0Lp3CxYjv5oyIPTGEL2HneXmsiuhMebhUdIbGSou46NEuOtoXBJvn9wVrkgDV8CC6Y77ut4izzpDzF0c4orY2Nd1IWjiGJBM1bc+nQwtXKsMOPX7U2GrhQ/Keq4nV+65KolDVz7wVBirEj1K7mr3P11nDI5zWm9MZq24XO9DPyE0G3gCrfz4BvyywA+po7mthIeBMLjIY9PyVLRWHAKHGagpbFFegRZL5QUfb4YqHC+T5ZhsFNCR1ksCckydgQ4OQzNduyiSMbcsoiWXc+qDmF9XHu0HsGbQrgHW1zTc27XZ5cDwFcQprgdi/cV5rJssFG1N2pGVaYpOQc1BnRgrydR70PXZlWdFwAuEARem0JlNqIRWXpZhGJRrsDus4M2BdEfs5nPZwMOTY3ZPoJz3NzJj4OEBheVjgaaYv8o4rbmNhtUvVbR7HrxqtxY4JUjnrSqcj6EiccAAnzZBYMCyILci6Dj4VsKAMvVBn7 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35017253-3851-4606-130e-08dbf76b89d7 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Dec 2023 21:29:04.8949 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wZmMpqizKgl53OXCIrnHYQ3wiZHpCb4AgfaI1MhDqwX1TLUlAFvWkXmigaj19SmZLONXZ6gxFF26dUoPOeuviw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5069 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-12-07_17,2023-12-07_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 malwarescore=0 suspectscore=0 mlxscore=0 adultscore=0 bulkscore=0 mlxlogscore=539 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2312070181 X-Proofpoint-ORIG-GUID: ItQ3_FXFOR5hy-9Aki9SI6PnGHLezRjo X-Proofpoint-GUID: ItQ3_FXFOR5hy-9Aki9SI6PnGHLezRjo X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 67669-done Cc: "67669-done@debbugs.gnu.org" <67669-done@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.7 (-) > Well if we use `if' with else then yes. =20 Even if we use it with THEN. `if' and `cond' are completely general and don't, by themselves abstractly, suggest any particular connotation for a human reader. They can return any value you like. Whether the value returned is used anywhere is neither determined nor suggested by any convention. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 08 01:25:24 2023 Received: (at 67669) by debbugs.gnu.org; 8 Dec 2023 06:25:24 +0000 Received: from localhost ([127.0.0.1]:43637 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBUId-00074F-Iz for submit@debbugs.gnu.org; Fri, 08 Dec 2023 01:25:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54680) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBUIb-000740-65 for 67669@debbugs.gnu.org; Fri, 08 Dec 2023 01:25:22 -0500 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 1rBUIJ-000538-2y; Fri, 08 Dec 2023 01:25:03 -0500 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=WqvVbh5pwC8R5giOdSYNXGhBbNinMVYbNtYVzBM8mGk=; b=olgbUdNa3NbB GWRrsVp0GLJE0myl1qqM46ZlYJdsYaw31sQ8pP07vuKD7YlsLRicBs7NA35Gdz8AdangzfO+6Y4tl Ec1Y9fvxuGWlCGeqDoUzqTFhi1mSnVW54NFLOabDVqBnxUP8xOSUqWU8aFTe6S3TepFUCBjwjhY5B UCwYwYAwLIYdKT7kc/ERd9catE9SexvbEdm+yhR2y2r4EqrHp1vSIxZdwUkK/VOON99jMyrxlrEEo TbyLlECKv0kbOFx5pfvDvKBLfw693aZ/fqGjQO5/UX6X0Pw4eBgh8UjcaX2HaPhX++JHRM5rBQLEo ICNxd5FHV9+htpgKHgXMXw==; Date: Fri, 08 Dec 2023 08:25:16 +0200 Message-Id: <83o7f11a9f.fsf@gnu.org> From: Eli Zaretskii To: Xiyue Deng In-Reply-To: <8734wdu4t5.fsf@debian-hx90.lan> (message from Xiyue Deng on Thu, 07 Dec 2023 12:37:58 -0800) Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> <83v89928xe.fsf@gnu.org> <87bkb1u6tv.fsf@debian-hx90.lan> <83plzh225a.fsf@gnu.org> <8734wdu4t5.fsf@debian-hx90.lan> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67669 Cc: 67669@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: Xiyue Deng > Cc: 67669-done@debbugs.gnu.org > Date: Thu, 07 Dec 2023 12:37:58 -0800 > > Eli Zaretskii writes: > > >> I was referring to whether we care about and use the result of the > >> statement/function call. In `and' we do, in `if' we don't and we just > >> use the side effect. > > > > But that's not true. 'if' does return a value, and we do use it. > > Consider this random example: > > > > (defsubst posn-area (position) > > [...] > > (let ((area (if (consp (nth 1 position)) > > (car (nth 1 position)) > > (nth 1 position)))) > > (and (symbolp area) area))) > > > > Here we bind 'area' to the value returned by 'if'. > > Well if we use `if' with else then yes. No. When 'if' has no 'else' clause, and the test fails, 'if' returns nil. This is used in many places in our code. Like this: (let (baz) (setq foo (concat "bar" (if (stringp baz) baz)))) => "bar" Here 'if' returns nil, and we use the feature of 'concat' to ignore nil arguments. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 08 04:07:49 2023 Received: (at 67669) by debbugs.gnu.org; 8 Dec 2023 09:07:49 +0000 Received: from localhost ([127.0.0.1]:43811 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBWpp-0005WP-1d for submit@debbugs.gnu.org; Fri, 08 Dec 2023 04:07:49 -0500 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]:56386) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBWpn-0005W5-PL for 67669@debbugs.gnu.org; Fri, 08 Dec 2023 04:07:48 -0500 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-6ce26a03d9eso1402782b3a.0 for <67669@debbugs.gnu.org>; Fri, 08 Dec 2023 01:07:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702026449; x=1702631249; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=M4wCOUmihSukDlDAW9EsMfVGKwF5yq92wyAGny3ADOQ=; b=a/g0ObUki2bjEYmUsyJ0Xm9AGbB2X7rJCSnJFOTOpjjJ8NiVY+xp9etQQS0vyOHGdS 12ViG6rsVPaVoW06wrLF86detW/0T3WEfTb0FL1Ulck9/1tKvK5cwV1W1P77Kmg7B6iC e92BWMlHH7BMi9sahpPp55dn6GJWUXVk7TlsFLBalqR7+7E/T6hQdV9wNS+I5Yflocdr 2mscS0zfsnRUb4DSrVqCtrv4W8P3P1LjK9xgb+uCeW0Nk+O0KlRn0FTY8Kg6HrRau/cc nu6WnpAJ1MIUNTHvw+twmy7fZmrZq2WR80PqBqCZ8NzoFpozaTms9dS0QILGWkjQDG2x n51w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702026449; x=1702631249; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=M4wCOUmihSukDlDAW9EsMfVGKwF5yq92wyAGny3ADOQ=; b=bhEd3oFWFRLkTjxHkiloRcCnZDztxovgoXsdVvgiwTot7VU6jh2E7FrRQv47DiouZU fMeg9VydGm7ciIjetDuXFewZnp4yosww4P5c2lxapK43armDqWOxbiuay3UF0tLo4E1D Sc7nUdkv+v7qMrdWQoEnHUWM76mObl7BlupjSBCVUut6vCJj2l4Y7sTx9x2su2MMlDev VnfIu2jBhKFobCCIvkADww4t0Vf+sq3xjjAkDq44Ku/kFj7NnBs8Tk6tDZxrAbNpnbCQ Aea+1oBZc09CoyW/awXOQlIe1Q8qWhayrJI60SGl5N9hTwvX488DKCwTWYFDHcr2go8j ueog== X-Gm-Message-State: AOJu0YzojdgaYQYfE+pNGEr6MVP8eQ+Dacnt34RubPe28qOvdSScw5AO JvB9pqEUiogvXCELjIFKrXSabYnlwaTTZQ== X-Google-Smtp-Source: AGHT+IF8ihekkpOuGk29nvWZM4EkFmy5ghqhCVx0KOHP6cGV95hu4wKOZj5ybgXxMDXngYeEoKC2pw== X-Received: by 2002:a05:6a20:3941:b0:18f:97c:926c with SMTP id r1-20020a056a20394100b0018f097c926cmr3936417pzg.81.1702026448554; Fri, 08 Dec 2023 01:07:28 -0800 (PST) Received: from debian-hx90 (2603-8000-a400-0cdc-05b7-1692-5cbe-65ea.res6.spectrum.com. [2603:8000:a400:cdc:5b7:1692:5cbe:65ea]) by smtp.gmail.com with ESMTPSA id z1-20020aa785c1000000b006ce8278097dsm1107703pfn.200.2023.12.08.01.07.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Dec 2023 01:07:28 -0800 (PST) From: Xiyue Deng To: Eli Zaretskii Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' In-Reply-To: <83o7f11a9f.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 08 Dec 2023 08:25:16 +0200") References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> <83v89928xe.fsf@gnu.org> <87bkb1u6tv.fsf@debian-hx90.lan> <83plzh225a.fsf@gnu.org> <8734wdu4t5.fsf@debian-hx90.lan> <83o7f11a9f.fsf@gnu.org> Date: Fri, 08 Dec 2023 01:07:27 -0800 Message-ID: <87v89983lc.fsf@debian-hx90.lan> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67669 Cc: 67669@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 (-) Eli Zaretskii writes: >> From: Xiyue Deng >> Cc: 67669-done@debbugs.gnu.org >> Date: Thu, 07 Dec 2023 12:37:58 -0800 >> >> Eli Zaretskii writes: >> >> >> I was referring to whether we care about and use the result of the >> >> statement/function call. In `and' we do, in `if' we don't and we just >> >> use the side effect. >> > >> > But that's not true. 'if' does return a value, and we do use it. >> > Consider this random example: >> > >> > (defsubst posn-area (position) >> > [...] >> > (let ((area (if (consp (nth 1 position)) >> > (car (nth 1 position)) >> > (nth 1 position)))) >> > (and (symbolp area) area))) >> > >> > Here we bind 'area' to the value returned by 'if'. >> >> Well if we use `if' with else then yes. > > No. When 'if' has no 'else' clause, and the test fails, 'if' returns > nil. This is used in many places in our code. Like this: > > (let (baz) > (setq foo (concat "bar" (if (stringp baz) baz)))) > => "bar" > > Here 'if' returns nil, and we use the feature of 'concat' to ignore > nil arguments. Ah I see. So it looks like in Elisp `and' and `if' are actually used interchangeably. This was not very obvious at first for me who's more familiar with other imperative languages. TIL. Thanks! -- Xiyue Deng From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 08 04:12:11 2023 Received: (at 67669-done) by debbugs.gnu.org; 8 Dec 2023 09:12:11 +0000 Received: from localhost ([127.0.0.1]:43824 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBWu3-0005hf-Ao for submit@debbugs.gnu.org; Fri, 08 Dec 2023 04:12:11 -0500 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]:61888) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBWu1-0005hM-Fd for 67669-done@debbugs.gnu.org; Fri, 08 Dec 2023 04:12:09 -0500 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-2866af9d73bso1552717a91.3 for <67669-done@debbugs.gnu.org>; Fri, 08 Dec 2023 01:11:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702026711; x=1702631511; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=XtG/mL8u+mhpvGHu+GENIWR/vcYQLqrDPVLW2ImZAGM=; b=XwK2vv8AjCLZU8TKs3meQQb57ZxKvxh3umMB+iJ/2Bzy3L/9sPRJAE5rTJL8l5Ucdu AK9tsgsLZ+83IDpoeMW10Dx69Mv341962bCen0Glt4xN+zDJLU9+JS8kQvoo5y6OuOvN tDrzaGdzhWrpFt6OUnAZwR7JVUBMxGwLM5yH2kUSfUwlmm0J1Jlttp/6dYpVtm1YUVKs yEbNHJHTx/YDEhmsf3A6Id6nZHHQq3bJMt3EBdA8akavfu5+UoylOtS6OddafUaJ8WTe kWxgfm+TvUDLwpchXXKWAXyg2imNJ1pKwsLW2WUGhaxiwdJsvKsOCkjdYKYYHIh/3Foe E7iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702026711; x=1702631511; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=XtG/mL8u+mhpvGHu+GENIWR/vcYQLqrDPVLW2ImZAGM=; b=fSxBF8cAvxsxayy37siy4PIEVUuh7aNcJ0GVkVZ00IDv7NI8us7Z0BcoPxDH+dUfRr qaDtch1BS1QwkRD/SZn5IuejvyaPApeag9IBxhk5A4oPV5BVuMO91xMIm4j8qjTyk4fj YLIld8LjOZQly3EMhLoQLxZkZSgo3IrwZfqoUUMRyi8C+TlAZTJy2F/BuLaGO2NkVoYr mBKs36hJgoG9n5FIs1HSC8rfo6lu9FuS/Tj/OgAoYqh2WIf3Fj4CKQQbGIbOXhBf9NgA O8emQyECYvdfWBg5z09ePupKinHX1DSybL+Ntpi3o1QI0kUeaLfAniAE/a5OI7hVZhF6 lwPg== X-Gm-Message-State: AOJu0YwdnYWB5plT3huJf26T0gBCe1vR5NiWGPCw6UjyMHc09IWlecJh CoMWVzSPuBxOJ7Umfu1xbf8nAOq962xL2A== X-Google-Smtp-Source: AGHT+IFflrkOAptXJ47CRAFa2P6nKT/GcqXwWN6Fva5xhx+aanWDxsSPXyp+8Uh+EZTKQR4DyPc+7Q== X-Received: by 2002:a17:90b:4b45:b0:286:bdb5:d07d with SMTP id mi5-20020a17090b4b4500b00286bdb5d07dmr3370743pjb.18.1702026710603; Fri, 08 Dec 2023 01:11:50 -0800 (PST) Received: from debian-hx90 (2603-8000-a400-0cdc-05b7-1692-5cbe-65ea.res6.spectrum.com. [2603:8000:a400:cdc:5b7:1692:5cbe:65ea]) by smtp.gmail.com with ESMTPSA id sc16-20020a17090b511000b002887e7ca212sm1319712pjb.18.2023.12.08.01.11.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Dec 2023 01:11:50 -0800 (PST) From: Xiyue Deng To: Drew Adams Subject: Re: [External] : bug#67669: 29.1; Drop text suggesting using `and' to replace `if' In-Reply-To: (Drew Adams's message of "Thu, 7 Dec 2023 21:29:04 +0000") References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> <83v89928xe.fsf@gnu.org> <87bkb1u6tv.fsf@debian-hx90.lan> <83plzh225a.fsf@gnu.org> <8734wdu4t5.fsf@debian-hx90.lan> Date: Fri, 08 Dec 2023 01:11:49 -0800 Message-ID: <87r0jx83e2.fsf@debian-hx90.lan> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67669-done Cc: Eli Zaretskii , "67669-done@debbugs.gnu.org" <67669-done@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 (-) Drew Adams writes: >> Well if we use `if' with else then yes. > > Even if we use it with THEN. > > `if' and `cond' are completely general and > don't, by themselves abstractly, suggest > any particular connotation for a human > reader. They can return any value you like. > Whether the value returned is used anywhere > is neither determined nor suggested by any > convention. Ack. As I replied to Eli, TIL that `and' and `if' are actually used interchangeably in Elisp. Thanks! -- Xiyue Deng From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 08 05:45:40 2023 Received: (at 67669) by debbugs.gnu.org; 8 Dec 2023 10:45:40 +0000 Received: from localhost ([127.0.0.1]:43909 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBYMW-0001CK-17 for submit@debbugs.gnu.org; Fri, 08 Dec 2023 05:45:40 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:51697) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBYMT-0001Bs-Sp for 67669@debbugs.gnu.org; Fri, 08 Dec 2023 05:45:38 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 9B0F15C011B; Fri, 8 Dec 2023 05:45:19 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Fri, 08 Dec 2023 05:45:19 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=spwhitton.name; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1702032319; x= 1702118719; bh=Eul1azBDEq4WNJ2aAruoMXeTzTEp51vZIJ2DxPVfWtI=; b=W j79N+jNhfR3FoXp85Z0DGH12tCV/cO3iRmwgZsqkyX95lThg1YbHCOAD+Ef2bE5u D769lLGB1Uxxnz5hBPVjnmMK7niniVQY3Hye1gMpgWh6Q6i5OIC4rfIrQbpSyEXZ qulSImO69+jfNt4vE5HkIqs+dXuUPgN6pJ8JwSRGL45AGoGmTquswrDz4BBiPS2b N2U3bV8qGwJY5i0N9EeSUeL/W5m4SMBqJrAn63SUB4bIYBl0tqq1wLjWx6P5okmk jFxGYqUOh4kyJ3IrPu0qchrapHseEAAf9Az62NU/3r3G79dvVQTJ8b/TGXawQauE 4vUhIKa3SvLqcRtWTHE9Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1702032319; x=1702118719; bh=Eul1azBDEq4WN J2aAruoMXeTzTEp51vZIJ2DxPVfWtI=; b=q5RZy371iNScpok+DaEcGtGh2164E Mkw0RC5xe8fOTySgUfwGpQKkmEwZFf/VQkYnhLA/txUK2Yg0Y/9bWJNDrUxWePnX JUdy4DfMCdnuITVWO6PAvrb6uxCX6AddyVuslAMvmU62SrqiUpNAaiG+WrprmBO/ uVaZRHVdR2irK1YocZlh4aQmODFOofJfGqPBB5lzBDCqC2QkB3KGUq6xPH+g+YSj jEbdlw2HUoyU9gKNnRYPs/HAIh6gNQCaIZbnfdGbef1QY3nCV5wfniKzOABAGMF3 KAzWDLDvJfNUr+VnXtYZNcawfVh3WUZcflFN4s6o9Z9gwMSp4+iwlVLKQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudekiedgvddtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefujghffffkfgggtgesthdttddttdertdenucfhrhhomhepufgvrghn ucghhhhithhtohhnuceoshhpfihhihhtthhonhesshhpfihhihhtthhonhdrnhgrmhgvqe enucggtffrrghtthgvrhhnpedtffdvffeuleeuvdetkedvveehgfehvdegvefghfevudek geegleevgeejkeetkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehsphifhhhithhtohhnsehsphifhhhithhtohhnrdhnrghmvg X-ME-Proxy: Feedback-ID: i23c04076:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 8 Dec 2023 05:45:19 -0500 (EST) Received: by zephyr.silentflame.com (Postfix, from userid 1000) id 583E29416AC; Fri, 8 Dec 2023 10:45:18 +0000 (GMT) From: Sean Whitton To: Xiyue Deng Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' In-Reply-To: <87fs0ducme.fsf@debian-hx90.lan> (Xiyue Deng's message of "Thu, 07 Dec 2023 09:49:13 -0800") References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> Date: Fri, 08 Dec 2023 10:45:18 +0000 Message-ID: <87il596kht.fsf@zephyr.silentflame.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 67669 Cc: 67669@debbugs.gnu.org, Eli Zaretskii 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.7 (-) Hello, On Thu 07 Dec 2023 at 09:49am -08, Xiyue Deng wrote: > Agreed on the point of being educational, and of course in the end > coding style is mostly a matter of personal preference. However, I > would argue a bit that in such case we wouldn't need `if' or `when' at > all as both can be emulated by `and' and `or' if you are careful enough. > On the other hand, `if' and `when' should exist for a reason. I quite > like this suggestion[1] that `if' and `when' are used to guard side > effects, whereas `and' and `or' are used for pure functions. > Interestingly the current example you quoted changed from using `and' > (as in the old version I quoted) to `if' probably based on this > reasoning. Similarly I wouldn't suggest to replace `if' with `and' in > the original example around the text we are discussing: It's an old Lisp convention, not Emacs-specific, to use 'and' for return value and 'when' for side-effects, and not to use 'if' when there is no 'else' clause. -- Sean Whitton From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 08 10:37:36 2023 Received: (at 67669) by debbugs.gnu.org; 8 Dec 2023 15:37:36 +0000 Received: from localhost ([127.0.0.1]:45784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBcun-0002lt-3T for submit@debbugs.gnu.org; Fri, 08 Dec 2023 10:37:36 -0500 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:44844) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBcuk-0002lc-Nz for 67669@debbugs.gnu.org; Fri, 08 Dec 2023 10:37:19 -0500 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3B8FNulB002159; Fri, 8 Dec 2023 15:37:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-11-20; bh=ajhku4wTwvJYg2jbPNRb5NgdDt6CNpQSkv2eNSIu6M0=; b=IW2s2Mrdsn33rZd4ul3iiTeoXbdyE+9Zftf5H2O/v+42iqu4BALwQhOghal0u8IuhBTl c6Tq8L25eDXyiKjHBOtcrlPyQxgoOGXZ2dbvg0VhZPyvKzTWB2+SDzCqscqatOS1lCWw SrTkxRHaYYD+REXjn73GAIuao7rz3JdqJLF7XbNUE703pu9YrB3EOZkzikbHYpTCZnSa eIoGT3YBrZM9Wrgf7DAIZ7TRy1Mm2tIcbMiYtdyYjWpMH3s/XbPD82XhLu7BiILTxp3V 6Wuw8Rg0x2TlP2saKHEgbWBia0UZgJeB74QuUdqY2FwccYJ4o0HI5EqRe8q6BxaOfvlI Xw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3utd0mp7rw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 08 Dec 2023 15:37:04 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3B8FR77q012582; Fri, 8 Dec 2023 15:37:03 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2169.outbound.protection.outlook.com [104.47.57.169]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3utancajk3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 08 Dec 2023 15:37:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UY13waDR3D53N8LpyJzBxW1U78VeWWryJnQsKl+Dv1ez1vAoG7j179h5sstSvqF1MSjNNEUHbpir6pR6pqHL5OlJnVq6nrl2G5qYptWslfTz/a8iXjCYjz2px11uJ8RG3InLOSpBYObSPIkz5ZfhDFK1z29bNoLXxSoJa7Qj1JXiU+T45EYZ89pzzdZyaOxitkO2OaIBSkiOw+ucTmc/gKnDhUqhIxt5DZ4hyTggzVOnY9wtnLS2PRovlmtsHFkCJ3c+60oz4YSzBv3BaQlULzMfFBIYCQ4v72meXcKYNU/6shNu8H1DSyRvRq6CDSQQ5EmBQWmFpZpOeu1tuch4VQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ajhku4wTwvJYg2jbPNRb5NgdDt6CNpQSkv2eNSIu6M0=; b=X+/cqjdfSCzd+9sjNEudN0leACfDgmj4xGYsvQverDaZNvWzWqwZ42ltvnj27ryJeYy09JvlILzagYTw3RR6Em3C6pTSGHlH5z+Q1f8wkpsQzXHU7RT70AfknJxX4/vwIz7sG4J+vntAWsil/x7hZLwsdxLeLFDZLxrdMQ5jgp4mBW25HX8aUE5IiiVBBgrlA14XksmknMmdtfLQ+O/sXysaxWFG6pHhLP4hH09DfjQJ/pLcAMpugB09wB7R2QPCmcug1XExrTr0MlPCpqSUhI0VaXSNNkRQcWCk4zbbigL4G3YRxMOQStVt+wsNHTd5xONA6vu718jFcfkMKvonWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ajhku4wTwvJYg2jbPNRb5NgdDt6CNpQSkv2eNSIu6M0=; b=oBdGRtBfQBP6d3WxBdV0w1/0AOUuhO60dHyPp91njoCqQzyPEjzROGE/yyAcza8uorkZ1hRcO7FTOGYFaHdyNqC8xd8wJl3cI95IX1gkmj/9orJX9GtvyUB0awE1BrOtcLuU5IbwG7O9BVySBvfSQX13XzEmAnM/+k8CEcYPzKo= Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by CH3PR10MB7957.namprd10.prod.outlook.com (2603:10b6:610:1bf::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.28; Fri, 8 Dec 2023 15:37:01 +0000 Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::3b4c:a669:c229:47b4]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::3b4c:a669:c229:47b4%7]) with mapi id 15.20.7068.028; Fri, 8 Dec 2023 15:37:01 +0000 From: Drew Adams To: Eli Zaretskii , Xiyue Deng Subject: RE: [External] : bug#67669: 29.1; Drop text suggesting using `and' to replace `if' Thread-Topic: [External] : bug#67669: 29.1; Drop text suggesting using `and' to replace `if' Thread-Index: AQHaKZ9wbiMlh6VZ+UuPUbFTTL7yDrCfhIUA Date: Fri, 8 Dec 2023 15:37:01 +0000 Message-ID: References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> <83v89928xe.fsf@gnu.org> <87bkb1u6tv.fsf@debian-hx90.lan> <83plzh225a.fsf@gnu.org> <8734wdu4t5.fsf@debian-hx90.lan> <83o7f11a9f.fsf@gnu.org> In-Reply-To: <83o7f11a9f.fsf@gnu.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|CH3PR10MB7957:EE_ x-ms-office365-filtering-correlation-id: 54b2e6eb-1020-455e-9f25-08dbf803856d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zxcN4YZ2l2LRhQ0HQdBSIEmD6Xi4sIHnT/NU/ROQYEZIEwubmF2pA7waOswiX3eaJ3Wj2rZuc61MbNBiGcwBykLyBy6PaAl736C5CD4+9vL7yNfZhyBkMc4mYfc5YxlkUS0smXbS8T23aS/XLbIYtrSfAjwB6sDqqCAQjXmbMb49DunCD0Vu+TNtB0SG5TmUfoQxlUjX2d2nLEnX/JrFzEu+u7g2p4owmtpBl1o3z3kdKvtdulqcFcB1gqjFt8oZh3ccTsPKEdtukN/xPCBzjbi3MjsJb9vyc39IIq7n2CaKZaRz6IAG4lZYaGCC7duHBX22b+7ZHa5S0fwgvgxbGMrzfoC0LgCSiTu91hYFjntI7ZsXuLvPER14HSBVdQJroZnD0hlf4sSCJE3FXsydjq3dUMwEOx3/UpwhjpWDYoVDWEy602Bz54PjTJmCPxZIY3IrIrtA9sDrdsduoIQKsnITSd8yUSXRR+D/oPy2s/oWBcdrx2Cn/6JsV5kxj1Ik6Iw3iahxsvCwtU2Ej5pihEd1xyYFZnDzx5Qgq/zOzv4DmmnGT3Terj22c4IpAXtNjMteGIgmkGfyLc6ajEGb+xZzNbTNd87ZwEhZUJMhBmRCdgnGEeVyEytBBAVm7E2nT6zP0FUZiiBMNUhABLl7XA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(376002)(366004)(39860400002)(346002)(136003)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(6506007)(478600001)(9686003)(44832011)(38070700009)(38100700002)(7696005)(5660300002)(26005)(52536014)(122000001)(86362001)(316002)(55016003)(66476007)(66946007)(66446008)(66556008)(110136005)(64756008)(76116006)(71200400001)(4326008)(8936002)(8676002)(33656002)(2906002)(41300700001)(4744005)(81973001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?4ma4rbESU1ytkpvLUVtO6owIET0jjbFpiMfcHfGilXjjwCXGc1PbEcXK/YMW?= =?us-ascii?Q?Ed1sDNNexMo47a0wzbk1IfY88Qv/8yhiUOZUGKUWIXyXDmeRLCHGQUh/FNIf?= =?us-ascii?Q?MDPUxpDnUiBUaDbI2oEqgNZeOlF4LQ+QaEptJdYTDNnrg3Eb+1PhMiTqn7aQ?= =?us-ascii?Q?pqwGw4Yxrqzwe4T1Fcv3AOty6h0nhzaQ66hOLRNP/L06io7RhWvThL5rgZxp?= =?us-ascii?Q?ZnrMxJFwRyc1bJmj3+QG0X+SfVX19Ms+ySF2aTvG1N9sExcZjsr4zoEm+pzw?= =?us-ascii?Q?wjQRx5MD0XOoLm/HW36dcsR/TbzT0qiub9LoZRY8gK7mWXYFjExHy00zRplF?= =?us-ascii?Q?sPeGgRrgTixC3fjtWPMrh+vcco1SZyI5RnfXENzJHkfNKbxcZcKSkX1uyib/?= =?us-ascii?Q?m9e27tXYFBhU2kmayYPnYuQqjTqzBtKWI+GB/SxLB8UA7zgdO0G2+wwdQcWK?= =?us-ascii?Q?Q0PGPI8cCspU925bzPjhjXCjt2IGMmrzKBJ5rcuFUp+fZ/JxUVX2PguaNnW9?= =?us-ascii?Q?35A7madRPiqE72tstStNXfEFSNgkGCYsZb5+Fsu66eWf+meiMMhNgkwUqWlx?= =?us-ascii?Q?N+XE7Mx2FwDIn+ZrJ7h9r9VqtjXPjOvvPxDWmijLlKHvKWNHv2mDac/q8T7P?= =?us-ascii?Q?DfIz3ZSa5wjhb2qNojueLmPSIHFgYyPss4gjvBe4FAPeoLBdUsxeXwgBy58c?= =?us-ascii?Q?c2U/NOWGGREmZPLoFbsDct5CJTYMw9jVIuahLCtFa7lbzJhN2yLEmkJ8LR3W?= =?us-ascii?Q?935fwJGwo0XeDFbo/oxplS0SUP6UY5/5bI/fuSyNbdX6sVlIKm2NRJoMtDgh?= =?us-ascii?Q?2JRijxSceyMAoNRUpOXn5M+tAZBBe8ybnF17zZg8xtkydKmYSB6+nkLTRvZi?= =?us-ascii?Q?VnX8Ntmcb+wCWpOE2/JkHBKobWRiOGxcEG3H1RNVaBh6SrkF2J2xtN+lSLy9?= =?us-ascii?Q?r/XlsG4dJYGN1Rjl8bdKRoVhQ+1eC8qDVotwFB/oxSnNMA2YnqyWzvJfQb1C?= =?us-ascii?Q?7JdfSoKA+Jm5VA/iL57ltdebhfJhoQvEeU6j0SyZUpgMb/ZGancTeyZ7PXnH?= =?us-ascii?Q?QpUD8ejfkdmr0F3Xa5grXK8upb+X1D+FNPf80eDrFbu5FEQaCRNYFHLGdTOw?= =?us-ascii?Q?3seVBZ3m57SWrYw0O25YanlYCuus9QSwvasPumpu1qqq61wcr+wQBJ/zLJNt?= =?us-ascii?Q?USC3am2Zxc3lEB0CiPe5bWP64xVc0GGsq+PFee4A0RIt2fCTGRvmaPV9OS1g?= =?us-ascii?Q?u94f/VwHjOLPzfC51Pxr0AQXxoAQrUr9mpcdhXy9ppUl6P9h7waaFkNK3tLV?= =?us-ascii?Q?GdWZ8M2evRcyaxhvJF1TAGx2jJsfAxoiR95Di3K1/wZ18KGfeMJ386xP43jF?= =?us-ascii?Q?Pu2M2CUedn43joVdAYcOdmrB47cHJLRSDP2iRgFlc8tzOSMxCLvzo5bXMXdO?= =?us-ascii?Q?2mK2x4Ye6PGndc323RAFGbO5zYaOGXkFMiYa/FdETb8K/gNnAl0r4XCqWD3m?= =?us-ascii?Q?D/OG0cSv46TpfOChRICrmIbmaznw8AP2ba7+pBj9p5eKPZOoyJ1aNEox4Imr?= =?us-ascii?Q?LifVp9baF/mIs1jcP1N90h5tQH5unRSXyabjcxqw?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: wAO/QsqvDs13ykpLjnJLvh7FK1EoHIZsS4QectsqAMKFccowkjvAQOevUFBogXYj2st/Xzxiymxprp59yvPxFzFrzF6TaLMMXn+7GWj776kpW82epvO6LF0uzsKVqwsibE0slUmuoDQG4MZDyW71ZoWUjxvDvaKuw4mZLCuDG1ajlaiz3kCjG9cyVviYpusfZ3cUIAqs7DH4n/qckoVyw00KLeafa3Wx3brf0UkpD3r3IeZ/rpWFx8Qq4NCr6BFsw/ezIIaYCc4Mq4jejeOJS4rA0aX9M+Ovzn3sC1XG5l1aP1aYHxN/TTH8Vuv9H1bnTjlp71MWJy5+tSdFk3JJIRmVuDO5g+Pxppw6jXvY3a5NLQtyGqCQsOj2mLJ7fA1tHqxV6GIr3AVL9t9Y2EBGhasAlDcNNu3V+wO4KLpe/RtIbEw+rMdH23oBvJJ8Xe3hpXklspp2WSOz2rh/kCJMb9XVMCogJ/n6KTmLx+QWTAQ2bRvnmbjm7zUQ82m7wtgRv2lZoS2TzkRIKZN1hW5MtFu1z2dBjQYDw8aRIq/yD++wmsdXDZ+mzwxzMfWDgSYZS2of8HbDz4obSxzHJ3p+LTqNcYGq0iCN1Z9lIWrY/jZ9a/eUKhVFdRRWicT+UGoCShPvbAgc700FgH/k3Ni7zPSsCzmf6GEh/lUEMa1dBijUoNYSU8kWq1xT31xYBInzmxompZHdHKvsaHezEq1+kW4I+Q5w59SSfGirJcx3rsj+j3rUUc74tiiaLpSLkcf+n4aJY4m16zrSaxzSLFlXPaWW/2+47mQQTR5pYNzp0Q7uUQUow+yRLYYUgz8oAEdh X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 54b2e6eb-1020-455e-9f25-08dbf803856d X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2023 15:37:01.0142 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jVWSOcEfPcAMjtBUEWIA1+0VLG3tU1vBrnO1liWr//9k59kNOusuZnK7fDiD+j1CihHUxMg3B3D00xsmCA547g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB7957 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-12-08_10,2023-12-07_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 mlxscore=0 bulkscore=0 mlxlogscore=752 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2312080128 X-Proofpoint-GUID: n2VZygrFf03sxfPY3TtBr3R0Necs7QfC X-Proofpoint-ORIG-GUID: n2VZygrFf03sxfPY3TtBr3R0Necs7QfC X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 67669 Cc: "67669@debbugs.gnu.org" <67669@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 (-) > (let (baz) > (setq foo (concat "bar" (if (stringp baz) baz)))) > =3D> "bar" >=20 > Here 'if' returns nil, and we use the feature of > 'concat' to ignore nil arguments. IMO the meaning/behavior is clearer with `and': (let (baz) (setq foo (concat "bar" (and (stringp baz) baz)))) But again, such stylistic concerns are exactly that. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 08 17:42:17 2023 Received: (at 67669) by debbugs.gnu.org; 8 Dec 2023 22:42:17 +0000 Received: from localhost ([127.0.0.1]:46441 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBjY0-0000QL-Ki for submit@debbugs.gnu.org; Fri, 08 Dec 2023 17:42:16 -0500 Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]:48590) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBjXy-0000Q7-0h for 67669@debbugs.gnu.org; Fri, 08 Dec 2023 17:42:15 -0500 Received: by mail-pg1-x52f.google.com with SMTP id 41be03b00d2f7-5c690c3d113so2117456a12.1 for <67669@debbugs.gnu.org>; Fri, 08 Dec 2023 14:42:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702075314; x=1702680114; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=GuooEymkFRbq6yFRI5EasvI5pBLlECvihqG+yE0fBNk=; b=YPniqf9X1oWuzqx8nL+l0pgDNLMuZVJfzF2fAmzo4ya+BsSzatkSZJLNllPMYJbjXa VnyQYXX/UQm5SQIdWpDj1RKBtQr1XbAnMCBtM3axUJnX8e9h+M91HM6+Ao0Zj4Oz3MRy 2kHYRi03stX3/IO2Js6yLJC2jFQdPWWpmElW4+zLi38ZK9RqH5g2GTznRMWxQShnMy9m ykdLo/tUE1D2Ywn8tryJu8Hf00Mrt4HqBeBZLuukJHOfYQQ6TzA3CtX4+TEx3KXNLt5r RKd//nzNWk98hOyj28EbO/JdmCM/X/rlFhTejcfsHdVsyrlJCIIi960kX7VkHfXcnUBh Lxog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702075314; x=1702680114; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=GuooEymkFRbq6yFRI5EasvI5pBLlECvihqG+yE0fBNk=; b=qCnbFAWdSkTNqMBZ6vzpwtQHsONfwmcrs0Ee/PUUm7+nIPjuztRf9fnQIKnQWs9Dit 9ujcGKkYc/ziykv39aZy78UoYtkbcunB/0ZCwMTOx9zX96EjmmCisiRI87naioI87f1v XlttZGzgMS8aNYA7FAqjESiIWXDxmn0e8G/S17J8fqL7Vkw/gI+6Joh5Zab2XeR0CT32 UJ7l9BJrGqEH6bTmcIR7I9YIG7AuF/uZDOOaefN6uJHe/uwguLTbh19osS2Qqo7ipQz3 dmGiK/z1yu2O0B55m8cnTexH9y74aDXD7UpidBwJoLvuweKd7BxOHeoKVKY+NaZqhA9O qZ2A== X-Gm-Message-State: AOJu0YxVsDL92VufBn4SfuScmBvZ0+2RoRN1FP1qH5LmI6/KBp9H0p6o g+4RqA+j2nCrYihXRhiWCziCeXpzfE1rzw== X-Google-Smtp-Source: AGHT+IFNrRFgpdvZZ+gks/0OjdpcclKq/1PwcnQgaPHm5dRv7XoG7V/h0N6CBkhRQazaAfDQI3Xz7Q== X-Received: by 2002:a05:6a20:3d93:b0:18c:8ff1:f16 with SMTP id s19-20020a056a203d9300b0018c8ff10f16mr852128pzi.1.1702075314340; Fri, 08 Dec 2023 14:41:54 -0800 (PST) Received: from debian-hx90 (2603-8000-a400-0cdc-05b7-1692-5cbe-65ea.res6.spectrum.com. [2603:8000:a400:cdc:5b7:1692:5cbe:65ea]) by smtp.gmail.com with ESMTPSA id ka8-20020a056a00938800b006ce7f7f1a94sm2084460pfb.208.2023.12.08.14.41.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Dec 2023 14:41:54 -0800 (PST) From: Xiyue Deng To: Sean Whitton Subject: Re: bug#67669: 29.1; Drop text suggesting using `and' to replace `if' In-Reply-To: <87il596kht.fsf@zephyr.silentflame.com> (Sean Whitton's message of "Fri, 08 Dec 2023 10:45:18 +0000") References: <87v89buhpl.fsf@debian-hx90.lan> <83sf4e34s8.fsf@gnu.org> <87r0jytm58.fsf@debian-hx90.lan> <83a5qm2u8v.fsf@gnu.org> <87fs0ducme.fsf@debian-hx90.lan> <87il596kht.fsf@zephyr.silentflame.com> Date: Fri, 08 Dec 2023 14:41:52 -0800 Message-ID: <87msuk8ggf.fsf@debian-hx90.lan> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67669 Cc: 67669@debbugs.gnu.org, Eli Zaretskii 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 (-) Sean Whitton writes: > Hello, > > On Thu 07 Dec 2023 at 09:49am -08, Xiyue Deng wrote: > >> Agreed on the point of being educational, and of course in the end >> coding style is mostly a matter of personal preference. However, I >> would argue a bit that in such case we wouldn't need `if' or `when' at >> all as both can be emulated by `and' and `or' if you are careful enough. >> On the other hand, `if' and `when' should exist for a reason. I quite >> like this suggestion[1] that `if' and `when' are used to guard side >> effects, whereas `and' and `or' are used for pure functions. >> Interestingly the current example you quoted changed from using `and' >> (as in the old version I quoted) to `if' probably based on this >> reasoning. Similarly I wouldn't suggest to replace `if' with `and' in >> the original example around the text we are discussing: > > It's an old Lisp convention, not Emacs-specific, to use 'and' for return > value and 'when' for side-effects, and not to use 'if' when there is no > 'else' clause. Ack. Thanks for the historical tip! -- Xiyue Deng From unknown Mon Aug 18 11:28:11 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 06 Jan 2024 12:24:10 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator