Prevent adding properties to node display strings.
[elpher.git] / NOTES.org
index a7454cd..a0358ab 100644 (file)
--- a/NOTES.org
+++ b/NOTES.org
@@ -2,6 +2,53 @@
 
 * 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
@@ -33,18 +80,28 @@ functions.
   I always update node.parent unless parent is already an ancestor of
   node?)
 
-** TODO Allow multiple elpher buffers
+  
+** DONE Support character encoding diversity
 
-   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
+** 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.
 
-   A branch exists for this, but there are some compilation kinks
-to iron out.
+For example, the bookmarks file contains addresses in Elpher's
+internal representation, whereas I expect users would prefer
+it contain URLs.
 
-* Current issues
+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
@@ -55,3 +112,8 @@ 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.