Erica Qi <[email protected]> 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 <[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" >> > -- "Cut your own wood and it will warm you twice"
