Knowledge (XXG)

Gosling Emacs

Source 📝

1050: 752: 208:, believing "hobbyists and academics could never produce an Emacs that could compete" with their product. All Gosling Emacs code was removed from GNU Emacs by version 16.56 (July 1985), with the possible exception of a few particularly involved sections of the display code. The latest versions of GNU Emacs (since August 2004) do not feature the skull-and-crossbones warning. 606: 1040: 417:
The last piece of Gosmacs code that I replaced was the serial terminal scrolling optimizer, a few pages of Gosling's code which was proceeded by a comment with a skull and crossbones, meaning that it was so hard to understand that it was poison. I had to replace it, but worried that the job would be
137:
Gosling initially allowed Gosling Emacs to be redistributed with no formal restrictions, as required by the "Emacs commune" since the 1970s, only asking for a letter acknowledging his authorship. Later, wishing to move on and after a failed search for people who would maintain it under the same
538:
According to the developer, Gosling, while a PhD student at Carnegie Mellon, had assured early collaborators that their work would remain accessible. When UniPress caught wind of Stallman's project, however, the company threatened to enforce the copyright...In the course of reverse-engineering
418:
hard. I found a simpler algorithm and got it to work in a few hours, producing code that was shorter, faster, clearer, and more extensible. Then I made it use the terminal commands to insert or delete multiple lines as a single operation, which made screen updating far more efficient.
446:...Stallman was using code from Gosling, based on permission that Gosling had given to Labalme, but Labalme had written code for Gosling that he had commercialized without telling Labalme. 220:, but Mocklisp does not have lists, only strings and arrays. The Mocklisp interpreter, built by Gosling and a collaborator, was replaced by a full Lisp interpreter in GNU Emacs. 190:. Among other things, he rewrote part of the Gosling code headed by the skull-and-crossbones comment and made it "...shorter, faster, clearer and more extensible." 204:
Controversially, Unipress asked Stallman to stop distributing his version of Emacs for Unix. UniPress never took legal action against Stallman or his nascent
485: 568: 911: 595: 539:
Gosling's interpreter, Stallman would create a fully functional Lisp interpreter, rendering the need for Gosling's original interpreter moot.
163: 967: 531: 439: 331: 271: 138:
rights, he finally sold his version of Emacs to UniPress because they agreed to sell it under reasonable terms. The dispute between
174:, warning any would-be improver that even if they thought they understood how the display code worked, they probably did not. 957: 406: 167: 217: 1079: 143: 588: 569:
https://web.archive.org/web/20110728022656/http://www.burlingtontelecom.net/~ashawley/gnu/emacs/ConText-Kelty.pdf
205: 131: 83: 783: 1084: 896: 874: 687: 660: 581: 377: 906: 793: 777: 402: 237: 159: 106: 947: 942: 937: 727: 464: 147: 1043: 567:
Christopher Kelty, "EMACS, grep, and UNIX: authorship, invention and translation in software",
1015: 985: 823: 803: 751: 527: 435: 327: 267: 158:
Gosling Emacs was especially noteworthy because of the effective redisplay code, which used a
980: 697: 360: 183: 139: 90: 631: 55: 1074: 990: 916: 901: 798: 717: 617: 551: 142:
and UniPress inspired the creation of the first formal license for Emacs, which later
1068: 952: 891: 712: 520: 515: 320: 315: 261: 257: 127: 43: 605: 166:. The algorithm was quite sophisticated; that section of the source was headed by a 883: 201:
for $ 2,500, marketing it as "EMACS–multi-window text editor (Gosling version)".
972: 962: 722: 111: 348: 1020: 859: 702: 555: 458: 288: 50: 38: 359:(6), Proceedings of the ACM SIGPLAN Symposium on Text Manipulation: 123–129, 1025: 788: 639: 573: 187: 171: 1053: 430:
Christopher Kelty; Mario Biagioli; Peter Jaszi; Martha Woodmansee (2015).
364: 1010: 818: 680: 665: 412: 241: 17: 216:
Its extension language, Mocklisp, has a syntax that appears similar to
198: 99: 833: 766: 644: 838: 828: 813: 771: 732: 707: 609: 123: 864: 808: 737: 692: 670: 194: 95: 577: 843: 626: 182:
Since Gosling had permitted its unrestricted redistribution,
122:(often shortened to "Gosmacs" or "gmacs") is a discontinued 186:
used some Gosling Emacs code in the initial version of
243:
My Lisp Experiences and the Development of GNU Emacs
1003: 930: 882: 873: 852: 759: 653: 625: 616: 105: 89: 79: 61: 49: 37: 519: 319: 193:In 1983 UniPress began selling Gosling Emacs on 397: 395: 589: 486:"Unix Spoken Here / and MS-DOS, and VMS too!" 287:Hansen Hsu and Marc Weber (10 October 2019). 8: 289:"Oral History of James Gosling, part 1 of 2" 32: 492:(advertisement). December 1983. p. 334 879: 622: 596: 582: 574: 460:Oral History of James Gosling, part 1 of 2 31: 432:Making and Unmaking Intellectual Property 509: 507: 408:Richard Stallman Answers Your Questions 229: 1049: 912:Massachusetts Institute of Technology 467:from the original on 11 December 2021 378:"Ultra-hot screen management package" 27:Emacs implementation by James Gosling 7: 1039: 405:(7 January 2013), samzenpus (ed.), 316:"9. The GNU General Public License" 164:string-to-string correction problem 126:implementation written in 1981 by 25: 162:technique to solve the classical 148:introduced copyright for software 1048: 1038: 750: 604: 434:. University of Chicago Press. 33:Gosling Emacs / Unipress Emacs 1: 347:Gosling, James (June 1981), 917:Thorn EMI Computer Software 67:; 43 years ago 1101: 1044:Emacs on Wikimedia Commons 526:. "O'Reilly Media, Inc.". 326:. "O'Reilly Media, Inc.". 266:. "O'Reilly Media, Inc.". 1034: 748: 516:"7. A Stark Moral Choice" 295:. Computer History Museum 206:Free Software Foundation 784:Emacs Speaks Statistics 349:"A Redisplay Algorithm" 258:"6. The Emacs Commune" 514:Sam Williams (2002). 365:10.1145/872730.806463 314:Sam Williams (2002). 256:Sam Williams (2002). 963:Joris van der Hoeven 168:skull-and-crossbones 1054:Emacs on Wikiquotes 907:Mark of the Unicorn 353:ACM SIGPLAN Notices 240:(28 October 2002), 160:dynamic programming 34: 948:Richard P. Gabriel 522:Free as in freedom 322:Free as in freedom 263:Free as in freedom 212:Extension language 146:, as Congress had 39:Original author(s) 1080:Unix text editors 1062: 1061: 1016:Dissociated press 999: 998: 986:Guy L. Steele Jr. 746: 745: 403:Stallman, Richard 238:Stallman, Richard 197:for $ 395 and on 117: 116: 16:(Redirected from 1092: 1052: 1051: 1042: 1041: 981:Richard Stallman 902:Perfect Software 880: 754: 623: 608: 598: 591: 584: 575: 560: 559: 556:"Emacs timeline" 554:(8 March 1999). 548: 542: 541: 525: 511: 502: 501: 499: 497: 482: 476: 475: 474: 472: 455: 449: 448: 427: 421: 420: 399: 390: 389: 387: 385: 374: 368: 367: 344: 338: 337: 325: 311: 305: 304: 302: 300: 284: 278: 277: 253: 247: 246: 234: 184:Richard Stallman 140:Richard Stallman 91:Operating system 75: 73: 68: 35: 21: 1100: 1099: 1095: 1094: 1093: 1091: 1090: 1089: 1065: 1064: 1063: 1058: 1030: 995: 926: 897:Lugaru Software 869: 848: 755: 742: 649: 630: 618:Implementations 612: 602: 564: 563: 550: 549: 545: 534: 513: 512: 505: 495: 493: 484: 483: 479: 470: 468: 457: 456: 452: 442: 429: 428: 424: 401: 400: 393: 383: 381: 376: 375: 371: 346: 345: 341: 334: 313: 312: 308: 298: 296: 286: 285: 281: 274: 255: 254: 250: 236: 235: 231: 226: 214: 180: 156: 71: 69: 66: 62:Initial release 28: 23: 22: 15: 12: 11: 5: 1098: 1096: 1088: 1087: 1082: 1077: 1067: 1066: 1060: 1059: 1057: 1056: 1046: 1035: 1032: 1031: 1029: 1028: 1023: 1018: 1013: 1007: 1005: 1001: 1000: 997: 996: 994: 993: 991:Daniel Weinreb 988: 983: 978: 975: 970: 965: 960: 955: 950: 945: 940: 934: 932: 928: 927: 925: 924: 919: 914: 909: 904: 899: 894: 888: 886: 877: 871: 870: 868: 867: 862: 856: 854: 850: 849: 847: 846: 841: 836: 831: 826: 821: 816: 811: 806: 801: 796: 791: 786: 781: 774: 769: 763: 761: 757: 756: 749: 747: 744: 743: 741: 740: 735: 730: 725: 720: 718:Perfect Writer 715: 710: 705: 700: 695: 690: 685: 684: 683: 673: 668: 663: 657: 655: 651: 650: 648: 647: 642: 636: 634: 620: 614: 613: 603: 601: 600: 593: 586: 578: 572: 571: 562: 561: 552:Jamie Zawinski 543: 532: 503: 477: 450: 440: 422: 391: 369: 339: 332: 306: 279: 272: 248: 228: 227: 225: 222: 213: 210: 179: 176: 155: 152: 144:became the GPL 115: 114: 109: 103: 102: 93: 87: 86: 81: 77: 76: 63: 59: 58: 53: 47: 46: 41: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 1097: 1086: 1085:1981 software 1083: 1081: 1078: 1076: 1073: 1072: 1070: 1055: 1047: 1045: 1037: 1036: 1033: 1027: 1024: 1022: 1019: 1017: 1014: 1012: 1009: 1008: 1006: 1002: 992: 989: 987: 984: 982: 979: 977:David Reitter 976: 974: 971: 969: 968:Daniel Murphy 966: 964: 961: 959: 956: 954: 953:James Gosling 951: 949: 946: 944: 941: 939: 938:Thomas Dickey 936: 935: 933: 929: 923: 920: 918: 915: 913: 910: 908: 905: 903: 900: 898: 895: 893: 890: 889: 887: 885: 884:Organizations 881: 878: 876: 872: 866: 863: 861: 858: 857: 855: 851: 845: 842: 840: 837: 835: 832: 830: 827: 825: 822: 820: 817: 815: 812: 810: 807: 805: 802: 800: 797: 795: 792: 790: 787: 785: 782: 780: 779: 775: 773: 770: 768: 765: 764: 762: 758: 753: 739: 736: 734: 731: 729: 726: 724: 721: 719: 716: 714: 713:Multics Emacs 711: 709: 706: 704: 701: 699: 696: 694: 691: 689: 686: 682: 679: 678: 677: 676:Gosling Emacs 674: 672: 669: 667: 664: 662: 659: 658: 656: 652: 646: 643: 641: 638: 637: 635: 633: 628: 624: 621: 619: 615: 611: 607: 599: 594: 592: 587: 585: 580: 579: 576: 570: 566: 565: 557: 553: 547: 544: 540: 535: 533:0-596-00287-4 529: 524: 523: 517: 510: 508: 504: 491: 487: 481: 478: 466: 462: 461: 454: 451: 447: 443: 441:9780226172491 437: 433: 426: 423: 419: 414: 410: 409: 404: 398: 396: 392: 379: 373: 370: 366: 362: 358: 354: 350: 343: 340: 335: 333:0-596-00287-4 329: 324: 323: 317: 310: 307: 294: 290: 283: 280: 275: 273:0-596-00287-4 269: 265: 264: 259: 252: 249: 245: 244: 239: 233: 230: 223: 221: 219: 211: 209: 207: 202: 200: 196: 191: 189: 185: 177: 175: 173: 169: 165: 161: 153: 151: 149: 145: 141: 135: 133: 129: 128:James Gosling 125: 121: 120:Gosling Emacs 113: 110: 108: 104: 101: 97: 94: 92: 88: 85: 82: 78: 64: 60: 57: 54: 52: 48: 45: 44:James Gosling 42: 40: 36: 30: 19: 921: 776: 675: 546: 537: 521: 494:. Retrieved 489: 480: 469:, retrieved 459: 453: 445: 431: 425: 416: 407: 382:. Retrieved 372: 356: 352: 342: 321: 309: 297:. Retrieved 292: 282: 262: 251: 242: 232: 215: 203: 192: 181: 178:Distribution 157: 136: 119: 118: 51:Developer(s) 29: 973:Russ Nelson 723:GNU TeXmacs 384:12 February 112:Text editor 1069:Categories 1021:Editor war 860:Emacs Lisp 703:MicroEMACS 632:derivative 471:14 October 224:References 80:Written in 1026:Spacemacs 892:Honeywell 875:Community 853:Internals 789:Emacspeak 640:GNU Emacs 188:GNU Emacs 172:ASCII art 150:in 1980. 1011:Conkeror 958:Jim Hall 943:Paul Fox 922:UniPress 819:Org-mode 681:Mocklisp 666:Freemacs 465:archived 413:Slashdot 154:Features 56:UniPress 18:Mocklisp 824:Planner 688:Hemlock 661:Epsilon 496:8 March 293:youtube 70: ( 931:People 834:RefTeX 778:Dunnet 767:AUCTeX 645:XEmacs 530:  438:  330:  299:5 June 270:  1075:Emacs 1004:Other 839:SLIME 829:rcirc 814:Magit 772:Dired 760:Modes 733:Zmacs 708:MINCE 654:Other 610:Emacs 380:. n.d 124:Emacs 865:MULE 809:Gnus 794:EMMS 738:ZWEI 728:vile 693:JOVE 671:EINE 528:ISBN 498:2016 490:BYTE 473:2019 436:ISBN 386:2022 328:ISBN 301:2023 268:ISBN 218:Lisp 195:Unix 107:Type 96:Unix 72:1981 65:1981 844:w3m 804:eww 799:ERC 629:and 627:GNU 361:doi 199:VMS 170:in 130:in 100:VMS 1071:: 698:mg 536:. 518:. 506:^ 488:. 463:, 444:. 415:, 411:, 394:^ 357:16 355:, 351:, 318:. 291:. 260:. 134:. 98:, 597:e 590:t 583:v 558:. 500:. 388:. 363:: 336:. 303:. 276:. 132:C 84:C 74:) 20:)

Index

Mocklisp
Original author(s)
James Gosling
Developer(s)
UniPress
C
Operating system
Unix
VMS
Type
Text editor
Emacs
James Gosling
C
Richard Stallman
became the GPL
introduced copyright for software
dynamic programming
string-to-string correction problem
skull-and-crossbones
ASCII art
Richard Stallman
GNU Emacs
Unix
VMS
Free Software Foundation
Lisp
Stallman, Richard
My Lisp Experiences and the Development of GNU Emacs
"6. The Emacs Commune"

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.