├── man ├── emacs.pgs ├── emacs.tps ├── gdb.fns ├── gdb.pgs ├── gdb.tps ├── gdb.vrs ├── termcap.pgs ├── termcap.tps ├── termcap.vrs ├── texinfo.cps ├── texinfo.fns ├── texinfo.kys ├── texinfo.pgs ├── texinfo.tps ├── texinfo.vrs ├── texinfo.aux ├── termcap.fns ├── split-man ├── README ├── ChangeLog ├── termcap.cps ├── gdb.cps └── gdb.kys ├── lisp ├── term │ ├── apollo.el │ ├── bbn.el │ ├── bgnv.el │ ├── bgrv.el │ ├── vt125.el │ ├── vt220.el │ ├── vt240.el │ ├── xterm.el │ ├── bg.el │ ├── bobcat.el │ └── vt100.el ├── ada.elc ├── cl.elc ├── dbx.elc ├── edt.elc ├── ftp.elc ├── gdb.elc ├── lpr.elc ├── man.elc ├── vi.elc ├── vip.elc ├── yow.elc ├── debug.elc ├── dired.elc ├── ehelp.elc ├── files.elc ├── fill.elc ├── flame.elc ├── float.elc ├── hanoi.elc ├── help.elc ├── icon.elc ├── info.elc ├── life.elc ├── lisp.elc ├── medit.elc ├── mh-e.elc ├── page.elc ├── rect.elc ├── rmail.elc ├── rnews.elc ├── shell.elc ├── sort.elc ├── spell.elc ├── subr.elc ├── tags.elc ├── time.elc ├── view.elc ├── abbrev.elc ├── add-log.elc ├── bibtex.elc ├── blackbox.elc ├── bytecomp.elc ├── c-fill.elc ├── c-mode.elc ├── chistory.elc ├── compile.elc ├── dabbrev.elc ├── disass.elc ├── doctor.elc ├── electric.elc ├── fortran.elc ├── helper.elc ├── hideif.elc ├── indent.elc ├── informat.elc ├── isearch.elc ├── keypad.elc ├── macros.elc ├── makesum.elc ├── mim-mode.elc ├── modula2.elc ├── options.elc ├── outline.elc ├── picture.elc ├── prolog.elc ├── register.elc ├── replace.elc ├── rfc822.elc ├── rmailkwd.elc ├── rmailmsc.elc ├── rmailout.elc ├── rmailsum.elc ├── scheme.elc ├── scribe.elc ├── sendmail.elc ├── server.elc ├── simple.elc ├── simula.elc ├── startup.elc ├── studly.elc ├── sun-fns.elc ├── tabify.elc ├── telnet.elc ├── terminal.elc ├── tex-mode.elc ├── texinfmt.elc ├── texinfo.elc ├── undigest.elc ├── userlock.elc ├── vmsproc.elc ├── window.elc ├── x-menu.elc ├── x-mouse.elc ├── xscheme.elc ├── abbrevlist.elc ├── backquote.elc ├── buff-menu.elc ├── cl-indent.elc ├── compare-w.elc ├── dissociate.elc ├── ebuff-menu.elc ├── echistory.elc ├── lisp-mode.elc ├── mail-utils.elc ├── mailalias.elc ├── mim-syntax.elc ├── mlconvert.elc ├── mlsupport.elc ├── nroff-mode.elc ├── paragraphs.elc ├── rmailedit.elc ├── rnewspost.elc ├── sun-mouse.elc ├── sup-mouse.elc ├── text-mode.elc ├── underline.elc ├── vms-patch.elc ├── tex-start.el ├── meese.el ├── undo.el ├── unused.el ├── uncompress.el ├── grow-vers.el ├── studly.el ├── cmacexp.el ├── inc-vers.el ├── emacsbug.el ├── version.el ├── abbrevlist.el ├── rmailmsc.el ├── underline.el ├── tabify.el ├── window.el ├── compare-w.el └── sun-keys.el ├── src ├── m-sgi3000.h ├── ioctl.h ├── s-vms4-0.h ├── s-vms4-2.h ├── s-vms4-4.h ├── .places ├── emacs-18.55.117 ├── emacs-18.55.118 ├── emacs-18.55.119 ├── emacs-18.55.120 ├── emacs-18.55.121 ├── param.h ├── vlimit.h ├── s-386ix.h ├── .gdbinit ├── ccom.com ├── link.com ├── m-alliant1.h ├── testemacs.com ├── precomp.com ├── build.com ├── .dbxinit ├── m-is386.h ├── m-pmax.h ├── pre-crt0.c ├── s-sunos4.h ├── getpagesize.h ├── vms-pp.trans ├── x11term.h ├── m-alliant4.h ├── vmspaths.h ├── recomp.com ├── m-sun3.h ├── paths.h ├── paths.h-dist ├── temacs.opt ├── chpdef.h ├── s-mach.h ├── Makefile ├── indent.h ├── acldef.h ├── macros.h ├── README ├── pwd.h ├── xterm.h ├── ndir.h ├── sink.h ├── sinkmask.h ├── lastfile.c ├── termopts.h ├── compile.com ├── m-ns16000.h ├── termhooks.h ├── m-mega68.h ├── m-altos.h ├── terminfo.c ├── sink11mask.h ├── sink11.h ├── sys │ └── exec.h ├── m-news.h ├── m-sun1.h ├── commands.h ├── m-dual.h ├── m-celerity.h ├── termchar.h ├── m-sun386.h ├── m-pyramid.h ├── m-news800.h ├── m-tahoe.h ├── m-nu.h ├── m-gec63.h ├── dispextern.h ├── m-orion.h ├── m-NeXT.h-orig ├── m-NeXT.h └── undo.h ├── .places ├── etc ├── testfile ├── wakeup ├── vmslink.opt ├── celibacy.1 ├── README ├── wakeup.c ├── leditcfns.c ├── xmouse.doc ├── etags.vms ├── spook.lines ├── TO-DO ├── digest-doc.c ├── complink.com ├── ulimit.hack ├── RCP ├── test-distrib.c ├── APOLLO ├── SUNBUG ├── emacs.icon ├── makedoc.com ├── 3B-MAXMEM ├── yow.c ├── Makefile └── sex.6 ├── ChangeLog ├── SGS_ENV ├── info ├── dir ├── gcc.info-8 ├── termcap └── gdb ├── README └── Makefile /man/emacs.pgs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/emacs.tps: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/gdb.fns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/gdb.pgs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/gdb.tps: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/gdb.vrs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/termcap.pgs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/termcap.tps: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/termcap.vrs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/texinfo.cps: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/texinfo.fns: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/texinfo.kys: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/texinfo.pgs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/texinfo.tps: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /man/texinfo.vrs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lisp/term/apollo.el: -------------------------------------------------------------------------------- 1 | (load "term/vt100") 2 | -------------------------------------------------------------------------------- /src/m-sgi3000.h: -------------------------------------------------------------------------------- 1 | #include "m-irist.h" 2 | -------------------------------------------------------------------------------- /src/ioctl.h: -------------------------------------------------------------------------------- 1 | /* Emacs ioctl emulation for VMS */ 2 | -------------------------------------------------------------------------------- /src/s-vms4-0.h: -------------------------------------------------------------------------------- 1 | #include "s-vms.h" 2 | #define VMS4_0 3 | -------------------------------------------------------------------------------- /.places: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/.places -------------------------------------------------------------------------------- /src/s-vms4-2.h: -------------------------------------------------------------------------------- 1 | #include "s-vms.h" 2 | #define VMS4_2 3 | 4 | -------------------------------------------------------------------------------- /src/s-vms4-4.h: -------------------------------------------------------------------------------- 1 | #include "s-vms.h" 2 | #define VMS4_4 3 | 4 | -------------------------------------------------------------------------------- /lisp/term/bbn.el: -------------------------------------------------------------------------------- 1 | (load (concat term-file-prefix "bg") nil t) 2 | -------------------------------------------------------------------------------- /lisp/term/bgnv.el: -------------------------------------------------------------------------------- 1 | (load (concat term-file-prefix "bg") nil t) 2 | -------------------------------------------------------------------------------- /lisp/term/bgrv.el: -------------------------------------------------------------------------------- 1 | (load (concat term-file-prefix "bg") nil t) 2 | -------------------------------------------------------------------------------- /etc/testfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/etc/testfile -------------------------------------------------------------------------------- /etc/wakeup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/etc/wakeup -------------------------------------------------------------------------------- /lisp/ada.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/ada.elc -------------------------------------------------------------------------------- /lisp/cl.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/cl.elc -------------------------------------------------------------------------------- /lisp/dbx.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/dbx.elc -------------------------------------------------------------------------------- /lisp/edt.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/edt.elc -------------------------------------------------------------------------------- /lisp/ftp.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/ftp.elc -------------------------------------------------------------------------------- /lisp/gdb.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/gdb.elc -------------------------------------------------------------------------------- /lisp/lpr.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/lpr.elc -------------------------------------------------------------------------------- /lisp/man.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/man.elc -------------------------------------------------------------------------------- /lisp/term/vt125.el: -------------------------------------------------------------------------------- 1 | (load (concat term-file-prefix "vt100") nil t) 2 | -------------------------------------------------------------------------------- /lisp/term/vt220.el: -------------------------------------------------------------------------------- 1 | (load (concat term-file-prefix "vt200") nil t) 2 | -------------------------------------------------------------------------------- /lisp/term/vt240.el: -------------------------------------------------------------------------------- 1 | (load (concat term-file-prefix "vt200") nil t) 2 | -------------------------------------------------------------------------------- /lisp/vi.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/vi.elc -------------------------------------------------------------------------------- /lisp/vip.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/vip.elc -------------------------------------------------------------------------------- /lisp/yow.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/yow.elc -------------------------------------------------------------------------------- /src/.places: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/src/.places -------------------------------------------------------------------------------- /etc/vmslink.opt: -------------------------------------------------------------------------------- 1 | !sys$share:vaxcrtl/share 2 | sys$library:vaxcrtl/library 3 | -------------------------------------------------------------------------------- /lisp/debug.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/debug.elc -------------------------------------------------------------------------------- /lisp/dired.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/dired.elc -------------------------------------------------------------------------------- /lisp/ehelp.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/ehelp.elc -------------------------------------------------------------------------------- /lisp/files.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/files.elc -------------------------------------------------------------------------------- /lisp/fill.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/fill.elc -------------------------------------------------------------------------------- /lisp/flame.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/flame.elc -------------------------------------------------------------------------------- /lisp/float.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/float.elc -------------------------------------------------------------------------------- /lisp/hanoi.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/hanoi.elc -------------------------------------------------------------------------------- /lisp/help.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/help.elc -------------------------------------------------------------------------------- /lisp/icon.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/icon.elc -------------------------------------------------------------------------------- /lisp/info.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/info.elc -------------------------------------------------------------------------------- /lisp/life.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/life.elc -------------------------------------------------------------------------------- /lisp/lisp.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/lisp.elc -------------------------------------------------------------------------------- /lisp/medit.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/medit.elc -------------------------------------------------------------------------------- /lisp/mh-e.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/mh-e.elc -------------------------------------------------------------------------------- /lisp/page.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/page.elc -------------------------------------------------------------------------------- /lisp/rect.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/rect.elc -------------------------------------------------------------------------------- /lisp/rmail.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/rmail.elc -------------------------------------------------------------------------------- /lisp/rnews.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/rnews.elc -------------------------------------------------------------------------------- /lisp/shell.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/shell.elc -------------------------------------------------------------------------------- /lisp/sort.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/sort.elc -------------------------------------------------------------------------------- /lisp/spell.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/spell.elc -------------------------------------------------------------------------------- /lisp/subr.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/subr.elc -------------------------------------------------------------------------------- /lisp/tags.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/tags.elc -------------------------------------------------------------------------------- /lisp/time.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/time.elc -------------------------------------------------------------------------------- /lisp/view.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/view.elc -------------------------------------------------------------------------------- /lisp/abbrev.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/abbrev.elc -------------------------------------------------------------------------------- /lisp/add-log.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/add-log.elc -------------------------------------------------------------------------------- /lisp/bibtex.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/bibtex.elc -------------------------------------------------------------------------------- /lisp/blackbox.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/blackbox.elc -------------------------------------------------------------------------------- /lisp/bytecomp.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/bytecomp.elc -------------------------------------------------------------------------------- /lisp/c-fill.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/c-fill.elc -------------------------------------------------------------------------------- /lisp/c-mode.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/c-mode.elc -------------------------------------------------------------------------------- /lisp/chistory.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/chistory.elc -------------------------------------------------------------------------------- /lisp/compile.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/compile.elc -------------------------------------------------------------------------------- /lisp/dabbrev.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/dabbrev.elc -------------------------------------------------------------------------------- /lisp/disass.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/disass.elc -------------------------------------------------------------------------------- /lisp/doctor.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/doctor.elc -------------------------------------------------------------------------------- /lisp/electric.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/electric.elc -------------------------------------------------------------------------------- /lisp/fortran.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/fortran.elc -------------------------------------------------------------------------------- /lisp/helper.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/helper.elc -------------------------------------------------------------------------------- /lisp/hideif.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/hideif.elc -------------------------------------------------------------------------------- /lisp/indent.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/indent.elc -------------------------------------------------------------------------------- /lisp/informat.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/informat.elc -------------------------------------------------------------------------------- /lisp/isearch.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/isearch.elc -------------------------------------------------------------------------------- /lisp/keypad.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/keypad.elc -------------------------------------------------------------------------------- /lisp/macros.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/macros.elc -------------------------------------------------------------------------------- /lisp/makesum.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/makesum.elc -------------------------------------------------------------------------------- /lisp/mim-mode.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/mim-mode.elc -------------------------------------------------------------------------------- /lisp/modula2.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/modula2.elc -------------------------------------------------------------------------------- /lisp/options.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/options.elc -------------------------------------------------------------------------------- /lisp/outline.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/outline.elc -------------------------------------------------------------------------------- /lisp/picture.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/picture.elc -------------------------------------------------------------------------------- /lisp/prolog.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/prolog.elc -------------------------------------------------------------------------------- /lisp/register.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/register.elc -------------------------------------------------------------------------------- /lisp/replace.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/replace.elc -------------------------------------------------------------------------------- /lisp/rfc822.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/rfc822.elc -------------------------------------------------------------------------------- /lisp/rmailkwd.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/rmailkwd.elc -------------------------------------------------------------------------------- /lisp/rmailmsc.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/rmailmsc.elc -------------------------------------------------------------------------------- /lisp/rmailout.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/rmailout.elc -------------------------------------------------------------------------------- /lisp/rmailsum.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/rmailsum.elc -------------------------------------------------------------------------------- /lisp/scheme.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/scheme.elc -------------------------------------------------------------------------------- /lisp/scribe.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/scribe.elc -------------------------------------------------------------------------------- /lisp/sendmail.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/sendmail.elc -------------------------------------------------------------------------------- /lisp/server.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/server.elc -------------------------------------------------------------------------------- /lisp/simple.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/simple.elc -------------------------------------------------------------------------------- /lisp/simula.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/simula.elc -------------------------------------------------------------------------------- /lisp/startup.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/startup.elc -------------------------------------------------------------------------------- /lisp/studly.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/studly.elc -------------------------------------------------------------------------------- /lisp/sun-fns.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/sun-fns.elc -------------------------------------------------------------------------------- /lisp/tabify.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/tabify.elc -------------------------------------------------------------------------------- /lisp/telnet.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/telnet.elc -------------------------------------------------------------------------------- /lisp/terminal.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/terminal.elc -------------------------------------------------------------------------------- /lisp/tex-mode.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/tex-mode.elc -------------------------------------------------------------------------------- /lisp/texinfmt.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/texinfmt.elc -------------------------------------------------------------------------------- /lisp/texinfo.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/texinfo.elc -------------------------------------------------------------------------------- /lisp/undigest.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/undigest.elc -------------------------------------------------------------------------------- /lisp/userlock.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/userlock.elc -------------------------------------------------------------------------------- /lisp/vmsproc.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/vmsproc.elc -------------------------------------------------------------------------------- /lisp/window.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/window.elc -------------------------------------------------------------------------------- /lisp/x-menu.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/x-menu.elc -------------------------------------------------------------------------------- /lisp/x-mouse.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/x-mouse.elc -------------------------------------------------------------------------------- /lisp/xscheme.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/xscheme.elc -------------------------------------------------------------------------------- /lisp/abbrevlist.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/abbrevlist.elc -------------------------------------------------------------------------------- /lisp/backquote.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/backquote.elc -------------------------------------------------------------------------------- /lisp/buff-menu.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/buff-menu.elc -------------------------------------------------------------------------------- /lisp/cl-indent.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/cl-indent.elc -------------------------------------------------------------------------------- /lisp/compare-w.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/compare-w.elc -------------------------------------------------------------------------------- /lisp/dissociate.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/dissociate.elc -------------------------------------------------------------------------------- /lisp/ebuff-menu.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/ebuff-menu.elc -------------------------------------------------------------------------------- /lisp/echistory.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/echistory.elc -------------------------------------------------------------------------------- /lisp/lisp-mode.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/lisp-mode.elc -------------------------------------------------------------------------------- /lisp/mail-utils.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/mail-utils.elc -------------------------------------------------------------------------------- /lisp/mailalias.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/mailalias.elc -------------------------------------------------------------------------------- /lisp/mim-syntax.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/mim-syntax.elc -------------------------------------------------------------------------------- /lisp/mlconvert.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/mlconvert.elc -------------------------------------------------------------------------------- /lisp/mlsupport.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/mlsupport.elc -------------------------------------------------------------------------------- /lisp/nroff-mode.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/nroff-mode.elc -------------------------------------------------------------------------------- /lisp/paragraphs.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/paragraphs.elc -------------------------------------------------------------------------------- /lisp/rmailedit.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/rmailedit.elc -------------------------------------------------------------------------------- /lisp/rnewspost.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/rnewspost.elc -------------------------------------------------------------------------------- /lisp/sun-mouse.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/sun-mouse.elc -------------------------------------------------------------------------------- /lisp/sup-mouse.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/sup-mouse.elc -------------------------------------------------------------------------------- /lisp/text-mode.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/text-mode.elc -------------------------------------------------------------------------------- /lisp/underline.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/underline.elc -------------------------------------------------------------------------------- /lisp/vms-patch.elc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/lisp/vms-patch.elc -------------------------------------------------------------------------------- /src/emacs-18.55.117: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/src/emacs-18.55.117 -------------------------------------------------------------------------------- /src/emacs-18.55.118: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/src/emacs-18.55.118 -------------------------------------------------------------------------------- /src/emacs-18.55.119: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/src/emacs-18.55.119 -------------------------------------------------------------------------------- /src/emacs-18.55.120: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/src/emacs-18.55.120 -------------------------------------------------------------------------------- /src/emacs-18.55.121: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTEmacs/master/src/emacs-18.55.121 -------------------------------------------------------------------------------- /src/param.h: -------------------------------------------------------------------------------- 1 | /* This is so that Emacs can run on VMS... */ 2 | #define EXEC_PAGESIZE 512 3 | -------------------------------------------------------------------------------- /src/vlimit.h: -------------------------------------------------------------------------------- 1 | /* Dummy for Emacs so that we can run on VMS... */ 2 | #define LIM_DATA 0 3 | -------------------------------------------------------------------------------- /src/s-386ix.h: -------------------------------------------------------------------------------- 1 | #include "s-usg5-3.h" 2 | 3 | #define NO_SIOCTL_H 4 | 5 | #define BROKEN_TIOCGETC 6 | -------------------------------------------------------------------------------- /src/.gdbinit: -------------------------------------------------------------------------------- 1 | unset-e TTYLOC 2 | unset-e EDITOR 3 | unset-e VISUAL 4 | unset-e MORE 5 | unset-e SHLVL 6 | -------------------------------------------------------------------------------- /src/ccom.com: -------------------------------------------------------------------------------- 1 | $ ! VMS command file used by the `ccom' command. 2 | $ cc /debug /nolist /define="emacs" 'p1' 3 | -------------------------------------------------------------------------------- /lisp/term/xterm.el: -------------------------------------------------------------------------------- 1 | ;; Don't send the `ti' string when screen is cleared. 2 | (setq reset-terminal-on-clear nil) 3 | -------------------------------------------------------------------------------- /src/link.com: -------------------------------------------------------------------------------- 1 | $ ! VMS command file to link the .OBJ files of Emacs, 2 | $ ! using `temacs.opt' and producing `temacs.exe'. 3 | $ link temacs/opt 4 | -------------------------------------------------------------------------------- /src/m-alliant1.h: -------------------------------------------------------------------------------- 1 | /* config.h should include this file for version 1 of Alliant's 2 | operating system. */ 3 | 4 | #define ALLIANT_1 5 | #include "m-alliant.h" 6 | -------------------------------------------------------------------------------- /src/testemacs.com: -------------------------------------------------------------------------------- 1 | $ ! VMS command file to make definitions so that you can run 2 | $ ! `temacs.exe' with the data file just dumped by build.com. 3 | $ 4 | $ runtemacs :== $sys$disk:[]temacs -map temacs.dump 5 | -------------------------------------------------------------------------------- /src/precomp.com: -------------------------------------------------------------------------------- 1 | $ ! VMS command file to define the `ccom' command 2 | $ ! that is the only way to compile Emacs C source files. 3 | $ 4 | $ define /nolog vaxc$include sys$library, sys$disk:[] 5 | $ define /nolog sys vaxc$include 6 | $ ccom :== @ccom 7 | -------------------------------------------------------------------------------- /etc/celibacy.1: -------------------------------------------------------------------------------- 1 | CELIBACY(1) UNIX Programmer's Manual CELIBACY(1) 2 | 3 | 4 | 5 | NAME 6 | celibacy - don't have sex 7 | 8 | SYNOPSIS 9 | celibacy 10 | 11 | DESCRIPTION 12 | Does nothing worth mentioning. 13 | -------------------------------------------------------------------------------- /src/build.com: -------------------------------------------------------------------------------- 1 | $ ! VMS command file to run `temacs.exe' and dump the data file `temacs.dump'. 2 | $ if f$search("temacs.dump;") .nes. "" then delete temacs.dump;* 3 | $ temacs :== $emacs_library:[src]temacs -batch 4 | $ temacs -l inc-vers 5 | $ temacs -l loadup.el dump 6 | -------------------------------------------------------------------------------- /lisp/term/bg.el: -------------------------------------------------------------------------------- 1 | ;; BBN bitgraph terminal. 2 | 3 | (load (concat term-file-prefix "vt100") nil t) ;BG keyboard is VT100 clone 4 | (autoload 'bg-mouse-report "bg-mouse") 5 | (global-set-key "\e:" 'bg-mouse-report) 6 | (send-string-to-terminal "\e:0;7;;;360;512;9;16;9;16c") 7 | -------------------------------------------------------------------------------- /src/.dbxinit: -------------------------------------------------------------------------------- 1 | ignore 14 2 | catch 18 3 | ignore 20 4 | ignore 23 5 | alias s step 6 | alias n next 7 | alias c cont 8 | alias st status 9 | alias r run 10 | alias l list 11 | alias f file 12 | alias q quit 13 | alias w where 14 | alias d delete 15 | alias p print 16 | -------------------------------------------------------------------------------- /src/m-is386.h: -------------------------------------------------------------------------------- 1 | /* m- file for Integrated Solutions 386 machine. */ 2 | 3 | #include "m-intel386.h" 4 | 5 | #define LIBX10_MACHINE -lnsl_s 6 | #define LIBX11_MACHINE -lnsl_s 7 | 8 | #undef HAVE_PTYS 9 | #undef SYSV_PTYS 10 | #undef HAVE_SOCKETS 11 | 12 | #define LIBS_DEBUG -lg 13 | -------------------------------------------------------------------------------- /etc/README: -------------------------------------------------------------------------------- 1 | 2 | This directory contains some text files of documentation for GNU Emacs 3 | or of interest to Emacs users, some programs used by or with Emacs, 4 | and the file of on-line documentation for Emacs. 5 | 6 | `termcap.dat' is for VMS. It is a copy of the `/etc/termcap' file 7 | used on Unix. 8 | 9 | -------------------------------------------------------------------------------- /man/texinfo.aux: -------------------------------------------------------------------------------- 1 | 'xrdef {top-pg}{2} 2 | 'xrdef {top-snt}{chapter'tie1} 3 | 'xrdef {info-pg}{2} 4 | 'xrdef {info-snt}{section'tie1.1} 5 | 'xrdef {commands-pg}{3} 6 | 'xrdef {commands-snt}{section'tie1.2} 7 | 'xrdef {make-info-pg}{27} 8 | 'xrdef {make-info-snt}{section'tie1.10} 9 | 'xrdef {manual-pg}{28} 10 | 'xrdef {manual-snt}{section'tie1.11} 11 | -------------------------------------------------------------------------------- /man/termcap.fns: -------------------------------------------------------------------------------- 1 | \initial {B} 2 | \entry {BC}{16} 3 | \initial {O} 4 | \entry {ospeed}{10} 5 | \initial {P} 6 | \entry {PC}{10} 7 | \initial {T} 8 | \entry {tgetent}{3} 9 | \entry {tgetflag}{5} 10 | \entry {tgetnum}{5} 11 | \entry {tgetstr}{5} 12 | \entry {tgoto}{15} 13 | \entry {tparam}{14} 14 | \entry {tputs}{10} 15 | \initial {U} 16 | \entry {UP}{16} 17 | -------------------------------------------------------------------------------- /lisp/term/bobcat.el: -------------------------------------------------------------------------------- 1 | ;;; HP terminals usually encourage using ^H as the rubout character 2 | 3 | (let ((the-table (make-string 128 0))) 4 | (let ((i 0)) 5 | (while (< i 128) 6 | (aset the-table i i) 7 | (setq i (1+ i)))) 8 | ;; Swap ^H and DEL 9 | (aset the-table ?\177 ?\^h) 10 | (aset the-table ?\^h ?\177) 11 | (setq keyboard-translate-table the-table)) 12 | -------------------------------------------------------------------------------- /etc/wakeup.c: -------------------------------------------------------------------------------- 1 | /* Program to produce output at regular intervals. */ 2 | 3 | #include 4 | 5 | main (argc, argv) 6 | int argc; 7 | char **argv; 8 | { 9 | int period = 60; 10 | 11 | if (argc > 1) 12 | period = atoi (argv[1]); 13 | 14 | while (1) 15 | { 16 | printf ("Wake up!\n"); 17 | fflush (stdout); 18 | sleep (period); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/m-pmax.h: -------------------------------------------------------------------------------- 1 | #include "m-mips.h" 2 | #undef LIBS_MACHINE 3 | #undef BIG_ENDIAN 4 | #undef LIB_STANDARD 5 | #undef START_FILES 6 | #undef COFF 7 | #undef TERMINFO 8 | #define MAIL_USE_FLOCK 9 | #define HAVE_UNION_WAIT 10 | 11 | /* Supposedly the following will overcome a kernel bug. */ 12 | #undef LD_SWITCH_MACHINE 13 | #undef DATA_START 14 | #define DATA_START 0x10000000 15 | #define DATA_SEG_BITS 0x10000000 16 | -------------------------------------------------------------------------------- /src/pre-crt0.c: -------------------------------------------------------------------------------- 1 | /* This file is loaded before crt0.o on machines where we do not 2 | remap part of the data space into text space in unexec. 3 | On these machines, there is no problem with standard crt0.o's 4 | that make environ an initialized variable. However, we do 5 | need to make sure the label data_start exists anyway. */ 6 | 7 | /* Create a label to appear at the beginning of data space. */ 8 | 9 | int data_start = 0; 10 | -------------------------------------------------------------------------------- /src/s-sunos4.h: -------------------------------------------------------------------------------- 1 | #include "s-bsd4-2.h" 2 | 3 | /* Say that the text segment of a.out includes the header; 4 | the header actually occupies the first few bytes of the text segment 5 | and is counted in hdr.a_text. */ 6 | 7 | #define O_NDELAY FNDELAY /* Non-blocking I/O (4.2 style) */ 8 | #define LD_SWITCH_SYSTEM -e __start -Bstatic 9 | 10 | /* This is supposed to avoid a mysterious bug. */ 11 | 12 | #define SYSTEM_MALLOC 13 | -------------------------------------------------------------------------------- /etc/leditcfns.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define STRLEN 100 4 | static char str[STRLEN+1] = "%?emacs"; /* extra char for the null */ 5 | 6 | switch_to_proc(){ 7 | char *ptr = str; 8 | while (*ptr) ioctl(0, TIOCSTI, ptr++); 9 | ioctl(0, TIOCSTI, "\n"); 10 | kill(getpid(), SIGTSTP); 11 | } 12 | 13 | set_proc_str(ptr) char *ptr; { 14 | if (strlen(ptr) <= STRLEN) 15 | strcpy(str, ptr); 16 | else 17 | printf("string too long for set-proc-str: %s\n", ptr); 18 | } 19 | -------------------------------------------------------------------------------- /lisp/tex-start.el: -------------------------------------------------------------------------------- 1 | ; This file is for use by TeX82 (see man page) to allow switching to 2 | ; Emacs at a line number given on the command line 3 | ; It assumes that it has been called by: 4 | ; emacs -l tex-start -e startline 5 | 6 | (defun startline () 7 | ;(setq command-line-args (cdr command-line-args)) 8 | (find-file (car (cdr command-line-args-left))) 9 | (goto-char (point-min)) 10 | (forward-line (1- (string-to-int (car command-line-args-left)))) 11 | (setq command-line-args-left ())) 12 | -------------------------------------------------------------------------------- /src/getpagesize.h: -------------------------------------------------------------------------------- 1 | #ifdef BSD 2 | #ifndef BSD4_1 3 | #define HAVE_GETPAGESIZE 4 | #endif 5 | #endif 6 | 7 | #ifndef HAVE_GETPAGESIZE 8 | 9 | #include 10 | 11 | #ifdef EXEC_PAGESIZE 12 | #define getpagesize() EXEC_PAGESIZE 13 | #else 14 | #ifdef NBPG 15 | #define getpagesize() NBPG * CLSIZE 16 | #ifndef CLSIZE 17 | #define CLSIZE 1 18 | #endif /* no CLSIZE */ 19 | #else /* no NBPG */ 20 | #define getpagesize() NBPC 21 | #endif /* no NBPG */ 22 | #endif /* no EXEC_PAGESIZE */ 23 | 24 | #endif /* not HAVE_GETPAGESIZE */ 25 | 26 | -------------------------------------------------------------------------------- /src/vms-pp.trans: -------------------------------------------------------------------------------- 1 | ! translations for extra long variable names 2 | !234567890123456789012345678901 1234567890123456789012345678901 3 | Vminibuffer_local_completion_map Vminibuf_local_completion_map 4 | Vminibuffer_local_must_match_map Vminibuf_local_must_match 5 | Finsert_abbrev_table_description Finsert_abbrev_table_descrip 6 | Sinsert_abbrev_table_description Sinsert_abbrev_table_descrip 7 | internal_with_output_to_temp_buffer internal_with_out_to_temp_buf 8 | Vminibuffer_completion_predicate Vminibuf_completion_predicate 9 | Qminibuffer_completion_predicate Qminibuf_completion_predicate 10 | 11 | -------------------------------------------------------------------------------- /etc/xmouse.doc: -------------------------------------------------------------------------------- 1 | .\" X windows GNU Emacs key bindings. 2 | .\" Print with `tbl xmouse.doc | troff` 3 | .\" 4 | .rs 5 | .sp 1i 6 | .ps 6 7 | .vs 7 8 | .TS 9 | box; 10 | cfI s s 11 | c | c | c 12 | l | l | l. 13 | GNU Emacs Key Bindings for X Windows 14 | = 15 | Key Button Function 16 | _ 17 | Unshifted left x-mouse-set-point 18 | \^ middle x-paste-text 19 | \^ right x-cut-text 20 | _ 21 | Control middle x-cut-and-wipe-text 22 | \^ right x-mouse-select-and-split 23 | _ 24 | Shift middle x-cut-text 25 | \^ right x-paste-text 26 | _ 27 | Control-Shift left x-buffer-menu 28 | \^ middle x-help 29 | \^ right x-mouse-keep-one-window 30 | .TE 31 | 32 | -------------------------------------------------------------------------------- /lisp/meese.el: -------------------------------------------------------------------------------- 1 | (defun protect-innocence-hook () 2 | (if (and (equal (file-name-nondirectory buffer-file-name) "sex.6") 3 | (not (y-or-n-p "Are you over 18? "))) 4 | (progn 5 | (clear-visited-file-modtime) 6 | (setq buffer-file-name (concat (file-name-directory buffer-file-name) 7 | "celibacy.1")) 8 | (let (buffer-read-only) ; otherwise (erase-buffer) may bomb. 9 | (erase-buffer) 10 | (insert-file-contents buffer-file-name t)) 11 | (rename-buffer (file-name-nondirectory buffer-file-name))))) 12 | 13 | (or (memq 'protect-innocence-hook find-file-hooks) 14 | (setq find-file-hooks (cons 'protect-innocence-hook find-file-hooks))) 15 | -------------------------------------------------------------------------------- /lisp/undo.el: -------------------------------------------------------------------------------- 1 | (defun undo-start () 2 | "Move undo-pointer to front of undo records. 3 | The next call to undo-more will undo the most recently made change. 4 | (if (eq buffer-undo-list t) 5 | (error "No undo information in this buffer")) 6 | (setq pending-undo-list buffer-undo-list)) 7 | 8 | (defun undo-more (count) 9 | "Undo back N undo-boundaries beyond what was already undone recently. 10 | Call undo-start to get ready to undo recent changes, 11 | then call undo-more one or more times to undo them. 12 | (or pending-undo-list 13 | (error "No further undo information")) 14 | (setq pending-undo-list (primitive-undo count pending-undo-list))) -------------------------------------------------------------------------------- /etc/etags.vms: -------------------------------------------------------------------------------- 1 | VMS-ed version of etags 2 | ----------------------- 3 | 4 | 1. The changes made allow the program to compile correctly, 5 | to give error messages more meaningful to VMS, to allow '$' 6 | in identifier tokens in C programs, and to expand wild-cards in the 7 | input filespecs. 8 | 9 | 2. To minimize the differences from the original version, 10 | the VMS filename expansion converts filenames to lower 11 | case, and strips version numbers. This does indeed mean 12 | that some input specs (containing version wildcards) will 13 | cause curious effects, it is reasonably consistent with 14 | Emacs, which ignores file versions. 15 | 16 | -------------------------------------------------------------------------------- /src/x11term.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #define XMOUSEBUFSIZE 64 9 | 10 | #ifndef sigmask 11 | #define sigmask(no) (1L << ((no) - 1)) 12 | #endif 13 | 14 | #define BLOCK_INPUT_DECLARE() int BLOCK_INPUT_mask 15 | #ifdef SIGIO 16 | #define BLOCK_INPUT() BLOCK_INPUT_mask = sigblock (sigmask (SIGIO)) 17 | #define UNBLOCK_INPUT() sigsetmask (BLOCK_INPUT_mask) 18 | #else /* not SIGIO */ 19 | #define BLOCK_INPUT() 20 | #define UNBLOCK_INPUT() 21 | #endif /* SIGIO */ 22 | 23 | #define CLASS "emacs" /* class id for GNU Emacs, used in .Xdefaults, etc. */ 24 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | Thu Apr 26 13:36:18 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 2 | 3 | * Makefile (paths.h): Make sed alter each name in the path. 4 | 5 | Tue Aug 30 13:43:43 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 6 | 7 | * Makefile (install.sysv): Use cpio, not tar. 8 | 9 | Wed Aug 3 19:20:13 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 10 | 11 | * Makefile (lockdir): Rename `lock' target. 12 | Depend on it from install*, not from `all'. 13 | 14 | Mon May 16 02:08:08 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu) 15 | 16 | * Makefile: Changed LIBDIR and BINDIR back to /usr/local/{emacs,bin} 17 | to match build-install and paths.h. 18 | 19 | -------------------------------------------------------------------------------- /man/split-man: -------------------------------------------------------------------------------- 1 | dviselect -i emacs.dvi -o emacs1.dvi 1-20 2 | dviselect -i emacs.dvi -o emacs21.dvi 21-40 3 | dviselect -i emacs.dvi -o emacs41.dvi 41-60 4 | dviselect -i emacs.dvi -o emacs61.dvi 61-80 5 | dviselect -i emacs.dvi -o emacs81.dvi 81-100 6 | dviselect -i emacs.dvi -o emacs101.dvi 101-120 7 | dviselect -i emacs.dvi -o emacs121.dvi 121-140 8 | dviselect -i emacs.dvi -o emacs141.dvi 141-160 9 | dviselect -i emacs.dvi -o emacs161.dvi 161-180 10 | dviselect -i emacs.dvi -o emacs181.dvi 181-200 11 | dviselect -i emacs.dvi -o emacs201.dvi 201-220 12 | dviselect -i emacs.dvi -o emacs221.dvi 221-240 13 | dviselect -i emacs.dvi -o emacs241.dvi 241- 14 | dviselect -i emacs.dvi -o emacs0.dvi _20-0 15 | -------------------------------------------------------------------------------- /src/m-alliant4.h: -------------------------------------------------------------------------------- 1 | /* m-file for Alliant Concentrix 4.0 or later. 2 | Use m-alliant.h for versions 2 and 3. */ 3 | 4 | #include "m-alliant.h" 5 | 6 | /* Concentrix uses a different kernel symbol for load average. */ 7 | 8 | #undef LDAV_SYMBOL /* Undo definition in s-bsd4-2.h */ 9 | #define LDAV_SYMBOL "_Loadavg" 10 | 11 | /* Data type of load average, as read out of kmem. */ 12 | 13 | #define LOAD_AVE_TYPE long 14 | 15 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 16 | 17 | #define LOAD_AVE_CVT(x) (x * 100 / LOADAVG_SCALE) 18 | 19 | /* include for the definition of LOADAVG_SCALE, and also 20 | LOADAVG_SIZE, the number of items in the Loadavg array. */ 21 | -------------------------------------------------------------------------------- /man/README: -------------------------------------------------------------------------------- 1 | This directory contains the Tex sources of the Emacs manual, 2 | plus the macro package (texinfo.tex) necessary for processing it. 3 | 4 | 1) Run tex on emacs.tex, producing emacs.cp, emacs.fn, emacs.ky, 5 | and emacs.vr (unsorted index files), plus emacs.aux (cross ref file). 6 | 7 | 2) Compile texindex.c, and run it: 8 | `texindex emacs.??' 9 | This produces sorted index files emacs.cps, emacs.fns, etc. 10 | that are used as input in step 3. 11 | 12 | 3) Run tex on emacs.tex again. 13 | 14 | 4) Now you have a dvi file that you can print. 15 | 16 | The latest versions of all the intermediate files are supplied, 17 | so if you want to print the manual with no change, you can start with 18 | step 3. 19 | -------------------------------------------------------------------------------- /src/vmspaths.h: -------------------------------------------------------------------------------- 1 | /* the default search path for Lisp function "load" */ 2 | #define PATH_LOADSEARCH "EMACS_LIBRARY:[LISP]" 3 | 4 | /* the extra search path for programs to invoke. 5 | This is appended to whatever the PATH environment variable says. */ 6 | #define PATH_EXEC "EMACS_LIBRARY:[ETC]" 7 | 8 | /* the name of the directory that contains lock files 9 | with which we record what files are being modified in Emacs. 10 | This directory should be writable by everyone. */ 11 | #define PATH_LOCK "EMACS_LIBRARY:[LOCK]" 12 | 13 | /* the name of the file !!!SuperLock!!! in the directory 14 | specified by PATH_LOCK. Yes, this is redundant. */ 15 | #define PATH_SUPERLOCK "EMACS_LIBRARY:[LOCK]$$$SUPERLOCK$$$." 16 | -------------------------------------------------------------------------------- /src/recomp.com: -------------------------------------------------------------------------------- 1 | $ ! VMS command file to recompile a .C file which needs recompilation. 2 | $ ! This is a .C files that has no .OBJ file or that is newer 3 | $ ! than the corresponding .OBJ file. This file is self contained 4 | $ ! and does not require you to do anything before running it. 5 | $ 6 | $ file = f$search(f$parse(p1, ".C"), 1) 7 | $ cmd = p2 8 | $ if cmd .nes. "" then goto havcmd 9 | $ if "''ccom'" .eqs. "" then @precomp 10 | $ cmd = "ccom" 11 | $havcmd: 12 | $ name = f$parse(file,,,"NAME") 13 | $ obj = name + ".OBJ" 14 | $ if f$search(obj) .eqs. "" then goto docmd 15 | $ if f$cvtime(f$file(file, "RDT")) .les. f$cvtime(f$file(obj, "RDT")) then - 16 | exit 17 | $ docmd: 18 | $ write sys$output "Compiling ''name'..." 19 | $ 'cmd' 'file' 20 | $ purge /nolog 'obj' 21 | $ write sys$output "---------------" 22 | -------------------------------------------------------------------------------- /src/m-sun3.h: -------------------------------------------------------------------------------- 1 | /* m- file for Sun 68000's OPERATING SYSTEM version 3 2 | (for either 68000 or 68020 systems). */ 3 | 4 | #include "m-sun2.h" 5 | #undef sun2 6 | #ifndef sun3 7 | #define sun3 8 | #endif 9 | 10 | /* Say that the text segment of a.out includes the header; 11 | the header actually occupies the first few bytes of the text segment 12 | and is counted in hdr.a_text. */ 13 | 14 | #define A_TEXT_OFFSET(HDR) sizeof (HDR) 15 | 16 | /* In case we are using floating point, work together with crt0.c. */ 17 | 18 | #ifndef __GNUC__ 19 | #define C_SWITCH_MACHINE -fsoft 20 | #endif 21 | 22 | /* This line is needed if you are linking with X windows 23 | and the library xlib was compiled to use the 68881. 24 | For maximum cleanliness, don't edit this file; 25 | instead, insert this line in config.h. */ 26 | /* #define START_FILES crt0.o /usr/lib/Mcrt1.o */ 27 | -------------------------------------------------------------------------------- /src/paths.h: -------------------------------------------------------------------------------- 1 | /* The default search path for Lisp function "load". 2 | This sets load-path. */ 3 | #define PATH_LOADSEARCH "/usr/lib/emacs/lisp" 4 | 5 | /* the extra search path for programs to invoke. 6 | This is appended to whatever the PATH environment variable says 7 | to set the Lisp variable exec-path and the first file namein it 8 | sets the Lisp variable exec-directory. */ 9 | #define PATH_EXEC "/usr/lib/emacs/etc" 10 | 11 | /* the name of the directory that contains lock files 12 | with which we record what files are being modified in Emacs. 13 | This directory should be writable by everyone. 14 | THE STRING MUST END WITH A SLASH!!! */ 15 | #define PATH_LOCK "/usr/lib/emacs/lock/" 16 | 17 | /* the name of the file !!!SuperLock!!! in the directory 18 | specified by PATH_LOCK. Yes, this is redundant. */ 19 | #define PATH_SUPERLOCK "/usr/lib/emacs/lock/!!!SuperLock!!!" 20 | -------------------------------------------------------------------------------- /etc/spook.lines: -------------------------------------------------------------------------------- 1 | [spook.lines] 2 | 3 | This is the same format as zippy's yow.lines file. 4 | Every entry ends in a ascii 0 (control-atsign) 5 | Everything before the first ascii 0 is a comment. 6 | Add your favorite spook phrases here! 7 | 8 | 9 | bomb 10 | $400 million in gold bullion 11 | radar 12 | Nancy Reagan 13 | quiche 14 | Rule Psix 15 | cryptographic 16 | Mossad 17 | fissionable 18 | counter-intelligence 19 | NSA 20 | genetic 21 | terrorist 22 | ammunition 23 | DES 24 | nuclear 25 | Marxist 26 | [Hello to all my fans in domestic surveillance] 27 | CIA 28 | Uzi 29 | assassination 30 | Soviet 31 | plutonium 32 | Treasury 33 | Rule Psix 34 | Cocaine 35 | Ortega 36 | FBI 37 | PLO 38 | strategic 39 | Nazi 40 | smuggle 41 | supercomputer 42 | domestic disruption 43 | KGB 44 | Kennedy 45 | SDI 46 | arrangements 47 | spy 48 | munitions 49 | Ft. Bragg 50 | colonel 51 | Soviet 52 | South Africa 53 | Noriega 54 | Panama 55 | Honduras 56 | El Salvador 57 | -------------------------------------------------------------------------------- /src/paths.h-dist: -------------------------------------------------------------------------------- 1 | /* The default search path for Lisp function "load". 2 | This sets load-path. */ 3 | #define PATH_LOADSEARCH "/usr/local/emacs/lisp" 4 | 5 | /* the extra search path for programs to invoke. 6 | This is appended to whatever the PATH environment variable says 7 | to set the Lisp variable exec-path and the first file name in it 8 | sets the Lisp variable exec-directory. 9 | exec-directory is used for finding various documentation files 10 | and certain executables. */ 11 | #define PATH_EXEC "/usr/local/emacs/etc" 12 | 13 | /* the name of the directory that contains lock files 14 | with which we record what files are being modified in Emacs. 15 | This directory should be writable by everyone. 16 | THE STRING MUST END WITH A SLASH!!! */ 17 | #define PATH_LOCK "/usr/local/emacs/lock/" 18 | 19 | /* the name of the file !!!SuperLock!!! in the directory 20 | specified by PATH_LOCK. Yes, this is redundant. */ 21 | #define PATH_SUPERLOCK "/usr/local/emacs/lock/!!!SuperLock!!!" 22 | -------------------------------------------------------------------------------- /src/temacs.opt: -------------------------------------------------------------------------------- 1 | cluster=emacs,,,- 2 | DISPNEW.OBJ,- 3 | SCROLL.OBJ,- 4 | XDISP.OBJ,- 5 | WINDOW.OBJ,- 6 | TERM.OBJ,- 7 | CM.OBJ,- 8 | EMACS.OBJ,- 9 | KEYBOARD.OBJ,- 10 | MACROS.OBJ,- 11 | KEYMAP.OBJ,- 12 | SYSDEP.OBJ,- 13 | BUFFER.OBJ,- 14 | FILELOCK.OBJ,- 15 | INSDEL.OBJ,- 16 | MARKER.OBJ,- 17 | MINIBUF.OBJ,- 18 | FILEIO.OBJ,- 19 | DIRED.OBJ,- 20 | FILEMODE.OBJ,- 21 | CMDS.OBJ,- 22 | CASEFIDDLE.OBJ,- 23 | INDENT.OBJ,- 24 | SEARCH.OBJ,- 25 | REGEX.OBJ,- 26 | UNDO.OBJ,- 27 | ALLOC.OBJ,- 28 | DATA.OBJ,- 29 | DOC.OBJ,- 30 | EDITFNS.OBJ,- 31 | CALLINT.OBJ,- 32 | EVAL.OBJ,- 33 | FNS.OBJ,- 34 | PRINT.OBJ,- 35 | LREAD.OBJ,- 36 | ABBREV.OBJ,- 37 | SYNTAX.OBJ,- 38 | MOCKLISP.OBJ,- 39 | BYTECODE.OBJ,- 40 | PROCESS.OBJ,- 41 | CALLPROC.OBJ,- 42 | VMSFNS.OBJ,- 43 | DOPRNT.OBJ,- 44 | vmsmap.obj,- 45 | termcap.obj,- 46 | tparam.obj,- 47 | lastfile.obj,- 48 | alloca.obj,- 49 | malloc.obj 50 | collect=non_saved_data,- 51 | stdin,- 52 | stdout,- 53 | stderr,- 54 | errno,- 55 | vaxc$errno,- 56 | sys_errlist,- 57 | sys_nerr,- 58 | environ 59 | sys$library:vaxcrtl/library 60 | -------------------------------------------------------------------------------- /src/chpdef.h: -------------------------------------------------------------------------------- 1 | #define CHP$_END 0 2 | #define CHP$_ACCESS 1 3 | #define CHP$_FLAGS 2 4 | #define CHP$_PRIV 3 5 | #define CHP$_ACMODE 4 6 | #define CHP$_ACCLASS 5 7 | #define CHP$_RIGHTS 6 8 | #define CHP$_ADDRIGHTS 7 9 | #define CHP$_MODE 8 10 | #define CHP$_MODES 9 11 | #define CHP$_MINCLASS 10 12 | #define CHP$_MAXCLASS 11 13 | #define CHP$_OWNER 12 14 | #define CHP$_PROT 13 15 | #define CHP$_ACL 14 16 | #define CHP$_AUDITNAME 15 17 | #define CHP$_ALARMNAME 16 18 | #define CHP$_MATCHEDACE 17 19 | #define CHP$_PRIVUSED 18 20 | #define CHP$_MAX_CODE 19 21 | #define CHP$M_SYSPRV 1 22 | #define CHP$M_BYPASS 2 23 | #define CHP$M_UPGRADE 4 24 | #define CHP$M_DOWNGRADE 8 25 | #define CHP$M_GRPPRV 16 26 | #define CHP$M_READALL 32 27 | #define CHP$V_SYSPRV 0 28 | #define CHP$V_BYPASS 1 29 | #define CHP$V_UPGRADE 2 30 | #define CHP$V_DOWNGRADE 3 31 | #define CHP$V_GRPPRV 4 32 | #define CHP$V_READALL 5 33 | #define CHP$M_READ 1 34 | #define CHP$M_WRITE 2 35 | #define CHP$M_USEREADALL 4 36 | #define CHP$V_READ 0 37 | #define CHP$V_WRITE 1 38 | #define CHP$V_USEREADALL 2 39 | -------------------------------------------------------------------------------- /etc/TO-DO: -------------------------------------------------------------------------------- 1 | Things useful to do for GNU Emacs: 2 | 3 | * Primitive for random access insertion of part of a file. 4 | 5 | * Making I/O streams for files, so that read and prin1 can 6 | be used on files directly. The I/O stream itself would 7 | serve as a function to read or write one character. 8 | 9 | * If a file you can't write is in a directory you can write, 10 | make sure it works to modify and save this file. 11 | 12 | * Make dired's commands handle correctly the case where 13 | ls has listed several subdirectories' contents. 14 | It needs to be able to tell which directory each file 15 | is really in, by searching backward for the line 16 | which identifies the start of a directory. 17 | 18 | * Add more dired commands, such as sorting (use the 19 | sort utility through call-process-region). 20 | 21 | * Make display.c record inverse-video-ness on 22 | a character by character basis. Then make non-full-screen-width 23 | mode lines inverse video, and display the marked location in 24 | inverse video. 25 | 26 | * VMS code to list a file directory. Make dired work. 27 | -------------------------------------------------------------------------------- /src/s-mach.h: -------------------------------------------------------------------------------- 1 | /* Definitions file for GNU Emacs running on bsd 4.3 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | #include "s-bsd4-3.h" 23 | 24 | #define LD_SWITCH_SYSTEM -X -noseglinkedit 25 | 26 | -------------------------------------------------------------------------------- /SGS_ENV: -------------------------------------------------------------------------------- 1 | # 2 | # NeXT Version 3 | # 4 | # SGS_ENV file for version roots 5 | # 6 | # This SGS_ENV file should exist in the version root 7 | # of all version trees. It will normally be placed in 8 | # the master version root and be cloned to all development 9 | # versions. 10 | # 11 | # BASIC definitions for the SGS tools 12 | # 13 | # The MASTER USER for this project. 14 | # The master versions of the project software reside 15 | # in the master user's tree and are owned by the master user. 16 | # 17 | # The PROJECT_NAME for this project. 18 | # The project name is used searching either the master's or 19 | # developer's home/SGS_ENV files to determine the project 20 | # root or the list of project developers (see ~osdev/SGS_ENV) 21 | # 22 | MASTER_USER=comp 23 | PROJECT_NAME=emacs_proj 24 | # 25 | # DONT_DIFF is an egrep(1) pattern which should match all files that 26 | # not interesting to diff or integrate. 27 | # 28 | DONT_DIFF:/tags$|\.o$|/errs$|/make\.out$|\.a$ 29 | # 30 | # Definitions for cross(1) 31 | # 32 | # SGS_VERBOSE says "echo all `translated' commands" 33 | # 34 | SGS_VERBOSE 35 | -------------------------------------------------------------------------------- /etc/digest-doc.c: -------------------------------------------------------------------------------- 1 | /* Give this program DOCSTR.mm.nn as standard input 2 | and it outputs to standard output 3 | a file of nroff output containing the doc strings. 4 | 5 | See also sorted-doc.c, which produces similar output 6 | but in texinfo format and sorted by function/variable name. */ 7 | 8 | #include 9 | main () 10 | { 11 | register int ch; 12 | register int notfirst = 0; 13 | 14 | printf (".TL\n"); 15 | printf ("Command Summary for GNU Emacs\n"); 16 | printf (".AU\nRichard M. Stallman\n"); 17 | while ((ch = getchar ()) != EOF) 18 | { 19 | if (ch == '\037') 20 | { 21 | if (notfirst) 22 | printf ("\n.DE"); 23 | else 24 | notfirst = 1; 25 | 26 | printf ("\n.SH\n"); 27 | 28 | ch = getchar (); 29 | printf (ch == 'F' ? "Function " : "Variable "); 30 | 31 | while ((ch = getchar ()) != '\n') /* Changed this line */ 32 | { 33 | if (ch != EOF) 34 | putchar (ch); 35 | else 36 | { 37 | ungetc (ch, stdin); 38 | break; 39 | } 40 | } 41 | printf ("\n.DS L\n"); 42 | } 43 | else 44 | putchar (ch); 45 | } 46 | return 0; 47 | } 48 | -------------------------------------------------------------------------------- /src/Makefile: -------------------------------------------------------------------------------- 1 | CPP = cc -E 2 | MAKE = make # BSD doesn't have it as a default. 3 | #Note: an alternative is CPP = /lib/cpp 4 | 5 | all: xmakefile doall 6 | 7 | doall: 8 | $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} all 9 | 10 | #This is used in making a distribution. 11 | #Do not use it on development directories! 12 | distclean: 13 | -rm -f paths.h config.h emacs-* temacs xemacs xmakefile core \ 14 | *~ \#* *.o libXMenu11.a log* 15 | 16 | clean: 17 | -rm -f temacs xemacs xmakefile core \#* *.o libXMenu11.a 18 | 19 | xemacs: xmakefile doxemacs 20 | 21 | doxemacs: 22 | $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} xemacs 23 | 24 | temacs: xmakefile dotemacs 25 | 26 | dotemacs: 27 | $(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} temacs 28 | 29 | # If you have a problem with cc -E here, changing 30 | # the definition of CPP above may fix it. 31 | xmakefile: ymakefile config.h 32 | rm -f xmakefile 33 | cp ymakefile junk.c 34 | $(CPP) junk.c | sed -e 's/^#.*//' -e 's/^[ \f\t][ \f\t]*$$//' -e 's/^ / /' | \ 35 | sed -n -e '/^..*$$/p' > xmakefile 36 | rm -f junk.c 37 | 38 | tags: 39 | etags [a-z]*.h [a-z]*.c ../lisp/[a-z]*.el 40 | -------------------------------------------------------------------------------- /src/indent.h: -------------------------------------------------------------------------------- 1 | /* Definitions for interface to indent.c 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | struct position 23 | { 24 | int bufpos; 25 | int hpos; 26 | int vpos; 27 | int prevhpos; 28 | int contin; 29 | }; 30 | 31 | struct position *compute_motion (); 32 | struct position *vmotion (); 33 | -------------------------------------------------------------------------------- /lisp/unused.el: -------------------------------------------------------------------------------- 1 | ;; Editing commands in GNU Emacs that turned out not to be used. 2 | ;; They were added with an eye to making possible a more CCA-compatible 3 | ;; command set; but that turned out not to be interesting. 4 | 5 | (defun mark-beginning-of-buffer () 6 | "Set mark at the beginning of the buffer." 7 | (interactive) 8 | (push-mark (point-min))) 9 | 10 | (defun mark-end-of-buffer () 11 | "Set mark at the end of the buffer." 12 | (interactive) 13 | (push-mark (point-max))) 14 | 15 | (defun upcase-char (arg) 16 | "Uppercasify ARG chars starting from point. Point doesn't move" 17 | (interactive "p") 18 | (save-excursion 19 | (upcase-region (point) (progn (forward-char arg) (point))))) 20 | 21 | (defun forward-to-word (arg) 22 | "Move forward until encountering the beginning of a word. 23 | With argument, do this that many times." 24 | (interactive "p") 25 | (or (re-search-forward (if (> arg 0) "\\W\\b" "\\b\\W") nil t arg) 26 | (goto-char (if (> arg 0) (point-max) (point-min))))) 27 | 28 | (defun backward-to-word (arg) 29 | "Move backward until encountering the end of a word. 30 | With argument, do this that many times." 31 | (interactive "p") 32 | (forward-to-word (- arg))) 33 | -------------------------------------------------------------------------------- /src/acldef.h: -------------------------------------------------------------------------------- 1 | #define ACL$K_LENGTH 12 2 | #define ACL$C_LENGTH 12 3 | #define ACL$C_FILE 1 4 | #define ACL$C_DEVICE 2 5 | #define ACL$C_JOBCTL_QUEUE 3 6 | #define ACL$C_COMMON_EF_CLUSTER 4 7 | #define ACL$C_LOGICAL_NAME_TABLE 5 8 | #define ACL$C_PROCESS 6 9 | #define ACL$C_GROUP_GLOBAL_SECTION 7 10 | #define ACL$C_SYSTEM_GLOBAL_SECTION 8 11 | #define ACL$C_ADDACLENT 1 12 | #define ACL$C_DELACLENT 2 13 | #define ACL$C_MODACLENT 3 14 | #define ACL$C_FNDACLENT 4 15 | #define ACL$C_FNDACETYP 5 16 | #define ACL$C_DELETEACL 6 17 | #define ACL$C_READACL 7 18 | #define ACL$C_ACLLENGTH 8 19 | #define ACL$C_READACE 9 20 | #define ACL$C_RLOCK_ACL 10 21 | #define ACL$C_WLOCK_ACL 11 22 | #define ACL$C_UNLOCK_ACL 12 23 | #define ACL$S_ADDACLENT 255 24 | #define ACL$S_DELACLENT 255 25 | #define ACL$S_MODACLENT 255 26 | #define ACL$S_FNDACLENT 255 27 | #define ACL$S_FNDACETYP 255 28 | #define ACL$S_DELETEACL 255 29 | #define ACL$S_READACL 512 30 | #define ACL$S_ACLLENGTH 4 31 | #define ACL$S_READACE 255 32 | #define ACL$S_RLOCK_ACL 4 33 | #define ACL$S_WLOCK_ACL 4 34 | #define ACL$S_UNLOCK_ACL 4 35 | #define ACL$S_ACLDEF 16 36 | #define ACL$L_FLINK 0 37 | #define ACL$L_BLINK 4 38 | #define ACL$W_SIZE 8 39 | #define ACL$B_TYPE 10 40 | #define ACL$L_LIST 12 41 | -------------------------------------------------------------------------------- /lisp/uncompress.el: -------------------------------------------------------------------------------- 1 | (defun uncompress-while-visiting () 2 | "Temporary \"major mode\" used for .Z files, to uncompress the contents. 3 | It then selects a major mode from the uncompressed file name and contents." 4 | (if (and (not (null buffer-file-name)) 5 | (string-match "\\.Z$" buffer-file-name)) 6 | (set-visited-file-name 7 | (substring buffer-file-name 0 (match-beginning 0)))) 8 | (message "Uncompressing...") 9 | (shell-command-on-region (point-min) (point-max) "uncompress" t) 10 | (message "Uncompressing...done") 11 | (set-buffer-modified-p nil) 12 | (normal-mode)) 13 | 14 | (setq auto-mode-alist 15 | (cons '("\\.Z$" . uncompress-while-visiting) auto-mode-alist)) 16 | 17 | (defun find-compressed-version () 18 | "Hook to read and uncompress the compressed version of a file." 19 | ;; Just pretend we had visited the compressed file, 20 | ;; and uncompress-while-visiting will do the rest. 21 | (if (file-exists-p (concat buffer-file-name ".Z")) 22 | (progn 23 | (setq buffer-file-name (concat buffer-file-name ".Z")) 24 | (insert-file-contents buffer-file-name t) 25 | (goto-char (point-min)) 26 | (setq error nil) 27 | t))) 28 | 29 | (setq find-file-not-found-hooks 30 | (cons 'find-compressed-version find-file-not-found-hooks)) 31 | -------------------------------------------------------------------------------- /info/dir: -------------------------------------------------------------------------------- 1 | -*- Text -*- 2 | This is the file .../info/dir, which contains the topmost node of the 3 | Info hierarchy. The first time you invoke Info you start off 4 | looking at that node, which is (dir)Top. 5 |  6 | File: dir Node: Top This is the top of the INFO tree 7 | This (the Directory node) gives a menu of major topics. 8 | Typing "d" returns here, "q" exits, "?" lists all INFO commands, "h" 9 | gives a primer for first-timers, "mTexinfo" visits Texinfo topic, 10 | etc. 11 | --- PLEASE ADD DOCUMENTATION TO THIS TREE. (See INFO topic first.) --- 12 | 13 | * Menu: The list of major topics begins on the next line. 14 | 15 | * Info: (info). Documentation browsing system. 16 | 17 | * Emacs: (emacs). The extensible self-documenting text editor. 18 | 19 | * VIP: (vip). A VI-emulation for Emacs. 20 | 21 | * GDB: (gdb). The source-level C debugger. 22 | 23 | * Texinfo: (texinfo). 24 | With one source file, make either a printed manual 25 | (through TeX) or an Info file (through texinfo). 26 | Full documentation in this menu item. 27 | 28 | * Termcap: (termcap). 29 | The termcap library, which enables application programs 30 | to handle all types of character-display terminals. 31 | 32 | * Gcc: (gcc). The C compiler. 33 | 34 | * Gnus: (gnus). The netnews reader. 35 | -------------------------------------------------------------------------------- /etc/complink.com: -------------------------------------------------------------------------------- 1 | $ ! Compile and link those programs in [etc] that are usable on VMS. 2 | $ 3 | $ old = f$environment("default") 4 | $ set default emacs_library:[etc] 5 | $ if f$search("test-distrib.c") .nes. "" then goto version44 6 | $ 7 | $ cc test_distrib.c 8 | $ link test_distrib.obj,vmslink.opt/opt 9 | $ run test_distrib.exe 10 | $ cc /debug make_docfile.c 11 | $ link make_docfile.obj,vmslink.opt/opt 12 | $ cc /debug digest_doc.c 13 | $ link digest_doc.obj,vmslink.opt/opt 14 | $ cc /debug sorted_doc.c 15 | $ cc /debug qsort.c 16 | $ link sorted_doc.obj,qsort.obj,vmslink.opt/opt 17 | $ cc /debug etags_vmslib.c 18 | $ cc /debug etags.c 19 | $ link etags.obj,etags_vmslib.obj,vmslink.opt/opt 20 | $ goto finish 21 | $ 22 | $version44: 23 | $ cc test-distrib.c 24 | $ link test-distrib.obj,vmslink.opt/opt 25 | $ run test-distrib.exe 26 | $ cc /debug make-docfile.c 27 | $ link make-docfile.obj,vmslink.opt/opt 28 | $ cc /debug digest-doc.c 29 | $ link digest-doc.obj,vmslink.opt/opt 30 | $ cc /debug sorted-doc.c 31 | $ cc /debug qsort.c 32 | $ link sorted-doc.obj,qsort.obj,vmslink.opt/opt 33 | $ cc /debug etags-vmslib.c 34 | $ cc /debug etags.c 35 | $ link etags.obj,etags-vmslib.obj,vmslink.opt/opt 36 | $ 37 | $finish: 38 | $ cc /debug yow.c 39 | $ link yow.obj,vmslink.opt/opt 40 | $ 41 | $ set default 'old' 42 | -------------------------------------------------------------------------------- /src/macros.h: -------------------------------------------------------------------------------- 1 | /* Definitions for keyboard macro interpretation in GNU Emacs. 2 | Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* Kbd macro currently being executed (a string) */ 23 | 24 | extern Lisp_Object Vexecuting_macro; 25 | 26 | /* Index of next character to fetch from that macro */ 27 | 28 | extern int executing_macro_index; 29 | 30 | /* Nonzero while defining a kbd macro */ 31 | 32 | extern int defining_kbd_macro; 33 | -------------------------------------------------------------------------------- /src/README: -------------------------------------------------------------------------------- 1 | This directory contains the source files for the C component of GNU Emacs. 2 | Nothing in this directory is needed for using Emacs once it is built 3 | and installed, if the dumped Emacs (on Unix systems) or the Emacs 4 | executable and map files (on VMS systems) are copied elsewhere. 5 | 6 | On Unix, building is controlled by a makefile called `xmakefile' 7 | that is generated with machine-dependent contents from `ymakefile' 8 | using `cpp'. `Makefile' just invokes `cpp' to produce `xmakefile' 9 | and then runs `make' on `xmakefile'. 10 | 11 | See the file VMSBUILD in this directory for instructions on compiling, 12 | linking and building Emacs on VMS. 13 | 14 | The files `*.com' and `temacs.opt' are used on VMS only. 15 | The files `vlimit.h', `ioclt.h' and `param.h' are stubs to 16 | allow compilation on VMS with the minimum amount of #ifdefs. 17 | 18 | `uaf.h' contains VMS uaf structure definitions. This is only needed if 19 | you define READ_SYSUAF. This should only be done for single-user 20 | systems where you are not overly concerned with security, since it 21 | either requires that you install Emacs with SYSPRV or make SYSUAF.DAT 22 | world readable. Otherwise, Emacs can determine information about the 23 | current user, but no one else. 24 | 25 | `pwd.h' contains definitions for VMS to be able to correctly simulate 26 | `getpwdnam' and `getpwduid'. 27 | -------------------------------------------------------------------------------- /etc/ulimit.hack: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # ulimit.hack: Create an intermediate program for use in 4 | # between kernel initialization and init startup. 5 | # This is needed on a 3b system if the standard CDLIMIT is 6 | # so small that the dumped Emacs file cannot be written. 7 | # This program causes everyone to get a bigger CDLIMIT value 8 | # so that the dumped Emacs can be written out. 9 | # 10 | # Users of V.3.1 and later should not use this; see etc/MACHINES 11 | # and reconfig your kernel's CDLIMIT parameter instead. 12 | # 13 | # Caveat: Heaven help you if you screw this up. This puts 14 | # a new program in as /etc/init, which then execs the real init. 15 | # 16 | cat > ulimit.init.c << \EOF 17 | main(argc, argv) 18 | int argc; 19 | char *argv[]; 20 | { 21 | ulimit(2, 262144L); /* "2" is the "set" command. */ 22 | /* 262,144 allows for 128Mb files to be written. */ 23 | /* If that value isn't suitable, roll your own. */ 24 | execv("/etc/real.init", argv); 25 | } 26 | EOF 27 | # 28 | # Compile it and put it in place of the usual init program. 29 | # 30 | cc ulimit.init.c -o ulimit.init 31 | mv /etc/init /etc/real.init 32 | mv ulimit.init /etc/ulimit.init 33 | ln /etc/ulimit.init /etc/init 34 | mv ulimit.init.c /etc/ulimit.init.c # to keep src for this hack nearby. 35 | chmod 0754 /etc/init 36 | exit 0 37 | # 38 | # Upon system reboot, all processes will inherit the new large ulimit. 39 | -------------------------------------------------------------------------------- /src/pwd.h: -------------------------------------------------------------------------------- 1 | /* GNU Emacs password definition file. 2 | Copyright (C) 1986 Free Software Foundation. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | #ifdef VMS 22 | /* On VMS, we read the UAF file and emulate some of the necessary 23 | fields for Emacs. */ 24 | #include "uaf.h" 25 | 26 | struct passwd { 27 | char pw_name[UAF$S_USERNAME+1]; 28 | char pw_passwd[UAF$S_PWD]; 29 | short pw_uid; 30 | short pw_gid; 31 | char pw_gecos[UAF$S_OWNER+1]; 32 | char pw_dir[UAF$S_DEFDEV+UAF$S_DEFDIR+1]; 33 | char pw_shell[UAF$S_DEFCLI+1]; 34 | }; 35 | #endif /* VMS */ 36 | -------------------------------------------------------------------------------- /lisp/grow-vers.el: -------------------------------------------------------------------------------- 1 | ;; Load this file to add a new level (starting at zero) 2 | ;; to the Emacs version number recorded in version.el. 3 | ;; Copyright (C) 1985 Free Software Foundation, Inc. 4 | 5 | ;; This file is part of GNU Emacs. 6 | 7 | ;; GNU Emacs is distributed in the hope that it will be useful, 8 | ;; but WITHOUT ANY WARRANTY. No author or distributor 9 | ;; accepts responsibility to anyone for the consequences of using it 10 | ;; or for whether it serves any particular purpose or works at all, 11 | ;; unless he says so in writing. Refer to the GNU Emacs General Public 12 | ;; License for full details. 13 | 14 | ;; Everyone is granted permission to copy, modify and redistribute 15 | ;; GNU Emacs, but only under the conditions described in the 16 | ;; GNU Emacs General Public License. A copy of this license is 17 | ;; supposed to have been given to you along with GNU Emacs so you 18 | ;; can know your rights and responsibilities. It should be in a 19 | ;; file named COPYING. Among other things, the copyright notice 20 | ;; and this notice must be preserved on all copies. 21 | 22 | 23 | (insert-file-contents "lisp/version.el") 24 | 25 | (re-search-forward "emacs-version \"[0-9.]*") 26 | (insert ".0") 27 | 28 | ;; Delete the share-link with the current version 29 | ;; so that we do not alter the current version. 30 | (delete-file "lisp/version.el") 31 | (write-region (point-min) (point-max) "lisp/version.el" nil 'nomsg) 32 | -------------------------------------------------------------------------------- /man/ChangeLog: -------------------------------------------------------------------------------- 1 | Tue Aug 16 13:09:12 1988 Robert J. Chassell (bob at frosted-flakes.ai.mit.edu) 2 | 3 | * emacs.tex: Corrected two typos. No other changes before 4 | Version 19 will be made. 5 | 6 | * vip.texinfo: Removed menu entry Adding Lisp Code in node 7 | Customization since the menu entry did not point to anything. 8 | Also added an @finalout command to remove overfull hboxes from the 9 | printed output. 10 | 11 | * cl.texinfo: Added @bye, \input line and @settitle to file. 12 | This file is clearly intended to be a chapter of some other work, 13 | but the other work does not yet exist. 14 | 15 | Mon Jul 25 17:47:38 1988 Robert J. Chassell (bob at frosted-flakes.ai.mit.edu) 16 | 17 | * texinfo.texinfo: Three typos corrected. 18 | 19 | Mon Jul 11 18:02:29 1988 Chris Hanson (cph at kleph) 20 | 21 | * texindex.c (indexify): when comparing to initial strings to 22 | decide whether to change the header, must use `strncmp' to avoid 23 | comparing entire strings of which initials are a substring. 24 | 25 | Sun Jun 26 18:46:16 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu) 26 | 27 | * texindex.c (sort_in_core, sort_offline, parsefile): 28 | Give up on input file if any line doesn't start with backslash. 29 | 30 | Mon May 23 10:41:35 1988 Robert J. Chassell (bob at frosted-flakes.ai.mit.edu) 31 | 32 | * emacs.tex: Update information for obtaining TeX distribution from the 33 | University of Washington. 34 | 35 | -------------------------------------------------------------------------------- /src/xterm.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define XREPBUFSIZE 64 4 | 5 | typedef struct 6 | { 7 | int rindex; 8 | int windex; 9 | int mindex; 10 | XEvent xrep[XREPBUFSIZE]; 11 | } 12 | XREPBUFFER; 13 | 14 | extern int x_edges_specified; 15 | 16 | #ifndef sigmask 17 | #define sigmask(no) (1L << ((no) - 1)) 18 | #endif 19 | 20 | #ifdef SIGIO 21 | 22 | #define BLOCK_INPUT_DECLARE() int BLOCK_INPUT_mask; 23 | #define BLOCK_INPUT() BLOCK_INPUT_mask = sigblock (sigmask (SIGIO)) 24 | #define UNBLOCK_INPUT() sigsetmask (BLOCK_INPUT_mask) 25 | #define SIGNAL_INPUT() kill (XXpid, SIGIO) 26 | 27 | #define RESIGNAL_INPUT() \ 28 | do \ 29 | { \ 30 | if (QLength () > 0) \ 31 | SIGNAL_INPUT (); \ 32 | } while (0) 33 | 34 | #define SIGNAL_INPUT_WHILE(flag) \ 35 | do \ 36 | { \ 37 | while (flag) \ 38 | SIGNAL_INPUT (); \ 39 | } while (0) 40 | 41 | #define UNBLOCK_INPUT_RESIGNAL() \ 42 | do \ 43 | { \ 44 | UNBLOCK_INPUT (); \ 45 | RESIGNAL_INPUT (); \ 46 | } while (0) 47 | 48 | #else /* SIGIO undefined */ 49 | 50 | #define BLOCK_INPUT_DECLARE() 51 | #define BLOCK_INPUT() 52 | #define UNBLOCK_INPUT() 53 | #define SIGNAL_INPUT() /* input_available_signal (0) */ 54 | #define RESIGNAL_INPUT() 55 | #define SIGNAL_INPUT_WHILE(bitblt) /* input_available_signal (0) */ 56 | #define UNBLOCK_INPUT_RESIGNAL() 57 | 58 | #endif /* SIGIO */ 59 | -------------------------------------------------------------------------------- /src/ndir.h: -------------------------------------------------------------------------------- 1 | /* 2 | -- definitions for 4.2BSD-compatible directory access 3 | 4 | last edit: 09-Jul-1983 D A Gwyn 5 | */ 6 | 7 | #ifdef VMS 8 | #ifndef FAB$C_BID 9 | #include 10 | #endif 11 | #ifndef NAM$C_BID 12 | #include 13 | #endif 14 | #ifndef RMS$_SUC 15 | #include 16 | #endif 17 | #include "dir.h" 18 | #endif /* VMS */ 19 | 20 | #define DIRBLKSIZ 512 /* size of directory block */ 21 | #ifdef VMS 22 | #define MAXNAMLEN (DIR$S_NAME + 7) /* 80 plus room for version #. */ 23 | #define MAXFULLSPEC NAM$C_MAXRSS /* Maximum full spec */ 24 | #else 25 | #define MAXNAMLEN 15 /* maximum filename length */ 26 | #endif /* VMS */ 27 | /* NOTE: MAXNAMLEN must be one less than a multiple of 4 */ 28 | 29 | struct direct /* data from readdir() */ 30 | { 31 | long d_ino; /* inode number of entry */ 32 | unsigned short d_reclen; /* length of this record */ 33 | unsigned short d_namlen; /* length of string in d_name */ 34 | char d_name[MAXNAMLEN+1]; /* name of file */ 35 | }; 36 | 37 | typedef struct 38 | { 39 | int dd_fd; /* file descriptor */ 40 | int dd_loc; /* offset in block */ 41 | int dd_size; /* amount of valid data */ 42 | char dd_buf[DIRBLKSIZ]; /* directory block */ 43 | } DIR; /* stream data from opendir() */ 44 | 45 | extern DIR *opendir(); 46 | extern struct direct *readdir(); 47 | extern long telldir(); 48 | extern void seekdir(); 49 | extern void closedir(); 50 | 51 | #define rewinddir( dirp ) seekdir( dirp, 0L ) 52 | -------------------------------------------------------------------------------- /src/sink.h: -------------------------------------------------------------------------------- 1 | #define sink_width 48 2 | #define sink_height 48 3 | short sink_bits[] = { 4 | 0xffff, 0xffff, 0xffff, 0xffff, 5 | 0xffff, 0x9f80, 0xffff, 0xffff, 6 | 0x9f9f, 0xffff, 0xffff, 0x8000, 7 | 0xffff, 0x7fff, 0xbffe, 0xffff, 8 | 0x7fff, 0xa003, 0xffff, 0x7fff, 9 | 0xaffd, 0xffff, 0x3fff, 0xaff9, 10 | 0xffff, 0xffff, 0xafff, 0xffff, 11 | 0xffff, 0xaffc, 0xffff, 0x7fff, 12 | 0xaff8, 0xffff, 0xffff, 0xaffc, 13 | 0xffff, 0xffff, 0xafff, 0xffff, 14 | 0xbfff, 0xaff7, 0xffff, 0x3fff, 15 | 0xaff3, 0xffff, 0xffff, 0xaffc, 16 | 0x003f, 0x0000, 0x2000, 0x007f, 17 | 0x0000, 0xe000, 0xf8df, 0xffff, 18 | 0x07ff, 0xf9cf, 0xff0f, 0xe7ff, 19 | 0xf9cf, 0xfff7, 0xe7ff, 0xf9ff, 20 | 0x63f7, 0xe7fb, 0xf9ff, 0x5a37, 21 | 0xe7fb, 0xf9cf, 0x5af7, 0xe7fb, 22 | 0xf9cf, 0x5af7, 0xe7f9, 0xf9ef, 23 | 0xdb0f, 0xe7fa, 0xf9ff, 0xffff, 24 | 0xe7ff, 0xf9df, 0xffff, 0xe7ff, 25 | 0x19cf, 0xfffc, 0xe7ff, 0xd9cf, 26 | 0xffff, 0xe7ff, 0xd9ff, 0xce47, 27 | 0xe673, 0x19ff, 0xb5b6, 0xe7ad, 28 | 0xd9cf, 0xb5b7, 0xe67d, 0xd9c7, 29 | 0xb5b7, 0xe5ed, 0x19ef, 0x4db4, 30 | 0xe673, 0xf1ff, 0xffff, 0xe3ff, 31 | 0x03ff, 0x0380, 0xf000, 0x07ef, 32 | 0x0100, 0xf800, 0xffc7, 0xf93f, 33 | 0xffff, 0xffe7, 0xfd7f, 0xffe0, 34 | 0xffff, 0x7d7f, 0xffdf, 0xffff, 35 | 0xbd7f, 0xffb1, 0xffff, 0xbb7f, 36 | 0xffae, 0xffef, 0xdaff, 0xffae, 37 | 0xffc7, 0x66ff, 0xffaf, 0xffe7, 38 | 0xbdff, 0xffaf, 0xffff, 0xc3ff, 39 | 0xffaf, 0xffff, 0xffff, 0xffaf}; 40 | -------------------------------------------------------------------------------- /src/sinkmask.h: -------------------------------------------------------------------------------- 1 | #define sink_mask_width 48 2 | #define sink_mask_height 48 3 | short sink_mask_bits[] = { 4 | 0xffff, 0xffff, 0xffff, 0xffff, 5 | 0xffff, 0xffff, 0xffff, 0xffff, 6 | 0xffff, 0xffff, 0xffff, 0xffff, 7 | 0xffff, 0xffff, 0xffff, 0xffff, 8 | 0xffff, 0xffff, 0xffff, 0xffff, 9 | 0xffff, 0xffff, 0xffff, 0xffff, 10 | 0xffff, 0xffff, 0xffff, 0xffff, 11 | 0xffff, 0xffff, 0xffff, 0xffff, 12 | 0xffff, 0xffff, 0xffff, 0xffff, 13 | 0xffff, 0xffff, 0xffff, 0xffff, 14 | 0xffff, 0xffff, 0xffff, 0xffff, 15 | 0xffff, 0xffff, 0xffff, 0xffff, 16 | 0xffff, 0xffff, 0xffff, 0xffff, 17 | 0xffff, 0xffff, 0xffff, 0xffff, 18 | 0xffff, 0xffff, 0xffff, 0xffff, 19 | 0xffff, 0xffff, 0xffff, 0xffff, 20 | 0xffff, 0xffff, 0xffff, 0xffff, 21 | 0xffff, 0xffff, 0xffff, 0xffff, 22 | 0xffff, 0xffff, 0xffff, 0xffff, 23 | 0xffff, 0xffff, 0xffff, 0xffff, 24 | 0xffff, 0xffff, 0xffff, 0xffff, 25 | 0xffff, 0xffff, 0xffff, 0xffff, 26 | 0xffff, 0xffff, 0xffff, 0xffff, 27 | 0xffff, 0xffff, 0xffff, 0xffff, 28 | 0xffff, 0xffff, 0xffff, 0xffff, 29 | 0xffff, 0xffff, 0xffff, 0xffff, 30 | 0xffff, 0xffff, 0xffff, 0xffff, 31 | 0xffff, 0xffff, 0xffff, 0xffff, 32 | 0xffff, 0xffff, 0xffff, 0xffff, 33 | 0xffff, 0xffff, 0xffff, 0xffff, 34 | 0xffff, 0xffff, 0xffff, 0xffff, 35 | 0xffff, 0xffff, 0xffff, 0xffff, 36 | 0xffff, 0xffff, 0xffff, 0xffff, 37 | 0xffff, 0xffff, 0xffff, 0xffff, 38 | 0xffff, 0xffff, 0xffff, 0xffff, 39 | 0xffff, 0xffff, 0xffff, 0xffff}; 40 | -------------------------------------------------------------------------------- /lisp/studly.el: -------------------------------------------------------------------------------- 1 | ;;; StudlyCaps (tm)(r)(c)(xxx) 2 | 3 | (defun studlify-region (begin end) 4 | "Studlify-case the region" 5 | (interactive "*r") 6 | (save-excursion 7 | (goto-char begin) 8 | (setq begin (point)) 9 | (while (and (<= (point) end) 10 | (not (looking-at "\\W*\\'"))) 11 | (forward-word 1) 12 | (backward-word 1) 13 | (setq begin (max (point) begin)) 14 | (forward-word 1) 15 | (let ((offset 0) 16 | (word-end (min (point) end)) 17 | c) 18 | (goto-char begin) 19 | (while (< (point) word-end) 20 | (setq offset (+ offset (following-char))) 21 | (forward-char 1)) 22 | (setq offset (+ offset (following-char))) 23 | (goto-char begin) 24 | (while (< (point) word-end) 25 | (setq c (following-char)) 26 | (if (and (= (% (+ c offset) 4) 2) 27 | (let ((ch (following-char))) 28 | (or (and (>= ch ?a) (<= ch ?z)) 29 | (and (>= ch ?A) (<= ch ?Z))))) 30 | (progn 31 | (delete-char 1) 32 | (insert (logxor c ? )))) 33 | (forward-char 1)) 34 | (setq begin (point)))))) 35 | 36 | (defun studlify-word (count) 37 | "Studlify-case the current word, or COUNT words if given an argument" 38 | (interactive "*p") 39 | (let ((begin (point)) end rb re) 40 | (forward-word count) 41 | (setq end (point)) 42 | (setq rb (min begin end) re (max begin end)) 43 | (studlify-region rb re))) 44 | 45 | (defun studlify-buffer () 46 | "Studlify-case the current buffer" 47 | (interactive "*") 48 | (studlify-region (point-min) (point-max))) 49 | -------------------------------------------------------------------------------- /man/termcap.cps: -------------------------------------------------------------------------------- 1 | \initial {%} 2 | \entry {%}{12} 3 | \initial {A} 4 | \entry {appearance modes}{38} 5 | \initial {B} 6 | \entry {bell}{43} 7 | \initial {C} 8 | \entry {clearing the screen}{32} 9 | \entry {command character}{24} 10 | \entry {cursor motion}{25} 11 | \initial {D} 12 | \entry {delete character}{34} 13 | \entry {delete line}{33} 14 | \entry {delete mode}{35} 15 | \entry {description format}{17} 16 | \initial {E} 17 | \entry {erasing}{32} 18 | \initial {G} 19 | \entry {generic terminal type}{24} 20 | \initial {H} 21 | \entry {home position}{26} 22 | \initial {I} 23 | \entry {inheritance}{20} 24 | \entry {initialization}{45} 25 | \entry {insert character}{34} 26 | \entry {insert line}{33} 27 | \entry {insert mode}{35} 28 | \initial {L} 29 | \entry {line speed}{10} 30 | \initial {M} 31 | \entry {magic cookie}{38} 32 | \entry {meta key}{45} 33 | \initial {N} 34 | \entry {names of terminal types}{19} 35 | \initial {O} 36 | \entry {overstrike}{23} 37 | \initial {P} 38 | \entry {padding}{8, 46} 39 | \entry {parameters}{11} 40 | \entry {printer}{48} 41 | \initial {R} 42 | \entry {repeat output}{24} 43 | \entry {reset}{45} 44 | \initial {S} 45 | \entry {screen size}{19, 25} 46 | \entry {scrolling}{30} 47 | \entry {standout}{38} 48 | \entry {status line}{47} 49 | \entry {Superbee}{24} 50 | \initial {T} 51 | \entry {tab stops}{45} 52 | \entry {termcap}{1} 53 | \entry {terminal flags (kernel)}{7} 54 | \initial {U} 55 | \entry {underlining}{42} 56 | \initial {V} 57 | \entry {visibility}{43} 58 | \entry {visible bell}{43} 59 | \initial {W} 60 | \entry {window}{31} 61 | \entry {wrapping}{19, 29} 62 | -------------------------------------------------------------------------------- /etc/RCP: -------------------------------------------------------------------------------- 1 | 2 | From: shane@mit-ajax (K. Shane Hartman) 3 | I have created a mechanism for automatically updating your Gnu Emacs 4 | sources from the sources maintained on mit-prep. To take advantage of this 5 | mechanism you must have a connection to the internet and do the following: 6 | 7 | Obtain the modified version of rcp from mit-prep. This version is upward 8 | compatible with standard rcp. The relevant files are: 9 | mit-prep:/u2/emacs/rcp.binary (compiled for vax 4.2) 10 | mit-prep:/u2/emacs/rcp.1c 11 | mit-prep:/u2/emacs/RCP.README 12 | You can use ftp to obtain the files or rcp (the old version will work for 13 | this, just do 'rcp mit-prep.rcp:/u2/emacs/rcp.binary rcp.binary' ... 14 | 15 | If you have a source license, /u2/emacs/rcp.diff may be useful: it is 16 | a diff of ucb rcp and the modified rcp. 17 | 18 | Replace your current copy of rcp with rcp.binary (it must suid to root), 19 | but keep the old copy around just in case (e.g. rename to rcp.ucb) and 20 | install the man page. 21 | 22 | Now connect to your toplevel emacs directory (which contains src, etc, dbx, 23 | lisp, and info) and do: 24 | 25 | rcp -ruvp "mit-prep.rcp:/u2/emacs/dist/*" . 26 | 27 | The new options: v - verbose, u - update, and p - preserve write dates. 28 | The rcp 'account' supports only the rcp command. 29 | 30 | Once you have synchronized with the write dates for the files on prep, the 31 | above command is sufficient to update all and only those files that have 32 | changed on prep with respect to your sources. For this scheme to work, you 33 | must maintain the sources on your own machine and be aware that if you 34 | change a source on your machine, then rcp can be fooled. 35 | -------------------------------------------------------------------------------- /etc/test-distrib.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /* Break string in two parts to avoid buggy C compilers that ignore characters 4 | after nulls in strings. */ 5 | 6 | char string1[] = "Testing distribution of nonprinting chars:\n\ 7 | Should be 0177: \177 Should be 0377: \377 Should be 0212: \212.\n\ 8 | Should be 0000: "; 9 | 10 | char string2[] = ".\n\ 11 | This file is read by the `test-distribution' program.\n\ 12 | If you change it, you will make that program fail.\n"; 13 | 14 | char buf[300]; 15 | 16 | /* Like `read' but keeps trying until it gets SIZE bytes or reaches eof. */ 17 | int 18 | cool_read (fd, buf, size) 19 | int fd; 20 | char *buf; 21 | int size; 22 | { 23 | int num, sofar = 0; 24 | 25 | while (1) 26 | { 27 | if ((num = read (fd, buf + sofar, size - sofar)) == 0) 28 | return sofar; 29 | else if (num < 0) 30 | return num; 31 | sofar += num; 32 | } 33 | } 34 | 35 | main () 36 | { 37 | int fd = open ("testfile", 0); 38 | 39 | if (fd < 0) 40 | { 41 | perror ("opening `testfile'"); 42 | exit (2); 43 | } 44 | if (cool_read (fd, buf, sizeof string1) != sizeof string1 || 45 | strcmp (buf, string1) || 46 | cool_read (fd, buf, sizeof string2) != sizeof string2 - 1 || 47 | strncmp (buf, string2, sizeof string2 - 1)) 48 | { 49 | fprintf (stderr, "Data in file `testfile' has been damaged.\n\ 50 | Most likely this means that many nonprinting characters\n\ 51 | have been corrupted in the files of Emacs, and it will not work.\n"); 52 | exit (2); 53 | } 54 | close (fd); 55 | #ifdef VMS 56 | exit (1); /* On VMS, success is 1. */ 57 | #else 58 | exit (0); 59 | #endif 60 | } 61 | -------------------------------------------------------------------------------- /src/lastfile.c: -------------------------------------------------------------------------------- 1 | /* Mark end of data space to dump as pure, for GNU Emacs. 2 | Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* How this works: 23 | 24 | Fdump_emacs dumps everything up to my_edata as text space (pure). 25 | 26 | The files of Emacs are written so as to have no initialized 27 | data that can ever need to be altered except at the first startup. 28 | This is so that those words can be dumped as sharable text. 29 | 30 | It is not possible to exercise such control over library files. 31 | So it is necessary to refrain from making their data areas shared. 32 | Therefore, this file is loaded following all the files of Emacs 33 | but before library files. 34 | As a result, the symbol my_edata indicates the point 35 | in data space between data coming from Emacs and data 36 | coming from libraries. 37 | */ 38 | 39 | char my_edata = 0; 40 | -------------------------------------------------------------------------------- /lisp/cmacexp.el: -------------------------------------------------------------------------------- 1 | 2 | (defun c-macro-expand (beg end) 3 | "Display the result of expanding all C macros occurring in the region. 4 | The expansion is entirely correct because it uses the C preprocessor." 5 | (interactive "r") 6 | (let ((outbuf (get-buffer-create "*Macroexpansion*")) 7 | (tempfile "%%macroexpand%%") 8 | process 9 | last-needed) 10 | (save-excursion 11 | (set-buffer outbuf) 12 | (erase-buffer)) 13 | (setq process (start-process "macros" outbuf "/lib/cpp")) 14 | (set-process-sentinel process '(lambda (&rest x))) 15 | (save-restriction 16 | (widen) 17 | (save-excursion 18 | (goto-char beg) 19 | (beginning-of-line) 20 | (setq last-needed (point)) 21 | (if (re-search-backward "^[ \t]*#" nil t) 22 | (progn 23 | ;; Skip continued lines. 24 | (while (progn (end-of-line) (= (preceding-char) ?\\)) 25 | (forward-line 1)) 26 | ;; Skip the last line of the macro definition we found. 27 | (forward-line 1) 28 | (setq last-needed (point))))) 29 | (write-region (point-min) last-needed tempfile nil 'nomsg) 30 | (process-send-string process (concat "#include \"" tempfile "\"\n")) 31 | (process-send-string process "\n") 32 | (process-send-region process beg end) 33 | (process-send-string process "\n") 34 | (process-send-eof process)) 35 | (while (eq (process-status process) 'run) 36 | (accept-process-output)) 37 | (delete-file tempfile) 38 | (save-excursion 39 | (set-buffer outbuf) 40 | (goto-char (point-max)) 41 | (re-search-backward "\n# [12] \"\"") 42 | (forward-line 2) 43 | (while (eolp) (delete-char 1)) 44 | (delete-region (point-min) (point))) 45 | (display-buffer outbuf))) 46 | -------------------------------------------------------------------------------- /src/termopts.h: -------------------------------------------------------------------------------- 1 | /* Flags and paramaters describing user options for handling the terminal. 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* Nonzero means flash the screen instead of ringing the bell. */ 23 | 24 | extern int visible_bell; 25 | 26 | /* Nonzero means invert white and black for the entire screen. */ 27 | 28 | extern int inverse_video; 29 | 30 | /* Nonzero means use ^S/^Q as cretinous flow control. */ 31 | 32 | extern int flow_control; 33 | 34 | /* Nonzero means use interrupt-driven input. */ 35 | 36 | extern int interrupt_input; 37 | 38 | /* Nonzero while interrupts are temporarily deferred during redisplay. */ 39 | 40 | extern int interrupts_deferred; 41 | 42 | /* Nonzero if terminal has a meta key. */ 43 | 44 | extern int meta_key; 45 | 46 | /* Nonzero means truncate lines in all windows less wide than the screen */ 47 | 48 | extern int truncate_partial_width_windows; 49 | -------------------------------------------------------------------------------- /lisp/inc-vers.el: -------------------------------------------------------------------------------- 1 | ;; Load this file to increment the recorded Emacs version number. 2 | ;; Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | ;; This file is part of GNU Emacs. 5 | 6 | ;; GNU Emacs is distributed in the hope that it will be useful, 7 | ;; but WITHOUT ANY WARRANTY. No author or distributor 8 | ;; accepts responsibility to anyone for the consequences of using it 9 | ;; or for whether it serves any particular purpose or works at all, 10 | ;; unless he says so in writing. Refer to the GNU Emacs General Public 11 | ;; License for full details. 12 | 13 | ;; Everyone is granted permission to copy, modify and redistribute 14 | ;; GNU Emacs, but only under the conditions described in the 15 | ;; GNU Emacs General Public License. A copy of this license is 16 | ;; supposed to have been given to you along with GNU Emacs so you 17 | ;; can know your rights and responsibilities. It should be in a 18 | ;; file named COPYING. Among other things, the copyright notice 19 | ;; and this notice must be preserved on all copies. 20 | 21 | 22 | (insert-file-contents "../lisp/version.el") 23 | 24 | (re-search-forward "emacs-version \"[^\"]*[0-9]+\"") 25 | (forward-char -1) 26 | (save-excursion 27 | (save-restriction 28 | (narrow-to-region (point) 29 | (progn (skip-chars-backward "0-9") (point))) 30 | (goto-char (point-min)) 31 | (let ((version (read (current-buffer)))) 32 | (delete-region (point-min) (point-max)) 33 | (prin1 (1+ version) (current-buffer))))) 34 | (skip-chars-backward "^\"") 35 | (message "New Emacs version will be %s" 36 | (buffer-substring (point) 37 | (progn (skip-chars-forward "^\"") (point)))) 38 | 39 | 40 | (write-region (point-min) (point-max) "../lisp/version.el" nil 'nomsg) 41 | (erase-buffer) 42 | (set-buffer-modified-p nil) 43 | 44 | (kill-emacs) 45 | -------------------------------------------------------------------------------- /lisp/emacsbug.el: -------------------------------------------------------------------------------- 1 | ;; Command to report Emacs bugs to appropriate mailing list. 2 | ;; Not fully installed because it can work only on Internet hosts. 3 | ;; Copyright (C) 1985 Free Software Foundation, Inc. 4 | ;; Principal author K. Shane Hartman 5 | 6 | ;; This file is part of GNU Emacs. 7 | 8 | ;; GNU Emacs is distributed in the hope that it will be useful, 9 | ;; but WITHOUT ANY WARRANTY. No author or distributor 10 | ;; accepts responsibility to anyone for the consequences of using it 11 | ;; or for whether it serves any particular purpose or works at all, 12 | ;; unless he says so in writing. Refer to the GNU Emacs General Public 13 | ;; License for full details. 14 | 15 | ;; Everyone is granted permission to copy, modify and redistribute 16 | ;; GNU Emacs, but only under the conditions described in the 17 | ;; GNU Emacs General Public License. A copy of this license is 18 | ;; supposed to have been given to you along with GNU Emacs so you 19 | ;; can know your rights and responsibilities. It should be in a 20 | ;; file named COPYING. Among other things, the copyright notice 21 | ;; and this notice must be preserved on all copies. 22 | 23 | 24 | ;; >> This should be an address which is accessible to your machine, 25 | ;; >> otherwise you can't use this file. It will only work on the 26 | ;; >> internet with this address. 27 | 28 | (defvar bug-gnu-emacs "bug-gnu-emacs@prep.ai.mit.edu" 29 | "Address of site maintaining mailing list for Gnu emacs bugs.") 30 | 31 | (defun report-emacs-bug (topic) 32 | "Report a bug in Gnu emacs. 33 | Prompts for bug subject. Leaves you in a mail buffer." 34 | (interactive "sBug Subject: ") 35 | (mail nil bug-gnu-emacs topic) 36 | (goto-char (point-max)) 37 | (insert "\nIn " (emacs-version) "\n\n") 38 | (message (substitute-command-keys "Type \\[mail-send] to send bug report."))) 39 | 40 | -------------------------------------------------------------------------------- /src/compile.com: -------------------------------------------------------------------------------- 1 | $ set noverify 2 | $ ! VMS command file to recompile all .C files which need recompilation. 3 | $ ! These are all .C files that have no .OBJ files or that are newer 4 | $ ! than the corresponding .OBJ files. This file is self contained 5 | $ ! and does not require you to do anything before running it. 6 | $ !*** 7 | $ !*** Mukesh Prasad compile.com Nov. 18, 1985 8 | $ !*** 9 | $ !*** Compile all .C files in the directory 'sourcedir'. 10 | $ !*** If an argument is present, compiles all files, otherwise 11 | $ !*** compiles only files modified since last compile. 12 | $ !*** 13 | $ 14 | $ @precomp 15 | $ @recomp dispnew.c 16 | $ @recomp scroll.c 17 | $ @recomp xdisp.c 18 | $ @recomp window.c 19 | $ @recomp term.c 20 | $ @recomp cm.c 21 | $ @recomp emacs.c 22 | $ @recomp keyboard.c 23 | $ @recomp macros.c 24 | $ @recomp keymap.c 25 | $ @recomp sysdep.c 26 | $ @recomp buffer.c 27 | $ @recomp filelock.c 28 | $ @recomp insdel.c 29 | $ @recomp marker.c 30 | $ @recomp minibuf.c 31 | $ @recomp fileio.c 32 | $ @recomp dired.c 33 | $ @recomp filemode.c 34 | $ @recomp cmds.c 35 | $ @recomp casefiddle.c 36 | $ @recomp indent.c 37 | $ @recomp search.c 38 | $ @recomp regex.c 39 | $ @recomp undo.c 40 | $ @recomp alloc.c 41 | $ @recomp data.c 42 | $ @recomp doc.c 43 | $ @recomp editfns.c 44 | $ @recomp callint.c 45 | $ @recomp eval.c 46 | $ @recomp fns.c 47 | $ @recomp print.c 48 | $ @recomp lread.c 49 | $ @recomp abbrev.c 50 | $ @recomp syntax.c 51 | $ @recomp mocklisp.c 52 | $ @recomp bytecode.c 53 | $ @recomp process.c 54 | $ @recomp callproc.c 55 | $ @recomp vmsfns.c 56 | $ @recomp doprnt.c 57 | $ @recomp vmsmap.c 58 | $ @recomp termcap.c 59 | $ @recomp tparam.c 60 | $ @recomp lastfile.c 61 | $ @recomp malloc.c 62 | $ @recomp alloca.c 63 | -------------------------------------------------------------------------------- /man/gdb.cps: -------------------------------------------------------------------------------- 1 | \initial {$} 2 | \entry {$}{41} 3 | \entry {$$}{41} 4 | \initial {.} 5 | \entry {.gdbinit}{52} 6 | \initial {A} 7 | \entry {arguments (to your program)}{13} 8 | \entry {artificial array}{36} 9 | \entry {assignment}{47} 10 | \entry {attach}{15} 11 | \initial {B} 12 | \entry {breakpoint commands}{23} 13 | \entry {breakpoints}{18} 14 | \initial {C} 15 | \entry {call stack}{27} 16 | \entry {clear breakpoint}{20} 17 | \entry {command files}{51} 18 | \entry {conditions}{22} 19 | \entry {convenience variables}{42} 20 | \entry {core dump file}{9} 21 | \initial {D} 22 | \entry {delete breakpoints}{20} 23 | \entry {directories for source files}{33} 24 | \entry {disabled breakpoints}{20} 25 | \initial {E} 26 | \entry {enabled breakpoints}{20} 27 | \entry {environment (of your program)}{14} 28 | \entry {examining data}{35} 29 | \entry {examining memory}{38} 30 | \entry {executable file}{9} 31 | \entry {exiting GDB}{7} 32 | \entry {expressions}{35} 33 | \initial {F} 34 | \entry {formatted output}{37} 35 | \entry {frame}{27} 36 | \entry {frame number}{28} 37 | \entry {frame pointer}{27} 38 | \initial {I} 39 | \entry {ignore count (of breakpoint)}{22} 40 | \entry {init file}{52} 41 | \entry {initial frame}{27} 42 | \entry {innermost frame}{27} 43 | \initial {O} 44 | \entry {outermost frame}{27} 45 | \entry {output formats}{37} 46 | \initial {P} 47 | \entry {printing data}{35} 48 | \initial {R} 49 | \entry {redirection}{15} 50 | \entry {registers}{43} 51 | \entry {returning from a function}{48} 52 | \entry {running}{13} 53 | \initial {S} 54 | \entry {searching}{33} 55 | \entry {selected frame}{28} 56 | \entry {setting variables}{47} 57 | \entry {source path}{33} 58 | \entry {stepping}{26} 59 | \entry {symbol table}{9} 60 | \initial {U} 61 | \entry {user-defined commands}{51} 62 | \initial {V} 63 | \entry {value history}{41} 64 | \initial {W} 65 | \entry {word}{38} 66 | \entry {working directory (of your program)}{14} 67 | -------------------------------------------------------------------------------- /lisp/version.el: -------------------------------------------------------------------------------- 1 | ;; Record version number of Emacs. 2 | ;; Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | ;; This file is part of GNU Emacs. 5 | 6 | ;; GNU Emacs is distributed in the hope that it will be useful, 7 | ;; but WITHOUT ANY WARRANTY. No author or distributor 8 | ;; accepts responsibility to anyone for the consequences of using it 9 | ;; or for whether it serves any particular purpose or works at all, 10 | ;; unless he says so in writing. Refer to the GNU Emacs General Public 11 | ;; License for full details. 12 | 13 | ;; Everyone is granted permission to copy, modify and redistribute 14 | ;; GNU Emacs, but only under the conditions described in the 15 | ;; GNU Emacs General Public License. A copy of this license is 16 | ;; supposed to have been given to you along with GNU Emacs so you 17 | ;; can know your rights and responsibilities. It should be in a 18 | ;; file named COPYING. Among other things, the copyright notice 19 | ;; and this notice must be preserved on all copies. 20 | 21 | 22 | ;; The following line is modified automatically 23 | ;; by loading inc-version.el, each time a new Emacs is dumped. 24 | (defconst emacs-version "18.55.121" "\ 25 | Version numbers of this version of Emacs.") 26 | 27 | (defconst emacs-build-time (current-time-string) "\ 28 | Time at which Emacs was dumped out.") 29 | 30 | (defconst emacs-build-system (system-name)) 31 | 32 | (defun emacs-version () "\ 33 | Return string describing the version of Emacs that is running." 34 | (interactive) 35 | (if (interactive-p) 36 | (message "%s" (emacs-version)) 37 | (format "GNU Emacs %s of %s %s on %s (%s)" 38 | emacs-version 39 | (substring emacs-build-time 0 40 | (string-match " *[0-9]*:" emacs-build-time)) 41 | (substring emacs-build-time (string-match "[0-9]*$" emacs-build-time)) 42 | emacs-build-system system-type))) 43 | 44 | ;;Local variables: 45 | ;;version-control: never 46 | ;;End: 47 | -------------------------------------------------------------------------------- /etc/APOLLO: -------------------------------------------------------------------------------- 1 | The Apollo has a bizarre operating system which does not permit 2 | Emacs to be dumped with preloaded pure Lisp code. Therefore, each 3 | time you start Emacs on this system, the standard Lisp code is loaded 4 | into it. Expect it to take a long time. You can prevent loading of 5 | the standard Lisp code by specifying the -nl switch. It must 6 | come at the beginning of the command line; only the -t and -batch 7 | switches may come before it. 8 | 9 | You must use m-apollo.h in the config.h file, together with 10 | s-bsd4.2.h. 11 | 12 | There is one remaining problem on the Apollo. You must replace 13 | the CPP line in src/Makefile with "CPP = /usr/lib/cpp". 14 | The C preprocessor lives there rather than in /lib/cpp because the 15 | Aegis OS uses the /lib directory as the repository for shared libraries. 16 | 17 | 18 | Here is a design for a method of dumping and reloading the relevant 19 | necessary impure areas of Emacs. 20 | 21 | On dumping, you need to dump only the array `pure' plus the 22 | locations that contain values of forwarded Lisp variables or that are 23 | protected for garbage collection. The former can be found by a 24 | garbage- collection-like technique, and the latter are in the 25 | staticprolist vector (see alloc.c for both things). 26 | 27 | Reloading would work in an Emacs that has just been started; except 28 | when a switch is specified to inhibit this, it would read the dump 29 | file and set all the appropriate locations. The data loaded must be 30 | relocated, but that's not hard. Those locations that are of type 31 | Lisp_Object can be found by a technique like garbage-collection, and 32 | those of them that point to storage can be relocated. The other data 33 | read from the file will not need to be relocated. 34 | 35 | The switch to inhibit loading the data base would be used when it 36 | is time to dump a new data base. 37 | 38 | This would take a few seconds, which is much faster than loading 39 | the Lisp code of Emacs from scratch. 40 | -------------------------------------------------------------------------------- /src/m-ns16000.h: -------------------------------------------------------------------------------- 1 | /* m- file for ns16000. 2 | Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* 16000 is little-endian (lowest-numbered byte is least significant) */ 32 | 33 | /* #define BIG_ENDIAN */ /* So don't define this. */ 34 | 35 | /* Define how to take a char and sign-extend into an int. 36 | On machines where char is signed, this is a no-op. */ 37 | 38 | #define SIGN_EXTEND_CHAR(c) (c) 39 | 40 | /* Say this machine is a 16000 */ 41 | 42 | #define ns16000 1 43 | 44 | /* Use type int rather than a union, to represent Lisp_Object */ 45 | 46 | #define NO_UNION_TYPE 47 | 48 | /* Data type of load average, as read out of kmem. */ 49 | 50 | #define LOAD_AVE_TYPE double 51 | 52 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 53 | 54 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) 55 | -------------------------------------------------------------------------------- /lisp/abbrevlist.el: -------------------------------------------------------------------------------- 1 | ;; List one abbrev table alphabetically ordered. 2 | ;; Copyright (C) 1986 Free Software Foundation, Inc. 3 | ;; Suggested by a previous version by Gildea. 4 | 5 | ;; This file is part of GNU Emacs. 6 | 7 | ;; GNU Emacs is distributed in the hope that it will be useful, 8 | ;; but WITHOUT ANY WARRANTY. No author or distributor 9 | ;; accepts responsibility to anyone for the consequences of using it 10 | ;; or for whether it serves any particular purpose or works at all, 11 | ;; unless he says so in writing. Refer to the GNU Emacs General Public 12 | ;; License for full details. 13 | 14 | ;; Everyone is granted permission to copy, modify and redistribute 15 | ;; GNU Emacs, but only under the conditions described in the 16 | ;; GNU Emacs General Public License. A copy of this license is 17 | ;; supposed to have been given to you along with GNU Emacs so you 18 | ;; can know your rights and responsibilities. It should be in a 19 | ;; file named COPYING. Among other things, the copyright notice 20 | ;; and this notice must be preserved on all copies. 21 | 22 | 23 | (provide 'abbrevlist) 24 | 25 | (defun list-one-abbrev-table (abbrev-table output-buffer) 26 | "Display alphabetical listing of ABBREV-TABLE in buffer BUFFER." 27 | (with-output-to-temp-buffer output-buffer 28 | (save-excursion 29 | (let ((abbrev-list nil) (first-column 0)) 30 | (set-buffer standard-output) 31 | (mapatoms 32 | (function (lambda (abbrev) 33 | (setq abbrev-list (cons abbrev abbrev-list)))) 34 | abbrev-table) 35 | (setq abbrev-list (sort abbrev-list 'string-lessp)) 36 | (while abbrev-list 37 | (if (> (+ first-column 40) (screen-width)) 38 | (progn 39 | (insert "\n") 40 | (setq first-column 0))) 41 | (indent-to first-column) 42 | (insert (symbol-name (car abbrev-list))) 43 | (indent-to (+ first-column 8)) 44 | (insert (symbol-value (car abbrev-list))) 45 | (setq first-column (+ first-column 40)) 46 | (setq abbrev-list (cdr abbrev-list))))))) 47 | -------------------------------------------------------------------------------- /src/termhooks.h: -------------------------------------------------------------------------------- 1 | /* Hooks by which low level terminal operations 2 | can be made to call other routines. 3 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. 4 | 5 | This file is part of GNU Emacs. 6 | 7 | GNU Emacs is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY. No author or distributor 9 | accepts responsibility to anyone for the consequences of using it 10 | or for whether it serves any particular purpose or works at all, 11 | unless he says so in writing. Refer to the GNU Emacs General Public 12 | License for full details. 13 | 14 | Everyone is granted permission to copy, modify and redistribute 15 | GNU Emacs, but only under the conditions described in the 16 | GNU Emacs General Public License. A copy of this license is 17 | supposed to have been given to you along with GNU Emacs so you 18 | can know your rights and responsibilities. It should be in a 19 | file named COPYING. Among other things, the copyright notice 20 | and this notice must be preserved on all copies. */ 21 | 22 | 23 | extern int (*move_cursor_hook) (); 24 | extern int (*raw_move_cursor_hook) (); 25 | 26 | extern int (*clear_to_end_hook) (); 27 | extern int (*clear_screen_hook) (); 28 | extern int (*clear_end_of_line_hook) (); 29 | 30 | extern int (*ins_del_lines_hook) (); 31 | 32 | extern int (*change_line_highlight_hook) (); 33 | extern int (*reassert_line_highlight_hook) (); 34 | 35 | extern int (*insert_chars_hook) (); 36 | extern int (*output_chars_hook) (); 37 | extern int (*delete_chars_hook) (); 38 | 39 | extern int (*ring_bell_hook) (); 40 | 41 | extern int (*reset_terminal_modes_hook) (); 42 | extern int (*set_terminal_modes_hook) (); 43 | extern int (*update_begin_hook) (); 44 | extern int (*update_end_hook) (); 45 | extern int (*set_terminal_window_hook) (); 46 | 47 | extern int (*read_socket_hook) (); 48 | extern int (*fix_screen_hook) (); 49 | 50 | /* If nonzero, send all terminal output characters to this stream also. */ 51 | 52 | extern FILE *termscript; 53 | 54 | -------------------------------------------------------------------------------- /lisp/rmailmsc.el: -------------------------------------------------------------------------------- 1 | ;; Copyright (C) 1985 Free Software Foundation, Inc. 2 | 3 | ;; This file is part of GNU Emacs. 4 | 5 | ;; GNU Emacs is distributed in the hope that it will be useful, 6 | ;; but WITHOUT ANY WARRANTY. No author or distributor 7 | ;; accepts responsibility to anyone for the consequences of using it 8 | ;; or for whether it serves any particular purpose or works at all, 9 | ;; unless he says so in writing. Refer to the GNU Emacs General Public 10 | ;; License for full details. 11 | 12 | ;; Everyone is granted permission to copy, modify and redistribute 13 | ;; GNU Emacs, but only under the conditions described in the 14 | ;; GNU Emacs General Public License. A copy of this license is 15 | ;; supposed to have been given to you along with GNU Emacs so you 16 | ;; can know your rights and responsibilities. It should be in a 17 | ;; file named COPYING. Among other things, the copyright notice 18 | ;; and this notice must be preserved on all copies. 19 | 20 | 21 | (defun set-rmail-inbox-list (file-name) 22 | "Set the inbox list of the current RMAIL file to FILE-NAME. This may be 23 | a list of file names separated by commas. If FILE-NAME is empty, remove 24 | any inbox list." 25 | (interactive "sSet mailbox list to (comma-separated list of filenames): ") 26 | (save-excursion 27 | (let ((names (rmail-parse-file-inboxes)) 28 | (standard-output nil)) 29 | (if (or (not names) 30 | (y-or-n-p (concat "Replace " 31 | (mapconcat 'identity names ", ") 32 | "? "))) 33 | (let ((buffer-read-only nil)) 34 | (widen) 35 | (goto-char (point-min)) 36 | (search-forward "\n\^_") 37 | (re-search-backward "^Mail" nil t) 38 | (forward-line 0) 39 | (if (looking-at "Mail:") 40 | (delete-region (point) 41 | (progn (forward-line 1) 42 | (point)))) 43 | (if (not (string= file-name "")) 44 | (insert "Mail: " file-name "\n")))))) 45 | (setq rmail-inbox-list (rmail-parse-file-inboxes)) 46 | (rmail-show-message rmail-current-message)) 47 | -------------------------------------------------------------------------------- /src/m-mega68.h: -------------------------------------------------------------------------------- 1 | /* m- file for Megatest 68000's. 2 | Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* 68000 has lowest-numbered byte as most significant */ 32 | 33 | #define BIG_ENDIAN 34 | 35 | /* XINT must explicitly sign-extend */ 36 | 37 | #define EXPLICIT_SIGN_EXTEND 38 | 39 | /* Define how to take a char and sign-extend into an int. 40 | On machines where char is signed, this is a no-op. */ 41 | 42 | #define SIGN_EXTEND_CHAR(c) (c) 43 | 44 | /* Say this machine is a 68000 */ 45 | 46 | #define m68000 47 | 48 | /* Use type int rather than a union, to represent Lisp_Object */ 49 | 50 | #define NO_UNION_TYPE 51 | 52 | /* Data type of load average, as read out of kmem. */ 53 | 54 | #define LOAD_AVE_TYPE double 55 | 56 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 57 | 58 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) 59 | -------------------------------------------------------------------------------- /lisp/underline.el: -------------------------------------------------------------------------------- 1 | ;; Insert or remove underlining (done by overstriking) in Emacs. 2 | ;; Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | ;; This file is part of GNU Emacs. 5 | 6 | ;; GNU Emacs is distributed in the hope that it will be useful, 7 | ;; but WITHOUT ANY WARRANTY. No author or distributor 8 | ;; accepts responsibility to anyone for the consequences of using it 9 | ;; or for whether it serves any particular purpose or works at all, 10 | ;; unless he says so in writing. Refer to the GNU Emacs General Public 11 | ;; License for full details. 12 | 13 | ;; Everyone is granted permission to copy, modify and redistribute 14 | ;; GNU Emacs, but only under the conditions described in the 15 | ;; GNU Emacs General Public License. A copy of this license is 16 | ;; supposed to have been given to you along with GNU Emacs so you 17 | ;; can know your rights and responsibilities. It should be in a 18 | ;; file named COPYING. Among other things, the copyright notice 19 | ;; and this notice must be preserved on all copies. 20 | 21 | 22 | (defun underline-region (start end) 23 | "Underline all nonblank characters in the region. 24 | Works by overstriking underscores. 25 | Called from program, takes two arguments START and END 26 | which specify the range to operate on." 27 | (interactive "r") 28 | (save-excursion 29 | (let ((end1 (make-marker))) 30 | (move-marker end1 (max start end)) 31 | (goto-char (min start end)) 32 | (while (< (point) end1) 33 | (or (looking-at "[_\^@- ]") 34 | (insert "_")) 35 | (forward-char 1))))) 36 | 37 | (defun ununderline-region (start end) 38 | "Remove all underlining (overstruck underscores) in the region. 39 | Called from program, takes two arguments START and END 40 | which specify the range to operate on." 41 | (interactive "r") 42 | (save-excursion 43 | (let ((end1 (make-marker))) 44 | (move-marker end1 (max start end)) 45 | (goto-char (min start end)) 46 | (while (search-forward "_" end1 t) 47 | (delete-char -2))))) 48 | -------------------------------------------------------------------------------- /src/m-altos.h: -------------------------------------------------------------------------------- 1 | /* m-altos Altos 3068 Unix System V Release 2 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* Vax is not big-endian: lowest numbered byte is least significant, 32 | but 68000's are. */ 33 | 34 | #define BIG_ENDIAN 35 | 36 | /* Define how to take a char and sign-extend into an int. 37 | On machines where char is signed, this is a no-op. */ 38 | 39 | #define SIGN_EXTEND_CHAR(c) (c) 40 | 41 | #define EXPLICIT_SIGN_EXTEND 42 | 43 | /* Use type int rather than a union, to represent Lisp_Object */ 44 | 45 | #define NO_UNION_TYPE 46 | 47 | #define LIB_STANDARD -lc 48 | #define C_ALLOCA /* we have -lPW and alloca but it's broken! 49 | */ 50 | #define SWITCH_ENUM_BUG 51 | 52 | #define NO_REMAP 53 | #define STACK_DIRECTION -1 54 | 55 | #define TERMINFO 56 | 57 | #undef CANNOT_DUMP 58 | #undef SHORTNAMES 59 | #undef TERMCAP 60 | -------------------------------------------------------------------------------- /src/terminfo.c: -------------------------------------------------------------------------------- 1 | /* Interface from Emacs to terminfo. 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | /* Define these variables that serve as global parameters to termcap, 22 | so that we do not need to conditionalize the places in Emacs 23 | that set them. */ 24 | 25 | char *UP, *BC, PC; 26 | short ospeed; 27 | 28 | static buffer[512]; 29 | 30 | /* Interface to curses/terminfo library. 31 | Turns out that all of the terminfo-level routines look 32 | like their termcap counterparts except for tparm, which replaces 33 | tgoto. Not only is the calling sequence different, but the string 34 | format is different too. 35 | */ 36 | 37 | char * 38 | tparam (string, outstring, len, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) 39 | char *string; 40 | char *outstring; 41 | int arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9; 42 | { 43 | char *temp; 44 | extern char *tparm(); 45 | 46 | temp = tparm (string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); 47 | if (outstring == 0) 48 | outstring = ((char *) (malloc ((strlen (temp)) + 1))); 49 | strcpy (outstring, temp); 50 | return outstring; 51 | } 52 | -------------------------------------------------------------------------------- /etc/SUNBUG: -------------------------------------------------------------------------------- 1 | From: coho!daveg (Dave Gagne) 2 | Subject: Re: Problems with building emacs on SunOS 4.0 (EXPORT) 3 | Summary: SunOS 4.0_Export "cc -Bstatic" don't work. 4 | Organization: UBC Dept. of Electrical Engineering, Vancouver, Canada 5 | 6 | > Has anyone else seen similar problems? 7 | 8 | Yes indeed. Anyone who does not live in the jolly US of A. 9 | 10 | What you are encountering is a screw-up in SunOS 4.0_Export. This 11 | problem only occurs in the "EXPORT" version of SunOS 4.0: ie the 12 | software which Sun ships outside of the USA. The problem has something 13 | to do with Sun not wanting to ship their DES chips outside of the good 14 | 'ole USA. What we poor foreigners get instead is some buggered up 15 | software. 16 | 17 | What all this means is that "cc -Bstatic ..." WILL NOT WORK ON SUNOS 18 | 4.0 EXPORT without a little help from "ar". The static C-library is 19 | /lib/libc.a, and this is where the problem occurs. There are a bunch of 20 | .o files in there relating to DES stuff (des_crypt.o, des_soft.o, _crypt.o, 21 | etc). All of them will case cc -Bstatic to die as you found with the 22 | errors: 23 | 24 | > _edata: ld: user attempt to redefine loader-defined symbol 25 | > _end: user attempt to redefine loader-defined symbol 26 | > _etext: /lib/libc.a(des_crypt.o): multiply defined 27 | 28 | In order to make cc -Bstatic useful, you must remove all the 29 | brain-damaged .o files from /lib/libc.a. To do this use 30 | 31 | ar d /lib/libc.a des_crypt.o des_soft.o _crypt.o .... 32 | 33 | (Make a backup of /lib/libc.a first, you may decide you need the "real" 34 | thing someday). Note that there are a bunch of these files, I can't 35 | remember all of them. You will find them quick enough by trying to 36 | compile ANY C program, even one which does NOTHING. 37 | 38 | After you have done this, Emacs should compile OK. I was able to get 39 | both the "normal" text version and the X-windows (X11R2) version to 40 | compile OK. It seems to me that the Suntools version may not have worked, 41 | but I may just be halucinating. 42 | -------------------------------------------------------------------------------- /etc/emacs.icon: -------------------------------------------------------------------------------- 1 | /* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 2 | */ 3 | 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8000,0x0000,0x0000,0x0001, 4 | 0x8000,0x0000,0x007E,0x1C01,0x8000,0x0000,0x0006,0x1C01, 5 | 0x8000,0x0000,0x007F,0xFC01,0x8000,0x0000,0x0080,0x1C01, 6 | 0x8000,0x0000,0x013F,0xFC01,0x8000,0x0000,0x0140,0x1C01, 7 | 0x8000,0x0000,0x03E0,0x1C01,0x8000,0x0000,0x0000,0x1C01, 8 | 0x8000,0x0000,0x0000,0x1C01,0x8000,0x0000,0x0000,0x1C01, 9 | 0x8000,0x0000,0x0000,0x1C01,0x8000,0x0000,0x0210,0x1C01, 10 | 0x8000,0x0000,0x0330,0x1C01,0x8000,0x0000,0x00C0,0x1C01, 11 | 0x8003,0xFFFF,0xFFFF,0xFE01,0x8005,0xFFFF,0xFFFF,0xFE01, 12 | 0x8004,0xFFFF,0xFFFF,0xFC01,0x8004,0x787F,0xFFFF,0xF801, 13 | 0x8004,0x77FF,0xFFFF,0xF801,0x8000,0x77E3,0x6FFF,0xF801, 14 | 0x8000,0x762D,0x6FFF,0xF801,0x8004,0x77AD,0x6FFF,0xF801, 15 | 0x800C,0x77AD,0x6FFF,0xF801,0x8004,0x786D,0x8FFF,0xF801, 16 | 0x8000,0x7FFF,0xFFFF,0xF801,0x8000,0x7FFF,0xFFFF,0xF801, 17 | 0x8000,0x7E0F,0xFFFF,0xF801,0x8008,0x7EFF,0xFFFF,0xF801, 18 | 0x800C,0x7EF9,0x31CE,0x3801,0x8004,0x7E1A,0xADB5,0xF801, 19 | 0x8000,0x7EFA,0xADBE,0x7801,0x8000,0x7EFB,0xADB7,0xB801, 20 | 0x8000,0x7E0B,0xB2CC,0x7801,0x8000,0x7FFF,0xFFFF,0xF801, 21 | 0x8004,0x3FFF,0xFFFF,0xF001,0x8004,0x1FFF,0xFFFF,0xE001, 22 | 0x800C,0x0003,0x6000,0x0001,0x8000,0x0001,0x43C0,0x0001, 23 | 0x8000,0x0001,0x4420,0x0001,0x8000,0x0001,0x4990,0x0001, 24 | 0x8000,0x0001,0x4A50,0x0001,0x8004,0x0001,0x3250,0x0001, 25 | 0x8004,0x0000,0x8450,0x0001,0x800A,0x0000,0x7850,0x0001, 26 | 0x8000,0x0000,0x0050,0x0001,0xFFFF,0xFFFF,0xFFFF,0xFFFF, 27 | 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 28 | 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 29 | 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 30 | 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 31 | 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 32 | 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 33 | 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 34 | 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 35 | -------------------------------------------------------------------------------- /src/sink11mask.h: -------------------------------------------------------------------------------- 1 | #define sink_mask_width 48 2 | #define sink_mask_height 48 3 | static char sink_mask_bits[] = { 4 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 5 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 6 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 7 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 8 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 9 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 10 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 11 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 12 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 13 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 14 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 15 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 16 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 17 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 18 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 19 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 20 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 21 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 22 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 23 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 24 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 25 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 26 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 27 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 28 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 29 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 30 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 31 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 32 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 33 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 34 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 35 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 36 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 37 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 38 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 39 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 40 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 41 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 42 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 43 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 44 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 45 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 46 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 47 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 48 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 49 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 50 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 51 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; 52 | -------------------------------------------------------------------------------- /etc/makedoc.com: -------------------------------------------------------------------------------- 1 | $ ! VMS command file to create or update the file `DOC.' which contains 2 | $ ! documentation strings for the functions and variables preloaded in Emacs. 3 | $ ! This command file should be run when you build Emacs for the first time and 4 | $ ! again if any documentation strings change in the source files listed here. 5 | $ 6 | $ old = f$environment("default") 7 | $ set default emacs_library:[etc] 8 | $ on error then goto done 9 | $ if f$search("emacs_library:[etc]make-docfile.exe") .nes. "" then goto version44 10 | $ doit := $emacs_library:[etc]make_docfile 11 | $ rest = "[lisp]lisp_mode.elc [lisp]text_mode.elc [lisp]c_mode.elc [lisp]buff_menu.elc [lisp]vms_patch.elc" 12 | $ goto doit 13 | $version44: 14 | $ doit := $emacs_library:[etc]make-docfile 15 | $ rest = "[lisp]lisp-mode.elc [lisp]text-mode.elc [lisp]c-mode.elc [lisp]buff-menu.elc [lisp]vms-patch.elc" 16 | $ 17 | $doit: 18 | $ set default emacs_library:[000000] 19 | $ doit -o [etc]DOC 20 | $ doit := 'doit' -a [etc]DOC 21 | $ doit [src]dispnew.c [src]scroll.c 22 | $ doit [src]xdisp.c [src]window.c [src]term.c [src]cm.c 23 | $ doit [src]emacs.c [src]keyboard.c [src]macros.c 24 | $ doit [src]keymap.c [src]sysdep.c [src]buffer.c 25 | $ doit [src]filelock.c [src]insdel.c [src]marker.c 26 | $ doit [src]minibuf.c [src]fileio.c [src]dired.c 27 | $ doit [src]filemode.c [src]cmds.c [src]casefiddle.c 28 | $ doit [src]indent.c [src]search.c [src]regex.c 29 | $ doit [src]undo.c [src]alloc.c [src]data.c [src]doc.c 30 | $ doit [src]editfns.c [src]callint.c [src]eval.c 31 | $ doit [src]fns.c [src]print.c [src]lread.c [src]abbrev.c 32 | $ doit [src]syntax.c [src]mocklisp.c 33 | $ doit [src]bytecode.c [src]process.c [src]callproc.c [src]doprnt.c 34 | $ doit [src]vmsfns.c 35 | $ 36 | $ doit [lisp]simple.elc [lisp]help.elc 37 | $ doit [lisp]files.elc [lisp]window.elc 38 | $ doit [lisp]indent.elc [lisp]loaddefs.el 39 | $ doit [lisp]paths.el [lisp]startup.elc 40 | $ doit [lisp]lisp.elc [lisp]page.elc 41 | $ doit [lisp]register.elc [lisp]paragraphs.elc 42 | $ doit [lisp]fill.elc [lisp]isearch.elc 43 | $ doit [lisp]replace.elc [lisp]abbrev.elc 44 | $ doit [lisp]subr.elc [lisp]vmsproc.elc 45 | $ doit 'rest' 46 | $ 47 | $done: 48 | $ set default 'old' 49 | -------------------------------------------------------------------------------- /lisp/tabify.el: -------------------------------------------------------------------------------- 1 | ;; Tab conversion commands for Emacs 2 | ;; Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | ;; This file is part of GNU Emacs. 5 | 6 | ;; GNU Emacs is distributed in the hope that it will be useful, 7 | ;; but WITHOUT ANY WARRANTY. No author or distributor 8 | ;; accepts responsibility to anyone for the consequences of using it 9 | ;; or for whether it serves any particular purpose or works at all, 10 | ;; unless he says so in writing. Refer to the GNU Emacs General Public 11 | ;; License for full details. 12 | 13 | ;; Everyone is granted permission to copy, modify and redistribute 14 | ;; GNU Emacs, but only under the conditions described in the 15 | ;; GNU Emacs General Public License. A copy of this license is 16 | ;; supposed to have been given to you along with GNU Emacs so you 17 | ;; can know your rights and responsibilities. It should be in a 18 | ;; file named COPYING. Among other things, the copyright notice 19 | ;; and this notice must be preserved on all copies. 20 | 21 | 22 | (defun untabify (start end) 23 | "Convert all tabs in region to multiple spaces, preserving columns. 24 | The variable tab-width controls the action." 25 | (interactive "r") 26 | (save-excursion 27 | (save-restriction 28 | (narrow-to-region start end) 29 | (goto-char start) 30 | (while (search-forward "\t" nil t) ; faster than re-search 31 | (let ((start (point)) 32 | (column (current-column)) 33 | (indent-tabs-mode nil)) 34 | (skip-chars-backward "\t") 35 | (delete-region start (point)) 36 | (indent-to column)))))) 37 | 38 | (defun tabify (start end) 39 | "Convert multiple spaces in region to tabs when possible. 40 | A group of spaces is partially replaced by tabs 41 | when this can be done without changing the column they end at. 42 | The variable tab-width controls the action." 43 | (interactive "r") 44 | (save-excursion 45 | (save-restriction 46 | (narrow-to-region start end) 47 | (goto-char start) 48 | (while (re-search-forward "[ \t][ \t][ \t]*" nil t) 49 | (let ((column (current-column)) 50 | (indent-tabs-mode t)) 51 | (delete-region (match-beginning 0) (point)) 52 | (indent-to column)))))) 53 | -------------------------------------------------------------------------------- /lisp/window.el: -------------------------------------------------------------------------------- 1 | ;; GNU Emacs window commands aside from those written in C. 2 | ;; Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | ;; This file is part of GNU Emacs. 5 | 6 | ;; GNU Emacs is distributed in the hope that it will be useful, 7 | ;; but WITHOUT ANY WARRANTY. No author or distributor 8 | ;; accepts responsibility to anyone for the consequences of using it 9 | ;; or for whether it serves any particular purpose or works at all, 10 | ;; unless he says so in writing. Refer to the GNU Emacs General Public 11 | ;; License for full details. 12 | 13 | ;; Everyone is granted permission to copy, modify and redistribute 14 | ;; GNU Emacs, but only under the conditions described in the 15 | ;; GNU Emacs General Public License. A copy of this license is 16 | ;; supposed to have been given to you along with GNU Emacs so you 17 | ;; can know your rights and responsibilities. It should be in a 18 | ;; file named COPYING. Among other things, the copyright notice 19 | ;; and this notice must be preserved on all copies. 20 | 21 | 22 | (defun split-window-vertically (&optional arg) 23 | "Split current window into two windows, one above the other. 24 | This window becomes the uppermost of the two, and gets 25 | ARG lines. No arg means split equally." 26 | (interactive "P") 27 | (split-window nil (and arg (prefix-numeric-value arg)))) 28 | 29 | (defun split-window-horizontally (&optional arg) 30 | "Split current window into two windows side by side. 31 | This window becomes the leftmost of the two, and gets 32 | ARG columns. No arg means split equally." 33 | (interactive "P") 34 | (split-window nil (and arg (prefix-numeric-value arg)) t)) 35 | 36 | (defun enlarge-window-horizontally (arg) 37 | "Make current window ARG columns wider." 38 | (interactive "p") 39 | (enlarge-window arg t)) 40 | 41 | (defun shrink-window-horizontally (arg) 42 | "Make current window ARG columns narrower." 43 | (interactive "p") 44 | (shrink-window arg t)) 45 | 46 | (define-key ctl-x-map "2" 'split-window-vertically) 47 | (define-key ctl-x-map "5" 'split-window-horizontally) 48 | (define-key ctl-x-map "}" 'enlarge-window-horizontally) 49 | (define-key ctl-x-map "{" 'shrink-window-horizontally) 50 | -------------------------------------------------------------------------------- /src/sink11.h: -------------------------------------------------------------------------------- 1 | #define sink_width 48 2 | #define sink_height 48 3 | static char sink_bits[] = { 4 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 5 | 0xff, 0xff, 0xff, 0xff, 0x80, 0x9f, 6 | 0xff, 0xff, 0xff, 0xff, 0x9f, 0x9f, 7 | 0xff, 0xff, 0xff, 0xff, 0x00, 0x80, 8 | 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xbf, 9 | 0xff, 0xff, 0xff, 0x7f, 0x03, 0xa0, 10 | 0xff, 0xff, 0xff, 0x7f, 0xfd, 0xaf, 11 | 0xff, 0xff, 0xff, 0x3f, 0xf9, 0xaf, 12 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 13 | 0xff, 0xff, 0xff, 0xff, 0xfc, 0xaf, 14 | 0xff, 0xff, 0xff, 0x7f, 0xf8, 0xaf, 15 | 0xff, 0xff, 0xff, 0xff, 0xfc, 0xaf, 16 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 17 | 0xff, 0xff, 0xff, 0xbf, 0xf7, 0xaf, 18 | 0xff, 0xff, 0xff, 0x3f, 0xf3, 0xaf, 19 | 0xff, 0xff, 0xff, 0xff, 0xfc, 0xaf, 20 | 0x3f, 0x00, 0x00, 0x00, 0x00, 0x20, 21 | 0x7f, 0x00, 0x00, 0x00, 0x00, 0xe0, 22 | 0xdf, 0xf8, 0xff, 0xff, 0xff, 0x07, 23 | 0xcf, 0xf9, 0x0f, 0xff, 0xff, 0xe7, 24 | 0xcf, 0xf9, 0xf7, 0xff, 0xff, 0xe7, 25 | 0xff, 0xf9, 0xf7, 0x63, 0xfb, 0xe7, 26 | 0xff, 0xf9, 0x37, 0x5a, 0xfb, 0xe7, 27 | 0xcf, 0xf9, 0xf7, 0x5a, 0xfb, 0xe7, 28 | 0xcf, 0xf9, 0xf7, 0x5a, 0xf9, 0xe7, 29 | 0xef, 0xf9, 0x0f, 0xdb, 0xfa, 0xe7, 30 | 0xff, 0xf9, 0xff, 0xff, 0xff, 0xe7, 31 | 0xdf, 0xf9, 0xff, 0xff, 0xff, 0xe7, 32 | 0xcf, 0x19, 0xfc, 0xff, 0xff, 0xe7, 33 | 0xcf, 0xd9, 0xff, 0xff, 0xff, 0xe7, 34 | 0xff, 0xd9, 0x47, 0xce, 0x73, 0xe6, 35 | 0xff, 0x19, 0xb6, 0xb5, 0xad, 0xe7, 36 | 0xcf, 0xd9, 0xb7, 0xb5, 0x7d, 0xe6, 37 | 0xc7, 0xd9, 0xb7, 0xb5, 0xed, 0xe5, 38 | 0xef, 0x19, 0xb4, 0x4d, 0x73, 0xe6, 39 | 0xff, 0xf1, 0xff, 0xff, 0xff, 0xe3, 40 | 0xff, 0x03, 0x80, 0x03, 0x00, 0xf0, 41 | 0xef, 0x07, 0x00, 0x01, 0x00, 0xf8, 42 | 0xc7, 0xff, 0x3f, 0xf9, 0xff, 0xff, 43 | 0xe7, 0xff, 0x7f, 0xfd, 0xe0, 0xff, 44 | 0xff, 0xff, 0x7f, 0x7d, 0xdf, 0xff, 45 | 0xff, 0xff, 0x7f, 0xbd, 0xb1, 0xff, 46 | 0xff, 0xff, 0x7f, 0xbb, 0xae, 0xff, 47 | 0xef, 0xff, 0xff, 0xda, 0xae, 0xff, 48 | 0xc7, 0xff, 0xff, 0x66, 0xaf, 0xff, 49 | 0xe7, 0xff, 0xff, 0xbd, 0xaf, 0xff, 50 | 0xff, 0xff, 0xff, 0xc3, 0xaf, 0xff, 51 | 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff}; 52 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | This directory holds the latest distribution version of GNU Emacs. 2 | The subdirectory `src' holds the C code, 3 | `lisp' holds the Lisp code for the editing commands, 4 | `etc' holds various associated documentation files 5 | and programs that Emacs runs, 6 | `info' holds the Info documentation tree. 7 | `man' holds the source of the Emacs manual. 8 | `gdb' holds the new GNU source-level debugger. 9 | It runs only on Vaxes and suns now; you are encouraged to port 10 | it to other machines. 11 | See etc/DEBUG for info on how to debug Emacs. 12 | `cpp' holds a C preprocessor for use instead of the installed one 13 | when the installed one fails to distinguish more than 8 characters 14 | in a symbol name. 15 | `shortnames' holds programs and data files for creating files of #define's 16 | used to convert long symbol names to distinct short ones 17 | for C compiles that cannot distinguish more than 8 characters. 18 | 19 | The file INSTALL in this directory says how to bring up 20 | GNU Emacs on Unix, once you have loaded the entire subtree of this 21 | directory. 22 | 23 | The files `build-install' and `Makefile' help automate the process of 24 | building and installing emacs. The former is a shell script. See 25 | INSTALL for more info. 26 | 27 | The file PROBLEMS contains information on many common 28 | problems that occur in building, installing and running Emacs. 29 | 30 | The `etc' subdirectory contains several other files, 31 | named in capital letters, which you should look at 32 | when installing GNU Emacs. 33 | 34 | The file 'emacs.com' in this directory is for VMS. It defines 35 | logical names and commands such as `emacs', so you must edit 36 | it to specify the file and directory names used on your machine. 37 | This file must be executed in each session to enable you to run 38 | the installed Emacs. It should be executed by your `login.com' file, 39 | or else perhaps it can be executed once at system boot time. 40 | 41 | The file `kepteditor.com' in this directory is also for VMS. 42 | When a user says to run Emacs, it really runs this command file. 43 | 44 | See the files VMSINSTALL and VMSNOTES for more information on VMS use. 45 | 46 | 47 | -------------------------------------------------------------------------------- /src/sys/exec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Mach Operating System 3 | * Copyright (c) 1987 Carnegie-Mellon University 4 | * All rights reserved. The CMU software License Agreement specifies 5 | * the terms and conditions for use and redistribution. 6 | */ 7 | /* 8 | ********************************************************************** 9 | * HISTORY 10 | * 13-Feb-88 John Seamons (jks) at NeXT 11 | * NeXT: use same hack as Sun for machine type. 12 | * 13 | * 12-Sep-86 Jonathan J. Chew (jjc) at Carnegie-Mellon University 14 | * Changed first long word to two shorts for the Sun to give 15 | * the machine type along with the magic number. 16 | * Added machine types for Sun. 17 | * Made file includable more than once. 18 | * 19 | ********************************************************************** 20 | */ 21 | 22 | /* 23 | * Copyright (c) 1982, 1986 Regents of the University of California. 24 | * All rights reserved. The Berkeley software License Agreement 25 | * specifies the terms and conditions for redistribution. 26 | * 27 | * @(#)exec.h 7.1 (Berkeley) 6/4/86 28 | */ 29 | 30 | #ifndef _EXEC_ 31 | #define _EXEC_ 1 32 | 33 | /* 34 | * Header prepended to each a.out file. 35 | */ 36 | struct exec { 37 | #if sun || NeXT 38 | unsigned short a_machtype; /* machine type */ 39 | unsigned short a_magic; /* magic number */ 40 | #else sun || NeXT 41 | long a_magic; /* magic number */ 42 | #endif sun || NeXT 43 | unsigned long a_text; /* size of text segment */ 44 | unsigned long a_data; /* size of initialized data */ 45 | unsigned long a_bss; /* size of uninitialized data */ 46 | unsigned long a_syms; /* size of symbol table */ 47 | unsigned long a_entry; /* entry point */ 48 | unsigned long a_trsize; /* size of text relocation */ 49 | unsigned long a_drsize; /* size of data relocation */ 50 | }; 51 | 52 | #define OMAGIC 0407 /* old impure format */ 53 | #define NMAGIC 0410 /* read-only text */ 54 | #define ZMAGIC 0413 /* demand load format */ 55 | 56 | #ifdef sun 57 | /* Sun machine types */ 58 | 59 | #define M_OLDSUN2 0 /* old sun-2 executable files */ 60 | #define M_68010 1 /* runs on either 68010 or 68020 */ 61 | #define M_68020 2 /* runs only on 68020 */ 62 | #endif sun 63 | 64 | #endif _EXEC_ 65 | -------------------------------------------------------------------------------- /info/gcc.info-8: -------------------------------------------------------------------------------- 1 | Info file: gcc.info, -*-Text-*- 2 | produced by texinfo-format-buffer 3 | from file: gcc.texinfo 4 | 5 | 6 | This file documents the use and the internals of the GNU compiler. 7 | 8 | Copyright (C) 1988, 1989 Free Software Foundation, Inc. 9 | 10 | Permission is granted to make and distribute verbatim copies of 11 | this manual provided the copyright notice and this permission notice 12 | are preserved on all copies. 13 | 14 | Permission is granted to copy and distribute modified versions of this 15 | manual under the conditions for verbatim copying, provided also that the 16 | section entitled "GNU General Public License" is included exactly as 17 | in the original, and provided that the entire resulting derived work is 18 | distributed under the terms of a permission notice identical to this one. 19 | 20 | Permission is granted to copy and distribute translations of this manual 21 | into another language, under the above conditions for modified versions, 22 | except that the section entitled "GNU General Public License" and 23 | this permission notice may be included in translations approved by the 24 | Free Software Foundation instead of in the original English. 25 | 26 | 27 | 28 |  29 | File: gcc.info Node: Config, Prev: Machine Macros, Up: Top 30 | 31 | The Configuration File 32 | ********************** 33 | 34 | The configuration file `xm-MACHINE.h' contains macro definitions 35 | that describe the machine and system on which the compiler is running. 36 | Most of the values in it are actually the same on all machines that GNU CC 37 | runs on, so large parts of all configuration files are identical. But 38 | there are some macros that vary: 39 | 40 | `FAILURE_EXIT_CODE' 41 | A C expression for the status code to be returned when the compiler 42 | exits after serious errors. 43 | 44 | `SUCCESS_EXIT_CODE' 45 | A C expression for the status code to be returned when the compiler 46 | exits without serious errors. 47 | 48 | In addition, configuration files for system V define `bcopy', 49 | `bzero' and `bcmp' as aliases. Some files define `alloca' 50 | as a macro when compiled with GNU CC, in order to take advantage of the 51 | benefit of GNU CC's built-in `alloca'. 52 | 53 |  54 | -------------------------------------------------------------------------------- /etc/3B-MAXMEM: -------------------------------------------------------------------------------- 1 | Date: Mon, 16 Feb 87 15:04:41 EST 2 | From: katinsky@gauss.rutgers.edu (David Katinsky) 3 | To: rms@prep.ai.mit.edu 4 | Subject: 3b2 procedure to raise MAXMEM 5 | 6 | Below is the procedure I followed to allow enough memory for GnuEmacs to run 7 | on my 3b2/400. The end result of this is that a process can snarf up to 2Mb 8 | of memory. This can be a bit dangerous on a 2Mb machine, but I tried it and 9 | it worked ok. 10 | 11 | ------------------------------------------------------------------------------- 12 | 13 | In the simplest case, these are the procedures to reconfigure a 3bx kernel. 14 | 15 | 16 | 17 | 1] cd /etc/master.d 18 | 19 | `ls` shows the files to be: 20 | 21 | README ctc* hdelog idisk ipc iuart kernel mau 22 | mem msg ports* prf sem shm stubs sxt 23 | sys xt 24 | 25 | 2] Edit the file which contains the parameter[s] you wish to change. 26 | In the following excerpt from /etc/master.d/kernel the value MAXMEM 27 | was raised from 256 to 1024. 28 | 29 | In V.3.0 and later releases, the parameter in question is MAXUMEM 30 | instead of MAXMEM. 31 | 32 | 33 | * 34 | * The following entries form the tunable parameter table. 35 | * 36 | 37 | 38 | NCALL = 30 39 | NPROC = 60 40 | NTEXT = 58 41 | NCLIST = 188 42 | * maxmem is number of pages (2K) was 256 --dmk 43 | MAXMEM = 1024 44 | MAXUP = 25 45 | * hashbuf must be a power of 2 46 | NHBUF = 128 47 | NPBUF = 8 48 | 49 | 3] cd /boot 50 | 51 | 4] mkboot -k KERNEL 52 | 53 | 5] shutdown -i5 -g0 -y 54 | 55 | This will take the machine down and bring it back up into firmware 56 | mode. When you see that the machine has reached this state, type the 57 | firmware password (default=mcp). The machine will ask for the name of 58 | a program to execute. At this prompt enter /etc/system . The machine 59 | should start to boot and display its configuration data. 60 | 61 | 62 | 63 | 8701271222 dmk 64 | 65 | [katinsky@topaz.rutgers.edu] 66 | ------------------------------------------------------------------------------- 67 | 68 | 69 | 70 | I do not feel that having the default firmware password is a 71 | problem... but if you wish to edit it out, feel free. 72 | 73 | dmk 74 | 75 |  76 | -------------------------------------------------------------------------------- /etc/yow.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "../src/paths.h" 4 | 5 | /* zippy.c 6 | * 7 | * Print a quotation from Zippy the Pinhead. 8 | * Qux March 6, 1986 9 | * 10 | */ 11 | 12 | #define BUFSIZE 2000 13 | #define SEP '\0' 14 | #define YOW_FILE "yow.lines" 15 | 16 | main (argc, argv) 17 | int argc; 18 | char *argv[]; 19 | { 20 | FILE *fp; 21 | char file[BUFSIZ]; 22 | void yow(); 23 | 24 | if (argc > 2 && !strcmp (argv[1], "-f")) 25 | strcpy (file, argv[2]); 26 | else 27 | #ifdef vms 28 | sprintf (file, "%s%s", PATH_EXEC, YOW_FILE); 29 | #else 30 | sprintf (file, "%s/%s", PATH_EXEC, YOW_FILE); 31 | #endif 32 | 33 | if ((fp = fopen(file, "r")) == NULL) { 34 | perror(file); 35 | exit(1); 36 | } 37 | 38 | /* initialize random seed */ 39 | srand((int) (getpid() + time((long *) 0))); 40 | 41 | yow(fp); 42 | fclose(fp); 43 | exit(0); 44 | } 45 | 46 | void 47 | yow (fp) 48 | FILE *fp; 49 | { 50 | static long len = -1; 51 | long offset; 52 | int c, i = 0; 53 | char buf[BUFSIZE]; 54 | 55 | /* Get length of file, go to a random place in it */ 56 | if (len == -1) { 57 | if (fseek(fp, 0, 2) == -1) { 58 | perror("fseek 1"); 59 | exit(1); 60 | } 61 | len = ftell(fp); 62 | } 63 | offset = rand() % len; 64 | if (fseek(fp, offset, 0) == -1) { 65 | perror("fseek 2"); 66 | exit(1); 67 | } 68 | 69 | /* Read until SEP, read next line, print it. 70 | (Note that we will never print anything before the first seperator.) 71 | If we hit EOF looking for the first SEP, just recurse. */ 72 | while ((c = getc(fp)) != SEP) 73 | if (c == EOF) { 74 | yow(fp); 75 | return; 76 | } 77 | 78 | /* Skip leading whitespace, then read in a quotation. 79 | If we hit EOF before we find a non-whitespace char, recurse. */ 80 | while (isspace(c = getc(fp))) 81 | ; 82 | if (c == EOF) { 83 | yow(fp); 84 | return; 85 | } 86 | buf[i++] = c; 87 | while ((c = getc(fp)) != SEP && c != EOF) { 88 | buf[i++] = c; 89 | 90 | if (i == BUFSIZ-1) 91 | /* Yow! Is this quotation too long yet? */ 92 | break; 93 | } 94 | buf[i++] = 0; 95 | printf("%s\n", buf); 96 | } 97 | 98 | -------------------------------------------------------------------------------- /src/m-news.h: -------------------------------------------------------------------------------- 1 | /* m- file for Sony's NEWS workstations, NEWS-OS 3.0. 2 | Copyright (C) 1985, 1986, 1989 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* Say this machine is a 68000 */ 23 | 24 | #ifndef m68000 25 | #define m68000 26 | #endif 27 | 28 | /* The following three symbols give information on 29 | the size of various data types. */ 30 | 31 | #define SHORTBITS 16 /* Number of bits in a short */ 32 | 33 | #define INTBITS 32 /* Number of bits in an int */ 34 | 35 | #define LONGBITS 32 /* Number of bits in a long */ 36 | 37 | /* 68000 has lowest-numbered byte as most significant */ 38 | 39 | #define BIG_ENDIAN 40 | 41 | /* One CRT0 Dummy variable */ 42 | 43 | #define CRT0_DUMMIES one_dummy, 44 | 45 | /* Define how to take a char and sign-extend into an int. 46 | On machines where char is signed, this is a no-op. */ 47 | 48 | #define SIGN_EXTEND_CHAR(c) (c) 49 | 50 | /* Use type int rather than a union, to represent Lisp_Object */ 51 | 52 | #define NO_UNION_TYPE 53 | 54 | /* The News machine has alloca. */ 55 | 56 | #define HAVE_ALLOCA 57 | 58 | /* Data type of load average, as read out of kmem. */ 59 | 60 | #define LOAD_AVE_TYPE double 61 | 62 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 63 | 64 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) 65 | 66 | /* Must use the system's termcap. It does special things. */ 67 | 68 | #define LIBS_TERMCAP -ltermcap 69 | 70 | -------------------------------------------------------------------------------- /lisp/term/vt100.el: -------------------------------------------------------------------------------- 1 | ;; Map VT100 function key escape sequences 2 | ;; into the standard slots in function-keymap. 3 | 4 | (require 'keypad) 5 | 6 | (defvar CSI-map nil 7 | "The CSI-map maps the CSI function keys on the VT100 keyboard. 8 | The CSI keys are the arrow keys.") 9 | 10 | (if (not CSI-map) 11 | (progn 12 | (setq CSI-map (lookup-key global-map "\e[")) 13 | (if (not (keymapp CSI-map)) 14 | (setq CSI-map (make-sparse-keymap))) ;; [ commands 15 | 16 | (setup-terminal-keymap CSI-map 17 | '(("A" . ?u) ; up arrow 18 | ("B" . ?d) ; down-arrow 19 | ("C" . ?r) ; right-arrow 20 | ("D" . ?l))))) ; left-arrow 21 | 22 | (defun enable-arrow-keys () 23 | "Enable the use of the VT100 arrow keys for cursor motion. 24 | Because of the nature of the VT100, this unavoidably breaks 25 | the standard Emacs command ESC [; therefore, it is not done by default, 26 | but only if you give this command." 27 | (interactive) 28 | (global-set-key "\e[" CSI-map)) 29 | 30 | (defvar SS3-map nil 31 | "SS3-map maps the SS3 function keys on the VT100 keyboard. 32 | The SS3 keys are the numeric keypad keys in keypad application mode 33 | \(DECKPAM). SS3 is DEC's name for the sequence O which is 34 | the common prefix of what these keys transmit.") 35 | 36 | (if (not SS3-map) 37 | (progn 38 | 39 | (setq SS3-map (lookup-key global-map "\eO")) 40 | (if (not (keymapp SS3-map)) 41 | (setq SS3-map (make-keymap))) ;; O commands 42 | (setup-terminal-keymap SS3-map 43 | '(("A" . ?u) ; up arrow 44 | ("B" . ?d) ; down-arrow 45 | ("C" . ?r) ; right-arrow 46 | ("D" . ?l) ; left-arrow 47 | ("M" . ?e) ; Enter 48 | ("P" . ?\C-a) ; PF1 49 | ("Q" . ?\C-b) ; PF2 50 | ("R" . ?\C-c) ; PF3 51 | ("S" . ?\C-d) ; PF4 52 | ("l" . ?,) ; , 53 | ("m" . ?-) ; - 54 | ("n" . ?.) ; . 55 | ("p" . ?0) ; 0 56 | ("q" . ?1) ; 1 57 | ("r" . ?2) ; 2 58 | ("s" . ?3) ; 3 59 | ("t" . ?4) ; 4 60 | ("u" . ?5) ; 5 61 | ("v" . ?6) ; 6 62 | ("w" . ?7) ; 7 63 | ("x" . ?8) ; 8 64 | ("y" . ?9))) ; 9 65 | 66 | (define-key global-map "\eO" SS3-map))) 67 | -------------------------------------------------------------------------------- /info/termcap: -------------------------------------------------------------------------------- 1 | Info file ../info/termcap, produced by Makeinfo, -*- Text -*- from 2 | input file termcap.texinfo. 3 | 4 | This file documents the termcap library of the GNU system. 5 | 6 | Copyright (C) 1988 Free Software Foundation, Inc. 7 | 8 | Permission is granted to make and distribute verbatim copies of this 9 | manual provided the copyright notice and this permission notice are 10 | preserved on all copies. 11 | 12 | Permission is granted to copy and distribute modified versions of 13 | this manual under the conditions for verbatim copying, provided that 14 | the entire resulting derived work is distributed under the terms of a 15 | permission notice identical to this one. 16 | 17 | Permission is granted to copy and distribute translations of this 18 | manual into another language, under the above conditions for modified 19 | versions, except that this permission notice may be stated in a 20 | translation approved by the Foundation. 21 |  22 | Indirect: 23 | termcap-1: 857 24 | termcap-2: 48785 25 | termcap-3: 91978 26 |  27 | Tag Table: 28 | (Indirect) 29 | Node: Top859 30 | Node: Introduction1436 31 | Node: Library3141 32 | Node: Preparation4142 33 | Node: Find5338 34 | Node: Interrogate8857 35 | Node: Initialize14153 36 | Node: Padding15774 37 | Node: Why Pad16428 38 | Node: Describe Padding18060 39 | Node: Output Padding19521 40 | Node: Parameters23110 41 | Node: Encode Parameters24755 42 | Node: Using Parameters30850 43 | Node: tparam31432 44 | Node: tgoto33479 45 | Node: Data Base36016 46 | Node: Format36884 47 | Node: Capability Format38962 48 | Node: Naming41983 49 | Node: Inheriting46582 50 | Node: Capabilities48787 51 | Node: Basic51613 52 | Node: Screen Size55455 53 | Node: Cursor Motion57183 54 | Node: Wrapping66853 55 | Node: Scrolling69687 56 | Node: Windows74690 57 | Node: Clearing75414 58 | Node: Insdel Line77167 59 | Node: Insdel Char82044 60 | Node: Standout91980 61 | Node: Underlining100999 62 | Node: Cursor Visibility103414 63 | Node: Bell104152 64 | Node: Keypad104696 65 | Node: Meta Key109465 66 | Node: Initialization110408 67 | Node: Pad Specs112774 68 | Node: Status Line114813 69 | Node: Half-Line116691 70 | Node: Printer117485 71 | Node: Summary119153 72 | Node: Var Index129395 73 | Node: Cap Index129765 74 | Node: Index132323 75 |  76 | End Tag Table 77 | -------------------------------------------------------------------------------- /src/m-sun1.h: -------------------------------------------------------------------------------- 1 | /* m- file for Sun 68000's 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* 68000 has lowest-numbered byte as most significant */ 32 | 33 | #define BIG_ENDIAN 34 | 35 | /* Define how to take a char and sign-extend into an int. 36 | On machines where char is signed, this is a no-op. */ 37 | 38 | #define SIGN_EXTEND_CHAR(c) (c) 39 | 40 | /* Say this machine is a 68000 */ 41 | 42 | #define m68000 43 | 44 | /* Use type int rather than a union, to represent Lisp_Object */ 45 | 46 | #define NO_UNION_TYPE 47 | 48 | /* Sun can't write competant compilers */ 49 | #define COMPILER_REGISTER_BUG 50 | 51 | /* XINT must explicitly sign-extend */ 52 | 53 | #define EXPLICIT_SIGN_EXTEND 54 | 55 | /* Data type of load average, as read out of kmem. */ 56 | 57 | #define LOAD_AVE_TYPE long 58 | 59 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 60 | 61 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 62 | 63 | /* Must use the system's termcap. It does special things. */ 64 | 65 | #define LIBS_TERMCAP -ltermcap 66 | 67 | /* Mask for address bits within a memory segment */ 68 | 69 | #define SEGMENT_MASK (SEGSIZ - 1) 70 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | LIBDIR = /usr/lib/emacs 2 | BINDIR = /usr/bin 3 | 4 | installsrc: 5 | tar cf - . | (cd $(SRCROOT); tar xfBp - ) 6 | 7 | clean: 8 | (cd etc; make clean) 9 | (cd src; make clean) 10 | 11 | install: all 12 | -rm -rf $(DSTROOT)$(LIBDIR) 13 | mkdirs $(DSTROOT)$(LIBDIR) 14 | # (cd $(DSTROOT)$(LIBDIR); mkdirs etc info lisp man) 15 | (cd $(DSTROOT)$(LIBDIR); mkdirs etc info lisp; mkdirs -m 777 lock) 16 | # We don't have room for this. Only snag the binaries (and strip them). 17 | # cp etc/* $(DSTROOT)$(LIBDIR)/etc 18 | # -rm -f $(DSTROOT)$(LIBDIR)/etc/*.c 19 | cp etc/DOC-* $(DSTROOT)$(LIBDIR)/etc 20 | install -c -s -m 755 etc/ctags $(DSTROOT)$(LIBDIR)/etc/ctags 21 | install -c -s -m 755 etc/cvtmail $(DSTROOT)$(LIBDIR)/etc/cvtmail 22 | install -c -s -m 755 etc/digest-doc $(DSTROOT)$(LIBDIR)/etc/digest-doc 23 | install -c -s -m 755 etc/emacsclient $(DSTROOT)$(LIBDIR)/etc/emacsclient 24 | install -c -s -m 755 etc/env $(DSTROOT)$(LIBDIR)/etc/env 25 | install -c -s -m 755 etc/fakemail $(DSTROOT)$(LIBDIR)/etc/fakemail 26 | install -c -s -m 755 etc/loadst $(DSTROOT)$(LIBDIR)/etc/loadst 27 | install -c -s -m 755 etc/make-docfile $(DSTROOT)$(LIBDIR)/etc/make-docfile 28 | install -c -s -m 755 etc/movemail $(DSTROOT)$(LIBDIR)/etc/movemail 29 | install -c -s -m 755 etc/server $(DSTROOT)$(LIBDIR)/etc/server 30 | install -c -s -m 755 etc/sorted-doc $(DSTROOT)$(LIBDIR)/etc/sorted-doc 31 | install -c -s -m 755 etc/test-distrib $(DSTROOT)$(LIBDIR)/etc/test-distrib 32 | install -c -s -m 755 etc/yow $(DSTROOT)$(LIBDIR)/etc/yow 33 | install -c -m 644 etc/TUTORIAL $(DSTROOT)$(LIBDIR)/etc/TUTORIAL 34 | install -c -m 644 etc/NEWS $(DSTROOT)$(LIBDIR)/etc/NEWS 35 | install -c -m 644 etc/COPYING $(DSTROOT)$(LIBDIR)/etc/COPYING 36 | install -c -m 644 etc/DISTRIB $(DSTROOT)$(LIBDIR)/etc/DISTRIB 37 | cp info/* $(DSTROOT)$(LIBDIR)/info 38 | tar cf - lisp | (cd $(DSTROOT)$(LIBDIR); tar xf -) 39 | # cp man/* $(DSTROOT)$(LIBDIR)/man 40 | -/etc/chown -R root $(DSTROOT)$(LIBDIR) 41 | chmod -R a+r $(DSTROOT)$(LIBDIR) 42 | mkdirs $(DSTROOT)$(BINDIR) 43 | install -c -s -m 755 etc/etags $(DSTROOT)$(BINDIR)/etags 44 | install -c -s -m 755 src/xemacs $(DSTROOT)$(BINDIR)/xemacs 45 | -rm -f $(DSTROOT)$(BINDIR)/emacs 46 | mv $(DSTROOT)$(BINDIR)/xemacs $(DSTROOT)$(BINDIR)/emacs 47 | 48 | 49 | all: 50 | (cd etc; make all) 51 | (cd src; make all) 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /lisp/compare-w.el: -------------------------------------------------------------------------------- 1 | ;; Compare text between windows for Emacs. 2 | ;; Copyright (C) 1986 Free Software Foundation, Inc. 3 | 4 | ;; This file is part of GNU Emacs. 5 | 6 | ;; GNU Emacs is distributed in the hope that it will be useful, 7 | ;; but WITHOUT ANY WARRANTY. No author or distributor 8 | ;; accepts responsibility to anyone for the consequences of using it 9 | ;; or for whether it serves any particular purpose or works at all, 10 | ;; unless he says so in writing. Refer to the GNU Emacs General Public 11 | ;; License for full details. 12 | 13 | ;; Everyone is granted permission to copy, modify and redistribute 14 | ;; GNU Emacs, but only under the conditions described in the 15 | ;; GNU Emacs General Public License. A copy of this license is 16 | ;; supposed to have been given to you along with GNU Emacs so you 17 | ;; can know your rights and responsibilities. It should be in a 18 | ;; file named COPYING. Among other things, the copyright notice 19 | ;; and this notice must be preserved on all copies. 20 | 21 | 22 | (defun compare-windows () 23 | "Compare text in current window with text in next window. 24 | Compares the text starting at point in each window, 25 | moving over text in each one as far as they match." 26 | (interactive) 27 | (let (p1 p2 maxp1 maxp2 b1 b2 w2 28 | success size 29 | (opoint (point))) 30 | (setq p1 (point) b1 (current-buffer)) 31 | (setq w2 (next-window (selected-window))) 32 | (if (eq w2 (selected-window)) 33 | (error "No other window.")) 34 | (setq p2 (window-point w2) 35 | b2 (window-buffer w2)) 36 | (setq maxp1 (point-max)) 37 | (save-excursion 38 | (set-buffer b2) 39 | (setq maxp2 (point-max))) 40 | 41 | ;; Try advancing comparing 1000 chars at a time. 42 | ;; When that fails, go 500 chars at a time, and so on. 43 | (setq size 1000) 44 | (while (> size 0) 45 | (setq success t) 46 | (while success 47 | (setq size (min size (- maxp1 p1) (- maxp2 p2))) 48 | (save-excursion 49 | (set-buffer b2) 50 | (setq s2 (buffer-substring p2 (+ size p2)))) 51 | (setq s1 (buffer-substring p1 (+ size p1))) 52 | (setq success (and (> size 0) (equal s1 s2))) 53 | (if success 54 | (setq p1 (+ p1 size) p2 (+ p2 size)))) 55 | (setq size (/ size 2))) 56 | 57 | (goto-char p1) 58 | (set-window-point w2 p2) 59 | (if (= (point) opoint) 60 | (ding)))) 61 | -------------------------------------------------------------------------------- /src/commands.h: -------------------------------------------------------------------------------- 1 | /* Definitions needed by most editing commands. 2 | Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | #define Ctl(c) ((c)&037) 23 | 24 | /* Define the names of keymaps, just so people can refer to them in calls to defkey */ 25 | 26 | extern Lisp_Object Vglobal_map; 27 | 28 | extern Lisp_Object Vesc_map; 29 | 30 | extern Lisp_Object Vctl_x_map; 31 | 32 | extern Lisp_Object Vminibuffer_local_map; 33 | 34 | extern Lisp_Object Vminibuffer_local_ns_map; 35 | 36 | /* keymap used for minibuffers when doing completion */ 37 | extern Lisp_Object Vminibuffer_local_completion_map; 38 | 39 | /* keymap used for minibuffers when doing completion and require a match */ 40 | extern Lisp_Object Vminibuffer_local_must_match_map; 41 | 42 | /* Last character of last key sequence. */ 43 | extern int last_command_char; 44 | 45 | /* Command character to be re-read, or -1 */ 46 | extern int unread_command_char; 47 | 48 | /* Previous command symbol found here for comparison */ 49 | extern Lisp_Object last_command; 50 | 51 | /* Nonzero means ^G can quit instantly */ 52 | extern int immediate_quit; 53 | 54 | extern Lisp_Object Vexecuting_macro; 55 | 56 | /* Nonzero if input is coming from the keyboard */ 57 | #define FROM_KBD (NULL (Vexecuting_macro) && !noninteractive) 58 | 59 | /* Set this nonzero to force reconsideration of mode line. */ 60 | 61 | extern int update_mode_lines; 62 | 63 | /* Nonzero means reading single-character input with prompt 64 | so put cursor on minibuffer after the prompt. */ 65 | 66 | extern int cursor_in_echo_area; 67 | -------------------------------------------------------------------------------- /src/m-dual.h: -------------------------------------------------------------------------------- 1 | /* m- file for Dual machines using unisoft port. 2 | Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* Define BIG_ENDIAN iff lowest-numbered byte in a word 32 | is the most significant byte. */ 33 | 34 | #define BIG_ENDIAN 35 | 36 | /* XINT must explicitly sign-extend */ 37 | 38 | #define EXPLICIT_SIGN_EXTEND 39 | 40 | /* Define how to take a char and sign-extend into an int. 41 | On machines where char is signed, this is a no-op. */ 42 | 43 | #define SIGN_EXTEND_CHAR(c) (c) 44 | 45 | /* Use type int rather than a union, to represent Lisp_Object */ 46 | 47 | #define NO_UNION_TYPE 48 | 49 | /* Now define a symbol for the cpu type, if your compiler 50 | does not define it automatically: 51 | vax, m68000, ns16000 are the ones defined so far. */ 52 | 53 | #ifndef m68000 54 | #define m68000 55 | #endif 56 | 57 | /* Data type of load average, as read out of kmem. */ 58 | /* These are commented out since it does not really work in uniplus */ 59 | 60 | /* #define LOAD_AVE_TYPE long */ 61 | 62 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 63 | 64 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */ 65 | 66 | /* Change some things to avoid bugs in compiler */ 67 | 68 | #define SWITCH_ENUM_BUG 1 69 | -------------------------------------------------------------------------------- /src/m-celerity.h: -------------------------------------------------------------------------------- 1 | /* m- file for Celerity. 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* Define BIG_ENDIAN iff lowest-numbered byte in a word 32 | is the most significant byte. */ 33 | 34 | #define BIG_ENDIAN 35 | 36 | /* XINT must explicitly sign extend */ 37 | 38 | #define EXPLICIT_SIGN_EXTEND 39 | 40 | /* Define how to take a char and sign-extend into an int. 41 | On machines where char is signed, this is a no-op. */ 42 | 43 | #define SIGN_EXTEND_CHAR(c) (c) 44 | 45 | /* celerity preprocessor defines "accel", however the following is clearer */ 46 | #define celerity 47 | 48 | /* #define NO_UNION_TYPE would be preferable, 49 | but it does not work, and the reason is not yet known. */ 50 | 51 | #define NO_UNION_TYPE 52 | 53 | /* Data type of load average, as read out of kmem. */ 54 | 55 | #define LOAD_AVE_TYPE double 56 | 57 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 58 | 59 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) 60 | 61 | /* A machine-specific loader switch is needed. */ 62 | 63 | #define LD_SWITCH_MACHINE -k100000 64 | 65 | /* alloca is provided by the system. */ 66 | 67 | #define HAVE_ALLOCA 68 | 69 | /* (short) negative-int doesn't sign-extend correctly */ 70 | #define SHORT_CAST_BUG 71 | -------------------------------------------------------------------------------- /man/gdb.kys: -------------------------------------------------------------------------------- 1 | \initial {$} 2 | \entry {${\fam \ttfam \tentt \char '137}}{18, 32, 39} 3 | \entry {${\fam \ttfam \tentt \char '137}{\fam \ttfam \tentt \char '137}}{39} 4 | \initial {A} 5 | \entry {attach}{15} 6 | \initial {B} 7 | \entry {break}{19} 8 | \initial {C} 9 | \entry {cd}{14} 10 | \entry {clear}{20} 11 | \entry {condition}{22} 12 | \entry {core-file}{10} 13 | \initial {D} 14 | \entry {define}{51} 15 | \entry {delete}{20} 16 | \entry {detach}{15} 17 | \entry {directory}{33} 18 | \entry {disable}{21} 19 | \entry {display}{40} 20 | \entry {document}{51} 21 | \entry {down}{29} 22 | \initial {E} 23 | \entry {echo}{52} 24 | \entry {enable}{21} 25 | \entry {exec-file}{9} 26 | \initial {F} 27 | \entry {finish}{26} 28 | \entry {forward-search}{33} 29 | \entry {frame}{29} 30 | \initial {H} 31 | \entry {handle}{17} 32 | \initial {I} 33 | \entry {ignore}{22} 34 | \entry {info address}{45} 35 | \entry {info args}{30} 36 | \entry {info break}{18} 37 | \entry {info convenience}{42} 38 | \entry {info directories}{33} 39 | \entry {info display}{40} 40 | \entry {info environment}{14} 41 | \entry {info files}{10} 42 | \entry {info frame}{29} 43 | \entry {info functions}{45} 44 | \entry {info history}{41} 45 | \entry {info line}{32} 46 | \entry {info locals}{30} 47 | \entry {info registers}{44} 48 | \entry {info signal}{17} 49 | \entry {info sources}{45} 50 | \entry {info types}{45} 51 | \entry {info variables}{45} 52 | \initial {J} 53 | \entry {jump}{47} 54 | \initial {K} 55 | \entry {kill}{10} 56 | \initial {L} 57 | \entry {list}{31} 58 | \initial {N} 59 | \entry {next}{26} 60 | \entry {nexti}{26} 61 | \entry {ni}{26} 62 | \initial {O} 63 | \entry {output}{52} 64 | \initial {P} 65 | \entry {print}{35} 66 | \entry {printf}{53} 67 | \entry {printsyms}{46} 68 | \entry {ptype}{45} 69 | \entry {pwd}{14} 70 | \initial {Q} 71 | \entry {quit}{7} 72 | \initial {R} 73 | \entry {return}{48} 74 | \entry {reverse-search}{33} 75 | \entry {run}{13} 76 | \initial {S} 77 | \entry {set}{47} 78 | \entry {set-args}{13} 79 | \entry {set-environment}{14} 80 | \entry {set-prompt}{7} 81 | \entry {si}{26} 82 | \entry {signal}{48} 83 | \entry {silent}{23} 84 | \entry {source}{52} 85 | \entry {step}{26} 86 | \entry {stepi}{26} 87 | \entry {symbol-file}{9} 88 | \initial {T} 89 | \entry {tbreak}{19} 90 | \entry {tty}{15} 91 | \initial {U} 92 | \entry {undisplay}{40} 93 | \entry {unset-environment}{14} 94 | \entry {up}{29} 95 | \initial {W} 96 | \entry {whatis}{45} 97 | \initial {X} 98 | \entry {x}{38} 99 | -------------------------------------------------------------------------------- /src/termchar.h: -------------------------------------------------------------------------------- 1 | /* Flags and parameters describing terminal's characteristics. 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | extern int baud_rate; /* Output speed in baud */ 23 | extern int screen_width; /* Number of usable columns */ 24 | extern int screen_height; /* Number of lines */ 25 | extern int must_write_spaces; /* Nonzero means spaces in the text 26 | must actually be output; can't just skip 27 | over some columns to leave them blank. */ 28 | extern int min_padding_speed; /* Speed below which no padding necessary */ 29 | extern int fast_clear_end_of_line; /* Nonzero means terminal has command for this */ 30 | 31 | extern int line_ins_del_ok; /* Terminal can insert and delete lines */ 32 | extern int char_ins_del_ok; /* Terminal can insert and delete chars */ 33 | extern int scroll_region_ok; /* Terminal supports setting the scroll window */ 34 | extern int memory_below_screen; /* Terminal remembers lines scrolled off bottom */ 35 | extern int fast_clear_end_of_line; /* Terminal has a `ce' string */ 36 | 37 | extern int dont_calculate_costs; /* Nonzero means don't bother computing */ 38 | /* various cost tables; we won't use them. */ 39 | 40 | /* Nonzero means no need to redraw the entire screen on resuming 41 | a suspended Emacs. This is useful on terminals with multiple pages, 42 | where one page is used for Emacs and another for all else. */ 43 | extern int no_redraw_on_reenter; 44 | 45 | /* DCICcost[n] is cost of inserting N characters. 46 | DCICcost[-n] is cost of deleting N characters. */ 47 | 48 | #define DCICcost (&DC_ICcost[screen_width]) 49 | extern int *DC_ICcost; 50 | -------------------------------------------------------------------------------- /src/m-sun386.h: -------------------------------------------------------------------------------- 1 | /* m- file for Sun's 386-based RoadRunner. This file borrows heavily from 2 | "m-sun2.h", but since that file is heavily cpu-specific, it was easier 3 | not to include it. 4 | 5 | Copyright (C) 1988 Free Software Foundation, Inc. 6 | 7 | This file is part of GNU Emacs. 8 | 9 | GNU Emacs is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY. No author or distributor 11 | accepts responsibility to anyone for the consequences of using it 12 | or for whether it serves any particular purpose or works at all, 13 | unless he says so in writing. Refer to the GNU Emacs General Public 14 | License for full details. 15 | 16 | Everyone is granted permission to copy, modify and redistribute 17 | GNU Emacs, but only under the conditions described in the 18 | GNU Emacs General Public License. A copy of this license is 19 | supposed to have been given to you along with GNU Emacs so you 20 | can know your rights and responsibilities. It should be in a 21 | file named COPYING. Among other things, the copyright notice 22 | and this notice must be preserved on all copies. */ 23 | 24 | /* Say this machine is a bird */ 25 | #ifndef roadrunner 26 | #define roadrunner 27 | #endif 28 | 29 | /* Actual cpu-specific defs */ 30 | #include "m-intel386.h" 31 | 32 | /* Data type of load average, as read out of kmem. */ 33 | 34 | #define LOAD_AVE_TYPE long 35 | 36 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 37 | 38 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 39 | 40 | /* Underscores are not prepended to C symbols on this machine. */ 41 | #undef LDAV_SYMBOL 42 | #define LDAV_SYMBOL "avenrun" 43 | 44 | /* Must use the system's termcap. It does special things. */ 45 | 46 | #define LIBS_TERMCAP -ltermcap 47 | 48 | /* Arrange to link with sun windows, if requested. */ 49 | /* For details on emacstool and sunfns, see etc/SUN-SUPPORT */ 50 | /* These programs require Sun UNIX 4.2 Release 3.2 or greater */ 51 | 52 | #ifdef HAVE_SUN_WINDOWS 53 | #define OTHER_FILES ${etcdir}emacstool 54 | #define LIBS_MACHINE -lsuntool -lsunwindow -lpixrect 55 | #define OBJECTS_MACHINE sunfns.o 56 | #define SYMS_MACHINE syms_of_sunfns () 57 | #define PURESIZE 132000 58 | #endif 59 | 60 | /* Roadrunner uses 'COFF' format */ 61 | #define COFF 62 | 63 | #define C_SWITCH_MACHINE -Bstatic /* avoid dynamic linking */ 64 | #define LD_SWITCH_MACHINE -n -Bstatic 65 | /* Get rid of the -e __start that s-sunos4.h does. */ 66 | #undef LD_SWITCH_SYSTEM 67 | -------------------------------------------------------------------------------- /src/m-pyramid.h: -------------------------------------------------------------------------------- 1 | /* m- file for pyramid. 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* Define BIG_ENDIAN iff lowest-numbered byte in a word 32 | is the most significant byte. */ 33 | 34 | #define BIG_ENDIAN 35 | 36 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a 37 | * group of arguments and treat it as an array of the arguments. */ 38 | 39 | #ifdef __GNUC__ 40 | #define NO_ARG_ARRAY 41 | #endif 42 | 43 | /* XINT must explicitly sign extend */ 44 | 45 | #define EXPLICIT_SIGN_EXTEND 46 | 47 | /* Define how to take a char and sign-extend into an int. 48 | On machines where char is signed, this is a no-op. */ 49 | 50 | #define SIGN_EXTEND_CHAR(c) (c) 51 | 52 | /* pyramid preprocessor defines "pyr", however the following is clearer */ 53 | #define pyramid 54 | 55 | /* Don't use the union types any more. They were used until Emacs 17.45. */ 56 | 57 | #define NO_UNION_TYPE 58 | 59 | /* Data type of load average, as read out of kmem. */ 60 | 61 | #define LOAD_AVE_TYPE double 62 | 63 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 64 | 65 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) 66 | 67 | /* Don't use the ordinary -g for debugging in cc */ 68 | 69 | #define C_DEBUG_SWITCH -gx 70 | 71 | /* Reenable this #define for old versions of the Pyramid system. */ 72 | 73 | /* #define PYRAMID_OLD */ 74 | -------------------------------------------------------------------------------- /etc/Makefile: -------------------------------------------------------------------------------- 1 | CFLAGS= -g -O 2 | # For Xenix. Needed for movemail 3 | # LOADLIBES= -lx 4 | 5 | # Used shared libraries to save space... Also use compact object format... 6 | # These two together save 80% of the space for these utilities. 7 | LOADLIBES= -lsys_s -object 8 | 9 | EXECUTABLES = test-distrib etags ctags loadst make-docfile \ 10 | digest-doc sorted-doc movemail cvtmail fakemail yow env \ 11 | server emacsclient 12 | 13 | all: ${EXECUTABLES} 14 | 15 | strip: 16 | strip ${EXECUTABLES} 17 | 18 | distclean: 19 | -rm -f ${EXECUTABLES} *~ \#* DOC* core 20 | 21 | clean: 22 | -rm -f ${EXECUTABLES} *~ \#* DOC* core 23 | 24 | # This justs verifies that the non-ASCII characters 25 | # in the file `testfile' have no been clobbered by 26 | # whatever means were used to copy and distribute Emacs. 27 | # If they were clobbered, all the .elc files were clobbered too. 28 | test-distrib: test-distrib.c 29 | $(CC) -o test-distrib test-distrib.c $(LOADLIBES) 30 | ./test-distrib 31 | 32 | etags: etags.c 33 | $(CC) -o etags ${CFLAGS} -DETAGS etags.c $(LOADLIBES) 34 | 35 | ctags: etags.c 36 | $(CC) -o ctags ${CFLAGS} -DCTAGS etags.c $(LOADLIBES) 37 | 38 | loadst: loadst.c ../src/config.h 39 | $(CC) -o loadst ${CFLAGS} loadst.c $(LOADLIBES) 40 | 41 | make-docfile: make-docfile.c 42 | $(CC) -o make-docfile ${CFLAGS} make-docfile.c $(LOADLIBES) 43 | 44 | digest-doc: digest-doc.c 45 | $(CC) -o digest-doc ${CFLAGS} digest-doc.c $(LOADLIBES) 46 | 47 | sorted-doc: sorted-doc.c 48 | $(CC) -o sorted-doc ${CFLAGS} sorted-doc.c $(LOADLIBES) 49 | 50 | # 51 | movemail: movemail.c ../src/config.h 52 | $(CC) -o movemail ${CFLAGS} movemail.c $(LOADLIBES) 53 | 54 | cvtmail: cvtmail.c 55 | $(CC) -o cvtmail ${CFLAGS} cvtmail.c $(LOADLIBES) 56 | 57 | fakemail: fakemail.c ../src/config.h 58 | $(CC) -o fakemail ${CFLAGS} fakemail.c $(LOADLIBES) 59 | 60 | yow: yow.c 61 | $(CC) -o yow ${CFLAGS} yow.c $(LOADLIBES) 62 | 63 | # this is silly -- just use emacs to edit this file! 64 | # (in any case this program doesn't preserve alphabetical ordering, 65 | # which is why I'm removing it) 66 | #addyow: addyow.c 67 | # $(CC) -o addyow ${CFLAGS} addyow.c $(LOADLIBES) 68 | 69 | env: env.c ../src/config.h 70 | $(CC) -o env -DEMACS ${CFLAGS} env.c $(LOADLIBES) 71 | 72 | server: server.c ../src/config.h 73 | $(CC) -o server ${CFLAGS} server.c $(LOADLIBES) 74 | 75 | emacsclient: emacsclient.c ../src/config.h 76 | $(CC) -o emacsclient ${CFLAGS} emacsclient.c $(LOADLIBES) 77 | 78 | # This one is NOT included in EXECUTABLES. 79 | # See ../src/ymakefile. 80 | emacstool: emacstool.c 81 | $(CC) emacstool.c -o emacstool -g -lsuntool -lsunwindow -lpixrect $(LOADLIBES) 82 | 83 | -------------------------------------------------------------------------------- /src/m-news800.h: -------------------------------------------------------------------------------- 1 | /* m- file for Sony's NEWS 800 workstations. 2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* 68000 has lowest-numbered byte as most significant */ 32 | 33 | #define BIG_ENDIAN 34 | 35 | /* One CRT0 Dummy variable */ 36 | 37 | #define CRT0_DUMMIES one_dummy, 38 | 39 | /* Define how to take a char and sign-extend into an int. 40 | On machines where char is signed, this is a no-op. */ 41 | 42 | #define SIGN_EXTEND_CHAR(c) (c) 43 | 44 | /* Use type int rather than a union, to represent Lisp_Object */ 45 | 46 | #define NO_UNION_TYPE 47 | 48 | /* Sun can't write competent compilers */ 49 | /* ??? Is this really necessary? */ 50 | #define COMPILER_REGISTER_BUG 51 | 52 | /* XINT must explicitly sign-extend */ 53 | 54 | #define EXPLICIT_SIGN_EXTEND 55 | 56 | /* News machine has alloca, despite what the manual says. */ 57 | 58 | #define HAVE_ALLOCA 59 | 60 | /* Data type of load average, as read out of kmem. */ 61 | 62 | #define LOAD_AVE_TYPE long 63 | 64 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 65 | 66 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 67 | 68 | /* Must use the system's termcap. It does special things. */ 69 | 70 | #define LIBS_TERMCAP -ltermcap 71 | 72 | /* Mask for address bits within a memory segment */ 73 | 74 | /* #define SEGMENT_MASK (SEGSIZ - 1) */ 75 | 76 | /* the following is not needed on NEWS-OS Release 3.2 (4.3BSD compatible) */ 77 | 78 | /* #define sigmask(n) (1 << ((n) - 1)) */ 79 | -------------------------------------------------------------------------------- /src/m-tahoe.h: -------------------------------------------------------------------------------- 1 | /* m- file for tahoe. 2 | Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* lowest-numbered byte is most significant */ 32 | 33 | #define BIG_ENDIAN 34 | 35 | /* XINT must explicitly sign-extend */ 36 | 37 | #define EXPLICIT_SIGN_EXTEND 38 | 39 | /* Define how to take a char and sign-extend into an int. 40 | On machines where char is signed, this is a no-op. */ 41 | 42 | #define SIGN_EXTEND_CHAR(c) (c) 43 | 44 | /* Say this machine is a tahoe */ 45 | 46 | #ifndef tahoe 47 | #define tahoe 48 | #endif /* not tahoe */ 49 | 50 | /* Use type int rather than a union, to represent Lisp_Object */ 51 | 52 | #define NO_UNION_TYPE 53 | 54 | /* crt0.c should use the vax-bsd style of entry, with no dummy args. */ 55 | 56 | #define CRT0_DUMMIES 57 | 58 | /* crt0.c should define a symbol `start' and do .globl with a dot. */ 59 | 60 | #define DOT_GLOBAL_START 61 | 62 | /* Data type of load average, as read out of kmem. */ 63 | 64 | #define LOAD_AVE_TYPE double 65 | 66 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 67 | 68 | #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0)) 69 | 70 | /* This triggers some stuff to avoid a compiler bug */ 71 | 72 | #define TAHOE_REGISTER_BUG 73 | 74 | /* System provides alloca. */ 75 | 76 | #define HAVE_ALLOCA 77 | 78 | /* Control header files used by loadst.c. 79 | Some users report machines have dkstat.h while others report dk.h, 80 | so it's hard to tell what this should say. */ 81 | 82 | #ifdef BSD 83 | #define DKSTAT_HEADER_FILE 84 | #endif 85 | -------------------------------------------------------------------------------- /src/m-nu.h: -------------------------------------------------------------------------------- 1 | /* m- file for TI Nu machines using system V. 2 | Copyright (C) 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* Define BIG_ENDIAN iff lowest-numbered byte in a word 32 | is the most significant byte. */ 33 | 34 | #define BIG_ENDIAN 35 | 36 | /* XINT must explicitly sign-extend */ 37 | 38 | #define EXPLICIT_SIGN_EXTEND 39 | 40 | /* Define how to take a char and sign-extend into an int. 41 | On machines where char is signed, this is a no-op. */ 42 | 43 | #define SIGN_EXTEND_CHAR(c) (c) 44 | 45 | /* Use type int rather than a union, to represent Lisp_Object */ 46 | 47 | #define NO_UNION_TYPE 48 | 49 | /* Now define a symbol for the cpu type, if your compiler 50 | does not define it automatically: 51 | vax, m68000, ns16000 are the ones defined so far. */ 52 | 53 | #ifndef m68000 54 | #define m68000 55 | #endif 56 | 57 | #ifndef NU 58 | #define NU 59 | #endif 60 | 61 | /* Data type of load average, as read out of kmem. */ 62 | /* These are commented out since it does not really work in uniplus */ 63 | 64 | /* #define LOAD_AVE_TYPE long */ 65 | 66 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 67 | 68 | /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0) */ 69 | 70 | /* Change some things to avoid bugs in compiler */ 71 | 72 | #define SWITCH_ENUM_BUG 1 73 | 74 | /* The NU machine has a compiler that can handle long names. */ 75 | 76 | #undef SHORTNAMES 77 | 78 | /* Specify alignment requirement for start of text and data sections 79 | in the executable file. */ 80 | 81 | #define SECTION_ALIGNMENT pagemask 82 | -------------------------------------------------------------------------------- /src/m-gec63.h: -------------------------------------------------------------------------------- 1 | /* m- file for gec63 2 | Copyright (C) 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* GEC63 is big-endian: lowest numbered byte is most significant. */ 32 | 33 | #define BIG_ENDIAN 34 | 35 | /* Define how to take a char and sign-extend into an int. 36 | On machines where char is signed, this is a no-op. */ 37 | 38 | #define SIGN_EXTEND_CHAR(c) (((c)<<24)>>24) 39 | 40 | /* Say this machine is a 68000 */ 41 | 42 | #define gec63 43 | 44 | /* Use an int to represent Lisp_Object */ 45 | 46 | #define NO_UNION_TYPE 47 | 48 | /* GEC63 has alloca in the PW/ux63 library. */ 49 | #define LIB_STANDARD -lPW -lc 50 | #define HAVE_ALLOCA 51 | 52 | /* Do not define LOAD_AVE_TYPE or LOAD_AVE_CVT 53 | since there is no /dev/kmem */ 54 | 55 | #undef ADDR_CORRECT(x) 56 | #define NO_ARG_ARRAY 57 | 58 | #undef TERMCAP 59 | #define TERMINFO 60 | 61 | /* Define sizes of portions of a Lisp_Object. */ 62 | #define VALBITS 22 63 | #define GCTYPEBITS 5 64 | 65 | #define VALAMASK (((1<> VALBITS) & GCTYPEMASK)) 68 | #define XSETTYPE(a, b) ((a) = ((a) & VALAMASK) + ((int)(b) << VALBITS)) 69 | 70 | #define XPNTR(a) ((a) & VALAMASK) 71 | #define XSETPNTR(a, b) ((a) = ((a) & ~VALAMASK) + ((b) & VALAMASK)) 72 | 73 | #define XSET(var, type, ptr) \ 74 | ((var) = ((int)(type) << VALBITS) + ((int) (ptr) & VALAMASK)) 75 | 76 | /* Move some garbage-collector flag bits to different bit positions. */ 77 | #define ARRAY_MARK_FLAG (1 << 27) 78 | #define DONT_COPY_FLAG (1 << 26) 79 | 80 | #define NO_REMAP 81 | -------------------------------------------------------------------------------- /src/dispextern.h: -------------------------------------------------------------------------------- 1 | /* Interface definitions for display code. 2 | Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* Nonzero means do not assume anything about current 23 | contents of actual terminal screen */ 24 | 25 | extern int screen_garbaged; 26 | 27 | /* Desired terminal cursor position (to show position of point), 28 | origin zero. */ 29 | 30 | extern int cursor_hpos, cursor_vpos; 31 | 32 | /* Nonzero means last display completed 33 | and cursor is really at cursor_hpos, cursor_vpos. 34 | Zero means it was preempted. */ 35 | 36 | extern int display_completed; 37 | 38 | struct matrix 39 | { 40 | /* Height of this matrix. */ 41 | int height; 42 | /* Width of this matrix. */ 43 | int width; 44 | /* Vector of used widths of lines, indexed by vertical position. */ 45 | int *used; 46 | /* Vector of line contents. 47 | m->contents[V][H] is the character at position V, H. 48 | Note that ->contents[...][screen_width] is always 0 49 | and so is ->contents[...][-1]. */ 50 | unsigned char **contents; 51 | /* Long vector from which the line contents are taken. */ 52 | unsigned char *total_contents; 53 | /* Vector indicating, for each line, whether it is highlighted. */ 54 | char *highlight; 55 | /* Vector indicating, for each line, whether its contents mean anything. */ 56 | char *enable; 57 | }; 58 | 59 | /* Current screen contents. */ 60 | extern struct matrix *current_screen; 61 | /* Screen contents to be displayed. */ 62 | extern struct matrix *new_screen; 63 | /* Temporary buffer for screen contents. */ 64 | extern struct matrix *temp_screen; 65 | 66 | /* Get ready to display on screen line VPOS at column HPOS 67 | and return the string where the text of that line is stored. */ 68 | 69 | unsigned char *get_display_line (); 70 | 71 | /* Buffer used by `message' for formatting a message, and by print.c. */ 72 | extern char *message_buf; 73 | -------------------------------------------------------------------------------- /src/m-orion.h: -------------------------------------------------------------------------------- 1 | /* m- file for HLH Orion. 2 | Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | /* The following three symbols give information on 23 | the size of various data types. */ 24 | 25 | #define SHORTBITS 16 /* Number of bits in a short */ 26 | 27 | #define INTBITS 32 /* Number of bits in an int */ 28 | 29 | #define LONGBITS 32 /* Number of bits in a long */ 30 | 31 | /* Define BIG_ENDIAN iff lowest-numbered byte in a word 32 | is the most significant byte. */ 33 | 34 | #undef BIG_ENDIAN 35 | 36 | /* Now define a symbol for the cpu type, if your compiler 37 | does not define it automatically. */ 38 | 39 | #ifndef orion 40 | #define orion 41 | #endif 42 | 43 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a 44 | * group of arguments and treat it as an array of the arguments. */ 45 | 46 | #define NO_ARG_ARRAY 47 | 48 | /* Define WORD_MACHINE if addresses and such have 49 | * to be corrected before they can be used as byte counts. */ 50 | 51 | #define WORD_MACHINE 52 | 53 | /* Define how to take a char and sign-extend into an int. 54 | On machines where char is signed, this is a no-op. */ 55 | 56 | #define SIGN_EXTEND_CHAR(c) ((((int) (c)) << 24) >> 24) 57 | 58 | /* Use type int rather than a union, to represent Lisp_Object */ 59 | /* This is desirable for most machines. */ 60 | 61 | #define NO_UNION_TYPE 62 | 63 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend */ 64 | 65 | #define EXPLICIT_SIGN_EXTEND 66 | 67 | /* Data type of load average, as read out of kmem. */ 68 | 69 | #define LOAD_AVE_TYPE double 70 | 71 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 72 | 73 | #ifndef FSCALE 74 | #define FSCALE 1.0 75 | #endif 76 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 77 | 78 | /* It is necessary to use the portable imitation of alloca, 79 | since a true stack-allocating one is impossible. */ 80 | 81 | #define C_ALLOCA 82 | -------------------------------------------------------------------------------- /src/m-NeXT.h-orig: -------------------------------------------------------------------------------- 1 | /* Configuration file for the NeXT machine. */ 2 | /* Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | /* The following three symbols give information on 28 | the size of various data types. */ 29 | 30 | #define SHORTBITS 16 /* Number of bits in a short */ 31 | 32 | #define INTBITS 32 /* Number of bits in an int */ 33 | 34 | #define LONGBITS 32 /* Number of bits in a long */ 35 | 36 | /* 68000 has lowest-numbered byte as most significant */ 37 | 38 | #define BIG_ENDIAN 39 | 40 | /* Define how to take a char and sign-extend into an int. 41 | On machines where char is signed, this is a no-op. */ 42 | 43 | #define SIGN_EXTEND_CHAR(c) (c) 44 | 45 | /* Say this machine is a 68000 */ 46 | 47 | #ifndef m68000 48 | #define m68000 49 | #endif 50 | 51 | /* Use type int rather than a union, to represent Lisp_Object */ 52 | 53 | #define NO_UNION_TYPE 54 | 55 | /* Sun can't write competent compilers */ 56 | #define COMPILER_REGISTER_BUG 57 | 58 | /* XINT must explicitly sign-extend */ 59 | 60 | #define EXPLICIT_SIGN_EXTEND 61 | 62 | /* Data type of load average, as read out of kmem. */ 63 | 64 | #define LOAD_AVE_TYPE long 65 | 66 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 67 | 68 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 69 | 70 | /* Say that the text segment of a.out includes the header; 71 | the header actually occupies the first few bytes of the text segment 72 | and is counted in hdr.a_text. */ 73 | 74 | #define A_TEXT_OFFSET(HDR) sizeof (HDR) 75 | 76 | /* #define _setjmp setjmp */ 77 | /* #define _longjmp longjmp */ 78 | 79 | /* Use dk.h, not dkstat.h, in loadst.c. */ 80 | 81 | #define DK_HEADER_FILE 82 | /* Mask for address bits within a memory segment */ 83 | 84 | #define SEGSIZ 0x20000 85 | #define SEGMENT_MASK (SEGSIZ - 1) 86 | 87 | #define HAVE_ALLOCA 88 | 89 | #define SYSTEM_MALLOC 90 | 91 | #define HAVE_UNIX_DOMAIN 92 | -------------------------------------------------------------------------------- /etc/sex.6: -------------------------------------------------------------------------------- 1 | SEX(6) EUNUCH Programmer's Manual SEX(6) 2 | 3 | 4 | 5 | NAME 6 | sex - have sex 7 | 8 | SYNOPSIS 9 | sex [ options ] ... [ username ] ... 10 | 11 | DESCRIPTION 12 | _s_e_x allows the invoker to have sex with the user(s) speci- 13 | fied in the command line. If no users are specified, they 14 | are taken from the LOVERS environment variable. Options to 15 | make things more interesting are as follows: 16 | 17 | -1 masturbate 18 | 19 | -a external stimulus (aphrodisiac) option 20 | 21 | -b buggery 22 | 23 | -B 24 | bestiality with 25 | 26 | -c chocolate sauce option 27 | 28 | -C chaining option (cuffs included) (see also -m -s -W) 29 | 30 | -d 31 | get a date with the features described in 32 | 33 | -e exhibitionism (image sent to all machines on the net) 34 | 35 | -f foreplay option 36 | 37 | -F nasal sex with plants 38 | 39 | -i coitus interruptus (messy!) 40 | 41 | -j jacuzzi option (California sites only) 42 | 43 | -l leather option 44 | 45 | -m masochism (see -s) 46 | 47 | -M triple parallel (Menage a Trois) option 48 | 49 | -n necrophilia (if target process is not dead, program 50 | kills it) 51 | 52 | -o oral option 53 | 54 | -O parallel access (orgy) 55 | 56 | -p debug option (proposition only) 57 | 58 | -P pedophilia (must specify a child process) 59 | 60 | 61 | 62 | Printed 2/15/87 2/15/87 1 63 | 64 | 65 | 66 | 67 | 68 | 69 | SEX(6) EUNUCH Programmer's Manual SEX(6) 70 | 71 | 72 | 73 | -q quickie (wham, bam, thank you, ma'am) 74 | 75 | -s sadism (target must set -m) 76 | 77 | -S sundae option 78 | 79 | -v voyeurism (surveys the entire net) 80 | 81 | -w whipped cream option 82 | 83 | -W whips (see also -s, -C, and -m) 84 | 85 | ENVIRONMENT 86 | LOVERS 87 | is a list of default partners which will be used if 88 | none are specified in the command line. If any are 89 | specified, the values in LOVERS is ignored. 90 | 91 | FILES 92 | /usr/lib/sex/animals animals for bestiality 93 | 94 | /usr/lib/sex/blackbook possible dates 95 | 96 | /usr/lib/sex/sundaes sundae recipes 97 | 98 | /usr/lib/sex/s&m sado-masochistic equipment 99 | 100 | 101 | 102 | BUGS 103 | ^C (quit process) may leave the user very unsatisfied. 104 | 105 | ^Z (stop process) is usually quite messy. 106 | 107 | MAN AUTHOR 108 | Author prefers to be anonymous. 109 | 110 | HISTORY 111 | Oldest program ever. 112 | -------------------------------------------------------------------------------- /lisp/sun-keys.el: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; Support (cleanly) for Sun function keys. Provides help facilities, 3 | ;;; better diagnostics, etc. 4 | ;;; 5 | ;;; To use: make sure your .ttyswrc binds 'F1' to * F1 and so on. 6 | ;;; load this lot from your start_up 7 | ;;; 8 | ;;; 9 | ;;; Copyright (C) 1986 Free Software Foundation, Inc. 10 | ;;; 11 | ;;; This file is part of GNU Emacs. 12 | ;;; 13 | ;;; GNU Emacs is distributed in the hope that it will be useful, 14 | ;;; but without any warranty. No author or distributor 15 | ;;; accepts responsibility to anyone for the consequences of using it 16 | ;;; or for whether it serves any particular purpose or works at all, 17 | ;;; unless he says so in writing. 18 | ;;; 19 | ;;; Everyone is granted permission to copy, modify and redistribute 20 | ;;; GNU Emacs, but only under the conditions described in the 21 | ;;; document "GNU Emacs copying permission notice". An exact copy 22 | ;;; of the document is supposed to have been given to you along with 23 | ;;; GNU Emacs so that you can know how you may redistribute it all. 24 | ;;; It should be in a file named COPYING. Among other things, the 25 | ;;; copyright notice and this notice must be preserved on all copies. 26 | ;;; 27 | ;;; Batten@uk.ac.bham.multics (Ian G. Batten) 28 | ;;; 29 | 30 | (defun sun-function-keys-dispatch (arg) 31 | "Dispatcher for function keys." 32 | (interactive "p") 33 | (let* ((key-stroke (read t)) 34 | (command (assq key-stroke sun-function-keys-command-list))) 35 | (cond (command (funcall (cdr command) arg)) 36 | (t (error "Unbound function key %s" key-stroke))))) 37 | 38 | (defvar sun-function-keys-command-list 39 | '((F1 . sun-function-keys-describe-bindings) 40 | (R8 . previous-line) ; arrow keys 41 | (R10 . backward-char) 42 | (R12 . forward-char) 43 | (R14 . next-line))) 44 | 45 | (defun sun-function-keys-bind-key (arg1 arg2) 46 | "Bind a specified key." 47 | (interactive "xFunction Key Cap Label: 48 | CCommand To Use:") 49 | (setq sun-function-keys-command-list 50 | (cons (cons arg1 arg2) sun-function-keys-command-list))) 51 | 52 | (defun sun-function-keys-describe-bindings (arg) 53 | "Describe the function key bindings we're running" 54 | (interactive) 55 | (with-output-to-temp-buffer "*Help*" 56 | (sun-function-keys-write-bindings 57 | (sort (copy-sequence sun-function-keys-command-list) 58 | '(lambda (x y) (string-lessp (car x) (car y))))))) 59 | 60 | (defun sun-function-keys-write-bindings (list) 61 | (cond ((null list) 62 | t) 63 | (t 64 | (princ (format "%s: %s\n" 65 | (car (car list)) 66 | (cdr (car list)))) 67 | (sun-function-keys-write-bindings (cdr list))))) 68 | 69 | (global-set-key "\e*" 'sun-function-keys-dispatch) 70 | 71 | (make-variable-buffer-local 'sun-function-keys-command-list) 72 | -------------------------------------------------------------------------------- /info/gdb: -------------------------------------------------------------------------------- 1 | Info file gdb, produced by texinfo-format-buffer -*-Text-*- 2 | from file gdb.texinfo 3 | 4 | This file documents the GNU debugger GDB. 5 | 6 | Copyright (C) 1988 Free Software Foundation, Inc. 7 | 8 | Permission is granted to make and distribute verbatim copies of 9 | this manual provided the copyright notice and this permission notice 10 | are preserved on all copies. 11 | 12 | Permission is granted to copy and distribute modified versions of this 13 | manual under the conditions for verbatim copying, provided also that the 14 | sections entitled "Distribution" and "GDB General Public License" are 15 | included exactly as in the original, and provided that the entire resulting 16 | derived work is distributed under the terms of a permission notice 17 | identical to this one. 18 | 19 | Permission is granted to copy and distribute translations of this manual 20 | into another language, under the above conditions for modified versions, 21 | except that the sections entitled "Distribution" and "GDB General Public 22 | License" may be included in a translation approved by the author instead 23 | of in the original English. 24 | 25 | 26 |  27 | Indirect: 28 | gdb-1: 1046 29 | gdb-2: 51753 30 | gdb-3: 102253 31 |  32 | Tag table: 33 | (Indirect) 34 | Node: Top1048 35 | Node: License2804 36 | Node: Input10543 37 | Node: Files12494 38 | Node: File Arguments12950 39 | Node: File Commands13653 40 | Node: Options16053 41 | Node: Mode Options16522 42 | Node: File Options17775 43 | Node: Other Arguments18592 44 | Node: Compilation18959 45 | Node: Running20717 46 | Node: Arguments22462 47 | Node: Environment23198 48 | Node: Working Directory24906 49 | Node: Input/Output25586 50 | Node: Attach26957 51 | Node: Stopping28383 52 | Node: Signals29146 53 | Node: Breakpoints32592 54 | Node: Set Breaks34294 55 | Node: Clear Breaks36679 56 | Node: Disabling38135 57 | Node: Conditions40574 58 | Node: Break Commands43777 59 | Node: Error in Breakpoints47230 60 | Node: Continuing47909 61 | Node: Stepping49386 62 | Node: Stack51755 63 | Node: Frames53153 64 | Node: Backtrace55038 65 | Node: Selection55999 66 | Node: Frame Info57959 67 | Node: Source59548 68 | Node: List60217 69 | Node: Search63974 70 | Node: Source Path64640 71 | Node: Data66639 72 | Node: Expressions67870 73 | Node: Variables69118 74 | Node: Arrays69913 75 | Node: Formats71164 76 | Node: Memory72793 77 | Node: Auto Display77550 78 | Node: Value History79163 79 | Node: Convenience Vars80834 80 | Node: Registers83015 81 | Node: Symbols85918 82 | Node: Altering88551 83 | Node: Assignment88968 84 | Node: Jumping90146 85 | Node: Signaling91441 86 | Node: Returning91934 87 | Node: Sequences92839 88 | Node: Define93288 89 | Node: Command Files94952 90 | Node: Output96137 91 | Node: Emacs98046 92 | Node: Remote100789 93 | Node: Remote Commands101451 94 | Node: Commands102255 95 | Node: Concepts104110 96 |  97 | End tag table 98 | -------------------------------------------------------------------------------- /src/m-NeXT.h: -------------------------------------------------------------------------------- 1 | /* Configuration file for the NeXT machine. */ 2 | /* Copyright (C) 1985, 1986 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | /* The following three symbols give information on 28 | the size of various data types. */ 29 | 30 | #define SHORTBITS 16 /* Number of bits in a short */ 31 | 32 | #define INTBITS 32 /* Number of bits in an int */ 33 | 34 | #define LONGBITS 32 /* Number of bits in a long */ 35 | 36 | /* 68000 has lowest-numbered byte as most significant */ 37 | 38 | #define BIG_ENDIAN 39 | 40 | /* Define how to take a char and sign-extend into an int. 41 | On machines where char is signed, this is a no-op. */ 42 | 43 | #define SIGN_EXTEND_CHAR(c) (c) 44 | 45 | /* Say this machine is a 68000 */ 46 | 47 | #ifndef m68000 48 | #define m68000 49 | #endif 50 | 51 | /* Use type int rather than a union, to represent Lisp_Object */ 52 | 53 | #define NO_UNION_TYPE 54 | 55 | /* XINT must explicitly sign-extend */ 56 | 57 | #define EXPLICIT_SIGN_EXTEND 58 | 59 | #define LIB_STANDARD -lsys_s 60 | 61 | /* Data type of load average, as read out of kmem. */ 62 | 63 | #define LOAD_AVE_TYPE long 64 | 65 | /* Convert that into an integer that is 100 for a load average of 1.0 */ 66 | 67 | #define environ _environ 68 | 69 | #define NO_REMAP 70 | #define UNEXEC unexNeXT.o 71 | 72 | #ifndef FSCALE 73 | #define FSCALE 256 74 | #endif 75 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 76 | 77 | /* Say that the text segment of a.out includes the header; 78 | the header actually occupies the first few bytes of the text segment 79 | and is counted in hdr.a_text. */ 80 | 81 | #define A_TEXT_OFFSET(HDR) sizeof (HDR) 82 | 83 | /* #define _setjmp setjmp */ 84 | /* #define _longjmp longjmp */ 85 | 86 | /* Use dk.h, not dkstat.h, in loadst.c. */ 87 | 88 | #define DK_HEADER_FILE 89 | /* Mask for address bits within a memory segment */ 90 | 91 | #define SEGSIZ 0x20000 92 | #define SEGMENT_MASK (SEGSIZ - 1) 93 | 94 | #define HAVE_ALLOCA 95 | 96 | #define SYSTEM_MALLOC 97 | 98 | #define HAVE_UNIX_DOMAIN 99 | -------------------------------------------------------------------------------- /src/undo.h: -------------------------------------------------------------------------------- 1 | /* Definitions of objects used by the GNU Emacs undo facility. 2 | Copyright (C) 1985 Free Software Foundation, Inc. 3 | 4 | This file is part of GNU Emacs. 5 | 6 | GNU Emacs is distributed in the hope that it will be useful, 7 | but WITHOUT ANY WARRANTY. No author or distributor 8 | accepts responsibility to anyone for the consequences of using it 9 | or for whether it serves any particular purpose or works at all, 10 | unless he says so in writing. Refer to the GNU Emacs General Public 11 | License for full details. 12 | 13 | Everyone is granted permission to copy, modify and redistribute 14 | GNU Emacs, but only under the conditions described in the 15 | GNU Emacs General Public License. A copy of this license is 16 | supposed to have been given to you along with GNU Emacs so you 17 | can know your rights and responsibilities. It should be in a 18 | file named COPYING. Among other things, the copyright notice 19 | and this notice must be preserved on all copies. */ 20 | 21 | 22 | enum Ukinds { /* The events that can exist in the undo 23 | queue. */ 24 | Uboundary, /* A boundary between sets of undoable things 25 | */ 26 | Unundoable, /* What's done is done -- some things can't 27 | be undone */ 28 | Udelete, /* Delete characters to perform the undo */ 29 | Uinsert, /* Insert .... */ 30 | Uchange, /* Replace characters */ 31 | Uunmod, /* Clear modification-flag to perform undo */ 32 | }; 33 | 34 | struct UndoRec { /* A record of a single undo action */ 35 | enum Ukinds kind; /* the kind of action to be undone */ 36 | int pos; /* Where change starts or ends. */ 37 | int len; /* Number of characters to insert, delete or 38 | replace. Negative means they stretch 39 | back from `pos'. */ 40 | }; 41 | 42 | /* Note: in a record of type Uunmod, the `len' field is really 43 | the buffer->modtime associated with the state at that time. 44 | The buffer is marked as unmodified by undoing the Uunmod 45 | only if the modtime field matches. */ 46 | 47 | /* The undo history consists of two circular queues, one of characters and 48 | one of UndoRecs. When Uinsert recs are added to UndoRQ characters get 49 | added to UndoCQ. The position of the characters can be reconstructed by 50 | subtracting len from the fill pointer. */ 51 | 52 | #define NUndoR (((1 << 13) - 4) / sizeof (struct UndoRec)) 53 | #define NUndoC ((1 << 13) - 4) 54 | 55 | /* Initially allocate them these sizes; 56 | if these sizes get filled up, make them full size */ 57 | 58 | #define InitNUndoR 8 59 | #define InitNUndoC (512 - 4) 60 | 61 | struct UndoData 62 | { 63 | struct UndoRec *undorecs; /* The undo records, NUndoR of them */ 64 | char *undochars; /* And the characters associated, NUndoC in all */ 65 | int nextrec; /* Indices for storing in above two */ 66 | int nextchar; 67 | int num_undorecs; /* Sizes allocated */ 68 | int num_undochars; 69 | }; 70 | 71 | --------------------------------------------------------------------------------