Commit ec558adc authored by Jim Blandy's avatar Jim Blandy
Browse files

entered into RCS

parent b7cceaf1
......@@ -115,10 +115,14 @@ These supercede the values given in default-frame-alist.")
(defun frame-notice-user-settings ()
(if frame-initial-frame
(progn
;; If the user wants a minibuffer-only frame, we'll have to
;; make a new one; you can't remove or add a root window to/from
;; an existing frame.
;; NOTE: default-frame-alist was nil when we created the
;; existing frame. We need to explicitly include
;; default-frame-alist in the parameters of the screen we
;; create here, so that its new value, gleaned from the user's
;; .emacs file, will be applied to the existing screen.
(if (eq (cdr (or (assq 'minibuffer initial-frame-alist)
'(minibuffer . t)))
'only)
......@@ -126,10 +130,18 @@ These supercede the values given in default-frame-alist.")
(setq default-minibuffer-frame
(new-frame
(append initial-frame-alist
default-frame-alist
(frame-parameters frame-initial-frame))))
;; Redirect events enqueued at this frame to the new frame.
;; Is this a good idea?
(redirect-frame-focus frame-initial-frame
default-minibuffer-frame)
(delete-frame frame-initial-frame))
(modify-frame-parameters frame-initial-frame
initial-frame-alist))))
(append initial-frame-alist
default-frame-alist)))))
;; Make sure the initial frame can be GC'd if it is ever deleted.
(makunbound 'frame-initial-frame))
......
......@@ -119,11 +119,9 @@
(setq name (concat (expand-file-name "../etc/DOC-") name))
(if (file-exists-p name)
(delete-file name))
(copy-file (expand-file-name "../etc/DOC")
name
t)
(copy-file (expand-file-name "../etc/DOC") name t)
(Snarf-documentation (file-name-nondirectory name)))
(Snarf-documentation "DOC"))
(Snarf-documentation "DOC"))
(message "Finding pointers to doc strings...done")
;Note: You can cause additional libraries to be preloaded
......
......@@ -40,13 +40,13 @@
(defun mouse-delete-window (click)
"Delete the window clicked on.
This must be bound to a mouse click."
(interactive "K")
(interactive "e")
(delete-window (event-window click)))
(defun mouse-delete-other-windows (click)
"Select Emacs window clicked on, then kill all other Emacs windows.
This must be bound to a mouse click."
(interactive "K")
(interactive "e")
(select-window (event-window click))
(delete-other-windows))
......@@ -54,14 +54,14 @@ This must be bound to a mouse click."
"Select Emacs window mouse is on, then split it vertically in half.
The window is split at the line clicked on.
This command must be bound to a mouse click."
(interactive "K")
(interactive "e")
(select-window (event-window click))
(split-window-vertically (1+ (cdr (mouse-coords click)))))
(defun mouse-set-point (click)
"Move point to the position clicked on with the mouse.
This must be bound to a mouse click."
(interactive "K")
(interactive "e")
(select-window (event-window click))
(if (numberp (event-point click))
(goto-char (event-point click))))
......@@ -70,7 +70,7 @@ This must be bound to a mouse click."
"Set mark at the position clicked on with the mouse.
Display cursor at that position for a second.
This must be bound to a mouse click."
(interactive "K")
(interactive "e")
(let ((point-save (point)))
(unwind-protect
(progn (mouse-set-point click)
......@@ -81,7 +81,7 @@ This must be bound to a mouse click."
(defun mouse-kill (click)
"Kill the region between point and the mouse click.
The text is saved in the kill ring, as with \\[kill-region]."
(interactive "K")
(interactive "e")
(let ((click-posn (event-point click)))
(if (numberp click-posn)
(kill-region (min (point) click-posn)
......@@ -90,20 +90,20 @@ The text is saved in the kill ring, as with \\[kill-region]."
(defun mouse-yank-at-click (click arg)
"Insert the last stretch of killed text at the position clicked on.
Prefix arguments are interpreted as with \\[yank]."
(interactive "K\nP")
(interactive "e\nP")
(mouse-set-point click)
(yank arg))
(defun mouse-kill-ring-save (click)
"Copy the region between point and the mouse click in the kill ring.
This does not delete the region; it acts like \\[kill-ring-save]."
(interactive "K")
(interactive "e")
(mouse-set-mark click)
(call-interactively 'kill-ring-save))
(defun mouse-buffer-menu (event)
"Pop up a menu of buffers for selection with the mouse."
(interactive "K")
(interactive "e")
(let ((menu
(list "Buffer Menu"
(cons "Select Buffer"
......
......@@ -8,6 +8,10 @@ Print the emacs s-expression which is $.
Works only when an inferior emacs is executing.
end
# Set this to the same thing as the DATA_SEG_BITS macro in your
# machine-description files.
set $data_seg_bits = 0
define xtype
output (enum Lisp_Type) (($ >> 24) & 0x7f)
echo \n
......@@ -24,14 +28,14 @@ Print $, assuming it is an Elisp integer. This gets the sign right.
end
define xptr
print (void *) ($ & 0x00ffffff)
print (void *) (($ & 0x00ffffff) | $data_seg_bits)
end
document xptr
Print the pointer portion of $, assuming it is an Elisp value.
end
define xwindow
print (struct window *) ($ & 0x00ffffff)
print (struct window *) (($ & 0x00ffffff) | $data_seg_bits)
printf "%dx%d+%d+%d\n", $->width, $->height, $->left, $->top
end
document xwindow
......@@ -40,15 +44,15 @@ Print the window's position as "WIDTHxHEIGHT+LEFT+TOP".
end
define xmarker
print (struct Lisp_Marker *) ($ & 0x00ffffff)
print (struct Lisp_Marker *) (($ & 0x00ffffff) | $data_seg_bits)
end
document xmarker
Print $ as a marker pointer, assuming it is an Elisp marker value.
end
define xbuffer
print (struct buffer *) ($ & 0x00ffffff)
output &((struct Lisp_String *) (($->name) & 0x00ffffff))->data
print (struct buffer *) (($ & 0x00ffffff) | $data_seg_bits)
output &((struct Lisp_String *) ((($->name) & 0x00ffffff) | $data_seg_bits))->data
echo \n
end
document xbuffer
......@@ -57,7 +61,7 @@ Print the name of the buffer.
end
define xsymbol
print (struct Lisp_Symbol *) ($ & 0x00ffffff)
print (struct Lisp_Symbol *) (($ & 0x00ffffff) | $data_seg_bits)
output &$->name->data
echo \n
end
......@@ -67,7 +71,7 @@ This command assumes that $ is an Elisp symbol value.
end
define xstring
print (struct Lisp_String *) ($ & 0x00ffffff)
print (struct Lisp_String *) (($ & 0x00ffffff) | $data_seg_bits)
output ($->size > 10000) ? "big string" : ($->data[0])@($->size)
echo \n
end
......@@ -77,7 +81,7 @@ This command assumes that $ is an Elisp string value.
end
define xvector
print (struct Lisp_Vector *) ($ & 0x00ffffff)
print (struct Lisp_Vector *) (($ & 0x00ffffff) | $data_seg_bits)
output ($->size > 1000) ? "big vector" : ($->contents[0])@($->size)
echo \n
end
......@@ -86,15 +90,15 @@ Print the contents and address of the vector $.
This command assumes that $ is an Elisp vector value.
end
define xscreen
print (struct screen *) ($ & 0x00ffffff)
define xframe
print (struct frame *) (($ & 0x00ffffff) | $data_seg_bits)
end
document xwindow
Print $ as a screen pointer, assuming it is an Elisp screen value.
document xframe
Print $ as a frame pointer, assuming it is an Elisp frame value.
end
define xcons
print (struct Lisp_Cons *) ($ & 0x00ffffff)
print (struct Lisp_Cons *) (($ & 0x00ffffff) | $data_seg_bits)
output *$
echo \n
end
......@@ -103,19 +107,28 @@ Print the contents of $, assuming it is an Elisp cons.
end
define xcar
print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->car : 0)
print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) (($ & 0x00ffffff) | $data_seg_bits))->car : 0)
end
document xcar
Print the car of $, assuming it is an Elisp pair.
end
define xcdr
print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) ($ & 0x00ffffff))->cdr : 0)
print ((($ >> 24) & 0x7f) == Lisp_Cons ? ((struct Lisp_Cons *) (($ & 0x00ffffff) | $data_seg_bits))->cdr : 0)
end
document xcdr
Print the cdr of $, assuming it is an Elisp pair.
end
define xsubr
print (struct Lisp_Subr *) (($ & 0x00ffffff) | $data_seg_bits)
output *$
echo \n
end
document xsubr
Print the address of the subr which the Lisp_Object $ points to.
end
set print pretty on
unset environment TERMCAP
......
# DIST: This is the distribution Makefile for Emacs. configure can
# DIST: make most of the changes to this file you might want, so try
# DIST: that first.
MAKE = make
# BSD doesn't have it as a default.
......@@ -16,7 +20,7 @@ doall:
#This is used in making a distribution.
#Do not use it on development directories!
distclean:
-rm -f paths.h config.h machine.h system.h emacs-* temacs xemacs xmakefile core *~ \#* *.o
-rm -f paths.h config.h machine.h system.h emacs-* temacs xemacs xmakefile core *~ m/*~ s/*~ \#* *.o
clean:
-rm -f temacs xemacs xmakefile* core \#* *.o
......
#ifdef HAVE_X11
#define gnu_width 50
#define gnu_height 50
static char gnu_bits[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xfe, 0xff, 0xff,
0xff, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xf1,
0xff, 0xff, 0xf3, 0xff, 0x8f, 0xff, 0xe1, 0xff, 0xff, 0xf9, 0x3f, 0x22,
0xfe, 0xcb, 0xff, 0xff, 0xf8, 0xc3, 0xf8, 0xfc, 0xcb, 0xff, 0x7f, 0xfc,
0xe0, 0xf9, 0xf9, 0xdb, 0xff, 0x7f, 0xfc, 0xf0, 0xfb, 0xf3, 0xd9, 0xff,
0x3f, 0x7e, 0xf8, 0xff, 0xf7, 0xcc, 0xff, 0x9f, 0x3e, 0x1c, 0x7f, 0x44,
0xce, 0xff, 0xcf, 0x1e, 0xcc, 0x01, 0x00, 0xe7, 0xff, 0xef, 0x0e, 0xce,
0x38, 0x1c, 0xe0, 0xff, 0xef, 0x0e, 0x27, 0xfe, 0xfa, 0xc3, 0xff, 0xef,
0x7c, 0x93, 0xff, 0xe5, 0xbf, 0xff, 0xef, 0x99, 0xc9, 0xab, 0x2a, 0x00,
0xff, 0xcf, 0xc3, 0x24, 0x54, 0xc5, 0xd5, 0xff, 0x9f, 0x7f, 0x16, 0xab,
0xca, 0xff, 0xff, 0x1f, 0x1f, 0x93, 0x46, 0x95, 0xff, 0xff, 0x7f, 0xc8,
0x49, 0x99, 0x8a, 0xff, 0xff, 0xff, 0xf0, 0x49, 0x4b, 0x95, 0xff, 0xff,
0xff, 0xf9, 0x4c, 0x88, 0x8a, 0xff, 0xff, 0xff, 0x1e, 0xe6, 0x58, 0x95,
0xff, 0xff, 0x3f, 0x00, 0xe6, 0xb7, 0x0a, 0xff, 0xff, 0xbf, 0x8a, 0xea,
0x50, 0x15, 0xff, 0xff, 0xff, 0x8f, 0xca, 0x99, 0x2a, 0xff, 0xff, 0xff,
0xa7, 0x95, 0x7f, 0x15, 0xff, 0xff, 0xff, 0x23, 0x55, 0x7f, 0x2a, 0xfe,
0xff, 0xff, 0x63, 0xd8, 0xfc, 0x14, 0xfe, 0xff, 0xff, 0x43, 0x9a, 0xfb,
0x2b, 0xfe, 0xff, 0xff, 0xc3, 0xaa, 0x12, 0x94, 0xfc, 0xff, 0xff, 0xc1,
0x32, 0xd5, 0xc1, 0xfd, 0xff, 0xff, 0x81, 0x46, 0xd5, 0x47, 0xfc, 0xff,
0xff, 0x83, 0x6c, 0xc2, 0x6e, 0xfc, 0xff, 0xff, 0x83, 0x89, 0x88, 0x69,
0xfe, 0xff, 0xff, 0x07, 0x92, 0x09, 0x3b, 0xfe, 0xff, 0xff, 0x07, 0x22,
0x01, 0x3c, 0xfe, 0xff, 0xff, 0x0f, 0x4e, 0x02, 0x03, 0xfe, 0xff, 0xff,
0x2f, 0xd0, 0x18, 0x3e, 0xff, 0xff, 0xff, 0x3f, 0xb0, 0x19, 0x9e, 0xff,
0xff, 0xff, 0x7f, 0x00, 0x09, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x01, 0xe3,
0xc1, 0xff, 0xff, 0xff, 0xff, 0x05, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff,
0x07, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0xfd, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff};
#else /* X10 */
#define sink_width 48
#define sink_height 48
#define sink_mask_width 48
#define sink_mask_height 48
short sink_bits[] = {
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0x9f80, 0xffff, 0xffff,
0x9f9f, 0xffff, 0xffff, 0x8000,
0xffff, 0x7fff, 0xbffe, 0xffff,
0x7fff, 0xa003, 0xffff, 0x7fff,
0xaffd, 0xffff, 0x3fff, 0xaff9,
0xffff, 0xffff, 0xafff, 0xffff,
0xffff, 0xaffc, 0xffff, 0x7fff,
0xaff8, 0xffff, 0xffff, 0xaffc,
0xffff, 0xffff, 0xafff, 0xffff,
0xbfff, 0xaff7, 0xffff, 0x3fff,
0xaff3, 0xffff, 0xffff, 0xaffc,
0x003f, 0x0000, 0x2000, 0x007f,
0x0000, 0xe000, 0xf8df, 0xffff,
0x07ff, 0xf9cf, 0xff0f, 0xe7ff,
0xf9cf, 0xfff7, 0xe7ff, 0xf9ff,
0x63f7, 0xe7fb, 0xf9ff, 0x5a37,
0xe7fb, 0xf9cf, 0x5af7, 0xe7fb,
0xf9cf, 0x5af7, 0xe7f9, 0xf9ef,
0xdb0f, 0xe7fa, 0xf9ff, 0xffff,
0xe7ff, 0xf9df, 0xffff, 0xe7ff,
0x19cf, 0xfffc, 0xe7ff, 0xd9cf,
0xffff, 0xe7ff, 0xd9ff, 0xce47,
0xe673, 0x19ff, 0xb5b6, 0xe7ad,
0xd9cf, 0xb5b7, 0xe67d, 0xd9c7,
0xb5b7, 0xe5ed, 0x19ef, 0x4db4,
0xe673, 0xf1ff, 0xffff, 0xe3ff,
0x03ff, 0x0380, 0xf000, 0x07ef,
0x0100, 0xf800, 0xffc7, 0xf93f,
0xffff, 0xffe7, 0xfd7f, 0xffe0,
0xffff, 0x7d7f, 0xffdf, 0xffff,
0xbd7f, 0xffb1, 0xffff, 0xbb7f,
0xffae, 0xffef, 0xdaff, 0xffae,
0xffc7, 0x66ff, 0xffaf, 0xffe7,
0xbdff, 0xffaf, 0xffff, 0xc3ff,
0xffaf, 0xffff, 0xffff, 0xffaf};
short sink_mask_bits[] = {
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff};
#endif /* X10 */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0e,
0x00, 0x00, 0x0c, 0x00, 0x70, 0x00, 0x1e, 0x00, 0x00, 0x06, 0xc0, 0xdd,
0x01, 0x34, 0x00, 0x00, 0x07, 0x3c, 0x07, 0x03, 0x34, 0x00, 0x80, 0x03,
0x1f, 0x06, 0x06, 0x24, 0x00, 0x80, 0x03, 0x0f, 0x04, 0x0c, 0x26, 0x00,
0xc0, 0x81, 0x07, 0x00, 0x08, 0x33, 0x00, 0x60, 0xc1, 0xe3, 0x80, 0xbb,
0x31, 0x00, 0x30, 0xe1, 0x33, 0xfe, 0xff, 0x18, 0x00, 0x10, 0xf1, 0x31,
0xc7, 0xe3, 0x1f, 0x00, 0x10, 0xf1, 0xd8, 0x01, 0x05, 0x3c, 0x00, 0x10,
0x83, 0x6c, 0x00, 0x1a, 0x40, 0x00, 0x10, 0x66, 0x36, 0x54, 0xd5, 0xff,
0x00, 0x30, 0x3c, 0xdb, 0xab, 0x3a, 0x2a, 0x00, 0x60, 0x80, 0xe9, 0x54,
0x35, 0x00, 0x00, 0xe0, 0xe0, 0x6c, 0xb9, 0x6a, 0x00, 0x00, 0x80, 0x37,
0xb6, 0x66, 0x75, 0x00, 0x00, 0x00, 0x0f, 0xb6, 0xb4, 0x6a, 0x00, 0x00,
0x00, 0x06, 0xb3, 0x77, 0x75, 0x00, 0x00, 0x00, 0xe1, 0x19, 0xa7, 0x6a,
0x00, 0x00, 0xc0, 0xff, 0x19, 0x48, 0xf5, 0x00, 0x00, 0x40, 0x75, 0x15,
0xaf, 0xea, 0x00, 0x00, 0x00, 0x70, 0x35, 0x66, 0xd5, 0x00, 0x00, 0x00,
0x58, 0x6a, 0x80, 0xea, 0x00, 0x00, 0x00, 0xdc, 0xaa, 0x80, 0xd5, 0x01,
0x00, 0x00, 0x9c, 0x27, 0x03, 0xeb, 0x01, 0x00, 0x00, 0xbc, 0x65, 0x04,
0xd4, 0x01, 0x00, 0x00, 0x3c, 0x55, 0xed, 0x6b, 0x03, 0x00, 0x00, 0x3e,
0xcd, 0x2a, 0x3e, 0x02, 0x00, 0x00, 0x7e, 0xb9, 0x2a, 0xb8, 0x03, 0x00,
0x00, 0x7c, 0x93, 0x3d, 0x91, 0x03, 0x00, 0x00, 0x7c, 0x76, 0x77, 0x96,
0x01, 0x00, 0x00, 0xf8, 0x6d, 0xf6, 0xc4, 0x01, 0x00, 0x00, 0xf8, 0xdd,
0xfe, 0xc3, 0x01, 0x00, 0x00, 0xf0, 0xb1, 0xfd, 0xfc, 0x01, 0x00, 0x00,
0xd0, 0x2f, 0xe7, 0xc1, 0x00, 0x00, 0x00, 0xc0, 0x4f, 0xe6, 0x61, 0x00,
0x00, 0x00, 0x80, 0xff, 0xf6, 0x7f, 0x00, 0x00, 0x00, 0x80, 0xfe, 0x1c,
0x3e, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf8, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00};
......@@ -66,3 +66,6 @@ extern Lisp_Object Qscrollbar_click;
/* Symbols to use for non-text mouse positions. */
extern Lisp_Object Qmode_line, Qvertical_line;
/* User-supplied string to translate input characters through. */
extern Lisp_Object Vkeyboard_translate_table;
/* machine description file for Mips machines.
Copyright (C) 1987, 1990 Free Software Foundation, Inc.
/* m- file for Mips machines.
Copyright (C) 1987, 1992 Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
......@@ -23,8 +23,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
USUAL-OPSYS="note"
NOTE-START
Use -opsystem=usg5-2-2 normally, or -opsystem=bsd4-3 with the BSD
world.
Use m-mips4.h for RISCOS version 4; use s-bsd4-3.h with the BSD world.
Note that the proper m- file for the Decstation is m-pmax.h.
NOTE-END */
/* The following three symbols give information on
......@@ -51,6 +51,11 @@ NOTE-END */
#undef WORD_MACHINE
/* Define how to take a char and sign-extend into an int.
On machines where char is signed, this is a no-op. */
#define SIGN_EXTEND_CHAR(c) ((signed char)(c))
/* Now define a symbol for the cpu type, if your compiler
does not define it automatically:
Ones defined so far include vax, m68000, ns16000, pyramid,
......@@ -102,8 +107,11 @@ NOTE-END */
Define neither one if an assembler-language alloca
in the file alloca.s should be used. */
#ifdef __GNUC__
#define HAVE_ALLOCA
#else
#define C_ALLOCA
/* #define HAVE_ALLOCA */
#endif
/* Define NO_REMAP if memory segmentation makes it not work well
to change the boundary between the text section and data section
......@@ -126,13 +134,32 @@ NOTE-END */
#ifdef BSD
/* Supposedly the dec machine doesn't have this library.
/* DECstations don't have this library.
#define LIBS_MACHINE -lmld */
#define LD_SWITCH_MACHINE -D 800000
#define LIBS_DEBUG
#define LINKER /bsd43/bin/ld
#else /* not BSD */
#ifdef NEWSOS5
#define LIBS_MACHINE -lmld
#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o
#define LIB_STANDARD -lsocket -lnsl -lc /usr/ccs/lib/crtn.o /usr/ccs/lib/values-Xt.o
#ifdef __GNUC__
#define C_DEBUG_SWITCH -g
#define C_OPTIMIZE_SWITCH -g -O
#define LD_SWITCH_MACHINE -g -Xlinker -D -Xlinker 800000
#else
#define C_DEBUG_SWITCH -g3
#define C_OPTIMIZE_SWITCH -g3
#define LD_SWITCH_MACHINE -g3 -D 800000
#endif
#else /* not NEWSOS5 */
#define LIBS_MACHINE -lmld
#define LD_SWITCH_MACHINE -D 800000 -g3
......@@ -140,27 +167,36 @@ NOTE-END */
#define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o
#define LIBS_TERMCAP -lcurses
#define C_SWITCH_SYSTEM -I/usr/include/bsd
#define C_SWITCH_MACHINE -I/usr/include/bsd
#define C_DEBUG_SWITCH -O -g3
#if defined(HAVE_X_WINDOWS) && defined(HAVE_X11)
#define HAVE_VFORK /* Graciously provided by libX.a */
#endif
#endif
#endif /* not NEWSOS5 */
#endif /* not BSD */
/* The standard definitions of these macros would work ok,
but these are faster because the constants are short. */
#define XUINT(a) (((unsigned)(a) << INTBITS-VALBITS) >> INTBITS-VALBITS)
#define XUINT(a) (((unsigned)(a) << (INTBITS-VALBITS)) >> (INTBITS-VALBITS))
#define XSET(var, type, ptr) \
((var) = ((int)(type) << VALBITS) + (((unsigned) (ptr) << INTBITS-VALBITS) >> INTBITS-VALBITS))
#define XSET(var, type, ptr) \
((var) = \
((int)(type) << VALBITS) \
+ (((unsigned) (ptr) << (INTBITS-VALBITS)) >> (INTBITS-VALBITS)))
#define XSETINT(a, b) XSET(a, XTYPE(a), b)
#define XSETUINT(a, b) XSET(a, XTYPE(a), b)
#define XSETPNTR(a, b) XSET(a, XTYPE(a), b)
#define XUNMARK(a) ((a) = (((unsigned)(a) << INTBITS-GCTYPEBITS-VALBITS) >> INTBITS-GCTYPEBITS-VALBITS))
#define XUNMARK(a) \
((a) = \
(((unsigned)(a) << (INTBITS-GCTYPEBITS-VALBITS)) \
>> (INTBITS-GCTYPEBITS-VALBITS)))
#ifndef NEWSOS5
#ifdef USG
/* Cancel certain parts of standard sysV support. */
......@@ -177,7 +213,7 @@ NOTE-END */
#define HAVE_SYSVIPC
#define HAVE_TIMEVAL
#if defined(emacs)
#if defined(emacs) && !defined(INHIBIT_BSD_TIME)
#include <bsd/sys/time.h>
#endif
......@@ -198,7 +234,7 @@ NOTE-END */
/* ??? */
#define IRIS
#endif
#endif /* USG */
#ifdef BSD
#define COFF
......@@ -206,3 +242,5 @@ NOTE-END */
#undef MAIL_USE_FLOCK /* Someone should check this. */
#undef HAVE_UNION_WAIT
#endif /* BSD */
#endif /* not NEWSOS5 */
/* Machine description file for DEC MIPS machines. */
#include "mips.h"
/* The following line tells the configuration script what sort of
operating system this machine is likely to run.
USUAL-OPSYS="bsd4-2" */
USUAL-OPSYS="note"
NOTE-START
Use -opsystem=osf1 for OSF/1, and -opsystem=bsd4-3 otherwise.
NOTE-END */
#undef BIG_ENDIAN
#define LIBS_DEBUG
#undef LIB_STANDARD
#undef START_FILES
#undef COFF
#undef TERMINFO
#define MAIL_USE_FLOCK
#define HAVE_UNION_WAIT
/* This line starts being needed with ultrix 4.0. */
/* You may need to delete it on version 3.1. */
/* You must delete it for version 3.1. */
#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
/* Supposedly the following will overcome a kernel bug. */
......@@ -20,3 +31,16 @@
/* In Ultrix 4.1, XvmsAlloc.o in libX11.a seems to insist
on defining malloc itself. This should avoid conflicting with it. */
#define SYSTEM_MALLOC
/* Override what m-mips.h says about this. */
#undef LINKER
/* Ultrix 4.2 (perhaps also 4.1) implements O_NONBLOCK
but it doesn't work right;
and it causes hanging in read_process_output. */
#define BROKEN_O_NONBLOCK
#ifdef OSF1
#undef C_ALLOCA
#define HAVE_ALLOCA
#endif
......@@ -23,12 +23,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
* Define all the symbols that apply correctly.
*/
/* We give these symbols the numeric values found in <sys/param.h> to
avoid warnings about redefined macros. */
#ifndef BSD4_3
#define BSD4_3
#define BSD4_3 1
#endif /* BSD4_3 */
#ifndef BSD
#define BSD
#define BSD 43
#endif /* BSD */
/* SYSTEM_TYPE should indicate the kind of system you are using.
......