Emacs Modernization: Simple Changes Emacs Should Adopt (2006)
I&#x27;ve been using Emacs for 17 years.  I want every change suggested in the article, especially &#x27;redo&#x27;.  A few additional ones:<p>- After pressing Alt-X, show a list of recently used commands.  Allow moving between them with the up&#x2F;down keys.  Show a docs pane which explains what the command does, how to use it, and has an example.  For new users, pre-populate the recently-used commands list with common commands.  This is like the auto-complete &quot;intellisense&quot; function that saves me so much time when using JetBrains &amp; VSCode.<p>- When opening&#x2F;saving a file and typing the path, automatically show the directory contents and hi-light entries that match the path.  Show recently opened files and directories in bold.  Scroll the listing with PGUP&#x2F;PGDN&#x2F;mouse-wheel.  I often use emacs to open log files which contain long unique prefixes which are error-prone to type.  Allow using the mouse &amp; arrows keys to select the file.<p>- Auto-save and auto-format.  I love this mode when editing Rust code with CLion.  It gives me something I&#x27;ve wanted for a long time: to write code without thinking about formatting.  There&#x27;s probably already some complicated way to get this to work in Emacs.  Ideally, emacs would check if appropriate tools (rustfmt) are installed and make it just work automatically.<p>- Allow using ENTER to add newlines to a search-replace command.  I can rarely remember whether it&#x27;s CTRL-Q, CTRL-J, or both and frequently make mistakes.<p>- Allow writing Emacs commands in popular languages like Python 3 or JavaScript.  Include a tutorial for each supported language.  The lisp bigots will be angry about this.<p>- Create a public issue tracker for emacs, ideally on GitHub.  This will let users help each other and participate in setting issue priorities.  Include a code of conduct.  Do not auto-lock old issues like Flutter Team does.  Old issues are findable by search engines.  Workarounds and error messages change over time.  When issues are unlocked, users will add comments like &quot;The fix now requires change X.  Here&#x27;s the new command that worked for me ...&quot;  Locking old issues saves the dev team some effort but destroys a lot of the utility for users.