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. 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" > > > > > > > >