LWN: Comments on "Emacs for Android" https://lwn.net/Articles/936576/ This is a special feed containing comments posted to the individual LWN article titled "Emacs for Android". en-us Sun, 07 Sep 2025 08:18:18 +0000 Sun, 07 Sep 2025 08:18:18 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Emacs for Android https://lwn.net/Articles/950483/ https://lwn.net/Articles/950483/ andytiedye <div class="FormattedComment"> Running it on a Surface Duo<br> <a rel="nofollow" href="https://www.reddit.com/media?url=https%3A%2F%2Fpreview.redd.it%2F2ddlwx93r9yb1.jpeg%3Fwidth%3D4032%26format%3Dpjpg%26auto%3Dwebp%26s%3Db40a055f9ca1e9474f00021b7e94b11868a69ba7">https://www.reddit.com/media?url=https%3A%2F%2Fpreview.re...</a><br> </div> Tue, 07 Nov 2023 14:07:01 +0000 Emacs for Android https://lwn.net/Articles/938042/ https://lwn.net/Articles/938042/ davidgerard <div class="FormattedComment"> Or a Chromebook, which is a perfectly serviceable little laptop that also happens to run Android apps out of the box.<br> <p> How's this thing run on a Chromebook?<br> </div> Thu, 13 Jul 2023 09:54:55 +0000 Emacs for Android https://lwn.net/Articles/937674/ https://lwn.net/Articles/937674/ smitty_one_each <div class="FormattedComment"> <span class="QuotedText">&gt; There must surely be a way to obtain finger-twisting three-key chords like M-$ (which runs ispell-word) with the Android keyboard</span><br> <p> Spacemacs makes the space bar an entry into mini-buffer menus. A double-tap is all it takes.<br> <p> While the phone proper is perhaps too small for real work, this has tablet possibilities.<br> <p> And the bluetooth keyboard note is well-taken, though Spacemacs would also be a win there.<br> <p> <a href="https://www.spacemacs.org/">https://www.spacemacs.org/</a><br> </div> Sat, 08 Jul 2023 14:05:12 +0000 Emacs, portable? https://lwn.net/Articles/937254/ https://lwn.net/Articles/937254/ flussence <div class="FormattedComment"> To be (un)fair, ASLR is a screen door on a submarine at this point, and is practically worthless on 32-bit systems. It made a difference when Windows XP introduced it but that was because the rest of the submarine was made of bread.<br> <p> But to contribute a different point to the pile: I took a look at the unexec code myself and you know what I didn't find? Checksums. Hashes. The only integrity validation it does is that the dump file length matches the header.<br> <p> I wish CRIU or something like it was a bit more popular. It'd be nice to have one reusable library for *correct* program startup caching instead of undump, the disk state in XUL-derived runtimes, android's zygote and KDE's equivalent, E17's scary compiled-UI mmap system, etc. All sufficiently complex software apparently eventually expands to the point where it contains a hibernate/resume system (and of course, a half-baked reimplementation of lisp and a mail reader).<br> </div> Tue, 04 Jul 2023 07:08:11 +0000 Emacs for Android https://lwn.net/Articles/937157/ https://lwn.net/Articles/937157/ paulj <div class="FormattedComment"> Expertise (i.e., knowledge gained from [repeated ideally] experience) can be a siren song. The expert can be over-confident when faced with some new situation, and not recognise when it falls outside their experience (or the experience of those who handed down their expertise to the expert in education). And they can go badly wrong - refusing to cede authority, refusing to acknowledge their lack of expertise, doubling down from one mistake to the next.<br> <p> Fresh eyes reasoning from first principles may well be better then.<br> <p> Non-expert intuition can be critical in recognising when experts have gone off their previously beaten tracks, and gotten lost in their own hubris.<br> <p> <p> </div> Mon, 03 Jul 2023 12:39:26 +0000 Emacs for Android https://lwn.net/Articles/937110/ https://lwn.net/Articles/937110/ repetitivestrain <div class="FormattedComment"> That's likely a bug. Would you please report this problem to bug-gnu-emacs@gnu.org, taking care to include all the diagnostic information printed by `report-emacs-bug'?<br> <p> If that isn't convenient for you, it would still be helpful if you could provide the output of the shell command `getprop' on your phone; it can be run from inside Emacs, a terminal emulator, or from your computer using `adb' if you enable USB debugging.<br> <p> Thanks in advance.<br> <p> </div> Sun, 02 Jul 2023 11:33:47 +0000 Emacs for Android https://lwn.net/Articles/937105/ https://lwn.net/Articles/937105/ mzamazal <div class="FormattedComment"> The default font size in the Android Emacs is less than 2 millimeters on my phone (significantly smaller than the Android top bar with time, battery info, etc.; much smaller than keyboard keys, which are &gt;5 millimeters), which means I cannot tap it even approximately reliably with my fingers and it's not easy for me to even read; similar applies to the tool bar.<br> </div> Sun, 02 Jul 2023 10:47:08 +0000 Emacs for Android https://lwn.net/Articles/937101/ https://lwn.net/Articles/937101/ halla <div class="FormattedComment"> Krita is not dead on arrival, it arrived more than a decade ago, and has millions of users. It is very much alive. And we fund over half a dozen developers from income derived from Krita.<br> <p> It's the Android Play Store that's a bad place to make money.<br> </div> Sun, 02 Jul 2023 09:57:16 +0000 Emacs for Android https://lwn.net/Articles/937091/ https://lwn.net/Articles/937091/ repetitivestrain <div class="FormattedComment"> <span class="QuotedText">&gt; Thank you for the tip about touch-screen-display-keyboard. The keyboard is needed even for read-only buffers in order to be able to invoke various commands (quitting, switching buffers, mode specific commands, ...). Part of this could be indeed achieved by using menus or the toolbar but not everything (and menus + toolbar are unusable for me in the default configuration because they are too small on my phone, and all the text is quite small for me). Having some special keys, which are not present on typical onscreen keyboards, easily accessible is obviously useful with Emacs while using alternative keyboards containing them may not be practical for various reasons; but perhaps it's not that important once the graphical environment is fully OK. I'll give it another try.</span><br> <p> I don't think it's Emacs's place to provide additional virtual input devices (such as modifier keys.) Such functionality belongs in the program providing the virtual keyboard.<br> <p> As for the tool bar and menu bar, I think they're sufficiently large by default. However, you could adjust tool-bar-button-margin and the height of the menu-bar face you find their size insufficient.<br> <p> <span class="QuotedText">&gt; I think it would help if there was a tutorial on the web for the Android Emacs port. The included Info documentation is hard to access initially because of the usage issues discussed.</span><br> <p> You could simply tap the ``read the Emacs manual'' link on the splash screen. I don't have the resources to write, translate, and update another tutorial or to run a website to publish it. Additionally, the Android documentation will be uploaded to gnu.org as part of the Emacs manual if the port is released.<br> <p> <span class="QuotedText">&gt; Text input suggestions etc. can be used in Termux in the text input bar displayed after swiping the key bar to left.</span><br> <p> That's modal editing, not Emacs, and quite inconvenient to use :-)<br> <p> <p> <p> <p> </div> Sun, 02 Jul 2023 00:41:25 +0000 Proprietary platforms https://lwn.net/Articles/937078/ https://lwn.net/Articles/937078/ atai <div class="FormattedComment"> emacs is not required to support any platform, and re: Android, for the proposed Android support (topic of this article), RMS is in favor.<br> </div> Sat, 01 Jul 2023 20:01:27 +0000 Proprietary platforms https://lwn.net/Articles/937061/ https://lwn.net/Articles/937061/ rsidd So I see this in the <a href="https://lwn.net/ml/emacs-devel/83v8fnslfz.fsf@gnu.org/">first email</a> on the thread <blockquote> « However, Android is a proprietary platform, so it isn't one of the systems that we are required to target. » </blockquote> which is doubly confusing to me: (a) as pointed out by many above, Android is open source, with proprietary add-ons by vendors; (b) is emacs <i>required</i> to target any and all non-proprietary platforms? Or is there some list of "required" platforms that excludes proprietary platforms, but does not include every possible non-proprietary platform? Sat, 01 Jul 2023 12:29:23 +0000 Emacs for Android https://lwn.net/Articles/937059/ https://lwn.net/Articles/937059/ mzamazal <div class="FormattedComment"> Thank you for the tip about touch-screen-display-keyboard. The keyboard is needed even for read-only buffers in order to be able to invoke various commands (quitting, switching buffers, mode specific commands, ...). Part of this could be indeed achieved by using menus or the toolbar but not everything (and menus + toolbar are unusable for me in the default configuration because they are too small on my phone, and all the text is quite small for me). Having some special keys, which are not present on typical onscreen keyboards, easily accessible is obviously useful with Emacs while using alternative keyboards containing them may not be practical for various reasons; but perhaps it's not that important once the graphical environment is fully OK. I'll give it another try.<br> <p> I think it would help if there was a tutorial on the web for the Android Emacs port. The included Info documentation is hard to access initially because of the usage issues discussed.<br> <p> Text input suggestions etc. can be used in Termux in the text input bar displayed after swiping the key bar to left.<br> </div> Sat, 01 Jul 2023 12:08:07 +0000 Emacs for Android https://lwn.net/Articles/937050/ https://lwn.net/Articles/937050/ repetitivestrain <div class="FormattedComment"> You can customize `touch-screen-display-keyboard' to display the on screen keyboard even if the current buffer is read only. I don't understand why one would want it to be displayed when no text can be edited (or why one would need a separate menu bar full of modifier keys), however, since editor commands can be used from the tool bar and menu bar.<br> <p> BTW, are you sure GBoard or AOSP Keyboard text suggestions work in Termux? They require access to text currently behind point, which a terminal emulator cannot provide.<br> <p> <p> </div> Sat, 01 Jul 2023 00:27:17 +0000 Emacs for Android https://lwn.net/Articles/937049/ https://lwn.net/Articles/937049/ khim <p>Unrelated to Emacs-on-Android discussion:</p> <font class="QuotedText">* The money the port brings in through in-app donations couldn't even be classified as pin money.<br> * We now have about as many regular Android users as Windows users. </font> <p>And that's <b>precisely</b> why free software is <b>dead on arrival</b>: there is no money in it.</p> <p>Open Source software have very easy and well-working way out: build your piece of Open Source software as “base platform”. Something free which is not really usable by itself but which can be used by proprietary software competitors to build their products.</p> <p>Then you can get some money from these proprietary competitors funneled into “base platform”. Just make sure you are not building <a href="https://en.wikipedia.org/wiki/Open-core_model">open core</a> thingie which is actually usable without proprietary parts and you would have enough money to thrive.</p> <p>Free Software? No answer to this funding question at all. Free software rejects proprietary software which means there are no way to fund it's development.</p> Fri, 30 Jun 2023 22:08:53 +0000 Emacs for Android https://lwn.net/Articles/937038/ https://lwn.net/Articles/937038/ Wol <div class="FormattedComment"> I seem to remember two interesting facts about education that most bright people fail to grasp ...<br> <p> As your brain develops, you have to be about 14 before you can really indulge in abstract thought. And maybe half the population never actually reach that milestone.<br> <p> If you can't think abstract, you're unlikely to make a good programmer, or emacs user :-)<br> <p> Cheers,<br> Wol<br> </div> Fri, 30 Jun 2023 20:11:22 +0000 Emacs for Android https://lwn.net/Articles/937036/ https://lwn.net/Articles/937036/ Wol <div class="FormattedComment"> Well, it weren't me that said it, it was a doctor friend.<br> <p> <span class="QuotedText">&gt; who could get good A-level results in three STEM subjects</span><br> <p> As one of the last baby-boomers, who tried to get into medical school, back then your average trainee doctor was made a UCCA offer of "three passes". (Okay, most of them went on to get one grade higher across all three.) What annoyed me was that, of my friends who got in, only one of them iirc had better grades than me :-) It is what it is. (Gen-X? 20 years younger than me?)<br> <p> <span class="QuotedText">&gt; That said, of course, being book smart opens up whole new vistas of folly that people who aren't have no access to.</span><br> <p> More and more as I get older, the importance of experience gets rammed home. You can be the smartest person in the world, and if you haven't met that situation before, you'll make the wrong call ... (As someone "on the spectrum", intuition often beats logic, and we don't have intuition. That said, we do have a sixth sense, which I regularly describe as "hang on, something here doesn't add up".)<br> <p> Cheers,<br> Wol<br> </div> Fri, 30 Jun 2023 20:07:20 +0000 Emacs for Android https://lwn.net/Articles/937023/ https://lwn.net/Articles/937023/ mpr22 <div class="FormattedComment"> Physicians and surgeons are not chosen from the general population at large.<br> <p> Physicians and surgeons are chosen from the slice of the general population who have achieved the degrees of Bachelor of Medicine and Bachelor of Surgery – which (among late-GenX-ers like me) is mostly selected from the slice of the general population who could get good A-level results in three STEM subjects (which criterion, whatever people may say about the standard of modern exams then or now, does exclude a very large portion of the general population).<br> <p> That said, of course, being book smart opens up whole new vistas of folly that people who aren't have no access to.<br> </div> Fri, 30 Jun 2023 17:37:07 +0000 Emacs for Android https://lwn.net/Articles/937022/ https://lwn.net/Articles/937022/ atai <div class="FormattedComment"> and idiots are especially bad at Emacs<br> </div> Fri, 30 Jun 2023 17:16:49 +0000 Emacs for Android https://lwn.net/Articles/937018/ https://lwn.net/Articles/937018/ mzamazal <div class="FormattedComment"> Last time I tried the only way to display the keyboard that I could find was clicking on an editable buffer. Which doesn't work very well when there are no editable buffers displayed, such as right after startup. The other thing is that Termux, with its key bar, makes easy to use the most important "special" keys with any keyboard. As for input methods, both quail and Android keyboards seem to work fine for me, including Swype and suggestions, but I need just accented characters, nothing like CJK. Of course, YMMV.<br> </div> Fri, 30 Jun 2023 16:45:11 +0000 Emacs for Android https://lwn.net/Articles/936981/ https://lwn.net/Articles/936981/ repetitivestrain <div class="FormattedComment"> AFAIK there has only been one major change to file system handling, in Android 11, with an easy way out provided for programs like Emacs which aren't distributed through the Google Play Store. If you request the permission to ``access all files'', you can access most of the file system through the Unix VFS, the same way you could in earlier versions with the ordinary storage permission.<br> <p> The same copy of Emacs runs on all versions of Android from 2.2 onwards, so it doesn't seem like it will be an excessive amount of trouble for me to update Emacs to follow the requirements for targeting each new Android release.<br> <p> </div> Fri, 30 Jun 2023 13:18:03 +0000 Emacs, portable? https://lwn.net/Articles/936977/ https://lwn.net/Articles/936977/ repetitivestrain <div class="FormattedComment"> If the C library malloc does not support the necessary features to use unexec, Emacs arranges for its own malloc to be built and used prior to the dumping process. Of course, Emacs 27.1 defaults to using a more portable dumper, which stores objects as offsets from a ``basis'' variable in the bss instead of writing the entire heap to a new executable image.<br> <p> Neither pieces of system specific code have ever proven an obstacle to porting Emacs, which currently supports over 17 kinds of CPU on operating systems ranging from GNU and Unix to MS-DOS. In the past, Emacs also supported VMS on Alpha and the VAX. And evidently Emacs is not the only program that requires dumping code: Solaris systems even include an officially sanctioned implementation of unexec, dldump, which works precisely the way Emacs expects it to.<br> <p> </div> Fri, 30 Jun 2023 13:13:43 +0000 Emacs for Android https://lwn.net/Articles/936974/ https://lwn.net/Articles/936974/ repetitivestrain <div class="FormattedComment"> Would you please explain the reason you believe the Android port has worse on-screen keyboard support compared to Termux?<br> <p> I've been using the Android port with such programs almost every day since it was first written. Unlike Termux, it fully supports the character and word composition interfaces that IMEs expect, providing input methods with complete read/write access to buffer text, as required for features such as auto-correct, text completion, and automatic punctuation. These interfaces are additionally a prerequisite for input methods that input non-alphabetic scripts (such as CJK scripts) to operate as expected, which are also not supported by Termux.<br> <p> </div> Fri, 30 Jun 2023 13:13:13 +0000 Emacs for Android https://lwn.net/Articles/936979/ https://lwn.net/Articles/936979/ cwatson <div class="FormattedComment"> Thanks for the AnySoft Keyboard reference! I have been using Hacker's Keyboard for years and have noticed it's currently stale. -cheers<br> </div> Fri, 30 Jun 2023 13:12:34 +0000 Proprietary platforms https://lwn.net/Articles/936978/ https://lwn.net/Articles/936978/ corbet Yes, I too used Emacs on VMS once upon a time. <p> The point that I think I failed to properly convey is that, while the Emacs developers have always been willing to support running on proprietary platforms, they do not feel obligated to do so and do not want to see that support make the editor worse on free platforms. Fri, 30 Jun 2023 13:09:36 +0000 Emacs for Android https://lwn.net/Articles/936967/ https://lwn.net/Articles/936967/ Wol <div class="FormattedComment"> As a Doctor friend said to me, "Doctors are chosen from the general population. Seeing as half the population are below average intelligence, what does that say about doctors?". I guess the same is true for software engineers?<br> <p> I'm just reeling from a Slack update, where it's blatantly obvious they didn't think through the consequences of their actions ...<br> <p> Cheers,<br> Wol<br> </div> Fri, 30 Jun 2023 10:43:10 +0000 Emacs, portable? https://lwn.net/Articles/936958/ https://lwn.net/Articles/936958/ rudi <div class="FormattedComment"> The default was changed in Emacs 27.1, released mid-2020. From the NEWS file:<br> <p> <span class="QuotedText">&gt; ** Emacs now uses a "portable dumper" instead of unexec.</span><br> <span class="QuotedText">&gt; This improves compatibility with memory allocation on modern systems,</span><br> <span class="QuotedText">&gt; and in particular better supports the Address Space Layout</span><br> <span class="QuotedText">&gt; Randomization (ASLR) feature, a security technique used by most modern</span><br> <span class="QuotedText">&gt; operating systems.</span><br> <p> </div> Fri, 30 Jun 2023 09:43:03 +0000 Emacs for Android https://lwn.net/Articles/936951/ https://lwn.net/Articles/936951/ mzamazal <div class="FormattedComment"> I'm going to use Emacs on my Android devices. The primary motivation is that I have a lot of things in Org mode that are not accessible, both read and write, when I'm not in front of my computer. Having Gnus would be also great but this is more difficult to arrange. Emacs in Termux seems usable, it's text-only but it is good enough for the given purpose and it has excellent onscreen keyboard support. The Android port could be better and easier to use although at the moment it's not usable for me because it's too small and has poor onscreen keyboard support (and I can't see sense in using my very portable devices with an external keyboard).<br> </div> Fri, 30 Jun 2023 08:43:54 +0000 Emacs for Android https://lwn.net/Articles/936952/ https://lwn.net/Articles/936952/ khim <p>So nothing have changes with invention of Android and ChromeOS.</p> <p><i>Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.</i></p> <p>This was said 35 years ago and apparently is still true today.</p> Fri, 30 Jun 2023 08:31:45 +0000 Emacs for Android https://lwn.net/Articles/936950/ https://lwn.net/Articles/936950/ eru <div class="FormattedComment"> GNU Emacs even used to run on VAX/VMS... I used it there at ome time.. That port was probably way harder than Android. I recall it came on a tape of GNU software ordered from FSF.<br> <p> </div> Fri, 30 Jun 2023 08:20:52 +0000 Emacs for Android https://lwn.net/Articles/936913/ https://lwn.net/Articles/936913/ halla <div class="FormattedComment"> We got help (but no money, boo) from Google to port Krita to ChromeOS, which also meant a port to Android, since it's the same.<br> <p> In our experience:<br> <p> * just the changes from Android version to version need about a full-time developer to track. Especially when it comes to file handling.<br> * Android users are... They don't consider the limitations of their platform and try to make huge animations on small phones. Additionally, high-school teachers are apparently telling students to install krita on their tablets/chromebooks to fill their class assignments -- which apparently are humongous big animations.<br> * Android is really good at crashing applications<br> * The money the port brings in through in-app donations couldn't even be classified as pin money.<br> * We now have about as many regular Android users as Windows users.<br> <p> This is not meant as a pro or con Emacs on Android argument, but just my personal experience from the past couple years of maintaining an Android/ChromeOS port of a big free software application.<br> </div> Fri, 30 Jun 2023 07:14:13 +0000 Emacs for Android https://lwn.net/Articles/936910/ https://lwn.net/Articles/936910/ jem It doesn't even have to be a bluetooth keyboard. You can plug in a simple ten dollar USB keyboard, too. Fri, 30 Jun 2023 06:12:01 +0000 Emacs for Android https://lwn.net/Articles/936903/ https://lwn.net/Articles/936903/ rsidd I have actually installed a linux chroot and an i3 desktop on an old mobile phone. <a href="https://www.imsc.res.in/~rsidd/androidlinux.jpg">Here</a> is a photo (from 2014), which also shows an emacs window. <p> It did need that bluetooth keyboard to be useful. It became less useful as my eyes got older (I still don't wear glasses for the most part but I no longer want to work on tiny screens.) But I can imagine some people would find native android emacs useful on phones. <p>On android <i>tablets</i>, yes for sure, if there are emacs android tablet users. Fri, 30 Jun 2023 04:50:31 +0000 Emacs for Android https://lwn.net/Articles/936902/ https://lwn.net/Articles/936902/ rsidd <div class="FormattedComment"> And GNU software has always been available on proprietary platforms, going back to SunOS and proprietary Unix days, continuing to MacOS and Windows today. <br> </div> Fri, 30 Jun 2023 04:44:42 +0000 Emacs for Android https://lwn.net/Articles/936900/ https://lwn.net/Articles/936900/ Paf <div class="FormattedComment"> Also, they have a MacOS port. (But presumably that just means proprietary-ness (and android as a platform is not entirely open) is a negative and not a show stopper)<br> </div> Fri, 30 Jun 2023 04:07:44 +0000 Emacs for Android https://lwn.net/Articles/936890/ https://lwn.net/Articles/936890/ knuckolls <div class="FormattedComment"> I could for sure see myself using this given the rise of foldable android devices and paired Bluetooth keyboards work just fine.<br> </div> Thu, 29 Jun 2023 23:23:13 +0000 Emacs, portable? https://lwn.net/Articles/936887/ https://lwn.net/Articles/936887/ mirabilos <div class="FormattedComment"> Oh, what? Wow.<br> <p> I seem to recall recently-ish (last 2–3 years?) reading about people complaining that they still need that hack.<br> <p> But TIL it’s no longer needed, apparently. Good for them.<br> </div> Thu, 29 Jun 2023 22:45:27 +0000 Emacs for Android https://lwn.net/Articles/936882/ https://lwn.net/Articles/936882/ khim <p>One platform which, I hope, they tested this port is ChromeOS.</p> <p>ChromeOS laptops are popular enough, they support Android apps and while, technically, Emacs is already available there via <a href="https://support.google.com/chromebook/answer/9145439?hl=en">Linux on ChromeOS</a> route it's often is not available in corporate settings.</p> <p>Of course if it can be installed and started on ChromeOS but actual use is just not possible, then that's the whole different story.</p> Thu, 29 Jun 2023 21:42:59 +0000 Emacs, portable? https://lwn.net/Articles/936881/ https://lwn.net/Articles/936881/ foom <div class="FormattedComment"> Your rant is about three years out of date -- Emacs no longer uses unexec.<br> <p> (Yes, it should've dropped it a few decades earlier, but better late than never.)<br> </div> Thu, 29 Jun 2023 21:42:23 +0000 Emacs, portable? https://lwn.net/Articles/936879/ https://lwn.net/Articles/936879/ corbet Well, it has been said by people smarter than me that there is no portable software, just software that has been ported. Emacs has undeniably been widely ported. <p> Please take the name-calling to a more suitable venue. Thu, 29 Jun 2023 21:36:35 +0000 Emacs, portable? https://lwn.net/Articles/936873/ https://lwn.net/Articles/936873/ mirabilos <div class="FormattedComment"> Haha.<br> <p> They rely on the ability to basically save a snapshot of the running program at build time and load that whenever it’s started, to save on initialisation, totally breaking ASLR, stack protection cookes, etc. and requiring proprietary patches to libc *just* to support GNU Emacs.<br> <p> It’s a totally unportable PoS that relies on UB.<br> </div> Thu, 29 Jun 2023 20:54:54 +0000