From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Manuel Uberti via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#54100: 29.0.50; Allow project-buffers to ignore some buffers Date: Tue, 22 Feb 2022 09:27:12 +0100 Message-ID: Reply-To: Manuel Uberti Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29326"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 To: 54100@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Feb 22 09:28:56 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nMQXY-0007Oo-Ke for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 22 Feb 2022 09:28:56 +0100 Original-Received: from localhost ([::1]:44290 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nMQXV-00069Y-Af for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 22 Feb 2022 03:28:55 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:60012) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMQWj-00069L-3y for bug-gnu-emacs@gnu.org; Tue, 22 Feb 2022 03:28:05 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:46040) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nMQWg-00049m-1u for bug-gnu-emacs@gnu.org; Tue, 22 Feb 2022 03:28:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nMQWf-00011X-Vd for bug-gnu-emacs@gnu.org; Tue, 22 Feb 2022 03:28:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Manuel Uberti Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 22 Feb 2022 08:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 54100 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16455184503890 (code B ref -1); Tue, 22 Feb 2022 08:28:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 22 Feb 2022 08:27:30 +0000 Original-Received: from localhost ([127.0.0.1]:39937 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMQW9-00010f-Ps for submit@debbugs.gnu.org; Tue, 22 Feb 2022 03:27:30 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:51438) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMQW7-00010W-Dg for submit@debbugs.gnu.org; Tue, 22 Feb 2022 03:27:27 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:59940) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMQW6-00062N-VS for bug-gnu-emacs@gnu.org; Tue, 22 Feb 2022 03:27:27 -0500 Original-Received: from confino.investici.org ([212.103.72.250]:63913) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMQW3-00045n-QU for bug-gnu-emacs@gnu.org; Tue, 22 Feb 2022 03:27:26 -0500 Original-Received: from mx1.investici.org (unknown [127.0.0.1]) by confino.investici.org (Postfix) with ESMTP id 4K2sjF42wcz1116 for ; Tue, 22 Feb 2022 08:27:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inventati.org; s=stigmate; t=1645518433; bh=epUgRzK7TrcS/TeY93yEzBIgoaOWoLUrpt/duB6myV4=; h=Date:To:Subject:From:From; b=O+buR6sLBEpHFPJZMLsh7zZ0MQ3agOnBjEFw0BhLlPMOHKeHmaehLuLEs8gMrVtEw exU7so6ClI3cvhOgZTDjf0ggtWv1gxpCVkseu9VGTm1Ql+azprZo28geEthv5x9vB/ iO/8KeiUQrHhuuFXzM3SDnFgBv4v+yW4ZsaGbzu0= Original-Received: from [212.103.72.250] (mx1.investici.org [212.103.72.250]) (Authenticated sender: manuel.uberti@inventati.org) by localhost (Postfix) with ESMTPSA id 4K2sjF3Kr9z110q for ; Tue, 22 Feb 2022 08:27:13 +0000 (UTC) Content-Language: en-GB Received-SPF: pass client-ip=212.103.72.250; envelope-from=manuel.uberti@inventati.org; helo=confino.investici.org 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, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:227414 Archived-At: Hi, currently I am redifining `project-buffers' to ensure 'C-x p b' (`project-switch-to-buffer') ignores some buffers I never want to switch to with that command: (defvar mu-ignored-buffers '("\\` " "^\\*Async" "^\\*Completions" "^\\*Flymake" "^\\*Help" "^\\*Messages" "^\\*eldoc" "^\\*envrc" "\\*tramp" "^\\*vc" "^\\*xref") "A list of predicates for buffers to ignore.") (cl-defmethod project-buffers ((project (head vc))) (let* ((root (expand-file-name (file-name-as-directory (project-root project)))) (modules (unless (or (project--vc-merge-submodules-p root) (project--submodule-p root)) (mapcar (lambda (m) (format "%s%s/" root m)) (project--git-submodules)))) dd bufs) (dolist (buf (buffer-list)) (setq dd (expand-file-name (buffer-local-value 'default-directory buf))) (when (and (string-prefix-p root dd) (not (cl-find-if (lambda (module) (string-prefix-p module dd)) modules)) (not (seq-contains-p mu-ignored-buffers (buffer-name buf) #'string-match-p))) (push buf bufs))) (nreverse bufs))) I am not sure this is the best approach, though. Would it be possible to add a defcustom to specify a predicate for the project buffers to be shown in `project-switch-to-buffer'? In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.18, cairo version 1.16.0) of 2022-02-22 built on hathaway Repository revision: 8d02624c0ec029ee99e0b1e410429c440bcc4499 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12013000 System Description: Ubuntu 20.04 LTS Configured using: 'configure --with-harfbuzz --with-native-compilation' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $LC_MONETARY: it_IT.UTF-8 value of $LC_NUMERIC: it_IT.UTF-8 value of $LC_TIME: it_IT.UTF-8 value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: electric-pair-mode: t flymake-mode: t windmove-mode: t savehist-mode: t global-so-long-mode: t global-subword-mode: t subword-mode: t winner-mode: t envrc-global-mode: t envrc-mode: t mct-region-mode: t mct-minibuffer-mode: t pixel-scroll-precision-mode: t minibuffer-electric-default-mode: t minibuffer-depth-indicate-mode: t delete-selection-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t window-divider-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message yank-media rmc puny dired-x dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils help-fns radix-tree misearch multi-isearch time-date noutline outline checkdoc lisp-mnt elec-pair flymake-proc flymake thingatpt compile text-property-search comint vc-dir ewoc vc-git diff-mode easy-mmode vc vc-dispatcher cursor-sensor project server modus-operandi-theme modus-themes pcase windmove delight comp comp-cstr warnings cl-extra help-mode savehist so-long cap-words superword subword winner envrc inheritenv ansi-color mct pixel-scroll ring minibuf-eldef mb-depth ibuf-macs rx delsel info tex-site package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars seq gv subr-x byte-opt bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 241664 84480) (symbols 48 15348 1) (strings 32 46778 3597) (string-bytes 1 1497114) (vectors 16 28407) (vector-slots 8 833744 120150) (floats 8 139 444) (intervals 56 1087 217) (buffers 992 18)) -- Manuel Uberti www.manueluberti.eu