#+TITLE: Development notes/ideas
-* Bookmarks
+* Planned improvements
-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.
+** TODO Allow multiple elpher buffers
-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.
+ 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 Turn on lexical scoping
-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.
+ A branch exists for this, but there are some compilation kinks
+to iron out.
-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?)
+** 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.
-* Selectors
+** TODO Replace support for user-specified starting pages
+This used to be available, but was removed during a refactor.
+
+* Current issues
+
+* Completed improvements
+
+** DONE Implement support for telnet entries
-** TODO 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
them both as standard nodes and having the grunt work done by getter
functions.
-* Pain points
+** 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?)
+
-A list of annoyances that need to be fixed.
+** DONE Support character encoding diversity
+
+* 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.
-1. There's no way to determine the address of the current node.
-2. There's no way to determin the address of child node without using the mouse.
-3. Only one elpher buffer can exist at one time.
+Update: changed all default faces to inherit from font-lock and basic faces.