<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <title>A Few Problems with Emacs</title> <link rel="stylesheet" href="/style.css" /> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /> </head> <body> <h1>A Few Problems with Emacs</h1> <p> <a href="https://emacs.org/">Emacs</a> is supposedly a text editor but is more of a integrated computing environment. At its core is an Emacs Lisp interpreter and a text and buffer-oriented set of conventions that Emacs Lisp code follows. The “default”/“standard” build of Emacs contains a World Wide Web browser, newsreader, electronic mail client, Internet Relay Chat client, a few games, and overall a ton of stuff that I do not use, need or want in my environment. Therefore I use a minimal-ish custom build (i.e. simply leaving stuff out during <code>./configure</code>, which makes me feel a bit better. </p> <p id="space-based-alignment"> One problem that I've recently noticed with Emacs is the tendency to use a set amount of spaces, expecting a monospace font, to align items across a buffer. For example, when <code>:tags</code> are used with <code>org-agenda</code>, the agenda page aligns the tags to the right of the page with spaces precalculated from the window size. But when we have double-width unicode characters, for example Chinese characters in the mix, or if we are using a variable-width Latin font, the alignment is completely screwed up. Resizing the window also doesn't update the wrapping and alignment of items inside. Emacs's text buffer-centric design makes it really hard to do otherwise. </p> <p id="core-written-in-c"> ... </p> <div id="footer"> <hr /> <p><a href="/">Runxi Yu's Website</a></p> </div> </body> </html>