* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched [not found] <87wmfclrf0.fsf@> @ 2025-01-03 8:16 ` Eli Zaretskii 2025-01-03 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors [not found] ` <87o70nd4dd.fsf@> 0 siblings, 2 replies; 8+ messages in thread From: Eli Zaretskii @ 2025-01-03 8:16 UTC (permalink / raw) To: Björn Bidar; +Cc: 75305 > Date: Fri, 03 Jan 2025 01:36:19 +0200 > From: Björn Bidar via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> > > > I noticed that as intended without adding the current group to the > variable in addition to the current group. > The manual states what happens what the variable does when set however I > think the description is not exact enough. > > It is very easy to overlook that to add the current group in addition > other groups it has to be added too. Can you suggest the additions to the manual? Thanks. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched 2025-01-03 8:16 ` bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched Eli Zaretskii @ 2025-01-03 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors [not found] ` <87o70nd4dd.fsf@> 1 sibling, 0 replies; 8+ messages in thread From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2025-01-03 20:33 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 75305 [-- Attachment #1: Type: text/plain, Size: 1035 bytes --] Eli Zaretskii <eliz@gnu.org> writes: >> Date: Fri, 03 Jan 2025 01:36:19 +0200 >> From: Björn Bidar via "Bug reports for GNU Emacs, >> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> >> >> >> I noticed that as intended without adding the current group to the >> variable in addition to the current group. >> The manual states what happens what the variable does when set however I >> think the description is not exact enough. >> >> It is very easy to overlook that to add the current group in addition >> other groups it has to be added too. > > Can you suggest the additions to the manual? I can. I compared the option to another gnus-refer-article-method one which has the option to include the symbol current to include the curren t method. I added the same symbol to gnus-refer-thread-use-search to add the current group including the other groups to the list of possible groups to search through. I adjusted the manual to include the current symbol and explain the option better. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Refactor-gnus-refer-thread-use-search.patch --] [-- Type: text/x-patch, Size: 7766 bytes --] From 8b7dc8441294a42eb4132f7a978cf28580791278 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= <bjorn.bidar@thaodan.de> Date: Fri, 3 Jan 2025 04:09:55 +0200 Subject: [PATCH] Refactor gnus-refer-thread-use-search * lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search): Make it easier to customize the variable by adding predefine choices as well as descriptions to each choice. Add option to add the value `current' to the list of servers and groups to add the current group. E.g. to add another group and the current group. * lisp/gnus/gnus-search.el (gnus-refer-thread-maybe-add-current-group, gnus-search-thread): Add helper function to determine if the option contains the value current. Use helper function. * lisp/gnus/nnselect.el (nnselect-request-thread): Use helper function to check if the value current is in gnus-refer-thread-use-search. * doc/misc/gnus.texi (gnus-refer-thread-use-search): Include the current value in the section. Format the section a little better to have a paragraph for each possible value that the option may contain. Explain the option to have a list of servers more detailed , i.e. similarly to the custom description. Highlight that the current group is not searched unless specified. Explain that unless the articles of that thread are contained in the searched groups not adding the current group might not be the desired effect. --- doc/misc/gnus.texi | 23 +++++++++++++++++------ lisp/gnus/gnus-search.el | 24 +++++++++++++++++++++--- lisp/gnus/gnus-sum.el | 17 +++++++++++++---- lisp/gnus/nnselect.el | 4 ++-- 4 files changed, 53 insertions(+), 15 deletions(-) diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 200b68d2059..5b2d5a8ea04 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -10557,12 +10557,23 @@ Finding the Parent course, it'll make group entry somewhat slow. @vindex gnus-refer-thread-use-search -If @code{gnus-refer-thread-use-search} is @code{nil} (the default) -then thread-referral only looks for articles in the current group. If -this variable is @code{t} the server to which the current group -belongs is searched (provided that searching is available for the -server's backend). If this variable is a list of servers, each server -in the list is searched. +If @code{gnus-refer-thread-use-search} is @code{current} or @code{nil} +(the default) then thread-referral only looks for articles in the current group. + +If this variable is @code{t} the server to which the current group +belongs is searched. Note this is only possible provided that searching +is available for the server's backend. + +The variable can also be a list of server each server +in the list is searched. The servers have to specified in a list +where the first element of this has to be the server and any remaining elements +can be the groups belonging to that server. + +To search in the current group in addition to other groups the list of servers +may contain the symbol @code{current}. +If @code{current} is not in the list the current group is not searched, +note this may be not the desired effect if any of articles referred in +the thread are not contained in any of the searched groups. @vindex gnus-refer-thread-limit The @code{gnus-refer-thread-limit} variable says how many old (i.e., diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el index 12af8dcdfa7..e61df436c80 100644 --- a/lisp/gnus/gnus-search.el +++ b/lisp/gnus/gnus-search.el @@ -2206,6 +2206,23 @@ gnus-search-server-to-engine (declare-function gnus-registry-get-id-key "gnus-registry" (id key)) +(defun gnus-refer-thread-maybe-add-current-group (group) + "Find if GROUP should be added to `gnus-refer-thread-use-search'." + (cond ((eq 'current gnus-refer-thread-use-search) + (list (gnus-info-method (gnus-get-info group)) + group)) + ((listp gnus-refer-thread-use-search) + (let (out) + (dolist (search gnus-refer-thread-use-search) + (push (if (and (not (listp search)) (eq 'current search)) + (list (gnus-info-method (gnus-get-info group)) + group) + search) + out)) + out)) + (t + nil))) + (defun gnus-search-thread (header &optional group server) "Find articles in the thread containing HEADER from GROUP on SERVER. If `gnus-refer-thread-use-search' is nil only the current group is @@ -2227,7 +2244,8 @@ gnus-search-thread " or ")) (cons 'thread t))) (gnus-search-use-parsed-queries t)) - (if (not gnus-refer-thread-use-search) + (if (or (not gnus-refer-thread-use-search) + (eq 'current gnus-refer-thread-use-search)) ;; Search only the current group and send the headers back to ;; the caller to add to the summary buffer. (gnus-fetch-headers @@ -2247,8 +2265,8 @@ gnus-search-thread (thread (gnus-search-run-query (list (cons 'search-query-spec query) (cons 'search-group-spec - (if (listp gnus-refer-thread-use-search) - gnus-refer-thread-use-search + (or (gnus-refer-thread-maybe-add-current-group + group) (list (list server)))))))) (if (< (nnselect-artlist-length thread) 2) (message "No other articles in thread") diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index a9caa83b15c..2119235bc2e 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -149,11 +149,20 @@ gnus-refer-thread-use-search list of servers and groups (where each element is a list whose car is the server and whose cdr is a list of groups on this server or nil to search the entire server) searches these -server/groups. This may usefully be set as a group parameter." - :version "28.1" +server/groups. + +The list of of server and groups may contain +the symbol `current' to refer to the current group. +For example to search in the current group in addition to other groups. + +This may usefully be set as a group parameter." + :version "31.1" :group 'gnus-thread - :type '(restricted-sexp :match-alternatives - (listp 't 'nil))) + :type '(choice (const :tag "Current group" nil) + (const :tag "All groups" t) + (repeat :tag "Server and groups" + (choice (const :tag "Current Group" current) + (repeat :tag "Server and groups" string))))) (defcustom gnus-refer-thread-limit-to-thread nil "If non-nil referring a thread will limit the summary buffer to diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el index c6a1c0a9342..9d55ac27b98 100644 --- a/lisp/gnus/nnselect.el +++ b/lisp/gnus/nnselect.el @@ -49,6 +49,7 @@ (require 'gnus-art) (autoload 'gnus-search-run-query "gnus-search") (autoload 'gnus-search-server-to-engine "gnus-search") +(autoload 'gnus-refer-thread-maybe-add-current-group "gnus-search") (eval-when-compile (require 'cl-lib)) @@ -707,8 +708,7 @@ nnselect-request-thread (group-spec (if (not gnus-refer-thread-use-search) (list (list server artgroup)) - (if (listp gnus-refer-thread-use-search) - gnus-refer-thread-use-search + (or (gnus-refer-thread-maybe-add-current-group group) (list (list server))))) (ids (cons (mail-header-id header) (split-string -- 2.45.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <87o70nd4dd.fsf@>]
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched [not found] ` <87o70nd4dd.fsf@> @ 2025-01-04 13:26 ` Eli Zaretskii 2025-01-04 21:34 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors [not found] ` <87bjwmw9f1.fsf@> 0 siblings, 2 replies; 8+ messages in thread From: Eli Zaretskii @ 2025-01-04 13:26 UTC (permalink / raw) To: Björn Bidar; +Cc: 75305 > From: Björn Bidar <bjorn.bidar@thaodan.de> > Cc: 75305@debbugs.gnu.org > Date: Fri, 03 Jan 2025 22:33:34 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> Date: Fri, 03 Jan 2025 01:36:19 +0200 > >> From: Björn Bidar via "Bug reports for GNU Emacs, > >> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> > >> > >> > >> I noticed that as intended without adding the current group to the > >> variable in addition to the current group. > >> The manual states what happens what the variable does when set however I > >> think the description is not exact enough. > >> > >> It is very easy to overlook that to add the current group in addition > >> other groups it has to be added too. > > > > Can you suggest the additions to the manual? > > I can. I compared the option to another gnus-refer-article-method one > which has the option to include the symbol current to include the curren > t method. > > I added the same symbol to gnus-refer-thread-use-search to add the > current group including the other groups to the list of possible groups > to search through. I adjusted the manual to include the current symbol and > explain the option better. Thanks, but the patch seems to include unrelated changes in the code? I thought we were talking only about fixing the manual? Or what did I miss? Also, please be sure to leave two spaces between sentences, per our conventions. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched 2025-01-04 13:26 ` Eli Zaretskii @ 2025-01-04 21:34 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors [not found] ` <87bjwmw9f1.fsf@> 1 sibling, 0 replies; 8+ messages in thread From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2025-01-04 21:34 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 75305 [-- Attachment #1: Type: text/plain, Size: 2222 bytes --] Eli Zaretskii <eliz@gnu.org> writes: >> From: Björn Bidar <bjorn.bidar@thaodan.de> >> Cc: 75305@debbugs.gnu.org >> Date: Fri, 03 Jan 2025 22:33:34 +0200 >> >> Eli Zaretskii <eliz@gnu.org> writes: >> >> >> Date: Fri, 03 Jan 2025 01:36:19 +0200 >> >> From: Björn Bidar via "Bug reports for GNU Emacs, >> >> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> >> >> >> >> >> >> I noticed that as intended without adding the current group to the >> >> variable in addition to the current group. >> >> The manual states what happens what the variable does when set however I >> >> think the description is not exact enough. >> >> >> >> It is very easy to overlook that to add the current group in addition >> >> other groups it has to be added too. >> > >> > Can you suggest the additions to the manual? >> >> I can. I compared the option to another gnus-refer-article-method one >> which has the option to include the symbol current to include the curren >> t method. >> >> I added the same symbol to gnus-refer-thread-use-search to add the >> current group including the other groups to the list of possible groups >> to search through. I adjusted the manual to include the current symbol and >> explain the option better. > > Thanks, but the patch seems to include unrelated changes in the code? > I thought we were talking only about fixing the manual? Or what did I > miss? > I look at the situation further and noticed that adding the current group does not work without the user writing a custom hook to add it. I already wrote a hook to change gnus-refer-thread-use-search for another reason, to add the current gnus-message-archive-group to gnus-refer-thread-use-search. To just add the current group writing a hook would be to clumsy. Using the current symbol similar as in gnus-refer-article-method is much simpler, makes the setting easier to understand and customize for new users. The customization changes are there to use better custom types which makes it easier to customize and harder to put false values into the option when using custom. > Also, please be sure to leave two spaces between sentences, per our > conventions. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Refactor-gnus-refer-thread-use-search.patch --] [-- Type: text/x-patch, Size: 7768 bytes --] From 56c0543bb10d7523ca14d5456a1ade37c9c1f6dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= <bjorn.bidar@thaodan.de> Date: Fri, 3 Jan 2025 04:09:55 +0200 Subject: [PATCH] Refactor gnus-refer-thread-use-search * lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search): Make it easier to customize the variable by adding predefine choices as well as descriptions to each choice. Add option to add the value `current' to the list of servers and groups to add the current group. E.g. to add another group and the current group. * lisp/gnus/gnus-search.el (gnus-refer-thread-maybe-add-current-group, gnus-search-thread): Add helper function to determine if the option contains the value current. Use helper function. * lisp/gnus/nnselect.el (nnselect-request-thread): Use helper function to check if the value current is in gnus-refer-thread-use-search. * doc/misc/gnus.texi (gnus-refer-thread-use-search): Include the current value in the section. Format the section a little better to have a paragraph for each possible value that the option may contain. Explain the option to have a list of servers more detailed , i.e. similarly to the custom description. Highlight that the current group is not searched unless specified. Explain that unless the articles of that thread are contained in the searched groups not adding the current group might not be the desired effect. --- doc/misc/gnus.texi | 23 +++++++++++++++++------ lisp/gnus/gnus-search.el | 24 +++++++++++++++++++++--- lisp/gnus/gnus-sum.el | 17 +++++++++++++---- lisp/gnus/nnselect.el | 4 ++-- 4 files changed, 53 insertions(+), 15 deletions(-) diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 200b68d2059..6ac57a8c463 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -10557,12 +10557,23 @@ Finding the Parent course, it'll make group entry somewhat slow. @vindex gnus-refer-thread-use-search -If @code{gnus-refer-thread-use-search} is @code{nil} (the default) -then thread-referral only looks for articles in the current group. If -this variable is @code{t} the server to which the current group -belongs is searched (provided that searching is available for the -server's backend). If this variable is a list of servers, each server -in the list is searched. +If @code{gnus-refer-thread-use-search} is @code{current} or @code{nil} +(the default) then thread-referral only looks for articles in the current group. + +If this variable is @code{t} the server to which the current group +belongs is searched. Note this is only possible provided that searching +is available for the server's backend. + +The variable can also be a list of server each server +in the list is searched. The servers have to specified in a list +where the first element of this has to be the server and any remaining elements +can be the groups belonging to that server. + +To search in the current group in addition to other groups the list of servers +may contain the symbol @code{current}. +If @code{current} is not in the list the current group is not searched, +note this may be not the desired effect if any of articles referred in +the thread are not contained in any of the searched groups. @vindex gnus-refer-thread-limit The @code{gnus-refer-thread-limit} variable says how many old (i.e., diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el index 12af8dcdfa7..e61df436c80 100644 --- a/lisp/gnus/gnus-search.el +++ b/lisp/gnus/gnus-search.el @@ -2206,6 +2206,23 @@ gnus-search-server-to-engine (declare-function gnus-registry-get-id-key "gnus-registry" (id key)) +(defun gnus-refer-thread-maybe-add-current-group (group) + "Find if GROUP should be added to `gnus-refer-thread-use-search'." + (cond ((eq 'current gnus-refer-thread-use-search) + (list (gnus-info-method (gnus-get-info group)) + group)) + ((listp gnus-refer-thread-use-search) + (let (out) + (dolist (search gnus-refer-thread-use-search) + (push (if (and (not (listp search)) (eq 'current search)) + (list (gnus-info-method (gnus-get-info group)) + group) + search) + out)) + out)) + (t + nil))) + (defun gnus-search-thread (header &optional group server) "Find articles in the thread containing HEADER from GROUP on SERVER. If `gnus-refer-thread-use-search' is nil only the current group is @@ -2227,7 +2244,8 @@ gnus-search-thread " or ")) (cons 'thread t))) (gnus-search-use-parsed-queries t)) - (if (not gnus-refer-thread-use-search) + (if (or (not gnus-refer-thread-use-search) + (eq 'current gnus-refer-thread-use-search)) ;; Search only the current group and send the headers back to ;; the caller to add to the summary buffer. (gnus-fetch-headers @@ -2247,8 +2265,8 @@ gnus-search-thread (thread (gnus-search-run-query (list (cons 'search-query-spec query) (cons 'search-group-spec - (if (listp gnus-refer-thread-use-search) - gnus-refer-thread-use-search + (or (gnus-refer-thread-maybe-add-current-group + group) (list (list server)))))))) (if (< (nnselect-artlist-length thread) 2) (message "No other articles in thread") diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index a9caa83b15c..2119235bc2e 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -149,11 +149,20 @@ gnus-refer-thread-use-search list of servers and groups (where each element is a list whose car is the server and whose cdr is a list of groups on this server or nil to search the entire server) searches these -server/groups. This may usefully be set as a group parameter." - :version "28.1" +server/groups. + +The list of of server and groups may contain +the symbol `current' to refer to the current group. +For example to search in the current group in addition to other groups. + +This may usefully be set as a group parameter." + :version "31.1" :group 'gnus-thread - :type '(restricted-sexp :match-alternatives - (listp 't 'nil))) + :type '(choice (const :tag "Current group" nil) + (const :tag "All groups" t) + (repeat :tag "Server and groups" + (choice (const :tag "Current Group" current) + (repeat :tag "Server and groups" string))))) (defcustom gnus-refer-thread-limit-to-thread nil "If non-nil referring a thread will limit the summary buffer to diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el index c6a1c0a9342..9d55ac27b98 100644 --- a/lisp/gnus/nnselect.el +++ b/lisp/gnus/nnselect.el @@ -49,6 +49,7 @@ (require 'gnus-art) (autoload 'gnus-search-run-query "gnus-search") (autoload 'gnus-search-server-to-engine "gnus-search") +(autoload 'gnus-refer-thread-maybe-add-current-group "gnus-search") (eval-when-compile (require 'cl-lib)) @@ -707,8 +708,7 @@ nnselect-request-thread (group-spec (if (not gnus-refer-thread-use-search) (list (list server artgroup)) - (if (listp gnus-refer-thread-use-search) - gnus-refer-thread-use-search + (or (gnus-refer-thread-maybe-add-current-group group) (list (list server))))) (ids (cons (mail-header-id header) (split-string -- 2.45.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <87bjwmw9f1.fsf@>]
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched [not found] ` <87bjwmw9f1.fsf@> @ 2025-01-05 6:29 ` Eli Zaretskii 2025-01-05 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors [not found] ` <87o70lt2yw.fsf@> 0 siblings, 2 replies; 8+ messages in thread From: Eli Zaretskii @ 2025-01-05 6:29 UTC (permalink / raw) To: Björn Bidar, Andrew G Cohen, Eric Abrahamsen; +Cc: 75305 > From: Björn Bidar <bjorn.bidar@thaodan.de> > Cc: 75305@debbugs.gnu.org > Date: Sat, 04 Jan 2025 23:34:10 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > > Thanks, but the patch seems to include unrelated changes in the code? > > I thought we were talking only about fixing the manual? Or what did I > > miss? > > > > I look at the situation further and noticed that adding the current > group does not work without the user writing a custom hook to add it. > I already wrote a hook to change gnus-refer-thread-use-search for > another reason, to add the current gnus-message-archive-group to > gnus-refer-thread-use-search. > To just add the current group writing a hook would be to clumsy. > Using the current symbol similar as in gnus-refer-article-method is much > simpler, makes the setting easier to understand and customize for new > users. > > The customization changes are there to use better custom types which > makes it easier to customize and harder to put false values into the > option when using custom. Then we'll need to wait for our Gnus expert (CC'ed) to review your code changes. I have some comments to the documentation part below: > * lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search): > Make it easier to customize the variable by adding predefine choices > as well as descriptions to each choice. Add option to add the value > `current' to the list of servers and groups to add the current group. > E.g. to add another group and the current group. > * lisp/gnus/gnus-search.el (gnus-refer-thread-maybe-add-current-group, > gnus-search-thread): Add helper function to determine if the option > contains the value current. Use helper function. > * lisp/gnus/nnselect.el (nnselect-request-thread): Use helper function > to check if the value current is in gnus-refer-thread-use-search. > * doc/misc/gnus.texi (gnus-refer-thread-use-search): > Include the current value in the section. Format the section a little > better to have a paragraph for each possible value that the option > may contain. Explain the option to have a list of servers more detailed > , i.e. similarly to the custom description. Highlight that the current > group is not searched unless specified. Explain that unless the articles > of that thread are contained in the searched groups not adding the > current group might not be the desired effect. Some of the lines in the log message are too long. Please be sure to wrap lines at column 64 if possible, and in any case before column 70. > +If @code{gnus-refer-thread-use-search} is @code{current} or @code{nil} > +(the default) then thread-referral only looks for articles in the current group. ^ Comma missing there (yes, it was also missing in the original text). > +If this variable is @code{t} the server to which the current group ^ Same here. > +The variable can also be a list of server each server > +in the list is searched. The servers have to specified in a list ^^^^^^^^^^^^^^^^^ "have to be specified", right? > +where the first element of this has to be the server and any remaining elements > +can be the groups belonging to that server. This is better rephrased in our usual style: The value can also be a list of the form @code{(@var{server} @var{group}@dots{})}, where @var{server} is the server and @var{group}s are the groups belonging to the server. > +To search in the current group in addition to other groups the list of servers ^ Again missing comma. > +If @code{current} is not in the list the current group is not searched, ^ Same here. > +note this may be not the desired effect if any of articles referred in > +the thread are not contained in any of the searched groups. I would divide this sentence into two: If @code{current} is not in the list, ... is not searched. This may not be the desired effect if ... > +(defun gnus-refer-thread-maybe-add-current-group (group) > + "Find if GROUP should be added to `gnus-refer-thread-use-search'." "Find" is to abstract and withholds information. Suggest to rephrase: Return t if GROUP should be added to `gnus-refer-thread-use-search'. Return nil otherwise. > +The list of of server and groups may contain > +the symbol `current' to refer to the current group. > +For example to search in the current group in addition to other groups. ^ Comma missing there. Thanks. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched 2025-01-05 6:29 ` Eli Zaretskii @ 2025-01-05 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors [not found] ` <87o70lt2yw.fsf@> 1 sibling, 0 replies; 8+ messages in thread From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2025-01-05 20:33 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Eric Abrahamsen, 75305, Andrew G Cohen Eli Zaretskii <eliz@gnu.org> writes: >> From: Björn Bidar <bjorn.bidar@thaodan.de> >> Cc: 75305@debbugs.gnu.org >> Date: Sat, 04 Jan 2025 23:34:10 +0200 >> >> Eli Zaretskii <eliz@gnu.org> writes: >> >> > Thanks, but the patch seems to include unrelated changes in the code? >> > I thought we were talking only about fixing the manual? Or what did I >> > miss? >> > >> >> I look at the situation further and noticed that adding the current >> group does not work without the user writing a custom hook to add it. >> I already wrote a hook to change gnus-refer-thread-use-search for >> another reason, to add the current gnus-message-archive-group to >> gnus-refer-thread-use-search. >> To just add the current group writing a hook would be to clumsy. >> Using the current symbol similar as in gnus-refer-article-method is much >> simpler, makes the setting easier to understand and customize for new >> users. >> >> The customization changes are there to use better custom types which >> makes it easier to customize and harder to put false values into the >> option when using custom. > > Then we'll need to wait for our Gnus expert (CC'ed) to review your > code changes. I have some comments to the documentation part below: OK great. >> * lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search): >> Make it easier to customize the variable by adding predefine choices >> as well as descriptions to each choice. Add option to add the value >> `current' to the list of servers and groups to add the current group. >> E.g. to add another group and the current group. >> * lisp/gnus/gnus-search.el (gnus-refer-thread-maybe-add-current-group, >> gnus-search-thread): Add helper function to determine if the option >> contains the value current. Use helper function. >> * lisp/gnus/nnselect.el (nnselect-request-thread): Use helper function >> to check if the value current is in gnus-refer-thread-use-search. >> * doc/misc/gnus.texi (gnus-refer-thread-use-search): >> Include the current value in the section. Format the section a little >> better to have a paragraph for each possible value that the option >> may contain. Explain the option to have a list of servers more detailed >> , i.e. similarly to the custom description. Highlight that the current >> group is not searched unless specified. Explain that unless the articles >> of that thread are contained in the searched groups not adding the >> current group might not be the desired effect. > > Some of the lines in the log message are too long. Please be sure to > wrap lines at column 64 if possible, and in any case before column 70. > I did so but it does make the message harder to read when long function or variable names come into play. The grammar errors you noticed are fixed. I also applied the suggested changes to the docstring of the new function. ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <87o70lt2yw.fsf@>]
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched [not found] ` <87o70lt2yw.fsf@> @ 2025-01-05 20:36 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 0 replies; 8+ messages in thread From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2025-01-05 20:36 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Eric Abrahamsen, 75305, Andrew G Cohen [-- Attachment #1: Type: text/plain, Size: 49 bytes --] I forgot to attach the update patch, see below: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Refactor-gnus-refer-thread-use-search.patch --] [-- Type: text/x-patch, Size: 7771 bytes --] From 8cd116f25411575fb8ad59e08ba1cde8f7d7ae12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= <bjorn.bidar@thaodan.de> Date: Fri, 3 Jan 2025 04:09:55 +0200 Subject: [PATCH] Refactor gnus-refer-thread-use-search * lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search): Make it easier to customize the variable by adding predefine choices as well as descriptions to each choice. Add option to add the value `current' to the list of servers and groups to add the current group. E.g. to add another group and the current group. * lisp/gnus/gnus-search.el (gnus-refer-thread-maybe-add-current-group, gnus-search-thread): Add helper function to determine if the option contains the value current. Use helper function. * lisp/gnus/nnselect.el (nnselect-request-thread): Use helper function to check if the value current is in gnus-refer-thread-use-search. * doc/misc/gnus.texi (gnus-refer-thread-use-search): Include the current value in the section. Format the section a little better to have a paragraph for each possible value that the option may contain. Explain the option to have a list of servers more detailed , i.e. similarly to the custom description. Highlight that the current group is not searched unless specified. Explain that unless the articles of that thread are contained in the searched groups not adding the current group might not be the desired effect. --- doc/misc/gnus.texi | 23 +++++++++++++++++------ lisp/gnus/gnus-search.el | 25 ++++++++++++++++++++++--- lisp/gnus/gnus-sum.el | 17 +++++++++++++---- lisp/gnus/nnselect.el | 4 ++-- 4 files changed, 54 insertions(+), 15 deletions(-) diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 200b68d2059..2e9959aeaf0 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -10557,12 +10557,23 @@ Finding the Parent course, it'll make group entry somewhat slow. @vindex gnus-refer-thread-use-search -If @code{gnus-refer-thread-use-search} is @code{nil} (the default) -then thread-referral only looks for articles in the current group. If -this variable is @code{t} the server to which the current group -belongs is searched (provided that searching is available for the -server's backend). If this variable is a list of servers, each server -in the list is searched. +If @code{gnus-refer-thread-use-search} is @code{current} or @code{nil} +(the default), then thread-referral only looks for articles +in the current group. + +If this variable is @code{t}, the server to which the current group +belongs is searched. Note this is only possible provided that +searching is available for the server's backend. + +The value can also be a list of the form +@code{(@var{server} @var{group}@dots{})}, where @var{server} is the +server and @var{group}s are the groups belonging to the server. + +To search in the current group in addition to other groups, +the list of servers may contain the symbol @code{current}. +If @code{current} is not in the list, the current group is not searched. +Note this may be not the desired effect if any of articles referred in +the thread are not contained in any of the searched groups. @vindex gnus-refer-thread-limit The @code{gnus-refer-thread-limit} variable says how many old (i.e., diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el index 12af8dcdfa7..959984c2ca4 100644 --- a/lisp/gnus/gnus-search.el +++ b/lisp/gnus/gnus-search.el @@ -2206,6 +2206,24 @@ gnus-search-server-to-engine (declare-function gnus-registry-get-id-key "gnus-registry" (id key)) +(defun gnus-refer-thread-maybe-add-current-group (group) + "Return `gnus-refer-thread-use-search' with `current' replaced by GROUP. +Return nil if `current' was not found or if was not a list." + (cond ((eq 'current gnus-refer-thread-use-search) + (list (gnus-info-method (gnus-get-info group)) + group)) + ((listp gnus-refer-thread-use-search) + (let (out) + (dolist (search gnus-refer-thread-use-search) + (push (if (and (not (listp search)) (eq 'current search)) + (list (gnus-info-method (gnus-get-info group)) + group) + search) + out)) + out)) + (t + nil))) + (defun gnus-search-thread (header &optional group server) "Find articles in the thread containing HEADER from GROUP on SERVER. If `gnus-refer-thread-use-search' is nil only the current group is @@ -2227,7 +2245,8 @@ gnus-search-thread " or ")) (cons 'thread t))) (gnus-search-use-parsed-queries t)) - (if (not gnus-refer-thread-use-search) + (if (or (not gnus-refer-thread-use-search) + (eq 'current gnus-refer-thread-use-search)) ;; Search only the current group and send the headers back to ;; the caller to add to the summary buffer. (gnus-fetch-headers @@ -2247,8 +2266,8 @@ gnus-search-thread (thread (gnus-search-run-query (list (cons 'search-query-spec query) (cons 'search-group-spec - (if (listp gnus-refer-thread-use-search) - gnus-refer-thread-use-search + (or (gnus-refer-thread-maybe-add-current-group + group) (list (list server)))))))) (if (< (nnselect-artlist-length thread) 2) (message "No other articles in thread") diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index a9caa83b15c..107e52ab8ef 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -149,11 +149,20 @@ gnus-refer-thread-use-search list of servers and groups (where each element is a list whose car is the server and whose cdr is a list of groups on this server or nil to search the entire server) searches these -server/groups. This may usefully be set as a group parameter." - :version "28.1" +server/groups. + +The list of of server and groups may contain +the symbol `current' to refer to the current group. +For example, to search in the current group in addition to other groups. + +This may usefully be set as a group parameter." + :version "31.1" :group 'gnus-thread - :type '(restricted-sexp :match-alternatives - (listp 't 'nil))) + :type '(choice (const :tag "Current group" nil) + (const :tag "All groups" t) + (repeat :tag "Server and groups" + (choice (const :tag "Current Group" current) + (repeat :tag "Server and groups" string))))) (defcustom gnus-refer-thread-limit-to-thread nil "If non-nil referring a thread will limit the summary buffer to diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el index c6a1c0a9342..9d55ac27b98 100644 --- a/lisp/gnus/nnselect.el +++ b/lisp/gnus/nnselect.el @@ -49,6 +49,7 @@ (require 'gnus-art) (autoload 'gnus-search-run-query "gnus-search") (autoload 'gnus-search-server-to-engine "gnus-search") +(autoload 'gnus-refer-thread-maybe-add-current-group "gnus-search") (eval-when-compile (require 'cl-lib)) @@ -707,8 +708,7 @@ nnselect-request-thread (group-spec (if (not gnus-refer-thread-use-search) (list (list server artgroup)) - (if (listp gnus-refer-thread-use-search) - gnus-refer-thread-use-search + (or (gnus-refer-thread-maybe-add-current-group group) (list (list server))))) (ids (cons (mail-header-id header) (split-string -- 2.45.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched @ 2025-01-02 23:36 Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 0 replies; 8+ messages in thread From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2025-01-02 23:36 UTC (permalink / raw) To: 75305 I noticed that as intended without adding the current group to the variable in addition to the current group. The manual states what happens what the variable does when set however I think the description is not exact enough. It is very easy to overlook that to add the current group in addition other groups it has to be added too. Further similarly to gnus-refer-article-methods the symbol current should also be supported to refer to the current groups method. In GNU Emacs 31.0.50 (build 1, x86_64-suse-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.2) Repository revision: eaf5bf736e1dd5eb977a16a3f1b3dfd3da3c4612 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101014 System Description: openSUSE Tumbleweed Configured using: 'configure --disable-build-details --without-pop --with-mailutils --without-hesiod --with-gameuser=:games --with-kerberos --with-kerberos5 --with-file-notification=inotify --with-modules --enable-autodepend --enable-link-time-optimization --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --localstatedir=/var --sharedstatedir=/var/lib --libexecdir=/usr/libexec --with-file-notification=yes --libdir=/usr/lib64 --with-native-compilation=aot --enable-locallisppath=/usr/share/emacs/31.0.50/site-lisp:/usr/share/emacs/site-lisp --with-x --with-xim --with-sound --with-xpm --with-jpeg --with-tiff --with-gif --with-png --with-rsvg --with-dbus --with-xft --without-gpm --with-tree-sitter --with-x-toolkit=gtk --without-pgtk --with-toolkit-scroll-bars --x-includes=/usr/include --x-libraries=/usr/lib64 --with-libotf --with-m17n-flt --with-cairo --build=x86_64-suse-linux --with-dumping=pdumper build_alias=x86_64-suse-linux 'CC=sccache cc' 'CFLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -march=znver3 -mmmx -mpopcnt -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -msse4a -mno-fma4 -mno-xop -mfma -mbmi -mbmi2 -maes -mpclmul -mno-gfni -mvpclmulqdq -mno-3dnow -madx -mabm -mno-cldemote -mclflushopt -mclwb -mclzero -mcx16 -mno-enqcmd -mf16c -mfsgsbase -mfxsr -mno-hle -msahf -mno-lwp -mlzcnt -mmovbe -mno-movdir64b -mno-movdiri -mmwaitx -mno-pconfig -mpku -mprfchw -mno-ptwrite -mrdpid -mrdrnd -mrdseed -mno-rtm -mno-serialize -mno-sgx -msha -mshstk -mno-tbm -mno-tsxldtrk -mvaes -mno-waitpkg -mwbnoinvd -mxsave -mxsavec -mxsaveopt -mxsaves -mno-amx-tile -mno-amx-int8 -mno-amx-bf16 -mno-uintr -mno-hreset -mno-kl -mno-widekl -mno-avxvnni -mno-avxifma -mno-avxvnniint8 -mno-avxneconvert -mno-cmpccxadd -mno-amx-fp16 -mno-prefetchi -mno-raoint -mno-amx-complex --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=znver3 -fno-optimize-sibling-calls -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -D_GNU_SOURCE -DGDK_DISABLE_DEPRECATION_WARNINGS -DGLIB_DISABLE_DEPRECATION_WARNINGS -pipe -Wno-pointer-sign -Wno-unused-variable -Wno-unused-label -DPDMP_BASE='\''"emacs-gtk"'\''' LDFLAGS=-Wl,-O2 'CXX=sccache c++' PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_MONETARY: fi_FI.UTF-8 value of $LC_NUMERIC: POSIX value of $LANG: en_GB.UTF-8 value of $XMODIFIERS: @im=local locale-coding-system: utf-8-unix Major mode: Summary Minor modes in effect: default-text-scale-mode: t eshell-vterm-mode: t xterm-mouse-mode: t circe-lagmon-mode: t gnus-mailing-list-mode: t dap-tooltip-mode: t dap-ui-many-windows-mode: t dap-ui-controls-mode: t dap-ui-mode: t dap-auto-configure-mode: t dap-mode: t lsp-treemacs-sync-mode: t treemacs-filewatch-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t global-atomic-chrome-edit-mode: t minions-mode: t back-button-mode: t recentf-mode: t savehist-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t autocrypt-mode: t gnus-desktop-notify-mode: t tracking-mode: t org-super-agenda-mode: t projectile-mode: t global-company-mode: t company-mode: t electric-pair-mode: t editorconfig-mode: t frames-only-mode: t windmove-mode: t marginalia-mode: t which-key-mode: t dirvish-override-dired-mode: t dired-async-mode: t hl-line-mode: t helm-mode: t helm-minibuffer-history-mode: t global-so-long-mode: t global-emojify-mode: t emojify-mode: t change-cursor-mode: t doom-modeline-mode: t helm-autoresize-mode: t desktop-save-mode: t Info-persist-history-mode: t save-place-mode: t delete-selection-mode: t override-global-mode: t magit-wip-initial-backup-mode: t magit-wip-before-change-mode: t magit-wip-after-apply-mode: t magit-wip-after-save-mode: t magit-wip-mode: t global-git-commit-mode: t magit-auto-revert-mode: t global-auto-revert-mode: t server-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t undelete-frame-mode: t minibuffer-regexp-mode: t buffer-read-only: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/bidar/.local/etc/emacs/lib/org/lisp/ox-koma-letter hides /home/bidar/.local/etc/emacs/lib/lisp/ox-koma-letter /home/bidar/.local/etc/emacs/lib/org-contrib/lisp/ox-groff hides /home/bidar/.local/etc/emacs/lib/lisp/ox-groff /home/bidar/.local/etc/emacs/lib/use-package-transient/use-package-transient hides /home/bidar/.local/etc/emacs/lib/lisp/use-package-transient /home/bidar/.local/etc/emacs/lib/vim-modeline/vim-modeline hides /home/bidar/.local/etc/emacs/lib/lisp/vim-modeline /home/bidar/.local/etc/emacs/lib/lisp/cursor-chg hides /home/bidar/.local/etc/emacs/lib/cursor-chg/cursor-chg /home/bidar/.local/etc/emacs/lib/eshell-up/eshell-up hides /home/bidar/.local/etc/emacs/lib/aweshell/eshell-up /home/bidar/.local/etc/emacs/lib/eshell-prompt-extras/eshell-prompt-extras hides /home/bidar/.local/etc/emacs/lib/aweshell/eshell-prompt-extras /home/bidar/.local/etc/emacs/lib/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode /home/bidar/.local/etc/emacs/lib/async/dired-async hides /usr/share/emacs/site-lisp/dired-async /home/bidar/.local/etc/emacs/lib/async/async-bytecomp hides /usr/share/emacs/site-lisp/async-bytecomp /home/bidar/.local/etc/emacs/lib/async/async-autoloads hides /usr/share/emacs/site-lisp/async-autoloads /home/bidar/.local/etc/emacs/lib/compat/compat hides /usr/share/emacs/site-lisp/compat /home/bidar/.local/etc/emacs/lib/compat/compat-30 hides /usr/share/emacs/site-lisp/compat-30 /home/bidar/.local/etc/emacs/lib/compat/compat-28 hides /usr/share/emacs/site-lisp/compat-28 /home/bidar/.local/etc/emacs/lib/compat/compat-25 hides /usr/share/emacs/site-lisp/compat-25 /home/bidar/.local/etc/emacs/lib/async/smtpmail-async hides /usr/share/emacs/site-lisp/smtpmail-async /home/bidar/.local/etc/emacs/lib/async/async hides /usr/share/emacs/site-lisp/async /home/bidar/.local/etc/emacs/lib/compat/compat-29 hides /usr/share/emacs/site-lisp/compat-29 /home/bidar/.local/etc/emacs/lib/compat/compat-27 hides /usr/share/emacs/site-lisp/compat-27 /home/bidar/.local/etc/emacs/lib/compat/compat-26 hides /usr/share/emacs/site-lisp/compat-26 /home/bidar/.local/etc/emacs/lib/which-key/which-key hides /usr/share/emacs/31.0.50/lisp/which-key /home/bidar/.local/etc/emacs/lib/transient/lisp/transient hides /usr/share/emacs/31.0.50/lisp/transient /home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig hides /usr/share/emacs/31.0.50/lisp/editorconfig /home/bidar/.local/etc/emacs/lib/use-package/bind-key hides /usr/share/emacs/31.0.50/lisp/bind-key /home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig-core-handle hides /usr/share/emacs/31.0.50/lisp/editorconfig-core-handle /home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig-tools hides /usr/share/emacs/31.0.50/lisp/editorconfig-tools /home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig-fnmatch hides /usr/share/emacs/31.0.50/lisp/editorconfig-fnmatch /home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig-core hides /usr/share/emacs/31.0.50/lisp/editorconfig-core /home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig-conf-mode hides /usr/share/emacs/31.0.50/lisp/editorconfig-conf-mode /home/bidar/.local/etc/emacs/lib/modus-themes/theme-loaddefs hides /usr/share/emacs/31.0.50/lisp/theme-loaddefs /home/bidar/.local/etc/emacs/lib/use-package/use-package hides /usr/share/emacs/31.0.50/lisp/use-package/use-package /home/bidar/.local/etc/emacs/lib/use-package/use-package-ensure hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-ensure /home/bidar/.local/etc/emacs/lib/use-package/use-package-diminish hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-diminish /home/bidar/.local/etc/emacs/lib/use-package/use-package-delight hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-delight /home/bidar/.local/etc/emacs/lib/use-package/use-package-core hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-core /home/bidar/.local/etc/emacs/lib/use-package/use-package-lint hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-lint /home/bidar/.local/etc/emacs/lib/use-package/use-package-jump hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-jump /home/bidar/.local/etc/emacs/lib/use-package/use-package-ensure-system-package hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-ensure-system-package /home/bidar/.local/etc/emacs/lib/use-package/use-package-bind-key hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-bind-key /home/bidar/.local/etc/emacs/lib/org/lisp/ox-texinfo hides /usr/share/emacs/31.0.50/lisp/org/ox-texinfo /home/bidar/.local/etc/emacs/lib/org/lisp/org-indent hides /usr/share/emacs/31.0.50/lisp/org/org-indent /home/bidar/.local/etc/emacs/lib/org/lisp/org-agenda hides /usr/share/emacs/31.0.50/lisp/org/org-agenda /home/bidar/.local/etc/emacs/lib/org/lisp/ol-eshell hides /usr/share/emacs/31.0.50/lisp/org/ol-eshell /home/bidar/.local/etc/emacs/lib/org/lisp/org-list hides /usr/share/emacs/31.0.50/lisp/org/org-list /home/bidar/.local/etc/emacs/lib/org/lisp/ox hides /usr/share/emacs/31.0.50/lisp/org/ox /home/bidar/.local/etc/emacs/lib/org/lisp/ox-latex hides /usr/share/emacs/31.0.50/lisp/org/ox-latex /home/bidar/.local/etc/emacs/lib/org/lisp/ox-html hides /usr/share/emacs/31.0.50/lisp/org/ox-html /home/bidar/.local/etc/emacs/lib/org/lisp/org hides /usr/share/emacs/31.0.50/lisp/org/org /home/bidar/.local/etc/emacs/lib/org/lisp/org-table hides /usr/share/emacs/31.0.50/lisp/org/org-table /home/bidar/.local/etc/emacs/lib/org/lisp/org-persist hides /usr/share/emacs/31.0.50/lisp/org/org-persist /home/bidar/.local/etc/emacs/lib/org/lisp/org-macs hides /usr/share/emacs/31.0.50/lisp/org/org-macs /home/bidar/.local/etc/emacs/lib/org/lisp/org-lint hides /usr/share/emacs/31.0.50/lisp/org/org-lint /home/bidar/.local/etc/emacs/lib/org/lisp/org-goto hides /usr/share/emacs/31.0.50/lisp/org/org-goto /home/bidar/.local/etc/emacs/lib/org/lisp/org-element hides /usr/share/emacs/31.0.50/lisp/org/org-element /home/bidar/.local/etc/emacs/lib/org/lisp/org-element-ast hides /usr/share/emacs/31.0.50/lisp/org/org-element-ast /home/bidar/.local/etc/emacs/lib/org/lisp/org-compat hides /usr/share/emacs/31.0.50/lisp/org/org-compat /home/bidar/.local/etc/emacs/lib/org/lisp/org-clock hides /usr/share/emacs/31.0.50/lisp/org/org-clock /home/bidar/.local/etc/emacs/lib/org/lisp/org-attach hides /usr/share/emacs/31.0.50/lisp/org/org-attach /home/bidar/.local/etc/emacs/lib/org/lisp/ol hides /usr/share/emacs/31.0.50/lisp/org/ol /home/bidar/.local/etc/emacs/lib/org/lisp/ob-python hides /usr/share/emacs/31.0.50/lisp/org/ob-python /home/bidar/.local/etc/emacs/lib/org/lisp/ob-julia hides /usr/share/emacs/31.0.50/lisp/org/ob-julia /home/bidar/.local/etc/emacs/lib/org/lisp/ob-exp hides /usr/share/emacs/31.0.50/lisp/org/ob-exp /home/bidar/.local/etc/emacs/lib/org/lisp/ob-core hides /usr/share/emacs/31.0.50/lisp/org/ob-core /home/bidar/.local/etc/emacs/lib/org/lisp/ob-clojure hides /usr/share/emacs/31.0.50/lisp/org/ob-clojure /home/bidar/.local/etc/emacs/lib/org/lisp/ob-R hides /usr/share/emacs/31.0.50/lisp/org/ob-R /home/bidar/.local/etc/emacs/lib/org/lisp/ox-beamer hides /usr/share/emacs/31.0.50/lisp/org/ox-beamer /home/bidar/.local/etc/emacs/lib/org/lisp/org-habit hides /usr/share/emacs/31.0.50/lisp/org/org-habit /home/bidar/.local/etc/emacs/lib/org/lisp/org-faces hides /usr/share/emacs/31.0.50/lisp/org/org-faces /home/bidar/.local/etc/emacs/lib/org/lisp/org-loaddefs hides /usr/share/emacs/31.0.50/lisp/org/org-loaddefs /home/bidar/.local/etc/emacs/lib/org/lisp/ob-gnuplot hides /usr/share/emacs/31.0.50/lisp/org/ob-gnuplot /home/bidar/.local/etc/emacs/lib/org/lisp/org-version hides /usr/share/emacs/31.0.50/lisp/org/org-version /home/bidar/.local/etc/emacs/lib/org/lisp/org-src hides /usr/share/emacs/31.0.50/lisp/org/org-src /home/bidar/.local/etc/emacs/lib/org/lisp/org-num hides /usr/share/emacs/31.0.50/lisp/org/org-num /home/bidar/.local/etc/emacs/lib/org/lisp/org-capture hides /usr/share/emacs/31.0.50/lisp/org/org-capture /home/bidar/.local/etc/emacs/lib/org/lisp/ox-publish hides /usr/share/emacs/31.0.50/lisp/org/ox-publish /home/bidar/.local/etc/emacs/lib/org/lisp/ox-icalendar hides /usr/share/emacs/31.0.50/lisp/org/ox-icalendar /home/bidar/.local/etc/emacs/lib/org/lisp/org-refile hides /usr/share/emacs/31.0.50/lisp/org/org-refile /home/bidar/.local/etc/emacs/lib/org/lisp/org-mouse hides /usr/share/emacs/31.0.50/lisp/org/org-mouse /home/bidar/.local/etc/emacs/lib/org/lisp/org-mobile hides /usr/share/emacs/31.0.50/lisp/org/org-mobile /home/bidar/.local/etc/emacs/lib/org/lisp/org-inlinetask hides /usr/share/emacs/31.0.50/lisp/org/org-inlinetask /home/bidar/.local/etc/emacs/lib/org/lisp/org-fold hides /usr/share/emacs/31.0.50/lisp/org/org-fold /home/bidar/.local/etc/emacs/lib/org/lisp/org-fold-core hides /usr/share/emacs/31.0.50/lisp/org/org-fold-core /home/bidar/.local/etc/emacs/lib/org/lisp/org-feed hides /usr/share/emacs/31.0.50/lisp/org/org-feed /home/bidar/.local/etc/emacs/lib/org/lisp/ob hides /usr/share/emacs/31.0.50/lisp/org/ob /home/bidar/.local/etc/emacs/lib/org/lisp/ob-tangle hides /usr/share/emacs/31.0.50/lisp/org/ob-tangle /home/bidar/.local/etc/emacs/lib/org/lisp/ob-sql hides /usr/share/emacs/31.0.50/lisp/org/ob-sql /home/bidar/.local/etc/emacs/lib/org/lisp/ob-scheme hides /usr/share/emacs/31.0.50/lisp/org/ob-scheme /home/bidar/.local/etc/emacs/lib/org/lisp/ob-processing hides /usr/share/emacs/31.0.50/lisp/org/ob-processing /home/bidar/.local/etc/emacs/lib/org/lisp/ob-plantuml hides /usr/share/emacs/31.0.50/lisp/org/ob-plantuml /home/bidar/.local/etc/emacs/lib/org/lisp/ob-lob hides /usr/share/emacs/31.0.50/lisp/org/ob-lob /home/bidar/.local/etc/emacs/lib/org/lisp/org-colview hides /usr/share/emacs/31.0.50/lisp/org/org-colview /home/bidar/.local/etc/emacs/lib/org/lisp/ob-lilypond hides /usr/share/emacs/31.0.50/lisp/org/ob-lilypond /home/bidar/.local/etc/emacs/lib/org/lisp/ob-shell hides /usr/share/emacs/31.0.50/lisp/org/ob-shell /home/bidar/.local/etc/emacs/lib/org/lisp/ox-org hides /usr/share/emacs/31.0.50/lisp/org/ox-org /home/bidar/.local/etc/emacs/lib/org/lisp/ox-odt hides /usr/share/emacs/31.0.50/lisp/org/ox-odt /home/bidar/.local/etc/emacs/lib/org/lisp/ox-md hides /usr/share/emacs/31.0.50/lisp/org/ox-md /home/bidar/.local/etc/emacs/lib/org/lisp/ox-man hides /usr/share/emacs/31.0.50/lisp/org/ox-man /home/bidar/.local/etc/emacs/lib/org/lisp/ox-koma-letter hides /usr/share/emacs/31.0.50/lisp/org/ox-koma-letter /home/bidar/.local/etc/emacs/lib/org/lisp/ox-ascii hides /usr/share/emacs/31.0.50/lisp/org/ox-ascii /home/bidar/.local/etc/emacs/lib/org/lisp/org-timer hides /usr/share/emacs/31.0.50/lisp/org/org-timer /home/bidar/.local/etc/emacs/lib/org/lisp/org-tempo hides /usr/share/emacs/31.0.50/lisp/org/org-tempo /home/bidar/.local/etc/emacs/lib/org/lisp/org-protocol hides /usr/share/emacs/31.0.50/lisp/org/org-protocol /home/bidar/.local/etc/emacs/lib/org/lisp/org-plot hides /usr/share/emacs/31.0.50/lisp/org/org-plot /home/bidar/.local/etc/emacs/lib/org/lisp/org-pcomplete hides /usr/share/emacs/31.0.50/lisp/org/org-pcomplete /home/bidar/.local/etc/emacs/lib/org/lisp/org-macro hides /usr/share/emacs/31.0.50/lisp/org/org-macro /home/bidar/.local/etc/emacs/lib/org/lisp/org-keys hides /usr/share/emacs/31.0.50/lisp/org/org-keys /home/bidar/.local/etc/emacs/lib/org/lisp/org-id hides /usr/share/emacs/31.0.50/lisp/org/org-id /home/bidar/.local/etc/emacs/lib/org/lisp/org-footnote hides /usr/share/emacs/31.0.50/lisp/org/org-footnote /home/bidar/.local/etc/emacs/lib/org/lisp/org-entities hides /usr/share/emacs/31.0.50/lisp/org/org-entities /home/bidar/.local/etc/emacs/lib/org/lisp/org-duration hides /usr/share/emacs/31.0.50/lisp/org/org-duration /home/bidar/.local/etc/emacs/lib/org/lisp/org-datetree hides /usr/share/emacs/31.0.50/lisp/org/org-datetree /home/bidar/.local/etc/emacs/lib/org/lisp/org-cycle hides /usr/share/emacs/31.0.50/lisp/org/org-cycle /home/bidar/.local/etc/emacs/lib/org/lisp/org-ctags hides /usr/share/emacs/31.0.50/lisp/org/org-ctags /home/bidar/.local/etc/emacs/lib/org/lisp/org-crypt hides /usr/share/emacs/31.0.50/lisp/org/org-crypt /home/bidar/.local/etc/emacs/lib/org/lisp/org-attach-git hides /usr/share/emacs/31.0.50/lisp/org/org-attach-git /home/bidar/.local/etc/emacs/lib/org/lisp/org-archive hides /usr/share/emacs/31.0.50/lisp/org/org-archive /home/bidar/.local/etc/emacs/lib/org/lisp/ol-w3m hides /usr/share/emacs/31.0.50/lisp/org/ol-w3m /home/bidar/.local/etc/emacs/lib/org/lisp/ol-rmail hides /usr/share/emacs/31.0.50/lisp/org/ol-rmail /home/bidar/.local/etc/emacs/lib/org/lisp/ol-mhe hides /usr/share/emacs/31.0.50/lisp/org/ol-mhe /home/bidar/.local/etc/emacs/lib/org/lisp/ol-man hides /usr/share/emacs/31.0.50/lisp/org/ol-man /home/bidar/.local/etc/emacs/lib/org/lisp/ol-irc hides /usr/share/emacs/31.0.50/lisp/org/ol-irc /home/bidar/.local/etc/emacs/lib/org/lisp/ol-info hides /usr/share/emacs/31.0.50/lisp/org/ol-info /home/bidar/.local/etc/emacs/lib/org/lisp/ol-gnus hides /usr/share/emacs/31.0.50/lisp/org/ol-gnus /home/bidar/.local/etc/emacs/lib/org/lisp/ol-eww hides /usr/share/emacs/31.0.50/lisp/org/ol-eww /home/bidar/.local/etc/emacs/lib/org/lisp/ol-doi hides /usr/share/emacs/31.0.50/lisp/org/ol-doi /home/bidar/.local/etc/emacs/lib/org/lisp/ol-docview hides /usr/share/emacs/31.0.50/lisp/org/ol-docview /home/bidar/.local/etc/emacs/lib/org/lisp/ol-bibtex hides /usr/share/emacs/31.0.50/lisp/org/ol-bibtex /home/bidar/.local/etc/emacs/lib/org/lisp/ol-bbdb hides /usr/share/emacs/31.0.50/lisp/org/ol-bbdb /home/bidar/.local/etc/emacs/lib/org/lisp/oc hides /usr/share/emacs/31.0.50/lisp/org/oc /home/bidar/.local/etc/emacs/lib/org/lisp/oc-natbib hides /usr/share/emacs/31.0.50/lisp/org/oc-natbib /home/bidar/.local/etc/emacs/lib/org/lisp/oc-csl hides /usr/share/emacs/31.0.50/lisp/org/oc-csl /home/bidar/.local/etc/emacs/lib/org/lisp/oc-bibtex hides /usr/share/emacs/31.0.50/lisp/org/oc-bibtex /home/bidar/.local/etc/emacs/lib/org/lisp/oc-biblatex hides /usr/share/emacs/31.0.50/lisp/org/oc-biblatex /home/bidar/.local/etc/emacs/lib/org/lisp/oc-basic hides /usr/share/emacs/31.0.50/lisp/org/oc-basic /home/bidar/.local/etc/emacs/lib/org/lisp/ob-table hides /usr/share/emacs/31.0.50/lisp/org/ob-table /home/bidar/.local/etc/emacs/lib/org/lisp/ob-sqlite hides /usr/share/emacs/31.0.50/lisp/org/ob-sqlite /home/bidar/.local/etc/emacs/lib/org/lisp/ob-sed hides /usr/share/emacs/31.0.50/lisp/org/ob-sed /home/bidar/.local/etc/emacs/lib/org/lisp/ob-screen hides /usr/share/emacs/31.0.50/lisp/org/ob-screen /home/bidar/.local/etc/emacs/lib/org/lisp/ob-sass hides /usr/share/emacs/31.0.50/lisp/org/ob-sass /home/bidar/.local/etc/emacs/lib/org/lisp/ob-ruby hides /usr/share/emacs/31.0.50/lisp/org/ob-ruby /home/bidar/.local/etc/emacs/lib/org/lisp/ob-ref hides /usr/share/emacs/31.0.50/lisp/org/ob-ref /home/bidar/.local/etc/emacs/lib/org/lisp/ob-perl hides /usr/share/emacs/31.0.50/lisp/org/ob-perl /home/bidar/.local/etc/emacs/lib/org/lisp/ob-org hides /usr/share/emacs/31.0.50/lisp/org/ob-org /home/bidar/.local/etc/emacs/lib/org/lisp/ob-octave hides /usr/share/emacs/31.0.50/lisp/org/ob-octave /home/bidar/.local/etc/emacs/lib/org/lisp/ob-ocaml hides /usr/share/emacs/31.0.50/lisp/org/ob-ocaml /home/bidar/.local/etc/emacs/lib/org/lisp/ob-maxima hides /usr/share/emacs/31.0.50/lisp/org/ob-maxima /home/bidar/.local/etc/emacs/lib/org/lisp/ob-matlab hides /usr/share/emacs/31.0.50/lisp/org/ob-matlab /home/bidar/.local/etc/emacs/lib/org/lisp/ob-makefile hides /usr/share/emacs/31.0.50/lisp/org/ob-makefile /home/bidar/.local/etc/emacs/lib/org/lisp/ob-lua hides /usr/share/emacs/31.0.50/lisp/org/ob-lua /home/bidar/.local/etc/emacs/lib/org/lisp/ob-lisp hides /usr/share/emacs/31.0.50/lisp/org/ob-lisp /home/bidar/.local/etc/emacs/lib/org/lisp/ob-latex hides /usr/share/emacs/31.0.50/lisp/org/ob-latex /home/bidar/.local/etc/emacs/lib/org/lisp/ob-js hides /usr/share/emacs/31.0.50/lisp/org/ob-js /home/bidar/.local/etc/emacs/lib/org/lisp/ob-java hides /usr/share/emacs/31.0.50/lisp/org/ob-java /home/bidar/.local/etc/emacs/lib/org/lisp/ob-haskell hides /usr/share/emacs/31.0.50/lisp/org/ob-haskell /home/bidar/.local/etc/emacs/lib/org/lisp/ob-groovy hides /usr/share/emacs/31.0.50/lisp/org/ob-groovy /home/bidar/.local/etc/emacs/lib/org/lisp/ob-fortran hides /usr/share/emacs/31.0.50/lisp/org/ob-fortran /home/bidar/.local/etc/emacs/lib/org/lisp/ob-forth hides /usr/share/emacs/31.0.50/lisp/org/ob-forth /home/bidar/.local/etc/emacs/lib/org/lisp/ob-eval hides /usr/share/emacs/31.0.50/lisp/org/ob-eval /home/bidar/.local/etc/emacs/lib/org/lisp/ob-eshell hides /usr/share/emacs/31.0.50/lisp/org/ob-eshell /home/bidar/.local/etc/emacs/lib/org/lisp/ob-emacs-lisp hides /usr/share/emacs/31.0.50/lisp/org/ob-emacs-lisp /home/bidar/.local/etc/emacs/lib/org/lisp/ob-dot hides /usr/share/emacs/31.0.50/lisp/org/ob-dot /home/bidar/.local/etc/emacs/lib/org/lisp/ob-ditaa hides /usr/share/emacs/31.0.50/lisp/org/ob-ditaa /home/bidar/.local/etc/emacs/lib/org/lisp/ob-css hides /usr/share/emacs/31.0.50/lisp/org/ob-css /home/bidar/.local/etc/emacs/lib/org/lisp/ob-comint hides /usr/share/emacs/31.0.50/lisp/org/ob-comint /home/bidar/.local/etc/emacs/lib/org/lisp/ob-calc hides /usr/share/emacs/31.0.50/lisp/org/ob-calc /home/bidar/.local/etc/emacs/lib/org/lisp/ob-awk hides /usr/share/emacs/31.0.50/lisp/org/ob-awk /home/bidar/.local/etc/emacs/lib/org/lisp/ob-C hides /usr/share/emacs/31.0.50/lisp/org/ob-C /home/bidar/.local/etc/emacs/lib/compat/compat hides /usr/share/emacs/31.0.50/lisp/emacs-lisp/compat Features: (shadow emacsbug js-mode-expansions js c-ts-common vc-filewise china-util gnus-html magit-patch magit-subtree magit-gitignore magit-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util default-text-scale emacs-news-mode info-look spam-stat nnrss nnmairix nnml nnfeed gnus-uu yenc gnus-sieve gnus-notifications gnus-fun gnus-eform gnus-delay gnus-draft gnus-bookmark deuglify cus-theme xwidget wid-browse icon ace-window checkdoc gnus-dup debbugs-gnu zop-to-char nnregistry gnus-salt gnus-diary nndiary emms-browser dirvish-extras tramp-cmds gnus-notes-org gnus-notes disass texinfo texinfo-loaddefs eshell-did-you-mean eshell-bookmark em-unix em-script em-pred em-glob em-cmpl em-basic em-alias eshell-vterm em-term eshell-z aweshell eshell-up em-prompt em-hist em-smart em-tramp eshell finder finder-inf xt-mouse devhelp vlf-search vlf vlf-base vlf-tune octave-expansions octave dired-narrow company-lua lua-mode piem-gnus git-email-gnus tramp-androidsu tramp-adb rmail tex-mode cmake-font-lock cmake-mode elfeed-tube-mpv lao-util enriched org-colview org-clock-helpers org-duration logview datetime extmap nndoc w3m-form w3m-symbol w3m-bookmark w3m w3m-hist bookmark-w3m w3m-ems w3m-favicon w3m-image w3m-fb tab-line w3m-proc w3m-util pcmpl-unix circe-lagmon mastodon-views flow-fill thai-util thai-word logms-autoloads display-line-numbers treemacs-file-management hydra gnus-recent mailalias bbdb-pgp message-attachment-reminder bbdb-message gnus-alias autocrypt-message dired-open helm-ring treemacs-mouse-interface git-rebase shr-color ibuffer-projectile nerd-icons-ibuffer mastodon-notifications mastodon-media mastodon-profile mastodon-auth mastodon-client crux move-text tabify dumb-jump popup elfeed-link gnus-search eieio-opt speedbar ezimage dframe qp ietf-drums-date gnus-gravatar sort gnus-cite message-view-patch mm-archive gnus-bcklg bbdb-gnus-aux gnus-ml gnus-demon autocrypt-gnus nndraft nnmh gnus-topic utf-7 nnfolder bbdb-gnus bbdb-mua nnnil helm-org-rifle ace-link avy orgit-forge orgit helm-ls-git descr-text smart-region multiple-cursors mc-separate-operations rectangular-region-mode mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors multiple-cursors-core expand-region yaml-mode-expansions subword-mode-expansions cperl-mode-expansions text-mode-expansions cc-mode-expansions the-org-mode-expansions python-el-fgallina-expansions nxml-mode-expansions html-mode-expansions er-basic-expansions expand-region-core expand-region-custom shortdoc help-macro epa-file journalctl time calc calc-loaddefs rect calc-macs proced mastodon mastodon-search mastodon-toot persist mastodon-http request elfeed-summary semantic/symref/grep semantic/symref semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet whitespace rng-cmpct rng-nxml rng-valid nxml-mode nxml-outln nxml-rap sgml-mode centered-window centered-window-mode magit-extras cal-move cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays holiday-loaddefs cal-iso helm-imenu two-column helm-descbinds emacsql-sqlite-builtin sqlite textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check cl-print helm-x-files helm-for-files helm-external help-fns char-fold misearch multi-isearch winner tramp-archive tramp-gvfs zeroconf helm-command goto-chg gitconfig-mode plstore vc-dir company-shell rpm-spec-mode make-mode dap-mouse lsp-ui lsp-ui-flycheck lsp-ui-doc lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util lsp-modeline lsp-icons lsp-diagnostics lsp-completion dap-lldb dap-ui gdb-mi gud bui bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils lsp-lens dap-mode dap-tasks dap-launch lsp-docker posframe dap-overlays ccls ccls-member-hierarchy ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens ccls-semantic-highlight ccls-common lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs-nerd-icons treemacs-magit treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator pulse treemacs-macros yasnippet lsp-mode generic-x skeleton lsp-protocol spinner network-stream lv cap-words superword subword systemd dired-collapse dirvish-yank dirvish-subtree dirvish-collapse dirvish-icons dirvish-vc dirvish-widgets image-file image-converter view atomic-chrome websocket minions back-button smartrep helm-projectile recentf tree-widget savehist org-edit-indirect cus-start yeetube yeetube-mpv socks elfeed-autotag elfeed-score elfeed-score-maint elfeed-score-scoring elfeed-score-serde elfeed-score-rule-stats elfeed-score-rules elfeed-score-log elfeed-tube elfeed-tube-utils aio elfeed-protocol-owncloud elfeed-protocol elfeed-protocol-common elfeed-show elfeed-search rainbow-delimiters ligature symbol-overlay vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view vc-git elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib xml-query emms-player-mpd emms-history emms-volume emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse emms-volume-amixer emms-i18n emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue emms-playlist-sort emms-last-played emms-playing-time emms-lyrics emms-url emms-player-simple emms-streams emms-show-all emms-tag-editor emms-tag-tracktag emms-info-mp3info emms-playlist-mode emms-mark emms-cache emms-info-native emms-info-native-spc emms-info-native-mp3 emms-info-native-ogg emms-info-native-opus emms-info-native-flac emms-info-native-vorbis emms-info-libtag emms-info emms-later-do emms-source-playlist emms-source-file locate emms emms-compat khardel piem piem-maildir mail-extr gravatar dns smiley autocrypt gnus-icalendar gnus-async smtpmail-async smtpmail gnus-registry registry gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache gnus-desktop-notify bbdb-vcard bbdb-com bbdb-vcard-vcard21 bbdb bbdb-site timezone mastodon-async mastodon-tl url-cache mpv tq mastodon-iso lui-track company-emoji company-emoji-list helm-circe circe-notifications circe-display-images circe-color-nicks circe lui-irc-colors irc lcs lui-logging lui-format lui tracking shorten flyspell circe-compat ical2org org-caldav icalendar ox-extra ox-odt rng-loc rng-uri rng-parse rng-match rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-koma-letter ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox org-attach url-dav org-pomodoro alert notifications org-timer org-expiry ol-man org-super-agenda ts org-habit vim-modeline org-contacts org-capture cdlatex reftex reftex-loaddefs reftex-vars texmathp org-appear org-modern ws-butler selected jinx oc-basic 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 dig ol-docview doc-view ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi appt diary-lib diary-loaddefs org-agenda org-element org-persist org-id avl-tree org-refile org-clock org-protocol ob-sqlite ob-sql ob-shell ob-python python ob-plantuml ob-org ob-octave ob-lua ob-js ob-gnuplot ob-dot ob-ditaa ob-clojure ob-C outshine outshine-org-cmds outorg smartparens-org smartparens-text smartparens loadhist org-archive-subtree-hierarchy org-archive salt-mode rst mmm-jinja2 yaml-mode perl-completion woman man dabbrev cperl-mode facemenu helm-elisp helm-eval edebug debug backtrace cl cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ggtags ewoc flycheck-color-mode-line flycheck jka-compr bitbake-modes bitbake generic autoinsert conf-bitbake-mode conf-mode bitbake-ff find-file bitbake-mmm mmm-mode mmm-univ mmm-class mmm-region mmm-auto mmm-vars mmm-utils mmm-compat bitbake-functions bitbake-compat xterm-color vc-osc vc vc-dispatcher forge-repos forge-tablist forge-topics forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub gnutls forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml eieio-custom bug-reference forge-post markdown-mode edit-indirect forge-repo forge forge-core forge-db magit-libgit libgit libegit2 magit-popup git-email midnight vlf-setup multi-vterm vterm face-remap color term disp-table ehelp vterm-module term/xterm xterm tramp-cache time-stamp tramp-sh eshell-prompt-extras em-dirs esh-mode esh-var em-ls esh-cmd esh-ext esh-proc esh-io esh-arg esh-module esh-module-loaddefs esh-opt esh-util debbugs soap-client url-http url-auth url-gw nsm rng-xsd rng-dt rng-util xsd-regexp debbugs-compat org-bug bug-search 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 backline outline-minor-faces noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs cal-menu calendar cal-loaddefs gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus company-yasnippet goto-addr gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader range org-version org-compat org-element-ast org-macs bug-comment-mode bug-backend-bz-rpc bug-list-mode bug-mode bug-format bug-rpc bug-debug bug-search-common bug-common-functions bug-persistent-data bug-custom projectile ibuf-ext ibuffer ibuffer-loaddefs company-oddmuse company-keywords company-etags etags fileloop generator xref project company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb company elec-pair editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch wgrep-ag use-package-transient frames-only-mode windmove i3-integration i3 bindat marginalia which-key dirvish helm-dired-history dired-ranger dired-avfs dired-rainbow dired-filter dired-hacks-utils dired-async async-bytecomp dired-du find-dired wdired helm-icons treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils treemacs-logging treemacs-customization pfuture inline hl-line treemacs-faces helm-bookmark helm-net xml helm-adaptive helm-info magit-bookmark bookmark helm-mode helm-misc helm-files image-dired image-dired-tags image-dired-external image-dired-util image-mode exif dired-x dired-aux ffap tramp trampver tramp-integration files-x tramp-message tramp-compat parse-time iso8601 tramp-loaddefs helm-buffers all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons helm-occur helm-tags helm-locate helm-grep wgrep-helm wgrep grep compile helm-regexp helm-utils helm-help helm-types so-long emojify apropos tar-mode arc-mode archive-mode ht cursor-chg doom-modeline doom-modeline-segments let-alist doom-modeline-env doom-modeline-core shrink-path f s nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon modus-vivendi-theme modus-themes helm-pass password-store helm helm-global-bindings helm-easymenu helm-core helm-source helm-multi-match helm-lib async auth-source-pass printing ps-print ps-print-loaddefs lpr desktop frameset info+ thingatpt saveplace advice delsel no-littering epkg-elpa epkg-utils epkg-list epkg-desc find-func epkg closql emacsql-sqlite emacsql emacsql-compiler eieio-base llama auto-compile use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key use-package-core magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff diff-mode track-changes git-commit log-edit message sendmail yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process with-editor shell pcomplete comint ansi-osc ring server ansi-color magit-mode transient comp-run easy-mmode edmacro kmacro benchmark magit-git magit-base magit-section format-spec cursor-sensor crm dash compat zop-to-char-autoloads yeetube-autoloads yasnippet-autoloads yaml-mode-autoloads yaml-autoloads xterm-color-autoloads ws-butler-autoloads with-editor-autoloads whole-line-or-region-autoloads which-key-autoloads wgrep-autoloads websocket-autoloads web-mode-autoloads w3m-autoloads vlf-autoloads visual-regexp-autoloads vim-modeline-autoloads vc-osc-autoloads uuidgen-autoloads use-package-transient-autoloads use-package-autoloads ts-autoloads treepy-autoloads treemacs-nerd-icons-autoloads treemacs-autoloads transient-autoloads toml-mode-autoloads systemd-autoloads symbol-overlay-autoloads swiper-helm-autoloads ssh-config-mode-autoloads spinner-autoloads smartrep-autoloads smartparens-autoloads smart-region-autoloads skewer-mode-autoloads simple-httpd-autoloads shrink-path-autoloads selected-autoloads salt-mode-autoloads s-autoloads rpm-spec-mode-autoloads rich-minority-autoloads request-autoloads rainbow-delimiters-autoloads rainbow-csv-autoloads qt-pro-mode-autoloads qml-mode-autoloads pythonic-autoloads projectile-autoloads posframe-autoloads pos-tip-autoloads popup-autoloads plantuml-mode-autoloads pkgbuild-mode-autoloads piper-autoloads piem-autoloads pfuture-autoloads perspective-autoloads persp-mode-autoloads persist-autoloads password-store-autoloads pass-autoloads ox-bb-autoloads outshine-autoloads outorg-autoloads outline-minor-faces-autoloads orgit-forge-autoloads orgit-autoloads org-vcard-autoloads org-tree-slide-autoloads org-super-agenda-autoloads org-remoteimg-autoloads org-pomodoro-autoloads org-modern-autoloads org-edit-indirect-autoloads org-contrib-autoloads org-contacts-autoloads org-clock-helpers-autoloads org-caldav-autoloads org-appear-autoloads org-autoloads nov-autoloads no-littering-autoloads nnreddit-autoloads nnhackernews-autoloads nginx-mode-autoloads nerd-icons-ibuffer-autoloads nerd-icons-autoloads navi-mode-autoloads multiple-cursors-autoloads multi-vterm-autoloads mpv-autoloads move-text-autoloads modus-themes-autoloads mode-icons-autoloads mmm-mode-autoloads mmm-jinja2-autoloads minions-autoloads message-x-autoloads message-view-patch-autoloads message-attachment-reminder-autoloads meson-mode-autoloads mastodon-autoloads markdown-mode-autoloads marginalia-autoloads magit-popup-autoloads magit-autoloads lua-mode-autoloads lsp-ui-autoloads lsp-treemacs-autoloads lsp-mode-autoloads lsp-docker-autoloads logview-autoloads llama-autoloads lisp-autoloads link-hint-autoloads ligature-autoloads levenshtein-autoloads khardel-autoloads js2-mode-autoloads journalctl-autoloads jira-markup-mode-autoloads ivy-autoloads irony-autoloads ir-black-theme-autoloads info+-autoloads imenu-list-autoloads iedit-autoloads ical2org-autoloads ibuffer-projectile-autoloads i3wm-config-mode-autoloads i3-autoloads hydra-autoloads htmlize-autoloads ht-autoloads highlight-indent-guides-autoloads helm-projectile-autoloads helm-pass-autoloads helm-org-rifle-autoloads helm-make-autoloads helm-ls-git-autoloads helm-icons-autoloads helm-ext-autoloads helm-emms-autoloads helm-dired-history-autoloads helm-descbinds-autoloads helm-circe-autoloads helm-autoloads guess-language-autoloads grep-context-autoloads goto-chg-autoloads gnus-recent-autoloads gnus-notes-autoloads gnus-desktop-notify-autoloads gnus-alias-autoloads gitconfig-autoloads git-modes-autoloads git-email-autoloads ghub-autoloads ggtags-autoloads frames-only-mode-autoloads forge-autoloads flycheck-color-mode-line-autoloads flycheck-autoloads flimenu-autoloads fedi-autoloads f-autoloads extmap-autoloads expand-region-autoloads evil-multiedit-autoloads evil-autoloads esxml-autoloads eshell-z-autoloads eshell-vterm-autoloads eshell-up-autoloads eshell-prompt-extras-autoloads eshell-bookmark-autoloads epkg-autoloads emojify-autoloads emacsql-autoloads elixir-mode-autoloads elfeed-tube-autoloads elfeed-summary-autoloads elfeed-score-autoloads elfeed-protocol-autoloads elfeed-autotag-autoloads elfeed-autoloads el-mock-autoloads eimp-autoloads editorconfig-autoloads edit-indirect-autoloads dumb-jump-autoloads doom-modeline-autoloads docbook-autoloads dirvish-autoloads dired-rsync-autoloads dired-hacks-autoloads dired-du-autoloads devhelp-autoloads deferred-autoloads default-text-scale-autoloads debbugs-autoloads datetime-autoloads dash-autoloads dap-mode-autoloads cursor-chg-autoloads csv-mode-autoloads crux-autoloads copy-as-format-autoloads compat-autoloads company-shell-autoloads company-quickhelp-autoloads company-nginx-autoloads company-lua-autoloads company-irony-autoloads company-emoji-autoloads company-anaconda-autoloads company-autoloads code-review-autoloads cmake-mode-autoloads cmake-font-lock-autoloads closql-autoloads circe-notifications-autoloads circe-autoloads centered-window-autoloads cdlatex-autoloads ccls-autoloads buttercup-autoloads bui-autoloads bug-mode-autoloads borg-autoloads bitbake-modes-autoloads bbdb-vcard-autoloads bbdb-loaddefs backline-autoloads back-button-autoloads aweshell-autoloads avy-autoloads autocrypt-autoloads auto-compile-autoloads atomic-chrome-autoloads async-autoloads anaconda-mode-autoloads all-the-icons-autoloads alert-autoloads aio-autoloads ag-autoloads ace-window-autoloads ace-link-autoloads a-autoloads 2048-game-autoloads borg derived loaddefs-gen lisp-mnt radix-tree info comp comp-cstr cl-extra help-mode comp-common warnings rx ispell 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 cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cus-edit pp pcase cus-load icons wid-edit cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 19230691 5322735) (symbols 48 158891 302) (strings 32 3356266 431996) (string-bytes 1 296622778) (vectors 16 1184023) (vector-slots 8 21822591 3690097) (floats 8 17047 62820) (intervals 56 1212407 111514) (buffers 992 875)) ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-01-05 20:36 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <87wmfclrf0.fsf@> 2025-01-03 8:16 ` bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched Eli Zaretskii 2025-01-03 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors [not found] ` <87o70nd4dd.fsf@> 2025-01-04 13:26 ` Eli Zaretskii 2025-01-04 21:34 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors [not found] ` <87bjwmw9f1.fsf@> 2025-01-05 6:29 ` Eli Zaretskii 2025-01-05 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors [not found] ` <87o70lt2yw.fsf@> 2025-01-05 20:36 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors 2025-01-02 23:36 Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).