if [ "${signal_h_file}" ]; then
sigpattern='[ ]*([ ]*\*[ ]*signal[ ]*('
- # We make a symbolic link whose name ends in .c, so the compiler
+ # We make a copy whose name ends in .c, so the compiler
# won't complain about having only been given a .h file.
tempcname="configure.tmp.$$.c"
- ln -s ${signal_h_file} ${tempcname}
+ cp ${signal_h_file} ${tempcname}
if ${cc} -E ${tempcname} | grep "int${sigpattern}" > /dev/null; then
sigtype=int
fi
- rm ${tempcname}
+ rm -f ${tempcname}
fi
echo "Examining the machine- and system-dependent files to find out"
# running \`${progname}' instead.
" >> config.status
echo "${message}" | sed -e 's/^/# /' >> config.status
-echo "'./${progname}' ${arguments} "'$@' >> config.status
+echo "'${progname}' ${arguments} "'$@' >> config.status
# Remind people not to edit this.
chmod -w config.status
chmod +x config.status
sorted-doc: sorted-doc.c
$(CC) ${CFLAGS} sorted-doc.c $(LOADLIBES) -o sorted-doc
-b2m: b2m.c
+b2m: b2m.c ../src/config.h
$(CC) ${CFLAGS} b2m.c $(LOADLIBES) -o b2m
movemail: movemail.c ../src/config.h
(buffer-substring (match-beginning 1)
(match-end 1)))))))))
-\f
+
+
(provide 'add-log)
;;; add-log.el ends here
(defvar mail-abbrevs-loaded nil)
(defvar mail-mode-map nil)
-(defvar mail-signature nil
- "*Text inserted at end of mail buffer when a message is initialized.
-If t, it means to insert the contents of the file `~/.signature'.")
+;;;###autoload
+(defvar mail-signature-file "~/.signature"
+ "*Name of file to insert at the end of the mail buffer.
+The text is inserted when the message is initialized.")
(defvar mail-reply-buffer nil)
(defvar mail-send-actions nil
(insert "BCC: " (user-login-name) "\n"))
(if mail-archive-file-name
(insert "FCC: " mail-archive-file-name "\n"))
- (insert mail-header-separator "\n")
- ;; Read the .signature file if we haven't already done so
- ;; (and if the user has not overridden it).
- (cond ((eq mail-signature t)
- (insert "--\n")
- (insert-file-contents "~/.signature"))
- (mail-signature
- (insert mail-signature)))
+ (insert mail-header-separator "\n\n")
+ ;; Read the .signature file.
+ (if mail-signature-file
+ (insert-file-contents (expand-file-name mail-signature-file)))
(goto-char (point-max))
(or (bolp) (newline)))
(if to (goto-char (point-max)))
(search-forward (concat "\n" mail-header-separator "\n")))
\f
(defun mail-signature (atpoint)
- "Sign letter with contents of ~/.signature file."
+ "Sign letter with contents of mail-signature-file."
(interactive "P")
(save-excursion
(or atpoint
(or atpoint
(delete-region (point) (point-max)))
(insert "\n\n--\n")
- (insert-file-contents (expand-file-name "~/.signature"))))
+ (insert-file-contents (expand-file-name mail-signature-file))))
(defun mail-fill-yanked-message (&optional justifyp)
"Fill the paragraphs of a message yanked into this one.
When this function returns, the buffer `*mail*' is selected.
The value is t if the message was newly initialized; otherwise, nil.
-By default, the signature file `~/.signature' is inserted at the end;
-see the variable `mail-signature'.
+By default, the file named by the variable `mail-signature-file' is
+inserted at the end; by default, this is \"~/.signature\".
\\<mail-mode-map>
While editing message, type \\[mail-send-and-exit] to send the message and exit.
# remove all files newer than the given timestamp file. This is useful
# for creating incremental or patch distributions
"--newer")
- newer=$2
- new=.new
+ newer="$2"
+ new_extension=".new"
shift
;;
* )
echo "Creating staging directory: \`${tempparent}'"
mkdir ${tempparent}
-emacsname="emacs-${version}${new}"
+emacsname="emacs-${version}${new_extension}"
tempdir="${tempparent}/${emacsname}"
# This trap ensures that the staging directory will be cleaned up even
done
echo "Making links to \`lisp'."
-# Don't distribute =*.el files, site-init.el, or site-load.el.
+# Don't distribute =*.el files, site-init.el, site-load.el, or default.el.
(cd lisp
ln [a-zA-Z]*.el ../${tempdir}/lisp
ln [a-zA-Z]*.elc ../${tempdir}/lisp
ln ChangeLog README ../${tempdir}/lisp
cd ../${tempdir}/lisp
rm -f site-init site-init.el site-init.elc
- rm -f site-load site-load.el site-load.elc)
+ rm -f site-load site-load.el site-load.elc
+ rm -f default default.el default.elc)
echo "Making links to \`lisp/term'."
# Don't distribute =*.el files.
ln .gdbinit .dbxinit ../${tempdir}/src
ln *.com *.opt vms-pp.trans vmsbuild ../${tempdir}/src
cd ../${tempdir}/src
- rm -f config.h paths.h Makefile)
+ rm -f config.h paths.h Makefile
+ if [ -z "${newer}" ]; then
+ etags *.h *.c ../lisp/*.el
+ fi)
echo "Making links to \`src/m'."
(cd src/m
ln README Makefile Imakefile ChangeLog ../${tempdir}/oldXMenu)
echo "Making links to \`etc'."
-# Don't distribute TAGS, DOC files, backups, autosaves, or tex litter.
+# Don't distribute DOC files, backups, autosaves, or tex litter.
(cd etc
ln [0-9a-zA-Z]* ../${tempdir}/etc
cd ../${tempdir}/etc
for dummy in DOC-dummy dummy~ \#dummy\# dummy.dvi dummy.log; do
ln MACHINES ${dummy}
done
- rm -f TAGS DOC* *~ \#*\# *.dvi *.log core)
+ rm -f DOC* *~ \#*\# *.dvi *.log core)
# For now, we comment these out, since I'm not changing them any.
#!! echo "Making links to \`cpp'."
end
define xtype
-print (enum Lisp_Type) (($ >> 24) & 0x7f)
-p $$
+output (enum Lisp_Type) (($ >> 24) & 0x7f)
+echo \n
end
document xtype
Print the type of $, assuming it is an Elisp value.
define xwindow
print (struct window *) ($ & 0x00ffffff)
-print ($->left)@4
-print $$
+printf "%dx%d+%d+%d\n", $->width, $->height, $->left, $->top
end
document xwindow
Print $ as a window pointer, assuming it is an Elisp window value.
-Print the window's position as { left, top, height, width }.
+Print the window's position as "WIDTHxHEIGHT+LEFT+TOP".
end
define xmarker
define xbuffer
print (struct buffer *) ($ & 0x00ffffff)
-print &((struct Lisp_String *) (($->name) & 0x00ffffff))->data
-print $$
+output &((struct Lisp_String *) (($->name) & 0x00ffffff))->data
+echo \n
end
document xbuffer
Set $ as a buffer pointer, assuming it is an Elisp buffer value.
define xsymbol
print (struct Lisp_Symbol *) ($ & 0x00ffffff)
-print &$->name->data
-print $$
+output &$->name->data
+echo \n
end
document xsymbol
Print the name and address of the symbol $.
define xstring
print (struct Lisp_String *) ($ & 0x00ffffff)
-print ($->size > 10000) ? "big string" : ($->data[0])@($->size)
-print $$
+output ($->size > 10000) ? "big string" : ($->data[0])@($->size)
+echo \n
end
document xstring
Print the contents and address of the string $.
end
define xvector
-set $temp = (struct Lisp_Vector *) ($ & 0x00ffffff)
-print ($temp->size > 10000) ? "big vector" : ($temp->contents[0])@($temp->size)
-print $temp
+print (struct Lisp_Vector *) ($ & 0x00ffffff)
+output ($->size > 1000) ? "big vector" : ($->contents[0])@($->size)
+echo \n
end
document xvector
Print the contents and address of the vector $.
define xcons
print (struct Lisp_Cons *) ($ & 0x00ffffff)
-print *$
-print $$
+output *(struct Lisp_Cons *) ($ & 0x00ffffff)
+echo \n
end
document xcons
Print the contents of $, assuming it is an Elisp cons.
unset environment TERMCAP
unset environment TERM
+echo TERMCAP and TERM environment variables unset.\n
show environment DISPLAY
set args -q
#define DEFVAR_LISP_NOPRO(lname, vname, doc) defvar_lisp_nopro (lname, vname)
#define DEFVAR_BOOL(lname, vname, doc) defvar_bool (lname, vname)
#define DEFVAR_INT(lname, vname, doc) defvar_int (lname, vname)
-#define DEFVAR_PER_BUFFER(lname, vname, doc) \
- defvar_per_buffer (lname, vname)
+#define DEFVAR_PER_BUFFER(lname, vname, type, doc) \
+ defvar_per_buffer (lname, vname, type, 0)
\f
/* Structure for recording Lisp call stack for backtrace purposes */
/*
* Define HAVE_SELECT if the system supports the `select' system call.
+ * SVr3.2 X ports include an emulation.
*/
-/* #define HAVE_SELECT */
+#ifdef HAVE_X_WINDOWS
+#define HAVE_SELECT
+#endif /* HAVE_X_WINDOWS */
/*
* Define HAVE_PTYS if the system supports pty devices.
#define ADDR_CORRECT(x) (x)
-/* Prevent -lg from being used for debugging. Not implemented? */
-
-#define LIBS_DEBUG
-
/* Use terminfo instead of termcap. */
#define TERMINFO
+/* AT&T SVr3 X wants to be linked with shared libraries */
+
+#define LIB_X11_LIB -lX11_s
+
/* X needs to talk on the network, so search the network library. */
#define LIBX10_SYSTEM -lnsl_s
-#define LIBX11_SYSTEM -lnsl_s
+#define LIBX11_SYSTEM -lnls -lnsl_s -lpt -lc_s
/* Some variants have TIOCGETC, but the structures to go with it
are not declared. */
#define BROKEN_TIOCGETC
+/* Some variants have TIOCGWINSZ, but the structures to go with it
+ are not declared. */
+
+#define BROKEN_TIOCGWINSZ
+
+/* SVr3 does not have utimes(2) */
+
+#define USE_UTIME
+
+/* If we're using the System V X port, BSD bstring functions will be handy */
+
+#ifdef HAVE_X_WINDOWS
+#define BSTRING
+#endif /* HAVE_X_WINDOWS */
+
/* Enable support for shared libraries in unexec. */
#define USG_SHARED_LIBRARIES
/* On USG systems signal handlers return void */
#define SIGTYPE void
-
#undef SIGIO
#endif
-/* libc has this stuff, but not utimes. */
+/* libc has this stuff, but still not utimes. */
#define HAVE_RENAME
#define HAVE_SELECT
#define HAVE_GETTIMEOFDAY
#define HAVE_DUP2
-#define USE_UTIME
-
/* <sys/stat.h> *defines* stat(2) as a static function. If "static"
* is blank, then many files will have a public definition for stat(2).
*/
#define EMACS_TIME int
#define EMACS_SECS(time) (time)
+#define EMACS_USECS(time) 0
#define EMACS_SET_SECS(time, seconds) ((time) = (seconds))
+#define EMACS_SET_USECS(time, usecs) 0
#define EMACS_GET_TIME(t) ((t) = time ((long *) 0))
#define EMACS_ADD_TIME(dest, src1, src2) ((dest) = (src1) + (src2))
#define EMACS_SET_UTIMES(path, atime, mtime) \
{ \
- struct time_t tv[2]; \
+ time_t tv[2]; \
tv[0] = EMACS_SECS (atime); \
tv[1] = EMACS_SECS (mtime); \
utime ((path), tv); \
/* Just ignore this for now and hope for the best */
#define EMACS_GET_TTY_PGRP(fd, pgid) 0
+#define EMACS_SET_TTY_PGRP(fd, pgif) 0
#endif
#define MAXHEIGHT 80
#ifdef HAVE_X11
+
+/* It turns out that we can auto-detect whether we're being compiled
+ with X11R3 or X11R4 by looking for the flag macros for R4 structure
+ members that R3 doesn't have. */
+#ifdef PBaseSize
+#define HAVE_X11R4
+#endif
+
#define PIX_TYPE unsigned long
#define XDISPLAY x_current_display,
#define XFlushQueue() XFlush(x_current_display)
/* What kind of text cursor is drawn in this window right now? (If
there is no cursor (phys_cursor_x < 0), then this means nothing. */
enum text_cursor_kinds text_cursor_kind;
+
+ /* These are the current window manager hints. It seems that
+ XSetWMHints, when presented with an unset bit in the `flags'
+ member of the hints structure, does not leave the corresponding
+ attribute unchanged; rather, it resets that attribute to its
+ default value. For example, unless you set the `icon_pixmap'
+ field and the `IconPixmapHint' bit, XSetWMHints will forget what
+ your icon pixmap was. This is rather troublesome, since some of
+ the members (for example, `input' and `icon_pixmap') want to stay
+ the same throughout the execution of Emacs. So, we keep this
+ structure around, just leaving values in it and adding new bits
+ to the mask as we go. */
+ XWMHints wm_hints;
};
\f
/* When X windows are used, a glyf may be a 16 bit unsigned datum.