by DonHopkins | 2025-10-21 19:55:21+00:00
https://news.ycombinator.com/item?id=36621699

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 <3 ):

[original broken link] https://opensource.apple.com/source/emacs/emacs-59.0.80/emac...

[term-nasty.el source] https://jason.zzq.org/git/emacs/plain/lisp/term-nasty.el?h=s...

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 <15i2n9...@hal.com> wood...@hal.com (Nathan Hess) writes:

>In article <FRIEDMAN.9...@nutrimat.gnu.ai.mit.edu>, 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