Erica Qi <ericalin...@proton.me> writes:

> I just pushed a few small changes to Emms-filters.
>
> I figured out the problem with expand-all while testing the ring filters.
>
> It was trying to expand when there was no bdata tree to
> expand. Infinite loop looking for a tree level that was always nil.
> This was fallout from rearranging the relationship between the browser
> and the filters. It disconnected some knowledge/decisions that are now
> isolated in hooks.
>
> I also improved the no cache / empty results message to be a bit friendlier.
>
> 2 small bugs, show-filter-factories was broken and filters-clear needed an 
> interactive.
>
> I made a few little changes to make the information formats more consistent.
>
> I don't remember why I displayed the search cache stack inverted, I clearly 
> did it on purpose.
> I think it's better that both stacks have the current entry on top.  Those 
> names can get fairly long.
>
> I've run through a bunch of testing and it all seems solid.  I've made
> a lot of different filters, all the stack manipulations, cache
> stashing and filter saving (keep).  It's all interactive and sort of
> endless.  My own configuration makes some filters too.
>
> I've done the browser searches, I don't actually use searches that much, I do 
> a hard filter when I want a new cache.
>
> This system is so nice to use!
>
> Have a nice day!

Thank you for all this excellent work.

I've merged Emms-filters into the main git branch and initiated pushing
version 23 to ELPA. It should be available for update in a few hours.

>
> -------- Message d'origine --------
> Le 23/06/2025 23:47, Yoni Rabkin <y...@rabkins.net> a écrit :
>
>>  Erica Qi <ericalin...@proton.me> writes:
>>  
>>  > Oh my gosh, how blind I was.
>>  > I don't know what I was thinking!
>>  
>>  It's all good. We all thank you for all of the great work you are doing.
>>  
>>  > I must have been really tired that day.
>>  > It has been so hot.  It wipes me out.
>>  >
>>  > Reversed my folly and made the original fix I had.
>>  >
>>  > Pushed it.
>>  >
>>  > I must never use anything but expand-all.
>>  >
>>  > I'll keep testing tomorrow.  I'm almost through  all the filter factories 
>> and filters.  Some of the searches and search cache, and the stack commands 
>> for each stack.
>>  >
>>  >
>>  > -------- Message d'origine --------
>>  > Le 23/06/2025 22:23, Yoni Rabkin <y...@rabkins.net> a écrit :
>>  >
>>  >>  Erica Qi <ericalin...@proton.me> writes:
>>  >>
>>  >>  > I pushed a small change today.
>>  >>  >
>>  >>  > I've used filtering and searching quite a bit. I still have to test
>>  >>  > some more things but it seems good.
>>  >>  >
>>  >>  > Elint complains about the cl-reduce at 1184 having the wrong number of
>>  >>  > arguments. But it couldn't be simpler and I've tested it quite a bit.
>>  >>  >
>>  >>  > Compile and make are clean.
>>  >>  >
>>  >>  > There is an error in texinfo but that error is in main, and I haven't
>>  >>  > actually grokked it.  The nodes were rearranged with the copyright /
>>  >>  > license.
>>  >>
>>  >>  `emms-browser-mark-and-collapse' looks like it has an infinite loop.
>>  >>
>>  >>  >
>>  >>  > Erica
>>  >>  >
>>  >>  > Envoyé depuis Proton Mail pour Android
>>  >>  >
>>  >>  >
>>  >>  > -------- Message d'origine --------
>>  >>  > Le 17/06/2025 12:09, Erica Qi <ericalin...@proton.me> a écrit :
>>  >>  >
>>  >>  >>  I've pushed the work I did last week.  I ve been travelling the 
>> last 6 days and forgot to push it all before I left.
>>  >>  >>
>>  >>  >>  Compile and make show no errors or warnings.
>>  >>  >>
>>  >>  >>  Elint is complaining about the cl-reduce at 1184 in emms-filters. 
>> Wrong number of arguments.
>>  >>  >>
>>  >>  >>  I don't see it, and the function is working just fine, it's the 
>> reduce for any OR'd filters.
>>  >>  >>  I've stared at it quite a lot.
>>  >>  >>
>>  >>  >>  I'm getting a mark not saved error on refresh so I've got to track 
>> that down.
>>  >>  >>
>>  >>  >>  Otherwise I'd like to spend some time using it to make sure 
>> everything is in good shape.
>>  >>  >>
>>  >>  >>  Erica
>>  >>  >>
>>  >>  >>
>>  >>  >>  Envoyé depuis Proton Mail pour Android
>>  >>  >>
>>  >>  >>
>>  >>  >>  -------- Message d'origine --------
>>  >>  >>  Le 08/06/2025 20:18, Erica Qi via <emms-help@gnu.org> a écrit :
>>  >>  >>
>>  >>  >>  >  Cool, that's better.
>>  >>  >>  >
>>  >>  >>  >  It's interesting a compile shows nothing,
>>  >>  >>  >  Elint showed a faire amount but no problem with ring for 
>> instance, or doc strings.
>>  >>  >>  >  The make showed all of it.
>>  >>  >>  >
>>  >>  >>  >  I'm not sure why.  I don't turn off warnings in my emacs.
>>  >>  >>  >
>>  >>  >>  >  I've fixed all of it but I'm testing and re-examining what might 
>> be unnecessary functionality that I made for backward compatibility with the 
>> browser.
>>  >>  >>  >
>>  >>  >>  >  I haven't pushed anything yet.
>>  >>  >>  >
>>  >>  >>  >  Envoyé depuis Proton Mail pour Android
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>  >  -------- Message d'origine --------
>>  >>  >>  >  Le 08/06/2025 00:06, Yoni Rabkin <y...@rabkins.net> a écrit :
>>  >>  >>  >
>>  >>  >>  >  >  Erica Qi <ericalin...@proton.me> writes:
>>  >>  >>  >  >
>>  >>  >>  >  >  > Ok, so even a vanilla and completely empty emacs has no 
>> warnings or
>>  >>  >>  >  >  > errors to give.
>>  >>  >>  >  >
>>  >>  >>  >  >  Try running the makefile (it's what ELPA will eventually do).
>>  >>  >>  >  >
>>  >>  >>  >  >  > I've started using Elint and that has given me some stuff 
>> to look at
>>  >>  >>  >  >  > so I'll do that over the weekend.
>>  >>  >>  >  >  >
>>  >>  >>  >  >  > Envoyé depuis Proton Mail pour Android
>>  >>  >>  >  >  >
>>  >>  >>  >  >  >
>>  >>  >>  >  >  > -------- Message d'origine --------
>>  >>  >>  >  >  > Le 06/06/2025 22:23, Erica Qi via <emms-help@gnu.org> a 
>> écrit :
>>  >>  >>  >  >  >
>>  >>  >>  >  >  >>  I'll look at the ring stuff.
>>  >>  >>  >  >  >>
>>  >>  >>  >  >  >>  My understanding is that native compile is a side affect 
>> of a byte compile.
>>  >>  >>  >  >  >>
>>  >>  >>  >  >  >>  I'm not seeing anything but compiled and the timestamp. I 
>> did have 3-4 errors which I fixed.
>>  >>  >>  >  >  >>
>>  >>  >>  >  >  >>  Maybe I should try it with a complete vanilla emacs.  So 
>> there's no packages loaded at all.
>>  >>  >>  >  >  >>  That's easy enough.
>>  >>  >>  >  >  >>
>>  >>  >>  >  >  >>  If you have a different way I'll give it a try.
>>  >>  >>  >  >  >>
>>  >>  >>  >  >  >>  Erica
>>  >>  >>  >  >  >>
>>  >>  >>  >  >  >>  Envoyé depuis Proton Mail pour Android
>>  >>  >>  >  >  >>
>>  >>  >>  >  >  >>
>>  >>  >>  >  >  >>  -------- Message d'origine --------
>>  >>  >>  >  >  >>  Le 06/06/2025 19:21, Yoni Rabkin <y...@rabkins.net> a 
>> écrit :
>>  >>  >>  >  >  >>
>>  >>  >>  >  >  >>  >  Erica Qi <ericalin...@proton.me> writes:
>>  >>  >>  >  >  >>  >
>>  >>  >>  >  >  >>  >  > I just double checked.
>>  >>  >>  >  >  >>  >  > My version of emms-filters has no warnings or 
>> errors. And it is up to date with the repo.
>>  >>  >>  >  >  >>  >  >
>>  >>  >>  >  >  >>  >  > Emms-browser had two warnings about defcustoms.
>>  >>  >>  >  >  >>  >  >
>>  >>  >>  >  >  >>  >  > I don't know that code. Maybe I missed a merge.
>>  >>  >>  >  >  >>  >  >
>>  >>  >>  >  >  >>  >  > They are fixed and pushed now.
>>  >>  >>  >  >  >>  >  >
>>  >>  >>  >  >  >>  >  > Both emms-browser and emms-filters compile clean for 
>> me.
>>  >>  >>  >  >  >>  >
>>  >>  >>  >  >  >>  >  Here is the commit I'm talking about:
>>  >>  >>  >  >  >>  >
>>  >>  >>  >  >  >>  >  $ git rev-parse --short HEAD
>>  >>  >>  >  >  >>  >  1989d6a
>>  >>  >>  >  >  >>  >
>>  >>  >>  >  >  >>  >  It has things like calls to `ring-previous' without 
>> (require 'ring),
>>  >>  >>  >  >  >>  >  which should absolutely generate warnings upon 
>> compilation for you.
>>  >>  >>  >  >  >>  >
>>  >>  >>  >  >  >>  >  > Envoyé depuis Proton Mail pour Android
>>  >>  >>  >  >  >>  >  >
>>  >>  >>  >  >  >>  >  >
>>  >>  >>  >  >  >>  >  > -------- Message d'origine --------
>>  >>  >>  >  >  >>  >  > Le 05/06/2025 23:29, Yoni Rabkin <y...@rabkins.net> 
>> a écrit :
>>  >>  >>  >  >  >>  >  >
>>  >>  >>  >  >  >>  >  >>  Erica Qi <ericalin...@proton.me> writes:
>>  >>  >>  >  >  >>  >  >>
>>  >>  >>  >  >  >>  >  >>  > Ok, I've got Emacs 30.1 compiled and configured.
>>  >>  >>  >  >  >>  >  >>  > I built 31 too but haven't proceeded with it yet.
>>  >>  >>  >  >  >>  >  >>  > It's got some things I'd like to try.
>>  >>  >>  >  >  >>  >  >>  >
>>  >>  >>  >  >  >>  >  >>  > There were a couple of warnings about compiling 
>> lambdas and I had to remove lexical-let. It's better for it.
>>  >>  >>  >  >  >>  >  >>  >
>>  >>  >>  >  >  >>  >  >>  > 30 is nagging me to add
>>  >>  >>  >  >  >>  >  >>  >  -*-  Lexical-binding: t   -*-
>>  >>  >>  >  >  >>  >  >>  > to all my Elisp code...
>>  >>  >>  >  >  >>  >  >>  > EMMS-filters already had it but I had used 
>> lexical-let instead.
>>  >>  >>  >  >  >>  >  >>  >
>>  >>  >>  >  >  >>  >  >>  > I also found a couple of typo/bugs and updated 
>> the comments and doc to reflect the changes.
>>  >>  >>  >  >  >>  >  >>  >
>>  >>  >>  >  >  >>  >  >>  > It compiles cleanly and it still works!
>>  >>  >>  >  >  >>  >  >>
>>  >>  >>  >  >  >>  >  >>  Are you sure we are talking about the same thing? 
>> I pulled to this
>>  >>  >>  >  >  >>  >  >>  commit and it doesn't compile cleanly. I don't 
>> mind having a look
>>  >>  >>  >  >  >>  >  >>  through the compiler warnings, but I want to make 
>> sure that we are on
>>  >>  >>  >  >  >>  >  >>  the same page first:
>>  >>  >>  >  >  >>  >  >>  
>> https://cgit.git.savannah.gnu.org/cgit/emms.git/commit/?h=Emms-filters&id=dcc6f99d348ea0ed14682e1166dce24279768f3f
>>  >>  >>  >  >  >>  >  >>
>>  >>  >>  >  >  >>  >  >>  >
>>  >>  >>  >  >  >>  >  >>  > Erica
>>  >>  >>  >  >  >>  >  >>  >
>>  >>  >>  >  >  >>  >  >>  > Envoyé depuis Proton Mail pour Android
>>  >>  >>  >  >  >>  >  >>  >
>>  >>  >>  >  >  >>  >  >>  >
>>  >>  >>  >  >  >>  >  >>  > -------- Message d'origine --------
>>  >>  >>  >  >  >>  >  >>  > Le 01/06/2025 00:33, Yoni Rabkin 
>> <y...@rabkins.net> a écrit :
>>  >>  >>  >  >  >>  >  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  Erica Qi <ericalin...@proton.me> writes:
>>  >>  >>  >  >  >>  >  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  > Hello Yoni,
>>  >>  >>  >  >  >>  >  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  > All those things are fixed.
>>  >>  >>  >  >  >>  >  >>  >>  > Emms-filters is agnostic about the renderer.
>>  >>  >>  >  >  >>  >  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  > The browser requires it and sets some hooks.
>>  >>  >>  >  >  >>  >  >>  >>  > The browser keymap is entirely defined in 
>> the browser code.
>>  >>  >>  >  >  >>  >  >>  >>  > Updated the doc.
>>  >>  >>  >  >  >>  >  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  > The emms-browser-filter-changed-hook is 
>> deprecated.  EMMS filters has a replacement defcustom.  Plus two more hooks 
>> to make renders happen.
>>  >>  >>  >  >  >>  >  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  > Poking around to see what else I can find.
>>  >>  >>  >  >  >>  >  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  Does it compile cleanly on the latest official 
>> release (30.1)?
>>  >>  >>  >  >  >>  >  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  > Erica
>>  >>  >>  >  >  >>  >  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  > Envoyé depuis Proton Mail pour Android
>>  >>  >>  >  >  >>  >  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  > -------- Message d'origine --------
>>  >>  >>  >  >  >>  >  >>  >>  > Le 30/05/2025 20:39, Yoni Rabkin 
>> <y...@rabkins.net> a écrit :
>>  >>  >>  >  >  >>  >  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  Erica Qi <ericalin...@proton.me> writes:
>>  >>  >>  >  >  >>  >  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  > Hello Yoni,
>>  >>  >>  >  >  >>  >  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  > I'm still learning my way around 
>> savannah but I got a branch pushed tonight.
>>  >>  >>  >  >  >>  >  >>  >>  >>  > Emms-filters.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  > Let me know what you find.
>>  >>  >>  >  >  >>  >  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  I would start with:
>>  >>  >>  >  >  >>  >  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  * The `cl' package is depreciated.
>>  >>  >>  >  >  >>  >  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  * The code contains references to 
>> variables that probably existed during
>>  >>  >>  >  >  >>  >  >>  >>  >>    development (or were in the REPL), but 
>> don't anymore. For instance
>>  >>  >>  >  >  >>  >  >>  >>  >>    `tango-filters' versus `filters' in
>>  >>  >>  >  >  >>  >  >>  >>  >>    
>> `emms-filters-add-to-filter-menu-from-filter-list'.
>>  >>  >>  >  >  >>  >  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  * The dependency relationship between 
>> emms-filters and emms-browser
>>  >>  >>  >  >  >>  >  >>  >>  >>    needs to be figured out. emms-filters 
>> requires emms-browser, but
>>  >>  >>  >  >  >>  >  >>  >>  >>    emms-browser calls emms-filters 
>> functions.
>>  >>  >>  >  >  >>  >  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  I would start there.
>>  >>  >>  >  >  >>  >  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  Thank you in advance! I'm looking forward 
>> to this feature being added to
>>  >>  >>  >  >  >>  >  >>  >>  >>  Emms.
>>  >>  >>  >  >  >>  >  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  > Have a nice day,
>>  >>  >>  >  >  >>  >  >>  >>  >>  > Erica
>>  >>  >>  >  >  >>  >  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  > Envoyé depuis Proton Mail pour Android
>>  >>  >>  >  >  >>  >  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  > -------- Message d'origine --------
>>  >>  >>  >  >  >>  >  >>  >>  >>  > Le 20/05/2025 19:24, Yoni Rabkin 
>> <y...@rabkins.net> a écrit :
>>  >>  >>  >  >  >>  >  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  Erica Qi <ericalin...@proton.me> 
>> writes:
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > Oh, I thought I had.  When I created 
>> it.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > Lost in email somewhere perhaps. Or 
>> maybe I failed to send it.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > I thought it was strange that I 
>> never heard back from you.  I've been
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > sick and super busy otherwise. 
>> Feeing good these days but I had a
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > rough winter.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  I'm sorry to hear that, and I'm hoping 
>> you feel better soon.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > Here's the link. There's an Emms 
>> filters branch
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > With all the changes.  My nickname 
>> is Zenie.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > https://codeberg.org/ZeniesQis/Emms
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > Let me know if you have questions or 
>> suggestions or needs.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  I'll review the code and provide 
>> feedback.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > I can still upload it to savannah, I 
>> have an account now. :)
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > Thanks for reaching out. It's been 
>> popping up in my mind lately.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  You are always welcome to become an 
>> Emms developer on Savannah. But
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  right now I think we have everything 
>> we need to move this forward.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > Envoyé depuis Proton Mail pour 
>> Android
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > -------- Message d'origine --------
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  > Le 20/05/2025 17:58, Yoni Rabkin 
>> <y...@rabkins.net> a écrit :
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  Erica Qi <ericalin...@proton.me> 
>> writes:
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  > I put the code on codeberg.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  > I didn't see where to join 
>> savannah.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  > I can go look again.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  > It's been pushed and ready a 
>> long time now.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  In which case we've 
>> miscommunicated. I apologies for that.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  Can you give me the codeberg url?
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  > Erica
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  > Envoyé depuis Proton Mail pour 
>> Android
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  > -------- Message d'origine 
>> --------
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  > Le 20/05/2025 17:39, Yoni Rabkin 
>> <y...@rabkins.net> a écrit :
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  Erica Qi 
>> <ericalin...@proton.me> writes:
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > Those would be easy things 
>> to fix. Not sure why they are requiring each other...
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > I actually haven't pushed 
>> this anywhere as a whole. I
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > just kept my bits. I just 
>> wrote the doc
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > The last couple of weeks.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > I'd be happy to work on it 
>> at savannah.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  Are you still planning on 
>> joining Savannah to work on Emms?
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > I just hopped from gitlab to 
>> codeberg so my personal stuff is a bit in limbo.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > I'm in France, so it seemed 
>> like a good idea to find a
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > git host here. Really didn't 
>> like gitlab much.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > I've been a little sick the 
>> last few days so moving a bit slow.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > Let me know how to proceed 
>> and I'll fix that stuff and we
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > can hunt for more.  It 
>> should be pretty good.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > Have a nice evening.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > Erica
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > Envoyé depuis Proton Mail 
>> pour Android
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > -------- Message d'origine 
>> --------
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  > Le 31/03/2025 21:02, Yoni 
>> Rabkin <y...@rabkins.net> a écrit :
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  Erica Qi via 
>> <emms-help@gnu.org> writes:
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > Hello,
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > I apologize in advance 
>> for the size of this patch. Its actually
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > more than a year old 
>> now, I'm just now getting it together to give
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > to you here. The 
>> documentation is fresh and extensive.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > I've been sure to follow 
>> along with browser changes
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > as the time went by.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > It started with adding 
>> Album Artist and Genre to the browser.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > That led to refactoring 
>> the node-tree to make it easier to use.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > It is now defined by 
>> data instead of a function.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > I also fixed a lot doc 
>> strings because I hate doc string warnings.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > That led to frustration 
>> with filtering and searching, album artist and
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > genre were also missing 
>> there.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > FIlters and searches 
>> didn't work together at all, Nor could they do
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > anything more than a 
>> single thing at a time. Narrowing a search
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > was impossible without 
>> writing more code, for a specific function
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > to do that exact filter 
>> or search.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > I wrote the Filter 
>> system and refactored the browser to use it.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > The old browser system 
>> still works but is deprecated. Except in
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > the case that someone 
>> has code that uses it, there is no reason
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > to use it.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > There is a very thin 
>> layer of code which preserves the Brower's API
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > but uses the filter 
>> system to do all the work.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > The new system is 
>> tremendously more powerful and much easier
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > to extend and use.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > Here is the introductory 
>> paragraph from The filter system chapter in
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > the documentation. I'll 
>> let the documentation and the code speak for itself.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > I will say that its 
>> actually fun to use, and when I look at the code,
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > I am sometimes stunned 
>> by the beauty of it.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > The filter system allows 
>> you to filter the metadata cache in order search
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > and narrow your track 
>> data. It is based on a very powerful interactive
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > system consistenting of 
>> filter and cache stacks which allow
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > the creation and 
>> manipulation of complex filters and results caches.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > I hope you like it.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  > Erica
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  I'm very happy to see 
>> someone working on the browser; thank you for
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  that.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  There would a bit of work 
>> that needs to be done in order to include this
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  into Emms. But I don't 
>> think too much. Two things that come up with a
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  cursory glance:
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  The dependencies between 
>> `emms-filters' and `emms-browser' would need to
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  be figured out. 
>> `emms-filter' requires `emms-browser', but
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  `emms-browser' calls 
>> functions defined in `emms-filter'.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  We would also need to 
>> rename all of the `emf-*' functions since we
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  shouldn't step on the 
>> `emf-*' "namespace".
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  I'm sure that there are 
>> other issues to mop up, but it also looks like
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  it wouldn't be anything 
>> too difficult.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  I would like to work on 
>> this code in a public branch until we are happy
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  with it, then merge into 
>> the main git repo.
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  Do you have a 
>> public-facing copy of Emms with this code in a branch? If
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  not, would you like 
>> developer access so that you can create a branch on
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  Savannah?
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>  --
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>     "Cut your own wood and 
>> it will warm you twice"
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>  --
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>     "Cut your own wood and it 
>> will warm you twice"
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>  --
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>     "Cut your own wood and it will 
>> warm you twice"
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>  --
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>     "Cut your own wood and it will warm 
>> you twice"
>>  >>  >>  >  >  >>  >  >>  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >>  --
>>  >>  >>  >  >  >>  >  >>  >>  >>     "Cut your own wood and it will warm you 
>> twice"
>>  >>  >>  >  >  >>  >  >>  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  >
>>  >>  >>  >  >  >>  >  >>  >>
>>  >>  >>  >  >  >>  >  >>  >>  --
>>  >>  >>  >  >  >>  >  >>  >>     "Cut your own wood and it will warm you 
>> twice"
>>  >>  >>  >  >  >>  >  >>  >>
>>  >>  >>  >  >  >>  >  >>  >
>>  >>  >>  >  >  >>  >  >>
>>  >>  >>  >  >  >>  >  >>  --
>>  >>  >>  >  >  >>  >  >>     "Cut your own wood and it will warm you twice"
>>  >>  >>  >  >  >>  >  >>
>>  >>  >>  >  >  >>  >  >
>>  >>  >>  >  >  >>  >
>>  >>  >>  >  >  >>  >  --
>>  >>  >>  >  >  >>  >     "Cut your own wood and it will warm you twice"
>>  >>  >>  >  >  >>  >
>>  >>  >>  >  >  >>
>>  >>  >>  >  >  >>
>>  >>  >>  >  >  >
>>  >>  >>  >  >
>>  >>  >>  >  >  --
>>  >>  >>  >  >     "Cut your own wood and it will warm you twice"
>>  >>  >>  >  >
>>  >>  >>  >
>>  >>  >>  >
>>  >>  >>
>>  >>  >
>>  >>
>>  >>  --
>>  >>     "Cut your own wood and it will warm you twice"
>>  >>
>>  >
>>  
>>  --
>>     "Cut your own wood and it will warm you twice"
>>  
>

-- 
   "Cut your own wood and it will warm you twice"

Reply via email to