+++ /dev/null
-#+TITLE: Development notes/ideas
-
-* Planned improvements
-
-** TODO Allow multiple elpher buffers
-
- Shouldn't be too hard, just need elpher-current-node to be
-buffer-local and allow various buffer-switching procedures to
-do something sensible.
-
-** TODO Remove "redraw" command
-This is only necessary for returning from displaying the raw
-server response. If I can provide a better way of doing that
-then we can get rid of redraw entirely.
-
-** TODO Replace support for user-specified starting pages
-This used to be available, but was removed during a refactor.
-
-** TODO Allow for grouping of bookmarks
-To support this I'd like to add a bookmark page specific
-set of keybindings. Currently all bindings available on
-the bookmark page are available everywhere else. But
-expanding and collapsing bookmark groups sounds like it
-might need more specific bindings.
-
-** IN-PROGRESS Implement Gemini support [88%]
-
-Here is the checklist of features required before release:
-- [X] basic genimi transactions
-- [ ] gemini transactions requiring client certificates
-- [X] gemini input handling
-- [X] gemini map files (text/gemini)
-- [X] Support for plain text responses (text/*)
-- [X] Support for image responses (text/image)
-- [X] Support for mime-specified character encodeing
-- [X] Saving responses to disk
-- [X] Viewing raw responses
-
-The last few will be made infinitely easier if we factor the
-gopher "getter" code differently.
-
-* Current issues
-
-* Completed improvements
-
-** DONE Turn on lexical scoping
-
- A branch exists for this, but there are some compilation kinks
-to iron out.
-
-
-** DONE Implement support for telnet entries
-
-Similar to http entries, telnet entries will be handled by code
-external to elpher. However it seems I made http entry handling a
-special case, and I don't want another! So the only option is to
-bring both http and telnet entries back into the fold by representing
-them both as standard nodes and having the grunt work done by getter
-functions.
-
-** DONE Allow users to access selected and current node details.
-
-** DONE Implement bookmark system
-
- Currently the bookmark page replaces the current page, and it
- does so silently (i.e. it doesn't become part of the link hierarchy).
- I think this is a mistake, as it results in confusing behaviour when
- traversing the link hierarchy after visiting one of the bookmarked links.
-
- Instead, I think I should
- 1. Make the bookmark page part of the hierarchy, and
- 2. Reinstate the visited node hash table to avoid excess link hierarchy pollution.
-
- In order to accomplish 1. it will be necessary to make the bookmark page renderer
- a proper getter function, and one that never caches the contents of the buffer.
-
- Actually, I might have to think about that a bit more. I don't know
- how to answer the question of what the best thing to do with node
- parent links when using a cached node in place of a new node. (Maybe
- I always update node.parent unless parent is already an ancestor of
- node?)
-
-
-** DONE Support character encoding diversity
-
-** DONE Make URLs the basic address type.
-Currently I waste a lot of effort converting between
-URL and non-URL representations. This is unnecessary, and
-actually makes lots of things uglier.
-
-For example, the bookmarks file contains addresses in Elpher's
-internal representation, whereas I expect users would prefer
-it contain URLs.
-
-So the idea would be for (elpher-node-address node) to be
-a either a string or a symbol, with symbols used for "special"
-pages (bookmarks, start page, etc). The getter functions
-`elpher-address-selector' etc will still do what they currently
-do, but will process the URL to do it.
-
-This also means that non-gopher URLs will be explicitly represented
-as such: no more abusing the "h" type for these.
-
-* Old issues
-
-** DONE Org mode faces are not present in recent emacs versions
-Even 26.1 doesn't seem to have these. This means that, for many
-users, elpher doesn't show any difference between any of the
-item types. Not a major problem at all, but the faces we inherit
-from should definitely be ones which have been present for much
-longer. Perhaps the font lock mode faces are the way to go after
-all.
-
-Update: changed all default faces to inherit from font-lock and basic faces.
-
-** DONE URL-centric addressing breaks bookmark file compatibility
-
-Need a way to allow people to rescue their old bookmark files
-following this update.