From unknown Sun Aug 17 22:01:49 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#76587 <76587@debbugs.gnu.org> To: bug#76587 <76587@debbugs.gnu.org> Subject: Status: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved Reply-To: bug#76587 <76587@debbugs.gnu.org> Date: Mon, 18 Aug 2025 05:01:49 +0000 retitle 76587 31.0.50; [FR] project.el should have a way to exclude certain= projects from being saved reassign 76587 emacs submitter 76587 Visuwesh severity 76587 wishlist thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 26 09:00:17 2025 Received: (at submit) by debbugs.gnu.org; 26 Feb 2025 14:00:17 +0000 Received: from localhost ([127.0.0.1]:51673 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnHxP-0002wW-8r for submit@debbugs.gnu.org; Wed, 26 Feb 2025 09:00:17 -0500 Received: from lists.gnu.org ([2001:470:142::17]:46088) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tnHxK-0002og-SC for submit@debbugs.gnu.org; Wed, 26 Feb 2025 09:00:12 -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 1tnHxB-0008QE-0Z for bug-gnu-emacs@gnu.org; Wed, 26 Feb 2025 09:00:01 -0500 Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tnHx4-0005Bc-Fo for bug-gnu-emacs@gnu.org; Wed, 26 Feb 2025 08:59:58 -0500 Received: by mail-pl1-x644.google.com with SMTP id d9443c01a7336-220c8cf98bbso59697405ad.1 for ; Wed, 26 Feb 2025 05:59:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740578385; x=1741183185; darn=gnu.org; h=mime-version:user-agent:message-id:date:subject:to:from:from:to:cc :subject:date:message-id:reply-to; bh=PK/3n+cObl+4T2i2Duxizac/slgVRKKX0PgOPHdkqd4=; b=UtBq26u9wKV7VG+ocfYnw3z9h86djs8+RgP7CVIHrMTF8iGSVjki4ZC285adPOalXs UfUVVRkq4hUoPlzXD//qCJNLIs+UbEXcpSkC4aBFGgWY6sPrInnMyteyIR8WPDFvB22M L966I8Ynac9wS/2JUfJFJPsdGdUlmFE9y7IjBDOdXF3ThRjswhEdl1pGw7Nd7NIjdnU/ j5hRZMR8SUXRMPL+bgKcqejhwfS+2gASWku4XhTTMon4FXckgpFLq2X1+mQbAdIQGMIp tVEZfk1LJRKpHzIU6KNO21on+HUNdmJPnaUhELgMYE3T+umkCnn1Kon+CMjIabx275fB 2ExQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740578385; x=1741183185; h=mime-version:user-agent:message-id:date:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PK/3n+cObl+4T2i2Duxizac/slgVRKKX0PgOPHdkqd4=; b=qrdSvYoK2EWAc11OE0iTa/CabxV9WVh8OcD/bXlmmcsepAJKw0NEXEad41fu/ph5iA CE+6XmSMpf7X2hp6hQ87vFLxgAI07n+87p4SfChmUH1EXiNWOL1c1TmMS8fVD67ykm7I 1pvu+xOT4d4pVD2hmA8qifq6kT8yJDnH2+SohX4ap7fYyNeLO3Vb+LCG8XaYMY3wk6am xHWPAKcA/9KT4F0Na5km5RumyXm8HcTAq48S5CV4PHFnj3lb0JWs4GWURY2imZYrQvdG jAHiYMYhGSI1CG2n0ltaclKgjrf+tspDFBRENrf2CdL3mPeL5XWm6OU5PwiQirS084P8 nzBQ== X-Gm-Message-State: AOJu0YwDEpOQD3P4TMh+GUgTJvawcN4ja1xnChR0I1B9su24kROtiYj9 HJdTkNH8eHx7V+wc2t5H8k14WFgLTtzohjH11a3f1Wq5Yqxav7wCtz0mxmDb X-Gm-Gg: ASbGnct6nQ4GaZ3jjeWRDrSAyDf984jPJ4vQTGWreIXK75NVmESAtt23+viBXvJ3xj8 EjGbyZ7y6GaxzZyYb6sjeSvpTlnqSRyGQ8mwEtAh/nqIOZdH2vwDGQH7tNVFPXGZCTQRbQIyq2u LIgX8U4rmbmuTnjRnG+3gdfI5pb+lyaafDHdBEKUsECVjYuqnqCQm9UcTWKm4TV2/I+XtYQivyS ii0rhDUAoeih2MLsjVBaifF+r9wEkOk7MMCNvnG0GYtnL2OogSUCoUlDPJV4lx1imF8J1Eri22n QIdRHXKsFUbqO17DPkJ4iTc= X-Google-Smtp-Source: AGHT+IHxIeBSW358SUiMTpY4PerYeHtoC2cYU3qengIv0vm8oXiHQ8JJgVbDTL4q6JV7z5nSPqDJYg== X-Received: by 2002:a17:902:eccb:b0:220:ea90:1925 with SMTP id d9443c01a7336-221a1148e99mr376233595ad.35.1740578384580; Wed, 26 Feb 2025 05:59:44 -0800 (PST) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-2232aa7eef6sm12428075ad.184.2025.02.26.05.59.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 05:59:44 -0800 (PST) From: Visuwesh To: bug-gnu-emacs@gnu.org Subject: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved X-Debbugs-Cc: Date: Wed, 26 Feb 2025 19:29:40 +0530 Message-ID: <87y0xsst6b.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::644; envelope-from=visuweshm@gmail.com; helo=mail-pl1-x644.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 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 (/) It is quite frustrating to use C-x p p to jump to projects when it can easily get cluttered with projects that you never want to jump to. E.g., as my user-emacs-directory only really tracks init.el, I don't want project.el to save it in the projects file. When it does, it gets in the way when I am completing ~/lib/ports/emacs which is where I keep my checkout of the Emacs repo. Likewise, I do not want to save remote projects at all. AFAIU, the current way is to use project-forget-project and friends, but they are cumbersome. They work nice when you want to remove a "completed" project but they don't help when you want to use project commands judiciously for "temporary" projects (like a checkout that you're editing for a patch). I would like to have a user option like recentf-exclude which would prevent project--write-project-list from saving certain projects. To that end, I propose the following patch, WDYT? diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 35bf66c9ffb..3bae0b7404c 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1837,6 +1837,12 @@ project-list-file :version "28.1" :group 'project) +(defcustom project-ignore-regexps nil + "List of regexp for project names to ignore when saving known projects." + :type '(repeat regexp) + :version "31.1" + :group 'project) + (defvar project--list 'unset "List structure containing root directories of known projects. With some possible metadata (to be decided).") @@ -1877,11 +1883,17 @@ project--write-project-list (insert ";;; -*- lisp-data -*-\n") (let ((print-length nil) (print-level nil)) - (pp (mapcar (lambda (elem) - (let ((name (car elem))) - (list (if (file-remote-p name) name - (expand-file-name name))))) - project--list) + (pp (delq + nil + (mapcar (lambda (elem) + (let ((name (if (file-remote-p (car elem)) + (car elem) + (expand-file-name (car elem))))) + (when (or (null project-ignore-regexps) + (not (seq-some (lambda (r) (string-match-p r name)) + project-ignore-regexps))) + (list name)))) + project--list)) (current-buffer))) (write-region nil nil filename nil 'silent)))) P.S. I wish there was a way for project backends to bow out from project--write-project-list too. Context: I have a "sibling-file" project backend which mainly offers meaningful candidates to C-x p f when visiting a file that has associated siblings. I could use find-sibling-file but using project.el comes with bonuses like project-list-buffer, etc. -- In GNU Emacs 31.0.50 (build 32, x86_64-pc-linux-gnu, X toolkit, cairo version 1.18.2, Xaw scroll bars) of 2025-02-15 built on astatine Repository revision: 167157fc210ae078e683c80dc650e6a2bb5a6050 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101015 System Description: Debian GNU/Linux trixie/sid Configured using: 'configure --with-sound=alsa --with-x-toolkit=lucid --without-xaw3d --without-gconf --without-libsystemd --with-cairo CFLAGS=-O2' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR LUCID ZLIB Important settings: value of $LC_MONETARY: ta_IN.UTF-8 value of $LC_NUMERIC: ta_IN.UTF-8 value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: csv-field-index-mode: t TeX-PDF-mode: t recentf-mode: t bug-reference-prog-mode: t server-mode: t paredit-mode: t eros-mode: t flymake-mode: t pdf-occur-global-minor-mode: t minibuffer-depth-indicate-mode: t repeat-mode: t display-time-mode: t display-battery-mode: t delete-selection-mode: t xterm-mouse-mode: t vz/winkey-minor-mode: t straight-use-package-mode: t straight-package-neutering-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t use-hard-newlines: t tab-bar-history-mode: t tab-bar-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t undelete-frame-mode: t minibuffer-regexp-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t abbrev-mode: t Load-path shadows: /home/viz/lib/emacs/straight/build/transient/transient hides /home/viz/lib/ports/emacs/lisp/transient /home/viz/lib/emacs/straight/build/org/ob-awk hides /home/viz/lib/ports/emacs/lisp/org/ob-awk /home/viz/lib/emacs/straight/build/org/org-capture hides /home/viz/lib/ports/emacs/lisp/org/org-capture /home/viz/lib/emacs/straight/build/org/ob-sql hides /home/viz/lib/ports/emacs/lisp/org/ob-sql /home/viz/lib/emacs/straight/build/org/ol-doi hides /home/viz/lib/ports/emacs/lisp/org/ol-doi /home/viz/lib/emacs/straight/build/org/org-plot hides /home/viz/lib/ports/emacs/lisp/org/org-plot /home/viz/lib/emacs/straight/build/org/ob-dot hides /home/viz/lib/ports/emacs/lisp/org/ob-dot /home/viz/lib/emacs/straight/build/org/ol-eshell hides /home/viz/lib/ports/emacs/lisp/org/ol-eshell /home/viz/lib/emacs/straight/build/org/ob-C hides /home/viz/lib/ports/emacs/lisp/org/ob-C /home/viz/lib/emacs/straight/build/org/ob-ref hides /home/viz/lib/ports/emacs/lisp/org/ob-ref /home/viz/lib/emacs/straight/build/org/org-list hides /home/viz/lib/ports/emacs/lisp/org/org-list /home/viz/lib/emacs/straight/build/org/org-mouse hides /home/viz/lib/ports/emacs/lisp/org/org-mouse /home/viz/lib/emacs/straight/build/org/ob-haskell hides /home/viz/lib/ports/emacs/lisp/org/ob-haskell /home/viz/lib/emacs/straight/build/org/ob-plantuml hides /home/viz/lib/ports/emacs/lisp/org/ob-plantuml /home/viz/lib/emacs/straight/build/org/org-keys hides /home/viz/lib/ports/emacs/lisp/org/org-keys /home/viz/lib/emacs/straight/build/org/org-clock hides /home/viz/lib/ports/emacs/lisp/org/org-clock /home/viz/lib/emacs/straight/build/org/ox-html hides /home/viz/lib/ports/emacs/lisp/org/ox-html /home/viz/lib/emacs/straight/build/org/oc-biblatex hides /home/viz/lib/ports/emacs/lisp/org/oc-biblatex /home/viz/lib/emacs/straight/build/org/ob-table hides /home/viz/lib/ports/emacs/lisp/org/ob-table /home/viz/lib/emacs/straight/build/org/ob hides /home/viz/lib/ports/emacs/lisp/org/ob /home/viz/lib/emacs/straight/build/org/ol-w3m hides /home/viz/lib/ports/emacs/lisp/org/ol-w3m /home/viz/lib/emacs/straight/build/org/ob-groovy hides /home/viz/lib/ports/emacs/lisp/org/ob-groovy /home/viz/lib/emacs/straight/build/org/org-footnote hides /home/viz/lib/ports/emacs/lisp/org/org-footnote /home/viz/lib/emacs/straight/build/org/org-entities hides /home/viz/lib/ports/emacs/lisp/org/org-entities /home/viz/lib/emacs/straight/build/org/ob-org hides /home/viz/lib/ports/emacs/lisp/org/ob-org /home/viz/lib/emacs/straight/build/org/org-macs hides /home/viz/lib/ports/emacs/lisp/org/org-macs /home/viz/lib/emacs/straight/build/org/ob-shell hides /home/viz/lib/ports/emacs/lisp/org/ob-shell /home/viz/lib/emacs/straight/build/org/ob-R hides /home/viz/lib/ports/emacs/lisp/org/ob-R /home/viz/lib/emacs/straight/build/org/ob-lisp hides /home/viz/lib/ports/emacs/lisp/org/ob-lisp /home/viz/lib/emacs/straight/build/org/ob-js hides /home/viz/lib/ports/emacs/lisp/org/ob-js /home/viz/lib/emacs/straight/build/org/ob-maxima hides /home/viz/lib/ports/emacs/lisp/org/ob-maxima /home/viz/lib/emacs/straight/build/org/org-element-ast hides /home/viz/lib/ports/emacs/lisp/org/org-element-ast /home/viz/lib/emacs/straight/build/org/ox-ascii hides /home/viz/lib/ports/emacs/lisp/org/ox-ascii /home/viz/lib/emacs/straight/build/org/org-persist hides /home/viz/lib/ports/emacs/lisp/org/org-persist /home/viz/lib/emacs/straight/build/org/ox-md hides /home/viz/lib/ports/emacs/lisp/org/ox-md /home/viz/lib/emacs/straight/build/org/org-duration hides /home/viz/lib/ports/emacs/lisp/org/org-duration /home/viz/lib/emacs/straight/build/org/ob-lilypond hides /home/viz/lib/ports/emacs/lisp/org/ob-lilypond /home/viz/lib/emacs/straight/build/org/ob-ruby hides /home/viz/lib/ports/emacs/lisp/org/ob-ruby /home/viz/lib/emacs/straight/build/org/ob-core hides /home/viz/lib/ports/emacs/lisp/org/ob-core /home/viz/lib/emacs/straight/build/org/ol-mhe hides /home/viz/lib/ports/emacs/lisp/org/ol-mhe /home/viz/lib/emacs/straight/build/org/ob-ditaa hides /home/viz/lib/ports/emacs/lisp/org/ob-ditaa /home/viz/lib/emacs/straight/build/org/ol-irc hides /home/viz/lib/ports/emacs/lisp/org/ol-irc /home/viz/lib/emacs/straight/build/org/ob-fortran hides /home/viz/lib/ports/emacs/lisp/org/ob-fortran /home/viz/lib/emacs/straight/build/org/org-feed hides /home/viz/lib/ports/emacs/lisp/org/org-feed /home/viz/lib/emacs/straight/build/org/ob-java hides /home/viz/lib/ports/emacs/lisp/org/ob-java /home/viz/lib/emacs/straight/build/org/ox hides /home/viz/lib/ports/emacs/lisp/org/ox /home/viz/lib/emacs/straight/build/org/oc-csl hides /home/viz/lib/ports/emacs/lisp/org/oc-csl /home/viz/lib/emacs/straight/build/org/ob-exp hides /home/viz/lib/ports/emacs/lisp/org/ob-exp /home/viz/lib/emacs/straight/build/org/org-loaddefs hides /home/viz/lib/ports/emacs/lisp/org/org-loaddefs /home/viz/lib/emacs/straight/build/org/ob-scheme hides /home/viz/lib/ports/emacs/lisp/org/ob-scheme /home/viz/lib/emacs/straight/build/org/ob-tangle hides /home/viz/lib/ports/emacs/lisp/org/ob-tangle /home/viz/lib/emacs/straight/build/org/ox-koma-letter hides /home/viz/lib/ports/emacs/lisp/org/ox-koma-letter /home/viz/lib/emacs/straight/build/org/ob-gnuplot hides /home/viz/lib/ports/emacs/lisp/org/ob-gnuplot /home/viz/lib/emacs/straight/build/org/org-crypt hides /home/viz/lib/ports/emacs/lisp/org/org-crypt /home/viz/lib/emacs/straight/build/org/org-datetree hides /home/viz/lib/ports/emacs/lisp/org/org-datetree /home/viz/lib/emacs/straight/build/org/org-attach hides /home/viz/lib/ports/emacs/lisp/org/org-attach /home/viz/lib/emacs/straight/build/org/ob-julia hides /home/viz/lib/ports/emacs/lisp/org/ob-julia /home/viz/lib/emacs/straight/build/org/ob-sqlite hides /home/viz/lib/ports/emacs/lisp/org/ob-sqlite /home/viz/lib/emacs/straight/build/org/org-cycle hides /home/viz/lib/ports/emacs/lisp/org/org-cycle /home/viz/lib/emacs/straight/build/org/org-faces hides /home/viz/lib/ports/emacs/lisp/org/org-faces /home/viz/lib/emacs/straight/build/org/org-mobile hides /home/viz/lib/ports/emacs/lisp/org/org-mobile /home/viz/lib/emacs/straight/build/org/org-ctags hides /home/viz/lib/ports/emacs/lisp/org/org-ctags /home/viz/lib/emacs/straight/build/org/ob-latex hides /home/viz/lib/ports/emacs/lisp/org/ob-latex /home/viz/lib/emacs/straight/build/org/ob-matlab hides /home/viz/lib/ports/emacs/lisp/org/ob-matlab /home/viz/lib/emacs/straight/build/org/ob-sed hides /home/viz/lib/ports/emacs/lisp/org/ob-sed /home/viz/lib/emacs/straight/build/org/org-attach-git hides /home/viz/lib/ports/emacs/lisp/org/org-attach-git /home/viz/lib/emacs/straight/build/org/ob-python hides /home/viz/lib/ports/emacs/lisp/org/ob-python /home/viz/lib/emacs/straight/build/org/ox-icalendar hides /home/viz/lib/ports/emacs/lisp/org/ox-icalendar /home/viz/lib/emacs/straight/build/org/org-tempo hides /home/viz/lib/ports/emacs/lisp/org/org-tempo /home/viz/lib/emacs/straight/build/org/ob-screen hides /home/viz/lib/ports/emacs/lisp/org/ob-screen /home/viz/lib/emacs/straight/build/org/org-num hides /home/viz/lib/ports/emacs/lisp/org/org-num /home/viz/lib/emacs/straight/build/org/ob-forth hides /home/viz/lib/ports/emacs/lisp/org/ob-forth /home/viz/lib/emacs/straight/build/org/ox-odt hides /home/viz/lib/ports/emacs/lisp/org/ox-odt /home/viz/lib/emacs/straight/build/org/ol-bbdb hides /home/viz/lib/ports/emacs/lisp/org/ol-bbdb /home/viz/lib/emacs/straight/build/org/org-table hides /home/viz/lib/ports/emacs/lisp/org/org-table /home/viz/lib/emacs/straight/build/org/ox-man hides /home/viz/lib/ports/emacs/lisp/org/ox-man /home/viz/lib/emacs/straight/build/org/ox-org hides /home/viz/lib/ports/emacs/lisp/org/ox-org /home/viz/lib/emacs/straight/build/org/ob-comint hides /home/viz/lib/ports/emacs/lisp/org/ob-comint /home/viz/lib/emacs/straight/build/org/ob-clojure hides /home/viz/lib/ports/emacs/lisp/org/ob-clojure /home/viz/lib/emacs/straight/build/org/org-id hides /home/viz/lib/ports/emacs/lisp/org/org-id /home/viz/lib/emacs/straight/build/org/oc-natbib hides /home/viz/lib/ports/emacs/lisp/org/oc-natbib /home/viz/lib/emacs/straight/build/org/ox-texinfo hides /home/viz/lib/ports/emacs/lisp/org/ox-texinfo /home/viz/lib/emacs/straight/build/org/org-agenda hides /home/viz/lib/ports/emacs/lisp/org/org-agenda /home/viz/lib/emacs/straight/build/org/org-src hides /home/viz/lib/ports/emacs/lisp/org/org-src /home/viz/lib/emacs/straight/build/org/ob-emacs-lisp hides /home/viz/lib/ports/emacs/lisp/org/ob-emacs-lisp /home/viz/lib/emacs/straight/build/org/ob-css hides /home/viz/lib/ports/emacs/lisp/org/ob-css /home/viz/lib/emacs/straight/build/org/ox-latex hides /home/viz/lib/ports/emacs/lisp/org/ox-latex /home/viz/lib/emacs/straight/build/org/oc hides /home/viz/lib/ports/emacs/lisp/org/oc /home/viz/lib/emacs/straight/build/org/ol hides /home/viz/lib/ports/emacs/lisp/org/ol /home/viz/lib/emacs/straight/build/org/org-element hides /home/viz/lib/ports/emacs/lisp/org/org-element /home/viz/lib/emacs/straight/build/org/org hides /home/viz/lib/ports/emacs/lisp/org/org /home/viz/lib/emacs/straight/build/org/org-goto hides /home/viz/lib/ports/emacs/lisp/org/org-goto /home/viz/lib/emacs/straight/build/org/ob-eval hides /home/viz/lib/ports/emacs/lisp/org/ob-eval /home/viz/lib/emacs/straight/build/org/org-habit hides /home/viz/lib/ports/emacs/lisp/org/org-habit /home/viz/lib/emacs/straight/build/org/org-pcomplete hides /home/viz/lib/ports/emacs/lisp/org/org-pcomplete /home/viz/lib/emacs/straight/build/org/ol-eww hides /home/viz/lib/ports/emacs/lisp/org/ol-eww /home/viz/lib/emacs/straight/build/org/ob-processing hides /home/viz/lib/ports/emacs/lisp/org/ob-processing /home/viz/lib/emacs/straight/build/org/org-timer hides /home/viz/lib/ports/emacs/lisp/org/org-timer /home/viz/lib/emacs/straight/build/org/org-inlinetask hides /home/viz/lib/ports/emacs/lisp/org/org-inlinetask /home/viz/lib/emacs/straight/build/org/ol-bibtex hides /home/viz/lib/ports/emacs/lisp/org/ol-bibtex /home/viz/lib/emacs/straight/build/org/org-fold-core hides /home/viz/lib/ports/emacs/lisp/org/org-fold-core /home/viz/lib/emacs/straight/build/org/oc-basic hides /home/viz/lib/ports/emacs/lisp/org/oc-basic /home/viz/lib/emacs/straight/build/org/ox-publish hides /home/viz/lib/ports/emacs/lisp/org/ox-publish /home/viz/lib/emacs/straight/build/org/oc-bibtex hides /home/viz/lib/ports/emacs/lisp/org/oc-bibtex /home/viz/lib/emacs/straight/build/org/org-macro hides /home/viz/lib/ports/emacs/lisp/org/org-macro /home/viz/lib/emacs/straight/build/org/ol-docview hides /home/viz/lib/ports/emacs/lisp/org/ol-docview /home/viz/lib/emacs/straight/build/org/org-fold hides /home/viz/lib/ports/emacs/lisp/org/org-fold /home/viz/lib/emacs/straight/build/org/org-lint hides /home/viz/lib/ports/emacs/lisp/org/org-lint /home/viz/lib/emacs/straight/build/org/org-version hides /home/viz/lib/ports/emacs/lisp/org/org-version /home/viz/lib/emacs/straight/build/org/ob-ocaml hides /home/viz/lib/ports/emacs/lisp/org/ob-ocaml /home/viz/lib/emacs/straight/build/org/ob-sass hides /home/viz/lib/ports/emacs/lisp/org/ob-sass /home/viz/lib/emacs/straight/build/org/ob-perl hides /home/viz/lib/ports/emacs/lisp/org/ob-perl /home/viz/lib/emacs/straight/build/org/ol-rmail hides /home/viz/lib/ports/emacs/lisp/org/ol-rmail /home/viz/lib/emacs/straight/build/org/org-protocol hides /home/viz/lib/ports/emacs/lisp/org/org-protocol /home/viz/lib/emacs/straight/build/org/ol-info hides /home/viz/lib/ports/emacs/lisp/org/ol-info /home/viz/lib/emacs/straight/build/org/ob-eshell hides /home/viz/lib/ports/emacs/lisp/org/ob-eshell /home/viz/lib/emacs/straight/build/org/org-refile hides /home/viz/lib/ports/emacs/lisp/org/org-refile /home/viz/lib/emacs/straight/build/org/ob-octave hides /home/viz/lib/ports/emacs/lisp/org/ob-octave /home/viz/lib/emacs/straight/build/org/ob-lua hides /home/viz/lib/ports/emacs/lisp/org/ob-lua /home/viz/lib/emacs/straight/build/org/ol-gnus hides /home/viz/lib/ports/emacs/lisp/org/ol-gnus /home/viz/lib/emacs/straight/build/org/ob-makefile hides /home/viz/lib/ports/emacs/lisp/org/ob-makefile /home/viz/lib/emacs/straight/build/org/org-archive hides /home/viz/lib/ports/emacs/lisp/org/org-archive /home/viz/lib/emacs/straight/build/org/ob-lob hides /home/viz/lib/ports/emacs/lisp/org/ob-lob /home/viz/lib/emacs/straight/build/org/ol-man hides /home/viz/lib/ports/emacs/lisp/org/ol-man /home/viz/lib/emacs/straight/build/org/org-compat hides /home/viz/lib/ports/emacs/lisp/org/org-compat /home/viz/lib/emacs/straight/build/org/org-colview hides /home/viz/lib/ports/emacs/lisp/org/org-colview /home/viz/lib/emacs/straight/build/org/org-indent hides /home/viz/lib/ports/emacs/lisp/org/org-indent /home/viz/lib/emacs/straight/build/org/ox-beamer hides /home/viz/lib/ports/emacs/lisp/org/ox-beamer /home/viz/lib/emacs/straight/build/org/ob-calc hides /home/viz/lib/ports/emacs/lisp/org/ob-calc Features: (shadow calc-poly calc-units calcalg2 emacs-news-mode emoji-labels emoji multisession sqlite xapian-lite xeft apropos srecode/srt-mode semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn semantic/db semantic/format srecode/template srecode/srt-wy semantic/ctxt srecode/ctxt semantic/tag-ls semantic/find srecode/compile srecode/dictionary srecode/fields srecode/table srecode transmission calc-bin sqlite-mode cal-islam holidays holiday-loaddefs cal-move tcl proced macros modula2 calc-frac calc-math ox-org org-datetree mule-diag calc-mode calc-stuff calc-undo calc-stat calc-map calc-vec calc-yank help-at-pt msb rfc2104 csv-mode cc-awk gnus-search eieio-opt speedbar ezimage dframe tar-mode arc-mode archive-mode hi-lock man gnuplot-context gnuplot mhtml-mode css-mode-expansions css-mode html-mode-expansions sgml-mode nov esxml-query misc gnus-cus gnus-demon gnus-diary nndiary gnus-draft gnus-dup gnus-html gnus-kill gnus-logic gnus-mh mh-comp mh-scan mh-gnus mh-e mh-buffers mh-loaddefs gnus-registry registry eieio-base rmailsum rmail gnus-salt gnus-uu yenc gnus-vm math-delimiters ind-util tabify org-capture doct f90 cus-start net-utils image-crop nndoc gnus-topic ement-room-list taxy-magit-section taxy persist ement-tabulated-room-list ement ement-notifications ement-notify ement-room ement-lib ement-api ement-structs ement-macros magit-section dns find-dired js-mode-expansions js c-ts-common calc-arith calccomp calc-aent calc-misc calc-alg calc-menu display-line-numbers package-recipe-mode package-build package-build-badges package-recipe locate emacsbug pcmpl-git vc-dir winner notifications loadhist flyspell ispell ecomplete descr-text thai-util thai-word dictionary external-completion dictionary-connection comint-mime view conf-mode shr-color url-cache etags fileloop info-look tramp-androidsu tramp-adb tramp-archive tramp-container tramp-ftp tramp-gvfs grep olivetti pdf-sync pdf-outline pdf-links pdf-history pdf-roll icomplete wdired tramp-cmds tramp-sh tramp-cache tramp trampver tramp-integration tramp-message time-stamp tramp-compat tramp-loaddefs latex-mode-expansions latex latex-flymake tex-ispell tex-style tex auctex edebug imenu-xref expand-region text-mode-expansions cc-mode-expansions the-org-mode-expansions python-el-fgallina-expansions er-basic-expansions expand-region-core expand-region-custom shortdoc comp-common completion dabbrev reveal cl-print ob-ditaa ob-plantuml org-clock org-colview org-crypt org-ctags org-mouse org-plot org-protocol ox-md ox-texinfo org-archive help-fns radix-tree recentf tree-widget avy whitespace gnus-dired gnus-fun smerge-mode url-http url-auth url-gw flow-fill 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 network-stream nsm nndraft nnmh nnmaildir nnagent nnml nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache bug-reference dired-aux misearch multi-isearch pulse color vc-git diff-mode track-changes make-mode xref typo pcmpl-gnu pcmpl-unix vc-backup log-view log-edit add-log pcvs-util vc vc-dispatcher diff latexenc face-remap org-pdftools pdf-annot facemenu org-noter oc-bibtex image-file image-converter oc-basic org-ql-find org-ql-completing-read org-ql-search org-ql-view transient crm org-super-agenda org-ql peg ts org-habit org-duration ol-eww eww vtable mule-util url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec gnus-int gnus-range message sendmail yank-media puny rfc822 mml mml-sec epa epg rfc6068 epg-config 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 ol-docview doc-view ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi org-tempo ol-man embark-org ob-gnuplot ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-icalendar org-agenda ox-html ox-mathml org-latex-preview ox-latex table ox-ascii ox-publish ox org-element org-persist avl-tree generator ob-fortran ob-python python ob-calc calc-store calc-trail calc-ext calc calc-loaddefs rect calc-macs ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-shell ob-racket cdlatex texmathp org-attach org-id org-refile org-element-ast inline org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie treesit executable ob-comint org-pcomplete org-list org-footnote org-faces org-entities noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs org-version org-compat org-macs shell-command+ cursor-sensor shell pcomplete server paredit edmacro kmacro eros checkdoc lisp-mnt flymake project wordel-autoloads mines-autoloads sokoban-autoloads ement-autoloads taxy-magit-section-autoloads magit-section-autoloads taxy-autoloads persist-autoloads nov-autoloads esxml-autoloads kv-autoloads transmission-autoloads csv-mode-autoloads lua-mode-autoloads gnuplot-autoloads go-mode-autoloads racket-mode-autoloads eros-autoloads comint-mime-autoloads writegood-mode-autoloads embark ffap thingatpt compat embark-autoloads xeft-autoloads paredit-autoloads puni-autoloads expand-region-autoloads filladapt-autoloads compose org-ql-autoloads transient-autoloads org-super-agenda-autoloads ts-autoloads org-pdftools-autoloads org-noter-autoloads change-env-autoloads math-delimiters-autoloads doct-autoloads emacs-ob-racket-autoloads valign-autoloads cdlatex-autoloads tempo bibtex iso8601 time-date auctex-autoloads tex-site pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist advice tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch let-alist pdf-misc imenu pdf-tools package browse-url xdg 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 eieio eieio-core json url-vars compile comint ansi-osc ansi-color ring cus-edit wid-edit pdf-view password-cache jka-compr pdf-cache pdf-info tq pdf-util pdf-macs image-mode dired-x dired dired-loaddefs exif pdf-tools-autoloads tablist-autoloads typo-autoloads mb-depth repeat visual-fill-autoloads olivetti-autoloads time format-spec battery filenotify dom tamil99 quail disp-table lacarte-autoloads shell-command-plus-autoloads delsel xt-mouse cus-load avy-autoloads icalendar diary-lib diary-loaddefs cal-menu calendar cal-loaddefs plz warnings icons easy-mmode dired-du-autoloads finder-inf filecache imenu-xref-autoloads ert map byte-opt ewoc qrencode-autoloads derived tochemfig-autoloads chemtable-autoloads molar-mass-autoloads files-x vc-backup-autoloads skeleton saveplace-pdf-view saveplace bookmark text-property-search pp saveplace-pdf-view-autoloads dbus xml rx plz-autoloads inspector-autoloads xr-autoloads info debug backtrace find-func straight-autoloads cl-seq cl-extra help-mode straight subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile pcase vz-nh-theme vz-options-theme rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty move-toolbar make-network-process tty-child-frames emacs) Memory information: ((conses 16 5011476 1716952) (symbols 48 105061 587) (strings 32 725986 95855) (string-bytes 1 242071849) (vectors 16 359118) (vector-slots 8 5260725 809361) (floats 8 223120 23104) (intervals 56 414200 12226) (buffers 984 349)) From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 26 22:15:18 2025 Received: (at 76587) by debbugs.gnu.org; 27 Feb 2025 03:15:18 +0000 Received: from localhost ([127.0.0.1]:57248 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnUMn-0000MS-W7 for submit@debbugs.gnu.org; Wed, 26 Feb 2025 22:15:18 -0500 Received: from fhigh-b5-smtp.messagingengine.com ([202.12.124.156]:47819) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tnUMg-0000GO-Dh for 76587@debbugs.gnu.org; Wed, 26 Feb 2025 22:15:14 -0500 Received: from phl-compute-02.internal (phl-compute-02.phl.internal [10.202.2.42]) by mailfhigh.stl.internal (Postfix) with ESMTP id 1FE84254021A; Wed, 26 Feb 2025 22:15:03 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-02.internal (MEProxy); Wed, 26 Feb 2025 22:15:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1740626102; x=1740712502; bh=x1XPR7be9GhUrOKz+gfOtYB1SKNzXDMVFllEJMBHQeY=; b= ZBpnRA+ngQ0x2XX8xhJeAEpreYgLiDsz1vNe677HAOIdcEXLsKQ+tzlKPoSnX1CJ 0psxGx4+yDqNHkogFeBLnV31NJL/skkcYlhWAF9tuhUhE3I0T9xSh5BZQZDviFw9 Wh7N65C8CAlNUJj+TnTUf/83EW4WAe9ZStrgEkKjCMmOthX9LhUbxtd5yH7Yml2S 1tfbRN4ieG5mcrnmAG8cugRQywNtKxMIEMfzx3mSHet3XCbVSCV6NpgoqfruMxu0 bz6V5S8V671w2QPifLWrRdz/copUBMQggUiEfYbx7NA3fg4blAQJHw7muU6rxtVK 13rdXICwWsixgjkFEgITpw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding: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:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1740626102; x=1740712502; bh=x 1XPR7be9GhUrOKz+gfOtYB1SKNzXDMVFllEJMBHQeY=; b=Ge77zHVxpReMDZ5Ss aD4Sbr+b3dEN4JaJUeXOPyd49M+q0Rld4nE1sr7K+odu3rzohMsQGO8ndBS/83bO gaPyk4TtOR2958dgAnUSIj5mz9UBD40WQ9QoQfd+I1l2WVu8lXrvGQP9V51cA10V g3CH2gVERDqeNBXf6S8bXdd0KPYCql//+GXcONib7e60FNpjzkJHn+bjJI/s69+I /xE+tCPwoFf+REx840ZnH9Y212hZS4sGATxGWdCvC9QoGuJobioytZbsW8Lt8cFl UUbj8EA6ZIPf6xc1ugyJhLLjwddqLNP1+hIcGoKRWXBPSnPNZZT3krlevZu0FJVa fKLxA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdekieefiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhepkfffgg gfuffvfhfhjggtgfesthejredttddvjeenucfhrhhomhepffhmihhtrhihucfiuhhtohhv uceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtthgvrhhnpedthfeuvd dtveelgeeuleevvdejveehffevveehvdeuffdtfefhvdeugefgtefgtdenucevlhhushht vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumhhithhrhiesghhuth hovhdruggvvhdpnhgspghrtghpthhtohepvddpmhhouggvpehsmhhtphhouhhtpdhrtghp thhtohepvhhishhufigvshhhmhesghhmrghilhdrtghomhdprhgtphhtthhopeejieehke ejseguvggssghughhsrdhgnhhurdhorhhg X-ME-Proxy: Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 26 Feb 2025 22:15:01 -0500 (EST) Message-ID: <9ead8169-e0dc-496f-a3e9-8426934a0ef1@gutov.dev> Date: Thu, 27 Feb 2025 05:14:59 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved To: Visuwesh , 76587@debbugs.gnu.org References: <87y0xsst6b.fsf@gmail.com> Content-Language: en-US From: Dmitry Gutov In-Reply-To: <87y0xsst6b.fsf@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76587 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! On 26/02/2025 15:59, Visuwesh wrote: > It is quite frustrating to use C-x p p to jump to projects when it can > easily get cluttered with projects that you never want to jump to. > E.g., as my user-emacs-directory only really tracks init.el, I don't > want project.el to save it in the projects file. When it does, it gets > in the way when I am completing ~/lib/ports/emacs which is where I keep > my checkout of the Emacs repo. > Likewise, I do not want to save remote projects at all. This sounds reasonable. Should we call it something like project-list-exclude[-regexps]? > AFAIU, the current way is to use project-forget-project and friends, but > they are cumbersome. They work nice when you want to remove a > "completed" project but they don't help when you want to use project > commands judiciously for "temporary" projects (like a checkout that > you're editing for a patch). Temporary checkouts might not be worth it in terms of that user option (calling M-x ...-forget-project is faster than doing the checkout), but that's just my opinion. > I would like to have a user option like > recentf-exclude which would prevent project--write-project-list from > saving certain projects. To that end, I propose the following patch, > WDYT? Haven't looked at the details of the implementation yet, but the recentf-exclude model sounds good. > P.S. I wish there was a way for project backends to bow out from > project--write-project-list too. Context: I have a "sibling-file" > project backend which mainly offers meaningful candidates to C-x p f > when visiting a file that has associated siblings. This sounds a bit confusing. When you use this other backend (how? is it enabled manually?), do you visit disjoint repositories through it? Or only a subset of a files in a repository? What do you do when you want to visit other files in it? > I could use > find-sibling-file but using project.el comes with bonuses like > project-list-buffer, etc. From where I'm standing, it might be more ergonomical to add a few extra commands for the "siblings" search, and bind them to a submap. But I'm probably missing something. From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 26 23:04:33 2025 Received: (at 76587) by debbugs.gnu.org; 27 Feb 2025 04:04:33 +0000 Received: from localhost ([127.0.0.1]:57379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnV8T-0002kZ-1S for submit@debbugs.gnu.org; Wed, 26 Feb 2025 23:04:33 -0500 Received: from mail-pj1-x1041.google.com ([2607:f8b0:4864:20::1041]:57773) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tnV8P-0002kG-6U for 76587@debbugs.gnu.org; Wed, 26 Feb 2025 23:04:31 -0500 Received: by mail-pj1-x1041.google.com with SMTP id 98e67ed59e1d1-2fc20e0f0ceso836933a91.3 for <76587@debbugs.gnu.org>; Wed, 26 Feb 2025 20:04:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740629063; x=1741233863; 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=KjUyF07A2mLIhUeAY1Xv3XBTTAJxkqOvKWAFTgc94dw=; b=aKHgFdmBP+MtM2Ssfr5PtWMx7Hz37mwqyrsKSBa9CJhjnuMrRsqt4wMa5Ao7vPXgQM EmAgyskWapLkAPeOup3DGcscZVCBTgX7bj27k+faM6tXIe18XuClHJIhXG0zY8FjsMdG OXGt157FnawtcGEje+/yLyrOii+E+B890rvw36ZQi+kFfjC5UwM/kCR6orUH92uZPvBb xxDdyj9Ho6nq6URWXHgncWGH59412QmI13StRHUP5SocF+o4KNu0YS9bX/fVXaurDqYL UdHSsJqL7WHfzukoYlbbIGRC9mLFOS/sALlXNPp+eYf9PAD0M8nNWp5aZbVbcQxB8bul uivg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740629063; x=1741233863; 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=KjUyF07A2mLIhUeAY1Xv3XBTTAJxkqOvKWAFTgc94dw=; b=OXznID2E77sjMZGNn9a5VbVX4vzo98k4BA+jtMfbkk+Uf447viLJC/CcGBPMnOidTM B3ENxjt3SJMqo1H2w/D84/+XS8eJYQpGFEgL/XgZjRA4xIMQS1rcomKNtpUIDNvfL80W UniYNDrTBjSJv9QIDpage9X2FUOM4+ZVB9iZunCcBxYVBo0xbCZthjtQnaRN1LR+9ZQd 3nMCDNfhiCcRA9F4OF6SG/03tIwEA4szt9+g2tCUZMyaFHBOGewesWfDMziahmMXUkFO SHiodIoxa6ICm+DWCCY/2C1rHh59tRr1ZbRbyIOuAaN7w42VOZ2IFc0RsresxSOOwg2S XpkQ== X-Gm-Message-State: AOJu0YwNfxm/9wqI95nnCHZftkd8P2B1YGZ8Dy8cC4Smbm4ymo91fIIF aiJWuz1nQwRgCJUE3yqlAE1PCE+tJjPIVUSeCnbFg8uIusTjAgw7 X-Gm-Gg: ASbGncszS+2tiZzLnd929ST1MhCwp6nIX3TDp7TZy1y2kKFARtMUH+fDdELuw1MljDt vOvTxCTWjl0ZBxLt03oDSRcsr8fReBgB1q8uq4Qwh3Lw/vQCxWdCs5mP1DHz/hXpz+k9Vx1vBjP Y72JO8Cc/DudrTmW74Rtz+z3XbjNmxk5Nk971Q1N7XqWfeahi64JASq0KNfEZ9PMDpHG6rx0dMQ 0SVgL2q+cJthXuwX8nRjJ97wi9hN7eETftDckMtYQtMs+AK5ZjSmLK35uwYG1m19HywADhpe2te 4xhlFFazJdbiPHSzVXPGlXgLyQA= X-Google-Smtp-Source: AGHT+IGK/cP66iE2eMAozlVKup3ZfO+AJqTOsVsjyxdEtQXtqomSrcS0Gk/6vghMzdlDMxzN39sI9g== X-Received: by 2002:a17:90a:da87:b0:2f6:539:3cd8 with SMTP id 98e67ed59e1d1-2fe7e33c7afmr10246922a91.18.1740629062078; Wed, 26 Feb 2025 20:04:22 -0800 (PST) Received: from localhost ([1.7.159.71]) by smtp.gmail.com with UTF8SMTPSA id 98e67ed59e1d1-2fe6dec47a3sm1809665a91.2.2025.02.26.20.04.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 20:04:21 -0800 (PST) From: Visuwesh To: Dmitry Gutov Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved In-Reply-To: <9ead8169-e0dc-496f-a3e9-8426934a0ef1@gutov.dev> References: <87y0xsst6b.fsf@gmail.com> <9ead8169-e0dc-496f-a3e9-8426934a0ef1@gutov.dev> Date: Thu, 27 Feb 2025 09:34:16 +0530 Message-ID: <87ldtsrq2n.fsf@gmail.com> 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: 3.6 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: [வியாழன் பிப்ரவரி 27, 2025] Dmitry Gutov wrote: > Hi! Hello! Content analysis details: (3.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [1.7.159.71 listed in zen.spamhaus.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (visuweshm[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:1041 listed in] [list.dnswl.org] X-Debbugs-Envelope-To: 76587 Cc: 76587@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: 2.6 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: [வியாழன் பிப்ரவரி 27, 2025] Dmitry Gutov wrote: > Hi! Hello! Content analysis details: (2.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [1.7.159.71 listed in zen.spamhaus.org] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:1041 listed in] [list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (visuweshm[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager [=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=AA= =E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B5=E0=AE=B0=E0=AE=BF 27, 2025] D= mitry Gutov wrote: > Hi! Hello! > On 26/02/2025 15:59, Visuwesh wrote: >> It is quite frustrating to use C-x p p to jump to projects when it can >> easily get cluttered with projects that you never want to jump to. >> E.g., as my user-emacs-directory only really tracks init.el, I don't >> want project.el to save it in the projects file. When it does, it gets >> in the way when I am completing ~/lib/ports/emacs which is where I keep >> my checkout of the Emacs repo. >> Likewise, I do not want to save remote projects at all. > > This sounds reasonable. Should we call it something like > project-list-exclude[-regexps]? Sounds good to me. >> AFAIU, the current way is to use project-forget-project and friends, but >> they are cumbersome. They work nice when you want to remove a >> "completed" project but they don't help when you want to use project >> commands judiciously for "temporary" projects (like a checkout that >> you're editing for a patch). > > Temporary checkouts might not be worth it in terms of that user option > (calling M-x ...-forget-project is faster than doing the checkout), > but that's just my opinion. You're right. I don't know/remember what I was thinking when I wrote it honestly. >> P.S. I wish there was a way for project backends to bow out from >> project--write-project-list too. Context: I have a "sibling-file" >> project backend which mainly offers meaningful candidates to C-x p f >> when visiting a file that has associated siblings. > > This sounds a bit confusing. When you use this other backend (how? is > it enabled manually?), do you visit disjoint repositories through it? > Or only a subset of a files in a repository? What do you do when you > want to visit other files in it? There are no repositories here to speak of. I use this project backend when there is no associated vc backend with the file I'm visiting (i.e., project-vc fails). To make my example more concrete, consider the following example of find-sibling-rules: '(find-sibling-rules (rx-let ((basename (group (1+ (not ?/))))) ;; Supplementary info. `((,(rx "papers/" basename ".pdf" eos) "papers/\\1_si_*.pdf" "papers/\\1_si.pdf") (,(rx "papers/" basename "_si" (? "_" (+ num)) ".pdf" eos) "papers/\\1.pdf")))) With this rule in place, when I say M-x find-sibling-file when I'm visiting ~/doc/.../papers/X.pdf, it visits ~/doc/.../papers/X_si.pdf for me. With my sibling-file backend (see at end), I can say M-x project-list-buffers, or C-x p b, or C-x p f to switch to related files easily. I was thinking of writing a project-specific C-x / commands to switch between project buffers easily. >> I could use >> find-sibling-file but using project.el comes with bonuses like >> project-list-buffer, etc. > > From where I'm standing, it might be more ergonomical to add a few > extra commands for the "siblings" search, and bind them to a > submap. But I'm probably missing something. I think we have different notions of a "project." I see it as a list of related files, but the current project backend is built upon a singular, exact definition of a root directory inside which all files can be found. For my use case, this root directory is a bit hard to define since the sibling file need not be restricted to be under the same directory (see an example of such a rule in the docstring of find-sibling-rules). Perhaps, my idea of a project is most closest to what the satchel package does. I could definitely add yet another submap to my config but I would like to merge "regular" project.el projects, and my personal "transient-but-a-bit-more-defined" projects into a single one. This elevates the pain of having to remember two different sets of commands. All this complexity arises because I don't/can't use Git (or other VC) for most of my files. (Emacs' backup and vc-backup does everything I need.) Here's the promised implementation: (defun vz/project-sibling-file (dir) "Return project object for current file-visiting buffer's sibling files. If the current file-visiting buffer has siblings, then return them if the current file is under DIR." (when (and (buffer-file-name) (not (string-prefix-p "../" (file-relative-name (buffer-file-name) dir)))) (let ((siblings (find-sibling-file-search (buffer-file-name)))) (when siblings `(vz/sibling ,(buffer-file-name) ,@siblings))))) (cl-defmethod project-root ((project (head vz/sibling))) (file-name-parent-directory (nth 1 project))) (cl-defmethod project-external-roots ((_project (head vz/sibling))) nil) (cl-defmethod project-name ((project (head vz/sibling))) (file-name-base (nth 1 project))) (cl-defmethod project-ignores ((_project (head vz/sibling)) _dir) nil) (cl-defmethod project-files ((project (head vz/sibling)) &optional dirs) (let ((files (cdr project))) (if (or (null dirs) (equal (car dirs) (project-root project))) files (mapcan (lambda (f) (when (seq-some (lambda (d) (string-prefix-p d f)) dirs) (list f))) files)))) (cl-defmethod project-buffers ((project (head vz/sibling))) (mapcan (lambda (f) (let ((buf (find-buffer-visiting f))) (and buf (list buf)))) (project-files project))) (with-eval-after-load 'project (add-to-list 'project-find-functions #'vz/project-sibling-file t)) From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 02:32:13 2025 Received: (at 76587) by debbugs.gnu.org; 27 Feb 2025 07:32:13 +0000 Received: from localhost ([127.0.0.1]:57799 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnYNQ-00055P-PA for submit@debbugs.gnu.org; Thu, 27 Feb 2025 02:32:13 -0500 Received: from relay7-d.mail.gandi.net ([2001:4b98:dc4:8::227]:53441) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tnYNL-00054b-3z for 76587@debbugs.gnu.org; Thu, 27 Feb 2025 02:32:10 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 4A3F341C15; Thu, 27 Feb 2025 07:31:56 +0000 (UTC) From: Juri Linkov To: Visuwesh Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved In-Reply-To: <87y0xsst6b.fsf@gmail.com> Organization: LINKOV.NET References: <87y0xsst6b.fsf@gmail.com> Date: Thu, 27 Feb 2025 09:27:30 +0200 Message-ID: <87ikov28ul.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: 0 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdekieekjecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucenucfjughrpefhvfevufgjohhffffkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucggtffrrghtthgvrhhnpeffgeetfeevlefhleejfeeuheeiudeitdffhfdutdekfeffgffhveehteegueekheenucfkphepledurdduvdelrddutdehrdduudejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledurdduvdelrddutdehrdduudejpdhhvghlohepmhgrihhlrdhgrghnughirdhnvghtpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhgspghrtghpthhtohepvddprhgtphhtthhopeejieehkeejseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepvhhishhufigvshhhmhesghhmrghilhdrtghomh X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 76587 Cc: 76587@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 (-) > I would like to have a user option like > recentf-exclude which would prevent project--write-project-list from > saving certain projects. To that end, I propose the following patch, > WDYT? recentf-exclude supports a list of regexps and predicates: (defcustom recentf-exclude nil "List of regexps and predicates for filenames excluded from the recent list. ..." :type '(repeat (choice regexp function))) Would it be possible also to check a predicate on the project list? I need this to be able to remove the advice from my config: ;; Don't remember transient projects: (define-advice project-remember-project (:before-until (pr &rest _) skip) (eq (car pr) 'transient)) From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 04:56:49 2025 Received: (at 76587) by debbugs.gnu.org; 27 Feb 2025 09:56:49 +0000 Received: from localhost ([127.0.0.1]:58224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnadN-0004FW-Ba for submit@debbugs.gnu.org; Thu, 27 Feb 2025 04:56:49 -0500 Received: from mail-pj1-x1041.google.com ([2607:f8b0:4864:20::1041]:56604) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tnadJ-0004FA-M5 for 76587@debbugs.gnu.org; Thu, 27 Feb 2025 04:56:47 -0500 Received: by mail-pj1-x1041.google.com with SMTP id 98e67ed59e1d1-2f9d3d0f55dso1230370a91.1 for <76587@debbugs.gnu.org>; Thu, 27 Feb 2025 01:56:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740650199; x=1741254999; 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=6EKfyZKM16T/unq8soUyaQAx8G7sOsaTYgoqmNbxZhY=; b=fgxf2lKnuIGrW5TgZH12SIZSqdpwWpoTFYhKA6YjNEZyh0pFxig9pNhcY6NDbUP2Iv uN+TZu1Fh6qNHrWK922v1KhIpWopZq4p1Zxf8QECkRWWffoOQdCh0Hq9ubZ42p+Pg53b /N3hWN3FvWFjaLYb+YZw1Y6P1nIXSpme4PuACLhrW/znhC/8gxuaPJ3JSanQrrnQLU4p 3pVsCU/4as/aHige8ho42NZjeCqYwGMsCoG38rdICGhW2KSAxoP6Vh7hCz83XeIaoDVn 9RLkAdGwBS01VD0zK61NQs+YV+frNALKEwMDD6mUtcXygfp0bG4Hbyb/QAZceQjW6ghC yncw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740650199; x=1741254999; 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=6EKfyZKM16T/unq8soUyaQAx8G7sOsaTYgoqmNbxZhY=; b=C/RVTDniyEFdPmXWzrYHFvqsP5SlsjcZt6lXBgbkuNKciDfc9HKHPOyBIZ8y16g0Lp Vt3+pDbflwvTZSxuZQlObUuq9+cOQ20Yvg4s3R+bjHyJ8oZcg6bX2jpiZxoKv4OT1v2M QFCNCblcHDeRDHH8TZ3ambyPGKX2XKgZ4T2Y6I2HZLFesqhE5i3VucQgIuy9zI0XYj2s VJ/1RV8skyJFozrtHLRm0VBH/rl51yB33uyFMrx6NnnrhZK5QebG9D4sFozB9XO5GHtS YV4OqURS5aJDvxPQewkftCfn2RWIKTEvlaP7fxz04QDu4IgQK/EsL24jhp+ldyIzjX8j mbVQ== X-Gm-Message-State: AOJu0YzXYiEI5VwNiCm7IMwhj6mkkkVbdgyCBNkIRArgj9WmxVCRpagb byFNxNNgtsULZXVaPGcDDDMJaJzU2/MP+fGgzKM7+YGuDb/w8mDG X-Gm-Gg: ASbGnctkkhFFzfHVQV/REXaw4TPplvKoK+PU9C7NtDVBEJK0HBvH221Ab1EEr5agAOt ZMnX5BLy7Uphg7xhCnBFHAPUd/2RRVaK6ecmqjgui7fVPT1HfP/DZXOv4CqJH8wwE2whHzA1IiB Oask1xpqbchL0pGFi21sptQdfyBdbNnBzUkf5aAJv+r8Qq6Q9L2M1BR1C9kLmYzSvVBLTUByHG5 1tJ2ru/Ut2TzwtMaLo6Irh6j/nXDSWar2CeSGpq9BSwD8aF40eyUmI+ewoeamPa3OnuYUS8WDBh inl4QwVn3c7JnghaAL2Y8RQ= X-Google-Smtp-Source: AGHT+IGa4B59aNnVkxYFhq1EeLC/iR3QTJSmE+9l9ySTvSSwBe1OXFtyEaX3fyj28ow1K6IfE6WF5w== X-Received: by 2002:a17:90b:3b48:b0:2fc:9967:acd8 with SMTP id 98e67ed59e1d1-2fe7e3b327fmr11396222a91.33.1740650199283; Thu, 27 Feb 2025 01:56:39 -0800 (PST) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with UTF8SMTPSA id 98e67ed59e1d1-2fea6985226sm1121355a91.40.2025.02.27.01.56.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 01:56:38 -0800 (PST) From: Visuwesh To: Juri Linkov Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved In-Reply-To: <87ikov28ul.fsf@mail.linkov.net> References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> Date: Thu, 27 Feb 2025 15:26:27 +0530 Message-ID: <877c5bsoc4.fsf@gmail.com> 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: 76587 Cc: 76587@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 (-) [=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=AA= =E0=AE=BF=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B5=E0=AE=B0=E0=AE=BF 27, 2025] J= uri Linkov wrote: >> I would like to have a user option like >> recentf-exclude which would prevent project--write-project-list from >> saving certain projects. To that end, I propose the following patch, >> WDYT? > > recentf-exclude supports a list of regexps and predicates: > > (defcustom recentf-exclude nil > "List of regexps and predicates for filenames excluded from the recen= t list. > ..." > :type '(repeat (choice regexp function))) > > Would it be possible also to check a predicate on the project list? > > I need this to be able to remove the advice from my config: > > ;; Don't remember transient projects: > (define-advice project-remember-project (:before-until (pr &rest _) ski= p) > (eq (car pr) 'transient)) So something like (defcustom project-list-exclude nil "List of regexps and predicates for project root and objects to exclu= de." :type '(repeat (choice regexp function)) :version "31.1" :group 'project) as we cannot remove your advice if we don't pass the project object to the predicate. BTW, would it be too late to check this user option in project--write-project-list, or should we check this in project-remember-project as in your advice? IIUC, the former would more closely resemble recentf's behaviour. From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 12:36:48 2025 Received: (at 76587) by debbugs.gnu.org; 27 Feb 2025 17:36:49 +0000 Received: from localhost ([127.0.0.1]:37295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnhoW-0007BE-J8 for submit@debbugs.gnu.org; Thu, 27 Feb 2025 12:36:48 -0500 Received: from relay2-d.mail.gandi.net ([2001:4b98:dc4:8::222]:33383) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tnhoT-0007Aa-J8 for 76587@debbugs.gnu.org; Thu, 27 Feb 2025 12:36:46 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 007DE441B6; Thu, 27 Feb 2025 17:36:37 +0000 (UTC) From: Juri Linkov To: Visuwesh Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved In-Reply-To: <877c5bsoc4.fsf@gmail.com> Organization: LINKOV.NET References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> Date: Thu, 27 Feb 2025 19:35:34 +0200 Message-ID: <87y0xrwas9.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: 0 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdekkedtkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucenucfjughrpefhvfevufgjohhffffkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucggtffrrghtthgvrhhnpeffgeetfeevlefhleejfeeuheeiudeitdffhfdutdekfeffgffhveehteegueekheenucfkphepledurdduvdelrddutdehrdduudejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledurdduvdelrddutdehrdduudejpdhhvghlohepmhgrihhlrdhgrghnughirdhnvghtpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhgspghrtghpthhtohepvddprhgtphhtthhopeejieehkeejseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepvhhishhufigvshhhmhesghhmrghilhdrtghomh X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 76587 Cc: 76587@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 (-) > (defcustom project-list-exclude nil > "List of regexps and predicates for project root and objects to exclude." > :type '(repeat (choice regexp function)) > :version "31.1" > :group 'project) > > as we cannot remove your advice if we don't pass the project object to > the predicate. > > BTW, would it be too late to check this user option in > project--write-project-list, or should we check this in > project-remember-project as in your advice? IIUC, the former would more > closely resemble recentf's behaviour. Probably a better place to check this user option would be in project-remember-project since project--remember-dir is called only from project-remember-project and project-switch-project. OTOH, since project--remember-dir is an internal function we could add a new argument 'project' to it. From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 20:17:47 2025 Received: (at 76587) by debbugs.gnu.org; 28 Feb 2025 01:17:47 +0000 Received: from localhost ([127.0.0.1]:40877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnp0d-0004Pu-40 for submit@debbugs.gnu.org; Thu, 27 Feb 2025 20:17:47 -0500 Received: from fhigh-b3-smtp.messagingengine.com ([202.12.124.154]:43563) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tnp0a-0004PD-8h for 76587@debbugs.gnu.org; Thu, 27 Feb 2025 20:17:45 -0500 Received: from phl-compute-12.internal (phl-compute-12.phl.internal [10.202.2.52]) by mailfhigh.stl.internal (Postfix) with ESMTP id 3B5E1254016F; Thu, 27 Feb 2025 20:17:38 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-12.internal (MEProxy); Thu, 27 Feb 2025 20:17:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1740705458; x=1740791858; bh=qTtHRjQdF/MsLDzitJbKD1VvUX+/+kglx+8J9udsBO0=; b= G9yOHXM4cCKKJPc5qJZoMjw7foWjiQZEub33Rr95z2jEhQrjWBlQLJn26LdvQsZx SkjsmbWQ8IAFuvaqFcrqFU3QKuCgTHcFZhK++inHO15Rm+QLnrPeCwkE4fJBlcEA yZvLRSyj5aCcTJ2X3MfghIgNWZHE6SwL3nh9/SygJtbu3kZS2bSH+W+YD6TyOxhv 6K9fpCAnXfOtCHpcUEUa/dzS1aiHrKHcZCcrWKCDbYZa3AnrrBjaEeL+w5Dg1PzD Eajtlt12DkQmmYHq9knRc6+Qi36lo0+TFmhusGXO/pHkYuWicv5a3OoyOGw8BfgJ 8oKNAavc0VHfxJ2PA/2Bbw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1740705458; x= 1740791858; bh=qTtHRjQdF/MsLDzitJbKD1VvUX+/+kglx+8J9udsBO0=; b=c 2P3W9N+POSXrtdYy9V+jP0VUf6r42KKad9DpCfrnaJfefUF8PuFdD24EWt0e9JNW UCTPu2KYKVXh1H/PnErF6jdWwNXEwzrrTarj4d6xZgH/mhw9KT28E3pQcxyH813b FgEqmy90dGGNP2ORRNtUlNN0U/mjnglneaRM2TQc5s85Sv+ymw6Q8QunMa7us5CQ VnfAvBEYaq/DFGgcS2hQrp6D2RJ6y2/pBAxhjfEt8M2pOhWi+TqBap+jRFkeP15z GXOBSQ9SDdtqqWQdU/nhh2S77n4N/ovMIJHzsThBot6ov2TG9yrJ3pC4jVp2l8Nn yflXhPI9epd+GGZauukEw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdekledtfecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhepkfffgg gfuffvvehfhfgjtgfgsehtjeertddtvdejnecuhfhrohhmpeffmhhithhrhicuifhuthho vhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrthhtvghrnheptedule ejgeehtefgheegjeekueehvdevieekueeftddvtdevfefhvdevgedujeehnecuvehluhhs thgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmihhtrhihsehguh htohhvrdguvghvpdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgt phhtthhopehvihhsuhifvghshhhmsehgmhgrihhlrdgtohhmpdhrtghpthhtohepjeeihe ekjeesuggvsggsuhhgshdrghhnuhdrohhrgh X-ME-Proxy: Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 27 Feb 2025 20:17:36 -0500 (EST) Message-ID: Date: Fri, 28 Feb 2025 03:17:34 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved To: Visuwesh References: <87y0xsst6b.fsf@gmail.com> <9ead8169-e0dc-496f-a3e9-8426934a0ef1@gutov.dev> <87ldtsrq2n.fsf@gmail.com> Content-Language: en-US From: Dmitry Gutov In-Reply-To: <87ldtsrq2n.fsf@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76587 Cc: 76587@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 27/02/2025 06:04, Visuwesh wrote: >> This sounds reasonable. Should we call it something like >> project-list-exclude[-regexps]? > > Sounds good to me. Great. > There are no repositories here to speak of. I use this project backend > when there is no associated vc backend with the file I'm visiting (i.e., > project-vc fails). To make my example more concrete, consider the > following example of find-sibling-rules: > > '(find-sibling-rules > (rx-let ((basename (group (1+ (not ?/))))) > ;; Supplementary info. > `((,(rx "papers/" basename ".pdf" eos) > "papers/\\1_si_*.pdf" "papers/\\1_si.pdf") > (,(rx "papers/" basename "_si" (? "_" (+ num)) ".pdf" eos) > "papers/\\1.pdf")))) > > With this rule in place, when I say M-x find-sibling-file when I'm > visiting ~/doc/.../papers/X.pdf, it visits ~/doc/.../papers/X_si.pdf for > me. With my sibling-file backend (see at end), I can say M-x > project-list-buffers, or C-x p b, or C-x p f to switch to related files > easily. I was thinking of writing a project-specific C-x / > commands to switch between project buffers easily. Sounds helpful. >>> I could use >>> find-sibling-file but using project.el comes with bonuses like >>> project-list-buffer, etc. >> >> From where I'm standing, it might be more ergonomical to add a few >> extra commands for the "siblings" search, and bind them to a >> submap. But I'm probably missing something. > > I think we have different notions of a "project." I see it as a list of > related files, but the current project backend is built upon a singular, > exact definition of a root directory inside which all files can be > found. For my use case, this root directory is a bit hard to define > since the sibling file need not be restricted to be under the same > directory (see an example of such a rule in the docstring of > find-sibling-rules). Perhaps, my idea of a project is most closest to > what the satchel package does. That's not a problem, as long as the fileset doesn't intersect with a VC repository. But I'm guessing the problem is that there is no meaningful "root" for those files either, and so showing those projects in the project history is not that easy, even if one wanted (i.e. you can't go from the root to the file list, only in the reverse direction). > I could definitely add yet another submap to my config but I would like > to merge "regular" project.el projects, and my personal > "transient-but-a-bit-more-defined" projects into a single one. This > elevates the pain of having to remember two different sets of commands. If you're always inside just one kind of project at a time, that indeed shouldn't be necessary. > All this complexity arises because I don't/can't use Git (or other VC) > for most of my files. (Emacs' backup and vc-backup does everything I > need.) > > > > > Here's the promised implementation: Nice. From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 20:20:16 2025 Received: (at 76587) by debbugs.gnu.org; 28 Feb 2025 01:20:16 +0000 Received: from localhost ([127.0.0.1]:40910 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnp32-0004is-B6 for submit@debbugs.gnu.org; Thu, 27 Feb 2025 20:20:16 -0500 Received: from fhigh-b3-smtp.messagingengine.com ([202.12.124.154]:51701) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tnp2z-0004e5-GQ for 76587@debbugs.gnu.org; Thu, 27 Feb 2025 20:20:14 -0500 Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45]) by mailfhigh.stl.internal (Postfix) with ESMTP id 0F95F25401B4; Thu, 27 Feb 2025 20:20:08 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-05.internal (MEProxy); Thu, 27 Feb 2025 20:20:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1740705607; x=1740792007; bh=rlcUjOKkcZdLFyuCtlIQ2vwUhX0LOE9YM5A21G4la3w=; b= R6JSVsSVVPKxIoAV8Ns2+i8nWI95/Dy8RmNlSrQVs8+Z1IOer3hGzcyTIC+C7RMf Vo6bhU09EbPgoiabvheJpAS4VIKbYTYYxqVp6vVs8yQ0COUsSHeNlzKegSgRXzUT xdAcpOkksHbsYlfa0h6a0uYDYn3g1Kx49WB5hN6QRDSZcgDGolYOGWdokLTZIRp8 aCk5AiWZe1OzxUZD3md7363yzN2/Bxp6kEB4Dv/eZ+7TGHCzBTqF/dSDfUFS2V2j uOVb28rM05KFi3/WzeGqOMYMerzSXqCjwoqLEyPpDvBJ/RgiNLWnz1x6geFcJcYU JCtzywBn3BpwMOvScTQUpg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1740705607; x= 1740792007; bh=rlcUjOKkcZdLFyuCtlIQ2vwUhX0LOE9YM5A21G4la3w=; b=F HhxqKbLltaTTtHGcv/TAy17Ww6eZUO+cbTwe4TwbyTUhais8eLeldlygxpyl33vc Th5myJcQdTJgkGmZqsHKI16DcDxih2AsJraaTPe38j/rYrW9S8xUeHXhZ51y5P7n qcu2wvXE5SHdgERLmeYXbHk4ZrnD9jV0dRWc2Sizsj6ryCdATDbKjQ+jgznvTZMS RiKxIXOhLQ7QQoMfAD9uzQBCLKvd3a5l9vbHgebSQMnBEa4v77SEfIlhaKwWrk0d OiLXxN1bR/tbkweDlA5WtGEcT4reUL1lv5aa6peHjKw5RR72fBjpSwTA0Fd42x7J q3x7dC8Kb1M1LA3815RZA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdekledtfecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddv jeenucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrd guvghvqeenucggtffrrghtthgvrhhnpeetudeljeegheetgfehgeejkeeuhedvveeikeeu fedtvddtveefhfdvveegudejheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh epmhgrihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthht ohepfedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhhurhhisehlihhnkhhovh drnhgvthdprhgtphhtthhopehvihhsuhifvghshhhmsehgmhgrihhlrdgtohhmpdhrtghp thhtohepjeeiheekjeesuggvsggsuhhgshdrghhnuhdrohhrgh X-ME-Proxy: Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 27 Feb 2025 20:20:06 -0500 (EST) Message-ID: Date: Fri, 28 Feb 2025 03:20:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved To: Juri Linkov , Visuwesh References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> Content-Language: en-US From: Dmitry Gutov In-Reply-To: <87y0xrwas9.fsf@mail.linkov.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76587 Cc: 76587@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 27/02/2025 19:35, Juri Linkov wrote: > OTOH, since project--remember-dir is an internal function > we could add a new argument 'project' to it. That shouldn't be a problem indeed. OTOH, the project object is not very easily available in some callers of project--remember-dir, so the change might require some reorganization. From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 27 22:48:38 2025 Received: (at 76587) by debbugs.gnu.org; 28 Feb 2025 03:48:38 +0000 Received: from localhost ([127.0.0.1]:42417 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tnrMb-0003L7-UG for submit@debbugs.gnu.org; Thu, 27 Feb 2025 22:48:38 -0500 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]:53663) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tnrMY-0003Ko-QW for 76587@debbugs.gnu.org; Thu, 27 Feb 2025 22:48:35 -0500 Received: by mail-pl1-x641.google.com with SMTP id d9443c01a7336-22104c4de96so28463335ad.3 for <76587@debbugs.gnu.org>; Thu, 27 Feb 2025 19:48:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740714509; x=1741319309; 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=tnF80yUgIf5zs9aA686hnoTmyP09mFKuIHIm1kUOOrU=; b=Zf4aTVwjKGT8DS7QiBdSzCEdr2PYoGsvyFtxOKdFoeDNqKPhNlw8DFpBjiy97isauC TsyffTfWpevG1aInToTRSq/M56zs5ees8KTz7Q3Ihk56oH6Z8joleaJj/GXb6SXOxJdS X6/KoLWJ15vkJFn6UikOJlGuVyFs5EyBSkMTIXwYEmmOhqrTzOHXG7P4F3Y5IMzAj00z CpFMosfPPemzTkz3ppbZnaRa7uBawnr3OOelgJPKZ1+3IzJC2XviBUHys+LSA1w0N7wC mJNexPJHHc0icigObt+zJVzamjRz4gd19Sdp/6MWaU+UnajLD+8FYxqSSMTSOtt0M17+ CldA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740714509; x=1741319309; 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=tnF80yUgIf5zs9aA686hnoTmyP09mFKuIHIm1kUOOrU=; b=fyILzg1r83UmU5JGg+ZIjKO0OKLtjjqPtFBI+YwWHOaolGxmvjxFE/NN5QJU4D1JIc ZFXo66MHTuXFKaNlp/5RVDRXzkqZbwAF/n362OvnsjfbMV70f0zbHCzk8PEf5EXKKRVP yhMh8/JlGt7DpgZVtRxyue3CAYIm6nMhFfUBrGS2UTHbGXvNhCsm/gdUljiBr9VHw0Rx THT38vWmVjChbs8qkaLwLr5M48UsO2nOH1D0YEEsT4n0HvC6IxoGJAK9UlqqsnVLCxtk 62JZ4XUguZTBQRxDf0/quhD9097qfQDoMOY7nP2ekLSd7svFhuMGHEh4cstf57HfTOL5 WkuA== X-Forwarded-Encrypted: i=1; AJvYcCW3MvZH1zpaivdmDCyi/2DmgCMnqSza6lPULvMvstEBflRSy2VRwb+C4JakMSPiJ/xEQA3q9g==@debbugs.gnu.org X-Gm-Message-State: AOJu0YyAXTW7hEIyr70tKWo23qgr20MEg/wR8lw/dzFdtcmdFCvDiPVU mHNq+x9dj3AVjeIeRdhJebRbm88jXgxKD/MSxJkQSU3z0KgbmmC7 X-Gm-Gg: ASbGncs914l2vAGaiXxIWM7MQNdQPJuHbJ8PjHmPbNtdmavoxZPBgLKxmbqAUuhf15K FizyGfLKU9BY5aWTYdI0e56Yh3TVLllY0GdIQQp2mzvUa1/tmVZ/e24PeuCsJsHV8E9TYWD6t/i zUhBxq9VVdjPt7Cox6GnlrTIOXJAnx1+TPizzjpe+h8mM4p6PiCVRkloJviv+WoN0zfAJQpxwXC VUHZX5iDQdNO4OrX3RRUtD3z4xx2pl4pNMSDdS0Bwqx+JdsrexxLX1GXIusj+eNAlQjXH/kPlN+ 2zqy0p3xz7Bila0pCvkZ8nzt8fY= X-Google-Smtp-Source: AGHT+IHN0pku6UtwW7+bpLsVPWSRwAjWfZQQeMofkj+eNt343MNTUwZyHIEEyHC0X0t2nab3SvM/9g== X-Received: by 2002:a17:903:2306:b0:216:794f:6d7d with SMTP id d9443c01a7336-22369260875mr21522205ad.48.1740714508548; Thu, 27 Feb 2025 19:48:28 -0800 (PST) Received: from localhost ([1.7.159.71]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-2235050f18bsm23693925ad.213.2025.02.27.19.48.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 19:48:28 -0800 (PST) From: Visuwesh To: Dmitry Gutov Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved In-Reply-To: References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> Date: Fri, 28 Feb 2025 09:18:24 +0530 Message-ID: <87plj2rapj.fsf@gmail.com> 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: 3.6 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: [வெள்ளி பிப்ரவரி 28, 2025] Dmitry Gutov wrote: > On 27/02/2025 19:35, Juri Linkov wrote: >> OTOH, since project--remember-dir is an internal function >> we could add a new argument 'project' to it. > > That shouldn't be a problem indeed. > > OTOH, [...] Content analysis details: (3.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [1.7.159.71 listed in zen.spamhaus.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (visuweshm[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:641 listed in] [list.dnswl.org] X-Debbugs-Envelope-To: 76587 Cc: 76587@debbugs.gnu.org, Juri Linkov 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: 2.6 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: [வெள்ளி பிப்ரவரி 28, 2025] Dmitry Gutov wrote: > On 27/02/2025 19:35, Juri Linkov wrote: >> OTOH, since project--remember-dir is an internal function >> we could add a new argument 'project' to it. > > That shouldn't be a problem indeed. > > OTOH, [...] Content analysis details: (2.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [1.7.159.71 listed in zen.spamhaus.org] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:641 listed in] [list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (visuweshm[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager [=E0=AE=B5=E0=AF=86=E0=AE=B3=E0=AF=8D=E0=AE=B3=E0=AE=BF =E0=AE=AA=E0=AE=BF= =E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B5=E0=AE=B0=E0=AE=BF 28, 2025] Dmitry Gut= ov wrote: > On 27/02/2025 19:35, Juri Linkov wrote: >> OTOH, since project--remember-dir is an internal function >> we could add a new argument 'project' to it. > > That shouldn't be a problem indeed. > > OTOH, the project object is not very easily available in some callers > of project--remember-dir, so the change might require some > reorganization. I see one caller of project--remember-dir, project-switch-project, that does not have the project object handy. Maybe we could do (project--remember-dir dir nil (project-current nil dir)) in place of the current call in project-switch-project? Or should we do something like (defun project--remember-dir (root &optional no-write project) ... (setq project (or project (project-current nil dir))) ...) instead? [=E0=AE=B5=E0=AF=86=E0=AE=B3=E0=AF=8D=E0=AE=B3=E0=AE=BF =E0=AE=AA=E0=AE=BF= =E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B5=E0=AE=B0=E0=AE=BF 28, 2025] Dmitry Gut= ov wrote: > But I'm guessing the problem is that there is no meaningful "root" for > those files either, and so showing those projects in the project > history is not that easy, even if one wanted (i.e. you can't go from > the root to the file list, only in the reverse direction). Yes, there's no exact definition of a project root here. This breaks some project commands (like project-shell). Even project-current seems to rely on the notion of a root which I essentially ignore in my backend function (I only check if the current file-visiting buffer's directory is a parent of project-current's directory). From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 01 00:05:31 2025 Received: (at control) by debbugs.gnu.org; 1 Mar 2025 05:05:31 +0000 Received: from localhost ([127.0.0.1]:58342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1toF2Y-0007Gn-9G for submit@debbugs.gnu.org; Sat, 01 Mar 2025 00:05:31 -0500 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]:48389) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1toF2V-0007G0-Iq for control@debbugs.gnu.org; Sat, 01 Mar 2025 00:05:28 -0500 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-5e4c0c12bccso4975327a12.1 for ; Fri, 28 Feb 2025 21:05:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740805521; x=1741410321; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=xDxWmYCw8g7ImBu7oDMtRahsRxhgACeqt4KM7nOGzO0=; b=KNv/Ivf1LvOcSOW6o3HSoGasdMgsyzQgFevRPBqTJHQVEJWeugydS2OQyVDaH6En9E 1JkmJB3HU2MTKgJjoBq7t9Lry2hHKz4FXVpcxZ79NbM1NjOwe1E/++w1SMRD04tOY6MY UsUQtvi+NZ8K20i9rWlW20Jhv75j6ic61BDdm/eMXcyvJ3wAA1VhGkUM2G62MOv93wBD h/ZYXX1MB/FWn2xZ+1X/DzWQ87OWLZUiK3IaB2cbDPCDaH0Qr20cPz7px2ECBdVEgAaQ Ddsvc5Aj/6nEg3EZCj+1/YeuuqeiW9Mf27ilrrTNAMed2E+L67CCFaSnYz8WyJRxN5wE sqPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740805521; x=1741410321; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=xDxWmYCw8g7ImBu7oDMtRahsRxhgACeqt4KM7nOGzO0=; b=MHPgPDq8PeuCMQRPshkaBlG5Agt4YZF/bajgUN23OV8B79gky2BhW5iFY+nfxhb2q5 6VCmN8QT5y4O4yFkQKdwFq+dRzscBBOCMgOBED67AnrtkswIcgx9uc+FHu1u/mpFmZHX M7Gz7weQIuKM1T2YtA+DZUZnBboj1nEYt+uPrHIOufkd7GHsV4s/r5GqZKOJRgs8XCJy FfIMGnv2NrJUQTMvB7UWZ/L6oRc/F6njKzVCbhKbM05e1nLDfX0G3pqA5hKYFXG4B2FP iCBE2sFHGGetMliGjcTMMC/jeI0ApD2BmDLIwwGcwUKcPkCVTa4b9E5SZlr7ID7BEPa+ KZJg== X-Gm-Message-State: AOJu0YwDYbEn5VyR/rJKbYbDpPulonZ0Ibs92yOz1E6bs3WCd7d4iAL8 12jgFD2K1WG2k40WmABXufLeQYlTNLHFm1I82IlwRQZ/5dFi5azJCbQUH343Th0JP8HRv91Plm6 a7oRj+X2j5sZ31EYvjGCCpGX/gjnZI5QOEKM= X-Gm-Gg: ASbGncu87dF/gKq0HMU/fA7QydfCEY1o6xTeq/IGm1QGwtNlQBtn8u2duY0cKHs6fxQ eT+YZjd5qi96WTt3D09/1dBSEWpVlD6jitwkHcNr1EK4i1Sl/r2Poj12Q0UM+6j1UK919dCXbhr Of5JFLUt3736X16zVOZr09der3HA== X-Google-Smtp-Source: AGHT+IHyzzcY5yJPJCdHcWSs3f6K/L5JXaY8oh3YsCyafEHbi9L/EEOiBdSnQEvvoxCeUmEcHYmPFRDmHOZdPcKO6TQ= X-Received: by 2002:a05:6402:380a:b0:5e4:cad2:b67c with SMTP id 4fb4d7f45d1cf-5e4d6b85943mr5400092a12.32.1740805521268; Fri, 28 Feb 2025 21:05:21 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Fri, 28 Feb 2025 21:05:21 -0800 From: Stefan Kangas MIME-Version: 1.0 Date: Fri, 28 Feb 2025 21:05:21 -0800 X-Gm-Features: AQ5f1JqChwYmK71wuq3kgGANi5XvLu7O_nE74CFh-KILhvzUXLbMd4wBDHX643M Message-ID: Subject: control message for bug #76587 To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control 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 (-) severity 76587 wishlist quit From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 01 22:31:26 2025 Received: (at 76587) by debbugs.gnu.org; 2 Mar 2025 03:31:27 +0000 Received: from localhost ([127.0.0.1]:49039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1toa34-0002iw-Ar for submit@debbugs.gnu.org; Sat, 01 Mar 2025 22:31:26 -0500 Received: from fhigh-b2-smtp.messagingengine.com ([202.12.124.153]:55555) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1toa31-0002i5-RN for 76587@debbugs.gnu.org; Sat, 01 Mar 2025 22:31:24 -0500 Received: from phl-compute-09.internal (phl-compute-09.phl.internal [10.202.2.49]) by mailfhigh.stl.internal (Postfix) with ESMTP id 616AD25400FF; Sat, 1 Mar 2025 22:31:18 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-09.internal (MEProxy); Sat, 01 Mar 2025 22:31:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1740886278; x=1740972678; bh=7qRdMI+UZ+XfjG/6+NGMJ+v7M9mOzX1Zx376IoihFIw=; b= g0guA5G1msqoLtw8r7WA2EZN9eq1JByya+IOhpXPr9tkfhDyCqeD7dbzHP9aE91v Nd6wVAwYLmqAkoMDarBPb38yDbHlhPQcl/3NlfdPBs2mvKoNSuJ6htPZVaes4N6W s5sreJwypJgxYm82La0KhOJQ/c4iUTQPBKToflg1uIJ/MtqJDG3Jkvla0A/Z2YKm QdmLHjwNsQWekqdKyiyNLmmP8TpjtYo4dUWTVEJ3T82YVIS8FB+6d1t2E7ULv9JT BHQI2mhxfQCKQ0hJtuX+NBfuKD71/FgfvLsXrVZQHgpYUcuPGj8USYMiaKROVxHa O+46bSDe161MDH3FarGxeg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1740886278; x= 1740972678; bh=7qRdMI+UZ+XfjG/6+NGMJ+v7M9mOzX1Zx376IoihFIw=; b=v bRS5TZ5UzhxCon6mL0qKnFyWu3UhkWhh1D0107LAjrhk88b5T/NDBPgsZaHZSIze jwBlzitWgPeQzzLxUzkngzwA1rO58tRRVduR3j0cP5pjCrHKN41nrlsMjMA+ea8L +nB1495eWrNPAWIKAxnoWYNVrSuY4fFPd2qLWg0I2rehWoZ0AYxL26Zw/X6G9FB6 AtAMQ5yXVPX9pIhED291ti5fAKBLltB41IPw3xhSM5peyoAbz97570T9A/b0TFFi hbdZm021qwRwpLpu1a4hRNqxMBlrd8cLjeq4qpJEnb9dKnAPTmLLJunUy6DTegx2 9q9aBudVD25ZMHzTqwPrw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdelhedugecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddv jeenucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrd guvghvqeenucggtffrrghtthgvrhhnpeetudeljeegheetgfehgeejkeeuhedvveeikeeu fedtvddtveefhfdvveegudejheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh epmhgrihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthht ohepfedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepvhhishhufigvshhhmhesgh hmrghilhdrtghomhdprhgtphhtthhopehjuhhriheslhhinhhkohhvrdhnvghtpdhrtghp thhtohepjeeiheekjeesuggvsggsuhhgshdrghhnuhdrohhrgh X-ME-Proxy: Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 1 Mar 2025 22:31:16 -0500 (EST) Message-ID: <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> Date: Sun, 2 Mar 2025 05:31:15 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved To: Visuwesh References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> Content-Language: en-US From: Dmitry Gutov In-Reply-To: <87plj2rapj.fsf@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76587 Cc: 76587@debbugs.gnu.org, Juri Linkov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 28/02/2025 05:48, Visuwesh wrote: > I see one caller of project--remember-dir, project-switch-project, that > does not have the project object handy. Maybe we could do > > (project--remember-dir dir nil (project-current nil dir)) > > in place of the current call in project-switch-project? Hm yeah, I suppose that would be okay: project-switch-project is not required to be very fast, and project search often uses cache. And when the project value is available, the call to be made to project-remember-project instead - this one could do the filtering as well. So no need to add new arg to project--remember-dir. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 01 23:32:11 2025 Received: (at 76587) by debbugs.gnu.org; 2 Mar 2025 04:32:12 +0000 Received: from localhost ([127.0.0.1]:49998 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1toazr-0004Wy-1i for submit@debbugs.gnu.org; Sat, 01 Mar 2025 23:32:11 -0500 Received: from mail-pj1-x1041.google.com ([2607:f8b0:4864:20::1041]:60584) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1toazp-0004Vv-2O for 76587@debbugs.gnu.org; Sat, 01 Mar 2025 23:32:09 -0500 Received: by mail-pj1-x1041.google.com with SMTP id 98e67ed59e1d1-2fe821570e4so4939872a91.0 for <76587@debbugs.gnu.org>; Sat, 01 Mar 2025 20:32:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740889923; x=1741494723; 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=dR49mLT6hppbNjHB5EWvavkKqENHlZ+igMnGb8inGRQ=; b=AURZqNEYPV1ZT06GosqwoGA8fifyWbZGE8RxMOGHTNTVoVtTwOCJresvlF4eox6YMQ irajT2vGzIPtFSMKsRqdbjNpPtM/NlvMiAGgfpZDypvtLWpTlmqKNKtYluDgAoDLBHxZ GPwwM41t/qm9SuKbkcBPiubEnuxr++Xhlg/lMfTbL4sO/D+mCodrtnElLsVfiuAGXoWJ F9DTHFBkK64DpZrLBX+b0yYAK1+FGEG68H5V/q0x0Z02x11J+DBF5TgGCDOblNlMjaeW SEoKx6lfo4d4ilrC5qwfWsXffcLGf0rw9Sw8hX+npWvpUtv6Dgl2cOf+QgfaavoiljyY 08UQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740889923; x=1741494723; 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=dR49mLT6hppbNjHB5EWvavkKqENHlZ+igMnGb8inGRQ=; b=FV54g3mBgR+ENrz5PYHp511jBWn36Fqqgk4/qaOjspd19ld4JBIl8uGpaj1OogUS23 +I6aLs2Qaxsh78jeOCBvSc2gMSLmIWJ7F2Wh1OTScjKw83Qr2QzJPYKiXczYIp6Xz57I PJrmSF0cjbOtGGY0D4Sg9gET8iAB5LiQWPqqF5XLGaEHFz0CCTu6/C2CuQY3Q5IXPAAl comgzmWNYmSAEBtqXXqAafRXalb9h8eOkeE6TyxdKCexnmDrEyoH34kJFXipv2Qnbqy8 K5VJo8Nyh/3a3Uq5L/Y3BaewaxHgZiaiXgTu4RRNN+LXzEAdBFp3FmBS+OwXoL9IP4rK Zxsw== X-Forwarded-Encrypted: i=1; AJvYcCUQjKFZi6N5tqOItSPBlCMQQ0vQ0/+CyqTiw8/UUL1WIdk9lf+nnjmaPZ6IKMdudpPcILmxtA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxbqJkosjT4exsllJfl5CpIevxsjKWwnRSDbn6Q/JSOImnq1eaj Ng+CkA8+xXfIvba6IiApJKxBxmc9mhp449EMuHjLxMvqFPJdyHGy X-Gm-Gg: ASbGncso3YrJzkM3Nh4chUTEaggXqY5Gsbx+A9zpqILsyMlNKs9hZ03UJzLXOVftmqu 7fUhFcVqZfeFeomtDcmEVaQ3K0Fputu4P5WWcjW8lXu/NXADUtjKs8hWoYOPHldQnHKjfSBzCaQ RcU40q0y5AZOD2Kc8V6Wdl83P9edPC6iMFcMLK3YeVCprHH/N4Fjvg1cZpjyVzT+hzg26xCLY0Y La1vnvXFmy80cNjZcNVF/fUfvF6HpS0bvkDnjKh+nmadcZxGwNLGnAA4oKgpQDqCVGWtwvypnge 1juz7eQHvoO7XB+Kn0UUHvM5GyegoaTBBUPe7i4VVdib2w== X-Google-Smtp-Source: AGHT+IHWWAKP2tws4o51/JlegNytWRW8E2DXZrw03eRNFu6YdXMMc0UFOU7aUwInwSKbEHUGcm/4+g== X-Received: by 2002:a17:90b:5747:b0:2ee:f076:20f1 with SMTP id 98e67ed59e1d1-2febaa92767mr16232031a91.0.1740889921764; Sat, 01 Mar 2025 20:32:01 -0800 (PST) Received: from localhost ([1.7.159.71]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-223504dc8e1sm55457335ad.177.2025.03.01.20.32.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 20:32:01 -0800 (PST) From: Visuwesh To: Dmitry Gutov Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved In-Reply-To: <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> Date: Sun, 02 Mar 2025 10:01:58 +0530 Message-ID: <877c589hoh.fsf@gmail.com> 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: 3.6 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: [ஞாயிறு மார்ச் 02, 2025] Dmitry Gutov wrote: > On 28/02/2025 05:48, Visuwesh wrote: >> I see one caller of project--remember-dir, project-switch-project, that >> does not have the project object handy. Maybe we could do >> (project--remember-dir [...] Content analysis details: (3.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [1.7.159.71 listed in zen.spamhaus.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (visuweshm[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:1041 listed in] [list.dnswl.org] X-Debbugs-Envelope-To: 76587 Cc: 76587@debbugs.gnu.org, Juri Linkov 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: 2.6 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: [ஞாயிறு மார்ச் 02, 2025] Dmitry Gutov wrote: > On 28/02/2025 05:48, Visuwesh wrote: >> I see one caller of project--remember-dir, project-switch-project, that >> does not have the project object handy. Maybe we could do >> (project--remember-dir [...] Content analysis details: (2.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:1041 listed in] [list.dnswl.org] 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [1.7.159.71 listed in zen.spamhaus.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (visuweshm[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager [=E0=AE=9E=E0=AE=BE=E0=AE=AF=E0=AE=BF=E0=AE=B1=E0=AF=81 =E0=AE=AE=E0=AE=BE= =E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 02, 2025] Dmitry Gutov wrote: > On 28/02/2025 05:48, Visuwesh wrote: >> I see one caller of project--remember-dir, project-switch-project, that >> does not have the project object handy. Maybe we could do >> (project--remember-dir dir nil (project-current nil dir)) >> in place of the current call in project-switch-project? > > Hm yeah, I suppose that would be okay: project-switch-project is not > required to be very fast, and project search often uses cache. > > And when the project value is available, the call to be made to > project-remember-project instead - this one could do the filtering as > well. So no need to add new arg to project--remember-dir. OK, sounds good to me. WDYT about the patch below? It doesn't exclude projects at the time of saving, but whenever project-remember-project is called. diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 35bf66c9ffb..9904a734e07 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1837,6 +1837,14 @@ project-list-file :version "28.1" :group 'project) =20 +(defcustom project-list-exclude nil + "List of regexps and predicates for project root and objects to ignore. +The predicate should take one argument, the projet object, and should +return non-nil if the project should not be saved." + :type '(repeat (choice regexp function)) + :version "31.1" + :group 'project) + (defvar project--list 'unset "List structure containing root directories of known projects. With some possible metadata (to be decided).") @@ -1902,9 +1910,16 @@ project--remember-dir ;;;###autoload (defun project-remember-project (pr &optional no-write) "Add project PR to the front of the project list. +If project PR satisfies `project-list-exclude', then nothing is done. Save the result in `project-list-file' if the list of projects has changed, and NO-WRITE is nil." - (project--remember-dir (project-root pr) no-write)) + (let ((root (project-root pr))) + (when (or (null project-list-exclude) + (null (seq-some (lambda (r) + (if (functionp r) (funcall r pr) + (string-match-p r root))) + project-list-exclude))) + (project--remember-dir root no-write)))) =20 (defun project--remove-from-project-list (project-root report-message) "Remove directory PROJECT-ROOT of a missing project from the project lis= t. @@ -2274,7 +2289,7 @@ project-switch-project When called in a program, it will use the project corresponding to directory DIR." (interactive (list (funcall project-prompter))) - (project--remember-dir dir) + (project-remember-project (project-current nil dir)) (let ((command (if (symbolp project-switch-commands) project-switch-commands (project--switch-project-command dir))) From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 02 01:41:19 2025 Received: (at 76587) by debbugs.gnu.org; 2 Mar 2025 06:41:19 +0000 Received: from localhost ([127.0.0.1]:51583 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tod0o-0003pu-Lw for submit@debbugs.gnu.org; Sun, 02 Mar 2025 01:41:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47608) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tod0l-0003oy-GA for 76587@debbugs.gnu.org; Sun, 02 Mar 2025 01:41:16 -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 1tod0e-0001gt-K8; Sun, 02 Mar 2025 01:41:08 -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=H5ArO8Y2ZBKj2svKid6OPrhqT+NDzMJ+hPx74tI5vn4=; b=HzcG9l/l/7Y/ DK/xF8qo3FG78uJuqN806F3+oXkEi/gftfel8Aenp97oQ1FEXu2D5B115HPpBiyyiGNSf/nQXs2rL n7uVDPHPrCnWuXoY9I39FkZnjI4CQHI0F0nWZyu//jkbcvu64E5xEHBbhqTKM6breJArBdBhhIpQB wqXHxeBTR+yq5fynOgpdcqmKUmbZ4T8dUBvY4pAPlkfg80BJBILX6HMEEcfkKrbgZedaZW0O9DJik 9d9ZdtKEeKzDI2hnVTFZNYOw5Qf4C9lczOdJVrHPQHT5z8ll2Kcj7fesOzYiRqryw6ZVZ5gudwuMV xlt32EqaIJ9TEwt17Tds8A==; Date: Sun, 02 Mar 2025 08:41:04 +0200 Message-Id: <86ldtonddr.fsf@gnu.org> From: Eli Zaretskii To: Visuwesh In-Reply-To: <877c589hoh.fsf@gmail.com> (message from Visuwesh on Sun, 02 Mar 2025 10:01:58 +0530) Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> <877c589hoh.fsf@gmail.com> X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: 76587 Cc: dmitry@gutov.dev, 76587@debbugs.gnu.org, juri@linkov.net 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: -2.6 (--) > Cc: 76587@debbugs.gnu.org, Juri Linkov > From: Visuwesh > Date: Sun, 02 Mar 2025 10:01:58 +0530 > > +(defcustom project-list-exclude nil > + "List of regexps and predicates for project root and objects to ignore. > +The predicate should take one argument, the projet object, and should > +return non-nil if the project should not be saved." The first line of the doc string says "to ignore", and the name of the variable (*-exclude) also hints to that effect, but the rest of the doc strings seems to tell that the matching projects are only "ignored" in the sense that they "should not be saved"? Moreover, the code seems to imply that those projects are being ignored by project-remember-project, which the doc string doesn't mention at all? Can we make the variable name and the first line of the doc string more consistent with the actual meaning of this variable, and mention the functions that use it in the doc string? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 02 19:06:20 2025 Received: (at 76587) by debbugs.gnu.org; 3 Mar 2025 00:06:20 +0000 Received: from localhost ([127.0.0.1]:39280 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1totK8-0006A7-2k for submit@debbugs.gnu.org; Sun, 02 Mar 2025 19:06:20 -0500 Received: from fout-b7-smtp.messagingengine.com ([202.12.124.150]:43421) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1totK5-00069c-Ki for 76587@debbugs.gnu.org; Sun, 02 Mar 2025 19:06:18 -0500 Received: from phl-compute-11.internal (phl-compute-11.phl.internal [10.202.2.51]) by mailfout.stl.internal (Postfix) with ESMTP id CB581114010F; Sun, 2 Mar 2025 19:06:11 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-11.internal (MEProxy); Sun, 02 Mar 2025 19:06:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1740960371; x=1741046771; bh=pJpmQADzCVBF5FDYTj4mfLfAU5dtARZc3C3na3VnDiw=; b= wIqZ/8wWst7vshmONdmSQbhioft7LuctVQ0d0tbFrzJeEmKOMj+Qtz8HTQQ9XBCi wjeIfg/R9YhrdSf9b9Sc6GKaSVjog3e2MxPNH5/uBss8sGtiw3oSHuWpacM6ciWl jEHhx2jAyWV2EZoT/S/0xjHCAdUbiOXN9FaSs4RDPpLOFNb+OvfqayzPeiJlHAWK LKHHtXyYTjUmVd8wG8EXLMpFcW5n7V2T21tYw05+3y8jZrM4+ELYDbxRlUt3XacF 4Qck9I95mz7JFe9vWTGzjCM+pK7D390BdLbtiDdL9D4ET0+RnEiASyqJ0rtk/7zy SZVZ7liXDAZhgPF1x2QZ5g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1740960371; x= 1741046771; bh=pJpmQADzCVBF5FDYTj4mfLfAU5dtARZc3C3na3VnDiw=; b=Q 4Yo/UzRY5Kzuu1uh7tRTcLgfEHyKdVyrrdISqMSpwQiejrvG2Ictjktbie/QiS4w 70xlQEIbvrYIlG5+h8kElVtQD9KayJRpvdZ7VGxe/aS2d7y2N4LDMoCMzI0QRAnT 54fGxetlxq7g2HogEdOpGMQycilQhWboxkT13/OcOOJ8mb47HeGqaqcsgT9cgI5T Lw2kiZkYo/pG3Ihh18hmZ/7QH/6310Goy6Qhb13cMkNVJj/cSVFzHNcPtpn8E+Bp l+IJi5YZdirmEqMprTkB/RqYrGhyygMdy069mWye4p+QrLLZb7FZIpk2omwy+cZx DJPzpbz/LKjjz2w3xrV0Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeljeeiudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddv jeenucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrd guvghvqeenucggtffrrghtthgvrhhnpeetudeljeegheetgfehgeejkeeuhedvveeikeeu fedtvddtveefhfdvveegudejheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh epmhgrihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthht ohepfedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepvhhishhufigvshhhmhesgh hmrghilhdrtghomhdprhgtphhtthhopehjuhhriheslhhinhhkohhvrdhnvghtpdhrtghp thhtohepjeeiheekjeesuggvsggsuhhgshdrghhnuhdrohhrgh X-ME-Proxy: Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 2 Mar 2025 19:06:10 -0500 (EST) Message-ID: <89fe2637-7c3b-48b4-ae82-e9a1ce51598f@gutov.dev> Date: Mon, 3 Mar 2025 02:06:07 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved To: Visuwesh References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> <877c589hoh.fsf@gmail.com> Content-Language: en-US From: Dmitry Gutov In-Reply-To: <877c589hoh.fsf@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76587 Cc: 76587@debbugs.gnu.org, Juri Linkov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 02/03/2025 06:31, Visuwesh wrote: > +return non-nil if the project should not be saved." "should not be remembered", perhaps. Neither adding it to the var (storing in memory), nor saving the result to disk. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 03 03:28:00 2025 Received: (at 76587) by debbugs.gnu.org; 3 Mar 2025 08:28:00 +0000 Received: from localhost ([127.0.0.1]:44274 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tp19c-0002dB-0Z for submit@debbugs.gnu.org; Mon, 03 Mar 2025 03:28:00 -0500 Received: from mail-pj1-x1044.google.com ([2607:f8b0:4864:20::1044]:57379) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tp19Y-0002cx-9B for 76587@debbugs.gnu.org; Mon, 03 Mar 2025 03:27:58 -0500 Received: by mail-pj1-x1044.google.com with SMTP id 98e67ed59e1d1-2f9b91dff71so6535284a91.2 for <76587@debbugs.gnu.org>; Mon, 03 Mar 2025 00:27:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740990470; x=1741595270; 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=Yw6qKkQBxAQMhEdbQs6/nbKVVUPT9jwNAXJ5rqbbSXA=; b=L3pbG3AEJjO6jecm/FcPa1yECSp95VWDwg6fZQJ+uA5m3LFfKZHoS9ZcDo27h0iPPs Y6pKbwPepUw87E6wbZhW77VdWkGVlQ3hAtFctUjeTcXxVQgqybx6rEDqXF6UVRtOmAPT leI28oPSh/B+L9Rxf0TkwtLnsNScE4n5kbWAJHwz8To6lFzzHy0BQHm8o3Cb2dSyrtVH cnL4fSm3ITAA0RC+kapL5XjjSSTeCCBGA/95KHE2EMzeITW3FcLuCK421tcMq5n3ctoI h4O0EM6lkpc0Ok2C2ZEv6QJ1eV0HLG/6jekg/XwraKYLVCvG4x4zOC367uTLkK17XKEA Ro5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740990470; x=1741595270; 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=Yw6qKkQBxAQMhEdbQs6/nbKVVUPT9jwNAXJ5rqbbSXA=; b=GV9H4BKmtmQ/qknBF9QgvvLPAwz/Hhea4hyZ4SFQmR89qlUgKQeHvVZWthHYTxzWu0 hCHPAhqHaT4fepveFQpOK6Ax3W1dy+FwJ4W8G0Dyp7a5AAuAR9wZGC2G8YKUmMeSXSnh VsoCaovrupvda5aUnsJJ4MMYfpy+ZiUPGC7RwON15fHabGYxBLo/jJXAITfnhdsgwWbB XQ79fSp4lV9SH9gRRRy58kRjOA9czFR7ofPAMCWOfPeHznqQDKKGDGOVx5ghFn+Q7oRW nHKj/t/uoZpu48J10f9woj3F9EuqHultE5kkgcmE226w4NVagWDlPMoRe58sYbEGhFtQ cHLA== X-Forwarded-Encrypted: i=1; AJvYcCWysF2JREkrTapj0zBkNGlqrt0AlOfBXSEC4u8imaVN/r3Sl06kHWVSLCutufZ7pOrhVO09RQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yw3fVS3OE6hktwGlffFTtwPTIrwnUFQWNxofThd7keAz1E4AZX8 WEmOELx0GmvVAShmFEqkQawQluKLe8keYPIJJqZbVAjBe+OCBpdc X-Gm-Gg: ASbGncsldmb7udVu6cxs6ZrzwTjFMaExcU30rUkhQO+jQfVfF7QjbuxzCLgSp+jbmxW Qz+q6ytVT05XvjfE6RnDuikda8DJctpsFVO6eEaPKwyyvbzBdq8flQXanYXLfW9BhWUEsfK3til diikd+jv0YsWNkWwdTsM7Rz8FBElLe8aBIaKT/dlvXCch0mEfSwrrg40e2vqdxGkP/drITL8XdW Gq0qckvRag+uYYYzmwK9HZHJ7514k/29Koum5rWNMCsDl2Hx7vcdrj1Rm5H9hqfGRmLk+6H3EwT p1ge7LFAyDa021sGK7eV95lKJGQFkCCLVfC9GBTa2KBc3A== X-Google-Smtp-Source: AGHT+IGtTEvKuvMpWqr3Mef6Q4oK3YC8WJJwm9w/QjoTMoxhOSx8LNIL2MzaNn7ZIMDCm/duc0JJYw== X-Received: by 2002:a17:90b:38c9:b0:2fa:229f:d036 with SMTP id 98e67ed59e1d1-2febac08625mr18405807a91.30.1740990469852; Mon, 03 Mar 2025 00:27:49 -0800 (PST) Received: from localhost ([1.7.159.71]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-22350509f0asm72646655ad.195.2025.03.03.00.27.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Mar 2025 00:27:49 -0800 (PST) From: Visuwesh To: Dmitry Gutov Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved In-Reply-To: <89fe2637-7c3b-48b4-ae82-e9a1ce51598f@gutov.dev> References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> <877c589hoh.fsf@gmail.com> <89fe2637-7c3b-48b4-ae82-e9a1ce51598f@gutov.dev> Date: Mon, 03 Mar 2025 13:57:45 +0530 Message-ID: <87v7sq8qny.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 4.3 (++++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: [திங்கள் மார்ச் 03, 2025] Dmitry Gutov wrote: > On 02/03/2025 06:31, Visuwesh wrote: >> +return non-nil if the project should not be saved." > > "should not be remembered", perhaps. Neither adding it to the var > (storing in memory), nor saving t [...] Content analysis details: (4.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [1.7.159.71 listed in zen.spamhaus.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (visuweshm[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:1044 listed in] [list.dnswl.org] 0.1 URIBL_SBL_A Contains URL's A record listed in the Spamhaus SBL blocklist [URIs: linkov.net] 0.6 URIBL_SBL Contains an URL's NS IP listed in the Spamhaus SBL blocklist [URIs: linkov.net] X-Debbugs-Envelope-To: 76587 Cc: 76587@debbugs.gnu.org, Juri Linkov 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 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: [திங்கள் மார்ச் 03, 2025] Dmitry Gutov wrote: > On 02/03/2025 06:31, Visuwesh wrote: >> +return non-nil if the project should not be saved." > > "should not be remembered", perhaps. Neither adding it to the var > (storing in memory), nor saving t [...] Content analysis details: (3.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:1044 listed in] [list.dnswl.org] 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [1.7.159.71 listed in zen.spamhaus.org] 0.1 URIBL_SBL_A Contains URL's A record listed in the Spamhaus SBL blocklist [URIs: linkov.net] 0.6 URIBL_SBL Contains an URL's NS IP listed in the Spamhaus SBL blocklist [URIs: linkov.net] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (visuweshm[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable [=E0=AE=A4=E0=AE=BF=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE=AE= =E0=AE=BE=E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 03, 2025] Dmitry Gutov wrote: > On 02/03/2025 06:31, Visuwesh wrote: >> +return non-nil if the project should not be saved." > > "should not be remembered", perhaps. Neither adding it to the var > (storing in memory), nor saving the result to disk. Thanks, I went with this. [=E0=AE=9E=E0=AE=BE=E0=AE=AF=E0=AE=BF=E0=AE=B1=E0=AF=81 =E0=AE=AE=E0=AE=BE= =E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 02, 2025] Eli Zaretskii wrote: >> Cc: 76587@debbugs.gnu.org, Juri Linkov >> From: Visuwesh >> Date: Sun, 02 Mar 2025 10:01:58 +0530 >>=20 >> +(defcustom project-list-exclude nil >> + "List of regexps and predicates for project root and objects to ignor= e. >> +The predicate should take one argument, the projet object, and should >> +return non-nil if the project should not be saved." > > The first line of the doc string says "to ignore", and the name of the > variable (*-exclude) also hints to that effect, but the rest of the > doc strings seems to tell that the matching projects are only > "ignored" in the sense that they "should not be saved"? Moreover, the > code seems to imply that those projects are being ignored by > project-remember-project, which the doc string doesn't mention at all? > Can we make the variable name and the first line of the doc string > more consistent with the actual meaning of this variable, and mention > the functions that use it in the doc string? I've now tried to make this clearer. I don't know what a better name for the user option could be. I also updated the manual to mention this user option, and announced the change in NEWS in the attached. --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Add-new-user-option-to-ignore-projects-from-being-sa.patch >From 375ed6b2a972b18359407e6ed0a80e2b7dedb74b Mon Sep 17 00:00:00 2001 From: Visuwesh Date: Mon, 3 Mar 2025 13:56:04 +0530 Subject: [PATCH] Add new user option to ignore projects from being saved * lisp/progmodes/project.el (project-list-exclude): Add new user option to exclude projects from being remembers. (project-remember-project): Consider the user option above. (project-switch-project): Use 'project-remember-project' instead. * doc/emacs/maintaining.texi (Managing Projects): Mention the new user option. * etc/NEWS: Announce the change. (Bug#76587) --- doc/emacs/maintaining.texi | 9 +++++++++ etc/NEWS | 7 +++++++ lisp/progmodes/project.el | 21 +++++++++++++++++++-- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index dc61cb008fa..84f5382e20a 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -2041,6 +2041,15 @@ Managing Projects prompts you to choose one of the available projects, and then removes it from the file. +@vindex project-list-exclude + The user option @code{project-list-exclude} may be set to always +ignore certain projects from being remembered, and saved to +@code{project-list-file}. It is a list of regexps and predicates for +project roots and objects. The regexp specified is matched against the +project root, and the predicate should take the project object as the +only argument and should return non-@code{nil} if the project should not +be saved to @code{project-list-file}. + @node Change Log @section Change Logs diff --git a/etc/NEWS b/etc/NEWS index 6ae648ab8cf..423ffd82947 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -335,6 +335,13 @@ It can be used when switching between projects with similar file trees (such as Git worktrees of the same repository). It supports being invoked standalone or from the 'project-switch-commands' dispatch menu. ++++ +*** New user option 'project-list-exclude'. +This user option lists projects that should be ignored by +'project-remember-project' always. + +*** + ** Registers *** New functions 'buffer-to-register' and 'file-to-register'. diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 35bf66c9ffb..f93d0051cd3 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1837,6 +1837,16 @@ project-list-file :version "28.1" :group 'project) +(defcustom project-list-exclude nil + "Exclude projects from being remembered by `project-remember-project'. +It should be a list of regexps and predicates for project roots and +objects to always exclude from being remembered. The predicate should +take one argument, the project object, and should return non-nil if the +project should not be remembered." + :type '(repeat (choice regexp function)) + :version "31.1" + :group 'project) + (defvar project--list 'unset "List structure containing root directories of known projects. With some possible metadata (to be decided).") @@ -1902,9 +1912,16 @@ project--remember-dir ;;;###autoload (defun project-remember-project (pr &optional no-write) "Add project PR to the front of the project list. +If project PR satisfies `project-list-exclude', then nothing is done. Save the result in `project-list-file' if the list of projects has changed, and NO-WRITE is nil." - (project--remember-dir (project-root pr) no-write)) + (let ((root (project-root pr))) + (when (or (null project-list-exclude) + (null (seq-some (lambda (r) + (if (functionp r) (funcall r pr) + (string-match-p r root))) + project-list-exclude))) + (project--remember-dir root no-write)))) (defun project--remove-from-project-list (project-root report-message) "Remove directory PROJECT-ROOT of a missing project from the project list. @@ -2274,7 +2291,7 @@ project-switch-project When called in a program, it will use the project corresponding to directory DIR." (interactive (list (funcall project-prompter))) - (project--remember-dir dir) + (project-remember-project (project-current nil dir)) (let ((command (if (symbolp project-switch-commands) project-switch-commands (project--switch-project-command dir))) -- 2.47.2 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 03 03:56:35 2025 Received: (at submit) by debbugs.gnu.org; 3 Mar 2025 08:56:35 +0000 Received: from localhost ([127.0.0.1]:44466 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tp1bG-0004pL-Nr for submit@debbugs.gnu.org; Mon, 03 Mar 2025 03:56:34 -0500 Received: from lists.gnu.org ([2001:470:142::17]:54052) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tp1bD-0004ok-Ey for submit@debbugs.gnu.org; Mon, 03 Mar 2025 03:56:32 -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 1tp1b7-0003TL-Im for bug-gnu-emacs@gnu.org; Mon, 03 Mar 2025 03:56:25 -0500 Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tp1b4-0002t2-GC for bug-gnu-emacs@gnu.org; Mon, 03 Mar 2025 03:56:25 -0500 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1tp1b0-0001mF-Sc for bug-gnu-emacs@gnu.org; Mon, 03 Mar 2025 09:56:18 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@gnu.org From: Rudolf Schlatte Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved Date: Mon, 03 Mar 2025 09:56:13 +0100 Message-ID: References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> <877c589hoh.fsf@gmail.com> <89fe2637-7c3b-48b4-ae82-e9a1ce51598f@gutov.dev> <87v7sq8qny.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:DCCl24C6gSHQvD7dLTThJeWxd4c= Received-SPF: pass client-ip=116.202.254.214; envelope-from=geb-bug-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.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: -1.0 (-) Visuwesh writes: > [திங்கள் மார்ச் 03, 2025] Dmitry Gutov wrote: > >> On 02/03/2025 06:31, Visuwesh wrote: >>> +return non-nil if the project should not be saved." >> >> "should not be remembered", perhaps. Neither adding it to the var >> (storing in memory), nor saving the result to disk. > > Thanks, I went with this. "return nil if the project should be remembered" maybe? Always good to eliminate a double negative :) From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 03 07:47:08 2025 Received: (at 76587) by debbugs.gnu.org; 3 Mar 2025 12:47:08 +0000 Received: from localhost ([127.0.0.1]:45859 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tp5CN-0007lg-VH for submit@debbugs.gnu.org; Mon, 03 Mar 2025 07:47:08 -0500 Received: from mail-ua1-x92e.google.com ([2607:f8b0:4864:20::92e]:58678) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tp5CL-0007kp-Qw for 76587@debbugs.gnu.org; Mon, 03 Mar 2025 07:47:06 -0500 Received: by mail-ua1-x92e.google.com with SMTP id a1e0cc1a2514c-866de72bb82so1889829241.1 for <76587@debbugs.gnu.org>; Mon, 03 Mar 2025 04:47:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741006020; x=1741610820; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=BekMCdkpq0pM5hvsMyVpPNTIzkLY5ugJ5DH9R8/dres=; b=GunKzK4fJWNtFoiLiDzMyL9HEqacOK25cMq+cnPMiGjsRfHfVNTikc6NqSEvOBg1bw DxM3ek34MilRaMc94jFA7oqtg9birErpF0Gt1QVlI5qvv/FjfCWfzA22QC3umAyJwDmm iemH5viBWsVE79QEl7RU/siCENrh5ywi9SYcCj9m8oADu1wVMt/kNFlYLwNox1pkUjUX g4uTzK1Jgj8JwOicSvPpd24n/3+xaVRI6DA0gRUYWPb6BDBZFFlM2kCAAv5iEmWhV8P5 ceoogr9dpsmiCXIWgpt1Uuo14e80U3rc5S6pxEgctaD4IjaqqsMqSl+Sh6xFO3UpN+X+ MbUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741006020; x=1741610820; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=BekMCdkpq0pM5hvsMyVpPNTIzkLY5ugJ5DH9R8/dres=; b=HBqon1TVNP9PPXbb9snKx74GR8ukpPe1djCDpiZRBvYAavoPUB4Vt+bbtnVHwmmm5v OK4fGFV/ygGlvaiBPOjCT3SNecNNRGei3vYJWar0ZfQ3JUknoXJKALU7MGaSrGAj5Fmt VYgzcwvZ2ugZGzE3TtVxltuVtZonYjBk9VXcORD5V2e3YYQawfTXLaIS4N2WmPXPr8n+ Qqn758FCpxuRjE59N6geb7/JJ/0K05eBteuhokYRfrOXxlFjC9b9vH23AVbwZpEbA25b K0PcNexjKwNNPZEcbMA3DwO9JwJaMZpa4EGwp/MPrSIzemMUQ1xZf01PsNSo5yAPLzlV YU8g== X-Forwarded-Encrypted: i=1; AJvYcCUeTwlDpq4v7qLTOkITz4HpYqbeef1JNseEuqEQ2KfXq7hHFxm3GJRDQsn+EX31GowuxQLFoQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yyr7LEMV3tFbH3AaFIfdApqLrUwLiArGyOS8g0xd4aPhB8Ze2fd Se6mXgR64mHO8gT4XR2IQLwzByGp6WNdekZn0qJijKv+7xIVtS3//LY3dFCzGhbluz2MtSSjDPG 5lBHG8P624554nfaNvdx3DTDWa8OsrA== X-Gm-Gg: ASbGncukawm1s2d2ua4HBuV9gt+6Wc8AoJE6prxb+vhM24WLSP5FwyzrxJViE6Y/ITn /fWvCNH1dhjjkdWVcd/OhWY48y36rCWQPuhrOpBtrn/Hxg+IrZh+uRabOI8PqFDjAJZaQRMrK7W 4kWLjytdjiPcgin7Ie0YHocddhjw== X-Google-Smtp-Source: AGHT+IH+K75Hw6dv9V4ChMJ4vsdwLGxbtVyDxFJnGDjngUbc8BxGiBTu/5KXzvklAWj5tMQtQRv8o7oW3j0q40qbygk= X-Received: by 2002:a05:6102:800e:b0:4c1:9cb2:8389 with SMTP id ada2fe7eead31-4c19cb2999cmr1474317137.2.1741006019905; Mon, 03 Mar 2025 04:46:59 -0800 (PST) MIME-Version: 1.0 References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> <877c589hoh.fsf@gmail.com> <89fe2637-7c3b-48b4-ae82-e9a1ce51598f@gutov.dev> <87v7sq8qny.fsf@gmail.com> In-Reply-To: <87v7sq8qny.fsf@gmail.com> From: Ship Mints Date: Mon, 3 Mar 2025 07:46:48 -0500 X-Gm-Features: AQ5f1Jq4uFUN9YAlcHnN8sowa9TzUjnnPfK5gahKGLMnMoc34L3I1MpD91KOUhE Message-ID: Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved To: Visuwesh Content-Type: multipart/alternative; boundary="0000000000005e4fc1062f6f8d46" X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 76587 Cc: Dmitry Gutov , 76587@debbugs.gnu.org, Juri Linkov 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.3 (/) --0000000000005e4fc1062f6f8d46 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Mar 3, 2025 at 3:28=E2=80=AFAM Visuwesh wrote= : > [=E0=AE=A4=E0=AE=BF=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE= =AE=E0=AE=BE=E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 03, 2025] Dmitry Gutov wro= te: > > > On 02/03/2025 06:31, Visuwesh wrote: > >> +return non-nil if the project should not be saved." > > > > "should not be remembered", perhaps. Neither adding it to the var > > (storing in memory), nor saving the result to disk. > > Thanks, I went with this. > > [=E0=AE=9E=E0=AE=BE=E0=AE=AF=E0=AE=BF=E0=AE=B1=E0=AF=81 =E0=AE=AE=E0=AE= =BE=E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 02, 2025] Eli Zaretskii wrote: > > >> Cc: 76587@debbugs.gnu.org, Juri Linkov > >> From: Visuwesh > >> Date: Sun, 02 Mar 2025 10:01:58 +0530 > >> > >> +(defcustom project-list-exclude nil > >> + "List of regexps and predicates for project root and objects to > ignore. > >> +The predicate should take one argument, the projet object, and should > >> +return non-nil if the project should not be saved." > Is it more like project-list-inhibit-remember? Will the project still be in the in-memory list but just not written to the project list file? --0000000000005e4fc1062f6f8d46 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Mon, Mar 3, 2025 at 3:28=E2=80=AFAM Visuwesh <visuweshm@gmail.com> wrote:
[=E0=AE=A4=E0=AE=BF=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=B3= =E0=AF=8D =E0=AE=AE=E0=AE=BE=E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 03, 2025] = Dmitry Gutov wrote:

> On 02/03/2025 06:31, Visuwesh wrote:
>> +return non-nil if the project should not be saved."
>
> "should not be remembered", perhaps. Neither adding it to th= e var
> (storing in memory), nor saving the result to disk.

Thanks, I went with this.

[=E0=AE=9E=E0=AE=BE=E0=AE=AF=E0=AE=BF=E0=AE=B1=E0=AF=81 =E0=AE=AE=E0=AE=BE= =E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 02, 2025] Eli Zaretskii wrote:

>> Cc: 765= 87@debbugs.gnu.org, Juri Linkov <juri@linkov.net>
>> From: Visuwesh <visuweshm@gmail.com>
>> Date: Sun, 02 Mar 2025 10:01:58 +0530
>>
>> +(defcustom project-list-exclude nil
>> +=C2=A0 "List of regexps and predicates for project root and = objects to ignore.
>> +The predicate should take one argument, the projet object, and sh= ould
>> +return non-nil if the project should not be saved."

Is it more like project-list-inhibit-remember?=C2=A0 Will the proj= ect still be in the in-memory list but just not written to the project list= file?
--0000000000005e4fc1062f6f8d46-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 03 08:10:59 2025 Received: (at 76587) by debbugs.gnu.org; 3 Mar 2025 13:11:00 +0000 Received: from localhost ([127.0.0.1]:46094 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tp5ZT-0000uv-4g for submit@debbugs.gnu.org; Mon, 03 Mar 2025 08:10:59 -0500 Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]:45504) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tp5ZQ-0000uM-Jq for 76587@debbugs.gnu.org; Mon, 03 Mar 2025 08:10:56 -0500 Received: by mail-pl1-x643.google.com with SMTP id d9443c01a7336-22355618fd9so72168665ad.3 for <76587@debbugs.gnu.org>; Mon, 03 Mar 2025 05:10:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741007450; x=1741612250; 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=nBLF5l9WPQjKNMUM98sQcmYw19QR3wMUuCxarC8YGhE=; b=jROgPQetwJUWZZmlE1Zr+JJhNJNZi5KIjeZzFiK3s+G1gMxV4UARnh+vk1ZL/k5vwF 5za9lvi31hiM7KrH6ZcxQ8GN8UFvhXcsSy6/l5GlGSBMnqwU0lGQ3tByRWrrWEHUd+x/ MZm1x5t8VEokPnCAFh3nVeVWOGZrbC7TRNEHTscSovI452s7u9dcsGBXLslBk4BAqR+I hD4OVu1/BlXPWvM5SSrWgjril2BlUM/Z1QPiUhtjvE+h2fgHsxnY7CWXCjOL8ihfFw43 Flf6BZgrBFwqLxwncmuf2yHlp/NEe++XuAD0rRugf+rpvprkRLIN4thmlzlu1wlG7XGs BytA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741007450; x=1741612250; 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=nBLF5l9WPQjKNMUM98sQcmYw19QR3wMUuCxarC8YGhE=; b=WOglTKLTC83xEK2LxL9d2IVbPgYZ65w8fbzGQSAFtsPzXvyf2thTmMgyk8JOrOtK8g MflK/5r9rSyh0LJptp7OxR/k/UVd2acTZSPShE0RDVrGFn7Y/hk1pAX94myDRksf3zsW MCkxr66Q3sKWi5B0HX5eBqJqWBAfxqhe4JN53XXTEDlkIPqlXfQcrwvyn5W+Fn4m0znK kkWJZT46LSkfwd3cFZDWkCwHG4f+FjsN0jsseKz5hGpZBQT13YSfbtf52vCPfr8xte7V 0U7R/9U6ui+PHHLKRWyZGpKi/W63CrsDmRyKSnfkk9sWxXfrIGgBlQof7LlzxjkY+Wdb fvzQ== X-Forwarded-Encrypted: i=1; AJvYcCXAicry+Jq1TnSeE/957yV0OhjFlXwHZ80Ht5s0UAAlOBddI84XzuxitZatrW/81LQw0tii4w==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwAub0mcQUpoBT3v1cvVbsgpf06q1y6CnnWn1SvcqWW2dydG9Go GpbKAEIG4DQ1k3SPWIUL9NpzuAKqkPuNi7kJjGMN+yGzq1D5+fZb X-Gm-Gg: ASbGncuFenaiLl9DCP56SRDvzRosLcjcQ4X4wjmk8dAxYUhgTBhQlBdy9Z9wJ9EZUAE Ph3P2bmyjNiFaabPfFuIqZTB7mmLNnP5mO3UnSh/j2RF8sJOWsUhVUDHYyglB2kH2zNvx+S4q/k 3yz8MKqMfwPEQ1iTlAqWGEXtNpEeU1inMA/KtM/l38TVyaT9iqJQzveom0yMuDXMx04axxBciwH lB/2AgKW10VL17QSaQSxopEpHXbbfQZBbhA3h17q7gYdTUC6Jd0b7Y9Zl3eqvIk0vZhqwTcYIWv zindOZGJjzEjLtan1ViqmZhL6Z7SwF5I6qZ63pvfsw== X-Google-Smtp-Source: AGHT+IFUdzFAV+2JeCxTtYT1c91bKbHz6N6UjCCqRxCTVSC47AH6gDirYyn/yBUpJqPgC4ULGaDdZQ== X-Received: by 2002:a17:902:d48c:b0:21a:8300:b9ce with SMTP id d9443c01a7336-2236926a62emr240891775ad.49.1741007450366; Mon, 03 Mar 2025 05:10:50 -0800 (PST) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-2235050fca1sm77407535ad.211.2025.03.03.05.10.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Mar 2025 05:10:49 -0800 (PST) From: Visuwesh To: Ship Mints Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved In-Reply-To: References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> <877c589hoh.fsf@gmail.com> <89fe2637-7c3b-48b4-ae82-e9a1ce51598f@gutov.dev> <87v7sq8qny.fsf@gmail.com> Date: Mon, 03 Mar 2025 18:40:46 +0530 Message-ID: <87mse28dk9.fsf@gmail.com> 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: 76587 Cc: Dmitry Gutov , 76587@debbugs.gnu.org, Juri Linkov 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 (-) [=E0=AE=A4=E0=AE=BF=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE=AE= =E0=AE=BE=E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 03, 2025] Ship Mints wrote: >> >> +(defcustom project-list-exclude nil >> >> + "List of regexps and predicates for project root and objects to >> ignore. >> >> +The predicate should take one argument, the projet object, and should >> >> +return non-nil if the project should not be saved." >> > > Is it more like project-list-inhibit-remember? Sorry, I don't understand what you mean. > Will the project still be in the in-memory list but just not written > to the project list file? No, the project will never be added to project--list. The defcustom is respected by project-remember-project in the latest few patches. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 03 08:13:39 2025 Received: (at 76587) by debbugs.gnu.org; 3 Mar 2025 13:13:39 +0000 Received: from localhost ([127.0.0.1]:46123 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tp5c3-00017k-1Q for submit@debbugs.gnu.org; Mon, 03 Mar 2025 08:13:39 -0500 Received: from mail-ua1-x92f.google.com ([2607:f8b0:4864:20::92f]:47423) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tp5c0-00016r-KZ for 76587@debbugs.gnu.org; Mon, 03 Mar 2025 08:13:37 -0500 Received: by mail-ua1-x92f.google.com with SMTP id a1e0cc1a2514c-86b6135faa0so1645594241.3 for <76587@debbugs.gnu.org>; Mon, 03 Mar 2025 05:13:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741007610; x=1741612410; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=qCfIXCak/tZHuhTSlbOx9kOCM88N+RuL/iCjybZxnvw=; b=lW9TIR8IC13cgi5uq3IO6C/+uud9Upk1c7OE+VYVwX/o3uhm8nLRsjES67YCiqAPgC brKcmhsnUlTJX08p+4XYchogHfNLiRd2/lgZkyiipXIlmKj7Gg65VbhhQVrWPNfF0fyu wgm6QvIXImH+KYrjQGJjzcuwQkeU1UsiubSWG0eIUobGzhPX84T4GPJ9h5qkvLBmm58l CbWeVtWW+/FKZXrFgURmqQAY2iVFGn9vqdghQFXm2V3k456ld7GpM6Fgg1OJDXEGkRAF p4xS6l5frZk7y4jQOOBG/lLEoAapu3HrC3xj1PnYenYK4G05szEGrEZrsYwhmJdCwiWg Ec2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741007610; x=1741612410; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=qCfIXCak/tZHuhTSlbOx9kOCM88N+RuL/iCjybZxnvw=; b=Ae6Q5m5+NczmgTCoHrJXjg5nx/eGJYjINjwGLScGkt1BVHqhS00tpUey1Ydyz7gOiV qb5jVeofr9RSchRFAQAGEX3E3DN65r7P2AtPJIzAZzvSPw8k9JuiDmKPOlVl1zMkZmu2 LmUrpjJ3jLe3KCcvRIj2NzVUgXXvMAsqWeCnWdhGY81wXVglP2w2D+tnspWYVY6+C4rt tImfnOh7kHF0O3Fjzjus0Zj1K9gwh1uGZmA5Xonam19/3Qw/K6Srpe++T4TiFt0W89J+ 2Wvd6QicDxVUIMpIm9kHuLSBMSEf0LKokKi4NjKH9NsmmiGvWQLinfNPTS3tVLQaLDHj yEpw== X-Forwarded-Encrypted: i=1; AJvYcCXQPH0j6Ga5pFuxrCCsyL7ZBGO+HyPMaPpbVH0V8rXwh86yx0o1qcg6bi/sq24YHFQK/P3GaA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzCqTiNqxc2R+P1uN9zZ78apGHO+0BSoy5sQNLP8TGBG4+mpVuq 3zMDhK/z6HscfwF/IZ12VXo57GquEr3L5Yzcx2WSD6N60f+pToZXUwvFIDcfKvJvv9sR9r0AxOC FujbBTiQ6If2cs4Lz2JFD2460o4s= X-Gm-Gg: ASbGncvys4NfDLjIu3GBnKp+xnBwVxB45eE06E4Ln+5I7WprW46W0JYnXTijP6EMFpH MJauEgBjoFw3yWFHJkMJ0iZAio2etQbNjx8SAK3FvVYIXQdq8BATZ2X/VSND7n4TbKs+3iUUK1L ikICxbXluN2v3oNRWBPnpeqrhY+w== X-Google-Smtp-Source: AGHT+IETALu0SOute9RrNmWnwZVm21fZ+qpYlYDSJILh1HDM/oiXg8rSJ7/OFbBQhXA59P4vIOe7RFQ9CIRqM0KnhvE= X-Received: by 2002:a05:6102:441e:b0:4bb:cbbc:38 with SMTP id ada2fe7eead31-4c0448836e4mr7743504137.5.1741007610545; Mon, 03 Mar 2025 05:13:30 -0800 (PST) MIME-Version: 1.0 References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> <877c589hoh.fsf@gmail.com> <89fe2637-7c3b-48b4-ae82-e9a1ce51598f@gutov.dev> <87v7sq8qny.fsf@gmail.com> <87mse28dk9.fsf@gmail.com> In-Reply-To: <87mse28dk9.fsf@gmail.com> From: Ship Mints Date: Mon, 3 Mar 2025 08:13:19 -0500 X-Gm-Features: AQ5f1JqyZON862MKBd9H54lUSzPTrujJN4Hd0o4MSpjyDYBBrc7OeQzxHdEqzDk Message-ID: Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved To: Visuwesh Content-Type: multipart/alternative; boundary="0000000000002d8e48062f6fec17" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76587 Cc: Dmitry Gutov , 76587@debbugs.gnu.org, Juri Linkov 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 (-) --0000000000002d8e48062f6fec17 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Mar 3, 2025 at 8:10=E2=80=AFAM Visuwesh wrote= : > [=E0=AE=A4=E0=AE=BF=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE= =AE=E0=AE=BE=E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 03, 2025] Ship Mints wrote= : > > >> >> +(defcustom project-list-exclude nil > >> >> + "List of regexps and predicates for project root and objects to > >> ignore. > >> >> +The predicate should take one argument, the projet object, and > should > >> >> +return non-nil if the project should not be saved." > >> > > > > Is it more like project-list-inhibit-remember? > > Sorry, I don't understand what you mean. > To be clearer, I was suggesting a name for the exclude defcustom. > Will the project still be in the in-memory list but just not written > > to the project list file? > > No, the project will never be added to project--list. The defcustom is > respected by project-remember-project in the latest few patches. > I see. Worth trying to see how it works. We can always refine as 31 evolves. But I guess project.el is published via ELPA sooner than 31... --0000000000002d8e48062f6fec17 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
= On Mon, Mar 3, 2025 at 8:10=E2=80=AFAM Visuwesh <visuweshm@gmail.com> wrote:
[=E0=AE=A4=E0=AE=BF=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=B3= =E0=AF=8D =E0=AE=AE=E0=AE=BE=E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 03, 2025] = Ship Mints wrote:

>> >> +(defcustom project-list-exclude nil
>> >> +=C2=A0 "List of regexps and predicates for project = root and objects to
>> ignore.
>> >> +The predicate should take one argument, the projet objec= t, and should
>> >> +return non-nil if the project should not be saved."=
>>
>
> Is it more like project-list-inhibit-remember?

Sorry, I don't understand what you mean.

To be cl= earer, I was suggesting a name for the exclude defcustom.
<= br>
> Will the project still be in the in-memory list but just not written > to the project list file?

No, the project will never be added to project--list.=C2=A0 The defcustom i= s
respected by project-remember-project in the latest few patches.

I see.=C2=A0 Worth trying to see how it works.=C2=A0 We can always r= efine as 31 evolves.=C2=A0 But I guess project.el is published via ELPA soo= ner than 31...
--0000000000002d8e48062f6fec17-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 03 12:53:00 2025 Received: (at 76587) by debbugs.gnu.org; 3 Mar 2025 17:53:01 +0000 Received: from localhost ([127.0.0.1]:51331 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tp9yO-0007Xl-LN for submit@debbugs.gnu.org; Mon, 03 Mar 2025 12:53:00 -0500 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:54535) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tp9yM-0007X2-29 for 76587@debbugs.gnu.org; Mon, 03 Mar 2025 12:52:59 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 4C77944120; Mon, 3 Mar 2025 17:52:48 +0000 (UTC) From: Juri Linkov To: Visuwesh Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved In-Reply-To: <877c589hoh.fsf@gmail.com> Organization: LINKOV.NET References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> <877c589hoh.fsf@gmail.com> Date: Mon, 03 Mar 2025 19:30:18 +0200 Message-ID: <87y0xm4ir1.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdelleejjecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefujghofhffkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecuggftrfgrthhtvghrnhepffegteefveelhfeljeefueehieduiedtfffhuddtkeeffffghfevheetgeeukeehnecukfhppeeluddruddvledruddthedruddujeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeluddruddvledruddthedruddujedphhgvlhhopehmrghilhdrghgrnhguihdrnhgvthdpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnsggprhgtphhtthhopeefpdhrtghpthhtohepjeeiheekjeesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopegumhhithhrhiesghhuthhovhdruggvvhdprhgtphhtthhopehvihhsuhifvghshhhmsehgmhgrihhlrdgtohhm X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 76587 Cc: Dmitry Gutov , 76587@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 (-) >> And when the project value is available, the call to be made to >> project-remember-project instead - this one could do the filtering as >> well. So no need to add new arg to project--remember-dir. > > OK, sounds good to me. WDYT about the patch below? It doesn't exclude > projects at the time of saving, but whenever project-remember-project is > called. Thanks, I confirm this works nicely with: (add-to-list 'project-list-exclude (lambda (pr) (eq (car pr) 'transient))) From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 03 22:38:10 2025 Received: (at 76587) by debbugs.gnu.org; 4 Mar 2025 03:38:10 +0000 Received: from localhost ([127.0.0.1]:53890 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tpJ6g-00069q-EC for submit@debbugs.gnu.org; Mon, 03 Mar 2025 22:38:10 -0500 Received: from mail-pj1-x1041.google.com ([2607:f8b0:4864:20::1041]:51683) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tpJ6d-00069N-3z for 76587@debbugs.gnu.org; Mon, 03 Mar 2025 22:38:08 -0500 Received: by mail-pj1-x1041.google.com with SMTP id 98e67ed59e1d1-2fee4d9c2efso3613533a91.3 for <76587@debbugs.gnu.org>; Mon, 03 Mar 2025 19:38:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741059481; x=1741664281; 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=cmyqV94sELECqTluZ/nfQTlewh1DPmcz5lRx2qQ6TXo=; b=KlEH7JdHiT7IVIx4qS9LBIhYzC6y5V+qTILkxkQxIe4bD6HvqKM1tXbg5jKqjn0vNf dXdKKRxbk7XXf5Oinslq7pIToP3tHzUs0FVdHFr/7CQT1oRaAxJUDpGjSEaRQEVQAHeh si/+/opL/+R19bvUW0U3FDCmAPmmremnupT0WnAc/T8cDDsByRCdhtZhPtqrGJJov2J5 Et7RNEUb9fXiS4F2tipaoYcJNkVivB+1FnZxF7soTsY/i0pYoZRqNfgdKOsn7NFJO0D+ 0SsQf1/ov9Lv6IAYkJmd7JKWWb4jQLboq6ikaL4StYjStcho4OAf9I9ISnDOcdHtQ8Yd oeeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741059481; x=1741664281; 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=cmyqV94sELECqTluZ/nfQTlewh1DPmcz5lRx2qQ6TXo=; b=L42mDk0QVFXir65rtTOdlRa1SdEsICaVJnQMQTkzlQrZi4A5Pm7X7hNXR+cIiGbccS bVazwfXI/j8y9aTUPX3mDs80Va9YT59CJEtplHSnrrdVAs3FoZBB6N7AGTMtX8uhCvZC A17tfJ6SmCnqKovHL2RFVv1LahXREUCU3ZFE4eZtemQYc0T6ltB7+SLoFvDDc1e9rkEE +FwWmffXGkl4CO/jcKcjkB+4X8ManIUf4ky7lofiGnRZQl4Pp+QjUjymjAX8WtI36gaJ GS0nldkI9+pZz9thpjiK3XbE/Vf6RQCyHkAjjmrT0JyjaIjPQ+tvvpWzHj2BNBRhG70n WD7g== X-Forwarded-Encrypted: i=1; AJvYcCV7eCDu3Ou25sI+Vst96yJwSc85BgTpWeY2TBuCEnwsC3vHwyYDmXsI8tTuO3ODHosMLlkXCA==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yz9ItFrNvIJ5Fw0FYdTbYclDEZEfiGL3n02uY807ASdKGyeIhoI 2CFOKqPKBKIUI7AbLV7M1HvPaFk8QZ7DaKduTghb7PMRiSKxcY2M X-Gm-Gg: ASbGncsm1FLakFsd4mD6mqJ1lrh0cvZsgNQlZvLMFdfJN9llLojlmx0CAy2SwdlXsym vf9JxTisSyIh4MP15REUerQgWZnvel2DSFQq8w4Rj3dSu2N93ON4jRZnh/Vy0vPIR4zx43Cl01V S2NFfnysevtCJQNOWdjazaJvrDEVDg095TkqF4ofyhZKWECafKagePmTmgnnt0ri6B2o0KU7ggu BsNi4v4Nzbztg5OZvoxat2depmhVFOB+wB3ZIK73nJd1Wnre+4p3es1r4kJ3iDu23SeXgvdn3yi 1+hZkALNwSvgXb/s2BVPOqKQNh4wqVrdHfeg86QP9w== X-Google-Smtp-Source: AGHT+IHQY+h0flbp0ZlX9l9X/wJRv4CoKsPXrRxj541DOKeU7cFvrk3chYam0I8epUpmkfFxv8Xsdg== X-Received: by 2002:a17:90b:48cc:b0:2fe:a336:fe63 with SMTP id 98e67ed59e1d1-2febabdcc33mr27086395a91.24.1741059480803; Mon, 03 Mar 2025 19:38:00 -0800 (PST) Received: from localhost ([115.240.90.130]) by smtp.gmail.com with UTF8SMTPSA id 98e67ed59e1d1-2fe825d2c61sm12024451a91.25.2025.03.03.19.37.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Mar 2025 19:38:00 -0800 (PST) From: Visuwesh To: Juri Linkov Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved In-Reply-To: <87y0xm4ir1.fsf@mail.linkov.net> References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> <877c589hoh.fsf@gmail.com> <87y0xm4ir1.fsf@mail.linkov.net> Date: Tue, 04 Mar 2025 09:07:57 +0530 Message-ID: <875xkp8nze.fsf@gmail.com> 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: 76587 Cc: Dmitry Gutov , 76587@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 (-) [=E0=AE=A4=E0=AE=BF=E0=AE=99=E0=AF=8D=E0=AE=95=E0=AE=B3=E0=AF=8D =E0=AE=AE= =E0=AE=BE=E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 03, 2025] Juri Linkov wrote: >>> And when the project value is available, the call to be made to >>> project-remember-project instead - this one could do the filtering as >>> well. So no need to add new arg to project--remember-dir. >> >> OK, sounds good to me. WDYT about the patch below? It doesn't exclude >> projects at the time of saving, but whenever project-remember-project is >> called. > > Thanks, I confirm this works nicely with: > > (add-to-list 'project-list-exclude (lambda (pr) (eq (car pr) 'transient))) Thanks for testing. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 05 21:52:59 2025 Received: (at 76587-done) by debbugs.gnu.org; 6 Mar 2025 02:52:59 +0000 Received: from localhost ([127.0.0.1]:40627 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tq1M3-0002lW-5z for submit@debbugs.gnu.org; Wed, 05 Mar 2025 21:52:59 -0500 Received: from fout-b5-smtp.messagingengine.com ([202.12.124.148]:46295) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tq1Lz-0002kx-1i for 76587-done@debbugs.gnu.org; Wed, 05 Mar 2025 21:52:56 -0500 Received: from phl-compute-13.internal (phl-compute-13.phl.internal [10.202.2.53]) by mailfout.stl.internal (Postfix) with ESMTP id 59FA811400A1; Wed, 5 Mar 2025 21:52:49 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-13.internal (MEProxy); Wed, 05 Mar 2025 21:52:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1741229569; x=1741315969; bh=BLskDohf4gFnXHUeTix7vAJ6CLL2FMp+HVimF3+4ll0=; b= gi0CVJu0BWvOtPKvORcERluHjUSi/CUG60JVLW7AqXGLtSmUfSpYArpPx7Y2T5ot L8VckIOA+cXZeEjMx6v6SvnDU3vQKmmdyChdTV27WbV5sf97VW7X/coBIs6COOYf tgqlwaYpuRRu82Gs2SrNEBPiDBJvC+1jGrxqxvwq1MHv4i9cHHGufarW5btNHBe3 pVzvV4F1Ownu8d34lsfavjLXWpKq1Bx37uZDVQMuHDRHQqNRxi7mtTcHKUDRTBxb OdWOHZPzd5bNDUhEY3jABySgQPO6hWpowhH5kkN0f911XrBHsNZ/00JkSpULOfly Yrl2IUWizs+dzAMYfKDvTA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1741229569; x= 1741315969; bh=BLskDohf4gFnXHUeTix7vAJ6CLL2FMp+HVimF3+4ll0=; b=u fd7GWsXrslGc/+5s6TKZFHZlaUCb2OTyDSIX5aXfuk4KjxNlAs2+8/7Fkr3Qch1Z 0G0JeKjGZ3TN3t6eFIHIvxkd3AgIxijspL9RIXvWbFLnfJPOrgLY/HT8nxIf3pFU woyLLaVNimMgxKMBwL/ij0tRD4xtyI9wbq3/Xx5UtkQvzbzusFRnWsnc0HufDWqt bb1AEF3jRTCDdYf31byJ3IkkLTPUMqCJXnwoWeqgXvauL0K1/gkO1CY74mPdcz5F mc9KPbM2zE5T00L4k93BKBJLCSQn6aJAsPmBUONHtva8y6Ly8TZeZCKDOonQNsUf mCv74NChKAXPJ66fWrEMQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddutdeiheejucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih gvnhhtshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddt vdejnecuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovh druggvvheqnecuggftrfgrthhtvghrnhepffeifedvleeukedtgfelieegudfgveekfeej veejffetffeuueeugefhveeiuddvnecuffhomhgrihhnpehgnhhurdhorhhgnecuvehluh hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmihhtrhihsehg uhhtohhvrdguvghvpdhnsggprhgtphhtthhopeefpdhmohguvgepshhmthhpohhuthdprh gtphhtthhopehvihhsuhifvghshhhmsehgmhgrihhlrdgtohhmpdhrtghpthhtohepjhhu rhhisehlihhnkhhovhdrnhgvthdprhgtphhtthhopeejieehkeejqdguohhnvgesuggvsg gsuhhgshdrghhnuhdrohhrgh X-ME-Proxy: Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 5 Mar 2025 21:52:47 -0500 (EST) Message-ID: <4b07dd21-172e-48fd-8bb9-01f6b9b2add3@gutov.dev> Date: Thu, 6 Mar 2025 04:52:45 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved To: Visuwesh References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> <877c589hoh.fsf@gmail.com> <89fe2637-7c3b-48b4-ae82-e9a1ce51598f@gutov.dev> <87v7sq8qny.fsf@gmail.com> Content-Language: en-US From: Dmitry Gutov In-Reply-To: <87v7sq8qny.fsf@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 76587-done Cc: 76587-done@debbugs.gnu.org, Juri Linkov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 03/03/2025 10:27, Visuwesh wrote: > I've now tried to make this clearer. I don't know what a better name > for the user option could be. > > I also updated the manual to mention this user option, and announced the > change in NEWS in the attached. Thanks, now pushed to master: https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=6aa60038ee999d25184a639ce0ac76b614e3afb6 Made some tweaks to the docs and the logic in project-remember-project, so please try it out. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 05 23:34:44 2025 Received: (at 76587-done) by debbugs.gnu.org; 6 Mar 2025 04:34:44 +0000 Received: from localhost ([127.0.0.1]:40799 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tq2wW-0002S2-3g for submit@debbugs.gnu.org; Wed, 05 Mar 2025 23:34:44 -0500 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]:56365) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tq2wT-0002Rm-9C for 76587-done@debbugs.gnu.org; Wed, 05 Mar 2025 23:34:41 -0500 Received: by mail-pl1-x641.google.com with SMTP id d9443c01a7336-223cc017ef5so3143055ad.0 for <76587-done@debbugs.gnu.org>; Wed, 05 Mar 2025 20:34:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741235675; x=1741840475; 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=AiURXTaeNC3JwPhoPsN2KGo6OnE/VClSI7xh0+rlklo=; b=MlN/Ut/zUB7HIDkGaVRH2HBof1KKHhFegneixy90GZAbKAdlwLZegwQUqAc3IhgdNb BXxSith31p20itOnFM6hXz2q60G84uCcC9cHjpX5ZTTSXZAzyOFAzN3p4r8yr/hEllqO dy6IPcHP4xE3xwJno5WcecXpqu11QMeQI9toNw2iLIPxoeBd+Bmutt6DCjGQdPp4Tiup /P5wM8ZUB83bDFU4rj91KsseOEtJMC46UF8gARLmCneBFfnBrbCzH9SxYuDIe7+c4b+U lWt5WPNhYHKwJLNMz1LViCGr/UvHGQyGCCxDenTG4D1sc/PeR80bM2j9l0Zufrv+IzNg z1aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741235675; x=1741840475; 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=AiURXTaeNC3JwPhoPsN2KGo6OnE/VClSI7xh0+rlklo=; b=bkOo4cG81IMqD8rx5aFY0Kiq7MeKdnz57ycnRAEQocWpnaTMVfSOt8Lc7DSC/sXeP6 1b3yeXx1SpMKWo3285dUCvQx7vZq51N7jC9Nazemt3US6L5vZuw8v5Calv2lk5IH7qTp KZmr8U92lVmRN3QH/9jNUjPIo+x8m1uQK+QDG4vMidDeBSkpFMoBzifX+QUfyiT1AZzg 5iYaL2ZBrb428RRmkSqu2Qsq5nnPEjOZOPMWEBqBW68kwia6cjvaVnmkkzyiHgyfCCTr 54UKsRgHVs6CCjd2Cnqt8d1c+tx60sRMAmCcV2A/h5WliaN1PNXeGQhU5ppwz+teeFkt JVVQ== X-Forwarded-Encrypted: i=1; AJvYcCVcJ2OxfO+iFNFCHiv3DU4NTPR3fx4kPecJwEZGtkD57nUPvtVuYNTcVp91dehCigtlzkBaQ4pTRT+t@debbugs.gnu.org X-Gm-Message-State: AOJu0YxyFXpy4bTLwYI7iHFsQXqUC1mMGV4s748rUZ0doXrnjTGtIbVL lg2PGYSbvLtmXpZFz+muoDQG0OYIWY++75IJVwjYM6pIIfY30q1q X-Gm-Gg: ASbGncu/6+5/2XTIYSh39+fJpT9jPGu6Dha4z/Ehi5H1FUeI2LZ7znlb9ZCLSSbnSvH mP5FMmMTczp82NCgld57tx91VRKPDveAX1OGlmzhPaECdNRZRloSb8QsrrA5YVtW5WjK6iRllHU Sqvq89jtT9OLx/IeLb8hDzxDCXfixopft+OfdRKF6nYh9m0h9JJWnF+zkP4ne31OTfAXcwoiaqw W5US8ew9/zBozwLqQIeFZLirVOKnAgL5+PBUf9e2citee4MDOJdgbLaFxtJdkmxtzMFU/upV34F JWgjMd+dER9btZKsAb06C8b09OtUz+HIrOi5rvz2PHvzDw== X-Google-Smtp-Source: AGHT+IHFqwNqjPuvImTXEzmS6OX4u5tHKwCCwT0kcesdR+SG411Uw6GXNcq9KXTMqDihShwPi6Y/LA== X-Received: by 2002:a17:902:f610:b0:223:4816:3e9e with SMTP id d9443c01a7336-223f1c94d15mr90601315ad.13.1741235674838; Wed, 05 Mar 2025 20:34:34 -0800 (PST) Received: from localhost ([1.7.159.71]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-22410aba622sm2533415ad.254.2025.03.05.20.34.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Mar 2025 20:34:34 -0800 (PST) From: Visuwesh To: Dmitry Gutov Subject: Re: bug#76587: 31.0.50; [FR] project.el should have a way to exclude certain projects from being saved In-Reply-To: <4b07dd21-172e-48fd-8bb9-01f6b9b2add3@gutov.dev> References: <87y0xsst6b.fsf@gmail.com> <87ikov28ul.fsf@mail.linkov.net> <877c5bsoc4.fsf@gmail.com> <87y0xrwas9.fsf@mail.linkov.net> <87plj2rapj.fsf@gmail.com> <32c00d22-d401-4fe5-8fac-9a5342d900f3@gutov.dev> <877c589hoh.fsf@gmail.com> <89fe2637-7c3b-48b4-ae82-e9a1ce51598f@gutov.dev> <87v7sq8qny.fsf@gmail.com> <4b07dd21-172e-48fd-8bb9-01f6b9b2add3@gutov.dev> Date: Thu, 06 Mar 2025 10:04:30 +0530 Message-ID: <8734fqixpl.fsf@gmail.com> 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: 3.6 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: [வியாழன் மார்ச் 06, 2025] Dmitry Gutov wrote: > On 03/03/2025 10:27, Visuwesh wrote: >> I've now tried to make this clearer. I don't know what a better name >> for the user option could be. >> I also updated the manual to mention this user option [...] Content analysis details: (3.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [1.7.159.71 listed in zen.spamhaus.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (visuweshm[at]gmail.com) -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:641 listed in] [list.dnswl.org] X-Debbugs-Envelope-To: 76587-done Cc: 76587-done@debbugs.gnu.org, Juri Linkov 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: 2.6 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: [வியாழன் மார்ச் 06, 2025] Dmitry Gutov wrote: > On 03/03/2025 10:27, Visuwesh wrote: >> I've now tried to make this clearer. I don't know what a better name >> for the user option could be. >> I also updated the manual to mention this user option [...] Content analysis details: (2.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:641 listed in] [list.dnswl.org] 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [1.7.159.71 listed in zen.spamhaus.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (visuweshm[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager [=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=AE= =E0=AE=BE=E0=AE=B0=E0=AF=8D=E0=AE=9A=E0=AF=8D 06, 2025] Dmitry Gutov wrote: > On 03/03/2025 10:27, Visuwesh wrote: >> I've now tried to make this clearer. I don't know what a better name >> for the user option could be. >> I also updated the manual to mention this user option, and announced >> the >> change in NEWS in the attached. > > Thanks, now pushed to master: > https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=3D6aa60038ee999d25= 184a639ce0ac76b614e3afb6 > > Made some tweaks to the docs and the logic in > project-remember-project, so please try it out. Thank you! It works as expected with your modifications. From unknown Sun Aug 17 22:01:49 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 03 Apr 2025 11:24:18 +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