Commits


rework the history management It was a huge pile of spaghetti with useless utility functions and lots of code reaching into the "data structure" (if you can call it so) to do stuff. Instead, provide a "module" with a clean interface and noone reaching in the insides.


unroll recursion


decrement the length in hist_clear_forward


plug history memory leak when freeing a tab we have to release also its history.


implement persistent tab history The session file is now overloaded with the history info, that means that upon startup telescope can repopulate each tab history! The price to pay is that one can't start an old telescope with a new session file, otherwise will get a lot of fancy '<' and '>' tabs...


switch to our new struct download for the downloads


replace TAILQ_EMPTY/INSERT_HEAD/TAIL dance with a single TAILQ_INSERT_TAIL Now that all the queues are correctly initialised, there's no need for that dance.


always include compat.h first


first draft of history system is here