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