mtr@mace.cc.purdue.edu (Miek Rowan) (11/14/88)
Here are some fixes that are mostly for Sequent's dynix. They are top level fixes in that they let you compile the libraries and clients, and some minimal testing. I can make xmh dump core - that is the only problem I have found so far. More as I get to it. These patches make no attempt at ./contrib. I didn't make parallel Makefiles - I'll post that diff soon. I also didn't include ./util/imake.includes/Sequent.macros - just copy Guess.macros and change it to your preferences. Changes: ./clients/xterm/main.c - uses getpseudotty() for sequents ./server/include/fontdir.h - fix for fonts - "private" is a reserved word under dynix (opposite of "shared") ./fonts/mkfontdir/fontdir.c - same as above ./clients/xdm/Login.h - semicolon at the end of a struct member - this was allowed in old c, no more although most compilers take this ./clients/xdm/buf.[ch] - private is a reserved work under dynix ./util/imake.includes/Imake.tmpl- knows about sequents ./lib/Xaw/TextTr.c - for token sizes on the Sequent cc this will still barf on a ANSI c compiler (oh well :-) *** /tmp/,RCSt1005636 Sun Nov 13 10:29:02 1988 --- ./clients/xterm/main.c Sun Nov 13 10:19:26 1988 *************** *** 946,951 **** --- 946,962 ---- /* got one! */ return(0); #else /* not (mips && SYSTYPE_SYSV) */ + #if defined(sequent) + char *pchSlave, + *pchMaster; + + if(-1 == (*pty = getpseudotty(&pchSlave, &pchMaster))) { + return 1; + } + strcpy(ttydev, pchSlave); + strcpy(ptydev, pchMaster); + return 0; + #else /* not sequent */ while (PTYCHAR1[letter]) { ttydev [strlen(ttydev) - 2] = ptydev [strlen(ptydev) - 2] = PTYCHAR1 [letter]; *************** *** 969,974 **** --- 980,986 ---- * condition and let our caller terminate cleanly. */ return(1); + #endif /* sequent */ #endif /* mips && SYSTYPE_SYSV */ } *** /tmp/,RCSt1006043 Sun Nov 13 10:50:28 1988 --- ./server/include/fontdir.h Fri Nov 11 16:30:20 1988 *************** *** 38,44 **** --- 38,48 ---- typedef struct _FontFile { char *name; + #if defined(sequent) + Opaque fonttable_private; + #else /* not sequent */ Opaque private; + #endif /* sequent */ Boolean alias; } FontFileRec, *FontFile; #define NullFontFile ((FontFile) NULL) *** /tmp/,RCSt1006128 Sun Nov 13 10:53:00 1988 --- ./fonts/mkfontdir/fontdir.c Fri Nov 11 16:06:24 1988 *************** *** 60,66 **** --- 60,70 ---- table->file.used++; table->file.ff[idx].name = MakeCopy(name); /* Warning: file names cannot be case smashed */ + #ifdef sequent + table->file.ff[idx].fonttable_private = NULL; + #else /* not sequent */ table->file.ff[idx].private = NULL; + #endif table->file.ff[idx].alias = isAlias; return idx; } *** /tmp/,RCSt1006158 Sun Nov 13 10:55:16 1988 --- ./clients/xdm/Login.h Fri Nov 11 18:28:03 1988 *************** *** 73,79 **** #define NAME_LEN 32 typedef struct _LoginData { ! char name[NAME_LEN], passwd[NAME_LEN] } LoginData; # define NOTIFY_OK 0 --- 73,79 ---- #define NAME_LEN 32 typedef struct _LoginData { ! char name[NAME_LEN], passwd[NAME_LEN] ; } LoginData; # define NOTIFY_OK 0 *** /tmp/,RCSt1006172 Sun Nov 13 10:55:59 1988 --- ./clients/xdm/buf.c Fri Nov 11 18:12:32 1988 *************** *** 41,47 **** --- 41,51 ---- b->bufp = 0; b->fill = 0; b->size = len; + #if defined(sequent) + b->buffer_private = -1; + #else /* not sequent */ b->private = -1; + #endif /* sequent */ return b; } *************** *** 48,54 **** --- 52,62 ---- fileFill (b) struct buffer *b; { + #if defined(sequent) + b->cnt = read (b->buffer_private, b->buf, b->size); + #else /* not sequent */ b->cnt = read (b->private, b->buf, b->size); + #endif /* sequent */ b->bufp = 0; if (b->cnt <= 0) { b->cnt = 0; *************** *** 72,78 **** --- 80,90 ---- if (!b->buf) LogPanic ("out of memory\n"); b->cnt = b->bufp = 0; + #if defined(sequent) + b->buffer_private = fd; + #else /* not sequent */ b->private = fd; + #endif /* sequent */ b->fill = fileFill; return b; } *************** *** 80,86 **** --- 92,102 ---- bufClose (b) struct buffer *b; { + #if defined(sequent) + if (b->buffer_private != -1) + #else /* not sequent */ if (b->private != -1) + #endif /* sequent */ free (b->buf); free ((char *) b); } *** /tmp/,RCSt1006177 Sun Nov 13 10:56:13 1988 --- ./clients/xdm/buf.h Fri Nov 11 18:08:51 1988 *************** *** 29,35 **** --- 29,39 ---- int bufp; int size; int (*fill)(); + #if defined(sequent) + int buffer_private; + #else /* not sequent */ int private; + #endif /* sequent */ }; extern struct buffer *fileOpen (), *dataOpen (); *** /tmp/,RCSt1006237 Sun Nov 13 11:00:29 1988 --- ./util/imake.includes/Imake.tmpl Fri Nov 11 14:03:44 1988 *************** *** 104,109 **** --- 104,116 ---- #define MipsArchitecture #endif /* mips */ + #ifdef sequent + #define MacroIncludeFile "Sequent.macros" + #define MacroFile Sequent.macros + #undef sequent + #define SequentArchitecture + #endif /* sequent */ + #ifndef MacroIncludeFile /**/# WARNING: Imake.tmpl not configured; guessing at definitions!!! /**/# This might mean that BOOTSTRAPCFLAGS wasn't set when building imake. *** /tmp/,RCSt1006260 Sun Nov 13 11:02:56 1988 --- ./lib/Xaw/TextTr.c Fri Nov 11 14:48:37 1988 *************** *** 2,59 **** char defaultTextTranslations[] = "\ ! Ctrl<Key>F: forward-character() \n\ ! Ctrl<Key>B: backward-character() \n\ ! Ctrl<Key>D: delete-next-character() \n\ ! Ctrl<Key>A: beginning-of-line() \n\ ! Ctrl<Key>E: end-of-line() \n\ ! Ctrl<Key>H: delete-previous-character() \n\ ! Ctrl<Key>J: newline-and-indent() \n\ ! Ctrl<Key>K: kill-to-end-of-line() \n\ ! Ctrl<Key>L: redraw-display() \n\ ! Ctrl<Key>M: newline() \n\ ! Ctrl<Key>N: next-line() \n\ ! Ctrl<Key>O: newline-and-backup() \n\ ! Ctrl<Key>P: previous-line() \n\ ! Ctrl<Key>V: next-page() \n\ ! Ctrl<Key>W: kill-selection() \n\ ! Ctrl<Key>Y: unkill() \n\ ! Ctrl<Key>Z: scroll-one-line-up() \n\ ! Meta<Key>F: forward-word() \n\ ! Meta<Key>B: backward-word() \n\ ! Meta<Key>I: insert-file() \n\ ! Meta<Key>K: kill-to-end-of-paragraph() \n\ ! Meta<Key>V: previous-page() \n\ ! Meta<Key>Y: stuff() \n\ ! Meta<Key>Z: scroll-one-line-down() \n\ ! :Meta<Key>d: delete-next-word() \n\ ! :Meta<Key>D: kill-word() \n\ ! :Meta<Key>h: delete-previous-word() \n\ ! :Meta<Key>H: backward-kill-word() \n\ ! :Meta<Key>\\<: beginning-of-file() \n\ ! :Meta<Key>\\>: end-of-file() \n\ ! :Meta<Key>]: forward-paragraph() \n\ ! :Meta<Key>[: backward-paragraph() \n\ ! ~Shift Meta<Key>Delete: delete-previous-word() \n\ ! Shift Meta<Key>Delete: backward-kill-word() \n\ ! ~Shift Meta<Key>Backspace: delete-previous-word() \n\ ! Shift Meta<Key>Backspace: backward-kill-word() \n\ ! <Key>Right: forward-character() \n\ ! <Key>Left: backward-character() \n\ ! <Key>Down: next-line() \n\ ! <Key>Up: previous-line() \n\ ! <Key>Delete: delete-previous-character() \n\ ! <Key>BackSpace: delete-previous-character() \n\ ! <Key>Linefeed: newline-and-indent() \n\ ! <Key>Return: newline() \n\ ! <Key>: insert-char() \n\ ! <FocusIn>: focus-in() \n\ ! <FocusOut>: focus-out() \n\ ! <Btn1Down>: select-start() \n\ ! <Btn1Motion>: extend-adjust() \n\ ! <Btn1Up>: extend-end(PRIMARY, CUT_BUFFER0) \n\ ! <Btn2Down>: insert-selection(PRIMARY, CUT_BUFFER0) \n\ ! <Btn3Down>: extend-start() \n\ ! <Btn3Motion>: extend-adjust() \n\ <Btn3Up>: extend-end(PRIMARY, CUT_BUFFER0) \ "; --- 2,59 ---- char defaultTextTranslations[] = "\ ! Ctrl<Key>F: forward-character()\n\ ! Ctrl<Key>B: backward-character()\n\ ! Ctrl<Key>D: delete-next-character()\n\ ! Ctrl<Key>A: beginning-of-line()\n\ ! Ctrl<Key>E: end-of-line()\n\ ! Ctrl<Key>H: delete-previous-character()\n\ ! Ctrl<Key>J: newline-and-indent()\n\ ! Ctrl<Key>K: kill-to-end-of-line()\n\ ! Ctrl<Key>L: redraw-display()\n\ ! Ctrl<Key>M: newline()\n\ ! Ctrl<Key>N: next-line()\n\ ! Ctrl<Key>O: newline-and-backup()\n\ ! Ctrl<Key>P: previous-line()\n\ ! Ctrl<Key>V: next-page()\n\ ! Ctrl<Key>W: kill-selection()\n\ ! Ctrl<Key>Y: unkill()\n\ ! Ctrl<Key>Z: scroll-one-line-up()\n\ ! Meta<Key>F: forward-word()\n\ ! Meta<Key>B: backward-word()\n\ ! Meta<Key>I: insert-file()\n\ ! Meta<Key>K: kill-to-end-of-paragraph()\n\ ! Meta<Key>V: previous-page()\n\ ! Meta<Key>Y: stuff()\n\ ! Meta<Key>Z: scroll-one-line-down()\n\ ! :Meta<Key>d: delete-next-word()\n\ ! :Meta<Key>D: kill-word()\n\ ! :Meta<Key>h: delete-previous-word()\n\ ! :Meta<Key>H: backward-kill-word()\n\ ! :Meta<Key>\\<: beginning-of-file()\n\ ! :Meta<Key>\\>: end-of-file()\n\ ! :Meta<Key>]: forward-paragraph()\n\ ! :Meta<Key>[: backward-paragraph()\n\ ! ~Shift Meta<Key>Delete: delete-previous-word()\n\ ! Shift Meta<Key>Delete: backward-kill-word()\n\ ! ~Shift Meta<Key>Backspace: delete-previous-word()\n\ ! Shift Meta<Key>Backspace: backward-kill-word()\n\ ! <Key>Right: forward-character()\n\ ! <Key>Left: backward-character()\n\ ! <Key>Down: next-line()\n\ ! <Key>Up: previous-line()\n\ ! <Key>Delete: delete-previous-character()\n\ ! <Key>BackSpace: delete-previous-character()\n\ ! <Key>Linefeed: newline-and-indent()\n\ ! <Key>Return: newline()\n\ ! <Key>: insert-char()\n\ ! <FocusIn>: focus-in()\n\ ! <FocusOut>: focus-out()\n\ ! <Btn1Down>: select-start()\n\ ! <Btn1Motion>: extend-adjust()\n\ ! <Btn1Up>: extend-end(PRIMARY, CUT_BUFFER0)\n\ ! <Btn2Down>: insert-selection(PRIMARY, CUT_BUFFER0)\n\ ! <Btn3Down>: extend-start()\n\ ! <Btn3Motion>: extend-adjust()\n\ <Btn3Up>: extend-end(PRIMARY, CUT_BUFFER0) \ ";
mtr@mace.cc.purdue.edu (Miek Rowan) (11/14/88)
I forgot to mention that these patches are against the virgin X11R3 distribution plus the first official set of patches from the Consortium. I also put the patches on expo. (./contrib/Sequent.patches.Z) mtr