Erica Qi <[email protected]> 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 <[email protected]> a écrit :
>
>>  Erica Qi <[email protected]> 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 <[email protected]> a écrit :
>>  >
>>  >>  Erica Qi <[email protected]> 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 <[email protected]> a écrit :
>>  >>  >
>>  >>  >>  Erica Qi <[email protected]> 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 <[email protected]> a écrit :
>>  >>  >>  >
>>  >>  >>  >>  Erica Qi <[email protected]> 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 <[email protected]> a écrit :
>>  >>  >>  >>  >
>>  >>  >>  >>  >>  Erica Qi <[email protected]> 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 <[email protected]> a 
>> écrit :
>>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >>
>>  >>  >>  >>  >>  >>  Erica Qi <[email protected]> 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 <[email protected]> a 
>> écrit :
>>  >>  >>  >>  >>  >>  >
>>  >>  >>  >>  >>  >>  >>  Erica Qi via <[email protected]> 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"

Reply via email to