Oh my gosh, how blind I was. I don't know what I was thinking!
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 <[email protected]> a écrit : > Erica Qi <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> a écrit : > >> > > >> > > Erica Qi <[email protected]> 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 <[email protected]> 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 <[email protected]> a écrit : > >> > > >> > >> > > >> > 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" > >> > > >> > > >> > > >> > >> > > >> > >> > > > > >> > > > >> > > -- > >> > > "Cut your own wood and it will warm you twice" > >> > > > >> > > >> > > >> > > > > -- > "Cut your own wood and it will warm you twice" >
