Live data from Hacker News

Emacs 31 is around the corner: The changes I'm daily driving

rahuljuliato.com

31–40 of 294 posts

Re: Emacs 31 is around the corner: The changes I'm daily driving

#31
It's nice to hear the emacs terminal emulator has gotten some love, after all the controversy about the nasty language that used to be in its source code, which rms moved out to a separate file after somebody complained.

Open source with profanity in comments is statistically better than code without it:

https://blog.desdelinux.net/en/open-source-with-profanity-in...

https://news.ycombinator.com/item?id=36621699

DonHopkins on July 6, 2023 | parent | context | favorite | on: Open source code with profanity in comments is sta...

The original terminal emulator terminal.el in gnu emacs, written by mly (Richard Mlynarik), was particularly salty. I finally tracked down a copy, but it looks like somebody complained and in 1990 it was begrudgingly cleaned up a bit, so some of the worst stuff was moved out into a separate file called term-nasty.el for posterity (you, here, now), so as not to give "in to the pressure to censor obscenity that currently threatens freedom of speech and of the press in the US" (oh, Richard https://opensource.apple.com/source/emacs/emacs-59.0.80/emac...

1990-08-26 Richard Stallman (rms@mole.ai.mit.edu)

* terminal.el: Move possibly offensive comments to term-nasty.el.

https://www.digiater.nl/openvms/freeware/v10/emacs/common/li...

[...]

    ;; disgusting unix-required shit
    ;;  Are we living twenty years in the past yet?

    (defun te-losing-unix ()
      nil)
[...]

    ;; (A version of the following comment which might be distractingly offensive
    ;; to some readers has been moved to term-nasty.el.)
    ;; unix lacks ITS-style tty control...
    (defun te-process-output (preemptable)
      ;;>> There seems no good reason to ever disallow preemption
      (setq preemptable t)
[...]

              ;; I suppose if I split the guts of this out into a separate
              ;;  function we could trivially emulate different terminals
              ;; Who cares in any case?  (Apart from stupid losers using rlogin)
[...]

                                     (?\C-b . te-backward-char)
                                     ;; should be C-d, but un*x
                                     ;;  pty's won't send \004 through!
                                     ;; Can you believe this?
[...]

                                     ;; Did I ask to be sent these characters?
                                     ;; I don't remember doing so, either.
                                     ;; (Perhaps some operating system or
                                     ;; other is completely incompetent...)
[...]

                         ;;-- Not-widely-known (ie nonstandard) flags, which mean
                         ;; o writing in the last column of the last line
                         ;;   doesn't cause idiotic scrolling, and
                         ;; o don't use idiotische c-s/c-q sogenannte
                         ;;   ``flow control'' auf keinen Fall.
                         "LP:NF:"
                         ;;-- For stupid or obsolete programs
                         "ic=^p_!:dc=^pd!:al=^p^o!:dl=^p^k!:ho=^p=  :"
                         ;;-- For disgusting programs.
                         ;; (VI? What losers need these, I wonder?)
                         "im=:ei=:dm=:ed=:mi:do=^p^j:nl=^p^j:bs:")))
[...]

              (setq te-process
                    (start-process "terminal-emulator" (current-buffer)
                                   "/bin/sh" "-c"
                                   ;; Yuck!!! Start a shell to set some terminal
                                   ;; control characteristics.  Then start the
                                   ;; "env" program to setup the terminal type
                                   ;; Then finally start the program we wanted.
                                   (format "%s; exec %s"
                                           te-stty-string
                                           (mapconcat 'te-quote-arg-for-sh
                                                      (cons program args) " ")))))
[...]

    ;;;; what a complete loss
[...]

https://www.digiater.nl/openvms/freeware/v10/emacs/common/li...

    ;;; term-nasty.el --- Damned Things from terminfo.el
    ;;; This file is in the public domain, and was written by Stallman and Mlynarik

    ;;; Commentary:

    ;; Some people used to be bothered by the following comments that were
    ;; found in terminal.el.  We decided they were distracting, and that it
    ;; was better not to have them there.  On the other hand, we didn't want
    ;; to appear to be giving in to the pressure to censor obscenity that
    ;; currently threatens freedom of speech and of the press in the US.
    ;; So we decided to put the comments here.

    ;;; Code:

    These comments were removed from te-losing-unix.
      ;(what lossage)
      ;(message "fucking-unix: %d" char)

    This was before te-process-output.
    ;; fucking unix has -such- braindamaged lack of tty control...

    And about the need to handle output characters such as C-m, C-g, C-h
    and C-i even though the termcap doesn't say they may be used:
    ;fuck me harder
    ;again and again!
    ;wa12id!!
    ;(spiked)

    ;;; term-nasty.el ends here
Note to the gentle readers: "wa12id" stands for "with a 12 inch dildo".

Jamie Zawinski kept Lucid Emacs nasty:

https://groups.google.com/g/gnu.misc.discuss/c/U5oXKOfWinQ/m...

Noah Friedman, Aug 3, 1992, 4:54:20 AM

In article wood...@hal.com (Nathan Hess) writes:

>In article , friedman@gnu (Noah Friedman) writes:

>>It's by no means necessary, but it's funny.

>Along the same lines, look at lisp/terminal.el

Of course, terminal.el is actually useful, albeit not terribly powerful.

(and terminal.el is pretty mild compared to some of the other things I've seen written by mly. :-))

Incidentally, a lot of terminal.el has been rewritten in version 19.

Too bad... I liked all the variable names and comments in the original.

Jamie Zawinski, Aug 5, 1992, 12:40:38 AM

In the FSF-distributed Emacs 19, the obscenities (will) have been stripped from terminal.el, though they are preserved in a file called term-nasty.el, to avoid appearing to bow to the censors.

In Lucid GNU Emacs, terminal.el will remain as nasty as it ever was.

-- Jamie "Truth, Justice, and the Fucking First Amendment" Zawinski

Re: Emacs 31 is around the corner: The changes I'm daily driving

#32
post #22
post #7

I'm happy to see these improvements. One thing that has always been annoying with Emacs is how much configuration is required to get a modern editor going. Things like Doom Emacs, and Spacemacs try to solve that problem, but both feel far removed from vanilla emacs. I wish Emacs came with several presets so with a single line, you could transform the editor to different base points. For example, most devs want treesi…

Indeed. I myself am on Doom Emacs but I've increasingly been thinking of moving over to vanilla Emacs. I'm a bit worried about the transition period due to all the keybind differences but I'm sure it's not too bad.

I'm also a Doom user, albeit a new one. What is making you consider the switch?

Re: Emacs 31 is around the corner: The changes I'm daily driving

#33
post #28
post #7

I'm happy to see these improvements. One thing that has always been annoying with Emacs is how much configuration is required to get a modern editor going. Things like Doom Emacs, and Spacemacs try to solve that problem, but both feel far removed from vanilla emacs. I wish Emacs came with several presets so with a single line, you could transform the editor to different base points. For example, most devs want treesi…

What are these things you have that makes Emacs a modern editor? I have cua-mode and don't show startup message. What else do I need to modernize Emacs?

treesitter (with easily installable grammars - a big pain point) / LSP integration OOTB / themability

Plus now agent integration (aka GPTEL)

Re: Emacs 31 is around the corner: The changes I'm daily driving

#34
Thanks for your work.

Please, if you have something to do with Emacs, can you review this for NetBSD and OpenBSD when using gtk3:

https://www.unitedbsd.com/d/1621-emacs-30-wxaw

The issue was traced to library xinput2, when compiled with '--without-xinput2' the issue does not occur. But I do not know if that is something that Emacs can address.

Re: Emacs 31 is around the corner: The changes I'm daily driving

#35
post #32
post #22

Earlier quoted context omitted.

Indeed. I myself am on Doom Emacs but I've increasingly been thinking of moving over to vanilla Emacs. I'm a bit worried about the transition period due to all the keybind differences but I'm sure it's not too bad.

I'm also a Doom user, albeit a new one. What is making you consider the switch?

Don't get me wrong, I'm loving Doom and have used it full time for a few years now. But over time I've started being uncomfortable with the fact that I don't fully understand the editor, don't fully appreciate the difference between what comes in as part of vanilla Emacs and as a Doom feature, and I feel like I am depending on a huge bunch of code and configuration I might not really even need.

Selfishly I wasn't willing to spend the time to master Emacs proper back then, but with the LLM craze now I find it much easier to hack on my configs.

Re: Emacs 31 is around the corner: The changes I'm daily driving

#36
post #13
post #7

I'm happy to see these improvements. One thing that has always been annoying with Emacs is how much configuration is required to get a modern editor going. Things like Doom Emacs, and Spacemacs try to solve that problem, but both feel far removed from vanilla emacs. I wish Emacs came with several presets so with a single line, you could transform the editor to different base points. For example, most devs want treesi…

As a Vim user (just admitting to my ignorance here), is it not feasible to make something like this yourself? Emacs is said to be flexible and extensible enough, or at least I’m under the impression that it has that reputation. I imagine it would take a lot of time, maybe. Any greybeards that do this?

I spent a lot of time making my own elisp config for a custom emacs experience and ended up getting something similar to Doom Emacs. So, I just switched to use Doom :)

Re: Emacs 31 is around the corner: The changes I'm daily driving

#38
post #7

I'm happy to see these improvements. One thing that has always been annoying with Emacs is how much configuration is required to get a modern editor going. Things like Doom Emacs, and Spacemacs try to solve that problem, but both feel far removed from vanilla emacs. I wish Emacs came with several presets so with a single line, you could transform the editor to different base points. For example, most devs want treesi…

I think it is cultural. It's kinda like building your own lightsaber as a Jedi. The part of Emacs/Vim initiation is building your own configuration that works for you. Setting up plugins, keybindings, colorschemes etc. It's part of the fun of it (at least for me).

Re: Emacs 31 is around the corner: The changes I'm daily driving

#39
post #24

Systems like Emacs that are hyper-configurable via a text file seem tailor made for modern LLM's. If you've got a little bit of Emacs experience but bounced off of it because the learning curve was too steep I highly recommend diving back in with your agent. Agents are really good at setting up and maintaining your .emacs/init.el.

I agree. It's amazing. I feel like I've got a private Emacs consultant at my elbow.

I know a bunch of people (including me) who decades ago wished they had a private sendmail.cf expert at their elbow, and even a few sendmail.cf experts who were sick and tired of always being asked to help random people with their sendmail.cf file for free.

Maybe there will be a resurgance of terribly obscure totally unique quirky configuration files for all these vibe coded apps, unique enough that they don't appear in the training data, so you have to hire real humans to sit at your elbow and help you!

Re: Emacs 31 is around the corner: The changes I'm daily driving

#40
post #7

I'm happy to see these improvements. One thing that has always been annoying with Emacs is how much configuration is required to get a modern editor going. Things like Doom Emacs, and Spacemacs try to solve that problem, but both feel far removed from vanilla emacs. I wish Emacs came with several presets so with a single line, you could transform the editor to different base points. For example, most devs want treesi…

You are just worrying for no good reason. Doom Emacs and Spacemacs are both very good; being far removed from vanilla emacs is not a problem to be worried about.
Post reply on HN